Você está na página 1de 61

UFCD 0782 - Programação em

C/C++ - Estrutura Básica e


Conceitos Fundamentais
Parte 1 – Introdução à Programação
AVISO

Estes diapositivos servem apenas de suporte e não


contêm toda a matéria leccionada, pelo que não
substituem a sua presença, atenção, participação
nas sessões e realização das actividades propostas!
Sumário

1) O que é programar?

2) O que é um programa?

3) Competências do programador

4) Linguagens de programação?

5) Interpretação e Compilação

6) Tipos de Programação

7) Fases do Processo de Desenvolvimento


1 – O que é Programar?
1 – O que é Programar?

- Programar consiste em
instruir a máquina, de
forma a solucionar
determinado problema.
1 – O que é Programar?

Resolver Problemas Automatizar Processos Inovar


1 – O que é Programar?

Análise Algoritmo Código

ANÁLISE – Estuda-se o problema;


ALGORITMO – Descrevem-se os passos necessários à resolução do problema;
CÓDIGO – Implementa-se a solução, segundo o algoritmo, recorrendo a uma
linguagem de programação.
1 – O que é Programar?
Facilidade
Aparente!

A
Complexidade
Real!
1 – O que é Programar?

- É uma actividade complexa que exige muito


tempo, dedicação e treino!
- Não é andar no Google à procura de código!
2 – O que é um programa?
2 – O que é um programa?

- É um conjunto de instruções que “dizem” ao


computador como executar determinada
operação!
2 – O que é um programa?

- Um programa de computador consiste num


agrupamento de instruções escritas numa linguagem
de programação. Estas instruções criam as acções que
o programa executa, permitindo, assim, o seu
funcionamento.
2 – O que é um programa?

- Portanto, um programa surge sempre a partir de


um(a) (ou vários) problema/necessidade ao (à)
qual tenta dar resposta.
3 – Competências do Programador
3 – Competências do Programador

O que faz um Programador?

- É um profissional que tem a capacidade de analisar


problemas de forma a transpor para computador a
sua solução, combinando diferentes linguagens e
recursos computacionais.
3 – Competências do Programador

Que competências?

- Ser paciente e estudioso;

- Dominar linguagens de programação;

- Raciocínio Lógico e Matemático;

- Inglês.
3 – Competências do Programador

Posso aprender a ser Programador?

Não!

Ser programador é uma arte, um dom. Não se ensina nem se aprende:


desenvolve-se! O que se pode ensinar e aprender, são as linguagens de
programação!
Leitura sugerida: https://www.cybers3c.pt/a-arte-de-ser-programador/
4 – Linguagens de Programação
4 – Linguagens de Programação

O que é uma linguagem de programação?

- É um conjunto de regras que estabelecem o


modo de escrever instruções para um
computador executar.
4 – Linguagens de Programação

Quatro gerações de linguagens:

- A Primeira geração utilizava


instruções em linguagem
máquina (zeros e uns).
4 – Linguagens de Programação

Quatro gerações de linguagens:

- Em linguagem máquina, cada instrução de um


programa é codificada como uma série de 0s e 1s
interpretada directamente pelos circuitos do
computador.
4 – Linguagens de Programação

Quatro gerações de linguagens:

- A Segunda geração apareceu com a utilização de


linguagens simbólicas.
4 – Linguagens de Programação

Quatro gerações de linguagens:

- As linguagens simbólicas utilizam mnemónicas

para representar instruções em linguagem


máquina.
4 – Linguagens de Programação

Quatro gerações de linguagens:

- O Assembly é um exemplo de uma linguagem


simbólica.
4 – Linguagens de Programação

Quatro gerações de linguagens:

- A Terceira geração utiliza instruções que


requerem uma actividade de codificação muito
menos detalhada.
4 – Linguagens de Programação

Quatro gerações de linguagens:

- A Quarta geração utiliza instruções muito


parecidas às utilizadas na linguagem humana.
4 – Linguagens de Programação

Níveis das Linguagens de Programação:

- Baixo Nível

- Alto Nível

- Muito Alto Nível


4 – Linguagens de Programação

Níveis das Linguagens de Programação:

Baixo Nível:

- São as linguagens que utilizam código


máquina para dar instruções ao computador.
4 – Linguagens de Programação

Níveis das Linguagens de Programação:

Alto Nível:

- As instruções escritas pelo programador são traduzidas


em linguagem máquina por um software especial
(compilador).
4 – Linguagens de Programação

Níveis das Linguagens de Programação:

Alto Nível:

- As linguagens Cobol, C, C++ e Basic são exemplos


de linguagens de alto nível.
4 – Linguagens de Programação

Níveis das Linguagens de Programação:

Muito Alto Nível:

- Estas linguagens preocupam-se mais no “o que


fazer” do que “no como fazer”.
4 – Linguagens de Programação

Níveis das Linguagens de Programação:

Muito Alto Nível:

- A Java, Visual Basic, C#, são exemplos deste tipo


de linguagem.
5 – Interpretação e Compilação
5 – Interpretação e Compilação

Linguagens Interpretadas:

- As linguagens interpretadas necessitam da ajuda


de uma aplicação para que seja possível executá-
las.
5 – Interpretação e Compilação

Linguagens Interpretadas:

- O interpretador lê um programa escrito numa linguagem de alto


nível ou muito alto nível e executa-o, isto é, faz o que o programa
diz. Ele processa o programa um pouco de cada vez,
alternadamente: ora lendo algumas linhas, ora realizando
computações.
5 – Interpretação e Compilação

