LinuxFanClub Wiki

Υπηρεσίες, Προγραμματισμός, Εκπαίδευση ..

User Tools

Site Tools


el:school:lessons:programmatismos:pascal:cheatsheet


Συνοπτικές Σημειώσεις

Δομή Προγράμματος

Παράδειγμα

program testprog1;                      {Τίτλος προγράμματος}
uses crt;                               {Προαιρετικά: Βιβλιοθήκες για extra εντολές}
const                                   {Δηλώσεις σταθερών }
     stathera1='keimeno';
     stathera2=10;
     pi=3.14;
var                                     {Δηλώσεις μεταβλητών }
     metabliti1 : integer;              { όνομα μεταβλητής : τύπος μεταβλητής }
     metabliti2, metabliti3 : string; 
     {..}
BEGIN                                   {Κυρίως πρόγραμμα}
  writeln('Hello World'); // εντολή1; 
 
  {εντολή2; 
   ..
   εντολήΝ;
  }
END.                                    {Τέλος προγράμματος}

Βασικές εντολές

  • writeln('κείμενο'); : Εμφανίζει στην Οθόνη κείμενο και αλλάζει γραμμή μετά.
    • write('κείμενο'); : Ομοίως χωρίς αλλαγή γραμμής.
    • writeln('κείμενο1 ', metabliti1, ' κείμενο2 ', metabliti2 ); : Εμφανίζει κείμενα και τιμές μεταβλητών. Χωρίζουμε με κόμμα.
    • writeln(metabliti:15:2); : Εμφανίζει την metabliti με 2 δεκαδικά ψηφία και σε χώρο 15 θέσεων με δεξιά στοίχιση.
    • writeln(metabliti:0:2); : Αν ορίσουμε 0 θέσεις ή γενικά λιγότερες από όσες θέλει η metabliti για να εμφανιστεί, θα εμφανιστεί κανονικά αλλά χωρίς στοίχιση.
  • readln(metabliti); : Διαβάζει από το πληκτρολόγιο, και το αποθηκεύει στην metabliti
    • readln(metabliti3, metabliti4); : (Δεν συστήνεται για διάβασμα από το πληκτρολόγιο). Διαβάζει 2 τιμές που χωρίζονται με κενό και μετά περιμένει αλλαγή γραμμής (ENTER)
    • read(metabliti3); : (Δεν συστήνεται για διάβασμα από το πληκτρολόγιο). Διαβάζει 1 τιμή χωρίς να περιμένει αλλαγή γραμμής (ENTER)
    • read(metabliti3, metabliti4); : (Δεν συστήνεται για διάβασμα από το πληκτρολόγιο). Διαβάζει 2 τιμές που χωρίζονται με κενό χωρίς να περιμένει αλλαγή γραμμής (ENTER)


Δηλώσεις Σταθερών

  • const : Ξεκινάνε δηλώσεις (στην επόμενη γραμμή).
    • a = 5; : Δηλώνει την σταθερά a ως ακέραια με τιμή 5.
    • b = 7.2; : Δηλώνει την σταθερά b ως πραγματικό με τιμή 7.2.
    • c = 'hello'; : Δηλώνει την σταθερά c ως κείμενο με τιμή 'hello' .
    • d = 'Χ'; : Δηλώνει την σταθερά d ως χαρακτήρα με τιμή 'Χ'.
    • e = true; : Δηλώνει την σταθερά e ως λογική με τιμή true.

Δηλώσεις μεταβλητών

  • var : Ξεκινάνε δηλώσεις (στην επόμενη γραμμή).
    • a : integer; : Δηλώνει την μεταβλητή a ως ακέραιο.
    • b : real; : Δηλώνει την μεταβλητή b ως πραγματικό.
    • c1 : string; : Δηλώνει την μεταβλητή c ως κείμενο (255 χαρακτήρων).
    • c2 : string[40]; : Δηλώνει την μεταβλητή c ως κείμενο (40 χαρακτήρων) .
    • d : char; : Δηλώνει την μεταβλητή d ως χαρακτήρα.
    • e : boolean; : Δηλώνει την μεταβλητή e ως λογική (true/false).
    • f, g, h : integer; : Δηλώνει πολλές μεταβλητές μαζί. Π.χ. τις f, g, h ως ακέραιες.

Αναθέσεις τιμών

  • metabliti1:='κείμενο'; : Αποθηκεύει το κείμενο στην metabliti1
  • metabliti2:=5; : Αποθηκεύει έναν αριθμό π.χ. το 5 στην metabliti2
  • metabliti3:=metabliti4 + metabliti5; : Κάνει μια πράξη π.χ. προσθέτει την metabliti4 με την metabliti5 και αποθηκεύει το αποτέλεσμα στην metabliti3
  • i:=i+1; : Αυξάνει την τιμή της μεταβλητής i κατά 1.

Σχόλια

  {Μέσα σε αγκύλες βάζουμε σχόλια.
   Μπορεί να είναι πολλές γραμμές.}
  (* Άλλος τρόπος για σχόλια. 
Μπορεί να είναι πολλές γραμμές.*)
  //Μετά τις 2 καθέτους βάζουμε σχόλια μέχρι το τέλος της γραμμής


Extra εντολές

(Χρειάζονται την βιβλιοθήκη crt)

