ΛΥΜΕΝΕΣ ΑΣΚΗΣΕΙΣ ΤΟΥ ΕΡΓΑΣΤΗΡΙΟΥ

Σχετικά έγγραφα
ΣΥΝΑΡΤΗΣΕΙΣ Παραδείγματα χρήσης συναρτήσεων ΟΡΙΣΜΟΣ ΣΥΝΑΡΤΗΣΗΣ ΜΕ ΕΠΙΣΤΡΟΦΗ ΤΙΜΗΣ #include <iostream.h> int compare_numbers(int num1, int num2)

ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ. Παράδειγμα 1 Δήλωση και αρχικοποίηση μονοδιάστατου πίνακα [5] με χρήση δομής επανάληψης με συνθήκη στην είσοδο και μετρητή.

ΕΛΕΓΧΟΣ ΡΟΗΣ IF-ELSE

ΣΥΝΑΡΤΗΣΕΙΣ Παραδείγματα χρήσης συναρτήσεων

3. ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ (Β' μέρος: switch και :? )

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Ινστιτούτο Επαγγελµατική Κατάρτιση Κορυδαλλού "ΤΕΧΝΙΚΟΣ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ" (Ερωτήσεις Πιστοποίησης στην γλώσσα προγραµµατισµού C)

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Δομές ελέγχου & επανάληψης

Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

EΒ ΟΜΑ Α 4 Η. οµές επανάληψης while και do while

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Σημειώσεις για πρόοδο στο εργαστήριο

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΕΞΕΤΑΣΗ IOYNIOY 2018 ΘΕΜΑΤΑ Α ΟΝΟΜΑΤΕΠΩΝΥΜΟ:... ΑΕΜ: ΕΞΑΜΗΝΟ:

ΑΣΚΗΣΗ 5: ΠΙΝΑΚΕΣ. Σχήµα 1: H έννοια των πινάκων

242 -ΕισαγωγήστουςΗ/Υ

Η Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 6 Εντολές Επανάληψης Ασκήσεις. Γιώργος Λαμπρινίδης

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό με C++

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

Η Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 5 Εντολές Επανάληψης for while do while. Λαμπρινίδης Γεώργιος

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

Συναρτήσεις (Functions) Εισαγωγή στη C++

ΗΥ-150. Προγραμματισμός

Παίρνοντας Αποφάσεις 1

ΗΥ-150. Προγραμματισμός

ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ 8/9/2008

Εργαστήριο 3 Εντολή for while, do while

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++

4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for)

Εισαγωγή στον Προγραμματισμό

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..

Αʹ. Πίνακες. Άσκηση 1. Λύση. Άσκηση 2. Λύση. Ασκήσεις Εργαστηρίου Προγραμματισμού

Εισαγωγή στον Προγραμματισμό

ΕΠΛ 034 ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΓΙΑ ΗΜΥ

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομές Επανάληψης. Εισαγωγή στη C++

Δομημένος Προγραμματισμός Θεωρία

4. Επιλογή και Επανάληψη

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #5

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος

Τα δεδομένα στη C++ χωρίζονται σε 3 κατηγορίες: τους αριθμούς (numbers), τους χαρακτήρες (characters) και τις συμβολοσειρές (strings).

Εισαγωγή στις Συναρτήσεις

EΒ ΟΜΑ Α 3 Η. Άλλοι τελεστές καταχώρησης: += -= *= /= %= x += 5; σηµαίνει x = x + 5; k *= 7; σηµαίνει k = k * 7; sum %= 15; σηµαίνει sum = sum % 15;

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι χρειάζεται η εντολή if ; Εντολή if. Παράδειγμα #1. Παράδειγμα #1

Νικόλαος Μιχαλοδημητράκης Σημειώσεις C (Εργαστήριο) 12 ο Μάθημα 1

Λογικό "και" (AND) μας επιστρέφει 1 αν και οι δύο operands είναι όχι μηδέν, διαφορετικά 0)

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) a= b= c= 3 read(d,e)

Χαράλαµπος Σκόκος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ I ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΕΞΕΤΑΣΕΙΣ ΕΑΡΙΝΟΥ ΕΞΑΜΗΝΟΥ Ερωτήσεις

Τι είναι κλάση Κλάση

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι είναι ; Συναρτήσεις. Παράδειγμα #1. double convert ( double cm ) { double inch;

5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while)

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΑΣΚΗΣΗ #5 Προτεινόμενη Λύση

Προγραμματισμός Η/Υ (ΤΛ2007 )

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

Προγραμματισμός Η/Υ (ΤΛ2007 )

