Skocz do zawartości


Gnacio

Rejestracja: 24 sie 2008
OFFLINE Ostatnio: 01 12 2009 23:15
-----

Moje tematy

[pascal] Liczby pierwsze

29 11 2009 - 16:41

Witam.

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