Top Banner
ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΠΛΗΡΟΦΟΡΙΚΗ ΣΗΜΕΙΩΣΕΙΣ Σχεδίαση Λογικών Διαγραμμάτων Προκαταρκτική Εκτέλεση Λογικού Διαγράμματος και Προγράμματος Λευκωσία, Ιούνιος 2006 1
45

pl_logika_c_lykiou

Sep 30, 2014

Download

Documents

calypsoula
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: pl_logika_c_lykiou

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ

ΠΛΗΡΟΦΟΡΙΚΗ

ΣΗΜΕΙΩΣΕΙΣ

Σχεδίαση Λογικών Διαγραμμάτων

Προκαταρκτική Εκτέλεση Λογικού Διαγράμματος και Προγράμματος

Λευκωσία, Ιούνιος 2006

1

Page 2: pl_logika_c_lykiou

ΠΕΡΙΕΧΟΜΕΝΑ 1. Πρόλογος ..........................................................................................................3

2. Λογικά Διαγράμματα..........................................................................................4

2.1 Δομημένος Προγραμματισμός ...................................................................4

2.2 Σύμβολα Λογικών Διαγραμμάτων ..............................................................5

2.3 Εισηγήσεις για ομοιόμορφο σχεδιασμό λογικών διαγραμμάτων ................6

2.4 Δομές Προγραμματισμού ...........................................................................9

2.4.1 Ακολουθιακή Δομή .......................................................................9

2.4.2 Δομή Διακλάδωσης και Περιπτωσιακή Δομή..............................10

2.4.3 Επαναληπτική Δομή...................................................................12

2.5 Υποπρογράμματα ....................................................................................16

2.5.1 Συναρτήσεις ...............................................................................16

2.5.2 Διαδικασίες .................................................................................19

2.6 Μονοδιάστατοι Πίνακες ............................................................................21

2.7 Πίνακες δύο Διαστάσεων .........................................................................22

3. Προκαταρκτική Εκτέλεση.................................................................................26

3.1 Δομές Προγραμματισμού .........................................................................27

3.1.1 Ακολουθιακή Δομή .....................................................................27

3.1.2 Δομή Διακλάδωσης και Περιπτωσιακή Δομή..............................28

3.1.3 Επαναληπτική Δομή...................................................................31

3.4 Υποπρογράμματα ....................................................................................34

3.4.1 Συναρτήσεις ...............................................................................34

3.4.2 Διαδικασίες .................................................................................36

3.5 Μονοδιάστατοι Πίνακες ............................................................................38

3.6 Πίνακες δύο Διαστάσεων .........................................................................40

4. Βιβλιογραφία ...................................................................................................44

2

Page 3: pl_logika_c_lykiou

Συνάδελφοι,

Οι σημειώσεις αυτές έχουν γραφτεί για να καλύψουν τις ανάγκες του μαθήματος της

Πληροφορικής σε Γυμνάσιο και Λύκειο.

Έχουν ως στόχο να μας βοηθήσουν να χρησιμοποιήσουμε όλοι ομοιόμορφες

μεθόδους στο σχεδιασμό λογικών διαγραμμάτων αλλά και στην προκαταρκτική

εκτέλεση των προγραμμάτων ή και των λογικών διαγραμμάτων. Οι σημειώσεις

αποτελούνται από δύο ενότητες με παραδείγματα.

Η πρώτη ενότητα αφορά το σχεδιασμό των λογικών διαγραμμάτων, διαδικασία

αναγκαία στην ανάπτυξη των προγραμμάτων. Τα σύμβολα που χρησιμοποιήθηκαν

ακολουθούν το πρότυπο ANSI - Flowchart Symbols.

Η δεύτερη ενότητα αφορά την προκαταρκτική εκτέλεση προγραμμάτων ή και

λογικών διαγραμμάτων.

Κατά την προκαταρκτική εκτέλεση θα πρέπει να δίνεται ιδιαίτερη έμφαση στην πιστή

εκτέλεση όλων των εντολών του προγράμματος ή και του λογικού διαγράμματος. Θα

πρέπει να καταγράφονται αναλυτικά όλες οι σταθερές, οι μεταβλητές, οι συνθήκες

και οι αντίστοιχες τιμές τους, ώστε να βοηθηθούν οι μαθητές στην κατανόηση της

ροής και των αλλαγών των δεδομένων στο πρόγραμμα ή και στο λογικό διάγραμμα.

Στην προσπάθεια μας να συμβαδίσουμε με τα υφιστάμενα εγχειρίδια του Γυμνασίου

και του Λυκείου χρησιμοποιήσαμε μεθοδολογία από διάφορες έγκυρες πηγές (βλέπε

βιβλιογραφία), χωρίς να χάνεται η συνοχή και η ομοιομορφία. Βέβαια δεν

αποκλείονται άλλες προσεγγίσεις παρουσίασης των λογικών διαγραμμάτων και

προκαταρκτικών εκτελέσεων νοουμένου ότι είναι επιστημονικά αποδεκτές.

Συγγραφική ομάδα: Εποπτεία:

Μιλτιάδου Μάριος, Β.Δ. Χατζησάββας Γιώργος, ΕΜΕ

Σχίζα Ιουλία, Β.Δ.

Σωτικόπουλος Κωνσταντίνος, Β.Δ.

Τορτούρης Μιχάλης, Β.Δ.

3

Page 4: pl_logika_c_lykiou

Λογικά Διαγράμματα Δομημένος Προγραμματισμός Ο δομημένος προγραμματισμός είναι η τεχνική που διαιρεί το πρόγραμμα σε λογικά

τμήματα χρησιμοποιώντας βασικές δομές. Η τεχνική αυτή μας βοηθά στην

κωδικοποίηση, έλεγχο, και συντήρηση ενός προγράμματος. Στην παραγωγή

λογισμικού, ο δομημένος προγραμματισμός χρησιμοποιείται ως βασική αρχή

προγραμματισμού. Βασικός στόχος του δομημένου προγραμματισμού είναι η

παραγωγή προγραμμάτων που έχουν μια καθορισμένη μορφή και γι΄ αυτό γίνονται

πιο εύκολα κατανοητά, όχι μόνο από το δημιουργό τους αλλά και από άλλους

προγραμματιστές που στο μέλλον θα ασχοληθούν με τα προγράμματα αυτά.

Ο δομημένος προγραμματισμός χρησιμοποιεί μόνο τρεις βασικές δομές ελέγχου που

είναι:

1. Η Ακολουθιακή Δομή (Sequence)

2. H Δομή Διακλάδωσης (Selection) και η επέκτασή της, η Περιπτωσιακή Δομή

(Case)

3. H Δομή Επανάληψης (Iteration)

4

Page 5: pl_logika_c_lykiou

Σύμβολα Λογικών Διαγραμμάτων

Σύμβολο Επεξήγηση

