418115: การเขียนโปรแกรมโครงสร้าง คำสั่ง...

Click here to load reader

Upload: renee-acosta

Post on 01-Jan-2016

36 views

Category:

Documents


2 download

DESCRIPTION

418115: การเขียนโปรแกรมโครงสร้าง คำสั่ง while (1). ประมุข ขันเงิน [email protected]. yes. โปรแกรมใน unix (และในระบบปฏิบัติการลูกหลาน เช่น linux และ Mac OS X) ตัวหนึ่ง การทำงาน พิมพ์ “y” บรรทัดละตัว ไปเรื่อยๆ ไม่รู้จบ จนกระทั่งมีใครสั่งฆ่า (kill) มัน - PowerPoint PPT Presentation

TRANSCRIPT

418115: while (1)

[email protected]: while (1)1yes unix ( linux Mac OS X) y (kill) pipe pipe () 2yes> yesyyyyyyyy

3 while

while ();

while 4 yes ? 0

#include int main(){ while (1) printf("y\n"); return 0;}

5while Compound Statement compound statement ;

#include int main(){ while (1) { printf("y"); printf("\n"); } return 0;}

6 do

do { 1; 2; 3; :} while ();

7 do compound statement compound statement

while while do

8 yes do#include int main(){ do { printf("y"); printf("\n"); } while (1); return 0;}

910Enter a number: 10Do you want to continue? (1=yes, 0=no): 1Enter a number: 20Do you want to continue? (1=yes, 0=no): 1Enter a number: 60Do you want to continue? (1=yes, 0=no): 0You entered 3 number(s).The mean is 30.000000.11Enter a number: 441.93Do you want to continue? (1=yes, 0=no): 1Enter a number: 841Do you want to continue? (1=yes, 0=no): 1Enter a number: 7.65Do you want to continue? (1=yes, 0=no): 1Enter a number: 28.28Do you want to continue? (1=yes, 0=no): 1Enter a number: -46.49Do you want to continue? (1=yes, 0=no): 0You entered 5 number(s).The mean is 322.062200.12double sum; int count; xsum += x;count++;13 choice choice == 114do{ double x; printf("Enter a number: "); scanf("%lf", &x); sum += x; count++; printf("Do you want to continue? (1=yes, 0=no): "); scanf("%d", &choice); } while (choice == 1);15#include int main(){ double sum = 0; int count = 0; int choice; [] printf("You entered %d number(s).\n", count); printf("The mean is %lf.\n", sum / count); return 0;}

16 0 n-1 n 0 n-1 17Enter n: 501234

18Enter n: 10012345678919 counter counter counter loop Loop counter

20 counter i i 0 i i i n i < n21int i = 0;while (i < n){ printf("%d\n", i); i++;}22#include int main(){ int n; printf("Enter n: "); scanf("%d", &n); int i = 0; while (i < n) { printf("%d\n", i); i++; } return 0;}

23 n counter i i 0 loop while i < n i++24int i = 0;while (i < n){ [ n ] i++;}

25: n n n (*)

Enter n: 5*************************26Enter n: 9*********************************************************************************27: n n \n28int i = 0;while (i < n){ [ n ] printf("\n"); i++;}

29int i = 0;while (i < n){ int j = 0; while (j < n) { [ 1 ] j++; } printf("\n"); i++;}

30int i = 0;while (i < n){ int j = 0; while (j < n) { printf("*"); j++; } printf("\n"); i++;}

31#include int main(){ int n; printf("Enter n: "); scanf("%d", &n); int i = 0; while (i < n) { int j = 0; while (j < n) { printf("*"); j++; } printf("\n"); i++; } return 0;}

32

Enter n: 5***************33Enter n: 8************************************34 n 1 1 2 2 3 3 ? counter!

35int i = 0;while (i < n){ [ n ] printf("\n"); i++;}

i+1

36int i = 0;while (i < n){ [ i+1 ] printf("\n"); i++;}37int i = 0;while (i < n){ int j = 0; while (j < i+1) { printf("*"); j++; } printf("\n"); i++;}

38#include int main(){ int n; printf("Enter n: "); scanf("%d", &n); int i = 0; while (i < n) { int j = 0; while (j < i+1) { printf("*"); j++; } printf("\n"); i++; } return 0;}

39

Enter n: 5 * ** *** *********40Enter n: 9 * ** *** **** ***** ****** ******* *****************41 n i i+1 () space space ? n x n n i+1 space n-1 42int i = 0;while (i < n){ [ space n-i-1 ] [ i+1 ] printf("\n"); i++;}

43 int i = 0; while (i < n) { int j = 0; while (j < n-i-1) { printf(" "); j++; } j = 0; while (j < i+1) { printf("*"); j++; } printf("\n"); i++; } 44?

Enter n: 5 * * * * * * * * * ** * * * *45Enter n: 8 * * * * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * * * *46 * ( space) n-1 47 1 (i = 0) space n-1 * 0 1 2 (i = 1) space n-2 * 1 1 3 (i = 2) space n-3 * 2 1

48 i+1 space n-i-1 * i 1

