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

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

Download "ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΜΕΣΟΛΟΓΓΙ) ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ"

Transcript

1 ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΜΕΣΟΛΟΓΓΙ) ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ «Βασική Θεωρία, Παραδείγματα και Εργαστηριακές Ασκήσεις για την Εισαγωγή στον Προγραμματισμό σε C» (Έκδοση 3.0, Ιούνιος 2014) Δρ Αριστομένης Θανόπουλος Εργαστηριακός Συνεργάτης ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ

2 Ενότητα 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ ΤΗΣ DEV-C++ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η εξοικείωση µε τη χρήση της Dev C++ η οποία θα χρησιµοποιηθεί ως εργαλείο των Εργαστηριακών Ασκήσεων της C. 1.1 Εισαγωγή Όλα τα προγράµµατα που θα αναπτύξουµε προϋποθέτουν την ολοκληρωµένη γνώση του περιβάλλοντος εργασίας DevC++. To εργαλείο αυτό είναι ανοικτού κώδικα (open source) και µπορούν οι φοιτητές να το κατεβάσουν από τον Δικτυακό τόπο Οι κύριες λειτουργίες του περιβάλλοντος σε όλες τις ασκήσεις είναι οι ακόλουθες: Σύνταξη ή άνοιγμα προγράµµατος πηγαίου κώδικα C Μεταγλώττιση (Compilation): Συντακτικός Έλεγχος του προγράµµατος Δοκιµαστική ή τελική εκτέλεση του µεταγλωττισµένου προγράµµατος Το περιβάλλον της γλώσσας ενσωµατώνει ένα σύνολο από χρήσιµες δυνατότητες όπως: Επεξεργασία κειμένου: Για τη σύνταξη των προγραµµάτων µε ταυτόχρονη δυνατότητα διαγραφής, αντιγραφής, αναζήτησης όπως δηλαδή και σε ένα απλό επεξεργαστή κειµένου Διαχείριση Αρχείων Πηγαίου κώδικα C µε δυνατότητα ανάγνωσης, αποθήκευσης, εκτύπωσης κτλ. Εκτέλεση προγράµµατος: Δοκιµή του κώδικα και της αποτελεσµατικότητας του προγράµµατος. Μεταγλώττιση προγράµµατος και δημιουργία του εκτελέσιµου αρχείου µε δυνατότητα ενεργοποίησης διαδικασιών όπως Make, Build κτλ Διόρθωση σφαλµάτων µε βήµα προς βήµα παρακολούθηση κατά τη διάρκεια της εκτέλεσης του προγράµµατος, πρόσθεση σηµείων παρακολούθησης στον κώδικα κτλ Ρυθµίσεις των χαρακτηριστικών του περιβάλλοντος. Ανάκληση βοήθειας (Help) σχετικά με το περιβάλλον ή τη C Ξεκινώντας το Περιβάλλον DevC++ Την πρώτη φορά που θα τρέξετε το Περιβάλλον DevC++, πιθανόν να σας ζητηθούν από το πρόγραμμα οδηγίες εγκατάστασης. Γενικά δίνετε NEXT χωρίς αλλαγές. Προσοχή! Στην επιλογή γλώσσας μην επιλέξετε Ελληνικά, αφήστε την προεπιλογή «English». Αν έχετε αμφιβολία πώς θα προχωρήσει η εγκατάσταση, απευθυνθείτε στον καθηγητή σας. Κάθε φορά που θα ξεκινάτε το Περιβάλλον DevC++ για να φτιάξετε ένα αρχείο κώδικα, πηγαίνετε στο μενού File (το 1 ο από αριστερά στη γραμμή των μενού) και αν είναι ενεργή η επιλογή Close All, κλικάρετέ την, για να κλείσουν τυχόν προηγούμενα αρχεία. Ακολούθως, στο ίδιο μενού, δώστε New και επιλέξετε την εντολή Project. Ακολούθως επιλέξτε C Project και Console Application και πατήστε ΟΚ. Θα σας ζητηθεί ο χώρος αποθήκευσης. Προσοχή: Δημιουργήστε νέο φάκελο και αποθηκεύστε εκεί. Αµέσως δηµιουργήθηκε στο περιβάλλον εργασίας το παράθυρο επεξεργασίας κειμένου στο οποίο θα γράψουµε τον πηγαίο κώδικα του προγράµµατος µας.

3 Πατήστε Compile & Run από το μενού Execute (F9 ή F11, ανάλογα με την έκδοση της DevC++), και θα σας ζητηθεί να αποθηκεύσετε το πηγαίο αρχείο main.c. ΠΡΟΣΟΧΗ: Αποθηκεύστε χωρίς να αλλάξετε το όνομα αρχείου ή το φάκελο αποθήκευσης. Το κυρίως πρόγραμμα το γράφουμε αμέσως μετά από το άγκιστρο το οποίο βρίσκεται μετά τη γραμμή int main( ) Στην συνέχεια πηγαίνουµε στο menu επιλογής Execute και επιλέγουµε Compile από το μενού Execute. Στην περίπτωση που το πρόγραμμα έχει συντακτικά λάθη (Errors) ή προειδοποιήσεις (Warnings), αυτά εµφανίζονται σε ένα παράθυρο κάτω από τον πηγαίο κώδικα όπως φαίνεται στο Σχήµα 3. Το παράθυρο παρέχει στον προγραµµατιστή τις παρακάτω πληροφορίες: Γραµµή στην οποία εμφανίστηκε λάθος. Προσέξτε! Κάποιες φορές το πραγματικό λάθος στον κώδικα βρίσκεται πιο πάνω, σε κάποια προηγούμενη γραμμή! Συχνά, αν δεν είναι στην ίδια, είναι στην αμέσως προηγούμενη. Επεξήγηση ως προς τον τύπο του λάθους. Με λίγη εμπειρία στον προγραμματισμό και γνώση της Αγγλικής συχνά μπορούμε να καταλάβουμε αμέσως ποιο είναι το λάθος ακριβώς. Tip: Με διπλό κλικ πάνω στο μήνυμα του λάθους, μας πάει κατευθείαν στη γραμμή που εμφανίστηκε για να το διορθώσουμε. Εκτός από τα συντακτικά λάθη (errors) o compiler μπορεί να εμφανίσει κάποιες προειδοποιήσεις (warnings) σε κάποιες γραμμές κώδικα. Ένα πρόγραμμα χωρίς Errors αλλά με Warnings μπορεί να τρέξει, αλλά υπάρχει σημαντική πιθανότητα να υπάρχει κάποιο λάθος, με αποτέλεσμα να τρέξει μεν αλλά να μην συμπεριφερθεί σωστά, π.χ. να βγάλει λάθος αποτελέσματα ή να «κολλήσει» (δηλ. να σταματήσει να λειτουργεί χωρίς να έχει ολοκληρώσει τη ζητούμενη εργασία). Παρατήρηση: Αν ο compiler 'χτυπάει' πολλά λάθη, μην προσπαθείτε να τα διορθώσετε όλα μαζί. Πιθανώς ένα λάθος να δημιουργεί πολλά μηνύματα λάθους, οπότε διορθώστε το πρώτο που σας εμφανίζει και μετά ξανακάνετε Compile&Run. Επαναλάβετε τη διαδικασία έως ότου να μην υπάρχουν άλλα λάθη. Αν τελειώσουμε με τη διόρθωση των λαθών και προειδοποιήσεων, καλούμε την εντολή Run (μενού Execute), οπότε εµφανίζεται το μαύρο παράθυρο («κονσόλα») στο οποίο εκτελείται το πρόγραµµα που έχουµε δηµιουργήσει (Σχήµα 4). Σημείωση: Με την επιλογή Compile & Run (F9) από τo menu Execute γίνεται Compile, και, αν δεν προκύψουν συντακτικά λάθη (errors), στη συνέχεια δημιουργείται και «τρέχει», δηλαδή εκτελείται, το εκτελέσιμο πρόγραμμα (*.exe). Τα λάθη που εμφανίζονται κατά την εκτέλεση του προγράμματος, ονομάζονται λογικά ή σημασιολογικά λάθη (bugs), και δεν είναι καθόλου απαραίτητο να τα έχει ανιχνεύσει ο compiler ως προειδοποίηση. Για να τα ανιχνεύσουμε και να τα διορθώσουμε, συχνά θα χρειαστεί να τρέξουμε το πρόγραμμά μας περισσότερες από μια φορές, δίνοντας κάθε φορά διαφορετικά δεδομένα εισόδου και βλέποντας κάθε φορά αν λειτουργεί σωστά και αν βγάζει σωστά αποτελέσματα. 3

4 4 Σχήµα 1: Έλεγχος λαθών Σχήµα 2: Εκτέλεση του προγράµµατος (παράθυρο κονσόλας) Παρατήρηση: Εάν έχει τρέξει το πρόγραμμα και το μαύρο παράθυρο της κονσόλας παραμένει ανοιχτό, εάν χρειαστεί να τροποποιήσετε τον κώδικα (π.χ. είτε για να διορθώσετε κάποιο σημασιολογικό (λογικό) λάθος, είτε για να προσθέσετε καποια λειτουργία στο πρόγραμμα κλπ.) θα πρέπει πρώτα να κλείσετε το παράθυρο της κονσόλας, αλλιώς δε μπορεί να δημιουργηθεί το νέο εκτελέσιμο αρχείο (*.exe).

5 5 ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ Άσκηση 1.1. Να γραφεί το παρακάτω πρόγραµµα. #include <stdio.h> #include <stdlib.h> int main() printf( This is your first program!\n); // η προηγούμενη γραμμή είναι και η μόνη εντολή (σχόλιο) /* όλα τα υπόλοιπα τα γράφουμε πάντα (άλλο σχόλιο) */ system( pause ); return 0; Επιλέξετε την επιλογή Compile & Run (F9) από τo menu Execute Διορθώσετε τυχόν συντακτικά λάθη αν υπάρχουν Τροποποιήσετε το µήνυµα που εµφανίζεται στην οθόνη του υπολογιστή ώστε να εμφανίζει στην παρακάτω γραμμή το μήνυμα «τέλος προγράμματος» (με αγγλικούς χαρακτήρες, όπως και όλο το πρόγραμμα, εκτός από τα σχόλια). Βρείτε το εκτελέσιμο αρχείο και τρέξτε το απευθείας από τα Windows. Άσκηση 1.2. Να τροποποιήσετε το πρόγραµµα συµπεριλάβετε τον παρακάτω κώδικα: #include <stdio.h> #include <stdlib.h> int main() int a,b; printf( Your name is ***********\n ); printf( You are a student at EPDO\tΤΕΙ Mesologgiou.\); printf ( %d+%d=%d,a,b,a+b) system( pause ); return 0; Κάντε Compile και διορθώσετε τυχόν συντακτικά λάθη αν υπάρχουν Μετά τρέξτε το. Είναι σωστό; Βάλτε να εμφανίζεται το όνομά σας αντί για τα αστεράκια. Δώστε αρχικές τιμές στις μεταβλητές, και ξανατρέξτε το Παρεμβάλλετε κενά σε διάφορα σημεία της τελευταίας printf και παρατηρήστε τι συμβαίνει στο πρόγραμμα. Άσκηση 1.3. Να αναζητήσετε δια µέσου του µενού Help πληροφορίες για τις εντολές-συναρτήσεις της C: main(), scanf(), printf().

