silvio_cezar 0 Denunciar post Postado Novembro 11, 2006 Pessoal o professor de lógica, pediu para que fizessemos o seguinte exercício.Ler 3 valores ( Considere que não serão informados valores iguais) e escrever a soma dos dois maiores.Criei o algoritmo, más não estou conseguindo roda-lo no turbo pascal.Alguém poderia por favor analisar este algoritmo e ver onde está o erro, pois eu rodo ele no turbo pascal e o mesmo não me apresenta o resultado.program soma_dois_maiores; uses crt;var x, y, z : integer;beginx := 0;y := 0;z := 0;clrscr;writeln;write ('Informe um valor: ');readln (x);writeln;write ('Informe outro valor: ');readln (y);writeln;write ('Informe outro valor: ');readln (z);writeln;if (x > y) and (y > z) thenwriteln ('A soma dos dois maiores eh: ', x+y)elseif (z > y) and (y > x) thenwriteln ('A soma dos dois maiores eh: ', z+y)elsewriteln ('A soma dos dois maiores eh: ', x+z);writeln;end.endPreciso muito saber se está certo, pois caiu ele na prova de hoje.Muito obrigado SilvioSilvio Compartilhar este post Link para o post Compartilhar em outros sites
Palc 0 Denunciar post Postado Novembro 11, 2006 Situações possíveis (6 pela análise combinatória!):x y z1 2 3 >>> ok, nega 1º. 'if' e entra no 2º. 'if'1 3 2 >>> FALHA, nega os 2 if e resulta 1+22 1 3 >>> ok, nega os 2 'if' e resulta 2+32 3 1 >>> FALHA, nega os 2 'if' e resulta 2+13 1 2 >>> ok, nega os 2 'if' e resulta 3+23 2 1 >>> ok, entra no 1º. 'if'Agora é com você ;)DICA: seus testes 'IF' devem compreender as 6 situações ! Compartilhar este post Link para o post Compartilhar em outros sites
silvio_cezar 0 Denunciar post Postado Novembro 12, 2006 valew cara Compartilhar este post Link para o post Compartilhar em outros sites
Sopiseiro 0 Denunciar post Postado Novembro 13, 2006 Vlew Compartilhar este post Link para o post Compartilhar em outros sites
Amoroso 0 Denunciar post Postado Novembro 26, 2006 Vlewbom acho que você já fez mas vou mandar o cod:Program ex_f;uses crt;varx1, x2, x3:integer; function maior (n1, n2, n3:integer):integer; var soma:integer; begin soma := 0; maior:=n1; if (maior>n2) then begin soma := maior+n3; maior := soma; end else if (maior>n3) then begin soma := maior+n2; maior := soma; end else if (n2>maior) then begin soma := n2+n3; maior := soma; end else if (n2>n3) then begin soma := n2+n1; maior := soma; end else if (n3>n2) then begin soma := n3+maior; maior := soma; end else if (n3>maior) then begin soma := n3+n2; maior := soma; end ; ; ; ; ; ; end; begin clrscr; write ('Digite n1:'); readln (x1); write ('Digite n2:'); readln (x2); write ('Digite n3:'); readln (x3); write ('A soma do maior valor ‚ = : ',maior (x1, x2, x3));readln;end. Compartilhar este post Link para o post Compartilhar em outros sites
Serginho Monteiro 0 Denunciar post Postado Novembro 29, 2006 nossa que tanto de if... ordena isso ai e soma os dois primeiros.. Compartilhar este post Link para o post Compartilhar em outros sites
Giovani 104 Denunciar post Postado Novembro 29, 2006 ordena isso ai e soma os dois primeiros.. Com certeza seria a melhor solução! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites