Τμήμα Πληροφορικής & Επικοινωνιών



Σχετικά έγγραφα
Τμήμα Πληροφορικής & Επικοινωνιών

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

ΠΣ-ΕΡ+ΤΑΠΕ, όπου: ΠΧ είναι η πάγια χρέωση, ύψους Є. ΠΣ είναι το ποσό στρογγυλοποίησης (ΠΣ) του προηγούμενου λογαριασμού.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 5 ΣΗΜΕΙΩΣΕΙΣ

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

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

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

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

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ:

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

Εργαστήριο 5. Εντολή if και παραλλαγές: if-else, πολλαπλές if, πολλαπλές if-else. Απλές και σύνθετες εντολές. Εντολή switch.

υναµικές οµές εδοµένων (συν.) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα:

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

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

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

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

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C

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

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

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

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

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

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

ΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ

Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων. 14. Πίνακες Ι. Ιωάννης Κατάκης. ΕΠΛ 032: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων

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

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

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

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

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

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

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

Τύποι Δεδομένων Είσοδος/Έξοδος

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

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

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

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

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

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

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

Fortran και Αντικειμενοστραφής προγραμματισμός.

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

Στόχοι και αντικείμενο ενότητας. Τύπος πίνακα. Τύπος πίνακα (συν.) #6. Πίνακες και Δείκτες

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

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

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

Διάλεξη 13: Δομές Δεδομένων ΙΙ (Ταξινομημένες Λίστες)

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 8 η : Συναρτήσεις Χειµερινό Εξάµηνο 2011

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

C Programming EPL032 Maria Stavrinou Ioannou Εισαγωγή στη Γλώσσα C

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

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

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

Υπολογισμός - Συλλογή Δεδομένων - Πίνακες

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

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

Κεφάλαιο Αλφαριθµητικές Σειρές Χαρακτήρων (Strings)

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

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

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

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

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

A[0] = 0; /* To μηδέν δεν έχει διαιρέτες */ for (i=1; i<n; i++) { S=0; for (d=1; d<=i; d++) if (i % d == 0) S += d; A[i] = S; }

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

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

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

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

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

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

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

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

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

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

Αντικειμενοστρεφής Προγραμματισμός

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

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

Transcript:

Τμήμα Πληροφορικής & Επικοινωνιών Εξεταζόμενο μάθημα : Προγραμματισμός Ι Ονοματεπώνυμο σπουδαστή/άστριας :... Εξάμηνο σπουδών :. Α.Ε.Μ. :. Σεπτέμβριος 2007 ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ : 2 ΩΡΕΣ Οι εξεταζόμενοι επιτρέπεται να χρησιμοποιήσουν παντός είδους έντυπα βοηθήματα. Τα θέματα επισυνάπτονται στο γραπτό με συμπληρωμένο το πλαίσιο κορυφής. Θέμα 1 ο (35%) Να σχεδιαστεί και να γραφεί πρόγραμμα σε γλώσσα προγραμματισμού C, το οποίο θα επιτελεί τα ακόλουθα : Θα δημιουργεί ένα πίνακα αλφαριθμητικών 2 Χ 50 χαρακτήρων. Θα διαβάζει δύο αλφαριθμητικά τα οποία και θα αποθηκεύει στον πίνακα. Θα υπολογίζει το μήκος των δύο αλφαριθμητικών χωρίς την χρήση της συνάρτησης strlen(). Τα αρχικά αλφαριθμητικά και τα μήκη αυτών θα εμφανίζονται στην οθόνη. Θα δημιουργεί ένα τρίτο αλφαριθμητικό final[50] το οποίο θα προκύπτει από την συνένωση των δύο αρχικά αλφαριθμητικών. Προσοχή!. Στο νέο αλφαριθμητικό θα αντιγράφονται όλοι οι χαρακτήρες πλην ενός χαρακτήρα που θα θέλει να αφαιρέσει ο χρήστης. Να εμφανίζει τo νέο αλφαριθμητικό καθώς και τα μήκος αυτού. Δίνεται ότι : Τα αλφαριθμητικά δόθηκαν σωστά, με κεφαλαία λατινικά γράμματα, και δεν απαιτείται έλεγχος γι αυτό