Linguagens Compiladas:

- As linguagens compiladas são lidas por um programa


especial (compilador) que transforma as instruções
de alto ou muito alto nível em código máquina.
5 – Interpretação e Compilação

Linguagens Compiladas:

Processo de Compilação
5 – Interpretação e Compilação

Linguagens Compiladas:

- Depois de compiladas, não é necessário o auxílio


de outras aplicações para executar o programa.
6 – Tipos de Programação
6 –Tipos de Programação

Programação Estruturada:

- Na programação estruturada o programa é


decomposto em elementos hierárquicos
correspondentes às diferentes tarefas a executar.
6 –Tipos de Programação

Programação Estruturada:
Função 1
Dados1

Função 2
Dados2

Função 2
6 –Tipos de Programação

Programação Estruturada:

- Nesta abordagem tradicional, os procedimentos, dados e funções estão separados


entre si. Isto afecta a forma como o programa trata os dados:

- O programador deve garantir que os dados são previamente carregados antes de as


funções os usarem;

- Se existir uma alteração nas estruturas de dados externas, as funções também deverão ser
modificadas. A manutenção destas aplicações é limitada e muito cara.
6 –Tipos de Programação

Programação Orientada a Objectos:

- Na programação Orientada a Objectos, os objectos


e conceitos do mundo real são representados
através de um conjunto de dados e de operações
que podem manipular esses dados.
6 –Tipos de Programação

Programação Orientada a Objectos:

- Um Objecto é uma peça de software que contém


um conjunto de procedimentos e dados
relacionados entre si. Neste sentido é uma
representação, em computador, de um objecto real.
6 –Tipos de Programação

Programação Orientada a Objectos:

Objecto 1 Objecto 2

Propriedades Propriedades

Operações Operações
6 –Tipos de Programação

Programação Orientada a Objectos:

- Os objectos combinam em si os dados e as


funções, comunicando com os outros objectos. Isto
traz as várias vantagens, em relação à Programação
Estruturada.
6 –Tipos de Programação

Programação Orientada a Objectos:

- Redução da ocorrência de erros - os objectos contêm em si os seus próprios


dados e funções;
- Fácil reutilização - Podemos usá-los como peças de lego e “encaixá-los” em
diferentes projectos.
- Fácil manutenção - Os objectos estão isolados uns dos outros e podem ser
actualizados ou modificados sem exigir alterações nos restantes objectos.
7 – Fases do Processo de Desenvolvimento
7 – Fases do Processo de Desenvolvimento

O Processo de Desenvolvimento tem Início:

• Quando se reconhece a existência de um problema na


forma como uma actividade é desempenhada;

• Quando de identifica uma oportunidade de melhoria de


uma actividade.
7 – Fases do Processo de Desenvolvimento

• Ao processo de desenvolvimento e manutenção


de um programa dá-se, geralmente, o nome de
“ciclo de vida”.

Qual o motivo da existência de um “ciclo de


vida”?
7 – Fases do Processo de Desenvolvimento

Motivos da Existência do Ciclo de Vida:

• Necessidade de desenvolvimento em equipa de


software de grandes dimensões e complexidade;

• Necessidade de criar software bem estruturado e


documentado de forma rápida e com qualidade.
7 – Fases do Processo de Desenvolvimento

Modelo Clássico do Ciclo de Vida do SW:


Análise de Requisitos

Concepção (desenho)

Implementação
(codificação)
Obsoleto

Testes

Manutenção
7 – Fases do Processo de Desenvolvimento

Análise de Requisitos:
• Identificação, especificação e compreensão dos
objectivos e problemas;

• Apresentação numa clara (em linguagem clara) e sem


ambiguidades do problema).
7 – Fases do Processo de Desenvolvimento

Análise de Requisitos:
• Nesta fase são especificadas as tarefas (aquilo que o programa
deve fazer) que solucionem o problema apresentado;
• Esta análise deve descrever de forma clara as funcionalidades,
dados e informações a utilizar e resultados esperados.
7 – Fases do Processo de Desenvolvimento

Análise de Requisitos:
• São também definidos, formalmente, quais os dados e
ficheiros que devem existir e a forma como estes se
relacionam entre si e as funcionalidades do programa.
7 – Fases do Processo de Desenvolvimento

Concepção (desenho):
• É concebido um plano para solucionar o problema;

• São desenvolvidos os algoritmos necessários para implementar cada


requisito levantado;
• São definidas a estruturas de dados;

• Estudam-se os procedimentos com mais detalhe.


7 – Fases do Processo de Desenvolvimento

Implementação (codificação)
• São traduzidas para o código os passos executados na
Análise de Requisitos e na Concepção;

• Utilizam-se linguagens de programação, bases de dados, etc.


7 – Fases do Processo de Desenvolvimento

Testes
• É uma fase crítica para se desenvolver a aplicação com qualidade;

• São realizados testes para verificar se a aplicação faz o pretendido;

• Os testes não garantem a ausência de erros, mas apenas mostram a


existência destes.
7 – Fases do Processo de Desenvolvimento

Manutenção
• A manutenção consiste na realizações de
alterações após concluído o desenvolvimento da
aplicação.
7 – Fases do Processo de Desenvolvimento

Obsoleto
• Com o decorrer do tempo, todas as aplicações acabam
por se tornar obsoletas;

• Muitas vezes, acabam por ser incorporadas em outras


aplicações.
Ficha de Trabalho!

Você também pode gostar