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

Σχετικά έγγραφα
Μεθόδων Επίλυσης Προβλημάτων

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο : Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ΕΠΛ131 Αρχές Προγραμματισμού Ι

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών

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

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

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

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

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

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

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

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

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

ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων

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

Εξοικ Εξ ε οικ ίωση ε με το το πρόγ ραμμα πρόγ DEV C++ Επικοι Επικ νωνία οι Χρήσ Χρήστη τη Υπολ Υπο ογισ λ τή

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C (2)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C (2)

Διάλεξη 6: Δείκτες και Πίνακες

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

Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

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

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

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

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

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

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

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

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

ΛΥΜΕΝΕΣ ΑΣΚΗΣΕΙΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ-ΓΛΩΣΣΑ C ΑΤΕΙ (ΝΑ ΕΚΤΕΛΕΣΤΟΥΝ ΤΑ ΠΑΡΑΚΑΤΩ ΜΕ ΧΡΗΣΗ ΤΟΥ LCC COMPILER)

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

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2

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

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

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

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

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

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

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

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

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

4 ο Εργαστήριο Προγραμματισμού Σελίδα 1/9 BALANCE. #include <stdio.h> int main() { int par = 0, ag = 0; char c;

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

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

Transcript:

ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy

ιάλεξη 18 - Παραδείγματα Πίνακες Μονοδιάστατοι Πίνακες Παράλληλοι Πίνακες Πολυδιάστατοι Πίνακες Άσκηση η

Άσκηση 1 Θα δημιουργήσετε ένα μικρό πρόγραμμα το οποίο αρχικώς θα ζητά από τον χρήστη να εισαγάγει τον αριθμό των υπολογισμών που θα εκτελεστούν. Στη συνέχεια με την χρήση της δομής επανάληψης for και με την χρήση μονοδιάστατων πινάκων θα μετατρέπει τις θερμοκρασίες που θα δίνει ο χρήστης από βαθμούς Κελσίου (Celsius) σε βαθμούς Φάρεναϊτ (Fahrenheit). Τέλος με την χρήση της δομής επανάληψης while θα εκτυπώνει τα αποτελέσματα με ακρίβεια δύο δεκαδικών ψηφίων (βλέπετε παράδειγμα εκτέλεσης). Παράδειγμα εκτέλεσης: How many calculations? : 4 Please enter temperature in degrees Celsius : 25.55 Please enter temperature in degrees Celsius : 65.55 Please enter temperature in degrees Celsius : 44.44 Please enter temperature in degrees Celsius : 20.00 25.55 Celsius = 77.99 Fahrenheit 65.5555 Celsius = 149.9999 Fahrenheit 44.44 Celsius = 111.99 Fahrenheit 20.00 Celsius = 68.00 Fahrenheit

Άσκηση 1 Λύση #include <stdio.h> #define FACTOR 9.0/5.0 #define OFFSET 32.00 int main(void){ int calculations; printf("how many calculations? l : "); scanf("%d", &calculations); float celsius[calculations]; float fahrenheit[calculations]; int i; for(i=0; i<calculations; i++){ printf("please enter temperature in degrees Celsius : "); scanf("%f", &celsius[i]); fahrenheit[i] = FACTOR * celsius[i] + OFFSET; i=0; while(i<calculations){ printf("%.2f Celsius = %.2f Fahrenheit\n", celsius[i], [], fahrenheit[i]); []); i++; return 0;

Άσκηση 2 Θα δημιουργήσετε ένα μικρό πρόγραμμα το οποίο θα δέχεται από τον χρήστη μια σειρά ακέραιων θετικών αριθμών απροσδιορίστου μεγέθους και θα καταχωρεί σε ένα πίνακα τους αριθμούς που είναι μεγαλύτεροι του 20. Τέλος θα τυπώνει τους αριθμούς που καταχωρήθηκαν στον πίνακα. Η συνθήκη τερματισμού είναι ο ακέραιος αριθμός 0. Να υλοποιηθεί με δευτερεύουσα συνάρτηση. Αποτέλεσμα εκτέλεσης: Please enter a positive integer number: 22 Please enter a positive integer number: 20 Please enter a positive integer number: 18 Please enter a positive integer number: 99 Please enter a positive integer number: 0 Larger than twenty: 22 Larger than twenty: 99

Άσκηση 2 Λύση #include <stdio.h> void largenthantwenty(){ int numbers[100]; int size = 0; int number; /* hold input number one at a time */ printf("please enter a positive integer number: "); scanf("%d",&number); /* diabase prwto stoixeio i */ while(number!= 0){ if (number>20){ numbers[size] = number; size++; printf("please enter a positive integer number: "); scanf("%d",&number); /*diabase epomeno stoixeio*/ int i; for(i=0; i<size; i++){ printf("larger than twenty: %d\n", numbers[i]); int main(void){ largenthantwenty();

Άσκηση 3 Γράψετε ένα πρόγραμμα που να καταχωρεί την ταυτότητα, την βαθμολογία της ενδιάμεσης (25%) και την βαθμολογία της τελικής (75%) για 4 φοιτητές σε παράλληλους πίνακες. Να ορίζει επίσης συνάρτηση η οποία να υπολογίζει τον μέσο όρο για κάθε φοιτητή και να τυπώνει τα ανάλογα αποτελέσματα με την πιο κάτω μορφή. Αποτέλεσμα εκτέλεσης: StudentID(556655): Very Good - 78 percent StudentID(223322): Excellent - 98 percent StudentID(445544): tid(445544) Good - 65 percent StudentID(334433): Fail - 46 percent

Άσκηση 3 Λύση #include <stdio.h> #include <math.h> float calculateaverage(float g1, float g2){ int average = g1*0 0.25+g2*0 0.75; return average; int main (void){ float g1, g2, g3; float avg = 0.0; int avg_new = 0; int students_id[4] = {556655, 223322, 445544, 334433; float midterm_grades[4] = {78.50, 98.00, 65.00, 22.00; float final_grades[4] = {78.50, 98.00, 65.00, 55.00; (next page)

Άσκηση 3 Λύση (cont.) int i; for (i=0; i<4; i++){ avg = calculateaverage(midterm_grades[i], final_grades[i]); avg_new = (int)avg; if(avg_new> new>=0 && avg_new <=49){ printf("studentid(%d): Fail - %d percent\n", students_id[i], avg_new); else if(avg_new>=50 && avg_new <=69){ printf("studentid(%d): tid(%d) Good - %d percent\n", students_id[i], t avg_new); else if(avg_new>=70 && avg_new <=84){ printf("studentid(%d): Very Good - %d percent\n", students_id[i], avg_new); else if(avg_new>=85 && avg_new <=100){ printf("studentid(%d): Excellent - %d percent\n", students_id[i], avg_new); return 0;

Άσκηση 4 Γράψτε πρόγραμμα στην C που διαβάζει από τον χρήστη δεκαδικούς αριθμούς και τους καταχωρεί σε ένα πίνακα με διαστάσεις 4x4. Στη συνέχεια βρίσκει και τυπώνει το μικρότερο και το μεγαλύτερο στοιχείο του πίνακα. Αποτέλεσμα εκτέλεσης: Input matrix elements:...... Input element [2][3] : 34 Input element [3][0] : 1 Input element [3][1] : 25 Input element [3][2] : 987 Input element [3][3] : 45 Max element: 987.00 Min element:1.00

Άσκηση 4 Λύση #include <stdio.h> #define ROWS 4 #define COLS 4 int main(void) { int i, j; float matrix[rows][cols], max=0.00, 00 min=1000.00; for (i = 0; i < ROWS; i++) { for (j = 0; j < COLS; j++) { printf("\ninput element [%d][%d] : ", i, j); scanf("%f", &matrix[i][j]); for (i = 0; i < ROWS; i++) { for (j = 0; j < COLS; j++) { if(matrix[i][j]>max) max = matrix[i][j]; if(matrix[i][j]<min) min = matrix[i][j]; printf("\nmax element: %.2f \nmin element:%.2f", max, min);

Άσκηση 5 (Για το σπίτι) Γράψτε πρόγραμμα που διαβάζει από τον χρήστη δεκαδικούς αριθμούς και τους καταχωρεί σε ένα πίνακα με διαστάσεις 4x4. Στη συνέχεια βρίσκει και τυπώνει το μεγαλύτερο και μικρότερο στοιχείο στην κύρια διαγώνιο του πίνακα. Αποτέλεσμα εκτέλεσης: Input matrix elements:...... Input element [2][2] : 4 Input element [2][3] : 5 Input element [3][0] : 6 Input element [3][1] : 98 Input element [3][2] : 12 Input element [3][3] : 76 Maximum element in main diagonal is: 76.000000 Minimum element in main diagonal is: 4.000000