6 6 Ενότητα 2. Δομή Προγράμματος C, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας Προγραµµατισµού C: τη δοµή των προγραµµάτων της, τους βασικούς τύπους δεδοµένων που υποστηρίζει, τις δηλώσεις μεταβλητών και σταθερών, τις εντολές ανάθεσης και τις βασικές εντολές εισόδου/εξόδου printf και scanf. ΔΟΜΗ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗ C Η Γλώσσα Προγραµµατισµού C, όπως και κάθε άλλη δοµηµένη γλώσσα, απαιτεί τα προγράµµατα της να έχουν µια συγκεκριµένη δοµή. Πριν παρουσιάσουµε τη δοµή του προγράµµατος, αξίζει να αναφέρουµε ότι η γλώσσα C ξεχωρίζει τους πεζούς από τους κεφαλαίους χαρακτήρες. Το 1 ο τμήμα ενός προγράμματος C ξεκινά με τις εντολές προεπεξεργαστή. Είναι εντολές που ξεκινούν με το χαρακτήρα # και δεν τελειώνουν με ;. Εμείς θα χρησιμοποιήσουμε τις #include <αρχείο> και #define ετικέττα. (Εντολές τέτοιου τύπου προκαλούν την ενεργοποίηση διαφόρων πριν την έναρξη της διαδικασίας µεταγλώττισης.) Η οδηγία #include <αρχείο.h> χρησιµοποιείται για να διαβάσει το συγκεκριµένο αρχείο επικεφαλίδας (header file) και να το ενσωµατώσει στο πρόγραµµα που γράφουµε σαν να ήταν αναπόσπαστο τµήµα του. Τα αρχεία αυτά περιέχουν τις δηλώσεις κάποιων συναρτήσεων που θα χρειαστούμε, όπως οι scanf(), printf(), system(), sqrt() κλπ. Κάθε φορά που συµπεριλαµβάνουµε ένα αρχείο επικεφαλίδας, εµπλουτίζουµε το πρόγραµµά µας µε µια γκάµα βιβλιοθηκών/συναρτήσεων (εντολών) που περιέχονται σε αυτό. Έτσι ανάλογα µε τις συναρτήσεις που θέλουµε να χρησιµοποιήσουµε ενεργοποιούµε το αντίστοιχο αρχείο µέσω της εντολής #include. Τέλος θα πρέπει να αναφέρουµε ότι κάθε χρήστης έχει τη δυνατότητα να δηµιουργήσει δικά του αρχικά αρχεία επικεφαλίδων (βιβλιοθήκες) τα οποία μπορεί να ενσωµατώσει στα προγράµµατά του. To 2o και κύριο μέρος του προγράμματος συνίσταται στη δήλωση της συνάρτησης main(). Συνολικά η δομή των προγραμμάτων C που θα υλοποιήσουμε, τουλάχιστον στα πρώτα μαθήματα, είναι η εξής: Δηλώσεις προεπεξεργαστή int main () Δηλώσεις μεταβλητών Ακολουθία εντολών system ( pause ); return 0; Παρατήρηση: η συνάρτηση/εντολή system( pause ); παγώνει την εκτέλεση μέχρι να πατηθεί ένα πλήκτρο. Τη βάζουμε πάντα πριν το τέλος για να μην κλείσει το παράθυρο της εφαρμογής και να προλάβουμε να δούμε τα αποτελέσματα, αλλά μπορεί να μπεί και σε άλλα σημεία, για παρόμοιο λόγο, αν δηλ. θέλουμε να παγώσει το πρόγραμμα προσωρινά. Σχόλια (Comments) στη C Τα σχόλια προστίθενται ενδιάμεσα γιά να βοηθήσουν στη τεκμηρίωση και αναγνωσιμότητα του προγράμματος. Τα σχόλια απευθύνονται στον αναγνώστη του κώδικα του προγράμματος. Δεν απευθύνονται στον χρήστη του προγράμματος, δηλαδή δεν είναι μηνύματα που εμφανίζονται στην οθόνη. Επίσης δεν απευθύνονται στον Compiler (μεταφραστή), αφού αγνοούνται τελείως από αυτόν. Ένα σχόλιο της C ξεκινά με τον συνδυασμό χαρακτήρων '/*' και τελειώνει με τον συνδυασμό '*/'. Σε

7 κάποιους compilers (MS, BloodShed) επίσης μπορεί να ξεκινά με διπλή δεξιά κεκλιμένη ("//", slash), οπότε τελειώνει στο τέλος της γραμμής. Περιοχή κώδικα κυρίας συνάρτησης (κυρίως πρόγραµµα, main program) Όλα τα προγράµµατα της C είναι στην ουσία ένα σύνολο από συναρτήσεις. Η βασική συνάρτηση που θα περιέχει το κυρίως πρόγραµµα ονοµάζεται main και η επικεφαλίδα της συντάσσεται ως int main(), δηλαδή η συνάρτηση αυτή επιστρέφει ακέραιο αριθμό. Οι διάφορες δηλώσεις και ο κώδικας που θα ενσωµατωθούν πρέπει υποχρεωτικά να παρέχονται µεταξύ των συµβόλων "" και "" τα οποία και θέτουν το αρχικό και τελικό της όριο µέσα στο πρόγραµµα C. Πριν κλείσει η main(), δηλαδή πριν το βάζουμε την εντολή return 0;, ώστε να γνωρίζει το λειτουργικό σύστημα ότι, αν το πρόγραμμα επέστρεψε την τιμή μηδέν, έχει φτάσει στην τελευταία γραμμή και συνεπώς έχει τελειώσει κανονικά την εκτέλεση όλων των εντολών του. Περιοχή Δήλωσης Μεταβλητών Σε αυτό το τµήµα δηλώνουµε µεταβλητές και σταθερές οι οποίες µπορούν να χρησιµοποιηθούν µόνο στη συνάρτηση της main. Οι µεταβλητές δηλώνονται αµέσως µετά την εισαγωγή του συµβόλου στην συνάρτηση main. Οι µεταβλητές που δηλώνουµε ανήκουν στους τύπους δεδοµένων που υποστηρίζει η C. Κάθε µεταβλητή περιλαµβάνει τα παρακάτω χαρακτηριστικά: Τύπο της µεταβλητής Όνοµα της µεταβλητής Τιµή που της εκχωρείται Τύποι Μεταβλητών Οι µεταβλητές µπορούν να περιέχουν διάφορους τύπους δεδοµένων. Ο παρακάτω πίνακας δίνει τις πιο σηµαντικούς τύπους µεταβλητών στη C, το εύρος τιµών (ελάχιστη τιµή - µέγιστη τιµή που µπορεί να καταχωρηθεί σε µία µεταβλητή) καθώς και το πεδίο τιμών τους. 7 Τύπος Δεδομένων στη C Περιγραφή Πεδίο Ορισμού char χαρακτήρας 'a', 'A',. int ακέραιος αριθμός, θετικός ή αρνητικός [ , ] unsigned int θετικός ακέραιος αριθμός [0, 2 32 ) = [0, ] float δεκαδικός απλής ακρίβειας ( , ) double δεκαδικός διπλής ακρίβειας ( , ) Δήλωση μεταβλητών: Περιορισμοί: Μήκος ονόματος μεταβλητής: 1-31 χαρακτήρες Επιτρέπονται γράμματα, αριθμοί και το underscore ('_', κάτω παύλα). Πρέπει το αρχικό γράμμα να είναι χαρακτήρας. Δεν πρέπει να χρησιμοποιούνται δεσμευμένες λέξεις της C ή ονόματα συναρτήσεων. Αλλαγή έστω κι ενός γράμματος από πεζό σε κεφαλαίο ή αντίστροφα, αλλάζει τη μεταβλητή (case sensitivity) Εκχώρηση ή Ανάθεση Μεταβλητών Για να αποθηκεύσουμε σε μια μεταβλητή μια τιμή η οποία υπολογίζεται από το αποτέλεσμα μιας παράστασης, γράφουμε: Mεταβλητή = Παράσταση;

8 8 Αυτή η εντολή ονομάζεται ανάθεση ή εκχώρηση. Προφανώς, οι πιο απλές περιπτώσεις ανάθεσης είναι αν έχουμε αντί για ολόκληρη παράσταση μια μόνο μεταβλητή ή μια σταθερά. Το αποτέλεσμα της παράστασης πρέπει να είναι ίδιου τύπου δεδομένων με τη μεταβλητή. Αλλιώς μετατρέπεται στον τύπο της μεταβλητής αυτόματα, οπότε πιθανόν να χαθεί πληροφορία, π.χ. αν αποθηκευτεί σε μια ακέραια μεταβλητή το δεκαδικό αποτέλεσμα μιας παράστασης, τα δεκαδικά ψηφία θα αποκοπούν. /* ΠΑΡΑΔΕΙΓΜΑ: Υπολογισμός Περιμέτρου και Εμβαδού κύκλου*/ int main () const double PI = ; //δήλωση της σταθεράς π float r = 3; //δήλωση και αρχικοποίηση της ακτίνας float s, perimeter; /* δήλωση των άλλων δύο μεταβλητών του προβλήματος */ s = PI * r * r; perimeter = 2 * PI * r; return 0; Παρατηρήστε τη δήλωση του π: Όταν ένας προσδιοριστής δεν πρέπει να αλλάξει κατά την εκτέλεση, μπορούμε να τον δηλώσουμε ως σταθερά (αντί για μεταβλητή), οπότε στη δήλωση βάζουμε τη λέξη const πριν τον τύπο δεδομένων. Τις σταθερές συνηθίζουμε να τις δηλώνουμε με κεφαλαία γράμματα, και τις μεταβλητές με πεζά. Εναλλακτικά, θα μπορούσαμε αντί να δηλώσουμε στην αρχή της main() την σταθερά const double PI = ; να δώσουμε στην αρχή την οδηγία προεπεξεργαστή (προσέξτε, χωρίς = και ; ): #define PI Οι Εντολές - Συναρτήσεις Εισόδου και Εξόδου H συνάρτηση printf() Η printf() είναι η βασική συνάρτηση παρουσίασης ενός µηνύµατος ή της τιµής µιας µεταβλητής ή παράστασης στην οθόνη του υπολογιστή. H συνάρτηση printf() περιλαµβάνεται στην βιβλιοθήκη <stdio.h.>. Η σύνταξη της συνάρτησης printf() είναι η ακόλουθη: printf("<συµβολοσειρά>", <ακολουθία μεταβλητών>); Στη συµβολοσειρά, εκτός από τους χαρακτήρες που πρόκειται να εκτυπωθούν, μπορούν να παρεμβάλλονται και: μη εκτυπώσιμοι χαρακτήρες, οι οποίοι ξεκινούν με backslash ('\') και έχουν τις εξής σημασίες: \n νέα γραμμή \t στηλοθέτης (tab) \a ηχητικό σήμα (beep) \b backspace \\ εκτύπωση ενός \ \" εκτύπωση ενός διπλού εισαγωγικού \' εκτύπωση ενός μονού εισαγωγικού κλπ. προσδιοριστές, που ξεκινούν με το χαρακτήρα %, πρέπει να είναι όσες και οι μεταβλητές που ακολουθούν (διαχωρισμένες με κόμμα) και αντίστοιχου τύπου. Κάθε προσδιοριστής δείχνει πως πρέπει να εκτυπωθεί η αντίστοιχη μεταβλητή. Συγκεκριμένα: %c χαρακτήρας

