Eρωτημα σε ασκηση Pascal

Συζητήσεις σχετικές με την Delphi και την πρόγονη της Pascal

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
riderman
Δημοσιεύσεις: 5
Εγγραφή: 11 Δεκ 2010 02:21

Eρωτημα σε ασκηση Pascal

Δημοσίευση από riderman » 23 Οκτ 2011 19:46

Καλησπερα,

Ο παρακατω κωδικας τρεχει κανονικα ...
Tο προβλημα ειναι στην procedure η οποια δεν επιστρεφει αυτο που θελω.
Δηλαδη οτι και να καταχωρησω στη "c" βγαζει συνεχεια το msg "Den vrethike"
Τι πρεπει να κανω για να δουλεψει σωστα ?

Κώδικας: Επιλογή όλων

program a1;

type  s = 0..9 ;

var  
     c : integer;
     a : set of s;



procedure a2();
begin 
     if(c in a) then
        writeln('Vrethike')
     else 
        writeln('Den vrethike');
end;




begin  
     writeln('Dose enan akeraio arithmo');
     readln(c);
     a2();
     readln
end.

GReaper
Δημοσιεύσεις: 48
Εγγραφή: 11 Δεκ 2010 21:47
Επικοινωνία:

Eρωτημα σε ασκηση Pascal

Δημοσίευση από GReaper » 24 Οκτ 2011 03:08

Η Pascal μπορεί να επιτρέπει εμφωλευμένες διαδικασίες/συναρτήσεις αλλά αυτό λάθος μπερδεύεται με την ορατότητα των μεταβλητών. Πρέπει να περάσεις τα c και a σαν παραμέτρους της διαδικασίας.

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Eρωτημα σε ασκηση Pascal

Δημοσίευση από dva_dev » 24 Οκτ 2011 04:33

Δεν δίνεις πουθενά τιμή/ές στο a.
Δοκίμασε κάτι τέτοιο:

Κώδικας: Επιλογή όλων

program a1;

type  s = 0..9 ;

var
     c : integer;
     a : set of s;

procedure a2();
begin
     if(c in a) then
        writeln('Vrethike')
     else
        writeln('Den vrethike');
end;

begin
     a := [0..4];
     writeln('Dose enan akeraio arithmo');
     readln(c);
     a2();
     readln
end.

riderman
Δημοσιεύσεις: 5
Εγγραφή: 11 Δεκ 2010 02:21

Eρωτημα σε ασκηση Pascal

Δημοσίευση από riderman » 24 Οκτ 2011 18:13

OK ευχαριστω παιδια ... τωρα καταλαβα τι παιζει .

Απάντηση

Επιστροφή στο “Delphi, Pascal”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες