22
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

Aula 4 aed - parte 1

Embed Size (px)

Citation preview

Page 1: Aula 4   aed - parte 1

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

Page 2: Aula 4   aed - parte 1

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;

Page 3: Aula 4   aed - parte 1

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 ----- -----

Page 4: Aula 4   aed - parte 1

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 ----- -----

Page 5: Aula 4   aed - parte 1

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 ---- ----

Page 6: Aula 4   aed - parte 1

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 ----- ----

Page 7: Aula 4   aed - parte 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.

Page 8: Aula 4   aed - parte 1

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;

Page 9: Aula 4   aed - parte 1

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

Page 10: Aula 4   aed - parte 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.

Page 11: Aula 4   aed - parte 1

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;

Page 12: Aula 4   aed - parte 1

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.

Page 13: Aula 4   aed - parte 1

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.

Page 14: Aula 4   aed - parte 1

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.

Page 15: Aula 4   aed - parte 1

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.

Page 16: Aula 4   aed - parte 1

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.

Page 17: Aula 4   aed - parte 1

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

Page 18: Aula 4   aed - parte 1

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)

Page 19: Aula 4   aed - parte 1

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

Page 20: Aula 4   aed - parte 1

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;

Page 21: Aula 4   aed - parte 1

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.

Page 22: Aula 4   aed - parte 1

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;