ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού 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

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

ΠΙΝΑΚΕΣ ΔΥΟ ΔΙΑΣΤΑΣΕΩΝ

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

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

Εργαστηριακή Άσκηση 1

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

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

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

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

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

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

Βήματα: μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων. Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα

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

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

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

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

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

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

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

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

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

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

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

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ

Ορισμός μεταβλητών δεικτών και αρχικοποίηση

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

Εχουμε ήδη συναντήσει μονοδιάστατους πίνακες, οι οποίοι ορίζονται ως εξής:

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

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

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

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

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων

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

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΤΕΙ Θεσσαλίας, Τμήμα Μηχανικών Πληροφορικής ΤΕ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΥ ΕΡΓΑΣΤΗΡΙΟ 9. ΑΣΚΗΣΕΙΣ (με ενδεικτική λύση)

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

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

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

Εντολές Επανάληψης. int sum = 0, i=1; sum += i++ ; sum += i++ ; Η πράξη αυτή θα πρέπει να επαναληφθεί Ν φορές!

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

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

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

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

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

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8

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

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

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

Πληροφορική 2. Αλγόριθμοι

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

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

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

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

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

Αν ( Α < Β και C <> D ) και ( B > D ή Β =D ) τότε K 1 Τέλος_αν. χωρίς τη χρήση λογικών τελεστών. Μονάδες 10

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

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

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

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

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

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

2ο σετ σημειώσεων. 1 Εντολές εκτέλεσης υπό συνθήκη. 19 Μαρτίου 2012

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

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

Κεφάλαιο 8.6. Πίνακες ΙI (Διάλεξη 17)

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

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

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

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

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

Πίνακες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

ΘΕΜΑ Α. Μονάδες 10 Α2.

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

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

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

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

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

3 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ - ΠΙΝΑΚΕΣ

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 4 Ο. Δομή επανάληψης Επανάληψη με συνθήκη Ατέρμονη επανάληψη Πίνακας ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ (ΟΜΑΔΑ ΘΕΜΑΤΩΝ A)

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

ΑΣΚΗΣΗ 7: ΑΛΦΑΡΙΘΜΗΤΙΚΑ

ΠΕΚ ΤΡΙΠΟΛΗΣ ΕΠΙΜΟΡΦΩΣΗ ΕΚΠ/ΚΩΝ ΠΕ19,20 ΗΜ/ΝΙΑ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

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

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Transcript:

ΠΡΟΓΡΜΜΑΤΑ ΣΕ C Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση: int b_to_d(int dyad[16]) που δέχεται ως είσοδο έναν θετικό ακέραιο δυαδικό αριθμό με τη μορφή πίνακα δυαδικών ψηφίων και επιστρέφει τον ισοδύναμο δεκαδικό αριθμό. Θεωρήστε ότι το dyad[15] είναι το περισσότερο σημαντικό ψηφίο του δυαδικού αριθμού και το dyad[0] το λιγότερο σημαντικό. ΠΡΟΓΡΑΜΜΑ int b_to_d(int dyad[16]) int i, g = 1, s = 0; for (i = 0; i < 16; ++i) s = s + dyad[i] * g; g = 2 * g; return(s); Γράψτε σε γλώσσα προγραμματισμού C ένα πρόγραμμα που θα διαβάζει από το πληκτρολόγιο έναν πίνακα θετικών ακεραίων αριθμών δύο διαστάσεων (N x M) και στη συνέχεια θα αντιμεταθέτει την πρώτη με την τελευταία στήλη του. Στη συνέχεια το πρόγραμμα θα εκτυπώνει το νέο πίνακα. Εφαρμόστε αμυντικό προγραμματισμό στην ανάγνωση των στοιχείων του πίνακα, ώστε να είναι θετικοί αριθμοί. ΠΡΟΓΡΑΜΜΑ #define N 10 //Πλήθος γραμμών του πίνακα = 10 #define M 5 //Πλήθος στηλών του πίνακα = 5 main() 1

