MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
CAMPUS SÃO JOSÉ – SANTA CATARINA
Lógica de Programação
Módulo II
Prof. Tiago Semprebom
tisemp@sj.ifsc.edu.br
www.sj.ifsc.edu.br/~tisemp
Lógica de Programação
Estruturas de repetição
• Possibilitam repetir uma sequência de ações do algoritmo
• Estruturas de repetição condicionais:
– enquanto uma determinada condição for verdadeira.
– ...ou até que uma determinada condição seja verdadeira.
• Estruturas de repetição incondicionais:
– Por um número predeterminado de vezes.
Lógica de Programação
Estruturas de repetição condicionais
• Condição testada no início da repetição:
Enquanto condição faça
bloco de comandos
Fim enquanto
• Testa a condição antes da execução do bloco.
• Enquanto a condição dor verdadeira, executa o bloco.
– Bloco pode ser executado 0 ou mais vezes
• Finaliza a execução do bloco quando condição for falsa.
Lógica de Programação
Estruturas de repetição condicionais
Ex. verificar qual o menor valor, dentre um conjunto de 10 valores lidos do teclado.
Inteiro valor, menor, contador;
INICIO
leia(menor);
contador ← 9;
Enquanto contador > 0 faça
leia(valor);
Se valor < menor então
menor ← valor;
Fim se
contador ← contador – 1;
Fim enquanto;
Escreva('Menor valor = ', menor);
FIM
Lógica de Programação
Estruturas de repetição condicionais
•
Exercício: faça um algoritmo para calcular o fatorial de uma número lido
pelo teclado, e mostrar o resultado na tela.
Inteiro x, fat;
INICIO
leia(x);
fat ← 1;
Enquanto x > 1 faça
fat ← fat * x;
x ← x – 1;
Fim enquanto;
Escreva('Fatorial = ', fat);
FIM
fluxograma
Lógica de Programação
Estruturas de repetição condicionais
• Exercício (cont.): Testando a solução para valores 0, 1, 3 e 5:
Lógica de Programação
Estruturas de repetição condicionais
• Exercício: observe o algoritmo abaixo:
Inteiro x, n;
INICIO
leia(n);
leia(x);
y →1;
Enquanto x > 0 faça
inicio
y → * n;
x → x – 1;
fim
Fim enquanto
Escreva(y);
FIM
a) Qual o objetivo desse algoritmo ?
b) O algoritmo está correto ?
c) Altere o algoritmo, usando repita
...até
d) Altere o algoritmo, usando para
...faça.
e) Qual das três opções é a melhor ?
Por que ?
Lógica de Programação
Estruturas de repetição condicionais
Condição testada no final da repetição:
Repita
bloco de comandos
Até condição
Testa condição após a execução do bloco
Enquanto condição for falsa, executa o bloco
Bloco pode ser executado uma ou mais vezes
Encerra execução do bloco quando condição for verdadeira (condição de
parada)
Lógica de Programação
Estruturas de repetição condicionais
Ex. verificar qual o menor valor, dentre um conjunto de 10 valores lidos do teclado
Inteiro valor, menor, contador;
INICIO
leia(menor);
contador ← 9;
Repita
leia(valor);
Se valor < menor então
menor ← valor;
Fim se
contador ← contador – 1;
Até condição == 0;
Escreva('Menor valor = ', menor);
FIM
Lógica de Programação
Estruturas de repetição incondicional
• Repetições executadas um número predeterminado de vezes:
Para variável_de_controle  valor_inicial até valor_final faça
bloco de comandos
Fim para
• Repete o bloco de comandos 1 + (valor_final – valor_inicial) vezes
• Incrementa automaticamente a variável de controle ao final de casa
repetição
– Se valor_final < valor_inicial, bloco não é executado
• Variável de controle não deve ser modificada dentro do bloco
Lógica de Programação
Estruturas de repetição incondicional
•
Verificar qual o menor valor, dentre um conjunto de 10 valores lidos do
teclado
Inteiro valor, menor, contador;
INICIO
leia(menor);
Para contador ← 1 até 9 faça
leia(valor);
Se valor < menor então
menor ← valor;
Fim se
Fim para;
Escreva('Menor valor = ', menor);
FIM
Lógica de Programação
Exercícios:
1) Usando uma estrutura de repetição faça um algoritmo para
calcular a média simples de 10 números lidos do teclado.
2) Faça um algoritmo que mostre um menu com as opções: adição,
subtração, multiplicação e divisão. Cada opção deve ser
identificada por um número. Seu algoritmo deve ler uma opção
pelo teclado, e em seguida executar a operação correspondente.
Os operandos da operação devem também ser lidos pelo teclado.
O resultado deve ser mostrado na tela.
Lógica de Programação
3) Faça um algoritmo que determine o maior entre N números. A condição
de parada é a entrada de um valor 0, ou seja, o algoritmo deve ficar
calculando o maior até que a entrada seja igual a 0 (ZERO).
4) Faça um algoritmo que conte de 1 a 100 e a cada múltiplo de 10 emita
uma mensagem: “Múltiplo de 10”.
5) Construa um programa que leia o conjunto de 20 números
inteiros e mostre qual foi o maior e o menor valor fornecido.
6) Faça um algoritmo que receba 10 números, calcule e mostre a
quantidade de números entre 30 e 90.
Lógica de Programação
7) Desenvolver um algoritmo que leia a altura e o sexo (M ou F) de
15 pessoas. Este programa deverá calcular e mostrar :
a. A menor altura do grupo;
b. A média de altura das mulheres;
c. O número de homens;
d. O sexo da pessoa mais alta.
8) Uma grande empresa deseja saber qual é o empregado mais
recente e qual é o mais antigo. Desenvolver um algoritmo para
ler um número indeterminado de informações (máximo de 20)
contendo o número do empregado e o número de meses de
trabalho deste empregado e imprimir o mais recente e o mais
antigo. Obs.: A última informação contém os dois números iguais
a zero. Não existem dois empregados admitidos no mesmo mês.
Download

logica4 - Campus São José