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



Σχετικά έγγραφα
γνωστό) ΘΕΩΡΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ι ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ Ασκήσεις C 1. Να γραφεί πρόγραµµα που να εµφανίζει τους 5 πρώτους µεγαλύτερους

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

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

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

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ ΕΡΓΑΣΤΗΡΙΟ

int abs( int x ), επιστρέφει την απόλυτη τιμή του ακεραίου x Πχ abs( 11) ισούται με 11, abs(34) ισούται με 34 double fb( fabs( double x ), επιστρέφει

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

Κεφάλαιο ΙI: Εργαστηριακές ασκήσεις που αφορούν βασικές έννοιες, τύπους δεδοµένων και συµβολοσειρές στη γλώσσα προγραµµατισµού Java.

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

Διάλεξη 10η: Πολυδιάστατοι Πίνακες

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

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

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

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

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

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

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

Προγραμματισμός Συστημάτων

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

Παραδείγματα με συναρτήσεις στη C

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

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

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

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

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

Ταξινόµηση και Αναζήτηση

bits and bytes q Ο υπολογιστής χρησιμοποιεί τη κύρια μνήμη για αποθήκευση δεδομένων

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

Διάλεξη 9η: Πίνακες (arrays)

Άσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN:

Ένα απλό πρόγραμμα C

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

ΗΥ-150. Προγραμματισμός

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

Αριθμητικοί αλγόριθμοι

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

Section 7.6 Double and Half Angle Formulas

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

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

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

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

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

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

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

Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6)

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

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

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

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

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

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

Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις. ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κατανεμημένα και Παράλληλα Συστήματα (εργαστήριο) Παραδείγματα με openmp

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

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

ΗΥ-150. Προγραµµατισµός. Πίνακες (Arrays)

Συναρτήσεις διαχείρισης αλφαριθμητικών

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

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

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

Εκφωνήσεις ασκήσεων εργαστηρίου 1

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

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

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

Το πρόγραμμα θα τυπώνει και τους τρεις πίνακες.

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

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

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

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

Homework 8 Model Solution Section

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

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

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

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

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

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Περισσότερα για τις Κλάσεις, τα Αντικείμενα και τις Μεθόδους

Περιεχόμενα. Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6) Τύποι Δεδομένων. Τελεστές. Αριθμητικές εκφράσεις

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. Δείκτες (Διάλεξη 14)

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης:

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ. Προγραμματισμός Ι.

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

Προγραµµατισµός. Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος

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

Homework 3 Solutions

Σημειώσεις δεύτερης εβδομάδας

ΑΣΚΗΣΗ 8: ΣΥΝΑΡΤΗΣΕΙΣ

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

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

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

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

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

ΗΥ-150. Πίνακες (Arrays)

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

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

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

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

Transcript:

ΛΥΜΕΝΕΣ ΑΣΚΗΣΕΙΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ-ΓΛΩΣΣΑ C ΑΤΕΙ (ΝΑ ΕΚΤΕΛΕΣΤΟΥΝ ΤΑ ΠΑΡΑΚΑΤΩ ΜΕ ΧΡΗΣΗ ΤΟΥ LCC COMPILER) 1. Να γραφεί πρόγραµµα το οποίο να αναγνωρίζει αν κάποιος χαρακτήρας είναι ψηφίο, κεφαλαίο γράµµα ή µικρό γράµµα. /* Παράδειγµα χρήσης IF και χαρακτήρων main() char c; printf(" ώστε ένα χαρακτήρα:"); scanf("%c", &c); if((c >= '0') &&(c <= '9')) printf("ο χαρακτήρας αυτός είναι ψηφίο\n"); else if((c >= 'A') && (c <= 'Z')) printf("ο χαρακτήρας αυτός είναι κεφαλαίο γράµµα\n"); else if((c >= 'a') && (c <= 'z')) printf("ο χαρακτήρας αυτός είναι µικρό γράµµα\n"); else printf("άλλος χαρακτήρας\n"); 2.Να γραφεί πρόγραµµα το οποίο να υπολογίζει τον µέσο βαθµό του κάθε µαθήτη και τον µέσο βαθµό όλης της τάξης σε ένα πλήθος µαθηµάτων. /*ΜΕΣΟΙ ΒΑΘΜΟΙ ΜΑΘΗΤΩΝ ΚΑΙ ΤΑΞΗΣ #define STUDENTS 10 #define SUBJECTS 5 1

void main() int sum, sum_all; int i, j, grade; float aver, aver_all; sum_all = 0; for(i=1; i<=students; i++) sum = 0; for(j=1; j<=subjects; j++) printf(" ώστε το βαθµό του %d ου µαθήµατος:", j); scanf("%d", &grade); sum += grade; sum_all += sum; aver = (float) sum / SUBJECTS; printf("μέσος όρος %d µαθητή: %4.2f\n", i, aver); aver_all = (float) sum_all / (STUDENTS * SUBJECTS); printf("μέσος όρος τάξης: %4.2f\n", aver_all); 3. Να γραφεί πρόγραµµα, χρησιµοποίοντας υποπρόγραµµα-συνάρτηση, το οποίο να κατασκευάζει ένα πίνακα µε τα τετράγωνα ακεραίων αριθµών. /* This program demonstrates function usage and return statement void main() /* This is the main program int x,y; for(x = 0;x <= 7;x++) y = squ(x); /* go get the value of x*x printf("the square of %d is %d\n",x,y); for (x = 0;x <= 7;++x) printf("the value of %d is %d\n",x,squ(x)); squ(in) /* function to get the value of in squared int in; int square; square = in * in; return(square); /* This sets squ() = square 2

4. Να γραφεί πρόγραµµα το οποίο βρίσκει τις ρίζες εξισώσεων χρησιµοποιώντας την µέθοδο του µεσοδιαστήµατος. /* * Midpoint method for root-finding in the interval [a,b] * f(a)<0 and f(b)>0 #include <math.h> double f(double x) return x*x*x + x*x -x -1.0; void main() double a = 0.0, b = 2.0; /*initial search interval double tol = 1.0e-6; /*tolerance-accuracy of the solution int i; double c, fa, fb, fc; i = 1; fa = f(a); fb = f(b); while (fabs(b-a) > tol) c = (a + b) / 2.0; fc = f(c); if (fc < 0) a = c; fa = fc; else b = c; fb = fc; printf("%f",c); printf("\n"); i++; printf("\nroot : %f after %d iterations", c, i); 3

5. Να γραφεί πρόγραµµα το οποίο να υπολογίζει προσεγγιστικά το ολοκλήρωµα µιας συνάρτησης f(x) στο διάστηµα [a,b] µε τον τύπο του τραπεζίου. /* * Program computing the integral of function f in the * interval [a,b] using the trapezium rule. * * ATEI-15-01-2007 #include <math.h> double f(double x) return 1.0 / (1.0 + x*x); void main() double a = 0, b = 1; int n, i; double trap, x, h, exact; exact = atan(1.0); printf(" n Trapezium Percent-Error \n"); for (n = 10; n <= 100; n += 10) h = (b - a) / n; /* * Trapezium rule trap = 0.5 * f(a); for (i = 1; i < n; i++) trap += f(a+i*h); trap += 0.5 * f(b); trap *= h; /* results & percent errors relative to exact solution printf("%3d %f %f\n", n, trap, 100.0*fabs(trap-exact)/fabs(exact)); 4

6. Να γραφεί πρόγραµµα, χρησιµοποιώντας και υποπρογράµµατα, το οποίο να βρίσκει το ελάχιστό και µέγιστο στοιχείο ενός πίνακα ακεραίων. /* Program to find min-max elements of an array #define N 10 void input_data(int data[]) int i; for(i=0; i<n; i++) printf("input %d element of the array:", i); scanf("%d", &data[i]); return; int minimum(int data[]) int i,mini; mini = data[0]; for(i=0; i<n; i++) if(mini > data[i]) mini = data[i]; return(mini); int maximum(int data[]) int i, maxi; maxi = data[0]; for(i=0; i<n; i++) if(maxi < data[i]) maxi = data[i]; return(maxi); void main() int data[n] = 0 ; int min, max; input_data(data); /*reads the array elements min = minimum(data); /*finds minimum value element max = maximum(data); /*finds maximum value element printf("min: %d \t Max: %d\n", min, max); 5

7. Να γραφεί πρόγραµµα για την δηµιουργία ενός πίνακα πολλαπλασιασµού µε την χρήση διδιαστατών πινάκων. /* This program produces a multiplication table using 2-D arrays void main() int i,j; int a[5][5]; for (i = 1;i <= 4;i++) for (j = 1;j <= 4;j++) a[i][j] = i * j; /* This is a multiplication table for (i = 1;i <= 4;i++) for (j = 1;j <= 4;j++) printf("%5d",a[i][j]); printf("\n"); /* newline for each increase in i Math Functions <math.h> (not full list) double acos(double x) -- Compute arc cosine of x. double asin(double x) -- Compute arc sine of x. double atan(double x) -- Compute arc tangent of x. double atan2(double y, double x) -- Compute arc tangent of y/x. double ceil(double x) -- Get smallest integral value that exceeds x. double cos(double x) -- Compute cosine of angle in radians. double cosh(double x) -- Compute the hyperbolic cosine of x. div_t div(int number, int denom) -- Divide one integer by another. double exp(double x) -- Compute exponential of x double fabs (double x ) -- Compute absolute value of x. double floor(double x) -- Get largest integral value less than x. double fmod(double x, double y) -- Divide x by y and return remainder. labs(long n) -- Find absolute value of long integer n. ldiv_t ldiv(long number, long denom) -- Divide one long integer by another. double log(double x) -- Compute log(x). double log10 (double x ) -- Compute log to the base 10 of x. double pow (double x, double y) -- Compute x raised to the power y. double sin(double x) -- Compute sine of angle in radians. double sinh(double x) - Compute the hyperbolic sine of x. 6

double sqrt(double x) -- Compute the square root of x. double tan(double x) -- Compute tangent of angle in radians. double tanh(double x) -- Compute the hyperbolic tangent of x. Math Constants <math.h> (not full list) The <math.h> library defines many constants. It is always advisable to use these definitions: HUGE -- The maximum value of a single-precision floating-point number. M_E -- The base of natural logarithms (e). M_LOG2E -- The base-2 logarithm of e. M_LOG10E - The base-10 logarithm of e. M_LN2 -- The natural logarithm of 2. M_LN10 -- The natural logarithm of 10. M_PI --. M_PI_2 -- /2. M_PI_4 -- /4. M_1_PI -- 1/. M_2_PI -- 2/. M_2_SQRTPI -- 2/ π M_SQRT2 -- The positive square root of 2. M_SQRT1_2 -- The positive square root of 1/2. MAXFLOAT -- The maximum value of a non-infinite single- precision floating point number. HUGE_VAL -- positive infinity. 7