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

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

Download "Προγράμματα Σπουδών Αρχικής Επαγγελματικής Κατάρτισης (ΟΑΕΔ) του Τομέα Πληροφορικής Τηλεπικοινωνιών Δικτύων ΤΜΗΜΑ Τεχνικών Εφαρμογών Πληροφορικής"

Transcript

1 Προγράμματα Σπουδών Αρχικής Επαγγελματικής Κατάρτισης (ΟΑΕΔ) του Τομέα Πληροφορικής Τηλεπικοινωνιών Δικτύων ΤΜΗΜΑ Τεχνικών Εφαρμογών Πληροφορικής Δικτύων & Αυτοματισμού Γραφείου

2 Προγραμματισμός Ο προγραμματισμός είναι η ανάπτυξη αλγορίθμων και η υλοποίηση τους σε γλώσσες προγραμματισμού για την επίλυση προβλημάτων. Τα βήματα που ακολουθούμε είναι: Ορισμός προβλήματος Ανάλυση προβλήματος Δεδομένα, αποτελέσματα, εξαγόμενα Τι πρέπει να γίνει Υλοποίηση αλγόριθμου (γράψιμο προγράμματος) Δοκιμή και επαλήθευση Αποσφαλμάτωση (Debugging) Συντήρηση Διορθωτική Επαυξητική Τελειοποίηση Προσαρμογή Αλγόριθμος Ο αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Διατύπωση της διαδικασίας μετασχηματισμού δεδομένων στα επιθυμητά αποτελέσματα. Σχεδιασμός αλγορίθμου Σταδιακή εκλέπτυνση από πάνω προς τα κάτω Το αρχικό πρόβλημα διασπάται σταδιακά σε απλούστερα προβλήματα Η σταδιακή αυτή διάσπαση συνεχίζεται μέχρις ότου φτάσουμε σε προβλήματα που δεν διασπώνται περαιτέρω Επαλήθευση και αξιολόγηση Γλώσσες προγραμματισμού Γλώσσες χαμηλού επιπέδου (lw level languages) Εξαρτώνται από συγκεκριμένη Κεντρική Μονάδα Επεξεργασίας (CPU) Γλώσσα μηχανής (machine language) -> ακολουθίες αριθμών που δίνουν εντολές απευθείας στη «μηχανή» Συμβολική γλώσσα (assembly language) Χρήση συμβολικών κωδικών που αντιστοιχούν σε εντολές της γλώσσας μηχανής Δύσχρηστη καθώς δεν περιέχει ενσωματωμένες δομές ελέγχου ή λειτουργίες εισόδου / εξόδου Γλώσσες υψηλού επιπέδου (high level languages) Ανεξάρτητες του Η/Υ Παρέχουν διάφορες δομές ελέγχου, λειτουργίες εισόδου / εξόδου Συνδυάζουν αγγλικές λέξεις και «συνηθισμένους» μαθηματικούς τύπους Ευκολότερες και ταχύτερες Γιατί C; Συνδυάζει: δομή μιας γλώσσας υψηλού επιπέδου πληθώρα διαθέσιμων βιβλιοθηκών ισχύ και την αποτελεσματικότητα μιας γλώσσας χαμηλού επιπέδου άμεση πρόσβαση στους πόρους του Η/Υ Σχετικά μικρή κι εύκολή στην εκμάθηση Φορητή, ευέλικτη και με ισχυρές δυνατότητες Ευρύτατα χρησιμοποιούμενη γλώσσα C++ και Java Αναγκαίο εφόδιο για το πέρασμα στον αντικειμενοστραφή προγραμματισμό Ιστορία της C Αναπτύχθηκε από τον Dennis Ritchie από δύο προγενέστερες γλώσσες προγραμματισμού, τις BCPL και B, με χρήση του λειτουργικού συστήματος UNIX. Υπήρχαν διάφορες παραλλαγές της C, μη συμβατές μεταξύ τους. Το 1983 οργανώθηκε μια επιτροπή (ANSI) για την καθιέρωση ενός προτύπου: - 2 -

3 Το πρότυπο τελειοποιήθηκε το 1989 Διατέθηκε στο κοινό το 1990 Προσαρμόστηκε ελαφρά το Φάσεις υλοποίησης ενός προγράμματος C Σύνταξη κώδικα (Edit) Προεπεξεργασία (Preprcess) Μεταγλώττιση (Cmpile) Σύνδεση (Link) Φόρτωση Lad Εκτέλεση (Execute) Ένα απλό πρόγραμμα σε C: Εκτύπωση μηνύματος στην οθόνη Σχόλια Κείμενο που περιέχεται μεταξύ /* και */ (αγνοείται από τον υπολογιστή) Χρησιμοποιούνται για να περιγράψουν το πρόγραμμα /*simple.c A first prgram in C */ /*functin main begins prgram executin*/ int main (vid) printf( "Welcme t C!\n" ); return 0; /*indicate that prgram ended successfully*/ /*end functin main*/ Welcme t C! Ντιρεκτίβα προεπεξεργαστή (Preprcessr directive) Λέει στον προεπεξεργαστή να διαβάσει ένα άλλο αρχείο και να το συμπεριλάβει (include) στο πρόγραμμα Οδηγία προς τον μεταγλωττιστή <stdi.h> επιτρέπει βασικές (standard) λειτουργίες εισόδου/ εξόδου int main (vid) Ένα πρόγραμμα C μπορεί να περιέχει αρκετές συναρτήσεις πρέπει οπωσδήποτε να περιέχει τη main Από τη main ξεκινάει η εκτέλεση του προγράμματος Οι παρενθέσεις χρησιμοποιούνται για να υποδείξουν μια συνάρτηση int σημαίνει ότι η main επιστρέφει" μια τιμή που είναι ακέραιος (integer) vid σημαίνει ότι η main δεν έχει παραμέτρους Οι αγκύλες ( και ) υποδεικνύουν μια ενότητα (blck) Το σώμα όλων των συναρτήσεων πρέπει να περικλείεται σε αγκύλες printf( "Welcme t C!\n" ); Ολόκληρη η γραμμή ονομάζεται εντολή της C Όλες οι εντολές πρέπει να τερματίζουν με ένα χαρακτήρα ελληνικού ερωτηματικού (;) Καλεί μια συνάρτηση της standard βιβλιοθήκης Τυπώνει το αλφαριθμητικό (string) που περιλαμβάνεται μεταξύ των εισαγωγικών (" ") Χαρακτήρας διαφυγής (\) Υποδηλώνει ότι η printf θα πρέπει να κάνει κάτι πέρα από το συνηθισμένο \n χαρακτήρας νέας γραμμής return 0; Λέει στη main να επιστρέψει την τιμή 0-3 -