9 9 %d ακέραιος στο δεκαδικό σύστημα. Αν πρόκειται για μεταβλητή τύπου χαρακτήρα θα εκτυπωθεί ο αντίστοιχος ASCII κωδικός του! %αd ακέραιος στο δεκαδικό σύστημα. Δεσμεύονται α θέσεις για την εκτύπωσή του. Αν όμως δεν χωράει, η εκτύπωση θα γίνει κανονικά χρησιμοποιώντας όσα ψηφία απαιτούνται. %f πραγματικός αριθμός (float ή double) %α.βf πραγματικός αριθμός που θέλουμε να εκτυπωθεί με α ψηφία συνολικά (περιλαμβάνει υποδιαστολή και πρόσημο) και β ψηφία δεκαδικό μέρος. Τα α και β πρέπει να είναι συγκεκριμένοι ακέραιοι αριθμοί, όχι μεταβλητές. Το ένα από τα δύο μπορεί να απουσιάζει, οπότε το μήκος τίθεται αυτόματα από τον compiler. Η ακολουθία μεταβλητών στη σύνταξη της printf() που είδαμε παραπάνω είναι προαιρετική, π.χ. στις 3 πρώτες γραμμές στο Παράδειγμα 1 δεν υπάρχουν μεταβλητές, αφού δεν υπάρχουν προσδιοριστές, όπως «%7.1f» μέσα στη συμβολοσειρά. ΠΑΡΑΔΕΙΓΜΑ 1: #include <stdio.h> // Περιέχει την scanf() #include <stdlib> // Περιέχει την system() int main () printf("line 1\tStili2\n"); printf("line 2\tStili2\n"); printf("line 3\t\tStili3\n"); printf("%7.1f\n", 5/3.); /* βάζουμε 3. αντί για 3 γιατί πράξεις μεταξύ ακεραίων δίνουν ακέραιο! */ printf("%7.3f\n", 5/3.); system( pause ); return 0; Στην οθόνη του υπολογιστή εµφανίζεται το παρακάτω µήνυµα Line1 Stili2 Line2 Stili2 Line3 Stili Η συνάρτηση scanf () Περιλαµβάνεται στην βιβλιοθήκη <stdio.h>. Χρησιμοποιείται για την εισαγωγή τιμών από το πληκτρολόγιο. Οι τιμές αυτές αποθηκεύονται μια προς μία σε αντίστοιχες μεταβλητές, που περιλαμβάνονται στην scanf(). Η συνάρτηση scanf(), που µοιάζει µε την printf(), δέχεται ως πρώτο όρισμα (μέσα σε διπλά εισαγωγικά) µια συµβολοσειρά ελέγχου και στη συνέχεια τα ονόματα των μεταβλητών που θα λάβουν τιμές από το πληκτρολόγιο. Η συµβολοσειρά ελέγχου περιγράφει στη C ακριβώς τι είναι οι τιµές που πληκτρολογούνται και τον τύπο τους. Η σύνταξη της scanf() είναι η ακόλουθη: scanf("<συµβολοσειρά Ελέγχου>",< λίστα μεταβλητών>); Αν και η σύνταξή της είναι παρόμοια με της printf(), στη συμβολοσειρά ελέγχου της scanf επιτρέπονται μόνο προσδιοριστές και όχι άλλοι χαρακτήρες, εκτυπώσιμοι ή μη. Προσοχή: Πρίν το όνομα κάθε μεταβλητής μπαίνει, χωρίς κενό, ο χαρακτήρας '&' (που σημαίνει "διεύθυνση της μεταβλητής").

10 10 Πριν από κάθε scanf() πρέπει να προηγείται μια printf(), ώστε να εξηγεί στο χρήστη τι περιμένει ακριβώς το πρόγραμμα από αυτόν. Αν μια scanf() περιμένει πολλές τιμές, αυτές πρέπει να διαχωριστούν κατά την πληκτρολόγηση με κενά διαστήματα. Πάντως είναι πιο ασφαλές, αν θέλουμε να εισαχθούν πολλά δεδομένα, να χρησιμοποιούμε μια scanf() για καθένα. Για παράδειγμα: scanf( %d,&k); // αποθηκεύει την ακέραια τιμή που θα δώσει ο χρήστης στην ακέραια μεταβλητή k. Προσοχή: μέσα στα εισαγωγικά μην βάζετε τίποτε άλλο! Μόνο το % και τον χαρακτήρα που αντιστοιχεί στον τύπο της μεταβλητής, π.χ. %f H συνάρτηση scanf() γνωρίζει πότε τερµατίζεται η είσοδος µε το πάτηµα του πλήκτρου Enter. Επειδή δεν µπορείτε να ελέγχετε τον τρόπο πληκτρολόγησης του χρήστη, αν κάνει λάθος εισαγωγή δεδομένων λανθασμένου τύπου, το πρόγραμμα δεν µπορεί να κάνετε πολλά. Τα αποτελέσµατα θα είναι λανθασµένα, αλλά το πρόγραµµα C δεν διαθέτει µέθοδο ελέγχου της ακρίβειας του χρήστη πριν την εκτέλεση του. ΠΑΡΑΔΕΙΓΜΑ 2: #include <stdio.h> #include <stdlib.h> int main () float totalsale; float tax; printf("enter the sales amount:\n"); scanf("%f",&totalsale); tax=totalsale*0.07; printf("the sales tax for %.2f\t is %.2f\n",totalSale,tax); system ("pause"); return 0; ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ Άσκηση 2.1. Να γραφεί πρόγραµµα που να εκτελεί τις παρακάτω διαδικασίες: a) Να διαβάζει από το πληκτρολόγιο 2 πραγµατικούς αριθµούς, και 2 ακέραιους b) Για τους δύο πραγματικούς να εκτελεί τις πράξεις πρόσθεση και διαίρεση και να τυπώνει τα αποτελέσµατα µε τη µορφή 3+5=8, κλπ. c) Να υπολογίζει το άθροισµα των δύο πρώτων, του 30% του τρίτου αριθµού και του τετραγώνου του 4ου και να τυπώνει το συνολικό αποτέλεσµα Άσκηση 2.2. Να γραφεί πρόγραμμα σε C που να ζητάει από το χρήστη δύο χαρακτήρες και να εκτυπώνει: Α) για τον πρώτο χαρακτήρα, τον επόμενό του στον πίνακα ASCII, και B) για το 2o χαρακτήρα, τον προηγούμενό του στον πίνακα ASCII. Άσκηση 2.3. Να γραφεί πρόγραµµα που να διαβάζει την ηλικία σε έτη και να την μετατρέπει σε μήνες, σε ηµέρες, σε ώρες και σε λεπτά, (ανεξάρτητα μεταξύ τους) και να την τυπώνει ως εξής: H HLIKIA EINAI:20 years, or 480 months, or days, or hours, or mins, or sec.

11 11 Ενότητα 3. Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου Η C, όπως όλες οι γλώσσες προγραμματισμού, χρησιμοποιεί τελεστές για να εκτελέσει τις αριθμητικές και λογικές λειτουργίες. Συνοπτικά οι βασικότεροι είναι οι εξής: Ανάθεσης (=) Αριθμητικοί (+, -, *, /, % ακέραιο υπόλοιπο) Λογικοί (&& AND, OR,! NOT) Σύγκρισης ή Συσχετιστικοί (>, >=, ==,!=, <, <=) == τελεστής ισότητας (όχι το μονό =, αφού σημαίνει ανάθεση)!= τελεστής ανισότητας ( ) Μοναδιαίας αύξησης και μείωσης (++, --) Ανάθεση ή καταχώρηση ή εκχώρηση τιμής: Το = είναι ένας τελεστής καταχώρησης τιμής. Δεν μπορούμε να καταχωρήσουμε τιμή σε μια σταθερά, ούτε σε παράσταση, άρα στα αριστερά του συμβόλου = πρέπει να είναι το όνομα μιας μόνο μεταβλητής. Εφαρμογές της εντολής αυτής είναι οι εξής : year = 2006; i = i + 1; t1 = t2 = 68; Στην τελευταία εντολή οι καταχωρήσεις γίνονται από τα δεξιά προς τα αριστερά. Στην πραγματικότητα μια εντολή ανάθεσης είναι επίσης μια παράσταση, η οποία παίρνει τιμή την τιμή που ανατέθηκε στη μεταβλητή! Έτσι το t2 γίνεται 68 και το t1 γίνεται ίσο με την τιμή της παράστασης t2=68, δηλαδή με 68. ΑΡΙΘΜΗΤΙΚΟΙ ΤΕΛΕΣΤΕΣ: πρόσθεσης: +, αφαίρεσης: -, πολλαπλασιασμού: *, διαίρεσης: /, ακέραιο υπόλοιπο διαίρεσης: %. Ο τελεστής ακεραίου υπολοίπου (%) χρησιμοποιείται στην αριθμητική των ακεραίων και επιστρέφει το υπόλοιπο της ακέραιας διαίρεσης του ακεραίου στα αριστερά με τον ακέραιο στα δεξιά. Για παράδειγμα, η πράξη 13 % 5 δίνει σαν αποτέλεσμα την τιμή 3, αφού το 5 χωράει δύο φορές στο 13 και έχει υπόλοιπο 3. ΠΡΟΣΟΧΗ! Στη διαίρεση πρέπει να έχουμε υπόψη μας ότι η διαίρεση μεταξύ δύο ακεραίων δίνει ακέραιο, δηλαδή το δεκαδικό μέρος αποκόπτεται! Διαίρεση μεταξύ ακεραίου και δεκαδικού (float ή double) δίνει δεκαδικό. Ακολουθεί ένα παράδειγμα : #include <stdio.h> main() printf("ακέραια διαίρεση : 5/3 είναι %d \n", 5/3); printf("ακέραια διαίρεση : 8/4 είναι %d \n", 8/4); printf("ακέραια διαίρεση : 7/5 είναι %d \n", 7/5); printf("ακέραιo πηλίκο: 7/5 είναι %d \n", 7/5); printf("διαίρεση κινητής υποδιαστολής : 7./4. είναι %1.2f \n", 7./4.); printf("μικτή διαίρεση : 7./4 είναι %1.2f \n", 7./4); Το αποτέλεσμα θα είναι : ακέραια διαίρεση : 5/3 είναι 1 ακέραια διαίρεση : 8/4 είναι 2

