1 00:00:07,370 --> 00:00:09,760 [Powered by Google Translate] Tommy MacWilliam: talk Ejja dwar loops, wieħed mill-komuni 2 00:00:09,760 --> 00:00:13,380 programmazzjoni constructs Ser naraw matul CS50. 3 00:00:13,380 --> 00:00:15,570 Aħna ser tuża loops meta rridu li jwettaq 4 00:00:15,570 --> 00:00:17,200 kompitu aktar minn darba. 5 00:00:17,200 --> 00:00:20,700 Per eżempju, aħna tista 'tixtieq li jistampaw "hi" 100 darba jew stampata 6 00:00:20,700 --> 00:00:22,700 out kollha l-ittri tal-alfabett. 7 00:00:22,700 --> 00:00:26,030 F'dawn iż-żewġ każijiet, aħna għandna waħda ħaġa li rridu nagħmlu 8 00:00:26,030 --> 00:00:28,700 darbiet multipli, jistampa xi ħaġa barra. 9 00:00:28,700 --> 00:00:31,970 Madankollu, dak li aħna jistampa kull darba jista 'jvarja. 10 00:00:31,970 --> 00:00:34,530 Allura nistgħu nagħmlu xi ħaġa ftit differenti fuq kull 11 00:00:34,530 --> 00:00:37,820 iterazzjoni, jew run permezz, tal-linja. 12 00:00:37,820 --> 00:00:41,280 Ser naraw tliet tipi differenti ta 'loops fis-C, waqt li 13 00:00:41,280 --> 00:00:44,700 loops, għal-linji, u jagħmlu filwaqt loops. 14 00:00:44,700 --> 00:00:47,850 Għalkemm dawn it-tliet tipi ta 'linji għandhom sintassi differenti, 15 00:00:47,850 --> 00:00:50,630 l-ideat wara minnhom huma l-istess. 16 00:00:50,630 --> 00:00:53,930 Aħna ser jiddefinixxu xi blokk ta 'kodiċi ġewwa ċineg kaboċċi, 17 00:00:53,930 --> 00:00:57,810 imsejjaħ il-korp tal-linja, li aħna rridu li jiġu eżegwiti 18 00:00:57,810 --> 00:00:59,790 xi numru ta 'drabi. 19 00:00:59,790 --> 00:01:03,370 Billi tinbidel il-valuri ta 'varjabbli użati fil-ġisem, aħna 20 00:01:03,370 --> 00:01:07,570 tista 'tagħmel loop tagħna tagħmel xi ħaġa differenti kull darba huwa run. 21 00:01:07,570 --> 00:01:10,750 Ma 'kwalunkwe loop aħna tikteb, aħna ser bżonn ukoll li jiddeċiedu meta l- 22 00:01:10,750 --> 00:01:12,400 loop se tieqaf taħdem. 23 00:01:12,400 --> 00:01:15,650 Jekk aħna ma tagħmel dan, imbagħad il-kompjuter trusty tagħna se tkompli 24 00:01:15,650 --> 00:01:19,040 jiddekorri dan loop sakemm aħna joqtlu l-programm. 25 00:01:19,040 --> 00:01:22,490 Fl Scratch, nistgħu jużaw il-irrepeti n-ħinijiet 26 00:01:22,490 --> 00:01:24,600 blokk biex joħolqu loop. 27 00:01:24,600 --> 00:01:28,200 Kollha tal-biċċiet ġewwa blokk li qal ripetuti 10 28 00:01:28,200 --> 00:01:30,130 tkun run 10 darbiet. 29 00:01:30,130 --> 00:01:34,160 U mbagħad, aħna'd jimxu fuq il-biċċiet wara li loop. 30 00:01:34,160 --> 00:01:38,140 Allura kondizzjoni tat-twaqqif tagħna kien sempliċi, dan blokk kien 31 00:01:38,140 --> 00:01:39,830 run 10 darbiet. 32 00:01:39,830 --> 00:01:43,900 Mela ejja jirrikreaw dan C. Sabiex tiġi żgurata Scratch 33 00:01:43,900 --> 00:01:46,920 li l-biċċiet fi ħdan il-blokk ripetuti huma esegwiti 34 00:01:46,920 --> 00:01:51,180 eżattament 10 darbiet, Scratch jeħtieġ li jżommu rekord ta 'kull 35 00:01:51,180 --> 00:01:53,750 eżekuzzjoni tal-blokka ripetuti. 36 00:01:53,750 --> 00:01:56,790 Biex iżżomm kont ta 'kif ħafna drabi ġisem loop tagħna kien 37 00:01:56,790 --> 00:02:00,360 esegwiti, ejja toħloq varjabbli imsejjaħ i. 38 00:02:00,360 --> 00:02:03,400 Aħna ser tibda off i għal żero, peress loop tagħna 39 00:02:03,400 --> 00:02:04,650 ma tkunx ġiet run s'issa. 40 00:02:10,009 --> 00:02:10,949 OK 41 00:02:10,949 --> 00:02:15,560 Issa aħna ser tuża l-keyword filwaqt li tibda off loop tagħna. 42 00:02:20,100 --> 00:02:24,180 Issa għandna bzonn biex insemmu meta loop tagħna se tieqaf, iżda 43 00:02:24,180 --> 00:02:26,730 ejja jħallu din għal issa u mbagħad terġa 'lura għal dan. 44 00:02:30,970 --> 00:02:32,150 Kull dritt. 45 00:02:32,150 --> 00:02:35,260 Ġewwa ta 'linja tagħna, ejja biss print messaġġ out, bħal 46 00:02:35,260 --> 00:02:38,535 "Hi." Nistgħu nużaw l-funzjoni printf għal dan. 47 00:02:48,400 --> 00:02:49,230 Kull dritt. 48 00:02:49,230 --> 00:02:54,210 Allura issa aħna ser tirreġistra dik l iterazzjoni tal-ġisem loop għandha 49 00:02:54,210 --> 00:02:55,750 ġew eżegwiti. 50 00:02:55,750 --> 00:03:00,320 Nistgħu nagħmlu dan billi żżid 1 sa, jew inkrementazzjoni, kontro tagħna 51 00:03:00,320 --> 00:03:01,740 varjabbli, i. 52 00:03:01,740 --> 00:03:09,180 Biex tagħmel dan, nistgħu ngħidu i huwa ugwali għal i plus 1, jew aktar 53 00:03:09,180 --> 00:03:16,520 sempliċiment, i plus plus. 54 00:03:16,520 --> 00:03:17,320 Great. 55 00:03:17,320 --> 00:03:21,810 Allura issa nistgħu naraw li kull darba loop tagħna hija mmexxija, tagħna 56 00:03:21,810 --> 00:03:24,500 varjabbli kontro tmur minn waħda. 57 00:03:24,500 --> 00:03:29,410 Allura nafu eżattament kemm iterazzjonijiet konna run s'issa. 58 00:03:29,410 --> 00:03:31,630 Wara iterazzjoni waħda mill-linja, il-valur tagħna 59 00:03:31,630 --> 00:03:34,270 ta 'i se tkun l-1. 60 00:03:34,270 --> 00:03:37,460 Wara żewġ iterazzjonijiet, i se tkun 2. 61 00:03:37,460 --> 00:03:42,640 U wara 10 iterazzjonijiet, i se jkun 10. 62 00:03:42,640 --> 00:03:46,780 Allura, jekk irridu biex imexxu dan loop eżattament 10 darbiet, imbagħad 63 00:03:46,780 --> 00:03:49,240 dan huwa meta irridu jieqfu. 64 00:03:49,240 --> 00:03:53,860 Allura aħna tixtieq li tmexxi dan loop filwaqt i huwa inqas minn 10, u 65 00:03:53,860 --> 00:03:57,630 dan huwa eżattament dak li aħna ser tikteb, filwaqt i 66 00:03:57,630 --> 00:04:02,450 huwa inqas minn 10. 67 00:04:02,450 --> 00:04:06,380 Din il-kondizzjoni tidher biss bħal l-kundizzjonijiet aħna użati fil jekk 68 00:04:06,380 --> 00:04:07,830 blokki inkella. 69 00:04:07,830 --> 00:04:11,690 Wara l-korp ta 'linja tagħna ġiet eżegwita, programm tagħna 70 00:04:11,690 --> 00:04:14,690 se jaqbżu lura sa l-kundizzjoni loops. 71 00:04:14,690 --> 00:04:17,290 Jekk il-kondizzjoni hija vera, allura l-korp ta 'l- 72 00:04:17,290 --> 00:04:18,990 loop se titmexxa mill-ġdid. 73 00:04:18,990 --> 00:04:22,190 Jekk il-kondizzjoni huwa aktar veru, allura loop tagħna mhux se jkun 74 00:04:22,190 --> 00:04:25,700 run aktar u se jimxu fuq il-linja li jmiss tal-kodiċi 75 00:04:25,700 --> 00:04:27,876 taħt loop tagħna. 76 00:04:27,876 --> 00:04:28,550 Kull dritt. 77 00:04:28,550 --> 00:04:30,740 Mela ejja tagħti ħarsa lejn xi tip ieħor ta ' 78 00:04:30,740 --> 00:04:33,000 loop, il għar loop. 79 00:04:33,000 --> 00:04:37,310 Li jmiss għall-keyword filwaqt li, fil-parentesi, kellna ħaġa waħda, 80 00:04:37,310 --> 00:04:39,840 il-kundizzjoni li hemm bżonn li jkun veru għall- 81 00:04:39,840 --> 00:04:42,010 ġisem loop li jitmexxew. 82 00:04:42,010 --> 00:04:45,440 Dan ifisser kellna biex joħolqu varjabbli kontro tagħna barra 83 00:04:45,440 --> 00:04:48,760 tal-linja u ftakar li inkrement huwa f'xi punt 84 00:04:48,760 --> 00:04:51,050 ġewwa tal-linja. 85 00:04:51,050 --> 00:04:54,320 Il-header għall tagħna għall loop, min-naħa l-oħra, għandu tliet 86 00:04:54,320 --> 00:04:58,510 partijiet, kull waħda minnhom se jkunu separati bit punto virgola. 87 00:04:58,510 --> 00:05:01,950 Fl-ewwel terz tagħna, aħna tista 'tiddikjara kwalunkwe kontro jew helper 88 00:05:01,950 --> 00:05:05,000 Varjabbli aħna tixtieq li tuża fit-loop tagħna. 89 00:05:05,000 --> 00:05:07,350 Fil-prattika, dan jista 'jkun verament utli. 90 00:05:07,350 --> 00:05:10,590 Aħna verament ma bżonn li varjabbli, i, wara filwaqt li tagħna 91 00:05:10,590 --> 00:05:13,650 loop tkun run, hekk aħna verament ma għandu jkollhom li tiddikjaraha 92 00:05:13,650 --> 00:05:15,810 barra tal-linja. 93 00:05:15,810 --> 00:05:19,080 It-tielet tieni se jkun il-kondizzjoni li għandha tkun vera 94 00:05:19,080 --> 00:05:21,850 għall-korp li għandhom jiġu eżegwiti mill-ġdid, bħal 95 00:05:21,850 --> 00:05:23,330 fil-linja waqt tagħna. 96 00:05:23,330 --> 00:05:26,350 Fl-aħħar terz tagħna, aħna tista 'taħdem dikjarazzjoni li tkun 97 00:05:26,350 --> 00:05:30,270 esegwiti wara kull iterazzjoni tal-linja, hekk aħna ma jkollhomx 98 00:05:30,270 --> 00:05:32,710 biex din tinbena fil-ġisem loop. 99 00:05:32,710 --> 00:05:38,390 Mela ejja tikteb għal linja li jgħodd isfel 5-1. 100 00:05:38,390 --> 00:05:41,790 Aħna ser tibda bil-keyword għall. 101 00:05:41,790 --> 00:05:44,680 Nistgħu noħolqu varjabbli counter ewwel, li aħna ser 102 00:05:44,680 --> 00:05:47,840 stabbiliti sa 5 dan iż-żmien peress li aħna qed għadd isfel, 103 00:05:47,840 --> 00:05:50,110 segwit b'waqfa u virgola. 104 00:05:50,110 --> 00:05:53,660 Li jmiss huwa kundizzjoni tagħna, li aħna ser terga 'lura għal. 105 00:05:53,660 --> 00:05:57,540 It-tielet, aħna tixtieq decrement varjabbli kontro tagħna wara 106 00:05:57,540 --> 00:05:59,620 kull iterazzjoni tal-linja. 107 00:05:59,620 --> 00:06:04,740 Allura minflok qal i plus plus, aħna ser ngħidu i nieqes minus. 108 00:06:04,740 --> 00:06:05,300 Kull dritt. 109 00:06:05,300 --> 00:06:09,490 Allura aħna rridu l-korp loop jiddekorri waqt i għadu 110 00:06:09,490 --> 00:06:11,960 akbar minn 0. 111 00:06:11,960 --> 00:06:16,160 Fil-ġisem tal-linja, ejja jistampa l-valur ta 'i. 112 00:06:16,160 --> 00:06:20,480 Biex tagħmel dan, aħna ser tuża l-funzjoni printf, bl-użu% d 113 00:06:20,480 --> 00:06:21,650 placeholder. 114 00:06:21,650 --> 00:06:24,820 Ftakar, li placeholder se jiġu sostitwiti bl- 115 00:06:24,820 --> 00:06:27,040 valur ta 'i. 116 00:06:27,040 --> 00:06:32,060 Fl-aħħarnett, ejja żid dikjarazzjoni wara tagħna għall loop. 117 00:06:32,060 --> 00:06:35,850 Meta aħna run dan loop, i se tibda off fil-5, 118 00:06:35,850 --> 00:06:38,070 hekk 5 se jiġu stampati. 119 00:06:38,070 --> 00:06:42,000 Ladarba i gets għal 0, il-kundizzjoni kontinwazzjoni, i huwa 120 00:06:42,000 --> 00:06:44,450 akbar minn 0, se jibqgħu jżommu. 121 00:06:44,450 --> 00:06:47,330 Allura loop tagħna se tieqaf esekuzzjoni, u aħna ser tara l- 122 00:06:47,330 --> 00:06:49,850 dikjarazzjoni wara l-linja. 123 00:06:49,850 --> 00:06:51,340 Mela ejja jimxu dan il-kodiċi. 124 00:06:51,340 --> 00:06:52,700 L-ewwel, aħna ser jiġbor 125 00:06:52,700 --> 00:06:56,460 countdown.c ma jagħmlu countdown. 126 00:06:56,460 --> 00:06:59,320 Issa, aħna tista 'taħdem din il-kodiċi ma. / Countdown. 127 00:07:02,340 --> 00:07:06,040 Fiż-żewġ linji filwaqt u għal loops, kontinwazzjoni tagħna 128 00:07:06,040 --> 00:07:09,010 kundizzjoni ser tiġi ċċekkjata qabel ma l-korp 129 00:07:09,010 --> 00:07:10,960 tal-linja hija esegwita. 130 00:07:10,960 --> 00:07:13,840 Dan ifisser li, jekk il-kundizzjoni tagħna ma tkunx inizjalment 131 00:07:13,840 --> 00:07:18,100 veru, allura l-korp ta 'linja tagħna qatt mhu se titmexxa. 132 00:07:18,100 --> 00:07:22,060 Allura huwa xi kultant utli biex jiċċekkja l-kondizzjoni wara l- 133 00:07:22,060 --> 00:07:25,150 korp tal-linja minflok quddiemha. 134 00:07:25,150 --> 00:07:28,270 Mela ejja tikteb loop biex fil-pront lill-utent għal numru 135 00:07:28,270 --> 00:07:30,990 sakemm numru pożittiv huwa fornut. 136 00:07:30,990 --> 00:07:34,740 Jekk l-utent inputs numru negattiv, aħna ser jridu jistaqsu lilhom 137 00:07:34,740 --> 00:07:36,260 għal numru ieħor. 138 00:07:36,260 --> 00:07:38,940 Allura aħna ser tixtieq li dan pront li jkun ġewwa l- 139 00:07:38,940 --> 00:07:41,050 ġisem off-linja. 140 00:07:41,050 --> 00:07:44,730 Madankollu, meta l-linja hija mmexxija għall-ewwel darba, l-utent 141 00:07:44,730 --> 00:07:46,750 ma tatna n-numru għadu. 142 00:07:46,750 --> 00:07:49,640 Għalhekk ma jagħmilx sens li tivverifika jekk huwa pożittiv. 143 00:07:49,640 --> 00:07:54,020 Minflok, aħna ser jridu jiċċekkjaw in-numru wara l-korp ta ' 144 00:07:54,020 --> 00:07:55,720 il-linja hija mmexxija. 145 00:07:55,720 --> 00:08:00,310 Nistgħu nagħmlu dan bl-do filwaqt loop. 146 00:08:00,310 --> 00:08:03,560 L-ewwel, aħna ser toħloq varjabbli, n, li ser ikollu 147 00:08:03,560 --> 00:08:05,230 input l-utent. 148 00:08:05,230 --> 00:08:09,960 Issa aħna ser tuża l-keyword do, segwit minn ċineg kaboċċi li 149 00:08:09,960 --> 00:08:12,930 se tibda off-korp ta 'linja tagħna. 150 00:08:12,930 --> 00:08:16,230 Fil-ġisem, nistgħu pront lill-utent għal numru bl- 151 00:08:16,230 --> 00:08:18,480 GetInt funzjoni. 152 00:08:18,480 --> 00:08:23,230 Issa, aħna ser jridu li l-korp ta 'dan loop biex tesegwixxi ġdid jekk 153 00:08:23,230 --> 00:08:28,370 l-utent ittajpjat numru negattiv, hekk aħna ser ngħidu filwaqt n 154 00:08:28,370 --> 00:08:30,420 huwa inqas minn 0. 155 00:08:30,420 --> 00:08:33,140 Avviż tal-virgola hawn wara l-istqarrija waqt. 156 00:08:38,909 --> 00:08:40,679 Mela ejja jimxu dan il-kodiċi. 157 00:08:40,679 --> 00:08:44,780 L-ewwel, aħna ser jiġbor dan ma jagħmel pożittiv. 158 00:08:44,780 --> 00:08:49,340 Issa nistgħu tmexxi l-programm ma '. / Pożittiv. 159 00:08:49,340 --> 00:08:52,660 Jekk nagħtu dan il-programm numru negattiv, bħall negattiv 160 00:08:52,660 --> 00:08:56,560 4, allura aħna ser tkun imħeġġa mill-ġdid għal numru peress li l- 161 00:08:56,560 --> 00:09:00,490 kondizzjoni ta 'do tagħna filwaqt loop kien veru. 162 00:09:00,490 --> 00:09:04,690 Ladarba aħna nagħtu numru pożittiv, bħal 8, allura l- 163 00:09:04,690 --> 00:09:08,560 kondizzjoni ta 'do tagħna filwaqt loop se jibqgħu vera. 164 00:09:08,560 --> 00:09:12,080 Allura l-linja mhux ser jiġi eżegwit mill-ġdid. 165 00:09:12,080 --> 00:09:15,290 U li huwa għat-tliet tipi ta 'linji aħna ser tuża fil C. 166 00:09:15,290 --> 00:09:18,840 Jisimni Tommy, u dan huwa CS50.