Ασκήσεις & παραδείγματα για επανάληψη

Σχετικά έγγραφα
Λυμένα παραδείγματα με τις for, while, do-while

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

Ενότητα 5: «Εισαγωγή στον Προγραμματισμό. Απλές ασκήσεις με γλώσσα C»

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

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

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

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

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

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

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

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

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

Πανεπιστήμιο Πελοποννήσου. Σχολή Θετικών Επιστημών & Τεχνολογίας. Τμήμα Επιστήμης & Τεχνολογίας Υπολογιστών. Προγραμματισμός Ι Εργαστήριο

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

ΑΠΑΝΤΉΣΕΙΣ ΣΤΟ ΠΡΩΤΟ ΣΥΝΟΛΟ ΑΣΚΗΣΕΩΝ

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

Υπολογισμός - Εντολές Ελέγχου

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

ΑΠΑΝΤΉΣΕΙΣ ΣΤΟ ΠΡΩΤΟ ΣΥΝΟΛΟ ΑΣΚΗΣΕΩΝ i) Πρώτα θα πραγματοποιηθεί διαίρεση του z με το x και μετα θα αφαιρεθεί το αποτέλεσμα από τον y.

ΑΠΑΝΤΉΣΕΙΣ ΣΕ ΠΡΩΤΟ ΣΥΝΟΛΟ ΑΣΚΗΣΕΩΝ 1

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

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

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

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

Ενότητα 4: «Εισαγωγή στον Προγραμματισμό. Τα πρώτα προγράμματα σε γλώσσα C»

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ

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

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

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

Προγραμματισμός Ι. Θεματική ενότητα 8: Δημιουργία προγραμμάτων

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

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

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

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

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

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

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

Προσέξτε πως η παράσταση μπορεί να περιλαμβάνει όχι μόνο μία τιμή ή μια άλλη μεταβλητή αλλά μια ολόκληρη μαθηματική παράσταση, όπως η εξής:

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

Κεφάλαιο : Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα

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

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

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

Εντολές ελέγχου ροής if, for, while, do-while

Κεφάλαιο : Επαναλήψεις (o βρόγχος While) (Διάλεξη 9) Δομές Έλεγχου Προγράμματος

10. Εντολές επανάληψηςκαι οι εντολές

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

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

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

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

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

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

Αρχές Προγραμματισμού

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

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

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

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

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

Διάλεξη 5η: Εντολές Επανάληψης

Η Γλώσσα Προγραμματισμού C (Μέρος 2 - Οι Bασικές Εντολές της C) Οι Βασικοί Τελεστές της C

11/23/2014. Στόχοι. Λογισμικό Υπολογιστή

Κεφάλαιο : Επαναλήψεις (for, do-while)

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ

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

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

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

Η βασική συνάρτηση προγράμματος main()

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

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

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

printf Οι κωδικοί (format codes) του printf για διάφορους τύπους δεδοµένων είναι:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ

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

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

ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση:

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

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

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

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

Προγραμματισμό για ΗΜΥ

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

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

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

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

ΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΛΟΓΙΣΜΙΚΟΥ. p: i: 3 p: i: 5

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

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

9. Εντολές επανάληψηςκαι η εντολή

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

Transcript:

Λυμένα παραδείγματα Ασκήσεις & παραδείγματα για επανάληψη Χρησιμοποιώντας την ρητή (cast) ανάθεση main () int x, y; x = 7; y = 5; printf("given x = %d, y = %d\n", x, y); printf("x / y produces: %d\n", x / y); //λάθος αποτέλεσμα printf("(float)x / y produces: %f\n", (float)x / y); //σωστό getchar(); Διαφορά του μηδενικού χαρακτήρα '\0' και του χαρακτήρα '0' // τυπώνει τον μηδενικό χαρακτήρα '\0' και τον χαρακτήρα '0' int n, c; printf(" %d, %d", '\0','0'); Ώρες, λεπτά και δευτερόλεπτα που αντιστοιχούν σε αριθμό δευτερολέπτων. #define SECS_PER_MIN 60 //δευτερόλεπτα ανά λεπτό #define SECS_PER_HOUR 3600 // δευτερόλεπτα ανά ώρα unsigned seconds, minutes, hours, secs_left, mins_left; printf ("Enter number of seconds: "); // Ζητάει αριθμό δευτερολέπτων scanf ("%d", &seconds); // διαβάζει αριθμό δευτερολέπτων hours = seconds/secs_per_hour; // πόσες ώρες αντιστοιχούν minutes = seconds/secs_per_min; // πόσα λεπτά αντιστοιχούν mins_left = minutes%secs_per_min; // ποσα λεπτά απομένουν secs_left = seconds%secs_per_min; // πόσα δευτερόπλεπτα απομένουν // Εμφάνιση αποτελεσμάτων printf("%minutes is equal to %u\n", minutes); printf("%u seconds is equal to ", seconds); printf("%u hours, %u minutes, and %u seconds\n", hours, mins_left, secs_left); 1 /5

Λυμένα παραδείγματα με τις εντολές ελέγχου Πρόγραμμα που διαβάζει τέσσερεις (4) αριθμούς και βρίσκει τον μεγαλύτερο τους. int int i, j, k, m, max; printf ("Enter numbers: "); scanf("%d %d %d %d",&i, &j, &k, &m); if (i > j) max = i; else max = j; if(k > max) max = k; if(m > max) max = m; printf("max number = %d\n",max); Πρόγραμμα που υπολογίζει την τετραγωνική ρίζα ενός πραγματικού αριθμού (θετικού, μηδέν ή αρνητικού). #include <math.h> float x; printf("doste to x:"); scanf("%f",&x); if (x>=0) printf("tetrgwniki tou %f einai:%8.3f\n", x, sqrt(x)); else printf("tetrgwniki tou %f einai: %8.3fi\n", x, sqrt(-x)); system ("pause"); Προσοχή: Η τετραγωνική ρίζα ενός θετικού ή ίσου με το μηδέν πραγματικού αριθμού είναι επίσης πραγματικός αριθμός. Η τετραγωνική ρίζα αρνητικού πραγματικού αριθμού είναι φανταστικός αριθμός. Πρόγραμμα που υπολογίζει την απόλυτη τιμή ενός ακεραίου int main () int in, absolute; printf("dwste akeraio:"); scanf("%d", &in); if (in >= 0) absolute = in; else absolute = -in; printf("%d\n", absolute); 2 /5

Λυμένα παραδείγματα με τις for, while, do-while Χρησιμοποιώντας τη while για να διαβάσω ένα αριθμό μεταξύ 1 και 10 Με την while int value; printf("a number between 1 and 10, please: "); while ( value < 1 value > 10) printf("incorrect input, please try again.\n"); printf("enter a Number between 1 and 10: "); Με την do - while int value; do printf("a number between 1 and 10, please: "); if (value < 1 value > 10) printf("incorrect input, please try again.\n"); while ( value < 1 value > 10) ; Είναι πρώτος ή όχι? int num,i,flag=0; printf("δώστε έναν αριθμό:"); scanf("%d",&num); Στα μαθηματικά πρώτος αριθμός (ή απλά πρώτος) είναι ένας φυσικός αριθμός μεγαλύτερος της μονάδας με την ιδιότητα οι μόνοι φυσικοί διαιρέτες του να είναι η μονάδα και ο εαυτός του. Το μηδέν και το ένα δεν είναι πρώτοι αριθμοί (Wikipedia). Το πρόγραμμα για να βρει αν ένας αριθμός Ν είναι πρώτος ή όχι εξετάζει αν κάποιος από τους αριθμούς από το 2 έως το Ν/2 διαιρεί ακριβώς το Ν. for (i=2;i<=num/2;i++) if(num%i==0) flag=1; break; // διαιρεί ακριβώς το num? // διακόπτω τον βρόγχο if (flag==0 && num!= 1) // αν flag=0 δεν βρέθηκε τέλεια διαίρεση printf ("%d is a prime number",num); else printf("%d is not a prime number",num); 3 /5

