2 P.S.P.T. P.S.P.T. wiki 26

Similar documents
[1] #include<stdio.h> main() { printf("hello, world."); return 0; } (G1) int long int float ± ±

C による数値計算法入門 ( 第 2 版 ) 新装版 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. このサンプルページの内容は, 新装版 1 刷発行時のものです.

‚æ4›ñ

£Ã¥×¥í¥°¥é¥ß¥ó¥°(2018) - Âè11²ó – ½ÉÂꣲ¤Î²òÀ⡤±é½¬£² –

£Ã¥×¥í¥°¥é¥ß¥ó¥°ÆþÌç (2018) - Â裱£²²ó ¡Ý½ÉÂꣲ¤Î²òÀ⡤±é½¬£²¡Ý

1 4 2 EP) (EP) (EP)

C 2 / 21 1 y = x 1.1 lagrange.c 1 / Laglange / 2 #include <stdio.h> 3 #include <math.h> 4 int main() 5 { 6 float x[10], y[10]; 7 float xx, pn, p; 8 in

USB ID TA DUET 24:00 DUET XXX -YY.c ( ) XXX -YY.txt() XXX ID 3 YY ID 5 () #define StudentID 231

PC Windows 95, Windows 98, Windows NT, Windows 2000, MS-DOS, UNIX CPU

/* do-while */ #include <stdio.h> #include <math.h> int main(void) double val1, val2, arith_mean, geo_mean; printf( \n ); do printf( ); scanf( %lf, &v

tuat1.dvi

kiso2-06.key

C 2 2.1? 3x 2 + 2x + 5 = 0 (1) 1

+ +

all.dvi

C¥×¥í¥°¥é¥ß¥ó¥° ÆþÌç

1 return main() { main main C 1 戻り値の型 関数名 引数 関数ブロックをあらわす中括弧 main() 関数の定義 int main(void){ printf("hello World!!\n"); return 0; 戻り値 1: main() 2.2 C main

£Ã¥×¥í¥°¥é¥ß¥ó¥°ÆþÌç (2018) - Â裶²ó ¨¡ À©¸æ¹½Â¤¡§·«¤êÊÖ¤· ¨¡

P05.ppt

joho07-1.ppt

kiso2-09.key

/* sansu1.c */ #include <stdio.h> main() { int a, b, c; /* a, b, c */ a = 200; b = 1300; /* a 200 */ /* b 200 */ c = a + b; /* a b c */ }

卒 業 研 究 報 告.PDF

double float

() x + y + y + x dy dx = 0 () dy + xy = x dx y + x y ( 5) ( s55906) 0.7. (). 5 (). ( 6) ( s6590) 0.8 m n. 0.9 n n A. ( 6) ( s6590) f A (λ) = det(a λi)

Cプログラミング1(再) 第2回

II ( ) prog8-1.c s1542h017%./prog8-1 1 => 35 Hiroshi 2 => 23 Koji 3 => 67 Satoshi 4 => 87 Junko 5 => 64 Ichiro 6 => 89 Mari 7 => 73 D

P02.ppt

Excel ではじめる数値解析 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. このサンプルページの内容は, 初版 1 刷発行時のものです.


I ASCII ( ) NUL 16 DLE SP P p 1 SOH 17 DC1! 1 A Q a q STX 2 18 DC2 " 2 B R b

A (1) = 4 A( 1, 4) 1 A 4 () = tan A(0, 0) π A π

1.1 1 C IIA $ cd comp3a %endminipage ~/comp3a mkdir $ mkdir comp3a $ cd comp3a C.c Emacs Cntrol x Control s 2 Emacs Control-x Control-f Control-

数値計算

Microsoft Word - C.....u.K...doc

I. Backus-Naur BNF S + S S * S S x S +, *, x BNF S (parse tree) : * x + x x S * S x + S S S x x (1) * x x * x (2) * + x x x (3) + x * x + x x (4) * *

さくらの個別指導 ( さくら教育研究所 ) A a 1 a 2 a 3 a n {a n } a 1 a n n n 1 n n 0 a n = 1 n 1 n n O n {a n } n a n α {a n } α {a

新版明解C言語 実践編

1 No.1 5 C 1 I III F 1 F 2 F 1 F 2 2 Φ 2 (t) = Φ 1 (t) Φ 1 (t t). = Φ 1(t) t = ( 1.5e 0.5t 2.4e 4t 2e 10t ) τ < 0 t > τ Φ 2 (t) < 0 lim t Φ 2 (t) = 0

1 8, : 8.1 1, 2 z = ax + by + c ax by + z c = a b +1 x y z c = 0, (0, 0, c), n = ( a, b, 1). f = n i=1 a ii x 2 i + i<j 2a ij x i x j = ( x, A x), f =

PowerPoint Presentation

θ (t) ω cos θ(t) = ( : θ, θ. ( ) ( ) ( 5) l () θ (t) = ω sin θ(t). ω := g l.. () θ (t) θ (t)θ (t) + ω θ (t) sin θ(t) =. [ ] d dt θ (t) ω cos θ(t

joho09.ppt

I, II 1, A = A 4 : 6 = max{ A, } A A 10 10%

C , C++ C C++ C++ C cpprefjp - C++ 1 C CUI 2.1 donothing.cpp 1

£Ã¥×¥í¥°¥é¥ß¥ó¥°ÆþÌç (2018) - Â裵²ó ¨¡ À©¸æ¹½Â¤¡§¾ò·ïʬ´ô ¨¡

c-all.dvi

(1 ) scanf(

C言語によるアルゴリズムとデータ構造

untitled

:30 12:00 I. I VI II. III. IV. a d V. VI

Microsoft PowerPoint - 説明3_if文switch文(C_guide3)【2015新教材対応確認済み】.pptx

ex01.dvi

num2.dvi

[ 1] 1 Hello World!! 1 #include <s t d i o. h> 2 3 int main ( ) { 4 5 p r i n t f ( H e l l o World!! \ n ) ; 6 7 return 0 ; 8 } 1:

tuat2.dvi

x h = (b a)/n [x i, x i+1 ] = [a+i h, a+ (i + 1) h] A(x i ) A(x i ) = h 2 {f(x i) + f(x i+1 ) = h {f(a + i h) + f(a + (i + 1) h), (2) 2 a b n A(x i )

I. Backus-Naur BNF : N N 0 N N N N N N 0, 1 BNF N N 0 11 (parse tree) 11 (1) (2) (3) (4) II. 0(0 101)* (

#A A A F, F d F P + F P = d P F, F y P F F x A.1 ( α, 0), (α, 0) α > 0) (x, y) (x + α) 2 + y 2, (x α) 2 + y 2 d (x + α)2 + y 2 + (x α) 2 + y 2 =

I, II 1, 2 ɛ-δ 100 A = A 4 : 6 = max{ A, } A A 10

新・明解C言語 ポインタ完全攻略

(1) (2) (3) (4) HB B ( ) (5) (6) (7) 40 (8) (9) (10)

pptx

Numerical Rosetta Stone 1 C, Java, Perl, Ruby, Python [ ] Hello world C: /* hello.c $> gcc hello.c $>./a.out */ #include <stdio.h> main(){ printf("hel

, 1 ( f n (x))dx d dx ( f n (x)) 1 f n (x)dx d dx f n(x) lim f n (x) = [, 1] x f n (x) = n x x 1 f n (x) = x f n (x) = x 1 x n n f n(x) = [, 1] f n (x

C

ゲームエンジンの構成要素

18 C ( ) hello world.c 1 #include <stdio.h> 2 3 main() 4 { 5 printf("hello World\n"); 6 } [ ] [ ] #include <stdio.h> % cc hello_world.c %./a.o


新版明解C言語入門編

z f(z) f(z) x, y, u, v, r, θ r > 0 z = x + iy, f = u + iv C γ D f(z) f(z) D f(z) f(z) z, Rm z, z 1.1 z = x + iy = re iθ = r (cos θ + i sin θ) z = x iy

5.. z = f(x, y) y y = b f x x g(x) f(x, b) g x ( ) A = lim h 0 g(a + h) g(a) h g(x) a A = g (a) = f x (a, b)

08 p Boltzmann I P ( ) principle of equal probability P ( ) g ( )g ( 0 ) (4 89) (4 88) eq II 0 g ( 0 ) 0 eq Taylor eq (4 90) g P ( ) g ( ) g ( 0

ex01.dvi


I No. sin cos sine, cosine : trigonometric function π : π =.4 : n =, ±, ±, sin + nπ = sin cos + nπ = cos sin = sin : cos = cos :. sin. sin. sin + π si

1.1 ft t 2 ft = t 2 ft+ t = t+ t d t 2 t + t 2 t 2 = lim t 0 t = lim t 0 = lim t 0 t 2 + 2t t + t 2 t 2 t + t 2 t 2t t + t 2 t 2t + t = lim t 0

arctan 1 arctan arctan arctan π = = ( ) π = 4 = π = π = π = =



II Karel Švadlenka * [1] 1.1* 5 23 m d2 x dt 2 = cdx kx + mg dt. c, g, k, m 1.2* u = au + bv v = cu + dv v u a, b, c, d R

i

y π π O π x 9 s94.5 y dy dx. y = x + 3 y = x logx + 9 s9.6 z z x, z y. z = xy + y 3 z = sinx y 9 s x dx π x cos xdx 9 s93.8 a, fx = e x ax,. a =

36.fx82MS_Dtype_J-c_SA0311C.p65

S I. dy fx x fx y fx + C 3 C vt dy fx 4 x, y dy yt gt + Ct + C dt v e kt xt v e kt + C k x v k + C C xt v k 3 r r + dr e kt S Sr πr dt d v } dt k e kt

08-Note2-web

ex12.dvi

‚æ2›ñ C„¾„ê‡Ìš|

1 1.1 ( ). z = a + bi, a, b R 0 a, b 0 a 2 + b 2 0 z = a + bi = ( ) a 2 + b 2 a a 2 + b + b 2 a 2 + b i 2 r = a 2 + b 2 θ cos θ = a a 2 + b 2, sin θ =

[ ] 0.1 lim x 0 e 3x 1 x IC ( 11) ( s114901) 0.2 (1) y = e 2x (x 2 + 1) (2) y = x/(x 2 + 1) 0.3 dx (1) 1 4x 2 (2) e x sin 2xdx (3) sin 2 xdx ( 11) ( s

fuga scanf("%lf%*c",&fuga); 改行文字を読み捨てる 10 進数の整数 おまじない取り込んだ値を代入する変数 scanf( %d%*c,&hoge); キーボードから取り込め という命令 1: scanf 1 1: int double scanf %d %lf printf

18 ( ) I II III A B C(100 ) 1, 2, 3, 5 I II A B (100 ) 1, 2, 3 I II A B (80 ) 6 8 I II III A B C(80 ) 1 n (1 + x) n (1) n C 1 + n C

sin cos No. sine, cosine : trigonometric function π : π = 3.4 : n = 0, ±, ±, sin + nπ = sin cos + nπ = cos : parity sin = sin : odd cos = cos : even.

:30 12:00 I. I VI II. III. IV. a d V. VI

2009 I 2 II III 14, 15, α β α β l 0 l l l l γ (1) γ = αβ (2) α β n n cos 2k n n π sin 2k n π k=1 k=1 3. a 0, a 1,..., a n α a

I No. sin cos sine, cosine : trigonometric function π : π =.4 : n = 0, ±, ±, sin + nπ = sin cos + nπ = cos : parity sin = sin : odd cos = cos : even.

A/B (2018/10/19) Ver kurino/2018/soft/soft.html A/B

.5 z = a + b + c n.6 = a sin t y = b cos t dy d a e e b e + e c e e e + e 3 s36 3 a + y = a, b > b 3 s363.7 y = + 3 y = + 3 s364.8 cos a 3 s365.9 y =,

#define N1 N+1 double x[n1] =.5, 1., 2.; double hokan[n1] = 1.65, 2.72, 7.39 ; double xx[]=.2,.4,.6,.8,1.2,1.4,1.6,1.8; double lagrng(double xx); main

S I. dy fx x fx y fx + C 3 C dy fx 4 x, y dy v C xt y C v e kt k > xt yt gt [ v dt dt v e kt xt v e kt + C k x v + C C k xt v k 3 r r + dr e kt S dt d

Transcription:

P.S.P.T. C 2011 4 10

2 P.S.P.T. P.S.P.T. wiki p.s.p.t.since1982@gmail.com http://www23.atwiki.jp/pspt 26

3 2 1 C 8 1.1 C................................................ 8 1.1.1........................................... 8 1.1.2 C........................................... 8 1.1.3 printf()............................................. 9 1.1.4 C............................................ 10 1.1.5.......................................... 10 1.1.6................................................. 11 1.2......................................... 12 1.2.1......................................... 12 1.2.2............................................... 13 1.2.3 printf()............................................. 14 1.2.4............................................ 15 1.2.5 scanf()............................................. 17 1.2.6................................................. 18 1.3 C................................................ 19 1.3.1 math.h......................................... 19 1.4..................................... 22 1.4.1...................................... 22 1.4.2 if().............................................. 23 1.4.3................................................. 28 1.5................................................. 29 1.5.1................................... 29 1.5.2 for............................................. 30 1.5.3.............................................. 32 1.5.4 while........................................... 34 1.5.5 do while.......................................... 36 1.5.6 for while....................................... 37 1.5.7................................................. 38 1.6..................................................... 40 1.6.1 1.............................................. 40

4 1.6.2.............................................. 43 1.6.3................................................. 45 1.7.................................................. 46 1.7.1.................................... 47 1.7.2.................................... 54 1.7.3................................................. 55 2 56 2.1............................................ 57 2.1.1 (Bisection method)..................................... 57 2.1.2 (Newton s method)................................. 59..................................... 60 2.1.3................................................. 61 2.2............................................ 62 2.2.1 ( )..................................... 62 2.2.2............................................... 62 2.2.3 (Euler method).................................... 63 2.2.4 1.......................................... 64 2.2.5................................................. 66 2.2.6 2.......................................... 67............................................... 67 #define.............................. 68............................................... 71................................................ 72............................................... 72 2.2.7................................................. 74 A 75 A.1................................... 75 A.1.1............................................ 75 A.1.2........................................ 75 A.1.3................................................ 76 A.2.................................................. 76 A.2.1 printf().......................................... 76 A.2.2......................................... 77 A.2.3............................................... 77 A.2.4................................................ 77 B 78 B.1................................................. 78 B.2................................................... 78 B.2.1.............................................. 78 B.2.2 break continue........................................... 78

5 B.2.3 switch case............................................. 78 B.3.................................................. 78 B.3.1........................................... 78 B.3.2.......................................... 78 B.3.3............................................ 78 B.4 malloc -................................. 78 B.5 argv argc - main()...................................... 78 B.6............................................... 78 C 79 C.1................................................ 79 C.1.1.......................................... 79 C.2................................................. 79 C.2.1............................................... 79........................................... 79 C.2.2............................................... 79............................................... 79 C.3................................................. 79 C.3.1............................................... 79 C.4............................................ 79 C.4.1................................................ 79 C.5............................................... 79 C.6.................................................. 79 C.6.1................................................ 79 C.7............................................ 79 C.7.1 2............................................. 79 C.7.2.......................................... 79 D 80 D.1..................................................... 80 D.2..................................................... 80 D.3................................................... 80 81

6 1.1 C.......................................... 8 1.2 printf().............................................. 10 1.3................................................. 12 1.4............................................. 13 1.5 printf().............................................. 14 1.6..................................... 16 1.7.................................................. 17 1.8 scanf().............................................. 18 1.9 sin().................................................. 20 1.10 math.h............................................. 21 1.11 if................................................. 24 1.12 if................................................. 24 1.13 if else.................................................. 25 1.14 else if.................................................... 26 1.15 if................................................ 27 1.16 2........................................... 28 1.17...................................... 29 1.18 i++ ++i............................................ 30 1.19 for 1 10.................................... 31 1.20 for 2........................................ 32 1.21 for 1 10 ( )........................ 33 1.22 while 1 10.................................. 35 1.23 while 2....................................... 36 1.24 do while............................................ 37 1.25 for............................................. 38 1.26 while........................................... 38 1.27 1................................................. 40 1.28 1.................................... 41 1.29................................... 42 1.30..................................... 43 1.31 2 3 2.................................. 44 1.32.......................................... 48 1.33 1 n......................................... 49

7 1.34................................... 50 1.35..................................... 51 1.36 1...................................... 52 1.37 2........................ 53 1.38................................................ 55 2.1................................................... 58 2.2................................................ 60 2.3 1................................................ 65 2.4 2................................................ 66 2.5 2........................................ 68 2.6 2 2..................................... 70 2.7 2........................................ 71 2.8 2........................................ 72

8 1 C 1.1 C 1.1.1 C 1.1.2 C C (Language C) 1972 AT&T C C C 1.1 C 2 3 int main(void) 4 { 5 printf("hello, worldy=n"); 6 7 return 0; 8 }

1.1 C 9 hello, world #include<stdio.h> } 6 5 printf("hello, worldy=n"); \() () * 1 1.1.3 printf() C printf() (" ") printf() (argument) *2 printf() (" ") " ' Y= printf() printf( ); Y=n Y=t Y=" Y=' Y=Y= ( ) Y=0 ( ) *1 /( ) *2

10 1 C 1.2 printf() 2 3 int main(void) 4 { 5 printf(" Y=n Y=n"); 6 printf(" Y=t Y=n"); 7 8 return 0; 9 } printf return TAB A.1 1.1.4 C 1. 2. 3. 4. ; ( ) 5. /* */ // *3 1.1.5 *4 C 1. *3 // C++ C C++ *4

1.1 C 11 2. ( ) 3. binary *5 1.1.6 1 2 *5

12 1 C 1.2 1.2.1,.,,. ; int var int foo;, int foo, baa, boo; char 1 byte: -128 127 int 4 byte: -2,147,483,648 2,147,483,647 float 4 byte: 1.17549e-38 3.40282e+38 double 8 byte: 2.22507e-308 1.79769e+308 double int 1.3 2 3 int main(void) 4 { 5 int a; 6 double b; 7 char c; 8 9 return 0; 10 } 5,6,7

1.2 13 1.2.2, = ( ). =. = ; = double pi 3.141592 double pi = 3.141592; char *6 ( ). char c; c = A ; 1.3 1.4 2 3 int main(void) 4 { 5 int a; 6 double b; 7 char c; 8 9 a = 10; 10 b = 3.14; 11 c = A ; 12 13 return 0; 14 } 9-11 a, b, c ( ) ( 123abc, xyz ) int for C ( ) *6

14 1 C 1.2.3 printf() 1.1 () printf() printf(, ); %c %d 10 %f 10 %e %f %g %f %e %s 1.4 13-16 1.5 printf() 2 3 int main(void) 4 { 5 int a; 6 double b; 7 char c; 8 9 a = 10; 10 b = 3.14; 11 c = A ; 12 13 printf(" a %d Y=n", a); 14 printf(" b %f Y=n", b); 15 printf(" c %c Y=n", c); 16 printf("%c %d Y=n", c, c); 17 18 return 0; 19 }

1.2 15 a 10 b 3.140000 c A A 65 char (ASCII ) ASCII ( ) %d 1.2.4 C + - * / % (int ) * / % + - () =

16 1 C 1.6 2 int main(void) 3 { 4 int a; 5 6 a = 10; 7 printf("a %dy=n", a); 8 9 a = 9 * 6; 10 printf("a %dy=n", a); 11 12 a = a + 100; 13 printf("a %dy=n", a); 14 15 a = a + a * a; 16 printf("a %dy=n", a); 17 18 return 0; 19 } a 10 a 54 a 154 a 23870 100[m/s] 20[s] 8800[m/s] x = v 0 t + 1/2at 2

1.2 17 1.7 2 3 int main(void) 4 { 5 double a, v1, v2, t, x; 6 v1 = 100.0; 7 v2 = 8800.0; 8 t = 20.0; 9 10 a = (v2 - v1) / t; / a / 11 x = v1 * t + (1.0 / 2.0) * a * t * t; / x / 12 13 printf(" Y=t%f [m/s^2]y=n", a); 14 printf(" Y=t%f [m]y=n", x); 15 16 return 0; 17 } 435.000000 [m/s^2] 89000.000000 [m] 1.2.5 scanf() scanf() () printf() &( ) * 7 scanf(, & ); %c %d 10 %f %lf %s double printf() %f scanf() %lf *7 scanf(), &

18 1 C 1.8 scanf() 2 3 int main(void) 4 { 5 int a, b, c, d; 6 7 printf(" 2 Y=n"); 8 scanf("%d %d", &a, &b); 9 10 c = a + b; 11 printf(" %d Y=n", c); 12 printf(" %d Y=nY=n", a * b); 13 14 c = a / b; 15 d = a % b; 16 printf(" %d %d Y=n", c, d); 17 18 return 0; 19 } 2 10 3 13 30 3 1 1.2.6 3 1.7 scanf() () v1 v2 t 4 () () ( ) 180 = π[rad], 1 = π[rad]/180

1.3 C 19 1.3 C C 1 () printf() scanf() main() Windows UNIX OS OS 1.3.1 math.h #include <stdio.h> *8 printf() scanf() 2 stdio.h #include <math.h> math.h stdio.h math.h math.h double sin (double arg); arg[rad] double cos (double arg); arg[rad] double tan (double arg); arg[rad] double asin (double arg); arg 1 arg 1 double acos (double arg); arg 1 arg 1 double atan (double arg); arg double atan2 (double y, double x); y/x double sinh (double arg); arg double cosh (double arg); arg double tanh (double arg); arg double exp (double arg); e arg double log (double num); num 0 < num double log10 (double num); num 0 < num double pow (double base, double exp); base exp i.base > 0, ii.base = 0 exp > 0 iii.base < 0 exp = double sqrt (double num); num double fabs (double num); num double ceil (double num); num double floor (double num); num *8 stdio.h Standard I/O header I/O Input/Output ( )

20 1 C sin() double double printf() char int 1.9 sin() 2 #include <math.h> 3 int main(void) 4 { 5 double a; 6 7 a = 3.14159; 8 a = sin(a); 10 9 printf("sin (pi) %f Y=n", a); 11 a = 3.14159; 12 a = a / 2; 13 a = sin(a); 14 printf("sin (pi/2) %f Y=n", a); 15 16 return 0; 17 } sin (pi) sin (pi/2) 0.000003 1.000000

1.3 C 21 1.10 math.h 2 #include <math.h> 3 int main(void) 4 { 5 double a = 2.0; 6 7 printf("sin (pi/2) %f Y=n", sin(3.14159 / 2)); 8 printf(" %f %f Y=n", a, sqrt(a)); 9 printf(" %g %g Y=n", -a, fabs(-a)); 10 printf("2^10 %g Y=n", pow(2, 10)); 11 printf("e^1 %g Y=n", exp(1.0)); 12 printf("ln e %f Y=n", log(exp(1.0))); 13 14 return 0; 15 } sin (pi/2) 1.000000 2.000000 1.414214-2 2 2^10 e^1 1024 2.71828 ln e 1.000000

22 1 C 1.4 C A B 2 1.1 2 2 C 1.4.1 2 1 0 ( AND OR NOT)

1.4 23 > >= < <= ==!= && AND OR! NOT 100 < 200 1 'A' == 'B' 0 'A'!= 'B' 1 100 < 200 && 'A' == 'B' 0 100 < 200 'A' == 'B' 1!0 1!1 0!5 0 p q p&&q p q!p 0 0 0 0 1 0 1 0 1 1 1 1 1 1 0 1 0 0 1 0 1.4.2 if() if if ( ) { ; } 1 if ( ) ;

24 1 C 1.11 if 2 3 int main(void) 4 { 5 int a = 30; 6 7 if (a >= 20) { 8 printf("a 20 Y=n"); 9 } 10 11 printf(" Y=n"); 12 return 0; 13 } a 20 1.12 if 2 3 int main(void) 4 { 5 int a = 10; 6 7 if (a >= 20) { 8 printf("a 20 Y=n"); 9 } 10 11 printf(" Y=n"); 12 return 0; 13 }

1.4 25 else if ( ) { ; } else { ; } 1.13 if else 2 3 int main(void) 4 { 5 int a = 10; 6 7 if (a >= 20) { 8 printf("a 20 Y=n"); 9 } 10 else { 11 printf("a 19 Y=n"); 12 } 13 14 printf(" Y=n"); 15 return 0; 16 } a 19

26 1 C else if if( 1) { 1 ; } else if ( 2) { 1 2 ; } else if ( 3) { 1 2 3 ; } else { 1 3 ; } 1.14 else if 2 3 int main(void) 4 { 5 int a = 10; 6 7 if (a >= 20) { 8 printf("a 20 Y=n"); 9 } 10 else if (a >= 5) { 11 printf("a 10 20 Y=n"); 12 } 13 else { 14 printf("a 4 Y=n"); 15 } 16 17 printf(" Y=n"); 18 return 0; 19 } a 10 20

1.4 27 if ( 1) { if ( 2) { if ( 3) { 1 2 3 ; } } } 1.15 if 2 3 int main(void) 4 { 5 int a = 40; 6 7 if (a >= 20) { 8 printf("a 20 Y=n"); 9 10 if (a >= 30) { 11 printf("a 30 Y=n"); 12 } 13 else { 14 printf("a 20 30 Y=n"); 15 } 16 } 17 18 else { 19 printf("a 19 Y=n"); 20 } 21 22 printf(" Y=n"); 23 return 0; 24 } a 20 a 30

28 1 C C 2 C 1.16 2 2 3 int main(void) 4 { 5 double a, b, c, d; 6 7 printf("a b c Y=n"); 8 scanf("%lf %lf %lf", &a, &b, &c); 9 10 d = b * b - 4 * a * c; 11 printf("(%gx^2) + (%gx) + (%g) = 0 ", a, b, c); 12 13 if (d > 0) { 14 printf(" 2 Y=n"); 15 } 16 else if (d == 0) { 17 printf(" Y=n"); 18 } 19 else { 20 printf(" 2 Y=n"); 21 } 22 23 return 0; 24 } a b c 1 3 2 (1x^2) + (3x) + (2) = 0 2 1.4.3 5 6 1 100 3 Fizz 7 5 Buzz 3 5 FizzBuzz

1.5 29 1.5 ( ) if 1.5.1 C 1 1 i = i + 1; i = i - 1; i++; i--; ++ --C 1.17 2 int main(void) 3 { 4 int i = 10; 5 int j = 100; 6 7 i++; / / 8 printf("i = %dy=n", i); 9 10 j--; / / 11 printf("j = %dy=n", j); 12 13 return 0; 14 } i = 11 j = 99 ++i;

30 1 C --i; (ex i++) (ex ++i) i++ i-- 1.18 i++ ++i 2 int main(void) 3 { 4 int i, j; 5 6 i = 5; 7 j = i++; 8 printf("i=%d j=%dy=n", i, j); 9 10 i = 5; 11 j = ++i; 12 printf("i=%d j=%dy=n", i, j); 13 return 0; 14 } i=6 j=5 i=6 j=6 1.5.2 for for for (; ; ) { ; } 1 for (; ; ) ; 1 10 i a

1.5 31 1.19 for 1 10 2 3 int main(void) 4 { 5 int i; 6 int a = 0; 7 8 for (i = 0; i <= 10; i++) { 9 a = a + i; 10 printf("%d %dy=n", i, a); 11 } 12 13 return 0; 14 } 0 0 1 1 2 3 3 6 4 10 5 15 6 21 7 28 8 36 9 45 10 55 i = 0 i <= 16 for i 1 16

32 1 C 1.20 for 2 2 #include <math.h> 3 4 int main(void) 5 { 6 int n, An, Sn = 0; / n, An n, Sn n / 7 8 printf("ny=t2 n Y=t Y=n"); 9 for (n = 1; n <= 16; n++) { 10 An = pow(2,n); / 2 n / 11 Sn = Sn + An; 12 printf("%dy=t%dy=t%dy=n", n, An, Sn); 13 } 14 15 return 0; 16 } n 2 n 1 2 2 2 4 6 3 8 14 4 16 30 5 32 62 6 64 126 7 128 254 8 256 510 9 512 1022 10 1024 2046 11 2048 4094 12 4096 8190 13 8192 16382 14 16384 32766 15 32768 65534 16 65536 131070 1.5.3 1.20

1.5 33 Sn = Sn + An; Sn += An; = n 1 += n 2 n 1 -= n 2 n 1 *= n 2 n 1 /= n 2 n 1 %= n 2 n 1 + n 2 n 1 n 1 n 2 n 1 n 1 n 2 n 1 n 1 /n 2 n 1 n 1 /n 2 n 1 1 10 += 1.21 for 1 10 ( ) 2 3 int main(void) 4 { 5 int i; 6 int a = 0; 7 8 for (i = 0; i <= 10; i++) { 9 a += i; 10 printf("%d %dy=n", i, a); 11 } 12 13 return 0; 14 }

34 1 C 0 0 1 1 2 3 3 6 4 10 5 15 6 21 7 28 8 36 9 45 10 55 1.5.4 while for while while ( ) { ; } 1 while ( ) ; while 1 10

1.5 35 1.22 while 1 10 2 3 int main(void) 4 { 5 int i; 6 int a = 0; 7 8 i = 0; 9 while (i <= 10) { 10 a = a + i; 11 printf("%d %dy=n", i, a); 12 i++; 13 } 14 15 return 0; 16 } 0 0 1 1 2 3 3 6 4 10 5 15 6 21 7 28 8 36 9 45 10 55 for while 1.20 for 2 16 2 10,000 while

36 1 C 1.23 while 2 2 #include <math.h> 3 4 int main(void) 5 { 6 int n=0, An=0, Sn=0; / n, An n, Sn n / 7 8 printf("ny=t2 n Y=t Y=n"); 9 while (An < 10000) { 10 n++; 11 An = pow(2, n); / 2 n / 12 Sn += An; 13 printf("%dy=t%dy=t%dy=n", n, An, Sn); 14 } 15 printf("n = %d 10,000 Y=n", n); 16 17 return 0; 18 } n 2 n 1 2 2 2 4 6 3 8 14 4 16 30 5 32 62 6 64 126 7 128 254 8 256 510 9 512 1022 10 1024 2046 11 2048 4094 12 4096 8190 13 8192 16382 14 16384 32766 n = 14 10,000 1.5.5 do while while 1 do while 1

1.5 37 do { ; } while ( ) 1 do ; while ( ); 1.24 do while 2 int main(void) 3 { 4 int i = 1; 5 6 do { / 1 / 7 printf(" 1 i=%dy=n", i); 8 i++; 9 10 } while (i < 0); 11 12 do { / 1 / 13 printf(" 2 i=%dy=n", i); 14 i++; 15 } while (i < 5); 16 17 return 0; 18 } 1 i=1 2 i=2 2 i=3 2 i=4 1.5.6 for while for while for while

38 1 C 1.25 for 2 int main(void) 3 { 4 int i, n = 0; 5 6 for (i = 1; i < 11; i++) { / 1 10 / 7 n += i; 8 } 9 printf("%dy=n", n); 10 return 0; 11 } 55 1.26 while 2 int main(void) 3 { 4 char a; 5 6 printf("a Y=n"); 7 while ( a!= A ) { / A / 8 scanf("%c", &a); 9 } 10 11 return 0; 12 } A a b 1 B A 1.5.7 100 8 S = n n=1

1.5 39 9 1.20 pow() 10 e = 11 n=0 1 n! f(x) = x 2 f(x) 2 x 2 x 0.1

40 1 C 1.6 1.6.1 1 (Array) ( ) 1 [ ]; 100 int array int array[100]; double array001; double array002;... double array100; ( ) 0-1 100 0 99 array 3 100 array[2] = 100; 1.27 1 2 3 int main(void) 4 { 5 int a[4]; 6 7 a[0] = 0; 8 a[1] = 10; 9 a[2] = 20; 10 a[3] = 30; 11 12 printf("%d %d %d %dy=n", a[0], a[1], a[2], a[3]); 13 14 return 0; 15 }

1.6 41 0 10 20 30 int array[5] = {134, 12, 34, 4332, 243}; 1.28 1 2 3 int main(void) 4 { 5 int a[4] = {0, 10, 20, 30}; 6 7 printf("%d %d %d %dy=n", a[0], a[1], a[2], a[3]); 8 9 return 0; 10 } 0 10 20 30 for OS

42 1 C 1.29 2 3 int main(void) 4 { 5 int a1 = 5; 6 int a2 = 3; 7 int a3 = 8; 8 9 int b1 = 6; 10 int b2 = 9; 11 int b3 = 2; 12 13 int c1, c2, c3; 14 15 c1 = a1 + b1; 16 c2 = a2 + b2; 17 c3 = a3 + b3; 18 19 printf("%d + %d = %dy=n", a1, b1, c1); 20 printf("%d + %d = %dy=n", a2, b2, c2); 21 printf("%d + %d = %dy=n", a3, b3, c3); 22 23 return 0; 24 } 5 + 6 = 11 3 + 9 = 12 8 + 2 = 10

1.6 43 1.30 2 3 int main(void) 4 { 5 int a[3] = {5, 3, 8}; 6 int b[3] = {6, 9, 2}; 7 int c[3]; 8 int i; 9 10 for (i = 0; i < 3; i++) { 11 c[i] = a[i] + b[i]; 12 printf("%d + %d = %dy=n", a[i], b[i], c[i]); 13 } 14 15 return 0; 16 } 5 + 6 = 11 3 + 9 = 12 8 + 2 = 10 1.6.2 2 2 [ ][ ]; int 10 5 int array[10][5]; 3 int array[10][5][17]; 4 2 array [2][3] 100 array[2][3] = 100;

44 1 C 2 int array[3][2] = {{1, 2}, {3, 4}, {5, 6}}; 2 2 1 2 3 4 + 7 8 9 10 = 8 10 12 14 5 6 11 12 16 18 1.31 2 3 2 2 3 int main(void) 4 { 5 int i, j; 6 int matrixa[3][2] = { / 3 2A / 7 {1, 2}, 8 {3, 4}, 9 {5, 6} 10 }; 11 12 int matrixb[3][2] = { / 3 2B / 13 {7, 8}, 14 {9, 10}, 15 {11, 12} 16 }; 17 18 int matrixc[3][2]; / 3 2C / 19 20 for (i = 0; i < 3; i++) { / A + B C / 21 for (j = 0; j < 2; j++) { 22 matrixc[i][j] = matrixa[i][j] + matrixb[i][j]; 23 } 24 } 25 26 for (i = 0; i < 3; i++) { / C / 27 for (j = 0; j < 2; j++) { 28 printf("%dy=t", matrixc[i][j]); 29 } 30 printf("y=n"); 31 } 32 33 return 0; 34 }

1.6 45 8 10 12 14 16 18 1.6.3 12 13 3 3 3 A B AB : C A B C C ij k C ij = A in B nj = A i1 B 1j + + A ik B kj n=1 for 3 C ij

46 1 C 1.7 main() printf() scanf() sin() sqrt() C () 2, main() main() main() main() ( ) main() /* */ #include <stdio.h>... /* */ 1( 1, 2,..., N);... N( 1, 2,..., N); int main(void) {... return 0; } /* */ 1( 1, 2,..., N) {... return ; }

1.7 47... N( 1, 2,..., N) {... return ; } 1.7.1 main() 1. 2. 3. 4. main() void main() printf()

48 1 C 1.32 2 3 / / 4 5 void hello(void); 6 7 int main(void) 8 { 10 9 hello(); / / 11 return 0; 12 } 13 14 / / 15 void hello(void) 16 { 17 printf(" Y=n"); 18 } sum() 1

1.7 49 1.33 1 n 2 3 / / 4 5 int sum(int); 6 7 int main(void) 8 { 9 int n, m; 10 n = 100; 11 m = sum(n); / / 12 13 printf("%dy=n", m); 14 15 return 0; 16 } 17 18 / 1 n / 19 int sum(int n) 20 { 21 int i; 22 int l = 0; 23 24 for (i = 0; i <= n; i++) { 25 l += i; 26 } 27 28 return l; 29 } 5050 int double for()

50 1 C 1.34 2 3 double func(int n) 4 { 5 int i; 6 double x = 1.0; 7 8 for (i = 0; i <= n; i++) { 9 x = x / 2.0; 10 } 11 12 return x; 13 } 14 15 int main(void) 16 { 17 int n = 2; 18 double x; 19 20 x = func(n); 21 printf("1 / 2^%d = %fy=n", n, x); 22 23 return 0; 24 } 1 / 2^2 = 0.125000

1.7 51 1.35 2 3 int main(void) 4 { 5 int x, y, i; 6 7 x = 3; 8 y = 1; 9 for (i = 1; i < x; i++) { 10 y = y + y * i; 11 } 12 printf("%d %d Y=n", x, y); 13 14 x = 7; 15 y = 1; 16 for (i = 1; i < x; i++) { 17 y = y + y * i; 18 } 19 printf("%d %d Y=n", x, y); 20 21 return 0; 22 } 3 6 7 5040 for factorial() y = factorial(4) y 4! 24 factorial() 4 24

52 1 C 2 3 / / 4 int factorial(int n); 5 6 int main(void) 7 { 8 int x, y; 9 10 x = 3; 11 y = factorial(x); / / 12 printf("%d %d Y=n", x, y); 13 14 x = 7; 15 y = factorial(x); / / 16 printf("%d %d Y=n", x, y); 17 18 return 0; 19 } 20 21 / / 22 int factorial(int n) 23 { 24 int ans, i; 25 ans = 1; 26 27 for (i = 1; i < n; i++) { 28 ans = ans + ans * i; 29 } 30 31 return ans; / ans / 32 } 1.36 1 3 6 7 5040 factorial() n int *9 main() int x factorial() int y factorial() int n x 3 n int ans *9 factorial() int

1.7 53 return ans; ans main() int main(void) OS(MS Windows Linux ) OS int return 0; OS 0 C main() main() main() 1.37 2 2 3 / / 4 int factorial(int n) 5 { 6 int ans, i; 7 ans = 1; 8 9 for (i = 1; i < n; i++) { 10 ans = ans + ans * i; 11 } 12 13 return ans; / ans / 14 } 15 16 int main(void) 17 { 18 int x, y; 19 20 x = 3; 21 y = factorial(x); / / 22 printf("%d %d Y=n", x, y); 23 24 x = 7; 25 y = factorial(x); / / 26 printf("%d %d Y=n", x, y); 27 28 return 0; 29 }

54 1 C 3 6 7 5040 1.7.2 main() return * 10 main() x C (call by value) * 11 main() func x, y *10 *11

1.7 55 1.38 2 3 double func(double x); 4 5 int main(void) 6 { 7 double x, y; 8 x = 1.0; 9 y = 2.0; 10 11 printf("in mainy=tx = %f y = %fy=n", x, y); 12 y = func(x); 13 printf("in mainy=tx = %f y = %fy=n", x, y); 14 15 return 0; 16 } 17 18 double func(double x) 19 { 20 double y; 21 x = 3.0; 22 y = 4.0; 23 printf("in funcy=tx = %f y = %fy=n", x, y); 24 return x; 25 } in main x = 1.000000 y = 2.000000 in func x = 3.000000 y = 4.000000 in main x = 1.000000 y = 3.000000 x x = 3.0 main() x 1.0 1.7.3 14 2 n pow2() pow2(8) 256 15 a n powan(3, 4) 81 16 3 3 a, b, c s = 1 2 (a + b + c) S S = s(s a)(s b)(s c)

56 2 x t x(t) t t = 0 () t t x(t) t = a x(a) 2 LU ()

2.1 57 2.1 y = f(x) x x = α f(α) = 0 x = α f(x) = 0 α ( ) (Bisection method) (Newton s method) 2.1.1 (Bisection method) 1 f(x) 2 ε( ) f(x) 2 a, b(a < b) f(a) < 0, f(b) > 0 (f(a) > 0, f(b) < 0 f(x) f(x) ) 1. a b 2. a b c 3. f(c) > 0 c, b c a 4. f(c) < 0 a, c c b 5. f(c) > ε 2 f(c) ε c x 2 2 = 0

58 2 2.1 2 #include <math.h> 3 4 int main(void) 5 { 6 double a = 0.0, b = 10.0, c, fc, eps; 7 int i = 0; 8 eps = 0.0001; / ( ) / 9 10 c = (a + b) / 2; 11 fc = c * c - 2; / / 12 13 printf("iy=tay=ty=tcy=ty=tby=ty=tfcy=n"); 14 15 while (fabs(fc) > eps) { 16 printf("%dy=t%fy=t%fy=t%fy=t%fy=n", i, a, c, b, fc); 17 18 if (fc > 0) b = c; 19 else a = c; 20 21 c = (a + b) / 2; 22 fc = c * c - 2; 23 24 i++; 25 } 26 27 printf("%dy=t%fy=t%fy=t%fy=t%fy=n", i, a, c, b, fc); 28 return 0; 29 }

2.1 59 i a c b fc 0 0.000000 5.000000 10.000000 23.000000 1 0.000000 2.500000 5.000000 4.250000 2 0.000000 1.250000 2.500000-0.437500 3 1.250000 1.875000 2.500000 1.515625 4 1.250000 1.562500 1.875000 0.441406 5 1.250000 1.406250 1.562500-0.022461 6 1.406250 1.484375 1.562500 0.203369 7 1.406250 1.445312 1.484375 0.088928 8 1.406250 1.425781 1.445312 0.032852 9 1.406250 1.416016 1.425781 0.005100 10 1.406250 1.411133 1.416016-0.008704 11 1.411133 1.413574 1.416016-0.001808 12 1.413574 1.414795 1.416016 0.001645 13 1.413574 1.414185 1.414795-0.000082 2.2 2.1 2.1.2 (Newton s method) x k+1 = x k f(x k) f (x k ) (2.1) x = lim k x k = α f(x k ) ε x k x 2 2 = 0

60 2 2.2 2 #include <math.h> 3 4 int main(void) 5 { 6 double x, eps; 7 int i = 0; 8 x = 10.0; / x0 / 9 eps = 0.0001; / ( ) / 10 11 12 printf("iy=txy=ty=tfxy=n"); 13 14 / f(x) 0 / 15 while (fabs(x * x - 2) > eps) { 16 printf("%dy=t%fy=t%fy=n", i, x, x * x - 2); 17 x = x - (x * x - 2) / (2 * x); / / 18 i++; 19 20 } 21 22 printf("%dy=t%fy=t%fy=n", i, x, x * x - 2); 23 return 0; 24 } i x fx 0 10.000000 98.000000 1 5.100000 24.010000 2 2.746078 5.540947 3 1.737195 1.017846 4 1.444238 0.085824 5 1.414526 0.000883 6 1.414214 0.000000 x 0 (2.2) y = f(x) x x = α α x = x 0 f(x) f(x) x x 1 x = lim k x k = α (2.1)

2.1 61 (2.1) f(x) (Taylor expansion) f(x) x = α f(x) = n=0 f (n) (α) n! (x α) n = f(α) + f (α)(x α) + f (α) 2! (x α) 2 + + f (n) (α) (x α) n n! f(x) = 0 x x = x 0 x = x 0 f(x 1 ) = 0 x 1 (2.2) f(x) = f(x 0 ) + f (x 0 )(x x 0 ) (2.2) f(x 1 ) = f(x 0 ) + f (x 0 )(x 1 x 0 ) = 0 (2.3) x 1 = x 0 f(x 0) f (x 0 ) (2.4) x 1 x 2 (2.4) x 0 x 1 x 1 x 2 f(x 2 ) = f(x 1 ) + f (x 1 )(x 2 x 1 ) = 0 (2.5) x 2 = x 1 f(x 1) f (x 1 ) (2.6) (2.1) (2.4) f(x) = 0 f(x) 2.1.3 17 18 x + log x = 0 x 3 2x + 2 = 0 x 0 = 1.0

62 2 2.2 2.2.1 ( ) ( ) 2 x(t) t x t x F,m m d2 x(t) dt 2 = F (2.7) a F = ma (2.7) 2 d 2 x(t) dt 2 = a (2.8) dx(t) dt = at + C 1 (2.9) x(t) = 1 2 at2 + C 1 t + C 2 (2.10) ( ) C 1, C 2 1 (2.10) C 1 v 0 C 2 x 0 x(t) t (2.7) 2 (2.7) dx(t) dt dv(t) dt 1 = v(t) (2.11) = a (2.12) 2.2.2 t x t 0 t n t x x n t x x t dx dt ( t = 0.01) x

2.2 63 (2.10) d 2 θ(t) dt 2 = g sin θ(t) (2.13) l sin θ *1 sin θ θ ( ) g θ(t) = θ 0 sin l t + δ (2.14) t θ(t) *2 t (Euler method) 2.2.3 (Euler method) x k+1 = x k + hf(x k, t k ) (2.15) 1 dx dt = f(x(t), t) (2.16) t x t = t 0, t 1, t 2,, t k,, t n x x = x 0, x 1, x 2,, x k,, x n t t h ( t = h = t k+1 t k ) (2.16) dx dt t=tk x t t=tk = x k+1 x k h (2.17) (2.16) (2.17) x k+1 = x k + hf(x k, t k ) (2.18) x t ( ) f(x k, t k ) h t k x k ( ) h x(k + 1) *1 *2 θ 0 δ

64 2 (2.3) x k, t k h x k+1 x k (k = 0 x 0 ) x k+1 x k+1 x(t) k lim h 0 h 1 4 2.3 2.2.4 1 dx = t x(0) = 0 t = 5 dt

2.2 65 2 3 int main(void) 4 { 5 double x, t, h, t last; 6 x = 0; 7 t = 0; 8 h = 0.01; 9 t last = 5.0; 10 11 printf("#ty=txy=n"); 12 while (t <= t last) { 13 x = x + h * (t); / / 14 printf("%fy=t%fy=n", t, x); 15 t = t + h; 16 } 17 printf("%fy=t%fy=n", t, x); 18 return 0; 19 } 2.3 1 #t x 0.000000 0.000000 0.010000 0.000100... 5.000000 12.525000 5.010000 12.525000 dx = x(t) x(0) = 1 t = 5 dt

66 2 2 3 int main(void) 4 { 5 double x, t, h, t last; 6 x = 1; 7 t = 0; 8 h = 0.01; 9 t last = 5.0; 10 11 printf("#ty=txy=n"); 12 while (t <= t last) { 13 x = x + h * (x); / / 14 printf("%fy=t%fy=n", t, x); 15 t = t + h; 16 } 17 printf("%fy=t%fy=n", t, x); 18 return 0; 19 } 2.4 2 #t x 0.000000 1.010000 0.010000 1.020100... 5.000000 146.220500 5.010000 146.220500 2.2.5 19 20 21 dx = cos(t) x(0) = 1 t = 7 dt dx = x cos(t) x(0) = 1 t = 7 dt

2.2 67 2.2.6 2 2 1 1 d 2 x(t) dt 2 = f(x(t), t) (2.19) 2 dx(t) dt dg(x(t), t) dt = g(x(t), t) (2.20) = f(x(t), t) (2.21) g x y d 2 y(t) dt 2 = g (2.22) 1 dy(t) dt dv y (t) dt = v y (t) (2.23) = g (2.24)

68 2 2.5 2 2 3 int main(void) 4 { 5 double t, y, vy; 6 double h, t last; 7 10 8 h = 0.1; 9 t last = 10.0; 11 / / 12 t = 0.0; 13 y = 0.0; 14 vy = 0.0; 15 16 while (t < t last) { 17 printf("%fy=t%fy=t%fy=n", t, y, vy); 18 y = y + h * (vy); / / 19 vy = vy + h * (-9.8); / / 20 t = t + h; 21 } 22 return 0; 23 } 2.4 t y t v 2.5 x y #define

2.2 69 #define #define g 9.8 g 9.8 #define #define #define g 9.8

70 2 2 #define G 9.8 3 4 double f(double a); 5 double g(double v); 6 7 int main(void) 8 { 9 double t, y, vy; 10 double h, t last; 11 12 h = 0.1; 13 t last = 10.0; 14 15 / / 16 t = 0.0; 17 y = 0.0; 18 vy = 0.0; 19 20 while (t < t last) { 2.6 2 2 21 printf("%fy=t%fy=t%fy=n", t, y, vy); 22 y = y + h * g(vy); / / 23 vy = vy + h * f(-g); / / 24 t = t + h; 25 } 26 return 0; 27 } 28 29 double f(double a) 30 { 31 return a; 32 } 33 34 double g(double v) 35 { 36 return v; 37 }

2.2 71 1 2 x x x 1 d 2 x(t) dt 2 = 0 (2.25) dx(t) dt = v x (t) (2.26) dv x dt = 0 (2.27) 2.7 2 2 #define G 9.8 3 4 double f(double a); 5 double g(double v); 6 7 int main(void) 8 { 9 double t, x, y, vx, vy; 10 double h, t last; 11 12 h = 0.1; 13 t last = 10.0; 14 15 / / 16 t = 0.0; 17 x = 0.0; 18 y = 0.0; 19 vx = 1.0; 20 vy = 50.0; 21 22 while (t < t last) { 23 printf("%fy=t%fy=t%fy=n", t, x, y); 24 25 / x / 26 x = x + h * g(vx); 27 vx = vx + h * f(0); 28 29 / y / 30 y = y + h * g(vy); 31 vy = vy + h * f(-g); 32 33 t = t + h;

72 2 34 } 35 return 0; 36 } 37 38 double f(double a) 39 { 40 return a; 41 } 42 43 double g(double v) 44 { 45 return v; 46 } k d 2 x(t) dt 2 = kx(t) (2.28) 1 θ l g d 2 θ(t) dt 2 = g sin θ(t) (2.29) l 2 dv θ (t) dt dθ(t) dt 2 #include <math.h> 3 #define G 9.8 4 #define L 1.0 5 = v θ (t) (2.30) = g sin θ(t) (2.31) l 2.8 2 2.6

2.2 73 6 / / 7 double f(double theta); 8 double g(double vtheta); 9 10 / x y / 11 double x(double theta); 12 double y(double vtheta); 13 14 int main(void) 15 { 16 double t, theta, vtheta; 17 double h, t last; 18 19 h = 0.1; 20 t last = 10.0; 21 22 / / 23 t = 0.0; 24 theta = 1.0; 25 vtheta = 0.0; 26 27 while (t < t last) { 28 printf("%fy=t%fy=t%fy=t%fy=t%fy=n", t, theta, vtheta, x(theta), y(theta)); 29 30 theta = theta + h * g(vtheta); / g(v )dt / 31 vtheta = vtheta + h * f(theta); / v f( )dt / 32 33 t = t + h; 34 } 35 return 0; 36 } 37 38 / / 39 double f(double theta) 40 { 41 return -G / L * sin(theta); 42 } 43 44 double g(double vtheta) 45 { 46 return vtheta; 47 } 48 49 / x y / 50 double x(double theta) 51 { 52 return L * sin(theta); 53 }

74 2 54 55 double y(double theta) 56 { 57 return L - L * cos(theta); 58 } 2.7 t θ 2.8 x y 2.2.7 22 23

75 A A.1 A.1.1 _ for i j k i j k l m n A.1.2 ( ) 4 8 { ( ) } { for (...), while (...), if (...), switch (...), case (...)

76 A printf(...), scanf(...), sin(...), etc... x + y, x * y, x == y, etc... &x, *x, ++i, i++, etc..., A.1.3 goto 3 Linux *1 A.2 ( ) 3. / 2. 1.5 3 / 2 0 A.2.1 printf() printf() *1 http://archive.linux.or.jp/jf/jfdocs/kernel-docs-2.6/codingstyle.html

A.2 77 A.2.2 printf() / #define DEBUG #ifdef DEBUG printf(...); #endif DEBUG #ifdef DEBUG endif DEBUG #ifdef #endif #define DEBUG / A.2.3 () 1 ( ) Borland C++ Turbo Debuger GCC GDB Visual Studio A.2.4 A.1 *2 & *2

78 B B.1 B.2 B.2.1 B.2.2 B.2.3 break continue switch case B.3 B.3.1 B.3.2 B.3.3 B.4 malloc - B.5 argv argc - main() B.6

79 C C.1 C.1.1 C.2 C.2.1 C.2.2 C.3 C.3.1 C.4 C.4.1 C.5 C.6 C.6.1 C.7 C.7.1 C.7.2 2

80 D D.1 D.2 D.3

81 [1]. 2008, [2] B.W. D.M.. C 2. 2004,. [3] Herbert Schildt. C 4. 2007,. [4]. ANSI C C 3. 1994,. [5]. C. 2008, [6]. 8. 1989, [7] FORTRAN77. 1997, [8]. 1 (I). 1982,. [9]. C. 1991, [10] C http://www.math.meiji.ac.jp/ mk/labo/studying-c/programing-in-c/programing-in-c.html [11] Wikipedia http://ja.wikipedia.org