Thaís Fernandes 0 Denunciar post Postado Abril 7, 2008 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
quitZAUMMM 18 Denunciar post Postado Abril 8, 2008 opa, naum entendo de Pascal, mas te ajudo, posta até onde conseguiw! []'s Compartilhar este post Link para o post Compartilhar em outros sites
Thaís Fernandes 0 Denunciar post Postado Abril 8, 2008 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
Thaís Fernandes 0 Denunciar post Postado Abril 9, 2008 O cabeçalho não aparece e os resultados dão sempre zero! Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Abril 10, 2008 dê uma lida aki: http://www.lsd.ic.unicamp.br/projetos/e-la...scal/aula9.html tente naum usar variaveis globais e sim use passagem de parametros! []'s Compartilhar este post Link para o post Compartilhar em outros sites
Dark_Myth 0 Denunciar post Postado Abril 13, 2008 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
Thaís Fernandes 0 Denunciar post Postado Abril 15, 2008 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
Dark_Myth 0 Denunciar post Postado Abril 17, 2008 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
Thaís Fernandes 0 Denunciar post Postado Abril 28, 2008 pois é, teoricamente assim eu sei, eu só não sei passar pra pascal ;~ se você puder me ajudar eu agradeço :) Compartilhar este post Link para o post Compartilhar em outros sites