Αρχή - Τέλος Κυρίως Προγράμματος Είσοδος - Έξοδος Υποπρογραμμάτων Επεξεργασία Είσοδος Δεδομένων – Έξοδος Αποτελεσμάτων Απόφαση Υποπρόγραμμα Σύνδεσμος Σχόλιο Ροή

ANSI Flowchart symbols (Capron, H. L., Perron, J. D., p. 520)

5

Page 6: pl_logika_c_lykiou

Εισηγήσεις για Ομοιόμορφο Σχεδιασμό Λογικών Διαγραμμάτων 1. Το λογικό διάγραμμα πρέπει να αντιστοιχεί με το πρόγραμμα. Αντιστοιχία λογικού

διαγράμματος και προγράμματος σημαίνει ότι:

i. οι τεχνικές και οι δομές προγραμματισμού πρέπει να είναι οι ίδιες στο

λογικό διάγραμμα και στο πρόγραμμα. Για παράδειγμα, αν χρησιμοποιείται

η δομή if-then-else στο λογικό διάγραμμα, θα πρέπει να αναμένεται η ίδια

δομή και στο πρόγραμμα.

ii. Οι μεταβλητές πρέπει να είναι οι ίδιες στο λογικό διάγραμμα και στο

πρόγραμμα.

2. Τα μηνύματα εισόδου και εξόδου στο λογικό διάγραμμα δεν είναι υποχρεωτικά.

Το πρόγραμμα όμως, πρέπει να περιλαμβάνει τα κατάλληλα μηνύματα εισόδου

και εξόδου (είτε το ζητά η άσκηση είτε όχι, στα πλαίσια του καλού

προγραμματισμού).

3. Οι μεταβλητές που χρησιμοποιούνται σε λογικό διάγραμμα πρέπει να γράφονται

με λατινικούς χαρακτήρες. Οι οδηγίες μπορούν να είναι στα Ελληνικά (διάβασε,

τύπωσε, κτλ.).

4. Στις αποφάσεις στο λογικό διάγραμμα μπορούν να χρησιμοποιηθούν τα εξής:

Αληθής – Ψευδής, ή Α – Ψ, ή Ναι – Όχι, ή Ν – Ο, ή True – False, ή T – F, ή Yes –

No, ή Y - N.

5. Ως σύμβολο εκχώρησης τιμής σε μεταβλητή συστήνεται όπως χρησιμοποιείται το

βέλος ( ) για ομοιομορφία, χωρίς όμως να απαγορεύονται άλλα σύμβολα

όπως το = και το :=

6. Σε περίπτωση μαθηματικών πράξεων στο λογικό διάγραμμα, μπορούν να

χρησιμοποιηθούν είτε μαθηματικά σύμβολα (όπως ,,,,3

2 ≤−++ xbacba κτλ.),

είτε σύμβολα που συνήθως χρησιμοποιούνται σε γλώσσες προγραμματισμού

όπως: * για πολλαπλασιασμό, / για διαίρεση, MOD, DIV, <=, >=, κτλ.

7. Σε περίπτωση εκτύπωσης (πραγματικών ή και ακεραίων αριθμών, χαρακτήρων

και ακολουθίας χαρακτήρων) σε λογικό διάγραμμα δεν χρειάζονται οι δείκτες

πλάτους εκτύπωσης. Στο αντίστοιχο πρόγραμμα όμως, συστήνεται όπως

χρησιμοποιούνται στα πλαίσια του καλού προγραμματισμού. Για παράδειγμα:

writeln(A:6:2, B:8, ‘Onoma’:8);

6

Page 7: pl_logika_c_lykiou

8. Στο λογικό διάγραμμα μπορούν να γραφτούν σχόλια χρησιμοποιώντας το πιο

κάτω σύμβολο:

9. Η ροή στο λογικό διάγραμμα υποδεικνύεται από τα βέλη. Τα πιο κάτω σχήματα

είναι αποδεκτά:

Α

Ψ

Ψ

Α

Ψ Α Α Ψ

10. Σε περίπτωση διαδικασιών στο λογικό διάγραμμα, επιβάλλεται όπως

χρησιμοποιούνται σχόλια στο υποπρόγραμμα, για τον καθορισμό των τυπικών

παραμέτρων αναφοράς και των τυπικών παραμέτρων τιμών. Για παράδειγμα:

ΔιαδικασίαPraxis(a,b)

Διαδικασία Praxis(x,y)

Είσοδος

Έξοδος

Τέλος

Αρχή

Τύπωσε a, b

Διάβασε a,b

x x + y

y y + 7

x: Τυπική Παράμετρος Αναφοράςy: Τυπική Παράμετρος Τιμής

Δομή Διακλάδωσης

Ακολουθιακή Δομή

Σχόλια...

7

Page 8: pl_logika_c_lykiou

11.Σε περίπτωση εκτύπωσης πίνακα δύο διαστάσεων στο λογικό διάγραμμα,

επιβάλλεται όπως χρησιμοποιείται το σύμβολο εκτύπωσης με το μήνυμα Αλλαγή

Γραμμής, όταν το αποτέλεσμα ζητείται σε μορφή πίνακα δύο διαστάσεων, καθώς

και σχόλιο με το όνομα του πίνακα, τη λέξη Πίνακας και σε παρένθεση τις

διαστάσεις του πίνακα. Για παράδειγμα:

Μ1 <= 3

Ψ

Τύπωσε Grade[Μ1, Μ2]

Μ2 <= 4Α

Α

Α

Β

Β

Α

Ψ

Μ1 1

Μ2 1

Μ2 Μ2 + 1Μ1 Μ1 + 1

Αλλαγή Γραμμής

Grade: Πίνακας (3 x 4)

12. Οι σταθερές πρέπει να διαφοροποιούνται από τις μεταβλητές με τη χρήση

σχολίου. Για παράδειγμα:

Evdomada 7

Αρχή

Evdomada: ΣταθεράEvdomada: Σταθερά,όπου Evdomada = 7

ή

8

Page 9: pl_logika_c_lykiou

Δομές Προγραμματισμού (α) Ακολουθιακή δομή

Εντολή Α

Εντολή Β

rate * hoursSalary

Total Total + Salary

Παράδειγμα Ακολουθιακής Δομής Να σχεδιάσετε λογικό διάγραμμα το οποίο να ζητά την ακτίνα του κύκλου και να υπολογίζει και παρουσιάζει το εμβαδόν και την περιφέρεια του. (Σημείωση: Εμβαδόν Κύκλου = πr2 , Περιφέρεια Κύκλου = 2πr, π = 3.14)

Αρχή

Διάβασε aktina

Τύπωσε embado, periferia

Τέλος

emvado Pi * aktina * aktina

periferia 2 * Pi * aktina

Pi: Σταθερά, όπου Pi = 3.14

Αρχή

