[Powered by Google Translate] DAVID J. MALAN: Ondo da, hau CS50 da, eta hau da
Astea 1 amaituko da, eta, beraz, ikerketa-txartelak dira eta kopuru osoaren
ikaskideekin duzula aurten 745.
Eta beraz thrilled gaude beraz, askok ikastaroa
seihileko honetan, baina, nahiz eta ikastaro hau hain da handia,
konturatzen dela gauza horiek Ostirala bazkariak bezala, atsegin
bulego ordu, 15 pertsona atalak, eta abar dela
benetan ekarri hau intimo sortu
ingurumena.
Beraz, nahiz eta biltzeko astean behin edo birritan daiteke, hemen
Sanders, zure esperientzia asko ezagutzen Ikastaro honetan
oso esku-on zure ikaskideekin batera
eta irakasleek.
>> Beraz, hemen, gara Fall 2012.
Beraz, azken aldiz gogoratzen duten ohar bat amaitu dugu
imprecision, zenbakien ordezkaritza buruz hitz egiten.
Eta begiratu porrotak gertatu bat dugu,
benetako mundua, etorri gaizki ulertu
nola ordenagailuekin lan egiten dute.
Beno, gaur egun ideia horietako beste bat berrirakurtzeko dugu gisa
baita gure CS50 bezero eztabaida
eta C eta benetan zer esan nahi du programa.
Baina, lehenik eta behin, zurrunbilo iragarkiak pare bat besterik ez.
>> Sailak hasiko da igande honetan, eta lehenengo astean da beti
Irteeran azkar apur bat, besterik ez dugu izan ere, lortu
zure atala forma.
Bera ari gara egiten, eta gaur egun, irakaskuntza bekadunek, gaur egun
ezagutzen dutela haien planifikazioak, erakunde ari gara, beraz,
Larunbat goizean, jarraitu behar duzu zure atala
esleipen eta TF.
Konturatzen hurrengo egunean hasiko direla, igandea
edo astelehena edo asteartea.
Eta gero, sekzio aldaketak egokitzeko egingo dugu sortzen dute
egunak etorri.
Bulegoko ordutegia, bestalde, ez dira, berriro ere, gaur gauean, 8 eta 11 PM,
Annenberg, baita bihar gauean.
Nahiz eta arazo multzo dira, oro har, ostegunetan zor
Eguerdian, konturatzen duzu bost egun berandu pasatzeko,
beraz, bulegoko ordu erabilgarritasuna ostegunetan bada
cash horiek berandu egun bat, eta, hortaz, aurkeztu
Ostirala zerbait.
Scratch gehiago fun artean dago iradokitzen me, artean
baxua, funtsezko arazo multzo.
Eta egun horietan berandu aldera nuke zintzilikatzeko, estrategikoki, besterik ez
geroago seihilekoan bizitza moduan hasten denean
midterms eta beste klaseak.
Arazoa Set 1, bestalde, ikastaro gainean izango litzateke posted
web ostiral honetan izango da ikastaroa walk
bideo bidez, 2:30 etan egingo da filmatu ostiralean
eta, ondoren, hurrengo egunean online etan argitaratua.
>> Beraz, astelehena, amaitu dugu.
Benetan, hemen, ohartu bat - nahi dut.
Klaseak delako Sanders delako ez zehazki mailegutan
bera casual Q eta atzera eta aurrera izugarri ondo, Oraindik dugu
zerbait saiatu apur bat Urte berri honetan, beraz
ez bazaude eroso eskua altxatuz edo duzun
nahiago ez goratzeko zure esku hau atsegin dute gela bat,
irakaskuntza bekadun eta Eus batzuk izan dugu
Manning cs50.net/discuss hitzaldi zehar.
Beraz, galdera bat izan dut erabat delako
zerbait edo zuri buruzko unclear Oraindik batzuei buruzko bitxi
gaia, saiatu da posting bertan.
Tag Hitzaldia etiketa bat, eta gure onena egin dugu.
gaur eta datorren astean - we'll saiatu - hamaikako
bai elektronikoki, beharko bagenu bezala sentitzen online, edo bada
benetan aurre en Massé, irakaskuntza bekadun bat edo
CAk bere eskua altxatzeko eta galdetu
zure izenean anonimoki.
Beraz, hau eman dugu probatu eta ikusi nola obra honetan.
Baina, baliabide guztiak, jarraitu litzateke duzu nahi eskuak goratzeko.
>> Beraz, azken aldian% 10 edo bat-hamargarren ez dela, agerian utzi dugu
Izan ere, 0,1 duzun bezala, duela urte asko irakatsi ziren.
Izan ere, hau atsegin dute balio.
Baina hori ez da erabat egia, ezta?
Aski dugu murriztapen hau ordenagailu horren bidez, baduzu
bakarrik memoria kopuru finitu bat, RAM, edo gehiago
zehazki, bit, bai, ez da bakarrik zenbaki bat finituen
gauzak irudikatu ahal izango duzu.
Esate baterako, gure kopurua zero bada, eta nahi dugu
bitarra irudikatzeko, zortzi bit erabiliz, non pixka bat,
berriz, zero bat edo, agian dugu
ordezkatzen 00000000 gisa.
Eta hori apur bat alferrik verbose.
Just mundu errealean hamartar sistema bezala,
oro har, kopurua 123 idatzi nahi baduzu, dugu
gizakiak beharbada ez idazteko 00000123 arren,
funtzionalki, zehatza zenbaki bera da.
Liderra zeroen askatu besterik ez dugu, eta, beraz, hitz egiten.
>> Bitarrean, berriz, gauza bera egin ahal izango dugu.
Binary eta zero, zero eta bitarra besterik ez da zero.
Single apur bat besterik ez duzu behar.
Baina, berriro ere, neurri-unitate ohikoenak munduko
informatikaren byte, zortzi bit.
Just pixka bat, nahiko Ezertarako delako.
Zortzi bit, ez da oso erabilgarria da, baina, gutxienez, gehiago da
neurri-unitate bakar bat baino erabilgarria.
Beraz, zortzi bit, normalean dugu ordezkatzen bitarrik.
Hortaz, hona hemen zenbakiak zero, bat, bi ditugu, eta, ondoren,
Nate gure bideoa egin zuen azken Asteazkena, jarraitu ahal izango dugu
kontatuta, zazpi, zortzi.
Eta gero, erabiltzen ditugu gero eta gehiago bit izanez gero,
infinitura zenbatzeko moduan.
Bit horien kopuru finitu bat bakarrik baduzu,
informatika-sistema edozein kasu, edo are gehiago, misil
sistema, bai, hain zuzen ere, izan besterik ez duzu bat
Zehaztasun zenbatekoa finituen.
Beraz, bada zenbaki adierazteko 0,1 bezala, ondo egin nahi baduzu,
ordenagailua eta hautatzeko aukera du.
Eta bakarrik zenbaki kopuru finitu ahal badu
irudikatzeko, etorri ahal izateko 0,1 izan daiteke, baina ezin da
nahitaez emango dizu nahi duzun zehazki balioa.
Eta hau ordenagailuak erronka bat besterik ez da,
kanpaia azpian, zorionez.
>> Urrunago joateko dugu seihilekoan, beheko maila horietan
xehetasunak askoz gutxiago interesgarri bihurtzen dira, baina zalantzarik gabe
ideia horiek aplikatzeko oso mundu errealean batzuk izan ditzake
Adar askoko.
Bit fun bat da.
Nola asko amazing movie Office Space ikusi?
Ez baduzu, zure ofiziala
astean etxeko lanak.
Baina Office Space, film horretan bekadun hartu
hain zuzen ere, ideia hau abantaila, baina benetan lapurtu dute
duzula movie beste baliteke from
ikusten da, nahiz eta aurreko urteetan.
Beraz, utzi dizu me trailer honetan segundo batzuk
amazing movie hau eta hori oso
akademiko garrantzitsuak.
>> [JOLASAK MOVIE]
Egia esan ari naiz sustatua.
Birus baten programatu ahal izango diren erauzi dut
jarri off big denbora.
Beno, nola funtzionatzen du?
Banku-transakzio non interes denbora bakoitza
konputatzeko, ez dira egun bat milaka, ordenagailua eta ondorioz sortu
ehuneko baten frakzio hauekin.
Baina ez dut ezer legez kanpoko egin.
Ilegala? Samir, hau Amerika da.
Jainkoaren zin egin duzu.
Inork ez daki honi buruz bada, baina, guztiak ondo? No senide, ez
girlfriends, inork ez.
[INAUDIBLE].
Ez kezkatu, gizona, ez da egingo dut inori bai.
[MOVIE bueltarik]
>> Ondo da, beraz, film hau agian gehienak baino hobea aurkitu dut
jendea hemen, baina edozein kasutan, birusa zirela
sortu nahian
eta filmak, edonoiz deitu zerbait birus bat dute litzaidake,
oro har, ez da benetan birus bat.
Programa bat besterik ez da, norbaitek idatzi zuen zerbait egin behar.
Eta kasu honetan, guys ziren programa bat idazteko saiatzean
aprobetxatu izeneko bere enpresaren Innotech en
informatika-sistema, horren bidez ordenagailuak, ere, bada ere
dirua da, ez du zertan
ordezkatzen dirua, hain zuzen ere.
Beraz, nahiz eta $ 0.10 izan dezakezu zure banku-kontu,
0.10, bai, baliteke ordenagailua benetan uste duzula
zure banku-kontu zentimo kopuru hori.
Eta beraz, zer guys horiek ziren aspirante - eta dute
lapurtu ideia, bihurtzen da Superman III, non
Richard Pryor gauza bera egin zuten, funtsean ziren
idatziz, amaierako guztiak hartu nahi duten programak
zenbakiak, txiki-txiki, txiki-txiki, txiki-txiki frakzio-
pennies, eta, beraz, siphoning off gizakiak besterik ez
pentsamendu, oh, bakarrik $ 0.10 dago, baina horiek guztiak
amaierako zenbakiak, azkenean, gehitu du.
Ideia zoragarri bat da, beraz, eta horretan hilariously backfired
bereziki filma.
>> Baina mundu errealean ere, badira askoz gehiago buruzko
gauza mota horien inplikazioak.
Eta arrazoi bat ordenagailu eremuan murgiltzea
zientzia da, berriro ere, bere ez aplikagarritasuna
ingeniaritza zientziak bakarrik, baina
beste eremuak ere bai.
Beraz, zer gaizki joan daiteke begirada gutxiago lighthearted bat da, baina
da nahiko begi irekiko da, nire ustez, orduan da
zehazki nola nonahiko teknologia bezala ulertzen
ordenagailuak eta programazioa edo egun hauetan,
software Inprimaki.
Beraz, hurrengo clip honetan sei minutu besterik ez da, jarraitzen du
azken aldian non utzi dugu, baina aukera ematen du apur bat bilatzeko
sakon bat adibidez, gai horiek.
Utzi aurretik saltatzeko me non utzi dugu,
izan zen hemen.
Eta bi ditugu, sei minutu inguru hemen.
>> [PLAY MOVIE]
Beteta teknologia modernoa suziria.
1991 urtean, Golkoko lehen Gerra Irteeran, Patriot
misil antzeko mota
kopurua bihurketa arazoa.
Eta, ondorioz, 20 pertsona, 20 American soldadu hil ziren,
eta 100 buruzko beste batzuk zauritu, Patriot izan zen, eta ustezko
sarrerako Scuds aurka babesteko,
misil bat su huts egin du.
>> Irak inbaditu Kuwait eta Amerikako abian jarri Desert
Storm 1991 hasieran, Patriot misil bateriak ziren
zabaldutako Saudi Arabia eta Israel babesteko Irakeko
Scud misil erasoak.
Patriot AEBetako gama ertaineko azalera-aire sistema da,
RAYTHEON enpresa manufakturak.
Patriot interceptor beraren tamaina, buruz da
gutxi gorabehera 20 oinak luze eta buruz 2.000 kilo pisatzen ditu.
Eta buruz warhead bat egiten da gutxi gorabehera dela uste dut
150 kilo.
Lehergarriak ditu warhead bera da
inguruan zatiak.
Warhead, karterra Buckshot bezala jarduteko diseinatuta dago.
MISSILES egiten dira edukiontzi bakoitzeko lau dira, eta
erdi trailer garraiatzen.
>> The Patriot misil anti-sistema doa, gutxienez
20 urte.
Aire defentsa misil gisa diseinatu zen jatorriz
tiro behera etsai hegazkina, Golkoko lehen gerran.
Gerra zetorren batera, Army erabili nahi tiro
Scuds, hegazkinak ez behera.
Air Force Irakeko ez zen, beraz, arazo bat askoz, baina Army
zen Scuds kezkatzen.
Patriot, eta, beraz, bertsio berritzen saiatu dira.
Mach 5 bidaiatzen etsaiaren misil bat izan zen joan sartuta
erronka nahikoa.
Baina Patriot zen zerbitzua rushed, Armada
ez zen Irakeko aldaketa bat egin beren jakitun
Scuds ia ezinezkoa sakatu.
>> Zer gertatu da Scuds zirela
etortzen ziren ezegonkorra.
Wobbling ziren.
Horren arrazoia Iraqis izan zen, 600 lortzeko
kilometro 300 kilometro sorta misil bat da, hartu
pisua aurrean warhead
warhead, arinagoa.
Beraz, gaur egun Patriot da Scud da etortzen saiatzen ari da, eta gehienak
denbora, denbora gehienek, litzateke
Scud bidez hegan.
Patriot sistema operadore konturatu Patriot Behin
galdutako, helburua, Patriot warhead detonated dute.
Biktimak posible saihesteko, izan zen onartzen
lurrera erortzen.
Hori izan zen pertsona gehienek zer ikusi, zerua fireballs handiak,
eta Scud warheads atzematen gisa ulertua.
>> Arren, gaueko zerua, Patriots agertu ahal izango
arrakastaz suntsitu Scuds, Dhahran, ez dago izan liteke
bere performance buruzko akatsa.
Bertan, Patriot radar sistema baten pista galdu
sarrerako Scud eta ez du inoiz abian jarri dela eta
software akats bat.
Israeldarrek lehen aurkitu izan da jada
sistema izan zen, denbora desadostasun handiagoa izan zen,
ondorioz sistema informatikoan kapsulatutako erloju bat.
Dhahran, bi aste inguru tragedia aurretik
Israeldarrek Defensa Sailak jakinarazi dela
sistema denbora galdu zen.
Exekutatzen ari buruz zortzi ordu igaro ondoren, nabaritu dute hori
sistema nabarmen zehaztasun gutxiago ari zen.
Defensa Sailak erantzun guztien kontatzea
Patriot bateriak ez utzi sistemak
denbora luzez.
Esan zuen inoiz ez dute denbora luze bat izan zen - 8 ordu, 10
ordu, 1.000 ordu.
Inork ez zekien.
>> Patriot bateria Dhahran at kuartel geldirik
eta bere barne erlojua flawed 100 ordu baino gehiago izan zuen
gauean, otsailaren 25ean.
Denbora arloak segundo hamarren bat buruz zehaztasun bat.
Orain, bigarren hamarren bat zenbaki bat interesgarria delako
ezin dira bitar adierazten da, zehatz-mehatz, eta horrek esan nahi du
ezin dira zehatz-mehatz adierazitako edozein
ordenagailu digital modernoak.
Zaila da sinesten.
Baina erabili hau adibide gisa.
>> Dezagun kopuru bat hirugarren.
One hirugarren ezin da hamartarrean adierazten dira, zehatz-mehatz.
One hirugarren 0,333 joan infinitura.
Ez dago modurik Horretarako hamartarrean zehaztasun osoz.
Hori da, hain zuzen ere, arazo mota bera gertatu
Patriot.
Zenbat eta luzeagoak izan, sistema zuena, denbora okerragoa error bihurtu zen.
Eragiketa 100 ordu eman ondoren, denbora errorea bakarrik izan zen
bigarren bat hirugarren bati buruz.
Baina misil bat Mach 5 bidaiatzen targeting dagokionez,
errore bat 600 metro baino gehiagoko segimendua egiteko.
Dhahran soldaduak errore larri bat izango litzateke.
>> Zer gertatu da Scud launch abisua hasieran detektatu
sateliteen dira, eta bazekien Scud zela euren datozen
Zuzendaritza.
Ez dakite non datozen zen.
Izan da Patriot, osagai radar
sistema, Dhahran defendatzeko, pista lokalizatu eta mantentzeko
sarrerako etsaiaren misil.
Radar Oso smart izan zen.
Benetan nahi duzu jarraipena Scud, posizioa eta, ondoren,
aurreikusteko, non hurrengo aldian, ziur aski, izango litzateke
radar pultsu bat bidaltzen.
Hori izan zen izeneko gama atea.
Ondoren, behin Patriot erabakitzen du nahikoa denbora igaro joan
kopia eta detektatutako hau kokapena hurrengo egiaztatu
objektua, atzera egingo du.
Beraz, okerreko lekuan joan zen, ondoren, ikusten ez
aurka, eta ez zela objektu ez erabakitzen du.
Detektatzeko bat faltsua izan da, eta pista jaisten.
>> Sarrerako Scud radar pantaila, desagertu egin ziren.
Eta segundo geroago,, danbateko kuartel sartu. Scud The
28 lagun hil dira eta tiro zehar azkena izan zen
Golkoko Gerraren lehen.
Tragikoki, software eguneratu Dhahran iritsi da
Hurrengo egunean.
Eta software flaw izan dira konpondu, kapitulu bat itxi
Patriot misil historia troubled.
PATRIOT da benetan "Array ezabatzeko Jarraipena akronimoa
Target atzematen. "
>> Guztiak eskubidea, eta, beraz, ez da nahiko emaitza askoz ere sorrowful
mundu hau ulertzeko.
Eta, benetan, takeaway filma da irtenbidea
ez dago zure misil defentsa sistema berrabiatu zen
pixka bat behin behin.
Eta, beraz, berriro ere, ikastaro honen helburuetako bat, zalantzarik gabe.
aplikazio horiek baino eskala xume bat gehiago, da
guztiontzat oso irekia zehazki nola joan behar begiak
egiteko makinak egin, zer egin nahi duzun eta nola joan
buruz egiten behar bezala, bidean egiten ari den bitartean
ondo, dotoreziaz, eta abar.
Eta, beraz, gaur egun, dezagun bit pixka bat gehiago sartu dive, baina
beraz, ez dugu ez joan azkarregi, bereziki gutxiago dutenentzat
erosoa, baina, aldi berean, beraz, interesa gorde ahal izango dugu
horiek erosoagoa, dezagun, besterik gabe azkar pixka batekin hasiko
ideia horiek zenbait laburpena.
Eta berriro ere, galdetu, urruti, bai pertsona edo online, baduzu
galdera beraz, orri berean guztiek mantendu ahal izango dugu.
>> Beraz, CS50 Appliance, Quick Step back,
Eta zer, zure hitzetan?
OK da ideia ez duzu zer hitz horiek oraindik izan daiteke.
[INAUDIBLE]
Ongi da, eta, beraz, interfaze unibertsal -
dugun partekatzeko.
Absolutely.
Beraz, ezin izan dugu, esate baterako, esango dizu batzuk joan
web, Mac OS software hau deskargatzeko.
Download software hau Windows, konfiguratzeko hasi
Modu honetan, eta hori.
Baina errealitatea da, gero exekutatu tekniko eraikuntzen dugu
laguntzeko gai.
Eta, gainera, egun hauetan, zer egiten ari zerbitzariaren aldeko much,
informatika munduan, batez ere, orduan
web garapena eta web-ean oinarritutako aplikazio bat da, benetan
sarritan Unix edo Linux ordenagailuak egiten, alderantziz,
MACS edo Windows PCs.
>> Beraz, upsides artean, eta, ondoren, gauza honen bidez izeneko
CS50 Appliance dugu ingurumena bera izan da.
Beraz, bakoitzak orri berean, ez du axola zer behar duzuna zure hardware
campus izan zen, baina, halaber, zehatz-mehatz egingo da dabbling
berean ingurune norabidean egingo erabiliz
seihilekoa amaitu baita web garapena, baita hasi
mundu errealeko aplikazio kontratuan etorkizunean.
Beraz, zehazkiago, CS50 Appliance free pieza
software ahalbidetzen duen beste sistema eragilea exekutatu ahal izango duzu,
Linux, kasu honetan, zeure ordenagailuan, leiho batean.
Orain ezin duzu deskargatu tresnari.
Exekutatu aparatuaren edo jolasteko duten programa bat behar duzu.
Eta software zati hori, oro har, gisa ezagutzen
hypervisor.
Hypervisors VMware bezalako produktuen forma jendea hurbiltzen da,
Virtual Box, paralelismoa.
Enpresa-mota guztiak egiteko software, bai free eta
merkataritza, alike.
Zer Arazoa ikusiko dituzu Set 1 nola argibideak
lortzeko software librea eta horrek
exekutatu CS50 Appliance.
Eta behin, ez duzu, izango zure Mac edo PC leiho batean
mahaigaineko ingurune nahiko itxura hau, non
menu-Start gauza ditu
beheko ezkerreko izkinan.
Hasiera karpeta bat, edo Home direktorioa ditu, goiko ezkerreko
dago, zaborra, eta abar.
Beraz tease gain dugu goazela beharrezko xehetasunak.
>> Baina orain dezagun hasteko C. murgiltzea
Beraz, C programazio-lengoaia hau da, antzeko espirituz
Scratch, baina gutxiago grafikoa da, baina, ironikoki, urrun
ahaltsuagoa lortu behin berarekin adituentzat.
Beraz, C, programa idatzi dugu, iturburu-kodea idazteko, hau da,
hau English-antzerako sintaxia, galtzerdiak, antzeko
manifestazio egin dugun azken aldiz aukera ematen dizu
zeure burua adierazteko nahiko hain zuzen ere,
arcanely, ordenagailua.
>> Beraz, zer nolako produktua software benetan ez behar duzu
programak idazteko C bezalako hizkuntza batean oinarrituta, gure
Astelehena elkarrizketa?
[INAUDIBLE]
Ados, testu editore bat besterik ez duzu.
Ez duzu behar edozein software berezia
per se programak idazteko.
Notepad bezalako testu editore, Windows on besterik ez duzu egin behar,
Mac TextEdit, edo zerbait izeneko gedit, munduko
Linux erabiltzen dugu hemen.
Eta hori da, programak idatzi.
>> Baina idatziz ekuazioa erdia bakarrik.
Behar duzu, ondoren, horiek exekutatzeko.
Baina programak exekutatzeko
iturburu-kodea ez exekuta dezakezu.
Ordez zer egin da lehen aldiz?
Bai.
DAVID J. MALAN: behar duzu
konpilatzen.
Eta, beste norbaitek, iturburu-kodea konpilatzean esan nahi du
[INAUDIBLE]
DAVID J. MALAN: Zehazki.
Zeroen eta bai itzulpena.
Guztiok, egun hauetan denez, ordenagailu duten PUZ,
horietatik ia guztiak Intel izeneko enpresa bat da, eta
Intel Barruan, esan nahi du zure barruan garuna
ordenagailua, PUZ izenez ezagutzen dena.
Eta garuneko hori egiten duen gauza bat da, ez daki
zeroen eta bai eredu nola ulertzen.
Zer bit eredua gain adierazten daki, zer
eredua adierazten kenketa, zer eredu
bit adierazten, inprimatzeko eta entzungarria soinu bat sortuz.
>> Beraz, azken finean, CPU, sistema eragilearen batera,
software pieza PUZaren gainean ibiltzen da,
nolabait esateko.
Guztion artean, bi pieza horiek ezagutzen duten programak exekutatu
dugu gizakiak idazten.
>> Beraz, bada CS50 Appliance sartu nintzen hemen, ireki behar dut
testu editore bat sortu eta honetan sartu ahal izango dut
modu pare bat.
Edo I Menu joan, Programazioa,
eta, ondoren, hautatu I -
Laguia, ez da menuan.
Osagarriak ahal izango dut joan / gedit hemen ireki
nire testu-editore txiki.
Edo, besterik gabe, egin klik beheko ikonoa txiki hau ezin dut
ezkerreko izkinan.
Eta orain, ingurumena hau dut hemen.
Pretty testu editore sinple bat gogorarazten da, besterik ez
bat edo bi ezberdintasunak.
Goiko aldean, non kurtsorea keinuka ari da gaur egun, hau da, non
Nire kodea idatzi dut.
Beheko aldean gauza hau deitzen da terminal leihoa.
Eta zer gauza mota egin ahal izango dut
beraz, terminal leihoa deitzen zaio?
[INAUDIBLE]
>> Ongi da, eta, beraz, komandoak exekutatu dut.
Eta ran Astelehena komandoak batzuk apur bat izan
críptica hasiera batean, baina zerrenda ls, aldaketa direktorioa cd,
rm, kendu.
Beraz, zure nabigatzen modu zahar-eskola bat sort da
ordenagailua, zure teklatua eta testu komandoak erabiliz
eta, oro har, sagu bat erabiliz.
Baina ikusi dugu, luze baino lehen, hau da, benetan bat ematen digu
ahalmen pixka bat gehiago, eta horrek apur bat gehiago doitasun
adierazteko geure burua.
Eta gero ezkerreko hemen baino gehiago, besterik ez gabiltza ikusi
hasten gara software idatziz, laburpen txiki bat
programa goiko ezkerreko idatzi ditudan.
Baina berriro ikusiko dugu, luze baino lehen.
>> Hargatik nahiko sinplea den zerbait egin hemen.
Lehen me Animatu eta joan Fitxategia aurreztu, eta besterik ez naiz
jharvard egin klik hemen, ezkerreko baino gehiago, eta
jharvard da, berriro ere, nire etxeko karpeta izena, nire
pertsonalen fitxategiak, me, izateaz John Harvard, guztiak
laster izango da John Harvard da ingurune honetan.
Baina got Home direktorioa honetan, Nire Dokumentuak eta abar,
nahi dut, gorde orain, fitxategi hau sartu
Beraz hello.c deitu noa. Gero joan egingo naiz
aurretik, eta egin klik Gorde eta orain hemen zer egin behar dut fitxa bat
izeneko hello.c, eta, beraz, askoz ere editore mota bat bezalakoa.
>> Beraz, gaur egun utzi aurretik, joan eta programa bat idazten hasteko.
int main (void).
Eta gero egin dut azken aldian, printf, inprimatu formateatu,
("Kaixo, mundua!"
);
Ia osatu.
Baina xehetasun pare bat dut falta da.
Zer da hau benetan behar programa falta
benetan konpilatu?
Bai.
[INAUDIBLE]?
>> DAVID J. MALAN: Bai, eta, beraz, estandarra behar dut
I / O liburutegia.
Nagusia batez ere joan beharra, eta, beraz, besterik ez dut nahi joan, beraz,
egiteko zenbait gela dago.
Eta # include egin dut.
Eta nabarituko angeluarekin parentesi artean dago.
Eta, bat alde batera utzita, gedit erabiltzaileak apur bat errespetatzen da, baldin eta
batzuetan, pixka bat nahasgarria da, horretan laguntzen saiatzen da zure
begiak konturatu zer lerro zer duten.
Izan ere, nire kurtsorea dela angeluarekin hau hurrengo Beraz
parentesia, konturatu nola beste angeluarekin da nabarmenduz
parentesirik plus hau.
Eta hori da, nire atentzioa Izan ere, I
izan simetria.
Eta programazioan simetria da, oro har, gauza ona da.
Era berean, nire kurtsorea mugitzen amaieran, konturatu nola
kizkur giltza, bai, irekita bat daukat erakusteko
eta itxi bat da, eta, beraz, hitz egiten.
>> Ondo da, eta nik beste gauza bat egin dezake.
Ez da erabat beharrezkoa da, baina praktika onak, esan
itzultzeko 0.
Eta bueltan 0 ez guretzat hemen?
Edo ondorioztatzen du zer?
[INAUDIBLE]
DAVID J. MALAN: Baina ez da ezer gertatzen.
Eta Egia zaila da askoz oker joan
programatu labur hau.
Beraz, besterik ez dut super esplizitua guztiak ondo.
I, giza, programa hau exekutatzeko, ziurrenik inoiz ez
ikus 0 dela.
Oro har, zenbaki horiek ari diren nagusira itzuli
beren buruak bakarrik atzeko gizakiak
zerbait oker.
Eta pop apur bat lortuko duzu sistema esaten error sortu, bat,
bi, hiru, edo dena delakoa zenbakia zela
zen benetan itzuli.
Beste ezer gaizki Beraz?
[INAUDIBLE]
>> DAVID J. MALAN: Beraz, ez da hainbeste akats bat funtzionala
baina estetika bat.
Pertsonaia bat newline jarri beharko dut han
kate honen amaieran, beraz, benetan mugitu kurtsorea
hurrengo lerroan, eta programa itxura apur bat prettier.
>> Beraz, gaur egun utzi behera joan me nire terminal leihoa
eta zoom back sartu
Eta gauza hau hemen, deitzen gonbitaren ondoren.
Besterik ez da me gogoraraziz que soy yo, jharvard @ etxetresnen, non
tresna naiz ordenagailuaren izena da.
Parentesi artean, squiggle sinboloa, Tilde hau da;
adierazten du zer?
IKUSLEEN: Hasiera direktorioa.
DAVID J. MALAN: Hasiera direktorioa.
Hori besterik ez zara esaten Beraz, azkarra notazioa
zure karpeta pertsonala, non zure fitxategi guztiak lehenespenez.
Beraz, orain, hemen, ls idatzi ahal izango dut zerrenda.
Eta hemen ikusten dut une honetan gauza bakarra da hello.c.
Eta hori ona da besterik ez dut idatzi ere.
>> Beraz, aurrera eta kaixo egin ez dezagun.
Eta konturatu ez dut egin hello.c idazten.
Horren ordez, bakarrik naiz base fitxategiaren izena idatziz, kaixo.
Eta egiteko, astelehena, ikusi besterik ez infer nahi dut
c file.
Beraz, gaur egun idatzi dut kaixo.
Orain nahiko luzea komando hau ikusten dut eta jarraituko du
hau berriz ikusteko eta berriro.
Hala ere, argi eta garbi, clang, hitza bakarrik agertu da,
benetako konpilatzailea da.
Egin besterik ez da eraikitze-tresnari.
Besterik ez da, bat gehiago aurrezten me lagungarri programa,
epe luzera, izugarri lapurtera luze idatzi beharrik
bat bezalako komandoak.
Beraz Clang exekutatu ahal izango duzu eskuz.
Hori eskuz idatzi izan duzu.
Just lortzen oso lapurtera da.
Eta beraz, programa bat besterik ez, gure bizitza sinplifikatu eta
konplexuagoa exekutatzen Gurekin komandoak.
>> Guztiak eskubidea, eta, beraz, orain zer fitxategia behar dut
nire uneko direktorioan?
Ez bakarrik hello.c, baina aldi berean kaixo.
Beraz, bada, kaixo exekutatu nahi dut, gogoratzen dot esan dut barrarik,
non dot bitartez uneko karpetan, edonon zaudela sartu
dira, eta gero izeneko kaixo programa exekutatu, eta, hain zuzen ere, gaur egun,
Kaixo mundua daukat.
Eskubidea guztiak, workflow buruzko galdera edo sintaxia
zer egin besterik ez dugu?
>> Guztiak eskubidea, eta, beraz dezagun gauzak Notch bat berriro.
Beraz, hau izan zen programa bat idatzi underwhelming soilik
kaixo, munduan inoiz dio.
Beraz, aldatu dugu, astelehena, esateko, kaixo, David.
Apur bat gehiago pertsonala da, baina bezala gogor kodetuta gisa
lehen bertsioa.
Beraz, ez dela sinesgarria.
Baina ez badago, C, funtzioak, zalantzarik gabe, horrez gain,
inprimatu, funtzio erabiltzailearen sarrera.
Eta modu honetan egin dugu, beste egun, honela izan zen.
I actually inprimatu aurretik zerbait, baina lehen I
Erabiltzaileak zerbait.
Hargatik Horretarako berriro.
>> String s, non arbitrario bat bakarrik izena, hemen, s
katea, berdinen GetString.
Beraz, zer zen GetString?
Lortzen, jakina, kate bat, bere izena oinarritzen da.
Baina zer da teknikoki,?
Funtzio bat da.
Beraz, funtzio bat ez da berez C etorriko da.
CS50 langile idatzi hau.
Eta, beraz, hau erabili ahal izateko, ezin duzu besterik gabe, besteak beste, stdio.h
Ere egin beharko duzu zer sartu behar?
Bai.
Cs50.h, fitxategi bat besterik ez da, beraz, duela urte batzuk idatzi ditugu.
Tresna zuretzat batera instalatu dugu
guztiak estandarra fitxategiak.
Eta beraz, horiek klasea lehen aste batzuk, erabili dugu
eta hori guztia oso oinarrizko egiteko prozesua errazteko
gauzak gustatzen lortzean erabiltzailearen sarrera.
Dugu aste batzuk, erabiltzaile lortzean sarrerako delako
C bezalako hizkuntza harrigarriro konplexua da, benetan,
bereziki delako ez duzu aldez aurretik jakin, normalean, nola
stuff askoz erabiltzaileak sartu idatzi du
Eta noiz ez dakizu zenbat datu espero, ez duzu
jakin zenbat memoria esleitu.
Eta benetan adversarial erabiltzailea saiatzen baduzu
zure sisteman Hack, kraska, bai, zure ordenagailuan
oro har erasoa metodoa da lehen bezala, egin nuen
Astelehena, ausazko karaktere osoa sekuentzia luze bat idatzi,
sakatu Sartu, ikusi eta zer hausten.
Oro har, programa bat eteten bada delako, hartan aholku
segurtasun flaw, potentzialki.
At, zalantzarik gabe, ukituak, programatzailea, ondoren egin
akatsa, baina dangerously, egin duzu dezakeen
segurtasun-akatsa, eta, oro har, ikusiko dugu
nola makinak egun honetan konprometitu dira, bai
programak eta web mundua
komando-lerroa, hau atsegin dute.
>> Guztiak eskubidea.
Beraz, katea s GetString berdin.
Beraz, zehazkiago orain, zer linea 6 ez hemen?
Beraz, eskuineko funtzioa lortzen katea
hartzen zenbat argumentuak?
Ongi da.
Beraz, bat ere ez.
Egiaztatu A little behatu.
Argumentu bat behar du, berriro ere, besterik ez da funtzio bat sarrera aldatzeko
nolabait portaera lehenetsia du.
Baina kasu honetan, ez dut nahi aldatzeko
GetString portaera.
Kate bat lortu nahi dut.
Beraz, ez da ezer jarri dut parentesi, eta, ondoren, bat jarri dut
puntu eta koma kode lerro amaieran demarking.
Orain, berdin ikurra ez du esan nahi berdin, per se.
Esleitzeko esan nahi du, eta horrek esan nahi du, jarri edozein dela ere lortzen
outputted edozein ezkerretik eskuinera barruan.
>> Beraz, ezker dugun deklaratu esaten dugu
katea deitu s.
Eta, zehazki, esleitu dugu memoria barruan
bit sekuentzia bat adierazten du jarri dugu
karaktereak.
Baina, gaur egun, esleitutako dugu
edo kate bat izendatu.
Guztiak eskubidea.
Beraz, gaur egun egiten dugu behin dut hau, balioa konektatu nahi dut
s, ez da David balioa.
Beraz, hau ez da zuzena zergatik?
Beraz, hori besterik ez da, hitzez hitz, hard-kodetuak s.
"Hello, s," esatea, eta hori ez da nahi dudana da.
Beraz, hori egin ahal izango dut.
Ehuneko ikurra leku-marka bat da, baina orain behar dut
inprimatu gainditu bigarren argumentu bat sartu.
Gogoratu funtzioen argumentuak by bereizita
koma, eta, beraz, hurrengo koma hemen jarri dut gutun hau ondoren.
Eta testuinguru honetan, aldagaia da s, eta printf
bi input horiek jasotzen gainean
ezkerretik eskuinera eta aldagai izen s kate -
ohia sartu azken Gurekin entxufatu izango da, eta
inprimatu polit bat eder katea duten
edozein dela ere idatzi dugu sartu da
>> Hargatik saiatu honekin.
Aurretik joan eta mapan handiago, atzera egingo
nire terminal leihoa.
Handiagotu edo behealdean hemen.
Berridatzi egin kaixo.
Clang izan dela dirudi berrabiarazi.
Idatzi dut. / Hello, Sartu.
Itxuraz ezer gutxi gertatzen ari da oraindik, baina galdera hau da
zerbait idatz dezakezu Nate bezala, Sartu, eta gaur egun ditugun
Kaixo, Nate.
Eta ezin dut berriro Rob, eta abar.
Beraz, zorionez, gaur egun, programa honen asmoa dut Portaera.
>> Orain, ez da erabiltzaile hori errespetatzen.
Ez daki zer ari me espero dut.
Beraz, zalantzarik gabe garbitu ahal izango dugu hau, apur bat gora.
Dezagun atzera me up Hemen, eta horren ordez, besterik gabe, urpekaritza eta
Kate bat, erabiltzaileak eskatuz utzi dira esplizituki me
Erabiltzaile zer espero dut.
Beraz, printf ("Sartu kate bat:"
);
Hemen Beraz, aldagai ez.
Ez da ehuneko seinaleak.
Just simple English esaldia.
Beheraino me joan eta nire programa berrabiarazi.
Baina ez da ezer aldatu egin dela dirudi.
Zergatik?
Birkonpilatzeko behar dut.
Beraz, erraza da akats egin.
Baina ez bakarrik fitxategia gorde duzu, baina
birkonpilatzeko programa.
Eta, beraz, berriro exekutatu badut kaixo, orain Clang doa.
Orain exekutatu ahal izango dut / kaixo. Eta orain, "Sartu katea:" ikusten dut.
Ongi da.
Orain pixka bat gehiago user-friendly da.
Nate, Sartu, kaixo, Nate.
>> Beno, goazen orain probatzera hau berriro eta pentsatzen hasteko
izkinan kasu buruz.
Beraz, Scratch bezala, zu animatzen dira, edo ari
zehaztutako animatu mota pentsatu zer izan joan
oker ez baldin baduzu aurrea baliteke erabiltzaileak ez dena.
Bugs, beraz, baliteke enSue.
Beraz, kate bat sartu -
izkinan kasuan hemen zer?
Zer da eszenatokian, programatzailea, agian ez dute
aurreikusi?
Bai.
Ongi da.
Beraz, zer bada hau atsegin batean idazten dut?
Guztiak eskubidea.
Beraz, oraindik ere lan egiten du.
Gramatically ez du zentzurik.
Baina, gutxienez, programa lan egiten du.
>> Zer da beste izkina kasu?
Zerbait ez nuen espero.
Bai?
Ongi da.
Beraz, benetan, benetan big zenbakia antzeko zerbait egin izan dugu.
Beraz, egin dezagun hau hemen.
Txikiagotzeko me bigarren bat, let me nabarmendu.
Ezin da kopiatu eta itsatsi hemen.
Guztiak eskubidea.
Beraz, ezin dut kopiatu eta terminal-leiho hau itsatsi, zaitugu, beraz
besterik ez simulatu.
Dezagun zooma me, itzulbiratu egingo.
Ez dut hori luzeegia egingo, ez delako
Programa honetan benetan apurtu.
Hala ere, ezin izan.
Sartu.
Baina ez.
Guztiak eskubidea.
Baina benetako izkinan kasu bat da.
Eta arrazoi bakarra jokatu behar bezala, eta, beraz,
hitz egiten da, CS50 funtzioa GetString da, benetan delako.
kanpaia azpian diseinatutako, aste batzuk ikusi dugu,
Gero eta gehiago RAM, gero eta gehiago automatikoki esleitu
sistema eragilearen memoria, konturatuko da, wow,
benetan zerbait nahiko luzea idatzi duzun.
Orain, hau zuri gezurra pixka bat da.
Dugu pixka bat nahiko badu pausatuta, eta idatzi dut
5 milioi karaktere antzeko zerbait teklatua
hemen, edo benetan hit kopia-paste nahiko pixka bat, nahiko ziurrenik
Programa kraskatu eragin dezake.
Just apur bat gogorragoa dela simulatu finitu batekin
Denboraren zenbatekoa.
>> Zer da beste izkina kasuan saiatu izan dugu?
Bai?
Bai.
Beraz, zergatik ez dute ezer ez erantzun dugu?
Beraz, benetan ekintza batzuk hartu, bestela delako
programa da bertan eseri keinuka ari egun guztian.
Baina I hit bada Sartu
Ados, gaur egun, oraindik ere gaizki badirudi.
Ez huts egin, baina agian ez da aukera bat
gehiago zorrotza programa bat ezartzeko
benetan egiaztatzen du.
Eta katea, esaldia, hitza badut
luzera 0 idatzitako, bai, agian, behar dut Yell
erabiltzaile, edo esan zion edo bere kate bat sartu berriro, eta, beraz,
dugu zer portaera zuzena itxura eta ez
nire aldetik gainbegiratzeko osoa.
>> Berriro zalantzan jartzen?
Zenbaki hamartarra.
Beraz, saiatu izan dugu, gehiegi.
1,10000005.
Badirudi hori benetan ongi funtzionatu bezala joan.
Eta hori benetan espero da.
Nahiz eta idatzi dugu, izan liteke zenbaki hori, edo
handiagoa kopurua lehenago, erabiltzaileak idazten ari gara konturatzen
sarrera eta GetString funtzioa erabiltzen ari gara, ez
Gaia zer idazten dut zenbaki bat itxura.
Gogoratu ASCII, zure guztia arabera
teklatua ahalko mapatzen duen zenbakizko balio bat da
nortasuna, karakterra bat.
Beraz, kasu honetan, nahiz eta zenbaki bat idatz dezake I,
ordenagailua pentsatu ahal izateko, eta, beraz, hitz kate gisa
zerbait zenbaki bat baten itxura du, baina ez da
ez da zenbaki bat.
Baina hori benetan perfektua segue, gaur egun delako
benetan idazteko programak trantsizio
bestelako datu-mota erabili.
>> Beraz, gainera karakteretan erabiliz, edo, hobeto esanda, gainera, kateak erabiliz,
konturatzen dugun beste datuak C mota ere gisa
beste hizkuntzak.
Char A, izena dioen bezala, pertsonaia bat bakarra da.
Karroza koma mugikorreko balio bat da, eta hori besterik ez fancy
zenbaki erreal bat esaten modu - hamartar bat duen zerbait
puntu zenbakiak ezkerrera eta / edo eskuinera batzuk.
Int bat zenbaki oso bat, 123 bezalako zenbaki bat besterik ez da.
Eta orain gehiago interesgarriagoa bikoitza bezalako gauzak dira.
Zer egin bikoitza izan zen azken aldia dela esan genezake?
64 da, eskuinera.
Beraz, normalean, berriz, mugikor bat da, 32-bit
beraz, hau luzea memoria da, 32 zeroen eta batzuk erabiltzen ditu
irudikatzeko balio bikoitza da, literalki, birritan, eta horrek
esan nahi du, bai ordezkatzen ditzakezun zenbakiak handiagoak, edo
zehatzago zenbakiak irudikatzeko ahal izango duzu.
Beraz, gehiago zenbakiak izan dezakezu dezimal ondoren, baina
fellow bideoan esan bezala, nahiz eta zerbait simple
kontzeptualki 1/3 bezala ez da irudikatzen, hain zuzen, batek
ordenagailua, azkenean agortua duzulako bit, eta
Beraz, bakarrik egin dezakezu .33333333 hainbeste aldiz,
puntu besterik ez duzu esan nahi dut ordezkaritza
espazioa, deitu egun bat eta irudikatu behar dut
zertxobait imprecisely gustatzen.
Eta luze -
ergelak izena, baina ez dago datu-mota bat bezala ezagutzen delako
C luze coincidentally da askotan, 32 bit, aski da
int 32 bits da, baina luze bat da
oro har, 64 bit aukeratu.
Beraz, esan nahi du, besterik ez da handiagoa ordezkatzen dezakezu
hori baino zenbakiak.
>> Guztiak eskubidea.
Beraz, bada benetan nahi dugu gauzak ordezkari, hasteko
sofistikatuagoa mota behar izatea, eta
horregatik katea dugu.
Beraz CS50 liburutegia, izeneko fitxategi cs50.h dugu
benetan deklaratu datu mota bat da, nolabait esateko, izeneko katea,
baina esaldia ez da benetan existitzen.
Hau da, berriro ere, geruza horietako bat zuritu ari dugu.
aste bat edo bi atzera bota, eta benetan
kanpaia azpian begiratu zer kate bat benetan da, eta
nola irudikatzen.
Ari gara, halaber, balio boolearrak begiratu.
>> Beraz, zer Scratch testuinguruan boolearra bat izan zen?
Egia edo gezurra da.
Beraz, besterik ez da balio bat da egia edo gezurra, edo itzali, 1 edo
0, baina munduan ikusi nahi duzun.
Beraz, C, liburutegia CS50 esker, eta aldi berean
kanpaia azpian beste liburutegi bat barne, dugu
datu mota bat deitzen nuen, sartzeko eta
literalki baimendu esleitu balioak egia edo faltsua
programa bat gauza.
>> Beraz, dezagun aurrera eta pixka bat duen programa idatzi
du zerbait zenbakiak inplikatuz ordez.
Hargatik CS50 Appliance joan me, aurrera me utzi eta
hemen izeneko fitxategi berri bat sortu
dezagun zerbait esatea besterik ez simple, math.c. atsegin dute
Guztiak eskubidea.
Eta orain nire programa goian, naiz
ohiko egin
# , Eta, beraz, erabili ahal izango dut
printf, int main (void) -
itzuli beharko dugu, azkenean, zer int esan nahi du
hemen, zer esan nahi du void hemen, baina oraingoz, besterik ez jakin
bezalako programak hasi behar duzu.
Orain aurretik joan eta esan zerbait pixka bat noa
ezberdinak printf ("Eman zenbaki bat:"
);
Ondoren, int n = GetInt egin dut, delako
GetInt out bira CS50 liburutegia beste funtzio bat da
GetString gain.
Eta orain zerbait ergelak ez dut egingo, "itxura esker
% d "hamartar zenbaki oso, eta, ondoren, komaz n, eta
ondoren, itzultzeko 0.
Beraz, berriro, bueltatu 0, ez naiz zenbakia ez du
Erabiltzaileak eskatuz.
Just hori guztia, zentzuzkoa da, bai eta amaieran ondorioztatzen du.
>> Beraz, utzi behera joan me hemen nire terminal leihoa.
Utzi egin math, idatzi, idatzi me.
Eta zerbait gertatzen da.
Egin math ez du funtzionatzen.
Hona hemen gure errore-mezu lehen.
Zergatik?
Un poco de críptica, baina -
Bai.
Cs50.h. Beraz
Beraz, berriro ere, batez ere goiz, zure lehenengo idatzi dituzu
pset 1 programa, atal, bulego orduetan, eta
Egia, batzuetan jasanezinak izango da zer gauza horiek
dira benetan esaten.
Baina konturatzen duzu oso azkar erortzen hasten dira
Baldeak Horren bidez, honako hau esan nahi du utzi duzula off bat sartu
, # fitxategia goialdean barne hartzen ditu.
Eta Clang, konpiladorea, honen
esaten, baizik eta fancifully, inplizitu adierazpena
funtzioa GetInt baliogabea da.
>> Guztiak eskubidea.
Beraz, zer esan nahi du horrek?
Esan nahi du, besterik gabe, inplizituki duzun GetInt in izendatu
zentzurik ez duzula esplizituki izendatu du.
Esplizituki deklaratzen int, irakatsi duzu
Clang existitzen dela.
Eta horretarako soluzioa oso erraza da irakasteko
beste fitxategia, cs50.h, barne
zure koadernoan goiko aldean.
Literalki, # include delako ez da Clang kontatzen
pretty askoz cs50.h, kopia izeneko fitxategi aurkituko joan,
itsatsi automatikoki nire programa goiko sartu me,
eta, ondoren, iturburu-kodea bihurtu zeroen eta bai.
Baina hori izango litzateke, jakina, oso lapurtera izango dugu gizakiak izan bada
big fitxategiak horiek kopiatzea eta itsasten denbora guztian joan,
beraz, # besterik ez du hori guztia automatikoki gabe
nire kodea muddying beste norbaitek liburutegia.
Eta liburutegi bat beste fitxategi funtzio duten, eta
beste gauza beste norbaitek idatzi du, garela
gure mesedetan propioa aprobetxatuz.
>> Guztiak eskubidea.
Dezagun saiatu berriro.
Egin math.
Sartu.
Good.
Beraz, lan egin dela dirudi.
Hargatik exekutatu me math; / math.
Idatzi zenbaki bat ematen dit, 123.
Eskerrik asko, 123.
Orain dezagun saiatu beste izkinan kasuan.
Kate bat da, nahiko eskuzabala da, zeren
katea ezer izan daiteke.
Ezin zenbakiak itxura, itxura
pertsonaiak, hitz itxura.
Baina int int bat da.
Beraz, gaur egun, naiz erabiltzailea zaila bada, eta "esaten Give me
zenbaki bat, "zer saiatzen naiz 0,1 bezalako zerbait egin behar bada?
Beno, zenbaki bat da, eta koherentea da
gramatika hemen erabiltzen dut, baina kanpaia azpian, naiz
Ikastaro funtzioa GetInt erabiliz.
>> Beraz, zer gertatzen den ikus-en.
Sartu, eta saiatu berriro.
Guztiak eskubidea.
Zaila eta sakatu Sartu berriro me.
Sartu, Sartu.
Beraz, gaur egun GetInt apur bat gehiago dela dirudi
GetString baino indartsuagoa da.
Dugu, langileak, modu bat bada dela nabarituko dugu, besteak beste, ezarritako
ez duzu eman digu int bat - eta int zenbaki hamartar bat da
duten zeroen, direnak, twos, hirukoak, Fours, fives, seikoak
, sevens, eights, edo nines.
Eta hori da.
No hamarrenak, pertsonaiak, puntuazio ez.
Cooperativas dugula dirudi.
Beraz, lau, bost, sei, eta ni neu ere lortzen bidez saiatu me utzi.
Beraz, benetan, anal hemen, ziurrenik behar dut esan "Give me
zenbaki oso bat "ahal izateko erabiltzaileak transmititzea
zehatz-mehatz zer I asmoa.
>> Orain dezagun kanpaia azpian pentsatzeko.
Ari gara nola cs50.h inplementatu gaur begiratu,
liburutegi hori.
Baina mantentzen saiatu da berriro, saiatu da berriro, saiatu da berriro esaten, bada zer programazio
eraikitzeko am to kanpaia azpian ustez I erabiliz
ezartzea hori?
Beraz, begizta bat besterik ez da, ezta?
Errazena ideia bat Scratch ikusi dugun.
The Forever eraikitzeko, errepikatu eraikitzeko.
Ustezko, programa honetan, kanpaia azpian, nahiz eta
eta C nahiz idatzizko eta ez da hutsetik, egiten ari da
zerbait izeneko betiko baliokideak Erabiltzaileak ez du bada
zenbaki oso bat idatzi, esan saiatu da berriro, saiatu da berriro, saiatu da berriro, saiatu da berriro, eta, beraz,
ondoren, azkenik, egiten dugun zenbaki oso bat, eta gero
apurtu begizta hori.
>> Beraz, zer beste funtzio CS50 liburutegia erabili dugu hemen?
Beno, mota nabarmenak dira, gutxienez oinarritutako
datuak motak gaur egun ezagutzen dugun existitzen.
GetString, GetInt jarri du martxan dugu, baina osoan zehar
terminoaren lehen asteetan ere, dezakezu erabili GetFloat eta
Ordena GetDouble eta GetLongLong, hain zuzen ere
datuak mota nahi duzun.
Funtsezko xehetasun hemen da hizkuntza batzuk ez bezala, izan ere,
Python eta Ruby bezala, ez duzu zertan
deklaratzeko aldagai baten datu mota
ez duzu ordenagailua kontatzeko zer nolako stuff
aldagaia jarri zaren
C, inoiz beraz, ahalik eta zehatzena izan behar duzu.
Beraz izeneko aldagai bat n, biltegiratze zatia nahi duzun
kasu honetan gertatzen den 32 bits konbentzio,
ordenagailua dira bit hauek
zenbaki bat gorde
ez da pertsonaia bat, ez da kate bat, ez da mugikor bat.
Eta hori arazo jorratzen dugu modu eraginkorrean
astetik sartu zuen.
Ari gara zeroen eta bai zenbakiak erabiltzen bada, ez soilik irudikatzeko
zenbakiak, baina bezala Bs eta Cs, eta nola munduko
ordenagailua ezagutzeko benetan bit patroi hau
kopurua 65, ordezkari gisa ez bezala adierazten
gutun A, coincidentally arabera
ASCII, gogoratzen, 65 baliokidea izan zen?
>> Beraz eskaintzen datu-mota horien testuinguru ordenagailua, eta, beraz,
daki bit horiek interpretatu behar bada
int edo kate gisa.
Edozein galdera, eta gero, hau?
Bai?
DAVID J. MALAN: Good galdera.
Hartuko dugu stdio.h izarrekin bada, gorde fitxategia
utzi behera joan me terminal-leihoa eta make math, zoom
eta sartu
orain beste errore bat lortu dut, naiz inplizituki delako
zer geratuko funtzionatzen gaur egun?
Printf.
Beraz, gaur egun, arazo berri bat sortu dut, zeinaren soluzioa
funtsean bera.
Bizkarrean jarri behar dut.
IKUSLEEN: [INAUDIBLE]
DAVID J. MALAN: Oh.
Beraz, bada, hartu dut
Ados, bai.
Beraz, bada, estandarra I / O liburutegia inclusión kendu dut sortu
hemen, eta, ondoren, I printf kentzeko bada, ari zaren esaten
printf kentzeko?
Bai.
Hori, lan egin beharko dut jada ez delako edozein erabiliz - whoops.
Ba, gezurra besterik ez dut?
Oh, ados.
Hau ez da delako error berri bat sartu besterik ez dugu lan.
Eta hau da, pixka bat gehiago auto-azalpen.
>> Zein da arazoa?
Erabiltzen ez aldakorreko n.
Beraz, errore hau gure ondoren konfiguratu emaitza da
-tresnaren bereziki pedantic izan, benetan Yell at
akats posible guztietan, nahiz eta bere mota horretako
hau atsegin oker ez fatal da benetan handi bat, hala nola,
aurre egiteko esleitutako dut int bat, zenbaki bat jarri da, eta, eta, ondoren,
besterik ez egin, inork ez?
Beraz, funtzionalki, ez.
Hori ez da programa apurtu egingo da.
Ergelak, ezta mota da?
Ondoren zenbaki hori eskatu, gordetako balioa ez da
, aldagai batean baduzu ari inoiz ez ezer egin joan
, inprimatu ala ez, edo gorde.
Beraz, kasu honetan, Clang askoz gisa aitortuz, eta
unused aldakorreko n esaten.
>> Beraz, hau konpondu ahal izango dugu, benetan nahi izanez gero.
Baina, berriro ere, hau ez da ona programazioa.
Beraz, hau egin izan dut
jaisten hemen, utzi pantaila garbitu, math egin.
Lan egiten duen.
Orain nire math programa exekutatu ahal izango dut, sarrera hartzen
ondo, hori txarra zen.
Sarrera hartzen du, eta hori egiten du, kasu honetan.
>> Beraz, benetan, dezagun saiatu izkinan beste kasu bat dugu
lehenago ez pentsatu.
Kasu honetan, hemen, dezagun itzuli bat
little more user-friendly.
Dezagun atzera me hemen eta make math berriro.
Whoops, zer oker egin dut?
Got itzuli roll gehiago.
Ongi da.
Orain jatorrizko egoerara itzuli gara, non guztiak
espero ondo.
Eta orain math bada exekutatu I, 123 lan dirudi.
Baina hori ez da benetan eraginkorrak froga bat, besterik esan
ados, lan egiten duen.
789 lan egiten duen.
Denbora bidaltzeko.
Ez da beste izkina kasu hemen delako.
Katea ez benetan eman digu askoz ere arazoak idazten
osoa karaktere asko.
Baina zer gertatzen da hau idatzi dut bada?
1 asko osoa, oro har, asko hemen sakatuz -
eskubidea, apur bat aspergarria da lortzean, beraz, noa
gelditu hemen, eta Sartu sakatu dut.
>> Zer arraio gertatu da?
Beraz, hau benetan da azaldu.
Beraz, ez da hartu bitar gisa?
Pentsamendu A ona, baina ez, ez da hain zuzen ere hartu duela
bitar gisa, hain zuzen ere, delako, besterik ez zen mota
kasualitatea.
Hau egin ahal izango dugu berriro.
Beraz, ez da ez bitarra sistema 2, hori da
ziurrenik nahikoa hala ere.
Sartu.
Beraz, ez zen arazoa.
Zer gehiago?
Hain zuzen ere.
>> Beraz, uste back int bat benetan da.
32 bit kolektiboki dira interpretatu da
zenbaki bat.
32 bits bada, horrek esan nahi du, bit, bakoitzak ahal izan
0 edo 1, 0 edo 1.
Beraz, horrek esan nahi du ez da bi bit hau aukera,
honen bi aukera, bi aukera
bit - 2 aldiz 2 aldiz, beraz -
beraz, 2 32 boterea kopuruaren
zeroen eta bai permutazioak duzu 32 bada
leku, zeroekin edo direnak, zure aurrean.
Beraz, bada 2 32, matematikoki, zer egin behar dut?
Beraz, asko da.
4 milioi da, eman edo hartu.
Eta 4 milioi ez dirudi inprimatu zen hemendik.
Hain zuzen ere, 2 milioi hurbilago itxura.
Baina hau ez da kasualitatea.
Izan ere, ordenagailua misinterpreted nire asko,
direnak, eta, ondoren, nire twos sekuentzia handi handi sekuentzia,
gutxi gorabehera 2 milioi gisa azaltzen da, nola?
Int buruzko cap.
Dago, zalantzarik gabe, gehienezko balioa ditzakezun irudikatzeko.
Baina ohi da 4 milioi, ezta?
2 32 gutxi gorabehera 4 milioi bada, badirudi atsegin dute
kopurua handiena da.
Beraz, ez gainerako bat, baina pentsamendu onak.
Negatiboak zenbakiak.
Beraz, bada 4 milioi posible gauzak ahal duzun duzu.
32 0 s hainbat permutazio horien irudikatzeko eta
1s, ondo, nabarmentzen arrazoia dugu gizakiak dezakezu nahi
ordezkatzen ez bakarrik Osoko zenbaki positiboei
baina Osoko zenbaki negatiboa.
Eta, hain zuzen ere, hipotesi C que hace.
Beraz, 32 bit dira, gutxi gorabehera negatiboa dezakezu 2
milioi modu guztiak positiboak 2 milioi.
Eta, beraz, kasu honetan, benetan zer ikusten ari gara besterik ez da
gure osokoa gaitasuna Fringe dugu, eta, beraz,
hitz egiten, gainez zenbaki oso bat.
Bit gehiago Cram horretan benetan egokitzen baino saiatu dugu.
Beraz, azken emaitza da, funtsean 1 Bitak.
Iraulitako dugu gure bit on guztiak, saiatu gara ordezkatzen
kopurua ahalik eta handiena, baina argi eta garbi da ez da ia
big nahikoa bi gauza besterik ez dut idatzi sartu irudikatzeko
Bai?
IKUSLEEN: [INAUDIBLE]
>> DAVID J. MALAN: Good galdera.
Zergatik ezin irudikatzeko besterik ez dugu negatiboa
pertsonaia bat besterik ez sinatzeko?
Beraz, ezin izan erabat dugu, eta ondoren gorde izan dugu
apur bat gehiago.
Baina oraindik marratxo hori irudikatu nahi izan du, eta
prezioa, gutxienez, zerbait,
ustez pixka bat.
Beraz, bai, gure zenbakiaren 32 bit erabiltzen izan dugu, baina orain
gure marratxoa erabiltzen apur bat behar dugu
ikurra, minus ikurra.
Beraz, gaur egun, 33 bit balioak, hori egin ahal izan genuen dugu, baina
bidea ez da egin.
Epaiketa bat egin dugu deia urte lehenago, 32 bit ordena
neurri unitatea hemen.
Beraz bit horietako bat erabili eraginkortasunez goaz
negatiboaren irudikatzeko, eta 31 bit zenbakia adierazteko.
Beste galdera?
Guztiak eskubidea.
Hori asko da.
Zergatik ez aurretik joaten gara, eta bost minutuko gure break hemen?
>> Guztiak eskubidea.
Beraz, berriro ere, ez aplikazio matematiko overemphasize
programazioa, dezagun adibide bat besterik ez pluck off
eraikuntzen beste mugitzen dugu aurretik, besterik ez delako
ilustratzeko egingo, stumbling puntu komun bat gutxi batzuen
oinarriak orduan idazteko programak.
Kasu honetan, aritmetika duten zenbait adierazpen egiten
interesgarria sintaxia garrantzia.
>> Bihurtu ahal izango dugu formula bat besterik ez da, beraz,
Fahrenheit etatik Celsius tenperatura.
Ez baduzu gogoratzen, hau besterik ez da formula.
Fahrenheit 32 gradu balio, hau da, hala badagokio konektatu
izozte, hori izango da 32 ken 32 0 da, eta, hain zuzen ere,
Celsius 0 ere izozte.
Beraz, azkar behatu egiaztatu ez dago hori ezagutzen formula.
Let baino gehiago joan me tresnara, ordea, eta hasi
izeneko programa bat idazteko, atsegin f2c; "Fahrenheit
Dot c Celsius ".
Eta hemen goian, hasteko off # include noa
stdio.h, eta int main (void) egin dut, eta
berriro ere, itzuli dugu etorkizunean zer int esan nahi du
ez eta zer void esan nahi du.
Eta orain aurrera me eta programa bat ezartzeko
funtsean Gurekin bihurketa honek.
>> Beraz printf, demagun, tenperatura Fahrenheit.
Eta gero utzi aurrera eta erabiltzaileak balioa lortzeko.
Zer nolako balioa izan behar erabiltzaileak nahi badut
emadazu Fahrenheit tenperatura?
Bai?
Zer egingo zenuke zuk proposatzen?
Bai.
Beraz, karroza sentitzen nahiko arrazoizkoa.
Ditugu, berriz, gutxiren buruan aukerak
ikusi dugu, beraz, oso urrun.
Char, bikoitza, float, int gauzak ditugu, eta luze gabe,
bool, katea.
Beraz, hauek, float sentitzen nahiko arrazoizkoa.
Doble, eskubidea erabili izan dugu, bada nahi dugulako
irudikatzeko giza tenperatura
98,60000 -
64 bit erabili izan dugu horretarako, baina bezala sentitzen
tenperatura Overkill.
Hargatik, besterik gabe, karroza joan.
Orain, aldagai bat behar dut.
Just gauzak simple gorde da f deitu dut joan, baina I
izan bezain behar bezala deitu tenperatura,
baina bai gauza ederra da.
Beraz flotatzen f = GetFloat.
Bezain laster erabaki GetFloat erabili dut, baina, I
zuzenketa bat egin beharko.
Bai.
# Include Beraz, behar dugu, bestela konpilatzailea da
gurekin Yell joan.
Orain mugikor bat behar dut, aurrera egin eta utzi
bihurketa.
>> Beraz, lehenik eta behin, ohitura bihurtu ere utzi me hemen
Nire kodea komentatuz.
Beraz, berriro ere, iruzkin bat besterik ez da notazio hori giza
se bakoitzeko programa parte, baina bat, laguntzen dizu
ulertzeko hurrengo goizean zer egin duzu, edo hurrengo
hilabetea, zure irakaskuntza fellow ulertzen zer zenuen laguntzen du
edo zer egiteko asmoa duzu, beraz,
praktikan, oro har, oso ona.
Kode lerro batzuk behin, iruzkin bat idatzi
zuri edo zure lankide.
Hortaz, hona hemen, esan nahi dut "tenperatura erabiltzaile Galdetu."
Ez dauka esaldi osoa, esaldi labur bat besterik ez izan.
Baina C komentatzea atzean ideia da zure bakoitzak
iruzkinak behar adoretzeko duzu, edo esan, TF edo lankide bati
zure programa gaingabetuak ezagutu eta zehazki zer egiten du, ez
hainbeste kodea irakurriz, baina iruzkinak irakurriz, eta horrek
succinct argi eta garbi izan behar du.
Guztiak eskubidea, eta, beraz, gaur egun utzi aurretik joan eta esan, "Bihurtu
Fahrenheit to Celsius. "Beraz, aurrera joan eta ez noa,
demagun, flotatzen c.
Celsius mantendu dugu koma mugikorreko balio gisa.
>> Eta utzi me honetan Stab hartu.
Formula da, berriro ere, hemen.
5/9 aldiz F ken 32.
Beraz, egin dezagun hau.
Beraz, 5 9 arabera banatzen da, ken -
whoops, messed dut dagoeneko.
Times.
Beraz, 5/9 aldiz F ken 32.
F ken 32 Beraz, puntu eta koma.
Eta orain, hemen behera, aurretik joan naiz joan
eta esan, emaitza inprimatzeko.
Eta zati hau ez da erraza. Printf.
Nola joan da inprimatzeko buruz I?
Beno, esan nuen "Celsius en kopuru hori% f \ n"
estetika batzuk.
Eta gero, zer balio hemen entxufatu en printf nahi dut
bigarren argumentua?
Ongi da.
Beraz, c.
Beraz, honekin hasi dugu, eta, ondoren, 0-ra itzuliko.
Berriz ere, ez da ezer math batera egin du.
Guztiak esan nahi du, besterik gabe, ongi dago.
>> Orain, hau ondo dago, programa hau?
Guztiak eskubidea.
Beraz, akats batzuk egin dut.
Nahiz eta ideia ez duzu zer programazioan, ordena ditzakezu
infer kalifikazioa eskola back zer
akatsak hemen egongo.
Zer da lehenengo bat?
IKUSLEEN: [INAUDIBLE]
DAVID J. MALAN: Bai.
Beraz, parentesi ari gara falta da.
Nahita izan da, eta ez dut parentesi ESPARRU,
irristatu hemen, ez da benetan delako nozioa
eragiketa, edo lehentasuna, horren bidez zenbait eragiketa
biderketak -
handiagoa dute loteslea, handiagoa dute lehentasuna, gauzak baino
gain edo kenketa bezala.
Beraz, hau egin dugu urte besterik gabe, argi eta garbi, zehatz-mehatz
zer eragiketa matematikoa egin behar da lehendabizi.
Beraz, beharko dut zehatz-mehatz imitatzen hau.
Bestela, ordenagailua da zentzuzkoa saiatzeko.
arrail 5 9 antzeko zerbait, eta gero biderkatu F eta, ondoren, kendu
Gauza osoa 32.
Zein ez da, hain zuzen ere, zer egin nahi dugun.
Beraz, dezagun parenthesize.
Dezagun gehitu nire parentesi hemen, parentesi hemen.
Dezagun jarri hau hemen baino gehiago.
Hemen, nabaritu dut akatsa bidean beste egin dut.
Bai?
IKUSLEEN: [INAUDIBLE]
>> DAVID J. MALAN: Ah.
Good.
Beraz, benetan dugu bera osokoa
zatiketa baino lehen alea.
, Zer sintoma da ikus-en zuzendu dut.
Baina bat zuzendu beharko dugu
Hemen beste akatsa.
Bai?
IKUSLEEN: [INAUDIBLE]
DAVID J. MALAN: Bai.
Beraz, akats ergelak, egin nuen, baina oso garrantzitsua.
Ordenagailua ez da, itsu begi bat besterik ez aktibatzeko eta utzi
kapital F erabiltzen me, I actually deklaratu aldagaia
minuskulaz f hemen, line 8.
Beraz line 11 nire kapitalizazioa zuzendu behar dut, hau da,
Une ago akatsa F hiriburua izan zen.
Zer da hemen?
Hau izan baita minuskulaz?
Izan behar da, baina hori da kasualitatea.
% F Hori ez du ezer aldagaia.
Beraz, super argi eta garbi izan hemen, utzi aurrera me eta
berrizendatu honetan, labur-labur, "tenperatura." Utzidazu berrizendatu
"tenperatura." Dezagun berrizendatu ez dit hau.
Zeren eta, berriro ere,% f globalki esan nahi du, "puntu balio flotatzen".
Ezer nire aldagaia ditu.
Baina "tenperatura" guztiak leku baino gehiago da, besterik gabe, apur bat wordy
beraz, nire minuskulaz "f" s itzuli egingo naiz.
>> Orain, aurrera me down nire leiho hemen.
Egin f2c
izan zen, berriro ere, arbitrarioak izena I
Fitxategi hau eman.
Badirudi konpilatu dute.
Dezagun f2c exekutatu me.
Sartu.
Fahrenheit tenperatura - egin dezagun erraz bat.
32.
Ados, zuzentzeko.
Baina, gaur egun, ez dut bada 212 irakiten
madarikatua.
Guztiak eskubidea.
Beraz, argi eta garbi, ez zuzentzeko, zure TF saiatzen bada
gutxienez bi balore.
Beraz, zein da arazoa?
Beno, dagoeneko jarri hatza zer da arazoa.
Baina zergatik da kasua dela?
Hemen Up, 9 arabera banatzen da 5 math egiten ari naiz.
Beraz, kontzeptualki, primeran zuzena da.
Totally formula koherentea.
Baina ordenagailuak bakarrik ez, hain zuzen, zer duzu
esan egin.
Eta zer gertatzen da ordenagailua kontatzeko modu eraginkorrean ari gara hemen
zatitzea osokoaren 5 osokoarekin 9
eta emadazu emaitza.
Arazoa da, ordea, zatiketa ez duzu datuak erabiliz
mota, irteera input gisa datu mota bereko da.
Eta beraz, bi input ints bai bada, irteera va
int bat izan nahi du.
Eta, beraz, 5 9 arabera banatzen da puntu zerbait da.
Baina zer osokoa zerbait seinalatu hurbilena?
Beraz, benetan da 0.
Beraz eztabaidatu Astelehena, hamartar ondoren dena
puntu lortzen trunkatuta.
Bakarrik bota.
Akats bat osoa, beraz, hau da, I might delako eta baita, besterik gabe
0 hemen biderkatu guztia.
>> Orain, hau konpontzeko modu pare bat.
Horretarako izan dut.
5,0 9,0 arabera banatzen da.
Teknikoki, ez dut horretarako beharrik.
Zenbakiak mugikor bat besterik ez egiteko bat aski du
edo bikoitza hemen dezimal jarriz.
Zer gertatzen den gaur egun osokoa zatitzen delako
mugikor bat, edo bikoitza, ordenagailua konturatzen joan
oh, horietako bat zehatzagoa da.
Err baino gehiago ematen doitasun alde me
nahi zenuena.
Beraz, emaitza bihurtzeko izango da
emaitza itzuliko da koma mugikorreko balio bat baita.
Beraz, lan egiten dute.
Horrek lan.
Eta ez dago beste mekanismo bat izango dugula ikusi
handiagoa zehatz-mehatz datorren astean.
Benetan dezakezu, programatzailea, ordenagailua dira
benetan tratatu bat datu mota
ziren beste arren.
>> Beraz, benetan izan nuen egin.
Parentesi artean, antzeko zerbait (karroza), esan daiteke I
paren, itxi paren.
Eta hau da, zer deitzen "casting". Berriz ere, gehiago
hurrengo aste honetan.
Baina hori guztia kontatzeko modu programazioko da
ordenagailua, bai 9 zenbaki oso bat edo luze bat ezagutzen dut.
Ez da koma mugikorreko balio bat ezagutzen dut.
Baina tratatzeko, hala nola, hala ere jo.
Beraz, datu-mota bat bota esan nahi du bihurtu
batetik bestera.
Egia, hau da, besterik gabe pixka bat itsusi, eta, beraz, proposatzen dugu joan nahi dut
besterik ez bihurtzea jatorrizko gomendioa atzera
gauza horiek puntu balio flotatzen eskuz.
Orain, super delako argi eta garbi zer ari den gertatzen, eta
ez da guztiak distracting.
>> Beraz, dezagun atzera jo nire terminal-leiho batean.
Egin f2c.
Dezagun aurrera eta hau exekutatu.
Eta, bat alde batera utzita, zuk aspertuko komandoak hauek idazten
behin eta berriro, konturatzen ordenagailuak, Linux bezala,
joera pretty smart izango.
Eta hit I Up bada, nire historia osoaren bitartez joan ahal izango dugu
komandoak, gora eta behera.
Beraz, hemen kasu honetan, bakarrik ezin dut joan egin f2c exekutatu.
Ari naiz yelled at, besterik ez dut egin delako bat bigarren duela.
Dagoeneko da data.
Beraz, gaur egun exekutatu f2c dut berriro.
Dezagun saiatu 32 Fahrenheit.
Dezagun saiatu orain 212 Fahrenheit.
>> Phew.
Badirudi lan egiteko.
Orain, hau ona da, baina apur bat arbitrarioa sentitzen
Sei zenbakiak naiz hamarren ondoren.
Eskuin?
Oraindik TV eguraldi pertsona bada, doofus baten mota Oraindik
ari zaren tenperatura irakurtzen
Zehaztasun-maila honetan.
Beraz, dezagun errazteko honetan.
Beraz, dezagun benetan igo hemen, nire printf.
Eta bai,, flotatzen nahi dut.
Baina zehaztasun orain zehaztu nahi dut.
, Eta little succinct bat izan nahi dut.
, Esan emadazu hamartar leku ondoren puntu bat noa.
Beraz, baizik eta esan baino% f, .1 f% esan nahi dut.
Eta hori esan nahi du ematen dit posizio bat
du dezimal ondoren.
Guztiak eskubidea.
Dezagun saiatu berriro.
Utzidazu berriro exekutatu konpilazioaren ondoren.
Eta orain idazten dut 32, eta itzuli bat eskuratu dut
succinct balio gehiago.
Eta idatzi nuen, gaur egun, 212, eta gehiago succinct
balioa baita.
Eta beste gauza printf egin dezakezu.
Benetan zehaztu ahal izango duzu nola zabal zenbakia izan behar du.
Nahi duzun betegarria izan da, eta, beraz, eskuin-lerrokatu edo
ezkerrean lerrokatu zure zenbakiak guztiak edo
zentro gauzak saiatu.
Beraz, konturatzen daude apur trikimailuak egin dezakezu.
Baina irakiten besterik ez dute formatu kodeak
dugu ez bezala.
>> Beraz, lehentasuna gai horri dagokionez.
Bidez joan metodikoki taula oso aspergarria da.
Baina konturatzen C egileek batera
arau zein operadore handiagoa dute
lehentasuna, botere gehiago loteslea, besteak baino.
Beraz, eskola kalifikazioa, berriz, oro har, bazekien zela
biderketak eta zatiketak, eta batuketak eta kenketak,
ondoren, beste gauza batzuk.
Programazioaren mundu bat, ez dago askoz
zerrenda luzeagoa gauzak.
Eta hau ez da gaur egun memorizatu merezi zerbait.
Duzu lortuko acclimated luze baino lehen.
Baina eskola kalifikazioa bezala, parentesi, oro har, konpondu
lehentasuna gaiak, super argia eginez
informatika eta giza alike zer da asmoa.
Beraz, kontuan hartu hau, apur bat baino ez Cheat fitxa dago.
Baina xehetasunak horietako gehienak ezin izango dugu denbora pixka bat.
>> Guztiak eskubidea.
Orain, dezagun eraikitzeko sortu eta pausu horiek silly little
matematiko adibide.
Oraindik oinarri bera erabili, baina hasi
geure burua apur bat Scratch bezala adierazteko.
Beraz, Scratch, boolear adierazpen horiek izan genuen.
Eta ingelesez, adierazpen boolearrak zer da?
Egia edo gezurra.
Zerbait egia edo gezurra ebaluatzen da.
1 edo 0.
Edo On off.
Whatever deitu nahi duzu.
Orain Scratch, puzzle pieza hau atsegin dute begiratu.
Eta hori konbinazioa da, beheko aldean dago, hiru
puzzle pieza.
One batera -
hutsik eta hutsik duen zerbait.
Eta gero barruan bi adierazpen boolearrak.
Beraz, habia boolear adierazpen gehiago lortu ahal izango duzu
zaila boolear adierazpen.
Esate baterako, larunbata izanez gero, eta polita da
eguraldia, ondoren kanpoan.
Edo horrelako zerbait arbitrarioa.
Beraz, boolear adierazpen sar daiteke bat etorri
egia handiagoa balioa, eta horren erantzuna oinarrituta dago
txikietan.
>> Orain, C, zorionez, kartografia hau da
benetan nahiko erraza da.
Parentesiak gauzak garbitu hemen.
Eta zer esan nahi du "." Beraz, nola
bloke horiek bihurtzeko Scratch etatik C. goaz
Eta baldintzak ikusi, Scratch dugu, ezkerreko
albo han, pilatu ezin dut, era berean, C. x txikiagoa bada
y baino, eta, ondoren, hau egin.
Bestela, x y baino handiagoa da, eta ondoren egin hau.
Bestela, logikoki berdinak izan behar dute, eta, beraz, esan
direla berdinak.
Beraz, orain dugu gauza horiek eraikitzeko.
>> Beraz, egin dezagun adibide bat.
Demagun fitxategi bat ireki me ikastaro webgune
Aldez aurretik idatzi dut.
Hau da izeneko nonswitch.c.
Eta zergatik une bat besterik ez dugu.
Beraz, fitxategi hau nonswitch.c--
lehen konturatzen ez dagoela osoa sorta
goialdeko iruzkinak.
Den fitxategiaren izena azaltzen da, zer
ez, eta abar.
Eta itxuraz erakusten Boolearra ETA-ing erabilera
bi adierazpen conjoining.
>> Hargatik programa hau nola funtzionatzen duen ikus-en.
Nire bi fitxategiak, cs50.h eta stdio.h artean, besteak beste, I.
Behera joan I bada, orain, programa, pixka bat gehiago da
Nik uste genuena baino aurretik idatziak, baina nahiko irakurgarria.
Beraz, erabiltzaileak inprimatzeko, line 18,
"Give me 1 eta 10 arteko zenbaki oso bat." Beraz,
bertan.
Orain osokoa zait.
Baina konturatzen GetInt hori - pretty simple.
Int bat besterik ez da iritsi.
Int bat lortu du bermatu da, eta ez da
katea edo mugikor bat.
Baina ez da muga egiaztapena edozein motatako egin du.
Ez da artekoa izan behar du zenbakiak iragazteko
zenbait sorta.
Beraz, geure buruari ezartzen dugu.
Beraz, Scratch bezala, non batera egin izan dut
bi adierazpen, hori egin ahal izango dut C honela.
N da eta 1 baino handiagoa edo berdin, eta n bada gutxiago baino
3 edo berdin, oso arbitrarioki dekretu dut hori
kopuru txiki bat izan nahi du.
Just adierazpen baten mesedetan.
N bestela, 4 eta 6 bitartekoa da, inprimatu "medium bat jaso duzu
kopurua. "Bestela, n da, 7 eta 10 artean bada, inprimatu" bat jaso duzu
big kopurua. "Bestela, inprimatzeko" baliogabeko zenbaki bat jaso duzu. "
Logikoki, hori delako jarraitzen dut badugu
agortu gure sorta.
>> Beraz, konturatzen hori ez da nahiko nola baino handiagoa idazten dugu, edo
berdintasuna matematika klase bat.
Eskuin?
Normalean marrazteko bezala, azpian lerroan.
Baina gakoa, besteak beste, ez da nire teklatuan.
C baino handiagoa adierazteko sinboloa edo Beraz
berdina bi pertsonaia, eta baino gutxiago sinboloa da
edo berdin bi pertsonaia baita.
Guztiak eskubidea.
Beraz, programa hau exekutatu bada, seguruenik dezakezu asmatzeko zer da
egingo.
Joan aurretik bada eta nonswitch egiteko, Sartu.
Eta gero exekutatu nonswitch.
Emadazu 1 eta 10 arteko zenbaki bat.
Emateko 11 noa.
Baliogabeko zenbaki bat jaso dut.
Kopurua 3 saiatu me.
Kopuru txiki bat jaso nuen.
Beraz, nahiko erraza da, eta ez dago.
>> Zer nahi dut programa honen portaera aldatzeko eta
Horren ordez, zerbait apur bat desberdinak?
Dezagun aurrera, eta hau esan.
Hori guztia kentzeko me.
And let me esan (n == 42).
Eta gero, aurrera joan eta esan inprimatu noa "jaso duzu
erantzunik egokiena. "Bestela, aurretik joan eta esan dugu,
printf ("bildu duzu
oker erantzun "); Larreina.
Just delako.
>> Orain, puntu gutxi egin dugu hemen.
One, ez nuen idatzi sinboloa dela uste duzu
gehien arrazoizkoa.
Berdintasuna egiaztatu nahi dut, bihurtzen ez daukazu erabili
berdin ikurra.
Berdin berdin ikurra erabili ordez.
Eta zergatik agian hori izango da, besterik gabe, intuizioz?
Bai.
IKUSLEEN: [INAUDIBLE]
DAVID J. MALAN: zuzena.
Berdin ikurra dagoeneko esleitzeko erabiltzen da.
Norbaitek ez benetan uste honen bidez.
Eta, beraz, orain, orduan berdintasunaren azterketa, behar dugu
esplizitua gehiago izateko, eta esan berdin berdin.
Akats oso ohikoa da hau egiteko.
Eta,, bulego ordu edo noizbait hurrengo astean edo
bi aste hurrengo hau atsegin zerbait egin eta, ondoren,
berarekin borroka, 10, 20 minutu irudikatu saiatzen
bug madarikatua da, konturatzen zarela horietako bat
akats hau egin duten pertsonak.
Beraz, Super erraza egiteko.
Baina helburua da, akats hau uxatzeko.
Honek, ebaluatzea izan da, hau delako benetan esaten?
N 42 lortzen bada.
Beraz, aditz pertsonek erabili, ahoz adierazteko
esleitzeko nozioa da "jasotzen du." Beraz, bada n lortzen 42.
Beraz, horrek esan nahi du esleitu 42 n.
Orain parentesi artean adierazpen boolear bat behar dut,
egoera honen barruan, horren balioa 42 da.
Eskuin?
Barrutik out, guztira ebaluatzeko baduzu delako
erantzuna, gaur egun, 42.
>> Beraz, izanez gero, galdetu nion galdera, "(42), baldin eta" zer da
benetan esaten?
Beno, besterik ezin da boolear adierazpen egia edo gezurra.
1 edo 0.
Edo On off.
Beraz, hemen izkinan kasu bat izan badirudi dugu, beraz baten
Bat-batean, esaten dut "(42) badago". Boolearrak Hori ez da balio.
Beraz, zer ordenagailuekin egin da, nahiz eta, equates funtsean
ezer ez da 0 interpretatuko da egia izan.
1.
On.
Funtzionalki baliokideak Oraindik dute.
Bakarrik balioa 0, edo keyword faltsu, zaitugu
azkenean, ikusi, benetan faltsua da.
Beraz, "(42) bada" litzateke benetan egia da, ez-zero delako.
Zehatzagoa hemen, balio boolear bat da benetan ez hain
askoz egia edo gezurra, baina hau
kasuan, 0 edo ez-zero bada.
Beraz, faltsuak edo ez faltsuak.
Eta horrek aukera ematen du gehiago biltzen gurekin
adierazpen, parenthetical aukera.
Beraz, behar dugu, inoiz, beraz, arreta handiz, esan
(n == 42).
Berdintasun proba bat besterik ez zehaztu behar dugu,
ez balio bat esleitzeko.
>> Zer gehiago hemen Aipagarria da?
Kizkur giltza horiek, egia esan, ez da beharrezkoa.
Izan ditut egiten Nit-hautakorra hemen.
Baina baldintza bakarra lerro duzu
kodea, erosotasuna gisa, programatzaileak ez erabili behar
kizkur giltza.
Besterik ez koska, arrazoi estetiko nahikoa da, eta
ondoren idatzi zure kode line.
- Bakarrik bi kode lerro idatzi nahi duzun
Adibidez, bestela printf ("Bye!"). Nahi duzun egin bada
dela, hau hondatuta dago.
Koska egin dezakezu nahi duzun guztia, baina duzula
bi kode lerro idatzi kizkur giltza erabili gabe
bitartez, programa hau ez litzateke behar bezala exekutatu edo agian
ezta behar bezala konpilatu.
Beraz, oraingoz, zintzoa izan behar du, ohitura onena besterik ez da, uste dut
erabili kizkur giltza, eta aurkituko duzu egiten dute
super argi zer ari den gertatzen.
>> Era berean, bat alde batera utzita - especialmente si Oraindik artean erabiltzen duten
gomendatutako liburuak edo on-line baliabide -
konturatzen ez dagoela estilo nozioa
programazioa.
Eta pertsona batzuk benetan nahiago kizkur giltza jarri
hemen baino gehiago lerro bat.
Batzuek nahiago barregarria gauzak,
nahi jarri hemen.
Ez du erantzun okerra dator
estiloa, baina hau ez da zuzena.
Hala ere, pertsona batzuek ez.
[Barreak]
DAVID J. MALAN: Beraz, hau aipatzen dut, gaur egun, besterik gabe, delako
irakurri konektatuta liburuak edo gauzak, iritsi zaren
hainbat irakasle desberdinetako mezuak eta
hainbat egileak.
Eta konturatzen hori, funtzionalki, Oraindik dute
oro har, baliokideak, baina koherentea.
Beraz, kasu honetan, kizkur gainean dugu normalizatzeko
giltza sortu FORRUA hemen ezker.
>> Guztiak eskubidea.
Hargatik joan aurretik, eta hau exekutatu, eta zer gertatzen den ikusi
Programa honekin.
Egin nonswitch.
Ondoren exekutatu nonswitch.
Give me 0 arteko zenbaki oso bat eta, beraz, ez da garrantzitsua
jada, baina besterik ez dut arbitrarioki esan 42.
Eta erantzun egokia jaso dut.
Beno, gaur egun, dezagun benetan hartu hau beste norabide batean.
Sintaxia beste batzuk dugu bihurtzen da
programa batean erabili.
Hona hemen sintaxia pieza berria da funtzionalki bera da,
baina, geure burua adierazteko beste modu bat aurkezten.
Beraz, hau da, zer deitzen "switch adierazpena". Eta
switch adierazpena honela funtzionatzen.
Hartzen du, parentesi artean, nahi duzun balioa
"" Aldatu.
Modu ezberdinean portatzen bere balioa oinarritzen nahi duzu.
Beraz, n balio piztu esan nahi du.
Eta zer esan nahi du horrek?
Beno, n da: 1 edo 2 edo 3 bada, aurrera eta inprimatu "You
bildu zenbaki handi bat ", eta, ondoren, break.
Atsedenaldian arrazoia da C da
bezain laster, kasu bat datorrenean hori aurkitzen da, exekutatzean hasten da
guztien azpitik kodea.
Beraz, bada, kode lerro bat daukat, ez dut hemen 27 on line,
lortzen exekutatu.
Gehitu dut line beste badu hemen du exekutatu.
Hemen line Another du, exekutatu.
Programa bakarrik gelditzen da beheko exekutatzean
aplikagarri kasu adierazpen I esplizituki
esan "apurtu egin daiteke." Beraz, okerra da.
Eskuin, kasu honetan, baten ondorioz.
Case 4 edo 5 edo 6, era berean, joan
mezu bat inprimatu.
Kasu honetan, ertain kopurua.
Break.
Case 7, 8, 9, 10, inprimatu "handi bat jaso duzu
kopurua. "Hautsi.
Eta orduan, hitzez hitz, "default" izeneko gako-hitza
modu eraginkorrean ", bestela," eraikitzeko bezala.
Beraz, sintaxia, baina intelektualki,
berri guztiak hemen ez dago ezer.
Scratch, bezalakoa da.
Bada, bestela, bestela, sort-blokea.
>> Beraz, programa honen bertsio aldatu da.
Baina konturatu egin dugun zenbakiak hemen.
Ireki me bigarren bertsio bat, besterik ez erakusteko
zerbait apur bat zehatzagoak.
Beraz, hemen, kalifikazio dugu horren ordez.
Turns etengailuak erabili out ez soilik osoko zenbakien on, baina
karaktereak.
Ez da datu-mota guztiak, baina gutxienez pertsonaiak.
Beraz, hemen, ez dugu antzeko zerbait C-ren balioa
Erabiltzaile idatzitako, line 19, GetChar funtzioa erabiliz,
da, kapital A edo minuskula, dezagun interpretatzeko kalifikazioa gisa,
eta esan kalifikazio ona jaso dute.
Eta behera switch adierazpen zehar, ez dugu
"B" s eta "C", eta abarren kasuan.
Baina gaur egun biribiltzeko beste gauza.
Eta berriro ere, mota bidez hegan
Adibide horietako batzuk.
Baina beraz ditu aplikatu ahal izango dugu, gaur egun
edo benetan, itzuli orain
C.
>> Beraz, aurrera eta hau egin.
Fitxategi berri bat ireki dut.
Eta, besteak beste egin dut.
Eta gero, int main (void) egin dut.
Utzi fitxategi hau gorde nazazu loop.c. gisa
Just adibide gisa.
Eta aurretik joan eta honako hau egin dut.
Oso lapurtera programa bat idatzi nahi dut.
10 Beraz,.
Egin dezagun.
9.
Guztiak eskubidea.
Hau egiten programazio bezain laster hasten zara, zauden
seguruenik, zerbait gaizki egiten ari dira.
Baina hasteko dugu hala ere.
Oops.
Hori da benetan oker.
7.
6.
5.
4.
Ezer ez da 0 dugu gertatuko da.
3.
2.
1.
Ongi da.
0.
Ezabatu.
>> Guztiak eskubidea.
Beraz, itzultzeko 0.
Beraz, programa hau da, jakina, zer oso
tediously egin dio.
Horiek guztiak inprimatu
balioak, goitik behera.
Hargatik egin loop me.
Eta gero - whoops.
Egin begizta baten ondorioz.
Okerreko direktorioa dut.
Eta orain utzi loop exekutatu me.
Sartu.
Woohoo.
Very nice.
Nice, luzeak programa.
>> Ondo da, baina orain egin dezagun hobeto.
Just Scratch bezala, begizta bat erabiltzen hasi
eraikitzeko, ordez kopiatu eta guztiak itsasteko
puzzle piezak, let gauza hau aurkezteko me.
Beraz, C daude, zenbait begizta eraikuntzen,
horietako bat hau atsegin du.
A "for" loop hiru gauza ditu, bi puntuz bereizita.
Eta gero, begizta-gorputzaren barruan, eta, beraz, hitz egiteko -
stuff kizkur giltza barruan -
zerbait egin ahal izango dugu behin eta berriro.
Beraz, zer Hemen daukat pantailan, hau da,
hitzez hitz, iruzkin bat besterik ez.
/ / Esan nahi du hemen iruzkin bat dator.
Hau ez da kodea.
Honek English description, niretzat, giza da.
>> Beraz initializations, baldintzak, eta eguneratzeak.
Beno, nola obra hau ikusteko.
Horrek aukera ematen du programa hau honela berridatzi.
For -
beraz, hona hemen nire loop dator
int i -
Hemen izeneko "i" aldagai bat dator
lortzen 10 hasieratu.
Beraz, ez da nire Hasieratzea.
Loop luzea da "i" baino handiagoa edo Horretarako nahi dut
0 berdinak.
Eta begizta honen iterazio bakoitzean, nahi dut
i -.
Beraz, + + astelehena, ikusi genuen.
- Kontrakoa da.
Balioa decrements 1.
Begizta honen barruan, benetan zerbait egin nahi dut.
Beraz, printf antzeko zerbait esan nahi dut.
Ez dut nahi 10 esan nahi gaur egun, hau da, jakina, delako besterik ez
balio bera inprimatzeko.
Zer ordez, ziurrenik inprimatu nahi dut?
Bai.
Beraz, "i." Beraz,% d, i.
>> Beraz, aurreko ideia horiek bat lapurtzen noa
formatu kodeak ordezkatzea
eta, ondoren, behera hemen, behealdean, 0-ra itzuliko dut, besterik ez
neurri ona.
Baina orain, succinct programa bat gehiago behar dut.
Gutxi batzuk besterik ez da, lerro bat, eta ez batzuk 10 edo 11 lerro.
Joan nire gonbita behera me hemen.
Remake begizta baten ondorioz.
Berrabiarazi begizta baten ondorioz.
Eta gauza bera izango dirudielako.
Orain, programa ez da gehiago interesgarri.
Baina orain, honen antzeko zerbait idatzi dut.
Hau aldatu ahal izango dut 100.
I birkonpilatzeko nire programa, orduan.
Eta gero dezaket berriro nire programa exekutatu.
Eta orain, super-azkar jartzen da gaur egungo ordenagailuetan.
Baina han daukat
eta benetan, nire erabilgarrien zerrenda buffer ez
nahiz eta joan urrun.
Bertan dugu.
Beraz, guztiak 100 ditugu.
Baina erraza da akats egin hemen.
Zer espero den portaera izango badut
ustekabean egin hori?
Beraz, infinitua sentitzen bezala.
Beraz, ikus dezagun ordenagailua bada jokatzen.
>> Beraz, aurrera eta begizta egiteko.
Eta utzi loop exekutatu me.
Hargatik itzuli dela une bat besterik ez.
Run uzten dugu.
Zer egin behar gora zenbatu ditugu, gutxi delako?
Seguruenik, gutxienez 2 milioi asko bit dugu bada, eta
balio positiboak erabiltzen ari gara.
Beraz, dezagun salto atzera hemen.
Errepikapen mota horiez gain, zer deitzen dira bitartean dugu
begiztak. Beraz, Scratch bezala, Forever izan duzu
blokeak, eta errepikatu blokeak izan.
Era berean, C, besterik ez duzu beste bide batzuk
zeure burua adierazteko.
Beraz, aukera ematen dizu, berriz, loop nozioa duzu
adierazteko zeure burua apur bat ezberdina izan.
Eta gero, zerbait behar duzu do bitartean-begizta izeneko
funtzionatzen apur bat ezberdina izan baita.
Eta horiek gain tease dugu denboran zehar.
>> Baina dezagun azken hau hemen begirada bat.
Joanez gero sartuko gara
oraindik exekutatzen ari da.
Pretty infinitua da.
Hargatik positiboa sartu me, eta erakutsi nola benetan dezakegu
Gobernatzeko user input apur bat gehiago eraginkortasunez.
Nahiko programa bat laburra da.
Eta hemen dugu, nagusia, int n adierazpena.
Beraz, ematen me n izeneko aldagai bat. Orain, esan literalki I
"Egin." Eta gero Nik open kizkur
giltza, giltza itxi kizkur.
Eta gero, nabarituko, eskubide hori ondoren, dio n bitartean
1 baino gutxiago da.
Beraz, nabarituko lerro hauen
19 eta 24 -
konposatzen kolektiboki do-bitartean begizta bat.
Eta berriro ere, sintaxia, ez da ideia berria.
Beste begizta modu, sintaktikoki da.
Beraz, zer egin?
Egin hauetako n 1 baino gutxiago.
Beraz, zer egin nahi dut?
Eman duzun zenbaki oso positibo bat eskatzen dut.
Gero saiatu I actually erabiltzaileari zenbaki oso bat lortzeko.
Baina eragiketa ordena dagokionez hemen, zeren
baldintza da, behera, berriz, hemen ari naiz eta, ondoren, egiaztatu egingo da, n
1 baino gutxiago?
Beraz, demagun erabiltzaile
Modu honetan eskatu ondoren
balioa 0 motak.
Baldintza hori egia edo gezurra izango da?
Beno, egia esan, egia izango da.
N 0 denez, 0 eta 1 baino gutxiago.
Beraz, zer ez duela esan nahi du?
Do it berriro.
Bakarrik, behin egoera hori ebaluatzen ezezkoan.
42 I idazten baduzu.
Beno ez, 42 ez da 1 baino gutxiago.
Beraz, begizta hau egiten da exekutatzen ari da.
Eta beraz, puntu hartan, programa, esan esker
42, kasu honetan.
Orain zeure burua adierazteko modu hau
Ez genuke hau amaitu arte itxaron.
Denbora pixka bat hartu behar da.
Jarraitu ahal izateko hurrengo aldian, agian.
>> Baina orain, espero gaitasuna bat ulertu behar duzu
umore geek bit.
Apologies.
Hau ez da umorea ordezkari informatika
mundua, baina cute da.
[Barreak] Let Ohar horretan amaiera.
Eta zuk, astelehena, ikusiko dugu.
[Txaloak]