JavaRush /Java Blogu /Random-AZ /Mühazirələr üçün əlavə materiallar CS50: Həftə 0 (Mühazir...
Bender
Səviyyə
Маунтин-Вью

Mühazirələr üçün əlavə materiallar CS50: Həftə 0 (Mühazirələr 1 və 2)

Qrupda dərc edilmişdir
Proqramlaşdırmanın əsaslarına dair Harvard mühazirələrinə hələ baxmayanlar bura daxil olun: https://javarush.com/quests/QUEST_HARVARD_CS50 =)

Giriş. CS50 Kursun Strukturu

Mühazirələr üçün əlavə materiallar CS50: Həftə 0 (mühazirələr 1 və 2) - 1Dostlar! Girişdə biz sizə CS50-nin strukturunu xatırladacağıq (yaxud kimə deyəcəksiniz). Kurs 12 həftə davam edir. Hər həftə iki mühazirə, eləcə də hər cür seminarlar və izahatlar keçirilir. Mühazirələr hazır olan kimi bu kimi yazıları dərc edəcəyik. Burada mühazirələrin qısa təsviri, “qısa mətnlər” haqqında qeydlər və əlavə məlumatlar, habelə praktiki tapşırıqların tərcüməsi olacaqdır. Sıfır həftə mühazirələri aşağıdakı məsələləri əhatə edirdi:
  • İkili say sistemi.
  • ASCII
  • Alqoritmlər və alqoritmik düşüncə
  • Kompilyatorlar
  • Scratch dili
  • Boolean ifadələri
  • Şərtlər
  • Velosipedlər
  • Dəyişənlər
  • Funksiyalar
  • Massivlər
  • Axınlar
  • Hadisələr
Həftə 0 qolları:
  • Məlumatın rəqəmsal şəkildə necə təmsil oluna biləcəyini anlayın.
  • Əsas proqram konstruksiyalarını və konsepsiyalarını öyrənin.
  • Scratch istifadə edərək öz animasiya, oyun və ya interaktiv fəaliyyətinizi yaradın.
  • Dostlarınızı heyran edin =).

CS50 Həftə 0 (Mühazirə 1-2): qeydlər

Alqoritmlər

Mühazirələr üçün əlavə materiallar CS50: Həftə 0 (mühazirələr 1 və 2) - 2Ümid edirik ki, siz artıq mühazirələrə baxmısınız və başa düşmüsünüz ki, alqoritm problemlərin həllini (müxtəlif məsələlər, riyazi məsələlər və ya “N metrostansiyasına necə getmək olar”) mərhələlərə bölür. Üstəlik, hər bir addım müəyyən bir müddətdə tamamlanmalı və müəyyən sayda addımlar olmalıdır. Həmçinin, növbəti addım əvvəlkindən asılıdır. Alqoritmlər haqqında daha çox oxuya bilərsiniz, məsələn, burada . Əgər ingilis dilini bilirsinizsə, David Malanın gözəl TED animasiyasını təqdim edirik: https://youtu.be/6hfOvs8pY1k Baxmayaraq ki, ümumilikdə videodakı məlumat mühazirədə bunu təkrarlayır =).

İkili say sistemi

Mühazirələr üçün əlavə materiallar CS50: Həftə 0 (mühazirələr 1 və 2) - 310 barmağımız var və sistem ondalıqdır. Yəni 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rəqəmlərindən istifadə etməklə nə qədər böyük olsa da, istənilən ədədi təmsil edə bilərik. Rəqəmin rəqəmin hansı yerində olmasından asılı olaraq, bu məna verə bilər. müxtəlif şeylər: əgər bu rəqəm sonuncudursa, o, vahidlər yerində, sondan əvvəlki rəqəm onlarla yerdədir, hətta solda yüzlər yerdədir və s. Əslində, hər hansı bir rəqəm hər biri müəyyən bir gücə on ilə vurulan rəqəmlərin cəmi kimi yazıla bilər. Vahidlər vəziyyətində - sıfır. Məsələn, 1573 = 3*10 0 + 7*10 1 +5*10 2 +1*10 3 . Rəqəmlərin vurulduğu ədədə say sisteminin əsası deyilir. Onluq sistem üçün əsas məntiqi olaraq ondur. Kompüterin barmaqları yoxdur, lakin iki vəziyyət var: şərti olaraq "cari axır" və "cərəyan axmır", sıfır və bir. Müvafiq olaraq, kompüter yaddaşındakı bütün nömrələr (və ümumiyyətlə məlumat) yalnız iki rəqəmdən ibarətdir - 0 və 1. Onların yeri, onluq say sistemində olduğu kimi, rəqəmi göstərir. Yalnız indi ədədi onluğun deyil, ikinin dərəcələri ilə vurulan rəqəmlərin cəminə bölmək olar. İkilik sistemdə 0 = 0 1 ikilik sistemdə = 1 2 ikilik sistemdə = 10 7 10 =111 2 İkilik sistemdən onluğa çevirməyi öyrənin. Yəqin ki, bunun necə edildiyini artıq başa düşürsünüz - biz sadəcə olaraq nömrənin rəqəmini ən sağdan başlayaraq götürürük və onu rəqəminə uyğun olan gücə qədər bazaya vururuq və hər bir rəqəmə hər şeyi əlavə edirik. Nümunə: 101101 ikilik ədədinin onluq analoqunu tapaq 2 Ən sağdakı = 1*2 0 Növbəti sıfır = 0*2 1 Sağdan üçüncü = 1*2 2 Dördüncü = 1*2 3 .. və s. 101101 2 = 1*2 0 + 0*2 1 + 1*2 2 + 1*2 3 + 0*2 4 + 1*2 5 = 1 + 0 + 4 + 8 + 0 + 32 = 45 10 Bir sıra düzülmüş səkkiz lampanı təsəvvür edin. Onların hər birinin öz açarı var. Lampaların hər biri boşalmadır. Nə təsəvvür edə bilərsiniz, ilk mühazirəni xatırlayın (orada belə bir cihaz var) və ya burada sizin üçün bir widget var: http://cdn.cs50.net/2016/x/psets/0/pset0/bulbs.html Play onunla, ikili sistemi "hiss etmək" üçün məşq edin. Onluq sistemdən ikiliyə çevirmək. Burada da hər şey çox sadədir, əgər mahiyyəti başa düşsəniz. Burada 57 10 rəqəmi var . Onu ikili sistemə çevirmək üçün ikinin hansı maksimum gücünün bu rəqəmi aşmadığını müəyyən etmək lazımdır. 2 6 = 64. Bu, açıq-aydın həddən artıq çoxdur. Amma 2 5 = 32. İndi biz ən əhəmiyyətli rəqəmi təyin etdik. 32 10= 100000 2 . İndi növbəti rəqəmi axtarırıq. 57-32 = 25. İndi 25 üçün biz ikinin 25-dən çox olmayan qüvvəsini axtarırıq. 2 4 = 16. Bu o deməkdir ki, növbəti rəqəmimiz də 1-ə bərabərdir. 32+16 = 48 10 = 110000 2 . 57 – 48 = 9. 2 3 = 8, bu 9-dan kiçikdir. Bu o deməkdir ki, növbəti rəqəm də bir olacaq. 32 + 16 + 8 = 56 10 = 111000 2 . 57-56 = 1, yəni yalnız bir güc qalıb, 2 0 . Beləliklə, 57 10 = 111001 2 . Birdən bir şey aydın deyilsə, daha çox Vikikitabda oxuya bilərsiniz və ingilis dilində güclüsinizsə, mühazirəyə kiçik bir əlavə var.

ASCII

Mühazirələr üçün əlavə materiallar CS50: Həftə 0 (mühazirələr 1 və 2) - 4Kompüter yalnız sıfırları və birləri başa düşür və onun yaddaşı yuxarıda gördüyünüz kimi açarları olan çox uzun ampüllər silsiləsi kimi təqdim edilə bilər. Biz artıq kompüterdə rəqəmləri necə təmsil edəcəyimizi başa düşürük. Qalan məlumat haqqında nə demək olar? Məktublar, şəkillər? Tutaq ki, ingilis əlifbasında 26 hərf var. Yəni nəzəri olaraq 0-dan 25-ə qədər rəqəmləri olan hərfləri yalnız ikilik sistemdə təmsil edə bilərik. Aşağıdakı sual yaranır: kiçik və ya böyük hərfin olduğunu necə başa düşə bilərik? Durğu işarələri haqqında nə demək olar? Boşluqlar kimi görünməz əlamətlər? Bir sözlə, kodlaşdırma sisteminə ehtiyacımız var, Cap! 1960-cı illərdə simvolları kodlayan çoxlu müxtəlif sxemlər var idi. Vahidliyin olmaması problem yaratdı və 1963-cü ildə Amerika Standartlar İnstitutu, ANSI, ASCII (İnformasiya Mübadiləsi üçün Amerika Standart Kodu) kodlaşdırma sxemini hazırlayıb təqdim etdi. Hər bir ASCII simvolu yeddi bitdən və ya yeddi bitdən ibarətdir, onların hər biri 0 və ya 1 dəyərini qəbul edə bilər. 7 bit binar sistemdə 0-dan 127-yə qədər rəqəmləri saxlaya bilər, yəni simvolları kodlaşdırmaq üçün 128 ədədimiz var. Belə görünür ki, bu yazılı ingilis nitqini kodlaşdırmaq üçün kifayətdir? Gəlin sayaq: az - 26 seçim AZ - 26 daha 0-9 - 10 ,;:~& və digər durğu işarələri - 32 Və daha bir boşluq. Cəmi - 95 simvol. Qalan 33 boş seçim sətir axını və ya karetanın qaytarılması kimi sözdə nəzarət simvolları üçün istifadə olunur: https://ru.wikipedia.org/wiki/ASCII#/media/File:ASCII_Code_Chart.svg Bunları ayırd etmək vacibdir. simvol 0-9 və rəqəmli dəyərlər 0-9. 0-9 simvolları ASCII 48-57 dəyərləri ilə təmsil olunur. Maraqlıdır ki, bu ASCII dəyərlərinin ən sağdakı dörd biti 0-9 ədədi dəyərlərin ikili təsvirləridir. Bu, ASCII dəyərləri ilə onların həqiqi ədədi dəyərləri arasında çevrilmə yolunu bir qədər asanlaşdırır. Proqramlaşdırmaya başlayaq?

Cızıq

Mühazirələr üçün əlavə materiallar CS50: Həftə 0 (mühazirələr 1 və 2) - 5Beləliklə, Scratch. Mühazirədə sizə bu vizual proqramlaşdırma dili və onun əsas əmrləri haqqında məlumat verildi. Scratch-i özünüz sınamaq üçün linki izləyin və "Qoşul" düyməsini basın. Qeydiyyatdan keçdikdən sonra onlayn proqramlaşdırmaya başlaya bilərsiniz. Bəli, yeri gəlmişkən, bu gün Scratch qismən ruslaşdırılıb. Bununla belə, kömək hələ də ingilis dilindədir. İstəyirsinizsə, siz oynaya və həmçinin mühazirədə nümayiş etdirilən tələbə layihələrinin koduna baxa bilərsiniz. Budur Pikachu Pastry Catch . Və ya tullantıların müxtəlif qablarda çeşidlənməsi ilə bağlı layihə: https://scratch.mit.edu/projects/71161586/ David və şirkət sizdən belə mürəkkəb layihələri həyata keçirə bilməyəcəyinizi düşünürsünüzsə, narahat olmamağınızı xahiş edir: bu səviyyə artıq müəyyən bacarıq tələb edir. .

Məşq edin

  1. Scratch-də baş verən prosesləri daha yaxşı başa düşmək üçün bir neçə layihə üçün mənbə kodunu buradan endirə bilərsiniz . Ətrafında oynayın və baxın. Başqasının kodunu öyrənmək çox faydalıdır. Bu, özünüz hələ yetişmədiyiniz proqramların içərisində nə olduğunu tapmaq üçün ən yaxşı yollardan biridir. Bu proqramların necə işlədiyini anlamağa başladıqdan sonra təhlükəsiz şəkildə davam edə bilərsiniz.

  2. İndi özünüz bir şey etmək vaxtıdır. Çətinlik kiçik bir layihəni sıfırdan həyata keçirərkən əylənməkdir. Bu animasiya, oyun, interaktiv hərəkət ola bilər.

Layihə tələbləri:
  • Proqramda ən azı iki sprit (simvol, şəkillər) olmalıdır və onlardan biri mütləq pişik olmamalıdır =).
  • Ən azı üç skript (hərəkət) olmalıdır.
  • Ən azı bir şərt, bir döngə və bir dəyişən yerinə yetirilməlidir.
  • Proqrama ən azı bir səs daxil edilməlidir.
Yəni, mahiyyət etibarilə, layihəniz mühazirədə yazılanlardan daha mürəkkəb, lakin Pikaçu və zibil kolleksiyası haqqında nümayiş etdirilən oyuncaqlardan daha sadə olacaq. Beləliklə, layihəniz Scratch kodunu təşkil edən bir neçə onlarla tapmacadan istifadə edəcək. Əgər bir şey alınmırsa, problemin həllinə yanaşma tərzinizi dəyişməli ola bilərsiniz. Əsas odur ki, qorxmadan getmək! Sizi suallar verməyə və layihələrinizi şərhlərdə paylaşmağa dəvət edirik.

