Buscar

Lista 2 Algoritmos e Estrutura de Dados.

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

LISTA DE EXERCÍCIOS 3 
ESTRUTURAS DE REPETIÇÃO EM LINGUAGEM C 
 
Aluno Curso 
Isabella de Avelar Santos 1 período – Engenharia Química 
 
 
EXERCÍCIOS 
 
1. Escreva um algoritmo para ler 2 valores. Se o segundo valor informado for 
ZERO, deve ser lido um novo valor, ou seja, para o segundo valor não pode ser aceito 
o valor zero. O programa deve imprimir o resultado da divisão do primeiro valor lido 
pelo segundo valor lido. (utilizar a estrutura WHILE). 
 
RESOLUÇAO DO EXERCÍCIO: 
int main() 
{ 
 float x, y; 
 printf ("digite um numero para numerador:\n"); 
 scanf ("%f", &x); 
 printf ("digite um numero para denominador:\n"); 
 scanf ("%f", &y); 
 while (y==0) 
 { 
 printf ("denominador impossivel, digite um numero para denominador:\n"); 
 scanf ("%f", &y); 
} 
printf ("O valor da divisao e: %f", x/y); 
getch(); 
} 
 
 
2. Reescreva o exercício anterior utilizando a estrutura DO. 
 
RESOLUÇAO DO EXERCÍCIO: 
int main() 
{ 
 float x, y; 
 printf ("digite um numero para numerador:\n"); 
 scanf ("%f", &x); 
 do 
 { 
 printf ("digite um numero para denominador:\n"); 
 scanf ("%f", &y); 
}while (y==0); 
 printf ("O valor da divisao e: %f", x/y); 
getch(); 
} 
 
 
3. Escreva um algoritmo para imprimir os números de 1 (inclusive) a 10 (inclusive) 
em ordem crescente (utilizar a estrutura FOR). 
 
RESOLUÇAO DO EXERCÍCIO: 
int main() 
{ 
 int x; 
 for (x=1; x<=10; x++) 
 { 
 printf ("%d\n", x); 
} 
getch(); 
} 
 
 
4. Reescreva o exercício anterior utilizando a estrutura DO. 
 
RESOLUÇAO DO EXERCÍCIO: 
int main() 
{ 
int x; 
x=1; 
 do 
 { 
printf ("%d\n", x); 
x++; 
}while (x<=10); 
getch(); 
} 
 
 
5. Escreva um algoritmo para imprimir os números de 1 (inclusive) a 10 (inclusive) 
em ordem decrescente (utilizar a estrutura FOR). 
 
RESOLUÇAO DO EXERCÍCIO: 
int main() 
{ 
 int x; 
 for (x=10;x>=1;x--) 
 { 
 printf ("%d\n", x); 
} 
getch(); 
} 
 
6. Reescreva o exercício anterior utilizando a estrutura DO. 
 
RESOLUÇAO DO EXERCÍCIO: 
int main() 
{ 
 int x; 
 x=10; 
 do 
 { 
 printf ("%d\n", x); 
 x--; 
}while (x>=1); 
getch(); 
} 
 
7. Escreva um algoritmo para imprimir os 10 primeiros números inteiros maiores 
que 100. (utilizar a estrutura FOR). 
 
RESOLUÇAO DO EXERCÍCIO: 
int main() 
{ 
 int x; 
 for (x=101;x<=110; x++) 
 { 
 printf ("%d\n", x); 
} 
getch(); 
} 
 
8. Escreva um algoritmo para imprimir os 10 primeiros números inteiros maiores 
que 100. (utilizar a estrutura WHILE). 
 
RESOLUÇAO DO EXERCÍCIO: 
int main() 
{ 
 int x; 
 x=101; 
 while (x<=110) 
 { 
 printf ("%d\n", x); 
 x++; 
 } 
getch(); 
} 
 
9. Reescreva o exercício anterior utilizando a estrutura DO. 
 
RESOLUÇAO DO EXERCÍCIO: 
int main() 
{ 
 int x; 
 x=101; 
do 
 { 
 printf ("%d\n", x); 
 x++; 
 } while (x<=110); 
getch(); 
} 
 
10. Ler um valor N e imprimir todos os valores inteiros entre 1 (inclusive) e N 
(inclusive). O programa deve testar se o valor N lido é maior do que 1. Caso seja 
menor, o programa deverá permanecer solicitando um novo número N até que o valor 
digitado seja maior do que 1. 
 
RESOLUÇAO DO EXERCÍCIO: 
int main() 
{ 
 int N,x; 
 x=1; 
do 
 { 
 printf ("Digite um Numero:"); 
 scanf ("%i", &N); 
} while (N<1); 
do 
 { 
 printf ("%i", x); 
 x++; 
} while (x<=N); 
getch(); 
} 
 
11. Ler um valor inteiro (aceitar somente valores entre 1 e 10) e escrever a tabuada 
de 1 a 10 do valor lido. (utilizar a estrutura FOR). 
 
RESOLUÇAO DO EXERCÍCIO: 
int main() 
{ 
 int num,mult; 
 do 
 { 
 printf ("Digite um Numero entre 1 e 10:"); 
 scanf ("%i", &num); 
} while (num<1 || num>10); 
for (mult=0;mult<=10;mult++) 
 { 
 printf ("%i X %i = %i\n", num, mult, num*mult); 
 } 
getch(); 
} 
 
