Mam zrobić program, który wypisze wszystkie liczby pierwsze z przedziału podanego przez użytkownika.
Zrobiłem taki program w języku php i nie miałem większych problemów, ale w pascalu już mam ;/
Program w php:
<? $od = "-21"; $do = "50"; for($od; $od<=$do; $od++) { $pierwsza = TRUE; if($od<=1) { $pierwsza = FALSE; } for($i=2; $i<$od; $i++) { if($pierwsza) { if($od % $i == 0) { $pierwsza = FALSE; } } } if($pierwsza) { echo "$od <br />"; } } ?>
Próbowałem przerobić na pascala, ale same błędy wychodzą ;/
program liczba; {Program wypisuje liczby pierwsze z przedzialu podanego przez uzytkownika} uses CRT; var od,doo,i:Integer; pierwsza:Boolean; begin Writeln('Podaj przedzial. Od'); Readln(od); Writeln('Do'); Readln(doo); for od to od<=doo then begin od+1; pierwsza:=TRUE; if(od<=1) then pierwsza:=FALSE; for i:=2 to i<od then begin i+1; if(pierwsza) then if(od mod i = 0) then pierwsza:=FALSE; end end if(pierwsza) then write(od); end.
Błąd:
91. := expected - Oczekiwano znaku przypisania
w linijce:
for od to od<=doo then
Gdy np. dodam jeszcze jedna zmienna:
for od:=odd to od<=doo then
to pokazuje się błąd:
26. Type mismatch - Niezgodność typów