>> [MUSIC PLAYING]
JASON Hirschhorn: OK, hər kəs.
Bölmə xoş gəlmisiniz.
Bu bizim çox, CS50 edir ilk super bölmə.
Bütün gələn həftə Bildiyiniz kimi müntəzəm bölmələr başlayacaq
lakin bu həftə bütün birlikdə istəyirik.
>> Özüm var.
My name Jason edir.
I Kompüter Elm müəllim deyiləm.
Biz CS50 rəhbəri TA var Andi var.
Və Scaz, Professor Brian Scassellati, O Computer Science professor var.
>> Biz Yale CS50 rəhbərləri var.
Siz həmişə e-poçt bilər Bizə heads@cs50.yale.edu.
Biz mühazirə olacaq.
Biz ofis saat olacaq.
Bir şey heç varsa, biz sizin üçün nə, bir şey sizə lazım
bizə həyata nail olmaq üçün çekinmeyin.
>> Belə ki, nə biz bu gün nə üçün gedir?
Və ya sonra əvvəl, nə Bu həftə qədər gələn?
Belə ki ofis saat, Bazar ertəsi, Çərşənbə axşamı var Çərşənbə və Cümə axşamı, 11:00 8:00.
Saytında cədvəli var.
>> Bölmələr Mən qeyd kimi gələn həftə başlayır.
Və bu həftə tapa bilərsiniz nə Sizin bölüm zaman, bu nə gün,
və TA olan.
>> Problem Set 1 Cümə axşamı bağlıdır gec gün günorta saatlarında günorta, Cümə.
Bəli, doqquz gec gün var.
Və doqquz problem dəsti var.
Və yalnız bir istifadə edə bilərsiniz problem set başına gec gün.
Bəli, faktiki olaraq, bütün problem dəstləri günorta saatlarında Cümə əlaqədardır.
Bu qədər.
Məlumat proqramı var ki, bütün.
>> Hər cümə, biz nahar var.
Biz bu böyük etmək istəyirəm Əlbəttə bir az kiçik hiss edirəm.
Belə ki, RSVP buyrun.
Fellow ilə pulsuz nahar sinif yoldaşları və personal.
cs50.yale.edu/rsvp.
>> Bunlar Bütün Mən ekranda var
və daha çox, siz tapa bilərsiniz cs50.yale.edu və ya cs50.harvard.edu, əgər Harvard getmək
və bu online izləyir.
>> Həmin saytlarda var Sizin üçün resursların ton var.
Hər mühazirə yalnız video var mühazirə, həm də qeyd edir.
Somebody izləyəcək mühazirə və sizin üçün qeyd etmək.
Belə ki, yalnız ödəyə bilər mühazirə zamanı diqqət
və ya onların qeyd istifadə edə bilərsiniz / bizim öz qeydlər əlavə edir.
>> Slaydlar online var.
mənbə hər şeyi kod David, mühazirə üzərində gedir
və ya Scaz ki, mühazirə üzərində gedir mənbə kodu mövcud online
eləcə də, mən kimi, video qeyd.
>> Bölmələr, həmçinin, bütün film olur.
Bu slaydlar bütün mövcud olacaq.
Ki, kodu bütün olacaq sizin üçün mövcud ola bilər.
Web harada şort var CS50 əməkdaşları beş 10 üçün sərf
sizin üçün mövzu keçir dəqiqə.
Bəziləri artıq var problem dəstləri ilə qarşılaşdı.
>> Office saat, mən qeyd etdiyim kimi, bazar ertəsi vasitəsilə cümə axşamı, 11:00 8:00.
CS50 Study fantastik kaynaktır.
Təcrübə problemləri var, nümunə slaydlar, məlum bugs
tələbələr daxil etmək istəyirəm ki, mahiyyətcə hər mövzunu üçün
Bu kurs əhatə edəcək.
>> Və nəhayət, bu slide ən azı, Reference50
olan məlumat verir C funksiyaları bütün
Əgər bəlkə ümid edə bilər istifadə və çox, daha çox.
>> Yenə də dot dot dot ki, ekranın aşağı
hətta var ki göstərir deyil bu iki saytlarda daha resursları:
cs50.yale.edu, cs50.harvard.edu.
>> Belə ki, nə biz bu gün edirik?
Bəli, ilk mən verəcəyəm Siz ehtiyatları baxmaq.
Artıq bir etdi.
Bizə baxın.
>> İndi biz artıq getmək olacaq C. məlumat növləri və operatorları
Sonra Andi burada gələcək və C kitabxanalar artıq getmək, printf ()
Əgər siz artıq olan bir funksiyası tanış və ya tez çox olacaq
tanış.
Və siz də artıq getmək lazımdır conditionals və loops.
>> Və sonra nəhayət, Scaz CS50 ID üzərində gedəcək.
Siz göyərçin əgər artıq Problem Set 1,
həmçinin istifadə etmək üçün necə terminal və faydalı əmrləri
və sonra bəzi demoları vermək və CS50 ID təcrübə kodlaşdırma.
>> Mən bu tullanmaq əvvəl bu tərəfində content,
heç bu günə qədər hər hansı bir sualınız var?
Great.
OLDU.
Dişli dəyişdirilməsi.
>> [Gears dəyişir]
>> Mənə dəyişkən idi əl avtomobil dişli.
Belə ki, C data növləri, yalnız ola bilməz dəyişən x və bu xətt 10 olmaq,
bir tam, bəlkə sayı 1, line 20-də, bir decimal sayı 10.5,
və sonra bir neçə xətləri sonra bir string, mən CS50 sevirəm.
>> C, dəyişənlərin yalnız ola bilər bir şey, və yalnız bir şey.
Və belə ki, onlara növləri vermək lazımdır.
Bu board, biz növlərinin siyahısı var.
Chars var olan Sandıqı üçün durmaq.
Belə ki, bir məktub A, B, C var, Da bir məkan ola bilər D.,
və ya da ola bilər yeni xətt xarakter.
>> Ədalətli integers var nömrələri, bütün nömrələri və ya integers
rather-- lakin heç ondalık.
>> Ondalık, biz var üzən point nömrələri.
Üzən point nömrələri ondalık ilə nömrələri var.
>> Sonra olan longs var mahiyyətcə artıq integers.
Siz uzun görəcəksiniz bir int 4 isə 8.
Mən ikinci almaq lazımdır.
Longs hətta bilərsiniz ki, var bir int daha çox integers saxlaya bilərsiniz.
Double uzun float edir.
>> Və nəhayət, biz bir növüdür string,
ki, yəqin ki, əvvəl istifadə.
Siz hashtag daxildir əgər Mənbə faylı # includeCS50.h,
sonra bir string növü istifadə edə bilərsiniz.
Bu, həqiqətən, C. daxil deyil
>> Bir neçə digər növləri də var.
Amma bu əsas olanları ilə siz istifadə qarşılaşacaq.
C kimi yenə mən qeyd, hər onu dəyişən
yalnız bir növü və yalnız bir növü ola bilər.
C statik deyil ki, var fərqli olaraq tipli dil,
dinamik tipli dillərdə burada bir dəyişən yaratmaq
Siz saxlanılır nə dəyişə bilərsiniz bu proqram getmək kimi.
Burada sağ tərəfdən ərzində yan, müxtəlif ölçüləri var
bayt məlumatların bu cür.
Belə ki, bir xarakter 1 byte edir.
8 bit var.
Və 8 çünki deməkdir bit səkkiz 0s və 1s var.
Biz ilk o demoları gördüm ki, ikili lampaları ilə həftə.
>> 8 bit və ya 1 byte ilə, biz 0-dan 255 ədəd təşkil edir.
Right.
Bütün 8 bit 0 varsa 0 ki.
Ilk bit 1 varsa, ki sayı bir və s, 255 qədər bütün yol.
Və simvol bilərsiniz üçün görə mahiyyətcə onların 255 qədər var,
lakin bütün əhatə çox var simvol istifadə etmək lazımdır.
>> Integers üçün, 0 ola bilər və sonra 32 2 var minus 1.
Həmin neçə variantları Siz integers üçün var.
>> Uzun üçün, 0 var 2 64 minus 1.
Belə ki, bir çox var longs üçün daha çox variantları.
>> Strings, bir sual işarəsi var ki sonra bir cliffhanger çünki.
Bəli.
Mən hamı var deyə bilər onların oturacağının kənarında,
kimi ki, sual işarəsi var?
Bu cliffhanger var.
Biz nəhayət ölçüsü əhatə edəcək strings və strings haqqında daha çox danışmaq.
String həqiqətən, çünki təlim təkərlər biri
bu da qoymaq əvvəlində kurs
və sonra off almaq üzrə C strings, çünki
həqiqətən göstəricilər var xarakter Diziler üçün.
Ancaq yenə də, ki, bir sonra cliffhanger.
Mən hər hansı bir sual hərəkət əvvəl, şərh, bu slayd haqqında narahatlıqlar?
>> OLDU.
Mən bir fantastik açıqlayandır olmalıdır.
Həmçinin proqramlaşdırma etdiyiniz zaman, bu operatorları istifadə etmək olacaq.
Sadə edə bilərsiniz həqiqətən sadə əlamətləri əməliyyatlar, olan siz yəqin edirik
artıq çox tanış.
>> Məsələn, sağ tərəfdən, biz əlavə görürük.
Əlavə etmək üçün, yalnız bir Plus işarəsi yoxdur.
Və belə ki, ola bilər iki dəyişənlərin x və y.
Siz kodu x + y edə bilərsiniz.
Bəlkə siz demək to-- istəyirəm sıra var 7 və 3,
ki, saxlamaq istədiyiniz adlı dəyişən məbləğində.
Siz növü, yer üçün int edə bilərsiniz məbləği, dəyişən adı, 7 + 3 =;
>> Nə məbləğdə ki, saxlamaq olardı?
Hər kəs?
Mən məbləğin = 7 + 3 olsaydı.
Məbləğin nə saxlanılır olardı?
Siz yalnız həyata bağırmaq bilər.
Auditoriya: 10.
>> JASON Hirschhorn: 10!
Ki, tam olaraq doğru.
Məbləğdə haqqında nə = 7 - 3, Mən yalnız dash işarə istifadə edin.
Nə saxlanılır olacaq?
Auditoriya: 4.
JASON Hirschhorn: 4.
Sum yəqin ki, səhv adı ki, dəyişən, lakin 4 saxlanılır olunacaq.
>> C çoxaltmaq üçün, az istifadə Star xarakter, bir x istifadə etməyin.
Bölmək, irəli istifadə Biz bölmə simvolu doğramaq.
Və modulunu üçün, yüzdə simvolu istifadə edin.
>> Belə ki, mən int z = görmək istəyirəm deyək 7% 3, z nə saxlanılır olardı?
Belə ki, mahiyyətcə var modulo nə edir xahiş?
Heç modulo nə bilir?
Bəli.
y 4.
HOPARLÖR 1: Bu qalan var.
JASON Hirschhorn: Bu qalan bölmək zaman.
Belə ki, 3 bölünür 7 2 qalan 1.
Belə ki, 1 saxlanılır olunacaq.
>> Siz, toplama işlemi etdi Bu işləri necə, lakin var.
Bu modulo operator nə var.
Bu sayı ilə ayırır edir Sizə bir sıra və gəlirlər
qalan.
Belə ki, yenə, 7% 3, çünki siz 1 verir 7 2 qalan 1 3 bölünür,
və qalan qaytarır.
>> Haqqında qədər geri gedək nə ki, bölmə işarəsi bir addım.
Mən əgər 7 / edilməmişdir 3 bölünür heç ki qayıtmaq istəyirəm nə bilirik?
>> HOPARLÖR 2: 2.
>> JASON Hirschhorn: Why 2 və 2,333?
>> HOPARLÖR 2: Mən azalıb hesab edirəm ki, bütün sayı sonra.
JASON Hirschhorn: Belə ki, ki, tam olaraq doğru.
C, siz bölgüsü əgər 3 bölünür iki integers 7,
Bu cavab alır ki, Bu halda 2,3333 əbədi
və bu kəsir tapır və ondalık sonra hər şey off eti
və yalnız 2 qaytarır.
>> Mən 3 bölünür 8 etdi əgər.
Bu, həqiqətən, biz bilirik ki, 2,666 qayıtmaq
lakin bu hər şeyi off eti decimal, bütün truncates,
və yalnız sizin 2 qaytarır.
Belə ki, 6 3 bölünür, 7 bölünür 3, 8 3 bölünür,
bütün 2 qayıtmaq üçün gedir.
>> Heç bilirik, və ya bir tahmin var, Mən, həqiqətən, əldə edə bilər nə kimi
tam cavab Hesab edirəm ki, decimal istəyirsinizsə?
Bəli.
Davam et.
HOPARLÖR 3: bir float istifadə edin?
JASON Hirschhorn: Siz nə deməkdir?
HOPARLÖR 3: dediniz Çünki float ədəd üçün [işitilemez]
JASON Hirschhorn: Sağ.
Belə ki, doğru deyil.
7 tam deyil.
Amma çevirmək istəyirdi bir üzən point sıra,
Hesab edirəm ki, saxlamaq olardı Kompüter çünki 7.0 kimi
həqiqətən biz gördük ki stupid-- edilir PB və J misal ilə
yalnız dəqiq edəcəyik nə demək.
>> Belə ki, 7 yazmaq əgər, ki, bir tam hesab edirəm.
Siz 7.0 yazmaq əgər hətta biz baxmayaraq O şeyi ekvivalent bilirik,
Bu kimi ki alır point sayı üzən.
Siz 7.0 Əgər bölünür Belə ki, 3 və ya 3.0 bölünür,
indi, OK, deyərdim biz üzüb gedirdi ilə məşğul olursunuz.
Əbədi olaraq sənə 2.333333 qayıdacaqlar.
Amma həqiqətən əbədi, çünki biz mühazirə də gördüm,
bu üzən point nömrələri tam dəqiq deyil.
>> Belə ki, decimal istəyirəm əgər, və ya ondalık bir hissəsi,
sonra onlardan biri use-- var üzən point sayı olmalıdır
və kompüter anlamaq üçün var bu etdiyiniz bir üzən point ki,
deyil, bir tam ilə məşğul.
Ki, masa hər hansı bir sual haqqında sağ tərəfdən, bu günə qədər?
Və ya sol tərəfində, sizin sol, sol tərəfdən.
Bəli.
HOPARLÖR 4: Sağ.
Yalnız normal kimi üçün integers, siz ki
yazma üzmək yazmaq lazımdır?
>> JASON Hirschhorn: Bəli belə.
Yaxşı, siz yaratmaq istəyirsinizsə, bir float bir dəyişən,
Siz float demək lazımdır z bir şey bərabərdir.
>> HOPARLÖR 4: OK.
>> JASON Hirschhorn: Amma istəyirdi 3 bölünür 7 yoxdur və decimal almaq,
Mən float z = 7.0 / 3.0 edəcəyini; və mənə üzən point verəcək
nömrəsi.
>> HOPARLÖR 4: OK.
>> JASON Hirschhorn: Mən etdi 3 int z = 7 / kimi bir şey,
ki, mənə bir tam verəcək, o, çünki bütün integers var.
Ki, hissi edirmi?
>> HOPARLÖR 4: Bəli.
>> JASON Hirschhorn: OK.
Great.
Ki, masa haqqında hər hansı digər suallar?
Həqiqətən?
Mən çox həyəcanlıyam.
OLDU.
>> Belə ki, istifadə ki, bəzi başqa şeylər, oftentimes şərait və ya loops,
operators-- bu növləri Boolean ifadələr bu cür.
Öyrəndik kimi, == siz nə iki şeyi bərabər olub olmadığını kontrol etmək üçün istifadə.
>> X == y, edək, əgər Belə ki, burada yoxlanılması alıram daha x 7 və y 3 daşımır.
Mən 7 == 3 yazdı əgər nə ki, mənə qayıtmaq olardı?
Ki, doğru və ya yalan?
>> Auditoriya: False.
JASON Hirschhorn: OK.
Mən bu bir əldə edə bilərsiniz hamı kimi hiss edirəm.
Belə ki, hamı ki, nə qayıtmaq olardı?
Auditoriya: False.
JASON Hirschhorn: False.
Great.
7 3 bərabər deyil.
Belə ki, 7 == 3 yalan qayıtmaq istəyirəm.
Siz deyil, bərabər işarəsi var, əgər mən 7 = 3, ki, nə qayıtmaq istəyirəm yoxlanılır?
Auditoriya: True.
JASON Hirschhorn: True.
Əla.
Kimsə çox emfatik idi geri və yüksək qiymətləndiririk.
Sonra operator az var, daha az və ya operator bərabər,
operator daha çox, daha böyük çox və ya operator bərabər.
>> Belə ki, bir daha ağlı başında olma çek.
Mən olsaydı 7 böyükdür çox və ya 3 bərabər.
Nə qayıtmaq istəyirəm?
>> Auditoriya: True.
JASON Hirschhorn: True.
Bəli.
Geri otağı, arxa tərəfində otaq, fantastik.
Siz bu birləşdirə bilər ifadələri Siz, həmçinin, isterseniz
olan məntiqi və ilə && Və ya məntiqi OR olan ||
||.
Və belə ki, indi iki test edə bilərsiniz şeyi funny together-- deyilmi?
Niyə ki gülməli deyil?
>> Mən istəyirdi Belə ki, mən 7 demək olar 3 və 2-dən çox 4 azdır?
Yaxşı, 7 böyük olduqda 3-dən, doğrudur.
2 ki, doğrudur, 4-dən azdır.
Belə ki, bu bütün şey doğru qayıtmaq olardı.
>> Mən 7 test əgər daha çox 3 and-- deyil Mən yalnız təsadüfi nömrələri seçmək alıram burada
4 yaxşı ki, yalan, az 2 edir.
Belə ki, doğru və yalan etmək yalan.
Və siz getmək bilər və siz kimi birləşdirmək istədiyiniz kimi bir çox şərtlər.
>> Heç bir sualınız varmı, şərh, konsernlər, bu günə qədər?
Və mən şəkillər alaraq bəzi görmək Mən təşəkkür ekran, mənə.
Ümid edirəm ki, bu, SnapChat deyil.
Ümid edirəm ki, bu, sizin qeyd üçün.
Amma bütün bunlar gedir mövcud online.
Belə ki, yoxdur bu şəkil çəkmək.
Mən hər şeyi qeyd Like Sizin üçün online mövcud olacaq.
OLDU.
Mən almaq üçün deyiləm sahne arkasında, belə ki, heç yoxdur
bir şey demək istəyirəm Ki, baş əvvəl?
Suallar?
>> [SƏSLƏRİ INTERPOSING]
>> JASON Hirschhorn: Oh, dayandırmaq.
Siz uşaqlar çox gözəl.
OLDU.
Mən tag gedirəm.
Gedək.
>> ANDI PENG: Biz nə olacaq İndi bir yöndəmsiz mic dəyişiklik.
>> JASON Hirschhorn: Mən deyiləm bu off etmək üçün gedir.
ANDI PENG: uşaqlar dəstək üçün təşəkkür edirik.
Məni eşidirsən?
Ki, yaxşı?
Mükəmməldir.
Gözəl.
Mənə yalnız ki, qat edək.
OLDU.
Belə ki, bir nəhəng kimi etmək haqqında Ben məlumat indi uşaqlar atmaq.
Və heç bir narahatlıq heç değilseniz hər kiçik xətti aşağıdakı nə
Mən sizə göstərmək haqqında deyiləm.
Jason bildirib ki, hər şey tamamilə online.
Yalnız biz təqdim etmək cəhd olacaq anlayışlar hər kəs əhatə
bu slaydlar bəzi.
Belə ki, yalnız boyunca edin.
Heç bir narahatlıq başa düşmürəm, əgər hər şey; Lakin, hər hansı bir anda əgər
Siz itirilmiş hiss qaldırmaq sizin əl, biz heç bir narahatlıq dayandırmaq lazımdır.
Cool.
>> Beləliklə, mən David ki, bir şey hesab edirəm ki, Artıq cür mühazirə qeyd
və Jason cür alluded edib bu gün bir kitabxanadır budur.
Belə ki, proqramlaşdırma, biz bunlar kitabxana çağırıb.
Harada, mahiyyətcə, bütün onlar yalnız bir set olunur
funksiyaları ki, mahiyyətcə yalnız code
Artıq tərəfindən yazılıb başqası biz bütün bilərsiniz
Bizim proqramları çərçivəsində istifadə edin.
>> Belə ki, necə bir normal deyil kitabxana iş, sağ?
Siz kitabxana qapı daxil edin.
Siz bütün bu var kitab çıxarmaq olar
və məlumat əldə edə bilərsiniz o kitab ərzində.
Proqramlaşdırma eyni şey.
>> Əgər siz artıq bir kitabxana var digər insanlar tərəfindən yazılıb.
Və yol edə bilərsiniz ki, proqramçı və ya tələbə kimi,
ki, kitabxana əldə edə bilərsiniz hashtag # daxildir vasitəsilə.
>> Məsələn, C biz da üç C-ən
adətən üç C standart istifadə , giriş / çıxış kitabxana kitabxanalardan
string kitabxana, və riyaziyyat kitabxana.
>> Ilk ərzində So neçə problem dəstləri
bu üç olacaq ki, ilk növbədə istifadə edirik.
Artıq David kimi So mühazirə izah,
standart I / O kitabxana, və ya standart giriş / çıxış kitabxana
dəqiq ki, yoxdur.
Bu giriş üçün, kodu, sizə imkan verir istifadəçi və çıxış bir şey ki,
ekran, mahiyyətcə ekran çap.
>> Və belə ki, heç bir zaman, hər hansı bir funksiyaları istifadə məsələn funksiyası printf () olan
biz növbəti slayd üzərində getmək olacaq standart daxil əmin olun I / O
kitabxana və ya başqa siz fikrində deyilik printf () funksiyasından istifadə edə bilərsiniz.
, Çünki proqramçı kimi həqiqətən, funksiyası yazıb, heç vaxt
Yalnız kimsə istifadə etdiyiniz öz kodu ərzində Başqa kodu.
>> Bu mənada hər kəs varmı?
Cool.
>> Və sonra biz mahiyyətcə üzərində almaq string.h kitabxana və math.h
yalnız kitabxana bildirir H kitabxana, digər kitabxanalar ki, nəticədə lazımdır
Kodunuzdaki istifadə etmək.
>> Lakin, məqsədlər üçün Bu kitabxana, biz də
biz də bu sinif of yaxşıdır nə CS50 kitabxana adlanır,
cs50.h, biz üçün sizin okuma yaratmışdır
çox əhəmiyyətli və faydalı funksiyaları.
Belə ki, siz bir proqramçı off piggyback bilər
biz artıq belə yazdıq bu funksiya mövcud
istifadə üçün.
>> Mən bir neçə əhatə olacaq funksiyaları çox istifadə
lakin bu bilirik ki, bütün googleable online.
, Çekinmeyin CS50 kitabxana qoparmaq və sonra orada bütün funksiyaları var.
Bəli.
>> HOPARLÖR 5: olmasa Belə ki, proqram istifadə edərək ki,
bizə təmin edilir sinif, ki, yoxdur
biz download və tapmaq üçün istədiyiniz demək Bu mövzu özümüzü fayl və demək
bu kompüter?
>> ANDI PENG: Böyük sual.
Məhz.
Belə ki, siz değilseniz kimi bir kitabxanada fiziki,
sizin üçün heç bir yol yoxdur həqiqətən getmək və onu daxil.
Eyni şey belə C siz proqramlaşdırma
bizim istifadə etdiyiniz əmin etmək lazımdır cihaz kitabxana artıq, çünki
daxil edilmişdir.
Və sonra hashtag zaman # daxildir var kitabxana var.
Bəli.
Yaxşı sualdır.
Hər kəs yaxşı?
Cool.
Oldu.
Belə ki, biz, hit olacaq mahiyyətcə, nə
ilk funksiyası biz proqramçılar kimi
bizim kodu ərzində istifadə etmək niyyətindədir.
Bu printf () funksiyası adlanır.
Belə ki, printf () funksiyası, mən var kimi artıq son slide bildirib,
standart I daxil olan / O, standart giriş / çıxış, kitabxana.
>> Siz etmirsiniz etdiyiniz hər hansı belə əmin olun oh, mənə lazer grab imkan göstərici
zaman istifadə etdiyiniz printf () funksiyası,
Siz I / O standart daxil var kitabxana və ya başqa, siz tərtib edərkən
Əgər bir səhv almaq olacaq , kompüter kimi olacaq, çünki
printf () olduğu oh mən bilmirəm, Mənə izah olduğunuz printf ()
edir.
Yaxşı printf () daxil edilir standart I / O, belə ki,) (printf istifadə edərkən,
ki, var əmin olun Sizin kodu Yuxarıda line.
>> Belə ki, məsələn, printf () burada bir funksiyası var.
Bunu bütün çap həyata bir şey deyil istifadəçi mötərizə içərisində.
Heç bir zərbə almaq istəyirsiniz code hüququnun nə bu xətt
burada çap gedir?
Beləliklə, cavab ekran var.
Hər kəs?
>> VERDI: alt.
>> ANDI PENG: Verdi, niyə getmək yoxdur irəli və bütün şərh demək?
>> VERDI: Salam, mənim adı Andi və mən 20 yaşında deyiləm.
ANDI PENG: Ah, sevimli.
Bu istiqamətdə biz olacaq, belə ki, , mənim ad Andi edir, Salam, çap
Mən 20 yaşım olan gerçək bir bəyanat əslində.
>> Sintaksis.
Sintaktik məsələləri belə neçə ki, Sizlərin Bildiyiniz əmin etmək istəyirəm.
Quotes.
Double quotes demək kompüter ki, daxili hər şey
çap gedir.
>> Can daxilində hər şey yalnız tam olaraq necə
Siz istisna olmaqla, yazın adətən sonunda,
biz daxil etmək istəyirəm olacaq bir hash oh sorry bir dash n.
Belə ki, bir dash n.
>> Hər kəs bir tahmin etmək istəyir ki, kodu edir nə?
Bəli.
HOPARLÖR 6: yeni xətt onu qoyur.
ANDI PENG: Məhz.
Belə ki, bu nə deyil nə olursa olsun imkan
Bundan sonra, bu bəyanatdan sonra, yeni xətt çap olunacaq.
Yazılı etdiyiniz zaman ki, sizin code təsadüfi şeylər yoxdur
sonuna köklənmiş Siz istəmirəm ki.
Hər şey olur səliqəli bir xətt çap
və sonra aşağıdakı xəttində başlamaq.
>> Hər kəs nə yadda varmı biz kodlaşdırma etdiyiniz zaman nöqtəli vergül edir?
Bəli.
>> HOPARLÖR 7: Statement.
>> ANDI PENG: Bağışlayın?
>> HOPARLÖR 7: Bu bəyanat bitirmək deyil?
>> ANDI PENG: Bəli.
C, və ya hər hansı bir proqramlaşdırma belə dil, nöqtəli vergül
proqramlaşdırma xəttinin sonuna bildirir.
Belə ki, məsələn, İngilis dili biz müddət istifadə demək, oh, bu son bir cümlə var.
Proqramlaşdırma eyni şey, biz bir nöqtəli vergül bir xətt sonunda adlanır.
Oftentimes, zaman etdiyiniz proqram başlayaraq,
siz dərk edəcəyik bir nöqtəli vergül əlavə etmək üçün unutmaq
və sonra çalıştırmak üçün cəhd edin kodu və bu iş deyil.
Və Ah, kimi istəyirik, mən deyil Bu iş niyə, bilirik.
>> Fırsatlarımız yəqin ki, bir unuttum var nöqtəli vergül və ya bracket və ya bir şey
yerdə.
Belə ki, xatırlamaq vacibdir.
Cool.
Bütün hüquqlar, əlləri show, necə Burada bir çox insanlar heç
AP Computer Science və ya qəbul Heç əvvəl Java proqramlaşdırılmış?
OLDU.
Lovely.
Bu tətbiq olmayacaq sonra, lakin Java, siz
System.out.println deyilən bir şey var C. mövcud deyil ki,
>> Zaman siz C So dəyişənlərin əlavə etmək istədiyiniz
Bir şey daxil istədiyiniz var, çap
xüsusi syntax istifadə etmək olacaq.
Ki, deyirlər mahiyyətcə placeholding--
Biz yerdə placeholders əlavə tam və ya dəyişən
biz çap etmək istəyirəm ki,.
>> Uşaqlar Gördüyünüz kimi, biz daxil etdik yeni kitabxana header burada fayl.
CS50 kitabxana.
Və CS50 kitabxana ərzində olan biz istifadə edəcəyik ortaq funksiyası
Bizim kurs GetInt adlı ().
>> Heç bir zərbə almaq istəyir GetInt () bəlkə nə edir ola bilər.
>> Auditoriya: [işitilemez]
>> ANDI PENG: Sorry.
Sizə eşitmək bilməz.
Maddie, hər kəs.
Maddie: Oh, bu tələb bir tam üçün.
ANDI PENG: Məhz.
Belə ki, bu funksiya, başqa artıq funksiyası
başqası tərəfindən yazılıb ki, biz indi ilə zəng edə bilərsiniz.
Bu bütün, istifadəçi təklif edir, Siz kod kimi istədiyiniz hər hansı daxil
çalışan və bu whatever-- mağazalar bu halda biz GetInt () etdiyiniz - ing,
belə ki, biz istəyirik deməkdir tam əldə.
>> Və biz saxlamaq olacaq başqa tam da
biz yalnız adlı yaş etdik ki.
Hamı üçün mənada ki?
Cool.
>> Belə ki, indi biz bu tam saxlanılır etdik ki, biz istifadəçi istenir etdik ki,
bu dəyişən, biz yaş adlanan növü int yaradılmış,
biz irəliyə və yer getmək bilər ki, printf () funksiyası.
Belə ki, printf üçün adətən sintaksis (deyil) ki, harada faktiki fiziki da
line ki, tam daxil etmək istəyirəm, Siz orada ki, simvolu etmək
ilə yüzdə simvolu, Istədiyiniz dəyişən növü.
>> Belə ki, bu halda yaş bir tam deyil.
Belə ki, daxil olacaq % I tam çünki.
Və sonra sonra sizin Şərhdə, siz olacaq
vergül və bunu dəyişən adı.
>> Odur ki, biz çap olacaq həyata, Salam, mənim ad Andi deyil,
Mən boş yaşım var.
Sorry, Hashta-- və ya, nə mən daxil olan yaş.
Əgər mən daxil idi Burada mənim GetInt 20 ()
Bu eyni şey çap olardı.
Amma mən daxil bir şey istəyirdi başqa, bəlkə 40 və ya 45 kimi,
sonra ki, əks görmək olardı müvafiq kodu.
>> Belə ki, bu bir nümunəsidir bir şey olan
Bu çap və görünür Siz eyni şey kimi,
lakin başlıq altında həqiqətən var kompüter
çox fərqli şeylər olur.
Cool.
Oldu.
Beləliklə, biz çox dəyişənlər nə istəyirsinizsə?
Olduqca asan.
Eyni şey.
Biz də yeni funksiyası var burada) (GetString adlı
də, CS50 kitabxana daxil Bunu bütün istifadəçi təklif edir ki,
bir simli üçün simvol yalnız bir set,
belə bir cümlə kimi və ya bir ad kimi.
>> Belə ki, bu halda, biz iki var ki, string və% i üçün placeholders% s
tam üçün.
Və biz izləmək olacaq ki, iki dəyişənlərin ilə
biz üçün daxil istədiyiniz Onlar cümlə görünür ki.
Belə ki, məsələn, mənim adı boş, mən orada bir ad istəyirəm
mən ilk adı gedirəm.
Və sonra sonra, mən istəyirəm yaş, yaş ikinci olsun.
Və mən, Salam, giriş istəyirdi Mənim adım Andi və mən 20 yaşında deyiləm.
Mən Andi və 20 inputted əgər eyni şey çap olardı;
Ancaq indi biz iki var saxlanılır etdik adı dəyişənlərin həmçinin int.
Bəli.
>> HOPARLÖR 8: olacağını Siz işə əgər run edə
ad və sonunda yaş?
>> ANDI PENG: Bəli.
Bu, həqiqətən, yaxşı sual.
Belə ki, uzun hekayə qısa, no.
Çünki adı və age-- nə dəyişən növü adı?
>> HOPARLÖR 8: String.
>> ANDI PENG: nə dəyişən növü yaş?
>> HOPARLÖR 8: tamədədli.
ANDI PENG: Belə ki, burada biz bir tutucu var simli və tam üçün, sağ?
Belə ki, bu keçid olsaydı, kompüter bilmək niyyətində deyil.
Bu simli yoxlamaq olacaq, və siz bir int vermək üçün cəhd edin,
bu kimi olacaq Mən səhv edirəm, sizə gözləyin
Mən olmalıdır mənə bir int üçün yaddaş verilməsi.
Və burada, zaman Bu tam gözləyir
və bir ad vermək və simli əvəzinə,
bu da çox confusing olacaq, onu dəqiq sizə lazım yol çalışmaz.
Belə ki, burada, adlandırma və sintaksis kodu çalışan üçün çox əhəmiyyətli.
Hər kəs yaxşı?
Bəli.
Maddie.
>> Maddie: Burada biz baxdı etdik bilirik sinif nümunələri, harada onlar xahiş
yaş nə, sizin adı nədir.
Burada ki, doesn't-- olardı biz bu kodu run olsaydı,
ki, xahiş edirəm?
Amma yalnız giriş iki ədəd olardı və sonra bu kimi çalışır?
>> ANDI PENG: Bəli, dəqiq.
Siz bunun üçün istəyirdi Belə ki, ekran, yaş daxil edin
Yalnız bir printf () funksiyası əlavə edə bilərsiniz ki, yaş daxil edin deyir
yuxarıda.
Yaxşı bir sual var.
Bəli.
>> HOPARLÖR 9: Belə ki, artıq olardı GetInt daxil () [işitilemez].
ANDI PENG: Xeyr, bu, həqiqətən deyil.
Belə ki, bu ki, bütün yalnız boş ekran tələb
input bir şey üçün istifadəçi.
Siz çap istəyirsinizsə, onu istəyirsinizsə, kimi istifadəçi deyir bir şey,
Daha sonra mənə yaş verin () özünüz ki printf lazımdır.
Hər kəs bu istifadə edir, çünki müxtəlif şey üçün funksiyası,
Siz yaş saxlanılması bilər Siz, ünvanı saxlanılması bilər
Siz telefon nömrələri saxlanılması ola bilər.
Və belə qədər həqiqətən Sizin uşaqlar "fərdi istifadə
istədiyiniz nə üçün demək.
Bəli.
>> HOPARLÖR 10: Belə ki, yalnız burada aydınlaşdırmaq üçün siz giriş adı və yaş yoxdur
Bu% s yerinə göstərir ki?
>> ANDI PENG: istifadəçi kimi?
>> HOPARLÖR 10: Bəli, necə Mən nə Mən Andi qoymaq harada pseudocode etmək,
və mən 20 qoymaq bilərəm?
>> ANDI PENG: Bəli.
Belə ki, olsaydı həqiqətən, bu kodu run,
Mən, həqiqətən, çalışan deyiləm indeksi, bu indi yalnız burada.
Mən kodu çalıştırmak üçün olsaydı, mən , kodu tərtib fayl etmək,
kodu run, və sonra ki yalnız giriş onu mənim üçün iki fəzalarında ola bilər.
Bəli.
Siz oyun zaman uşaqlar görəcəksiniz kodu özünüz ətrafında.
>> Biz hərəkət olacaq All right növbəti hissəyə nə
biz bu gün əhatə olacaq.
Biz artıq getmək olacaq nə şərti hesabatlarıdır.
Sizlərin yadda əgər Belə ki, və mühazirə geri
şərti hesabatları onlar bütün bir set var
kompüter üçün təlimat olan müəyyən bir vəziyyət doğru olarsa,
Əgər siz kodu icra şərti daxilində.
>> Scratch-- Belə ki, mahiyyətcə Bu gün böyük mövzu
uşaqlar artıq bütün var ki, hər şey arxasında məntiqi görüldü
ki, biz əhatə edirik.
Və biz edirik bütün bir şey tərcümə
ki, çox asan idi Scratch, və kodlaşdırma ağır
sintaksis daxil biz istifadə edəcəyik C. edir sinfi üçün
Belə ki, məntiqi, bütün bu blok idi orada kodu ki, parça.
Bəli.
OLDU.
>> Biz də başqa ... əgər almaq yalnız bir əlavə qat bəyanat
əgər şərhə mürəkkəbliyi kompüter bu bir göz edir haradan
bu şərt doğru əgər, nə görür Bu iki Mötərizədə daxilində nə var,
else-- cür default əgər kimi Bu vəziyyətdə Bunu cavab vermir.
Bu yol bir çəngəl kimi.
Ondan kənarda Yağış yağır, mən qoymaq bir yağış jaket, başqa bir şey
başqa mən bir yağış jaket qoymaq deyil.
>> Ki, məntiq hamıya mənada edirmi?
Cool.
Oldu.
Çətin misal kimi, belə ki, biz C görmək olardı ki, bu
Mən yaratmaq istəyirdi əgər dəyişən adlı ödev saat.
Və ödev saat az olduqda beşdən, mən Life böyük deyirlər.
Bu gözəl deyil.
Lakin, mübarizə real-- demək olan bu bazar ertəsi günü nə biz bütün
günorta qədər Science Hill var yəqin ki, sağ, indi bunu
Auditoriya: [gülür]
ANDI PENG: Onlar yolu biz ki, sizə təşəkkür edirəm.
biz hardcode olardı yolu C bu nin güman edək Varsa edir
biz artıq növü dəyişən var int burada ödev saat çağırıb.
Ödev saat azdırsa Beş printf (), Life böyükdür.
Unutmayın saxlamaq / n, çünki sonra yeni bir xətt istəyirəm.
Else çap, mübarizə real deyil.
>> Hər kəs necə başa düşmək olar Bu blok transitioned
kodu bu blok daxil?
Cool.
Oldu.
>> Belə ki, indi biz nəzər olacaq cəmi neçə varsa hesabatları.
Belə ki, güman edək Bu proqramın məqsədi
biz bir sinif üçün istifadəçi təklif idi.
Biz üçün GetInt () istifadə Prompt Bu sinif və onlar input dəyəri,
və keçirmək üçün istədiyiniz sinif hansı növü onlar var.
>> Belə ki, mən, bir proqram dizayn idi Gözümüzün bütün adətən demək,
90-100 bir A, 80-90 bir B, və s və s.
Bu səhv nədir bu deyil kod parçası
Mən bunu istəyirəm nə.
Bəli.
>> HOPARLÖR 11: Onlar aşağı məhdudiyyətlər var lakin onlar yuxarı həddi yoxdur.
>> ANDI PENG: Məhz.
Hamı o bildirib nə eşitmək mi?
Yuxarı olmalıdır olacaq məhdudiyyətlər, lakin heç bir aşağı hədləri.
Bağışlayın, ətrafında digər yol, aşağı hədləri, heç bir üst məhdudlaşdırır.
Belə ki, istəyirəm deyərək bir zərbə almaq
nə bu çap olunacaq ekran bu kodu run əgər.
HOPARLÖR 11: bir səhv?
ANDI PENG: bir səhv?
Böyük tahmin, çox doğru deyil.
Heç bir zərbə var?
Bəli, Aaron.
>> AARON: Siz qoymaq 90-dən çox bir şey,
bu var bütün notları gösterir.
Bu A var göstərir ki, Bir B var, bir C. var
>> ANDI PENG: Bəli.
Ki, tam olaraq doğru.
Belə ki, gözəl olardı.
Lakin, onlar qarşılıqlı var Eksklüziv, mən hesab edirəm.
Mən olsaydı kodu bu parça çalıştırmak üçün.
Və sonra yalnız deyək, mən 95 dərəcəli inputted.
Belə ki, 95 indi saxlanılır the grade adlı int.
>> Və belə C bir dil ki, alt üst qədər uzanır
belə ki, həmişə olacaq alt qədər axır.
Belə ki, bura gəlib gedir, əgər oxumaq Bu sinif, və ya daha çox 90 bərabərdir
printf () bir A. Great Mən var 95 var ki, 90-dən çox deyil.
Bu çap olacaq, Mən olacaq bir A. var
, gedir, əgər bu nəzər 95 həmçinin 80-dən çox deyirlər
bu da Got var çap olacaq , və s və belə bir B nida işarəsi
irəli.
>> Biz bütün Gördüyünüz kimi, Bu ortaq səhv
Biz istəyirik ki baş verə bilər kodu yazmaq üçün baxmaq.
Hər kəs, hər hansı bir sualınız haqqında niyə ki baş verirdi?
Great.
OLDU.
>> Beləliklə, biz bu düzeltmek necə, açıq-aydın deyil məntiqi növbəti sual.
Bəli, biz bu gözəl var başqa başqa əgər adlı şeyi
başqa hesabatları əgər.
Siz görə bilərsiniz, əgər istəyirdi ki, problem dəyişdirmək üçün,
Siz hər etmək istəyirdi qarşılıqlı eksklüziv şərait,
Bir başqa əlavə edəcək ... bəyanat əgər.
>> Və course-- bu kimi hesab merdivenler, və ya ladder-- on rungs kimi
Siz bu kimi bir çox əlavə edə bilərsiniz Istədiyiniz kimi bir çox şərtlər istəyirəm.
Mən dərəcəli inputted əgər Belə ki, burada 95 olacaq.
Bu sinif 95-dən çox olduqda, printf (), Mən A. Böyük var.
Bu başqa görmək olacaq ... əgər və bunu olacaq, heç bir Oh,
Mən artıq başqa ilk icra.
Mən bilirəm və ya ilk Varsa mən bilirəm ki, Mən bu hər hansı baxmaq yoxdur
Onlardan biri, çünki Artıq doğru olmuşdur.
Belə ki, aşağı üst run olacaq.
Kimi tezliklə ilk bir, sonra doğru kimi bütün qalan üzərində keçmək olacaq
Başqa ... ifs.
Ki, hissi edirmi?
Belə ki, bu yolla var yoxlanılması müxtəlif səviyyələrdə
və tezliklə onlardan biri, yalan kimi Qalan də, onlar hətta yoxlamaq olmaz.
Cool.
Oldu.
>> Belə ki, bu fərqli bir nümunəsidir şərti bəyanat sort
biz az tez-tez görmək, lakin biz onları görmək və onları istifadə edəcəyik.
Onlar tez-tez daha istəyirik Müəyyən hallarda səmərəli.
Beləliklə, biz deyirlər nə var bir keçid bəyanat.
Beləliklə, biz bir başqa nə əhatə əvvəl Şərhdə, bir əgər ... başqa bəyanat.
Burada nə var var switch hesabatları çağırıb.
>> Nə zaman belə ki, biz keçid istifadə əsas hesabatları var?
Bir keçid şərhdə belə adətən, adətən, həqiqətən
üçün yalnız giriş integers sizin Siz kontrol edirik dəyişən.
Mən kontrol istəyirdi Belə ki, Məsələn üçün müəyyən bir saysız
bir sinif bir 90 var, əgər.
Hesab edirəm ki, A, əgər görmək istəyirik B, və ya C. Mən burada bir halda ola bilər.
Lakin, hal var başqa daimi olmalıdır.
>> Bu mənada belə switch bəyanat yalnız
iki ədəd bərabərlik yoxlayın.
Bu başqa bir şey yoxlamaq deyil.
Ki, belə bir şey çox olmaq Bu istifadə etdiyiniz zaman ehtiyatlı.
Mən yoxlamaq istəyirdi Belə ki, burada görmək 90 Mənim grade 90 və ya 80 bərabər olduqda
və ya 70 və ya 60, sonra çap müvafiq Bu sinif,
Hesab edirəm ki, yazmaq edə olarıq bir keçid şərhdə.
>> Belə ki, bura gəlib gedir, çek Bu daimi bərabər bu tam?
Əgər, bu keçmək olacaq.
Bu daimi bərabərdir iki, və s və s,
Siz default hit qədər, Onların heç biri bərabər olduqda.
Kimi tezliklə onlardan biri kimi bərabər olmaq üçün müəyyən edilir,
Bu nə olacaq kodu və fasilə xətt.
Hansı ki, hit olacaq deməkdir run qırmaq və yalnız tamamilə keçmək
kod altına.
Funksiyaları Belə ki mənada cür Şərhdə, əgər başqa, əgər varsa, başqa kimi.
>> Belə ki, burada konkret var uşaqlar üçün nümunə.
Belə ki, mən istəyirdim ki, fərz edək il təsis adlı dəyişən yaratmaq.
Mən giriş istifadəçi təklif istəyirəm onların məktəb təsis edilib ki, il.
Mən burada bir keçid bəyanat yarada bilərsiniz.
Və mən giriş 1636 ədalətli deyək.
>> Burada Bu code keçid görmək üçün gedir il 1636 bərabər olan yaradılmışdır.
Bu halda görmək olacaq 1636, o bərabər oh,
printf () ola bilməz ki, məktəb up şimal?
Biz güman çünki onlar deyil onlar Harvard getmək əgər burada getmək,
qırmaq və sonuna keçmək.
>> Mən giriş 1701, olsaydı hansı Mən bizim bütün giriş güman
Bu halda keçmək olardı, gəlib halda 1701 iki aşağı,
və Yale çap gəlmisiniz!
Qırmaq sonuna keçmək.
Else siz yəqin ki, bu kurs atırıq online olan zəhmli xoş case--
Bu getmək olacaq Yale-- üçün default çap, İnternet Salam!
Və fasilə.
Bəli.
>> HOPARLÖR 12: Başqa istifadə edə bilərəmmi əvəzinə orada default?
>> ANDI PENG: Xeyr, çünki yol bu bütün funksiyası
keçid inşa edilir, sintaksis sizə istifadə etmək lazımdır halda iddia default edir.
Əgər başqa, bu halda kimi bir bu halda işi default var. Bəli.
HOPARLÖR 13: Siz bəlkə artıq bildirib, ancaq iki halda daha çox ola bilər?
ANDI PENG: Bəli, siz bilər Istədiyiniz kimi bir çox hallarda var.
Yalnız kimi düşünün sonsuz haqqında əlavə.
>> HOPARLÖR 14: Əgər , 1636-cı ilə 1701 işə
bu, həqiqətən etmir bir fərq sağ?
Bu, yalnız bunun üçün yoxlanılması olacaq.
>> ANDI PENG: Bu var həqiqətən yaxşı sual.
Və biz də toxunmaq lazımdır Bu sonra, ancaq
ki, keçid bilirik Şərhdə bu Sonsuz edir
bu daha əgər daha səmərəli başqa fəaliyyət çünki
funksiyası bir növ istifadə edərək mahiyyətcə, yalnız, sizə imkan verir
düz jump halda siz olmaq lazımdır.
Bəli.
HOPARLÖR 14: Cool.
Thanks.
ANDI PENG: Bəli
>> HOPARLÖR 14: Və bilmədi hallarda kimi və daha çox yoxdur.
ANDI PENG: Xeyr
Belə ki, haqqında məhdudlaşdıran nə var switch bəyanat var ki,
yalnız, yalnız integers sabitləri var.
Bəli.
OLDU.
>> Belə ki, bu bir şeydir ki, uşaqlar, az tez-tez qarşılaşacaq
amma yalnız istədi halda təqdim.
Biz nə burada var bir ternary operator çağırıb.
, Yalnız bir burada mahiyyətcə kimi oldu Şərhdə bir xətt daxil tərtib əgər.
Burada növbəti line üzərinə getmək lazımdır, Növbəti səhifə, daha asan, çünki görmək.
>> Beləliklə, biz bütün bu hüququ gördüm?
Bu riayət etmək olduqca asandır.
Mən adlı dəyişən yaratmaq istəyirdi string adına, əgər müəyyən bir sıra
Mən, bu 100-dən az vermək simli aşağı təyin etmək istəyirsinizsə,
başqa mən yüksək təyin etmək istəyirəm.
>> Burada bu eyni şey edir kod o səkkiz xətləri edirik.
Belə ki, burada mən yaratmaq istəyirəm dəyişən string.
Və bu mən deyiləm şərtdir bir sıra 100-dən az olarsa, yoxlanılması,
sonra, aşağı dəyəri təyin başqa yüksək dəyər təyin.
>> Bu slaydlar, heç bir narahatlıq online olacaq Sizlərin bu aşağı deyil.
Bu yalnız bir sadə yol, bir çox yazılı kodu səmərəli yoludur.
OLDU.
>> Belə ki, indi biz olacaq çox insanlar üçün nə daxil
bir çox, çox confusing kimi şey ilk düşünmək.
loop bölmə.
Belə ki, bu gün biz danışmaq olacaq loops üç növ.
Biz bir müddət ilə başlamaq olacaq loop, sonra bir nə isə loop haqqında danışmaq
və sonra loops üçün haqqında danışmaq.
>> Belə ki, mahiyyətcə, daha çox Orada vizual öyrənənlər,
biz mahiyyətcə, qrafik var bir müddət loop nə təsviri.
Bir proqramlaşdırma Belə ki, başlayır və müəyyən bir nöqtədə loop daxil edin.
Siz vəziyyəti yoxlamaq.
Və vəziyyəti doğru olarsa, daxili kodu icra.
Və ətrafında geri gəlmək və yoxlamaq.
Bu hələ doğru Əgər çalışan saxlamaq bir loop ətrafında və ətrafında bu kodu.
>> Ki Ancaq ikinci vəziyyəti, yalan olur
Siz qırmaq və loop son olacaq.
Bu mahiyyətcə Siz istifadə etmək olacaq sintaksis.
Müəyyən bir vəziyyətdə isə bu doğru deyil, əgər doğru, bunu
Siz son keçmək olacaq və proqramı ilə irəli hərəkət.
OLDU.
>> Hər kəs bir nümunə yoxdur potensial ola bilər nə
Mən kodu bu parça çalıştırmak üçün cəhd?
Yeri gəlmişkən, o Scaz, Andi var SAJ-- Biz e-poçt off imzalamaq lazımdır Jason--,
, Sac sevirəm.
Ki, var.
OLDU.
>> Hər kəs bir nümunə var, və ya Bu çap olardı nə bir fikir?
Bir oyun sual növü.
Belə ki, burada, vəziyyəti xatırlayıram doğru isə biz kontrol edirik.
Bu doğru isə, belə çap gedir, mən Saj ​​sevgi!
Biz istədiyiniz hər hansı bir məqam var başqa bir şey bu dəyişdirmək?
Sağ, No?
>> Burada Belə ki, biz var yəqin ki, nə rast
bir çox bugging olacaq Sizin proqramları, sonsuz loop.
Siz tapa bilərsiniz ki, əgər , kodu bu parça run
yalnız saxlamaq olacaq çap, mən Saj ​​sevgi!
Biz dəstək üçün təşəkkür edirik baxmayaraq, biz kompüter istəmirik
çünki qəza Mən Saj ​​sevgi çap saxlamaq!
>> Belə ki, xahiş edirik, xahiş edirik, sonsuz loop qarşısını almaq
gedir, heç vaxt, çünki saxta qiymətləndirmək
və siz heç vaxt olacaq loop tərk etmək.
Və olacaq əbədi sucked.
Cool.
OLDU.
loop ikinci növü biz bu gün haqqında danışmaq lazımdır
loop isə nə isə loop do edir.
Və bir do loop isə deyirlər Bir do və bir müddət var, çünki.
Belə ki, bu bir müddət olduqca oxşar loop, lakin bir az fərqli.
Burada, nə olacaq bu daxilində nə var
müəyyən bir vəziyyət doğru edir.
Belə ki, əgər mən C və mən kompüter idi Kodu bu parça aşağı çalışan,
Mən üst bir göz atın.
Mən bu şey demək, C gedin.
Və sonra mən bu isə yoxlamaq doğrudur, mən bunu təkrar var.
Amma bu yalan isə, sonra irəli hərəkət
və mən yenə geri loop getmək heç vaxt.
>> Heç bir zərbə bilər nə fərq
Bu loop və biz arasında sadəcə demək olar idi baxdı.
Bəli.
HOPARLÖR 15: vəziyyəti mindikdən sonra yerinə əvvəl?
ANDI PENG: Məhz.
Belə ki, o deyib vəziyyəti sonra deyil, əvvəl gəlir.
Nəticədə, fərq Bu isə loop arasında
Yalnız nə olacaq ki, asılı olmayaraq, bu daxilində nə var
Sizin şərtdir və ya doğru, sonra vəziyyəti yoxlamaq.
Belə ki, bu halda, siz etdiyiniz always-- bu şəkildə,
Siz həmişə əmin edirik nə içərisində azı çalışır
bir dəfə görmək yoxlanılması əvvəl Əgər siz yenidən run.
>> Və burada bir nümunəsidir biz bunu istifadə edəcək zaman.
Belə ki, məsələn, mən istəyirdi var yaş adına növü int dəyişən,
Mən təklif etmək istəyirəm yaş üçün istifadəçi,
I) (printf etmək gedirəm Neçə yaşın var?
yaş = GetInt (), hansı istifadəçi isteyen olunur.
>> Və bəzi insanlar həqiqətən annoying olacaq.
Və bugs istəmirəm Sizin kimsə proqramı kimi giren
oh Mən 4 yaş və ya hər hansı mənfi deyiləm.
Bu halda onlar əgər bu qiymətləndirir bunu
Mən gedirəm o deməkdir ki, doğru geri gedir və bunu saxlamaq lazımdır.
Belə ki, bu davam edir yenidən isteyen istifadəçi
bir real kimi vermək yaş nömrəsi və bu
geri gedən və redoing saxlamaq niyyətindədir onlar bir real yaş vermək qədər
daha çox, və ya sıfır.
>> Belə ki, ipucu işarə.
Bu, çox, çox faydalı olacaq Sizin pset problemlərdən biri üçün.
Bəli.
>> HOPARLÖR 16: Whoops, sorry.
>> ANDI PENG: Yep.
>> HOPARLÖR 16: orada deyil bir göt olmaq ancaq
ANDI PENG: Heç bir narahatlıq.
HOPARLÖR 16: var --are Burada müxtəlif qaydaları,
və ya sadəcə unutmaq idi kotirovka qoymaq?
>> ANDI PENG: Bəli Oh.
Bağışlayın ki, tamamilə mənim pis.
Ki, mütləq idi kotirovka olması lazımdır.
Yaxşı tutmaq.
Bu run olardı.
OLDU.
>> Belə ki, loop son type biz danışmaq lazımdır haqqında, nəhayət, ən mehriban
Kompleks loop üçün edir.
Əgər deyilsə, narahat olmayın o deməkdir ki, bilirik.
Bu ilk olduqca çaşdırıcı deyil.
Biz nümunə artıq getmək lazımdır.
>> Loop üçün olur ki, bütün üç bəyanatlar var ki,
Siz daxil olacaq ki.
Belə ki, müəyyən bir şey üçün, sen dəyişən başlamaq üçün gedir.
Siz vəziyyəti əlavə olacaq olan bu loop yayınlanmaya davam edir.
Və sonra, sonunda loop, siz onu yeniləmə olacaq.
Siz dəyişən təkmilləşdirə bilər Siz takip etmək istəyirəm ki,.
Belə ki, biz adətən istifadə Biz loops üçün
Bir üçün bir loop almaq istəyirsinizsə dəfə müəyyən
və biz artıq Oh, mən istəyirəm, bilirəm Bu loop, 10 dəfə kimi icra etmək
sonra mən artıq getmək lazımdır do-- Növbəti səhifə nümunə.
>> Belə ki, burada, məsələn, Not, əgər 10 dəfə təkrar bir şey istədilər
bütün idi demək idi, Mən Saj ​​sevgi 10 dəfə təkrar!
olan daha məqbul bizim üçün dəstək nümayişi
daha sonsuz loop çox.
Burada, necə ki C və yazmaq üçün keçid
Mən yaratmaq üçün gedirəm int üçün və ya i adlı növü int bir dəyişən elan.
Mən başlamaq üçün gedirəm Bu 0, belə ki, i = 0;
və bu mənim şərt olacaq.
Belə ki, i az 10 edir.
Və sonra end-- at sen son bəyanatı
üçün gedən yeniləmə nə dəyişən i olur
Sizin loop üçün sonunda.
Belə ki, çünki cür confusing var Bu xəttin müxtəlif hissələri
müxtəlif at olur loop növləri.
Amma artıq getmək lazımdır ki, pseudocode nümunəsi
və bəlkə bu izah yalnız bir az daha yaxşı.
>> Belə ki, burada.
Yəni biz yalnız gördüm loop var.
Əsasən pseudocode, nə Bu proqram baş verir,
ilk mən yaratmaq alıram deyil i, 0 üçün başlatılıyor.
Mən əgər görmək yoxlanılması alıram 10-dən az olan halda
Bu ilk dəfə 0 çünki az 10 edir.
Belə ki, loop run gedir.
Və sonra mən bu xətt çap gedirəm.
Və sonra bu xəttin sonunda, sağ burada, mən i, i ++ artım gedirəm,
bütün vasitəsidir bir incrementing.
>> Mən indi 1.
Mən əgər, bir dəfə 0 idi indi 1 var, bu arttırmayı.
Və sonra mən geri getmək üçün gedirəm loop əvvəlinə
və mən vəziyyəti yoxlamaq.
Hələ şərt doğrudur?
Bəli, 1 hələ az 10 edir.
Belə ki, daha bu çap olacaq getmək və sonra i arttırmayı, və yoxlamaq
şərt davamlı, davamlı,
Siz nəhayət almaq qədər nöqtəsinə i 10 edir.
>> Bu 10 dəfə çap olacaq və sonra i 10 bərabər gedir.
Siz vəziyyəti yoxlamaq olacaq.
10-dən 10-az?
Xeyr, yalan.
Belə ki, bu loop niyyətində deyil run, qırmaq olacaq,
və olacaq Sizin kodu ilə davam edir.
>> Sizlərin bu Gördüyünüz kimi həqiqətən böyük nümunəsidir
loop siz ki, proqram bilər dəfə müəyyən bir məbləği çalışır.
Hər bir aydın?
Bəli.
>> HOPARLÖR 17: Necə artım haqqında dözərək, müxtəlif kodlaşdırma edir?
>> ANDI PENG: Siz biz getmək lazımdır can-- növbəti slayd bu artıq.
Yaxşı sualdır.
Mən hərəkət əvvəl anyone-- deyil Us bütün qarışıq hər kəs,
bu, həqiqətən çətin bir anlayışdır, çünki.
Heç bir narahatlıq, you're-- OK əgər.
Cool.
>> Oldu.
Yalnız ümumi slide.
Bu isə loop edir loop üçün eyni şey idi.
Bu, yalnız fərqli yazılı.
Siz uşaqlar slaydlar diqqətlə oxumaq olar sonra sizin rahatlığınız.
Amma yalnız çox olduğunu bilmək eyni şey yazmaq yolları
müxtəlif loops ilə baş.
OLDU.
>> Belə ki, indi biz sual almaq nə biz bir loop daxilində bir loop var.
Biz real nəzərə alırıq Burada Inception növü stuff.
Siz hər şeyi neçə etmək istədiyiniz zaman digər şeylər daxilində dəfə
ki, şeylər çox dəfə loop üçün nested deyirlər nə istəyirəm.
Sizin üçün ilk bu görmək və çox qarışıq almaq, bütün biz burada edirik
loop olduğu üçün olan Biz sıra dəyişən var.
Amma içəridə, biz də başqa var adlı dəyişən sütun loop üçün.
Və Mən sizə bütün gəlir ilk saxlamaq səhv
bu cəlb track--, bu cəlb edir.
Yalnız səbəb cəhd etməyin vasitəsilə, onu cəlb edir.
>> Bu parça sizin rəhbəri, kağız, və ya hər hansı, yazmaq satır,
sıra bərabərdir nə takip.
Takip sütun yazmaq nə sütun bərabərdir.
Və nə takip hər iteration ilə çap.
Bu loop hər iteration, hər ki, böyük loop iteration,
yalnız məntiq aşağıdakı saxlamaq.
Mən sizə zəmanət, Siz görmək nə siz sevgi lazımdır
bu, çox da var, çünki Sizin problem dəstləri üçün tətbiq.
Cool.
Oldu.
Ən mühüm şey belə uşaqlar yəqin ki, bütün var ki,
İndi haqqında düşünür, Sizin Problem Set 1s,
olan Cümə axşamı / Cümə əlaqədardır.
>> Sizin water.c Proqramda, Siz var olacaq işarə
giriş üçün istifadəçi təklif edir.
Sizin mario.c proqram çərçivəsində Siz var olacaq
olan loop üçün nested istifadə etmək loop üçün daxilində üçün loop,
mahiyyətcə, piramida blokunun çap nə kimi Mario vasitəsilə jump var.
Və sonra daxili greedy-- ya bəlkə Əgər hər hansı bir uşaqlar varsa, dəyişiklik edilməsi
Heç that-- eşitmişəm Siz çox olmalıdır olacaq
ilk üzən point dəyərləri ehtiyatlı.
Unutmayın üzən ondalık və integers eyni şey deyil.
Biri olan takip edin.
Və istifadə etmək olacaq şərti hesabatları, eləcə də.
>> Bütün sağ, son şey.
Mən sol bir neçə dəqiqə var.
Style.
Belə ki, bu deyil bir şey deyil həqiqətən səmərəliliyinin təsir,
və ya kod faktiki çalışan.
Lakin, kimi təsir Sizin qreyderlər, sizin oxucu kimi.
Siz etdiyiniz əgər, özünüzü təsir bir problem tapmaq üçün çalışırıq.
Bu kod okunabilirlik təsir.
>> Siz çalışdığınız zaman kimi belə stil, əgər, İngilis dili üçün inşa stil
bəndlərə yox idi, cür hər şey var
bir xətt birlikdə jumbled, onu heç bu, həqiqətən çətin edir
belə, inşa oxumaq üçün Sizin xal məntiqi səs var.
Proqramlaşdırma eyni şey.
Siz horribly qaranlıq ola bilər Scaz əhatə edəcək indeksi,
və hələ run və funksiyası bilər.
Amma bizim üçün, kimi sevimli TAS olacaq oxu və psets qiymətləndirilməsi,
ki, çox gözəl deyil.
>> Belə ki, xahiş edirik, naminə bizə və özünüzü,
zaman düzeltmek üçün çalışırıq Sizin kodu bir problem,
və çalışdığınız Öz kodu oxumaq etmək
Siz bəzi konvensiyalara əməl biz artıq getmək olacaq ki.
>> Belə ki, ilk.
Sizin dəyişənlərin mənalı adlar verirlər.
Siz tam saxlamaq istəyirsinizsə yaş adlanan bu yaş adını edin.
Bu boyu adı yoxdur.
Zaman çalışdığınız hündürlüyü bir yaş saxlamaq,
hər şeyi edir bizim üçün çox confusing.
Biz səhv etmək kimi deyil.
Siz səhv etmək kimi deyil.
Heç bir səhv etmək bəyənir.
Əgər bir şey yaratmaq üçün olacaq, bu mənalı bir şey adı.
>> Lakin, loop üçün, bir karakter dəyişənlər adətən gözəl edir.
Və loop üçün, əgər siz yalnız i, və j, k, yalnız bunu çekinmeyin.
>> Ardıcıl başlatma.
Belə ki, nə deməkdir?
Ki, nəzəri, texniki deməkdir Siz başlamaq və yarada
eyni xətt üzrə çox dəyişənlər.
Belə ki, məsələn, mən yarada scaz_age adlı tam,
və tam, andi_age 20 = adlı və tam jason_age adlı
eyni xətt üzrə.
Mən də yalnız bir təyin edə bilər Onlara və dəyərlərə deyil, s.
Biz bunu etməyin xahiş edirik.
Çünki burada mahiyyətcə yaratdıq üç dəyişənlər, lakin onlardan yalnız biri
həqiqətən bir dəyəri var.
Və sonra biz olduğunuzda kodu oxumaq üçün çalışırıq,
və ya düzeltmek üçün çalışdığınız əgər Sizin kodu bir problem,
Bu riayət etmək çox confusing var.
Belə ki, yalnız sizin okunabilirlik üçün üçün Bizim okunabilirlik ki, yoxdur.
>> Ardıcıl qıvrım aşırma.
Bəzi insanlar onların qoymaq istəyirəm müxtəlif yerlərdə qıvrım aşırma.
Bu, həqiqətən etməz.
Yalnız ardıcıl etdiyiniz əmin olun Sizin Əgər siz onları qoymaq istəyirəm harada öz kodu.
>> Ardıcıl spacing.
Bir sonra boşluq qoymaq loop üçün, həmişə bunu.
Yalnız kimi növ bunu etməyin bəzi yerlərdə, başqaları bunu etməyin.
Just ardıcıl olun.
>> İkincisi, heç istəyirsinizsə, CS50 Style Guide diqqətlə oxumaq,
biz rəsmi style guide var ki, , bu konvensiyaların bütün deyir
plus daha çox.
Bu online.
Bu cs50.net/style kimi ya kimi bir şey.
Siz google bilər.
>> Ardıcıllıq açardır.
Belə ki, narahat olmayın nə digər insanlar edirik
yalnız əmin olun öz kodu ərzində ardıcıl.
Hər kəs bu barədə hər hansı bir sualınız?
Bəli.
>> HOPARLÖR 18: Belə ki, düzgün şey başlatma yalnız ilə
ayrı onlara bütün var line, nə deyərək edirik ki?
>> ANDI PENG: Mən nadir hallarda bu baş var.
Istəyirdi əgər Lakin, istəyirdi əgər Sizin kodu kosmik qənaət kimi olmaq,
və ya nə olursa olsun, siz bunu edə bilərsiniz.
Biz yalnız başlamaq deyil ki, xahiş bir şey deyil, s.
Belə ki, int scaz_age etmək istəyirsinizsə, int andi_age, int jason_age ki, gözəl.
Yalnız bir başlamaq etmir və başqaları deyil.
>> Suallar?
Oldu.
Mən keçmək gedirəm mikrofon və lazer pointer,
və dəyənək bu nöqtədə Scaz üçün.
Bu yöndəmsiz.
Bax budur.
>> BRIAN SCASSELLATI: Təşəkkür edirəm.
Necə səs ki?
Sound yaxşı? .
Əla.
OLDU.
Belə ki, hi hər kəs.
>> Mən ilə işləmək üçün cəhd gedirəm Sizinlə praktiki nümunəsidir.
Və biz CS50 istifadə etmək olacaq inkişaf mühit, nə deyirlər
Integrated Development Environment.
Və bu gördüm mühazirə nümayiş etdirdi.
Və Problem Set 1, etdiyiniz imkanı var gedir
istifadə və ilə ətrafında oynamaq üçün Bu və buna vərdiş almaq
biz istifadə etmək olacaq, çünki dövr qalan vasitəsilə.
>> Belə ki, bu IDE, nə görünür var bir çox ənənəvi fayl browser kimi
üzərində bir tərəfdən.
Siz hissəsini var top harada olacaq
, mənbə kodu görmək üçün Cfile, yazmaq kodu.
Və alt aşağı, siz lazımdır bir terminal pəncərə
Siz istifadə edəcəyik ki, həm də sizin proqram tərtib
və çalıştırmak və ya proqram icra etmək.
OLDU.
>> Belə ki, yalnız bizə bir az vermək təməl ki, terminal pəncərə,
Siz olacaq əmrləri bir sıra istifadə edərək
ərzində standart əmrləri var ki, Unix və ya Linux sistemlərinin ən.
Və belə ki, heç istifadə etdiyiniz əgər Unix, Ubuntu hər hansı formada,
və ya digər tatlar hər hansı bu tanış baxmaq üçün gedir.
>> Əgər varsa, narahat olmayın.
Onlar haqqında mürəkkəb var heç bir şey.
Onlar yalnız bir müxtəlif istifadə etdiyiniz syntax fərqli bir adlandırma
Siz daha konvensiya əvvəl gördüm.
>> Belə ki, faylları siyahısı xüsusi siyahı ərzində
Onlar istifadə etmək olacaq komanda ls, və ya siyahısını açıqlayıb.
Hər şeyi görmək istəyirsinizsə bütün detalları ilə,
Bir komanda istifadə edəcəyik ls -l line dəlil.
Və hər şeyi göstərmək lazımdır o cümlədən daha ətraflı
bir fayl üçün icazələrin.
>> Kataloq dəyişdirmək üçün, Siz cd komanda istifadə edəcəyik.
Və kataloq dəyişdirmək edə bilərsiniz həm ev qovluğuna gedin.
Yəni bütün yalnız CD iki özü cd
nöqtələr bir qədər qayıdacaqlar Əvvəlki kataloq səviyyəsi.
Və siz bir CD həmçinin cd yazaraq alt qovluq
və alt adı.
>> Siz həmçinin yeni dizinler yarada bilərsiniz.
Və biz gəzmək olacaq yalnız bir dəqiqə bu yolu.
Amma yalnız qoymaq üçün ekranda hər şey.
Belə ki, siz onları görə bilərsiniz.
>> Siz həmçinin imkanı olacaq birbaşa faylları manipulyasiya
command line.
Siz, onlara surəti edə bilərsiniz onları hərəkət və ya onların aradan qaldırılması üçün,
ki, səmərəli, onları silmək üçün.
>> CS50 IDE tam verir command line dəlilləri gücü.
Və siz də edə bilərsiniz deməkdir yüksək təhlükəli şeylər.
OLDU.
Məsələn, siz aradan qaldırılması, və ya sil edir
soruşmadan bir fayl bir təsdiq üçün.
Və hətta edə bilərsiniz ki recursively--
dash r bir ümumiliklə flag-- alt və onun məzmunu bütün.
OLDU.
Onlar qırmızı listelenen edirik çünki "təhlükə" hər zaman düşünmək lazımdır
bu şeyi görmək.
OLDU.
Oldu.
>> İndi nəhayət, hər şeyi var ki, sizin üçün həqiqətən dəyərli olacaq,
bir neçə yaxşı tövsiyələr var Siz naviqasiya etdiyiniz kimi bilmək
Bu terminal pəncərə vasitəsilə.
Birincisi, ekran temizleyebilirsiniz yalnız aydın yazaraq heç bir zaman.
Və görmək olacaq Mənə tez-tez bunu.
Siz də yalnız bilərsiniz bir fayl mətni
daha sonra fayl adı yazaraq.
Daha sonra geri hərəkət edə bilərsiniz və irəli yalnız boşluq ilə ki,
və ok tuşlarını.
>> Əgər varsa, biz mühazirə gün olduğu kimi davamlı çalışan bir proqram
sonsuz loop, siz proqram dayandıra bilər
nəzarət yazaraq yerinə, ki, Control-C tutaraq edilir.
Və nə ola bilər bu neçə dəfə.
Kompüter irəlidə sizin olur.
Və bəzən lazımdır bu çalışır bir neçə vermək
Bu, həqiqətən vasitəsilə gələcək əvvəl.
>> Siz həmçinin edə bilərsiniz əmrləri vasitəsilə sort
Yalnız əsas istifadə edərək çap ki, arrow key, və sonra aşağı arrow düyməsini basın.
Və ən faydalı əvəzinə uzun fayl adları yazaraq,
Siz istifadə Tab edə bilərsiniz bir neçə təlimat AutoComplete.
İndi biz nümayiş olacaq yalnız ikinci o bütün.
Yadınızdadırsa yoxsa belə Onlara, narahat olmayın.
Bu ki, siz lazımdır şey ala və biz boyunca getmək kimi istifadə edin.
OLDU.
>> , C Scratch-- fərqli olaraq belə C tərtib dilidir.
Yəni biz bir mənbə etmək olacaq deməkdir fayl ki, yazmaq mətn var,
Siz yazmaq əmrləri printf () bəyanatlar, loops,
hər şey else-- və gedirik fayl almaq və onu əl
bir proqram compiler çağırıb.
>> compiler sonra olacaq Siz yazdıq mətn
və onu tərcümə ikili təlimat
Sizin kompüter ki, həqiqətən istifadə gedir.
Ki, obyekt deyirlər və ya faylı.
Bu fayl baxsaq, siz olacaq Siz yazdıq kodu görmək.
Bu fayl baxsaq, siz olacaq simvol bir təsadüfi ardıcıllıqla görmək üçün
ki, heç bir mənada.
Bu ikili edir ki, var.
Bu oxumaq etmək üçün nəzərdə deyil.
>> Lakin, istənilən vaxt istədiyiniz Siz olacaq nə bir şey run
çalışan bu obyekt fayl.
Beləliklə, biz bu ilə iş zaman faylları, biz C. bir fayl yazmaq lazımdır
Biz sonra istifadə edərək, onu tərtib edəcəyik ibadət edəcək kimi komanda
C dili üçün compiler cingilti.
Və bir obyekt istehsal edəcək bir həyata kimi, fayl, və ya bu halda,
adı, mən qoymaq etdik mənim fayl.
Oldu.
>> Belə ki, əslində bu cəhd edək.
Beləliklə, mən bir misal ilə gəldi Mən cəhd etmək istəyirdi nə.
Və hər şeyi bir ki, mənə fascinates animasiya edir.
Beləliklə, biz nə üçün cəhd olacaq animasiya bir az
yalnız ASCII simvol istifadə.
Characters, biz indi asanlıqla çap edə bilərsiniz.
>> Belə ki, burada mənim ən yaxşı cəhd edir Sizin üçün yaratmaq
bir bunny animasiya hündür ot vasitəsilə çalışır.
Orada edir.
OLDU.
Belə ki, o, hələ çalışan deyil, lakin o hündür ot orada duran.
>> İndi bir animator olsaydı, köhnə məktəb
animasiya versiyası, nə Mən istehsal ki, nə olardı
ot bu bunny bir şəkil.
Və sonra mən çıxarmaq istəyirik başqa picture--
başqa onlar cell-- adlandırdığı bunny az köçürülüb.
Və sonra üçüncü bir var idi ki, bunny bir az daha köçürülüb.
>> Və mən bütün istehsal ki, bu hüceyrələrin ardıcıllığı.
Bəzi harada bunny bitdi sol tərəfində üzərində.
Və sonra yavaş-yavaş, bir hərəkət orta doğru bir.
Və sonra orta sağ üzərində.
Mən, həqiqətən, sonra olsaydı xoşbəxt, mən bunu birlikdə qoymaq bilər
və mən onları diri bilər.
Və mənim bunny var ot vasitəsilə çalışır.
>> Bu mənim böyük PowerPoint var gün üçün bezemek.
OLDU.
Belə ki, bu olur kimi yaxşıdır.
OLDU.
Belə ki, burada bir dəfə daha, burada var ot keçən Bunny.
>> HOPARLÖR 19: Yenə.
BRIAN SCASSELLATI: One çox vaxt, bütün hüququ.
Sizin bunny var.
OLDU.
>> Belə ki, bu gün biz gedirik gedirik nə etmək
prosesinin avtomatlaşdırılması üçün cəhd bu hüceyrələri istehsal.
Biz kifayət qədər nöqtəsinə almaq deyil onların hamısını qoymaq edə olan.
Lakin, biz avtomatlaşdırılması üçün cəhd olacaq bu ardıcıllıqla yaradan prosesi.
>> Bu nə qədər animasiya bu gün kimi.
Ki, siz mütləq şeylər yoxdur əl ilə hər şeyi çəkərək.
Biz avtomatlaşdırılması üçün bir kompüter istifadə bu prosesin hissələri.
OLDU.
>> Belə ki, mənə üzərində keçid edək İndi bizim CS50 IDE.
Mən us-- və imkan üçün yaratmışdır Mənə burada var bir az bit zoom
başlanğıc nöqtəsi bizim üçün yaradılmışdır.
>> Biz oturmaq üçün xahiş Hər dəfə aşağı və kodu bir parça yazmaq,
nə biz, həqiqətən etmək isteyen edirik biz problemi həll etmək üçün xahiş edirik olunur.
Və yolu olmalıdır bunu düşünmək
bəzi ilə başlayan edir ki, həll sadə hissəsidir.
Və sonra bir hissəsi həyata qurmaq.
Və biz bu gün nə olacaq nə.
>> Belə ki, daha bir dəfə bütün çalışırıq çox ki, kodu bütün dəstə yazmaq
bu istehsal gedir 10 animasiya hüceyrələri,
biz əvəzinə başlamaq olacaq işləri bir parça ilə.
Və sonra biz bir qurmaq lazımdır ki, ətrafında az
və bir az daha və bir az daha çox.
>> İndi yaxşı bir şey haqqında problemləri bu yolla həll
bu başlamaq üçün imkan verir ki, həmişə Bildiyiniz bir şey ilə
işləyir və bir tədricən dəyişiklik təqdim edir.
Və böyük bir yoldur kod necə,
Hər dəfə bir etmək çünki dəyişiklik, siz nə təsir bax.
OLDU.
>> Belə ki, burada bizim başlanğıc nöqtəsi var.
OLDU.
Mənim fayl başında Belə ki, Mən hash #included stdio.h var.
Mən əldə edə bilərsiniz ki var printf () funksiyası işə.
>> Mən sonra mənim əsas funksiyası var.
Və bu hələ bir az görünür gizli və ya bəzi qaranlıq.
Hər şey yaxşıdır.
Deyir ki, bütün deyil Əsas funksiyası edir
heç bir dəlilləri etibarsız vasitə C. Və heç bir şey
Konvensiya ilə qaytarır bir tamsayı.
Main həmişə tam qaytarır, adətən code şeyi söyləyərək
yaxşı getdi və ya yaxşı getmədi.
OLDU.
Amma əsas ki, var var İndi bizim üçün təşkil edir.
>> Mən kodu üç xətləri qoymaq etdik.
Və hər xətti ilə yanaşı, indeksi, bir comment qoymaq etdik.
Şeyi indi bir ki, Biz nə israr edəcək
və əhəmiyyətli bir belə var proqramlaşdırma təcrübə,
həmişə kodu şərh edir.
Həmişə bir yazmaq English comment bir şey
Siz hesab edirəm ki, code etmək nəzərdə tutulur.
Geri gəlmək zaman, sonra yol ki, siz baxmaq bilər və demək olar
oh, mən nə xatırlayıram Bu etməyə çalışırıq.
Və ya bir TA üçün sizinlə aşağı oturur zaman ofis saat sizə kömək etmək üçün cəhd,
bu baxmaq və getmək bilər, mən , siz çalışır nə görmək
lakin əvəzinə bu nə həqiqətən baş.
OLDU.
>> Beləliklə, mən, mənim kodu üç hissədən var Mən bütün çap ilk gedirəm
əvvəlində bəzi nöqtələr həyata.
Mən sonra çap lazımdır mənim çox xülya bunny.
Və sonra sonunda nöqtələr bəzi bit.
>> Və bu üç çap hesabatları olmalıdır bu nöqtədə sizə tanış baxmaq.
Mən edirəm ki, bütün Onların hər biri mən deyil
simvol bir ardıcıllıqla çap.
Cəlb heç bir dəyişənlər var.
Hər şey yalnız düz deyil.
OLDU.
>> Belə ki, Mən terminal indi enmək əgər Mən bu geri əldə edə bilərsiniz əgər in görək yazaraq
və mən yenə aydın yazın gedirəm.
>> HOPARLÖR 20: biz istifadə edirsiniz ikiqat çizgi şərh?
BRIAN SCASSELLATI: Can double-- bəli istifadə edin.
Üçün çox yolları var C. Bir yorum
yol ikiqat çizgi istifadə etməkdir.
digər bir çizgi və bir ulduz istifadə etmək və sonra bir ulduz və bir çizgi ilə bağlayın.
Oldu.
>> İlk növbədə, mən gedirəm burada ətrafında naviqasiya başlamaq.
Belə ki, Mən ev kataloq getmək əgər, Mən orada rehberler değiştirdik
Mən baxmaq və nə görmək üçün gedirəm ki kataloq, ls, həyata edin.
Mən var ki, görəcəksiniz gedirəm iki alt dizinler var.
Bu bir az daha böyük edək burada biz bütün bilərsiniz ki.
>> Mən var olduğunu görə bilərsiniz iki alt dizinler var.
Mən kataloq dəyişdirmək lazımdır iş getmək üçün.
Və mən yalnız yazın gedirəm bir hissəsi, və sonra yalnız Tab edib.
Və bu, mənim üçün istirahət başa lazımdır.
Fancy.
>> Mən baxmaq və iş görürsünüz.
Və indi, mən çalışıram supersection on
ki, biz indi tədris edirik.
Mən ki, dizine getmək lazımdır.
Və nəhayət, baxmaq və görmək.
Mən ki, fayl bunny.c var.
>> Bütün hüquqlar, belə ki, bir daha mənə aydın bildirin.
Mən yenə mən, indi gedirəm hələ ki, kataloq olma
və mən oldum mənə oldu ki supersection directory.
Mən irəli getmək üçün gedirəm və mənim proqram Bunny olun.
Və komanda, Bunny etmək, bir az tək səsləndirilməsi isə,
də cingilti compiler çağırır.
>> Və üçün istehsal edir Mənə bir çıxış
bir proqram funny-- bir yürütülebilir fayl Bunny çağırıb.
OLDU.
Mən edə və bu səslər hətta pis, Bunny icra.
OLDU.
Və bunu nə edək.
OLDU.
Ki, bir az var nə mən gözləyirdim.
Mən orada mənim bunny şəkil var lakin mən növ özü tərəfindən bütün istədi.
Mən nə əldən vermədi?
>> HOPARLÖR 21: l Slash və ya n doğramaq.
BRIAN SCASSELLATI: Slash n.
OLDU.
Belə ki, burada geri gedək.
Mən ki, çıxmaq lazımdır.
Mən bu bir geri getmək lazımdır.
Və indi bir nəzər salaq Burada əsas funksiyası.
>> Beləliklə, mən nə etməliyəm?
Mən line bitirmək istəyirəm.
Mən bir comment qoymaq lazımdır.
Mən printf qoymaq lazımdır ().
Mən qoymaq nə var?
/ N.
OLDU.
Mən ilə başa var?
Nöqtəli vergül.
Oldu.
>> İndi bir həqiqətən mühüm şey əmin olun
hər dəfə bir dəyişiklik Sizin kodu, siz onu saxlamaq.
Siz kodu xilas varsa, siz etdiyiniz bir az ulduz qeyd etmək gedir.
Və star sizə deyir Bu kodu xilas yoxdur.
>> Mən indi onu tərtib varsa, bu deyil bu dəyişikliklər hər hansı bir əks etdirmək üçün gedir,
compiler fayl baxır, çünki ki disk deyil, fayl var
Sizin redaktoru açın.
Oldu.
>> Belə ki, onu saxlamaq və sonra biz getmək lazımdır sağ aşağı burada, geri gəlir.
Mənim terminal aşağı gəlir.
Və yenə kosmik sil bildirin.
>> Və biz qabaqda və daha bir getmək bilər dəfə bunny proqram etmək.
Və Bunny icra.
Bu da işə yaramadı.
Səhv çizgi.
Mən var nə baxmaq Belə ki, mən qoymaq / N orada, amma yanlış çizgi idi.
>> Hər şey sizin kompüter Does çox açıq deyil.
OLDU?
Durğu Bir az səhv və birdən istədiyiniz nə deyil.
Oldu.
Belə ki, yenidən geri zoom imkan verir.
Biz geri getmək lazımdır.
Yaxşı ki, çox sürətli təmir etmək.
Biz sağ çizgi qoymaq lazımdır.
Biz bunu saxlaya bilərsiniz.
Biz geri zoom lazımdır.
>> Nədənsə, bu deyil xoşbəxt olan, amma irəli gedək
və biz burada geri terminal getmək lazımdır.
Onu sil.
Biz zoom lazımdır.
Və daha bir dəfə biz Bunny etmək lazımdır.
İndi əmin kifayət qədər, işləyir.
Yaşasın.
OLDU.
>> Belə ki, bu etmək üçün cəhd edək bir az daha ümumi.
Baxaq əgər əvəzinə yalnız müəyyən bir çərçivə çap,
bu edə bilərsiniz əgər in görək biz bütün 10 əldə edə bilərsiniz, belə ki,
bu cizgi çərçivəsində biz istədi.
Belə ki, daha, götürək bir zaman bir addım.
>> Ilk, bu ümumiləşdirmək edək mən bütün çərçivələri ki,
lakin mən hər hansı bir yoxdur Mən istəyirəm bilər frame.
Belə ki, fərq var çərçivələri arasında?
Bunny eyni?
Auditoriya: Bəli.
BRIAN SCASSELLATI: Bəli.
Fərq nədir?
>> Auditoriya: Mövqe.
BRIAN SCASSELLATI: Onun mövqeyi, sağ?
Və necə mövqeyini nəzarət edirsiniz?
Neçə nöqtələr Mən başında qoyulması
və neçə nöqtələr Mən sonunda qoyaraq.
Belə ki, mən beş idi başlayan və sonunda beş.
>> Nin loop üçün ilə beş əvəz edək.
OLDU.
Mən bir yaratmaq üçün gedirəm loop indi, demək olacaq
Mən bəzi sayı çap gedirəm başında nöqtələr.
Mən bir dəyişən istifadə gedirəm.
, Deyək Necə i haqqında Mənim loop counter.
Mən üst onu bəyan gedirəm.
>> Və sonra loop üçün Mən üç şeyi etmək lazımdır.
Mən nə etmək lazımdır ilk şey Mən i başlamaq lazımdır.
Mən nə başlamaq lazımdır bu başlamaq üçün?
0.
OLDU.
>> Sonra mən nə demək lazımdır xitam vəziyyəti?
Mən dayandırmaq lazımdır?
Yaxşı neçə nöqtələr edirsiniz bu bir çap istəyirsiniz?
>> Auditoriya: beş.
BRIAN SCASSELLATI: Five yenidən?
Haqqında bir şey edək necə müxtəlif, biz beş etdi.
Nin fərqli olduğunu göstərmək edək.
HOPARLÖR 22: Two.
BRIAN SCASSELLATI: Two.
OLDU.
Mən iki nöqtələr istəyirsinizsə Belə ki, Mən burada nə qoymaq lazımdır?
>> Auditoriya: üç.
>> BRIAN SCASSELLATI: Üç.
OLDU.
Neçə dəfə ki, vasitəsilə getmək üçün gedir?
Vasitəsilə getmək olacaq üç dəfə, 0, 1, 2, sağ?
Bütün hüquqlar, geri aşağı iki gedək.
İndi biz iki nöqtələr almaq lazımdır.
Və nə mən hər nə istəyirsiniz Mən loop vasitəsilə getmək olar?
Nə dəyişdirmək üçün var Mən keçmək hər vaxt?
>> HOPARLÖR 23: bir nöqtə əlavə edin.
>> BRIAN SCASSELLATI: Mən davam etmək lazımdır.
Mən bir nöqtə əlavə etmək üçün gedirəm.
Mən bir nöqtə çap gedirəm, loop vasitəsilə hər dəfə.
Amma necə necə takip saxlanılması edirəm bir çox dəfə mən loop vasitəsilə oldum?
Mən ki, mən istifadə edirəm dəyişən ki, counter.
>> Belə ki, vasitəsilə hər zaman, mən gedirəm bir counter arttırmayı.
İndi ki, eyni Mənə belə = i 1 +.
Hər şey yaxşıdır.
Mən istəyirəm that-- bunu edə bilər stenoqrafiya, belə ki, mən ++ demək gedirəm.
OLDU.
>> Eyni şey edək aşağı burada altındakı.
Yalnız I növ ki, bir etdi.
Mən sizə uşaqlar imkan gedirəm tamamilə bu nə.
Oldu.
>> Mən burada nə yazmaq lazımdır?
Burada loop üçün var.
Mən printf (gedirəm) və mən gedirəm Mən yalnız bir nöqtə çap ki, bunu etmək üçün
ki, alt.
>> Mən nə yazmaq lazımdır İndi loop üçün bu daxili?
Ilk növbədə, yaxşı nə dəyişənlər istifadə etməlidir?
>> HOPARLÖR 24: j.
>> BRIAN SCASSELLATI: I J istifadə edə bilər.
Mən eyni bir istifadə edə bilərəmmi?
Mən yenə istifadə edə bilərəmmi?
Bəli.
Ki, OK, çünki Mən burada istifadə edirəm ki,
Mən yenə onlara ehtiyac yoxdur Mən bu nöqtəyə aşağı almaq.
>> Belə ki, nə mən başlamaq lazımdır?
HOPARLÖR 25: 10.
BRIAN SCASSELLATI: 0.
Mən nə yoxlamaq lazımdır?
Neçə nöqtələr I sonunda indi lazımdır Əvvəldə iki nöqtələr var, əgər?
Mən sonunda səkkiz lazımdır, belə nə Mən az than--, yoxlamaq lazımdır
>> Auditoriya: yeddi, səkkiz, doqquz.
BRIAN SCASSELLATI: I yeddi eşitdim.
Mən səkkiz eşitdim.
Mən doqquz eşitdim.
OLDU.
Belə ki, bu bütün istəyirik ball-- Jason 10 deyir.
OLDU.
>> Mən iki nöqtələr lazım olduqda Birincisi, nə qədər nə
Istisna olmaqla, mən və mən səkkiz nöqtələr lazımdır son bir mən qədər yuxarıda iki qoymaq
nə mən aşağı qoymaq lazımdır?
>> Auditoriya: Eight.
>> BRIAN SCASSELLATI: Eight.
Çünki olacaq yeddi vasitəsilə sıfır saymaq.
Və loop vasitəsilə səkkiz dəfə var.
OLDU.
Mən sonunda nə var?
>> Auditoriya: i ++.
>> BRIAN SCASSELLATI: i ++.
Oldu.
Belə ki, orada çox yaxşı axtarır.
Nin cəhd edək və ki, nə görmək edək.
OLDU.
Belə ki, biz onu saxlamaq olacaq.
Nice və xilas.
>> Biz geri zoom lazımdır.
Biz terminal burada çalışacağıq.
Biz zoom lazımdır.
Oops.
Biz lazımdır, bir dəfə daha, Bizim bunny proqram etmək.
Və irəli getmək və Bunny icra.
Və orada deyil.
>> Belə ki, bizim bunny var.
Bu ilin əvvəlində iki nöqtələr olduğu və sonunda səkkiz nöqtələr.
Mənimlə hələ hamı?
OLDU.
>> Belə ki, biz onu inşa edilmişdir.
Biz bir bunny inşa müəyyən bir çərçivə.
İndi biz edə olduğunuz qurmaq ki, ümumiləşdirmək
çərçivəsində daha müxtəlif növ.
>> İndi irəli getmək və edək Bu, yalnız bir çərçivə yaratmaq
lakin 10 yaratmaq imkan çərçivələr, biz yavaş-yavaş
bunny bütün hərəkət etmək sahəsində arasında yol.
Oldu.
>> Geri getmək edək.
Və biz indi çalışacağıq.
Belə ki, nə mən, həqiqətən, burada dəyişdirmək lazımdır?
Mən dəyişdirmək lazımdır?
>> HOPARLÖR 26: Siz ilk lazımdır nöqtələr maksimum sayı dəyişə
başlanğıcda.
10 nöqtələr edirik, çünki, Bu miqyaslı qədər lazım olacaq.
BRIAN SCASSELLATI: Bəli.
Belə ki, indi mən bu cür hardwired var həmişə başında iki nöqtələr etmək
və həmişə sonunda səkkiz nöqtələr yoxdur.
>> Mən başqa bir loop qurmaq istəyirsiniz?
Mən istəmirəm, çünki yalnız bir bunny şəkil yaratmaq
10 bunny şəkillər qurmaq istəyirik.
Belə ki, bir loop yaratmaq lazımdır, və mən ki, loop vasitəsilə getmək kimi,
Mən neçə dəyişdirmək istədiyiniz nöqtələr mən əvvəlində çap
və mən sonunda neçə nöqtələr çap loop vasitəsilə hansı dövrü əsasında
Mən içindəyəm.
Oldu.
>> Belə ki, bir counter əldə edək.
Kimsə əvvəl j deyilir, belə ki, biz başqa j etmək lazımdır.
İndi, biz olacaq loop üçün başqa qurmaq.
>> Hansı ki, loop daxilində gedir?
Bu məhsulları getmək üçün var loop daxilində, sağ?
Bunny yoxdur loop daxilində getmək?
Mən Bunny lazımdır bu 10 çərçivəsində hər?
>> Auditoriya: Uh-huh.
BRIAN SCASSELLATI: Bəli.
Mən hər bir Bunny istəyirəm 10 çərçivəsində, sağ?
Necə nöqtələr haqqında sonunda, mən ki, lazımdır?
OLDU.
>> Belə ki, onların hamısı indent üçün gedirəm.
Mən bütün qeyd etmək gedirəm Bu, mən Tab edib gedirəm.
Və bütün onlara təkan olacaq bir az, belə ki, bu, mənim üçün asan
loop nə görmək üçün.
Və sonra mən onu çıxacağıq.
Deyək.
OLDU?
>> İndi bu loop ki Mən bina whoops deyiləm
Siz see-- edə bilərsiniz, belə ki, etmək Mən counter j var.
Mən 0 açılmış olacaq.
Neçə dəfə mən istəyirəm Bu loop vasitəsilə getmək?
Auditoriya: 10 dəfə.
BRIAN SCASSELLATI: 10 dəfə.
Mən burada nə qoymaq lazımdır?
>> Auditoriya: 9, 10.
>> BRIAN SCASSELLATI: 9, 10, kimsə sağ, 11 demək var?
Mən əvvəl iki nöqtələr istədi və 2-dən i az qoydu.
Mən səkkiz nöqtələr istədi Mən 8-dən i az qoydu.
İndi 10 vasitəsilə getmək istəyirəm dəfə, belə ki, mən az than-- j qoymaq
>> Auditoriya: 10.
>> BRIAN SCASSELLATI: 10.
Biz orada getmək.
Mən j sonunda nə etməliyəm?
++ Onu arttırmayı.
OLDU.
İndi burada çətin hissəsi, nə indi mən bunu əgər baş verəcək?
Mən 10 çərçivəsində çap gedirəm?
HOPARLÖR 27: Mən hesab edirəm ki, onlar hamısı eyni olacaq.
BRIAN SCASSELLATI: Onlar lazımdır bütün sağ, eyni ola bilərmi?
Onların hamısı hələ gedir çünki əvvəlində iki nöqtə qoymaq.
Amma onları bütün istəmirəm iki nöqtələr başlanğıcı var.
Neçə nöqtələr I do başında istəyirsiniz?
>> Auditoriya: dəyişdirilməsi.
>> BRIAN SCASSELLATI: I sağ dəyişdirmək istəyirsiniz?
Beləliklə, mən dəyişir ki, burada nə var loop keçir hər dəfə?
>> Auditoriya: nöqtələr sayı j.
BRIAN SCASSELLATI: j, nöqtələr sayı.
Beləliklə, mən j üçün bu dəyişə bilərsiniz.
vasitəsilə ilk dəfə loop, nə olacaq?
Mən ilk j nə etməliyəm?
>> Auditoriya: 0.
>> BRIAN SCASSELLATI: Belə ki, necə çox dəfə bunu gedirəm?
0.
loop, j vasitəsilə ikinci dəfə Mən bunu arttırmayı, çünki 1 olacaq.
Neçə nöqtələr I çap gedirəm?
1.
loop vasitəsilə üçüncü dəfə neçə nöqtələr I çap gedirəm?
>> Auditoriya: üç.
BRIAN SCASSELLATI: j 3 olacaq.
Neçə nöqtələr I çap gedirəm?
Oh, sorry, j 2 olacaq.
Neçə nöqtələr I çap gedirəm?
>> Auditoriya: 2.
>> BRIAN SCASSELLATI: 2.
OK, belə ki, mən saxlamaq üçün gedirəm Biz boyunca getmək kimi incrementing.
Necə aşağı haqqında?
Nə aşağı burada gedir?
Mən həmişə 8 istəmirəm Artıq sonunda?
>> HOPARLÖR 28: 10.
BRIAN SCASSELLATI: 10 nöqtələr istəyirsiniz?
Mən də bu dəyişdirmək istəyirik.
Mən dəyişdirmək üçün necə istəyirsiniz?
>> Auditoriya: [işitilemez].
BRIAN SCASSELLATI: Yaxşı, mən əgər əvvəlində beş nöqtələr var,
Mən sonunda neçə dot nin alıram?
>> Auditoriya: beş.
>> BRIAN SCASSELLATI: I varsa başında altı nöqtələr,
Mən sonunda neçə alıram?
Auditoriya: Four.
BRIAN SCASSELLATI: aldım varsa başında yeddi nöqtələr,
Mən sonunda neçə alıram?
Auditoriya: üç.
BRIAN SCASSELLATI: I var varsa başında j nöqtələr var
Mən sonunda neçə alıram?
10-j.
OLDU.
Belə ki, cəhd edək.
>> Belə ki, mən bizim bunny proqram saxlamaq üçün gedirəm.
Biz bir daha həyata zoom lazımdır.
Biz terminal enmək lazımdır.
Biz aydın lazımdır.
Və zoom.
Biz yenə bizim bunny proqramı etmək lazımdır.
Və biz bunu icra edəcəyik.
UH-oh.
>> Həyata zoom imkan, tutun.
10 çərçivəsində əldə etdiniz?
Yaxşı, necə bir çox bunnies Mən orada görürsünüz?
1, 2, 3, 4, 5, 6, 7, 8, 9, 10.
10 çərçivəsində var.
Onlar bütün eyni edirsiniz?
Auditoriya: Bəli.
Yox.
>> BRIAN SCASSELLATI: Xeyr
Ki, ilk bir, bunny uzaq sol edir.
Və burada, bunny uzaq deyil
HOPARLÖR 29: Sağ.
BRIAN SCASSELLATI: Belə ki, mən nə üçün unutmaq idi?
HOPARLÖR 30: yeni bir xətt başlayın.
BRIAN SCASSELLATI: Unutduğum yenə yeni xətt başlayır.
Same səhv Mən əvvəl etdi.
Bütün hüquqlar, düzeltmek gedək.
İndi mən hələ kodu var Orada yeni xətt etmək.
Nə üçün iş deyil?
HOPARLÖR 31: Bu loop daxilində deyil.
BRIAN SCASSELLATI: Oh, Bu loop daxilində deyil.
Düzdür.
Burada kənarda oturan.
Və loop üçün hər şey ki, mətn içərisində.
>> Belə ki, hərəkət etmək üçün gedirəm Bu daxili loop üçün.
Mən qarşısında üçün Tab lazımdır Bu doğru yerdə olduğunu göstərir.
İndi, biz yenidən saxlaya bilərsiniz.
Biz kiçiltmək lazımdır.
Biz terminal üzərində keçmək lazımdır.
Zoom.
Biz bunny proqram yeniden yapmak lazımdır.
İndi, indi biz 10 çərçivələri var.
>> [Alqış]
>> BRIAN SCASSELLATI: OK.
Belə ki.
Burada loops üçün iç içə olunur.
Biz yaratmaq bacardıq Mən istəyirdim neçə nöqtələr daxili loop
sonunda başında çap.
Və xarici loop nəzarət neçə çərçivəsində I bina idi.
Biz bir az ilə başladı Problemin kernel,
və biz baxımdan həyata inşa edilmişdir.
Oldu.
>> Nin daha bir addım edək.
Hazır edirsiniz?
Bir şey burada harada var biz, həqiqətən, növ var
biz lazım olan daha çox mürəkkəblik.
Bir nəzər salaq.
Bizim bunny proqramı So Mən burada kiçiltmək əgər,
Mən, həqiqətən, eyni bəzi şey təkrar-təkrar.
Hesab edirəm ki, sort var nə etməliyəm Eyni şey iki dəfə təkrar?
>> HOPARLÖR 32: nöqtələr çap.
>> BRIAN SCASSELLATI: Bəli Mən iki dəfə o nöqtələr çap.
Həqiqətən, mən olmalıdır aşağı burada bu comment.
Mən bəzi nöqtələr çap burada qədər başlayan.
Və sonra mən sonunda bəzi nöqtələr çap.
Mən cür eyni şey.
Biz başlamaq olacaq Növbəti bir neçə həftə üzərində işləyir
bu blokları edə olunur biz yenidən üzərində istifadə indeksi,
və prosesi adlı abstraksiya,
biz onları çıxarmaq olacaq və bir dəfə onları yazmaq, biz sonra bilər ki,
yenidən üzərində onları təkrar.
Belə ki, cəhd edək.
Hazır edirsiniz?
>> Biz kodu bu blok etmək olacaq.
Mən orada almaq üçün gedirəm.
Mən define gedirəm alt aşağı,
Mən yeni funksiyası yazmaq üçün gedirəm.
Bu bir şey qayıtmaq niyyətində deyil.
Mən printDots zəng etmək üçün gedirəm.
>> Bu bir almaq olacaq dəlil, bir tam ki,
Mən çap lazımdır howManyDots deyir.
Yerinə j nöqtələr çap və indi, mən Mən çap lazımdır howManyDots demək çap.
>> Və bir az problem burada var.
Kimsə Yox Mu nə bilirik?
Hesab edirəm ki, siyahıda var nə var Burada ki, müəyyən deyil?
>> Auditoriya: [işitilemez]
>> BRIAN SCASSELLATI: Yaxşı necə çox nöqtə sağ qədər müəyyən edilir
burada, amma dəyişən i kullanıyorum.
Belə ki, dəyişən etmək gidiyorum i və mən burada onu müəyyən etmək gedirəm
əvəzinə.
>> Belə ki, indi oops stay-- olacaq, caps birtəhər Mən kilidi oldu
Burada mən aşağı saxlamaq niyyətindədir.
>> Belə ki, indi burada mənim kiçik funksiyası var və ya sub-müntəzəm və deyir,
neçə nöqtələr I çap gedirəm?
Və bu loop vasitəsilə getmək lazımdır və yenidən üzərində onları çap.
>> Mən sonra mənim proqram dəyişə bilərsiniz.
Və nə ki, funksiyası zəng idi?
printDots.
Beləliklə, mən printDots zəng edəcəyik.
Neçə nöqtələr I çap etmək istəyirəm nə Bunny əvvəl ilk dəfə?
Auditoriya: j.
BRIAN SCASSELLATI: j.
Neçə nöqtələr I çap etmək istəyirəm nə Bunny sonra sonunda?
10-j.
>> Mən itkin alıram bir şey var.
Bu gün mühazirə gördüm kimi, biz printDots bəyan olacaq
yuxarıda prototip vermək.
OLDU.
>> Belə ki, nə mən etdik mən denedim edir kodu ki, yeniden hissəsi təcrid
Mən yenə üzərində etdik ki.
Mən ki, bunu çıxarmaq denedim ki, bir yerdə bütün olan.
Bu yolla, Mən haradasa bir səhv varsa, Mən yalnız bir spot düzeltmek lazımdır.
Oldu.
>> Belə ki, onu xilas edək.
Və bu işləri əmin olun.
Belə ki, çıxmaq imkan.
Biz terminal yenidən getmək lazımdır.
Biz zoom lazımdır.
Biz bu bunny prosesi etmək lazımdır.
>> Oh.
Və mənə bir xəbərdarlıq oldu.
Nə mənə edir?
Yaxşı bu hər hansı dəfə, siz həmişə istəyirəm
ilk səhv, qədər hərəkət etmək İndi bu bir, mən yalnız bir var.
>> Bu xəttində, bunny.c mənə deyir 8, sütun 9, bir problem var.
Bu bu elan etdik deyir dəyişən i və onu istifadə etməmişlər.
>> İndi normal, ki Biz pis səhv.
Düzeltmek üçün asan biridir.
Və əslində, biz geri getmək bilər.
Biz Bunny geri bilərsiniz.
Və bu halda, biz bütün i xilas edir nə var,
biz istifadə deyilik, çünki əsas ərzində i artıq.
Biz yalnız istifadə etdiyiniz Bizim sub-adi daxilində.
>> Belə ki, xilas edək.
Biz geri getmək lazımdır.
Və zoom.
Biz bir dəfə daha Bunny etmək lazımdır.
Və yenə 10 çərçivələr var.
OLDU.
>> Sizə verilən hər hansı bir vaxt bir Yeah procedure--.
HOPARLÖR 33: Mən səhv edirəm a-- Mən.
Geri kodu getmək olar?
BRIAN SCASSELLATI: Yep.
>> Yazırdı ki,: HOPARLÖR 33 Sizin prototip, dəlil sizə
Bu sosial obyekt adlanır adına idi?
Lakin, below--
>> BRIAN SCASSELLATI: Bəli Oh.
>> HOPARLÖR 33: onlara bir şey --called müxtəlif, mən başa düşmürəm.
>> BRIAN SCASSELLATI: Niyə onlar fərqlidir.
Belə ki, böyük bir sual var.
Belə ki, sual up idi burada, mən, sosial obyekt yazdı
və aşağı, mən howManyDots yazdı.
>> səbəb, sizin prototip ki qədər Bu, həqiqətən diqqət deyil
Siz qoyulması olduğunuz adları.
Bu, həqiqətən önem verir Bütün Bu bir tam var ki.
Bu formu bilmək istəyir Siz qoyulması ne.
>> İndi oops-- stylistically-- nə olmalıdır , bu matç etmək istəyirəm ki, yoxdur.
OLDU.
Ki, saxlamaq lazımdır, çünki Mənə xatırlamaq üçün asan.
Amma ki, mənim səhv Bəli idi.
>> HOPARLÖR 34: Və üçün prototip yalnız iş
ki, xətt yazı, prototip yazı,
gəlir ki, funksiyası imkan verir sağ aşağıdakı sonuna qədər getmək
və o deməkdir ki, nə almaq?
>> BRIAN SCASSELLATI: bu nə deməkdir compiler keçir zaman,
Bu üst gedir alt üçün kodu.
Bu prototip, nə Bu, əsasən, bir söz var.
>> Bu olmaq üçün var olacaq deyir funksiyası bir yerdə müəyyən.
Bu adlı printDots olacaq.
Və bir mübahisə etmək olacaq ki, bir tam olacaq
və geri olacaq heç bir şey etibarsız növü.
OLDU.
Mən sizə olacaq söz verirəm yol aşağı bir yerdə müəyyən edilmişdir.
Amma hər zaman görmək Siz enmək kimi
qalan vasitəsilə mənim əsas funksiyası, mən istəyirəm
Siz bir funksiyası kimi müalicə ki, bir tam daxil edir.
>> Və compiler aşağı gedir zaman Bu vasitəsilə, bu vəd görür.
Və aşağı olur zaman, gedir, davam edir saxlayır,
Bu ilk dəfə tapır printDots qeyd olunur.
Və Oh, siz ötürür deyir oxşar j. j tam.
>> Yaxşı mənə vəd bir tam və doğru.
Hər şey yaxşıdır.
Və sonra nəhayət, aşağı çox alt,
Mən sonuna almaq əvvəl mənim fayl, mən vəd yaxşı etmək
və mən bunu müəyyən edir.
OLDU?
>> HOPARLÖR 35: Belə ki, saves-- Proqram boş fəzalarında xilas edəcək
geri gedir və sonunda doldurur ki?
>> BRIAN SCASSELLATI: Bu deyil yaddaş ayrılması haqqında.
Bu yalnız, həqiqətən, nə növü görmək gözləyirik.
Bu şey bir olmalıdır dəlil və ya beş arqumentlər?
Bu integers olmalıdır bu və ya strings verilən?
Ki, axtarır bütün var yoxlamaq üçün nə etmək,
Mənə veririk arqument sağ cür.
OLDU?
Oldu.
>> Mənə ilə tərk edək başqa bir bit baxmaq.
ASCII art böyük model deyil animasiya bu gün olduğu kimi.
Amma əlbəttə bəzi insanlar şeylər almaq və onlar ifrata basın.
>> David nümayiş kimi bu, kod mühazirə, bir parça
Siz heç bir halda olmalıdır ki, Özünüzü dublikat üçün cəhd edin.
Bu stylistically dəhşətli deyil.
Əslində, bu, kimi üçün nəzərdə tutulmuşdur çətin mümkün kimi oxumaq.
OLDU.
>> Belə ki, daha nə etmək, burada zoom imkan.
İndi dəyişiklik kataloq getmək üçün gedirəm.
Mən bir qədər getmək üçün gedirəm səviyyəsi, geri iş üçün.
Mən bu daxil kataloq dəyişdirmək lazımdır Mən yaratdığınız digər directory.
>> Bu International Obfuscated C Programming Contest.
Ağır kimi obfuscated vasitələri mümkün qədər anlamaq üçün.
Siz baxmaq Belə ki, qorxuram etməyin Bu və getmək, mən ki, oxuya bilməz.
Yəni nöqtə var.
OLDU?
>> Amma biz bu var Mən gözəl proqram
daha çox yazaraq baxmaq üçün gedir.
Mən həyata zoom edə bilərsiniz əgər in görək yalnız bir az, belə ki, görə bilərsiniz
>> Bu proqramdır.
Bu endo.c. adına var
Və bu bucket kimi görünür bu məktublar F-L-U-I-D cür.
>> Bu, həqiqətən bir proqramdır.
Bu ən qaranlıq yazılı yol müəllifləri mümkün ola bilər ki,
yazın.
Amma bir gözəl az parça var ki, maye dinamikası bir model yaradır.
>> Və belə ki, biz vermək olacaq ki, model giriş ki,
bir, bu kimi görünür konteynerlərin müəyyən staired
bəzi maye ilə, bəzi maye qədər üst.
Və biz bu biclik lazımdır nə bu baş.
>> Beləliklə, mən Endo ki, funksiyası zəng edəcəyik.
Mən vermək lazımdır ki, Mən yaşadım Giriş faylı.
Və ASCII art bizim özet var.
Tam maye dinamik simulator kodu bir neçə xətləri çalışır.
>> İndi nə həqiqətən həqiqətən Bu kiçik proqram haqqında gözəl
, mən indi onu dayandırmaq istəyirəm ki, mən nə funksiyanı istifadə gedirəm?
>> Auditoriya: Control-C.
>> BRIAN SCASSELLATI: Control-C. OLDU.
Beləliklə, mən Control-C istifadə edəcəyik. Bu C dayandırmaq lazımdır.
Mən bir daha aydın olacaq.
İndi ibadət gedirəm proqram, proqramın icra
giriş kimi özünü istifadə.
>> Və biz maye dinamik görəcəksiniz bu simulyasiya ərimə.
OLDU.
Proqram imkan etməyin qarışdırır şey ola bilər.
Biz son bilər ki, yalnız belə ki, sərin və maraqlı bir şey.
OLDU.
>> Sizin problem dəstləri ilə uğurlar yaxşı.
Biz cavab xoşbəxt olacaq sinif sonra suallar.
Çox təşəkkür edirik, uşaqlar.