Πρόλογος Εισαγωγικά Στοιχεία... 13
|
|
- Έλλη Δάβης
- 8 χρόνια πριν
- Προβολές:
Transcript
1
2
3 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος Εισαγωγικά Στοιχεία Το πρώτο πρόγραμμα Οι βασικοί τύποι δεδομένων και ο χειρισμός τους Σταθερές και Μεταβλητές Σταθερές τύπου ακεραίου Μεταβλητές τύπου ακεραίου Σταθερές τύπου δεκαδικού αριθμού ή κινητής υποδιαστολής Μεταβλητές τύπου δεκαδικού αριθμού ή κινητής υποδιαστολής Σταθερές τύπου χαρακτήρα Μεταβλητές τύπου χαρακτήρα Σταθερές τύπου διεύθυνσης Μεταβλητές τύπου διεύθυνσης Δήλωση και Ορισμός Περιστασιακή μετατροπή τύπου Τα δύο βήματα προσπέλασης των μεταβλητών Δεξιές και Αριστερές τιμές Η συνάρτηση scanf() Δεσμευμένες Λέξεις Η αριθμητική της C Οι τέσσερις πράξεις Προτεραιότητα - Σχετιστικότητα των τελεστών Η χρήση των παρενθέσεων Οι Τελεστές και η ερμηνεία τους Πρόσθετα Παραδείγματα Ασκήσεις Οι Εντολές Ελέγχου Οι εντολές επιλογής Η if Η if-else Η switch... 65
4 8 ΓΡΑΜΜΑΤΙΚΗ και ΣΥΝΤΑΚΤΙΚΟ της ANSI C Οι εντολές βρόχου ή επαναλήψεως Η while H do-while H for Οι εντολές διαφυγής H continue H return H goto Η συνάρτηση exit() Πρόσθετα Παραδείγματα Ασκήσεις Πίνακες και Δείκτες Πίνακες Πολυδιάστατοι Πίνακες Δείκτες και Πίνακες Αριθμητική Δεικτών Αλφαριθμητικά Αλφαριθμητικές Σταθερές Στάνταρτ Συναρτήσεις Πινάκων και Αλφαριθμητικών Πίνακες Δεικτών σε Χαρακτήρες Δείκτες και Πολυδιάστατοι Πίνακες Πρόσθετα Παραδείγματα Ασκήσεις Συναρτήσεις Συναρτήσεις Δήλωση και Ορισμός Συνάρτησης Κλήση Συνάρτησης και Τοπικές Μεταβλητές Καθολικές Μεταβλητές και Εμβέλεια Μεταβλητών Κατηγορίες Αποθήκευσης Μεταβλητών Κλήση Συνάρτησης με Αναφορά ή Δείκτες ως Παράμετροι Πίνακες ως Παράμετροι Συνάρτησης Επιστροφή Δείκτη Αναδρομή Δείκτες σε Συναρτήσεις Η Συνάρτηση main() Πρόσθετα Παραδείγματα Ασκήσεις...178
5 Περιεχόμενα 9 5. Ο Προεπεξεργαστής Ο Προεπεξεργαστής Οι Οδηγίες προς τον Προεπεξεργαστή Οργάνωση Βασικών Τύπων Δομές Τρόποι Δήλωσης Δομών Ιδιότητες των Δομών Τελεστής βέλος, προσπέλαση μελών μέσω δεικτών Δομές ως μέλη δομών Ενώσεις Απαριθμήσεις Δυναμική Διαχείριση της Διαθέσιμης Μνήμης Λίστες και Αυτοαναφερόμενες Δομές Ασκήσεις Πρόσβαση σε Αποθηκευμένα Δεδομένα Διαχείριση Αρχείων Ροές και Στάνταρτ Αρχεία Προσπέλαση Αρχείων Προσωρινά Αρχεία Δυαδική Είσοδος / Έξοδος Δεδομένων ή Δυαδικά Αρχεία Επιλεκτική ή Στοχαστική Προσπέλαση Δεδομένων Ασκήσεις Στάνταρτ Βιβλιοθήκη Λίστα παραμέτρων μεταβλητού μήκους Συναρτήσεις Εισόδου, Εξόδου, Αρχείων Χαμηλού επιπέδου είσοδος έξοδος Είσοδος Έξοδος μεμονωμένου χαρακτήρα Διαχείριση Αρχείων Στοχαστική Προσπέλαση Είσοδος Έξοδος αλφαριθμητικών Φόρμα εισόδου εξόδου δεδομένων Προσωρινά Αρχεία Αποθήκευση Έλεγχος διαδικασιών Τερματισμός προγράμματος Λειτουργικό περιβάλλον Υποστήριξη Τοπικών Τυποποιήσεων...260
6 10 ΓΡΑΜΜΑΤΙΚΗ και ΣΥΝΤΑΚΤΙΚΟ της ANSI C Αποκατάσταση Σφάλματος Σηματοδοσίες και Εξαιρέσεις Διαχείριση Διαθέσιμης Μνήμης Μετατροπή αλφαριθμητικού σε αριθμό Μαθηματικές Συναρτήσεις Αριθμητικές Τριγωνομετρικές Υπερβολικές Τυχαίων αριθμών Διαίρεσης modulo Λογαριθμικές και Εκθετικές Συναρτήσεις χαρακτήρων Αλφαριθμητικά / αλφαριθμητικές σταθερές Αντιγραφή και σύνδεση Σύγκριση και αναζήτηση Υπολογισμός μήκους Διάφορες Ταξινόμηση και Αναζήτηση Χρόνος και Ημερομηνία Παράρτημα Σύνολο Χαρακτήρων ASCII Ερμηνεία τελεστών Προτεραιότητα και Σχετιστικότητα των Τελεστών Ευρετήριο τυποποιημένων όρων Ευρετήριο...293
7 Κεφάλαιο 6: Οργάνωση Βασικών Τύπων 195 Δομές Πέρα από τους πίνακες, που αποτελούν ομαδοποιήσεις ομοειδών μεταβλητών, η C παρέχει στον προγραμματιστή τη δυνατότητα ομαδοποίησης μεταβλητών διαφορετικών βασικών τύπων, οι οποίες ονομάζονται δομές (structures). Κάθε δομή έχει όνομα και χώρο αποθήκευσης στη μνήμη. Έχει, δηλαδή, ιδιότητες μεταβλητής. Πράγματι, οι δομές είναι μεταβλητές ο τύπος των οποίων δημιουργείται από τον προγραμματιστή, σε αντίθεση με τους βασικούς τύπους μεταβλητών int, float, char, κ.λ.π. που εμπεριέχονται στη γλώσσα και αποτελούν θεμελιώδη δομικά της στοιχεία. Η ευχέρεια δημιουργίας μεταβλητών προσαρμοσμένων στις ανάγκες του προς επίλυση προβλήματος συντελεί στην ευελιξία και συνεκτικότητα των προγραμμάτων. Ενώ, λοιπόν, για τις μεταβλητές των βασικών τύπων αρκούν δηλώσεις όπως, για παράδειγμα, οι: char ch; float fn; ώστε οι ch και fn να αποτελέσουν μεταβλητές ενός προγράμματος, για την περίπτωση των δομών ο προγραμματιστής πρέπει να δώσει στον compiler πρόσθετη πληροφορία για τον τρόπο συγκρότησής τους. Η πρόσθετη αυτή πληροφορία είναι η δήλωση της μορφής (shape) της δομής. Ο γενικός τύπος δήλωσης μορφής δομής είναι ο ακόλουθος: struct όνομα της μορφής της δομής μέλος; μέλος;..... μέλος; }; Στην εντολή δήλωσης κάθε μορφής δομής προηγείται πάντοτε η δεσμευμένη λέξη struct. Ακολουθεί το, προαιρετικό, όνομα που ο προγραμματιστής δίνει στη συγκεκριμένη μορφή δομής και το σώμα με τα μέλη της δομής, που είναι μεταβλητές των βασικών τύπων της γλώσσας ή μπορεί να είναι και δομές άλλου τύπου. Η λατινική άνω τελεία (;) τοποθετείται πάντοτε μετά το τελευταίο άγκιστρο } της δήλωσης της μορφής δομής, όπως συμβαίνει και με τις δηλώσεις μεταβλητών που ανήκουν στους βασικούς τύπους της γλώσσας.
8 196 ΓΡΑΜΜΑΤΙΚΗ και ΣΥΝΤΑΚΤΙΚΟ της ANSI C Ας δούμε τα πράγματα με ένα παράδειγμα. sruct book char publisher[25]; char title[45]; char author[25]; int No_Of_Pages; float price; }; Με την εντολή αυτή εισάγουμε ένα νέο τύπο δεδομένων, έναν νέο τύπο δομής, στον οποίο έχουμε δώσει το όνομα book. Έχουμε δηλαδή ουσιαστικά δημιουργήσει ένα καλούπι από το οποίο μπορούμε να παράγουμε δομές (μεταβλητές) που δεν ανήκουν στους βασικούς τύπους της C, αλλά στον τύπο book. (Ας υπενθυμίσουμε εδώ ότι " τύπος " είναι η παλαιότερη ελληνική λέξη για το καλούπι). Η μορφή book έχει πέντε μέλη, τρεις πίνακες χαρακτήρων καταλλήλων διαστάσεων, μια μεταβλητή int και μια μεταβλητή float. Η ως άνω δήλωση μορφής δεν δεσμεύει μνήμη, αλλά αποτελεί ενημέρωση του compiler ότι ο προγραμματιστής, εκμεταλλευόμενος της δυνατότητες της γλώσσας, προτίθεται να δημιουργήσει νέου τύπου αντικείμενα που θα χρησιμοποιηθούν στο υπό σύνταξη πρόγραμμα. Μετά τη δήλωση μορφής είμαστε σε θέση να αρχίσουμε την παραγωγή αντιτύπων (instants), δηλαδή των δομών που θα βγουν από το συγκεκριμένο καλούπι. Μια τέτοια παραγωγή πραγματοποιείται με τη δήλωση δομών. Έτσι, μεταβλητές (δομές), τύπου book, δηλώνονται με εντολές όπως οι: struct book book_1; struct book book_2, book_3; με τις οποίες γίνεται αυτομάτως και ο ορισμός των μελών της κάθε μιας δομής, δεσμεύεται δηλαδή μνήμη για τα μέλη αυτά. Η δήλωση γίνεται πάντοτε με χρήση της δεσμευμένης λέξης struct η οποία ακολουθείται από το όνομα που δόθηκε στη συγκεκριμένη μορφή (στο συγκεκριμένο καλούπι) δομής, εδώ book, και καταλήγει με τα ονόματα μιας η περισσότερων δομών του υπ όψη τύπου, π.χ. book_2, book_3. Η προσπέλαση των μελών των δομών γίνεται με χρήση του τελεστή τελεία (.), ο οποίος παρέχει τη δυνατότητα πρόσβασης και απόδοσης τιμής σε κάθε ένα μέλος μιας δομής ξεχωριστά Έτσι, ο γενικός τύπος απόδοσης τιμής σε μέλη δομής είναι: όνομαδομής.όνομαμέλους = τιμή συμβατού τύπου; Με τις παραπάνω δύο δηλώσεις δομών δημιουργούνται οι book_1, book_2, book_3 και τους παραχωρείται χώρος στη μνήμη όπως φαίνεται στο σχήμα.
9 Κεφάλαιο 6: Οργάνωση Βασικών Τύπων 197 book_1. publisher. title. author. No_Of_Pages. price book_2. publisher. title. author. No_Of_Pages. price book_3. publisher. title. author. No_Of_Pages. price Παραδείγματα απόδοσης τιμών σε μέλη των ως άνω δομών είναι τα ακόλουθα: book_3.no_of_pages = 384; book_1.price = 25.00; scanf( %s, book_1.publisher); Οι τιμές αυτές είναι δυνατόν να αλλάξουν κατά τη ροή του προγράμματος, αφού τα μέλη των δομών είναι μεταβλητές. Για παράδειγμα οι εντολές: book_3.no_of_pages = 2384; book_1.price = ; scanf( %s, book_1.publisher); αλλάζουν τις τιμές των ως άνω μεταβλητών, εφόσον στη νέα κλήση της scanf() πληκτρολογείται διαφορετικό όνομα για τον publisher. Είναι ευνόητο ότι όταν αναφερόμαστε στα μέλη μιας δομής πρέπει απαραιτήτως να καθορίζουμε τη δομή στην οποία αυτά ανήκουν. Έξω από τη δομή τα μέλη της δεν έχουν υπόσταση. Η εντολή : No_Of_Pages = 404; δεν είναι αναγνωρίσιμη από τον compiler. Όπως συμβαίνει και με τους συμβατικούς τύπους μεταβλητών οι δομές μπορούν να ο- μαδοποιηθούν σε πίνακες δομών. Με την εντολή: struct book Library[1200]; δηλώνεται ο πίνακας Library με 1200 στοιχεία καθένα από τα οποία είναι δομή τύπου book.
10 198 ΓΡΑΜΜΑΤΙΚΗ και ΣΥΝΤΑΚΤΙΚΟ της ANSI C Ας δούμε μια πιο ολοκληρωμένη παρουσίαση των πραγμάτων με τη βοήθεια του προγράμματος: #include <stdio.h> struct book char publisher[25]; char title[45]; char author[25]; int No_Of_Pages; float price; }; main() int i; struct book bookself[3]; for(i=0;i<3;i++) printf("book No %d\n", i+1); printf("type the name of the publisher\n"); scanf("%s", bookself[i].publisher); printf("type the title\n"); scanf("%s", bookself[i].title); printf("type the name of the author\n"); scanf("%s", bookself[i].author); printf("type the number of pages\n"); scanf("%d", &bookself[i].no_of_pages); printf("type the price\n"); scanf("%f", &bookself[i].price); } return 0; } Εδώ δηλώνεται ως καθολική (και άρα διαθέσιμη για χρήση και από, τυχόν υπάρχουσες, άλλες συναρτήσεις του προγράμματος) η μορφή της δομής book. Μέσα στη main() δηλώνεται ο πίνακας bookself (= ράφι) τριών δομών τύπου book. Στο βρόχο for καλείται ο χρήστης του προγράμματος να εισαγάγει τις τιμές που θα αποδοθούν στα μέλη κάθε δομής του bookself[3]. Προσέξτε τον τρόπο με τον οποίο ονομάζονται με χρήση του τελεστή τελεία τα μέλη των δομών στοιχείων του bookself[3].
11 Κεφάλαιο 6: Οργάνωση Βασικών Τύπων 199 Σημειώστε ότι εντολές όπως η: bookself[1].title[45] = Gone with the wind ; δεν γίνονται αποδεκτές από τον compiler, διότι, όπως έχουμε τονίσει στο κεφάλαιο για τους πίνακες, αρχικοποίηση ενός πίνακα είναι δυνατή μόνο κατά τη δήλωσή του. Εδώ με την εντολή: struct book bookself[3]; δηλώθηκαν οι τέσσερις δομές του bookself[3], χωρίς όμως να αρχικοποιηθούν και οι πίνακες - μέλη που περιέχονται σε αυτές. Κατά συνέπεια, απόδοση τιμής στα εν λόγω μέλη, σε άλλο σημείο του προγράμματος, μπορεί να πραγματοποιηθεί μόνο με χρήση συναρτήσεων όπως η scanf() ή η gets(). Τρόποι Δήλωσης Δομών Η C παρέχει την δυνατότητα δήλωσης των δομών κατά διαφορετικούς τρόπους. Σε όλες όμως τις περιπτώσεις οι δηλώσεις των δομών πρέπει να γίνονται πριν από κάθε εντολή της συνάρτησης που τις περιέχει, όπως άλλωστε ισχύει και για τις δηλώσεις μεταβλητών των βασικών τύπων. Στον πρώτο τρόπο δήλωσης αναφερθήκαμε ήδη παραπάνω, αλλά για την πληρότητα της ανάπτυξης θα τον παρουσιάσουμε και πάλι εδώ. 1. Ξεχωριστή δήλωση μορφής και δήλωση αντιτύπων. struct Player char Name[30]; int Age; }; struct Player player1, player2, BasketBallTeam[5]; Στην πρώτη από τις ανωτέρω δύο εντολές δηλώνεται η μορφή της δομής Player, ενώ στη δεύτερη αφ ενός οι δομές player1, player2, που είναι τύπου Player, και αφ ετέρου ο πίνακας δομών BasketBallTeam[5] που έχει πέντε στοιχεία κάθε ένα από τα οποία είναι μια δομή τύπου Player. 2. Ταυτόχρονη δήλωση μορφής, μέ ή χωρίς όνομα, και αντιτύπων struct char capital; float population;} Spain, Portugal; struct Identity char* Name; int Age; float Salary;} Actor, Musician; Στην πρώτη από τις δύο περιπτώσεις, στην ίδια εντολή έχουμε δήλωση της μορφής και δήλωση δύο δομών των Spain και Portugal που ανήκουν στη μορφή αυτή που δηλώθηκε μεν αλλά δεν της δόθηκε κάποιο όνομα. Με μια τέτοια όμως δήλωση, δεν μπορούμε να δηλώσουμε άλλες δομές πέρα από τις δύο που δηλώθηκαν, και αυτό διότι δεν έχουμε όνομα της μορφής (του σχήματος, του καλουπιού) στο οποίο πρέπει να αναφερθούμε για να γίνει δυνατή η δήλωση και άλλων αντιτύπων. Η έλλειψη αυτή καλύπτεται με μια δήλωση τόσο της μορφής με το όνομά της όσο και των αντιτύπων όπως γίνεται στη δεύτερη περίπτωση.
12 200 ΓΡΑΜΜΑΤΙΚΗ και ΣΥΝΤΑΚΤΙΚΟ της ANSI C 3. Δήλωση με χρήση της δεσμευμένης λέξης typedef Εάν έχει γίνει η δήλωση: struct Player char Name[30]; int Age; }; τότε με την εντολή: typedef struct Player BestPlayer; η λέξη BestPlayer ορίζεται ως συνώνυμο των δύο λέξεων struct Player. Αυτό έχει ως συνέπεια να μπορούμε να δηλώνουμε δομές τύπου Player ως εξής: BestPlayer player3, player4; Η δήλωση αυτή είναι ισοδύναμη με την: struct Player player3, player4; την οποία επίσης μπορούμε να εξακολουθούμε να τη χρησιμοποιούμε στο ίδιο πρόγραμμα. Χρήση της typedef μπορεί να γίνει και στην ακόλουθη περίπτωση: typedef char Name[30]; int Age; } GoodPlayer; Εδώ αν και δεν έχουμε δώσει όνομα στη μορφή της δομής μπορούμε να δηλώσουμε: GoodPlayer player5, FootBallTeam[11]; Ο ορισμός συνωνύμων με την ως άνω χρήση της typedef μας απαλλάσσει από την ονοματοδοσία των μορφών των δομών. Γενικώς χρησιμοποιούμε την typedef, όταν θέλουμε να εισαγάγουμε ένα συνώνυμο ενός από τους υπάρχοντες ή από τους παραγόμενους τύπους της γλώσσας. Έτσι με την εντολή: typedef float decimal; Εισάγεται η λέξη decimal ως συνώνυμο της λέξης float και μπορεί να χρησιμοποιηθεί αντί αυτής, όπως γίνεται με την εντολή: decimal x, y, x; όπου τα x, y, x είναι στην πραγματικότητα μεταβλητές τύπου float. Αποτελεί συνήθη προγραμματιστική τακτική το να περιλαμβάνουμε τις δηλώσεις μορφής των δομών που χρησιμοποιούμε συχνά σε ένα ξεχωριστό αρχείο, το οποίο μπορούμε να το εισάγουμε στα προγράμματά μας με μια οδηγία #include του προεπεξεργαστή, κάθε φορά που το χρειαζόμαστε. Έτσι σε περίπτωση που είναι επιθυμητή η αλλαγή της δομής δεν έχουμε παρά να αλλάξουμε τον κώδικα σε ένα και μοναδικό αρχείο. Είναι προφανές ότι την ίδια αντιμετώπιση θα πρέπει να έχουν και οι συναρτήσεις που συντάσσονται από τον προγραμματιστή και χρησιμοποιούνται συχνά στα προγράμματα με την αρχική τους μορφή ή με μικρές παραλλαγές.
13 Κεφάλαιο 6: Οργάνωση Βασικών Τύπων 201 Ιδιότητες των Δομών Τα μέλη μιας δομής μπορούν να αρχικοποιηθούν με τη δήλωση της. Π.χ. struct char model[15]; int Year;} car1= Fiat, 1960}, car2= Ferrari, 1984}; όπου η δήλωση της μορφής ακολουθείται από τη δήλωση των αντιτύπων car1 και car2 με αρχικοποίηση των μελών τους. Αν κάποια από τα μέλη δεν αρχικοποιηθουν τους αποδίδεται μηδενική τιμή. Επίσης struct Italian_car char model[15]; int Year;} Ferrari= Testa Rossa, 1990}; όπου έχουμε ταυτόχρονη δήλωση και ονοματοδοσία της μορφής της δομής και παραγωγή του αντιτύπου Ferrari με αρχικοποίηση των μελών του. Οι δομές μπορούν να δηλωθούν ως extern, static, auto, register, όπως και οι βασικές μεταβλητές. Ο χειρισμός των μελών των δομών γίνεται όπως και όλων των κοινών μεταβλητών Player1. age=23; Ή και Player1.age = player2.age; Μπορούμε να δηλώσουμε δείκτες σε δομές συγκεκριμένης μορφής, και να αποδώσουμε εν συνεχεία σε αυτούς ως τιμές τις διευθύνσεις αντιτύπων που παράγονται από την εν λόγω μορφή. struct Player char Name[30]; int Age}, player6, player7, *pstr; pstr = &player6; pstr = &player7; Μία ολόκληρη δομή είναι δυνατόν να αποδοθεί ως τιμή σε μία άλλη που έχει παραχθεί από το ίδιο καλούπι. player6 = player7; Είναι επιτρεπτός ο ορισμός συναρτήσεων που περιέχουν στη λίστα των παραμέτρων τους δομές. Για παράδειγμα στο πρόγραμμα: #include <stdio.h> struct Player char Name[30]; int Age;}; void ShowPlayer(struct Player Cards_Player) printf("%s %d\n", Cards_Player.Name, Cards_Player.Age); }
14 202 ΓΡΑΜΜΑΤΙΚΗ και ΣΥΝΤΑΚΤΙΚΟ της ANSI C main() struct Player player1="jordan", 48}, player2; ShowPlayer(player1); printf("input the player's name\n"); scanf("%s", player1.name); printf("input the player's age\n"); scanf("%d", &player1.age); player2 = player1; ShowPlayer(player2); return 0; } η συνάρτηση ShowPlayer() έχει ως παράμετρο μια δομή τύπου Player, της οποίας με χρήση της printf() εμφανίζει τα μέλη. Μέσα στη main() αρχικοποιείται η player1 και player2, αντίτυπα της μορφής Player. Στη πρώτη κλήση της ShowPlayer() εμφανίζονται τα μέλη της player1. Ακολούθως τα μέλη της player1 λαμβάνουν νέες τιμές, η δε player1, με τις νέες τιμές των μελών της, αποδίδεται ολόκληρη ως τιμή στη δομή player2. Στη δεύτερη κλήση της ShowPlayer() της διαβιβάζεται ως όρισμα η player2, της οποίας και εμφανίζει τα μέλη. Σημειώστε ότι η διαβίβαση τιμής στην ShowPlayer() γίνεται με αντιγραφή της player2 στην παράμετρο Cards_Player, που είναι και αυτή δομή τύπου Player. Το αποτέλεσμα της εκτέλεσης είναι το: Jordan 48 Input the player's name Johnson Input the player's age 50 Johnson 50 Μπορούμε να συντάξουμε συναρτήσεις που να έχουν επιστρεφόμενη τιμή μια ολόκληρη δομή. Ας το δούμε αυτό με μια τροποποίηση του παραπάνω προγράμματος: #include <stdio.h> struct Player char Name[30]; int Age;}; void ShowPlayer(struct Player Cards_Player) printf("%s %d\n", Cards_Player.Name, Cards_Player.Age); } struct Player returnstruct() struct Player assistant; printf("input the name\n"); scanf("%s", assistant.name); printf("input the age\n");
15 Κεφάλαιο 6: Οργάνωση Βασικών Τύπων 203 } scanf("%d", &assistant.age); return assistant; main() struct Player player1="jordan", 48}, player2; ShowPlayer(player1); player2 = returnstruct("jones", 54); ShowPlayer(player2); return 0; } Εν προκειμένω ορίζεται η συνάρτηση returnstruct() που επιστρέφει μια δομή τύπου Player. Η επιστρεφόμενη δομή αποδίδεται ως τιμή στην player2, τα μέλη της οποίας εμφανίζονται με χρήση της ShowPlayer(). Το αποτέλεσμα είναι: Jordan 48 Input the name Jones Input the age 54 Jones 54 Απαγορεύεται η σύγκριση δομών μεταξύ τους, ακόμη και αν προέρχονται από την ίδια μορφή. Εντολές όπως οι: while (player1<=player2)... } ή while (player1==player2)... } είναι μη αποδεκτές από τον compiler. Τα ονόματα των δομών δεν είναι διευθύνσεις της μνήμης. Οι ως άνω ιδιότητες αναδεικνύουν τη διαφορά μεταξύ των δομών και των πινάκων, και τους ρόλους που επιφυλάσσει η C για καθένα από τα δύο αυτά είδη ομαδοποιημένων δεδομένων. Τελεστής βέλος, προσπέλαση μελών μέσω δεικτών Έχουμε ήδη αναφερθεί στον τελεστή τελεία (.) που χρησιμοποιούμε προκειμένου να αποκτήσουμε πρόσβαση στα μέλη μιας δομής. Ας δούμε τώρα πώς μπορούμε να προσπελάσουμε τα μέλη μιας δομής μέσω δεικτών, θεωρώντας τις εντολές: struct Player char Name[30]; int Age}, player6, player7, *pstr; pstr = &player6;
16 204 ΓΡΑΜΜΑΤΙΚΗ και ΣΥΝΤΑΚΤΙΚΟ της ANSI C Στη πρώτη από αυτές δηλώνονται οι δομές player6, player7, αλλά και ο δείκτης pstr σε δομή τύπου Player. Στη δεύτερη αποδίδεται στον pstr ως τιμή η διεύθυνση της δομής player6, δηλαδή ο pstr είναι η διεύθυνση της δομής, επομένως η *pstr είναι η ίδια η δομή. Συνεπώς με χρήση του τελεστή τελεία (.) θα μπορούσαμε να προσπελάσουμε το μέλος Age της player6 ως: *pstr.age = 26; με βάση, όμως, τους κανόνες προτεραιότητας / σχετιστικότητας ο τελεστής τελεία, που βρίσκεται στη γραμμή 1 του αντίστοιχου πίνακα, έχει υψηλότερη προτεραιότητα από τον τελεστή *, που βρίσκεται στη δεύτερη γραμμή. Άρα η παραπάνω εντολή είναι ισοδύναμη με την: *(pstr.age) = 26; αλλά η παράσταση αυτή δεν έχει έννοια εν προκειμένω. Αν γράψουμε όμως: (*pstr).age = 26; τότε αφού η (*pstr) είναι, όπως είπαμε, η δομή, τότε το (*pstr).age είναι πράγματι το μέλος της που επιθυμούμε να προσπελάσουμε. Η C παρέχει έναν κομψότερο τρόπο για την προσπέλαση των μελών των δομών μέσω δεικτών. Για το σκοπό αυτό έχει εισαχθεί ο τελεστής βέλος (->) που σχηματίζεται από το σημείο του "πλην" (-) ακολουθούμενο από το σημείο του "μεγαλύτερο από" (>), και αντικαθιστά τον τελεστή τελεία, όταν πρόκειται για προσπέλαση μελών με χρήση δεικτών. Έτσι η παραπάνω εντολή: (*pstr).age = 26; μπορεί να γραφεί ισοδύναμα ως: pstr->age = 26; Κατ αναλογία μπορούμε να γράψουμε: scanf( %s, pstr->name); για προσπέλαση του πρώτου μέλους της δομής player6. Καθώς επίσης και pstr = &player7; pstr->age = 26; οπότε τώρα η pstr->age = 26; αποδίδει τιμή στο δεύτερο μέλος της player7. Στην περίπτωση που έχουμε πίνακες δομών, έστω για παράδειγμα τον Library[1200], που, μαζί με τον q δείκτη σε δομή τύπου book, δηλώνεται στις παρακάτω εντολές:
17 Κεφάλαιο 6: Οργάνωση Βασικών Τύπων 205 struct book char publisher[25]; char title[45]; char author[25]; int No_Of_Pages; float price; }; struct book Library[1200], *q; τότε το όνομα του πίνακα, το Library, είναι η και διεύθυνση του καθώς και η διεύθυνση του πρώτου του στοιχείου - δομής, όπως συμβαίνει με όλους τους πίνακες στη C. Επομένως το 900 ο στοιχείο δομή του εν λόγω πίνακα μπορεί να προσπελασθεί είτε ως Library[899], είτε μέσω της διεύθυνσής του που είναι Library+899. Στην πρώτη περίπτωση το μέλος author του εν λόγω 900 ου στοιχείου δομής μπορεί να προσπελασθεί ως Library[899].author, ενώ στη δεύτερη ως (Library+899)->author. Οι παρενθέσεις εδώ είναι απαραίτητες, διότι χωρίς αυτές η υψηλότερη προτεραιότητα του τελεστή βέλους (->), σε σχέση με εκείνη του συμβόλου της πρόσθεσης (+), θα μας έδινε παράσταση ισοδύναμη με την Library+(899->author) η οποία στερείται λογικής έννοιας. Έτσι με μια εντολή όπως η: scanf( %s, (Library+899)->author); έχουμε τη δυνατότητα να αρχικοποιήσουμε το μέλος της εν λόγω δομής ή να αλλάξουμε το περιεχόμενό του, που θα μπορούσε να εμφανισθεί στην οθόνη με μια printf(), όπως η: printf( %s\n, (Library+899)->author); Είναι προφανές ότι το Library+899 ως σταθερά διεύθυνσης μπορεί να αποδοθεί σε μεταβλητή κατάλληλου τύπου. Μια τέτοια είναι ο ανωτέρω δηλωθείς δείκτης q. Επομένως είναι αποδεκτές εντολές όπως οι: q = Library; /*Το όνομα κάθε πίνακα είναι σταθερά διεύθυνσης*/ q = &Library[i]; /*για 0<= i <=1199*/ q = Library+i; /*για 0<= i <=1199*/ καθώς και οι: scanf( %s, (q+99)->author); printf( %s\n, (q+57)->author); κ.ο.κ.
18
Ανάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο
Διαβάστε περισσότεραΕισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011
Εισαγωγή στον Προγραµµατισµό Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Hello World /* Αρχείο hello.c * Εµφανίζει στην οθόνη το * µήνυµα hello world */ #include
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Ορισμός
Διαβάστε περισσότεραΠεριεχόμενα. Πρόλογος... 21
Περιεχόμενα Πρόλογος... 21 Κεφάλαιο 1: Εισαγωγή στον προγραμματισμό... 25 Εισαγωγή...27 Πώς να διαβάσετε αυτό το βιβλίο...27 Η δομή των κεφαλαίων...28 Γιατί να μάθω προγραμματισμό;...31 Γιατί να μάθω C;...31
Διαβάστε περισσότεραΗ πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης
Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται
Διαβάστε περισσότερα3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις
3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα
Διαβάστε περισσότεραΠίνακες. 1 Πίνακες. 30 Μαρτίου 2014
Πίνακες 0 Μαρτίου 014 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα του συγκεκριμένου τύπου. Στην περίπτωση που θέλουμε
Διαβάστε περισσότεραΔιάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος
Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα
Διαβάστε περισσότεραΕισαγωγή στην γλώσσα προγραμματισμού C
Εισαγωγή στην γλώσσα προγραμματισμού C Χαρακτηριστικά της C Ιδιαίτερα δημοφιλής Έχει χρησιμοποιηθεί για τον προγραμματισμό ευρέος φάσματος συστημάτων και εφαρμογών Γλώσσα μετρίου επιπέδου Φιλοσοφία: Ο
Διαβάστε περισσότεραΠεριεχόμενα. Πρόλογος... 17
Περιεχόμενα Πρόλογος... 17 Κεφάλαιο 1: Εισαγωγή... 19 Πώς να διαβάσετε αυτό το βιβλίο... 20 Η γλώσσα C Ιστορική αναδρομή... 22 Τα χαρακτηριστικά της C... 23 C Μια δομημένη γλώσσα... 23 C Μια γλώσσα για
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δομές & Ενώσεις. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών
Δομές & Ενώσεις Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Προγραμματισμός Δ. Τσελίκας Ι 1 Δομές (Structures) Δομή (structure) στη C είναι μία συλλογή από μεταβλητές οποιουδήποτε
Διαβάστε περισσότεραΠρογραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 9: Συναρτήσεις Ορισμός συναρτήσεων () { /* δήλωση μεταβλητών */ /* εντολές ελέγχου/επεξεργασίας */ o Μια συνάρτηση ορίζεται δίνοντας
Διαβάστε περισσότεραΗ βασική συνάρτηση προγράμματος main()
Η βασική συνάρτηση προγράμματος main() HEADER FILES main(){ ΔΗΛΩΣΕΙΣ ΜΕΤΑΒΛΗΤΩΝ ΕΝΤΟΛΕΣ (σειριακές, επιλογής ή επανάληψης) ΕΠΙΣΤΡΕΦΟΜΕΝΟΣ ΤΥΠΟΣ (return 0;) Συναρτήσεις Η συνάρτηση είναι ένα υποπρόγραμμα
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33
ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος του συγγραφέα... 13 Πρόλογος του καθηγητή Τιμολέοντα Σελλή... 15 ΚΕΦΑΛΑΙΟ 1: Εργαλεία γλωσσών προγραμματισμού...17 1.1 Γλώσσες προγραμματισμού τρίτης γεννεάς... 18 τι είναι η γλώσσα
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Συναρτήσεις της C Τα Λοιπά Στοίβα και μηχανισμός κλήσης Αναδρομικές συναρτήσεις Στατικές μεταβλητές Άλλα θέματα Μηχανισμός
Διαβάστε περισσότεραscanf() scanf() stdin scanf() printf() int float double %lf float
Εισαγωγή Στον Προγραµµατισµό «C» Είσοδος Δεδοµένων Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Η συνάρτηση scanf() Η συνάρτηση
Διαβάστε περισσότεραΠρογραμματισμός ΙI (Θ)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017
Διαβάστε περισσότεραΕισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C
Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος
Διαβάστε περισσότεραΠίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα "Αλφαριθμητικά"
Πίνακες: μια σύντομη εισαγωγή Πίνακες χαρακτήρων: τα "Αλφαριθμητικά" Πίνακες(Arrays): έννοιες και ορισμοί Ορισμός: Πίνακας (array) = σύνολο μεταβλητών του ιδίου τύπου (int, float, char,...) με ένα κοινό
Διαβάστε περισσότεραΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
23 ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 2ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος I/O 24 Βασική βιβλιοθήκη συναρτήσεων εισόδου/εξόδου #include Η συνάρτηση εξόδου printf printf("συμβολοσειρά
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Παρατηρήσεις
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 13 η Δομές & Ενώσεις Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16
Διαβάστε περισσότερα6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ
6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ 6.1 Η Έννοια του Πίνακα Συχνά είναι προτιμότερο να αντιμετωπίζουμε ένα σύνολο μεταβλητών σαν ενότητα για να απλοποιούμε το χειρισμό τους. Έτσι οργανώνουμε σύνθετα δεδομένα σε
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 Μεταβλητές-Σταθερές-Παράμετροι Τα στοιχεία
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΗβασικήσυνάρτηση προγράμματος main()
Ηβασικήσυνάρτηση προγράμματος main() HEADER FILES main(){ ΔΗΛΩΣΕΙΣ ΜΕΤΑΒΛΗΤΩΝ ΕΝΤΟΛΕΣ (σειριακές, επιλογής ή επανάληψης) ΕΠΙΣΤΡΕΦΟΜΕΝΟΣ ΤΥΠΟΣ (return 0;) Συναρτήσεις Ησυνάρτησηείναι ένα υποπρόγραμμα που
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΠρογραμματισμός Ι. Εγγραφές. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Εγγραφές Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Η Ανάγκη Ομαδοποίησης Πολλές φορές έχουμε πληροφορίες διαφορετικού τύπου οι οποίες όμως έχουν μεγάλη
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις
Διαβάστε περισσότεραΔομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 3 Επανάληψη Γ μέρος
ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ Δομές Δεδομένων (Εργ.) Ακ. Έτος 2017-18 Διδάσκων: Ευάγγελος Σπύρου Εργαστήριο 3 Επανάληψη Γ μέρος 1. Στόχος του εργαστηρίου Στόχος του τρίτου εργαστηρίου είναι
Διαβάστε περισσότεραΕνδεικτική περιγραφή μαθήματος
ΜΑΘΗΜΑ: ΔΙΔΑΣΚΩΝ: ΤΜΗΜΑ: Προγραμματισμός Η/Υ Συνδουκάς Δημήτριος Διοίκησης Επιχειρήσεων (Γρεβενά) Ενδεικτική περιγραφή μαθήματος 1. Εισαγωγή: Εισαγωγή στον προγραμματισμό, γλώσσες προγραμματισμού, μεταγλωτιστές.
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Ενότητα 12 Δομές (Structures) Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Αφαιρετικότητα Με τις συναρτήσεις επιτυγχάνουμε αφαιρετικότητα
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων
Διαβάστε περισσότερα2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων
2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει
Διαβάστε περισσότεραΔεδομένα, Τύποι και Τιμές
Προγραμματισμός Η/Υ Ι Δεδομένα, Τύποι και Τιμές ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Οι περισσότερες προγραμματιστικές εργασίες περιλαμβάνουν χειρισμό
Διαβάστε περισσότεραΔείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8
Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 1000 1001 1002 1003 1004 1005 12 9.8 9976 3 1010 26 1006 1007 1008 1009 1010 1011 16 125 1299 a 13 1298 Δήλωση Δήλωση Τύπος
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Δομές Δεδομένων και Κυρίως Πρόγραμμα Δομές δεδομένων εκτός από πίνακες: Structs Unions Enums Κυρίως πρόγραμμα Παράμετροι που
Διαβάστε περισσότεραΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής
ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράµµατα «γράφονται» χρησιµοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαµβάνει
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Δεύτερη Διάλεξη Βασικά στοιχεία της γλώσσας προγραμματισμού C Μία γλώσσα προγραμματισμού όπως και μια ανθρώπινη γλώσσα μπορεί να μελετηθεί ως προς το αλφάβητό της,
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΟικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2
Οικονόμου Βαγγέλησ Διάλεξη Νο 2 Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2 1 Η έννοια τησ μεταβλητήσ έδωςε λύςη ςτο πρόβλημα τησ αναφοράσ ςτην κύρια μνήμη του υπολογιςτή. Οι γλώςςεσ προγραμματιςμού υποςτηρίζουν
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΚλάσεις και αντικείμενα #include <iostream.h<
Κλάσεις και αντικείμενα #include class Person private: char name[30]; int age; public: void readdata() cout > name; cout > age; void
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Νέο Πρόγραμμα
Διαβάστε περισσότεραΑ' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 9η εβδομάδα. Κοζάνη, 2 Δεκεμβρίου 2008. Δίνονται παραδείγματα που αποσαφηνίζουν και συμπληρώνουν όσα αναφέρθηκαν στο μάθημα σχετικά με τις δομές
Διαβάστε περισσότεραΕνώσεις δεδομένων Απαριθμητές Ψηφιακοί τελεστές Αναδρομικές συναρτήσεις
Ενώσεις δεδομένων Απαριθμητές Ψηφιακοί τελεστές Αναδρομικές συναρτήσεις Ενώσεις δεδομένων (union) τι και γιατί Συσκευές με μικρή μνήμη => ανάγκη εξοικονόμησης πόρων Παρατήρηση: αχρησιμοποίητη μνήμη. Έστω
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 3 η Είσοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δείκτες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Τι είναι ο δείκτης Ένας δείκτης είναι μια μεταβλητή που περιέχει μια διεύθυνση μνήμης. Θυμηθείτε πως
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε
Διαβάστε περισσότεραΚεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C
Κεφάλαιο 9.1-9.2 Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C Ένα string είναι μία ακολουθία αλφαριθμητικών χαρακτήρων, σημείων στίξης κτλ. Π.χ. Hello How are you? 121212 *Apple#123*%
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 2ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΣΦΑΛΜΑΤΑ ΜΕΤΑΓΛΩΤΤΙΣΗΣ Η γλώσσα C κάνει αυστηρή διάκριση μεταξύ πεζών
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15
Διαβάστε περισσότεραΥπολογισμός - Εντολές Επανάληψης
Προγραμματισμός Η/Υ Ι Υπολογισμός - Εντολές Επανάληψης ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συνεχίσουμε τη συζήτησή μας για τα βασικά στοιχεία
Διαβάστε περισσότεραΚεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)
Κεφάλαιο 8.7 Πολυδιάστατοι Πίνακες (Διάλεξη 19) Πολυδιάστατοι πίνακες Μέχρι τώρα μιλούσαμε για Μονοδιάστατους Πίνακες. ή π.χ. int age[5]= {31,28,31,30,31; για Παράλληλους πίνακες, π.χ. int id[5] = {1029,1132,1031,9991,1513;
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Ενότητα 14 Δυναμική διαχείριση μνήμης Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Στατική δέσμευση μνήμης Με τη δήλωση απλών μεταβλητών
Διαβάστε περισσότεραΟι εντολές ελέγχου της ροής ενός προγράμματος.
Κεφάλαιο ΙΙI: Οι εντολές ελέγχου της ροής ενός προγράμματος 31 Εντολές ελέγχου της ροής Στο παρόν κεφάλαιο ασχολούμαστε με την σύνταξη των εντολών της C οι οποίες εισάγουν λογική και ελέγχουν την ροή εκτέλεσης
Διαβάστε περισσότεραΣτόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή
Στόχοι και αντικείμενο ενότητας Η έννοια του Τελεστή #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Εκφράσεις Προτεραιότητα Προσεταιριστικότητα Χρήση παρενθέσεων Μετατροπές Τύπων Υπονοούμενες και ρητές μετατροπές
Διαβάστε περισσότεραΠρογραμματισμός Υπολογιστών & Υπολογιστική Φυσική
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 8: Αρχεία και Δομές Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 7 η Πίνακες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης Χριστοδούλου
Διαβάστε περισσότεραΠρογραμματισμό για ΗΜΥ
ΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 3 Εισαγωγή στην C Θέματα ιάλεξης Σύνταξη και Σημασιολογία
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15
Διαβάστε περισσότερα5ο σετ σημειώσεων - Δείκτες
5ο σετ σημειώσεων - Δείκτες 11 Ιουνίου 01 1 Γενικά Σύμφωνα με το γενικό μοντέλο υπολογιστή, ένας υπολογιστής είναι μία μηχανή που διαθέτει μία κεντρική μονάδα επεξεργασίας η οποία μπορεί μεταξύ άλλων να
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Δομές Δεδομένων
Διαβάστε περισσότεραΠαρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.
Ερωτήσεις προόδου C Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα. #include // δίνει οδηγία στον compiler να // συμπεριλάβει την βιβλιοθήκη stdio int
Διαβάστε περισσότεραC: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο
C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός
Διαβάστε περισσότεραMaster Mind εφαρμογή στη γλώσσα προγραμματισμού C
Master Mind εφαρμογή στη γλώσσα προγραμματισμού C Φεβρουάριος/Μάρτιος 2013 v. 0.1 Master-mind: κανόνες παιχνιδιού Στο master mind χρειάζεται να παράγονται κάθε φορά 4 τυχαία σύμβολα από ένα πλήθος 6 διαφορετικών
Διαβάστε περισσότεραΦΥΛΛΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ 1
Γλώσσα Προγραμματισμού C++ ΦΥΛΛΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ 1 Τα δεδομένα Οι σταθερές Τα δεδομένα (πληροφορίες-data) είναι απαραίτητα στοιχεία ενός προγράμματος, καθώς οι βασικές λειτουργίες ενός προγράμματος είναι
Διαβάστε περισσότεραΣτοιχειώδης προγραμματισμός σε C++
Στοιχειώδης προγραμματισμός σε C++ Σύντομο Ιστορικό. Το πρόγραμμα Hello World. Ο τελεστής εξόδου. Μεταβλητές και δηλώσεις τους. Αντικείμενα, μεταβλητές, σταθερές. Ο τελεστής εισόδου. Θεμελιώδεις τύποι.
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 2 Ο. Εισαγωγή στην C Εντολές εξόδου Εντολές εισόδου Μορφοποιητές ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 2 Ο Εισαγωγή στην C Εντολές εξόδου Εντολές εισόδου Μορφοποιητές ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 Εισαγωγή στη C Η γλώσσα προγραμματισμού C είναι υψηλού επιπέδου με δυνατότητες
Διαβάστε περισσότεραΠρογραμματισμός Υπολογιστών & Υπολογιστική Φυσική
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 7: Συναρτήσεις Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΜεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 9 Συναρτήσεις Μέρος II Θέματα ιάλεξης Μη- ομημένος
Διαβάστε περισσότεραTMHMA TEXNΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛ/ΝΙΩΝ Προγραμματισμός Ι ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ , Α ΕΞΑΜΗΝΟ Βασίλης Μποζαντζής. Βασίλης Μποζαντζής
TMHMA TEXNΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛ/ΝΙΩΝ Προγραμματισμός Ι ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2010 2011, Α ΕΞΑΜΗΝΟ Βασίλης Μποζαντζής Βασίλης Μποζαντζής Εισαγωγικά Οι 32 δεσμευμένες λέξεις σύμφωνα με το πρότυπο ANSI
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python
ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής
Διαβάστε περισσότεραΗ γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η
Διαβάστε περισσότεραΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 7ο Τμήμα Διοίκησης Επιχειρήσεων Παλαιό ΕΠΔΟ α εξάμηνο Β. Φερεντίνος Δείκτες (Pointers) (1) 142 Κάθε μεταβλητή, εκτός από την τιμή της, έχει και μία συγκεκριμένη διεύθυνση
Διαβάστε περισσότεραΤμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος
Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr 1 Πώς δημιουργούμε πρόγραμμα Η/Υ; 1. Ανάλυση του προβλήματος 2. Επινόηση & Σχεδιασμός
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Συναρτήσεις Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Συναρτήσεις Ως τώρα γράφαμε όλα τα προγράμματα μας μέσα στην main..1
Διαβάστε περισσότεραΑ. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Β Περιόδου 2015 (8/9/2015) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................
Διαβάστε περισσότεραΕντολές ελέγχου ροής if, for, while, do-while
Εντολές ελέγχου ροής if, for, while, do-while 1 Μαρτίου 014 1 Εντολές εκτέλεσης υπό συνθήκη Μπορούμε να εκτελέσουμε εντολές της γλώσσας σε περίπτωση που κάποια συνθήκη ισχύει χρησιμοποιώντας την εντολή
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Συναρτήσεις (Functions) Οι βασικές λειτουργικές ενότητες ενός προγράμματος C Καλούνται με ορίσματα που αντιστοιχούνται σε
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 4: Τύποι Δεδομένων και τελεστές Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΠ. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7
Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ❶ Προετοιµασία για το 1 ο Εργαστήριο
Διαβάστε περισσότεραΚεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)
Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II (Διάλεξη 12) 12-1 Ανασκόπηση Δομής Προγράμματος με Συναρτήσεις 1 void PrintMessage (); Πρότυπο (Δήλωση) Συνάρτησης (Δηλώνουν τι επιπλέον συναρτήσεις θα χρησιμοποιήσουμε
Διαβάστε περισσότεραΠρογραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Είσοδος/Έξοδος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Είσοδος/Έξοδος Μέχρι τώρα όποτε θέλαμε να διαβάσουμε χρησιμοποιούσαμε πάντα
Διαβάστε περισσότεραΜεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 12 Πολυδιάστατοι Πίνακες Πολυδιάστατοι πίνακες
Διαβάστε περισσότεραΑπλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων
Απλά Προγράμματα Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα Οι Βασικοί κανόνες Κατανόηση
Διαβάστε περισσότεραΗΥ-150. Προγραμματισμός
ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 3ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΕΚΤΥΠΩΣΗ ΚΕΙΜΕΝΟΥ Ένα κείμενο μπορεί να εκχωρηθεί ως τιμή μιας μεταβλητής
Διαβάστε περισσότερα#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Α Περιόδου 2017 (27/1/2017) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................
Διαβάστε περισσότεραΗΥ-150. Προγραμματισμός
ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει
Διαβάστε περισσότερα