2ο σετ σημειώσεων. 1 Εντολές εκτέλεσης υπό συνθήκη. 19 Μαρτίου 2012

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "2ο σετ σημειώσεων. 1 Εντολές εκτέλεσης υπό συνθήκη. 19 Μαρτίου 2012"

Transcript

1 ο σετ σημειώσεων 19 Μαρτίου 01 1 Εντολές εκτέλεσης υπό συνθήκη Μπορούμε να εκτελέσουμε εντολές της γλώσσας σε περίπτωση που κάποια συνθήκη ισχύει χρησιμοποιώντας την εντολή if. Συντάσσεται ως εξής: 1 if ( condition) command; ή 1 if ( condition) { 3 command_1; 4 command_; 5... command_n; 7 } Και στις δύο περιπτώσεις την if ακολουθεί μία συνθήκη (condition) κλεισμένη μέσα σε παρενθέσεις. Αν η συνθήκη ισχύει τότε εκτελείται είτε η μία εντολή (command) που ακολουθεί όπως στην πρώτη περίπτωση είτε μία σειρά εντολών κλεισμένες μέσα σε άγκιστρα όπως στη δεύτερη περίπτωση. Τα άγκιστρα και οι εντολές που περικλείονται μέσα σε αυτά είναι συντακτικά ισοδύναμα με μία και μόνο εντολή. Τέτοιες ομάδες εντολών κλεισμένες μέσα σε άγκιστρα ονομάζονται μπλοκ (block) εντολών. Προφανώς η πρώτη μορφή της if είναι νόμιμη εντολή αλλά είναι καλή πρακτική να αποφεύγεται και να χρησιμοποιείται η δεύτερη μορφή με τα άγκιστρα ακόμα και στις περιπτώσεις που πρόκειται να εκτελεστεί μία και μόνο εντολή. Η συνθήκη (condition) μπορεί να είναι οποιαδήποτε λογική έκφραση δηλαδή μια έκφραση που μπορεί να αποτιμηθεί ως αληθής ή ψευδής. Για παράδειγμα μπορεί να είναι ένας συσχετιστικός τελεστής με δύο ορίσματα όπως a > b, a+1 <= b*, b*b - 4*a*c >= 0 κτλ. Θυμηθείτε ότι εκφράσεις όπως τις προηγούμενες μπορούμε να τις συνδυάσουμε χρησιμοποιώντας λογικούς τελεστές όπως ο ΚΑΙ (&&), ο Η ( ) και η λογική άρνηση (!), π.χ. γράφοντας (a > b) && (a == 3*c), (a+1 <= b*) (5*x*x >.4). Στην πραγματικότητα η C θεωρεί τις λογικές εκφράσεις που αναφέραμε παραπάνω ως εκφράσεις που έχουν την τιμή 1 αν είναι αληθείς ή την τιμή 0 αν είναι ψευδείς. Και τελικά, εκτελεί τις εντολές που 1

2 ακολουθούν το if αν η έκφραση που βρίσκεται μέσα στις παρενθέσεις είναι μη-μηδενική (αληθής) ενώ δεν τις εκτελεί αν είναι ίση με το μηδέν (ψευδής). Μία δεύτερη μορφή εκτέλεσης εντολών υπό συνθήκη είναι το σχήμα if-else που συντάσσεται όπως παρακάτω: 1 if ( condition) { 3 commands_1; 4 } 5 else { commands_; 7 } Σε αυτήν τη μορφή, αποτιμάται η συνθήκη condition και αν είναι αληθής εκτελείται το μπλοκ εντολών commands_1. Αν δεν είναι, τότε εκτελούνται οι εντολές commands_¹. Παράδειγμα Το πρόγραμμα 1 ζητάει από το χρήστη να δώσει την ηλικία του στο πληκτρολόγιο. Αν η ηλικία του είναι μεγαλύτερη ή ίση από 18 τυπώνει ένα μήνυμα που του λέει ότι έχει δικαίωμα ψήφου, αλλιώς ότι δεν έχει. Listing 1: Παράδειγμα if-else 5 int age; 7 printf(" Dose tnv nlikia sou: "); 8 scanf("%d", &age); 9 10 if (age >= 18) 11 printf(" Exeis dikaiwma psnfou\n"); 1 else 13 printf(" Dev exeis dikaiwma psnfou\n"); return 0; 1 } Eντολές επανάληψης Η C μας δίνει τη δυνατότητα να πραγματοποιήσουμε επαναλήψεις με τρεις διαφορετικούς τρόπους: Τους βρόχους for, while και do-while. ¹Στο παράδειγμα αναφέρεται μόνο μία εντολή αλλά όπως είπαμε και παραπάνω σε ένα μπλοκ μπορούν να βρίσκονται οσεσδήποτε. Επίσης μπορούμε να παραλείψουμε τα άγκιστρα στην περίπτωση που θέλουμε να εκτελεστεί μόνο μία εντολή αλλά αυτό δεν είναι καλή πρακτική.

3 .1 Βρόχος for Η εντολή επανάληψης for συντάσσεται όπως παρακάτω: 1 for ( ic; cond; step) { commands... } ic Είναι μία εντολή η οποία αρχικοποιεί το βρόχο. Εκτελείται μία και μόνο φορά πριν ξεκινήσουν οι επαναλήψεις. cond Μία συνθήκη η οποία αποτιμάται μία φορά πριν από κάθε επανάληψη. Αν είναι ψευδής τότε διακόπτονται οι επαναλήψεις. Αν είναι αληθής πραγματοποιείται η επόμενη επανάληψη. step Μία εντολή που εκτελείται στο τέλος κάθε επανάληψης. commands Είναι οι εντολές που εκτελούνται σε κάθε επανάληψη. Συγκροτούν το σώμα (body) του βρόχου. Αν οι εντολές που απαρτίζουν το σώμα του βρόχου δεν είναι περισσότερες από μία τότε δεν είναι απαραίτητο να βρίσκονται σε ένα μπλοκ με άγκιστρα όπως παραπάνω αλλά είναι καλή πρακτική να μπαίνουν. Η διαδικασία εκτέλεσης του βρόχου είναι η εξής: 1. Εκτελείται η εντολή ic.. Αποτιμάται η συνθήκη cond. Αν είναι αληθής τότε η εκτέλεση συνεχίζεται στο βήμα 3. Αλλιώς στο βήμα Εκτελούνται οι εντολές (ή εντολή) που συγκροτούν το σώμα του βρόχου. 4. Εκτελείται η εντολή step και η διαδικασία συνεχίζεται στο βήμα. 5. Ο βρόχος τερματίζεται και το πρόγραμμα συνεχίζει με την επόμενη εντολή. Γενικά, χρησιμοποιούμε το βρόχο for για να πραγματοποιήσουμε επαναλήψεις των οποίων τον αριθμό ξέρουμε από τα πριν, όταν δηλαδή ξέρουμε εκ των προτέρων ότι θέλουμε να πραγματοποιηθεί συγκεκριμένος αριθμός επαναλήψεων σε κάθε μία από τις οποίες κάποια μεταβλητή θα πάρει συγκεκριμένες τιμές. Όμως, ένα ενδιαφέρον σημείο σχετικά με το βρόχο for είναι ότι η αρχική εντολή, η συνθήκη και το βήμα είναι προαιρετικά. Μπορεί δηλαδή κανείς να γράψει αυτό: for (i=0; i<10; ++i) ως εξής: i=0; for (; i<10; ++i). Επίσης θα μπορούσε κάλλιστα να βγάλει το ++i και να το τοποθετήσει τελευταίο στο σώμα του βρόχου. Οι εντολές που θα εκτελούνταν θα ήταν οι ίδιες με την ίδια σειρά και στις δύο περιπτώσεις. Δείτε σχετικά το τελευταίο παράδειγμα της επόμενης ενότητας. 3

