Aula 4 aed - parte 1

Preview:

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;

Recommended