12 12 ακέραια διαίρεση : 7/5 είναι 1 ακέραιο πηλίκο: 7/5 είναι 2 διαίρεση κινητής υποδιαστολής : 7./4. είναι 1.75 μικτή διαίρεση : 7./4 είναι 1.75 ΛΟΓΙΚΟΙ ΤΕΛΕΣΤΕΣ και ΠΡΑΞΕΙΣ Το λογικό ΚΑΙ (AND) παριστάνεται με &&. Η παράσταση Α&&Β δίνει αποτέλεσμα αληθές αν και μόνο αν και το Α και το Β είναι αληθή. Το λογικό Ή (OR) παριστάνεται με. Η παράσταση Α Β δίνει αποτέλεσμα αληθές αν είτε το Α είτε το Β είναι αληθές, ή και τα δύο. Αλλιώς δίνει ψευδές. Το λογικό ΟΧΙ (NOT) παριστάνεται με!. Η παράσταση!α δίνει αποτέλεσμα αληθές αν και μόνο αν και το Α είναι ψευδές. Για τη C, το ψευδές συμβολίζεται με μηδέν (0), ενώ το αληθές με τη μονάδα (1). Συνεπώς η παράσταση 5>2 έχει τιμή (αποτέλεσμα) 1. Επίσης οποιαδήποτε μη μηδενική τιμή θεωρείται αληθής, π.χ. 6 &&7 δίνει 1, ενώ 6&&0 δίνει 0. Οι Τελεστές Μοναδιαίας Αύξησης ++ και Μείωσης -- μπορεί να εμφανιστούν μέσα σε μια παράσταση και να συνοδεύουν μια μεταβλητή. Ο τελεστής αύξησης (++) αυξάνει κατά ένα την τιμή της μεταβλητής την οποία συνοδεύει, ενώ ο -- τη μειώνει κατά μια μονάδα. Οι τελεστές αυτοί υπάρχουν σε δύο μορφές : Το ++ ή το -- μπορεί να βρίσκεται: Α) πριν από την επηρεαζόμενη μεταβλητή, π.χ. ++n, (προθεματικός), οπότε αλλάζει την τιμή της μεταβλητής πριν να γίνει ο υπολογισμός της παράστασης, B) μετά απ αυτήν, π.χ. n++, οπότε ονομάζεται επιθεματικός τελεστής, οπότε υπολογίζεται πρώτα η παράσταση και μετά γίνεται η αλλαγή τιμής της μεταβλητής. Η διαφορά φαίνεται παρακάτω: int p=5, n=10; // αρχικοποίηση y = p++ * --n; πρώτα αλλάζει η τιμή του n (γιατί έχει προθεματικό --) και γίνεται 9, μετά γίνεται η πράξη y=p*n=5*9=45, και μετά γίνεται η p++ δηλαδή p=p+1=6. Παρατηρήσεις: Οι τελεστές αύξησης και μείωσης έχουν υψηλή προτεραιότητα και μόνο οι παρενθέσεις έχουν υψηλότερη. ΠΡΟΣΟΧΗ: η έκφραση n++ είναι ισοδύναμη με την n=n+1 και όχι με την n+1. Είναι ένα λάθος που κάνουν συχνότατα οι αρχάριοι προγραμματιστές της C. Δεν πρέπει να χρησιμοποιούμε τελεστές αύξησης ή μείωσης σε μεταβλητή που εμφανίζεται περισσότερες από μία φορές σε μια έκφραση, π.χ. y = ++n + 2*n γιατί δεν μπορούμε να είμαστε σίγουροι για το αποτέλεσμα. Οι Προτεραιότητες των Τελεστών Στα μαθηματικά οι αριθμητικοί τελεστές έχουν διαφορετική προτεραιότητα μεταξύ τους όταν βρίσκονται πολλοί σε μια παράσταση χωρίς παρενθέσεις. Για παράδειγμα, ο πολλαπλασιασμός και η διαίρεση έχουν υψηλότερη προτεραιότητα από την πρόσθεση και την αφαίρεση. Αν 2 τελεστές διαίρεσης ή πολλ/μού βρίσκονται στην ίδια έκφραση, αφού έχουν ίδια προτεραιότητα, ο κανόνας λέει ότι εκτελούνται οι πράξεις από αριστερά προς τα δεξιά. Έτσι και η C τοποθετεί κάθε τελεστή σε κάποιο επίπεδο προτεραιότητας. Τα επίπεδα προτεραιότητας των τελεστών φαίνονται παρακάτω:

13 13 ( )! * / % + - < <= > >= ==!= && = Ψηλότερα στον πίνακα σημαίνει υψηλότερη προτεραιότητα. Προφανώς οι παρενθέσεις έχουν την υψηλότερη από όλους, οπότε τις χρησιμοποιούμε αν δεν είμαστε βέβαιοι για τη σειρά εκτέλεσης των πράξεων. Επίσης έτσι ο κώδικας γίνεται πιο ευανάγνωστος. Το βέλος δείχνει την σειρά εκτέλεσης μεταξύ τελεστών με ίδια προτεραιότητα. Αν υπάρχουν μέσα στην έκφραση τελεστές στο ίδιο επίπεδο, ισχύει γενικά προτεραιότητα από αριστερά προς τα δεξιά (εκτός του τελεστή ανάθεσης: πχ. x = y = 1 πρώτα y=1 και μετά x=1) και των τελεστών μοναδιαίας μεταβολής (++, --) και του προσήμου (-) Παράδειγμα: x=5>3&&9==8; σημαίνει: x= ( (5 μεγαλύτερο 3) ΚΑΙ (9 ίσο με 8) ) άρα ψευδές, άρα το x θα γίνει μηδέν. Υπονοούμενες Μετατροπές Τύπου (σε εκφράσεις) Στη C μπορούμε να έχουμε μια αριθμητική παράσταση με μεταβλητές και σταθερές διαφορετικών τύπων δεδομένων. Η C χρησιμοποιεί ορισμένους κανόνες για να μετατρέψει αυτόματα τους τύπους και να δώσει αποτέλεσμα: 1. Όταν εμφανίζονται σε εκφράσεις ο τύπος char και ο τύπος short, με πρόσημο ή χωρίς, αυτόματα μετατρέπονται σε τύπο int. 2. Σε κάθε πράξη όπου εμπλέκονται δύο τύποι, οι δύο τιμές μετατρέπονται στον τύπο αυτής με τον "υψηλότερο" βαθμό. 3. Η ιεραρχία των τύπων από τους υψηλότερους προς τους χαμηλότερους είναι η εξής : long double, double, float, unsigned long, long, unsigned int και int. 4. Σε μια εντολή ανάθεσης το τελικό αποτέλεσμα των υπολογισμών μετατρέπεται στον τύπο της μεταβλητής στην οποία καταχωρήθηκε η τιμή. Έτσι, όμως, μπορεί μια τιμή να μετατραπεί σε τύπο χαμηλότερου βαθμού, όταν π.χ. καταχωρούμε τύπο float σε τύπο int και γίνεται, όπως είδαμε, αποκοπή του δεκαδικού μέρους. Ρητές μετατροπές τύπου (Τελεστής «Εκμαγείο», Cast) Όλες οι μετατροπές τύπων που αναφέραμε μέχρι τώρα γίνονται αυτόματα. Όμως, είναι πιθανό να θέλουμε να δώσουμε εμείς τις οδηγίες για την ακριβή μετατροπή του τύπου που θέλουμε. Η μέθοδος αυτή λέγεται εκμαγείο ή ρητή μετατροπή (cast) και συνίσταται στην τοποθέτηση μπροστά από την μεταβλητή (ή μια σταθερά, ή μια παράσταση μέσα σε παρενθέσεις), του επιθυμούμενου τύπου μέσα σε παρενθέσεις. Οι παρενθέσεις μαζί με το όνομα του τύπου αποτελούν τον τελεστή-εκμαγείο. Παρατηρήστε τα παραδείγματα: int m; float x, a=1.5; m = ; // τo m γίνεται 3, δηλ. το ακέραιο μέρος του 3.3 m = (int) (int) a; //το m γίνεται 1+1=2 x = (int) a*a; // 1*1.5 = 1.5, άρα το x γίνεται 1.5 x = (int) (a*a); // 1.5*1.5=2.25, άρα το x γίνεται 2.0

14 14 ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ ΑΣΚΗΣΗ 3.1. Τί θα εκτυπώσει ο παρακάτω κώδικας; Πρίν το τρέξετε (συμπληρώστε ότι χρειάζεται), γράψτε στο τετράδιό σας τί πιστεύετε ότι θα εκτυπωθεί, γραμμή προς γραμμή. Επίσης τις (αριθμητικές ή/και λογικές) πράξεις που κάνατε, καθώς και τις αλλαγές τιμών των μεταβλητών που τυχόν συμβαίνουν. int i=1, j=2, k=3, p; float x=3, y=5; printf("a. %f\n", i+j/x*y); printf("b. %f\n", k/j*++y); printf("c. y=%f, x=%f, x=%f\n", y, x++, x); printf("d. x=%f\n", x); printf("e. %i\n", j>i); printf("f. %d\n", j>i&&!x>=--y); p =!x==0; printf("g. p=%d\n",p); ΑΣΚΗΣΗ 3.2. Υλοποιήστε πρόγραμμα σε C το οποίο: Α) Να ζητά από το χρήστη δύο πραγματικούς αριθμούς στο διάστημα [10,100), πρώτα το μεγαλύτερο και μετά το μικρότερο. Αφού τους δώσει ο χρήστης (θεωρήστε, για τις εκτυπώσεις, ότι οι 2 αριθμοί έχουν διψήφιο ακέραιο μέρος και μονοψήφιο δεκαδικό μέρος), το πρόγραμμα: Β) Να απαντά πόσο είναι το ακέραιο μέρος και ποιο το δεκαδικό μέρος για καθέναν αναλυτικά. Γ) Να εκτελεί και να εκτυπώνει τις 4 αριθμητικές πράξεις μεταξύ τους, καθώς και το ακέραιο πηλίκο και το υπόλοιπο της διαίρεσης των ακέραιων μερών τους. Θεωρήστε 2 δεκαδικά ψηφία για τις εκτυπώσεις των αποτελεσμάτων. Ακολουθεί παράδειγμα επιθυμητής συμπεριφοράς της αλληλεπίδρασης προγράμματος χρήστη: Please enter the bigger of the two numbers: 40.7 Please enter the smaller of the two numbers: 10.3 The integer part of 40.7 is 40 and its fractional part is 0.7. The integer part of 10.3 is 10 and its fractional part is = = x 10.3 = / 10.3 = / 10 = 4 and the remainder is 0

15 15 Ενότητα 4. Η Δομή Ελέγχου if Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Γενική Μορφή: if (συνθήκη_1) ακολουθία_εντολών_1 else if (συνθήκη_2) ακολουθία_εντολών_2 else if (συνθήκη_3) ακολουθία_εντολών_3.. else ακολουθία_εντολών_0 επόμενη_εντολή_προγράμματος Αν ισχύει η συνθήκη_1 εκτελείται μόνο η ακολουθία_εντολών_1 και μετά εκτελείται η επόμενη_εντολή_προγράμματος Αν δεν ισχύει η ισχύει η συνθήκη_1 εξετάζεται η συνθήκη_2. Αν ισχύει, εκτελείται μόνο η ακολουθία_εντολών_2 και μετά εκτελείται η επόμενη_εντολή_προγράμματος, κ.ο.κ. Αν δεν ισχύει καμμιά από τις προηγούμενες συνθήκες τότε εκτελείται η ακολουθία_εντολών_0 και μετά εκτελείται η επόμενη_εντολή_προγράμματος. Παρατηρήσεις: 1. Μόνο η γραμμή της if (η 1η) είναι υποχρεωτική. Δηλ, ο προγραμματιστής κρίνει αν χρειάζεται να μπει else ή/και ένα ή περισσότερα else if. 2. Όλος ο κώδικας από το if έως και το else ή, αν δεν υπάρχει else, έως και το τελευταίο else if. είναι μία και μόνο εντολή της C, η οποία δεν τελειώνει με ';'. 3. Οι παρενθέσεις που περιβάλλουν τη συνθήκη είναι υποχρεωτικές. 4. Τα άγκιστρα είναι προαιρετικά αν και μόνο αν η ακολουθία_εντολών είναι μόνο μια εντολή. Ας δούμε παραδείγματα: Η απλούστερη περίπτωση: Η εντολή if ελέγχει τη συνθήκη και αν αυτή είναι αληθής, τότε εκτελείται μια εντολή. Αν είναι ψευδής, δεν εκτελείται, και το πρόγραμμα συνεχίζει κανονικά παρακάτω. Αν θέλουμε, στην περίπτωση που δεν ισχύει η συνθήκη, να γίνει κάτι άλλο, προσθέτουμε το else. Ο διπλανός έλεγχος εκτυπώνει αν ένας μαθητής πέρασε τις εξετάσεις ή όχι, με βάση το 5: if (thermokrasia < 0) printf("it s freezing!\n"); if (apotelesma >= 5.0) printf("perase\n"); else printf("apetyxe\n"); Αν θέλουμε να έχουμε περισσότερες από μια εντολές μετά το if ή το else, πρέπει να είναι ομαδοποιημένες μέσα σε άγκιστρα. Μια τέτοια ομαδοποίηση ονομάζεται block. Μια εντολή σε ένα block μπορεί να είναι οποιαδήποτε εντολή της C, ακόμα κι άλλη if, απλή ή σύνθετη. Παρατήρηση: Πολλοί προγραμματιστές βάζουν πάντα άγκιστρα, ακόμα κι αν το block αποτελείται από μόνο μια εντολή, για λόγους ομοιομορφίας. Παρατήρηση: Η συνθήκη μπορεί να μην είναι Λογική, με την έννοια ότι δίνει αληθή ή ψευδή τιμή, αλλά αριθμητική παράσταση. Τότε, αν έχει τιμή μηδέν, είναι ψευδής. Σε κάθε άλλη περίπτωση είναι αληθής. Π.χ. η εντολή if (5-6) printf("weird!\n"); είναι συντακτικά σωστή, η τιμή της συνθήκης είναι -1, άρα αληθής και άρα θα εκτυπώσει!