4 .1.1 Παραδείγματα 1. Το πρόγραμμα τυπώνει σε μία γραμμή χωρισμένους με ένα κενό τους αριθμούς από το ένα μέχρι και το 10. Η εντολή ++i στο τέλος της γραμμής 7 αυξάνει το i κατά ένα πριν από κάθε επανάληψη του βρόχου. Αντί για αυτήν θα μπορούσε να χρησιμοποιηθεί ο μεταθεματικός τελεστής μοναδιαίας αύξησης i++ ή ακόμα και η φλύαρη i = i + 1. Listing : for από ένα έως και 10 5 int i; 7 for (i = 1; i <= 10; ++i) 8 printf("%d ", i); 9 10 return 0; 11 }. Αν στο παράδειγμα αντικαταστήσουμε τη for των γραμμών 7 και 8 με τις γραμμές που φαίνονται στη λίστα 3 τότε το πρόγραμμα θα τυπώσει σε διαφορετικές γραμμές τους ζυγούς αριθμούς από το 10 μέχρι και το (σε αντίστροφη σειρά). Η εντολή i-= είναι ισοδύναμη με την i = i -. Παρατηρήστε την παράξενη συνθήκη τερματισμού η οποία είναι απλώς το i. Θυμηθείτε ότι η C θεωρεί ότι μία αριθμητική έκφραση στη θέση μιας λογικής συνθήκης είναι αληθής αν είναι διάφορη του μηδενός και ψευδής αν είναι μηδέν. Στο παράδειγμά μας λοιπόν όσο το i είναι διαφορετικό από το μηδέν, η συνθήκη i είναι αληθής οπότε ο βρόχος συνεχίζεται. Όταν τελικά η i γίνει ίση με μηδέν, η συνθήκη θεωρείται ψευδής και ο βρόχος τερματίζεται ². 1 for (i = 10; i; i -= ) printf("%d\n", i); Listing 3: for με ζυγούς σε αντίστροφη σειρά 3. Δεν υπάρχει κανένας περιορισμός σχετικά με το ποιες εντολές απαρτίζουν το σώμα ενός βρόχου-for. Μπορεί να είναι μία άλλη εντολή for. Το πρόγραμμα 4 χρησιμοποιεί δύο for για να τυπώσει ένα αριθμητικό τρίγωνο. Listing 4: Αριθμητικό τρίγωνο ²Θα μπορούσαμε να χρησιμοποιήσουμε αυτό το γλωσσικό ιδίωμα για να τυπώσουμε τους περιττούς αριθμούς 9, 7, 5, 3, 1; 4

5 5 int i, j; 7 for (i = 1; i <= 5; ++i) { 8 for (j = 1; j <= i; ++j) 9 printf("%d", i); 10 printf("\n"); 11 } 1 13 return 0; 14 } 4. Το παράδειγμα 5 ζητάει από το χρήστη να δώσει μία μη-μηδενική τιμή στη μεταβλητή a. Αν ο χρήστης δώσει μηδενική τιμή τότε ο βρόχος επαναλαμβάνεται. Αυτό συνεχίζεται μέχρι ο χρήστης να δώσει μία μη-μηδενική τιμή. Παρατηρήστε ότι δεν γνωρίζουμε πόσες φορές θα επαναληφθεί ο βρόχος. Ίσως ο χρήστης δώσει με την πρώτη μία μη-μηδενική τιμή, ίσως πάλι όχι. Παρατηρήστε και τη συνθήκη επανάληψης!a. Θυμηθείτε ότι αν η a έχει μη-μηδενική τιμή, τότε ως λογική έκφραση θεωρείται αληθής. Ο τελεστής! είναι ο τελεστής λογικής άρνησης ο οποίος αν εφαρμοστεί σε μία έκφραση η οποία έχει την τιμή αληθής δίνει το αποτέλεσμα ψευδής και αντίστροφα. Άρα, αν η a είναι μηδέν δηλαδή ως λογική έκφραση ψευδής, τότε η!a είναι αληθής. Οπότε ο βρόχος επαναλαμβάνεται όσο η a παραμένει μηδέν, δηλαδή μέχρι ο χρήστης να δώσει μία μη-μηδενική τιμή. Επίσης παρατηρήστε ότι εφόσον η συνθήκη ελέγχεται πριν εκτελεστεί η πρώτη επανάληψη, δεν μπορούμε να ξέρουμε τι τιμή θα έχει η!a δεδομένοου ότι ο χρήστης δεν θα την έχει δώσει ακόμα από το πληκτρολόγιο. Οπότε στο σημείο αρχικοποίησης θέτουμε a=0 ώστε να εξασφαλίσουμε ότι αρχικά η συνθήκη!a θα είναι αληθής και θα πραγματοποιηθεί η πρώτη έστω επανάληψη του βρόχου. Η χρήση του βρόχου for με αυτόν τον τρόπο δεν είναι η συνηθισμένη. Θυμίζουμε ότι συνήθως ο βρόχος for χρησιμοποιείται όταν ο αριθμός των επαναλήψεων είναι λίγο-πολύ γνωστός. Σε περιπτώση σαν αυτήν του παραδείγματος χρησιμοποιούμε βρόχους while ή do-while. Listing 5: Η for λίγο διαφορετική 5 int a; 7 for (a=0;!a; ) { 8 printf(" Dose mia mn- mndevikn timn: "); 9 scanf("%d", &a); 10 } 11 1 return 0; 13 } 5

6 . Βρόχος while Ο βρόχος while εκτελεί κάποιες εντολές (ή εντολή) όσο ισχύει μία συνθήκη. Η σύνταξη της εντολής while είναι όπως παρακάτω: 1 while ( condition) { commands 3 } Η condition είναι μία συνθήκη και οι commands είναι ένα μπλοκ εντολών (θα μπορούσε να είναι και μία εντολή χωρίς άγκιστρα). Η διαδικασία εκτέλεσης του βρόχου είναι η εξής: 1. Αποτιμάται η συνθήκη condition. Αν είναι αληθής η εκτέλεση συνεχίζεται στο βήμα. Αλλιώς στο βήμα 3.. Εκτελούνται οι εντολές (ή εντολή) που αποτελούν το σώμα του βρόχου. Η ροή εκτέλεσης μεταφέρεται πάλι στο βήμα Ο βρόχος τερματίζεται. Η εκτέλεση του προγράμματος συνεχίζεται με την επόμενη εντολή. Ο βρόχος while χρησιμοποιείται όταν θέλουμε να εκτελεστούν κάποιες επαναλήψεις αλλά δεν γνωρίζουμε εκ των προτέρων πόσες. Γνωρίζουμε όμως κάτω από ποιες συνθήκες θα πρέπει να συνεχίζονται οι επαναλήψεις. Καλό είναι να προσέξει κανείς ότι πρώτα αποτιμάται η συνθήκη και μετά εκτελείται το σώμα της κάθε επανάληψης οπότε είναι πιθανό (αν η συνθήκη είναι αρχικά ψευδής) οι επαναλήψεις να μην πραγματοποιηθουν καθόλου...1 Παραδείγματα 1. Το πρόγραμμα αθροίζει αριθμούς που δίνει ο χρήστης στο πληκτρολόγιο μέχρι το άθροισμά τους να ξεπεράσει ένα συγκεκριμένο όριο. Listing : Βρόχος while για άθροισμα 5 int limit, sum, a; 7 printf("dose to orio: "); 8 scanf("%d", &limit); 9 10 sum = 0; 11 while (sum < limit) { 1 printf(" A8roisma %d. Dwse evav ari8mo: ", sum); 13 scanf("%d", &a); 14 sum += a; 15 } 1

7 17 return 0; 18 }.3 Βρόχος do-while Η βρόχος do-while είναι αντίστοιχος με το βρόχο repeat-until άλλων γλωσσών. Αποτελείται όπως και ο βρόχος while από ένα σώμα εντολών αλλά σε αυτήν την περίπτωση η συνθήκη ελέγχεται μετά την πραγματοποίηση της πρώτης επανάληψης. Συντάσσεται όπως παρακάτω: 1 do { commands 3 } while ( condition); Η ροή εκτέλεσης είναι η εξής: Αρχικά εκτελούνται οι εντολές στο σώμα του βρόχου (commands). Στη συνέχεια αποτιμάται η συνθήκη condition. Αν είναι αληθής τότε η ροή εκτέλεσης μεταφέρεται πάλι στην πρώτη γραμμή και η διαδικασία επαναλαμβάνεται. Αλλιώς, αν είναι ψευδής, δεν πραγματοποιείται άλλη επανάληψη. Η διαφορά που έχει αυτός ο τύπος επανάληψης από τον προηγούμενο είναι ότι σε αυτήν την περίπτωση η συνθήκη ελέγχεται για πρώτη φορά μετά την πραγματοποίηση της πρώτης επανάληψης δηλαδή σε κάθε περίπτωση, ακόμα και αν η συνθήκη είναι αρχικά ψευδής, πραγματοποιείται τουλάχιστον μία επανάληψη..3.1 Παραδείγματα 1. Το πρόγραμμα7 ζητάει από το χρήστη έναν αριθμό από το 5 μέχρι το 0. Αν ο χρήστης δώσει αριθμό έξω από αυτά τα όρια, τότε ξαναζητάει τον αριθμό και η διαδικασία επαναλαμβάνεται μέχρι ο αριθμός να είναι νόμιμος. Το παρακάτω είναι ένας συνηθισμένος τρόπος να ελέγξει κανείς ώστε κάποια τιμή που δίνεται από το χρήστη είναι μέσα σε νόμιμα όρια. Παρατηρήστε τον τρόπο που λειτουργεί η συνθήκη της while. Η συνθήκη (a>=5 && a<=0) ισχύει όταν η τιμή που έδωσε ο χρήστης είναι μέσα στα ορισμένα όρια. Το ζητούμενο όμως είναι να πραγματοποιείται επανάληψη της διαδικασίας όταν ο αριθμός είναι έξω από αυτά τα όρια δηλαδή όταν ισχύει η αντίθετη από την παραπάνω συνθήκη. Για να δηλώσουμε αυτό χρησιμοποιούμε τον τελεστή λογικής άρνησης!. 5 int a; 7 do { Listing 7: Επαναλήψεις για έλεγχο εισόδου 8 printf(" Dose evav ari8mo apo to 5 mexri to 0: "); 9 scanf("%d", &a); 10 } while (!(a>=5 && a<=0)); 11 7

8 1 return 0; 13 }.4 Εντολές break και continue Οι εντολές break και continue δίνουν τη δυνατότητα να τροποποιήσουμε τη φυσιολογική ροή εντολών ενός βρόχου. Η break τερματίζει άμεσα την εκτέλεση των εντολών του βρόχου ενώ η continue διακόπτει την τρέχουσα επανάληψη και προχωράει στην επόμενη. Για παράδειγμα ο παρακάτω βρόχος εκτελείται πέντε φορές και όχι δέκα όπως θα γινόταν αν δεν υπήρχε η break. Στην έκτη επανάληψη, όταν η μεταβλητή i γίνεται ίση με πέντε, η συνθήκη της if στη γραμμή 3 ισχύει και έτσι εκτελείται η break η οποία τερματίζει τις επαναλήψεις του βρόχου και συνεχίζει με όποιες εντολές βρίσκονται μετά τη γραμμή. 1 for (i=0; i <=10; ++i) { printf("a: %d\n", i); 3 if (i >= 5) 4 break; 5 printf("b: %d\n", i); } Με τον ίδιο προφανή τρόπο συμπεριφέρεται η break και στις επαναλήψεις τύπου while ή do-while. Η εντολή continue τερματίζει την τρέχουσα επανάληψη και συνεχίζει με την επόμενη. Αν αντικαταστήσουμε δηλαδή την break στο προηγούμενο παράδειγμα με την continue το αποτέλεσμα θα είναι ότι για τις πρώτες πέντε επαναλήψεις θα εκτελούνται και οι δύο printf που βρίσκονται στις γραμμές και 5. Από την έκτη όμως και στη συνέχεια καθώς η μεταβλητή i θα είναι ίση ή μεγαλύτερη από πέντε θα εκτελείται η continue της γραμμής 4. Όποτε γίνεται αυτό, ο ροή εκτέλεσης από τη γραμμή 4 θα μεταφέρεται πάλι στη γραμμή 1, δηλαδή δεν θα εκτελείται η γραμμή Παραδείγματα Το παράδειγμα 8 ελέγχει αν ένας αριθμός τον οποίο δίνει ο χρήστης στο πληκτρολόγιο είναι πρώτος ή όχι. Θυμίζουμε ότι ένας αριθμός είναι πρώτος αν διαιρείται μόνο από τη μονάδα και τον ευατό του. Η λογική είναι ότι μέσα από ένα βρόχο δοκιμάζονται διάφοροι πιθανοί διαιρέτες. Αν στην τρέχουσα επανάληψη ο πιθανός διαιρέτης δεν διαιρεί τον εν λόγω αριθμό τότε δοκιμάζεται ο επόμενος. Αν όμως ο πιθανός διαιρέτης διαιρεί τον εν λόγω αριθμό τότε δεν υπάρχει λόγος να συνεχιστούν οι επαναλήψεις οπότε ο βρόχος διακόπτεται με την break. Listing 8: Πρώτος αριθμός 5 int a, i; 7 printf(" Dose ton ari8mo: "); 8

