JavaRush /Java блогы /Random-KK /Дәрістерге арналған қосымша материалдар CS50: 0-апта (1 ж...
Bender
Деңгей
Маунтин-Вью

Дәрістерге арналған қосымша материалдар CS50: 0-апта (1 және 2 дәрістер)

Топта жарияланған
Бағдарламалау негіздері бойынша Гарвард дәрістерін әлі көрмеген адам мына жерден өтіңіз: https://javarush.com/quests/QUEST_HARVARD_CS50 =)

Кіріспе. CS50 Курс құрылымы

Дәрістерге арналған қосымша материалдар CS50: 0-апта (1 және 2 дәрістер) - 1Достар! Кіріспеде біз сізге CS50 құрылымы туралы еске саламыз (немесе кім болса да айтамыз). Курс 12 аптаға созылады. Апта сайын екі лекция, сонымен қатар семинарлар мен түсіндірулердің барлық түрлері өтеді. Дәрістер дайын болғаннан кейін осындай мақалаларды жариялайтын боламыз. Ол дәрістердің қысқаша сипаттамасын, «қысқа мәтіндер» бойынша ескертулерді және қосымша ақпаратты, сондай-ақ практикалық тапсырмалардың аудармасын қамтиды. Нөлдік апталық дәрістер келесі мәселелерді қамтыды:
  • Екілік санау жүйесі.
  • ASCII
  • Алгоритм және алгоритмдік ойлау
  • Құрастырушылар
  • Тілі
  • Логикалық өрнектер
  • Шарттар
  • Циклдер
  • Айнымалылар
  • Функциялар
  • Массивтер
  • Ағындар
  • Оқиғалар
0-аптадағы мақсаттар:
  • Ақпаратты цифрлық түрде қалай көрсетуге болатынын түсіну.
  • Бағдарламалық жасақтаманың негізгі конструкциялары мен тұжырымдамаларын үйреніңіз.
  • Scratch көмегімен өз анимацияңызды, ойыныңызды немесе интерактивті әрекетті жасаңыз.
  • Достарыңызды таң қалдырыңыз =).

CS50 0-апта (1-2-дәріс): ескертпелер

Алгоритмдер

Дәрістерге арналған қосымша материалдар CS50: 0-апта (1 және 2 дәрістер) - 2Сіз лекцияларды қарап шықтыңыз және алгоритм есептерді шешуді (әртүрлі есептер, математикалық есептер немесе «N метро станциясына қалай жетуге болады») қадамдарға бөлетінін түсіндіңіз деп үміттенеміз. Сонымен қатар, әрбір қадам шектеулі уақыт көлемінде аяқталуы керек және қадамдардың белгілі бір саны болуы керек. Сондай-ақ, келесі қадам алдыңғыға байланысты. Алгоритмдер туралы көбірек оқи аласыз, мысалы, мұнда . Ағылшын тілін білсеңіз, мұнда Дэвид Маланның тамаша TED анимациясы берілген: https://youtu.be/6hfOvs8pY1k Жалпы видеодағы ақпарат дәрістегі осылай қайталанады =).

Екілік санау жүйесі

Дәрістерге арналған қосымша материалдар CS50: 0-апта (1 және 2 дәрістер) - 3Бізде 10 саусақ бар және жүйе ондық. Яғни, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 сандарын пайдаланып, қанша үлкен болса да, кез келген санды көрсете аламыз. Санның қай жерде тұрғанына қарай, ол әртүрлі заттар: егер бұл цифр соңғы болса, онда ол бірлік орнында, соңғысы ондықтар орнында, одан әрі солға қарай жүздіктер орнында және т.б. Негізінде кез келген санды цифрлардың қосындысы ретінде жазуға болады, олардың әрқайсысы белгілі бір дәрежеге онға көбейтіледі. Бірліктер жағдайында – нөл. Мысалы, 1573 = 3*10 0 + 7*10 1 +5*10 2 +1*10 3 . Цифрлары көбейтілетін сан санау жүйесінің негізі деп аталады. Ондық жүйе үшін негіз логикалық түрде он. Компьютерде саусақтар жоқ, бірақ екі күй бар: шартты түрде «ток ағып жатыр» және «ток ағып жатқан жоқ», нөл және бір. Сәйкесінше, компьютер жадындағы барлық сандар (және жалпы ақпарат) тек екі цифрдан тұрады – 0 және 1. Олардың орналасуы ондық санау жүйесіндегідей цифрды көрсетеді. Енді ғана санды ондық дәрежесіне емес, екінің дәрежесіне көбейтетін цифрлардың қосындысына ыдыратуға болады. 0 екілік жүйеде = 0 1 екілік жүйеде = 1 2 екілік жүйеде = 10 7 10 =111 2 Екілік жүйеден ондық жүйеге ауыстыруды үйреніңіз. Сіз мұның қалай жасалатынын түсінген шығарсыз - біз жай ғана оң жақтағы саннан бастап санның цифрын аламыз және оны оның цифрына сәйкес келетін дәрежеге көбейтеміз және әр цифрмен бәрін қосамыз. Мысал: 101101 екілік санның ондық аналогын табайық 2 Ең оң жақ = 1*2 0 Келесі нөл = 0*2 1 Оң жақтан үшінші = 1*2 2 Төртінші = 1*2 3 .. және т.б. 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 Бір қатарда орналасқан сегіз шамды елестетіңіз. Олардың әрқайсысының өз қосқышы бар. Шамдардың әрқайсысы разряд болып табылады. Сіз нені елестете аласыз, ең бірінші лекцияны есіңізде сақтаңыз (онда мұндай құрылғы бар) немесе міне, сіз үшін виджет: http://cdn.cs50.net/2016/x/psets/0/pset0/bulbs.html Ойнату онымен екілік жүйені «сезуге» жаттығады. Ондық жүйеден екілік жүйеге түрлендіру. Мұнда да бәрі өте қарапайым, егер мәнін түсінсеңіз. Мұнда бізде 57 10 саны бар . Оны екілік жүйеге түрлендіру үшін екінің қандай максималды қуаты осы саннан аспайтынын анықтау керек. 2 6 = 64. Бұл тым көп екені анық. Бірақ 2 5 = 32. Енді біз ең маңызды цифрды анықтадық. 32 10= 100000 2 . Енді біз келесі цифрды іздейміз. 57-32 = 25. Енді 25-ке 25-тен аспайтын екінің дәрежесін іздейміз. 2 4 = 16. Бұл біздің келесі цифрымыз да 1-ге тең екенін білдіреді. 32+16 = 48 10 = 110000 2 . 57 – 48 = 9. 2 3 = 8, бұл 9-дан аз. Бұл келесі сан да бір болады дегенді білдіреді. 32 + 16 + 8 = 56 10 = 111000 2 . 57-56 = 1, яғни бір ғана қуат қалды, 2 0 . Сонымен 57 10 = 111001 2 . Кенеттен бірдеңе түсініксіз болып қалса, Уикикітаптан толығырақ оқуға болады, ал егер ағылшын тілінде мықты болсаңыз, мұнда лекцияға шағын қосымша бар.

ASCII

Дәрістерге арналған қосымша материалдар CS50: 0-апта (1 және 2 дәрістер) - 4Компьютер тек нөлдер мен бірліктерді ғана түсінеді және оның жады жоғарыда көргеніңіздей қосқыштары бар шамдардың өте ұзын тізбегі ретінде ұсынылуы мүмкін. Біз сандарды компьютерде қалай көрсету керектігін түсіндік. Қалған ақпарат туралы не деуге болады? Хаттар, суреттер? Ағылшын алфавитінде 26 әріп бар делік. Яғни, теориялық тұрғыдан біз 0-ден 25-ке дейінгі сандары бар әріптерді екілік жүйеде ғана көрсете аламыз. Келесі сұрақ туындайды: бізде кіші әріп немесе бас әріп бар екенін қалай түсінуге болады? Тыныс белгілері туралы не деуге болады? Кеңістік сияқты көрінбейтін белгілер ме? Қысқасы, бізге codeтау жүйесі керек, Cap! 1960 жылдары таңбаларды codeтайтын көптеген әртүрлі схемалар болды. Біркелкіліктің болмауы проблема болып шықты және 1963 жылы Американдық Стандарттар Институты ANSI ASCII (American Standard Code for Information Interchange) codeтау схемасын әзірлеп, енгізді. Әрбір ASCII таңбасы жеті биттен немесе жеті биттен тұрады, олардың әрқайсысы 0 немесе 1 мәнін қабылдай алады. 7 бит екілік жүйеде 0-ден 127-ге дейінгі сандарды сақтай алады, яғни бізде таңбаларды codeтау үшін 128 сан бар. Бұл жазбаша ағылшын тілін codeтау үшін жеткілікті болып көрінетін шығар? Санайық: az - 26 опция AZ - 26 тағы 0-9 - 10 ,;:~& және басқа тыныс белгілері - 32 Және тағы бір бос орын. Барлығы - 95 таңба. Қалған 33 бос опция жолды беру немесе каретканы қайтару сияқты басқару таңбалары деп аталатындар үшін пайдаланылады: https://ru.wikipedia.org/wiki/ASCII#/media/File:ASCII_Code_Chart.svg Арасындағы айырмашылықты білу маңызды. 0-9 таңбалары және 0-9 сандық мәндері. 0-9 таңбалары ASCII 48-57 мәндерімен берілген. Бір қызығы, осы ASCII мәндерінің ең оң жақ төрт биті 0-9 сандық мәндерінің екілік көрінісі болып табылады. Бұл ASCII мәндері мен олардың нақты сандық мәндері арасында түрлендіру жолын біршама жеңілдетеді. Бағдарламалауды бастайық?

сызат

Дәрістерге арналған қосымша материалдар CS50: 0-апта (1 және 2-дәрістер) - 5Сонымен, Scratch. Сізге осы визуалды бағдарламалау тілі және оның негізгі командалары туралы дәрісте айтылды. Scratch қолданбасын өзіңіз қолданып көру үшін сілтемеге өтіп , «Қосылу» түймесін басыңыз. Тіркелгеннен кейін сіз онлайн бағдарламалауды бастай аласыз. Иә, айтпақшы, бүгінде Scratch ішінара орыстандырылған. Дегенмен, көмек әлі де ағылшын тілінде. Қаласаңыз, лекцияда көрсетілген студенттік жобалардың codeын қарауға және ойнауға болады. Міне, Пикачу кондитері . Немесе қалдықтарды әртүрлі контейнерлерге сұрыптайтын жоба: https://scratch.mit.edu/projects/71161586/ Дэвид пен компания сіз осындай күрделі жобаларды жасай алмаймын деп ойласаңыз, алаңдамауды сұрайды: бұл деңгей әлдеқашан белгілі бір дағдыларды қажет етеді. .

Жаттығу

  1. Scratch-те болатын процестерді жақсырақ түсіну үшін бірнеше жобаның бастапқы codeын осы жерден жүктеп алуға болады . Ойнап, көріңіз. Басқа біреудің codeын үйрену өте пайдалы. Бұл сіз әлі жетілмеген бағдарламалардың ішінде не бар екенін білудің ең жақсы тәсілдерінің бірі. Бұл қолданбалардың қалай жұмыс істейтінін түсінуді бастағаннан кейін, қауіпсіз түрде жалғастыра аласыз.

  2. Енді өзіңіз бірдеңе жасайтын кез келді. Қиындық - шағын жобаны нөлден бастап жүзеге асыру кезінде көңіл көтеру. Бұл анимация, ойын, интерактивті әрекет болуы мүмкін.

Жобаға қойылатын талаптар:
  • Бағдарламада кемінде екі спрайт (кейіпкерлер, кескіндер) болуы керек және олардың біреуі мысық болмауы керек =).
  • Кемінде үш сценарий (әрекеттер) болуы керек.
  • Кем дегенде бір шарт, бір цикл және бір айнымалы орындалу керек.
  • Бағдарламада кем дегенде бір дыбыс болуы керек.
Яғни, сіздің жобаңыз лекцияда жазылғандардан күрделірек, бірақ Пикачу және қоқыс жинау туралы көрсетілген ойыншықтардан оңайырақ болады. Сондықтан сіздің жобаңыз Scratch codeын құрайтын бірнеше ондаған басқатырғыштарды қолдануы мүмкін. Егер бірдеңе нәтиже бермесе, мәселені шешуге деген көзқарасыңызды өзгерту қажет болуы мүмкін. Ең бастысы қорықпай жүріңіз! Біз сізді сұрақтар қоюға және түсініктемелерде жобаларыңызбен бөлісуге шақырамыз.

