1 00:00:00,000 --> 00:00:00,285 2 00:00:00,285 --> 00:00:03,030 >> DAVID J. Malan: Komencu skribo iuj pli kompleksaj kondiĉoj. 3 00:00:03,030 --> 00:00:06,530 En aparta, ni skribos programon kiuj instigas la uzanton por entjero, 4 00:00:06,530 --> 00:00:09,460 diri, inter 1 kaj 10, kaj poste faras iom da analizo. 5 00:00:09,460 --> 00:00:14,530 Sed ĉi-foje reporting ĉu tiu nombro estas malgranda aŭ mezaj aŭ grandaj Institucioj 6 00:00:14,530 --> 00:00:17,480 grandeco, desegnado tiuj distingoj sufiĉe arbitre. 7 00:00:17,480 --> 00:00:21,040 >> Por fari tion, mi tuj fidi get int, ke funkcio de la CS50 8 00:00:21,040 --> 00:00:22,860 librejo kiuj faras precize tion. 9 00:00:22,860 --> 00:00:24,350 Kaj mi ankaŭ tuj leverage print f. 10 00:00:24,350 --> 00:00:28,530 Do mi iros por starti per inkludante cs50.h kiel 11 00:00:28,530 --> 00:00:31,880 tiel kiel normon io.h. 12 00:00:31,880 --> 00:00:36,460 >> Kaj tuj poste deklarus ĉefa en la kutima maniero, int ĉefa malplenon, malferma krispa 13 00:00:36,460 --> 00:00:38,440 streĉa, proksime krispa streĉa. 14 00:00:38,440 --> 00:00:41,240 Kaj mi tiam tuj suflori la uzanto por entjero. 15 00:00:41,240 --> 00:00:48,340 Print f, bonvolu doni al mi int inter 1 kaj 10. 16 00:00:48,340 --> 00:00:52,640 >> Nun ni ricevas, ke int per deklari variablon nomitan, diru, n kaj atribuante 17 00:00:52,640 --> 00:00:55,520 ĝi la reveno valoro de Get int. 18 00:00:55,520 --> 00:00:57,300 Ni nun faru iom de analizo. 19 00:00:57,300 --> 00:01:04,500 >> Se n estas pli granda ol aŭ egala al 0 kaj n estas malpli ol aŭ egala al, ekzemple, 3, 20 00:01:04,500 --> 00:01:12,560 tiam ni tuj iru antaŭen kaj printi el vi plukis malgranda int. 21 00:01:12,560 --> 00:01:15,730 >> Alie, se la uzanto elektas, diru, mezgranda valoro, ni 22 00:01:15,730 --> 00:01:16,960 kontroli por ke kiel sekvas. 23 00:01:16,960 --> 00:01:23,360 Alie, se n estas pli granda ol aŭ egala al, diru, 4 kaj n estas malpli ol aŭ egala al, 24 00:01:23,360 --> 00:01:31,850 diru, 7, tiam mi iros por printi el vi plukis mediumo int. 25 00:01:31,850 --> 00:01:36,490 >> Fine, mi tuj supozi ke se la valoro estas inter 8 kaj 10, oni 26 00:01:36,490 --> 00:01:37,550 plukis grandaj int. 27 00:01:37,550 --> 00:01:44,140 Do por esprimi tion, mi povos tajpi, alie se n estas pli granda ol aŭ egala al 8 kaj n 28 00:01:44,140 --> 00:01:53,590 estas malpli ol aŭ egala al 10, iri antaŭen kaj presi vi plukis grandaj int. 29 00:01:53,590 --> 00:01:55,720 >> Alie, ekzistas la kvara kondiĉo tie. 30 00:01:55,720 --> 00:01:59,520 Se la uzanto ne kunlaboru kaj anstataŭ tajpitaj valoro kiu estas malpli ol 31 00:01:59,520 --> 00:02:04,430 0 aŭ pli granda ol 10, mi volas simple riproĉi ilin. 32 00:02:04,430 --> 00:02:12,490 Alie, presi, vi plukis nevalidan int. 33 00:02:12,490 --> 00:02:13,950 >> Ni savu la dosieron. 34 00:02:13,950 --> 00:02:17,580 Traduku ĝin per fari ne-ŝaltilo. 35 00:02:17,580 --> 00:02:21,650 Reen al mia invitilo, mi tuj ekkuros per skalara oblikvo ne-ŝaltilo. 36 00:02:21,650 --> 00:02:23,320 Kaj ni provu kelkajn valorojn. 37 00:02:23,320 --> 00:02:26,110 >> Unue, ni estu uncooperative kaj tajpu en negativa 1. 38 00:02:26,110 --> 00:02:30,970 Feliĉe, ke estis detektita de nia fina filion en tiu kondiĉo. 39 00:02:30,970 --> 00:02:36,530 Ni provu denove kun skalara oblikvo ne-ŝaltilon, ĉifoje donante ĝin 1. 40 00:02:36,530 --> 00:02:37,900 Mi ja elektis malgrandan int. 41 00:02:37,900 --> 00:02:43,250 >> Ni faru tion denove kun skalara oblikvo ne-ŝaltilon, ĉifoje pluki, diru, 5. 42 00:02:43,250 --> 00:02:44,590 Kaj tio estas mediumo int. 43 00:02:44,590 --> 00:02:48,200 Ni nun ja denove dot oblikvo ne-ŝaltilo. 44 00:02:48,200 --> 00:02:52,650 Kaj donu gxin valoro de 10, kiun Estas ja granda int. 45 00:02:52,650 --> 00:02:55,310 >> Nun estas notinde, ke ĉi tiu programo povus esti implementado en 46 00:02:55,310 --> 00:02:56,840 ajn da manieroj. 47 00:02:56,840 --> 00:03:00,160 Unue, ĝi estis tute ajnaj kiujn mi tiris la liniojn, ke mi 48 00:03:00,160 --> 00:03:03,290 faris inter malgrandaj, mezaj, kaj grandaj ints. 49 00:03:03,290 --> 00:03:05,230 Ni povis esti desegnita tiuj limoj ie. 50 00:03:05,230 --> 00:03:08,930 >> Sed pli interese, mi ne havas min esprimi kun ĉiuj el tiuj 51 00:03:08,930 --> 00:03:13,440 pli granda ol aŭ egala al aŭ malpli ol aŭ egala al signoj. 52 00:03:13,440 --> 00:03:18,880 Mi povus esti, ekzemple, reskribita se n estas pli granda ol aŭ egala al 4 kaj 53 00:03:18,880 --> 00:03:24,760 n estas malpli ol aŭ egala al 7, kiel anstataŭ se n estas pli granda ol 3 kaj n 54 00:03:24,760 --> 00:03:29,130 estas malpli ol 8, do presi vi plukis mediumo int. 55 00:03:29,130 --> 00:03:33,360 >> Post ĉio, se la uzanto enigo, per naturo de Get int, estas entjero, ni 56 00:03:33,360 --> 00:03:37,580 povas aŭ provo se tiu valoro estas pli granda ol 3 aŭ pli granda ol aŭ 57 00:03:37,580 --> 00:03:38,740 egalas 4. 58 00:03:38,740 --> 00:03:43,130 Kaj ni povus kontroli ankaŭ se tiu valoro malpli ol 8-malpli 59 00:03:43,130 --> 00:03:44,590 ol aŭ egala al 7. 60 00:03:44,590 --> 00:03:45,860