//Αρχή προγράμματος int temp, i, j, x[n][m]; //Διάβασμα του πίνακα με αμυντικό προγραμματισμό for (i = 0; i < N; i++) for (j = 0; j < M; j++) do printf("dose to stoixeio x[%d][%d]: ", i, j); scanf("%d",&x[i][j]); while (x[i][j] <= 0); //Εναλλαγή πρώτης και τελευταίας στήλης for (i = 0; i < N; i++) temp = x[i][0]; x[i][0] = x[i][m-1]; x[i][m-1] = temp; printf("\npinakas Me enallagmenes stiles\n"); for (i = 0; i < N; i++) for (j = 0; j < M; j++) printf("%d\t", x[i][j]); printf("\n"); //Αλλαγή γραμμής Γράψτε πρόγραμμα σε γλώσσα προγραμματισμού C, το οποίο θα διαβάζει 10 ακέραιες τιμές, θα τις αποθηκεύει σε έναν μονοδιάστατο πίνακα ακεραίων και θα εμφανίζει στην οθόνη τα δύο μεγαλύτερα στοιχεία του πίνακα. ΠΡΟΓΡΑΜΜΑ main() int i, max1, max2, a[10]; for (i=0; i<10; i++) 2

printf("\nδώστε το %dο στοιχείο του πίνακα: ", i + 1); scanf("%d", &a[i]); max1 = a[0]>a[1]? a[0] : a[1]; // Το max1 παίρνει τη μεγαλύτερη τιμή από τα δύο πρώτα στοιχεία max2 = a[0] + a[1] - max1; // Το max2 παίρνει την άλλη τιμή από τα δύο πρώτα στοιχεία for (i=2; i<10; i++) if (a[i]>max1) max2=max1; max1=a[i]; else if (a[i]>max2) max2=a[i]; printf("\nτα δύο μεγαλύτερα στοιχεία του πίνακα είναι: %d και %d", max1, max2); /* τέλος προγράμματος */ 3

ΕΡΓΑΣΙΑ 1 Δίνεται το παρακάτω Διάγραμμα Ροής Προγράμματος - ΔΡΠ (flowchart), όπου το Ν είναι θετικός ακέραιος αριθμός μεγαλύτερος του μηδενός (Ν > 0). α) Τι εκτυπώνει ο αλγόριθμος αν στην είσοδο δώσουμε την τιμή: i) Ν = 1, ii) Ν = 2, και iii) Ν = 3. β) Γράψτε πρόγραμμα σε γλώσσα προγραμματισμού C που να έχει την ίδια λειτουργία με το ΔΡΠ, εφαρμόζοντας επιπρόσθετα και αμυντικό προγραμματισμό στην εισαγωγή του Ν, έτσι ώστε να είναι ακέραιος αριθμός μεγαλύτερος του μηδενός (Ν > 0). ΕΡΓΑΣΙΑ 2 Τι θα εμφανίσει το παρακάτω Πρόγραμμα μετά την εκτέλεσή του; Αιτιολογήστε την απάντησή σας. main() int i, a=2,b=3, c[2]=7,8; printf( %d\n,a==b); printf( %d\n,a==b-1); a=b; 4

printf( %d %d\n,a,b); c[a==b]=12; printf("%d %d\n",c[0],c[1]); ΕΡΓΑΣΙΑ 3 Να γραφεί αλγόριθμος σε ψευδοκώδικα και πρόγραμμα σε γλώσσα C, το οποίο να: b1) διαβάζει τα στοιχεία ενός πίνακα ακεραίων εκατό θέσεων b2) ταξινομεί τα στοιχεία του πίνακα χρησιμοποιώντας τον αλγόριθμο ταξινόμησης φυσαλίδας (Bubble Sort) b3) εμφανίζει τα στοιχεία του ταξινομημένου πίνακα Παράδειγμα εκτέλεσης του προγράμματος: Enter the 0 element of the table: 20 Enter the 1 element of the table: 40 Enter the 2 element of the table: 60 Enter the 3 element of the table: 80 Enter the 4 element of the table: 100 Enter the 5 element of the table: 10 Enter the 6 element of the table: 30 Enter the 7 element of the table: 50 Enter the 8 element of the table: 70 Enter the 9 element of the table: 90 (κ.λ.π.) Sorted Table: 10 20 30 40 50 60 70 80 90 100 κ.λ.π. ΕΡΓΑΣΙΑ 4 Τι θα εμφανίσει στην οθόνη το παρακάτω πρόγραμμα όταν εκτελεστεί; Αιτιολογήστε την απάντησή σας. main() int i, j=10; for (i=0; i<=20; ++i) if (i%3==1) printf ("%d ", i); j--; printf ("\nj=%d\n", j); 5

