Buscar

Exercicios Prontos de Algortitmo - 04 - ComandosdeRepeticao

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Comandos Repetição 
 
Resolução dos Exercícios 
 
Primeira Lista (Slide 45) 
 
 
1. Fazer um algoritmo que imprima todos os números pares no intervalo 1-100. 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main() 
{ 
 int num; 
 num = 1; //inicializa num com 1 
 
 //estrutura de repeticao 
 while (num <= 100) 
 { 
 if(num % 2==0) 
 { 
 // serão pares os números que a divisão por 2 
 // fornecer resto zero 
 printf ("%d ", num); 
 } 
 
 num++; //num = num + 1 
 } 
 
 return 0; 
} 
 
2. Fazer um algoritmo que imprima todos os números de 100 até 1. 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main() 
{ 
 int num; 
 num = 100; //inicializa num com 100 
 
 //estrutura de repeticao 
 while (num >= 1) 
 { 
 printf ("%d ", num); 
 num--; //num = num - 1 
 } 
 
 return 0; 
} 
 
3. Ler um número inteiro e positivo e verificar se este é ou não um número 
primo. 
 
#include <stdio.h> 
#include <stdlib.h> 
 
/* 
Variaveis: 
num - numero informado pelo usuario 
i - variavel de controle do FOR 
cont - contador de divisoes exatas 
 
Metodo: 
Um numero eh primo quando ele eh divisivel por 1 e por ele mesmo. 
Essa eh a condicao para um numero ser primo. 
*/ 
 
int main() 
{ 
 int num, i, cont; 
 
 cont = 0; //contador iniciado com 0 
 
 printf ("Digite um numero inteiro positivo: "); 
 scanf ("%d", &num); 
 
 if (num < 1) 
 { 
 printf ("Numero invalido!"); 
 } 
 else 
 { 
 for (i=1; i<=num; i++) 
 { 
 if (num%i == 0) 
 //verifica se a divisao eh exata 
 { 
 cont++; 
 } 
 } 
 if (cont > 2) 
 //se cont > 2 significa que o num foge da condicao de primo 
 { 
 printf ("Numero nao eh primo!"); 
 } 
 else 
 { 
 printf ("Numero eh primo!"); 
 
 } 
 } 
 return 0; 
} 
 
4. Dada uma dívida de 10000 reais que cresce a juros de 2,5% ao mês e uma 
aplicação de 1500 reais com rendimento de 4% ao mês, escrever um algoritmo 
que determina o número de meses necessários para pagar a dívida. 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main() 
{ 
 float div, apl; 
 int meses; 
 
 div = 10000; 
 apl = 1500; 
 
 meses = 0; //contador iniciado com 0 
 
 while (apl < div) 
 { 
 apl = apl*1.04; 
 div = div*1.025; 
 meses++; 
 } 
 
 printf ("A divida ser paga em %d meses.", meses); 
 
 return 0; 
} 
 
5. Calcular o valor de S: 
S = 2/50 + 2²/48 + 2³/46 + ... + 225/2 
 
#include <stdio.h> 
#include <stdlib.h> 
#include <math.h> 
 
/* 
math.h eh a biblioteca de operacoes matematica, 
gracas a ela podemos usar o POW. 
POW - operacao que eleva um numero a outro. 
*/ 
 
int main() 
{ 
 float s; 
 int exp, divisor; 
 s = 0; 
 
 //este FOR possui duas condicoes 
 for (exp=1, divisor=50; exp<=25 && divisor>0; exp++, divisor-=2) 
 //divisor-=2 equivale a divisor = divisor - 2 
 { 
 s = s + pow(2,exp)/divisor; 
 } 
 
 printf ("O valor de S eh: %.2f.", s); 
 
 return 0; 
} 
 
Segunda Lista (Slide 51) 
 
1) Escrever um algoritmo que lê um valor N inteiro e positivo e que calcula e 
escreve o valor de E. 
E = 1 + 1/2 + 1/3 + ... + 1/N 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main () 
{ 
 int n,i; 
 float e=0; 
 printf ("digite um numero inteiro positivo "); 
 scanf ("%d", &n); 
 for(i=1;i<=n;i++) 
 { 
 e=e+(float) 1/i; 
 //converte i do tipo inteiro para o tipo real durante esta 
 //operacao 
 } 
 printf ("\n somatorio = %f", e); 
 return 0; 
} 
 