Για να βάλουμε και κάποια εφέ στα προγράμματά μας υπάρχουν κάποιες ενδιαφέρουσες εντολές

  • textcolor(lightgreen); :
  • textbackground(blue); :
  • clrscr; :
  • randomize
  • random
  • if keypressed then .. else .. :
  • epilogi:=readkey; :
  • gotoxy(30,4); :
  • delay(2000); :


Εντολές Διακλάδωσης

if .. then .. else

  • χωρίς else με 1 εντολή
       if {συνθήκη} then
          {εντολή1};
  • χωρίς else με πολλές εντολές
       if {συνθήκη} then
       begin
          {εντολή1;
           εντολή2;}      
       end;
  • με else με 1 εντολή στο then και μία στο else
       if {συνθήκη} then
          {εντολή1}
       else
          {εντολή2;}
  • με else με πολλές εντολές
       if {συνθήκη} then
       begin
          {εντολή1;
           εντολή2;}      
       end
       else
       begin
           {εντολή3;
            εντολή4;}  
       end;
  • Εμφωλιασμένες if (if μέσα σε if) (Τα begin..end είναι προαιρετικά εδώ, αλλά βοηθάνε)
       if {συνθήκη1} then
       begin
          if {συνθήκη2} then
             {εντολή1}
          else
             {εντολή2;}      
       end
       else
       begin
           if {συνθήκη3} then
             {εντολή3}
          else
             {εντολή4;}      
       end;


case .. of

  • Γενικά
      case {μεταβλητή} of
         {τιμή μεταβλητής}: {εντολή ή εντολές μέσα σε begin .. end} 
         {άλλη τιμή μεταβλητής}: {εντολή ή εντολές μέσα σε begin .. end} 
         {λίστα τιμών μεταβλητών}: {εντολή ή εντολές μέσα σε begin .. end} 
         else : {εντολή ή εντολές μέσα σε begin .. end}
      end;
  • Παράδειγμα1: με ακέραια μεταβλητή, με 1 εντολή ανά περίπτωση
       case metabliti1 of
          5 : {εντολή1;}
          8 : {εντολή2;}
       end;
  • Παράδειγμα2: με ακέραια μεταβλητή, με πολλές εντολές και else
       case metabliti1 of
          10 : begin
                 {εντολή1;
                  εντολή2;}
               end;
          12 : {εντολή3;}
       else : {εντολή4;}      
       end;
  • Παράδειγμα3: με μεταβλητή χαρακτήρα
       case metabliti1 of
          'a' : begin
                 {εντολή1;
                  εντολή2;}
               end;
          'b' : {εντολή3;}
          '4' : {εντολή4;}
       else : begin
                {εντολή5;
                 εντολή6;}
              end;      
       end;
  • Παράδειγμα4: με λίστα τιμών, π.χ. χαρακτήρων
       case metabliti1 of
          'a', 'Α', '1' : {εντολή1;}
          'b', 'c' : begin
                        {εντολή3;
                         εντολή4;}
                     end; 
         'd' : {εντολή5;}
        else : {εντολή6;}      
       end;
  • Παράδειγμα5: (σπάνια χρήση) Με συνθήκη - όμοια με if .. then .. else
      case {συνθήκη} of         // if {συνθήκη} then
        true : {εντολή1;}       //    {εντολή1}  
        false : {εντολή2;}      // else
      end;                      //    {εντολή2;}


Εντολές Επανάληψης

repeat .. until

Για επαναλήψεις που θα εκτελεστούν έστω μία φορά χρησιμοποιούμε repeat..until

  • Ο έλεγχος γίνεται μετά την επανάληψη άρα η επανάληψη θα εκτελεστεί τουλάχιστον μία φορά
  • Η συνθήκη πρέπει να είναι false για να συνεχίζεται η επανάληψη

Μη γνωρίζοντας ακριβή αριθμό επαναλήψεων

repeat
    { εντολές .. }    
until {συνθήκη};

Γνωρίζοντας τον ακριβή αριθμό επαναλήψεων π.χ. 5 (συστήνεται η απλότερη for)

i:=1;
repeat
    { εντολές .. }
    i:=i+1;
until i>5;

while

Η πιο γενική επανάληψη γίνεται με while

  • Ο έλεγχος γίνεται πριν την επανάληψη άρα μπορεί να μην εκτελεστεί καμία φορά
  • Η συνθήκη πρέπει να είναι true για να συνεχίζεται η επανάληψη

Μη γνωρίζοντας ακριβή αριθμό επαναλήψεων

while {συνθήκη} do
begin
    { εντολές .. }    
end;

Γνωρίζοντας τον ακριβή αριθμό επαναλήψεων π.χ. 5 (συστήνεται η απλότερη for)

i:=1;
while i<=5 do
begin
    { εντολές .. }
    i:=i+1;
end;


for

Η πιο απλή επανάληψη όταν γνωρίζουμε από πριν τον αριθμό των επαναλήψεων

  • Ο έλεγχος γίνεται πριν την επανάληψη άρα (από λάθος συνθήκη) μπορεί να μην εκτελεστεί καμία φορά

Για αύξουσα μέτρηση π.χ. 5 επαναλήψεις

for i:=1 to 5 do
begin
    { εντολές .. }
end;

Για φθίνουσα μέτρηση π.χ. 5 επαναλήψεις

for i:=5 downto 1 do
begin
    { εντολές .. }
end;
el/school/lessons/programmatismos/pascal/cheatsheet.txt · Last modified: Y/m/d H:i by vagk