ΕΡΓΑΣΙΑ 5 Τι θα εμφανίσει στην οθόνη το παρακάτω πρόγραμμα όταν εκτελεστεί; Αιτιολογήστε την απάντησή σας. #include <stdlib.h> void stars(int* p, int sizep) /* δήλωση μεταβλητών */ int i=0,j,error=0;//θέτοντας αρχικά στο error την τιμή 0 υποθέτουμε ότι όλα τα στοιχεία του πίνακα είναι έγκυρα. /* έλεγχος τιμών των στοιχείων του πίνακα p */ for (i=0;i<sizep;i++) if (*(p+i) < 0 *(p+i) > 20)//Ο συμβολισμός *(p+i) αναφέρεται στο στοιχείο p[i] printf("element %d is out of limit\n",i+1); error=1; break; if (error==1)/*δεν γίνεται εκτύπωση άστρων */ printf("den ginetai kamia ektyposi\n"); else /*εκτύπωση άστρων */ for (i=0;i<sizep;i++) for(j=1;j<=*(p+i);j++)//η επανάληψη αυτή τυπώνει 1 αστεράκι κάθε φορά που εκτελείται και επαναλαμβάνεται τόσες φορές όσο είναι και ο αριθμός στη θέση i του πίνακα printf("*"); πίνακα printf("\n");//αλλάζουμε γραμμή για το επόμενο στοιχείο του 6

int size,i,*x; printf("dose megethos pinaka\n"); scanf("%d",&size); x=(int*)malloc(size*sizeof(int)); for (i=0;i<size;i++) printf("dose %d stoixeio\n",i+1); scanf("%d",(x+i));//επειδή το x+i είναι διεύθυνση δεν χρειάζεται να χρησιμοποιήσουμε το σύμβολο & stars(x,size); ΕΡΓΑΣΙΑ 6 Ποια η λειτουργία του ακόλουθου προγράμματος; Το πρόγραμμα παρουσιάζει σφάλμα κατά την εκτέλεση του; Αν ναι ποιο ακριβώς είναι το σφάλμα αυτό και σε ποιες από τις ακόλουθες περιπτώσεις εκτέλεσης εμφανίζεται; Επίσης εφόσον υπάρχει σφάλμα να το διορθώσετε. Περιπτώσεις εκτέλεσης: 1 η εκτέλεση 3,4,5,6,0 2 η εκτέλεση 7,7,2,1,3 3 η εκτέλεση 3,6,9,12,13 4 η εκτέλεση 25,1,89,2,3 int i, c=0,x,sum=0; for (i=0;i<5;i++) scanf("%d",&x); if (x%3==0) continue; if (x%5==0) break; sum+=x; c++; 7

printf("average = %.2f\n",(float)sum/c); ΕΡΓΑΣΙΑ 7 Ποια η λειτουργία του ακόλουθου προγράμματος; Το πρόγραμμα παρουσιάζει σφάλμα κατά την εκτέλεση του; Αν ναι να το διορθώσετε int i, p=0,c=0,j; for (i=1;i<50;i++) for (j=2;j<i; j++) if (i%j==0) c++; if (c<2) p++; printf("plithos = %d\n",p); ΕΡΓΑΣΙΑ 8 Το ακόλουθο πρόγραμμα θέλουμε να τυπώνει όλους τους άρτιους αριθμούς από το 1-10 και υπολογίζει το πλήθος τους. Αν παρουσιάζει λογικά/συντακτικά σφάλματα τότε να τα διορθώσετε ώστε να λειτουργεί σωστά. int c=0,j; float i; for (i=10;i>=0;i--) if (i%2=0) printf("%d\n",i); c++; printf("plithos Artion= %d\n",c); 8

ΕΡΓΑΣΙΑ 9 Τι ακριβώς υπολογίζει το ακόλουθο πρόγραμμα; Δοκιμάστε να το εκτελέστε με δικά σας δεδομένα και βρείτε ποιο γνωστό αλγόριθμο υλοποιεί; Να προσθέσετε ένα επιπλέον περιορισμό ώστε το πρόγραμμα να δέχεται μόνο θετικούς ακεραίους (αμυντικός προγραμματισμός) int sum=0,x,y; printf("enter 2 positive integers \n"); scanf("%d%d", &x, &y); while (y) if (y%2==1) sum+=x; x*=2; y/=2; printf("result= %d\n", sum); ΕΡΓΑΣΙΑ 10 Χωρίς να εκτελέσετε το πρόγραμμα να βρείτε ποιες τιμές τυπώνει. Στη συνέχεια να το ξαναγράψετε αντικαθιστώντας όλες τις εντολές for με εντολές while. int sum=0,j=0,i=3; for (;i<=9;i+=3) for (j=i; j>=0;j-=3) for(;;) sum+=i*j; if (sum>80) printf("result= %d\n",sum); break; 9

ΕΡΓΑΣΙΑ 11 Να δηλώσετε ένα πίνακα ακεραίων 3Χ3 και να τον διαβάσετε με τυχαίες τιμές. Στη συνέχει να υπολογίσετε το άθροισμα των στοιχείων του μέχρι το πρώτο αρνητικό στοιχείο (αν υπάρχει τέτοιο). Εκεί νε τερματίζονται και οι 2 εντολές for με τις οποίες διαχειριζόμαστε τον πίνακα μα κατάλληλη χρήση της εντολής break και το πρόγραμμα να τυπώνει το άθροισμα των στοιχείων που έχει υπολογίσει μέχρι εκείνη τη στιγμή. Αν δεν δοθεί αρνητικό στοιχείο στον πίνακα τότε να υπολογιστεί το άθροισμα όλων των στοιχείων του πίνακα ΕΡΓΑΣΙΑ 12 Σε μια κινηματογραφική αίθουσα υπάρχουν συνολικά 100 θέσεις. Για να κάνουν κρατήσεις θέσεων οι θεατές επικοινωνούν με την έκδοση εισιτηρίων και ενημερώνονται για αν υπάρχουν κενές θέσεις στην αίθουσα. Να γραφεί πρόγραμμα στη γλώσσα C που να διαβάζει τον αριθμό των θέσεων που θέλει να κλείσει κάθε φορά ένας θεατής και αν υπάρχουν διαθέσιμες θέσεις τότε να εμφανίζεται ο αριθμός των θέσεων που παραμένουν κενές μετά την κράτηση, ο συνολικός αριθμός κρατήσεων μέχρι εκείνη τη στιγμή και οι θέσεις της τελευταίας κράτησης. Σε περίπτωση που ο αριθμός των θέσεων που θέλει κάποιος θεατής είναι μεγαλύτερος από τις διαθέσιμες θέσεις τότε να εμφανίζεται o μέγιστος αριθμός θέσεων στις οποίες μπορεί να κάνει κράτηση και να τον ρωτά αν συμφωνεί. Αν ο θεατής απαντήσει θετικά τότε να γίνεται η κράτηση και το πρόγραμμα να τερματίζεται εμφανίζοντας το πλήθος κρατήσεων που έγιναν και το μήνυμα ότι η αίθουσα είναι πλήρης. Σε διαφορετική περίπτωση το πρόγραμμα να τερματίζεται εμφανίζοντας το πλήθος κρατήσεων που έγιναν και το μήνυμα ότι η αίθουσα δεν είναι πλήρης καθώς και τον αριθμό των θέσεων που θα παραμείνουν κενέ 10