16 Προσοχή - Συχνά Λάθη: Α) Η συνθήκη μπαίνει πάντα μέσα σε παρένθεση! Μέσα σε αυτή πιθανά να χρειαστεί να βάλουμε κι άλλες παρενθέσεις, για να ορίσουμε την επιθυμητή προτεραιότητα των πράξεων Β) Η if δεν τελειώνει με το ελληνικό ερωτηματικό (;). Αν το βάλουμε κατά λάθος, δεν είναι συντακτικό λάθος (κι αυτό είναι επικίνδυνο, γιατί δεν to "χτυπάει" ο compiler), αλλά είναι σα να λέμε: Αν ισχύει η συνθήκη, εκτέλεσε την κενή εντολή δηλ. αυτή που δεν κάνει τίποτα. 16 if (result >= 5.0) printf("passed\n"); printf("congratulations\n") else printf("failed\n"); printf("good luck in the resit\n"); Μερικές φορές θα θέλαμε να κάνουμε μια επιλογή ανάμεσα σε πολλές συνθήκες. Ο πιο γενικός τρόπος για να το πετύχουμε είναι να χρησιμοποιήσουμε την παραλλαγή else if της εντολής if. Λειτουργεί κάνοντας πολλές συγκρίσεις. Μόλις κάποια από αυτές δώσει κάποιο αληθές αποτέλεσμα, εκτελείται η επόμενη εντολή και δεν γίνονται περισσότεροι έλεγχοι. Στο επόμενο παράδειγμα το πρόγραμμα δίνει αποτέλεσμα και χαρακτηρισμό ανάλογα με το βαθμό: if (result > 10 result<0) printf("grade should be between 0 and 10!\n"); else if (result >= 8.5) printf("passed: ARISTA!\n"); else if (result >= 6.5) printf("passed: POLY KALA\n"); else if (result >= 5.0) printf("passed: KALA\n"); if (result == 5) printf("alla... ORIAKA\n"); else printf("failed\n"); if (result == 0) printf("leykh KOLLA???\n"); ΠΑΡΑΤΗΡΗΣΗ 1: Αν αντί για το 2 ο «else if» είχαμε βάλει σκέτο if, στην περίπτωση που ο βαθμός θα ήταν 9, θα εκτυπωνόταν και το ΑΡΙΣΤΑ και το ΠΟΛΥ ΚΑΛΑ. Αυτό είναι ένα παράδειγμα λογικού λάθους. Δεν το ανιχνεύει φυσικά ο compiler, ούτε θα φαινόταν το λάθος στην εκτέλεση, παρά μόνο αν εισάγουμε τιμή από 8.5 και πάνω! Γι αυτό και πρέπει να ελέγχουμε τη συμπεριφορά κάθε προγράμματος δοκιμάζοντας ποικίλες τιμές των δεδομένων εισόδου. ΠΑΡΑΤΗΡΗΣΗ 2: Στο block εντολών το 2 ου «else if», καθώς και του else, υπάρχει ένα ακόμη if, αφού κάθε εντολή του block μπορεί να είναι οποιαδήποτε εντολή της C, άρα και μια if. Αυτό ονομάζεται εμφωλιασμένο (nested) if αλλά ακολουθεί κανονικά τον τρόπο σύνταξης if, σύμφωνα με τα παραπάνω.

17 ΕΡΓΑΣΤΗΡΙΑΚΕΣ AΣKHΣΕΙΣ ΑΣΚΗΣΗ 4.1. Να γραφεί πρόγραμμα σε C που θα διαβάζει τρεις ακεραίους αριθμούς και θα βρίσκει και θα εμφανίζει τον μεγαλύτερο από αυτούς. 17 ΑΣΚΗΣΗ 4.2. Να γραφεί πρόγραμμα σε C που θα διαβάζει ένα αριθμό από το πληκτρολόγιο και θα απαντά σε μία πρόταση: Α) Αν είναι θετικός ή αρνητικός ή μηδέν Β) Εάν είναι ακέραιος ή όχι, και, εάν είναι, θα απαντά αν είναι άρτιος (even) ή περιττός (odd). Υπόδειξη: Υλοποιήστε πρώτα το μέρος (Α) και εφόσον λειτουργεί σωστά, προχωρήστε στο (Β). Παράδειγμα αλληλεπίδρασης προγράμματος με το χρήστη: Enter a number: -23 The number -23 is a negative integer and it is odd. ΑΣΚΗΣΗ 4.3. Να γραφεί πρόγραμμα σε C που θα βρίσκει αν ένας ακέραιος αριθμός που θα εισαχθεί από το χρήστη είναι περιττός διψήφιος και διαιρείται ακριβώς με το 11 ή το 7 αλλά όχι με το 5 ή το 9. Για να ελέγξετε την ορθή λειτουργία του προγράμματος εισάγετε τα παρακάτω παραδείγματα ελέγχου: 7, 70, 55: δεν ισχύει η συνθήκη. 33, 21: Ισχύει.

18 18 1. Βρόχοι με while, do-while και for 2. Μετρητής, Αθροιστής, Πολλαπλασιαστής 3. Οι εντολές ελέγχου break, continue και goto 5.1. Βρόχοι (Loops) Ενότητα 5. Δομές Επανάληψης Όταν θέλουμε να επαναληφθεί μια ομάδα εντολών πολλές φορές, τη βάζουμε μέσα σε ένα βρόχο επανάληψης. Το αν θα (ξανα)επαναληφθεί η εκτέλεση της ομάδας εντολών καθορίζεται από το αν ισχύει μια συγκεκριμένη συνθήκη. Στη C υπάρχουν τρεις τύποι βρόχων: (Α) while, (Β) do while, και (Γ) for. Ακολουθεί η σύνταξη για κάθε μια: while (συνθήκη) ακολουθία_εντολών Αν ισχύει η συνθήκη, θα εκτελεστεί η ακολουθία_εντολών και για όσο ισχύει η συνθήκη, θα ξαναεκτελείται η ακολουθία_εντολών. Αν η συνθήκη αρχικά είναι ψευδής, η ακολουθία_εντολών δεν θα τρέξει καθόλου. do ακολουθία_εντολών while (συνθήκη); Εκτελείται η ακολουθία_εντολών και αν και για όσο ισχύει η συνθήκη, θα ξαναεκτελείται η ακολουθία_εντολών. Δηλαδή η ακολουθία_εντολών θα εκτελεστεί τουλάχιστον μια φορά. for (ανάθεση_αρχικοποίηση ; συνθήκη ; ανάθεση_μεταβολή) ακολουθία_εντολών Εκτελείται μία μόνο φορά η ανάθεση_αρχικοποίηση (συνήθως δίνει αρχική τιμή σε μια μεταβλητή που λέγεται μεταβλητή ελέγχου). Στη συνέχεια, αν ισχύει η συνθήκη, θα εκτελεστεί η ακολουθία_εντολών και μετά η ανάθεση_μεταβολή, η οποία συνήθως αυξάνει ή μειώνει τη μεταβλητή ελέγχου κατά ένα σταθερό "βήμα". για όσο ισχύει η συνθήκη, θα ξαναεκτελείται η ακολουθία_εντολών και ακολούθως η ανάθεση_μεταβολή. ΠΑΡΑΤΗΡΗΣΕΙΣ: Όπως και στην περίπτωση της if, αν η ακολουθία εντολών είναι μόνο μια εντολή, τα άγκιστρα είναι προαιρετικά. Η παρένθεση είναι υποχρεωτική. Προσοχή στο ';' της do while ( ) ; H for και η while δεν τελειώνουν με ';' Ο βρόχος for χρησιμοποιείται συνήθως όταν το πρόγραμμα γνωρίζει από πριν πόσες φορές θα εκτελεστεί το μπλοκ εντολών. Απλό παράδειγμα: for (i=10 ; i<100 ; i++) printf( %d\t, i); Εκτυπώνει όλους τους διψήφιους θετικούς ακεραίους.ο βρόχος for λειτουργεί καλά όπου ο αριθμός των επαναλήψεων είναι γνωστός πριν την είσοδο στο βρόχο. Η κεφαλή του βρόχου αποτελείται από τρία μέρη χωρισμένα με ερωτηματικό. 1. Το πρώτο εκτελείται πριν την είσοδο στο βρόχο. Συνήθως δίνει μια αρχική τιμή σε μια μεταβλητή. 2. Το δεύτερο είναι μια συνθήκη. Ο βρόχος τρέχει για όσο η συνθήκη ικανοποιείται (είναι αληθής). Συνήθως η συνθήκη ελέγχει αν η τιμή της μεταβλητής του (1) βρίσκεται στο επιθυμητό διάστημα. 3. Το τρίτο είναι μια εντολή, η οποία τρέχει κάθε φορά που τελειώνει το σώμα των εντολών του βρόχου. Συνήθως είναι μια εντολή μεταβολής της μεταβλητής (π.χ. i++ ή j = j 2, κλπ.).