49int i = 0;while (i < n){ [ space n-i-1 ] [ * i ] printf(*"); printf("\n"); i++;}50int i = 0;while (i < n) { int j = 0; while (j < n-i-1) { printf(" "); j++; } j = 0; while (j < i) { printf("* "); j++; } printf("*"); printf("\n"); i++;} 51Enter n: 1*

Enter n: 2****** ** * ** ******52Enter n: 3********** ** ***** ** * * ** * * * ** * * ** ***** ** **********53Enter n: 4************** ** ********* ** * * ** * ***** * ** * * * * ** * * * * * ** * * * * ** * ***** * ** * * ** ********* ** **************54?: 4*n-3 4*n-3 4*n-3 (*) space55?

|012345678-+---------0|*********1|*@@@@@@@*2|*@*****@*3|*@*@@@*@*4|*@*@*@*@*5|*@*@@@*@*6|*@*****@*7|*@@@@@@@*8|*********

56 (0,0) |012345678-+---------0|*********1|*@@@@@@@*2|*@*****@*3|*@*@@@*@*4|*@*@*@*@*5|*@*@@@*@*6|*@*****@*7|*@@@@@@@*8|*********

57 (1,0) |012345678-+---------0|*********1|*@@@@@@@*2|*@*****@*3|*@*@@@*@*4|*@*@*@*@*5|*@*@@@*@*6|*@*****@*7|*@@@@@@@*8|*********

58 (1,1) |012345678-+---------0|*********1|*@@@@@@@*2|*@*****@*3|*@*@@@*@*4|*@*@*@*@*5|*@*@@@*@*6|*@*****@*7|*@@@@@@@*8|*********

59 (6,7) |012345678-+---------0|*********1|*@@@@@@@*2|*@*****@*3|*@*@@@*@*4|*@*@*@*@*5|*@*@@@*@*6|*@*****@*7|*@@@@@@@*8|*********

60?: (2*n-2, 2*n-2)

?

61 0 |012345678-+---------0|*********1|*@@@@@@@*2|*@*****@*3|*@*@@@*@*4|*@*@*@*@*5|*@*@@@*@*6|*@*****@*7|*@@@@@@@*8|*********62 1 |012345678-+---------0|*********1|*@@@@@@@*2|*@*****@*3|*@*@@@*@*4|*@*@*@*@*5|*@*@@@*@*6|*@*****@*7|*@@@@@@@*8|*********63 2 |012345678-+---------0|*********1|*@@@@@@@*2|*@*****@*3|*@*@@@*@*4|*@*@*@*@*5|*@*@@@*@*6|*@*****@*7|*@@@@@@@*8|*********64 3 |012345678-+---------0|*********1|*@@@@@@@*2|*@*****@*3|*@*@@@*@*4|*@*@*@*@*5|*@*@@@*@*6|*@*****@*7|*@@@@@@@*8|*********65 1 8 (2*n-3, 2*n-3)(2*n-2, 2*n-3)(2*n-1, 2*n-3)(2*n-3, 2*n-2)(2*n-1, 2*n-2)(2*n-3, 2*n-1)(2*n-2, 2*n-1)(2*n-1, 2*n-1)

66 1 (2*n-2, 2*n-2) (2*n-3, 2*n-3) - (2*n-2, 2*n-2) = (-1, -1)(2*n-2, 2*n-3) - (2*n-2, 2*n-2) = (0, -1)(2*n-1, 2*n-3) - (2*n-2, 2*n-2) = (1, -1)(2*n-3, 2*n-2) - (2*n-2, 2*n-2) = (-1, 0)(2*n-1, 2*n-2) - (2*n-2, 2*n-2) = (1, 0)(2*n-3, 2*n-1) - (2*n-2, 2*n-2) = (-1, 1)(2*n-2, 2*n-1) - (2*n-2, 2*n-2) = (0, 1)(2*n-1, 2*n-1) - (2*n-2, 2*n-2) = (1, 1) x y 167? (j,i) (j,i) ?

(j,i) max( abs(i (2*n-2)), abs(j (2*n-2)) )68int i = 0;while (i < 4*n-3){ [ 4*n-3 ] printf("\n"); i++;}

69while (i < 4*n-3){ int j = 0; while (j < 4*n-3) { [ 1 ] j++; } printf("\n"); i++;}70while (i < 4*n-3){ int j = 0; while (j < 4*n-3) { [ d = (j,i) ] if (d % 2 == 0) printf("*"); else printf(" "); j++; } printf("\n"); i++;}71while (i < 4*n-3){ int j = 0; while (j < 4*n-3) { int dx = abs(j - (2*n-2)); int dy = abs(i - (2*n-2)); int d = (dx > dy) ? dx : dy; if (d % 2 == 0) printf("*"); else printf(" "); j++; } printf("\n"); i++;}72#include #include int main(){ int n; printf("Enter n: "); scanf("%d", &n); int i = 0; while (i < 4*n-3) { int j = 0; while (j < 4*n-3) { int dx = abs(j - (2*n-2)); int dy = abs(i - (2*n-2)); int d = (dx > dy) ? dx : dy; if (d % 2 == 0) printf("*"); else printf(" "); j++; } printf("\n"); i++; } return 0;}

73