ENGENHARIA DE PRODUÇÃO LISTA RESOLVIDA PROF. Menezes. DISCIPLINA : ICCII TURMAS : 22431N / 22432N 01. Escrever um algoritmo/programa em Pascal que lê 5 valores para a, um de cada vez, e conta quantos destes valores são negativos, escrevendo esta informação. program ex17; var i, a, cont: integer; cont:=0; for i:= 1 to 5 do write('informe um valor: '); readln(a); if a<0 then cont:=cont+1; writeln('existem ',cont,' valores negativos.'); 02. Escrever um algoritmo/programa em Pascal que escreve os números pares entre 100 e 200. program ex18; var i: integer; writeln('os numeros pares de 100 a 200 sao: '); for i:= 100 to 200 do if i mod 2 = 0 then write(i:8);
03. Escrever um algoritmo/programa em Pascal que escreve a soma dos números entre 0 e 100. program ex19; var i, soma: integer; soma:=0; for i:= 0 to 100 do soma:= soma + i; writeln('a soma dos numeros de 0 a 100 e: ', soma); 04. Escrever um algoritmo/programa em Pascal que escreve a soma dos números pares entre 0 e 100. program ex20; var i, soma: integer; soma:=0; for i:= 0 to 100 do if i mod 2 = 0 then soma:= soma + i; writeln('a soma dos numeros pares de 0 a 100 e: ', soma);
05. Escrever um algoritmo/programa em Pascal que escreve a soma dos números múltiplos de 7 entre 100 e 200. program ex21; var i, soma: integer; soma:=0; for i:= 100 to 200 do if i mod 7 = 0 then soma:= soma + i; writeln('a soma dos numeros multiplos de 7 de 100 a 200 e: ', soma); 06 Escrever um algoritmo/programa em Pascal que escreve a soma dos números que não são múltiplos de 13 entre 100 e 200. program ex22; var i, soma: integer; soma:=0; for i:= 100 to 200 do if i mod 13 <> 0 then soma:= soma + i; writeln('a soma dos numeros nao multiplos de 13 de 100 a 200 e: ', soma);
07. Escrever um algoritmo/programa em Pascal que lê 20 valores, um de cada vez, e conta quantos deles estão em cada um dos intervalos [0, 25], (25, 50], (50, 75], (75, 100], escrevendo esta informação program ex23; var i, x, cont1, cont2, cont3, cont4: integer; cont1:=0; cont2:=0; cont3:=0; cont4:=0; for i:= 1 to 20 do write('informe um valor (0-100): '); if (x>=0) and (x<=25) then cont1:=cont1 + 1; if (x>25) and (x<=50) then cont2:=cont2 + 1; if (x>50) and (x<=75) then cont3:=cont3 + 1; if (x>75) and (x<=100) then cont4:=cont4 + 1; writeln('no intervalo 0-25 existem ', cont1, ' numeros.'); writeln('no intervalo 26-50 existem ', cont2, ' numeros.'); writeln('no intervalo 51-75 existem ', cont3, ' numeros.'); writeln('no intervalo 76-100 existem ', cont4, ' numeros.'); 08. Escrever um algoritmo/programa em Pascal semelhante ao anterior que calcula as médias aritméticas de cada intervalo e as escreve, juntamente com o número de valores de cada intervalo. program ex24; var i, x, cont1, cont2, cont3, cont4, soma1, soma2, soma3, soma4: integer; m1, m2, m3, m4: real; cont1:=0; cont2:=0; cont3:=0; cont4:=0; soma1:=0; soma2:=0; soma3:=0; soma4:=0; for i:= 1 to 20 do
write('informe um valor (0-100): '); if (x>=0) and (x<=25) then cont1:=cont1 + 1; soma1:=soma1 + x; m1:=soma1 / cont1; if (x>25) and (x<=50) then cont2:=cont2 + 1; soma2:=soma2 + x; m2:=soma2 / cont2; if (x>50) and (x<=75) then cont3:=cont3 + 1; soma3:=soma3 + x; m3:=soma3 / cont3; if (x>75) and (x<=100) then cont4:=cont4 + 1; soma4:=soma4 + x; m4:=soma4 / cont4; writeln('no intervalo 0-25 existem ', cont1, ' numeros e a media e: ', m1:0:2); writeln('no intervalo 26-50 existem ', cont2, ' numeros e a media e: ', m2:0:2); writeln('no intervalo 51-75 existem ', cont3, ' numeros e a media e: ', m3:0:2); writeln('no intervalo 76-100 existem ', cont4, ' numeros e a media e: ', m4:0:2); 09. Escrever um algoritmo/programa em Pascal que lê um número e calcula e escreve quantos divisores ele possui. program ex25; var x, i, cont: integer;
write('informe um numero: '); cont:=0; for i:= 1 to x do if x mod i = 0 then cont:=cont + 1; writeln('o numero ', x, ' possui ', cont, ' divisores.'); 10. Escrever um algoritmo/programa em Pascal que lê um número e calcula e escreve o seu fatorial. program ex26; var x, i: integer; fat: longint; write('informe um numero: '); fat:=1; for i:= 1 to x do fat:=fat * i; writeln('o fatorial de ', x, ' e: ', fat); 11. Escrever um algoritmo/programa em Pascal que lê um número e escreva se ele "é primo" ou "não é primo" program ex27; var x, i, cont: integer;
write('informe um numero: '); cont:=0; for i:= 1 to x do if x mod i = 0 then cont:=cont + 1; if cont<=2 then writeln('o numero ', x, ' e primo.'); end else writeln('o numero ', x, ' nao e primo.'); 12. Escrever um algoritmo/programa em Pascal que escreve os números múltiplos de 7 entre 100 e 200, bem como a soma destes números. program ex28; var i, soma: integer; soma:=0; writeln('os numeros multiplos de 7 de 100 a 200 sao:'); for i:= 100 to 200 do if i mod 7 = 0 then write(i:8); soma:= soma + i; writeln; writeln; writeln('a soma dos numeros multiplos de 7 de 100 a 200 e: ', soma);
13. Escrever um algoritmo/programa em Pascal que escreve os números primos entre 100 e 200, bem como a soma destes números. program ex32; var x, i, cont: integer; for x:= 100 to 200 do cont:=0; for i:= 1 to x do if x mod i = 0 then cont:=cont + 1; if cont<=2 then writeln('o numero ', x, ' e primo.'); 14. Escrever um algoritmo/programa em Pascal que lê 5 conjuntos de 4 valores a, b, c, d, um conjunto por vez e os escreve assim como foram lidos. Em seguida, ordene-os em ordem decrescente e escreva-os novamente. program ex33; var i, a, b, c, d, aux: integer; for i:= 1 to 5 do write('informe um valor: '); readln(a); write('informe um valor: '); readln(b); write('informe um valor: '); readln(c); write('informe um valor: '); readln(d);
writeln('numeros digitados: ', a:6, b:6, c:6, d:6); if a<b then aux := a; a := b; b := aux; if a<c then aux := a; a := c; c := aux; if a<d then aux := a; a := d; d := aux; if b<c then aux := b; b := c; c := aux; if b<d then aux := b; b := d; d := aux; if c<d then aux := c; c := d; d := aux; writeln('em ordem decrescente: ', a:6, b:6, c:6, d:6); 15. Escrever um algoritmo/programa em Pascal que lê 10 valores para n, um de cada vez, todos inteiros e positivos, e para cada n lido, escreva a tabuada de 1 até n de n.
program ex34; var i, j, n: integer; for i:= 1 to 10 do write('informe um n mero: '); readln(n); for j:= 1 to n do writeln(j, ' x ', n, ' = ', j * n); 16. Escrever um algoritmo/programa em Pascal que lê 5 pares de valores a, b, todos inteiros e positivos, um par de cada vez, e com a < b, e escreve os inteiros pares de a até b, incluindo o a e b se forem pares. program ex35; var i, j, a, b, aux: integer; for i:= 1 to 5 do write('informe um n mero: '); readln(a); write('informe um n mero: '); readln(b); if a>b then aux:=a; a:=b; b:=aux; for j:= a to b do if j mod 2 = 0 then writeln(j);
17. A série de Fibonacci tem como dados os 2 primeiros termos da série que são respectivamente 0 e 1. A partir deles, os demais termos são construídos pela seguinte regra: tn = tn-1 + tn-2. Escrever um algoritmo/programa em Pascal que gera os 10 primeiros termos da Série de Fibonacci e calcula e escreve a soma destes termos. program ex36; var ult, pen, nt, i: integer; writeln('termos Serie Fibonacci:'); pen:=0; ult:=1; writeln(pen); writeln(ult); for i:= 1 to 8 do nt:=ult + pen; writeln(nt); pen:=ult; ult:=nt; 18. Escrever um algoritmo/programa em Pascal que gera e escreve os 5 primeiros números perfeitos. Um número perfeito é aquele que é igual a soma dos seus divisores. (Ex.: 6 = l + 2 + 3; 28 = 1 + 2 + 4 + 7 + 14 etc.). program ex40; var cont, x, soma, i: integer; cont:=0; x:=0; writeln('os numeros perfeitos sao: ');
repeat x:=x+1; soma:=0; for i:= 1 to x-1 do if x mod i = 0 then soma:=soma + i; if soma = x then writeln(x); cont:=cont+1; end until cont=4; writeln('pressione qualquer tecla para finalizar...'); 19. Escrever um algoritmo/programa em Pascal que lê 50 valores, um de cada vez, e encontra e escreve o maior deles. program ex41; var i, x, m: integer; for i:= 1 to 50 do write('informe o ',i,'.o valor: '); if i=1 then m:=x; if x > m then m:=x; writeln('o maior valor e: ', m);
20. Escrever um algoritmo/programa em Pascal que gera os números de 1000 a 1999 e escreve aqueles que divididos por 11 dão um resto igual a 5. program ex42; var i: integer; for i:= 1000 to 1999 do if i mod 11 = 5 then write(i:8); 21. Escrever um algoritmo/programa em Pascal que lê um valor N e calcula e escreve os 20 primeiros termos da série: 1 + 1/x 2 + 1/x 3 + 1/x 4 +... program ex43; var x, i: integer; t, soma: real; soma:=0; write('informe um valor: '); writeln('termos:'); t:=1; writeln(t:0:8); soma:=soma+t; for i:= 2 to 20 do t:= 1/ (exp(ln(x)*i)); writeln(t:0:8); soma:=soma+t; writeln('a soma e: ', soma:0:8);
22. Escrever um algoritmo/programa em Pascal que lê N, inteiro e positivo e calcula e escreve o termo de ordem N da sucessão abaixo: ordem: 1 2 3 4 5 6 7 8... sucessão: -1 0 5 6 11 12 17 18... program ex45; var x, i, nro: integer; write('informe um numero: '); nro:=-1; for i:= 1 to x do write(nro:4); if i mod 2 <> 0 then nro:=nro+1; end else nro:=nro+5;