19 19 Καθένα από τα 3 αυτά μέρη-εντολές στην κεφαλή του βρόχου for συνήθως κάνει ένα πράγμα, ωστόσο μπορεί να είναι και κενό. Π.χ. κενή τρίτη εντολή σημαίνει ότι δεν υπάρχει μεταβολή του μετρητή. Αυτό προκαλεί την επ' άπειρο εκτέλεση του βρόχου, εκτός αν διακοπεί με κάποιο άλλο τρόπο, π.χ. με μια εντολή break. Είναι επίσης δυνατό να στριμώξουμε πολλές μεταβλητές μαζί στην πρώτη ή στην τρίτη θέση, χωρίζοντάς τες με κόμμα. Αυτό επιτρέπει στο βρόχο να ελέγχει περισσότερες από μία μεταβλητές. Στο παρακάτω παράδειγμα φαίνεται ο ορισμός ενός τέτοιου βρόχου, με τις μεταβλητές hi και lo να ξεκινούν από το 100 και το 0 αντιστοίχως και να τείνουν στο ίδιο σημείο. for (hi = 100, lo = 0; hi >= lo; hi--, lo++) Ο βρόχος for είναι εξαιρετικά ελαστικός και επιτρέπει πολλούς τύπους συμπεριφοράς του προγράμματος να καθορίζονται με απλό και γρήγορο τρόπο Στο παράδειγμα υπολογίζεται η τιμή της σειράς λαμβάνοντας υπόψη τους ΜΑΧ πρώτους όρους, όπου του ΜΑΧ έχει οριστεί ως σταθερά. Σε κάθε επανάληψη, εκτελείται το σώμα εντολών του βρόχου: υπολογίζεται ο παρονομαστής του τρέχοντος κλάσματος, υπολογίζεται το νέο άθροισμα, και εκτυπώνονται σε μια γραμμή, μαζί με τον αύξοντα αριθμό της επανάληψης, ώστε ο χρήστης να έχει εικόνα για την εξέλιξη της εκτέλεσης του προγράμματος. ΠΑΡΑΔΕΙΓΜΑ: for( ; ; ) long unsigned int paronomastis=1, i, MAX=20; double athroisma = 0; for (i=1;i<=max;i++) paronomastis=paronomastis*2; athroisma = athroisma + 1./paronomastis; printf("%2i. 1/%12d --> %.16f\n", i,paronomastis, athroisma); printf("to athroisma einai %.16f.\n", athroisma); for, while ή do-while? 5.2 Ένα παράδειγμα με χρήση μετρητή, αθροιστή, πολλαπλασιαστή ΠΑΡΑΔΕΙΓΜΑ 1: Να υλοποιηθεί πρόγραμμα σε C στο οποίο ο χρήστης να εισάγει πραγματικούς αριθμούς και το πρόγραμμα να βρίσκει το άθροισμα, το γινόμενο και το πλήθος των αριθμών αυτών. Η εισαγωγή αριθμών θα σταματήσει όταν ο χρήστης θα δώσει 0 ή 1, οπότε το πρόγραμμα θα εκτυπώσει τα αποτελέσματα και θα τερματίσει. (Δηλ. το 0 ή το 1 που θα δώσει για τον τερματισμό να μη ληφθούν υπόψη στο άθροισμα, το γινόμενο και την καταμέτρηση). Τρόπος Σκέψης: Για τη μέτρηση των αριθμών θα χρησιμοποιήσουμε μετρητή, δηλ μια μεταβλητή που θα αρχικοποιείται με μηδενική τιμή και κάθε φορά που θα εισάγεται ένας έγκυρος αριθμός, ο μετρητής θα αυξάνει κατά ένα. Παρομοίως, για το άθροισμα θα χρησιμοποιήσουμε αθροιστή, δηλ μια μεταβλητή που θα αρχικοποιείται με μηδενική τιμή και κάθε φορά που θα εισάγεται ένας έγκυρος αριθμός ο αριθμός αυτός θα προστίθεται στον αθροιστή. Παρόμοια, για το γινόμενο θα χρησιμοποιήσουμε πολλαπλασιαστή, δηλ. μια μεταβλητή που θα αρχικοποιείται στη μονάδα και κάθε φορά που θα εισάγεται ένας έγκυρος αριθμός ο αριθμός αυτός θα πολλαπλασιάζεται με τον πολλαπλασιαστή και το αποτέλεσμα θα αποθηκεύεται στον πολλαπλασιαστή.

20 Για τον τύπο του βρόχου σκεφτόμαστε ως εξής: Το πρόγραμμα γνωρίζει τον αριθμό των επαναλήψεων πριν μπει στο βρόχο; Όχι, γιατί είναι επιλογή του χρήστη της στιγμής. Άρα δεν χρησιμοποιούμε for. Είναι σίγουρο ότι θα γίνουν υπολογισμοί έστω και μια φορά; Όχι διότι μπορεί να δώσει από την αρχή 0 ή 1, οπότε δεν πρέπει να γίνουν οι 3 πράξεις ούτε μια φορά. Άρα θα χρησιμοποιήσουμε while do, δηλ. για όσο ο χρήστης δεν δίνει 0 ούτε δίνει 1, να εκτελούνται οι 3 πράξεις: #include <stdio.h> #include <stdlib.h> int main() float ginomeno=1, sum=0, a=-1; int count = 0; printf("enter numbers to calculate their sum and their product. ", "Enter 0 or 1 to stop:\n"); printf("enter a number: "); scanf("%f",&a); while (a!=1 && a!=0) count++; sum = sum + a; ginomeno = ginomeno * a; printf("enter a number: "); scanf("%f",&a); printf("to plithos einai %d.\n", count); printf("to athroisma einai %f.\n", sum); printf("to ginomeno einai %f.\n", ginomeno); system("pause"); return 0; Το μειονέκτημα είναι ότι έχουμε επανάληψη του ζεύγους printf-scanf. Ας δούμε τι θα γίνει αν το υλοποιήσουμε με do - while. Για να μη γίνουν οι πράξεις στην περίπτωση του 1 ή 0, πρέπει να βάλουμε if και να επαναλάβουμε τη συνθήκη: #include <stdio.h> #include <stdlib.h> int main() float ginomeno=1, sum=0, a=-1; int count = 0; printf("enter numbers to calculate their sum and their product. ", "Enter 0 or 1 to stop:\n"); do printf("enter a number: "); scanf("%f",&a); if(a!=1 && a!=0) count++; sum = sum + a; ginomeno = ginomeno * a; while (a!=1 && a!=0); printf("to plithos einai %d.\n", count); printf("to athroisma einai %f.\n", sum); 20

21 21 printf("to ginomeno einai %f.\n", ginomeno); system("pause"); return 0; Και οι 2 τρόποι δίνουν σωστό αποτέλεσμα σε κάθε περίπτωση, άρα θεωρούνται εξίσου σωστές λύσεις Η εντολή break Η εντολή break; χρησιμοποιείται για έξοδο από ένα βρόχο. Όταν εκτελεστεί μια break με τον έλεγχο να περνά στην πρώτη εντολή μετά το βρόχο. Με τους βρόχους, η break μπορεί να χρησιμοποιηθεί ώστε να επιβάλει πρόωρη έξοδο από το βρόχο ή για την υλοποίηση ενός βρόχου με μια συνθήκη εξόδου στη μέση του βρόχου. Μια break σε ένα βρόχο συνήθως βρίσκεται μέσα σε μια εντολή if που παρέχει τη συνθήκη για την προαιρετική έξοδο. Δείτε μια πιο οικονομική λύση του Παραδείγματος 1 με τη χρήση της break: #include <stdio.h> #include <stdlib.h> int main() float ginomeno=1, sum=0, a=-1; int count = 0; printf("enter numbers to calculate their sum and their product. ", "Enter 0 or 1 to stop:\n"); do printf("enter a number: "); scanf("%f",&a); if(a==1 a==0) break; count++; sum = sum + a; ginomeno = ginomeno * a; while (a!=1 && a!=0); printf("to plithos einai %d.\n", count); printf("to athroisma einai %f.\n", sum); printf("to ginomeno einai %f.\n", ginomeno); system("pause"); return 0; Η εντολή continue Λειτουργεί μόνο μέσα σε βρόχους. Αν εκτελεστεί μια continue; οι υπόλοιπες εντολές μέχρι το τέλος του βρόχου δεν εκτελούνται αλλά ξεκινάει η επόμενη επανάληψη του βρόχου. Οπως και η break, έτσι και η continue συνήθως βρίσκεται μέσα σε μια εντολή if που παρέχει τη συνθήκη, η οποία, αν είναι αληθής, οι υπόλοιπες εντολές του βρόχου δεν θα εκτελεστούν Η εντολή goto Η C διαθέτει και την εντολή goto η οποία επιτρέπει άλματα προς οποιαδήποτε εντολή, (της οποίας προηγείται μια ετικέττα και άνω κάτω τελεία). Αν χρησιμοποιείται αλόγιστα, καταστρέφει την δόμηση του κώδικα. («Ο δομημένος κώδικας απαρτίζεται από κατασκευές που κάθε μία έχει μια είσοδο και μια έξοδο και συνδέονται ακολουθιακά.»). Δεν θα τη χρειαστούμε. Μπορεί όμως να «βολέψει» σε «βαθιά» εμφωλευμένο βρόχο όπου θέλουμε να βγούμε έξω από τον πιο εξωτερικό βρόχο αν συμβεί μια ειδική συνθήκη, καθώς η break μάς

