Pascal- problem ( prawdopodobnie ) z obliczaniem wyniku.

Odpowiedz Nowy wątek
2011-10-29 08:54
0

Witam!
Jako, że jestem nowy na forum chciałbym wszystkich przywitać!
Dopiero zaczęliśmy w szkole programowanie i mam do napisania swój pierwszy program w języku Pascal.

Treść zadania:
Utwórz program, oraz algorytm obliczający wskaźnik BMI.

Stworzyłem więc program, jednak podczas kompilowania wyświetla mi 2 błędy ( pokazane w załączniku ).

Czy ktoś mógłby mi powiedzieć, na czym polega błąd i czy w ogóle dobrze napisałem program?

Pozdrawiam!
Jakob

edytowany 1x, ostatnio: Jakob_sj, 2011-10-29 08:54
Na przyszłość: wklejaj kod ew. jego fragment. - pelsta 2011-10-29 09:33

Pozostało 580 znaków

2011-10-29 09:03

Brakło przecinka przed MasaCiala - (Wzrost^2)


Pozostało 580 znaków

2011-10-29 09:07
1

Pierwszy błąd mówi o tym że gdzieś nie wstawiłeś nawiasu, a drugi mówi że przez pierwszy błąd nie można skompilować programu.

Program BMI;
uses crt;
var MasaCiala, Wzrost: Integer;

begin
Writeln('Podaj swoją masę ciała');
Read( MasaCiala );
Clrscr;
Writeln( 'Podaj swój wzrost (w metrach)' );
Read( Wzrost );
Writeln( 'Twój wskaźnik BMI wynosi: ' Masa Ciała - (Wzrost^2));
repeat until keypressed;
end.

WRONG!!

powinno być tak

Program BMI;
uses crt;
var MasaCiala, Wzrost: Integer;

begin
  Writeln('Podaj swoją masę ciała');
  Readln(MasaCiala);  

  Writeln('Podaj swój wzrost (w metrach)');
  Readln(Wzrost);

  Writeln('Twój wskaźnik BMI wynosi: ', Masa Ciała - (Wzrost^2));
                               ///    /\  przecinek
  Readln();
end.

Pozostało 580 znaków

2011-10-29 09:17
1

Writeln('Twój wskaźnik BMI wynosi: ', Masa Ciała - (Wzrost^2));

Do tego kompilator przyczepi się.
A ponadto wzór na BMI jest bez sensu (nie da się policzyć kg-m2)

edytowany 2x, ostatnio: pelsta, 2011-10-29 09:21

Pozostało 580 znaków

2011-10-29 09:21
1

Nie wiem czy czysty Pascal to łyknie ale wydaje mi się że powinien:

program BMI;
var
  masa, wzrost_cm: Integer;
  wsp_bmi, wzrost_m: Real;
begin
  Write('Podaj mase ciala [kg]: ');
  Readln(masa);
  Write('Podaj wzrost [cm]: ');
  Readln(wzrost_cm);
  wzrost_m:= wzrost_cm / 100;
  wsp_bmi:= masa / (wzrost_m * wzrost_m);
  Write('BMI wynosi: ', wsp_bmi:2:2);
  readln;
end.

Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.

Pozostało 580 znaków

2011-10-29 09:45
0

Panowie, wielkie dzięki za pomoc!

@kAzek, nie miałem jeszcze zmiennych real i przypisania przez ' := ', ale poczytałem trochę i chyba już to ogarniam.

Jeszcze raz wielkie dzięki! :)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0