Υπολογισμός του Ν!= 1 2 3... N (Ν - παραγοντικό) int i, factorial=1; //αρχική τιμή int N; printf("δώστε αριθμό:"); scanf("%d", &N); for (i=1; i<=n; i++) factorial *= i; // υπολογισμός printf("το παραγοντικό του %d είναι: %d\n", N, factorial); Υπολογισμός του Ν! λαμβάνοντας υπόψη τη παρατήρηση int i, factorial=1; int N; do /* έλεγχος δεδομένου εισόδου */ printf("δώστε αριθμό (1-12):"); scanf("%d", &N); if (N<1 N>12) printf("λάθος δεδομένα "); / μήνυμα λάθους while (N<1 N>12); // δέχεται από 1 έως 12 μόνο for (i=1; i<=n; i++) factorial *= i; printf("το παραγοντικό του %d είναι: %d\n", N, factorial); Τι κάνει αυτό το πρόγραμμα; int k, m, n, metritis=0; for (k=0;k<=3;k++) for (m=0;m<=3;m++) for (n=0;n<=3;n++) metritis++; printf("%d: %d-%d-%d\n",metritis,k,m,n); Παρατήρηση: Δεν μπορείτε να δώσετε πολύ μεγάλους αριθμούς λόγω του εύρους ενός ακεραίου στη C. Για παράδειγμα αν το εύρος του ακεραίου τύπου int είναι 4 bytes (το βρίσκετε με χρήση του τελεστή sizeof) ο μεγαλύτερος αριθμός που μπορεί να φιλοξενήσει ένας int είναι 2.147.438.647. Το 13! (=6.227.020.800) δεν μπορεί να φιλοξενηθεί. To 12!(= 479.001.600) δεν έχει πρόβλημα. Θα πρέπει λοιπόν να γίνεται έλεγχος του N όταν αυτό δίδεται από το πληκτρολόγιο 4 /5

Ποιος είναι ο μέγιστος κοινός διαιρέτης (Μ.Κ.Δ.) δυο αριθμών? int num1, num2, MKD, lcm, ypoloipo, arithmitis, paranomastis; printf("δώστε τον 1o αριθμό:"); scanf("%d", &num1); printf("δώστε και τον 2o:"); scanf("%d", &num2); // ποιος είναι αριθμητής και ποιος παρανομαστής if (num1 > num2) arithmitis = num1; paranomastis = num2; else arithmitis = num2; paranomastis = num1; // εφαρμογή του σκεπτικού του Ευκλείδη ypoloipo = arithmitis % paranomastis; while(ypoloipo!=0) arithmitis = paranomastis; paranomastis = ypoloipo; ypoloipo = arithmitis % paranomastis; MKD = paranomastis; printf("o ΜΚΔ των %d και %d είναι: %d \n", num1,num2,mkd); Το άθροισμα των ψηφίων ενός αριθμού #include<stdio.h> int n,digit, n1,sum=0; printf ("Enter any integer: "); scanf("%d",&n); n1=n; while(n!=0) digit = n%10; sum+= digit; n/=10; printf("number is = %d :\n",n1); printf("sum of digit = %d :",sum); Ακολουθούμε το σκεπτικό του Ευκλείδη. Το σκεπτικό του Ευκλείδη βασίζεται στο γεγονός ότι όταν διαιρούμε ένα αριθμό Μ με έναν μικρότερο του Ν, τότε ο ΜΚΔ του υπολοίπου Υ και του μικρότερου Ν είναι ο ίδιος με τον ΜΚΔ των Μ και Ν. Επίσης, είναι γνωστό ότι ο ΜΚΔ ενός αριθμού με το 0 είναι ο ίδιος ο αριθμός. 5 /5