22 22 βγάζει μόνο από τον βρόχο στον οποίο βρισκόμαστε. Π.χ.: for( ; ; ) for( ; ; ).. if ( ) goto out1; out1: printf( got outside the loop\n ); Άσκηση 5.1. ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ Το πρόγραμμα να ζητά από το χρήστη κάποιους αριθμούς (Το πλήθος των αριθμών αυτών θα έχει ζητηθεί και δοθεί προηγουμένως από το χρήστη), των οποίων θα υπολογίζει στη συνέχεια και θα εκτυπώνει το άθροισμα, το γινόμενο, τον μέγιστο, τον ελάχιστο και το μέσο όρο τους, καθώς και το πλήθος των αρνητικών αριθμών. Ασκηση Να υπολογιστεί ο π ως άθροισμα της σειράς Να χρησιμοποιηθούν: (Α) Οι Ν πρώτοι όροι (το Ν να ορίζεται με #define), όπου Ν=100. (Β) Όσοι όροι χρειάζεται ώστε η διαφορά του τελευταίου από τον προ-προηγούμενο να είναι μικρότερη του Για κάθε νέο όρο να εκτυπώνεται ο αύξων αριθμός του, η τιμή του, καθώς και η τρέχουσα εκτίμηση του π σε μια γραμμή. Ασκηση 5.3. Να γραφεί πρόγραμμα σε C που να υπολογίζει το παραγοντικό ενός ακεραίου αριθμού τον οποίο θα δίνει ο χρήστης από το πληκτρολόγιο.

23 ΕΠΔΟ ΤΕΙ Μεσολογγίου - Προγραμματισμός Η/Υ Ι (Ε) Ενότητα 8. Οι Δομές στη C 23 Ενότητα 6. Πίνακες (Arrays) Με τους πίνακες δεσμεύουμε ταυτόχρονα πολλές θέσεις στη μνήμη είναι σαν να δηλώνουμε πολλές μεταβλητές με μία δήλωση. Άρα όλα τα στοιχεία του πίνακα είναι του ίδιου τύπου. Η προσπέλαση στα στοιχεία αυτά, δηλ, η εγγραφή ή ανάγνωση του περιεχομένου μιας τέτοιας θέσης γίνεται μέσω μιας μεταβλητής (που φέρει το όνομα του πίνακα) με τον αριθμό θέσης του στοιχείου να μπαίνει μέσα σε αγκύλες [ ]. Οι αριθμοί θέσης δείχνουν δηλαδή τις συντεταγμένες του στοιχείου, με μια σημαντική διαφορά σε σχέση με τον αντίστοιχο συμβολισμό της γραμμικής άλγεβρας: ΠΡΟΣΟΧΗ: Στη C το πρώτο στοιχείο, η πρώτη γραμμή, στήλη, κλπ. φέρει τον αριθμό θέσης 0, το 2ο το αριθμό θέσης 1 και το n-οστό στοιχείο τον αριθμό θέσης n-1. Αν ο πίνακας είναι μονοδιάστατος, προφανώς ο αριθμός θέσης είναι ένας, αν είναι διδιάστατος έχει 2 αριθμούς θέσης, καθένας μέσα στις δικές του αγκύλες, κλπ 6.1 Μονοδιάστατοι Πίνακες Παρακάτω δηλώνουμε ένα μονοδιάστατο πίνακα με όνομα grade, 5 θέσεων που περιέχει 5 πραγματικούς αριθμούς: float grade [5]; Χρησιμεύουν για να αναπαραστήσουμε ένα σύνολο ομοειδών τιμών, π.χ. βαθμοί ενός μαθητή, θερμοκρασίες μιας πόλης στο χρόνο, κλπ Ταυτόχρονα με τη δήλωση μπορούμε προαιρετικά και να αρχικοποιήσουμε τον πίνακα, π.χ. ως εξής: float grade[5] = 10, 8, 12.5, 15.5, 14; Στην παρακάτω εικόνα φαίνεται σχηματικά ο τρόπος προσπέλασης των στοιχείων του πίνακα. Δήλωση μονοδιάστατου πίνακα: float grade[5] grade grade[0] grade[1] grade[2] grade[3] grade[4] Τα στοιχεία του πίνακα τα χρησιμοποιούμε όπως ακριβώς θα χρησιμοποιούσαμε οποιαδήποτε μεταβλητή, π.χ. int x, y; int j = 1 ; x = grade[3]*2; y= (grade[i]+10)/5; grade[3] = 14; grade[j] = grade[j+1] + 10; Για να διατρέξουμε όλα τα στοιχεία ενός πίνακα μπορούμε να χρησιμοποιήσουμε μία επανάληψη με for( ; ; ) η οποία κάθε φορά θα προσπελαύνει διαφορετικό στοιχείο.

24 ΕΠΔΟ ΤΕΙ Μεσολογγίου - Προγραμματισμός Η/Υ Ι (Ε) Ενότητα 8. Οι Δομές στη C 24 ΠΑΡΑΔΕΙΓΜΑ 1 Το παρακάτω πρόγραμμα θέτει στα 20 στοιχεία του πίνακα ακεραίων zero μηδενικές τιμές, ενώ στα 20 στοιχεία του πίνακα ακεραίων matr θέτει διαδοχικές τιμές, αρχίζοντας από το 100. Στη συνέχεια εκτυπώνει τον κάθε πίνακα σε μια γραμμή: #include <stdio.h> int main () int matr[20], zero[20]; int i, k=100; for (i=0; i<20; i++) zero[i] = 0; matr[i] = k++; printf("matr="); for (i=0; i<20; i++) printf ("%d ", matr[i]); printf("\nzero="); for (i=0; i<20; i++) printf ("%d ", zero[i]); printf("\n"); system("pause"); return 0; Στο επόμενο παράδειγμα, ο χρήστης εισάγει τα στοιχεία ενός πίνακα ακεραίων 10 θέσεων. Έπειτα εμφανίζει: Α. Τα στοιχεία του πίνακα που βρίσκονται στις περιττές (μονές) θέσεις του πίνακα. Β. Τα στοιχεία του πίνακα που έχουν περιττή τιμή. #include <stdio.h> #include <stdlib.h> int main() int i,a[10]; printf ("dose 10 akeraious arithmous pou tha mpoun se pinaka:\n"); for (i=0;i<10;i++) printf ("dose ton %do arithmo: a[%d]= ",i+1,i); scanf("%d", &a[i]); printf ("\nmones theseis:\n"); for (i=0;i<10;i++) if (i%2==1) printf ("a[%d]=%d\n",i,a[i]); printf ("\nmona stoixeia:\n"); for (i=0;i<10;i++) if (a[i]%2==1) printf ("a[%d]=%d\n",i,a[i]); system("pause"); return 0;

25 ΕΠΔΟ ΤΕΙ Μεσολογγίου - Προγραμματισμός Η/Υ Ι (Ε) Ενότητα 8. Οι Δομές στη C 25 ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ Άσκηση 6.1. Σε πίνακα ακεραίων 10 θέσεων το πρόγραμμα να βρίσκει: 1. πόσες φορές ξαναεμφανίζεται το 1ο στοιχείο του πίνακα. 2. ποιο είναι το μεγαλύτερο στοιχείο του πινακα. 3. πόσες φορές έχουμε σε γειτονικές θέσεις του πίνακα διαδοχικούς αριθμούς. 4. πόσους περιττους αριθμούς έχει ο πίνακας. Άσκηση 6.2. Να δημιουργηθούν 3 πίνακες ακεραίων 10 θέσεων ο καθένας. Ο 1ος θα γεμίζει αυτόματα με τους αριθμούς 1,2,3, Ο 2ος θα γεμίζει με αριθμούς που θα δίνει ο χρήστης με κατάλληλες προτροπές: ΕΙΣΑΓΩΓΗ ΣΤΟΙΧΕΙΩΝ 2 ου ΠΙΝΑΚΑ: Δώσε το 1ο στοιχείο: 5 Δώσε το 2ο στοιχείο: Δώσε το 10ο στοιχείο: -3 Ο 3ος πίνακας θα είναι το άθροισμα του 1ου και του 2ου. Μετά τη δημιουργία κάθε πίνακα, αυτός να εκτυπώνεται σε μία γραμμή, π.χ.: ΕΚΤΥΠΩΣΗ 1ου ΠΙΝΑΚΑ: Άσκηση 6.3. Ο χρήστης θα δώσει κάποιους πραγματικούς αριθμούς οι οποίοι θα τοποθετηθούν με τη σειρά στις πρώτες θέσεις ενός μονοδιάστατου πίνακα 100 θέσεων. Πριν δώσει τους αριθμούς το πρόγραμμα θα τον ρωτά για το πλήθος των αριθμών που πρόκειται να δώσει. Το πλήθος αυτό δεν μπορεί να υπερβαίνει το 100 (να δηλωθεί στην αρχή του προγράμματος με #define ως MAX). Ακολούθως το πρόγραμμα: Α) Θα εκτυπώνει τον πίνακα με αντίστροφη σειρά. Κάθε στοιχείο θα καταλαμβάνει μια γραμμή στην οθόνη και θα εμφανίζεται με συνολικά 10 ψηφία εκ των οποίων 2 δεκαδικά, στη μορφή: position 6: position 5: position 0: B) θα υπολογίζει τη μέση τιμή και τη διασπορά των στοιχείων του πίνακα. H διασπορά υπολογίζεται ως η μέση τιμή του (x i -M) 2, όπου Μ η μέση τιμή της μεταβλητής x i.

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

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

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

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

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

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 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) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

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

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

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

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

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

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Δημιουργία Νέου αρχείου Από το μενού προγραμμάτων ανοίγετε το DEV C++ Επιλέγετε File-> New-> Source File (συντόμευση πληκτρολογίου Ctrl+N)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα Η ΓΛΩΣΣΑ C Η C είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου η οποία αναπτύχθηκε στις αρχές της δεκαετίας του 70 από τον Dennis Ritchie στα Bell Labs. Η σημερινή μορφή της γλώσσας ακολουθεί το πρότυπο

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

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

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

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

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

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

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

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 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

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

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράµµατα πρέπει να πάρουµε κάποια δεδοµένα και να δώσουµε

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

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

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης Γλώσσες Προγραμματισμού Εργαστήριο 2ο Τύποι Δεδομένων - Είσοδος / Έξοδος Εργαστήριο 2ο Περίγραμμα Εργαστηριακής Άσκησης Εργαστήριο 2ο...1 Θεωρία εργαστηρίου...2 Τύποι δεδομένων...2 Η συνάρτηση printf()...3

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

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δρ. Κόννης Γιώργος Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής Προγραμματισμός Στόχοι 1 Να περιγράψουμε τις έννοιες του Υπολογιστικού Προβλήματος και του Προγράμματος/Αλγορίθμου

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

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού Μάθημα 2ο Aντώνης Σπυρόπουλος v2_061015 Οροι που

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

Βήματα: μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων. Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα

Βήματα: μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων. Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα Απλά Προγράμματα Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα Οι Βασικοί κανόνες Κατανόηση

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

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

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

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

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

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

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

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

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

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

Τα δεδομένα στη C++ χωρίζονται σε 3 κατηγορίες: τους αριθμούς (numbers), τους χαρακτήρες (characters) και τις συμβολοσειρές (strings).

Τα δεδομένα στη C++ χωρίζονται σε 3 κατηγορίες: τους αριθμούς (numbers), τους χαρακτήρες (characters) και τις συμβολοσειρές (strings). Για να λύσουμε ένα πρόβλημα στη C++ χρειαζόμαστε δυο βασικές έννοιες. Η μια είναι οι οδηγίες εντολές, ο αλγόριθμος δηλαδή, που πρέπει να ακολουθήσουμε για να λύσουμε το πρόβλημά μας και η άλλη είναι τα

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

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

Η Γλώσσα Προγραμματισμού C (Μέρος 2 - Οι Bασικές Εντολές της C) Οι Βασικοί Τελεστές της C

Η Γλώσσα Προγραμματισμού C (Μέρος 2 - Οι Bασικές Εντολές της C) Οι Βασικοί Τελεστές της C Η Γλώσσα Προγραμματισμού C (Μέρος 2 - Οι Bασικές Εντολές της C) Οι Βασικοί Τελεστές της C Η C, όπως όλες οι γλώσσες προγραμμστισμού, χρησιμοποιεί τελεστές για να εκτελέσει τις αριθμητικές λειτουργίες.

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

Κεφάλαιο 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 (); Πρότυπο ( ήλωση) Συνάρτησης (

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

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

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

Εκτέλεση της εντολής1 και στη συνέχεια εκτέλεση της ΕΝΟΤΗΤΑΣ και της εντολής2 όσο η ΣΥΝΘΗΚΗ είναι αληθής.

Εκτέλεση της εντολής1 και στη συνέχεια εκτέλεση της ΕΝΟΤΗΤΑΣ και της εντολής2 όσο η ΣΥΝΘΗΚΗ είναι αληθής. ΟΙ 3 ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΔΟΜΕΣ ΣΤΗΝ ΓΛΩΣΣΑ C Η εντολή for: Η γενικευμένη σύνταξη της εντολής είναι: for (εντολή1; ; εντολή2) ΕΝΟΤΗΤΑ Η ΕΝΟΤΗΤΑ μπορεί να είναι μία ή περισσότερες εντολές (block) μέσα

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

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

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

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

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

Λογικό και (AND) μας επιστρέφει 1 αν και οι δύο operands είναι όχι μηδέν, διαφορετικά 0) 0ι Λογικοί Τελεστές: Πρόκειται για τελεστές που μας επιτρέπουν να συνδυάσουμε απλές εκφράσεις συσχετισμού και να δημιουργήσουμε πιό πολύπλοκες λογικές εκφράσεις. Εχουμε λοιπόν: && Λογικό "και" (AND) μας

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

ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση:

ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση: ΠΡΟΓΡΜΜΑΤΑ ΣΕ C Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση: int b_to_d(int dyad[16]) που δέχεται ως είσοδο έναν θετικό ακέραιο δυαδικό αριθμό με τη μορφή πίνακα δυαδικών ψηφίων και επιστρέφει τον

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

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή Στο εργαστήριο αυτό θα μάθουμε για τη χρήση συναρτήσεων με σκοπό την κατασκευή αυτόνομων τμημάτων προγραμμάτων που υλοποιούν μία συγκεκριμένη διαδικασία, τα οποία

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

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013 Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013 27 Μαρτίου 2013 Περίληψη Σκοπός της παρούσας εργασίας είναι η εξοικείωσή σας με τις θεμελιώδεις θεωρητικές και πρακτικές πτυχές

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

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

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

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

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να αναπτύξουν ένα πρόγραμμα όπου θα επαναλάβουν τα βήματα ανάπτυξης μιας παραθυρικής εφαρμογής.

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

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

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

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

Κεφάλαιο 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 (++, --,...) και σύνθετοι τελεστές

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

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Οργάνωση Προγράµµατος Header Files Μετάφραση και σύνδεση αρχείων προγράµµατος ΕΠΛ 132 Αρχές Προγραµµατισµού

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

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

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

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

Κεφάλαιο 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;

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

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο Τετάρτη, 30 Οκτωβρίου 2013 Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο Λύστε στο Visual Basic Express 2010 τις παρακάτω ασκήσεις: 1. Να δημιουργήσετε ένα νέο Project του είδους Console

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

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

Κεφάλαιο 5ο: Εντολές Επανάληψης Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 5ο: Εντολές Επανάληψης Η διαδικασία της επανάληψης είναι ιδιαίτερη συχνή, αφού πλήθος προβληµάτων µπορούν να επιλυθούν µε κατάλληλες

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

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

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

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

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

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

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

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888 ΕΡΩΤΗΣΕΙΣ 1. Να αναφέρετε μερικά από τα ιδιαίτερα χαρακτηριστικά της Pascal. 2. Ποιο είναι το αλφάβητο της Pascal; 3. Ποια είναι τα ονόματα-ταυτότητες και σε τι χρησιμεύουν; 4. Σε τι χρησιμεύει το συντακτικό

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

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

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

Πληρουορική Γ Γσμμασίοσ

Πληρουορική Γ Γσμμασίοσ Πληρουορική Γ Γσμμασίοσ Προγραμματισμός και Αλγόριθμοι Από το και τημ Χελώμα στημ Ευριπίδης Βραχνός http://evripides.mysch.gr/ 2014 2015 1 Προγραμματισμός Ζάννειο Πρότυπο Πειραματικό Γυμνάσιο Πειραιά Ενότητα:

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

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

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

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

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 1) Πότε χρησιμοποιείται η δομή επανάληψης

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

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

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

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

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

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Nα κατασκευάσουν πίνακες από δεδομένα. Να κατασκευάσουν συναρτήσεις με πίνακες. Να κάνουν χρήση

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

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη Επιλογή και επανάληψη Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως, ότι στο

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

