[MÜZİK OYUN] ALLISON BUCHHOLTZ-AU: Hey everyone. İlk Hoşgeldiniz resmi CS50 bölümü. Eğer, bu Gördüğünüz gibi bölüm CS50-benzeri, sadece Bugün için bizim gündemi yukarı çekin. Ben eminim Yani, ben kimim Tüm merak ediyoruz. Ben senin TF duyuyorum. Ben sadece rastgele bir öğrenci değilim kim TF taklit ediyor. Ve ben üzerinden gitmek için gidiyorum tür bölümleri akacak var, Elimizdeki beklentileri, Kaynaklar, bu ve benzeri yer alır. Biz diziler hakkında konuşmak için gidiyoruz, ASCII fonksiyonlar, komut satırı argümanları, ve, burada değil ama Ben de yardımcı olacak ne tür düşünmeye Bu hafta sonraki pset. Hangi Hepinizin takdir edecektir eminim. Peki, ben değilim ilk question--, Burada coşkulu TF yanında. Ben Alison Buchholtz-Au değilim. Bu benim ikinci yıl TFing CS50 olduğunu. Bahar da ben TF CS51. Sen orada tekrar görebilirsiniz Bunu almaya karar verirseniz. Ayrıca, bir PAF, bu nedenle herhangi bir Freshmen-- şeyler ve bir birinci sınıf öğrencisi değilseniz, Bu benim üçüncü yıl bir danışmanlık görevlisi olarak. Ben çok iyi bilgili değilim yaşam ve kurslar size danışmanlık CS içinde değil CS içinde. Ben bir Bilgisayar Bilimleri Yoğunlaştırıcı duyuyorum. Ben Adams House, en iyi evde bir üst düzey kulüpler. Ve ben geçtim önce CS benim Sophomore Bahar, Ben aslında bir biyomedikal mühendisi oldu. Ben Med okula gidecektim. Ben bir travma cerrahı olacaktı. Ve bu tamamen vardır Ben CS50 aldı beri değişti. Benim Sophomore Güz kursu aldı. Hiç CS benim ilk giriş oldu. Senden 78% biriydi kim Sıfır deneyimi geliyor vardı, ve tamamen benim hayatımı değiştirdi. Ve şimdi ben de çalışıyorum Microsoft ve güzel TF. Ve CS50 muhtemelen biridir en iyi deneyimleri Ben burada yaşadım Her iki sınıf alarak Harvard-- ve mümkün olan yardım Senin gibi öğrencilere. Yani gerçekten heyecanlıyım Bu hepiniz buradasınız. Eğer geldi Geç, şeker var, hangi hissetmeniz gerekir kapmak gel, ya da göndermek için ücretsiz başkası sizin için kapmak için. tamam. Ben bu yemek istemiyorum. Odama, yeterince çikolata vardır bu yüzden hepiniz deneyin ve bu bitirmek gerekir. Ben 100 adet olduğunu biliyorum, ama gibi bir Pazartesi günü 04:00, Herkesin biraz şeker kullanabilirsiniz düşünüyorum. Yani hepiniz kim resmi olarak bölümünde Bir e-posta kazanılmış olması benim telefon numarası ile benden E-posta beni eklemek için çekinmeyin adresB Gchat, Facebook beni eklemek için çekinmeyin ve aynı zamanda sizin geri kalanı için, Eğer burada bana e-posta. İki H'ler vardır. Herkes her zaman yapar İki L'nin ya da iki C en gibi. İki H soyadı en. Aksi takdirde sıçrama olacak ve oluyor Ben e-posta almak için gitmiyorum. Peki, bana e-posta çekinmeyin her zaman bana ulaşmaktan. Ben geri alamayabilirsiniz 24 dakika içinde, ama geri almak için söz veriyorum 24 saat içinde size. Eğer yarım saat önce bana çağırırsanız senin pset, sizin gibi olmak, nedeniyle Ben Allison ne yapıyorum hiç bir fikrim yok. Bana yardım et. Ben, seni sakinleştirmeye gidiyorum ama günün sonunda, Eğer yarım saat önce beni çağırıyor eğer senin pset, yazılı hiçbir şey nedeniyle Ben belki de, gibi olmak için gidiyorum bu geç bir gün kullanmak için zamanı. Yani tüm cevap verecek sizin Bir çok zamanında istekleri. Benim telefon genellikle Ellerime bağlı. Ben genellikle çok cevap hızlı daha 24 saat, ama ben sadece garanti can 24 saat içinde yanıt. Tamam. Peki neden buradayız? Ayrıca, eğer bir sorunuz varsa her zaman, lütfen bana bildirin. Ben çok konuşmak. Ben hızlı konuşmak, ama lütfen Beni durdurmak için çekinmeyin. Bu beni de oda nefes verir. Bölümler bir zaman vardır Yani gerçekten sadece dalış için bizim için olarak, bazı eller deneyim, almak Bahsettiğimiz konular ile gitmek Sınıfta ya da eğitim materyalleri bu online Eğer çocuklar için önerilir. Ve biz aslında aracılığıyla gidersiniz biraz bu kaynakların bazıları. Peki bölüm desteği bazı notlar. CS50-- şeylerden biri yapar o benim en sevdiğim sınıflardan biri Asla yalnız değilsin duygu. Biz 100 bir kadroya sahip burada insanlar size yardım etmek için. Biz ofis saatleri var Perşembe ile Pazartesi. Yani bu kadar çok insan var kim tıpkı benim gibi sınıf seviyorum ve gerçekten burada kim Burada olmak istiyorum çünkü. Çoğumuz öğrenciler ve bu ek olarak, beşinci sınıfı gibi Çalışmalarımızın geri kalanı için. Ve bir sürü iş var, ama onu seviyorum çünkü biz, bunu ve biz gerçekten size öğretmek için seviyorum ve bizim heyecanını paylaşmak yardımcı Bu konuda ve bu sınıf için. Yani yararlanmak lütfen. Bize konuşmak gel. Ben yalnız benim öğrenciler İsterseniz bu yüzden, benimle konuşmak yok, Benimle takıl gel. Harika olacak. Peki bölüm tabii ki En büyük şeylerden biri. Biz şeyleri gidersiniz Eğer derste öğrendikleri, bazı kısa örnekler yapmak Biz zaman var, ve genellikle tür şeyler hakkında bir fikir edinmek Eğer düşünme olmalıdır senin sorunun set için yaklaşık. Shorts-- kaç aslında insanların senin sıfırdan Video izledim kısa? Herkes beni tanır? Yani bu çok büyük. Kesinlikle o izlemek gerekir. Bir sürü iş onları girmiştir. Ve onlar sadece olması gerekiyordu konum Sadece izlemek için parçaları boyutu ısırmak Üç ya da dört dakika ve bir olsun Bir kavramın daha iyi anlaşılması. Nasıl throughs-- yürü birçok kişi izledim Önceki olanlar için yürüyüş throughs? Zamyla doğru, inanılmaz? Gibi, ben bazen Zamyla olsaydı. Yani kesinlikle yürüyüş throughs kullanın. O içine aşağı kıracak küçük, lokma boyutu adettir. Ve bu büyük olduğunda Sorununuz setlerinden özellikler, gerçekten önemli olacak sadece bir yerde bulmak mümkün başlatmak ve içinden yavaş yavaş çalışmak. Pekala, biz de Study50, sahip olduğu study50.harvard.edu, ben inanıyorum. You can sadece Google çalışma, ve o kadar geleceğiz. Bu biridir En iyi kaynaklar biz. Bu notlar PowerPoints olduğunu ve sizin için sorunları pratik çözüm bununla size Aslında yürüyerek gezebilirsiniz. Hiç daha pratik istiyorsanız, Biz bölümlerde ya da daha fazla benden Sorunun setleri daha, bu Gerçekten seni teşvik gitmek için bir yer. Bu son yaz inşa edildi Benim gerçekten iyi bazı arkadaşlarım. Ve inanılmaz. Slaytlar Aslında, bir çok Ben Bölüm için kullanıyor olacağım Study50 gelecek. Peki TFs bir sürü kullanabilirsiniz. Ve son olarak, ben gibi bahsedilen, ofis saatleri. Eğer sorun yaşıyorsanız ödevlerine, sen Bir ile sorun yaşıyorsanız kavramı, çalışma saatleri geliyor. Eğer hafta erken gidin. Dörtlü çıkmak, bu tür uzak çünkü. Kimse orada yürümeyi sever. Ama, sizin yararınıza olduğunu Sonra sen çünkü Tüm bu TFs olacak, [Duyulamaz] sizi kuşatır. Ve özellikle şimdi, Sadece bir ipucu, perşembe Şu anda çok soğuk olan Mather sizin psets çünkü Perşembe günleri nedeniyle. Ve bilme istiyor henüz geç gün kullanın. Eğer yaşıyorsanız Yani kavramları ile sorun, TFs sürü kim size yardım etmek için vardır. Yani Perşembe günü Mather çıkıp. Beni görmek istiyorsan, Ben orada olacağım. Ben genellikle, kendi ödevlerini yapıyorum kimse benim yardım istiyor çünkü. Yani bizi görmeye gelecek. Yarım bizi Foto. Peki kaç kişi katıldı ders ya da çevrimiçi izledi? Kaç kişi gitti Süper bölümde geçen hafta? Serin. Bu aslında adil bir numara. Kaçınız okudum sizin senin pset için, bu hafta spec? Ooh, Sizlerle gurur duyuyorum! Sizler için daha fazla şeker. İyi, bu yüzden ne demek Olan ", yarım bizi karşılayacak" Bu bölüm gerçekten sadece sizin için süper yararlı olacak Eğer okumak zorunda gelip eğer senin senin pset için şartname. Ben genel bir bakış ile gittiğinizde Çünkü sizin için dışarı bakarak edilmesi gerekenlerin, bunu yapmak için gitmiyor kadar anlamda eğer Sorunun set ne bilmiyorum Yapmanız soran olacak. Eğer belli, bölüm gelmediği takdirde Sana bu yararlı olamaz. Ben şahsen onu kazanmak için gitmiyorum Eğer, şu anda benim bölümüne gelmez ama kesinlikle yapmanız gerekir. Eğer online izleyebilirsiniz yapamıyorsanız. Onlar bir nedenden dolayı oradayız. Benimki orada olacak. Fark olarak, biz kaydedildi ediliyoruz, bu yüzden sizin için orada olacağım. Yanı sıra, gidiyor lectures-- tabii ki var nereye alıyoruz Burada malzeme başlar. Yani kesinlikle denemek ve olacak Ben mümkün olduğunca sizin kadar yardım, ama ben sadece bugüne kadar sizi karşılayabilir. Sen tür var yarım orada bizi karşılamaya. Yani Grading--, hepiniz kim, benden bir e-posta aldım sen benim resmi bölümü vardır. Ben senin psets sınıflandırma olacak. Ve ben sadece söylemek bir şey istiyorum Eğer gerçekten dikkat etmelidir yorumlardır. Yorumlar genellikle daha yararlıdır Gerçek puanı daha size verir. Ve yorumlar aslında Ben çok fazla zaman harcamak nerede ben sınıflandırma değilim. Yani seviniriz Eğer onları okursanız. Eğer gidiyoruz nasıl ve aslında konum tasarım ve stil hakkında daha fazla bilgi edinmek için ve bu şeyler bir biraz daha az kesim ve kuru. Yani gerçekten dikkat Bu yorumlara. Onlarla ilgili sorularınız varsa, veya puanınızı ilgili sorular, Bana konuşmak gel lütfen Ya bölümünden önce, Muhtemelen dışarı asılı olacak Lobide, ya da sonradan. Eğer planlamak istiyorsanız nasıl bire bir toplantılar Daha sonra iyileştirmeye yardımcı olabilir Sorun setleri, sadece bana bildirin. Ve sonra sadece bir çift Sizin için ipuçları. En büyük şeylerden biri Yani Ben her zaman benim bölümüne stres Eğer kod öğrenme olduğunuzda ise İlk kağıda bir şeyler yazmak için. Bir oyun planı için varsa nerede kod gitmek gerekiyor ve ne ihtiyacı yapmak ve aşağı kırılmış oluyor pseudocode küçük bit içine Eğer dışarı yazdım kod, Eğer az olması gidiyoruz sözdizimi hatalarını yapmak olasıdır ya da eğer döngü oluşturmak else yoktur. Eğer nereye olduğunu biliyorsanız Genel gidiyor, sen Bu küçücük yapmak için daha az olasıdır bazen götürecek hatalar Eğer gibi çünkü saat, düzeltmek için nerede bu dirseği eksik? Bu kayda göre, Style50 kullanın lütfen. Özellikle sen Mesai saatleri gidiyor, kod tüm ise bir tarafa açık bu ders politikası diyebiliriz ki, bunu düzeltmek Style50 dediği gibi o kadar görünüyor olması gerektiği, ve sonra biz size yardımcı olacağız. Bu yüzden sizin hayatınızı kolaylaştıracak olacak. Bizim hayatımızı kolaylaştıracak olacak. Herkes mutlu olduğunu. Herkes iyi notlar alır. Hepimiz istediğimiz değil mi? Yani önce kağıda bir şeyler yazmak Hiç bilgisayarınızı dokunun. Yüksek düzeyde şeyler konuşun, ve Nereye gittiğini bildiğinizden emin olun. Ve eğer emin değilseniz, biriyle oturup ve adım adım onları yürümek ne kodu yapmak gerekiyordu. Ve 10 üzerinden dokuz kez, size olacak oh gibi, ben bir if koşulu unuttum ya da ben burada bir noktalı virgül unuttum ya Ben bu değişken yanlış güncelleme ediyorum. Yani bu başarı için benim önerilerim şunlardır. Size yaklaşık yarısı bakmak beri Yani gibi, süper bölüm katıldı Ben sadece gidiyorum çok kısaca döngüler geçmesi, hangi bizim orijinal gündemde değildi. Ama onlar gerçekten önemlidir. Ve bu yüzden tür gidiyorum Bu yoluyla hız bizim gerçek bölüme girmeden önce. Bunu yapmadan önce, orada Herhangi questions-- lojistik, şahsen, orada İstediğiniz başka bir şey Benim hakkımda veya hakkında bilmek Genel bölüm veya sınıf? Tüm iyi? Serin, tamam. Güzel. Peki size loops-- adamlar gerektiği Sıfırdan bu parçaları tanımak. Yani döngüler temelde sadece vardır Bize bir şeyler yapmak için bir yol kez bazı sayısı, bazı tekrarlanan Bazı koşullu dayalı eylem. Yani biz üç farklı tipi vardır. Biz döngü için var iken, ve do-while. Yani loops-- için biz sadece var çok Burada döngü için bir genel düzen. Ne biliyorsun nasıl Ve bunun için harika birçok kez şey yürütmek gerekiyor. Biz hakkında konuşmak Diğer döngüler, sen olacak Bu önemli bir ayrımdır neden görmek. Ama döngüler için bir şey seti içindir. Sen Ya biliyorum sayısını hesaplamak ya kaç kere biliyorum Bu başında tekrarlanan istiyorum. Burada gördüğünüz Yani, biz Sadece genel bir tür var iskelet çerçeve Burada bir for döngüsü için. Yani için başlatılması, bu nerede senin değişkenler başlatılır. Mario ile, emin siz mi kulüpler int i gibi bir şey 0 eşittir. O mavi olur orasıdır. Sen durumun var olan Her zaman kontrol ne olduğunu. Bu durum daha sonra, doğruysa kod kalanı yürütür. Sonra again-- çalıştırmak ve isteyeceğiz. Ve sonra, nerede güncelleme var Eğer değişken güncelliyoruz. Yani, yine, Mario gibi, ben eminim Siz i artı artı gibi bir şey yaptım. Döngü Yani her zaman , ben çok güncellenen var koştu Biz karşı kontrol edildiğinde bu Bazı koşul, o değişiyordu. Çünkü eğer sadece bir statik değişkeni var, Bu ilk kez yürütülürse, bu kadar Sadece sonsuz çalıştırmak için gidiyoruz. Yani emin olmak gerekir düzgün değişken güncelleyin. Ve biz de sadece var Orada görsel sunum. Herkes iyi? Döngüler için. Senin pset bu görmeliydin. Serin. Yani burada sadece kolay bir örnek. CS50 Bu Yazdır! 10 kat. Ve böylece bizim başlatma var, biz int i ile, orada görmek Ben az için, 0 eşittir 10 ve i artı artı daha. Ve o 10 kere basalım. Döngüler ise loops-- süre Yani Büyük zaman mutlaka yok bu kadar kaç kere bilmek zorunda Başlangıçta güncelleme olacak. Sadece biraz var kontrol ediyor durumu. Ve bu while-- gibi bir şey olabilir senin pset bir örnek ele alalım. Mario varsa, deneyin Giriş negatif bir sayı. Doğru? Sen gerekiyordu sizin kullanıcı tekrar soracak. Yani, iyi, diyebiliriz kullanıcı girişlerine ise sıfır, yeniden istemi az şey onlar. Ve ben buna sahip olabilir eminim hiç bir şey sizin bazı kodunuzda kullandı. Yani basit bir şey. Sen ise, bazı var koşullu olduğu kontrol edilir Her zaman kodu çalıştırmak için gider. True olarak değerlendirilirse, biz bunu çalıştırın. Aksi halde biz değil. Ve gerçekten var important-- şey I Davut hakkında konuştuk olduğunu düşünüyorum lecture-- parantezi bulunmaktadır. Içinde ne varsa parantezi idam ne olduğunu. Eğer o unutursanız parantezler, sadece gidiyor doğrudan hattı olmak üzere süre sonra idam edildi. Eğer üç var ise gerekiyordu şeyler bu ne koşul true değerlendirir ve sadece, bu parantez yok ilk şey ne olacak. Yani çok farkında olmak Eğer parantez koymak nerede. Eğer Style50 ile sopa, Bu kesinlikle size yardımcı olacaktır. Serin. Peki bu 10 sıfıra geri sayım olduğunu. Burada gördüğünüz gibi, biz başlatmak bunun dışında bazı sayaç. Farklı bir şey olduğunu bizim değişkeni başlatılıyor değil Bizim ise döngü içinde. Bunun dışında başlatıldı var. Biz sadece sadece koyarak Bizim süre için kondisyon. Yani bu durumda, bu ise bu sayısı sıfırdan büyüktür. Ve biz, bizim sayısı ne çıktı ve sonra bizim değişken azaltma. Ve bu da fark için başka bir şey. Bizim güncelleme içinde olmaz while döngüsünün ilk bölümü. Aslında içinde olur parantezi, metin vücut. So-süre do-while loops-- döngüler Kullanıcı doğrulama için mükemmeldir. Yani biraz sizin olabilir Ayrıca pset bu kullanılır. Sen gibi, yapın, diyebilirim giriş için kullanıcı isteyin. Sonra da, gibi, Giriş bazı sayısından daha azdır. Mario ile açık bir durumda Yani, bir tamsayı girin, printf yapmak olurdu, ve daha sonra bazı tamsayı GETINT eşittir. Sonra aslında olacak İlk o kod yürütmesine. Aslında gerekir tamsayı çeşit. Ve sonra ise, söyleyebiliriz Bu tamsayı az sıfırdır. Peki ne yapacak bu kadar olduğunu en az bir kez çalıştırmak için gidiyoruz. Bu durumu kontrol edecek. Durum ise Gerçek, tekrar edeceğiz. Peki do-while döngüleri vardır Kullanıcı doğrulama için büyük, Eğer kodunu biliyorsanız, çünkü en azından yürütmek için gidiyor bir kere, oysa while döngüleri, sen değilsin o olduğunu garanti bir kez çalıştırmak için gidiyoruz. Bu durumunu kontrol etmek gidiyor İlk ve daha sonra çalıştırmak için karar, do-while olacak ise İlk kod yürütmesine ve daha sonra olup olmadığını görmek için kontrol edin bunu tekrarlamak gerekir. Bu ayrım mı herkese mantıklı? TAMAM MI. Serin. Bu durumda Yani, bu tür Ben bahsediyordu ne, Senin kadar bu yeniden-istemleri pozitif bir sayı olsun. Yani biz biliyoruz ki printf "Pozitif bir sayı girin" ve aslında soran giriş en az bir kez olur. Kullanıcı kötülük ve tutarsa negatif bir sayı girerek kim o idam olacak kaç kez bilir. Ancak bu kod garanti en az bir kez çalıştırmak için. O harika Ve bu yüzden girişi doğrulamak için. Ve oldukça biraz kullanacaktır. Pekala, herhangi bir soru bugüne kadar? Hepimiz iyiyiz? Ben çok hızlı konuşuyor muyum? Biz iyiyiz? TAMAM MI. Korku Yani biz önde gidiyoruz ve diziler hakkında konuşmak. Serin. Yani diziler temelde Sadece veri yapıları Bu bizi saklamak için izin Aynı Çeşidi şeyler. Hiç bir dizi var eğer öyleyse, bu kadar Ya sadece ints olacak ya da sadece yüzer sahip olacak ya da sadece karakter sahip olacak. Sen bir int olacak değiliz Bir çift ile bir float bir karakter. Bir şey. Diziler, sadece bir boyutu ya da sadece tek tip sensin. Yani burada biz boyutta bir dizi var Bunun üç tamsayılar üç. Onlar yüzer olabilir, ama biz konum they ints söyleyecek. Yani gerçekleştirmek için bir şey dizileri olduğunu Eğer başlattığınızda bir dizi boyutu Onları ve onların easily-- değil Eğer tüm az rahat çünkü, Eğer sadece onları düşünmek gerekir boyutu uzatmak mümkün olmayan. Ancak büyük sen yola Başlangıçta sizin dizi, o gidiyor boyutu var kalmak diziler çünkü hafıza sürekli taşlarıdır. Ve siz olsun biraz daha içine Bellek gerçekte ortaya koydu nasıl diskler ve yığından olarak, biraz daha mantıklı olacak. Ama tıpkı düşünebildiğim, bu kadar diskinizde alanlarda sadece bir satır. Ve orada olduğunu garanti edemez ondan sonra boş alan olacak. Bir diziyi başlatmak olabilir Üç ve daha sonra belki Beş başka diziyi başlatmak Daha sonra, ve hemen sonra değil. Yani geçmiş nokta gitmek olsaydı birinci dizideki üç, Yazdığınız olacağını başka bir şey üzerinde. Yani diziler sadece sizin için mudur sabit boyutu olarak onları düşünüyorum. Yani gidiyoruz bir array-- oluşturma Bu biraz yapmanız gerekir. Biz var aynı şekilde Yani döngüler için için bizim genel yapısı, biz güzel bir general var Bizim dizi için yapı. Bunlar bir tür olduğu için, her bir dizi elemanları, tek bir tiptedir Eğer başlatmak gerekiyor Bu tür olduğunu. Burada gördüğünüz gibi Yani, biz bir güzel küçük braket veri türü. Biz int oluştururken eğer Yani dizi, int olacak. Biz bir char oluştururken ediyorsanız dizi, bu Char olacak. Biz bir dize oluştururken ediyorsanız Dizi, bu dize olacak. Ve sonra dizinin adı, her ne olmasını istiyorum. Yani belki de, belki test puanları veya var bu öğrencilere ya da belki de şeker var. Ne olursa olsun isim için karar senin dizi, o olacak ne. Ve sonra parantez içinde, sen olacak İstediğiniz boyutu var. Yani, biz 10 öğrenciye depolamak veya Biz şeker 15 tip depolamak? Ne değildir. Burada bizim örneğimizde Yani Biz bir dizi oluştururken boyut, üç, çocuklar arasında burada sağda gördüğünüz. Ve biz ilk başlattığınızda o, her şeyi sıfıra ayarlanır. Yani sadece düşünülüyor boş bir barut gibi. Biz her şeye sahip, tüm bu alanlarda var Bu kutular biz bizim veri içine koymak olabilir ama onlar sadece boş konum zaman olmak. Yani biz aslında istiyoruz Bu değerler atamak, biz burada gösterir altında gibi bunu. Yani ne olursa olsun adı sizin dizi istediğiniz dizin sonra ve. Yani endeks sadece anlamına gelir, gibi, ne yuva biz bakıyoruz. Ve önemli bir şey fark diziler sıfır endeksli olmasıdır. Biz bellek ilk alan istiyorsanız Bizim dizinin, sıfır olacak. Biz ikinci istiyorsanız, bu bir olacak. Biz üçüncü istiyorsanız, bu iki olacak. Yani ve benzeri. Da neden geleneksel olarak Biz loops-- için ne zaman eminim Seni çocuklar merak, neden Biz 1 karşı 0'dan başlar mı? Biz geçiş yaparken çünkü o var diziler kullanarak içine, doğru haritalar. İstediğiniz Yani eğer Bir diziye yineleme Bir çok daha mantıklı i 0 eşittir do çünkü biz Bu karşılık biliyorum bellekte ilk nokta. Bu iyi Herkes? Serin. Ve burada alt adildir sonra Başka bir yol, bir diziyi başlatmak için. Hala var senin veri tipi ve adı, ancak bunun yerine, aslında bir Orada bir boyut koyarak, Sadece boş parantez yapabilirsiniz. Ve daha sonra bu kıvırcık ile altta parantez, Veri sadece girişi yapabilirsiniz ki virgülle ayırarak istediğiniz. Ve otomatik olarak olacak Tamam, ben görmek, söylemek Eğer üç var Bu parantezi işler. Yani ben üç tahsis gerektiğini biliyorum Daha sonra bellek blokları ve bu depolar. Ilk sürümü kullanmak olabilir Yani Eğer giriş için kullanıcı soruyorsun değerler yapabilirsiniz böylece dizi boyunca yineleme ve ask-- girdi onlara biraz int olsun. Eğer önceden değerleri biliyorsanız, Bir çok daha mantıklı İkinci şekilde kullanmak için. Ancak çoğu durumda, bilmiyor olabilir ne bu değerler olacak. Serin. Başka sorunuz var mı? Tamam. Yani öylesine bir öğelerin-- erişme diziler hakkında harika şeyler Onlar rastgele olmasıdır erişim, yani size o Her blok içinden bakmak zorunda değilsiniz. Eğer biliyorsanız size o istediğiniz blok iki ne, Sadece bana iki blok vermek, diyebilirim. Ve bu yüzden bu var endeksleri çok önemlidir, ve biz aslında onları erişmek nasıl. Yani bu durumda, daha önce ne zaman gördüğümüz gibi Biz birinde, değerler atama yapıldı önce biz adını ve vardı endeks doğru, erişim istedi? Yani aynı şekilde, hepsi bu biz Aslında bu veri out çekin yapmak. Biz adı var ve biz İstediğimiz indekse sahiptir. Yani bu durumda, döngü için Buraya altındaki herkes ne yaptığını biliyor, bu ne çıktı ki? Mmhmm? Kesinlikle. Yani evet, sadece yineleme ediyor. Ben, biz yürümek zero-- eşittir sadece hızlı kod aracılığıyla. I sıfır, ı azdır Bu noktada üçten, değil mi? Yani dışarı denetler. Ve biz Tamam, baskı f demek ne olursa olsun ben sıcaklık olduğunu. Ben ne zaman biz ilk burada sıfır Bu ilk noktaya gitmek, böylece, yineleme, ve biz Tamam, 65, söylemek numara biz yazdırmak istiyoruz. Bu yüzden 65 üzerinden basalım ve daha sonra yeni bir satır yok. Ben güncelleme olacak, bu yüzden 87 yazdırır. Tekrar güncellemeleri ve 30 basalım. Herkes serin? Korku. Tamam. Yani burada bir tür Ben nasıl bir şey diyordu Eğer takip edebilirsiniz Birinin puanı ve neden İlk kullanırsınız başlatılıyor yolu yerine ikinci yolu. Ve bu sadece geçer. Ve biz 30 sınıf boyutu var dikkat edin. Ve biz bu başlatılıyor ediyoruz boyutu 30 olan ints dizisi. Ve sonra yineleme vardır ile ve konum giriş için kullanıcı soran Bunların her biri için puanlar ve daha sonra atamadan bellekte belirli bir yer Bu dizide bir yerde. Serin? Bu herkese mantıklı mı? Mmhmm? Peki hashtag sınıfı boyutunu tanımlamak 30 yönergesidir, hangi sadece o vardır gets-- demektir Derleme süreci gibi yapmak. Bunu düşünebilirsiniz Bir global değişken olarak. biz bunu yoludur typically-- sizin kodunuzu veriyor daha kolay değiştirilmesi. Yani diyelim ki, bizim sınıf mevcudu aniden 30-15 gider, Ben bu şekilde tanımlanmış olmasaydı, yapardım benim tüm program sayesinde gitmek zorunda ve 30-15 her örneğini değiştirin. Ama bu, bir tane değiştirmek için olsun nokta ve her şey değişir. Hiç yapmak istiyorsanız Bir karma bir durumda tanımlamak nerede bazı izleyebilmek ediyoruz Bir sınıf için puanları sayısını ayarlamak ya da bir numarası kullanıyorsanız bu, olduğu gibi, kullanılacak çok uzun bir program boyunca, bu kadar Daha iyi başında olduğunu tanımlamak için Hiç değiştirirse, olsun o kadar 100 yerine bir nokta değiştirmek için. Evet? ÖĞRENCİ: bunu yaparken Arasında ve sadece üstündeki üzerinde [duyulamaz] ilan. ALLISON BUCHHOLTZ-AU: Yani efficient-- ile ilgisi yoktur bunun kapsamı dışında tür var ne bu bölümde kapsayabilir. Bu verimlilik ile daha fazlasını yapmak zorunda ve nasıl şeyler aslında Derleme işleminin çalışmak. Eğer gerçekten bilmek istiyorsanız Bu konuda, seni göndermek için mutluyum Bu konuda kaynakları ile bir e-posta. Tanımlamak karma olma eğilimindedir şeyler için tercih. Ve daha kod gibi, sen tür nüansları öğrenmek Bir kullanmalısınız ne zaman karma karşı küresel tanımlar. Ama zaman olduğu için, Gerçekten yok o endişelenecek Kısa cevap söyledi. Bu iyi Herkes? Ve ayrıca, isterseniz Bir karma tanımlamak kullanmak için, o fark gerçekten çok önemli adı tüm kapaklar olmalıdır. Biz sadece yapmıyoruz SINIF BOYUTU dramatik olmak. Aslında tüm kapaklar olmalıdır. Serin. Orada başka bir şey? Biz iyiyiz? Güzel. Hoşgeldiniz. Tamam, bu yüzden siz bir bakmak istiyorum Eğer hata bulabilirsiniz ve bu görmek. Sana bir ipucu vereyim. Bunun için-döngü bir yerde bulunuyor. Mmhmm? ÖĞRENCİ: 2 eşit az olmalıdır. ALLISON: Bu daha ucuz olabilir Böylece veya 2'ye eşit ya da 3'ten daha az da olabilir. Ve bunun için akıl ne? ÖĞRENCİ [kadar hafif], 0, 1, 2. ALLISON: Kesinlikle. N büyüklüğünde bir dizi Yani, biz Sadece n eksi 1 endeksleri var. Serin. Ve sonra biz gerçekten deli alabilirsiniz ve çok boyutlu diziler olsun. Problemlerden biri ben onu aldı benim yıl gerekli çok boyutlu diziler, ve ben onlardan biri gerektirebilir düşünüyorum bu yıl, çok rahat olun. Şimdi etrafında başınızı sarın. Bu uğramak için geri gelecek Eğer, ama serin bir şekilde. Yani gerçekten sadece aklınıza gelebilecek Çok boyutlu diziler Dizilerin diziler gibi. Yani bir tür bu üst düşünebilirsiniz belleğin ilk yığın olarak kürek. Ve bu biridir belleğin ikinci yığın, ve son satır ise bellek üçüncü yığın. Ve bu içinde, bir dizi var. Ama tabii, kolay değil Böyle tasvir. Peki bunu aynı şekilde başlatılamadı. Bu karakter üç ile üç kurulu. Yani üç satır var ve üç sütun. Biz bu şekilde temsil ediyoruz. Ve bunu erişmek istiyorum Aynı şekilde, satır sütun. Ve böylece 1,1 biz burada gördüğünüz gibi. Biz, bir sıfır atamak orada sıfır. 2,0 ve 0,2. Yani sadece eğer them-- erişmek istiyorum Hiç kimse, lineer cebir bitti Eğer bir öğesine erişmek aynı şekilde Bir matrisi, burada aynı fikir. Yani geri matematik için ilgili olabilir. Siz de endişelenmenize gerek yok Şu anda bu konuda çok. Bu poz olması iyi, bunu yapabileceğini bilmek. Bazı oluşturabilirsiniz number-- yapabilirsiniz deli çılgın diziler oluşturmak Tüm söylemek için gidiyorum. [Duyulamaz] Bu, biraz deli olur ama gerçekten serin. Korku. Ve sonra, bu yüzden burada bir örnek var. Bir dize uzunluğunu hesaplar. Peki kaç kişi biliyordu Kullandığınız dizeleri karakter sadece diziler nelerdir? Evet, tamam. Yani adamlar değil olduğunu düşünüyorum olabilir Kullanılan diziler, ancak herhangi bir zamanda önce sen GetString kullanmak CSView kütüphane, sen aslında sadece soran karakter dizisi. Ve hepimiz dikkat alıyorsun Sizin için arka uç o. Ama kullanarak olmuştur diziler beri başladı. Sadece henüz bilmiyordu. Ve sahip her bir karakter dizisi veya bir dize depolamak oluyor bir dizi, son şey her zaman ne olduğunu null sonlandırıcı adı verilen bu Bu doğru burada. Ve sonunda Eğer depolamak, her kelime. Biz anlamaya istiyorsanız Bir dize uzunluğu, biz söyleyebiliriz iyi, bilirsin, bu bloğun içeriği Bizim boş terminatör eşit değildir. Bu, bazı olduğu anlamına gelir Orada karakter ki biz aslında o kelimenin parçası umurumda. Sen uzunluğunu artırmak. Ve sonra biz aslında olsun zaman kelimenin sonuna, o sona olacak ve bizim için bizim uzunluğunu dönersiniz. Mmhmm? ÖĞRENCİ: boşluk mu null Terminatör gibi saymak? ALLISON: Yani boşluk bir boş terminatör. Eğer bir boşluk multiple-- varsa Yani aslında bir özel ASCII değerdir. ÖĞRENCİ: neler var ünlem yine eşit? ALLISON: Peki, bu size dediğimiz şeydir. Hiç ofis saatleri içinde beni duyarsanız, Ben hep diyorum, gibi, patlama eşittir. Yani patlama değil. Yani bu değil eşittir değildir. Eğer çalışıyorsanız Yani eğer şey yanlış olmadığını görmek, Her zaman, patlama yapmak biliyorum ne olursa olsun değişken ve yanlış ise, gerçek ve sizin için değerlendirir Bu serin şeyler yapabilirsiniz. Bu daha sonra daha fazla. Serin. Her şey orada iyi? Korku. Peki şimdi sizin çocuklar 'zamanı Ben konuşurken oldum çünkü işe. Yani sadece bir dizi oluşturmak istiyorum tamsayılar ile bir, iki, üç, ve sonra onları dışarı yazdırdınız. Sen gibi, yapmak zorunda değilsiniz Ana, vesaire, vesaire, vesaire, her neyse. Ben sadece başlatmak istiyorum Dizi ve daha sonra oluşturmak döngüsü için onları bir konrtol yazdırmak için veya bir while döngüsü, size kalmış. Ben sadece sana bir çift vereceğim dakika bunun üzerinde çalışmak için. Ben sesimi dinlenmeye gidiyorum. Herhangi bir sorunuz varsa, ben mutluyum etrafında gelip sizinle konuşmak için. Birbirleriyle konuşmak için çekinmeyin. Daha fazla şeker alın. Aslında, ben sadece edeceğiz şeker ile dolaşmak. Bu nasıl? Eğer herhangi istiyor musunuz? Bu odada Başkasının şeker ister misin? Ayrıca, çocuklar birden fazla sürebilir. İsterseniz bir avuç atın. De Mayıs. Herkes iyi? TAMAM MI. Ayrıca, ben oluşturmak için gidiyorum Bir anonim Google Formu, ve siz sadece gönderebilirsiniz Her bölümden sonra geribildirim bir şey var eğer istediğiniz Yapýlmasýný istediğiniz üzerine ya da bir şey geliştirmek. Ben çok şevkli biraz olsam Sizin için, ben aşağı sesi yapabilirsiniz. Bunu oluşturmak ve bu göndereceğiz Hepinize dışarı sonradan. Tamam. Yani küçük başlayalım. Nasıl bizim dizi başlatmak istiyorsunuz? Bizim dizi türü nedir? Doğru bir int? Tamam, bu yüzden ne istediğinizi yapmak dizinizi aramak için? Int dizisi, serin. Pekala, bu yüzden int int dizi var eşittir, ve bundan sonra ne var? ÖĞRENCİ: [duyulamaz] parantez. ALLISON: Korseler. Ve sonra parantez içinde? Bir virgül, iki virgül üç. Serin. Yani tamam. Yani şimdi biz döngü için sitemizi var. Ilk bölümünde Yani bizim döngüsü için, elimizde ne var? ÖĞRENCİ: i 0 eşittir? ALLISON i 0 eşittir int Yani, ve sonra bizim durumu nedir? Ne ben daha az olacak? , Üçten az ve nasıl biz i güncelleyebilirim? Ben artı artı, tek güncellenmesi. Ve sonra biz gidiyoruz tamsayı bazı printf, ve bu son ne aslında bölüm Biz baskı ne olması gerektiğini söyleyecek? Bu adı olacak int dizi dizi, değil mi? Ve int dizi parantez içinde ne var? i. [? Yani?] Denir benim örnek, ama oraya gitmek. Değil kötü. Herkes iyi? Serin. Bu yüzden diziler ile bitti. Tebrikler. Sen yineleme başardı tüm aracılığıyla evet Şeyin? ÖĞRENCİ: [Duyulmaz] ALLISON: Evet. ÖĞRENCİ: Bir sorum var. Diş teli girinti gerekiyor? ALLISON: Yani parantez hizada olmalıdır for döngüsü, ve sonra her şeyi ile içinde parantezi ayrılmalıdır. ÖĞRENCİ: Tamam, gereken döngüsü için içerden? ALLISON: döngü için değil Bu noktada, girintili olması gerekir. Ana olsaydı, biz eğer Aslında, burada bir ana işlevi vardı ana girintili olacaktır. Ancak bu durumda, bu iyi. Evet, bir soru. ÖĞRENCİ: olması gerekir mı Örneğin sonra parantez? ALLISON: Evet, eğer bu şekilde başlatılıyor. Yani bu ikinci, unutmayın Bir dizi nerede başlatılıyor yolu sonra bizim gerçek parantez ve var içinde virgülle ayırarak veriler. ÖĞRENCİ: Ben orada sanıyordum Bu örnek için parantez. ALLISON: Hayır, onlar parantez konum. Onlar parantez konum. Eğer başlatılıyor ediyorsanız İkinci yol, bu parantez var. Biz demek olsaydı, int example-- eğer Biz sadece, ints için boş bir dizi istedim o int örnek üç parantez olacaktır. parantez boyutunu temsil eder. Diş teli varsa, gerçek veri var Eğer bu şekilde içine koyuyoruz. Biz gerçekten çok hızlı geri kaydırabilirsiniz. Bu bir Yani Bu sadece bizim, bir İlk dizi, başlatma. Ve burada, biz tek tek Onlara noktalar atama, bu nedenle bu dizini temsil eden Biz parantez var bu yüzden dizisi. Eğer fark varsa Ama burada, biz ettik Bir boyutu olmadan bizim parantez sola, ve biz bunu başlatmak Gerçek veriler all-in-one parantez ile. ÖĞRENCİ: Peki neden yok Bu örnekte, parantez? ALLISON: Yani, hangi bölümüne? ÖĞRENCİ: biz Would diyelim ki, int örneği parantez eşittir parantez [duyulamaz] Örneğin parantez. ALLISON: Oh, üzgünüm. Haklısın. Biz orada parantez var. Üzgünüm beyler, benim kötü. Evet, olmalı Örneğin sonra parantez. Kesinlikle haklısın. ÖĞRENCİ: [duyulamaz] bunu yapmıyorum. ALLISON: Hayır, olmak zorunda braketler, aksi takdirde çünkü Bir diziyi bildirmek için gitmiyorum. ÖĞRENCİ: [duyulamaz]. Bunun için üzgünüm. ALLISON: Üzgünüm, ihtiyacınız Örneğin sonra parantez. Tipo. İyi yakalamak, sizin için altın yıldız. Ayrıca, bir soru soruyorsun eğer, eğer Siz sadece bana isimlerini söylemek istiyorum, Ben isterdim. Ben edebilmek isterdim Tüm isimlerini biliyorum. Ben soğuk gitmiyorum Aslında, seni aramak sadece isimlerini bilmek istiyorum. Yani aslında bana isimlerini söyleyin lütfen. LEAH: Leah. ALLISON: Leah. Tamam, bu yüzden functions-- ben kısaca biliyorum Onlar ders sırasında bu konuda konuştuk. Yani fonksiyonları tür sadece vardır Bu küçük lokma boyutu gibi şeyler Eğer girişler geçmek, bir şey büyülü olur ve çıkışları olsun. Serin. Yani aslında kullanılan bir Zaten bu çok. Dize, baskı f olsun, int alın. Bunlar tüm fonksiyonları vardır Sadece onları arayın nerede, büyülü şeyler çok şey var Arka planda oluyor , mutlaka görmüyorum ve istediğiniz ne olsun. Ya da en azından olsun Ne istediğiniz umuyoruz. Ve temelde fonksiyonların noktası, ve CS ana temalarından biri, kodunuzu kırmak için yönetilebilir parçalara. Yazdığınız başladığınızda Bu gerçekten uzun programlar, ya Scratch size varken Bir oyun için bu büyük bir fikir, Bunu kırmak için gerekiyor Tamam, gibi, aşağı, nasıl başlar? İhtiyacım küçük parçalar nelerdir? Ah, ben sormak gerekiyor bir şey için kullanıcı. Şimdi bir şey yazdırmak gerekiyor. Ah, ben bu değeri hesaplamak gerekir. Ve kırmak için nasıl öğrenme senin Kod ve büyük sorunlar Bu küçük parçalar halinde var ve fonksiyonları yaratır Aslında biridir CS büyük taşları. Yani bir fonksiyonun gibi düşünebilirsiniz Bir kara kutu gibi, büyülü bir kara kutu, Eğer içine bir şeyler koymak ve bazı çıktı olsun. Ve programın geri kalanı mutlaka bilmeniz gerekmez ne siyah kutu içinde oluyor. O umurunda Tüm ne olduğunu gider ve ne çıkıyor. Serin. Peki neden fonksiyonları? Organization-- ben olduğunuzda, dedi çok büyük kod üsleri ile ilgili, Eğer kod olacak nasıl organize Eğer işlevleri kullanabilirsiniz eğer çok daha kolay. Eğer mümkün olacak Çünkü Tamam, gibi olmak, bu bu fonksiyon ne ve Burada başka kimse yok ne. Ve kolayca görebilirsiniz nasıl hepsi birbirine uygun. Böylece tüm içine kesiliyor Bu yönetilebilir Alt kısım. Ben emin çocuklar Yani simplification-- değilim Dediğim gibi tüm Scratch ile, bu gördüm. Bu büyük bir fikrim var, ve Eğer gibisin, tüm bu işi nasıl yapar? Ama bu yaklaşım eğer parça parça, sen, tamam, demek Ben bir sprite yapmak nasıl ekran boyunca yüzer? O biraz daha kolay. Fonksiyon yapar Yani iyi kullanmak kodunuzu okumak çok daha kolay. Bu daha kolay hata ayıklama yapar gibi Eğer, senin sorunun daha sonra setleri içine almak Eğer gerçekten gidiyoruz yapabilmek istiyorum. Ve onlar da daha kolay konum tasarlamak ve uygulamak için. Sen küçük kadar kodlayabiliriz nispeten hızlı bir şekilde işlev ve emin çalışırken karşı çalışır hale Bütün bu uzun bir program oluşturmak için ve daha sonra tür geçmesi ve değil ne çalışıyor ve ne görmek. Sonra tekrar kullanılabilirliği. Yani fonksiyonlar sadece ihtiyaç bir kez yazılacak, ve sonra bunları kullanabilirsiniz Mümkün olduğu kadar çok defa. Yani bu gibi, çevre dostu bir anlamda. Gibi şeyler olsaydı Baskı f, seni gider sihirli yazmak zorunda kaldım arkasında her zaman f yazdırmak Eğer bir şey yazdırmak istedim, sen Oldukça hasta ve onu yorgun olurdu sonunda. Şeyler biri, sen olacak daha sonra CS sınıfları öğrenmek ya da en iyi biri tavsiye parçaları alıyorum Eğer kopyalama ve yapıştırma eğer, ise kod, muhtemelen bir işlev olmalıdır. Eğer aynı varsa Tüm kod boyunca çizgiler, Eğer onları çarpanlarına ise, kodunuzu muhtemelen olur gibi olmak beş kat daha kısa ve çok daha kolay okumak için olacak. Ve bunun yerine gidermek için çalışırken Bütün bu farklı yerlerde nerede şeyler yanlış gidebilir, tek işlevi var Eğer gidermek için olsun. Ve ben, bu bir sürü söz veriyorum Şimdi soyut tür görünebilir, ancak daha sonra içine almak gibi ve daha sonra bir sorun, setleri Bir çok daha mantıklı olacak ve gerçekten ev sürülebilir. Herhangi bir sorunuz var mı işlevleri hakkında bugüne kadar? Neden biz bunları kullanarak değil mi? Biz kazanılmış değil biliyorum işin cesur içine henüz. Yani bir function-- gibi tanımlanması diziler, biz bu of-- çeşit gerekir sadece genel çıkıştır. Yani bu var bir fonksiyondur sadece bazı girişi küp olacak. Ve bir sonraki sayfada, aslında, biz var Burada bütün bu müthiş küçük şeyler. Yani, herkes okuyabilir , meraktan mı? Ben mor ve siyah biliyorum biraz zor olabilir. Ama büyük şeyler böylece ilk bilebiliyors-- için tek doğru bizim dönüş türüdür. Yani bu çıkışı hakkında konuşuyor Bu fonksiyonun ne zaman, bu durumda, biz konum ne, bazı sayı koymak Başlarken bu sayı küp olduğunu. Bu yüzden, bu durumda, bir int olmalıdır. Belki bir çift olurdu ya Başka bir şey daha sonra, ancak bu durumda, bir int var. C ile, her zaman bir dönüş türü gerekir. Bu bir int olacak. Bu bir şamandıra olacak. Bu bir çift olacak. Ama ne belirtmeniz gerekir Bu işlev geri gidiyor. Aksi takdirde bağırma Eğer, ve derleme olmaz. Sen üzgün olacağım, ve ben üzgün olacağım. Ve bu sadece iyi değil. TAMAM MI. Ve sonra bizim işlev adı var. Ve sen c, burada görebilirsiniz Bu çok tutarlı paradigma var. Senin tipin nedir, isim ne, ve sonra sonunda bazı başka şey. Bu yüzden, bizim dönüş türü var Bizim işlev adı, ve sonra biz bizim başlığını var Bizim parametre listesi. Parametre listesi Peki nedir almak için gidiyoruz, bu fonksiyon? Bir parametre listesi sadece bir olduğunu eşanlamlı için, bizim girişleri nelerdir? Ve biz aynı şekilde Bizim işlevi tanımlamak zorunda ve bir geri vermek Bizim girişlerin her yazın bağlantılı bir tür olması gerekir. Yani bildiğimiz ne bizim işlevi Aslında çalışabilirsiniz. Peki bu durumda, bazı int girişi var. Yani yine, bu tip olacak ve bunu aradığınız ne. Ve sonra, gibi görmek Burada, bizim bir vücuda sahip. Bu yüzden, bazı int çıkışı var sadece bizim giriş kere kendisi sadece küpler kez kendisi. Ve sonra o çıktı dönmek. Burada gördüğünüz gibi Yani biz bir var , çarpı bir int kez bir int int bu yüzden bir int, döndürür Orada ilan edilmiştir. Yani her şey birbirine bağlı olduğunu. Her şey mutlu. Sizin fonksiyonu çalışacaktır. Ve bu sadece genel bir şeydir. Yani her zaman, dönüş türü var isim, ve parametre listesi. Her şey senin parametre listesi, veya giriş, bağlantılı bir tür olması gerekir. Ve sonra var senin ne olursa olsun burada gövde Eğer giriş yapmak istiyorum. Sonra besbelli bir şey dönmek istiyorum. Bazen işlevleri sadece dönecektir. Onlar aslında dönüş yok Kullanmak için bir şey. Ama bir şekilde dönmek zorunda. Ve sen yapıyoruz zaman Kendi fonksiyonlar, biz biraz daha derin içine alabilirsiniz. İsterseniz Şahsen, bir yeri vardır farklı şeyler orada yapabilirdi. Herkes iyi? Bana istediğiniz bu listede şey Eğer anlamadı ki, üzerine gitmek için? Herkes orada iyi? Serin. Korku. Tamam, bu yüzden koyuyoruz Tüm bu arada şimdi. Bu yüzden, bu yüzden bazı int küp girişi var Bu burada tam bir programdır. Şimdiye kadar, ben oldum tür size vermektedir Çocuklar parçacıkları olabilir Bir program dahilinde devam edilecektir. Biz sadece fonksiyonları bakarak oldum. Ama burada bütün bir program. Peki kaç senin hatırlıyorum Ders kelime prototip? Serin. Biz bir tane var. Adınız ne? STEPH: Steph. ALLISON: Steph? Tamam, harika. Yani, bir prototip olduğunu hatırlıyor musun? ÖĞRENCİ: Diyorsunuz [duyulamaz] önce aslında onunla başa. ALLISON: Neden hatırlıyor musunuz? ÖĞRENCİ: Hayır ALLISON: Tamam. Altın yıldız. Yani evet, bir prototip, biz var önceden, çünkü aksi halde, Bizim derleyici bize bağırma gidiyor. Bu, tamam, demek oluyor Bu küp işlevi nedir? Gibi, kelimenin tam anlamıyla var Bana bu konuda hiçbir şey anlattı. Bu size gibi Bir sınıfta yürümek, ve birisi, gibi Bugün bir sınav var. Ve size, gibisin Bu konuda bana hiç. Ben bize mutlu değilim. Prototip temelde gibi senin müfredat, bak diyerek. Dikkat et. Bu gün bir sınav olmalı oluyor. Bunu almak zaman kafayı etmeyin. Sen iyi olacaksın. Peki tüm prototip anlatmak olduğunu mu Ana, ben bu işlevi kullanmak için gidiyorum. Ben daha sonra tanımlama söz veriyorum. Bana kafayı etmeyin. Sadece derlemek ve ben size söyleyeyim ne. Yani biz orada prototip var sadece bizim derleyici mutlu etmek için. Ve bir söz temelde olduğunu Bu işlev, daha sonra tanımladığınız ve sadece çağırarak olmadığını Bu rastgele bir şey öyle sen ne bilmiyor gidiş yapıyor olması. Peki bu durumda, biz burada ana var. Biz bazı tamsayı x başlatılamıyor. Bu iki. Biz x ne yazdırmak için gidiyoruz. Biz x küp gidiyoruz. Gördüğünüz gibi, biz bizim Fonksiyon beyanı Buraya biz o Daha önce hakkında konuştuk. Biz eğer, o zaman x küp ve edeceğiz Aslında, küp fonksiyonu hatırlıyorum bir tamsayı döndürür saklanır bize, Biz yazdırabilirsiniz tekrar böylece x Şu anda sekiz veya küp x dışarı. Bu herkese mantıklı mı? Biz iyiyiz? Tamam. Korku. Tamam. Nasıl çocuklar birçok Bu yüzden bu hatırlıyorum temelde sadece, sizin Yığın ve öbek, sadece bir görselleştirme nasıl bellek burada saklanır. Yani biz sadece yapmak istiyorum anlamak emin nasıl bu bellekte temsil edilmektedir. Eğer gibi dersleri almak durumunda CS61 ve malzeme daha sonra, Eğer bu kadar fazla bilgi almak derinlemesine ve gerçekten serin. Ben tavsiye ederim. Ama şimdi, ben vereceğim Eğer geniş bakış böylece gerek yok işin gritty biliyorum. Üst sadece bir metin parçası Yani hangi Gerçek sıfır ve olanları içerir, Bunun için ikili. Bu depolamak için kullanılan global değişkenler Eğer varsa. Aşağı hareket ettikçe, biz Burada gördüğünüz gibi, var, başlatılmış veriler, başlatılmamış Veri ve sonra yığın. Yani biz gerçekten konuşmak yok Şu anda yığın hakkında. Biz daha sonra alırsınız. Şimdilik, sadece gidiyorum Ellerimi dalga ve benzeri olmak, şimdi bu konuda bilmek gerekmez. Ama biz biraz konuşacağız yığını hakkında biraz. Biz zoom var Nere Yani yığını. Bu nasıl bir program aslında bellekte meydana biz sadece baktı. Peki ne her olduğunu zaman biz bir işlev çağrısı Biz bir yığın ne denir olsun Bunlardan biri olan kare. En Yani ana parametreleri. Bu yüzden şeylerdir Biz main içine geçmek. Yani altta sağ buradayız, biz diyoruz ilk şey çünkü. Ve sonra ana yıllara olsun Yerliler ve biz söylerken, yerel değişkenler ortalama ana saklanır. Yerliler Yani burada gibi olurdu, X bu durumda iki eşittir. Çünkü o ana kadar lokalize ediyor. Herkes kapsamını hatırlıyor mu, derste olduğu üzerinde gidiş? TAMAM MI. Yani, sadece değişkenler ki Ana içinde başlatılır. Biz ana [sahip yüzden o? vokal. ?] Ve ardından ana dahilinde, biz küp diyoruz. Doğru? Bu yüzden başka bir çerçeve olsun küpün parametreleri ile. Yani bu durumda, küp en parametreleri artık Biz geçti x Biz geçti iki. Ve sonra küp yerliler, hangi nerede gerçek cubing olur. Ve sonra döndürür. Küp aslında yaptığı gibi Peki ne olur ise bunu yapmak gerekiyordu, ne döndürür. O döndüğünde, bu çerçeve, yaprakları ve ana kadar döndü. Sonra ana içinde, aslında yazdırabilirsiniz. Peki ne zaman bir şey dönen, zaman işlev verir, o için bu değerleri geçen gibi altında çerçeve ve sonra bırakılır. Ve işler sırayla çalıştırmak zorunda. Ve büyük programlarına olsun, Biz daha serin ve daha karmaşık hale yapabilirsiniz diyagramlar. Ama şimdi, bu Sadece genel bir bakış böylece bir tür var anlayışı ne Eğer bir işlevi diyorsun ne olur ve aslında bellekte nasıl göründüğünü. Serin? Herkes iyi? Korku. Peki bu olandır sadece şeyler takas çalışıyor. Burada gördüğümüz gibi, biz var Bizim işlev prototip bizim derleyici bize bağırma gelmez. Biz bazı main var, ve biz x ve y geçmek istiyorum. Onlar bu demoyu yapmadım Henüz derste, sahip oldukları? Onlar var? TAMAM MI. Yani biz gidiyoruz Bu çok kısa bir süre bitti. Bu örnekte daha içine alırsınız derinlemesine, ben bu hafta, bence. Ve sonra önümüzdeki hafta biz gerçekten can Bu işe yaramazsa neden dalmak. Peki bu boşluğu var fonksiyon ötürü-- takas. Sadece demektir Yani geçersiz hiçbir şey döndürülür. Ve biz takas int a ve b int var. Ve biz bazı geçici var Bir var değişken. Bir b atanan ve daha sonra alır b sıcaklığına atanan alır Böylece, a ve b'nin en değerler artık değiştirilir. Ama, arsa büküm, bu işe yaramazsa. Ve bunun bir parçası aslında var Aslında yapmak bir ve burada b geçirilen olsun olanlar burada, x ve y kopyaları aslında. Yani işlev aslında döndüğünde, bu kopya geçer değil Gerçek x ve y en. Yani bir yolu olduğunu düşünmek ki- bu takas vardır iddia. TAMAM MI? Yani esas olarak, biz x ve y başlatıldı var. Ama biz aslında yukarı gitmek swap bu kare, Biz değerler üzerinden geçen ediyoruz ona, ve onlar başlatıldı ediyoruz. Ve onlar sadece şimdiye kadar burada yaşıyor. Yani a ve b burada yaşıyor. Ve onlar takas olsun. Biz geri döndüğünüzde Ama, biz yok a ve b ile bir şey yapmak. bir Bizim fonksiyonu b izni. Ve böylece x ve y aynı kalır. Bunu düzeltmek için nasıl daha fazla alırsınız ve biz aslında daha sonra başa nasıl. Ama sadece bir şey var tür akılda tutmak. Gelecek için kullanın. Bu yapmadığını Merak etmeyin Dünyadaki tüm duyu. Onlar kopyalar büyük şey vardır. Eğer bir şey almak için gidiyoruz uzakta böyle olduğunu, kopya geçti. Yani orijinalleri aynı kalır. Herkes iyi? Serin. Komut satırı argümanları Yani. Ben başlangıçta eminim hepiniz bu büyük, gibi, int main boşlukları vardı. Ve sen, tamam serin gibisin. Ben gerçekten umurumda değil. Bu benim yazmak zorunda sadece ne olduğunu. Ama yeni programlarda, özellikle bu pset olarak, ve neden zeminde tebeşir var? Sonraki pset ile, sen Bu görmeye olacak. Ana int, int arg c dize ark v parantez. Peki biz sadece öğrenilen bugün, ne ikinci parametre olduğunu düşünüyorum veya ikinci unsur burada? Bu bir dizi var. Dizinin ne tür? Dize dizisi, evet. Serin. Yani gidiyoruz nasıl Şimdi bu ilan edilecek. Herkes hatırlıyor mu Bu ne için stand? Hayır mı? Hmm? ÖĞRENCİ: arg c. ALLISON: Bu yüzden arg c sayacı tutar. Bu bir int var. Bu doğru, bir numara değil mi? Peki bu sayısı olduğunu düşünüyorsunuz? Evet. Yani arg c dizeleri sayısı Bu komut satırı makyaj. Yani biz aslında sanıyor- olsaydı, örnekler, bu daha sonra, orada ben önde kendimi almazsınız. Bu dizeleri bir dizi olduğunu sadece komut satırı makyaj. Bunu yaptığınızda Peki, gibi, Mario slash dot, Bu o kadar yapar bir dize var. Bu yazıda, aslında olacak Komut satırında şeyler beslenmesi, Ben emin değilim çocuklar gibi kim Spec gördüm okudum. Yani bu durumda, belki olacak İki ya da üç argüman var. Kullanımı için yararlı bir şey olacak. Ve sonra v arg, biz söylediğimiz gibi, Sadece bir dize dizidir. Aslında ne saklar Yani Komut satırında içine girdi. Yani bu var. Bazı nokta çizgi var infile outfile kopyalayın. Yani, eğer arg c dizeleri sayısı Biz komuta içine geçen olduğunuzu çizgi, bu durumda eden Arg C nedir? Üç. Kesinlikle. Yani sıfır arg v nedir? Yani biz sakladığınız ilk şey ne? Nokta tam, kopya çizgi. Sonra ikinci infile olacaktır. Üçüncü ÇıkışDosyası olacaktır. Yani arg v üç hakkında ne? Işte, çünkü boş olurdu Bizim dizinin sonuna, değil mi? Serin. Ve sonra ne altıncı biri hakkında? Bir hile soru türüdür. Ish. Ne olduğunu biliyor musun? Bu tanımsız değil. Biz ne olabilir hiçbir fikrim yok. Bu doğru ne olursa olsun var bellekte dizi sonra, ve biz ne olduğunu hiçbir ipucu var. Ve bu dokunmak tehlikeli Çünkü bildiğiniz tüm şeyler, bellekte bazı parçası olduğunu erişme veya null olmamalıdır. Ve çılgın şeyler yapabilirsiniz. Bu aşırı indeksleme denir senin senin diziye bağlı. Sınırları dışında gitmeyin sizin dizi, ya da kötü şeyler olabilir. Sen, gel ve yasalar gibi fizik tahrip edilmiş falan. Serin. Bu herkese mantıklı mı? Çok kötü değil. Peki şimdi, herkes var favori parçası, pset yorum. Yay! TAMAM MI. O sizin Yani kim pset spec okumak değil, Eğer gerçekten bazı yapıyorsun kriptografi ile serin şeyler. Bir Ceasar oluşturmak için gidiyoruz Şifreleme ve Vigenere Şifreleme. Kesinlikle okumalısınız nasıl bu iş görmek için spec. Ve hakkında herhangi bir sorun yaşıyorsanız aslında ne yapıyor olmalıdır, Bana konuşma gel lütfen, bana e-posta veya metin bana. Ben buralardayım. Yani üç ana vardır Burada işler biz o sadece tür about-- konuşmak istiyorum Dersin bir uzantısı. Bilmiyor olabilir şeyler yararlı ipuçları ve araçlar hakkında. Yani biz bir yapacağız ASCII hızlı yorum, çünkü süper olacak vigenere en Şifreleme için önemli. Biz dönüşüm gidiyoruz Komut satırı girişi, hangi Sezar Şifreleme için çok yararlı olacaktır. Sonra modulo. Serin. Peki, ASCII numaraları karakterleri eşler. Bu büyük bir grafik olduğunu. Bunu olmalıdır yerde imi. Sen bunu isteyeceksiniz İlk orta vadeli. Ben herkesin bu vardır eminim onların orta-vadeli kağıda grafik. Yani bunu öğrenmek. Onu seviyorum. Kullanışlı tutun. Bu yararlı olacak. Ve tüm bir kodlama Bu, sayısal, alfabetik haritalar ve diğer karakterleri Bizim bilgisayar için numaralar. Çünkü elbette, içinde sonunda, her şeyi saklamak Dönüştürülen almak için gidiyor sıfır ve olanlar aşağı, bu yüzden temsil için bazı yol gerekir Hepimizin konum metin ve karakter numara çeşit olarak görmeye alıştığımız. Burada Gördüğünüz gibi biz var hemen orada büyük bir. Bu 65 var. Ve küçük bir 97 olduğunu. Yani bir konrtol anlamaya Daha önce de söylediğim gibi, Eğer çoklu dizi olsaydı Bunlardan dizeleri, her ne null sonlandırıcı var. Bu bir boşluk olacaktır. Uzay kendi special-- var Burada nerede olduğunu unutmak. Ah. 32 alandır. Yani her şey ona eşler. Bu yüzden ASCII matematik var. Vigenere en Pro tip--, Eğer cazip olabilir tamsayılar için numaralar dönüştürmek için, ama aslında iyi bir uygulamadır kullanmak mümkün Bu gibi karakterler zaman aslında onları manipüle ediyoruz. Eğer sayıları kullanmak istiyorsanız, yapabilirsiniz yüzden. Ama daha iyi bir yolu, ya da bir yol olduğunu biz bunu yapmak için adamlar gibi eğilimindedir, sen bu yolu Aslında karakterleri çıkarılarak. Yani sana göre çocuklar istiyorum tür bu anlamaya. Neden her birini denemiyorsunuz? Yani ilk birini yapmak Üçüncü bir ve beşinci. Ben konuşmak emin yapmak istiyorum çünkü her şey hakkında konuşmamız gerek. Ben sadece birini söylemek için gidiyorum önemli şeyler oh, bekle amaçlara yönelik Siz bunu görmedim. Tamam yani ilk üç yapmak. En yapalım. Biz modulo hakkında konuşmak zorunda çünkü. Biliyorum. Matematik zor. Bir hesap makinesini kullanabilirsiniz. Tamam. Ya da, çünkü bir ASCII tablosu yukarı çekin Muhtemelen bunu istiyorum gidiyoruz. Serin. Yani hızlı yürüyecek Bu adamlar aracılığıyla. Yani insanlar ASCII tabloları çekti var? Ne bizim sayısal küçük A numarası? ÖĞRENCİ: Yedi. ALLISON: Böylece küçük A 97 ve büyük 65 olduğunu. Yani 97 eksi 65? İZLEYİCİ: 32? ALLISON: 62, evet. Bu durumda Peki dışarı basacaktır? Bu ilk mi? Biz yüzde d varsa, Bu ne işaret eder? ÖĞRENCİ: Bir sayı. ALLISON: Biz baskı ediyoruz Bir gerçek sayının dışında. Yani biz aslında gidiyoruz Burada 32 yazdırmak için. Bu yüzde C olsaydı 32 bize bir yer vermek istiyorum. Böylece anlama karakter basılabilir sayı olarak ve hem Gerçek karakterler gerçekten çok önemli, ve ödeme Gerçek türlerine dikkat Burada yapıyoruz. Serin. Bunların her biri için, bu yüzden ne baskı olacak? ÖĞRENCİ: Bir karakter. ALLISON: Bir karakter. Serin. Siz, sizi tanımak istiyorsanız Kendi bu halledebiliriz. Eğer sorun yaşıyorsanız, bana e-posta. Ancak ikinci bir olacak Bir küçük b çıktı. Üçüncü kimse bir yazdıracaktır Büyük B. dördüncü bir basacaktır Bir büyük C, ve dışarı Sonuncusu bir küçük A. olacak Ve son Şehre biz aslında gidiyoruz ne o çılgın yüzde içine almak için işareti bile birkaç slaytlar anlamına gelir. Yani kendi üzerinde bu deneyin. Eğer sorun varsa, Bana konuşma gel lütfen. Eğer Adams D salonunda tipik iseniz, muhtemelen beni etrafında bulacaksınız. Yani, atoi. Kaçınız bu gördük fonksiyon tüm duymadım ya? Herkes? Serin. Yani aslında duruyor ne için tamsayı için ASCII. Yani Sezar ile, yapmak ne, spec okumak isteyenler için, Eğer nokta çizgi Sezar'ı yapmak için gidiyoruz , sizin program yazmak sonra ve sonra gidiyoruz Bazı sayı girişi olduğunu size ile gizli mesajı kodlamak istiyorum. Ama, biz, tüm hatırlıyorum eğer bizim girişler dizeleri olarak depolanır. Doğru? Biz arg v dizi var tüm tipi dizedir. Sadece çalışırsanız yüzden o bir o olur çekin düşünüyorum o bir ya da her türlü numara kullanılan aslında bir karakterdir. Yani almak için gidiyoruz Bazı çılgın sonuçlar. Yani aslında istiyorsanız Bir tamsayı dönüştürelim Eğer işlemek için kullanabileceğiniz kelime ya da mesaj, Eğer atoi kullanmak isteyeceksiniz. atoi sadece dönüştürür Bir int dize. Dediğimiz eğer biz, 12 bir dize var ise 12 atoi, ya da girdi ne olursa olsun, aslında döner tamsayı sana. Değil karakter veya dize 12. Hangi başlattığınızda numaralarına eklemek için, çok farklı olacaktır, sırası 12, çünkü Bazı çılgın sayı olarak ASCII, ancak tamsayı 12 ne istiyorsun ki, aslında 12 olduğunu. Yani atoi kullandığınızdan emin olmak istiyorum. Bu istediğiniz gidiyoruz Sezar, senin yüzünden tarafından sağlanan int gerekiyor Komut satırında kullanıcı. Ama onlar komuta koyduğunuzda çizgi, bir dize olarak depolanır ile başlayacak. Mantıklı mı? Sen ille yapmak vigenere için bu gerekir. Vigenere ile, dediğim gibi önce, denemek ve kullanmak gerekir Daha fazla gibi görünüyor ASCII matematik aslında olduğun yerde bu, size verilen konum karakter kullanarak. Serin. Herkes orada iyi? Korku. Yani modulo. Peki ne verildi eğer Sezar için bu büyük sayı? Bu fikrin var Eğer Z konum ve eğer Bir numara verilen iki, Bu sizin need-- demektir Z ikinci olur kendisi sonra mektup, değil mi? Yani bir şekilde etrafına sarın gerekir, ve Modulo yapmak yoludur. Yani yaptığı tüm o Size kalanı verir bölünme saniye ile ilk sayı. Ve bazı örnekler var Biraz daha somut emin olun. Ama temelde, sen modulo sizi kullanmak etrafında bir şey şal yapmak istiyorum. Yani sadece isterseniz sayıları sekiz ile on, Eğer herhangi bir diğer yandan modülosunu kullanabilirsiniz sayı, ve her zaman olacak sıfırdan sekize bir sayı döndürür. Yani bazı examples-- Biz 55 modulo 10 var sadece size geri kalanı verir 55 5 olurdu 10, bölü. Ve sonra üç modül beş, Herkes bu ne olacağını tahmin? Üç. Eğer küçük bir sayı önce var ise modül, bu eşit gidemem. Sıfır değil. Yani sadece numarayı kendisi verir. Yani sekiz modül sekiz olurdu? ÖĞRENCİ: Sıfır. ALLISON: Sıfır. Eşit olarak gider çünkü. 16 15 modulo? İZLEYİCİ: Bir. ALLISON: Serin. Ve sonra bu sonuncusu sadece etmektir Tamam, sen merak olabilir sen-- göstermek Burada operasyonların sırası nedir? İlk bölmek musunuz? İlk modulo musunuz? Yani modül aynı önceliğe sahip bölünme veya çarpma gibi, ve sol taraf. Yani aynı şekilde var. Her zaman, parantez yapacağını Sonra çarpma, bölme, ve sırayla Modulo soldan sağa. Yani standart kurallar. Sadece aynı kategorideki koydum bölünme ve çarpma gibi. Peki bu durumda, biz-cekti 1 var artı 2 bize 3'ü verir. Biz 2 ile çarpın, bu yüzden 6 olsun. Biz bize hangi verir, 2 ile o modulo? ÖĞRENCİ: 0. ALLISON: 0. Ve sonra 2 ekleyin, bu yüzden Bu son durumda 2 olsun. Yani kesinlikle gidiyoruz modulo-- dahil yollarını düşünmeye olmak Eğer sarma yaparken bu Alfabenin etrafında. Eğer Z konum ve taşımak gerekiyorsa C almak için üç boşluk iletmek, O bütün kavramı var etrafında sarma. Yani onu terk edecek Siz anlamaya tam olarak nasıl bunu kullanarak gidiyoruz. Ama kesinlikle bir araçtır senin pset bu hafta. Ben gerçekten böyle. Bu benim en sevdiğim psets biridir. Sonra bunu sonra, Eğer arkadaş varsa, Eğer gibi, birbirlerine sırrı gönderebilirsiniz mesajlar ve çalıştığından emin olun. Onu ya da her neyse şifresini olacak çünkü. Çok eğlenceli. Ve o bölümün sonu. Ben erken bitirdim. Ben hala 15 dakika ile var eğer öyleyse siz, bir şey var Eğer üzerinden gitmek istiyorum ayrıca, bunu yapmak için mutlu olurdu. Herhangi bir diğer sorular o sizin için pset kim başlatılmış veya spec okudum. Biz konuştuk şey Son bir saat içinde yaklaşık 15 dakika beni istiyorum ki rehash türüne, ben mutlu olurdum. Ya da biz çıkar arayabilirler ve mümkün Tüm bırakın ve sizinle daha fazla şeker almak Eğer gitmek gibi. Varsa ancak herhangi bir kalıcı sorular, lütfen bana bildirin. Ayrıca gelebilir ve Bana daha sonra konuş. Ben lokma değil söz veriyorum. Başka herhangi bir şey? Herkes iyi? Gibi Herkesin duygu bu pset işleyebilir? Sen iyi adamlar olmaya gidiyoruz. Ofis saatleri bir nedeni vardır. Serin. Tamam. Peki, bu durumda, teşekkür Tüm gelecek için çok. Önümüzdeki hafta görmeyi umuyoruz. Daha fazla şeker var olacaktır. Diğer serin şeyler olabilir. Ve ben almak için sabırsızlanıyoruz bu yıl hepiniz bilmek.