Προγραμματισμός Ι. Εγγραφές. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
|
|
- Ἁλκυόνη Κασιδιάρης
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Προγραμματισμός Ι Εγγραφές Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
2 Η Ανάγκη Ομαδοποίησης Πολλές φορές έχουμε πληροφορίες διαφορετικού τύπου οι οποίες όμως έχουν μεγάλη σχέση μεταξύ τους. Παράδειγμα Θέλουμε να κρατήσουμε μια συλλογή από φοιτητές όπου ο κάθε φοιτητής έχει αριθμό μητρώου όνομα ηλικία Χαροκόπειο Πανεπιστήμιο 2/44
3 Εγγραφές Η C μας παρέχει την δυνατότητα να φτιάξουμε εγγραφές οι οποίες ομαδοποιούν άλλους τύπους. 1 struct student 2 { 3 int AM ; 4 char name [ 4 0 ] ; 5 int age ; 6 } ; Η δήλωση αυτή φτιάχνει μια εγγραφή η οποία περιέχει 2 ακεραίους και 1 πίνακα με 40 χαρακτήρες. Αφού ορίσουμε αυτή την εγγραφή μπορούμε να δηλώσουμε μεταβλητές με τύπο αυτήν την εγγραφή. Χαροκόπειο Πανεπιστήμιο 3/44
4 Εγγραφές 1 #include <stdio. h> 2 3 struct student 4 { 5 int AM ; 6 char name [ 4 0 ] ; 7 int age ; 8 } ; 9 10 main ( ) 11 { 12 struct student s1 ; return 0 ; 15 } Αφού ορίσουμε μια εγγραφή, μπορούμε να δηλώσουμε μεταβλητές με τύπο την εγγραφή αυτή. Ο κώδικας ορίζει μια μεταβλητή με τύπο την εγγραφή struct student και όνομα s1. Χαροκόπειο Πανεπιστήμιο 4/44
5 Εγγραφές 1 #include <stdio. h> 2 3 struct student 4 { 5 int AM ; 6 char name [ 4 0 ] ; 7 int age ; 8 } ; 9 10 main ( ) 11 { 12 struct student s1 ; return 0 ; 15 } Δηλώνοντας την μεταβλητή s1 έχουμε ουσιαστικά δηλώσει μια μεταβλητή που περιέχει 2 ακεραίους και 1 πίνακα 40 χαρακτήρων. Χαροκόπειο Πανεπιστήμιο 5/44
6 Αρχικοποίηση Εγγραφών Όπως όλες οι μεταβλητές στην C οι εγγραφές δεν αρχικοποιούνται κατά την δήλωση. Μπορούμε όμως να τις αρχικοποιήσουμε με τρόπο παρόμοιο με αυτόν που χρησιμοποιούμε για τους πίνακες. 1 #include <stdio. h> 2 3 struct student 4 { 5 int AM ; 6 char name [ 4 0 ] ; 7 int age ; 8 } ; 9 10 main ( ) 11 { 12 struct student s1 = {1, "John", 2 0 } ; return 0 ; 15 } Χαροκόπειο Πανεπιστήμιο 6/44
7 Προσπέλαση Εγγραφών Οι εγγραφές είναι μια συλλογή μεταβλητών. Τις μεταβλητές αυτές μπορούμε να τις προσπελάσουμε. Για να προσπελάσουμε μια μεταβλητή σε μια εγγραφή χρησιμοποιούμε το όνομα της μεταβλητής της εγγραφής, μια τελεία και μετά το όνομα της μεταβλητής που θέλουμε να προσπελάσουμε. Χαροκόπειο Πανεπιστήμιο 7/44
8 Προσπέλαση Εγγραφών 1 #include <stdio. h> 2 3 struct student 4 { 5 int AM ; 6 char name [ 4 0 ] ; 7 int age ; 8 } ; 9 10 main ( ) 11 { 12 struct student s1 = {1, "John", 2 1 } ; printf ( "AM = %d\n", s1. AM ) ; 15 printf ( "name = %s\n", s1. name ) ; 16 printf ( "age = %d\n", s1. age ) ; return 0 ; 19 } Γράφοντας s1.name έχουμε πρόσβαση στην μεταβλητή name που βρίσκεται μέσα στην εγγραφή s1. Με τον ίδιο τρόπο μπορούμε να κάνουμε ανάθεση. Για παράδειγμα γράφοντας s1.age = 22 μπορούμε να αλλάξουμε την ηλικία. Χαροκόπειο Πανεπιστήμιο 8/44
9 Προσπέλαση Εγγραφών 1 #include <stdio. h> 2 3 struct student 4 { 5 int AM ; 6 char name [ 4 0 ] ; 7 int age ; 8 } ; 9 10 main ( ) 11 { 12 struct student s1 = {1, "John", 2 1 } ; 13 struct student s2 = { 2, "Mary", 2 3 } ; printf ( "AM = %d\n", s1. AM ) ; 16 printf ( "name = %s\n", s1. name ) ; 17 printf ( "age = %d\n", s1. age ) ; 18 printf ( "\n" ) ; printf ( "AM = %d\n", s2. AM ) ; 21 printf ( "name = %s\n", s2. name ) ; 22 printf ( "age = %d\n", s2. age ) ; return 0 ; 25 } Δηλώνοντας δύο εγγραφές student έχουμε δύο ξεχωριστά σύνολα μεταβλητών, ένα για κάθε φοιτητή. s1.name είναι το όνομα του 1ου φοιτητή, s2.name είναι το όνομα του δεύτερου. Χαροκόπειο Πανεπιστήμιο 9/44
10 Εγγραφές και Πίνακες Η χρησιμότητα των δομών φαίνεται ακόμη παραπάνω σε συνδυασμό με την χρήση πινάκων. Μπορούμε να δηλώσουμε π.χ ένα πίνακα με 100 φοιτητές. struct student array [ ] ; Χαροκόπειο Πανεπιστήμιο 10/44
11 Εγγραφές και Πίνακες 1 #include <stdio. h> 2 3 struct student { 4 int AM ; 5 char name [ 4 0 ] ; 6 int age ; 7 } ; 8 9 main ( ) 10 { 11 int i ; 12 struct student a [ 3 ] = { 13 { 1, "Mary", 21}, 14 { 2, "John", 22}, 15 { 3, "Helen", 18}, 16 } ; for ( i = 0 ; i < 3 ; i++) { 19 printf ( "AM=%d, name=%s, age=%d\n", 20 a [ i ]. AM, a [ i ]. name, a [ i ]. age ) ; 21 } return 0 ; 24 } Με την χρήση πινάκων μπορούμε να κρατάμε συλλογές από εγγραφές και να τις χειριζόμαστε με επαναλήψεις. Χαροκόπειο Πανεπιστήμιο 11/44
12 Εγγραφές και Δείκτες Όπως με όλους τους τύπους, μπορούμε να ορίσουμε ένα δείκτη σε μια εγγραφή. 1 #include <stdio. h> 2 3 struct student { 4 int AM ; 5 char name [ 4 0 ] ; 6 int age ; 7 } ; 8 9 main ( ) 10 { 11 struct student s = {1, "Mary", 2 1 } ; 12 struct student *ptr = &s ; return 0 ; 15 } Χαροκόπειο Πανεπιστήμιο 12/44
13 Προσπέλαση Εγγραφών μέσω Δεικτών Η πρόσβαση όμως των μελών μιας εγγραφής μέσω ενός δείκτη δεν γίνεται πλέον με τον τελεστή μέλους εγγραφής (τελεία), αλλά με τον τελεστή δείκτη εγγραφής (->) όπως φαίνεται παρακάτω. 1 #include <stdio. h> 2 3 struct student { 4 int AM ; 5 char name [ 4 0 ] ; 6 int age ; 7 } ; 8 9 main ( ) 10 { 11 struct student s = {1, "Mary", 2 1 } ; 12 struct student *ptr = &s ; printf ( "AM=%d, name=%s, age=%d\n", ptr >AM, ptr >name, ptr >age ) ; return 0 ; 17 } Χαροκόπειο Πανεπιστήμιο 13/44
14 Προτεραιότητα Τελεστών.1 παρενθέσεις: (), [],., >, expr++ ή expr Υπολογίζονται πρώτα, από τα αριστερά προς τα δεξιά. Εάν υπάρχουν ένθετες υπολογίζονται πρώτα οι εσωτερικές..2 μοναδιαίοι τελεστές: +,, ++expr, expr,!, και & Υπολογίζονται από δεξιά προς τα αριστερά..3 πολλαπλασιασμός, διαίρεση και υπόλοιπο:, /, ή % Υπολογίζονται δεύτερα από αριστερά προς τα δεξιά..4 πρόσθεση, αφαίρεση: + ή Εάν υπάρχουν πολλοί, υπολογίζονται από τα αριστερά προς τα δεξιά..5 Σχεσιακοί: <, >, <=, >= Υπολογίζονται από τα αριστερά προς τα δεξιά..6 Ισότητας: ==,! = Υπολογίζονται από τα αριστερά προς τα δεξιά..7 λογικό AND: && Από αριστερά προς τα δεξιά..8 λογικό OR: Από αριστερά προς τα δεξιά..9 εκχώρησης: =, + =, =, =, / =, % = Από δεξιά προς τα αριστερά. Χαροκόπειο Πανεπιστήμιο 14/44
15 Αναπαράσταση Εγγραφών στη Μνήμη Η αναπαράσταση των δομών στην μνήμη είναι ως συλλογή των μεταβλητών που αποτελούνται. Πρέπει όμως να πέρνουμε υπόψη μας πως οι υπολογιστές διαβάζουν από την μνήμη σε πολλαπλάσια των 4 bytes (ή των 8 σε 64-bit αρχιτεκτονικές). Ο μεταγλωττιστής λοιπόν, για να επιτύχει μέγιστη ταχύτητα προσθέτει πολλές φορές και διάφορα άχρηστα bytes, τα οποία χρησιμεύουν ώστε να υπάρχει σωστή ευθυγράμμιση. Στόχος του μεταγλωττιστή είναι για βασικούς τύπους (int, float, κ.τ.λ) να μην ζητάει 2 φορές πληροφορία από την μνήμη. Χαροκόπειο Πανεπιστήμιο 15/44
16 Αναπαράσταση Εγγραφών στη Μνήμη Ενώ ένας ακέραιος έχει μέγεθος 4 bytes και ένας χαρακτήρας έχει μέγεθος 1 byte, η παρακάτω εγγραφή struct test { char a ; int b ; } ; Το πρόβλημα είναι πως ένας ακέραιος πρέπει να ξεκινάει σε πολλαπλάσιο του 4. έχει μέγεθος 8 bytes, αφού ο μεταγλωττιστής προσθέτει 3 ακόμη μετά τον χαρακτήρα a. Χαροκόπειο Πανεπιστήμιο 16/44
17 Αναπαράσταση Εγγραφών στη Μνήμη Ενώ ένας ακέραιος έχει μέγεθος 4 bytes και ένας χαρακτήρας έχει μέγεθος 1 byte, η παρακάτω εγγραφή struct test { char a ; char b ; char c ; int z ; } ; Το πρόβλημα είναι πως ένας ακέραιος πρέπει να ξεκινάει σε πολλαπλάσιο του 4. έχει μέγεθος 8 bytes, αφού ο μεταγλωττιστής προσθέτει 1 ακόμη μετά τον χαρακτήρα c. Χαροκόπειο Πανεπιστήμιο 17/44
18 Χρήση Εγγραφών με Συναρτήσεις Μπορούμε να περάσουμε εγγραφές σε συναρτήσεις όπως οποιαδήποτε άλλη μεταβλητή. 1 #include <stdio. h> 2 3 struct student { 4 int AM ; 5 char name [ 2 0 ] ; 6 int age ; 7 } ; 8 9 void print ( struct student s ) 10 { 11 printf ( "AM=%d, name=%s, age=%d\n", s. AM, s. name, s. age ) ; 12 } main ( ) 15 { 16 struct student s = {1, "John", 2 0 } ; 17 print (s ) ; return 0 ; 20 } Χαροκόπειο Πανεπιστήμιο 18/44
19 Χρήση Εγγραφών με Συναρτήσεις Προσοχή όμως γιατί οι εγγραφές χρησιμοποιούν κλήση μέσω τιμής (call by value). 1 #include <stdio. h> 2 #include < s t r i n g. h> 3 4 struct student { 5 int AM ; 6 char name [ 2 0 ] ; 7 int age ; 8 } ; 9 10 void setname ( struct student t, char *name ) 11 { 12 strcpy (t. name, name ) ; 13 } main ( ) 16 { 17 struct student s = {1, "John", 2 0 } ; 18 setname ( s, "Fred" ) ; 19 printf ( "name = %s\n", s. name ) ; return 0 ; 22 } Όλη η εγγραφή αντιγράφεται και οι αλλαγές της συνάρτησης καταστρέφονται με το τέλος της συνάρτησης. Το πρόγραμμα τυπώνει name = John Χαροκόπειο Πανεπιστήμιο 19/44
20 Χρήση Εγγραφών με Συναρτήσεις 1 #include <stdio. h> 2 #include < s t r i n g. h> 3 4 struct student { 5 int AM ; 6 char name [ 2 0 ] ; 7 int age ; 8 } ; 9 10 void setname ( struct student *t, char *name ) 11 { 12 strcpy (t >name, name ) ; 13 } main ( ) 16 { 17 struct student s = {1, "John", 2 0 } ; 18 setname(&s, "Fred" ) ; 19 printf ( "name = %s\n", s. name ) ; return 0 ; 22 } Για κλήση μέσω αναφοράς πρέπει να δώσουμε δείκτη. Το πρόγραμμα τυπώνει name = Fred Χαροκόπειο Πανεπιστήμιο 20/44
21 Αυτοαναφορά Εγγραφών Μία εγγραφή δεν μπορεί να περιέχει τον εαυτό της. Μπορεί όμως να περιέχει ένα δείκτη στον εαυτό της. struct node { int data ; struct node * next ; } ; data data Χαροκόπειο Πανεπιστήμιο 21/44
22 Δημιουργία Καινούριων Τύπων (typedef) Η C μας παρέχει την δυνατότητα να φτιάξουμε δικούς μας τύπους. Για παράδειγμα θέλουμε να φτιάξουμε ένα τύπο φοιτητή ο οποίος να περιέχει τον αριθμό μητρώου, το όνομα και την ηλικία. 1 2 struct stud 3 { 4 int AM ; 5 char name [ 4 0 ] ; 6 int age ; 7 } ; 8 9 typedef struct stud student ; Ουσιαστικά η δεσμευμένη λέξη typedef μας επιτρέπει να δηλώσουμε συνώνυμα τύπων. Χαροκόπειο Πανεπιστήμιο 22/44
23 Δημιουργία Καινούριων Τύπων (typedef) Πλέον μπορούμε να γράψουμε απευθείας main ( ) { student s1, s2 ; } return 0 ; για να δηλώσουμε δυο μεταβλητές τύπου student. Χαροκόπειο Πανεπιστήμιο 23/44
24 Δημιουργία Καινούριων Τύπων (typedef) Μπορούμε να συνδυάσουμε την δήλωση της εγγραφής με την δημιουργία συνώνυμου. typedef struct { int AM ; char name [ 4 0 ] ; int age ; } student ; main ( ) { student s1, s2 ; } return 0 ; Χαροκόπειο Πανεπιστήμιο 24/44
25 Δημιουργία Καινούριων Τύπων (typedef) Προσοχή, το typedef μπορούμε να το χρησιμοποιήσουμε για οποιοδήποτε τύπο. typedef long mytype ; main ( ) { mytype x = 100; } return 0 ; Παραπάνω δημιουργούμε ένα συνώνυμο με όνομα mytype για τον τύπο long. Χαροκόπειο Πανεπιστήμιο 25/44
26 Δημιουργία Καινούριων Τύπων (typedef) Προσοχή, το typedef μπορούμε να το χρησιμοποιήσουμε για οποιοδήποτε τύπο. 1 #include <stdio. h> 2 3 typedef void ( * funcptr ) ( int ) ; 4 5 void foo ( int x ) 6 { 7 printf ( "%d\n", x ) ; 8 } 9 10 int main ( ) 11 { 12 funcptr f = &foo ; 13 ( * f ) ( 5 ) ; return 0 ; 16 } Εδώ δηλώνουμε ένα συνώνυμο με όνομα funcptr για τον τύπο δείκτη σε συνάρτηση που επιστρέφει void και δέχεται ένα ακέραιο. Χαροκόπειο Πανεπιστήμιο 26/44
27 Παράδειγμα Εγγραφών Ρητοί Αριθμοί Θέλουμε να φτιάξουμε μια μικρή βιβλιοθήκη που να υποστηρίζει την χρήση ρητών (rational) αριθμών. Οι ρητοί αριθμοί είναι αυτοί που μπορούν να γραφούν ως κλάσμα a p δύο ακεραίων όπου ο παρανομαστής είναι διάφορος του μηδέν. Ξεκινάμε με τον ορισμό του τύπου: 1 #include <stdio. h> 2 #include < s t d l i b. h> 3 4 typedef struct { 5 int a, p ; 6 } rational ; Χαροκόπειο Πανεπιστήμιο 27/44
28 Παράδειγμα Εγγραφών Ρητοί Αριθμοί Παρέχουμε μια συνάρτηση με παραμέτρους δύο ακεραίους a και p η οποία μας επιστρέφει τον ρητό αριθμό a p. 7 rational rational_create ( int a, int p ) 8 { 9 if ( p == 0) { 10 printf ( "Division by zero!\n" ) ; 11 abort ( ) ; 12 } 13 if ( p < 0) { 14 p = p ; 15 a = a ; 16 } 17 rational x ; 18 x. a = a ; 19 x. p = p ; 20 return x ; 21 } Η συνάρτηση κάνει έλεγχο ώστε ο παρανομαστής να είναι διάφορος του μηδενός. Χαροκόπειο Πανεπιστήμιο 28/44
29 Παράδειγμα Εγγραφών Ρητοί Αριθμοί Παρέχουμε επίσης δυο συναρτήσεις: μία για την δημιουργία του ρητού μηδέν και μία για να βρούμε τον αντίθετο ενός ρητού αριθμού 22 rational rational_zero ( ) 23 { 24 rational x = { 0, 1 } ; 25 return x ; 26 } rational rational_minus ( rational a ) 29 { 30 a. a = a. a ; 31 return a ; 32 } Χαροκόπειο Πανεπιστήμιο 29/44
30 Παράδειγμα Εγγραφών Ρητοί Αριθμοί Στην συνέχεια υλοποιούμε πρόσθεση και αφαίρεση δύο ρητών αριθμών. 33 rational rational_add ( rational a, rational b ) 34 { 35 rational t ; 36 t. p = a. p * b. p ; 37 t. a = a. a * b. p + b. a * a. p ; 38 return t ; 39 } rational rational_subtract ( rational a, rational b ) 42 { 43 return rational_add (a, rational_minus (b ) ) ; 44 } Η συνάρτηση της αφαίρεσης για ευκολία χρησιμοποιεί τις συναρτήσεις πρόσθεσης και υπολογισμού του αντιθέτου. Χαροκόπειο Πανεπιστήμιο 30/44
31 Παράδειγμα Εγγραφών Ρητοί Αριθμοί Παρακάτω φαίνεται η υλοποίηση μιας συνάρτησης που υπολογίζει τον αντίστροφο ενός αριθμού. 45 rational rational_inverse ( rational a ) 46 { 47 if ( a. a == 0) { 48 printf ( "Zero does not have an inverse!\n" ) ; 49 abort ( ) ; 50 } 51 rational x ; 52 x. a = a. p ; 53 x. p = a. a ; 54 return x ; 55 } Χαροκόπειο Πανεπιστήμιο 31/44
32 Παράδειγμα Εγγραφών Ρητοί Αριθμοί Παρέχουμε επίσης δυνατότητα πολλαπλασιασμού δύο ρητών ή ενός ρητού με έναν ακέραιο. 56 rational rational_scalar_multiply ( rational a, int s ) 57 { 58 a. a = a. a * s ; 59 return a ; 60 } rational rational_multiply ( rational a, rational b ) 63 { 64 rational t ; 65 t. a = a. a * b. a ; 66 t. p = a. p * b. p ; 67 return t ; 68 } Χαροκόπειο Πανεπιστήμιο 32/44
33 Παράδειγμα Εγγραφών Ρητοί Αριθμοί Τέλος μια συνάρτηση εκτύπωσης και είμαστε έτοιμοι για να χρησιμοποιήσουμε την βιβλιοθήκη μας. 69 void rational_print ( rational a ) 70 { 71 printf ( "%d/%d", a. a, a. p ) ; 72 } int main ( ) 75 { 76 rational r1 = rational_create ( 1, 5 ) ; 77 rational r2 = rational_create ( 1, 3 ) ; 78 rational r3 = rational_add (r1, r2 ) ; 79 r3 = rational_scalar_multiply (r3, 2 ) ; 80 rational_print (rational_inverse (r3 ) ) ; return 0 ; 83 } Το παραπάνω πρόγραμμα εκτυπώνει τον ρητό αριθμό: 1 ( ) 2 Χαροκόπειο Πανεπιστήμιο 33/44
34 Ενώσεις union Πολλές φορές θέλουμε να κρατήσουμε 2 ή περισσότερες μεταβλητές διαφορετικού τύπου, αλλά δεν τις χρειαζόμαστε ταυτόχρονα. Για να μην χάνουμε χώρο, η C μας παρέχει την ένωση. union { float a ; int b ; char str [ 2 0 ] ; } ; Η σύνταξη είναι παρόμοια με τις εγγραφές, αλλά τα μέλη μιας ένωσης μοιράζονται τον αποθηκευτικό χώρο. Στο παραπάνω παράδειγμα μπορούμε να αποθηκεύσουμε είτε κάτι στο a, είτε κάτι στο b, είτε στο str. Χαροκόπειο Πανεπιστήμιο 34/44
35 Ενώσεις union #include <stdio. h> union example { float a ; int b ; char str [ 2 0 ] ; } ; main ( ) { union example var ; var. a = 5. 0 ; var. b = 3 ; / / here var. b = 3 but var. a =?? } return 0 ; Αναθέτοντας κάτι στο a και μετά στο b, ουσιαστικά γράφουμε επάνω στο a. Χαροκόπειο Πανεπιστήμιο 35/44
36 Ενώσεις union Ο προγραμματιστής είναι υπεύθυνος ώστε να γράφει και να διαβάζει σωστά από μια ένωση. #include <stdio. h> union number { int x ; float y ; } ; main ( ) { union number t ; Το πρόγραμμα τυπώνει int: 100 double: int: double: t. x = 100; printf ( "int: %d\n", t. x ) ; printf ( "double: %f\n", t. y ) ; printf ( "\n" ) ; t. y = ; printf ( "int: %d\n", t. x ) ; printf ( "double: %f\n", t. y ) ; } return 0 ; Χαροκόπειο Πανεπιστήμιο 36/44
37 Ενώσεις Συχνά Σφάλματα Προσοχή γιατί μια ένωση μπορεί να αρχικοποιηθεί μόνο με μια τιμή του ίδιου τύπου με το πρώτο μέλος της ένωσης. #include <stdio. h> union number { int x ; float y ; } ; main ( ) { union number t = { } ; / / ERROR Το πρόγραμμα τυπώνει int: 2 double: int: double: printf ( "int: %d\n", t. x ) ; printf ( "double: %f\n", t. y ) ; printf ( "\n" ) ; t. y = ; printf ( "int: %d\n", t. x ) ; printf ( "double: %f\n", t. y ) ; } return 0 ; Χαροκόπειο Πανεπιστήμιο 37/44
38 Σταθερές Απαρίθμησης enum Η C μας παρέχει ένα ακόμη τύπο ορισμένο από τον χρήστη, την απαρίθμηση. Μια απαρίθμηση είναι ένα σύνολο ακέραιων σταθερών που αναπαρίστανται από προσδιοριστικά. Αυτές οι σταθερές απαρίθμησης είναι, στην ουσία, συμβολικές σταθερές των οποίων οι τιμές μπορούν να τεθούν αυτομάτως. Χαροκόπειο Πανεπιστήμιο 38/44
39 Σταθερές Απαρίθμησης enum Μια απαρίθμηση ορίζεται με την λέξη κλειδί enum. enum months { JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC } ; Χαροκόπειο Πανεπιστήμιο 39/44
40 Σταθερές Απαρίθμησης enum #include <stdio. h> enum months { JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC } ; main ( ) { enum months month ; } for ( month = JAN ; month <= DEC ; month++) printf ( "%d\n", month ) ; return 0 ; Το πρόγραμμα τυπώνει Οι σταθερές είναι ουσιαστικά ακέραιοι. Η γλώσσα C ξεκινάει το μέτρημα από το 0. Χαροκόπειο Πανεπιστήμιο 40/44
41 Σταθερές Απαρίθμησης enum Μπορούμε όμως να επηρεάσουμε τις τιμές, π.χ #include <stdio. h> enum months { JAN = 3, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC } ; main ( ) { enum months month ; } for ( month = JAN ; month <= DEC ; month++) printf ( "%d\n", month ) ; return 0 ; Το πρόγραμμα τυπώνει Χαροκόπειο Πανεπιστήμιο 41/44
42 Σταθερές Απαρίθμησης enum Μπορούμε μέχρι και διπλές τιμές να δώσουμε: #include <stdio. h> enum months { JAN = 3, JANUARY = 3, FEB = 5, FEBRUARY = 5, MAR, APR = 9, APRIL = 9, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC } ; Το πρόγραμμα τυπώνει JAN = 3 FEB = 5 MAR = 6 APR = 9 MAY = 10 main ( ) { enum months month ; printf ( "JAN = %d\n", JAN ) ; printf ( "FEB = %d\n", FEB ) ; printf ( "MAR = %d\n", MAR ) ; printf ( "APR = %d\n", APR ) ; printf ( "MAY = %d\n", MAY ) ; } return 0 ; Χαροκόπειο Πανεπιστήμιο 42/44
43 Σταθερές Απαρίθμησης Σφάλμα #include <stdio. h> enum months { JAN = 3, JANUARY = 3, FEB = 5, FEBRUARY = 5, MAR, APR = 2, APRIL = 2, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC } ; main ( ) { enum months month ; Το πρόγραμμα τυπώνει JAN = 3 FEB = 5 MAR = 6 APR = 2 MAY = 3 Προσοχή γιατί έτσι έχουμε ίδια τιμή π.χ μεταξύ MAY και JAN. printf ( "JAN = %d\n", JAN ) ; printf ( "FEB = %d\n", FEB ) ; printf ( "MAR = %d\n", MAR ) ; printf ( "APR = %d\n", APR ) ; printf ( "MAY = %d\n", MAY ) ; } return 0 ; Χαροκόπειο Πανεπιστήμιο 43/44
44 Σταθερές Απαρίθμησης Παράδειγμα Χρήσης 1 #include <stdio. h> 2 #include < s t d l i b. h> 3 4 typedef enum { 5 HEADS = 0, 6 TAILS = 1 7 } side ; 8 9 char sidetochar ( side s ) { 10 return s == HEADS? 'H' : 'T' ; 11 } side flipcoin ( ) { 14 return ( rand()%2)? TAILS : HEADS ; 15 } main ( ) 18 { 19 int i ; 20 for ( i = 0 ; i < 20; i++) 21 printf ( "%2c", sidetochar ( flipcoin ( ) ) ) ; return 0 ; 24 } Χαροκόπειο Πανεπιστήμιο 44/44
Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δείκτες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Τι είναι ο δείκτης Ένας δείκτης είναι μια μεταβλητή που περιέχει μια διεύθυνση μνήμης. Θυμηθείτε πως
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΠξνγξακκαηηζκόο Ι. Εγγξαθέο. Κσλζηαληίλνο Σζεξπέο. (βαζηζκέλν ζηηο δηαθάλεηεο ηνπ θ. Δεκήηξε Μηραήι)
Πξνγξακκαηηζκόο Ι Εγγξαθέο Κσλζηαληίλνο Σζεξπέο (βαζηζκέλν ζηηο δηαθάλεηεο ηνπ θ. Δεκήηξε Μηραήι) Σκήκα Πιεξνθνξηθήο θαη Σειεκαηηθήο Υαξνθόπεην Παλεπηζηήκην Η Αλάγθε Οκαδνπνίεζεο Πνιιέο θνξέο έρνπκε πιεξνθνξίεο
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Συναρτήσεις Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Συναρτήσεις Ως τώρα γράφαμε όλα τα προγράμματα μας μέσα στην main..1
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16
Διαβάστε περισσότεραΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Τελεστές - Κατηγορίες Εκφράσεις - Κατηγορίες Υπολογισμός εκφράσεων Προτάσεις - Κατηγορίες
Διαβάστε περισσότεραΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ
ΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 10 Τύποι Δεδομένων και Εγγραφές Θέματα Διάλεξης Στην ενότητα
Διαβάστε περισσότεραΠρογραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Κλάσεις και Αντικείμενα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Κλάσεις Η γενική μορφή μιας κλάσης είναι η εξής: class class-name { private data and
Διαβάστε περισσότεραΕνώσεις δεδομένων Απαριθμητές Ψηφιακοί τελεστές Αναδρομικές συναρτήσεις
Ενώσεις δεδομένων Απαριθμητές Ψηφιακοί τελεστές Αναδρομικές συναρτήσεις Ενώσεις δεδομένων (union) τι και γιατί Συσκευές με μικρή μνήμη => ανάγκη εξοικονόμησης πόρων Παρατήρηση: αχρησιμοποίητη μνήμη. Έστω
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Ορισμός
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 13 η Δομές & Ενώσεις Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή
Διαβάστε περισσότεραΔιάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος
Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,
Διαβάστε περισσότεραΠρογραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Προχωρημένα Θέματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανακατεύθυνση Εισόδου/Εξόδου Συνήθως η τυπική είσοδος ενός προγράμματος (stdin) προέρχεται
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Συναρτήσεις της C Τα Λοιπά Στοίβα και μηχανισμός κλήσης Αναδρομικές συναρτήσεις Στατικές μεταβλητές Άλλα θέματα Μηχανισμός
Διαβάστε περισσότεραΕισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011
Εισαγωγή στον Προγραµµατισµό Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Hello World /* Αρχείο hello.c * Εµφανίζει στην οθόνη το * µήνυµα hello world */ #include
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ. Ενότητα 2α: Εισαγωγή στη C (Μέρος Πρώτο)
Προγραμματισμός Η/Υ Ενότητα 2α: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Αναφορά στις λέξεις κλειδιά που
Διαβάστε περισσότεραΠ. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7
Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ❶ Προετοιµασία για το 1 ο Εργαστήριο
Διαβάστε περισσότεραΠρογραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Είσοδος/Έξοδος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Είσοδος/Έξοδος Μέχρι τώρα όποτε θέλαμε να διαβάσουμε χρησιμοποιούσαμε πάντα
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Δομές Δεδομένων
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Ψευδοτυχαίοι Αριθμοί Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Ψευδοτυχαίοι Αριθμοί Μια γεννήτρια ψευδοτυχαίων αριθμών είναι
Διαβάστε περισσότεραΚεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)
Κεφάλαιο 8.7 Πολυδιάστατοι Πίνακες (Διάλεξη 19) Πολυδιάστατοι πίνακες Μέχρι τώρα μιλούσαμε για Μονοδιάστατους Πίνακες. ή π.χ. int age[5]= {31,28,31,30,31; για Παράλληλους πίνακες, π.χ. int id[5] = {1029,1132,1031,9991,1513;
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 5: Απαριθμητές (enums) Δομές (structures)και Ενώσεις (unions) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Απαριθμητές - Δομές, φωλιασμένες δομές, τρόποι δήλωσης
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δομές & Ενώσεις. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών
Δομές & Ενώσεις Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Προγραμματισμός Δ. Τσελίκας Ι 1 Δομές (Structures) Δομή (structure) στη C είναι μία συλλογή από μεταβλητές οποιουδήποτε
Διαβάστε περισσότεραΜεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 12 Πολυδιάστατοι Πίνακες Πολυδιάστατοι πίνακες
Διαβάστε περισσότεραΗ γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Οι δείκτες στη C Η έννοια του δείκτη Την έννοια του δείκτη τη συναντήσαμε σε προηγούμενα μαθήματα. Η συνάρτηση scanf(), καταχωρίζει τιμές σε μεταβλητές χρησιμοποιώντας τον τελεστή
Διαβάστε περισσότεραΠρογραμματισμός Δομές Δεδομένων
Προγραμματισμός Δομές Δεδομένων Προγραμματισμός Δομές Δεδομένων (Data Structures) Καινούργιοι τύποι δεδομένων που αποτελούνται από την ομαδοποίηση υπαρχόντων τύπων δεδομένων Ομαδοποίηση πληροφορίας που
Διαβάστε περισσότεραΠρογραμματισμό για ΗΜΥ
ΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 3 Εισαγωγή στην C Θέματα ιάλεξης Σύνταξη και Σημασιολογία
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο
Διαβάστε περισσότεραΣτόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή
Στόχοι και αντικείμενο ενότητας Η έννοια του Τελεστή #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Εκφράσεις Προτεραιότητα Προσεταιριστικότητα Χρήση παρενθέσεων Μετατροπές Τύπων Υπονοούμενες και ρητές μετατροπές
Διαβάστε περισσότεραΣτόχοι και αντικείμενο ενότητας. Συντακτικό Γλώσσας. Αλφάβητο. #2.. Εισαγωγή στη C (Μέρος Πρώτο)
Στόχοι και αντικείμενο ενότητας Στοιχεία της Γλώσσας Προγραμματισμού C Αλφάβητο Συντακτικό Γλώσσας Λεξιλόγιο #2.. Εισαγωγή στη C (Μέρος Πρώτο) Οι έννοιες της Μεταβλητής και της Σταθεράς Τύποι Δεδομένων
Διαβάστε περισσότεραΠρογραμματισμό για ΗΜΥ
ΕΠΛ 34: Εισαγωγή στον Προγραμματισμό για ΗΜΥ Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 12 Πίνακες εικτών (Pointers Arrays) Θέματα ιάλεξης Στην ενότητα
Διαβάστε περισσότεραΚεφάλαιο V: Δομές και ενώσεις. 5.1 Δομές.
Κεφάλαιο V: Δομές και ενώσεις. 5.1 Δομές. Όπως αναφέραμε στο προηγούμενο κεφάλαιο η ομαδοποίηση της πληροφορίας στον προγραμματισμό είναι ιδιαίτερα σημαντική. Ένα παράδειγμα ομαδοποίησης της πληροφορίας
Διαβάστε περισσότεραΕισαγωγή στη γλώσσα προγραμματισμού C++
Εισαγωγή στη γλώσσα προγραμματισμού C++ Περιβάλλον Εργασίας 2 Περιβάλλον Εργασίας 1. Χρήση απλού κειμενογράφου και Μεταγλωττιστή 2. Ολοκληρωμένα Περιβάλλοντα Εργασίας (Integrated Development Environments)
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Δεύτερη Διάλεξη Βασικά στοιχεία της γλώσσας προγραμματισμού C Μία γλώσσα προγραμματισμού όπως και μια ανθρώπινη γλώσσα μπορεί να μελετηθεί ως προς το αλφάβητό της,
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Δομές Δεδομένων και Κυρίως Πρόγραμμα Δομές δεδομένων εκτός από πίνακες: Structs Unions Enums Κυρίως πρόγραμμα Παράμετροι που
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων Constructors
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργία Κλάσεων και Αντικειμένων Constructors Κλάσεις και αντικείμενα Ορισμός κλάσης: class
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 6: Διαχείριση Μνήμης & Δυναμικές Δομές Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυναμικές Δομές Δεδομένων Γενικά Δυναμική Δέσμευση/Αποδέσμευση Μνήμης Δομή τύπου structure
Διαβάστε περισσότεραΜεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 13 Πίνακες & Συναρτήσεις Εισαγωγή Στις προηγούμενες
Διαβάστε περισσότεραΠίνακες. Οι πίνακες αποτελούν ένα σηµαντικό δοµηµένο τύπο δεδοµένων (structured data type) ή πιο απλά µία δοµή δεδοµένων (data structure).
Πίνακες Οι πίνακες αποτελούν ένα σηµαντικό δοµηµένο τύπο δεδοµένων (structured data type) ή πιο απλά µία δοµή δεδοµένων (data structure). Οι απλοί τύποι δεδοµένων (οι τιµές τους δεν µπορούν να διασπασθούν
Διαβάστε περισσότεραΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2017-2018 ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ ΜΑΘΗΜΑ: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Εισαγωγή ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ Ένα πρόγραμμα σε C περιλαμβάνει μια ή περισσότερες συναρτήσεις
Διαβάστε περισσότεραΠρογραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 4: Τελεστές Τελεστές: Τελεστής Ανάθεσης 2 Το σύμβολο της ανάθεσης είναι το = Προσοχή: το σύμβολο ελέγχου ισότητας είναι το ==. Η μορφή των προτάσεων ανάθεσης είναι:
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 3ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΕΚΤΥΠΩΣΗ ΚΕΙΜΕΝΟΥ Ένα κείμενο μπορεί να εκχωρηθεί ως τιμή μιας μεταβλητής
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 2ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΣΦΑΛΜΑΤΑ ΜΕΤΑΓΛΩΤΤΙΣΗΣ Η γλώσσα C κάνει αυστηρή διάκριση μεταξύ πεζών
Διαβάστε περισσότεραΕισαγωγή στην γλώσσα προγραμματισμού C
Εισαγωγή στην γλώσσα προγραμματισμού C Χαρακτηριστικά της C Ιδιαίτερα δημοφιλής Έχει χρησιμοποιηθεί για τον προγραμματισμό ευρέος φάσματος συστημάτων και εφαρμογών Γλώσσα μετρίου επιπέδου Φιλοσοφία: Ο
Διαβάστε περισσότεραΠ. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7
Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Προτάσεις,
Διαβάστε περισσότεραΠίνακες. 1 Πίνακες. 30 Μαρτίου 2014
Πίνακες 0 Μαρτίου 014 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα του συγκεκριμένου τύπου. Στην περίπτωση που θέλουμε
Διαβάστε περισσότερα3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)
Εργαστήριο 3: 3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting) Η C++, όπως όλες οι γλώσσες προγραμματισμού, χρησιμοποιεί τελεστές για να εκτελέσει τις αριθμητικές και λογικές λειτουργίες.
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16
Διαβάστε περισσότεραΣτόχοι και αντικείμενο ενότητας. Τύπος πίνακα. Τύπος πίνακα (συν.) #6. Πίνακες και Δείκτες
Στόχοι και αντικείμενο ενότητας Ο τύπος του Πίνακα (βλ. ενότητα #2α) Ορισμός και αρχικοποίηση Αποθήκευση πινάκων στη μνήμη Πολυδιάστατοι πίνακες #6. Πίνακες και Δείκτες Ο τύπος του Δείκτη Η έννοια του
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors, equals, tostring Constructors (Δημιουργοί) O Constructor είναι μια «μέθοδος» η οποία καλείται όταν δημιουργούμε το αντικείμενο
Διαβάστε περισσότεραΠρογραμματισμός ΙI (Θ)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017
Διαβάστε περισσότεραοµές (structures) και Eνώσεις (unions)
οµές (structures) και Eνώσεις (unions) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: οµές, φωλιασµένες δοµές, τρόποι δήλωσης δοµών, δοµές ως παράµετροι σε συναρτήσεις, δείκτες σε δοµές, χρήση
Διαβάστε περισσότεραΠρογραμματισμός Ι. Προεπεξεργαστής. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Προεπεξεργαστής Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαδικασία Μεταγλώττισης πρόγραµµα επεξεργασίας κειµένου if a
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 8 η Δείκτες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης Χριστοδούλου
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 10 Ο. Δομές Ενώσεις Απαριθμητοί τύποι δεδομένων ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΣΙΝΑΤΚΑΣ Ι ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 10 Ο Δομές Ενώσεις Απαριθμητοί τύποι δεδομένων Εισαγωγή Οι βασικοί τύποι δεδομένων στην C είναι char, int, float και double Το επόμενο βήμα δεδομένων
Διαβάστε περισσότεραΔιάλεξη 22η: Επιπλέον στοιχεία της C
Διάλεξη 22η: Επιπλέον στοιχεία της C Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Πρατικάκης (CSD) Extra CS100, 2018-2019 1 / 11 Οργάνωση του κώδικα Ένα πρόγραμμα
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα
Διαβάστε περισσότεραΤεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C
Τεχνολογία και Προγραμματισμός Υπολογιστών Η γλώσσα προγραμματισμού C Με μια ματιά Τύπος Πίνακα Μεταβλητές με ενδείκτη Αλφαριθμητικά - Πίνακες Δισδιάστατος Πολυδιάστατος Πίνακας 2 2 Τύπος Πίνακα Σύνθετος
Διαβάστε περισσότεραΒΑΣΙΚΟΙ ΤΥΠΟΙ ΚΑΙ ΠΙΝΑΚΕΣ
ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΚΑΙ ΠΙΝΑΚΕΣ Γεώργιος Παπαϊωάννου (2013-16) gepap@aueb.gr Περιγραφή: Βασικοί Τύποι Πίνακες (μέρος 1) Συμβολοσειρές Ο Προεπεξεργαστής Τελευταία ενημέρωση: Σεπτέμβριος 2016 Εισαγωγή - 2 short:
Διαβάστε περισσότεραΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β
ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β 1. (10 μον.) Απαντήστε σωστό ή λάθος στις παρακάτω ερωτήσεις (αʹ) _2togo είναι έγκυρο όνομα μεταβλητής (βʹ) Αν p είναι δείκτης στο πρώτο στοιχείο
Διαβάστε περισσότεραΚεφάλαιο 8.7. Πολυδιάστατοι Πίνακες ( ιάλεξη 18) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
Κεφάλαιο 8.7 Πολυδιάστατοι Πίνακες ( ιάλεξη 18) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Πολυδιάστατοι πίνακες Μέχρι τώρα µιλούσαµε για Μονοδιάστατους Πίνακες. ή π.χ. int age[5]= {31,28,31,30,31; για Παράλληλους πίνακες,
Διαβάστε περισσότεραΟικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2
Οικονόμου Βαγγέλησ Διάλεξη Νο 2 Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2 1 Η έννοια τησ μεταβλητήσ έδωςε λύςη ςτο πρόβλημα τησ αναφοράσ ςτην κύρια μνήμη του υπολογιςτή. Οι γλώςςεσ προγραμματιςμού υποςτηρίζουν
Διαβάστε περισσότεραΔεδομένα, Τύποι και Τιμές
Προγραμματισμός Η/Υ Ι Δεδομένα, Τύποι και Τιμές ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Οι περισσότερες προγραμματιστικές εργασίες περιλαμβάνουν χειρισμό
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Παρατηρήσεις
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Εκφράσεις και Λίγες Εντολές Οι εκφράσεις της C Τελεστές Απλές και σύνθετες εντολές Εντολές ελέγχου (επιλογής) Εισαγωγή σε
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)
Προγραμματισμός Η/Υ Ενότητα 2β: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Κατανόηση της έννοιας του Τελεστή
Διαβάστε περισσότεραΔομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 3 Επανάληψη Γ μέρος
ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ Δομές Δεδομένων (Εργ.) Ακ. Έτος 2017-18 Διδάσκων: Ευάγγελος Σπύρου Εργαστήριο 3 Επανάληψη Γ μέρος 1. Στόχος του εργαστηρίου Στόχος του τρίτου εργαστηρίου είναι
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΑ' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 9η εβδομάδα. Κοζάνη, 2 Δεκεμβρίου 2008. Δίνονται παραδείγματα που αποσαφηνίζουν και συμπληρώνουν όσα αναφέρθηκαν στο μάθημα σχετικά με τις δομές
Διαβάστε περισσότεραΑΣΚΗΣΗ 6: ΔΕΙΚΤΕΣ. Σκοπός της Άσκησης. 1. Εισαγωγικά στοιχεία για τους Δείκτες
Σκοπός της Άσκησης ΑΣΚΗΣΗ 6: ΔΕΙΚΤΕΣ Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η εξοικείωση με τη χρήση των δεικτών (pointers). Οι δείκτες δίνουν την δυνατότητα σε προγράμματα να προσομοιώνουν τη
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δομές Δεδομένων Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Δομές Δεδομένων Μια δομή δεδομένων είναι μια συλλογή δεδομένων με κάποιες
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΠρογραμματισμός ΙI (Θ)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 7: Διαχείριση Μνήμης,Δυναμικές Δομές Δεδομένων, Αναδρομή Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Δυναμικές Δομές Δεδομένων Γενικά - Δυναμική Δέσμευση/Αποδέσμευση
Διαβάστε περισσότεραΔιάλεξη 6: Δείκτες και Πίνακες
Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 6: Δείκτες και Πίνακες (Κεφάλαιο 12, KNK-2ED) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 6-1 Περιεχόμενο
Διαβάστε περισσότεραΔομές δεδομένων (2) Αλγόριθμοι
Δομές δεδομένων (2) Αλγόριθμοι Παράγωγοι τύποι (struct) σύνοψη προηγουμένων Πίνακες: πολλές μεταβλητές ίδιου τύπου Παράγωγοι τύποι ή Δομές (struct): ομαδοποίηση μεταβλητών διαφορετικού τύπου struct Student
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 4: Τύποι Δεδομένων και τελεστές Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΑσκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)
Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις Επανάληψη για την ενδιάμεση εξέταση (Διάλεξη 13) 13-1 Πρόβλημα 1 Γράψετε τον ορισμό μίας συνάρτησης η οποία υπολογίζει το μέγιστο 2 ακεραίων αριθμών και
Διαβάστε περισσότεραΑ. 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) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 7 η Πίνακες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης Χριστοδούλου
Διαβάστε περισσότεραΣτοιχειώδης προγραμματισμός σε C++
Στοιχειώδης προγραμματισμός σε C++ Σύντομο Ιστορικό. Το πρόγραμμα Hello World. Ο τελεστής εξόδου. Μεταβλητές και δηλώσεις τους. Αντικείμενα, μεταβλητές, σταθερές. Ο τελεστής εισόδου. Θεμελιώδεις τύποι.
Διαβάστε περισσότεραΣτην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2
Εισαγωγή στην C Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Σύνταξη και Σηµασιολογία της C Σχολιασµός Μεταβλητές / Σταθερές Τύποι εδοµένων και Τελεστές Βιβλίο µαθήµατος: Chapter 2,, Sec.
Διαβάστε περισσότεραΠρογραμματισμός Υπολογιστών & Υπολογιστική Φυσική
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 2: Μεταβλητές και Σταθερές Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης
Διαβάστε περισσότεραΔείκτες (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 Δήλωση Δήλωση Τύπος
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python
ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής
Διαβάστε περισσότεραΕισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C
Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 5: H ΓΛΩΣΣΑ C++ Δομές Ελέγχου ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Δομές Ελέγχου Εισαγωγή Πριν
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης
Κ.Π. Γιαλούρης Στόχοι του σημερινού μαθήματος Εξοικείωση με τα περιβάλλοντα της Python Κατανόηση βασικών εννοιών & τεχνικών Τύπος δεδομένων Μεταβλητή Εντολή ανάθεση τιμής / εντολή αντικατάστασης Εισαγωγή
Διαβάστε περισσότεραΚεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις. ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Περιεχόµενα Τύποι εδοµένων int, char, float, double Τελεστές =,+,-,*,/,% Αριθµητικές εκφράσεις
Διαβάστε περισσότεραΠαρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.
Ερωτήσεις προόδου C Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα. #include // δίνει οδηγία στον compiler να // συμπεριλάβει την βιβλιοθήκη stdio int
Διαβάστε περισσότεραΔιάλεξη 9η: Πίνακες (arrays)
Διάλεξη 9η: Πίνακες (arrays) Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Arrays CS100, 2016-2017 1 / 17
Διαβάστε περισσότερα