2) Escreva um algoritmo que leia 10 valores (usando a mesma variável) e 
encontre o maior e o menor deles. Mostre o resultado. 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main () 
{ 
 
 int i; 
 float n,maior=0, menor=0; 
 for (i=1;i<=10;i++) 
 { 
 printf ("\ndigite um numero "); 
 scanf ("%f",&n); 
 if (n>maior) 
 { 
 maior=n; 
 } 
 if (n<menor) 
 { 
 menor=n; 
 } 
 } 
 printf ("\no maior numero da sequencia é %.2f e o menor é 
%.2f",maior, menor); 
return 0; 
} 
 
3) Chico tem 1,50 metro e cresce 2 centímetros por ano, enquanto Zé tem 1,40 
metro e cresce 3 centímetros por ano. Construa um algoritmo que calcule e 
imprima quantos anos serão necessários para que Zé seja maior que Chico. 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main() 
{ 
 float chico, ze; 
 int anos; 
 
 chico = 1.5; 
 ze = 1.4; 
 anos = 0; 
 
 while (ze <= chico) 
 { 
 ze = ze + 0.03; 
 chico = chico + 0.02; 
 anos++; 
 } 
 
 printf ("Sera necessario %d anos para que Ze seja maior que 
Chico.", anos); 
 
 return 0; 
} 
 
4) Escreva um algoritmo que leia a matrícula de um aluno e suas três notas. 
Calcule a média ponderada do aluno, considerando que o peso para a maior 
nota seja 4 e para as duas restantes, 3. Mostre ao final a média calculada e uma 
mensagem "APROVADO" se a média for maior ou igual a 5 e "REPROVADO" se 
a média for menor que 5. Repita a operação até que o código lido seja negativo. 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main() 
{ 
 int mat; 
 float maior,outra1,outra2,aux, media; 
 
 printf ("Digite a matricula do aluno: "); 
 scanf ("%d", &mat); 
 
 while (mat != 0) 
 { 
 printf ("Digite a primeira nota: "); 
 scanf ("%f", &maior); 
 printf ("Digite a segunda nota: "); 
 scanf ("%f", &outra1); 
 
 if (outra1 > maior) 
 { 
 aux = outra1; 
 outra1 = maior; 
 maior = aux; 
 } 
 
 printf ("Digite a terceira nota: "); 
 scanf ("%f",&outra2); 
 
 if (outra2 > maior) 
 { 
 aux = outra2; 
 outra2 = maior; 
 maior = aux; 
 } 
 
 
 media = (4*maior + 3*outra1 + 3*outra2)/10; 
 printf ("Media: %.2f\n", media); 
 
 if (media >= 5) 
 { 
 printf ("APROVADO"); 
 } 
 else 
 { 
 printf ("REPROVADO"); 
 } 
 
 printf ("\n\nDigite a matricula do aluno: "); 
 scanf ("%d", &mat); 
 } 
 
 return 0; 
} 
 
5) Escrever um algoritmo que lê um valor N inteiro e positivo e que calcula e 
escreve o valor de E. 
E = 1 + 1/1! + 1/2! + 1/3! + ... + 1/N! 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main() 
{ 
 int i, j, num; 
 float e, denominador; 
 e = 1; 
 printf ("Digite um valor inteiro e positivo: "); 
 scanf ("%d", &num); 
 
 for (i=1; i<=num; i++) 
 { 
 denominador = 1; 
 for (j=i; j>1; j--) 
 { 
 denominador = denominador*j; 
 } 
 e = e + 1/denominador; 
 //converte i do tipo inteiro para o tipo real durante esta 
//operacao 
 } 
 
 printf ("O valor de E eh: %.2f", e); 
 
 return 0; 
} 
 
 
6) Faça um programa que, dado um conjunto de valores inteiros e positivos 
(fornecidos um a um pelo usuário), determine qual o menor valor do conjunto. O 
final do conjunto de valores é conhecido através do valor zero, que não deve ser 
considerado. 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main() 
{ 
 int menor, num; 
 
 printf ("Digite um numero inteiro positivo: "); 
 scanf ("%d", &num); 
 
 menor = num; 
 
 if (num == 0) 
 { 
 printf ("Zero foi o primeiro numero digitado."); 
 } 
 else 
 { 
 while (num != 0)// 0 usado como FLAG 
 { 
 if (num < menor)&&(num > 0) ) 
 { 
 menor = num; 
 } 
 
 //Leitura fica por ultimo para o zero nao 
 //ser o menor numero. 
 printf ("Digite um numero inteiro positivo: "); 
 scanf ("%d", &num); 
 } 
 
 printf("O menor numero digitado foi: %d.", menor); 
 } 
 return 0; 
} 
 
 
7) A conversão de graus Fahrenheit para Centígrados é obtida pela fórmula C = 
9/5(F 32). Escreva um programa que calcule e escreva uma tabela de graus 
centígrados em função de graus Fahrenheit que variem de 50 a 150 de 1 em 1. 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main() 
{ 
 float f,c; 
 printf ("Fahrenheit\tCentigrados\n"); 
 //O codigo \t da um espaco tabulado na tela. 
 for (f=50;f<=150;f++) 
 { 
 c = 9.0/5*(f-32); 
 printf (" \n%.1f %20.2f", f,c); 
 // %20 indicará o número de colunas que 
 //serão utilizadas para exibição do conteúdo. 
 } 
 return 0; 
} 
 
8) Elabore um programa que calcule N! (fatorial de N), sendo que o valor inteiro 
de N é fornecido pelo usuário. Sabendo que: 
N! = N x (N-1) x (N-2) x ... x 3 x 2 x 1; 
0! = 1, por definição. 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main () 
{ 
 int i, n,fatorial=1; 
 //inicializar o fatorial com 1 abrange necessariamente 0! 
 printf ("digite um numero inteiro e positivo "); 
 scanf ("%d",&n); 
 if (n<0) 
 printf("numero inválido"); 
 //não existe fatorial de números negativos 
 while (n>0) 
 { 
 fatorial=fatorial*n; 
 n--; 
 } 
 printf ("o fatorial do número é %d", fatorial); 
 return 0; 
} 
 
9) Fazer um programa para calcular e mostrar os N primeiros termos da série de 
Fibonacci. O número N é fornecido pelo usuário. A série de Fibonacci é gerada 
da seguinte forma: 
f1 = f2 = 1; 
f3 = f1 + f2 = 2; 
f4 = f2 + f3 = 3;.... 
O primeiro e segundo termos valem 1 e os seguintes são calculados somando 
os dois termos anteriores. 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main() 
{ 
 int n_anterior1=0, n_anterior2=1, n=1, i ,num; 
 printf ("digite o numero de termos da série "); 
 scanf("%d",&num); 
 for(i = 0;i<num;i++) 
{ 
n = n_anterior1 + n_anterior2; 
 n_anterior2=n_anterior1; 
 n_anterior1=n; 
 printf("%d ",n); 
 } 
 
 return 0; 
}

Outros materiais