#include <stdio.h> #include <conio.h> main() char names[2][50]; char final_name[50]; char not_wished_character; int size0,size1,final_size,i,j,k=0; // Eisagwgh arxikwn string printf("give the first name :"); gets(names[0]); printf("give the second name :"); gets(names[1]); // Emfanish & Ypologismos megethous 1ou string printf("\nfirst string : %s",names[0]); size0=0; while(names[0][size0]!= '\0') size0++; printf("\t megethos = %d",size0); // Emfanish & ypologismos megethous 2ou string printf("\nsecond string : %s",names[1]); size1=0; while(names[1][size1]!= '\0') size1++; printf("\t megethos = %d",size1); // Eisagwgh mh epithymhtou xarakthra printf("\ngive a character you do not want to be in the final string :"); scanf("%c",&not_wished_character); //Dhmiourgia neou alfarithmhtikou for(i=0;i<=size0;i++) if( names[0][i] == not_wished_character) ; else final_name[k] = names[0][i]; k++; for(j=0;j<=size1;j++) if( names[1][j] == not_wished_character) ; else

final_name[k 1] = names[1][j]; k++; final_name[k 1] = '\0'; printf("final string %s \n",final_name); /* final_size=0; while(final_name[final_size]!= '\0') final_size++; */ printf("\t Size of final string = %d",k 2); // printf("\t Size of final string = %d",final_size); Θέμα 2 ο (45%) Να γραφεί πρόγραμμα στη γλώσσα C, το οποίο θα υπολογίζει το λογαριασμό επεξεργασίας νερού οικιακών, βιοτεχνικών, βιομηχανικών και ξενοδοχειακών μονάδων, που εκδίδει η επιχείρηση ύδρευσης μιας περιοχής με βάση τις ακόλουθες προδιαγραφές : 1. Ο συνολικός λογαριασμός (ΣΛ) προκύπτει ως άθροισμα ΣΛ = ΛΕΛ + ΤΕΛ + ΦΠΑ, όπου ΛΕΛ είναι ο λογαριασμός επεξεργασίας λυμάτων νερού, ΤΕΛ το σύνολο τελών και ΦΠΑ ο φόρος προστιθέμενης αξίας με συντελεστή 9% επί του ΛΕΛ 2. Για τον υπολογισμό του ΛΕΛ ακολουθείται η εξής τιμολογιακή πολιτική για κάθε μονάδα : Η αξία κατανάλωσης (ΑΚ) προκύπτει από τον πολλαπλασιασμό των κυβικών μέτρων νερού με την αξία ανά κυβικό η οποία όμως προσαρμόζεται ανάλογα με την κατηγορία δυσκολίας επεξεργασίας λυμάτων νερού της μονάδας. Συνεπώς για κάθε κατηγορία έχουμε Κατηγορία 1 η χρέωση είναι 0.070 / cm 3 Κατηγορία 2 η χρέωση είναι 0.090 / cm 3 Κατηγορία 3 η χρέωση είναι 0.110 / cm 3 Κατηγορία 4 η χρέωση είναι 0.120 / cm 3 Κατηγορία 5 η χρέωση είναι 0.180 / cm 3 3. Τα τέλη θεωρούνται σταθερά και είναι 150 για κάθε μονάδα. Λαμβάνοντας υπόψη ότι έχουμε ένα πίνακα με την παραγωγή λυμάτων νερού σε cm 3 για 10 μονάδες σε 12 μήνες καθώς και ένα πίνακα 10 θέσεων με την κατηγορία δυσκολίας επεξεργασίας της κάθε μονάδας (τιμές 1 5) ζητείται : 1. Να δηλωθούν οι πίνακες και να τοποθετηθούν αρχικές τιμές

2. Να υπολογιστή και να εμφανιστεί ο ΣΛ λογαριασμός για κάθε μήνα για κάθε εταιρεία 3. Να βρεθεί η εταιρεία με την υψηλότερη κατηγορία δυσκολίας επεξεργασίας λυμάτων 4. Να βρεθεί η εταιρεία με την μεγαλύτερη παραγωγή λυμάτων νερού ετησίως 5. Να βρεθεί ο μήνας με την μεγαλύτερη παραγωγή λυμάτων νερού για κάθε εταιρεία #include <stdio.h> #include <conio.h> #define n 10 #define m 12 #define class_1 0.070 #define class_2 0.090 #define class_3 0.110 #define class_4 0.120 #define class_5 0.180 #define fixed_charge 150 main() int consuming[n][m]= 400, 300, 600, 200, 150, 240, 70, 300, 900, 600, 500, 440, 120, 150, 100, 80, 100, 40, 60, 35, 95, 200,120, 258, 35, 45, 66, 90, 80, 240, 20, 20, 20, 40, 50, 44, 350, 450, 664, 902, 801, 24, 20, 20, 220, 410, 50, 334, 205, 405, 626, 326, 280, 340, 120, 220, 320, 240, 150, 144, 135, 425, 266, 290, 180, 140, 220, 210, 210, 400, 500, 440, 355, 445, 626, 190, 280, 240, 200, 200, 200, 410, 510, 414, 135, 645, 60, 90, 680, 40, 2000, 1000, 3420, 2140, 2550, 3544, 335, 545, 200, 190, 680, 940, 3020, 1020, 2000, 4500, 4650, 4444, 335, 345, 166, 590, 280, 490, 4, 20, 5020, 4090, 5200, 6044 ; int categories[n]= 1,3,5,5,2,4,2,3,1,4,total_consuming[n]; int i,j, max, position; float lel, sl, fpa; // Read Data From keyboard /* printf("\ncustomer No %d",i+1); printf("\n\t Categorie program :"); scanf("%d",&categories[i]); for(j=0; j<m; j++) printf("\n\tcm3 water for month no %d (seconds) :",j+1); scanf("%d",&consuming[i][j]);

