Você está na página 1de 16

17.

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;
uses crt;

var i, a, cont: integer;

begin
clrscr;
cont:=0;
for i:= 1 to 5 do
    begin
    write('Informe um valor: ');
    readln(a);
    if a<0 then cont:=cont+1;
    end;
writeln('Existem ',cont,' valores negativos.');
readkey;
end.

18. Escrever um algoritmo/programa em Pascal que escreve os números pares


entre 100 e 200.

program ex18;
uses crt;

var i: integer;

begin
clrscr;
writeln('Os numeros pares de 100 a 200 sao: ');
for i:= 100 to 200 do
    begin
    if i mod 2 = 0 then
       begin
       write(i:8);
       end;
    end;
readkey;
end.
19. Escrever um algoritmo/programa em Pascal que escreve a soma dos números
entre 0 e 100.

program ex19;
uses crt;

var i, soma: integer;

begin
clrscr;
soma:=0;
for i:= 0 to 100 do
    begin
    soma:= soma + i;
    end;
writeln('A soma dos numeros de 0 a 100 e: ', soma);
readkey;
end.

20. Escrever um algoritmo/programa em Pascal que escreve a soma dos números


pares entre 0 e 100.

program ex20;
uses crt;

var i, soma: integer;

begin
clrscr;
soma:=0;
for i:= 0 to 100 do
    begin
    if i mod 2 = 0 then
       begin
       soma:= soma + i;
       end;
    end;
writeln('A soma dos numeros pares de 0 a 100 e: ', soma);
readkey;
end.

21. Escrever um algoritmo/programa em Pascal que escreve a soma dos números


múltiplos de 7 entre 100 e 200.
program ex21;
uses crt;

var i, soma: integer;

begin
clrscr;
soma:=0;
for i:= 100 to 200 do
    begin
    if i mod 7 = 0 then
       begin
       soma:= soma + i;
       end;
    end;
writeln('A soma dos numeros multiplos de 7 de 100 a 200 e: ', soma);
readkey;
end.

22. 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;
uses crt;

var i, soma: integer;

begin
clrscr;
soma:=0;
for i:= 100 to 200 do
    begin
    if i mod 13 <> 0 then
       begin
       soma:= soma + i;
       end;
    end;
writeln('A soma dos numeros nao multiplos de 13 de 100 a 200 e: ', soma);
readkey;
end.
23. 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;
uses crt;

var i, x, cont1, cont2, cont3, cont4: integer;

begin
clrscr;
cont1:=0; cont2:=0; cont3:=0; cont4:=0;
for i:= 1 to 20 do
    begin
    write('Informe um valor (0-100): ');
    readln(x);
    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;
    end;
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.');
readkey;
end.

24. 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;
uses crt;

var
i, x, cont1, cont2, cont3, cont4, soma1, soma2, soma3, soma4: integer;
m1, m2, m3, m4: real;

begin
clrscr;
cont1:=0; cont2:=0; cont3:=0; cont4:=0;
soma1:=0; soma2:=0; soma3:=0; soma4:=0;
for i:= 1 to 20 do
    begin
    write('Informe um valor (0-100): ');
    readln(x);
    if (x>=0) and (x<=25)  then
       begin
       cont1:=cont1 + 1;
       soma1:=soma1 + x;
       m1:=soma1 / cont1;
       end;
    if (x>25) and (x<=50)  then
       begin
       cont2:=cont2 + 1;
       soma2:=soma2 + x;
       m2:=soma2 / cont2;
       end;
    if (x>50) and (x<=75)  then
       begin
       cont3:=cont3 + 1;
       soma3:=soma3 + x;
       m3:=soma3 / cont3;
       end;
    if (x>75) and (x<=100) then
       begin
       cont4:=cont4 + 1;
       soma4:=soma4 + x;
       m4:=soma4 / cont4;
       end;
    end;
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);
readkey;
end.

25. Escrever um algoritmo/programa em Pascal que lê um número e calcula e


escreve quantos divisores ele possui.
program ex25;
uses crt;

var x, i, cont: integer;

begin
clrscr;
write('Informe um numero: ');
readln(x);
cont:=0;
for i:= 1 to x do
    begin
    if x mod i = 0 then cont:=cont + 1;
    end;