Η γλώσσα προγραμματισμού C

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Ασκήσεις Επανάληψης

2 η Διάλεξη C++ Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ

Οικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ I ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΠΡΟΓΡΑΜΜΑΤΑ ΕΡΓΑΣΤΗΡΙΟΥ

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

Χαράλαµπος Σκόκος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ I ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΕΞΕΤΑΣΕΙΣ ΧΕΙΜΕΡΙΝΟΥ ΕΞΑΜΗΝΟΥ Ερωτήσεις

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Γλώσσα Προγραμματισμού C. Προγραμματισμός HY: Γλώσσα Προγραμματισμού C. Γρήγορος Πίνακας Αναφοράς Σύνταξης. Εισήγηση #4. Επαναληπτικές δομές:

Εισαγωγή στον δομημένο προγραμματισμό

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό. Ενότητα 4: Έλεγχος Ροής. Κ.

Γ7.8 Εγγραφές (Structures) Γ Λυκείου Κατεύθυνσης

Εισαγωγή στη γλώσσα προγραμματισμού C++

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: 2 ΩΡΕΣ

C: Από τη Θεωρία στην Εφαρμογή

Τεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C

Αντικειμενοστραφής Προγραμματισμός ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ

Γλώσσα Προγραμματισμού C

Κεφάλαιο ΙV: Δείκτες και πίνακες. 4.1 Δείκτες.

8. Συνθήκες ελέγχου, λογικοί τελεστές

Συναρτήσεις και διαδικασίες

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 2 η

Δεδομένα, τελεστές, είσοδος/έξοδος

Προγραμματισμός Η/Υ (ΤΛ2007 )

ΑΣΚΗΣΗ 3: ΠΡΟΤΑΣΕΙΣ, ΕΚΦΡΑΣΕΙΣ ΚΑΙ ΤΕΛΕΣΤΕΣ

Νικόλαος Μιχαλοδημητράκης Σημειώσεις C (Εργαστήριο) 5 ο Μέρος 5 ο Μέρος Εντολές Επανάληψης: FOR - WHILE. Περιγραφή

Μεθόδων Επίλυσης Προβλημάτων

Transcript:

Άσκηση 1: Είσοδος-Έξοδος Άσκηση (Α) ΛΥΜΕΝΕΣ ΑΣΚΗΣΕΙΣ ΤΟΥ ΕΡΓΑΣΤΗΡΙΟΥ Να φτιάξετε ένα πρόγραμμα που να εμφανίζει το ακόλουθο menu ----------Επιλέξτε πράξη--------- 1. Πρόσθεση 2. Αφαίρεση 3. Πολλαπλασιασμός 4. Διαίρεση 5. Έξοδος Επιλογή: Πρόγραμμα Α1.Α float num1, num2, result=0, k=0; int choice; cout<<"\ndose ton prwto arithmo: "; cin>>num1; cout<<"\ndose ton deytero arithmo: "; cin>>num2; cout<<"\n\t\t\t----epelexe praxh---- \n"; cout<<"\n\t\t\t 1 -> + (prosthesh)\n"; cout<<"\n\t\t\t 2 -> - (afairesh)\n"; cout<<"\n\t\t\t 3 -> * (pollaplasiasmos)\n"; cout<<"\n\t\t\t 4 -> / (diairesh)\n"; cout<<"\n\t\t\t 5 -> / (exodos)\n"; Άσκηση 2: Μεταβλητές-Απλές Πράξεις Άσκηση (Α) Φτιάξτε ένα πρόγραμμα που να υπολογίζει και να εμφανίζει το εμβαδό και την περίμετρο του κύκλου. Δίνονται: π = 3,14159 (σταθερά PI) Διάμετρος 5μ. (d=5) Ακτίνα = Διάμετρος/2 (r=d/2) Εμβαδόν = π*ακτίνα 2 (emv=π*r*r) Περίμετρος = 2*π*ακτίνα (per=2*π*r) 1

Πρόγραμμα Α2.Α.1 Δήλωση του π ως σταθερά με την χρήση της δήλωσης #define #define PI 3.14159 const float d=5; float r,emv,per; r=d/2; emv=pi*r*r; per=2*pi*r; cout<<"h PERIMETROS EINAI: "<<per<<endl; cout<<"to EMVADON EINAI: "<<emv<<endl; Πρόγραμμα Α2.Α.2 Δήλωση του π ως σταθερά μέσα στη main() const float PI=3.14159; const float d=5; float r,emv,per; r=d/2; emv=pi*r*r; per=2*pi*r; cout<<"h PERIMETROS EINAI: "<<per<<endl; cout<<"to EMVADON EINAI: "<<emv<<endl; Άσκηση (B) Φτιάξτε ένα πρόγραμμα που δέχεται και να υπολογίζει τις τιμές των x και y εάν αυτά χρησιμοποιούνται ως παρελκόμενοι ή προπορευόμενοι τελεστές στις πιο κάτω εκφράσεις: --x; y=y - --x; y++; y=x + ++y; Πρόγραμμα Α2.Β int x=10, y=20; cout<<"x="<<x<<" y="<<y<<endl; --x; cout<<"x="<<x<<" y="<<y<<endl; y=y - --x; cout<<"x="<<x<<" y="<<y<<endl; y++; 2

cout<<"x="<<x<<" y="<<y<<endl; y=x + ++y; cout<<"x="<<x<<" y="<<y<<endl; Άσκηση 3: Συγκριτικοί-Λογικοί τελεστές μα δομή επιλογής if/else Άσκηση (Α) Να φτιάξετε ένα πρόγραμμα που να συγκρίνει δύο αριθμούς που δίνει ο χρήστης και αφού βρει τον μεγαλύτερο και τον μικρότερο να τους περνά αντίστοιχα σε μεταβλητές max και min και να τις τυπώνει στην οθόνη. Αυτό θα γίνει με μπλοκ εντολών και την χρήση δομής ελέγχου if - else. Πρόγραμμα Α3.Α int x,y,min,max; cout<<"dose DYO AKERAIOUS: "; cin>>x>>y; if (x>y) min=y; max=x; else min=x; max=y; cout<<"o MIKROTEROS EINAI O: "<<min<<endl; cout<<"o MEGALYTEROS EINAI O: "<<max<<endl; Άσκηση (Β) Να φτιάξετε ένα πρόγραμμα με την χρήση της δομής επιλογής switch που να παίρνει δύο αριθμούς από τον χρήστη κατόπιν να εμφανίζει στην οθόνη το παρακάτω menu επιλογών: ----------Επιλέξτε πράξη--------- 6. Πρόσθεση 7. Αφαίρεση 8. Πολλαπλασιασμός 9. Διαίρεση 10. Έξοδος Επιλογή: Ανάλογα με την επιλογή να εκτελεί την αντίστοιχη πράξη (διασφαλίζοντας ότι δεν θα γίνει η διαίρεση εάν ο διαιρέτης είναι 0) και στο τέλος να εμφανίζει στην οθόνη το αποτέλεσμα. 3

Πρόγραμμα Α3.B float num1, num2, result=0, k=0; int choice; cout<<"\ndose ton prwto arithmo: "; cin>>num1; cout<<"\ndose ton deytero arithmo: "; cin>>num2; cout<<"\n\t\t\t----epelexe praxh---- \n"; cout<<"\n\t\t\t 1 -> + (prosthesh)\n"; cout<<"\n\t\t\t 2 -> - (afairesh)\n"; cout<<"\n\t\t\t 3 -> * (pollaplasiasmos)\n"; cout<<"\n\t\t\t 4 -> / (diairesh)\n"; cout<<"\n\t\t\t 5 -> / (exodos)\n"; cout<<"\n\tepilogh: "; cin>>choice; switch(choice) case 1: result=num1+num2; case 2: result=num1-num2; case 3: result=num1*num2; case 4: if (num2!=0) result=num1/num2; //num2!= 0 else cout<<"\tlathos: DIAIRESH ME TO 0\n"; case 5: cout<<"\nden EPILEXATE PRAXH *GEIA SAS*\n\n"; k=1; default: cout<<"\nlathos EPILOGH\n\n"; k=1; // TELOS THS switch if (k==0) cout<<"\n\tto APOTELESMA EINAI: <<result<<endl<<endl; // TELOS THS main 4

Άσκηση 4: Δομή επανάληψης - βρόχος for Άσκηση (Α) Να φτιάξετε ένα πρόγραμμα που να εκτυπώνει τους ζυγούς αριθμούς από το 0 έως το 100. Πρόγραμμα Α4.Α int ar; for(ar=0;ar<=100;ar++) if(ar%2==0) cout<<ar<<endl; Άσκηση (Β) Να φτιάξετε ένα πρόγραμμα που να εκτυπώνει τους μονούς αριθμούς από το 1 έως το 99. Πρόγραμμα Α4.B int ar; for(ar=1;ar<=100;ar++) if(ar%2!=0) cout<<ar<<endl; Άσκηση (Γ) Να φτιάξετε ένα πρόγραμμα που να δέχεται από τον χρήστη βαθμούς 10 φοιτητών για ένα μάθημα και να υπολογίζει το ποσοστό που περνά το μάθημα Πρόγραμμα Α4.Γ int i, count=0; float vathmos,pososto; for(i=0;i<10;i++) cout<<"dose vathmo "<<i+1<<"ou foithth: "; cin>>vathmos; if((vathmos>=5)&&(vathmos<=10)) count++; pososto=100*count/10; cout<<"to pososto pou pernane einai: " <<pososto<<"%"<<endl; 5

Άσκηση (Δ) Να φτιάξετε ένα πρόγραμμα που να δέχεται από τον χρήστη 20 αριθμούς και να υπολογίζει πόσοι από αυτούς ήταν άρτιοι και πόσοι περιττοί. Πρόγραμμα Α4.Δ #define M 20 int i, ar, art=0, per=0; cout<<"to PROGRAMMA METRAEI \n; cout<<"toys ARTIOUS KAI TOUS PERITTOUS ARITHMOYS\n"; for(i=0;i<m;i++) cout<<"\ndose "<<i+1<<"o arithmo: "; cin>>ar; if(ar%2==0) art++; else per++; cout<<"edoses "<<art<<" zygoys"<<endl; cout<<"kai "<<per<<" monous arithmous"<<endl; Άσκηση 5: Δομή επανάληψης - βρόχοι while και do/while Άσκηση (Α) Το πρόγραμμα που ακολουθεί τυπώνει στην οθόνη έναν πίνακα ημιτόνων και συνημίτονων γωνιών από 0 έως 360 μοιρών με διαφορά 10 μοιρών με βρόχο while με συνθήκη στην είσοδο και μετρητή στο σώμα της επανάληψης. Πρόγραμμα Α5.Α #include <iomanip.h> #include <math.h> int gonia=0; double hmi, syn, pi=3.14159265; cout<<"gwnia\thmitono\tsynhmitono"<<endl; while (gonia<=360) hmi=sin(gonia*pi/180); syn=cos(gonia*pi/180); hmi=(hmi<0.00001 && hmi>-0.00001?0:hmi); syn=(syn<0.00001 && syn>-0.00001?0:syn); cout<<gonia<<"\t"<<setw(10)<<hmi<<"\t"<<setw(10)<<syn<<endl; 6

gonia+=10; Άσκηση (B) Να φτιαχτεί ένα πρόγραμμα που να ζητά από το χρήστη να του δώσει έναν αριθμό μικρότερο από 10 και να τον τυπώνει στην οθόνη μόνο εάν ο αριθμός είναι μικρότερος του 10. Εάν ο αριθμός είναι μεγαλύτερος το πρόγραμμα θα ξαναζητά από τον χρήστη αριθμό. (βρόχος do/while) Πρόγραμμα Α5.Β int ar; do cout<<"dose ARITHMO MIKROTERO TOY 10:"; cin>>ar; while(ar>=10); cout<<"edoses TON ARITHMO "<<ar<<endl; Άσκηση (Γ) Να φτιαχτεί ένα πρόγραμμα που να ζητά από το χρήστη να του δώσει έναν αριθμό και αυτό να τυπώνει με φθίνουσα σειρά όλους τους αριθμούς από τον αριθμό έως το 0 με βήμα 2. (βρόχος do/while) Πρόγραμμα Α5.Γ int ar; cout<<"dose ARITHMO:"; cin>>ar; do cout<<ar<<endl; ar-=2; while(ar>=0); 7

Άσκηση 6: Μονοδιάστατοι πίνακες Άσκηση (Α) Να φτιαχτεί ένα πρόγραμμα που να καταχωρεί 20 θερμοκρασίες (να γεμίζει έναν πίνακα 20 στοιχείων) και να τυπώνει στην έξοδο μια μέση τιμή. Πρόγραμμα Α6.Α #define M 20 float Temp_Array[M], Temp_Sum=0, Temp_Avg; for(int k=0; k<m; k++) cout<<"dose "<<k+1<<"h Thermokrasia: "; cin>>temp_array[k]; Temp_Sum+=Temp_Array[k]; Temp_Avg=Temp_Sum/M; cout<<"o M.O. Thermokrasias einai: "<<Temp_Avg<<endl; Άσκηση (Β) Να φτιαχτεί ένα πρόγραμμα που να διαβάζει 10 αριθμούς από το πληκτρολόγιο (σε μονοδιάστατο πίνακα 10 στοιχείων) και να τους τυπώνει με αντίθετη σειρά. Πρόγραμμα Α6.Β int myarray[10]; int i; for(i=0;i<10;i++) cout<<"dose timh gia to myarray["<<i+1<<"]: "; cin>>myarray[i]; cout<<"oi times antistrofa einai\n"; for(i=9;i>-1;i--) cout<<"myarray["<<i<<"]: "<<myarray[i]; cout<<endl; 8

Άσκηση 7: Πολυδιάστατοι πίνακες Άσκηση (Α) Να φτιαχτεί ένα πρόγραμμα που να εμφανίζει στην έξοδο τα αθροίσματα των στοιχείων των στηλών και τα γινόμενα των στοιχείων των γραμμών ενός πίνακα [3Χ4] εκχωρώντας τα αποτελέσματα των πράξεων (άθροισμα και γινόμενο) σε δύο νέους πίνακες. Πρόγραμμα Α7.Α #define ROW 3 #define COL 4 int main() int i,j; float Ar[ROW][COL],sum[4],prod[3]; //arxikopoihsh pinaka for(i=0;i<row;i++) for(j=0;j<col;j++) cout<<"\nstoixeio ["<<i<<"]["<<j<<"]:"; cin>>ar[i][j]; for(j=0;j<col;j++) //athroisma sthlwn sum[j]=0.0; for(i=0;i<row;i++) sum[j]=sum[j]+ar[i][j]; for(i=0;i<row;i++) //ginomeno grammwn prod[i]=1.0; for(j=0;j<col;j++) prod[i]=prod[i]*ar[i][j]; cout<<"\nginomeno GRAMMWN:\n"; for(i=0;i<row;i++) cout<<prod[i]<<"\t"; cout<<"\nathroisma STHLWN:\n"; for(j=0;j<col;j++) cout<<sum[j]<<"\t"; cout<<endl; return 0; 9

Άσκηση (Β) Να φτιαχτεί ένα πρόγραμμα που να αρχικοποιεί δυο πίνακες Α[2Χ2] και Β[2Χ2] με τιμές από το πληκτρολόγιο. Κατόπιν να έχει έξοδο έναν πίνακα C που να έχει στοιχεία Cij=Aij+Bij. Πρόγραμμα Α7.Β int i,j; int A[2][2],B[2][2],C[2][2]; cout<<"arxikopoihsh pinaka A"<<endl; for(i=0;i<2;i++) for(j=0;j<2;j++) cout<<"\nstoixeio ["<<i<<"]["<<j<<"]:"; cin>>a[i][j]; cout<<"arxikopoihsh pinaka B"<<endl; for(i=0;i<2;i++) for(j=0;j<2;j++) cout<<"\nstoixeio ["<<i<<"]["<<j<<"]:"; cin>>b[i][j]; for(i=0;i<2;i++) for(j=0;j<2;j++) C[i][j]=0; for(i=0;i<2;i++) for(j=0;j<2;j++) C[i][j]=A[i][j]+B[i][j]; cout<<"pinakas C=A+B "<<endl; for(i=0;i<2;i++) for(j=0;j<2;j++) cout<<c[i][j]<<endl; 10

Άσκηση 8: Συναρτήσεις Άσκηση (Α) Να γραφτεί ένα πρόγραμμα που με την χρήση μιας συνάρτησης που δεν επιστρέφει τιμή, να τυπώνει στην οθόνη ένα Χριστουγεννιάτικο δέντρο της μορφής: * *** ***** ******* ********* *********** *** *** ***** Πρόγραμμα Α8.Α void print_function(); cout<<"akoloy8ei H SYNARTHSH \n"; cout<<"poy TYPWNEI ENA TETRAGWNO\n"; cout<<"xristougenniatiko DENTRO\n\n"; print_function(); void print_function() cout<<" *\n"; cout<<" ***\n"; cout<<" *****\n"; cout<<" *******\n"; cout<<" *********\n"; cout<<"***********\n"; cout<<" ***\n"; cout<<" ***\n"; cout<<" *****\n"; Άσκηση (B) Να γραφτεί ένα πρόγραμμα που να περιέχει μια συνάρτηση που δέχεται δύο παραμέτρους int και επιστρέφει το αποτέλεσμα της διαίρεσης της πρώτης με τη δεύτερη. Εάν η δεύτερη παράμετρος είναι 0, να μην εκτελείται η διαίρεση και να επιστρέφει -1. Το πρόγραμμα θα πρέπει να εκτυπώνει το αποτέλεσμα της συνάρτησης ή ένα μήνυμα σφάλματος αν είναι επιστρεφόμενη τιμή είναι -1. 11

Πρόγραμμα Α8.Β int Divide(int a, int b); int main() int a=0; int b=0; int c=0; cout<<"dose ton 1o arithmo: "; cin>>a; cout<<"dose ton 2o arithmo: "; cin>>b; c=divide(a,b); if (c!=-1) cout <<"To apotelesma einai: "<<c<<endl; else cout <<"PROSOXH: diairesh me to 0!!!\n"; return 0; int Divide(int x, int y) if (y!=0) return (x/y); else return -1; Άσκηση 9: Συναρτήσεις ΙΙ Άσκηση (A) Να γραφτεί ένα πρόγραμμα που να βρίσκει το παραγοντικό ενός αριθμού, χρησιμοποιώντας την μέθοδο της επανάληψης. Θα αναπτύξετε το πρόγραμμα με δομή επανάληψης for και μετά με δομή επανάληψης while. Πρόγραμμα Α9.Α.1 Με δομή επανάληψης for long paragontiko(long n); //dhlosh prototypou int main() long arithmos; cout<<"dose enan arithmo: "<<endl; cin>>arithmos; // exodοs me klhsh ths synarthshs cout<<arithmos<<"!=" <<paragontiko(arithmos)<<endl; return 0; //telos ths main long paragontiko(long n) // orismos synarthshs 12

int i, fact=1; for(i=1; i<=n; i++) fact=fact*i; return fact; //telos synarthshs Πρόγραμμα Α9.Α.2 Με δομή επανάληψης while (μόνο η συνάρτηση) long paragontiko(long n) // orismos synarthshs int i=1, fact=1; while(i<=n) fact=fact*i; i++; return fact; //telos synarthshs Άσκηση (Β) Να γραφτεί ένα πρόγραμμα που αρχικοποιεί έναν μονοδιάστατο πίνακα 10 στοιχείων με τιμές τον κύβο της εκάστοτε τιμής του μετρητή της επανάληψης. Κατόπιν θα χρησιμοποιεί μία συνάρτηση που θα διπλασιάζει τις αρχικές τιμές του πίνακα. Πρόγραμμα Α9.Β void doublingfunction(int add[]); //DHLOSH int Ar[10]; int i; cout<<"\nprin THN KLHSH THS doublingfunction"<<endl; cout<<"oi TIMES TOY PINAKA EINAI\n"<<endl; for(i=0;i<10;i++) Ar[i]=i*i*i; // O KYBOS TOY METRHTH cout<<"ar["<<i<<"]: "<<Ar[i]<<endl; cout<<"\nmeta THN KLHSH THS doublingfunction"<<endl; cout<<"oi TIMES TOY PINAKA GINONTAI\n"<<endl; doublingfunction(ar); //KLHSH for(i=0;i<10;i++) cout<<"ar["<<i<<"]: "<<Ar[i]<<endl; //TELOS main void doublingfunction(int add[]) //ORISMOS for(int i=0;i<10;i++) add[i]*=2; //DIPLASIASMOS TIMON //TELOS doublingfunction 13

Άσκηση 10: Αλφαριθμητικά Άσκηση (A) Να γραφτεί ένα πρόγραμμα που να περνάει δύο αλφαριθμητικά σε δύο πίνακες χαρακτήρων και αφού τα συγκρίνει να βγάζει μήνυμα για το αν είναι ίδια ή όχι. Κατόπιν να αντιγράφει το περιεχόμενο του ενός πίνακα στον άλλο και να τα συγκρίνει εκ νέου. Το αποτέλεσμα της σύγκρισης να εκχωρείται σε μια ακέραια μεταβλητή η τιμή της οποίας να τυπώνεται και στις δύο περιπτώσεις. Πρόγραμμα Α10.Α #include <string.h> char name1[30]="kalhmera"; char name2[30]="kalhspera"; int diff; diff=strcmp(name1,name2); if(diff==0) cout<<"ta strings einai idia"<<endl; else cout<<"ta strings den einai idia"<<endl; cout<<"to diff einai: "<<diff<<endl; strcpy(name2,name1); diff=strcmp(name1,name2); if(diff==0) cout<<"ta strings einai idia"<<endl; else cout<<"ta strings den einai idia"<<endl; cout<<"to diff einai: "<<diff<<endl; Άσκηση (Β) Πειραματιστείτε με τις συναρτήσεις αλφαριθμητικού. Περάστε τιμές σε δύο πίνακες χαρακτήρων και αλλάξτε τις, συγκρίνετέ τις, περάστε συγκεκριμένο αριθμό χαρακτήρων από το ένα αλφαριθμητικό και ξανασυγκρίνετε τα αλφαριθμητικά. Πρόγραμμα Α10.Β #include <string.h> char str1[30], str2[30]; strcpy(str1, "Kalhmera!!"); strcpy(str2, "Paidia!!"); cout<<"string1= "<<str1<<endl; cout<<"string2= "<<str2<<endl; strncat(str1,str2,3); cout<<"string1= "<<str1<<endl; strcpy(str1,"kalhnyxta"); 14

cout<<"string1= "<<str1<<endl; Άσκηση 11: Δομές Άσκηση (A) Να γράψετε ένα πρόγραμμα που να ορίσετε μια δομή eidh με μέλη code, description, color, quantity, price με τους αντίστοιχους τύπους. Κατόπιν να φτιάξετε την μεταβλητή panteloni και να καταχωρήσετε τα στοιχεία της. Η καταχώρηση των στοιχείων να γίνεται από το πληκτρολόγιο με διαδοχικά prompt. Πρόγραμμα Α11.Α #include<iostream.h> struct eidh int code; char description[10]; char color[10]; int quantity; float price; ; struct eidh panteloni; cout<<"---eisagwgh Eidous---\n"; cout<<"kwdikos: "; cin>>panteloni.code; cout<<"perigrafh: "; cin>>panteloni.description; cout<<"xrwma: "; cin>>panteloni.color; cout<<"posothta: "; cin>>panteloni.quantity; cout<<"timh: "; cin>>panteloni.price; cout<<endl; cout<<"---stoixeia Eidous---\n"; cout<<"kwdikos: "<<panteloni.code<<endl; cout<<"perigrafh: "<<panteloni.description<<endl; cout<<"xrwma: "<<panteloni.color<<endl; cout<<"posothta: "<<panteloni.quantity<<endl; cout<<"timh: "<<panteloni.price<<"euros"<<endl; Άσκηση (Β) Να γράψετε το παραπάνω πρόγραμμα με την χρήση πίνακα μεταβλητών 5 ειδών (eidos 1, eidos2, κλπ). Να ακολουθηθεί η υπόλοιπη διαδικασία όπως στο παραπάνω αλλά με την χρήση επαναλήψεων για την εισαγωγή αλλά και για την εμφάνιση. 15

Πρόγραμμα Α11.Β #include<iostream.h> #define N 5 struct eidh int code; char description[10]; char color[10]; int quantity; float price; ; struct eidh e[n]; cout<<"----esagwgh Eidvn----\n\n"; for(int i=0;i<n;i++) cout<<i+1<<"o Eidos"<<endl; cout<<"kwdikos: "; cin>>e[i].code; cout<<"perigrafh: "; cin>>e[i].description; cout<<"xrwma: "; cin>>e[i].color; cout<<"posothta: "; cout<<"timh: "; cin>>e[i].price; cout<<endl; cin>>e[i].quantity; cout<<"----emfanish Stoixeiwn----\n"; for(i=0;i<n;i++) cout<<i+1<<"o Eidos"<<endl; cout<<"kwdikos: "<<e[i].code<<endl; cout<<"perigrafh: "<<e[i].description<<endl; cout<<"xrwma: "<<e[i].color<<endl; cout<<"posothta: "<<e[i].quantity<<endl; cout<<"timh: "<<e[i].price<<" Euros"<<endl; cout<<endl; Άσκηση 12: Δομές ΙΙ Άσκηση (A) Να γράψετε ένα πρόγραμμα που με την βοήθεια συναρτήσεων να διαχειρίζεται ένα βιβλιοπωλείο. Το πρόγραμμα θα δίνει στον χρήστη την δυνατότητα μέσω ενός μενού επιλογών και της δομής επιλογής switch, να πουλά και να αγοράζει βιβλία και μολύβια. Ανά πάσα στιγμή θα μπορεί να μας ενημερώσει για την ποσότητα των βιβλίων και των μολυβιών που υπάρχουν στην αποθήκη, αλλά και να μην εκτελεί την πώληση, εάν τα προς πώληση είδη είναι περισσότερα από αυτά που υπάρχουν στο κατάστημα. Πρόγραμμα Α12.Α #include<iostream.h> struct bookshop //orismos domhs 16

int book; int pencil; ; //telos domhs // synarthseis ypologismwn void printypoloipo(int b, int p); int buybook(int b, int buyb); int buypencil(int p, int buyp); int sellbook(int b, int sellb); int sellpencil(int p, int sellp); struct bookshop bs; //metavlhth domhs int choice=0; //metavlhth kataxvrhshs epiloghs int numofbooks=0; //voh8htikh metavlhth int numofpencils=0; //voh8htikh metavlhth bs.book=0; //arxikopoihsh melous domhs bs.pencil=0; //arxikopoihsh melous domhs while(choice!=6) cout<<"\n---dynates Epiloges---\n"; //menou cout<<"1.ypoloipo Eidwn\n"; cout<<"2.agora Bibliwn\n"; cout<<"3.pwlhsh Bibliwn\n"; cout<<"4.agora Molybiwn\n"; cout<<"5.pwlhsh Molybiwn\n"; cout<<"6.exodos\n"; cin>>choice; switch(choice) case 1: printypoloipo(bs.book, bs.pencil); case 2: cout<<"posa Biblia 8a agoraseis\?\n"; cin>>numofbooks; bs.book=buybook(bs.book, numofbooks); case 3: cout<<"posa Biblia 8a poulhseis\?\n"; cin>>numofbooks; bs.book=sellbook(bs.book, numofbooks); case 4: cout<<"posa Molyvia 8a agoraseis\?\n"; cin>>numofpencils; bs.pencil=buypencil(bs.pencil, numofpencils); case 5: cout<<"posa Molyvia 8a poulhseis\?\n"; cin>>numofpencils; bs.pencil=sellpencil(bs.pencil, numofpencils); 17

; cout<<"to katasthma exei:"<<bs.book<<" Biblia kai " <<bs.pencil<<" Molyvia"<<endl; //telos main //synarthsh emfanishs ypoloipoy void printypoloipo(int b, int p) cout<<"biblia: "<<b<<endl; cout<<"molyvia: "<<p<<endl; //synarthsh agoras bibliwn int buybook(int b, int buyb) return (b+buyb); // synarthsh agoras molyviwn int buypencil(int p, int buyp) return (p+buyp); // synarthsh pwlhshs vivliwn int sellbook(int b, int sellb) if(sellb<=b) return (b-sellb); else return b; //synarthsh pwlhshs molyviwn int sellpencil(int p, int sellp) if(sellp<=p) return (p-sellp); else return p; Άσκηση (B) Να γράψετε ένα πρόγραμμα που να ορίζονται η δομή foithtes αλλά και η δομή dateentry. Τα μέλη της δομής dateentry θα είναι τα date, month, year. Η δομή dateentry θα δηλωθεί ως ένθετη στην δομή foithtes ως fdateentry. Κατόπιν θα φτιάξετε έναν πίνακα μεταβλητών 5 στοιχείων της δομής foithtes και θα εισάγετε στοιχεία στα μέλη των δομών κατά σειρά και θα τα εμφανίσετε στην οθόνη με την χρήση επαναλήψεων. Πρόγραμμα Α12.Β #define N 5 struct dateentry //domh hmeromhnias int date; int month; 18

int year; ; //telos domhs struct foithtes //domh foithth int code; char firstname[15]; char surname[15]; struct dateentry fdateentry; //en8eth domh float vathmos; ; //telos domhs struct foithtes f[n]; // pinakas N metablhtwn int i; cout<<"----esagwgh Stoixeiwn----\n\n"; for(i=0;i<n;i++) //Vroxos eisagwghs stoixeiwn cout<<i+1<<"os Foithths"<<endl; cout<<"kwdikos: "; cin>>f[i].code; cout<<"onoma: "; cin>>f[i].firstname; cout<<"epwnymo: "; cin>>f[i].surname; cout<<"hmeromhnia: "; cin>>f[i].fdateentry.date; cout<<"mhnas: "; cin>>f[i].fdateentry.month; cout<<"etos: "; cin>>f[i].fdateentry.year; cout<<"vathmos: "; cin>>f[i].vathmos; cout<<endl; //telos Vroxou eisagwghs cout<<"----emfanish Stoixeiwn----\n"; for(i=0;i<n;i++) //Vroxos emfanishs stoixeiwn cout<<i+1<<"os Foithths"<<endl; cout<<"kwdikos: "<<f[i].code<<endl; cout<<"onoma: "<<f[i].firstname<<endl; cout<<"epwnymo: "<<f[i].surname<<endl; cout<<"hmeromhnia: "<<f[i].fdateentry.date <<"-"<<f[i].fdateentry.month <<"-"<<f[i].fdateentry.year<<endl; cout<<"vathmos: "<<f[i].vathmos<<endl; cout<<endl; //telos Vroxou emfanishs 19