>> JASON HIRSCHHORN: Welkom.
Dus gewoon een paar aankondigingen voordat we beginnen.
Dus delen, iedereen moet hebben al coupes.
Secties loopt normaal van zondag tot dinsdag.
Dus jullie moeten je opdrachten te krijgen.
En dan denk ik volgende week zult u met uw werkelijke TFs.
Dus als je vragen hebt, of problemen, of je vergeten bent om sectie.
Sommige mensen dat doen.
Laat het ons weten.
Stuur ons een e-mail op de hoofden.
>> Vervolgens uren op kantoor.
We begonnen kantooruren vorige week.
Spreekuur elke week.
Maandag is in Leverett 8:00-11:00.
Dinsdag in de quad, dus Cabot 8:00-11:00.
Woensdag Mather 8:30-11:30.
En donderdag Annenberg 8:00-11:00.
>> Dus Scratch, een heleboel mensen do kantooruren niet nodig
hulp voor Scratch, die is helemaal prima.
Als je dat doet, dat is absoluut prima.
Maar in de toekomst, het probleem sets, krijgen ze veel moeilijker.
Dus dit gaat om uw vriend te zijn.
Zeker naar de kantooruren.
Plan gaat kantooruren.
Wanneer je naar probleem set vier, vijf, zes, zeven,
je moet naar de kantooruren.
Dat is waar veel van de hulp en het werk wordt gedaan.
>> Ik denk dat vorig jaar, net voor Bijvoorbeeld, op donderdag nacht--
dus ik denk dat het probleem sets te wijten waren op vrijdag.
Dus donderdagavond, zouden we hebben 200, 250 studenten aan kantooruren.
Dus zeker gebruik van deze te maken.
Dit zijn je beste vrienden.
Als dit is waar als je geplakt op een probleem set,
dit is waar je waarschijnlijk hulp krijgt.
Dus kantooruren.
OK dus die zijn mededelingen.
Aankondigingen zijn gedaan, dus laten we beginnen.
>> OK, het apparaat.
Wist iedereen te downloaden Nog het apparaat?
Nee
Zoals in zo.
Ik soort gedownload van het apparaat.
Rechts, zodat het apparaat is nieuw dit jaar, dus we zijn waarschijnlijk
gaat een aantal bugs in hebben.
Zo kunt u deze downloaden zo vroeg mogelijk.
Dus probleem set men gaat vertellen u precies hoe het te downloaden.
Aan de slag hier installeren.
Het zal u vertellen hoe het apparaat te downloaden.
>> Dus zeker het downloaden van de apparaat eerder vroeger dan later.
Instructies zijn in het P set spec.
Dus als je wacht tot woensdag 's nachts, en dan heb je problemen hebt,
en u ons een e-mail te sturen aan middernacht op woensdagavond
dat je niet kunt downloaden Het apparaat, dat is
niet een legit reden voor een uitbreiding.
Je moet het nu doen, en je zult moeite hebben.
Ik heb geprobeerd om het te downloaden gisteravond.
Ik liep in een beetje moeite.
Als je in de problemen installeren, zeker
hit retry, want ik raakte gewoon opnieuw proberen een paar keer, en uiteindelijk het werkte,
die geen maakt zin, maar het doet.
Dus zeker opnieuw proberen, maar als je komen tegen een bakstenen muur,
stuur ons een e-mail op de hoofden, en we zullen zijn meer dan blij om u te helpen jongens.
What's up?
>> STUDENT: Even een vraag.
Als ze controleren stijl, er is een deel dat zegt dat we dit niet bevatten.
JASON HIRSCHHORN: Nog niet.
STUDENT: Het zegt het uitvoeren.
Hoe doe je dat uit te voeren om zorg ervoor dat het in uw systeem?
>> JASON HIRSCHHORN: Je bent ga een bash commando.
Ik zal over die later gaan.
Cool.
Zodat het apparaat kan een beetje intimiderend,
omdat je gewend bent aan soort uitgevoerd in grafische user interface.
Scratch dus een grafische gebruikersinterface -interface, dus wat moet ik daarmee?
Wat ik bedoel is dat als je het programmeren,
je bent in principe met behulp van blokken code.
U kunt de code te zien en dat soort dingen.
>> Het apparaat, je gaat doen dingen in een command line omgeving.
En dus voor de rest van uw programmering leven,
je gaat dingen te doen in de command line omgeving.
Dus het is goed om te springen in het begin van en nog wat ervaring.
Dus laten we het doen.
Dus dat is Rob.
>> OK, dus laten we gewoon springen in command line spul.
Dit is dus het apparaat.
Kan iemand mij vertellen waarom we een apparaat gebruiken?
Wat is het apparaat?
Weet iemand?
What's up?
>> STUDENT: Het is gewoon een virtuele machine dat u uw machine te laten draaien, zodat u
kan over de OS te krijgen meningsverschillen tussen Mac en PC.
JASON HIRSCHHORN: Perfect.
STUDENT: Het is een universeel sjabloon.
JASON HIRSCHHORN: Ja, het is als een universeel sjabloon.
Dat is perfect.
Dus ja, het is een virtuele machine.
Dus het is eigenlijk een besturingssysteem.
Dit is een besturingssysteem.
Dit komt overeen met uw Mac of je PC, of ​​je Linux.
Dit is precies hetzelfde.
En dus kun je vergelijkbare dingen doen.
Als je wilde, kon je online gaan bijvoorbeeld.
Je kunt niet echt zien, maar hier, Google Chrome.
U kunt online gaan als je wilt.
Dit is een besturingssysteem.
En de reden waarom doen we dat komt omdat het is veel makkelijker als we uitdelen
instructies en alles.
Als het is gewoon een uniforme omgeving, het is veel makkelijker voor ons,
en het is veel gemakkelijker voor u.
Je bent niet van plan te lopen in het uit te voeren in een eigenaardigheden
als je het programmeren.
We weten precies wat je gaat tegenkomen.
Dus het apparaat is hier.
>> Dus als je begint programmering, je bent
ga naar beneden naar de linker bovenhoek.
Er is een kleine doos.
Je gaat er op klikt.
Dit is uw terminal venster.
Dus dit is waar je naartoe gaat om veel van het semester zijn.
Dus laat me in een klein beetje te zoomen.
>> OK, zodat je rond een terminal window is een beetje anders.
Ten eerste is er geen pictogrammen.
Ik kan niet op om het even wat.
Er valt niets te klikken.
Dus je hebt om erachter te komen een manier om erachter te komen waar je bent, wat is hier,
en hoe om te bewegen.
>> Dus de twee meest nuttige commando waarschijnlijk worden ls-- dus wat denk je ls doet?
>> STUDENT: List.
JASON HIRSCHHORN: Lijsten, ja.
Het bevat slechts algoritmen binnen de directory.
En dan cd.
Dus laten we zeggen dat ik wilde cd CS50, wat deed dat?
Yeah?
>> STUDENT: Verandert uw directory.
JASON HIRSCHHORN: Perfect, ja.
Het verandert alleen de directory.
Dus laten we terug te gaan.
Dus hoe kan ik teruggaan?
Dus laten we zeggen dat ik wilde gaan terug naar de vorige map.
Ja zeker.
>> STUDENT: Ik denk dat je schrijft cd gewoon zonder iets.
JASON HIRSCHHORN: Je kan dat doen.
Zo perfect.
Dus als ik schrijf cd, dit is eigenlijk gaat me pop
een back-up naar de home directory.
Zo zie je deze tilde, dat gaat me pop
weg terug naar de plaats waar de tilde is.
Dus het gaat me pop-up Terug naar de home directory.
Maar laten we zeggen dat ik zoiets als dit.
Laten we zeggen cd CS50.
weer ls.
Ik heb andere dingen. cd super sectie.
cd-bestand, dus ik ga diep.
En dan laten we zeggen dat ik wil gewoon pop terug naar de top.
cd.
Laten we zeggen dat ik niet wil om dat te doen.
Laten we zeggen dat ik wil gewoon terug opduiken om de map die recht boven me.
Hoe doe ik dat?
Dus laten we zeggen cd CS50.
cd supersection.
Dus laten we dat ik hier ben.
Laten we zeggen dat ik wil gewoon om pop-up een keer.
Hoe doe ik dat?
Ja, wat is er?
>> STUDENT: Je typt gewoon cd supersection opnieuw.
>> JASON HIRSCHHORN: Je zou dat doen.
Nou ik ben in supersection.
>> STUDENT: Oh, de vorige.
>> JASON HIRSCHHORN: Yeah, dus je zou kunnen doen.
Je doet cd ~ CS50.
Dus als je hier, deze look is je pad hier.
Dat is je pad.
Dus je kon serieus ga gewoon cd ~ / CS50.
Boom, je bent er.
Wat is een eenvoudiger manier om het wel te doen?
Dat was volkomen juist, maar wat is een iets eenvoudigere manier
om het te doen, omdat veel keren dat je gaat
in mappen te springen, springen uit directories.
Dus laten we terug te gaan.
cd supersection.
Dus laten we zeggen dat ik wil weer echt snel.
U kunt iets als cd dot dot doen.
Dat gaat knallen u een back-up echt snel.
Dus cd supersection.
cd bestanden.
Laten we zeggen dat ik hier ben.
By the way, duidelijk is, is goed, omdat mijn raam werd steeds een beetje rommelig.
Dus ls, dus ik wil niet zijn hier niet meer. cd dot dot.
Neem me met één locatie.
Cd dot dot kost me een up.
Cd dot dot en terug naar mijn huis.
>> OK, dus cd, ls.
Waarschijnlijk de meest belangrijke dingen, want je bent
gaat nodig hebben om te weten waar je bent.
ls zal u vertellen waar je bent, en cd
is hoe je gaat om rond te springen.
>> U kunt ook een aantal andere leuke dingen doen.
Dus bijvoorbeeld ls.
ls is gewoon om te laten zien de mappen in uw bestand.
Het is ook van plan om u te laten zien van de bestanden.
Maar het gaat gewoon om je laten zien wat er is.
>> Als je iets wilde een beetje meer cool,
en je gaat eigenlijk doen dit in een paar weken. ls dash l.
Dat drukt een weinig meer informatie.
Kan iemand raden aan de linker kant kant de drwx, rwx en dat soort dingen.
Heeft iemand een idee wat dat zou kunnen betekenen?
>> STUDENT: Machtigingen.
>> JASON HIRSCHHORN: Ja, perfect.
Machtigingen.
Dus je gaat te maken met dit
als je dat doet web programmeren later.
Als je ooit online bent gegaan, en je hebt geklikt op een afbeelding
of geklikt op een veld, en het zei permission--
zoals toestemming niet toegestaan, of zoals toestemming niet verleend, of wat dan ook,
dat komt omdat wanneer ze programmeren, ze
hebben deze machtigingen niet ingesteld om u te laten doen.
Dus waar dat vandaan komt.
>> OK, dus dat is cool.
Dus sprongen we rond.
We kunnen kijken naar dingen in onze directory.
Maar hoe maken we spullen?
Ik heb hier kwam directories.
Dat is geweldig.
Hoe maak ik een nieuwe map?
Zeggen ik wil een nieuwe maken directory voor nu.
U kunt iets doen als dit, mkdir.
Dus zorg directory.
Dus wat wil je noem deze map?
STUDENT: Awesome.
JASON HIRSCHHORN: Awesome.
Ik hou ervan.
Maak directory geweldig.
En daar ga je.
Dus hebben we een lijst nodig hebben.
U heeft een nieuwe directory.
En je kan zeggen dat het een directory in uw apparaat
want het heeft deze kleur, toch?
Dus het is als een blauwachtige paars of wat dan ook.
Dus laten we veranderen.
Laten we veranderen directory.
Laten we naar directory-- ja, wat is er?
STUDENT: Is er een lijst van al deze [onverstaanbaar] online?
JASON HIRSCHHORN: Ja, ik zal zetten ze on-- we dia's zult hebben.
Het zal een PDF zijn.
We zullen ze opgemaakt voor iedereen.
Ja, sorry het is een hoop commando's.
als je wilt dat ik te vertragen, of ga terug, of iets dergelijks,
zeker laat het me weten.
Het is een stuk naar rechts weg te absorberen.
What's up?
STUDENT: Mag ik vragen een potentieel domme vraag?
JASON HIRSCHHORN: Er is geen domme vragen.
STUDENT: Er zijn.
Een directory is gewoon op zoek op informatie waar u het opslaat.
>> JASON HIRSCHHORN: Yeah.
>> STUDENT: Is dat in wezen wat je doet?
Dus als we iets maken, hallo wereld of wat dan ook,
het is opgeslagen in het telefoonboek, ja?
>> JASON HIRSCHHORN: Yeah.
>> STUDENT: Is dat geldt voor alles.
Alles wordt opgeslagen in de directory.
>> JASON HIRSCHHORN: Yeah.
Wanneer u het te maken, welke map je zit,
het gaat om in principe sla het op in die map.
STUDENT: En als we noemen het, we zijn het bellen vanuit het telefoonboek.
>> JASON HIRSCHHORN: Ja, dus de directory is waar het es.
Dus het is net zoiets als wanneer je een nieuwe map op je bureaublad
en dan een tekst te schrijven die u bestand, zet het in die map,
dat bestand is in die map.
Heeft dat zin?
>> STUDENT: Ja.
>> JASON HIRSCHHORN: Ja, wat is er?
>> STUDENT: Mag ik je vragen gewoon om maken het een beetje groter?
>> JASON HIRSCHHORN: Oh, ja.
Sorry.
De projector is zo slecht.
We hadden zo veel moeite deze eerder.
Is dat beter?
Is dat te groot?
>> STUDENT: Nee, nee het is niet.
>> JASON HIRSCHHORN: Nee, het is het niet.
Is het te klein?
What's up?
>> STUDENT: Het spijt me, wat is er de opdracht voor het opruimen?
>> JASON HIRSCHHORN: Oh, duidelijk.
Als u wilt, gewoon wissen typt duidelijk. duidelijk te voeren.
Op het laatste toestel, wat het eigenlijk doet,
het niet uw gegevens te wissen, het gewoon een soort van verschuiving alles
een scherm naar beneden.
Dus als je getypt van Clear voor Zo laten we zeggen dat ik scrollen.
Ik kan scrollen.
Dit is alles wat ik deed.
Maar als ik typ duidelijk, en dan Ik blader omhoog, hier is mijn spul.
Dus het is niet te wissen, het is gewoon principe waardoor u een nieuw frame.
>> STUDENT: Hoe doe je [Onverstaanbaar] een directory?
>> JASON HIRSCHHORN: We komen er wel.
>> [Lachen]
Langzaam je roll.
Prima.
OK, dus dus we zijn in een directory nu.
Dus David, ik denk in collegezaal hij deed wat coole dingen.
Dus laten we een programma schrijven.
Dus je kunt dat een doen aantal verschillende manieren.
U kunt elke vorm van tekst-editor te gebruiken.
U kunt Nano gebruiken, u kan Vim, Emacs gebruiken.
Die zijn iets gecompliceerder.
Of je kunt iets in gebruik hier heet dat gedit.
Sorry.
gedit is niet gelukkig.
Dus gedit is in principe gewoon een teksteditor.
Net zoals ik tekstbewerking woord processor of iets dergelijks.
Dus het heeft een aardige interface van dit gewoon graag.
Dus je zoiets doen.
Dus eigenlijk laat me het te noemen, omdat ik nooit gedaan.
>> Dus wat wil je noem ons eerste programma?
Het gaat gewoon om hallo te zeggen.
>> STUDENT: [onverstaanbaar].
>> JASON HIRSCHHORN: U gebrek aan verbeelding.
OK, gedit.
Hi.
Ik ga .txt doen.
OK, dus hier is het.
Dus laten we een programma schrijven.
Dus ik denk dat u dit zag in collegezaal.
U hebt een belangrijke functie.
Boop.
Dus dit is gewoon een hoofdfunctie.
Groter?
Ja, sorry.
OK dus je moet een belangrijke functie nodig.
Ik denk dat ik te springen het pistool een beetje,
maar het is nooit slecht om te krijgen gebruikt om dit soort dingen.
>> Dus een belangrijke functie, elke C-programma dat je
gaat schrijven voor de rest van deze Natuurlijk zal een belangrijke functie hebben.
Weet iemand waarom?
What's up?
>> STUDENT: Start.
>> JASON HIRSCHHORN: Precies, dus het vertelt het programma waar te beginnen.
Dus als je niet een van de belangrijkste functie hebben, en je dit en dat soort dingen te compileren,
het gaat niet om te weten waren om te beginnen.
Belangrijkste is altijd waar het begint.
Dus je hebt een belangrijke functie, en vervolgens heeft iemand nog hoe om af te drukken?
>> STUDENT: printf.
JASON HIRSCHHORN: Ja, printf.
printf hi.
OK, nu heb ik ingesteld jullie up om te falen, maar zal dit samen te stellen.
>> STUDENT: No.
>> JASON HIRSCHHORN: Waarom?
Er is meerdere redenen waarom.
Tuurlijk.
>> STUDENT: Het hoeft niet de standaard [onverstaanbaar].
>> JASON HIRSCHHORN: Perfect.
Dus wat is dit hier opgeroepen?
>> STUDENT: [onverstaanbaar]
>> JASON HIRSCHHORN: Het is een header file, toch?
Het is een header file.
En je hebt helemaal gelijk.
Jullie allebei gelijk hebben.
Dus om onder meer dat, ik heb net pond doen zijn standaard input output .h.
Ben ik goed om nu te gaan?
Zou dit te compileren?
>> STUDENT: No.
JASON HIRSCHHORN: Waarom niet?
STUDENT: Het is een [onverstaanbaar] tekst.
JASON HIRSCHHORN: Ja, geweldig.
Dus ik maakte het.
Dus ik gered, maar gedit hi.txt.
Dus nu als ik ls doen, hier is het.
Hier.
Oh, het is niet in de ontzagwekkende.
Ik moet zijn gegaan.
Oh, perfect.
Hoe zetten we deze in geweldig?
Dus ik wil niet dat het hier in mijn huis directory met al het andere.
Ik wil het in de map te plaatsen.
Hoe doe ik dat?
>> Niet te hard.
Bewegen.
Dus we hebben al ls, lijst geleerd.
cd naar directories veranderen.
cd dot dot tegen het lijf van directories.
En nu gaan we naar beginnen bewegen bestanden.
Dus om gewoon bewegen bewegen hi.txt, en Ik ga het in de ontzagwekkende zetten.
>> Gewoon voorzichtig zijn.
Wanneer je aan het schrijven bent in de command line, alles zaken.
Dus hoofdletters zaken.
Als ik had gedaan kleine letter a, het is niet van plan om te weten wat er gaande is.
Dus alles zaken zeer specifiek te zijn.
>> Loopt alzo, dat ls.
Het is niet meer hier.
Laten directory veranderen in geweldig.
ls.
Boom, het is er.
En iemand genoemd waarom dit zou niet compileren.
Waarom is niet van plan om opnieuw te compileren?
Yeah?
>> STUDENT: Het is niet in een .c.
>> JASON HIRSCHHORN: Perfect.
Het is niet een .c, s dus hoe ben ik gaan om het te hernoemen naar een .c?
Wat is een makkelijke manier om het te doen?
Laten we gebruik maken van de commando's die we net gedaan.
Dus we gaan gewoon bewegen hi.txt naar hi.c.
ls hi.c.
En dan gewoon voor de lol, laten we gewoon springen in dit echt snel.
hi.c.
U zult merken dat het mooi en kleurrijk.
Dus dit zijn gewoon een soort van nuttig kleuren als je het programmeren.
Dus de int en de leegte, dat zijn data types.
We gaan op die in een seconde.
Hi is een string.
Maar nuttig kleuren.
Dus als je ooit per ongeluk kiezen voor de verkeerde extensie,
je moet hebben deze kleuren.
What's up?
>> STUDENT: Hoe kan ik kopiëren naar een file [onverstaanbaar] in een ander bestand?
JASON HIRSCHHORN: Oh, ik ben ga je laten zien dat ook.
Dus kopiëren verwijderen zijn op de kade.
Laten we dit.
Zorg ervoor dat het werkt.
Maak hi.
Works, voer het uit.
Dus ./hi geweldig.
Dat is uw eerste programma.
Laat ik het groter maken.
Dus een echt goed-- Ja, wat is er?
STUDENT: Waarom zou het dat wanneer ik gedit,
het maakt me niet een ander geven lijn voor gedit hi.txt?
Het zet alleen maar de cursor naar een lijn.
STUDENT: Ja.
De [onverstaanbaar].
>> JASON HIRSCHHORN: Wacht, dus dat nog eens zeggen.
>> STUDENT: Als ik typ gedit, de eerste keer, de eerste line--
JASON HIRSCHHORN: Up daar aan de top?
STUDENT: Heeft geen J Harvard apparaat, en de cursor
ligt helemaal naar links.
JASON HIRSCHHORN: Alle de weg naar links?
STUDENT: Ja.
Heeft iemand anders dat?
>> JASON HIRSCHHORN: Oh, nou J Harvard is net als de gebruikersnaam.
Dus dat is gewoon de standaard gebruikersnaam.
>> STUDENT: Het reageert.
JASON HIRSCHHORN: Oh, het reageert niet meer.
OK, dus wat je hoeft te doen is je hoeft te sluiten van gedit.
Zo dicht uit gedit, en het moet terugkeren.
Dus is gedit open op uw apparaat op dit moment?
Als je afsluit van te maken, het hoort retourneren en je moet goed om te gaan.
Deed dat werk?
>> STUDENT: Dus heb je gebruikt de gedit commando om open--
JASON HIRSCHHORN: Nee, de eerste gedit opdracht was een vergissing.
De eerste gedit commando, Ik gedit hi.txt doen.
Dus ik geef het een naam, dus gedit hi.txt.
hi.txt is de naam van het bestand.
De eerste was gewoon een fout, en dan
Ik snel sloot uit van het programma.
Dus de vraag was als ik gedit doen, ik ben niet
zal in staat zijn om echt te doen iets anders in mijn command line
totdat ik sluit dat gedit, dus ik denk dat dat is wat ze tegenkwamen.
Dus sluit het gedit.
Het zal terugkeren uit die programma, en dan zul je
in staat zijn om daadwerkelijk te typen in de opdrachtregel weer.
Is dat goed?
Dope.
Dus zorg ervoor om te sluiten dat als je in de problemen.
>> OK, dus een echt goede vraag een seconde geleden was het kopiëren.
Dus nu heb ik hi.c.
Maar laten we zeggen dat ik wil om het te veranderen.
Ik wil dat het iets beter te zijn.
Ik wil hi klasse zeggen.
Maar ik wil dit sjabloon te houden.
Ik hoef niet te herschrijven het hele programma opnieuw.
Ik wil de template te houden.
Hoe kopieer ik?
>> Eenvoudig.
Dus cp hi.c newhi.c.
Nu heb ik twee.
En dan kan ik openstellen newhi.c, en in plaats van gewoon te zeggen hi,
Ik zal zeggen hi klasse!
Dus ik ga terug.
Verlaten uit.
Ga terug naar mijn command line.
ls maken newhi.
Voer het uit.
Er.
Het is beter, veel beter.
Dus als je iets wilt kopiëren, makkelijk als dat. cp is tegen kopiëren.
>> Dus we hebben laten zien in beweging, het maken van mappen, kopiëren.
Laten we eens kijken wat er nog meer moet ik gaan dan?
Oh, ja.
Laten we gaan over dit.
Dus dit was geweldig.
Laten we zeggen dat ik wilde to-- oh wacht.
Ik ga terug naar geweldig.
>> Laten we zeggen dat ik niet wil deze bestanden hier.
Laten we zeggen dat ik wil dat ze in een nieuwe directory als in de directory geweldig.
Ik wil beginnen met het organiseren, dus nu ga ik
om een ​​nieuwe map genaamd hi hebben.
Het heeft alle programma's Ik schrijf riep hi.
Dus hoe kunnen we dat doen?
>> STUDENT: Change directory.
>> JASON HIRSCHHORN: Yeah.
hi.
Boop.
mkdir hi_dir.
Hij klaagde omdat ik al een hi gehad in hier.
Dus nu heb ik een hi-map.
Dus nu wil ik alles bewegen, alle programma's die ik schreef,
Ik wil ze verplaatsen in de hi-map.
Gewoon schoon stuff up.
Hoe doe ik dat?
>> STUDENT: [onverstaanbaar].
>> JASON HIRSCHHORN: Moving, toch?
Dus laten we verder gaan.
Yeah?
>> STUDENT: Wat is het verschil tussen hi en hi.c die we al hebben.
JASON HIRSCHHORN: Oh, hi.c is het eigenlijke.
Dus dat is het bestand dat je hebt geschreven.
Dus als je zou gaan open het in gedit of Nano,
dat is wat je aan het typen bent in.
Wanneer u het te compileren, dan je krijgt een uitvoerbaar bestand.
Dat is hi.
Dus als je opengesteld hi, dat gaat om een ​​bos van wartaal voor u zijn.
Het is eigenlijk gaat worden bos van computer instructies.
What's up?
>> STUDENT: Wat betekenen alle kleuren?
De blauwe is waarschijnlijk directory.
Wat is geel?
>> JASON HIRSCHHORN: Degenen zijn de uitvoerbare bestanden.
Dus toen ik maakte hi.c, het gaf mij-- zodat ik het kan doen.
Springen het pistool.
Dus verwijder hi ja.
Dus laten we dan doen ls.
Ik heb geen hi meer.
Dus als je te maken, dat is wanneer je neem het programma dat u schreef
en je een uitvoerbaar bestand te maken.
Dus zorg hi.c-- goed, maken hi.
Ik denk dat hij ging dit in collegezaal.
>> Dit zijn stelletje compiler instructies.
Dus in plaats van dat hij daadwerkelijk schrijf clang met al deze.
Deze vlaggen.
Je schrijft gewoon maken.
Dus dit maakt de uitvoerbare bestanden.
Dus als je ls doen, nu heb je hi.
Dus dit is wat je bent naar daadwerkelijk draaien.
En dus dat wordt beheerd door het doen van ./hi, en het loopt uw ​​programma.
Maar als ik probeer om dat te doen met hi.c, nee, het gaat niet werken.
Yeah, Is dat zinvol?
>> STUDENT: Mm-hm.
>> JASON HIRSCHHORN: Cool.
Wacht, ik wilde iets anders te zeggen.
Gewoon echt snel, in het geval iemand geïnteresseerd is,
wanneer je springt uit een directory, het is de dot dot.
Heeft iemand een idee van wat misschien gewoon het enkelvoud dot betekent?
STUDENT: [onverstaanbaar].
JASON HIRSCHHORN: Het is eigenlijk de huidige directory.
Dus het is uw huidige directory.
Dus ik ben hier.
Ik ben in de ontzagwekkende.
Als ik dat doe cd stip, doet het niets.
Het brengt me naar mijn huidige directory.
Dus een beetje overbodig, maar je hebt om dat te doen, dus ./ uw programma naam,
om te draaien uw programma, moet je dat doen.
OK.
>> STUDENT: Als u cd dot dot dot echter veel punten
het duurt alleen je up dat veel directories?
>> JASON HIRSCHHORN: Je bedoelt zoals cd dot dot dot dot?
STUDENT: Ja.
JASON HIRSCHHORN: No.
Dus eigenlijk Vergeet ik ls-l?
Als ik iets anders doen, kan ik -a ls.
Dus wat dit zegt -a is laat je alles.
Het laat zien zodat je dingen die verborgen en dingen die niet verborgen zijn.
Dus als je merkt dat toen ik dat deed net ls, Ik zag net dat spul,
de dingen die ik maakte.
Als ik dat doe -a, het gaat om me alles laten zien.
En zo de huidige directory, directory erboven.
Heeft dat zin?
Yeah?
>> STUDENT: Maar dat zijn niet eigenlijk in de directory.
De huidige directory is op zichzelf, dus waarom die met stippen binnenkant laten zien?
>> JASON HIRSCHHORN: Bedoel je dat het alsof het niet in de gids.
>> STUDENT: Right.
Dus hebben we een lijst van dingen die zich in de directory.
>> JASON HIRSCHHORN: Ik denk dat het is in de directory.
Net als -a toont alles, zelfs indien het is verborgen in de directory.
Dus ik denk dat het gewoon een route naar de huidige directory als dat zinvol is.
Het is een beetje recursieve.
Het is net als Inception.
What's up?
>> STUDENT: Dus je zegt -a shows [onverstaanbaar]?
JASON HIRSCHHORN: -a, ja.
>> STUDENT: Wat maakt het [onverstaanbaar]?
JASON HIRSCHHORN: Nou, bijvoorbeeld, Laten we terug gaan naar de top.
Het is meestal dingen die je niet moet knoeien met en je hoeft geen zorgen te maken over.
Dus dit is een soort van het huis.
Als ik -a doe, krijg ik heel veel dingen.
Al dat spul.
En je hoeft niet te knoeien met een van die dingen.
Zeker niet beginnen gaan in hier en gewoon spul te verwijderen.
>> [Lachen]
>> Ja, dit was een beetje meer zacht en comfortabel materiaal, maar het is goed om te weten.
Ik vind het goed om te weten.
Maar als je nooit meer wilt -a typen in het geheel van deze cursus,
gewoon vergeten.
What's up?
>> STUDENT: Wat is de ls-l?
JASON HIRSCHHORN: Dat toont u machtigingen.
In principe heb je dat gebruiken voor toestemmingen, dus -l.
Het toont u een beetje beetje meer informatie,
maar nogmaals, dit is een beetje wat meer zacht en comfortabel materiaal.
Dit zijn slechts permissies.
Dus de machtigingen van de mappen.
Dus gewoon bijvoorbeeld, laten we zeggen dat ik een map, zodat de d vertegenwoordigt directory.
Dus dat zijn directories.
En dan lezen, schrijven, uitvoeren.
Dus dat zijn rechten voor Ik denk dat de gebruiker, groep, wereld.
Totally gaat te ver.
Je gaat om te gaan in deze trant weken vanaf nu, maar gewoon zo u weet,
dat zijn rechten.
What's up?
STUDENT: Kan je duidelijke plaats gewoon doorgaan naar het volgende ding, kan u--
JASON HIRSCHHORN: U bedoel eigenlijk verwijderen?
Ik weet het niet.
Ik nooit doen.
Waarom zou je dat willen doen?
Waarom zou je dat doen?
Ik vind het leuk.
U woont aan de rand.
Je bent net als ik geen enkele van deze wensen.
Dat is intens.
STUDENT: [onverstaanbaar].
JASON HIRSCHHORN: Ja, we kunnen dat doen.
Sorry, het knoeien met de grootte is helemaal freaking me out nu.
Laten we gaan.
Ja, dus nu kan ik niet meer omhoog gaan.
Dus alles wat ik geleerd je wordt altijd weg.
Dank u.
We maakten onze directories.
We maakten onze bestanden en dat soort dingen dat, dus we hebben nog al dat spul.
OK, ik zal snel gaan.
>> Dus echt snel.
Dus laten we zeggen dat ik in de ontzagwekkende.
Laten we zeggen dat ik wilde verhuizen alles naar de nieuwe map
want ik wil gewoon om het te organiseren, toch?
Dus hoe zou ik dat doen.
Bewegen.
We gaan weer in beweging te gebruiken.
Dus bewegen hi.c.
En wat je kunt doen is u beginnen met het aanbieden stuff,
en het laatste wat je lijst is waar het gaat om het te verplaatsen.
Dus bewegen hi.c, hi newhi newhi.c, hi_dir.
En zo verhuisde alles naar het laatste wat je vermeld.
Dus dan veranderen directory, hi_dir ls.
Alles wat er in zit.
Dus het is leuk en meer georganiseerd.
>> OK, laten we zeggen dat ik een hekel aan mijn originele hi-programma.
Ik wil om zich te ontdoen van te krijgen.
Hoe kan ik te ontdoen van het?
What's up?
>> STUDENT: [onverstaanbaar].
JASON HIRSCHHORN: Laten we zeggen dat ik gewoon het programma wilt verwijderen, dus gewoon hi.
Nee, je hebt gelijk.
Dus het is rm, maar u rm hi doen.
Het zal u een kleine waarschuwing geven.
Het zal zeggen bent u zeker dat u dit wilt verwijderen, en ja ik doe.
Als u niet wilt worden gevraagd als dat
omdat je geen tijd hebt voor waarschuwingen, verwijder -f.
Dit is een andere vlag.
Het is net als de -l.
Het is net als de -a.
Dit zijn slechts vlaggen die je geeft aan deze opdrachten.
Dus verwijder -f.
-f f betekent kracht.
Dus forceren.
Ik wil niet te worden gevraagd.
Dus verwijder -f.
Laten we het doen hi.c.
Net verlost van het.
Het heeft me niet verteld.
>> Maar laten we zeggen dat in plaats daarvan ben ik gedaan met deze map.
Ik wil om zich te ontdoen van de directory te krijgen.
Dus ik verwijder hi_dir.
Nee, dat werkt niet.
Nee, zo zal het niet laten me een directory te verwijderen.
Heeft iemand een idee?
>> STUDENT: Is het dir verwijderen?
JASON HIRSCHHORN: Dus verwijderen als dit?
>> STUDENT: No.
Gewoon de [onverstaanbaar].
JASON HIRSCHHORN: Nee, op dit moment is er geen hi.
Er is gewoon hi_dir.
Dus dit is de map.
Dus eigenlijk wat je wilt doen is-- oh, heb je een idee?
Ik zie eruit als een half hand.
>> STUDENT: [onverstaanbaar].
JASON HIRSCHHORN: OK.
>> STUDENT: [onverstaanbaar].
>> JASON HIRSCHHORN: OK.
Dus als ik wil verwijderen een directory, verwijdert -r.
Dat is recursief.
Dus verwijder die map recursief.
Dus ik wil dat je naar die map te gaan, Verwijder alles wat in de gids,
en dan te ontdoen van de directory.
En dan ga ik naar f als goed, omdat ik
wil niet dat het voor mij snel met waarschuwingen nadat het elk bestand verwijdert.
Dus verwijder rf hi_dir.
Boom, is het weg.
Wees voorzichtig waar je die gebruiken.
Ik ga om het te gebruiken hier ook. rf geweldig.
Het is gegaan.
Wees voorzichtig waar je die gebruiken.
Als je dat hier gebruiken en typ iets als dit, niet ooit dat doen.
Dat zal alles te wissen op uw toestel zonder je ooit te waarschuwen.
En ik heb dat gedaan.
Grading probleem stelt op 04:00, ik was proberen te verwijderen probleem set directories,
en ik deed dit.
En ik was als oh my god.
Niet doen-- Ik heb geprobeerd om het te annuleren.
U kunt annuleren.
Command C gewoon annuleert alles, maar heb ik al verwijderd als 75%.
Dus heb ik het verpest.
En mensen die doen.
Iedereen doet dit.
Doe dit niet al is dit semester.
Het zuigt.
Ik ben nerveus dat het hier.
Ik ga om het te verwijderen.
>> [Lachen]
Kun je je voorstellen?
OK, vragen.
Ja?
>> STUDENT: Dus als we er alles aan doen je hier doet, is dit de zelfde
als gewoon gaan in feite Bestand Opslaan als [onverstaanbaar].
JASON HIRSCHHORN: Oh, bedoel je via gedit.
STUDENT: Ja.
JASON HIRSCHHORN: Ja het is.
gedit is nuttig.
Dus gedit is zeer nuttig.
In deze klasse, kunt u een doen heleboel dingen door gedit.
U kunt opslaan.
U kunt hernoemen.
U kunt bestanden en dat soort dingen te verplaatsen als dat, maar gewoon eerlijk als je naar 50--
goed je bent in 50-- 51, als je naar tot 61, dit gaat om je leven.
Dit is de command line.
Dit is waar u zult programmeren voor de rest van je leven,
dus zeker gebruik gedit als je wilt.
Zeker een goede manier om te beginnen.
Voor het eerste probleem stelt, zeker gebruiken, maar elke keer in een tijdje
proberen om meer gebruikte comfortabeler te krijgen met command line argumenten.
Maar je kunt, zeker.
What's up?
>> STUDENT: Dus als we willen verwijderen een van de bestanden die we hebben gemaakt,
zijn er twee manieren. [Onverstaanbaar].
Is er een manier waarop je bent het verwijderen van een directory
om te vragen om prompt zodat u uiteindelijk niet worden verwijderd?
JASON HIRSCHHORN: rm -r.
Dus niet forceren.
Dus rm -r.
Het gaat om te gaan door recursief, alles verwijderen, wordt u gevraagd
na alles, wat rijdt u noten.
Zoals ik bijna uitsluitend rm doen -f en rm-rf, gewoon constant.
Ik ben net als ik heb geen tijd.
Ik ben een druk bezet man.
Oké, wat is er?
Yeah.
>> STUDENT: Is er een undo, of een vuilnisbak, of iets dergelijks?
JASON HIRSCHHORN: No.
[Lachen]
Ik terug kon gaan en mijn apparaat dat ik net verwijderd, nee.
Nee, nee, nee.
Als je rm doen, dient te worden gegaan.
What's up?
>> STUDENT: Dus je kan [Onverstaanbaar] samen.
JASON HIRSCHHORN: Ja, net als dat.
Dus bijvoorbeeld, zag je de rm-rf.
Laten we zeggen dat ik wil doen ls -la, het toont me
alles, zelfs verborgen dingen met hun rechten.
>> STUDENT: Dus dan r, de -r vlag, als we dat niet hebben,
we kunnen een map niet verwijderen, toch?
>> JASON HIRSCHHORN: Right.
>> STUDENT: Dus dat zegt dat we willen iets met de map te doen?
Is dat wat dat betekent?
>> JASON HIRSCHHORN: -r betekent recursief.
Dus een directory gaat hebben bestanden in het, toch?
Dus wat je wilt doen is dat je wil in die directory te gaan,
verwijder alles, alle bestanden in die map,
pop vervolgens naar buiten en verwijder de werkelijke directory.
Dus de -r betekent recursieve, doe het alle recursief als dat zinvol is.
Yeah.
>> STUDENT: Dus directories hebben [Onverstaanbaar] en gewoon verwijderen.
Of wil je still--
>> JASON HIRSCHHORN: Laten we het proberen.
Dus mkdir leeg.
Verwijder leeg.
Nee
>> STUDENT: Nee, dus je the-- nog moet
>> JASON HIRSCHHORN: Ja, altijd.
Dus -r, rf, leeg.
Awesome.
Meer vragen?
Ik denk dat dat uw crash cursus over command line spul.
Heeft u vragen, want we gaan naar springen over te typen data, en loops,
en al dat spul?
What's up?
>> STUDENT: Ik heb geen CS50 weergegeven als een van mijn directories.
Is dat normaal?
>> JASON HIRSCHHORN: Oh, ja.
Dat is van mij.
Ja, dat is waar mijn oplossingen om uw spullen is.
>> [Lachen]
>> Dus ja, dat is volkomen normaal.
Ik denk dat je waarschijnlijk gewoon deze vier.
Ik denk dat dat normaal zou kunnen zijn.
Yeah.
OK, nog meer vragen?
Ik weet dat was super snel.
What's up?
>> STUDENT: Ik zag het blauw groene kleur.
Wat is dat?
>> JASON HIRSCHHORN: Dat betekent directory.
STUDENT: En deze blauwe?
>> JASON HIRSCHHORN: Oh, bedoel je deze blauwe groen?
>> STUDENT: No.
>> JASON HIRSCHHORN: Dit blauw groen?
>> STUDENT: No.
Wanneer u listed--
JASON HIRSCHHORN: Oh.
Zo?
>> STUDENT: Ja, de pictogrammen.
>> JASON HIRSCHHORN: Oh, dit.
Ik weet het niet.
Wat betekent dat?
Het lijkt zo te zijn wijzend naar een directory.
>> STUDENT: Het ziet er bijna als een alias.
>> JASON HIRSCHHORN: Het zou kunnen zijn.
U hoeft niet te weten dat.
Meer vragen?
Awesome.
Als u vragen heeft, Ik weet dat was een stuk.
Veel van deze informatie zal online zijn.
Ik zal het online te zetten voor jullie.
Sectie B zal online zijn ook.
Of als u vragen hebt, gewoon komen en vraag me.
Hier ga je.
Dus nu Sharon en Hannah zal gaan over een aantal
van de logica achter probleem set één.
>> SHARON: Oh mijn god.
Troubles.
>> HANNAH: In de tussentijd ben ik Hanna.
Dit is Sharon.
We zijn beiden CS50 TFs, en we gaan je geven
een kleine intro op een paar belangrijke dingen voor problemen stellen één.
Alles, van data types om conditionals te lussen.
Lussen in het algemeen.
>> SHARON: En op het einde, we zal een kijkje nemen op P ingesteld één,
en wat je moet weten voor.
Dus laten we beginnen met typen data.
Jullie moeten vertrouwd zijn met de te degenen die zijn blauw gemarkeerd.
Dus we kunnen beginnen met ints.
integers zijn gehele getallen, zodat een, twee, drie, vier. drijvers, drijvende punten.
Zoals integers met decimalen, dus 5.2 of zelfs 5.0.
Chars zijn personages zoals A, B, C. En een string, jullie allemaal weten.
Net als CS50 of hallo en wereld.
>> Bool is een Boolean, dus we hebben waar en onwaar als onze Boolean.
Dus als er iets berekent aan truth-- 5 is gelijk aan 5, dat berekent op true,
en als we 5 is gelijk aan 4, dat is vals, zodat berekent op false.
En hier hebben we de bijbehorende omvang van al deze gegevenstypen.
En je zult moeten weten dit voor uw quizzen,
dus dit kan nuttig zijn herinneren, maar we zullen deze posten.
Eigenlijk zijn ze al gepost.
Dus je moet bekend zijn met degenen blauw gemarkeerd.
>> JASON HIRSCHHORN: Real snel, gewoon in je koffer
het verschil wilt weten tussen een char en een string.
Dus als je aan het schrijven bent stuff, wanneer je zoiets hebt "hi,"
dat gaat om een ​​string zijn.
Dus als er twee citaten, het is een string.
Maar als ik een "h" als dat, dat is een string.
Maar als ik heb maar één citaat, dat is een char.
En dus wat is het verschil dat je zou kunnen vragen.
Nou, het verschil is Dit is een byte geheugen.
Dit is 4 bytes geheugen.
>> SHARON: zweven?
Beschrijf het weer?
OK, het is net zoiets als een aantal dat heeft een decimale punt met het,
dus 5.2 of zelfs 5.0 is een float versus slechts 5 is een int.
STUDENT: [onverstaanbaar].
>> SHARON: Oh, het kan veel hebben cijfers achter de komma, dus 5,675-3,1415.
Ja?
>> STUDENT: Moeten we weten alle maten voor dit?
SHARON: Ja.
STUDENT: [onverstaanbaar].
>> SHARON: U hoeft geen zorgen te maken over de witte gewoon nog niet.
>> HANNAH: De noten zijn gepost op CS50.net/sections.
STUDENT: Gewoon uit nieuwsgierigheid, is er een hulpprogramma
om het kennen van de grootte van de bestanden die je bent bellen zodat we het zouden moeten weten?
>> SHARON: Dit zijn dus de data types, maar ja.
Dus in dit geval, dat men zou nemen meer geheugen of meer ruimte?
>> JASON HIRSCHHORN: So een concreet voorbeeld,
in Ik denk dat probleem set vier of vijf zijn we
ga je een bos geven van data, en je in principe
moeten die gegevens doorkruisen.
Dus het is handig om te weten dat als je zo veel gehele getallen,
dat gaat wat worden.
Dus laten we zeggen dat ik je gaf tien integers, wat is de grootte van die?
STUDENT: 40.
JASON HIRSCHHORN: 40 bytes, rechts.
Dus moet u mogelijk om te weten dat OK, ik moet 40 bytes springen.
Dus laten we zeggen dat in plaats daarvan het is 40 tekens, then-- laten we zeggen dat ik je gaf 10 tekens,
dan weet je, OK, maar ik moet 10 bytes springen.
Dus het is erg handig om de weten grootte van de feitelijke gegevenstypen,
omdat veel keer je zult om de gegevens te springen,
dus je moet weten hoe ver te springen.
>> STUDENT: Wat is het verschil tussen de offertes en een offerte?
>> JASON HIRSCHHORN: OK, twee citaten is een string.
Een citaat is een char.
>> STUDENT: Net als operationeel, wat is het verschil?
Beiden zeggen hi.
JASON HIRSCHHORN: Oh, sorry.
Dit is gewoon h.
Sorry, dit is niet duidelijk.
>> STUDENT: Dus de top een--
JASON HIRSCHHORN: Dit is een string, ja.
Dus het is twee karakters, toch?
String, hi.
Maar laten we zeggen dat ik gewoon had een enkel karakter,
als ik twee aanhalingstekens rond gewoon h, dat is een string.
Dit is een string h.
Heeft dat zin?
Dus dit is vier bytes.
Maar laten we zeggen dat ik verlost van dat een alleen zet één.
Een citaat.
Dit is nu een char een char h.
Dus precies hetzelfde, verschillende data type.
Dit is slechts één byte, terwijl de string was vier bytes.
Yeah.
STUDENT: Dus als je probeert om een ​​woord op te slaan als David,
je zou willen om een ​​string, omdat gebruik ongeacht hoe lang de string is,
het zal slechts vier bytes tenzij het een lange lange
of een dubbele, waarin case-- dus als het reikt verder dan vier tekens, dan
u wilt om het te maken in string.
Is dat de algemene logica achter.
JASON HIRSCHHORN: Als het zich uitstrekt na meer dan een karakter, het is een string.
>> STUDENT: Dus er is geen [onverstaanbaar] om het opslaan van een vier-letter
woord als vier individuele of drie letter woord als drie afzonderlijke tekens
want dat zal slechts drie bytes, in tegenstelling tot de driedelige string.
JASON HIRSCHHORN: Je zou dat doen.
Je zou dat doen, maar ik doe het niet denk dat het echt de moeite waard,
want je bent alleen bespaart één byte.
Weet je wat ik zeg?
In de grote regeling van dingen, dat zal niet echt toe.
Maar bijvoorbeeld printf, indien u afdrukt f en u
hebben drie chars u kunt afdrukken dat out-- laten we zeggen dat je C-A-T,
kunt u kat uitprinten gewoon door het doen van een char een char een char,
of kunt u uitprinten touwtje cat.
Het is precies hetzelfde.
Dus je zou kunnen doen als dat, maar--
>> STUDENT: Het gaat niet om je te redden dat veel.
>> JASON HIRSCHHORN: Yeah.
De hoofdpijn die het zou veroorzaken is het niet waard.
Yeah?
>> STUDENT: Bijvoorbeeld, je had de h met één
versus twee, de enkele of dubbele aanhalingstekens.
Waarom zou u wilt opslaan een enkele letter als een string.
Welk doel dient dat ooit dienen?
JASON HIRSCHHORN: Ik weet het niet.
Ik bedoel, het is echt afhankelijk van het programma.
Bijvoorbeeld, denk ik later Je stapt in command line spul.
Dus bijvoorbeeld, in plaats van mij je vraagt ​​om een ​​integer-- sorry,
kan ik spreek in je?
HANNAH: Ja.
>> JASON HIRSCHHORN: So In plaats
van mij vragen om iets met get end, welke
Ik denk dat je misschien een lezing hebben gezien, er misschien een opdrachtregel.
Je typt het gewoon in op de opdrachtregel.
Het zou hetzelfde zijn als - / hello4 of iets, of helloh h, wat dan ook.
Je doet het op de commandoregel plaats van te worden gevraagd,
dat command line is altijd een koord, of het een vier- of een uur,
dat is altijd een string.
Dus dat is een voorbeeld van wanneer je misschien hebben een bijzondere brief of een enkelvoud
nummer voorgesteld als een string.
SHARON: Oké.
En dan zijn hier een aantal fundamentele operatoren.
Hopelijk bent u bekend bent de eerste vier gewoon in het algemeen.
Dus er is optellen, aftrekken, vermenigvuldigen en delen,
en zorg ervoor dat u gebruik maken van rechts toetsaanslagen.
>> En dan is er ook modulo, waarvan sommige van u misschien niet erg vertrouwd zijn met.
En wat modulo doet is dat als we dit voorbeeld 4% 2,
het neemt de rest van wat dat doet in divisie.
Dus 4 gedeeld door 2 is 2, en er is geen rest.
4 delen door 3 is 1 en 1/3, enzovoort rest 1.
Zo berekent één.
En dan 4% 5 de fractie 4/5, en de rest is 4.
Heeft dat zin?
OK, cool.
En we PEMDAS volgen hier ook.
>> Dus sommige Booleaanse uitdrukkingen.
Dus jullie hebben gezien gelijk gelijken te vergelijken, zeg, twee nummers.
Dus als 5 is gelijk aan gelijk aan 5, dat berekent op true.
Zorg ervoor dat u slechts één gelijk-teken.
Voor niet gelijken, het is bang of uitroepteken.
>> HANNAH: Twee gelijke borden wanneer je gelijkheid doen.
>> SHARON: Oh, ja.
Zorg ervoor dat je dat niet doet hebben een gelijk-teken.
En dan voor het niet gelijken, het is bang gelijk.
En dan kun je kijken door minder dan groter dan.
En dan hebben we het logisch en en logische of hier.
En wat dat doet is, indien Herinnert u zich in Scratch
als je dat blok had dat zei en, en dan moet je
zou kunnen passen twee verschillende stukken daar, dat is wat dit en doet.
En zorg ervoor dat je twee ampersands.
En deze sleutel vindt u in de richting van de recht, recht onder je knop Verwijderen.
Vraag?
>> STUDENT: Wat was de [onverstaanbaar]?
>> SHARON: OK, dus als je alleen doen één, je bent het vergelijken van bits.
Dus als je nog wat stukjes zijn, ze zijn 0's en 1's, en dus
dat is het vergelijken van iets anders.
Dus we gaan richten op deze voor nu.
>> JASON HIRSCHHORN: Dus een gelijk is als opdracht, toch?
Dus als int x gelijk is aan 4.
Je zegt dat de variabele x is gelijk aan 4.
Dus 1 gelijk is opdracht, maar de ands en de leidingen
of de tralies, net als Sharon zei, ze zijn logische operatoren op.
U hoeft geen zorgen te maken over dat.
>> STUDENT: Wanneer moet je logisch gebruiken en en logische of weer?
Ik vergat gewoon als je dat doet.
>> HANNAH: Tuurlijk, dus als je ooit wilt om te controleren of twee dingen waar zijn,
bijvoorbeeld, laten we zeggen dat ik wil controleren dat een getal is tussen 5 en 15,
Ik zou zeggen zorg dat het getal groter is dan 5.
Dus laten we zeggen als x groter dan 5 en minder dan 15.
Dus om voor die hele verklaring te evalueren op true,
u beide soorten sub behoefte verklaringen te evalueren de ware.
Met of u alleen nodig één van de twee of beide.
STUDENT: Great, thank you.
>> SHARON: En ook in Scratch, ik ben zeker in veel van uw projecten
je had als het aanraken van de rand of als andere sprite te raken dan stuiteren
of zoiets.
HANNAH: Oke, dus waarom doen we zorg over al deze Booleans?
We hebben deze structuren die je hebt gezien in Scratch genaamd conditionals.
En conditionals zijn iets van de vormen als enige voorwaarde of sommige Booleaanse
waar is, doe dan de code tussen deze accolades.
Zodat u kunt zien op de rechter hier is de Scratch blok.
U heeft dit als dan, en om het even wat dat gaat in dat kleine vorm die
ziet eruit als dit-- i weet niet wat je zou
noemen dat-- dat gaat als Boolean of aandoening.
>> Dus nogmaals, een Booleaanse of voorwaarde is om het even wat
die ofwel evalueren waar of onwaar.
En nogmaals, kunt u combineren Booleans.
U kunt wederom x groter dan 5 en x kleiner is dan 15.
Of je kunt gewoon één van deze x kleiner dan 5.
>> OK, dus in C Het is aan de linkerkant.
Het is gewoon het trefwoord als.
Haakjes, het voorwaarde of de Booleaanse.
En dan de code in tussen die twee accolades
zal alleen uit te voeren, kan alleen worden uitgevoerd indien die voorwaarde of dat Booleaanse waar is.
Heeft dat zin?
Awesome.
OK.
En dan als je kan hebben gezien in Scratch,
we kunnen toevoegen een anders, die in feite
iets tussen de accolades onder anders
alleen uitvoeren als de voorwaarde onwaar is.
Zinvol?
Heeft u vragen over deze twee?
Awesome.
>> Cool.
Dus hier is een snel voorbeeld.
Laten we zeggen dat we willen bepalen, op basis van de tijd,
of we goed moeten zeggen ochtend of goede avond.
Ik zal zeggen dat als het vóór 12.00 uur, we gaan om goedemorgen te zeggen,
anders gaan we goede avond zeggen.
En toen ik zei dat anders, dat is equivalent in C om dit anders.
Dus we gaan om te controleren of de militaire tijd is minder dan 0:00,
goedemorgen.
Anders zeggen goede avond.
>> STUDENT: Dus we zouden eigenlijk krijgen die ingang voor militaire tijd met de get string.
HANNAH: Right.
Wist Ergens anders hebben we eigenlijk zouden hebben om die informatie te verstrekken.
Hier heeft het geen waarde.
We hebben nooit zelfs verklaard.
Ik neem aan dat ergens boven dit programma verklaarde ik de tijd,
of vroeg de tijd, of-- iets anders met dit voorbeeld?
Awesome.
>> OK, nu hebben we in aanvulling die eenvoudig als anders formaat,
Wij hebben twee verschillende structuren.
Dus eerst moeten we de schakelaar verklaring, en hier is
de algemene vorm van een switch statement.
U hebt het trefwoord schakelt de dezelfde manier heb je het zoekwoord als.
En dan een ingang, in dit geval n.
Dus dit alleen kan werken met gehele getallen.
Zodat ingang n heeft tot een geheel getal zijn, OK?
En we gaan volg één geval
afhankelijk van die waarde n.
>> Dus in dit geval, moet je eerst vergelijken is n gelijk aan een constant,
als het is, doen alles soort ingesprongen dan hier.
Ik kan wijzen op het omdat ik te kort.
Als het niet gelijk aan een constante en in plaats daarvan gelijk constant twee,
we gaan naar dat tweede blok te volgen, en wij kunnen dit voor zoveel keer doen
als we willen, en dan is dat standaard is als het kwam niet overeen een van de bovenstaande gevallen,
uitvoeren van die code.
Heeft u vragen hier?
Deze is een beetje ingewikkelder.
Yeah?
>> STUDENT: Break betekenende wat?
>> HANNAH: Tuurlijk, dus zodra we binnenkomen dat blok, als we vinden, laten we zeggen,
onze n is in feite gelijk aan een constant, we voeren dat blok na de dubbele punt.
We doen wat er op die lijn van commentaar,
en dan breken we, wat betekent dat we uit van deze switch geheel.
STUDENT: OK.
>> HANNAH: Mm-hm?
>> STUDENT: Is het inspringen nodig, of heb je nodig [onverstaanbaar]?
HANNAH: Tuurlijk.
Dus, zoals altijd, inspringen niet strikt noodzakelijk is.
De computer doet niet schelen of je inspringen.
Wij, als mensen die zijn het lezen van uw code, doe voorzichtig.
Dus het is een stuk makkelijker om kijk omhoog naar het scherm
en zie, oh, ik weet precies wat gebeurt wanneer n gelijk is aan een constant.
Als ik had willekeurige streepjes, I zou niet in staat zijn om zo gemakkelijk te vertellen.
Yeah?
>> STUDENT: Dus als wilde een gebruiker kies een van de opties die
we hebben op de lijst, zou gebruiken we, denk ik, [onverstaanbaar],
maar krijgt een geheel getal van ze en leg dat in n?
HANNAH: Precies goed.
Dus laten we zeggen dat we wilden wat integer controleren.
We zeiden oh, voer een geheel getal tussen 0 en 5, laten we zeggen.
We hadden kunnen vragen dat n, vragen om die waarde,
en dan hebben elk van deze zaken.
En nogmaals, dit is iets wat we konden heel gemakkelijk doen met if statements,
toch?
We konden als gelijk aan case een, als gelijk aan twee case,
Als die gelijk is aan drie case, zo verder en zo voort.
Dit is een beetje sneller en een beetje schoner.
Het is een soort van gewoon een leuke structuur nu.
STUDENT: Sneller als schriftelijk?
Of is het uit te voeren van de computer een beetje sneller?
>> HANNAH: Het loopt een beetje sneller.
Yeah?
>> STUDENT: Dus de dubbele dash is gewoon commentaar of--
>> HANNAH: Oh, het spijt me zo.
Ik wist niet wijzen dat uit.
OK, als je dat //, is een reactie.
Net // is geplaatst.
Dus elke keer dat de computer ziet dat, het gaat
te zeggen OK, alles wat volgt dit, ik ben gewoon gaan negeren.
Ik ga u doen alsof nooit zelfs schreef dat.
>> STUDENT: Dus dit [onverstaanbaar].
>> HANNAH: Dit doet helemaal niets.
Maar als ik schreef iets als op de eerste opmerking die ik schreef in plaats printf
zeggen gefeliciteerd u hebt ingevoerd constant is, dat er iets is.
Yeah?
>> STUDENT: Dus in het echte leven, het geval zou gewoon een getal zijn
en dan [onverstaanbaar] zou een ander getal zijn.
>> HANNAH: Precies.
>> STUDENT: En heb je de ellipsen nodig?
>> HANNAH: Sorry?
>> STUDENT: Denk je dat nodig?
>> HANNAH: Oh, nee.
Het spijt me.
Dat was gewoon om aan te geven dat u kunt gaan voor zo veel gevallen als je wilt.
Laten we een concreet voorbeeld dat misschien de dingen een beetje duidelijker te maken.
OK, dus laten we zeggen dat ik zeg, OK, geef me een geheel getal n
dat staat voor een nummer van de klasse, specifiek een computer science class
nummer.
Dus als je me 50, Ik ga veel te zeggen.
CS50 is een kennismaking met de computer wetenschap, en dan ga ik om te breken.
Dus dat betekent dat ik spring uit dit hele switch statement,
dus nu ik klaar ben het uitvoeren van de code, OK?
>> Als je me gaf in plaats daarvan 51, zou ik afdrukken van de tweede verklaring.
En dan als je me gaf enkele nummer dat niet was 50 of 51,
Ik ga om sorry te zeggen, ik ben niet vertrouwd met die klasse.
Yeah?
>> STUDENT: Je hoeft geen pauze te hebben.
>> HANNAH: Het spijt me, ik heb geen pauze hebben?
>> STUDENT: Wat als.
>> HANNAH: Oh, wat als je geen pauze hebben?
Uitstekende vraag.
Dus wat zou er gebeuren is dat je zou gaan, en je zou controleren ben ik gelijk naar 50?
En laten we zeggen, ja, gelijk was je tot 50, zou je de verklaring af te drukken.
En dan zou je gaan met het uitvoeren, dus je zou zeggen ben ik gelijk naar 51?
En je zou gaan en ga door alle gevallen zo?
Ja?
>> STUDENT: Is de standaard lijn analoog aan te zeggen anders?
HANNAH: Precies.
Zeer goed.
Het is net als het soort catch all.
>> STUDENT: Dus als je niet hoefde break en vervolgens een van de case statements
waar was, en dan is het zei toename n met 1,
Dan zou het automatisch maken de volgende.
Het zou bij 51 te controleren, en dan weer dat ook?
HANNAH: Ja, ik denk dat dat zou werken.
Dus je zou kunnen soort krijgen rommelig, dus een pauze is een goed ding om te hebben.
Yeah?
STUDENT: Zonder onderbreking zou het de standaard doen?
HANNAH: Dat is een goede vraag.
JASON HIRSCHHORN: Ik denk dat het gewoon werkt.
Dus als je niet break-- zo hebben laten we zeggen dat ik deed 50 en nakijken 50,
en het zou af te drukken dat uit.
Uitprinten CS50 als introductie tot de informatica.
Je hoeft geen pauze te hebben, moet het gaan en door te gaan tot hij een pauze raakt.
Dus als er geen pauze, het gaat om door te gaan.
Het gaat om al het andere uit te printen.
>> HANNAH: Dus ik denk dat dat zou doen zijn inclusief de standaard.
>> JASON HIRSCHHORN: Yeah.
>> HANNAH: Goede vraag.
Yeah?
STUDENT: Is geval beschouwd als een functie?
HANNAH: Het spijt me?
STUDENT: Is geval beschouwd als een functie?
HANNAH: Is geval beschouwd als een functie.
Ik zou aarzelen om te zeggen dat.
>> JASON HIRSCHHORN: Dus normaal als je ziet functies
ze zullen in accolades.
Dus bijvoorbeeld, als je kijkt in je code, bijvoorbeeld, de belangrijkste.
Het was belangrijkste open paren, dan leegte, dicht paren.
Functions-- ze zijn in principe altijd je haakjes zien.
Dus geval als geval niet nog haakjes
dat is jouw idee dat dat is niet een functie.
Maar het is niet.
Yeah?
>> STUDENT: Dus dan doet dat maken schakelen een functie?
>> HANNAH: Is dat merken Schakel een functie.
>> STUDENT: In de zin dat je iets in,
het geeft je een van de gevallen.
JASON HIRSCHHORN: I zou niet een functie noemen.
Niet alles met parens is een functie.
Ik bedoel dat is een aanwijzing dat het een functie.
Ik zou niet zeggen switch is een functie, want het is niet echt
iets terug.
Je stapt in dat meer.
>> HANNAH: Ja, denk gewoon van het als een if structuur.
STUDENT: Kan je nest dit in een if-structuur?
HANNAH: Ja, je nest vrijwel alles.
>> STUDENT: Barry zei dat de citaten zijn een soort hetzelfde als anders.
Zo kunt u de aanhalingstekens met anders te vervangen?
>> HANNAH: Niet in dit specifieke structuur, omdat de schakelaar
verklaring verwacht het woord default.
De computer weet dat default betekent iets speciaals, dat
betekent dat de catch all.
Iets anders op dit.
We hebben nog een door te komen.
Yeah?
>> STUDENT: [onverstaanbaar].
HANNAH: Verschil tussen met behulp van een puntkomma en een dubbele punt.
Dus een puntkomma is altijd om het te vertellen computer ik klaar ben met deze lijn.
Je kunt gaan en het uitvoeren.
Dit is een complete lijn.
Een dubbele punt gaat, in dit geval, brengt je in een bepaald blok.
Dus puntkomma's zijn altijd gebruik te eindigen lijnen.
Colons worden gebruikt voor een diverse andere zaken.
>> STUDENT: Is dit gelijk aan gewoon zeggen als n gelijk is aan 50, dan
blah blah blah.
HANNAH: Mm-hm.
STUDENT: Het is gewoon hetzelfde [onverstaanbaar].
HANNAH: Precies.
En we zeiden het loopt een beetje sneller.
Als we de pauze hadden, het zou zijn als, als, als.
Als we dat doen hebben de pauze, het is alsof else if else if else if.
Cool?
>> JASON HIRSCHHORN: Dus toen codering, kunt u gewoon gebruiken als anders,
maar ik denk dat vorig jaar op de quiz die we hadden ze een switch statement te schrijven,
dus gewoon voor het geval dat.
HANNAH: Maar zeker niets mis.
We verwachten niet dat u zich zorgen te maken over de prestaties van gekke dingen.
Net als het andere is helemaal prima.
Dit zijn slechts goed dingen bewust te zijn van.
>> En hier is onze laatste dat soort valt onder deze voorwaardelijke categorie.
We hebben iets van de algemene vorm conditie?,
en dan een klein stukje code dat gebeurt er als de voorwaarde waar is.
En dan de dikke darm, een beetje stukje code dat
uitgevoerd als de voorwaarde is vals, puntkomma.
We zijn klaar met die lijn.
Dus syntactisch het is een beetje lelijk.
We gaan om te gaan door middel van een Zo denk ik dat het meest duidelijk.
Dus we willen toewijzen de string professor
één van deze twee waarden, ofwel David Malan of niet David Malan, OK?
Dus moet u bekend zijn met de string, professor =.
We gaan naar een string toewijzen de variabele genaamd professor.
>> Nu willen we een check bijzondere voorwaarde.
In dit geval, staat ons is class_num = = 50.
En nu misschien een goed moment om erop te wijzen
als we touwtje professor =, Dat is een gelijk-teken.
Dat is opdracht.
Overwegende dat in class_num = = 50, dat is twee gelijke borden.
Dat is een kwaliteitscontrole.
Dus we gaan om te zeggen wordt de class aantal dat gelijk is aan 50?
Als dat zo is, wijzen professor David Malan.
Zo niet, toewijzen professor om niet David Malan.
Heeft u vragen daar?
Nogmaals, dit is gewoon iets dat is goed om te weten.
Je kan dit doen met als anders.
Een good practice probleem zou kunnen zijn, wanneer
u naar huis gaat, rechts exact dezelfde voorwaardelijke in een if anders vorm,
omdat je dat kunt doen.
Heeft u vragen hier?
Oké, ik denk dat we zal gaan naar lussen.
Awesome.
>> SHARON: OK, laten we praten over terwijl loops.
Dus eerst aan de linkerkant zie je hier-- OK, dat zegt, terwijl, while (voorwaarde).
En dit-- dan doe je kunnen we dit veranderen?
>> JASON HIRSCHHORN: Het is afgesneden.
>> SHARON: OK, en dan is er zijn ook accolades.
Dus doen alsof krullend beugels zijn er boven
en onder het doen dit opnieuw en opnieuw.
Dus als de voorwaarde in die haakjes de waarde true,
dan moet je blijven doen wat in de while lus.
>> Dus bijvoorbeeld, konden we doe een praktijk probleem.
Ik ben het dragen van twee oorbellen nu, dus laten we zeggen
als ik het dragen van ten minste één horen, klap in je handen.
Dus als we gaan om te gaan door middel van deze, we going--
>> [SLAAN]
>> Right?
En ik ben het dragen van een, en-- OK.
Yeah.
Ik ben niet dragen van oorbellen meer, dus niet meer.
OK, dus dan is dat wanneer je zou stoppen.
En dat je zou kunnen zeggen is zijnde bijna variabelen.
Laten we zeggen dat je een variabel aantal oorbellen.
Dus terwijl het aantal oorbellen groter dan of gelijk aan 1, klap.
En dan na klap handen, decrement oorbellen.
Doe zoals oorbellen minus 1.
Dus verlagen het aantal oorbellen, en dan ga je door de while lus
tweemaal.
>> En als de voorwaarde altijd true-- dus als, laten we zeggen, 2 = = 2,
en 2 is altijd gelijk aan 2, rechts?
Dan zou je altijd iets te doen daar,
en dat is gelijk aan bijna forever lus die we hadden in Scratch.
Ja?
>> STUDENT: Zijn de twee kanten gewoon verschillende manieren van het schrijven van een while loop?
>> SHARON: Dus we gefocust Op deze eerste.
En dan dus laten we vergelijken het met een do while lus.
Dus ze zijn iets anders.
OK, dus laten we zeggen dat de aandoening is nog steeds terwijl ik het dragen van ten minste één oorbel,
en ik ben het niet dragen elke oorbellen nu.
En laten we zeggen te doen en nog klappen terwijl Ik ben het dragen van ten minste één oorbel.
Wat moet er gebeuren?
>> [CLAPS]
>> Uh oh, jongens.
OK, dus je zou moeten klappen een keer omdat het in principe je
gaan door het eerste deel van de code.
Je doet het niet uit wat, en dan zie je het zolang voorwaarde,
en je terug in te gaan dat lus als het waar is.
Is dat zinvol?
>> STUDENT: Je altijd doe het de eerste keer.
SHARON: Je doet het het altijd eerste keer, ongeacht of
of niet aan die voorwaarde waar is of niet.
JASON HIRSCHHORN: Wanneer doen je denkt dat je zou kunnen dit gebruiken?
Wanneer heeft het zin om dit te gebruiken?
HANNAH: Ja?
STUDENT: [onverstaanbaar].
JASON HIRSCHHORN: Right.
HANNAH: Zeer goed.
JASON HIRSCHHORN: So wanneer u een gebruiker wordt gevraagd,
je gaat te willen altijd om een ​​gebruiker te vragen een keer.
Je bent altijd van plan te willen aan de gebruiker gevraagd één keer.
Dus in plaats van het zetten van in een while loop, je
zet in do while loop, want je bent altijd gaan om het te doen een keer.
Als ze geven u de juiste antwoord, je bent klaar.
Als ze dat niet doen, dan moet je opnieuw vraagt ​​ze.
>> SHARON: Oké, voor loops.
Dus in Scratch, hadden we herhalen blokken.
Dus we wilden iets te herhalen, laten we zeggen, zeven keer.
Dus we zeiden gewoon herhalen zeven, en zeg ik ben hier om u te helpen Sneeuwwitje!
In C, we hebben voor loops als we willen gaan door iets
een specifiek aantal keren.
Laten we zeggen dat als we initialiseren de variabele dwergen
en maak sure-- dus het eerste blok daar voor de eerste puntkomma,
we initialiseren onze variabele aan, en we stellen het op 0.
En onze variabele er een geheel getal, int.
En de naam van de variabele is dwergen, en we stellen dwergen op 0.
>> En het tweede deel tussen de twee puntkomma's is onze voorwaarde.
En dus zolang dwergen is minder dan zeven,
we houden het doorlopen van dit voor de lus.
En dan het laatste deel is wat te doen we aan het eind van deze lus?
dwergen ++, en dat betekent dat we increment dwergen met één toe telkens.
>> Dus wat gaat hier gebeuren?
Dus eerst gaan we door te gaan.
We hebben dwergen als 0, en dan gaan we
om af te drukken Ik ben hier om te u helpen Sneeuwwitje!
En dan dwergen gaat toenemen, omdat we zeiden dwergen ++.
Dwergen gaat worden 1.
En dan compare-- we dwergen is 1.
We het vergelijken met de dwergen is minder dan 7?
Ja.
Ik ga weer gaan door dit.
Ik ben hier om u te helpen Sneeuwwitje!
En dan dwergen wordt 2, en dan vergelijken we het.
2 minder dan 7?
Ja.
We gaan om te gaan door.
En we gaan om te gaan door deze zeven keer.
>> Dus in het einde, we gaan hebben dwergen = 0 print out Ik ben
hier om u te helpen Sneeuwwitje!
dwergen gelijk aan 1, 2, 3, 4, 5 en 6.
Onthouden we index op 0.
Dus beginnen we met 0.
Ja?
>> STUDENT: Dus dit is anders dan de do
want dit wordt niet afgedrukt out in eerste instantie op het eerste.
Dus je zou hetzelfde blijven.
Zou je dit ook doen met de do-lus?
Als hetzelfde proces.
De voorwaarde is dwergen minder dan 7 of wat dan ook.
Respons is minder dan 7.
SHARON: Dus je kon technisch.
Dus als we terug gaan to-- je praten over de while loop, toch?
Dus de do while lus is iets anders
want wij garanderen ten minste keer dat we gaan er doorheen,
dus dat is het grootste verschil.
Maar met de while loop we konden zeggen terwijl dwergen minder dan 7,
dit doen, en dan increment dwergen met één.
En dan hebben we te initialiseren dwergen voordat dit hele statement
dat deze gelijk is aan 0.
Dus ja, wij konden dat met dat te doen.
Mm-hm?
>> STUDENT: Kunt u terug naar [onverstaanbaar] gaan?
SHARON: For-lus?
STUDENT: Ja, dus met de dwergen ++, schijnt als dat is wat je doet na
heb je liep een andere wijze.
SHARON: Correct.
STUDENT: Kan je gewoon niet hebben dat en zet het--
SHARON: Je kon.
STUDENT: Dus is [onverstaanbaar] direct na uitprinten in de volgende regel eronder.
SHARON: Ja, je kan het daar te zetten.
Maar dan zou je gewoon laten dat leeg.
>> JASON HIRSCHHORN: Je hebt nog steeds moet de puntkomma wel.
>> SHARON: Het ziet er een beetje onhandig, maar je kon technisch doen.
Technisch.
Alsjeblieft niet.
Ja?
>> STUDENT: Zijn er alternatieven ++?
Is er iets anders [onverstaanbaar]?
>> SHARON: Technisch is het de dwergen.
Een gelijk-teken gaan we in te stellen op dwergen plus 1.
Dus technisch gezien is dat wat dwergen ++ betekent.
Heeft dat zin?
>> STUDENT: Ja, maar zijn er alternatieven?
Net als je ever--
>> SHARON: Ja, zou je dwergen doen - -.
>> STUDENT: [onverstaanbaar].
>> SHARON: Ja, je kon doen een heleboel dingen.
HANNAH: En je zou kunnen verhogen door 2.
Je zou kunnen verhogen met 3.
Iets dat gaat veranderen, het zal uiteindelijk maken de aandoening.
>> STUDENT: Dus als je wilde verhogen door 2, hoe zou je schrijft dat?
>> HANNAH: Je kan ofwel schrijven dwarves-- je zou dit hele ding uit te schrijven.
dwergen = dwergen + 2.
Of een licht stenografie.
Ik ben gewoon gaan schrijven + is gelijk aan 2.
>> STUDENT: OK, en je zou schrijven dat recht waar dwergen ++ is er.
HANNAH: Precies.
SHARON: Correct.
Er was nog een vraag?
Yeah?
>> STUDENT: [onverstaanbaar] dwergen ++?
SHARON: Dus je don't--
JASON HIRSCHHORN: Ja, niet nodig het daar. [Onverstaanbaar] heel eind.
Dus je doet [onverstaanbaar] degenen omdat je
soort splitsen de initialisatie, conditie, en de verandering.
Helemaal aan het einde, hoeft u niet nodig hebt.
SHARON: Ook merk je niet de puntkomma niet nodig
na de hele hele lus.
>> STUDENT: Hoe zou je beginnen met een initieel aantal negatieve,
bijvoorbeeld?
>> SHARON: U kunt initialiseren dwergen gelijk aan negatief 2.
>> STUDENT: Denk je gewoon Dash 2?
>> SHARON: Ja, dus de negatief teken, dash 2.
>> STUDENT: Is het [onverstaanbaar] om initialiseren als dwergen [onverstaanbaar]?
>> SHARON: Ja.
Dus als we hadden net geïnitialiseerd dwergen eerder, gewoon doen int dwergen puntkomma,
en dan zijn we kunnen doen dwergen ingesteld dat gelijk is aan 0.
>> STUDENT: Kunnen we het eerder in het programma zeggen int dwergen = 0,
en dan gewoon--
>> SHARON: Gewoon niet zo have-- er zou ruimte weer,
maar je zou nog steeds een puntkomma nodig.
Yeah.
Mm-hm?
STUDENT: Maakt deze code zeggen wat de waarde van de dwergen is daarna.
Als je het vraagt ​​na dit alles is verricht om de voordelen van dwergen drukken.
SHARON: Je zou kunnen vragen om dat te doen.
STUDENT: OK.
SHARON: Maar je zou hebben om het te vragen om dat te doen.
Het doet het niet voor je doen.
Ik ben bang om mijn oorbellen terug in te zetten.
Doe het aan het eind voor het applaus.
Grapje.
>> JASON HIRSCHHORN: Dus dat is het zelfde.
Dus initialiseren op de top.
Conditie, print, verandering.
Dus dit is precies hetzelfde als dat als iemand die kan zien.
STUDENT: Waarom heb je niet de puntkomma op de eerste lijn?
SHARON: Waar?
STUDENT: Na de eerste lijn.
SHARON: Na de 4 in de haakjes?
Omdat we willen gaan Door middel van in deze lus.
En als je een kijkje nemen op lussen in te nemen algemeen zijn ze niet puntkomma hebben.
Het is niet praktisch.
Zijn we goed?
Nog een vraag, twee meer.
Yeah?
STUDENT: Dit zou kunnen zijn een beetje gevorderd,
maar doe dwergen hebben een verschillende [onverstaanbaar]
van een variabele [onverstaanbaar].
SHARON: Zeer goed.
STUDENT: [onverstaanbaar].
>> SHARON: Ja, het is.
Wat?
JASON HIRSCHHORN: Ja, dus het doet.
Zodat normaliter de reikwijdte van iets is in de accolades.
Dus scope gaat altijd om in de accolades,
maar dat zou niet te maken veel zin voor de for-lus
omdat we geïnitialiseerd dwergen in die accolade.
Dus normaal gesproken de reikwijdte van dwergen, dat variabele zou zich niet uit het verleden dat.
Dit is een speciaal geval wel.
Zodat u deze initialiseren binnen die haakjes,
en dan heb je de scope later.
Dus speciaal geval.
Ze moeten niet hebben dat, en dat was-- die zin te maken?
>> STUDENT: No.
>> JASON HIRSCHHORN: ik kan gaan over.
Dus wat ben je nog steeds verward over?
>> STUDENT: Zoals in kunt u gebruik maken van dwarves-- u kan uiteraard dwergen gebruiken [onverstaanbaar]
buiten de formule ook?
>> JASON HIRSCHHORN: Nee, nee.
Dus de reikwijdte ervan alleen in de accolades voor de for-lus, ja.
SHARON: Maar als je initialiseren dwergen buiten de lus, dan
je kunt het elders gebruiken Er is nog een vraag?
Nee?
OK.
>> Dus spraken we een beetje over nesten voor lussen of nesten voorwaardelijke,
if-statements.
Dus hier is een voorbeeld van waar we konden het nest van een for-lus.
Laten we zeggen dat we het afdrukken van deze tabel van x is hier.
We zouden willen to-- eerst of we gewoon niet kijken naar de code
en we er goed over nadenkt, we willen gaan door elke rij
en af ​​te drukken elke kolom, toch?
Heeft dat zin?
OK.
>> Dus hier gaan we door middel van elke rij voor in principe elke rij,
Er zijn drie rijen.
En vervolgens binnen elke rij voor elke kolom, en er
zijn vier kolommen, print een x.
zo.
Als rij 0 en kolom 0 is, we dit x drukken.
En dan houden we het gaan door de kolom lus.
Rij is nog steeds 0, maar kolom is één.
En dan kolom 2, en dan kolom 3.
En dan verlaten we uit die lus want dan kolom
niet meer dan 4.
En dan een nieuwe lijn afdruk, en we gaan naar de nieuwe lijn.
En dan gaan we door middel van de volgende rij, en de rij wordt verhoogd,
en we gaan door dat weer.
Heeft dat zin?
Ja?
>> STUDENT: Dus om nest [onverstaanbaar] is zomaar het binnenkant van de lus?
>> SHARON: Dus nesting betekent dat we hebben een lus binnen een lus,
zoals Inception.
>> STUDENT: U hoeft niet een speciale rotatie of iets?
Je houdt het precies goed erin?
SHARON: Correct.
Ja?
>> STUDENT: Zou kunnen [onverstaanbaar], maar het lijkt erop dat er een extra ruimte
tussen de x's.
Ik weet niet of that's-- Als dat waren om daadwerkelijk te doen het programma,
zou zoiets doen?
>> SHARON: Dus geen.
Dat werd op Enter te drukken.
Dat was slecht van onze kant.
Verontschuldigen.
>> HANNAH: Hoe zou je dit veranderen programma als je er een extra regel deed?
>> STUDENT: [onverstaanbaar].
SHARON: Good job.
STUDENT: U kunt ook dezelfde afdrukken ding door het schakelen rond de kolom
toch?
>> SHARON: Hm?
>> STUDENT: Dus om je kleine afdrukken xxx, de eerste lijn kan printen zeggen,
en in plaats van te zeggen rij, het kolom zegt.
>> SHARON: Dus zou je kunnen veranderen de namen van variabelen om dat te doen.
Is dat wat je zegt?
>> STUDENT: Nee, ik ben gewoon zeggend dat-- dus je bent
printing rijen eerste en vervolgens af te drukken kolommen.
Kunt u ook eerst de kolommen af ​​te drukken en vervolgens rijen om hetzelfde schema te krijgen?
SHARON: Je kon, maar dan zou je hebben
Pas op waar te zijn je zet de nieuwe lijn.
En hoe zou je springt terug?
JASON HIRSCHHORN: Als je net overgestapt het
en de waarden verschilden in plaats van het hebben van four-- wat is het?
Drie van de vier.
I Je zou vier hebben rijen en drie kolommen.
Heeft dat zin?
>> STUDENT: Ja.
>> JASON HIRSCHHORN: So ja, je kan dat doen.
Ja, zeker.
SHARON: Maar dat zou letterlijk gewoon schakelen van de namen van de variabelen.
Goed?
OK.
Oké, P set één.
OK, zodat het eerste deel ervan u zult dit moeten doen, Mario.
Grapje.
Het is meer als dit.
En dus toen we net gekeken naar de geneste loops, het maken van die tafel,
nadenken over hoe je zou kunnen print deze hashtags op deze manier.
En dan hier hoe zou u print deze hier, deze open ruimte.
>> STUDENT: [onverstaanbaar].
SHARON: Ja, je gewoon af te drukken van een ruimte.
OK, dus gewoon even over nadenken.
HANNAH: En dan is het hetzelfde deel van de probleemstelling
is een programma genaamd greedy.c, zodat je
gaat te willen denken over conditionals
en ervoor te zorgen dat u kan de juiste verandering te maken.
En een kleine waarschuwing hebben wij voor u wordt voorzichtig van floating point waarden.
Als dat betekent helemaal niets voor u, het zal worden behandeld in college deze week
en ook in [onhoorbaar] lopen door, die
jullie zullen leren om Liefde op het probleem sets.
>> Een ding dat ik echt suggereren, vooral Mario.c,
als je het probleem te doen ingesteld, als je vast komt te zitten,
beginnen door te doen het op papier.
Schrijf het uit en eigenlijk zitten en doen alsof ze de computer te zijn,
en ga through-- zeggen Ik was de computer,
hoe zou ik volgen dit voor de lus door?
Hoe zou mijn variabelen in de lus verandering?
Dus het doet op papier maakt het 10 keer makkelijker
als je gaat om te gaan zitten op de computer.
Dus gewoon mijn kleine plug.
>> SHARON: En ook niet denken dat je moet alles coderen allemaal tegelijk.
Zorg ervoor dat je een iteratief proces te nemen.
Doe een klein beetje, afdrukken het uit, kijk wat er gebeurt.
Soms is het een beetje trial and error.
En komen tot de kantooruren.
Super leuk.
JASON HIRSCHHORN: Dus nog vragen?
Oké jongens, dat was je eerste sectie.
HANNAH: Bedankt voor het komen.
JASON HIRSCHHORN: Bedankt voor het komen.
SHARON: Dank je wel.
[Applaus]