Προγραμματισμός Ι. Εγγραφές. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
|
|
- Ἁλκυόνη Κασιδιάρης
- 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