Προγραμματισμός Ι Προτάσεις ελέγχου ροής Ο πιο συνηθισμένος τρόπος εκτέλεσης είναι ο ακολουθιακός: δύο ή περισσότερες προτάσεις βρίσκονται διατεταγμένες.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Προγραμματισμός Ι (αποφύγετέ τον!) 3) Διακοπτόμενος βρόχος: (αποφύγετέ τον!) float energy;......while(TRUE){drink_water(); if(energy
Advertisements

Δομές Διακλάδωσης Μην ελπίζεις ότι θα ξεφύγεις αν κάνεις κάποιο κακό. Γιατί κι αν ξεφύγεις απ’ τη προσοχή των άλλων, θα υποπέσεις στην αντίληψη της συνείδησής.
Ένα απλό πρόγραμμα σε C /* ********************************************* * This program prints out the sentence “This is a test.” * *********************************************
ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ.
Γλώσσα Προγραμματισμού
Προγραμματισμός Ι Παράδειγμα: Παράδειγμα: Να γραφεί πρόγραμμα που επιλύει δευτεροβάθμιες εξισώσεις. Να δέχεται ως είσοδο τους συντελεστές της εξίσωσης.
Τύποι πραγματικών αριθμών
Εντολες Επιλογης (Selection)
Βρόχος με συνθήκη εισόδου στη C, οδηγούμενος από μετρητή: for
Μεθοδολογίες Προγραμματισμού ΙΙ Μ Ε Τ Ρ Ι Κ Ε Σ ΑΝΤΚΕΙΜΕΝΟΣΤΡΕΦΟΥΣ ΣΧΕΔΙΑΣΗΣ Ποιότητα Λογισμικού Παναγιώτης Σφέτσος, PhD
ΜΑΘ-3122/106 Γλώσσα Προγραμματισμού
ΗΥ-150 Προγραμματισμός Εντολές Ελέγχου Ροής.
Δομές Διακλάδωσης «εάν ης φιλομαθής, έσει πολυμαθής» Ισοκράτης
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος δ
Γενική μορφή προγράμματος Pascal
Αρχές Προγραμματισμού (C). ...γράφοντας σωστά προγράμματα! (IIΙ)
Τελεστές ανάθεσης (assignment)
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΕΛΕΓΧΟΣ ΡΟΗΣ ΜΑΘΗΜΑ 4. ΑΚΟΛΟΥΘΙΑΚΗ ΕΚΤΕΛΕΣΗ ΠΡΟΤΑΣΕΩΝ ΠΡΟΤΑΣΗ Α ΠΡΟΤΑΣΗ Β ΠΡΟΤΑΣΗ Γ ………………. ΠΡΟΤΑΣΗ n ΠΡΟΤΑΣΗ Α ΠΡΟΤΑΣΗ Β ΠΡΟΤΑΣΗ Γ ………………. ΠΡΟΤΑΣΗ n.
ΤΕΛΕΣΤΕΣ - ΕΚΦΡΑΣΕΙΣ ΜΑΘΗΜΑ 4.
Προγραμματισμός Ι Προτάσεις επανάληψης - γενικά επαναλαμβάνουν ένα μπλοκ προτάσεωνΟι προτάσεις επανάληψης επαναλαμβάνουν ένα μπλοκ προτάσεων είτε για όσες.
Τι θα κάνουμε Στο υπάρχον σενάριο θα προστεθούν 3 λειτουργίες : Όταν το αυτοκίνητο βρίσκεται εκτός πίστας η μέγιστη δυνατή μονάδα μετατόπισής του θα μειώνεται.
ΕΠΑΝΑΛΗΨΗΕΠΑΝΑΛΗΨΗ ΠΡΟΓΡΑΜΜΑΤΑ. ΠΡΟΓΡΑΜΜΑ 1 ΕΞΗΓΗΣΤΕ ΤΙ ΕΞΟΔΟ ΠΑΡΑΓΕΙ ΤΟ ΠΑΡΑΚΑΤΩ ΠΡΟΓΡΑΜΜΑ #include int main() { char ch; int i; float fl; printf("dose.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
Υποθετικός τελεστής Ο υποθετικός τελεστής (?:) αποτελείται από δύο σύμβολα. Ανήκει στην κατηγορία των τελεστών που αποτελούνται από συνδυασμό συμβόλων.
Τελεστές (operators) – Εκφράσεις (expressions)
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
ΒΡΟΧΟΙ ΜΑΘΗΜΑ 5. ΒΡΟΧΟΙΒΡΟΧΟΙ Ο Βρόχος (loop) αποτελείται από προτάσεις επανάληψης. Οι προτάσεις επανάληψης είναι οι προτάσεις που επαναλαμβάνουν ένα.
1 Ολυμπιάδα Πληροφορικής Μάθημα 2. 2 Στόχοι μαθήματος Αριθμητικοί– Λογικοί Τελεστές Η εντολή IF.
ΣΥΝΑΡΤΗΣΕΙΣ.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
Eντολες Επαναληψης - Βροχοι (repetition and loops)
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΤΟ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΗΣ ΓΛΩΣΣΑΣ PASCAL ΠΑΡΟΥΣΙΑΣΗ ΠΑΡΑΔΕΙΓΜΑΤΟΣ: ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΜΕ ΤΙΣ ΤΡΕΙΣ ΕΠΑΝΑΛΗΠΤΙΚΕΣ.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ -150 Προγραμματισμός Εντολές Ελέγχου Ροής.
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 12: Παραγωγή Ενδιάμεσου Κώδικα (Σημασιολογικές ρουτίνες μετάφρασης-Μέρος Β) Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Επανάληψη.
Διαφάνειες παρουσίασης #2
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΚΕΦΑΛΑΙΟ Τι είναι αλγόριθμος
ΘΠ06 - Μεταγλωττιστές Ενδιάμεσος Κώδικας – Μεταφραστικά Σχήματα.
Επιστημονικός Υπολογισμός Ι Πρώτο Εργαστήριο Εισαγωγή στο matlab 15 Οκτωβρίου 2010 Γιώργος Δρακόπουλος ΤΜΗΥΠ.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 4: Συμβολοσειρές και Δομές Ελέγχου. Διδάσκων: Νικόλαος Θ Λιόλιος,
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
2) Aν δανειστούμε ένα ποσό Α με επιτόκιο Τ=Ε% και υποχρεωθούμε να το ξεχρεώσουμε σε Ν χρόνια, τότε το ποσό της μηνιαίας δόσης Μ θα δίνεται από τον τύπο.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Προγραμματισμός ΗΥ Ενότητα 2: Συναρτήσεις Εισόδου ⁄ Εξόδου. Διδάσκων: Ηλίας Κ Σάββας, Αναπληρωτής Καθηγητής.
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ «Εισαγωγή στον οντοκεντρικό προγραμματισμό (βασική εισαγωγή στο περιβάλλον εργασίας)» Ρουσσάκης Ιωάννης, ΤΕΙ Κρήτης,
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Προγραμματισμός ΗΥ Ενότητα 4: Επαναληπτικές δομές. Διδάσκων: Ηλίας Κ Σάββας, Αναπληρωτής Καθηγητής. Τμήμα Μηχανικών.
Προτάσεις, εκφράσεις, τελεστές Βασικά στοιχεία ελέγχου προγράμματος
Τεχνολογία και Προγραμματισμός Υπολογιστών
Αντικειμενοστραφής Προγραμματισμός Ι
ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ
Ενισχυτική διδασκαλία
for (παράσταση_1; παράσταση_2; παράσταση_3)
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
Ενότητα 5 : Δομές Ελέγχου της γλώσσας PHP Ιωάννης Τσούλος
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΤΗ C
Δομημένος Προγραμματισμός - Κεφάλαιο 4 - Ανάπτυξη αλγορίθμων
Δομή Επιλογής Μάθημα 4ο Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Τάξη Γ Οικονομίας & Πληροφορικής Θετικών Σπουδών 2ο Γενικό Λύκειο Αλιβερίου |
ΒΙΒΛΙΟ ΠΛΗΡΟΦΟΡΙΚΗΣ Σελίδες 2ο Κεφάλαιο - Παράγραφο 2.7 ΔΟΜΗ ΕΠΙΛΟΓΗΣ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου
Μεταγράφημα παρουσίασης:

Προγραμματισμός Ι Προτάσεις ελέγχου ροής Ο πιο συνηθισμένος τρόπος εκτέλεσης είναι ο ακολουθιακός: δύο ή περισσότερες προτάσεις βρίσκονται διατεταγμένες η μία μετά την άλλη και εκτελούνται διαδοχικά.

Προγραμματισμός Ι •Ωστόσο, ορισμένες φορές επιβάλλεται να γίνουν λογικές επιλογές (με χρήση λογικών τελεστών και τελεστών συσχέτισης). •Παράδειγμα: ΕΑΝ στο σηματοδότη βρίσκεται ο ΓΡΗΓΟΡΗΣ ΤΟΤΕ μπορείς να διασχίσεις την οδό ΑΛΛΙΩΣ περίμενε αλλαγή του σηματοδότη •Για να επιτευχθεί οποιαδήποτε διαφοροποίηση από την ακολουθιακή εκτέλεση απαιτούνται ειδικές κατασκευές. Ορισμένες από αυτές τις κατασκευές διασφαλίζουν ταυτόχρονα τη δόμηση του προγράμματος, με κύριο στόχο: η δομή του πηγαίου κώδικα να μας βοηθά να κατανοήσουμε τι κάνει το πρόγραμμα. Οι κατασκευές διακρίνονται σε δύο βασικές κατηγορίες: επανάληψη 1)την επανάληψη (looping) υπό συνθήκη διακλάδωση 2)την υπό συνθήκη διακλάδωση (conditional branching) Προτάσεις ελέγχου ροής

Προγραμματισμός Ι •Προτάσεις διακλάδωσης υπό συνθήκη if – else switch case •Προτάσεις επανάληψηςwhile do while for •Προτάσεις διακλάδωσης χωρίς συνθήκηbreakcontinuegoto Προτάσεις ελέγχου ροής στη C

Προγραμματισμός Ι Επιλεκτική εκτέλεση δύο προτάσεων if Ε1 then Π1 else Π2

Προγραμματισμός Ι Επιλεκτική εκτέλεση πολλών προτάσεων με ένθεση if Ε1 then Π1 else if E2 then Π2 else Π0

Προγραμματισμός Ι Παράδειγμα:Να περιγραφεί με ψευδοκώδικα η διεργασία που πρέπει να ακολουθήσει ο υπολογιστής για να διαπιστώσει κατά πόσο ένα δεδομένο έτος είναι δίσεκτο ή όχι. if – else Να χρησιμοποιηθεί η κατασκευή if – else. Λύση: year % Εάν αναπαρασταθεί το έτος με την ακέραια μεταβλητή year και ο τελεστής υπολοίπου (modulo) με το σύμβολο %, η περιγραφή μπορεί να γίνει ως ακολούθως: IF ((year % 400) == 0) THEN το έτος είναι δίσεκτο ELSE IF ((year % 100) == 0) THEN το έτος δεν είναι δίσεκτο ELSE IF ((year % 4) == 0) THEN το έτος είναι δίσεκτο ELSE το έτος δεν είναι δίσεκτο

Προγραμματισμός Ι Yπό συνθήκη διακλάδωση if - else Μία δήλωση, τρία τμήματα: if (light_color==green) { if (light_color==green) { cross_the_street(); } cross_the_street(); } else { wait_for_light_to_change(); } else { wait_for_light_to_change(); }συνθήκη Σε απλή πρόταση τα άγκιστρα περιττεύουν

Προγραμματισμός Ι Μία δήλωση, τρία τμήματα: if (light_color==green) { if (light_color==green) { cross_the_street(); } cross_the_street(); } else { wait_for_light_to_change(); } else { wait_for_light_to_change(); } συνθήκη ΑΛΗΘΕΣ (ΤRUE) ΑΛΗΘΕΣ (ΤRUE) ΤΜΗΜΑ : μία πρόταση ή ένα μπλοκ προτάσεων Yπό συνθήκη διακλάδωση if - else

Προγραμματισμός Ι Μία δήλωση, τρία τμήματα: if (light_color==green) { if (light_color==green) { cross_the_street(); } cross_the_street(); } else { wait_for_light_to_change(); } else { wait_for_light_to_change(); } ΨΕΥΔΕΣ (FALSE) : ΨΕΥΔΕΣ (FALSE) ΤΜΗΜΑ : μία πρόταση ή ένα μπλοκ προτάσεων συνθήκη ΑΛΗΘΕΣ ΑΛΗΘΕΣ ΤΜΗΜΑ : μία πρόταση ή ένα μπλοκ προτάσεων Yπό συνθήκη διακλάδωση if - else

Προγραμματισμός Ι elseΨΕΥΔΕΣ •Μερικές φορές δεν υπάρχει else, δηλαδή δεν υπάρχει ΨΕΥΔΕΣ τμήμα: •Παράδειγμα: if (gas_tank_empty == TRUE) fill_up_tank(); Εάν η συνθήκη είναι ψευδής (π.χ. το ντεπόζιτο της βενζίνης είναι άδειο) δε γίνεται καμία ενέργεια. Yπό συνθήκη διακλάδωση if - else

Προγραμματισμός Ι περισσότερα if/else. •Όταν υπάρχουν περισσότερα από δύο τμήματα και απαιτούνται ένθετες (φωλιασμένες) προτάσεις if/else. •Μπορεί να αντικατασταθεί το ζεύγος else { if () { if (συνθήκη) { } προτάσεις; }} με την περισσότερο ευανάγνωστη μορφή: else if () { else if (συνθήκη) { } προτάσεις;} Yπό συνθήκη διακλάδωση if - else Π.χ. if (people ; if (people ; else if (people ; else if (people ; else ; else ;

Προγραμματισμός Ι Προτάσεις υπό συνθήκη διακλάδωσης •if( συνθήκη ) πρόταση ; •if ( συνθήκη ) { προτάσεις; προτάσεις; … } • if ( συνθήκη ) { προτάσεις; προτάσεις;… } else { προτάσεις; προτάσεις;... }; 3 μορφές Σημειώστε ότι η συνθήκη βρίσκεται πάντοτε ανάμεσα σε παρενθέσεις, Όλα τα ΑΛΗΘΗ τμήματα και όλα τα ΨΕΥΔΗ τμήματα είναι μία μόνο πρόταση ή ένα μπλοκ προτάσεων {}

Προγραμματισμός Ι Παράδειγμα:Να γραφεί πρόγραμμα που υπολογίζει το μέγιστο ανάμεσα σε τρεις ακέραιους #include #include void main() { int a,b,c; int a,b,c; scanf(“%d\n”,&a); scanf(“%d\n”,&b); scanf(“%d\n”,&c); scanf(“%d\n”,&a); scanf(“%d\n”,&b); scanf(“%d\n”,&c); if (a>b) { if (a>b) { if (a>c) printf( “max(%d,%d,%d) = %d\n”,a,b,c,a ); if (a>c) printf( “max(%d,%d,%d) = %d\n”,a,b,c,a ); else printf( “max(%d,%d,%d) = %d\n”,a,b,c,c ); else printf( “max(%d,%d,%d) = %d\n”,a,b,c,c ); } else if (b>c) printf( “max(%d,%d,%d) = %d\n”,a,b,c,b ); else if (b>c) printf( “max(%d,%d,%d) = %d\n”,a,b,c,b ); else printf( “max(%d,%d,%d) = %d\n”,a,b,c,c ); else printf( “max(%d,%d,%d) = %d\n”,a,b,c,c );}