>> JASON HIRSCHHORN: xoş gəlmisiniz CS50 bölməsi, hər kəs.
My name Jason Hirschhorn edir.
Mən sizin TFS bir çox deyiləm, lakin bir çox insanların ümid Bizi birləşdirən olunacaq
online, məsləhət tələbələri və ya tələbələr Bölmə vasitəsilə baxmaq üçün çalışırıq, əgər onlar
ki, həftə və ya bölmə buraxılmış onlar istəyirdi yalnız tutmaq
bəzi maddi inceleyebilirsiniz.
>> Belə ki, kimi tədris başına bütün Əgər oxumaq ki, doğru?
Mən baş başını yırğalayır bir çox görürük.
Bölmələr imkanları ilə təmin edir Kursun nin tədqiq etmək
daha çox intim mühitdə material, habelə dive into
praktiki fəaliyyəti.
>> Belə ki, biz istəyirik nə əsasən var hər həftə bunu edəcəyik.
Biz nə ilə getmək olacaq ən əhəmiyyətli təyin
mühazirə əhatə mövzular və olanları yəqin ki, həmçinin ən faydalı və
problem dəsti gəlmək ehtimalı və kiçik sınavlar, və sizin kodlaşdırma ilə
CS50 kənarda həyat.
Beləliklə, biz bu mövzu daxil olacaq müzakirə, onlara getmək
uşaqlar hər hansı suallara cavab və biz bir çox olacaq
kodlaşdırma praktiki problemləri.
>> Siz bütün noutbuk gətirdi, olan fantastik deyil.
Bu kompüter elm sinif edir.
Ancaq biz nə təlimlər bir çox sizin üçün noutbuk ehtiyac yoxdur.
Siz kağız bir hesabatı onları edə bilərsiniz.
Ki, siz olacaq necə ki, sınavlar onları edirik.
And olsun ki, böyük bir yoldur həqiqətən necə bilirik ki,
bir şey yoxdur, əgər 50 yoxlayın izah etibar və ya etibar edin
Əgər hər hansı bir səhv etdi.
>> Belə ki, haqqında kod xoş gəlmisiniz olan cihaz və ya run.cs50.net,
Əgər kod imkan verir ki, bir alət online, lakin mən də əgər, məsləhətdir
bir hesabatı istifadə edərək, cəhd yoxdur kağız və bu təcrübə çalışır
bir kağız hesabatında problemləri.
Yenidən ki, nəticədə, çünki siz olacaq nə
sınavlar etmək istədi.
>> Beləliklə, bizim ilə başlanğıc edək bu gün gündəmində.
Biz bəzi normalar artıq getmək olacaq bizim hissəsində, sonra dalış olacaq
daxil Diziler, funksiyaları və command line arqumentlər olan nə uşaqlar
mühazirədə bu və ötən həftə əhatə etmişik və sonra Bazar ertəsi, və əhatə lazımdır nə
sabah daha.
Və sonra, nəhayət, biz olacaq pset2 haqqında danışmaq.
Mən əlində bir şou almaq bilər, əgər problem set iki baxdı yoxdur
dəqiqləşdirilməsi.
Biz hər kəs demək lazımdır.
Pop.
>> Biz bir az problem dəsti haqqında danışmaq lazımdır ancaq problem set oxumaq
dəqiqləşdirilməsi, var Siz lazım olan bütün.
Siz gəlmək əvvəl oxumaq Əgər Çərşənbə axşamı sinif və bölmə, siz
böyük bir mövqe ola bilər.
Biz problem dəsti ilə getmək olar Hansı olacaq nə
sonunda ediləcək.
Biz keçmək olacaq məntiqi, əmin olun
hamı eyni səhifədə.
>> Mən sizə çərşənbə axşamı tərk etmək istəyirəm nə çox rahat hiss
, bu həftə problem set üçün nə etmək lazımdır Əgər deyilsə, mən məsud olacaq
sonra qalmaq və sizinlə işləyirik.
Amma ki, ki, bir şeydir ancaq hesab edirəm ki, həqiqətən ağıllı olacaq
yalnız problem set oxumaq Çərşənbə axşamı sinif dəqiqləşdirilməsi,
bir kimi səslənir ki, uşaqlar çox idi.
>> Mən hər bir kateqoriyasının gündəliyi ilə başlamaq lazımdır belə ki, biz gedirik olduğunuz bilirik.
Bu da seyr insanlar üçün faydalıdır online çünki her bölüm
gəlmək istəyirəm əgər rəngi, kodlaşdırılmış olunur geri və yalnız deyil 10 dəqiqə baxmaq
bütün 90 dəqiqəlik hissədə çox, siz yalnız rəng kodlu bölməsinə bilərsiniz
və bir hissəsi oldu.
Beləliklə, mən gözəl onları parçalamaq üçün denedim sizə imkan verir ki, modullar -
siz geri gəlmək və nəzərdən istəyirsinizsə və ya digər tələbələr yalnız olan
nəzərdən keçirmək üçün bir bölüm seyr -
xüsusi şey tapmaq üçün onlar diqqət yetirmək istəyirəm
və haqqında daha ətraflı məlumat.
Sweet.
>> Normalar.
Mən kampus bir fop lider edirəm.
Heç kimə fop əgər mən bilmirəm.
Heç kimə fop mi?
Bir nəfər fop etdi.
Iki nəfər fop etdi.
Awesome.
Belə ki, fop Outdoor birinci il Orientation proqramı.
Biz meşə daxil birinci kurs almaq və etmək ən sehrli təcrübə
Uşaqları onların həyatına, doğru?
Bəli.
Hüququ haqqında səslənir.
>> Beləliklə, mən yalnız bizim çox ilk başlamaq istəyirdi bəzi normalar müzakirə etməklə bölmə
sinif və əlaqələr Mən hesab edirəm, çünki
onlar çox əhəmiyyətli istəyirik.
İlk növbədə, sizin kimi olan mənim bölmə aldı və var
ki, müzakirə edilmişdir e-poçt, mən bu sevgi.
Bu il mənim sevimli hissəsidir.
Mən heyecan oldum.
Mən bu gün saat burada etdik.
Mən istisna olmaqla, bu binadan ayrıldı yoxdur Mən CS50 bölmə sevirəm çünki yemək getmək, mən
tədris sevirəm, iş sevgi Siz uşaqlar ilə.
>> Mənim ən yüksək prioritetlərimizdən biri, əgər mənim bir nömrəli prioritet üçün yalnız
lakin digər, o cümlədən bu sinif sinifləri və extracurriculars etməkdir
uşaqlar dəstək və sizin uşaqlar kömək və əmin etmək üçün əlimdən gələni
uşaqlar bir məhsuldar, əyləncə, gözəl var məşğul, maraqlı
Bu sinif təcrübəsi.
Mən sadiq alıram budur.
Mən bunu sevirəm səbəbdən.
Ki, mənim bir nömrəli şey uşaqlar dəstəklənməsi.
Siz mühazirə bağlı hər hansı bir sualınız varsa, problem dəsti, bölmə,
həyat, siz haqqında danışmaq istəyirəm, hətta həyat, həyata nail olmaq üçün çekinmeyin.
>> Siz mobil telefon nömrəsi var siz mənim e-poçt
ünvanı, mənim GChat var.
Siz hər hansı və ya bütün mənə müraciət edə bilərsiniz yəqin ki, almaq deyil zaman, ancaq o
bir cavab zaman.
Mən cəhd və 24 saat ərzində geri almaq.
Oftentimes bu daxilində olacaq 20 dəqiqə və ya 24 dəqiqə.
Mən demişəm ki, lazım bu paralel etmək.
Amma bir cavab olacaq olduqca tez.
>> Siz əvvəl mənə bir saat mətn edin problem set görə, mən sizə sakit olacaq
aşağı və dərin nəfəs təlimlər edə siz, ancaq başlamışdır əgər,
yəqin ki, başa çatdırmaq üçün gedir və deyilik Mən, həqiqətən, orada sizə kömək edə bilməz
Mən yaxşı çalışacağıq olsa belə.
Beləliklə, mən hər şeyi edəcəyik Mən sizə dəstək ola bilər.
Olub çatmaq üçün çekinmeyin o Office saat, təkrar bölmə var
siz məni görmək, və ya hətta kənarda varsa.
Mən görüşmək üçün vaxt təyin etmək üçün sevindim problemləri və iş
və ya material üzərində gedin.
Belə ki bir nömrəli dəstəkdir.
Mən hər şeyi edəcəyik I sizə dəstək ola bilər.
>> Sayı iki, orta görüşü.
Mən istəyirəm qədər, Ben qadir və ya bütün güclü və ya
ələmə, mən bütün bilmirəm zaman əldə nə edirəm, əgər
əgər arasında mən tədris alıram yolu mövzu siz onu öyrənmək kömək edir, və ya əgər
mövzusunda səhv amma olunur sizin əl qaldırmaq və ya mənə sual
və ya mənə bir email göndər.
Yoxsa siz yenə səhv olsa da, problem setdə bir şey haqqında.
Siz məni həyata nail deyilsə, Mən əminəm ki, bilmirəm bilər.
Mən kontrol etmək üçün əlimdən gələni edəcəyəm uşaqlar, hər şey əmin
yaxşı gedir, bir şəkildə şeyi öyrətmək üçün cəhd edin ki, ən çox səbəb olacaq
öyrənmə üslub, lakin əgər Mən nə edə bir şey varsa, Mənə bildirin.
>> Bu xətləri yanaşı, bir yardım istəyirsinizsə, problem dəsti ilə, mən daha Ben
Sizə yardım çox xoşbəxt problem dəsti ilə.
Biz bir çox olacaq ki, ikinci doğru
Bu bölmənin yarısı.
Amma problem oxumaq əgər müəyyən edir geri gedərək izləyib yoxdur
ki, şort vasitəsilə Baxılmış deyil və mənə öyrətmək gözləyir
videotaped edilmişdir ki, hər şey online və ya CS50 da tapa bilərsiniz ki,
öyrənilməsi, ki, həqiqətən ədalətli deyil mənə və ya digər həmyaşıdları ilə.
>> Belə ki, xahiş edirik, mən kömək etmək üçün daha çox xoşbəxtəm siz, ancaq uşaqlar mənimlə görüşmək var
orta.
Biz resursları ton CS50 mövcud siz.
Mən bəziləri qeyd etdi.
Onlardan istifadə edin.
Siz səhv edirsinizsə, mən çox xoşbəxt oldum siz onlara izah kömək
başqa bir yol, lakin bu ədalətli deyil əgər tələbələr, ofis saat göstərilir
bir başlayan və bu deyil Cümə axşamı gecə və onlar bekliyorsanız
hər bir vasitəsilə gəzmək üçün TF problemin şey görə müəyyən
günorta növbəti gün.
Mənada etmək?
Yenə ortada bizə cavab edin.
>> Və nəhayət, yüksək ümidlər.
Mən kim grading hamı olmaq gidiyorum mənim bölməsində, və ya qol sizin
problem dəsti.
Siz problem geri getdi yoxdur hələ sıfır və ya bir seçin.
Biz bu barədə üzr istəyirik.
Bu nəhayət biraz götürdü bölmələr həll və indi
biz grading başlaya bilərsiniz.
>> Mən sizə geri almaq lazımdır mümkün qədər tez.
Bu mənim bəzi orada advisees.
Mən sizə geri almaq lazımdır mümkün qədər tez.
Və problem set iki, biz olacaq cədvəli və biz onları əldə başlarsınız
Siz olduqca tez sonra Əgər siz onları da öz növbəsində
>> Siz problem geri qurmaq almaq zaman, sizdən bildiyiniz kimi, puanları əldə edəcək
düzgün, - proqramları oxu dizayn, əhatə dairəsi və stil puanları.
Siz həmçinin şərh almaq lazımdır.
Şərh daha vacibdir puanları daha.
Hesab edirəm ki, ki, güvenli edirəm.
>> Scores yalnız bir sıra bir beş.
O qədər oxumaq çətindir.
Bu həmin yaxşılaşdırılması üçün çətindir.
Amma şərh xüsusi qeyd edəcək şey yaxşı və ya sahələri etdi
Siz yaxşılaşdırılması və bəzi verə bilər gələcək və ya alternativ fikir
şeyler yolları.
>> Belə ki, xahiş edirik, xahiş edirik, oxuyun şərh vasitəsilə.
Mən daxil çox vaxt qoymaq o şərh.
Onların vasitəsilə oxumaq və yalnız etməyin aşağısındakı gidin
PDF, sizin hesab üçün baxmaq, və ya online və ignore sonra hesab tapmaq və
şərh.
Ki, siz ne deyil daha yaxşı olacaq.
Necə artırmaq olacaq deyil ki, Sizin puanları nəticədə, yalnız
puanları baxaraq.
Həmin qeydlərə baxın.
>> Və yüksək gözləntilərini xəttində, yenə dedim kimi,
beş vasitəsilə bir qol bilər.
Ikilər, üçlər, və dörd ayaq da var puanları əksəriyyəti
Siz əldə etmək olacaq.
Olanları və beşbir həm də həqiqətən nadirdir.
Şeylər həmişə var biz daha yaxşı edə bilərsiniz.
Mən proqram kodu zaman var həmişə bir şey mən
daha yaxşı edə bilərdi.
>> Belə ki, yerine beş almaq deyərkən bütün hər şey zaman ve etdi
mükəmməl hər şey, mən heç düşünmürəm Bizi həqiqətən inanıram ki, biz - və ya
Ümid edirəm ki, biz hər şeyi yoxdur her zaman mükəmməldir.
Belə ki, narahat olmayın, əgər Beş əldə etməyib.
A beş A üzərində dörd xəritəsi yoxdur üç edir, bir B üzərinə xəritəsi deyil
deyil Bu C. üzərində deyil xəritəsi necə puanları çalışır.
>> David dəfələrlə bildirib var kimi semestr sonuna puanları bütün və
, sizin TF, mənə daxil araya gəlib və sizin üçün yekun dərəcəli müəyyən edir.
Ancaq yenə də, bu, beş deyil A, dörd, B, et Cetera.
Beləliklə, mən yüksək gözləntilər var gidiyorum uşaqlar üçün.
Yaxşı problem gözləmək gidiyorum dəsti və mən verəcəyəm
kimi siz Əlaqə.
Və bu sen demək niyyətində deyil pis dərəcəli olacaq.
Siz baxımından səviyyələrə ayrılır həftə sizin tərəqqi
Əlbəttə sonuna sıfır.
>> Və nəhayət, yüksək baxımından zaman sinif gözləntilər, mən sevirəm
nəfər iştirak edirlər.
Mən bəzi insanlar daha çox hiss və ya anlamaq iştirak az rahat.
Digər insanların iştirak edir əl artırılması və olmayan
hər zaman danışır.
Amma bu sinif biz olacaq kiçik problemlər bir çox işlər
mini suallar və sonra bəzi problemlər kodlaşdırma böyük.
Belə ki, mütləq həyata bu təlimlər iş biz sizin kompüter və ya onları nə zaman
kağız bir hesabatı.
>> Amma mən də əvvəl bir müddət verəcəyik Heç kimə heç bir cavab var
sualları soruşmaq.
Mən bir müddət verəcək Beləliklə, çünki biz gedirik, çünki bu barədə düşünmək
bəzən tərəfdaşları şeyə, Mən hamı edəcəklər
qədər məşğul ola bilər.
Və daha yaxşı bir müddət olmaması üçün, yəqin ki, soyuq zəng olacaq
hamı bir şans olacaq edir cavab haqqında hesab edirəm ki, və sonra
Mən sizə zəng və sonra edəcəyik Siz cavab demək lazımdır.
>> Narahat olmayın və ya bu barədə qorxuram.
Mən keçmişdə bunu etdik və gördük ki, çox daha müvəffəqiyyətli var
də bu barədə təhsil araşdırma oxumaq bir idi və ya müəyyən
yaxşı taktika.
Bu, çox faydalı xüsusilə əgər siz tələbələr haqqında düşünmək üçün vaxt vermək
cavab və onlara, yalnız gəlmək etməyin həyata hüququ yarasa off demək və.
Amma rahat hiss yoxsa cavab, mən də olduqca yaxşı Ben
ki algılama və biz fikrində deyilik Xüsusilə, yerində, sizi
kamera olsa da heç biri Siz indi kamera var.
>> Belə ki, bu mən var normaları var.
Xətləri boyunca daha bir şey ortada görüş.
Mən sizə uşaqlar vermək gidiyorum feedback bir çox.
Mənə geribildirim həmçinin verin.
Bir web sayat.me/cs50 var.
Belə ki, bir vicdanlı rəy var.
Bölməsinə ərzində vermək istəyirsinizsə, Bu baş zaman bir e-poçt almaq.
Biz bir az bir fasilə etmək lazımdır, belə ki, lazımdır sonra geribildirim vasitəsilə baxmaq.
Əgər hər hansı bir geribildiriminiz varsa, orada mənə verin.
>> Siz məni ki, Q cavab verir, əgər gözəl, lakin guide
Əgər sonunda ki.
Amma ki, dövr sonunda olacaq Hesab edirəm ki, hər hansı edə bilməyəcək
Əlaqə və tədris çevrilsin daha yaxşı uşaqlar.
Əgər varsa, xahiş edirik Əlaqə mənə ver.
Mən rəy sevirəm.
Fop geri, biz geri bildirim almaq bütün vaxt, zaman.
>> Siz mənə müsbət, yaxşı şeylər verə bilər deltalar, mən sonra inkişaf edə bilər şeylər.
Siz mənim kıyafetlerinize şərh edə bilər.
Kimi faydalı ola bilər, lakin siz deyilsiniz ki, xoş hər hansı bir şərh və
hər şey.
Xahiş edirik, mənə geribildirim edin.
Mən bunu çox qiymətləndirirəm və bu mənə bir çox deməkdir.
>> Daha bir norma, fun.
Biz fun bir çox olacaq.
Ümid edirəm bu kurs, will fun bir çox var.
Biz bölməsində konfet olacaq.
Biz musiqi olacaq.
Biz inşallah bir bilmək əldə olunacaq başqa qədər yaxşı, mən istəyirəm
Bu fun, cəlb təcrübə olmalıdır.
>> Mən bilirəm, siz bəzi asleep düşmüşdür Daha əvvəl bu gün idi mühazirələr,
Beləliklə, ümid edirəm ki, olacaq indi hal ola bilər.
Və indi halda, yalnız xorultu deyil ki, bilər, çünki
kamera tutuldu bilər.
Sweet.
Hər hansı bir sualınız, şərh və ya narahatlıqlar Mən bir şey haqqında hərəkət əvvəl var
haqqında danışdı?
Böyük.
>> Beləliklə, biz getmək olacaq ilk Diziler daxil.
Bu bir sıra etmək necə.
Biz əvvəl bu gördük.
Siz data type var, siz var adı, və sonra bir ölçüsü var.
Burada, mən iki Diziler yaradır.
Birinci, simvol bir sıra edir və 26 fəzalarında var.
İkinci bir sıra edir skorlari, və üç var
üç integers üçün fəzalarında.
Bəli?
>> TƏLƏBƏ: Bu slaydlar bütün bizim üçün bir yerdə mövcud?
>> JASON HIRSCHHORN: Böyük sual.
Sual idi, bütün var bu mövcud slaydlar?
Bəli.
Bu slaydlar Bütün mümkün olacaq və gələcəkdə, mən onlara e-poçt göndereceğiz
bölməsinə əvvəl.
Amma bu gün bu ilk, çünki həftə, gec başlamasına idi.
Belə ki, adətən, bu slaydlar almaq, ancaq lazımdır onlar mövcud online və olacaq
Mən onları sizə e-poçt göndereceğiz class sonra hüququ.
Başqa bir sualınız?
>> Belə ki, yenə Diziler olmaması üçün, qutular var çox keçirilməsi daha yaxşı bir söz,
bir veri növü elementləri və onlar istəyirik yaddaşında bir-birinə yanında.
Necə edə bilər və belə yenidən, bu iki növ serialları edir.
>> Sizin array etdik Belə ki, sonra ilk line - int skorlari, bracket
üç, yaxın bracket - siz onu başlamaq istəyirəm.
Siz orada bəzi dəyərləri qoymaq istəyirik.
Və bu bəzi dəyərlər qoymaq necə , yalnız orada Indice seçilməsi və
sayı yazılı.
Gəlin board bu cəlb edir.
Hər kəs edə bilərsiniz?
Hamı bilərsiniz.
Sweet.
>> Belə ki, mənim olacaq array Scores çağırıb.
Gördüyünüz kimi, bu, ölçüsü üç var.
Orada üç qutuları var.
Hər biri uyğun nə data type növü?
>> TƏLƏBƏ: Tamsayı.
>> JASON HIRSCHHORN: Bir tam bu bir.
Biz int skorlari, və ilk sözü yazdı olacaq ki, məlumat növü
ki, sıra qutuları gedir.
Beləliklə, mən üç yararlı ola bilər.
Niyə sıfır qədər var orada şurası?
Nə üçün hesab sıfır 1 bərabərdir deyir?
Adınızın mənə xatırlatmaq.
>> TƏLƏBƏ: Kurt.
>> JASON HIRSCHHORN: Kurt.
>> TƏLƏBƏ: Bəli.
>> JASON HIRSCHHORN: Niyə?
>> TƏLƏBƏ: Birinci index Çünki sıfır, biz sıfır hesablanması başlanır.
>> JASON HIRSCHHORN: Beləliklə, biz başlamaq sıfır hesablanması.
Bu doğru deyil.
Bu confusing iştirak edəcək səfər Siz, sen xüsusilə
diziler vasitəsilə təkrarlamaq üçün çalışır, Hansı bir az edəcəyik.
Biz sıfır hesablanması başlanır.
Mən ilk müraciət etmək istəyirəm əgər qutusu, o qutusu bir deyil.
Təəssüf ki, qutusu sıfır var.
İkinci bir qutu biridir və bu halda, üçüncü bir qutu iki.
>> Nə qutusu üç?
Qutusu üç haradadır?
Və ya skorlari, bracket etmək istəyirsinizsə üç, yaxın bracket ki, nə var?
Belə ki null xarakter dediniz.
Hansı digər fikir?
Hesab bracket üç bracket nədir?
>> TƏLƏBƏ: Bu, həqiqətən mövcud deyil, çünki Siz yalnız puanları kimi müəyyən
bracket üç.
>> JASON HIRSCHHORN: Yəni deyirsiniz həqiqətən mövcud deyil.
Bəzi hallarda, zaman ilə məşğul olduğunuz strings, ümumiyyətlə, biz null qoymaq lazımdır
sonunda xarakter.
Biz ikinci olduğu almaq lazımdır.
Amma bu halda var heç bir üçüncü qutusu burada.
Belə ki, hər hansı bir sıra son qutusu ölçüsü mənfi 1-dir.
Biz ölçüsü n bir sıra var Əgər belədirsə, İlk qutusu sıfır olduğu, son biridir
n minus 1.
Və bu halda, o, mövcud deyil.
Burada bir şey var yaddaş lakin bizim deyil.
Biz bunu malik deyil.
Biz bunun üçün xahiş etməyib.
Biz daxil olmaq üçün cəhd əgər, hansı rəftar bir az, biz yəqin ki, olacaq
ilişmək.
>> Bu halda, mən başlatılıyor alıram üç dəyişənlərin array.
Biz iki qutu sıfır bir bir qoyaraq edirik kutusunu bir, qutu iki üç.
Heç kimə hər hansı bir sualınız varmı bir sıra başlatılıyor haqqında?
>> Beləliklə, biz indi bu artıq getdi.
Skorlari, bracket üç yaxın bracket, ki, mövcud deyil.
Biz sıfır, kompüter elmi indexed edirik belə ki, biz sıfır hesablanması başlanır.
Bizə mövcud son qutusu, o üçüncü qutusu, lakin o qutusu deyirlər
iki nömrə.
>> Aşağı, bu alternativ Diziler başlatılıyor yolu.
Belə ki, əvəzinə bir serialın yaradılması xətti, ilk qutusu doldurulması, sonra
İkinci qutusu, sonra üçüncü qutusu, bir line bütün edə bilərsiniz.
Belə ki line, həm də Diziler.
Bu eyni dəqiq array yaradır Biz burada yaradılmış, lakin nə
yalnız bir xətt bunu edir.
>> İndi bizim array yaratmışdır.
Adətən bir dəfə, bir sıra yaratmaq olub, bu bir şey etmək istəyirəm
doldurun və ya onun bir şeyi həyata almaq ki, və onlara ekranda çap.
Bu halda, biz vasitəsilə olacaq bizim biz başlatılmış olan puanları dizi,
qədər burada boz ilk xətti.
Və sonra ikinci xətt, biz başlamaq serialın vasitəsilə iterating.
Heç kim haqqında hər hansı bir sualınız varmı loop üçün bir strukturu?
>> Belə ki, bu loop üçün.
Biz ilkin vəziyyəti var və sonra sonra son vəziyyət və biz
, i, hər bir loop təkrarlamaq.
Və bu ildə buruq aşırma ilə loop, mən çalıştırmak üçün, əgər nə olur
bu proqram?
Heç kim əldə edirik ki, nə mənə deyə bilərsiniz?
[? Matu? ?]
>> MATU: bütün puanları Çap hər on line.
Hər hesab çap olardı ayrı bir on line.
>> JASON HIRSCHHORN: dəqiq nə çap istəyirsiniz?
>> TƏLƏBƏ: Bu, bir çap ki, sonra iki, sonra üç.
>> JASON HIRSCHHORN: Eynilə elə.
Bu, sonra bir, iki, çap ki, üç ayrı-ayrı xətləri hər, çünki
biz array vasitəsilə olacaq və will ki, printf ki, ikinci bax
Şərhdə, puanları i.
Belə ki, bizim vasitəsilə ilk turun loop, i sıfra bərabər, hansı istəyirik deməkdir
hesab sıfır dəyəri əldə -
ki, biz geri əgər bizim diaqram, biridir -
və doldurma -
oh, c qoyur.
Bu% d olmalıdır.
Mən bir az düzeltmek edəcək Mən əl uşaqlar üçün.
Amma biz tam təqdim edirik ki, belə burada% d olmalıdır,% c deyil.
Üçün% c nədir?
>> TƏLƏBƏ: Character.
>> JASON HIRSCHHORN: Character, dəqiq.
Digəri nədir?
Bir üçün% d etmək istəmirsinizsə tam, başqa nə edə bilər?
>> TƏLƏBƏ: i.
>> JASON HIRSCHHORN: dəqiq% i.
Belə iterating haqqında suallarınız serialın vasitəsilə?
Bunu etsəniz nə olar?
Əvəzində etdiyini i azdır üç, biz az yoxdur
çox və ya üç bərabərdir.
Biz bu kodu run ne olur?
Bəli, Annie?
>> TƏLƏBƏ: Onlar çap olacaq dördüncü line qəribə stuff.
>> JASON HIRSCHHORN: Beləliklə, qeyd etdi ki, haqqında qəribə stuff çap etmək niyyətindədir
dördüncü xətt?
Heç kimə bir cavab yoxdur onun sualına?
Belə ki, bahis ki, zaman biz almaq -
belə ki, dördüncü turda bizim üçün yolu loop, yalnız Annie, siz fikir kimi,
o puanları bracket üç olacaq biz artıq deyil fiqurlu etdik
mövcuddur və biz cəhd olacaq və daxil çap
həyata, bəzi yol istifadə edin.
Kompüter yəqin ki, belə bizə dəli almaq.
Siz doğru edirik.
>> Bu tamamilə proqramı çıxın bilər.
Bu bir şey çap bilər həqiqətən qəribə.
Siz əmin deyə bilmərəm.
Oran ona da yəqin ki, dəli almaq lazımdır siz və sağ üz çıxın.
>> Amma bu lazımdır ortaq səhv sizə biri yalnız off olduğunuz
sonu və bu olacaq ki, bir səhv edir Sizin coding ərzində siz taun.
Mən istəyirəm bir yolu yalnız bir deyil tahta, hər bir iteration keçmək
görmək tərəfdən və ya kağız üzərində loop nə sonra baş verən və var
ümumiyyətlə həyata, oh gözləyin, mən olmalıdır çox və ya az getdi
üç bərabərdir.
Mən ki, iki dayandırılıb olmalıdır Sizin vəziyyəti az olduğu halda nə olur
üç.
Hər hansı sual indiyə qədər?
Sweet.
>> Beləliklə, siz bütün kompüter açıq var.
Biz sizə olacaq iki üç dəqiqə bir proqram yazmaq üçün
ki, integers bir ilə bir sıra yaradır beş və hər bir çap vasitəsilə
yeni xətt üzərində tam.
Və hər hansı bir sualınız varsa, əl qaldırmaq.
Mən gəlmək sevindim.
Dediyim kimi, üç qoy dəqiqə bu yazmaq.
Mən getmək əgər hər kəs OK Yeni pəncərə və bu yaxın?
>> Bir şans idi yoxdur, əgər Üzgünüm başa çatdırmaq üçün, amma biz bunu olacaq
birlikdə indi.
Belə up ekranda, I # daxildir ki, cs50.h # stdio.h daxildir.
Kimsə mənə nə deyə bilərsiniz bu iki xətləri nə?
Michael?
>> TƏLƏBƏ: Onlar kitabxana daxildir CS50 etdi və Steve var ki,
sizə istifadə üçün saxlanılır sizin həyat daha asan.
>> JASON HIRSCHHORN: Beləliklə, siz söylədi kitabxanalar, bir daxil CS50
etdi cs50.h, və bir yalnız standart ilə gəlir
C paketi stdio.h.
Siz daxil nə deməkdir kitabxanalar, necə?
Siz bir az daha spesifik ola bilərmi?
>> TƏLƏBƏ: Bu belə ki edir var bəzi kodu sözlər, istifadə
getmək olmadan baş fəaliyyət və funksiya c özünüz olun.
>> JASON HIRSCHHORN: Siz Can mənə misal vermək?
>> TƏLƏBƏ: printf Like istifadə edə bilərsiniz biridir.
>> JASON HIRSCHHORN: Printf.
Belə ki, printf biri olduğunu ifadə edərək, olan daha çox olduğu funksiyaları
öz printf yazmaq, printf edir stdio.h ilə faktiki daxil, belə ki,
yalnız istifadə və kəsb edə bilər bu iş olacaq.
Stdio.h, siz həmin faylı açıldı halda, daxil necə printf
işləri, printf üçün bütün kodu?
Niyə sizin baş silkələmək olunur?
>> TƏLƏBƏ: Çünki header fayl yalnız funksiyası bəyannamə daxildir.
>> JASON HIRSCHHORN: Məhz hüququ.
Başlığı fayl yalnız daxildir funksiyası Bəyannamə.
Belə ki, əsasən, siz bu tərtib edərkən biz nə edəcəyik ki, sayı, olun edib
İkincisi, compiler bilir ki, əgər siz printf istifadə, printf var.
Bu haradasa müəyyən olacaq.
Bu istifadə üçün bir problem deyil.
Və sonra sonra, bu, daxil olacaq həqiqətən olan olanları və adet sıfır
printf icrası və Sizin kodu ilə onlara daxil.
Əgər əmin necə edə bilərəm ki, bu da daxildir , demək üçün olanları və adet sıfır string almaq?
>> TƏLƏBƏ: string alın cs50.h. edir
>> JASON HIRSCHHORN: Sağ.
, Simli var almaq deyir ki, funksiyası Bəyannamə.
Amma sonra olanları və adet sıfır, ikili əslində daxildir fayl
get simli həyata?
Siz əmin necə edə bilərəm Proqram ilə gedir?
>> TƏLƏBƏ: ildə linker keçmək command line argument.
>> JASON HIRSCHHORN: The linker keçmək command line dəlilinin.
Necə ki etməliyəm?
>> TƏLƏBƏ: Bu cingilti ildə-l xətt var
>> JASON HIRSCHHORN: Məhz hüququ.
Siz sağ, cs50-l demək?
Bu olanları və adet sıfır daxildir.
>> TƏLƏBƏ: Amma edir ki, sizin üçün, sağ?
>> JASON HIRSCHHORN: Eynilə elə.
Olun sizin üçün ki,, lakin nəhayət, siz olun və ya yoxdur
Bir yarat lazımdır öz, bir var ki,
yaxşı bir şey unutmayın.
Bu bir istifadə etmək niyyətində olsaydı digər kitabxanalara, siz var nəinki
# yazmaq üçün daxil sonra kitabxana.
Ayrıca da link lazımdır
Və bu iki şey fərqlidir. -L cs50 fərqlidir
# cs50.h. daxildir çox
>> Sonra biz int əsas etibarsız buruq aşırma var və indi kodu olacaq
əsas daxilində.
Mən burada birinci Şərh edir deyir ki, bir sıra yaratmaq
ints bir beş edir.
Nə təsvir etmək üçün yaxşı bir söz nədir yalnız ekranda sağ indi
əsas daxilində yorumlar?
Biz nə zəng edirsiniz?
>> TƏLƏBƏ: pseudocode.
>> JASON HIRSCHHORN: pseudocode.
Jeffrey təşəkkür edirik.
Bu doğru deyil.
Pseudocode.
Uşaqlar əvvəl pseudocode gördünmü?
Əgər istifadə etdiyiniz halda əl qaldırmaq problem əvvəl pseudocode bir seçin.
Siz təxminən yarısı.
>> Mən istifadə məsləhətdir problemləri qırmaq pseudocode
ədəd yemək daha kiçik, daha asan.
Ayrıca, pseudocode Əgər, Artıq əsasən sizin şərh
inşa, belə ki, yoxdur geri getmək və şekillendirmek üçün cəhd
sizə nə etdiklərinizi.
Belə ki, kimsə mənə bu ilk line verə bilər ints bir ilə bir sıra yaratmaq üçün
Beş vasitəsilə?
Siz?
>> Şagird: Int və sonra zəng edə bilərsiniz sonra nə sayı, və kvadrat
bracket beş.
>> JASON HIRSCHHORN: Bu int nömrələri, kvadrat mötərizə beş.
>> Şagird: Bərabər və sonra buruq aşırma.
>> JASON HIRSCHHORN: Bərabər, buruq aşırma.
>> Şagird: Bir, iki, üç, dörd.
>> JASON HIRSCHHORN: Bir, iki, üç, dörd, beş.
>> Sonra buruq aşırma: TƏLƏBƏ və sonra nöqtəli vergül.
>> JASON HIRSCHHORN: Və buruq aşırma və nöqtəli vergül.
Əla.
Yeni xətt hər int çap.
Başqası verə bilər Mənə kodu, xahiş edirik?
[? Matu? ?]
Qabaqda gedin.
>> TƏLƏBƏ üçün: (
>> JASON HIRSCHHORN üçün: (
>> TƏLƏBƏ: Int i = 0
>> JASON HIRSCHHORN: int i = 0
>> TƏLƏBƏ: nöqtəli vergül i az beş.
>> JASON HIRSCHHORN: nöqtəli vergül, 5 i azdır.
>> TƏLƏBƏ: nöqtəli vergül, i + +.
>> JASON HIRSCHHORN: nöqtəli vergül, i + +.
>> TƏLƏBƏ: Bağlı parantez, sonra açıq burğu.
>> JASON HIRSCHHORN: Bağlı parantez və iki aşırma.
Ki, aşırma Inside?
>> TƏLƏBƏ: Və sonra printf "% d / n"
>> JASON HIRSCHHORN: Bağışlayın, ancaq, haqqında saxlayın.
Printf "% d / n, qapalı quote.
>> TƏLƏBƏ: Və sonra qapalı teklif, vergül, sayı, bracket i.
>> JASON HIRSCHHORN: Virgülle, sayı, bracket i.
>> Şagird: Bağışlayın, ədəd bracket i.
>> JASON HIRSCHHORN: Nömrələr, bracket i.
>> TƏLƏBƏ: Üzr istəyirik.
Və sonra, parantez bağlıdır nöqtəli vergül.
>> JASON HIRSCHHORN: Bağlı parantez, nöqtəli vergül.
Hesab edirəm ki, saxlamaq üçün gedirəm.
Biz count etmək olacaq.
Və necə count var?
>> TƏLƏBƏ: Backslash.
>> TƏLƏBƏ: Dot irəli zərbə -
>> JASON HIRSCHHORN:. / Dəqiq saymaq.
Təşəkkür edirik. . / Saymaq.
Bir, iki, üç, dörd, Yeni Məhsullar beş.
Bu işləmişdir kimi görünür.
Bəli, Nuh?
>> TƏLƏBƏ: Siz də daha az və ya edə bilər dörd bərabər, kimi i azdır
və ya dörd bərabər?
Az bunu hər hansı bir üstünlük var daha beş və ya yalnız bir fərqli şəkildə
yazılı?
>> JASON HIRSCHHORN: Belə ki, sual edir edə bilərdi i az və ya
dörd əvəzinə bərabər i az beş edir.
Eyni işləmiş istəyirsiniz?
>> TƏLƏBƏ: Bu olmalıdır.
>> JASON HIRSCHHORN: Bəli.
Bu, tamamilə eyni iş olardı.
Stylistically, o, nisbətən az var və bir ikinci görürsünüz
biz bir şey strings istifadə edə bilərsiniz yoxdur gezdiğiniz ki, strlen adlı
əvvəl uzunluğu almaq üçün simli edir.
Və az edə bilməz və ya strlen bərabərdir.
Siz daha az və ya edə bilər strlen minus bir bərabərdir.
Belə ki, yalnız gözəl var strlen az yoxdur.
Bəli?
>> TƏLƏBƏ: Və faktiki ilə sınavlar, nə biz üzrə rəy vermək üçün
kod həmçinin?
>> JASON HIRSCHHORN: Cavab sınavlar, siz çıxıb
rəy vermək lazımdır?
Beləliklə, biz zaman sınavlar haqqında daha çox danışmaq lazımdır Onlar gəlib, amma ümumiyyətlə yaxşı bir
sen zaman thumb qayda kod yazı, şərh və təmin edir.
Yanlış kodu ancaq almaq əgər sağ şərh, bəzi almaq bilər
kredit mən sınıflandırma mənə həm əgər bir problem set və ya viktorina siz.
Belə şərh həmişə təmin etmək üçün yaxşı.
Sweet.
Sayı.
Əla iş.
Üzrə hərəkət edək.
>> Strings.
Strings.
Biz mühazirə əvvəl bu gördük.
Bu, mənim mind blew zaman ilk bu aşkar.
Yəqin ki, şəxsin zərbə vermədi Burada ağla, lakin OK.
>> Strings simvol Diziler və Əgər əvvəllər dediyi kimi, sona
null Terminator, hansı Bu / 0 karakter.
Biz bir simli çəkmək üçün davam edirsinizsə board, biz bura onu üzərində çəkmək lazımdır.
Beləliklə, bu simli necə uzun?
Bağışlayın.
Bu simli necə uzun?
>> TƏLƏBƏ: [işitilemez].
>> JASON HIRSCHHORN: Four?
Nə dörd?
>> TƏLƏBƏ: Çünki beşinci spot null xarakter üçün.
>> JASON HIRSCHHORN: Belə ki, beşinci spot null xarakter üçün.
Mən strlen çalıştırmak üçün idi əgər Bu, mənə dörd verəcək.
Düzəldirik.
Və dizi, baxmayaraq ki, mən idi əgər Bu array başlamaq, nə qədər fəzalarında
Mən soruşmaq lazımdır ki?
>> TƏLƏBƏ: Five.
>> JASON HIRSCHHORN: Five.
Mən beş soruşmaq lazımdır, lakin mən yalnız burada dörd simvol qoymaq
Hesab edirəm ki, null qoymaq lazımdır, çünki sonunda terminator.
Beləliklə, biz "ohai" yazmaq gedən və olduğunuz sonunda olan null terminator qoydu.
Biz bu simli demək lazımdır bu bərabərdir.
S bracket sıfır nədir?
s bracket sıfır, Annie?
>> TƏLƏBƏ: O.
>> JASON HIRSCHHORN: O, dəqiq. s bracket bir?
s bracket beş?
>> TƏLƏBƏ: yoxdur.
>> JASON HIRSCHHORN: yoxdur.
Məhz hüququ.
Sərin.
Anlaşma haqqında suallarınız simvol Diziler kimi strings?
OK, sonra.
Sizə uşaqlar üçün daha bir proqram.
Istifadəçi soruşur ki, bir proqram yazmaq bir simli üçün hər bir çap
Yeni line xarakter.
Elə yazmaq üçün üç dəqiqə qoy Bu proqram, sonra biz bunu kod edəcəyik
bir qrup kimi.
>> Bağışlayın.
Bu görmək üçün lazım mi?
>> TƏLƏBƏ: Xeyr
>> JASON HIRSCHHORN: OK.
Gəlin bu Məcəlləyə daha bir dəqiqə və ya ən azı başlamaq.
>> Belə ki, iş davam edə bilər, lakin gedirəm onun vasitəsilə davam başlamaq üçün.
Belə ki, əvvəl kimi, mən ekran var # Cs50.h, # stdio.h daxildir daxildir.
əsas etibarsız Int.
Əsas nin buruq aşırma Inside, Mən iki şərh pseudocode.
Bir istifadəçi bir simli üçün xahiş edir.
İkinci hər çap olunur Yeni line xarakter.
Anna Belə ki, mənə sual verə bilər istifadəçi bir simli üçün?
>> TƏLƏBƏ: Printf.
>> JASON HIRSCHHORN: Printf?
>> TƏLƏBƏ: Bəli.
(
>> JASON HIRSCHHORN: (
>> TƏLƏBƏ: "Mənə bir string verir.
>> JASON HIRSCHHORN: "vermək Mənə bir str - oops -
string.
>> TƏLƏBƏ: / n ") nöqtəli vergül.
>> JASON HIRSCHHORN: The string bitir qapalı parantez, nöqtəli vergül.
>> TƏLƏBƏ: Bəli.
Və sonra növbəti xətti, simli s = string almaq.
>> JASON HIRSCHHORN: Dize s = string almaq.
>> TƏLƏBƏ: Bəli.
Və sonra ()
>> JASON HIRSCHHORN: ()
>> TƏLƏBƏ: nöqtəli vergül.
>> JASON HIRSCHHORN: nöqtəli vergül.
Pop.
Mən bir string almaq üçün gedən və alıram Mən bunu nə saxlamaq gidiyorum?
Dəyişən nə deyirlər yaratdıq ki?
>> TƏLƏBƏ: Dize s.
>> JASON HIRSCHHORN: The dəyişən s axtardı.
Bu tipli simli var.
Eynilə elə.
Biz istəyirik Next şey Yazdır Yeni xəttində hər bir xarakter.
Məni kodu verə bilər?
[Işitilemez]?
Siz mənə verə bilərsinizmi?
>> TƏLƏBƏ: Emin.
>> JASON HIRSCHHORN: bunu edək.
Və təəssüf.
Mən sizə nə demək istəyirəm yoxdur doğru alınması, amma olduğunuz
belə ki, bu təkrar etmək lazımdır ki, onlar Bu kopya, onlar bütün əldə edə bilərsiniz
ki, transcriptions üzrə mətn edir.
Belə ki, yalnız söhbət edə bilərsiniz.
Təəssüf ki, mən Siz artıq demək.
Üzgünüm, ancaq -
>> TƏLƏBƏ: Bu gözəl var.
Int i = 0
>> JASON HIRSCHHORN: int i = 0
>> TƏLƏBƏ: I-dən az -
>> JASON HIRSCHHORN: nöqtəli vergül.
>> TƏLƏBƏ: Bu əvvəl, biz qoya bilər dəyişən siz int adı uzunluğu almaq?
>> JASON HIRSCHHORN: Oh, siz yox ki, nöqtəli vergül qoymaq istəyirsiniz?
OK.
Beləliklə, nə siz sıfır sonra nə istəyirsiniz?
>> Şagird: Mən almaq istəyirəm simli s uzunluğu
dəyişən ki, müəyyən?
>> JASON HIRSCHHORN: OK, belə necə ki etməliyəm?
>> TƏLƏBƏ: Beləliklə, siz int uzunluğu nə =
>> JASON HIRSCHHORN: Int uzunluğu =
>> TƏLƏBƏ: S-T-R-L-E-N.
>> JASON HIRSCHHORN: S-T-R-L-E-N -
>> Şagird: S.
Mötərizədə.
>> JASON HIRSCHHORN: (s).
>> TƏLƏBƏ: Və sonra mən sizə var iki ints arasında nöqtəli vergül qoyulur.
>> JASON HIRSCHHORN: A nöqtəli vergül sıfır sonra?
>> TƏLƏBƏ: Bəli.
Sonra sonra vergül qoymaq və Siz uzunluğu daha mən az, deyirlər.
i uzunluğu az olan dəyişən deyil.
>> TƏLƏBƏ: Və sonra nöqtəli vergül.
>> JASON HIRSCHHORN: nöqtəli vergül.
>> TƏLƏBƏ: i + +.
>> JASON HIRSCHHORN: i + +.
Bizim üçün loop var.
OK, loop üçün içəridə.
>> TƏLƏBƏ: Və sonra printf yoxdur.
>> JASON HIRSCHHORN: Printf.
>> TƏLƏBƏ: Aplikleri.
>> JASON HIRSCHHORN: Parantezler, quotes.
>> TƏLƏBƏ: Parantezler, quotes,% c / n.
>> JASON HIRSCHHORN:% c, OK.
>> TƏLƏBƏ: / n.
>> JASON HIRSCHHORN: / n.
>> TƏLƏBƏ: Bağlı quotes.
>> JASON HIRSCHHORN: Bağlı quotes.
>> TƏLƏBƏ: Virgülle.
>> JASON HIRSCHHORN: Virgülle.
>> TƏLƏBƏ: S.
>> JASON HIRSCHHORN: S.
>> Şagird: Asqı i.
>> JASON HIRSCHHORN: Asqı i.
>> TƏLƏBƏ: Və sonra bağlanıb parantez.
>> JASON HIRSCHHORN: Bağlı parantez.
>> TƏLƏBƏ: Və sonra nöqtəli vergül.
>> JASON HIRSCHHORN: nöqtəli vergül.
Pop.
Belə ki, bu xilas edək.
Sehr olun.
Oğlan Oh.
Mən səhvlər bir neçə var.
Line 11 Birinci səhv, bu deyir, ifadə gözlənilir ki, verilməsi oldu
mənə bir səhv ikinci ki, int, səhv var.
Ətrafında bəzi səhv.
Kimə nə səhv bilir?
Kurt?
>> TƏLƏBƏ: Mən ehtimal edirəm bir vergül və vergül ola bilər.
>> JASON HIRSCHHORN: OK, bir vergül əvəzinə nöqtəli vergül ilə.
Belə ki, bütün biz düzeltmek lazımdır ki?
>> TƏLƏBƏ: Xeyr
>> JASON HIRSCHHORN: What else biz düzeltmek üçün lazımdır?
>> TƏLƏBƏ: Biz string.h daxil var.
>> JASON HIRSCHHORN: include string.h.
Mən harada ki, daxil lazımdır?
>> TƏLƏBƏ: siz də daxil etdiyiniz eyni yerdə digər məhsulları, sağ
sonra stdio.h daxildir.
>> JASON HIRSCHHORN: Bu çalışır Bakalým ilk ümumiyyətlə, mən istəyirəm, çünki
run sonra ilk bir şey düzeltmek və o, sonra biz almaq hataları görmek.
Beləliklə, biz terminal aydın olacaq nəzarət n, bu yazım etmək edək.
Belə line 11 bir səhv.
Nöqtəli vergül gözlənilir.
Və mən hələ də alıram Bu xətt üzrə səhvlər.
Belə ki, mənə bildiren bir səhv verilmiş deyil strlen nə anlamır,
lakin bu məni səhvlər verir xətti, belə ki, başqa nə səhvdir?
Mark?
Marcus.
>> TƏLƏBƏ: Siz aradan qaldırılması var İkinci int bəyannamə?
>> JASON HIRSCHHORN: Sil İkinci int.
Bu cəhd edək.
İndi terminal sil.
Sehr olun.
Error.
Dolayısı kitabxana elan funksiyası strlen.
Belə ki, indi ki, səhv görürsünüz.
Biz nə daxil etmək lazımdır?
>> TƏLƏBƏ: String.h.
>> JASON HIRSCHHORN: include string.h, biz # üst string.h daxil edəcəyik
Ekranın.
Nin qazanc ki, sehr edir.
İndi tərtib.
Belə ki, yenə şeylər üçün lazım bizim üçün loop zaman line 12 unutmayın
biz, int i = 0, bu yaradılması edirik uzunluğu = strlen (s).
>> Bu fantastik strategiyasıdır.
Bunun üslubu, böyük deyil Bu dizayn böyükdür.
Biz sonra bu səbəblərə daxil edə bilərsiniz lakin yalnız zəng etmək lazımdır, bu yolla
əvəzinə hər bir bir dəfə strlen dəfə loop axır.
Lakin, bir vergül istifadə etmək lazımdır və daha int ehtiyac yoxdur.
Bu iki bəyan edirsinizsə birlikdə dəyişənlər, siz
yenidən int ehtiyac yoxdur.
Və sonra siz strlen istifadə etmək olacaq, əgər başqa kitabxana
daxil deyil fəaliyyət stdio.h ya cs50.h etmək
əmin string.h daxildir.
Kurt?
>> TƏLƏBƏ: Belə ki, sizə ehtiyac yoxdur, əgər Tipi Uzunluğu nə demək, ki, yoxdur
bir int olmalıdır deməkdir?
Siz iki müxtəlif ola bilməz orada növləri?
>> JASON HIRSCHHORN: Beləliklə, siz ola bilər iki müxtəlif növləri var.
Length baxmayaraq, burada int edir.
Bu vergül çünki Length bir int edir və sonra eyni şey.
>> TƏLƏBƏ: Yəni bu olacaq güman edir ki, ilk biri kimi eyni olmalıdır?
>> JASON HIRSCHHORN: Eynilə elə.
Biz indi bunu gedir, lakin siz deyilik haqqında iki dəyişənlərin daxil edə bilər
bir veri növü istifadə eyni xətt.
Belə ki, int x, y yaradacaq iki dəyişənlər.
Ki, etmək, əgər verir Beləliklə int x, y, Mənə bir istifadə olunmamış dəyişən x və y çünki
Biz onları istifadə etməyin.
Yalnız əvvəl Belə ki, boşluq qoyaraq xülya oyun istifadə etmədikdə
istifadə üçün bir şey.
Gördüyünüz kimi, mən x və y yaratmaq bir vergül ilə eyni xətt üzərində.
Bu iki integers yaradılması oldu hüququ var.
Yaratmaq, bəli, tamamilə mümkün Belə ki, eyni xətt üzərində iki şeyi
bir vergül ayrılmış.
Baxmayaraq, bu o xilas edək.
>> Belə ki, yazım var.
Bizim üçün kodlama üçün sizə uşaqlar edirik.
Edək ki, bir daha etmək, çalıştırın.
Mənə bir string verin.
[Işitilemez], onu ən etdi.
Simli nədir?
>> TƏLƏBƏ: Salam.
>> JASON HIRSCHHORN: Salam.
H-E-L-L-O, bir xətt üzrə hər bir xarakter.
Böyük görünür.
Nin daha run edək.
Həmişə yoxlamaq gedən künc hallarda.
Yaxşı künc halda nə yoxlamaq üçün var?
>> Şagird: Bir sıra?
>> JASON HIRSCHHORN: A nömrəsi.
Belə ki, I 1 qoymaq lazımdır və bu, 1-görüntüler.
Bu məktublar üçün xahiş, belə deyil bu nömrələr iş kimi görünür.
Yaxşı künc halda yoxlamaq.
Yaxşı bir künc nədir yoxlamaq halda?
>> TƏLƏBƏ: A boş string.
>> JASON HIRSCHHORN: Hm?
>> TƏLƏBƏ: boş string kimi.
>> JASON HIRSCHHORN: Boş string.
Belə bir şey qoymaq deyil bildirin.
Və nə çap edir?
>> TƏLƏBƏ: Heç bir şey.
>> JASON HIRSCHHORN: Heç.
Çalışır kimi görünür.
Daha çox künc hallarda çalışırıq, ancaq ola bilər ümumiyyətlə ədəd fərqli bir məlumatdır
cəhd böyük, eləcə də bir şey deyil.
Heç bir şey, sıfır, neqativ həmişə cəhd və hər şeyi böyük şeylər
test, hər şeyi əlbəttə biz test lazımdır olmalıdır və 50 test olacaq yoxlayın üçün.
Spell.c suallarınız var mı?
>> OK, geri baş edək.
Mən bir daha çox proqram var uşaqlar yazmaq üçün.
Bu students.c deyirlər.
Bu istifadəçi soruşur ki, bir proqramdır beş adları, sonra təsadüfi seçir
və adları biri görüntüler.
Bu proqram bir az daha çox biz yazdığı son iki cəlb
Belə ki, niyə biz beş dəqiqə etmirlər biz edəcəyik sonra fərdi kodunu, və
bir qrup kimi kodu.
>> Bu proqram həmçinin bəzi şeylər cəlb Siz əgər əvvəl görüldü ola bilər
Bunu necə haqqında bir sualınız var Mən sizin əl qaldırmaq, bunu.
Mən artıq gəlib və qeyd edəcəyik düzgün istiqamətdə.
Amma biz də bunu edirik bu, çünki Bəzi təqdim etmək üçün yaxşı bir yol olacaq
çətin ki, mövzular.
>> Belə ki, hüququ, işləyir?
>> TƏLƏBƏ: Bəli.
>> JASON HIRSCHHORN: bir öz növbəsində zaman etmək problem dəsti, orada bir çox yolları
, lakin bəzi daha başqalarına nisbətən zərif.
Bizə daxil dive edək
# Cs50.h. daxildir
# Stdio.h daxildir.
int main void, buruq aşırma.
Kıvırcık aşırma Inside, Mən iki şərh var.
İlk biri xahiş olunur Beş adları user.
İkinci bir təsadüfi seçin olunur və adlardan biri çap.
Belə ki, ilk bir nə edək, xahiş beş adları üçün istifadəçi.
Kim beş adları üçün istifadəçi xahiş etmişdir və necə ki bunu mənə deyə bilərsiniz?
Yalnız iki nəfər birinci hissəsi idi.
Üç adam birinci hissəsi idi.
Dörd, beş.
Tom, siz bunu necə edə bilərəm?
>> TƏLƏBƏ: Siz simli elan edirik və sonra adı, bracket beş.
>> JASON HIRSCHHORN: Dize bracket beş adı.
Bunu bu xətti, nə string adı bracket beş?
>> TƏLƏBƏ: Siz elan edirik strings bir sıra.
>> JASON HIRSCHHORN: Bu strings bir sıra.
Neçə strings gedir Burada uyğun?
>> TƏLƏBƏ: Five.
>> JASON HIRSCHHORN: Five.
Əla.
Biz bunu Adlar çünki zəng olacaq biz çox olanları almaq olacaq.
OK, sonrakı?
>> Sonra siz: TƏLƏBƏ loop üçün bir var -
>> JASON HIRSCHHORN: loop üçün.
>> Şagird: - i = 0 üçün.
>> JASON HIRSCHHORN: (int i = 0 üçün.
>> TƏLƏBƏ: nöqtəli vergül.
>> JASON HIRSCHHORN: nöqtəli vergül.
>> Şagird: Mən beş azdır.
>> JASON HIRSCHHORN: Mən beş azdır.
>> TƏLƏBƏ: nöqtəli vergül.
>> JASON HIRSCHHORN: nöqtəli vergül.
>> TƏLƏBƏ: i + +.
>> JASON HIRSCHHORN: i + +.
>> TƏLƏBƏ: Və sonra bağlanıb parantez.
>> JASON HIRSCHHORN: Bağlı parantez, və sonra bir buruq aşırma.
Kıvırcık aşırma Inside?
>> TƏLƏBƏ: Və sonra printf.
>> JASON HIRSCHHORN: Printf.
>> TƏLƏBƏ: Açıq parantez, ad% d.
>> JASON HIRSCHHORN: Üzr istəyirik?
>> TƏLƏBƏ: adı.
>> JASON HIRSCHHORN: adı.
>> TƏLƏBƏ: Və sonra yer, və sonra% d.
>> JASON HIRSCHHORN: Adı, kosmik,% d.
>> TƏLƏBƏ: Və sonra / n, sonra bağlanıb.
>> JASON HIRSCHHORN: Yəni adı, yer, % D / n, qapalı parantez.
>> TƏLƏBƏ: Virgülle, i + 1.
Üzgünüm.
Bağlı quote, sonra vergül, i +1.
>> JASON HIRSCHHORN: Bağlı quote, vergül, i +1.
>> TƏLƏBƏ: Bəli.
Və sonra növbəti line -
>> JASON HIRSCHHORN: i + 1.
>> TƏLƏBƏ: Bəli.
Və sonra növbəti slayd adları bracket İ.
>> JASON HIRSCHHORN: Next line adları bracket İ.
>> TƏLƏBƏ: = string almaq.
>> JASON HIRSCHHORN: = alın -
kapital G-E-T -
string.
Bağışlayın, üzr.
>> TƏLƏBƏ: Açıq Qapalı parantez və sonra -
>> JASON HIRSCHHORN: Açıq, paren bağladı.
>> TƏLƏBƏ: nöqtəli vergül.
>> JASON HIRSCHHORN: nöqtəli vergül.
OK, belə ki, siz array başlamaq sonra strings, adları, və keçmək
loop üçün, beş dəfə bəzi çap saxlamaq sonra istifadəçi təklif və
beş strings.
Heç kimə hər hansı varmı Bu düzəlişlər?
Tom, mən hesab edirəm hamı sizinlə razılaşır.
Olduqca yaxşı görünür.
OK.
Niyə baxmayaraq, i +1 etdiniz?
>> Şagird: Mən demək, yoxdur ola bilər, lakin bu, belə ki, i +1
adı bir beş ad.
Əks halda, bu ad olacaq dörd adını sıfır.
>> JASON HIRSCHHORN: Beləliklə, siz i +1 etdi əks halda ola bilər, çünki
dörd vasitəsilə sıfır çap çünki ki, kompüter düşünmək necə, lakin insanlar
həqiqətən kimi oxumaq deyil.
Ki, başqa bir şey deyil karşılaşacağınız bilərsiniz.
Bəzən bir şey çap zaman istifadəçi, siz onu bir etmək lazımdır
az gözəlləşir, və bunu bu halda +1 i bir
bu gözəlləşir etmək yolu.
>> Mən də beş dəfə, simli adı bax beş, mən az beş edir.
Siz beş aldığı bilirəm.
Siz mənə onu əldə Beş adlar.
Amma kodu etmək istəyirdi az daha möhkəm, bir şey biz
, int kənarda, burada yoxdur bilər Biz bu kimi bir şey ola bilər
# Müəyyən və biz ADLARI 5 edə bilər.
>> Belə ki, əsasən, yerdə mən kapital yazmaq N, kapital A, kapital M, kapital E,
kapital S ki, simli, əvəz edəcək kodu 5 ilə.
Və ya ədalətli zəng edək - biz edəcəyik yalnız zəng.
Belə ki, mən bütün caps müəyyən alıram NUMBER 5 olmalıdır.
>> Belə ki, indi mən, sayı 5 malik yerdə bütün caps NUMBER ilə əvəz edə bilərsiniz.
İndi, mən sayını dəyişmək istəyirsinizsə adları, mən nə üçün lazım olan bütün
Mən bu bir xətt, line dörd, # 5 nömrəli müəyyən 10 dəyişdirmək,
və ya 4 dəyişir.
Kodunuzu uzun olur zaman, siz deyilik bütün yerlərdə yadda gedir
sizə istəyirdim, nə qədər adları qoymaq, və bir miss sizə üçün, bu
bir şey tapmaq üçün, bunu üçün yaxşı bir yoldur sonra top və yalnız bu söz istifadə
hər yerdə kodunuzu ərzində.
Marcus?
>> Şagird: stylistically üstünlük verilir qlobal bir müəyyən daha
daimi n?
>> JASON HIRSCHHORN: Belə ki, stylistically qlobal çox üstünlük
sabit n müəyyənləşdirilməsi?
Belə ki, siz bilər deyərək edirik bunu, int sayı = 5?
>> TƏLƏBƏ: onlar samit var C və ya yoxdur?
>> JASON HIRSCHHORN: və ya İns - bərabər.
Beləliklə, siz yalnız deyərək edirik qlobal dəyişən?
>> TƏLƏBƏ: Bəli.
>> JASON HIRSCHHORN: Yəni stylistically, mütləq bir sağ var heç bir
cavab, lakin o, həm də daha yaxşı yalnız bu təsadüfi atma çox
kodunuzu ərzində nömrələri.
Biz onlara sehrli nömrələrə zəng.
Mən sizin koda baxmaq və ya zaman heç kimə onun vasitəsilə oxu, onlar
yalnız bu təsadüfi nömrələri istəmirəm mənası yoxdur ki.
Adətən Hətta sayı 26, əlifba hərflərin sayı,
bu top əlifba qədər müəyyən etmək daha yaxşıdır və ki, simli sayının 26 qazanc
anlamlı əgər.
>> - Və ya problem bir çox qurmaq Yenə bu barədə danışmaq etməyib
vaxt, lakin əvəzinə yalnız atma hər yerdə 25 və ya 10-siz
dörddəbir kimi sayı 25 və ya 10 kimi saxlamaq Dime ki, daha asan edir
kim üçün kod vasitəsilə oxu oldu siz ki sayı seçdi niyə başa düşürük.
Və sizin üçün də, heç istəyirsinizsə etmək kodunuzu yeniləmək, onu bir az edir
daha güclü.
Bəli?
>> TƏLƏBƏ: Bu kod da gedir sonra bizim üçün olmalıdır?
>> JASON HIRSCHHORN: Bu kodlar Bütün Biz birlikdə yazılı ki,
size e-məktubla olacaq uşaqlar və mövcuddur.
Bəli.
Belə ki, beş adları üçün istifadəçi xahiş edirik.
Təsadüfi seçin və çap adlardan biri.
Kim bu xətt idi?
Bu burada trickiest xəttidir.
Bağışlayın, Tom.
Siz həqiqətən yaxşı bir iş idi, lakin bu bir az trickier edir.
Marcus, davam.
>> Şagird: Yaxşı, ilk siz olacaq stdlib.h və time.h. daxil lazımdır
>> JASON HIRSCHHORN: Yəni sizə deyərək edirik üst, daha iki kitabxana daxildir.
Siz mənə S-T-D-L-I-B daxil etmək istəyirəm dot H, Standard Kitabxana və nə
biri idi?
>> TƏLƏBƏ: Time.h.
>> JASON HIRSCHHORN: # time.h. daxildir
Belə ki, bu iki kitabxana var.
Edirəm ki, biz istifadə olacaq indi güman Bu olan funksiyaları
lazım nə olan iki, daxil etmək?
>> TƏLƏBƏ: Beləliklə, birinci sen srand yazmaq üçün gedir.
>> JASON HIRSCHHORN: Srand.
>> TƏLƏBƏ: (vaxt (0)
>> JASON HIRSCHHORN: Üzr istəyirik.
Srand (vaxt (
>> TƏLƏBƏ: 0.
>> JASON HIRSCHHORN: 0.
>> TƏLƏBƏ:)), nöqtəli vergül.
>> JASON HIRSCHHORN: Another qapalı paren?
Nöqtəli vergül.
Mən yalnız əvəz etmək gidiyorum NULL ilə sıfır.
Bu, eyni şey haqqında, ancaq edəcəyik Ümumiyyətlə, siz NULL göreceksiniz
biz bu barədə danışmaq lazımdır ikinci xətti.
>> TƏLƏBƏ: Stylistically daha yaxşıdır?
>> JASON HIRSCHHORN: Ümumiyyətlə, insanlar sağ NULL, lakin eyni şey.
>> TƏLƏBƏ: Və sonra int adı.
>> JASON HIRSCHHORN: Int adı.
>> TƏLƏBƏ =
>> JASON HIRSCHHORN =
>> TƏLƏBƏ: Rand.
>> JASON HIRSCHHORN: Rand.
>> TƏLƏBƏ: ()
>> JASON HIRSCHHORN: ()
>> Şagird: modulo nömrəsi.
>> JASON HIRSCHHORN: modulo nədir?
Xarakteri?
Faiz xarakter?
>> Şagird: Yüzdə xarakter.
Siz üst müəyyən ki modulo sayı.
>> JASON HIRSCHHORN: modulo sayı.
>> TƏLƏBƏ: Və sonra nöqtəli vergül.
>> JASON HIRSCHHORN: nöqtəli vergül.
>> TƏLƏBƏ: Və sonra yeni xətt, printf.
>> JASON HIRSCHHORN: Printf.
>> TƏLƏBƏ: (
>> JASON HIRSCHHORN: (
>> TƏLƏBƏ: "
>> JASON HIRSCHHORN: "
>> TƏLƏBƏ:% s / n
>> JASON HIRSCHHORN:% s / n
>> TƏLƏBƏ: "
>> JASON HIRSCHHORN:% s / n "
>> TƏLƏBƏ: Virgülle, yer adları.
>> JASON HIRSCHHORN: Space -
>> TƏLƏBƏ: Oh, mən tapmaq, nə biz bura onu zəng etdi?
>> JASON HIRSCHHORN: Biz bu adları çağırıb.
>> TƏLƏBƏ: Açıq bracket, ad.
>> JASON HIRSCHHORN: Açıq bracket, ad.
>> TƏLƏBƏ: Bağlı bracket.
>> JASON HIRSCHHORN: Bağlı bracket.
>> TƏLƏBƏ)
>> JASON HIRSCHHORN)
>> TƏLƏBƏ: nöqtəli vergül.
>> JASON HIRSCHHORN: nöqtəli vergül.
OK, bu xilas edək.
Bu Məcəllənin edək.
Tələbələr.
Bu Məcəllənin run edək.
Tələbələr.
Deyil. / Tələbə. . / Tələbələr.
Adı biridir.
Biz Davuda demək lazımdır.
Adı iki, RJ.
Adı üç Rob.
Adı dörd Lucas.
Adı beş Joseph.
Və o, yenidən Yusif çap edir.
>> Belə ki, Sizi bir daha bu run edək.
Mənə eyni adlar edək.
David, RJ, Rob, Lucas, Yusuf.
Və David mənə vaxt verdi.
Mən eyni şey idi, lakin o, verdi mənə fərqli bir şey, və var
çünki, əlbəttə, biz xahiş edirik təsadüfi adı.
Belə ki, mənə dolaşan off əsasən, hesab edirəm ki, otaq ətrafında ki, insanların çoxu
yəqin ki, birinci hissəsinin hüququ qazanıb ki, array yaradılması və sonra əldə
bütün adları.
Mən 16 vasitəsilə xətləri 10 söhbət alıram.
Amma 21 vasitəsilə xətləri 18 yəqin ki, var bəzi şeyləri sizdən əvvəl görmədim
elə həmin yolu getmək bildirin.
>> Bu xətt, srand vaxt NULL əhəmiyyətli deyil -
Üzr istəyirik, bu aşağı skip imkan xətti, Rand ().
Yəni, bir təsadüfi nömrə verir təsadüfi tam.
Və insan randı hit əgər, hansı siz bir çox idi -
M-A-N yer R-A-N-D -
bu kimi terminalında, M-A-N yer R-A-N-D, Enter düyməsini basın.
Siz əl qədər gəlib ki, ki Rand oxumaq bilər
komanda nəticələri num yalançı təsadüfi bayt təsadüfi sayı əkin sonra
generator bir dəfə.
>> Belə ki, təsviri var.
Bu Rand nə olduğunu verir bir təsadüfi nömrə zaman
ki, funksiyası zəng.
Təəssüf ki, bu, həqiqətən təsadüfi deyil yalnız təsadüfi zəng əgər çünki
bəzi toxum, bəzi almadan nöqtəsi, həmişə seçəcək
eyni bir və bir formula istifadə edir növbəti bir müəyyən etmək.
Siz Rand zəng əgər, yalnız lazımdır eyni şey verir.
Bu, çox gözlənilən olacaq.
Bu, həqiqətən təsadüfi olmayacaq.
>> Belə ki, biz nə etmək lazımdır, Marcus başına Mənə təlimatlar, toxum Rand idi
başqa bir şey, hansı nə ki, srand fəaliyyət göstərmir.
Bir az daha çox bir şey ilə toxum randı Eyni şey çox təsadüfi, və
O, zaman NULL ilə əkin hansı yalnız Konvensiyanın, mövcud deyil,
saniyə vaxt.
>> Belə ki, hamı deyil ki, hərfinin edirik dəqiq at kodu çalıştırmak üçün gedir
Eyni ikinci, belə bir təhlükəsiz bahis ki, vaxt NULL fərqli olacaq
hər dəfə bu kodu çalışır.
Safe bahis beləliklə, srand olacaq toxum randı ki, fərqli bir şey, hər ilə
bir zaman.
Belə ki, Konvensiya ilə, biz bir istəyirəm random number, biz bu xətti yazmaq
srand vaxt NULL, bizə bir çox vermək daha təsadüfi toxum, sonra biz çalıştırmak
Bizə bir random number verir randı.
Bəli?
>> TƏLƏBƏ: siz nə deyə bilərsiniz Əgər toxum ilə demək?
>> JASON HIRSCHHORN: toxum kimi -
belə Rand bir sıra seçin gedir və bəzi istifadə etmək olacaq
formula orada almaq üçün.
Belə ki, bir şey ilə başlamaq olacaq və sonra əsasən bir şey çevirmək
ki, formula off.
Her zaman eyni şey versələr, həmişə çevirmək olacaq
eyni şey.
Ki, ilk şey Beləliklə, siz bu toxum verir.
Belə ki, bir şey vermək istəyirəm ilə başlamaq üçün müxtəlif və elə
fərqli bir şey çevirmək olacaq.
>> Və sonra nəhayət, line 20, Bu% adlanır
modulo ki, qarışıqdır.
Bu bir az bir şey var həqiqətən olmayan Burada müxtəlif
real həyatda riyaziyyat var.
Lakin mahiyyətcə, bir nəhəng almaq zaman sayı və siz C bölmək nə
qalan olur?
>> TƏLƏBƏ: Bu qaralar olur.
>> JASON HIRSCHHORN: Bu qaralar olur.
Belə ki, 3 bölünür 20 nədir?
Ki, nə qayıtmaq yoxdur siz 20 3 bölünür.
Bağışlayın, 3 10 bölünür.
Ki, siz nə qayıtmaq edir?
>> TƏLƏBƏ: [işitilemez].
>> JASON HIRSCHHORN: 10 yalnız 3 bölünür yekunları 3 deyil, 3 qalan 1.
Nə 10 modulo 3 qaytarır Beləliklə, yalnız qalan 1-dir.
10 bölünür bilmək istəyirdi Belə ki, əgər 3 həqiqətən, siz ki,
3 bölünür 10 etmək, siz 3 almaq istədiyiniz və sonra 10 modulo 3 etmək və istədiyiniz
siz 1 almaq istiyorum.
Belə ki, 10 bölünür ki, həyata ediyorum 3 3, qalan 1-dir.
>> Və bu istiqamətdə, Rand ola bilər bir tam, mahiyyətcə.
Modulo deyib, belə ki, onu bölmək Bu halda 5-ci olan sayı.
Və heç bir sıra bölmək əgər, tam zaman az olmalıdır
ki sayı.
Bir sıra 5 ayırıcı olduğunuz Belə ki, qalan həmişə olacaq
sıfır dörd vasitəsilə.
Bu math aparılır necə var.
>> Belə ki, kiçik bir tərəfindən moduloed sayda nömrə həmişə qayıdacaq
qalan və həmişə bir qayıdacaqlar sayı, az var ki sayı
bölünür.
Heç kim haqqında hər hansı bir sualınız varmı modulo, çox olacaq, çünki
çox lazımlı, mən əmin etmək istəyirəm bunu hər kəs başa düşür?
Sərin.
Və biz bu proqram işləyib olduğunu gördüm.
OK, hərəkət.
>> Belə ki, növbəti, biz daxil olacaq funksiyaları və biz getmək olacaq
bu məhsulları qalan vasitəsilə olduqca Mən almaq istəyirəm tez çünki
command line dəlilləri.
Belə ki, funksiyaları, mahiyyətcə var gezdiğiniz kimi, qara qutuları.
Onlar adlı parametrləri şeyi almaq onlar da, onlara bir şeylər
, onları dəyişdirmək və ya bəzi yan təsirləri yaratmaq və nəhayət, onlar tüpürmək
olan şey, qaytarılması dəyər.
Heç kim mənə bir səbəb verə bilər niyə biz funksiyaları istifadə edir?
Kimsə Yoxmu?
Biz funksiyaları istifadə edin niyə? Bir səbəb
Hər kəs?
Mən iki əlləri gördüm.
Yaxşı bir səbəb nədir?
Marcus?
>> TƏLƏBƏ: eyni zəng etmək varsa kod neçə dəfə yığın.
>> JASON HIRSCHHORN: OK, sizə lazım əgər eyni yığın zəng etmək üçün
neçə dəfə kodu.
Jeff, müxtəlif səbəbi var idi?
>> TƏLƏBƏ: Just ki, daha az kod bilər.
>> JASON HIRSCHHORN: Siz az kod bilər.
Sağ.
- Əgər bir şey bir çox etmək istəyirsinizsə
əvvəlki kodu, mən ola bilər string beş dəfə almaq yazılı, lakin
loop bu gözəl və baxmaq edir üçün daha az kod yazmaq lazımdır.
Funksiyaları bənzər bir fikir var.
Mən, eyni şey bir çox etmək istəyirsinizsə funksiyası üçün hərəkət və zəng
hər dəfə fəaliyyət göstərir.
Bu sizin üçün bir şey edəcəyik.
Bu böyük bir səbəbi var funksiyaları istifadə etmək.
>> Belə bir funksiyanın anatomiyası.
Funksiyası adətən olacaq bu kimi görünür.
Bu, geri növü ilə başlamaq lazımdır sonra adını almaq lazımdır.
Başqa cür, dəlilləri çıxacağıq parametrləri kimi, daxili məlum
o buruq aşırma, will kodunuzu yazın.
>> Biz bir funksiyası bir çox gördük.
Əsas var.
Burada üzərində əsas eklenmiş edir ki, anatomiya əvvəl idi.
Burada int nə demek edir?
Int nə deməkdir?
Mən int əsas yazarkən (void).
>> TƏLƏBƏ: Axır növü?
>> JASON HIRSCHHORN: Üzr istəyirik?
>> TƏLƏBƏ: Cavab növü.
>> JASON HIRSCHHORN: Int edir doğru, növü qaytarın.
Ana bir int qaytarır.
Əsas nədir?
>> Şagird: Function adı.
>> JASON HIRSCHHORN: Ana edir funksiyanın adı.
Məhz hüququ.
Və boşluq?
Parantez içinde etibarsız nədir?
>> TƏLƏBƏ: Bu daşımır hər hansı bir xarici dəyəri.
>> JASON HIRSCHHORN: Belə etibarsız -
hüququ.
Parantez içinde, biz qoymaq parametrləri və ya dəlilləri
funksiyası gedir, nə edir qara qutu içərisində.
Əgər boşluq yazarkən sizə deyə edirik Bu da heç bir şey edir
Belə ki, int main etibarsız əsas vasitələri Daxil bir şey görmür
>> Kıvırcık aşırma Inside, biz bəzi kodunu, və sonra sonunda bax
sıfır qaytarın.
Sıfır qaytarılması nə deməkdir?
Yaxşı, biz geri növü haqqında danışdı.
Ana bir int qayıtmaq lazımdır.
Bu xətt nə var.
Bu int, sıfır qaytarır.
>> Əlbəttə ki, biz görmürsənmi ki, bir çox proqramlaşdırma biz nə çünki
biz nə maşın və derleyiciler biz bu gün istifadə
ki, xətt ehtiyac yoxdur.
Ana bilir ki, kifayət qədər xüsusi Əgər əsas, yalnız sonunda çatdıqda
hər şey yaxşı keçdi əgər sıfır qaytarın.
Əslində, bir şey də getmək deyilsə, əsas tez-tez müxtəlif qayıdacaq
ki, bir şey signifying sayı Proqram səhv getdi.
>> Siz kodu görmək Belə ki, ümumiyyətlə, zaman, geri sıfır yazmaq, lakin bu yaxşı yoxdur
bu arxasında baş verən bilmək səhnələri yazmaq zaman, çünki
funksiyası bir növü, lazımdır edir
bir dönüş xətt daxildir.
Sizə deyə istəyirsinizsə mən gidiyorum bir int qayıtmaq, siz var
bir şey geri yazın.
Siz burada etibarsız qədər demək olarsa üçün başlanğıc, etibarsız əsas etibarsız,
Məsələn, o qaytarılması deyil şey - etibarsız heç bir şey deməkdir -
belə ki, geri line ehtiyac yoxdur.
Amma heç deyil ki, bir şey yazmaq qaytarılması növü üçün ləğv, sizə lazım
qaytarılması və deyir ki, bir xətt orada bir şey qoymaq lazımdır
ki növü uyğun gəlir.
Bu barədə hər hansı bir sualınız?
Sweet.
>> Sayt.
Bu var bir şeydir eləcə də toxunub.
Hər dəyişən, biz bilirik kimi, var müəyyən həcmi, və əsasən var
söhbət olduğu dəyişən bilər və ya edilə bilər.
Və mən nə demək istəyirəm buruq aşırma qalır
Kıvırcık aşırma daxilində.
Biz bu kodu baxmaq Belə ki, məsələn, əgər biz qlobal dəyişən müəyyən edirik
əsas, int bir kənarda, qədər burada üst.
Biz bir zəng etdiyiniz bir daxili əsas Int.
Biz bir daha buruq aşırma var və başqa bir int bir zəng edirik.
>> Biz üç kodu var.
Bunlar eyni şey deyil.
Mən üç fərqli dəyişənlər yaratdıq.
Sonra bu daxili buruq daxilində aşırma, mən = 4 deyirlər.
Bir söhbət ki, hansı ki, Birinci, ikinci,
və ya üçüncü bir?
>> TƏLƏBƏ: Üçüncü biridir.
>> JASON HIRSCHHORN: Bu danışdığı üçüncü haqqında.
Bir həqiqətən var hamısı ola bilər Bu xüsusilə danışıb
Məsələn, onların əhatə dairəsi bütün gedir, çünki Bu olanları buruq aşırma daxil.
Lakin, hər şeyi eyni zəng adı, gizlətmək deyilən bir şey var.
Belə ki, yalnız ilə məşğul və ya düzeltme və ya istifadə Ən son dəyişən və ya bir
Sizə yaxın.
Belə ki, daxili burada bu üçüncü bir yaxın ki, xətt, a = 4, belə ki,
üçüncü təsir göstərir.
Və son xətti, bir = 2, ki, birinci, ikinci, söhbət,
və ya üçüncü?
>> TƏLƏBƏ: İkinci.
>> JASON HIRSCHHORN: Bu danışdığı , ikinci haqqında.
Əlbəttə ki, üçüncü bir ən yaxın kodunu, lakin bir üçüncü
kənarda mövcud deyil o buruq aşırma.
Sonra o qapalı buruq almaq o getdi kimi burğu ki, var
mahiyyətcə.
Beləliklə, siz yazmayıblar yalnız iki olanlar İlk iki və əlbəttə, indi
ikinci bir yaxın oldu.
>> Belə ki, yaxşı bir şey deyil həcmi barədə xatırlayıram.
Məsələn, mən Karşılaştığınız əminəm bir bu loop isə yoxdur.
Siz dəyişən daxilində başlamaq edin loop və sonra üçün cəhd etməyin isə
kənarda olmaq, yəqin ki, bu kimi xəbərdarlıq var
dəyişən yoxdur.
Bu, çünki daxilində fikir var şeyi mövcud
o buruq aşırma daxilində.
Buruq aşırma nəhəng tebrik kimi ki, Başqa bir, sizin kodu ötürür
bu barədə düşünmək yolu.
>> Belə bir şey, başqa bir funksiyası kodu, hellofunction.c siz uşaqlar üçün.
Biz hələlik ki, keçmək üçün gedir, lakin edirik bu mən sizi həvəsləndirmək şeydir
öz təcrübə.
Olan əsas zənglər proqram yazmaq bir həyata yazdıran bir funksiyası
istifadəçi təbrik.
Bu əhəmiyyətli Salam dünya alaraq oldu ki, printf daxil abstracting
bir funksiyası.
Amma indi ki, doğru etmək fikrində deyilik biz çox vaxt yoxdur, çünki
Mən xoşuma gəldi olardı kimi tərk edib.
>> Funksiyası bəyannamə belə.
Biz əvvəl bu gördük.
Siz bir funksiyası yazmaq istəyirsinizsə, Siz kompüter bildirin lazımdır və
əsas mövcud olduğunu bilirik.
Beləliklə, biz yuxarıda əsas yoxdur, nə biz yazmaq qaytarılması növü, adı və
parametrləri, sonra aşağı əsas aşağıda aşağı burada, biz, həqiqətən, line surəti
və sonra faktiki kodu yazın.
Beləliklə, bu yolla, funksiyası zəng əgər üst əsasən, əsas bilir ki,
Mən, əgər hello, məsələn, mövcud salam zəng və sonra üçün görünür etmək
həyata aşağı aşağıdır.
Mən bu daxil deyil ne olur top up line (void) salam ləğv?
>> Mən bu xətt eklemezseniz və əsas zənglər hello, Ben
bir səhv olacaq.
Mən səhv çünki almaq üçün gidiyorum compiler bilmir
Bu şey mövcud.
Buna görə bənzər biz # daxildir yoxdur cs50.h.
Mahiyyətcə cs50.h nə edir orada string almaq qoyulması edir.
Bu var int almaq qoyulması oldu.
Bu funksiya bütün qoyaraq oldu up əsas əvvəl ki, prototipləri zaman
Əgər əsas onlara zəng, əsas bilir bu şeylər var ki.
Yəni o. H faylları nə.
Və beləcə öz etmək olacaq, əgər funksiyası, Sizi əmin etmək var
siz var ki, prototip qoydu.
Bu günə qədər suallarınız var mı?
>> Command line arqumentlər.
Bu başa çatdırmaq üçün olacaq nə və sonra inşallah edəcəyik
bəzi pset ilə sıxmaq.
Biz sıxmaq edə bilərsiniz əgər Bilmirəm ki, zaman, çünki, lakin
burada olan uşaqlar ilə, və əgər siz uşaqlar bir az sonra, biz demək istəyirəm
kənarda üzərində bilərsiniz.
Ancaq biz ilə başa olacaq command line arqumentlər
son 15 dəqiqə.
Biz oyaq, Michael?
Siz oyaq mi?
Yaxşı.
Əgər yuxu əgər Bilmirəm göz bağlanıb ilə.
Bu çətin olardı.
>> Command line arqumentlər.
Bu informasiya keçmək üçün bir yoldur bir proqram.
Nəhayət, biz başqaları qarşılaşa bilərsiniz.
Lakin mahiyyətcə, biz dayandırmaq olacaq biz istəyirsinizsə int main (void) yazılı
bir command line arqumentlər edir.
Bu şey yazmaq olacaq int main (int argc adlı
string argv, mötərizədə.
Bu qarışıqdır.
Yəni olmayan məktublar bir çox var insan English, biz olacaq
İndi onlara açmaktır.
>> Argc arqument sayı üçün hazırdır -
və yenə bütün bunlar olacaq online mövcud ola -
və dəlilləri sayı var.
Argv arqument vektoru üçün durur, və həmin dəlilləri özləri edir.
Bu strings bir sıra var.
Biz, həqiqətən, bir sıra gördüm gün əvvəl tellər.
Biz son bir yaradılıb biz kodlu proqram.
>> Belə ki, burada bir misal var.
Mən yazmaq. / Ohai cs50 bölmə mənim command line edir.
Bu halda Argc 3 bərabərdir.
Argv bracket 0 ohai, argv bracket 1 cs50 deyil, argv bracket 2 bölüm.
Yenə argc, dəlilləri sayı və səyahət siz bir az
bit, biz həmişə adını saymaq ilk arqument kimi fəaliyyət göstərir.
Belə ki, bu halda, üç var arqumentlər funksiyanın adı
və sonra da yazdığınız bu iki
>> Sonra, biz o xilas olacaq argv ildə arqumentlər özlərini.
Və yenə, biz əvvəl gördüm kimi, biz də bu son proqram biz kodlu.
Siz serialın vasitəsilə hərəkət edə bilər argv və həmin strings almaq.
Yəni biz nə mahiyyətcə var bizim son proqramı sonu.
Biz təsadüfi adı seçilmiş və sonra getdi adları bracket hər hansı və çap
simli orada yerləşir.
>> Yalnız bir sıra üst, çünki strings özləri kimi, seriallarda var
danışdıq, siz Diziler ola bilər serialları, olan
mahiyyətcə nə argv edir.
Haqqında hesab edə bilər bir yolu Bu satır ve sütun edir.
İndi doğru cəlb edə bilər.
Belə ki, argv -
ki silinmə deyil.
Nin ohai altında cəlb edək.
>> Mən ohai cs50 hissəsində yazırdı Belə ki, əgər Mən kəsmək gidiyorum
Bu, misal üçün bölmə.
Amma mahiyyətcə, mənim çox-ölçülü dizi, ohai cs50,
biz təriqət etmək olacaq.
Belə ki, burada, mən istifadə edə bilərsiniz -
- Mən yalnız argv bir sıra vermək əgər
Bu səhvdir.
Bu sxemdə yanlış nedir?
>> TƏLƏBƏ: sıfır başlayın.
>> JASON HIRSCHHORN: Bu olmalıdır sıfır ilə başlayın.
Mən yəqin ki, bunu da dönüşümlü, lakin Mən artıq bu barədə tərtib etdik, çünki mən oldum
İndi orada onu tərk edəcəyik.
Amma bu, sıfır başlayır.
Bu doğru.
Bu kiçik Əgər Üzgünüm.
Uşaqlar cür edə bilərsiniz?
Mən argv 0 əgər Beləliklə, mən lazımdır ohai bütün almaq.
Mən argv 1 varsa, mən cs50 bütün almaq lazımdır.
Mən argv 2, mən təriqət bütün almaq lazımdır.
>> Amma indi biz dediyi kimi, strings Diziler özləri edir.
Belə ki, nə edə bilərəm mən müalicə edə bilər çox ölçülü sıra kimi, və mən
xətləri boyunca bir şey edə bilərsiniz yalnız mənə verir argv 0, 0,
xarakter 0.
Mənə yalnız h verir Argv 0, 1.
Yalnız mənə verən Argv 1, 3, aşağı burada cs50 bu 0.
>> Belə ki, çünki strings özləri biz Diziler qoyulması olduğunuz olunur
ki, bir sıra.
Biz indi serialları sıra var, və biz ilk massivinə index bilər
sonra ikinci massivinə index.
Beklediğiniz kimi, biz bunu - yalnız bu iki qoyaraq
Biz yalnız kvadrat mötərizədə etmək bir-birinə hüququ gələcək.
Beləliklə, bu nümunə, argv 1 cs50 və argv 1, 2, biz dediyim kimi, yalnız 5-dir.
Heç kim haqqında hər hansı bir sualınız varmı çox ölçülü Diziler?
Siz uşaqlar zəhmli edirik.
Sweet.
>> Belə ki, burada başqa bir proqram var və bu etdiyiniz yekun şey
İndi nə gedir.
Mən sizə bir proqram yazmaq istəyirəm ki, bir istifadəçi tam adı, iki və yalnız edir
iki command line arqumentlər və nəhayət, ilə təbrik çap
ki, istifadəçi adı daxildir.
Üç və ya dörd Beləliklə, nə siz etmirlər dəqiqə biz getmək lazımdır, sonra bunu və
üzərində bir qrup kimi və sonra biz bükmək lazımdır?
>> Və yenə də, demək zaman almaq təsviri hər istifadəçinin tam adı
Bu problem, bu komanda olmalıdır line arqumentlər istifadə string almaq.
Bəli, Marcus?
>> TƏLƏBƏ: Siz demək Belə ki, iki komanda line arqumentlər ki, əlavə
. / və run, və ya -
>> JASON HIRSCHHORN: Yaxşı sualdır.
Ki,. / Run, üç, o cümlədən Do command line dəlilləri.
Və ya, bu. / Kişiselleştirilmiş o cümlədən Bu halda ki, çünki
Bu fayl adı.
Belə ki, argc üç olardı.
Amma yalnız iki dəlilləri istəyirəm proqram verilir.
Hesab edirəm ki, göstərməlidir.
Mən göndərmək əvvəl dəyişiklik etmək lazımdır bu və uşaqlar onlara göndərin.
>> TƏLƏBƏ: Nə əgər orta ad var?
>> JASON HIRSCHHORN: Bir orta varsa adı, siz uğur bitti.
Üzgünüm.
Yoxsa yalnız Shakira getmək əgər, Siz uğurlar həyata da istəyirik.
Bəli?
>> TƏLƏBƏ: Belə ki, insanlar yoxdur zaman cs50.h, onlar argv müəyyən yoxdur
char star argv kimi?
Yoxsa hələ string argv adlanır?
>> JASON HIRSCHHORN: Bəli.
String Belə ki, yenə maska ​​nə üzərində məhz orada baş verir.
Bəlkə unpacked olacaq ki, Çərşənbə, amma tezliklə.
Bu təlim təkərlər kimi.
Mahiyyətcə, bu Çünki eyni şey.
>> Belə ki, proqrama digər dəqiqə bildirin Bu, sonra biz artıq gedəcək
bir qrup kimi, sonra Dediyim kimi bükmək.
Və mən, onlar hələ də əlavə konfet olduğunuzu düşünürəm belə ki, uşaqlar inşallah almaq lazımdır
ki, və ya edin.
>> Siz hələ yazı Bağışlayın, əgər amma dalış və biz istəyirik
birlikdə bitirmək bilər.
Belə ki, I # daxildir yazılı var cs50.h # stdio.h daxildir.
int main (void), buruq brace, buruq burğu, daxilində üç xətt
pseudocode, bir istifadəçi tam adı almaq iki və yalnız iki command line
arqumentlər ilə təbrik çap ki, istifadəçi adı daxildir.
>> Ilk Belə ki, almaq bir istifadəçi tam adı.
Məni almaq kömək edə bilər bir istifadəçi tam adı?
Mən bir hissəsi necə etməliyəm?
Uşaqlar ilk düşəni mi?
Bir istifadəçi tam adı alın.
Yaxşı ki, bir command line üçün dəlil, nə yazmaq lazımdır?
Mən nə dəyişdirmək lazımdır mənim funksiyası bəyannamə?
>> TƏLƏBƏ: Siz istəmirəm artıq boşluq olmalıdır.
>> JASON HIRSCHHORN: Eynilə elə.
Mən bunu etibarsız olmaq istəmirəm.
Mən bunu nə üçün istəyirsiniz?
>> Şagird: Int argc.
>> JASON HIRSCHHORN: Int argc.
>> TƏLƏBƏ: Dize argv.
>> JASON HIRSCHHORN: Dize argv.
>> TƏLƏBƏ: Bracket, bracket.
>> JASON HIRSCHHORN: Bracket, bracket.
Bu doğru deyil, və ki əslində necə almaq gidiyorum
bir istifadəçi tam adı.
Onlar orada qoymaq olacaq.
Belə ki, bir həyata.
Belə ki, indi istəyirəm iki və yalnız iki command line dəlilləri.
Nuh Beləliklə, mən bir yol nə əmr sayı yoxlamaq
line arqumentlər var?
>> TƏLƏBƏ: Siz bir bəyanat əgər bunu.
>> JASON HIRSCHHORN: Əgər Şərhdə, dəqiq.
Mən vəziyyəti nə istəyirsiniz?
>> TƏLƏBƏ: 3 argc çox edin.
>> JASON HIRSCHHORN: Əgər argc 3-dən böyükdür.
Argc 3-dən böyük, nə yoxsa?
>> TƏLƏBƏ: Axır 1.
>> JASON HIRSCHHORN: 1 qayıt.
Ki, var təmin edəcək iki və yalnız iki?
>> TƏLƏBƏ: Xeyr
Argc büyükse 2-dən 3 və daha az.
>> JASON HIRSCHHORN: argc böyükdür edin 3 və argc 2-dən az daha.
Mən yalnız bu yaza bilər bir yolu nədir bir xətt və ya istifadə etmədən
və operator Boolean?
>> TƏLƏBƏ: Bu 2 bərabər deyil.
>> JASON HIRSCHHORN: Əgər argc 2 bərabər deyil.
Eynilə elə.
Argc, 2 bərabər deyil Belə ki, əgər mənə bu proqram verəcək
kişiselleştirilmiş, mən bunu çalıştırdığınızda, və mənə verəcək neçə
command line arqumentlər?
Nə qədər mən kontrol edəcək?
>> Bağışlayın.
Mənə reword edək.
Argc = 2, neçə şey idi əgər istifadəçi xəttə yazmaq?
>> TƏLƏBƏ: biri.
>> JASON HIRSCHHORN: Just biridir.
Belə ki, əvvəl, siz doğru Nuh idi.
Mən, həqiqətən, orada qoymaq üçün nə lazımdır?
>> Şagird: 3 bərabərdir.
>> JASON HIRSCHHORN: Argc yox bərabər 3 etmir.
Mən istəyirəm, çünki mən 3 bərabər istəyirəm kişiselleştirilmiş plus digər iki.
Argc bərabər 3 deyil Belə ki, 1 qaytarın.
Niyə 1 qayıtmaq demək idi?
>> Şagird: Çünki səhv deməkdir.
>> JASON HIRSCHHORN: bu yanlış deməkdir ki, və nə ki, nə olacaq?
>> TƏLƏBƏ: istifadəçi Re-təklif.
>> JASON HIRSCHHORN: Bu çıxmaq olacaq proqram, belə ki, run olacaq
yenə, amma biz bir şey yoxdur Burada yenidən soruşmaq üçün.
Hesab edirəm ki, xahiş etməyib.
Belə ki, məhz doğru.
Yalnız proqram fit 1 qayıt.
Böyük.
>> Və istifadəçi salam çap ki, onların adı daxildir.
Mən necə edə bilərəm?
Anna?
>> TƏLƏBƏ: Printf.
>> JASON HIRSCHHORN: Printf.
>> TƏLƏBƏ: ("
>> JASON HIRSCHHORN: (
>> TƏLƏBƏ: "salam
>> JASON HIRSCHHORN: "salam
>> TƏLƏBƏ:% s
>> JASON HIRSCHHORN:% s
>> TƏLƏBƏ: / n
>> JASON HIRSCHHORN: / n
>> TƏLƏBƏ: ",
>> JASON HIRSCHHORN: ",
>> TƏLƏBƏ: Argv
>> JASON HIRSCHHORN: Üzr istəyirik?
>> TƏLƏBƏ: Argv
>> JASON HIRSCHHORN: Argv
>> TƏLƏBƏ: Square Mötərizədə 1.
>> JASON HIRSCHHORN: Square Mötərizədə?
>> TƏLƏBƏ: 1.
>> JASON HIRSCHHORN: 1.
>> TƏLƏBƏ: Və) nöqtəli vergül.
>> JASON HIRSCHHORN) nöqtəli vergül.
Bizə bu run edək.
Kişiselleştirilmiş olun.
. / Kişiselleştirilmiş.
Bu yalnız çıxın.
Niyə tərk etdi?
>> TƏLƏBƏ: Siz heç bir arqument qoymadı.
>> JASON HIRSCHHORN: getmədim heç bir arqument daxil qoymaq
Böyük görünür.
Siz uşaqlar bunu nailed.
Belə ki, daha, siz argv və getdi əvvəlində argc da yoxlanılır.
Bu iki əhəmiyyətli şeyi xatırlamaq.
Beləliklə, biz əvvəl bizim son iki dəqiqə tərk, biz pset iki almaq, ancaq deyil
sonra qalmaq istəyirsinizsə kimi dedim, 10 dəqiqə, mən o getmək üçün xoşbəxt ki,
uşaqlar məntiqi ilə artıq Bu problem dəstləri üçün.
Biz bu gün əhatə etmək üçün çox idi mən onlara əldə etməyib.
Ümumiyyətlə, mən daxil etmək istəyirəm ki, sonunda.
Siz ətrafında qalmaq istəyirəm əgər 10 dəqiqə ətrafında qalmaq.
Biz bunu edəcəyik.
>> Sonra kimi, başında qeyd pset sıfır və bir ki, qazanacağıma
kimi geri feedback mümkün qədər tez.
Məqsəd pset bir geribildirim almaq üçün şərh hissəsi,
pset iki səbəbiylə əvvəl.
Bəzi səhvlər və ya qəbul Belə ki, əgər stylistically, əşyalar, daha yaxşı ola bilər
Siz məlumatlar var ki, lazımdır, belə ki, pset iki eyni şeyi deyil.
Və sonra gələcək, bütün almaq lazımdır Sizin pset Əlaqə və şərhlər
növbəti bir səbəbiylə geri əvvəl.
>> Nəhayət, mən başqa qoymaq bilər, əgər Əlaqə üçün plug.
Bu ilk bölüm.
Bu, mənim birinci hissəsində olmuşdur bu il tədris.
Var gedin.
, Yaxşı və pis stuff yaz və mən etmək üçün istifadə edəcək
yaxşı Bölmə növbəti dəfə.
Və son, daha sizə lazım əgər bir şey varsa, Mənə bildirin.
Mən sizə uşaqlar kömək etmək üçün daha çox xoşbəxtəm.
Yalnız konfet istəyirsinizsə, mən əlavə konfet olacaq.
Mən sizə çatdırmaq üçün xoşbəxtəm.
>> Bu inanılmaz kurs olacaq.
Bu biridir, əgər mənim sevimli Əlbəttə, mən bütün həyatında qəbul etdik,
və mən ki, olacaq sizin üçün gözəl.
Belə ki, əlimdən gələni etmək istəyirəm sizin üçün ki, zəhmli edir.
Mən sizə değilseniz bir e-poçt göndərmək üçün gidiyorum mənim bölmə və ya Nuh, və
hər biri ilə cəhd və qrafikə gedir Siz uşaqlar üzərində yoxlamaq üçün vaxt
həftə növbəti neçə belə bir əldə edə bilərsiniz Sizin CS fon nə mənada,
və bu da bu mənə dərzi kömək edəcək daha yaxşı ehtiyaclarına uyğun bölmələr.
Belə ki, mən dəstəsi düzülmüşdü var budur.
Yenə də, mən kənarda görürsünüz orada olmaq istəyirsinizsə.
Bu iki bölmə həftə idi.
Qədər uşaqlar təşəkkür edirik.