ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στον Προγραμματισμό Ενότητα 2: Τύποι Δεδομένων, Μεταβλητές, Τελεστές και Παραστάσεις Κ. Κουκουλέτσος Τμήμα: Τμήμα Υπολογιστικών Συστημάτων
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.
Σκοποί ενότητας... 4 Περιεχόμενα ενότητας... 4 Άσκηση 1... 5 Άσκηση 2... 5 Άσκηση 3... 5 Άσκηση 4... 6 Άσκηση 5... 6
Σκοποί ενότητας Σκοπός της ενότητας είναι η πρακτική εξάσκηση του εκπαιδευόμενου με έννοιες που έχουν αναλυθεί στο αντίστοιχο τμήμα της θεωρίας, με την επίλυση ασκήσεων. Πιο αναλυτικά οι σκοποί είναι Να είναι σε θέση να ορίζει και να αρχικοποιεί μεταβλητές και σταθερές Να έχει κατανοήσει της ιδιότητες και τους περιορισμούς των ακέραιων και πραγματικών μεταβλητών Να υλοποιεί αριθμητικές παραστάσεις και εκχωρήσεις Να εξοικειωθεί με την χρήση των τελεστών και την προτεραιότητα τους Να κατανοήσει την χρήση των τύπων δεδομένων και τις διαφορές τους Περιεχόμενα ενότητας Η ενότητα του εργαστηρίου περιλαμβάνει ασκήσεις για το μάθημα: Εισαγωγή στον προγραμματισμό.
Άσκηση 1 Εμφάνιση μεγέθους που καταλαμβάνει κάθε μεταβλητή int main(void){ char c; short s; int k; long x; printf("char= printf("short= printf("int= printf("long= %d bytes\n", sizeof(c)); %d bytes\n", sizeof(s)); %d bytes\n", sizeof(k)); %d bytes\n", sizeof(x)); printf("float= %d bytes\n", sizeof(float)); printf("double= %d bytes\n", sizeof(double)); printf("long double= %d bytes\n", sizeof(long double)); printf("float= %d bytes\n", sizeof(float)); printf("minimum float positive value: %E\n", FLT_MIN ); printf("maximum float positive value: %E\n", FLT_MAX ); printf("akribeia dekadikon: %d\n", FLT_DIG ); Άσκηση 2 Υπολογισμός εμβαδού κύκλου (με χρήση σταθεράς) int main ( ) { float rad,emvado; const float PI=3.1415 ; printf("dose aktina tou kiklou" ); scanf("%f", &rad); emvado = PI * rad * rad ; printf("%.3f\n",emvado); system ("PAUSE"); Άσκηση 3 Παράδειγμα υπερχείλισης( γίνεται χρήση του ακέραιου τύπου signed char και μετά του ακεραίου int ) int main(void){ signed char aker; printf("sizeof int: %d\n", sizeof(aker)); aker=127; aker=aker+1; aker=127; aker=aker+129; printf("aker= %d \n", aker); printf("aker+1 = %d \n", aker); printf("aker= %d \n", aker); printf("aker+129 = %d \n", aker);
int a=2147483647; printf("a= %d\n", a); a=a+1; printf("a+1 = %d\n", a); Άσκηση 4 Να εμφανίζεται ένα ποσό που δίδεται σε Ευρώ από πόσα χαρτονομίσματα και νομίσματα των 200 των 50 και των 10 ευρώ αποτελείται (γίνεται χρήση των τελεστών υπόλοιπου και της ακεραίας διαίρεσης) int main(void) { int euro; int diakosia,peninta,deka,mona,ypol; printf("dose to poso se Euro= "); scanf("%d",&euro); Ypol=euro; diakosia=ypol/200; Ypol=Ypol%200; peninta=ypol/50; Ypol=Ypol%50; deka=ypol/10; Ypol=Ypol%10; mona =Ypol; printf("ta %d euro tou Euro= \n", euro); printf(" %d diakosieura \n %d penintaeura\n", diakosia,peninta); printf(" %d dekaeura \n %d euro\n", deka,mona); Άσκηση 5 Να εισάγεται ένας τριψήφιος ακέραιος θετικός αριθμός και να εμφανίζεται ο αντίστοιχος θετικός με ανάποδα τα ψηφία του αρχικού αριθμού int main(void) { int number,newnum; int anapodos, proto, deftero,trito; printf("dose 3psifio thetiko= "); scanf("%d",&number); newnum = number; proto = newnum/100; newnum = newnum%100; deftero = newnum/10; newnum = newnum%10; trito = newnum; anapodos = trito*100+deftero*10+proto; printf("o anapodos tou %d einai o %d\n", number, anapodos);