Scratch: әрекетке арналған жылдам нұсқаулық

Спрайт жобаның орталық нысаны болып табылады. Кез келген кейіпкер - мысық, ұшақ, доп - спрайт. Егер сіз екі түрлі мысық қоссаңыз, бұл екі түрлі спрайт. Дәрістерге арналған қосымша материалдар CS50: 0-апта (1 және 2 дәрістер) - 6Әрбір спрайттың әрекетін сипаттайтын сценарийлері бар. Бұл әрекет блоктары. Костюм - бұл заттардың сыртқы түрі. Спрайттардың өзі негізінен тек сызбалар. Әрбір спрайттың бірнеше костюмі болуы мүмкін. Спрайт жасау үшін Scratch кітапханасынан оның түпнұсқа костюмін таңдау керек, кірістірілген редакторда өзіңіздің суретіңізді салуыңыз, кез келген суретті жүктеп салуыңыз немесе тіпті веб-камераны пайдаланып суретке түсіріп, оны жүктеп салуыңыз керек. Барлық спрайттар сахна деп аталатын жерге қойылады. Сахна – бұл біздің кенепіміз, бағдарламаның орны. Сондай-ақ кітапханадағы дыбыстарды спрайтқа немесе көрініске тіркей аласыз немесе оларды микрофон арқылы жүктеуге немесе өзіңіз жазуға болады. Бағдарламаны орындауды бастау үшін сахна терезесінің жоғарғы оң жақ бұрышындағы жасыл жалаушаны басу керек. Бірақ мұны жасамас бұрын бағдарламаға келесі блокты орналастыру керек: Дәрістерге арналған қосымша материалдар CS50: 0-апта (1 және 2 дәрістер) - 7Және оған конструктор бөлігіндегідей кейбір блоктарды бекітіңіз. Мысалы: Дәрістерге арналған қосымша материалдар CS50: 0-апта (1 және 2-дәрістер) - 8Бұл жағдайда жалаушаны басқан кезде әрекеттер тіркелген спрайт 50 қадам жасайды және мияулайды. Бізде блоктар көп. Олар үш қойындыға бөлінеді: сценарийлер, костюмдер және дыбыстар. Шарты бар қарапайым бағдарлама жасайық. Орындалса мысық мияулайды, орындалмаса үндемейді. Операторлар жасыл түспен көрсетілген. Шарттың шын немесе жалған екенін тексеретіндердің бүйірлерінде өткір бұрыштары бар. Шартты тексеру құрылымдары мен ілмектер қызғылт сары түспен көрсетілген. Оларда басқа блоктарды орналастыруға болатын арнайы тесіктер бар.

Циклдер:

Шексіз санды қайталау: Дәрістерге арналған қосымша материалдар CS50: 0-апта (1 және 2 дәрістер) - 9Бір нәрсені белгілі бір рет қайталау: Дәрістерге арналған қосымша материалдар CS50: 0-апта (1 және 2 дәрістер) - 10Шарт орындалса, әрекетті қайталаңыз: Дәрістерге арналған қосымша материалдар CS50: 0-апта (1 және 2 дәрістер) - 11Деректер блогында айнымалы мәндерді жасауға болады. Төмендегі мысалда біз x айнымалысын жасадық және бірден онымен жасауға болатын әрекеттер пайда болды. Айнымалылар ауқымын орнатуға болады: барлық спрайттар үшін немесе біреуі үшін. Дәрістерге арналған қосымша материалдар CS50: 0-апта (1 және 2 дәрістер) - 12Жасыл жалау жалғыз әрекет емес. Сондай-ақ, Оқиғалар бөлімінде сіз басқа да бірқатар бақылау шарттарын таба аласыз. Мысалы, тінтуірдің көмегімен түймені немесе спрайттың өзін басқан кезде не істеу керектігін таңдауға болады. Қосымша ақпарат қажет болса, оны, мысалы, мына жерден таба аласыз .

Тағы да не

Егер Интернетке қол жеткізу көп нәрсені қаламаса, https://scratch.mit.edu/scratch2download/ сайтынан желіден тыс Scratch өңдегішін жүктеп алуды ұсынамыз . Содан кейін жобаңызды http://scratch.mit.edu/ мекенжайына Файл > Компьютерден жүктеп салу арқылы жіберуді ұмытпаңыз .
Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION