[Daqq ta mużika] DAVID Malan: Kull dritt dan huwa CS50 u dan huwa t-tmiem ta 'ġimgħa. So I tixtieq tintroduċi eks tiegħi advisee, Andel Duff, li mhux biss jagħmel iPhone 5 stands, kif ukoll dan lectern, huwa jagħmel ukoll karozzi. ANSEL DUFF: Kif jgħid huwa għaddej, kulħadd? I biss trid jgħidlek ftit ftit dwar Formula SAE, li jien am-kaptan. Huwa ta 'tim MIT. I biss trid jgħidlek guys ftit dwar dan u nisperaw jiġġeneraw xi interess. So let me biss run permezz ta ' koppja affarijiet dwar it-tim tagħna. Allura aħna qed kompletament student run, wherein kollha tad-disinn membri, jissimulaw, test, u l-manifattur sottosistema tal-karozza. Għandna ħanut magna tagħna stess u garaxxijiet, u N52-- jew sorry, N51-- li hija l-istess bini bħala l-MIT Xjenza Museum. U aħna huma l-persuni li jsuq il-karozza. Hemm kompetizzjoni nazzjonali fil-bidu tas-sajf, u allura hemm penalties iżgħar kompetizzjonijiet matul is-sena. U allura aħna nagħmlu taħriġ ta 'sewwieq ġranet biex tikseb membri ġodda familjari. Jiem jibnu tagħna huma fuq Sibtijiet 11:00-20:00. Lunch u dinner qed tieħu ħsieb ta ', minn dik tas-Bertucci u Beantown rispettivament. Għandna laqgħa ta 'kull ġimgħa u seminar, li huwa għall-kreditu kors. Li huwa ġdid bħala ta 'dan is-semestru, u se jkun ukoll għall semestru li jmiss, sabiex inti tista 'jaqsmu reg għal dak. U allura għandna tfassil, shop, u l-ġranet CAD matul il-ġimgħa, billi l-membri se indipendentement Partijiet CAD, stokk ordni eċċetera. Allura għal elettriku inġinerija fil-tim għandna trattiva tagħna, sistema ta 'vultaġġ għoli, li tmur fi nominali 300 volt, li tinkludi muturi, kontrolluri tal-muturi, u pakki ta 'batteriji. Imbagħad għandna baxxa sistema vultaġġ, li tmur fit-12-volt, li jinkludi kontrolli, CAN lymph, il-moħħ kaxxa, u l-dashboard. Safejn CS tmur, nagħmlu jkollhom manutenzjoni website li għandna bżonn isir għal avvenimenti, sħubija bidliet, stampi ġodda, u materjal PR. U allura għandna kodiċi li jikkontrolla l- karozza għal kontroll ta 'trazzjoni tagħna, tnedija kontroll, kontroll sing, vettoru torque, u sistemi ta 'brejkijiet riġenerattiva, li run tipikament fil MATLAB, Simulink, u Labview. Jgħidlek ftit dwar il-karozza. Allura huwa madwar 500 liri. Huwa regoli limitati għal 85 f'kilowatts. Hija 2 EMRAX 207 muturi fil- lura, wieħed għal kull rota ta 'wara. Hija pakketti mibnija apposta batterija minn ċelluli A123 pouch priżmatiċi, jammontaw 300 volt u 5.6 sigħat kilowatt. U huwa drive diretta ma ' proporzjon 2.64-1 drive. Hawn huma xi ritratti aħna ħa ta 'dan fil-kompetizzjoni. Hawn il-kon-dahar, imnieħer, u hawn huma l-muturi, dawk disks big black taħt l-et mens manus. Hawn slide li I jinġibed out ta 'l-iskema kompetizzjoni tagħna. U dan huwa biss jqabbel karozza tagħna għal Koppja ta 'karozzi disponibbli kummerċjalment, bħall-XBOW KTM, Ariel Atom, u Caterha M 7-280. Jekk int familjari mal-prezz, l-enerġija iġbed piż, dollaru kull horsepower, dollaru kull torque, u karozza tagħna daqqa lilhom kollha barra mill-ilma. Jekk għandek xi mistoqsijiet, LOGHOME stabbiliti dan l-indirizz email. Rimja email fuq fsae@mit.edu. Aħna kuntenti li jitkellmu dwar xi ħaġa li tixtieq. Istudenti Harvard huma tip tal-minoranza fuq it-tim. Jekk għandek xi mistoqsijiet dwar li jekk jogħġbok do rimja us email, kuntenti li jitkellmu, u jien ser ras lura fuq għall David. Grazzi. I japprezzaw dan, guys. [Applause] DAVID Malan: Ansel jintefqu-sajf taħdem magħna hawn fuq il-kampus fil CS50 dan is-sajf. U minbarra li jaħdmu fuq affarijiet bħall-basal binarja, hu attwalment verament fetaħ tagħna eyes-- u mini fid particular-- għal dak li verament l-intersezzjoni ta ' mhux ta 'hardware u software jista' jkun. Fil-fatt ħafna mill-affarijiet hu biss daret inti permezz huma finalment maħluqa ewwel fis-software, u mbagħad finalment iffabbrikat fid-dinja reali fil-hardware. Mela jekk int interessat fil- esplorazzjoni li intersezzjoni, forsi tieħu up dak il-grupp. Issa sadanittant, dawk minnkom li huma fannijiet ta 'teknoloġija, u prodotti tat-tuffieħ fil partikolari jafu li hemm kienu koppja ta ' Avviżi bieraħ. Iżda ħsibna aħna'd juru inti wieħed li ħareġ ftit jiem qabel dik inti tista 'ma raw. Jorgen EGHAMMER: You know, darba fil xi ħaġa awhile ġejja flimkien li Tibdel il-mod kif ngħixu. Mezz tant sempliċi u intuwittivi użu iħoss kważi familjari. L-introduzzjoni 2015 katalogu IKEA. Mhuwiex ktieb diġitali jew e-book, huwa ktieb ktieb. L-ewwel ħaġa li wieħed jinnota l-ebda kejbils, lanqas power cable. Il-katalgu IKEA 2015 taqa ċċarġjati kompletament, u l-ħajja tal-batteriji hija dejjiema. L-interface huwa 7.5 bi 8 pulzier, iżda jistgħu jespandu sa 15 minn 8 pulzier. Il-navigazzjoni hija bbażata fuq touch tactile teknoloġija li inti tista 'attwalment iħossu. Kontenut jiġi installat minn qabel via 328 paġni ta 'definizzjoni għolja jispira ideat dar dar. Biex tibda browsing, sempliċiment touch u drag. Lemin għax-xellug biex jimxu 'l quddiem, xellug għal-lemin biex jimxu lura. Avviż xi ħaġa oħra? Dak id-dritt. Nru lag. Kull paġna ċara kristall tagħbijiet istantanju, ebda kwistjoni kif fast inti iscroll. Jekk inti tixtieq li tikseb ħarsa ta 'malajr, biss żommha fil-keffa ta 'idejk, u bl-użu biss thumb tiegħek, veloċità jibbrawżjaw il-kontenut. Jekk issib xi ħaġa li inti tixtieq li jiffrankaw għal aktar tard, inti tista 'sempliċement bookmark. U anki jekk inti qrib l-applikazzjoni, inti tista 'faċilment isibu l-bookmark ġdid. Amazing. [Rires] [Applause] Allura li twassalna biex l-aħħar ta 'ġimgħa. A ftit avviżi issa. Allura sezzjonali issa hija fil-progress. Mur dan il-URL hawn f'xi bejn issa u l-Ġimgħa f'nofsinhar li attwalment tispeċifika jekk inti fost dawk inqas komdi, aktar komdu, jew x'imkien bejniethom. Dan huwa tipikament waħda minn dawk affarijiet li inti biss tip ta 'jafu. U fil-fatt dawk minnkom li huma inqas komdu probabilment taf kemm, dawk minnkom li huma aktar komdu tkun taf kemm, u għal darb'oħra jekk m'intix pjuttost ċert liema ta 'dawk bramel inti jaqgħu int probabbilment x'imkien bejniethom. Imma mistrieħ assigurat inti tista tpartit wara ftit ġimgħat jekk ikun hemm bżonn. Sadanittant, għall-ġimgħa li ġejjin aħna ma tibda sezzjonijiet per se, iżda sezzjonijiet super, li huma miftuħa għall-istudenti kollha. Dan ġejjin Ħadd fil f'post li tkun imħabbra fuq il-websajt kors aħna se jkollhom waħda għall- dawk inqas komdi, kif ukoll wieħed għall dawk aktar komda. U dawk x'imkien bejniethom jistgħu jagħżlu liema minn dawn iż-żewġ, jew it-tnejn jekk inti tixtieq, biex ipoġġu fil dwar. U l-fokus ta 'dawk se jkun finalment fuq C, li aħna ser tkompli tagħna konverżazzjoni tal-lum. Problema sett 0 sadanittant huwa nisperaw fl idejk. Uffiċjalment għada dovut, Ħamis, f'nofsinhar. Sakemm inti flus kontanti fl waħda ta '5 ijiem tard tiegħek, liema bdil iġib dan sakemm il-ġimgħa f'nofsinhar. Problema stabbilixxa l-1 sadanittant se jkun stazzjonati fuq il-websajt il-kors tal-. U dan se jkun l-ewwel tagħna foray bħala klassi fis C. U dik il-problema jistabbilixxu spec se jimxu miegħek permezz ta 'lott ta' l-mechanics ta 'dak li bdejna nitkellmu nhar it-Tnejn, u aħna ser tkompli jitkellem dwar llum. C, Linux, il-CS50 appliance, li kollha li se jistennewkom fil-ispeċifikazzjoni. Uffiċċju siegħa sadanittant huma fil-progress, fis-sala dining undergraduate. Head sa dan il-URL hawn biex tara d- iskeda għall tonight u għada, jekk inti tixtieq biex ikollhom sehem. Mistoqsijiet sadanittant, sabiex inti ikollhom opportunitajiet li jistaqsu mistoqsijiet asynchronously, 24/7, tirrealizza int mhux limitat għal taqsimiet u l-uffiċċju sigħat, iżda pjuttost din l-għodda hawn, CS50 Iddiskuti f'dak URL se tkun online l-kors tal- bulletin board software, li permezz tagħhom inti tista 'tistaqsi mistoqsijiet ta' klassi u wkoll lill-persunal. Allura wieħed iżomm f'moħħu li riżorsi kif ukoll. Sadanittant tradizzjoni jibda dan Ġimgħa. Kif jista 'jkollok glimpsed minn teaser video nhar l-Erbgħa, għandna tradizzjoni aktar kull Ġimgħa matul il-mandat ta 'teħid madwar 50 studenti u persunal lil restorant lokali msejħa Nar u Silġ, li biha aħna qed tipikament ssieħbu minn xi alumni jew ħbieb mill-industrija li ġeneralment jaspiraw biex jagħmlu klassi kbir jħossu iżgħar. Allura huwa ikla kompletament każwali. A mazz minna, il-persunal speċjalment, se tilgħab siġġijiet mużikali u chat ma 'studenti dwar 50, il-ħajja barra ta '50, ħajja fil-futur, id-dinja reali, Jien jitkellem dwar opportunitajiet ta 'xogħol mal-ħbieb fl-industrija. Mela jekk inti tixtieq li jingħaqdu magħna dan Ġimgħa, ras għal dan il-URL hawn. Ispazju huwa limitat, iżda aħna ser nagħmlu dan recurringly tul it-terminu. Kap hemm biex cs50.harvard.edu/rsvp. U jekk inti ma tieħux fl dan iż-żmien, biex ma tinkwetax. Aħna se tagħmel mill-ġdid fil- -ġimgħat li ġejjin kif ukoll. Allura dan huwa l-istampa aħna miżbugħa aħħar ġimgħa, u inti probabilment ħadthom ġiet dabbling fil s'issa. Imma ejja jippruvaw li jgħaqqdu dan issa għal dak li aħna qed tmur biex tagħmel illum u 'l quddiem. Jista I jkollhom voluntier wieħed? Kull dritt, jew diversi. Kif dwar hawn fuq il- aħħar, fil-qmis blu. Come fuq up, x'hemm isem tiegħek? Alana: Alana. DAVID Malan: Alana. Allura Alana, għal ftit moment-- sbieħ li jissodisfaw you-- huwa se jkollu l-irwol ta 'din il-funzjoni hawn. Il-blokk vjola konna imsejħa s'issa funzjoni. Allura dak li jien se jmorru quddiem hawn u joffru Alana huwa isem tag ftit, biex jagħmlu ċara liema rwol int playing. Allura inti għandu jkun il-blokk jgħidu. Jekk inti tixtieq li tmur quddiem u mqiegħda dik fuq. U aħna qed tmur biex iżommu din super sempliċi. Jekk l-għan fil-idejn huwa sempliċiment issa biex jimplimentaw Alana, din l-hekk imsejħa jgħidu blokk, hawnhekk kif li għaddej biex jaħdmu. I have-- ejja sejħa hija argument jew parametru, huwa verament ftit folja vojta tal-karta. U huwa abjad li tip ta 'jkun reminixxenti tal-kaxxa bajda li fih inti jistgħu jiktbu kliem. Sadanittant jien se jmorru hawn. Jien ser jimxi 'l quddiem u jiktbu H-E--O L L comma dinja. U issa I, bħala jiġifieri l-programmer, ma tassew taf kif jgħidu xi ħaġa. I jistgħu joħorġu bil-kliem, imma jien ma neċessarjament taf kif jesprimu myself verbalment jew fuq l-iskrin. U hekk dak li jien ser biex tagħmel huwa li tieħu din il-biċċa ta 'funzjonalità, li input-- jew argument, kif aħna ser sejħa hija, Stajt bil-miktub dwar din il-biċċa ta 'paper-- u jien ser jesternalizzaw dan. U fil-fatt li l-irwol li funzjonijiet lingwa ta 'programmar tista 'tilgħab. Xi ħaġa bħall-kelma blokk jistgħu jiġu esternalizzati lil xi ħadd li verament jaf liema hu jew hi qed jitkellem dwar. Mela jekk inti ser pass fuq hawn għal ftit mument, I am ser tgħaddi dan input li Alana, u nitolbu li inti ngħid dan input. Alana: Hello, dinja. DAVID Malan: Dak it. Allura li hemm funzjoni. Issa nistgħu teħodha ftit aktar, nistgħu nieħdu pass 'il quddiem hawn. Minħabba li kien ċar underwhelming. Mela ejja issa jikkonvertu dan xi ftit aktar sofistikati. Allura dan il-kors huwa verżjoni C tagħna. Mela issa jekk inti tixtieq li jieħdu dik off wieħed, dak l-isem tag off, u ejja jkollhom inti tpoġġi fuq isem ġdid. Imma fundamentalment int jilagħbu l-istess rwol, huwa biss hekk jiġri li jiġu msejħa printf issa. L-istorja huwa, ovvjament, ser be-- probabbilment daqstant underwhelming-- huwa ser ikunu dawn li ġejjin. Inti issa huma l-printf funzjoni. I am l-sejjieħ, jew il- programmer, li trid toqgħod fuq l-ispallejn ta ' nies fil-passat bħalek, li stajt diġà dehret kif li attwalment jikteb xi ħaġa isfel. U hekk dan iż-żmien, pjuttost milli jgħidu li ejja attwalment jużaw screen tagħna matul hawn. Mela jekk inti tixtieq li pass minn hawn, jien ser li jgħaddu mill-ġdid dan bħala input lill ħabib printf tiegħi. Jekk inti tista 'tmur quddiem u jistampaw li fuq l-iskrin, sempliċiment billi tpinġija bil tiegħek swaba fuq l-iskrin iswed. Eċċellenti. Kull dritt, lottijiet ta 'suspense għall-bqija kif dak kien se play out. Allura issa ejja jieħdu l-affarijiet up wieħed talja finali, jekk nistgħu, kif ġej. Allura dan huwa programm C kif aħna qal aħħar darba. U dan biss ma dak li għamilt, dan prints out għall-iskrin, hello, dinja. Anki jekk hemm b'mod ċar ħafna għalf ta 'jfixkluh up hemm. Imma ejja jieħdu l-affarijiet up a talja u jintroduċu din il-verżjoni, li tfakkar kienet it-tielet verżjoni li aħna spiċċajna bi aħħar darba. U issa hemm b'mod ċar żewġ użi ta 'printf. Hemm 2 sejħiet għall Alana f'dan il-każ għall printf, imma hemm ukoll sejħa lil funzjoni oħra. X'hemm dik il-funzjoni b'mod ċar? Getstring. Nistgħu tikseb wieħed voluntier aktar? OK, come fuq up. X'hemm isem tiegħek? JAVIER: Javier. DAVID Malan: Javier, come fuq up. Allura rwol Javier hu fuq din il-biċċa ta 'karta. Liema Jien ser sejħa ġenerikament s. Issa dan huwa varjabbli, huwa ta 'spag tip, kif implikat billi dan it-tieni linja fin-nofs hemm. U nixtieq li inti tmur tikseb me string. Speċifikament ras stabbiliti għall-orkestra taqsima u nikseb me l-isem ta 'xi ħadd, u terga 'lura ma' varjabbli fihom dak il-valur. Hija tista 'tkun xi ħadd inti tixtieq. Here we go. Kull dritt, Javier huwa kitba l-isem. Kull dritt. Aħna kollha jistgħu probabbilment raden kif dan se play out. Aħna qed forsi belaboring il-punt ta 'dak funzjoni hija tagħmel, imma madankollu nirringrazzjak ħafna. Allura Javier marret lura din is-sekwenza hawnhekk, li, ma tistax pjuttost tara, Jonathan huwa l-sekwenza li konna gotten. Allura issa dak li jien attwalment għaddejjin biex jipprovdu lill Alana għalkemm hija xi ftit differenti. Minħabba f'dan il-verżjoni tal- programm, l-ewwel hemm jiddikjaraw l-isem tiegħek. Allura l-ewwel argument I bżonn li jipprovdu Alana ma se tkun litteralment jiddikjaraw l-isem tiegħek. Kull dritt, tant sempliċi bħal dik Nixtieq idejn dan lilek. U kif I write up tal- argument jmiss, jekk inti tixtieq li tmur quddiem u tikteb din fuq il-bord, ejja imorru quddiem u jagħmlu l-eżempju finali hawn biex jagħmlu ċar x'inhu finalment qbilna li jiġri. Allura jiddikjaraw l-isem tiegħek, tikteb lejn il-quċċata jekk inti ma mind, biss hekk li għandna kamra għat-tieni linja waħda. Minħabba li l-aħħar ħaġa jien ser li issa jagħtuk mhuwiex wieħed, iżda żewġ biċċiet tal-karti. Kull dritt. H-E-L-L-O virgola u imbagħad linja vojta. Allura dak li jien ser idejn Alana issa hija xi ftit differenti. Mhux biss hija hi jkollna dan, fejn Imla l-vojt tirrappreżenta li percent-- dak li kien l- placeholder aħna kont qed tuża? Yeah, hekk mija s. Sadanittant jien ser jgħaddu tagħha f'tieni argument, li huwa preċiżament dak Javier miksuba mill Jonathan. So let me jagħtuk dawn iż-żewġ. Jekk inti tixtieq li, imorru quddiem u print dak l-effett. X'hemm finalment jiġri issa jiġifieri, Alana darb'oħra qed jilgħab l-irwol ta 'printf. Javier kien playing ir-rwol ta 'GetString. Allura li se jkun souvenir tiegħek. U finalment dak li qed jiġri, minkejja dan hello-- Yep imorru quddiem u virgola. Alana: Did I jirċievu dan jew għadhom ebda? DAVID Malan: Yep, inti riċevuta minnhom tnejn f'daqqa. Allura l-idea hija li inti issa jistgħu flip-paġna biex jimmaniġġaw it-tieni ta dawn iż-żewġ inputs. Allura dan huwa biss li martell-dar tal- punt li filwaqt Alana esegwiti din il-linja ħadra hawn, u mbagħad Javier għamlet dan wieħed għalina u r-ritorn lili xi ħaġa aħna ser sejħa i, imma kien verament biss li biċċa karta ta 'tiegħu stess. U issa Alana għamlet din it-tielet linja. U anki jekk dan kollu jistenna hekk oerhört cryptic forsi ewwel daqqa t'għajn, huwa verament huwa sempliċi bħal dik. Tgħaddi inputs madwar, jkollna outputs, jew qed fiżikament mogħtija lura xi ħaġa, jew jara effett sekondarju bħal dan. Xi ħaġa viżwalment miktub fuq l-iskrin. Mela ejja imorru quddiem u nirringrazzja Alana u Javier, li kien jistabbilixxi hawn, għal jingħaqdu magħna up here. [Applause] Allura issa ejja jieħdu għal mogħtija kemm sempliċi kollha ta 'li jista' jkun. U ejja tipproċedi biex attwalment tagħmel xi ħaġa fil-kodiċi attwali. Allura up fuq l-iskrin hawnhekk hija screenshot tal-hekk imsejħa appliance CS50. U jekk inti kellha fuq, bħala 02:00 nhar l-Erbgħa wara nofsinhar, jispjegaw xi wħud ħabib dak l-appliance CS50 hija, kif kieku inti tiddefinixxi dan fil-sentenza? Kwalunkwe sentenza waħda? Yeah? STUDENT: Huwa simili programm li jagħmel il-kompjuter ta 'kulħadd mmexxija bl-istess sistema. DAVID Malan: Tajba! Huwa programm li tippermetti li kulħadd kompjuter biex imexxu bl-istess sistema. Huwa tip ta 'tiegħek stess kopja ta 'operattiva sistema li jiġri jiġu msejħa Ubuntu Linux. U din tmur b'mod effettiv fi ħdan ta ' tieqa fuq Mac tiegħek stess jew PC, b'tali mod li dan il-mod id-dritt barra tal-bieb fil-ġimgħa 1, kulħadd hawn fil-klassi ikollu aċċess għall-istess għodod, l-istess konfigurazzjoni, u hemm ebda speċifiku kurva tat-tagħlim għal Mac jew PC b'mod partikolari. Issa aħna miftuħa up, ġewwa tal-CS50 appliance nhar it-Tnejn, dan il-programm hawn. Dan jiġri li għandu jissejjaħ gedit. Imma dak li verament ftit editur grafika. Hija xi ħaġa simili notepad jew Test Edit fuq Windows jew Mac OS rispettivament. And I propost li kien hemm verament tliet partijiet importanti għal dan l-iskrin. In-naħa ta 'fuq huwa fejn inti se jikteb kodiċi tiegħek. U li fejn aħna jintefqu ħafna ta 'tagħna tliet eżempji fil lecture nhar it-Tnejn. Il-bottom we called dak, dan il-tieqa iswed, yeah? STUDENT: kompilatur? DAVID Malan: kompilatur aħna aċċessata permezz ta 'dak tieqa. Iżda aktar ġenerali. Yeah, kien biss tieqa terminal. Dan huwa terminu antik età li biss jiddeskrivi essenzjalment Teptip pront, li snin ilu użat biex tkun fuq wieħed minn dawn il-monitors kbar stil CRT. Imma llum huwa tip ta virtwali fis-software. U l-twieqi tat-terminal Ejja us tip jikkmanda. Hija tip tal-verżjoni simplifikata tal-interface utent jew UI. Mhuwiex grafika interface utent jew GUI, huwa interface ibbażat fuq test jew interface kmand tal-linja. U fil-fatt li fejn finalment I kien kapaċi li jikteb xi kodiċi. Ladarba I kien kiteb xi kodiċi għalkemm, ifakkar li I użat dan il-kmand. U kif l-isem tip ta jissuġġerixxi, dan tippermetti lili biex tagħmel programm imsejjaħ Hello. Imma dak li kien verament tagħmel? Ukoll make kienet qed tieħu tiegħi input, kodiċi sors tiegħi, u dan jinbidel għal dak li, finalment? Object code. U l-kodiċi oġġett huwa biss fancy mod ta 'tgħid żerijiet u dawk. U mbagħad darba xtaqt biex imexxu dan il-kodiċi oġġett, ladarba jien ridt li jgħaddu bħala input dawk żerijiet u dawk fis-kompjuter tiegħi moħħ, il-CPU hekk imsejħa jew unità ċentrali ta 'pproċessar, I kellhom imexxu l-programm. Iżda dan ma kienx pjuttost sempliċi nhar it-Tnejn bħala sempliċiment double tikklikkja ftit ikona. What minflok ma I jkollhom biex jagħmlu sabiex tmexxi programm? Liema kienet li t-tieni kmand? Jien smigħ slashes ftit? Iva, yeah? STUDENT: Dot mmejla u isem tal-programm. DAVID Malan: Eżattament. Dot mmejla u l-isem tal-programm. Issa dak li ma jfisser dan? Well dot huwa biss mod arcane ta 'tgħid direttorju kurrenti. Tkun xi tkun folder inti fil hija referenzjati bħala, huwa rappreżentat bħala dot. Il slash huwa biss dak li inti stajt tidher fil Mac OS u Windows għal snin, huwa separatur bejn direttorju jew folder u l-bqija ta 'xi isem. Fil-Windows dan jiġri li jmorru lura, fil-Linux u Mac OS dan jiġri li jmorru quddiem. Iżda huwa biss il-separatur, dan huwa biss dettall sintattika uninteresting. Il-parti mmerraq tal-kors huwa l-isem tal-programm, Hello. U dan huwa dak jagħmlu maħluqa għalina. Hija outputted dan il-fajl għalina. Imma kif ma nikbru dak il-punt? Ejja issa titlob lill- kwistjoni, dak li kien verament għaddejjin hawn, għall-inqas ma ' rigward ta 'xi wħud minn dan sintassi? Allura f'sentenza jew hekk, kif ma aħna jispjegaw bogħod dan l-ewwel linja li l- enfasizzat fl-aħdar? Liema kienet l-ewwel linja li tagħmel, fir-rigward programm tiegħi? Yeah? STUDENT: [inaudible]. DAVID Malan: Say mill-ġdid? STUDENT: Inklużi u tniżżil funzjonijiet tal-passat [inaudible]. DAVID Malan: Tajba. Inklużi, I mhux se ngħid tniżżil, imma ejja ngħidu inklużi funzjonijiet li n-nies kitbu fil-passat. U dawk il-funzjonijiet jiġu implimentati x'imkien fil-kompjuter tiegħi. Xi ħadd kiteb fajl snin ilu, u dan il-fajl huwa x'imkien ġewwa tal-CS50 appliance, jew fuq hard drive tiegħi b'mod aktar ġenerali. U għalhekk din il-linja huwa essenzjalment qal, mur isibu dan il-fajl, I standard / O dot h, u kopja u paste kontenut tiegħu dritt hawn fuq il-quċċata tal-fajl tiegħi I hekk li ma jkollhom tagħmel dan manwalment myself. U fost il-biċċiet juiciest ġewwa ta dan il-fajl aħna mitluba kienet liema funzjoni? What funzjoni ma ngħidu kien iddikjarat jew imsemmija fl-I standard / O dot h aktar probabbli? Printf, id-dritt? Aħna ma jiktbu printf fuq It-Tnejn, hija biss teżisti. Ferm simili Alana biss daħal up fuq il-palk u hi biss teżisti u kien jaf kif tfassal xi ħaġa fuq l-iskrin, hekk ma printf jeżistu għal ħafna snin. U hekk dan huwa kif aħna jkollhom aċċess għaliha. Issa jekk aħna jimxu fuq hawn, ewlieni kien analoga aħna qal li l-biċċa puzzle imsejħa meta bandiera aħdar għafast fid-dinja ta 'Scratch. Huwa biss tip ta 'l- isem default li l-bnedmin iddeċieda jirrappreżenta l- default punt ta 'dħul għal programm. Il blokki ta 'kodiċi ta' programmazzjoni li gets esegwiti ewwel. Sadanittant dawn braces kaboċċi huma tip ta bħall-forma mgħawġa ta 'lott ta' dawk il-biċċiet scratch isfar. Huma tip ta jirrappreżentaw kollu mazz ta 'struzzjonijiet flimkien. Allura hija biss tip ta 'torbot flimkien xi funzjonalità relatati. printf tal-kors huwa funzjoni li prints l-iskrin, kif aħna biss għamlet. What dwar dawn parentesi? Kif inti define-- anki jekk inti stajt qatt programmati qabel, iżda biss ibbażat issa fuq tiżdied intwizzjoni wieħed jittama, liema huma l-parentesi jagħmlu għalina hawn? Jew liema huma madwar? Yeah? STUDENT: Huma qed tgħid liema int ser jistampaw bil printf. DAVID Malan: Yeah, dawn qed tgħid dak int ser jistampaw bil printf. Jew b'mod iktar ġenerali, huma jdawwar l-inputs għall-funzjoni. Allura inti tista 'kważi taħseb ta 'dawk parentesi bħala bħall-metall clip fuq din clipboard. Huwa x'hemm azjenda, huwa x'hemm ser jintużaw biex jipprovdu argumenti fil-funzjoni, li F'dan il-każ huwa msejjaħ printf. Allura b'mod ġenerali kważi kull ħin nitolbu funzjoni, aħna ser tara parentesi par. Forsi ma 'xi ħaġa fiha, bħal issa, forsi xejn fiha. Imma dak li fejn inti tpoġġi l-inputs jew hekk imsejħa argumenti għal funzjoni. Hawn argument wieħed bħal dawn. Stajt enfasizzat kollox bejn il-kwotazzjonijiet, għaliex jirriżulta f'din il-lingwa imsejħa C, meta inti tixtieq li tirrappreżenta string-- li hija kelma jew frażi jew saħansitra paragraph-- għandek madwaru ma kwotazzjonijiet doppja. Kwotazzjonijiet Mhux wieħed, kwotazzjonijiet doppja. U dan huwa eżattament dak I ghamilt hawn. Sadanittant hemm funky simbolu lejn it-tmiem hemmhekk. Il n backslash. What did aħna ngħidu li irrappreżentata? Yeah? STUDENT: A linja ġdida. DAVID Malan: Linja Ġdid. Dritt, inti ma ġeneralment hit Ikteb meta trid li l-programm bżiq out linja ġdida. Pjuttost inti tgħid b'mod espliċitu ma din il-biċċa ċertament arcane ta sintassi, backslash n, li inti tixtieq linja ġdida li jmorru hemm. Fl-aħħarnett l-virgola. Aħna ma verament jitkellmu wisq dwar dan, u bil-bosta dan se jkun l-bane ta 'xi tal-eżistenza tiegħek għall-ewwel problema sett, meta inti biss naqset li tirrealizza inti stajt minsija xi ħaġa bħala stupid bħala virgola. U ġeneralment tqegħid se jiffissaw hemm dik il-problema. Imma x'hemm dan isir għalina, would you say? STUDENT: [inaudible]. DAVID Malan: Jiddispjacini? STUDENT: [inaudible]. DAVID Malan: Irfinar dikjarazzjoni. Huwa tip ta bħall-perjodu fuq l-aħħar ta 'sentenza Ingliża, billi f'din il-lingwa C huwa jispiċċa dikjarazzjoni. L-istruzzjoni ta 'programmazzjoni kodiċi li inti biss jridu jgħidu, Jien jsir ma 'dan. Issa avviż li l-uniku wieħed hawn. Allura inti ma tridx li tikseb fl drawwa ta 'semicolons tqegħid wara kull parentesi magħluqa. Per eżempju hemm xejn jmiss null, u aħna ser terga 'lura fil-futur għal dak mezzi null. Iżda f'dan il-każ printf tiegħek huwa funzjoni, jew dikjarazzjoni qed jintużaw, u hekk aħna tixtieq li jkollok li terminus fl-aħħar nett ta 'dan. U jien intenzjonalment picking fuq C. U franchement ħafna ta 'lingwi bħal C, C ++ Java, JavaScript, u ​​kull numru ta ' f'ilsna oħra għandhom ħafna ta 'dawn tip ta 'dettalji sintattika. Li ċertament jekk int ġodda biex programmazzjoni jistgħu ġenwinament vjaġġ inti up. U int se, jimmarkaw tiegħi kliem, xi wħud minnkom se jkollhom din l-esperjenza fil-ħinijiet uffiċċju jew tard bil-lejl jaħdmu fuq xi p-set, fejn program kkritikat tiegħek biss ma tiġborx, ma tmurx, inti għandek ebda idea x'hemm ħażin, jidher kompletament loġikament korretta għalik. U huwa għaliex inti nesa xi ħaġa bħal laqtu semicolon fl-aħħar ta 'xi linja. Iżda dawn huma t-tipi ta 'affarijiet int ser jitgħallmu immedjatament biex tara. U fil-fatt dawn huma l-affarijiet li u TF tal-CA jkollhom ġie tip ta imħarrġa biex tara ħafna aktar malajr milli suppost. U hekk dan huwa biss li jgħidu, kif inti adsa fis-problema stabbilixxa l-1 speċjalment, ma jsibux frustrati minn dan il-għalf. Ladarba inti tip ta 'aklimatizza għad-dinja, inti tibda tara affarijiet li inti tista 'ma tara ewwel daqqa t'għajn din l-ewwel ġimgħa. Allura kodiċi sors hija xi ħaġa bħal dik. Aħna rridu li għaddih fil l-hekk imsejħa kompilatur. U li kompilatur bħala għidna jipprovdi output magħrufa bħala kodiċi oġġett, il- żerijiet u dawk hekk imsejħa. Iżda minn hemm, dak li ma tagħtina? Ukoll huwa jagħtina dawn it-tendenzi. U għal darb'oħra kompjuter tiegħek, Intel tiegħek ġewwa, jifhem dawn it-tendenzi ta 'żerijiet u dawk. U xi kultant l-mudell jirrappreżenta numru deċimali attwali kif rajna aħħar ġimgħa, xi kultant dan jirrappreżenta ittra bħal rajna aħħar ġimgħa, xi kultant dan jirrappreżenta istruzzjoni, bħal istampar xi ħaġa li l-iskrin. Allura printf għall instance-- iżda pjuttost, let me kontrina. Imxejna ilhom jieħdu għall mogħtija li dawk żerijiet u dawk li huma prodotta minn dan il-kmand make. Imma kun mhix kompilatur. Agħmel mhuwiex il-ħaġa fin-nofs thats tipproduċi l-żerijiet u dawk. Pjuttost tagħmel huwa biss konvenjenti ħafna programm jismu li l-iskop fil-ħajja huwa essenzjalment biex insemmu kif jikkompilaw program tiegħek. U nużawha f'dawn ewwel ġimgħat għaliex hija biss jiffranka us ħafna problemi. Imma dak li jagħmlu huwa verament tagħmel meta inti tiġbor hello, hija, kif aħna qal aħħar darba, huwa tfittex fuq hard drive tiegħek jew fil-folder attwali, għal fajl imsejħa dak, apparentement? Hello.c, id-dritt? Li jinsab biss tip ta 'konvenzjoni. Huwa arbitrarja, iżda li l-mod l-affarijiet huma. Agħmel, jekk inti biss tispeċifika l-isem ta 'programm li għadha ma teżistix, li għaddej biex tfittex għall-kodiċi sors fil-fajl, fil-kontumaċja mezzi hello.c. U jekk isibha, kbir. Huwa ser jikkonvertu dak is-sors kodiċi fis object code għalik. Imma kull darba stajt hit Ikteb wara running jagħmlu hello, Tiftakar tara l-aħħar darba pjuttost twil u s-sekwenza cryptic ta 'ittri abjad ieħor u karattri fuq l-iskrin? Ukoll li kien l-kmand attwali, il- kompilatur attwali, li kien għaddej. Allura l-kumpilatur attwali aħna ser tuża aktar ta ' l-semestru hija xi ħaġa imsejħa clang. Xi wħud minnkom jista 'jkollok użati Visual Studio qabel, jew GCC, jew kwalunkwe numru ta 'kompilaturi oħra. Aħna ser tuża clang. U clang jippermetti li attwalment jikkonvertu dan il-kodiċi sors li toġġezzjona kodiċi. X'jagħmel din attwalment tfisser fil-prattika? Well let me go f'waħda minn folders tiegħi mill-aħħar darba. Ġewwa tal-appliance CS50. U let me imorru quddiem u joħolqu din istess fajl, jinkludu standard I / O dot h. Null prinċipali Int. U aħna ser terga 'lura fil-futur bħala għal dak li int mezzi u liema mezzi null. Iżda għal issa ejja do bonjour backslash dinja n, bħad għamilna fuq il-bord. Let me tiffranka dan il-fajl imsejħa hello.c. U issa jekk irrid li jiġbor dan I could-- let me zoom run in-- jagħmlu bonjour jidħol. U dan kien għal darb'oħra dik il-linja cryptic ħafna. Imma kelma issa mill-inqas wieħed probabbilment jumps fil inti. Clang hija dik il-linja rajna qabel. Issa hemm ħafna ta 'għalf ieħor franchement li aħna ser mewġa idejn tagħna fuq għal-lum. Iżda hemm sottogruppi ftit, ftit karattri fil hawn li huma ta 'interess. Imma jien ser jimxi 'l quddiem u jagħmlu dan. Jien ser ewwel ġirja hello, just biex jipprova li dan qed taħdem kif kien it-Tnejn. Imma issa jien ser tħassar il-programm. U ħafna bħal kellna dawn ismijiet qasir aħħar darba, il-kmand għat-tneħħija xi ħaġa hija rm, neħħi, jidħol. Inti qed tmur biex tikseb xi mistoqsijiet pjuttost cryptic. Hard biex jemmnu li inti tista 'tagħmel anki din il-kwistjoni diffiċli biex jifhmu. Iżda neħħi bonjour fajl regolari biss mezzi do inti tixtieq li tħassar bonjour. And I tista 'tmur quddiem u t-tip y għal iva, Ikteb, u issa marret. X'inhu dan ifisser issa, jekk I ċar l-iskrin tiegħi, hija li minflok tagħmel tagħmel hello-- inti taf liema, jien jkollna tajba fuq dan. Jien ser imexxu l-kompilatur myself. I m'għandhomx bżonn xi programm biex ċifra barra dak file tiegħi huwa msejjaħ. I kiteb hello.c, I jafu liema huwa msejjaħ, Jien b'mod ċar li jista 'ittajpjar dak. So I m ser jimxi 'l quddiem u ma clang hello.c Ikteb. Jidher li qed jaħdem. U hemm l-ebda output addizzjonali, minħabba clang huwa l-kumpilatur. Huwa x'hemm konverżjoni tal- kodiċi tas-sors għall-żerijiet u dawk. Mela jekk jien issa do dot mmejla bonjour Ikteb, hm. Messaġġ ġdid żball llum. Allura bash huwa biss l-isem tal- Teptip fil-pront li aħna qed tuża. Li l-oversimplification gross, iżda għal issa li kollox jiġifieri, huwa l-pront Teptip. U hu għalhekk li huwa yelling fil us. Nru tali file jew direttorju huwa ftit aktar sempliċi. Iżda żgur I magħmula dan il-kodiċi oġġett. Iżda l-qabda hija, li jekk I tip-kmand biex jelenkaw il-kontenut ta 'dan direttorju, li huwa dak? ls għall-lista. Hemm mazz ta 'għalf fil hawn, li wħud minnhom daħal mal-appliance, bħal folder Desktop tiegħi, Downloads folder, folder Dropbox, u kollha li Jittieħed. Imma dak li hu interessanti huwa hello.c, li I ħolqot mument ilu ma gedit. U x'inhu l-weirdest tfittex isem fil hawn, forsi li aħna ma ara l-aħħar ħin kollu? a.out, id-dritt? Allura lura fil-ġurnata, huwa li kien biss iddeċieda meta inti tikkompila programm għall-ewwel darba, u inti ma tispeċifika l-isem ta 'fajl, ejja sejħa hija. U a.out ifisser biss dan kien l-output tal-kompilatur. Allura huwa isem horrible għal programm. Iżda billi li l-loġika, dot mmejla għal direttorju kurrenti, mmejla a.out, għandu jfisser hemm fil-fatt tiegħi bonjour programm dinja. Issa ftit tisħon eżerċizzju, wisq. Jekk irrid li tibdel isem din fajl, jirriżulta li inti jimxu fajl mill-isem wieħed għall-ieħor. A.out Allura mv, u mbagħad I tista 'sejħa hija bonjour Ikteb. Allura dan huwa kmand Linux. DOS kellhom din snin ilu, Windows għandu tieqa terminal ta 'xi tip li jistenna bħal dan, Linux u Mac kompjuters għandhom dan Teptip fil-pront. Anke jekk ħafna minna probabbilment rarament, jekk qatt, tużah. Imma dak I ghamilt huwa mmexxi programm, li ismu huwa mv, u stajt sakemm dan ma żewġ argumenti, biex ngħidu hekk. Żewġ inputs. a.out huwa l-isem oriġinali. Hello huwa l-isem il-ġdid. Mela jekk jien issa do dot mmejla hello, Ikteb, li jeżisti. U jekk I do a.out dot mmejla, dak li tistenna I tara? Bash, ebda tali file jew direttorju. Minħabba I biss semmieh. Allura dan jieħu daqsxejn ta 'jkollna użati biex. Iżda l-problema stabbilixxa l-1 ispeċifikazzjoni ser verament żżomm f'idejk permezz xi ftit minn din minutae. Minħabba li dan huwa kompleta distrazzjoni intellettwali mill-aktar interessanti ideat fil-idejn, li huwa attwalment joħolqu xi ħaġa ta 'kodiċi. Imma ejja do modifika waħda issa biex dan il-programm. Ifakkar li l-aħħar darba għamilt xi ħaġa bħal dan, printf jiddikjaraw l-isem tiegħek. U fil-fatt aħna biss ma dan fuq il-big screen hemmhekk. U mbagħad I ma string s gets GetString paren miftuħa, paren qrib. U paren biss shorthand notazzjoni għall parentesi. Allura ma GetString tieħu ebda argument? Ebda inputs ebda, iżda teħtieġ l-parentesi, għaliex dan huwa dak tiddemarka l-sejħa ta 'funzjoni. So jien ser jimxi 'l quddiem u jippruvaw imexxu l-kumpilatur fuq dan il-programm issa. Hello.c Clang, minħabba I ma biddlitx l-isem tagħha għal issa. U sibt mazz ta 'żbalji. Ejja zoom out here. Jekk I iscroll up again, bħal I said aħħar darba, l-ewwel, l-istess żball li sibt aħħar darba. On-line 6 ta hello.c kelli string identifikatur mhux iddikjarat, ma I tfisser standard fil? I ma. Minħabba dak żball jkollhom I magħmula f'din programm, jekk inti recall minn aħħar darba? Yeah, għandna bżonn l- hekk imsejħa roti taħriġ li aħna ser tuża biss għal ftit ġimgħat. Imma I bżonn li jiġi speċifikat li wkoll, x'imkien ġewwa tal-appliance, huwa fajl li aħna kiteb biss ftit snin ilu. Ġewwa minnhom huma funzjonijiet bħal apparentament GetString. Allura issa jekk immur lura stabbiliti hawn, zoom fi, u hello.c clang run mill-ġdid. Indanna, żball ieħor. Iżda aħna ma bbenefikawx dan wieħed qabel. Dan wieħed huwa ftit aktar esoteric biex insemmu. Iżda din hija deliberatament fuq l-iskrin, għaliex ridna li tgħid din l-istorja. Meta inti tikkompila hello.c, eżatt kif l-istampa minn ssuġġerit qabel, int biss konverżjoni li kodiċi tas-sors għall-żerijiet u dawk. Issa persunal CS50 ftit snin ilu kiteb CS50.h, u fajl korrispondenti, CS50.c. U aħna, ftit snin ilu, kkompilata dawn il-fajls fis-fajl li jiġri li għandu jissejjaħ CS50.o. Jew jista 'jkun isem ġdid ta' ftit affarijiet differenti. Imma dak mod sempliċi ta 'ħsieb dwar dan. Allura aħna ikkumpilata l CS50 librerija fis żerijiet u dawk. Imma mkien jiena speċifikati li nixtieq li jikkombinaw zeroes tiegħi u dawk għall-dinja bonjour tiegħi programm ma 'l-żerijiet u dawk li l-persunal CS50 ħoloq ftit snin ilu fis programm sħiħ wieħed. All I ve speċifikat mill-kitba hello.c clang huwa jikkompilaw hello.c. Stajt ma qallek clang biex link fil-żerijiet u dawk li l-persunal CS50 maħluqa għalik xi żmien ilu. Allura huwa jiffissaw faċli, sing l għal link, CS50. U aħna ser darb'oħra tara dan qabel twil darb'oħra u għal darb'oħra. Imma avviż issa ma kien hemm l-ebda ilmenti. Allura issa jekk I run dot mmejla hello, issa huwa xogħol. Għalkemm dan huwa daqsxejn qarrieqa peress I biss recreated dak fajl? a.out. So let me Rewind għal ftit mument. Il-programm aħna biss kkompilata għandu tliet linji ta 'kodiċi. Meta I dam bonjour dinja, bonjour mument ilu, I ma tara tiddikjara l-isem tiegħek. U dan għaliex I dam l- verżjoni l-qadima tal-programm. Imma jekk jien tassew run a.out dot mmejla Daħħal, jiddikjaraw l-isem tiegħek, Rob, hello, dinja. Hm. C'est tip ta 'bug. Probabbilment maħsuba biex ngħid Rob, id-dritt? Allura x'inhu l-jiffissaw hawn fil-kodiċi. STUDENT: [inaudible]. DAVID Malan: Eżattament. So I biss ħtieġa li jagħmlu dak tweak finali hekk li jien tgħaddi fil placeholder, bħal imla l-vojt, bħal għamilna mument ilu. Imma fil-mija s issa huwa li timla l-vojt. Mela fl-aħħar ejja jiżvelaw wieħed aħħar dettall sabiex ma jkun hemm l-ebda magic. Jien ser jimxi 'l quddiem u jeħles hellow. Jien ser jimxi 'l quddiem u jeħles a.out. Allura issa I jkollhom ebda programmi, biss kodiċi sors tiegħi. U jien ser tmexxi kmand kemmxejn itwal, clang sing o bonjour LCS50 sing hello.c. Issa dan qed jibda tip ta 'jmorru fil-widna waħda u l-oħra forsi. Iżda biss tease apparti dak li dan qed tagħmel. Clang huwa l-kumpilatur, LCS50 sing deliberatament fl-aħħar nett ma dak fil-sentenza? Links għal-librerija CS50. Grabs l-żerijiet u dawk li l-persunal magħmula u crams minnhom fil-programm tiegħi stess. Allura l-aħħar mistoqsija fil-idejn huwa, dak li huwa sing o bonjour probabbilment tagħmel, anki jekk inti stajt qatt rajt dan sintassi qabel? Outputting programm li l- mhux imsemmi l-a.out default. Pjuttost huwa jismu bonjour. Allura issa m'hemm l-ebda a.out. Nru tali file jew direttorju, minħabba I qal espliċitament sejħa dan il-programm hello, b'tali mod li I issa tista tip fl-isem bħal dik u li hija jaġixxu. Issa franchement, boy huwa li uninteresting li jkollhom li tiftakar kollha ta 'dak ftit dettall, id-dritt? Mela ejja imorru quddiem u jeħles bonjour darb'oħra. U ejja issa jirritorna għal dinja fl li huwa biżżejjed li jingħad jagħmlu bonjour. Imma dak l-magic li jagħmlu qed tagħmel għalik, dak l-tedium li huwa qed jagħmel għalik. U kif il-programmi tagħna u problemi nikseb aktar kumplessi, jagħmlu se verament tkun ħabib tiegħek. Minħabba li mhux twil wisq minn issa aħna qed tmur li għandhom programmi li huma miktuba mhux ma wieħed fajl, iżda diversi fajls, u jagħmlu se awtomatizzat il-proċess ta ' kompilazzjoni kollha ta 'dik għalina flimkien. Allura issa print. printf huwa ġewwa ta 'dan il-fajl, standard I / O dot h, li aħna stajt tidher qabel, imma hemm aktar printf minn dak. Hemm n backslash, imma hemm ukoll mazz ta 'sekwenzi ħarba oħra. U s-sekwenza ta 'ħruġ huwiex biss mod fancy ta 'tgħid xi ħaġa li jibda bil backslash, mhux slash quddiem, backslash, u ma xi ħaġa speċjali. U aħna mhux se nitkellem fuq aktar ta 'dawn, iżda għaliex hemm backslash quote doppja, do you think? Għaliex hemm din is-sekwenza stramb ta karattri, kwotazzjoni doppja backslash, għaliex jista 'jkun li utli? STUDENT: [inaudible]. DAVID Malan: Eżattament, id-dritt? Think lura għall-programm tagħna dinja bonjour li aħna stajt tidher pjuttost ftit drabi issa, kull darba li aħna stajt tidher f'dak dinja bonjour programm aħna kellna kwotazzjonijiet doppja ġewwa tagħhom huwa bonjour virgola dinja backslash n. Imma taħseb li inti stess, dak li jekk inti fil-fatt riedu jistampa mark kwotazzjoni? Ewwel istint tiegħek jista 'jkun, I ma know għaliex I tista 'tixtieq li do-- hawn, nistgħu nkunu passiva ftit aggressiva, bonjour ħabib. Aħna tista 'tixtieq li tagħmel xi ħaġa bħal dik. Iżda għaliex dan huwa issa problematika? Jinjora l-kwotazzjonijiet kaboċċi aside li ewlieni għamel għalina awtomatikament. Għaliex hija din il-problematika? Eżattament. Għaliex għandna like 4 virgoletti. Ukoll l-ewwel waħda probabbilment tmur mat-tieni waħda, u forsi l-raba 'wieħed tmur mat-tielet wieħed, jew, I tfisser M'inix ċert anke, lanqas huwa l-kompjuter se tkun. Kompjuters għal darb'oħra, kompilaturi darb'oħra, huma pjuttost dumb. Huma ser biss tagħmel dak inti jgħidulhom li jagħmlu. U jekk int ma ambigwi huma huma probabbilment se tarmi żball. Jekk int ma ambigwi dwar kif tagħmel butir tal-karawett u sandwich jelly affarijiet strambi jista jaslu. Hu l-istess idea. Issa huwa biżżejjed li jingħad hemm xi sekwenzi oħra tal-salvataġġ, imma aħna ser jaslu għal dawk qabel twil. Essenzjalment dawn ħarba sekwenzi jirrappreżentaw xi ħaġa li inti tista 'ma tkun kapaċi wisq faċilment fil-keyboard, mingħajr ma jikkonfondi l-kompjuter. Issa sadanittant għandna placeholders fil printf. Perċentwali d, li jistgħu wkoll jiġu miktuba kważi fil-każijiet kollha bħala mija i, huwa placeholder għal liema tip ta 'data? Liema tip ta 'valur? A numru deċimali. Allura fil-fatt aħna ser tibda użu fil-mija i għaliex dan huwa ftit aktar sempliċi, bħal integer. I Perċentwali. Integer li jiġri li jkun deċimali. Perċentwali s aħna diġà qal ma kien placeholder għal string. Liema hija biss kelma, frażi, paragrafu, esej, ikun x'ikun. Huwa sekwenza ta ' karattri ta 'tul. U aħna ser tara qabel twil xi wħud minn dawn ħaddieħor. Iżda fil-mija c hija għal karattru wieħed. Perċentwali f hija għal punt numru galleġġjanti, bħal numru reali li għandha punt deċimali fiha, li huwa ta 'kors mhux numru sħiħ. U hemm kollu mazz ta 'oħrajn ukoll. Sadanittant fis-C, u fil-lott ta 'lingwi, għandna tipi differenti ta 'dejta. Tipi differenti ta ' ħġieġ skutelli jekk inti se. Il-bowl I użat aħħar darba kien għal blalen ping pong, iżda nistgħu wkoll jaħżnu differenti Valuri bħal Chars u kordi u interi f'kontenitur, bħal varjabbli, u C għandu dawn. Char huwa t-tip ta 'data, it-tip ta 'varjabbli, fejn inti jista 'jaħżen karattru. Float huwa tip ta 'varjabbli fl li inti jista 'jaħżen numru reali. Int huwa ta 'kors għal int. U pjuttost ridiculously jismu twil twil huwa fejn inti jista 'jaħżen essenzjalment numru verament twila, anke ma aktar ċifri imbagħad Jista maħżen int tipiku. Iżda aħna ser terga 'lura għal li qabel twil. Fil CS50 dot h sadanittant il-fajl header oħra li aħna stajt tidher koppja darbiet użu, hemm żewġ tipi ta 'data oħra li ma jeżistux fis-C tipikament. Wieħed huwa string, u aħna ser tara fil ftit ġimgħat liema kordi verament huma taħt il-barnuża. U waħda hija bool. U bool hija varjabbli li jista 'jieħu biss fuq ċerti valuri. U biss ibbażata fuq ġimgħa li għaddiet spjegazzjoni ta 'Scratch, u aktar reċentement C, dak li għandek raden huma ż-żewġ valuri possibbli għall xi kontenitur li ma tkunx tat bool tip? Iva u le. Wieħed u żero. Veru jew falz. U fil-fatt huwa l-aħħar li għandha tendenza li jkun konvenzjonali fil-programmazzjoni lingwa, tgħid xi ħaġa bħall vera jew falza. Sadanittant il-librerija CS50 ġejja bil-mazz ta 'funzjonalità li l-persunal kiteb għalik, minbarra biss jkollna string. Aħna kiteb fil-funzjonijiet bil-quddiem li jistgħu jiksbu integer mill-utent, tikseb karattru wieħed, jiksbu float, li huwa biss numru mal-punt deċimali. Get a twil twil, verament valur big mill-utent. Allura aħna ve biss dehru dan fil azzjoni fil-forma ta 'GetString. Iżda permezz ta 'dawn il-funzjonijiet dalwaqt se tkun tista 'tikteb programmi li tikseb input mill-utent. Sadanittant jikkunsidraw dan programm, u jikkunsidraw kif aħna issa tista 'tibda biex iżżid lilha bl constructs ġodda. A tour whirlwind quick u allura aħna ser tħares f'xi kitba f'xi programmi manwalment nfusna. Minn issa jekk irridu li timplimenta kundizzjoni, mhuwiex ser look like a sbieħ ftit biċċa puzzle pretty. Huwa ser tħares ftit aktar arcane. Iżda dan huwa l-canonical istruttura ta 'kondizzjoni fil C. Il-kelma jekk, tnejn parentesi, ġewwa li minnhom se jkun hemm xi tip ta 'espressjoni Boolean. Issa l-slash slash fin-nofs, dan huwa fil-mument tip simili kodiċi placeholder pseudocode. Iżda aktar kif suppost, kwalunkwe linja tal-kodiċi fis-C li tibda bi slash slash huwa kumment. Huwa simili nota twaħħal li inti tista jitqiegħdu fuq esej, stampata fuq karta. Huwa nota lill yourself. Hija għandha l-ebda funzjonali impatt fuq il-programm. Huwa tip ta 'tfakkira, huwa tiegħek stess dokumentazzjoni dwar x'inhu għaddej. Allura tagħmel dan fil-mument huwa tip ta 'placeholder għal kwalunkwe huwa ġewwa ta 'dawk ċingi kaboċċi eventwalment se jagħmlu xi ħaġa. Sadanittant għandek żewġ frieket fl- triq, li jekk inkella jinbena bħal dan. Inti tista 'jekk, ElseIf, inkella. Issa huwa min jinnota, speċjalment jekk inti kont qed Googling madwar online għar-riżorsi minn kurżità, jew jekk inti pick up wieħed mill-l-kors kotba rakkomandati fuq C, se tara li l-bnedmin jkollhom lottijiet preferenzi ta differenti għall kif biex jesprimu ruħhom fil-kodiċi. Xi nies jixtiequ li jpoġġu l- braces kaboċċi bħala I ghamilt hawn. Xi nies jixtiequ li jpoġġu l-kaboċċi ċingi per eżempju up here. Xi nies jixtiequ li jpoġġu l-elses up hawn u allura dan hawn fuq. Hemm xi numru ta 'modi biex jikteb il-kodiċi, u ħadd minnhom huma dritt per se. Għalkemm hemm ftit li huma pjuttost ħażin. Iżda hemm no-- jekk dan huwa finalment dibattitu reliġjużi ħafna. Fil-fatt, wieħed mill-aktar annoying affarijiet dwar ix-xjenza tal-kompjuter huwa kif opinionated xjenzjati tal-kompjuter jista 'jkun. U inti ser issib matul iż-żmien li anke inti tiżviluppa l-preferenzi personali kif kodiċi tiegħek għandha tfittex. Mhux biss iġibu ruħhom, mhux biss joħolqu l-output, imma kif hu għandu jeżamina estetikament. Allura dak li aħna se nagħmlu huwa jiggwidaw inti tul it-triq lejn, għal issa mill-inqas, stil CS50 standard li mill-inqas żżomm affarijiet uniformi u faċli biex jinqara. Iżda aktar fuq dawk distinzjonijiet qabel twil. A espressjoni Boolean fis-C, jekk inti riedu jgħidu jekk din il-kundizzjoni hija vera u din il-kundizzjoni l-oħra hija veru, inti ma jiktbu l-kelma u, kif inti fil-Ingliż. Inti minflok tuża ampersand ampersand, għal raġunijiet aħna ser terga 'lura għal. Jekk inti tixtieq li tgħid jew tuża tnejn bars vertikali, li fuq tastiera Istati Uniti hija ġeneralment ogħla mill-Ikteb jmiss muftieħ għall-backslash. U dan ifisser biss jekk din il-kundizzjoni jew din il-kundizzjoni l-oħra hija veru tagħmel dan. Sadanittant hemm dan ħaġa crazy, li inti ser ikollok okkażjoni li tuża darba awhile. Iżda huwa biss alternattiva mod biex tesprimi ruħek. Dan, għal issa, ejja jistipula, huwa biss mod ieħor funky li jesprimu jekk, ElseIf, ElseIf, ElseIf, ElseIf. Huwa biss formattjati f'termini ta 'każijiet, fejn inti litteralment tenumera l-valuri li inti tista 'tixtieq li jiċċekkjaw għall. Sadanittant loops. Rajna paragun ta ' Scratch ma 'loop. U jien ser mewġa naħa tiegħi fil liema kull waħda minn dawn l-affarijiet jfisser. Iżda tinnota li loop se ħafna spiss tibda bil-keyword għall. Jew se tibda bil-keyword waqt. Jew se tibda bil-keyword do, u jintemm bit-keyword waqt. Imma dak li aħna qed waslu biex tara hija aktar affarijiet bħal dan. Hawnhekk huwa, b'mod ġenerali fis-C, kif inti tista ' tiddikjara varjabbli u tagħtiha valur. Fil C mhuwiex suffiċjenti, bħal fil Scratch, inti biss jgħidu tagħti me a varjabbli msejħa xi ħaġa. Int għandek tgħid C, u għid kompilatur tiegħek, b'mod aktar speċifiku, liema tip ta 'valur do inti tixtieq li tqiegħed fl-iskutella tal-ħġieġ. Huwa integer? Jekk iva, inti għandek litteralment jgħidu int u mbagħad l-isem tal-varjabbli, imbagħad virgola. Jekk inti minflok riedu string u sejjaħ hija s bħal I ma kodiċi tiegħi hawn illum, inti ngħid string s virgola. Ladarba inti tixtieq li tagħtiha valur inti tista 'mbagħad jużaw is-sinjal ugwali, inkella magħruf bħala l- operatur assenjazzjoni. U avviż kif kull ta 'dawn il-linji ta' kodiċi għandha l-virgola fi tmiem ta 'dan. Iżda franchement dan biss jistenna ftit ikrah. Għaliex ma nista 'ngħid għall-kompjuter, jagħtu me varjabbli u initialize fuq żero. Jiġifieri, tagħti me skutella ħġieġ vojta. Filwaqt li inti tista '. U għalhekk wieħed tas-sentenza iċempillek taf għandek tagħmel stylistically matul iż-żmien huwa, do tikteb kodiċi tiegħek bħal dan, jew do you tip ta 'inaddfu up u tagħfas nies bil-kitba żewġ linji biss bħala wieħed. U dan jitqies ġeneralment b'mod aktar eleganti tal-kitba kodiċi tiegħek stylistically. Funzjonijiet aħna qed ovvjament tidher. Huma qed tmur biex tieħu dan il-format. L-isem ta 'funzjoni, xi parentesi, u mbagħad forsi xi Jittieħed ġewwa. Jew inti tista 'tara l-użi ta' funzjonijiet multipli ġenb ġenb, bħal xi ħaġa bħal din. Issa bħala tanġent, ma dan Joke issa jagħmel sens? [Rires] Dan ma jfissirx huwa umoristiċi, iżda ma forsi jagħmlu ftit aktar sens. Allura issa ejja jmorru fil- Appliance CS50 għal mument. U let me jiftħu teaser wieħed hawn. U fil-fatt waħda mir-raġunijiet għall-introduzzjoni katalogu IKEA u teptip l-istampa tal-iPhone daqsxejn ilu kien li attwalment jorbtu flimkien l- fatt li biss ftit snin ilu, fl-2007, din il-biċċa tal-kodiċi kien rilaxxati, li kienet wieħed mill-ewwel implimentazzjoni ta 'biċċa ta' softwer li ma dak li sejjaħ jailbreaking. Għal dawk familjari, jailbreaking xi ħaġa bħal telefon jew iPhone ifisser essenzjalment jidhru kif jagħmlu l-affarijiet magħha li l-kumpanija li għamilha ma riditx. Bħal inti tixtieq li tinstalla ċerti software li mhux fil-maħżen app, jailbreaking phone tiegħek li inti tagħmel affarijiet bħal dik u aktar. Imma dak li kien gost fil 2007-- u hemm kien għexieren ta 'verżjonijiet differenti ta 'dawn l-affarijiet minn dakinhar, kull xorta ta 'languages-- hija li dan il-programm hawn, imsejħa iUnlock, kienet attwalment miktuba C. U hekk I jinġibed up-source code għal dan, biss biex tip ta 'turi li inti xi wħud l-similaritajiet mal-constructs konna qed tiddiskuti s'issa. Issa hemm mod aktar kumplessità hawn milli Rajna diġà fil-klassi. Let me iscroll up biss ftit hawn. Iżda avviż these-- ukoll aħna Avviż xi ftit things-- iżda tinnota dawn il-linji hawnhekk, inklużi standard I / O dot h. U all-- linja 24, please-- Avviż I standard / O dot h u mazz sħiħ ta 'l-oħra fajls li nies apparentement oħra kitbu. U jekk aħna iscroll permezz dan, ftit arbitrarju, Avviż I do not know kif jiktbu kollha ta 'dan myself neċessarjament għadhom, iżda hemm jekk. Allura apparentement dan jkollha fergħa. U jekk I iscroll ftit ulterjuri hemm ieħor jekk. Jekk I iscroll up, I think madwar linja 100 I raw għal. So jien ma pjuttost ċert kif taħdem din għadha, iżda dan huwa għal loop li għaddej biex let me jtenni xi numru ta 'drabi. U jekk I iscroll kollha il-mod lejn il-qiegħ Nara li hemm jiffunzjonaw stabbiliti hawn jissejjaħ prinċipali, u xi krediti addizzjonali għall-pjaċir qari tiegħek. Allura dan huwa biss biex say-- u aħna ser jitqiegħdu dan online fost sors fil-kors tal- kodiċi today-- li anki xi wħud minn dawn apparati li nieħdu għall mogħtija, fl-aħħar tal-ġurnata int xorta jużaw dawn constructs bażiċi li konna kienu jintroduċu diġà s'issa. C'est biżżejjed ta 'li wieħed. Kull dritt, hekk issa ejja attwalment jibnu xi ħaġa. Ejja ħa mmorru lil hinn xi ħaġa simili hello.c, u jiftħu dan, ejja tikteb dan il-programm hawn. Jien ser jimxi 'l quddiem u jiktbu program imsejjaħ adder.c, iskop tagħhom fil-ħajja se tkun bħall-ewwel calculator sempliċi super tiegħi li żżid biss ftit ta 'numri. Mhux għaliex thats iebsa problema, iżda minħabba li tippermetti lili biex issa torbot flimkien ftit affarijiet. So jien ser jimxi 'l quddiem u jinkludu I standard / O dot h u CS50 dot h. Jien se ngħid null prinċipali int. U għal darb'oħra fil-futur aħna ser terga 'lura għal fis f'dan il-kuntest u l-mezzi null. U issa jien se ngħid xi ħaġa bħal printf, tagħti me integer. U issa fuq tieni linja tiegħi, kif nista nesprimi ruħi bħal li nixtieq li tiddikjara varjabbli li għaddej biex jaħżnu int? Litteralment liema do I tip jekk irrid li joħolqu varjabbli li taħżen l-int would you say? int a ugwali getint. Sure, hekk li x-xogħlijiet. U biss għall-konsistenza mal-kodiċi tkun taf tara online, let me bidla dan x, biss minħabba x huwa isem varjabbli komuni għall-użu, għall-inqas fl-alġebra. Issa let me imorru quddiem u ma printf darb'oħra. Agħti me numru sħiħ ieħor. U issa jien se tip ta jitgħallmu minn dak il-mudell, Jien se ngħid y int gets GetInt. U aħna ħadthom ma jintużax GetInt qabel, iżda biss bħall GetString tmur u gets string, bħal Javier għamlet mill-udjenza, Bl-istess mod ma GetInt tibda Teptip fil-pront. U effettivament stennija għall-utent li tagħtiha integer, billi jittajpja fil u laqtu Ikteb. Issa fl-aħħar jien ser tagħmel dan, printf-somma of-- u let me nikseb now-- fancy mija iu fil-mija i huwa preżenti i exclamation punt backslash n. U x'taħseb li jien ser jitqiegħdu fil issa bħala l-inputs addizzjonali li printf? Ma rridx ngħid litteralment nikkwota unquote x. Irrid li klassi xu imbagħad, u issa ejja nikseb fancy u ejja biss wieħed jassumi nistgħu nagħmlu dak li rridu. Dak li inti trid tgħid li jmiss? x plus y. U fil-fatt li se jaħdmu. Huwa minimament lingwi ta 'programmar do jifhmu aritmetika bażiku, u għalhekk dan għandu fil-fatt ix-xogħol. So let me imorru quddiem u ma jagħmlu Aġent li jżid fil-tieqa iswed u abjad tiegħi stabbiliti hawn, Ikteb. Linja cryptic iżda l-ebda żball messaġġ, hekk li tajjeb. Dot mmejla aġent li jżid, tagħti me integer, 1. Agħti me numru sħiħ ieħor, 2. Is-somma ta '1 u 2 hija 3. Kull dritt, so a pretty trivjali programm, imma x'hemm dan isir? Huwa permess me biex jużaw funzjoni sejħa hawn, sejħa funzjoni oħra hawn, żewġ sejħiet għal GetInt, għal sejħa terz sabiex printf, u mbagħad jużaw dawn placeholders. Allura huwa ftit aktar sofistikata minn aħħar darba. Imma x'jiġri jekk irrid jiksbu ftit fancier? Let me imorru quddiem u issa jagħmlu dan. Let me imorru quddiem u joħolqu fajl ġdid imsejjaħ kondizzjonijiet żero. U jien ser tiffranka xi żmien għall-klassijiet fini u biss paste f'dik kodiċi bħala punt tat-tluq. U issa jien biss ser jitqiegħdu xi ħaġa ġdida hawn fin-nofs. So printf Nixtieq integer jekk jogħġbok. U dan kollu kodiċi huwa disponibbli fuq il-websajt tal-kors, il- inti għandek bżonn ma tip dan kollu fil-klassi jekk youd pjuttost ma. int, u issa jien ser użu, minflok ta 'X u Y, Jien ser tuża n, li hija probabbilment l-isem aktar komuni għal integer fi programm tal-kompjuter. U issa nixtieq li tagħmel ftit sentenza hawn. Jien ser tara jekk n huwa akbar minn 0, allura Jien se ngħid Whoops printf--, printf-- inti qabad numru pożittiv, exclamation punt backslash n. Agħlaq dik. Else Jien ser jistampa printf inti qabad numru negattiv. Issa qabel ma inti Yell fil lili, ejja run dan il-programm. Let me jinżlu hawn. U kif nista jikkompilaw programm kundizzjonijiet imsejħa sing 0? Jagħmlu kundizzjonijiet sing 0. Tip ta 'isem stupid, but-- dammit. OK, mument tagħlim tajba. Għaliex ma li jiksru? What did I aċċidentalment call dan il-fajl? Tista 'tip ta' jiddeduċi mill-tab up here. Allura huwa mhux ħażin li jien ma dan, għaliex dan se jiġri forsi biex xi wħud minnkom. So I aċċidentalment jismu tiegħi sors kundizzjoni kodiċi 0. Iżda kodiċi sors tiegħi permezz tal-konvenzjoni għandhom tkun fajl imsejjaħ kundizzjoni 0 sing c, jew kwalunkwe dot c. So let me jiffissaw dan. Eżatt bħal Microsoft Word I tista 'tmur up biex Save As u tagħmel kundizzjoni 0 dot c. Issa biss sabiex ikunu imbarazz jien se jmorru 'l quddiem u neħħi kundizzjoni 0, li kien verżjoni l-qadima tiegħi. U issa ejja do jagħmlu kundizzjoni 0, Ikteb. OK, jidher tajjeb. Kundizzjoni 0, Ikteb. Nixtieq integer jogħġbok, 50, inti qabad numru pożittiv. Issa kif madwar negattiva 50? Inti qabad numru negattiv. Kif dwar issa, 0. Pretty żgur 0 mhuwiex negattiv. Allura dan huwa tip ta 'bug loġiku. Kif nista jiffissaw dan? Else jekk n hija inqas minn 0, jagħmlu dan, inkella jista 'jkollna tliet mod fergħa hawn, printf inti qabad 0. Allura issa jekk I terġa 'ssir din programm, wara jikkompilawh mill-ġdid ma tagħmel, u issa terġa 'ssir kundizzjoni 0, dak I ser tara hawn hija ta '0 tagħti me dak output. Għalhekk, fejn huma aħna jmorru ma 'dan? Ukoll huwa faċli ħafna li jitilfu vista tal-foresti, għas-siġar. U hekk inessu li jikkonkludu ma dan il-video 2 u 1/2 minuta li finalment huwa daqsxejn ta 'ad mill-Google, imma li verament huwa xhieda li liema anke jużaw dawn bini bażika blokki aħna finalment tista 'tagħmel darba għandna daqsxejn ta 'programmar sofistikati taħt ċinturini tagħna. [Daqq ta mużika] SAROO BRIERLEY (voiceover): Kien 26 sena ilu, u I kien biss dwar li jduru 5. Aħna qbilna li l-istazzjon tal-ferrovija u aħna mbarkat ferrovija tagħna flimkien. My brother biss qal I ser jibqgħu hawn, u jien ser jiġu lura. And I maħsub biss, ukoll taf, I tista 'ukoll biss tmur torqod u hu ser biss jinxtegħel me up. U meta I woke up li jmiss jum, il-ġarr kollu kien vojt fuq ferrovija runaway, a ghost ferrovija tieħu me I do not know fejn. I kien adottat out lejn l-Awstralja, għal familja Awstraljana. U mom kien imżejjen my kamra mal-mappa ta 'l-Indja, li hija tpoġġi jmiss għall komodina tiegħi. I woke up kull filgħodu jaraw li mappa, u għalhekk huwa tip ta tinżamm l-memorji ħajjin. Nies ngħid, int jippruvaw isibu labra fil haystack, Saroo int qatt ser issib lilha. I d jkunu flashed tal-postijiet li I użati biex tmur, il-fwawar tal-familja tiegħi tiffaċċja. Ma kien hemm l-immaġni ta 'ommi, bilqiegħda mal tagħha saqajn qasmu, biss jaraw cry tagħha. Life huwa biss tant diffiċli. Dan kien teżor tiegħi. And I kienet tħares lejn Google Map u realizzati hemm Google Earth ukoll. F'dinja fejn inti tista zoom fi, I beda jkollhom kollha ta 'dawn il-ħsibijiet u liema possibbiltajiet li dan jista 'jagħmel għalija. I qal li myself, inti taf, inti stajt ltqajna dawk memorji fotografiċi kollha u postijiet familjari fejn int minn, u inti taf x'inhuma l-belt Dehra. Dan jista 'jkun applikazzjoni li inti tista 'tuża biex issib triqtek lura. Ħsibt, ukoll I ser tpoġġi dot fuq l-istazzjon tal-ferrovija Calcutta, u linja raġġ, inti taf, li inti għandhom jiġu tiftix madwar dan il-qasam. I sort tal sab dawn il-binarji tal-ferrovija. U bdejt wara dan, u Wasalt għall stazzjon tal-ferrovija li rifless l-istess immaġini li kien fil-memorji tiegħi. Kollox mqabbla. I maħsub biss Yep, I taf fejn jien ser. Jien biss ser let l- Mappa li għandi in my head ċomb me u jieħdu me lura għal Hometown tiegħi. Wasalt għall-bieb ta ' l-dar li I twieled. U mixi madwar madwar 15 metru madwar il-kantuniera, kien hemm tliet onorevoli wieqfa barra, ħdejn xulxin. U l-wieħed nofs intensifikati l quddiem, u I maħsub biss, dan huwa omm tiegħek. Hi daħlet quddiem, hi hugged lili, u konna hemm għal madwar ħames minuti. Hija grabbed naħa tiegħi u hi ħadet me lill-dar u ltqajna fuq it-telefon, fejn hi rang sister tiegħi u my brother li jgħidu li, tafu, brother tiegħek għandu biss kollha f'daqqa deher bħal ghost. U allura l-familja kienet tingħaqad mill-ġdid. Kollox huwa kollha tajbin, I għen ommi out, hi ma jkollhom jiġu slaving bogħod. Hija jistgħu jgħixu l-bqija tal-ħajja tagħha fil-paċi. Kien labra fil haystack, iżda l-labra kien hemm. Kollox hemm. Kollox aħna għandna fid-dinja hija fil-vit ta 'buttuna. Imma inti ħadthom qbilna li jkollhom ir-rieda u d-determinazzjoni li jixtiequ dan. [Daqq ta mużika] DAVID Malan: Wonderfully testimonjali ħelu biss dak li tista issa do mat-teknoloġija. Aħna se tara int ġimgħa d-dieħla.