Scratch: fəaliyyət üçün sürətli bələdçi

Sprite layihənin mərkəzi obyektidir. Hər hansı bir xarakter - pişik, təyyarə, top - bir spritedir. İki fərqli pişik əlavə etsəniz, bunlar iki fərqli spritdir. Mühazirələr üçün əlavə materiallar CS50: Həftə 0 (mühazirələr 1 və 2) - 6Hər bir sprite onun davranışını təsvir edən skriptlərə malikdir. Bunlar fəaliyyət bloklarıdır. Kostyumlar obyektlərin göründüyü şeylərdir. Spritlərin özləri əslində sadəcə rəsmlərdir. Hər bir sprite bir neçə kostyuma sahib ola bilər. Sprite yaratmaq üçün ya Scratch kitabxanasından onun orijinal kostyumunu seçməli, daxili redaktorda öz kostyumunuzu çəkməli, istənilən şəkli yükləməli və ya hətta veb kameranızdan istifadə edərək şəkil çəkib yükləməlisiniz. Bütün spritlər sözdə səhnəyə yerləşdirilir. Səhnə əslində bizim kətanımızdır, proqramın quruluşudur. Siz həmçinin kitabxanadan səsləri sprite və ya səhnəyə əlavə edə bilərsiniz və ya onları yükləyə və ya mikrofondan istifadə edərək özünüz yaza bilərsiniz. Proqramı icra etməyə başlamaq üçün səhnə pəncərəsinin yuxarı sağ küncündə yaşıl bayrağın üzərinə klikləmək lazımdır. Ancaq bunu etməzdən əvvəl proqramda aşağıdakı bloku yerləşdirmək lazımdır: Mühazirələr üçün əlavə materiallar CS50: Həftə 0 (mühazirələr 1 və 2) - 7Və ona bir neçə blok əlavə edin, konstruktor hissəsi kimi. Məsələn: Mühazirələr üçün əlavə materiallar CS50: Həftə 0 (mühazirələr 1 və 2) - 8Bu halda bayrağın üzərinə kliklədiyiniz zaman hərəkətlərin əlavə olunduğu sprayt 50 addım atır və miyavlayır. Çoxlu bloklarımız var. Onlar üç nişana bölünür: skriptlər, kostyumlar və səslər. Şərti olan sadə proqram quraq. Əgər yerinə yetirilsə, pişik miyavlayacaq, yerinə yetirilməsə, susacaq. Operatorlar yaşıl rənglə göstərilir. Şərtin doğru və ya yalan olduğunu yoxlayanların yanlarında kəskin künclər var. Vəziyyət sınağı strukturları və döngələr narıncı rəngdə göstərilir. Onların digər blokları yerləşdirə biləcəyiniz xüsusi delikləri var.

Dövrlər:

Sonsuz sayda təkrarlayın: Mühazirələr üçün əlavə materiallar CS50: Həftə 0 (mühazirələr 1 və 2) - 9Bir şeyi müəyyən sayda təkrarlayın: Mühazirələr üçün əlavə materiallar CS50: Həftə 0 (mühazirələr 1 və 2) - 10Şərt yerinə yetirildikdə hərəkəti təkrarlayın: Mühazirələr üçün əlavə materiallar CS50: Həftə 0 (mühazirələr 1 və 2) - 11Data blokunda dəyişənlər yarada bilərsiniz. Aşağıdakı nümunədə bir x dəyişəni yaratdıq və dərhal onunla edilə bilən hərəkətlər oldu. Siz dəyişənlərin əhatə dairəsini təyin edə bilərsiniz: bütün spritlər üçün və ya biri üçün. Mühazirələr üçün əlavə materiallar CS50: Həftə 0 (mühazirələr 1 və 2) - 12Yaşıl bayraq tək hərəkət deyil. Həmçinin Tədbirlər bölməsində siz bir sıra digər nəzarət şərtlərini tapa bilərsiniz. Məsələn, siçan ilə bir düyməni və ya spritin özünü kliklədiyiniz zaman nə edəcəyinizi seçə bilərsiniz. Əlavə məlumat lazımdırsa, məsələn, burada tapa bilərsiniz .

Başqa

İnternetə çıxışınız çox arzuolunmazdırsa, biz https://scratch.mit.edu/scratch2download/ ünvanından oflayn Scratch redaktorunu yükləməyi tövsiyə edirik . O zaman Fayl > Kompüterdən Yüklə seçimindən istifadə edərək layihənizi http://scratch.mit.edu/ ünvanına təqdim etməyi unutmayın .
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION