Presentation is loading. Please wait.

Presentation is loading. Please wait.

CP104 Introduction to Programming Repetition and loop Lecture 15 __ 1 Case study 1: Calculate the approximation of Pi Calculate the approximation of Pi.

Similar presentations


Presentation on theme: "CP104 Introduction to Programming Repetition and loop Lecture 15 __ 1 Case study 1: Calculate the approximation of Pi Calculate the approximation of Pi."— Presentation transcript:

1 CP104 Introduction to Programming Repetition and loop Lecture 15 __ 1 Case study 1: Calculate the approximation of Pi Calculate the approximation of Pi by formula with error 1e-4. Algorithm 1.pi = 0, s = 1, n = 1, t = s/n 2.while fabs(t) > 1e-4 do 1.pi = pi + t 2.n = n +2 3.s = -s 4.t = s / n; 5.end while 3.Pi = 4 * pi

2 CP104 Introduction to Programming Repetition and loop Lecture 15 __ 2 Implementation #include main(){ int s = 1; double n = 1, t = 1, pi = 0; while (fabs(t)>= 1e-4) { pi = pi + t; n += 2; s = - s; t = s/n; } pi = pi * 4; printf("%10.6f\n", pi); }

3 CP104 Introduction to Programming Repetition and loop Lecture 15 __ 3 Case Study 2: Fibonacci Sequence Calculate the first 40 number of Fibonacci sequence: F(1) = 1, F(2) = 1, …, F(n) = F(n-1) + F(n-2) Algorithm 1.f1 = 1, f2 = 1, i = 1 2.For i from 1 to 20 do 1. Print f1 and f2 2. f1 = f1 + f2 3. f2 = f2 + f1 End of for loop

4 CP104 Introduction to Programming Repetition and loop Lecture 15 __ 4 Implementation #include main(){ long int f1, f2; int i; f1 = 1; f2 = 1; for (i = 1; i<=20; i++) { printf("%12ld %12ld ", f1, f2); if(i%2==0) printf("\n"); f1 = f1 + f2; f2 = f2 + f1; }

5 CP104 Introduction to Programming Repetition and loop Lecture 15 __ 5 Case Study 3: Simple Encryption and Decryption Problem: Convert a plain text to a cipher text by alphabet of module k. Where 0

6 CP104 Introduction to Programming Repetition and loop Lecture 15 __ 6 Implementation #include main(){ char c; int key; printf("Input a key between 1 and 25: \n"); scanf("%d", &key); while ((c = getchar())!='*') { if ((c >= 'a' && c = 'A' && c <= 'Z')) { c = c + key; if (c > 'Z' && c 'z') c = c - 26; } printf("%c",c); }

7 CP104 Introduction to Programming Repetition and loop Lecture 15 __ 7 Reading Data from a File #include /* defines fopen, fclose, fscanf fprintf, and EOF*/ int main(void) { FILE *inp; /* input file pointer */ int sum = 0, /* sum of scores input so far*/ score, /* current score */ input_status; /* status value returned by fscanf*/ inp = fopen("scores.dat", "r"); /* open a file for reading */ printf("Scores\n"); input_status = fscanf(inp, "%d", &score); /* read the first line from the file */ while (input_status != EOF) { /* if not the end of file sign */ printf("%5d\n", score); sum += score; input_status = fscanf(inp, "%d", &score); /* continue to read the next line */ } printf("\nSum of exam scores is %d\n", sum); fclose(inp); /* close the file */ } Run by command line

8 CP104 Introduction to Programming Repetition and loop Lecture 15 __ 8 Structure Chart for Computing Solar Collecting Area Size

9 CP104 Introduction to Programming Repetition and loop Lecture 15 __ 9 Program to Approximate Solar Collecting Area Size

10 CP104 Introduction to Programming Repetition and loop Lecture 15 __ 10 Program to Approximate Solar Collecting Area Size (cont’d)

11 CP104 Introduction to Programming Repetition and loop Lecture 15 __ 11 Program to Approximate Solar Collecting Area Size (cont’d)


Download ppt "CP104 Introduction to Programming Repetition and loop Lecture 15 __ 1 Case study 1: Calculate the approximation of Pi Calculate the approximation of Pi."

Similar presentations


Ads by Google