[Powered by Google Translate] [♪ ♪ Buzzing]
ასე წარმოგიდგინოთ, თუ რა მაქვს up ეკრანზე;
ეს არის ერთ ერთი ინსტრუმენტები ჩვენ შემუშავებული მეტი ზაფხულში;
ეს მოუწოდა CS50 სივრცეები,
და ეს ჩვენი ერთობლივი კოდირების განაცხადის
რომ ჩვენ ვაპირებთ გამოიყენონ სექციები.
ეს საკმაოდ გრილი.
რაიმე თქვენგანს უნახავს CS50 პერსპექტივაში ჯერ არ გაქვთ?
ნება მომეცით დახევის რომ სხვა tab.
Run.cs50.net
ასე
თუ წასვლა run.cs50.net,
ხედავთ ეს არის თქვენი ბრაუზერის გზა
რეალურად კოდი - წერენ C კოდი,
და შემდეგ გაუშვით,
ასე რომ ორივე ადგენს ის, ეშვება, მაშინ ბრუნდება გამომავალი თქვენ,
ასე რომ, ეს სახის cool გზა ექსპერიმენტი
ზოგიერთ კოდი, რომელიც დავით ღებულობენ დასრულდა ლექციები
და ვაძლევთ, რათა თქვენ პრობლემების კომპლექტი
გარეშე რეალურად მქონე მუშაობს up ელექტრო მოწყობილობების.
>> რა სივრცეები აკეთებს რომ განსხვავდება
თუ გადართოთ თავში ამ tab,
სივრცეები არის CS50 პერსპექტივაში, ისევე როგორც ხედავთ უფლება აქ,
მაგრამ თუ ჩვენ გადახვევა მეტი და შევხედოთ მეორე მხარეს ფანჯარა,
ხედავთ უფლება ვარ ერთადერთი ადამიანი ამ სივრცეში,
მაგრამ რა მე ვაპირებ გააკეთოთ გკითხოთ ბიჭებს შეუერთდეს ამ სივრცეში ჩემთან ერთად
და ჩვენ ყველა მისაღებად კოდი იმავე პატარა ფანჯარა,
იზიარებს კოდი ერთმანეთთან,
და ვისაუბროთ განსხვავებები ჩვენი კოდი.
ასე რომ სახის cool რამ -
ასე შეუერთდეს, თუ ეწვევა ამ ბმულს უფლება აქ ზედა
რომ მე ხაზგასმით,
შეგიძლიათ უბრალოდ აკრიფოთ apps.cs50.net/spaces/vqcspSnO.
>> ყველა უფლება, ასე უნდა დაიწყოს off,
მე ვაპირებ მოგცემთ ცოტა ტური ამ.
ჩვენ ამოვიღებთ დაკავდით სულელური პატარა კოდირების მას თავდაპირველად,
ასე რომ ყველას kinda იღებს შეგრძნებას რასაც ის მსგავსად,
მაგრამ რა გავაკეთეთ -
ან რა ვარ შესახებ გავაკეთოთ სწორედ აქ არის -
მე ვაპირებ მიიღოს კოდი, რომელიც მე დაწერილი აქ,
რომელიც როგორც ხედავთ ახლავე ცარიელია;
იგი არაფერს აკეთებს.
უბრალოდ საქვაბე Plate კოდი, ჩვენ ეძახით.
ერთად პატარა გასაკეთებელ კომენტარი.
მე ვაპირებ შეინახეთ მიერ hitting ამ Save ღილაკს.
და რა რომ არ არის ეს
ხაზგასმით იგი აქ მოკლედ - რომ გადასინჯვის save მწვანე ყუთი,
და ახლა, თუ თქვენ მოძებნოთ ჩემთვის ფართი,
თქვენ დააჭირეთ ჩემი სახელი,
თქვენ ხედავთ, რომ მაქვს ამ გადასინჯვის უფლება აქ,
და თუ თქვენ დააჭირეთ, რომ ვერსიასთან,
იგი ყველაფერს რომ ჩატვირთვა კოდი თქვენს ფართი, ძალიან.
>> ასე რომ უკვე ყველას დატვირთული რომ კოდი თავიანთ ფართი?
ყველა უფლება, თუ არ არის, წავიდეთ წინ და ამისათვის,
და მაშინ რა მინდა ბიჭებს უნდა გააკეთოს ამ პატარა გასაკეთებელ სექციაში
არის წერენ ცოტა გამოყენებით printf თავის შესახებ,
ასე მაგალითად, მე წერენ
printf ("ჩემი სახელია Nate");
და მაშინ მე მინდა წერენ
"დავამთავრე 2009 წელს
საწყისი სტენფორდის "
და მინდა მიყვარს მოვისმინოთ
რა წელი თქვენ ხართ სკოლის,
თუ თქვენ კოლეჯში ან ბიზნესის სკოლა
ან სხვა ჰარვარდის სკოლა,
თუ რას სწავლობს თუ ეს ჯერჯერობით;
თუ ეს არ არის ცნობილი, რომ სრულიად გრილი.
მე არ გადაწყვეტს, სანამ გვიანი იყო ჩემი მეორე წელი.
და მერე მე მინდა ასევე მიყვარს ვიცი
არაფერი გიჟები გსურთ მითხრათ ან
რაღაც შესახებ კლასის ან უბრალოდ არაფერი.
როდესაც თქვენ გაკეთდეს წერილობით, რომ თქვენი პატარა printf,
თუ თქვენ გადარჩენა გადასინჯვის ან საკმაოდ
პირველი დარწმუნდით, რომ შეგიძლიათ გაუშვათ
და რომ ბეჭდავს out ზუსტად რა გნებავთ ამობეჭდოთ,
და მაშინ, თუ თქვენ წავიდეთ წინ და შენახვა, რომ გადასინჯვის
გამოყენებით ცვლილებათა შენახვა ღილაკს, ამ პირველი პატარა ბიჭს მეტი აქ,
და ჩვენ kinda გავლა და პატარა შესავალი, რომ გზა.
ასე, რომ თქვენ უნდა უბრალოდ უნდა მოხვდა Play ღილაკს,
რაც აქ ზედა მარცხენა,
ასე რომ ეს თამაში ღილაკს ზედა მარცხენა ნების
გაუგზავნოთ კოდი off ჩვენი სერვერი, სადაც იგი იღებს შედგენილი და შემდეგ აწარმოებს.
ასე რომ რა kinda გიჟდება ეს
ეს კოდი რეალურად არ არის გაშვებული თქვენს კომპიუტერში;
ეს მართლაც გაგზავნილი მასშტაბით ინტერნეტით.
>> როგორ არის ის აპირებს, Charlotte?
>> I - okay. I'm - ვფიქრობ მე
რომელმაც სირთულეების გადარჩენის ეს
სერვერზე ასეთი, რომ მას შეუძლია - შემიძლია პროგრამის გაშვება.
და მაშინ როდესაც მე ვცდილობ გაუშვით, ნათქვამია, რომ არსებობს შეცდომა.
გამოცხადდა ვირუსი, რომელიც არ არსებობს უქმნით.
ოჰ, ვნახოთ, შეიძლება მოხვდა შენახვა ერთხელ?
მე ვხედავ მას ეკრანზე.
>> მარჯვენა, okay, ისე, რომ ის, რაც მაქვს.
და მე არ ვიცი, რატომ არ მაძლევს გაუშვით.
ოჰ, okay, უკაცრავად.
შეგიძლიათ თუ რატომ - რა გჭირსო - რა იყო არ მუშაობს ეს?
>> ჰო, იმიტომ, რომ მე ვერ ვხედავ, რომ იქ იყო ბოლო ხაზი, სადაც მაინც ცვლადი
რომ არ მქონდა განაცხადა, რომელიც მე არ ვაპირებ მას იქ ყოფნა.
ჰო, მშვენიერი!
>> არის თუ გადაარჩენს, მე ვფიქრობ, რომ უნდა ვიმუშაოთ.
ახლა, როდესაც თქვენ გადაარჩინა იგი, მუშაობს; გასაოცარია.
>> ამიტომ yeah, როგორც ჩვენ გაიაროს -
ასე, რა ხდებოდა,
მე უბრალოდ აპირებს გაიმეოროს ეს კამერა.
რაც ხდებოდა, რომ ეს ცვლადი s
დარჩა შემდეგ - მე ვივარაუდოთ, თქვენ წაიშალოს ზოგიერთი სხვა პერსონალი
სადაც თქვენ გამოცხადდა,
და ამიტომ ეს იყო სროლა რამ off და არ გაქირავების თქვენ გაუშვით.
ასე რომ, ეს არის ზუსტად ის, რაც ჩვენ გვსურს რომ ნაწილში
არის ხალხი არ ცდილობენ წერა სხვადასხვა ცალი კოდი,
შედგენა მას, ვნახოთ, რა მუშაობს, ვნახოთ, რა არ მოხდა,
და შემდეგ kinda ვისაუბროთ ამ საკითხზე, რადგან ეს არის tripping რაოდენობა რომ
მე მაინც ექმნებათ,
მე მაინც - მე უამრავი სულელური პერსონალის ყველა დროის,
და მე არ ვიცი, რატომ არ მუშაობს,
მოდით დახევის up Charlotte მისი გადასინჯვის 3,
და ჩვენ გაუშვით.
>> ასე რომ, როდესაც მე აწარმოებს, ახლა რომ მაქვს მისი კოდი აქ,
შემიძლია მიუახლოვდით, მოხვდა Run ღილაკს,
ატვირთვის ეს, აშენებს მას, ეშვება იგი,
ამბობს, რომ გაიქცა წარმატებით, და თუ გადახვევა down,
ვხედავ Charlotte არის უმცროსი საათზე Adams სახლი,
ფსიქოლოგიის, საშუალო ეკონომიკაში; გასაოცარია.
დიდი თქვენთან შეხვედრა!
გასაოცარია.
Okay, მოძრავი, მოდით წასვლა დანიელ,
წასვლა გადასინჯვის 3,
კომპილირდება, აწარმოებს;
რატომ არ გვეუბნებიან შენს შესახებ, დანიელ?
>> მირეკავენ დენ.
მე ვაპირებ ბიზნესის სკოლა მოპირდაპირე თქვენ ბიჭები,
მე კი საზღვაო ადრე აქ,
და ეს არის ყველა ახალი ჩემთვის, ასე yeah.
ნუ ძალიან ცუდად, მე ვარ 30 და მე არ ვიცი არც ერთი ამ პერსონალი.
გასაოცარია, წყალობით, დენ?
ყველა უფლება გვაქვს სხვა დანიელ.
თქვენ გადასვლა დანიელ - იქნება თქვენ გაგვეცანი, დანიელ?
>> >> რა თქმა უნდა, მე ვარ დანიელი.
მე მეორე ეტაპზე Mather ახლავე.
მე კონცენტრირებული ხელისუფლების,
მაგრამ მინდოდა CS50 რადგან მე მოვისმინე დიდი მიმოხილვები შესახებ კლასის
და მე არასოდეს ცდილობდა CS ადრე.
Scroll ქვემოთ აქ და ნახოთ ამ - cool.
მოძრავი, Jared.
როგორ არის ის აპირებს?
>> კარგი, როგორ ხარ?
როგორც ხედავთ, მე უმცროსი ფილოსოფია კონცენტრატორი in ელიოტი,
წარმოშობით სამხრეთ კალიფორნიის,
და მაინტერესებს აღების CS50 რადგან მომწონს ლოგიკა ის,
და როგორც ჩანს მართლაც მაგარი გავაკეთოთ რამ კომპიუტერზე, ასე.
გასაოცარია, სადაც სამხრეთ კალიფორნიის ხართ?
>> ჩვენს საათში [inaudible], პატარა ქალაქის [inaudible].
Oh, yeah, ჩემი მამა არის საწყისი Redlands.
მაგარი რამეები.
>> ყველა უფლება, ჯიმი, როგორ არის ის აპირებს, ჯიმი?
>> კარგი, როგორ ხარ?
Doing კარგად!
მოგვითხრობს თავის.
>> ვარ freshman, და მე არ ვარ მთლიანად დარწმუნებული რა მე კვალიფიკაცია
მაგრამ მე kinda პრო მიმართ ეკონომიკის.
მომწონს დანიელ ჩემ წინაშე, მე არასოდეს კეთდება ნებისმიერი CS, მაგრამ ჟღერს kinda cool.
მე წარმოშობით ჩიკაგოში.
გასაოცარია. ამიტომ შეამოწმეთ მისი ამონაწერი აქ.
მინდოდა ვთხოვო, ეს ბეჭდვითი out როგორც თქვენ მოსალოდნელია?
>> არა, მე დაავიწყდა ბეჭდვა ახალი ხაზი.
მე რეალურად დაავიწყდა რომ როცა ვწერდი ჩემი რამ
პირველად, ძალიან.
ეს სახის ტკივილი გვახსოვდეს დააყენოს იმ ხელით.
ეს მინდა იყოს ლამაზი თუ ის უბრალოდ ვიცით, რომ ის, რაც თქვენ სურდა.
>> Okay, კელი.
Wow, ჩვენ გვაქვს 2 Kellys; 2 დენიელსი, 2 Kellys.
ამიტომ Kelly - დადიხართ მიერ Kelly Ren?
Okay, გასაოცარია.
ან კელი, ვგულისხმობ.
>> So yeah, ამიტომ მე Kelly.
მე მეორე წელს Pfoho.
მე მივიღე ელ დღეს, რომ კიდევ მაქვს 7 კვირის განვაცხადო ჩემი კონცენტრაცია,
ამიტომ ვცდილობ, არ დაფიქრდით,
და მომწონს საცხობი, გაშვებული და Craisins.
მე არ მაქვს გამოცდილება უმეტესობა CS;
მე ვასწავლიდი თავს აშენება საიტებზე როდესაც მე ნამდვილად ახალგაზრდა,
მაგრამ ვფიქრობ, ალბათ ასწავლიან თავს არასწორი ბევრი ჯერ.
იმედია მე ვისწავლოთ ცოტა მეტი
და - Yeah.
>> გასაოცარია, კარგად, მადლობა.
მოდით წასვლა სხვა Kelly;
მე არ მაქვს არაფერი - არ ამბობენ რაღაც აქ?
>> [Inaudible]
არსებობს ეს!
Sweet?
>> ყველა უფლება, ამიტომ მე Kelly.
მე პირველი კურსის სტუდენტი კურსდამთავრებული.
მე კვალიფიკაცია Mind, ტვინის, და განათლებისა.
დავამთავრე წელს Franklin & Marshall კოლეჯში 2008
ერთად მაიორი ფსიქოლოგიის და სოციოლოგიის
და უმნიშვნელო ფრანგულ.
მე აღების CS50
რადგან მაინტერესებს მიღების დოქტორი ნეირომეცნიერებებში
და ვგრძნობ, როგორც ეს დამეხმარება მესმის ტექნოლოგიები გამოიყენება.
გასაოცარია.
მოძრავი, Mikaela.
არის ის, რომ სწორი გამოთქმა?
Okay, გასაოცარია.
>> >> ვარ Mikhaila.
მე მეორე წელს KIRKLAND სახლი,
და მე concentrating in მანქანათმშენებლობის.
მე ნამდვილად მომწონს Cycling, აშენდა ველოსიპედით ამ ზაფხულს.
მე აღების CS, ფაქტობრივად,
როგორც კონცენტრაცია მოთხოვნას,
მაგრამ თქვენ იცით, რომ მე ვფიქრობ, რომ მაინც მაგარი სახის საინჟინრო კლასი.
გასაოცარია - აშენებთ, ველოსიპედით ამ ზაფხულს?
>> Yeah.
Wow, ისევე როგორც ჩარჩოში და ყველა რომ?
>> Uh-hunh (სასარგებლოდ).
Wow, რომ მართლაც მაგარი.
>> [Inaudible off-კამერა სტატისტიკა]
[სიცილის]
ჰო ასე ხანგრძლივი.
თქვენ არასოდეს ვიცი, არა?
ისე, მაგარი, კარგად წყალობით, Mikhaila.
>> ყველა უფლება, მისი.
>> ჩემი სახელი მისი Missy; მე freshman,
ასე რომ ნიშნავს არ ვიცი არაფერი!
მინდა კონცენტრირება წელს ასტროფიზიკა.
In CS50,
ვგრძნობ მოსწონს აუცილებლად დაეხმარება, რომ.
უცნაური ფაქტი ჩემზე არის მე ეროვნულ დამოწმებული მეხანძრე.
Wow!
როგორ მოხდა ეს?
>> დავესწარი აკადემიის
და გაიარა ჯოჯოხეთი, უამრავი კვირის
და მიიღო ჩემი სერტიფიცირების.
Wow, Congrats!
ეს ნამდვილად არ არის პატარა feat, ამისთვის დარწმუნებული.
Okay, ასე ახლა ჩვენ გავაკეთებთ ჩემთვის.
მე შემდეგი ერთი მწკრივი.
I'm - გაუშვით.
>> ასე რომ, ჩემი სახელი არის Nate.
მე ვიყავი კლასი 2009 სტენფორდის.
მე ვიყავი სიმბოლური სისტემები მაჟორი,
რაც მსგავსი Mind, ტვინის, ქცევის კონცენტრაცია აქ,
მაგრამ სახის ნაზავი
კომპიუტერულ მეცნიერებათა, ენათმეცნიერების, ფსიქოლოგიის, ფილოსოფიის და.
სახის - yeah, ბევრი უცნაური პერსონალის, მაგრამ ეს იყო დიდი,
და მაშინ მე ჩემი სამაგისტრო კომპიუტერულ მეცნიერებათა, ისევე.
ასე რომ, მე ვარ ახალი ჰარვარდის წელს.
მე ნამდვილად მინდოდა შეღწევას სწავლება.
გავატარე ბოლო 4 წლის სტენფორდის TA-ING კომპიუტერულ მეცნიერებათა კლასები
და ა.შ. დავით ნება მომეცით მოდის,
და მე gonna be ეხმარება out ერთად CS50,
ასე რომ ამ სრული დრო; მე არ გრადის სკოლა.
უკვე გართობა.
იმედია გავაგრძელებთ იყოს fun; დარწმუნებული ვარ, ეს იქნება.
>> ყველა უფლება, სემ.
>> ჩემი სახელი არის სემ, მე ვარ მეორე კურსის კოლეჯში, კანონით კონკრეტულად.
ჩემი მთავარი იქნება ისტორიის მეცნიერებათა, ალბათ, და VES საშუალო,
და ჩემი საყვარელი ფერი არის ყვითელი.
არ უნდა გაიაროს გადაწყვეტილება ან არაფერი, მაგრამ კარგი ფერი?
და Stella.
>> Hi, მე Stella, მე ვარ freshman in Grays.
მე არ ნახავ რასაც მე კონცენტრირებული არ არის,
ასე CS50 მხოლოდ სახის შემთხვევითი,
რაც საინტერესოა.
გართობა ფაქტი, ჯიმი იყო პირველი ჰარვარდის მეგობარმა,
რადგან ჩვენ, როგორც ჩიკაგოში.
ზემოთ, და უნეტარესის - ეს უნდა იყოს მართლაც ლამაზი ერთი, არა?
>> მეგონა [inaudible].
Oh, yeah.
[Inaudible / off-კამერა სტატისტიკა]
Okay, მე მაინც სწავლის, მაინც სწავლის.
>> ამიტომ, ჩვენ მივიღეთ რაღაც რომ სახის საინტერესო აქ.
ჰო, მე უბრალოდ მაინტერესებს, გაქვთ იდეა, რომ ხდება აქ?
თქვენ იცით, თუ როგორ ინტერპრეტაცია ამ?
>> მე უნდა დააყენოს მძიმით შემდეგ თითოეული ხაზი.
სწორედ სახის ტკივილი.
ზოგჯერ იმ semicolons შეიძლება იყოს რეალური ტკივილი მწკრივზე ქვემოთ.
გამოდის, რომ
სპეციალური პროგრამა ჩვენ გამოყენებისას წელი
კომპილაციის ჩვენი C კოდი ეწოდება Clang,
და მიზეზი დავიწყეთ გამოიყენოს Clang წელს -
იმიტომ, რომ ჩვენ არ გამოუყენებია, რომ პროგრამა წარსული;
ჩვენ გამოიყენება მეორე მოუწოდა gcc რომ მართლაც პოპულარული -
Clang რეალურად გაძლევთ შეცდომის შეტყობინებები, რომ აზრი.
ეს ერთი ამბობს "მოსალოდნელია ';' შემდეგ გამოთქმა",
და ეს კი გიჩვენებთ გამოხატვის რის შემდეგაც თქვენ საჭირო მძიმით.
ასე რომ თქვენ აფიქსირებს მას?
>> ჰო, ახლავე.
გასაოცარია, ნება მომეცით ვიცი და ჩვენ გაიყვანოს it up, და ჩვენ გაუშვით.
მაგრამ yeah, აყენებს ამ semicolons წელს არის სახის ტკივილი.
>> მე დაფიქსირდა, ასე რომ მე ვფიქრობ, რომ უნდა ვიმუშაოთ.
გასაოცარია - სარევიზიო 3.
რომ ჰგავს მას.
ყველა უფლება, ასე რომ, ახლა თუ ჩვენ გაუშვით,
იქ მიდის.
მაგარი რამეები.
>> ყველა უფლება.
ასე რომ მადლობა აკეთებს, რომ.
დიდი შეხვდება თქვენ ბიჭები.
რა ჩვენ ამოვიღებთ ახლა არის დახარჯოს შემდეგი ცოტა
kinda diving შევიდა სექციაში პრობლემები
რომ მოდის პრობლემა ნაკრები ამ კვირაში
და ჩვენ ყველაფერს გავაკეთებთ, რომ უმეტესი სექციები
დანარჩენი ტერმინი,
და მაშინ ჩვენ გადარჩენა ბოლო 15, 20 წუთი ან იმდენად
ვისაუბროთ პრობლემის მითითებული თავად
და შემდეგ უბრალოდ ნებისმიერ სხვა კითხვები გაქვთ ზოგადად შესახებ კლასი.
რომ განაცხადა, რაც ჩვენ ნამდვილად wanna do
არის არ ყველას მონაწილე
გამოყენებით სივრცეები პერსონალის,
სროლა კოდის, სროლა წელს წინადადებები,
და ვსაუბრობთ, როდესაც რამ, როგორიცაა ამ შესვენების
ან არ მუშაობს, მხოლოდ იმიტომ, რომ ეს ის საკითხებია, რომლებზეც
მე ვიცი, ჩამოვედი მასშტაბით
როდესაც დავიწყე კოდირება,
და, მართლაც, kinda frustrating at ჯერ
რადგან თუ ეს მოსწონს 2 საათზე ადრე თქვენი პრობლემა კომპლექტი გამო,
ასე - მხოლოდ გამჟღავნება,
მე არ დაწყებულა პროგრამირების სანამ მე ვიყავი მეორე წელს კოლეჯი.
ეს იყო ერთგვარი ამ უცნაური, გაურკვეველი რამ
რომ გავიგე იყო kinda cool
და მე ასევე მოვისმინე ეს შეიძლება იყოს რეალური ტკივილი კონდახით
თუ გამოტოვებთ მძიმით და ეს მხოლოდ შეცდომა შენახვა თქვენი პროგრამის სამუშაო
და შენახვის თქვენ აპირებს დაძინება,
ასე ნამდვილად,
თუ თქვენ გაქვთ შეკითხვები, როგორიცაა, რომ
თუ თქვენ გაქვთ შეშფოთების მოსწონს, რომ, ნება მომეცით ვიცი,
რადგან მინდა, რომ ეს კარგი გამოცდილება თქვენთვის ბიჭები.
>> ასე რომ თქვენ ბიჭები ყველა გადმოწერილი პრობლემა მითითებული ჯერ არ გაქვთ?
Kinda ვიცი სადაც ეს? Okay.
ამიტომ ჩვენ წასვლა cs50.net, რადგან მე არ მაქვს ეს ამ ანგარიშზე,
დახევის up პრობლემა კომპლექტი,
დახევის up პრობლემა კომპლექტი 2, და ჩვენ შევხედოთ სტანდარტული გამოცემა დღეს.
ჩვენ დახევის up სპეციფიკაცია აქ.
Scroll down.
ამიტომ ჩვენ ამოვიღებთ დაიწყოს ეძებს განყოფილების კითხვებს.
თქვენ ბიჭებს უყურებს ამ შორტები ჯერ არ გაქვთ?
Okay.
ასე რომ შორტები on მარყუჟების,
რაც ხდება Tommy, ერთი ხელმძღვანელი სწავლების პრაქტიკის.
თუმცა ერთი წლის ფარგლებს,
მე მჯერა გაკეთდეს სხვა სწავლების თანამემამულე დავითი
და მერე ერთი კეისრის კოდი ასევე კეთდება დავით.
ისინი საკმაოდ გრილი.
თქვენ ბიჭები ადევნებდით თვალს მათი შორტები აქამდე?
How've ისინი ყოფილა?
დაგეხმარათ პასუხი? Okay, კარგი იცოდეს.
თუ ისინი არ, შეიძლება ითქვას ასე.
მაგრამ სანამ თქვენ აკეთებთ,
არ თქვენ ბიჭები შევხედე ამ კითხვებზე
ყველა?
>> მოდით ვისაუბროთ ამ ცოტა.
ამიტომ ჩვენ გააცნო უკანასკნელი რამდენიმე კვირის
ლექციების
სხვადასხვა მარყუჟების.
არსებობს ამისთვის მარყუჟის,
ხოლო მარყუჟის და შემდეგ do-ხოლო მარყუჟის,
და ლექცია, ჩვენ ვსაუბრობთ ლოტი შესახებ
როგორ იმ მარყუჟების ყველა
სამართლიანად მსგავსი ბევრი გზა,
და შეგიძლიათ ბევრი რამ ამავე რამ ერთად ხოლო loop
რომ თქვენ შეუძლია ამისთვის loop.
თქვენ უბრალოდ უნდა სახის გამოიყენოთ უფლება კომბინაციები ცვლადები და ასეთი.
და ასე ნამდვილად
რეალური განსხვავება შორის ყველა მარყუჟების ის არის, რომ
ზოგჯერ ისინი უფრო სასარგებლო
მათი გამოყენება ერთ დროს, ვიდრე სხვა დროს.
>> ასე მაგალითად,
ხოლო loop განსხვავებული do-ხოლო loop.
ამჯამად ყველას იგრძნონ მათ აქვთ კარგი სახელური, როდესაც
do-loop ხოლო უფრო
სასარგებლო ან რა განსხვავება არის?
>> ვფიქრობ განსხვავება do-ხოლო loop
გადის - არ ვიცი საკმაოდ, რა ტერმინოლოგია,
მაგრამ რიგი ფუნქციების loop.
ისინი ავტომატურად - ის აკეთებს გაშვებებით მინიმუმ
სანამ ამოწმებს მდგომარეობა, ან მაშინ როცა მარყუჟის იქნება მხოლოდ გაუშვით როდესაც
იგი განუწყვეტლივ გადის - თუ არა მდგომარეობა მიმდინარეობს დაკმაყოფილდა.
ჰო, ჯერ რომ აზრი?
>> მოდით შევხედოთ ცოტა კოდი.
ასე რომ მხოლოდ გავიმეორო შეკითხვა,
ან პასუხი, საკმაოდ;
პასუხი იყო, რომ
ხოლო loop შეამოწმებს თუ მდგომარეობა
რომ თქვენს მიერ მითითებული დაკმაყოფილებულია
სანამ გადის ორგანოს loop პირველად,
ხოლო do-ხოლო loop ავტომატურად აწარმოებს ორგანოს მარყუჟის,
არის ის, რაც ჩვენ მას - ეს უცნაური ტერმინოლოგიით
მაგრამ თუ ოდესმე გეტყვით, რომ არ აქვს აზრი, ნება მომეცით ვიცი -
loop ორგანო არის, რომ პერსონალი, რომ თქვენ დააყენა შორის Curly braces.
და do-ხოლო მარყუჟის,
რომ სხეულის მისაღებად აწარმოებს ერთხელ მაინც,
და შემდეგ მდგომარეობა იღებს შემოწმდება სანამ გადის ყოველ თანმიმდევრული დრო.
>> ასე რომ, რეალურად, სემ,
მიგაჩნიათ იბადება წერა მარტივი ხოლო loop
წელს სივრცეები?
>> როგორ დასალაგებლად მსგავსი
მიიღოს ახალი ...?
მე ვშლით რასაც თქვენ გაქვთ იქ.
ჰო, უბრალოდ გარკვევა იგი out.
>> ისე, მე მჯერა მე მქონე ამ -
რომელი გნებავთ, ხოლო, თუ გსურთ ...?
ჰო, უბრალოდ, ხოლო ჭეშმარიტი, ბეჭდვა რაღაც გარეთ.
და ვნახოთ.
ალექსანდრე, მივხვდი, ჩვენ არასოდეს გააცნო თქვენ.
>> Oh, რომ ჯარიმა.
მიგაჩნიათ თუ არა - შეგიძლიათ კოდი up do-loop ხოლო ჩვენთვის?
>> ჰო, ვეცდები.
ყველა უფლება, ჩვენ უბრალოდ დახევის ეს up ეკრანზე,
ასე რომ თქვენ ტიპის აქვს სახელური, თუ რა განსხვავებები არის.
>> ასე რომ აქ არის ის, რაც სემ კეთდება.
ის მივიღე რიცხვი მოუწოდა მე
რომ ის ინიციალიზაცია დან 17.
შემდეგ იგი აცხადებს, ხოლო (int i = 17)
printf ("ჩემი სახელი არის სემ.");
რა ხდება, როდესაც ჩვენ აწარმოებს ამ კოდი?
აქ შეცდომა, რა შეცდომა ამბობენ?
მოდით დახევის ეს და საუბრობდა.
შეცდომა, ნათქვამია მოხსენებაში.
მოდით გადახვევა down.
ასე რომ მოგვცა ეს შეცდომა, და ეს განაცხადა,
"Hey, I მოსალოდნელია გამოხატვის."
სწორედ kinda cryptic.
ჰო, ასე რომ ზუსტად - და ისევ,
იქ იქნება კიდევ ერთი პატარა bug რომ ჩვენ დაჭერა მხოლოდ მეორე.
მაგრამ ეს კიდევ ერთი იმ სახის უცნაური ტერმინოლოგიის რამ,
ასე რომ ეს int i = 17
არ არის გამოხატვის.
რა გამოიყურება იგი აკეთებს არის ის
გამოცხადების მთელი მოუწოდა მე
და განსაზღვრავს მას გაუტოლდება 17
ან, საკმაოდ, აყენებს 17 შევიდა, რომ int მოუწოდა მე.
და რომ არ აქვს აზრი
კონტექსტში ამ ხოლო loop.
ეს იმას აქვს აზრი, როგორც ვნახავთ,
კონტექსტში ამისთვის მარყუჟის, რადგან loop დეკლარაციების არ დაიწყოს off
ერთად რომ int მე შეადგენს რაღაც
და განაგრძობს.
>> ამიტომ ვერ -
დაფიქსირება რაღაც, ყველა უფლება.
აქ გადის; გასაოცარია.
ახლა რამ გამოიყურება ცოტა განსხვავებული.
რამდენიმე რამ შეიცვალა.
შეგიძლიათ გვითხრათ რა რამ შეიცვალა?
>> მე ამოიღეს int, ამიტომ არ დეკლარაციის [inaudible] ნაცვლად დავალება.
ერთი თანაბარი ნიშანი, მე ზუსტად 2 თანაბარ ნიშნები, რაც იმას ნიშნავს, შეადგენს.
გასაოცარია.
ჰო, ასე რომ სემ გააკეთა, ის ამოიღეს int
რომ სწორი იყო აქ ადრე,
ასე რომ, თუ უბრალოდ შეხედეთ ამ - ეს არის ის, რაც იყო ადრე, მას განაცხადა int,
რომელიც გამოცხადების ის - ამიტომ ჩვენ ამოიღეს ტიპის.
არსებობს int, char, სიმებიანი, მოკლე,
იმ უწოდებენ ტიპის.
ასე, რომ თქვენ ამოიღეს ტიპის
და მაშინ ადრე,
მას ჰქონდა მხოლოდ ერთჯერადი ტოლობის ნიშანი
და რა განაცხადა მან იყო პრობლემური ამ იყო
როდესაც თქვენ გაქვთ 1 ტოლობის ნიშანი,
რომ დავალება ოპერატორი.
ეს არ არის ტესტირების თუ არა 2 რამ თანაბარი.
რომ რეალურად შექმნის რაღაც ტოლია რაღაც.
ჩვენ გამოსული ხმების 17 შევიდა ცვლადი მე.
ასე გავაკეთოთ, რომ სახის შედარებით,
თქვენ უნდა გამოიყენოთ ორმაგი შეადგენს,
რაც სახის უცნაური რამ
მაგრამ არის საკმაოდ საერთო შეცდომა.
ასე რომ ერთი სხვა რამ მე აღვნიშნო, თუ არ იბადება,
ის არის, რომ
ჩვენი ფუნქცია აქ int ძირითადი,
ხედავთ, რომ სხეულის ჩვენი ფუნქცია
არის ოფსეტური მარცხნიდან
მიერ 4 ფართები ან tab.
მიზეზი ჩვენ ამას ვაკეთებთ
არის მხოლოდ readability.
როგორც ხედავთ წელს სემ ს ხოლო loop აქ,
მას არ აბზაცის ყველა,
და რომ არ მოქმედებს ფუნქციონალური კოდი.
იგი მიიღებს ზუსტად იგივე.
>> ასე მაგალითად, თუ ჩვენ ამუშავება უნდა დაბრუნება აქ
და დააჭირეთ ჩვენი Play ღილაკს, ეს ხელს შეუწყობს მას,
ეს კიდე გაუშვით,
და რა მოხდება?
რატომ კვლავ აცხადებენ, გაშვებული?
>> რადგან გავაგრძელებთ გამეორებას hi.
სწორედ, და რატომ შენარჩუნება იმეორებს hi?
>> გამო მთელი რიცხვი არასოდეს იცვლება, ამიტომ ყოველთვის 17.
ჰო, ზუსტად, ისე
ვნახოთ, შემდეგ - მაგონებს თქვენი სახელი კვლავ?
ჯიმი. ასე რომ ჯიმი განაცხადა, რომ
მიზეზი ამ ინახავს იმეორებს hi უსასრულოდ
არის, რადგან ეს მდგომარეობა კი ყოველთვის მართალია.
ჩვენ არასოდეს არ შეიცვლება ღირებულება მე.
ჩვენ არასოდეს არ შეიცვლება შინაარსი, რა ინახება, რომ ცვლადი.
ამრიგად, ამ ეტაპზე ჩვენ მოხდა ეს შეცდომა, რომ
თქვენი პროგრამის გენერირებული ძალიან ბევრი გამომუშავება,
და თუ ჩვენ გადახვევა down და სახის შევხედოთ რა ხდება აქ,
თქვენ ხედავთ, რომ ეს არის hi, hi, hi, hi, hi, hi, hi ყველა გზას.
გასაოცარია.
>> ამიტომ სახის თავში ორიგინალური წერტილი
რომ მქონე წანაცვლება აქ
სხეულში ხოლო loop არ იმოქმედებს რამე.
პროგრამა კვლავ გაიქცა მხოლოდ ჯარიმა.
როგორც წესი კარგი სტილი -
და ეს არის ის, რასაც ჩვენ ვეძებთ თქვენს პრობლემას კომპლექტი -
ჩვენ გთხოვთ, რომ აბზაცის ამ მიერ 4 ფართები, რომელიც შეგიძლიათ გააკეთოთ,
მხოლოდ დაჭერით tab გასაღები
ან ხელით აყენებს წელს 4 ფართების თავს.
ზემოთ, okay მოდით დავუბრუნდეთ და შევხედოთ
ალექსანდრეს do-ხოლო.
>> Just kinda მქონე პატარა უბედურება.
Okay, კარგად მოდით მუშაობა საშუალება.
ის არის, რომ ზემოთ?
>> Yeah.
>> Okay, ასე Here We Go.
ეს არის კოდი, რომელიც ალექსანდრე წერდა.
დადიხართ მიერ ალექსი - okay.
ასე რომ აქ კოდი, რომელიც ალექს არ გაუკეთებია.
ასე რომ, ჩვენ მივიღეთ ჩვენი დეკლარაციის ძირითადი უფლება აქ,
და მაშინ ჩვენ მივიღეთ ეს რიცხვი ცვლადში მე
ცხადდება უფლება აქ.
გვაქვს do განაცხადი
და მაშინ სხეულის კვლავ ამ braces,
ასე რომ, ეს არის ორგანო do-ხოლო -
ნება მომეცით მიუახლოვდით ამ ამიტომ უფრო იკითხება -
და ორგანო, ჩვენ ვცდილობთ, რომ ბეჭდვა "ეს ორგანო",
მე + +,
ამიტომ ნამატი შინაარსი I და ამის გაკეთება
სანამ იღებს უნდა იყოს 3,
და მაშინ ჩვენი პროგრამა დასრულდება.
>> რა ხდება, როდესაც ჩვენ აწარმოებს ამ პროგრამის?
>> ველოდი იდენტიფიკატორი.
Okay, ასე აშენება, აწარმოებს, შეცდომა ხდება.
რა ხდება?
ჩვენ გადახვევა ქვემოთ აქ,
მივიღებთ ამ გარკვეულწილად cryptic ეძებს რამ,
მოსალოდნელია მძიმით შემდეგ უმაღლესი დეკლარაციას.
სწორედ kinda weird.
ვინმეს აქვს იდეა თუ რა შეიძლება მიმდინარეობს?
Kinda უცნაური, yeah.
>> [Inaudible] გამოცხადდება გარეთ ფრჩხილებში?
ასე რომ ამჯამად არ ვრცელდება შემდეგ, როდესაც თქვენ იყენებთ ფრჩხილებში?
მან განაცხადა ამ ბიჭს გარეთ რომელიც ფრჩხილებში?
ოჰ, ეს ბიჭები - Curly braces?
>> Yeah.
ჰო, ზუსტად.
გამოდის, რომ
ვერ რეალურად განაცხადოს ცვლადი უფლება აქ მოსწონს ეს.
რა ალბათ ცდილობთ იყო -
გაჭრა იგი გარეთ არსებობს -
თქვენ შეგიძლიათ განათავსოთ ფარგლებში Curly braces უფლება აქ
ან სხვა ალტერნატივა
არის დააყენოს იგი მთლიანად გარეთ.
და ა.შ. ეს - დამოკიდებულია სადაც თქვენ რეალურად დააყენა დეკლარაცია
ამ მთელ რიცხვს ცვლადი,
შეგიძლიათ კიდევ 2 ძალიან განსხვავებული ტიპის ცვლადების;
როცა ეს გარეთ მთავარი,
ეს არის ის, რაც ჩვენ მოვუწოდებთ გლობალური ცვლადი.
ეს სცილდება ნებისმიერი ფუნქციები -
ეს არ შედის ფუნქცია -
ხოლო თუ ჩვენ ამას შიგნით ძირითადი,
მინდა სწორედ აქ, მაშინ იგი ე.წ. ადგილობრივი ცვლადი,
რადგან ადგილობრივი to ფარგლებს ძირითადი.
და ჩვენ გაიგო ცოტა მეტი რა განსხვავებები არის
შორის 2 ტიპის და რატომ გამოიყენოთ სხვადასხვა სახის ცვლადები,
მაგრამ ახლა,
შეგიძლიათ უბრალოდ შეინახოს ყველა ცვლადები ადგილობრივი,
იმიტომ, რომ ჩვენ არ გვაქვს რაიმე საჭიროება გლობალური ცვლადები.
>> Okay, ასე რომ ერთია უფლება არსებობს.
მოდით ვეცადოთ გაშვებული ეს კიდევ ერთხელ, ვნახოთ, რა მოხდება.
პერსპექტივაში, კიდევ კიდევ ერთი შეცდომა.
მიუახლოვდით bit, რას მივიღებთ?
ჩვენ ამ მოსალოდნელია ფრჩხილებში შემდეგ გააკეთებს / ხოლო.
ნებისმიერი იდეები, რა ხდება? დენ?
>> Is ხოლო შემდეგ ფრჩხილებში და შემდეგ -
მე არ ვიცი, თუ თქვენ უნდა redeclare int,
მაგრამ ამის გაკეთება, ხოლო (I <3).
სწორედ, yeah.
გამოდის, რომ დენ ზუსტად უფლება.
ჩვენ არ უნდა დააყენოს ამ ტიპის აქ ერთხელ.
ჩვენ შეგვიძლია ნაცვლად მოკლას ტიპის
და უბრალოდ რომ.
ყველა უფლება.
მე zoom უკან გარეთ, ცდილობენ კიდევ ერთხელ.
შეხედეთ, რომ, ის გადის წარმატებული.
თუ ჩვენ გადახვევა down, "ეს ორგანო" ამობეჭდილი 3 ჯერ.
რომ საკმაოდ ტკბილი.
კარგად გაკეთდეს, კარგად გაკეთდეს, ბიჭები.
კარგად გაკეთდეს.
როგორ არის ეს იმდენად შორს?
წესიერი ტემპით?
Okay, ზემოთ.
>> ასე რომ, როგორც ჩვენ სახის თავში ორიგინალური შეკითხვა,
ჩვენ - და ახლა თუ ჩვენ ვხედავთ განსხვავება,
ხედავთ, რომ ამ do-ხოლო მარყუჟის,
მდგომარეობა მოდის ბოლო.
ასე რომ, როგორც კომპიუტერულ ნათქვამია პროგრამის
რადგან C პროგრამების სრულდება სახის ამ თანმიმდევრული,
სადაც ისინი სიტყვასიტყვით იწყება პირველი ხაზის ძირითადი,
და მაშინ შეასრულოს ხაზის 6, 7 ხაზი, ხაზი 8, 9 ხაზი,
ხაზი 10, 11 ხაზი,
ყველა ამ პერსონალის ზედა მარჯვენა აქ
აპირებს შეასრულოს ერთხელ
სანამ ჩვენ ოდესმე შეამოწმოთ ამ მდგომარეობაში ენახა
თუ არა მე - ან შინაარსი i, არამედ -
ნაკლებია ნომერი 3.
და თუ ერთხელ მივიღებთ, რათა ხაზი 12,
შინაარსი i ნაკლებია 3
ჩვენ რეალურად ხტომა უკან მდე ხაზის 7
და შემდეგ გაიმეოროს პროცესი,
და მაშინ ჩვენ შეამოწმოთ მდგომარეობა ისევ და ისევ და ისევ.
>> ასე რომ ჩვენ შეგვიძლია განსხვავებით ამ
ერთად - zooming უკან out,
გადახვევა ქვემოთ Sam ვერსია,
ჩვენ კარგად შეხედეთ ამ, ოდნავ შეიცვალა ისე, რომ ეს აღარ უსასრულო loop -
აქ თუ ჩვენ მიუახლოვდით,
ჩვენ ვხედავთ, რომ როგორც ამ პროგრამის შესრულებას,
იგი აპირებს პირველ განაცხადოს int i,
მითითებული შინაარსი I იყოს 0,
და მაშინ ჰიტები მდგომარეობის ხოლო მარყუჟის პირველი,
ამიტომ ამ შემთხვევაში, ეს ორგანო, ამ printf ("Hi") და მე + +
არც კი შეასრულოს
სანამ არ არის რეალურად ნაკლები ან ტოლია 2.
ასე რომ, თუ მე არის 3, მაგალითად,
თუ ჩვენ მითითებული ეს უფლება აქ
ტოლია 4 - ან მე გავაკეთებ 3, რადგან მე ვთქვი 3 -
და შემდეგ გაუშვით,
ეს კიდე აშენება, ეს კიდე აწარმოებს მთლიანად ჯარიმა,
მაგრამ ეს არ რეალურად ამობეჭდოთ არაფერი,
იმიტომ, რომ ეს ვერ მოხერხდა, რომ ტესტი პირველი შემთხვევა.
ასე რომ, კლასის, ჩვენ სახის ისაუბრა, თუ რატომ ეს do-ხოლო მარყუჟების
სასარგებლოა ზოგჯერ
და რატომ გვინდა გამოიყენოს იგი როგორც ეწინააღმდეგებოდა ხოლო loop.
>> არსებობს თუ არა - თქვენ ბიჭები გაქვთ რაიმე შემოთავაზება
თუ რატომ do-ხოლო მარყუჟი შეიძლება იყოს უფრო სასარგებლო?
>> ვფიქრობ, do-ხოლო მარყუჟების არის, თუ გნებავთ მომხმარებლის input,
იმიტომ, რომ გზა შეგიძლიათ მისცეს მათ
დააყენა რაღაც ერთხელ; თუ ზუსტი,
ჩვენ შეგვიძლია გადაადგილება დანარჩენი პროგრამა,
მაგრამ თუ ეს არ არის სწორი, მაშინ გააგრძელოს რამაც მომხმარებლის
სანამ არ დააყენა უფლება შეყვანის.
ჰო, ზუსტად - ზუსტად,
ასე გავაკეთოთ-ხოლო loop არის სასარგებლო
რადგან, როდესაც რამაც მომხმარებლის შეყვანის
იმიტომ, რომ თქვენ უნდა მომხმარებლის input, სანამ შეიძლება რეალურად შეამოწმეთ იგი.
ასე რომ pset 1, in pset 2,
აქ თქვენ რამაც მომხმარებლის შეყვანის ლოტი,
რომ მოსახერხებელი რამ გამოიყენოს
როგორც ეწინააღმდეგებოდა უბრალოდ მარტივი ხოლო loop.
თუ იყენებთ ხოლო მარყუჟის, შეგიძლიათ გააკეთოთ იგივე -
შეგიძლიათ გააკეთოთ იგივე ერთად ხოლო loop
როგორც თქვენ არ უკავშირდება do-ხოლო loop.
თქვენ უბრალოდ უნდა სახის აქვს ამ დუბლიკატი პროცესი
სადაც თქვენ მიიღოს შეყვანის და შემდეგ დაიწყოს თქვენი ხოლო loop.
ვინაიდან do-ხოლო მარყუჟის, თქვენ უბრალოდ უნდა დაწერა ერთხელ
და ეს ბევრი სუფთა.
>> ყველა უფლება.
ნებისმიერი კითხვები?
აზრი?
>> დაბრუნების 0 - რომ უბრალოდ სახის ჩერდება თუ -?
ჰო, ასე რომ ჩვენ შეგვიძლია -
ასევე, ჩვენ დაფარავს ამ ცოტა მეტი მოგვიანებით
მაგრამ აღმოჩნდება, რომ
ამ დაბრუნების 0 რომ ჩვენ დააყენოს
დასასრულს მთავარ ყველა დრო -
შეგიძლიათ kinda მხოლოდ მას როგორც რაღაც გავაკეთოთ
ამ დროისათვის.
რა დავიწყეთ ლაპარაკი ფუნქციებს
სახის დასასრულს გასულ კვირას და მერე ისევ ამ კვირაში
ის არის, რომ ფუნქცია
იღებს საშუალებებით, რომლებიც ეს ყველაფერი შიგნით ფრჩხილებში;
ეს არის 2 საშუალებებით, ჩვენი არგუმენტები ან პარამეტრების,
რაც მათ ვერ ასევე მოუწოდა ჩვენი მთავარი ფუნქცია,
და მაშინ ფუნქცია აწარმოებს გამომავალი
რომელიც ჩვენ მოვუწოდებთ დაბრუნებული მნიშვნელობა.
და დაბრუნების ღირებულების შემთხვევაში მთავარი არის ეს int,
ამ მთელ რიცხვს,
და ისე ვუთხრა ფუნქცია, "Hey, ეს არის ის, რაც თქვენი გამომავალი
იქნება ", არის ამ სიტყვა" დაბრუნება ",
რომ სიტყვით, არამედ
და ა.შ. ძირითადი returning 0
ან მთავარ outputting 0
არის სტანდარტი C პროგრამების
რადგან returning 0 მთავარი იმას ნიშნავს, რომ
"Hey, ყველაფერი შესრულებული ერთად ჩემი პროგრამა მხოლოდ ჯარიმა."
თუ ჩვენ დააყენოს რაღაც სხვა ვიდრე 0,
მოსწონს 1, მაგალითად,
რომ გამოყენებული ვუთხრა ვინც გაიქცა ეს პროგრამა
რომ რაღაც წავიდა არასწორი.
ასე რომ, როგორც ჩვენ უფრო ჩართული პერსონალის მეტი სემესტრის
თუ თქვენ ოდესმე სჭირდება იმის თქმა,
"Oops, თქვენ იცით, რაღაც მოხდა ისე ამ პროგრამით,"
ვიდრე მქონე ჩემი პროგრამა ავარიის, მინდა აცნობოს
runner ჩემი პროგრამა, რომელიც რაღაც არ მოხდა ისე,
თქვენ შეგიძლიათ გამოიყენოთ დაბრუნებული მნიშვნელობა,
როგორც ჩვენ მას, რომ არ 0.
>> ამიტომ ჩვენ დასაფარავად, რომ ცოტა მეტი
ერთხელ ჩვენ შეღწევას ფუნქციები.
რომ ერთგვარი აზრი?
Okay.
ფუნქციები სახის უცნაური -
ვფიქრობ მათთვის, ვინც უამრავი მათემატიკის ფონზე,
საქმე უფრო მარტივად,
განსაკუთრებით იმ შემთხვევაში, თუ თქვენ გაქვთ ცოტა მეტი რეზიუმე მათემატიკის ფონზე
და თქვენ გამოყენებული ვსაუბრობთ ფუნქციები
და ყველა რომ მსგავსი საქმიანობები.
მაგრამ ჩვენ შევეცდებით და მოიცავს მათ
და წავიდეთ ლამაზი და ნელი რადგან ისინი ამუშავება.
ანალოგიურად, ეს მთელი int argc,
char * argv [],
ამისთვის ახლავე, ასევე, შეგიძლიათ მიიღოს, რომ როგორც საქვაბე Plate.
დავიწყეთ დასაფარად იმ ცოტა ლექციების
როდესაც ვსაუბრობთ, რომ არგუმენტები მისაღებად შევიდა პროგრამების ბრძანების სტრიქონში,
მაგრამ თქვენი პრობლემა კომპლექტი და თქვენი პროგრამების,
ეს სრულიად ჯარიმა უბრალოდ დაწერა ბათილად და შეინახოს იგი მარტივი.
და რა ამ ბათილად ნიშნავს, რომ
"Hey, მთავარ არ აპირებს მიიღოს ნებისმიერი საშუალებებით;
ეს მხოლოდ პროგრამის ჩვენ Gonna მხოლოდ აწარმოებს.
ჩვენ არ ამოვიღებთ მისცეს მას რაიმე დამატებითი ინფორმაცია
ყოველ ჯერზე ჩვენ ვიწყებთ ეს გაშვებული. "
ასე რომ ახლა, თქვენ შეგიძლიათ ამის გაკეთება;
ასევე შეგიძლიათ კიდევ გამომრჩეს დაბრუნების 0
დასასრულს თქვენი პროგრამებისა და ისინი ყველაფერს აწარმოებს მხოლოდ ჯარიმა,
მაგრამ გირჩევთ მხოლოდ შენახვის, რომ სისტემაში
რამდენიმე კვირის განმავლობაში, დავიწყებთ, რათა სახის
უკან დახევის საფარი ცოტა და გაიგოს უფრო მეტი
ყველა იმ სხვადასხვა პატარა მოძრავი ნაწილები.
>> ყველა უფლება, ახლა ვისაუბროთ იმაზე ჩვენი მეორე კითხვა აქ.
რას გვეუბნება "გამოუცხადებელ იდენტიფიკატორი" ჩვეულებრივ მიუთითებს
თუ outputted მიერ Clang?
ვფიქრობ, შესაძლოა, ჩანს, რომ უკვე დღეს.
შეგიძლიათ ვინმეს მისცეს recap თუ რა, რომ რას ნიშნავს?
ვნახოთ, Kelly - ერთი Kellys.
>> ასე -
ჰო, რას -
>> ვფიქრობ, როდესაც თქვენ როგორც, არ განაცხადოს, ცვლადები და თქვენ ცდილობენ გამოიყენოს იგი.
ჰო, ზუსტად, ზუსტად.
ასე რომ, თუ თქვენ ოდესმე ვხედავ ამ გამომავალი
როდესაც თქვენ ცდილობენ და კომპილაციის თქვენი პროგრამა,
ისევე, როგორც კელიმ,
ეს ნიშნავს, რომ თქვენ გამოიყენება ცვლადი, რომ თქვენ არ განაცხადოს,
ასე რომ, თუ მე დავუბრუნდეთ ჩვენი ფართი,
და გავაკეთე რაღაც მსგავსი
printf (
"გამარჯობა% s")
და ცდილობენ და შეავსონ რომ% s
ერთად ცვლადი s, რომ მე არ გამოცხადდა სადმე
და ვცდილობ გაუშვით,
თქვენ ნახავთ, რა მივიღო ქვემოთ ამ ქვედა მარჯვენა აქ:
"გამოიყენოს გამოუცხადებელი იდენტიფიკატორი 's'";
რომ მხოლოდ იმას ნიშნავს, თქვენ არ განაცხადოს თქვენი ცვლადი.
იგივე მოხდება თუ
თქვენ გაქვთ x და თქვენ ცდილობენ და შესანახად 7 მასში
და მე არ ვაცხადებ X.
მივიღებ რომ იგივე შეცდომა:
"გამოიყენოს გამოუცხადებელი იდენტიფიკატორი" x "".
>> ყველა უფლება,
ამიტომ კეისრის კოდი, თუ ისინი არ წარმოადგენენ ძალიან უსაფრთხო,
მე მოგცემთ ბიჭებს უყურებს ამ მოკლე, სახის მესმის, რატომ,
და იმედია შემდეგ აკეთებს ამ კვირაში პრობლემა მითითებული
სადაც თქვენ რეალურად წერენ კეისრის კოდი, თქვენ მიხვდებით ცოტა მეტი
შესახებ თუ რას ნიშნავს იყოს უსაფრთხო და არასაიმედო -
ან უსაფრთხო არ ვფიქრობ - დაუცველად არის ოდნავ განსხვავებული.
სხვა რამ იყო გვაქვს ამ სხვა კითხვებს აქ
შესახებ ფუნქციები
და რა ფუნქცია,
და ჩვენ სახის ისაუბრა, რომ ცოტა ხნით, როცა ჩვენ ვისაუბრეთ დაბრუნების ფასეულობები;
ამისთვის ვინმეს უკვე to ლექცია,
შეგიძლიათ recap რომელიც ყოფილა ლექციათა დღეს?
ყველა უფლება.
ვნახოთ, მოდით აქვს - შეიძლება ვინმეს გვითხრათ რა ფუნქცია?
Kelly?
>> >> ძირითადად რაღაც დაეყრდნოს რაღაც რომ წერილობითი ბიბლიოთეკაში რომ
უფრო რთული იქ, და მერე უბრალოდ წერენ მოკლე იგი,
ასე მოსწონს თქვენ მხედველობაში თავში რომ ბიბლიოთეკის გამოყენებით
ყველა რომ ხანგრძლივი კოდი და [inaudible].
ჰო, ზუსტად, და მერე Wanna დაამატოთ რამე ამაზე?
>> ჰო, ვფიქრობ, ამის შესახებ როგორც მსგავსი კონცეფცია formula in math
სადაც თქვენ უბრალოდ დაწერეთ ფორმულა და მაშინ შეაერთედ ცვლადები წელს
და ეს რა ფუნქციაა [inaudible].
>> ჰო, ამიტომ ჩვენ მივიღეთ რამდენიმე პასუხი აქ
რომ ორივე ძალიან კარგი და უფლება.
აქ გულისხმობდა კოდი, რომელიც უკვე დაწერილი ბიბლიოთეკა სადღაც
რომ უფრო რთული
და მაშინ დაეყრდნოს რომ კოდი
და რეალურად გამოიყენოს იგი მხოლოდ წერილობით მოკლე იგი -
ან, უფრო სწორად, მისი სახელი -
და მაშინ არსებობს ამ შედარებით formula in math
ან ფიზიკის, ყველა რომ მსგავსი საქმიანობები
სადაც თქვენ formula
და შეგიძლიათ შემდეგ შეაერთედ წელს
ცვლადები, რომ ფორმულა
შემდეგ მიიღოს შედეგად ფორმულა,
ასე ფიქრობთ ამის შესახებ, როგორც მოსწონს კვადრატული განტოლება.
წარმოიდგინეთ, ვიდრე მქონე შემესწავლა
რა კვადრატული ფორმულა არის მათემატიკის კლასის,
უბრალოდ ჰქონდა პატარა კალკულატორი პროგრამა, რომელიც გააკეთეს იგი თქვენთვის.
ხომ არავის გამოიყენოთ კალკულატორი პროგრამების მათემატიკის კლასის საშუალო სკოლა?
Yeah, ფიზიკა კლასები?
სადაც შეგიძლიათ უბრალოდ, ვამბობთ, "Hey, კვადრატული ფორმულა.
ეს არის ცვლადები, რომ მინდა შეყვანის.
ახლა მაძლევს პასუხს. "
სწორედ ამგვარი რა ფუნქცია.
ეს გზა ჩვენთვის
სახის ჩაწერის, როგორიცაა მცირე პატარა ქვე პროგრამა
ფარგლებში ჩვენი უფრო დიდი პროგრამა
და გამოიყენოთ იგი უსასრულოდ
ასე, რომ ჩვენ არ უნდა დააკოპირეთ და ჩასვით კოდი,
ჩვენ შეგვიძლია მივცეთ მას სხვადასხვა საშუალებებით და მიიღეთ სხვადასხვა შედეგები,
ეს სუპერ მოსახერხებელი
როდესაც თქვენ ცდილობთ წერენ სხვადასხვა პროგრამები სხვადასხვა დროს.
>> ასე მაგალითად, ფუნქცია, რომ ჩვენ ბევრი გამოყენებით მეტი და უსასრულოდ
მთელი კურსი printf.
Printf თავისთავად ფუნქცია
და აღმოჩნდება, რომ ეს რეალურად საკმაოდ ხანგრძლივი და რთული,
nasty ეძებს, ფუნქციის დაწერა.
ასე რომ, როგორც მარტივი, როგორც ჩანს ჩვენთვის
ბეჭდვა პერსონალის აღმოჩნდება ეკრანზე,
იმიტომ, რომ ჩვენ ყველა უბრალოდ გააკეთეს, რომ დასაწყისში მონაკვეთზე დღეს,
აღმოჩნდება, რომ ეს რეალურად, თქვენ იცით,
კარგი რამდენიმე ასეული ხაზების კოდი.
ეს არ არის რაღაც, რაც მე ოდესმე გვინდა დავწეროთ, დარწმუნებული ვარ,
მაგრამ ჩვენ კიდევ გამოიყენოს იგი ყოველდღე, რომ სახის cool,
ასე მივიღებთ გაუზიაროს იგი ერთმანეთთან,
სხვადასხვა პროგრამები,
ამიტომ ჩვენ უნდა diving მეტი შევიდა ფუნქციებს;
ამ დროისათვის, ჩვენ არა ვართ -
ერთადერთი ფუნქცია ჩვენ ვაპირებთ იყოს წერილობით არის მთავარი.
მთავარი თავისთავად ასევე ფუნქცია,
და თქვენ შეგიძლიათ ნახოთ ის მივიღე მისი გამომუშავება,
მისი საშუალებებით, როგორიცაა ჩვენ ვისაუბრეთ,
და მაშინ მისი სახელი, რომელიც არის მთავარი.
მთავარი არის ერთგვარი - არის სპეციალური ფუნქცია არსებობს.
თქვენი C პროგრამის, იქ უნდა იყოს მთავარი ფუნქცია,
და ა.შ. ახლა ჩვენ სახის გამოტოვებული წერილობით
პროტოტიპი, ან დეკლარაცია, ძირითადი.
ჩვენ იმის გათვალისწინებით, რომ თქვენ,
და ჩვენ უბრალოდ ჰქონდა თქვენ შეავსოთ სახის ბლანკები.
>> >> ისე მეორე პრობლემა კომპლექტი, ჩვენ არ გვჭირდება
დაწერა მეორე ფუნქცია?
მე არ მჯერა ისე.
მჯერა, ყველა აქ.
ჰო, ასე რომ კეისრის კოდი,
თქვენ არ უნდა, მას არ ჰგავს,
და Vigenere, მაგრამ თქვენ არ ან,
ასე - და თურმე თქვენ არ ოდესმე რეალურად უნდა დაწეროს
ფუნქცია, არა?
რეკავთ ყოველთვის დააყენა ყველა თქვენი კოდი ფარგლებში ძირითადი,
და მრავალი პროგრამისტები, რომ.
როგორც ჩვენ გადაადგილება,
ჩვენ ვიწყებთ შემოღების ფუნქციების გზა
გაწმენდა თქვენი კოდი,
უფრო ელეგანტური,
იმ შემთხვევაში თუ თქვენ გაქვთ ამოცანები - სახის მოსწონს, როცა ჩვენ ვისაუბრეთ მარყუჟების,
როგორ ხდება რამ, რომ თქვენ უნდა ისევ და ისევ და ისევ,
და თქვენ გაქვთ სახის გულუბრყვილო გზა -
ან ის, რაც ჩვენ ხშირად მოვუწოდებთ "ჩალის კაცის" გადაწყვეტა,
არის უბრალოდ დააკოპირეთ და ჩასვით უსასრულოდ -
შეგიძლიათ გააკეთოთ იგივე ფუნქციებს, სადაც თქვენ უბრალოდ დააკოპირეთ და ჩასვით
ამავე კოდექსის უსასრულოდ,
მაგრამ რომ bloats თქვენი კოდი -
იგი მთავრდება მიღების თქვენი კოდი მართლაც დიდხანს -
და ასევე იღებს პატარა დამაბნეველი,
და მაშინ ეს ნიშნავს, რომ თქვენ არ შეუძლია მინდა -
თუ თქვენ ოდესმე გვინდა გამოვიყენოთ, რომ კოდი ერთხელ სხვა პროგრამა,
თქვენ ასევე დავრჩებოდით კოპირება და pasting კიდევ ერთხელ,
ასე ერთი რამ ჩვენ ვსაუბრობთ არის
სახის დიზაინის და სტილის თქვენი პროგრამების,
და ა.შ. როდესაც ეს აზრი, რომ სახის
პაკეტი რაღაც up და განათავსოთ როგორც ცალკეული ფუნქცია,
ჩვენ გარწმუნებთ, რომ გავაკეთოთ,
და ეს არის ის, რაც, კიდევ ერთხელ,
არ მძიმე და სწრაფი წესით.
ჩვენ იშვიათად ამბობენ, რომ თქვენ უნდა დაწეროს ფუნქცია უწოდა,
მაგრამ ეს უფრო ერთი იმ რამ უბრალოდ განვითარდეს დროთა განმავლობაში
როგორც წერთ უფრო და უფრო პროგრამებს.
>> ნებისმიერი უფრო მეტი შეკითხვა?
Okay, მოდით ახლა
დავუბრუნდეთ მდე ამ ბიჭს სწორედ აქ,
ამიტომ მე მაინც ამ სექციაში კითხვები.
ჩვენ ვისაუბრეთ ყველა ამ სხვადასხვა პირობა,
რა ფუნქცია, რატომ დაწერა ფუნქციები,
როდესაც თქვენ შეგიძლიათ უბრალოდ დააკოპირეთ და ჩასვით?
იმედია ჩვენ დარწმუნებულნი ვართ, რომ წერა ფუნქციები არის კარგი საქმე.
ახლა მოდით გადაადგილება ამ MySpace პროგრამა,
და ჩვენ დახარჯოს ცოტა დრო ამით.
>> ასე რომ, ვნახოთ,
შემიძლია არ ვინმეს წაიკითხოს ეს ჩემთვის?
მოდით Mikhaila - იქნება თქვენ წაიკითხოს ეს ჩვენთვის?
>> ანუ უკან, როდესაც MySpace -
თავში როდესაც MySpace იყო მაგარი.
>> "უკან, როდესაც MySpace იყო მაგარი,
ეს იყო ყველა გაბრაზება ტიპის მოსწონს ეს.
ალბათ, ჯერ კიდევ არის? მე არ ვარ დარწმუნებული ნამდვილად.
ნებისმიერ შემთხვევაში, გამოყენებით CS50 ელექტრო მოწყობილობების,
CS50 Run, ან CS50 სივრცეები,
დაწერეთ პროგრამა, რომელიც თხოვს მომხმარებელს ამისთვის გაგზავნა
და მერე შედეგები გაგზავნა თავისი პირველი წერილი კაპიტალიზირდება,
ყველა სხვა შრიფტით ალტერნატიული შემთხვევაში,
როგორც პოსტი ნიმუში გამომავალი ქვემოთ
სადაც boldfaced ტექსტი წარმოადგენს მომხმარებლის შეყვანის.
სიმარტივის, თქვენ შეიძლება ვივარაუდოთ, რომ მომხმარებლის
იქნება მხოლოდ შეყვანის ამას წერილსა და სივრცეებს.
ამ პრობლემას განიხილავენ საშუალებას;
თქვენ არ იქნება სთხოვა წარუდგინოს ამ პროგრამის. "
>> გასაოცარია, მადლობა.
ასე რომ, როგორც Mikhaila განაცხადა,
ჩვენ ვაპირებთ დავწეროთ პროგრამა, რომელიც MySpaces თქვენი კოდი.
ასე რომ არც რომელიმე თქვენ ბიჭები გამოიყენოთ MySpace?
ნებისმიერი გაქვთ MySpace ანგარიშები?
Oh, yeah, yeah!
ეს იყო საკმაოდ გრილი.
[სიცილის]
მე ვიცი.
Dating თავს.
ასე რომ, რასაც ჩვენ ვცდილობთ გავაკეთოთ არის წერენ პროგრამა
რომ გადის
და capitalizes პირველი წერილი
და მაშინ ყველა წერილი შემდგომში -
ან ყოველ მეორე წერილში ამის შემდეგ, მე უკაცრავად.
>> ასე - და ხედავთ ამ მაგალითად,
ასე ჩვენ აწარმოებს პროგრამა,
და ა.შ. ეს მხოლოდ სიტყვებით "ჩვენ გაშვებული პროგრამის მოუწოდა a.out.
შეყვანის რომ ჩვენ ვაპირებთ ვაძლევთ მას
იქნება ნაკარნახევი.
ჩვენ არ Gonna მიაწოდოს შეტანის ბრძანებათა სტრიქონიდან. "
თუ თქვენ უკვე შემდეგ ყველა ლექციები
და შევიტყოთ command line არგუმენტები,
რომ სახის სადაც - რომ ხმაურიანი სინტაქსი
ზე ძირითადი მოდის ერთად int argc, ყველა რომ პერსონალის,
ამიტომ აქ ჩვენ არ იყენებს, რომ ჩვენ ვერ საქმე რომელიმე რომ.
ჩვენ უბრალოდ ამოვიღებთ ამ აკრეფილი მომხმარებლის მიერ,
და მაშინ ეს მეორე ხაზის ხმაურიანი კაპიტალიზაციის
არის ის, რაც ჩვენ გვინდა ჩვენი პროგრამის გამომუშავება.
>> ასე რომ, ვიდრე გამოყენებით ელექტრო მოწყობილობების ან გაუშვით, ჩვენ გამოტოვოთ,
იმიტომ, რომ ჩვენ მივიღეთ სივრცეები,
და ასე თუ ბიჭები რომ
თქვენი კოდი უნდა გამოიყურებოდეს მსგავსი რამ,
ამიტომ მე ვაპირებ გადარჩენა ამ ვერსიაზე
უბრალოდ, ასე რომ თქვენ მოხვდით საქვაბე Plate უფლება აქ
რომ ასე გამოიყურება, int ძირითადი (void), არაფერი.
რეალურად, რაც ჩვენ გავაკეთებთ არის ჩვენ ვშლით ყველაფერს ერთად.
ჩვენ გვინდა ცარიელი ფურცლიდან,
რადგან ჩვენ არა ვართ კარგად დავიწყოთ წერა კოდი;
პირიქით, ჩვენ ამოვიღებთ ვცდილობთ წერა რამდენიმე pseudocode
რომელიც რეალურად მხოლოდ იმას ნიშნავს, რომ ჩვენ ვაპირებთ რაღაც დავწერო, რომ არ კოდი
ასეთი სახის აღწერს, რაც ჩვენ გვსურს რომ,
kinda მოსწონს დავით მოახერხა პირველ დღეს ლექცია,
ან ვფიქრობ, რომ იყო მეორე დღეს ლექცია როდესაც მან მთელი წინდები დემო.
თქვენ ბიჭები გვახსოვდეს, რომ - ხედავს წინდები?
ჯოზეფ იყო up there სახის აკრეფით გარეთ ინგლისურ ენაზე?
ამიტომ ჩვენ ამოვიღებთ იგივე რამ.
>> ასე რომ, როდესაც დავიწყო წერა pseudocode,
მე მიყვარს იწყება ეძებს რა შეყვანის იქნება.
და მე ვაძლევ თავს ნიმუში შემთხვევაში,
ასე, როგორიცაა "მადლობა დამატება!"
და მერე ასევე წერენ რაც მე მინდა გამომავალი უნდა იყოს,
რაც ამ შემთხვევაში არის მსგავსი რამ.
და ასეთი სახის მაძლევს კარგი, როგორიც, დაწყებული ადგილი ფიქრი,
"Okay, მინდა მიიღოს ხაზი 1
და მინდა გარდაქმნას იგი ხაზი 2 "
და ასეთი სახის ეხმარება გაუძღვება ჩემი აზროვნება.
ეს არის კარგი ადგილია დაიწყება.
კიდევ ერთი გზა დაფიქრდით, ძალიან, როგორც ჩვენ kinda გადაადგილება
და ხაზვის დროს საკუთარ პროგრამებს, არის
ვიფიქროთ სახის მოსწონს რა პირას შემთხვევებში ამ?
რა სახის უცნაური სცენარი?
რა არის უცნაური საშუალებებით, რომ ჩვენ შესაძლოა?
და რა უნდა იმ შედეგები გამოიყურებოდეს?
მაგალითად, ერთი უცნაური შეყვანის
იქნება ეს ერთი,
შექმნის აბსოლუტურად არაფერი,
მსგავსი იმისა, რაც უნდა დაბეჭდავს ამ შემთხვევაში?
რაღაც გვინდა ვიფიქროთ, ძალიან.
>> ამიტომ ისევე როგორც კითხვაზე,
რა შეიძლება ჩვენ გვინდა გამომავალი?
თუ ჩვენ არ მიიღოს ნებისმიერი შეყვანის ყველა, რა უნდა ჩვენი პროგრამა იქნება outputting?
>> არაფერი.
არაფერი? ხმები დიდი.
ამიტომ, ჩვენ გვინდა დავრწმუნდეთ, რომ ჩვენ არ წერდა არაფერს გარეთ
თუ ჩვენ არ არაფერი სისტემაში
ზემოთ. Okay.
ასე
მე ვაპირებ მოვუწოდო რამდენიმე ადამიანი, როგორც ჩვენ გაიაროს
და მხოლოდ გაერკვნენ სახის მსგავსი იმისა, რაც ზოგადად ალგორითმი
და ჩვენ სახის დაიწყოს მუშაობა ამ ერთად.
>> ასე რომ, ვნახოთ. მისი.
როგორ ფიქრობთ ჩვენ გვინდა დაიწყოს?
რა იქნება კარგი ადგილია დაიწყება აქ
თუ ჩვენ გვინდა, რომ გარდაქმნა, ვთქვათ, ხაზი 1
შევიდა ხაზი 2?
შეგიძლიათ სახის მხოლოდ ახსნას ჩემთვის, ინგლისურ, თუ რას ფიქრობდა?
არც კი ფიქრი კოდი.
>> პირველი რაც მინდა გავაკეთოთ იქნება
სახის პირდაპირი მომხმარებლის მათ ვუთხრა რა გსურთ.
Okay, ასე ვთქვათ,
"Hey, მომხმარებლის. მინდა
სტრიქონი "- გასაოცარია.
მოდით დავწეროთ ამ ქვევით.
მოთხოვეთ მომხმარებელს ამისთვის სიმებიანი.
რომ ჟღერს კარგი დასაწყისია.
ყველა უფლება.
მოდით ვთხოვოთ Kelly Ren ამ დროს.
რა ჩვენ მაშინ გვსურს რომ შემდეგი?
რა სახის ჩვენი მომავალი -?
>> კოლექციონირება მათი შეყვანის და ჩაწეროთ იგი როგორც ცვლადი.
დიდი.
ასე შეგროვება სიმებიანი,
ჩაწერს მას ცვლადი.
ამიტომ არის რამე სპეციალური გვინდა აქ?
გვინდა, რათა შეამოწმოთ მათი შეყვანის
ადრე -?
>> Yeah.
რა შეიძლება ჩვენ გვინდა შევამოწმოთ?
>> ისე, თქვენ თქვით, რომ ჩვენ არ უნდა შეამოწმოთ, თუ ის ნომერი, არა?
რადგან ეს კიდე ვივარაუდოთ, რომ ეს ამას?
Yeah.
>> გამოდის, რომ - Yeah.
ამიტომ getString გარანტირებულია დაბრუნების us სიმებიანი.
ეს არ დაბრუნების ხმების ჩვენთვის ან არაფერი რომ.
ამას შეიძლება ციფრი გმირები ფარგლებში რომ სიმებიანი, თუმცა.
და მათ, ჩვენ შეგვიძლია იგნორირება როგორც გავაკეთეთ კაპიტალიზაცია.
მაგრამ ცარიელი სტრიქონს მთლიანად ჯარიმა,
ასე შემთხვევაში უფლება აქ on line 4 და 5,
უფლება, სადაც არ შეყვანის,
და ჩვენ დააყენა არაფერი, როგორც ჩვენი გამომუშავება.
ჩვენ არ გვაქვს ფიქრი მიღების დარწმუნებული ვარ, რომ არსებობს რაღაც სიმებიანი
ან რომ სტრიქონს მინიმუმ 4 სიმბოლო;
არაფერი კარგად არის.
ასე რომ, ეს კონტრასტში, მაგალითად, ერთად მოსწონს pennies პროგრამების, რომ თქვენ წერდა
სადაც თქვენ მოუხდა დარწმუნდით იღებდნენ არასამთავრობო უარყოფითი ნომრები;
გქონდათ დავრწმუნდეთ, რომ თქვენ იღებდნენ სწორი დღეების რაოდენობა ერთ თვეში.
და როგორ ბიჭებს აკეთებენ, რომ?
რა გავაკეთოთ, რომ ტესტი?
რა, რომელიც საჭიროებს თქვენ უნდა გამოვიყენოთ?
>> Do-ხოლო მარყუჟების.
Do-ხოლო მარყუჟების; სხვა სახის მარყუჟების, ძალიან, yeah.
გამოდის, რომ ჩვენ არ უნდა გამოვიყენოთ loop ამ შემთხვევაში,
როდესაც ჩვენ რითაც ამისთვის სიმებიანი, რომელიც სახის ლამაზი.
>> ყველა უფლება, მოძრავი.
ასე რომ, Stella.
შეგიძლიათ გვითხრათ ცოტა იმაზე, თუ რა უნდა გავაკეთოთ შემდეგი?
ახლა გვაქვს ტექსტი, გვაქვს ეს შენახული ცვლადი;
რას უნდა გავაკეთოთ ერთად სიმებიანი?
>> გვჭირდება -
იდენტიფიცირება 2 -
ჰო, უბრალოდ, ვამბობთ ეს ინგლისურ, რომ გასაოცარია.
>> იდენტიფიცირება [inaudible] დედაქალაქებში - ან, ზედა.
ჰო, ასე რომ თქვენ მინდა იდენტიფიცირება რომელიც პირობა არის ზედა და ამას.
ჩვენ არ შეგვიძლია ზედა ან მხედრულ მათ სანამ ჩვენ გამოვლენილი რომელიც მიიჩნიეს.
ამიტომ ჩვენ დააყენა, რომ აქ.
>> ასე რომ, უბრალოდ ფიქრი ამ პროცესში,
როგორ უნდა გავაკეთოთ ეს იდენტიფიკაცია?
იცით, დენ?
კეთილი რასაც ჩვენ - რა ინსტრუმენტი ჩვენ გვინდა ჩვენ უნდა გამოვიყენოთ ჩვენი ყუთისთვის?
>> მინდა დააყენოს ის როგორღაც მსგავსად მასივი ან თითოეული ხაზი
არის თავისი პატარა ყუთი,
და შემდეგ ზედა იგი იქ თუ არა.
Okay, ასე ერთი ინსტრუმენტი შეგვიძლია გამოვიყენოთ არის მასივი.
რა გვაქვს შეხედოთ სიმებიანი,
თუმცა, უნდა გაერკვნენ - გვქონდა შევხედოთ სიმბოლო.
>> ასე, რომ თქვენ მოხვდით შევხედოთ სიგრძეზე სიმებიანი?
ჰო, ისე ნაწილი რომ დღითიდღე სიგრძეზე სიმებიანი.
უბრალოდ გარეთ ცნობისმოყვარეობა, რას ვიყენებთ მისაღებად სიგრძეზე სიმებიანი?
>> Strlen?
Yeah, strlen, ჩვენ მოვუწოდებთ ამ "strlen"
ყველა ამ სიმებიანი ფუნქციები, ასე strlen არის ფუნქცია,
და ეს სუპერ მოსახერხებელი, რადგან ჩვენ შეგვიძლია გამოვიყენოთ რომ რაღაც ვთქვა,
Hey, strlen: აქ სიმებიანი, მითხარი რამდენი ხანი არის.
In ლექცია დღეს, დავით ისაუბრა ბევრი იმაზე, თუ როგორ strlen ხორციელდება,
რა რეალურად მიმდინარეობს კულუარებში.
მაგრამ ეს არის ერთ ერთი ძალიან სუპერ მოსახერხებელი მიიჩნიეს.
არსებობს სხვა პირობა, რომელიც ასევე სიმებიანი ბიბლიოთეკა,
როგორიცაა strcmp, რომელიც ჩაწერეთ "strcmp",
რომელიც გამოიყენება შედარების სტრიქონები ერთმანეთს.
სხვა პირობა უნდა გამოიყენოთ მოსწონს strstr,
რაც კარგი მოძიების ქვე სიმები და ასე შემდეგ.
უმეტესწილად, ისინი ყველა იწყება ქ და შემდეგ წასულიყვნენ იყოს რაღაც.
მიზეზი მათ არ რეალურად მართლწერის მათ მსგავსად სიმებიანი და ა.შ.
ეს იმიტომ დაბრუნდა, როგორიცაა ადრეული დღეებში C,
როდესაც ადამიანები პირველი წერილობითი ფორმით და ყველა რომ,
მათ ჰქონდათ შეზღუდვები რაოდენობის სიმბოლოებს რომ შეგიძლიათ
ამისთვის ფუნქცია სახელები და ცვლადი სახელები,
ასე ყველაფერი მოსწონს super შედედებული.
მაგრამ ნებისმიერ დროს, როცა შეამჩნევთ რაიმე რომ იწყება ქუჩაზე,
რომ ჩვეულებრივ ნიშნავს ეს რაღაც არ უკავშირდება სიმებიანი.
>> Okay, ასე რომ თქვენ მოხვდით მისაღებად სიგრძეზე სიმებიანი,
და მაშინ, რას ვაკეთებთ ერთად გმირები?
იცით, სემ?
>> არ ვიცი, მე ვცდილობდი, გაერკვნენ ის.
მე ნამდვილად არ ვიცი - ვუსურვებ იყო რამოდენიმე გზა -
ვგულისხმობ, მინდა ვფიქრობ იქნებ ჩვენ შეგვეძლო რაღაც ერთად შანსების და evens,
მაგრამ არ ვიცი, ნებისმიერი ფუნქცია, როგორიცაა, რომ.
Yeah.
>> მაგრამ ეს - ეს იქნებოდა არა აუცილებლად იმუშავებს,
რადგან მაშინ დაიჭერს ფართები იქნება -
თქვენ უნდა აქვს სივრცეში მიიღოს რჩევა თუ როგორ -
Okay.
>> არ ვიცი - I'm სახის დაკარგა ამ ეტაპზე.
Yeah - არა, არა, არა, ეს არის კარგი რაოდენობა.
ამიტომ, რაც ჩვენ უნდა გავაკეთოთ არის, როგორიც სემ განაცხადა,
ჩვენ გვჭირდება მწკრივზე რომელიც ასო უცნაური წერილები,
და რაც პირობა არის კი ასოებით.
მაგრამ ჩვენ გვინდა დავრწმუნდეთ ჩვენ არა მხოლოდ ეძებს
ზე უცნაური და კიდევ
ინდექსების in string,
არამედ ეძებს უცნაური და კიდევ შრიფტით ტექსტი,
ამიტომ ჩვენ უნდა kinda აქვს ამ განსხვავებას
წერილების - მსგავსი იმისა, რაც სინამდვილეში, B, C, D, ან ასე შემდეგ,
და რა რამ არ არის წერილებს, მაგრამ მაინც ჩვენს სიმებიანი.
მაგალითად აქ, ისევე, როგორც ამ ძახილის წერტილი არ არის წერილი,
მაგრამ მაინც ნაწილი ჩვენი სიმებიანი; მაინც char.
ანალოგიურად, ყველა ეს ფართები -
მას არ აქვს აზრი, რათა ესარგებლა სივრცეში, არა?
ამიტომ, ჩვენ გვინდა დავრწმუნდეთ, რომ ჩვენ რაღაცნაირად გამოტოვოთ იმ
მიუხედავად თვალთვალის შანსების და evens.
>> ამიტომ სახის ჩვენს პროგრამირების ყუთისთვის
ჯერჯერობით, თუ გნებავთ,
ჩვენ გვაქვს სხვადასხვა ინსტრუმენტები, რომ ჩვენ ვისაუბრეთ.
ასე რომ ერთი, მაგალითად, არიან ცვლადები,
მოსწონს ჩვენ ვისაუბრეთ აქ.
კიდევ ერთი ინსტრუმენტი ჩვენ ვისაუბრეთ are ფუნქციები.
ამიტომ ჩვენ ვისაუბრეთ ცვლადები ჩვენს pseudocode აქ
როგორც ის, რაც ჩვენ ვაპირებთ გამოვიყენოთ შესანახად ჩვენი სიმებიანი.
ჩვენ ვისაუბრეთ ფუნქციების მისაღებად სიგრძეზე სიმებიანი, როგორიცაა strlen.
ჩვენ ვლაპარაკობდით რაღაც, და ჩვენ ვისაუბრეთ ეს
ამისთვის ბევრი ადრე ნაწილში დღეს: მარყუჟების.
>> რას ბიჭები ვიფიქროთ გამოყენებით loop ამ პროგრამაში?
Jared, როგორ ფიქრობთ?
რომ ჩვენ ვიყენებთ loop ამ პროგრამაში?
>> ალბათ არა, არა, იმიტომ, რომ თქვენ არ უნდა გაიაროს ეს არაერთხელ.
Okay, თქვენ არ უნდა გაიაროს, რა მეტი ერთხელ?
>> მთელი სიმებიანი.
მარჯვენა, ასე რომ თქვენ არ უნდა გაიაროს სიმებიანი მთელი ერთხელ.
უკაცრავად, რამაც აბსოლუტურად აზრი არ აქვს!
თქვენ არ გავლა მთელი სიმებიანი არაერთხელ.
Okay.
რას ფიქრობთ?
>> ვფიქრობ, რომ უმჯობესია მათი გამოყენება
ამიტომ ჩვენ შეგვიძლია გავაკეთოთ, როგორიცაა კაპიტალიზაცია ხოლო
საიდან ეს არის [inaudible] ნომერი.
დიდი და ასე კაპიტალიზაცია რა?
Okay, ასე ჩვენ ვამბობთ, რომ
ჩვენ უნდა გამოვიყენოთ loop რადგან ჩვენ გვინდა
კაპიტალიზაცია წერილში კი არ ნომერი.
ასე რომ - უკაცრავად, არც გსურთ დაამატოთ?
>> მივდიოდი ვთქვა, რომ ისე, როგორც შენ მკურნალობა სიმებიანი
და ეს [inaudible] ცალკე [inaudible] on გმირები?
Yeah.
>> და შემდეგ ჩვენ შეგვიძლია მივუთითოთ ნომრები -
ან ეფუძნება ადგილმდებარეობა წერილების სიმებიანი?
Yeah.
>> და დაადგინონ თუ არა ეს უცნაური ან თუნდაც და კაპიტალიზაცია წერილში თავად
ხოლო ადგილმდებარეობის წერილი [inaudible] - უკაცრავად.
დიდი.
>> ასე რომ მხოლოდ recap.
შეგიძლიათ მაგონებს შენი სახელის ერთხელ - I'm sorry.
>> Charlotte.
Charlotte, okay.
მერე რა Charlotte ამბობს,
რომელიც მთლიანად უფლება - gosh, ამ უყვარს ავტო აბზაცის ჩემზე -
ის არის, რომ თუ დავაკვირდებით სიმებიანი
როგორიცაა ამ ერთი ზედა -
"მადლობა დამატება" -
როგორც თანმიმდევრობა გმირები
სადაც არის პოზიციაში 0,
თ არის პოზიციაში 1.
არის 2, მაშინ მივიღეთ 3, 4, 5;
სივრცე პოზიციაში 6.
ვინაიდან - რა პოზიცია ვ?
7!
O? 8.
R? 9.
და შემდეგ ჩვენ მივიღეთ 10, და მერე ნამდვილად ვერ დავწერ აქ მის გარეშე
kinda მიღების ბინძურ ეკრანზე.
მაგრამ ეს არის რეალურად როგორ შეიძლება ვისაუბროთ სიმებისათვის მეხსიერება.
არის თუ არა სიმებიანი
არის თანმიმდევრობა გმირები,
და როდესაც ჩვენ ეხება ინდივიდუალური ხასიათის ტექსტი,
ჩვენ ხშირად ამისათვის მიერ გულისხმობდა, რომ ხასიათი პოზიცია
ფარგლებში სიმებიანი,
ალბათ იგივე გზა, რომ ჩვენ ვსაუბრობთ სექტემბერი
ყოფნის მეცხრე თვე წელი
ან ორშაბათს მყოფი პირველი დღე კვირაში.
ასე რომ, ეს გვაძლევს გზა
გაერკვნენ, რომელიც შედარებით, უცნაური წინააღმდეგ კი
იმიტომ, რომ თქვენ აქ,
თუ ჩვენ ემთხვევა it up ამ T,
თქვენ ხედავთ, რომ ყველა პირობა მთავრული
არიან კი პოზიციები,
მაინც პირველი სიტყვა,
და შემდეგ რამ მისაღებად დააგდეს off ერთხელ ჩვენ მოხვდა, რომ სივრცე,
რადგან არ ჩავთვლით ამ სივრცეში, როგორც წერილში,
ამიტომ, თითქოს ჩვენ დავიწყეთ
და წავიდა 0, 1, 2, 3, 4, 5,
სივრცეში, 6, 7, 8, სივრცე,
9, ხოლო შემდეგ 10, 11, 12, და ასე შემდეგ.
>> ზემოთ, ამიტომ ჩვენ აუცილებლად იქნება გინდათ გამოიყენოთ გარკვეული loop
წასვლა უნდა აღემატებოდეს თითოეულ სიმბოლოების მხრივ.
ამრიგად, ამ ეტაპზე,
ჩვენ დავბრუნდებით ჩვენს ძველ pseudocode აქ.
როგორც ნაწილი ამ იდენტიფიკაციის რომელიც პირობა
არის ზედა და რაც პირობა არის ამას,
ჩვენ გვსურს რომ ეს ერთგვარი მარყუჟის.
Loop, მსხვილი ნაწლავის.
როგორი მარყუჟის, აქედან ტიპის მარყუჟების, რომ გვაქვს,
როგორც ჩანს, ერთი კარგი საშუალება ამ შემთხვევაში?
>> მე ფიქრობდა for loop.
და რატომ ვფიქრობ ამისთვის loop?
>> რადგან იწყება ნულოვანი, ხოლო შემდეგ
როდესაც ჩვენ მივაღწევთ სიგრძეზე სიმებიანი,
და შემდეგ ყოველ iteration შეგიძლიათ [inaudible], ძალიან?
ჰო, ზუსტად.
ასე რომ, აქედან სხვადასხვა არჩევანი მარყუჟების,
ჩვენ გვაქვს ამისთვის მარყუჟების, ხოლო მარყუჟების, და do-ხოლო მარყუჟების.
სად ამისთვის loop განსაკუთრებით სასარგებლო
როდესაც გაინტერესებთ
სახის აქ თქვენ at in loop,
რამდენჯერ მარყუჟი უკვე შესრულებული აქამდე.
სწორედ იმას, რასაც ჩვენ გვინდა ვიცოდეთ ამ სიტუაციაში,
მოსწონს კელიმ,
ეფუძნება გამორთვა Charlotte მისი ადრინდელი კომენტარი, რომ ჩვენ გვინდა ვიცოდეთ თანამდებობა
პერსონაჟის ფარგლებში სიმებიანი,
და ამისთვის loop მოგვცემს უბრალოდ რომ,
რადგან თუ ჩვენ ვიწყებთ სახის ეძებს უკან ჩვენი სიმებიანი,
თუ ჩვენ დავიწყებთ ჩვენი ამისთვის loop at 0,
და ჩვენ ახვიდეთ მეშვეობით სიგრძე მთელი ტექსტი,
მაშინ ჩვენ შეგვიძლია გაერთიანების წერილი T
ერთად 0 ჩვენი ამისთვის მარყუჟის,
წერილში H ერთად 1 ჩვენს ამისთვის მარყუჟი, და ასე შემდეგ,
აპირებს ყველა გზა ბოლომდე სიმებიანი.
>> მოდით ახლა გადავიდეთ კოდირების ამ უბრალოდ ცოტა
უბრალოდ, ასე რომ თქვენ ბიჭები მისაღებად შეგრძნებას, რასაც ამ ჰგავს.
მე ვაპირებ ამ შენახვა,
ამიტომ ჩვენ მივიღეთ ჩვენი ფსევდო კოდი აქ,
და მე ვაპირებ წაშლა ყველაფერი.
ასე რომ მაქვს ცარიელი ფურცლიდან.
მე კარგად დაიწყება წერილობით int ძირითადი (void)
{
მე კარგად დააყენა დაბრუნების 0 ში
და შემდეგ}.
ასე რომ, როგორც წესი, როცა დაიწყება პროგრამა, ეს არის ის, რაც მე იწყება.
მე შენახვა ისე, რომ თქვენ ბიჭები გააჩნიათ.
ასე ერთი პირველი რამ ჩვენ ვისაუბრეთ იყო
მიღების შეიტანენ მომხმარებლის
და შენახვის მას სიმებიანი.
როგორ მივიღებთ შეიტანენ ხარ?
>> GetString.
GetString, ყველა უფლება.
ასე რომ, თუ მე აკრიფოთ GetString ()
და მძიმით.
მოდით ვეცადოთ გაშვებული ამ; დაიცავს ეს პერსპექტივაში, პირველ რიგში?
და რატომ არ აწარმოებს ამ?
>> თქვენ უნდა განაცხადოს ცვლადი.
მე უნდა განაცხადოს ცვლადი. Okay.
>> მაშ როგორ შემიძლია ამის გაკეთება?
მიგაჩნიათ თუ არა იბადება წერილობით რაღაც, გავრცელებას?
და მაშინ ჩვენ შეგვიძლია დახევის it up.
ვნახოთ, დენ, მარჯვენა, okay.
ან დანიელ. დააკოპირეთ რომ, string შეყვანის = GetString ().
გასაოცარია.
დაიცავს ეს აწარმოებს?
მოდით ცდილობენ.
Hit პერსპექტივაში, ატვირთვა კოდის, მშენებლობა, შეცდომა.
Okay.
ამიტომ whats ხდება?
გამოყენება გამოუცხადებელ იდენტიფიკატორი "string".
>> ჩვენ უნდა შეიცავდეს ბიბლიოთეკების?
ჰო, ისე, დენ ს ამბობდა ჩვენ უნდა შეიცავდეს ბიბლიოთეკები.
ის არის, რომ რას აპირებს ამბობენ, Stella? გასაოცარია.
სწორედ გასაოცარია, ასე Stella, შეგიძლიათ
გადააკოპირეთ ეს კოდი გარეთ დენიელ ს ფართი?
თუ თქვენ დააჭირეთ დანიელ როლანდ გი, კოპირება,
და მაშინ იქნება თქვენ დააყენა შორის ხაზი, შემდეგ კი შეინახეთ იგი out?
ნება მომეცით ვიცი, როდესაც თქვენ მზად.
ასე რომ, ეს ეხება სინტაქსი ასევე სახის ხმაურიანი;
იქ მოსწონს, რომ hash tag,
და არსებობს მოიცავს და შემდეგ არსებობს ამ კუთხური ფრჩხილები.
გახსოვთ, როგორ მუშაობს ეს, ან უნდა ვთქვათ up ამ კოდი უფლება აქ?
>> ვარ კარგი.
Okay.
>> I დაბეჭდილი ეს - მე არ ვიყავი დარწმუნებული, რომელიც ბიბლიოთეკაში, თუმცა.
ოჰ, okay - yeah, ამიტომ CS50 ბიბლიოთეკაში.
>> ოჰ, მე ზუსტად stdio ბიბლიოთეკაში.
>> ოჰ, got it - yeah, არ, that's -
გამოდის, რომ სტრიქონს რეალურად იმას, რაც განსაკუთრებული CS50.
არსებობს რეალურად არ არის ჭეშმარიტი string ტიპის
რადგან სწორედ აქ, string არის ტიპის პოზიცია, -
ჩვენ ვაცხადებთ ცვლადში შეყვანის ტიპის string -
და ჩვენ აყენებს შიგნით შეყვანის
ღირებულება რომ იღებს დაბრუნდა us: გამომავალი ამ GetString ფუნქცია ზარი.
თქვენ შეგიძლიათ თქვათ ეს ფუნქცია ზარის რადგანაც ეს მივიღე ფრჩხილებში, ისევე printf აკეთებს,
ისევე strlen აკეთებს.
მაგრამ string ფაქტიურად არ რეალური ტიპის
in C ენაზე.
ჩვენ ნათლად შევიდა ტიპი, და ჩვენ დასჭირდება მეტი რა ეს ფაქტიურად არის
დო, რადგან არ არსებობს გზა მუშაობა სტრიქონები;
ჩვენ უბრალოდ გაკეთდეს რაღაც, რათა ის გამოიყურება გავალამაზოთ.
>> ასე რომ აქ ჩვენ მივდივართ.
აქ Stella კოდი.
ეს მივიღე # მოიცავს .
სხვა ხალხი დაარქვით მოსწონს hash მოიცავს ზოგჯერ ან მკვეთრი მოიცავს.
ახლა ჩვენ შეგვიძლია დავიწყოთ ის, გაუშვით,
და ჩვენ მაინც შეცდომა.
ვნახოთ რა ხდება.
"გამოუყენებელი ცვლადი 'შეყვანის'."
Okay, ასე რომ ზემოთ, რომ ზემოთ.
ვგულისხმობ, ეს არ მართლა მაგარია,
რადგან ჩვენ ვიღებთ შეცდომა და ეს არ არის გაშვებული,
მაგრამ რა ამ ამბობს ის არის, რომ
ჩვენ არ გამოიყენება ჩვენი ცვლადი, რომელიც აზრი.
ჩვენ არ ცდილობდა არაფერს იგი.
ეს არის გზა, რომელიც
Clang ცდილობს დაგვეხმაროს დავრწმუნდეთ, რომ ჩვენ არა მხოლოდ გამოყენებით ცვლადები
და შემდეგ inadvertently მოუწოდებდა მათ რაღაც მოგვიანებით ჩვენი კოდი,
დაგვეხმარება თავიდან ავიცილოთ შეცდომები, რომ გზა.
>> ყველა უფლება, ამიტომ ჩვენ მივიღეთ შეიტანენ მომხმარებელი,
ჩვენ ინახება ეს ცვლადი.
შემდეგი ნაბიჯი იყო მაშინ
დაიწყოს ეძებს ყველა სიმბოლოების სიმებიანი
და საიდენტიფიკაციო რომელიც პირობა უნდა ზედა
და რაც პირობა უნდა ამას.
მსგავსად კელი და Charlotte იზრდებიან,
ჩვენ ამას ვაკეთებთ, გამოყენებით ამისთვის loop.
ასე რომ ვინმეს აქვს გვახსოვს სინტაქსის of ამისთვის loop
და მინდა მიიღოს stab მხოლოდ წერილობით
პირველი ხაზი ამისთვის მარყუჟის, უბრალოდ ამისთვის ცოტა?
კელი, თქვენ გინდათ გინება?
>> ჰო, ასე რომ თქვენ უნდა ინიციალიზაცია პირველი,
ამიტომ დააყენა i = 0,
და მაშინ მე მე <strlen ().
არის თუ არა თქვენს ფართი - შემიძლია დახევის ეს?
>> Yeah, I ბრალია ცოტა, მაგრამ რა.
>> Okay, მოდით დახევის it up.
გასაოცარია.
>> მაგრამ არ ვიცოდი, თუ ჰქონდა, რომ -
Yeah, okay.
ასე რომ აქ არის ის, რაც კელის მივიღე: მოდით შევხედოთ ეს სწრაფად.
ასე რომ, ის ის მოიცავდა cs50 ბიბლიოთეკა ზედა.
ის შედის სტანდარტული IO ბიბლიოთეკა ზედა,
და სტანდარტის IO აქვს ფუნქციების მსგავსად printf,
ასე რომ, თუ თქვენ ოდესმე გვინდა გამოვიყენოთ printf, საჭიროა, რომ ხაზი.
და შემდეგ იგი შედის სიმებიანი ბიბლიოთეკა,
რაც ჩვენ დაგვჭირდება,
რადგან სიმებიანი ბიბლიოთეკას აქვს strlen ფუნქცია,
რაც ჩვენ მოხვედრა მხოლოდ ცოტა.
ასე რომ, თუ დავაკვირდებით, რა კელის გაკეთდეს აქ,
შეგიძლიათ ფეხით ჩვენს მეშვეობით თუ რა გააკეთეთ თქვენ?
>> ჰო, ისე - ვგულისხმობ, მე მივიღე შეცდომები, ასე -
ჰო, არა, it's -
>> ამიტომ მინდოდა დარეკვა სიმებიანი რომ მე მივიღე მხოლოდ "სტრინგი".
მინდოდა ამობეჭდოთ სიმებიანი
და მერე -
მინდოდა like მითითებული სიმებიანი როგორც მოსწონს მასივი თითოეული ხასიათი
მყოფი სხვადასხვა [inaudible], არა?
და შემდეგ მინდოდა იწყება თანამდებობა 0
და შემდეგ ყოველ 2 ფართები,
მივდიოდი კაპიტალიზაცია,
ასე რომ მე უბრალოდ აღწერილი, როგორც 23, რადგანაც მე ეძებს ASCII მაგიდასთან.
ასე რომ, რაც მე ფიქრობდა - მე ვიცი, ეს არ არის სწორი.
>> Got, ასე რომ ეს დიდი დასაწყისია.
ვფიქრობ ბევრი ფარგლებში ადგილზე აქ.
მოდით გავლა სახის ხაზს და ვნახოთ რა ხდება.
ასე რომ გზა მომწონს გავაკეთოთ ეს მხოლოდ იწყება შედგენის კოდი
და გაქირავების შემდგენელი მითხრათ მოსწონს რა ცუდი ჩემი კოდი,
რადგან შემდგენელი მართლაც კარგად გეუბნებოდით რა არის არასწორი თქვენს კოდი.
ასე რომ, თუ ჩვენ ითამაშოთ, მშენებლობა, და ეს არ ააშენოს.
განცხადებაში ნათქვამია, იყო შეცდომა,
ასე რომ, თუ ჩვენ გადახვევა down და შევხედოთ პირველი შეცდომა,
იგი ამბობს -
ჩვენ გადახვევა უკან მდე დაბრუნება,
ვხედავთ, რომ არსებობს 5 შეცდომები გენერირებული ქვემოთ აქ ბოლოში.
Oops, რომ მართლაც შეწყვიტა.
ვფიქრობ, რომ უბრალოდ არ აპირებს მიიღოს ნებისმიერი უკეთესი.
>> Here We Go.
ასე რომ 5 სულ შეცდომები გენერირებული.
აქ შეძლებენ ნახონ პირველი 2,
ასე, რომ შეიძლება გადავიდეს ეს ყველაფერი ცოტა და შემდეგ სახის გადახვევა up.
ეს არის ბრძანება, რომელიც აწარმოებს კომპილაციის კოდი,
და მაშინ პირველი შეცდომა იყო file.c უფლება აქ:
"მოსალოდნელია იდენტიფიცირება ან" ('", და ეს იყო ამ ხაზის
სადაც ჩვენ განაცხადა string = GetString ().
თქვენ ხედავთ, სწორედ აქ, რომ ეს იყო on line 8 file.c,
და მაშინ ვფიქრობ, ეს არის ხასიათი 12 - ეს შეცდომა.
ასე რომ, რა ხდება არასწორი on line 8 - Kelly?
>> თქვენ უბრალოდ უნდა ეძახით, ისევე, ასო ან რაიმე,
მოსწონს string s ან რაღაც?
ჰო, გამოდის, რომ ეს სპეციალური ტიპის სახელები,
ასე string, int, char, მოკლე,
ისინი ყველა სპეციალური სიტყვა,
და ვერ რეალურად მათი გამოყენება, როგორც სახელების თქვენი ცვლადები,
რადგან შემდგენელი უყურებს, რომ და აცხადებს,
"ოჰ, მე ვიცი, რომ ტიპის,"
ასე რომ თქვენ შეგიძლიათ რეალურად არ აქვს სიმებიანი ცვლადში სიმებიანი,
მოსწონს ვცდილობ აქ, ეს არ იმუშავებს.
მაგრამ ამის ნაცვლად, ჩვენ შეგვიძლია ეძახით რაღაც s ან ქ ან ქ.
ჩვენ ასევე ვერ ეძახით int.
ჩვენ შეგვიძლია არ სიმებიანი მოუწოდა int.
ჩვენ შეგვიძლია არ სიმებიანი მოუწოდა char; არც იმ იმუშავებს.
>> ასე რომ ჩვენ უბრალოდ ვუწოდებთ მას s ამ დროისათვის.
გასაოცარია.
რა მომავალი ხდება ამ ხაზის?
სიმებიანი - ეს ხაზი გამოიყურება საკმაოდ კარგი?
მოდით მივცეთ მას კიდევ ვცდილობთ, მოდით გაუშვით.
Okay, ასე რომ ჩვენ მაინც შეცდომები.
ამჯერად, ჩვენ ქვემოთ 4 შეცდომები.
ამიტომ, ჩვენ ერთი მათგანი.
მოდით Move Up.
"მოულოდნელი ტიპის სახელი 'string': მოსალოდნელი გამოხატვის," დიახ?
>> ჰო, იმიტომ ვცდილობდი ასახელებს სიმებიანი.
ჰო, ასე გამოიყურება ჩვენ ახლა უნდა წახვიდე სარემონტო
ყველა ამ მითითება სიმებიანი.
თქვენ ხედავთ, აქ არის მინიშნება სიმებიანი აქ, აქ, აქ,
ამიტომ ჩვენ შეიძლება გადავიდეს ყველა ამ to s.
დიდი. Okay, გაუშვით ერთხელ.
შენობა - სხვა შეცდომა.
>> Okay, ახლა ჩვენ ქვემოთ ერთი შეცდომა,
ასე int i = s და შემდეგ კვადრატულ ფრჩხილებში.
ასე რომ შეგიძლიათ გვითხრათ ცოტა, რას აკეთებდნენ აქ, კელი?
>> დიახ.
ეს იყო on line 10.
>> არ ვიცი, თუ ჩვენ გვჭირდებოდა ეს ყველაფერი,
მაგრამ მე ვფიქრობ, მე ვცდილობდი -
მე შეინახეთ იგი ასე რომ თქვენ შეგიძლიათ მიყევით ერთად.
>> ვფიქრობ, კი
ცდილობს ვამბობ, რომ იწყება თანამდებობა 0
დასაწყისში ჩემი ამისთვის მარყუჟის,
ამიტომ ვფიქრობ, იქნებ რომ ამბობდა იყო ზედმეტი.
ასე რომ მხოლოდ recap,
თქვენ ამბობდნენ, რომ ეს - თქვენ ცდილობდნენ დაიწყოს ამ პოზიციაში 0
და კიდევ ამ - yeah,
ამიტომ მე ვფიქრობ, ადრე, ძალიან, როდესაც გავლით კოდი,
თქვენ საუბრობდით იმაზე, თუ როგორ თქვენ სურდა მკურნალობა სიმებიანი როგორც მასივი
ამიტომ ჩვენ შეგვიძლია დაშვება ყველა ხასიათი ინდივიდუალურად.
ვფიქრობ დენ აღნიშნული კოლექტორები, ძალიან, ცდილობენ კონვერტირება სიმები შევიდა მასივები.
>> თურმე სახის ქვეშ hood,
სიმებიანი ფაქტობრივად ჩაიწერა როგორც მასივი უკვე,
და თქვენ შეგიძლიათ თქვათ ეს მოსწონს მასივი;
არ კონვერტაციის რომ თქვენ უნდა გააკეთოთ.
სიმებიანი isn't - ასე -
სიმებიანი არ არის მასივი,
მაგრამ თქვენ შეგიძლიათ თქვათ, როგორც ასეთი, რადგან ყველა გმირები ინახება
ერთი უფლება მომდევნო ერთმანეთს მეხსიერება,
ასე რომ, თუ გსურთ მიიღოთ პირველი ხასიათი სიმებიანი,
ეს იგივეა, რაც მიღების პირველი რიცხვი წელს მთელი მასივი.
ამიტომ, ჩვენ ხშირად - we'll
ეხება 2 მოსწონს
OH, როგორც ტექსტი, როგორც მასივი,
მიუხედავად იმისა, რომ ნამდვილად - they're ძალიან განსხვავებული რამ,
მაგრამ შეგიძლიათ მკურნალობა, მათ ძალიან ბევრი ერთი და იგივე.
გამოდის, რომ ეს ხაზი სინამდვილეში -
ჩვენ არ გვჭირდება რაიმე კონვერტაციის,
და ფაქტობრივად,
ამ ფაქტობრივად არ არის სწორი გამოთქმა
რაც ჩვენი შემდგენელი არის გვეუბნებოდა.
ის ამბობს, "Hey, ეს მოსალოდნელია გამოხატვის,
და რა მაქვს აქ არის ის, რასაც არ გამოხატვის. "
განაცხადოს მასივი,
ყველა თქვენ მხოლოდ უნდა მსგავსი რამ ერთად მძიმით,
და მაშინ გეტყვით მასივი როდემდე გინდათ, რომ იყოს,
როგორიცაა 5, ამიტომ ეს ხაზი 10
იქნება განაცხადოს მასივი მოუწოდა მე 5 რიცხვებით მას.
>> ეს არის განზე, ეს არ არის საჭირო კოდი,
მაგრამ ეს არის - ეს არის ერთგვარი რა დეკლარაციის ჰგავს.
>> რა არ გამოიყენოთ char მე [strlen (s)]?
ჩარ I [strlen (s)]?
>> Char მე და შემდეგ შიგნით ფრჩხილებში, strlen (s).
ჰო, ამიტომ ვერ -
ჩვენ შეგვიძლია ამის გაკეთება,
და ეს იქნებოდა განაცხადოს - რა ამ შემთხვევაში?
>> ვფიქრობ, რომ ეს განაცხადოს მასივი
საქართველოს, ისევე როგორც - of -
ოჰ, შენ არ გვჭირდება მე - ო,
yeah, თქვენ ნამდვილად არ გვჭირდება მე.
თქვენ განაცხადოს მასივი გმირები
სიგრძის s.
და მერე რა სემ ს ამბობდა ის არის, რომ
ამ ხაზის 10 - ნება მიბოძეთ ზოგიერთი სივრცეში შორის და დანარჩენ ასე შეგვიძლია იზოლირებას ეს -
ამ ხაზის 10 იქნებოდა განაცხადოს მასივი
სიმბოლოთა, strlen (ებ) ღირს მათგანი,
მაგრამ ჩვენ მართლაც გვჭირდება მე,
და მიზეზი ჩვენ გვჭირდება მე არის, რადგან ჩვენ უნდა მივცეთ მასივი სახელი;
წინააღმდეგ შემთხვევაში, ჩვენ არ გზა ეხება მასივი მოგვიანებით კოდი.
>> ასე რომ, ეს სწორედ აქ არის მასივი სახელი
და შიგნით არის სიგრძეზე.
ეს მოგვცემს მასივი,
მაგრამ ეს არის - ისევ, ეს არის დეკლარაცია.
ეს არ არის დავალება, მას არ ინიციალიზაციისას.
თუ ვაცხადებთ ამ მასივი მოსწონს,
არსებობს რეალურად არაფერი შინაარსი მასივი.
უბრალოდ უსარგებლო - ის რაც არის იქ.
და როგორც ჩვენ განაცხადა,
ჩვენ რეალურად არც კი უნდა გავაკეთოთ ამ კონვერტაციის,
იმიტომ, რომ ჩვენ უკვე მკურნალობა string s, როგორც მასივი.
მე ვიცი, ჩვენ გაშვებული ცოტა ხანგრძლივი დროით,
მაგრამ მე მინდა უბრალოდ მართლაც სწრაფად მიიღოთ ამ for loop
და თუ როგორ წვდომისათვის ინდივიდუალური სიმბოლოების მასივი,
რადგან ისინი გასაღები ჩვენი დავალება.
და მაშინ საბოლოოდ დავრწმუნდებით მოგცემთ წასვლა იქიდან.
>> ასე რომ, ჩვენ მივიღეთ ამისთვის loop
რომელიც გამოიყურება თითქმის კარგი.
რა არ საკმაოდ თითქმის იქ?
What's - რა არ საკმაოდ უფლება ამ მიზნით loop?
>> არარის Curly braces?
არარის Curly braces, ერთი.
Wanna დავრწმუნდეთ, რომ ჩვენ გვაქვს ორგანოს მარყუჟის რეჟიმში Curly braces.
Oops, არ მოედანი გაუწიოს!
და რა არის შემდეგი რამ, რომ ჩვენ უნდა გავაკეთოთ ეს მარყუჟი?
თუ მე ვცდილობ და გაუშვით,
whats ეს შეცდომა რომ მივიღო?
მივიღებ ყველა ეს შეცდომა - მაქვს ინიციალიზაცია მე.
დიდი.
ასე რომ, ეს იქნება loop - ეს არ არის საკმაოდ არსებობს,
მაგრამ მისაღებად ნამდვილად ახლოს.
ეს კოდი შეგვიძლია ახლა აწარმოებს,
აშენება, შეცდომა მაინც ხდება.
რატომ არის ის კვლავ უკმაყოფილო,
ამბობდა გამოხატვის გამოუყენებელი,
და ეს იმიტომ, რომ ამ ხაზის არაფერს აკეთებს.
ჩვენ არ ჩაწეროთ იგი სადმე, ჩვენ არ შეინახოთ შედეგი.
სად უნდა იყოს გადარჩენის ეს შედეგი?
>> S ან მე?
სწორედ ეს ხმაურიანი სინტაქსი,
ამ გვერდის ერთად კვადრატულ ფრჩხილებში
ნიშნავს შედიხართ I-ე ხასიათი s.
რომ იქნება რაღაც, რომ მართლაც მნიშვნელოვანია დავალება.
სამწუხაროდ, ჩვენ ვაპირებთ უნდა შეწყდეს აქ,
ასე რომ სებასტიან სექციაში შეიძლება დადგეს,
მაგრამ ბედნიერი ვარ, დარჩენა შემდეგ გარეთ და მიიღებს რაიმე კითხვა.
მადლობას მოგახსენებთ იმისთვის ბიჭები მობრძანებისათვის.
ეს ახლა უნდა ატვირთოთ, აშენება, აწარმოებს.
ჩვენ შეგვიძლია სიმებიანი მოსწონს "Hello"
და ეს ბეჭდავს "QOX".
[სიცილის]
>> ასე რომ არ საკმაოდ არიან, მაგრამ გადაადგილდებიან, მიღების მიმართ იმ მარყუჟების!
მადლობა მობრძანებისთვის, და მე ვიქნები გარეთ.