UNIVERSIDADE ESTADUAL VALE DO ACARAÚ
EXERCÍCIOS RESOLVIDOS – Estruturas de Repetição
1ª Faça um algoritmo que imprima todos os números pares no intervalo de 1 a 10.
INICIO
C: INTEIRO;
PARA C = 1 ATÉ 10 PASSO 1 FAÇA
SE (C MOD 2 = 0) ENTÃO
ESCREVA(C);
FIMPARA
FIM
2a Faça um algoritmo que imprima os números de 120 a 300.
INICIO
C: INTEIRO;
PARA C= 120 ATÉ 300 FAÇA
ESCREVA(C, “ – “);
FIMFAÇA
FIM.
3ª Faça um algoritmo que o usuário entra com 15 números e seja impressa a raiz quadrada de
cada um.
INICIO
A: INTEIRO;
NUMERO: REAL;
PARA A = 1 ATÉ 15 PASSO 1 FAÇA
ESCREVA(“Digite um número:”);
LEIA(NUMERO);
SE (NUMERO >= 0) ENTÃO
ESCREVA(“RAIZ QUADRADA DE ”, NUMERO, “ EH “, SQRT(NUMERO));
SENÃO
ESCREVA(“Número negativo. Não é possível obter raizes reais deste número!”);
FIMPARA
FIM.
4ª Faça um algoritmo que o usuário informará o nome, o sexo e a idade de 20 pessoas. O
algoritmo deve imprimir o nome se a pessoa for do sexo masculino e tiver mais de 21 anos.
INICIO
IDADE, N: INTEIRO;
NOME, SEXO: CARACTERE;
PARA N = 1 ATÉ 20 PASSO 1 FAÇA
ESCREVA(“Digite o nome: ”);
LEIA(NOME);
ESCREVA(“Digite o sexo: ”);
LEIA(SEXO);
ESCREVA(“DIGITE A IDADE: ”);
LEIA(IDADE);
SE (((SEXO=”MASCULINO”) OU (SEXO=”M”)) E (IDADE>21)) ENTAO
ESCREVA(NOME);
FIMPARA
FIM.
5ª Crie um algoritmo que leia os limites inferior e superior de um intervalo e imprima todos os
números múltiplos de 6 no intervalo fechado. Suponha que os dados digitados são para um
intervalo crescente. Exemplo:
Limite inferior: 5
Limite superior: 13
Saída: 6 12
INICIO
INICIO, FINAL, N: INTEIRO;
ESCREVA(“INFORME O VALOR INICIAL DO INTERVALO: ”);
LEIA(INICIO);
ESCREVA(“INFORME O VALOR FINAL DO INTERVALO: ”)
LEIA(FINAL);
SE (INICIO MOD 6 = 0) ENTÃO
INICIO<- INICIO + 6;
SENÃO
INICIO <- INICIO + (6 – (INI MOD 6));
PARA N = INICIO ATÉ FINAL PASSO 6 FAÇA
ESCREVA(N, “ “);
FIMPARA
FIM.
6a Criar um algoritmo que leia os limites inferior e superior de um intervalo e imprima todos os
números pares no intervalo aberto e seu somatório. Suponha que os números digitados são um
intervalo crescente. Exemplo:
Limite inferior: 3
Limite superior: 12
Número: 3
Saída: 4 6 8 10
Soma: 28
INICIO
INI, VF,SOMA, I: INTEIRO;
ESCREVA(“DIGITE O VALOR INICIAL”);
LEIA(INI);
ESCREVA(“DIGITE O VALOR FINAL”);
LEIA(VF);
SOMA <- 0;
SE (INI MOD 2 = 0) ENTÃO
INI <- INI + 2;
SENÃO
INI <- INI + 1;
VF <- VF – 1;
PARA I = INI ATÉ VF PASSO 2 FAÇA
SOMA <- SOMA + I;
ESCREVA(I, “ “);
FIMPARA
ESCREVA(“Soma: “, SOMA);
FIM.
7ª Faça um algoritmo que o usuário entre com números e o algoritmo imprima o triplo de cada
número. O algoritmo encerra quando o usuário entrar com o número –999.
INICIO
NUM: REAL;
ESCREVA (“DIGITE UM NÚMERO OU –999 PARA TERMINAR: ”);
Leia(NUM);
FAÇA ENQUANTO (NUM <> -999)
ESCREVA(“TRIPLO: ”, NUM*3);
ESCREVA (“DIGITE UM NÚMERO OU –999 PARA TERMINAR: ”);
Leia(NUM);
FIMFAÇA
8ª Faça um algoritmo que leia vários números e que informe quantos desses números entre 100 e
200 foram digitados. Quando o valor 0 (zero) for lido o algoritmo deverá cessar sua execução.
INICIO
CONT: INTEIRO;
NUM: REAL;
CONT <- 0;
ESCREVA (“DIGITE UM NÚMERO QUALQUER OU 0 PARA SAIR: ”);
LEIA (NUM);
FAÇA ENQUANTO (NUM <> 0)
SE ((NUM >= 100) E (NUM <= 200)) ENTÃO
CONT <- CONT + 1;
ESCREVA (“DIGITE UM NÚMERO QUALQUER OU 0 PARA SAIR: ”);
LEIA (NUM);
FIMFAÇA
ESCREVA(“TOTAL: “, CONT);
FIM.
9ª Chico tem 1,50m e cresce 2 centímetros por ano, enquanto Juca tem 1,10m e cresce 3
centímetros por ano. Construir um algoritmo que calcule e imprima quantos anos serão
necessários para que Juca seja maior que Chico.
INICIO
ANOS: INTEIRO;
C, J: REAL;
C <- 1.50;
J <- 1.10;
ANOS<- 0;
FAÇA ENQUANTO (J <= C)
C <- C + 0.02;
J <- J + 0.03;
ANOS <- ANOS + 1;
FIMFAÇA
ESCREVA (“Serao necessarios :”, ANOS);
FIM.
10ª Faça um algoritmo que o usuário entre com a idade de várias pessoas e imprimir:
a) Total de pessoas com menos de 21 anos;
b) Total de pessoas com mais de 50 anos;
O algoritmo será executado enquanto não for digitada idade menor que zero ou maior do que 140.
INICIO
IDADE, C21, C50: INTEIRO;
C21 <- 0;
C50 <- 0;
ESCREVA (“ENTRE COM UMA IDADE: ”);
LEIA(IDADE);
FAÇA ENQUANTO ((IDADE >= 0) E (IDADE <= 140))
SE (IDADE < 21) ENTÃO
C21 <- C21 + 1;
SENAO
SE (IDADE > 50) ENTÃO
C50 <- C50 + 1;
ESCREVA (“ENTRE COM UMA IDADE: ”);
LEIA(IDADE);
FIMFAÇA
ESCREVA (“TOTAL DE IDADES INFERIORES A 21 ANOS: ”, C21);
ESCREVA (“TOTAL DE IDADES SUPERIORES A 50 ANOS: ”, C50);
FIM.
11ª Faça um algoritmo que o usuário informa um número e o algoritmo verifica se ele é um
número triangular.
Obs.: Um número é triangular quando o resultado do produto de três números consecutivos.
Exemplo: 24 = 2 x 3 x 4.
INICIO
NUM, P, NUM1: INTEIRO;
NUM1<- 1;
ESCREVA (“DIGITE UM NÚMERO: ”);
LEIA(NUM);
P <- NUM1 * (NUM1+1) * (NUM1 + 2);
FAÇA ENQUANTO (P < NUM)
NUM 1 <- NUM1 + 1;
P <- NUM1 * (NUM1+1) * (NUM1 + 2);
FIMFAÇA
SE (P = NUM)
ESCREVA(“EH TRIANGULAR”);
SENÃO
ESCREVA(“NÃO EH TRIANGULAR.”);
FIM.
12ª Criar um algoritmo que o usuário entre com vários números inteiros e positivos e imprima a
média dos números que são múltiplos de 3.
INICIO
NUM, CONT, SOMA: INTEIRO;
SOMA<- 0;
CONT <- 0;
ESCREVA(“DIGITE UM NÚMERO POSITIVO E PARA TERMINAR, UM NEGATIVO OU ZERO: ”);
LEIA(NUM);
FAÇA ENQUANTO (NUM > 0)
SE (NUM MOD 3 = 0 ) ENTÃO
CONT <- CONT + 1;
SOMA <- SOMA + NUM;
ESCREVA(“DIGITE UM NÚMERO POSITIVO E PARA TERMINAR, UM NEGATIVO OU ZERO: ”);
LEIA(NUM);
FIMFAÇA
SE (CONT <> 0) ENTÃO
ESCREVA(“A MÉDIA DOS NÚMEROS MULTIPLOS DE 3 EH: ”, SOMA/CONT);
SENAO
ESCREVA(“NENHUM MULTIPLO DE 3 FOI INFORMADO.”);
FIM.
13ª Crie um algoritmo que o usuário entre com vários números inteiros e positivos e imprima o
produto dos números ímpares e a soma dos números pares.
Iinicio
NUM, PROD, SOMA: INTEIRO;
SOMA <- 0;
PROD <- 0;
ESCREVA(“DIGITE UM NÚMERO POSITIVO E PARA TERMINAR, UM NEGATIVO OU ZERO: ”);
LEIA(NUM);
FAÇA ENQUANTO (NUM > 0)
SE (NUM MOD 2 = 0) ENTÃO
SOMA <- SOMA + NUM;
SENAO
PROD <- PROD * NUM;
ESCREVA(“DIGITE UM NÚMERO POSITIVO E PARA TERMINAR, UM NEGATIVO OU ZERO: ”);
LEIA(NUM);
FIMFAÇA
ESCREVA(“O PRODUTO DOS NUMEROS IMPARES EH: ”, PROD);
ESCREVA(“A SOMA DOS NUMEROS PARES EH: ”, SOMA);
FIM.
14ª Crie um algoritmo que ajude o DETRAN a saber o total de recursos que foram arrecadados
com a aplicação de multas de trânsito.
O algoritmo deve ler as seguintes informações para cada motorista:
- O número da carteira de motorista (de 1 a 4327)
- Número de multas;
- Valor da cada uma das multas.
Deve ser impresso o valor da dívida de cada motorista e ao final da leitura o total de recursos
arrecadados (somatório de todas as multas). O algoritmo deverá imprimir também o número da
carteira do motorista que obteve o maior número de multas.
INICIO
C, CART, NMULT, MCART, MNMULT: INTEIRO;
VALOR, TOTAL: REAL;
MNMULT <- 0;
ESCREVA(“DIGITE A CARTEIRA DE MOTORISTA OU 0 (ZERO) PARA TERMINAR:”);
LEIA(CART);
FAÇA ENQUANTO (CART <> 0)
TOTAL <- 0;
ESCREVA(“DIGITE O NÚMERO DE MULTAS: ”);
LEIA(NMULT);
SE (NMULT > MNMULT)
MNMULT <- NMULT;
MCART <- CART;
PARA C= 1 ATÉ C=NMULT PASSO 1 FAÇA
ESCREVA(“DIGITE O VALOR DA MULTA: ”);
LEIA(VALOR);
TOTAL <- TOTAL + VALOR;
FIMPARA
ESCREVA(“CARTEIRA DE MOTORISTA: ”, CART);
ESCREVA(“VALOR A PAGAR: ”, TOTAL);
ESCREVA(“DIGITE A CARTEIRA DE MOTORISTA OU 0 (ZERO) PARA TERMINAR:”);
LEIA(CART);
FIMFAÇA
ESCREVA(“NUMERO DA CARTEIRA COM MAIOR NUMERO DE MULTAS: ”, MCART);
FIM.
15ª Crie um algoritmo que receba a idade, a altura e o peso de várias pessoas. Calcule e imprima:
- A quantidade de pessoas com idade superior a 50 anos;
- A média das alturas das pessoas com idade entre 10 e 20 anos;
- A porcentagem de pessoas com peso inferior a 40 quilos entre todas as pessoas analisadas.
INICIO
PESO, ALTURA, SOMA1020: REAL;
IDADE, CT, C1020, C50, C40: INTEIRO;
SOMA1020 <- 0;
CT <- 0;
C1020 <- 0;
C50 <- 0;
C40 <- 0;
ESCREVA(“ENTRE A IDADE OU 0 (ZERO) PARA TERMINAR: ”);
LEIA (IDADE);
FAÇA ENQUANTO (IDADE > 0 )
CT <- CT + 1;
ESCREVA (“INFORME A ALTURA: ”);
LEIA(ALTURA);
ESCREVA(“INFORME O PESO”);
LEIA(PESO);
SE (PESO < 40) ENTÃO
C40 <- C40 + 1;
SE (IDADE > 50) ENTÃO
C50 <- C50 + 1;
SENAO
SE ((IDADE > 10) E (IDADE < 20)) ENTAO
C1020 <- C1020 + 1;
SOMA1020<- SOMA1020 + IDADE;
ESCREVA(“ENTRE A IDADE OU 0 (ZERO) PARA TERMINAR: ”);
LEIA (IDADE);
FIMFAÇA
SE (C50 > 0) ENTÃO
ESCREVA(“TOTAL DE PESSOAS COM MAIS 50 ANOS: ”, C50);
SENÃO
ESCREVA(“NINGUÉM COM MAS DE 50 ANOS”);
SE (C1020 > 0) ENTÃO
ESCREVA(“MEDIA ENTRE 10 E 20 ANOS: ”, SOMA1020/C1020);
SENAO
ESCREVA(“NINGUEM DENTRO DA FAIXA DE 10 A 20 ANOS”);
SE (C40 > 0) ENTÃO
ESCREVA(“PERCENTUAL DE PESSOAS COM MENOS DE 40 Kg: ”, c40 * 100/CT);
SENÃO
ESCREVA(“NINGUÉM COM MENOS DE 40 Kg.”);
FIM.
Download

UNIVERSIDADE ESTADUAL VALE DO ACARAÚ