JASON Hirschhorn: Bine ai venit. Deci, doar câteva anunțuri înainte de a începe. Deci, sectiuni, toată lumea ar trebui să au secționat deja. Secțiuni ruleze normal de duminică până marți. Deci, voi ar trebui să sarcinile tale. Și atunci cred că săptămâna viitoare veți fi cu dumneavoastră real TFS. Deci, dacă aveți orice întrebări sau probleme, sau ai uitat la pct. Unii oameni fac asta. Doar să ne spui. Trage-ne un e-mail la capete. Apoi orelor de serviciu. Am început orelor de săptămâna trecută. Orelor de serviciu în fiecare săptămână. Luni este în Leverett 08:00 - 11:00. Marți în quad, astfel Cabot 08:00 - 11:00. Miercuri, Mather opt jumate - 11:30. Și joi Annenberg 08:00 - 11:00. Deci, Scratch, o mulțime de oameni nu au nevoie de ore de birou de ajutor pentru Scratch, care este complet bine. Daca o faci, asta e absolut în regulă, de asemenea. Dar, în viitor, problema seturi, ei a lua mult mai greu. Deci, aceasta va fi prietenul tău. Categoric merg la ore de birou. Planificați să meargă la ore de birou. Când ajungi la problema stabilit patru, cinci, șase, șapte, aveți nevoie pentru a merge la ore de birou. Asta în cazul în care o mulțime de ajutor și munca se face. Cred ca anul trecut, doar pentru exemplu, joi night-- deci cred ca problema Seturi s-au datorat vineri. Deci, joi seara, am avea 200, 250 de elevi de la ore de birou. Deci, face cu siguranta uz de acestea. Acestea sunt cei mai buni prieteni. Ca acest lucru este în cazul în care, dacă ești blocat pe un set de probleme, acest lucru este în cazul în care veți obține, probabil, ajutor. Deci, ore de birou. OK deci acestea sunt anunțuri. Anunturi terminat, așa să începem. OK, aparatul. Ai toata lumea sa descarcati dar aparatul? Nu. Ca și în atât de atât. Am facut un fel de descarcat aparatului. Dreptul asa aparatul este nou în acest an, așa suntem, probabil, va avea unele bug-uri în ea. Deci, vă rugăm să descărcați cât mai curând posibil. Deci, problema a seta o va spune exact cum să-l descărcați. Noțiuni de bază instalarea chiar aici. O să-ți spun cât de pentru a descărca aparatul. Deci, cu siguranta Descărcați aparat mai devreme, mai degrabă decât mai târziu. Instrucțiuni sunt în spec set P. Deci, dacă vă așteptați până miercuri noapte, iar apoi voi avea probleme, si sa ne trimiteti un e-mail la miezul nopții în noaptea de miercuri că nu poți descărca aparatul, care este nu un motiv legitim pentru o prelungire. Ai nevoie de a face acest lucru acum, și veți avea probleme. Am încercat să-l descărcați noaptea trecută. M-am întâlnit într-un pic de necazuri. În cazul în care se execută în probleme instalare, cu siguranta lovit de resetare, pentru că tocmai am lovit reîncerca o de câteva ori, și în cele din urmă el a lucrat, care nu face nici o sens, dar o face. Deci, cu siguranta încercați din nou, dar dacă afla în fața unui zid de cărămidă, trage-ne un e-mail la capete, iar noi vom fi mai mult decât fericit să vă ajute băieți. Care-i treaba? STUDENT: Doar o întrebare rapidă. În cazul în care verifică stil, există o parte care spune că nu a inclus acest lucru. JASON Hirschhorn: Nu încă. STUDENT: Se spune executa aceasta. Cum te executa că, pentru a asigurați-vă că este în sistemul dumneavoastră? JASON Hirschhorn: Esti O să executați o comandă bash. Voi trece peste asta mai târziu. Rece. Deci, aparatul poate fi o pic de intimidare, pentru că v-ați obișnuit fel de rulează în interfață grafică de utilizator. Deci, Scratch a fost o grafică de utilizator interfață, astfel încât ceea ce vreau să spun cu asta? Ce vreau să spun este că atunci când sunteți de programare, ce, practic, folosind blocuri de cod. Puteti vedea codul și chestii de genul asta. Aparatul, ai de gând să faci lucrurile într-un mediu linie de comandă. Și astfel pentru restul viețile voastre de programare, ai de gând să faci lucruri în mediul de linie de comandă. Deci, este bine să sari la începutul anului și a lua niște experiență. Așa că hai să o facem. Așa că e Rob. OK, deci hai să sari în conformitate chestii de comandă. Deci, aceasta este aparatul. Poate cineva spune-mi de ce vom folosi un aparat? Ce este aparatul? Stie cineva? Care-i treaba? STUDENT: E doar o mașină virtuală că aveți o mașină de dumneavoastră, astfel încât să se poate trece peste sistemul de operare dezacorduri între Mac și PC. JASON Hirschhorn: Perfect. STUDENT: Este un model universal. JASON Hirschhorn: Da, e ca un șablon universal. E perfect. Deci da, este o mașină virtuală. Deci, este practic un sistem de operare. Acesta este un sistem de operare. Acest lucru este echivalent cu ta Mac, sau PC, sau Linux ta. Aceasta este exact același. Și astfel încât să puteți face lucruri similare. Dacă ați vrut, ați putea du-te on-line, de exemplu. Nu puteți într-adevăr l vedea, dar chiar aici, Google Chrome. Puteți merge on-line, dacă doriți să. Acesta este un sistem de operare. Și motivul pentru care am face acest lucru se datorează faptului că e mult mai ușor când suntem predarea instrucțiuni și totul. Dacă e doar un mediu uniform, este mult mai ușor pentru noi, și este mult mai ușor pentru tine. Nu te duci pentru a rula în l executați în orice idiosincrazii atunci când sunteți de programare. Știm exact ce ai de gând pentru a rula în. Deci, aparatul este aici. Deci, atunci când sunteți incepand de programare, ești de gând să meargă până la colțul din stânga. E o cutie mică. Ai de gând să-l apăsați. Aceasta este fereastra terminal. Deci, acest lucru este în cazul în care te duci să fie o mulțime de semestru. Așa că lasă-mă să măriți un pic. OK, deci în jur de achiziție un terminal de fereastră este un pic diferit. În primul rând, nu sunt icoane. Nu pot să faceți clic pe nimic. Nu e nimic să faceți clic. Deci, va trebui să găsească o modalitate de a dau seama unde ești, ce-i aici, și cum să se miște în jurul valorii. Astfel încât cele două comenzi mai utile probabil sunt atât de ls-- ce crezi ls nu? STUDENT: List. JASON Hirschhorn: Lista, da. Pur și simplu enumeră algoritmi în cadrul directorului. Și apoi cd. Deci, să spunem că am vrut să cd CS50, ce a făcut asta? Da? STUDENT: Modifică director ta. JASON Hirschhorn: Perfect, da. Se schimbă doar directorul. Așa că haideți să ne întoarcem. Deci, cum mă întorc? Deci, să spun că am vrut să merg înapoi la directorul precedent. Da, sigur. STUDENT: Cred că scrie cd doar fără nimic. JASON Hirschhorn: Puteți face asta. Atât de perfect. Deci, dacă am scrie cd, acest lucru este de fapt de gând să mă pop copii de rezervă la directorul home. Deci, vedeți acest tilda, că o să mă pop drumul înapoi până la locul în care tilda este. Așa că o să mă pop-up înapoi la directorul acasă. Dar să spun că am făcut ceva de genul asta. Să spunem cd CS50. ls din nou. Am alte lucruri. super-secțiune cd. fișier cd, deci am de gând profund. Și apoi să spunem că vreau să doar pop înapoi până la partea de sus. cd. Să spunem că eu nu vreau să fac asta. Să spunem că vreau doar să pop înapoi până la directorul care a fost chiar deasupra mea. Cum să fac asta? Deci, haideți să spunem cd CS50. cd supersecțiune. Așa că haideți să mă aflu aici. Să spunem că eu vreau doar pentru a deschide o singură dată. Cum să fac asta? Da, ce sa întâmplat? STUDENT: doar Tastați cd supersecțiune din nou. JASON Hirschhorn: Ai putea face asta. Ei bine, eu sunt în supersecțiune. STUDENT: Oh, cea înainte. JASON Hirschhorn: Da, astfel încât ai putea face asta. Tu faci cd ~ CS50. Deci, dacă te uiți aici, acest este calea ta chiar aici. Asta e calea ta. Deci, ai putea serios du-te cd ~ / CS50. Boom, ești acolo. Ce este o cale mai ușoară de a face acest lucru, deși? Asta a fost perfect corect, dar ceea ce este un mod puțin mai ușoară să facă acest lucru, pentru că o mulțime ori te duci care urmează să fie sărind în directoare, sarind din directoare. Așa că haideți să ne întoarcem. cd supersecțiune. Așa că haideți să spun că vreau să mă întorc foarte repede. Puteți face ceva de genul cd punct punct. Care va pop faceți copii de rezervă foarte repede. Deci, cd supersecțiune. fișiere CD. Să spunem că sunt aici. Apropo, clar este bun, deoarece meu fereastră a fost obtinerea un pic murdar. Deci, ls, deci nu vreau să mai fi aici. cd punct punct. Ia-mă o în sus. Cd dot dot-mi reușește o în sus. Cd punct punct și înapoi la casa mea. OK, deci cd, ls. Probabil cel mai important lucruri, pentru că ești Va trebui să știu unde ești. ls este de gând să-ți spun în cazul în care vă aflați, și cd cum ai de gând să sară în jurul. Puteți face, de asemenea, alte chestii misto. Deci, de exemplu ls. ls este doar de gând să-ți arăt directoarele din fișierul. Este, de asemenea, să vă arăt fișierele. Dar este doar de gând să vă arată ce e acolo. Dacă ați vrut ceva un pic mai rece, și ai de gând să faci de fapt acest lucru în câteva săptămâni. ls bord l. Care imprimă o puțin mai multe informații. Poate cineva ghici pe mâna stângă alta drwx, rwx și alte chestii de genul asta. Are cineva o idee despre ce ar putea să însemne? STUDENT: Permisiuni. JASON Hirschhorn: Da, perfect. Permisiuni. Deci, ai de gând să trebuie să se ocupe de acest atunci când faci programare web mai târziu. Dacă ați trecut vreodată on-line, și ați făcut clic pe o imagine sau clic pe un câmp, și a spus permission-- ca permisiune nu este permis, sau ca permisiune nu li sa acordat sau orice altceva, Asta pentru că, atunci când acestea sunt de programare, ei Nu s-au stabilit aceste permisiuni pentru a lăsa să faci asta. Deci, în cazul în care care vine de la. OK, așa că e cool. Așa că am sărit în jur. Ne putem uita la lucrurile în directorul nostru. Dar cum putem face lucruri? Am directoare aici. Asta-i minunat. Cum pot face un nou director? Spune Vreau sa fac un nou Director de acum. Puteți face ceva de genul asta, mkdir. Deci, asigurați-director. Deci, ce vrei să numesc acest director? STUDENT: Awesome. JASON Hirschhorn: Awesome. Îmi place. Asigurați-director minunat. Și acolo te duci. Deci, avem nevoie de o listă. Ai un nou director. Și vă pot spune că este un director în aparatul pentru că are această culoare, nu? Deci e ca și cum un albastru violet sau orice altceva. Așa că hai să schimbăm. Să schimbăm director. Să mergem în directory-- da, ce sa întâmplat? STUDENT: Există o listă de toate acestea [inaudibil] online? JASON Hirschhorn: Da, voi pune le on-- vom avea slide-uri. Va fi un PDF. Vom le-a pus pentru toată lumea. Da, îmi pare rău este o mulțime de comenzi. dacă vrei să încetinească, sau du-te înapoi, sau ceva de genul asta, cu siguranță să-mi spuneți. Este o mulțime de a absorbi imediat. Care-i treaba? STUDENT: Pot să pun o Întrebarea potențial prost? JASON Hirschhorn: Nu nici o întrebare stupide. STUDENT: Nu sunt. Un director este de doar cauți la informații în cazul în care se păstrează. JASON Hirschhorn: Da. STUDENT: Este, în esență, ce faci? Așa că atunci când facem ceva, Bună ziua lume sau orice altceva, este stocat în directorul, da? JASON Hirschhorn: Da. STUDENT: E adevărat pentru tot. Totul este stocat în directorul. JASON Hirschhorn: Da. Ori de câte ori se face, indiferent de director sunteți în, este de gând să practic păstrați-l în acel director. STUDENT: Si cand suntem o asteptare, suntem o asteptare de la directorul. JASON Hirschhorn: Da, așa directorul este în cazul în care es. Deci e un fel de, dacă aveți un folder nou pe desktop și apoi voi scrie un text fișier, se pune în acest dosar, că fișierul este în acel dosar. Asta face sens? STUDENT: Da. JASON Hirschhorn: Da, ce sa întâmplat? STUDENT: Pot să vă rog să fac din el un pic mai mare? JASON Hirschhorn: Oh, da. Scuze. Proiectorul este așa de rău. Am avut probleme atât de mult cu acest lucru mai devreme. E mai bine? E prea mare? STUDENT: Nu, nu, nu e. JASON Hirschhorn: Nu, nu e. Este prea mic? Care-i treaba? STUDENT: Îmi pare rău, ce e comanda pentru compensare? JASON Hirschhorn: Oh, clar. Dacă doriți să îndepărteze, doar tip clar. clar introduceți. Pe ultimul aparatul, ceea ce face practic, aceasta nu șterge informațiile dumneavoastră, ea doar un fel de schimbare tot pe un ecran. Deci, dacă ați tastat clear-- pentru exemplu să spunem că am defilare în sus. Eu pot derula în sus. Aceasta este tot ceea ce am făcut. Dar dacă tastați clar, și apoi Am derulați în sus, aici e lucrurile mele. Deci, nu e ea ștergerea, e doar în principiu, oferindu-vă un nou cadru. STUDENT: Ce părere aveți despre [Inaudibil] un director? JASON Hirschhorn: Vom ajunge acolo. [Râsete] Încetini rola dumneavoastră. Bine. OK, deci asa ca suntem intr-o director chiar acum. David, cred în curs El a făcut niște chestii misto. Deci, haideți să scrie un program. Astfel încât să puteți face asta o număr de moduri diferite. Puteți utiliza orice fel de editor de text. Puteți utiliza Nano, tu se poate folosi Vim, Emacs. Acestea sunt puțin mai complicat. Sau puteți folosi ceva în aici că se numește gedit. Scuze. gedit nu este fericit. Deci, gedit este, în principiu doar un editor de text. La fel cum am editarea de text cuvânt procesor sau ceva de genul asta. Deci, aceasta are un frumos interfață la fel ca aceasta. Deci ai face așa ceva. Deci, de fapt, lasă-mă să-l dea nume pentru că niciodată n-am făcut asta. Deci, ce vrei să mentionati mai întâi programul nostru? E doar de gând să-l salut. STUDENT: [inaudibil]. JASON Hirschhorn: Îți lipsește imaginația. OK, gedit. Hi. Am de gând să fac .txt. OK, așa că aici este. Deci, haideți să scrie un program. Deci, eu cred că ați văzut aceasta în curs. Ai nevoie de o funcție principală. Boop. Deci, aceasta este doar o funcție principală. Mai mare? Da, îmi pare rău. OK deci ai nevoie de o funcție principală. Cred că sar arma un pic, dar niciodată nu e rău pentru a obține folosit pentru acest gen de lucruri. Deci, o funcție principală, fiecare program C esti de gând să scrie pentru restul acestui Desigur, va avea o funcție principală. Stie cineva de ce? Care-i treaba? STUDENT: Start. JASON Hirschhorn: Exact, așa că spune Program de unde să încep. Deci, dacă nu aveți o funcție principală, iar tu compila acest lucru și lucruri, ea nu va ști urmau să înceapă. Principal este întotdeauna acolo unde începe. Astfel încât să aibă o funcție principală, și apoi cineva își amintește cum să imprimați? STUDENT: printf. JASON Hirschhorn: Da, printf. printf hi. OK, acum am stabilit ca voi up pentru a eșua, dar vor compila acest lucru. STUDENT: Nu. JASON Hirschhorn: De ce? E mai multe motive de ce. Sigur. STUDENT: Nu are standardul [neauzit]. JASON Hirschhorn: Perfect. Deci, ceea ce se numește acest aici? STUDENT: [inaudibil] JASON Hirschhorn: E un fișier header, nu? Este un fișier antet. Și tu ești exact dreptate. Ambele ai dreptate. Deci, pentru a include asta, trebuie doar să fac jumătate de kilogram includ standard de .h ieșire de intrare. Mă bine să plec acum? Ar compila acest lucru? STUDENT: Nu. JASON Hirschhorn: De ce nu? STUDENT: Este un [neauzit] text. JASON Hirschhorn: Da, minunat. Așa că am făcut. Așa că l-am salvat, dar gedit hi.txt. Așa că acum, dacă eu fac E, aici este. Chiar aici. Oh, nu e în minunat. Cred că am intrat pe. Oh, perfect. Cum am pus acest lucru în minunat? Deci, eu nu-l vreau aici, în casa mea director cu totul altceva. Vreau să-l pună în dosarul. Cum să fac asta? Nu prea tare. Mutare. Așa că am învățat deja ls, listă. cd pentru a schimba directoare. cd punct punct sa scapam de directoare. Și acum vom începe să se miște în jurul valorii de fișiere. Deci, pentru a muta doar muta hi.txt, și Am de gând să-l pună în minunat. Doar fii atent. Ori de câte ori sunteți scris, în linie de comandă, totul contează. Materie așa majuscule. Dacă aș fi făcut litere mici a, e nu va ști ce se întâmplă. Deci totul contează a fi foarte specifice. Deci, executați ls. Nu e nici mai aici. Să schimba directorul în minunat. ls. Boom, e acolo. Și cineva a menționat de ce acest lucru nu ar compila. De ce nu este de gând să compila din nou? Da? STUDENT: Nu este într-o .c. JASON Hirschhorn: Perfect. Nu e un .c, e așa cum sunt eu gând să-l redenumiți la un .c? Ce este o modalitate ușoară de a face acest lucru? Să folosim comanda tocmai am făcut-o. Deci, noi suntem doar de gând să muta hi.txt la hi.c. ls hi.c. Și apoi doar pentru distracție, să sari doar în acest rapid reale. hi.c. Veți observa că e frumos și colorat. Deci, acestea sunt doar un fel de ajutor Culorile atunci când sunteți de programare. Deci, int și vidul, acestea sunt tipuri de date. Vom trece peste cele dintr-un al doilea. Hi este un șir. Dar culorile utile. Deci, dacă vreodată accidental alege extensia greșit, ar trebui să aveți aceste culori. Care-i treaba? STUDENT: Cum pot copia într-un fișier [inaudibil] într-un alt dosar? JASON Hirschhorn: Oh, eu sunt O să-ți arăt asta. Deci, copie scoateți sunt pe banca acuzaților. Să facem acest lucru. Asigurați-vă că funcționează. Asigurați-hi. Works, aceasta a alerga. Deci, ./hi minunat. Acesta este primul program. Permiteți-mi face mai mare. Deci, un adevărat good-- Da, ce sa întâmplat? STUDENT: De ce ar fi că atunci când iau gedit, ea nu-mi dea un alt line pentru gedit hi.txt? Pur și simplu pune cursorul la o linie. STUDENT: Da. [Inaudibil]. JASON Hirschhorn: Stai, astfel spune că din nou. STUDENT: Când m-am tip gedit, prima dată, în primul rând line-- JASON Hirschhorn: Up acolo la foarte de sus? STUDENT: Nu are J Harvard aparat, iar cursorul este doar tot drumul spre stânga. JASON Hirschhorn: Toate drumul spre stânga? STUDENT: Da. Mai are cineva asta? JASON Hirschhorn: Oh, bine J Harvard este la fel ca numele de utilizator. Deci, asta e doar numele de utilizator standard. STUDENT: Acesta nu mai răspunde. JASON Hirschhorn: Oh, ea nu mai răspunde. OK, deci ceea ce trebuie să faceți este să va trebui să închidă din gedit. Foarte aproape să înscrie din gedit, și ar trebui să se întoarcă. Deci, este gedit deschis pe dumneavoastră aparat chiar acum? Dacă ieșiți din ea, ar trebui întoarce și ar trebui să fie bun pentru a merge. A făcut acest lucru? STUDENT: Deci ai folosit comanda gedit la open-- JASON Hirschhorn: Nu, prima comandă gedit a fost o greșeală. Prima comandă gedit, Am să fac gedit hi.txt. Așa că am da un nume, hi.txt așa gedit. hi.txt este numele fișierului. Prima a fost doar o greșeală, și apoi Am închis repede din program. Deci, întrebarea a fost dacă fac gedit, eu nu sunt O să fie capabil să facă într-adevăr orice altceva în linia mea comandă până când am închide că gedit, așa că am cred ca e ceea ce au fugit în. Deci, închideți gedit. Va reveni din care Programul, iar apoi veți fi în măsură să tastezi în linia de comandă din nou. Asta e bine? Dope. Deci, doar asigurați-vă că pentru a inchide l dacă aveți o probleme. OK, deci o întrebare foarte bună un al doilea în urmă a fost de copiere. Așa că acum am hi.c. Dar să spun că am vrea să-l schimbe. Vreau să fie ceva mai bine. Vreau să spun clasă hi. Dar vreau să păstreze acest șablon. Nu am să rescrie întregul program din nou. Vreau să păstrați șablonul. Cum pot copia? Ușor. Deci, cp hi.c newhi.c. Acum am două. Și atunci eu pot deschide newhi.c, și în loc de doar spun hi, Voi spune de clasă hi! Așa că mă întorc. Ieși afară. Du-te înapoi la linia mea de comandă. ls face newhi. Rulați-l. Acolo. E mai bine, mult mai bine. Deci, dacă doriți să copiați ceva, simplu ca asta. cp este copie. Așa că am trecut peste mișcare, făcând directoare, copiere. Să vedem ce altceva ar trebui să mă duc peste? Oh, da. Să mergem peste asta. Deci asta a fost minunat. Să spun că am vrut sa-- oh, așteptați. Am de gând să mă întorc în minunat. Să spunem că eu nu vreau aceste fișiere chiar aici. Să zicem că le-am dori de la un nou director ca și în directorul minunat. Vreau să încep organizarea, asa ca acum am de gând pentru a avea un nou director numit hi. Are toate programele Eu scriu sunat hi. Deci, cum facem asta? STUDENT: Schimbare director. JASON Hirschhorn: Da. hi. Boop. mkdir hi_dir. Acesta sa plâns că am a avut deja o hi aici. Așa că acum am un director hi. Așa că acum vreau să se mute totul, toate programele le-am scris, Vreau să le muta în directorul hi. Doar curat chestii sus. Cum să fac asta? STUDENT: [inaudibil]. JASON Hirschhorn: Mutarea asta, nu? Așa că haideți să mergem. Da? STUDENT: Care este diferența dintre hi și hi.c pe care le avem deja. JASON Hirschhorn: Oh, hi.c este real. Deci, asta e fișierul pe care ai scris. Deci, dacă aveți de gând să deschideți-l în gedit sau Nano, asta e ceea ce tastați în. Când compilați, atunci veți obține un fișier executabil. Asta e hi. Deci, dacă vă deschis hi, care va să fie o grămadă de prostii pentru tine. Este practic va fi grămadă de instrucțiuni de calculator. Care-i treaba? STUDENT: Ce toate culorile înseamnă? Albastrul este, probabil, director. Ce e galben? JASON Hirschhorn: Cei sunt fișierele executabile. Așa că atunci când am făcut hi.c ea, a dat mine-- așa că am putea face acest lucru. Jumping arma. Deci, scoate hi, da. Deci, atunci hai sa facem ls. Nu mai avem hi. Deci, atunci când face, asta e atunci când ia programul pe care ai scris- și voi face un fișier executabil. Deci, asigurați-hi.c-- bine, face hi. Cred că a trecut peste acest lucru în curs. Acestea sunt grămadă de Instrucțiuni de compilator. Deci, în loc de a fi nevoie să efectiv scrie clang cu toate acestea. Acestea sunt steaguri. Trebuie doar scrie fac. Deci, acest lucru face fișierele executabile. Deci, atunci când faci ls, acum ai hi. Deci, aceasta este ceea ce esti de gând să ruleze de fapt. Și astfel încât să executați prin a face ./hi, si ruleaza programul. Dar dacă am încerca să facem acest lucru cu hi.c, nu, nu e de gând să lucreze. Da, are sens ce spun? STUDENT: Mm-hm. JASON Hirschhorn: cool. Stai, am vrut să spun altceva. Doar foarte repede, în cazul în care oricine este interesat, atunci când sari dintr-un director, e punctul dot. Are cineva o idee de ce Poate doar mijloacele dot singulare? STUDENT: [inaudibil]. JASON Hirschhorn: E de fapt directorul curent. Deci, este directorul curent. Așa că eu sunt aici. Sunt în minunat. Dacă aș face cd punct, nu face nimic. Îmi ia la directorul meu curent. Deci, un pic redundant, dar ai pentru a face acest lucru, așa ./ numele de program, în scopul de a rula dumneavoastră Programul, ce trebuie să faci asta. OK. STUDENT: Dacă veți face cd dot dot dot, indiferent de numărul de puncte va doar să luați în sus că multe directoare? JASON Hirschhorn: Vrei să spui ca cd dot dot dot dot? STUDENT: Da. JASON Hirschhorn: Nu. Deci, de fapt Amintiți-vă că am -L ls? Dacă aș face altceva, pot -a ls. Deci, ceea ce acest spune că este -a vă arată totul. Așa că vă arată lucrurile care sunt ascunse și lucruri care nu sunt ascunse. Deci, dacă observați că atunci când am făcut- doar ls, tocmai am văzut chestia asta, chestii-am făcut. Dacă fac -a, va să-mi arate tot. Și director așa curent, Director deasupra ei. Asta face sens? Da? STUDENT: Dar acestea nu sunt de fapt, în directorul. Directorul curent nu este, în sine, asa ca de ce arată cei cu puncte interior? JASON Hirschhorn: Vrei să spui că e ca și cum nu e în directorul. STUDENT: Corect. Deci, avem o listă de lucruri că sunt în directorul. JASON Hirschhorn: Cred că este în directorul. Ca și -a arată totul, chiar dacă este ascuns în interiorul directorului. Deci, eu cred că e doar un drum spre directorul curent în cazul în care are sens. E un pic recursiv. E ca Inception. Care-i treaba? STUDENT: Deci ați spus arată -a [inaudibil]? JASON Hirschhorn: -a, da. STUDENT: Ce face [inaudibil]? JASON Hirschhorn: Ei bine, de exemplu, hai să mergem înapoi până la partea de sus. Este, de obicei, lucruri pe care nu ar trebui mizerie cu și nu aveți nevoie să vă faceți griji. Deci, aceasta este un fel de acasă. Dacă fac -a, am tone de lucruri. Toate chestiile astea. Și nu aveți nevoie să te pui cu oricare dintre chestiile astea. Categoric nu incep sa mearga aici și elimina doar chestii. [Râsete] Da, acest lucru a fost un pic mai mult Chestii confortabil, dar e bine de știut. Cred că e bine de știut. Dar, dacă nu doriți să introduceți -a în totalitatea acestui curs, doar uita. Care-i treaba? STUDENT: Care este ls -l? JASON Hirschhorn: Asta vă arată permisiuni. Practic voi folosi acest pentru permisiuni, așa -l. Acesta vă arată un pic bit mai multe informații, dar din nou, acest lucru este un pic pic mai multe lucruri confortabil. Acestea sunt doar permisiuni. Deci permisiunile folderelor. Așa că, de exemplu, să spunem că am făcut o dosar, astfel încât D reprezintă director. Deci, acestea sunt directoare. Și apoi citi, scrie, executa. Deci, acestea sunt permisiuni pentru Cred ca utilizator, grup, lume. Total merge prea departe. Ai de gând să meargă în acest ca săptămâni de acum, dar doar ca să știi, acestea sunt permisiuni. Care-i treaba? STUDENT: Poți clar, mai degrabă decât doar trece la urmatorul lucru, poate Tu-- JASON Hirschhorn: Tu înseamnă de fapt ștergeți? Nu știu. N-am făcut asta. De ce ai vrea să faci asta? De ce ai face asta? Îmi place. Tu trăiești pe margine. Ești ca nu vreau nimic din toate astea. Asta e intens. STUDENT: [inaudibil]. JASON Hirschhorn: Da, putem face asta. Ne pare rău, încurcați cu dimensiunea este totul mă sperie chiar acum. Să mergem în sus. Da, așa că acum nu mai pot merge în sus. Deci, tot ceea ce am învățat voi este plecat pentru totdeauna. Mulțumesc. Am făcut directoare noastre. Am făcut dosarele noastre si chestii de genul că, așa avem încă toate chestiile astea. OK, mă duc repede. Deci, foarte repede. Așa că haideți să spun că sunt în minunat. Să spunem că am vrut să se mute totul pentru noul director pentru că vreau doar să-l organizeze, corect? Deci, cum aș face asta. Mutare. Ne vom folosi din nou plasat. Deci, muta hi.c. Și ce puteți face este de a începe listarea lucruri, și ultimul lucru pe care lista este în cazul în care se va muta. Deci, muta hi.c, hi newhi newhi.c, hi_dir. Și așa sa mutat totul în ultimul lucru pe care le-ați menționat. Deci, apoi modificați director, ls hi_dir. Totul este acolo. Deci, este frumos și mai organizat. OK, să zicem Nu-mi place programul meu hi original. Vreau să scap de ea. Cum să scapi de ea? Care-i treaba? STUDENT: [inaudibil]. JASON Hirschhorn: Să spunem că doar doriți să eliminați programul, asa ca hi. Nu, ai dreptate. Deci e rm, dar tu faci rm hi. O să vă dau un mic avertisment. O să spui esti sigur ca doriți să ștergeți acest lucru, și da, am făcut. În cazul în care nu doriți să va solicita ca asta pentru că nu aveți timp pentru avertismente, scoateți -f. Acesta este un alt pavilion. E ca -l. E ca și cum -a. Acestea sunt doar steaguri care dai la aceste comenzi. Deci, scoate -f. f -f înseamnă forță. Deci, l forta. Nu vreau să vi se solicite. Deci, scoate -f. Să facem hi.c. Doar scăpat de ea. Ea nu mi-a spus. Dar să spunem în schimb că sunt terminat cu acest director. Vreau să scap de director. Așa că am scoateți hi_dir. Nu, asta nu funcționează. Nu, așa că nu va lăsa mă scoate un director. Are cineva o idee? STUDENT: Este scoate dir? JASON Hirschhorn: Deci eliminarea ca aceasta? STUDENT: Nu. Doar [neauzit]. JASON Hirschhorn: Nu, acum nu exista nici o hi. Nu e doar hi_dir. Deci, aceasta este directorul. Deci, de fapt, ce vrei să faci este-- oh, ai o idee? Văd ca o mână jumătate. STUDENT: [inaudibil]. JASON Hirschhorn: OK. STUDENT: [inaudibil]. JASON Hirschhorn: OK. Deci, dacă vreau să eliminați un director, scoateți-r. Asta e recursiv. Astfel elimina acel director recursiv. Așa că vreau să intru în acel director, scoate tot în directorul, și apoi a scăpa de director. Și apoi am de gând să f la fel de bine, pentru că am Nu vreau să mă determine cu avertismente după ce se îndepărtează fiecare fișier. Deci, scoate hi_dir -rf. Boom, a dispărut. Doar fii atent în cazul în care utilizați asta. Am de gând să-l folosească aici prea. -rf minunat. A dispărut. Fii atent în cazul în care utilizați asta. Dacă utilizați că aici și scrieți ceva în acest fel, nu face niciodată asta. Care va șterge totul de pe dvs. aparat fără să te avertizez. Și eu am făcut asta. Problemă de clasificare stabilește la 4:00, am fost Încerc elimina stabilite directoare problemă, și am făcut acest lucru. Și am fost ca oh, Doamne. Nu do-- am încercat să-l anuleze. Puteți anula. Comandă C anulează doar totul, dar eu deja șters ca 75%. Așa că am stricat. Și oamenii fac asta. Toată lumea face acest lucru. Nu face acest lucru, deși acest semestru. E de rahat. Am o are nervos aici. Am de gând să-l ștergeți. [Râsete] Vă puteți imagina? OK, întrebări. Da? STUDENT: Deci, dacă facem totul ce faci aici, este acelasi lucru ca doar a intra în fapt, fișier Salvați ca [inaudibil]. JASON Hirschhorn: Oh, vrei sa spui prin gedit. STUDENT: Da. JASON Hirschhorn: Da, asta este. gedit este util. Deci, gedit este foarte util. În această clasă, puteți face o mulțime de lucruri prin gedit. Puteți salva. Puteți redenumi. Aveți posibilitatea să mutați fișierele și chestii de genul asta, dar tocmai sincer atunci când te duci la 50-- bine vă aflați în 50-- 51, dacă te duci în 61, aceasta va fi viața ta. Aceasta este linia de comandă. Acest lucru este în cazul în care vă va programa pentru tot restul vietii tale, astfel folosi cu siguranta gedit, dacă doriți. Categoric o modalitate buna de a începe. Pentru prima problemă seturi, cu siguranta utilizați, dar de fiecare dată într-un timp să încercați să obțineți mai mult second-hand confortabil cu argumente în linia de comandă. Dar poți, cu siguranță. Care-i treaba? STUDENT: Deci, atunci când vrem să ștergeți una dintre fisierele pe care le-am făcut, există două moduri. [Inaudibil]. Există o modalitate de când ești ștergerea unui director pentru a cere prompte, astfel încât să Nu pune șterge? JASON Hirschhorn: rm -r. Deci, nu-l forta. Deci, rm -r. Se va trece prin recursiv, șterge totul, voi solicita după toate, care vă va conduce nuci. Ca și cum aș face aproape exclusiv rm -rf -f și rm, doar in mod constant. Sunt ca nu am timp. Sunt un om ocupat. În regulă, ce sa întâmplat? Da. STUDENT: Există o anulează, sau o cos de gunoi, sau ceva de genul asta? JASON Hirschhorn: Nu. [Râsete] Am putea merge înapoi și să obțină meu aparat care tocmai am șters, nr. Nu, nu, nu. Dacă veți face rm, ar trebui să fie plecat. Care-i treaba? STUDENT: Deci poți [Neauzit] împreună. JASON Hirschhorn: Da, la fel ca asta. Deci, de exemplu, ai văzut -rf rm. Să presupunem că vreau să face ls -la, ea îmi arată totul, chiar ascuns lucrurile cu permisiuni lor. STUDENT: Deci r, -r pavilion, dacă nu avem asta, nu putem șterge un director, nu? JASON Hirschhorn: pe dreapta. STUDENT: Deci, care spune că ne-o dorim de a face ceva cu directorul? Asta înseamnă asta? JASON Hirschhorn: -r înseamnă recursiv. Deci, un director este de gând să aveți fișiere în ea, nu? Deci, ce vrei să faci este tine vreau să merg în acel director, șterge totul, toate fișierele din acel director, apoi ieși și ștergeți directorul actuale. Deci, -r înseamnă recursiv, o fac toate recursiv dacă are sens. Da. STUDENT: Deci, directoarele au [Inaudibil] și doar ștergeți-l. Sau nu-i așa still-- JASON Hirschhorn: Hai să încercăm. Deci, mkdir gol. Scoateți gol. Nu. STUDENT: Nu, deci ai nevoie de încă the-- JASON Hirschhorn: Da, întotdeauna. Deci, -r, -rf, gol. Minunat. Anymore intrebari? Eu cred că este accident ta Desigur, pe linie de comandă chestii. Orice întrebări, pentru că am de gând să sari peste de tipuri de date, și bucle, și toate chestiile astea? Care-i treaba? STUDENT: Nu am CS50 care arată ca unul dintre directoarele mele. Este că normal? JASON Hirschhorn: Oh, da. Asta-i a mea. Da, asta e în cazul în care meu soluții pentru lucrurile tale este. [Râsete] Deci da, e absolut normal. Cred că veți probabil doar au aceste patru. Cred că ar fi normal. Da. OK, și alte întrebări? Știu că a fost super rapid. Care-i treaba? STUDENT: Am văzut culoarea verde albastru. Ce este asta? JASON Hirschhorn: Asta înseamnă director. STUDENT: Și acest albastru? JASON Hirschhorn: Oh, vrei sa spui acest verde albastru? STUDENT: Nu. JASON Hirschhorn: Acest verde albastru? STUDENT: Nu. Când listed-- JASON Hirschhorn: Oh. Ca aceasta? STUDENT: Da, icoane. JASON Hirschhorn: Oh, acest lucru. Nu știu. Ce înseamnă asta? Deci, se pare a fi arătând spre un director. STUDENT: Se pare ca aproape un alias. JASON Hirschhorn: Ar putea fi. Nu aveți nevoie să știe că. Anymore intrebari? Minunat. Dacă aveți întrebări, Știu că a fost o mulțime. O mulțime de informații va fi online. O să-l pun on-line pentru voi. Secțiunea B va fi on-line, de asemenea. Sau dacă aveți întrebări, doar vin și întreabă-mă. Aici te duci. Deci, acum Sharon și Hannah va trece peste unele a logicii din spatele problemă a seta o. SHARON: Oh, Doamne. Probleme. HANNAH: Între timp, eu sunt Hanna. Acest lucru este Sharon. Suntem amândoi CS50 TFS, și am de gând să vă dau un pic de intro pe un cuplu de important lucruri pentru a seta o problemă. Totul, de la tipuri de date a conditionale pentru pentru bucle. Bucle în general. SHARON: Și în cele din urmă, ne-am va arunca o privire la P seta o, și ceea ce trebuie să știi pentru ea. Așa că haideți să începem cu tipuri de date. Voi ar trebui să fie familiarizați cu cei care sunt evidențiate în albastru. Astfel încât să putem începe cu int. int sunt numere întregi, astfel unul, doi, trei, patru. flotoare, puncte plutitoare. Cum ar fi numere întregi cu zecimale, astfel 5,2 sau chiar 5,0. Caractere sunt caractere, cum ar fi A, B, C. Și un șir de caractere, voi cu toții. Cum ar fi CS50 sau saluta si a lumii. Bool este un Boolean, așa că avem adevărat și fals ca boolean nostru. Deci, dacă ceva calculează la truth-- 5 este egal cu 5, care calculează de adevărat, și dacă avem 5 este egal cu 4, asta e fals, astfel încât calculeaza la fals. Și aici ne-am asociat mărime de toate aceste tipuri de date. Și va trebui să știți aceasta pentru teste tale, astfel încât aceasta ar putea fi de ajutor pentru amintiți-vă, dar vom posta astea. De fapt, acestea sunt deja postate. Deci, ar trebui să fie familiarizat cu cele evidențiate în albastru. JASON Hirschhorn: Real rapid, doar în cazul în care voi vreau să știu diferența între un char și un șir. Deci, atunci când scrii lucruri, ori de câte ori aveți ceva de genul "hi", care va fi un șir. Deci, în cazul în care există două citate, este un șir. Dar dacă ar fi să o "h" de genul asta, e un șir. Dar dacă am avea un singur citat, că e un char. Și ce-i diferență s-ar putea întreba. Ei bine, diferența este aceasta este un octet de memorie. Acest lucru este de 4 bytes de memorie. SHARON: float? Descrie-l din nou? OK, e un fel de număr care are un punct zecimal cu ea, așa 5.2 sau chiar 5.0 este un flotor comparativ cu doar 5 este un int. STUDENT: [inaudibil]. SHARON: Oh, aceasta poate avea mai multe puncte zecimale, astfel 5.675 la 3.1415. Da? STUDENT: Nu avem nevoie să știm toate dimensiunile pentru acest? SHARON: Da. STUDENT: [inaudibil]. SHARON: Nu vă faceți griji despre cele albe încă. HANNAH: Notele sunt postat la CS50.net/sections. STUDENT: Doar din curiozitate, există un utilitar pentru a cunoaște dimensiunea fișierelor esti de asteptare, astfel că ar trebui să-l cunosc? SHARON: Deci, acestea sunt tipurile de date, dar da. Deci, în acest caz, care s-ar putea ocupă mai mult de memorie sau mai mult spațiu? JASON Hirschhorn: Deci, de un exemplu concret, Cred că în set problemă patru sau cinci, suntem O să vă dau un buchet de date, iar tu practic Trebuie să traverseze aceste date. Deci, este util de știut că dacă aveți atât de multe numere întregi, care va fi ceea ce. Deci, să spunem că am dat zece numere întregi, ceea ce este de dimensiunea asta? STUDENT: 40. JASON Hirschhorn: 40 de bytes, dreapta. Deci, va trebui să știe că OK, am nevoie pentru a sari de 40 bytes. Deci, haideți să spunem în schimb e de 40 de caractere, then-- să spunem că ți-am dat 10 de caractere, atunci știi, OK, eu doar nevoie pentru a sari de 10 bytes. Deci, este foarte util să se cunoască dimensiune a tipurilor de date reale, pentru că ori de loturi veți sari în jurul datelor, astfel încât trebuie să știți cât de departe pentru a sari. STUDENT: Care este diferența între ghilimele și un citat? JASON Hirschhorn: OK, două citate este un șir. Un citat este un char. STUDENT: Ca și operațional, Care este diferența? Amândoi spun salut. JASON Hirschhorn: Oh, îmi pare rău. Acest lucru este pur și simplu de ore. Ne pare rău, acest lucru nu este clar. STUDENT: Deci, partea de sus Unu JASON Hirschhorn: Acest este un șir de caractere, da. Deci e doua personaje, nu? Șir, hi. Dar să zicem că doar a avut un singur caracter, dacă am pus două ghilimele în jurul valorii de doar h, asta e un șir. Acesta este un șir de ore. Asta face sens? Deci, aceasta este de patru bytes. Dar să spun că am scăpat din care o pune doar unul. Un citat. Acesta este acum un char, un char h. Deci, același lucru exact, alt tip de date. Acesta este doar un octet, întrucât șirul a fost de patru bytes. Da. STUDENT: Deci, dacă ați încercat pentru a stoca un cuvânt ca David, ce-ar vrea să folosească un șir pentru că indiferent de cât de mult șirul este, va dura doar patru bytes excepția cazului în care este un lung lung sau o dublă, în care case-- deci, dacă aceasta se extinde dincolo de patru caractere, atunci pe care doriți să-l facă în șir. Este faptul că logica generală din spatele. JASON Hirschhorn: Daca se extinde dincolo de un personaj, e un șir. STUDENT: Deci, nu există nici o [inaudibil] pentru stocarea o scrisoare de patru cuvânt de patru individ sau trei litere cuvânt ca trei caractere individuale pentru că va fi doar trei octeți, spre deosebire de șirul trei părți. JASON Hirschhorn: Ai putea face asta. Ai putea face asta, dar eu nu fac Crezi că e într-adevăr merită, pentru ca esti de economisire de un singur octet. Știi ce vreau să spun? În schema mare a lucrurilor, că nu va contează. Dar de exemplu, printf, în cazul în care esti f și imprimare au trei caractere, puteți imprima că out-- să spui C-A-T, puteți tipări pisică doar de către a face un char un char un char, sau puteți imprima șir pisică. E exact același lucru. Deci, ai putea face așa, dar-- STUDENT: Nu va pentru a economisi atât de mult. JASON Hirschhorn: Da. Dureri de cap că aceasta ar fi induce nu este în valoare de ea. Da? STUDENT: De exemplu, ai avut h cu o față de două, ghilimelele simple sau duble. De ce ai vrea să salvați o singură literă ca un șir de caractere. Ce scop are, care servesc vreodată? JASON Hirschhorn: Nu știu. Vreau să spun, într-adevăr depinde de program. De exemplu, cred că mai târziu veți obține în linie de comandă chestii. Deci, de exemplu, în loc de mine vă cere un rău integer--, pot să vorbesc cu tine? HANNAH: Da. JASON Hirschhorn: Deci, de exemplu, în loc de-mi cere ceva cu scop GET, care Cred că este posibil să fi văzut o prelegere, ar putea fi o linie de comandă. Trebuie doar să-l tastați în linia de comandă. Ar fi ca și cum - / hello4 sau ceva, sau helloh h, indiferent de. Puteți să o faceți la linia de comandă în loc să fie cerut-o, că linia de comandă este întotdeauna o șir, fie că este vorba de patru sau o oră, care este întotdeauna un șir. Deci, asta e un exemplu, atunci când s-ar putea o scrisoare singular sau un singular număr reprezentat ca un șir de caractere. SHARON: În regulă. Și apoi aici sunt unii operatori de bază. Sperăm că sunteți familiarizat cu primele patru locații, în general. Deci nu e adunarea, scăderea, înmulțirea și împărțirea, și asigurați-vă că folosiți intrarile de la tastatura dreapta. Și apoi există, de asemenea, modulo, pe care unii de s-ar putea să nu fie foarte familiarizat cu. Și ce modulo face este că dacă luăm acest exemplu 4% 2, este nevoie restul ceea ce face ca în diviziune. Deci 4 împărțit la 2 este 2, și nu există nici un rest. 4 se împarte la 3 este de 1 și 1/3, și așa rest 1. Deci, se calculeaza la unu. Și apoi 4% 5 este fracția 4/5, iar restul este 4. Asta face sens? OK, rece. Și urmăm PEMDAS aici. Deci, unele expresii booleene. Deci, voi ați văzut egal la egal la egal pentru a compara, să zicem, două numere. Deci, dacă este egal cu 5 este egal cu 5, care calculează de adevărat. Asigurați-vă că aveți doar un singur semn egal. Pentru a nu egal, e bang-ului sau al exclamării. Hannah: Două semne de șanse atunci când faci egalitate. SHARON: Oh, da. Asigurați-vă că nu au un semn egal. Și apoi pentru cel egali, e bang egal. Și apoi poti sa te uiti prin pentru mai puțin de, mai mare. Și apoi ne-am logică și și logic sau chiar aici. Și că ceea ce face este, în cazul în care Vă amintiți în Scratch când ai avut acel bloc care a spus și, și apoi te ar putea potrivi două piese diferite acolo, asta e ceea ce acest lucru și face. Și asigurați-vă că faceți două ampersand. Și această cheie puteți găsi spre dreapta, chiar sub butonul Delete. Întrebare? STUDENT: Care a fost [inaudibil]? SHARON: OK, deci dacă faci numai unul, ești compararea biți. Deci, dacă vă aduceți aminte ce biți sunt, ele sunt 0 și 1, iar astfel care este comparat altceva. Așa că am de gând să se concentreze pe acest lucru pentru acum. JASON Hirschhorn: Deci, un egal este ca misiune, nu? Deci, cum ar fi int x este egal cu 4. Vrei să spui că variabila x este egal cu 4. Deci, este egal cu 1 este cesiune, dar ands și conductele sau baruri, la fel ca Sharon a spus, că sunt operatori la nivel de bit. Nu aveți nevoie să vă faceți griji despre asta. STUDENT: Când folosești logica și și logic sau din nou? Am uitat când faci asta. HANNAH: Sigur, așa că dacă vrei vreodată pentru a verifica dacă două lucruri sunt adevărate, de exemplu, să spunem că vreau să verificați că un număr este între 5 și 15, Aș spune asigurați-vă că numărul este mai mare de 5. Deci, haideți să spunem dacă x este mai mare decât 5 și mai puțin de 15. Deci, pentru ca respectivul ansamblu declarație pentru a evalua la true, aveți nevoie atât de un fel de sub- declarații pentru a evalua adevărat. Cu sau ai nevoie doar de unul din cele două sau ambele. STUDENT: Great, vă mulțumesc. SHARON: Și, de asemenea, în Scratch, sunt sigur într-o mulțime de proiecte tale ai avut dacă atinge marginea sau în cazul în care atingând un alt sprite apoi sări sau ceva. HANNAH: Bine, așa că de ce avem pasă de toate aceste Booleans? Avem aceste structuri pe care le-ați văzut în răzuibile numite condiționale. Și condiționale sunt nimic forma în cazul în care unele condiții sau unele boolean este adevărat, atunci face codul între aceste acolade. Astfel încât să puteți vedea pe dreapta aici este blocul Scratch. Ai acest lucru, dacă atunci, și nimic care merge în acea mică formă care Se pare ca asta: i Nu știu ce ai apel that-- care va fie Boolean sau starea. Deci, din nou, un Boolean sau condiție este nimic care fie evalua la true sau false. Și din nou, puteți combina Booleans. Puteți avea, din nou, x este mai mare decât 5 și x este mai mic de 15. Sau puteți avea doar un singur acestor x este mai mic de 5. OK, deci în C E pe stânga. E doar cuvântul cheie în cazul în care. În paranteze, condiție sau Boolean. Și apoi codul în între aceste două acolade va executa numai, va rula numai în cazul în care această condiție sau care Boolean este adevărat. Asta face sens? Minunat. OK. Și apoi ca s-ar putea s-au văzut în Scratch, putem adăuga, de asemenea, pe un altceva, care este de fapt nimic între acolade în temeiul altceva va executa numai în cazul în care condiția este falsă. Face sens? Orice întrebări cu privire la aceste două? Minunat. Rece. Deci, aici e un exemplu rapid. Să presupunem că vrem să determina, în funcție de timpul, dacă ar trebui să spun bun dimineața sau bună seara. O să spun dacă e înainte de ora 12:00, vom spune bună dimineața, în caz contrar vom să spun bună seara. Și când am spus că în caz contrar, care este echivalent în C la această altceva. Deci, vom verifica dacă timp militar este mai mică de 12:00, spun bună dimineața. Spune altfel bună seara. STUDENT: Deci, am obține de fapt, că de intrare pentru timpul militară cu șirul GET. HANNAH: Corect. A făcut Undeva în altă parte ne-ar de fapt trebuie să furnizeze aceste informații. Chiar aici nu are nici o valoare. Noi nici măcar nu a declarat. Presupun că undeva mai sus acest program am declarat de timp, sau a cerut timp, or-- orice altceva cu acest exemplu? Minunat. OK, acum avem în plus pentru că simplu dacă formatul altceva, avem alte două structuri diferite. Deci, în primul rând, avem comutatorul declarație, și aici e forma generală a unei declarații comutator. Ai cuvântul cheie comutați același fel, aveți cuvântul cheie în cazul în care. Și apoi o intrare, în acest caz n. Deci, acest lucru se poate lucra numai cu numere întregi. Astfel încât de intrare n are să fie un număr întreg, OK? Și am de gând să urmați unul dintre aceste cazuri în funcție de ceea ce această valoare n este. Deci, în acest caz, veți compara mai întâi este n egal cu o constantă, dacă este, să facă tot fel de alin pe aici. Pot indica o pentru că sunt prea scurt. În cazul în care nu este egală cu o constantă și este, în schimb constant egal cu doi, am de gând să urmeze această a doua bloc, și putem face acest lucru pentru ca de multe ori așa cum ne-o dorim, iar apoi că implicită este cazul ea nu sa potrivit cu oricare dintre cazurile de mai sus, executa acel cod. Orice întrebări aici? Acesta este un pic mai complicat. Da? STUDENT: Break însemnând ce? HANNAH: Sigur, așa, odată ce vom intra în acel bloc, dacă vom găsi, să zicem, n noastră este de fapt egală cu o constantă, intrăm că blocul după două puncte. Noi facem tot ce este pe că linia de comentând, și apoi ne-am rupe, ceea ce înseamnă ieșim din această declarație comutator în întregime. STUDENT: OK. HANNAH: Mm-hm? STUDENT: Este amprentei este necesar, sau ai nevoie de [inaudibil]? HANNAH: Sigur. Astfel, ca întotdeauna, indentare nu este strict necesar. Computerul nu pasă dacă liniuță. Noi, ca oameni care sunt citirea codului, nu de îngrijire. Deci, este mult mai ușor să privi în sus la ecran și a se vedea, oh, știu exact ce se întâmplă atunci când n este egal cu una constantă. Dacă aș fi avut liniuță aleatoare, am nu ar fi în măsură să-i spun așa ușor. Da? STUDENT: Deci, dacă a vrut un utilizator la alegeți una dintre opțiunile pe care avem pe listă, ar fi vom folosi, cred, [inaudibil], dar primi un număr întreg de la le-a pus și asta în n? HANNAH: Exact dreapta. Deci, sa spunem am vrut pentru a verifica ce număr întreg. Am spus oh, introduceți un număr întreg între 0 și 5, să zicem. Am putea cere pentru asta n, cere această valoare, și apoi au fiecare dintre aceste cazuri. Și din nou, acest lucru este ceva ce ar putea face foarte ușor cu if, dreapta? Am putea avea daca egală cu de caz unul, dacă egală cu majuscule două, dacă egală cu majuscule trei, așa mai departe și așa mai departe. Acesta este un pic mai repede și un pic mai curat. E un fel de doar o structură de frumos acum. STUDENT: Mai rapid ca și în scris? Sau nu-l executați calculator un pic mai repede? HANNAH: Este ruleaza un pic mai repede. Da? STUDENT: Deci dublu bord este doar comentariul meu or-- HANNAH: Oh, îmi pare rău. Nu am subliniez asta. OK, dacă aveți că //, este un comentariu. Doar // este un comentariu. Deci, în orice moment la calculator vede că, aceasta se întâmplă să spun OK, nimic din ceea ce urmează acest lucru, eu sunt doar de gând să ignore. Am de gând să te prefaci Nu a scris chiar că. STUDENT: Deci asta [inaudibil]. HANNAH: Acest lucru nu absolut nimic. Dar dacă am scris ceva de genul, pe de primul comment am scris în schimb printf spune felicitări le-ați introdus unul constant, că ar fi ceva. Da? STUDENT: Deci, în viața reală, caz doar ar fi pur și simplu un număr și apoi [inaudibil] ar fi un alt număr întreg. HANNAH: Exact. STUDENT: Și aveți nevoie elipsele? HANNAH: Îmi pare rău? STUDENT: Ai nevoie de asta? HANNAH: Oh, nu. Îmi pare rău. Asta a fost doar pentru a indica faptul că puteți du-te pe la cât mai multe cazuri, după cum doriți. Să facem un exemplu concret care s-ar putea face lucrurile un pic mai clar. OK, deci sa zicem spun, OK, da-mi un număr întreg n care reprezintă un număr de clasă, în mod special o clasă de informatică număr. Deci, dacă-mi dai 50, Am de gând să spun mare. CS50 este o introducere la calculator știință, iar apoi am de gând să rupă. Deci, asta înseamnă că sări din această declarație ansamblu comutator, asa ca acum am terminat rulează codul, OK? Dacă mi-ai dat în schimb 51, mi-ar imprima a doua comunicare. Și apoi, dacă mi-ai dat ceva număr care nu a fost de 50 sau 51, Am de gând să spun îmi pare rău, îmi pare nu sunt familiarizați cu această clasă. Da? STUDENT: Nu aveți pauză. HANNAH: Îmi pare rău, nu am pauza? STUDENT: Ce se întâmplă dacă. HANNAH: Oh, ce dacă nu aveți pauză? Excelent întrebare. Deci, ce s-ar întâmpla este v-ar merge în, și v-ar verifica sunt eu egală cu 50? Și să spunem, da, ai fost egal la 50, ai imprima declarația. Și apoi va continua de executare, așa că ar spune sunt eu egală cu 51? Și v-ar merge pe și du-te prin fiecare caz de genul asta? Da? STUDENT: Este linia implicită analog pentru a spune altceva? HANNAH: Exact. Foarte bine. E ca un fel de captură toate. STUDENT: Deci, dacă nu au avut pauză și apoi una dintre situațiile de caz era adevărat, și apoi a spus creștere n cu 1, atunci aceasta ar mod automat face pe următoarea. S-ar verifica caz 51, și apoi arata ca la fel de bine? HANNAH: Da, cred că ar funcționa. Deci, ați putea obține un fel de murdar, așa o pauza este un lucru bun pentru a avea. Da? STUDENT: Fără pauză ar face implicit? HANNAH: Aceasta este o întrebare bună. JASON Hirschhorn: Cred că pur și simplu funcționează. Deci, dacă nu aveți așa break-- să spunem că am făcut 50 și le-a verificat 50, și s-ar imprima asta. Imprima CS50 ca introducere la informatică. Nu aveți pauză, ar trebui să meargă și continua să mergi până când se lovește de o pauză. Deci, în cazul în care nu există nici o pauză, o să continui. Se va imprima orice altceva afară. HANNAH: Deci, cred că ar fi fi inclusiv implicit. JASON Hirschhorn: Da. HANNAH: Bună întrebare. Da? STUDENT: Este cazul considerată o funcție? HANNAH: Îmi pare rău? STUDENT: Este cazul considerată o funcție? HANNAH: Este cazul considerată o funcție. Mi-ar ezita să spun că. JASON Hirschhorn: Deci, în mod normal, când veți vedea funcții acestea vor fi în acolade. Deci, de exemplu, atunci când te uiți la codul, de exemplu, principal. A fost principalele paren deschise, apoi anulate, paren aproape. Functions-- sunt practic Întotdeauna veți vedea paranteze. Deci, caz dupa caz nu nici un paranteze, asta e indiciu ta că asta nu-i o funcție. Dar nu e. Da? STUDENT: Deci nu asta face trecerea o funcție? HANNAH: Oare faptul că mărcile trece o funcție. STUDENT: În sensul că ai pus ceva în, îți dă unul din cazuri. JASON Hirschhorn: I nu s-ar apela o funcție. Nu totul cu parens este o funcție. Vreau să spun că e un indiciu că aceasta este o funcție. Nu aș putea spune switch este un Funcția pentru că nu e adevărat revenind nimic. Veți obține în care mai mult. HANNAH: Da, cred că doar la ea ca la o structură în cazul în care. STUDENT: Poți cuib acest lucru într-o structură în cazul în care? HANNAH: Da, cuib ceva destul de mult. STUDENT: Barry a spus ghilimele sunt un fel de la fel ca și ceilalți. Astfel încât puteți înlocui citate cu altcineva? HANNAH: Nu sunt în această special Structura deoarece comutatorul declarație se așteaptă implicit cuvânt. Computerul știe că implicit înseamnă ceva special, că se înțelege captura toate. Orice altceva în acest sens. Avem o mai mult pentru a obține prin intermediul. Da? STUDENT: [inaudibil]. HANNAH: Diferența între utilizând un punct și virgulă și un colon. Deci, un punct și virgulă este întotdeauna să-i spuneți calculator Am terminat cu această linie. Puteți să mergeți mai departe și să execute el. Aceasta este o linie completă. Un colon este de gând să, în acest caz, Vă prezentăm într-un anumit bloc. Deci, punct și virgulă sunt folosiți întotdeauna să se încheie linii. Două puncte sunt folosite pentru o varietate de alte cazuri. STUDENT: Este echivalent cu doar că dacă n este egal cu 50, atunci bla bla bla. HANNAH: Mm-hm. STUDENT: E doar aceeași [neauzit]. HANNAH: Exact. Iar noi am spus, ruleaza un pic mai repede. Dacă nu am avea pauză, ar fi ca în cazul în care, în cazul în care, în cazul în care. Dacă avem pauză, e la fel ca în cazul în care altcineva dacă altfel dacă altcineva dacă. Rece? JASON Hirschhorn: Deci, atunci când codificare, puteți folosi doar în cazul în care altceva, dar cred că anul trecut, pe WE test a avut-i scrie o declarație comutator, așa doar în cazul în. HANNAH: Dar cu siguranță nimic în neregulă. Nu te aștepta să vă faceți griji despre performantei lucruri nebunești. Doar dacă mai este total fin. Acestea sunt doar bune lucrurile să fie conștienți de. Și aici e ultima noastră unul ca un fel de se încadrează în această categorie condiționată. Avem ceva din Stare formă generală?, și apoi o mică bucată de cod care se întâmplă în cazul în care condiția este adevărată. Și apoi colon, un pic bucata de cod care execută dacă condiția este falsă, punct și virgulă. Am terminat cu acea linie. Deci, sintactic e un pic urât. Am de gând să treacă printr-o exemplu Cred că e cel mai clar. Așa că vrem să atribui profesorul string la una din aceste două valori, fie David Malan sau nu David Malan, OK? Deci, ar trebui să fie familiar cu șirul, profesor universitar =. Mergem pentru a atribui un șir la variabila numit profesor. Acum vrem să verifice o special condiție. În acest caz, condiția noastră este class_num = = 50. Iar acum ar putea fi un moment bun să subliniez când ne-am profesor șir =, Asta e un semn egal. Asta e misiunea. Întrucât în ​​class_num = = 50, care este de două semne egale. Asta-i un control de calitate. Așa că am de gând să spun este Numărul de clasă egală cu 50? Dacă este așa, alocați Profesorul David Malan. Dacă nu, atribui profesor să nu David Malan. Orice întrebări acolo? Din nou, aceasta este doar ceva asta e bine de știut. Ai putea face acest lucru cu, dacă altceva. O problemă de bună practică ar putea fi, atunci când te duci acasă, chiar în același exacte condiționată într-o formă în cazul în altceva, pentru că poți să faci asta. Orice întrebări aici? Bine, cred că suntem O să merg pe la bucle. Minunat. SHARON: OK, hai sa vorbim despre în timp ce buclele. Deci, în primul rând din partea stângă veți vedea here-- OK, care spune în timp ce, în timp ce (conditie). Și apoi tu faci asta: putem schimba acest lucru? JASON Hirschhorn: Se taie. SHARON: OK, și apoi acolo sunt, de asemenea, acolade. Astfel pretinde că creț bretele sunt acolo sus și sub a face acest lucru din nou și din nou. Deci, în cazul în care condiția în cele paranteze se evaluează la true, atunci ar trebui să continuăm să facem tot ce este în bucla de timp. Deci, de exemplu, am putea face o problemă practică. Port doi cercei chiar acum, așa să zicem dacă mă poartă cel puțin un audiere, bate din palme. Deci, dacă vom merge prin aceasta, vom going-- [Aplauze] Dreapta? Și eu port una, si-- OK. Da. Nu port cercei mai, astfel încât nu mai mult. OK, deci atunci inseamna ca te-ar opri. Și acest lucru se poate spune este echivalentul a aproape variabile. Să presupunem că aveți un număr variabil de cercei. Deci, în timp ce numărul de cercei este mai mare mică sau egală cu 1, bate din palme. Și apoi, după bate mâini, cercei decrementare. Face ca cercei minus 1. Deci, descrește numărul de cercei, și atunci va trece prin bucla în timp ce de două ori. Iar în cazul în care condiția este întotdeauna true-- așa că, dacă, să zicem, 2 = = 2, și 2 este intotdeauna egal cu 2, nu? Apoi, ar fi mereu face ceva acolo, și că este echivalentă cu aproape pentru totdeauna bucla care am avut-o în Scratch. Da? STUDENT: Sunt cele două părți la doar moduri diferite de a scrie o buclă în timp ce? SHARON: Deci suntem concentrat de data asta în primul rând. Și apoi Să comparăm l cu un do în timp ce buclă. Astfel încât acestea sunt ușor diferite. OK, deci haideți să spunem conditie este încă în timp ce eu port cel puțin un cercel, și eu nu port orice cercei chiar acum. Și să spunem facem și încă bate în timp ce Port cel puțin un cercel. Ce ar trebui să se întâmple? [Bate] Uh oh, băieți. OK, deci tu ar trebui să bată din palme o dată pentru că, practic tu du-te prin prima parte a codului. Puteți să o faceți, indiferent de ce, și apoi veți vedea starea în timp ce, și te duci înapoi în că bucla dacă e adevărat. Are care face sens? STUDENT: Întotdeauna fă-o pentru prima dată. SHARON: Tu mereu faci prima dată indiferent dacă sau nu această condiție este adevărată sau nu. JASON Hirschhorn: Când do crezi că ai putea folosi asta? Când are sens sa folosesti aceasta? HANNAH: Da? STUDENT: [inaudibil]. JASON Hirschhorn: pe dreapta. HANNAH: Foarte bine. JASON Hirschhorn: Deci, atunci când cere un utilizator, ai de gând să vrea mereu pentru a solicita un utilizator o singură dată. Te întotdeauna o să vrea pentru a solicita utilizatorului o singură dată. Deci, în loc de a pune într-o buclă în timp ce, tu pune în do în timp ce bucla, pentru că ești întotdeauna o să o fac singură dată. Dacă te dau răspuns corect, ați terminat. Dacă nu, atunci să le re-cere. SHARON: Bine, pentru bucle. Deci, în Scratch, am avut blocuri repetate. Așa că am vrut să repete ceva, să zicem, de șapte ori. Așa că ne-am spus repeta șapte, și spun că sunt aici pentru a vă ajuta Albă ca Zăpada! În C, avem pentru bucle, dacă ne-am vreau să merg prin ceva un anumit număr de ori. Să spunem că dacă am inițializa pitici variabile și să facă sure-- astfel primul bloc chiar acolo, înainte de primul punct și virgulă, ne-am inițializa variabila nostru a, și l-am setat la 0. Și variabil nostru acolo este un număr întreg, int. Și numele variabilei este pitici, și ne-am stabilit pitici la 0. Iar partea a doua între două semne punct și virgulă este starea noastră. Și atâta timp cât pitici este mai mic de șapte, vom continua prin aceasta pentru buclă. Și apoi ultima parte este ceea ce face facem la sfârșitul acestui pentru buclă? pitici ++, iar asta înseamnă că incrementa pitici de unul de fiecare dată. Deci, ce se va întâmpla aici? Deci, în primul rând vom trece prin. Avem pitici ca 0, iar apoi vom merge pentru a imprima Sunt aici pentru te ajuta Albă ca Zăpada! Și apoi pitici se va crește pentru că am spus pitici ++. Piticii va fi de 1. Și apoi ne-am compare-- pitici este 1. L-am compara cu pitici este mai mică de 7? Da. Am de gând să treacă prin asta din nou. Sunt aici pentru a vă ajuta Albă ca Zăpada! Și apoi pitici devine 2, iar apoi l-am comparare. Este de 2 mai puțin de 7? Da. Ne vom continua prin. Și vom merge prin aceasta de șapte ori. Deci, în cele din urmă, vom Trebuie pitici = 0 print out eu sunt aici pentru a vă ajuta Albă ca Zăpada! pitici este egal cu 1, 2, 3, 4, 5, și 6. Amintiți-vă indice noi la 0. Deci, să începem cu 0. Da? STUDENT: Deci asta este diferită de do pentru că acest lucru nu se imprimă out inițial la început. Deci, ai putea continua același lucru. Puteți să o faceți acest lucru, de asemenea, cu bucla do? La fel ca același proces. Condiția este pitici mai puțin de 7 sau orice altceva. De răspuns este mai mică de 7. SHARON: Deci, ai putea punct de vedere tehnic. Deci, dacă ne întoarcem sa-- vă vorbesc despre bucla in timp ce, nu? Deci, în timp ce bucla do este ușor diferit pentru că va garantam cel puțin odată ce vom trece prin ea, asa ca asta e cea mai mare diferență. Dar cu bucla în timp ce am putut spun în timp ce pitici este mai mic de 7, face acest lucru, și apoi incrementa pitici de unul. Și apoi ne-am pentru a inițializa pitici înainte de toată această afirmație că este egal cu 0. Deci da, am putea face asta cu asta. Mm-hm? STUDENT: Poți să te întorci la [inaudibil]? SHARON: Pentru buclă? STUDENT: Da, deci cu pitici ++, Se pare că asta e ceea ce faci după ai fugit alte mijloace. SHARON: Corect. STUDENT: Ați putea doar nu au că și pune it-- SHARON: Ai putea. STUDENT: Deci, este [inaudibil] imediat după imprima în următoarea linie dedesubt. SHARON: Da, ai putea pune acolo. Dar apoi v-ar doar părăsească gol. JASON Hirschhorn: Tu încă Trebuie colon semi totuși. SHARON: Se pare un pic ciudat, dar ai putea face asta de vedere tehnic. Punct de vedere tehnic. Va rugam sa nu. Da? STUDENT: Exista vreun alternative și ++? Mai e ceva [inaudibil]? SHARON: punct de vedere tehnic îl pitici lui. Un semnul egalității noi te vom să-l setat la pitici, plus 1. Deci, punct de vedere tehnic asta e ce pitici ++ mijloace. Asta face sens? STUDENT: Da, dar sunt Există alternative? Cum ar fi dacă ați ever-- SHARON: Da, ai putea face pitici - -. STUDENT: [inaudibil]. SHARON: Da, ai putea face o serie de lucruri. HANNAH: Și ați putea incrementa cu 2. Ai putea incrementa de 3. Orice lucru care se întâmplă să se schimbe, se va face în cele din urmă starea. STUDENT: Deci, dacă ai vrut să incrementa de 2, cum ai scrie asta? HANNAH: Ai putea scrie, fie dwarves-- ai putea scrie tot chestia asta. pitici = pitici + 2. Sau un ușor stenografia. Mă duc să scrie + este egal cu 2. STUDENT: OK, și vei scrie asta chiar în cazul în care pitici ++ este acolo. HANNAH: Exact. SHARON: Corect. Nu a fost o altă întrebare? Da? STUDENT: [inaudibil] pitici ++? SHARON: Deci don't-- JASON Hirschhorn: Da, nu au nevoie de ea acolo. [Inaudibil] foarte termina. Deci, ce faci [inaudibil] cele pentru că ești un fel de divizare în sus inițializarea, condiție, și schimbarea. La sfârșit, nu aveți nevoie de ea. SHARON: De asemenea, observați nu au nevoie de punct și virgulă după întregului pentru buclă. STUDENT: Cum ați începe cu un număr inițial de negativ, de exemplu? SHARON: Puteți inițializa pitici egal cu negativ 2. STUDENT: Ai doar nu da buzna 2? SHARON: Da, așa semn negativ, bord 2. STUDENT: Este [nu pot fi auzite] a inițializa ca pitici [inaudibil]? SHARON: Da. Deci, dacă ne-am fi inițializat pitici mai devreme, nu doar punct și virgulă pitici int, și atunci nu putem face pitici stabilit că egală cu 0. STUDENT: Am putea face acest lucru mai devreme în Programul spunând int pitici = 0, și apoi doar-- SHARON: Doar nu have-- așa ar exista un spațiu nou, dar ai avea nevoie de încă un punct și virgulă. Da. Mm-hm? STUDENT: Oare acest cod spune ce valoarea de pitici este după aceea. Dacă-l întrebați după toate acestea este făcut pentru a imprima valoarea de pitici. SHARON: Ai putea cere să faci asta. STUDENT: OK. SHARON: Dar v-ar Trebuie să îi solicite să facă asta. Ea nu-l face pentru tine. Mi-e frică să-mi cerceii înapoi. Fa-o, la sfârșitul de aplauze. Glumeam. JASON Hirschhorn: Deci asta e la fel. Deci inițializa în partea de sus. Condiție, imprimare, schimbare. Deci, aceasta este exact la fel ca și că, dacă cineva se poate observa că. STUDENT: De ce nu ai punct și virgulă pe prima linie? SHARON: Unde? STUDENT: După prima linie. SHARON: Dupa 4 în paranteze? Pentru că vrem să mergem în întregime în această buclă. Și dacă aruncăm o privire la bucle în general, nu au semne punct și virgulă. Nu e practic. Suntem bine? Încă o întrebare, două mai mult. Da? STUDENT: Acest lucru ar putea fi un pic avansat, dar fac pitici au o diferit [inaudibil] de la o variabilă [inaudibil]. SHARON: Foarte bine. STUDENT: [inaudibil]. SHARON: Da, este. Ce? JASON Hirschhorn: Da, așa se face. Deci, în mod normal în domeniul de aplicare al ceva este în acolade. Deci, domeniul de aplicare este întotdeauna o pentru a fi în acolade, dar care nu ar face mult sens pentru pentru buclă pentru că am initializat pitici în care acoladă. Deci, în mod normal în domeniul de aplicare al pitici, care variabilă nu s-ar extinde dribleze pe asta. Acesta este un caz special, totuși. Astfel încât să se inițializa în aceste paranteze, și apoi ai domeniului de aplicare mai târziu. Caz atât de special. Ei nu ar trebui să aibă faptul că, și că asta-- Asta face sens? STUDENT: Nu. JASON Hirschhorn: eu pot trece peste asta. Deci, ce mai ești confuz despre? STUDENT: Ca și în puteți folosi dwarves-- te se poate folosi în mod evident, pitici [inaudibil] în afara formula prea? JASON Hirschhorn: Nu, nu. Deci sfera de numai interior acolade pentru m de buclă, da. SHARON: Dar dacă inițializa pitici în afara de bucla, apoi îl puteți folosi în altă parte E mai mult o întrebare? Nu? OK. Așa că am vorbit un pic despre cuiburi pentru bucle sau condiționale de cuibărit, dacă declarațiile. Deci, aici e un exemplu de tara am putea cuib o pentru buclă. Să spunem că am fost tipărire acest tabel de x e aici. S-ar putea dori sa-- întâi dacă noi pur si simplu nu te uita la codul și ne gândim doar despre asta, ne-am vreau să merg prin fiecare rând și imprima fiecare coloană, nu? Asta face sens? OK. Deci, aici vom merge prin fiecare rând pentru practic fiecare rând, și există trei rânduri. Și apoi în fiecare rând pentru fiecare coloană, și acolo sunt patru coloane, imprimați o de x. astfel. Când rând este 0 și coloană este 0, am printează de x. Și apoi vom continua prin bucla coloană. Row este încă 0, dar coloană este una. Și apoi coloana este 2, iar apoi coloana este 3. Și apoi ne-am ieși din care bucla pentru că atunci coloană nu mai puțin de 4. Și apoi am imprima o nouă linie, și mergem la noua linie. Și apoi vom trece prin următorul rând, și rând se incrementat, și trecem prin asta din nou. Asta face sens? Da? STUDENT: Deci, pentru a cuib [inaudibil] este doar pune în interiorul pentru bucla? SHARON: înseamnă atât de cuiburi pe care le au o buclă într-o buclă pentru, cum ar fi Inception. STUDENT: Nu aveți nevoie de un rotație speciala sau orice altceva? Tu doar stai chiar în interiorul de ea? SHARON: Corect. Da? STUDENT: S-ar putea să fie [inaudibil], dar se pare ca nu exista un spațiu suplimentar între toate x-urile. Nu știu dacă that's-- În cazul în care au fost de a face de fapt programul, ar face așa ceva? SHARON: Deci, nu. Care a fost apăsarea tastei Enter. Asta a fost rău din partea noastră. Mi cer scuze. HANNAH: Cum ați schimba acest lucru Programul dacă ați făcut o linie în plus? STUDENT: [inaudibil]. SHARON: Bună treabă. STUDENT: De asemenea, puteți imprima la fel lucru prin comutarea în jurul coloanei, dreapta? SHARON: Hm? STUDENT: Deci, pentru a imprima mica ta xxx, prima linie poate spune imprimare, și în loc de a spune rând, se spune coloană. SHARON: Deci, ai putea schimba nume de variabile pentru a face asta. Este că ceea ce vrei să spui? STUDENT: Nu, eu sunt doar spune that-- așa că ești rânduri de imprimare în primul rând și apoi de imprimare coloane. Se poate imprima, de asemenea, coloane întâi și apoi rânduri pentru a obține aceeași diagramă? SHARON: Ai putea, dar atunci ar trebui să fie atenți de unde ai pus noua linie. Și cum ai sări înapoi? JASON Hirschhorn: În cazul în care pe care tocmai ați pornit iar valorile au fost diferite, în loc de a avea four-- ce este? Trei de patru. Te-ar avea patru rânduri și trei coloane. Asta face sens? STUDENT: Da. JASON Hirschhorn: Deci, da, ai putea face asta. Da, cu siguranta. SHARON: Dar care ar fi literalmente doar comutare numele variabilelor. Bun? OK. Bine, P seta o. OK, deci prima parte a acesteia vi se va face acest lucru, Mario. Glumeam. E mai mult ca aceasta. Și așa că atunci când ne-am uitat la imbricate pentru bucle, ceea ce face ca masă, gândiți-vă cum ați putea fi în măsură să imprima aceste hashtags în acest fel. Și apoi chiar aici cum te-ar Tipărește aici, acest spațiu deschis. STUDENT: [inaudibil]. SHARON: Da, tu doar imprimați un spațiu. OK, deci cred că doar despre asta. HANNAH: Și atunci la fel o parte a problemei stabilit este un program numit greedy.c, astfel încât ești O să vreau să mă gândesc despre condiționale și asigurându-vă că ați poate face o schimbare buna. Și un mic avertisment avem pentru tine este să aveți grijă de valori în virgulă mobilă. Dacă asta înseamnă absolut nimic pentru tine, acesta va fi acoperit în curs în această săptămână și, de asemenea, în [inaudibil] plimbare prin care voi va învăța să dragoste pe seturi de probleme. Un lucru pe care am sugera într-adevăr, în special cu Mario.c, când faci problema seta, dacă te blochezi, începe prin a face-o pe hârtie. Scrie-l și de fapt stai acolo și pretind a fi calculator, și du-te through-- spune Am fost la calculator, cum mi-ar urma aceasta pentru buclă prin intermediul? Cum ar variabile mele în buclă pentru schimbare? Deci, o faci pe hârtie face ea de 10 ori mai ușor atunci când te duci să stai jos la calculator. Deci, doar mica mea dop. SHARON: Și, de asemenea, nu cred că te Trebuie să coda totul dintr-o dată. Asigurați-vă că vă luați un proces iterativ. Face un pic, print l, vezi ce se întâmplă. Uneori este un proces pic și de eroare. Și să vină la ore de birou. Super-distractiv. JASON Hirschhorn: Deci orice intrebari? Toate tipi dreapta, care a fost prima ta secțiune. HANNAH: Multumesc ca ai venit. JASON Hirschhorn: Mulțumesc pentru vin. SHARON: Mulțumesc. [Aplauze]