uma pequna ajuda sobre o free pascal

Iniciado por felipeett, 29 de Novembro de 2007, 14:50

tópico anterior - próximo tópico

felipeett

estou começando a programar e instalei o free pascal no linux pra começar
mais esta dando um pequena erro na hr d mostrar o resultado
aparentemente parece q esta td certo com o programa
mais na hr d da o resultado ele passa o endereço do resultado. Vou mostrar o q estou fazendo e como ta ficando o resultado

program exercicio1;
uses crt;
var
    peso, media, maiorp, menorp, somaph, somapt: real;
    sexo: char;
    contador, contadorph: integer;
begin
     clrscr;
     contadorph := 0;
     somapt := 0;
     somaph := 0;
     maiorp := 0;
     menorp := 99;
     for contador := 1 to 23 do
     begin
     writeln ('Digite o peso do aluno');
     readln (peso);
     somapt := somapt + peso;
     writeln ('Digite o sexo do aluno, "M" para Masculino e "F" para Feminino');
     readln (sexo);
     sexo := upcase (sexo);
     if peso < menorp then
        menorp := peso;
     if peso > maiorp then
        maiorp := peso;
     if sexo = ('M') then
       somaph := somaph + peso;
       contadorph := contadorph + 1;
     end;
     writeln ('O maior peso da turma é:', maiorp);
     writeln ('O menor peso da turma é:', menorp);
     writeln ('A média de peso dos homens é:', somaph / contadorph);
     writeln ('A média de peso da turma é:', somapt / 23);
     readkey;
end.

esse é o resultado
CitarO maior peso da turma é: 1.000000000000000E+002
O menor peso da turma é: 2.200000000000000E+001
A média de peso dos homens é: 3.400000000000000E+001
A média de peso da turma é: 6.500000000000000E+001
parece q ele esta passando o endereço da variavel e nao o resultado real
se alguem poder da uma ajuda
vlw

Lex Luthor

Cara, você tirou Free Pascal do fundo do baú !!! putz.. tem para linux ? que massa...

seguinte, tá certo. Mas como os valores são "real", então esse valor significa: 1.000000000000000E+002 = 1 vezes 10 elevado a 2 = 100

Você tem apenas que tratar como esse "real" será escrito na saída, que agora não me lembro direito como se faz no Pascal.
Analista de Redes- Segurança da Informação
Bacharel em Ciências da Computação - UnB
Ubuntu Forever - Compiz Fusion -

Lex Luthor

Uma pesquisa na internet me lembrou:

Ao invés de colocar:


writeln ('O maior peso da turma é:', maiorp);


coloque:

writeln ('O maior peso da turma é:', maiorp:7:5);


Se me lembro bem, o 7 significa quantas casas vc quer antes do separador decimal, e o 5 depois. Mude a seu gosto.
Analista de Redes- Segurança da Informação
Bacharel em Ciências da Computação - UnB
Ubuntu Forever - Compiz Fusion -

leandrovargas

Usei muito o free pascal na faculdade e tinha vários bugs. Um exemplo, foi que tentava compilar um programa, mas, sempre dava erro. Porém o código estava perfeito, daí resolvi copiar o código e colar em um novo arquivo do pascal e....Foi compilado sem problemas...hahaha
SOFTWARE LIVRE, SOCIEDADE LIVRE.

felipeett

vlw Lex Luthor
deu certo colocando o (:7:5)
qualquer probleminha do mais um toc  :D

Lex Luthor

Pascal é uma linguagem simples criada voltada ao aprendizado, ou seja, é feita para a pessoa aprender a programar.
Depois que aprender em Pascal, fica muuuito mais fácil aprender C, Java, etc...
Analista de Redes- Segurança da Informação
Bacharel em Ciências da Computação - UnB
Ubuntu Forever - Compiz Fusion -

wagner.bts

Citação de: Lex Luthor online 30 de Novembro de 2007, 14:07
Pascal é uma linguagem simples criada voltada ao aprendizado, ou seja, é feita para a pessoa aprender a programar.
Depois que aprender em Pascal, fica muuuito mais fácil aprender C, Java, etc...

Bom...o importante é que as pessoas não confundam simplicidade com facilidade ou qualidade.

Comecei a programar em COBOL!
Depois passei para C++....

Quando conheci Pascal, eu já estava calejado, então foi fácil pra mim. Então vieram Vb, java, php, .net....essas coisas..
Mas, na minha opinião...

PASCAL RULEZ.
Hoje, eu trabalho no desenvolvimento do VirtualVision e ele é totalmente feio em Pascal.

Abraços.
Wagner Consani Filho

Lex Luthor

É, eu quiz dizer simples no sentido do aprendizado, é mais mesmo como facilidade e qualidade. Pascal é uma linguagem muito poderosa.
Analista de Redes- Segurança da Informação
Bacharel em Ciências da Computação - UnB
Ubuntu Forever - Compiz Fusion -

wagner.bts

Citação de: Lex Luthor online 18 de Dezembro de 2007, 16:37
É, eu quiz dizer simples no sentido do aprendizado, é mais mesmo como facilidade e qualidade. Pascal é uma linguagem muito poderosa.

Eu sei que você entendeu cara hehaha de boas.
Como você conhece Pascal, você sabe do quão forte essa linguagem é.
Mas outras pessoas não fazem a mesma idéia.

Abração.
Wagner Consani Filho

souza1988

como que eu vejo o resultado rodando no programa lazarus
assim como que faz lá no tpw do windows.
ubuntu sistema operacional de quem gosta de um verdadeiro software
http://www.osalt.com/