第一篇:24点速算游戏训练题库
24点速算游戏训练题库
1)1118(1+1+1)*8 2)1126(1+1+2)*6 3)1127(1+2)*(1+7)4)1128(1+1*2)*8 5)1129(1+2)*(9-1)6)1134 4*(1+1)*3 7)1135(1+3)*(1+5)8)1136(1+1*3)*6 9)1137 3*(1+1*7)10)1138(1-1+3)*8 11)1139(1+1)*(3+9)12)1144 4*(1+1+4)13)1145 4*(1+1*5)14)1146(1-1+4)*6 15)1147 1*4*(7-1)16)1148(1+1)*(4+8)17)1149(4-1)*(9-1)18)1155(5-1)*(1+5)19)1156(1*5-1)*6 20)1157(1+1)*(5+7)21)1158(5-(1+1))*8 22)1166(1+1)*(6+6)23)1168 6/(1+1)*8 24)1169 6+(1+1)*9 25)1188 8+(1+1)*8 26)1224 4*2*(1+2)27)1225(2+2)*(1+5)
28)1226(1+2)*(2+6)29)1227(2+2)*(7-1)30)1228(2-1+2)*8 31)1229 2*(1+2+9)32)1233 3*2*(1+3)33)1234 4*(1+2+3)34)1235(1+2)*(3+5)35)1236 3*(1*2+6)36)1237 1+2+3*7 37)1238 2*(1+3+8)38)1239 1*2*(3+9)39)1244(1+2)*(4+4)40)1245 4*(2-1+5)41)1246(2-1)*4*6 42)1247 2*(1+4+7)43)1248 1*2*(4+8)44)1249 4+2*(1+9)45)1255 1+5*5-2 46)1256(1+5-2)*6 47)1257 1*2*(5+7)48)1258(1+5)/2*8 49)1259 9+(1+2)*5 50)1266 6+(1+2)*6 51)1267(1+7)/2*6 52)1268 1*6/2*8 53)1269 6+1*2*9 54)1277(7*7-1)/2 55)1278 1+7+2*8 56)1279 1+9+2*7 57)1288 8+1*2*8 58)1289 9+2*8-1 59)1333(1+3)*(3+3)60)1334 4*(1*3+3)61)1335 1*3*(3+5)62)1336 3+3*(1+6)63)1337 1*3+3*7 64)1338 3*(1+8)-3 65)1339(1+3)*(9-3)66)1344 1*3*(4+4)67)1345 1+3+4*5 68)1346f 6/(1-3/4)69)1347(1+3)*7-4 70)1348 8+(1+3)*4 71)1349 1+3*9-4 72)1356 1+5+3*6 73)1357(7-3)*(1+5)74)1358 1+8+3*5 75)1359 9+1*3*5 76)1366 6+1*3*6 77)1367(7-3)*1*6 78)1368(1+6/3)*8 79)1369 3*(1+9)-6 80)1377(7-3)*(7-1)81)1378(7-(1+3))*8 82)1379(1+7)*9/3 83)1388(1+3)*8-8 84)1389 1*8*9/3 85)1399(9-1)*9/3 86)1444 4+4*(1+4)87)1445 1*4+4*5 88)1446 4*(1+6)-4 89)1447 1+7+4*4 90)1448 8+1*4*4 91)1449 4*(1+9-4)92)1455 4+(5-1)*5 93)1456f 4/(1-5/6)
94)1457 1+4*7-5 95)1458(8-4)*(1+5)96)1459 9+(4-1)*5 97)1466(1+4)*6-6 98)1467(1+7-4)*6 99)1468(1+6-4)*8 100)1469(9-(1+4))*6 101)1477(7-4)*(1+7)102)1478 4*(1+7)-8 103)1479(7-4)*(9-1)104)1488 1*4*8-8 105)1489 1+4*8-9 106)1555f(5-1/5)*5 107)1556 5*(1+5)-6 108)1559(9-5)*(1+5)109)1566 1*5*6-6 110)1567 1+5*6-7 111)1568(1+8-5)*6 112)1569(9-5)*1*6 113)1578(1+7-5)*8 114)1579(9-5)*(7-1)115)1588(1*8-5)*8 116)1589(8-5)*(9-1)117)1599 9+1+5+9 118)1666(6-1)*6-6 119)1668f 6/(1-6/8)120)1669(1+9-6)*6 121)1679(9-6)*(1+7)122)1688(1+8-6)*8 123)1689 9+1+6+8 124)1699 9+1*6+9 125)1779 9+7+1+7 126)1788 8+1+7+8 127)1789 9+1*7+8 128)1799 9+7-1+9 129)1888 8+1*8+8 130)1889 9+8-1+8 131)2223 3*2*(2+2)132)2224 4*(2+2+2)133)2225 2*(2+2*5)134)2227 2*(2*7-2)135)2228(2/2+2)*8 136)2229 2+2*(2+9)137)2233(2+2)*(3+3)138)2234 3*(2+2+4)139)2235 3*(2*5-2)140)2236 2*(2*3+6)141)2237 2*(2+3+7)142)2238 2+2*(3+8)143)2239(2+2)*(9-3)144)2244 2*(4+2*4)145)2245 2+2+4*5 146)2246(2-2+4)*6 147)2247 2+2*(4+7)
148)2248 8+(2+2)*4 149)2249 2+4+2*9 150)2255 2*(5+2+5)151)2256 2+2*(5+6)152)2257 2*5+2*7 153)2258 2*(5+8)-2 154)2259 2*(5-2+9)155)2266(2+6)/2*6 156)2267 6+2*(2+7)157)2268 8+2*(2+6)158)2269 2*(2*9-6)159)2277 2*(7-2+7)160)2278 2+8+2*7 161)2288(2+2)*8-8 162)2289 8+2*9-2 163)2333 3*(3+2+3)164)2335 2*(3*5-3)165)2336 2*(3+3+6)166)2337(7-3)*2*3 167)2338(3/3+2)*8 168)2339 9+3*(2+3)169)2344 4+4*(2+3)170)2345 2*(5+3+4)171)2346 2+4+3*6 172)2347 4+2*(3+7)173)2348(8-4)*2*3 174)2349 2*4*9/3 175)2355 2+5*5-3 176)2356 5*2*3-6 177)2357 2+7+3*5 178)2358 8+2*(3+5)179)2359 2+3*9-5 180)2366(2+3)*6-6 181)2367 3*(2*7-6)182)2368 3*(2+8)-6 183)2369 9+3+2*6 184)2377 7+3+2*7 185)2378(2+7)/3*8 186)2379 2*(3*7-9)187)2388 3*(2*8-8)188)2389 8/2*(9-3)189)2399 9+2*3+9 190)2444 2*(4+4+4)191)2445 4*(2+5)-4 192)2446 2+6+4*4 193)2447(7-4)*2*4 194)2448(4/4+2)*8 195)2449 4*(9-2)-4 196)2455 4+2*(5+5)197)2456 5*(2+4)-6 198)2457(4-2)*(5+7)199)2458(2*4-5)*8 200)2459(9-5)*(2+4)201)2466(2+6-4)*6 202)2467 2+4*7-6 203)2468 4*(2+6)-8 204)2469(9-6)*2*4 205)2477 2*(7+7)-4 206)2478 4*(2*7-8)207)2479 9+7+2*4 208)2488 8+2*4+8 209)2489(9-(2+4))*8 210)2499 9+2+4+9 211)2557 5+5+2*7 212)2558(5/5+2)*8 213)2559 9+5+2*5 214)2566(2*5-6)*6 215)2567 7+5+2*6 216)2568 2+5*6-8 217)2569 9+5*6/2 218)2577 7+7+2*5 219)2578(2*5-7)*8 220)2579 5*7-(2+9)221)2588 5*8-2*8 222)2589 9+2+5+8 223)2666 6+6+2*6 224)2667(6+6*7)/2 225)2668(6/6+2)*8 226)2669(9-6)*(2+6)227)2678(2+7-6)*8 228)2679 9+7+2+6 229)2688 8+2+6+8 230)2689(2*6-9)*8 231)2699 2*(9-6+9)232)2778 8+7+2+7 233)2788(2+8-7)*8 234)2789 2*(7+9)-8 235)2888(8/8+2)*8 236)2889(2+9-8)*8 237)2899(9/9+2)*8 238)3333 3*3*3-3 239)3334 3+3*(3+4)240)3335 3*3+3*5 241)3336 3+3+3*6 242)3337 3*(3/3+7)243)3338(3+3-3)*8 244)3339 3*(9-3/3)245)3344 3*(3*4-4)246)3345 4*(3/3+5)247)3346(3-3+4)*6 248)3347 3*(4-3+7)249)3348(8-4)*(3+3)250)3349 3+9+3*4 251)3355 5*5-3/3 252)3356 3+6+3*5 253)3357 3*(3*5-7)254)3359(9-5)*(3+3)255)3366 3*(6/3+6)256)3367 3*(3+7)-6 257)3368(3*3-6)*8 258)3369 9+6+3*3 259)3377f(3/7+3)*7 260)3378 8+7+3*3 261)3379 3+7*9/3 262)3388f 8/(3-8/3)263)3389 3*(3+8)-9 264)3399 9+3+3+9 265)3444 4*(3+4)-4 266)3445 3+5+4*4 267)3446(4/4+3)*6
268)3447 3*(4/4+7)269)3448(3+4-4)*8 270)3449 3*(9-4/4)271)3455 5+4+3*5 272)3456(3+5-4)*6 273)3457 7+5+3*4 274)3458 4*(3+5)-8 275)3459 3*(4+9-5)276)3466 6+6+3*4 277)3468(3*4-8)*6 278)3469 4*(3+9-6)279)3477 3+4*7-7 280)3478 8+(7-3)*4 281)3479 3*(4+7)-9 282)3489 9+3+4+8 283)3499 9+3*(9-4)284)3556(5/5+3)*6 285)3557 3*(5/5+7)286)3558(3+5-5)*8 287)3559 3*(9-5/5)288)3566(3+6-5)*6 289)3567 3*(6-5+7)290)3568 3*(6-5)*8 291)3569 3+5*6-9 292)3578 8+3*7-5 293)3579 9+7+3+5 294)3588 8+3+5+8 295)3589 5+3*9-8 296)3599 9+5*9/3 297)3666(6/6+3)*6 298)3667 3*(6/6+7)299)3668(3+6-6)*8 300)3669 9+6+3+6 301)3677 3*(7-6+7)302)3678 8+7+3+6 303)3679 3*(6+9-7)304)3688(8/8+3)*6 305)3689(3+9-8)*6 306)3699 6+3*9-9 307)3777 7+7+3+7 308)3778(3+7-7)*8 309)3779 3*(9-7/7)310)3788 3*(8/8+7)311)3789 3*(7+9-8)312)3799 3*(9/9+7)313)3888(3+8-8)*8 314)3889(9-8)*3*8 315)3899 9+3*8-9 316)3999 3*(9-9/9)317)4444 4+4+4*4 318)4445 4*(4/4+5)319)4446(4+4-4)*6 320)4447(7-4)*(4+4)321)4448 4*(4+4)-8 322)4449 4+4*(9-4)323)4455 4*(5-4+5)324)4456 4*(5-4)*6 325)4457 4*(4+7-5)326)4458(4+4-5)*8 327)4468 4*(4+8-6)328)4469(9-6)*(4+4)329)4477f(4-4/7)*7 330)4478 4+4*7-8 331)4479 9+7+4+4 332)4488 8+4+4+8 333)4489 4*9-(4+8)334)4555 4+5*5-5 335)4556(4+5-5)*6 336)4557 4*(7-5/5)337)4558(4-5/5)*8 338)4559 9+4*5-5 339)4566 4*(6/6+5)340)4567 4*(5+7-6)341)4568(4+5-6)*8 342)4569 9+6+4+5 343)4577 4*(7/7+5)344)4578 8+7+4+5 345)4579 5+4*7-9 346)4588 4*(8/8+5)347)4589 4*(5+9-8)348)4599 4*(9/9+5)349)4666(4+6-6)*6 350)4667(7-6)*4*6 351)4668 8+6+4+6 352)4669 4*9-(6+6)353)4677 7+7+4+6 354)4678(4+6-7)*8 355)4679(7+9)/4*6 356)4688 8+4*6-8 357)4689(9-8)*4*6 358)4699 9+4*6-9 359)4777 4*(7-7/7)360)4778(4-7/7)*8 361)4788(4+7-8)*8 362)4789 4*(7+8-9)363)4799 4*(7-9/9)364)4888(4-8/8)*8 365)4889(4+8-9)*8 366)4899(4-9/9)*8 367)5555 5*5-5/5 368)5556 5+5*5-6 369)5559 9+5+5+5 370)5566(5+5-6)*6 371)5567 6+5*5-7 372)5568 8+6+5+5 373)5577 7+7+5+5 374)5578(5+5-7)*8 375)5588 5*5-8/8 376)5589 8+5*5-9 377)5599 5*5-9/9 378)5666(5-6/6)*6 379)5667 7+6+5+6 380)5668 6+(8-5)*6 381)5669 6*9-5*6 382)5677(5-7/7)*6 383)5678(5+7-8)*6 384)5679 6+(7-5)*9 223)224Q 2*(2+4)+Q 224)224K 2+2*K-4 225)225T T+2*(2+5)226)225J(2+2)*(J-5)227)225Q 2+2*5+Q 228)226T 2+T+2*6 229)226J 6+2*(J-2)230)226Q(2+2)*(Q-6)231)226K 2*(2+K)-6 232)227T 2*(T/2+7)233)227Q 2*7-2+Q 234)227K 2+2+7+K 235)228T 2*(2*T-8)236)228Q 2+2+8+Q 237)229T T+2*(9-2)238)229J J+2+2+9 239)229Q(2+2)*9-Q 240)22TT T+2+2+T 241)22TJ 2*(2*J-T)242)22TK 2/2+T+K 243)22JJf(2/J+2)*J
244)22JQ 2/2+J+Q 245)22JK 2-2+J+K 246)22QQ 2-2+Q+Q 247)22QK Q-2/2+K 248)22KKf(2-2/K)*K 249)233T 3*(3+T/2)250)233J 2*(3/3+J)251)233Q(2+3-3)*Q 252)233K 2+3*3+K 253)234T 2+T+3*4 254)234J 2*(3+J)-4 255)234Q(2*3-4)*Q 256)234K 2*(3+K-4)257)235T 2*(5-3+T)258)235J 2+(5-3)*J 259)235Qf Q/(3-5/2)260)235K 5+2*3+K 261)236T(T-6)*2*3 262)236J 2+6/3*J 263)236Q 2*3+6+Q 264)236K 2+3+6+K 265)237T(2+7*T)/3 266)237J(2+3)*7-J 267)237Q 2+3+7+Q 268)237K 2*7-3+K 269)238T T+2*3+8 270)238J J+2+3+8 271)238Q 2*(3*8-Q)272)238K 2*(3+K)-8 273)239T T+2+3+9 274)239Q 2*(9-3)+Q 275)239K(K-9)*2*3 276)23TT T+2*(T-3)277)23TQ 3*(2+T)-Q 278)23TK 3-2+T+K 279)23JJ 2+3*J-J 280)23JQ 3-2+J+Q 281)23JK(3-2)*J+K 282)23QQ(3-2)*Q+Q 283)23QK 2+Q-3+K 284)23KK 3*K-(2+K)285)244T 2*(4+T)-4 286)244J 2*(4/4+J)287)244Q(2+4-4)*Q 288)244K 2*(K-4/4)289)245T T+4+2*5 290)245J J+5+2*4 291)245Q 2*(5-4)*Q 292)245K 5+2+4+K 293)246T T+6+2*4 294)246J 2*(4+J)-6 295)246Q 2+4+6+Q 296)246K 4+2*K-6 297)247T(T-7)*2*4 298)247J J+2+4+7 299)247Q 4*(2+7)-Q 300)248T T+2+4+8 301)248J(J-8)*2*4 302)248Q(Q-8)*(2+4)303)248K 2*K-8/4 304)249T T+2*9-4 305)249Q(Q-9)*2*4 306)249K(K-9)*(2+4)307)24TTf(4/T+2)*T 308)24TJ T+2*(J-4)309)24TQ 2*(T-4)+Q 310)24TK 2*(4+K)-T 311)24JJ J+4-2+J 312)24JQ 4*(J-2)-Q 313)24QQ 4*Q-2*Q 314)24KK 2+K-4+K 315)255Tf(5-2/T)*5 316)255J 5*(2+5)-J 317)255Q 5+2+5+Q 318)255K 2*(5*5-K)319)256T 2*(5+T)-6 320)256J J+6+2+5 321)256Q 2*(6-5)*Q 322)256K 2*(5+K-6)323)257T T+2+5+7 324)257J 2+(7-5)*J 325)257K 2+5*7-K 326)258T(8-5)*(T-2)327)258J 2*(5+J)-8 328)258Q(2*5-8)*Q 329)258K 2*8-5+K 330)259T 9+2*T-5 331)259J J+2*9-5 332)259Q 5-2+9+Q 333)25TT 2*(T/5+T)334)25TJ 2+T/5*J 335)25TQ 2*(5+Q)-T 336)25TK 2*K-T/5 337)25JQ 2*(J-5)+Q 338)25QQ(5-2)*Q-Q 339)25QK 2*(5+K)-Q 340)266T T+6+2+6 341)266J 2*(6/6+J)342)266Q(2+6-6)*Q 343)266K 2*(K-6/6)344)267T(T-7)*(2+6)345)267J 2*(7-6+J)346)267Q 2*(7-6)*Q 347)267K 2*(6+K-7)348)268T 2*(6+T)-8 349)268J(J-8)*(2+6)350)268Q(2*8-Q)*6 351)268K 6+2*K-8 352)269T(9-T/2)*6 353)269J(J-9)*2*6 354)269Q(Q-9)*(2+6)355)26TT T+2*T-6 356)26TJ 2*(6+J)-T 357)26TQ(2*6-T)*Q 358)26TK(K-T)*(2+6)359)26JQ 2+J*Q/6 360)26JK(K-J)*2*6 361)26QQ 2*(6+Q)-Q 362)26QK 2*K-Q/6 363)277Tf(T/7+2)*7 364)277J 2*(7/7+J)365)277Q(2+7-7)*Q 366)277K 2*(K-7/7)367)278J(2*7-J)*8 368)278Q 2*(8-7)*Q 369)278K 2*(7+K-8)370)279T 2*(9-7+T)371)279J 2+(9-7)*J 372)279K 2*9-7+K 373)27TT 2*(7+T)-T 374)27TJ J+2*T-7 375)27TQ 7+T/2+Q 376)27JQ 2*(7+J)-Q 377)27QQ(2*7-Q)*Q 378)27QK 2*(K-7)+Q 379)288T T+8-2+8 380)288J 2*(8/8+J)381)288Q(2+8-8)*Q 382)288K(2*8-K)*8 383)289T 2*(8+9)-T 384)289J 2*(9-8+J)385)289Q 2*(9-8)*Q 386)289K 2*(8+K-9)387)28TT 2*(T-8+T)388)28TJ 2+(T-8)*J 389)28TQ 2*(8+T)-Q 390)28TK 8+2*K-T 391)28JJ(J/J+2)*8 392)28JQ(2+Q-J)*8 393)28QQ(Q/Q+2)*8 394)28QK(2+K-Q)*8 395)28KK(K/K+2)*8 396)299J 2*(9/9+J)397)299Q(2+9-9)*Q 398)299K 2*(K-9/9)399)29TT 9+T/2+T 400)29TJ 2*(T-9+J)401)29TQ 2*(T-9)*Q 402)29TK 2*(9+K-T)403)29JJ 2+(J-9)*J 404)29JK 9+2*K-J 405)29QK(K-9)*Q/2 406)29KK(9+K)/2+K 407)2TTJ 2*(T/T+J)408)2TTQ(2+T-T)*Q 409)2TTK 2*(K-T/T)410)2TJJ 2*(J-T+J)411)2TJQ 2*J-T+Q 412)2TJK(K-J)*(2+T)413)2TQK T+2*K-Q 414)2JJJ 2*(J/J+J)415)2JJQ(2+J-J)*Q 416)2JJK 2*J-J+K 417)2JQQ 2*(Q/Q+J)
418)2JQK 2*(J+K-Q)419)2JKK 2*(K/K+J)420)2QQQ(2+Q-Q)*Q 421)2QQK(K-Q)*2*Q 422)2QKK K+2*Q-K 423)2KKK 2*(K-K/K)424)333T 3+3*(T-3)425)333J 3*J-3*3 426)333Q 3+3*3+Q 427)334J J+4+3*3 428)334Q(3+3-4)*Q 429)334K 3*(K-4)-3 430)335T T+5+3*3 431)335Q 3+3*(Q-5)432)335K 5+3+3+K 433)336T 3*(3*6-T)434)336J 3*(3+J-6)435)336Q 3+3+6+Q 436)336K 3+3*(K-6)437)337J J+3+3+7 438)337Q(3*3-7)*Q 439)337K 3*(3*7-K)440)338T T+3+3+8 441)338Q(Q-8)*(3+3)442)338K 3*(3+K-8)443)339T 3+3*T-9 444)339J 3*(J-9/3)445)339Q 3*(3+9)-Q 446)339K(K-9)*(3+3)447)33TK 3/3+T+K 448)33JQ 3+3*J-Q 449)33JK 3-3+J+K 450)33QQ 3-3+Q+Q 451)33QK 3*K-(3+Q)452)344T 4*(T-3)-4 453)344J J+4*4-3 454)344Q(3-4/4)*Q 455)344K 4+3+4+K 456)345T T*3*4/5 457)345J 5*(3+4)-J 458)345Q 5+3+4+Q 459)345K 3*5-4+K 460)346T 3*(4+T-6)461)346J J+6+3+4 462)346Q 3*4/6*Q 463)346K(3+K)/4*6 464)347T T+3+4+7 465)347J 3*(4+J-7)466)347Q 3+7*Q/4 467)348T(T-8)*3*4 468)348J 3+4*8-J 469)348Q 3*(4+8)-Q 470)348K(K-4)/3*8 471)349J(J-9)*3*4 472)349Q 3*9-Q/4 473)349K 3*(4+K-9)474)34TT 4+3*T-T 475)34TQ(3*4-T)*Q 476)34TK 4*(3+K-T)477)34JQ 3*(J-Q/4)478)34JK(K-J)*3*4 479)34QQ(4-3)*Q+Q 480)34QK 3+Q-4+K 481)355J J+5+3+5 482)355Q(3-5/5)*Q 483)356T T+6+3+5 484)356J(3*5-J)*6 485)356Q(3+5-6)*Q 486)356K(6-3)*(K-5)487)357T(T-7)*(3+5)488)357J(7-3)*(J-5)489)357Q 3*(5+7)-Q 490)357K(7+5*K)/3 491)358J(J-8)*(3+5)492)358Q(3*5-Q)*8 493)358K 5*8-(3+K)494)359T T*(3+9)/5 495)359Q(Q-9)*(3+5)496)359K(3+9*K)/5 497)35TT 3*(T-T/5)498)35TJ 5+3*T-J 499)35TQ 5-3+T+Q 500)35TK(K-T)*(3+5)501)35JJ J+5-3+J 502)35JQ(J-5)/3*Q 503)35QQ 5*Q-3*Q 504)35QK(3*5-K)*Q 505)35KK 3+K-5+K 506)366T(6-3)*T-6 507)366J(6+6*J)/3 508)366Q(3-6/6)*Q 509)366K(K-(3+6))*6 510)367T T+6/3*7 511)367Q(3+6-7)*Q 512)367K 3*6-7+K 513)368T 3*(6+T-8)514)368Q(8-Q/3)*6 515)368K 6-3+8+K 516)369T(3+T-9)*6 517)369J 3*(6+J-9)518)369Q 3*6/9*Q 519)369K 3*K-(6+9)520)36TT(T/T+3)*6 521)36TJ(3+J-T)*6 522)36TQ 3*(6+Q-T)523)36JJ(J/J+3)*6 524)36JQ(3+Q-J)*6 525)36JK 3*(6+K-J)
526)36QQ(Q/Q+3)*6 527)36QK(3+K-Q)*6 528)36KK(K/K+3)*6 529)377T T+3*7-7 530)377Q(3-7/7)*Q 531)377K 7-3+7+K 532)378J J+3*7-8 533)378Q(3+7-8)*Q 534)378K 3*K-(7+8)535)379T 3*(7+T-9)536)379J J+7-3+9 537)379Q 3*7-9+Q 538)379K 7*9-3*K 539)37TT 3*(T/T+7)540)37TJ 3*(7+J-T)541)37TK 3*7-T+K 542)37JJ 3*(J/J+7)543)37JQ 3*(7+Q-J)
544)37QQ 3*(Q/Q+7)545)37QK 3*(7+K-Q)546)37KK 3*(K/K+7)547)388T(8*T-8)/3 548)388J J+8-3+8 549)388Q(3-8/8)*Q 550)389T(T-9)*3*8 551)389J 8+3*9-J 552)389Q(3+8-9)*Q 553)389K 9+3*(K-8)554)38TT T+3*8-T 555)38TJ(J-T)*3*8 556)38TQ T/(8-3)*Q 557)38JJ J+3*8-J 558)38JQ(Q-J)*3*8
559)38QQ Q+3*8-Q 560)38QK(K-Q)*3*8 561)38KK K+3*8-K 562)399T 3*(9+9-T)563)399J(J-9)*(3+9)564)399Q(3-9/9)*Q 565)399K(K-9)*(9-3)566)39TT 3*(9-T/T)567)39TJ 3*(9+T-J)568)39TQ(3+9-T)*Q 569)39TK T+3*9-K 570)39JJ 3*(9-J/J)571)39JQ 3*(9+J-Q)572)39JK(K-J)*(3+9)573)39QQ 3*(9-Q/Q)574)39QK 3*(9+Q-K)575)39KK 3*(9-K/K)576)3TTQ(3-T/T)*Q 577)3TJQ(3+T-J)*Q 578)3TJK 3*(T+J-K)579)3JJQ(3-J/J)*Q 580)3JQQ(3+J-Q)*Q 581)3QQQ(3-Q/Q)*Q 582)3QQK(3+Q-K)*Q
第二篇:语言训练点
著名语文教育家吕叔湘先生早在1963年发表的《关于语文教学的两点基本认识》一文中谈到:“撇开语言文字训练进行语文教学,这是一种半身不遂的语文教学。”这就是说在语文教学中必须进行语言文字训练。语言文字训练的目标应包括两个方面:一是通过语言文字理解内容,懂得课文“写了什么”“为什么写”;二是在理解内容的基础上,再认识作者运用语言文字表情达意的规律和方法,懂得课文是“怎样写”“为什么这样写”。教学中,教师整体把握教材内容,确立训练点,进行语言文字训练是提高学生语文能力的关键。语言文字训练的的形式多种多样,在确立训练点时,要考虑到学段的要求,考虑到学生的实际语文水平,还要考虑到课文的重点、难点、特点。教师要有训练的意识,现在的课文文质兼美,课课都有训练的素材。我们在教学中可以从以下方面进行训练:
一、积累词语。如《槐乡五月》一课中,“白生生”等ABB形式的词较多,教学中,让学生找出来,读一读,说一说,这些词好在什么地方,你觉得还有哪些地方可以用上这些词语,现举出几个这样的词语。通过体会课文语言积累词语,加深了学生对课文的理解。再如
二、课外阅读课上,在学生自读了文章之后,通过填空练习来引导学生积累课文中描写月亮的优美词
句。培养学生积累语言的习惯。“故乡的明月是那样的(),那样的(),那样的()„„她(),像()。”这个练习让学生又积累了许多描写月亮美丽的词句:晶莹剔透、纯洁无瑕、明亮、如银如水、迷人„„
玩味重点词语。对课文有了整体感悟之后,进行深层次理解,这时要善于指导学生抓住和玩味重点词语,进行语言文字训练。教学《军神》一课时,我是这样训练的:(1)边读课文边划出描写刘伯承动作、神态的词语,并讲讲这些词语的意思。学生抓住这几个词语,初步体会到刘伯承的坚强。(2)思考课文中哪些词语用得好,好在哪里?如有的学生认为“一声不吭”、“泪如雨下”两个词语用得好,因为它们写出了刘伯承的坚强。(3)引导学生把课文中这两个词去掉,让他们揣摩表达效果的不同。这样,不仅进行对语言文字的理解、体会和推敲,还在其中潜移默化地渗透了思想教育。
三、积累并运用课文语言。教师要帮助学生形成语言积累的意识。课文里的语言是经过加工、提炼的,合乎规范的,背诵若干这样的文章,对于提高运用语言的能力,会有不少帮助的。我们要适当地安排具有创造性积累的训练,如复述课文、改写等。复述课文时,不必要求学生非要用自己的语言,如果能将范文语言放在口头上来练,使其意皆若出于我之心,使其言皆若出于我之口,那实际上已是学生在初步内化范文的语言了。如教学《新型玻璃》一课,学生学完课文,了解了各种新型玻璃的特点和用途之后,教师安排了一个改写练习:选择一种玻璃,用第一人称的形式作自我介绍。这种训练,不仅巩固了课文内容,又有力地促进了语言表达能力的提高,同时也培养了学生的创造思维和创新精神。
四、结合课文内容,训练思维表达。如教学《小露珠》一课,写小动物对小露珠的赞美――这几个自然段写什么?它们是怎样赞美小露珠的?课文又是怎么写这些小动物的?在理解了内容,领会了课文的写作形式后,启发学生想象:清晨,还会有哪些小动物会赞美小露珠?它们会怎样赞美小露珠?能像课文这样说一段话吗?这种训练,不仅加深了课文内容的理解,又训练了学生的思维能力。
教学中,语言文字训练的方式不胜枚举,关键是老师要能把握教材内容,结合学生实际,找准训练点,扎扎实实地进行语言训练,这样才能有效提高语文能力。
语文教学由“把语文课上成政治课”、“把语文课上成分析课”到“把语文课上成训练课”,由“满堂灌”到“满堂问”到“满堂练”。使人不免发生怀疑:命运多舛的语文教学是否又是从一个误区走向另一个误区?任何事情都有一个度,正如语文教学上的讲解法本身是切实可行的,但偏激地理解和运用讲解法使教学掉进了“满堂灌”的泥潭;同样如此,不顾及提问设计法的教学特点就会使教学误入“满堂问”的深渊。如今,如果我们对语言文字训练的加强偏激地理解,练之过极,就很可能使语文教学顾此失彼,走向一个新的误区。所以,准确把握语言文字训练的特点,是搞好语言训练的有力保证。
特点之一:语言文字训练是指对语言的训练。语言是表情达意的工具。正因如此,人们赋予了语言丰富的感情,因而就有新鲜活泼的丰富的语言。而教学中指导学生学习这些语言,训练这些语言就不是机械的了,而应是充满感情的训导和练习。因此,要进行语言文字的训练首先要掌握语言的特点,训练要讲究一种情境,一种氛围,这有别于其它专业(如体育)单纯的技能练习。
特点之二:语言文字训练是情中训,趣中练。语言文字训练究竟是什么样的训练?语文课是集思想性、情感性于一体的工具学科,语言是外壳,表情达意才是语言的内涵。如果说数学课中通过知识的讲解,再通过练习解题达到知识的迁移以求熟练,这一过程是晓之以理的认知过程,那么语文课则是一种动之以情、授之以趣的潜移默化的过程。所以,语文教学离不开情,离不开趣,情中训,趣中练应是语言文字训练的一大特点。
特点之三:语言文字训练是练中有训,训中有练。语文教学中满堂灌,不对!满堂问,不对!满堂练,也不对!因为语言文字的训练绝不是练习。但是如果这样说,满堂地灌、问、练,对不对?不难理解,将讲解式灌输、启发式诱问、指导性练习有机地应用于一堂语文课中是切实可行的,问题是要“有机”。而这里对“灌”、“问”的理解不就与“训”的意义相关吗?所以说,语文训练是练中有训,训中有练。指导与练习是相辅相承的。
一、语文课姓“语”。
叶圣陶对“语文”二字的解释是“彼时同人之意,以为口头为语,书面为文,文本于语,不可偏指,故合言之。”因此,我们在教学中要把口语表达与书面语的表达重视起来。通过学习,积累语言,并且能运用和表达。但这种表达不应该是机械地重复,而应该有自身的情感。有人说情感是不能训练的,但我认为表达情感的方式是可以通过训练形成的。比如朗读,如果没有长时间的训练,学生是不可能从会读达到表达情感的。这又印证了“书读百遍,其义自见”的古训。“书读百变”就是训练的过程,而结果就是“其义自见”的感悟和理解。
二、语言文字训练和人文素质的提高是相辅相成的。
语文是人文性和工具性的结合。语文教学的主要任务是让学生理解和运用祖国语言文字,也就是通过字词句段篇,听说读写等方面的训练,使学生具有一定的语言基本功。
并在学习祖国语言文字的过程中对中华民族的优良传统以及民族精神进行薪火传承,在学习中激发求知欲和培养兴趣。
在教学中要重视学生的领悟、意会、揣摩、体验乃至于顿悟、灵感等非逻辑的认知活动,并要注意形象的再现,意境的体验,韵味的品评,情绪的感染等思维和情感活动。但这些人文素养的培养,要通过一篇篇文学作品的熏陶,一次次语言文字的训练来实现并巩固。反过来,具有良好的人文素养的人必然对语文学科会产生浓厚的兴趣,通过大量的阅读在潜移默化或者有意识的品读中进语言文字功底的提升和巩固。
三、进行语言文字训练是课程标准的要求。
课程标准强调:“注重基本技能的训练,给学生打下扎实的基础。”以写字为例,如果不训练,就不可能把字写得美观、漂亮,如果训练程度不够,还可能连字都不会写;再以作文为例,如果没有一定量的训练,就不能很好地表达,“熟能生巧”说的就是这个理。因此,该让学生读的就要读,该背的就要背,该练的就要练,问题的关键是我们处理“训练”的方式与艺术。
四、语言文字训练一定要落实到位。
训练是否落实到位,直接关系到语言文字训练的成功与否。所以要真正做到落实到位,要注意以下几点:
1.精心的预设可以促成灵动的生成。一篇课文的语言文字训练有哪些内容?要达到怎样的要求?通过怎样的形式训练?教师怎样进行指导?这些都是需要课前精心预设的。现代课堂教学虽说是生成的教学,但对一堂好课来说,成功的因素不仅仅是生成,还有教学的提前设计。教师多一份艺术性的预设,学生就多一份生动的生成。因此我们要注意对训练进行精心的预设。
2.训练应该是有重点突出。
语文可需要达到的目标有很多,我们不能通过一堂课就把这些目标全部涉及。在教学中语言文字的训练应该有步骤,分阶段,有重点的进行。我一直反对那种所谓的“堂堂清”的课堂,这种课堂是虚无缥缈的。课文各有特色,各有长处,只要在教学中将这些重点的东西给学生进行训练,我觉得就是成功的课堂。突出重点在能达成有效的语言文字训练。否则都只是浮在表皮的训练,达不到效果。
3.积累也是一种训练。
古人说“读书破万卷,下笔如有神”、“熟读唐诗三百首,不会作诗也会吟”可见积累在语言文字能力的形成中是多么重要啊。
记得苏教版教材的主编张庆老师曾经把积累比作“布云”,把表达比作“下雨”,我觉得这个比喻十分的恰当,没有大量的原料输入,哪里会有运用和输出呢?
综上所述,我们在语文教学中要重视语言文字的训练并将其落到实处。在语言文字训练中,融入集思想性、情感性、意趣性,做到练中有思想,练中有情感,练中有意趣。使少年儿童在有着纯正的思想、高尚的情操和浓厚的志趣的基础上更深刻、更进一步地去理解、学习、运用祖国的语言。
叶圣陶先生说得好:“阅读是吸收,写作是倾吐。”这就明确地告诉我们:阅读是作文的基础,阅读好像蜜蜂采花,作文好像蜜蜂酿蜜。读和写是相辅相成的,智慧地把握两者结合的策略,学生的作文能力才会逐渐提高。那么如何利用教材、挖掘教材,在教学中找准读写训练点,提高学生的作文能力呢?在实践中我们总结出了一个关键,八个策略,与大家分享。
一、一个关键
实现读写结合,关键在于深入研究、挖掘教材,创造性地使用教材,找准读写训练点,抓住学生的兴奋点,捕捉学生的真切感受,拓展写的空间,让学生乐于动笔。何谓兴奋点?即文本中的描写动情处、词句优美处、生动有趣处、思维创新处。这些兴奋处可以成为读写训练点。简而言之,即:情动笔动——品美写美——妙趣横生——别出“新”裁。
二、八个策略
我在实践中注意深度挖掘教材,找准训练点,在广泛的生活中进行有效的读写结合训练,形成了一些贯穿于课前——课中——课后——课外的有效读写结合策略,现与大家共享。
(一)、策略1:读前先写,赏文作比。
在学习课文之前,教师先把习作内容布置下去,让学生根据已有的水平先试作。教师根据学生练笔完成情况,结合读写训练点,在阅读教学中有针对性地引导学生深入研读语言文字,在切身的对比中感受作者语言的表现力。这样做既合理地使用了教材,又联系了学生的实际需要,能够科学有效地提高课堂教学效率。这是一种任务驱动下的读写结合。如在学习《理想的翅膀》之前,我给学生布置了一个预习作业:请用自己的语言去描述教材插图中的各式风筝。因为有了课前的写,学生们带着审视、对比、欣赏、迫切学习的心态深入语言文字,感悟更深刻。
(二)、策略2:课前读后感
读后感是读写结合的一种重要形式,但在平时教学中,运用得较保守。老师们总是把读后感变成课后感,老师进行全批详改。如此一来,对学生而言是个负担,他们不愿写;对老师批改而言也是—种负担。我们完全可以把写读后感更灵活地布置成课前预习作业,随意地让学生自由写感受和想法。老师用划览的方式阅读,重在留意文中的“思”。写课前读后感,对于学生而言是以写促读,以读促写,真正把预习落到实处;对于教师亦有摸清学情,以学定教的帮助。这种策略适用于易使学生产生不同观点的文章,教师可以从多元观点的交织中导入新课,也可以让生成的矛盾思想贯穿教学过程,顺学而导,最后达成对文字本真的认识。
如:在了解了学生对《美丽的小兴安岭》的初读感受后,以学生初读所感受到的小兴安岭是个“美丽的大花园”“巨大的宝库”作为话题,深入文本展开讨论:你是从哪些描写感受到的?还有不同的理解吗等等。
再由句子深入重点词,联系前后内容进行对比,在步步深入的理解中有感情地读,最终感悟到文本的真正内涵。
(三)、策略3:课中仿写
所谓仿写,就是作文者模仿某些范文的句式、立意、构思、结构或写法等进行作文的一种写作训练方法。仿写有两个层次:
1、从仿起步——模仿阶段
学习了《松鼠》后,马上让学生练习用总分式写一段话,并学习按一定的观察顺序,描写小动物的外形
特点。学习了《大自然的语言》这首诗,马上让学生仿写两个小节,用诗歌的形式来表达自己的发现。
2、从仿到创——创新阶段
如果说低年级的模仿是读写结合的基点的话,那么,中年级就应该把“创新”作为读写结合的支点。培养学生写作上的创造意识,是使读写结合从根本上得以实现和超越的一个转折点。
读写结合的创造,主要是指内容的创造,就是鼓励学生在学习课文形式的基础上选择新颖的、独具特色的内容写,鼓励学生在写作内容上的求异思维,从而力求在写作训练中反映出学生的个性色彩和创造精神,也指形式上的创新。教材为学生提供了丰富的文学创作形式,有推理故事、新闻写作、课本剧、童话、探险故事,给学生建构了一个广泛的想象、练笔空间。如学习了《田忌赛马》后,学生们设想了第二次赛马后,田忌与孙膑又见面的情景,续写了故事。
(四)、策略4:续写
课文中,有些句子后面留有空白,可以发挥学生的想象力填补,在后面续写,同时对学生的理解也是一个考察。有的文章结尾余意未尽,留有想象续写空间,如《炮手》,可续写德军被赶走后,士兵的生活(回到家乡后得到的待遇、如何重建家园等)。
(五)、策略5:改写
就是在原文的基础上,改变文章的体裁、结构或叙述方法等,充分发挥想象,对原文进行重组、加工的一种训练形式。可改写文体,如把《村居》改写成一篇记事的文章,将放学的孩童开心放风筝的场面描写出来。学习了《信》后,将2、3、4小节改写成书信的形式,换种格式,换种语气来写,进一步巩固了书信的格式,还可练习变换人称。另外可改情节,如《和式献璧》,可改写假设卞和不再那么执着会怎么样。改写往往要对教材进行假设变动,启发学生思维,使读写训练深刻化。
(六)、策略6:用心灵去观察
我们提倡写得真实,孩子们笔下的应该是“个性化的、自然的,是充满特点的真情和情趣,沉浸着美语和泪珠”的东西。真实的美从哪里来?引导学生观察生活。如何观察生活呢?这就要求我们教学生从阅读课文中去学习、借鉴。在阅读教学中,我们不仅要学习、掌握句式和文章结构,更应明白文章来源于生活体验。作文和生活是不分家的,没有平时的悉心观察、体验,就写不出有真情实感和鲜活的、有灵性的文章。否则,作文过程只会成为呆板的、模式化的拼装过程。
如:为孩子们设计了一次“呵护小生命诞生”的体验活动,每个孩子领养数只蚕宝宝,在多天的照料和期盼后,也许会目睹蚕宝宝吃食,活动,蜕皮长大、吐丝结茧、成蛾破破茧而出的动人时刻,感受生命的伟大;也许付出与希望会成为泡影,见证的是生命的消失......不管怎样,孩子们用眼睛、更是用心灵在关注、在观察。最后将自己的体验过程和感受写下来。从孩子们的作品里,你能感受到一种真实、一颗真心、一份真情......
从这里我们看到,阅读过程是—个还原生活情境的过程,仿写过程是个先体验生活情境,再表达的过程。只有写作形式和所写内容有效结合,才能真正实现阅读向写作的迁移内化。
(七)、策略7:课外读写天天练
读写结合应以自能为目标。因此,必须把课文教学引伸到课外,与相关的生活和课外阅读有机地联系起来,让学生用自己的课外阅读、生活经历来充实课文教学,使我们的阅读教学更加灵动而丰满。我们设计了“天天做”的家庭作业,内容固定为“阅读摘抄”和“每日感想”。让学生每天都能主动去阅读去积累,同时把每天生活中的点滴感受和点滴发现及时记下了,随时练笔,将写作变成一种习惯。
期末大家合作制成一本班级作品集——《阅读与习作》,那是学生的“作品”集、“读书记”,激发了学生的阅读兴趣、积累兴趣、写作兴趣。实践证明,这种亦读亦写的结合,能养成学生良好的“阅读”和“写作”习惯。
(八)、策略8:假期读写
寒暑假的作业,我们总要布置学生看几本书,并有针对性地进行创作。读写结合,提高了阅读、习作训练的有效性,也让师生享受着成功的喜悦。
因此,我们主张以“读写结合”为突破口,以学生的课外阅读为主径,以课外实践为载体,拓展“读写结合”的形式,丰富“读写结合”的内容,创造性地开展语文实践活动,增加学生的情感体验,拓宽学生的习作思路。
实现读写结合,关键在于深度挖掘教材,找准读写训练点,抓住学生的兴奋点,捕捉学生的真切感受,拓展写的空间,让学生乐于动笔。何谓兴奋点?即文本中的描写动情处、词句优美处、生动有趣处、思维创新处。这些兴奋处可以成为读写训练点。简而言之,即:情动笔动——品美写美——妙趣横生——别出“新”裁。
鲁教版小学语文三年级下册板块构建
第一板块: 景物描写
(一)教学内容:
3.《观潮》《火烧云》(自读课文)《雨》(网上文章)《庐山的云雾》《美丽的南沙群岛》(苏教版)
写景的古诗:《咏柳》《春日》《城东早春》《山亭夏日》,宋词两首
板块训练主题:按照从远到近的顺序,介绍一处景物,重点片段描写,学习课文中拟人、比喻的写法。
第二板块:事物的静和动
教学内容:
1.《燕子》4.《鸟的天堂》《荷花》《珍珠泉》(学习乐园)
板块训练主题:抓住动词体会事物的动态特点
展开想象表现事物静态特点
第三板块:观察和发现
教学内容:
5.《爬山虎的脚》6.《蜜蜂》7.《玩出了名堂》8.《找骆驼》
背诵《中庸》
3、4段,古诗4首。
板块训练主题:学习细致观察,具体描写的方法。观察动物或者植物,写观察日记。
第四板块:人物的语言
教学内容:
《花瓣飘香》(苏教版)《炮手》(北师版)《放飞蜻蜓》《菩萨兵》(苏教版)
板块训练主题:抓住人物语言及提示语,体会人物的想法及表达的情感。
第五板块:人物的神态动作
教学内容:10.《一面五星红旗》27.《跨越海峡的生命桥》11.《卖木雕的少年》28.《卡罗纳》12.《中国国际救援
队,真棒!》《搭石》
板块训练主题:继续学习通过人物的动作、语言、神态描写展现人物品质
经典背诵:《太阳是大家的》《黄鹤楼送孟浩然之广陵》《送元二使安西》等送别诗,宋词两首 推荐阅读《爱的教育》
第六板块:动物描写
教学内容:13.《猫》(老舍)《猫》(丰子恺散文集)14.《白鹅》16.《白公鹅》14.《松鼠》 推荐阅读 《促织》周而复的猫的片段 夏丏尊的猫
板块训练主题:观察一种小动物,在描写中重点写出外形、性格、活动。
经典背诵:《中庸》
1、2段,宋词两首
第六板块:说明文
《太阳》《飞向蓝天的恐龙》《恐龙》(苏教版)《月球之谜》《我家跨上了信息高速路》 推荐阅读:《鲸》、《黄河象》
板块训练主题:了解说明文的语言特点,学习说明方法
经典背诵:《中庸》5、6段
第八板块:景物描写
(二)《长城》、《颐和园》、《梅雨潭》(同步阅读)《九寨沟》、《秦兵马俑》。
推荐阅读:《春日游湖上》《襄邑道中》《初见嵩山》《宿甘露僧舍》
板块训练主题:按照移步换景的方法,游览一处景物。
经典背诵:宋词四首
第九板块:神话故事和寓言故事
《女娲补天》《普罗米修斯》《夸父追日》《女娲造人》(人教版)《扁鹊治病》《螳螂捕蝉》《黔驴技穷》《杯弓蛇影》
板块训练主题:概括主要内容 学习写批注
推荐阅读:中外神话故事
经典背诵:背诵《夸父追日》的古文,《中庸》
7、8段
第三篇:delphi24点游戏
第3章 “速算24”扑克游戏--单元、异常、逻辑
3.1 “速算24”扑克游戏效果说明
“速算24”是一个考察心算能力、有助于开发智力的扑克游戏。在给出4张扑克牌之后,要求应用这些扑克牌数字做数学运算,迅速构造出一个数学表达式,得出结果24。这个游戏的关键在于迅速判断用户输入的表达式是否正确,并做出相应的反馈,告诉用户是算对了还是算错了。游戏的初始界面如图3.1所示。
图3.1 游戏的初始界面
当用户单击“开始”按钮时,系统开始发牌,随机发出4张牌,如图3.2所示为随机开始的一局游戏,给出的4张纸牌分别为“9”,“8”,“9”,“2”。在文本框中输入运算表达式,比如,输入“8*(2+(9-9))”,单击“计算”按钮,系统会出现提示框,显示“您输入的表达式的计算结果为16!”,告诉你该表达式的结果不是“24”,如图3.3所示。单击“确定”按钮,再次在文本框中输入表达式,比如“8*(2+(9/9))”,单击“计算”按钮,系统会出现提示框,显示“您真行,我服了您!”,表明运算正确,如图3.4所示。
图3.2 系统随机发4张纸牌
图3.3 运算式不正确
图3.4 运算式正确
这个游戏具体的规则如下:
(1)单击“开始”按钮,游戏开始,系统将随机发牌。
(2)请迅速在文本框中输入运算表达式,然后单击“计算”按钮。
(3)这时系统会提示您的运算是对了还是错了,在弹出的对话框中单击“OK”按钮,再次输入新的运算表达式,重复上一步,直到您的运算表达式结果正确,这时系统会恭喜您!
(4)如果结果错了还想继续或者中途想计算另一局扑克牌,就单击“重新开始”按钮,得到新一局扑克牌进行游戏。
下面,我们开始循序渐进地创建这个小游戏。在最开始,游戏的界面和效果都会非常简单,在后面我们会逐渐地完善它。
第3章 “速算24”扑克游戏--单元、异常、逻辑
3.2 生成和建立程序(1)在程序中用到了Image组件,用于放置图片。还用到了Timer组件,用于计算用户操作时间。下面我们来生成游戏的基本框架。
3.2.1 Image组件
Image组件在Additional页上,用来在窗口中显示一幅图片。它拥有如下几个主要属性: 1.Picture属性
可以在picture属性中调入图像文件。Delphi支持多种图像格式,如位图(.BMP)、图标(.ICO)、图元(.WFM)、动画光标(.ANI)、JPEG图片(.JPG、.JPEG)等。
2.AutoSize属性
当AutoSize为True时,Image组件将根据它所包含的图像的大小来调整自身的大小;当AutoSize为False时,不论图像有多大,组件将保持设计时的大小。如果组件比图像小,那么只有一部分图像是可见的。
3.Stretch属性
当Stretch为True时,位图图像将根据组件的大小调整自身的大小,当组件大小改变时,上述三种文件也做相应变化。Stretch属性对图标没有作用。
上述的AutoSize和Stretch属性决定了图像在窗口中的显示尺寸。
图3.5演示的3个Image分别为:AutoSize为True,AutoSize为False,Stretch为True的情形。可以看到,Image的原始尺寸比图片宽,矮,在上面的属性设置下,就会有不同的显示效果。
图3.5 AutoSize和Stretch的设置 3.2.2 Timer组件
在Delphi中,组件分可视组件和非可视组件。可视组件是指那些在运行期间仍然能显示的组件,例如Label,Button,Image组件等。非可视组件是指那些在程序界面设计期间可见,而在程序运行时不可见的组件,例如在System页上的Timer组件。
Timer组件能够有规律地触发OnTimer事件,发送信息给应用程序,它是编制应用程序时最为重要的组件之一。
1.Timer组件的属性
Enabled属性表示Timer是打开还是关闭。用Interval属性设置两个OnTimer事件间的间隔,单位是毫秒。将间隔设置为0相当于关闭计时器,Interval是Cardinal类型的,最大值可到4294967295,当然程序中一般不会把Interval设成很大的值。2.Timer组件的使用
Timer是独立的对象,在启动与Windows无关的逻辑和应用事件时极其有用。可以模拟时钟或计时器,可视地显示经过的时间;可以用作系统延时,Delphi提示信息出现只需在该区域停顿几秒,就是Timer组件应用的一个例子;可以检查系统环境、事件,根据结果进行响应;也可以在窗口中闪烁一段正文或图像,提示某种操作或处理正在进行等等。
尽管Delphi的计时器每秒可以产生1000次激发,在编程中还必须注意程序对Timer触发的响应。如果程序处理OnTimer事件的时间超过Interval的设定值,就可能错过事件,因为当下一次触发到来时,系统正忙于处理上一事件,则这次触发就会被忽略。同时要注意其他的Windows应用程序是否会影响Timer的触发。如果后台正运行着一个占用处理器的程序,就可能会导致Timer的触发不准确,从而使前台程序运行出现错误。
这里要强调的是Timer组件是一个非可视组件,可以把它放置到窗体或者其他容器组件上的任何位置。3.实现游戏计时功能
在本章的游戏中,我们加入一个Timer组件,实现游戏的计时功能。
在窗体中加入一个Label组件,将此组件的Caption属性设置为“使用时间”,然后从组件面板上选择System页中的Timer组件。
在Unit1中加入Form1的一个私有成员SpendTime,记录用户计算所用的时间。代码如下所示:
private { Private declarations } SpendTime:Integer;在Form1的onCreate事件中加入如下代码。将SpendTime设置为0,并将Timer1的Enabled属性设置为False,使Timer1组件不能响应OnTimer事件;并将Timer1的Interval属性设置为1000,表示当Timer1有效时,每间隔1000ms(即1秒)发生一次OnTimer事件:
procedure TForm1.FormCreate(Sender: TObject);var i:integer;begin //初始化,设置数组RandomData的长度为4 //并将每个数组元素初始化为零
setLength(RandomData,4);for i := 0 to 3 do RandomData[i]:=0;SpendTime:=0;Timer1.Enabled:=False;Timer1.Interval:=1000;end;然后在标题为“开始”的“开始”按钮的OnClick事件中,加入如下所示的代码,将Timer1的Enabled属性设置为True,使Timer1组件有效,即现在Timer1能响应OnTimer事件,计时开始。并将SpendTime重新设置为0:
Timer1.Enabled:=True;Timer1.Interval:=1000;SpendTime:=0;//将SpendTime重新设为0 再在“计算”按钮的OnClick事件句柄中,增加下面的语句,使Timer1无效:
Timer1.Enabled:=False;最后双击Timer1组件,创建Timer1的OnTimer事件句柄,在其中加入如下所示的代码,将SpendTime加1,并设置Label5的Caption属性:
procedure TForm1.Timer1Timer(Sender: TObject);begin SpendTime:=SpendTime+1;Label5.Caption:='使用时间:'+IntToStr(SpendTime)+'秒';end;这样,每隔1秒钟,程序就刷新一次使用时间。
3.2.3 设计初始界面
按住Shift键,然后单击组件面板中Additional页中的Image组件,这时该组件边缘出现蓝色的边框,并且凹陷下去,表示可以在窗体上连续加入几个Image组件。选择好Image组件后,在窗体的左上角单击,加入1个Image组件,然后依次向右单击鼠标3次,再加入3个Image组件。最后再单击组件面板中最左边的箭头。
为了排列这4个Image组件,先利用Shift键将它们同时选上,然后右击,选择Align命令,在随后出现的Alignment对话框中的Horizontal选项组中选择Space equally,在Vertical选项组中选择Tops,表示这4个组件顶端对齐,水平方向上间距相等。
按照同样的方法加入4个Label组件、3个Button组件和1个Edit组件。按照表3.1所示设置各个组件的属性。
表3.1 各个组件的属性
组件名 Form1 Label1 属性名 Caption Caption AutoSize WordWrap Caption
属性值 速算24
1.单击“开始”按钮,游戏开始,系统将发出4张扑克牌
False False
2.要求用户利用扑克牌显示的数字,通过加减乘除运算,以最快的速度得出24(可以使用括号),JQKA和“王”算做1。然后在文本框中写好表达式,接
着单击“计算”按钮
Label2
Label3 AutoSize WordWrap Caption
False True
3.这时系统会计算输入表达式的结果,告诉用户是对还是错了。在弹出的对话框中单击“OK”按钮,如果错了可以再次输入新的表达式,重复上一步。直
到您的表达式正确,这时系统会恭喜算对了!
Label4 AutoSize WordWrap Caption AutoSize Caption Caption Caption Text
False True 在下面输入数学表达式
False 开始 计算 退出游戏 空
Button1 Button2 Button3 Edit1
现在同时选择Label1,Label2和Label3,将它们左对齐,垂直方向等距离排列。将Button1,Button2和Button3左对齐,垂直方向等距离排列。
下面放置4个Image组件,用于放置4张纸牌的图片。
先选择Image1,然后切换到对象查看器中的属性编辑器,选择属性选项页中的Picture属性,然后在Picture属性值栏中双击,或单击此属性值旁边的带有省略号的按钮,打开Picture Editor对话框,如图3.6所示。然后单击Load按钮,弹出Load Picture对话框,在此对话框中选择background.bmp文件。最后单击OK按钮,退出Picture Editor对话框。
图3.6 指定图片
使用同样的方法,设定其他3个Image组件的Picture属性。
保存我们的新项目,运行之后界面如图3.7所示,与运行时的界面图3.1稍有不同。这里是设计时界面,只有界面没有事件响应。是程序创建过程中的一个步骤的检验。但是,这个程序还没有什么具体的功能,为了让游戏运行起来,必须添加代码,创建相应的事件处理程序。
第3章 “速算24”扑克游戏--单元、异常、逻辑
生成和建立程序
3.2.4 事件处理
需要添加个事件:第一个用于响应单击开始按钮,在此事件中完成发牌,即随机显示图片;第二个用于响应单击计算按钮,解析用户在文本框中输入的表达式,计算表达式的结果,并判断表达式的结果是否等于;第三个用于响应单击退出游戏按钮,退出游戏(程
序)。
1.数据初始化
创建窗体的事件处理程序,在这里进行必要的初始化。第一步先在Unit1中添加Form1的私有成员数组:
private
{ Private declarations }
RandomData:array of Integer;然后,在对象查看器中选中Form1,选中Event选项卡,在OnCreate一栏对应的右边的空白栏中双击,创建OnCreate函数。添加如下代码。
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin //初始化,设置数组RandomData的长度为4
//并将每个数组元素初始化为零
setLength(RandomData,4);
for i := 0 to 3 do
RandomData[i]:=0;
end;这里使用一个for循环语句,i是循环变量,格式是:for循环变量:=初值to末值do循环体。你也可以借助Delphi的自动完成功能,在输入for之后按下Ctrl+J键,生成如下代码:
procedure TForm1.FormCreate(Sender: TObject);
begin
for := to do
begin end;
end;在上述代码中,程序首先利用setLength函数设定可变数组RandomData的数组长度为4,然后,将数组的每一个单元都设置为0。这样,就完成了数组的数据初始化工作。
2.“开始”按钮的Click事件处理
()功能单击开始按钮时,系统就随机地发出张纸牌,显示在个组件中。
()代码首先,我们需要一个循环变量,一个字符串变量存放随机选取的图片的文件名。创建“开始”按钮的OnClick事件处理程序,在begin前头添加需要的变量,然后在此事件
中加入如下所示的代码。
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
filename:String;
begin
Randomize;//初始化随机数
for i := 0 to 3 do
begin RandomData[i]:=Random(13)+1;//产生一个1到13的随机数
filename:=IntToStr(RandomData[i])+'.bmp';//根据随机数,得到文件名
//根据i的不同为不同的Image组件载入图像文件
case i of 0 : Image1.Picture.LoadFromFile(filename);1 : Image2.Picture.LoadFromFile(filename);2 : Image3.Picture.LoadFromFile(filename);3 : Image4.Picture.LoadFromFile(filename);
end;
edit1.Text:='';
edit1.SetFocus;
end;
end;在Delphi内部,随机数的产生实际上也是在一套算法的控制之下,Randomize函数用于初始化产生随机数的种子,保证两次产生的随机数不同,而Random(i:integer)则利用初始化过后的随机数种子产生一个1~i之间的随机数。这里i设定为13,以配合扑克牌的张数13。
用来将一个整数转换成一个字符串,和上一章中的的功能恰好相反。我们已经预先准备了位图文件,它们都是形式,文件名则是利用数字命名。中特殊的字符串运算符将两个字符串串联起来,产生一个新的字符串,我们需要的位图文件后缀是,因此,在产生文件名的时候,在数字后面加上这个字符串。语句在上一章中已经讲过,单击开始按钮后,准备接受用户的输入,然后利用方法,把焦点设置到上。是提供的方法之一,用于设置输入
焦点到某个指定的组件。
3.“计算”按钮的OnClick事件
双击“计算”按钮,创建此组件的OnClick事件响应句柄,然后在代码编辑器中加入如下所
示的代码,用于计算用户输入的表达式。
procedure TForm1.Button2Click(Sender: TObject);
var
result:integer;
answer:String;
begin
result:=TotalCompute(Edit1.Text);
if(result=24)then Application.MessageBox('您真行,我服了您!','对了',MB_OK)
else
begin answer:='您输入的表达式的计算结果为'+IntToStr(Result)+'!';Application.MessageBox(PChar(answer),'错了',MB_OK);
end;
end;这段程序根据自定义函数的计算结果判断用户的输入正确与否,并且输出相应的结果以提示
用户。
在语句“result:=TotalCompute(Edit1.Text)”中用到了一个自定义的函数TotalComp-ute,我们用它来计算用户输入的表达式。现在我们还没编写这个函数的代码,所以,目前这段代码是无法运行的。没关系,可以先把它用“//”注释掉,然后随便给 result赋一个值,测试这个事件处理程序的其他部分是否运行正常,例如:
//result:=TotalCompute(Edit1.Text);
result:=24;这样,运行后,单击“计算”按钮后的显示如图3.8所示。
图3.8 成功的提示信息
我们用一个类型的变量存放出错信息,但是函数的第一个参数要求是(字符指针)类型,因此,我们用一个强制类型转换将转换
成。4.“退出游戏”按钮的OnClick事件
双击“退出游戏”按钮,创建此组件的OnClick事件处理程序,然后在代码编辑器中加入如
下所示的代码,用于退出程序。
procedure TForm1.Button3Click(Sender: TObject);
begin
Close;
end;在上一章中我们提到可以用代替,但这里使用来结束程序的运行。这样,可以通过事件来指定在什么条件下窗体可以关闭。
第3章 “速算24”扑克游戏--单元、异常、逻辑
生成和建立程序5.OnCloseQuery事件
当调用方法来关闭窗体时,事件发生。利用事件来指定在什么条件下窗体可以关闭。事件包含一布尔型的参量,可以用它来决定窗体是否关闭。的默认值为。可以利用事件来询问用户是否真的希望马上关闭窗体。我们在这里弹出一个对话框,代码如下所示:
procedure TForm1.FormCloseQuery(Sender: TObject;var CanClose: Boolean);begin if(MessageDlg('现在要退出游戏吗?', mtConfirmation, [mbOk, mbCancel], 0)= mrOk)then canClose:=True else canClose:=False;end;MessageDlg是一种提示对话框,第一个参数是对话框询问的讯息,是一个字符串;第二个参数则代表对话框的类型,mtConfirmation是一个TMsgDlgType的枚举类型,表示这个对话框是个确认对话框。TMsgDlgType类型如下所示:
type TMsgDlgType =(mtWarning, mtError, mtInformation, mtConfirmation, mtCustom);以上定义的对话框类型分别表示:警告、错误、提示、确认和自定义类型。
第三个参数是TMsgDlgBtn类型的集合,这个集合包含了类型为TMsgDlgBtn的按钮,TMsgDlgBtn的定义如下:
type TMsgDlgBtn =(mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mnNoToAll, mbYesToAll, mbHelp);在我们的程序中,利用了一个集合[mbOK, mbCancle],表示在对话框中显示两个按钮:OK和Cancel的组合。
最后一个参数是用来描述帮助索引的长整型变量,用来获取提示用户的帮助信息,这里我们没有任何帮助信息,先不管它。函数和用户交互,返回一个类型的数字,预先定义了一套数字,用来直观地表示对话框返回信息。如果用户单击了按钮,这个对话框返回,效果如图所示。
图3.9 关闭窗口时询问用户
现在,我们已经完成了程序的主体部分。第3章 “速算24”扑克游戏--单元、异常、逻辑
单元间的互相引用3.3.1 单元引用的概念
在第章关于单元的知识里,我们已经知道可以定义不包含窗体的单元,它集中定义了程序中使用的函数,这一节里,我们就要实现这样的一个单元,用来实现上面提到的函数。我们可以在任何单元中编写自己的函数,当然包括与窗体相连的单元。可是我们常常需要用到一些常用的函数,这时最好是创建一个不与窗体相连的独立单元,用它来容纳自己的函数,这称为独立的单元文件。当创建了不与窗体相连的独立单元文件后,项目中的其他单元就能很容易地共享这些函数,其他项目也可以很容易地调用这些函数了。对于单元间的引用,要用到语句。3.3.2 uses语句
语句告诉程序在最终的执行代码中需要用到哪些函数和过程。会自动把一些必须的单元包括进来,例如,,等。对于我们自己编写的单元,如果程序中使用了该单元的函数或代码,也需要包括在部分中。语句具有两种类型:公有引用和私有引用。在部分包含的语句代表的是本单元的公有引用,就是说,这部分的引用可以被其他引用本单元的单元继承性地引用。在部分的语句应包含在部分中的代码所需要的单元,去掉那些可以自动加入到程序中的单元。在部分包含的语句代表的是本单元的私有引用,就是说,这部分的引用只能被本单元内部使用。在部分的语句应只包含在部分中的代码所需的单元的名字。对于单元间的引用,要避免交叉引用。假设有两个单元和,如果出现在的部分的语句中,那么单元便不能出现在单元的的语句中。因为这样会产生对单元的循环访问,编译时会出现错误信息。3.3.3 创建另一个单元
创建一个不与窗体相连的单元文件的方法是,首先选择主菜单的命令,然后选择命令,此时弹出一个对话框,如图所示。在此图中选择选项卡中的,然后单击按钮。此时自动为我们创建一个名为的独立单元文件,并显示在代码编辑器中,我们只需在此加入函数即可。
图3.10 New Items对话框
单元创建之后,就需要实现单元之间的互相引用。这里有两种方法:(1)直接在Unit1中写入uses Unit2,代码如下所示:
var Form1: TForm1;implementation uses Unit2;(2)选择主菜单的File | Use Unit命令,此时Delphi弹出Use Unit对话框,如图3.11所示,在此窗口中列出当前文件没有连接的所有文件,只需选择需要连接的文件即可。当选择了某一文件并单击OK按钮后,当前文件就包含了对所选文件的引用。
图3.11 Use Unit对话框
如果当前文件已经连接了当前项目中所有其他文件,选择命令后,就会弹出如图所示的信息窗口,告诉程序员当前文件已经连接了当前项目中所有其他文件。
图3.12 Information对话框
此时再编译,程序就没有任何错误了。现在我们已经创建了,它将用作我们的数学函数定义单元。在开始定义这个单元之前,需要先了解一下关于的异常处理机制。第3章 “速算24”扑克游戏--单元、异常、逻辑
3.4 异 常 处 理
3.4.1 异常处理的概念 在应用程序开发中如何检测、处理程序的运行错误是一个很重要的问题。在 Delphi 的IDE(集成开发环境)中提供了一个完善的内置调试器,可以发现大部分程序错误。但并不是所有的错误都可以被发现,而且当程序涉及到与外设的数据交换或操作外设,如要求用户输入、读写磁盘等时,错误的发生是程序无法控制的,如输入非法字符、磁盘不能读写等。这些情况不仅会导致应用程序异常中止,而且可能引起系统的崩溃。针对这些问题,Delphi提供了一套强大的异常处理机制。巧妙地利用它,可以使程序更为强健,使用更为友好。
Delphi异常处理机制建立在Protected Blocks(保护块)的概念上。所谓保护块是指用保留字try和end封装的一段代码。保护块的作用是当应用程序发生错误时自动创建一个相应的Exception(“异常”类)。程序可以捕获并处理这个“异常”类,以确保程序的正常结束以及资源的释放和数据不受破坏。如果程序不进行处理,则系统会自动提供一个消息框。“异常”类是Delphi异常处理机制的核心,也是Delphi异常处理的主要特色。Delphi提供的所有“异常”类都是类Exception的子类。用户也可以从类Exception派生一个自定义的“异常”类。
3.4.2 资源保护方式
回收分配的资源是确保程序健壮性的一个关键。但默认情况下异常发生时程序会在出错点自动退出当前模块,因此需要一种特殊的机制来确保即使在异常发生的情况下,释放资源的语句仍能被执行,而Delphi的异常处理正提供了这种机制。
Delphi提供了一个保留字finally,用于实现资源的保护。
{分配资源}
try {资源使用情况} finally {释放资源}
end;try„finally„end就形成了一个资源保护块。finally后面的语句在任何情况下(不论程序是否发生异常)都会执行。
在异常保护的情况下,当异常发生时,系统会自动弹出一个消息框,在框中显示异常的消息。退出当前模块后异常类自动清除。
3.4.3 异常响应方式
异常响应为开发者提供了一个按需进行异常处理的机制。try„except„end形成了一个异常响应保护块。与finally不同的是:正常情况下except 后面的语句并不被执行,而当异常发生时程序自动跳到except处,进入异常响应处理模块。当异常被响应后异常类自动清除。
下面是异常响应方式的一般代码:
try {程序正常功能} except on ESomething do {响应特定异常} else {提供默认响应} end;保留字on„do用于判断异常类型。必须注意的是:except后面的语句必须包含在某一个on„do模块中,而不能单独存在。这是又一个与finally不同的地方。
3.4.4 提供默认响应
在异常响应模块中,一般我们只对希望响应的特定异常进行处理。如果一个异常发生而响应模块并没有包含对它的处理代码,则退出当前响应模块,异常类仍被保留。
为了保证任何异常发生后都能在当前响应模块中被清除,可以定义默认响应:
try {程序正常功能} except on ESomething do {响应特定异常} else {提供默认响应} end;由于else可以响应任何异常,包括我们一无所知的异常,因此在默认响应中最好只包括诸如显示一个消息框之类的处理,而不要改变程序的运行状态或数据。
第3章 “速算24”扑克游戏--单元、异常、逻辑
3.5 数学逻辑单元(1)
此游戏程序最关键的地方是如何将用户输入的字符串表达式解析成数学表达式。为了使程序结构清晰明了,我们将此解析代码和程序的主代码分开,单独编写成一个单元。
3.5.1 算法设计
游戏的难点是如何将一字符串形式的表达式解析成计算机能计算的算术表达式。例如对于字符串“3^(4*(9+4))”,如何让计算机解析、计算。
我们的想法是按照数学四则运算规则,先逐层进入最里层的括号,然后在括号内部计算乘方,接着进行乘(除)法运算,最后按顺序进行加(减)运算,当本层括号内部计算完成后,返回结果,去掉括号内部数据,退出到下一级括号(如果有)内进行计算。
这里面涉及的技术细节主要有下面几点:
(1)层层剥离括号,然后从最里层的括号开始计算。(2)对于每一个运算符号,找到符号两侧的数字,形成一个计算式。
(3)每一个子计算式完成后,运算结果返回到原始数列中,作为子串的一部分,继续进行上述计算。
3.5.2 字符串的相关函数
在游戏中,用户输入的都是字符数据,我们需要从这些字符中分析得到数字和运算符号,因此要用到与字符串操作有关的函数。
function Pos(sub , all:string):integer;这个函数含有两个参数:sub表示要查找的字符,all表示原字符串。函数在字符串all中寻找指定的字符sub的位置,如果字符串中不存在sub字符,则函数结果为0。
function LastDelimiter(sub,all :string):integer 这个函数含有两个参数:sub表示要查找的字符,all表示原字符串。函数返回在字符串all中所有查找到的指定字符sub的最后一个的位置,如果字符串中不存在sub字符,则函数结果为0。
function Copy(allstring:string;first,length:integer):string 这个函数的3个参数的含义分别是:allstring代表原来的字符串,first表示拷贝开始的位置,length表示要拷贝的子串长度。函数返回拷贝成功的子串。
procedure Delete(str:string;ppos,length:integer)这个过程用于删除字符串中的一段字符。参数str代表将要操作的字符串,ppos代表开始删除的位置,length表示将要删除多少个字符。function Length(S): Integer;Length函数返回字符串S的长度。
function Trim(const S: string): string;overload;function Trim(const S: WideString): WideString;overload;Trim函数返回字符串S去掉前面和后面的空格后的字符串。
下面的例子给出一个综合利用字符串处理函数编写的一个处理特定字符串的函数,它的功能是:输入一个字符串后,可以返回字符串中两个单括号之间的子字符串,并去掉前面和后面带着的空格:
function GetMyStr(const S: string): string;begin Result:=Trim(Copy(S,Pos('<',S)+1,Pos('>',S)-Pos('<',S)-1));end;比如我们在程序中写到GetMyStr(‘This is a test < Result to output > end of test’);,会得到字符串“Result to output”。
3.5.3 算法的代码编写
基于上述的考虑和知识基础,我们在声明部分定义下列几个主要函数:
(1)AnyLastPos函数定位最后一个算术运算符的位置。
function AnyLastPos(Str:String):integer;(2)AnyFirstPos函数定位最先一个算术运算符的位置。
function AnyFirstPos(Str:String):integer;(3)AnyFirstF函数判断最先出现的符号是+号、-号、*号还是/号。
function AnyFirstF(Str:String):Char;(4)SubCompute函数用于计算不带()号的加、减、乘、除运算。
function SubCompute(Str:String):integer;(5)TotalCompute函数用于计算表达式的结果。
function TotalCompute(Str:String):integer;1.寻找最后一个算术运算符
定义4个整数变量SubPos,PluPos,MulPos,DivPos,在给定的字符串中寻找+,-,*,/的最后位置,将这些位置存储在上述的4个变量中,然后比较4个符号出现的位置,得到数值最大的运算符;在返回的结果中,返回这个运算符的位置。
程序代码如下所示:
function AnyLastPos(Str:String):integer;var SubPos:integer;PluPos:integer;MulPos:integer;DivPos:integer;Pos:Integer;begin //定位字符串中最后一个运算符的位置
SubPos:=LastDelimiter('-',Str);PluPos:=LastDelimiter('+',Str);MulPos:=LastDelimiter('*',Str);DivPos:=LastDelimiter('/',Str);Pos:=SubPos;if(Pos
分别在给定的字符串中寻找+,-,*,/第一次出现的位置,然后比较4个符号出现的位置,得到数值最小的运算符。在返回的结果中,传递的是这个运算符的位置。
程序代码如下所示:
function AnyFirstPos(Str:String):integer;var SubPos:integer;PluPos:integer;MulPos:integer;DivPos:integer;ForPos:integer;FirstPos:integer;begin //定位字符串中最先一个运算符的位置
SubPos:=Pos('-',Str);PluPos:=Pos('+',Str);MulPos:=Pos('*',Str);DivPos:=Pos('/',Str);ForPos:=Pos('^',Str);FirstPos:=200;if(SubPos=0)then //如果没有-号
SubPos:=200;//将SubPos设置成一个不可能的值
if(PluPos=0)then //如果没有+号
PluPos:=200;//将PluPos设置成一个不可能的值
if(MulPos=0)then //如果没有*号
MulPos:=200;//将MulPos设置成一个不可能的值
if(DivPos=0)then //如果没有/号
DivPos:=200;//将DivPos设置成一个不可能的值
if(ForPos=0)then //如果没有^号
ForPos:=200;//将ForPos设置成一个不可能的值
if(FirstPos>SubPos)then FirstPos:=SubPos;if(FirstPos>PluPos)then FirstPos:=PluPos;if(FirstPos>MulPos)then FirstPos:=MulPos;if(FirstPos>DivPos)then FirstPos:=DivPos;if(FirstPos>ForPos)then FirstPos:=ForPos;
AnyFirstPos:=FirstPos;//结束函数,返回位置
end;第3章 “速算24”扑克游戏--单元、异常、逻辑
3.5 数学逻辑单元(2)
3.得到最先出现的运算符类型
这个函数的返回结果是Char类型,代表这是一个字符变量。实际上,它返回的是+、-、*、/ 这4个符号中最早出现的一个。
程序分别寻找4个符号最早出现的位置,然后判断最先出现的是哪一种符号,再根据符号类型返回代表运算符的字符。
在具体的实现过程中,因为我们要得到最先出现的运算符,所以判断的是每次寻找后各个运算符的位置的最小值。如果不存在这个运算符,则将代表这个运算符位置的相应变量设置为200。对于本程序来说,这是一个搜索过程中不可能达到的值,这样就排除了这个位置的继续比较的可能。
程序代码如下所示:
function AnyFirstF(Str:String):Char;var SubPos:integer;PluPos:integer;MulPos:integer;DivPos:integer;Operator:char;tempPos:integer;begin SubPos:=Pos('-',Str);PluPos:=Pos('+',Str);MulPos:=Pos('*',Str);DivPos:=Pos('/',Str);
if(SubPos=0)then //如果没有-号
SubPos:=200;//将SubPos设置成一个不可能的值
if(PluPos=0)then //如果没有+号
PluPos:=200;//将PluPos设置成一个不可能的值
if(MulPos=0)then //如果没有*号
MulPos:=200;//将MulPos设置成一个不可能的值
if(DivPos=0)then //如果没有/号
DivPos:=200;//将DivPos设置成一个不可能的值
Operator:='-';tempPos:=SubPos;if(tempPos>PluPos)then begin tempPos:=PluPos;Operator:='+';end;if(tempPos>MulPos)then begin tempPos:=MulPos;Operator:='*';end;if(tempPos>DivPos)then begin tempPos:=DivPos;Operator:='/';end;
AnyFirstF:=Operator;//结束函数,返回位置 end;4.计算不带括号的运算表达式
做完上述工作后,我们可以开始进行一些实际的运算了。
包括加、减、乘、除、乘方运算的表达式的程序算法如下所示:
(1)寻找乘方符号“^”,如果存在,则计算一次乘方,去掉计算过的部分,接着循环查找和计算子串的乘方。
(2)寻找乘号“*”或者除号“/”,如果存在,则计算一次乘(除)法,去掉计算过的部分,接着循环计算子串的乘除法。
(3)寻找加号“+”或者减号“-”,如果存在,则计算一次加(减)法,去掉计算过的部分,接着循环计算子串的加减法。
上述算法是严格按照顺序进行的,它体现了数学运算中的优先关系,经过上述的计算,子字符串被分解,计算完毕。
无论是乘方、乘除法还是加减法,内部实现的逻辑是基本一致的。下面,我们设定有一个运算表达式:3+2^5/4。
程序代码如下所示:
function SubCompute(Str:String):integer;var Middle:String;Mul2:String;Right:String;First:integer;tempStr:String;temp:integer;Left:String;Mul1:String;MulPos:Integer;DivPos:Integer;Fuhao:Char;begin Middle:='';Mul2:='';Right:='';
//定位第一个^号位置,计算乘方
First:=Pos('^',Str);While(First<>0)do //循环计算乘方
begin tempStr:=Copy(Str,1,First-1);temp:=AnyLastPos(tempStr);Left:=Copy(Str,1,temp);Mul1:=Copy(str,temp+1,First-temp-1);tempStr:=Copy(str,First+1,Length(str)-First);temp:=AnyFirstPos(tempStr);if(temp=200)then begin Mul2:=tempStr;Right:='';end else begin Mul2 :=Copy(tempStr,1,temp-1);Right:=Copy(tempStr,temp,Length(tempStr)-temp+1);end;Middle:=FloatToStr(IntPower(StrToInt(Mul1),StrToInt(Mul2)));Str:=Left+Middle+Right;First:=Pos('^',Str);end;
//定位第一个*号或/号的位置
MulPos:=Pos('*',Str);DivPos:=Pos('/',Str);First:=MulPos;if(MulPos>DivPos)then First:=DivPos;if((DivPos=0)and(MulPos<>0))then begin First:=MulPos;DivPos:=2000;// 将除号所在位置设置成一个大于MulPos但又不可能的值
end;if((DivPos<>0)and(MulPos=0))then begin First:=DivPos;MulPos:=2000;// 将乘号所在位置设置成一个大于DivPos但不可能的值
end;while(First<>0)do //循环计算乘、除
begin tempStr:=Copy(Str,1,First-1);temp:=AnyLastPos(tempStr);Left:=Copy(Str,1,temp);Mul1:=Copy(Str,temp+1,First-temp-1);tempStr:=Copy(Str,First+1,Length(Str)-First);temp:=AnyFirstPos(tempStr);if(temp=200)then begin Mul2:=tempStr;Right:='';end else begin Mul2 :=Copy(tempstr,1,temp-1);Right:=Copy(tempStr,temp,Length(tempStr)-temp+1);end;if(MulPos>DivPos)then Middle:=IntToStr(StrToInt(Mul1)div StrToInt(Mul2))else Middle:=IntToStr(StrToInt(Mul1)*StrToInt(Mul2));Str:=Left+Middle+Right;
MulPos:=Pos('*',Str);DivPos:=Pos('/',Str);First:=MulPos;if(MulPos>DivPos)then First:=DivPos;
if((DivPos=0)and(MulPos<>0))then begin First:=MulPos;DivPos:=2000;// 将除号所在位置设置成一个大于MulPos但又不可能的值
end;if((DivPos<>0)and(MulPos=0))then begin First:=DivPos;MulPos:=2000;// 将乘号所在位置设置成一个大于DivPos但不可能的值
end;end;//定位+、-号首先出现的位置
First:=AnyFirstPos(Str);if(First=200)then //如果没有+、-号,则可以直接返回结果
begin SubCompute:=StrToInt(Str);exit;end;Fuhao:=AnyFirstF(Str);//确定首先出现的符号是+号还是-号
while(First<>0)do begin //如果找到+号或-号
tempStr:=Copy(Str,1,First-1);temp:=AnyLastPos(tempStr);Left:=Copy(Str,1,temp);Mul1:=Copy(Str,temp+1,First-temp-1);tempStr:=Copy(Str,First+1,Length(Str)-First);temp:=AnyFirstPos(tempStr);if(temp=200)then begin Mul2:=tempStr;Right:='';end else begin Mul2 :=Copy(tempStr,1,temp-1);Right :=Copy(tempStr,temp,Length(tempStr)-temp+1);end;if(Fuhao='+')then Middle:=IntToStr(StrToInt(Mul1)+StrToInt(Mul2))else Middle:=IntToStr(StrToInt(Mul1)-StrToInt(Mul2));Str:=Left+Middle+Right;First:=AnyFirstPos(Str);if(First=200)then break;Fuhao:=AnyFirstF(Str);end;
SubCompute:=StrToInt(Middle);end;程序执行过程如下所示:
(1)定位字符串中第一个乘方符号“^”的位置First。这个式子中的First为4。
(2)如果存在乘方符号,即First不等于0,则继续进行计算,否则退出循环。
(3)进入循环体内部,得到“^”前面的子串tempStr(“3+2”),寻找tempStr中的最后一个运算符temp(这里是“+”),则Temp和First之间的字符就是乘方符号的第一个参数(“2”)。
(4)同样的逻辑,得到“^”后面的子串tempStr(“5/4”),寻找tempStr中的第一个运算符位置temp(“/”),则Temp和First之间的字符就是乘方符号的第二个参数(“5”)。
(5)去掉乘方符号和两个参数,得到左侧子串left(“3+”)和右侧子串right(“/4”)。
(6)利用这两个参数和乘方符号,计算乘方,将结果返回,并插入在left和right之间,得到一次计算后的新字符串(“3+32/4”)。
(7)判断新串内部是否包含“^”,如果包含,则返回到步骤(3),不包含则进入下一种运算。
第3章 “速算24”扑克游戏--单元、异常、逻辑
3.5 数学逻辑单元(3)5.计算整个表达式的值
TotalCompute函数利用循环,找到最内层的一对括号,然后调用SubCompute函数处理这一对括号中的表达式。SubCompute函数处理的表达式中已经没有括号了,因此SubCompute只需处理乘方、加、减、乘、除,返回结果,形成新的字符串。
当整个字符串缩减至空值时,整个表达式计算完成。
程序代码如下所示:
function TotalCompute(Str:String):integer;var First:integer;Last:integer;SubStr:String;LeftStr:String;Middle:String;Right:String;temp:integer;begin First:=LastDelimiter('(',Str);//定位最后一个(号位置 while(First<>0)do begin SubStr:=Copy(Str,First+1,Length(Str)-First);Last:= Pos(')',Str);//Last:=Last+First;//定位最后一个(号以后的最开始的)号位置
LeftStr:=Copy(Str,1,First-1);//(号左边的字符串
Middle:=Copy(Str,First+1,Last-First-1);//()号中间的字符串
Right:=Copy(Str,Last+1,Length(Str)-Last);//)号右边的字符串
temp:=SubCompute(Middle);//进入下面的计算
Middle:=IntToStr(temp);
Str:=LeftStr+Middle+Right;First:=LastDelimiter('(',Str);end;
Result:=SubCompute(Str);end;end.在程序中,“计算”按钮的OnClick事件处理程序中调用TotalCompute函数。函数中使用了一些数学函数和定位字符串的函数,这些函数Delphi已经在相应的系统单元中进行了定义,我们需要把这些系统单元包括到文件里面:
uses Sysutils,Math;将前面调用TotalCompute的注释去掉,把代码改回:
procedure TForm1.Button2Click(Sender: TObject);var result:integer;answer:String;begin result:=TotalCompute(Edit1.Text);if(result=24)then Application.MessageBox('您真行,我服了您!','对了',MB_OK)else begin
第四篇:c++24点游戏
c++24点游戏
#include “iostream” #include “string” using namespace std;
//定义Stack类
const maxsize=20;
enum Error_code { success, overflow, underflow };
template
bool empty()const;bool full()const;int size()const;void clear();
Error_code top(T &item)const;Error_code pop();
Error_code push(const T &item);private: int count;T entry[maxsize];};
template
template
bool Stack
template
bool Stack
template
template
template
Error_code Stack
template
Error_code Stack
template
Error_code Stack
Stack
int set;
// 判断程序中的异常,以便适时退出?//
void process(char c)
//计算两个数的 +-* / 运算// { int k=0;double a,b;sign.pop();
if(num.top(b)==success){
num.pop();
if(num.top(a)==success){ num.pop();k=1;} } if(k){ switch(c){
case '+': num.push(a+b);break;case '-': num.push(a-b);break;case '*': num.push(a*b);break;case '/': if(b==0){ set=4;num.push(-1);} else
num.push(a/b);break;} }
else {set=1;num.push(-1);} }
void get_command(string &str){
cout<<“n请输入要进行运算的表达式,包括” +,-,*,/,=,(,)“和数字,”< <<“注意: 以数字开头,等号结尾,中间括号要匹配.”< double do_command(const string &str){ string s=“"; double outcome=-1;char c; for(int i=0;str[i]!=' ';i++){ if(set!=0)break;//例外 则停止运行 while(1){ //分离数据与运算符 if(str[i]<='9' && str[i]>='0' || str[i]=='.'){ s+=str[i];i++;} else { if(s!=”“){ if(num.push(atof(s.c_str()))==overflow)set=3;s=”“;} break;} } char ch= str[i]; switch(ch){ //处理运算的优先级,并注意例外抛出 case '*': case '/': if(sign.top(c)==success)if(c=='*'||c=='/')process(c);if(sign.push(ch)==overflow)set=3;break;case '+': case '-': while(sign.top(c)==success){ if(c!='(')process(c);else break;} if(sign.push(ch)==overflow)set=3;break;case '(': if(sign.push(ch)==overflow)set=3;break;case ')': while(sign.top(c)==success){ if(c!='(')process(c);else break;} sign.pop();break;case '=': while(sign.top(c)==success){ if(c!='(')process(c);else break;} break; default: set=2;break;} } if(num.size()==1 && sign.size()==0)num.top(outcome);else set=1; if(set==0)cout<<”运算结果是:n“< if(set==1)cout<<”n您输入的不匹配,有错误发生。Result lost!“< if(set==4)cout<<”n 分母为0,不能进行除法运算,出现溢出,Lost result!“< return outcome;} void main()int f(){ double out;do { string str,s;set=0; get_command(str);s=str; if(str[0]=='-')str='0'+str;//处理表达式中的负号 for(int i=1;str[i]!=' ';i++){ if(str[i]=='-' && str[i-1]=='('){ str.insert(i,”0“);i++;} } out= do_command(str); cout< 我gai过此行 cout<<”如果你算的结果不等于24,需要重新计算请输入你算出的结果,程序有漏洞,请合作。“< return out;} int main(void) { int ii,zz,jj; printf(”0-12的4个数字nn“); for(jj=0;jj<2;) { for(ii=0;ii<4;ii++) { zz=rand()()% 12; cout< } cout<<”请用这4个数字算出24“< f(); cout<<”是否继续;是1否2"< cin>>jj; cout< } 试题二: 判断题 1.碳素钢比合金钢容易出现锻造缺陷 2.45钢的锻造温度范围是800℃~1200℃ 3.型砂是制造砂型的主要材料 4.由于浇注时型芯受到高温金属流的冲刷和包围,因此要求型芯具有比普通型砂更好的综合性能 5.型芯烘干的目的是提高其强度和透气性,使浇注时型芯产生的气体大大减少,以保证铸件的质量 6.铸件的重要受力面、主要加工面浇注时应该朝上 7.铸型一般由上、下型和浇、冒系统组成 8.通常我们说的白口铸铁、可锻铸铁、球墨铸铁,它们是根据碳在铸铁中存在的形态不同而分的 9.铸铁之所以被广泛用于工业生产中,其部分原因是具有良好的耐磨性和减震性,并易于切削加工 10.透气性是指气体通过铸型的能力 11.金属材料加热温度越高,越变得软而韧,锻造越省力 12.确定锻造温度范围的原则是:保证金属在锻造过程中具有良好的锻造性能即塑性高,变形抗力小及在锻后能获得良好的内部组织 13.冲压的基本工序分为:分离工序和冲孔 工序两大类 14.可锻性的好坏,常用金属的塑性和变形 抗力两个指标来衡量 15.锻造时金属加热的温度越高,锻件的质 量就越好 16.自由锻件所需坯料的质量与锻件的质量 相等 17.电焊时选择电流的唯一依据是接头型式18.压力焊只需加压,不必加热 19.一般情况下焊件越厚,选用的焊条直径 越粗 20.焊条越粗,选择的焊接电流越小 21.焊条药皮中合金剂的作用是向焊缝中渗 合金 22.气焊时发生回火,应先关掉氧气开关 23.气焊时被焊工件越薄,工件变形越大 24.退火冷却一般为炉冷 25.正火冷却一般为油冷 26.淬火冷却为水冷或油冷 27.表面要求硬度高,中心要求韧性好的齿 轮采用正火处理 28.淬火后零件采用洛氏硬度检验 29.为了提高工件的使用性能,淬火后的工 件 一定要配合不同温度的回火 30.随回火温度的提高,钢的强度和硬度下降,塑性和韧性提高 31.退火是为了提高零件的硬度和耐磨性 32.淬火是为了降低零件的硬度,以便于切削加工 33.中温回火主要用于各种弹簧,锻模的处理 34.通常把淬火后进行高温回火的热处理工艺过程称为调质处理 35.锻造后零件毛坯应进行退火或正火处理 36.热处理工序的目的在于改善钢的使用性能和工艺性能 37.切削速度就是指机床转速 38.车削外圆面时车刀刀杆应与车床轴线平行 39.切断刀有两个副偏角 40.普通车床中加工小锥角时,都采用尾架偏移法 41.主偏角大,径向力增大;主偏角小,径向力减少 42.切削时产生的积屑瘤对刀起保护作用 43.车刀刃倾角的主要作用是控制切屑流向 44.切削速度是以每分钟的切削长度来表示的 45.台虎钳是钳工的唯一设备 46.划线基准是零件上用来确定点、线、面 位置的依据 47.锯条的长度是指两端安装孔的中心距,钳工常用的弓锯是300毫米的锯条 48.钻孔时背吃刀量ap和车工加工外圆时的背吃刀量的计算原理相同 49.钳工用攻丝和套丝方法切制的螺纹,通 常都是直径较大的螺纹,而且工件不易搬动 50.为了延长丝锥的使用寿命并提高丝孔精 度,攻丝中应使用冷却液 51.最常用的铣床是卧式铣床和立式铣床 52.当分度手柄转一周,主轴即转动1/40周53.砂轮是磨削的主要工具 54.磨孔主要用来提高孔的形状和位置精度 55.工件的硬度高要选择软的砂轮 56.锻造时为使钢的可锻性好,加热温度应 愈高愈好 57.在退火、正火、淬火的热处理方法中,淬火的冷却速度最快 58.铸型中冒口一般放置于型腔的最高处,便于浇注时排出型腔中的气体 59.钎焊时,只有焊料发生熔化,被焊接的基体金属并不发生熔化 60.锉削时为使平面锉得平,两手在锉刀上 得用力应始终保持一样大 61.在粗锉平面时,为了锉削得快些,应选用粗齿平板锉和交叉锉削方法 62.在钢棒和铸铁棒上可套扣同样尺寸大小得螺纹,但钢棒的外径应比铸铁棒的外径小些 63.车削加工时,对刀具寿命影响最大是切削速度 64.在φ30X30的零件上钻一个φ15的孔(与φ30外圆同心),常在钻床上钻孔 65.在车削加工时,为提高生产率,应首先选择较快的切削速度 66.车床转速加快,但刀具的进给量不变 67.过烧是锻造生产中无法挽救的加热缺陷 68.常言道“趁热打铁”,就是说铸铁是可以锻打的 69.自由锻件所需的坯料重量应与锻件的重量相等 70.平面锉削是,开始应左手压力大,右手压力小且要有推力 71.锯削时,只要锯条安装松紧合适,就能顺利进行锯削 72.铰孔可提高孔的尺寸精度和减小表面粗糙度值,而且还能提高孔与孔之间的位置精度 73.钻孔时,若钻头的两条主切削刃不对称,则使钻出孔的直径比钻头直径大 74.线切割加工用的电源一般是高频脉冲电 源 75.线切割加工可加工软金属材料,也可加 工硬金属材料 76.车削加工时,与工件的已加工表面相对的刀具表面称主后刀面 77.为了使砂型透气性良好,应在砂型上、下箱都扎通气孔 78.冲压的基本工序分为分离工序和变形工 序两大类 79.高碳钢的可焊性差,通常不用它制作焊 接结构件 80.氧气切割是一个熔化过程 81.切断刀有两个主切削刃 82.切削速度是以每分钟工件与刀具在沿主 运动方向相对移动的距离 83.手锯在锯割钢管时,一般选用细齿锯条84.在卧式铣床上进行铣削加工时,常采用 顺铣 85.磨削过程是切削、刻划和滑擦的综合作 用 86.机床转速减慢,进给量加快,可使工件 表面光洁 试题三: 选择题(1) 1.型砂中加入木屑的目的是为了()A、提高砂型的强度 B、提高型砂的退让性和透气性 C、便于起模 2.焊条药皮的主要作用是() A、改善焊接工艺 B、起机械保护作用 C、冶金处理作用 3.垂直型芯的下芯头与上芯头的相比特点是()A、斜度大、高度小 B、斜度小、高度大 C、斜度大、高度大 D、斜度小、高度小 4.灰铸铁适合制造床身、机架、底座、导轨等,除了铸造性和切削性优良外,还因为()A、抗拉强度好 B、抗弯强度好 C、抗压强度好 D、冲击韧性高 5.挖砂造型时,挖砂深度应达到()A、模型的最大截面 B、模型的最大截面以下C、模型的最大截面以上 6.制造模样时,模样的尺寸应比零件大一个()A、铸件材料的收缩量 B、机械加工余量 C、模样材料收缩量+铸件材料的收缩量 D、铸件材料的收缩量+机械加工余量 7.下列物品中适用铸造生产的有() A、车床上进刀手轮 B、螺栓 C、机床丝杠 D、自行车中轴 8.普通车床床身浇注时,导轨面应该() A、朝上 B、朝下 C、朝左侧 D、朝右侧 9.生产中提高合金的流动性,常用的方法是 () A、适当提高浇注温度 B、加大出气口 C、降低出铁温度 D、延长浇注时间 11.熔炼时常用的溶剂() A、焦碳 B、石灰石 C、石蜡 D、原砂 12.浇注温度过高,铸件会产生()A、冷隔 B、粘砂严重 C、夹杂物 D、气孔 13.不是铸造圆角的作用是() A、增加铸件强度 B、方便起模 C、防止冲砂 D、提高浇注速度 14.分型面和分模面是()的 A、不同 B、相同 C、有时相同 15.制好的砂型,通常要在型腔表层涂上一 层涂料,其目的之一是() A、防止粘砂 B、增加透气性 C、增加铸件含碳量 16.有一金属材料加热后其表面性质变软,强度和耐磨性降低,严重的影响了材料的使用性能,这是该材料在加热过程中产生()造成的。A、加热温度过高 B、脱碳 C、加热时间过长 D、炉气中含氧过多 17.下面哪种金属材料不能用来进行锻压加工() A、Q235 B、35钢 C、45钢 D、HT200 18.被镦粗坯料的高度要小于其直径的()倍。 A、2以下 B、2、5~3 C、3~3、5 19.下面哪种钢的可锻性最好() A、45钢 B、10钢 C、80钢 20.在能够完成规定成型工步的前提下,加热次数越多,锻件的质量()A、越好 B、越差 C、不受影响 21.用气焊焊接低碳钢构件时,一般采用() A、氧气焰 B、碳化焰 C、中性焰 22.焊接构件中用得最多的接头型式是() A、对接B、丁字接C、搭接D、角接 23.焊接过程中减少熔池中氢、氧等气体含量的目的是为了防止或减少产生()A、气孔 B、夹渣C、咬边D、烧穿 24.焊低碳钢或普通低合金钢时,选用电焊条的基本原则是() A、等强度原则 B、经济性原则 C、可焊性原则 D、施工性原则 25.T12钢做锉刀时常采用(); A 退火 调质 淬火 低温回火; B 正火 球化退火 淬火 低温回火; C 淬火 低温回火。 26.为了提高45钢的综合机械性能而进行 ()处理。 A 退火; B 正火; C 淬火+中温回火; D 调质。 27.实习中做的锤头(材料45号钢)热处理 应采用()方法。 A 淬火+低温回火; B 退火;C 淬火+高温 回火 28.实习中做的小锤头(材料45号钢)淬火 时只把两端淬硬目的是()A 减少淬火用时间; B 改善使用性能; C 美观。 29.车刀前角的主要作用() A、使刀刃锋利减少切屑变形 B、改变切削力和散热状况 C、改变切削流向 30.在车削螺纹时,下述哪个箱体内的齿轮 允许进行调换,以满足螺距的要求()A、进给箱 B、主轴变速箱 C、留板箱 D、挂轮箱 E、床头箱 31.始锻温度的确定主要受到金属在加热过 程中不至于产生()现象所限制。 A、氧化 B、过热和过烧 C、过软 D、脱碳 32.车削工件时,横向背吃刀量调整方法是() A、刻度圈直接退转到所需刻度 B、转动刀架向左偏移一定量 C、相反方向退回全部空行程,然后再转到所需刻度 33.在车床上用丝杆带动溜板箱时,可以车削() A、外圆柱面 B、螺纹 C、内圆柱面D、成形表面 E、圆锥面 34.在切削平面内,主切削刃与基面之间的夹角为刃倾角,当刀尖位置处于刀刃上最低点时,刃倾角为()A、正值 B、零 C、负值 35.普通车床上加工零件一般能达到的公差等级为() A、IT5~IT3 B、IT7~IT6 C、IT10~IT8 36.车削加工时,如果需要更换主轴转速应() A、先停车,再变速 B、工件旋转时直接变速 C、点动开关变速 37.车削加工表面粗糙度Ra的数值一般能达 到() A、25~12.5 B、12.5~3.2 C、3.2~1.6 D、1.6~0.4 38.在普通车床上主要加工() A、带凸凹的零件 B、盘、轴、套类零件 C、平面零件 39.安装车刀时,刀杆伸出适当的长度应为 () A、刀杆总长的2/3 B、刀杆厚度的1.5~2倍 C、伸出刀架5毫米 D、任意伸长 40.用提开合螺母车削螺纹产生乱扣的原因是() A、车刀安装不正确 B、车床丝杆螺距不是工件螺距的整数倍C、开合螺母未压下去 试题三: 选择题(2) 1.车床通用夹具能自动定心的是() A、四爪卡盘B、三爪卡盘C、花盘 2.车刀上切屑流过的表面称作() A、前刀面 B、主后刀面 C、副后刀面 D、切削平面 3.对正方形棒料进行切削加工时,最方便而且可靠的装夹辅具是()A、三爪卡盘 B、花盘 C、两顶尖 D、四爪卡盘 E、鸡心夹头加拔盘 4.使用右偏刀在车床上车端面,当由外圆向中心进给时,其主要不良结果为() A、引起振动 B、易产生切屑瘤 C、表面粗糙度低 D、产生切削热量大 5.夹头的种类很多,其中夹持力最强的是() A、三爪卡盘 B、四爪卡盘 C、鸡心夹头 D、套筒夹头 6.车削端面产生振动的原因是() A、刀尖钝化 B、切削接角面太大 C、车床主轴或刀台松动 D、以上均有可能 7.车床钻孔时,其主运动是() A、工件的旋转运动 B、钻头的纵向移动 C、钻头的旋转和纵向移动 8.车床上,用转动小溜板法车削圆锥表面时,将小溜板绕轴线旋转的角度应等于工件圆锥角的() A、一倍 B、两倍 C、四倍 D、二分之一 E、四分之一 9.中心架和跟刀架主要用于() A、复杂形状零件的车削 B、细长轴的车削 C、螺纹件的车削D、深内孔镗削 E、长锥体车削 10.经过划线确定加工时的最后尺寸,在加 工过程中应通过()来保证尺寸的准确度。 A、测量 B、划线 C、加工 11.在零件图上用来确定其它点、线、面位 置的基准称为()。 A、设计基准B、划线基准C、定位基准 12.锉削力的运动是()。 A、向前和向下由推产生切削作用 B、向后退回时进行切削 C、向前向后都在切削 13.平板锉的加工范围()。 A、圆孔、方孔B、内曲面C、平面、斜面、外曲面 14.锉削速度为()。 A、80次/分 B、40次/分 C、20次/分 15.磨削后的钻头,两条主切削刃不相等时,钻孔直径()钻头直径。A、等于 B、大于 C、小于 16.在钢和铸铁工件上加工同样直径的内螺纹,钢件的底孔直径比铸铁的底孔直径()。 A、稍大 B、稍小 C、相等 17.一般起锯角度应()。 A、小于15°B、大于15°C、等于15° 18.锉削铜、铝等软金属的工具时,应选用()。 A、细锉刀 B、油光锉 C、什锦锉 D、粗锉刀 E、单齿纹锉刀 19.锯割厚工件时要选择()齿的锯条。 A、粗 B、中 C、细 20.回转工作台的主要用途是()A、加工等分的零件 B、加工圆弧形表面和圆弧形腰槽的零件C、加工体积不大,形状比较规则的零件 21.成形铣刀用于() A、切断工件 B、加工键槽 C、加工特形面 22.在普通铣床上铣齿轮,一般用于()A、单件生产高精度齿轮B、单件生产低精度齿轮C、大批量生产高精度齿轮 D、大批量生产低精度齿轮 23.砂轮的硬度是指() A、砂轮上磨料的硬度 B、在硬度计上打出来的硬度C、磨粒从砂轮上脱落下来的难易 程度D、砂轮上磨粒体积占整个砂轮体积的百分比 24.一根各段同轴度要求较高的淬硬钢的台 阶轴,其各段外圆表面的精加工应为()A、精密车削 B、在外圆磨床上磨外圆 C、在无心磨床上磨外圆 25.对尺寸公差要求达到IT4级,表面粗糙 度Ra为0.012的工件应采用哪一种光整加工() A、研磨B、珩磨C、高级光磨D、抛光E、镗磨 26.生产中为提高合金的流动性常采用的方 法是() A、加大出气口B、延长浇注时间 C、提高浇注温度D、降低出铁温度 27.如需5件45号钢的车床主轴箱齿轮,其 合理的毛坯制造方法是() A、模锻B、冲压C、铸造 D、自由锻 28.碳素钢的可焊性主要决定于() A、焊接技术高低 B、焊条直径的选 择 C、含碳量的多少 D、焊接电流大小 29.浇注温度过高,铸件会产生() A、气孔 B、粘砂严重 C、夹杂物 D、冷隔 30.下列金属材料,哪一种不能用来进行锻 压加工()A、铸铁B、碳钢C、黄铜D、纯铝 31.在下列物品中,适用铸造方法生产的是() A、钢精锅B、机床床身C、机床丝杆D、铝饭盒 32.用冲模沿封闭轮廓线冲切薄板料,冲下来的部分为成品,这种冲模是()A、落料模B、冲孔模C、切断模D、拉伸模 33.下列几种焊接方法中,属于熔化焊的是() A、点焊B、钎焊C、电弧焊D、摩擦焊 34.对20X20正方形棒料进行车削加工时,最方便可靠的装夹方法是()A、三爪卡盘B、四爪卡盘C、花盘D、鸡心夹头加拨盘 35.在钢和铸铁工件上加工同样的内螺纹,钢件的底孔直径比铸铁的底孔直径() A、稍大B、稍小C、相等D、无规律 36.刀具耐用度确定后,在进行粗加工时,切削用量的选取,首先选()A、尽可能大的切削速度Vc B、尽可能大的背吃刀量apC、尽可能大的进给量f D、任意选择关系不大 37.使用分度头作业时,如要将工件转10°,则分度头手柄应转()A、10/9转 B、1/36转 C、1/4转 D、1转 38.砂轮的硬度是指() A、磨粒的硬度 B、磨粒从砂轮上脱落的难易程度 C、磨粒在砂轮中所占体积的百分比 D、砂轮整体的硬度 39.精车时,切削用量的选择,应首先考虑 () A、切削深度B、进给量 C、切削速度D、生产率 40.灰铸铁与碳钢的性能比较是() A、塑性差B、硬度低C、耐磨性差 试题三: 选择题(3) 1.下列材料中最适用铸造方法生产毛坯的是() A、低碳钢B、高碳钢C、灰铸铁 2.生产铜合金铸件时的熔炼设备常用() A、冲天炉B、坩埚炉 C、电弧炉 3.下列材料中可锻性最好的材料是() A、低碳钢B、高碳钢C、灰铸铁 4.下列自行车零件中适用于冲压加工的是() A、中轴B、挡泥板C、钢丝 5.用电弧焊焊接板厚为4mm的钢板时,较适合的焊条直径是()A、φ1 B、φ4 C、φ8 6.用气焊焊接高碳钢时,宜选用的火焰为() A、中性焰B、氧化焰C、碳化焰 7.在恒定转速下,由外向中心进行端面车削时,其切削速度是() A、由小变大B、由大变小C、不变 8.精车时,车刀的前角应选用() A、较大些B、较小些C、任意 9.一个中碳钢制零件上有一个φ6的孔,其表面粗糙度要求0.8,其最后的加工方法为() A、钻孔B、磨孔C、铰孔 10.用气焊焊接铸铁时,气焊的火焰应选用 () A、中性焰B、碳化焰C、氧化焰 11.在砂型铸造中,冒口一般应设置于铸件的() A、厚壁处B、薄壁处C、铸件最先凝固处 12.手工电弧焊时,焊接电流的大小选择根据是() A、焊接钢板的厚度 B、焊条直径 C、焊接钢板的成分 13.自行车链罩的生产方法为()A、冷冲压 B、锻造 C、铸造 14.生产机床中手轮铸造毛坯五只,其造型 方法为() A、整模两箱造型B、分模两箱造型C、挖砂造型 15.在车床上欲加工φ80×80轴的外圆,车 加工时采用的装夹方法为() A、前后顶尖B、三爪卡盘C、四爪卡盘 16.在切削用量三要素中,对刀具耐用度影 响最大的是() A、切削速度B、切削深度C、进给量 17.在一个铸铁的机架上欲加工φ12的孔,其精度为IT10,粗糙度为0.8,常用的加工方法为() A、钻--铰 B、钻--镗C、钻--磨 18.下列材料中可焊性好的是() A、灰铸铁B、低碳钢C、高碳钢 19.零件进行热处理的主要目的是()A、提高尺寸精度B、改变性能C、减小表面粗糙度 20.手工锯条要求高硬度、高耐磨性,常用的材料是() A、碳素结构钢B、碳素工具钢C、不锈钢 21.最适宜于铸造生产的毛坯材料是()A、灰铸铁B、低碳钢C、高碳钢 22.下列材料中可锻性好的是() A、灰铸铁B、低碳钢 C、高碳钢 23.铸造生产中冒口的主要作用是() A、液态金属的通道B、调节金属的温度 C、补缩 24.校徽宜用的生产方法是() A、铸造 B、冷冲压 C、自由锻 25.用φ12圆钢制造保安窗,宜用的焊接方法是() A、气焊B、钎焊C、手工电弧焊 26.在灰铸铁板上,欲攻M12的螺纹,则底孔直径应为() A、φ12 B、比φ12稍大C、比φ12稍小 27.钳工锯削2mm的薄钢板时,应选用的锯条为() A、粗齿 B、细齿 C、中齿 28.在尺寸为300×60×5的钢板中心需加工 一个φ15的孔,常用的加工方法为()A、车床上钻孔B、镗床上钻孔C、钻床上钻孔 29.一个φ30内孔,其孔表面粗糙度要求为 Ra=0、6um,其精加工方法为()A、钻孔 B、磨孔 C、车削镗孔 30.常用冒口来防止铸件缩孔的产生,当铸 件壁厚相差较大、合金材料收缩率较大时,冒口应放置在铸件的() A、铸件厚壁处B、铸件薄壁处C、铸件 平均壁厚处 31.欲用锻造方法生产尺寸为φ100×40的齿轮毛坯(材料为45号钢),应选用锻 造坯料为()A、φ100×40 B、φ55×135 C、φ20×250 32.在焊补铸铁件时,气焊的火焰应选用() A、氧化焰B、中性焰C、碳化焰 33.焊接厚度为5mm的两块低碳钢板,应采 用的焊接方法为()A、电弧焊B、气焊C、钎焊 34.生产2件φ1500×100的齿轮坯,应采用的造型方法为() A、分模两箱造型 B、整模造型 C、刮板造型 D、假箱造型 35.设计锻件时,应充分考虑纤维组织的分 布,通常应使零件工作时的最大拉力() A、与纤维方向一致 B、与纤维方向垂直 C、与纤维方向成45° 36.当用自动走刀车削一定直径的零件时,若将主轴转速增大,则进给量()A、加快 B、不变 C、减慢 37.铣削Z=59的齿轮,用传动比为1:40的分度头进行分度,每次分齿时手柄应转动() A、59/40转 B、40/59转 C、1/59转 38.在车床上加工一根φ40×100轴的外圆,宜采用的装夹方法为()A、三爪卡盘B、四爪卡盘C、前后顶尖 39.车削锥度大,长度较短的锥体工件时常 用() A、转动小拖板B、偏移尾座 C、靠模车削 40.用来制造铣刀的材料主要是() A、碳素工具钢 B、合金工具钢C、高速钢第五篇:工程训练题库