4 τιμή επιστρέφεται στη διεργασία που κάλεσε τη main συνήθως είναι το λειτουργικό σύστημα Κατά σύμβαση η τιμή 0 σημαίνει ότι το πρόγραμμα τερμάτισε κανονικά return Δεσμευμένη λέξη της C Δεξί άγκιστρο Υποδεικνύει το τέλος του σώματος της main Δεσμευμένες λέξεις ANSI C aut duble int struct break else lng switch case enum register typedef char extern return unin cnst flat shrt unsigned cntinue fr signed vid default gt sizef vlatile d if static while Περιορισμός για μια γλώσσα, αλλά αυξάνουν την αναγνωσιμότητα και αξιοπιστία των προγραμμάτων και επιταχύνουν τη διαδικασία της μεταγλώττισης Πολλές είναι αποδεκτές σε πολλές γλώσσες προγραμματισμού Γενική μορφή προγράμματος στη C εντολές προεπεξεργαστή (#include, #define, ) δηλώσεις μεταβλητών δηλώσεις συναρτήσεων int main (vid) εντολές τύπος επιστρεφόμενης-τιμής f1(λίστα παραμέτρων) τύπος επιστρεφόμενης-τιμής f2 (λίστα παραμέτρων)... τύπος επιστρεφόμενης-τιμής fν (λίστα παραμέτρων) Μεταβλητές Μια μεταβλητή αντιστοιχεί σε μια θέση της μνήμης που έχει το όνομα της μεταβλητής Κάθε μεταβλητή όνομα (αναγνωριστικό) τύπος μέγεθος τιμή Κανόνες ονόματος ή αναγνωριστικού Πρέπει να αρχίζει υποχρεωτικά με γράμμα ή με _ Μπορεί να περιέχει γράμματα, αριθμούς και χαρακτήρες υπογράμμισης (_) Δεν μπορεί να είναι δεσμευμένη λέξη Μικροί και κεφαλαίοι χαρακτήρες θεωρούνται διαφορετικοί π.χ. cunt και COUNT θεωρούνται διαφορετικές μεταβλητές Η δήλωση μιας μεταβλητής λέει στον μεταγλωττιστή τον τύπο των δεδομένων που χρησιμοποιεί η μεταβλητή τύπος όνομα-μεταβλητής Η C υποστηρίζει πέντε βασικούς τύπους δεδομένων - 4 -

5 Βασικοί τύποι δεδομένων της C Τύπος Παραδείγματα char ch; int cunter; flat f; duble d; flat x, y, z; χαρακτήρας ακέραιος αριθμός κινητής υποδιαστολής αριθμός κινητής υποδιαστολής, διπλής ακρίβειας απουσία τιμής Δεσμευμένη λέξη char int flat duble vid Εκχώρηση τιμών Γενική μορφή εντολής εκχώρησης όνομα-μεταβλητής = τιμή Παραδείγματα status = a ; int_num = 100; f_num = Γενικές και τοπικές μεταβλητές Γενικές μεταβλητές (Glbal variables) Δηλώνονται έξω από όλες τις συναρτήσεις Μπορούν να προσπελάζονται από οποιαδήποτε συνάρτηση του προγράμματος Τοπικές μεταβλητές (Lcal variables) Δηλώνονται μέσα σε μια συνάρτηση Προσπελάζονται και είναι γνωστές μόνο μέσα στη συνάρτηση στην οποία δηλώνονται Δημιουργούνται όταν καλείται η συνάρτηση και παύουν να υπάρχουν μετά τον τερματισμό της συνάρτησης Οι τοπικές μεταβλητές μιας συνάρτησης δεν συνδέονται με τις τοπικές μεταβλητές μιας άλλης συνάρτησης εντολές προεπεξεργαστή (#include, #define, ) δηλώσεις γενικών μεταβλητών δηλώσεις συναρτήσεων int main (vid) εντολές τύπος επιστρεφόμενης-τιμής f1(λίστα παραμέτρων) δηλώσεις τοπικών μεταβλητών. τύπος επιστρεφόμενης-τιμής fν (λίστα παραμέτρων) Πρόγραμμα πρόσθεσης δύο ακεραίων /*Additin Prgram*/ /*functin main begins prgram executin*/ int main () int integer1; /*first number t be input by user*/ int integer2; /*secnd number t be input by user*/ - 5 -

6 int sum; /*variable in which sum will be stred*/ printf ( Enter first integer\n ); /*prmpt*/ scanf ( %d, &integer1); /*read an integer*/ printf ( Enter secnd integer\n ); /*prmpt*/ scanf ( %d, &integer2); /*read an integer*/ sum = integer1 + integer2; /*assign ttal t sum*/ printf ( Sum is %d\n, sum); /*print sum*/ return 0; /*indicate that prgram ended successfully*/ /*end functin main*/ Αποτέλεσμα προγράμματος Enter first integer 45 Enter secnd integer 72 Sum is 117 Σχόλια, και main int integer1, integer2, sum; Δήλωση ακέραιων μεταβλητών scanf( "%d", &integer1 ); Συνάρτηση βιβλιοθήκης χρησιμοποιείται για το διάβασμα μιας τιμής από το πληκτρολόγιο Η συγκεκριμένη εντολή scanf έχει δύο ορίσματα %d - υποδεικνύει πως τα δεδομένο εισόδου είναι ένας ακέραιος αριθμός &integer1 - υποδεικνύει τη θέση της μνήμης στην οποία πρέπει να αποθηκευθεί η συγκεκριμένη τιμή & - τελεστής μνήμης = τελεστής εκχώρησης (assignment peratr) Εκχωρεί μια τιμή σε μια μεταβλητή sum = variable1 + variable2; + τελεστής αθροίσματος Η sum παίρνει την τιμή του αθροίσματος variable1 + variable2; printf( "Sum is %d\n", sum ); Ανάλογη με την scanf %d σημαίνει ότι θα τυπωθεί ένας δεκαδικός ακέραιος sum προσδιορίζει ποιος είναι ο ακέραιος που θα τυπωθεί Πράξεις μπορούν να εκτελούνται εντός μιας εντολής printf printf( "Sum is %d\n", integer1 + integer2 ); Τελεστές Αριθμητικοί + - * / % Σχεσιακοί > >= == < <=!= Λογικοί &&! Διαχείρισης μνήμης & []. -> Διαχείρισης των bits ενός byte >> & ^ ~ Αριθμητικοί τελεστές Δυαδικοί +, -, *, /, % (τελεστής υπολοίπου) - 6 -

7 x y x/y x%y Μοναδιαίοι Μοναδιαίοι αύξησης και μείωσης ++, -- Προπορευόμενοι, π.χ. ++x η αύξηση ή η ελάττωση γίνεται πριν να χρησιμοποιηθεί η τιμή της μεταβλητής στον υπολογισμό της τιμής της έκφρασης στην οποία συμμετέχει Παρελκόμενοι, π.χ. x++ η αύξηση ή η ελάττωση γίνεται μετά τον υπολογισμό της τιμής της έκφρασης στην οποία συμμετέχει Αριθμητικοί τελεστές αύξησης και μείωσης Εντολή Τιμή x Τιμή y int x=10, y=20; x; y= --x; y=x-- + y; 9 20 y= y x++; Σχεσιακοί τελεστές Λογικοί τελεστές Τελεστής Ενέργεια Τελεστής Ενέργεια > Μεγαλύτερο από >= Μεγαλύτερο ή ίσο από < Μικρότερο από <= Μικρότερο ή ίσο από == Ίσο!= Διάφορο Εκφράσεις Γενική περίπτωση && AND (λογική σύζευξη) OR (λογική διάζευξη)! NOT (λογική άρνηση) Αποτελείται από έναν ή περισσότερους τελεστέους και προαιρετικά από έναν ή περισσότερους τελεστές Τελεστέοι: μεταβλητές, σταθερές ή κλήσεις συναρτήσεων Κάθε έκφραση έχει μια τιμή Παραδείγματα απλών εκφράσεων 8 cunt func(x) MAX_NUM Παραδείγματα σύνθετων εκφράσεων 8 * 24 cunt + 4 func(x) / 3 (cunt + 32) / MAX_NUM Προτεραιότητα Αριθμητικοί τελεστές Καθορισμός επιπέδων προτεραιότητας για τους τελεστές * και / στο ίδιο επίπεδο + και στο ίδιο επίπεδο * και / σε υψηλότερο επίπεδο από τους δυαδικούς + και - μοναδιαίοι +,. υψηλότερη προτεραιότητα *, /, % ενδιάμεση προτεραιότητα δυαδικοί +,. χαμηλότερη προτεραιότητα Προσεταιριστικότητα (assciativity) Καθορισμός σειράς εφαρμογής περισσοτέρων τελεστών στο ίδιο επίπεδο (πολλά στιγμιότυπα του τελεστή) - 7 -

8 +, -, * και / είναι αριστερής προσεταιριστικότητας (εφαρμογή από αριστερά προς τα δεξιά) Τελεστής ανάθεσης είναι δεξιάς προσεταιριστικότητας num_1 = num_2 = 5 Προτεραιότητα σχεσιακών και λογικών τελεστέων Υψηλότερη! > >= < <= ==!= && Χαμηλότερη Χρήση παρενθέσεων για προσδιορισμό σειράς εφαρμογής τελεστών ή/και αύξηση αναγνωσιμότητας μιας έκφρασης Πρώτα υπολογίζονται οι εσωτερικές παρενθέσεις Προσοχή: Χρησιμοποιήστε παρενθέσεις όπου υπάρχει αβεβαιότητα Παραδείγματα 2 3 * 4 (2 3) * 4 2 (3 * 4) x + y + z * w (x + (y + (z * w))) 2 + ((4 + 2) / (7-5) 6 Ανάπτυξη προγραμμάτων δομημένου προγραμματισμού Στόχοι Κατανόηση βασικών τεχνικών επίλυσης προβλημάτων Ανάπτυξη αλγορίθμων με από πάνω προς τα κάτω (tp-dwn) σχεδιασμό Χρήση εντολών if και if else για την επιλογή ενεργειών Χρήση εντολής while για την επαναληπτική εκτέλεση εντολών σε ένα πρόγραμμα Χρήση ένθετων εντολών Κατανόηση επανάληψης ελεγχόμενης από μετρητή (cunter-cntrlled) και ελεγχόμενης από τιμή «σημαία» / «φρουρό» (sentinel-cntrlled). Πρίν γράψουμε ένα πρόγραμμα Πρέπει να έχουμε κατανοήσει πολύ καλά το πρόβλημα που θέλουμε να λύσουμε Σχεδιάζουμε προσεκτικά τον τρόπο επίλυσης του προβλήματος Ενώ γράφουμε ένα πρόγραμμα: Πρέπει να ξέρουμε ποιες δομικές μονάδες ( building blcks ) είναι διαθέσιμες Πρέπει να χρησιμοποιούμε καλές αρχές-κανόνες προγραμματισμού Αλγόριθμοι Επίλυση προβλημάτων Όλα τα προβλήματα μπορούν να επιλυθούν με την εκτέλεση μιας σειράς ενεργειών με συγκεκριμένη σειρά Αλγόριθμος: ορίζεται ως μια διαδικασία από Ενέργειες που πρέπει να εκτελεστούν Τη σειρά με την οποία εκτελούνται αυτές οι ενέργειες Έλεγχος προγράμματος Ορισμός της σειράς με την οποία εκτελούνται οι εντολές Δομές ελέγχου Σειριακή εκτέλεση Οι εντολές εκτελούνται η μια μετά την άλλη με τη σειρά που είναι γραμμένες Μεταφορά ελέγχου Η επόμενη εντολή που εκτελείται δεν είναι η επόμενη στη σειρά Η υπερβολική χρήση εντολών gt οδηγούσε σε πολλά προβλήματα Όλα τα προγράμματα γράφονται με βάση 3 δομές ελέγχου Σειριακές δομές : Ενσωματωμένες στη C: Τα προγράμματα εκτελούνται σειριακά Δομές επιλογής: - 8 -

9 Στη C υπάρχουν τρεις τύποι: if, if else, και switch Δομές επανάληψης: Στη C υπάρχουν τρεις τύποι: while, d while and fr Διάγραμμα ροής σειριακής δομής της C Γραφική αναπαράσταση αλγόριθμου Σχεδιάζεται χρησιμοποιώντας ορισμένα ειδικά σύμβολα που συνδέονται με βέλη που ονομάζονται γραμμές ροής (flwlines) Ορθογώνιο παραλληλόγραμμο (σύμβολο ενέργειας) :Υποδηλώνει οποιονδήποτε τύπο ενέργειας Έλλειψη : Υποδηλώνει την αρχή ή το τέλος ενός προγράμματος ή ενός τμήματος κώδικα Δομές ελέγχου μονής εισόδου / μονής εξόδου Σύνδεση σημείου εξόδου μιας δομής με το σημείο εισόδου της επόμενης δομής (στοίβαξη δομών ελέγχου) Διευκολύνει τη δημιουργία (το γράψιμο) προγραμμάτων Η εντολή επιλογής if Δομή επιλογής: Χρησιμοποιείται για την επιλογή μεταξύ εναλλακτικών τρόπων ενεργειών Σε ψευδοκώδικα: If ο βαθμός ενός φοιτητή είναι μεγαλύτερος ή ίσος του 60 Τύπωσε Passed Αν η συνθήκη της If είναι αληθής - true Εκτελείται η εντολή τύπωσε και το πρόγραμμα συνεχίζει με την επόμενη εντολή Αν η συνθήκη της If είναι ψευδής - false Η εντολή τύπωσε αγνοείται και το πρόγραμμα συνεχίζει με την επόμενη εντολή Προκειμένου να είναι πιο ευανάγνωστα τα προγράμματα Χωρίζουμε τις διάφορες ενότητες τοποθετώντας τις αντίστοιχες παραγράφους λίγο δεξιότερα Η C αγνοεί τα «κενά» Εντολή ψευδοκώδικα σε C: if ( grade >= 60 ) printf( "Passed\n" ); Ο κώδικας C μοιάζει αρκετά με τον ψευδοκώδικα Γενική μορφή εντολής if if (έκφραση) εντολή; Ρόμβος (σύμβολο απόφασης) Υποδεικνύει ότι πρέπει να παρθεί μια απόφαση Περιέχει μια έκφραση που μπορεί να είναι true (αληθής) ή false (ψευδής) Έλεγχος της συνθήκης, επιλογή κατάλληλης διαδρομής/ ροής Η εντολή if statement είναι μια δομή μονής εισόδου / μονής εξόδου Πρόγραμμα C Παράδειγμα: Γράψτε ένα πρόγραμμα το οποίο διαβάζει έναν αριθμό από το πληκτρολόγιο και εξακριβώνει αν αυτός ο αριθμός είναι αρνητικός ή μη-αρνητικός

10 /*Decide if input is negative r nn-negative*/ /*functin main prgram executin*/ int main() int num; /*number t be entered*/ printf( Enter an integer:\n ); scanf ( %d, &num); if (num < 0) printf ( The number is negative.\n ); if (num >= 0) printf ( The number is nn-negative.\n ); return 0; /*end main*/ Αποτέλεσμα προγράμματος Enter an integer: 10 Number is nn-negative. Enter an integer: -78 Number is negative. Enter an integer: 0 Number is nn-negative. Η εντολή επιλογής if else if: Μια ενέργεια πραγματοποιείται μόνο αν η συνθήκη της if είναι true if else: Προσδιορίζει μια ενέργεια που πρέπει να εκτελεστεί τόσο όταν η συνθήκη είναι true όσο και όταν η συνθήκη είναι false Ψευδοκώδικας: If ο βαθμός ενός φοιτητή είναι μεγαλύτερος ή ίσος του 60 Τύπωσε Passed else Τύπωσε Failed Κώδικας C: if ( grade >= 60 ) printf( "Passed\n"); else printf( "Failed\n"); Γενική μορφή εντολής if else if (έκφραση) εντολή1; else εντολή2; Τριαδικός τελεστής (?:) Έχει τρία ορίσματα (Takes three arguments) συνθήκη? εντολή if true : εντολή if false Παράδειγμα grade >= 60? printf( Passed\n ) : printf( Failed\n ); printf("%s\n",grade>= 60?"Passed":"Failed"); Διάγραμμα ροής της εντολής επιλογής if else

11 Ένθετες/ «Φωλιασμένες» (nested) εντολές if else Όταν μια εντολή if είναι ο προορισμός μιας άλλης εντολής if ή else, τότε είναι ένθετη μέσα στην πρώτη (εξωτερική) εντολή if Παράδειγμα if (cunt > max) /*εξωτερική if*/ if (errr) printf( Errr, try again. ); /*ένθετη if*/ Στην πράξη σπάνια συναντάται μεγάλο βάθος ένθεσης Ένθετες/ «Φωλιασμένες» (nested) εντολές if else Ποια if σχετίζεται με ποια else ; Μια else σχετίζεται πάντα με την πλησιέστερη if που υπάρχει στο ίδιο τμήμα κώδικα και δεν είναι συσχετισμένη με μια άλλη if Ψευδοκώδικας για ένθετες εντολές if else If ο βαθμός του φοιτητή είναι μεγαλύτερος ή ίσος του 90 Τύπωσε A else If ο βαθμός του φοιτητή είναι μεγαλύτερος ή ίσος του 80 Τύπωσε B else If ο βαθμός του φοιτητή είναι μεγαλύτερος ή ίσος του 70 Τύπωσε C else If ο βαθμός του φοιτητή είναι μεγαλύτερος ή ίσος του 60 Τύπωσε D else Τύπωσε F Γενική μορφή ένθετων εντολών if else if (έκφραση) εντολή; else if (έκφραση) εντολή; else if (έκφραση) εντολή;... else εντολή; Κώδικας C if (grade >= 90) printf( A\n ); else if (grade >= 80) printf( B\n ); else if (grade >= 70) printf( C\n ); else if (grade >=60) printf( D\n ); else printf( F\n ); Παραδείγματα if (p) /*εξωτερική if*/ if (q) printf( a and b are true ); /*ένθετη if*/ else printf( T which statement des this else apply? ); if (ch== S ) /*πρώτη if*/

12 printf( Enter a number: \n ); scanf( %d, &y); /*δεύτερη if*/ if (y) printf( Its square is %d.,y*y); else printf( Make next selectin.\n ); Η εντολή επανάληψης while Δομή επανάληψης Ο προγραμματιστής ορίζει την επανάληψη μιας ενέργειας για όσο (while) κάποια συνθήκη παραμένει αληθής (true) Ψευδοκώδικας: While υπάρχουν πράγματα στη λίστα με τα ψώνια Αγόρασε το επόμενο αντικείμενο και σβήσε το από τη λίστα Βρόχος Ομάδα εντολών που εκτελεί επανειλημμένα ένας υπολογιστής μέχρι κάποια για όσο (while) μια συνθήκη παραμένει true (αληθής) Ο βρόχος while επαναλαμβάνεται μέχρι η συνθήκη να γίνει false Παράδειγμα: int prduct = 2; while ( prduct <= 1000 ) prduct = 2 * prduct; Επανάληψη ελεγχόμενη από μετρητή (Cunter-cntrlled repetitin) Ο βρόχος επαναλαμβάνεται μέχρι ο μετρητής να πάρει μια συγκεκριμένη τιμή Συγκεκριμένη επανάληψη: ο αριθμός των επαναλήψεων είναι γνωστός Παράδειγμα: Το τμήμα ενός σχολείου αποτελείται από 10 μαθητές. Οι μαθητές έγραψαν διαγώνισμα. Οι βαθμοί είναι ακέραιοι αριθμοί από 0 ως 100. Έστω ότι είναι γνωστοί οι βαθμοί. Γράψτε ένα πρόγραμμα που να διαβάζει τους βαθμούς που του δίνει ο χρήστης και να υπολογίζει το μέσο όρο του τμήματος στο διαγώνισμα. Ψευδοκώδικας: Δώσε στο σύνολο την τιμή 0 Δώσε στον μετρητή βαθμών την τιμή 1 While ο μετρητής βαθμών είναι μικρότερος ή ίσος του 10 Διάβασε τον επόμενο βαθμό Πρόσθεσε το βαθμό στο σύνολο Πρόσθεσε ένα στο μετρητή των βαθμών Δώσε στο μέσο όρο τμήματος την τιμή του πηλίκου του συνόλου διαιρεμένου δια 10 Τύπωσε το μέσο όρο του τμήματος Πρόγραμμα C /*Class average prgram with cunter-cntrlled repetitin*/ int main()/*functin main prgram executin*/ int cunter; /*number f grade t be entered next*/ int grade; /*grade value*/ int ttal; /*sum f grades input by user*/ int average /*average f grades*/ ttal = 0; /*initialize ttal*/

13 cunter = 1; /*initialize lp cunter*/ /*prcessing phrase*/ while (cunter <=10) /*lp 10 times*/ printf ( Enter grade:\n ); /*prmpt input*/ scanf ( %d, &grade); /*read grade frm user*/ ttal = ttal + grade; /*add grade t ttal*/ cunter = cunter +1; /*increment cunter*/ /*end while*/ average = ttal/10; /*integer divisin*/ printf ( Class average is %d\n, average); /*display result*/ return 0; /*end functin main*/ Αποτέλεσμα προγράμματος Enter grade: 98 Enter grade: 76 Enter grade: 71 Enter grade: 87 Enter grade: 83 Enter grade: 90 Enter grade: 57 Enter grade: 79 Enter grade: 82 Enter grade: 94 Class average is 81 Επανάληψη ελεγχόμενη από τιμή σημαία (Sentinel-Cntrlled repetitin) Παράδειγμα : Γράψτε ένα πρόβλημα όμοιο με το προηγούμενο με τη διαφορά ότι το πρόγραμμα θα επεξεργάζεται έναν τυχαίο αριθμό βαθμών κάθε φορά που εκτελείται Άγνωστος αριθμό βαθμών Πώς θα ξέρει το πρόγραμμα πότε να σταματήσει; Χρήση ειδικής τιμής Τιμή φρουρός (sentinel), σήμα (signal), σημαία (flag) Υποδεικνύει το τέλος της εισαγωγής δεδομένων Ο βρόχος τελειώνει όταν ο χρήστης εισάγει αυτήν την ειδική τιμή Η τιμή αυτή επιλέγεται έτσι ώστε να μην συγχέεται με κάποια κανονική τιμή εισόδου (π.χ. στη συγκεκριμένη περίπτωση μπορεί να είναι -1) Σχεδίαση αλγόριθμου με τεχνική Tp-Dwn Tp-dwn σχεδιασμός Διατυπώνουμε σε ψευδοκώδικα τη γενική λειτουργία του προγράμματος (tp): Καθόρισε το μέσο όρο του τμήματος για το διαγώνισμα Διαιρούμε τη γενική λειτουργία (tp) σε μικρότερες διεργασίες που ακολουθούν μια συγκεκριμένη σειρά: Αρχικοποίησε μεταβλητές Διάβασε, άθροισε και μέτρησε τους βαθμούς του διαγωνίσματος Υπολόγισε και τύπωσε το μέσο όρο του τμήματος Στα περισσότερα προγράμματα μπορούμε να διακρίνουμε τρεις φάσεις: Αρχικοποίηση: αρχικοποιεί τις μεταβλητές του προγράμματος Επεξεργασία: παίρνει τις τιμές εισόδου και προσαρμόζει ανάλογα τις μεταβλητές του προβλήματος Τερματισμός: υπολογίζει και εκτυπώνει τα τελικά αποτελέσματα Αναλύουμε τη φάση αρχικοποίησης από Αρχικοποίησε μεταβλητές σε: Δώσε στο σύνολο την τιμή

14 Δώσε στον μετρητή βαθμών την τιμή 0 Αναλύουμε τη φάση Διάβασε, άθροισε και μέτρησε τους βαθμούς του διαγωνίσματος σε: Διάβασε τον πρώτο βαθμό (πιθανώς τη «σημαία») While ο χρήστης δεν έχει εισάγει τη «σημαία» Πρόσθεσε το βαθμό στο τρέχον σύνολο Αύξησε το μετρητή των βαθμών κατά 1 Διάβασε τον επόμενο βαθμό (πιθανώς τη «σημαία») Αναλύουμε τη φάση Υπολόγισε και εκτύπωσε το μέσο όρο του τμήματος ως εξής: If ο μετρητής δεν είναι ίσος με 0 Κάνε το μέσό όρο ίσο με το πηλίκο του συνόλου δια του μετρητή των βαθμών Τύπωσε το μέσο όρο else Τύπωσε N grades were entered Δώσε στο σύνολο την τιμή 0 Δώσε στον μετρητή βαθμών την τιμή 0 Διάβασε τον πρώτο βαθμό (πιθανώς τη «σημαία») While ο χρήστης δεν έχει εισάγει τη «σημαία» Πρόσθεσε το βαθμό στο τρέχον σύνολο Αύξησε το μετρητή των βαθμών κατά 1 Διάβασε τον επόμενο βαθμό (πιθανώς τη «σημαία») If ο μετρητής δεν είναι ίσος με 0 Κάνε το μέσό όρο ίσο με το πηλίκο του συνόλου δια του μετρητή των βαθμών Τύπωσε το μέσο όρο else Τύπωσε N grades were entered Πρόγραμμα C /*Class average prgram with sentinel-cntrlled repetitin*/ int main()/*functin main prgram executin*/ int cunter; /*number f grade t be entered next*/ int grade; /*grade value*/ int ttal; /*sum f grades input by user*/ flat average; /*number with decimal pint fr average*/ /*initializatin phrase*/ ttal = 0; /*initialize ttal*/ cunter = 1; /*initialize lp cunter*/ /*prcessing phrase*/ /*get first grade frm user*/ printf ( Enter grade, -1 t end:\n ); /*prmpt input*/ scanf ( %d, &grade); /*read grade frm user*/ /*lp while sentinel value nt yet read frm user*/ while (grade!= -1) ttal = ttal + grade; /*add grade t ttal*/ cunter = cunter +1; /*increment cunter*/ printf ( Enter grade, -1 t end:\n ); /*prmpt input*/ scanf ( %d, &grade); /*read grade frm user*/ /*end while*/ /*terminate phrase*/ /*if user endered at least ne grade*/ if (cunter!=0)

15 /*calculate average f all grades entered*/ average = (flat)ttal/cunter; /*display average with tw digits f prcisin*/ printf ( Class average is %.2f\n, average); /*end if*/ else /*if n grades were entered, utput message*/ printf ( N grades were entered ); /*end else*/ return 0; /*indicate prgram ended successfully*/ /*end functin main*/ Αποτέλεσμα προγράμματος Enter grade, -1 t end: 75 Enter grade, -1 t end: 94 Enter grade, -1 t end: 97 Enter grade, -1 t end: 88 Enter grade, -1 t end: 70 Enter grade, -1 t end: 64 Enter grade, -1 t end: 83 Enter grade, -1 t end: 89 Enter grade, -1 t end: -1 Class average is Enter grade, -1 t end: -1 N grades were entered Ένθετες δομές ελέγχου (Nested cntrl structures) Παράδειγμα :Δίνεται η λίστα των αποτελεσμάτων ενός διαγωνίσματος 10 φοιτητών σε ένα κολέγιο. 1 είναι ο κωδικός επιτυχίας ενώ 2 είναι ο κωδικός αποτυχίας Γράψτε ένα πρόγραμμα που να υπολογίζει και να τυπώνει τον αριθμό των επιτυχόντων και αποτυχόντων. Αν ο αριθμός των επιτυχόντων είναι μεγαλύτερος από 8 το πρόγραμμα θα πρέπει επίσης να τυπώνει ένα μήνυμα. Παρατηρούμε ότι: Το πρόγραμμα πρέπει να επεξεργαστεί 10 αποτελέσματα διαγωνίσματος Άρα μπορούμε να χρησιμοποιήσουμε επανάληψη ελεγχόμενη από μετρητή Θα πρέπει να χρησιμοποιήσουμε δύο μετρητές Αριθμός επιτυχόντων Αριθμός αποτυχόντων Κάθε αποτέλεσμα είναι ένας αριθμός - 1 ή 2 Αν ο αριθμός δεν είναι 1, μπορούμε να υποθέσουμε ότι είναι 2 Γενική λειτουργία προγράμματος Ανάλυσε τα αποτελέσματα της εξέτασης και αποφάσισε αν είναι καλά Πρώτη ανάλυση Αρχικοποίησε μεταβλητές Διάβασε τους δέκα βαθμούς και υπολόγισε τον αριθμό επιτυχόντων και αποτυχόντων Τύπωσε μια περίληψη των αποτελεσμάτων της εξέτασης και αποφάσισε αν τα αποτελέσματα είναι καλά Ανάλυση της πρότασης Αρχικοποίησε μεταβλητές σε: Αρχικοποίησε επιτυχίες με μηδέν Αρχικοποίησε αποτυχίες με μηδέν Αρχικοποίησε μετρητή φοιτητών με ένα Ανάλυση της Διάβασε τους δέκα βαθμούς και υπολόγισε τον αριθμό επιτυχόντων και αποτυχόντων σε: While ο μετρητής φοιτητών είναι μικρότερος ή ίσος του δέκα Διάβασε το επόμενο αποτέλεσμα If ο φοιτητής πέρασε Αύξησε τις επιτυχίες κατά ένα else

16 Αύξησε τις αποτυχίες κατά ένα Αύξησε το μετρητή φοιτητών κατά ένα Ανάλυση της Τύπωσε μια περίληψη των αποτελεσμάτων και αποφάσισε αν τα αποτελέσματα είναι καλά ως εξής: Τύπωσε τον αριθμό των επιτυχιών Τύπωσε τον αριθμό των αποτυχιών If περισσότεροι από οκτώ φοιτητές πέρασαν Τύπωσε Gd results! Αρχικοποίησε επιτυχίες με μηδέν Αρχικοποίησε αποτυχίες με μηδέν Αρχικοποίησε μετρητή φοιτητών με ένα While ο μετρητής φοιτητών είναι μικρότερος ή ίσος του δέκα Διάβασε το επόμενο αποτέλεσμα If ο φοιτητής πέρασε Αύξησε τις επιτυχίες κατά ένα else Αύξησε τις αποτυχίες κατά ένα Αύξησε το μετρητή φοιτητών κατά ένα Τύπωσε τον αριθμό των επιτυχιών Τύπωσε τον αριθμό των αποτυχιών If περισσότεροι από οκτώ φοιτητές πέρασαν Τύπωσε Gd results! Πρόγραμμα C /*Analysis f examinatin results*/ int main()/*functin main prgram executin*/ /*initialize variables in definitins*/ int passes =0; /*number f passes*/ int failures =0; /*number f failures*/ int student =1; /*student cunter*/ int result; /*ne exam result*/ /*prcess 10 students using cunter-cntrlled lp*/ while (student <=10) /*prmpt user fr input and btain value frm user*/ printf ( Enter result (1=passed, 2=failed): ); scanf ( %d, &result); /*if result is 1, increment passes*/ if (result = =1) passes = passes +1; /*end if*/ else /*therwise, increment failures*/ failures = failures +1; /*end else*/ student =student +1; /*increment student cunter*/ /*end while*/ /*terminatin phrase, display number f passes and failures*/ printf ( Passes %d\n, passes); printf ( Failed %d\n, failures);

17 /*if mre than 8 students passed, print Gd results! */ if (passes >8) printf ( Gd results! ); /*end if*/ return 0; /*indicate prgram ended successfully*/ /*end functin main*/ Αποτελέσματα προγράμματος Enter Result (1=pass,2=fail): 1 Enter Result (1=pass,2=fail): 2 Enter Result (1=pass,2=fail): 2 Enter Result (1=pass,2=fail): 1 Enter Result (1=pass,2=fail): 1 Enter Result (1=pass,2=fail): 1 Enter Result (1=pass,2=fail): 2 Enter Result (1=pass,2=fail): 1 Enter Result (1=pass,2=fail): 1 Enter Result (1=pass,2=fail): 2 Passed 6 Failed 4 Enter Result (1=pass,2=fail): 1 Enter Result (1=pass,2=fail): 1 Enter Result (1=pass,2=fail): 1 Enter Result (1=pass,2=fail): 2 Enter Result (1=pass,2=fail): 1 Enter Result (1=pass,2=fail): 1 Enter Result (1=pass,2=fail): 1 Enter Result (1=pass,2=fail): 1 Enter Result (1=pass,2=fail): 1 Enter Result (1=pass,2=fail): 1 Passed 9 Failed 1 Gd results! Εντολές ροής ελέγχου Στόχοι Χρήση εντολών fr και d while Πολλαπλή επιλογή με την εντολή switch Χρήση εντολών ροής ελέγχου break, cntinue και gt Λογικοί τελεστές && ( λογική σύζευξη ( λογικό ΚΑΙ ) ) Επιστρέφει true αν και οι δύο συνθήκες είναι true ( λογική σύζευξη ( λογικό Η ) ) Επιστρέφει true αν έστω μια από τις συνθήκες είναι true! ( λογική άρνηση (λογικό ΟΧΙ)) Αν η συνθήκη είναι true επιστρέφει false Χρήση σε βρόχους Έκφραση true && false true false!false Αποτέλεσμα false true true Έκφραση! Έκφραση 0 1 μη μηδενική τιμή 0 Έκφραση 1 Έκφραση 2 Έκφραση 1 && Έκφραση μη μηδενική τιμή 0 μη μηδενική τιμή 0 0 μη μηδενική τιμή μη μηδενική τιμή 1 Έκφραση 1 Έκφραση 2 Έκφραση 1 Έκφραση μη μηδενική τιμή

18 μη μηδενική τιμή 0 1 μη μηδενική τιμή μη μηδενική τιμή 1 Προτεραιότητα και προσεταιριστικότητα τελεστών Τελεστές Προσεταιριστικότητα Τύπος ! (type) από δεξιά προς αριστερά μοναδιαίος * / % από αριστερά προς δεξιά πολλαπλασιασμού + - από αριστερά προς δεξιά προσθετικός < <= > >= από αριστερά προς δεξιά συσχετιστικός ==!= από αριστερά προς δεξιά ισότητα && από αριστερά προς δεξιά λογική σύζευξη από αριστερά προς δεξιά λογική διάζευξη = += -= *= /= %= από δεξιά προς αριστερά ανάθεσης, από αριστερά προς δεξιά κόμμα Κύρια σημεία επανάληψης Βρόχος Ομάδα εντολών που εκτελεί επανειλημμένα ο υπολογιστής για όσο μια συνθήκη παραμένει true Επανάληψη ελεγχόμενη από μετρητή Καθορισμένη επανάληψη: ξέρουμε πόσες φορές θα εκτελεστεί ο βρόχος Χρήση μεταβλητής ελέγχου για τη μέτρηση των επαναλήψεων Επανάληψη ελεγχόμενη από τιμή σημαία Αόριστη επανάληψη Χρησιμοποιείται όταν ο αριθμός των επαναλήψεων δεν είναι γνωστός Η τιμή σημαία σημαίνει το τέλος των δεδομένων Κύρια χαρακτηριστικά επανάληψης ελεγχόμενης από μετρητή Χρειάζεται Μια μεταβλητή ελέγχου (ή μετρητής βρόχου) Αρχικοποίηση της μεταβλητής ελέγχου Μια αύξηση (ή μείωση) μέσω της οποίας η εντολή ελέγχου μεταβάλλεται κάθε φορά μέσα στο βρόχο Μια συνθήκη που ελέγχει την τιμή της μεταβλητής ελέγχου κι ανάλογα να συνεχίζεται ή να τερματίζεται ο βρόχος Παράδειγμα: int cunter = 1; // αρχικοποίηση while ( cunter <= 10 ) // επανάληψη printf( "%d\n", cunter ); ++cunter; // αύξηση Εναλλακτικά: int cunter = 1; // αρχικοποίηση while ( ++cunter <= 10 )// αύξηση και επανάληψη printf( "%d\n", cunter ); Πρόγραμμα C /*Cunter-cntrlled repetitin*/ int main()/*functin main begins prgram executin*/

19 int cunter =1; /*initializatin*/ while (cunter <=10) /*repetitin cnditin*/ printf ( %d\n, cunter); ++cunter; /*end while*/ return 0; /*indicate prgram ended successfully*/ /*end functin main*/ Η εντολή επανάληψης fr Χρησιμοποιείται για την επανάληψη μιας εντολής ή μιας ομάδας εντολών κατά έναν προσδιοριζόμενο αριθμό φορών. Γενική μορφή εντολής fr fr (αρχικοποίηση; συνθήκη-ελέγχου; αύξηση/μείωση) εντολή; Αρχικοποίηση παροχή αρχικής τιμής στη μεταβλητή που ελέγχει το βρόχο τη μεταβλητή ελέγχου εκτελείται μόνο μια φορά πριν ξεκινήσει ο βρόχος Συνθήκη-ελέγχου ελέγχει την τιμή της μεταβλητής ελέγχου και τη συγκρίνει με μια τιμή προορισμού στην αρχή του βρόχου Αν το αποτέλεσμα είναι true ο βρόχος επαναλαμβάνεται Αν το αποτέλεσμα είναι false ο βρόχος σταματά και η εκτέλεση του προγράμματος συνεχίζει με την εντολή που βρίσκεται αμέσως μετά από το βρόχο Γενική μορφή εντολής fr fr(αρχικοποίηση; συνθήκη-ελέγχου; αύξηση/μείωση) εντολή; Αύξηση/ μείωση εκτελείται στο τέλος του βρόχου, αφού ολοκληρωθεί η εκτέλεση της εντολής ή του τμήματος του κώδικα (της ομάδας των εντολών) που αποτελεί τον κορμό του βρόχου Σκοπός είναι η αύξηση (ή η μείωση) της μεταβλητής ελέγχου του βρόχου κατά ένα συγκεκριμένο ποσό - το βήμα αύξησης/ μείωσης Παράδειγμα: fr (int cunter =1; cunter <= 10; cunter++) printf( "%d\n", cunter ); Τυπώνει τους ακέραιους από το ένα ως το 10 Πρόγραμμα C /*Cunter-cntrlled repetitin with the fr statement*/ int main()/*functin main begins prgram executin*/ int cunter; /*define cunter*/ /*initializatin, repetitin cnditin, and increment are all included in the fr statement header.*/ fr (cunter =1; cunter <=10; cunter++) printf ( %d\n, cunter); /*end fr*/ return 0; /*indicate prgram ended successfully*/ /*end functin main*/ Οι βρόχοι fr μπορούν συνήθως να γραφτούν και σαν βρόχοι while: αρχικοποίηση; while ( συνθήκη-ελέγχου) Αποτέλεσμα προγράμματος

20 εντολή; αύξηση/ μείωση; Αρχικοποίηση και αύξηση/ μείωση Μπορούν να αποτελούνται από μια ομάδα εντολών που διαχωρίζονται με κόμμα (,) Παράδειγμα: fr (int i = 0, j = 0; j + i <= 10; j++, i++) printf( "%d\n", j + i ); Αριθμητικές εκφράσεις Αρχικοποίηση, συνθήκη ελέγχου και αύξηση/ μείωση μπορεί να περιέχουν αριθμητικές εκφράσεις Παράδειγμα: Αν το x είναι ίσο με 2 και το y είναι ίσο με 10 fr ( j = x; j <= 4 * x * y; j += y / x ) ισοδυναμεί με fr ( j = 2; j <= 80; j += 5 ) Πρόγραμμα C /*Summatin with fr */ int main()/*functin main begins prgram executin*/ int sum =0; /*initialize sum*/ int number; /*number t be added t sum*/ fr (number =2; number <=100; number +=2) sum += number; /*add number t sum*/ /*end fr*/ printf ( Sum is %d\n, sum); /*utput sum*/ return 0; /*indicate prgram ended successfully*/ /*end functin main*/ Αποτέλεσμα προγράμματος Sum is 2550 Πρόγραμμα C /*Calculating cmpund interest*/ #include <math.h> int main()/*functin main begins prgram executin*/ duble amunt; /*amunt n depsit*/ duble principal = ; /*starting principal*/

21 duble rate =.05; /*interest rate*/ int year; /*year cunter*/ /*utput table clumn head*/ printf ( %4s%21s\n, Year, Amunt n depsit ); /*calculate amunt n depsit fr each f ten years*/ fr (year =1; year <=10; year++) /*calculate new amunt fr specified year*/ amunt = principal * pw (1.0 +rate, year); /*utput ne table rw*/ printf ( %4d%21.2f\n, year, amunt); /*end fr*/ return 0; /*indicate prgram ended successfully*/ /*end functin main*/ Αποτέλεσμα προγράμματος Year Amunt n depsit Η εντολή πολλαπλής επιλογής switch Χρήσιμη όταν μια μεταβλητή ή έκφραση ελέγχεται για όλες τις δυνατές τιμές που μπορεί να πάρει και γίνονται διαφορετικές ενέργειες Γενική μορφή switch ( τιμή ) case σταθερά1: εντολές break; case σταθερά2: εντολές break;... default: εντολές break; Διάγραμμα ροής της εντολής switch Η τιμή ελέγχεται διαδοχικά έναντι μιας λίστας σταθερών (ακέραιων ή χαρακτήρων) Όταν βρεθεί ένα «ταίριασμα» εκτελείται η αλληλουχία εντολών που σχετίζεται με αυτή την περίπτωση - case μέχρι να βρεθεί μια break default Η αλληλουχία εντολών της εκτελείται αν δεν βρεθεί κανένα «ταίριασμα» Προαιρετική- αν δεν υπάρχει δεν εκτελείται καμία εντολή

22 Πρόγραμμα C /* Cunting letter grades */ int main() /* functin main begins prgram executin */ int grade; /* ne grade */ int acunt = 0; /* number f As */ int bcunt = 0; /* number f Bs */ int ccunt = 0; /* number f Cs */ int dcunt = 0; /* number f Ds */ int fcunt = 0; /* number f Fs */ printf("enter the letter grades.\n"); printf("enter the EOF character t end input.\n"); /* lp until user types end-f-file key sequence */ while ( ( grade = getchar() )!= EOF ) /* determine which grade was input */ switch ( grade ) /* switch nested in while */ case 'A': /* grade was uppercase A */ case 'a': /* r lwercase a */ ++acunt; /* increment acunt */ break; /* necessary t exit switch */ case 'B': /* grade was uppercase B */ case 'b': /* r lwercase b */ ++bcunt; /* increment bcunt */ break; /* exit switch */ case 'C': /* grade was uppercase C */ case 'c': /* r lwercase c */ ++ccunt; /* increment ccunt */ break; /* exit switch */ case 'D': /* grade was uppercase D */ case 'd': /* r lwercase d */ ++dcunt; /* increment dcunt */

23 break; /* exit switch */ case 'F': /* grade was uppercase F */ case 'f': /* r lwercase f */ ++fcunt; /* increment fcunt */ break; /* exit switch */ case '\n': /* ignre newlines, */ case '\t': /* tabs, */ case ' ': /* and spaces in input */ break; /* exit switch */ default: /* catch all ther characters */ printf("incrrect letter grade entered."); printf(" Enter a new grade.\n"); break; /* ptinal; will exit switch anyway */ /* end switch */ /* end while */ /* utput summary f results */ printf("\nttals fr each letter grade are:\n"); printf("a: %d\n", acunt); /*display number f A grades*/ printf("b: %d\n", bcunt ); /*display number f B grades*/ printf( "C: %d\n", ccunt ); /* display number f C grades*/ printf("d: %d\n", dcunt); /* display number f D grades */ printf( "F: %d\n", fcunt ); /* display number f F grades */ return 0; /* indicate prgram ended successfully */ /* end functin main */ Αποτέλεσμα προγράμματος Enter the letter grades. Enter the EOF character t end input. a b c C A d f C E Incrrect letter grade entered. Enter a new grade. D A b ^Z Ttals fr each letter grade are: A: 3 B: 2 C: 3 D: 2 F: 1 Η εντολή επανάληψης d while Παρόμοια με τη while Συνθήκη επανάληψης ελέγχεται αφού έχει εκτελεστεί ο κορμός του βρόχου Οι εντολές εκτελούνται τουλάχιστον μια φορά Γενική μορφή: d εντολές; while ( συνθήκη );

24 Παράδειγμα (έστω cunter = 1): d printf( "%d ", cunter ); while (++cunter <= 10); Τυπώνει τους ακέραιους από 1 ως 10 Διάγραμμα ροής της εντολής επανάληψης d while Πρόγραμμα C /* Using the d/while repetitin statement */ int main()/*functin main begins prgram executin*/ int cunter = 1; /* initialize cunter */ d printf( "%d ", cunter ); /* display cunter */ while ( ++cunter <= 10 ); /* end d...while */ return 0; /* indicate prgram ended successfully */ /* end functin main */ Αποτέλεσμα προγράμματος Η εντολή break Προκαλεί άμεση έξοδο από μια εντολή while, fr, d while ή switch Η εκτέλεση του προγράμματος συνεχίζει με την αμέσως επόμενη εντολή που ακολουθεί τον κορμό μιας από τις παραπάνω εντολές Η εντολή break χρησιμοποιείται συνήθως Για την πρόωρη έξοδο από ένα βρόχο Για την παράλειψη του υπόλοιπου τμήματος μιας εντολής switch Πρόγραμμα C /* Using the break statement in a fr statement */ int main() /* functin main begins prgram executin */ int x; /* cunter */ /* lp 10 times */ fr ( x = 1; x <= 10; x++ ) /* if x is 5, terminate lp */ if ( x == 5 ) break; /* break lp nly if x is 5 */ /* end if */ printf( "%d ", x ); /* display value f x */ /* end fr */ printf("\nbrke ut f lp at x == %d\n", x ); return 0; /* indicate prgram ended successfully */ /* end functin main */ Αποτέλεσμα προγράμματος Brke ut f lp at x == 5 Η εντολή cntinue Παραλείπει τις υπόλοιπες εντολές του κορμού μιας εντολής while, fr ή d while

25 Συνεχίζει με την επόμενη επανάληψη του βρόχου while και d while Ο έλεγχος της συνθήκης επανάληψης γίνεται αμέσως μετά την εκτέλεση της εντολής cntinue fr Έκτελείται η αύξηση/μείωση και στη συνέχεια γίνεται ο έλεγχος της συνθήκης επανάληψης Πρόγραμμα C /* Using the cntinue statement in a fr statement */ int main() /* functin main begins prgram executin */ int x; /* cunter */ /* lp 10 times */ fr ( x = 1; x <= 10; x++ ) /* if x is 5, cntinue with next iteratin f lp */ if ( x == 5 ) cntinue; /* skip remaining cde in lp bdy */ /* end if */ printf( "%d ", x ); /* display value f x */ /* end fr */ printf( "\nused cntinue t skip printing the value 5\n" ); return 0; /* indicate prgram ended successfully */ /* end functin main */ Αποτέλεσμα προγράμματος Used cntinue t skip printing the value 5 Η εντολή gt Μπορεί να εκτελέσει μια "μετάβαση" από ένα σημείο του προγράμματος σε ένα άλλο Η λειτουργία της βασίζεται στην ύπαρξη μιας ετικέτας, που είναι ένα όνομα που ακολουθείται από άνω κάτω τελεία. Γενική μορφή gt <ετικέτα>; Η μετάβαση γίνεται στη γραμμή που έχει την εξής μορφή <ετικέτα>: πρόταση Παράδειγμα gt mylabel; Printf("This will nt print."); mylabel: printf("this will print."); Καλύτερα να μην χρησιμοποιείται Καταστρέφει τη δόμηση του κώδικα - μπορεί να καταστήσει αδύνατη τη μελλοντική ανάγνωση του προγράμματος Δεν είναι απαραίτητη - οποιοδήποτε πρόγραμμα μπορεί να γραφτεί χωρίς τη χρήση της Σύγχιση τελεστή ισότητας (= =) και τελεστή ανάθεσης (=) Επικίνδυνο λάθος Δεν προκαλεί συντακτικό λάθος Κάθε έκφραση που παράγει μια τιμή μπορεί να χρησιμοποιηθεί σε εντολές ροής ελέγχου Μη μηδενικές τιμές θεωρούνται true, μηδενικές τιμές θεωρούνται false Παράδειγμα χρήσης τελεστή ==: if ( paycde == 4 ) printf( "Yu get a bnus!\n" ); Ελέγχει την τιμή τη μεταβλητής paycde, αν (if) είναι ίση με 4 τότε δίνεται ένα bnus

26 Παράδειγμα, αντικατάστασης == με =: if ( paycde = 4 ) printf( "Yu get a bnus!\n" ); Δίνει στη μεταβλητή paycde την τιμή 4 4 είναι μη μηδενική τιμή, επομένως η έκφραση - συνθήκη είναι true, και το bnus δίνεται ανεξάρτητη από την τιμή της μεταβλητής paycde Λογικό σφάλμα και όχι συντακτικό σφάλμα Δομημένος Προγραμματισμός Ανακεφαλαίωση Διευκολύνει την κατανόηση, τον έλεγχο, την αποσφαλμάτωση και την τροποποίηση των προγραμμάτων Κανόνες δομημένου προγραμματισμού Χρησιμοποιούνται μόνο δομές ελέγχου μονής εισόδου/ μονής εξόδου Κανόνες: Ξεκινάμε με το απλούστερο διάγραμμα ροής Κανόνας στοίβαξης: Οποιοδήποτε παραλληλόγραμμο (ενέργεια) μπορεί να αντικατασταθεί από δύο συνεχόμενα παραλληλόγραμμα (ενέργειες) Κανόνας ένθεσης: Οποιοδήποτε παραλληλόγραμμο (ενέργεια) μπορεί να αντικατασταθεί από οποιαδήποτε δομή ελέγχου (ακολουθία, if, if else, switch, while, d while ή fr) Οι κανόνες 2 και 3 μπορούν να εφαρμοστούν με οποιαδήποτε σειρά και πολλές φορές Όλα τα προγράμματα μπορούν να διαχωριστούν σε 3 βασικές ενότητες Ακολουθία αυτόματος χειρισμός από το μεταγλωττιστή (cmpiler) Επιλογή if, if else ή switch Επανάληψη while, d while ή fr Μπορούν να συνδυαστούν με 2 τρόπους Ένθεση (κανόνας 3) Στοίβαξη (κανόνας 2) Οποιαδήποτε επιλογή μπορεί να γραφεί με μια εντολή if, και οποιαδήποτε επανάληψη μπορεί να γραφεί με μια εντολή while

27 Μονάδες Προγράμματος(Prgram Mdules) στη C Συναρτήσεις Μονάδες στη C Τα προγράμματα συνδυάζουν συναρτήσεις που ορίζονται από το χρήστη με συναρτήσεις βιβλιοθήκης Η standard βιβλιοθήκη της C έχει πολλές συναρτήσεις Κλήση συναρτήσεων Όνομα συνάρτησης και παράμετροι (δεδομένα) Η συνάρτηση πραγματοποιεί κάποια λειτουργία Επιστρέφει αποτελέσματα Ανάλογο κλήσης συνάρτησης: Ένας προϊστάμενος ζητάει από έναν υπάλληλο του να κάνει κάποια εργασία Ο υπάλληλος παίρνει την πληροφορία, κάνει την εργασία κι επιστρέφει το αποτέλεσμα Απόκρυψη πληροφορίας: Ο προϊστάμενος δεν γνωρίζει λεπτομέρειες για το πώς έγινε η εργασία Μαθηματικές Συναρτήσεις Βιβλιοθήκης Πραγματοποιούν κοινούς (βασικούς) μαθηματικούς υπολογισμούς #include <math.h> Γενική μορφή κλήσης συναρτήσεων Όνομα_συνάρτησης ( παράμετρος ); Αν υπάρχουν πολλές παράμετροι διαχωρίζονται με κόμμα (,) printf( "%.2f", sqrt( ) ); Καλεί τη συνάρτηση sqrt, που επιστρέφει την τετραγωνική ρίζα της παραμέτρου Όλες οι μαθηματικές συναρτήσεις επιστρέφουν τιμές τύπου duble Οι παράμετροι μπορεί να είναι σταθερές, μεταβλητές ή εκφράσεις Συνάρτηση Περιγραφή Παράδειγμα sqrt( x ) Τετραγωνική ρίζα του x sqrt( ) "επιστρέφει" 30.0 sqrt( 9.0 ) "επιστρέφει" 3.0 exp( x ) Εκθετική συνάρτηση e x exp( 1.0 ) "επιστρέφει" exp( 2.0 ) "επιστρέφει" lg( x ) Λογάριθμος του x με βάση το e (lnx) lg( ) "επιστρέφει" 1.0 lg( ) "επιστρέφει" 2.0 lg10( x ) Λογάριθμος του x (με βάση το 10) lg10( 1.0 ) "επιστρέφει" 0.0 lg10( 10.0 ) "επιστρέφει" 1.0 lg10( ) "επιστρέφει" 2.0 fabs( x ) Απόλυτη τιμή του x fabs( 5.0 ) "επιστρέφει" 5.0 fabs( 0.0 ) "επιστρέφει" 0.0 fabs( -5.0 ) "επιστρέφει"

28 ceil( x ) flr( x ) Στρογγυλοποιεί το x στο μικρότερο ακέραιο (μεγαλύτερο ή ίσο του x) Στρογγυλοποιεί το x στο μεγαλύτερο ακέραιο (μικρότερο ή ίσο του x) ceil( 9.2 ) "επιστρέφει" 10.0 ceil( -9.8 ) "επιστρέφει" -9.0 flr( 9.2 ) "επιστρέφει" 9.0 flr( -9.8 ) "επιστρέφει" pw( x, y ) x εις την y (x y ) pw( 2, 7 ) "επιστρέφει" pw( 9,.5 ) "επιστρέφει" 3.0 fmd( x, y ) υπόλοιπο της διαίρεσης x/y σαν αριθμό κινητής υποδιαστολής fmd( , ) "επιστρέφει" sin( x ) ημίτονο του x (x σε ακτίνια) sin( 0.0 ) "επιστρέφει" 0.0 cs( x ) συνημίτονο του x (x σε ακτίνια) cs( 0.0 ) "επιστρέφει" 1.0 tan( x ) εφαπτομένη του x (x σε ακτίνια) tan( 0.0 ) "επιστρέφει" 0.0 Συναρτήσεις Χωρίζουν ένα πρόγραμμα σε μονάδες Οι μεταβλητές που ορίζονται μέσα σε μια συνάρτηση είναι τοπικές μεταβλητές (lcal variables) Γνωστές μόνο μέσα στη συνάρτηση που τις καλεί Παράμετροι Μεταδίδουν πληροφορία μεταξύ συναρτήσεων Τοπικές μεταβλητές Πλεονεκτήματα συναρτήσεων Διαίρει και βασίλευε Ευκολότερη ανάπτυξη προγράμματος Επαναχρησιμοποίηση λογισμικού (sftware reusability) Χρήση υπαρχουσών συναρτήσεων ως δομικών μονάδων για την ανάπτυξη νέων προγραμμάτων Αφαιρετικότητα - απόκρυψη λεπτομέρειας (συναρτήσεις βιβλιοθήκης - library functins) Αποφυγή επανάληψης κώδικα Πρωτότυπα συναρτήσεων Όνομα συνάρτησης Παράμετροι - τι εισάγεται στη συνάρτηση Επιστρεφόμενος τύπος τύπος δεδομένων που επιστρέφει η συνάρτηση (default int) Χρησιμοποιείται για την επικύρωση συναρτήσεων Το πρωτότυπο χρειάζεται μόνο αν ο ορισμός της συνάρτησης γίνεται μετά τη χρησιμοποίηση της συνάρτησης στο πρόγραμμα Γενική μορφή πρωτότυπου επιστρεφόμενος-τύπος όνομα-συνάρτησης (τύπος όνομα-παραμέτρου1, τύπος όνομα-παραμέτρου2, τύπος όνομα-παραμέτρουν ); Παράδειγμα int maximum( int x, int y, int z ); Παίρνει 3 ακέραιους (int) Επιστρέφει αποτέλεσμα τύπου int Σημαντικό χαρακτηριστικό των πρωτότυπων συναρτήσεων Μετατροπή των παραμέτρων στον κατάλληλο τύπο Τιμές των παραμέτρων που δεν αντιστοιχούν στους τύπους των παραμέτρων στα πρωτότυπα των συναρτήσεων μετατρέπονται στο σωστό τύπο προτού κληθεί η συνάρτηση Αυτές οι μετατροπές μπορούν να οδηγήσουν σε λανθασμένα αποτελέσματα αν δεν ακολουθούνται ορισμένοι κανόνες Κανόνες προαγωγής (prmtin rules) Καθορίζουν τον τρόπο με τον οποίο μπορούν οι τύποι δεδομένων να μετατραπούν σε άλλους τύπους χωρίς την απώλεια δεδομένων

29 Π.χ. Η μετατροπή ενός int σε duble δεν παρουσιάζει κανένα πρόβλημα. Αντίστροφα, η μετατροπή duble σε int προκαλεί αποκοπή του δεκαδικού μέρους (του μέρους του αριθμού που ακολουθεί την υποδιαστολή) Τύπος δεδομένων Χρήση στην printf Χρήση στην scanf duble %f %lf flat %f %f unsigned lng int %lu %lu lng int %ld %ld unsigned int %u %u int %d %d shrt %hd %hd char %c %c Εφαρμόζονται αυτόματα σε εκφράσεις που περιέχουν τιμές δύο ή περισσότερων τύπων (μικτού τύπου εκφράσεις) Ο τύπος κάθε μεταβλητής σε μια μικτού τύπου έκφραση "προάγεται" στον "υψηλότερο" τύπο στην έκφραση Ο πίνακας απεικονίζει τους τύπους από τον "υψηλότερο" προς το "χαμηλότερο" Ορισμός συναρτήσεων Γενική μορφή ορισμού συναρτήσεων επιστρεφόμενος-τύπος όνομα-συνάρτησης( λίστα-παραμέτρων) δηλώσεις και εντολές Όνομα-συνάρτησης: οποιοδήποτε έγκυρο αναγνωριστικό Επιστρεφόμενος-τύπος: τύπος δεδομένων του αποτελέσματος (default int) vid υποδεικνύει ότι η συνάρτηση δεν επιστρέφει τίποτα Λίστα-παραμέτρων: λίστα παραμέτρων που χωρίζονται με κόμμα (,) Για κάθε παράμετρο θα πρέπει να δηλώνεται ο τύπος της διαφορετικά θεωρείται ότι είναι τύπου int Δηλώσεις και εντολές: σώμα συνάρτησης (blck) Επιτρέπεται η δήλωση μεταβλητών μέσα στο σώμα συναρτήσεων Δεν επιτρέπεται η δήλωση συναρτήσεων μέσα σε άλλες συναρτήσεις Επιστροφή ελέγχου Αν επιστρέφεται κάποιο αποτέλεσμα return έκφραση; Αποτίμηση της έκφρασης που ακολουθεί το return αντιγραφή της τιμής στο σημείο κλήσης Αν δεν επιστρέφεται τίποτα Συνέχιση της εκτέλεσης του προγράμματος με την εντολή που ακολουθεί την κλήση της συνάρτησης Πρόγραμμα C /* Creating and using a prgrammer-defined functin */ int square( int y );/* functin prttype */ int main()/* functin main begins prgram executin */ int x; /* cunter */ /* lp 10 times and calculate and utput square f x each time */ fr ( x = 1; x <= 10; x++ ) printf( "%d ", square( x ) ); /* functin call */ /* end fr */ printf( "\n" ); return 0; /* indicates successful terminatin */

30 /* end main */ /* square functin definitin returns square f an integer */ int square( int y ) /* y is a cpy f argument t functin */ return y * y; /* returns square f y as an int */ /* end functin square */ Αποτέλεσμα προγράμματος Πρόγραμμα C /* Finding the maximum f three integers */ int maximum( int x, int y, int z ); /* functin prttype */ int main() /* functin main begins prgram executin */ int number1; /* first integer */ int number2; /* secnd integer */ int number3; /* third integer */ printf( "Enter three integers: " ); scanf( "%d%d%d", &number1, &number2, &number3 ); /*number1,number2 and number3 are arguments t the maximum functin call*/ printf( "Maximum is: %d\n", maximum( number1, number2, number3 ) ); return 0; /* indicates successful terminatin */ /* end main */ /* Functin maximum definitin */ /* x, y and z are parameters */ int maximum( int x, int y, int z ) int max = x; /* assume x is largest */ if ( y > max ) /* if y is larger than max, assign y t max */ max = y; /* end if */ if ( z > max ) /* if z is larger than max, assign z t max */ max = z; /* end if */ return max; /* max is largest value */ /* end functin maximum */ Αποτέλεσμα προγράμματος Enter three integers: Maximum is: 85 Enter three integers: Maximum is: 85 Enter three integers: Maximum is: 85 Αρχεία επικεφαλίδας (Header Files) Περιέχουν πρωτότυπα συναρτήσεων για συναρτήσεις βιβλιοθήκης <stdlib.h>, <math.h>, κλπ Φόρτωση με #include <filename> #include <math.h> Κατασκευή δικών μας αρχείων επικεφαλίδας

31 Δημιουργία αρχείου με συναρτήσεις Σώζουμε το αρχείο με το όνομα filename.h Το φορτώνουμε σε άλλα αρχεία με την εντολή #include "filename.h" Έτσι μπορούμε να επαναχρησιμοποιούμε συναρτήσεις Επικεφαλίδα standard βιβλιοθήκης (Standard library header) <ctype.h> Επεξήγηση Περιέχει πρωτότυπα συναρτήσεων που ελέγχουν ορισμένες ιδιότητες χαρακτήρων, καθώς και πρωτότυπα συναρτήσεων για συναρτήσεις που μπορούν να χρησιμοποιηθούν για την μετατροπή πεζών (μικρών) γραμμάτων σε κεφαλαία γράμματα και αντίστροφα. <math.h> <setjmp.h> <stdi.h> <stdlib.h> Περιέχει πρωτότυπα συναρτήσεων για μαθηματικές συναρτήσεις βιβλιοθήκης. Περιέχει πρωτότυπα συναρτήσεων για συναρτήσεις που επιτρέπουν την παράκαμψη της συνηθισμένης ακολουθίας κλήσης συναρτήσεων κι επιστροφής. Περιέχει πρωτότυπα συναρτήσεων για standard συναρτήσεις εισόδου / εξόδου καθώς και πληροφορίες που χρησιμοποιούνται από αυτές. Περιέχει πρωτότυπα συναρτήσεων για μετατροπή αριθμών από σε κείμενο και κειμένου σε αριθμούς, κατανομή μνήμης (memry allcatin), τυχαίους αριθμούς και άλλες γενικής χρήσης συναρτήσεις. <string.h> <time.h> Περιέχει πρωτότυπα συναρτήσεων για την επεξεργασία αλφαριθμητικών. Περιέχει πρωτότυπα συναρτήσεων και τύπους για το χειρισμό ώρας και ημερομηνίας. Κλήση συναρτήσεων: Κληση με τιμή (Call by Value) και Κλήση με αναφορά (Call by Reference) Κλήση με τιμή (Call by value) Το αντίγραφο μιας παραμέτρου περνάει στη συνάρτηση Οι αλλαγές που γίνονται στη συνάρτηση δεν επηρεάζουν την αρχική παράμετρο Χρησιμοποιείται όταν η συνάρτηση δεν χρειάζεται να τροποποιήσει την παράμετρο Αποφυγή συμπωματικών αλλαγών Κλήση με αναφορά (Call by reference) Περνάει την αρχική παράμετρο Οι αλλαγές που γίνονται στη συνάρτηση επηρεάζουν την αρχική παράμετρο Προς το παρόν εστιάζουμε στην κλήση συναρτήσεων με τιμή Δημιουργία τυχαίων αριθμών Συνάρτηση rand Φόρτωση της <stdlib.h> Επιστρέφει έναν τυχαίο" αριθμό μεταξύ 0 και RAND_MAX (τουλάχιστον 32767) i = rand(); Ψευδοτυχαίοι αριθμοί Προκαθορισμένη ακολουθία τυχαίων αριθμών Ίδια ακολουθία για κάθε κλήση συνάρτησης Για την παραγωγή ενός τυχαίου αριθμού μεταξύ 1 και n 1 + ( rand() % n ) rand() % n επιστρέφει έναν αριθμό μεταξύ 0 και n - 1 Πρόσθεση του 1 προκειμένου να είναι αριθμός μεταξύ 1 και n 1 + ( rand() % 6) αριθμός μεταξύ 1 και 6 Συνάρτηση srand <stdlib.h> Η συνάρτηση srand( seed )χρησιµοποιεί το seed ως φύτρο για νέα ακολουθία ψευδοτυχαίων αριθµών. Εάν παραλειφθεί η συνάρτηση το αρχικό φύτρο είναι πάντοτε το 1. Η srand() εκτελείται πάντοτε µία φορά στην αρχή του προγράµµατος και αρχικοποιεί τη γεννήτρια των τυχαίων αριθµών. Εάν θέλουµε να ξανατρέξουµε τον πρόγραµµά µας και να δηµιουργήσουµε νέους τυχαίους αριθµούς πρέπει να αλλάξουµε τον ακέραιο seed srand( time( NULL ) );/*lad <time.h> */ time( NULL ) Επιστρέφει το χρόνο σε δευτερόλεπτα στον οποίο μεταγλωττίστηκε (έγινε cmpiled) το πρόγραμμα Τυχαιοποιεί" το φύτρο (seed)

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

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

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

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

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

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

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12) Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II (Διάλεξη 12) 12-1 Ανασκόπηση Δομής Προγράμματος με Συναρτήσεις 1 void PrintMessage (); Πρότυπο (Δήλωση) Συνάρτησης (Δηλώνουν τι επιπλέον συναρτήσεις θα χρησιμοποιήσουμε

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

Μεθόδων Επίλυσης Προβλημάτων

Μεθόδων Επίλυσης Προβλημάτων ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 9 Συναρτήσεις Μέρος II Θέματα ιάλεξης Μη- ομημένος

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

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

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

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

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

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

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

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 12-1 Ανασκόπηση οµής Προγράµµατος µε Συναρτήσεις #include 1 void PrintMessage (); Πρότυπο ( ήλωση) Συνάρτησης (

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

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

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

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

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

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

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

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο) Προγραμματισμός Η/Υ Ενότητα 2β: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Κατανόηση της έννοιας του Τελεστή

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2

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

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C 1 Εισαγωγή Ο προγραμματισμός είναι μια διαδικασία επίλυσης προβλημάτων με χρήση Η/Υ. Ένα πρόγραμμα είναι ένα σύνολο εντολών κάποιας γλώσσας προγραμματισμού,

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

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

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

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

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

Προγραμματισμός Η/Υ. Ενότητα 5: Εντολές Επανάληψης Προγραμματισμός Η/Υ Ενότητα 5: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Έλεγχος της ροής του προγράμματος

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

12. Συναρτήσεις (Μέρος ΙI)

12. Συναρτήσεις (Μέρος ΙI) Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 12. Συναρτήσεις (Μέρος ΙI) Ιωάννης Κατάκης Σήμερα o Συναρτήσεις χωρίς παραμέτρους o Συναρτήσεις με παραμέτρους Χωρίς επιστροφή τιμής Με επιστροφή τιμής o Εμβέλεια

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL 8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β.

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β. ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β. Καβακλή Χειμερινό Εξάμηνο 2001 1 Σύνολο χαρακτήρων της Pascal Για

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

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

Εισαγωγή στην γλώσσα προγραμματισμού C Εισαγωγή στην γλώσσα προγραμματισμού C Χαρακτηριστικά της C Ιδιαίτερα δημοφιλής Έχει χρησιμοποιηθεί για τον προγραμματισμό ευρέος φάσματος συστημάτων και εφαρμογών Γλώσσα μετρίου επιπέδου Φιλοσοφία: Ο

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 2ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΣΦΑΛΜΑΤΑ ΜΕΤΑΓΛΩΤΤΙΣΗΣ Η γλώσσα C κάνει αυστηρή διάκριση μεταξύ πεζών

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

Κεφάλαιο 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 Λογικές παραστάσεις Σχεσιακοί

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

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ❶ Προετοιµασία για το 1 ο Εργαστήριο

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

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13) Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις Επανάληψη για την ενδιάμεση εξέταση (Διάλεξη 13) 13-1 Πρόβλημα 1 Γράψετε τον ορισμό μίας συνάρτησης η οποία υπολογίζει το μέγιστο 2 ακεραίων αριθμών και

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

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

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

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

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

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

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

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

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

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

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

for for for for( . */

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

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

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός

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

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με: Αλγόριθμοι 2.2.1. Ορισμός: Αλγόριθμος είναι μια πεπερασμένη σειρά εντολών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Τα κυριότερα χρησιμοποιούμενα

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

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Hello World /* Αρχείο hello.c * Εµφανίζει στην οθόνη το * µήνυµα hello world */ #include

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διαμόρφωση Ελέγχου Ροής Προγράμματος Δομημένος Προγραμματισμός Ο πιο απλός και συνηθισμένος

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

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός Δομές Ακολουθίας- Επιλογής - Επανάληψης Δομημένος Προγραμματισμός 1 Βασικές Έννοιες αλγορίθμων Σταθερές Μεταβλητές Εκφράσεις Πράξεις Εντολές 2 Βασικές Έννοιες Αλγορίθμων Σταθερά: Μια ποσότητα που έχει

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

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

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

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

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

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

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

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

Στόχοι και αντικείμενο ενότητας. Βασικές κατασκευές ΓΠ. Έλεγχος ροής προγράμματος. #4.. Εντολές Επιλογής Στόχοι και αντικείμενο ενότητας Βασικές κατασκευές Γλωσσών Προγραμματισμού (ΓΠ) Δομές ελέγχου ροής προγράμματος #4.. ντολές πιλογής Προτάσεις διακλάδωσης υπό συνθήκη ντολές if, if Φωλιασμένα (nested) if

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

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

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

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

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Εκφράσεις και Λίγες Εντολές Οι εκφράσεις της C Τελεστές Απλές και σύνθετες εντολές Εντολές ελέγχου (επιλογής) Εισαγωγή σε

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

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

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

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

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

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής Προγραμματισμός Η/Υ Ενότητα 4: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Έλεγχος της ροής ενός προγράμματος

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

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

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

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

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

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

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

3. Εκφράσεις και έλεγχος ροής

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

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

a = 10; a = k; int a,b,c; a = b = c = 10;

a = 10; a = k; int a,b,c; a = b = c = 10; C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 4 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

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

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;.. Επιλογή - Επανάληψη Η εντολή if-else Ο τελεστής παράστασης συνθήκης H εντολή switch Η εντολές for και while Η εντολή do-while Η εντολές break - continue - goto Μαθηματικές συναρτήσεις Λέξεις κλειδιά στη

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

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 5 ο Έλεγχος Προγράµµατος Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Η εντολή if (Ι) Η εντολή if είναι µία από τις βασικότερες δοµές ελέγχου ροής στη C, αλλά και στις περισσότερες

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

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ ) Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ. 147 159) Για τις γλώσσες προγραμματισμού πρέπει να έχουμε υπόψη ότι: Κάθε γλώσσα προγραμματισμού σχεδιάζεται για συγκεκριμένο σκοπό, δίνοντας ιδιαίτερη

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

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ ) Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ. 25 48) Τι είναι αλγόριθμος; Γ ΛΥΚΕΙΟΥ Αλγόριθμος είναι μία πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρονικό διάστημα,

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

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

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

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

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

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

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 23 ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 2ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος I/O 24 Βασική βιβλιοθήκη συναρτήσεων εισόδου/εξόδου #include Η συνάρτηση εξόδου printf printf("συμβολοσειρά

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

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

8. Συνθήκες ελέγχου, λογικοί τελεστές Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 8. Συνθήκες ελέγχου, λογικοί τελεστές Ιωάννης Κατάκης Σήμερα o Λογικές παραστάσεις Σχεσιακοί τελεστές Λογικοί τελεστές o if -else o switch Λογικές παραστάσεις

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

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr 1 Πώς δημιουργούμε πρόγραμμα Η/Υ; 1. Ανάλυση του προβλήματος 2. Επινόηση & Σχεδιασμός

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

Ενδεικτική περιγραφή μαθήματος

Ενδεικτική περιγραφή μαθήματος ΜΑΘΗΜΑ: ΔΙΔΑΣΚΩΝ: ΤΜΗΜΑ: Προγραμματισμός Η/Υ Συνδουκάς Δημήτριος Διοίκησης Επιχειρήσεων (Γρεβενά) Ενδεικτική περιγραφή μαθήματος 1. Εισαγωγή: Εισαγωγή στον προγραμματισμό, γλώσσες προγραμματισμού, μεταγλωτιστές.

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

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

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

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Συναρτήσεις εισόδου/εξόδου, τελεστές Η συνάρτηση scanf() είσοδος δεδομένων Διαβάζει από το πληκτρολόγιο (stdin) μορφοποιημένες τιμές μεταβλητών. scanf (ΣΕΙΡΑ_ΕΛΕΓΧΟΥ, δείκτης_μεταβλητής-1,

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

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

ιαδικαστικός Προγραμματισμός ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ιαδικαστικός Προγραμματισμός Α Εξάμηνο Μάθημα 2 ο : Εντολές ελέγχου > εντολές υπό συνθήκη Στόχοι μαθήματος Να κατανοήσετε τη σχέση μεταξύ εντολών και παραστάσεων. Να αναγνωρίζετε

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

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

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

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

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

ιαδικαστικός Προγραμματισμός ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ιαδικαστικός Προγραμματισμός Α Εξάμηνο Μάθημα 3 ο : Εντολές ελέγχου > επανάληψη Στόχοι μαθήματος Να μάθετε τις λεπτομέρειες των εντολών while και for και τις περιπτώσεις

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

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

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

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

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

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

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

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

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β.1 Τύποι Δεδομένων Όλες οι γλώσσες προγραμματισμού (πρέπει να) υποστηρίζουν πέντε (5) πρωταρχικούς τύπους δεδομένων: char (character) int (integer)

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

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

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

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

Η βασική συνάρτηση προγράμματος main()

Η βασική συνάρτηση προγράμματος main() Η βασική συνάρτηση προγράμματος main() HEADER FILES main(){ ΔΗΛΩΣΕΙΣ ΜΕΤΑΒΛΗΤΩΝ ΕΝΤΟΛΕΣ (σειριακές, επιλογής ή επανάληψης) ΕΠΙΣΤΡΕΦΟΜΕΝΟΣ ΤΥΠΟΣ (return 0;) Συναρτήσεις Η συνάρτηση είναι ένα υποπρόγραμμα

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

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΣΤΑΘΕΡΕΣ είναι τα μεγέθη που δεν μεταβάλλονται κατά την εκτέλεση ενός αλγόριθμου. Εκτός από τις αριθμητικές σταθερές (7, 4, 3.5, 100 κλπ), τις λογικές σταθερές (αληθής και ψευδής)

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

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

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. AeppAcademy.com facebook.com/aeppacademy Γεια. Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. Καλή Ανάγνωση & Καλή Επιτυχία

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

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

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

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 5: H ΓΛΩΣΣΑ C++ Συναρτήσεις - Μεταβλητές ΔΙΔΑΣΚΟΝΤΕΣ: Iωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Συναρτήσεις / Μεταβλητές

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public

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

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 2: Μεταβλητές και Σταθερές Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C Οι συναρτήσεις τι είναι Πρόκειται για ανεξάρτητα τμήματα ενός προγράμματος (υποπρογράμματα) που επιτελούν συγκεκριμένες εργασίες. Καλούνται από το κυρίως

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

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

Βασικές Αρχές Προγραμματισμού Βασικές Αρχές Προγραμματισμού Κεφάλαιο 2 ΗγλώσσαC Ιστορική Αναδρομή ΗανάπτυξητηςC ξεκίνησε το 1972 στα εργαστήρια Bell από τον Dennis Ritchie με σκοπό την ανάπτυξη ενός λειτουργικού συστήματος για τον

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

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

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

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

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο Εισαγωγή - Βασικές έννοιες Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος 2012-13 A Εξάμηνο Αλγόριθμος Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων

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

Προγραμματισμός Ι. Συναρτήσεις. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

Προγραμματισμός Ι. Συναρτήσεις. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Συναρτήσεις Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Προγραμματισμός Δ. Τσελίκας Ι Συναρτήσεις - Εισαγωγή Μία συνάρτηση είναι ένα ανεξάρτητο τμήμα κώδικα, που εκτελεί μία

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ενότητα 5 Δομές Ελέγχου Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Δομές Ελέγχου Οι Boehm και Jacopini απέδειξαν ότι οποιοσδήποτε αλγόριθμος

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

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

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

Μεθόδων Επίλυσης Προβλημάτων

Μεθόδων Επίλυσης Προβλημάτων ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 7 ομές Επαναλήψεις Ο βρόχος While ομές Έλεγχου

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

Συναρτήσεις και διαδικασίες

Συναρτήσεις και διαδικασίες Συναρτήσεις και διαδικασίες Χρήση συναρτήσεων βιβλιοθήκης Εντολή κλήσης της συνάρτησης printf: printf( Hello, world\n ); Μια συνάρτηση είναι ένα σύνολο εντολών που έχουν ομαδοποιηθεί και τους έχει αποδοθεί

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

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

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

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

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

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Τελεστές - Κατηγορίες Εκφράσεις - Κατηγορίες Υπολογισμός εκφράσεων Προτάσεις - Κατηγορίες

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

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

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

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

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

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor ΕισαγωγήστουςΗ/Υ PHP Hypertext Preprocessor ΤιείναιηPHP; PHP είναιµία server-based scripting language σχεδιασµένη ειδικά για το web. Σε µία html σελίδα µπορούµε να ενσωµατώσουµε php κώδικα που εκτελείται

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

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

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

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

11/23/2014. Στόχοι. Λογισμικό Υπολογιστή

11/23/2014. Στόχοι. Λογισμικό Υπολογιστή ονάδα Δικτύων και Επικοινωνιών ΗΥ Τομέας Πληροφορικής, αθηματικών και Στατιστικής ΓΕΩΠΟΙΚΟ ΠΑΕΠΙΣΤΗΙΟ ΑΘΗΩ Εισαγωγή στην Επιστήμη των ΗΥ άθημα-4 url: http://openeclass.aua.gr (AOA0) Λογισμικό Υπολογιστή

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

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

Πληροφορική ΙΙ Θεματική Ενότητα 7

Πληροφορική ΙΙ Θεματική Ενότητα 7 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Πληροφορική ΙΙ Θεματική Ενότητα 7 Δομές επανάληψης Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 3ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΕΚΤΥΠΩΣΗ ΚΕΙΜΕΝΟΥ Ένα κείμενο μπορεί να εκχωρηθεί ως τιμή μιας μεταβλητής

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

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

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

Κεφάλαιο Πίνακες Ι. (Διάλεξη 16)

Κεφάλαιο Πίνακες Ι. (Διάλεξη 16) Κεφάλαιο 8.1-8.3 Πίνακες Ι (Διάλεξη 16) 15-1 Πίνακες (Arrays) Σε αυτή την ενότητα θα μιλήσουμε για την δομή δεδομένων Πίνακας: 1. Εισαγωγή & Σύνταξη 2. Δήλωση Πίνακα 3. Αρχικοποίηση Πίνακα 4. Πρόσβαση

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