0 0.1 ANSI-C 0.2 web http://www1.doshisha.ac.jp/ kibuki/programming/resume p.html 0.3 2012 1 9/28 0 [ 01] 2 10/5 1 C 2 3 10/12 10 1 2 [ 02] 4 10/19 3 5 10/26 3 [ 03] 6 11/2 3 [ 04] 7 11/9 8 11/16 4 9 11/30 4 [ 05] 10 12/7 6 11 12/14 6 [ 06] 12 12/21 [ 07] 13 1/11 [ 08] 14 1/18 9 [ 09] 15 1/25 [ 10] 0.4 kmizoha@mail.doshisha.ac.jp kataoka@mech.eng.osaka-u.ac.jp yyasaka@mail.doshisha.ac.jp 0.5 (Windows)
USB 0.6 https://duet.doshisha.ac.jp/info/index.jsp 2 ID TA DUET 24:00 DUET XXX -YY.c ( ) XXX -YY.txt() XXX ID 3 YY 01-10 ID 5 () #define StudentID 23105 #define Author "Taro Tanaka" #include <stdio.h> int main(void) { } 2
1 Microsoft Visual C++ Micrsoft Visual Studio Visual C++ 1 Web USB 1.1 Borland Japan Web Borland C++ Compiler 5.5 BCC 1.1.1 1. URL http://www1.doshisha.ac.jp/~kibuki/programming/soft/index.html 2. borland.lzh USB H:Y= 3. H:Y= borland.lzh 4. H:Y=borland USB (100 MB ) 1.1.2 PC 1. URL http://www.codegear.com/jp/downloads/free/cppbuilder 2. Web Borland C++Compiler / Turbo Debugger freecommandlinetools2.exe USB H:Y= 3. freecommandlinetools2.exe USB (100 MB ) H:Y= freecommandlinetools2.exe H:Y=borlandY=bcc55 H 1.2 CPad Web 3
1.2.1 1. URL http://www1.doshisha.ac.jp/~kibuki/programming/soft/index.html 2. USB H:Y= 3. H:Y= bcpad231.lzh 4. H:Y=bcpad231 1.2.2 1. URL http://hp.vector.co.jp/authors/va017148/pages/cpad.html 2. CPad & C/C++ CPad for Borland C++Compiler Version 2.31 bcpad231.lzh USB 3. bcpad231.lzh 1.2.3 1. H:Y=bcpad231 bcpad231.exe H:Y= bcpad231.exe BCPad 2. OK 3. (W) (F)H:Y= borland bcc55 bin bcc32.exe 4. OK 4
5.H:Y=programming 6. OK 1.3 1.3.1 H:Y= C:Y= 1.3.2 USB freecommandlinetools2.exe bcpad231.lzh web freecommandlinetools2.exe USB D:Y= D:Y=bcpad231 C:Y= C:Y=bcpad231 bcpad231.lzh 1.3.3 bcpad231.lzh http://www.vector.co.jp/ 1.4 USB JM-303 JM-303 USB H:Y= USB H:Y= USB 1.4.1 USB USB H:Y= BCpad H:Y=bcpad231 C H:Y=borland H:Y=programming JM-303 USB F:Y= USB 5
F:Y= USB C:Y= 1.4.2 BCPad 1. 2. H:Y=bcpad231Y=bcpad.exe F:Y=bcpad231Y=bcpad.exe 3. H:Y=bcpad231 F:Y=bcpad231 4. OK 5. BCPad PCPad 1. F:Y=bcpad231 bcpad.exe BCPad 1.4.3 1. OK 2. (W) (F)F:Y= borland bcc55 bin bcc32.exe 3. OK 4. 6
5. 6. (D) (K) F:Y= programming OK 7. OK 1.4.4 3 F:Y= H:Y= 7
2 ( 0 ) p. 7 0 1 0 1 hello,world /* */ #define StudentID 23105 #define Author "Taro Tanaka" #include <stdio.h> int main(void) { unsigned int i, n; printf("input data: "); scanf("%d",&n); for(i=0;i<n;i++) { printf("hello, world\n"); } return 0; } 1. CPad CPad 2. C (\) Y= EOF End Of File list0 1.c.c list0 1.cpp 3. & make list0 1.exe 4. 8
list0 1.exe make & DOS-prompt Enterhello, world Press any key to exit (Input "c" to continue) c DOS-prompt 9
5. DOS-prompt & DOS-prompt 10
3 C ( 1 ) 4 ( 2 ) 4.1 ( 2.1 2.2 ) 4.2 ( 2.3 ) 4.3 ( 10.2.5 ) C sin(x) sin x x cos(x) cos x x tan(x) tan x x asin(x) sin 1 x x 1 < x < 1 acos(x) cos 1 x x 1 < x < 1 atan(x) tan 1 x exp(x) e x log(x) e ln x (log e x) x x > 0 log10(x) 10 log x (log 10 x) x x > 0 sqrt(x) x x x 0 pow(x,y) x y fabs(x) x ceil(x) x floor(x) x x, y double double x, y double double #include <stdio.h> #include <math.h> math.h include 11
(degree) sin x/ cos x tan x #include <stdio.h> #include <math.h> int main(void) { float deg, rad, pai=3.141592; float sc, t; printf("input angle in degree: "); scanf("%f", °); rad = deg / 180.0 * pai; sc = sin(rad) / cos(rad); t = tan(rad); printf("angle in radian is %f\n", rad); printf(" sin/cos = %f\n tan = %f\n", sc, t); } return 0; 12
4-1. V = 2.50 m 3 1 mol T P Pa R = 8.31 J K 1 mol 1 T = 298.15 K ( 4-2. 1 mol van der Waals P + a ) V 2 (V b) = RT 1 mol P V T R = 8.31 J K 1 mol 1 a = 2.283 10 1 m 6 Pa mol 2, b = 4.278 10 5 m 3 mol 1 P = 1.50 10 6 Pa, V = 3.0 10 3 m 3 4-3. A B k A c 0 t A c c = c 0 e kt c 0 = 5.00 mol dm 3, k = 1.53 10 1 s 1 t c t = 65.2 s 4-4. T V 1 V 2 w w = RT ln(v 2 /V 1 ) R = 8.31 J K 1 mol 1 T T = 298.15 K V 1 V 2 w V 1 = 1.50 m 3, V 2 = 7.80 m 3 4-5. k Arrhenius k = A exp( E a /RT ) A E a R = 8.31 J K 1 mol 1 T T 1 k 1 T 2 k 2 T 1, k 1 T 2, k 2 A E a T 1 = 273.15 K k 1 = 3.15 10 2 dm 3 mol 1 s 1, T 2 = 373.15 K k 2 = 4.56 10 1 dm 3 mol 1 s 1 4-6. m, n a m*a/n m/n*a m, n cast float 4-7. n m n, m 2 n = 561, m = 53 13
5 ( 3.1 ) 5-1. n 5-2. 1868 1912 1926 1989 1 1 1867 1900 1925 1950 5-3. (1), (2) (1) 4 100 (2) 400 n 5-4. 100 0.7 a 15 n 10 b = 20 b = 2n 15 m c = m 5 x = a + b + c 100 0 x < 60 F 60 x < 70 D 70 x < 80 C 80 x < 90 B 90 x 100 A x m < 10 F x (A, B, C, D, F ) 5-5. 3 a, b, c S S = w(w a)(w b)(w c) w = a + b + c 2 a, b, c 5-6. () 50 g 220 260 300 50 g 50 g 110 140 180 14
1, 2, 3 5-7. ax 2 + bx + c = 0 3 a, b, c a = 0 a 0 a 0 a = 0 b = 0 5 (a = 3, b = 4, c = 4) (a = 5, b = 2, c = 10) (a = 1, b = 6, c = 9) (a = 6, b = 15, c = 50) (a = 1, b = 1, c = 6) 15
6 ( 3.2 ) 6-1. r, s, t n = 7 n r = n j=1 j n j + 1, s = j=1 2j 1, t = 3j n j=1 2j j 2 + 1 6-2. u, v, w n = 7 n u = n ( 1) j+1 j, v = j=1 n ( ) 2j 1 ( 1) j+1 j 3, w = + 1 j=1 n j=1 ( 1 ) j 1 2 6-3. Clausius-Clapeyron 50 C 100 C 5 C R = 8.31 J K 1 mol 1, H = 40.65 kj mol 1, T 0 = 373.15 K, P 0 = 1.01325 10 5 Pa ( ) P ln = H R P 0 ( 1 T 1 T 0 6-4. 3 % 2000 100 1 1 2000 1.03 100 = 1960 6-5. 0.01 mol dm 3 25 cm 3 0.01 mol dm 3 0 cm 3 50 cm 3 1 cm 3 ph K w 1.01 10 14 mol 2 dm 6 6-6. K a 1.7 10 5 mol dm 3 mol dm 3 1.00 10 1, 1.00 10 2, 1.00 10 3,, 1.00 10 9, 1.00 10 10 α 6-7. m n m > n m = m n, m < n n = n m m = n m n 6-8. m n p p p = mn f f m, n f 6-7 6-9. x 0.0 1.0 0.1 e x e x = 1 + x + x2 2! + = 16 j=0 ) x j j!
e x = j=0 a j a j = x j a j 1, j 1 a j 1.0 10 6 6-10. 17
7 ( 4 ) 7-1. 6-1 (p. 16) n r, s, t rcalc(n), scalc(n), tcalc(n) main float 7-2. 6-2 (p. 16) n u, v, w ucalc(n), vcalc(n), wcalc(n) main float 7-3. 6-9 (p. 16) e x Taylor myexp(x) main exp(x) myexp(x) x 0.0 1.0 0.1 float 7-4. sin x Taylor sin x = x x3 3! + x5 5! + sin x = j=1 a j a 1 = x x 2 a j+1 = 2j(2j + 1) a j, j 1 sin x mysin(x) float sin(x) mysin(x) main x 0.0 1.0 0.1 7-5. cos x Taylor cos x = 1 x2 2! + x4 4! + cos x = j=1 a j a 1 = 1 x 2 a j+1 = 2j(2j 1) a j, j 1 cos x mycos(x) float cos(x) mycos(x) main x 0.0 1.0 0.1 18
8 ( 6 ) 8-1. n 2 n int furui[1001]; n 1000 furui[i] i m = 2 furui[i] m furui[i] m = 3 n furui[i] m furui[i] furui[i] 8-2. 100 int iransu[101]; 100 A=12367, B=57, M=467 iransu[1]=7 iransu[i+1]=(a * iransu[i] + B) % M % 8-3. n m A 2 A t A 8-4. 1 2 1 300 σ 2 2 σ = x 2 x 2, x 2 = 1 n n x 2 i, i=1 x = 1 n n i=1 x i 8-5. 8-4 h i h i = 50.0 + 10.0 (x i x ) σ 8-6. 1 n 2 x i y i n, x i, y i x i y i (1 i n) x i y i a b S x 2 a = i yi x i xi y i n x 2 i ( x i ) 2 b = n y i x i x i yi n x 2 i ( x i ) 2 S = n (a + bx i y i ) 2 i=1 19
8-7. x, y, (n), (m) 1 A (m, n) 2 A 11 A 12 A 1n x 1 A 21 A 22 A 2n x 2 y 1 y 2 = y A m1 A m2 A mn x m n y i = j A ij x j 8-8. A, B, C (n, l), (l, m), (n, m) 2 A 11 A 1l A 21 A 2l A n1 A nl B 11 B 1m B 21 B 2m B l1 B lm = C 11 C 1m C 21 C 2m C n1 C nm C ij = k A ik B kj 8-9. A ij (i = 1, 2,, m, j = 1, 2,, n) 39 85 88 32 81 20 14 16 49 40 10 54 24 68 26 99 85 81 24 73 3 48 28 24 67 18 77 57 68 23 56 44 62 43 56 54 16 51 69 38 79 89 37 59 94 11 75 26 G i, g i, R j, r j, T, t G i = R j = T = m n A ij, g i = G i /n j=1 m A ij, r j = R j /n i=1 i=1 j=1 n A ij, t = T/(mn) i\j 1 2 n 1 A 11 A 12 A 1n G 1 g 1 2 A 21 A 22 A 2n G 2 g 2......... m A m1 A m2 A mn G m g m R 1 R 2 R n T r 1 r 2 r n t 20
9 x 0 x n h (n + 1) f(x 0 ), f(x 1 ),, f(x n ) I = xn x 0 f(x)dx (1) 9.1 f(x i ) f(x i+1 ) J i = h 2 (f(x i) + f(x i+1 )) (2) f(x) I = xn n 1 f(x)dx = J i (3) x 0 i=0 ( ) I = h n 1 f(x 0 ) + 2 f(x i ) + f(x n ) 2 i=1 9.2 f(x i 1 ), f(x i ), f(x i+1 ) 3 2 n f(x) = ax 2 + bx + c (5) (4) f(x) x i 2xi 1 x i x i+2 x x i 3 x i+1 x i+3 xi+1 K i = f(x)dx x i 1 xi+1 = (ax 2 + bx + c)dx = x i 1 [ a 3 x3 + b ] xi+1 2 x2 + cx x i 1 (6) x i 1 = x i h x i+1 = x i + h x i 2xi 1 xi x i+2 x x i+1 x i+3 i 2j + 1 x i 3 K i = a ( (xn + h) 3 (x n h) 3) + b ( (xn + h) 2 (x n h) 2) 3 2 +c ((x n + h) (x n h)) = 2a 3 (hx2 i + h 3 ) + bhx i + 2ch = h 3 (6ax2 i + 2ah 2 + 6bx i + 6c) (7) f(x i 1 ) = a(x i h) 2 + b(x i h) + c (8) f(x i ) = ax 2 i + bx i + c (9) f(x i+1 ) = a(x i + h) 2 + b(x i + h) + c (10) f(x i 1 ) + 4f(x i ) + f(x i+1 ) = 6ax 2 i + 2ah 2 + 6bx i + 6c (11) 21
(7) 3 K i K i = h 3 (f(x i 1) + 4f(x i ) + f(x i+1 )) (12) I = xn x 0 f(x)dx = (n/2) 1 j=0 K 2j+1 (13) K i (12) (13) I = h n/2 (n/2) 1 f(x 0 ) + 4 f(x 2k 1 ) + 2 f(x 2k ) + f(x n ) (14) 3 k=1 4 2 k=1 9-1. n = 200 π 0 sin x dx 9-2. n = 200 9-3. π 2 0 π 0 cos x dx 4 x2 dx = π n = 100 π 9-4. 9-3 n π 6 n 9-5. π 1 0 4 1 + x 2 dx = π n = 100 π 9-6. 9-5 n π 6 n 9-7. 6 0 e x dx 9-8. 6 e x2 0 dx 22
10 p-v -T 10.1 f(x) = 0 (15) 1. f(a 0 ) f(b 0 ) a 0 b 0 f(a 0 )f(b 0 ) < 0 (16) 2. a 0 b 0 c 0 3. i = 1 4. c 0 = a 0 + b 0 2 (17) f(a i 1 ) f(c i 1 ) f(a i 1 )f(c i 1 ) < 0 a i 1 c i 1 a i = a i 1 b i = c i 1 f(a i 1 ) f(c i 1 ) f(a i 1 )f(c i 1 ) > 0 y b 1 b 2 b 0 c 1 a 2 a 1 c 0 a 0 f(x) f(c i 1 ) f(b i 1 ) f(c i 1 )f(b i 1 ) < 0 a i = c i 1 x b i = b i 1 5. a i b i c i c i = a i + b i 2 6. 2 i 1 (4) δ ε (18) f(c i ) < δ (19) a i b i < ε (20) 10.2 f(x) f (x) 23
1. x 0 2. i = 1 3. x = x i 1 f(x) x x i y x 1 x 2 x 0 f(x) y = f (x i 1 )(x x i 1 ) + f(x i 1 ) (21) x i x x i = x i 1 f(x i 1) f (x i 1 ) (22) 4. i 1 (3) f(x i ) = δ (23) 10-1. a 0 = 0, b 0 = 3 δ = 10 6, ε = 10 6 f(x) = 5x 3 7x 2 + x 9 = 0 10-2. Newton x 0 = 3 δ = 10 6 f(x) = 5x 3 7x 2 + x 9 = 0 10-3. a 0 = 6, b 0 = 9 δ = 10 6, ε = 10 6 f(x) = x sin x 2 + x 9 = 0 10-4. Newton x 0 = 6 δ = 10 6 f(x) = x sin x 2 + x 9 = 0 10-5. 5 < x < 15 3 δ = 10 6, ε = 10 6 f(x) = x sin x 2 + x 9 = 0 10-6. Newton 5 < x < 15 3 δ = 10 6 f(x) = x sin x 2 + x 9 = 0 24
11 ( 9 ) 9 (p. 207) 11.1 #include <stdio.h> int main(void) { float a, b, c; FILE *fp; /* */ printf("input a: "); scanf("%f", &a); printf("input b: "); scanf("%f", &b); c = a + b; printf("a + b = %f\n",c); fp = fopen("abc.dat","w"); /* */ fprintf(fp,"a = %f\n",a); /* */ fprintf(fp,"b = %f\n",b); fprintf(fp,"a + b = %f\n",c); fclose(fp); /* */ } return 0; [ ] input a: 1.2 input b: 2.3 a + b = 3.500000 [ ] a = 1.200000 b = 2.300000 a + b = 3.500000 25
BCPad File programming (*.*) abc.dat FILE *fp; fp fp * fp FILE FILE stdio.h #include <stdio.h> p. 206 fp = fopen("abc.dat","w") "abc.dat" "w" "w" H:\programming A: fp = fopen("a:\abc.dat","w") fp fprintf(fp,"a = %f\n",a); printf fprintf printf "a = %f\n" fp printf fclose(fp); "w" 11.2 #include <stdio.h> int main(void) { float a, b, c; FILE *fp1, *fp2; fp1 = fopen("input.dat","r"); fscanf(fp1,"%f", &a); 26
fscanf(fp1,"%f", &b); fclose(fp1); c = a + b; printf("a = %10.5f\nb = %10.5f\n",a,b); printf("a + b = %10.5f\n",c); fp2 = fopen("results.dat","w"); fprintf(fp2,"a = %10.5f\nb = %10.5f\n",a,b); fprintf(fp2,"a + b = %10.5f\n",c); fclose(fp2); } return 0; BCPad File 1.2 2.3 File input.dat.dat results.dat a = 1.20000 b = 2.30000 a + b = 3.50000 FILE *fp1, *fp2; 2 2 fp1 = fopen("input.dat","r"); "r" 27
H:\programming fp1 fp1 NULL fscanf(fp1,"%f", &a); fscanf(fp1,"%f", &b); scanf fscanf scanf "%f" fp1 scanf input.dat fclose(fp1); fopen fclose 28
12 3 n 12.1 n a[0] a[n-1] a[0] a[j-1] n j-1 a[j] a[n-1] a[j] j j=0 n-2 n j=0 n-2 j 1 1. mini=a[j]; mnum=j 2. i=j+1 n-1 i 1 a[i] < mini mini=a[i]; mnum=i a[i] mini i 3. a[j] a[mnum] a[0] a[j] 4. j 12.2 n a[0] a[n-1] 2 n j=0 n-2 j 1 1. i=0 n-2-j i 1 a[i] > a[i+1] a[i] a[i+1] a[i] a[i+1] i 2. i=n-2-j a[n-2-j] a[n-1] 3. j 12.3 n a[0] a[n-1] a[0] a[j-1] j 29
a[j] j=1 n-1 n j=1 n-1 j 1 1. dummy=a[j] 2. i=[j-1] 0 i 1 a[i] dummy a[i+1]=a[i] a[i]=dummy i a[i] < dummy a[0] a[j] i 3. j 12-1. n sort-1.dat 12-2. n sort-2.dat 12-3. n sort-3.dat 12-4. n sort-4.dat 12-5. n sort-5.dat 12-6. n sort-6.dat 12-7. a[2][n] n a[0][0] a[0][n-1] a[1][0] a[1][n-1] 30
01 2012.09.30 p. 8 0 1 xxxxxxxx-01.cpp xxxxxxxx-01.c xxxxxxxx ID 8 2 /* 01 */ /* xxxxxxxx */ xxxxxxxx ID /* */ ID TA p. 2 DUET 2012 10 4 DUET DUET
02 2012.10.14 p. 13 4-4 xxxxxxxx-02.cpp xxxxxxxx-02.c xxxxxxxx ID 8 2 /* 02 */ /* xxxxxxxx */ xxxxxxxx ID /* */ ID TA p. 2 DUET 2012 10 18 4-7 xxxxxxxx-02t.c xxxxxxxx-02t.cpp xxxxxxxx ID 8 p. 2 DUET 2012 10 15
03 2012.10.28 p. 14 5-3 xxxxxxxx-03.cpp xxxxxxxx-03.c xxxxxxxx ID 8 2 /* 03 */ /* xxxxxxxx */ xxxxxxxx ID /* */ ID TA p. 2 DUET 2012 11 1 5-7 xxxxxxxx-03t.c xxxxxxxx-03t.cpp xxxxxxxx ID 8 p. 2 DUET 2012 10 29
04 2012.11.04 p. 16 6-1 xxxxxxxx-04.cpp xxxxxxxx-04.c xxxxxxxx ID 8 2 /* 04 */ /* xxxxxxxx */ xxxxxxxx ID /* */ ID TA p. 2 DUET 2012 11 8 6-10 xxxxxxxx-04t.c xxxxxxxx-04t.cpp xxxxxxxx ID 8 p. 2 DUET 2012 11 5
05 2012.11.25 p. 18 7-1 xxxxxxxx-05.cpp xxxxxxxx-05.c xxxxxxxx ID 8 2 /* 05 */ /* xxxxxxxx */ xxxxxxxx ID /* */ ID TA p. 2 DUET 2012 11 30 7-4 xxxxxxxx-05t.c xxxxxxxx-05t.cpp xxxxxxxx ID 8 p. 2 DUET 2012 11 26
06 2012.12.09 p. 19 8-2 xxxxxxxx-06.cpp xxxxxxxx-06.c xxxxxxxx ID 8 2 /* 06 */ /* xxxxxxxx */ xxxxxxxx ID /* */ ID TA p. 2 DUET 2012 12 13 8-1 xxxxxxxx-06t.c xxxxxxxx-06t.cpp xxxxxxxx ID 8 p. 2 DUET 2012 12 10
07 2012.12.16 p. 22 9-3 xxxxxxxx-07.cpp xxxxxxxx-07.c xxxxxxxx ID 8 2 /* 07 */ /* xxxxxxxx */ xxxxxxxx ID /* */ ID TA p. 2 DUET 2012 12 20 9-8 xxxxxxxx-07t.c xxxxxxxx-07t.cpp xxxxxxxx ID 8 p. 2 DUET 2012 12 17
08 2013.01.06 a 0 = 6, b 0 = 9 δ = 10 6, ε = 10 6 f(x) = x sin x 2 + x 9 = 0 xxxxxxxx-08.cpp xxxxxxxx-08.c xxxxxxxx ID 8 2 /* 08 */ /* xxxxxxxx */ xxxxxxxx ID /* */ ID TA p. 2 DUET 2013 1 10 Newton x 0 = 6 δ = 10 6 f(x) = x sin x 2 + x 9 = 0 xxxxxxxx-08t.c xxxxxxxx-08t.cpp xxxxxxxx ID 8 p. 2 DUET 2013 1 7
09 2013.01.13 p. 19 8-4 Web kadai09.dat USB heikin.dat http://www1.doshisha.ac.jp/~kibuki/index.html 14 (kadai09.dat) USB xxxxxxxx-09.cpp xxxxxxxx-09.c xxxxxxxx ID 8 2 /* 09 */ /* xxxxxxxx */ xxxxxxxx ID /* */ ID TA p. 2 DUET 2013 1 17 8-3 xxxxxxxx-09t.c xxxxxxxx-09t.cpp xxxxxxxx ID 8 p. 2 DUET 2013 1 14 A gyoretsu.dat A = 1 2 3 4 5 6 7 8 9 0 0 9 8 7 6 5 4 3 2 1 2 4 6 8 1
10 2013.01.20 p. 30 12-3 Web kadai10.dat 100 USB http://www1.doshisha.ac.jp/~kibuki/index.html 15 (kadai10.dat) USB xxxxxxxx-10.cpp xxxxxxxx-10.c xxxxxxxx ID 8 2 /* 10 */ /* xxxxxxxx */ xxxxxxxx ID /* */ ID TA p. 2 DUET 2013 1 24 12-2 xxxxxxxx-10t.c xxxxxxxx-10t.cpp xxxxxxxx ID 8 p. 2 DUET 2013 1 21