JavaRush /Java блогу /Random-KY /CS50 лекциялары үчүн кошумча материалдар: 0-жума (1 жана ...
Bender
Деңгээл
Маунтин-Вью

CS50 лекциялары үчүн кошумча материалдар: 0-жума (1 жана 2-лекциялар)

Группада жарыяланган
Гарварддын программалоонун негиздери боюнча лекцияларын көрө элек болсо, бул жерге кириңиз: https://javarush.com/quests/QUEST_HARVARD_CS50 =)

Киришүү. CS50 курсунун структурасы

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

CS50 0-жума (1-2-лекция): эскертүүлөр

Алгоритмдер

Лекциялар үчүн кошумча материалдар CS50: 0-жума (1 жана 2-лекциялар) - 2Сиз буга чейин лекцияларды көрүп, алгоритм маселелердин чечorшин (ар кандай, математикалык же “N метро станциясына кантип баруу керек”) кадамдарга бөлөрүн түшүндүңүз деп үмүттөнөбүз. Болгондо да, ар бир кадам чектүү убакыттын ичинде бүтүшү керек жана кадамдардын белгилүү бир саны болушу керек. Ошондой эле, кийинки кадам мурункусунан көз каранды. Алгоритмдер жөнүндө көбүрөөк окуй аласыз, мисалы, бул жерден . Эгерде сиз англис тorн билсеңиз, анда бул жерде Дэвид Малан тарабынан жасалган сонун TED анимациясы: https://youtu.be/6hfOvs8pY1k Жалпысынан видеодогу маалымат лекцияда кайталанган =).

Экorк санауу системасы

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 экorк системада = 10 7 10 =111 2 Экorктен ондукка которууну үйрөнүңүз. Сиз мунун кантип жасалганын түшүнгөн чыгарсыз - биз жөн гана эң оң жактагы цифрадан баштап сандын цифрасын алып, аны анын цифрасына туура келген даражага негизге көбөйтөбүз жана ар бир цифрага баарын кошобуз. Мисал: 101101 экorк сандын ондук аналогун табалы 2 Эң оң жагы = 1*2 0 Кийинки нөл = 0*2 1 Оңдон үчүнчүсү = 1*2 2 Төртүнчүсү = 1*2 3 .. жана башкалар _ _ _ _ _ _ _ _ _ _ _ _ _ 10 Бир катар тизилген сегиз лампаны элестетсең. Алардын ар биринин өзүнүн которгучу бар. Электр лампаларынын ар бири разряд болуп саналат. Эмнени элестете аласыз, эң биринчи лекцияны эстеңиз (ал жерде мындай түзүлүш бар) же бул жерде сиз үчүн виджет: http://cdn.cs50.net/2016/x/psets/0/pset0/bulbs.html Play аны менен, аны экorк системасын "сезип" машыгуу. Ондук системадан экorк системага которуу. Бул жерде да баары өтө жөнөкөй, эгер маңызын түшүнсөңүз. Бул жерде бизде 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 . Эгер күтүлбөгөн жерден бир нерсе түшүнүксүз болуп калса, Wikibook'тан кененирээк окусаңыз болот, ал эми англис тorнде күчтүү болсоңуз, бул жерде лекцияга кичинекей кошумча.

ASCII

CS50 лекциялары үчүн кошумча материалдар: 0-жума (1 жана 2-лекциялар) - 4Компьютер нөлдөрдү жана бирди гана түшүнөт жана анын эс тутумун сиз жогоруда көргөндөй, өчүргүчтөрү бар лампочкалардын өтө узун саптары катары көрсөтсө болот. Биз компьютерде сандарды кантип көрсөтүүнү түшүнөбүз. Калган маалымат жөнүндө эмне айтууга болот? Каттар, сүрөттөр? Англис алфавитинде 26 тамга бар дейли. Башкача айтканда, теориялык жактан биз 0дөн 25ке чейинки сандары бар тамгаларды экorк системада гана көрсөтө алабыз. Төмөнкү суроо туулат: бизде кичине же чоң тамга бар экенин кантип түшүнсөк болот? Тыныш белгилери жөнүндө эмне айтууга болот? мейкиндиктер сыяктуу көрүнбөгөн белгилер? Кыскасы, бизге codeдоо системасы керек, Cap! 1960-жылдары символдорду codeдогон көптөгөн түрдүү схемалар бар болчу. Бирдиктүүлүктүн жоктугу көйгөй жаратып, 1963-жылы Американын Стандарттар Институту, ANSI, ASCII (American Standard Code for Information Interchange) codeдоо схемасын иштеп чыккан жана киргизген. Ар бир ASCII символу жети биттен же жети биттен турат, алардын ар бири 0 же 1 маанисин ала алат. 7 бит экorк системада 0дөн 127ге чейинки сандарды кармай алат, демек бизде символдорду codeдоо үчүн 128 сан бар. Бул англис тorн жазууну 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 баалуулуктары менен алардын иш жүзүндөгү сандык баалуулуктарын алмаштыруунун жолун бир аз жеңилдетет. Программалоону баштайлыбы?

Scratch

CS50 лекциялары үчүн кошумча материалдар: 0-жума (1 жана 2-лекциялар) - 5Ошентип, Scratch. Сизге бул визуалдык программалоо тor жана анын негизги буйруктары тууралуу лекцияда айтылган. Scratch'ти өзүңүз сынап көрүү үчүн, шилтемени басып , "Кошулуу" баскычын басыңыз. Катталгандан кийин, сиз онлайн программалоону баштасаңыз болот. Ооба, демек, бүгүнкү күндө Scratch жарым-жартылай орусташтырылган. Бирок жардам дагы эле англис тorнде. Кааласаңыз, сиз ойноп, ошондой эле лекцияда көрсөтүлгөн студенттик долбоорлордун codeун карай аласыз. Бул жерде Пикачу кондитеринин кармалышы . Же таштандыларды ар кандай контейнерлерге сорттоо долбоору: https://scratch.mit.edu/projects/71161586/ Дэвид жана компания сизден мындай татаал долбоорлорду жасай албайм деп ойлосоңуз, кабатыр болбоңуз: бул деңгээл кандайдыр бир чеберчorкти талап кылат. .

Көнүгүү

  1. Scratch'те болуп жаткан процесстерди жакшыраак түшүнүү үчүн, бул жерден бир нече долбоорлордун баштапкы codeун жүктөп алсаңыз болот . Ойноп ойноп көрүңүз. Башка бирөөнүн codeун үйрөнүү абдан пайдалуу. Бул сиз өзүңүз жете элек программалардын ичинде эмне бар экенин билүүнүн эң жакшы жолдорунун бири. Бул тиркемелер кантип иштээрин түшүнө баштагандан кийин, коопсуз уланта аласыз.

  2. Эми өзүңүз бир нерсе жасоого убакыт келди. Кыйынчылык, ошондой эле нөлдөн баштап чакан долбоорду ишке ашыруу менен бирге көңүл ачуу. Бул анимация, оюн, интерактивдүү аракет болушу мүмкүн.

Долбоордун талаптары:
  • Программада жок дегенде эки спрайт (каармандар, сүрөттөр) болушу керек жана алардын бири мышык болбошу керек =).
  • Жок дегенде үч скрипт (аракет) болушу керек.
  • Жок дегенде бир шарт, бир цикл жана бир өзгөрмө аткарылышы керек.
  • Программага жок дегенде бир үн киргизorши керек.
Башкача айтканда, сиздин долбоорңуз лекцияда жазылгандарга караганда татаалыраак, бирок Пикачу жана таштанды чогултуу жөнүндө көрсөтүлгөн оюнчуктарга караганда жөнөкөй болот. Ошентип, сиздин долбоор, балким, Scratch codeун түзгөн бир нече ондогон табышмактарды колдонот. Эгер бир нерсе болбой калса, көйгөйдү чечүүгө болгон мамилеңизди өзгөртүүгө туура келиши мүмкүн. Негизгиси коркпой барыш керек! Сизди суроолорду берүүгө жана комментарийлерде долбоорлоруңуз менен бөлүшүүгө чакырабыз.

Scratch: иш-аракет үчүн тез жол

Спрайт долбоордун борбордук an objectиси болуп саналат. Кандай гана каарман - мышык, учак, топ - спрайт. Эгер сиз эки башка мышык кошсоңуз, бул эки башка спрайт. CS50 лекциялары үчүн кошумча материалдар: 0-жума (1 жана 2-лекциялар) - 6Ар бир спрайттын жүрүм-турумун сүрөттөгөн скрипттери бар. Бул иш блоктору. Костюм - бул an objectилердин көрүнүшү. Спрайттардын өзүлөрү жөн гана чиймелер. Ар бир спрайттын бир нече костюмдары болушу мүмкүн. Спрайт түзүү үчүн, 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