ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Eισαγωγή στον Προγραμματισμό Ενότητα 1: Εισαγωγή στην γλώσσα C και στο περιβάλλον Dev C/C++ Κ. Κουκουλέτσος Τμήμα: Τμήμα Υπολογιστικών Συστημάτων
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 2
Σκοποί ενότητας... 4 Περιεχόμενα ενότητας... 4 Υποδείξεις... 5 Ασκήσεις... 5 Άσκηση 1... 5 Άσκηση 2... 6 Άσκηση 3... 6 ΣΥΧΝΑ ΛΑΘΗ ΣΤΗ C... 7 Άσκηση 4... 7 3
Σκοποί ενότητας Σκοπός της ενότητας είναι η πρακτική εξάσκηση του εκπαιδευόμενου με έννοιες που έχουν αναλυθεί στο αντίστοιχο τμήμα της θεωρίας, με την επίλυση ασκήσεων. Περιεχόμενα ενότητας Η ενότητα του εργαστηρίου περιλαμβάνει ασκήσεις για το μάθημα: Εισαγωγή στον προγραμματισμό. 4
Υποδείξεις Να γίνει συνοπτικά περιγραφή και ανάλυση των εννοιών που περιλαμβάνονται σε αυτό το εργαστήριο (διάρκεια 20-30 λεπτά). Να επιλυθούν τυχόν απορίες. Έννοιες του εργαστηριακού μαθήματος 1) Γλώσσα προγραμματισμού C Eισαγωγή στο περιβάλλον Dev C++ Συγγραφή προγράμματος- Μεταγλώττιση (Compile) -Εκτέλεση (Run) Αρχεία επικεφαλίδων (Header files) Χρήση σχολίων, Απόδοση τιμών Xρήση printf scanf για έξοδο και είσοδο τιμών Εμφάνιση αριθμών 2) Εξοικείωση με σύστημα αρχείων του PC στα εργαστήρια. Δημιουργία φακέλων για αποθήκευση project για κάθε τμήμα Χρήση μενού και συντομεύσεων Ρυθμίσεις στο περιβάλλον (Από το μενού Tools / Editor Options Χρήση tabs για την στοίχιση των εντολών Προσοχή: Τα αρχεία και projects μπορούν να αποθηκεύονται με ονόματα και σε φακέλους που θα δημιουργηθούν σε χώρους που επιτρέπεται η πρόσβαση σε σπουδαστές. Επιτρέπεται η χρήση USB sticks για αποθήκευση και μεταφορά. Ασκήσεις Άσκηση 1 Να εκτελεστεί το παρακάτω πρόγραμμα. float a,b; printf("dose ton proto arithmo ");scanf("%f",&a); printf("dose ton deftero arithmo ");scanf("%f",&b); printf("to athrisma einai %f\n",a+b); printf("h diaforra einai %f\n",a-b); float g=a*b; printf("to ginomeno einai %f\n",g); g=a/b; printf("to piliko einai %f\n",g); 5
Άσκηση 2 Να γραφεί πρόγραμμα που να υπολογίζει το τετράγωνο ενός ακέραιου αριθμού και την τετραγωνική ρίζα Υπόδειξη: Θα χρειαστεί η συνάρτηση sqrt και η βιβλιοθήκη (αρχείο επικεφαλίδων) cmath ή math.h. Να γίνει χρήση του τύπου double για τον υπολογισμό της τετραγωνικής ρίζας. #include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char *argv[]) { double a,tetr; double riza; printf("dose ena aritmno "); scanf("%lf",&a);//spedifier lf gia diavasma double printf("%12.5f\n", a); riza=sqrt((float)a); printf("h tetrafoniki riza tou arithou %f einai %f\n",a,riza); printf("o arxikos arithmos einai %f\n",riza*riza); system("pause"); return EXIT_SUCCESS; } Άσκηση 3 Το παρακάτω πρόγραμμα μετατρέπει τα μίλια σε χιλιόμετρα. Ενώ το πρόγραμμα τρέχει και δεν υπάρχουν συντακτικά λάθη τα αποτελέσματα δεν είναι σωστά. Να διορθωθούν τα λάθη στο πρόγραμμα ώστε αν ο χρήστη εισάγει 50 μίλια η μετατροπή να δίνει 80.47 χιλιόμετρα #include <stdio.h> #include <stdlib.h> /**************************************************** programma metatropis milion se km 1mile=1.609344 km ****************************************************/ int main() { int in_miles = 50; int km_se_mile=1.609344; int out_m=(in_miles*km_se_mile); printf ("%d milia einai %.2f xiliometra\n", in_miles, out_m); system("pause"); return EXIT_SUCCESS; } 6
ΣΥΧΝΑ ΛΑΘΗ ΣΤΗ C Τα παρακάτω είναι λάθη που συχνά κάνουν οι προγραμματιστές. Κάντε μία τις παρακάτω αλλαγές στο πρόγραμμά και δείτε τα μηνύματα που βγάζει ο compiler. Αφού κάνετε μία αλλαγή (λάθος) ξαναδιορθώστε το πρόγραμμα όπως ήταν πριν για να δοκιμάσετε την επόμενη αλλαγή (λάθος). Προσπαθήστε να κατανοήσετε σε κάθε λάθος τα μηνύματα που βγάζει ο compiler 1. Αφήστε ένα κενό ανάμεσα στο / και το * στην αρχή του σχολίου 2. Σβήστε το */ στο τέλος του σχολίου 3. Κάντε σχόλιο γραμμής την δήλωση int in_miles = 50; 4. Αλλάξτε το όνομα main σε mian 5. Σβήστε το πρώτο { 6. Σβήστε το τελευταίο { 7. Προσθέστε ένα } στο τέλος του προγράμματος 8. Σβήστε το ; από το τέλος μίας δήλωσης Άσκηση 4 Προσπαθήστε να διορθώσετε τα λάθη στο παρακάτω πρόγραμμα. Το πρόγραμμα δέχεται ένα αριθμό που αντιπροσωπεύει ημέρες και μετατρέπει αυτόν τον αριθμό σε εβδομάδες και ημέρες δηλαδή αν δοθεί 15 μέρες μετατρέπεται σε 2 εβδομάδες και 1 μερα. Με ποιο βαθμό θα βαθμολογούσατε μία τέτοια άσκηση; #include <stdio.h> /* programma metatropis enos arithmou imeron se evdomades 15 meres=2 evdomades kai 1 mera * / int Main() { int Evdomades; int meres_tin_evdomada = 7; evdomades = input_meres / meres_tin_evdomada meres = meres - meres * meres_tin_evdomada; int input_meres = 15; printf ("%d meres einai %d evdomades and %d meres\n", input_meres, evdomades, meres); system("pause"); return 0; } */ 7