el:school:lessons:programmatismos:pascal:cheatsheet
Table of Contents
Συνοπτικές Σημειώσεις
Δομή Προγράμματος
Παράδειγμα
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;
!–
var {ξεκινάνε δηλώσεις (στην επόμενη γραμμή)} a : integer; {Δηλώνει την μεταβλητή a ως ακέραια}
writeln('κείμενο'); {Εμφανίζει στην Οθόνη κείμενο και αλλάζει γραμμή μετά} write('κείμενο'); {Ομοίως χωρίς αλλαγή γραμμής} writeln('κείμενο1 ', metabliti1, ' κείμενο2 ', metabliti2 ); {Εμφανίζει κείμενα και τιμές μεταβλητών. Χωρίζουμε με κόμμα} readln(x); {Διαβάζει από το πληκτρολόγιο, και το αποθηκεύει στην μεταβλητή x}
–!
el/school/lessons/programmatismos/pascal/cheatsheet.txt · Last modified: by vagk