*/ // Monthly Bill for every Customer printf("\ncustomer No %d",i+1); printf("\n\t Categorie program : %d \n",categories[i]); printf(" \t1 \t 2 \t 3\t 4\t 5\t 6\t 7\t 8\t 9\t 10\t 11\t 12\n"); for(j=0; j<m; j++) switch ( categories[i]) case 1 : lel = consuming[i][j] * class_1; case 2 : lel = consuming[i][j] * class_2; case 3 : lel = consuming[i][j] * class_3; case 4 : lel = consuming[i][j] * class_4; case 5 : lel = consuming[i][j] * class_5; fpa = lel * 0.09; sl = lel + fixed_charge + fpa; printf("\t%.2f ",sl); // Find the most difficult company for processing water max = categories[0]; if(categories[i] > max) max = categories[i]; position = i; printf("\n The most difficult company for processing waste water is the company No %d",position +1); // Find the most water spending company total_consuming[i] = 0; for(j=0;j<m;j++) total_consuming[i] += consuming[i][j]; max = total_consuming[0];

if(total_consuming[i] > max) max = total_consuming[i]; position = i; printf("\n The most water spending company is the No %d with %d cm3 waste water",position +1,max); // The month with maximum water consuming for every company max = consuming[i][0]; for(j=0;j<m;j++) if(consuming[i][j] > max) max = consuming[i][j]; position = j; printf("\nmaximum water consuming for company No %d is in the month No %d",i+1, position+1); Θέμα 3 ο (20%) Για το πρόγραμμα που ακολουθεί εντοπίστε τα δέκα συντακτικά λάθη αυτού και συμπληρώστε τις επιλογές του μενού. Δύο εντολές του προγράμματος είναι λογικά εσφαλμένες. Εντοπίστε αυτές και προτείνετε την αντικατάσταση τους. Τι υλοποιεί το πρόγραμμα; (3 γραμμές).

#include <stdio.h> #include <conio.h> #define n 3 main() int arr1[n][n] = 1,2,3,4,5,6,7,8,9, arr2[n][n] = 9,8,7,6,5,4,3,2,1, arr3[n][n], arr4[n][n]; int i,j,k, epilogi; int flag1=0,flag2=0; epilogi = 5; while((epilogi<=5) (epilogi>=1)) clrscr(); printf("\n + M E N U +"); printf("\n 1. printf("\n 2. printf("\n 3. printf("\n 4. printf("\n 5. printf("\n 6. Exit printf("\n + +"); printf("\n Epilogh :"); scanf("%d",&epilogi); switch(epilogi) case 1 : printf("array 1\t\t ARRAY2\n"); printf("\n"); printf("%d ",arr1[i][j]); printf("\t\t"); printf("%d ",arr2[i][j]); case 2 : arr4[j][i] = arr1[j][i] * arr2[j][i]; printf("\n The calculation has been done... Press any key"); flag2=1; case 3 : Πρόγραμμα Θέματος Νο3. arr3[j][i] = arr1[j][i] / arr2[j][i]; printf("\n The calculation has been done... Press any key"); flag1=1; case 4 : if(flag1 && flag2) printf("array 1\t\t ARRAY2\n"); printf("\n"); printf("%d ",arr1[i][j]); printf("\t\t"); printf("%d ",arr2[i][j]); printf("\t\t"); printf("%d ",arr3[i][j]); printf("\t\t"); printf("%d ",arr4[i][j]); else printf("error... Please perform both calculations first"); case 5 : printf("\n arr1[%d][%d]: ",i+1,j+1); scanf("%d",&arr1[i][j]); printf("\n arr2[%d][%d]: ",i+1,j+1); scanf("%d",&arr2[i][j]); case 6 : exit(); default : printf("\n Error... Please try again");