9 8 scanf("%d", &a); 9 10 for (i = ; i < a; ++i) { 11 if (!(a%i)) 1 break; 13 } if (i == a) 1 printf("o ari8mos eivai prwtos\n"); 17 else 18 printf("o ari8mos dev eivai prwtos\n"); 19 0 return 0; 1 } 3 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου τύπου δεσμεύεται μνήμη επαρκής σε μέγεθος προκειμένου να αναπαρασταθεί μία τιμή του συγκεκριμένου τύπου. Στην περίπτωση που θέλουμε περισσότερες από μία τέτοιες μεταβλητές χρησιμοποιούμε πίνακες (arrays). Σε αυτήν την περίπτωση το όνομα του δηλωμένου πίνακα αναφέρεται σε ολόκληρη την περιοχή μνήμης ³ που έχει δεσμευθεί και προκειμένου να προσπελάσουμε κάποια από τις επιμέρους μεταβλητές χρησιμοποιούμε αγκύλες (braces) και τον αύξοντα αριθμό της μεταβλητής μέσα σε αυτές. Η δήλωση ενός πίνακα είναι όπως και η δήλωση μίας μεταβλητής με τη διαφορά ότι το όνομα του πίνακα ακολουθείται από τις αγκύλες και μέσα σε αυτές βρίσκεται ο αριθμός των μεταβλητών του πίνακα. Π.χ. οι παρακάτω δηλώσεις 1 int a[0]; float b[10]; 3 char c[100]; δηλώνουν αντίστοιχα έναν πίνακα 0 ακεραίων με όνομα a, έναν πίνακα 10 αριθμών κινητής υποδιαστολής με όνομα b και έναν πίνακα 100 χαρακτήρων με όνομα c. Αφού δηλωθεί ένας πίνακας, μπορούμε να αναφερθούμε στα επιμέρους στοιχεία του όπως κάνουμε και με τις απλές μεταβλητές. Γράφοντας δηλαδή το όνομα του πίνακα και έναν ακέραιο αριθμό n μέσα σε αγκύλες αμέσως μετά, αναφερόμαστε στο n-οστό στοιχείο του πίνακα. Στη C το πρώτο στοιχείο του πίνακα έχει πάντα τον αύξοντα αριθμό μηδέν. Δηλαδή στα προηγούμενα παραδείγματα τα στοιχεία του πίνακα a έχουν αύξοντες αριθμούς από 0 έως 19, του b από 0 έως 9 και του c από 0 έως 99. Όπως και στην περίπτωση των απλών μεταβλητών, η αναφορά σε ένα στοιχείο κάποιου πίνακα μπορεί να είναι για ανάγνωση ή για εγγραφή ανάλογα με τα συμφραζόμενα της εκτελούμενης εντολής. Π.χ. όταν λέμε a[] + 5 η μηχανή διαβάζει τα περιεχόμενα της υπ αριθμόν ³Για την ακρίβεια είναι η διεύθυνση μνήμης της περιοχής που έχει δεσμευθεί οπότε μπορούμε με αυτό το όνομα να αναφερθούμε στην πρώτη από τις θέσεις μνήμης που έχουν δεσμευθεί. Περισσότερα θα δούμε στην ενότητα για τους δείκτες. 9

10 θέσης του πίνακα a και τους προσθέτει τον αριθμό 5. Το αποτέλεσμα αποθηκεύεται σε μια θέση μνήμης προσωρινής αποθήκευσης χωρίς να μεταβάλλεται το περιεχόμενο της a[]. Όταν λέμε a[]++ η μηχανή αυξάνει τα περιεχόμενα της θέσης του πίνακα a κατά μία μονάδα και όταν λέμε a[] = 1 η μηχανή αποθηκεύει την τιμή 1 στη θέση του πίνακα. Είναι σημαντικό να γνωρίζει κανείς ότι η γλώσσα δεν απαγορεύει την προσπέλαση στοιχείων του πίνακα εκτός των ορίων που έχουν δηλωθεί. Δηλαδή στον πίνακα a του προηγούμενου παραδείγματος δεν απαγορεύεται να γράψει κανείς a[4] = 5; παρόλο που ο πίνακας έχει μόνο 0 στοιχεία. Αυτό είναι μειονέκτημα της γλώσσας καθώς ο προγραμματιστής δεν προστατεύεται από λάθη τα οποία θα μπορούσε να εντοπίσει ο ίδιος ο υπολογιστής είτε κατά τξ διάρκεια της μεταγλώττισης είτε κατά τη διάρκεια της εκτέλεσης. Χρειάζεται ιδιαίτερη προσοχή για να αποφεύγονται οι προσπελάσεις στοιχείων του πίνακα έξω από τα όρια. 3.1 Παραδείγματα Το παράδειγμα 9 γεμίζει ένα πίνακα 10 στοιχείων με τυχαίους αριθμούς από το 0 μέχρι και το 19 τους οποίους και τυπώνει. Στη συνέχεια βρίσκει τον μικρότερο από αυτούς και τον τυπώνει. Στις γραμμές 11 έως 1 μπαίνυν τυχαία στοιχεία στον πίνακα και στις γραμμές 18 έως 1 υλοποιείται ο γνωστός αλγόριθμος εύρεσης μικρότερου στοιχείου. # include <stdlib.h> 3 # include <time.h> Listing 9: Μικρότερο στοιχείο πίνακα 4 5 int main() { 7 int i; 8 int a[10]; 9 int mikr; srand(time(null)); 1 for (i=0; i <=10; ++i) { 13 a[i] = rand() % 0; 14 printf("%d ", a[i]); 15 } 1 printf("\n"); mikr = a[0]; 19 for (i=1; i <=10; ++i) 0 if (a[i] < mikr) 1 mikr = a[i]; 3 printf(" To mikrotero stoixeio eivai to %d\n", mikr); 4 5 return 0; 10

11 } Μια ειδική περίπτωση χρήσης των πινάκων είναι η αναπαράσταση κειμένων. Στη μνήμη του υπολογιστή οι χαρακτήρες του κειμένου αποθηκεύονται σε διαδοχικές θέσεις μνήμης και για αυτόν τον σκοπό μπορούν να χρησιμοποιηθούν πίνακες. Σε αυτήν την περίπτωση μιλάμε για συμβολοσειρές (strings). Βέβαια δεν αρκεί να αποθηκευτούν οι χαρακτήρες σε μια περιοχή μνήμης, αλλά πρέπει να γνωρίζουμε και το πλήθος των χαρακτήρων του κειμένου που αποθηκεύεται. Στη C δεν αποθηκεύεται το μήκος της συμβολοσειράς αλλά μετά το τέλος των χαρακτήρων που απαρτίζουν το κείμενο αποθηκεύεται ένας ειδικός χαρακτήρας που σηματοδοτεί το τέλος του κειμένου και είναι ο χαρακτήρας '\0' ο οποίος έχει την τιμή μηδέν. Στο παράδειγμα 10 δημιουργείται μία συμβολοσειρά με το χέρι, τοποθετώντας κάποιους χαρακτήρες σε έναν πίνακα χαρακτήρων και στη συνέχεια αποθηκεύεται ο ειδικός χαρακτήρας τερματισμού. Τελικά η συμβολοσειρά τυπώνεται στην οθόνη. Θα μπορούσε κανείς, επίσης με το χέρι, να τυπώσει έναν προς έναν τους χαρακτήρες μίας συμβολοσειράς αλλά καθώς η εκτύπωση συμβολοσειρών είναι συνηθισμένη στον προγραμματισμό, η printf χρησιμοποιεί τον προσδιοριστή %s για την εκτύπωση συμβολοσειρών. Σε αυτήν την περίπτωση η printf όταν εντοπίσει το χαρακτήρα τερματισμού σταματάει την εκτύπωση άλλων χαρακτήρων. Listing 10: Μια συμβολοσειρά 5 char p[100]; 7 p[0] = 'H'; p[1] = 'e'; p[] = 'l'; 8 p[3] = 'l'; p[4] = 'o'; p[5] = '\0'; 9 10 printf("%s\n", p); 11 1 return 0; 13 } Δύο άλλες χρήσιμες συναρτήσεις είναι η gets που γεμίζει έναν πίνακα χαρακτήρων με ότι γράψει ο χρήστης στο πληκτρολόγιο και η strlen η οποία παίρνει παράμετρο μία συμβολοσειρά και επιστρέφει το μήκος της. Το παράδειγμα 11 χρησιμοποιεί και τις δύο. 5 char s[100]; Listing 11: Εισαγωγή string από το πληκτρολόγιο και μέτρηση μήκους 7 printf(" Dose mia symvoloseira: "); 8 gets(s); 11

12 9 10 printf("h symvoloseira exei mnkos %d\n", strlen(s)); 11 1 return 0; 13 } 1

Εντολές ελέγχου ροής if, for, while, do-while

Εντολές ελέγχου ροής if, for, while, do-while Εντολές ελέγχου ροής if, for, while, do-while 1 Μαρτίου 014 1 Εντολές εκτέλεσης υπό συνθήκη Μπορούμε να εκτελέσουμε εντολές της γλώσσας σε περίπτωση που κάποια συνθήκη ισχύει χρησιμοποιώντας την εντολή

Διαβάστε περισσότερα

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014 Πίνακες 0 Μαρτίου 014 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα του συγκεκριμένου τύπου. Στην περίπτωση που θέλουμε

Διαβάστε περισσότερα

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα

Διαβάστε περισσότερα

Σημειώσεις για πρόοδο στο εργαστήριο

Σημειώσεις για πρόοδο στο εργαστήριο Σημειώσεις για πρόοδο στο εργαστήριο 5 Απριλίου 2012 1. Γράψτε πρόγραμμα το οποίο τυπώνει τους αριθμούς από 1 έως 10 σε μία γραμμή τον καθένα. 3 int i; 4 for (i = 0; i < 10; ++i) 5 printf("%d\n", i); 6

Διαβάστε περισσότερα

5ο σετ σημειώσεων - Δείκτες

5ο σετ σημειώσεων - Δείκτες 5ο σετ σημειώσεων - Δείκτες 11 Ιουνίου 01 1 Γενικά Σύμφωνα με το γενικό μοντέλο υπολογιστή, ένας υπολογιστής είναι μία μηχανή που διαθέτει μία κεντρική μονάδα επεξεργασίας η οποία μπορεί μεταξύ άλλων να

Διαβάστε περισσότερα

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ. ΤΡΙΤΗ ΔΙΑΛΕΞΗ Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.): Σύνταξη τύπος όνομαα; τύπος όνομαβ{όνομαα}; όνομαβ

Διαβάστε περισσότερα

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια: Εργαστήριο 6: 6.1 Δομές Επανάληψης Βρόγχοι (Loops) Όταν θέλουμε να επαναληφθεί μια ομάδα εντολών τη βάζουμε μέσα σε ένα βρόχο επανάληψης. Το αν θα (ξανα)επαναληφθεί η εκτέλεση της ομάδας εντολών καθορίζεται

Διαβάστε περισσότερα

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 5ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 Η ΕΝΤΟΛΗ for Με την εντολή for δημιουργούμε βρόχους επανάληψης σε

Διαβάστε περισσότερα

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

Οι εντολές ελέγχου της ροής ενός προγράμματος. Κεφάλαιο ΙΙI: Οι εντολές ελέγχου της ροής ενός προγράμματος 31 Εντολές ελέγχου της ροής Στο παρόν κεφάλαιο ασχολούμαστε με την σύνταξη των εντολών της C οι οποίες εισάγουν λογική και ελέγχουν την ροή εκτέλεσης

Διαβάστε περισσότερα

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

Υπολογισμός - Εντολές Επανάληψης Προγραμματισμός Η/Υ Ι Υπολογισμός - Εντολές Επανάληψης ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συνεχίσουμε τη συζήτησή μας για τα βασικά στοιχεία

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων

Διαβάστε περισσότερα

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Οι εντολές επανάληψης (while, do-while, for) Γενικά για τις εντολές επανάληψης Συχνά στο προγραμματισμό είναι επιθυμητή η πολλαπλή εκτέλεση μιας ενότητας εντολών, είτε για ένα

Διαβάστε περισσότερα

Ψευδοκώδικας. November 7, 2011

Ψευδοκώδικας. November 7, 2011 Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε

Διαβάστε περισσότερα

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

Pascal, απλοί τύποι, τελεστές και εκφράσεις Pascal, απλοί τύποι, τελεστές και εκφράσεις 15 Νοεμβρίου 2011 1 Γενικά Στην standard Pascal ορίζονται τέσσερις βασικοί τύποι μεταβλητών: integer: Παριστάνει ακέραιους αριθμούς από το -32768 μέχρι και το

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης

ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης Στο εργαστήριο αυτό, θα εξοικειωθούμε με τους τύπους δεδομένων που μας παρέχει η γλώσσα C, θα χρησιμοποιήσουμε τις δομές επανάληψης (for, while, do...while),

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Σκοπός του μαθήματος Σκοπός του παρόντος μαθήματος είναι να μάθετε να κάνετε εισαγωγή δεδομένων σε πίνακες και περαιτέρω επεξεργασία

Διαβάστε περισσότερα

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

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα. Ερωτήσεις προόδου C Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα. #include // δίνει οδηγία στον compiler να // συμπεριλάβει την βιβλιοθήκη stdio int

Διαβάστε περισσότερα

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

Διαβάστε περισσότερα

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εντολές ελέγχου ροής προγράμματος (if-else & switch) Η εντολή if-else Η εντολή if-else υπάρχει σχεδόν σε όλες τις γλώσσες προγραμματισμού. Χρησιμοποιείται για τον έλεγχο της

Διαβάστε περισσότερα

4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for)

4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for) 4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for) 4.1 Μετρητές Ένας μετρητής (counter) είναι μία μεταβλητή η οποία ξεκινά με μία αρχική τιμή και αυξάνεται κατά ένα κάθε φορά που εκτελείται. Ο αλγόριθμος για έναν μετρητή

Διαβάστε περισσότερα

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

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY120) #6 εκτέλεση σε επανάληψη 1 Σπύρος Λάλης Εκτέλεση σε επανάληψη: while while () lexpr body true false Όσο η λογική συνθήκη επανάληψης lexpr αποτιμάται σε μια τιμή

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Τρίτη Διάλεξη Εντολές Επιλογής και Επανάληψης Εντολές επιλογής Εντολή if Η πιο απλή μορφή της if συντάσσεται ως εξής: if ( συνθήκη ) Οι εντολές μέσα στα άγκιστρα αποτελούν

Διαβάστε περισσότερα

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 7 η Πίνακες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης Χριστοδούλου

Διαβάστε περισσότερα

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Οι εντολές επανάληψης (while, do-while, for) Γενικά για τις εντολές επανάληψης Συχνά στο προγραμματισμό είναι επιθυμητή η πολλαπλή εκτέλεση μιας ενότητας εντολών, είτε για ένα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα Τελεστές συντομογραφίας Τελεστές σύντομης ανάθεσης += παράδειγμα: sum+=10; αντί για: sum = sum

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

Διαβάστε περισσότερα

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

Διαβάστε περισσότερα

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εντολές ελέγχου ροής προγράμματος (if-else & switch) Η εντολή if-else Η εντολή if-else υπάρχει σχεδόν σε όλες τις γλώσσες προγραμματισμού. Χρησιμοποιείται για τον έλεγχο της

Διαβάστε περισσότερα

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ 6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ 6.1 Η Έννοια του Πίνακα Συχνά είναι προτιμότερο να αντιμετωπίζουμε ένα σύνολο μεταβλητών σαν ενότητα για να απλοποιούμε το χειρισμό τους. Έτσι οργανώνουμε σύνθετα δεδομένα σε

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται

Διαβάστε περισσότερα

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

Διαβάστε περισσότερα

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 3 Επανάληψη Γ μέρος

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 3 Επανάληψη Γ μέρος ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ Δομές Δεδομένων (Εργ.) Ακ. Έτος 2017-18 Διδάσκων: Ευάγγελος Σπύρου Εργαστήριο 3 Επανάληψη Γ μέρος 1. Στόχος του εργαστηρίου Στόχος του τρίτου εργαστηρίου είναι

Διαβάστε περισσότερα

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

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

