PROGRAMAÇÃO
Prof: eng.º Abdel Gomes
1
TEMA Nº 01
INTRODUÇÃO À PROGRAMAÇÃO
INTRODUÇÃO À PROGRAMAÇÃO
A programação pode ser definida como um processo de escrita, testes e
manutenção de programas de computadores. Esses programas, são
compostos por conjuntos de instruções determinados pelo programador
que descrevem tarefas a serem realizadas pela máquina e atendem
diversas finalidades.
3
INTRODUÇÃO À PROGRAMAÇÃO
Linguagem de programação
É um conjunto de regras sintáticas e semânticas usadas para construir um
programa de computador. Um programa é uma sequência de instruções
que podem ser interpretada por um computador ou convertida em
linguagem de máquina. As linguagens de programação são classificadas
quanto ao nível de abstração: baixo, médio e alto
De modo geral, vamos nos basear em uma liguagem de médio nível de
abstração.
4
INTRODUÇÃO À PROGRAMAÇÃO
Tipos de linguagens de programação
1. Linguagem Cobo, esta especializado no processamento de registos;
2. Linguagem Pascal, é o princípio pedagogico da programação, ou seja,
técnicas para começar a programar;
3. Linguagem Fortran, é vocacionado nos calculos científicos;
4. Linguagem Prolog, é vocacionado para área de inteligência artificial.
A linguagem C, é uma linguagem de médio nível, adapta-se no
desenvolvimento de qualquer projecto. Também permite desenvolver interface
gráficas e processamento de registos e permite criar compilador.
É uma linguagem portatil, permite ser transferido de PC de diferentes marcas.
5
INTRODUÇÃO À PROGRAMAÇÃO
Lógica de programação
É a técnica de desenvolver sequências lógicas para atingir um determinado
objectivo, que são adaptadas para linguagens de um computador por um
programador afim de produzir um software.
Organização coerente das instruções do programa para alcançar o objectivo,
esta organização coerente é denominado de algoritmo.
Algoritmo é um fluxo computacional criado para resolver um problema, ou
seja, um roteiro (receita).
6
INTRODUÇÃO À PROGRAMAÇÃO
Estrutura de um programa
Biblioteca: são arquivos, contendo várias funções que podem ser
incorporadas aos programas escrito em C. A directiva #include faz com que o
texto dentro da biblioteca especificada seja inserido no programa.
<stdio.h> , permite a utilização de diversos comandos de entrada e saída;
<stdlib.h>, permite o processamento e saída de dados.
7
INTRODUÇÃO À PROGRAMAÇÃO
É importante salientar que a linguagem C é sensível a letra maiúsculas e
minúsculas, ou seja, considera que letras maiúsculas são diferentes de
minúsculas (a diferente de A).
Variáveis e constantes
Variável é um componente ou elemento devidamente identificado (tipo e
nome), que permite armazenar valores e posteriormente acessar a mesma
informação na memória.
Constante é uma variável que armazena um valor fixo, que não varia com o
tempo de execução do programa.
Declaração de variável em C, as variáveis são declaradas após a
especificação de seus tipos de dados entre os quais os mais utilizados são:
int (para nº inteiro), float ou double (para nº reais) e char (para caracteres).
8
INTRODUÇÃO À PROGRAMAÇÃO
Declaração de variáveis
9
INTRODUÇÃO À PROGRAMAÇÃO
O “main()” indica onde começa a execução do programa. A chave “{“ indica o
início do “main()” e a chave “}” indica o fim.
A instrução printf("hello, world!\n"); imprime o texto hello, world! Na tela.
Toda instrução deve ser concluída com ponto e vírgula ;. O texto a ser
impresso deve estar entre aspas " ". O comando \n imprime linha nova, isto é,
o texto a seguir será impresso na próxima linha.
10
TEMA Nº 02
❑ Tipos de Dados;
❑ Expressões e Operadores;
❑ Funções de Entrada e Saída.
TIPOS DE DADOS
12
EXPRESSÕES E OPERADORES
Expressões
Pode ser vista como uma sentença, ou um conjunto de operadores e
operandos que ao ser avaliado expressa resultado significativo, ou seja, são
operações que o programa realiza exemplo;
Int soma = 10+5;
Int a = 40;
Tipos de operadores
Os operadores permitem efectuar operações com operandos. Existem vários
tipos de operadores, podem ser classificado da seguinte forma:
❑ Aritmético ou matemático;
❑ De atribuição;
❑ Relacional;
❑ Lógico.
13
EXPRESSÕES E OPERADORES
Operador aritméticos ou matemáticos
Operadores aritméticos permite efectuar operações matemáticos como: soma
(+), multiplicação (*), divisão (/), subtração (-), encremento em unidade (a++),
decremento em unidade (a--) e resto da divisão (%).
Operador atribuição
Permite atribuir o valor ou o conteúdo de uma expressão a uma variável
simbolizado com igual (=), exemplo:
x=y
Operador relacional
Permite efectuar comparações entre expressões ou variáveis.
14
EXPRESSÕES E OPERADORES
Operador relacional
15
EXPRESSÕES E OPERADORES
Operador lógico
Permite a avaliação de uma ou mais expressões e devolve um valor lógico
verdadeiro ou falso.
❑ &&, permite avaliar expresões e retornar verdadeiras se todas forem
verdadeiras;
❑ ||, permite avaliar expressões retornar verdadeiras se pelo menos uma for
verdadeira;
❑ !, permite inverter um determinado valor lógico.
16
FUNÇÕES DE ENTRADA E SAÍDA
As funções printf( ) e scanf( ) permitem comunicar-se com um programa.
Denominamos funções de E/S. printf( ) é uma função de saída e scanf( ) é
uma função de entrada e ambas utilizam uma cadeia de controlo e uma lista
de argumentos.
Printf()
A função printf() escreve no dispositivo de saída os argumentos da lista de
argumentos. Requer o arquivo de cabeçalho stdio.h. A saída de printf() é
realizada com formato e seu formato consta de uma cadeia de controlo e uma
lista de dados.
printf (cadeia de controle [, item1, item2,...item]);
A cadeia de controlo tem três componentes: texto, identificadores e
sequências de escape. Podemos utilizar qualquer texto e qualquer número de
sequências de escape.
printf (“Meu povoado favorito é Cazorla%s\n”, msg);
17
FUNÇÕES DE ENTRADA E SAÍDA
Códigos de identificadores printf
18
FUNÇÕES DE ENTRADA E SAÍDA
Scanf()
A função scanf( ) é a função de entrada com formato. Pode ser utilizada para
introduzir números com formato de máquina, caracteres ou cadeias de
caracteres, em um programa.
scanf (“%f”, &fahrenheit);
O formato geral da função scanf( ) é uma cadeia de formato e uma ou mais
variáveis de entrada. A cadeia de controlo consta somente de identificadores.
19
FUNÇÕES DE ENTRADA E SAÍDA
Códigos de identificadores scanf
20
FUNÇÕES DE ENTRADA E SAÍDA
Outros exemplos de scanf
print (“Introduza cidade e província : ”);
scanf (“%s %s”, cidade, província);
scanf (“%d”, &conta);
scanf (“%s”, endereço);
scanf (“%d%d”, &r, &c);
scanf (“%d*c%d”, &x, &y);
21
Exercícios de
Aplicação
EXERCÍCIOS DE APLICAÇÃO
1. Imprima na tela a seguinte mensagem de texto “Eu amo o meu país desde
1995”?
2. Abdel comprou cinco telemóveis, cada 25.000,00 AOA , quanto ele gastou?
3. Elabore um projecto, para mostrar na tela a seguinte informação: nome,
idade, genéro e altura? Lembrando que o tipo de variável deve
corresponder as informações que serão mostradas.
4. Juciany tem 5 laranjas e a Iris 29. Crie três variáveis, sendo que duas
devem devem armazenar os valores da Juciany e a Iris e uma outra para
receber o resultado do cálculo dessas variáveis?
5. Encrementa ou desenvolve um programa em C que permite somar,
subtrair, multiplicar, dividir e calcular o resto da divisão de dois respectivos
números, apartir da interface do utilizador?
6. Desenvolve um programa em C, que permite calcular a área de um
quadrado ou rectângulo?
23
EXERCÍCIOS DE APLICAÇÃO
7. Desenvolver um programa para:
a) Receber do utilizador um determinado tempo em segundos,
correspondente à duração de um evento qualquer (por ex. jogo de
futebol);
b) Calcular e mostrar ao utilizador o tempo equivalente em horas, minutos
e segundos.
8. Desenvolver um programa em C para receber três valores inteiros do
utilizador e mostrar a sua média (que pode não ser inteira).
24
TEMA Nº 03
Estrutura Condicional
ESTRUTURA CONDICIONAL
A linguagem C suporta dois comandos condicionais, respectivamente “if e
switch”
Condição if (estrutura condicional simples)
A palavra reservada if permite avaliar uma expressão, isto quer dizer que o
comando só será executado se a condição for verdadeira; uma condição é
uma comparação que permite dois valores possíveis “verdadeiro ou falso”.
Em C, torna-se obrigatório a utilização de chaves (chavetas), quando haver
mais de um comando a ser executado.
if (condição)
{
instrução 1;
instrução 2;
}
26
ESTRUTURA CONDICIONAL
Condição if-else (estrutura condicional composta)
O if-else permite escolher em quais circunstância se deve executar uma
instrução. Sua sintaxe é:
if (condição)
instrução 1;
else
instrução 2;
Se a condição for verdadeira, será executado o comando 1, caso contrário
será executado o comando 2.
27
ESTRUTURA CONDICIONAL
Condição if-else (estrutura condicional composta)
if (condição #1) Se a condição 1 for verdadeira, será executado o
{ comando 1 e 2, caso contrário se a condição 2 for
comando 1; verdadeira será executado o comando 3 e 4,
comando 2; caso contrário por defeito será executado o
} comando 5.
else if(condição #2)
{
comando 3;
comando 4;
}
Else
comando 5;
28
ESTRUTURA CONDICIONAL
Estrutura switch case
Em alguns programas existem comandos mutuamente exclusivos, isto é,
se um comando for executado os demais não serão. Isto quer dizer que
existe um caso selectivo com a seguinte sintaxe.
O switch é uma alternativa ao if-else quando o número de possibilidades
é grande. Sua sintaxe é: switch (variável)
{
case valor 1: lista de comandos;
break;
case valor 2: lista de comandos;
break;
default: lista de comandos;
}
29
ESTRUTURA CONDICIONAL
Estrutura switch case
O comando “switch(variável)” – avalia o valor de uma variável para decidir
qual case (caso) será executado. Cada case esta associado a um possível
valor da variável
O comando “break”, serve para interroper a execução do código quando
uma condição é atendida.
Quando o valor da variável não coincidir com os valores especificado dos
casos, então será executado o comando default.
30
ESTRUTURA CONDICIONAL
Exercícios de Aplicação
1. Desenvolver um programa que permite verificar se um determinado
número é par ou impar?
2. Implementar um programa em C que permite verificar se uma figura
geométrica é rectângulo ou quadrado conhencendo os seus lados, se
for quadrado mostrar a sua área e caso contrário mostrar o valor dos
lados?
3. Desenvolver um programa em C que permite resolver a equação do
segundo grau?
4. Desenvolver um programa em c que pede ao utilizador para inserir um
numéro de mês (de 1 a 12) e mostrar na tela o mês que corresponde o
número inserido?
31
ESTRUTURA CONDICIONAL
Exercícios de Aplicação
5. Desenvolver um programa em C que permite obter o produto ou o
resto de dois respectivos números, utilizando a estrutura switch ou if?
6. Fazer um programa que recebe duas notas parciais de um estudante (0 à
20) e informa se ele está aprovado (média maior ou igual a 14), em exame
final (média entre 7 e 13) ou reprovado (média menor do que 7) ?
Agradecemos a máxima compreensão em caso de erros ortográficos.
32
TEMA Nº 04
Estrutura Cíclica (Loop)
ESTRUTURA CÍCLICA (LOOP)
Em programação, loop é uma instrução para o programa repetir
tarefas, ou seja, é uma estrutura de repetição, que avalia uma
condição se for verdadeira executa n vezes um bloco de instrução até
for falsa.
Um processo pode ser repetido até atender ou não uma condição. Conforme
mostra o fluxograma abaixo
34
ESTRUTURA CÍCLICA (LOOP)
Existem três estruturas de repetição, que são while, do-while e for. Cada
estrutura de repetição tem a sua sintaxe.
While
Repete a sequência de comandos enquanto a condição for
verdadeira. Repetição com Teste no Início e possui a seguinte
sintaxe:
while(expressãocondicional)
{
bloco de comandos;
}
35
ESTRUTURA CÍCLICA (LOOP)
Do while
Comando do-while: é utilizado sempre que o bloco de comandos deve ser
executado ao menos uma vez. Repetição com Teste no Final
Comando do-while: executa, depois testa a condição.
Do while:
❑Executa comandos ;
❑Avalia comandos;
• Se verdadeiro, re-executa o bloco de comandos;
• Caso contrário, termina o laço.
A sua sintaxe é: do
{
bloco de comandos;
}
while(expressão condicional);
36
ESTRUTURA CÍCLICA (LOOP)
For
O loop ou laço for é usado para repetir um comando, ou bloco de comandos,
diversas vezes. Maior controlo sobre o loop, sua sintaxe é:
for(inicialização;condição;encremento ou decremento)
{
bloco de comandos;
}
1. Inicialização: iniciar variáveis (contador).
2. Condição: avalia a condição. Se verdadeiro, executa comandos do bloco, se
não encerra laço.
3. Incremento: ao término do bloco de comandos, incrementa o valor do
contador
4. Repete o processo até que a condição seja falsa.
37
ESTRUTURA CÍCLICA (LOOP)
for
❑Em geral, utilizamos o comando for quando precisamos ir de um valor
inicial até um valor final;
❑Para tanto, utilizamos uma variável para a realizar a contagem;
• Exemplo: int i;
❑Nas etapas do comando for
• inicialização: atribuimos o valor inicial a variável;
• Condição: especifica a condição para continuar no loop;
o Exemplo: seu valor final
• Incremento: atualiza o valor da variável usada na contagem
38
ESTRUTURA CÍCLICA (LOOP)
39
ESTRUTURA CÍCLICA (LOOP)
For
Não se deve omitir nenhum dos elementos do ciclo for
(inicialização,condição, encremento ou decremento), podendo Causar
um loop infinito ou um possível erro.
40
ESTRUTURA CÍCLICA (LOOP)
Exercícios
1. Resolve os exercícios que se seguem utlizando whille e do while:
a) Faça um programa que mostra na tela os número de 1 a 100;
b) Faça um programa para ler 5 números e mostrar o resultado da
soma desses números;
c) Escreva, um programa para calcular o total de N números. O valor
de N é dado pelo utiilizador.
2. Resolve os exercícios que se seguem utlizando for:
a) Escreva um algoritmo para calcular a soma dos elementos de 1 a 10;
b) Desenvolver um programa em c que permite criar a tabuada da casa
10;
c) Criar um programa que calcula o factorial de um numero.
Pedimos a máxima compreensão em caso de erros ortográficos.
41
Exercícios de
Aplicação
EXERCÍCIOS DE APLICAÇÃO
1. Fazer um programa para mostrar os 20 primeiros termos da série de
Fibonacci. A série Fibonacci é uma sequência numérica em que cada
número é a soma dos dois anteriores. A sequência começageralmente com
0 e 1. Aqui estão os primeiros termos da sequência Fibonacci:
0,1,1,2,3,5,8,13,21,34,55,…
2. Fazer um programa para mostrar todos os números perfeitos entre 1 e 100.
Número perfeito é um número inteiro positivo que é igual à soma de seus
divisores positivos, excluindo ele mesmo. Por exemplo, o número 6 é um
número perfeito porque seus divisores são 1, 2 e 3, e a soma desses
divisores (1 + 2 + 3) é igual a 6.
3. Fazer um programa para receber um número inteiro do usuário e
determinar se este número é primo ou não.
4. Mostrar os números pares, primos, perfeitos, compostos e o quadrado de
cada número em um determinado intervalo ao seu critério?
43
EXERCÍCIOS DE APLICAÇÃO
5. Fazer um programa no qual o utilizador insere sucessivamente valores
positivos. Quando o mesmo inserir um valor negativo o programa deve
parar de pedir valores e mostrar a soma dos valores já fornecidos?
6. Resolve o exercício anterior, mas o programa só deve mostrar a soma
quando o utlizador inserir um valor nulo.
44
TEMA Nº 05
Vector e Matriz
VECTOR
Definição: são as variáveis compostas homogéneas unidimensionais
(vectores), ou seja, são variáveis capazes de armazenar vários valores.
Cada um destes valores é identificado pelo mesmo nome (nomes dado ao
vector), sendo diferenciado apenas por um índice.
Os índices utilizados na linguagem em C, para indentificar as posições de
um vector começam sempre em zero (0) e vão até ao tamanho do vector
menos uma unidade (n-1).
46
VECTOR
Declaração de um vector
Vet, é identificador do vector, possui 10 posições, começando pela
posiçao zero “0” até a posição nove “9” (tamanho do vector menos um
“n-1”). Em cada posição poderão ser armazenados números inteiros
(Z), conforme é especificado pelo tipo de dado “int” na declaraçao.
47
VECTOR
Exemplo 1
Desenvolver um programa em c para imprimir na tela os elementos de
vector de tamanho 10.
48
VECTOR
Exemplo 2
Calcular a soma de dez números distintos armazenados em um vector e
mostrar a solução os dados serao introduzidos na interfaces dos
utilizadores.
49
EXERCÍCIOS
1. Desenvolver um pograma em C que permite somar os numeros par
de um vector caso não, multiplicar mostrar a soma e a multiplicação.
2. Desenvolver um pograma em C que permite contar os elementos
positivos e negativos de um vector .
3. Desenvolver um pograma em C que permite verificar apartir de um
dado introduzido pelo o utilizador se este dado existe dentro do
vector.
4. Desenvolver um pograma em C que permite efectuar a soma,
subtração, multiplicação e divisão de dois vectores.
50
Obrigado
[email protected]