Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

2/28/00epl-1311 Παραδειγματα Aλγοριθμων Αριθμος λεξεων που διαβαστηκαν απο εισοδο Εκτυπωση περιφερειας τετραγωνων με * Υπολογισμος exp(x,n) = 1 + x/1!

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "2/28/00epl-1311 Παραδειγματα Aλγοριθμων Αριθμος λεξεων που διαβαστηκαν απο εισοδο Εκτυπωση περιφερειας τετραγωνων με * Υπολογισμος exp(x,n) = 1 + x/1!"— Μεταγράφημα παρουσίασης:

1 2/28/00epl-1311 Παραδειγματα Aλγοριθμων Αριθμος λεξεων που διαβαστηκαν απο εισοδο Εκτυπωση περιφερειας τετραγωνων με * Υπολογισμος exp(x,n) = 1 + x/1! + x 2 /2! + x 3 /3! +…+ x n /n!

2 2/28/00epl-1312 Αριθμος Λεξεων Γραψετε ενα προγραμμα που διαβαζει ενα κειμενο απο την εισοδο και υπολογιζει και τυπωνει τον αριθμο λεξεων.

3 3 Αριθμος Λεξεων Παραδειγματα Τι πρεπει να γινει: –Διαβασμα ακολουθιας χαρακτηρων –Μετρηση Γεγονοτος: Λεξης Τι ειναι λεξη:συνεχομενη σειρα χαρακτηρων Τα αλλα τι ειναι? ‘\n’, ‘\t’, ‘ ’ Μετρουμε: μετακινηση απο ασπρο διαστημα σε λεξη (ή απο λεξη σε ασπρο διαστημα) Που ειμαστε προηγουμενως/τωρα:διαστημα ή λεξη- εννοια σημαίας (flag)

4 2/28/00epl-1314 #define ON 1 #define OUT 0 int main() {int c, where_before, where_now, nw; where_before = OUT; nw = 0; while((c=getchar()) != EOF){ if (c == ‘\n’ || c==‘\t’ || c==‘ ’) where_now = OUT; else where_now = ON; if ( where_before == OUT && where_now = ON) nw = nw + 1; where_before = where_now; } printf(“The number of words in the input is %3d.\n”,nw); return 0; }

5 2/28/00epl-1315 #define ON 1 #define OUT 0 int main() { int c, where, nw; where = OUT; nw = 0; while((c=getchar()) != EOF){ if (c == ‘\n’ || c==‘\t’ || c==‘ ’) where = OUT; else if ( where == OUT){ nw = nw + 1; where = ON; } printf(“The number of words in the input is %3d.\n”,nw); return 0; }

6 2/28/00epl-1316 #define ON 1 #define OUT 0 int main() { int c, where, nw; where = OUT; nw = 0; while((c=getchar()) != EOF){ if (c == ‘\n’ || c==‘\t’ || c==‘ ’){ if (where == ON) nw = nw + 1; where = OUT; } else where = ON; } printf(“The number of words in the input is %3d.\n”,nw); return 0; }

7 2/28/00epl-1317 Εκτυπωση περιφερειας τετραγωνων Γραψετε ενα προγραμμα που διαβαζει το μεγεθος της πλευρας ενος τετραγωνου και τυπωνει την περιφερεια του με * (η τιμη πρεπει να ειναι ακεραια και >1). Πχ εαν η τιμη ειναι 3 *** * * ***

8 2/28/00epl-1318 Εκτυπωση περιφερειας τετραγωνων Παραδειγματα Τι πρεπει να γινει για τιμη ν: –Τυπωση πανω πλευρας με ν * –Τυπωση ενδιαμεσων (ν-2) με * ν-2 ‘ ’ * –Τυπωση κατω πλευρας με ν *

9 2/28/00epl-1319 void display_n_stars(int n); void display_star_spaces_star(int n); Χρησιμες Συναρτησεις

10 2/28/00epl-13110 /* enter size of square */ /* call display_stars once */ /* call display_star_spaces_star n-2 times */ /* call display_stars once */ Αλγοριθμος

11 2/28/00epl-13111 /* enter size of square */ printf(“Enter square size: “); scanf(“%d”, &size); /* size stars */ display_n_stars(size); /* n-2 calls to display_star_spaces_star(size);*/ /* size stars */ display_n_stars(size);

12 2/28/00epl-13112 /* n-2 calls */ i=0; while(size<n-2){ display_star_spaces_star(size); i=i+1; }

13 13 int i, size; /* enter size of square */ printf(“Enter square size: “); scanf(“%d”, &size); /*print size stars */ display_n_stars(size); /* n-2 calls to display_star_spaces_star(size);*/ i=0; while(size<n-2){ display_star_spaces_star(size); i=i+1; } /* print size stars */ display_n_stars(size);

14 2/28/00epl-13114 void display_n_stars(int n) { int i=0; while(i<n){ printf(“*”); i = i + 1; } printf(“\n”); } void display_star_spaces_star(int n) { int i=0; if (n<=2) return; printf(“*”); while(i<n-2){ printf(“ ”); i = i + 1; } printf(“*\n”); }

15 2/28/00epl-13115 Υπολογισμος Γραψετε ενα προγραμμα που υπολογιζει και τυπωνει την τιμη του exp(x,n) = 1 + x/1! + x 2 /2! + x 3 /3! +…+ x n /n! Το προγραμμα διαβαζει τις τιμες x και n απο τον χρηστη. X 0 /0! + x 1 /1! + x 2 /2! + x 3 /3! +…+ x n /n!

16 2/28/00epl-13116 Υπολογισμος Τι πρεπει να γινει? –Δημιουργια n+1 ορων (0 μεχρι n) –Aθροισμα των ορων

17 2/28/00epl-13117 Δημιουργια Ορου ν Συναρτηση float term(n,x) επιστρεφει τον n ορο της σειρας για την τιμη x

18 2/28/00epl-13118 exp term(0,x) + + + float term(int n, float x) term(1,x)term(2,x)term(3,x) exp

19 2/28/00epl-13119 Υπολογισμος float exp; int ith_term; exp =0; ith_term = 0; while(ith_term <= n){ exp = exp + term(ith_term,x); ith_term = ith_term + 1; }

20 2/28/00epl-13120 term(n,x) Πως πρεπει να γινει? –υπολογισμος δυναμης –υπολογισμος παραγωντικου Χρησιμες Συναρτησεις –x n float power(x,n); –n! int factorial(n); n! = 12 3 4 … n Οριζεται στην math.h Need user definition

21 2/28/00epl-13121 float term (int n, float x) { return pow(x,n)/factorial(n); }

22 2/28/00epl-13122 factorial 12 34 * * * float factorial(int n)

23 2/28/00epl-13123 float factorial (int n) { int f,i; f=1; i=2;/* if i=0 or 1 return 1*/ while(i<=n){ f = f * i; i = i + 1; } return f; }

24 2/28/00epl-13124 Trace Table for Factorial Για n: 0,1,2 … 5


Κατέβασμα ppt "2/28/00epl-1311 Παραδειγματα Aλγοριθμων Αριθμος λεξεων που διαβαστηκαν απο εισοδο Εκτυπωση περιφερειας τετραγωνων με * Υπολογισμος exp(x,n) = 1 + x/1!"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google