Δομή του προγράμματος

Σχετικά έγγραφα
PROGRAM example Η αρχή και το όνοµα του προγράµµατος IMPLICIT NONE REAL:: moires, aktinia moires = 180. aktinia = moires * / 180.

(i) PROGRAM example. IMPLICIT NONE REAL:: moires, aktinia moires = 180 aktinia = moires * / aktinia STOP END

ιαφάνειες παρουσίασης #2

ιαφάνειες παρουσίασης #3

ιαφάνειες παρουσίασης #1

Δομημένος Προγραμματισμός (ΤΛ1006)

Υπολογισμός - Εντολές Επανάληψης

Βασικές Αρχές Προγραμματισμού

Δομές ελέγχου. ομαδοποίηση εντολών εκτέλεση εντολών υπό συνθήκη επανάληψη εντολών

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

Προγραμματισμός Η/Υ (ΤΛ2007 )

Εισαγωγή στον Προγραμματισμό

Προγραμματισμός Ι (ΗΥ120)

Εισαγωγή στη Fortran. Μάθημα 1 ο. Ελευθερία Λιούκα

Ανάπτυξη και Σχεδίαση Λογισμικού

ΕΙ ΑΓΩΓΉ ΣΗΝ FORTRAN

Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

Προγραμματισμός Η/Υ (ΤΛ2007 )

ιαδικαστικός Προγραμματισμός

Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α. Σπυρόπουλος Α. Μπουντουβής

Γλώσσα Προγραμματισμού C

ΦΥΛΛΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ 1

2.1. Εντολές Σχόλια Τύποι Δεδομένων

Διαδικασιακός Προγραμματισμός

Pascal, απλοί τύποι, τελεστές και εκφράσεις

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

Εισαγωγή στη γλώσσα προγραμματισμού C++

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

8. Συνθήκες ελέγχου, λογικοί τελεστές

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Γραφικά υπολογιστών Εργαστήριο 1 Εισαγωγή στην Python

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

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

Εισαγωγή στην γλώσσα προγραμματισμού C

Εισαγωγή στον Προγραμματισμό

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επιλογής. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

ΕΠΛ031 - Εισαγωγή στον Προγραμματισμό

Υπολογισμός - Εντολές Ελέγχου

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων

Δομή προγράμματος στη Fortran

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Μορφοποίηση της εξόδου

Προγραμματισμός Ι (ΗΥ120)

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL

Δομή προγράμματος στη Fortran

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

9. Εντολές επανάληψηςκαι η εντολή

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Fortran και Αντικειμενοστραφής προγραμματισμός.

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Δομές ελέγχου ροής προγράμματος

ΗΥ-150. Προγραμματισμός

Προγραμματισμός Η/Υ (ΤΛ2007 )

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

Λογικό "και" (AND) μας επιστρέφει 1 αν και οι δύο operands είναι όχι μηδέν, διαφορετικά 0)

Προγραμματισμός Ι (HY120)

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

ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης)

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

ΗΥ-150. Προγραμματισμός

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προσέξτε πως η παράσταση μπορεί να περιλαμβάνει όχι μόνο μία τιμή ή μια άλλη μεταβλητή αλλά μια ολόκληρη μαθηματική παράσταση, όπως η εξής:

Εντολές επιλογής Επαναλήψεις (if, switch, while)

ικτυακά Πολυμέσα Ι (Β Έτος, 3ο εξ) ιάλεξη #8η: Javascript: Τεχνικές εντοπισμού/διόρθωσης λαθών, τελεστές, δομές ελέγχου, βρόχοι επανάληψης

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Οι εντολές ελέγχου της ροής ενός προγράμματος.

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

ΕΠΛ 012. JavaScripts

Μέρος 2 Κατασκευή Συντακτικού Αναλυτή

Ενότητα 4: «Εισαγωγή στον Προγραμματισμό. Τα πρώτα προγράμματα σε γλώσσα C»

Pascal. 15 Νοεμβρίου 2011

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Εργαστήριο 5. Εντολή if και παραλλαγές: if-else, πολλαπλές if, πολλαπλές if-else. Απλές και σύνθετες εντολές. Εντολή switch.

Η γλώσσα προγραμματισμού C

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές

Εισαγωγή στον Προγραμματισμό

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

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

Transcript:

Δομή του προγράμματος (i) PROGRAM example Η αρχή και το όνομα του προγράμματος IMPLICIT NONE χαρακτηριστική δήλωση REAL:: moires, aktinia δηλώσεις μεταβλητών moires = 180 aktinia = moires * 3.14159 / 180.0 WRITE(*,*) Η γωνία σε ακτίνια είναι:, aktinia εκτελέσιμες εντολές STOP τέλος εκτέλεσης END 1

