sábado, 26 de junho de 2010

Triângulo com Pascal

Este algorítmo identifica um tipo de triângulo a partir dos dados inseridos pelo usuário e imprime na tela o tipo de triângulo com equilátero, isósceles ou escaleno.

PSEUDO LINGUAGEM:
Programa triangulo
variáveis lado1,lado2,lado3: real
início
leia(lado1)
leia(lado2)
leia(lado3)
se (lado1 > (lado2+lado3)) ou(lado2 > lado1+lado3) ou (lado3 > (lado1+lado2)) então
imprima(Os valores informados nao formam um triângulo)
fim se
senão
se (lado1=lado2) e (lado2=lado3) então
imprima(Este é um triângulo equilatero)
fim se
senão
se (lado1=lado2) ou (lado1=lado3) ou (lado2=lado3) então
imprima('Este é um triângulo isósceles)
fim se
senão
imprima(Este é um triângulo escaleno)
fim


PASCAL:
Program triangulo;
var
lado1,lado2,lado3: real;
Begin
write('Digite o valor do lado 1: '); //Entrada de dados do usuário.
readln(lado1); //Lê os dados inseridos pelo usuário e atribui como valor da variável declarada.
write('Digite o valor do lado 2: ');
readln(lado2);
write('Digite o valor do lado 3: ');
readln(lado3);
if (lado1 > (lado2+lado3)) or (lado2 > lado1+lado3) or (lado3 > (lado1+lado2)) then //Testa os valores dados para ver se formam ou não um triângulo.
begin
clrscr; //Este comando limpa a tela.
writeln('Os valores informados nao formam um triângulo');
end
else
if (lado1=lado2) and (lado2=lado3) then
begin
clrscr;
writeln('Este é um triângulo equilátero');
end
else
if (lado1=lado2) or (lado1=lado3) or (lado2=lado3) then
begin
clrscr;
writeln('Este é um triângulo isosceles');
end
else
begin //se nao for nenhum dos 2 acima significa que este triângulo é o que sobrou, no caso, escaleno, pois já fizemos os testes para as outras possibilidades.
clrscr;
writeln('Este é um triângulo escaleno');
end;
End.


Para lembrar!

O Triângulo é um polígono. Os tipos de triângulos são:
Equilátero: É um triângulo que possui 3 lados e 3 ângulos iguais.
Isósceles: Possui dois 2 e 2 ângulos iguais.  
Escaleno: Possui 3 lados e ângulos diferentes.

Ex.: Lado 1= 30cm, Lado 2= 30cm e Lado 3= 30cm Triângulo Equilátero (três lados e três ângulos iguais).

Número de Euler com Pascal

Não é muito complicado, mas para quem está começando adaptar e calcular uma aproximação do Número de Euler pode dar muito trabalho. Aqui vai uma solução bem simples para um algorítmo que calcula uma aproximação definida pelo usuário para o Numero de Euler.

PSEUDO LINGUAGEM:
programa Euler
variáveis n, fator, iter: inteiro e:real
início leia (n)
fator <-1 e <-0 para iter <-1 até n faça fator <- fator * iter e<-e+(1/fator) fim para escreva (e) fim


PASCAL:
Program Euler;
Var num,fator,iter:integer; e:real;
//define variavel "e" como real
Begin
write('Entre com um numero: ');
readln(num);
fator:=1;
e:=1;
for iter:=1 to num do
begin //inicia o bloco "for"
fator:=fator*iter; //multiplica as variaveis "fator" e "iter" e atribui o resultado para a variavel "fator"
e:=e+(1/fator); //divide 1 pela variavel "fator", soma com a variavel "e" e atribui o resultado a variavel "e"
end;
writeln('Resultado: ',e);
End.


Para lembrar!

O Número de Euler é calculado da seguinte forma: É feito o fatorial do denominador, depois dividido pelo numerador e em somado ao resultado anterior.




Ex.: simulando a segunda iteração numa aproximação de Euler (e=1)+(1/2=0,5)=1,5

Fatorial com Pascal

Aqui vai uma solução bem simples para um algorítmo de fatorial. Ele resolve o problema escrevendo menos e facilitando a compreensão. Definindo o valor da váriavel "fator" para 1(um), eliminamos a necessidade do "if" caso o número escolhido seja 0(zero).

PSEUDO LINGUAGEM:
programa fatorial
variáveis n, fator, iter: inteiro
início leia (n)
fator <-1 para iter <-1 até n faça fator <- fator * iter escreva (fator)
fim


PASCAL:
program fatorial;
var n, fator, iter: integer;
begin write('Digite um numero: ');
readln(n);
fator:=1;
for iter:=1 to n do fator:=fator*iter;
writeln('Resultado: ',fator);
end.


Para lembrar!
Fatorial é um produto que tem seus fatores em progressão aritmética. Ou seja, até "n"(onde n é o número a ser fatorado) os números são multiplicados em sequência, a partir de 1 até o número escolhido.
Ex.: n=8 1x2x3x4x5x6x7x8=40320