Baixe Algoritmos C Aula4 0 e outras Notas de aula em PDF para Algoritmos, somente na Docsity!
Algoritmos e Lógica
de Programação
Petrônio Carlos Bezerra [email protected]
Agenda – Aula 4
– PARA ... ATE... PASSO K
– ENQUANTO .. FAÇA
- Estrutura de Múltipla Escolha
PARA ... ATÉ... PASSO K
- Quando o número de repetições for previamente conhecido, utiliza-se um contador para controlar o número de repetições do laço
- Um contador é uma variável do tipo inteiro que deve receber ( antes do laço ) um valor inicial e dentro do laço ( no final dele ) este contador já será automaticamente incrementado no valor do passo
- A interrupção do laço acontecerá quanto o contador encontrar o valor final indicado (ou superar/passar deste valor)
Sintaxe:
PARA X:=Vi ATE Vf PASSO k FACA
< lista de comandos >
FIMPARA
- Onde:
- X = Variável inteira;
- Vi = Valor inicial de X;
- Vf = Valor final de X;
- k = Incremento da variável (Se o K for omitido, considerar-se-á o incremento de um em um).
- O comando PARA ATE PASSO K já faz o incremento da variável automaticamente no final do laço (e antes do próximo teste);
- Este laço (que sabemos o número de vezes da repetição) é bem mais claro que o outro tipo de laço que veremos o ENQUANTO..FACA - Mas lembre-se: nada impede que o ENQUANTO..FACA seja usado
- O incremento da variável de controle vai depender das necessidades do programador. Pode ser crescente: para x=1 ate 10 passo 2 {de dois em dois};
- É possível especificar o valor inicial maior que o final, neste caso há decremento da variável contadora. Veja: para x=10 ate 1 passo -1.
- Exemplo: ... Escreva (“Digite sua senha: ”) Leia (senha) ENQUANTO (senha <> 123) FACA Escreva(“Senha incorreta. Digite novamente: ”) Leia (senha) FIMENQUANTO Escreva( “Senha 123 foi digitada!” )
- Observe que:
- A condição é testada no início do bloco a ser repetido;
- As instruções só serão executadas se a condição for satisfeita;
- A condição é avaliada a cada repetição do laço;
- O laço chega ao fim quando a condição for falsa;
- O comando ENQUANTO tem apenas um único ponto de saída: quando a condição for falsa;
- Depois da interrupção, a sequência de comandos que vier logo após a expressão FIMENQUANTO passa a ser executada.
- Mais exemplos:
- Faça um algoritmo que escreva os números inteiros de 1 a 100, utilizando a estrutura de repetição ENQUANTO.
- Faça um algoritmo que realize a soma dos números pares de 100 a 200, utilizando a estrutura de repetição ENQUANTO.
- Um exemplo: Como é calculada a média de n números?
- O algoritmo lê uma quantidade não conhecida de números inteiros e exibe o valor médio dos mesmos
- A condição de saída do laço será a leitura do valor 0 ( flag )
- Observe que existem duas leituras da variável do flag : uma antes do laço e a outra dentro do laço (no final dele)
- Façamos um exemplo mais avançado:
- Escreva um algoritmo que lê um número indeterminado de alunos juntamente com suas 3 notas e calcule a média destas notas para cada um;
- A condição de parada do laço será a leitura do valor “FIM” ( flag ) para o nome do aluno. Façam!
Algoritmo Sentinela var NUM,QUANT,SOMA,MEDIA: INTEIRO inicio SOMA 0 QUANT 0 Escreva (“Insira um numero (ou digite 0 para sair): ”) Leia (NUM) ENQUANTO ( NUM <> 0 ) FACA SOMA SOMA + NUM QUANT QUANT + 1 Escreva (“Insira um outro numero (ou digite 0 para sair): ”) Leia (NUM) FIMENQUANTO MEDIA SOMA div QUANT Escreva( “A média final é: ”, MEDIA ) fimalgoritmo
Estrutura de Múltipla Escolha
- As palavras reservadas “ESCOLHA” e “FIMESCOLHA” marcam esta estrutura
- Cada possível opção de escolha deverá ser precedida da palavra CASO
- Esta estrutura permite fazer uma seleção de opções de maneira mais simples do que se fossem usados vários SE...ENTAO...FIMSE aninhados
Estrutura de Múltipla Escolha
ESCOLHA ( opcao ) CASO (opcao) < lista de comandos > CASO (opcao) < lista de comandos > ... OUTROCASO < lista de comandos > FIMESCOLHA
- Apenas um Caso será executado. Ao executar o bloco de comandos associado ao Caso selecionado, o algoritmo sairá da estrutura de Escolha