Upload
elaine-cecilia-gatto
View
3.417
Download
2
Embed Size (px)
Citation preview
Algoritmos e Estrutura de Dados Aula 4
28/08/2012
Profª Ms. Engª Elaine Cecília Gatto
Unidade 4: Estruturas de Controle em Pascal
Curso de Bacharelado em Engenharia de Computação
Universidade do Sagrado Coração – USC
Bauru/SP
Estrutura de Repetição sem teste • A estrutura PARA repete a execução do bloco em um número
definitivo de vezes pois ela possui limites fixos. Esta estrutura é utilizada quando sabe-se de antemão o número de vezes que o laço deverá ser executado.
Para V de Vi até Vf passo P faça
Início
ação/ações;
Fim para;
• V = variável de controle do tipo inteiro;
• Vi = valor inicial da variável V;
• Vf = valor final da variável V;
• P = é o valor do incremento dado a variável V;
Estrutura de Repetição sem teste • Exemplo1:
algoritmo exemplo1;
início
inteiro: cont;
para cont de 1 até 3 passo 1 faça
início
escreva(‘número = ’, cont);
fim para;
fim.
PASSO 1: 0 + 1 = 1 1 + 1 = 2 2 + 1 = 3 ...... PASSO – 1 3 – 1 = 2 2 – 1 = 1 1 – 1 = 0 Não existe 0 – 1, portanto, no PASSO -1, pára no 1, não chega a 0.
cont Vi Vf Passo 1 cont
1 1 3 1 + 1 = 2 2
2 1 3 2 + 1 = 3 3
3 1 3 3 + 1 = 4 4
4 1 3 ----- -----
Estrutura de Repetição sem teste • Exemplo2:
algoritmo exemplo2;
início
inteiro: cont;
para cont de 5 até 7 passo 1 faça
início
escreva(‘número = ’, cont);
fim para;
fim. cont Vi Vf Passo 1 cont
5 5 7 5 + 1 6
6 5 7 6 + 1 7
7 5 7 7 + 1 8
8 5 7 ----- -----
Estrutura de Repetição sem teste • Exemplo3:
algoritmo exemplo3;
início
inteiro: cont;
para cont de 1 até 500 passo 1 faça
início
escreva(‘número = ’, cont);
fim para;
fim. cont Vi Vf Passo 1 cont
1 1 500 1 + 1 2
.... 1 500 ..... ....
500 1 500 500 + 1 501
501 1 500 ---- ----
Estrutura de Repetição sem teste • Exemplo4:
algoritmo exemplo4;
início
inteiro: cont;
para cont de 3 até 1 passo -1 faça
início
escreva(‘número = ’, cont);
fim para;
fim. cont Vi Vf Passo -1 cont
3 3 1 3 - 1 2
2 3 1 2 - 1 1
1 3 1 1 - 1 0
0 3 1 ----- ----
Estrutura de Repetição em Pascal • Passo 1:
for variável := valorInicial to valorFinal do
Begin
Comandos;
End;
• Passo -1:
for variável := valorInicial to valorfinal do
Begin
Comandos;
End;
• A variável deve ser, obrigatoriamente do tipo integer.
Estrutura de Repetição
• Pseudocódigo
Para variável de VI até VF passo P faça
Início
Comandos;
Fim para;
• Pascal
PASSO 1
For variável := VI to VF do
Begin
Comandos;
End;
PASSO -1
For variável := VI downto VF do
Begin
Comandos;
End;
Contadores e somatórios
• Exemplo: calcular e imprimir a soma dos cinco primeiros números inteiros positivos.
0 1 2 3 4 5
1. Zerar somatório: soma 0
2. Definir valor inicial: num 1
3. Inicializar contador: cont 1
4. Realizar operação desejada: soma soma + num
5. Variar valor inicial: num num + 1
6. Incrementar/decrementar contador: cont cont + 1
Contadores e somatórios
algoritmo exemplo;
início
inteiro: soma, num, cont;
soma 0;
num 1;
para cont de 1 até 5 passo 1 faça
inicio
soma soma + num;
num num + 1;
fim para;
escreva (‘soma = ’, soma);
fim.
Estrutura de Repetição com teste de condição no início – Enquanto/Faça While condição do
Begin
Comandos;
End;
• Enquanto uma condição é verdadeira, uma ação ou ações são executadas repetidamente (enquanto, faça)
Enquanto condição faça
Início
Ação/ações
Fim enquanto;
Estrutura de Repetição com teste de condição no início – Enquanto/Faça • Exemplo: imprimir os números inteiros de 0 a 3.
algoritmo exemplo;
início
inteiro: n;
n 0;
enquanto n <= 3
início
escreva (‘num = ’, n);
n n+1;
fim enquanto;
fim.
Estrutura de Repetição com teste de condição no início – Enquanto/Faça • A estrutura enquanto pode ser escrita como:
Inicialização
Enquanto condição faça
Início
.....
incremento / decremento
.....
Fim enquanto;
Lema: um comando leia, ou de atribuição, antes do enquanto para entrar na repetição e, um ocmando leia, ou de atribuição, antes de fim enquanto para sair da repetição.
Estrutura de Repetição com teste de condição no início – Enquanto/Faça • Exemplo: ler vários números e imprimí-los até que o número
digitado seja zero.
algoritmo exemplo;
início
real:n;
escreva(‘digite um número ou zero para finalizar’);
enquanto n<>0 faça
início
escreva(‘n = ’, n);
escreva(‘digite um número ou zero para final’);
leia(n);
fim enquanto;
fim.
Estruturas de Repetição – Exercícios For 1. Faça um algoritmo para imprimir os números inteiros de 10
a 0, inclusive, em ordem alfabética.
2. Faça um algoritmo para imprimir o quadrado dos números inteiros de 1 a 20, inclusive.
3. Faça um algoritmo para imprimir os números inteiros positivos inferiores ou iguais a um número N inteiro positivo lido inicialmente. Fazer o teste de mesa para N=5 e N=8.
4. Faça um algoritmo para ler um número inteiro positivo menor ou igual a 10. em seguida, calcular e imprimir a respectiva tabuada. Fazero teste de mesa para N=3 e N=7.
5. Faça um algoritmo para ler um número inteiro positivo N maior ou igual a 2 e imprimir todos os números pares positivos contidos no intervalo de 2 até o número lido N. Usar passo 1 no para. Testar para N=5 e N=6.
Estruturas de Repetição – Exercícios For 6. Faça um algoritmo para ler 10 números quaisquer e
imprimir a raíz quadrada de cada número, quando possível. Imprimir também os números lidos.
7. Elabore um algoritmo que imprima uma tabela de conversão de polegadas para centímetros. Deseja-se que a tabela conste avlores desde 1 polegada até 20 polegadas inteiras. Lembrando: 1 polegada = 2,54 cm.
8. Criar um algoritmo que calcule e imprima o valor de bn. O valor de n deverá ser inteiro e maior do que 1 e o de b inteiro e maior ou igual a 2. Imprimir também b e n. Verificar quando é possível realizar o cálculo.
9. Elaborar um algoritmo que leia a quantidade de números que se deseja digitar para que possa ser impresso o maior e o menor números digitados.
Estruturas de Repetição – Exercícios For 10. Faça um algortimo para calcular e imprimir a soma e a
média aritmética dos números inteiros positivos inteiros ou iguais a um número N, inteiro positivo, lido inicialmente.
11. Faça um algoritmo para imprimir as sequencias de números:
Teste de mesa:
Soma =
Num =
Cont =
15 10 5 0 -5 -10 -15
0 3 6 9 12 15 0
-9 -6 -3 0 3 6 9
Estruturas de Repetição – Exercícios For 12. Faça um algoritmo para ler a idade de 10 pessoas. Calcule e
imprima a quantidade de pessoas maiores de idade (>=18anos)
13. Faça um algoritmo para ler a idade de 15 pessoas. Calcule e imprima a quantidade de pessoas em cada faixa etária e a porcentagem de cada faixa etária em relação ao total de pessoas. As faixas etárias são:
1 .... 15 | 16 .... 30 | 31 .... 45 | 46 .... 60 | >= 61 anos.
14. Uma certa firma fez uma pesquisa de mercado para saber se as pessoas gostaram ou não de um novo produto lançado. Para isso forneceu o sexo do entrevistado e sua resposta (sim ou não). Sabendo que foram entrevistadas 10 pessoas, faça um algoritmo que calcule e imprima: (continua no próximo slide)
Estruturas de Repetição – Exercícios For • O número de pessoas que responderam sim;
• O número de pessoas que responderam não;
• O número de mulheres que responderam sim;
• A % de homens que responderam não entre todos os homens analisados;
15. Sendo H = 1 + ½ + 1/3 + ... + 1/N, elabore um algoritmo para calcular e imprimir o valor de H. O número N deve ser lido inicialmente.
16. Considere uma certa firma de pesquisa de mercado para saber se as pessoas gostaram ou não de um novo produto lançado. Para isso forneceu o sexo do entrevistado e sua resposta, sim ou não. Sabendo que foram entrevistadas 10 pessoas, faça um algoritmo que calcule e imprima
Estruturas de Repetição – Exercícios For • O número de pessoas que responderam sim;
• O número de pessoas que responderam sim;
• A porcentagem de homens que responderam não entre todos os homens analisados;
Estruturas de Repetição – Exercícios While 1. Faça um algoritmo para ler um número N, inteiro positivo.
Em seguida, calcular a soma e a média aritmética de todos os números inteiros entre 1 e N, inclusive. Imprimir a soma e a média.
2. Faça um algoritmo par aler vários números, calcular e imprimir a média aritmética destes números. O último número deve ser zero, que não entra no cálculo.
3. Faça um algoritmo para ler uma nota de zero a dez de vários alunos. Calcular e imprimir a média da classe. Verifique como deve ser o teste para finalizar os dados de entrada.
Estruturas de Repetição – Exercícios While 4. Foi realizado uma pesquisa quanto à religião de uma
determinada cidade. Faça um algoritmo para ler um número indeterminado de dados, religião e idade, dos entrevistados, sendo o fim de dados identificado por religião = fim. Considere tres possibilidades para religião: católico, protestante ou budista. Imprimir:
5. O número de católicos com idade superior a 40 anos;
6. A porcentagem de protestantes;
7. A idade média dos budistas;