Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια σας παιδιά , θα ήθελα να μου πείτε αν υπάρχει  flag στην γλώσσα προγραμματισμού pascal και αν ναι τότε πως συντάσσεται , δηλαδή ένα παράδειγμα .Μιλάω για την free pascal όχι delphi ή lazarus .Ευχαριστώ για τον χρόνο σας.    

Δημοσ.

Μπορείς να δηλώσεις μία boolean μεταβλητή...

var

  MyFlag: Boolean

 

Δημοσ.

Νόμιζα ότι η flag κάνει άλλο πράγμα , δηλαδή νόμιζα ότι επιστρέφει σε κάποιο κομμάτι κώδικα , κάτι σαν εντολή επανάληψης (while,for,repeat).

   

      Θέλω στον παρακάτω κώδικα μου , μόλις τελειώσει να βγάζει ένα μήνυμα που να λέει , θες να ξανά παίξεις το παιχνίδι ; και αν πεις ναι τότε να ξανά επιστρέφει στην αρχή του κώδικα.Μπορώ να το κάνω αυτό χωρίς while,for,repeat; Αν ναι τότε πως ;  

 

 

   

program game1;
uses crt;
var r,a,l : integer;
begin

randomize; l:=5;
clrscr;
r:=random(100)+1;
writeln('se auto to game prepei na mantepseis ena tuxaio ari8mo apo to 0-100');
writeln('exeis 5 prospa8eies');
while 0<l do
begin
writeln('exeis ',l,'zwes');
l:=l-1;
write('dwse ton ari8mo :');
readln(a);
if a<r then
begin
writeln('o ari8mos pou ebales einai mikroteros apo ton tuxaio');
end
else if a>r then
begin
writeln('o ari8mos pou ebales einai megaluteros apo ton tuxaio');
end
else if a=r then
begin
textcolor(10);
writeln('TO BRHKES GG');
l:=l-10;
readln;
exit;
end;
if a>100 then
begin
writeln(' AKURO (ari8mos magaluteros tou 100)');
end
else if a<0 then
begin
writeln(' AKURO (ari8mos mikroteros tou 0)');
end;
end;
textcolor(4);
writeln('EXASES O ARI8MOS HTAN :',R);
readln;
end.

   

Δημοσ.

Η 'flag' σαν έννοια απλά χρησιμοποιείται για να σηματοδοτήσει ένα γεγονός και να δώσει μια ένδειξη της ύπαρξης αυτού του γεγονότος. Το τι θα κάνεις εσύ με αυτή την ένδειξη από εκεί και πέρα είναι θέμα δικό σου.

Δημοσ.

Ευχαριστώ για την βοήθεια migf1 .Τελικά αυτό που έψαχνα ηταν το label  ΠΧ. 

Program Example6;
uses Crt;
LABEL LABELONE;
var a : integer;

begin
ClrScr;
LABELONE:
writeln('dwse ari8mo');
readln(a);
if a>0 then
begin
goto LABELONE;
end;

readkey;
end.
 

Δημοσ.

Παρακαλώ, αλλά είναι πολύ κακή πρακτική να χρησιμοποιείς goto για loops (δηλαδή όταν το στέλνεις σε πρωτύτερο label). Είναι κακή πρακτική γιατί σε μεγάλα προγράμματα θα χάσεις τελείως την μπάλα.

 

Αυτό που θέλεις γίνεται πολύ εύκολα με τα στάνταρ loops. Για παράδειγμα:

 

Program Example6;
    uses Crt;
    var a: integer;

begin
    clscr;

    repeat
        writeln('dwse ari8mo');
        readln(a);
    until a < 1;

    readkey;
end.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...