Garwardyň entek programmirlemegiň esaslary baradaky leksiýalaryna tomaşa etmedik, şu ýere gidiň: https://javarush.com/quests/QUEST_HARVARD_CS50 =)
Giriş CS50 Kursyň gurluşy
Dostlar! Girişde, CS50-iň gurluşy barada size ýatladarys (ýa-da kime aýdarys). Okuw 12 hepde dowam edýär. Her hepde iki leksiýa, şeýle hem her dürli seminarlar we düşündirişler bolýar. Leksiýalar taýýar bolansoň, şuňa meňzeş makalalary çap ederis. Onda leksiýalaryň gysgaça beýany, “şortikler” baradaky bellikler we goşmaça maglumatlar, amaly tabşyryklaryň terjimeleri bolar. Nol hepdelik leksiýalar aşakdaky meseleleri öz içine aldy:- Ikilik san ulgamy.
- ASCII
- Algoritmler we algoritmiki pikirlenmek
- Düzüjiler
- Dyrnak dili
- Boolean aňlatmalary
- Şertler
- Sikller
- Üýtgeýjiler
- Funksiýalar
- Toplumlar
- Akymlar
- Wakalar
- Maglumatyň sanly görnüşde nähili görkezilip bilinjekdigine düşüniň.
- Esasy programma üpjünçiliginiň gurluşlaryny we düşünjelerini öwreniň.
- “Scratch” -i ulanyp, animasiýa, oýun ýa-da interaktiw işjeňlik dörediň.
- Dostlaryňyza täsir ediň =).
CS50 Hepde 0 (1-2-nji leksiýa): bellikler
Algoritmler
Leksiýalara eýýäm tomaşa etdiňiz we algoritmiň meseleleriň çözgüdini (dürli meseleler, matematiki meseleler ýa-da “N metrosyna nädip barmaly”) ädimlere bölýändigine düşünersiňiz diýip umyt edýäris. Mundan başga-da, her ädim belli bir wagtyň içinde tamamlanmalydyr we belli bir ädim bolmaly. Şeýle hem, indiki ädim öňki ädimine baglydyr. Algoritmler hakda has giňişleýin maglumaty şu ýerden okap bilersiňiz . Iňlis dilini bilýän bolsaňyz, ine, Deýwid Malanyň ajaýyp TED animasiýasy: https://youtu.be/6hfOvs8pY1k Umuman, wideodaky maglumatlar leksiýada gaýtalanýar =).Ikilik san ulgamy
10 barmagymyz bar we ulgam onlukdyr. 0agny, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 sanlary ulanyp, islendik san görkezip bileris, sanyň nirede ýerleşýändigine baglylykda, many aňladyp biler dürli zatlar: bu san iň soňky bolsa, onda birlikleriň ýerinde, iň soňkusy onlarça ýerde, hatda çep tarapda-da ýüzlerçe ýerde we ş.m. Aslynda, islendik san sanlaryň jemi hökmünde ýazylyp bilner, olaryň her biri belli bir güýje on bilen köpeldilýär. Bölümlerde - nol. Mysal üçin, 1573 = 3 * 10 0 + 7 * 10 1 + 5 * 10 2 + 1 * 10 3 . Sanlaryň köpelýän sana san ulgamynyň esasy diýilýär. Onluk ulgamy üçin esas logiki taýdan on. Kompýuteriň barmaklary ýok, ýöne iki ýagdaý bar: şertli “tok akýar” we “tok akmaýar”, nol we bir. Şoňa laýyklykda kompýuter ýadyndaky ähli sanlar (we umuman maglumat) diňe iki sandan ybarat - 0 we 1. Onluk san ulgamyndaky ýaly, olaryň ýerleşişi san görkezýär. Diňe indi san on güýç bilen däl-de, iki güýç bilen köpeldilen sanlaryň jemine bölünip bilner. Ikilikde 0 = ikilikde 0 = ikilikde 1 2 = 10 7 10 = 111 2 Ikilikden onluga öwrülmegi öwreniň. Munuň nähili edilýändigine eýýäm düşünersiňiz - diňe sanyň sanlaryny iň dogrysyndan başlap, bazanyň sanyna görä köpeldýäris we her san bilen hemme zady goşýarys. Mysal: Geliň, 101101 ikilik belginiň onluk meňzeşini tapalyň 2 Iň sag = 1 * 2 0 Indiki nol = 0 * 2 1 Üçünjisi sagdan = 1 * 2 2 Dördünjisi = 1 * 2 3 .. we ş.m. 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 Yzygiderli düzülen sekiz lampany göz öňüne getiriň. Olaryň hersiniň öz wyklýuçateli bar. Çyra lampalarynyň her biri akymdyr. Näme göz öňüne getirip bilersiňiz, ilkinji leksiýany ýadyňyza salyň (ol ýerde şeýle enjam bar) ýa-da size widjet: http://cdn.cs50.net/2016/x/psets/0/pset0/bulbs.html Oýna bilen, ikilik ulgamyny “duýmak” bilen meşgullan. Onlukdan ikile öwürmek. Bu ýerde-de, manysyna düşünýän bolsaňyz, hemme zat gaty ýönekeý. Bu ýerde 57 10 belgisi bar . Ikilik ulgamyna öwürmek üçin haýsy iň ýokary güýjüň bu sandan ýokary däldigini kesgitlemeli. 2 6 = 64. Bu gaty köp. 2öne 2 5 = 32. Indi iň möhüm san kesgitledik. 32 10= 100000 2 . Indi indiki san gözleýäris. 57-32 = 25. Indi 25 üçin 25-den geçmeýän iki sany güýç gözleýäris. 2 4 = 16. Bu, indiki sanlarymyzyň hem 1. 32 + 16 = 48 10 = 110000 2 deňdigini aňladýar . 57 - 48 = 9. 2 3 = 8, bu 9-dan az. Bu indiki san hem bir boljakdygyny aňladýar. 32 + 16 + 8 = 56 10 = 111000 2 . 57-56 = 1, ýagny diňe bir güýç galdy, 2 0 . Şeýlelik bilen 57 10 = 111001 2 . Birden bir zat düşnüksiz bolsa, Wikibook-da has köp okap bilersiňiz, iňlis dilinde güýçli bolsaňyz, leksiýa azajyk goşundy.ASCII
Kompýuter diňe nollara we birine düşünýär we ýadyny ýokarda görşüňiz ýaly wyklýuçateller bilen gaty uzyn lampalar hökmünde görkezip bolýar. Kompýuterde sanlary nädip görkezmelidigine eýýäm düşünýäris. Galan maglumatlar hakda näme aýdyp bilersiňiz? Hatlar, suratlar? Iňlis elipbiýinde 26 harp bar diýeliň. .Agny, teoretiki taýdan 0-25 aralygyndaky harplary diňe ikilik ulgamynda görkezip bileris. Aşakdaky sorag ýüze çykýar: kiçi harpyň ýa-da baş harpyň bardygyna nädip düşünip bileris? Dyngy belgileri näme? Boşluklar ýaly görünmeýän alamatlar? Gysgaça aýdanymyzda, kodlaşdyrmak ulgamy gerek! 1960-njy ýyllarda nyşanlary kodlaýan köp dürli shemalar bardy. Bitewiligiň ýoklugy bir mesele bolup çykdy we 1963-nji ýylda Amerikanyň standartlar instituty ANSI ASCII (Maglumat alyşmak üçin Amerikan standart kody) kodlaşdyryş shemasyny işläp düzdi we girizdi. Her ASCII nyşan ýedi bitden ýa-da ýedi bitden ybarat bolup, olaryň her biri 0 ýa-da 1 bahasyny alyp biler. 7 bit ikili görnüşde 0-dan 127-e çenli sanlary saklap biler, ýagny nyşanlary kodlamak üçin 128 sany belgimiz bar. Writtenazylan iňlis dilini kodlamak üçin bu ýeterlik ýalymy? Hasap edeliň: az - 26 wariant AZ - 26 ýene 0-9 - 10,;: ~ we beýleki dyngy belgileri - 32 we ýene bir ýer. Jemi - 95 simwol Galan 33 boş wariant, setir iýmiti ýa-da wagonyň gaýdyp gelmegi ýaly dolandyryş nyşanlary üçin ulanylýar: https://ru.wikipedia.org/wiki/ASCII#/media/File:ASCII_Code_Chart.svg Bulary tapawutlandyrmak möhümdir. 0-9 belgiler we 0 -9 san bahalary. 0-9 belgiler ASCII 48-57 bahalary bilen görkezilýär. Bu ASCII bahalarynyň iň dogry dört bitiniň 0-9 san bahalarynyň ikilik şekillendirilendigini bellemek gyzykly. Bu ASCII bahalary bilen hakyky san bahalarynyň arasynda öwrülmegiň usulyny birneme aňsatlaşdyrýar. Programmirlemäge başlalyň?Dyrna
Diýmek, çyzyň. Size bu wizual programmirleme dili we leksiýadaky esasy buýruklar barada gürrüň berildi. “Scratch” -y synap görmek üçin baglanyşyga eýeriň we “Goşul” düwmesine basyň. Hasaba alnandan soň, onlaýn programmirläp başlap bilersiňiz. Hawa, aýtsak, bu gün Scratch bölekleýin ruslaşdyryldy. Kömek henizem iňlis dilinde. Isleseňiz, leksiýada görkezilen talyp taslamalarynyň koduna seredip bilersiňiz. Ine, Pikaçu konditer önümi . Wastea-da galyndylary dürli gaplara bölmek bilen bir taslama: https://scratch.mit.edu/projects/71161586/ Deýwid we kompaniýa şeýle çylşyrymly taslamalary edip bilmejekdigiňizi pikir etseňiz alada etmezligiňizi haýyş edýär: bu dereje eýýäm birneme ussatlyk talap edýär .Maşk
-
Scratch-da bolup geçýän wakalara has gowy düşünmek üçin birnäçe taslamanyň deslapky koduny şu ýerden göçürip alyp bilersiňiz . Oýun edip görüň. Başga biriniň koduny öwrenmek gaty peýdaly. Bu programmalaryň içinde özüňiziň entek ýetişmedik zatlaryňyzy tapmagyň iň oňat usullaryndan biridir. Bu programmalaryň işleýşine düşünip başlanyňyzdan soň, arkaýyn dowam edip bilersiňiz.
-
Indi özüň bir zat etmegiň wagty geldi. Kynçylyk, kiçijik taslamany noldan başlap durmuşa geçirmek bilen hezil etmekdir. Animasiýa, oýun, interaktiw hereket bolup biler.
- Programmada azyndan iki spreý (simwol, şekil) bolmaly we olaryň biri hökman pişik bolmaly däl).
- Iň azyndan üç skript (hereket) bolmaly.
- Iň bolmanda bir şert, bir aýlaw we bir üýtgeýji ýerine ýetirilmeli.
- Iň bolmanda bir ses programma goşulmalydyr.
GO TO FULL VERSION