HIZLARIA 1: Guztiak eskubidea. Ongi itzuli. Aste honetan bi CS50 da, eta dugun beraz, orain arte funtzioak erabiltzen dira, baina hartutako neurri handi batean, horiek emandako. Erabili dugu printf dituen Imprenta eragina pantailan gauzak. Erabili dugu lor-int, iritsi karroza. Baina, zer nahi ezkero sortu Zure funtzioak, batzuen gisa dagoenean baliteke hasitako Arazoa bat ezarri da, nahiz eta egin ez da zorrozki beharrezkoa? Beno, goazen aurrera eta berriro hori besterik erabiltzaileari galdetu arazoa bere izena eta inprimatzeko zerbait pantaila, baina saiatu faktore batzuk commonality izan dugun du gure kodea ikusi, beraz, oso urrun. Beraz, horrek honako hau esan nahi dut. Aurrera joan eta sortu dut programa berri bat, besterik ez deitu hello.c ohikoa den bezala. Aurrera joan eta neure burua ematen dut besteak beste, goialdean io.h estandarra. Ere neure burua ematen dut preemptively CS50 liburutegia da, beraz, Ez dut konpiladoreak arabera oihu. Eta orain aurrera noa eta deklaratzen int, nagusia, hutsunea. Eta gero, hemen, hau da, non nahi dut funtzionaltasuna azpikontratatzeko hasteko beste zenbait funtzio nuen hori am idazteko, baina horrek ez Gaur egun existitzen. Esate baterako, eman dezagun nahi dut funtzio bat idazteko aukera ematen duen me inprimatu kaixo, koma, eta ondoren, erabiltzailea izena. Baino printf egiten jarraitu kaixo,% s, ez litzateke polita izango da, bada, besterik ez ziren funtzio bat deitu printf baina ez inprimatu izena? Beraz, beste era batera esanda, gai izan nahi dut idatzi programa bat egiten du apur bat honen antzeko zerbait. Lehenik eta behin, printf esan nahi dut zure izena eta, horrela, erabiltzaileari galdetu behar ematen dit bere izena eta, ondoren, naiz ezaguna kate s erabili joan deklaratzeko katea. Give me mota katea aldagai bat, deitu s, eta horretan dendan lortu katea deituz ondorioz. Baina orain aste iragan, izan nahi nuke zertxobait tediously egin kaixo,% s / n. Eta beste era batera esanda, ikusi dugu hau Adibidez bat aldiz sorta, eta hura da bat Bañales adibidez ez dago bat besterik ez delako kode-lerro, beraz, benetan ez da big deal idazten berriro mantentzeko. Baina demagun kode-lerro hau benetan ziren zama bat bihurtzen ari da, eta ez da bat kode-lerro baina 10 da kode lerro hemendik aste pare bat, eta ari zaren nekatuta lortzean kopiatu eta itsatsi, edo kode bera duten retyping. Ez litzateke ordez egitea polita izango da printf Kaixo% s, eta abar, ez litzateke polita izango da, han izan ziren, besterik ez bada izeneko inprimatu izena duten funtzio bat argumentu bat hartzen du - beste era batera esanda, sarrera hartzen du - eta, ondoren, puntu eta koma. Beraz, funtzio hori, ezta hori existitu politak izan dira? Orduan, ez nuke dute kezkatu buruz printf zer da, zein% s eta guztien konplexutasun horiek guztiak ez dela interesgarria. Erabilgarria dira. Beraz inprimatu izena, zoritxarrez, ez zen asmatu batzuk gehi 40 urte. No bat pentsatu du idazteko. Baina hori edukitzea edertasuna da programazio hizkuntza, besterik ez bezala Scratch Ohiko bloke defini dezakezu, beraz, C eta gehien edozein hizkuntza, ezin duzu define zeure funtzionalitatea, ezin Zure funtzioak definitzen. Beraz, nahiz eta nagusiak izango dugu arabera automatikoki doan aitortu ahal izango dugu gure funtzioak. Beraz, gela batzuk egiteko hemen noa gora gora, eta deklaratzen dut nire egin den funtzio bat bilatzeko joan gutxi lehenengo arrotz baina etorri egingo dugu itzuli baino lehen luzea. Void esan nahi dut, horrela Funtzio hau adierazi du zerbait, albo-efektu bat du, baina ez du zerbait me en Era berean, hori lortzeko int edo katea bera lortu du. Eta funtzio hori eman nahi dut inprimatu, izen-abizenak eta noa zehaztu lasaia hori hartzen joan kate bat, eta hori deitu dut kate izena. Deitu nuen ezer nahi dut, baina ez dut nahi nire kodea auto-bildu ahal izateko. Bestela esanda, bada, zuk bat ziren ireki fitxategia hau eta irakurri, dezakezu infer moduko duten izena-tik sarrera Zein da ustezko jolasteko. Eta, orain dela azpitik, ireki dut kizkur eta giltza itxia kizkur giltza, eta, beraz, ondoren nabarituko dut bera lerro zazpi bidez, lau eredu Izan dut aste ona plus ostean gaur egun, adibidez, lerro artean, bederatzi eta 14 osatzen nagusia. Beste era batera esanda, inprimatu izena funtzio bat da. Orain, konpiladoreak ez da ezagutzen joan gauza hau deitzen automatikoki literalki I besterik ez delako asmatu du, baina, hala ere, izango da nagusia deitzea automatikoki, eta, ondoren, noski-en 13 linea, nire funtzioa dut deituz. Eta nik dudalako deklaratu duten funtzioa sortu lau lerro nagusiak aurretik, hau da, konpiladoreak irakastera joan zer aurrekontua, unquote, "inprimatu izena" esan nahi du, eta zer egin behar da. Beraz emanez pertsonalizatu berri bat sort naiz testuinguruaren bloke, esateko, hutsetik. Beraz, hemen, hori oso ohikoa da jarri ahal izango dut edo errepikakorra kodea eredua mantendu dut klasean, idatziz printf Kaixo% s,% s / n ", - hemen zer jarri nahi dut? S? Beraz, izena jarri behar testuinguru honetan nahi dut. Beraz, nabarituko dikotomia bat pixka bat hemen. Naiz nire funtzioa geratuko delako eta zertxobait dut inori deitu izena inprimatu, eta dudan dudalako Parentesi zehaztutako hori funtzioa argumentu bat, mota hartzen duen kate bat da -, beraz, hitz bat da edo esaldi edo zerbait bezala - eta Argumentu izen hori dut deituz, hori aldagai bakarra, hori esan nahi du esparrua, nolabait esateko, izena da. S bakarrik, bien artean existitzen kizkur giltza, noski? Beno, benetan, besterik ez bezala, linea 10 bidez 14, beraz, astelehena, gustatzen ezin erabili S, baina zer egin dezaket da pasatzen Inprimatu izena sartu S. Inprimatu izena bakarrik gertatzen da, beraz, ematen alias bat, sinonimo, goitizena, izen deituz, eta, orain, erabiliz, lerro honetan. Beraz, orain utzi hau gordetzeko me, txikiagotzeko. Let me aurrera egiteko eta kaixo. Itxura ona. Ba ez txu out akatsak. . / Kaixo Sartu. Zein da nire izena? David. Kaixo eta David. Beraz, ez da zirraragarria duten guztiak, baina uste orain. Orain gauza bera osagai duten Scratch urtean egin genuen bezala, egiteko gure funtzioak. Baina bada Gotcha bat pixka bat da. Demagun nintzen ez benetan pentsatu eta honen bidez, I actually gabe benetan pentsatzen idatzi zuen duten funtzioa behera hemen. Ezin hobeto sentitzen da arrazoizkoa. Scratch ez dago nozioa ez da Scripten kokapenak. Bat jarri ahal izango duzu hemen, bat sortu hemen, Hemen bat gora, eta hasi zitekeen narratsa pixka bat begiratu nahi ez baduzu arautuko ezazu bata, baina ez du axola non fisikoki gidoiak pantailan ziren. C Zoritxarrez - eta hau ez bezala Java eta Python bezalako hizkuntza eta beste batzuk ezagutzen duzula izan daiteke Honekin - zoritxarrez C, ordena du watch zer axola duelako orain gertatuko da. Lehenetsia funtzio hori joan exekutatu behar da, noski, nagusia. Nagusia da inprimatu izena deitzeko gertatzen line zortzi, baina, tamalez, eta konpiladoreak ez du, nahiz eta jakin inprimatu izen hori existitzen lerro lortzen da 11 arte, eta horrek, zoritxarrez, ez da beranduegi izango da. Hargatik egin egin kaixo. Eta orain, madarikatua, bi akatsak sortzen dira. Beraz, orain utzi sortu korrituko ninduen oso lehen, beti bezala egin beharko genuke, eta nabarituko dela me at yelling, "Funtzioaren adierazpena inplizituki inprimatu izena. " Beraz, ikusi dugu mezu hau baino lehen, funtzioaren adierazpena inplizituki. Noiz egin dute akats-mota hori ikusi dugu? Noiz ez nuen artean, liburutegi bat. Ahaztu dut cs50.h bada eta lortu nahi nuke lortu katea edo lortu int at oihu. Baina kasu honetan, funtzio hau inprimatu izena ez da liburutegi batean, ezta? Literalki da fitxategi horretan, beraz, zer da benetan arazoa? Beno, zoritxarrez C, zuk hartzen du beraz, oso literalki bada duzula deitu nahi inprimatu izena funtzio bat existitzen dira, bai duzun ezartzea oso zure goian funtzioa kodea duten eskuragarria txikiagoa da, beraz, funtzioak, baina sinceramente, bihurtzen sloppy oso azkar. Pertsonalki, nagusia gustatzen zait jarriz lehenengo ondoren, oso argi dagoelako zer Programaren lehen begiratuan du. Eta plus, txoko bitxi sartu dezakezu kasuetan x nahi izanez gero, deitu baina y y x deitu dezake, besterik fisikoki ezin bat benetan jarri bestearen gainean. Baina bihurtzen da C, ezin dugu Hori konpontzeko, besterik gabe. Espazio pixka bat jarri nahi dut hemen, eta besterik ez naiz joan preemptively, pixka bat bada ere redundantly, irakasteko joan konpiladoreak ez dagoela funtzio bat existitzen da izeneko inprimatu izena, kate bat egiten da, eta deitu dut koma izendatu da. Beraz, orain lau linea, eta horrek dugu ez dute ikusi baino lehen, adierazpen bat da funtzio inprimatu izen, baina soilik promesa bat funtzio hori izango dela Azkenean, definitzen da, azkenean, izango ezarri da. Orain, bakarrik utzi ahal izango dut delako Orain, definizio hau da, ezartzeko, azken milia moduko hau ezartzeko bereziki funtzioa. Beraz sinceramente ergela da, gogaikarria da, baina hau modu C da, eta bere hartzen du duzulako Oso literalki eta, ordenagailu sinceramente behar bezala, bakarrik ez du zehazki zer esan nahi duzun egin, eta, beraz, ordena hori garrantzitsua da. Beraz eduki hori kontuan hartu eta berriro hasteko nabarituko ereduen errepikatze. Odds izango dira, ez baduzu dagoeneko, hasi mezuak topatzen horrela, lehen begiratuan diruditen erabat críptica, baina hasteko bada gako horiek hitzak itxura "Adierazpena inplizituki," aipatu baten Kasu honetan, funtzio - eta sinceramente, duzu batzuetan ere iritsi berde txiki bat azenarioa ikurra esaten dizu non alea izango da seguru asko - Hasteko, zure lan egiteko modua bidez dezakezu oraindik ikusi gabeko errore-mezuak. Idatziz buruzko edozein galdera, zure egin modu horretan funtzioa? Egin dezagun zerbait da bat pixka bat gehiago sinesgarria. Baino zerbait besterik ez duela inprimatzeko eragina albo batean, let me joan Animatu eta gorde fitxategi berri bat, eta egiten zaitugu deitu positive.c hau, nahiz eta oso apur bat ezberdina izango da azken vs. Eta oraingoan, berriro ezartzea nahi dut azken aldiz en positive.C adibidez, eta horrek erabiltzaileari eman indar Niri oso positibo bat. Baina int azken aldiz erabili behar izan nuen. Ez luke izan da, polita izan zen, ez bada izeneko funtzio bat lortu positiboa int izan dut azpikontratatzeko honetan funtzionaltasuna pieza bat nahi duzu? Diferentzia da hemen egiten zaitugu beraz, ezartzea lortu int positiboa da, baina ez bezala inprimatu izena zuen alboko efektua - it ez du zerbait ni bezalako zenbaki bat edo kate bat - get int positiboa da, noski, joan itzultzeko, zorionez, int positibo bat. Beraz, egin dezagun. Besteak beste, cs50.h artean, estandarra io.h. INT hutsune nagusia. Eta orain, hemen, aurrera noa eta, esan dezagun, int, deitu n, berdin positiboa lortzeko int. Eta bezala lortu int existitzen da dagoeneko langileak idatzi delako, joan naiz une hori lortu du bere gain hartzen positiboa int lehendik ere, eta, orain, joan naiz Aurrera joan eta esan printf, % i / n ", n esker. Beraz, bada, programa honetan bildu dut, zer da gertatuko nire terminal pantailaren behealdean leiho? To ziurrenik eskuratu dut aurretik error berean. Hargatik saiatu. Egin positiboa. Eta berriro ere, inplizituki adierazpena funtzioa, lortu positiboa int. Beraz, hau konpondu ahal izango dugu modu pare bat. Eta erraza da, besterik gabe, gorde egingo ditut jarri nire deklarazioa hemen eta lortu positiboa int. Deiturikoak sinadura behar dut. Sinadura besterik aipatzen du estetika programaren lehenengo lerroan. Beraz, zer positiboa lortu beharko int bueltan? Beraz, int bat. Haien esan nahi dut, itzuliko luke int positiboak antzeko zerbait, baina hori ez da existitzen. Ez dugu ikusten, gure artean datuak motak, beraz, aurre egin behar dugu Izan dugun oso gutxi datu motak lan egiteko. Baina int bat eta besterik gabe itzuli ahal izango dugun fidatzen positiboa izango dela. Deitu behar da joan positiboa lortzeko int. Eta orain, nola bere argumentuak buruz? Edozein sarrera ez du hartu? Edozein sarrera ez du egin behar da? Beraz, ez du jakin behar aldez aurretik ezer ere. Talde esaldia ez, lortu int ez. Printf du - batzuk izan behar du sarrera da pasa - izena eta inprimatu beharrezkoak diren sarrera batzuk, baina positiboa int ez. Beraz, esplizituki dut esango konpiladore hutsunea. Hutsa, beste ezer ez egotea da. Beraz, hutsune bitartez ezer ez da barruan Parentesi horiek dira, koma. Eta orain, nire fitxategia behealdean - eta berriro, besterik ez naizela anal mota Hemen nagusia jarriz goialdean, eta horrek Ohitura ona da, zeren eta modu honetan, Zuk edo beste norbaitek edonoiz Zure fitxategia, irekitzen funtzionaltasuna da bertan. Ko plazatik dezakezu murgiltzeko. Beraz, orain hau bikoiztu egingo ditut, positiboa lortzeko int hutsunea, baina ez naiz koma hit orain joan. Kizkur giltza ireki dut, eta orain maileguan behar dut astelehenetik ideia batzuk. Horrela deitu, zerbait egin dugu ez bezala, honako hauek, berriz, zerbait egia zen. Eta zer egin dezaket? Emateko moduko zerbait egin nuen Niri oso positibo bat, galdetzeko pixka. Edozein hitz erabili dut nahi izan dut. Eta gero, zer erabiltzen dut? Int n berdin lortu int, ez du argumentuak. Eta konturatu diferentzia. Funtzio bat deitzen duzu, duzunean erabili funtzio bat, zuk ez hutsunea jarri. Do besterik ez duzu bat geratuko dela funtzioa, konpiladoreak zer irakasten espero behar da. Beraz, ez duzu jarri gal ez zeure burua. Eta orain, zer izan zen nire egoera? Beno, n ez da positiboa, berdin, baina, besterik gabe sasi-kodea da. Beraz, nola egin azaltzen dut gehiago garbian? Beraz baino gutxiago edo zero. Beraz, berriro ere, konturatu egin dezakezu baino txikiagoa edo berdina. Nahiz eta bi da ikurrak, ere egin dezakezu hala nola, zure teklatua. Baina, ez da oraindik ere, akats bat dela Izorratu nuen azken aldia ere. Aldarrikatzen dute I - zehazki. N deklaratzeko kanpo daukat begiztaren. Beraz sortu n, hemen jarri behar dut, eta ez dut nahi berriro deklaratu du hemen lortu dut lest berria aldagai bat. Nahi dut, balio bat esleitzeko hemen. Eta orain, Ez dut nahiko egin hemen. Let aurretik neure burua get me eta asmoa dut egin. Egin positiboa izan da, eta, orain, berriak daude errore bat da. Kontrol amaierara iristen ez void funtzioa. Errore mezu berria, baina izanez gero, mota aurre gain, hitz bakoitzak, hura ziurrenik zer gertatzen at ukituak. Kontrolatzeko. Kontrol besterik ordena esan nahi du programa batean eragiketa. Ordenagailua kontrolatzen da, eta Zerbait gaizki joan da. Beraz, amaieran iristen da ez hutsune funtzio bat. Zer funtzio da, itxuraz erreferentzia? Zer funtzioa ez da hutsunea? Beraz, positiboa int, eta pixka bat bai hori nahasia, hutsune moduko bat da. Hutsune bat bere zehaztapen eman ditu argumentuak, baizik eta bere irteera joan mota n izango da. Beraz, ezkerrean hitza da izenekoak itzulera mota. The barrutik hitza hemen da zero edo gehiago argumentuak funtzio bat hartzen du. Beraz, zer egin behar dut? Hau nire kodea puntua, lerroa, non 21 egun keinuka gonbita Gaur egun, I positiboa izan int barruan n izeneko aldagaia. Nola ematen dut itzuli nagusiak? Literalki. Itzultzeko n koma. Beraz, gisa COLTON itzuli pieza baten zidan erantzun batekin paper jareginez duten paper txiki beltzez mahai gainean kaxa, hori egin ahal izateko kodea, besterik ez duzu, hitzez hitz idazteko, itzultzeko n, eta hori da, nahiz eta gisa COLTON ziren Niri gozamenerako zerbait fisiko itzuli. Kasu honetan, zer gertatzen da lortu positiboa int itzuli da bertara joan zer ustez positiboa nori osokoa? Balio hori ez du azkenean? Amaitzen duten aldagai honetan, n, eta ondoren, jarraitu line bederatzi ditugu. Beraz, beste era batera esanda, ordena baten eragiketak, programa honetan hasten da , exekutatzean eta konpiladoreak konturatuko, Oh, liburutegian nahi duzu? Let grab edozein barruan joan da niretzat. Oh, estandarra IO liburutegia nahi duzu? Let grab edozein barruan joan da niretzat. Zer konpiladoreak ez du esan nahi, berez, denean, lau lerro hits da? Oh, ezartzeko agindu duzu izeneko funtzioa positiboa lortzeko, baina lortu dugu hori, geroago, lerro horiek batera zerbait. Int nagusia hutsunea besterik esan nahi hemen nire programa ausartuko da. Line zazpi besterik kizkur giltza bat da. Line zortzi da ezkerretik, esanez eman zenbaki oso bat eman dit, 32 bit, deitu n. Eskuinaldean On, bere positiboa lortzeko int esanez. Orain pausatu duen istorioa, orain delako Ez dut nire mantentzeko kurtsorea mugitzen behera. Nire kurtsorea orain jaisten delako hemen orain positiboa int exekutatzen. Int n izendatu. Egin honako hau. Printf ematen dit oso positibo bat. Talde bat int erabiltzaileari, gorde n, eta, agian, egin, behin eta berriro. Horrek esan nahi du, begizta kode hau baliteke exekutatu gora eta behera atsegin dute hau berriro eta, berriro ere, baina, azkenik, erabiltzaileak elkarlanean aritzen da, eta ematen dit positiboa int, linea 21 hit dut, zein puntuan zenbakia da entregatu atzera, eta horrek bat Orain, nabarmendu behar dut? Bederatzi. Kontrol, nolabait esateko, itzultzen Bederatzi lerro. Lerro hori dela orain arduratzen da. Beraz, hori da zer gertatzen ari dira guztiak hau kanpaia azpian, baina denean erabiltzen dugu funtzio printf bezalako edo are get katea beste norbait dagoela zuretzat idatzi, kontrola izan zen entregatu off norbaiten kodea line lerro lerro. Besterik ez da, izan da eta ez dugu ikusten eta guk ezin da benetan itxura honetan programa delako, beste batzuetan da disko gogorrean fitxategia gurekin unbeknownst. Hargatik, benetan bildu eta exekutatu orain. Egin positiboa. Biltzea, hori da aurrerapena. . / Positiboa. Ematen dit oso positibo bat. Dezagun, zaila izango da. Negatiboak 1. Zero. Dezagun eman 50. 50 Eskerrik asko, eta, beraz, kontrol- Orain itzuli. Edozein galdera, eta, ondoren, hori? Bai? [INAUDIBLE]. Esan berriro. Oh, ona galdera. Beraz paralelo bat nabarituko baliteke hemen Txoko bat mozteko on-mota naiz. Linea 12, esaten dut, lortu positiboa int int itzultzen da, baina gauza bera dela logika, nabarmentzen da, gaur egun, arrazoi hori lerro, sei, esaten dut nagusira itzultzen duten int bat, baina zer egin behar dugu inoiz gure programak edozein izan? Inoiz ez dugu izan, aipatu hau gako-hitza bueltan. Beraz bihurtzen da hori C, gutxienez haren bertsio garela erabiliz 1999an egindako, teknikoki, hau da, automatikoki gertatzen. Edonoiz programa bat ezartzea, eta zuk duzu ezartzeko funtzioa izeneko nagusia, duten funtzioa zero itzuliko arabera lehenetsia ez baduzu esan, bestela, eta zero hitzarmen bat besterik ez da. Munduko itzultzen zero horrela guztiak ondo adieraziz, eraginkortasunez gurekin batera utzita, lau milioi ahalik eta gauza ezin joan gaizki, beraz, itzultzeko galtzen dugu, hori kode bat adierazten duela esan nahi du agian hau Gauza oker joan da. Bi itzultzeko izan dugu, eta horrek esan nahi du beste gauza hau oker joan da. Lau milioi itzultzeko izan dugu, eta horrek esan nahi du, beste gauza hau oker joan da. Eta orain, zure izanez gero, uste PC edo Mac, gogoratzen, baliteke hori batzuetan críptica akats mezuak lortuko duzu software zarela tik erabiliz, eta, batzuetan, giza du lagunarteko azalpena, baina ez da sarritan kode bat edo telefono zenbaki bat pantailan? Hau ez bada kontuan etortzen, Horretarako, mantendu begi bat atera du. Hau da, normalean, zer horiek kodeak dira, aipatuz. Ari dira Microsoft Word-en sartu eta beste programa, beraz, artxibatzen baduzu bug enpresaren txostena, dezakezu esan, oh, akats kopurua 45 lortu nuen. Eta enpresan atzera programatzaile batzuk Itxura dezake gora edo bere kodea eta esan, ai, hori egin dudalako bug hau eta horregatik erabiltzaileak lortu mezu hau. Baina sinceramente, besterik ez da apur bat distracting eta pixka bat aspergarria nahi Amaitzeko, gutxienez gure lehen programa, dugu, beraz, egin da kenduz. Baina denbora honetan guztian, egunero zure bat funtzio nagusia izan ezkutuka honetan line automatikoki gehitu arabera konpiladorea, zerbait konbentzio gorde duzu, denbora pixka bat. [INAUDIBLE]. Zuk ez duzu hura sartzea nagusian. Hori da isuna. Beharrik ez duzu sartu nahi izan baduzu hau bezalako funtzio bat ezartzeko. Bestela, funtzio lauak kanpo ez litzateke lan. Nagusian, baina, ez da beharrezkoa. Aste bat edo bi, hasteko lortzean dugu ohitura hori sartu ondoren hasi nahi dugu akatsak signifying. Benetan ona galdera. Beraz, azkar hitzezko haustea aipatzen ostiral honetan, ez dugu lunch edukitzea per se, baina beharrik izango dugu afari batekin ikasle eta langile batzuk. Gurekin bat egin nahi baduzu, sentitzen free to cs50.net/rsvp joan. 6:00 PM ostiral honetan. Espazioa da, beti bezala, mugatua da, baina egiten zaitugu horiek egiten jarraitzeko ia an astero oinarri espazioa bada agortu aste honetan. Cliffhanger utzi dugun off beraz Astelehena zen kateak benetan duten indexatutako egon, sartu eta horrek esan nahi du, besterik ez duzu ahal izango da lehen pertsonaia ean iritsi da, bigarren pertsonaia, hirugarren pertsonaia eta abar, egin dezakezu delako eraginkortasunez katea uste bezala, kaixo, kasu honetan bezala, bost kutxa barruan gutunak. Eta horietako bakoitzean dezakezu kutxen sintaxia zer egin dugu astelehenean aurkeztuko? Kortxeteak horiek teklatuan. Besterik ekarri zuen, kokapena zero joan. Kontatuta zero hasiko gara, eta, beraz, tarte ondorioztatzen du zero h, tarte bat ondorioztatzen e, eta abar. Eta, beraz, denbora denean izan gara guztiak kateak erabiltzen eta idazten du "kaixo" eta "mundu" eta beste gauza on pantailan, berau izan da gordetako hau bezalako kutxetan. Hartu eta etxebizitza bat. Zer kutxa bakoitzak ez du irudikatzeko fisikoki Zure ordenagailuaren barruan? [INAUDIBLE]. Sentitzen dut? Karaktereak. Pertsonaia bat, beraz, zalantzarik gabe, kasuan kateak, eta pertsonaia bat besterik ez da zortzi bit edo byte. Beraz, litekeena da, gutxienez vaguely Izan ere, ezagutzen al duten ordenagailuaren memoria du. Bi memoria mota gutxienez ditu. Disko gogorrean non gorde da bat bete betirako, eta hori normalean, handiak, beraz, filmak izan dezakezu eta musika, eta abar. Ondoren, memoria mota bat behar duzu izeneko RAM, R-A-M, Random Access Memoria, eta honi memoria mota da erabiltzen den ordenagailua da baina lasterketak izango duzu, boterea edo zure Bateria trokelak, ezer gordeta RAM desagertzen izango duzu power bada guztiz ez bait da iraunkorrak. Normalean duzu, egun hauetan, bat da kontzertua, bi kontzertuak, agian gehiago. Eta RAM hankaz da hori askoz askoz disko gogorrean baino azkarrago edo are egoera ona gidatzen du egun hauetan, baina normalean garestiagoa da, beraz, hura gutxiago behar duzu. Gaurko elkarrizketa aipatzen du, beraz, benetan eta RAM, memoria mota hori existitzen ez da bakarrik botere bitartean eta zure ordenagailuan elikatzen. Beraz, idatzi H-E-L-L-O, hemen Sartu an teklatua, H da batean joan RAM byte, E da joan beste RAM byte da, hitzaren gainerakoa. Beraz, zer gogora ekarri ahal izan dugu azken aldiz egin behar izan zen. Let me aurrera eta ireki fitxategia deitzen dugun string.c, eta gogoratzen begiratu dela apur bat honen antzeko zerbait. Dezagun roll benetan me back eta aldatzeko zehazki zer itxura du, berau, katea s luzera. Beraz, programa begiratu hemen. Du CS50 liburutegia beraz txertatu dugu lortzeko kate hori erabili ahal izango dugu. Estandarra io.h dugu printf beraz, erabili ahal izango dugu. Zergatik string.h dugu? Hau izan zen berria astelehenean. Beraz, kate-luzera nahi dugu. Leng Str. Pertsonak erabaki urte, dezagun, besterik izan succinct. Ordez "kate luzera," deitzen dezagun deitzen "Leng str" eta utzi munduko figura da, eta beraz, hori da zer eskuratu dugu string.h batera. Hau da ezagutzen. Hau da ezagutzen. Hau da ezagutzen. Hau da, apur bat berria. Line 22 - eta itzuli dugu honetan, baina, orain, jakin - eta bakarrik ezagutzen duzun lotura izatea irakurri dokumentazioa edo C bazekien dagoeneko - lortzeko kate batzuetan torlojua dezake. Erabiltzaileari benetan adversarial badu edo uncooperative eta berak bakarrik ez du ezer idatzi teklatua edo motak hainbeste at teklatua ordenagailuaren memorian overwhelms da, teorian, lortu katea ezin itzultzeko zerbait baino beste karaktere-katea. Izeneko balio berezia itzul liteke Txanoak guztiak, N-U-L-L, eta hau da NULL bat besterik ez deiturikoak Sentinel balioa. Berezi balioa ondorioztatzen da zerbait txarra, kasu honetan gertatu. Kate bat eza da. Beraz null dut egiaztatuz, besterik gabe, eta horrela, luze istorio labur, Leng eta str beste funtzio C etortzen bada, kate bat espero baina pasatzen duzu kate bat eza, pasatzen baduzu , null horiek ordenagailua edo programa besterik gabe, huts egingo zaie. Zintzilikatu ditu. Bota egingo du, errore-mezu batzuk. Gauza txarrak gertatuko. Beraz, nahiz eta hau ez da oraindik ez da ondo definitutako - lotura gehiago zentzurik izango aste bat edo bi - line 22, hau da, besterik defentsa auto error egiaztapena adibide badaezpada ko denbora out of milioi bat zerbait oker, at Gutxienez nire programa ez du huts egin. Beraz, ez du ez bada zerbait txarra berdinen, Daukat hau begizta, eta hau izan zen non beste izan dugu sintaxia pieza berriak. Bat daukat begizta tik errepikatzean eman zero gora s luzera. Eta gero, hemen, s inprimatzeko nintzen tarte i, baina zergatik% c erabiltzen dut guztien ordez% s bat-bateko nahiz s katea izan arren? Pertsonaia bat da, ezta? S kate bat da, baina tarte s zerbait, s tarte i non zero da i edo bat edo bi, eta pertsona bat da katean pertsonaia, eta, hala hori, printf behar informatuta egoteko duten hain zuzen ere, da pertsonaia bat espero. Eta, ondoren, gogoratzen, zer egin honetan programa benetan egiten? Inprimatutako ezazu zutabe batean. Bai, zehazki. Inprimatutako besterik ez da hitza idazten dut zutabe bat, lerro bakoitzeko pertsonaia. Beraz, ikus dezagun hau berriro. Beraz, katea. Konpilatu Ados. . / Katea. Demagun idatzi H-E-L-L-O me, Sartu, eta hain zuzen ere, lortu nuen, lerro bakoitzeko. Hargatik bat optimizazioa egin dit hemen. Buruz uste duzu bada, batez ere, programatu duzun aurretik, ez da dudarik line 24 eraginkortasunik eza da. Bestela esanda, ez da derrigorrez onena diseinua. Erraza, gutxienez behin gogoratu zer Leng str da, baina muda zerbait egiten potentzialki. Zer egin liteke hori? [INAUDIBLE]. Zehazki. S luzera dela egiaztatuz guztietan, nahiz eta bakar H-E-L-L-O da beti joan bost karaktere izan behar ditu. Begizta honen bidez, aldi bakoitzean, bost, ez da aldatzen. Incrementing egon naiz, agian, baina zer s luzera guztietan da begizta-iterazio hau? Bost da, bost da, bost da, eta oraindik, hala ere, nago honetan eskatuz zalantzan jarri, behin eta berriro, eta berriro. Orain sinceramente, ordenagailua da hain madarikatua azkarrak, inor ez da bat nabarituko joan kasu honetan ezberdintasuna, baina horiek diseinu pobrea erabaki ahal martxan gehitzeko konpiladoreak bera ez du, saiatu hau konpondu ahal izateko eta horrek litzateke, normalean, ez da, at tresnari, gutxienez. Beraz, hori egin dut. Koma bat gehitu ondoren noa nire lehen aldagaia, i. Neure burua emateko beste noa aldakorra da deituz n, zerbait zenbakiak hitzarmena, eta, ondoren, naiz kate balioa, N esleitzeko joan s luzera. Eta, ondoren, aldatu dut nire egoera zer izan nahi duzu? Nire egoera aldatu nahi dut a i n baino txikiagoa den bitartean. Beraz, orain, zenbat aldiz naiz s luzera egiaztapena? Behin, baina OK da i egiaztatzeko aurka n, behin eta berriro, orain delako horiek balioak ez dira aldatzen. Orain oraingoz, besterik gabe, badakizu edonoiz duten deitu funtzio bat, baina pixka bat da Buruak, ez da nahikoa behar duzu disuasio Benetan tik inoiz funtzioak erabiltzen, baina zalantzarik gabe dagoenean kode-lerro bat gustatzen - eta lerroak lortuko gehiago luze baino lehen interesgarria - non ez dago aukera bat dela uste da, badut kode hau idatzi, zenbat aldiz izango da exekutatu? Hasteko ordua baino gehiago ikusteko izango duzu Zure programen errendimendua ahal hain zuzen ere, aldatu. Izan ere, arazo bat ezartzen dugu egin urteetan iragana dakar garatzen dezakezu bezala gogoratzen aste zero, zuzentzaileari bat, baina zuzentzaileari hori diseinatu da onartzen 150.000 bat hiztegian gehi hitz ematen dizugu guys. Izan kodea idatzi nahi duzun karga duten horiek RAM sartu hitzak, beraz, sartu dugun bezala kaxak pantailan ikusi momentu bat duela, eta gero gisa duzun bezain azkar dezakete, gai bat erantzun behar duzu Inprimaki galdera, hitz hori Oker? Hitz hau gaizki idatzitako? Hitz hau gaizki idatzitako? Eta zer dugu horrelako zerbait egin urteetan iraganeko aktibatuta dago bertan, beti opt-oinarria hautazkoa, bat izan arren era lehiaketa, horregatik da ikasleek erabiltzen duten gutxiago RAM eta gutxiago denbora gutxiago CPU zikloak, azkenean, sortu bubbling txiki baten gainean liderra taula edo ranking on dugula jarri Ikastaro horrek Hasierako orri gisa dudan dugu urte iragan dira. Beraz, berriro ere, guztiz aukerakoa da, baina hau diseinu aukerak hitz egiten du dira, aurretik behin dugu horietako batzuen gainean eraikitzen oinarrizko bloke. Beraz, atzera egin ninduen diagrama honetan une bat besterik ez da, eta pixka bat agerian zerbait gehiago da. Honek, hain zuzen ere, kate bat da, eta hartu dugun gutxi batzuen liburutegiak abantaila, estandarra io.h ditu - Printf. Printf, besteak beste. cs50.h, zein int lortu du eta katea lortu eta abar, string.h, eta horrek izan Leng str. Baina, ez da oraindik beste izarrekin bihurtzen da. Sinceramente, ez da asko eta asko goiburua fitxategiak deklaratzen duten funtzioak liburutegiak, baina ctype.h hau benetan samarra izango onuragarria dut delako Aurrera joan eta bat ezartzeko beste programa hemen. Let me aurrera eta ireki zerbait Idatzi zuen, aldez aurretik deitu dut capitalize.c, eta dezagun nola obra honen begirada bat. Nabarituko dut, erabiliz bertsio honetan da, hiru ezagutzen fitxategiak. Iragarki line 18 ere, naiz Testu-lerro bat lortzeko. Linea 21, iragarki, aldarrikatzen dut hori ondoko kodea da joan larriz s, edozein erabiltzaileak idatzitako , eta nola egiten duten am I? Beno, hartzen dut - ikasgaia azken aldiz ikasi - I eta n geratuko naiz eta errepikatzean katea karaktere baino gehiago. Eta gero, zer bloke honen line 24 27 bidez kodea layman en dagokionez egiten? Minuskula gutun itzuli. Zehazki. S tarte i badu - hala bada, i-garren ren izaera, eta horrek zehatz bat da katean char, hau baino handiagoa berdina edo bat minuskula eta - gogoratzen ampersand bikoitz hori adierazteko eta - eta pertsonaia bera, s tarte i da, edo gutxiago z minuskula da, horrek esan nahi bat edo B edo C edo da dot, dot, dot, edo z bat, eta horrek esan nahi du minuskulaz da. Zer egin kasu horretan egin nahi dut? Beno, hau egin ahal izango dut zertxobait cryptically, baina dezagun aurre honetan gain. Printf deitzera noa, grabatuak% c nahi dut hau berriz ere inprima delako pantailan pertsonaia. Ondoren, naiz s tarte i, hartzen joan i-garren s pertsonaia, eta, ondoren, zergatik nago egiten trikimailu txiki hau dut hemen, minuskula bat ken kapital bat? Zer da hori emateko joan oro har, nirekin hitz egin? [INAUDIBLE]. Zehazki. Ez dut gogoratzen - kapital A. 65 Egia esan, ez zen gogoratu zer minuskula bat da, baina ez du axola. Ordenagailua daki. Beraz, esanez, minuskula bat ken kapital-A, arraroa izan behar da ko char kenduz beste bat, baina zer dira kanpaia azpian karakteretan? Besterik ez dira zenbakiak. Edozein dela ere, beraz, zenbaki horiek dira, utzi ordenagailua gogoratzen baizik eta ni baino giza. Beraz, minuskula bat ken hiriburua da niri emateko diferentzia bat egingo da. 32 izango dira gertatzen da, eta hori izango litzateke b minuskulaz eta kapital B kasuan eta abar. Koherente geratzen da, zorionez. Naiz, beraz, funtsean esaten dut, hartu minuskula gutun, kendu off dagoela estandarraren ezberdintasuna, eta hori eraginkortasunez aldaketa tarte i s-tik to minuskula noski, maiuskulaz, nire benetan pentsatu gabe edo gogoratu, zer horiek zenbakiak dugu hitz egiten denean, zortzi buruz boluntarioek sortu zen etapa batean? Orain Bien bitartean, beste batean, bada, ez da zehaztuko letra minuskulaz bat linea 24, besterik inprimatu. Nahi dut soilik ukitzeko pertsonaiak izan ziren benetan jatorriz minuskula. Beraz, ikus dezagun hau. Egin larriz. Bildu Ados. . / Larriz. Eta utzi idatzi H-E-L-L-O me minuskulaz, Sartu. Eta nabarituko dela bihurtu maiuskulaz sartu. Utzi hau egin zidan berriro desberdinak hitz bat. Nola D-A-V-I-D buruzko lehenengo D Izen bat kapitalizatzen da normalean? Sartu. Oraindik ere nabarituko da zuzena. Outputted besterik ez da lehen D ez da aldatu duten beste eraikitzeko bidez. Beraz, kontuan hartu, eta, ondoren, bat Hemen gauza pare. Ko, inoiz nahi baduzu bi egiaztatzeko aldi berean, baldintza, eta ezin dituzu batera iragarri dugun bezala. Pertsonaiak alderatu dezakezu modu honetan eta eraginkortasunez tratatzeko karaktere gisa zenbakiak, baina sinceramente, hau da, beraz, madarikatua críptica inoiz ez dut gogoratzen joan nola etorri honekin hutsetik bidez arrazoibide nahiko gabe denbora pixka bat. Ez luke izan da atsegina norbaitek han idatzi zuen deitzen da funtzio bat txikiagoa izan dit egia erantzun edo faltsua, pertsonaia hori minuskulaz? Beno zorionez, duenak idatzi zuen ctype.h egin du hain zuzen ere. Let me igo eta hemen ctype gehitu c motak, eta, orain, let me behera joan eta hemen idatzi lerro hau honela. Beraz, deitzen bada txikiagoa da, I erreklamatzeko, s tarte i, ondoren, ezabatu dut horiek bi lerro elkarrekin. Beraz, beste norbaitek, espero dut, idatzi zuen izeneko funtzio bat txikiagoa da, eta bihurtzen da, eta egin zuten deklaratu dute it ctype.h barruan. Eta orain, 27 lerro utzi dut bakarrik, 31 lerro utzi dut bakarrik, baina konturatu zenbat dut estutu nire kodea. Orain da garbitzailea. Gutxiago zaila da begiratu bidez Orain, funtzioa, zeren eta, gainera, ez da beraz, oso izendatu besterik ez du esaten. Beraz, orain hau gorde nahi dut. Txikiagotzeko noa. Eta besterik Scratch bezala izan dezakezu Booleans, Balio boolearrak egia edo faltsua, hori zehazki zer da jaistea eraginkortasunez itzultzen. Let me konpilatu. Let me re-run. Eta orain, saia gaitezen berriro, H-E-L-L-O, Sartu. Hori nahiko ona. Eta saiatu berriro, ziurtatu dut ez du torlojua zerbait. Hori bai kapitalizatu. Baina hori ez da nahikoa, zeren beste gauza dut inoiz joan gogoratzen bidez nire lana ez bada behintzat, benetan arretaz, eta esan, paper da madarikatua lerro hau. Ez litzateke polita izango ez balitz goiko izeneko funtzio bat? Beno bihurtzen ez atera ctype.h da baita ere. Aurrera joan eta idatzi dut - utzi lerro bat ekarri dit atzera. Horren ordez, hau hemendik, goazen aurrera me eta esan du,% c ordezko Funtzio hau deituz emaitza s karaktere-i-garren on goiko. Eta orain, ohartuko da lortzean pixka bat orekatu. Segimendua egiteko, zenbat daukat parentesi ireki dut eta itxita. Beraz, orain are garbiagoa da. Orain programa hau hobea lortzean eta hobeto diseinatu da, dudarik gabe, delako askoz gehiago irakurtzen Ez da dezagun zuzendu. Egin larriz. . / Larriz. H-E-L-L-O. Dezagun exekutatu berriro, D-A-V-I-D. Ados, beraz, oraindik ez gara hasi nahiko ona forma. Baina orain goiko. Ez da bat gehiago proposatzen dut fintasun egitea litzateke genezake Benetan polita da, izan benetan estutu kode hau sortu eta benetan eman bost diseinua bost, adibidez daudelarik. Zer polita izango litzateke kentzeko du iritsi? Beno, begiratu nola madarikatu luze bloke honen kodea da zerbait sinplea egiteko. Orain, bat alde batera, agian duzun bezala Atal super ikusi iraganeko honetan asteburuan, ez da hertsiki behar den kizkur giltza denean besterik ez duzu bat kode-lerro, nahiz eta proposatu dugu horiek mantenduz hainbeste egiten du argiagoa, Scratch-en U bezala blokeak, zer adarraren barruan dago. Baina ez litzateke polita izango da goiko bada, denean, bere sarrera, horrexegatik da sartu maiuskulaz ez bada, eta zer egingo zoragarria izango, kontrako kasuan bada dagoeneko ez da larriz? Just pasatzeko bidez eta utzi bakarrik. Beraz, agian, ez da. Saiatu besterik ez nuen espero ez dela, baina utzi niri sartzea, beste gauza bat da. Horren ordez eraiki-terminal hau erabiliz leiho behera hemen, gogoratzen duten hau karratu beltz ikonoa eskaintzen dizu handiagoa terminal leiho ahal izango dut osoko proiektatuko nahi badut? Maitatuak atera dute Ordena oddly bihurtzen da izendatzen, baina ez da gauza horiek deitzen man orriak, eskuzko orriak, azken finean, gizon, eta horiek sartu ahal izango dut idazten man - zer egin, idatzi nahi dut? Man goiko. Eta orain konturatzen ez bat existitzen bada Ordenagailuaren barruan funtzionatzen, eta Kasu honetan, tresnaren, hau da, besterik gabe, sistema eragilea Linux, joan da niri emateko pixka bat críptica multzo irteera, baina baino gehiago izango zara, denbora hori da beti formateatuta pretty askoz beraz, bera da ohitu hasten zara. Goi goialdean nabarituko, eta itxuraz berdinak dokumentazioa da txikiagoa da. Duenak idatzi zuen zenbait zen ebaketa txoko eta jarri orri bakarrean. Gauza horiek 'helburua bizitza bihurtzeko goiko edo letra minuskulaz. Nabarituko dela Sinopsis pean, gizon orria niri irakasten zer fitxategi dut Gauza hau erabili sartzeko. Me emanez hauen sinadura funtzioak, biak, nahiz eta dugu oraintxe bakarrik nahiz bat zaintzeko. Hemen, gaur egun, azalpen bat. Goiko gutun bihurtzen c larriz ahal bada ere. Oraindik ez hezigarria dela, baina utzi niri Orain, bueltan balioa azpian begiratu, gauza hori entregatu itzuli. Beraz, balioa itzuliko da, hain bihurtutako gutun edo c bada bihurketa ez zen posible. Zer da c? Jatorrizko pertsonaia. Jatorrizko izaera eta dakigun gero, berriz, gora egingo du laburpena, eta duenarentzat hau idatzi zuen funtzioa besterik erabaki sarrera duten to goiko eta beheko besterik ez da inori deitu behar c joan. Izeneko zezaketen ezer gehienetan , nahi dute, baina mantendu egin dira c bezain erraza da. Beraz, kontsulta egin dut, gizon orria. Esaldi horrek reassures me bada ez da minuskulaz gutun bat, oso besterik ematen dit atzera c, hau da, joan ezin hobea da, eta horrek esan nahi du get rid of dezaket nire beste baldintza. Hargatik itzultzeko niri, gedit, eta Orain egin besterik ez dit hau. Printf nire deklarazioa kopiatu noa. Animatu eta eskuineko barruan joan nahi dut begizta inprimatu dela, eta lortu orain kentzeko osoan honen eraikuntza bada. Ez zen ideia txarra, eta oso zen askoz ere zuzena eta koherentea batera dena predikatu dugu, baina ez da beharrezkoa. Bezain laster konturatu gisa duzun liburutegi batzuk funtzioa, norbaitek bestela existitzen idatzi, edo agian beste nonbait idatzi duzun fitxategia, erabili ahal izango duzu, eta benetan martxan estutzea kodea da. Noiz eta estilo ona bezalako gauzak esaten dut, Izan ere, pertsona hau dela deritzo goiko, edo aurrez da funtziona txikiagoa da oso erabilgarria delako oso deskriptiboak dira. Ez duzu nahi zure funtzioak deitzeko x eta y eta z, eta horiek askoz gutxiago esanahia. On serieak edozein galdera hobekuntza? Beraz, nahikoa da bat esatea takeaways nahiz eta zure arazoa egin da set - agian arazo multzo bat, baina Zalantzarik gabe, P ezarri bi eta aurrerantzean, nahiz eta denean zuzenak dira ez du nahitaez esan nahi perfektua besterik ez dira gabe edo, bereziki, ondo diseinatuta. Duten ardatz bestearen hasteko pentsatzen. Beraz, hau da zure barruan kate bat izan zen ordenagailuaren memoria, baina bada bat duzu oro har, karaktere sorta H-E-L-L-O bezalako RAM, barrutik eta demagun programan duzun deitu lortu katea hala nola duzula aldi anitzetan deitu lortu katea behin, gero deitu lortu katea berriro. Beno, zer gertatzen da denboran zehar gertatuko da? Beste era batera esanda, zuk line bat bada kodea, testuingurutik kanpo bada ere, adibidez, katea lortzen s - egin dezagun. Kate izena berdinen lortu katea. Beraz, demagun kode-lerro hori ekarri bere izena erabiltzaileari galdetu. Kode-lerro hurrengo hau ekarri eskatu bere eskola erabiltzaileari, eta hau hurrengo lerroan, eta abar. Demagun mantendu dugun galdetzen beste erabiltzaile eta beste bat, eta beste bat katea. Memoria egonaldia ari dira joan aldi berean. Ez da bata bestearen clobber joan. Eskola ez da gainidatziko beste. Baina ez dute guztiek azkenean memorian? Beno, hasiko dugu pantailan marrazteko bada, den gauza hori erabili ahal izango dugu Edukien hemen bat bezala, beltz honen bada laukizuzen adierazten nire ordenagailuaren memoria, eta edonola hasiko naiz zatituko da sortu karratu gutxi sartu da, horietako bakoitzak adierazten ko memoria byte. Egia, Memoria gigako bat bada egun hauetan, bilioi byte duzu Ordenagailuaren memoria, beraz, milioi bat lauki horiek. Beraz, nahikoa da esan nahi, hau ez da benetan eskalan. Baina mantentzeko, hauek guztiak marrazketa genezake argi eta garbi, ez plazetan eskalatzeko, eta hau kolektiboki adierazten nire ordenagailuaren memoria. Orain, besterik ez dugu egin dot, dot, dot. Beraz, beste era batera esanda, noiz galdetuko orain dut katea get erabiltzailea me emateko kate, zer gertatzen da? Erabiltzaileak "kaixo," amaiera motak gora H-E-L-L-O. Baina demagun ondoren, erabiltzaile-mota - Egia esan, ez nuen egin kaixo ari gara galdetzen duelako euren izenak dituzte. Hargatik, atzera itzuli honetan, ez dut beste badu. Beraz, mota D-A-V-I-Gko dut nire izena baldin bada, baina gogora ekarri du bigarren lerro hori kodea katea iritsi zen berriro ere bere eskola lortzeko. Non hitza, hau da, erabiltzaileak hurrengo joateko joan-motak? Beno, agian joan sartu da joan H-A-R-V-A-R-D. Beraz, nahiz eta ez dut marrazten da, bi lerro gisa, hau da, besterik gabe, byte mordo zure osoa ordenagailuaren RAM. Arazo bat da, gaur egun, orain badut delako naiz RAM erabiliz hau oso moduzko en baina modu inozo halakoa, zer egin dezakezu itxuraz ez bereizteko? Non hasten da bat, non bat bukatzen da, ezta? Elkarrekin lausotzen mota ari dira. Beraz bihurtzen da ordenagailua ez du egin. Refresh korrituko benetan me back denbora batean karaktereak, eta horren ordez, Harvard berehala joan, erabiltzaile-izenaren ondoren, erabiltzaileari benetan lortzen, atzean eszenak, karaktere berezi bat arabera txertatuko berarekin edo bere ordenagailua. / 0, bestela NULUAK pertsonaia gisa ezagutzen annoyingly izeneko N-U-L, ez N-U-L-L, baina idazten duzun / as 0. Besterik ez da zero bit guztiak markatzaile bat da lehen hitza arteko erabiltzailearen duten Idatzitako eta bigarrena. Harvard, benetan, orain, beraz, eta ondorioz sortu karaktere-sekuentzia hau eta bat gehiago / 0. Beraz, beste era batera esanda, erabiltzaileak horien beharrik Sentinel balioak, zortzi Alboko zero bit, orain dezakezu hasteko bereizteko ko beste pertsonaia. Une honetan, zer izan zen "kaixo" da, beraz, benetan "kaixo" a / 0, eta Bestalde, agian oso ondo pixka bat gehiago nahiko RAM izan Ordenagailuaren barruan. Dezagun beste gauza bat egin dit orain. Bihurtzen da lauki hauek guztiak gara, dira, bai marrazkia kateak, baina, oro har, Gauza horiek array dira. Array bat besterik ez da, memoria zati bat hori atzera itzuli itzuli itzuli da, eta normalean erabiltzen duzun array baten bidez hau parentesi karratu baten idazkera. Beraz, nahiko pixka bat ikusi dugu Denborarekin, baina, aurrera joan eta nire ireki dezagun deitzen adin. Eta konturatu zer egin ahal dugu horien trikimailuak, apur bat pixka bat gehiago sintaxia hemen. Beraz, linea 17 programa horren in - egia esan dezagun, programa exekutatu me lehen beraz, zer gauza honek ez du esan dezakegu. Egin dezagun adin deitu dit biltzeko programa honetan. . / Adin. Zenbat jende gela daude? Deitu hiru. Lehen pertsona adina? 18, 19, eta 20. Eta orain, zertxobait Ridiculously, dut egin dute, programa bat adin horietan hiru pertsona. Beraz, ez da argi eta garbi, aukera bat aritmetika batzuk fun hemen. Zorionez, matematika zuzena dela. 18 eta 19 joan ziren, 19 joan 20ra, eta abar. Baina zer da benetan ekarri nahi izan ilustratzailea hemen nola gordetzeko ari gara horiek hiru pertsonen adin. Let me gerturatzeko zer at gertatzen da hemen. Beraz, lehenengo, hauek lehen lerro gutxi batzuk egin beharko lukete nahiko ezagunak lortzean. Besterik ez naiz erabiltzaileari galdetu gelako pertsonen kopurua. Ondoren, int iritsi naiz erabiltzen eta egin bitartean Horretarako, behin eta berriro, eta berriro. Ikusi dugu eredu hori, baina aurretik 27 lerro berria da, eta egia esan, nahiko erabilgarria, eta bihurtu gero eta erabilgarria. Nabarituko zer da hori line 27 ezberdinetan da agertzen dela deklaratzen dut bat INT izeneko adin, baina itxaron. Ez da adin int. Ez kortxeteak horiek, eta horien barruan dago, n. Beraz, testuinguru honetan parentesi n, eta ez da printf bat aitorpenaren barruan, baina hemen lerro hau mihi-27, hau da, lerro , esaten ematen dit n ints, eta horietako bakoitzak int mota da. Honetan, beraz, ontzi bat da, nolabait esateko, eta, Kasu honetan, hiru zenbaki osoko itzuli atzera itzuli nintzen, beraz, eraginkortasunez hiru aldagai. Alternatiba da, izan argi eta garbi, eta hau izango litzateke. Nahi izan dut lehenengo ikaslearen adina, hau egin liteke dut. Nahi izan dut bigarren ikaslearen adin hori egin liteke dut. Nahi izan dut hirugarren ikaslearen adina, hau egin liteke dut. Eta Jainkoa debekatzeko guztion behar dugu areto honetan adin - Esan nahi dut, kopia asko heck bat da, itsatsi, behin eta berriro, eta berriro. Eta plus behin programa honetan bildu ditut, ikaslea bestera ibiltzen bada baino gehiago ate hori, orain nire zenbakia aldagai okerra da. Beraz, zer da array bat buruz polita da bezain laster, zeuk sentitu hastean kopiatu eta itsatsi, odds dira hori Ez onena hurbilketa. Array bat dinamikoa da potentzialki. Ez dut aldez aurretik zenbat pertsona ezagutzen dira aretoan izango da, baina ezagutzen n behar dut dut, eta dut irudikatu n Unea iritsita. Kode lerro honek esan nahi du, orain, eman zidan memoria zatia duen itxura Bertan, kaxak kopurua pantailan guztiz n menpe dagoela Erabiltzaile idatzitako sartu Beraz, programa honen gainerako benetan polita dugunaren antzeko besterik pertsonaia egin. Iragarki bat daukat for begizta line 30 hasita. Beraz, ondoren array lortu dut y berdin zero gora n batetik bestera joateko. Aski dut hezigarria printf honetan Mezu besterik esaten, ematen dit adina pertsona% i, beraz, zenbaki bat, zenbaki bi, hiru zenbakia. Eta zergatik hori egin dut? Egia, gizakiak nahiago bat kontatzea ordenagailu zientzialari berriz gora, gora Zero. ordenagailu zientzialari ez dira joan erabili mota honetako programa, beraz, gara besterik hasteko kontatuta joan pertsona normal bat bezalakoa da. Eta orain, linea 33, konturatu zertxobait sintaxia pieza desberdinak. Motako aldagai horretan adin-i-garren array bat da int iritsi. Eta orain, azkenik, hau da, besterik gabe, aritmetika behera hemen. Erabaki begizta aparteko erreklamatu dut denbora bat pasatzen da, eta, gaur egun honetan aparteko begizta, lerro hauek exekutatu. Hemendik urte bat, pertsona i egonen naiz urte, baina hau ez da nabarituko du aldagaia i. Hau da, gaur egun,% int i. Eta lehen biltegia gisa oharra, I i gehi 1 plug, beraz, zenbatu bat bezala gara pertsona normal. Eta, ondoren, beren adina balio du, eta i urte, adin tarte hartzen dut i - eta zergatik nago hemen plus bat egiten? Urte bitarteko besterik ez dute. Nire programak aukera ergela da. Urte bitarteko besterik ez dute urtebetez. Kopurua edozein izan nuen idatzi Benetan nahi dut. Beraz, zer da benetan guztien garrantzia hemen? Beno, goazen korrituko benetan me back hemen, eta irudi bat margotzeko zer datza aurretik. Zer da gure hurrengo egiten dugu Bi arazo ezarri da parte dabbling kriptografia munduan. Beraz, karaktere-kate bat da, beraz, karaktere-sekuentzia bat baino gehiago, eta zer honek ez du esan nahi duzu? Ez da on-line bertsioan diapositibak du. Beraz, hori berdin hau aldarrikatzen nuen, urte askotako iragarkia ergelak Duela agian benetan gogoratzen bere jatorria bat. Beraz, hau enkriptatze adibide bat da edo kriptografia. Bihurtzen da hori nahi izanez gero benetan bidali edo informazioa partekatzeko Norbaitek seguruan informazioa, honelako mezu bat bezala, egin dezakezu Scramble hizkiak. Baina normalean, hitzak dira ez nahaskia ausaz. Ari dira nolabait permuted edo aldatu Nolabait, horrela - trabatzen. Duten hurrengorako Spoiler dibertigarria da. Beraz, zer mapeatu itxuraz dezakezu O B. Oharra lerroak sortu kapitalizazio-jakintsua. Antza denez, r e bihurtzen da. Antza denez, F-H-E-R bihurtzen S-U-R-E. Beraz, ez mapping bat bihurtzen da, eta, Kasu honetan ez da nahiko ergela bat Edozeinek du hurrena bada out mapak? Hori deitzen da Rot 13, biratu 13. Enkriptazio stupidest da mekanismoak ditu, hitzez hitz besterik ez delako gehitzen 13 behin hizki bat, zentzu ergelak nahikoa bada denbora libre pixka bat zure eskuak eta arkatz bat, edo, besterik gabe, uste duzun zure burua bidez, saiatu ahal izango duzu posible guztiak irudiak - Bat, bi, hiru, dot, dot, dot, 25 besterik ez biratu osoa alfabetoa, eta azkenean, irudikatu beharko duzu zer da mezu hau. Beraz, bada, honen antzeko zerbait egin duzun kalifikazioa eskola mezuak pasatzen zure lagunik onena, zure kalifikazioa eskola bada irakasle, besterik gabe bidez irakurri mezua eta brute behartu konponbidea, gotten izan dezakezu horrek erantzun bat. Orain, jakina, mundu errealean, kriptografia sofistikatuagoa da. Honek testu snippet bat da informatika-sistema duela izenak eta pasahitzak, gurea ia guztiek egiten duten bezala, eta hau da, zer duzu agian begiratu nahi zure gogorrean gordetzen bada baina forma enkriptatutako gidatzeko. Hau ez da bakarrik letrak bira bat, A, B eta C. B da, hau da, askoz ere sofistikatuagoa da, baina erabiltzen zer ari den, oro har, gako sekretua gisa ezagutzen kriptografia. Argazki hau kontatzen du honako gutxi batzuk ikonoak dituen istorioa. Ezkerrean, dugu zer testu arrunta deitzen dugu. Kriptografia, lautada munduan Testua bakarrik jatorrizko mezua ingelesez edo frantsesez idatzitako Hizkuntza edo inolako. Nahi duzun enkriptatzeko bada, pasatzen dugu giltzarrapo baten bidez pictorially, beraz, algoritmo-mota, eta zenbait funtzio batzuk programa edo norbaitek idatzi zuen scrambles duten letrak espero gehiago complicatedly baino 13 gehituz horietako bakoitzean. Zer atera duzu prozesu horren parte erditik, ez deritzo cyphertext. Beraz, sexy hitza mota. Esan nahi du, besterik gabe enkriptatua izan da testu soileko bertsioa. Eta bada bakarrik berean sekretu duzu, 13 edo 13 ken dira, ahal baduzu, desenkriptatzeko horrelako mezu bat. Beraz Arazoa kokatua Bi gauzak artean baduzu egingo Hacker-en Edizioa, kode idazteko aukera izango duzu crack pasahitzak horiek, eta, kalkulatzen zer ziren eta nola izan ziren Enkriptatutako, egin dugu, nahiz eta ematen duzu apur bat bidean orientazioa. Standard Edition ere, aurkezten dugu zifratze baten pare, zifratzeko mekanismoak, César, bat izeneko bat izeneko Vigenere, oraindik ere errotazio-zifratze bat bihurtzen da, non zerbait, B zerbait bihurtzen da, baina egin behar duzu, programazioaren egongo da, hain zuzen ere, zeren sekretu bat izan gakoa parte hartzen da, normalean, zenbaki bat edo gako-hitz bat bakarrik igorlea eta horien hartzaileak mezuak ulertu behar da. Orain, benetan du incarnations mundu errealean. Hau, adibidez, apur umezurtz da Annie sekretua deskodetzailea eraztun, eta zuk benetan ezartzeko horiek errotazio-zifratze - Bihurtzen da zerbait, B bihurtzen zerbait - gurpil pare bat, kanpoko bat, barrutik bat biratu duzu erruberak edo hala eraztuna, benetan dezakezu line sortu letrak desberdineko letrak, kode sekretua lortzeko. Eta, beraz, gaur cliffhanger gisa, zer egin nuela pentsatu nuen, pixka bat da throwback telebista gaitzen baduzu duten Abenduaren 24, ikusi ahal izango duzu movie ad for nauseum 24 lerro bat ordu. Baina gaur egun, eta beraz, ireki dut hemen eta eman digu, besterik gabe, bi minutu pedagogiko garrantzitsua Gabonetako ipuina ikaskide apur bat izendatu Ralphie batera. [Bideo-erreprodukzioa] Be-ezaguna da bertako zein kanpokoentzat dela Ralph Parker da egileak izendatu bat du umezurtzak Little Annie sekretua kide zirkulua da eta guztiak jasotzeko eskubidea ohoreak eta onurak bertan agertutako gertatzen. Sinatuta, Little umerzurtzak Annie. Berretsiak, Pierre Andre tinta. Ohore eta onurak dagoeneko bederatzi urte zituela. [Irrati GARRASIKA] Goazen, goazen berarekin lortzeko. Ez dut behar duten jazz buruz kontrabandisten eta piratak. -Entzun bihar gauean amaitu beltza abentura pirata ontzia. Orain, Annie-en Secret garaia da Duzun kideak mezua sekretu zirkulu. Gogoratu, haurrekin. De Annie-en Secret Zirkuluko kideek bakarrik Annie sekretua mezua onar ditzake. Gogoratu, Annie da arabera. Ezarri zure pin to B2. Hemen mezua da. 12, 11, 2 - -I am nire sekretua lehen bileran. -25, 14, 11, 18, 16 - -Pierre ahots handia gaur gauean izan zen. Gauean duten mezua esan izan dut oso garrantzitsua da. -3, 25. Hori Annie burua mezu bat. Gogoratu, ez inori esan. -90 Segundo geroago, ni bakarrik gela batean I etxean bertan bederatzi mutiko bat ezin pribatutasuna eta deskodetzea eseri. AHA, B. dut hurrengo joan zen. E. lehen hitza da, "izango da." S. Errazagoa zen dator orain. U. 25. Hori da R. -Tira, Ralphie. Go dut. I'll-eskubidea izango du, Ma. Gee whiz. -T. O. Izan ziur. Zer izan nahi duzu? Zein izan zen Little umerzurtzak Annie esan saiatzen? Zer izan nahi duzu? -Ralphie, Randy du lortu joan. Egingo atera mesedez duzu? -Guztiak eskubidea, Ma. Eskubidea izango dut. -I hurbiltzen zen lortzean orain. Tentsioa izan zen terrible. Zer izan da? Planetaren patua may oreka zintzilik. -Ralphie, Randy en gotta joan. I'll-eskubidea izango out out negar ozen. -Ia ez dago. Nire behatzak hegan. Nire adimena altzairu tranpa bat izan zen. Poro behin vibrated. Ia argi zegoen. Bai, bai, bai, bai, bai. -Ziurtatu zure Ovaltine edan. Ovaltine? Crummy komertzial bat? Puta baten semea. [END bideo-erreprodukzioa] HIZLARIA 1: Hau da CS50, eta hori Arazoa Ezarri Bi izango dira. Ikusi duzu datorren astean. HIZLARIA 2: hurrengo egun CS50, hori gertatzen da. HIZLARIA 1: Beraz, gaia ez dugu beraz, ez dago begiratu funtzioa erakusleak ere. Orain, erakusleak funtzio bat besterik ez da publiko baten helbidea funtzioa, baina askoz bezala - baten semea -