Διαβάστε περισσότερα

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης Στόχοι και αντικείμενο ενότητας Έλεγχος ροής προγράμματος (βλ. ενότητα #4) Δομή επανάληψης #5.. Εντολές Επανάληψης Προτάσεις επανάληψης Εντολές while, do while Εντολή for Περί βρόχων (loops) Τελεστές,

Διαβάστε περισσότερα

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

Δομημένος Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα 5: Εντολές επανάληψης Κουκουλέτσος Κώστας Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστικών Συστημάτων

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 6: Εντολές επανάληψης Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf(%u\n, x); Β. unsigned char ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Β Περιόδου 2015 (8/9/2015) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................

Διαβάστε περισσότερα

Εντολές Επανάληψης. int sum = 0, i=1; sum += i++ ; sum += i++ ; Η πράξη αυτή θα πρέπει να επαναληφθεί Ν φορές!

Εντολές Επανάληψης. int sum = 0, i=1; sum += i++ ; sum += i++ ; Η πράξη αυτή θα πρέπει να επαναληφθεί Ν φορές! Εντολές Επανάληψης Πολλές φορές χρειάζεται να επαναλάβουμε τις ίδιες εντολές Πχ. Έστω ότι θέλουμε να υπολογίσουμε το άθροισμα όρων μιας ακολουθίας διαδοχικών ακεραίων. Δηλαδή αν ο χρήστης δώσει τον αριθμό

Διαβάστε περισσότερα

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι Εισαγωγή Στον Προγραµµατισµό «C» Πίνακες Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Πίνακες στη C Ένας πίνακας στη C είναι

Διαβάστε περισσότερα

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19) Κεφάλαιο 8.7 Πολυδιάστατοι Πίνακες (Διάλεξη 19) Πολυδιάστατοι πίνακες Μέχρι τώρα μιλούσαμε για Μονοδιάστατους Πίνακες. ή π.χ. int age[5]= {31,28,31,30,31; για Παράλληλους πίνακες, π.χ. int id[5] = {1029,1132,1031,9991,1513;

Διαβάστε περισσότερα

Pascal. 1 Γλώσσες προγραμματισμού. 21 Οκτωβρίου 2011

Pascal. 1 Γλώσσες προγραμματισμού. 21 Οκτωβρίου 2011 Pascal 21 Οκτωβρίου 2011 1 Γλώσσες προγραμματισμού Οι μικροεπεξεργαστές των υπολογιστών μπορούν μεταξύ άλλων να εκτελούν αριθμητικές και λογικές πράξεις και να διαβάζουν και γράφουν στη μνήμη του υπολογιστή.

Διαβάστε περισσότερα

Συμβολοσειρές. 1 Συμβολοσειρές. 6 Απριλίου 2014

Συμβολοσειρές. 1 Συμβολοσειρές. 6 Απριλίου 2014 Συμβολοσειρές 6 Απριλίου 2014 1 Συμβολοσειρές Μια ειδική χρήση των πινάκων είναι αυτή της παράστασης κειμένων. Η επεξεργασία κειμένου είναι μια διαδεμόνη υπολογιστική εφαρμογή. Τα κείμενα παριστάνονται

Διαβάστε περισσότερα

Μεταβλητές τύπου χαρακτήρα

Μεταβλητές τύπου χαρακτήρα Μεταβλητές τύπου χαρακτήρα 31 Μαρτίου 014 1 Μεταβλητές τύπου char Για χειρισμό χαρακτήρων η C διαθέτει τον τύπο char. Ο τύπος είναι βαθμωτός δηλαδή ακέραιης αναπαράστασης. Τυπικά έχει μέγεθος ενός byte

Διαβάστε περισσότερα

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

Pascal. 15 Νοεμβρίου 2011 Pascal 15 Νοεμβρίου 011 1 Procedures σε Pascal Στην Pascal μπορούμε να ορίσουμε διαδικασίες (procedures). Αυτές είναι ομάδες εντολών οι οποίες έχουν ένα όνομα. Γράφοντας το όνομα μιας διαδικασίας μπορούμε

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Δομές Ανακυκλώσεων. Εντολές ελέγχου - 1

Δομές Ανακυκλώσεων. Εντολές ελέγχου - 1 Δομές Ανακυκλώσεων Σε όλες τις γλώσσες προγραμματισμού, οι εντολές ανακυκλώσεων επιτρέπουν να επαναλαμβάνουμε ένα σύνολο εντολών, περισσότερες από μια φορές και μέχρι να επιτευχθεί μια ορισμένη συνθήκη

Διαβάστε περισσότερα

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

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ 9.1 Εντολές Εισόδου/εξόδου Στην Pascal, 1. Tα δεδομένα των προγραμμάτων λαμβάνονται: είτε από το πληκτρολόγιο είτε από ένα αρχείο με τη χρήση των διαδικασιών read και readln,

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

Διαβάστε περισσότερα

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

Διαδικαστικός Προγραμματισμός Διαδικαστικός Προγραμματισμός Ενότητα 3: Εντολές ελέγχου επανάληψη Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011 Τελεστής σύντοµης ανάθεσης Τελεστής σύντοµης ανάθεσης (shorthand assignment operator) µεταβλητή = µεταβλητή τελεστής

Διαβάστε περισσότερα

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 7ο Τμήμα Διοίκησης Επιχειρήσεων Παλαιό ΕΠΔΟ α εξάμηνο Β. Φερεντίνος Δείκτες (Pointers) (1) 142 Κάθε μεταβλητή, εκτός από την τιμή της, έχει και μία συγκεκριμένη διεύθυνση

Διαβάστε περισσότερα

for for for for( . */

for for for for( . */ Εισαγωγή Στον Προγραµµατισµό «C» Βρόχοι Επανάληψης Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Ο βρόχος for Η εντολή for χρησιµοποιείται

Διαβάστε περισσότερα

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 8: Πίνακες, Αλφαριθμητικά Πίνακες Ο πίνακας είναι μια ειδική δομή για την αποθήκευση μιας σειράς από δεδομένα του ίδιου τύπου. Η δήλωση ενός πίνακα γίνεται όπως για μια

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

Διαβάστε περισσότερα

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 7: Δομές Επανάληψης - Αναγνωσιμότητα 19/10/2015 Επανάληψη εκτέλεσης: while 2 while () lexpr true false body Όσο η λογική συνθήκη επανάληψης lexpr αποτιμάται

Διαβάστε περισσότερα

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 4ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΟΙ ΤΕΛΕΣΤΕΣ ΣΥΓΚΡΙΣΗΣ Με τους τελεστές σύγκρισης, συγκρίνουμε τις

Διαβάστε περισσότερα

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Εργαστήριο 4: 4.1 Η Δομή Ελέγχου if Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Γενική Μορφή: Παρατηρήσεις:

Διαβάστε περισσότερα

Ο πιο κάτω πίνακας περιγράφει σε ποιες περιπτώσεις χρησιμοποιούμε τους τρεις πιο πάνω τρόπους:

Ο πιο κάτω πίνακας περιγράφει σε ποιες περιπτώσεις χρησιμοποιούμε τους τρεις πιο πάνω τρόπους: Επαναλήψεις - Loops Οι επαναλήψεις σε ένα πρόγραμμα μας επιτρέπουν μια ομάδα εντολών να εκτελείται για όσες φορές επιθυμούμε Υπάρχουν τρεις τρόποι επανάληψης εντολών με τη χρήση: While loops For loops

Διαβάστε περισσότερα

Κεφάλαιο 5.4-5.11: Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα

Κεφάλαιο 5.4-5.11: Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα Κεφάλαιο 5.4-5.11: Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) 10-1 Εντολές Επανάληψης που θα καλυφθούν σήμερα Διάλεξη 9 - Δευτέρα while() τελεστές postfix/prefix (++, --,...) και σύνθετοι τελεστές

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15

Διαβάστε περισσότερα

Εισαγωγή στην πληροφορική

Εισαγωγή στην πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Η γλώσσα προγραμματισμού

Διαβάστε περισσότερα

Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C

Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C Επαναληπτικός βρόχος καλείται το τμήμα του κώδικα μέσα σε ένα πρόγραμμα, το οποίο εκτελείται από την αρχή και επαναλαμβάνεται

Διαβάστε περισσότερα

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 9: Συναρτήσεις Ορισμός συναρτήσεων () { /* δήλωση μεταβλητών */ /* εντολές ελέγχου/επεξεργασίας */ o Μια συνάρτηση ορίζεται δίνοντας

Διαβάστε περισσότερα

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE ΕΡΓΑΣΤΗΡΙΟ 7 Ο Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE Βασικές Έννοιες: Δομή Επανάληψης, Εντολές Επανάληψης (For, While do, Repeat until), Αλγόριθμος, Αθροιστής, Μετρητής, Παράσταση

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 2:Αλφαριθμητικές Σειρές Χαρακτήρων (Strings)- Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγικές Έννοιες σε Strings(Αρχικοποίηση, Ανάγνωση & Εκτύπωση) Πίνακες από Strings

Διαβάστε περισσότερα

5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while)

5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while) 5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while) 5.1 Ο βρόχος while Η εντολή while παρέχει έναν μηχανισμό επανάληψης των δηλώσεων όσο μια συνθήκη είναι αληθινή. Χρησιμοποιείται όταν ο αριθμός των επαναλήψεων

Διαβάστε περισσότερα

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

Γλώσσα Προγραμματισμού C Προγραμματισμός HY: Γλώσσα Προγραμματισμού C Δρ. Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I. Θεσσαλίας Email: savvas@teilar.gr URL: http://teilar.academia.edu/iliassavvas

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C Κεφάλαιο 9.1-9.2 Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C Ένα string είναι μία ακολουθία αλφαριθμητικών χαρακτήρων, σημείων στίξης κτλ. Π.χ. Hello How are you? 121212 *Apple#123*%

Διαβάστε περισσότερα

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα

Διαβάστε περισσότερα

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

9. Εντολές επανάληψηςκαι η εντολή Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 9. Εντολές επανάληψηςκαι η εντολή while Ιωάννης Κατάκης Σήμερα o Εισαγωγή στις δομές επανάληψης o Εντολή while o Τελεστές prefix και postfix Δομές ελέγχου προγράμματος

Διαβάστε περισσότερα

Κεφάλαιο ΙV: Δείκτες και πίνακες. 4.1 Δείκτες.

Κεφάλαιο ΙV: Δείκτες και πίνακες. 4.1 Δείκτες. Κεφάλαιο ΙV: Δείκτες και πίνακες. 4.1 Δείκτες. Η C, όπως έχουμε αναφέρει, είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου η οποία αναπτύχθηκε για πρώτη φορά το 1972 από τον Dennis Ritchie στα AT&T Bell

Διαβάστε περισσότερα

Γλώσσα Προγραμματισμού C. Προγραμματισμός HY: Γλώσσα Προγραμματισμού C. Γρήγορος Πίνακας Αναφοράς Σύνταξης. Εισήγηση #4. Επαναληπτικές δομές:

Γλώσσα Προγραμματισμού C. Προγραμματισμός HY: Γλώσσα Προγραμματισμού C. Γρήγορος Πίνακας Αναφοράς Σύνταξης. Εισήγηση #4. Επαναληπτικές δομές: Προγραμματισμός HY: Γλώσσα Προγραμματισμού C Δρ. Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I. Θεσσαλίας Email: savvas@teilar.gr URL: http://teilar.academia.edu/iliassavvas

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16

Διαβάστε περισσότερα

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

Εισαγωγή στη γλώσσα προγραμματισμού C++ Εισαγωγή στη γλώσσα προγραμματισμού C++ Επαναληπτική Δομή 2 1. Εισαγωγή Δομές επανάληψης ή βρόχοι (loops) ονομάζονται τμήματα του κώδικα που εκτελούνται περισσότερες από μία φορές, ανάλογα με τη συνθήκη

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 7: ΑΛΦΑΡΙΘΜΗΤΙΚΑ

ΑΣΚΗΣΗ 7: ΑΛΦΑΡΙΘΜΗΤΙΚΑ ΑΣΚΗΣΗ 7: ΑΛΦΑΡΙΘΜΗΤΙΚΑ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η εξοικείωση με τον ορισμό, τη δήλωση και τη χρήση των χαρακτήρων, συνεπώς και των αλφαριθμητικών, της Γλώσσας

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 5: Εντολές συνθήκης Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Εισαγωγικές Έννοιες σε Strings - Πίνακες από Strings - Συναρτήσεις

Διαβάστε περισσότερα

Κεφάλαιο : Επαναλήψεις (for, do-while)

Κεφάλαιο : Επαναλήψεις (for, do-while) Κεφάλαιο 5.4-5.11: Επαναλήψεις (for, do-while) 10-1 Εντολές Επανάληψης που θα καλυφθούν σήµερα while(){ τελεστές postfix/prefix (++, --,...) και σύνθετοι τελεστές Παραδείγµατα Σήµερα for(){ Η εντολές break/continue;

Διαβάστε περισσότερα

Master Mind εφαρμογή στη γλώσσα προγραμματισμού C

Master Mind εφαρμογή στη γλώσσα προγραμματισμού C Master Mind εφαρμογή στη γλώσσα προγραμματισμού C Φεβρουάριος/Μάρτιος 2013 v. 0.1 Master-mind: κανόνες παιχνιδιού Στο master mind χρειάζεται να παράγονται κάθε φορά 4 τυχαία σύμβολα από ένα πλήθος 6 διαφορετικών

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό με C++ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στον Προγραμματισμό με C++ Ενότητα # 3: Επαναλήψεις Κωνσταντίνος Κουκουλέτσος Τμήμα Αυτοματισμού Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15

Διαβάστε περισσότερα

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

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράµµατα «γράφονται» χρησιµοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαµβάνει

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16

Διαβάστε περισσότερα

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 4 η Τελεστές Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης

Διαβάστε περισσότερα

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1 Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές Δρ. Γιώργος Λαμπρινίδης amprinidis@pharm.uoa.gr 1 Αριθμητικοί Τελεστές + πρόσθεση - αφαίρεση * πολλαπλασιασμός / διαίρεση Προσοχή! Διαίρεση

Διαβάστε περισσότερα

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

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

Διαβάστε περισσότερα

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 3 η Είσοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή

Διαβάστε περισσότερα

Υπολογισμός - Συλλογή Δεδομένων - Πίνακες

Υπολογισμός - Συλλογή Δεδομένων - Πίνακες Προγραμματισμός Η/Υ Ι Υπολογισμός - - Πίνακες ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συζητήσουμε τη χρήση του πίνακα (array) για τη συλλογή

Διαβάστε περισσότερα

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Χειρισμός χαρακτήρων, συμβολοσειρές Συμβολοσειρές Συμβολοσειρά ονομάζουμε μια οποιαδήποτε ακολουθία αλφαριθμητικών χαρακτήρων: «Κώστας», «Κώστας Βασιλάκης», «Δαιδάλου 23» Στην

Διαβάστε περισσότερα

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

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος

Διαβάστε περισσότερα

Διάλεξη 5η: Εντολές Επανάληψης

Διάλεξη 5η: Εντολές Επανάληψης Διάλεξη 5η: Εντολές Επανάληψης Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Εντολές Επανάληψης CS100, 2015-2016

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο

Διαβάστε περισσότερα