Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thaís Fernandes

Problemas com Pascal

Recommended Posts

Oi, eu sou iniciante em Pascal e preciso fazer um programa em que o usuário dê um valor para o ângulo de um triângulo retângulo e depois um de seus catetos e o programa tem que informar o valor do outro cateto e o da hipotenusa.

É o segundo trabalho que eu faço, o primeiro foi bem simples, só tinha que dar o valor da hipotenusa a partir de 2 catetos e eu consegui, mas estou com problemas com esse...

Será que alguém pode me ajudar? Preciso entregar ese trabalho dia 15/04/2008 ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa, naum entendo de Pascal, mas te ajudo, posta até onde conseguiw!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Program TS2;

 

//-----------Var------------

 

var cat1, cat2, hip, ang: real;

 

//-----------Functions-----------

 

Function pedeang: real;

Begin

write('Dê o valor do ângulo oposto a esse cateto: ');

readln(ang);

 

End;

 

Function pedecat1: real;

Begin

write('Dê o valor do cateto do triângulo: ');

readln(cat1);

End;

 

Function calchip: real;

Begin

hip:=cat1/sin(ang*3.14159265/180);

End;

 

Function calccat2: real;

Begin

cat2:= sqrt((hip*hip)-(cat1*cat1));

End;

 

Function Termina: boolean;

var SN: String;

begin

writeln('Deseja terminar? [S/N]');

readln(SN);

if (SN = 'S') or (SN = 's') then Termina := True

else Termina := False;

end;

 

//------------Procedures------------

 

Procedure Cabecalho;

begin

writeln('Universidade do Estado do Rio de Janeiro');

writeln('Thaís Fernandes do Nascimento - Mat: 0032211');

writeln('Professor: José Roberto Lacerda - Turma: 8');

writeln(' ');

end;

 

Procedure exibe_resp;

Begin

writeln(' ');

writeln('O valor do segundo cateto é: ',cat2:0:2);

writeln('O valor da hipotenusa é: ',hip:0:2);

writeln(' ');

End;

 

begin

{repeat}

while Termina = false do

begin

cat1 := pedecat1;

ang := pedeang;

hip := calchip;

cat2 := calccat2;

exibe_resp;

end;

 

 

End.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Talvez um dos motivos pelos quais você não consegue resolver o exercício seja a imprecisão do mesmo, no caso uma questão matemática. Por exemplo, o usuário fornece a medida de um cateto e de um ângulo (obviamente um dos ângulos agudos) do triângulo retângulo. Mas não se sabe se o ângulo fornecido é oposto ou adjacente ao cateto fornecido, informação necessária na solução do problema, e portanto também na elaboração do programa.

 

O problema não diz qual a posição do ângulo no triângulo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, dizia que era o ângulo oposto, mas esse trabalho eu ja consegui fazer, obrigada :)

 

agora eu tenho que fazer uma calculadora que calcule soma, subtração, divisão, multiplicação, resto da divisão, radiciação e potenciação usando só + e -

acho que o problema dessa calculadora não vai ser nem o pascal e sim a matemática ._.

se alguém souber fazer a multiplicação, a divisão, a radiciação e a potenciação por favor me ajude i.i

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ora, não é difícil.

 

function MULTIPLICACAO(A:real,B:real):real;
   var
	  I,SOMA : integer;

   begin
	  SOMA := 0
	  for I := 1 to abs(A)
		 do SOMA := SOMA+abs(B);
	  if ((A>0) and (B<0)) or ((A<0) and (B>0))
		 then SOMA := (-1)*SOMA;
	  MULTIPLICACAO := SOMA
   end.

Se nem o SOMA := (-1)*SOMA fpr possível, basta fazer SOMA := SOMA-SOMA-SOMA.

 

As demais operações também não são difíceis.

 

DIVISÃO(A/B): retirar de A o número B q vezes (quociente). O que sobrar, é o resto.

 

Pense no resto agora, se não conseguir, posso ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.