12. Ler um valor inteiro (aceitar somente valores entre 1 e 10) e escrever a tabuada 
de 1 a 10 do valor lido. (utilizar a estrutura WHILE). 
 
RESOLUÇAO DO EXERCÍCIO: 
int main() 
{ 
 int num,mult; 
 printf ("Digite um Numero entre 1 e 10:"); 
 scanf ("%i", &num); 
 mult=0; 
 
while (num<1 || num>10) 
{ 
 printf ("Digite um Numero entre 1 e 10:"); 
 scanf ("%i", &num); 
} 
while (mult<=10) 
{ 
printf ("%i X %i = %i\n", num, mult, num*mult); 
mult++; 
} 
getch(); 
} 
 
13. Ler 10 valores e escrever quantos desses valores lidos são NEGATIVOS. 
 
RESOLUÇAO DO EXERCÍCIO: 
int main() 
{ 
int neg,i,x; 
 neg = 0; 
 for (i=1;i<=10;i++) 
 { 
 printf("\nDigite um numero: "); 
 scanf("%d",&x); 
 if (x<0) 
 { 
 neg = neg+1; 
} 
} 
 printf("\n %d valores sao negativos", neg); 
 getch(); 
} 
 
 
14. Ler o número de alunos existentes em uma turma e, após isto, ler a nota destes 
alunos, calcular e escrever a média aritmética dessas notas lidas. 
 
RESOLUÇAO DO EXERCÍCIO: 
int main() 
{ 
int num,i,not,soma; 
 soma = 0; 
 printf("Digite o numero de alunos: \n"); 
 scanf("%d",&num); 
for (i=1; i<=num;i++) 
{ 
 printf ("Digite a nota do aluno: \n"); 
 scanf ("%d", &not); 
 soma = soma+ not; 
} 
 printf("\n a media aritmetica das notas e: %d", soma/num); 
 getch(); 
} 
 
15. Escreva um algoritmo para ler 10 números. Todos os números lidos com valor 
inferior a 40 devem ser somados. Escreva o valor final da soma efetuada. (utilizar a 
estrutura FOR). 
 
RESOLUÇAO DO EXERCÍCIO: 
int main() 
{ 
int num,i,soma; 
 soma = 0; 
 for (i=1;i<=10;i++) 
 { 
 printf("\nDigite um numero: "); 
 scanf("%d",&num); 
if (num<40) 
 { 
 soma = soma+ num; 
} 
} 
 printf("\n a soma dos valores inferiores a 40 e: %d", soma); 
 getch(); 
} 
 
16. Reescreva o exercício anterior utilizando a estrutura WHILE. 
 
RESOLUÇAO DO EXERCÍCIO: 
int main() 
{ 
int num,i,soma; 
 soma = 0; 
 i=1; 
 while (i<=10) 
 { 
 printf("\nDigite um numero: "); 
 scanf("%d",&num); 
 i++; 
if (num<40) 
 { 
 soma = soma+ num; 
} 
} 
 printf("\n a soma dos valores inferiores a 40 e: %d", soma); 
 getch(); 
} 
 
17. A prefeitura de uma cidade deseja fazer uma pesquisa entre seus habitantes. 
Faça um algoritmo para coletar dados sobre o salário e número de filhos de cada 
habitante, e após as leituras, escrever: a) Média de salário da população; b) Média do 
número de filhos; c) Maior salário dos habitantes. 
 
RESOLUÇAO DO EXERCÍCIO: 
int main() 
{ 
int tot_hab, tot_filhos, filhos; 
float tot_sal, max_sal, salario; 
tot_hab=tot_filhos=filhos=0; 
tot_sal=salario=0; 
printf ("digite o num filhos: "); 
scanf ("%d", &filhos); 
max_sal= -1; 
while (filhos >= 0) 
{ 
 printf ("digite o salario: "); 
 scanf ("%f", &salario); 
 tot_hab++; //incrementa total de habitantes 
 tot_filhos = tot_filhos + filhos; 
 tot_sal = tot_sal + salario; 
 if (salario > max_sal) max_sal = salario; 
 
printf ("digite o num filhos: "); 
scanf ("%d", &filhos); 
} 
printf ("med_sal %f\n", tot_sal/tot_hab); 
printf ("med_filhos %f\n", (float)tot_filhos/tot_hab); 
printf ("max_sal %f\n", max_sal); 
getch (); 
} 
 
18. Escreva um algoritmo que imprima as seguintes seqüências de números: (1, 1 
2 3 4 5 6 7 8 9 10)(2, 1 2 3 4 5 6 7 8 9 10) (3, 1 2 3 4 5 6 7 8 9 10) (4, 1 2 3 4 5 6 7 8 9 
10) e assim sucessivamente, até que o primeiro número (antes da vírgula), também 
chegue a 10. 
 
RESOLUÇAO DO EXERCÍCIO: 
int main() 
{ 
 int x, j; 
 for (x=1; x<=10; x++){ 
 printf ("(%d,", x); 
 for (j=1; j<=10; j++) 
 { 
 printf (" %d", j); 
 } 
 printf (")\n"); 
 } 
 getch(); 
 }

Outros materiais