Aqui vão alguns exercicios resolvidos!!!
1. Fazer um algoritmo que mostre no video os números pares compreendidos numa faixa que o usuário irá determinar. Após o usuário determinar o valor inicial e final da faixa desejada, verificar se os valores são válidos, ou seja se o numero inicial não é maior que o valor final.
program pares;
var num_inicial, num_final : integer;
begin
writeln (‘qual a faixa inicial’);
read (num_inicial);
wriwteln (‘qual a faixa final’);
read (num_final);
while (num_inicial >= num_final)do
begin
writeln(‘numeros com intervalo invalido’);
writeln (‘qual a faixa inicial novamente’);
read (num_inicial);
writeln (‘qual a faixa final novamente’);
read (num_final);
end;;
while (num_inicial <= num_final)do
begin
if odd (num_inicial) = False then
begin
writekn(num_inicial);
end;
num_inicial := num_inicial +1;
end;
end.
2 - Fazer um programa que calcule o fatorial de um numero positivo. O numero deve ser lido no programa principal e enviado para uma função a qual ira realizar o calculo do fatorial e retorná-lo para o programa principal, onde deverá ser impresso. Faça esse calculo para uma quantidade definida pelo usuário.
Program fatorial;
var
result,n,x:integer;
Procedure Moldura;
Var I :integer;
Begin
For I:=3 to 73 do
Begin
Gotoxy(I,2);
Write(#205);
End;
For I:=3 to 23 do
begin
Gotoxy(74,I);
Write(#186);
End;
For I:=3 to 23 do
begin
Gotoxy(2,I);
Write(#186);
End;
For I:=3 to 73 do
Begin
Gotoxy(I,24);
Write(#205);
End;
End;
function fatorial(n:integer):integer;
var
cont,recebe:integer;
begin
recebe:=1;
for cont:=1 to n do
begin
recebe:=recebe*cont;
end;
fatorial:=recebe;
end;
Begin
moldura;
writeln (' ');
gotoxy (12,3);
writeln ('Quantos calculos de fatorial você deseja fazer?');
gotoxy (12,4);
read (x);
while x>0 do
begin
moldura;
gotoxy (12,5);
writeln ('Entre com um número!');
gotoxy (12,6);
read (n);
result:=fatorial(n);
gotoxy (12,7);
writeln ('O fatorial de: ',n,' ','é = ',result);
gotoxy(12,10);
x:=x-1;
end;
gotoxy (12,8);
writeln ('Fim!');
gotoxy(12,9);
End.
var
result,n,x:integer;
Procedure Moldura;
Var I :integer;
Begin
For I:=3 to 73 do
Begin
Gotoxy(I,2);
Write(#205);
End;
For I:=3 to 23 do
begin
Gotoxy(74,I);
Write(#186);
End;
For I:=3 to 23 do
begin
Gotoxy(2,I);
Write(#186);
End;
For I:=3 to 73 do
Begin
Gotoxy(I,24);
Write(#205);
End;
End;
function fatorial(n:integer):integer;
var
cont,recebe:integer;
begin
recebe:=1;
for cont:=1 to n do
begin
recebe:=recebe*cont;
end;
fatorial:=recebe;
end;
Begin
moldura;
writeln (' ');
gotoxy (12,3);
writeln ('Quantos calculos de fatorial você deseja fazer?');
gotoxy (12,4);
read (x);
while x>0 do
begin
moldura;
gotoxy (12,5);
writeln ('Entre com um número!');
gotoxy (12,6);
read (n);
result:=fatorial(n);
gotoxy (12,7);
writeln ('O fatorial de: ',n,' ','é = ',result);
gotoxy(12,10);
x:=x-1;
end;
gotoxy (12,8);
writeln ('Fim!');
gotoxy(12,9);
End.