writeln('O numero ', x, ' possui ', cont, ' divisores.');
readkey;
end.

26. Escrever um algoritmo/programa em Pascal que lê um número e calcula e


escreve o seu fatorial.

program ex26;
uses crt;

var x, i: integer;
fat: longint;

begin
clrscr;
write('Informe um numero: ');
readln(x);
fat:=1;
for i:= 1 to x do
    begin
    fat:=fat * i;
    end;
writeln('O fatorial de ', x, ' e: ', fat);
readkey;
end.

27. Escrever um algoritmo/programa em Pascal que lê um número e escreva se ele


"é primo" ou "não é primo"
program ex27;
uses crt;

var x, i, cont: integer;

begin
clrscr;
write('Informe um numero: ');
readln(x);
cont:=0;
for i:= 1 to x do
    begin
    if x mod i = 0 then cont:=cont + 1;
    end;
if cont<=2 then
   begin
   writeln('O numero ', x, ' e primo.');
   end
else
    begin
    writeln('O numero ', x, ' nao e primo.');
    end;
readkey;
end.

28. 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;
uses crt;

var i, soma: integer;

begin
clrscr;
soma:=0;
writeln('Os numeros multiplos de 7 de 100 a 200 sao:');
for i:= 100 to 200 do
    begin
    if i mod 7 = 0 then
       begin
       write(i:8);
       soma:= soma + i;
       end;
    end;
writeln;
writeln;
writeln('A soma dos numeros multiplos de 7 de 100 a 200 e: ', soma);
readkey;
end.

29. Escrever um algoritmo/programa em Pascal que lê um número não conhecido


de valores, um de cada vez, e conta quantos deles estão em  cada um dos intervalos 
[0, 50], (50, 100], (100,200]. O programa deve encerrar quando for informado um
valor fora dos intervalos.

Questão do Trabalho. 

30. Escrever um algoritmo/programa em Pascal que lê um número não


determinado de valores para m, todos inteiros e positivos, um de cada vez. Se m for
par, verificar quantos divisores possui e  escrever esta informação. Se m for ímpar
e menor do que 12 calcular e escrever o fatorial de m. Se m for ímpar e maior ou
igua1 a 12 calcular e escrever a soma dos inteiros de l até m.

Questão do Trabalho.

31. Escrever um algoritmo/programa em Pascal que lê um número não


determinados de valores a, todos inteiros e positivos, um de cada vez, e calcule e
escreva a média aritmética dos valores lidos, a quantidade de valores pares, a
quantidade de valores impares, a percentagem de valores pares e a percentagem de
valores ímpares.

Questão do Trabalho.

32. 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;
uses crt;

var x, i, cont: integer;

begin
clrscr;
for x:= 100 to 200 do
    begin
    cont:=0;
    for i:= 1 to x do
        begin
        if x mod i = 0 then cont:=cont + 1;
        end;
    if cont<=2 then
       begin
       writeln('O numero ', x, ' e primo.');
       end;
    end;
readkey;
end.

33. 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;
uses crt;

var i, a, b, c, d, aux: integer;

begin
clrscr;
for i:= 1 to 5 do
    begin
    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
       begin
       aux := a;
       a   := b;
       b   := aux;
       end;
    if a<c then
       begin
       aux := a;
       a   := c;
       c   := aux;
       end;
    if a<d then
       begin
       aux := a;
       a   := d;
       d   := aux;
       end;
    if b<c then
       begin
       aux := b;
       b   := c;
       c   := aux;
       end;
    if b<d then
       begin
       aux := b;
       b   := d;
       d   := aux;
       end;
    if c<d then
       begin
       aux := c;
       c   := d;
       d   := aux;
       end;
    writeln('Em ordem decrescente: ', a:6, b:6, c:6, d:6);
    readkey;
    end;
end.

34. 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;
uses crt;

var i, j, n: integer;
begin
clrscr;
for i:= 1 to 10 do
    begin
    write('Informe um n£mero: ');
    readln(n);
    for j:= 1 to n do
        begin
        writeln(j, ' x ', n, ' = ', j * n);
        end;
    end;