Δομή του προγράμματος (C) (i) #include <stdio.h> int i, j; void main() { i=15; j=23; printf("sum of i and j is: "); i=i+j; printf("%d", i); } 2

Δομή του προγράμματος (ii) Επικεφαλίδα PROGRAM όνομα προγράμματος Κυρίως σώμα Specification Part (δηλωτικές εντολές) Execution Part (εκτελέσιμες εντολές) Subprogram Part (υπο-προγράμματα) END ή END PROGRAM όνομα προγράμματος Εντολή STOP τερματίζει την εκτέλεση του προγράμματος. Μπορεί να χρησιμοποιηθεί μία ή περισσότερες φορές. Συχνά εμφανίζεται πριν το END και γι αυτό παραλείπεται. 3

Δομή του προγράμματος (iii) Δηλώσεις μεταβλητών μεταβλητή: ένα «κουτί» της μνήμης του υπολογιστή όπου μπορεί να αποθηκευτεί μια πληροφορία (ένα δεδομένο) στο τμήμα δηλώσεων (που βρίσκεται πάντα στην αρχή του προγράμματος) ορίζουμε όλες τις μεταβλητές που χρησιμοποιεί το πρόγραμμα για κάθε μεταβλητή ορίζουμε το όνομά της και τον τύπο της, δηλαδή το πεδίο των δυνατών τιμών που μπορεί η μεταβλητή να πάρει INTEGER:: i,j,k, 4

Δομή του προγράμματος (iv) Απλοί τύποι μεταβλητών INTEGER ακέραιοι αριθμοί 0, 1, 3 REAL πραγματικοί αριθμοί 3.14 (τελεία όχι κόμμα) CHARACTER χαρακτήρες 'a' LOGICAL λογικές τιμές.true. ή.false. COMPLEX μιγαδικοί αριθμοί (-10.0, 8.0) Δήλωση περισσότερων μεταβλητών INTEGER:: i, j, k, REAL:: a, b, x, CHARACTER (LEN=4):: mera, minas, etos, LOGICAL:: m, n COMPLEX:: c, e 5

Δομή του προγράμματος (v) Σχόλια INTEGER:: x,y!οι συντεταγμένες του κέντρου REAL:: r!η ακτίνα Κεφαλαίοι ή πεζοί χαρακτήρες; Η γλώσσα δεν είναι case sensitive Στοίχιση Απαραίτητη για να τρέχει σωστά το πρόγραμμα και να είναι ευανάγνωστο Κάθε εντολή σε μία γραμμή. Αν δεν αρκεί μία γραμμή τη συνεχίζω σε περισσότερες προσθέτοντας τον χαρακτήρα & στο τέλος κάθε γραμμής. Αν θέλω περισσότερες από μία εντολές σε μία γραμμή τις χωρίζω με ελληνικό ερωτηματικό ; 6

Δομή του προγράμματος (vi) Υποπρογράμματα επικεφαλίδα PROGRAM example IMPLICIT NONE INTEGER:: i, j, athroisma i=15 j=23 CALL Prosthesi(i,j,athroisma)!κλήση υπορουτίνας WRITE (*,*) To athroisma einai:, athroisma END SUBROUTINE Prosthesi(a,b,athr) IMPLICIT NONE INTEGER:: a, b, athr athr = a+b END κυρίως σώμα υπορουτίνα 7

Δομή του προγράμματος (C) (vi) Υποπρογράμματα #include <stdio.h> int i, j; void add(); { i=i+j; } void main() { i=15; j=23; printf("sum of i and j is: "); add(); printf("%d", i); } 8

Τί σημαίνει ορθό πρόγραμμα (i) Συντακτική ορθότητα το πρόγραμμα πρέπει να υπακούει στους συντακτικούς κανόνες της γλώσσας προγραμματισμού Συντακτικά σφάλματα στην Fortran εμφανίζονται όταν δεν ικανοποιείται η καθορισμένη σύνταξη παράδειγμα: (PROGRAM) example 9

Τί σημαίνει ορθό πρόγραμμα (ii) Νοηματική ορθότητα το πρόγραμμα πρέπει να υπακούει τους νοηματικούς κανόνες της γλώσσας προγραμματισμού Νοηματικά σφάλματα στην Fortran εσφαλμένη χρήση τελεστών n = 'a' + 1 χρήση μεταβλητών χωρίς δήλωση IMPLICIT NONE INTEGER:: n,i n = i + j 10

Τί σημαίνει ορθό πρόγραμμα (iii) Σημασιολογική ορθότητα όταν το πρόγραμμα εκτελείται, πρέπει να κάνει ακριβώς αυτό που θέλουμε να κάνει Σημασιολογικά σφάλματα στην Fortran προέρχονται από την κακή σχεδίαση ή την κακή υλοποίηση του προγράμματος αυτά τα σφάλματα ονομάζονται συνήθως bugs και η διαδικασία εξάλειψής τους debugging x = (-b + sqr(b*b-4*a*c))/(2*a) sqrt διαίρεση με το μηδέν 11

