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

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

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

Transcript

1 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C Ιανουάριος 2013

2 Τι είναι ένα πρόγραμμα; Πρόγραμμα είναι μία σειρά από οδηγίες που δίνουμε στον υπολογιστή προκειμένου αυτός να κάνει κάποια συγκεκριμένη εργασία Πώς λαμβάνει τις οδηγίες αυτές ο υπολογιστής; Κανονικά, επειδή ο υπολογιστής είναι ένα μηχάνημα δεν έχει δηλαδή έμφυτη ευφυΐα- για να μπορούμε να συνεννοηθούμε μαζί του θα έπρεπε να του μιλούσαμε απ ευθείας στην γλώσσα του. Η γλώσσα αυτή ονομάζεται γλώσσα μηχανής και όλες οι λέξεις της αποτελούνται από δύο και μόνο σύμβολα: το 0 και το 1. Αυτό συμβαίνει γιατί ο υπολογιστής αποτελείται από δισεκατομμύρια κυκλώματα μέσα από τα οποία είτε περνάει (1), είτε δεν περνάει ρεύμα (0). Έτσι για παράδειγμα εάν θέλαμε να του λέγαμε πρόσθεσε, θα έπρεπε να δίναμε την εντολή: Πράγματι, στους πρώτους υπολογιστές ο προγραμματισμός γινόταν με αυτόν τον τρόπο: εντολή προς εντολή οι προγραμματιστές έπρεπε να ανοίγουν και να κλείνουν εκατοντάδες κυκλώματα μέσω ειδικών διακοπτών και λυχνιών προκειμένου να καθοδηγήσουν το μηχάνημα. Σήμερα βέβαια τα πράγματα έχουν απλοποιηθεί σημαντικά. Αφενός δεν χρειάζεται εμείς να ανοίγουμε και να κλείνουμε κυκλώματα, αφετέρου οι γλώσσες που χρησιμοποιούμε για να επικοινωνήσουμε μαζί του έχουν αντικαταστήσει τις ατελείωτες αυτές σειρές από 0 και 1 με απλούστερα σύμβολα και με φράσεις-εντολές που πλησιάζουν πολύ την ανθρώπινη γλώσσα. Τι είναι μία γλώσσα προγραμματισμού; Το σύνολο αυτών των ειδικών συμβόλων και φράσεων-εντολών -οι οποίες πλησιάζουν αρκετά την δική μας γλώσσα- ονομάζεται γλώσσα προγραμματισμού. Σήμερα συναντούμε αρκετές τέτοιες γλώσσες προγραμματισμού, κάθε μία από τις οποίες εξειδικεύεται στην επίλυση συγκεκριμένων προβλημάτων. Τέτοιες γλώσσες είναι η BASIC, η FORTRAN, η PASCAL, η C αλλά και άλλες νεότερης γενιάς όπως η JAVA, η C++, η Visual Basic κ.α. Πώς ο υπολογιστής καταλαβαίνει μία γλώσσα προγραμματισμού; Όλες οι παραπάνω γλώσσες για να γίνουν τελικά οδηγίες για τον υπολογιστή, πρέπει οπωσδήποτε να μεταφραστούν στην γλώσσα που αυτός καταλαβαίνει, δηλαδή στην γλώσσα μηχανής. Αυτό γίνεται με την βοήθεια ενός ειδικού προγράμματος που είναι επιφορτισμένο με αυτήν και μόνο την δουλειά: να μεταφέρει δηλαδή εντολή προς εντολή και σύμβολο προς σύμβολο ό,τι εμείς γράψαμε με τη συγκεκριμένη γλώσσα προγραμματισμού στη γλώσσα μηχανής, σε σειρές τελικά από 0 και 1. Το πρόγραμμα αυτό ονομάζεται μεταγλωττιστής (compiler) ή σε άλλα περιβάλλοντα διερμηνέας (interpreter). Η χρησιμοποιεί ένα τέτοιο πρόγραμμα - μεταγλωττιστή (compiler). 2

3 Ποια είναι τα βήματα προγραμματισμού στην γλώσσα C ; Στην : 1. Γράφουμε αρχικά τις εντολές που θέλουμε να απαρτίσουν το πρόγραμμά μας με βάση τους κανόνες σύνταξης, τις εντολές και τα ειδικά σύμβολα που η γλώσσα C διαθέτει. Αυτό συνήθως γίνεται με την βοήθεια ενός επεξεργαστή κειμένου (text editor) ή ακόμη καλύτερα μέσω ενός ειδικού περιβάλλοντος ανάπτυξης κώδικα (SDK, Software Development Kit). Όταν ολοκληρώσουμε το πρόγραμμα το αποθηκεύουμε στο σκληρό δίσκο με την μορφή: οποιοδήποτε_όνομα.c. Το αρχείο αυτό -η κατάληξη του οποίου πρέπει να είναι πάντα σε.c 1 - αποτελεί τον πηγαίο κώδικα (source code), όπως συνηθίζουμε να λέμε, η μορφή δηλαδή εκείνη του προγράμματος που πλησιάζει στην δική μας γλώσσα παρά στη γλώσσα μηχανής. 2. Στη συνέχεια δίνουμε την εντολή μεταγλώττισης (compile), η οποία βρίσκεται συνήθως σε ένα από τα menu του περιβάλλοντος ανάπτυξης, προκειμένου ο πηγαίος κώδικας να μεταφραστεί σε γλώσσα μηχανής. Το πρόγραμμα-μεταγλωττιστής πριν κάνει την μετάφραση, ελέγχει εάν υπάρχουν καθόλου πιθανά συντακτικά λάθη που κάναμε γράφοντας τον πηγαίο κώδικα. Εάν αυτό συμβαίνει -πράγμα διόλου απίθανο, ειδικά για τα πρώτα μας προγράμματα- μας τα υποδεικνύει, χωρίς να προχωρήσει στη μεταγλώττιση. Σε αυτήν την περίπτωση επιστρέφουμε στον πηγαίο μας κώδικα και διορθώνουμε τα λάθη μας, φροντίζοντας να αποθηκεύσουμε πάλι το πρόγραμμα με την διορθωμένη του μορφή. Όταν τελικά ο μεταγλωττιστής δεν εντοπίσει λάθη, προχωράει στη μεταγλώττιση του πηγαίου σε γλώσσα μηχανής. Το αρχείο το οποίο περιέχει το μεταγλωττισμένο πρόγραμμά μας ονομάζεται αντικείμενο πρόγραμμα (object code). Έχει το ίδιο όνομα με το πηγαίο και ξεχωρίζει απ αυτό μόνο στην κατάληξή του: οποιοδήποτε_όνομα.obj. Σε κάποια άλλα περιβάλλοντα το ενδιάμεσο αυτό αρχείο μπορεί να μην εμφανίζεται και ο μεταγλωττιστής να παράγει απευθείας το.exe αρχείο, όπως αυτό αναλύεται στο βήμα Το τελικό αρχείο που πρέπει να φτιάξουμε προκειμένου το πρόγραμμά μας να εκτελεστεί απ τον υπολογιστή είναι το οποιοδήποτε_όνομα.exe (η κατάληξη exe σημαίνει executable, δηλαδή εκτελέσιμο). Αυτό γίνεται με την εντολή make exe που επίσης δίνεται από τα menu του περιβάλλοντος ανάπτυξης κώδικα. Τόσο το αρχείο οποιοδήποτε_όνομα.obj όσο και το αρχείο οποιοδήποτε_όνομα.exe περιέχουν το πρόγραμμά μας σε μορφή γλώσσας μηχανής (σε 0 και 1). Ποια είναι τότε η διαφορά τους; Εάν παρατηρήσουμε προσεκτικότερα θα δούμε ότι το.exe αρχείο έχει μεγαλύτερο μέγεθος από το.obj. Τι παραπάνω προστέθηκε στο εκτελέσιμο αρχείο; Η απάντηση βρίσκεται στο ότι όταν εμείς γράφουμε ένα πηγαίο κώδικα, πολλές από τις λειτουργίες που περιγράφουμε σε αυτόν δεν περιλαμβάνονται με την πλήρη τους μορφή. Αυτές οι λειτουργίες αφορούν εντολές που χρησιμοποιούμε πολύ συχνά σε ένα πρόγραμμα -πχ. εντολές εισόδου-εξόδου, μαθηματικές συναρτήσεις, εντολές γραφικών κλπ.- και οι οποίες ακριβώς επειδή χρησιμοποιούνται πολύ συχνά από όλους τους προγραμματιστές, δεν χρειάζεται να γράφουμε την πλήρη τους ανάπτυξη στον πηγαίο κώδικα. Η πλήρης τους ανάπτυξη βρίσκεται μέσα σε ειδικές βιβλιοθήκες της C και είναι αυτές που προστίθενται κατά την τελική φάση της μεταγλώττισης, όταν δηλαδή δημιουργούμε τον εκτελέσιμο κώδικα, έτσι ώστε ο κώδικας να εκτελεστεί σωστά από τον υπολογιστή. 1 Σε άλλες περιπτώσεις, εάν το περιβάλλον ανάπτυξης αφορά τη γλώσσα C++, ενδέχεται η κατάληξη του πηγαίου κώδικα να εμφανίζεται και ως.cpp. 3

4 Το οποιοδήποτε_όνομα.exe αρχείο, περιέχει λοιπόν σε γλώσσα μηχανής το πρόγραμμα που γράψαμε εμείς συν όλες τις απαραίτητες επεξηγήσεις εντολών που χρησιμοποιήσαμε σε αυτό. (σημείωση: το εκτελέσιμο αρχείο μπορεί να το συναντήσουμε και χωρίς την κατάληξη exe, δηλαδή με το όνομά του και μόνο: οποιοδήποτε_όνομα) 4. Το πρόγραμμά μας είναι έτοιμο. Μπορεί να μεταφερθεί και να εκτελεστεί σε οποιοδήποτε άλλο μηχάνημα τρέχει το ίδιο λειτουργικό σύστημα. Οποιεσδήποτε αλλαγές θέλουμε να κάνουμε σε αυτό πρέπει να ακολουθήσουμε ξανά τα βήματα 1-3. παράδειγμα αρχείων που χρησιμοποιεί η C: το αρχείο Prg3.c είναι ο πηγαίος κώδικας το αρχείο Prg3.obj η μεταγλώττισή του σε γλώσσα μηχανής (object code) το αρχείο Prg3.exe το εκτελέσιμο αρχείο (ή εφαρμογή) (παρατηρήστε τη διαφορά μεγέθους μεταξύ obj και exe αρχείου) το αρχείο Prg3.bak είναι εφεδρικό αντίγραφο (backup) του πηγαίου μας κώδικα 4

5 Η δομή ενός προγράμματος στην γλώσσα C Ένα πρόγραμμα σε C έχει συνήθως αυτή τη μορφή: main( ){ εντολή 1; εντολή 2; /* αυτό δεν είναι εντολή, αλλά ένα σχόλιο */ εντολή 3;. εντολή Ν; Οι εντολές γράφονται με τη σειρά που θα εκτελεστούν, τερματίζουν με το ελληνικό ερωτηματικό (;) και εμπεριέχονται μέσα σε δύο αγκύλες ξεκινώντας απ την ανοικτή και καταλήγοντας στην κλειστή αγκύλη. Οι δύο αυτές αγκύλες στην ουσία σηματοδοτούν την αρχή και το τέλος της κύριας ενότητας ενός προγράμματος σε C, η οποία δηλώνεται πριν από τις αγκύλες με το όνομα main( ). Ένα πρόγραμμα σε C μπορεί να αποτελείται από πολλές τέτοιες ενότητες κάθε μία από τις οποίες έχει το δικό της όνομα και τη δική της ξεχωριστή λειτουργία. Έτσι αντί να γράφαμε όλες τις εντολές του προγράμματός μας μέσα σε μία κεντρική ενότητα μπορούμε να δημιουργήσουμε ξεχωριστές ενότητες, κάθε μία από τις οποίες περιέχει τις εντολές εκείνες που αντιστοιχούν στην συγκεκριμένη ενότητα. Οι ενότητες αυτές στη γλώσσα C ονομάζονται functions, και το πρόγραμμά μας τις εκτελεί με τη σειρά που καλούνται από την κεντρική function, δηλαδή την main( ). Παράδειγμα αντί να γράφαμε: main( ){ /* οι παρακάτω εντολές διαβάζουν κάποια δεδομένα*/ εντολή 1; εντολή 2; εντολή 3; /* οι παρακάτω εντολές υπολογίζουν μία αριθμητική τιμή*/ εντολή 4; εντολή 5; /*οι παρακάτω εντολή εμφανίζει το αποτέλεσμα στην οθόνη*/ εντολή 6; μπορούμε να γράψουμε: main( ){ input_data( ); calculate( ); output_results( ); 5

6 input_data( ){ εντολή 1; εντολή 2; εντολή 3; calculate( ){ εντολή 4; εντολή 5; output_results( ){ εντολή 6; Το πρόγραμμα τώρα εκτελεί με τη σειρά τις function input_data( ), calculate( ) και output_results( ), με τη σειρά δηλαδή που δηλώθηκαν για να κληθούν μέσα από την main( ). Αυτή η δομή προγραμματισμού είναι σαφώς πιο ευέλικτη και πιο οικονομική αφού δεν χρειάζεται να γράφουμε πολλές φορές την ίδια ομάδα εντολών. Αρκεί μόνο να τις γράψουμε μία φορά και να τις καλέσουμε όσες φορές χρειαστεί ξανά, καλώντας το όνομα της function. Η συγκεκριμένη μορφή προγραμματισμού ονομάζεται δομημένος προγραμματισμός. Το πρώτο πρόγραμμα - η εντολή εξόδου printf( ) main( ){ printf( Γεια και χαρά ); To πρόγραμμα αυτό αποτελείται από μία μόνο εντολή: την printf( ). H printf( ) είναι μία εντολή εξόδου, αφού εμφανίζει ό,τι περιέχεται μέσα στα διπλά εισαγωγικά, στη μονάδα εξόδου του υπολογιστή μας, δηλαδή στην οθόνη. Τα τρία Ε: Είσοδος, Επεξεργασία, Έξοδος Κάθε πρόγραμμα που θέλουμε να γράψουμε με την C -αλλά και σε οποιαδήποτε άλλη γλώσσα δομημένου προγραμματισμού- πρέπει πρώτα να αναλυθεί σε τρία βήματα: 1. Ποια είναι τα δεδομένα μου (Είσοδος) 2. Ποια η επεξεργασία που πρέπει να γίνει σε αυτά (Επεξεργασία) 3. Τι θα συμβεί με το αποτέλεσμα της επεξεργασίας τους (Έξοδος) 6

7 Έστω για παράδειγμα πως έχουμε ένα πρόβλημα υπολογισμού. Θέλουμε το πρόγραμμά μας κάθε φορά να μας υπολογίζει το μέγεθος ενός αρχείου εικόνας σε byte. O τύπος υπολογισμού είναι: μέγεθος αρχείου = οριζόντια ανάλυση x κάθετη ανάλυση (σε pixel) x bytes κωδικοποίησης Προσεγγίζοντας το πρόβλημα με βάση τα τρία αυτά βήματα έχουμε την παρακάτω ανάλυση: 1. Είσοδος: Σαν είσοδο έχουμε κάθε φορά τρία δεδομένα: α. την οριζόντια ανάλυση (σε pixel) β. την κάθετη ανάλυση (σε pixel) γ. τα bytes κωδικοποίησης Για κάθε ένα από τα δεδομένα αυτά αντιστοιχούμε μία μεταβλητή: α. hpix β. vpix γ. bytes 2. Επεξεργασία: Η επεξεργασία που γίνεται στα δεδομένα μας είναι η εξής: hpix x vpix x bytes 3. Έξοδος: Η έξοδος που λαμβάνουμε από την επεξεργασία είναι μία αριθμητική τιμή. Και σε αυτήν πρέπει να αντιστοιχίσουμε μία μεταβλητή. Ας την ονομάσουμε size. To πρόβλημά μας σχηματικά αναλύεται ως εξής: 7

8 Η έννοια της μεταβλητής Όπως είδαμε στο προηγούμενο παράδειγμα, τόσο για κάθε ένα από τα δεδομένα μας, όσο και για το αποτέλεσμα αντιστοιχήσαμε μία μεταβλητή. Αυτό γίνεται γιατί κάθε φορά που τρέχουμε ένα πρόγραμμα αλλάζουν οι τιμές των δεδομένων -άρα και του αποτελέσματος. Αυτό όμως που δεν αλλάζει είναι η όλη διαδικασία. Χρησιμοποιώντας λοιπόν μεταβλητές κρατάμε την ροή της διαδικασίας επίλυσης του προβλήματος, δίνοντας παράλληλα σε αυτές τις τιμές που εμείς κάθε φορά θέλουμε να υπολογίσουμε. Η μεταβλητή μπορεί λοιπόν να ειδωθεί σαν μία κενή θέση στη μνήμη του υπολογιστή, η οποία λαμβάνει και μία διαφορετική τιμή κάθε φορά που εκτελείται το πρόγραμμα μας. Δήλωση μεταβλητών Πριν λοιπόν ξεκινήσουμε οποιαδήποτε εντολή στo πρόγραμμά μας, πρέπει πρώτα να δηλώσουμε τις μεταβλητές που θα χρησιμοποιήσουμε, έτσι ώστε αφενός να κρατηθεί θέση γι αυτές στη μνήμη του υπολογιστή, αφετέρου να ξέρει ο υπολογιστής πού θα τις αναζητήσει όταν τις χρησιμοποιεί στην επεξεργασία. Στο συγκεκριμένο 8

9 παράδειγμα αυτό γίνεται ακριβώς μετά από την ανοικτή αγκύλη της function main( ), δηλαδή στην πρώτη γραμμή του προγράμματός μας: main( ){ int hpix, vpix, bytes, size; Eίδη μεταβλητών Πριν συνεχίσουμε πρέπει να πούμε ότι υπάρχουν διαφορετικά είδη μεταβλητών που χρησιμοποιούνται από την C. Πρέπει λοιπόν πρώτα απ όλα να δηλώσουμε τον σωστό τύπο. Ο τύπος δηλώνεται στην ίδια γραμμή μαζί με τα ονόματα των μεταβλητών που αντιστοιχούν σε αυτόν και ακριβώς πριν από αυτές. Στο παράδειγμα βλέπουμε ότι ο τύπος μεταβλητής που χρησιμοποιούμε είναι ο int (δηλαδή integer, ακέραιος). Οι μεταβλητές στην C είναι διαφόρων ειδών. Αυτές ποικίλουν ανάλογα το μέγεθος που καταλαμβάνουν στην μνήμη (σε bytes), και ανάλογα το περιεχόμενό τους (αριθμός ή χαρακτήρας). Μία μεταβλητή μπορεί να δέχεται τρεις διαφορετικούς τύπους δεδομένων: - χαρακτήρες (τύπου char) - ακέραιους αριθμούς (τύπου int) - πραγματικούς αριθμούς (τύπου float ή double) Το μέγεθος που καταλαμβάνουν στη μνήμη οι παραπάνω τύποι μεταβλητών, ποικίλει από υπολογιστή σε υπολογιστή. Σε γενικές όμως γραμμές έχουμε τα παρακάτω μεγέθη: τύπος μεταβλητής μέγεθος σε bytes περιεχόμενο char 1 ASCII χαρακτήρας int 2 προσημασμένος ακέραιος ( έως 32767) unsigned int 2 θετικός ακέραιος (0 έως 65535) long int 4 προσημασμένος μεγάλος ακέραιος ( έως ) unsigned long int 4 θετικός μεγάλος ακέραιος (0 έως ) float 4 δεκαδικός με προσέγγιση 6 δεκαδικών ψηφίων double 8 δεκαδικός με προσέγγιση 10 δεκαδικών ψηφίων long double 16 δεκαδικός με προσέγγιση 10 δεκαδικών ψηφίων Προσέχουμε το εύρος τιμών των παραπάνω τύπων να συμπίπτει με το μέγεθος των μεταβλητών που χρησιμοποιούμε. Με βάση λοιπόν τα παραπάνω στοιχεία οι μεταβλητές του προγράμματός μας μπορούν να δηλωθούν σωστότερα και ως εξής: main( ){ unsigned int hpix, vpix, bytes; 9

10 unsigned long int size; H μνήμη τώρα θα δείχνει ως εξής: Σε εποχές που οι μνήμες ήταν περιορισμένες σε μέγεθος η παραπάνω λογική οργάνωσης των μεταβλητών είχε κάποιο νόημα. Σήμερα, που δεν τίθενται τέτοιου είδους περιορισμοί, μπορούμε άνετα να δηλώνουμε τις αριθμητικές μεταβλητές ως int, float ή double. Πώς μία μεταβλητή λαμβάνει τιμές - η εντολή scanf( ) Aφού δηλώσαμε τις μεταβλητές που θα χρησιμοποιήσουμε, πριν προχωρήσουμε στην επεξεργασία τους πρέπει πρώτα να λάβουν κάποιες τιμές. Αυτό γίνεται με την εντολή scanf( ). Ας δούμε για παράδειγμα πώς η μεταβλητή η οποία αντιστοιχεί στη συχνότητα δειγματοληψίας (η sr), λαμβάνει μία τιμή: printf( \n Δώστε την συχνότητα δειγματοληψίας: ); 10

11 scanf( %lf, &sr); Ο τύπος δεδομένων που η εντολή scanf( ) θα διαβάσει δηλώνεται αμέσως μετά το σύμβολο % (εδώ lf, δηλαδή τύπου double). Έξω από τα διπλά εισαγωγικά και μετά το κόμα ακολουθεί η μεταβλητή η οποία θα λάβει την τιμή. Γενικά η scanf( ) δηλώνεται ως εξής: scanf( %Σ1 %Σ2 % ΣN, &μεταβλητή1, &μεταβλητή2,, &μεταβλητήn); όπου Σ1, Σ2,, ΣΝ οι τύποι των μεταβλητών μεταβλητή1, μεταβλητή2,, μεταβλητήn αντίστοιχα. Τα σύμβολα που διαβάζουν συγκεκριμένους τύπους μεταβλητών είναι τα εξής: %c διαβάζει έναν χαρακτήρα %d διαβάζει έναν ακέραιο αριθμό %f διαβάζει έναν float αριθμό %lf διαβάζει έναν double αριθμό Πριν από την scanf( ) προηγείται σχεδόν πάντα μία printf( ) η οποία μας προτρέπει να εισάγουμε την τιμή που η scanf( ) ακολούθως θα διαβάσει. Αυτό γίνεται για να γνωρίζουμε κατά την εκτέλεση του προγράμματος πότε θα εισάγουμε μία συγκεκριμένη τιμή. Πρέπει επίσης να γνωρίζουμε πως η scanf( ) είναι μία εντολή που παγώνει την εκτέλεση του προγράμματος ώσπου εμείς να εισάγουμε απ το πληκτρολόγιο την (ή τις) τιμή (τιμές), για τις οποίες είναι προγραμματισμένη να δεχθεί. Η συνέχεια στο πρόγραμμα δίνεται αφού πατήσουμε το πλήκτρο enter. Τελικά η εισαγωγή δεδομένων στο πρόγραμμά μας γράφεται ως εξής: printf( \n Δώστε την ανάλυση της εικόνας σε οριζόντια pixel: ); scanf( %ld, &hpix); printf( \n Δώστε την ανάλυση της εικόνας σε κάθετα pixel: ); scanf( %d, &vpix); printf( \n Δώστε τo πλήθος των byte κωδικοποίησης: ); scanf( %d, &bytes); To σύμβολο \n (new line) στην printf( ) δηλώνει αλλαγή γραμμής κατά την εμφάνιση του μηνύματος στην οθόνη. Συνοπτικά θα μπορούσαμε να γράφαμε τον ίδιο κώδικα με την χρήση μιας μόνο scanf( ): printf( \n Δώστε με τη εξής σειρά: ); printf( \n α) την ανάλυση της εικόνας σε οριζόντια pixel:, ); printf( \n β) την ανάλυση της εικόνας σε κάθετα pixel:, ); printf( \n γ) τo πλήθος των byte κωδικοποίησης: ); scanf( %ld %d %d, &hpix, &vpix, &bytes); Eπεξεργασία - Το σύμβολο = 1 1

12 Ακολουθεί η επεξεργασία των δεδομένων μας με την παρακάτω εντολή: size = hpix x vpix x bytes; Το σύμβολο ισότητας ( = ) στην γλώσσα C έχει διαφορετική έννοια από αυτή των μαθηματικών. Δηλώνει πως ό,τι βρίσκεται στην δεξιά πλευρά του, θα καταχωρηθεί στην μεταβλητή που βρίσκεται στην αριστερή. Παράδειγμα: i = i +1; H εντολή αυτή δηλώνει πως η μεταβλητή i θα λάβει την τιμή που είχε έως εκείνη την στιγμή αυξημένη κατά μία μονάδα. 12

13 Οι τελεστές πράξεων Η C χρησιμοποιεί συγκεκριμένα σύμβολα για τις αριθμητικές πράξεις. Αυτά είναι: - αφαίρεση + πρόσθεση * πολλαπλασιασμός / διαίρεση (μεταξύ ακέραιων :το ακέραιο μέρος) % διαίρεση (μεταξύ ακέραιων: το δεκαδικό μέρος) -- μείωση κατά μία μονάδα ++ αύξηση κατά μία μονάδα Προτεραιότητα πράξεων Οι παραπάνω τελεστές πράξεων έχουν συγκεκριμένη προτεραιότητα με την οποία εκτελούνται. Για παράδειγμα η έκφραση: * 3 θα δώσει αποτέλεσμα 7, αφού ο πολλαπλασιασμός προηγείται σαν πράξη της πρόσθεσης. Εάν θέλαμε να γίνει πρώτα η πρόσθεση, θα έπρεπε να χρησιμοποιούσαμε την παρένθεση. Έτσι η έκφραση: (1 + 2) * 3 θα δώσει αποτέλεσμα 9. Γενικά στην C ο πολλαπλασιασμός και η διαίρεση έχουν μεγαλύτερο βαθμό προτεραιότητας από την πρόσθεση και την αφαίρεση. Τι θα συμβεί στην περίπτωση που η C συναντήσει ίδιας προτεραιότητας πράξεις, π.χ. 12 / 6 * 2 θα δώσει αποτέλεσμα 4, ή 1; Το σωστό αποτέλεσμα είναι το 4 αφού για πράξεις ίσης προτεραιότητας, αυτές εκτελούνται με τη σειρά που συναντώνται από τα αριστερά προς τα δεξιά. Εάν θέλαμε το αντίθετο θα χρησιμοποιούσαμε παρενθέσεις: 12 / (6 * 2) 13

14 Έξοδος - Η εντολή printf( ) Όπως έχουμε δει η εντολή printf( ) εμφανίζει στην οθόνη ό,τι περιέχεται ανάμεσα στα διπλά εισαγωγικά. Μπορεί όμως πέρα από αυτό να μας εμφανίσει και το περιεχόμενο μιας μεταβλητής. Στο σημείο που θέλουμε να εμφανιστεί η τιμή της μεταβλητής χρησιμοποιούμε το σύμβολο % ακολουθούμενο από τον τύπο της μεταβλητής, ενώ μετά τα διπλά εισαγωγικά δηλώνουμε το όνομα της μεταβλητής. Για παράδειγμα στο πρόγραμμά μας για να εμφανίζαμε το αποτέλεσμα της επεξεργασίας θα δηλώναμε: printf( \nτο μέγεθος του αρχείου εικόνας είναι: %f, size); Πρόγραμμα: ο υπολογισμός μεγέθους ενός αρχείου εικόνας Το πρόγραμμά μας ολοκληρωμένο έχει ως εξής: main(){ /* δήλωση μεταβλητών */ int vpix, hpix, bytes, size; /* εισαγωγή τιμών */ printf( \n Δώστε με τη εξής σειρά: ); printf( \n α) την ανάλυση της εικόνας σε οριζόντια pixel:, ); printf( \n β) την ανάλυση της εικόνας σε κάθετα pixel:, ); printf( \n γ) τo πλήθος των byte κωδικοποίησης: ); scanf( %ld %d %d, &hpix, &vpix, &bytes); /* επεξεργασία */ size = hpix x vpix x bytes; /*έξοδος αποτελέσματος*/ printf( \nτο μέγεθος του αρχείου εικόνας είναι: %f, size); 14

15 Περισσότερα για το σύμβολο καταχώρησης ( = ) Στο προηγούμενο παράδειγμα είδαμε ένα πρόγραμμα που χρησιμοποιεί τρεις μεταβλητές για να υπολογίσει μία αριθμητική τιμή και να την αποθηκεύσει τελικά σε μία τέταρτη μεταβλητή. Τι συμβαίνει όμως στην περίπτωση που χρειάζεται να επεξεργαστούμε πολλά δεδομένα; Φανταστείτε για παράδειγμα την περίπτωση που μας ζητηθεί ο μέσος όρος κάποιων τιμών που αφορούν π.χ. την βαθμολογία ενός τμήματος. Ο τύπος υπολογισμού (ΕΠΕΞΕΡΓΑΣΙΑ) είναι ο ακόλουθος: Μ.Ο. = βαθμός1 + βαθμός2 + βαθμός3 + + βαθμόςν Ν,όπου Ν το πλήθος των βαθμών. Εάν υποτεθεί ότι έχουμε 100 διαφορετικούς βαθμούς, τότε θα χρειαζόμασταν 100 διαφορετικές μεταβλητές; Η απάντηση είναι προς το παρόν όχι, αρκεί να μην μας ζητηθεί κάτι παραπάνω πέρα από τον μέσο όρο (ή μία οποιαδήποτε άλλη γενικά ακολουθιακή διαδικασία). Την λύση μας την δίνει το σύμβολο καταχώρησης, δηλαδή το μαθηματικό σύμβολο της ισότητας ( = ). Όπως είδαμε και πριν το σύμβολο αυτό δεν σηματοδοτεί την ισότητα όπως αυτό είναι συνηθισμένο στα μαθηματικά, παρά δηλώνει πως όποια μεταβλητή βρίσκεται στα αριστερά του θα λάβει την τιμή που βρίσκεται δεξιά του, παράδειγμα εάν εκτελεστούν με τη σειρά που εμφανίζονται οι παρακάτω εντολές: y = 1; /* το y λαμβάνει την τιμή 1 */ x = 34; /* το x λαμβάνει την τιμή 34 */ x = x y; /* το x λαμβάνει την τιμή */ τότε η μεταβλητή x έχει τελικά καταχωρημένη την τιμή 36 Η λύση λοιπόν του προβλήματός μας βρίσκεται αρκεί να δηλώσουμε μία μεταβλητή στην οποία θα καταχωρούμε έναν - έναν όλους τους βαθμούς αθροιστικά και στο τέλος θα κάνουμε την διαίρεση με το πλήθος των αριθμών (το 100), παράδειγμα: float sum; /* δηλώνουμε την μεταβλητή αθροιστή */ float x; /* και την μεταβλητή - βοηθό της για να μαζεύει τους βαθμούς που θα /* πληκτρολογούμε εμείς κάθε φορά */ sum = 0; /* τις μηδενίζουμε προκειμένου να σιγουρευτούμε πως δεν προϋπάρχουν */ x = 0; /* ήδη κάποιες άλλες τιμές σε αυτές τις θέσεις της μνήμης */ printf( Δώσε τον πρώτο βαθμό\n ); /* ζητάμε τον πρώτο βαθμό */ scanf( %f, &x); /* η x λαμβάνει τον πρώτο βαθμό */ sum = sum + x; /* καταχώρισε την πρώτη τιμή στη μεταβλητή sum */ /*μαζί με ό,τι προϋπήρχε στην sum (το 0) */ printf( Δώσε τον δεύτερο βαθμό\n ); /* ζητάμε τον δεύτερο βαθμό */ scanf( %f, &x); /* η x τώρα λαμβάνει τον δεύτερο βαθμό */ sum = sum + x; /* καταχώρισε την δεύτερη τιμή στη μεταβλητή sum, */ /* μαζί με ό,τι προϋπήρχε (ο βαθμός1)*/ 15

16 printf( Δώσε τον τρίτο βαθμό\n ); /* ζητάμε τον τρίτο βαθμό */ scanf( %f, &x); /* η x τώρα λαμβάνει τον τρίτο βαθμό */ sum = sum + x; /* καταχώρισε την τρίτη τιμή στη μεταβλητή sum, */ /* μαζί με ό,τι προϋπήρχε (ο βαθμός1 + ο βαθμός2)*/ printf( Δώσε τον τέταρτο βαθμό\n ); /* ζητάμε τον τέταρτο βαθμό */ scanf( %f, &x); /* η x τώρα λαμβάνει τον τέταρτο βαθμό */ sum = sum + x; /* καταχώρισε την τέταρτη τιμή στη μεταβλητή sum, */ /* μαζί με ό,τι προϋπήρχε (ο βαθμός1 + ο βαθμός2 + ο βαθμός3)*/ κλπ. μάλιστα. Άλλες 96 τέτοιες τριάδες εντολών και τελειώσαμε Επαναληπτικές διαδικασίες - Η εντολή for Και όμως υπάρχει λύση στην ατελείωτη πληκτρολόγηση (και δεν εννοούμε βέβαια την κλασσική copy-paste). Όταν μία διαδικασία επαναλαμβάνεται στο πρόγραμμά μας, υπάρχει μία ειδική εντολή στην οποία αρκεί να δηλώσουμε πόσες φορές θα επαναληφθούν οι εντολές που αποτελούν την διαδικασία αυτή. Η εντολή αυτή είναι η for και συντάσσεται ως εξής: όπου : for(i = 0; i < loop_times; i ++){ /* η ανοικτή αγκύλη σηματοδοτεί την έναρξη*/ ακολουθούν οι εντολές που θέλουμε να επαναλαμβάνονται (πάντα μέσα στις δύο αγκύλες) /* και η κλειστή την λήξη μίας περιόδου επανάληψης*/ i, ο μετρητής της επανάληψης loop_times, o αριθμός επαναλήψεων και τα τρία πεδία εντός της παρένθεσης, τα οποία προσδιορίζουν τα εξής: i = 0 : το πρώτο πεδίο δηλώνει την αρχική τιμή με την οποία θα ξεκινήσει να μετράει ο αθροιστής. Η τιμή αυτή λαμβάνεται μία και μοναδική φορά απ τον μετρητή, όταν δηλαδή ξεκινήσει για πρώτη φορά η επανάληψη. Στη συνέχεια ο μετρητής θα μεταβάλει τις τιμές του ανάλογα με το τρίτο πεδίο ή κάποια άλλη εντολή -πιθανώς- η οποία βρίσκεται εντός των αγκύλων επανάληψης (μέσα δηλαδή στον βρόγχο ή loop). Το i μπορεί να λαμβάνει οποιαδήποτε αρχική τιμή (πχ. i = 1 ή i = -2 ή i = 1000), ανάλογα πως αυτό βολεύει στην χρήση του. i < loop _times : το δεύτερο πεδίο δηλώνει τη συνθήκη επανάληψης. Όταν αυτή παύσει να ισχύει σταματούν και οι επαναλήψεις. Εδώ δηλώνεται σαν συνθήκη ανισότητας, δηλαδή όσο η μεταβλητή i είναι μικρότερη από μία τιμή οι επαναλήψεις θα συνεχίζονται. Όταν το i λάβει την τιμή loop_times το πρόγραμμα σταματάει τις επαναλήψεις και συνεχίζει εκτελώντας τις εντολές που ακολουθούν 16

17 αμέσως μετά την κλειστή αγκύλη του βρόγχου. Η συνθήκη επανάληψης μπορεί να είναι οποιαδήποτε λογική σχέση, πχ. i = = 100 (το i να ισούται με 100) i >= - 45 (το i να είναι μεγαλύτερο ή ίσο με το - 45) i > 500 i < 1000 (το i να είναι μεγαλύτερο του 500 είτε μικρότερο του 1000) i < 1000 && k = = 0 (το i να είναι μικρότερο του 1000 και ταυτόχρονα το k ίσο με 0) x!= 0 (μία άλλη μεταβλητή x να είναι διάφορη του μηδενός) a/23*sin(z) <= b (η συγκεκριμένη παράσταση να είναι μικρότερη ή ίση με το b) (c = getchar( ) )!= \n (να μην πληκτρολογήσουμε enter) i ++ : το τρίτο πεδίο δηλώνει τι θα συμβαίνει στον μετρητή κάθε φορά που ο βρόγχος επαναλαμβάνεται (εδώ ο μετρητής i θα αυξάνει κάθε φορά κατά μία μονάδα). Και εδώ μπορούμε να δηλώσουμε οποιαδήποτε αριθμητική πράξη θέλουμε να υπολογίζεται κάθε φορά που επαναλαμβάνεται ο βρόγχος, πχ. i -- (το i να μειώνεται κάθε φορά κατά μία μονάδα) i += 3 (το i να αυξάνεται κάθε φορά κατά τρεις μονάδες) i -= 8, j ++ (το i να μειώνεται κάθε φορά κατά 8 μονάδες και το j να αυξάνεται κατά μία) Το πρόγραμμα υπολογισμού Μ.Ο. εκατό (ή οποιουδήποτε πλήθους) τιμών Το πρόγραμμα τώρα έχει ως εξής: /***** υπολογισμός Μ.Ο. 100 πραγματικών αριθμών *****/ main( ){ float sum = 0; float x = 0; int i = 0; for(i = 0 ; i < 100 ; i ++){ /* αρχή βρόγχου επανάληψης */ printf( \nδώσε τον %d ο βαθμό:, i +1); scanf( %f, &x); sum = sum + x; /* τέλος βρόγχου επανάληψης */ printf( \nο μέσος όρος των 100 βαθμών είναι: %f, sum/100); /* τέλος της main( ) */ Eάν θέλαμε να υπολογίζουμε τον Μ.Ο. ενός οποιουδήποτε πλήθους τιμών, το πρόγραμμά μας θα αλλάξει ελάχιστα: 1. Θα προσθέσουμε μία ακέραια μεταβλητή η οποία θα δέχεται το πλήθος για το οποίο θα υπολογίζουμε τον Μ.Ο. (πχ. η amount ) 17

18 2. Η σύγκριση επανάληψης στον βρόγχο της for, δεν θα συγκρίνει πλέον τον μετρητή i με την τιμή 100, αλλά με την μεταβλητή amount 3. Η διαίρεση τέλος, εντός την printf( ), δεν θα γίνεται με το 100 αλλά με την amount, δηλαδή: /***** υπολογισμός Μ.Ο. μεταβλητού πλήθους πραγματικών αριθμών *****/ main( ){ float sum = 0; float x = 0; int i = 0; int amount = 0; printf( \nποιο είναι το πλήθος των βαθμών για τον υπολογισμό του Μ.Ο.; ); scanf( %d, &amount); /* η amount παίρνει τιμή απ το πληκτρολόγιο */ for(i = 0 ; i < amount ; i ++){ /* αρχή βρόγχου επανάληψης */ printf( \nδώσε τον %d ο βαθμό:, i +1); scanf( %f, x); sum = sum + x; /* τέλος βρόγχου επανάληψης */ printf( \nο μέσος όρος των %d βαθμών είναι: %f, amount, sum/amount); /* τέλος της main( ) */ H εντολή if και οι παραλλαγές της H εντολή if κατευθύνει την ροή του προγράμματος σε συγκεκριμένες ενότητες εντολών, ανάλογα το αποτέλεσμα που λαμβάνει. Δηλαδή: if(x>y){ a = 1; /* η ενότητα εντολών η οποία εκτελείται μόνο εάν το x > y */ printf( \nτο x είναι όντως μεγαλύτερο από το y ); else{ /* δηλαδή εάν το x<= y */ a = 0; /* η ενότητα εντολών η οποία εκτελείται εάν το x <= y */ printf( \nτο y είναι όντως μεγαλύτερο (ή ίσο) από το x ); Εάν θέλουμε το πρόγραμμά μας να κάνει συγκεκριμένες ενέργειες μόνο όταν το x > y και στην περίπτωση που δεν ισχύει κάτι τέτοιο απλώς να συνεχίζει, τότε συντάσσουμε την if χωρίς την else: if(x>y){ /* η ενότητα εντολών η οποία εκτελείται μόνο εάν το x > y */ a = 1; printf( \nτο x είναι όντως μεγαλύτερο από το y ); 18

19 /* το πρόγραμμα συνεχίζει με άλλες εντολές */ Εάν τέλος θέλουμε να κάνουμε συγκεκριμένες ενέργειες και για την περίπτωση της ισότητας ξεχωριστά (x = y), τότε γράφουμε μία ακόμη if: if(x>y){ /* η ενότητα εντολών η οποία εκτελείται μόνο εάν το x > y */ a = 1; printf( \nτο x είναι όντως μεγαλύτερο από το y ); else if(x<y){ /* η ενότητα εντολών η οποία εκτελείται εάν το x < y */ a = 0; printf( \nτο y είναι όντως μεγαλύτερο από το x ); else{ /* η ενότητα εντολών η οποία εκτελείται εάν το x = y */ a = -1; printf( \nη ζωή δεν είναι πάντα άσπρο-μαύρο ); Ο πιο καλός ο μαθητής Με τη βοήθεια της if μπορούμε να επανέλθουμε στο προηγούμενο πρόγραμμα M.O. και να βρίσκουμε κάθε φορά και τον μεγαλύτερο βαθμό. Η λογική που θα ακολουθήσουμε είναι απλή: 1. Θα χρειαστούμε μία επιπλέον μεταβλητή (float), η οποία θα κρατάει τον μεγαλύτερο βαθμό, ας την ονομάσουμε best 2. H best θα πάρει μία πρώτη τιμή, τον πρώτο-πρώτο δηλαδή βαθμό που θα πληκτρολογήσουμε 3. Θα την συγκρίνουμε με τον επόμενο βαθμό. Εάν αυτός είναι μεγαλύτερος τότε η τιμή της θα αλλάξει και στη θέση της θα μπει ο βαθμός αυτός. Διαφορετικά δεν θα αλλάξει τίποτα και συνεχίζουμε με την επόμενη τιμή 4. Θα επαναλάβουμε τη διαδικασία 3 ώσπου να τελειώσουν όλοι οι βαθμοί. Η τελική τιμή που θα έχει η μεταβλητή best θα είναι ο μεγαλύτερος βαθμός. /***** υπολογισμός Μ.Ο. μεταβλητού πλήθους πραγματικών αριθμών *****/ /***** και εξαγωγή μέγιστης τιμής ****/ main( ){ float sum = 0; float x = 0; int i = 0; int amount = 0; float best = 0; printf( /nποιο είναι το πλήθος των βαθμών για τον υπολογισμό του Μ.Ο.; ); scanf( %d, &amount); /* η amount παίρνει τιμή απ το πληκτρολόγιο */ 19

20 printf( \nδώσε τον 1-ο βαθμό: ); scanf( %f, &best); /* η best παίρνει σαν πρώτη τιμή τον πρώτο βαθμό */ for(i = 0 ; i < amount-1 ; i ++){ /* η επανάληψη τώρα θα γίνει amount-1 φορές */ printf( \nδώσε τον %d-ο βαθμό:, i +2); scanf( %f, &x); sum = sum + x; if(x>best){ /* αρχή της if */ best = x; /* εάν η x > best τότε η best θα λάβει την τιμή του x */ /* τέλος της if */ /* τέλος βρόγχου επανάληψης */ printf( \nο μέσος όρος των %d βαθμών είναι: %f, amount, sum/amount); printf( \no μέγιστος βαθμός είναι ο %f, best); /* τέλος της main( ) */ H εντολή while( ) Έστω τώρα πως θέλουμε να υπολογίσουμε τα ίδια στοιχεία (Μ.Ο. και μέγιστη τιμή) αλλά για περισσότερες από μία ομάδες βαθμολογούμενων (πχ. τέσσερα διαφορετικά τμήματα). Η μία λύση είναι να γράψουμε τον παραπάνω κώδικα τέσσερις φορές. Η άλλη λύση είναι να συμπεριλάβουμε όλο τον παραπάνω κώδικα σε μία for με μετρητή έως τέσσερα. Υπάρχει όμως και απλούστερη λύση: η εντολή while( ) Η while συντάσσεται ως εξής: while(συνθήκη){ εντολές. Οι ενότητα εντολών που βρίσκονται εσωτερικά στις αγκύλες της while( ), θα εκτελείται σε διαρκείς επαναλήψεις έως ότου η συνθήκη παύσει να ισχύει. Τότε το πρόγραμμα συνεχίζει με τις εντολές που ακολουθούν μετά την δεύτερη (κλειστή) αγκύλη της while( ). Η παύση της συνθήκης προϋποθέτει ότι έχουμε φροντίσει εμείς για κάποιον μετρητή ο οποίος σε κάθε επανάληψή της θα αυξάνεται, πχ.: k = 0; while(k < 4){ /* η while θα εκτελεστεί τέσσερις φορές */ k++; /* ο μετρητής σε κάθε πέρασμα αυξάνεται */ 20

21 (προσοχή: Σε περίπτωση που δε φροντίσουμε για κάτι τέτοιο το πρόγραμμα πέφτει σε ατέρμονο βρόγχο και δεν τερματίζει ποτέ!) Εάν στη θέση του 4 βάλουμε κάποια μεταβλητή (πχ. η μεταβλητή με όνομα times, τύπου int) τότε ζητώντας την τιμή της times μπορούμε να έχουμε διαφορετικό αριθμό επαναλήψεων κάθε φορά που τρέχουμε το πρόγραμμά μας: printf( \nδώστε αριθμό επαναλήψεων ); scanf( %d, &times); k = 0; while(k<times){ /* η while θα εκτελεστεί times φορές */ k++; To πρόγραμμα Μ.Ο.- μέγιστης τιμής για μεταβλητό αριθμό επαναλήψεων /***** υπολογισμός Μ.Ο. μεταβλητού πλήθους πραγματικών αριθμών *****/ /***** και εξαγωγή μέγιστης τιμής ****/ /******* για πολλαπλά τμήματα ******/ main( ){ float sum = 0; float x = 0; int i = 0; int amount = 0; float best = 0; int times, k; printf( \nγια πόσα τμήματα θα βγει Μ.Ο. και μέγιστος βαθμός; ); scanf( %d, &times); k = 0; while(k < times){ /* αρχή της while */ printf( /nποιο είναι το πλήθος των βαθμών για τον υπολογισμό του Μ.Ο.; ); scanf( %d, &amount); printf( \nδώσε τον 1 ο βαθμό: ); scanf( %f, &best); for(i = 0 ; i < amount-1 ; i ++){ printf( \nδώσε τον %d ο βαθμό:, i +2); scanf( %f, &x); sum = sum + x; if(x>best){ 21

22 best = x; /* τέλος της if */ /* τέλος βρόγχου επανάληψης */ printf( \nγια το %d o τμήμα:, k+1); printf( \nο μέσος όρος των %d βαθμών είναι: %f, amount, sum/amount); printf( \no μέγιστος βαθμός είναι ο %f, best); k++; /* τέλος της while */ /* τέλος της main( ) */ 22

23 Ήχος και υπολογιστές Στα μέχρι τώρα προγράμματα οι τιμές που λαμβάνουν οι μεταβλητές τους είναι προσωρινές. Αρκεί η επόμενη καταχώριση σε μία μεταβλητή και η προηγούμενη τιμή της έχει χαθεί. Αυτό για ορισμένους υπολογισμούς δεν είναι πάντα ωφέλιμο. Ας φανταστούμε για παράδειγμα την περίπτωση ενός βρόγχου που θέλει να στέλνει πολλές φορές σε μία έξοδο (όχι απαραίτητα την οθόνη) μία συγκεκριμένη επαναλαμβανόμενη ακολουθία αριθμών. Ένα καλό παράδειγμα είναι ο ήχος στον υπολογιστή. Ο ήχος που παράγει ο υπολογιστής, όπως για παράδειγμα μία ημιτονοειδής κυματομορφή, είναι οι αριθμητικές τιμές μιας περιόδου της κυματομορφής οι οποίες επαναλαμβάνονται διαρκώς και στέλνονται στην έξοδο της κάρτας ήχου. Για να συμβεί κάτι τέτοιο οι τιμές αυτές πρέπει να βρίσκονται καθ όλη τη διάρκεια της αναπαραγωγής του ήχου κάπου αποθηκευμένες στη μνήμη. Το πλήθος αυτών των τιμών απαντάται συνήθως ως δύναμη του δύο, όπως για παράδειγμα 128 τιμές. Χρειαζόμαστε λοιπόν 128 διαφορετικές μεταβλητές προκειμένου να αποθηκεύονται οι τιμές μόνιμα στη μνήμη αλλά και να διαβάζονται κάθε φορά που αναπαράγεται η κυματομορφή. Το να χειριστούμε κάτι τέτοιο με απλές μεταβλητές, είναι προγραμματιστικά επίπονο. Για τον ευκολότερο λοιπόν χειρισμό πολλαπλών μεταβλητών του ίδιου τύπου (πραγματικών αριθμών ή double στη συγκεκριμένη περίπτωση), κάνουμε χρήση των πινάκων. Πίνακες (Arrays) Ο πίνακας είναι ένας χώρος στη μνήμη που καταλαμβάνεται από πολλές τιμές του ίδιου τύπου. Δηλώνεται ως εξής: τύπος _μεταβλητών_πίνακα Όνομα_Πίνακα[μέγεθος], πχ.: όπου: τύπος _μεταβλητών_πίνακα: ο τύπος δεδομένων των στοιχείων που περιλαμβάνει ο πίνακας (π.χ. int, float, char) Όνομα_Πίνακα: το όνομά του (ακριβώς όπως ονομάζουμε και μία οποιαδήποτε άλλη μεταβλητή, π.χ. Α, Χ, Array, b23 κλπ.) μέγεθος: το πλήθος των στοιχείων από το οποίο αποτελείται ο πίνακας int A[23]; ένας πίνακας με 23 θέσεις ακέραιων αριθμών και όνομα A char Names[1000]; ένας πίνακας με 1000 θέσεις χαρακτήρων και όνομα Names float WAV[128]; ένας πίνακας με 128 θέσεις πραγματικών και όνομα WAV Οι πίνακες κρατούν τα στοιχεία τους με συγκεκριμένη σειρά αρίθμησης ξεκινώντας από το 0 για το πρώτο στοιχείο, 1 για το δεύτερο, 2 για το τρίτο και καταλήγοντας μέγεθος - 1 για το τελευταίο. Έτσι όταν θέλουμε να προσπελάσουμε κάποιο στοιχείο ενός πίνακα δίνουμε τον αριθμό του στοιχείου που αντιστοιχεί σε αυτό πλάι στο όνομά του και μέσα στην παρένθεση. Παράδειγμα: A[17] = 0; το 18ο στοιχείο του πίνακα Α θα λάβει την τιμή 0 23

24 printf( %c, Names[8]); εμφανίζουμε στην οθόνη το 9ο στοιχείο του Νames WAV[0] = sin(0); το 1ο στοιχείο του WAV θα λάβει την τιμή του ημίτονου 0 ακτινίων Γέμισμα τιμών σε έναν πίνακα Έστω πως θέλουμε να γεμίσουμε τα στοιχεία ενός πίνακα με κάποιες τιμές. Η διαδικασία αυτή είναι επαναλαμβανόμενη και πραγματοποιείται με μία for: int i; int A[100]; /* ορισμός πίνακα */ /* γέμισμα πίνακα 100 θέσεων */ for(i = 0 ; i < 100 ; i++){ printf( \nδώσε τιμή για το %d στοιχείο του πίνακα, i+1); scanf( %d, A[i]); Γενικά πρέπει να έχουμε υπ όψη μας πως τα στοιχεία ενός πίνακα συμπεριφέρονται ακριβώς όπως μία άλλη μεταβλητή. Η μόνη διαφορά βρίσκεται στον τρόπο με τον οποίο ονοματίζονται: Α[i], όπου i o δείκτης του αντίστοιχου στοιχείου Οι παρακάτω λοιπόν γραμμές κώδικα είναι απολύτως σωστές: Α[i] = Α[i +1] (το στοιχείο Α[i] λαμβάνει την τιμή του επόμενου στοιχείου) Α[i] = Α[i] +1 (τα περιεχόμενα του στοιχείου Α[i] προσαυξάνονται κατά μία μονάδα) A[28] = A[0]/15 + b (καταχώρισε στο 29ο στοιχείο το αριθμητικό αποτέλεσμα της παράστασης δεξιά) Εκτύπωση τιμών ενός πίνακα Παρόμοια τα περιεχόμενα ενός πίνακα εμφανίζονται ως εξής: for(i = 0 ; i < 100 ; i++){ printf( \nτο %d στοιχείο του πίνακα είναι ίσο με: %d, i+1, A[i]); Παράδειγμα: ένας πίνακας ημιτονοειδούς κυματομορφής Ας δούμε ένα πρόγραμμα το οποίο γεμίζει έναν πίνακα 128 θέσεων με τις τιμές μίας περιόδου ημιτονοειδούς κυματομορφής και στη συνέχεια τις εμφανίζει στην οθόνη. Η συνάρτηση η οποία παράγει τιμές ημιτόνου είναι η: sin(x), όπου x τα ακτίνια του κύκλου (radians) 24

25 και η οποία βρίσκεται ενσωματωμένη στη βιβλιοθήκη μαθηματικών συναρτήσεων της C (math.h). Για να την χρησιμοποιήσουμε στο πρόγραμμά μας πρέπει λοιπόν πριν απ οτιδήποτε άλλο να την συμπεριλάβουμε στο πρόγραμμα. Αυτό γίνεται με την εντολή include, στην αρχή του κώδικά μας πριν την main( ): #include <math.h> Στη συνέχεια πρέπει να υπολογίσουμε τα 128 διαφορετικά ακτίνια απ τα οποία αποτελείται ένας κύκλος (μία δηλαδή πλήρης περίοδος της κυματομορφής). Γνωρίζουμε ότι: ένας κύκλος = 2π ακτίνια (όπου π = 3.14) άρα ο κύκλος πρέπει να διαιρεθεί σε 128 διαφορετικά τμήματα σε κάθε ένα από τα οποία θα υπολογίζεται η αντίστοιχη τιμή του ημίτονου.σε κάθε μία από τις 128 θέσεις του πίνακα θα αποθηκεύουμε και μία τέτοια τιμή: Στην πρώτη θέση του πίνακα W[0], θα καταχωρίσουμε την τιμή του sin(0). Στην δεύτερη θέση του πίνακα W[1], θα καταχωρίσουμε την τιμή του sin(2π/128). Στην τρίτη θέση του πίνακα W[2], θα καταχωρίσουμε την τιμή του sin(2π/128*2). Στην εκατοστή εικοστή όγδοη W[127], την τιμή sin(2π/128*127) Χρησιμοποιούμε λοιπόν μία επιπλέον μεταβλητή (double step), η οποία είναι το βήμα που κάθε φορά προσαυξάνεται η τρέχουσα τιμή έτσι ώστε να υπολογίζεται το επόμενο ημίτονο. Η step λοιπόν ορίζεται ως εξής: 25

26 step = two_pi/128; και για να έχουμε μία καλύτερη αριθμητική προσέγγιση της μεταβλητής two_pi δηλώνουμε: double two_pi = 8.*atan(1.); (όπου η μαθηματική συνάρτηση atan(x) υπολογίζει το τόξο εφαπτομένης του x) γιατί όντως 2π = 8 x (τόξο εφαπτομένης(1)) To πρόγραμμά μας ολοκληρωμένο έχει ως εξής: #include <math.h> main( ){ double two_pi = 8.*atan(1.); /* υπολογισμός της 2π */ double w[128]; /* δήλωση πίνακα 128 double θέσεων */ double step, x; int i; x = 0; step = two_pi / 128; /* υπολογισμός βήματος */ for(i=0; i<128; i++){ w[i] = sin(x); /* υπολόγισε το τρέχον ημίτονο */ x = x + step; /* και αύξησε την επόμενη τιμή κατά step */ for(i=0; i<128; i++){ printf( w[%d] = %f, i, w[i]);/* εκτύπωση τιμών πίνακα */ 26

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος 2014-2015

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στην FORTRAN Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 Fortran FORmula TRANslation: (Μία από τις πρώτες γλώσσες τρίτης γενιάς) Εκδόσεις FORTRAN (1957) FORTRAN II (1958) FORTRAN III

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

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

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

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

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

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

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

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

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

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

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

3 Αλληλεπίδραση Αντικειμένων

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

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

Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo;

Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo; Κεφάλαιο 2 Εισαγωγή Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo; Η Logo είναι μία από τις πολλές γλώσσες προγραμματισμού. Κάθε γλώσσα προγραμματισμού έχει σκοπό τη δημιουργία προγραμμάτων

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

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης ΚΕΦΑΛΑΙΟ 1ο 3ο 1. Συμπληρώστε τα κενά με τη λέξη που λείπει. α. Ένα πρόβλημα το χωρίζουμε σε άλλα απλούστερα, όταν είναι ή όταν έχει τρόπο επίλυσης. β. Η επίλυση ενός προβλήματος προϋποθέτει την του. γ.

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

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

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

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

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει;

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει; ΜΑΘΗΜΑ 7 Κλήση αλγορίθμου από αλγόριθμο Αναδρομή Σ χ ο λ ι κ ο Β ι β λ ι ο ΥΠΟΚΕΦΑΛΑΙΟ 2.2.7: ΕΝΤΟΛΕΣ ΚΑΙ ΔΟΜΕΣ ΑΛΓΟΡΙΘΜΟΥ ΠΑΡΑΓΡΑΦΟI 2.2.7.5: Κλήση αλγορίθμου από αλγόριθμο 2.2.7.6: Αναδρομή εισαγωγη

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

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

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

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

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

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

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

Περιληπτικά, τα βήματα που ακολουθούμε γενικά είναι τα εξής:

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

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

III. Πως μετατρέπεται το πηγαίο πρόγραμμα σε εκτελέσιμο πρόγραμμα;

III. Πως μετατρέπεται το πηγαίο πρόγραμμα σε εκτελέσιμο πρόγραμμα; ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ: Θέμα 1ο I. Τι πρέπει να ικανοποιεί ένα κομμάτι κώδικα ώστε να χαρακτηριστεί ως υποπρόγραμμα; Τα υποπρογράμματα πρέπει

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

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

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

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

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

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

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

Visual Basic Βασικές Έννοιες

Visual Basic Βασικές Έννοιες Visual Basi Βασικές Έννοιες «Είδα στον ύπνο µου ότι η ζωή είναι χαρά. Ξύπνησα και είδα ότι είναι χρέος. Αγωνίστηκα και είδα ότι τo χρέος είναι χαρά.» Ραµπριτανάθ Ταγκόρ Κουλλάς Χρίστος www.oullas.om oullas

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

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30 ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 1.1 Τι είναι Πληροφορική;...11 1.1.1 Τι είναι η Πληροφορική;...12 1.1.2 Τι είναι ο Υπολογιστής;...14 1.1.3 Τι είναι το Υλικό και το

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

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

Μ Ε Ρ Ο Σ Γ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Μ Ε Ρ Ο Σ Γ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Γλώσσες Προγραμματισμού 6.1.1 Γλώσσες μηχανής (1 η γενιά) Η γλώσσα στην οποία ένας ηλεκτρονικός υπολογιστής καταλαβαίνει

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο Με τι ασχολείται ο προγραμματισμός; Ο προγραμματισμός ασχολείται με την διατύπωση του αλγορίθμου σε κατανοητή μορφή από τον Η/Υ, δηλ. τη δημιουργία του προγράμματος, του συνόλου των εντολών που πρέπει

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

Περί Προγραμματισμού και Γλωσσών Προγραμματισμού

Περί Προγραμματισμού και Γλωσσών Προγραμματισμού ΚΕΦΑΛΑΙΟ 1 ο Περί Προγραμματισμού και Γλωσσών Προγραμματισμού Προγράμματα και Λειτουργικά Συστήματα Οι ηλεκτρονικοί υπολογιστές είναι ηλεκτρονικές συσκευές (όπως είναι και ένα ραδιόφωνο) που επιτρέπουν

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

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

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

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

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

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

Φύλλα εργασίας. MicroWorlds Pro. Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο. Β. Χ. Χρυσοχοΐδης

Φύλλα εργασίας. MicroWorlds Pro. Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο. Β. Χ. Χρυσοχοΐδης Φύλλα εργασίας MicroWorlds Pro Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο Β. Χ. Χρυσοχοΐδης Πρόεδρος Συλλόγου Εκπαιδευτικών Πληροφορικής Φλώρινας 2 «Σχεδίαση και ανάπτυξη δραστηριοτήτων

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

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ-ΙΟΥΝΙΟΥ 2015

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ-ΙΟΥΝΙΟΥ 2015 ΛΥΚΕΙΟ ΑΡΧ. ΜΑΚΑΡΙΟΥ Γ - ΔΑΣΟΥΠΟΛΗ ΣΧΟΛΙΚΟ ΕΤΟΣ 2014-2015 ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ-ΙΟΥΝΙΟΥ 2015 ΜΑΘΗΜΑ: ΠΛΗΡΟΦΟΡΙΚΗ ΗΜΕΡΟΜΗΝΙΑ: 10 /6 / 2015 ΒΑΘΜΟΣ:... ΤΑΞΗ: Β ΧΡΟΝΟΣ: 2 ώρες ΥΠ. ΚΑΘΗΓΗΤΗ:...

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

Πώς γίνεται το debug? Το debug γίνεται με δύο τρόπους, ως επί το πλείστον. Τουλάχιστον, εγώ δύο έμαθα, και αυτούς αναφέρω.

Πώς γίνεται το debug? Το debug γίνεται με δύο τρόπους, ως επί το πλείστον. Τουλάχιστον, εγώ δύο έμαθα, και αυτούς αναφέρω. Τι είναι το debug μαμα? Με απλά λόγια, debug (αποσφαλμάτωση αλλά που να κάθεσαι να το πεις), είναι η διαδικασία εντοπισμού και διόρθωσης σφαλμάτων που υπάρχουν σε κώδικα (ασχέτως γλώσσας προγραμματισμού).

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

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

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

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

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

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

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

Τύποι, Σταθερές και Μεταβλητές

Τύποι, Σταθερές και Μεταβλητές ΚΕΦΑΛΑΙΟ 3 Τύποι, Σταθερές και Μεταβλητές Η έννοια της μεταβλητής Γενικά μπορούμε να πούμε ότι η έννοια της μεταβλητής στον προγραμματισμό είναι άμεσα συνδεδεμένη με την έννοια που αυτή έχει σε μαθηματικό

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

7. Βασικά στοιχεία προγραµµατισµού.

7. Βασικά στοιχεία προγραµµατισµού. 7. Βασικά στοιχεία προγραµµατισµού. ΗΜ01-Θ1Γ Δίνονται οι παρακάτω έννοιες: 1. Λογικός τύπος δεδοµένων 2. Επιλύσιµο 3. Ακέραιος τύπος δεδοµένων 4. Περατότητα 5. Μεταβλητή 6. Ηµιδοµηµένο 7. Πραγµατικός τύπος

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

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ Μ. Γρηγοριάδου Ρ. Γόγουλου Ενότητα: Η Διδασκαλία του Προγραμματισμού Περιεχόμενα Παρουσίασης

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

Βασικά Στοιχεία της Java

Βασικά Στοιχεία της Java Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Μεταγλώτιση, σύνδεση

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Μεταγλώτιση, σύνδεση ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Μεταγλώτιση, σύνδεση Αρης Ευθυμίου Ανακοινώσεις! Βαθμοί: 1ης εργαστηριακής άσκησης Βαθμός 0 χωρίς σχόλια δεν έχω πάρει την άσκηση! ελέγξτε μήπως δεν το στέλνετε στο σωστό

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

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008 Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει

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

7. Βασικά στοιχεία προγραμματισμού

7. Βασικά στοιχεία προγραμματισμού 7. Βασικά στοιχεία προγραμματισμού 146 Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Εισαγωγή Κάθε γλώσσα προγραμματισμού, όπως αναφέρθηκε, έχει το δικό της λεξιλόγιο και τα προγράμματα της ακολουθούν

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

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

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

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

Εισαγωγή στις Συναρτήσεις

Εισαγωγή στις Συναρτήσεις Εισαγωγή στις Συναρτήσεις Η φιλοσοφία σχεδίασης της C βασίζεται στη χρήση των συναρτήσεων. Έχουμε ήδη δει και χρησιμοποιήσει πολλές συναρτήσεις που έχει το σύστημα, όπως είναι οι printf(), scanf(),αλλά

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

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

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

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

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

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

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία

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

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα 1. Ποια είναι η σχέση της έννοιας του μικροεπεξεργαστή με αυτή του μικροελεγκτή; Α. Ο μικροεπεξεργαστής εμπεριέχει τουλάχιστο έναν μικροελεγκτή. Β. Ο

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 Μάθημα: ΠΛΗΡΟΦΟΡΙΚΗ Ημερομηνία και ώρα εξέτασης: Τρίτη, 6 Ιουνίου 2006 07:30 10:30

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

ΔΙΑΔΙΚΑΣΤΙΚΟΣ ΠΡΟΓΡΑ Ρ Μ Α ΜΑΤΙ Τ ΣΜΟΣ

ΔΙΑΔΙΚΑΣΤΙΚΟΣ ΠΡΟΓΡΑ Ρ Μ Α ΜΑΤΙ Τ ΣΜΟΣ Τμήμα Εφαρμοσμένης Πληροφορικής ΔΙΑΔΙΚΑΣΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εξάμηνο Α' Φύλλο Ασκήσεων 3 ΔΟΜΕΣ ΕΠAΝΑΛΗΨΗΣ Διδάσκοντες: Μάγια Σατρατζέμη, Αλέξανδρος Χατζηγεωργίου, Ηλίας Σακελλαρίου, Στέλιος Ξυνόγαλος

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

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

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

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

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

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

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

Μιχάλης Λάμπρου Νίκος Κ. Σπανουδάκης. τόμος 1. Καγκουρό Ελλάς

Μιχάλης Λάμπρου Νίκος Κ. Σπανουδάκης. τόμος 1. Καγκουρό Ελλάς Μιχάλης Λάμπρου Νίκος Κ. Σπανουδάκης τόμος Καγκουρό Ελλάς 0 007 (ο πρώτος αριθµός σε µια γραµµή αναφέρεται στη σελίδα που αρχίζει το άρθρο και ο δεύτερος στη σελίδα που περιέχει τις απαντήσεις) Πρόλογος

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

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

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

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

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Βασικές αλγοριθμικές δομές Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Βασικές αλγοριθμικές δομές Βασικές Αλγοριθμικές Δομές 2 Εισαγωγή Οι αλγοριθμικές δομές εκφράζουν διαφορετικούς τρόπους γραφής ενός αλγορίθμου.

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

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

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

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

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

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

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

ΔΟΜΗΜΕΝΟΣ ΟΠΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΠAΡΑΘΥΡΙΚΟ ΠΕΡΙΒΑΛΛΟΝ με τη Γλώσσα Προγραμματισμού VISUAL BASIC (1 ο ΕΠΙΠΕΔΟ)

ΔΟΜΗΜΕΝΟΣ ΟΠΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΠAΡΑΘΥΡΙΚΟ ΠΕΡΙΒΑΛΛΟΝ με τη Γλώσσα Προγραμματισμού VISUAL BASIC (1 ο ΕΠΙΠΕΔΟ) Γενικός Σκοπός Το αναλυτικό πρόγραμμα έχει ως γενικό σκοπό να δώσει στους μαθητές τις απαιτούμενες γνωστικές, κριτικές και αναλυτικές δεξιότητες ώστε να είναι ικανοί να χρησιμοποιούν τους υπολογιστές για

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

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

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

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΣΚΗΣΕΙΣ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΩΤΗΣΕΙΣ ΣΩΣΤΟ ΛΑΘΟΣ Σημειώστε αν είναι σωστή ή

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

Το περιβάλλον προγραμματισμού MicroWorlds Pro

Το περιβάλλον προγραμματισμού MicroWorlds Pro Μενού επιλογών Το περιβάλλον προγραμματισμού MicroWorlds Pro Γραμμή εργαλείων Επιφάνεια εργασίας Περιοχή Καρτελών Κέντρο εντολών Εικόνα 2.1: Το περιβάλλον της MicroWorlds Pro. Καρτέλες Οι πρώτες εντολές

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly Αρης Ευθυμίου Το σημερινό μάθημα! Σύνταξη εντολών! Θέματα σχετικά με τη προσπέλαση, οργάνωση μνήμης διευθύνση για κάθε byte διευθύνσεις λέξεων

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΩΤΗΣΕΙΣ 1. Τι καλείται ψευδοκώδικας; 2. Τι καλείται λογικό διάγραμμα; 3. Για ποιο λόγο είναι απαραίτητη η τυποποίηση του αλγόριθμου; 4. Ποιες είναι οι βασικές αλγοριθμικές δομές; 5. Να περιγράψετε τις

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

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

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

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

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

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

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

Εντολές γλώσσας μηχανής

Εντολές γλώσσας μηχανής Εντολές γλώσσας μηχανής Στον υπολογιστή MIPS η εντολή πρόσθεσε τα περιεχόμενα των καταχωρητών 17 και 20 και τοποθέτησε το αποτέλεσμα στον καταχωρητή 9 έχει την μορφή: 00000010001101000100100000100000 Πεδία

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

Σενάριο 17: Παιχνίδι μνήμης με εικόνες

Σενάριο 17: Παιχνίδι μνήμης με εικόνες Σενάριο 17: Παιχνίδι μνήμης με εικόνες Φύλλο Εργασίας Τίτλος: Παιχνίδι μνήμης με εικόνες Γνωστικό Αντικείμενο: Εφαρμογές Πληροφορικής-Υπολογιστών Διδακτική Ενότητα: Διερευνώ - Δημιουργώ Ανακαλύπτω, Συνθετικές

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο Αν χ και y μεταβλητές με τιμές 5 και 10 αντίστοιχα να εξηγηθούν οι ακόλουθες εντολές εξόδου.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο Αν χ και y μεταβλητές με τιμές 5 και 10 αντίστοιχα να εξηγηθούν οι ακόλουθες εντολές εξόδου. 2.1 Αν χ και y μεταβλητές με τιμές 5 και 10 αντίστοιχα να εξηγηθούν οι ακόλουθες εντολές εξόδου. 1) Η τιμή του χ είναι,χ Ητιμή του χ είναι 5 Ηεντολή εμφανίζει ότι υπάρχει στα διπλά εισαγωγικά ως έχει.

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

Γλώσσες Προγραμματισμού Μεταγλωττιστές

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

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

Δυαδικό Σύστημα Αρίθμησης

Δυαδικό Σύστημα Αρίθμησης Δυαδικό Σύστημα Αρίθμησης Το δυαδικό σύστημα αρίθμησης χρησιμοποιεί δύο ψηφία. Το 0 και το 1. Τα ψηφία ενός αριθμού στο δυαδικό σύστημα αρίθμησης αντιστοιχίζονται σε δυνάμεις του 2. Μονάδες, δυάδες, τετράδες,

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

Δρ. Παναγιώτης Μ. Παπάζογλου Επίκουρος Καθηγητής ΤΕΙ Λαμίας. Διδακτικό βοήθημα γρήγορης μελέτης για τον προγραμματισμό του μικροεπεξεργαστή MIPS 32bit

Δρ. Παναγιώτης Μ. Παπάζογλου Επίκουρος Καθηγητής ΤΕΙ Λαμίας. Διδακτικό βοήθημα γρήγορης μελέτης για τον προγραμματισμό του μικροεπεξεργαστή MIPS 32bit Δρ. Παναγιώτης Μ. Παπάζογλου Επίκουρος Καθηγητής ΤΕΙ Λαμίας Διδακτικό βοήθημα γρήγορης μελέτης για τον προγραμματισμό του μικροεπεξεργαστή MIPS 32bit Το υλικό του οδηγού έχει αντικατασταθεί από το βιβλίο

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

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

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

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Μάθημα 8 Κεντρική Μονάδα Επεξεργασίας και Μνήμη 1 Αρχιτεκτονική του Ηλεκτρονικού Υπολογιστή Μονάδες Εισόδου Κεντρική

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

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

ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ. Από τον κατάλογο που εμφανίζεται επιλέγω: Αποστολή προς Δισκέτα (3,5)

ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ. Από τον κατάλογο που εμφανίζεται επιλέγω: Αποστολή προς Δισκέτα (3,5) ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ Τοποθετώ μια δισκέτα στον οδηγό τη δισκέτας του υπολογιστή. Τοποθετώ τη δισκέτα που έχει το αρχείο μου στον οδηγό τη δισκέτας του υπολογιστή.

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

Μονάδες 12 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Μονάδες 12 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑΔΑ A ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑΔΑ Β ) ΠΑΡΑΣΚΕΥΗ 5 ΙΟΥΝΙΟΥ 2015 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ:

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

ΣΥΣΤΗΜΑ ΤΗΡΗΣΗΣ ΩΡΑΡΙΟΥ ΕΡΓΑΖΟΜΕΝΩΝ

ΣΥΣΤΗΜΑ ΤΗΡΗΣΗΣ ΩΡΑΡΙΟΥ ΕΡΓΑΖΟΜΕΝΩΝ ΣΥΣΤΗΜΑ ΤΗΡΗΣΗΣ ΩΡΑΡΙΟΥ ΕΡΓΑΖΟΜΕΝΩΝ Το «Σύστημα τήρησης ωραρίου εργαζομένων» προσφέρει αναλυτική και αποτελεσματική εποπτεία της εργασιακής κατάστασης. Αναπτύχθηκε με σκοπό την υποβοήθηση και την απλούστευση

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

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

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

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

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System) 2.1.1 Εισαγωγή στη διαχείριση αρχείων Οι Η/Υ αποθηκεύουν τα δεδομένα και τα επεξεργάζονται. Εφαρμογή Προγράμματος C:\Documents and Settings\user\Τα έγγραφά μου\leitourgika.doc Λ.Σ. File System Γι αυτό

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

Δυνάμεις Φυσικών Αριθμών

Δυνάμεις Φυσικών Αριθμών Δυνάμεις Φυσικών Αριθμών TINΑ ΒΡΕΝΤΖΟΥ www.ma8eno.gr www.ma8eno.gr Σελίδα 1 Δυνάμεις φυσικών αριθμών Δύναμη ονομάζουμε το γινόμενο πολλών ίσων παραγόντων Πχ: 8 8= 64, 4 4 4= 64, 3 3 3 3= 81. Έτσι, το γινόμενο

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας δίπλα στο γράμμα που αντιστοιχεί σε κάθε πρόταση τη

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

Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εφαρμογή Εκτύπωσης Ταξιθετικών Ετικετών 2000-2005

Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εφαρμογή Εκτύπωσης Ταξιθετικών Ετικετών 2000-2005 Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Υπολογιστικό Κέντρο Βιβλιοθηκών Εφαρμογή Εκτύπωσης Ταξιθετικών Ετικετών 2000-2005 Σύντομο εγχειρίδιο χρήσης και λειτουργιών Εισαγωγή Το παρόν κείμενο στόχο

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

Περιεχόµενα. I Βασικές Γνώσεις 1

Περιεχόµενα. I Βασικές Γνώσεις 1 Περιεχόµενα I Βασικές Γνώσεις 1 1 Μοντελοποίηση Προγραµµάτων 3 1.1 Ψευδογλώσσα....................... 6 1.2 Διαγράµµατα Ροής..................... 6 1.3 Παραδείγµατα σε Ψευδογλώσσα και Διαγράµµατα Ροής.

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

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Αρχιτεκτονική Eckert-von Neumann εισόδου μεταφορά δεδομένων από έξω προς τον Η/Υ εξόδου μεταφορά δεδομένων από τον Η/Υ προς τα έξω ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Κύκλος Μηχανής κεντρικός έλεγχος/πράξεις

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

Το βιβλίο διευθύνσεων των Windows

Το βιβλίο διευθύνσεων των Windows Το βιβλίο διευθύνσεων των Windows Αν στέλνουμε email συχνά σε κάποιους, τότε για να μην πληκτρολογούμε τις διευθύνσεις τους κάθε φορά, τις αποθηκεύουμε στο Βιβλίο Διευθύνσεων. Έτσι όταν θα θέλουμε να τους

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

3.2 3.3 3.4 ΠΡΑΞΕΙΣ ΜΕ ΕΚΑ ΙΚΟΥΣ

3.2 3.3 3.4 ΠΡΑΞΕΙΣ ΜΕ ΕΚΑ ΙΚΟΥΣ 1 3.2 3.3 3.4 ΠΡΑΞΕΙΣ ΜΕ ΕΚΑ ΙΚΟΥΣ ΥΠΟΛΟΓΙΣΜΟΙ ΜΕ ΚΟΜΠΙΟΥΤΕΡΑΚΙ ΤΥΠΟΠΟΙΗΜΕΝΗ ΜΟΡΦΗ ΑΡΙΘΜΩΝ ΘΕΩΡΙΑ 1. Πρόσθεση αφαίρεση δεκαδικών Γίνονται όπως και στους φυσικούς αριθµούς. Προσθέτουµε ή αφαιρούµε τα ψηφία

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

Συστήματα Αυτομάτου Ελέγχου

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

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

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr»

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Επεξήγηση web site με λογικό διάγραμμα «Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Web : www.e-base.gr E-mail : support@e-base.gr Facebook : Like Twitter : @ebasegr Πολλοί άνθρωποι

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

Κατασκευή προγράμματος για επίλυση Φυσικομαθηματικών συναρτήσεων

Κατασκευή προγράμματος για επίλυση Φυσικομαθηματικών συναρτήσεων Κατασκευή προγράμματος για επίλυση Φυσικομαθηματικών συναρτήσεων Ιωάννης Λιακόπουλος 1, Χαράλαμπος Λυπηρίδης 2 1 Μαθητής B Λυκείου, Εκπαιδευτήρια «Ο Απόστολος Παύλος» liakopoulosjohn0@gmail.com, 2 Μαθητής

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Ένα πρώτο πρόγραμμα ΔΟΜΗ TOY ΠΡΟΓΡΑΜΜΑΤΟΣ. Τι σημαίνουν οι εντολές. Από τι αποτελείται ένα πρόγραμμα

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Ένα πρώτο πρόγραμμα ΔΟΜΗ TOY ΠΡΟΓΡΑΜΜΑΤΟΣ. Τι σημαίνουν οι εντολές. Από τι αποτελείται ένα πρόγραμμα ΥΠΟΛΟΓΙΣΤΕΣ Ι ΔΟΜΗ TOY ΠΡΟΓΡΑΜΜΑΤΟΣ Ένα πρώτο πρόγραμμα Κατασκευάστε πρόγραμμα που θα εμφανίζει στην οθόνη τη λέξη: PROGRAM FIRST C Αυτό είναι ένα απλό υπόδειγμα προγράμματος. 1 2 Από τι αποτελείται ένα

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

3 ο βήμα: Βγάζουμε παρενθέσεις 4 ο βήμα: Προσθέσεις και αφαιρέσεις

3 ο βήμα: Βγάζουμε παρενθέσεις 4 ο βήμα: Προσθέσεις και αφαιρέσεις 24 Κεφάλαιο ο. Να κάνετε τις πράξεις : α) 2 + 3 4-2 : (-4) + γ) -3 (-2) -5 +4: (-2) -6 β) 2 +3 (4-2): (-4 +) δ) -8 : (-3 +5) -4 (-2 + 6) Για να κάνουμε τις πράξεις ακολουθούμε τα εξής βήματα: ο βήμα: Πράξεις

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