thoga31 Posted January 28, 2012 at 11:53 PM Report #435537 Posted January 28, 2012 at 11:53 PM Um calculador do Teorema de Pitágoras que vai perguntando o que se pretende introduzir, induzindo automaticamente o que se pretende calcular do triângulo rectângulo. Espero que vos seja útil. Falhas em programação: Não utiliza estruturas de decisão encadeadas. program programa_pitagoras; uses crt; procedure pitagoras; var cateto1, cateto2 : real; hipotenusa : real; i : smallint; key, key2 : char; opcoes1 : set of char; begin writeln('PITAGORAS'); writeln; opcoes1 := [#49..#51]; for i:=1 to 2 do begin case i of 1 : begin writeln('Introduzir:'); writeln(' 1 > Cateto 1'); writeln(' 2 > Cateto 2'); writeln(' 3 > Hipotenusa'); repeat key := readkey; until (key in opcoes1); opcoes1 -= [key]; write('Introduza '); case key of #49 : begin repeat write('cateto 1: '); readln(cateto1); until (cateto1>0); end; #50 : begin repeat write('cateto 2: '); readln(cateto2); until (cateto2>0); end; #51 : begin repeat write('hipotenusa: '); readln(hipotenusa); until (hipotenusa>0); end; end; writeln; end; 2 : begin writeln('Introduzir:'); if ([#49] <= opcoes1) then writeln('1 > Cateto 1'); if ([#50] <= opcoes1) then writeln('2 > Cateto 2'); if ([#51] <= opcoes1) then writeln('3 > Hipotenusa') else writeln('4 > Cateto 1 = Cateto 2'); repeat key2 := readkey; until (key2 in opcoes1+[#52]); case key2 of #49 : begin repeat write('Introduza cateto 1: '); readln(cateto1); until (cateto1>0); end; #50 : begin repeat write('Introduza cateto 2: '); readln(cateto2); until (cateto2>0); end; #51 : begin repeat write('hipotenusa: '); readln(hipotenusa); until (hipotenusa>0); end; end; writeln; end; end; end; if ([key,key2] = [#49,#50]) then begin hipotenusa := SQRT( SQR(cateto1) + SQR(cateto2) ); writeln('Hipotenusa: ',hipotenusa:0:3); end; if ([key,key2] = [#49,#51]) then begin cateto2 := SQRT( SQR(hipotenusa) - SQR(cateto1) ); writeln('Cateto 2: ',cateto2:0:3); end; if ([key,key2] = [#50,#51]) then begin cateto1 := SQRT( SQR(hipotenusa) - SQR(cateto2) ); writeln('Cateto 1: ',cateto1:0:3); end; if ([key,key2] = [#51,#52]) then begin cateto1 := hipotenusa / SQRT(2); writeln('Cateto 1 = Cateto 2: ',cateto1:0:3); end; end; begin pitagoras; writeln; write('ENTER para sair... '); readln; end. Disponível na Wiki Cumprimentos, thoga31 👍 Knowledge is free!
nunopicado Posted January 29, 2012 at 12:06 AM Report #435544 Posted January 29, 2012 at 12:06 AM "Um dia em Siracusa Pitágoras disse a seus netos: O quadrado da hipotenusa é igual à soma do quadrado dos catetos!" 😁😕 "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
thoga31 Posted January 29, 2012 at 12:12 AM Author Report #435548 Posted January 29, 2012 at 12:12 AM "Um dia em Siracusa Pitágoras disse a seus netos: O quadrado da hipotenusa é igual à soma do quadrado dos catetos!" 😁😕 Viraste poeta, agora? 😕 Eu à espera de um comentário mais "programacional" e saiu-me Camões, Pessoa & Co. style. 👍 Knowledge is free!
nunopicado Posted January 29, 2012 at 12:40 AM Report #435561 Posted January 29, 2012 at 12:40 AM Camões não sei, deve ser mais Livreiro (as in Prof. Livreiro, o meu prof de matemática do 7º ano, e sim, Livreiro era o nome dele)... Grande moca este prof... Muita vez o apagador saltou às testas dos mais incautos, e não era dos de plástico... Era daqueles com pega em madeira. Lanhos inteiros foram abertos e fechados naquelas aulas! 😕 :confused: Quanto à programação, é um bom exemplo de vários comandos essenciais em Pascal. Quem está a aprender (e quer aprender) pode por cá o olho. Quanto ao ter virado poeta, não é porventura a poesia o alimento da alma? Não é o homem um emaranhado de experiências e vivências sociais, numa amálgama fiel dos desgostos e alegrias que a sociedade lhe incute, tal qual uma flor ao vento que ao ser banhada pelo líquido elemento que lhe dá a vida, se torna forte e viçosa para melhor resistir às intempéries, ou perece na enxurrada numa realidade clara e cruel do que é fraquejar? Bem, vou-me deitar que isto já está a ficar estranho.... hehehe 😁👍 "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
thoga31 Posted January 29, 2012 at 12:46 AM Author Report #435563 Posted January 29, 2012 at 12:46 AM Camões não sei, deve ser mais Livreiro (as in Prof. Livreiro, o meu prof de matemática do 7º ano, e sim, Livreiro era o nome dele)... Grande moca este prof... Muita vez o apagador saltou às testas dos mais incautos, e não era dos de plástico... Era daqueles com pega em madeira. Lanhos inteiros foram abertos e fechados naquelas aulas! 😕 :confused: Quanto à programação, é um bom exemplo de vários comandos essenciais em Pascal. Quem está a aprender (e quer aprender) pode por cá o olho. Quanto ao ter virado poeta, não é porventura a poesia o alimento da alma? Não é o homem um emaranhado de experiências e vivências sociais, numa amálgama fiel dos desgostos e alegrias que a sociedade lhe incute, tal qual uma flor ao vento que ao ser banhada pelo líquido elemento que lhe dá a vida, se torna forte e viçosa para melhor resistir às intempéries, ou perece na enxurrada numa realidade clara e cruel do que é fraquejar? Bem, vou-me deitar que isto já está a ficar estranho.... hehehe 😁👍 Querendo evitar o off-topic, espero ir ainda a tempo de ter pena de vós, alunos do Livreiro que não é livreiro mas sim matemático. E de facto isso já está a sair muito esquisito para estas bandas de programação... Mas muito belo, quando lido 3 vezes com atenção. 😄 O problema é que raros aprendizes metem os olhos nestes exemplos de programação, e aparecem depois aqui com programas de 3K linhas de código onde só 200 são "funcionais" aka não-crt. Enfim. Vou ver se desencanto mais tesouros nas minhas pastas ancestrais, tirando a camada de pó fino e humido de cima delas, descobrindo diamantes dos tempos em que era um mero aprendiz, sedento disso a que chamam, infelizmente de forma mordaz, de conhecimento... E também vou-me deitar, que a tua onda pegou-se-me 👍 Knowledge is free!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now