>> [მუსიკალური სათამაშო]
ALLISON BUCHHOLTZ-AU: Hey ყველას.
კეთილი იყოს თქვენი პირველი ოფიციალური CS50 მონაკვეთზე.
როგორც თქვენ, რომ ეს არის სექცია CS50-, უბრალოდ
დახევის up დგას დღეს.
ასე რომ, ვინ ვარ მე, როგორც დარწმუნებული ვარ, თქვენ ყველა კითხვაზე.
მე ვარ თქვენი TF.
მე არ ვარ მხოლოდ შემთხვევითი სტუდენტი ვინ არის impersonating თქვენი TF.
>> და მე ვაპირებ გავლა სახის სექციები შემოვა,
მოლოდინი გვაქვს, რესურსები, ასე და ასე შემდეგ.
ჩვენ ვაპირებთ ვისაუბროთ მასივები, ASCII ფუნქციები, ბრძანების ხაზი არგუმენტები,
და ეს არ არის აქ, მაგრამ მე ასევე ეხმარება
თქვენ სახის ვფიქრობ მეშვეობით თქვენი მომავალი pset ამ კვირაში.
დარწმუნებული ვარ, თქვენ ყველა ვაფასებ.
>> ასე რომ, პირველი კითხვა ვინ ვარ მე, გარდა თქვენი exuberant TF აქ.
მე Alison Buchholtz-Au.
ეს არის ჩემი მეორე წელი TFing CS50.
მე ასევე TF CS51 გაზაფხულზე.
თქვენ შეიძლება, რომ კიდევ ერთხელ არ თუ თქვენ გადაწყვიტეთ მიიღოს იგი.
მე ასევე PAF, ასე რომ ნებისმიერი Freshmen-- და თუ თქვენ არ freshman,
ეს ჩემი მესამე წელი როგორც საკონსულტაციო თანამემამულე.
მე ძალიან კარგად გათვითცნობიერებულნი რჩევები და სიცოცხლის შემსწავლელი კურსები
ფარგლებში CS და არ ფარგლებში CS.
მე ვარ კომპიუტერულ მეცნიერებათა კონცენტრატორი.
მე ვარ უფროსი in Adams სახლი, საუკეთესო სახლში.
და სანამ გადავიდა CS ჩემი მეორე გაზაფხული,
მე რეალურად ბიოსამედიცინო ინჟინერი.
მე ვაპირებ წასვლა Med სკოლა.
მივდიოდი იყოს ტრავმა ქირურგი.
და რომ სრულიად შეიცვალა მას შემდეგ მე მივიღე CS50.
მე მივიღე, რა თქმა უნდა ჩემი მეორე შემოდგომაზე.
ეს იყო ჩემი პირველი შესავალი CS ოდესმე.
მე ვიყავი ერთ-ერთი, 78% თქვენ, რომლებიც იყო ნულოვანი გამოცდილება მოდის,
და ეს სრულიად შეცვალა ჩემი ცხოვრება.
და ახლა მე მუშაობს Microsoft და თქვენი საყვარელი TF.
და CS50 არის ალბათ ერთ ერთი საუკეთესო გამოცდილება
რომ მე მქონდა აქ Harvard-- ორივე აღების კლასი
და მას შეუძლია დაეხმაროს ასწავლიან სტუდენტებს, როგორც თქვენ.
>> ასე რომ მე ნამდვილად აღფრთოვანებული რომ თქვენ ყველა აქ.
იმ შემთხვევაში, თუ მოვიდა ბოლოს, არსებობს candy,
რომელიც თქვენ უნდა გრძნობდეს უფასო მოვა ხელში ჩაგდება, ან გამოაგზავნეთ
ვინმეს უნდა დაიბრუნოს იგი თქვენთვის.
ეს OK.
მე არ მინდა ჭამა, რომ.
ჩემი ოთახი აქვს საკმარისი chocolate, ასე y'all უნდა ვეცადოთ და დასრულდება ეს.
მე ვიცი, რომ 100 ცალი, მაგრამ მინდა, 4 საათზე ორშაბათს,
მე ვფიქრობ, რომ ყველას შეიძლება გამოვიყენოთ შაქარი.
>> ასე რომ, ყველა, ვინც ოფიციალურად ჩემს განყოფილებაში
უნდა მიღებული ელ ჩემთვის და ჩემი ტელეფონის ნომერი,
ელ address-- შეგიძლიათ დაამატოთ me on Gchat, შეგიძლიათ დაამატოთ me on Facebook,
და დანარჩენი თქვენ, თქვენ შეგიძლიათ მომაწოდეთ უფლება აქ.
არსებობს ორი H ს.
ყველას ყოველთვის როგორც ორი L's ან ორი C- ს.
ორი H ს გვარი.
წინააღმდეგ შემთხვევაში, ის აპირებს Bounce, და მე არ ვაპირებ, რომ მიიღოთ თქვენი ელ.
>> ასე რომ, შეგიძლიათ მომაწოდეთ, ჩემთან ნებისმიერ დროს.
მე არ დავუბრუნდეთ თქვენ ფარგლებში 24-ე წუთზე,
მაგრამ მე გპირდებით, რომ დავუბრუნდეთ თქვენ 24 საათის განმავლობაში.
თუ მირეკავენ ნახევარი საათით ადრე თქვენი pset გამო, თქვენ რომ ისევე, როგორც,
მე არ ვიცი, რასაც მე ვაკეთებ, Allison.
დამეხმაროთ.
მე ვაპირებ დასამშვიდებლად თქვენ ქვემოთ, მაგრამ ბოლოს დღეს,
თუ თქვენ მოუწოდებს მე ნახევარი საათით ადრე თქვენი pset გამო, რომელსაც არაფერი წერია,
მე ვაპირებ, რომ იყოს, ასევე, შესაძლოა, ეს დრო უნდა გამოვიყენოთ, რომ გვიან დღეში.
ასე რომ, მე რეაგირება ყველა თქვენი მოთხოვნები ძალიან დროულად.
ჩემი ტელეფონი არის, როგორც წესი, მიმაგრებული ხელები.
მე, როგორც წესი, რეაგირება ბევრად უფრო სწრაფად, ვიდრე 24 საათის განმავლობაში,
მაგრამ მე მხოლოდ შემიძლია გარანტია 24 საათი პასუხი.
>> ყველა უფლება.
ასე რომ, რატომ ვართ აქ?
გარდა ამისა, თუ თქვენ გაქვთ კითხვები ნებისმიერ დროს, გთხოვთ ნება მომეცით ვიცი.
მე გაიგო ბევრი.
მე გაიგო სწრაფი, მაგრამ გთხოვთ მოგერიდებათ შეუშალოს.
ეს მაძლევს სუნთქვის ოთახი ასევე.
ასე სექციები დრო ჩვენთვის მართლაც მხოლოდ dive
ამ, ზოგიერთი პრაქტიკული გამოცდილება, გავლა თემა, რომელიც ჩვენ აღვნიშნეთ
კლასი ან სასწავლო მასალა, რომელიც ჩვენ გირჩევთ, რომ თქვენ ბიჭები ხაზზე.
და ჩვენ, ფაქტობრივად, გავლა ზოგიერთი იმ რესურსების bit.
>> ასე რომ, გარკვეული შენიშვნები მონაკვეთზე მხარდაჭერა.
CS50-- ერთი რამ, რაც ეს ერთი ჩემი საყვარელი კატეგორიები
განცდა, რომ თქვენ არასოდეს მარტო.
ჩვენ გვყავს პერსონალი 100-ზე მეტი ადამიანები, რომლებიც აქ ვართ დაგეხმაროთ.
ჩვენ გვაქვს სამუშაო საათებში ორშაბათიდან ხუთშაბათი.
ასე რომ, არსებობს ამდენი ხალხი, რომელიც მიყვარს კლასის, ისევე როგორც გავაკეთო
და ვინც ნამდვილად აქ იმიტომ, რომ მათ სურთ, რომ აქ.
ყველაზე ჩვენგანი სტუდენტები, და ეს ჰგავს მეხუთე კლასის გარდა
იმ დანარჩენი ჩვენი მუშაობა.
>> და ეს ბევრი სამუშაოა, მაგრამ ჩვენ ამას ვაკეთებთ, რადგან ჩვენ გვიყვარს იგი,
და მართლაც მიყვარს გასწავლით და დავეხმაროთ გავუზიაროთ ჩვენი შფოთვა
ამ თემაზე და ამ კლასში.
ასე რომ, გთხოვთ ისარგებლოს.
მოდის გველაპარაკება.
მე მარტოხელა როცა ჩემი სტუდენტები არ გაიგო, რომ ჩემთვის, ასე რომ, თუ გსურთ,
მოდის გათიშეთ out ჩემთან ერთად.
ეს იქნება დიდი.
>> ასე მონაკვეთზე აშკარად ერთი თქვენი ყველაზე დიდი რამ.
ჩვენ გავლა რამ რომ თქვენ შეიტყო ლექცია,
დაკავდით მოკლე მაგალითები როდესაც ჩვენ გვაქვს დრო,
და ზოგადად სახის მიიღოს იდეა რამ
თქვენ უნდა ფიქრი შესახებ თქვენი პრობლემა კომპლექტი.
Shorts-- რამდენი ადამიანი რეალურად ვუყურე ვიდეო თქვენი ნულიდან
მოკლე?
ვინმეს აღიარებს მე?
ასე რომ ეს არის ძალიან დიდი.
უნდა აუცილებლად უყურებს იმ.
ბევრი სამუშაო იქნა მათ.
და ისინი მხოლოდ იმას ნიშნავდა, რომ იყოს bite ზომის დარტყმები თქვენ უბრალოდ უყუროთ
სამი ან ოთხი წუთი და მიიღოთ უკეთესი გაგება კონცეფცია.
ფეხით throughs-- როგორ ბევრი ადამიანი არ უყურებს
მსვლელობა throughs წინა პირობა?
Zamyla არის საოცარი, არა?
მინდა, მე არა ვარ Zamyla ზოგჯერ.
ასე რომ, ნამდვილად გამოიყენოთ თქვენი მსვლელობა throughs.
იგი შესვენება მას შევიდა პატარა, bite ზომის დარტყმები.
და როდესაც თქვენ ამ დიდი სპეციფიკაციები თქვენი პრობლემა კომპლექტი,
ეს იქნება მართლაც მნიშვნელოვანია შეძლებს მხოლოდ სადმე
დაიწყოს და მუშაობს ნელა მეშვეობით.
>> ყველა უფლება, ჩვენ ასევე გვაქვს Study50, რომელიც არის study50.harvard.edu, მე მჯერა.
შეგიძლიათ Google შესწავლა, და ეს თქვენ ამუშავება.
ეს არის ერთ-ერთი საუკეთესო რესურსი გვაქვს.
ეს არის PowerPoints შენიშვნები და პრაქტიკა პრობლემები თქვენთვის
გადაწყვეტილებები, რომ თქვენ შეგიძლიათ რეალურად ფეხით მეშვეობით.
ასე რომ, თუ გინდათ, რომ ოდესმე მეტი პრაქტიკა, მეტი, ვიდრე ჩვენ ვაკეთებთ სექციები ან მეტი
ვიდრე თქვენი პრობლემა კომპლექტი, ეს არის ნამდვილად ადგილზე მე მოგიწოდებთ თქვენ წავიდეთ.
იგი აშენდა შარშან ზოგიერთი ჩემი ძალიან კარგი მეგობარი.
და ეს საოცარი.
სინამდვილეში, ბევრი სლაიდები რომ მე გამოყენებით სექცია
მოვა Study50.
>> ასე რომ, ბევრი TFs გამოიყენოს იგი.
და ბოლოს, როგორც მე აღნიშნული, საათებში.
თუ თქვენ მქონე უბედურება საშინაო დავალება, თქვენ
მქონე უბედურება ერთად კონცეფცია, მოვიდა საათებში.
ტურიზმი ადრე კვირაში თუ შეგიძლიათ.
გავიდნენ quad, იმიტომ, რომ ეს არის ერთგვარი თარიღი.
არავის არ უყვარს ფეხით out არსებობს.
მაგრამ ეს თქვენი უპირატესობა, იმიტომ, რომ მაშინ თქვენ
აპირებს ყველა ამ TFs, [INAUDIBLE] გარს თქვენ.
და, განსაკუთრებით, ახლა, მხოლოდ წვერი, ხუთშაბათს
ძალიან chill ახლა Mather, რადგან თქვენს psets
არის იმის გამო, ხუთშაბათს.
და იცის, სურს გამოიყენოთ თქვენი გვიან დღით ამჟამად.
>> ასე რომ, თუ თქვენ მქონე პრობლემები ცნებები,
არსებობს უამრავი TFs რომელიც არსებობს, რათა დაგეხმაროთ.
ასე გამოვა Mather ხუთშაბათს.
თუ თქვენ გვინდა, რომ ჩემთვის, მე ვაპირებ, რომ არსებობს.
მე, როგორც წესი, აკეთებს საკუთარი საშინაო დავალება, რადგან არავის არ სურს ჩემი დახმარება.
ასე რომ მოვა დანახვა.
>> ჩვენთან შესახვედრად შუა ნაწილამდე იყვნენ.
ასე რომ, რამდენი ადამიანი დაესწრო ლექცია და უყურებს მას online?
რამდენი ადამიანი მივიდა სუპერ მონაკვეთზე გასულ კვირას?
ზემოთ.
რომ რეალურად სამართლიანი ნომერი.
რამდენი წავიკითხე თქვენი სპეც ამ კვირაში, თქვენი pset?
Ooh, მე ვამაყობ თქვენ ბიჭები!
უფრო კამფეტი y'all.
>> კარგი, ასე რომ, თუ რას ვგულისხმობთ "ჩვენთან შესახვედრად შუა ნაწილამდე იყვნენ", არის
რომ სექციაში მართლაც მხოლოდ იქნება სუპერ სასარგებლოა თქვენთვის
თუ მოვიდა, რომელმაც წაიკითხა თქვენი დაზუსტება თქვენი pset.
რადგან, როდესაც მე გავლა მიმოხილვა რამ თქვენ უნდა ეძებს out for,
ის არ აპირებს იმდენი გრძნობა თუ
არ ვიცი, რა თქვენი პრობლემა კომპლექტი იქნება თქვენ გეკითხებით უნდა გააკეთოს.
>> თუ არ მოვა განყოფილებიანი, აშკარად მე არ შემიძლია, რომ სასარგებლოა თქვენთვის.
მე არ ვაპირებ მას პირადად თუ თქვენ არ მოდის ჩემს განყოფილებაში, ახლა,
მაგრამ აუცილებლად უნდა.
თუ თქვენ ვერ, უყუროთ მათ ამჟამად.
ისინი იქ მიზეზი.
ნაღმი უფლება არსებობს.
როგორც თქვენ შეამჩნევთ, ჩვენ ჩაწერა, ასე რომ ეს იქნება სწორი იქ თქვენ ბიჭები.
ასევე, აპირებს lectures-- რომ აშკარად
სადაც თქვენ მისაღებად დაიწყოს თქვენი მატერიალური აქ.
ასე რომ, მე ნამდვილად ვცდილობთ და დაგეხმარებათ, როგორც მე მინდა,
მაგრამ მე მხოლოდ თქვენთან შეხვედრა ჯერჯერობით.
თქვენ უნდა სახის ჩვენთან შესახვედრად შუა ნაწილამდე იყვნენ იქ.
>> Grading-- ასე, ყველას რომელიც მივიღე ელ ჩემთვის,
თქვენ ხართ ჩემი ოფიციალური მონაკვეთზე.
მე იქნება თქვენი შეფასების psets.
და მე მინდა ვთქვა, რომ ერთი რამ, თქვენ უნდა ნამდვილად ყურადღება მიაქციონ
კომენტარებს.
კომენტარები ხშირად უფრო სასარგებლო ვიდრე რეალურ ანგარიშით ჩვენ მოგცემთ.
და კომენტარები რეალურად სადაც ვატარებ ბევრი ჩემი დრო
როდესაც მე შეფასების.
ასე რომ, მე ვაფასებ ის, თუ წაიკითხავთ.
და ისინი, ფაქტობრივად, თუ როგორ ვაპირებთ უნდა ვისწავლოთ უფრო მეტი დიზაინი და სტილი
და რაც არის ცოტა ნაკლები cut და მშრალი.
>> ასე რომ, მართლაც ყურადღება მიაქციონ იმ კომენტარი.
თუ თქვენ გაქვთ შეკითხვები, მათ შორის, ან შეკითხვები თქვენი ანგარიშით,
გთხოვთ, მოვიდა გაიგო ჩემთვის ან სანამ განყოფილებიანი,
მე ალბათ ჩამოკიდებული ლობის შემდეგ.
თუ გსურთ დანიშნოს ერთ-ერთი შეხვედრები შესახებ, თუ როგორ
თქვენ შეგიძლიათ დაეხმაროთ გამოსწორდება პრობლემა კომპლექტი, უბრალოდ ნება მომეცით ვიცი.
>> და მაშინ მხოლოდ რამდენიმე რჩევები ბიჭებს.
ასე რომ, ერთი ყველაზე დიდი რამ, მე ყოველთვის ხაზს უსვამს, რომ ჩემს განყოფილებაში
როდესაც თქვენ სწავლის როგორ კოდექსით, დაწერა ნივთების ქაღალდზე პირველი.
თუ თქვენ გაქვთ თამაშის გეგმა სადაც თქვენი კოდი უნდა წავიდეს
და რა სჭირდება ამის გაკეთება და ეს ჩაიშალა
შევიდა პატარა ბიტი pseudocode კოდი თქვენ წერილობითი,
თქვენ იქნება ნაკლები სავარაუდოა, რომ სინტაქსური შეცდომების
ან შექმნათ თუ ციკლი, რომელიც არ აქვს სხვას.
თუ იცით, სადაც თქვენ აპირებს, საერთო ჯამში, თქვენ
ნაკლებად სავარაუდოა, რომ ეს პატარა შეცდომებს, რომ ზოგჯერ თქვენ
საათი დაფიქსირება, რადგან თქვენ, როგორიცაა, სადაც მე ვერ გავიგე ეს bracket?
>> რომ შენიშვნა, გთხოვთ გამოიყენოთ style50.
განსაკუთრებით მაშინ, როდესაც თქვენ აპირებს საათებში,
თუ თქვენი კოდი ყველა გადავიდა, ერთი მხრივ,
ეს არის, რა თქმა უნდა პოლიტიკა შეიძლება ითქვას, გაასწორონ ის
ასე, რომ როგორც ჩანს style50 ამბობს ეს უნდა, და მაშინ ჩვენ დაგეხმარებით.
ასე რომ თქვენ თქვენი ცხოვრება უფრო ადვილია.
ეს თქვენ, რათა ჩვენი ცხოვრება უფრო ადვილია.
ყველას ბედნიერი.
ყველას იღებს უკეთესი შეფასება.
არ არის, რომ ჩვენ ყველას გვინდა?
>> ასე წერენ რამ ქაღალდზე ადრე ოდესმე შეხება თქვენს კომპიუტერში.
გაიგო რამ out მაღალ დონეზე, და დარწმუნდით, რომ თქვენ იცით, სადაც თქვენ აპირებს.
და თუ თქვენ იცით, დასხდნენ ვინმე
და ფეხით მეშვეობით ეტაპობრივად რა თქვენი კოდი უნდა გავაკეთოთ.
ცხრა ჯერ გარეთ 10, თქვენ უნდა როგორიცაა, oh, დამავიწყდა თუ მდგომარეობა
ან დამავიწყდა მძიმით აქ და მე განახლებაზე ეს ცვლადი არასწორია.
ასე რომ, ეს არის ჩემი რჩევა წარმატებისთვის.
>> ასე რომ, რადგან დაახლოებით ნახევარი გადავხედავთ როგორც თქვენ დაესწრო super განყოფილებიანი,
მე უბრალოდ აპირებს ძალიან მოკლედ გავლა მარყუჟების,
რომელიც არ იყო ჩვენი პირველი დღის წესრიგში.
მაგრამ ისინი მართლაც მნიშვნელოვანია.
და ისე მე ვაპირებ სახის სიჩქარე მეშვეობით,
სანამ შეღწევას ჩვენი ფაქტობრივი მონაკვეთზე.
ადრე გავაკეთო, რომ არსებობს ნებისმიერი questions-- ლოჯისტიკური,
პირადად, არსებობს არაფერი გსურთ
ვიცი, ჩემზე ან შესახებ სექციაში ან კლასის ზოგადად?
ყველა კარგი?
OK, ზემოთ.
ლამაზი.
>> ასე მარყუჟების თქვენ ბიჭები ყველამ უნდა აღიარებს ამ ცალი ნულიდან.
ასე მარყუჟების ძირითადად მხოლოდ ჩვენთვის, რომ რამე
გარკვეული რაოდენობის ჯერ, ზოგიერთი მეორდება მოქმედების გარკვეული პირობით.
ასე რომ, ჩვენ გვაქვს სამი სხვადასხვა ტიპის.
ჩვენ გვაქვს ამისთვის მარყუჟის, ხოლო, და ნუ ხოლო.
>> ასე რომ, მარყუჟების, ჩვენ უბრალოდ ძალიან ზოგადი განლაგება აქ ამისთვის loop.
და ეს არის დიდი, როდესაც თქვენ იცით, თუ როგორ ბევრჯერ რაღაც უნდა შეასრულოს.
როდესაც ვსაუბრობთ სხვა მარყუჟების, თქვენ
, თუ რატომ არის მნიშვნელოვანი განსხვავება.
მაგრამ ამისთვის მარყუჟების არის რაღაც კომპლექტი.
თქვენ იცით, რომ თქვენ შეგიძლიათ ან გამოთვლა
ან თქვენ იცით, რამდენჯერმე გვინდა, რომ ეს განმეორდეს დასაწყისში.
>> ასე რომ, თუ ხედავთ, რომ ჩვენ აქვს მხოლოდ ზოგადი სახის
ჩონჩხი ფარგლებში ამისთვის ამისთვის loop აქ.
ასე რომ,-ინიციალიზაციისას, ეს არის სადაც თქვენი ცვლადები ინიციალიზაცია.
მარიო, დარწმუნებული ვარ, ბიჭები გააკეთა რაღაც int i = 0.
სწორედ აქ რომ მოხდებოდა ლურჯი.
თქვენ გაქვთ თქვენი მდგომარეობა, რომელიც არის ის, რაც შემოწმდება ყოველ ჯერზე.
თუ ეს მდგომარეობა არის ჭეშმარიტი, მაშინ დანარჩენი კოდი ახორციელებს.
მაშინ ის ყველაფერს აწარმოებს ერთხელ და ვთხოვთ.
და მაშინ ჩვენ გვაქვს განახლება, სადაც თქვენ განახლება თქვენი ცვლადი.
ასე რომ, კიდევ ერთხელ, Mario, დარწმუნებული ვარ, თქვენ ბიჭები გააკეთეს რაღაც მსგავსი i plus plus.
ასე რომ, ყოველ ჯერზე loop გაიქცა, მე მივიღე მხრიდან ასე
რომ როდესაც ჩვენ შემოწმების წინააღმდეგ ზოგიერთი მდგომარეობა, იცვლება.
>> რადგან თუ მხოლოდ აქვს სტატიკური ცვლადი,
თუ იგი ახორციელებს პირველად, ის უბრალოდ აპირებს შეასრულოს უსასრულოდ.
ასე რომ თქვენ უნდა დავრწმუნდეთ, რომ თქვენ განახლება თქვენი ცვლადი სწორად.
და ჩვენ ასევე გვაქვს მხოლოდ ვიზუალური წარმომადგენლობა არსებობს.
ყველას კარგი?
ამისთვის მარყუჟების.
უნდა გენახათ, ამ თქვენს pset.
ზემოთ.
>> ასე რომ, აქ მხოლოდ მარტივი მაგალითია.
ბეჭდვა ეს არის CS50!
10 ჯერ.
ასე რომ, ჩვენ გვაქვს ჩვენი ინიციალიზაციისას, როგორც ვხედავთ, იქ, int i
უდრის 0, i ნაკლებია, 10, და მე plus plus.
და ეს კიდე ბეჭდვა, რომ 10-ჯერ.
>> ასე რომ, ხოლო მარყუჟების, ხოლო მარყუჟების დიდი, როდესაც თქვენ არ არის აუცილებელი
უნდა იცოდეს, რამდენჯერ არის აპირებს განაახლოს დასაწყისში.
თქვენ უბრალოდ უნდა გარკვეული პირობით, რომ შეამოწმეს.
და ეს შეიძლება იყოს რაღაც while-- ავიღოთ მაგალითი თქვენი pset.
თუ Mario, თქვენ ცდილობენ შეყვანის უარყოფითი რიცხვი.
არა?
თქვენ უნდა ხელახლა გამოიწვიოს თქვენი მომხმარებლები.
ასე, რომ თქვენ შეიძლება ითქვას, ასევე, თუ მომხმარებლის საშუალებებით რაღაც ნაკლები ნულოვანი, ხელახლა სწრაფი
მათ.
და დარწმუნებული ვარ, რომ, შესაძლოა, რაღაც, რომ ზოგიერთი
გამოიყენება თქვენი კოდი.
>> ასე რომ, ეს მარტივი რამ.
თქვენ უნდა პერიოდის განმავლობაში, ზოგიერთი პირობითი, რომელიც ამოწმებს
ყოველ ჯერზე კოდი მიდის შეასრულოს.
თუ იგი აფასებს მართალია, ჩვენ აწარმოებს.
წინააღმდეგ შემთხვევაში, ჩვენ არ.
და რა არის ნამდვილად important-- რაღაც მე
ვფიქრობ, რომ დავით ისაუბრა in lecture-- არის braces.
როგორიც არ უნდა იყოს ის ფარგლებში braces არის ის, რაც შესრულებული.
თუ თქვენ დაგავიწყდებათ იმ braces, ეს მხოლოდ აპირებს
უნდა იყოს ხაზი პირდაპირ შემდეგ, როცა მოკლეს.
>> ასე რომ, თუ თქვენ გაქვთ სამი რამ, რაც უნდა
ხდება, როდესაც ამ მდგომარეობა აფასებს ჭეშმარიტი,
და არ აქვს იმ braces, მხოლოდ პირველი, რაც უნდა მოხდეს.
ასე რომ ძალიან ვიცოდეთ, სადაც თქვენ განათავსოთ თქვენი braces.
თუ თქვენ გამყარებაში style50, ეს აუცილებლად დაგეხმაროთ.
ზემოთ.
>> ასე რომ ეს არის countdown 10 ნულოვანი.
და როგორც ხედავთ, აქ, ჩვენ ინიციალიზაცია ზოგიერთი counter გარეთ.
ერთი რამ, რომ სხვადასხვა არის ჩვენ არ ინიციალიზაციისას ჩვენი ცვლადი
ჩვენს ხოლო loop.
ის ინიციალიზაცია გარეთ.
ჩვენ უბრალოდ აყენებს მდგომარეობა ჩვენი ხნით.
ასე რომ, ამ შემთხვევაში, ეს მაშინ, როცა რაოდენობა ნულზე მეტი.
და ჩვენ ამობეჭდოთ რა ჩვენი რაოდენობა, და მაშინ ჩვენ decrement ჩვენი ცვლადი.
და ეს კიდევ ერთი რამ შეამჩნია.
ჩვენი განახლება არ მოხდეს რომ პირველი ნაწილი, ხოლო loop.
რეალურად მოხდეს აფრთხილებს, ორგანოს თქვენი ტექსტი.
>> ასე რომ, ხოლო მარყუჟების, ხოლო მარყუჟების დიდი შესახებ დადასტურება.
ასე რომ ზოგიერთი თქვენ შეიძლება ჰქონდეს ასევე გამოიყენება ეს თქვენი pset.
შეიძლება ითქვას,, ისევე, ვთხოვთ მომხმარებელს შეყვანის.
და შემდეგ, ხოლო, ისევე, შეყვანის ნაკლები გარკვეული რაოდენობის.
>> ასე მკაფიოდ შემთხვევაში Mario, ის იქნება არ printf, შეიტანეთ რიცხვი,
და მერე რაღაც რიცხვი შეადგენს GetInt.
და შემდეგ ეს, ფაქტობრივად, შეასრულოს, რომ კოდი, პირველ რიგში.
თქვენ რეალურად აქვს გარკვეული რიცხვი.
და მაშინ შეიძლება ითქვას, რომ მიუხედავად იმისა, ეს რიცხვი ნაკლებია, ვიდრე ნულოვანი.
ასე თუ რას ვაპირებთ გავაკეთოთ არის ის, აპირებს შეასრულოს ერთხელ მაინც.
ის აპირებს შეამოწმოს მდგომარეობა.
თუ მდგომარეობა მართალია, ის ყველაფერს აწარმოებს ერთხელ.
>> ასე რომ, ხოლო მარყუჟების დიდი შესახებ დადასტურება,
იმიტომ, რომ თქვენ იცით კოდი აპირებს შეასრულოს მინიმუმ
ერთხელ, ხოლო ერთად ხოლო მარყუჟების, თქვენ არ
გარანტირებულია, რომ ეს აპირებს შეასრულოს ერთხელ.
ის აპირებს შეამოწმოს მდგომარეობა პირველი და შემდეგ გადაწყვიტოს, შეასრულოს ის,
ხოლო do- ხოლო იქნება შეასრულოს კოდი პირველი
და შემდეგ შეამოწმოს, არის თუ არა თქვენ უნდა გავიმეოროთ.
აკეთებს, რომ განსხვავება აზრი, რომ ყველასთვის?
OK.
ზემოთ.
>> ასე რომ, ამ შემთხვევაში, ეს არის ერთგვარი რა იყო ლაპარაკი,
ამ ხელახალი მოთხოვნა, სანამ დადებითი რიცხვი.
ჩვენ ვიცით, რომ printf "შევა დადებითი რიცხვი"
და რეალურად ითხოვს, რომ შეყვანის მოხდება ერთხელ მაინც.
თუ მომხმარებელი არის ბოროტი და ინარჩუნებს შესვლის უარყოფითი რიცხვი, რომელიც
იცის მერამდენედ ეს თქვენ შეასრულოს.
მაგრამ ეს კოდი გარანტირებულია რათა შესრულდეს ერთხელ მაინც.
და ამიტომაც ეს არის დიდი ახალი წევრები შეყვანა.
და უნდა გამოიყენოთ, რომ საკმაოდ მწირი.
>> ყველა უფლება, ნებისმიერი შეკითხვა აქამდე?
ჩვენ ყველა კარგი?
მე საუბარი ძალიან სწრაფად?
ჩვენ კარგად?
OK.
გასაოცარია
>> ამიტომ, ჩვენ ვაპირებთ, რომ წავიდეთ წინ და ვისაუბროთ მასივები.
ზემოთ.
ასე კოლექტორები არიან ძირითადად მხოლოდ მონაცემთა სტრუქტურები
რომელიც საშუალებას მოგვცემს შესანახად რამ იგივე ტიპის.
ასე რომ, თუ თქვენ ოდესმე მასივი, ის ან უბრალოდ აპირებს ints
ან უბრალოდ აპირებს მოძრავი ან ის უბრალოდ აპირებს სიმბოლო.
თქვენ არ აპირებს int ერთად char ერთად მიმოქცევაში ორმაგი.
ერთი რამ.
კოლექტორები მხოლოდ ერთი ზომა, ან ისინი მხოლოდ ერთი ტიპის.
>> ასე რომ აქ გვაქვს მასივი ზომა სამი სამი რიცხვებით მას.
მათ შეეძლოთ მოძრავი, მაგრამ ჩვენ ვაპირებ ვთქვა, რომ ისინი ints.
ასე რომ, ერთი რამ უნდა გვესმოდეს, რომ კოლექტორები კომპლექტი ზომა, როდესაც თქვენ ინიციალიზაცია
მათ, და ისინი არ easily-- მას შემდეგ, რაც ყველა, ნაკლებად კომფორტული,
თქვენ უნდა მხოლოდ ვფიქრობ, რომ მათ არ მიმდინარეობს შეუძლია გაავრცელოს ზომა.
თუმცა დიდი გადმოცემულია თქვენი მასივი დასაწყისში,
ეს არის ის, ზომა ის აპირებს დარჩენა, რადგან მასივები
უწყვეტი ბლოკები მეხსიერება.
და როდესაც თქვენ ბიჭები მისაღებად და ცოტა მეტი
როგორ მეხსიერება რეალურად ასახული დისკები და ბევრი და დასტის,
ეს თქვენ, რომ ცოტა მეტი გრძნობა.
>> მაგრამ თქვენ შეიძლება ფიქრობთ, მსგავსი, ეს უბრალოდ ზედიზედ ფართები თქვენს დისკზე.
და თქვენ ვერ უზრუნველყოფს, რომ იქ იქნება თავისუფალი სივრცე შემდეგ.
თქვენ ვერ ვრთავ მასივი სამი და შემდეგ იქნებ
ვრთავ სხვა მასივი ხუთ მოგვიანებით, და ეს მას შემდეგ, რაც, რომ.
ასე რომ, თუ წასვლა ბოლო ადგილზე სამი რომ პირველ მასივი,
თქვენ წერილობით მეტი რაღაც.
ასე რომ კოლექტორები are-- შენ, უბრალოდ, ვფიქრობ, რომ მათ ფიქსირებული ზომა.
>> ასე შექმნა მასივი თქვენ აპირებს უნდა გავაკეთოთ საკმაოდ მწირი.
ასე რომ, იმ გზით, რომ ჩვენ გვაქვს ზოგადი სტრუქტურა ჩვენი მარყუჟების,
ჩვენ ლამაზი ზოგადი სტრუქტურა ჩვენი მასივი.
იმიტომ, რომ ისინი ერთი ტიპის ყველა ელემენტების მასივი არის ერთი ტიპის,
თქვენ უნდა ინიციალიზაცია რა, რომ ამ სახის არის.
>> ასე რომ, როგორც ხედავთ, ჩვენ გვაქვს ლამაზი პატარა bracket მონაცემები ტიპის.
ასე რომ, თუ ჩვენ შექმნის int მასივი, რომელიც იქნება int.
თუ ჩვენ შექმნის char array, ეს იქნება char.
თუ ჩვენ შექმნა string array, ეს იქნება სიმებიანი.
და მაშინ მიუთითეთ თქვენი მასივი, რასაც თქვენ მინდა, რომ იყოს.
იქნებ ეს ტესტი ქულა ან იქნებ ეს სტუდენტები და, შესაძლოა, ეს candy.
რასაც თქვენ გადაწყვიტეთ უნდა დაასახელოს მასივი, რომ ის, რაც უნდა იყოს.
>> და შემდეგ ფრჩხილებში, თქვენ აქვს ზომის, რომ გსურთ.
ასე რომ, ჩვენ მოგროვებისა 10 სტუდენტი ან ჩვენ შენახვის 15 ტიპის candy?
რა არა.
ასე, რომ ჩვენს მაგალითში, ჩვენ შექმნის მასივი
ზომა სამი, რომელიც თქვენ ბიჭები , სწორედ აქ უფლება.
როდესაც ჩვენ პირველად ინიციალიზაცია ის, ყველაფერი არის ნულოვანი.
ასე რომ, ეს უბრალოდ ეგონა, მოსწონს ცარიელი ფურცლიდან.
ჩვენ ყველა ამ ფართების, ჩვენ გვაქვს ყველა ეს ყუთები ჩვენ ვერ დააყენა ჩვენი მონაცემებით შევიდა,
მაგრამ ისინი მხოლოდ ცარიელი ამ დროისათვის.
>> ასე რომ, თუ ჩვენ გვინდა რეალურად მივანიჭოთ მათ ამ ღირებულებების,
გავაკეთოთ, რომ უფლება აქ გვიჩვენებს.
ასე რომ თქვენ უნდა რაც არ უნდა სახელი თქვენი მასივი და შემდეგ რა ინდექსი გსურთ.
ასე ინდექსი უბრალოდ ეხება, ისევე, როგორც, რა სლოტი ჩვენ შევხედავთ.
და მნიშვნელოვანი რამ შეამჩნია ის არის, რომ კოლექტორები არის ნულოვანი ინდექსირებული.
ასე რომ, თუ გვინდა, რომ პირველი სივრცის მეხსიერება ჩვენი მასივი, ეს იქნება ნულოვანი.
თუ ჩვენ გვინდა, მეორე, ეს უნდა იყოს ერთი.
თუ ჩვენ გვინდა მესამე, ეს იქნება ორი.
ასე შემდეგ და ასე შემდეგ.
>> რომელიც არის მიზეზი, პირობითად, როდესაც ვაკეთებთ მარყუჟების, დარწმუნებული ვარ,
თქვენ ბიჭები გაინტერესებთ, რატომ არ ვიწყებთ 0 წინააღმდეგ 1?
და ეს იმიტომ, რომ, როდესაც ჩვენ გადასვლას შევიდა გამოყენებით მასივები, რომ რუკები სწორად.
ასე რომ, თუ გსურთ iterate მასივი, ის
რაც ბევრი უფრო გრძნობა შემიძლია უდრის 0, რადგან ჩვენ
ვიცი, რომ შეესაბამება პირველი ადგილზე მეხსიერებაში.
ყველას კარგი რომ?
ზემოთ.
>> და მერე ბოლოში აქ არის კიდევ ერთი გზა ინიციალიზაცია მასივი.
თქვენ კვლავ მონაცემთა ტიპის და სახელი,
მაგრამ ნაცვლად რეალურად აყენებს ზომის არსებობს,
შეგიძლიათ უბრალოდ ცარიელი ფრჩხილები.
და შემდეგ ამ curly braces ბოლოში,
თქვენ შეგიძლიათ უბრალოდ, რომ მონაცემები, რომ გსურთ მძიმით.
და რომელიც ავტომატურად იტყვით, რომ მე ვერ ვხედავ
რომ თქვენ გაქვთ სამი რამ ამ braces.
ასე ვიცი, რომ მე უნდა გამოყოს სამი ბლოკები მეხსიერების და შემდეგ შესანახად იმ.
>> ასე რომ, პირველი ვერსია, რაც შეიძლება გამოიყენოს თუ თქვენ ითხოვს თქვენი შეყვანის
ღირებულებები, ასე რომ შეგიძლიათ iterate მეშვეობით მასივი
და ask-- მიიღოთ გარკვეული int შეყვანის მათ.
თუ იცით ღირებულებების წინასწარ, ეს ხდის უფრო გრძნობა
უნდა გამოვიყენოთ მეორე გზა.
მაგრამ უმეტეს შემთხვევაში, თქვენ შეიძლება არ ვიცი რა იმ ღირებულებებს იქნება.
ზემოთ.
ნებისმიერი სხვა კითხვები?
კარგად.
>> ასე წვდომის ელემენტები ისე, ერთი დიდი რამ შესახებ კოლექტორები
არის, რომ ისინი შემთხვევითი ხელმისაწვდომობა, რაც იმას ნიშნავს, რომ თქვენ
არ უნდა გაეცნონ ყველა ბლოკი.
თუ თქვენ იცით, რომ თქვენ მინდა რა ბლოკი ორი,
შეგიძლიათ უბრალოდ, ვამბობთ, მომეცი ბლოკირება ორი.
და ამიტომ ეს მაჩვენებლები იმდენად მნიშვნელოვანია,
და ეს როგორ ჩვენ რეალურად მათ.
ასე რომ, ამ შემთხვევაში, როგორც დავინახეთ, ადრე, როდესაც ჩვენ მინიჭების ღირებულებები, რომელიც ერთი
ადრე გვქონდა სახელი და ინდექსი გვინდოდა ხელმისაწვდომობა, არა?
ასე რომ, იგივე გზა, რომ ყველა ჩვენ ამის გაკეთება რეალურად გაიყვანოს, რომ მონაცემები out.
ჩვენ გვაქვს სახელი და ჩვენ აქვს ინდექსი, რომ ჩვენ გვინდა.
>> ასე რომ, ამ შემთხვევაში, ამისთვის loop ქვემოთ აქ ბოლოში, არავის
ვიცი, რასაც ის აკეთებს, რა იქნებოდა ამობეჭდოთ?
Mmhmm?
ზუსტად.
ისე ჰო, უბრალოდ iterating მეშვეობით.
მე უდრის ნულოვანი შევძლებთ მეშვეობით კოდი უბრალოდ სწრაფად.
i ნულის ტოლია, i ნაკლებია, მეტი, ვიდრე სამი, ამ ეტაპზე, არა?
ასე რომ ამოწმებს.
და ვამბობთ, OK, ბეჭდვითი ვ რაც არის ტემპერატურის i.
i არის ნულოვანი უფლება აქ, როდესაც ჩვენ პირველად iterate, ამიტომ ჩვენ ამ პირველ ადგილზე,
და ვამბობთ, OK, 65 ნომერი გვინდა ამობეჭდოთ.
ასე რომ, ეს ამობეჭდოთ 65 და შემდეგ გააკეთოს ახალი ხაზი.
i განახლება, ასე რომ ბეჭდავს 87.
განახლებები კიდევ ერთხელ, და ეს კიდე ბეჭდვა 30.
ყველას მაგარი?
გასაოცარია.
>> ყველა უფლება.
ასე რომ, აქ არის სახის ერთი რაც მე ამბობდა თუ როგორ
თქვენ შეგიძლიათ შეინახოთ სიმღერა ვინმეს ანგარიში და რატომ
თქვენ უნდა გამოიყენოთ პირველი გზა ინიციალიზაციისას იგი
ნაცვლად, რომ მეორე გზა.
და ეს უბრალოდ გადის.
და შეამჩნია გვაქვს კლასი ზომა 30.
და ჩვენ ინიციალიზაციისას ამ მასივი ints, რომ არის ზომა 30.
და მაშინ ჩვენ iterating მეშვეობით და ჩვენ
ეკითხება მომხმარებელს შეყვანის ქულა თითოეული ამ
და შემდეგ იმის, რომ ეს კონკრეტული ადგილი მეხსიერება
სადღაც, რომ მასივი.
მაგარი?
ამჯამად რომ აზრი ყველას?
Mmhmm?
>> ასე hashtag განსაზღვროს კლასი ზომა 30 preprocessor დირექტივა,
რომელიც მხოლოდ იმას ნიშნავს, რომ gets-- მას აქვს უნდა გავაკეთოთ, როგორიცაა შედგენა პროცესი.
შეგიძლიათ წარმოიდგინოთ, რომ ეს გლობალური ცვლადი.
გზა გავაკეთოთ ეს typically-- ეს საშუალებას თქვენი კოდი
უნდა იყოს უფრო ადვილად შეიცვალოს.
მოდით ვთქვათ, რომ ჩვენი კლასი ზომა მოულოდნელად მიდის 30-დან 15
თუ არ მქონდა განსაზღვრული, რომ ამ გზით, მე უნდა გაიაროს მთელი ჩემი პროგრამა
და შეცვალოს ყველა ინსტანციაში 30 15.
მაგრამ ეს, მე შეცვლის ადგილზე, და ყველაფერი ცვლილებების.
>> თუ თქვენ ოდესმე გვინდა, რომ გავაკეთოთ hash განსაზღვრავს იმ შემთხვევაში,
სადაც თქვენ შენახვა სიმღერა ზოგიერთი მითითებული რაოდენობის ქულა კლასი
ან თქვენ იყენებთ ნომერი რომელიც გამოყენებული იქნება, ისევე,
მთელი ძალიან დიდი პროგრამა, ეს უკეთესი განმარტავენ, რომ დასაწყისში
ასე რომ, თუ ოდესმე იცვლება, თქვენ შეცვლის ადგილზე ნაცვლად 100.
დიახ?
>> სტუდენტი: Between აკეთებს, რომ და მხოლოდ გამოცხადების [INAUDIBLE] მეტი ზედა.
>> ALLISON BUCHHOLTZ-AU: ასე რომ, უნდა გააკეთოს efficient--
ეს ერთგვარი ფარგლებს გარეთ ის, რაც ჩვენ შეიძლება დაფაროს ამ სექციაში.
მას აქვს უფრო მეტი ეფექტურობა და როგორ რეალურად
მუშაობა შედგენა პროცესი.
თუ გვინდა, რომ ნამდვილად ვიცი, ამის შესახებ, მე ბედნიერი ვარ, რომ თქვენ უნდა
ელ რესურსების შესახებ.
Hash განსაზღვრავს tends უნდა იყოს სასურველი რამ.
და როგორც თქვენ კოდი უფრო, სახის ვისწავლოთ ნიუანსები
როდესაც თქვენ უნდა გამოიყენოთ გლობალური წინააღმდეგ hash განსაზღვრავს.
მაგრამ ამ დროისათვის, თქვენ ნამდვილად არ აქვს
ფიქრი, რომ ეს არის რომ მოკლე პასუხი.
ყველას კარგი რომ?
და ასევე, თუ გსურთ გამოყენება hash განსაზღვრავს,
ეს მართლაც მნიშვნელოვანია აღვნიშნოთ, რომ სახელი უნდა იყოს ყველა caps.
ჩვენ არა მხოლოდ აკეთებს კლასი ზომა უნდა იყოს დრამატული.
რეალურად უნდა იყოს ყველა caps.
ზემოთ.
არაფერი არსებობს?
ჩვენ კარგად?
ლამაზი.
მოგესალმებით.
>> OK, ასე რომ, მინდა ბიჭებს შეხედეთ ამ და ვხედავ თუ შეგიძლიათ bug.
მე გიპასუხოთ.
ეს სადღაც, რომ მარყუჟი.
Mmhmm?
>> სტუდენტი: არ უნდა აღემატებოდეს 2 ტოლია.
>> ALLISON ასე რომ, ეს შეიძლება იყოს ნაკლები ან უდრის 2, და ეს შეიძლება იყოს არანაკლებ 3.
და რა მიზეზის, რომ?
>> სტუდენტი: [INAUDIBLE], 0, 1, 2.
>> ALLISON: ზუსტად.
ასე მასივი ზომა N, ჩვენ მხოლოდ მაჩვენებლების n მინუს 1.
ზემოთ.
და მაშინ ჩვენ შეიძლება მიიღოს მართლაც გიჟები და მიიღეთ მრავალ განზომილებიანი მასივები.
ერთ-ერთი პრობლემა, როდესაც მე მას ჩემი წელს საჭირო მრავალ განზომილებიანი მასივები,
და მე ვფიქრობ, ერთ-ერთი მათგანი, შესაძლოა, მოითხოვოს ეს წელს, ასე რომ იყოს კომფორტული.
გადაიტანოთ თქვენი უფროსი გარშემო ახლა.
ის დაუბრუნდეს ასვენებს თქვენ, მაგრამ cool გზა.
ასე რომ თქვენ ნამდვილად უბრალოდ ვფიქრობ, მრავალ განზომილებიანი მასივები
როგორც კოლექტორები მასივი.
ასე რომ თქვენ შეგიძლიათ სახის ვფიქრობ ამ ყველაზე ზედიზედ, როგორც პირველი ბლოკი მეხსიერება.
და ეს ერთი არის მეორე ბლოკი მეხსიერება,
და ბოლო row არის მესამე ბლოკი მეხსიერება.
და შიგნით რომ, არსებობს მასივი.
მაგრამ რა თქმა უნდა, უფრო ადვილია ასახავს მოსწონს ეს.
>> ასე რომ თქვენ ინიციალიზაცია მას იგივე გზით.
ეს არის გმირი საბჭოს სამი სამი.
ასე რომ თქვენ გაქვთ სამი რიგები და სამი სვეტით.
ჩვენ წარმოადგენს, ამ გზით.
და ვებგვერდზე ანალოგიურად, სვეტი row.
და ასე 1,1 როგორც ვხედავთ აქ.
ჩვენ დაავალოს ნულოვანი, ნულოვანი იყო.
2,0 და 0,2.
ასე, რომ თქვენ უბრალოდ შედიხართ them-- თუ ვინმეს ოდესმე გაკეთდეს წრფივი ალგებრა,
იმავე გზით თქვენ შედიხართ ელემენტს Matrice, ეს იგივე იდეა აქ.
ასე, რომ თქვენ შეიძლება ეხებოდეს მას უკან მათემატიკის.
თქვენ არ ინერვიულოთ ძალიან ბევრი ამ ახლავე.
ეს კარგია, რომ გამოფენა, ვიცი, რომ თქვენ შეგიძლიათ ეს გააკეთოთ.
შეგიძლიათ შექმნათ რამდენიმე გიჟები number-- შეგიძლიათ
შექმნა გიჟები მასივები ყველა მე ვაპირებ ვთქვა.
[INAUDIBLE]
იგი იღებს პატარა გიჟები, მაგრამ ეს მართლაც მაგარი.
გასაოცარია.
>> და შემდეგ, ასე რომ, ჩვენ გვაქვს მაგალითი აქ.
იგი ითვლის სიმებიანი სიგრძე.
ასე რომ, რამდენი ადამიანმა იცოდა, რომ სიმები, რომ თქვენ იყენებთ
არის მხოლოდ კოლექტორები პერსონაჟების?
OK, yeah.
ასე რომ თქვენ ბიჭები შეიძლება ფიქრობთ, რომ თქვენ არ მეორადი მასივების ადრე, მაგრამ ნებისმიერ დროს
თქვენ გამოიყენოს getString CSView ბიბლიოთეკა, თქვენ
რეალურად მხოლოდ ითხოვს მასივი სიმბოლო.
და ჩვენ ზრუნვა ყველა რომ back-end თქვენთვის.
მაგრამ თქვენ უკვე გამოყენებით კოლექტორები რადგან თქვენ დაიწყო.
თქვენ უბრალოდ არ იცის, რომ არ არის.
>> და როდესაც თქვენ გაქვთ ხასიათი მასივი ან მასივი, რომელიც შენახვის სიმებიანი,
ბოლო რამ ყოველთვის რა მოუწოდა null terminator, რომელიც
ეს უფლება აქ.
და რომ ბოლოს ყველა სიტყვა, რომ თქვენ შენახვა.
ასე რომ, თუ ჩვენ გვინდა, რომ გაერკვნენ სიგრძეზე სიმებიანი, შეიძლება ითქვას,
კარგად, თქვენ იცით, შინაარსი რომ ბლოკი
არ არის ტოლი ჩვენი null terminator.
ეს იმას ნიშნავს, რომ იქ არის გარკვეული ხასიათი, რომ ჩვენ რეალურად
აინტერესებს, რომ ნაწილია სიტყვა.
თქვენ გაზრდის თქვენი სიგრძეზე.
და მაშინ, როდესაც ჩვენ რეალურად მიიღონ ბოლოს სიტყვა, რომ თქვენ შეწყვიტოს
და დავიბრუნოთ ჩვენი სიგრძე ჩვენთვის.
Mmhmm?
>> სტუდენტი: თუ არა სივრცეში იმედი, როგორც null terminator?
ALLISON: So სივრცე არ არის null terminator.
ასე რომ, თუ თქვენ გაქვთ multiple-- სივრცეში ფაქტიურად კონკრეტული ASCII ღირებულება.
სტუდენტი: რა არის ძახილის თანაბარი ერთხელ?
ALLISON: ასე რომ, ეს არის ის, რაც თქვენ ეხება.
თუ თქვენ ოდესმე მოვისმინოთ ჩემს საათებში, მე ყოველთვის ეძახით, ისევე, bang შეადგენს.
ასე bang არ არის.
ასე რომ, ეს არ უდრის.
ასე რომ, თუ თქვენ ცდილობთ თუ რამე არასწორია,
თქვენ იცით, ყოველთვის, bang, რასაც ცვლადი, და თუ ეს ყალბი,
ის აფასებს ჭეშმარიტი და თქვენ შეგვიძლია გავაკეთოთ მაგარი რამეები, რომ.
უფრო მოგვიანებით.
ზემოთ.
ყველაფერი კარგი, იქ?
გასაოცარია.
>> ასე რომ, ახლა ეს თქვენი ბიჭები "დრო იმუშავებს, რადგან მე უკვე საუბარი.
ამიტომ, მე მინდა, რომ თქვენ მხოლოდ შექმნა მასივი ერთად რიცხვებით ერთი, ორი, სამი,
და შემდეგ მათ იბეჭდება.
თქვენ არ უნდა გავაკეთოთ, ისევე, მთავარი, blah, blah, blah, რასაც.
მე უბრალოდ მინდა ინიციალიზაცია მასივი და შემდეგ შექმნა
ამისთვის მარყუჟის ბეჭდვა მათ out-- ან ხოლო loop, თქვენ.
>> მე უბრალოდ მივცემ თქვენ რამდენიმე წუთი მუშაობა რომ.
მე ვაპირებ, რომ დანარჩენი ჩემი ხმა.
თუ თქვენ გაქვთ რაიმე შეკითხვები, მოხარული ვარ მოდის გარშემო და გაიგო, რომ თქვენ ბიჭები.
თავისუფლად ერთმანეთს.
კიდევ უფრო კამფეტი.
ფაქტობრივად, მე მხოლოდ მოიარე candy.
როგორ არის ეს?
>> გინდათ რაიმე?
ვინმეს ამ ოთახში მინდა candy?
ასევე, შეგიძლიათ მიიღოს მეტი, ბიჭები.
მიიღოს მუჭა თუ გინდათ.
მაისი, ისევე.
ყველას კარგი?
OK.
>> გარდა ამისა, მე ვაპირებ, რომ შევქმნათ ანონიმური Google ფორმა,
და შენ შეიძლება მხოლოდ წარმოადგინოს კავშირი ყოველი სექცია
თუ არსებობს რაიმე გსურთ გაუმჯობესების მიზნით, ან რაღაც გსურთ გაკეთდეს.
თუ მე ცოტა პეპი თქვენ, მე შეიძლება ტონი მას.
მე შექმნა, და გაგზავნის თქვენ ყველა შემდეგ.
>> ყველა უფლება.
მოდით დავიწყოთ მცირე.
როგორ ჩვენ ინიციალიზაცია ჩვენი მასივი?
რა არის ტიპის მასივი?
Int, არა?
OK, ასე რომ, რა გინდათ მოვუწოდებთ თქვენი მასივი?
Int მასივი, ზემოთ.
ყველა უფლება, ასე რომ ჩვენ გვაქვს int int array შეადგენს, და რა გვაქვს ამის შემდეგ?
სტუდენტი: [INAUDIBLE] ფრჩხილებში.
ALLISON: აფრთხილებს.
და შემდეგ შიგნით აფრთხილებს?
ერთ-ერთი მძიმე ორი მძიმე სამი.
ზემოთ.
ასე რომ, ყველა უფლება.
ასე რომ, ახლა ჩვენ გვაქვს ჩვენი ამისთვის loop.
ასე რომ, პირველი ნაწილი ჩვენი ამისთვის მარყუჟის, ჩვენ რა?
>> სტუდენტი: i = 0?
>> ALLISON: ასე int i = 0, და მაშინ, რა არის ჩვენი მდგომარეობა?
რა i იქნება ნაკლები?
არანაკლებ სამი და ჩვენ როგორ უნდა განახლდეს i?
i პლუს პლუს, განახლებაზე ერთი.
და მაშინ ჩვენ ვაპირებთ აქვს ზოგიერთი printf მთელი რიცხვი,
და რა არის ის, რომ ბოლო ნაწილი, რომელიც, ფაქტობრივად,
ვაპირებ ვთქვა, რაც ჩვენ უნდა ბეჭდვა?
ეს იქნება სახელი მასივი, რომელიც int array, არა?
და რაც ფრჩხილებში of int მასივი?
i.
[? ასე რომ, მე?] დავრეკე მაგალითად, მაგრამ იქ წასვლა.
არ არის ცუდი.
ყველას კარგი?
ზემოთ.
>> ასე რომ, ჩვენ გავაკეთეთ მასივები.
Congrats.
თქვენ მოახერხა iterate ყველა the-- yes?
>> სტუდენტი: [INAUDIBLE]
>> ALLISON: დიახ.
>> სტუდენტი: მე მაქვს შეკითხვა.
თქვენ უნდა აბზაცის აფრთხილებს?
>> ALLISON: ასე აფრთხილებს უნდა გამოდიან ამისთვის loop და შემდეგ ყველაფერი
შიგნით braces უნდა indented.
>> სტუდენტი: OK, უნდა for loop უნდა indented?
>> ALLISON: for loop არ უნდა indented ამ ეტაპზე.
თუ იყო მთავარი, თუ ჩვენ შეეძლოთ მთავარი ფუნქცია აქ,
ეს იქნებოდა indented მთავარი.
მაგრამ ამ შემთხვევაში, ეს ჯარიმა.
დიახ, კითხვა.
>> სტუდენტი: ნუ თქვენ უნდა ფრჩხილებში შემდეგ მაგალითს?
>> ALLISON: დიახ, თუ თქვენ ინიციალიზაციისას, რომ გზა.
ასე მახსოვს, ეს უკვე მეორე გზა ინიციალიზაციისას მასივი, სადაც
ჩვენ გვაქვს braces და მაშინ ჩვენი ფაქტობრივი მონაცემები მძიმით ფარგლებში.
>> სტუდენტი: ვფიქრობდი, იყო ფრჩხილებში რომ მაგალითად.
>> ALLISON: არა, ისინი braces.
ისინი braces.
თუ თქვენ ინიციალიზაციისას იგი რომ მეორე გზა, braces.
თუ ჩვენ უნდა ვთქვათ, int მაგალითად, თუ ჩვენ უბრალოდ მინდოდა ცარიელი მასივი ints,
ეს იქნება int მაგალითად ფრჩხილებში სამი.
ფრჩხილებში წარმოადგენს მისი ზომა.
როდესაც თქვენ გაქვთ braces, ეს ფაქტობრივი მონაცემები
თქვენ აყენებს მას ამ გზით.
ჩვენ შეგვიძლია გადახვევა უკან მართლაც სწრაფი.
>> ასე რომ ამ ერთი, ეს მხოლოდ ჩვენი საწყისი მასივი, ინიციალიზაციისას.
და აქ, ჩვენ ინდივიდუალურად მინიჭების ლაქების მათ,
ასე რომ, ეს წარმოადგენს ინდექსი ჩვენი მასივი, რის გამოც ჩვენ გვაქვს ფრჩხილებში.
მაგრამ აქ, თუ თქვენ შეამჩნევთ, რომ ჩვენ გვაქვს დავტოვეთ ფრჩხილებში გარეშე ზომა,
და ჩვენ ინიციალიზაცია იგი ფაქტობრივი მონაცემები all-in-one აფრთხილებს.
სტუდენტი: რატომ არ გვაქვს ფრჩხილებში ამ მაგალითიდან?
ALLISON: ასე, რომელშიც მონაწილეობას?
სტუდენტი: არ ჩვენ ვთქვათ, int მაგალითად ფრჩხილები
უდრის braces [INAUDIBLE] ფრჩხილებში მაგალითად.
>> ALLISON: ოჰ, უკაცრავად.
თქვენ უფლება.
გვაქვს ფრჩხილებში.
უკაცრავად ბიჭები, ჩემი ცუდი.
დიახ, თქვენ უნდა ჰქონდეს ფრჩხილებში შემდეგ მაგალითს.
თქვენ აბსოლუტურად სწორი.
>> სტუდენტი: [INAUDIBLE] არ ვაკეთებთ.
>> ALLISON: არა, თქვენ უნდა ჰქონდეს ფრჩხილებში, იმიტომ, რომ წინააღმდეგ შემთხვევაში, ეს
არ აპირებს განაცხადოს მასივი.
სტუდენტი: [INAUDIBLE].
უკაცრავად შესახებ.
>> ALLISON: უკაცრავად, თქვენ უნდა ფრჩხილებში შემდეგ მაგალითს.
ტექსტის არასწორი ფრაგმენტი.
კარგი დაჭერა, ოქროს თქვენ.
გარდა ამისა, თუ თქვენ სვამს კითხვას, თუ ბიჭებს უბრალოდ მითხრათ თქვენი სახელები,
მე მიყვარს, რომ.
მე მიყვარს შეძლებს ვიცი ყველა თქვენს სახელები.
მე არ ვაპირებ ცივი მოვუწოდებთ თქვენ, მე რეალურად
არ მინდა ვიცოდე თქვენი სახელი.
ასე რომ, გთხოვთ, ფაქტობრივად, მითხრათ თქვენი სახელები.
>> ლეა: Leah.
>> ALLISON: Leah.
OK, ასე რომ, ფუნქციები ვიცი მოკლედ მათ ისაუბრეს ამ დროს ლექციას.
ამიტომ ფუნქციებია სახის მხოლოდ როგორც ამ პატარა bite ზომის რამ
სადაც თქვენ გაივლის საშუალებებით, რაღაც ჯადოსნური ხდება, და თქვენ მასალები.
ზემოთ.
ასე რომ თქვენ რეალურად გამოიყენება ბევრი ამ უკვე.
კიდევ int, მიიღოს სიმებიანი, ბეჭდვითი ვ.
ეს არის ყველა ის ფუნქცია სადაც თქვენ უბრალოდ მოვუწოდებთ მათ,
არსებობს უამრავი ჯადოსნური რამ მიმდინარეობს იმ ფონზე,
რომ აუცილებელი არ არის, ვხედავ, და თქვენ რა გინდათ.
ან თუნდაც მიიღოს რა თქვენ იმედი გსურთ.
>> და ძირითადად წერტილი ფუნქციები, ერთ-ერთი მთავარი თემა CS,
შესვენება თქვენი კოდი შევიდა მართვადი ცალი.
როდესაც თქვენ დავიწყოთ წერა ეს მართლაც დიდი პროგრამების,
ან ნულიდან, როდესაც თქვენ ჰქონდა ამ გრანდიოზული იდეა თამაში,
თქვენ უნდა შეძლებს დაარღვიოს ეს ქვემოთ, როგორც, OK, თუ როგორ უნდა დაიწყოს?
რა არის პატარა დარტყმები, რომ მჭირდება?
ოჰ, მე უნდა ვთხოვო შესახებ რაღაც.
ახლა მე უნდა ბეჭდვა რაღაც.
Oh, მე უნდა გამოვთვალოთ ამ ღირებულება.
>> და სასწავლო როგორ გაწყვეტის თქვენი კოდი და დიდი პრობლემები
უნდა, ამ მცირე ცალი და შექმნის ფუნქციები
ფაქტიურად ერთი დიდი ქვაკუთხედია CS.
ასე, რომ თქვენ შეიძლება ვიფიქროთ, ფუნქციის, ისევე როგორც ისევე როგორც შავი ყუთი, ჯადოსნური შავი ყუთი,
რომ დააყენა რამ შევიდა და თქვენ ზოგიერთი გამომუშავება.
და დანარჩენი პროგრამა არ უნდა ემთხვეოდეს ვიცი
რა ხდება შიგნით, რომ შავი ყუთი.
ყველა ის ზრუნავს, რა მიდის და რა გამოდის.
ზემოთ.
>> ასე რომ, რატომ ფუნქციები?
Organization-- როგორც ვთქვი, როდესაც თქვენ საქმე ძალიან დიდი კოდი ბაზების,
თქვენ ორგანიზება თქვენი კოდი იქნება ბევრად უფრო ადვილია, თუ თქვენ იყენებთ ფუნქციები.
იმიტომ, რომ თქვენ გექნებათ იყოს, როგორც, OK, ამ
სწორედ ამ ფუნქცია აქვს და აქ არის ის, რაც კიდევ ერთი აკეთებს.
და თქვენ შეგიძლიათ მარტივად ვხედავ როგორ ყველა ჯდება ერთად.
ასე არღვევს ეს ყოველივე ამ მართვადი ნაწილად.
>> ასე simplification-- დარწმუნებული ვარ, რომ თქვენ ბიჭები ყველა ეს დაინახა, როგორც ვთქვი, რომელზეც ნაკაწრი.
თქვენ ეს გრანდიოზული იდეა, თქვენ, როგორიცაა, თუ როგორ ყველა ამ სამუშაოს?
მაგრამ თუ თქვენ მიახლოება მცირედი, თქვენ იტყვით,
როგორ უნდა იყოს ერთი Sprite ათწილადი მასშტაბით ეკრანზე?
რომ ცოტა ადვილი.
იმდენად კარგი გამოყენების ფუნქცია მარკა თქვენი კოდი ბევრად უფრო იოლია.
ეს ხდის ადვილია გამართვის შესახებ, რომელიც, მიხვალ შენს მოგვიანებით პრობლემა კომპლექტი,
თქვენ აპირებს მართლაც მინდა, რომ იყოს ვერ გააკეთებს.
და ისინი ასევე ადვილი შეიმუშაოს და განახორციელოს.
თქვენ შეგიძლიათ კოდი up პატარა ფუნქციონირებს შედარებით სწრაფად
და დარწმუნდით, რომ მუშაობს წინააღმდეგ ცდილობს შექმნა მთელი ეს გრძელი
და შემდეგ სახის გავლა და ვნახოთ, რა მუშაობს და რა არა.
>> და შემდეგ reusability.
ასე რომ, ფუნქციები მხოლოდ უნდა უნდა ჩაიწეროს ერთხელ,
და მაშინ მათი გამოყენება როგორც არაერთხელ, რაც შეიძლება.
ასე რომ, ეს, ისევე, ეკო მეგობრული გრძნობა.
თუ თქვენ არ ჰქონდა რამ, როგორიცაა ბეჭდვითი F, სადაც თქვენ
დაწერა out ჯადოსნური, რომელიც მიდის უკან ბეჭდვა ვ ყველა დროის
უნდოდა ბეჭდვა რაღაც, იქნება საკმაოდ ავადმყოფი და დაიღალა
ბოლოს.
>> ერთი რამ, რომ თქვენ ვისწავლოთ მოგვიანებით CS კლასი,
ან ერთ-ერთი საუკეთესო რჩევა მივიღო
არის, თუ თქვენ გადაწერა და pasting კოდი, ეს ალბათ იქნება ფუნქცია.
თუ თქვენ გაქვთ ზუსტად იგივე ხაზები მთელი თქვენი კოდი,
თუ factored მათ, თქვენი კოდი, ალბათ,
იყოს, ისევე როგორც, ხუთჯერ მოკლე და ბევრად უფრო ადვილად იკითხება.
და იმის ნაცვლად, რომ პრობლემების ყველა ეს სხვადასხვა ადგილებში, სადაც ყველაფერი
შეიძლება არასწორია, თქვენ გაქვთ ერთი ფუნქცია რომ თქვენ, რათა პრობლემების.
და მე გპირდებით, ბევრი ამ შესაძლოა, როგორც ჩანს ასეთი აბსტრაქტული ახლა,
მაგრამ, როგორც თქვენ მიიღებთ შევიდა მოგვიანებით და მოგვიანებით პრობლემა კომპლექტი,
ეს თქვენ გაცილებით მეტი გრძნობა და მართლაც იყოს ბიძგი სახლში.
არსებობს რაიმე კითხვები ფუნქციები აქამდე?
ამიტომ ჩვენ მათ?
მე ვიცი, რომ ჩვენ არ მიღებული შევიდა nitty gritty ამჟამად.
ასე განსაზღვრის ფუნქცია, ისევე, როგორც მასივები, ჩვენ გვჭირდება გარკვეული of-- ეს
არის მხოლოდ ზოგადი გამომავალი.
ასე რომ, ეს არის ფუნქცია, რომელიც არის უბრალოდ აპირებს კუბი გარკვეული შეყვანის.
და მომდევნო გვერდზე, რეალურად, ჩვენ გვაქვს ყველა ამ გასაოცარია ცოტა რამ აქ.
ასე რომ, შეგიძლიათ ყველას წაიკითხოს რომ გარეთ ცნობისმოყვარეობა?
მე ვიცი, მეწამული და შავი შეიძლება ცოტა რთული.
>> მაგრამ დიდი რამ ვიცი ამიტომ პირველი ერთი, აქ არის ჩვენი დაბრუნების ტიპის.
ასე რომ, ეს არის საუბარი გამომავალი ამ ფუნქციის, როდესაც, ამ შემთხვევაში,
ჩვენ დააყენა ზოგიერთი ნომერი, რაც ჩვენ მიღების არის, რომ ნომერი, cubed.
ასე რომ, ეს უნდა იყოს int ამ შემთხვევაში.
იქნებ ეს იქნება ორმაგი ან რაღაც მოგვიანებით, მაგრამ ამ შემთხვევაში,
ეს int.
>> C, ყოველთვის უნდა დაბრუნების ტიპის.
ეს იქნება int.
ეს იქნება float.
ეს იქნება ორმაგი.
მაგრამ თქვენ უნდა მიუთითოთ ამ ფუნქციის დაბრუნებას აპირებს.
წინააღმდეგ შემთხვევაში, ეს იქნება დაწეროთ თქვენ, და ეს არ ადგენენ.
თქვენ უნდა სამწუხარო, და მე უნდა სამწუხარო.
და ეს უბრალოდ არ არის კარგი.
OK.
>> და მაშინ ჩვენ გვაქვს ჩვენი ფუნქცია სახელი.
და როგორც ხედავთ აქ, გ არსებობს ამ ძალიან თანმიმდევრული პარადიგმა.
რა არის თქვენი ტიპი, რა ჰქვია, და შემდეგ რამდენიმე სხვა რამ ბოლოს.
ასე რომ, ჩვენ გვაქვს ჩვენი დაბრუნების ტიპის, ჩვენი ფუნქციის სახელი, და შემდეგ
ჩვენ გვაქვს ჩვენი header ერთად ჩვენი პარამეტრის სია.
>> ასე პარამეტრის სია არის, რა არის ამ ფუნქციის აპირებს?
პარამეტრის სია უბრალოდ სინონიმი, რა არის ჩვენი საშუალებებით?
და ისევე, რომ ჩვენ უნდა განისაზღვროს ჩვენი ფუნქცია
და მისთვის დაბრუნების ტიპის, თითოეული ჩვენი პორტები
უნდა ჰქონდეს ტიპის მასთან.
ჩვენ ვიცით, რა არის ჩვენი ფუნქცია შეიძლება რეალურად მუშაობა.
>> ასე რომ, ამ შემთხვევაში, ჩვენ გვაქვს int input.
ასე რომ კიდევ ერთხელ, ეს იქნება ტიპის და თუ რას უწოდა.
და შემდეგ, როგორც ხედავთ აქ, ჩვენ გვაქვს ჩვენი სხეულის.
ასე, რომ ჩვენ გვაქვს int გამომავალი, რომელიც მხოლოდ ჩვენი შეყვანის ჯერ თავად
ჯერ თავად, რომელიც მხოლოდ კუბურები იგი.
და შემდეგ ვბრუნდებით, რომ გამომავალი.
>> ასე რომ, როგორც ხედავთ, ჩვენ გვაქვს int ჯერ int ჯერ int,
ამიტომ დააბრუნებს int, რომელიც გამოცხადდა არსებობს.
ასე რომ ყველაფერი შეკრული.
ყველაფერი ბედნიერი.
შენი ფუნქცია მიიღებს.
და ეს არის მხოლოდ ზოგადი რამ.
ისე ყოველთვის დაბრუნების ტიპის, სახელი, და თქვენი პარამეტრის სია.
ყოველი ნივთი თქვენს პარამეტრის სია, და input,
უნდა ჰქონდეს ტიპის მასთან.
და შემდეგ თქვენ გაქვთ თქვენი სხეულის აქ რასაც
თქვენ გსურთ, რომ თქვენი წვლილი.
>> და მაშინ აშკარად მინდა დაბრუნდეს რაღაც.
ზოგჯერ ფუნქციები დააბრუნებს.
ისინი რეალურად არ დაბრუნდება რაღაც თქვენ უნდა გამოვიყენოთ.
მაგრამ თქვენ უნდა დაბრუნდეს რამდენიმე გზა.
და როდესაც თქვენ მიღების საკუთარი ფუნქციები,
ჩვენ შეგვიძლია შეღწევას, რომ ცოტა უფრო ღრმა.
პირადად, თუ გსურთ, არსებობს უამრავი სხვადასხვა რამ, რაც შეიძლება გავაკეთოთ, რომ.
ყველას კარგი?
არაფერი ამ სიაში, რომ თქვენ გინდათ, რომ მე წასვლა, რომ თქვენ არ მესმის?
ყველას კარგი არსებობს?
ზემოთ.
გასაოცარია.
>> OK, ასე რომ, ჩვენ აყენებს ეს ყველაფერი ერთად არის.
ასე, რომ ჩვენ გვაქვს int cube შეყვანის, ისე ეს არის სრულყოფილი პროგრამა აქ.
დღემდე მე სახის იქნა გაძლევთ
ბიჭები snippets, რომ შეიძლება უნდა ვაპირებთ პროგრამის ფარგლებში.
ჩვენ უბრალოდ ეძებს ფუნქციები.
მაგრამ აქ მთელი პროგრამა.
ასე რომ, რამდენი გახსოვთ სიტყვა პროტოტიპი ლექცია?
ზემოთ.
გვაქვს ერთი.
რა გქვია?
>> Steph: Steph.
>> ALLISON: Steph?
OK, გასაოცარია.
ასე რომ, არ გახსოვთ რა პროტოტიპი?
>> სტუდენტი: თქვენ ამბობთ, რომ [INAUDIBLE] სანამ რეალურად გაუმკლავდეთ მას.
>> ALLISON გახსოვთ, რატომ?
>> სტუდენტი: არა
>> ALLISON: OK.
ოქროს ვარსკვლავი.
ასე რომ დიახ, პროტოტიპი ჩვენ წინასწარ, რადგან, წინააღმდეგ შემთხვევაში,
ჩვენი შემდგენელი აპირებს დაწეროთ ჩვენთან.
ის აპირებს იტყვით, რა არის ეს კუბი ფუნქცია?
როგორიცაა, თქვენ ფაქტიურად მითხრა, არ არის.
ეს იგივეა, როდესაც თქვენ ფეხით შევიდა საკლასო,
და ვინმე მოსწონს, არსებობს ვიქტორინა გაიმართა.
და თქვენ, როგორიცაა, თქვენ არ მითხრა ამის შესახებ.
მე არ ვარ ბედნიერი ჩვენთან ერთად.
პროტოტიპი ძირითადად მოსწონს თქვენი სილაბუსი განაცხადა, გამოიყურება.
ხელმძღვანელები მდე.
არ იქნება ვიქტორინა ამ დღეს.
არ Freak out როდესაც თქვენ მიიღოს იგი.
თქვენ იქნება ჯარიმა.
>> ასე რომ, ყველა პროტოტიპი არ არის ვუთხრა მთავარი, მე ვაპირებ გამოიყენოთ ეს ფუნქცია.
მე გპირდებით, რომ მე განსაზღვრის შემდეგ.
არ Freak out at me.
უბრალოდ კომპილაციის და რა გითხრათ უნდა.
ამიტომ, ჩვენ უნდა პროტოტიპი არსებობს იმისათვის, რომ ჩვენი შემდგენელი ბედნიერი.
და ეს, ძირითადად დაპირება, რომ თქვენ არ განისაზღვრება ამ ფუნქციის შემდეგ
და რომ თქვენ არა მხოლოდ მოუწოდებდა ეს შემთხვევითი, რომ ეს
არ ვიცი, რა თქვენ უნდა აკეთებს.
>> ასე რომ, ამ შემთხვევაში, ჩვენ გვაქვს მთავარი აქ.
ჩვენ ინიციალიზაცია რაღაც რიცხვი x.
რომ ორი.
ჩვენ ვაპირებთ ამობეჭდოთ რა x არის.
ჩვენ ვაპირებთ, რომ კუბი x.
როგორც ხედავთ, ჩვენ გვაქვს ჩვენი ფუნქცია დეკლარაცია
ქვემოთ აქ ჩვენ ვისაუბრეთ ადრე.
ეს თქვენ კუბი x, შემდეგ კი, თუ ჩვენ მახსოვს, კუბი ფუნქცია რეალურად
ბრუნდება რიცხვი us, რომელიც ინახება
in x ერთხელ ისე, რომ ჩვენ შეგვიძლია ბეჭდვა out რვა ან cube x ახლავე.
ამჯამად რომ აზრი ყველას?
ჩვენ კარგად?
ყველა უფლება.
გასაოცარია.
>> ყველა უფლება.
რამდენი ბიჭები მახსოვს, ეს ასე რომ ეს
ძირითადად მხოლოდ თქვენი დასტის და ბევრი,
უბრალოდ ვიზუალიზაცია როგორ მეხსიერება ინახება აქ.
ამიტომ, ჩვენ უბრალოდ გვინდა, რომ დარწმუნებული ვარ, რომ თქვენ იცით,
როგორ შეიძლება ამ წარმოდგენილია მეხსიერებაში.
თუ თქვენ მიიღოს კლასების მოსწონს CS61 და პერსონალის შემდეგ,
თქვენ უნდა ვისწავლოთ ამ ბევრად უფრო სიღრმე, და ეს მართლაც მაგარი.
უაღრესად გირჩევთ მას.
მაგრამ ახლა, მე მივცემ თქვენ ფართო მიმოხილვა
ასე რომ თქვენ არ უნდა იცით nitty gritty.
>> ასე რომ, ყველაზე უბრალოდ ტექსტი სეგმენტი, რომელიც შეიცავს ფაქტობრივი zeros და პირობა,
ორობითი რომ.
და ეს გამოიყენება შენახვის გლობალური ცვლადები თუ თქვენ გაქვთ რაიმე.
როგორც თქვენ გადატანა down, აქვს, როგორც ხედავთ,
ინიციალიზაცია მონაცემები, uninitialized მონაცემები და შემდეგ ბევრი.
>> ასე რომ, ჩვენ ნამდვილად არ გაიგო შესახებ ბევრი ახლა.
ჩვენ კიდევ მოგვიანებით.
ახლა, მე უბრალოდ აპირებს ტალღის ხელები და იყოს,
თქვენ არ უნდა იცოდეთ ეს ახლა.
მაგრამ ჩვენ ვისაუბროთ ცოტა ცოტა შესახებ Stack.
ამიტომ დასტის არის where-- ჩვენ მიუახლოვდით.
ეს არის რეალურად რამდენად პროგრამა ჩვენ უბრალოდ შევხედე ხდება მეხსიერებაში.
>> რა ხდება, ყოველ დროს, ჩვენ მოვუწოდებთ ფუნქცია,
მივიღებთ რა მოუწოდა დასტის ჩარჩო, რომელიც ერთ-ერთი მათგანი.
ასე რომ ძირითად პარამეტრებს.
ასე რომ, ეს ყველაფერი, რომ ჩვენ გაიაროს შევიდა ძირითადი.
ასე რომ, ისინი სწორედ აქ ბოლოში, იმიტომ, რომ პირველი, რაც ჩვენ მოვუწოდებთ.
და მაშინ მივიღებთ, რომ მთავარი არის ადგილობრივი, როცა ვამბობთ, რომ,
ვგულისხმობთ ადგილობრივი ცვლადები რომელიც ინახება შიგნით ძირითადი.
ასე ადგილობრივები აქ იქნება, ისევე, x უდრის ორი ამ შემთხვევაში.
იმიტომ, რომ ლოკალიზებულია მთავარი.
ამჯამად ყველას გვახსოვდეს, ფარგლებს, აპირებს მეტი რომ ლექცია?
OK.
ასე რომ, მხოლოდ ცვლადები, რომ ინიციალიზაცია მაგისტრალურ.
ასე რომ, რატომ გვაქვს მთავარი [? ვოკალი. ?]
>> და შემდეგ შიგნით ძირითადი მოვუწოდებთ, კუბი.
არა?
ასე რომ, ჩვენ კიდევ ერთ ჩარჩოში ერთად კუბი პარამეტრების.
ასე რომ, ამ შემთხვევაში, cube ს პარამეტრების ახლა
x, რომ ჩვენ მიღებული, ორი რომ ჩვენ გავიდა.
და შემდეგ cube ის ადგილობრივები, რომელიც სადაც ფაქტობრივი cubing ხდება.
და მაშინ ის დააბრუნებს.
>> რა ხდება, როგორც cube რეალურად აკეთებს რა უნდა გავაკეთოთ, ის დააბრუნებს.
როდესაც ის ბრუნდება, ამ ჩარჩოს ტოვებს, და მისი დაბრუნდა ქვემოთ მთავარი.
და შემდეგ შიგნით ძირითადი ჩვენ შეგიძლიათ რეალურად ბეჭდვა იგი.
ასე რომ, როდესაც თქვენ დაბრუნების რაღაც, როდესაც თქვენი ფუნქცია დააბრუნებს,
ეს იგივეა, რომ გადაცემის იმ ღირებულებების ჩარჩო ქვემოთ და შემდეგ ტოვებს.
და რამ უნდა შეასრულოს მიზნით.
>> და როდესაც თქვენ მიიღებთ დიდი პროგრამების, ჩვენ შეგვიძლია ქულერი და უფრო რთული
დიაგრამები.
მაგრამ ახლა, ეს არის მხოლოდ ზოგადი მიმოხილვა
ასე რომ თქვენ გაქვთ სახის გაგება, თუ რა
ხდება, როდესაც თქვენ მოუწოდებენ ფუნქცია და როგორ, რომ რეალურად გამოიყურება მეხსიერებაში.
მაგარი?
ყველას კარგი?
გასაოცარია.
>> ასე რომ, ეს ერთი, რომ უბრალოდ ცდილობს, რომ სვოპ რამ.
როგორც ვხედავთ, აქ, ჩვენ გვაქვს ჩვენი ფუნქციის პროტოტიპი
ისე, რომ ჩვენი შემდგენელი არ დაწეროთ ჩვენთან.
ჩვენ გვაქვს რამდენიმე მთავარი და ჩვენ გინდათ გადართვა x და y.
ისინი არ კეთდება ეს დემო ლექცია არ არის, აქვთ მათ?
მათ არ აქვთ?
OK.
ამიტომ, ჩვენ ვაპირებთ წასვლა ამ ძალიან მოკლედ.
თქვენ მიიღებთ ამ მაგ სიღრმე, მე ვფიქრობ, რომ ამ კვირაში.
და შემდეგ მომავალ კვირას ჩვენ ნამდვილად ჩაყვინთვის შევიდა რატომ არ მუშაობს.
>> ასე რომ, ჩვენ ამ ბათილად ფუნქცია აქ swap.
ასე რომ, ბათილად მხოლოდ იმას ნიშნავს, რომ არაფერი უბრუნდება.
და ჩვენ გვაქვს swap int და int b.
და ჩვენ გვაქვს დროებითი ცვლადი რომ.
იღებს ენიჭება ბ, და მაშინ ბ იღებს ენიჭება temp
ისე, რომ a და b ის ღირებულებები არის ჩართული.
>> მაგრამ, ნაკვეთი ირონია, ეს არ იმუშავებს.
და ნაწილი, ფაქტობრივად, უნდა გავაკეთოთ ის ფაქტი, რომ
და ბ აქ, ვინც გავიდა in აქ, რეალურად ასლები x და y.
ასე რომ, როდესაც ფუნქცია რეალურად დააბრუნებს, ის ცვლის ასლები, მაგრამ არა
ფაქტობრივი x და y- ს.
ასე რომ ერთი გზა ვიფიქროთ, რომ ეს არის that-- ვიტყვი, რომ ეს არის swap.
OK?
ასე რომ, მთავარი, ჩვენ გვაქვს x და y ინიციალიზაცია.
მაგრამ, როდესაც ჩვენ რეალურად ახვიდეთ ამ ფარგლებში swap,
ჩვენ ავლით ღირებულებებზე მას, და ისინი ინიციალიზაცია.
>> და მხოლოდ ოდესმე იცხოვრებს.
ასე და ბ ცხოვრობს.
და ისინი გაცვალეს.
მაგრამ, როცა ჩვენ დავბრუნდებით, ჩვენ არ არაფერი და ბ.
და ბ შვებულება ჩვენი ფუნქცია.
და ასე x და y უცვლელი დარჩება.
თქვენ მიიღებთ უფრო მეტი, თუ როგორ უნდა დაფიქსირება, რომ და როგორ ჩვენ რეალურად გაუმკლავდეთ მოგვიანებით.
>> მაგრამ ეს მხოლოდ ერთი რამ სახის გვახსოვდეს.
გამოიყენეთ იგი მომავალში.
არ ინერვიულოთ, თუ რომ არ ყველა გაგებით მსოფლიოში.
ისინი ასლები არის ყველაზე დიდი რამ.
თუ თქვენ აპირებს მიიღოს არაფერი დაშორებით, რომ თქვენ გაიარა ასლები.
ასე ორიგინალების დარჩება იგივე.
ყველას კარგი?
ზემოთ.
>> ასე ბრძანება ხაზი არგუმენტები.
დარწმუნებული ვარ, რომ დასაწყისში ბიჭები ყველა ჰქონდა იმ დიდი, ისევე, int ძირითადი voids.
და თქვენ, როგორიცაა, OK cool.
მე ნამდვილად არ მაინტერესებს.
ეს არის მხოლოდ ის, რაც მე უნდა დაწეროს.
მაგრამ თქვენი ახალი პროგრამები, განსაკუთრებით ამ pset,
და რატომ არის ცარცი ადგილზე?
>> თქვენი შემდეგი pset, თქვენ იქნება ეს რომ დაინახა.
Int, მთავარ int Arg გ, string arc v, ფრჩხილები.
ასე რომ, რასაც ჩვენ მხოლოდ ცნობილი გახდა, თუ რა
ვფიქრობთ, რომ მეორე პარამეტრი ან, რომ მეორე ელემენტი აქ?
ეს მასივი.
რა ტიპის მასივი?
სიმებიანი მასივი, დიახ.
ზემოთ.
ასე რომ, ის, თუ როგორ ვაპირებთ გამოცხადების ეს არის.
>> ვინმეს გახსოვთ ის, რაც ამ დავდგეთ?
არა?
Hmm?
>> სტუდენტი: Arg გ.
>> ALLISON: So Arg გ ინარჩუნებს counter.
ეს int.
ის ნომერი, არა?
ასე რომ, რას ფიქრობთ, რომ ნომერი, არის?
ჰო.
ასე Arg გ არის რიგი strings რომ შეადგინოს ბრძანების.
ასე რომ, თუ ჩვენ უნდა გავაკეთოთ, ფაქტობრივად, არსებობს მაგალითები ამის შემდეგ,
მე არ მიიღონ წინ თავს.
ეს ნომერი strings რომ მხოლოდ გადაწყვეტილების ბრძანების.
>> ასე რომ, როდესაც თქვენ ამის გაკეთება, როგორიცაა, dot ხაზი Mario, ეს არის ერთ ერთი string რომ ხდის up.
ამ ჯერზე, თქვენ რეალურად კვების რამ ბრძანების,
როგორც დარწმუნებული ვარ, ბიჭები, რომლებიც წავიკითხე სპეც დაინახა.
ასე რომ, იმ შემთხვევაში, იქნებ თქვენ აქვს ორი ან სამი არგუმენტები.
ის აპირებს, რომ იყოს სასარგებლო რამ გამოიყენოს.
>> და შემდეგ Arg ვ, როგორც ჩვენ განაცხადა, მხოლოდ სიმებიანი მასივი.
ისე, რომ რეალურად მაღაზიებში რა თქვენ შეყვანის ბრძანება ხაზი.
ამიტომ, ჩვენ უნდა ამ.
თქვენ გაქვთ გარკვეული dot slash ასლი infile outfile.
ასე რომ, თუ Arg გ არის რიგი strings რომ ჩვენ ავლით შევიდა ბრძანება
ხაზი, რა არის ჩვენი Arg გ ამ შემთხვევაში?
სამი.
ზუსტად.
>> რა არის Arg ვ ნულოვანი?
ასე რომ, რა არის პირველი რამ ჩვენ შენახული?
Dot slash ასლი, ზუსტად.
და მაშინ მეორე იქნება infile.
მესამე იქნება outfile.
ასე რომ რაც შეეხება Arg ვ სამი?
ეს იქნება null, იმიტომ, რომ ბოლოს ჩვენი მასივი, არა?
ზემოთ.
>> და მაშინ რა მეექვსე?
ეს ერთგვარი შეასრულა კითხვაზე.
Ish.
ვიცით, რა არის ეს?
ეს გაურკვეველი.
ჩვენ არ ვიცით, რა, რომ შეიძლება იყოს.
ეს რაც არის სწორი შემდეგ მასივი მეხსიერება,
და ჩვენ არ გვაქვს ნახავ რა, რომ არის.
და ეს საშიში არ შევეხო იმ რამ, რადგან თქვენ იცით,
ეს გარკვეული ნაწილი მეხსიერების რომ თქვენ არ უნდა იყოს წვდომის ან null.
და მას შეუძლია გააკეთოს გიჟები რამ.
ეს ე.წ. მეტი ინდექსირებას თქვენი ვალდებული თქვენი მასივი.
ნუ გარეთ ფარგლებში თქვენი მასივი, ან ცუდი რამ შეიძლება მოხდეს.
დავბრუნდებით და, ისევე, როგორც კანონები ფიზიკის განადგურებულია
ან რამე.
ზემოთ.
ამჯამად რომ აზრი ყველას?
ძალიან ცუდი.
>> ასე რომ, ახლა, ყველას საყვარელი ნაწილი, pset მიმოხილვა.
Yay!
OK.
ასე რომ, იმ თქვენ, რომლებიც არ წაიკითხა pset Spec,
თქვენ აკეთებთ ზოგიერთი მართლაც cool პერსონალის კრიპტოგრაფიის.
თქვენ აპირებს შექმნას Ceasar შიფრი და Vigenere შიფრი.
თქვენ უნდა აუცილებლად წაიკითხოთ სპეც ვხედავ, როგორ იმ სამუშაოს.
და თუ თქვენ რაიმე პრობლემები შესახებ ის, რაც რეალურად უნდა აკეთებს,
გთხოვთ, მოვიდა გაიგო ჩემთვის, მომაწოდეთ ან ტექსტის me.
მე გარშემო.
>> ასე რომ, არსებობს სამი ძირითადი რამ, რომ ჩვენ აქ
მინდა გაიგო about-- მხოლოდ სახის მიშენების ლექცია.
რამ, რაც შეიძლება არ იცოდეთ შესახებ, სასარგებლო მინიშნებები და ინსტრუმენტები.
ამიტომ, ჩვენ ვაპირებთ, რომ გავაკეთოთ სწრაფი მიმოხილვა ASCII,
იმიტომ, რომ ის იქნება სუპერ მნიშვნელოვანია Vigenere მიერ Cipher.
ჩვენ ვაპირებთ გარდაქმნა ბრძანების ხაზი საშუალებებით, რომლებიც
იქნება ძალიან სასარგებლო კეისრის კოდი.
და შემდეგ modulo.
ზემოთ.
>> ასე რომ, ASCII რუკები პერსონაჟს ნომრები.
ეს არის დიდი სქემა.
თქვენ უნდა ჰქონდეს ამ ჩანიშნული სადღაც.
თქვენ გსურთ ეს თქვენი პირველი შუალედური.
დარწმუნებული ვარ, ყველას აქვს ეს ჩარტში მათი შუალედური ფურცელი.
ასე რომ ვისწავლოთ იგი.
მიყვარს.
შეინახოს იგი მოსახერხებელი.
ეს იქნება სასარგებლო.
>> და ყველა ეს არის კოდირებაში რომ რუკები ანბანური, რიცხვითი,
და სხვა სიმბოლოები ნომრები ჩვენი კომპიუტერი.
იმის გამო, რა თქმა უნდა, საბოლოო ჯამში, ყველაფერი ჩვენ ვინახავთ
უნდა მიიღოს მოაქცია ქვემოთ zeroes და პირობა,
ასე რომ, ჩვენ გვჭირდება გარკვეული გზა წარმოადგენს ტექსტი და სიმბოლო, რომ ჩვენ ყველა
გამოიყენება ხედავს, როგორც გარკვეული რაოდენობა.
>> ასე რომ, როგორც ვხედავთ, აქ, ჩვენ გვაქვს ზედა, რომელიც არის სწორი, არსებობს.
ეს 65.
და ამას 97.
ასე რომ თქვენ შეგიძლიათ გაერკვნენ out-- როგორც ვთქვი ადრე,
თუ თქვენ არ ჰქონდა მასივი მრავალჯერადი strings, რა თითოეული მათგანი
აქვს null terminator.
ეს იქნება სივრცე.
ფართი აქვს საკუთარი special-- მე დაგვავიწყდეს, სადაც იგი აქ.
Ah.
32 არის სივრცეში.
ასე რომ, ყველაფერი რუკები მას.
>> ამიტომ, ჩვენ უნდა ASCII მათემატიკის.
Pro tip-- in Vigenere ს, თქვენ შეიძლება ცდუნება
დააკონვერტიროთ თქვენი ნომრები რიცხვებით, მაგრამ ეს რეალურად უკეთესი პრაქტიკის
შეძლებს გამოიყენოს გმირები მოსწონს
როდესაც თქვენ რეალურად მანიპულირების მათ.
ასე რომ, თუ გსურთ გამოიყენოთ ნომრები, თქვენ შეგიძლიათ.
მაგრამ უკეთესი გზა, ან გზა, რომელიც ჩვენ, როგორც წესი, როგორც თქვენ ბიჭები უნდა გავაკეთოთ,
ეს გზა, სადაც თქვენ რეალურად გამოკლება სიმბოლო.
>> ამიტომ, მე მინდა თქვენ ბიჭები სახის გაერკვნენ ამ გარეთ.
რატომ არ ცდილობენ ყოველ მეორე?
ასე რომ პირველი, მესამე და მეხუთე.
იმიტომ, რომ მე გვინდა დავრწმუნდეთ, რომ ჩვენ ვსაუბრობთ ყველაფერი, ჩვენ უნდა ვისაუბროთ.
მე უბრალოდ აპირებს ამბობენ, ერთ-ერთი მნიშვნელოვანი რამ, რომელთა მიზანია: OH დაველოდოთ,
თქვენ ბიჭები არ მინახავს ეს ერთი.
OK ასე რომ პირველი სამი.
მოდით გავაკეთოთ, რომ.
იმიტომ, რომ ჩვენ უნდა ვისაუბროთ modulo.
მე ვიცი.
მათემატიკის რთულია.
თქვენ შეგიძლიათ გამოიყენოთ კალკულატორი.
ეს OK.
ან დახევის up ASCII მაგიდასთან, რადგან თქვენ ალბათ აპირებს მინდა, რომ.
>> ზემოთ.
ასე რომ, მე სწრაფად სიარული თქვენ ბიჭები ამ გზით.
ასე რომ, ადამიანი არ ASCII მაგიდები გამოყვანილია up?
რა არის ჩვენი რიცხვითი ნომრის ამას?
სტუდენტი: Seven.
>> ALLISON: So ამას 97 და ზედა არის 65.
ასე 97 მინუს 65?
>> აუდიტორია: 32?
>> ALLISON: 62, yeah.
ასე რომ, ამ შემთხვევაში, რა რომ ეს ამობეჭდოთ?
რომ პირველი?
თუ ჩვენ გვაქვს პროცენტი d, რა იქნებოდა, რომ მიუთითოს?
სტუდენტი: ნომერი.
ALLISON: ჩვენ დაბეჭდვის out რეალურ რაოდენობასთან.
ასე რომ ჩვენ რეალურად აპირებს ამობეჭდოთ 32 აქ.
თუ ეს იყო პროცენტს c, 32 მოგვცეს სივრცეში.
ასე გაგება, რომ სიმბოლო შეიძლება იყოს დაბეჭდილი
როგორც ნომრები და როგორც ფაქტობრივი გმირები
მართლაც მნიშვნელოვანია, და გადახდის ყურადღება ნამდვილი სახის
ჩვენ ვაკეთებთ აქ.
ზემოთ.
ასე რომ, ყველა სხვა ერთი, რასაც ჩვენ ვაპირებთ იყოს დაბეჭდვის?
>> სტუდენტი: ხასიათი.
>> ALLISON: ხასიათი.
ზემოთ.
ასე რომ, თუ თქვენ ბიჭები მინდა იცით, შეუძლია მუშაობა ამ out თქვენი საკუთარი.
თუ თქვენ მქონე უბედურება, მომაწოდეთ.
მაგრამ მეორე იქნება ამობეჭდოთ ამას ბ.
ხოლო მესამე დაბეჭდვა ზედა B. მეოთხე ბეჭდვა
out ზედა C, და ბოლო ერთი იქნება ამას A.
და ბოლო one-- ჩვენ რეალურად აპირებს შეღწევას რა გიჟები პროცენტი
ნიშანი კი იმას ნიშნავს, რომ რამდენიმე სლაიდები.
ამიტომ ცდილობენ ისინი, საკუთარ.
თუ თქვენ გაქვთ პრობლემები, გთხოვთ, მოვიდა გაიგო ჩემთვის.
თუ თქვენ, როგორც წესი, Adams D დარბაზი, თქვენ ალბათ ჩემს გარშემო.
>> ასე რომ, atoi.
რამდენი მინახავს ეს ფუნქცია ან სმენია საერთოდ?
ვინმე?
ზემოთ.
ამიტომ რასაც ის რეალურად დგას არის ASCII, რომ მთელი რიცხვი.
რა შეგიძლიათ გააკეთოთ, კეისარი მათთვის, ვინც წაიკითხა, სპეც,
თქვენ აპირებს dot ხაზი Caesar მას შემდეგ, რაც თქვენ თქვენი პროგრამა,
და მაშინ თქვენ აპირებს შემავალი ზოგიერთი რაოდენობა, რომ თქვენ
გინდათ encode თქვენი საიდუმლო გაგზავნა.
>> მაგრამ, თუ ჩვენ გვახსოვს, ჩვენს მასალები ინახება როგორც სიმებიანი.
არა?
ჩვენ გვაქვს Arg ვ მასივი ეს არის ყველა ტიპის სიმებიანი.
ასე რომ, თუ ცდილობენ გაიყვანოს, რომ ერთი, ეს იქნებოდა
ვფიქრობ, რომ ერთი ან რასაც ნომერი თქვენ გამოყენებული ფაქტიურად ხასიათი.
ასე რომ თქვენ აპირებთ მისაღებად ზოგიერთი გიჟები შედეგები.
ასე რომ, თუ თქვენ ნამდვილად გსურთ ვინც ეს შევიდა რიცხვი
რომ თქვენ შეგიძლიათ გამოიყენოთ მანიპულირება თქვენი სიტყვა ან გაგზავნა,
თქვენ გინდათ გამოიყენოთ atoi.
atoi უბრალოდ აკონვერტებს თქვენი string int.
>> ასე რომ, თუ ჩვენ გვაქვს სიმებიანი 12, თუკი ჩვენ atoi 12, ან რასაც შეყვანის,
ეს რეალურად დაბრუნებას თქვენ რიცხვი.
არ არის ხასიათი, ან სიმებიანი 12.
რომელიც, როცა დაიწყება დავამატებთ, რომ ნომრები,
იქნება ძალიან განსხვავებული, რადგან სიმებიანი 12
ზოგიერთი გიჟები ნომერი ASCII, მაგრამ მთელი 12
რეალურად 12, რაც გსურთ.
ასე გსურთ დარწმუნდით, რომ atoi.
>> თქვენ აპირებს გვინდა, რომ ეს კეისარი, რადგან თქვენ
უნდა int მიერ მოწოდებული შესახებ ბრძანების.
მაგრამ, როდესაც ისინი მას ბრძანება ხაზი, ის ინახება როგორც სიმებიანი
უნდა დაიწყოს.
ამჯამად რომ აზრი?
თქვენ არ არის აუცილებელი უნდა ამ Vigenere.
ერთად Vigenere, როგორც ვთქვი, ადრე, თქვენ უნდა ვეცადოთ და გამოყენება
ASCII მათემატიკის რომ უფრო ჰგავს ამ, სადაც თქვენ რეალურად
გამოყენებით სიმბოლო, რომ ჩვენ გადაეცა თქვენ.
ზემოთ.
ყველას კარგი არსებობს?
გასაოცარია.
>> ასე modulo.
მერე რა, რომ თქვენ მოცემული ეს დიდი რაოდენობით კეისრისა?
თქვენ გაქვთ იდეა, რომ თუ თქვენ Z და თქვენ
მიცემული ხმების ორი, ეს ნიშნავს, რომ need--
Z ხდება მეორე წერილი შემდეგ თავად, არა?
ასე, რომ თქვენ უნდა როგორღაც გადაიტანოთ გარშემო, და modulo არის გზა ამის გაკეთება.
ასე რომ ყველა არ არის ეს გაძლევთ დარჩენილი
განყოფილების პირველი ნომერი მეორე.
და ჩვენ გვაქვს რამდენიმე მაგალითი გააკეთოს, რომ ცოტა უფრო კონკრეტული.
მაგრამ, ძირითადად, თქვენ იყენებთ modulo, როდესაც თქვენ გინდათ რაღაც გადატანა გარშემო.
>> ასე რომ, თუ თქვენ მხოლოდ მინდა ნომრები ერთი გზით რვა,
თქვენ შეგიძლიათ გამოიყენოთ modulo ნებისმიერ სხვა ნომერი, და ის ყოველთვის
დაბრუნების ხმების ნულიდან რვა.
ასე რომ ზოგიერთი examples-- თუ ჩვენ გვაქვს 55 modulo 10,
ეს მხოლოდ გაძლევთ დარჩენილი 55 იყოფა 10, რომელიც იქნება 5.
და მაშინ სამი modulo ხუთ, არავის გამოიცანით რა, რომ იქნებოდა?
სამი.
>> ასე რომ, თუ თქვენ გაქვთ მცირე რაოდენობის, ვიდრე modulo, მას არ შეუძლია წავიდეს თანაბრად.
ეს ნულოვანი.
ასე რომ, ეს მხოლოდ ბრუნდება რაოდენობის თავად.
ასე რვა modulo რვა იქნება?
>> სტუდენტი: Zero.
>> ALLISON: Zero.
იმიტომ, რომ ეს მიდის თანაბრად.
16 modulo 15?
>> აუდიტორია: ერთი.
>> ALLISON ზემოთ.
და ეს ბოლო არის მხოლოდ ნახოთ you-- თქვენ შეიძლება გაინტერესებთ, OK,
რა არის ბრძანებით ოპერაციების აქ?
გავმიჯნავთ პირველი?
ნუ ჩვენ modulo პირველი?
ასე modulo ფლობს იგივე პრეცენდენტის როგორც სამმართველოს ან გამრავლების,
და მისი მარცხენა ასოციაციურ.
ასე რომ, ეს იგივე გზით.
თქვენ ყოველთვის გავაკეთებთ, ფრჩხილებში, მაშინ გამრავლება, გაყოფა,
და modulo მიზნით მარცხნიდან მარჯვნივ.
ასე სტანდარტული წესები.
უბრალოდ განათავსოთ ამ კატეგორიაში სამმართველოს და გამრავლება.
>> ასე რომ, ამ შემთხვევაში, ჩვენ გვინდა 1 + 2 გვაძლევს 3.
ჩვენ გავამრავლოთ 2, ამიტომ ჩვენ კიდევ 6.
ჩვენ modulo, რომ 2, რაც საშუალებას გვაძლევს?
>> სტუდენტი: 0.
>> ALLISON: 0.
და შემდეგ დავუმატებთ 2, ასე რომ კიდევ 2 ამ უკანასკნელ შემთხვევაში.
ასე modulo-- თქვენ აუცილებლად აპირებს ფიქრი გზა ითვალისწინებდეს
რომ როდესაც თქვენ შეფუთვა გარშემო ანბანი.
თუ თქვენ Z და თქვენ უნდა გადავიდეს ველით სამი ფართები მისაღებად C,
იქ რომ მთელი კონცეფცია შესაფუთი გარშემო.
ასე რომ, მე დატოვებს მას ბიჭებს გაერკვნენ
როგორ ზუსტად თქვენ ვაპირებთ იყოს გამოყენებით.
მაგრამ ნამდვილად სასარგებლო ინსტრუმენტი თქვენი pset ამ კვირაში.
მე ნამდვილად მომწონს ეს.
ეს არის ერთ ერთი ჩემი საყვარელი psets.
მას შემდეგ, რაც თქვენ ამის გაკეთება, თუ თქვენ გაქვთ მეგობრები,
თქვენ შეგიძლიათ, როგორც, ერთმანეთს საიდუმლო წერილები და დარწმუნდით, რომ იგი მუშაობს.
იმის გამო, რომ ამას გაშიფვრა, ან რასაც.
უამრავი fun.
>> და რომ ბოლოს სექციაში.
მე ნაადრევად დაასრულა.
მე ჯერ კიდევ 15-ე წუთზე თქვენ ბიჭები, ასე რომ, თუ არსებობს რამე
რომ თქვენ მინდა წასვლა გარდა ამისა, მე მინდა იყოს ბედნიერი, რომ.
ნებისმიერი სხვა კითხვები თქვენი pset იმ თქვენ,
რომლებმაც დაიწყო და წაიკითხა სპეც.
ყველაფერი, რაც ჩვენ ვისაუბრეთ შესახებ ბოლო საათის
და 15-ე წუთზე, რომ გსურთ me სახის rehash, მე მინდა იყოს ბედნიერი.
ან ჩვენ შეგვიძლია, მას ტოვებს, და თქვენ შეგიძლიათ ტოვებს და უფრო candy თქვენ
როგორც თქვენ გადასვლა.
მაგრამ თუ არსებობს რაიმე lingering შეკითხვები, გთხოვთ ნება მომეცით ვიცი.
ასევე შეგიძლიათ ამუშავება და გაიგო, რომ მე ამის შემდეგ.
მე გპირდებით, რომ მე არ bite.
არაფერი?
ყველას კარგი?
ყველას შეგრძნება, როგორიც მათ შეუძლია ამ pset?
თქვენ იქნება ჯარიმა ბიჭები.
სამუშაო საათებია იქ მიზეზი.
ზემოთ.
კარგად.
>> ასევე, იმ შემთხვევაში, მადლობა ყველა იმდენად მოდის.
იმედი მაქვს, თქვენ მომავალ კვირას.
აქ იქნება უფრო მეტი candy.
შეიძლება არსებობდეს სხვა მაგარი რამ.
და მე მჯერა, რომ მიღების ვიცი ყველა თქვენგანი წელს.