Skocz do zawartości


Zdjęcie

[pascal] Liczby pierwsze


  • Zaloguj się, aby dodać odpowiedź
2 odpowiedzi w tym temacie

#1 Gnacio

Gnacio

    Nowy

  • 2 postów

Napisano 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



  • 0

#2 fernandez

fernandez

    150% normy

  • 1 866 postów

Napisano 30 11 2009 - 13:22

ja polecam, zeby zrobic w ten sposob

jesli dodales

odd : Integer;

to najmniej modyfikacji jakie bedziesz musial zrobic to:

ReadLn(odd);



poza tym radze zweryfikowac jak dziala petla FOR TO DO

oraz co robia instrukcje od+1; oraz i+1;


PS. nie pamietam na tyle pascala, zeby podac Ci odpowiedz czy to na pewno dziala, ale jakby co bedziemy dalej drazyc temat

  • 0

#3 Gnacio

Gnacio

    Nowy

  • 2 postów

Napisano 30 11 2009 - 17:30

oraz co robia instrukcje od+1; oraz i+1;

Przyzwyczajenie z php :P
Powinno byc od:=od+1 i i:=i+1

Program juz mam zrobiony.

ps. przynajmniej jedno normalne forum z normalnymi odpowiedziami...

  • 0

Zobacz więcej tematów z tagiem: Turbo Pascal



Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych