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

Σχετικά έγγραφα
Εισαγωγή στον Προγραμματισμό με C++

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

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

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

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

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

Β7.1.4 Δομές Επανάληψης. Β Λυκείου Κατεύθυνσης

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός

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

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

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

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

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

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραμματισμός I (Θ)

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

ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης

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

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

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

Εκτέλεση της εντολής1 και στη συνέχεια εκτέλεση της ΕΝΟΤΗΤΑΣ και της εντολής2 όσο η ΣΥΝΘΗΚΗ είναι αληθής.

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

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)

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

Κεφάλαιο , 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

Δομημένος Προγραμματισμός

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

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

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

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

Δομημένος Προγραμματισμός

12. Συναρτήσεις (Μέρος ΙI)

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

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

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

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

που θα δώσει αποτέλεσµα 48, λόγω της αριστερής προσεταιριστικότητας των τελεστών / και *, ενώ η επιθυµητή αντικατάσταση θα ήταν η

Master Mind εφαρμογή στη γλώσσα προγραμματισμού C

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

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 7 Ο. Αριθμητικές πράξεις Τυχαίοι αριθμοί Εφαρμογές σε προβλήματα ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΕΡΓΑΣΙΑ ΕΞΑΜΗΝΟΥ - ΜΕΡΟΣ Γ'

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

Υπολογισμός - Εντολές Επανάληψης

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

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

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

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

Προγραµµατισµός Ι Εργαστήριο 6ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 6 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

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

Προγραµµατισµός Ι Εργαστήριο 6ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 6 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΑΤΙΣΜΟΣ Α (C++) ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΤΩΝ Δρ. Νικόλαος Ζ. Ζάχαρης

Δομές Ανακυκλώσεων. Εντολές ελέγχου - 1

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

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

Οι συναρτήσεις στη γλώσσα C

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ενδεικτικές Απαντήσεις Εξετάσεων Α' Περιόδου Θέµα 1. (α') 2 - ii 3 - iii 4 - iv

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

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

Προγραμματισμός Υπολογιστών με C++

Κεφάλαιο 8.7. Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

ΑΡ Χ Ε Ι Α Κ Ε Ι Μ Ε Ν Ο Υ (text files)

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

ΣΥΝΑΡΤΗΣΕΙΣ (Functions)

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

Εκφωνήσεις ασκήσεων εργαστηρίου 2 (pthreads)

Υπολογιστικά Mαθηματικά II

Παραδείγματα. Γράψτε ένα πρόγραμμα που να τυπώνει τη μέση τιμή ενός συνόλου μη αρνητικών αριθμών

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

Ερώτημα Α 1. Να γράψετε τις εντολές που πραγματοποιούν τα ακόλουθα:

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

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

Ασκηή σεις 12ο Μαά θημα - Λυύ σεις

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

ΔΙΑΔΙΚΑΣΤΙΚΟΣ ΠΡΟΓΡΑ Ρ Μ Α ΜΑΤΙ Τ ΣΜΟΣ

Δισδιάστατοι Πίνακες (2D Arrays) Εισαγωγή στη C++

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

Προγραμματισμός Ι (ΗΥ120)

Α1. Ποιο περιβάλλον χρησιµοποιείτε για να εκτελέσετε ένα πρόγραµµα C++ και πως.

Προγραμματισμός Ι. Συναρτήσεις. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

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

Τμ. Τεχνολογίας Πληροφορικής & Τηλεπικοινωνιών Α Εξεταστική Περίοδος, 25 Ιουνίου 2009 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ Ηλίας. Κ. Σάββας

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

H ΓΛΩΣΣΑ C. Μάθηµα 17: Είσοδος/Έξοδος: Επικοινωνία µε το Λειτουργικό Σύστηµα. ηµήτρης Ψούνης

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

Προγραμματισμός ΙI (E)

ΠΙ Ν Α Κ Ε Σ (arrays)

Διαδικασιακός Προγραμματισμός

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Εντολές επανάληψης Εντολές επανάληψης while for do-while ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Παράδειγμα #1 Εντολή while

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

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

Οντοκεντρικός Προγραμματισμός

Γ7.2 Συμβολοσειρές (Strings) Γ Λυκείου Κατεύθυνσης

Transcript:

Εργαστήριο 3 Εντολή for while, do while Άσκηση 3.1 Εύρεση αθροίσματος ακεραίων με χρήση της εντολής for #include <cstdlib> int main(int argc, char *argv[]) int num,sum; cout<<"dose ena akeraio "; cin>>num; sum=0; for (int i=1; i<=num; i++) sum+=i; cout<<"\nto athrisma 1 eos "<<num<<" einai = "<<sum<<endl; return EXIT_SUCCESS;

Άσκηση 3.2 Εμφάνιση ενός πολλαπλασιαστικού πίνακα με χρήση nested for #include <cstdlib> #include <iomanip> //pollaplasiastikow pinakas ton arithom 1-10 int main(int argc, char *argv[]) int k,p; for (int i=1;i<=10;i++) for ( k=1;k<=10;k++) p=i*k; cout<<setw(4)<<p; cout<<endl; return EXIT_SUCCESS; Παρατηρήσεις: Το setw καθορίζει το εύρος εκτύπωσης και χρειάζεται την βιβλιοθήκη iomanip

Άσκηση 3.3 Πόσοι αριθμοί που εισάγονται από το πληκτρολόγιο πρέπει να προστεθούν για να ξεπεράσει το άθροισμά τους το 100, και ποιο το συνολικό άθροισμα; H λύση εμφανίζεται στο παρακάτω πρόγραμμα. Άσκηση για τον σπουδαστή: Η ίδια άσκηση να γραφεί με χρήση της εντολής do while. Να διαπιστωθεί ότι και οι δύο δομές δίδουν το ίδιο αποτέλεσμα και να δοθεί προσοχή στην περίπτωση που ο πρώτος αριθμός που θα δοθεί είναι μεγαλύτερος του 100. int total, num; int plithos=0; total=0; while (total<100) cout<<"dose arithmo ";cin>>num; plithos++; total+=num; cout<<"\n\ndothikan "<<plithos<<" arithmoi\n"; cout<<"siloniko athroisma "<<total<<"\n\n";

Άσκηση 3.4 Μπάλα ρίπτεται από ύψος και αναπηδά. Δεδομένου ότι η μπάλα αναπηδά στα 2/3 του προηγούμενου ύψους πόσες φορές αναπήδησε και ποιο το ύψος που φθάνει κάθε φορά. Να ληφθεί υπόψη ότι κάτω από το 0.2cm η μπάλα σταματά να αναπηδά διότι δεν διαθέτει την απαιτούμενη ενέργεια.. To αρχικό ύψος να εισάγεται από το πληκτρολόγιο. #include <iostream.h> #include <stdlib.h> int main() const double orio=0.2; double ArxikoYpsos; int anapidiseis=0; cout<<"\ndoste arxiko ipsos "; cin>>arxikoypsos; cout <<"Starting Height: "<<ArxikoYpsos<<" meters "<<endl; double ipsos=arxikoypsos; while (ipsos >=orio) ipsos *=2./3.; anapidiseis++; cout <<" anapidisi "<<anapidiseis<<" = "; cout<<ipsos<<" meters"<<endl; cout<<" H balla anapidise "<<anapidiseis<<" fores \n\n"; return 0;

Άσκηση 3.5 Να γραφεί το πρόγραμμα σε γλώσσα C++ που να βρίσκει το πλήθος ψηφίων ενός ακέραιου αριθμού. Να χρησιμοποιηθεί η εντολή do.while Άσκηση για τον σπουδαστή: Να μετασχηματίστε την επαναληπτική διαδικασία do.. while και να επιλύεται το πρόβλημα με τον ίδιο τρόπο με χρήση της εντολής while. Βεβαιωθείτε ότι όταν εισάγεται ο αριθμός 0 εμφανίζεται και πάλι το σωστό πλήθος ψηφίων. #include <cstdlib> int main(void) int num,intnum; int plithos=0; cout<<"give me a number "; cin>>num; // using do statement intnum=num; do plithos++; intnum=intnum/10.; while (intnum!=0); cout << "The number "<<num<< " has "<< plithos <<" digits"<<endl; return EXIT_SUCCESS;

Τυχαίοι αριθμοί στην C++ Στη βιβλιοθήκη <cstdlib> της Dev C++ υπάρχουν οι συναρτήσεις rand και srand,που χρησιμεύουν στην δημιουργία μιιά ακολουθίας ψευδο-τυχαίων αριθμών. Η συνάρτηση rand() επιστρέφει ένα ακέραιο αριθμό στο διάστημα [0,RAND_MAX], Η τιμή RAND_MAX για τον Dev C++ compiler είναι 32767. Η συνάρτηση srand(time(0)) αρχικοποιεί την ακολουθία που παράγει η συνάρτηση rand με διαφορετική τιμή, λαμβάνοντας μία τιμή από την ένδειξη του ρολογιού του υπολογιστή Η συνάρτηση βρίσκεται στην βιβλιοθήκη <ctime>).αν χρειαζόμαστε τυχαίους αριθμούς, ακέραιους, σε κάποιο διάστημα από high έως low τότε (low<high) αντί για το διάστημα 0-RAND_MAX, χρησιμοποιείται του ακέραιο υπόλοιπο του τυχαίο αριθμού σύμφωνα με το τύπο x=low+rand()%(high-low+1) εμφανίζεται ακέραιος αριθμός στο διάστημα [low,low+high] (με w<rand_max) Πχ. Για να γίνει παραγωγή τυχαίων αριθμών από το 10 έως και το 14 rand()%5 +10 Παράδειγμα: Να εμφανίζονται τα αποτελέσματα 10 ρίψεων που κάνει παίκτης με δύο ζάρια #include <stdio.h> #include <stdlib.h> #include <time.h> int main () int zari1,zari2; srand ( time(null) ); // initialize random seed for (int i=0;i<36;i++) zari1 = rand() % 6 + 1; //tixaios apo 1 eow 6: */ zari2 = rand() % 6 + 1; cout<<zari1<<" "<<zari2<<" "; if (zari1==4 && zari2==4) cout<<" dortia"; if (zari1==6 && zari2==6) cout<<" exares"; cout<<endl; return 0;

Άσκηση 3.6 Στο παιχνίδι εύρεσης ενός αριθμού ο παίκτης προσπαθεί να μαντέψει ένα αριθμό από το 0 έως το 10. Ο αριθμός είναι ένας κρυφός τυχαίος αριθμός και έχει παραχθεί από τον υπολογιστή. Στον παίκτη παρουσιάζονται μηνύματα που υποδεικνύουν αν ο κρυφός αριθμός είναι πιο μικρός ή πιο μεγάλος. Όταν ο χρήστης ανακαλύψει τον αριθμό να εμφανίζεται σχετικό μήνυμα. #include <stdlib.h> #include <time.h> int main () int mystikos, epilogi; srand ( time(null) ); // initialize random seed mystikos = rand() % 10 + 1; // tixaios apo 1 eow 10: // do cout << "Vres ton arithmo apo to 1 eos 10: "; cin>>epilogi; if (mystikos<epilogi) cout<<"mantepse pio hamila\n"; else if (mystikos>epilogi) cout<<"mantepse pio psila\n"; while (mystikos!=epilogi); cout<<"mpravo ton vrikes"<<endl; return 0; Άσκηση για τον σπουδαστή: Να προστεθούν οι κατάλληλες εντολές ώστε να εμφανίζεται και πόσες προσπάθειες έχει κάνει συνολικά ο παίκτης μέχρι να μαντέψει σωστά τον αριθμό.

Άσκηση 3.7 Να γραφεί πρόγραμμα με το οποίο να εισάγονται ακέραιοι αριθμοί από το πληκτρολόγιο. Η διαδικασία εισαγωγής σταματά όταν γίνει εισαγωγή του αριθμού -99 οπότε και εμφανίζεται ο μέσος όρος των αριθμών που εισήχθησαν. #include <cstdlib> int main(int argc, char *argv[]) int plithosscores, sum, score; float average; sum = 0; plithosscores = 0; cout << "Enter a test score ( -99 to quit ): "; cin >> score; while ( score!= -99 ) sum += score; plithosscores++; cout << "Enter a test score ( -99 to quit ): "; cin >> score; average = float(sum) / plithosscores; cout << "The average of the " << plithosscores << " was " << average << endl; return EXIT_SUCCESS;

Άσκηση για τον σπουδαστή: 1) Τι γίνεται στην περίπτωση που κανένας αριθμός δεν εισάγεται δηλαδή όταν εισαχθεί αμέσως ένας αριθμός =-99 ; Να γίνει η κατάλληλη αλλαγή για την περίπτωση αυτή. 2) Να γίνει επέκταση του προγράμματος γράφοντας την ίδια διαδικασία με χρήση της εντολής do while και να γίνει έλεγχος ότι και στις δύο περιπτώσεις το αποτέλεσμα είναι το ίδιο.