[Powered by Google Translate] [როკი მუსიკა] [მუსიკა - "ბედნიერი ერთად" Turtles] DAVID Malan: დღეს, ჩვენ ვიწყებთ ჩვენი დაზვერვისათვის საფუძვლები კომპიუტერული მეცნიერებისა და ჩვენი დანერგვა, ახლა, რომ ხელოვნების პროგრამირების, რომელთა რომ არის მხოლოდ ერთი მაგალითია. მაგრამ იგივე ვენების პრობლემის გადაჭრის, ვიცით, რომ CS50 ტრადიციული Puzzle დღე არის ხვალ. თუ თქვენ ჯერ კიდევ არ RSVPed ამ შემთხვევაში, შეგიძლიათ წასვლა cs50.net/rsvp. თქვენ შეუძლია გუნდები ორი ან სამი ან ოთხი. თქვენ ეჭვქვეშ პრობლემებს, როგორიცაა ერთი თქვენ ნახეთ up there დასაწყისში. ყველა ახალი პრობლემები წელს თუ partook შარშან, და თქვენ ექნება შანსი მაშინ მოგების გარკვეული ზღაპრული პრიზებით. მათ შორის, Wii და ზოგიერთი სასაჩუქრე და მოსწონს, ყველა ხოლო ჩამოკიდებული out ერთად CS50 სტუდენტებისა და თანაკლასელები და პიცა და Facebook. ასე უფრო, რომ ხვალ თუ გსურთ. ეს მაშინ არის CS50, იმ თქვენ გაწევრიანების ჩვენთვის პირველად. და იციან, რომ ეს კურსი განსაკუთრებით განისაზღვრება მისაღებად თქვენ მეშვეობით ამ კურსის მისი საბოლოო ჯამში, სადაც წერტილზე ექნება არა მხოლოდ გაგება ამ საფუძვლები კომპიუტერული მეცნიერების, არამედ თქვენ მოგიწევთ ამ ძალიან პრაქტიკული უნარი კომპლექტი, რომ თქვენ შეგიძლიათ შემდეგ მიიღოს თავში თქვენი დეპარტამენტის, თუ არა ის საინჟინრო მეცნიერებები, გამოყენებითი მათემატიკის, ფიზიკური მეცნიერებები, საბუნებისმეტყველო მეცნიერების, ან მოსწონს. მართლაც, რა არის საინტერესო შესახებ კომპიუტერულ მეცნიერებათა ამ დღის განმავლობაში ის არის, რომ ეს მხოლოდ ასე გამოიყენება ყველა სახის სფეროებში. და მიუხედავად იმისა, დღეს, ჩვენ მხოლოდ გადასაფხეკი ზედაპირზე ძალიან ტრადიციული პროგრამირების ენა ცნობილია როგორც C, ჩვენ ნაცვლად შევხედოთ რაღაც მოუწოდა Scratch, რაღაც ერთად რაც რომ ფუნთუშა სიყვარულის ისტორია განახორციელა ერთი თქვენი წინამორბედები წლებში წარსული, რომ ყვებიან, რომ შევქმნათ თამაშები, შექმნათ ინტერაქტიული ხელოვნების, და რეალურად დავიწყოთ გადაიტანოთ ჩვენი გონებაში გარშემო ზოგიერთი ფუნდამენტური აშენებს, რომ underlie პროგრამირების მაგრამ კონტექსტში, როგორც თქვენ ნახავთ, რომ გაცილებით ნაკლებია საშინელი, რომ გაცილებით ნაკლები arcane, ვიდრე ნახავთ ადრე ხანგრძლივი. და გააცნობიეროს, ძალიან, იმ თქვენ უბრალოდ გაწევრიანების ჩვენთვის ეს სემესტრის ფრაზები, რაც ჩვენ დასრულდა ოთხშაბათს ლექცია, ეს ასე არ არის მნიშვნელოვანი, სადაც თქვენ დასრულდება მდე ნათესავი თქვენს თანაკლასელები ამ კლასის, მაგრამ სადაც თქვენ მიერ სემესტრის ბოლოს წელს კვირაში 11, დასრულდება მდე ნათესავი საკუთარ თავს უფლება ამ დღიდან. ასე გარეშე ado, ეს ასევე აღსანიშნავია, რომ იმ ნაკლებად კომფორტული, იმ სადღაც შორის, რომლებიც ასევე, დიზაინი მიერ ამ თქმა უნდა, არა ნებისმიერ მინუსი vis-a-vis იმ უფრო კომფორტული შემოდის ამ კლასში. როგორც დაინახავთ მეტი კვირის მომავალში, ჩვენ გვაქვს სხვადასხვა კვალის ამისთვის განსხვავებული უკან ფონზე, სექციები მათთვის, ნაკლებად კომფორტული, უფრო კომფორტული, იმ სადღაც შორის. როგორც თქვენ ნახავთ ამ კვირის და მომავალ კვირას, ორი ვარიანტი საუკეთესო პრობლემა კომპლექტი ორივე სტანდარტის და ჰაკერი გამოცემა ასე რომ თქვენ ყველა შეიძლება თვითმმართველობის შეარჩიეთ ქვემოთ გზა, რომელიც თქვენ ყველაზე კომფორტული. ამიტომ დღეს, ჩვენ ჩაყვინთვის შევიდა ამ პროგრამირების ენის მოუწოდა Scratch. ეს გრაფიკული პროგრამირების ენა, მაგრამ მას იგივე თვისებები ზოგიერთი უმაღლესი დონის ენებზე ჩვენ გამოგიგზავნით შეისწავლონ შემდეგ სემესტრში, მათ შორის C და JavaScript და PHP. მაგრამ აპირებს საშუალებას მოგვცემს თავიდან ავიცილოთ ზოგიერთი distractions დილით of სინტაქსი, რამ, როგორიცაა semicolons, ფრჩხილებში, და სხვა arcane დეტალები, რომ, ერთი შეხედვით, უბრალოდ არ ყველა ინტელექტუალურად საინტერესო და ტენდენცია მიიღონ გზა ზოგიერთი ფუნდამენტური გაგება. თვალსაზრისით არის მხარდაჭერა სტრუქტურის წინ, მიხვდა ამ ინსტრუმენტი, CS50 საუბარი, რომელიც იქნება დაკავშირებული on კურსის ნახვა დღეს, არის ონლაინ დისკუსიის ფორუმი რაც თქვენ გექნებათ კითხვის დასმის ერთმანეთის და პერსონალი, და ეს ასევე ინსტრუმენტი, როგორც ვნახავთ, მომავალ კვირას, რომ ჩვენ გამოვიყენოთ საკმაოდ integratedly წელს სამუშაო საათებში, ასევე. მართლაც, საათებში დაიწყება ორშაბათს, და გულახდილად, პირველი კვირას საათებში საკმაოდ დაბალი გასაღები. მე არ ვფიქრობ, თქვენ იპოვოთ Scratch ყველა რომ მიუწვდომელი. ეს საკმაოდ თვითმმართველობის განმარტებითი, როგორც ვნახავთ და ასე რა ჩვენ ვიყენებთ მას დღეს არის ამონაწერი ზოგიერთი ფუნდამენტური იდეები, რომელიც, მაშინ, ჟინი მასშტაბით დანარჩენი სემესტრში. მაგრამ დაწყებული ორშაბათს, 8:00 PM მეშვეობით 11:00 PM იქნება ოფისში საათი Annenberg მეტი ტვინის შესვენების. Sectioning ორი დაიწყება ამ საღამოს, ასე რომ სადღაც ამ weekend, წასვლა cs50.net/section, და თქვენ დასმული კითხვების რაოდენობა. მათ შორის, თუ როგორ დაახასიათებდით თქვენი კომფორტის დონე, როგორც დღეს? იქ არ არის მძიმე, სწრაფი წესით თუ ვინ არის, რომელშიც bucket. უბრალოდ სახის რამ, რომ თქვენ ალბათ იცით, თუ შორის არიან, ნაკლებად კომფორტული ან სხვაგვარად. და ახლა, walkthroughs. პრობლემა კომპლექტი სპეციფიკაცია ამ კვირაში, როგორც სტანდარტი და ჰაკერი გამოცემა მსგავსად, არის საიტზე cs50.net როგორც ახლა. და თქვენ ნახავთ, რომ პირველი ასეთი გამოცემები, სტანდარტული გამოცემა ყოველ კვირას, თან ახლავს რაღაც ჩვენ მოვუწოდებთ კოდი walkthrough, სესიის ხელმძღვანელობით ერთი კურსის სწავლების პრაქტიკის სახელმძღვანელო თქვენ მეშვეობით, უზრუნველყოს რჩევა, და თქვენ ქვემოთ განსაკუთრებით გზა, როცა საქმე დაწყებას ამ პრობლემის კომპლექტი. ამრიგად, თითოეულ ამ პრობლემის ადგენს, თუ თქვენ ოდესმე უნდოდა თავს სად მაქვს დაიწყოს, თქვენ დაიწყოს ამ walkthroughs. და ფაქტობრივად, ნება მიბოძეთ წარმოგიდგინოთ Zamyla Chan, ამ წლის სწავლების თანამემამულე, ვინც იქნება წამყვანი თითოეული ერთი ამ walkthroughs. Zamyla? [ტაში] ZAMYLA chan: Oh, hi, ყველას. ჩემი სახელი არის Zamyla. მე უმცროსი სწავლობს საინჟინრო WINTHROP სახლი. მაგრამ მე ვცდილობ და შეესაბამება როგორც ბევრ კომპიუტერულ მეცნიერებათა კურსები როგორც მე შეიძლება, ამიტომაც მე ნამდვილად აღელვებს წარუძღვება ამ წლის walkthroughs. Walkthroughs, ჩემთვის, იყო განუყოფელი ნაწილია ჩემი CS50 გამოცდილება. დროს walkthrough, ყველა P-set, ჩვენ გავლა პრობლემა მითითებული ერთად, მოუთმენლად მეტი პრობლემები, სახის დაყოს ისინი შევიდა მართვადი ნაკბენები. მე მივცემ თქვენ რჩევა, ტექნიკის, მისაღებად მეშვეობით და ნაცნობობა. იმედი მაქვს, რომ ნახოთ თქვენ ყველა დროს walkthroughs. თუ ვერ გააკეთებს ამას ადამიანს, მაშინ გთხოვთ სრულყოფილი ონლაინ. DAVID Malan: შესანიშნავი. გმადლობთ, Zamyla. ასე რომ მიხვდებიან, რომ walkthroughs არიან, მართლაც, on პარასკევი დღის მეორე ნახევარში, მაგრამ ეს განზრახ დიზაინი ისე, რომ მაშინაც კი, თუ ნეტავ არ დაესწრება კლასის on პარასკევი დღის მეორე ნახევარში, ვიდეოები იქნება ყველა უფრო სწრაფად მეტი კვირის ბოლოს. ასე რომ მიხვდებიან, რომ cs50.net იქნება ყველა Zamyla ს walkthroughs. და რომ არსებობს დღევანდელი თარიღი და დრო, 3:00 PM, Harberd დარბაზი, 104. და ზოგიერთი სწავლების პრაქტიკის ასევე მომზადდა ზოგიერთი შენიშვნები თქვენთვის დაუსწრებლად გადმოგცეთ ცოტა პერსპექტივა, თუ რა მათი გამოცდილება შემოდის და ვაპირებთ გარეთ CS50 იყო. ასე რომ, თუ ჩვენ შეგვიძლია Dim lights მხოლოდ მომენტში, მე გაძლევთ ზოგიერთი CS50 პერსონალი. JACKSON STEINKAMP: მე მივიღე CS50 შარშან freshman წელს დაეცემა, და ეს აბსოლუტურად ააფეთქეს ჩემი აზრით. მე არასოდეს მიღებული რაიმე პროგრამირების კლასების ადრე, და არასდროს მოვიდა ნებისმიერ კომპიუტერულ მეცნიერებათა გამოცდილება ყველა. და უბრალოდ, მე გავიგე ხმაურს შესახებ კლასის და გადაწყვიტეს ეს. JULIA MITELMAN: ის მართლაც fun, ნამდვილად ჩართვით. მე მაინც, რომ ეს დღე - მე ცოტა ხნის წინ ნახა მაქვს მაგნიტური დისკის, რომ დავით მოგვცა ჩვენს პირველ დღეს ლექცია. მქონდა ეკიდა ეს ჩემი კედელი. ეს არის ალბათ ცოტა nerdy, მაგრამ მე ჩამოიხრჩო წელს ჩემს კედლის დროს კლასის როგორც შეხსენება იმისა, თუ როგორ cool იყო. TRAVIS Downs: ასე უხერხულ. JACKSON STEINKAMP: კომპიუტერული მეცნიერების არის რაღაც თქვენ უნდა ვეცადოთ იმ შემთხვევაშიც კი თუ თქვენ არ ერთი ტრადიციული მეცნიერებათა. ეს საკუთარი გამოცდილება და CS50 დარწმუნდებით თქვენ მხარი დაუჭირა ასევე საშუალება თავისი veritable არმია TFs. ALI NAHM: მე მივიღე ეს როგორც freshman და ა.შ. მე მივიღე ბევრი ახალი მეგობრები. მე ასევე მიიღო გააცნო მთელი კონცენტრაცია და მთელი სკოლის საინჟინრო და ამიტომ უაღრესად გირჩევთ ეს და მოგესალმებით ჩვენს CS50 ოჯახს. YANIV YACOBY: CS50 მხოლოდ გვასწავლის, თუ როგორ უნდა გამოვიყენოთ ინსტრუმენტები რომ ფართოდ ხელმისაწვდომი. თქვენ უბრალოდ უნდა ლეპტოპი, თქვენ უნდა ბრაუზერში, და თქვენ უნდა ვისწავლოთ დაწერა რამდენიმე კოდი, და შეგიძლიათ ნამდვილად ააშენებს სისუფთავე რამ. KAREN Xiao: უბრალოდ ასე cool უნდა შეეძლოს გააკეთოს რაღაც და აქვს ადამიანი სარგებლობს და აქვს ხალხს ამის დანახვა და ეს რა მე ნამდვილად მიყვარს ამის შესახებ. TIM MCLAUGHLIN: - გრძნობა თანამეგობრობას, ვფიქრობ, ამ რა თქმა უნდა, მეტი, ვიდრე ნებისმიერი სხვა რა თქმა უნდა მე აღებული ჯერჯერობით. თქვენ არა მხოლოდ კიდევ ერთი - თქვენ არ შევსების კიდევ ერთი მოთხოვნა. თქვენ არა მხოლოდ აპირებს ლექციებს და აპირებს მონაკვეთზე. მაგრამ თქვენ აკეთებთ ტონა რამ, რომ ყველა შესახებ პროგრამირების და ყველაფერი ტექნოლოგია, მაგრამ ეს იმას არ მართლაც იგრძნონ კლასის საუკეთესო გაუტოლდა. TRAVIS Downs: და პირველ დღეს, მათ დაურიგეს ტორტი და მე მაშინვე გაიყიდა. JACOB PRITT: უფასო კამფეტი და პიცის. ZAMYLA chan: - მიუხედავად თქვენი ინტერესი დონეზე, ვფიქრობ რომ CS50, თქვენ უნდა fun, და თქვენ გექნებათ ინტელექტუალურად სტიმულირება. MARK GROZEN-SMITH: ყოველთვის პარტიის კლასის, და ეს პარტიის ყოველ ღამე მუშაობს თქვენი P-set. JACKSON STEINKAMP: ყოველ დროს, თქვენ დასრულდება პრობლემა კომპლექტი, თქვენ იგრძნობს, როგორიც თქვენ დასრულდა პროექტი. MELISSA Niu: ეს იყო freshman წელი, და მე გაკეთდა სავაჭრო. მე მქონდა ჩემი ოთხი კლასების მზად, მე კი Annenberg. მე bump შევიდა მეგობარს, და ამბობს, Hey, მე Shopping ამ კლასის მოუწოდა CS50 და თქვენ უნდა მოვიდეს ჩემთან. დასრულდა აღების, რომ შემოდგომაზე, და შემდეგ რომ კლასი, მე ეგონა, იქნებ მე ვაპირებ minor in CS. მაგრამ აქ ვარ, სამი წლის შემდეგ, კვლავ სწავლობს კომპიუტერს მეცნიერება და რეალურად აკეთებს ამას, როგორც ძირითადი, და მე გვიყვარს ყველა მომენტიდან იგი. ROB BOWDEN: წარმოდგენა არ მაქვს. ALI NAHM: ვნახოთ. MELISSA Niu: Craziness. დინამიკები 1: ვგრძნობ რომ მე მინდა იყოს ძალიან კლიშეა. მე უბრალოდ ამბობენ, ისევე, გასაოცარია. YANIV YACOBY: ხელმისაწვდომობას. JACOB PRITT: უფასო კამფეტი და პიცის. TRAVIS Downs: ვერ აქციოს ქვემოთ კლასის რომ არიგებს ტორტი. TIM MCLAUGHLIN: ენერგეტიკის. VIPUL SHEKHAWAT: Essential. ROB BOWDEN: ნება მომეცით ვფიქრობ პასუხი. ვფიქრობ მე მივიღე რაღაც. ოჰ, ღმერთი. ჰო, ჩემი სახელი მისი რობ Bowden, და ეს არის CS50. [ტაში] DAVID Malan: ყველა უფლება, ასე რომ დავიწყოთ ხატვა ნახატის საქართველოს მიმართულებით, სადაც ჩვენ შეიძლება, და მოდით შემოვიტანოთ ამ კონცეფციის აქ ცნობილია როგორც pseudocode. ამიტომ pseudocode არ არის პროგრამირების ენა საკუთარ თავზე. ეს არაფერი ტექნიკური თავისთავად, მაგრამ ეს მხოლოდ სახის ზოგადი გზა გამოხატავს თავის საკმაოდ ზუსტად, სამართლიანად algorithmically, სამართლიანად procedurally, მაგრამ გარეშე მქონე ფიქრი რა ენაზე თქვენ გამოხატავს თავის სისტემაში ეს ზოგიერთი მოდელის ინგლისურ და პროგრამირების ენებზე რომელიც თქვენ მოხდეს იქნება ნაცნობი, ამიტომ ჩვენ შეგვიძლია დავიწყოთ წერის ასეთი რამ, როგორც ჩვენ მივდივართ. ფაქტია, იოსები, შეიძლება მე სესხება თქვენ მდე სცენაზე უნდა იყოს scribe აქ? მე წასული ადრე აქ წინასწარ და დავიწყებული დააყენოს ზოგიერთ წინდები დღეს, და ამ ვიქნები შორის ჩვენი მეტი სასაცილოა მაგალითები. ახლა, მე თქვენ გვჭირდებით მეტი აქ. მე გავაკეთებ წინდები ნაწილი. ასე რომ აქ გვაქვს პატარა ნაკაწრი pad. ეს არის სიტყვასიტყვით უბრალოდ TextEdit in Mac. ჩვენ რეალურად არ აპირებს დაწეროს runnable პროგრამა, მაგრამ ჩვენ უბრალოდ აპირებს დაიწყოს Sketching გარეთ pseudocode დაფუძნებული ზოგიერთ რჩევებს თქვენს მიერ მოწოდებული ჩემთვის აქ. ასე რომ აქ არის ჩემი pile of წინდები სახლში. მე არ წინდები, როდესაც მე ვიღვიძებ დილით, და ჩვენ ახლა უნდა დაწეროთ პროგრამა, ალგორითმი ჯიშები, რომელთანაც მიიღოს ამ წინდები ჩემს ფეხზე. და გზაზე, ვნახოთ, თუ ჩვენ მოგზაურობა დამთავრდა, ან ექმნებათ, ზოგიერთი იდეები, რომ თქვენ აპირებს უნდა დაიწყოს ფიქრი ბევრად უფრო სერიოზულად როდესაც პროგრამირების Lest თქვენს პროგრამები არ იქცევიან საკმაოდ როგორც განკუთვნილი. ასე რომ დასხდნენ აქ. მაქვს ჩემი pile of წინდები. რა არის პირველი რამ გონივრული ადამიანის დაუჭერთ აკეთებთ მიზანია მოათავსოთ წყვილი წინდები? ვიღაცამ მომეცი ერთი ნაბიჯით, და მხოლოდ ერთი ნაბიჯია. ჰო? აუდიტორია: Bend down. DAVID Malan: Bend down, Okay. ნაბიჯი ორი. ნაბიჯი ორი. აუდიტორია: Pick up თქვენი წინდების. DAVID Malan: Pick up თქვენი წინდების. Okay, ასე მცირე გაურკვევლობა აქ, და ეს არის ერთ ერთი პირველი stumbling ბლოკები, რომ ჩვენ უნდა შეგნებულად ექმნებათ აქ. ეს პატარა ორაზროვანი, ისე შეარჩიო თქვენი წინდების. სახვითი, მე ეს ერთი, მაგრამ კომპიუტერი, გააცნობიეროს მხოლოდ bit, არ აპირებს აქვს, რომ სახის ადამიანის ინსტიქტი მხოლოდ აირჩიოთ უახლოეს ერთ. ჩვენ ვაპირებთ დავიწყოთ, სანამ ხანგრძლივი, გამოხატავს საკუთარ თავს უფრო სწორად. ყველა უფლება, ასე ნაბიჯი ორ არის შეარჩიო თქვენი წინდების. ჩვენ მას. ნაბიჯი სამი. ზურგში. აუდიტორია: ძებნა შესატყვისი წყვილი. DAVID Malan: ძებნა დამთხვევა წყვილი. Okay, ასე რომ ეს არის კარგი. მე უნდა აირჩიოს ამ წინდების. ასე მიზანია ვიპოვოთ შესაბამისი წინდების, ახლა, მაგრამ რა ნიშნავს ეს? გონივრული ადამიანის, ჰგავს, თუ როდის მე უბრალოდ იცოდა როგორ მოვძებნოთ მაიკ სმიტი სატელეფონო წიგნი, უბრალოდ სახის წავიდა მათი ინსტიქტი. მაგრამ აქ, ეს აშკარად ამ წინდების აქ, არამედ კომპიუტერის არ იქნება ასე instinctive. კომპიუტერის აპირებს აქვს კოლექცია ბიტი, როგორც ჩვენ განიხილეს ოთხშაბათს, და იმ are ორგანიზებული რატომღაც მეხსიერებაში. მაგრამ საქმე ისაა, რომ კომპიუტერი მხოლოდ უნარი შევხედოთ რამ ერთ დროს, და ფაქტობრივად, კი ჩვენ ადამიანები - მიუხედავად იმისა, რომ იგრძნობა მე მოხვდა down და გაყოფილი მეორე კი ვიცი სად არის წინდების, ჩემი ტვინის და ჩემი თვალების სავარაუდოდ არც სწრაფი skim იმ წინდები, ხოლო შემდეგ latched შესახებ, რომ ერთი კითხვა. ასე რომ, თუ ჩვენ იყოს უფრო მიზანმიმართული, ახლა, როგორც კომპიუტერი, როგორ მოვძებნო ამ დამთხვევა წყვილი? ასევე, ჩვენ უნდა iterate. ჩვენ უნდა ალბათ loop ამ mess of წინდები on სართული რომლის ვამბობ რაღაც თითოეული წინდების, აირჩიოთ ის მდე და, თუ იგივე ფორმის და ზომის, როგორც მეორე, მაშინ dot, dot, dot, გავაგრძელებთ ამბავი. ამიტომ თითოეული წინდების, ამიტომ შეარჩიო ეს ერთი. მე ჩეკი არის ამ ტოლია ამ ერთ. ეს არ ვარ, ამიტომ გადადონ მხარეს. მერე iterate ერთხელ. ეს ერთი თანაბარი? არა, ეს არ ვარ, ამიტომ თქვა განზე. ეს ერთი? პოსტები ეს ერთი? არა, და სხვ. და მაშინ საბოლოოდ, იმედია, მე ექმნებათ ამ წინდების აქ. ასე რომ, თუ ის იგივე ფორმის, ზომის, მას. ახლა, რა იქნება ჩვენი შემდეგი ნაბიჯი აქ? ჰო? აუდიტორია: ამოიცნოს უფლება მარცხნიდან. DAVID Malan: Okay, იდენტიფიცირება მარჯვენა და მარცხენა, ისე საბედნიეროდ, ასეთი სახის სამუშაოები. პატარა სიმეტრიული, ან მე მხოლოდ ნახმარი, რომ გზა. ყველა უფლება, ამიტომ მე გამოვლენილი უფლება. და ახლა, სანამ ჩვენ გაგრძელება, მინდა აღვნიშნო, რა იოსების აკეთებდა აქ, როგორც ერთგვარ გათვითცნობიერებულნი პროგრამისტი. ასე რომ კიდევ ერთხელ არ ერთი გზა კეთების, მაგრამ სცილდება მხოლოდ ნუმერაციის ხაზები, ჯოზეფ უკვე დაიწყო ამის გაკეთება სახის წანაცვლება. მართლაც, ეს არის ძალიან საერთო კონვენციის პროგრამირებაში, რის, როდესაც თქვენ ჩვენგან რაღაც iterative, looping სტილი, როგორც ჩვენ ერთად გულისხმობს English ფრაზა "თითოეული წინდების, "კონვენციის pseudocode და, როგორც ვნახავთ, ჩვეულებრივი პროგრამირების ენები, არის მხოლოდ აბზაცის. Hit სივრცეში ბარი რამდენჯერმე, მოხვდა Tab გასაღები ან მოსწონს, ასე რომ წყობილი ქვეშ "თითოეული წინდების" არის ბლოკი პერსონალის, რომ თქვენ უნდა გავაკეთოთ შედეგად რომ მარყუჟი. ასე რომ ყველა რომ conveying semantically. ახლა იმავდროულად, "თუ ეს იგივე ფორმის და ზომის," ის ფაქტი, რომ "მას" არის indented შემდგომი მხოლოდ იმას ნიშნავს, რომ ერთადერთი რაც თქვენ უნდა გავაკეთოთ თუ ეს მდგომარეობა, თუ ეს ფილიალი, რომ ჩანგალი საგზაო, ფაქტიურად ასეა. ახლა აქ, ჩვენ on ნაბიჯი ოთხი, იდენტიფიცირება მარჯვენა და მარცხენა. მე გამოვლენილი უფლება. მომეცი დაიხევს ხუთი. და ტექნიკურად, ჩვენ შეგვიძლია ნამდვილად მოვუწოდებ თითოეული ნივთი - თქვენ უნდა ალბათ ხმების ყველა ხაზი თუ ჩვენ ვაპირებთ ამის გაკეთება. JOSEPH: [INAUDIBLE] DAVID Malan: [INAUDIBLE]? Okay, ჯარიმა, ყველა უფლება, ჩვენ გავაკეთებთ თქვენი გზა. ყველა უფლება, ასე ნაბიჯი ხუთი, როგორ უნდა გავაკეთოთ სწორი წინდების? როგორ უნდა გააგრძელონ მომდევნო, აქ? დიახ? აუდიტორიის: ლიფტი up მარჯვენა ფეხი. DAVID Malan: ლიფტი up მარჯვენა ფეხი, Okay. ნაბიჯი ექვსი? სწრაფად. Yeah. აუდიტორია: ძებნა ღია ბოლოს წინდების. DAVID Malan: Okay, იპოვეთ ღია ბოლოს წინდების. იმდენად კარგი. ასე რომ აქ, პატიოსნად, ძალიან ხშირი ინსტიქტი რომ მხოლოდ ჩაიცვი უფლება წინდების, მაგრამ რომ ძალიან საკმაოდ არაერთგვაროვანია. თუ კომპიუტერში ან ადამიანის იცის ზუსტად რა, რაც იმას ნიშნავს, ეს არ იქნება შეასრულოს, რომ, ასე აქ, მე ი გახსნა საფონდო. ნაბიჯი შვიდი? აუდიტორია: Touch თქვენი სიმაღლეზე. DAVID Malan: Touch სიმაღლეზე. Okay, ახლა ჩვენ მივდივართ - ყველა უფლება, მე ვაპირებ გარკვეული თავისუფლებების აქ. მადლობა. ნაბიჯი რვა? ჩაიცვი წინდების. Okay, ახლა მე, ვფიქრობ, რომ ჩვენ ვართ მჭიდრო საკმარისი სახის მიიღოს ამ ერთ სახლში. ყველა უფლება, ასე რომ ამ ღებულობენ up. მე გარკვეული თავისუფლებების ერთად რას ნიშნავს, რეალურად. განათავსეთ წინდების შესახებ. ყველა უფლება, ახლა დაიხევს ცხრა? აუდიტორია: Put ფეხით ქვემოთ. DAVID Malan: დიდი მადლობა. ნაბიჯი ცხრა, დაუსვან ფეხით ქვემოთ, და ახლა, ჩვენ შეგვიძლია გავიმეოროთ. ასე რომ, სავარაუდოდ, ჩვენ შეგვიძლია ახლა წასვლას ნაბიჯი 10 და აცხადებენ იდენტიფიცირება დაუტოვებიათ წინდების, მაგრამ ეს სავარაუდოდ უკვე გაკეთდა. და ასე შემდეგ, მე შემიძლია სახის ვიმეორებ ამ ნაბიჯებს. მაგრამ ამ სახის დახმარებას სთხოვს კითხვაზე. მანამდე, ბოლო დროს გვინდოდა გავიმეორო რაღაც, ჩვენ ეს iteratively, ისევ და ისევ, FOR ყოველ loop ასე ვთქვათ. უნდა აზრი გამოიყენოს მარყუჟის, რათა გაუმკლავდეს ორივე მარცხენა და მარჯვენა წინდების? რადგან ეს იგრძნობა ამ ოპერაციებს საკმაოდ ბევრი იდენტური გარდა იმისა, რომ ერთი აქ იწყება და ერთი აქ იწყება? ჩვენ მარყუჟის, ან ჩვენ უბრალოდ შეინახოს წერილობით ნაბიჯები 10 და 11 და 12? აუდიტორია: Loop. DAVID Malan: Okay, ასე loop. მე რეალურად შესაძლოა განაცხადა უბრალოდ შეინახოს აპირებს. მაშ რატომ არის ამ შემთხვევაში? ისე, ეს არის რეალურად პირველი ჩვენი არასამთავრობო აშკარა დიზაინის გადაწყვეტილებები, და ფაქტობრივად, ერთი metrics რომელთანაც ჩვენ ვიწყებთ შეაფასოს, ჩვენთვის და თქვენთვის, ხარისხის პროგრამის თუ რამდენად მოფიქრებული ეს. თქვენ გაკეთდეს მინიმალური ოდენობა მუშაობა აუცილებელია მისაღებად გაწეული სამუშაო საუკეთესო სწრაფად, ან თვალსაზრისით თქვენი დრო ან თვალსაზრისით კომპიუტერის გაშვებული დრო? რამდენი ოპერაციების არ სჭირდება, რათა შესრულდეს? ასე რომ სავარაუდოდ, ეს შესაძლებლობა loop რადგან როგორც კი დაიწყება გადაწერა და pasting, როგორც ჯოზეფ ეფექტურად დაიწყება აკეთებდა მომენტში, თქვენ სახის გაყვანაა თქვენი დრო, და თქვენ მყოფი ორმაგად ექსპრესიული. მაგრამ ამავე დროს, ეს ნამდვილად მხოლოდ ორი სპეციალური შემთხვევებში, მარცხენა და მარჯვენა. და ვინაიდან ადრე, მე შეიძლება 10 ან 20 ან მეტი წინდები წელს pile, ეს ნამდვილად აზრი არ აქვს 50 ხაზები კოდი ამბობდა შეამოწმოთ ამ წინდების, მაშინ ერთი, მაშინ შემდეგი ერთი. აქ, ეს პატარა ნაკლებად თვალსაჩინო, და მინდა შესთავაზა რომ ჩვენ არავინ იცის როგორი იქნება. ჩვენ შეგვეძლო არც აქვს, რომ მარყუჟი, თუმცა მხოლოდ მარყუჟების ორჯერ, ან ჩვენ უბრალოდ დააკოპირეთ და ჩასვით მხოლოდ ცოტა აქ, რათა მისაღებად გაწეული სამუშაო. მაგრამ ამ პროგრამის buggy, ასე ვთქვათ. ალბათ, ეს გარკვეული შეცდომები, შეცდომები, ან კუთხეში შემთხვევაში, ასე საუბარი, რომ ჩვენ არ ნამდვილად მოსალოდნელია. არაფერი არ მოხდა ისე ამ დროს, მაგრამ რა წავიდა არასწორად ხოლო შესრულებაში ამ პროგრამის? აუდიტორია: თქვენ არ გაქვთ წინდები. DAVID Malan: ასე რომ შეიძლება არ წინდები არსებობს განაწილებაზე. მოდით მიიჩნევენ, რომ კუთხეში შემთხვევაში. ასე რომ, თუ ჩვენ შეგვიძლია გადახვევა უკან მდე დახევას ერთი, ასე დაიხია ერთი იყო წარმართონ ქვემოთ ისე, რომ ამოწმებს out. ნაბიჯი ორი, შეარჩიო თქვენი წინდების, მაგრამ შემდეგ მოვძებნოთ შესატყვისი წინდების, იდენტიფიცირება უფლება. ჩვენ სახის გააკეთა მთელი bunch of ვარაუდები, და ეს არის, გულახდილად, რატომ პროგრამის ზოგჯერ მისაწოდებლად. თუ თქვენ, პროგრამისტი, გააკეთეს გარკვეული დაშვებების, როგორიცაა აუცილებლად იქ იქნება წინდები ან აუცილებლად იქ ხდება იყოს მეხსიერების დატოვა კომპიუტერში, აუცილებლად იქ ხდება უნდა იყოს დისკზე დარჩა მყარ დისკზე - ისე, თუ ეს მოსაზრება და ეს არ არის, ფაქტობრივად, სინამდვილეში, ვინ იცის, ზოგჯერ რა კომპიუტერის გაკეთებას აპირებს? და ზოგჯერ, როდესაც თქვენ მიიღებთ დაწნული Beach ball ან გაყინული Windows ან მოსწონს, რომ ზუსტად იმიტომ ზოგიერთი პროგრამისტი არ გავუსწრო იმ ე.წ. კუთხეში შემთხვევებში. რა შეეძლო წავიდა არასწორი ამ პროგრამაში? ჰო? აუდიტორია: თქვენ არ მარჯვენა ფეხი და მარცხენა ფეხი. DAVID Malan: Okay, შეიძლება არ აქვს ორივე მარჯვენა ფეხი და მარცხენა ფეხი, და ა.შ. ეს პროგრამა შეიძლება არ იყოს საყოველთაოდ გამოიყენება. სხვა? აუდიტორიის შესახებ: ალბათ აიყვანეს ობოლი წინდების. DAVID Malan: მე შეიძლება აიყვანეს ობოლი წინდების, ისე არასამთავრობო დამთხვევა წინდების, რომ უბრალოდ არ აქვს ძმა რადგან მე დაკარგა, ის მოწყვეტილი, ეს წელს სარეცხი მაინც, ან ანალოგიური. ასე რომ, ძალიან, არ მართლაც სიფრთხილით. ჰო? აუდიტორია: თქვენ ალბათ უკვე გვაქვს წინდები on. DAVID Malan: ალბათ უკვე გვაქვს წინდები on. მე არ რეალურად შევამოწმოთ. თუ არ აქვს წინდები on, მაშინ გააგრძელონ გავაკეთოთ ხაზი ერთი და ორი. და რომ შეიძლება მოხდეს. თქვენ გძინავს თქვენი წინდები და მოსწონს, ისე რომ, ძალიან, ძალიან გონივრული კუთხეში შემთხვევაში. და შესაძლოა კიდევ ერთი? აუდიტორია: წინდების არის შიგნით გარეთ. DAVID Malan: So წინდების არის შიგნით გარეთ, ამიტომ ჩვენ არ შეცდომა შემოწმების, მოკლედ. ჩვენ არ შეამოწმოს თუ სახელმწიფო მსოფლიოს არის როგორც ჩვენ მოველით. ჩვენ არ შეამოწმოთ თუ ჩვენ რეალურად იპოვნეთ რასაც ჩვენ ვეძებთ. და მიუხედავად იმისა, რომ ეს არის ერთგვარი სასაცილოა მაგალითად ჩართვის წინდები, საღამოს დღის ბოლოს, სწორედ ამ სახის განწყობა უნდა გქონდეს, ხოლო წერილობით პროგრამების, კი Scratch ისევე როგორც C, JavaScript, PHP-ში, რადგან წინააღმდეგ შემთხვევაში, თქვენი პროგრამები გამოფენებში ეკვივალენტს რომ დაწნული Beach ball ან უბრალოდ გამოიღო არასწორი შედეგები. ასე რომ დიდი მადლობა აქ ჩვენი scribe ჯოზეფ. [ტაში] DAVID Malan: ყველა უფლება, ასე რომ არის, ფაქტობრივად, კომპიუტერული პროგრამა? კარგად, ავიღოთ სწრაფი შეხედვით ზე წარმომადგენლობითი აქ. ასე რომ, ეს პროგრამა დაიწერა ენის მოუწოდა C. C არის საკმაოდ ძველი ამ დღეებში, მაგრამ ბევრი უფრო ენებზე შენდება თავზე მას. მართლაც, PHP, ერთი ინტერნეტ centric ენებზე ჩვენ გამოგიგზავნით გამოყენება მიმართ ტერმინი ბოლოს, თავად რასაც თარჯიმანი, პროგრამა, რომელიც დაწერილი C, მაგრამ უფრო, რომ ბევრ კვირის ამიერიდან. მაგრამ ეს პროგრამა, და ეს რას ნიშნავს წერენ პროგრამა, თუმცა ძალიან მარტივია ერთი. ჩვენ გვაქვს საკმაოდ cryptic სინტაქსი აქ, მაგრამ თქვენ შეგიძლიათ ალბათ მიხვდები, თუნდაც თქვენ არასდროს არ პროგრამირდება ადრე, თუ რა ამ პროგრამის აკეთებს. მართლაც, მე არ ვიცი, რა printf არის, მაგრამ ბეჭდვა, რა თქმა უნდა conjures up იდეა დაბეჭდვის რაღაც გარეთ. და ა.შ. დიახ, ეს პროგრამა საბოლოოდ აპირებს ამობეჭდოთ სიტყვა "Hello, World". ახლა, თუ არა აქვს Mac ან PC ან Linux კომპიუტერზე, შანსები არიან, მინიმუმ, თუ თქვენ გადმოწერილი ზოგიერთი თავისუფლად ხელმისაწვდომი პროგრამული უზრუნველყოფა, თქვენ შეიძლება არ წერდა პროგრამების თქვენი ლეპტოპი საკმაოდ ზოგიერთი ახლა. წლის Mac OS, მაგალითად, არსებობს ამ პროგრამის მოუწოდა Terminal, რომ მოდის Mac, რომ ხშირად თქვენი საშუალებები ფოლდერში, და ეს ზოგადად ხსნის შავი და თეთრი ან თეთრი და შავი ფანჯარა სადაც თქვენ გაქვთ შეეკითხება სადაც შეგიძლიათ აკრიფოთ ბრძანებები. ასე რომ, ეს არის რეალურად თქვენში რა კომპიუტერები გამოყენებული იქნება სანამ გრაფიკული ინტერფეისები, GUIs, მოვიდა გასწვრივ. ახლა კი, Windows, თქვენ გაქვთ მსგავსი მექანიზმი ფორმა of command prompt. მაგრამ რა მე ვაპირებ აქ არის გახსენით, ასე ვთქვათ, TextEdit ერთხელ, ასე რომ იმავე პროგრამით ჩვენ იყენებს pseudocode მომენტში წინ, და მე ვაპირებ წავიდეთ წინ და წერენ ჩემი პირველი პროგრამა. ჩართეთ stdio.h, რასაც არ უნდა ნიშნავდეს, int მთავარი ბათილად, რასაც არ უნდა ნიშნავდეს, ხოლო შემდეგ შუა აქ, printf ("hello, world."). და მაშინ ახლოს ციტირებით, დახურვა PAREN, მძიმით. ახლა მე ვაპირებ წავიდეთ წინ და უბრალოდ მოხვდა სარდლობის-S. მე ვაპირებ უნდა წავიდეთ წინ და შეინახეთ ამ როგორც hello.c, ასე კონვენციის სამყაროში C პროგრამირების არის ასახელებს ფაილი dot გ. მე ვაპირებ უბრალოდ დასვა ჯონ ჰარვარდის სახლის დირექტორია, აქ, დააკლიკეთ Save, და ახლა მე ვაპირებ წასვლა მეტი ამ ტერმინალი ფანჯარა, რომელიც კვლავ არის ამ შავ და თეთრ ზოლზე სად შემიძლია შეასრულოს ბრძანებები. შემიძლია პროგრამების გასაშვებად აკრეფით მათი სახელი და არა ორმაგი დაწკაპვით ხატები ჩვეულებრივი გაგებით. მაგრამ საქმე ის არის, დაახლოებით C არის, რომ ენა, როგორიცაა C პირველი მოდის ეს ფორმა, რაღაც მოუწოდა კოდის. რაღაც რომ გამოიყურება პატარა მოსწონს ინგლისურ მაგრამ არის აუცილებლად ნაკლებად მოსწონს English ვიდრე იოსების pseudocode მომენტში წინ. ეს ცოტა უფრო arcane. როგორც ჩანს დაიცვას გარკვეული ნიმუშების ან წესები. ის ფაქტი, რომ მე Curly braces, semicolons, ციტატებით, კუთხე braces, იგრძნობა კომპიუტერი გამოვიდა ამ სახის ენა. მაგრამ თუ მე, ახლა, ამ ტერმინალის ფანჯარა, შემიძლია აწარმოებს ბრძანება, რომ აპირებს გარდაქმნას, რომ კოდის არის რაღაც მოუწოდა ობიექტის კოდი. რომ აპირებს გადაიყვანოთ ინგლისურ მსგავსი სინტაქსი უნდა zeros და პირობა, იგივე სახის zeros და პირობა ჩვენ ისაუბრა ოთხშაბათი. ახლა, მე ვაპირებ აწარმოებს ბრძანება მოუწოდა Clang. გაძლიერებული ამ წელს კვირის მოსვლა, მაგრამ პროგრამას რაც შემიძლია კონვერტირება hello.c შევიდა მთელი bunch საქართველოს zeros და პირობა. ახლა, მე აწარმოებს ამ ბრძანებას. მე აწარმოებს Clang, და მერე განაცხადა აწარმოებს თავის ამ ფაილის მოუწოდა hello.c, რომელიც მე შექმნილი მომენტში წინ, და არაფერი ჩანს მოხდეს. მაგრამ მართლაც, თუ poked გარშემო ჩემი მთავარი დირექტორია, მე ვხედავ რომ ეს stupidly დასახელებული პროგრამა a.out დღეს არსებობს. ეს არის უბრალოდ ნაგულისხმევი სახელი პროგრამის როდესაც წერა C. ჩვენ შეგვიძლია override ამ საბოლოოდ, მაგრამ a.out არის პროგრამის დასახელება უბრალოდ გარდაქმნადია zeros და პირობა. და ახლა რომ zeros და პირობა, ჩემი Mac, ამ შემთხვევაში, ან თქვენი Windows PC, მესმის იმ ბიტი, იმ zeros და პირობა. და ა.შ. როცა დააჭირეთ, ვხედავ "Hello, World!" მაგრამ ცოტა buggy. მე არ საკმაოდ ვთქვა "Hello, world!: Air: - jharvard." ჰაერი სახელწოდება ჩემი კომპიუტერი. Jharvard არის სახელწოდება ანგარიშზე, ისე რა კარგად გამომრჩეს პროგრამიდან? გარკვეული ხაზი შესვენება. მე არ მოხვდა ეკვივალენტს შეიყვანეთ ან ვაგონი დაბრუნების, და ეს არის, კიდევ ერთხელ, აღთქმის იმ ფაქტს, რომ კომპიუტერები can მხოლოდ ის, რაც თქვენ ვუთხრა უნდა გააკეთოს. და ის ფაქტი, რომ არ გითხრათ კომპიუტერი გადავა კურსორი შემდეგი ხაზი - ისე, ეს რა თქმა უნდა არ აპირებს უბრალოდ ეს presumptuously ჩემთვის. ასე რომ, თუ მე დაბრუნდეს ჩემი პროგრამა, და ვამბობ \ n - ასე რომ \ n, როგორც ჩვენ მალე დაინახავთ, არის გზა წარმოადგენს უცნაური რამ, როგორიცაა ახალი უფასო ნატურალური, რამ რომ არ უნდა იქნას შედეგი hitting შეიყვანეთ გასაღები. მაგრამ ახლა, უბრალოდ ვიცი, რომ hitting შეიყვანეთ გასაღები იქნებოდა უბრალოდ ჩვენი კოდი გამოიყურება უცნაური, ასე რომ მსოფლიოს გადაწყვიტა, თქვენ იცით რა, შენარჩუნება რამ გალამაზებაში შენარჩუნება ეს ერთ ხაზს, მოდით უბრალოდ, ვამბობთ \ n წარმოადგენს ახალი ხაზი. ნება მომეცით resave ჩემი ფაილი, დავუბრუნდეთ ტერმინალის ფანჯარა, და ხელახალი პერსპექტივაში a.out, შეიყვანეთ. უძრავი buggy, მაგრამ რატომ? აუდიტორია: [INAUDIBLE] DAVID Malan: ჰო, მე უნდა recompile იგი. ამიტომ შედგენა პროგრამა უბრალოდ ნიშნავს გადაიყვანოთ იგი წყარო კოდი ობიექტის კოდი, კოდის, რათა zeros და პირობა. ახლა, მხოლოდ ის ფაქტი, რომ მე მოხვდა შენახვა ამ TextEdit ვიზიტორების ეყრდნობიან იმ zeros და პირობა, რადგან მე ჯერ უნდა ვუთხრა Clang Hey, მე შეიცვალა იმ ხაზების კოდი, კოდის. თქვენ უნდა რეგენერაცია a.out. არაფერი ჩანს, მოხდა, მაგრამ კომპიუტერი, ზე ბრძანების, ასე ვთქვათ, როცა არაფერი ხდება, რომ როგორც წესი ნიშნავს ყველა კარგად არის. როდესაც რაიმე მოხდება, ეს იმას ნიშნავს, თქვენ არევა, ზოგადად. მოდით ახლა წასვლა a.out, და მართლაც არის, მე მაქვს "Hello, მსოფლიოში. " ახლა, რაც შეეხება ამ zeros და პირობა? სად, ფაქტობრივად, არის ის? ისე, მე ნამდვილად ვერ უბრალოდ სახის poke გარშემო ძალიან ეფექტურად. ნება მომეცით გახსენით TextEdit. აქ a.out. ნება მომეცით წავიდეთ წინ და გახსნა ამ, და ეს როგორც ჩანს, რა ჩემი პროგრამა გამოიყურება. ამიტომ მე გახსნა, არ hello.c, მაგრამ a.out. მაგრამ ეს რეალურად არ არის რაც ჩემი პროგრამა მართლაც არის. ცხადია, ეს ერთგვარი ანბანური სიმბოლო. მე ვერ ვხედავ ვერავითარ zeros და პირობა, მაგრამ ეს რადგან a.out არის პროგრამა. Zeros და პირობა - მაგრამ TextEdit, როგორც სახელი ვარაუდობს, რომ ეს ისევე ჩასაწერი on Windows, მხოლოდ ტექსტური რედაქტორი, ამიტომ დამაბნეველი ყველა იმ zeros და პირობა, როგორც თუმცა ისინი, რა? ASCII სიმბოლოებს. ასე რომ გავიხსენოთ, ოთხშაბათს, ჩვენ უბრალოდ გამოვიდა ამ თვითნებური აგეგმვითი ნომრები, ან ბიტი, რომ ასო ანბანი და პუნქტუაციის სიმბოლოები და მოსწონს. ამიტომ TextEdit, რომ ტექსტური რედაქტორი არის ამახინჯებს იმ ნიმუშების zeros და პირობა, რომ უნდა იყოს ბეჭდვის სიტყვა, როგორიცაა "Hello, World". ეს ჩვენებისას მათ როგორც ASCII, და ამიტომაც იგი გამოიყურება ცოტა ბინძურ. ახლა, არსებობს მინიშნებები სისწორის აქ. გაითვალისწინეთ თუ გააშუქებს, არსებობს მინიშნება რეალურად "Hello, მსოფლიოში ", ასე სადღაც, რომ პროგრამა სასჯელი დავწერე. მაგრამ მოდით წავიდეთ წინ და ახლა ვხედავ სხვადასხვა პროგრამა. ეს არ არის ერთი ჩვენ ვიყენებთ, რომ ხშირად, მაგრამ ეს ასევე გააჩნია Mac და იქნება შიგნით CS50 ელექტრო მოწყობილობების. ნება მომეცით წავიდეთ წინ და გაიხსნება პროგრამის მოუწოდა XXD. უკან დღეში, საუკეთესო პროგრამების დასახელდა სამართლიანად cryptically, და ა.შ. ტენდენცია გრძელდება. მაგრამ-B ნიშნავს Spit ამ პროგრამის გარეთ როგორც ორობითი. არ გაუშვით. ჩვენების ის მე როგორც zeros და პირობა, და ეს არის C პროგრამით ჩვენ უბრალოდ დაწერა. ახლა, მე, როგორც ადამიანის აქ, მე ნამდვილად არ ვიცი რა ამ სხვადასხვა ნიმუშების zeros და პირობა წარმოადგენს. უკან დღეს, მე, ჩემი Punch ბარათები ან მოსწონს, რომ რეალურად უნდა ეძებოთ რა ამ სხვადასხვა ნიმუში 01111000, რეალურად წარმოადგენენ. ან უარესი, მე უნდა გავაკეთოთ Punching ან შექმნის ამ ნიმუშების zeros და პირობა. მაგრამ ახლა, იღებს რწმენა, რომ CPU, Intel შიგნით, ისე საუბარი, შიგნით ყველა ჩვენი კომპიუტერები ამ დღეებში იცის როგორ ინტერპრეტაცია ამ zeros და პირობა. და ზოგიერთი zeros და პირობა ნიშნავს ბეჭდვითი. ზოგიერთი zeros და პირობა ნიშნავს ითამაშებს sound. ზოგიერთი zeroes და პირობა ნიშნავს მიიღოს მომხმარებლის შეიტანენ კლავიატურაზე. აქ ყველა სახის სხვადასხვა თარგების, მაგრამ ჩვენ საბედნიეროდ, როგორც ადამიანი, მხოლოდ ზოგადად გჭირდებათ ფიქრი გამოშვებები საერთოდ ამ საკმაოდ მაღალ დონეზე. და სხვა CS კლასების შეგიძლიათ delve ქვემოთ უფრო ღრმა და მოუთმენლად ზე რამ, როგორიცაა იმ zeros და პირობა, ან ჯერ კიდევ სხვა რამ ჯერ კიდევ. ახლა მოდით გადაიყვანოთ ამ. მოდით გადაადგილება ძალიან სწრაფად დაშორებით C და გადავა რამე ცოტა მეტი დამამშვიდებელი, პატარა უფრო საინტერესო, რომ ჩვენ შეგვიძლია დავუბრუნდეთ ჩვენი ანიმაციების და ხმები და მოსწონს, რომ აშკარად არ გაიქცა us ამ საკმაოდ პრიმიტიული ინტერფეისი. ასე რომ, ეს იგივე პროგრამის C შეიძლება წარმოდგენილია ახლა ამ პროგრამირების ენა მოუწოდა Scratch შემდეგნაირად. ეს არის ეკვივალენტი ამ Hello world პროგრამა დაწერილი ეს თავსატეხი ცალი სტილის ენის მოუწოდა Scratch. ნება მომეცით, წავიდეთ წინ და ქმნის სწორედ ამ პროგრამის ფარგლებში. ეს კიდევ ერთხელ მოუწოდა Scratch. ეს თავისუფლად არის შესაძლებელი, და ეს არის იგივე ჩვენ დაიწყო დღეს. ასე რომ, ეს აქ არის Scratch და ეს დაყოფილია რამდენიმე სხვადასხვა დარტყმები. On ძალიან ზედა მარჯვენა, ჩვენ გვაქვს ე.წ. ეტაპზე, და მართლაც, რომ სადაც Cookies შესრულებული მხოლოდ ცოტა წინ. და იმ ეტაპზე ვართ რამ მოუწოდა sprites, გმირები, ან ობიექტების, ან პირებს. ეს ნამდვილად არ აქვს მნიშვნელობა, თუ ფიქრობთ, მაგრამ ისინი არის პროგრამირებადი, მოძრავი ნივთები, და ამ შემთხვევაში, ამ პროგრამა, რომელიც ჩვენი სტუდენტი წერდა აქვს რამდენიმე Gingerbread cookies, რამდენიმე წრიული cookies, მთელი თაიგული გულები, მთელი bunch of სათვალის. ამის გამო, მას შეუძლია პროგრამის თითოეული იმ ინდივიდუალური გმირები ცალკე. ახლა, რას ნიშნავს პროგრამის ამ სიმბოლოებს? კარგად, მინდა წავიდეთ წინ და დააკლიკეთ ამ მარცხენა ფუნთუშა და გადახვევა მეტი ზედა მარცხენა აქ. ზედა მარცხენა ჩემი ეკრანზე ახლა არის ე.წ. სკრიპტები ფართობი. ეს არის ერთგვარი ცარიელი ფურცლიდან, თავდაპირველად, გადატანა რაც შემიძლია გადააადგილება თავსატეხი ცალი, რომ, გულწრფელად, არ ზუსტად რა ამბობენ. ამასთან ძალიან ზევით ამ დასტის of თავსატეხი ცალი არის სიტყვა როდესაც მწვანე დროშა დააწკაპებთ, და თუ ვერ შეამჩნია ადრე, გზა დავიწყე, რომ ფუნთუშა სიმღერის დაწკაპვით, სიტყვასიტყვით, მწვანე დროშა. ასე რომ თავსატეხი ცალი ზედა მარცხენა იქ ნიშნავს როცა ადამიანის დაწკაპუნებით მწვანე დროშა, მიმდინარეობდა გავაკეთოთ შემდეგი რამ. ახლა, რა ისინი ბმულების გაგრძელება უნდა გავაკეთოთ? მე ნამდვილად არ ვიცი როგორ ინტერპრეტაცია ამ გაუკეთებია, მაგრამ ბმულების სავარაუდოდ მითითებული მისი Groove ნულის, მაშინ დაელოდა სამი წამი, მაშინ შეიცვალა ჯგუფის ერთ, მაშინ იგი დაელოდა მეორე, მაშინ შეიცვალა Groove თავში ერთი. და მაშინ ეს რეალურად ჰგავს ცოტა bug, არ უნდა აქვს შეცვალოს თავისი Groove ისევ და ისევ, თუ იგი არის იცვლება სხვაგან, მაგრამ ამ ნაბიჯის გადადგმა, არის რა კარნახის ქცევა ამ კონკრეტული ფუნთუშას. მოდით რეალურად გადახვევა უკან და არ შევხედოთ რაღაც ისე კომპლექსი ამჟამად. ნება მომეცით წავიდეთ წინ, გადადით ფაილი, ახალი, და კიდევ სუფთა ფურცლიდან. ახლა, მე ნამდვილად აქვს ცარიელი Script ფართობი, ცარიელი ეტაპზე, ჩვენს ნაგულისხმევი Sprite Scratch, და ზედა მარცხენა ჩემს ეკრანზე მაქვს პლატაზე ყველა მათი ხელმისაწვდომია თავსატეხი ცალი. და ჩვენ არ გავლა თითქმის რომ მრავალი ეს ყველაფერი დღეს, რადგან, კიდევ ერთხელ, ყველაზე უფრო თვითმმართველობის განმარტებითი, მაგრამ ჩვენ ცდილობენ categorize მათ და აღვნიშნო, მსგავსება ამ მომავალში ენებზე რომლის ჩვენ ჩაყვინთვის. და ზედა მარცხენა აქ არის პირველი, როდესაც მწვანე დროშა დააწკაპებთ, ნება მომეცით, გადაიტანეთ ამ მეზობელი, დააშორებს bit. და თუ დააწკაპუნეთ მწვანე დროშა, არაფერი ნამდვილად იმიტომ ხდება მე არ ერთვის ნებისმიერი ლოგიკით, ნებისმიერი განაცხადი ასე ვთქვათ, რომ რომ მწვანე დროშა, ნება მომეცით ახვიდეთ კატეგორიები მეტი აქ. მე ამჟამად საკონტროლო კატეგორიაში. მე ნაცვლად აპირებს ქვემოთ გამოიყურება კატეგორია, და არსებობს მთელი bunch რამ აქ რომ ამბობენ ამბობენ, ვფიქრობ, შეცვალეთ ფერი, შეცვლა კოსტუმი. ასე რომ შეგიძლიათ გააკეთოთ სულელური რამ ერთად კოსტიუმები და ხმები და მოსწონს. ნება მომეცით წავიდეთ წინ და უბრალოდ, ვამბობთ, ვთქვათ, და ახლა შეამჩნია როგორც მე გადაიტანეთ ჩამოაგდეს ეს თავსატეხი ცალი, ის აპირებს გვინდა latch შევიდა შესაბამისი ფორმის. ასე რომ, როდესაც მე წავიდეთ წინ და გაუშვებენ ჩემი მაუსი, მათ ჩაკეტვა ერთად, და ახლა თუ მე მეტი აქ და დააჭირეთ მწვანე დროშა, cat ამჯამად ფაქტობრივად მიესალმები რადგან ისინი, რა არის შიგნით ამ თეთრი ყუთი. ჩვენ მალე ვნახავთ, რომ ეს თეთრი ყუთი რასაც არგუმენტი, ან პარამეტრს. ეს გზა შეცვლის ქცევის, ამ შემთხვევაში, თავსატეხი ცალი, მაგრამ თუ მინდა ვთქვა, ზუსტად რა ვთქვი ადრე, მიესალმე, მსოფლიო, შემიძლია ახლა დავუბრუნდეთ მეტი აქ, დააჭირეთ play, და "Hello, World" არის ის, რაც მისი თქმით. ჩვენ სიტყვასიტყვით პროგრამირების არის. ეს არ არის ყველა, რომ მყარი პროგრამის, მაგრამ მაინც ეს ცოტა უფრო მყარი, ვიდრე ის, რაც გამოიყურება, ზე ერთი შეხედვით, მოსწონს ეს. და ჩვენ შეგვიძლია ძალიან სწრაფად მიიღოთ ყველა უფრო ექსპრესიული რადგან Scratch, ისევე როგორც სხვა ენებზე, არსებობს ყველა სახის განცხადებებს, არ უბრალოდ, ვამბობთ ან ბეჭდვის რაღაც, მაგრამ შეგიძლიათ გააკეთოთ რამ, როგორიცაა ელოდება, როგორც ჩვენ უბრალოდ დაინახა ერთად ფუნთუშა, ზოგიერთი ხმების წამში. შეგიძლიათ ითამაშოთ კინო წლის გარემოს Scratch მხოლოდ მოსწონს თქვენ შეგიძლიათ ჩვეულებრივი კომპიუტერული პროგრამა Play sound. თქვენ შეგიძლიათ შეამოწმოთ თუ რა ეწოდება ლოგიკური გამონათქვამები. ახლა, დავიწყოთ დამატებას ჩვენი ინსტრუმენტარიუმის რამდენიმე ტერმინოლოგიის რომ რეალურად ეხება მაგალითად, რომ ჯოზეფ და მე აქ წინდები. ამიტომ განცხადებებს მხოლოდ განცხადებებს აკეთებენ. ამის გაკეთება. დირექტივა ამისთვის Sprite, ან ჩემთვის ადამიანის, რომ რამე. ლოგიკური გამოხატვის არის ის, რასაც აქვს ღირებულება, ე.წ. სიმართლეს ღირებულება, რომ არც ნულოვანი ან ერთი, ყალბი ან ასეა, off ან, არ ან დიახ. ნამდვილად არ აქვს მნიშვნელობა რამდენად ფიქრობთ ამ, მაგრამ ეს ორობითი სახელმწიფო. როგორც Nate განხილული ოთხშაბათის ვიდეო, ორი სხვადასხვა რამ. ასე რომ, Scratch, ლოგიკური გამონათქვამები მოხდეს თვალი მსგავსი ლურჯი ობიექტები აქ, და ამ შემთხვევაში, კითხვა ჩანაწერები გულისხმობს, რომ თქვენ პასუხში შეკითხვა. არის კატა, ან Sprite, ეხება მაუსის მაჩვენებელი? ასე რომ, ეს მხოლოდ ერთი მაგალითია Scratch ბლოკი რომ ხდება to საშუალებას გვაძლევს შევამოწმოთ დიახ ან არა, არის მაუსის ეხება Sprite ეკრანზე? და ეს შეიძლება იყოს სასარგებლო, თუ თქვენ ნამდვილად გსურთ რამ თქვენი მაუსი. გარდა ლოგიკური გამოთქმები, ჩვენ გვაქვს რამ მოსწონს არის მაუსის ქვემოთ, ასე რომ თქვენ შეუძლია აღმოაჩინოს, რომ სახის ეჭვქვეშ ისევე. ჩვენ შეგვიძლია გავაკეთოთ მათემატიკასა თუ თქვენ ნამდვილად გინდათ და იქ რეალურად უფრო მყარი მიზნებისათვის ამ ვიდრე უბრალოდ სუფთა of არითმეტიკული, როგორც ვნახავთ. ფსევდო randomness და მიღების თქვენი პროგრამის როგორც ჩანს, ვფიქრობ ან იქცევიან განსხვავებულად ეფუძნება ზოგიერთი შეხედვით შემთხვევითი ღირებულებების, და მაშინ ჩვენ გვაქვს რამ, როგორიცაა ლოგიკური გამონათქვამები მოსწონს და. ასე რომ, თუ თქვენ ნამდვილად გინდათ შეამოწმეთ ორი ღირებულებებს, ჩვენ ვხედავთ Scratch, რომ ჩვენ შეგვიძლია რეალურად შესამოწმებლად თუ ეს ჭეშმარიტი და ეს მართლაც ასეა. მაგალითად, იმ შემთხვევაში, თუ ჩემი წინდები, მე ვერ მოვისმინეთ ზე ბოლომდე კითხვას თუ მარცხენა წინდების არის და უფლება წინდების არის, დატოვა. თქვენ ყველა კეთდება დღეს, ასე რომ იქნებოდა შესაძლებლობა, რომ. მოდით წავიდეთ წინ და ცდილობენ Piece ზოგიერთი ერთად და წასვლას რამდენიმე მაგალითები მეტი მყარი, ვიდრე ეს ერთი. ნება მომეცით, წავიდეთ წინ და ქმნის ზოგიერთი მაგალითები რომ ყოველთვის იყოს რა თქმა ნახვა ისევე, და გახსენით hello2. ასე რომ hello2 აქ, ჩვენ გვაქვს პროგრამა, რომელიც აკეთებს რამდენიმე რამ, მაგრამ არ აკეთებს ამას, როგორც ეფექტურად როგორც ჩვენ შეიძლება. ასე რომ აქ წერია "გამარჯობა, სამყარო" ერთი მეორე და შემდეგ ელის მეორე. და მაშინ აკეთებს ამას კიდევ ერთხელ, და შემდეგ აკეთებს ამას კიდევ ერთხელ. ასე რომ, თუ მე დააჭირეთ მწვანე დროშა, Scratch ამბობს "Hello, World. Hello, მსოფლიოში. Hello, მსოფლიოში. "და ეს აშკარად კანდიდატი ახლავე გაუმჯობესება. რა არის მარგინალური გაუმჯობესების, იმედია, ჩვენ შეგვიძლია ახლა გააკეთოს თუ Scratch მხარს უჭერს კონცეფცია? რაღაც loop. რაღაც განმეორება, ახლა, იქნებოდა, ასე, ნება მიბოძეთ რეალურად შეეცდება, რომ. ნება მომეცით რეალურად წავიდეთ და გადაადგილება ამ. ამიტომ ცნობაში შეიძლება გაშლა ბლოკები როგორც ადვილად როგორც თქვენ შეგიძლიათ დაამატოთ დაურთოს მათ. ნება მომეცით წასვლა კონტროლის ქვეშ, გადახვევა ქვემოთ აქ, და მართლაც, არსებობს ამ თავსატეხის piece აქ, გაიმეორეთ და სამუდამოდ და სამუდამოდ თუ. ასე რომ არსებობს მთელი რიგი გზები გამოხატვის looping აშენებს წელს Scratch. ერთი მე მინდა ალბათ აქ არ არის მუდმივი, რადგან მე მხოლოდ მოხვდეს ამ სამჯერ, მაგრამ ალბათ გაიმეორეთ. ნება მომეცით, გადაიტანეთ გაიმეორეთ მეტი აქ, გადააადგილება, და ახლა ნაცვლად რომ "Hello, World" სამი ცალკეული ჯერ, ნება მომეცით გადაიტანეთ ეს თავსატეხი ცალი აქ. და მიუხედავად იმისა, რომ არ ჩანს, რათა შეწყობოდა, პროგრამა არის ჭკვიანი საკმარისი მისი განხორციელება გაიზრდება შევსება, ამიტომ ფორმებს, რომ მატერია და არა აბსოლუტური ზომა. ნება მომეცით შეცვლის განმეორება სამი და ახლა ნება მომეცით წასვლა წინ და გადაიტანეთ დაელოდეთ ერთი მეორე იქ. იგი აპირებს ვადამდელი წელს ისევე, და ა.შ. ახლა მე ვაპირებ გადაიტანეთ ამ ბიჭებს მეტი აქ და მხოლოდ გადაყარეთ მათ მოშორებით, რადგან მე არ გვჭირდება მათ უქმნით. ნება მომეცით დააშორებს და დააჭირეთ მწვანე დროშა არის, და ჩვენ გვაქვს იგივე პროგრამა, მაგრამ, როგორც მე იწინასწარმეტყველა ადრე, უკეთეს შექმნილია იმიტომ, რომ თქვენ წარმოიდგინეთ რამდენად ცუდია ეს პროგრამა დაიჭერს, რა თქმა უნდა ესთეტიურად, თუ მოუხდა დაიწყება გადაწერა და pasting, კოპირება და pasting, ან გადმოიყვანა და ჩაშვების იგივე darn რამ ისევ და ისევ. ახლა, უბრალოდ ვამბობ, პერსონალის ეკრანზე, ბეჭდვას, რათა ეკრანზე, მართლაც ყველა არა რომ ამაღელვებელი, მოდით გახსნა მესამე ეწინააღმდეგება აქ. და ახლა, როგორც თქვენ ნახავთ, ამ ყველაფერს სწრაფად მიიღოთ შემაშფოთებელი - [Meow] DAVID Malan: - მაგრამ ეს ასევე სახის cute. [Meow] DAVID Malan: Okay, ასე უკეთესად, და ჩვენ შეგვიძლია თქმა, რომ გამოიყენოთ ამავე გადასვლის chunking ამ up შევიდა looping სტრუქტურა, მაგრამ მოდით უფრო საინტერესო მაინც. ნება მომეცით წავიდეთ წინ და ქმნის მეოთხე ეწინააღმდეგება აქ, სადაც მე მიიღოს რამ ერთი ნაბიჯი შემდგომი. ასე რომ, ამ, სულელური, თუმცა ეს არის პირველი ერთი შეხედვით, რა არის ამ პროგრამის გაკეთებას აპირებს? იგი აპირებს Meow ერთხელ. რატომ? ისე, ერთი არის, რამდენადაც მე ვიცი, ყოველთვის არანაკლებ ორი. არ არსებობს ცნება randomness აქ. მე სიტყვასიტყვით მყარი კოდირებული ერთი და ორი, არამედ ეს არის მაგალითად, ახლა ფაქტობრივად გამოყენებით ლოგიკური გამოხატულებაა. ჰგავს, როგორც ჯოზეფ გააკეთა მისი pseudocode, წანაცვლება IF თქვენთვის შესატყვისი წინდები მაშინ ნუ შემდეგ, აქ ჩვენ გვაქვს გამოხატვის თუ ერთი ნაკლებია, ვიდრე ორი კი - და რეალურად ჩვენ გვაქვს ცოტა წანაცვლება, სადაც purple ოდნავ indented მარჯვნივ - მაშინ ვაპირებთ ითამაშოს sound Meow. ახლა კი, ამ შემთხვევაში, რომ ერთი ყოველთვის არანაკლებ ორი, ამიტომ ამ არის სახის ნარჩენები მდგომარეობა. მაგრამ ჩვენ შევძლებთ, რადგან ჩვენ დავინახავთ, რომ შეაერთედ სხვა რამ შევიდა ამ placeholders სადაც ერთი და ორი ახლა. მოდით ახლა წინასწარ მაგალითად ხუთი ამ რამდენიმე hellos და შევხედოთ რა ამ პროგრამის გაკეთებას აპირებს. ასე რომ ახლა კი, ინგლისურ სასჯელს, როგორ აკეთებს ამას პროგრამის მოიქცევა? აუდიტორია: Meows ნახევარი დრო. DAVID Malan: Meow-ს ნახევარი დრო, ამიტომ ეს არის გზა conveying ძალიან მარტივი იდეით. მიუხედავად იმისა, რომ ჩვენ არ უნდა იყოს გამოყენებით გარკვეული უთანასწორობა აქ ზოგიერთ ნომრებს, ეს მართლაც მხოლოდ programmatical სხვათა შორის, ზუსტად ისე, of ამბობდა თუ მონეტა მოდის up ხელმძღვანელები, წასვლა წინ და Meow. ან პირიქით, თუ მონეტა მოდის up კუდების, არ Meow. და ამ შემთხვევაში, როგორ უნდა გამოხატოს, რომ? ჩვენ აირჩიოთ შემთხვევითი რიცხვების 1 დან 10 და, თუ, რომ ნომერი არანაკლებ 6, წავიდეთ წინ და Meow. და როგორ ამ მიიღონ აქ? კარგად ისევ შეამჩნევთ, უბრალოდ გადმოიყვანა და ჩაშვების და რამ latches შევიდა ადგილი. ახლა ვნახოთ, თუ ამ randomness მუშაობს. ნება მომეცით წავიდეთ წინ და დააჭირეთ მწვანე დროშა. [Meow] DAVID Malan: Okay. [Meow] DAVID Malan: Okay. Okay, კარგი, ასე რომ მივიღეთ თავები, თავები, კუდები ეფექტურად. Tails. [Meow] DAVID Malan: მეთაურთა. [Meow] DAVID Malan: შესანიშნავი. ყოველთვის უხერხულ როდესაც მხოლოდ სტატისტიკურად თქვენ ცუდი აწარმოებს და ეს ყველა თავები, და პროგრამა პრაქტიკულად არ მუშაობის ნეტავ იმედი მაქვს. მაგრამ ამ დროს, მუშაობდა, და ჩვენ, როგორც ჩანს, აქვს, თითქოს ჩვენ აქ ამ უსასრულო რაოდენობის ჯერ, 50% მოდის. ახლა კიდევ ერთხელ, ყველა რომ საინტერესო, უბრალოდ მიღების cats Meow, მოდით ვნახოთ, შევძლებთ თუ არა წინასწარ ამ ცოტა შემდგომი აქ ვერსია ექვსი. ახლა, ჩვენ გვაქვს ნამდვილად შემაშფოთებელი ვერსია - [MEOWS ყოველ რამდენიმე წამში] DAVID Malan: - და ეს არის ის, რაც ცნობილია, ზოგადად, როგორც უსასრულო ციკლი. ასე უსასრულო ციკლი ამ შემთხვევაში გრძნობს ცუდად. ეს აუცილებლად იწყებს sounding ცუდი, მაგრამ უსასრულო მარყუჟების არ არის ყოველთვის ცუდი. რამდენად შეიძლება კონტექსტში კომპიუტერულ პროგრამებში, სადაც თქვენ მინდა ნამდვილად გინდათ უსასრულო ციკლი? ჰო? აუდიტორია: როდესაც გსურთ შეამოწმოთ მდგომარეობა. DAVID Malan: Okay, როდესაც დატოვება გსურთ შემოწმების მდგომარეობა? მსგავსი იმისა, რაც? აუდიტორია: [INAUDIBLE] DAVID Malan: Okay, კარგი, ისე, თითქოს რაღაც პროგრამა, ზოგიერთი სახის სახლის ავტომატიზაციის რამ, სადაც გსურთ მუდმივად მონიტორის რაღაც შემთხვევაში. Are lights on? Are lights on რადგან იქნებ აქვს ტაიმერი, და გსურთ მათ წასვლა off, თქვენ ალბათ საჭიროა, რომ რამე ისევ და ისევ. და ფაქტობრივად, საუბარი ქრონომეტრები, ნებისმიერი, ვინც არ საათები თქვენს კომპიუტერში ან ციფრული საათები, რომ უსასრულო ციკლი. იგი აგრძელებს განაახლოთ დრო იმიტომ რომ მუდმივად შემოწმების და შემოწმების და შემოწმების აქვს დრო შეიცვალა, და თუ ასეა, oh, my god. Clock ის საბოლოოდ შეიცვალა. ნიშანდობლივია, რომ არიან ღირებულება თქვენ. ასე რომ, მაშინ როდესაც უმეტესი დროის უსასრულო მარყუჟების are შეცდომა, ან თუნდაც ცუდი დიზაინი გადაწყვეტილება, ზოგჯერ ისინი აქვს მათი ღირებულება. კარგად, მოდით წინასწარ შემდგომი აქ hello7. ახლა პროგრამა მიიღებს ცოტა მეტი ინტერაქტიული. ნება მომეცით მიუახლოვდით აქ, და ისევ, ეს რა ლამაზი შესახებ Scratch. და ჩვენ გამოვიყენოთ რომ განვმარტო, Scratch, უბრალოდ დღეს და შევიდა მომავალ კვირას პრობლემა მითითებული. მაგრამ ორშაბათს, ჩვენ ჩაყვინთვის შევიდა C. ამ პროგრამაში აქ, ეს ასეა, სამუდამოდ, შემდეგ. IF ეხება მაუსის მაჩვენებელი - ახლა, რომელიც კონტექსტში აქ? კარგად, და ცნობა, რომელიც შერჩეული ქვემოთ აქ ბოლოში მარჯვენა არის კატა, Sprite ერთი, ასე რომ ეს სკრიპტები, ამ პროგრამა, ვრცელდება მას კონკრეტულად. ასე რომ, თუ რომ კატა ეხება მაუსის მაჩვენებელი, მაშინ ხდება უნდა ითამაშოს ამ down და დაველოდოთ ორი წამი, ხოლო მაშინ ვიმეორებ რეკლამა nauseum. მოდით წავიდეთ წინ და დააჭირეთ Play. არაფერი ხდება, მაგრამ თუ მინდა ცხოველებისათვის კატა არის, მე შემიძლია უბრალოდ. [Meow] DAVID Malan: adorable. [Meow] DAVID Malan: Okay, ნაკლებად შემაშფოთებელი, არამედ იღებს მოსაწყენი, მოდით გადაადგილება და ვნახოთ, შევძლებთ თუ არა მიეცეს ცოტა მეტი ლოგიკა. ეს იყო მაგალითი შვიდი. აქ მაგალითად რვა, ჩვენ ვაპირებთ გააცნობს სხვას მდგომარეობა. ასე ჰგავს ლიტერატურული ჩანგალი საგზაო, რომელშიც შეგიძლიათ გადასვლა დაუტოვებიათ ან შეგიძლიათ უფლება, მდგომარეობა პროგრამირების ენა მოსწონს Scratch, ან როგორც ჩვენ დავინახავთ C, შეიძლება იძლევა საშუალებას წავიდეს ერთი მიმართულებით, ან სხვა საშუალებით თუ სხვაგან აშენება. ასე რომ საკმაოდ სიტყვასიტყვით, თუ ეხება მაუსის მაჩვენებელი, ამ ითამაშებს ზოგიერთი ხმა, სხვას ის აპირებს ითამაშოს ამ სხვა ხმის, Meow. ახლა კი, თუ შეიძლება infer საწყისი სახელი ამ ხმები, თქვენ შეგიძლიათ ალბათ მიხვდები რა ამ პროგრამის ნიშნავდა conjure up იდეა. ეს კატა meowing სიხარულით. [Meow] DAVID Malan: საბედნიეროდ, მაგრამ არ საკმაოდ მოსწონთ ის, რომ შეეხო. [ROARS] DAVID Malan: ახლა ჩვენ გვაქვს cat ვინც იქნება დაწეროთ თქვენ. ყველა უფლება, ასევე, ერთი ბოლო მაგალითი cats აქ, და მოდით ღია ვერსია ცხრა ამ აქ. ახლა, ჩვენ გვაქვს შემდეგი საუკეთესო შემაშფოთებელი ხმის, რომ შემეძლო იპოვოს, ამიტომ ჩვენ გვაქვს walrus ან ზღვის ლომის აქ ვინც აპირებს გავაკეთოთ შემდეგი. [SEAL ქერქი] DAVID Malan: Okay, ასე რომ ეს გაგრძელდება მანამ, სანამ თქვენ გაერკვნენ, თუ როგორ ამ პროგრამის მუშაობს. ასე რომ, ეს დრო, ეს ცხოველი ჰყავს ორი სკრიპტები, და რაც საინტერესო აქ ის არის, რომ ამ სცენარების ვაპირებთ, რათა შესრულდეს პარალელურად. ასე რომ, რადგან ისინი ორივე დაწყება ერთი მწვანე დროშა დააწკაპებთ, ეს მოსწონს აპირებს მოსწონს, და ორივე პროგრამა დაიწყოს გაშვებული ეს ერთხელ კი, თუ ისინი looping სამუდამოდ. ასე რომ, ყველაზე Script, მაქვს გარკვეული ლოგიკა. რა მახასიათებლები ამჯამად რომლებიც უზრუნველყოფს up there? [SEAL ქერქი] აუდიტორია: [INAUDIBLE] DAVID Malan: თუ რა? [SEAL ქერქი] აუდიტორია: თუ მდუმარე ნულის, ის აპირებს შეინარჩუნოს თამაშობენ sound. [SEAL ქერქი] DAVID Malan: Okay, კარგი. ასე რომ, თუ მდუმარე, რასაც ეს, ამ ფორთოხლის რამ არის ნულოვანი, შემდეგ ითამაშოს ზღვის ლომის ხმა და ვფიქრობ "ოჰ, hi, "ორი წამი. ახლა, მე არ ვიცი, რა მდუმარე არის, მაგრამ ნულოვანი conjures up იდეა ყალბი ან გამოსართავად. ასე რომ, თუ მდუმარე არის ყალბი, ასე რომ, თუ არ მდუმარე, შენარჩუნება playing sound. ყველა უფლება, ისევე, როგორ უნდა გამორთოთ ეს საგანი? კარგად, მოდით შევხედოთ მეორე Script დახვდა. მეორე Script ამბობს მითითებული მდუმარე ნულის. შენიშნავს ასევე ფორთოხალი, ასე რომ Scratch ამჯამად არის ეს ფერები ბლოკები იმავე shade თუ ეს დალაგება საქართველოს ლოგიკურად დაკავშირებული. ამიტომ ისევე როგორც მდუმარე up დაბრუნება იყო ფორთოხლის, ამიტომ არის მდუმარე ქვემოთ აქ აღნიშნული ნარინჯისფერ ბლოკი. მაგრამ ეს ცვლადი დავალებები, ამიტომ ისევე როგორც ალგებრა, თქვენ გაქვთ x და y და z, პროგრამირებაში გაქვთ ცვლადები, მაგრამ ისინი საერთოდ - მოდით პაუზის ერთი წუთით და მოღვაწის როგორ იმისათვის რომ შეაჩერონ ეს barking. როგორ შემიძლია ამის გაკეთება? [SEAL ქერქი] DAVID Malan: Okay. იგი შეჩერდა. Okay. ასე რომ ისევე, როგორც ალგებრა გაქვთ ცვლადები x, y, z და, თუმცა პროგრამირება, მქონე ცვლადების მოსწონს x, y, z და ზოგადად frowned საფუძველზე რადგან ისინი არ გაკისრებთ ექსპრესიული. მათ არ აქვთ სემანტიკური მნიშვნელობა განაწილებაზე, ასევე საუკეთესო პროგრამირების ენები, ცვლადები შეიძლება ჰქონდეს სრული სრულფასოვანი სახელები ან სიტყვები ან ფრაზები, როგორიცაა მდუმარე, ვთქვა რას აკეთებს. ასე რომ, ეს მეორე სკრიპტის ასევე მოსმენის სამუდამოდ და ეს განაცხადა თუ გასაღები, კლავიატურის გასაღები ფართი, არის დაპრესილი, კითხვის ნიშნის. ასე რომ არსებობს მდგომარეობაში ლოგიკური გამოხატულებაა რომ აპირებს უპასუხოს კითხვას არც truthfully ან ყალბი, მაშინ მე შიგნით, თუ სივრცეში გასაღები არის დაპრესილი და IF მდუმარე არის ნულოვანი, მითითებული მდუმარე ერთ, სხვაგან მითითებული მდუმარე ნულის. ასე რომ, ეს სხვა ჩანგალი საგზაო და შეამჩნევთ, თუ როგორ მე წყობილი ორი IF პირობები, არის გზა შემოწმების არის ფართი ბარი დაპრესილი რადგან თუ ასეა, მე არც მინდა ამ გზა თუ იმ გზას. და როგორ შემიძლია ინვერსიის ღირებულება მდუმარე? უნდა შეამოწმოს არის ის ნულოვანი? თუ ასეა, რათა ის ერთი, სხვაგან რათა ის ნულიდან ამიტომ გადართვა მისი ორი შტატები. ყველა უფლება, ასე რომ ჩვენ გვაქვს შემდეგ ზოგიერთი ფუნდამენტური აშენებს. ჩვენ გვყავს ლოგიკური გამოთქმები, და გააცნობიეროს, ძალიან, ეს არა ყველა, რომ უცნობ. ფაქტობრივად, აქ არის სწრაფი Screenshot ჰარვარდის კურსის CS50 სავაჭრო ინსტრუმენტი და ნებისმიერი ნახვა out არსებობს, რომელსაც აქვს checkboxes და drop Downs მართლაც, ყველა ამ დროს, იყენებს ლოგიკური გამონათქვამები. ამ შემთხვევაში აქ, თუ დაწკაპავთ ჩამრთველი შემდეგი რა თქმა უნდა მეტია ან ტოლია 4,5, ან იგივე შემდეგი ფაკულტეტი, თქვენ სასურველი ლოგიკური გამოხატულებაა. მაჩვენეთ კურსები რომელიც რომ გამოხატვის მართალია. ან უფლება, არ ეწინააღმდეგება კურსები ვარ აღების, თუ ეს შეამოწმეს, შემდეგ კი, გსურთ შეამოწმოთ რომ მდგომარეობა, სხვაგან გსურთ იგნორირება მოვახდინოთ. ამიტომ ლოგიკური გამონათქვამები არიან სახის გარშემო, მაგრამ როდესაც ჩვენ მათ პირობებს, თუ არა იმ შემთხვევაში, თუ პირობები, თუ ELSEs, ან შეგვიძლია კი სიმულაცია უფრო ღრმა დონეზე, თუ სხვაგან თუ სხვა - ასე რომ სახის ternary სახელმწიფო. თქვენ შეგიძლიათ ამ გზით ან ამ გზით ან ამ გზით. ჩვენ შეგვიძლია შევინარჩუნოთ nesting რამ წასვლა სხვადასხვა მიმართულებით. ამიტომ Scratch აქვს ამ მარყუჟების, ისევე როგორც სამუდამოდ. მას აქვს ამ მახასიათებლები, როგორიცაა გაიმეორეთ 10, ზოგიერთი სასრულ რაოდენობის ჯერ. ჩვენ გვყავს უნარი არის მითითებული ცვლადები, ამიტომ ამ შემთხვევაში მე განაცხადა, მაგალითად, ცვლადში წინდები. მე ინიციალიზაცია 0, და რომ კიდევ ერთი მიმართულებით ჩვენ შეეძლო აღებული აქ იოსები, რომლითაც შეიძლება მხოლოდ ტრეკზე რამდენი წინდები მაქვს და შეწყვიტოს პროგრამა, როცა ცვლადი ღირებულების არის 2. ეს იქნება კიდევ ერთი გზა სახის generalizing რომ პრობლემა და თავისსავე ისევ და ისევ. კარგად, მოდით წავიდეთ წინ და ახლა დანერგვა რამდენიმე ახალი რამ. ასე რომ იმ თქვენ წინასწარი programing გამოცდილება ვიცით, რომ ბევრი ენებზე აქვს მასივები, ან ვექტორები ან სიები, და მართლაც, Scratch აქვს მსგავსი რამ, ძალიან. ასე რომ ვნახოთ, შევძლებთ თუ არა მიიღოს რამ მომდევნო დონეზე აქ. თუ მაქვს შესაძლებლობა, ახლა, ამ თავსატეხი ცალი, რათა დაამატოთ რაღაც, როგორიცაა სიტყვა ან რიცხვი, რომ ცვლადი, შემიძლია დაიწყოს დაგროვება რამ. და ეს არის რეალურად საკმაოდ apropos ამისთვის რამ, როგორიცაა თამაშები, როლური თამაშები, რომელშიც თქვენ სახის ფეხით გარშემო ზოგიერთი ფანტაზია მსოფლიოს შეგროვება რამ, კრეფა up რამ, რამაც რაოდენობა, ან ანალოგიური. დაგვჭირდება ტრეკზე რაღაც ინვენტარი და მართლაც, რომ ის, რაც ერთი ჩვენი ყოფილი სტუდენტები აქ შემოიერთა რაღაც მოუწოდა Fruitcraft RPG. ნება მომეცით, წავიდეთ წინ და გახსენით ეს საგანი აქ და Fruitcraft, ჩვენ გვაქვს ამ სამყაროში up ზედა. ნება მომეცით, წავიდეთ წინ და დააჭირეთ მწვანე დროშა. Notice ზედა მარცხენა ერთგვარი ინვენტარი. რაც განხორციელდა Scratch, რაც ჩვენ მოვუწოდებთ მასივი ან სია, და ახლა გვაქვს ამ პატარა ანიმაცია. ასე რომ ისევე როგორც ადრე რომ დაგვეწყო ამ ფუნთუშას სიყვარულის ისტორია, და მაშინ ჩვენ წინასწარი კატები და ზღვის ლომები, ახლა ჩვენ შეგვიძლია აქვს რამ, რომ კიდევ უფრო ინტერაქტიული. და ამ პატარა ლურჯი ბიჭი, შემიძლია დაიწყოს გადაადგილება მისი პატარა სახლში აქ. ასე გამოიყურება ის მივიღე გასასვლელში ქვემოთ აქ, ამიტომ მე გამოყენებით ისრებით გასაღებები, up, down, მარცხნივ უფლება. და ახლა მე გარეთ, მოდით რა მაქვს აქ. როგორც ჩანს, ფორთოხალი, და მართლაც, როგორც კი შეეხოთ ფორთოხლის, იგი იღებს plopped შევიდა ჩემი ინვენტარი. თუ მე მეტი აქ ალუბალი, ახლა მაქვს რაღაც სხვაგან ჩემი ინვენტარი. და ეს არის ყველა ლამაზი და cute, მაგრამ ვიფიქროთ იმაზე, როგორ, ახლა, ამ ხორციელდება. ასევე, ჩვენ არ ამ ცნება სია, და ეს აშკარად თავსატეხი ცალი, რომ თქვენ უბრალოდ, ვამბობთ რა გსურთ დამატებას, დაამატოთ ფორთოხლის, დაამატოთ ალუბალი. ახლა, რა არის ეს პატარა ლურჯი ბიჭი აკეთებს? ისე, ის Sprite. და სავარაუდოდ, ფორთოხლის და ალუბალი - თვითონ კი ცალკე sprites. და გამოყენების პირობების ლოგიკური გამოთქმები, სტუდენტი იყო, ალბათ შეუძლია გამოხატოს IF ლურჯი ბიჭი არის ეხება ალუბალი შემდეგ add სიტყვა ალუბალი მისი ინვენტარი და შემდეგ ასევე დამალვა ალუბლის Sprite. ასე ქვეშ Hood, არის ალბათ ჯერ კიდევ არის ალუბლის Sprite არსებობს. ჩვენ უბრალოდ განუცხადა მას გამხდარიყო ეფექტურად უხილავი. ახლა, თუ მე შენარჩუნება ფეხით მეტი აქ, შეგვიძლია ასევე ამის გაკეთება პროქსიმალური რამ, სადაც შემიძლია წასვლა და წაიკითხეთ ნიშანი. ასე რომ, თუ ლურჯი ბიჭი ეხება ნიშანი, რომ შეგვიძლია ამ Say ბლოკი ისევე, როგორც კატა ისაუბრა ჩვენთვის სიტყვა, hello, ადრე, "Got ხილი? Bring It to ხილის ადგილი. "ყველა უფლება, ასე რომ ახლა, როგორც ჩანს, მე მაქვს ჩემი მიმართულებით. მე შეიძლება მეტი აქ ხილის ადგილი, Line თავს up ერთად კარი. ახლა, მე ვარ აქ. შემიძლია ახვიდეთ man at counter. მან აღმოაჩენს, რომ მე ახლოს მას, ასე რომ არ უნდა იყოს საკმაოდ იდენტურად ეხება, და მე არ მოიგო თამაში. ასე რომ ჩვენ გვაქვს Fruitcraft RPG. ასე რომ ჩვენ შეგვიძლია გავაკეთოთ კიდევ უფრო განვითარებული, ვიდრე ეს. ჩვენ შეგიძლიათ დაამატოთ ხმები. ჩვენ შეგიძლიათ დაამატოთ ფსევდო randomness. ჩვენ შეგიძლიათ დაამატოთ სირთულის. ნება მომეცით წავიდეთ წინ აქ, და ვიდრე ამის გაკეთება თვითონ, ნება მომეცით გაჩვენოთ ერთი უფრო დახვეწილი წარდგინება მივიღეთ შარშან გარკვეული ვინმე ბლეიკი. უნდა გვქონდეს ერთი მოხალისე, რომელიც კომფორტული გამოჩენა კამერა და არის სათამაშოდ თამაშის? როგორ შესახებ უფლება არსებობს? Come on up. ყველა უფლება, ასე თამაში რომ თქვენ გაქვთ მხოლოდ unknowingly მოხალისეებად უნდა ითამაშოს - [ტაში] DAVID Malan: - არის რაღაც საწყისი yesteryear მოუწოდა "Frogger." რა არის შენი სახელი? RENDA: Renda. DAVID Malan: Redna? RENDA: ეს მოსწონს Brenda ერთად ბ. DAVID Malan: Okay, Renda. დავით. კარგია თქვენთან შეხვედრა. ასე რომ აქ "Frogger," და თუ ჩვენ შეგვიძლია დააყენებს მოცულობის მხოლოდ ცოტა, თქვენ ამ პატარა მწვანე ბაყაყი ქვედა. თქვენ შეგიძლიათ გამოიყენოთ მარცხნივ, მარჯვნივ, ზემოთ და ქვემოთ, და თქვენი მიზანია გადაკვეთოს ქუჩა, გადაკვეთს მდინარე და შეეხოთ ლილი ბალიშები ზედა. Aw. კიდევ ერთი T - redo, ყველა უფლება? მოდით Hit გაჩერება. არავის არ უნახავს, ​​რომ. [ტაში] [ტაში] DAVID Malan: ჰო. ძალიან კარგად გაკეთდეს. შესანიშნავი, მადლობა. ასე რომ Frogger. არის, რომ თქვენ იცით რა თქვენ მიღებული თქუენგან შევიდა, კიდევ ერთი მოხალისე ამისთვის სხვადასხვა თამაშის მიერ წარმოდგენილი კიდევ ერთი სტუდენტი. გსურთ მოდის up? რა არის შენი სახელი? RICHARD: რიჩარდ. DAVID Malan: რიჩარდ. ყველა უფლება, რიჩარდ, მოდის up. [ტაში] DAVID Malan: თქვენ გაქვთ რაღაც რომ გვექნება გასწავლოთ ნაცნობი მალე, ასე რომ აქ თქვენი ინსტრუქციებით. ასე რომ, ის მომენტი, ზოგიერთი თავსატეხი ცალი ვაპირებთ გადახვევა up საწყისი ეკრანზე რომ გამოიყურება არც დაუტოვებიათ ან მარჯვენა up ან down. თქვენ აპირებთ უნდა დაარტყა ისრიანი ღილაკები ისე რომ იგი შეესაბამება იმ თავსატეხი ცალი დოლომიტ ერთად placeholders ზედა. ასე რომ, როდესაც თქვენ ხედავთ, მარცხენა arrow, და ეს ხაზები ერთად მარცხენა arrow, მოხვდა მარცხენა arrow. თქვენ შეიძლება დაიწყოს. [მუსიკა - "Stronger" KAYNE WEST] DAVID Malan: ყველა უფლება, დიდი რაუნდი ტაში ამისთვის რიჩარდ. [ტაში] DAVID Malan: ძალიან კარგად გაკეთდეს. დიდი მადლობა. [ტაში] DAVID Malan: So fun და, როგორც ჩანს, სახის დაშინებას როგორც არ უნდა იყოს, განახორციელოს რაღაც როგორც როგორც ჩანს, დახვეწილი, როგორც ეს, გააცნობიეროს, რომ სტუდენტი არ შეიქმნა და მხოლოდ წერენ, რომ ეს ყველაფერი ერთბაშად. უფრო მეტიც, თქვენ შეგიძლიათ ჩაშლის პრობლემას როგორც ჩანს, კომპლექსი როგორც ამ შევიდა ბევრი პატარა ნაჭრებად, და ეს, ძალიან, არის იქნება თემა. ყველაზე უარესი, რაც შეგიძლიათ გააკეთოთ წერილობითი პროგრამა საუკეთესო ნებისმიერი ენა დაიწოს, კიდევ მართლაც აღფრთოვანებული, დაწერეთ მთელი Damn რამ, და შემდეგ უბრალოდ იმედი მაქვს, რომ მუშაობს ახლა თქვენ დასრულდა წერა. უფრო მეტიც, პროცესი პროგრამირების უნდა საერთოდ ძალიან მიზანმიმართული, ძალიან iterative, რომლითაც თქვენ უბრალოდ მითითებული ძალიან მცირე ნაბიჯები თქუენგან, bite ზომის დარტყმები გსურთ Bite off, და ისე, რომ თქვენ გაქვთ ეს საღი აზრის ამოწმებს, პატარა ეტაპები შეგიძლიათ აკმაყოფილებდეს. და მაშინ დაეყრდნონ ზევით იმ შექმნა დახვეწილი რამ მაინც. ასე მაგალითად, როგორ უნდა წავიდეს შესახებ ახორციელებს თამაშის ასე? ისე, სიმართლე გითხრათ, მე, რა თქმა უნდა დაიწყოს მხოლოდ მხარდამჭერი ერთი გასაღები დროს. მოდით უბრალოდ განახორციელოს მხარდაჭერა მარცხენა arrow. ამიტომ სტუდენტი იძულებული გახდა როგორღაც შექმნა Photoshop, ან Scratch თავად გამოყენებით პატარა გრაფიკული რედაქტორი, arrow გასაღები რომ ჰგავს ერთი ყველაზე დარჩენილი, უბრალოდ რუხი placeholder. მაშინ სტუდენტი იძულებული გახდა გაერკვნენ, რა X, Y კოორდინირება, რათა ვთქვათ, სად დააყენოს ის ფანჯარა. 0, 0 არის აქ, ასე რომ თქვენ უნდა გაერკვნენ, ხმების პიქსელი, ან წერტილი, ურთიერთჩათვლის რომ arrow საწყისი ეკრანის ზედა. და მერე კიდევ რომ ადგილზე იქნება, თქვენი პროგრამის ფაქტობრივად არ არაფერი არ არის, ასე რომ თქვენ მაშინ გვჭირდება მეორე Sprite, ამისთვის მაგალითად მწვანე arrow რომ ასევე მიუთითებს დაუტოვებიათ და თქვენ შემდეგ უნდა დაიწყოს წერა რამდენიმე სკრიპტები ამისთვის. და თქვენ შეამჩნევთ, ალბათ, რომ ეს რამეები მოდის ზე სხვადასხვა სიჩქარეზე, და ფერები იყო სხვადასხვა ადგილისა და ეს იმიტომ, რომ სტუდენტი გამოიყენება ცოტა ფსევდო randomness. და ფსევდო randomness, უბრალოდ ნიშნავს აირჩიოთ ნომერი შორის რაღაც და რაღაც რადგან თქვენ შეგიძლიათ დავიწყოთ რუკა რამ, როგორიცაა, თუ ნომერი შორის ერთი და ხუთი, ისევე, გადავდგათ რამ მწვანე. თუ ეს შორის 6 და 10, გადავდგათ თავსატეხი ცალი წითელი ნაცვლად. ასე რომ სანამ თქვენ გაქვთ გზა წარმოქმნის ერთგვარ randomness, შეგიძლიათ შემდეგ მიიღოს გადაწყვეტილება ეფუძნება, რომ randomness. მე შენარჩუნება ამბობდა ფსევდო შემთხვევითი, რადგან არსებობს პატარა ბინძური საიდუმლო. კომპიუტერები ვერ ამუშავება შემთხვევითი რიცხვების. მათ შეუძლიათ მხოლოდ რა ისინი განუცხადა რადგან ისინი ადამიანის მიერ მოწყობილობები. მათ არ შეუძლიათ უბრალოდ გამოიცანით რიცხვი ისე, ადამიანები იგრძნონ შეგვიძლია. კომპიუტერი უნდა გააკეთოს რაღაც მათემატიკური to conjure up ილუზია მათემატიკური ნომერი, ზოგჯერ გამოყენებით მიმდინარე დღის დროის როგორც შეყვანის to მჭიდროდაა რა ხმების დაბრუნებას, მაგრამ უფრო, რომ სხვა დროს. ახლა, უბრალოდ ვიცი, რომ ჩვენ შეიძლება ფსევდო randomness. ასე რომ ერთხელ მაქვს უნარი მარცხენა arrow დაიწყოს გამოჩენა სხვადასხვა დროს და სხვადასხვა სიჩქარეზე, მაშინ შემიძლია უკან და დაამატოთ ზოგიერთი იმ შემთხვევაში, თუ პირობები. თუ ეს არის Sprite ეხება მეორე, და მარცხენა arrow გასაღები უკვე დაპრესილი - ასე სამი პირობების შემთხვევაში. შემიძლია, რომ და ბლოკირება ალბათ, ამ შემთხვევაში - მერე გვინდა წავიდეთ წინ და წუთობრივი ანგარიში. და ზევით, ჩვენ გვაქვს ანგარიშით, ჩვენ გვაქვს გასაოცარია, ზემოთ, კარგი, და Boo. ასე რომ იქ აშკარად ხუთი ცვლადები, რომ ეს სტუდენტი გამოიყენება ტრეკზე ამ სხვადასხვა metrics. ასე მოკლედ, საბოლოო ჯამში არის საოცარი. ეს fun, ეს fun თამაში, ის ჩართვით, მაგრამ ეს არ არის სადაც სტუდენტი დაიწყო. მან დაიწყო გაცილებით პატარა კომპლექტი ნაბიჯები. რა არის რამოდენიმე სხვა სამშენებლო ბლოკები, რომ შეგვიძლია ხელს უწყობს შევიდა ამ პროგრამების? ისე, არსებობს ამ სხვა კონცეფციის საუკეთესო ენებზე, Scratch მათ შორის, ცნობილი, როგორც თემა. ასე რომ კომპიუტერის შეიძლება რეალურად არ ნამდვილად მრავალი რამ ზე ახლა, მაინც არ ჩვეულებრივ. უფრო მეტიც, კომპიუტერი საერთოდ ერთი CPU, და კიდევ თუმცა კომპიუტერები სუპერ სწრაფი და შეუძლია, აქედან გამომდინარე, შექმნას ილუზია კეთების მრავალჯერადი რამ ერთდროულად - შემოწმების ელ, მიღების მყისიერი გაგზავნა, ბეჭდვას დოკუმენტი - მართლაც, კომპიუტერი მხოლოდ jumping ბეჭდვის to IMing to emailing, უკან და უკან და უკან და მეოთხე ისე სწრაფად, რომ ჩვენ ნელი ჭკუისა ადამიანები უბრალოდ არ ესმოდეს, რომ ეს რეალურად გაშვებული იმ პროგრამების ცოტა დროს. ახლა, ამ ცოტა თეთრი ტყუილი ამ დღეებში, რადგან, დღეს, ბევრი ჩვენი კომპიუტერები რა ეწოდება მრავალბინიანი-core, ასე რომ თქვენ აქვს ერთი CPU მაგრამ მრავალჯერადი ბირთვით, რომელიც სახის მოსწონს მქონე მრავალჯერადი პროცესორები. და ა.შ. ზოგჯერ, კომპიუტერები შეიძლება მართლაც გავაკეთოთ მრავალჯერადი რამ იმ დროს, მაგრამ ზოგადად პროგრამის ფარგლებში გაიმართა, პროგრამები დაეყრდნონ ეს ყველაფერი მოუწოდა თემა. ასე რომ თემა არის ერთგვარი მოსწონს მინიატურული პროგრამა, რომელიც შეიძლება არსებობს ერთად კიდევ ერთი მინიატურული პროგრამა და შეიძლება აწარმოებს პარალელურად, ან თუნდაც შეიძლება აწარმოებს ქვეშ ილუზია, რომ ისინი გაშვებული ერთდროულად. ამიტომ Scratch მხარს უჭერს ეს ყველაფერი მოუწოდა თემა. შეგიძლიათ რამდენიმე სკრიპტები შესრულებაში ერთდროულად, როგორც ჩვენ შემოიერთა ზღვის ლომის, და ეს საშუალებას გვაძლევს რეალურად მაშინ აქვს ურთიერთქმედების შორის ამ sprites. ნება მომეცით წავიდეთ წინ აქ და გაიყვანოს მდე, ასე ვთქვათ, თემა, და ითამაშოთ ამ შემდეგნაირად. ჩვენ გვაქვს ორი sprites, თითოეული მათგანი ვნახავთ ერთი Script. და თქვენ შეამჩნევთ როგორც ჩანს ზოგიერთი დაზვერვასთან cat ამ ერთი იმიტომ, რომ ის უახლოვდება - [ROARS] DAVID Malan: - და უფრო ახლოს პატარა ფრინველის. მაშ როგორ არის ფრინველის ოპერაციული? კარგად, მოდით შევხედოთ ფრინველის პირველი. ფრინველის Script განაცხადა, როდესაც მწვანე დროშა დააწკაპებთ, გადადით x შეადგენს უარყოფითი 115 და Y შეადგენს 150. ამიტომ მე მხოლოდ figured out შემთხვევითი ადგილი, სადაც მინდოდა ფრინველის დაიწყოს, და მე უბრალოდ plopped მას იქ იყოს. შემდეგ სამუდამოდ თუ არა ეხება კატა, ასე რომ, ეს სხვადასხვა სახის looping შენება, მაგრამ ამავე იდეა, ეს კიდევ ერთხელ გავაკეთოთ და ისევ და ისევ. ასე რომ სანამ თქვენ არ ეხება კატა, გადაადგილება სამი ნაბიჯი, და თუ თქვენ ზღვარზე, bounce, სადაც ეს ერთგვარი ასახვის billiard გრძნობა. ასე რომ, თუ როგორ ფრინველის მოძრაობს გარშემო სახის როგორც ჩანს, შემთხვევით, მაგრამ ეს მხოლოდ იმიტომ, რომ ეს bouncing off კედლები ამ შემთხვევაში. ახლა კატა, იმავდროულად, არის ერთგვარი მოტყუების. კატა, როდესაც მწვანე დროშა დააწკაპებთ, დიახ, იწყება ზოგიერთ ადგილას, შემთხვევითი მდებარეობა - ყოველ შემთხვევაში ნაწილი როგორც პოსტი არჩევანი შემთხვევითი მწვანე ბლოკი არსებობს - და შემდეგ სამუდამოდ IF ეხება ფრინველის, თამაშობენ ლომის ხმა, და შემდეგ შეწყვიტოს Script. ასე რომ, როდესაც ვთქვი შეწყვიტოს, ან გაითიშება ადრე, იქ თავსატეხი piece in Scratch, რომელიც მხოლოდ მოკვლა პროგრამის, რომ აღვნიშნო რადგან სახის ლოგიკურად გაკეთდეს. მაგრამ სხვაგვარად, აქ, შეამჩნევთ რა მოხდება. ქულა მიმართ ფრინველის და გადატანა ერთი ნაბიჯია. ასე რომ ამ ეტაპზე მიმართ ფრინველის არის სახის უპირატესობა cat გააჩნია, რომ თვითდამიზნების წელს მოძრავი ფრინველი, და ჩვენ შეგვიძლია ახლა ამ პროგრამის ყველა უფრო საინტერესო. ნაცვლად მოძრაობს ერთი ნაბიჯით იმ დროს თითო CPU ციკლი, თითო გაფიცვის ზარი of ბელი, ასე ვთქვათ, ნება მომეცით წავიდეთ წინ და გადაადგილება, ასე ვთქვათ, ხუთი საფეხურით დროს როგორც კატა. Click აწარმოებს, და ახლა იგი ნამდვილად აღმოაჩენს მას სწრაფად. თუ ჩვენ გაორმაგება ამ შემდგომი დან 10 ნაბიჯები, ის სახის მიდის უფლება მისთვის. ახლა შეგვიძლია მივცეთ ფრინველი, ალბათ, ცოტა უპირატესობა. მოდით წასვლა ფრინველის და ვთქვათ ნაცვლად მოძრავი სამი ნაბიჯი, მოდით გადაადგილება მას 30 ნაბიჯები. მაგრამ მაინც მიიღო დაიჭირეს დასასრულს. ასე რომ, ჩვენ გვაქვს ორი თემა. ეს incarcerated წელს Scratch ორი სკრიპტები და ორი sprites, მაგრამ იდეა სხვა ენებზე ისაა, რომ თქვენ წერენ, არსებითად, ძალიან ბევრი პროგრამები, როგორიცაა ამ და აქვს მათ აწარმოებს ჭეშმარიტად, ან imaginarily, პარალელურად. ახლა არის კიდევ ამ კონცეფციის პროგრამირებაში ცნობილი როგორც მოვლენები, და ეს არის რაღაც ჩვენ არ ვხედავთ C, ენა ცნობილია როგორც C. ჩვენ ნახავს მიმართ სემესტრის ბოლოს ვებ პროგრამირება, როდესაც ჩვენ დანერგვა JavaScript და ცნება შენობა ვებ გვერდები, რომ დინამიური და შეარჩიონ ერთად მომხმარებლებს. ასე რომ, ამ შემთხვევაში, ჩვენ გვაქვს ძალიან მარტივი მაგალითი ორი sprites, ბიჭი და გოგონა, თითოეული მათგანი აქვს მათი შესაბამისი თემა, მაგრამ რატომღაც ამ ორი შიდა კომუნიკაციის გზით რაღაცის მოუწოდა მოვლენები. ნება მომეცით, წავიდეთ წინ და მიუახლოვდით ბიჭის სკრიპტი, რომელიც ასე გამოიყურება. როდესაც მწვანე დროშა დააწკაპებთ, სამუდამოდ გავაკეთოთ შემდეგი. თუ გასაღები ფართი, ან სივრცეში ბარი, არის დაპრესილი, ამბობენ მარკო ორი წამი, რომ მხოლოდ ესთეტიკური შესახებ ეკრანზე, პატარა სიტყვის ბუშტი, მაგრამ შემდეგ ეთერში. ამიტომ ეთერში კიდევ ერთი Scratch ნაჭერი რომ წარმომადგენელი კლასის ფუნქციონალობას პროგრამირებაში რომელიც საშუალებას აძლევს სხვადასხვა პროგრამები, სხვადასხვა თემა, to შიდა სტატუსი, რათა როგორმე გაგზავნას შეტყობინებები, ერთი. გამსვლელი ნაჭერი ქაღალდი კლასში არის ერთგვარი დაბალი Tech ექვივალენტს. ამიტომ ეთერში ღონისძიება. შემიძლია თუ არა შეტყობინების გაგზავნა, და სიტყვა ღონისძიება სრულიად თვითნებური. Scratch ზოგჯერ აქვს ამ drop Downs, ამიტომ მე მხოლოდ გამოვიდა ერთად შემთხვევითი სიტყვა, როგორიცაა ღონისძიება, ვინაიდან, ახლა, რა ბიჭი აკეთებს როცა დააჭირეთ გასაღები არის ის ეთერში ამ ღონისძიების. და თუ გავითვალისწინებთ ახლა გოგონას Script, მისი სკრიპტი სუპერ მარტივი, რადგან ყველა ის საჭირო არ არის იმოქმედოს, როდესაც მწვანე დროშა დააწკაპებთ. იგი შექმნილია იმისთვის, რომ ქმედება, როდესაც იგი იღებს ციტირებით, unquote, "მოვლენა", და იმ ეტაპზე, მან მოსმენის ამიტომ ამისთვის ე.წ. ღონისძიება ისევ და ისევ. როგორც კი იღებს, რომ ღონისძიება, იგი აპირებს shout პოლო ორი წამი. და ასე რომ თქვენ შეგიძლიათ ალბათ infer ამ ზუსტად რა შემდეგი შედეგი იქნება. ნება მომეცით დააჭირეთ მწვანე დროშა. არაფერი ხდება იმიტომ, რომ მე უნდა გავაკეთოთ, რა? აუდიტორია: ფართი ბარი. DAVID Malan: ფართი ბარი. ბიჭი ამბობს მარკო, გოგონა ამბობს Polo. მაგრამ ეს არ არის მყარი კოდირებული თავისთავად. სწორედ ურთიაერთობა შორის სკრიპტები, ახლა ჩვენ აქვს უნარი, რათა კიდევ უფრო რთული, სადაც ამ ორი როგორღაც შიდა კომუნიკაციის. ასე რომ, თუ რა მიმართულებებით შეიძლება ჩვენ ეს? ისე, პრობლემების კომპლექტი 0, მართლაც, მიზანია დაათვალიერეთ Scratch. იყიდება Hacker გამოცემა, თქვენ ნაცვლად აქვს fun ერთად მეტი დახვეწილი ვერსია Scratch მოუწოდა byob, აშენების საკუთარი Blocks, მაგრამ იდეა იგივეა. თქვენ გექნებათ - დიახ, ეს იყო მიზანმიმართული. იგი მოვიდა Berkeley. Byob არის ჰაკერი გამოცემა ვერსია, მაგრამ ორივე დემოგრაფიას, სტანდარტული გამოცემა და ჰაკერი გამოცემა მსგავსად, მიზანი მხრივ მომავალი კვირის მართლაც მხოლოდ ჩაყვინთვის წელს ღრმა, მიიღოთ თქვენი ხელები ბინძური ერთად პროგრამირების, და მიიღოს რაღაც საინტერესო, მიიღოს რაღაც ინტერაქტიული, მიიღოს რაღაც მხატვრულ, მიიღოს რაღაც გართობა რეალურად დემონსტრირება, რათა მიერ კვირის ბოლოს, თქვენ უნდა პროექტი, არა მხოლოდ თქვენი პირველი CS50 pset, მაგრამ თქვენ არ პატარა რაღაც, რომ თქვენ შეგიძლიათ გამოიჩენენ წელს Annenberg to მეგობრები ან თუნდაც ოჯახის მიერ ატვირთვა მას MIT ნახვა. და ისე, თითქოს მე ვთქვი, ოთხშაბათს, ჩვენ ველით, რომ 90% კლასის, ზოგადად, უნდა გავაკეთოთ სტანდარტული გამოცემები. გააცნობიეროს, რომ არსებობს ასევე ამ outlet იმ თქვენ, რომლებიც შეიძლება სხვაგვარად აღმოჩნდეთ ცოტა შეწუხებული ერთად საფუძვლებს და ნამდვილად გსურთ ჩაყვინთვის და ხელნაკეთობათა ხედვა თქვენ უკვე აქვს წინასწარი ფონზე ამ უფრო მეგობრულ გარემოს. ნება მომეცით, დახევის up ერთი სხვა მაგალითი, რომ ჩვენი ერთი ყოფილი სტუდენტები აქ გააკეთეს და ვუთხრა პატარა რაღაც მეშვეობით სიმღერა. რომ ანალოგიურად, როგორც ეს ნათამაშები, ვიფიქროთ, თუ როგორ წავიდეთ შესახებ ახორციელებს ამ პროგრამის გამოყენებით ზუსტად ამ საერთო შენობა ბლოკები, ცოტა ფსევდო randomness, და ცოტა ნაცნობი სიმღერა. თუ ჩვენ შეგვიძლია დააყენებს მოცულობის მხოლოდ ცოტა? [მუსიკა - "ეს წვიმს MEN" ამინდი GIRLS] DAVID Malan: ეს არის ის ამისთვის CS50. ჩვენ ვხედავთ თქვენ ორშაბათს. [ტაში]