Διάβασε aktina

Τύπωσε embado, periferia

Τέλος

emvado Pi * aktina * aktina

periferia 2 * Pi * aktina

Pi 3.14

Pi: Σταθερά

ή

9

Page 10: pl_logika_c_lykiou

(β) Δομή Διακλάδωσης και Περιπτωσιακή Δομή

ΈλεγχοςΣυνθήκης

ΑΨSalary > 1000

ΑΨ

Εντολές Εντολές

Τύπωσε Tax

TaxSalary * 0.1Tax Salary * 0.2

ΈλεγχοςΣυνθήκης

ΑΨSalary > 1000

ΑΨ

Εντολές Tax Salary * 0.2

Μεταβλητή

Τιμές Θ..ΖΤιμές Γ..ΗΤιμή ΒΤιμή Α Αλλιώς

Salary

1001-2500501-1000350 Αλλιώς

Τύπωσε 'Λαθος'

Εντολές Εντολές Εντολές Εντολές Εντολές

Tax Salary * 0.1 Tax Salary * 0.2

Tax Salary * 0.3 Tax Salary * 0.4

500

10

Page 11: pl_logika_c_lykiou

Παράδειγμα Δομής Διακλάδωσης και Περιπτωσιακής Δομής Ένα κατάστημα πώλησης σκαφών αναψυχής κάνει έκπτωση στην τιμή πώλησης κάθε σκάφους ανάλογα με το μήκος του σκάφους και τον αριθμό των δόσεων, σύμφωνα με παρακάτω πίνακα:

Μήκος(μέτρα) Αρ. Δόσεων Έκπτωση % 0 10 1 8 2 6

1-6

3 4 0 12 1 10 2 8

Πάνω από 6

3 6 Να σχεδιάσετε λογικό διάγραμμα το οποίο να διαβάζει την αρχική τιμή του σκάφους, το μήκος και τον αριθμό των δόσεων και να υπολογίζει και παρουσιάζει το συνολικό κόστος για τον αγοραστή. Για απλοποίηση του παραδείγματος να υποθέσετε ότι εισάγονται οι ορθές τιμές στις μεταβλητές.

doseis

Αρχή

Διάβασε arxikitimi, mikos, doseis

mikos>=1και mikos <= 6

doseis

ekptosi

ekptosi

ekptosi

ekptosi

1 30 2

0.12

0.1

0.08

0.06

ekptosi

ekptosi

ekptosi

ekptosi

1 30 2

0.1

0.08

0.06

0.04

kostos arxikitimi - (arxikitimi * ekptosi)

Τύπωσε kostos

Τέλος

ΑΨ

11

Page 12: pl_logika_c_lykiou

(γ) Επαναληπτική Δομή

Μετρητής <=Τελική Τιμή

Αύξηση Μετρητή

Μ <= 5Ψ ΑΨ Α

Εντολές

Μετρητής Αρχική Τιμή Μ 1

Sum Sum + M

M M + 1

ΣυνθήκηΑΨ

Salary <5000

ΑΨ

Εντολές

Salary 350

Salary Salary * 2

Μεταβλητή Ελέγχου Αρχική Τιμή

ΣυνθήκηΨ Α

Total > 5000

Διάβασε Salary

Ψ Α

Εντολές

Total Total + Salary

12

Page 13: pl_logika_c_lykiou

Παραδείγματα Επαναληπτικής Δομής

1. Ο πληθυσμός μιας χώρας είναι 10 εκατομμύρια και παρουσιάζει ετήσια αύξηση 2%. Να σχεδιάσετε λογικό διάγραμμα το οποίο να υπολογίζει και να παρουσιάζει τον πληθυσμό της χώρας μετά από 15 χρόνια.

Μ <= 15

Μ 1

plithismos + plithismos * 0.02

M M + 1

Αρχή

plithismos 10000000

Α

plithismos

A

A

Παρουσίασε plithismos

Τέλος

Ψ

13

Page 14: pl_logika_c_lykiou

2. Να σχεδιάσετε λογικό διάγραμμα το οποίο να δέχεται ένα πλήθος θετικών ακεραίων αριθμών και να υπολογίζει και παρουσιάζει το άθροισμα τους και τον μέσο όρο τους. Η διαδικασία να τερματίζεται με την εισαγωγή αρνητικού αριθμού.

arithmos<> -999

Αρχή

Διάβασε arithmos

athrisma 0

0

Α

athrisma athrisma + arithmos

plithos

plithos plithos + 1

Διάβασε arithmos

Ψ

mesos athrisma / plithos

Τύπωσε athrisma, mesos

Τέλος

plithos <> 0

Τύπωσε 'Δεν έχουν δοθείστοιχεία '

ΑΨ

14

Page 15: pl_logika_c_lykiou

3. Ο πατέρας του Γιάννη δίνει στο παιδί του διπλάσιο ποσό από τον προηγούμενο μήνα. Να σχεδιάσετε λογικό διάγραμμα το οποίο να υπολογίζει και παρουσιάζει το μικρότερο χρονικό διάστημα όπου ο Γιάννης θα πάρει ποσό που να υπερβαίνει τις 2000 λίρες. Να υποθέσετε ότι ο Γιάννης πήρε την πρώτη φορά 1 λίρα.

sum > 2000

Τύπωσε time

Αρχή

sum 0

time 1

p 1

2 * pp

time time + 1

ΑΨ

Τέλος

sum sum + p

15

Page 16: pl_logika_c_lykiou

Υποπρογράμματα - Συναρτήσεις ...

ΣυνάρτησηΌνομα (Παράμετρος1, Παράμετρος2,...)

Μεταβλητή

Συνάρτηση Όνομα (ΠαράμετροςΧ, ΠαράμετροςΥ,...)

Είσοδος

Εντολές

Όνομα (Παράμετρος1, Παράμετρος2,...)

...

Έξοδος

Όνομα Συνάρτησης Αποτέλεσμα

ΣυνάρτησηΌνομα (Παράμετρος1, Παράμετρος2,...)

...ή

Τύπωσε Όνομα (Παράμετρος1, Παράμετρος2,...)

...

16

Page 17: pl_logika_c_lykiou

Παράδειγμα

ΣυνάρτησηPraxis(a,b)

Συνάρτηση Praxis(x,y)

Είσοδος

Έξοδος

Τέλος

Αρχή

Τύπωσε Result, a, b

Διάβασε a,b

Result Praxis(a,b)

x x + y

y y + 7

Praxis x+ y

17

Page 18: pl_logika_c_lykiou

Παράδειγμα Συναρτήσεων Ο όρος παραγοντικό (!) (factorial) ακεραίου θετικού αριθμού Ν είναι το γινόμενο όλων των ακεραίων αριθμών από το 0 μέχρι και το Ν. Για παράδειγμα, το παραγοντικό του 5 (5!) ισούται με 1*2*3*4*5 = 120. Το παραγοντικό του μηδέν ισούται εξ ορισμού με τη μονάδα (0! = 1). Να σχεδιάσετε λογικό διάγραμμα το οποίο να δέχεται έναν ακέραιο θετικό αριθμό μεταξύ 0 και 7 συμπεριλαμβανομένων. Σε περίπτωση που ο αριθμός είναι εκτός ορίων να παρουσιάζεται σχετικό μήνυμα και να ξαναζητείται αριθμός. Στη συνέχεια να καλείται συνάρτηση η οποία να υπολογίζει και να επιστρέφει το παραγοντικό του αριθμού. Τέλος να παρουσιάζεται ο αριθμός και δίπλα το παραγοντικό του.

Συνάρτηση fact(N)

Διάβασε N

Τύπωσε 'Λάθος αριθμός. Παρακαλώ ξαναδώσε '

Αρχή

ΤέλοςΕίσοδος

Έξοδος

N < 0OR

N > 7

ΑΨ

factorial fact(N)

Τύπωσε N, factorial Συνάρτηση fact(P)

S 1

i 1

m <= p

S S * i

i i + 1

fact S

Ψ A

Διάβασε N

18

Page 19: pl_logika_c_lykiou

Υποπρογράμματα - Διαδικασίες ...

ΔιαδικασίαΌνομα (Παράμετρος1, Παράμετρος2,...)

Εντολές

...

Διαδικασία Όνομα (ΠαράμετροςΧ, ΠαράμετροςΥ,...)

Είσοδος

Έξοδος

ΠαράμετροςΧ: Τυπική Παράμετρος ΑναφοράςΠαράμετροςΥ: Τυπική Παράμετρος Τιμής

Εντολές

Παράδειγμα

ΔιαδικασίαPraxis(a,b)

Διαδικασία Praxis(x,y)

Είσοδος

ΈξοδοςΤέλος

Αρχή

Τύπωσε a, b

Διάβασε a,b

Τύπωσε x, y

x x + y

y y + 7

x: Τυπική Παράμετρος Αναφοράςy: Τυπική Παράμετρος Τιμής

19

Page 20: pl_logika_c_lykiou

Παράδειγμα Διαδικασιών Να σχεδιάσετε λογικό διάγραμμα το οποίο: Α) να καλεί διαδικασία η οποία να ζητά από το χρήστη το όνομα ενός μαθητή και τρεις βαθμούς του σε διαγωνίσματα στο μάθημα της Πληροφορικής. Β) να καλεί διαδικασία η οποία να δέχεται τους τρεις βαθμούς, να υπολογίζει και να επιστρέφει το μέσο όρο των τριών βαθμών Γ) να καλεί διαδικασία η οποία να παρουσιάζει το όνομα του μαθητή και το μέσο όρο των τριών βαθμών

Διαδικασία getdata(name, v1, v2, v3)

Διάβασε onoma, b1, b2, b3

Τύπωσε onoma, avg

Διαδικασία mesos(v1, v2, v3, mo)

Διαδικασία ektiposi(name, mo)

Αρχή

Τέλος

Διαδικασία getdata(onoma, b1, b2, b3)

Είσοδος

Έξοδος

onoma, b1, b2, b3:Τ.Π. Αναφοράς

Διαδικασία mesos(b1, b2, b3, avg)

Είσοδος

Έξοδος

b1, b2, b3: Τ.Π. Τιμώνavg: Τ.Π. Αναφοράς

(b1+b2+b3)/3

Διαδικασία ektiposi(onoma, avg)

Είσοδος

Έξοδος

onoma, avg: Τ.Π. Τιμών

avg

20

Page 21: pl_logika_c_lykiou

Πίνακες (ι) Μονοδιάστατοι Πίνακες

Μετρητής <=Τελική Τιμή

Αύξηση Μετρητή

Ψ Α

Διάβασε Όνομα Πίνακα[Μετρητής]

Μετρητής Αρχική Τιμή

Όνομα Πίνακα: Πίνακας (Διάσταση)π.χ. Name: Πίνακας (10)

Παράδειγμα

Μ <= 10

Ψ Α

Διάβασε Name[M]

Name: Πίνακας (10)

Μ 1

Μ M + 1

21

Page 22: pl_logika_c_lykiou

(ιι) Πίνακες δύο Διαστάσεων

Μετρητής1 <=Τελική Τιμή1

Αύξηση Μετρητή2

Ψ

Διάβασε Όνομα Πίνακα[Μετρητής1, Μετρητής2]

Μετρητής1 Αρχική Τιμή1

Μετρητής2 Αρχική Τιμή2

Μετρητής2 <=Τελική Τιμή2

Α

Αύξηση Μετρητή1

A

A

Α

Ψ

Όνομα Πίνακα: Πίνακας (Διάσταση1 x Διάσταση2) π.χ. Grade: Πίνακας (3 x 4)

22

Page 23: pl_logika_c_lykiou

Παράδειγμα

Μ1 <= 3

Ψ

Διάβασε Grade[Μ1, Μ2]

Μ2 <= 4Α

A

A

Α

Ψ

Μ1 1

Μ2 1

Μ2 Μ2 + 1

Μ1 Μ1 + 1

Grade: Πίνακας (3 x 4)

23

Page 24: pl_logika_c_lykiou

Παράδειγμα πίνακες δύο διαστάσεων Να σχεδιάσετε λογικό διάγραμμα, το οποίο να δέχεται από το χρήστη ακέραιους αριθμούς για ένα πίνακα 10 γραμμών και 10 στηλών. Να υπολογίζει και να παρουσιάζει το μικρότερο αριθμό του πίνακα. Επίσης να παρουσιάζει τον πίνακα σε μορφή 10x10.

R <= 10

Διάβασε A[R, C]

C <= 10

Α

Α

Β

Β

R 1

C 1

C C + 1

R R + 1

A: Πίνακας (10 x 10)

Αρχή

Α

Α

min A[1,1]

Ψ

R <= 10

C <= 10

C

C 1

C C + 1

R R + 1

Α

ΑΨ

R 1

A[R,C]<minΑ

min A[R,C]Ψ

Ψ

Ψ

24

Page 25: pl_logika_c_lykiou

R <= 10

Τύπωσε A[R, C]

C <= 10

D

DR 1

C 1

C C + 1R R + 1

Α

ΑΨ

C

Αλλαγή Γραμμής

Τύπωσε min

Τέλος Ψ

25

Page 26: pl_logika_c_lykiou

Προκαταρκτική Εκτέλεση

Κατά την προκαταρκτική εκτέλεση ο μαθητής εκτελεί βήμα προς βήμα όλες τις

εντολές του προγράμματος ή του λογικού διαγράμματος, όπως θα τις εκτελούσε ο

ηλεκτρονικός υπολογιστής. Σε κάθε βήμα σημειώνει τις τιμές των μεταβλητών ή των

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

πίνακας στον οποίο καταχωρούνται:

i. Οι τιμές των σταθερών (εάν υπάρχουν).

ii. Οι αρχικές τιμές των μεταβλητών καθώς και οι τιμές τους μετά από κάθε

αλλαγή.

iii. Οι αποφάσεις και οι τιμές τους όταν αλλάζουν.

iv. Οι δείκτες και το περιεχόμενο των πινάκων.

v. Η παρουσίαση των μηνυμάτων και των αποτελεσμάτων του προγράμματος ή

του λογικού διαγράμματος. Η παρουσίαση θεωρείται ανεξάρτητη από το κύριο

πρόγραμμα ή τα υποπρογράμματα (συνάρτηση ή διαδικασία, αν υπάρχουν)

και είναι ενιαία (δηλαδή, όπως θα εμφανιζόταν στην οθόνη του Η.Υ. μετά την

εκτέλεση του προγράμματος).

Για σκοπούς εξοικονόμησης χώρου τα βήματα της προκαταρκτικής εκτέλεσης δεν

είναι αναγκαίο να παρουσιάζονται οπωσδήποτε σε ξεχωριστές γραμμές (βλέπε

παραδείγματα).

26

Page 27: pl_logika_c_lykiou

Δομές Προγραμματισμού (α) Ακολουθιακή Δομή Να γίνει η προκαταρκτική εκτέλεση του πιο κάτω προγράμματος με τιμές εισόδου:

5.5, 8.0

Program Trigono; Uses Wincrt; Var Katheti1, Katheti2, Ypoteinousa, Perimetros, Emvadon : Real; Begin Write('Δώσε το μήκος της κάθετης 1:'); Readln(Katheti1); Write('Δώσε το μήκος της κάθετης 2:'); Readln(Katheti2); Ypoteinousa := SQRT(SQR(Katheti1) + SQR(Katheti2)); Perimetros := Katheti1 + Katheti2 + Ypoteinousa ; Emvadon := Katheti1 * Katheti2 / 2; Writeln('Κάθετη 1 :',Katheti1:6:2); Writeln('Κάθετη 2 :',Katheti2:6:2); Writeln('Υποτείνουσα :',Ypoteinousa:6:2); Writeln('Περίμετρος :',Perimetros:6:2); Writeln('Εμβαδό :',Emvadon:6:2) End.

Μεταβλητές

Katheti1 Katheti2 Ypoteinousa Perimetros Emvadon Παρουσίαση

5.5 8.0

9.71 23.21 22.00

Δώσε το μήκος της κάθετης 1: Δώσε το μήκος της κάθετης 2: Κάθετη 1:5.50ٱٱ Κάθετη 2:8.00ٱٱ Υποτείνουσα :9.71ٱٱ Περίμετρος :23.21ٱ Εμβαδό :22.00ٱ

27

Page 28: pl_logika_c_lykiou

(β) Δομή Διακλάδωσης και Περιπτωσιακή Δομή Παράδειγμα 1: Να γίνει η προκαταρκτική εκτέλεση του πιο κάτω προγράμματος με

τιμές εισόδου: 2000, 100

Program Rent_A_Car; Uses Wincrt; Var Kivismos : Integer; Timi, Poso, Ekptosi : Real; Begin Ekptosi := 0.0; Write('Δώσε τον κυβισμό :'); Readln(Kivismos); Write('Δώσε την αρχική τιμή:'); Readln(Timi); If Kivismos >= 1500 Then Ekptosi := Timi * 10/100; Poso := Timi - Ekptosi; Writeln('Ο κυβισμός είναι :',Kivismos:5); Writeln('Η αρχική τιμή είναι :',Timi:6:2); Writeln('Η έκπτωση είναι :',Ekptosi:6:2); Writeln('Η τιμή πληρωμής είναι:',Poso:6:2) End.

Μεταβλητές Απόφαση Παρουσίαση Ekptosi Kivismos Timi Poso Kivismos>=1500 Α/Ψ

0.0 2000 100 2000>=1500 Α

10.0 90.0

Δώσε τον κυβισμό: Δώσε την αρχική τιμή: Ο κυβισμός είναι :2000ڤ Η αρχική τιμή είναι :100.00 Η έκπτωση είναι :10.00ڤ Η τιμή πληρωμής είναι :90.00ڤ

28

Page 29: pl_logika_c_lykiou

Παράδειγμα 2: Να γίνει η προκαταρκτική εκτέλεση του πιο κάτω προγράμματος με

τιμές εισόδου για την περίπτωση 1: M, 45 και για την περίπτωση 2: F, 28 .

Program Insurance;

Uses Wincrt;

Var

Age, Asfalistra : Integer;

Sex : Char;

Begin

Write('Δώσε το φύλο :');

Readln(Sex);

Write('Δώσε την ηλικία :');

Readln(Age);

If Sex = 'M' Then

If Age < 25 Then

Asfalistra := 300

Else

Asfalistra := 250

Else

If Age < 21 Then Asfalistra := 200

Else Asfalistra := 150;

Writeln('Ασφάλιστρα :',Asfalistra:4)

End.

Περίπτωση 1 Μεταβλητές Απόφαση Παρουσίαση

Age Asfalistra Sex Sex=’M’ Α/Ψ Age<25 Α/Ψ Μ 45

250 Μ=Μ Α 45<25 Ψ

Δώσε το φύλο : Δώσε την ηλικία : Ασφάλιστρα :250ڤ

Περίπτωση 2

Μεταβλητές Απόφαση Παρουσίαση Age Asfalistra Sex Sex=’M’ Α/Ψ Age<21 Α/Ψ F 28

150 F=Μ Ψ 28<21 Ψ

Δώσε το φύλο : Δώσε την ηλικία : Ασφάλιστρα :150ڤ

29

Page 30: pl_logika_c_lykiou

Περιπτωσιακή Δομή

Να γίνει η προκαταρκτική εκτέλεση του πιο κάτω προγράμματος με τιμές εισόδου :

Μaria, 4 .

Program Eniaio; Uses Wincrt; Var Name : String; Code : Integer; Begin Write('Δώσε το όνομα :'); Readln(Name); Write('Δώσε τον κωδικό :'); Readln(Code); Case Code OF 1: Writeln('ΒΙΟΛΟΓΙΑ'); 2: Writeln('ΜΑΘΗΜΑΤΙΚΑ); 3: Writeln('ΕΛΛΗΝΙΚΑ'); 4: Writeln('ΠΛΗΡΟΦΟΡΙΚΗ'); 5: Writeln('ΙΣΤΟΡΙΑ'); 6: Writeln('ΤΕΧΝΗ') Else Writeln('Μη επιτρεπτός κωδικός αριθμός') End End.

Μεταβλητές Περίπτωση Code (Α/Ψ) Name Code 1 2 3 4 5 6 Αλλιώς

Παρουσίαση

Maria 4 Α

Δώσε το όνομα : Δώσε τον κωδικό : ΠΛΗΡΟΦΟΡΙΚΗ

30

Page 31: pl_logika_c_lykiou

(γ) Επαναληπτική Δομή

Παράδειγμα 1: Να γίνει η προκαταρκτική εκτέλεση του πιο κάτω προγράμματος.

Program Average; Uses Wincrt; Var No, Sum, Metritis : Integer; Mesos : Real; Begin Sum := 0; Metritis := 0; For No := 10 To 15 Do Begin Sum := Sum + No; Metritis := Metritis + 1 End; Mesos := Sum / Metritis; Writeln('Ο μέσος όρος είναι :',Mesos:6:2) End.

Μεταβλητές Απόφαση Παρουσίαση Νo Sum Metritis Mesos No<=15 Α/Ψ 10 0 0 10<=15 Α

10 1 11 21 2 11<=15 Α 12 33 3 12<=15 Α 13 46 4 13<=15 Α 14 60 5 14<=15 Α 15 75 6 15<=15 Α

12.5

Ο μέσος όρος είναι :12.50ڤ

31

Page 32: pl_logika_c_lykiou

Παράδειγμα 2: Να γίνει η προκαταρκτική εκτέλεση του πιο κάτω προγράμματος.

Program Sum_Of_Odd_Nos; Uses Wincrt; Var Arithmos, Sum : Integer; Begin Sum := 0; Arithmos := 1; While Arithmos <= 11 Do Begin Sum := Sum + Arithmos; Arithmos := Arithmos + 2 End; Writeln(' Το άθροισμα των μονών αριθμών (1-11) είναι :',Sum:5) End.

Μεταβλητές Απόφαση Παρουσίαση Arithmos Sum Arithmos<=11 Α/Ψ

1 0 1<=11 Α 1

3 4 3<=11 Α 5 9 5<=11 Α 7 16 7<=11 Α 9 25 9<=11 Α

11 36 11<=11 Α 13 13<=11 Ψ

Το άθροισμα των μονών αριθμών (1-11) είναι :36ڤڤڤ

32

Page 33: pl_logika_c_lykiou

Παράδειγμα 3: Να γίνει η προκαταρκτική εκτέλεση του πιο κάτω προγράμματος.

Program Sum_Of_Odd_Nos; Uses Wincrt; Var Arithmos, Sum : Integer; Begin Sum := 0; Arithmos := 1; Repeat Sum := Sum + Arithmos; Arithmos := Arithmos + 2 Until Arithmos > 11; Writeln(' Το άθροισμα των μονών αριθμών (1-11) είναι :',Sum:5) End.

Μεταβλητές Απόφαση Παρουσίαση Arithmos Sum Arithmos>11 Α/Ψ

1 0 3 1 3>11 Ψ 5 4 5>11 Ψ 7 9 7>11 Ψ 9 16 9>11 Ψ

11 25 11>11 Ψ 13 36 13>11 Α

Το άθροισμα των μονών αριθμών (1-11) είναι :36ڤڤڤ

33

Page 34: pl_logika_c_lykiou

Υποπρογράμματα - Συναρτήσεις

Παράδειγμα 1: Να γίνει η προκαταρκτική εκτέλεση του πιο κάτω προγράμματος με

τιμές εισόδου: 10.5, 12.5 .

Μεταβλητές Mikos Platos Perim

Παρουσίαση

10.5 12.5 46

Δώσε το μήκος : Δώσε το πλάτος : Το εμβαδόν είναι : 131.25ٱٱ Η περίμετρος είναι : 46.00ٱٱٱ

Function Calculate

Τυπικές παράμετροι Τοπικές μεταβλητές M P Emvadon Perimetros

Calculate

10.5 12.5 131.25 46 46

Program Demo1;

Uses Wincrt;

Var

Mikos, Platos, Perim :Real;

Function Calculate (M, P:Real):Real;

Var

Emvadon, Perimetros:Real;

Begin

Emvadon := P * M;

Perimetros := 2.0 * (M + P);

Writeln('Tο εμβαδόν είναι :',Emvadon:8:2);

Calculate := Perimetros

End;

Begin Κύριο Πρόγραμμα

Write('Δώσε το μήκος :');

Readln(Mikos);

Write('Δώσε το πλάτος :');

Readln(Platos);

Perim := Calculate(Mikos, Platos);

Writeln('H περίμετρος είναι :',Perim:8:2)

End.

34

Page 35: pl_logika_c_lykiou

Παράδειγμα 2: Να γίνει η προκαταρκτική εκτέλεση του πιο κάτω προγράμματος με

τιμές εισόδου: 5, 10 .

Program Megaliteros; Uses Wincrt; Var Arithmos1, Arithmos2 :Integer; Function Bigger(Num1, Num2 :Integer):Integer; Begin If Num1 > Num2 Then Bigger := Num1 Else Bigger := Num2 End; BeginΚύριο Πρόγραμμα Write('Δώσε δύο ακέραιους αριθμούς :’); Readln(Arithmos1, Arithmos2); Writeln('Ο μεγαλύτερος είναι :', Bigger(Arithmos1, Arithmos2):6) End.

Μεταβλητές Arithmos1 Arithmos2

Παρουσίαση

5 10

Δώσε δύο ακέραιους αριθμούς : Ο μεγαλύτερος είναι :10ٱٱٱٱ

Function Bigger

Τυπικές παράμετροι Απόφαση Num1 Num2 Num1>Num2 Α/Ψ

Bigger

5 10 5>10 Ψ 10

35

Page 36: pl_logika_c_lykiou

Υποπρογράμματα – Διαδικασίες

Παράδειγμα 1: Να γίνει η προκαταρκτική εκτέλεση του πιο κάτω προγράμματος με

τιμές εισόδου:10, 12, 3.

Μεταβλητές Len Wid Heit

Παρουσίαση

10 12 3

Δώσε το μήκος : Δώσε το πλάτος : Δώσε το ύψος : Η περίμετρος είναι : 82ٱٱٱٱ Ο όγκος είναι : 360ٱٱٱ

Procedure Perivol Τυπικές Παράμετροι Τιμών Τoπικές μεταβλητές

Length Width Height Perimeter Volume 10 12 3 82 360

Program Vol_Per;

Uses Wincrt;

Var

Len, Wid, Heit :Integer;

Procedure Perivol(Length,Width,Height:Integer);

Var

Perimeter, Volume:Integer;

Begin

Perimeter := Length + 2 * Width * Height;

Volume := Length * Width * Height;

Writeln('Η περίμετρος είναι :',Perimeter:6);

Writeln('Ο όγκος είναι :',Volume:6)

End;

Begin Κύριο Πρόγραμμα

Write('Δώσε το μήκος :');

Readln(Len);

Write('Δώσε το πλάτος :');

Readln(Wid);

Write('Δώσε το ύψος :');

Readln(Heit);

Perivol(Len,Wid,Heit)

End.

36

Page 37: pl_logika_c_lykiou

Παράδειγμα 2: Να γίνει η προκαταρκτική εκτέλεση του πιο κάτω προγράμματος με

τιμές εισόδου:10, 12, 3.

Program Vol_Per; Uses Wincrt; Var Len, Wid, Heit :Integer; Perim, Vol : Integer; Procedure Perivol(Length,Width,Height:Integer;Var Perimeter, Volume:Integer); Var Begin Perimeter := Length + 2 * Width * Height; Volume := Length * Width * Height End; Begin Κύριο Πρόγραμμα Write('Δώσε το μήκος :'); Readln(Len); Write('Δώσε το πλάτος :'); Readln(Wid); Write('Δώσε το ύψος :'); Readln(Heit); Perivol(Len,Wid,Heit, Perim, Vol); Writeln('Η περίμετρος είναι :',Perim:6); Writeln('Ο όγκος είναι :',Vol:6) End.

Μεταβλητές Παρουσίαση Len Wid Heit Perim Vol 10 12 3 82 360

Δώσε το μήκος : Δώσε το πλάτος : Δώσε το ύψος : Η περίμετρος είναι : 82ٱٱٱٱ Ο όγκος είναι : 360ٱٱٱ

Procedure Perivol Τυπικές Παράμετροι Τιμών Τυπικές Παράμετροι Αναφοράς

Length Width Height Perimeter Volume 10 12 3 82 360

37

Page 38: pl_logika_c_lykiou

Μονοδιάστατοι Πίνακες

Παράδειγμα 1: Να γίνει η προκαταρκτική εκτέλεση του πιο κάτω προγράμματος με

τιμές εισόδου: 10, 20, 30, 40, 50 .

Program Pinakes; Uses Wincrt;

Const Low=1; High=5; Type

List = Array[Low..High] of Integer; Var Lista : List;

I : Integer; Begin For I := Low to High Do

Begin Write('Δώσε τον αριθμό :'); Readln(Lista[I])

End; Writeln('Αντίστροφα οι αριθμοί είναι :'); For I := High Downto Low Do

Writeln(Lista[I]:5) End.

Σταθερές Μεταβλητές Απόφαση

Πίνακας Lista Low High I

Δείκτης Περιεχόμενο

I<=5 I>=1 Α/Ψ

Παρουσίαση

1 5 1 1 10 1<=5 Α

2 2 20 2<=5 Α

3 3 30 3<=5 Α

4 4 40 4<=5 Α

5 5 50 5<=5 Α

5 5 5>=1 Α

4 4 4>=1 Α

3 3 3>=1 Α

2 2 2>=1 Α

1 1 1>=1 Α

Δώσε τον αριθμό :

Δώσε τον αριθμό : Δώσε τον αριθμό : Δώσε τον αριθμό : Δώσε τον αριθμό : Αντίστροφα οι αριθμοί είναι :

50ٱٱٱ

40ٱٱٱ

30ٱٱٱ

20ٱٱٱ

10ٱٱٱ

38

Page 39: pl_logika_c_lykiou

Παράδειγμα 2: Να γίνει η προκαταρκτική εκτέλεση του πιο κάτω προγράμματος.

Program Pinakes2;

uses wincrt;

Type

pin = array[1..6] of integer;

Var

a:pin;

i:integer;

Begin

For i := 1 to 5 do

a[i] := i * 3;

For i := 1 to 4 do

a[i+1] := i * a[i];

For i := 1 to 5 do

writeln(a[i]:5)

End.

Μεταβλητές Απόφαση Πίνακας a i

Δείκτης Περιεχόμενο i <=5 i<=4 i<=5 Α/Ψ

Παρουσίαση

1 1 3 1<=5 A 2 2 6 2<=5 A 3 3 9 3<=5 A 4 4 12 4<=5 A 5 5 15 5<=5 A 1 2 3 1<=4 A 2 3 6 2<=4 A 3 4 18 3<=4 A 4 5 72 4<=4 A 1 1 1<=5 A 2 2 2<=5 A 3 3 3<=5 A 4 4 4<=5 A 5 5 5<=5 A

3ٱٱٱٱ 3ٱٱٱٱ 6ٱٱٱٱ 18ٱٱٱ 72ٱٱٱ

39

Page 40: pl_logika_c_lykiou

Πίνακες δύο Διαστάσεων

Παράδειγμα 1: Να γίνει η προκαταρκτική εκτέλεση του πιο κάτω προγράμματος με

τιμές εισόδου:3, 2, -1, 0, 6, 8, 11, 2, 10.

End.

Writeln('Το άθροισμα της κύριας διαγωνίου είναι :',Sum:6)

Sum := Sum + A[I,J];

If I = J Then

For J := 1 to Max Do

For I := 1 to Max Do

Sum := 0;

Readln(A[I,J]);

For J := 1 to Max Do

For I := 1 to Max Do

Writeln('Δώσε τις τιμές του πίνακα :');

Begin

I,J,Sum : Integer;

A : Pin;

Var

Pin = Array[1..Max,1..Max] of Integer;

Type

Max = 3;

Const

Uses Wincrt;

Program Pinakes_Dis;

40

Page 41: pl_logika_c_lykiou

41

Σταθερά Μεταβλητές Απόφαση

Πίνακας A Max Sum I J

Δείκτες Περιεχόμενο

I<=Max Α/Ψ J<=Max Α/Ψ I =J Α/Ψ

Παρουσίαση

3 1 1 1,1 3 1<=3 A 1<=3 A

2 1,2 2 2<=3 A

3 3 1 3 A1, - 3<=

2 1 2,1 0 2<=3 A 1<=3 A

2 2,2 6 2<=3 A

3 2,3 8 3<=3 A

3 1 3,1 11 3<=3 A 1<=3 A

2 3,2 2 2<=3 A

3 3,3 10 3<=3 A

0

3 1 1 1,1 1<=3 A 1<=3 A 1=1 Α

2 1,2 2<=3 A 1=2 Ψ

3 1,3 3<=3 A 1=3 Ψ

2 1 2,1 2<=3 A 1<=3 A 2=1 Ψ

9 2 2,2 2<=3 A 2=2 Α

3 2,3 3<=3 A 2=3 Ψ

3 1 3,1 3<=3 A 1<=3 A 3=1 Ψ

2 3,2 2<=3 A 3=2 Ψ

19 3 3,3 3<=3 A 3=3 Α

Δώσε τις τιμές του πίνακα :

Το άθροισμα της κύριας διαγωνίου είναι :19ٱٱٱٱ

Page 42: pl_logika_c_lykiou

Παράδειγμα 2: Να γίνει η προκαταρκτική εκτέλεση του πιο κάτω προγράμματος με

τιμές εισόδου:3, 2, -1, 0, 6, 8, 11, 2, 10.

Program Pinakes_Dis_1; Uses Wincrt; Const Max = 3; Type Pin = Array[1..Max,1..Max] of Integer; Var A : Pin; I,J,Sum : Integer; Procedure Isodos(Var P:Pin); Begin Writeln('Δώσε τις τιμές του πίνακα :'); For I := 1 to Max Do For J := 1 to Max Do Readln(P[I,J]) End; Function Calculate(P:Pin):Integer; Var Total : Integer; Begin Total := 0; For I := 1 to Max Do For J := 1 to Max Do If I = J Then Total := Total + P[I,J]; Calculate := Total End; Begin Κύριο Πρόγραμμα Isodos(A); Sum := Calculate(A); Writeln('Το άθροισμα της κύριας διαγωνίου είναι :',Sum:6) End.

42

Page 43: pl_logika_c_lykiou

Σταθερές Μεταβλητές Πίνακας A Max Sum

Δείκτες Περιεχόμενο

Παρουσίαση

3 1,1 3 1,2 2 1,3 -1 2,1 0 2,2 6 2,3 8 3,1 11 3,2 2 3,3 10 19 1,1 3

Δώσε τις τιμές του πίνακα : Το άθροισμα της κύριας διαγωνίου είναι :19ٱٱٱٱ

Procedure Isodos

Καθολικές Μεταβλητές

Τυπικές παράμετροι αναφοράς

Απόφαση

Πίνακας P I J Δείκτες Περιεχόμενο

I<=Max Α/Ψ J<=Max Α/Ψ

1 1 1,1 3 1<=3 A 1<=3 A 2 1,2 2 2<=3 A 3 1,3 -1 3<=3 A

2 1 2,1 0 2<=3 A 1<=3 A 2 2,2 6 2<=3 A 3 2,3 8 3<=3 A

3 1 3,1 11 3<=3 A 1<=3 A 2 3,2 2 2<=3 A 3 3,3 10 3<=3 A

Function Calculate

Μεταβλητές Τοπικές Καθολικές

Τυπικές παράμετροι Απόφαση

Πίνακας P Total I J Δείκτες Περιεχόμενο

I<=Max Α/Ψ J<=Max Α/Ψ I = J Α/Ψ

0 3 1 1 1,1 3 1<=3 A 1<=3 A 1=1 Α 2 1,2 2 2<=3 A 1=2 Ψ 3 1,3 -1 3<=3 A 1=3 Ψ 2 1 2,1 0 2<=3 A 1<=3 A 2=1 Ψ

9 2 2,2 6 2<=3 A 2=2 Α 3 2,3 8 3<=3 A 2=3 Ψ 3 1 3,1 11 3<=3 A 1<=3 A 3=1 Ψ 2 3,2 2 2<=3 A 3=2 Ψ

19 3 3,3 10 3<=3 A 3=3 Α

Σημείωση: Οι καθολικές μεταβλητές μπορούν να παρουσιάζονται και στον πίνακα

προκαταρκτικής εκτέλεσης του κυρίως προγράμματος.

43

Page 44: pl_logika_c_lykiou

ΒΙΒΛΙΟΓΡΑΦΙΑ 1. “Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον”. Γ ΄ Λυκείου

Τεχνολογική Κατεύθυνση – Βιβλίο καθηγητή

Αντωνάκος Νίκος, Βογιατζής Ιωάννης, Κατοπόδης Ιωάννης, Πατριαρχέας

Κυριάκος. Υπουργείο Παιδείας και Θρησκευμάτων – Παιδαγωγικό Ινστιτούτο.

Αθήνα 1999.

2. “Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον”. Γ ΄ Λυκείου

Τεχνολογική Κατεύθυνση – Τετράδιο μαθητή.

Αντωνάκος Νίκος, Βογιατζής Ιωάννης, Κατοπόδης Ιωάννης, Πατριαρχέας

Κυριάκος. Υπουργείο Παιδείας και Θρησκευμάτων – Παιδαγωγικό Ινστιτούτο.

Αθήνα 1999.

3. “Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον”. Γ ΄ Λυκείου

Τεχνολογική Κατεύθυνση – Βιβλίο μαθητή.

Αντωνάκος Νίκος, Βογιατζής Ιωάννης, Κατοπόδης Ιωάννης, Πατριαρχέας

Κυριάκος. Υπουργείο Παιδείας και Θρησκευμάτων – Παιδαγωγικό Ινστιτούτο.

Αθήνα 1999.

4. “Προγραμματισμός υπολογιστών με Visual Basic”. Βιβλίο μαθητή. Τομέας

ηλεκτρονικών 2ος κύκλος.

Βουτυράς Γεώργιος, Βιδιαδάκης Ανδρέας, Ματζάκος Πέτρος, Σκουρλάς Χρήστος.

Οργανισμός Εκδόσεων Διδακτικών Βιβλίων, Αθήνα.

5. “Computer programming in the Pascal Language”. By Neal Golden, Antonio M.

Lopez, Jr. Harcourt Brace Jovanovich, Publishers.

6. “Pascal – The software fundamentals of computer science”.

By Richard A, Meyers. Prentice-Hall International Editions.

7. “Software Engineering. A Practitioner’s Approach” .Third Edition. By

Roger S. Pressman. McGraw Hill International Edition – 1992.

8. “Computing: An Introduction to Procedures and Procedure – Followers”. By Fred

M. Tonge and Julian Feldman. McGraw-Hill Book Company.

9. “Computers and Information Systems”. Third edition. By H. L Capron and John

D. Perron. The Benjamin / Cummings Publishing Company, Inc.

10. “FORTRAN a structured, disciplined style” . By Gordon B. Davis, Thomas

R. Hoffmann. McGraw – Hill Company.

11. “Computer programming in the Basic Language”. Third Edition.

By Neal Golden. Harcourt Brace Jovanovich, Publishers.

44

Page 45: pl_logika_c_lykiou

12. “Computer programming in the Basic Language”. Teachers manual and

resource guide. Third Edition. By Neal Golden. Harcourt Brace

Jovanovich, Publishers.

13. “Basic for students using the IBM PC”. Second edition By Michael

Trombetta. Addison – Wesley Publishing Company.

14. “Microsoft Basic using Modular Structure”. Third Edition. By: Julia Case

Bradley. WCB –1991.

15. “Structured VAX Basic and Basic-Plus”. Second Edition. By: Teglovic Jr.

and Kenneth D. Douglas. IRWIN-1987.

16. ”Understanding Computer Science for Advanced Level”. Fourth Edition. By: R.

Bradley. Stanley Thornes Publishers Ltd 1999.

45