1 00:00:00,000 --> 00:00:02,270 [Powered by Google Translate] [Ġimgħa 2, Ikompli] 2 00:00:02,270 --> 00:00:04,220 [David J. Malan, Università ta 'Harvard] 3 00:00:04,220 --> 00:00:06,880 [Dan huwa CS50. - CS50.TV] 4 00:00:06,880 --> 00:00:10,990 Kull dritt. Dan huwa CS50, u dan huwa l-aħħar ta 'ġimgħa 2. 5 00:00:10,990 --> 00:00:14,410 Jekk inti tistenna li tkun bil-ġuħ madwar dan iż-żmien ta 'għada, 6 00:00:14,410 --> 00:00:18,620 jafu li aħna qed tmur biex ilaqqa bħala għada grupp żgħir, il-Ħamis, 13:15. 7 00:00:18,620 --> 00:00:21,360 Hemm dan il-URL hawn jekk inti tixtieq li RSVP. 8 00:00:21,360 --> 00:00:26,740 L-ispazju huwa limitat, għalhekk jekk jogħġbok nahfru jekk il-formola tkun mimlija mill-ħin li inti timla dan. 9 00:00:26,740 --> 00:00:29,300 Ieħor URL, madankollu, li jista 'jkun ta' interess hija din. 10 00:00:29,300 --> 00:00:32,369 Fil biss dwar żmien xahar, il-kors se jkun disponibbli 11 00:00:32,369 --> 00:00:36,890 l-aktar wiesa 'permezz EDX, li permezz tagħhom folks fuq l-Internet se tkun tista' ssegwi tul, 12 00:00:36,890 --> 00:00:39,380 jidħlu fil-kors pjuttost attiv, fil-fatt. 13 00:00:39,380 --> 00:00:42,270 Huma ser tkun qed tuża l-Appliance CS50 u CS50 Iddiskuti 14 00:00:42,270 --> 00:00:45,490 u ħafna mill-għodod ta 'softwer varji li aħna diġà kienu jużaw dan is-semestru. 15 00:00:45,490 --> 00:00:48,710 U waħda mill-inizjattivi aħna tixtieq tieħu fuq bħala esperiment din is-sena 16 00:00:48,710 --> 00:00:51,930 huwa li tara biss kemm kontenut nistgħu tittraduċi 17 00:00:51,930 --> 00:00:53,960 f'lingwi oħra mitkellma u miktuba. 18 00:00:53,960 --> 00:00:57,500 Mela jekk inti jista 'jkollhom interess li jieħdu sehem f'dan il-proġett 19 00:00:57,500 --> 00:01:02,270 fejn aħna se jipprovdu transcripts Ingliż u sottotitoli għall lekċers tal-kors tal- 20 00:01:02,270 --> 00:01:05,450 u xorts u seminars u sezzjonijiet u simili, 21 00:01:05,450 --> 00:01:08,200 jekk inti titkellem b'mod mexxej jew ikteb b'mod mexxej xi lingwa oħra, 22 00:01:08,200 --> 00:01:12,290 aħna imħabba li jidħlu lilek f'dan il-proġett fejn inti tieħu fuq waħda jew aktar mill-videos, 23 00:01:12,290 --> 00:01:15,200 traduzzjoni tagħhom f'lingwa li taf pjuttost tajjeb. 24 00:01:15,200 --> 00:01:18,700 >> Biex jagħtuk sens ta 'l-interface, hemm dan user interface web-based 25 00:01:18,700 --> 00:01:22,090 li aħna ser tkun qed tuża li se joħolqu essenzjalment UI bħal dan. 26 00:01:22,090 --> 00:01:24,290 Dan kien me tagħlim xi Halloween ilu, 27 00:01:24,290 --> 00:01:27,390 u fuq in-naħa tal-lemin hemm bl-iswed li jmiss ma 'dawn it-timbri żmien, 28 00:01:27,390 --> 00:01:31,210 int ser tara l-affarijiet varji li ħareġ mill-ħalq tiegħi dik il-ġurnata, 29 00:01:31,210 --> 00:01:34,850 u allura taħtu inti ser tkun tista 'tittraduċi fis xi lingwa oħra 30 00:01:34,850 --> 00:01:38,690 eżattament dak li l-immappjar huwa bejn, f'dan il-każ, l-Ingliż u, ngħidu aħna, l-Ispanjol. 31 00:01:38,690 --> 00:01:40,440 Allura huwa attwalment ħafna faċli għall-utent għodda. 32 00:01:40,440 --> 00:01:43,370 Tista 'Rewind u malajr jibgħat ħafna faċilment mal keyboard shortcuts. 33 00:01:43,370 --> 00:01:47,490 Mela jekk inti tixtieq li tieħu sehem f'din l-esperiment u jkollhom kliem tiegħek jidher u jinqara 34 00:01:47,490 --> 00:01:51,850 billi potenzjalment eluf ta 'folks hemmhekk, jekk jogħġbok tħossok liberu li jipparteċipaw. 35 00:01:51,850 --> 00:01:54,350 Kelma waħda dwar il-kitten mit-Tnejn. 36 00:01:54,350 --> 00:02:00,350 Lest għandna bagħtet messaġġ wisq scary, do jirrealizzaw li, bħala ħinijiet tal-uffiċċju jissuġġerixxu 37 00:02:00,350 --> 00:02:03,300 u bħala taqsimiet li jmiss jissuġġerixxu, id-disinn tal-kors huwa ferm 38 00:02:03,300 --> 00:02:07,360 li l-istudenti jikkollaboraw u tkellem biex jaħdmu permezz settijiet problema 39 00:02:07,360 --> 00:02:11,260 u problemi flimkien, u verament il-linja biss niġu isfel sa, 40 00:02:11,260 --> 00:02:16,010 għal darb'oħra, ix-xogħol inti finalment iressqu għandu jkun tiegħek. 41 00:02:16,010 --> 00:02:18,860 U għalhekk pjuttost onestament, b'mod ħinijiet tal-uffiċċju huwa totalment normali, 42 00:02:18,860 --> 00:02:22,240 huwa totalment mistennija saħansitra, li chat ma 'xi ħabib li jmiss lilek. 43 00:02:22,240 --> 00:02:24,370 >> Jekk hu jew hi qed tissara ma 'xi tema u int simili, 44 00:02:24,370 --> 00:02:27,940 "Oh, ukoll, let me jagħtuk idea ta 'xi linja tal-kodiċi li I kiteb," li l-multa, 45 00:02:27,940 --> 00:02:31,250 li jiġri, u li ħafna jwasslu, naħseb, mal-proċess ta 'tagħlim. 46 00:02:31,250 --> 00:02:36,750 Fejn il-linja gets qasmu huwa meta l-kap huwa tip ta 'mmejjel hawn fuq għal ftit sekondi bogħod wisq 47 00:02:36,750 --> 00:02:41,160 jew minuti għal dak li verament għadhom kif ġew opportunità żblokk għall-ħabib tiegħek, 48 00:02:41,160 --> 00:02:44,160 u ċertament meta l-affarijiet nikseb skambjata permezz ta 'email u Dropbox u simili, 49 00:02:44,160 --> 00:02:45,640 hemm wisq huwa l-linja. 50 00:02:45,640 --> 00:02:48,620 Allura bil-mezzi kollha jħossuhom komdi u jħossu mħeġġa biex chat mal-ħbieb 51 00:02:48,620 --> 00:02:52,810 u klassi dwar psets u aktar u biss tirrealizza li dak li inti finalment iressqu 52 00:02:52,810 --> 00:02:57,340 għandhom verament tkun il-prodott tal-ħolqien tiegħek u mhux xi ħadd ieħor. 53 00:02:57,340 --> 00:03:00,490 U għalhekk waħda mill-problemi dominju speċifiċi għall pset2, 54 00:03:00,490 --> 00:03:04,740 li se toħroġ għada bil-lejl tard, huwa li adsa fis-dinja ta 'kriptografija, 55 00:03:04,740 --> 00:03:08,970 li hija l-arti ta 'encrypting jew scrambling informazzjoni, 56 00:03:08,970 --> 00:03:12,600 u dan finalment tirrigwarda l-dinja ta 'sigurtà. 57 00:03:12,600 --> 00:03:16,560 Issa, is-sigurtà għal ħafna minna jidħol fil-forma ta 'mekkaniżmi pjuttost mundane. 58 00:03:16,560 --> 00:03:19,050 Lkoll usernames u passwords, 59 00:03:19,050 --> 00:03:23,450 u lkoll usernames u passwords ħżiena ħafna, l-aktar probabbli. 60 00:03:23,450 --> 00:03:28,240 >> Jekk il-password tiegħek hi l-istess fuq il-websajts multipli, li probabbilment ma jkunx l-idea aħjar, 61 00:03:28,240 --> 00:03:30,070 kif aħna ser jiddiskutu lejn tmiem semestru tal. 62 00:03:30,070 --> 00:03:34,720 Jekk il-password tiegħek huwa miktub fuq nota twaħħal - mhix ċajta - fuq il-monitor tiegħek, 63 00:03:34,720 --> 00:03:38,350 li wisq mhuwiex neċessarjament l-aħjar disinn, iżda pjuttost fenomenu komuni. 64 00:03:38,350 --> 00:03:42,470 U jekk ma tkunx qed tużah kriptografija għall-kriptaġġ passwords tiegħek, 65 00:03:42,470 --> 00:03:44,210 dawn huma partikolarment vulnerabbli. 66 00:03:44,210 --> 00:03:47,270 Mela jekk inti taħseb li int qed super għaqlija billi jkun hemm dokument Word moħbija 67 00:03:47,270 --> 00:03:49,910 x'imkien fuq hard drive tiegħek li tkun kollha ta 'passwords tiegħek 68 00:03:49,910 --> 00:03:53,670 iżda huwa fil-folder li ħadd għaddej biex tħares, li wisq mhix mekkaniżmu sikura ħafna. 69 00:03:53,670 --> 00:03:56,990 U iva, liema pset2 se jintroduċi hija din l-arti tal-kriptografija 70 00:03:56,990 --> 00:04:02,010 u scrambling informazzjoni hekk li l-affarijiet bħall-passwords huma l-aktar sikuri. 71 00:04:02,010 --> 00:04:05,790 Il-kuntest hawnhekk hija li ma 'data mhux sikuri 72 00:04:05,790 --> 00:04:07,930 taqa opportunità li kriptaġġ u biex ġirja dan. 73 00:04:07,930 --> 00:04:11,470 U hekk dan, per eżempju, huwa eżempju ta 'messaġġ encrypted. 74 00:04:11,470 --> 00:04:14,700 Dan fil-fatt jgħid xi ħaġa bl-Ingliż, iżda b'mod ċar mhux kompletament evidenti. 75 00:04:14,700 --> 00:04:18,279 U aħna ser jiġu ċirku sħiħ llum biex tease apparti dak li dan il-messaġġ sigriet hawnhekk huwa. 76 00:04:18,279 --> 00:04:23,490 Imma fid-dinja reali ta 'kompjuters, l-affarijiet ma anki look like dawn jistgħu jkunu frażijiet Ingliż. 77 00:04:23,490 --> 00:04:28,430 Per eżempju, dan huwa dak li inti tista 'ssib fuq Linux jew Mac standard jew UNIX kompjuter 78 00:04:28,430 --> 00:04:32,070 fil-fajl li kienet darba fuq żmien imsejjaħ il-fajl password. 79 00:04:32,070 --> 00:04:34,200 >> Illum huwa kien imċaqlaq għall-postijiet l-oħra. 80 00:04:34,200 --> 00:04:39,210 Imma jekk inti tfittex fil-post it-tajjeb fuq sistema, tkun taf tara mhux biss username tiegħek 81 00:04:39,210 --> 00:04:43,400 jew dik ta 'persuni oħra fuq is-sistema, iżda inti ser tara verżjoni encrypted password ta' tagħhom. 82 00:04:43,400 --> 00:04:47,980 Tabilħaqq, il-kripta kelma hemmhekk jissuġġerixxi li l-għalf li ġej huwa encrypted, 83 00:04:47,980 --> 00:04:52,680 u din is-serje ta 'ittri apparentement każwali u karattri u numri u oħrajn 84 00:04:52,680 --> 00:04:56,480 jistgħu jiġu decrypted biss bil ġeneralment jaf xi sigriet - 85 00:04:56,480 --> 00:04:58,840 kelma sigrieta, numru sigriet - 86 00:04:58,840 --> 00:05:03,160 u għalhekk fil-fatt, l-arti tal-kriptografija finalment jeħodna għall-fiduċja ta 'xi tip 87 00:05:03,160 --> 00:05:05,650 u jafu xi ħaġa li xi ħadd ieħor ma. 88 00:05:05,650 --> 00:05:10,090 Allura aħna ser tesplora dan fid-dettall daqsxejn aktar llum u fil-pset li ġejjin. 89 00:05:10,090 --> 00:05:12,200 U issa l-kelma fuq għadda / jonqsu. 90 00:05:12,200 --> 00:05:15,360 Speċjalment peress li wħud mill inti dived fis pset1, il Appliance, 91 00:05:15,360 --> 00:05:19,080 u dinja ferm ġdida għalik innifsek, tirrealizza li frustrazzjonijiet u konfużjoni 92 00:05:19,080 --> 00:05:21,700 u biss diffikultajiet tekniċi huma pjuttost mistennija, 93 00:05:21,700 --> 00:05:24,180 speċjalment ma 'l-pset 1, fejn hemm biss tant ġodda, 94 00:05:24,180 --> 00:05:27,730 biss jkollna familjari ma 'ls u cd u kollha dawn il-kmandijiet arcane 95 00:05:27,730 --> 00:05:33,050 u ambjent ġdid, u li separata mill-materjal attwali u l-ipprogrammar innifsu. 96 00:05:33,050 --> 00:05:36,940 Hekk tirrealizza wkoll li hemm ċerti ħinijiet tal-uffiċċju li jeżistu bħala struttura ta 'appoġġ. 97 00:05:36,940 --> 00:05:38,880 >> Taqsimiet jibda dan il-Ħadd li ġej. 98 00:05:38,880 --> 00:05:42,960 Iżda aktar importanti, jekk int tħossok ftit li dan mhuwiex il-dinja għalik, 99 00:05:42,960 --> 00:05:44,710 jirrealizzaw li huwa verament ma biss jieħu ż-żmien. 100 00:05:44,710 --> 00:05:48,600 U kieku ma kienx għal din l-opportunità snin ilu għalija li jieħu pass klassi / jonqsu, 101 00:05:48,600 --> 00:05:50,990 onestament, jien qatt ma saħansitra sett marda fil-klassi. 102 00:05:50,990 --> 00:05:53,690 U inti tista 'tbiddel dan sa, ngħidu aħna, it-Tnejn 5 tal-kors, 103 00:05:53,690 --> 00:05:58,280 hekk jekk int fuq it-tarf issa, jirrealizzaw li aktar milli ras fis xi f'ibħra oħrajn għal kollox, 104 00:05:58,280 --> 00:06:01,260 do ċertament jikkunsidraw ftit tibdil biex suċċess / falliment. 105 00:06:01,260 --> 00:06:04,570 Għal darb'oħra, hemm mhux verament din il-kultura hawn fil-Harvard tat-teħid affarijiet suċċess / falliment 106 00:06:04,570 --> 00:06:08,670 peress li kulħadd verament jixtieq li jilħqu jew taqbeż il- 107 00:06:08,670 --> 00:06:11,130 iżda franchement, dan huwa wunderbare mod ta 'tipprova xi ħaġa barra 108 00:06:11,130 --> 00:06:16,720 li jistgħu ma jkunux familjari għalik, u tkun taf jispiċċaw jagħmlu, f'ħafna każijiet, pjuttost multa, 109 00:06:16,720 --> 00:06:18,210 forsi ħafna biex sorpriża tiegħek. 110 00:06:18,210 --> 00:06:20,980 U f'termini iktar konkreti, dak li naħseb suċċess / falliment ġeneralment ma, 111 00:06:20,980 --> 00:06:22,940 speċjalment peress li inti jista 'jkollok esperjenza bil pset0, 112 00:06:22,940 --> 00:06:26,560 jekk inti tpoġġi fil 10 siegħa, 15 siegħa, 25 siegħa fis xi pset 113 00:06:26,560 --> 00:06:29,920 u int biss banging ras tiegħek kontra l-ħajt u huwa jkollna super tard bil-lejl 114 00:06:29,920 --> 00:06:33,950 imma inti ħadt il-pset 90% tal-mod u inti biss ma tistax figura ħaġa waħda, 115 00:06:33,950 --> 00:06:36,520 suċċess / falliment verament jieħu l-tarf off ta 'klassi bħal dan, 116 00:06:36,520 --> 00:06:39,100 fejn inti tista sort ta heureusement jgħidu, "Okay, I know mhuwiex perfett, 117 00:06:39,100 --> 00:06:42,350 imma I maħduma ħmar tiegħi off fuq dan, jien pjuttost kuntenti bil fejn spiċċaw, " 118 00:06:42,350 --> 00:06:44,850 u li se jilħqu l-aspettattivi għal suċċess / falliment. 119 00:06:44,850 --> 00:06:47,540 Allura iżommu dan f'moħħhom. Kull dritt. 120 00:06:47,540 --> 00:06:50,520 >> Allura dawk fostkom li għadhom tħabtu biex jużaw l-Università ta 'Harvard Wi-Fi, 121 00:06:50,520 --> 00:06:54,780 jafu li hemm SSID CS50, konnessjoni Wi-Fi, floating madwar 122 00:06:54,780 --> 00:06:56,490 li jista 'jkollok Xorti aħjar għall. 123 00:06:56,490 --> 00:07:00,130 Huwa ironiku ftit li l-password għal dan, jekk inti tixtieq li tipprova konnessjoni għal dan 124 00:07:00,130 --> 00:07:08,350 għal veloċitajiet aħjar - u jgħidilna jekk l-ebda aħjar - huwa 12,345, it-triq kollha sa 8 125 00:07:08,350 --> 00:07:10,910 għaliex 8 hija aktar sikura minn 5. 126 00:07:10,910 --> 00:07:16,910 Mela jekk għandek bżonn l-password Wi-Fi, jgħaqqdu wirelessly CS50 hawn, 12345678, 127 00:07:16,910 --> 00:07:20,380 u post fuq CS50 Iddiskuti jekk inti għad għandek kwistjonijiet konnettività intermittenti, 128 00:07:20,380 --> 00:07:25,420 u aħna ser let-setgħat li jiġu jafu għal dan l-ispazju. Kull dritt. 129 00:07:25,420 --> 00:07:32,230 Allura teaser malajr, speċjalment għal dawk minnkom li huma subien fann jew bniet ta 'kull Apple affarijiet. 130 00:07:32,230 --> 00:07:37,460 What I dug up minn ftit snin lura kien dan il-fajl hawn, iUnlock.c, 131 00:07:37,460 --> 00:07:39,930 biss biex tip ta 'juri b'mod aktar konkret u aktar kumplessi 132 00:07:39,930 --> 00:07:42,560 xi wħud mill-programmi C aktar bażiċi aħna kont qed miktub. 133 00:07:42,560 --> 00:07:46,910 So I fetaħ dan il-fajl, iUnlock.c. Huwa disponibbli fuq il-paġna Lectures għal-lum. 134 00:07:46,910 --> 00:07:49,810 Fuq in-naħa tax-xellug inti tara lista twila ta 'funzjonijiet. 135 00:07:49,810 --> 00:07:53,230 Allura l-kollegi li kiteb dan kiteb ħafna ta 'funzjonijiet, aktar milli sempliċiment prinċipali. 136 00:07:53,230 --> 00:07:57,340 Huwa użat mazz sħiħ ta 'libreriji hawn, u jekk nibdew scrolling permezz, 137 00:07:57,340 --> 00:08:04,890 dak li dan fil-fatt huwa huwa l-ewwel, nemmen, xquq għall-iPhone oriġinali. 138 00:08:04,890 --> 00:08:09,830 >> Meta inti riedu jailbreak l-iPhone oriġinali, li jfisser untether minn AT & T 139 00:08:09,830 --> 00:08:13,710 u fil-fatt jinstallaw softwer speċjali fuqha u jagħmlu affarijiet li Apple ma riedx nies biex jagħmlu, 140 00:08:13,710 --> 00:08:18,480 xi ħadd ħa l-ħin biex insemmu eżattament kif jistgħu jisfruttaw difetti tas-softwer, 141 00:08:18,480 --> 00:08:22,690 żbalji, bugs, fis-software Apple, u għalhekk twieled iUnlock.c-- 142 00:08:22,690 --> 00:08:26,760 li jekk inti miġbura fuq il-kompjuter tiegħek u stallat fuq iPhone 143 00:08:26,760 --> 00:08:29,430 li kienu konnessi mat-kompjuter tiegħek permezz, ngħidu aħna, USB cable, 144 00:08:29,430 --> 00:08:32,450 dan se jagħtuk privileġġi amministrattivi jew għerq fuq iPhone tiegħek 145 00:08:32,450 --> 00:08:34,620 u ħalli inti tagħmel pretty ħafna dak kollu li tixtieq. 146 00:08:34,620 --> 00:08:36,400 U hekk hemm kien dan il-qtates affaxxinanti u kaċċa ġurdien 147 00:08:36,400 --> 00:08:39,340 bejn Apple u l-bqija tad-dinja, b'mod partikolari peress li, bħal ħafna kumpaniji, 148 00:08:39,340 --> 00:08:43,350 jippruvaw biex jissakkar Jittieħed tagħhom stabbiliti sabiex inti tista 'biss tagħmel magħha dak li bi ħsiebhom. 149 00:08:43,350 --> 00:08:47,360 Iżda grazzi għall-persuni bħal dan u l-fehim ta 'livell baxx dettalji - 150 00:08:47,360 --> 00:08:50,830 u f'dan il-każ C programmazzjoni - u ħafna ta 'l constructs familjari 151 00:08:50,830 --> 00:08:55,280 li konna bdew jilagħbu ma ', inti tista' verament jwieżen l-hardware 152 00:08:55,280 --> 00:08:59,250 b'mod tara xieraq u mhux neċessarjament xi entità korporattiva. 153 00:08:59,250 --> 00:09:01,600 Għalhekk per eżempju, għandi l-ebda idea dak li dan kollu qed tagħmel, 154 00:09:01,600 --> 00:09:03,580 iżda GetVersion ħsejjes pjuttost sempliċi, 155 00:09:03,580 --> 00:09:05,710 u jidher qisu dan huwa funzjoni li din il-persuna kiteb. 156 00:09:05,710 --> 00:09:09,250 Huwa jieħu xi tip ta 'numru sħiħ bħala argument, ma ritorn xejn, 157 00:09:09,250 --> 00:09:13,710 iżda jidher li loop bi għar loop hawn u jekk il-kundizzjoni, jekk il-waqfa kundizzjoni, 158 00:09:13,710 --> 00:09:16,770 u b'xi mod tirrigwarda numri verżjoni jekk aħna iscroll, 159 00:09:16,770 --> 00:09:19,650 anke jekk ħafna ta 'dawn keywords ser ikunu ġodda. 160 00:09:19,650 --> 00:09:22,590 U hemm lott kollu ta 'funzjonijiet fl here we ve qatt u ma tista qatt tara 161 00:09:22,590 --> 00:09:24,350 matul il-kors tas-semestru. 162 00:09:24,350 --> 00:09:29,160 >> Fl-aħħar tal-ġurnata, isegwi l-istess regoli u l-loġika li aħna ħadthom ġiet playing ma 's'issa. 163 00:09:29,160 --> 00:09:34,340 Allura dan huwa wisq antik biex jitwaqqaf 3s iPhone tiegħek jew 4s jew ftit 5s dawn il-ġranet, 164 00:09:34,340 --> 00:09:38,830 imma jafu li dan kollu ħafna derivat minn din id-dinja li konna dived fis. 165 00:09:38,830 --> 00:09:42,280 Ejja tagħti ħarsa lejn eżempju ftit aktar sempliċi: 166 00:09:42,280 --> 00:09:46,260 dan wieħed, biss li tikseb msaħħna ma 'xi sintassi u wkoll xi tip ieħor tad-data 167 00:09:46,260 --> 00:09:48,910 li konna tkellimna dwar iżda ma verament jidhru fil C. 168 00:09:48,910 --> 00:09:53,670 Dan il-fajl huwa msejjaħ positive1.c, u kull l-kummenti fil-quċċata, 169 00:09:53,670 --> 00:09:56,070 dan biss jitlob li l-utent jipprovdi numru pożittiv. 170 00:09:56,070 --> 00:09:59,910 Allura huwa eżempju ta 'loop do-waqt, li huwa sabiħ għal programmi ta' utenti interattivi 171 00:09:59,910 --> 00:10:02,070 fejn għandek bżonn li tgħid l-utent li jagħmel xi ħaġa, 172 00:10:02,070 --> 00:10:05,530 u jekk ma jikkoperaw inti Yell fil minnhom jew tirrifjuta l-kontribut tagħhom. 173 00:10:05,530 --> 00:10:10,480 Kawża fil-punt: I am ser tagħmel linji 19 permezz 24 174 00:10:10,480 --> 00:10:14,620 sakemm l-utent ma jkunx tani numru pożittiv. 175 00:10:14,620 --> 00:10:21,340 Dan dettall hawn fuq il-linja 18, għaliex ma niddikjara n ogħla minn dan looping kollu jinbena 176 00:10:21,340 --> 00:10:26,870 għall-kuntrarju dritt li jmiss għal-linja 22 fejn I attwalment kura biex tikseb n? Yeah. 177 00:10:26,870 --> 00:10:29,330 [Student] Kamp ta 'applikazzjoni. >> Yeah, hekk din il-kwistjoni tal-ambitu. 178 00:10:29,330 --> 00:10:31,770 U f'termini laymans, dak ma iskop jirreferu għall? 179 00:10:34,880 --> 00:10:41,560 Yeah. >> [Rispons istudent inaudible] >> Tista titkellem ftit louder? 180 00:10:41,560 --> 00:10:45,440 [Student] Fejn inti tista 'aċċess dak il-varjabbli. >> Perfect. 181 00:10:45,440 --> 00:10:47,610 Fejn inti tista 'aċċess varjabbli partikolari. 182 00:10:47,610 --> 00:10:50,990 U ġeneralment, ir-regola ta 'thumb s'issa kienet li l-ambitu ta' xi varjabbli 183 00:10:50,990 --> 00:10:56,140 hija definita mill-ċineg kaboċċi aktar riċenti li inti stajt tidher. 184 00:10:56,140 --> 00:11:03,070 >> U hekk f'dan il-każ, jekk I għamel l-iżball li tiddikjara n fuq il-linja 22, dik il-linja tkun taħdem. 185 00:11:03,070 --> 00:11:10,840 Nixtieq nikseb int, u jien poġġih fil dak n-varjabbli fil-linja 22, 186 00:11:10,840 --> 00:11:17,060 iżda li linja tal-kodiċi issa se jkollhom l-ebda idea dak li nkun qiegħed jitkellem dwar? >> [Student] 25. 187 00:11:17,060 --> 00:11:23,840 [Malan] 25, u jirriżulta 24 kif ukoll minħabba f'dan il-każ jaqa 'barra taċ-ċingi kaboċċi. 188 00:11:23,840 --> 00:11:28,550 Hekk biss ftit ta 'inkonvenjent, iżda faċilment solvuti billi sempliċement iddikjarat li l-varjabbli 189 00:11:28,550 --> 00:11:30,700 barra tal-funzjoni stess. 190 00:11:30,700 --> 00:11:32,760 Ser naraw aktar tard illum tista 'tmur pass ulterjuri 191 00:11:32,760 --> 00:11:34,940 u inti tista 'anki jiksbu ftit għażżien. 192 00:11:34,940 --> 00:11:39,660 U dan m'għandux jiġi rakkomandat b'mod ġenerali, imma int tista 'wkoll tikseb għażżien 193 00:11:39,660 --> 00:11:44,150 u mqiegħda varjabbli globalment, biex ngħidu hekk, ma ġewwa ta 'funzjoni, mhux ġewwa ta' loop, 194 00:11:44,150 --> 00:11:49,800 iżda fil-fajl innifsu, barra ta 'kollha tal-funzjonijiet li inti stajt bil-miktub, kif għamilt hawn fuq il-linja 15. 195 00:11:49,800 --> 00:11:55,220 Dan huwa ġeneralment frowned fuq, iżda realizzata din hija soluzzjoni kultant għal problemi oħra, 196 00:11:55,220 --> 00:11:56,910 kif aħna ser eventwalment tara. 197 00:11:56,910 --> 00:11:59,500 Allura għal issa aħna ser jitilqu minnu bħal dan, imma ejja ara jekk nistgħu jikteb dan 198 00:11:59,500 --> 00:12:02,360 biss biex tibda jesprimu nfusna ftit differenti. 199 00:12:02,360 --> 00:12:05,550 Dan il-programm, biss biex ikunu ċari, huwa positive1. 200 00:12:05,550 --> 00:12:11,980 Let me imorru quddiem u hawn fil-tieqa terminal tiegħi jagħmlu positive1, Ikteb. 201 00:12:11,980 --> 00:12:15,080 Jikkompila okay. Jien ser jimxu positive1, hit Ikteb. 202 00:12:15,080 --> 00:12:19,250 I domanda li inti tagħti me numru sħiħ pożittiv. I ser ngħid -1. Li ma ħadmux. 203 00:12:19,250 --> 00:12:22,340 0, 99. Li jidher li qed jaħdem. 204 00:12:22,340 --> 00:12:25,310 Forsi mhux l-aktar test rigorużi, iżda mill-inqas huwa kontroll sanità sbieħ 205 00:12:25,310 --> 00:12:27,100 li aħna qed dwar il-binarju dritt. 206 00:12:27,100 --> 00:12:29,570 >> Allura issa let me imorru quddiem u tiftaħ verżjoni 2 ta 'dan l- 207 00:12:29,570 --> 00:12:32,800 u dak li huwa differenti diġà? 208 00:12:32,800 --> 00:12:39,030 Hija timplimenta l-istess ħaġa, iżda x'hemm qbiż b'mod ċar differenti dan iż-żmien? 209 00:12:40,790 --> 00:12:47,090 Dan bool fl-aħdar. Huwa enfasizzat fl-aħdar, dan il-keyword magħrufa bħala bool, li huwa tip ta 'data. 210 00:12:47,090 --> 00:12:50,510 Ma jiġu mibnija għall-verżjonijiet kollha ta 'C. 211 00:12:50,510 --> 00:12:52,650 Ikollok bżonn li jinkludu librerija speċifiku. 212 00:12:52,650 --> 00:12:56,460 Fil-każ tagħna, I inklużi l-librerija CS50 sabiex inkunu jkollhom aċċess għall bool. 213 00:12:56,460 --> 00:12:59,860 Iżda fil-linja 18, aħna jidhru li jkollhom valur Boolean hawn imsejjaħ thankful. 214 00:12:59,860 --> 00:13:02,190 I setgħet sejjaħ dan xejn, imma jien imsejħa thankful 215 00:13:02,190 --> 00:13:04,750 biss it-tip ta 'twassal xi tifsira semantika. 216 00:13:04,750 --> 00:13:07,700 Allura inizjalment fuq il-linja 18, jien apparentement mhux thankful 217 00:13:07,700 --> 00:13:12,230 minħabba li l-valur thankful Boolean huwa initialized li foloz fil-linja 18. 218 00:13:12,230 --> 00:13:16,500 U allura jidher dak I ghamilt hawn fil-linji 21 permezz 23 219 00:13:16,500 --> 00:13:19,200 huwa Stajt biss tip ta 'tinkiteb mill-ġdid loġika tiegħi. 220 00:13:19,200 --> 00:13:26,100 Allura l-ebda funzjonalment differenti, iżda linja 22 issa I jivverifika jekk l-int-utent ikun ipprovda 221 00:13:26,100 --> 00:13:31,360 huwa akbar minn 0, allura I sempliċiment ibiddlu l-valur tal-thankful għall veru. 222 00:13:31,360 --> 00:13:35,590 U għaliex nista 'nagħmlu? Minħabba fil-linja 25, apparentement jien ser jiċċekkja kundizzjoni. 223 00:13:35,590 --> 00:13:39,760 Agħmel dan loop filwaqt huwa thankful falza. 224 00:13:39,760 --> 00:13:42,960 So I propost dan bħala alternattiva għall-verżjoni 1 225 00:13:42,960 --> 00:13:47,050 għaliex dan huwa l-inqas ftit aktar intuwittivi forsi, huwa ftit aktar milli jtir bl-Ingliż. 226 00:13:47,050 --> 00:13:51,980 Allura tagħmel dan li ġej waqt li int ma thankful jew waqt li tkun thankful falza. 227 00:13:51,980 --> 00:13:56,220 U din id-darba wisq I apparentement ma 'kura li tiftakar dak li l-utent ttajpjata 228 00:13:56,220 --> 00:14:00,050 għaliex avviż hemm l-ebda n varjabbli, hekk fil-fatt, jimteddu ftit abjad hemmhekk. 229 00:14:00,050 --> 00:14:03,290 >> Funzjonalment, il-programm huwa daqsxejn differenti ladarba irridu jiksbu l-qiegħ ta 'dan 230 00:14:03,290 --> 00:14:04,960 għaliex jien ma ftakar dak n hija. 231 00:14:04,960 --> 00:14:09,120 Imma jien ridt li juru hawnhekk ukoll li anke jekk aħna stajt tidher GetInt 232 00:14:09,120 --> 00:14:13,780 u GetString qed jintużaw fuq in-naħa tal-lemin ta 'daqs sinjal s'issa 233 00:14:13,780 --> 00:14:17,310 sabiex inkunu tiftakar il-valur, teknikament, li mhux strettament neċessarju. 234 00:14:17,310 --> 00:14:20,290 Jekk għal kwalunkwe raġuni inti biss ma 'kura biex isalva l-valur, 235 00:14:20,290 --> 00:14:25,540 inti biss tixtieq li jiċċekkjaw il-valur, avviż li nistgħu sempliċement jiktbu dan bħala GetInt, 236 00:14:25,540 --> 00:14:27,320 miftuħa paren, paren qrib. 237 00:14:27,320 --> 00:14:30,570 Din il-funzjoni se terġa 'lura għal valur, kif aħna kont qed tgħid. 238 00:14:30,570 --> 00:14:32,220 Huwa ser jagħtuk lura int. 239 00:14:32,220 --> 00:14:34,460 U għalhekk jekk inti mentalment taħseb li dan jiġri, 240 00:14:34,460 --> 00:14:38,190 meta I tip 99, GetInt jirritorna l-għadd 99, 241 00:14:38,190 --> 00:14:41,840 u għalhekk kunċettwali, huwa daqs li kieku kodiċi tiegħi kienu attwalment dan. 242 00:14:41,840 --> 00:14:45,950 Mela jekk 99 huwa tabilħaqq ikbar minn 0, imbagħad isir thankful vera, 243 00:14:45,950 --> 00:14:50,810 imbagħad linja 25 jirrealizza ooh, aħna qed isir għaliex jien issa thankful, 244 00:14:50,810 --> 00:14:53,970 u f'konformità 26, aħna sempliċiment tgħid, "Grazzi għall-eqreb numru sħiħ pożittiv!" 245 00:14:53,970 --> 00:14:55,960 x'ikun ġara li jkun. 246 00:14:55,960 --> 00:14:59,140 Issa ejja nagħmlu zokkor sintattika żgħir hawn, biex ngħidu hekk. 247 00:14:59,140 --> 00:15:04,670 Ejja naraw jekk nistgħu tnaddaf din il-linja 25 ma 'dan il-varjant tielet u finali positive3. 248 00:15:04,670 --> 00:15:13,600 >> Avviż l-unika differenza issa huwa dak linja tal-kodiċi? >> [Student] 25. >> [Malan] Yeah, 25. 249 00:15:13,600 --> 00:15:17,680 U aħna stajt ma verament jidhru dan trick għadha biss, imma aħna ma tara l-punt exclamation nhar it-Tnejn, 250 00:15:17,680 --> 00:15:21,070 li tindika liema? >> [Student] Mhux. >> Mhux jew ċaħda. 251 00:15:21,070 --> 00:15:23,510 Allura jieħdu valur Boolean u flip-valur tagħha. 252 00:15:23,510 --> 00:15:25,810 Veru isir foloz, foloz issir veru. 253 00:15:25,810 --> 00:15:30,420 Allura dan, nixtieq nipproponi, huwa saħansitra xi ftit aktar intuwittivi mod ta 'kitba l-kodiċi 254 00:15:30,420 --> 00:15:33,430 minħabba I xorta initialize thankful għall falza, I għadhom jagħmlu dan li ġej, 255 00:15:33,430 --> 00:15:36,010 I sett thankful għall veru meta jasal iż-żmien, 256 00:15:36,010 --> 00:15:40,880 iżda issa inti tista 'verament ftit tittraduċi din il-kodiċi verbalment xellug għal-lemin, 257 00:15:40,880 --> 00:15:45,630 filwaqt li (thankful!); minħabba bang jew exclamation punt tindika l-kunċett ta 'le, 258 00:15:45,630 --> 00:15:47,580 hekk filwaqt li ma thankful. 259 00:15:47,580 --> 00:15:49,900 Għalhekk għal darb'oħra, aħna ma introduċiet l-ebda kunċetti ġodda per se. 260 00:15:49,900 --> 00:15:53,730 Aħna tkellimna dwar Booleans lura meta aħna lagħbu Scratch, 261 00:15:53,730 --> 00:15:56,720 imma tirrealizza issa nistgħu biss tibda tikteb kodiċi tagħna f'ħafna modi differenti. 262 00:15:56,720 --> 00:16:01,060 Allura speċjalment pset1 jekk int-tip ta 'jitħabtu biex insemmu l-mod li tikteb xi programm, 263 00:16:01,060 --> 00:16:04,340 odds huma int fil Xorti għaliex hemm jista 'jkun kull numru ta' soluzzjonijiet 264 00:16:04,340 --> 00:16:06,110 li inti jista 'jiġri fuq. 265 00:16:06,110 --> 00:16:10,500 Per eżempju, dan huwa biss 3 għall anki l-aktar sempliċi ta 'programmi. Kull dritt. 266 00:16:10,500 --> 00:16:14,200 U issa lura nhar it-Tnejn aħna xellug fuq din in-nota ma 'valuri ta' ritorn. 267 00:16:14,200 --> 00:16:18,450 Allura għall-ewwel darba aħna kiteb programm li ma biss ikollhom prinċipali; 268 00:16:18,450 --> 00:16:22,550 għandu wkoll il-funzjoni tad-dwana tagħha stess li I kiteb hawn. 269 00:16:22,550 --> 00:16:26,810 Allura fil-linja 31 permezz 34 stajt implimentati funzjoni kubu. 270 00:16:26,810 --> 00:16:30,240 Mhuwiex kumplessi. Huwa biss * a * a f'dan il-każ. 271 00:16:30,240 --> 00:16:34,750 Imma x'hemm importanti dwar dan hija li jien teħid input fil-forma ta ' 272 00:16:34,750 --> 00:16:39,180 u jien lura output fil-forma ta '* a * a. 273 00:16:39,180 --> 00:16:43,560 Allura issa għandi l-abbiltà, simili ħafna I użati biex ma Prinf biss, 274 00:16:43,560 --> 00:16:47,240 għal sejħa din il-funzjoni billi ċċempel l-funzjoni kubu. 275 00:16:47,240 --> 00:16:51,970 >> U l-funzjoni kubu tieħu xi input, u l-funzjoni kubu lura xi output. 276 00:16:51,970 --> 00:16:56,960 B'kuntrast, printf biss għamlet xi ħaġa. 277 00:16:56,960 --> 00:17:00,840 Hija ma reġgħux lura xejn li aħna jieħdu ħsiebhom dwar, anki jekk bħala twarrib ma ritorn ta 'valur; 278 00:17:00,840 --> 00:17:03,110 inti biss ġeneralment jinjoraha. 279 00:17:03,110 --> 00:17:06,510 Printf biss għamlet xi ħaġa. Hija kellha effett sekondarju ta 'l-istampar l-iskrin. 280 00:17:06,510 --> 00:17:11,770 B'kuntrast hawn, aħna għandna l-funzjoni kubu, li attwalment prospetti xi ħaġa. 281 00:17:11,770 --> 00:17:15,520 Għalhekk għal dawk familjari ma 'dan, din hija idea pjuttost sempliċi. 282 00:17:15,520 --> 00:17:19,640 Iżda għal dawk inqas familjari ma din l-idea li tgħaddi fil-inputs u jkollna lura outputs, 283 00:17:19,640 --> 00:17:21,950 ejja ipprova biss xi ħaġa sempliċi super. 284 00:17:21,950 --> 00:17:25,490 Huwa xi ħadd komdu ġejjin fuq il-palk fil-qosor? 285 00:17:25,490 --> 00:17:28,040 Int għandek tkun komda ma 'kamera fuqek ukoll. Yeah? Okay. 286 00:17:28,040 --> 00:17:31,240 X'hemm isem tiegħek? >> [Student] Ken. >> Ken. Kull dritt. Ken, come fuq up. 287 00:17:31,240 --> 00:17:35,050 Ken se tkun funzjoni ta 'tip hawn. 288 00:17:35,050 --> 00:17:38,720 Ejja imorru quddiem u jagħmlu dan. Ejja jiksbu fancy ftit. 289 00:17:38,720 --> 00:17:42,260 Nizza biex jissodisfaw inti. Merħba għall-istadju taċ-ċentru. Kull dritt. 290 00:17:42,260 --> 00:17:46,640 Ejja hit din il-buttuna hawn. Kull dritt. 291 00:17:46,640 --> 00:17:49,820 Allura hawnhekk għandek chalkboard moderna, 292 00:17:49,820 --> 00:17:53,470 u dak I am hija l-funzjoni prinċipali, per eżempju, 293 00:17:53,470 --> 00:17:56,460 u jien ma jkollhom iPad fl-idejn tiegħi. 294 00:17:56,460 --> 00:17:59,710 >> I ma verament tiftakar kif - Well, ma nistax ngħid li. 295 00:17:59,710 --> 00:18:02,480 I ma verament ikollhom kalligrafija tajba, 296 00:18:02,480 --> 00:18:05,520 u hekk għalhekk nixtieq li jistampaw xi ħaġa fuq l-iskrin għalija. 297 00:18:05,520 --> 00:18:12,040 I am huwa l-programm prinċipali, u jien ser ikollhom inti ngħid dan 298 00:18:12,040 --> 00:18:16,720 bil-kitba fil-bidunett tat-tiġieġ tiegħi u mbagħad jgħaddi inti input. 299 00:18:16,720 --> 00:18:20,400 Allura iblah għalkemm dan l-eżerċizzju huwa, il-kunċett tal-funzjonijiet u ssejjaħ funzjoni 300 00:18:20,400 --> 00:18:22,400 u r-ritorn funzjoni verament jeħodna għal dan. 301 00:18:22,400 --> 00:18:26,260 I am prinċipali, għadni miktub printf, kwotazzjoni-unquote xi ħaġa fuq l-iskrin, 302 00:18:26,260 --> 00:18:29,110 I am running dan il-programm, u hekk kif printf gets imsejħa, 303 00:18:29,110 --> 00:18:32,880 hija tieħu 1 argument jew parametru wieħed xi kultant bejn kwotazzjonijiet doppja. 304 00:18:32,880 --> 00:18:35,880 Hawnhekk huwa dan l-argument. Jien tgħaddi lill Ken. 305 00:18:35,880 --> 00:18:39,020 Huwa kaxxa sewda bil-miktub xi numru ta 'snin ilu 306 00:18:39,020 --> 00:18:41,510 li apparentement biss jaf kif jistampaw affarijiet fuq l-iskrin. 307 00:18:41,510 --> 00:18:43,150 Allura tesegwixxi. 308 00:18:49,280 --> 00:18:51,280 Li mhux ħażin. Tajjeb ħafna. 309 00:18:51,280 --> 00:18:55,510 Allura issa Ken isir esekuzzjoni. Ma hu bżonn idejn lili xejn lura? 310 00:18:55,510 --> 00:18:57,470 Mhux li Rajna s'issa. 311 00:18:57,470 --> 00:19:00,460 Għal darb'oħra, printf ma attwalment ritorn numru, imma aħna qed tmur biex jinjoraw li għal issa 312 00:19:00,460 --> 00:19:03,470 għaliex aħna qatt ma stajt użati dan. Allura dak li għal Ken. 313 00:19:03,470 --> 00:19:08,580 U hekk issa ewlenija jieħu f'idejh kontroll tal-programm mill-ġdid 314 00:19:08,580 --> 00:19:11,060 minħabba li l-linja tal-kodiċi, printf, isir esekuzzjoni. 315 00:19:11,060 --> 00:19:14,050 U aħna tmur dwar mod tagħna, eżekuzzjoni tkun xi linji oħra hemm. 316 00:19:14,050 --> 00:19:17,320 Allura issa ejja ipprova eżempju kemmxejn differenti. 317 00:19:17,320 --> 00:19:24,940 Din id-darba hawnhekk ejja 1 ċar l-iskrin, u dan iż-żmien aħna ser nagħmlu l-funzjoni cubing, 318 00:19:24,940 --> 00:19:27,080 iżda din id-darba, I jistennew valur ta 'produzzjoni. 319 00:19:27,080 --> 00:19:29,180 >> Mela ejja imorru quddiem u jagħmlu dan. 320 00:19:29,180 --> 00:19:35,790 Issa I jkollhom linja ta 'kodiċi li tgħid x gets kubu ta' x. 321 00:19:41,370 --> 00:19:46,370 Il-linja tal-kodiċi, irtirar, tidher bħal dan: x = kubu (x); 322 00:19:46,370 --> 00:19:50,930 Allura kif huwa dan se jaħdem? Ejja imorru quddiem u jagħtuk screen abjad mill-ġdid. 323 00:19:50,930 --> 00:19:54,070 I am ser jikteb issa l-valur ta 'x, 324 00:19:54,070 --> 00:20:01,400 li f'dan il-mument fil-ħin jiġri li jkun, ejja ngħidu, 2 li jżommha sempliċi. 325 00:20:01,400 --> 00:20:06,150 Għandi bil-miktub stabbiliti fuq biċċa karta mill-valur 2, li huwa x-valur tiegħi. 326 00:20:06,150 --> 00:20:10,920 I jagħtiha lill Ken. >> U jien biss jiktbu l-risposta? >> Yeah, ejja biss jiktbu l-risposta. 327 00:20:12,760 --> 00:20:18,940 Okay. U issa huwa għandu jirritorna lili xi ħaġa. Perfect. Nizza segue. 328 00:20:18,940 --> 00:20:23,120 Allura issa huwa f'idejn me lura l-valur ta '8 f'dan il-każ, u x'għandi nagħmel miegħu? 329 00:20:23,120 --> 00:20:28,250 Attwalment - ejja ara, tikseb dan id-dritt. What am I se tagħmel magħha? 330 00:20:28,250 --> 00:20:33,440 Issa jien ser jieħdu dan il-valur u fil-fatt jaħżen fil dawk bits istess memorja. 331 00:20:33,440 --> 00:20:35,170 Imma avviż jien tip ta 'tissara hawn. 332 00:20:35,170 --> 00:20:38,210 Jien ftit konfuż għaliex fejn nista attwalment tikteb il-valur ta 'x, 333 00:20:38,210 --> 00:20:43,150 għaliex dak li stajt biss isir huwa Ken fiżikament idejn biċċa karta li kellha l-valur 2, 334 00:20:43,150 --> 00:20:46,590 li kien x, u fil-fatt, dan huwa preċiżament dak li ġara. 335 00:20:46,590 --> 00:20:50,210 Għalhekk jirriżulta li meta inti sejħa-funzjoni u inti tgħaddi fl-argument 336 00:20:50,210 --> 00:20:53,290 bħall hello, dinja jew inti tgħaddi fl-argument bħal 2, 337 00:20:53,290 --> 00:20:57,110 ġeneralment, int tgħaddi fi kopja ta 'dak l-argument. 338 00:20:57,110 --> 00:21:00,730 U hekk biss kif I kiteb isfel in-numru 2 hawn u mogħtija lill Ken, 339 00:21:00,730 --> 00:21:04,720 dan għandu jfisser li għadni kopja tal-valur 2 x'imkien 340 00:21:04,720 --> 00:21:08,890 għaliex fil-fatt, issa li stajt gotten lura l-valur 8, I bżonn li jmorru lura fil-RAM 341 00:21:08,890 --> 00:21:12,130 u fil-fatt ikteb 8 fejn I ladarba kellhom in-numru 2. 342 00:21:12,130 --> 00:21:16,950 Allura viżwalment, ftakar dan il-kunċett ta 'tgħaddi fi, litteralment, kopja tal-valur. 343 00:21:16,950 --> 00:21:20,780 >> Ken ma ħaġa tagħha, idejn me lura xi ħaġa - f'dan il-każ il-valur bħal 8 - 344 00:21:20,780 --> 00:21:24,980 u mbagħad I għandek tagħmel xi ħaġa ma 'dak il-valur jekk irrid li jżommha madwar. 345 00:21:24,980 --> 00:21:29,650 Allura dan kollu se terga 'lura tkun wisq familjari qabel twil. 346 00:21:29,650 --> 00:21:34,920 Grazzi tant għal dan demo hawn, Ken. [Applause] 347 00:21:34,920 --> 00:21:36,920 Tajjeb ħafna x'isir. 348 00:21:36,920 --> 00:21:42,690 Ejja naraw kif li finalment jirrelata għal xi wħud mill-funzjoni sejħa li aħna kont qed tagħmel hawn. 349 00:21:42,690 --> 00:21:47,910 Let me imorru quddiem u jressaqna lura għall-eżempju cubing hawn. 350 00:21:47,910 --> 00:21:53,300 Avviż li jekk irridu li attwalment tibda tieħu din ulterjuri, 351 00:21:53,300 --> 00:21:57,570 aħna qed tmur biex ikollhom li tkun konxja tal-fatt li l-x numru li l-jiġu mgħoddija fil hawn 352 00:21:57,570 --> 00:22:01,530 huwa differenti minn dak li fil-fatt jiġu mgħoddija fil-funzjoni. 353 00:22:01,530 --> 00:22:05,880 Għalhekk għal darb'oħra, dan il-pass billi kopja se jsiru pjuttost germane fi ftit mument. 354 00:22:05,880 --> 00:22:09,580 Ejja tagħti ħarsa lejn xi ħaġa li ma pjuttost xogħol tajba s'issa. 355 00:22:09,580 --> 00:22:13,250 Jien ser jimxi 'l quddiem u tiftaħ eżempju Buggy terz, li huwa difettuż min-natura, 356 00:22:13,250 --> 00:22:18,550 u huwa msejjaħ buggy3 u timplimenta funzjoni iskambji. 357 00:22:18,550 --> 00:22:25,110 Hawnhekk għandna funzjoni prinċipali li tkun xuy arbitrarju initialized għal 1 u 2, rispettivament. 358 00:22:25,110 --> 00:22:27,700 Aħna jistgħu jużaw GetInt, imma aħna biss bżonn ta 'eżerċizzju sempliċi, 359 00:22:27,700 --> 00:22:30,170 dan huwa diffiċli kodifikata bħala 1 u 2. 360 00:22:30,170 --> 00:22:35,340 Fil-linji 21 u 22, aħna apparentement jistampa xuy, 1 kull linja. 361 00:22:35,340 --> 00:22:39,720 Imbagħad fuq il-linja 23, I jitolbu jiena iskambji dawn il-valuri, dot, dot, dot. 362 00:22:39,720 --> 00:22:44,170 I apparentement sejħa funzjoni fl linja 24 swap imsejħa li tieħu 2 argumenti. 363 00:22:44,170 --> 00:22:48,300 Huwa totalment leġittimu għall-funzjonijiet li tieħu 2 argumenti. Rajna printf jagħmlu dan diġà. 364 00:22:48,300 --> 00:22:51,830 >> Allura tpartit apparentement tieħu xuy, u kif ismu jissuġġerixxi, 365 00:22:51,830 --> 00:22:54,670 Nixtieq tama li għaddej biex tpartit dawn il-valuri 2. 366 00:22:54,670 --> 00:23:00,090 Allura mbagħad I pretensjoni fuq il-linja 25 "biddlu!" u jien Reprint xuy 367 00:23:00,090 --> 00:23:03,070 bis-suppożizzjoni li ħadthom tabilħaqq biddlu. 368 00:23:03,070 --> 00:23:06,080 Imma jekk I attwalment tmexxi dan il-programm - let me tiftaħ tieqa terminal, 369 00:23:06,080 --> 00:23:09,860 let me tagħmel buggy3 - kif tissuġġerixxi l-isem, dan mhux se jispiċċaw tajjeb 370 00:23:09,860 --> 00:23:15,770 għaliex meta I hit Ikteb, avviż li x hija l-1, y huwa 2, 371 00:23:15,770 --> 00:23:19,420 u għadhom fl-aħħar tal-programm, dawn għadhom, fil-fatt, l-istess. 372 00:23:19,420 --> 00:23:22,960 Allura ibbażata fuq id-dimostrazzjoni biss issa ma Ken, dak li fil-fatt jiġri? 373 00:23:22,960 --> 00:23:28,710 Ejja adsa fis din il-funzjoni tpartit. Huwa super qasir. Huwa biss ftit linji tal-kodiċi twil. 374 00:23:28,710 --> 00:23:34,520 Imma x'inhu l-problema fundamentali bbażata fuq l-istorja sempliċi told up here bil Ken? 375 00:23:34,520 --> 00:23:36,670 Għaliex maqsuma tpartit huwa? 376 00:23:36,670 --> 00:23:39,660 [Student] Inti ħażna għal kopja, mhux l-varjabbli. 377 00:23:39,660 --> 00:23:43,980 Eżattament. Aħna qed ħażna għal kopja, mhux l-varjabbli innifsu. 378 00:23:43,980 --> 00:23:47,170 Fi kliem ieħor, tpartit apparentement tieħu 2 argumenti, ta 'int, 379 00:23:47,170 --> 00:23:49,370 u huwa arbitrarjament msejjaħ b, u, 380 00:23:49,370 --> 00:23:54,420 u sa hawn stajt għaddew fl xuy, li huma rispettivament 1 u 2, 381 00:23:54,420 --> 00:23:58,770 imma jien ma litteralment jgħaddi fil x, jien ma litteralment jgħaddi fil y, 382 00:23:58,770 --> 00:24:01,450 Jien tgħaddi kopja ta 'x u kopja ta' y. 383 00:24:01,450 --> 00:24:04,510 Huwa kważi daqs li kieku inti kkupjati u pasted fis swap 384 00:24:04,510 --> 00:24:07,810 il-valuri li inti tixtieq li attwalment jimmanipulaw. 385 00:24:07,810 --> 00:24:14,480 Allura jekk dan huwa l-każ, meta I-bidu programm ta 'esekuzzjoni f'konformità 35 imbagħad 36, 386 00:24:14,480 --> 00:24:18,650 meta nasal għal-linja 37, f'dan il-punt fl-istorja, dak li huwa l-valur ta '? 387 00:24:21,040 --> 00:24:25,050 Fuq dan il-punt fl-istorja, linja 37, dak li huwa l-valur ta 'f'dan il-punt? >> [Student] 1. 388 00:24:25,050 --> 00:24:29,280 [Malan] Għandu jkun biss 1, id-dritt, minħabba li x għaddiet fl bħala l-ewwel argument, 389 00:24:29,280 --> 00:24:33,080 u din il-funzjoni biss b'mod arbitrarju qed issejjaħ l-ewwel argument tagħha. 390 00:24:33,080 --> 00:24:38,200 Bl-istess mod huwa y-tieni argument, u huwa biss b'mod arbitrarju sejħa tal-b tieni argument. 391 00:24:38,200 --> 00:24:40,990 >> Dan id-dikotomija huwa attwalment pjuttost sempliċi spjegat. Aħseb dwar dan. 392 00:24:40,990 --> 00:24:43,320 Xejn minna laħqu l-persuna li kiteb printf, 393 00:24:43,320 --> 00:24:50,770 hekk żgur, hu jew hi għandha l-ebda idea liema fatturi varjabbli tagħna 30 snin wara ser ikunu msejħa. 394 00:24:50,770 --> 00:24:56,650 Għalhekk għandu jkun hemm distinzjoni bejn dak li inti sejħa varjabbli fil-funzjonijiet li int bil-miktub 395 00:24:56,650 --> 00:25:02,080 u dak li inti sejħa varjabbli fil-funzjonijiet inti qed ssejjaħ jew jużaw. 396 00:25:02,080 --> 00:25:05,340 Allura fi kliem ieħor, ktibtu varjabbli tiegħi bħala xuy, 397 00:25:05,340 --> 00:25:08,890 iżda jekk xi ħadd ieħor kien kiteb il-funzjoni tpartit, hu jew hi ċertament ma jkunux jafu 398 00:25:08,890 --> 00:25:10,690 liema fatturi varjabbli tiegħi ser jiġu msejħa, 399 00:25:10,690 --> 00:25:13,830 sabiex jirrealizzaw li dan huwa għaliex għandek dan duwalità ta 'ismijiet. 400 00:25:13,830 --> 00:25:16,750 Teknikament, I jistgħu jagħmlu dan billi koinċidenza, 401 00:25:16,750 --> 00:25:20,080 iżda dawn xorta tiġi mgħoddija f'numru ta 'kopji. 402 00:25:20,080 --> 00:25:23,650 Ikun biss tkun koinċidenza pur estetikament jekk dik il-persuna li kiteb swap 403 00:25:23,650 --> 00:25:26,150 kienet użat l-istess ismijiet. 404 00:25:26,150 --> 00:25:32,370 Allura f'dan il-punt fl-istorja, linja 37, hija l-1, b huwa 2, u issa I tipproċedi biex tpartit lilhom. 405 00:25:32,370 --> 00:25:34,900 L-ewwelnett, let me fil-fatt jagħmlu dan ħafna aktar sempliċi. 406 00:25:34,900 --> 00:25:36,690 I do not know dak dawk il-linji 3 tal-kodiċi kienu qed jagħmlu. 407 00:25:36,690 --> 00:25:41,210 Let me biss tagħmel dan: b = a; a = b; jsir. 408 00:25:41,210 --> 00:25:44,690 Għaliex dan imkisser, loġikament? 409 00:25:46,490 --> 00:25:48,900 Huwa tip tal-ħaġa intuwittivi, id-dritt? 410 00:25:48,900 --> 00:25:52,560 Allura b isir u b isir, 411 00:25:52,560 --> 00:25:57,730 iżda l-problema hija li hekk kif linja 37 tesegwixxi, x'inhu l-valur ta 'b u? 412 00:25:57,730 --> 00:26:03,410 L-istess, 1, għax għandek clobbered, biex ngħidu hekk, inti stajt mibdula b biex ikunu ugwali għal. 413 00:26:03,410 --> 00:26:08,890 Allura ladarba linja 37 ikun eżegwit, li l-kbir, inti issa għandhom 2 kopji ta 'l-għadd 1 414 00:26:08,890 --> 00:26:13,350 ġewwa ta 'din il-funzjoni, hekk allura meta inti tgħidli fil-linja 38 a = b, 415 00:26:13,350 --> 00:26:17,640 int tip ta 'invitat għax int biss assenjazzjoni 1 għal 1. 416 00:26:17,640 --> 00:26:20,580 You ħadthom tip ta 'tilfu l-valur inti tajt. 417 00:26:20,580 --> 00:26:23,220 Allura fil-verżjoni oriġinali ta 'dan, l-avviż dak li għamilt. 418 00:26:23,220 --> 00:26:26,850 I minflok kellhom tielet linja ta 'kodiċi li dehru qishom dan. 419 00:26:26,850 --> 00:26:28,580 Niddikjara varjabbli temporanju. 420 00:26:28,580 --> 00:26:32,170 >> TMP huwa isem komuni ħafna għal varjabbli temporanju, u huwa ta 'int 421 00:26:32,170 --> 00:26:34,580 minħabba li jkollu jqabbel dak li nixtieq li tagħmel kopja ta '. 422 00:26:34,580 --> 00:26:39,770 I taħżen kopja ta 'ġewwa ta' TMP, hekk darba linja 37 tkun wettqet, 423 00:26:39,770 --> 00:26:45,860 il-valur ta 'huwa - quick sanità check - 1, il-valur ta' b huwa 2, 424 00:26:45,860 --> 00:26:48,970 u l-valur tal-TMP huwa wkoll 1. 425 00:26:48,970 --> 00:26:52,060 Allura issa I tesegwixxi linja 38. 426 00:26:52,060 --> 00:27:00,540 Ladarba linja 38 tesegwixxi, a jieħu l-valur ta 'b. U b '2, so a issa hija 2. 427 00:27:00,540 --> 00:27:05,210 Allura f'dan il-punt fl-istorja, li huwa 2, b huwa 2, u TMP huwa 1, 428 00:27:05,210 --> 00:27:11,060 hekk issa loġikament, nistgħu valur eżatt TMP plop s fis b u aħna qed isir. 429 00:27:11,060 --> 00:27:12,800 Allura aħna ve solvuti din il-problema. 430 00:27:12,800 --> 00:27:17,720 Sfortunatament, meta I run dan il-programm f'din il-forma, din attwalment ma tpartit ebda valur. 431 00:27:17,720 --> 00:27:20,100 Iżda biex ikunu ċari, għaliex? 432 00:27:23,660 --> 00:27:26,450 I fiss il-problema loġiku minn ftit mument ilu, 433 00:27:26,450 --> 00:27:31,020 iżda għal darb'oħra, jekk I run dan il-programm, xuy jibqgħu l-istess 434 00:27:31,020 --> 00:27:33,310 sa l-aħħar ta 'eżekuzzjoni tal-programm. 435 00:27:33,310 --> 00:27:37,220 [Kumment student inaudible] >> Aħna ma lura xejn, b'tali mod li huwa veru. 436 00:27:37,220 --> 00:27:39,670 Iżda jirriżulta hemm daqsxejn ta 'problema hawnhekk għaliex s'issa, 437 00:27:39,670 --> 00:27:44,170 l-unika ħaġa li aħna kont qed kapaċi li jirritornaw hija ħaġa waħda, u din hija restrizzjoni ta 'C. 438 00:27:44,170 --> 00:27:49,070 Tista 'biss jirritorna verament valur wieħed, f'liema każ jien tip ta' mwaħħla hawn 439 00:27:49,070 --> 00:27:53,310 minħabba I tista 'lura l-valur il-ġdid ta' x jew I tista 'lura l-valur il-ġdid ta' y, 440 00:27:53,310 --> 00:27:55,190 imma nixtieq tnejn lura. 441 00:27:55,190 --> 00:27:58,650 Allura lura mhix is-soluzzjoni sempliċi hawn. 442 00:27:58,650 --> 00:28:01,710 Iżda l-problema fundamentalment huwa għaliex? Dak li aħna fil-fatt skambjati? 443 00:28:01,710 --> 00:28:04,190 [Student] au b. >> Au b. 444 00:28:04,190 --> 00:28:08,230 Iżda aub huma kopji ta 'xuy, li jfisser aħna biss ma kollha ta' dan ix-xogħol, 445 00:28:08,230 --> 00:28:11,650 aħna biss jintefqu 3 minuti jitkellem dwar il-funzjoni tpartit u kollha 3 ta 'dawn il-varjabbli, 446 00:28:11,650 --> 00:28:15,420 u li l-kbir, perfettament korretta b'mod iżolat, 447 00:28:15,420 --> 00:28:20,740 iżda u ambitu b s biss huwa f'dawn il-linji hawn. 448 00:28:20,740 --> 00:28:24,790 >> Hekk biss bħal għal loop, jekk inti tiddikjara integer i ġewwa l-għar loop, 449 00:28:24,790 --> 00:28:28,760 bl-istess mod, jekk int tiddikjara ġewwa u b ta 'funzjoni li inti stajt bil-miktub, 450 00:28:28,760 --> 00:28:33,320 dawn qed biss ġewwa validu ta 'dik il-funzjoni, li jfisser malli tpartit isir esekuzzjoni 451 00:28:33,320 --> 00:28:38,470 u aħna jmorru minn linja 24 sa linja 25, xuy ma nbidlux fil-livelli kollha. 452 00:28:38,470 --> 00:28:42,790 Inti biss moħlija lott kollu ta 'żmien jagħmlu skambju kopji ta' fatturi varjabbli. 453 00:28:42,790 --> 00:28:47,010 Għalhekk jirriżulta li s-soluzzjoni għal dan huwa attwalment mhux ovvju. 454 00:28:47,010 --> 00:28:50,670 Huwa pjuttost mhux biżżejjed biex jirritornaw valuri għaliex nistgħu biss ritorn 1 valur, 455 00:28:50,670 --> 00:28:53,470 u I really do jridu li tpartit kemm xuy fl-istess ħin, 456 00:28:53,470 --> 00:28:55,210 hekk aħna qed tmur biex ikollha terġa 'lura għal dan. 457 00:28:55,210 --> 00:29:01,020 Iżda għal issa, jirrealizzaw li l-kwistjoni fundamentalment derivat mill-fatt li aub huma kopji 458 00:29:01,020 --> 00:29:03,630 u huma fl-ambitu tagħhom stess. 459 00:29:03,630 --> 00:29:05,050 Ejja jippruvaw isolvu din b'xi mod. 460 00:29:05,050 --> 00:29:11,250 Let me attwalment scroll lura hawn u tiftaħ, ejja ngħidu, varjant 4 ta 'dan, buggy4. 461 00:29:11,250 --> 00:29:13,370 Xi ngħidu dwar dan? 462 00:29:13,370 --> 00:29:17,810 Din hija problema simili iżda aktar sempliċi li tħares lejn qabel we tieħu stab fil jissolvew. 463 00:29:17,810 --> 00:29:24,190 Dan il-programm huwa msejjaħ inkrement, u apparentement initializes integer x sa 1 fil-linja 18. 464 00:29:24,190 --> 00:29:28,150 I imbagħad titlob x hija l-1, I imbagħad titlob "inkrementazzjoni ..." 465 00:29:28,150 --> 00:29:33,730 I imbagħad call inkrement, iżda mbagħad fil-linji 22 u 23, I jitolbu huwa kien inkrementat, 466 00:29:33,730 --> 00:29:40,220 I jsostnu x issa huwa kwalunkwe huwa - 2, preżumibbilment - iżda dan il-programm huwa Buggy. 467 00:29:40,220 --> 00:29:42,610 X'hemm l-problema? 468 00:29:43,440 --> 00:29:50,160 Yeah. >> [Rispons istudent inaudible] >> Eżattament. 469 00:29:50,160 --> 00:29:52,490 Allura x ġiet iddikjarata, ovvjament, fuq il-linja 18. 470 00:29:52,490 --> 00:29:54,700 Dan huwa ġewwa ċineg kaboċċi ewlenin tal. 471 00:29:54,700 --> 00:29:58,440 Għalhekk ir-risposta sempliċi hawnhekk huwa li filwaqt li x teżisti hawnhekk, 472 00:29:58,440 --> 00:30:03,930 dan ma jeżistix fil-linja 32, sabiex dan il-programm fil-fatt mhux saħansitra se jiġbor. 473 00:30:03,930 --> 00:30:07,940 Il-kompilatur meta nipprova kompilazzjoni ta 'dan il-kodiċi se Yell fil lili 474 00:30:07,940 --> 00:30:14,100 dwar xi identifikatur mhux dikjarat jew xi ħaġa f'dan is-sens. Fil-fatt, ejja ipprova. 475 00:30:14,100 --> 00:30:18,470 Dan huwa jagħmel buggy4. Hemm huwa. 476 00:30:18,470 --> 00:30:22,110 Użu ta '"x" identifikatur mhux iddikjarat fil-linja 32. 477 00:30:22,110 --> 00:30:25,580 U fil-fatt, ejja tkun iktar espliċita hawn illum sabiex dan ikun utli 478 00:30:25,580 --> 00:30:27,580 fil ħinijiet tal-uffiċċju u fid-dar. 479 00:30:27,580 --> 00:30:29,300 >> Avviż li huwa ftit cryptically miktub. 480 00:30:29,300 --> 00:30:37,270 Imma l-fatt għandha clang li għajjat ​​fil us, qal buggy4.c: 32:5, huwa attwalment utli. 481 00:30:37,270 --> 00:30:42,050 Dan ifisser li l-iżball huwa fuq il-linja 32 fil-pożizzjoni karattru 5. 482 00:30:42,050 --> 00:30:46,700 Allura 1, 2, 3, 4, 5. Li, fil-fatt, meta l-problema hija. 483 00:30:46,700 --> 00:30:49,790 U wkoll, wisq, iżomm f'moħħu li ħinijiet tal-uffiċċju u d-dar, jien xxurtjati hawn. 484 00:30:49,790 --> 00:30:52,990 I jkollhom waħda żball. Huwa ser tkun relattivament faċli biex jiffissaw. 485 00:30:52,990 --> 00:30:55,990 Imma jekk ikollok iskrin kollu sħiħa ta 'messaġġi ta' żball enormi, 486 00:30:55,990 --> 00:31:00,330 għal darb'oħra jirrealizzaw li l-waħda bottommost jista 'jkun biss sintomatika ta' l-1 topmost. 487 00:31:00,330 --> 00:31:03,450 Hekk dejjem chase stabbiliti bugs tiegħek minn fuq għal isfel 488 00:31:03,450 --> 00:31:05,820 minħabba li hemm jista 'jkun biss l-effett katina daisy 489 00:31:05,820 --> 00:31:09,240 li qed tissuġġerixxi inti għandek problemi mod aktar milli suppost fil-fatt tagħmel. 490 00:31:09,240 --> 00:31:15,150 Allura kif nistgħu jiffissaw dan jekk l-għan tiegħi huwa li inkrement x? >> [Student] Għamla x globali. 491 00:31:15,150 --> 00:31:17,060 Okay, hekk nistgħu nagħmlu x globali. 492 00:31:17,060 --> 00:31:20,480 Ejja jieħdu l-buttuna li I wissiet dwar preċedenti, iżda Heck, aħna biss bżonn ta 'jiffissaw malajr, 493 00:31:20,480 --> 00:31:25,730 hekk ejja biss jgħidu x int up here. Li jagħmel x globali. 494 00:31:25,730 --> 00:31:31,800 Allura issa prinċipali għandu aċċess għalih u inkrement ikun aċċess għalih, 495 00:31:31,800 --> 00:31:34,110 u so let me jimxi 'l quddiem u jikkumpilaw dan issa. 496 00:31:34,110 --> 00:31:37,630 Għamla buggy4, Ikteb. Jidher li jikkompilaw issa. 497 00:31:37,630 --> 00:31:41,230 Ejja run buggy4. U jidher li attwalment jaħdmu. 498 00:31:41,230 --> 00:31:45,150 Din hija waħda minn dawn l-affarijiet li l-tagħmel bħala I say, mhux bħala I do, 499 00:31:45,150 --> 00:31:47,010 kif stajt biss isir hawnhekk, minħabba li in ġenerali, 500 00:31:47,010 --> 00:31:50,440 programmi tagħna huma se jiksbu ħafna aktar interessanti u ħafna itwal minn dan, 501 00:31:50,440 --> 00:31:56,390 u jekk soluzzjoni tiegħek għall-problemi tal-ħajja huwa biss ipoġġu l-varjabbli fil-quċċata tal-fajl tiegħek, 502 00:31:56,390 --> 00:31:59,690 malajr ħafna do programmi jiksbu horrifically diffiċli biex tamminstrahom. 503 00:31:59,690 --> 00:32:02,190 Jiġrilha diffiċli li wieħed jaħseb up ismijiet varjabbli ġodda, 504 00:32:02,190 --> 00:32:05,240 jiġrilha diffiċli biex jifhem dak varjabbli qed tagħmel dak, 505 00:32:05,240 --> 00:32:08,460 u għalhekk b'mod ġenerali, din mhix soluzzjoni tajba. 506 00:32:08,460 --> 00:32:10,030 Mela ejja tagħmel dan aħjar. 507 00:32:10,030 --> 00:32:12,160 Aħna ma rridux li jużaw varjabbli globali hawn. 508 00:32:12,160 --> 00:32:16,240 >> I do jridu inkrement x, so I tista 'ovvjament - 509 00:32:16,240 --> 00:32:18,670 fl-aħħar tal-ġurnata, dan huwa tip ta 'storja iblah għax aħna biss tagħmel dan - 510 00:32:18,670 --> 00:32:24,450 imma jekk ma kontx naf dwar dak l-operatur jew I ma kienx permess li jibdlu b'mod prinċipali nfisha, 511 00:32:24,450 --> 00:32:30,730 kif inkella jista I timplimenta Ken minn hawn dan iż-żmien ma kubu iżda li inkrement? 512 00:32:31,380 --> 00:32:33,190 Kif nista 'bidla dan ħaġa hawn? Yeah. 513 00:32:33,190 --> 00:32:38,480 [Student] Pass fl-x u mbagħad jirritornaw [inaudible] >> Okay, tajba. 514 00:32:38,480 --> 00:32:41,900 Allura għaliex ma I jgħaddu fi x u mbagħad minflok lura, 515 00:32:41,900 --> 00:32:44,870 għaliex ma I biss lura x + 1. 516 00:32:44,870 --> 00:32:47,710 Affarijiet Koppja aktar jkollha tinbidel hawnhekk. Jien fuq il-binarju dritt. 517 00:32:47,710 --> 00:32:49,770 X'iktar għandi bżonn biex tweak? Xi ħadd ieħor. Yeah. 518 00:32:49,770 --> 00:32:51,740 [Rispons istudent inaudible] 519 00:32:51,740 --> 00:32:54,730 I-ħtieġa li tinbidel it-tip ritorn ta 'inkrement għaliex mhuwiex null. 520 00:32:54,730 --> 00:32:57,780 Xejn mezzi Null qed jiġi rritornat, iżda b'mod ċar issa huwa, 521 00:32:57,780 --> 00:32:59,830 hekk dan jeħtieġ li tinbidel sabiex - >> [student] int. 522 00:32:59,830 --> 00:33:02,740 int tkun konsistenti bi kwalunkwe Jien fil-fatt jirritornaw. 523 00:33:02,740 --> 00:33:05,180 Issa xi ħaġa oħra għadu Buggy hawn. Yeah. 524 00:33:05,180 --> 00:33:08,400 [Rispons istudent inaudible] >> [Malan] So I bżonn biex inkrement x? 525 00:33:08,400 --> 00:33:12,080 [Rispons istudent inaudible] >> [Malan] Ah, so I bżonn li tgħaddi x. 526 00:33:12,080 --> 00:33:16,660 So I bżonn tagħmel dan hawn. >> [Kumment student inaudible] 527 00:33:16,660 --> 00:33:20,050 [Malan] Għalhekk il-prototip, għandi jibdlu dan up here. 528 00:33:20,050 --> 00:33:22,930 Allura dan għandu jsir int, din trid issir - 529 00:33:22,930 --> 00:33:25,620 HMM, I attwalment jkollhom bug stabbiliti hawn. Ejja jiffissaw dan ewwel waħda. 530 00:33:25,620 --> 00:33:29,590 X'għandu dan fil-fatt tkun? Huwa ltqajna biex tkun xi ħaġa int. 531 00:33:29,590 --> 00:33:32,700 Dan jista 'jkun x, iżda franchement, jekk tibda ssejjaħ kollha ta' x varjabbli tiegħek, 532 00:33:32,700 --> 00:33:35,390 li għaddej biex tikseb inqas u inqas ċara li huwa li. 533 00:33:35,390 --> 00:33:39,560 >> Mela ejja biss b'mod arbitrarju jagħżlu konvenzjoni ismijiet differenti għall-funzjonijiet helper tiegħi, 534 00:33:39,560 --> 00:33:41,940 il-funzjonijiet jien bil-miktub. Aħna ser sejħa hija ta ', jew nistgħu sejħa hija - 535 00:33:41,940 --> 00:33:45,010 Ejja sejħa hija numru li jkun aktar espliċitu. 536 00:33:45,010 --> 00:33:47,560 Allura mbagħad I jkollhom jirritornaw irrispettivament min-numru huwa plus 1, 537 00:33:47,560 --> 00:33:50,740 u issa għandi jibdlu 1 ħaġa oħra up hawn u ħaġa waħda oħra up here. 538 00:33:50,740 --> 00:33:54,350 What do I għandhom jibdlu fuq il-linja 21 l-ewwel? >> [Rispons istudent inaudible] 539 00:33:54,350 --> 00:33:57,610 [Malan] I għandhom jassenjaw lill x. I cannot biss sejħa inkrement (x). 540 00:33:57,610 --> 00:34:01,960 I bżonn li wieħed jiftakar ir-risposta billi jinbidel il-valur ta 'x fuq in-naħa tax-xellug. 541 00:34:01,960 --> 00:34:04,680 U anki jekk x issa hija fuq ix-xellug u tal-lemin, li l-totalment multa 542 00:34:04,680 --> 00:34:08,860 għaliex in-naħa tal-lemin gets esegwiti ewwel imbagħad gets plopped fil-ħaġa tax-xellug - 543 00:34:08,860 --> 00:34:10,600 x f'dan il-każ. 544 00:34:10,600 --> 00:34:12,159 U mbagħad fl-aħħarnett, din hija tiffissa faċli issa. 545 00:34:12,159 --> 00:34:17,230 Dan għandu biss jaqblu x'hemm stabbiliti hawn taħt, in-numru int. 546 00:34:17,230 --> 00:34:20,570 Allura mazz sħiħ ta 'bidliet għal funzjoni verament stupid 547 00:34:20,570 --> 00:34:24,420 iżda rappreżentant ta 'l-affarijiet li aħna ser dejjem trid tagħmel. 548 00:34:24,420 --> 00:34:27,090 Sabiex tagħmel buggy4. Stajt invitat up x'imkien. 549 00:34:27,090 --> 00:34:30,139 Oh, Alla tiegħi. Ħames żbalji fi programm 6-line. 550 00:34:30,139 --> 00:34:35,690 Allura x'hemm ħażin fuq il-linja 18, il-karattru 5? 551 00:34:35,690 --> 00:34:39,610 So I għandhom jiddikjaraw dan int,. 552 00:34:39,610 --> 00:34:41,920 Ejja naraw. Hemm mazz sħiħ ta 'żbalji oħra. 553 00:34:41,920 --> 00:34:47,010 Oh, Alla tiegħi - 19, 18, 21 - iżda għal darb'oħra, ejja biss ċar l-iskrin, L Kontroll hawn, 554 00:34:47,010 --> 00:34:49,380 u terġa 'ssir clang. 555 00:34:49,380 --> 00:34:51,340 Allura 5 problemi hija attwalment biss li 1. 556 00:34:51,340 --> 00:34:57,520 Allura issa ejja jimxu buggy4, Ikteb. Whew, x ġiet inkrementat korrett. 557 00:34:57,520 --> 00:35:02,720 Kull dritt. Kwalunkwe mistoqsijiet dwar kif inkrement numri? Yeah. 558 00:35:02,720 --> 00:35:09,870 [Kwistjoni student inaudible] >> mistoqsija Tajba. 559 00:35:09,870 --> 00:35:14,220 Kif huwa li nista 'biss bidla x-numru u l-programm se jkun jaf immedjatament? 560 00:35:14,220 --> 00:35:16,200 >> Għal darb'oħra, jaħsbu bħala dan estrazzjoni. 561 00:35:16,200 --> 00:35:21,600 Mela jekk jiena prinċipali u Ken huwa inkrement, franchement, jien ma care dak Ken sejħiet iPad tiegħu. 562 00:35:21,600 --> 00:35:26,570 I ma kura dak li huwa jsejjaħ kwalunkwe ħaġa li għandha x'taqsam ma 'l-implimentazzjoni tiegħu ta' din il-funzjonalità. 563 00:35:26,570 --> 00:35:33,340 Dan huwa dettall implimentazzjoni li jien, prinċipali, ma jkollhom jimpurtahom. 564 00:35:33,340 --> 00:35:38,250 U għalhekk sempliċiment jinbidlu b'mod konsistenti ġewwa tal-funzjoni - għadd hawnhekk u n-numru hawnhekk - 565 00:35:38,250 --> 00:35:40,960 hija kollha li tieħu sakemm I recompile. 566 00:35:40,960 --> 00:35:44,180 Huwa tip ta 'bħal jekk taħseb dwar ħafna minna, dawk tal inti ma liċenzji tas-sewwieq 567 00:35:44,180 --> 00:35:46,770 li jkunu misjuqa jew jekk tkun ħadthom anke misjuqa fil-karozza, 568 00:35:46,770 --> 00:35:50,950 ħafna minna għandna ebda idea kif taħdem karozza minn taħt il-barnuża. 569 00:35:50,950 --> 00:35:54,970 U litteralment, jekk inti tiftaħ il-barnuża, ħafna minna - myself inklużi - 570 00:35:54,970 --> 00:35:56,940 mhumiex ser verament jafu dak li aħna qed tħares lejn, 571 00:35:56,940 --> 00:35:59,220 tip ta 'bħal inti tista' tħossok ma għalf bħal dan id-dritt issa. 572 00:35:59,220 --> 00:36:01,480 Iżda aħna ma verament ikollhom kura kif il-karozza taħdem, 573 00:36:01,480 --> 00:36:05,970 aħna ma jkollhomx għall-kura liema kollha ta 'l vireg u l-pistuni u kejbils ġewwa tal-karozza 574 00:36:05,970 --> 00:36:08,160 huma fil-fatt jagħmlu. 575 00:36:08,160 --> 00:36:12,770 Allura xi ħaġa bħal dak li inti sejħa-pistun ma jimpurtax hawn f'dan il-każ. Istess idea. 576 00:36:12,770 --> 00:36:25,300 Yeah. >> [Mistoqsija student inaudible] 577 00:36:25,300 --> 00:36:29,180 Jekk ikun hemm użu aktar tal-mument xa varjabbli ilu, 578 00:36:29,180 --> 00:36:32,150 int, l-programmer, ikollhom dawn jitbiddlu kullimkien. 579 00:36:32,150 --> 00:36:36,600 Jew inti tista 'litteralment tagħmel, File Menu, u mbagħad Sib, Issostitwixxi - xi ħaġa bħal dik - 580 00:36:36,600 --> 00:36:39,170 imma inti ser ikollhom jagħmlu dawk il-bidliet lilek innifsek. 581 00:36:39,170 --> 00:36:47,450 Int għandek tkun konsistenti. >> [Student] Jekk hemm varjabbli multipli [inaudible] 582 00:36:47,450 --> 00:36:53,100 A ordni partikolari bħal hawn, jekk dan kien int numru ieħor? >> [Student]. Korretta 583 00:36:53,100 --> 00:36:56,590 [Malan] Yeah. Ordni kwistjonijiet meta qed iċċempel l-funzjoni. 584 00:36:56,590 --> 00:37:00,050 >> Mela jekk jien kienu sejħa inkrement hawn ma 'xi ħaġa virgola xi ħaġa, 585 00:37:00,050 --> 00:37:01,680 hemm immappjar dirett. 586 00:37:01,680 --> 00:37:05,690 Il-varjabbli 1, ikun x'ikun huwa msejjaħ, huwa magħmul kopja tal-ewwel argument hawn fuq. 587 00:37:05,690 --> 00:37:07,760 Jiddispjacini. Dan m'għandux ikun parentesi. 588 00:37:07,760 --> 00:37:11,490 Il-linji argument 2 sa ma t-tieni waħda. Allura ordni, iva, il-kwistjonijiet. Kull dritt. 589 00:37:11,490 --> 00:37:17,020 Jiddispjacini. I ħa l-triq twila biex naslu s'hemm. Mistoqsijiet oħra? Kull dritt. 590 00:37:17,020 --> 00:37:20,610 Mela ejja ara jekk ma nkunux nistgħu żebgħa stampa ta 'dak li attwalment jiġri hawn 591 00:37:20,610 --> 00:37:23,090 taħt il-barnuża, biex ngħidu hekk. 592 00:37:23,090 --> 00:37:26,640 Dan huwa rettangolu li jistgħu jirrappreżentaw memorja tal-kompjuter tiegħek. 593 00:37:26,640 --> 00:37:30,970 Anki jekk għandek l-ebda idea kif memorja xogħlijiet jew kif taħdem RAM, 594 00:37:30,970 --> 00:37:33,940 inqas wieħed jassumi li inti għandek għenieqed ta 'dan dawn il-jiem. 595 00:37:33,940 --> 00:37:36,280 You ħadthom ltqajna megabytes ta 'dan, inti stajt ltqajna gigabytes ta' dan, 596 00:37:36,280 --> 00:37:40,870 u nafu minn f'ġimgħa 0 illi byte huwa biss dak? >> [Student] 8 bits. 597 00:37:40,870 --> 00:37:42,950 8 bits, id-dritt? Allura 8 zeroes u 1. 598 00:37:42,950 --> 00:37:45,880 Allura jekk il-kompjuter tiegħek għandha GIG ta 'RAM, 2 gigs ta' RAM dawn il-jiem, 599 00:37:45,880 --> 00:37:55,030 għandek biljun jew 2 biljun bytes tal-memorja jew madwar 8 biljun jew 16000000000 bits 600 00:37:55,030 --> 00:37:56,890 ġewwa tal-kompjuter tiegħek. 601 00:37:56,890 --> 00:38:00,590 B'differenza mill-eżempju Willy ftit Wooly, mhuwiex partiċelli manjetiċi tipikament aktar. 602 00:38:00,590 --> 00:38:04,450 Dejjem - fil-laptops inqas - huwa drives stat solidu, SSDs, 603 00:38:04,450 --> 00:38:08,580 li biss jkollhom l-ebda partijiet li jiċċaqalqu. Dan kollu elettroniku. Dan kollu elettriku bbażata fuq. 604 00:38:08,580 --> 00:38:14,060 Allura taħseb ta 'dan ir-rettangolu biss bħala li tirrappreżenta l-gigabytes 1 jew 2 ta' memorja li għandek. 605 00:38:14,060 --> 00:38:16,020 >> Allura huwa ta 'blokki ta' memorja. 606 00:38:16,020 --> 00:38:19,830 Id-dinja tax-xjenza tal-kompjuter tkun tip ta 'mifrud 607 00:38:19,830 --> 00:38:22,950 biċċiet ta 'memorja biex tagħmel affarijiet differenti. 608 00:38:22,950 --> 00:38:27,190 Per eżempju, jekk dan huwa RAM kompjuter tiegħek, kif issuġġerit mill-rettangolu, 609 00:38:27,190 --> 00:38:31,130 jirriżulta li permezz tal-konvenzjoni, fil-quċċata ta 'RAM tiegħek, biex ngħidu hekk, 610 00:38:31,130 --> 00:38:33,660 huwa ġeneralment dak li sejjaħ segment test. 611 00:38:33,660 --> 00:38:36,740 Dawk huma l-0s u 1s li inti għandek miġbura. 612 00:38:36,740 --> 00:38:39,020 Allura meta aħna ve ħares taħt il-barnuża li huwa a.out dak, 613 00:38:39,020 --> 00:38:41,980 dawn kollha 0s u 1s, meta inti tmexxi programm, 614 00:38:41,980 --> 00:38:46,290 dawk 0s u 1s jitgħabbew mill-hard drive tiegħek f'xi ħaġa imsejħa RAM, 615 00:38:46,290 --> 00:38:49,320 u fil-RAM li qed tpoġġi fil-quċċata. 616 00:38:49,320 --> 00:38:52,770 Sadanittant, inti għandek affarijiet oħra: initialize data, uninitialize data. 617 00:38:52,770 --> 00:38:57,510 Dawk swaths 2 ta 'memorja jirreferu għall-varjabbli globali, li ma' spiss jużaw 618 00:38:57,510 --> 00:39:00,760 imma xi kultant jekk inti tagħmel, huma jispiċċaw up hemm ukoll. 619 00:39:00,760 --> 00:39:04,260 Imbagħad hemm xi għalf ieħor: varjabbli ambjent, li aħna mhux se jqattgħu ħafna ħin fuq, 620 00:39:04,260 --> 00:39:06,860 iżda mbagħad 2 affarijiet importanti li se terga 'lura matul il-semestru, 621 00:39:06,860 --> 00:39:08,550 munzell u borġ. 622 00:39:08,550 --> 00:39:12,210 Għalhekk ħafna mill-memorja tal-kompjuter tiegħek huwa rriservat meta tmexxija ta 'programm 623 00:39:12,210 --> 00:39:15,370 għal xi ħaġa imsejjaħ il-munzell u xi ħaġa imsejjaħ il-borġ. 624 00:39:15,370 --> 00:39:18,840 Aħna mhux se jitkellmu dwar il-borġ llum, iżda aħna se nitkellmu dwar il-munzell. 625 00:39:18,840 --> 00:39:24,600 Il-munzell huwa maħsub li jevokaw l-viżwali ta 'l-trejs ikla dining sala fil Mather Kamra 626 00:39:24,600 --> 00:39:28,110 jew fejn jiġri li jkun fejn l-impjegati sala dining nadif minnhom kull jum, 627 00:39:28,110 --> 00:39:30,180 dawn munzell up mill-art fuq up, 628 00:39:30,180 --> 00:39:34,550 u bl-istess mod, fil-memorja, hemm din l-idea ta 'tqegħid xi ħaġa fuq munzell, 629 00:39:34,550 --> 00:39:36,860 tqegħid xi ħaġa fuq munzell, tqegħid xi ħaġa fuq munzell. 630 00:39:36,860 --> 00:39:38,240 U dak li rridu nfissru minn dan? 631 00:39:38,240 --> 00:39:41,860 >> Ejja zoom fl fuq ftit-parti t'isfel ta 'din l-istampa, RAM kompjuter tiegħek, 632 00:39:41,860 --> 00:39:44,330 biex tipproponi dan li ġej. 633 00:39:44,330 --> 00:39:48,170 Jirriżulta li meta inti tmexxi programm bħal a.out jew bonjour - 634 00:39:48,170 --> 00:39:50,100 tkun xi tkun il-programm huwa li inti stajt bil-miktub - 635 00:39:50,100 --> 00:39:54,020 għal darb'oħra, dawk 0s u 1s jitgħabbew mill-hard drive tiegħek, li huwa fit-tul tal-ħażna, 636 00:39:54,020 --> 00:39:57,230 jibqa hemmhekk anki meta inti iġbed il-plagg, mgħobbija RAM. 637 00:39:57,230 --> 00:40:00,610 RAM huwa aktar mgħaġġel milli hard drives - huwa iżgħar minn hard drives - 638 00:40:00,610 --> 00:40:03,300 imma hija fejn programmi live waqt li tkun qed taħdem fuqhom. 639 00:40:03,300 --> 00:40:08,230 Allura inti ikklikkja darbtejn programm fuq Mac jew PC, huwa mgħobbi mill-hard drive fis-RAM. 640 00:40:08,230 --> 00:40:11,520 Hekk kif huwa jitgħabbew fil-RAM, il-go 0s u 1s fil-quċċata mod, 641 00:40:11,520 --> 00:40:16,610 -segment test hekk imsejħa, iżda mbagħad hekk kif program tiegħek attwalment tibda taħdem, 642 00:40:16,610 --> 00:40:21,360 il-funzjoni prinċipali huwa msejjaħ, u prinċipali, kif aħna stajt tidher, ta 'spiss ikollu varjabbli lokali, 643 00:40:21,360 --> 00:40:24,870 u għandu ints u kordi u Chars u simili. 644 00:40:24,870 --> 00:40:29,180 Mela jekk program tiegħek li għandek bil-miktub jew il-programm li inti għandek double għafast 645 00:40:29,180 --> 00:40:32,970 użat xi varjabbli ġewwa ta prinċipali, 646 00:40:32,970 --> 00:40:37,240 dawn jispiċċaw fil-qiegħ tal tiegħek munzell ta 'memorja, biex ngħidu hekk. 647 00:40:37,240 --> 00:40:39,410 B'mod aktar konkret, dak ma dan fil-fatt jfisser? 648 00:40:39,410 --> 00:40:48,450 Dan sempliċiment ifisser li jekk konna se numru l-bytes ta 'RAM fil-kompjuter tiegħek, 649 00:40:48,450 --> 00:40:55,750 avviż li dan jista 'jkun in-numru byte 0, dan jista' jkun in-numru byte 1, 2, 3, 4, 5, 6, 650 00:40:55,750 --> 00:41:01,480 it-triq kollha sa 2 biljun se tkun it-triq kollha up hemm fil-quċċata. 651 00:41:01,480 --> 00:41:05,880 Allura fi kliem ieħor, meta nitkellmu dwar RAM jew memorja f'termini ta 'bytes, 652 00:41:05,880 --> 00:41:11,500 dan ifisser biss li xi ħadd iddeċieda dak li jinnumera kull waħda minn dawn biċċiet ta 'memorja. 653 00:41:11,500 --> 00:41:16,650 Allura meta għandek bżonn 32 bits għal int jew inti jeħtieġ 8 bits għal char, 654 00:41:16,650 --> 00:41:18,840 fejn ma jispiċċaw fil-memorja? 655 00:41:18,840 --> 00:41:22,350 >> Konċettwalment, huma biss jispiċċaw fil-qiegħ ta 'dan ħaġa imsejjaħ il-munzell. 656 00:41:22,350 --> 00:41:25,870 Imma x'hemm interessanti issa huwa meta jitlob prinċipali funzjoni - 657 00:41:25,870 --> 00:41:28,750 jissoponi funzjoni msejħa foo, biss l-isem arbitrarja - 658 00:41:28,750 --> 00:41:32,330 dak li jiġri hu ewlenija hija fil-qiegħ ta 'din il-munzell ta' memorja; 659 00:41:32,330 --> 00:41:35,680 foo issa titqiegħed fuq quċċata ta 'prinċipali fil-memorja. 660 00:41:35,680 --> 00:41:40,990 Allura xi varjazzjonijiet lokali li foo ikun jispiċċaw tip ta 'kunċettwali minn dawk fl prinċipali. 661 00:41:40,990 --> 00:41:47,070 Jekk foo jitlob funzjoni oħra msejħa bar, dawk il-varjabbli jispiċċaw here. 662 00:41:47,070 --> 00:41:50,120 Jekk bar jitlob xi ħaġa oħra, hawn, hawn, hawn. 663 00:41:50,120 --> 00:41:53,830 Allura x'hemm interessanti dwar tmexxija ta 'programm huwa li kif inti sejħa funzjonijiet 664 00:41:53,830 --> 00:41:57,750 u kif dawk il-funzjonijiet sejħa funzjonijiet u kif dawk il-funzjonijiet sejħa funzjonijiet, 665 00:41:57,750 --> 00:42:01,470 inti jibnu din munzell ta 'funzjonijiet fil-memorja. 666 00:42:01,470 --> 00:42:06,890 U darba biss ta 'prospetti funzjoni ma tibda jkollna li l-memorja lura. 667 00:42:06,890 --> 00:42:10,860 Allura wieħed mill-modi eħfef biex jispiċċaw ta 'memorja fi programm tal-kompjuter 668 00:42:10,860 --> 00:42:14,360 huwa li jiktbu funzjonijiet li qatt ritorn. 669 00:42:14,360 --> 00:42:18,900 Għalhekk per eżempju, ejja juru kemm bi programm intenzjonalment Buggy. 670 00:42:18,900 --> 00:42:22,230 Let me imorru quddiem u jagħmlu # Jinkludu , 671 00:42:22,230 --> 00:42:25,000 int prinċipali (vojt), 672 00:42:25,000 --> 00:42:32,940 u jien ser tagħmel filwaqt li (2> 1), li probabbilment mhux se qatt bidla fuqna, 673 00:42:32,940 --> 00:42:37,560 u let me jimxi 'l quddiem issa u jagħmlu printf. 674 00:42:37,560 --> 00:42:40,700 Fil-fatt, li għaddej biex tkun inqas viżwalment interessanti. Ejja nagħmlu dan. 675 00:42:40,700 --> 00:42:50,240 Għal i int = 0; i> 0 - ejja jagħmlu dan l-iżball - i + +. 676 00:42:50,240 --> 00:42:52,720 U ejja ma printf hawn. Ejja prattika dak I kien jippriedka. 677 00:42:52,720 --> 00:43:00,190 Ejja jkollhom metodu hawn, kor null, u aħna ser ngħidu int i, 678 00:43:00,190 --> 00:43:06,830 u mbagħad jien ser ngħid printf - l-ebda, ejja tagħmel dan aktar interessanti. 679 00:43:06,830 --> 00:43:15,790 Ejja fil-fatt ma print xejn affattu. Ejja biss tagħmel dan: kor (i). 680 00:43:15,790 --> 00:43:20,390 Kull dritt. Allura dan huwa Buggy għaliex għaliex? 681 00:43:20,390 --> 00:43:23,380 Jien jagħmlu dan up bħala mmur minħabba li l-programm ma attwalment tagħmel xejn ta 'interess. 682 00:43:23,380 --> 00:43:25,320 >> Iżda li mhux l-għan. 683 00:43:25,320 --> 00:43:29,630 L-għan huwa li jiktbu program funzjoni ewlenija tagħhom ma dak, apparentement? 684 00:43:30,720 --> 00:43:32,860 Sejħa innifsu. U fil-fatt, ma kellniex bżonn il-linja. 685 00:43:32,860 --> 00:43:37,200 Ejja anki tissimplifika dan biss sabiex ma nitilfu l-bug verament fundamentali. 686 00:43:37,200 --> 00:43:39,640 Jistieden ewlenin kor nijet xi kor, 687 00:43:39,640 --> 00:43:41,440 imbagħad għamilt xi ħaġa stupid u kelli kor sejħa kor 688 00:43:41,440 --> 00:43:43,760 minħabba I jassumi xi ħadd ieħor kien se timplimentaha forsi, 689 00:43:43,760 --> 00:43:47,210 u issa dan mhux se tiġbor s'issa. I-ħtieġa li jagħmlu dak? 690 00:43:47,210 --> 00:43:49,970 I bżonn l-prototip, tiftakar. 691 00:43:49,970 --> 00:43:56,110 So I jeħtieġ li jkollhom up hawn kor nulli (int i); 692 00:43:56,110 --> 00:43:59,210 Allura issa jekk jien jinżlu hawn - fil-fatt, ejja tuża l-tieqa akbar. 693 00:43:59,210 --> 00:44:01,980 Ejja jimxi 'l quddiem u jagħmlu kor. 694 00:44:01,980 --> 00:44:06,490 Ejja jimxi 'l quddiem u jagħmlu kor. 695 00:44:06,490 --> 00:44:08,370 Użu ta 'identifikatur mhux iddikjarat i. 696 00:44:08,370 --> 00:44:12,500 Oh, li kien stupid. M'għandniex bżonn l-argument. Ejja biss tagħmel dan. 697 00:44:12,500 --> 00:44:16,370 Nixtieq kellna beda dan il-mod. Kien ikun ta 'programm ħafna aktar faċli biex jiktbu. 698 00:44:16,370 --> 00:44:25,590 Hemm. Issa ejja jmorru fuq biex tieqa terminal tiegħi, terġa 'ssir clang, u here we go. 699 00:44:25,590 --> 00:44:28,460 Dan kien verament mgħaġġel. 700 00:44:28,460 --> 00:44:31,150 Dak li fil-fatt ġara biss, għalkemm? 701 00:44:31,150 --> 00:44:33,730 Well, issa I ser żid il-linja istampar hekk nistgħu naraw. 702 00:44:33,730 --> 00:44:43,490 Ħalluni ngħid printf ("jien fil hawn") - l-ebda varjabbli. Aħna ser inħallu bħal dik. 703 00:44:43,490 --> 00:44:47,480 Let me terġa 'ssir jagħmlu. Let me terġa 'ssir kor. 704 00:44:47,480 --> 00:44:57,380 U ... come fuq. Żomm għaddejjin. 705 00:44:57,380 --> 00:44:59,930 Bħala twarrib, għaliex ma ma ġġarraf għadhom? 706 00:44:59,930 --> 00:45:02,080 It-tort segmentazzjoni ġara super fast qabel. 707 00:45:02,080 --> 00:45:06,570 [Rispons istudent inaudible] >> Eżattament. Allura tieħu ż-żmien biex jistampaw, id-dritt? 708 00:45:06,570 --> 00:45:08,610 Hija biss jieħu aktar xogħol min-naħa tal-kompjuter. 709 00:45:08,610 --> 00:45:10,620 U hemm hu: tort Segmentazzjoni. 710 00:45:10,620 --> 00:45:12,340 >> Allura avviż kemm programmi fast run. 711 00:45:12,340 --> 00:45:14,130 Jekk int ma istampar xejn, super fast. 712 00:45:14,130 --> 00:45:18,770 Iżda aħna għadhom kisbu dan tort segmentazzjoni għaliex dak li kien qed jiġri? 713 00:45:18,770 --> 00:45:21,210 Jekk inti taħseb dwar kif memorja tal-kompjuter tiegħek hija stabbilita, 714 00:45:21,210 --> 00:45:28,740 dan jiġri li jkun prinċipali, iżda hawnhekk ejja biss sejħa dan kor, u ejja sejħa dan kor. 715 00:45:28,740 --> 00:45:34,550 U issa jekk jien estetika tiegħi dritt, dan huwa biss se ngħid, kor kor, kor, 716 00:45:34,550 --> 00:45:40,550 kor, kor, kor, kor, nauseum ad, u eventwalment, dak li jiġri? 717 00:45:40,550 --> 00:45:45,630 Jekk l-istampa kbar, litteralment, hija din, dak li jiġri biss konċettwalment? 718 00:45:46,520 --> 00:45:48,630 Il-eċċessi munzell l-munzelli. 719 00:45:48,630 --> 00:45:51,940 Jew, agħar minn hekk, inti biss eċċess kollox, inkluż il-segment test, 720 00:45:51,940 --> 00:45:54,590 li hija l-0s u 1s li jirrappreżentaw il-programm tiegħek. 721 00:45:54,590 --> 00:45:57,080 Fil-qosor, din hija biss super, bad super. 722 00:45:57,080 --> 00:45:58,830 Programm tagħkom telgħu barra mill-kontroll. 723 00:45:58,830 --> 00:46:01,220 Inti qed tuża memorja mod aktar milli suppost maħsuba 724 00:46:01,220 --> 00:46:03,960 kollha minħabba żball stupid f'dan il-każ, 725 00:46:03,960 --> 00:46:08,040 jew f'dan il-każ il-funzjoni very deliberatament jsir ssejjaħ lilha nnifisha. 726 00:46:08,040 --> 00:46:09,500 Issa, dan mhuwiex kollha ħżiena. 727 00:46:09,500 --> 00:46:13,800 Funzjonijiet li ssejjaħ infushom attwalment għandha setgħa kbira meta tużah b'mod korrett. 728 00:46:13,800 --> 00:46:15,800 I ma jkunux użati b'mod korrett hawnhekk. 729 00:46:15,800 --> 00:46:19,780 Allura dan mhux kollox ħażin, iżda l-fatt li jien qatt ma attwalment niefqu milli nsejħulha myself 730 00:46:19,780 --> 00:46:23,520 hija dgħjufija fundamentali hawn dan il-programm. 731 00:46:23,520 --> 00:46:26,400 Għalhekk, fejn huma aħna se kollha ta 'dan? X'qed verament jiġri? 732 00:46:26,400 --> 00:46:30,340 Meta I-sejħa l-funzjoni inkrement simili aħna kienu qed jagħmlu fil dawn l-eżempji, 733 00:46:30,340 --> 00:46:33,420 I jkollhom valur bħal 1 li I jgħaddu pulzieri 734 00:46:33,420 --> 00:46:37,570 I jgħaddu f'kopja tad-numru 1, hekk li ġej jiġri. 735 00:46:37,570 --> 00:46:44,240 Ejja jmorru fil-eżempju inkrement, dan Guy dritt fuq hawn. 736 00:46:44,240 --> 00:46:46,870 Hawn dak li verament jiġri. 737 00:46:46,870 --> 00:46:53,400 Meta I call inkrement u I jgħaddu x, pictorially, x'inhu għaddej hawn hija din. 738 00:46:53,400 --> 00:46:59,520 >> Jekk Għandi l-valur ta '1 maħżuna hawn u I attwalment sejħa inkrement, 739 00:46:59,520 --> 00:47:04,330 li issa hija msejħa kor - l-iPad huwa jitfg me off hawn. 740 00:47:04,330 --> 00:47:09,760 Ejja sejħa dan inkrement, u ma nafux liema din il-funzjoni li jmiss se tkun. 741 00:47:09,760 --> 00:47:14,840 Allura dak li verament jiġri huwa hawn x'imkien prinċipali I jkollhom blokki ta 'memorja 742 00:47:14,840 --> 00:47:17,000 li huwa ħażna in-numru 1. 743 00:47:17,000 --> 00:47:19,380 Meta I call inkrement, jien jużaw ieħor blokki ta 'memorja, 744 00:47:19,380 --> 00:47:21,230 iżda issa għandi l-kopja ta '1. 745 00:47:21,230 --> 00:47:26,660 Meta I inkrement li l-valur, dan isir 2, 746 00:47:26,660 --> 00:47:30,560 iżda mbagħad x'jiġri malli prospetti inkrement? 747 00:47:30,560 --> 00:47:33,630 Din il-memorja biss gets mogħtija lura lill-sistema operattiva, 748 00:47:33,630 --> 00:47:37,450 li jfisser kull ma għandek ghamilt xejn utli. 749 00:47:37,450 --> 00:47:43,120 Il-1 li kien oriġinarjament jinsabu fil prinċipali għadu attwalment hemm. 750 00:47:43,120 --> 00:47:44,890 Għalhekk, fejn huma aħna għaddejjin ma 'dan? 751 00:47:44,890 --> 00:47:49,770 Jirriżulta li fil-memorja inti għandek din is-sekwenza back-to-back 'bytes 752 00:47:49,770 --> 00:47:53,050 li inti tista 'tpoġġi Jittieħed fi, u jirriżulta li konna diġà raw xi ħaġa 753 00:47:53,050 --> 00:47:55,390 li tinvolvi tqegħid affarijiet lura lura lura lura. 754 00:47:55,390 --> 00:47:59,860 X'inhu string bbażata fuq ġimgħa 1 u issa ġimgħa 2? 755 00:48:00,020 --> 00:48:01,980 Huwa biss ġabra ta 'karattri. 756 00:48:01,980 --> 00:48:04,310 Allura jirriżulta biss kif inti tista 'tpoġġi numri fil-memorja, 757 00:48:04,310 --> 00:48:06,990 bl-istess mod inti tista 'tpoġġi karattri fil-memorja. 758 00:48:06,990 --> 00:48:10,530 U ladarba nibdew karattri tqegħid fil-memorja lura lura lura biex lura, 759 00:48:10,530 --> 00:48:13,620 jirriżulta li l-użu l-aktar sempliċi ta 'affarijiet bħal għal loop jew loop waqt, 760 00:48:13,620 --> 00:48:17,170 nistgħu jtenni mix-xellug għal-lemin fuq il-karattri fit string 761 00:48:17,170 --> 00:48:20,600 u tibda timmassaġġja minnhom fil-karattri differenti għal kollox - 762 00:48:20,600 --> 00:48:23,370 a tista 'ssir b, b tista' ssir c - 763 00:48:23,370 --> 00:48:27,780 sabiex finalment, nistgħu nieħdu l-frażi Ingliża li attwalment jagħmel sens 764 00:48:27,780 --> 00:48:30,310 u jikkonvertu kull wieħed minn dawn l-ittri wieħed fi żmien 765 00:48:30,310 --> 00:48:34,400 bil-mixi permezz memorja tal-kompjuter tagħna xellug għal-lemin biex attwalment kriptaġġ. 766 00:48:34,400 --> 00:48:35,810 Mela ejja tagħti ħames minuti break tagħna hawn, 767 00:48:35,810 --> 00:48:40,730 u meta niġu lura, aħna ser tibda dan il-proċess ta scrambling informazzjoni. 768 00:48:42,020 --> 00:48:43,520 >> Kull dritt. 769 00:48:43,520 --> 00:48:48,070 Qabel ma aħna adsa fis xi kripto u dawn l-affarijiet imsejħa matriċi, 770 00:48:48,070 --> 00:48:51,470 let me nieqaf għal xi mistoqsijiet għaliex inħoss bħal I really tip ta 'xejn ċar 771 00:48:51,470 --> 00:48:54,080 xi wħud minn dawk is-suġġetti. Mela ejja tiffissa issa jekk nistgħu. 772 00:48:54,080 --> 00:48:58,700 Aħna biss tkellem dwar il-valuri ta 'ritorn, tkellimna dwar l-argumenti, 773 00:48:58,700 --> 00:49:03,250 u tkellimna dwar dan il-kunċett, li aħna ser terga 'lura fit-ġimgħat li ġejjin, 774 00:49:03,250 --> 00:49:08,720 tal-wiri memorja bħala mazz sħiħ ta 'dawn il-dixxijiet f'munzelli, biex ngħidu hekk, 775 00:49:08,720 --> 00:49:12,660 mill-qiegħ fuq up, b'tali mod li kull trej li gets mqiegħda fis-munzell 776 00:49:12,660 --> 00:49:16,530 jirrappreżenta funzjoni li l-li bħalissa qed jissejħu. 777 00:49:17,900 --> 00:49:20,260 Kwalunkwe mistoqsijiet? 778 00:49:20,260 --> 00:49:22,640 Let me jistaqsu mistoqsija hawn. 779 00:49:22,640 --> 00:49:27,890 Let me jissimplifikaw dan lura għal dak li kien qabel xi wħud Q preċedenti tagħna & A. 780 00:49:27,890 --> 00:49:35,570 Il-fatt li żieda għandha parentesi miftuħa, in-numru int, magħluqa parentesi - 781 00:49:35,570 --> 00:49:39,110 dak ma numru int jirrappreżenta? 782 00:49:39,110 --> 00:49:42,790 [Student] L-argument. >> Argument. Okay. Imma x'hemm argument? 783 00:49:42,790 --> 00:49:46,370 [Inaudible student rispons] >> X'hemm li? >> [Student] Xi ħaġa li inti tgħaddi pulzieri 784 00:49:46,370 --> 00:49:49,940 Okay, hekk xi ħaġa li inti tgħaddi pulzieri U aktar ġenerali, huwa biss l-input. 785 00:49:49,940 --> 00:49:52,450 Jekk inti kienu kitba ta 'funzjoni u skop dik il-funzjoni fil-ħajja 786 00:49:52,450 --> 00:49:55,770 hija li tagħmel xi ħaġa ftit differenti kull darba li tużah, 787 00:49:55,770 --> 00:50:00,110 allura l-uniku mod għal dak li jiġri verament jidher li jkun li jipprovduha bl-input 788 00:50:00,110 --> 00:50:03,510 sabiex ikun jista 'jagħmel xi ħaġa differenti ma' dak l-input kull darba. 789 00:50:03,510 --> 00:50:06,650 >> Għalhekk ikollok bżonn li jispeċifikaw żewġ affarijiet meta l-funzjoni jieħu input. 790 00:50:06,650 --> 00:50:09,590 Ikollok bżonn li jispeċifikaw l-isem li inti tixtieq li tagħti għal dik input 791 00:50:09,590 --> 00:50:12,700 purament għall-konvenjenza tiegħek sabiex inti tista 'tirreferi għaliha 792 00:50:12,700 --> 00:50:16,540 fil-funzjoni li inti stess qed tikteb, kif għamilt hawn fil-linja 32. 793 00:50:16,540 --> 00:50:20,800 Imma inti wkoll bżonn biex jispeċifika t-tip tagħha għaliex Ċ hija lingwa ta 'programmar 794 00:50:20,800 --> 00:50:25,940 li biss jeħtieġ li jekk inti tixtieq varjabbli, inti għandek tgħid il-kompjuter liema tip ta 'data li hi, 795 00:50:25,940 --> 00:50:30,200 fil-parti kbira hekk li jaf kemm bits jalloka għal dan il-varjabbli 796 00:50:30,200 --> 00:50:33,020 minħabba li jista 'jkun 6 - sorry, dan mhux se jkun 6. 797 00:50:33,020 --> 00:50:37,080 Hija tista 'tkun ta' 16, jista 'jkun 8, jista' jkun 32, anke 64, 798 00:50:37,080 --> 00:50:39,130 iżda l-kompjuter jeħtieġ li tkun taf. 799 00:50:39,130 --> 00:50:43,180 Issa, l-int fuq in-naħa tax-xellug jirrappreżenta dak, b'kuntrast? 800 00:50:46,350 --> 00:50:48,850 [Inaudible student rispons] >> X'hemm li? >> [Student] Tip ta 'funzjoni. 801 00:50:48,850 --> 00:50:53,610 It-tip ta 'funzjoni u, b'mod aktar speċifiku, it-tip ta' produzzjoni tagħha. Dritt. 802 00:50:53,610 --> 00:50:57,380 Allura filwaqt li l-ħaġa fil-parentesi jirrappreżenta input tagħha, jekk ikun hemm, 803 00:50:57,380 --> 00:50:59,660 il-ħaġa fuq ix-xellug jirrappreżenta produzzjoni tagħha. 804 00:50:59,660 --> 00:51:03,530 U f'dan il-każ, iż-żieda apparentement jirritorna int, 805 00:51:03,530 --> 00:51:07,690 u għalhekk int huwa t-tip ritorn ta 'din il-funzjoni. 806 00:51:07,690 --> 00:51:09,340 Xi jfisser li jirritornaw? 807 00:51:09,340 --> 00:51:15,090 Litteralment, tuża r-ritorn keyword u mbagħad jekk dak li qed jirritornaw 808 00:51:15,090 --> 00:51:18,600 għad-dritt ta 'l-keyword huwa integer, 809 00:51:18,600 --> 00:51:21,660 allura li hu tassew konsistenti ma 'dak li għandna imwiegħed. 810 00:51:21,660 --> 00:51:26,410 Inti ma setgħux jagħmlu xi ħaġa bħal din - hello, dinja - għaliex dik hija string. 811 00:51:26,410 --> 00:51:28,860 >> Ovvjament, mhuwiex numru sħiħ. 812 00:51:28,860 --> 00:51:33,140 Allura fil-qosor, il-piż huwa verament fuqna, il-programmer, li jkunu speċifiċi 813 00:51:33,140 --> 00:51:37,770 dwar dak li aħna qed jirritornaw u li mbagħad fil-fatt imorru dwar jirritornaha. 814 00:51:37,770 --> 00:51:43,440 Il-kuntest hawn issa huwa li l-memorja tal-kompjuter tiegħek huwa gigabyte, 2 gigabytes - 815 00:51:43,440 --> 00:51:45,920 tkun xi tkun - forsi huwa aktar, forsi huwa inqas, 816 00:51:45,920 --> 00:51:49,050 iżda l-kompjuter fehmiet bħala li għandhom taqsimiet differenti. 817 00:51:49,050 --> 00:51:51,200 Xi ħaġa tmur stabbiliti hemmhekk, xi ħaġa oħra tmur up hemm, 818 00:51:51,200 --> 00:51:54,290 Jittieħed differenti tmur fin-nofs, u llum aħna biss jibdew javżak l-istorja, 819 00:51:54,290 --> 00:51:56,340 iżda aħna ser terġa 'lura għal dan iż-żmien fuq. 820 00:51:56,340 --> 00:51:59,980 Għal issa, il-biċċa biss ta 'memorja aħna verament jimpurtak huwa l-segment test 821 00:51:59,980 --> 00:52:03,360 minħabba li ftit jirrappreżenta l-0s u 1s li clang tkun outputted. 822 00:52:03,360 --> 00:52:06,050 Allura meta inti tmexxi kmand fuq il-keyboard simili a.out 823 00:52:06,050 --> 00:52:09,110 jew inti ikklikkja darbtejn l-ikona fuq Mac OS jew Windows, 824 00:52:09,110 --> 00:52:11,880 programm tiegħek huwa mgħobbi mill-hard drive tiegħek fis RAM 825 00:52:11,880 --> 00:52:16,330 u huwa plopped fil-quċċata ta 'RAM kompjuter tiegħek, biex ngħidu hekk. 826 00:52:16,330 --> 00:52:20,450 Sadanittant, bħala program tiegħek tibda taħdem u ewlieni gets imsejħa 827 00:52:20,450 --> 00:52:23,640 fil-programm li inti kiteb jew il-Microsoft programm jew Apple kiteb, 828 00:52:23,640 --> 00:52:27,860 kwalunkwe ta 'varjabbli lokali tiegħu jispiċċaw stabbiliti hemmhekk fil-qiegħ tal-memorja tal-kompjuter tiegħek. 829 00:52:27,860 --> 00:52:33,230 Iżda jekk sejħiet ewlenin funzjoni oħra li hi stess għandha varjabbli jew argumenti, huma jispiċċaw hawn fuq. 830 00:52:33,230 --> 00:52:36,680 U jekk dik il-funzjoni sejħiet xi ħaġa, huma jispiċċaw hawn fuq, hawn fuq, hawn fuq. 831 00:52:36,680 --> 00:52:41,460 >> U darba biss funzjoni isir eżekuzzjoni ma 'l-munzell ta' dixxijiet, biex ngħidu hekk, 832 00:52:41,460 --> 00:52:43,240 tibda tikseb iktar baxxi. 833 00:52:43,240 --> 00:52:48,250 U dan huwa dak li mbagħad, fi ftit kliem, jispjega għaliex meta inti sejħa kubu 834 00:52:48,250 --> 00:52:51,550 jew inti sejħa inkrement, int tgħaddi f'kopja tal-valur. 835 00:52:51,550 --> 00:52:55,520 U dak li jfisser pictorially hija li int litteralment miktub in-numru 1 836 00:52:55,520 --> 00:53:00,460 f'parti oħra ta 'memorja, li jinbidlu li 1-2 fil-każ ta' żieda 837 00:53:00,460 --> 00:53:04,820 jew lil 8 fil-każ ta 'kubu u mbagħad jitfg li l-memorja bogħod 838 00:53:04,820 --> 00:53:09,140 hekk kif il-inkrement jew il-prospetti funzjoni kubu. Mistoqsija. 839 00:53:09,140 --> 00:53:12,900 [Student] Fejn huma varjabbli globali maħżuna? 840 00:53:12,900 --> 00:53:18,100 Varjabbli globali huma maħżuna fil dak li attwalment imsejjaħ il-data initialized jew data uninitialized, 841 00:53:18,100 --> 00:53:21,920 id-differenza tkun jekk għandek varjabbli globali u inti tassenja din immedjatament valur 842 00:53:21,920 --> 00:53:24,640 ma 'l-sinjal ugwali, dan jispiċċa fil-quċċata hemm, 843 00:53:24,640 --> 00:53:29,200 u jekk inti biss jgħidu x int; bl-ebda valur, dan jispiċċa ftit inqas fl RAM 844 00:53:29,200 --> 00:53:31,710 sempliċiment billi konvenzjoni. 845 00:53:31,710 --> 00:53:34,940 Mistoqsijiet oħra? Kull dritt. 846 00:53:34,940 --> 00:53:37,340 Allura din l-istampa se terga 'lura kif aħna nikseb aktar qawwija 847 00:53:37,340 --> 00:53:39,170 ma 'dak li nistgħu nagħmlu mal-kompjuter, 848 00:53:39,170 --> 00:53:42,720 iżda għal issa, ejja jkollhom intro qasira għall-kriptografija, 849 00:53:42,720 --> 00:53:46,080 tip speċifiku ta 'kriptografija li ma isolvi l-problemi tad-dinja 850 00:53:46,080 --> 00:53:47,720 iżda ma ssolvi xi wħud minnhom. 851 00:53:47,720 --> 00:53:51,700 F'dan il-każ hawnhekk, aħna għandna xi ħaġa imsejħa sigrieti-ċavetta kriptografija. 852 00:53:51,700 --> 00:53:56,410 Sigriet-ċavetta kriptografija, kif tissuġġerixxi l-isem, tirriżulta sigurtà tagħha minn sigriet. 853 00:53:56,410 --> 00:54:00,690 >> Per eżempju, jekk inti kienu lura fl-iskola grad u inti kienu jgħaddu ittra ftit imħabba sigriet 854 00:54:00,690 --> 00:54:04,850 għall-tifel jew tifla inti kienu tgħaffiġ fuq, jekk int riedu li jgħaddu dik in-nota mill-udjenza, 855 00:54:04,850 --> 00:54:08,380 inti probabilment mhux se jikteb tali nota bl-Ingliż jew kwalunkwe lingwa nattiva tiegħek. 856 00:54:08,380 --> 00:54:13,340 Pjuttost, inti tista 'kriptaġġ jew inti tista' biss tibgħathom messaġġ f'dawn il-jiem. 857 00:54:13,340 --> 00:54:15,460 Iżda int tista 'attwalment jgħaddihom nota matul il-klassi. 858 00:54:15,460 --> 00:54:18,700 U biex tagħmel dan b'mod sikur b'tali mod li l-ħbieb tiegħek u l-għalliema 859 00:54:18,700 --> 00:54:22,650 ma nafx dak li qed tikteb, inti tista 'toħroġ bi algoritmu pjuttost sempliċi, 860 00:54:22,650 --> 00:54:25,920 żgħażagħ jekk inti tista 'tkun, għal ftit ġirja-kliem. 861 00:54:25,920 --> 00:54:28,130 Allura minflok ta 'kitba ta' li inti tista 'tikteb b, 862 00:54:28,130 --> 00:54:30,220 minflok b inti tista 'tikteb c, 863 00:54:30,220 --> 00:54:32,140 minflok ċ inti tista 'tikteb d, u oħrajn. 864 00:54:32,140 --> 00:54:34,360 Jew inti tista 'toħroġ bi traduzzjoni aktar sofistikati 865 00:54:34,360 --> 00:54:36,720 ta 'ittri għall-ittri differenti. 866 00:54:36,720 --> 00:54:39,740 Iżda l-qabda hija l-tifel jew tifla li lilha qed tibgħat din in-nota 867 00:54:39,740 --> 00:54:45,020 jeħtieġ li tkun taf xi ħaġa, li huwa dak li, ovvjament? >> [Student] Dak li qed jibgħat. 868 00:54:45,020 --> 00:54:49,720 X'inhu sigriet tiegħek huwa, bħal dak li huwa li l-immappjar bejn u s bu s cu d'i. 869 00:54:49,720 --> 00:54:54,650 Huwa biss żżid 1 sa kull waħda mill-ittri li jmorru minn sa b, b li ċ? 870 00:54:54,650 --> 00:54:56,670 Huwa aktar kumplessa minn dik? 871 00:54:56,670 --> 00:55:01,540 >> Allura inti u tgħaffiġ tiegħek jeħtieġ li jkollhom din l-informazzjoni sigrieta, 872 00:55:01,540 --> 00:55:03,190 iżda hemm tip ta 'qabda-22 here. 873 00:55:03,190 --> 00:55:06,830 Jekk dan huwa l-ewwel darba li qed tibgħat din l-ittra imħabba permezz tal-klassi, 874 00:55:06,830 --> 00:55:10,720 kif huwa li tifel jew tifla se tkun taf liema l-sigrieti anke hu? 875 00:55:10,720 --> 00:55:13,930 Allura sigrieti-ċavetta kripto ma isolvi l-problemi tad-dinja, 876 00:55:13,930 --> 00:55:16,320 u hemm attwalment relazzjoni hawnhekk li aħna ser terga 'lura għal lejn tmiem semestru tal. 877 00:55:16,320 --> 00:55:25,110 Bl-istess mod do ħafna minna ma jafux xi ħadd li jaħdem, per eżempju, fil Amazon.com, 878 00:55:25,110 --> 00:55:28,190 u għadhom ħafna minna probabbilment mixtrija Jittieħed fuq Amazon.com, 879 00:55:28,190 --> 00:55:31,990 u konna ġew mgħallma biex wieħed jassumi li dawn it-tranżazzjonijiet e-kummerċ huma sikuri. 880 00:55:31,990 --> 00:55:36,470 Il-URL probabbilment tgħid https, hemm forsi ikona katnazz iblah ftit x'imkien, 881 00:55:36,470 --> 00:55:39,930 hemm xi tip ta 'kriptografija żgurati l-informazzjoni tiegħek karta ta' kreditu 882 00:55:39,930 --> 00:55:42,160 bejnek u Amazon.com. 883 00:55:42,160 --> 00:55:45,430 And yet jekk kriptografija jinvolvi jafu xi sigriet 884 00:55:45,430 --> 00:55:48,620 u għadhom I do not know xi ħadd fil-Amazon u stajt ċertament mhux irranġati xi tip ta 'sigriet 885 00:55:48,620 --> 00:55:52,710 ma 'xi ħadd fil-Amazon, kif huwa kompjuter tiegħi jew browser tiegħi tagħmel dan? 886 00:55:52,710 --> 00:55:55,720 Jirriżulta hemm tipi oħra ta 'kriptografija kollox li ssolvi din il-problema. 887 00:55:55,720 --> 00:55:57,670 Iżda għal-lum, aħna ser tiffoka fuq il-wieħed sempliċi 888 00:55:57,670 --> 00:56:00,290 fejn inti tista 'tirranġa bil-quddiem li tkun taf xi sigriet 889 00:56:00,290 --> 00:56:03,760 bħal 1 jew xi immappjar bejn u s b. 890 00:56:03,760 --> 00:56:05,840 U l-proċess ta 'kriptografija ġeneralment jinvolvi dan. 891 00:56:05,840 --> 00:56:08,620 Inti għandek xi test sempliċi, jidhru hawn fuq tax-xellug, 892 00:56:08,620 --> 00:56:12,930 inti run permezz ta 'xi tip ta' algoritmu jew proċedura għall encrypting dan - 893 00:56:12,930 --> 00:56:15,100 forsi li jinsab biss isir b, b isir c - 894 00:56:15,100 --> 00:56:17,490 u allura inti tispiċċa bil ciphertext. 895 00:56:17,490 --> 00:56:20,380 Sadanittant, ladarba tgħaffiġ tiegħek tirċievi din in-nota sigriet, 896 00:56:20,380 --> 00:56:24,200 hu jew hi għandu mbagħad decrypt dan billi ġeneralment rivers li algorithm 897 00:56:24,200 --> 00:56:27,190 sabiex terġa 'lura t-test sempliċi. 898 00:56:27,190 --> 00:56:28,960 Hemm incarnations fiżiċi ta 'dan. 899 00:56:28,960 --> 00:56:31,680 >> Per eżempju, dan huwa ċirku ftit decoder sigriet, 900 00:56:31,680 --> 00:56:35,110 u dan huwa ċirku fis-sens li hemm żewġ dials hawn. 901 00:56:35,110 --> 00:56:38,490 Fuq il-periferija ta 'barra tal dan il-ħaġa, hemm l-ittri a sa Z, 902 00:56:38,490 --> 00:56:40,340 għalkemm dawn qed sabiex każwali, 903 00:56:40,340 --> 00:56:42,880 u fuq ġewwa, hemm attwalment xi numri 904 00:56:42,880 --> 00:56:46,620 b'tali mod li ma 'dan ring inti tista' tip ta 'ddawar il-barra imma mhux il-ġewwa 905 00:56:46,620 --> 00:56:49,140 sabiex line up numri ma 'ittri. 906 00:56:49,140 --> 00:56:53,020 Minn movie imsejjaħ A Story Milied, tkun taf tara li Ralphie ftit 907 00:56:53,020 --> 00:56:58,000 kien tant ħerqana biex insemmu dak il-messaġġ sigriet Little Orfni Annie kien li lilu 908 00:56:58,000 --> 00:57:02,570 li kienu ġew ikkomunikati, naħseb, fil-forma ta 'messaġġi numeriċi fuq kaxxa ċereali 909 00:57:02,570 --> 00:57:07,220 u inti kellhom jakkumulaw l-karti ftit li daħal fil-kaxxa taċ-ċereali, 910 00:57:07,220 --> 00:57:09,770 inti kellhom posta fi, inti kellha tikseb lura l-ċirku decoder sigriet 911 00:57:09,770 --> 00:57:13,910 sabiex inti tista 'finalment ċifra barra dak l-immappjar huwa bejn l-ittri u numri 912 00:57:13,910 --> 00:57:15,550 jew ittri u ittri. 913 00:57:15,550 --> 00:57:19,520 Kif fil-kompjuter nistgħu tmur dwar implimentazzjoni jew jirrappreżentaw affarijiet bħal dan? 914 00:57:19,520 --> 00:57:22,560 Għandna bżonn mod li jesprimu nfusna ftit aktar flessibbli 915 00:57:22,560 --> 00:57:25,080 minn varjabbli tagħna s'issa ippermettew. 916 00:57:25,080 --> 00:57:29,000 Aħna kellna ints, aħna kellna Chars, aħna kellna flowts u jirdoppja u fi ftit oħrajn, 917 00:57:29,000 --> 00:57:34,200 iżda dawn huma biċċiet individwali ta 'memorja li ma verament jippermettu magħna biex jesprimu l-affarijiet 918 00:57:34,200 --> 00:57:36,440 bħall-kliem u sentenzi u frażijiet. 919 00:57:36,440 --> 00:57:38,630 Tabilħaqq, konna imsejħa kordi bħal dawn l-affarijiet, 920 00:57:38,630 --> 00:57:42,660 imma aħna wegħda li dan huwa verament ftit simplifikazzjoni fil-librerija CS50 921 00:57:42,660 --> 00:57:45,540 li aħna qed l-intenzjoni li qoxra lura. 922 00:57:45,540 --> 00:57:47,500 U hekk ejja nibdew biex tagħmel dan hawn. 923 00:57:47,500 --> 00:57:49,840 Let me imorru quddiem u tiftaħ fajl - 924 00:57:49,840 --> 00:57:54,100 kollha ta 'dawn il-fajls huma disponibbli, bħas-soltu, online - array.c imsejħa 925 00:57:54,100 --> 00:57:58,960 biex isolvu problema mhux relatat mal kordi iżda li żebgħa stampa hawn 926 00:57:58,960 --> 00:58:01,520 ta 'kif aħna jistgħu jużaw xi ħaġa imsejħa firxa. 927 00:58:01,520 --> 00:58:04,050 >> Firxa hija tip tad-data. 928 00:58:04,050 --> 00:58:10,730 Huwa tip ta 'varjabbli ta' tipi li għandha diversi tipi iżgħar ta 'data ġewwa ta' dan 929 00:58:10,730 --> 00:58:12,680 lura lura lura lura. 930 00:58:12,680 --> 00:58:16,980 Għalhekk per eżempju, jekk ridna li jiktbu programm ftit li jagħtik medja kwizz tiegħek 931 00:58:16,980 --> 00:58:19,780 għal kors bħal 50 li tkun 2 kwizzijiet, 932 00:58:19,780 --> 00:58:23,450 inti tista 'faċilment jikteb dan il-programm bbażat anki fuq xi wħud mill-materjal il-ġimgħa li għaddiet 933 00:58:23,450 --> 00:58:28,830 bl-użu GetInt u l-koppja ta 'varjabbli: int quiz1, int quiz2. 934 00:58:28,830 --> 00:58:30,550 U huwa pjuttost sempliċi. 935 00:58:30,550 --> 00:58:33,500 Huwa forsi 10, 20 linji ta 'kodiċi max sabiex timplimenta programm 936 00:58:33,500 --> 00:58:38,940 li jitlob lill-utent għall-punteġġi kwizz 2 u mbagħad tikkalkula medja tagħhom 937 00:58:38,940 --> 00:58:42,020 billi jingħaddu flimkien, diviż bi 2, u mbagħad istampar tar-riżultati. 938 00:58:42,020 --> 00:58:46,400 Nistgħu probabbilment jagħmlu dan pretty faċilment issa wara xi numru ta 'minuti. 939 00:58:46,400 --> 00:58:49,450 Iżda l-problema hija li jissoponi li 50 kellhom 3 kwizzijiet jew 4. 940 00:58:49,450 --> 00:58:52,830 Ejja ngħidu li int riedu li tuża l-istess programm ta 'klassi li kellha kull ġimgħa kwiżż. 941 00:58:52,830 --> 00:58:55,100 Aħseb dwar klassi li tkun ġimgħa kwiżż. 942 00:58:55,100 --> 00:58:58,840 Jekk hemm 16 jew hekk ġimgħat semestru, issa għandek 16 Varjabbli: 943 00:58:58,840 --> 00:59:03,030 int quiz1, int quiz2, int quiz3, int quiz4. 944 00:59:03,030 --> 00:59:06,870 Hekk kif inti tibda tara dan redundancy, dan l-ikkupjar u pasta tal-kodiċi, 945 00:59:06,870 --> 00:59:09,810 din għandha tibda tagħmel inti tixtieq kien hemm mod aħjar. 946 00:59:09,810 --> 00:59:13,610 U Thankfully, minħabba arrays hemm. Mela ejja jagħmlu dan. 947 00:59:13,610 --> 00:59:16,700 Ewwel, let me jintroduċu ħaġa sempliċi ħafna li konna mhux użati s'issa, 948 00:59:16,700 --> 00:59:18,820 iżda inti ser tara li kultant fil-kodiċi. 949 00:59:18,820 --> 00:59:21,270 >> Dan huwa dak li ġeneralment jissejjaħ kostanti. 950 00:59:21,270 --> 00:59:24,410 Allura huwa kostanti fis-sens li dan il-valur qatt bidliet. 951 00:59:24,410 --> 00:59:26,450 Il-konvenzjoni tal-bniedem meta jinħoloq kostanti 952 00:59:26,450 --> 00:59:30,420 huwa l-użu l-ittri kapitali biss hekk li verament jispikka fil-kodiċi tiegħek, 953 00:59:30,420 --> 00:59:34,270 u l-keyword speċjali li tuża fit C huwa # tiddefinixxi. 954 00:59:34,270 --> 00:59:39,970 Allura aħna ngħidu # jiddefinixxu, imbagħad spazju, allura l-kelma li inti tixtieq li tuża għall-isem tal-kostanti tal- 955 00:59:39,970 --> 00:59:41,730 u allura l-valur tal-kostanti. 956 00:59:41,730 --> 00:59:44,710 Avviż dan huwa differenti minn tassenja xi ħaġa għal varjabbli. 957 00:59:44,710 --> 00:59:46,430 M'hemm l-ebda ugwali jiffirmaw, hemm ebda virgola. 958 00:59:46,430 --> 00:59:49,140 Dan huwa dak li ġeneralment magħrufa bħala direttiva preprocessor, 959 00:59:49,140 --> 00:59:50,840 iżda aktar fuq dak ieħor ħin. 960 00:59:50,840 --> 00:59:56,350 Għal issa, dan joħloq valur ma jinbidlux imsejħa kwizzijiet 961 00:59:56,350 --> 00:59:58,290 li l-valur numeriku attwali huwa 2. 962 00:59:58,290 --> 01:00:02,180 Allura kullimkien inti tara kwizzijiet, kwizzijiet, kwizzijiet matul dan il-fajl, 963 01:00:02,180 --> 01:00:04,230 li jinsab biss in-numru 2. 964 01:00:04,230 --> 01:00:06,550 Jekk I ħarsa lejn ewlenija issa, ejja ara kif taħdem din. 965 01:00:06,550 --> 01:00:09,770 L-ewwel jidher ftit cryptic, imma hija kollha Jittieħed mill-ġimgħa 1. 966 01:00:09,770 --> 01:00:12,210 Staqsi lill-utent għall-gradi. Kif nistgħu nagħmlu dan? 967 01:00:12,210 --> 01:00:17,350 F'konformità 22 - dan huwa verament il-parti mmerraq - Niddikjara li float 968 01:00:17,350 --> 01:00:23,240 imma mhux biss float wieħed. Jien tiddikjara, pjuttost, firxa ta 'b'punt valuri. 969 01:00:23,240 --> 01:00:27,700 Dan il-varjabbli se jiġu msejħa gradi, kif implikat hawnhekk, 970 01:00:27,700 --> 01:00:31,420 iżda l-biċċa biss ta 'sintassi ġdid imbagħad huma dawn parentesi kwadri. 971 01:00:31,420 --> 01:00:37,280 Il-fatt li stajt qal gradi float u mbagħad parentesi miftuħa u mbagħad numru - 972 01:00:37,280 --> 01:00:40,980 avviż jekk dan huwa kostanti li dan huwa biss bħal għamilna dan - 973 01:00:40,980 --> 01:00:46,840 dan ifisser, "ħej kompjuter, agħti lili 2 flowts u ejja kollettivament jsejħulhom gradi." 974 01:00:46,840 --> 01:00:51,780 >> Dan huwa b'kuntrast għal proċess ferm aktar tedious bħal dan: float grade1; 975 01:00:51,780 --> 01:00:54,580 float Grade2, u ibqa 'sejjer hekk. 976 01:00:54,580 --> 01:00:58,310 Allura firxa jippermetti li jimplimentaw din l-idea, iżda ħafna inqas messily, 977 01:00:58,310 --> 01:01:04,560 b'tali mod li nistgħu tikteb 1 linja tal-kodiċi minflok, jiġifieri, 16 għal semestru 16-il ġimgħa. 978 01:01:04,560 --> 01:01:09,060 I ma riedx li hard-kodiċi 2 għaliex jekk inti taħseb dwar dan issa loġikament, 979 01:01:09,060 --> 01:01:12,560 jissoponi sena d-dieħla CS50 tibdil 3 kwizzijiet minflok 980 01:01:12,560 --> 01:01:15,010 u kelli n-numru 2 hawn, kelli n-numru 2 hawn, 981 01:01:15,010 --> 01:01:17,210 Kelli in-numru 2 hawn, in-numru 2 hawn. 982 01:01:17,210 --> 01:01:19,890 Dan isir ħafna tedious ħafna u faċli biex screw up 983 01:01:19,890 --> 01:01:26,550 u li aċċidentalment bidla 1 valur sa 3 u titlifx xi valur ieħor ta '2. 984 01:01:26,550 --> 01:01:30,660 Allura jien ser minflok astratti dan bogħod u jużaw dan kostanti li, 985 01:01:30,660 --> 01:01:32,520 kif ismu jissuġġerixxi, qatt bidliet. 986 01:01:32,520 --> 01:01:35,870 U issa l-ebda kwistjoni jekk aħna jkollniex differenti kwizzijiet din is-sena jew li jmiss, 987 01:01:35,870 --> 01:01:39,380 I biss għandhom jibdlu f'post wieħed up hawn fuq quċċata. 988 01:01:39,380 --> 01:01:41,230 Allura li kollox huwa kostanti. 989 01:01:41,230 --> 01:01:47,100 Sadanittant, il-karatteristika kunċettwali ġdida hija dik ta 'firxa. 990 01:01:47,100 --> 01:01:55,030 Allura l-parentesi kwadri jagħtu me dan sufruni ħafna u tikri me kollettivament jsejħulhom gradi hawnhekk. 991 01:01:55,030 --> 01:01:56,720 Allura issa ejja ara dak li jien ser tagħmel. 992 01:01:56,720 --> 01:01:59,220 Hawnhekk fil-linja 24 hija l-bidu ta 'għall-loop. 993 01:01:59,220 --> 01:02:03,380 >> Dan huwa verament fancy xejn. Huwa biss bl-użu kwizzijiet minflok ta 'numru hard-kodifikati. 994 01:02:03,380 --> 01:02:06,740 Iżda hemm xejn intellettwalment differenti hemmhekk minn ġimgħa li għaddiet. 995 01:02:06,740 --> 01:02:11,650 Dan huwa biss printf, hekk printf ("Quiz d #% tal-% d:") 996 01:02:11,650 --> 01:02:16,670 minħabba I biss trid li jistampa tagħti me kwizz numru 1 ta '2 u mbagħad 2 minn 2. 997 01:02:16,670 --> 01:02:18,480 Allura din hija ħaġa purament estetika. 998 01:02:18,480 --> 01:02:21,000 Imma l-parti interessanti issa huwa konformi 27. 999 01:02:21,000 --> 01:02:27,840 Sabiex jimtlew f'wieħed mill-placeholders 2 b'valur varjabbli punt, 1000 01:02:27,840 --> 01:02:29,640 inti terġa tuża parentesi kwadri. 1001 01:02:29,640 --> 01:02:35,170 F'dan il-każ, jien jużaw i, minħabba dan għal loop beda bl i equaling dak il-valur, apparentement? 1002 01:02:35,170 --> 01:02:36,670 [Student] 0. >> [Malan] 0. 1003 01:02:36,670 --> 01:02:40,990 Allura fuq l-ewwel iterazzjoni ta 'dan loop, huwa daqs li kieku I kiteb dan fil-kodiċi, 1004 01:02:40,990 --> 01:02:46,310 iżda fuq il-tieni iterazzjoni ta 'dan loop, huwa daqs li kieku I kiteb dan fil-kodiċi tiegħi. 1005 01:02:46,310 --> 01:02:49,970 Imma l-fatt li jien jużaw varjabbli hi perfetta għaliex, kif tissuġġerixxi l-isem, 1006 01:02:49,970 --> 01:02:52,600 huwa jvarja valur tiegħu fuq kull iterazzjoni, 1007 01:02:52,600 --> 01:02:55,900 hekk jien mili dan array wieħed post kull darba. 1008 01:02:55,900 --> 01:02:57,380 Xi jfisser dan array look like? 1009 01:02:57,380 --> 01:03:01,570 Ir-raġuni I ġibdet l-rettangolu sempliċi super fuq l-iskrin hawn qabel kien għal din ir-raġuni. 1010 01:03:01,570 --> 01:03:05,590 Firxa hija biss blokki ta 'memorja segwita minn blokki ta' memorja 1011 01:03:05,590 --> 01:03:08,570 segwita minn blokki ta 'memorja u oħrajn. 1012 01:03:08,570 --> 01:03:13,120 Mela jekk firxa tiegħi huwa ta 'daqs 2 f'dan il-każ hawnhekk, kollha I jkun qed jagħmel 1013 01:03:13,120 --> 01:03:20,200 billi tittajpja punteġġi kwizz tiegħi bħal hawn - sibt 100 fuq dan wieħed u mbagħad sibt 99 dwar dan wieħed - 1014 01:03:20,200 --> 01:03:24,970 allura din il-memorja ma jista 'anke jkun użat għaliex stajt biss talab lill-kompjuter 1015 01:03:24,970 --> 01:03:26,840 għal firxa ta 'daqs 2. 1016 01:03:26,840 --> 01:03:28,600 Dawk kwadri għadhom hemm, id-dritt? 1017 01:03:28,600 --> 01:03:32,670 Inti xorta jkollhom 2 gigabytes ta 'RAM anki jekk int biss tistaqsi għal 2 flowts. 1018 01:03:32,670 --> 01:03:36,840 Allura l-idea wara arrays hija li l-kompjuter biss tieħu blokki ta 'memorja 1019 01:03:36,840 --> 01:03:41,340 u mbagħad tqassam biċċiet iżgħar lura lura lura lura. 1020 01:03:41,340 --> 01:03:43,310 U hekk li kollox firxa hija. 1021 01:03:43,310 --> 01:03:47,350 >> Huwa blokki kontigwi ta 'ġewwa memorja ta' li inti tista 'tpoġġi l-affarijiet. 1022 01:03:47,350 --> 01:03:50,700 Dan jiġri li mbagħad tagħmel biss ftit aritmetika boring. 1023 01:03:50,700 --> 01:03:54,640 Jekk I iscroll stabbiliti hawn, dan huwa fejn I imbagħad ttenni fuq il-firxa. 1024 01:03:54,640 --> 01:03:58,020 I toħroġ bi l-għadd totali tal kollha tal-valuri fil-firxa, 1025 01:03:58,020 --> 01:04:02,470 u mbagħad I tuża l-funzjoni round hawn biex fil-fatt jagħmlu s-somma diviż kwiżż. 1026 01:04:02,470 --> 01:04:06,320 Imma ħalluni mewġa naħa tiegħi f'dak bħala tip ta 'aritmetika biżżejjed għal issa. 1027 01:04:06,320 --> 01:04:08,370 Imma dak kollu li qed jagħmel għalija finalment qed jinħadem medja. 1028 01:04:08,370 --> 01:04:13,580 Allura kwizz 1 plus kwizz 2 diviż bi 2 u mbagħad istampar out bħala int. 1029 01:04:13,580 --> 01:04:17,280 Imma ejja issa transizzjoni lejn eżempju differenti msejħa string1, 1030 01:04:17,280 --> 01:04:20,700 li żebgħa stampa simili iżda kordi jużaw. 1031 01:04:20,700 --> 01:04:23,940 Let me imorru quddiem u ssimplifikat għal ftit mument. 1032 01:04:23,940 --> 01:04:27,090 Nahfru-indentazzjoni għal issa. 1033 01:04:27,090 --> 01:04:30,870 Avviż fil-linja 19 ta 'dan eżempju, I nikseb string mill-utent. 1034 01:04:30,870 --> 01:04:34,640 Imma avviż dak li jien tagħmel li jmiss fil-linji 22 'il quddiem. 1035 01:04:34,640 --> 01:04:41,250 Jien fil-fatt mtennija mis i sa - u dan huwa trick ġdid - strlen tul string,. 1036 01:04:41,250 --> 01:04:44,880 Din hija funzjoni li jiġi ma C li jekk inti tgħaddi din string, 1037 01:04:44,880 --> 01:04:47,730 hija jgħidlek kif ħafna karattri huma f'dak sekwenza. Li kollox. 1038 01:04:47,730 --> 01:04:51,550 U l-fatt li huwa strlen minflok it-tul sekwenza huwa biss għaliex dan huwa aktar imqassra. 1039 01:04:51,550 --> 01:04:55,100 Tletin sena ilu, in-nies xtaqu li jiktbu l-affarijiet kif konċiż possibbli, 1040 01:04:55,100 --> 01:04:57,630 hekk aħna ve tinżamm dik il-konvenzjoni hawn. 1041 01:04:57,630 --> 01:05:00,660 i + + ifisser biss inkrement i f'kull iterazzjoni. 1042 01:05:00,660 --> 01:05:02,990 U issa Avviż dan, li huwa verament interessanti. 1043 01:05:02,990 --> 01:05:09,180 F'konformità 24, I say, "Computer, tagħti me a karattru, 8 bits, u sejħa hija ċ." 1044 01:05:09,180 --> 01:05:12,630 Imma dak li hu dan fuq in-naħa tal-lemin tgħid? 1045 01:05:13,490 --> 01:05:16,530 Bl-Ingliż, dak li ma jirrappreżenta? 1046 01:05:16,530 --> 01:05:18,730 [Student] L-ewwel karattru fil-firxa. 1047 01:05:18,730 --> 01:05:20,790 Eżattament. Agħti lili l-ewwel karattru fil-firxa. 1048 01:05:20,790 --> 01:05:24,090 Jew, b'mod aktar ġenerali, agħti lili il-karattru ith fil-firxa. 1049 01:05:24,090 --> 01:05:26,100 U jirrealizzaw huwa importanti issa li bħala xjenzjati tal-kompjuter, 1050 01:05:26,100 --> 01:05:27,890 aħna qed attwalment jingħaddu minn 0. 1051 01:05:27,890 --> 01:05:29,720 >> Inti ma għandhom id-diskrezzjoni issa biex tibda tagħmel dan. 1052 01:05:29,720 --> 01:05:34,160 Issa għandek biex jaġixxu b'mod konformi mal-aspettattivi tal-kompjuter u l-għadd minn 0 1053 01:05:34,160 --> 01:05:38,180 għaliex [0] hi se tkun l-ewwel karattru fi string, 1054 01:05:38,180 --> 01:05:42,150 [1] se tkun it-tieni, [2] se tkun it-tielet, u oħrajn. 1055 01:05:42,150 --> 01:05:49,720 Allura dan il-programm, jekk I josservawha, dan huwa għal darb'oħra string1, sabiex tagħmel string1, 1056 01:05:49,720 --> 01:05:54,670 u issa stajt run string1 fil tieqa terminal tiegħi. 1057 01:05:54,670 --> 01:05:58,330 Huwa stennija għall-input, hekk jien ser tip fil David, Ikteb, 1058 01:05:58,330 --> 01:06:02,540 u issa prints David kollu fuq linji differenti minħabba l-avviż dak li qed nagħmel. 1059 01:06:02,540 --> 01:06:05,820 Jien istampar karattru wieħed fi żmien. 1060 01:06:05,820 --> 01:06:10,100 Aħna mhux se tidħol fis-dettal llum fuq dan, imma I imħassar mument ilu dan il-kontroll hawnhekk. 1061 01:06:10,100 --> 01:06:15,480 Jirriżulta li jekk l-utent ikun misbehaving,, kontenzjuża, jew biss konfuż 1062 01:06:15,480 --> 01:06:20,210 inti tista 'attwalment jonqsu milli jagħtu sensiela ta' xi tul. 1063 01:06:20,210 --> 01:06:22,860 Jekk inti hit-ċavetta żbaljata fuq il-keyboard, inti tista 'tagħti l-ebda spag-livelli kollha, 1064 01:06:22,860 --> 01:06:26,950 jew jekk int malizzjużi, inti tista 'tipprova li paste fil jiswew gigabyte ta' esej 1065 01:06:26,950 --> 01:06:29,290 biex timla din is-sekwenza, u jekk il-kompjuter runs out ta 'memorja, 1066 01:06:29,290 --> 01:06:32,710 jirriżulta li aħna qed tmur biex jiksbu lura dan il-valur speċjali msejħa NULL. 1067 01:06:32,710 --> 01:06:35,580 Allura għal issa, biss jafu li hemm dan il-valur speċjali msejħa NULL 1068 01:06:35,580 --> 01:06:39,580 li se jħallina naħsdu biex jiċċekkjaw meta nkunu barra ta 'memorja, fost affarijiet oħra. 1069 01:06:39,580 --> 01:06:45,630 Imma jekk jien jiftħu issa string2, avviż wieħed differenza hawn. 1070 01:06:45,630 --> 01:06:48,210 Avviż wieħed differenza hawn ma string2. 1071 01:06:48,210 --> 01:06:51,340 Ma string2, dan għal loop huwa xi ftit differenti. 1072 01:06:51,340 --> 01:06:55,010 >> Let me tħassar il-NULLs sabiex inkunu nistgħu nitkellmu dwar dawk ieħor żmien. 1073 01:06:55,010 --> 01:06:57,800 X'hemm differenti dwar l-għal loop dan iż-żmien? 1074 01:06:59,620 --> 01:07:01,670 I tista 'tmur lura għall-eżempju preċedenti. 1075 01:07:01,670 --> 01:07:08,580 Allura dak verżjoni 2, din hija verżjoni 1. 1, 2. 1076 01:07:08,580 --> 01:07:11,980 1, 2. 1077 01:07:13,520 --> 01:07:16,660 Is-sejħa strlen huwa fejn? 1078 01:07:16,660 --> 01:07:18,860 Huwa fl-ewwel parti tal-linja għall. 1079 01:07:18,860 --> 01:07:21,830 Kwalunkwe ħsibijiet dwar għaliex jien tagħmel dan? Yeah. 1080 01:07:21,830 --> 01:07:24,560 [Student] Allura inti ma sejħa tal-funzjoni kull wieħed ħin. 1081 01:07:24,560 --> 01:07:26,440 [Malan] Għalhekk aħna ma sejħa tal-funzjoni kull wieħed ħin. Eżattament. 1082 01:07:26,440 --> 01:07:28,300 Recall minn għal linji li dawn qed sempliċi super 1083 01:07:28,300 --> 01:07:31,770 ladarba inti tip ta 'jifhmu li dan huwa l-inizjalizzazzjoni, il-kundizzjoni, u l-aġġornament. 1084 01:07:31,770 --> 01:07:34,750 Il-problema hija li l-kundizzjoni jiġri fuq kull iterazzjoni tal-linja. 1085 01:07:34,750 --> 01:07:40,010 U hekk f'dan l-eżempju hawn, dak li huwa ħażin dwar il-fatt li dan huwa kundizzjoni tiegħi? 1086 01:07:40,010 --> 01:07:41,830 [Student] Inti qed titlob strlen. 1087 01:07:41,830 --> 01:07:44,340 [Malan] Inti ssejjaħ strlen ġdid u għal darb'oħra u għal darb'oħra. 1088 01:07:44,340 --> 01:07:47,410 Imma ladarba stajt ittajpjat fil David, it-tul ta 'dak sekwenza huwa 5, 1089 01:07:47,410 --> 01:07:49,650 u huwa mhux se jibdlu fuq kull iterazzjoni tal-linja 1090 01:07:49,650 --> 01:07:51,670 minħabba li l-sekwenza għadu D-a-vs-i-d. 1091 01:07:51,670 --> 01:07:55,320 Allura dan huwa ħjiel lejn dak li għaddej biex issir idea dejjem aktar importanti 1092 01:07:55,320 --> 01:08:00,410 magħrufa bħala deċiżjoni disinn fejn biss ma jagħmlu l-kompjuter jagħmlu x-xogħol bla bżonn. 1093 01:08:00,410 --> 01:08:03,920 >> Just bħala Sneak preview tal pset2, pset2 fl-edizzjoni standard 1094 01:08:03,920 --> 01:08:07,030 se isfida li inti fil-fatt jimplimentaw xi numru ta 'ciphers, 1095 01:08:07,030 --> 01:08:10,410 xi numru ta 'algoritmi encryption, sabiex inti tista' kemm kriptaġġ 1096 01:08:10,410 --> 01:08:13,840 u decrypt messaġġi sigrieti ħafna bħall-Ralphie waħda hemm decoded. 1097 01:08:13,840 --> 01:08:16,810 Fl-edizzjoni Hacker ta pset2, aħna qed tmur biex tmur ftit aktar. 1098 01:08:16,810 --> 01:08:19,649 Aħna qed tmur biex inti idejn fajl minn sistema tal-kompjuter attwali 1099 01:08:19,649 --> 01:08:23,479 li fih mazz sħiħ ta 'usernames u passwords encrypted attwali, 1100 01:08:23,479 --> 01:08:26,939 u l-isfida għall-edizzjoni Hacker se tkun biex jitwaqqaf dawk passwords 1101 01:08:26,939 --> 01:08:33,200 u ċifra barra dak kriptografija jew dak sigriet kien użat biex attwalment tiġġenera dawk passwords. 1102 01:08:33,200 --> 01:08:36,109 U aħna qed tmur biex tagħmel dan billi tuża fattur ġdid hawn 'C 1103 01:08:36,109 --> 01:08:40,630 li jien ser jagħtuk biss demo ta magħruf bħala kmand tal-linja argumenti. 1104 01:08:40,630 --> 01:08:44,229 Jirriżulta, kif xi wħud minnkom tista raw fis-sezzjoni jew fil-kotba, 1105 01:08:44,229 --> 01:08:48,260 prinċipali ma dejjem għandhom ikunu nulli fil-parentesi. 1106 01:08:48,260 --> 01:08:52,430 Jirriżulta li ewlieni tista 'wkoll tkun bil-miktub bħal dan, ma' żewġ argumenti, 1107 01:08:52,430 --> 01:08:56,870 argc u ARGV, fejn argc huwa n-numru ta 'kliem 1108 01:08:56,870 --> 01:09:00,020 li inti tip wara l-isem tal-programm fuq linja tal-kmand tiegħek 1109 01:09:00,020 --> 01:09:03,420 u ARGV huwa l-kliem attwali. 1110 01:09:03,420 --> 01:09:07,540 U kif il-parentesi kwadri hemmhekk jissuġġerixxu, ARGV hija apparentement firxa. 1111 01:09:07,540 --> 01:09:12,210 Huwa ser tkun string wara string wara string fil-memorja. 1112 01:09:12,210 --> 01:09:16,010 >> Allura dak li aħna qed tmur biex tkun tista 'tagħmel li jibda bl pset 2 huwa xi ħaġa bħal din. 1113 01:09:16,010 --> 01:09:21,350 Jekk I jagħmlu argv1, li huwa eżempju aħna ser terga 'lura għal nhar it-Tnejn, u run, 1114 01:09:21,350 --> 01:09:23,370 avviż li ma jidhirx li tagħmel xejn s'issa. 1115 01:09:23,370 --> 01:09:25,490 Hija biss tistampa f'isimha. 1116 01:09:25,490 --> 01:09:31,479 Imma jekk jien ngħid addiju klassi, avviż li dan il-programm apparentement ttenni 1117 01:09:31,479 --> 01:09:35,479 fuq kull wieħed mill-kliem li kienu ittajpjat fil-pront. 1118 01:09:35,479 --> 01:09:41,630 U l-mezzi li bihom aħna se jiksbu aċċess għal kliem li l-utent ikun ittajpjat fil-pront 1119 01:09:41,630 --> 01:09:49,160 huwa billi jinbidlu prinċipali jibda dan il-weekend minn int prinċipali (vojt) li int prinċipali (argc, ARGV) 1120 01:09:49,160 --> 01:09:52,050 u għalhekk se tkun imwielda kmand tal-linja argumenti. 1121 01:09:52,050 --> 01:09:57,100 U ladarba ikollok verament sofistikati fil dan, inti ser tkun tista 'tikteb programmi verament trippy 1122 01:09:57,100 --> 01:09:59,610 bħal dan wieħed hawn, li tmur lil hinn 1123 01:09:59,610 --> 01:10:03,940 xi wħud mill-funzjonalità aħna ghamilt s'issa imma kollha pjuttost qawwija. 1124 01:10:03,940 --> 01:10:08,950 >> Allura aħna ser tħalli dan ma 'dan fuq l-iskrin, u aħna se tara int nhar it-Tnejn. 1125 01:10:17,570 --> 01:10:20,000 >> [CS50.TV]