[Powered by Google Translate] LEXI ROSS: Okay, hej, alle. Velkommen til det første CS50 supersection. Dette vil være det eneste uge af supersections. Efter dette, vil du være at gå til regelmæssig sektion med din tildelt TF. Men i denne uge, vi gør det på en lille smule af en anden format, selvom den faktiske format, hvordan det kommer til at gå for den næste halvanden time eller deromkring, vil er at være temmelig svarer til, hvad du skal se efter resten af ​​semesteret. Så hvad vi vil gøre, er at starte med at gå over sektion del af dit problem sæt. Så hvis du har læst over p sæt, som forhåbentlig du har, vil du se, at der er en del der hedder "Et udsnit af Spørgsmål ", og disse er beregnet til at blive væk over i dine afsnit. Så du har en fordel ved at være her i, at du kommer til gå over disse mere konceptuel-baserede spørgsmål. Og når vi gør det, vil vi gå over de sidste to § spørgsmål, som er mere dykke til kodning type spørgsmål. Så vi er faktisk nødt til jer tage et par minutter for hvert spørgsmål, så prøv at løse dem på egen hånd, og så vil vi komme sammen med den nye CS50 Spaces værktøj og gå over de svar, så du har alle de rigtige kode til at gennemgå. Så et par meddelelser. Glem ikke, at der er kontortid hver nat dette uge i Annenberg 8 til 11, så skal du tage fordel for dem. Og også, ikke stiller til start p indstillet for sent i ugen. Start i aften eller i morgen aften senest. Du vil fortryde det, hvis du venter for længe med at starte og løbe ind i problemer. Så tag vores råd og definitivt starte tidligt. Dette vil være en god måde at komme i gang med disse afsnit spørgsmål. Så jeg er Lexi, ved den måde. Jeg er en TF. Og det er Dan, der er også en TF. DAN BRADLEY: Hej med jer. LEXI ROSS: Og han kommer til at blive startede med spørgsmålene. DAN BRADLEY: Okay. Så jeg har tænkt mig at bare indføre et par lille compiler spørgsmål, som vi kommer til at tale om og bare gå igennem en slags konceptuelle ideer, som vi er nødt til rent faktisk at køre kode, enten i et apparat eller med vores slags falske apparater, Run CS50 og Spaces. Så lad os bare se, om nogen blandt publikum har nogen idé om, hvad vi taler om. Så hvad er et bibliotek i forbindelse med koden? Nogen der har nogen idé? Okay. Sweet. PUBLIKUM: Like a bestand af funktioner, som en anden allerede er programmeret, at vi kan bygge op? DAN BRADLEY: Præcis. Så et bibliotek er en bestand af funktioner, at en anden har allerede programmeret, at vi ikke behøver at ny at gennemføre os selv. Så vi har ting som standard I / O-bibliotek, den cs50.h bibliotek, der er ting, som verden, Internettet, har personalet gjort, der gør vores liv lettere som kodere. Så hvordan kan du udskriver ting til en skærm? Jeg har ingen idé om, printf gør det for mig. Det er noget en anden har allerede dette er awesome og fungerer ganske godt. Okay. Så for at bruge bibliotekerne, på den anden side, men du har til rent faktisk at gøre nogle ekstra ting med din kode. Så du er nødt til at bruge ting som dette # include. Hvad betyder det så? Hvilken rolle at spille, når du har det i et program? PUBLIKUM: Det kan du gøre brug af de funktioner, der er [Uhørlig] bibliotek ved blot at bruge de definitioner, der allerede [Uhørlig] bibliotek. DAN BRADLEY: Okay. Det kan du trække biblioteksfunktioner ind i din kode, men det gør det på en måde, der er ikke helt det samme som samme -Lcs50, som vi vil komme til i et minut. Det bare lader compileren vide, at hey, der er disse funktioner, der vil komme op i din kode. Vær opmærksom på, at hvis ikke de er fuldt beskrevet i koden der er foran dig, er der nogle biblioteksfunktionen , der vil tage sig af det. Så i tilfælde af printf, som vi vil gå over et par gange i dag, er den standard I / O-bibliotek. Så mens jeg ikke definerer printf overalt i min kode nogensinde, standard I / O tager sig af det for mig, og jeg vil gøre # include stdio.h, og det vil trække i disse funktioner, som jeg har aldrig defineret. Så hvad er forskellen altså mellem dette # include og-lcs50? Hvad gør-lcs50 gøre, når jeg videregive det til den compiler, ligesom Dunk? Nogen der har nogen idé? Okay. Ja? PUBLIKUM: Det kan du få adgang til CS50 biblioteket? DAN BRADLEY: Det kan du få adgang til CS50 biblioteket i at den fortæller compileren, Dunk, at hey, det er her du rent faktisk gå for at få disse funktioner. Så # include siger, at der er disse funktioner eller andet sted. The-lcs50 siger, gå til denne plet i din computer - det er den CS50 bibliotek - og trække op den faktiske koden til disse funktioner. Giver det mening, alle? Så disse er alle ting, der er at hjælpe din compiler sammen med at gøre koden faktisk kører. Hurtig spørgsmål. Må folk ved, hvad en compiler er? God mening? Det er dybest set tager den skriftlige kode, som du har, konvertere den til binær, omdannes til maskinkode, så din computer kan faktisk forstå det. Og uden videre, vi kommer til at gå ind i den mere faktiske kodning øvelser, som du fyre vil have nogle sjove synker tænderne i, og Lexi vil gå over det. LEXI ROSS: Okay. Awesome. Så vi vil gå over to spørgsmål her. Så den første rent faktisk, kan du se, det er en lille smule small lige her, men i bund og det er beder dig om at skrive et program til at tage nogle brugerinput. Jeg er ikke sikker på, hvorfor der er en sort firkant der. Det er mystisk. Det bør være fint, selv om. Så det vil have dig til at tage en bruger input i Celsius, konvertere denne til Fahrenheit, og derefter fortælle brugeren hvad temperaturen ville være i Fahrenheit. Så du kan se et eksempel input / output sekvens her. Brugeren indgange - efter Celsius henviser fed til brugerinput. Så brugerindgange 100, og programmet udgange Fahrenheit, 212,0. Og en vigtig sondring i dette program er, at vi er vil kun have én decimal, så vi vil se, hvordan du gør at så godt. Og så en anden ting at bemærke er, at vi bruger a.out fordi Dunk, compileren, automatisk navngiver sit binære filer a.out medmindre du angiver det med en vis flag til at give det sit eget navn, men for nu skal vi bare skal bruge standard a.out. Så lad os faktisk tage et par minutter, og prøv at skrive ud noget kode for denne selv. Så det er 4:15. Så på 4:20, vil vi komme tilbage og - oh, højre. Spaces. Cool. Det er lidt ligesom det, vi kalder skelet kode i det Det er et skelet, men du er nødt til at udfylde kødet af program til rent faktisk at gøre det køre. Så du kan se det # include direktiver deroppe at omfatte CS50 og stdio. Jeg bemærkede i en kommentar den egentlige formel for omregning Celsius til Fahrenheit, hvis du ikke kan huske fra høj skole videnskab eller whatnot. Og så er det bare et skelet for den egentlige funktion. Så alt, hvad du skriver kommer til at gå her. Og for rent faktisk at komme til dette rum - så CS50 Spaces kan tilgås via denne webadresse, som Dan er vil skrive på tavlen, og jeg vil diktere så godt. DAN BRADLEY: cs50.net/spaces-- LEXI ROSS: / qWLc - Jeg er ked af, y. DAN BRADLEY: Y?. LEXI ROSS: Nej, nej, nej, nej. Det er fint. qYLcYWfg. Så jeg burde se alles navne slags dukker op her. Awesome. Det ser godt ud. Det betyder, at folk melder sig ind i rummet. Så hvis du ikke har fået en chance for at spille rundt i Spaces endnu, det er faktisk, hvad du skal bruge med dine TF'er i afsnit alt semester. Sådan virker det er slags alle skriver deres egen kode, og ingen kan se det, indtil du trykker på Gem knap, som jeg peger på lige nu. Så jeg har tænkt mig at trykke på Gem, og hvis du går alle til mit navn, som du bør være i stand til at se det i Folk i dette Space, der er Lexis Beryl Ross. Så hvordan det kommer til at se ud er du klikker på mit navn, og du kommer til at se Revision 5, som er den seneste revision. Kopier kun Revision 5 ind i jeres rum ved at klikke på det. Ok. Så lad os gå igennem dette problem sammen, og jeg er faktisk kommer til at skrive koden op her på skærmen. Du kan zoome ind en lille smule. Og så snart jeg er færdig, kan du kopiere min seneste revision ind i jeres rum, at hvis du vil se den endelige løsning. Nu Spaces har kapacitet for mig at gå ind og se nogen af den kode, du fyre har skrevet, men bare fordi det er en så stor del, og vi ikke rigtig har samme slags diskussioner kapaciteter som en mindre sektion, vi bare kommer til at gå igennem, og jeg bare at skrive koden. Men absolut stoppe mig med spørgsmål på noget tidspunkt. Vi vil gå igennem den slags trin for trin for at gøre sikker på at vi forstår de enkelte dele af, hvad der foregår her. Kan alle se denne tekst her? Er der nogen ønsker den større? Så hvad er den første ting, vi skal gøre her? Nå det væsentlige, da vi ønsker at få input fra bruger og vi ønsker det skal være sådan en god oplevelse for bruger, vi rent faktisk ønsker at fortælle dem, hvad vi leder efter. Så lad os udskrive præcis, hvad vi ønsker, danner brugeren. Så bare ikke gider at hæve din hånd, bare rasler det ud. Hvad er kommandoen til at udskrive noget på skærmen? PUBLIKUM: printf. LEXI ROSS: Awesome. Okay, så printf. PUBLIKUM: Hey, Lexi? [Uhørlig]? LEXI ROSS: Sure. Så printf, som vi har set ofte i foredrag, er det kommando om at udskrive noget til den standard output stream. Så vi vil bede brugeren om at indtaste en temperatur i Celsius. Og nu har vi faktisk ønsker at tage det input, de giver os og gemme den i en variabel. Så vi har lært lidt om typer. Kan nogen huske hvad type vi ønsker for en variabel med et decimal i det? PUBLIKUM: Float. LEXI ROSS: Float. Ja, awesome. Det er en float. So. Og hvordan skal vi - stort vink - få flyde fra brugeren? PUBLIKUM: GetFloat. LEXI ROSS: Yeah. Cool. Og brugeren kunne potentielt betyde, og forsøge at give os et negativt tal, men lad os ikke bekymre dig om, at der for dette problem nu. Du kommer til at bekymre sig om, at en lille smule mere på din lektier på problemet sæt. Så lad os antage at de giver os en god nummer, og nu har vi faktisk nødt til at konvertere denne flyde fra Celsius til Fahrenheit. Så lad os høre vores formel op her, og lad os skabe en ny variabel og kalder det Fahrenheit. Jeg studerede stavning. Det er lidt crazy, jeg kender. Og lad os regne med rækkefølgen af ​​operationer til slags gøre sit job her, men vi vil bruge parenteser bare for at være helt verbose og klar. Så Celsius gange 9 divideret med 5. Jeg har tænkt mig at zoome ud bare en lille smule, så det kan passe på én linje, men jeg vil zoome ind igen for dem, der ikke kan se, længere i ryggen. Ked af det. Strange markøren spørgsmål. Plus 32. Okay, nogen der har nogen spørgsmål om, hvordan jeg sætter i formlen, eller eventuelle problemer med det? Yeah. PUBLIKUM: Har vi brug for at sætte printf før svømmeren celsius, flyde Fahrenheit script linjer? Betyder det noget, hvilken rækkefølge de er i? LEXI ROSS: Så spørgsmålet var, har vi brug for printf før vi selv beder om svømmeren? Svaret er, at vi gør. På den måde, at markøren som brugeren får lov til at indtaste deres float vil ske efter det trykte c, right? Og det giver mening, hvis du tænker over logisk, ligesom du spørger brugeren et spørgsmål, og så er du modtager et svar. Så det udskriver c, og så er der en markør, så den Brugeren kan indtaste værdien, som vi vil se senere, når vi Demo. Ja? PUBLIKUM: Hvorfor bruger vi en flyder og ikke en dobbelt? LEXI ROSS: Så en dobbelt, det væsentlige, som navnet indebærer, giver os den dobbelte mængde præcision som en float. Men typisk i C, i dette naturligvis for en række grunde, vi kommer til at bruge flåd. Og det er virkelig alt den præcision, vi har brug for bare for slags grundlæggende tempera konverteringer. Typisk doubler er mere anvendt i Java-sproget, flåd er mere almindelige i C. Okay, awesome. DAN BRADLEY: En mere. LEXI ROSS: En mere. Ja? PUBLIKUM: Hvor vil du placere Space Bar? Ligesom, [uhørlig] Space Bar [uhørligt]? Betyder det noget? LEXI ROSS: Åh, nej. Så det gør ikke noget. Jeg faktisk skulle have sagt på en anden plads her. Men hvad betyder sagen er, at du er konsekvent hele din kode. Så hvis du beslutter at bruge en stil af afstand, så sørg for at holde det hele hele din kode, eller du kan få stil fratrukket point. Så konsistens er nøglen. DAN BRADLEY: Jeg tror, ​​han talte om det pågældende rum. LEXI ROSS: Åh, du taler om, at rummet? Ved den faktiske C? PUBLIKUM: Yeah. LEXI ROSS: Åh, så det er bare for udseende, right? Så på den måde, når vi kører koden, hvis vi ikke havde denne plads her, hvis det lignede dette, ville brugeren starte skrive i antallet og det ville være knust op højre mod tyktarmen efter C, og det ville se ud lidt bedre, hvis der var et mellemrum. Og du kan se, at en lille smule bedre, når vi faktisk køre denne kode, når vi får det færdigt. Awesome. Ja, endnu et spørgsmål. PUBLIKUM: Skal jeg nødt til at sætte et decimaltegn efter en af ​​de [Uhørlig]? LEXI ROSS: Så du ikke, på grund af rækkefølgen af operationer. Så fordi Fahrenheit er allerede en float, som er Celsius, behøver du ikke eksplicit kaste nogen af ​​disse andre numre som flåd, selvom der i andre omstændigheder, når du beskæftiger sig med int'er, kan du nødt til at sætte et punkt til eksplicit kastede det som en float. Ja? PUBLIKUM: Jeg var bare undrende hvis akkumulerende spørgsmål i disse kommandoer som GetFloat? LEXI ROSS: Ja, godt spørgsmål. Så spørgsmålet var, betyder aktivering stof i kommandoer som GetFloat? Svaret er ja, det gør det. Så GetFloat er, som Dan beskrev tidligere, et bibliotek funktion i CS50 biblioteket, og det blev skrevet som kapital G, hovedstaden F. Så hvis du ikke skriver det med disse hovedstæder der er compileren ikke kommer til at forstå, hvad fungerer du refererer til. Okay. Ja? PUBLIKUM: Er argument til main altid ugyldig? LEXI ROSS: Ja, det er en anden stor spørgsmål. Så den kode, du har kopieret fra min plads fejlagtigt havde nogle flere argumenter. Så spørgsmålet var, er argumentet for den primære funktion altid ugyldig, som i det væsentlige betyder intet? Svaret er nej. Du vil måske bemærke, at den kode, du kopierede fra min tidligere revision havde hvad kan ligne noget, der virkelig gør mening lige nu, nogle char *, argv, argc. Må ikke bekymre dig om det for nu, men du vil finde ud af senere på de gør en forskel. Men hvis du ikke bruger den slags ekstra funktionalitet som du vil lære om senere, ugyldig er helt fint. Ok. Og vi har endnu et skridt, som er at vi ønsker at faktisk vise brugeren, hvad det konverterede temperatur er. Så igen, vi kommer til at bruge printf, og lad os sige f, bare hensyn til sammenhængen. Og nu skal vi til at gøre noget lidt tricky. Så vi kommer til at bruge et flag, eller en særlig form for notation, at fortælle printf til kun udskrive én decimal. Og er der nogen tilfældigvis vide, hvad der kommer til at se ud gerne, før jeg skriver det ud? Ja? PUBLIKUM: 0,2% f? LEXI ROSS: Yeah, yeah. Så faktisk, det er virkelig tæt. 0.01f for .01% f, og så må vi huske at medtage det andet argument til printf, som er variabel i sig selv, der er n. En sidste skridt. Kan nogen huske, hvad der er i vores vigtigste funktion? Ja, deroppe. PUBLIKUM: Return? LEXI ROSS: Præcis. Så da dette er de vigtigste afkast i int, vi ønsker at også vende tilbage i int. DAN BRADLEY: Procent skal være på den anden side. LEXI ROSS: Okay. Undskyld, gutter. Det var en fejltagelse. Så procent kommer før 0,01. Så det er% 0,01 f. Det er slags svært at huske. Mange mennesker, som mig, se bare dem op når vi bruger dem. Ja, deroppe. PUBLIKUM: Hvorfor er det 0,01 og ikke 0,2 eller 0,1? LEXI ROSS: Jeg ved det ikke, faktisk. Kender du? DAN BRADLEY: Grunden til at det er 0,01 i modsætning til 0,02, eller 0,2, eller 0,1, er temmelig vilkårligt til den måde, hvorpå programmør oprindeligt designet det. PUBLIKUM: Det er ikke, hvad jeg mente. Jeg beder ikke om årsagen. [Uhørlig] hvorfor. Jeg har det skrevet som 0,2, og den leverer to - DAN BRADLEY: Yeah. Så vi var kun ønsker én. PUBLIKUM: Åh, Okay. Så du kunne 0,01 derefter. DAN BRADLEY: 0,1 ville sandsynligvis også virke. 0,01 fungerer så godt. LEXI ROSS: Oh, kan 0 være at vise nul, hvis det er mindre end én. DAN BRADLEY: Ja, jeg tror det er rigtigt. Så 0,01 ville vise et nul, hvis den ikke har noget der ville gå der naturligt. Så hvis du var, siger, at sætte i 100 for Celsius, ville det komme ud til 212 normalt i Fahrenheit, ligesom 212 præcist. Hvis du har 0,01, vil det vise 212,0, som i modsætning til blot 212. LEXI ROSS: Det er rigtigt. Så læser det dybest set fortæller printf, udskrive et komma, og udskrive en 0 hvis det er nødvendigt. Hvis ikke, skal du udskrive den første decimal position. DAN BRADLEY: Og vi vil udforske nogle af dette, når vi er faktisk kører koden. LEXI ROSS: Yeah. PUBLIKUM: Så jeg satte 0,1. Det er stadig udskriver sin nul. DAN BRADLEY: Det er stadig udskriver sin nul? PUBLIKUM: Yeah. DAN BRADLEY: Hm, okay. LEXI ROSS: Cool. Ok. Flere spørgsmål om denne kode, før jeg kompilere og køre? Er der nogen se nogen bugs her først og fremmest? Enhver ser noget, der burde være her? Hvis dette var dit problem sæt, hvad der ville være her, er ikke der lige nu? Ja, godt. Så jeg ikke medtage kommentarer, fordi jeg leverer dem mundtligt, men hvis jeg skulle skrive dette i et problem sæt, jeg ville definitivt vil sætte kommentarer til angive, hvad jeg gør i det væsentlige i programmet. Og du vil slags få en fornemmelse for det, som du bevæger dig igennem semestret, den rigtige mængde af høringssvarene. Du ønsker ikke at være alt for ordrige og sat linjer og linjer af kommentarer til hver af dine linjer kode, men du ønsker heller ikke at være ikke verbose nok og forlader læseren til at forsøge at regne ud, hvad dælen din kode gør. Okay, cool. Lad os prøve at køre denne kode. Okay, jeg kommer til at zoome ud en lille smule. Cool. Så du vil opdage at der er en play-knappen her. Lad os klikke på Afspil. Så du vil opdage her, ligesom i spec på problemet indstillet, er der. / a.out. a.out er navnet på filen eksekverbar, som er en langt ord for blot en fil bestående af binær kode, din computer er faktisk kører. Så som vi forventede, vi har C her. Så kalde et nummer. PUBLIKUM: 23. LEXI ROSS: 23. DAN BRADLEY: Dit program tog for lang tid at køre. Bare kør den igen. LEXI ROSS: Oh, min dårlige. Okay. Spaces er kræsne tider. Det ønsker dig til at tænke på dine fødder. Okay, 23. Awesome. Skal alle tro dette? Cool, fordi det virker. Okay. Lad os prøve et par mere. Lad os prøve en kant tilfældet her. I datalogi, når vi taler om kant sager, vi mener sager til dit program til at køre, som er slags på den meget kanter af rimelige input eller at prøvningsresultaterne visse hjørner af logikken i dit program, og det giver mere mening, når vi gøre mere komplicerede programmer. Lad os prøve 0. Awesome. Vi kender alle denne. Cool. Har du flere spørgsmål om dette, før jeg flytter videre til næste program? Okay, awesome. Så nu vil vi - vil du bare bruge min computer? DAN BRADLEY: Ja, det er nemt nok. Okay, så kommer til at gå og snakke om at lave procentsatser. Så vi er væsentlige i denne næste lille øvelse, der går til tage to heltal input fra brugeren, håber på en ikke-negative tæller og en positiv nævner, og dybest set dele dem og udsende hvad der kommer ud som en procent. Så vi vil have det til kun at acceptere ikke-negative tællere og acceptere kun positive nævnere, og at spørge for nye, hvis det ikke har fået, hvad den ønsker. Okay? Så giv det en go. LEXI ROSS: Oh yeah, du ønsker at gøre det - oh, måske folk skal kopiere min kode. DAN BRADLEY: Yeah. LEXI ROSS: [uhørligt] Spaces. PUBLIKUM: Jeg har et spørgsmål. Hvis jeg bruger Spaces, og jeg vil gemme [uhørlig] den Fahrenheit konvertering, gemmer jeg det og derefter lave en ny - LEXI ROSS: Vi kunne bare lave en ny Space, eller du kan bare ønsker at kopiere og indsætte det i en tekstfil eller noget, så du har det. DAN BRADLEY: Jeg vil bare ændre mit navn. LEXI ROSS: Så jeg har lige reddet den seneste revision af tofahrenheit.c, så hvis du går ind i AAAA Lexis Beryl Ross, kan du gå ind og kopiere det nyeste kode, og derefter starte på denne nye, som jeg tror Dan kommer til at give nogle skelet kode for så godt. Okay. DAN BRADLEY: Den seneste revision jeg har på mine, så Det er helt i top denne gang, er revision 4, og det vil have, hvad du behøver for at komme i gang. LEXI ROSS: Okay, og jeg vil kopiere det til mine så godt. DAN BRADLEY: Okay. Jeg tror, ​​vi vil bare begynde at gå over dette, hvis nogen er interesseret. LEXI ROSS: Vi er alle interesserede. DAN BRADLEY: Vi vil starte ud blot ved at erklære visse variabler. Så vi har en tæller og af hensyn til nu vil jeg bare starte den med værdien -1, og så vil jeg oprette en gør-while-løkke. Mens - så når jeg ønsker det loop? Hvornår vil jeg have det at holde beder - yeah? PUBLIKUM: Når det er mindre end eller lig med nul. DAN BRADLEY: Hvorfor kan det ikke være lig med nul? PUBLIKUM: [uhørlig]. DAN BRADLEY: Yeah. Så for tælleren, er det bare, mens tælleren er mindre end nul. Giver det mening for folk? Vi holder looping mens tælleren er mindre end nul, holder vi beder om nye input, og holde krævende, at de input nye ting. Så jeg vil bare have en lille printf herinde, ikke-negativ num -. Og så gør vi det samme som før, medmindre vi gør en GetInt, bare fordi vi ønskede at gøre det som procentdele af int'er. Så tæller = GetInt. Okay, nu et par ting. Har jeg brug for dette -1 her? PUBLIKUM: [uhørlig]. DAN BRADLEY: Nej. Hvorfor ikke? PUBLIKUM: Fordi du får en tilfældig værdi fra brugeren. DAN BRADLEY: Præcis. Men jeg ønsker at få erklæringen herude? Ja. Hvorfor? PUBLIKUM: Du er nødt til at finde på ydersiden af ​​løkken. Ellers er du ikke vil have variablen for resten af programmet. DAN BRADLEY: Præcis. Scope. Sweet. Giver det mening for alle? PUBLIKUM: Kan du sige det en gang til? DAN BRADLEY: Okay. Så hvis jeg skulle erklære denne tælleren inde i løkken, hvis Jeg havde dette i stedet for tælleren er int tæller, og jeg sluppet af med denne helt, tælleren ville forsvinde. Det ville ikke eksistere uden for dette loop, fordi alt er inden for rammerne af disse krøllede parenteser. Give mening? Okay. Så for nævneren, gør vi noget nogenlunde ens, int nævner = - og jeg har ikke brug for lig - gøre, og for det mens i denne sag, hvad jeg vil? Hvilken tilstand vil jeg have det til endnu loop på? PUBLIKUM: Mindre end eller lig med 0. DAN BRADLEY: Mindre end eller lig med 0. Nævner <= 0. Glem ikke dine semikoloner, børn. Så vi gør det samme som før, printf en positiv nævner, og vi får int herfra. Der vi går. GetInt. Okay. Og så i sidste ende ønsker vi at udskrive nogle procent. Så for at gøre dette, hvad skal vores streng se ud? printf. Alle andre ideer om hvad jeg kan gøre her? Ja? PUBLIKUM: Måske% 0,2 [uhørlig]. DAN BRADLEY: Yep. Okay. Jeg starter med den første bit,% .02%%, citater, komma. Og jeg har tænkt mig at smide en ny linje i her, bare fordi jeg ligesom nye linjer, når jeg gør tingene på. Hvilken slags matematiske udtryk skal jeg have her? PUBLIKUM: Parenteser og flyde. DAN BRADLEY: Good. Hvorfor kan jeg ønsker at have det i float? PUBLIKUM: [uhørlig]. DAN BRADLEY: Godt, godt. Flyde. PUBLIKUM: Tæller. DAN BRADLEY: Tæller? Okay, så jeg gør float tæller. PUBLIKUM: Opdelt efter - DAN BRADLEY: Opdelt efter? PUBLIKUM: Nævner. DAN BRADLEY: Skal jeg gøre lige nævner, eller gør jeg float fællesnævner? PUBLIKUM: Just nævner. DAN BRADLEY: Okay. PUBLIKUM: Og du kan formere sig, at med 100. DAN BRADLEY: Og jeg ganger det med 100. PUBLIKUM: Og så parenteserne omkring hele udtrykket. DAN BRADLEY: Yep. Okay. Se godt? Lad os prøve det. -50. Godt, 50. 0 og 100, 50%. Det virkede ligesom vi ønskede. Betyder denne kode mening at folk? Jeg har tænkt mig at gemme den, så du kan få en kopi af den. Ja? PUBLIKUM: Hvorfor går du ikke behøver at sætte [uhørligt]? DAN BRADLEY: Hvor? PUBLIKUM: Ligesom, når du siger nævner lig [Uhørlig]. DAN BRADLEY: Når jeg har det her? Hvorfor skulle jeg have int før det? PUBLIKUM: Fordi den anden har int før det. DAN BRADLEY: Nå, så det var ikke i en løkke, right? Så jeg erklære denne int fællesnævner over løkken, og jeg har ikke det i loop, fordi jeg ville være erklære den en masse gange, og det ville faktisk ikke bære over til et andet sted i programmet. LEXI ROSS: Ja, det vigtige ting at huske er, at variabler kun skal opgives én gang. Så forestille mig, det er ligesom at indføre en ny variabel ind i verden ved at kalde det int eller float eller whatnot, og når den er erklæret, alt hvad du behøver at gøre for at ændre det er bare kalde det ved dets rette navn: nævner, eller x, eller y. Du behøver kun at faktisk kalde det en int bare én gang. DAN BRADLEY: Yeah. PUBLIKUM: Kan du forklare forskellen mellem% d og% f, og hvis du nogensinde erklære et variabel som en decimal? DAN BRADLEY: Så% d og% f herinde? LEXI ROSS: Så d faktisk refererer til blot et ciffer, ikke decimal, der er slags forvirrende. Der er ingen egentlige datatype kaldet decimal, og når du ønsker at udskrive en int, du henvise til det som% d, eller %-Whatever-d. F er for float, som man skulle tro det ville være i, men det er faktisk d for int. DAN BRADLEY: Yep? PUBLIKUM: Så i det andet program, hvorfor vi ikke bare gøre det samme, når du siger Fahrenheit? Hvorfor har vi ikke sagt, gerne -? DAN BRADLEY: I bunden her? Du kunne have. Det ville have været helt legitimt. Jeg kan godt lide at gøre det på denne måde, andre mennesker kan lide at adskille det ud i forskellige linjer kode. Enten måde fungerer fint. Hvad sker der? PUBLIKUM: Kan du forklare, hvad%% [Uhørlig]? DAN BRADLEY: Okay, så procent, procent. Right, blev jeg kommer til at gå over dette. Den første procent kaldes en flugt karakter, og det bare siger ting bag dette er faktisk ikke kode. Så denne første procent, til højre, den% 0,02 f, alle dem% 0,02 f betyde noget for printf som en funktion. %%, Jeg ville bare have det til faktisk bare udskrive en procenttegn. Så jeg siger ikke der er noget vigtigt bag det. Jeg siger bare, at der er et procenttegn bag det. Venligst udskrive et procenttegn. Så procent, så en anden procent. PUBLIKUM: Kan du vise, hvad det ville se ud, hvis du har flyde baseret på en anden linje? DAN BRADLEY: Oh yeah, helt sikkert. Så jeg bliver bedt om at vise, hvad det ville se ud, hvis jeg havde denne float tæller, alt dette matematik, på en anden linje. Så float procent = - og jeg ville slippe af med dette og bare sætte i procent. Og det gør præcis de samme ting, jeg bare har en anden variabel. PUBLIKUM: [uhørlig]. DAN BRADLEY: Rul ned til hvad? PUBLIKUM: Så jeg kan se [uhørlig]. DAN BRADLEY: Hvad kan du ikke se? PUBLIKUM: Undskyld, jeg var [uhørlig]. DAN BRADLEY: Yeah. PUBLIKUM: Så hvis vi erstatter escape-tegnet, formoder, at vi ønskede at have et dollartegn i stedet, bare for Eksempelvis et dollartegn bag procent? DAN BRADLEY: Nope. Det er bare en dollar, bare én dollar tegn, fordi en dollar tegn betyder ikke noget for printf. Spørgsmålet var, har jeg brug for at have en flugt karakter for symboler som dollartegn? PUBLIKUM: So slags relaterede, er der andre sager, vi bør vide, hvornår noget som procent tegn kan betyde noget [uhørligt]? LEXI ROSS: Ja. Ikke nødvendigvis procent tegn, men den omvendte skråstreg, se hvordan vi har backlash ende her? Lad os sige, at vi faktisk ønskede at udskrive en modreaktion, ville vi have at undslippe, at - og det kommer til at lyde forvirrende - med en anden backslash. Så hvis vi ønskede at udskrive \ \, ville vi bare nødt til at skrive det, eller yderligere backslash, en anden flugt. Og en anden, hvis vi ønsker at udskrive et tilbud - så Dybest set noget den slags betegner noget særligt i en streng, ønsker vi at flygte. Så lad os sige, at vi rent faktisk ønsker at have et citat her, ville vi ønsker at gøre \ ". PUBLIKUM: Så det er normalt en backslash? DAN BRADLEY: Det er normalt en backslash. LEXI ROSS: Yeah. Af en eller anden grund i her, er det et procenttegn. PUBLIKUM: [uhørligt]? DAN BRADLEY: Denne fyr? Dette er blot for at sige, de ting, der bliver delt her er kommer til at blive behandlet som en svømmer af hensyn til divisionen. Så i tilfælde af 50 divideret med 100, hvis jeg ikke havde flyde der, ville det bare være 0. Det er alt, der ville komme ud, fordi 50 divideret med 100, hvis du ikke herunder eventuelle decimaler, er 0. - og alt efter kommaet er bare afskåret fra. PUBLIKUM: Um, hvorfor gør vi ikke sætte det før nævner så godt? DAN BRADLEY: Så grunden til at vi ikke sætter det foran nævner er fordi når du dividere noget ved et heltal, det virker fint. Har et større antal på bunden ændrer ikke noget. Du kan dividere med heltal fint. Det bare ikke rigtig noget. Du kunne, ville det ikke ændre noget. PUBLIKUM: Så hvis du ønskede tre decimaler, ville du sætte procent 0,03? DAN BRADLEY: Yep. Du ville sætte% 0,03 hvis du ønskede tre decimaler. Publikum: og DO kommandoer, hvad er forskellen mellem det og bare gøre, mens på toppen? DAN BRADLEY: Så en gør-mens versus en while-løkke er to nogenlunde tilsvarende kommandoer. Den eneste forskel er, at du køre koden én gang, du kører kode inde i løkken én gang før gøre nogen egentlig kontrol. Så det er også grunden til at jeg kan sige nævner uden at give det et nummer. Så hvis jeg sagde int fællesnævner, og derefter, mens (nævner <= 0), er det måske aldrig selv køre koden indeni. Det vil gøre, at kontrollen før - så her. Så hvis jeg havde denne while-løkke her, ville jeg have nævner lig, siger, -2 eller nogle tal mindre end eller lig med 0, så det ville faktisk prøve at køre koden indersiden først. Så generelt, du ønsker at bruge en gør-while-løkke i stedet for en while-løkke, når du beder om input fra brugeren fordi der kører koden en gang, beder om noget brugeren vil give dig er generelt din bedste løsning, i modsætning til bare tillidsfuld, hvad du putter i til at starte med. PUBLIKUM: Og gøre, er altid efterfulgt af et stykke tid. DAN BRADLEY: Gør efterfølges af nogle stykke kode, som du ønsker at udføre, og derefter mens nogle betingelse er. LEXI ROSS: Tænk på det som en kommando slags brudt op i to dele. Det er en gør-stykke tid, ikke som her er en gør, og så er jeg vil tilføje et stykke tid, det er bare en gør-tid. PUBLIKUM: Jeg forstår grunden til, at du bruger to procent tegn, men kan du forklare mig, hvorfor vi er nødt til at have [uhørligt]? DAN BRADLEY: Okay, så det ene procentpoint tegnet bare sige printf, her er en kommando, som jeg vil have dig til fyldes med en vis nummeret. Så jeg vil have dig til at fylde det med to decimaler og en flyde, og du vil finde svømmeren ved udgangen af ​​den kommando, det er denne procent. Giver det mening? PUBLIKUM: Yep. DAN BRADLEY: Okay. PUBLIKUM: Er der noget om det do-while-løkke, hvis betingelsen ikke er opfyldt, hvis du får en negativt tal for din tælleren, vil det bare holde spørger og vil holde beder brugeren? DAN BRADLEY: Yeah. Så hvis tilstand mens er ikke opfyldt ved udgangen af do-stykke tid, vil det køre tilbage til start. Det er bare en løkke. Så det er ligesom en while-løkke, at betingelsen ikke har været opfyldt på. Det bare kører en gang mere. Yeah. PUBLIKUM: Så hvis du gør dette, kan du, for din tid, sætte to betingelser i? DAN BRADLEY: Du kan. Det afhænger af, hvad du spørger. Så du kan sætte to betingelser i en while-løkke, hvis du har det alle inden for en form for boolesk operator, som lyder grimt, men det er dybest set denne nævneren er mindre end eller lig med nul, enten returnerer sand eller falsk, right? Det er enten mindre end eller lig med nul eller ikke. Så du kan gøre andre booleske operatorer, der vil sige, mens dette gælder også, eller mens dette er også forkert. Så det er ting som og tæller er større end nul, ikke? Det er at spørge, vil dette kun løkke, mens nævneren er mindre end nul, og du har en positiv tæller. PUBLIKUM: Og du gør de to AND, right? DAN BRADLEY: To AND. LEXI ROSS: Vi dækker det mere senere. PUBLIKUM: Hvad hvis nogen ikke sat i en positiv fællesnævner? Hvis de sat i en negativ tæller, kan du bede dem til, siger, sat i en ikke-negativ tæller og have en kommando til det? DAN BRADLEY: Du kunne. PUBLIKUM: Lige nu er det bare siger ikke-negative tæller. Hvad ville blive brugt til det? DAN BRADLEY: Så du ville have en hvis betingelse, så gerne, hvis tælleren er mindre end nul. LEXI ROSS: Du ville sandsynligvis blot ønsker at bryde det op i flere skridt, right? Så den første gang de sætter i input, vil vi bare sige at give os en tælleren eller whatnot. Og så hvis de gør noget forkert, kan dette være tilfældet for en while-løkke, snarere end en gør-mens, fordi vi har første gang vi har GetInt og derefter mens input er dårlig, vi ved med at spørge dem til yderligere input med en forskellige slags tekst, havde ligesom der ikke virker eller give os en ikke-negativ tæller i stedet, den slags ting. DAN BRADLEY: Ja? PUBLIKUM: Hvordan du fjerner de ting, [uhørligt] terminalen? LEXI ROSS: Klart. DAN BRADLEY: Ja, du kan ikke skrive i den. LEXI ROSS: Faktisk er dette ikke en reel terminal. Spørgsmålet var, hvordan du klart, at ting dernede? Svaret er, det er ikke en rigtig terminal, men lad os sige, at du er i en rigtig terminal. Ryd. Åh, det er en kat. DAN BRADLEY: [uhørligt]? Det er den der, ikke? LEXI ROSS: Nej, det er alle mine ting. DAN BRADLEY: [uhørlig]. LEXI ROSS: Der kører vi. DAN BRADLEY: Ja? PUBLIKUM: Er klar arbejde, hvis du har - gerne sige, at du kører et program [uhørlig] og det er spørger dig for noget, og du ikke vil. Hvordan du - DAN BRADLEY: Ctrl + C? LEXI ROSS: Yeah. Så hvis du kører et program og noget ikke at gå den måde du ønsker det, og du blot ønsker at afslutte det hele program, Control + C. Selv hvis du er på en Mac, ikke Apple + C, Control + C. PUBLIKUM: Har du har den korrekte version i revision i din profil? DAN BRADLEY: Jeg tror, ​​det er gemt, er det ikke? Yeah. LEXI ROSS: Dette er rummet. Yeah. Jeg synes det er Revision 11. DAN BRADLEY: Ja? PUBLIKUM: Er C gør nogen antagelser om, hvad en variabel er hvis du definerer en variabel, men ikke tildele noget til det samme? DAN BRADLEY: Så det vil kun acceptere int'er i at stedet. Så hvis du erklære den - PUBLIKUM: Hvis jeg bare gjorde int nævner semikolon, gør det antager, at det er lig med nul eller et vilkårligt antal -? DAN BRADLEY: Nope. Så hvis du ikke tildeler, siger, int fællesnævner for enhver værdi, det kunne være hvad som helst. Det er den gamle hukommelse, der var i den pågældende placering. Så det kunne være negativ 2 mia kunne det være positivt 2 milliarder og det kunne være hvor som helst i mellem. Så hvis du faktisk kører tingene, så sørg for, at du tildele en værdi til variablerne. Dette betyder det ikke noget, fordi vi er straks tildele den værdi, men generelt set, ja. Andre spørgsmål? LEXI ROSS: Vi kan også bare tage generelle spørgsmål på dette punkt på foredrag materiale, s. sæt materiale, noget, du har undret om, dette er et godt tidspunkt at spørge dem. PUBLIKUM: Så i walkthroughs, Zamyla nævnte runde funktion. Ville du have noget imod at uddybe, hvordan man gennemfører det? LEXI ROSS: Sure, hvordan gennemføre det? PUBLIKUM: Hun sagde, at det var rund. LEXI ROSS: Oh yeah. Så bare så vi alle har samme ordforråd og kram, redskab generelt betyder faktisk skriver fra bunden. Og så jeg tror ikke, hun talte om slags skrivning den runde funktion. Hun sandsynligvis blot betød hvordan man bruger det. Implement betyder lidt ligesom at skabe. Så generelt en tid, hvor vi ønsker at bruge den runde funktion er jeg betyde, sortere af, for eksempel, hvis du vil runde. Kan du give mig en lille smule mere sammenhæng om, hvad problem var? PUBLIKUM: For at undgå unøjagtigheder i decimaler ved at gøre dem en flyder. LEXI ROSS: Yeah. Så spørgsmålet med flåd, at vi har sådan hentydet til, er at på grund af den måde, de er gemt i maskinen, de er ikke 100% præcis på den måde, du måske tror din lommeregner ville gemme dem. Det er svært for mig at vise et eksempel uden at vide hvad sammenhæng var fra. Jeg ved det ikke, kan du tænke på noget, Dan? DAN BRADLEY: Så hvis du beder om, siger, tal større end 10, og du bruger flåd, og du tilføjer en til en svømmer hver gang, vil det nogle gange vente, indtil du har fået til 12, før det vil sige, det er faktisk en række større end 10. Flyder har nogle alvorlige problemer lige mellem den 32. og 33. decimal, der vil gå, så er det måske 9,9999999, eller det kunne være 10.0000001, right? Det er ikke rigtigt skelne mellem de to, så hvis du er venter på noget større end eller lig med 10, som du måske ikke komme der på, hvad du synes er den 10. iteration. Du kan få der i det 11.. LEXI ROSS: Væsentlige, yeah. Når du looping over en masse flåd, det er når den upræcise ske. PUBLIKUM: Jeg tror, ​​så dybest set, det er ligesom på p indstillet, vil have dig til runde float værdi, og hvis du lægger i 4,24 for mængden af ​​forandring, du har brug tilbage, hvis du bare gøre gange 100, vil det faktisk skifte til 423 - DAN BRADLEY: Nogle gange, ja. PUBLIKUM: Så jeg tror, ​​det er ligesom, hvordan kan du bruge den runde funktion i den konkrete kode for at gøre det, så det ikke gøre det? DAN BRADLEY: Så hvis du er afrunding 424 ved at multiplicere det med 100 og gøre det til et helt tal, vil det undertiden gøre den 423 på grund af denne manglende præcision. Og så ting, du kan gøre, er blot tilføje 0,0000003. PUBLIKUM: Men jeg tror faktisk, de vil os at bruge den runde. DAN BRADLEY: Den runde funktion? Der er sikkert en matematisk funktion, noget i math-bibliotek. PUBLIKUM: # include matematik. DAN BRADLEY: # include , og der er sandsynligvis en rund funktion. PUBLIKUM: Ligesom runde () -? LEXI ROSS: Væsentlige, fordi du ønsker at afrunde til nærmeste cent. DAN BRADLEY: Lad os trække op man-siderne. Så et praktisk værktøj, hvis du ikke kender - du trækker op terminal - er, hvis du går til mennesket matematik. LEXI ROSS: Cool. Så du kan se, så mennesket er en forkortelse for manuel, ikke mennesket, og det giver dig mulighed for at se op mere information om en given funktion eller det bibliotek, du kan beskæftige sig med. Så jeg lige har skrevet i mennesket matematik. Lad mig zoome ind DAN BRADLEY: Vi kan prøve at køre man rundt, også. LEXI ROSS: Sure. DAN BRADLEY: Og dette vil liste ud - mand matematik vil opremse alt, der er i math-biblioteket, som vi vil inkludere. Ja, vi har også runde. LEXI ROSS: Så jeg gjorde bare mand rundt. Du kan se her i synopsis, det siger # include , så det er lidt ligesom cs50.h, stdio.h. Og det ser ud som det faktisk er overbelastet, hvilket betyder det tager forskellige typer af argumenter, så du kan afslutte doubler eller flåd. DAN BRADLEY: Runde versus roundf. LEXI ROSS: Roundf. Har Zamyla nævne roundf versus runde? PUBLIKUM: I walkthrough, var det bare rund (). DAN BRADLEY: Okay, så hun sandsynligvis var ved hjælp af dobbelt, derefter, i modsætning til en svømmer. Okay, så du ville ganges med 100 og derefter runde det, og du ville få det antal tættest på det, jeg tror. LEXI ROSS: Så runde returnerer funktionen integralet værdi nærmest x afrunding halvvejs sager væk fra 0, uanset den aktuelle afrunding retning. Så det væsentlige, ville du ønsker at kun runde, når du er på et heltal værdi, så du gange med 100 og derefter rundt. Betyder det mere mening? PUBLIKUM: For at bruge denne funktion i en C-fil, har du brug for sætte runde float, gerne, hvis din variabel hedder q, har du sætte runde (float) q, og derefter en parentes, eller kan du bare sætte runde, og derefter Q i parentes? DAN BRADLEY: Så hvis du prøvede at bruge denne funktion faktisk, ville du tage at q, er Q en float, eller hvordan er det erklærede? PUBLIKUM: Q er en float. DAN BRADLEY: Så hvis q er erklæret som en svømmer, ville du bare tage runde, og derefter give det q. Du har måske til at erklære det som en dobbelt i dette tilfælde. LEXI ROSS: Ja, medmindre du ønsker at bruge roundf. PUBLIKUM: Jeg kunne bare bruge roundf, og derefter q i anførselstegn? DAN BRADLEY: Nej, ikke i citationstegn, bare q. PUBLIKUM: Beklager, ikke i citationstegn, i parentes. DAN BRADLEY: I parentes, yeah. LEXI ROSS: Undskyld det var en lille smule forvirrende. Flere spørgsmål? DAN BRADLEY: Ja? PUBLIKUM: Så runde kun runder til heltal? LEXI ROSS: Ja. DAN BRADLEY: Ja, runde kun runder til heltal. PUBLIKUM: Så hvis du ønskede at have noget eksakt at skulle være [hørbar] ganget med 100, og derefter divideret med 100 igen, hvis du ønskede at -? LEXI ROSS: Så hvis du ønskede at få det ind i en decimal form? PUBLIKUM: Nå eksempel, for eksempel [uhørligt] du har 1,25, og derefter [uhørlig] 1,24, hvis du ønsker at beholde det som 1,25, du ville formere sig, at med 100, afrund det, og derefter dividere det med 100 igen for at få 1,25? LEXI ROSS: Yeah. Så spørgsmålet er, da afrunding, som manden siden siger, afrundes til nærmeste heltallige værdi, betyder det at man ønsker at gange med 100, skal du gøre afrunding, og dividere med 100 igen til, sige, få den korrekte dollars og cents værdi? Og svaret er -? DAN BRADLEY: Nej. Jeg mener, hvis du bare får en float værdi, hvis du starter med en float værdi på 1,25, er det sådan det kommer til at blive fortolkes. Så hvis du ganger det med 100 og derefter dividere det med 100, det er stadig i gang, skal fortolkes således 1,25, eller eventuelt 1,249 ... .. 999. LEXI ROSS: Jeg tror, ​​at spørgsmålet var ligesom, du ville formere, derefter bruge runde, og derefter dele, så det er ligesom - DAN BRADLEY: Yeah. Jeg tror stadig ikke det ændrer noget, selv om. Jeg synes det er stille. LEXI ROSS: Fordi runde gør - det bruger heltal. Så hvis du prøver at runde 1,25, du bare få 1. Så jeg tror, ​​for at komme ligesom den ekstra præcision, hvis det er det du taler om. PUBLIKUM: Så i hvilke tilfælde bruger du runde, så? DAN BRADLEY: Så i dette tilfælde, hvis du vil have, siger, at antallet af cent fra $ 1,25, ville du gange med 100, rund, få 125, og lade det være som det, som cent, i modsætning til at forsøge at konvertere den tilbage i dollars og cents. LEXI ROSS: Oh yeah, yeah, helt sikkert. PUBLIKUM: Hvorfor har du brug for at afrunde at [uhørligt]? DAN BRADLEY: Så hvis man ganger det med 100 og derefter umiddelbart konvertere det til et helt tal, der er større anvendelig form, det er når du beskæftige sig med det upræcist, ikke sandt? Så det kan være 124.999999, og så hvis du derefter konvertere det til et heltal, det bare falder alt fra det er under decimaltegnet. PUBLIKUM: Så det vil give dig [uhørlig]. DAN BRADLEY: Præcis, i stedet for 125, som er hvorfor du ønsker at afrunde. PUBLIKUM: Beklager, kan du gentage, hvad du sagde, at du bør gøre i modsætning til, hvad du ikke bør gøre? DAN BRADLEY: Okay. Så hvad du skal gøre er, hvis du starter med 1,25, formere det med 100, og derefter rundt at hele tal, at 125 eller 124.9999, og få det til nærmeste hele tal. PUBLIKUM: Så hvis du runde, der sætter det til nærmeste heltal? DAN BRADLEY: Yeah. PUBLIKUM: Er der en måde at begrænse, hvis du beder om en svømmer der skal indlæses, er der en måde til at begrænse, hvor mange decimal steder kan du indtaste et float til? LEXI ROSS: Ikke brug af CS50 gennemførelse. Jeg mener, kan du tælle, hvor stor input er givet ved brugeren, men det kræver en ny implementering af GetFloat, og så du ikke behøver at bekymre dig om det. DAN BRADLEY: Så hvis de, siger, indgang 1,256, kunne du bare bruge 1,25, eller du kunne gøre 1,26. Uanset hvad, jeg tror gennemførelsen siger du kan - PUBLIKUM: Du kan bare have det rundt til - DAN BRADLEY: Uanset hvad det vil, ja, så længe du gør en slags afrunding. Noget andet? Behøver ikke at være om afrunding. LEXI ROSS: Ja? PUBLIKUM: Hvis vi ønsker at kontrollere, om den stil af vores kode er hensigtsmæssigt eller den bedste stil at det kan være, er, at den slags ting, vi ville bringe op i sektion, eller på kontortid, er eller at den slags ting vi kan sende privat på ting, på diskussion, og derefter spørge til råds om? LEXI ROSS: Så gør vi ikke, at kontortid eller på CS50 Diskuter, vil vi faktisk ikke klasse din p sæt i forvejen for stil, men jeg tror nok den mest nyttige ting du kunne gøre ville være at se på eksempler, og du bør kunne finde, at i afsnitskendetegn, som bør være distribueres online, samt foredrag objektglas, der bør være eksempler på kode. Men hvis du har individuelle spørgsmål om et bestemt stil spørgsmål, absolut velkommen til at bede om, at den CS50 Diskuter, og kontortid, eller på din egen tid. Men hvis det er mere en generel kig på min kode, er det bedst at form for brug eksempler og forsøge at passe din kode til det. Og jeg tror, ​​der er en style guide på - DAN BRADLEY: Der er den stil guide. Stilen guide er awesome. Den lærer dig alt hvad du behøver, og den dækker temmelig meget hver eksempel, man kender, eller i det mindste at jeg kender dem. Noget andet? Ok. Cool, gutter. LEXI ROSS: Hav en dejlig dag. DAN BRADLEY: Tak for at komme.