1.5 ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ μικρόκοσμου «Προγραμματισμός Η/Υ»

1.5 ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ μικρόκοσμου «Προγραμματισμός Η/Υ» 1.5 ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ μικρόκοσμου «Προγραμματισμός Η/Υ» 1. Πήγαινε στο μενού Αρχείο και επίλεξε Άνοιγμα. Άνοιξε το αρχείο sample.x. Ανοίγουν δυο παράθυρα. Παρατήρησε τα ονόματα τους: Πηγαίος κώδικας... και

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

Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών

Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών TINΑ ΒΡΕΝΤΖΟΥ www.ma8eno.gr www.ma8eno.gr Σελίδα 1 Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών Στους πραγματικούς αριθμούς ορίστηκαν οι

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΙΑΔΙΚΑΣΤΙΚΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ (2009-2010) ΥΠΕΥΘΥΝΟΙ ΔΙΔΑΣΚΟΝΤΕΣ ΕΡΓΑΣΤΗΡΙΟΥ: Α. ΦΩΚΑ, K. ΣΤΑΜΟΣ

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

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

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

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

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2 Εισαγωγή στην C Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Σύνταξη και Σηµασιολογία της C Σχολιασµός Μεταβλητές / Σταθερές Τύποι εδοµένων και Τελεστές Βιβλίο µαθήµατος: Chapter 2,, Sec.

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕ ΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραµµατισµού C ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή στην C Βασικά στοιχεία 24 Απριλίου 2015 Το σηµερινό

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

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

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

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

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:01 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++ Email: liliadis@fmenr.duth.gr 1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++ Τα προγράµµατα αποτελούνται από εντολές οι οποίες γράφονται σε έναν απλό επεξεργαστή που προσφέρει και το Περιβάλλον της Visual C++. Οι εντολές

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι 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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C Ιανουάριος 2013 Τι είναι ένα πρόγραμμα; Πρόγραμμα είναι μία σειρά από οδηγίες που δίνουμε στον υπολογιστή προκειμένου αυτός να κάνει κάποια συγκεκριμένη εργασία Πώς

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

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 (Α) Σημειώστε δίπλα σε κάθε πρόταση «Σ» ή «Λ» εφόσον είναι σωστή ή λανθασμένη αντίστοιχα. 1. Τα συντακτικά λάθη ενός προγράμματος

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

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

2 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C Δημοκρίτειο Πανεπιστήμιο Θράκης Πολυτεχνική Σχολή Τμήμα Μηχανικών Παραγωγής & Διοίκησης Ακαδ. έτος 2015-2016 Τομέας Συστημάτων Παραγωγής Εξάμηνο A Αναπληρωτής Καθηγητής Στέφανος Δ. Κατσαβούνης 20 ΟΚΤ 2015

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Βιβλιογραφία "C Προγραμματισμός", Deitel & Deitel, Πέμπτη Έκδοση, Εκδόσεις

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

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο Στο φετινό εργαστήριο του μαθήματος, έχετε τη δυνατότητα να δουλέψετε σε 2 περιβάλλοντα. Ένα σε περιβάλλον UNIX μέσω απομακρυσμένης σύνδεσης σε

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

Προγραμματισμός Ι. Προεπεξεργαστής. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Προεπεξεργαστής. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προεπεξεργαστής Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαδικασία Μεταγλώττισης πρόγραµµα επεξεργασίας κειµένου if a

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

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Αλγόριθμοι και Προγράμματα

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

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

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

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

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

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

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / Γ ΛΥΚΕΙΟΥ-ΘΕΡΙΝΑ ΣΕΙΡΑ: 1 η ΗΜΕΡΟΜΗΝΙΑ: 09/09/2012

ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / Γ ΛΥΚΕΙΟΥ-ΘΕΡΙΝΑ ΣΕΙΡΑ: 1 η ΗΜΕΡΟΜΗΝΙΑ: 09/09/2012 ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / Γ ΛΥΚΕΙΟΥ-ΘΕΡΙΝΑ ΣΕΙΡΑ: 1 η ΗΜΕΡΟΜΗΝΙΑ: 09/09/2012 ΘΕΜΑ Α Α1. Δίνονται τα παρακάτω τμήματα αλγορίθμου σε φυσική γλώσσα. 1. Αν το ποσό των αγορών(ποσο_αγορων) ενός πελάτη είναι μεγαλύτερο

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

C: Από τη Θεωρία στην Εφαρμογή

C: Από τη Θεωρία στην Εφαρμογή Δρ. Γ. Σ. Τσελίκης Δρ. Ν. Δ. Τσελίκας C: Από τη Θεωρία στην Εφαρμογή Ενδεικτικές Ασκήσεις από το Βιβλίο C: Από τη Θεωρία στην Εφαρμογή (Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας) Ενδεικτικές Ασκήσεις του Βιβλίου Ε.Α.1

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

Παράδειγμα 2. Λύση & Επεξηγήσεις. Τέλος_επανάληψης Εμφάνισε "Ναι" Τέλος Α2

Παράδειγμα 2. Λύση & Επεξηγήσεις. Τέλος_επανάληψης Εμφάνισε Ναι Τέλος Α2 Διδακτική πρόταση ΕΝΟΤΗΤΑ 2η, Θέματα Θεωρητικής Επιστήμης των Υπολογιστών Κεφάλαιο 2.2. Παράγραφος 2.2.7.4 Εντολές Όσο επανάλαβε και Μέχρις_ότου Η διαπραγμάτευση των εντολών επανάληψης είναι σημαντικό

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

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προχωρημένα Θέματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανακατεύθυνση Εισόδου/Εξόδου Συνήθως η τυπική είσοδος ενός προγράμματος (stdin) προέρχεται

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

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Πληροφορική Ι Αναπαράσταση αριθμών στο δυαδικό σύστημα Δρ. Γκόγκος Χρήστος Δεκαδικό σύστημα αρίθμησης Ελληνικό - Ρωμαϊκό Σύστημα αρίθμησης

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

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ 1ΗΣ ΣΕΛΙΔΑΣ ΘΕΜΑ Α ΑΝΑΚΕΦΑΛΑΙΩΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ Γ' ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΕΜΠΤΗ 26 ΑΠΡΙΛΙΟΥ 2012 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ

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

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ Διάλεξη 2 Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 2 Internal

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 Επιμέλεια: Ομάδα Διαγωνισμάτων από το Στέκι των Πληροφορικών Θέμα Α A1. Να γράψετε στο τετράδιό σας τους

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No 05 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++ ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++ Α. ΠΡΙΝ ΤΗΝ ΕΓΚΑΤΑΣΤΑΣΗ Το πρόγραμμα BloodShed Dev-C++ είναι ένα ολοκληρωμένο περιβάλλον ανάπτυξης* κώδικα για γλώσσες

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

Εντολές της LOGO (MicroWorlds Pro)

Εντολές της LOGO (MicroWorlds Pro) Εντολές της LOGO (MicroWorlds Pro) Εντολές εμφάνισης (εξόδου) και αριθμητικές πράξεις δείξε Εμφανίζει στην οθόνη έναν αριθμό, το αποτέλεσμα πράξεων, μια λέξη ή μια λίστα (ομάδα) λέξεων. δείξε 200 200 δείξε

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

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Πως θα κατασκευάσω το πρώτο πρόγραμμα; Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να γίνει εξοικείωση το μαθητών με τον ΗΥ και το λειτουργικό σύστημα. - Επίδειξη του My Computer

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

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Η ΓΛΩΣΣΑ PASCAL ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Απλοί ή στοιχειώδης Τ.Δ. Ακέραιος τύπος Πραγματικός τύπος Λογικός τύπος Χαρακτήρας Σύνθετοι Τ.Δ. Αλφαριθμητικός 1. Ακέραιος (integer) Εύρος: -32768 έως 32767 Δήλωση

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

Διάλεξη 6: Δείκτες και Πίνακες

Διάλεξη 6: Δείκτες και Πίνακες Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 6: Δείκτες και Πίνακες (Κεφάλαιο 12, KNK-2ED) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 6-1 Περιεχόμενο

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

Αρχιτεκτονική Υπολογιστών Ι

Αρχιτεκτονική Υπολογιστών Ι Αρχιτεκτονική Υπολογιστών Ι ΥΠΟΔΕΙΞΕΙΣ ΓΙΑ ΤΗ ΛΥΣΗ ΤΩΝ ΕΡΓΑΣΤΗΡΙΑΚΩΝ ΑΣΚΗΣΕΩΝ Από το βιβλίο Αρχιτεκτονική Υπολογιστών & Προγραμματισμός Assembly (Συγγραφέας / Εκδότης : Παναγιώτης Παπάζογλου) Δρ. Παναγιώτης

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

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΙΛΟΓΗΣ 1) Ποιοι είναι οι τελεστές σύγκρισης και

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

Εισαγωγή στην επιστήμη των υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 3ο Αναπαράσταση Αριθμών www.di.uoa.gr/~organosi 1 Δεκαδικό και Δυαδικό Δεκαδικό σύστημα 2 3 Δεκαδικό και Δυαδικό Δυαδικό Σύστημα

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

Επανάληψη για τις Τελικές εξετάσεις

Επανάληψη για τις Τελικές εξετάσεις Επανάληψη για τις Τελικές εξετάσεις ( ιάλεξη 21) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Εισαγωγή Το µάθηµα EPL032 έχει ως βασικό στόχο την επίλυση προβληµάτων πληροφορικής µε την χρήση της γλώσσας προγραµµατισµού

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

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η 53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η ΠΑΓΚΡΑΤΙ: Φιλολάου & Εκφαντίδου 26 : 210/76.01.470 210/76.00.179 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς

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