Τί σημαίνει ορθό πρόγραμμα (iv) Ο μεταγλωττιστής μπορεί να εντοπίσει σε ένα πρόγραμμα την ύπαρξη συντακτικών σφαλμάτων νοηματικών σφαλμάτων Τυπώνει κατάλληλα μηνύματα σφάλματος Ο προγραμματιστής είναι υπεύθυνος για τη διόρθωση των παραπάνω τον εντοπισμό και τη διόρθωση σημασιολογικών σφαλμάτων 12

Ανάθεση τιμής σε μεταβλητή Παραδείγματα αναθέσεων n = 2 pi = 3.14159 done = true ch = 'b' counter = counter + 1 x1 = (-b + sqrt(b*b-4*a*c))/(2*a) 13

Επικοινωνία με το χρήστη (i) Έξοδος στην οθόνη WRITE(*,*)'Hello world' WRITE(*,*) x WRITE(*,*) n+1 WRITE(*,*) x, y WRITE(*,*) 'Η τιμή του x είναι ', x Έξοδος με αλλαγή γραμμής WRITE(*,*)('hello world')!γίνεται αλλαγή γραμμής μετά το μήνυμα WRITE(*, '(A)', advance='no') 'hello world'!δεν γίνεται αλλαγή γραμμής στο τέλος του μηνύματος WRITE(*, '(A/A)') 'hello' 'world' ή WRITE(*,10) 'hello' 'world' 10 FORMAT(A/A)!γίνεται αλλαγή γραμμής μεταξύ των δύο strings 14

Επικοινωνία με το χρήστη (ii) Παράδειγμα PROGRAM example IMPLICIT NONE INTEGER n,m,athroisma WRITE(*,*) 'Προσθέτω δυο ακέραιους' WRITE(*,*)'Δώσε το n: ' READ(*,*), n WRITE (*,*)'Δώσε το m: ' READ(*,*), m athroisma = n + m WRITE(*,*)'Το άθροισμα ', n, ' + 'm,' είναι: ',athroisma STOP END 15

Επικοινωνία με το χρήστη (C) (ii) Παράδειγμα #include <stdio.h> void main() { int n, m, sum; printf("προσθέτω δύο ακεραίους\n"); printf("δώσε το n: "); scanf("%d\n",&n); printf("δώσε το m: "); scanf("%d\n",&m); sum = n + m; printf("το άθροισμα %d + %d είναι: ",n,m); printf("%d\n",sum); } 16

Αριθμητικές παραστάσεις (i) Απλές παραστάσεις σταθερές και μεταβλητές Απλές πράξεις πρόσθεση, αφαίρεση +, - πολλαπλασιασμός * διαίρεση / Ύψωση σε δύναμη ** πρόσημα +, - 17

Αριθμητικές παραστάσεις (ii) Προτεραιότητα τελεστών π.χ. 5+3*x-y 5+(3*x)-y Προσεταιριστικότητα τελεστών π.χ. x-y+1 (x-y)+1 Σειρά εκτέλεσης των πράξεων καθορίζεται εν μέρει από την προτεραιότητα και την προσεταιριστικότητα των τελεστών γενικά όμως εξαρτάται από την υλοποίηση π.χ. (x+1)*(y-1) 18

Λογικές παραστάσεις (i) Συγκρίσεις ισότητα, ανισότητα ==, /= μεγαλύτερο, μικρότερο >, < μεγαλύτερο ή ίσο, μικρότερο ή ίσο >=, <= Λογικές πράξεις σύζευξη (και).and. διάζευξη (ή).or. άρνηση (όχι).not. 19

Λογικές παραστάσεις (ii) Πίνακεςαλήθειαςλογικώνπράξεων p q P.AND. q p q p.or. q FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE TRUE TRUE TRUE FALSE FALSE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE p.not. p FALSE TRUE TRUE FALSE 20

Λογικές παραστάσεις (iii) Προτεραιότητα λογικών τελεστών.not. : μεγαλύτερη προτεραιότητα από όλους.and. : όπως ο πολλαπλασιασμός.or. : όπως η πρόσθεση π.χ..not. p.and. q.or. r ((.NOT. p).and. q) or r π.χ. x>3.and..not. y=5 Λάθος! x>(3.and. (.NOT. y))=5 π.χ. (x>3).and..not. (y=5) Σωστό 21

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

Εντολή IF (i) Εκτέλεση εντολών υπό συνθήκη Συντακτικό διάγραμμα boolean IF THEN statement expression ELSE statement if_statement 23

Εντολή IF (ii) Παραδείγματα IF (x>10) THEN x=x+1 END IF IF (age<10) THEN WRITE(*,*) 'παιδί' END IF IF ((year>1900).and.(year<=2000))then WRITE (*,*) '20ός αιώνας' END IF IF ((MOD(year,4)==0).AND. (MOD(year,100)/=0).OR. (MOD(year,400)==0).AND. (MOD(year,4000)/=0))THEN WRITE(*,*)'dis etos' END IF 24

Εντολή if (C) (ii) Παραδείγματα if (x>10) x = x+1; if (age<10) printf("παιδί"); if ((year>1900) && (year<=2000) printf("20ός αιώνας"); if ((year%4==0) && (year%100!=0) (year%400==0) && (year%4000!=0)) printf("δίσεκτο έτος"); 25

Εντολή IF (iii) Παραδείγματα (συνέχεια) IF (changed) THEN WRITE(*,*) 'Το αρχείο άλλαξε' changed =.FALSE. END IF IF (MOD(x,2)==0) THEN WRITE(*,*)'άρτιος' ELSE WRITE(*,*)'περιττός' END IF IF (mine) THEN me = 1 you = 0 ELSE me=0 you=1 END IF IF (x > y) THEN WRITE(*,*) 'μεγαλύτερο' ELSEIF (x < y) THEN WRITE(*,*)'μικρότερο' ELSE WRITE(*,*) 'ίσο' END IF 26

Εντολή if (C) (iii) Παραδείγματα (συνέχεια) if (changed) { printf("το αρχείο άλλαξε\n"); changed = 0; } if (x%2==0) printf("άρτιος"); else printf("περιττός"); if (mine) { me=1; you=0; } else { me=0; you=1; } if (x>y) printf("μεγαλύτερο"); else if (x<y) printf("μικρότερο"); else printf("ίσο"); 27

Εντολή IF (iv) Ένα ELSE αντιστοιχεί στο πλησιέστερο προηγούμενο IF που δεν έχει ήδη αντιστοιχιστεί σε άλλο ELSE Παράδειγμα IF (x>0) THEN IF (y>0) THEN WRITE(*,*) ' 1o τεταρτημόριο ' ELSEIF (y<0) THEN WRITE(*,*) '4o τεταρτημόριο ' ELSE!y=0 WRITE(*,*) 'άξονας των x END IF ELSE WRITE(*,*) ' αριστερό ημιεπίπεδο ' END IF 28

Εντολή if (C) (iv) Ένα else αντιστοιχεί στο πλησιέστερο προηγούμενο if που δεν έχει ήδη αντιστοιχιστεί σε άλλο else Παράδειγμα if (x>0) if (y>0) printf("πρώτο τεταρτημόριο"); else if (y<0) printf("τέταρτο τεταρτημόριο"); else printf("άξονας των x"); else printf(" αριστερό ημιεπίπεδο"); 29

Λογικά διαγράμματα ροής (i) Αρχή και τέλος Ολόκληρες λειτουργίες ή διαδικασίες Απλές εντολές Έλεγχος συνθήκης 30

Λογικά διαγράμματα ροής (ii) Λειτουργία εισόδου/εξόδου Επανάληψη (βρόχος) 31

Εντολή SELECT CASE (i) Εκτέλεση υπό συνθήκη για πολλές διαφορετικές περιπτώσεις Προσφέρεται π.χ. αντί του: IF (month==1) THEN WRITE(*,*) 'Ιανουάριος' ELSEIF (month==2) THEN WRITE(*,*) 'Φεβρουάριος' ELSEIF (month==3) THEN WRITE(*,*) 'Μάρτιος' ELSEIF...... ELSEIF (month==12) THEN WRITE(*,*) 'Δεκέμβριος ' ELSE WRITE(*,*) ' Λάθος Δεδομένα' END IF 32

Εντολή case (iii) Παραδείγματα SELECT CASE (month) case (1) WRITE(*,*) 'Ιανουάριος ' case (2) WRITE(*,*) 'Φεβρουάριος' case (3) WRITE(*,*) 'Μάρτιος'... case (12) WRITE(*,*) 'Δεκέμβριος ' case DEFAULT WRITE(*,*) ' wrong data ' END SELECT 33

Εντολή case (C) (iii) Παραδείγματα switch (month) { case 1: printf("ιανουάριος"); break; case 2: printf("φεβρουάριος"); break; case 3: printf("μάρτιος"); break;... case 12: printf("δεκέμβριος"); break; } switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: printf("31 μέρες"); break; case 4: case 6: case 9: case 11: printf("30 μέρες"); break; case 2: printf("28 ή 29"); break; } 34