>> დინამიკები 1: დავუშვათ, რომ მინდოდა რათა Scratch უნარი
to sneeze ასევე.
ისე, ჩემი პირველი ინსტინქტები იქნება იყოს, როგორც ადრე, რათა
ბლოკი, დარეკეთ ამ sneeze.
დააკონკრეტა, რომ მინდა დააკონკრეტა რიგი რამდენჯერ
Scratch უნდა sneeze.
შემდეგ დააჭირეთ OK.
ნება მომეცით გადავიდეს ამ მეტი უფლება მისცეს თავს კიდევ რამდენიმე ოთახი.
>> და მაშინ ნება მომეცით, კიდევ ერთხელ წასვლა ვიმეორებ, უმთავრესი default 10 ერთად n.
ნება მომეცით წასვლა ვთქვათ განაცხადი და ამბობენ, რომ არ "Hello", მაგრამ
"Achoo" ერთი მეორე.
შემდეგ მიიღოს მომენტში შესვენების.
და რომ არის ის.
>> ახლა მაქვს ბლოკი მოუწოდა sneeze, ისევე როგორც ბლოკის მოუწოდა ხველა.
ასე რომ ახლა თუ მინდა Scratch ხველა და sneeze, მე შემიძლია უბრალოდ მიუთითოთ
sneeze ქვემოთ მისი ხველა.
სამჯერ, ამბობენ.
დააჭირეთ მწვანე დროშა, და მე უნდა იხილეთ მართლაც, ხველა, ხველა, ხველა.
მოყვება achoo, achoo, achoo.
ჩემი ყველაზე რეალისტური sneezes თარიღი.
>> ახლა შეამჩნია, რომ რაღაც ცუდი დიზაინი.
მიუხედავად იმისა, რომ მე არ მტკნარი დუბლიკატი ნებისმიერი თავსატეხი ცალი, I
აუცილებლად გამოათრიეს და ჩამოაგდო საკმაოდ ბევრად იგივე თავსატეხი ცალი, რაც
ერთი ფუნქცია ოდესმე ისე ოდნავ სხვა სახელი, ვიდრე სხვა, sneeze
წინააღმდეგ ხველა.
ასე რომ, ეს არის შესაძლებლობა ფაქტორინგი გარკვეული საერთო კოდი.
რა თქმა უნდა, შეამჩნია განსხვავება მხოლოდ შორის ხველა და sneeze არის, რომ ერთი
აქვს Scratch რომ "ხველა" სხვა, რომელიც ამბობდა "achoo".
>> ასე რომ, ვერ ჩვენ როგორღაც განზოგადება ამ კოდი ისე, რომ ჩვენ უბრალოდ
დააკონკრეტა, თუ რა სიტყვა გვინდა გადასაფხეკი დარჩენა?
და დამოკიდებულია რომ სიტყვა, ეს იქნება ეფექტურად იყოს ხველა ან
ეს იქნება sneeze.
მოდით წავიდეთ წინ და ამის გაკეთება.
მოდით მესამე ფუნქცია და მოვუწოდებთ ამ ერთი, "ამბობენ." და მე მინდა, რომ
მიიღოს არა მხოლოდ რაოდენობის, მაგრამ ამ დროს სიმებიანი, სხვაგვარად ცნობილია როგორც
სიტყვა ან ფრაზა.
>> And we'll call this "word."
და რამდენჯერ შემიძლია მინდა ვთქვა, რომ ეს სიტყვა?
კარგად მოდით მიუთითოთ ნომერი, ან, უწოდა ერთხელ n.
და მხოლოდ იმისათვის, რომ ამ ბლოკის მეტი იკითხება, ნება მომეცით წავიდეთ წინ და დაამატოთ
label მოუწოდა "ჯერ". ასე რომ, როდესაც თქვენ წაიკითხოს ეს ბლოკი მარცხნიდან მარჯვნივ, ის
სიტყვასიტყვით ამბობს: "ვთქვათ, სიტყვა n ჯერ."
>> ახლა ნება მომეცით წავიდეთ წინ და დააწკაპუნეთ OK.
და ახლა ნება მომეცით განხორციელების ბლოკი, კიდევ ერთხელ გამოყენებით განმეორებითი ბლოკი.
მიუთითებს, რომ მინდა ეს გავიმეორო n ჯერ.
მიუთითებს, რომ მინდა ვთქვა, რაღაც ერთი მეორე.
მაგრამ ვიდრე რაღაც მძიმე კოდირებული ამ ფუნქციას, მოდით ნაცვლად drag
ჩამოაგდეს სიტყვა, რომ უკვე გავიდა შემოსული
მოდით მაშინ დაველოდოთ ერთი მეორე.
ასე რომ, ახლა ნება მომეცით დაბრუნდეს და დახვეწა ჩემი შესრულება ხველა და sneeze,
ისე, რომ ეს ორი ფუნქცია დარეკეთ ამ მესამე ფუნქცია, რითაც
შემცირების ოდენობა დუბლიკატი კოდი.
მოდით სიტყვასიტყვით ჩააგდოს ეს კოდი დაშორებით.
მოდით იმისათვის, რომ ეს კოდი დაშორებით.
და ამ დროს, მოდით უბრალოდ აკონკრეტებს, რომ ხველა უნდა ხორციელდებოდეს
რომ "ხველა" გარკვეული რაოდენობის n ჯერ.
>> და ანალოგიურად, შეგვიძლია დავუბრუნდეთ და ხელახლა განახორციელოს sneeze ისე, რომ იგი იყენებს
ამბობენ, რომ არგუმენტი of "achoo" n ჯერ.
ასე რომ, რა გავაკეთეთ?
ჩვენ აღიარებული კოდი, რომელიც იყო საერთო, როგორც ჩვენი ხველა და ჩვენი
sneeze ფუნქციები, factored ის შევიდა ახალი მესამე ფუნქცია, და შემდეგ
გადაწერილი ხველა და sneeze ასეთ ისე, რომ მათ მოვუწოდო, რომ
მესამე და ახალი ფუნქცია.
>> ახლა ჩვენ აბსოლუტურად გააკეთა ამ მთელი პროგრამის უფრო რთული, ვიდრე ეს
ნამდვილად უნდა იყოს.
ყოველივე ამის შემდეგ, დღის ბოლოს, ჩვენ უბრალოდ უნდა Scratch ხველა სამჯერ
და sneeze სამჯერ.
და შეგვეძლო გავაკეთეთ, რომ რამდენიმე თავსატეხი ცალი.
მაგრამ, როგორც ჩვენი პროგრამების კიდევ უფრო მეტი რთული და ჩვენი პროგრამების მეტი
დახვეწილი, ამ ტექნიკა ფაქტორინგი საერთო კოდი, ან
იერარქიული decomposing თქვენი პროგრამა შევიდა პატარა ფუნქცია, რომელთაგან თითოეული
მოვუწოდებთ სხვა ფუნქციები, არის ძალიან მყარი ტექნიკით.
რადგან ეს უზრუნველყოფს, რომ თქვენი კოდი, მიუხედავად იმისა, რომ იგი იღებს უფრო რთული, ნაშთები
ადვილი განახლება და ასევე ძალიან იკითხება.
>> მართლაც, განიხილოს ბოლოს შედეგი.
როდესაც მწვანე დროშა დააწკაპებთ, ხველა სამჯერ, sneeze სამჯერ.
და რომ არის ის.
ფაქტობრივად, მოდით გავაკეთოთ ზუსტად რომ.
დააჭირეთ მწვანე დროშა და ჩვენ კიდევ ერთი ხველა, ორი coughs, სამი coughs.
მოჰყვა, ჩვენ ვიმედოვნებთ, კიდევ sneeze, ორი sneezes და მესამე sneeze.
იმედი მაქვს, რომ გამოსწორდება მალე.