koszalek Opublikowano 3 Kwietnia 2009 Zgłoś Opublikowano 3 Kwietnia 2009 Gdy jako typ wpiszę integer, longint to kompiluje sie. Nie kompiluje sie jednak gdy wpiszę extended lub real. Błąd jest taki: a.pas(10,13) Error: Ordinal expression expecteda.pas(16,4) Fatal: There were 1 errors compiling module, stoppinga.pas(0) Fatal: Compilation aborted Kod: uses crt;var liczba,wynik,licznik:real;beginwynik:=1;clrscr;writeln('PROGRAM');writeln;write('podaj liczbę: ');readln(liczba); for licznik:=1 to liczba do begin wynik:=wynik*licznik; end; writeln('wynik: ',wynik);end. Dlaczego nie kompiluje sie z tymi typami? P.S. Taki kod kompiluje sie z extended i real bez problemu: uses crt;var liczba,wynik,licznik:extended;beginliczba:=5;wynik:=3;licznik:=2;writeln(liczba+wynik+licznik:2:1);end. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
bilas Opublikowano 3 Kwietnia 2009 Zgłoś Opublikowano 3 Kwietnia 2009 Pętla for musi wykonać się całkowitą ilość razy, a liczba jest typu real i może nie przyjmować wartości całkowitej. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...