Lucas Freitas: OK, I guess tani ne jemi të gjallë. Mirë se vini në CS50 Supersection. Ne jemi pak të rehatshme. Emri im është Lucas Freitas. Unë jam një CS50 Shef NGP. Kjo është Lauren. Lauren Carvalho: Hi, unë jam Lauren. Unë jam gjithashtu TF Shef për CS50. Lucas Freitas: Sot ne jemi vetëm do për të dhënë një pasqyrë të asaj që të gjithë ju djema kanë mësuar në javën e parë, shpresojmë se për të ju jap djema një të mirë kuptim me atë që ju duhet të dini për problemin vendosur një të tillë. Shpalljet Vetëm një çift. Para së gjithash, orarit të punës. Orari i punës janë duke ndodhur nga e hëna deri të enjten në shtëpi të ndryshme në Annenberg çdo ditë. Ata janë një burim shumë të mirë për ju djemtë të vijnë dhe të bëjnë pyetje, dhe bisedoni me TFS, dhe madje edhe të këmbimit ide me studentët e tjerë. Pra, të jetë i sigurt për të përdorur këtë burim në favorin tuaj. Gjëja e dytë është CS50 Appliance. Për fundit [e padëgjueshme] ju djema nuk duhet të vërtetë kanë një aplikim. Ju vetëm e bëri çdo gjë në kompjuterin tuaj personal. Por për këtë problem, ju në fakt kanë që të ketë një makinë virtuale, në mënyrë të i sigurt për të shkarkuar CS50 Appliance dhe e ngriti. Dhe gjëja e tretë është të jetë i sigurt për të fillojnë problemin vendosur vetëm ASAP sepse është shumë më e lehtë për të gjetur ndihmojë kur ju jeni në në fillim të javës. Për shkak se njerëzit kanë tendencë që të presin deri në të dytë e kaluar për të filluar vendosur problemit, dhe pastaj ju shkoni për të orarit të punës, dhe ka shumë njerëz. Ku në qoftë se ju shkoni të hënën, ju do të jeni për të parë që ju mund të bisedoni me TFS shumë e shumë për të gjithë natën, dhe ata do të jenë më shumë se të lumtur për të ju ndihmuar. Lauren Carvalho: A mund të ndalet vetëm ju për vetëm një të dytë? Ka qenë në gjendje për të shkarkuar të gjithë Appliance CS50? Kanë provuar njerëzit? Lucas Freitas: Për të shkarkuar, duke mënyrë, ju mund të merrni udhëzime në cs50.net/appliance. Lauren Carvalho: E drejta. Dhe ajo ka marrë pak kohë për tonë Administratorët SYS për të marrë ju një licencë kyç, kështu që të nënshkruajë për gjykim të lirë të parë. Në këtë mënyrë ju do të keni atë për 30 ditë, dhe pastaj të presin për një leje e cila duhet të jap për ju për një vit. Lucas Freitas: Para së gjithash, le të flasim pak rreth CS50 Appliance. CS50 Appliance është në fakt një virtuale makinë që ju jeni do të të kandidojë në kompjuterin tuaj e cila është në thelb drejtimin e një kompjuter tjetër brenda kompjuterin tuaj. Cili është pretty cool. Dhe në fakt është përdorur kudo. Njerëzit të cilët të teknologjisë do të dinë se kjo është përdorur gjatë gjithë kohës. ju? A mund të kenë kompjutera të shumta në një pajisje. Le të bëjmë një vështrim në të vërtetë në Appliance. Kur ju shkoni në Appliance pas regjistrimin, ju jeni do të duhet të vënë emrin tuaj dhe hyni te Harvard kështu që ne mund të merrni ju të gjithë të regjistruar. Ju do të shihni në thelb vetëm një letër-muri, dhe pastaj Faqja e Trash, dhe atëherë këto ikona të vogla. Kjo tre ikona në të vërtetë janë më të gjëra të rëndësishme që ju mund të keni në Appliance tuaj. I pari është gedit, i cili është një tekst editor, ashtu si Notepad-in apo si çdo lloj editor teksti. Kjo është vetëm diçka që ne përdorim për të shkruar Kodi dhe pastaj të bëjë gjëra me të. Gjëja e dytë që ne kemi këtu është Chrome. Pra, nëse ju duhet të përdorni internetin në Appliance, kjo është atë që ju mund të përdorni. Dhe gjëja e tretë është terminali, e cila është në të vërtetë shumë e ëmbël. Njerëzit zakonisht janë të frikësuar lloj i terminal sepse është kjo shumë e Aplikimi modës së vjetër në të cilën ju vetëm në thelb shkruani çdo gjë me keyboard tuaj. Nuk është shumë e ndërveprimit me miun tuaj. Por në të vërtetë terminali bën gjëra shumë të mira. Para së gjithash, le të vetëm të kalojnë nëpër disa komanda që ju mund të përdorin në terminal. Lauren Carvalho: Dhe të ndjehen të lirë për të ndaluar Na nëse keni ndonjë pyetje. Lucas Freitas: Po. Pra, komanda e parë që ne kemi për terminalin është ls. ls thelb do të thotë lista çdo gjë, të gjithë dosjet dhe të gjithë drejtorët, që unë kam në vendin që unë jam në. Pra, në qoftë se bëj ls këtu, unë jam duke shkuar për të parë se unë kam disa directories. Kam desktop, e shkarkime, shkrimet, dhe VHOSTs. Ata janë në ngjyrë blu, sepse ata janë të gjitha directories. Pastaj ju keni disa fotografi të tjera. Ju keni si përshëndetje dhe hello.c, e cila janë vetëm fotografi, dhe ata janë në ngjyra të ndryshme. Pra, kjo është një komandë shumë e rëndësishme vetëm ju mund të shihni se cilat janë fotografi dhe directories që ju duhet në directory që ju jeni në në terminalin. Kur e shihni jharvard @ aplikim dhe pastaj simbol pak atje, tilde, që vetëm do të thotë se kjo është directory që ju të jeni në këtë moment. Lauren Carvalho: Pra, shtypja ls është pothuajse si klikuar në dosje që është e drejtë të listuara atje, në kjo tregon ju të gjithë përmbajtjen që janë brenda atë dosje. Audienca: A ka tekst pas hello.c? Lauren Carvalho: Oh, ju nuk mund të të shihni se, sepse kjo është blu. Lucas Freitas: Ajo thotë shkrimet dhe VHOSTs. Lauren Carvalho: Këto janë vetëm dosjet e tjera. Më vjen keq, është e vërtetë e vështirë për të parë. Ndoshta nëse ne fikur dritat? Colton, nuk ju duan të përpiqen dhe të të gjeni të kaloni dritë? Na vjen keq për këtë. Unë nuk mendoj për këtë. Lucas Freitas: Por është në thelb - vërtet, në qoftë se ju mund të - Lauren Carvalho: Zoom në ekranin tuaj. Lucas Freitas: Unë nuk e bëj kanë atë funksion. Lauren Carvalho: [padëgjueshme]. OK. E pra, nuk është vetëm një shumë e natyrshme dritë në këtë dhomë si. Lucas Freitas: Le të supozojmë se ka dy drejtorive të tjera atje. Lauren Carvalho: Vetëm të kesh durim me ne. Kjo është vetëm pjesa që ju do të kërkoni në terminalin. Lucas Freitas: Komanda tjetër është në thelb ndoshta ju doni të organizojnë fotografi tuaj - për shembull, të gjitha dosjet tuaja C në një directory-, por ju nuk keni një directory vetëm për C fotografi ende. Ju në thelb mund të krijojë një directory përdorur terminal si dhe, e cila është e njëjta gjë si të klikuar dhe duke thënë New Folder. Komandës është të bëjë dosjen, e cila është mkdir, kështu që në thelb "të bërë" dhe "Directory." Dhe pastaj ju mund të bëjnë emrin e directory. Le të thonë se kam kërkuar për të quhet, Unë nuk e di, le të themi pset1 bësh këtë, unë vetëm krijuar një directory. Le të kontrolloni se ai është atje. Pra, në qoftë se bëj ls dhe tani shoh shkrimet, dhe atëherë pset1, dhe pastaj VHOSTs. Pra, unë kam të directory të re atje. Dhe pastaj pasi ju keni një drejtori të re, ndoshta ju doni të lundruar në të, kështu që komanda e ardhshme kësaj cd, të cilat vetëm në thelb do të thotë të shkojnë në një directory specifike. Pra, nëse unë dua të shkoj në pset1, Unë mund të bëjë vetëm cd pset1. Lauren Carvalho: cd qëndron për ndryshim directory, [e padëgjueshme] në gjendje të mos harroni se. Lucas Freitas: Dhe tani që ju të shihni se në vend të vetëm duke pasur jharvard aplikim, kam jharvard aplikim, dhe pastaj pset1, për shkak se është treguar mua ku unë jam në këtë kompjuter. Tani në qoftë se unë dua të kthehem në Lista që ishte përpara kësaj, unë mund të bëjë një cd dot dot, që vetëm do të thotë të shkojnë në directory që isha më parë, si prind i këtij directory, në thelb. Dhe tani unë shoh se unë jam përsëri në jharvard. Gjë tjetër që unë mund ta bëjë këtë është rm, e cila është hequr një fotografi. Për shembull, le të parë të bëjmë ls për të parë se çfarë kam këtu. Unë kam përshëndetje dhe hello.c. Le të thonë se unë dua të hequr ato. Unë mund të bëj rm përshëndetje. Ajo do të thotë "të hequr fotografi të rregullt përshëndetje? "Dhe unë them" po. "Dhe tani, nëse unë të bëjë ls, unë shoh se është e nuk ekziston më. Nëse unë të përpiqet për të përdorur rm për një directory, pse, kjo nuk do për të ju lejojnë të bëni asgjë. Ajo do të të thënë, hej, ju nuk mund të hiqni një directory. Pra, ne kemi këtë tjetrin vijnë quajtur rmdir, të cilat vetëm në thelb do të thotë hiqni directory. Unë mund të, për shembull, hiqni pset1. Dhe në qoftë se unë bëj ls, unë nuk e bëj kanë më atë. Ndonjë pyetje në lidhje me këtë? Nuk ka? Po? Audienca: A është e rëndësishme që ju të lënë një hapësirë ​​pas - sa herë që ju filloni të shkruani diçka në? Lucas Freitas: Po. Nëse unë bëj pëlqen cd dhe direktorinë, Unë kam për të vënë një hapësirë. Çfarë hapësirë ​​jeni duke folur për? Lauren Carvalho: Hapësira në mes cd dhe [e padëgjueshme]. Lucas Freitas: Po, ju do të duhet të vënë hapësirat sepse cd është komandë, dhe pastaj string tjetër që ju lloji është në thelb directory. Pra, kjo është si një argument. Po? Audienca: Kur ju listë, të gjithë ata directories të ndryshme, apo jo? Lucas Freitas: Po, ata janë në directory. Audienca: Çfarë është dallimet midis drejtorive? Lucas Freitas: Ata janë vetëm dosje të ndryshme. Directory është një dosje në kompjuterin tuaj. Audienca: dosje Open. Lucas Freitas: Po, është vetëm një dosje të hapur. Lauren Carvalho: Mbi këtu, ato që janë në ngjyrë blu janë aktuale directories që ju mund të merrni në dhe të pastaj të shihni një bandë e gjërave që janë të në atë që është adekuate sepse ju nuk mund të vërtetë të lexoni ato në ngjyrë blu. Dhe ato në të bardhë janë vetëm fotografi që janë në dosjen aktuale. Lucas Freitas: Pra directories janë dosjet. Ato të tjera janë fotografi. Audienca: Çfarë është komanda për të rivendosur atë, ose të qartë atë? Lucas Freitas: Për të qartë? Lauren Carvalho: Për të qartë? Lucas Freitas: Unë mendoj se kjo është "e qartë." Po. Kështu që ju vetëm lloji qartë nëse ekranin tuaj është shumë i çrregullt. Çdo pyetje të tjera? Dhe ju do të mësoni një bandë e tjera urdhëron vetëm natyrisht gjatë Semestri sepse ata janë shumë të dobishme. Pra, tani le të flasim për hartimin. Biseduam për pseudokod dhe kodi burim dhe kod objekt. Dhe ka shumë të kodeve, dhe ndoshta ju djema janë të hutuar për atë. Le të flasim pak për atë që ndodh kur ju jeni duke shkruar një program, dhe ju përpilojnë atë, dhe ai bëhet një skedë të ekzekutueshme. Ata janë të gjitha fjalët që ju djema ndoshta dëgjuar, dhe ndoshta ju nuk jeni me të vërtetë i sigurt se çfarë po ndodh. Le të thonë, për shembull, se unë dua të shkruaj një program që thotë "hello." gjëja e parë që vjen në mendjen tuaj është ju lloj i të përpiqen për të menduar se si ju jeni do të bëni atë në mendjen tuaj, dhe ju jeni me siguri duke menduar në anglisht ose disa gjuhë të tjera, si natyrore gjuhës, ndoshta. Dhe pastaj ju mendoni se, mirë, në qoftë se unë dua të, për shembull, shkruaj një program që thotë "hello," unë do të fillojë një program, Unë do të shtypura hello, dhe pastaj unë do të mbaro programin. Kjo është pseudokod. Kjo është vetëm në thelb ju jeni duke u përpjekur për të dalë me një sekuencë të ngjarjeve se ju jeni do të bëni të jetë në gjendje për të shkruar një program. Pastaj ju keni kodin burim, dhe kodi burim nuk duhet të të jetë në mënyrë specifike në C. Ne jemi duke folur në lidhje me kod burim në C, sepse kjo është gjuha ne jemi mësuar, por sigurisht Kodi mund të jetë shumë e shumë të ndonjë gjuhë programimi që ju keni. Më vonë në semestrin, ju do të jeni për të mësuar gjuhë të tjera. Kjo është edhe kodin burim. Për shembull, këtu, ky është burimi im kodi, dhe atëherë unë jam i përfshirë një bibliotekë, dhe pastaj të filloj kryesore, dhe pastaj të shtypura. Dhe Laura do të flasim pak bit për të gjithë këtë. Pra, ky është kodi burim. Dhe çfarë është kodi objekt? Objekti është një bandë e zero dhe ato, në thelb. Çfarë ndodh është që ju fillimisht keni pseudokod, e cila është e gjitha në gjuhën angleze. Dhe Unë do të thotë, ju e kuptoni atë. Ndoshta miqtë tuaj të kuptojnë ajo, dhe shumica e njerëzve do të kuptojnë idenë. Por kompjuterët janë me të vërtetë memec, dhe ata nuk e kuptojnë anglisht, kështu që ju kanë të përkthehet se në diçka, zakonisht përkthyer në disa gjuhë programimi. Dhe ju mund të mendoj për një programimit Gjuha si lloj si një gjuhë që ju të tregoni se si kompjuteri juaj për të folur dhe të kuptuar. Ju jeni në thelb të shkruar diçka në një gjuhë që të dy ju dhe tuaj kompjuter kuptojnë. Kjo është kodi burim. Pra, duke shkuar formë pseudokod në burim Kodi, kjo e deri tek ju. Kjo është në thelb ju bërë programin tuaj. Por problemi është se kompjuter nuk ka as kuptojnë gjuhë programimi. Ajo nuk e kupton Kodi burim në të gjitha. Ajo në fakt vetëm e kupton zero dhe ato. Pra, ne kemi një gjë të tillë shumë të magjike të quajtur një përpilues, e cila në thelb është do të merrni burimi i quajtur që të ju shkroi në një gjuhë si ju dhe kompjuterin tuaj të flasin, dhe tani ju jeni duke shkuar për të transformuar atë në zero dhe ato. Pra, në thelb ajo që përpiluesit nuk është ajo merr kodin burim, në këtë rast C, ajo do të transformimin e saj në zero dhe ato që kompjuteri kupton dhe mund të bëjë një fotografi ekzekutueshme nga ajo. A ka kjo kuptim? Ju vetëm mund të mendoj për përpiluesit si një lloj përkthyesi që është duke ndihmuar ju të shpjegojë në kompjuter pikërisht ajo që është menduar për të bërë. Por si mund ta përpiloni. Le të kthehemi në Appliance, dhe le të themi se unë jam duke bërë atë program. Së pari unë jam duke shkuar për të krijuar një directory këtu, dhe unë jam duke shkuar për të thirrur atë "Praktikë." Tani unë jam duke shkuar për të lundruar në directory, kështu praktikë cd. Tani unë jam brenda praktikë. Tani unë dua të fillojë gedit, kështu që si mund ta bëni këtë? Unë ose mund të klikoni këtu, ose unë mund vetëm fjalë për fjalë të tipit "gedit", dhe kjo do të hapur për mua. Tani unë jam duke shkuar të tipit programin tim, kështu që pikërisht ajo që kam shkruar në rrëshqitje. Unë jam deklaruar një bibliotekë. Unë jam duke bërë int kryesore, zbrazëti. Dhe tani unë jam duke bërë printf, përshëndetje. Tani unë jam duke shkuar për të shpëtuar këtë. Më lejoni të vënë atë në praktikë, dhe Unë jam duke shkuar për të thirrur këtë hello.c. Deri tani është e ruajtur. Nëse unë dua të përpiloj atë, unë në fakt mund ta bëjë këtë në dy vende të ndryshme. Unë mund ta bëjë këtë në një dritare terminali, kështu që kjo e madhe, ose ju mund të përdorni gedit që në fakt ka një dritare terminali të drejtë këtu. Kështu që ju mund shumë të përshtatshme vetëm të bëjë kodin tuaj, dhe pastaj ju mund vetëm të shtypni çdo gjë këtu, dhe të përpiqen për të hartuar atë. Pra, si mund ta përpilojnë kodin? Mënyra më e lehtë që ne kemi është duke përdorur bëjë, e cila është një funksion që është në thelb do të përpilojnë kodin tuaj. Ju vetëm duhet të them të bërë hello, kështu "Të bërë" dhe emrin e programit. Oops. Kjo është e vështirë. Lauren Carvalho: A mund të [padëgjueshme]? Lucas Freitas: Na vjen keq. Unë nuk e shpëtoi atë në Lista e drejtë. Ejani për të praktikuar, dhe tani ruani atë si hello.c. Më vjen keq. Tani është e ruajtur. Më lejoni vetëm të bëjë ls dhe të jenë të i sigurt se ai është këtu. OK, tani ai është këtu. Pra, në qoftë se bëj bëj hello, ajo pështyn një shumë gjëra, por pastaj ajo vetëm jep me një tjetër linjë për terminalit, e cila do të thotë se ajo ishte e suksesshme. Deri tani në qoftë se bëj një ls përsëri, unë në fakt shih këtë skedar në të gjelbër, të cilat është skedar ekzekutues. Atëherë, nëse unë dua të drejtuar atë, të gjitha që Unë duhet të bëni është dot çaj përshëndetje. Ajo do të thonë hello të drejtë këtu, kështu që kjo është pikërisht ajo që unë jam duke kërkuar atë për të. Nuk është një mënyrë më shumë për hartimin, cila është përdorur tingulli. Tingëllimë është vetëm një përpilues që ne kemi, dhe kjo është pak më shumë fjalëshumë të përpiloj atë. Por ai punon ashtu si edhe. Pra, në qoftë se bëj tingulli, dhe pastaj-o, dhe pastaj emri që unë dua të jap të fotografi ekzekutueshme, kështu që le të themi "Hello." Dhe pastaj skedar që unë dua për të hartuar, hello.c. Ajo gjithashtu do të përpilojë. Dhe ju keni skedarin këtu, dhe Unë vetëm mund të ekzekutojë atë si të mirë. Kështu që të dy ata punojnë. A ka kjo kuptim? Ndonjë pyetje? Audienca: A mund të zoom në pak? Lucas Freitas: Na vjen keq? Audienca: Zoom në? Lauren Carvalho: Unë mendoj se ju vetëm mund të komandës plus. Lucas Freitas: Urdhëro çfarë? Lauren Carvalho: Komanda plus. Lucas Freitas: Jo. Lauren Carvalho: Oh, kjo nuk është e të shkojnë në punë, sepse - kjo është për shkak se ne kemi vendosur zgjidhjen për këtë gjë. Lucas Freitas: Unë nuk e bëj mendoj se ne mund të zoom in Po, ne nuk mund të zoom. A keni një pyetje tjetër? Më vjen keq. Audienca: A mund të përsëris tingulli? Lucas Freitas: tingëllimë? Tingëllimë është e njëjta gjë si të bëjë, por Dallimi është se së pari unë jam duke shkuar për të shkruar tingulli, e cila është komanda, atëherë unë jam duke shkuar për të bërë -0, të gjitha, e cila është vetëm ajo që ne jemi duke shkuar për mësojnë më vonë si një flamur. Pra, vetëm mendoni se ju gjithmonë kanë për të vënë në-o. Dhe pastaj e parë, ju do të jeni për të vënë Emri i skedë të ekzekutueshme, në thelb fotografi që ju jeni duke shkuar për të krijuar. Kështu që unë mund të them, për shembull, hello2 dhe atëherë fotografi që unë dua të hartojë, cila është. skedar c. Pra, kjo është hello.c. A ka kjo kuptim? Audienca: Përshëndetje çfarë? Çfarë është ajo? Lucas Freitas: Hello.c. Dhe në qoftë se unë hartojnë atë, dhe nëse Unë ls, unë gjithashtu kanë një hello2 që unë sapo hartuar. Dhe në qoftë se unë të përpiqen për të drejtuar atë, ajo do të bëjnë pikërisht të njëjtën gjë si përshëndetje, shkruar vetëm përshëndetje. Audienca: Si të vijë për make ju mund të bëjnë hello.c pas? Lucas Freitas: Në make, ju nuk kanë për të vënë në. c. Në bëjë, ju vetëm thoni emrin e programit. Ju nuk keni për të thënë. C. Por për tingëllim, ju duhet. Audienca: Me tingëllim bëni edhe ju kanë për të shtuar [e padëgjueshme] Lauren Carvalho: Po. Pra, ju gjithashtu duhet të bibliotekës. Lucas Freitas: Po, kjo është diçka ne do të përdorim më vonë. Kjo është quajtur lidh, dhe unë mendoj se ne jemi do të flasim për këtë më vonë. Një pyetje tjetër? Audienca: A keni vënë një tingëllimë dot slash? Lucas Freitas: Jo. Dot slash është vetëm për të hapur file ekzekutues. Pra tingëllimë, ju vetëm shkruani "tingulli," dhe atëherë në qoftë se ju doni të hapur fotografi ekzekutueshme që ju vetëm hartuar, atëherë ju keni dot plagë dhe emrin. A ka kjo kuptim? Audienca: Nëse ju do të vetëm ndryshim [Padëgjueshme] me botë Hello, a kanë për të përpiluar atë? Lucas Freitas: Po. në qoftë se unë dua të them, për shembull, "hello atje, "unë mund ta ruani atë vetëm tani, dhe unë vetëm përpiloni atë përsëri. Pra më lejoni të bëj një make përshëndetje. Dhe në qoftë se unë bëj hello, ajo do të thonë "hello atje." Ka kuptim? Çdo pyetje të tjera? Audienca: A ju duhet të përfshijë I standard / O për të koordinuar punën? Lucas Freitas: Po. I standard / O është në thelb bibliotekë që ka një Zbatimi për printf. Kështu që gjëja e drejtë në top përfshin stdio. Kjo është përfshirë një bibliotekë që në thelb ka një bandë e ndryshme mjete që ju mund të përdorni. një? Prej tyre është printf që është një funksion që në thelb printime mesazhe për ekran. Çdo pyetje të tjera? Nuk ka? OK. Pra, tani le të flasim për - Lauren Carvalho: Le të vetëm të shkoni në udhëzues stil. A doni të vetëm të gjeni atë në këtu? Lucas Freitas: Pra, ne jemi duke shkuar për të folur për stilin. Lauren Carvalho: Oh, David nuk e kishte përfunduar. OK. Pse nuk kemi ardhur përsëri në Stili në fund? Ka qenë në fakt përditësuar si ne flasim. Lucas Freitas: Po. Le rrugën që Davidi për të përfunduar atë. Lauren Carvalho: A mund ne kaloni në të vërtetë? Kështu që unë shpresoj se të gjithë ka qenë gëzuar Scratch. Për fat të keq, është koha për të lëvizin larg nga kjo - për fat të keq është koha për të lëvizur larg nga këto blloqe bukur programimit më të C. Por për fat të mirë, të gjitha të programimit ndërton që ju keni punuar me të në Scratch janë direkt përkthyeshme në C, dhe ne jemi do të fillojë për të mësuar rreth disa prej tyre tani. Flasim së pari le të rreth kushteve në shprehje Boolean. Kjo po kandidon në rezervë fuqinë e baterisë. Lucas Freitas: Sa është që nuk punon? OK. Ju shkoni atje, unë jam duke shkuar për të marrë - Lauren Carvalho: Pra, kushtet janë të rëndësishme sepse ato na lejojnë të të futur logjikën në programet tona. Ja një shembull i një gjendje brenda një programi C. Le të vini re se si kjo - Pra ky kusht bllok të drejtë këtu, kjo Deklarata printf nuk do të ekzekutojë përveç nëse kusht brenda kllapat, n madhe se 0, vlerësohet si e vërtetë. Tani, të gjitha kushtet brenda f Deklaratat janë shprehje Boolean, që nënkupton se janë vetëm dy opsione. Ata ose mund të vlerësojë të vërtetë, ose ata mund të vlerësojnë të rreme. Kështu që këtu, kështu që kjo ka kuptim, apo jo? n madhe se 0, nënkupton është pozitiv Numri, që do të thotë se ajo do të shtypura nga "ju kap një numër pozitiv." Ka shumë shprehje Boolean që mund të formojnë me gjendjen e një Deklarata e init. Ne kemi më pak se. Kjo eshte me pak se ose e barabartë me. Kjo është vetëm një qesharake [padëgjueshme]. Nëse ju doni printf të ndodhë në qoftë se është më e madhe se ose e barabartë me 0, pastaj ju do të zgjidhni këtë. Pra, vetëm të barabartë bashkangjet drejtë pasi më i madh se shenjë. Barabartë barabartë, i cili është i ndryshëm nga vetëm një shenjë të barabartë, të barabartë të barabartë në të vërtetë do të thotë se çdo gjë që të më majtë anën e kjo është e njëjtë si çfarë është në anën e djathtë të kësaj ku një shenjë të barabartë është ajo? Çfarë është vetëm një shenjë të barabartë? Caktimi. Lucas Freitas: Kush tha se? Është se karamele? Oh, jo. Më vjen keq. Më vjen keq. Ju të dy të marrë karamele. Oh, OK! Tre njerëz të merrni karamele! Lauren Carvalho: Pra, kjo e drejtë këtu është operatori zhurmë mëparshme shenjë të barabartë, kështu që kjo është jo të barabartë. Pra, në qoftë se kjo ishte në gjendjen time, trupi i gjendjes do ekzekutuar vetëm nëse çdo gjë-të në majtë nuk është e njëjtë si çfarë është në të djathtë. Unë gjithashtu mund të ketë vetëm pikë thirrje. Në fakt ne do të shohim në një funksion rrëshqitje se si kjo do të përdoret. Lucas Freitas: Çdo pyetje? Nuk ka? Lauren Carvalho: Ne mund të kombinohen këto Shprehjet Boolean të ndërtojnë më shumë Deklaratat e ndërlikuar të kushtëzuara. Kështu që këtu, në qoftë se çdo gjë e në të majtë anën e bare të dyfishta ose të çdo gjë që është në anën e djathtë të bare dyfishtë vlerëson të vërtetë, atëherë ne do të shtypura nga të pavlefshme. Dhe pastaj këtu poshtë, në rast të çfarëdo në anën e majtë të dy ampersands dhe pavarësisht së në të djathtë anën e dy ampersands vlerëson të vërtetë, atëherë ne do të shtypura nga të vlefshme. Bare dyfishtë janë quajtur logjike OSE operator të ampersands dyfishtë janë quajtur operator logjik DHE. Po? Audienca: A janë ata vetëm Rasti më i ulët l's? Lauren Carvalho: Jo. Ata janë në të vërtetë - ju e dini reagim të ashpër, si mbi kyç tuaj Kthim? A e shihni këtë? Lucas Freitas: Kjo është në fakt një bar. Lauren Carvalho: Kjo është në fakt vetëm dy bare. Audienca: Mund të përdorni të barabartë të barabartë për strings? Lucas Freitas: Jo. Ne jemi duke shkuar për të mësuar më vonë diçka për këtë. Lauren Carvalho: Ka një funksion që ju mund të përdorni. Por ju nuk keni për të shqetësohen se vetëm ende. Çka nëse unë jap këtë program numri 5? Çfarë do të shtypura nga? Audienca: [padëgjueshme] vlefshme. Lauren Carvalho: Valid? Po. Unë nuk e di se kush mori atë. [Të qeshura] Lauren Carvalho: Kjo është lloj e frikshme [padëgjueshme]. Audienca: Pra, të dyfishtë dhe, që vetëm do të thotë dhe? Lauren Carvalho: Po. Pra, numri 5 është edhe më e madhe se 0 dhe më pak se 100. Audienca: Pse do të jetë një? Lauren Carvalho: Një simbol është në të vërtetë diçka të ndryshme, dhe është e një operatori bitwise, të cilat ju do të të mësojnë për më vonë. Por kjo është diçka që në të vërtetë punon me pjesë të një numri të caktuar. Lucas Freitas: Vetëm se ata nuk e bëjnë duhet të shqetësohen për këtë tani për tani. Lauren Carvalho: Unë mendoj se është ndoshta vjen deri javën e ardhshme. Lucas Freitas: Çdo pyetje të tjera? Nuk ka? Lauren Carvalho: Pra, ne kemi parë që një ajo bllokojë mund të qëndrojë vetëm, por ajo mund të gjithashtu të çiftëzohet me dhe tjetër bllok. Kështu këtë rast, nëse n është më e madhe se 0, ne do të shtypura nga "You zgjedhur një numër pozitiv. "tjetër, që do të thotë nëse është 0 ose nëse kjo është më pak se 0, ne jemi duke shkuar për të shtypur jashtë, "Ju kap një numër negativ." Gjëja interesante këtu është se këto janë të veçantë nga njëri tjetrin. Ka kurrë nuk do të jetë një rast ku ky dhe kjo mund të të dy të shtypura nga. Unë jam i sigurt që ka punuar me të në qoftë / tjetër kuti në Scratch, kështu që kjo duhet të jetë e shumë e njohur. Po? Audienca: A kemi nevojë për hapësirën në mes të int n është e barabartë GetInt pastaj hapësirë ​​në në qoftë se deklarata? Ashtu si ne përdorim një linjë të [padëgjueshme] Lauren Carvalho: Oh, hapësira këtu? Audienca: Ashtu si kjo, por ju dyfishtë hapësirë. Jo, të shkojnë deri. Shkojnë deri. Lucas Freitas: Vetëm vija? Audienca: Po. Lucas Freitas: Vetëm vija bosh? Audienca: Po. Lauren Carvalho: Linja Blank? Jo. Kjo është vetëm një gjë e stilistike. Lucas Freitas: Kjo është vetëm si ndonjëherë ju vetëm të kaloni disa rreshta kështu se kodi nuk duket si një bllok të madh të tekstit. Lauren Carvalho: Unë mendoj se ajo që ka ndodhur ishte se kemi pasur një koment këtu, por unë mori atë jashtë në mënyrë që ju djema do të ketë për të menduar për kodin në vend se vetëm duke lexuar komentin tim. Në përgjithësi, ndarje nuk do të me të vërtetë ndikojnë në mënyrën programi juaj shkon. Kjo është më shumë një gjë stilistik. Dhe kur ne kemi udhëzues stil të përditësuar dhe gati të shkojnë në fund të supersection, ne do të flasim për këtë shumë. Ka një problem me ky program, e drejtë? Për shkak se 0 nuk është me të vërtetë një numër negativ. Pra, le të shohim nëse ne mund të rregullojmë se. Ju ndoshta mund të imagjinohet me këtë thotë, e drejtë? Nëse n është më i madh se 0, shtypim, "Ju zgjedhur një numër pozitiv. "Atëherë tjetër nëse n është më pak se 0, "të zgjedhur a Numri negative. "tjetër," Ju kap 0 ". Tani gjëja interesante është se kjo mund të zgjasë përjetë. Ju mund të keni një nëse bllok, një tjetër në qoftë se bllok, një tjetër tjetër në qoftë blloku, tjetër në qoftë se, tjetër në qoftë se, tjetër në qoftë se, tjetër, në thelb për aq kohë sa të doni. Kur ndërtohet si kjo, këto janë të gjitha do të jetë ekskluzive e njëri-tjetrit. Po? Audienca: Pra, pse nuk ju vetëm mund të përdorni tjetër në qoftë se në vend të [padëgjueshme]? Lauren Carvalho: Në këtë rast, po unë mund të përdorin një tjetër në qoftë se, dhe kjo do të ishte e absolutisht mirë sepse Kushtet vetë janë ekskluzive e njëri-tjetrit. Por në qoftë se kushtet nuk ishin ekskluzive nga njëri-tjetri, kjo do detyrojë ata që kurrë të dy të vlerësuar, në qoftë se ka kuptim. Audienca: Në këtë rast, mund të kemi fole e dyta në qoftë se në të parë nëse? Lauren Carvalho: Nëse - çfarë do të thotë? Audienca: Nëse dy kushte nuk janë reciprokisht ekskluzive? Lauren Carvalho: Nëse kushtet nuk janë reciprokisht ekskluzive? Por ju doni vetëm një prej tyre për të drejtuar? Audienca: Ju doni vetëm në qoftë se në vend të tjetër. Lauren Carvalho: Po. Ka gjithmonë do të jetë shumë për mënyrat që ju mund ta bëni këtë. Ju mund patjetër fole ato. Dhe ju do të shihni në një rrëshqitje të ardhmen që ju mund të keni IFS të shumta, vetëm një pas tjetrit. Por kjo është një mënyrë e logjikisht organizimin rrjedhën e programit tuaj. Lucas Freitas: Dhe nuk ka një më shumë gjë, është që ju të kërkuar për të vënë nëse dhe pastaj një tjetër në qoftë se. Kjo do të punojnë të përkryer, por është e keqe Dizajni sepse në thelb, nëse ju kontrolloni të parë nëse, dhe vini re se numri është më i madh se 0, qe vetëm mund të përfundojë programin. Ju nuk keni për të parë nëse kjo është më pak se 0, e drejtë? Por nëse ju bëni në qoftë se në qoftë se, ajo do të kontrolloni të dy, ndërsa në qoftë se unë bëj në qoftë se tjetër është, ajo do të kontrolloni nëse kjo është më e madhe se 0. Nëse është, ajo nuk do të shikoni edhe në vijën e tjera të formuar. Pra, ju jeni në thelb duke kontrolluar atë si dy herë në mënyrë të panevojshme, kështu që kjo është arsyeja pse ne bëni nëse tjetër në qoftë se. Çdo pyetje të tjera? Audienca: Pra funksionalitetin i tjetër në qoftë se është e njëjtë si në qoftë se ajo ishte vetëm në qoftë se? Lauren Carvalho: Jo. Ju jeni në të vërtetë duke shkuar për të parë në tim të ardhshëm rrëshqitje një shembull në të cilin ajo mund të të jenë të ndryshme. Në këtë rast, është pothuajse e njëjtë. Kështu që këtu, ne kemi një shembull të shumta nëse deklaratat dhe funksionalitetit nuk është e njëjtë sikur të kisha thënë vetëm nëse tjetër, nëse tjetër, nëse tjetër. Le të mendojmë për atë që do të shtypura në qoftë se unë të hyjë në numrin 95 në këtë program. Audienca: [padëgjueshme] Lauren Carvalho: Dhe pastaj? Audienca: [padëgjueshme] Lauren Carvalho: Po. Pra, në këtë rast, këto kushte janë të jo përjashtues reciprokisht nga njëri tjetrin. Dhe për shkak se nuk ka asgjë ndalimin ky kusht nga të vlerësuar nëse kjo një e tillë ka, ata janë vetëm të gjithë do të shtypura nga. Pra, si mund ta fix this? Audienca: IFS tjetër? Lauren Carvalho: Ju mund të përdorni tjeter me IFS. Unë mund të ndryshojë rendin prej tyre, apo jo? Nëse unë e bëri këtë një të parë? E pra, në të vërtetë, nuk ka. Kjo nuk do të punojë për 95. Lucas Freitas: Jo, vetëm tjetër IFS. Lauren Carvalho: tjetër IFS do të kishte fiksuar këtë. A do të qartë deri konfuzion midis VJ dhe tjetër IFS? Audienca: Unë vetëm të kërkuar për të ju pyes, nëse ju ka përdorur tjetër në qoftë se, ajo do të ndaluar? Lauren Carvalho: E drejta. Pra, vetëm kjo e para. Nëse unë hyrë numrin 95, vetëm kjo do të shtypura jashtë, dhe ajo kurrë nuk do të kishte përparuar në tjetër. Lucas Freitas: Vetëm lloj të mendojnë për ajo sikur kjo ndodh, e bëjnë këtë. Tjetër është si në qoftë se jo, kontrolloni për këtë, dhe pastaj të bëjë atë. Pra, si ata janë të gjithë të ndërsjelltë ekskluzive. Ju nuk mund të merrni në dy gjatë atyre. Audienca: Mund të përdorni një logjike Dhe për këtë situatë? Lauren Carvalho: Po. Kjo është një tjetër mënyrë që ne të mund të kanë fiksuar këtë problem. Ne jemi do të mund të përcaktohet shkon, apo jo? Kështu që unë mund të kishte thënë nëse n është më i madh se 90 dhe me pak se - mirë, unë mendoj se kjo nuk ka të vërtetë të rëndësi, por këtu unë mund të kishte thënë nëse n eshte me e madhe se 80 dhe me pak se 90. Më i madh se 70, më pak se 80. Kjo do të kishte punuar gjithashtu. [Të qeshura] Lucas Freitas: Ajo është e frikësuar. Lauren Carvalho: Mos kini frikë. Lucas Freitas: Kjo nuk është se ajo do të jetë e gabuar. Është vetëm se është e panevojshme fjalëshumë. Ashtu si në shkenca kompjuterike, e duhet të jetë aq e thjeshtë sa të jetë e mundur për sa kohë që ju keni funksionalitetin. A doni karamele? Audienca: A nuk nevojë për të. Lauren Carvalho: Ju jeni frikëson të gjithë, Lucas. Lucas Freitas: Na vjen keq. Lauren Carvalho: David përmendur edhe këto kaloni deklaratë në klasë. Në thelb ajo që po ndodh është kaloni Deklarata e merr një ndryshore. Në këtë rast, ne jemi duke marrë një numër të plotë. Nëse numër i plotë është 1, ne do të shtypura nga, "Ju kap një të vogël numër. "Nëse numër i plotë është 1," Ti zgjedhur një numër të mesme. "Nëse numër i plotë është 3, "Ti zgjedhur një të lartë numër. "Dhe unë gjithashtu kishte një rast të parazgjedhur poshtë këtu, por kjo nuk është treguar up, e cila është shumë e keqe. Në thelb, kjo është vetëm një tjetër sintaksë. Ne do të mund të zbatohet kjo e saktë njëjta gjë me të, nëse dhe tjetër në qoftë se deklarata. Por kur ka shumë të ndryshme Kushtet dhe shumë e ndryshme variacionet mbi atë që ju doni të bëni për çdo input, ky është një opsion. Pra, kjo është vetëm një sintaksë e mirë për të dini. Po? Audienca: Pse ka jo një backslash n në një të parë? Lauren Carvalho: Për deri atje? Nuk ka backslash n deri atje sepse GetInt - në qoftë se ju provoni këtë, ai do të ju jap këtë prompt. Më jepni një numër të plotë në mes të 1 dhe 3. Dhe në qoftë se kam vënë reagim të ashpër n, kjo do të marrë mua në rreshtin tjetër, por unë vetëm donte që ata të tipit integer menjëherë pas dy pika. Ju mund të kishin reagim n. Kjo nuk është një punë e madhe. Po? Audienca: Për këtë kod, është ky rast një, është që për shkak se është rasti i parë? Për shkak se - Lauren Carvalho: Jo, jo, jo. Pra, kjo është më jepni një numër të plotë në mes të 1 dhe 3. Nëse n është 1, I printuar kjo. Po të kisha kërkuar letra, unë mund të ketë tha më jep një letër në mes të A dhe C. Atëherë kjo do të ishte rasti A. Audienca: [padëgjueshme]. Rasti do të vetëm [padëgjueshme] Lauren Carvalho: Po, e drejtë. Po? Audienca: Çfarë nëse do të donit që të ketë shumë një shprehje relacion? Pra, në vend të thënë n është e barabartë me 1, [e padëgjueshme] n eshte me e madhe se 1, në rastin e parë? Lauren Carvalho: Në fakt, në qoftë se unë nuk e bëj përcaktuar disa nga këto raste, kjo do të të mbajnë poshtë. Pra në fakt, ndoshta kjo nuk është atë që ju jeni duke kërkuar. Lucas Freitas: Unë mendoj se ajo është pyetur nëse rasti ishte n më i madh se 0, rast vogël se 0. Lauren Carvalho: Ndoshta kaloni Deklarata nuk është me të vërtetë atë që ju dëshironi për të përdorur në këtë rast. Lucas Freitas: Deklarata switch është vetëm për vlerën, kështu që ju jeni duke kontrolluar të vlera është si këtë apo atë. Pra, ju nuk mund të vërtetë vënë kushte. Audienca: Çfarë ndodh nëse personi Llojet me [padëgjueshme]? Lauren Carvalho: Kjo do të ishte rasti im parazgjedhur, i cili për fat të keq ju nuk mund të shihni. Lucas Freitas: [padëgjueshme] t'i bëjë ata të shohin. Lauren Carvalho: Në fakt, ju e dini se çfarë? Le të shkojnë për të studiuar 50, dhe unë do të vetëm zoom në slides mbi studimin 50, sepse kjo është vetëm i bezdisshëm. Pra më lejoni të shkoj në të vërtetë në gjendje të. Kjo është vetëm do të të marrë një kohë pak. Dakord. Pra, unë jam i keq. Të paktën tani ne do të jetë në gjendje për të parë çdo gjë pa të ndërprerë. Dakord. Pra, në qoftë se ata vënë në një 10, ne do të parazgjedhur këtu për rastin tim parazgjedhur, dhe unë vetëm do të shtypura të pavlefshme për shkak se unë u kërkoi atyre që të hyjnë një numër të plotë në mes të 1 dhe 3. Çdo pyetje të tjera? Po? Audienca: Le të thonë se për një rast, rast tre, thonë se do të donit që ajo të jetë mbi të gjitha njëjtën gjë, kështu që ju kap një numër kjo nuk është një numër të mesme. Në këtë rast, do të ishte i tepërt? A do të vetëm të ndryshojë tekstin në të dy prej tyre, ose do të ketë disa tepricë? A ka ndonjë mënyrë për të kombinuar [Padëgjueshme]? Lauren Carvalho: Ka mënyra të kombinuar ato, por unë besoj se ju mund të vetëm kombinohen ato ngjitur. Pra, nëse unë nuk e përcakton asgjë për rastin e dytë, kjo do të zbatohen për të dyja rastet. Oh, në qoftë se nuk e kam vënë asgjë për rastin një, kjo do të zbatohet për të dy rast një dhe dy. Në qoftë se ka kuptim. Audienca: A mund të përsëris se një? Lucas Freitas: OK. Nëse e keni kryer në thelb, si, ju keni e njëjta gjë, por ju nuk e vënë çdo gjë këtu, ju do të jetë ose për rast një apo dy rast, e bëjnë këtë. E drejtë? Dhe kjo do të thotë pushim në qoftë se ju merrni në këtë rast, të lënë vetëm. Pra, kjo është ajo që do të thotë frenave. Pra, nëse unë vetëm e bëri këtë, ju shikoni, kjo është një rast, dhe ju do të bëni vetëm këtë. Në qoftë se kjo ishte rasti dy, ajo do të vetëm të vijnë këtu dhe të bëjë atë. Audienca: Por ju mund ta bëjë këtë? Nëse ka diçka për Rasti dy [e padëgjueshme] Lauren Carvalho: Unë nuk besoj ju mund ta bëni këtë. Unë nuk mendoj se ju mund të kaloni rreth. Mund të bëni këtë, Rob? Nuk ma ha mendja. Audienca: Pra, vetëm një numër i mund të shkojnë pas një rast, apo jo? Nuk mund të ketë një rast, comma, dy? Lucas Freitas: Jo, ju nuk mund. Ju definitivisht nuk mund. Lauren Carvalho: Unë do të thotë, pikë është ky është një opsion, dhe kjo mund të mos përshtaten rastin tuaj të përdorimit, kështu atëherë ju do të përdorni nëse kushtet. Audienca: Pra, pse do të bëni këtë? Kaloni? Lauren Carvalho: Unë do të përdorin këtë në qoftë se ju keni përcaktuar shumë - në të vërtetë, Lucas, po ju jeni bllokuar. Lucas Freitas: Oh, sorry. Lauren Carvalho: Nëse ju keni shumë të sjelljet e definuara që ju dëshironi për çdo input, kjo mund të jetë një pak më konciz se sa me shkrim nga një në qoftë se deklarata për secilën prej tyre. Audienca: Çfarë e bën break thotë përsëri? Lauren Carvalho: pushim do të thotë të ndaluar. Mos harroni, në qoftë se unë nuk e kanë këtë pushim këtu, ne do të kishte rënë vetëm poshtë në rastin e ardhshëm. Lucas Freitas: Pushim do të thotë për të marrë nga deklaratës lundrimi. Sepse në qoftë se është 1, I dua për të shtypur këtë dhe të lënë. Unë nuk dua për të kontrolluar çdo gjë tjetër. Audienca: Ju nuk doni për të shkruar ndonjë gjë tjetër. Lucas Freitas: Po. Sepse është e reciprokisht ekskluzive. Audienca: Dhe e bën këtë vetëm të vazhdojë në rastin tjetër nëse lënda e parë nuk është e vërtetë? Ose e bën atë të provoni të gjitha rastet në të njëjtën kohë? Lucas Freitas: Jo, kontrolle sequentially. Sequentially, po. Një pyetje më shumë, atëherë ne kemi marrë për të lëvizin në mënyrë që ne mund të mbulojë çdo gjë. Po? Audienca: Pra, për rastin, do të mund të ketë bërë diçka përveç vetëm një? A mund të jepte një gamë? Lucas Freitas: Jo. Lauren Carvalho: Unë nuk mendoj ju mund të jepte një gamë të. Lucas Freitas: Ju nuk mund ti nuk mund t'i jepte një gamë të. Audienca: Rasti është specifik [Padëgjueshme]. Lucas Freitas: Kaloni është lloj i vlerave. Ju duke bërë gjëra të ndryshme në varësi në një vlerë, një vlerë të veçantë. Ju nuk mund të bëjë varg, ju nuk mund të bëni ndonjë gjë tjetër. Kjo është vetëm një tjetër mjet për të parë. Lauren Carvalho: Shumica e njerëzve nuk e përdorin kaloni deklarata shumë në CS50, por është aty. Dakord. Pra, gjëja tjetër që ne do të flasim rreth është operatori tresh. Kjo është vetëm një tjetër lloj e kushtëzuar. Në thelb ajo që po ndodh këtu është unë jam duke kërkuar për një numër të plotë, dhe nëse n është më i madh se 100, unë jam duke shkuar për të shtypur jashtë "Të lartë." Nëse nuk është, unë jam duke shkuar për të shtypura nga "të ulët." Pra, çfarë është bërë është kusht i të drejtë këtu në kllapa, dhe ju mund të lloj të mendojnë diskutimit si unë jam duke kërkuar nëse kjo është e vërtetë apo jo. Nëse është e vërtetë, unë jam duke shkuar për të bërë këtë së pari gjë, dhe nëse kjo nuk është e vërtetë, unë jam i do të bëni këtë gjë të dytë. Çdo pyetje në lidhje me Operatori tresh? Lucas Freitas: Vetëm dua vini re nga David është se sa herë që ju keni një kusht - Lauren Carvalho: I guess David shikuar nëpërmjet lumë jetojnë. Lucas Freitas: Ai e bën Jeta lumë tani. Pra, sa herë që ju keni një gjendje, ju jeni menduar për të vënë formatimin e teksteve kaçurrel, ashtu si ne kemi në një switch Deklarata këtu. Ne kemi formatimin e teksteve kaçurrel këtu. Për çfarëdo kushte, ju jeni menduar për të vënë atë. Lauren Carvalho: Ju do të shihni kjo në udhëzues stil. Ne në fakt nuk kanë udhëzues stil tani. Unë mendoj Davidit ende duke punuar. Lucas Freitas: Ai ka thënë se ajo është vetëm duke punuar tani. Lauren Carvalho: Oh, është ajo duke punuar tani? OK. Pra, me sa duket këtë vit në stilin udhëzojë, edhe në qoftë se ju vetëm keni një linjë, ju keni marrë për të vënë ato formatimin e teksteve kaçurrel in Ju nuk domosdoshmërisht nevojë për të për funksionalitetin e programit. Dhe ndoshta ne duhet vetëm të marrë një pushim pasi kushtet dhe të shkojnë drejt në udhëzues stil të qartë deri disa nga këto gjëra? Lucas Freitas: Po. A keni një pyetje? Audienca: Jo, unë vetëm do të presim deri në udhëzues stil. Audienca: A mund të kthehemi operatorit tresh? Lauren Carvalho: tresh, po. Lucas Freitas: Operatori tresh është në thelb një deklaratë në qoftë tjetër, por në vend që të ketë dy linja të kontrolluar një nëse dhe pastaj tjetër, ju vetëm duhet një linjë. Pra, në thelb, nëse unë dua të jap një varg një vlerë të lartë apo të ulët, dhe unë doni të bëni një të lartë nëse n është më i madh se 100 ose të ulët në qoftë se është më pak, çfarë mund të bëj është ky [e padëgjueshme] string do të jetë, dhe atëherë unë kërkoni program është n më i madh se 100? Pra, kjo është arsyeja pse unë kam këtë shprehje në kllapa dhe pastaj pikëpyetje. Unë jam duke kërkuar është më e madhe se 100? Nëse është, ajo do të jetë e lartë. Nëse nuk është, ajo do të jetë e ulët. Pra, në thelb ajo që ju mendoni se është e ju kërkoni një pyetje, kështu që ju vënë në kllapa kusht. Pastaj ju vënë në pikëpyetje për shkak se ju jeni duke i kërkuar atë. Dhe nëse kjo është e vërtetë, ajo do të jetë e në vlerën e parë [padëgjueshme] këtu. Nëse nuk është, unë jam duke shkuar për të vënë vlerë që është pas dy pika. A ka kuptim? Është gjithashtu diçka që është si një mjet në C, por ju nuk keni për të në mënyrë specifike përdorin atë. Por njerëzit CS zakonisht pëlqen që sepse ajo vetëm kursen linja. Lauren Carvalho: Është shumë elegant. Ajo ka shumë në vetëm një deklaratë. Audienca: Pra shenjë për qind është çdo gjë vetëm rezultatet në vija e mëparshme? Lauren Carvalho: Oh, më vjen keq. Kjo shenjë qind është në të vërtetë një placeholder për këtë s. Në një deklaratë printf, ju keni marrë këtë string këtu, e cila është ajo që do të shtypura nga, por ju nuk mund vetëm të vënë këtë s në atje. Përndryshe ajo do të shtypura nga të s fjalë për fjalë. Pra, ne kemi vënë një qind këtu për të mbajtur ky vend mbajtur për çfarëdo vjen pas presjes. Pra, për një varg, ju keni marrë për qind s. Për një numër të plotë, për qind i. Për një noton, qind f. Ju do të shihni ata si ne parë më shumë shembuj. Por ndoshta ju duhet të flasim për udhëzues stil për pak kohë, tani që është deri. Lucas Freitas: Nëse ju shkoni në cs50.net/style, ju jeni do të shohim udhëzues stil. Për grupe me probleme, pikë për set problemi përbëhet nga fushëveprimi, e cila në thelb do të thotë në qoftë se keni kryer të gjitha pjesët e problemit të përcaktuara ose në qoftë se ju tentuar diçka. Gjëja e dytë është korrektësia, e cila do të thotë është programi juaj duke bërë atë që është menduar të jetë bërë, ose e bën atë kanë mete, apo nuk është ajo çfarë bën është menduar për të bërë. Gjëja e tretë është projektimi, që do të thotë po ju zbatimin e kësaj pus, ose janë ju duke përdorur deklaratat e panevojshme? Kështu për shembull, në qoftë se ju doni të përsëritur një numër 10 herë, po ju shkruar një për lak ose jeni vetëm duke bërë 10 herë të njëjtën deklaratë, vetëm duke bërë kopje dhe paste. Pra projektimit është për këtë. Dhe së fundi, ju keni stil. Style është vetëm si duke gjykuar në qoftë se kodi juaj duket lexueshëm dhe lloj goxha. Kjo vetëm në thelb do të thotë është kodi juaj i lexueshëm? A do dikush tjetër i cili ishte në kërkim të Kodi juaj të jetë në gjendje për të kuptuar se çfarë ajo është duke bërë? A do të ketë komente e si? Le të flasim për stilin që ju jemi duke menduar për t'u përdorur. Gjëja e parë është komente. Komentet janë shumë të rëndësishme për tuaja Kodi sepse ndonjëherë ju jeni duke bërë programi juaj, dhe ju e dini saktësisht se çfarë ju doni të bëni kështu që ju sapo të fillojë kodim, vetëm lloji deri një bandë e C. Por në qoftë se dikush tjetër është në kërkim të jeni të kodi, ata nuk do të jenë në gjendje të kuptojnë atë, sepse ata nuk e dinë gjërat që janë në kokën tuaj, si pesudocode, kështu që ndoshta ata do të e kanë të vështirë për të kuptuar çfarë është duke bërë kodi. Pra, komentet janë me të vërtetë të dobishme për të shpjeguar për dikë që është në kërkim të Kodi juaj se çfarë është bërë, dhe në fakt edhe për ju, ata janë shumë të dobishme. Si ju shkoni në Psets vështirë dhe të vështirë, ju jeni do të shohim se kodi merr më të gjatë, dhe pastaj komente janë me të vërtetë e rëndësishme në mënyrë që ju të mbani mend atë që çdo pjesë e programit tuaj ka. Për të vënë një koment, ju mund të bëni vetëm një çaj çaj dhe pastaj shkruaj një koment. Dhe linjë e tërë është pjesë e një komenti, dhe çdo gjë që ju shkruani, ajo nuk do të jetë përdoret për kodin tuaj. Kjo është në thelb si përpiluesit do të injorojë atë. A ka kjo kuptim? Audienca: Çfarë do të bëni përsëri për të shkruar një koment? Lucas Freitas: Kjo? Slash çaj? Sa herë që shkruani plagë Slash, çfarëdo është në atë linjë nuk është duke shkuar që do të konsiderohet të jetë C. Po? Audienca: Pra pas komentit, ju vetëm të hyjë dhe të fillojë një linjë të re? Lucas Freitas: Po, pikërisht. Lauren Carvalho: slash slash është për komentet linjë të vetme. Lucas Freitas: Për shembull, këtu ne kemi - më lejoni të zoom në - për shembull, këtu unë jam deklaruar një noton, por ndoshta në qoftë se ju vetëm vënë këtë në kodin tuaj, si ju nuk kanë idenë se ajo që kjo është duke bërë, si në të vërtetë dikush që është duke kërkuar në këtë kod do të jetë, si, çfarë dreq po ndodh? Nëse ju vendosni një koment duke thënë se "të kthyer Fahrenheit për Celsius, kjo e bën shumë më të më shumë kuptim. Ti je, sikur, OK, ju jeni duke bërë një konvertim. A ka kjo kuptim? Pra, kjo është vetëm diçka që i ndihmon njerëzit gati kodin tuaj dhe gjithashtu të bëjë të jetë në gjendje për të organizuar Kodi tuaj më të mirë. Gjëja e dytë është se ju mund të bëni Komentet multi-line, kështu që kanë një të tillë kjo video për një bandë e linjave. Në vend të që të vënë Slash plagë, komentet e linjës së pari, çaj çaj, rreshtin e dytë, dhe kështu me radhë, ju mund të përdorë yllin çaj. Mënyrë që ju të bëni atë që është për rreshtin e parë të komentit, ju jeni do të bëjë një yll yll slash, kështu vetëm si kjo. Ashtu si këtu kemi fillimin e një program, ju zakonisht vënë kush ju janë, çfarë bën ky program, dhe stuff like that. Kjo është lloj i si një goditje me kokë për programin. Përsëri, kjo nuk është diçka që një compiler do të intereson, por është e rëndësishme për ju të dini se çfarë ky Programi bën apo për njerëzit e tjerë të dini se çfarë është duke bërë programi juaj. Pra, ju nuk çaj yll yll, dhe pastaj linjë e fundit që ju do të jeni për të bërë yll çaj të jetë në gjendje për të mbyllur se komenti. Pra, në thelb për të gjitha linjat e tjera, ju mund të shkruani vetëm çfarëdo, dhe kjo është e gjitha do të të injorohen. Dhe gjithashtu, ashtu si stil, ju shihni se secila nga linjat ka një yll, dhe të gjitha yjet janë të theksuara. Këto janë gjëra të rëndësishme kështu se kodi juaj duket goxha. Tinguj e mirë? Tani, kushtet. Ajo që Davidi kishte thënë se ne duhet në të vërtetë vënë në ato slides, është se kur ju keni çdo lloj nëse pasqyrat ose çdo lloj të kushteve, ju duhet të përdorni formatimin e teksteve kaçurrel për të treguar se kjo është ajo që do të ndodhte kur ju keni kusht. Teknikisht, kur ju keni një gjendje dhe pastaj linjë tjetër është vetëm një line, ju nuk teknikisht kanë për të vënë në formatimin e teksteve kaçurrel. Në thelb përpiluesit do të kuptojnë ajo gjithsesi të nënkuptuar. Por për CS50, ne ju djema të kërkoni për të vënë formatimin e teksteve kaçurrel vetëm në mënyrë që tuaj Kodi është më të organizuar dhe më i lexueshëm. Për shkak se Kodi i merr më të gjatë në qoftë se ju nuk kanë formatimin e teksteve kaçurrel dhe të tilla. Ajo merr me të vërtetë çrregullt. Lauren Carvalho: Kjo është pikërisht ajo që Davidi vuri vetëm nga në slides e mia të mëparshme. Kjo patjetër punon pa kaçurrel formatimin e teksteve, por për arsye stilistike ne do të kërkojmë që ju e vënë ato in Dhe kur ju filloni duke style50, që është lloj i çekut 50 për style, ajo do të ju kujtoj për të bërë këtë. Lucas Freitas: Dhe një tjetër gjë është mos harroni të vënë formatimin e teksteve kaçurrel së bashku në çdo linjë. Kështu që ju bëni, për shembull, l's. Shko në rreshtin tjetër, të hapur kaçurrel mbajtëse, atëherë ju shkoni në linjë tjetër. Kryeardhë, e cila është katër hapësira. Pastaj ju shkruani çdo gjë, pastaj një tjetër line, dhe mbyllni mbajtëse kaçurrel. Pra, të jetë i sigurt që të dy ata kaçurrel formatimin e teksteve janë në linja të ndryshme. Audienca: Pra, nëse ky kod ka pasur si 10 IFS tjetër, kjo duhet të jetë 10 grupe të kllapa? Lucas Freitas: Po, për secilin prej tyre. Po. Pra, nëse, tjetër në qoftë se, dhe kështu me radhë. Audienca: A mund të mos shtypni Tab për të indent? Lucas Freitas: Ne jemi duke kërkuar që ju djema për të përdorur katër hapësira. Disa redaktorët tekst të përkthyer tab si katër hapësira automatikisht. gedit nuk ka, kështu që ju duhet të të bëjë hapësirë ​​hapësirë ​​hapësirë ​​hapësirë. Kjo është gjithashtu diçka që disa programuesit vetëm që tabs, disa programuesit vetëm që katër hapësira, dhe disa njerëz të tjerë edhe të bëjë dy ose tre hapësira. Është vetëm se këtu ne jemi duke kërkuar ju djema për të bërë katër hapësira. Audienca: Ka pothuajse patjetër mori të jetë një mënyrë për të gedit automatikisht [padëgjueshme]. Ashtu si nuk [e padëgjueshme] e bën këtë. Lucas Freitas: Po. Unë mendoj se ju mund të shkoni në Settings. Audienca: Ajo tashmë e ka të gjithë se. Lucas Freitas: Ajo tashmë bën? OK. Pra, vetëm të jetë i sigurt se ju kanë katër hapësira. Audienca: A duhet të vënë kaçurrel kllapa në për sythe, si dhe? Lucas Freitas: Po. Lauren Carvalho: Kurdo tuaj encapsulating një bllok i kodit, vetëm ju lutem, përdorni formatimin e teksteve kaçurrel. Dhe para se të mendoni se ne jemi vetëm duke qenë sticklers për këtë për asnjë të mirë arsye, në qoftë se ju djema do të shkojnë në për të marrë praktika të teknologjisë në kompani të mëdha, ata do të ju jap një udhëzues stil, dhe ata do të ju them kjo është çfarë tuaj Kodi duhet të duken si. Dhe, edhe pse ju mësuar të kodit si kjo, ndoshta në stazh tuaj ju do të keni për të bërë diçka krejtësisht të ndryshme. Ata presin që ju të jenë në përputhje në stilin e tyre. Lucas Freitas: Dhe një gjë më shumë është që ju të vini re se si i kanë si x, hapësirë, më pak, hapësirë, 0? Kurdo që të keni një operator - ajo mund të jetë si plus, minus, herë, më pak, më e madhe, çfarëdo operatori - ju keni për të vënë një hapësirë ​​në të majtë dhe e drejta e operatorit. Lauren Carvalho: Këto janë quajtur operandët binare. Vetëm sigurohuni që ju gjithmonë hapësirë nga operandëve tuaja binare. Lucas Freitas: Kjo është jo një madhësi binar. Lauren Carvalho: Kjo është sepse duhen dy veta. Lucas Freitas: Oh, po. OK, ndryshon. Së pari, ju duhet të shihni se ashtu si në një deklaratë nëse ose tjetër, ju keni për të vënë në mbajtëse kaçurrel në linjën e vet dhe nën mbajtëse kaçurrel këtu. Njoftim që ka një hapësirë ​​të vetme pas kaloni, ashtu si në qoftë se dhe tjetër kemi pasur një hapësirë ​​të vetme në mes të se dhe kllapa. Kështu që ju keni për të vënë atë. Dhe nuk ka asnjë hapësirë ​​të drejtë pas çdo nga kllapa ose para e kllapa. Kështu që ju të shihni se kjo është e gjitha së bashku, dhe gjithashtu si deri këtu. Po? Lauren Carvalho: Unë mendoj se ne kemi nevojë për të shkuar përpara. Lucas Freitas: Pra, kjo është pjesë e udhëzues stil që ju keni për CS50. Të jetë i sigurt për të shkuar në cs50.net/style dhe të marrë një sy në këtë. Këto janë të gjitha shumë të rëndësishme për rezultatin tuaj stil. Më lejoni të kthehemi në deklaratë. Lauren Carvalho: Më mirë të vetëm përdorni style50. Ne jemi vetëm do të shkojnë direkt në sythe. Dakord. Pra, le të kthehemi në përmbajtjen, tani se ne kemi shkuar mbi udhëzues stil. Unazore, ju keni parë ato në Scratch, dhe ne do të flasim për ta në C. Në një për lak, ka tre pjesë të Deklarata e kjo për lak. Keni inicializimit tuaj në të cilat keni vendosur variablave tuaj. Ju keni marrë gjendjen tuaj, të cilat janë kontrolluar për të parë nëse diçka është e vërtetë apo e rreme dhe nëse loop duhet të vazhdojë. Dhe ju keni marrë përditësim tuaj, e cila është e informuar variablave tuaj. Le të vetëm të marrin një sy të shpejtë në disa C kodin e kjo për lak në veprim. Ajo që po ndodh është këtu në initialization, ne jemi duke i vendosjes në 0. Në kushte ne jemi duke kontrolluar nëse i është më pak se 10. Dhe në update ne jemi rrisim i. Pra, çfarë do të rezultojë nga kjo për lak? Lucas Freitas: Në fakt, para së gjithash, e ju djema e di se çfarë i + + është? Audienca: Rritja nga 1. Lucas Freitas: Rritja me 1, po. Pra, kjo është e njëjta gjë si bërë i barabartë i plus 1. Dhe vini re se ne nuk kemi një hapësirë ​​të midis I dhe + +. Pra, mendoni ju djema e di se çfarë kjo do të bëjë? A mund dikush të më thoni? Dhe ndoshta të marrë disa karamele për shkak të kësaj? Audienca: [padëgjueshme] Lucas Freitas: OK. [Padëgjueshme] tregojnë të gjithë më vonë [padëgjueshme]. Po, ajo do të tregojë "ky është CS50 "10 herë. Lauren Carvalho: Them se ishte në titull rrëshqitje. Lucas Freitas: Oh, po. [Të qeshura] Lucas Freitas: Kjo ndihmon. Lauren Carvalho: Pra ata janë për sythe. Ne do të shohim disa shembuj më shumë E për sythe më vonë. Por le të vërtetë të marrë një vështrim në Lloji i dytë i lak që ju do të hasni në C, dhe është quajtur loop ndërsa. Në një lak, ndërsa, ju keni mori vetëm një kusht. Gjendja është e kontrolluar në filluar, dhe në qoftë se gjendja vlerëson të vërtetë, atëherë kodin brenda trupi i bllokut ndërsa do të ekzekutojë. Dhe kodi do të vazhdojë të ekzekutuar, nëse ai Gjendja mbetet e vërtetë. Ja një shembull i një lak, ndërsa në C. Ne jemi duke shkuar për të vendosur numërimin në 10 për të filluar me. Aq sa numërimin është më i madh se 0, ne jemi duke shkuar për të mbajtur të shtypjes nga kjo ndryshueshme këtu. Ne jemi duke shkuar për pakësim numërimin dhe atëherë kontrolloni gjendjen përsëri. Print, pakësim, kontrolloni kusht përsëri. Këtu kemi një shembull që ka të bëjë në pyetjen tuaj më parë. Ne kishim për qind s kur ishim shtypjen nga një varg, dhe tani që ne jemi të shtypjes nga një int, ne kemi një për qind i si placeholder tonë në vend. Letrat duhet të gjithë të jenë mjaft të intuitive, s për varg, i për int. Pra, nëse ky kod ekzekuton, ju duhet poshtë numërimin nga 10 në 0, shtypjen jashtë çdo numër i plotë. Lucas Freitas: Dhe ju mund të mendoni për qind si ajo ndjehet si një bosh hapësirë, dhe pastaj ju jeni duke këtë ndryshueshme këtu në atë hapësirë ​​bosh. Kështu për shembull, këtu unë do të ketë vetëm një bosh, dhe pastaj unë jam vënë numërimin e drejtë atje, Vlera e numërimit. A ka kjo kuptim? A mund unë vetëm bëj si printf dhe pastaj citon, të llogarisë? Do që të punojnë? Audienca: Jo. Lucas Freitas: Jo, sepse kjo do të në të vërtetë të shtypura fjalën "numërimin" në vend të shtypjes vlerën. Kjo është se si ju të bëjë atë të shtypur vlerat drejt variabël në vend të vetëm emri i variablit. Ndonjë pyetje? Audienca: Pse ju përdorni për si një e kundërt për të, ndërsa? Lauren Carvalho: Unë do të përdorë për lak në qoftë se unë e di saktësisht se sa iterations unë dua lak tim për të kandiduar. Në këtë rast, kjo nuk ka rëndësi, sepse, Unë do të thotë, unë kam qenë vetëm duke u përpjekur për të mendojnë për një të vërtetë të thjeshtë shembull për këtë rrëshqitje. Por le të thonë se ju doni diçka për të mbajtur vazhdim e sipër, ndërsa - Lucas Freitas: Për shembull, ju jeni duke kërkuar për të dhëna deri personin ju jep kontributin e duhur. Kështu, ndërsa si input nuk është OK, të mbajtur kërkuar për të. Ose si ndërsa ju jeni prindërit nuk i japin ju të holla, të mbajtur kërkuar për të. [Të qeshura] Lauren Carvalho: Ju nuk e dini se si shumë herë ju do të keni për të bërë atë. Lucas Freitas: Për shkak se ju nuk e bëni e di sa herë kjo është e duke shkuar për të do të mbajë. Lauren Carvalho: Por në një për lak, ju duhet të dini se si shumë herë. Po? Audienca: Vetëm për të sqaruar, për qind thotë se kjo është diçka në lidhje me të të ndodhë, të i-së për numër i plotë, dhe backslash n - Lauren Carvalho: Mjetet? Kush e di se çfarë do të thotë backslash n? Linja e re, po. Pikërisht. Lucas Freitas: Ju mund të mendoni i n si linje të re. Lauren Carvalho: Nice. Audienca: Çfarë është ajo numërimin dash dash [padëgjueshme]? Lucas Freitas: Numërimi minus minus është e njëjta gjë si plus plus, por në vend të rritjes, kjo është në rënie me 1. Lauren Carvalho: Çdo shumë ndërsa pyetjet lak? Nuk ka? Oh, ne është dashur të kanë skipped se. Kjo është një për ta, ndërsa loop. Shumë e ngjashme me një lak ndërsa përveç në këtë rast kemi të kontrolluar gjendjen pas formuar ne trupin e loop ekzekuton një herë. Pra, ne ekzekutuar kodin parë pa marrë parasysh çfarë. Pastaj ne të kontrolluar gjendjen, të ekzekutuar përsëri nëse gjendja eshte vertete. Ju do të gjeni veten duke përdorur këtë kur ju jeni duke kërkuar për të dhëna përdoruesi. Sepse ju jeni gjithmonë do të duhet të pyet një herë, dhe më pas në varësi të asaj input përdorues është, ju mund të duhet të reprompt dhe kërkoni përsëri dhe përsëri në qoftë se input nuk ishte ajo që ju pritet që ajo të jetë. Audienca: Pra, kjo është si një formë për njerëzit që të plotësoni. Lauren Carvalho: Po, pikërisht. Ju do të gjeni, unë mendoj se, në e parë juaj Pset, ju jeni do të duhet të përdorni një lak të bëni mirë për të mbledhur të dhëna nga përdoruesit. Audienca: Në varësi të situatës, sythe tuaj ndërsa do të priren për të kandiduar më shumë shpesh se ndërsa unazore, si nga një ose diçka? Lauren Carvalho: Nëse kjo është e saktë - Lucas Freitas: Ata duhet gjithmonë të drejtuar shuma e saktë e kohës që ju duan që ajo të kandiduar. Si ne përdorim bëni ndërsa sepse ne të vërtetë kërkuar për të marrë të dhëna të paktën një herë. Në sythe Ndërsa, ndonjëherë ju nuk doni për të ekzekutuar atë në të gjitha nëse ajo nuk është rasti për të ekzekutuar. Pra, kjo varet nga dizajni. Unë do të thotë, ju mund ta bëni ndërsa përdorimi ose ndërsa për sa kohë që kodi juaj bën që është menduar për të bërë. Lauren Carvalho: Por unë bëj mendoj se përgjigje të tuaj Pyetja është ndoshta po. Le të thonë se gjendja ishte e rreme. Në një rast ai do të kandidojë një herë, dhe një tjetër rast ai do të kandidojë zero herë. Pra, vërtet. Çdo pyetje më shumë? Po? Audienca: A mund të jetë një kusht lak për lak në drejtim të një tjetër variabël se [padëgjueshme]. Lauren Carvalho: Po, ajo mund të jetë çdo gjë. Ndoshta për Psets fillim, ju nuk do të duhet të ndeshen me këtë rast, por patjetër ajo mund të jetë çdo gjë. Lucas Freitas: Unë mendoj se ne jemi duke bërë këtu. Lauren Carvalho: A jemi? Nuk ka? Lucas Freitas: unazore? Po. Lauren Carvalho: Ne nuk duhet të jetë. Oh, ne jemi bërë me sythe. OK. Në fakt, sepse ne kemi qenë duke folur në mënyrë shumë, le të vërtetë të gjithë të lundruar mbi të study.cs50.net/conditions. Dhe ju do të jeni për të lundruar poshtë për problemet widget. E pra, në të vërtetë, ndërsa njerëzit janë duke marrë ky ngritur, Studimi CS50 është do të jetë një mjet që NGP tuaja do përdorin për të përgatitur për seksionet dhe se ju djema mund të përdorni nëse keni munguar seksione. Ajo do të përmbajnë një bandë e slides, disa këshilla dhe truket për secilin temë, dhe disa probleme praktikë me zgjidhje. Pse jo të gjithë vetëm të marrë një sy në këtë problem të drejtë këtu. Më vjen keq, unë duhet të ketë kujtuar njerëzit për të sjellë laptopë sot. Por në qoftë se ju nuk keni një laptop, kjo është OK. Ju mund të shënoj vetëm këtë poshtë në një copë letër apo të shikoni mbi sup fqinjit tuaj. Le të përpiqen dhe të shkruaj një program që bën të përdoruesit për të marrë me mend, numri mesatar i fëmijëve për familje njësi në Shtetet e Bashkuara. Ky numër është 2, nga rruga, si ju mund të shihni nga këto shembuj. Ne duam të shtypura nga numri mesatar i fëmijë për familje në SHBA, atëherë ne dëshironi të çfarë? Ne duam të mbledhim të dhëna nga përdoruesit. Dhe pastaj në varësi të asaj që përdoruesi të input është, ju jeni do të shtypura nga ose kjo është e saktë ose kjo është e gabuar. Dhe gjëja e parë që ju do të të parë, në qoftë se ju klikoni arrow vogël në në fund të problemit widget është një vend që të shënoj disa pseudokod. Pra, ju nuk jeni programimit ende. Ju jeni vetëm duke u tuaj ide në mënyrë. A ka dikush duan të ndihmojnë Lucas të dalë me të drejtën pseudokod për këtë problem? Lucas Freitas: Cila është gjëja e parë se ne ndoshta duhet të bëjmë këtu? Çfarë mendoni ju djema? Audienca: [padëgjueshme] Lucas Freitas: Po, OK. Pra, të shtypura. Vetëm të thonë se të shtypura kjo mesatare Numri i njerëzve? OK. Pyetja Shtyp, le të themi. Pasi kam shtypur këtë pyetje, çfarë duhet të bëj? Audienca: Get input. Lucas Freitas: Get input. Çdo gjë tjetër? Audienca: Kushti. Lucas Freitas: Kushti. Lauren Carvalho: Çfarë është që kusht do të jetë? Audienca: Numri i [e padëgjueshme]. Lauren Carvalho: E drejta. Lucas Freitas: Pra, çfarë jam unë do për të kontrolluar në gjendje? Audienca: Në qoftë se kjo është e barabartë me 2. Lauren Carvalho: Në qoftë se kjo është e barabartë me 2. Pikërisht. Lucas Freitas: A ka ndonjë gjë tjetër që unë duhet të bëjë? Audienca: Pika. Lucas Freitas: Pra, nëse është e e barabartë me 2, le të themi - më lejoni të shkruani vetëm në qoftë se input është e barabartë me në 2, atëherë ajo që unë jam duke shkuar të bëni është shkruar saktë. Dhe pastaj tjetër, unë jam duke shkuar për të shtypur pasaktë. Çdo gjë tjetër? Nuk ka? Lauren Carvalho: Pra ju mund të klikoni në - ka të gjithë kanë këtë poshtë? Lucas Freitas: A ka kuptim? Pra, tani le të përpiqemi të kodit këtë. Lauren Carvalho: Nëse ju klikoni pak shigjetë, ai në fakt kursen tuaj pseudokod, e cila është me të vërtetë emocionuese. Dhe ju mund të bëni ato në komentet nëse ju doni thjesht për të kujtuar veten e çfarë të bëni. Lucas Freitas: Kështu për shembull, së pari Unë jam duke shkuar për të shtypur pyetjen, kështu se si jam unë do të bëj që, në të vërtetë? printf. Pra printf, dhe pyetja është mesatarja Numri i fëmijëve për familjes në SHBA. Atëherë unë jam duke shkuar për të marrë të dhëna nga përdoruesit. Pra, si mund ta bëjë këtë? Audienca: Get Int. Lauren Carvalho: GetInt. Lucas Freitas: OK. Pra, së pari të deklarojë, e drejtë? int, le të thërrasë atë n është e barabartë GetInt. Dhe tani kusht. Pra më lejoni të them se unë jam duke shkuar që këtu kontrolloni përgjigje. Pra, së pari, në qoftë se input, e cila është n, është e barabartë me për të - se si jam unë do të shkruaj se? Audienca: barabartë të barabartë. Lucas Freitas: Perfect. Pra, n. Dhe vini re se unë bëj një hapësirë, është e barabartë, e barabartë, hapësirë, e vërtetë. Dhe tani çfarë duhet të bëj? Diçka shumë e rëndësishme për stilin. Formatimin e teksteve kaçurrel. Dhe atëherë unë jam duke shkuar për të shkruar. Si mund të shtypura? printf. Audienca: Mund të kapitalizohet? Lucas Freitas: Jo. Ajo është menduar të jetë mbi të gjitha me të vogla. Kështu që është e saktë. A do të mjaftojë kjo për printf deklaratë, apo jam unë humbur diçka? Audienca: Linja e re. Lucas Freitas: Linja e re, po. Dhe tani tjetër. Audienca: A ka një hapësirë pas printf, ose jo? Lauren Carvalho: Ne duhet kontrolloni udhëzues stil. Audienca: Ajo nuk duhet të jetë. Lucas Freitas: Nuk duhet të jetë, në rregull. Pra tjetër, printf, "Kjo është e gabuar." Lauren Carvalho: Oops, kuotat tuaj. Lucas Freitas: OK. Çdo gjë tjetër? A të duken të mira? Lauren Carvalho: A do të provoni? Lucas Freitas: Po, le të drejtuar atë. Pra, është e hartimit, dhe kjo Duket se ajo punon. Le të përpiqemi dy fëmijë. Kjo është e saktë. Dhe tani le të kandidojë përsëri, por tani në vend i vënë dy fëmijë, le të them se unë jam duke shkuar për të vënë si pesë. Kjo është e gabuar. Pra, duket se ajo punon. Lauren Carvalho: Pse nuk tregoni atyre çfarë ndodh në qoftë se ju vendosni diçka pazakontë, si disa letra. Lucas Freitas: Oh, po. Le të kontrolloni se. Çka në qoftë se përdoruesi është duke u përpjekur për të bela me programin tuaj, dhe ata vetëm shkruaj, unë nuk e di dy. Ajo do të të thënë përsëritjen. Lauren Carvalho: Pra GetInt është duke u kërkuar atyre për të rigjykuar. Ne nuk duhet të kujdeset e që veten. Lucas Freitas: Po. Pra, nëse unë në fakt të vënë një numër, është e duke shkuar për të mbajtur kërkuar mua për të rigjykuar. Audienca: Si e keni drejtuar atë? Lucas Freitas: Vetëm kliko ky buton yll. Lauren Carvalho: Ju duhet të shkoni deri. Nuk ju shkoni. Lucas Freitas: yll button drejtë atje. Po? Audienca: A menjëhershëm [padëgjueshme] me shifra dhjetore shumë? Lauren Carvalho: Unë besoj se do. Lucas Freitas: Nëse po çfarë? Lauren Carvalho: Nëse ata shtypni në një numër dhjetore, unë mendoj ajo do të shpejtë. Lucas Freitas: Le të shohim. Lauren Carvalho: Për shkak kjo nuk është një int. Lucas Freitas: Po. Lauren Carvalho: Pra, kjo nuk është një int, Get Int do t'ju kërkojë për të rigjykuar. Audienca: Pra, ku në këtë kod do të ishte e vendi dhjetor që bën përdorues që ata kanë për të hyrë nje integer specifikisht? Lauren Carvalho: GetInt është në të vërtetë duke bërë që për ne. Audienca: Jo, unë do të thotë nëse kemi dashur për të hyrë [e padëgjueshme] Lucas Freitas: Ju mund të thoni si mesatare Numri i fëmijëve në SHBA. Nuk e di. Ne mund të themi, për shembull, "Ju lutem input një numër të plotë. " LAUREN Carvalho: Një numër i plotë i barabartë te numri mesatar. Unë do të thotë, kjo është vetëm se si jeni i fjalë atë, e drejtë? Lucas Freitas: Po. Kjo nuk është pjesë e vërtetë coding. Është më shumë si i çfarëdo ju jeni do të duan të shkruani në programin tuaj. Audienca: Si do e kemi drejtuar atë në qoftë se ajo ishte në fakt në gedit [padëgjueshme]. Në vend të shtypur të luajë? Lucas Freitas: Ne do të parë përpiloni atë. Ne mund ta bëjë këtë duke bërë make dhe emri i file. Dhe pastaj të drejtuar atë, ne do të bëjmë dot plagë dhe emrin e programit. Audienca: I guess atë që unë do të thotë ishte nëse kemi dashur programi për t'iu përgjigjur pasaktë, hyrja e tyre të pavlefshme, ju nuk duhet të vënë në - Lucas Freitas: Ne nuk do të jetë në gjendje të bëjnë këtë sepse kodi këtë thotë rigjykuar vjen nga Get Int cila është një funksion që është zbatuar tashmë për ne përmes bibliotekës CS50, dhe që nga kjo është zbatuar tashmë atje, ne nuk mund vetëm [padëgjueshme]. Lauren Carvalho: Nëse ju nuk e përdorni GetInt, atëherë ju mund ta bëni këtë. Lucas Freitas: Po. Por nëse ju jeni duke përdorur GetInt, ju nuk mund. Çdo pyetje të tjera? Audienca: A mund të ketë shkuar me të si GetFloat dhe më pas të jetë në gjendje për të vënë ajo në një decimal? Lucas Freitas: Po. Audienca: OK. Atëherë ju vetëm mund të input noton një është e barabartë - Lauren Carvalho: Po. Pikërisht të njëjtën gjë me përjashtim të një noton në vend të një int. Lucas Freitas: Vetëm vënë atë këtu dhe pastaj GetFloat atje. Audienca: Si ju do të të parë ose e kanë parë - Lauren Carvalho: ne kemi nuk ka marrë ende. Audienca: - duke bërë pabarazisë me gjithandej nuk [e padëgjueshme] Audienca: Çfarë kuptimi kanë pikpresje? Lauren Carvalho: pikëpresje vetëm do të thotë se kjo deklaratë është e plotë, dhe ne jemi duke shkuar për të shkuar mbi rrëshqitje ardhshëm. Audienca: Pra, është e nevojshme çdo herë? Lauren Carvalho: Po. E pra, në rregull, kështu që për këto kushte, sepse ata janë encapsulating diçka. Pra, në thelb, nëse diçka është duke shkaktuar ju që të pastaj të krijojë një mbajtëse kaçurrel bllok, nuk e vënë një pikëpresje në fund. Lucas Freitas: Por çdo gjë tjetër, po. Kur të keni mbaruar një deklaratë, vënë pikëpresje. Dhe në qoftë se ju harroni semicolons, compiler do të merrni zemëruar me ju, dhe ju jeni do të ketë në përpjekje për të rregulluar atë. Lauren Carvalho: Nëse unë vënë një pikëpresje këtu, që do të ndalet kjo, dhe unë kurrë nuk do të merrni për të ekzekutuar atë që është brenda, nga rruga. Pra, kjo është një nga ato mete të përbashkëta. Audienca: Gjithmonë ekzekutimin. Lauren Carvalho: Po. Në këtë rast, ne do të gjithmonë ekzekutuar atë që është brenda. Audienca: Stili juaj [padëgjueshme] bashkëngjitni atë për ju, mendoi. Lauren Carvalho: Oh, kjo është e vërtetë. Audienca: [padëgjueshme] vetme Linja gjë [padëgjueshme] Audienca: Po? Audienca: A mund të keni të shumta inputeve në një rresht? Pra, si mund të kërkoni përdoruesit për të shtypur dy gjëra? Lauren Carvalho: Jo të përdorur - Lucas Freitas: Jo. Le të thonë se unë të dua për të marrë këtë m numër i plotë. Unë kam për të bërë atë në një linjë të ndryshme. Audienca: Nëse ju do të kandidojë se, si [e padëgjueshme]? Ajo do të shtypura të shpejtë ka [e padëgjueshme] dhe pastaj ju do të hyjë në një dhe - Lauren Carvalho: E pra, e drejtuar atë. Unë do të thotë, nuk ka asgjë të na ndalur nga vetëm drejtimin e tij dhe duke parë atë do të ndodhte. Lucas Freitas: Unë mendoj se është e do të ankohet në ne sepse ne nuk jeni duke përdorur - Lauren Carvalho: Oops. Lucas Freitas: Ajo u ankua në ne të drejtë tani sepse ne nuk jemi duke përdorur këtë të ndryshueshme, por nëse kam bërë, për shembull, n është e barabartë e barabartë për të, dhe m është e barabartë me barabartë për të, atëherë çfarë do të të ndodhë në këtë rast? Çfarë do të bëni këtë program? Audienca: Unë jam vetëm pyesin se si do të - Lauren Carvalho: Ajo vetëm dëshiron të dinë se si duket si, unë mendoj, apo jo? Pra, kjo mori një prej tyre, dhe më pas ajo mori një të dytë. Mendoj se duhet të lëvizë, sepse ne kemi një më shumë Slide Show për të shkuar përpara - nuk ju duan për të tërhequr deri matematikë? Lucas Freitas: Po, matematikë. Lauren Carvalho: Dërgo mua vetëm një të dytë. Ka një numerike pak të ndryshme variablat në të dhënat C. numerike në C mund të klasifikohen në lloje të ndryshme, dhe këto janë ato që ju do të shihni më shpesh. Dhe int është një numër të tërë. Ju nuk mund të ketë ndonjë decimals. Në Appliance, ajo merr 32 bit për të ruajtur një int. Një noton mund të ketë decimals. Ai gjithashtu merr 32 bit për të ruajtur një noton në Appliance. A dyfishtë është një numër me një dhjetore pikë që merr 64 bit për të ruajtur atë, që do të thotë që ju mund vetëm duhet saktësi më të madhe për shkak se ju mund të keni më shumë - çfarë ju e quajti atë? Lucas Freitas: Po, kjo është më shumë. Lauren Carvalho: Më shumë vende pas presjes dhjetore. Dhe një kohë të gjatë të gjatë është një numër i tërë që merr 64 bit për të ajo lënduar në Appliance. Lucas Freitas: Pra, ajo mund të jetë mëdha se ints mund të jetë. Lauren Carvalho: Gjë për të dhëna lloje në C është se ata të ju tregojnë se çfarë lloj të të dhënave që ju mund të ruajë në ndryshore tuaj. Ata tregojnë se si ju mund të përdorni këtë variabël në programin tuaj. Është shumë e rëndësishme për të vetëm të mbajtur nën i çfarë lloji të dhënat që ju jeni duke përdorur, dhe në qoftë se ju keni nevojë për të hedhur nga një lloj të të dhënave në një tjetër, sigurohuni që ju e dini pikërisht ajo që ndodh kur që hedh ndodh. Dhe ju do të shihni një shembull më vonë më në këto slides e një gabim që mund të ndodhë. Le të bëjmë një vështrim në disa matematikë në C dhe mendoj se me të vërtetë me kujdes, unë mendoj, për atë që po ndodh, kur kjo math është duke u zhvilluar. Në rreshtin e parë, ajo që është ndodh kur unë deklaroj x? Audienca: Ju jeni duke i lejuar x të jetë diçka? Lauren Carvalho: Po. E pra, unë jam me të vërtetë duke i kërkuar operative Sistemi për 32 bit të kujtesës, apo jo? Në të cilën unë mund të ruajë një int, dhe Unë jam duke shkuar për të thirrur atë int x. Lucas Freitas: Në thelb duke shkuar në kujtesë dhe gjetjen e një vend që ka 32 copa dhe duke thënë, hej, unë dua këtë hapësirë, dhe ajo do të të quhet x. Pra, ju jeni vetëm shumë e shumë të gjetura një kuti në kujtesën tuaj në Vlerat dyqan për x. Lauren Carvalho: Dhe atëherë unë nisja x, që do të thotë se unë vetëm ruajtur vlera e 2 në atë vend, atë copë e kujtesës, që kemi kërkuar operativ Sistemi për. Dhe këtu ajo që ne po bëjmë është ne jemi në të vërtetë duke deklaruar dhe Initializing y në një rresht në vend të në dy linja si ne e bëmë deri këtu, e cila është gjithashtu një mënyrë të përkryer gjobë, Ne jemi duke shtuar 1 tek x, dhe ne jemi ruajtjen që Vlera në y. Lucas Freitas: Pra, në thelb ajo që kjo linjë e bën, ai e gjen tani një kuti për y, dhe më pas vlera e tij, gjë që ju do të jeni për të vënë brenda kutisë, është do të jenë vlera e x plus 1. Pra, ajo ka këtë kuti për y. Ajo merr vlera të x, duket këtu, dhe të shohim se ajo është 2. Vënë atë atje, plus 1, në mënyrë kjo e vë një 3 atje. A ka kjo kuptim? Pra, y do të ishte 2 në këtë rast. Lauren Carvalho: Në rregull, cool. Ne pamë disa shtesë, kështu që le të mendojmë tani për ndarje në C. Ja ku jam duke deklaruar dhe Initializing një noton quajtur përgjigje dhe pjesëtuar me 1 me 10, dhe atëherë unë jam i shtypjes nga përgjigje në dy numra pas presjes dhjetore. Dhe vini re këtu, në deklaratën time printf, kur unë dua të shkruar diçka për të dy vende dhjetore,% .2 f është ajo që unë dua të përdorni. Pra, pika 2 është vetëm duke thënë Unë kam nevojë për dy vende pas decimal të shtypura jashtë. Tani, çfarë do të ndodhë në qoftë se unë të drejtuar këtë kod? Ka njeri të ketë një ide? Çfarë do të shtypura nga? Lucas Freitas: Cilat janë ne presim për të marrë. Lauren Carvalho: Çfarë ne duam, në radhë të parë? Lucas Freitas: [padëgjueshme] Lauren Carvalho: 0.1, po. Por çfarë do të shtypura nga? Audienca: [padëgjueshme] Lauren Carvalho: E pra, nuk ka, në fakt. Kjo është ajo që unë isha duke folur për pse ju duhet të mbajnë gjurmët shumë të kujdesshëm të Llojet e të dhënave tuaja. Pra, çfarë lloji të dhënave është kjo? Është një int, e drejtë? Nuk ka vend decimal. 10 është gjithashtu një int. Nuk ka vend decimal. Nëse unë ndajnë një int nga një int, unë të marrë një int i cili nuk është 0.1, për shkak Ints Nuk mund të ketë numra pas presjes dhjetore, por vetëm 0. Për shkak se një int vetëm truncates jashtë numra pas presjes dhjetore. Lucas Freitas: Pra, sa herë që ju bëni operacionet me ints, ju jeni do të të marrë një int si përgjigje. Pra, në thelb, ajo që kompjuteri është duke bërë, është e ndan nga 1 10, dhe kjo merr 0.1. Por, atëherë kjo është si, prisni, kjo është menduar të jetë një numër të plotë, kështu që ju vetëm injorojë 0.1, kështu që është tani vetëm 0. Lauren Carvalho: Pra, kur unë të shtypura këtë jashtë, unë të marrë 0.00 dhe jo 0.10. Lucas Freitas: A do të kishte kuptim? Lauren Carvalho: Kjo është lloj të ardhur keq, apo jo? Lucas Freitas: Pra, si mund ta fix this? Lauren Carvalho: Le të të përpiqen dhe të rregulluar atë. Ja një shembull se ku unë jam në të vërtetë hedh e 1 dhe 10 deri pluskues. Deri tani, 1 nuk është më një int. 1 është një noton. Nga rruga, kjo është vetëm sintaksa për kur të doni të hedhur nga një Lloji i të dhënave në një tjetër. Ju vetëm mund të vënë llojin e të dhënave në kllapa dhe duhet që vetëm paraprijnë vlera që ju jeni hedh. Kështu që këtu, unë jam duke e ndarë një noton nga një noton për të marrë një përgjigje të noton. Dhe po, kjo do të në Fakti shtypura 0.10. A ka kjo kuptim? Lucas Freitas: Pra, lloji hedh është vetëm konvertimin nga një lloj në tjetrën. Pra noton 1 është në të vërtetë 1.000. Nuk është tamam kjo, por kjo është diçka me numra pas presjes dhjetore që është në të vërtetë 1. A ka kjo kuptim? Po? Audienca: Çfarë ndodh nëse ju e bëri përgjigje noton është e barabartë me 1.0 ndarë nga 10? Lauren Carvalho: Ju jeni në të vërtetë duke shkuar për të parë se në rrëshqitje e ardhshëm. Kjo është në fakt rrëshqitje tonë shumë të ardhshëm. Kjo është në fakt një nicer se sa shkruani hedh, unë mendoj. Pra, këto dy janë gjithandej vetëm nga Natyra e faktit se ata kanë numra pas presjes dhjetore. Po? Audienca: Çfarë ndodh nëse ju e bëri [padëgjueshme] e ndarë nga 10? Lauren Carvalho: Në fakt një noton ndarë nga një int të vërtetë ju jep një noton, kështu që do të punojnë mirë. Prisni, e bën të gjithë e kuptojnë këtë? Për shkak se kjo do të jetë një të vërtetë të punë e madhe në Pset1, në të vërtetë. Po? Audienca: A mund të vetëm të shpejt shkoni mbi pjesën e kuqe? Lauren Carvalho: Pjesa e kuqe, po. Lucas, nuk ju duan të? Lucas Freitas: OK. Pra mos harroni se për qind a është placeholder. Është si një hapësirë ​​bosh. Pra, le të përpiqemi të kuptojmë gjithçka që po ndodh këtu. Qind do të thotë se kjo është një placeholder. Pastaj ju keni f, që do të thotë se kjo placeholder është për një noton. Gjëja e fundit që ne kemi këtu është një .2, Që do të thotë unë dua që të ketë dy vende dhjetore për noton. Nëse unë vetëm e kishte% f, ata do të vënë një bandë e presjes dhjetore. Kështu që unë mund të vendos vetëm .2 ose .1 ose .5, ose çdo gjë, dhe ajo do të të vënë se Numri i vendeve dhjetore. E vetmja gjë është se në qoftë se ju vendosni si .100 Ose .1,000, nuk është në të vërtetë do të vënë të gjitha ato numra pas presjes dhjetore sepse ajo nuk ka kujtesë të mjaftueshme për të patur këtë saktësi. Çdo pyetje të tjera? Po? Audienca: Pra noton vetëm lejon ju për të shkuar përtej numrave të plotë? Lucas Freitas: Po. Lauren Carvalho: E pra, a noton vetëm ju lejon të keni numra pas presjes dhjetore. Lucas Freitas: Kjo thjesht do të thotë se ju tani mund të ketë numra decimal. Audienca: Pse do të kemi ndonjëherë përdorin numra të plotë? Lucas Freitas: Pse do të ju përdorni integers? Ndoshta, nëse ju jeni duke numëruar nga 0 në 10, ju doni të përdorni të vërtetë një numër të plotë. Ju nuk keni nevojë për të përdorur një noton. Në disa situata, ju nuk e bëni duhet të vërtetë - Lauren Carvalho: Ndoshta ju nuk duan decimals. Lucas Freitas: Ndoshta ju nuk e bëni dëshironi të përdorni një noton. Lauren Carvalho: Gjëja tjetër është, mbani mend, të dy vënë një noton dhe një int marrë 32 bit për të ruajtur ato, dhe ndoshta ju nuk doni të mbeturinave bit në vende dhjetore. Lucas Freitas: Po. Pra si, vetëm të mendojnë për këtë. Ju keni 32 bit për të dy një int dhe një noton. Për një int, të gjitha ato 32 bit shkoni në pjesën numër i plotë. Në qoftë se ju përdorni një noton me 32 bit, ju kanë pjesë të kësaj kujtesës duke u përdorur per numrin, per numrin e plotë, dhe pjesa tjetër duke u përdorur për vende dhjetore. Kjo do të thotë që ju nuk mund të merrni për të numër shumë të madh me gjithandej sepse noton është tashmë duke përdorur një shumë të kujtesës për numra pas presjes dhjetore. Po? Audienca: Kjo përgjigje e parë, çfarë saktësisht është ajo duke bërë? A është ajo llogaritet vlera e noton barabartë në atë placeholder për të që ju mund të kujtojnë atë në rreshtin tjetër? Ajo thotë se noton përgjigje. Lucas Freitas: Po. Pra, përgjigja noton thotë që ju jeni duke marrë tani një kovë të vogël në kujtesën që mban një noton, dhe kjo po ndodh që do të quhet përgjigje. Pra, kjo është ajo që e bën përgjigje noton. Dhe pastaj ju thoni se në brendësi të këtë, ju do të jeni për të vënë rezultat i kësaj. Pra, ju jeni do të bëjë 1.0 ndahet nga 10.0, ju merrni 0.1, dhe pastaj të vendosni se brenda përgjigje. Lauren Carvalho: Pra, në një rresht, ne jemi duke deklaruar dhe Initializing këtë noton quajtur përgjigje. Lucas Freitas: Interesant, edhe pse kjo është vetëm një linjë, është e bërë operacione të shumta. Kjo është vetëm një mënyrë për të C dhënia me qira ju përdorni më pak kod. Është e njëjta gjë si e numerimit operator, se si ju mund të bëni vetëm një [Padëgjueshme] në një linjë. Është vërtetë për ta bërë të njëjtën gjë si duke bërë përgjigje noton, pikëpresje, dhe atëherë përgjigja është e barabartë kjo, por në vend të duke e bërë të bëni dy linja për atë, është si një shkurtore. Po? Audienca: Pra, nëse ju u zhvillua kjo, do të ishte 0.10? Lucas Freitas: Po. Po? Audienca: A është përgjigjur në fakt kodin, apo është vetëm emri? Lauren Carvalho: Kjo është në të vërtetë kodi. Kjo është ajo që ne jemi duke shkuar për të përmendur ndryshore tonë. Audienca: Pra, kjo është vetëm një emër [padëgjueshme]. Lauren Carvalho: Po. Unë mund të ketë thënë float x është e barabartë me 1.0. Lucas Freitas: Gjë është se emri i variablit është diçka që ju përdorni. Është e rëndësishme për ju. Për programin aktual, e vetmja gjë që çështjet është vlera që ju kanë brenda kovë. Arsyeja pse ju keni variablave dhe Emrat e variablave është kështu që ju do të dini atë që ju jeni që kanë të bëjnë me të, si çfarë lloj të të dhënave që ju jeni hyrë në një kohë. Por për kodin vetë, nëse ju telefononi ajo përgjigje apo pyetje apo ndonjë gjë, shumë e shumë, kjo nuk ka rëndësi. Nuk ka rëndësi. Për sa kohë që ju jeni të qëndrueshme në çdo dukuri atë dhe kështu që e quajti atë diçka tjetër. Po? Audienca: A e variablave shkojnë përtej funksionit? Ashtu si në qoftë se keni qenë për të krijuar një parantezë [Padëgjueshme], mund të ju vetëm [Padëgjueshme] përgjigjem përsëri? Lauren Carvalho: Jo. Audienca: [padëgjueshme] Lauren Carvalho: Jo. Kjo do të ishte jashtë fushëveprimit i këtij variabël të veçantë. Dhe në të vërtetë, kjo është lloj i interesant, sepse kur ne kemi gjëra të tilla si sythe apo nëse këto kushte, në qoftë se ju të deklarojë një ndryshore brenda një tjetër grup të formatimin e teksteve kaçurrel, me të vërtetë ekziston vetëm brenda këtyre formatimin e teksteve kaçurrel. Audienca: Një shënim i fundit në lidhje me e [e padëgjueshme] gjithandej. Pse do të keni ndonjëherë të dëshironi të përdorni ints? Kjo është më shumë një shënim anë se asgjë, por kompjuteri juaj është i në mënyrë të konsiderueshme më të mirë në trajtimin e ints se ajo është në trajtimin gjithandej. Është si një urdhër të Madhësia më të shpejtë. Pra, nëse ne vetëm trajtuar vetëm gjithandej, gjërat do të ishte shumë më e ngadaltë. Lauren Carvalho: Në fakt, nuk duket të jetë një problem me gjithandej. Lucas Freitas: Lloji i arsyes për se, ju mund të mendoni, është se si në binar ju mund të përfaqësojnë numra të plotë duke shënuar me 0 dhe 1 i. Lauren Carvalho: Kjo është gjë tjetër. Lucas Freitas: OK. Awesome. Lauren Carvalho: Vetëm mbajë atë mendim. Lucas Freitas: OK, unë do të ju tregoj me vone. Lauren Carvalho: Para se të shkoj në çfarë Lucas është vetëm duke thënë, operatori përparësi. Ky është kuptim të përbashkët. Ju djema keni bërë këtë të mjaftueshme. Pra, vetëm nëse diçka është në kllapa, kjo do të ndodhë së pari. Është e shumëzimit ka përparësi gjatë kësaj, zbritje, gjëra të tilla si se. Pra, në të vërtetë, vetëm ka njeri të duan të më tregoni se çfarë numri një në të vërtetë vlerëson të? Audienca: 27. Lauren Carvalho: 27? Po. Lucas Freitas: Më lejoni të jap candies për njerëzit. Lauren Carvalho: Në rregull. Po në lidhje me numrin dy? Po në lidhje me numrin dy? Audienca: 22. Lauren Carvalho: 22, po. Unë nuk e di se kush mori atë. Numri tre? Audienca: 10. Lauren Carvalho: 10, po. Ftohtë. Pra modulo. Lucas, nuk ju duan të shpjegojë modulo? Lucas Freitas: Modulo është ky operator që është në të vërtetë shumë i dobishëm për një bandë e problemeve. Nëse unë bëj 55 modulo 10, atë që e bën kjo le të themi se unë dua të ndajnë 55 me 10. Çfarë mund të merrni? Ajo ndjehet ashtu si në qoftë se unë jam në të vërtetë vetëm duke bërë ndarjen, cila është hera e parë që kam marrë numër i plotë? Audienca: 5. Lucas Freitas: 5. Dhe pastaj pjesa tjetër është 5, e drejtë? Pra, kjo është si 5 herë 10 plus 5. Në thelb, ajo që e bën modulo, ajo përpiqet të ndajnë këtë numër nga ky, dhe ajo sheh atë që është pjesa e mbetur e ndarjes. Lauren Carvalho: Pra, vetëm të kthen pjesën e mbetur. Pra, numër një është ajo? 5. Numri dy? Audienca: 3. Lauren Carvalho: 3. Numri tre? 0. Dhe katër është 1. Pikërisht. Lucas Freitas: Simple, e drejtë? Lauren Carvalho: Pse nuk kaloni këtë vetëm për shkak se ne nuk të vërtetë kanë kohë, dhe njerëzit duket të kuptojnë. Kështu që këtu është ajo që Lucas ishte vetëm duke folur për. Lucas Freitas: Një tjetër arsye pse unë do të përdorin në vend të ints gjithandej është që gjithandej janë shumë precize. Dhe pse ata janë të pasakta? Davidi tha se për të përfaqësuar një numër të plotë, për shembull, ne përdorim 0-të dhe 1-të, apo jo? Dhe pastaj ju në thelb nuk shumëzimit, të bëjë të gjithë ata operacione të dini se çfarë numri decimal ju keni në vend të binar. Çfarë ndodh tani në qoftë se unë të përpiqet për të vënë pikat decimal? Në fakt, për shembull, nëse kam numri si 3,33333? Ajo ndjehet si 10 mbi 3. Si jam unë do të ruajtur të gjitha 3 është se unë kam pas kësaj? Është me të vërtetë e vështirë, apo jo? Ju nuk mund të thoni kompjuter, hej, unë kam një 3, dhe atëherë ju bëni atë përgjithmonë. Aktualisht kompjuteri nuk është i mjaft i zgjuar për këtë. Pra, në thelb të gjitha kompjuteri juaj nuk është i që ajo përpiqet për të vënë si shumë shifra të ajo mund të deri në kujtesën që ju keni. Pra, le të themi se ajo do të thonë 3,3333, dhe kjo është ajo. Kështu që nuk është në gjendje të vërtetë të shprehur pikërisht ajo që noton është. Lauren Carvalho: Ne kemi një numër i caktuar të bit, që do të thotë se nuk çdo Numri dhjetor do të jetë në gjendje për të përfaqësuar pikërisht. Dhe kështu në këtë shembull, në qoftë se ne jemi shtypjen nga 0.1, ne jemi tani shtypje nga 20 vende. Lucas Freitas: Ashtu si unë u thënë ju djema, ju mund të vënë çdo numër. Por në qoftë se ju vetëm e bëri të dy vendet, ju do të merrni 0.10, por nëse ju vendosni 20 vende, ajo do të ju tregojë një bandë 'se, sepse kjo është ajo që ju mund të vënë në kujtesën, e drejtë? Por këtu, deri në 0, dhe pastaj vetëm vënë atë një bandë të numrave të rastit. Kjo është lloj i si disa - Lauren Carvalho: Kjo është për shkak se ne jemi nuk mund të përfaqësojnë këtë decimal të pikërisht me numrin i bit ne kemi. Lucas Freitas: Dhe pastaj kompjuter në thelb është duke ju dhënë një numër plehra. Kjo nuk është në të vërtetë vlera e numrit. AUDIENCA: Kjo është sa më pranë të ajo mund të merrni [padëgjueshme] duke përdorur [padëgjueshme]. Lauren Carvalho: Pra, implikimi i kjo është që le të themi se në vend të duke qenë 0.100014, çdo gjë, çfarë nëse ajo ishte 0,0999 - mirë, OK. Le të pretendojë se përgjigja aktuale për të kjo ishte ,9999999. Kjo është shumë afër me 1, por kjo nuk është saktësisht 1. Është 0,99999. Kjo do të thotë se në qoftë se unë të marrë se 0,999, dhe unë e hodha në një int, unë të marrë 0. Unë nuk do të marrë 1. Lucas Freitas: Sepse mos harroni, hedh nga noton në int, ju vetëm injorojë të gjitha numra pas presjes dhjetore. Ju vetëm injorojë ato. Nuk ka gjë të tillë si arrestimi ose drejtimin poshtë kur ju caktoj në një rol. Në fakt, ekziston ky funksion që bën arrestimi, e cila është shumë e e rëndësishme, por ju vetëm mendoni se kur ju bëni typecasting, është vetëm duke shkuar për të fshini çdo gjë. Pra, edhe në qoftë se ju keni 0,99999, ajo do të japin vetëm 0 në qoftë se ju caktoj në një rol [Padëgjueshme] një numër të plotë. Lauren Carvalho: Pra, vetëm të jetë me të vërtetë i vetëdijshëm pikë lundrues në saktësi, sidomos kur ju filloni për të përdorur gjithandej në Pset1. Por shëtitje në duhet ju paralajmërojnë se si. Lucas Freitas: Dhe në fakt është e vërtetë e vështirë, për shembull, nëse kam bërë noton përgjigje 1 është e barabartë me 1.0 gjatë 10, dhe pastaj noton përgjigje 2 është e barabartë me 10,0 mbi 100.0. Ata janë po aq, apo jo? 0.1, e drejtë? 1 mbi 10 ose 10 mbi 100. Por tani në qoftë se unë të përpiqet për të parë barazinë, si nëse përgjigja 1, është i barabartë me 2 përgjigjet, ndoshta ajo nuk është në të vërtetë ndodh të jenë të njëjta gjë. Pra, gjithandej janë lloj i si kjo. Ata janë dëshirojnë të bëjnë barazinë.