readkey;
end.

35. 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;
uses crt;

var i, j, a, b, aux: integer;

begin
clrscr;
for i:= 1 to 5 do
    begin
    write('Informe um n£mero: ');
    readln(a);
    write('Informe um n£mero: ');
    readln(b);
    if a>b then
       begin
       aux:=a;
       a:=b;
       b:=aux;
       end;
    for j:= a to b do
        begin
        if j mod 2 = 0 then writeln(j);
        end;
    end;
readkey;
end.

36. 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;
uses crt;

var ult, pen, nt, i: integer;

begin
clrscr;
writeln('Termos Serie Fibonacci:');
pen:=0;
ult:=1;
writeln(pen);
writeln(ult);
for i:= 1 to 8 do
    begin
    nt:=ult + pen;
    writeln(nt);
    pen:=ult;
    ult:=nt;
    end;
readkey;
end.

39. Escrever um algoritmo/programa em Pascal que lê 5 conjuntos de 2 valores, o


primeiro representando o número de um aluno e o segundo representando a sua
altura em centímetros. Encontrar o aluno mais alto e o mais baixo e escrever seus
números, suas alturas e uma mensagem dizendo se é o mais alto ou o mais baixo.

Questão do Trabalho.

40. 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;
uses crt;

var cont, x, soma, i: integer;

begin
clrscr;
cont:=0;
x:=0;
writeln('Os numeros perfeitos sao: ');
repeat
      x:=x+1;
      soma:=0;
      for i:= 1 to x-1 do
          begin
          if x mod i = 0 then soma:=soma + i;
          end;
      if soma = x then
         begin
         writeln(x);
         cont:=cont+1;
         end
until cont=4;
writeln('Pressione qualquer tecla para finalizar...');
readkey;
end.

41. Escrever um algoritmo/programa em Pascal que lê 50 valores, um de cada vez,


e encontra e escreve o maior deles.

program ex41;
uses crt;

var i, x, m: integer;

begin
clrscr;
for i:= 1 to 50 do
    begin
    write('Informe o ',i,'.o valor: ');
    readln(x);
    if i=1 then
       begin
       m:=x;
       end;
    if x > m then
       begin
       m:=x;
       end;
    end;
writeln('O maior valor e: ', m);
readkey;
end.

42. 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;
uses crt;

var
i: integer;
begin
clrscr;
for i:= 1000 to 1999 do
    begin
    if i mod 11 = 5 then write(i:8);
    end;
readkey;
end.

43. Escrever um algoritmo/programa em Pascal que lê um valor N e calcula e


escreve os 20 primeiros termos da série: 1 + 1/x2  + 1/x3 + 1/x4 + ...

program ex43;
uses crt;

var
x, i: integer;
t, soma: real;
begin
clrscr;
soma:=0;
write('Informe um valor: ');
readln(x);
writeln('Termos:');
t:=1;
writeln(t:0:8);
soma:=soma+t;
for i:= 2 to 20 do
    begin
    t:= 1/ (exp(ln(x)*i));
    writeln(t:0:8);
    soma:=soma+t;
    end;
writeln('A soma e: ', soma:0:8);
readkey;
end.

44. Escrever um algoritmo/programa em Pascal que calcula e escreve o  produto


dos números primos entre 92 e 1478.

Questão do Trabalho.

45. 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;
uses crt;

var x, i, nro: integer;


begin
clrscr;
write('Informe um numero: ');
readln(x);
nro:=-1;
for i:= 1 to x do
    begin
    write(nro:4);
    if i mod 2 <> 0 then
       begin
       nro:=nro+1;
       end
    else
        begin
        nro:=nro+5;
        end;
    end;
readkey;
end.

46. Supondo que a população de um país A seja da ordem de 90.000.000 de


habitantes com uma taxa anual de crescimento de 3,1% e que a população de um
país B seja de 200.000.000 de habitantes com uma taxa anua1 de crescimento de
1,5%, escrever um algoritmo/programa em Pascal que calcula quantos anos serão
necessários para que a população do país A ultrapasse a do país B, mantidas as
taxas atuais de crescimento.

Questão do Trabalho.

Você também pode gostar