[Powered by Google Translate] JOE MCCORMICK: ახლა ჩვენ ვაპირებთ ვისაუბროთ ცვლადების.
ცვლადები კომპიუტერულ მეცნიერებაში არის გზა შესანახად ღირებულება.
ახლა, რა და როგორ შესანახად, რომ
ღირებულება არ არის ძალიან მნიშვნელოვანი.
ჩვენ შეგვიძლია აქვს მნიშვნელობა, რომელიც არის სიტყვა, რომელსაც შეეძლო
ინახება როგორც სიმებიანი.
ან ჩვენ შეგვეძლო რაღაც რომ არის ხასიათი,
მოსწონს წერილში.
და რომ იყოს შენახული როგორც char.
ჩვენ შეგვეძლო ნომერი, როგორც ერთი ან 12, იქნებოდა
ჩაიწერა როგორც მთელი რიცხვი ან int.
მაშინ, ჩვენ გვაქვს განსხვავებული რამ, როგორიცაა float, რომელიც შენახვა შეუძლია
რამ, როგორიცაა 1.01 ან 111,13.
ეს ფასეულობები ყოველთვის მოუწოდა mutable.
რაც იმას ნიშნავს, რომ თუ ჩვენ შენახული ნომერ რიცხვი ზე
ზევით პროგრამა მოგვიანებით, შეიძლება შეიცვალოს, რომ ნომერი
იყოს სამი ან შვიდი.
ახლა, ადგილობრივი ცვლადი არის ის, რაც თქვენ, როგორც წესი, ექმნებათ,
როდესაც აღასრულებენ ფუნქცია.
ასე ვთქვათ თქვენ განმავლობაში თქვენი მთავარი ფუნქცია.
და გსურთ მისი შექმნა ცვლადში num.
და ჩვენ ვინახავთ რიცხვი მას.
ამიტომ შეიძლება ითქვას, რაღაც int num = 3.
ახლა თქვენ გადასვლა.
თქვენ გაქვთ ადგილობრივი ცვლადი.
ახლა, ამ ცვლადი შეიძლება შეიცვალოს მოგვიანებით ძირითად
ფუნქცია, განაცხადა მსგავსი რამ num = 6 ან num = 7.
მაგრამ თქვენი ცვლადი დავრჩებოდით ფარგლებში
ფარგლებს, რომ ფუნქცია.
და ფარგლები, როგორც წესი, იწყება Curly გაუწიოს ზე
beginning ძირითადი და მთავრდება Curly გაუწიოს, რომ
ხურავს გარეთ მთავარი ფუნქცია.
და ეს ადგილობრივი ცვლადი არის დავრჩებოდით ამ ფარგლებს.
ასე რომ ვეღარ შემოწმდა სხვა ფუნქცია,
გარეთ მთავარი ფუნქცია.
და კიდევ მთავარი ფუნქცია სრულდება მისი აღსრულება და
ანაზღაურება, ამ ადგილობრივი ცვლადში num გაქრა.
ასე რომ, განსხვავებით ადგილობრივი ცვლადები, ჩვენ გვაქვს რაღაც
მოუწოდა გლობალური ცვლადები.
ახლა გლობალური ცვლადი გამოცხადებულია ზედა
პროგრამა და შეიძლება გამოიყენოთ ნებისმიერ პროგრამა.
ასე ვთქვათ თქვენ გამოაცხადა გლობალური ცვლადი ზედა
თქვენი პროგრამა, მოუწოდა ტესტი.
ახლა, ამ ცვლადი შეიძლება შემოწმდა
ნებისმიერ პროგრამას.
თქვენ შეიძლება თქვათ ეს თქვენი ძირითადი ფუნქცია ან ფუნქცია
ქვემოთ რომ.
მაგრამ თუ თქვენ ოდესმე უნდა შეიქმნას ადგილობრივი ცვლადი ერთ
ამ ფუნქციების, იგივე სახელი
ტესტი, არსებობს კონფლიქტი.
რადგან არ იცის, რომელი ცვლადი, რომლის გამოყენებაც გსურთ.
გსურთ გამოიყენოთ გლობალური ტესტი,
განაცხადა ზედა პროგრამა?
თუ გსურთ გამოიყენოთ ადგილობრივი ცვლადი გამოცდა რომ
თქვენ შექმნას ცდილობენ ამ ფუნქცია?
ახლა, ეს არის ერთი მიზეზი, თუ რატომ არ სურთ
უბრალოდ გამოიყენოთ გლობალური ცვლადები თავისუფლად.
არსებობს რაღაც მოუწოდა cluttering სახელი ფართი.
მაშინაც კი, თუ თქვენ არ ნიშნავს, თქვენ შეიძლება შემთხვევით შექმნა
ადგილობრივი ცვლადი, მოგვიანებით ამ პროგრამაში, იგივე
სახელი გლობალური ცვლადი.
და ეს არ უქმნის უზარმაზარი პრობლემა, როდესაც თქვენ მომუშავე
მცირე 10, 20, 30-ხაზის პროგრამები.
ერთხელ თქვენ მდე ათასობით ხაზების კოდი, თქვენ ვერ
გახსოვთ ზუსტად რა თქვენ არ ინახება გლობალური ცვლადი.
ასე რომ ერთი რამ განიხილოს, როდესაც გამოყენებით ადგილობრივი და გლობალური
ცვლადები არის ფიქრი მისი მოცულობის.
ახლა ფარგლებს ეხება, სადაც ეს ცვლადები შეიძლება გამოყენებული იქნას
პროგრამა.
ასე რომ გლობალური ცვლადი აქვს რასაც გლობალური ფარგლებს,
რაც იმას ნიშნავს, რომ ეს შეიძლება გამოყენებულ ნებისმიერ პროგრამა.
ერთხელ თქვენ ინიციალიზაცია რომ ცვლადი, ეს შეიძლება იყოს გამოყენებული
ნებისმიერი ფუნქცია, იქნება ეს მთავარი ფუნქცია ან
ფუნქცია 10 ფუნქციებს ქვემოთ, მოუწოდა foo10.
არ აქვს მნიშვნელობა, სადაც თქვენ გამოიყენოს იგი.
მაგრამ ადგილობრივი ცვლადი აქვს კონკრეტული ფარგლები.
და ფარგლებს, რომ ადგილობრივი ცვლადი განისაზღვრება
სადაც ის ინიციალიზაცია.
ახლა, ფარგლებში, ამიტომ, როგორც წესი, განისაზღვრება გახსნა
გაუწიოს ფუნქციის რომ ცვლადი გამოცხადებული, ვიდრე
დახურვის გაუწიოს ამ ფუნქციას.
ასე ვთქვათ თქვენ ძირითად ფუნქციას.
თქვენ შექმნა ცვლადი.
მაგრამ ახლა, ამ ძირითადი ფუნქცია, ჩვენ მოვუწოდებთ სხვა
ფუნქციონირებს foo.
In ფუნქცია foo, ჩვენ ვერ ვუწოდებ ცვლადი ჩვენ უბრალოდ
შექმნილი ძირითადი ფუნქცია იმიტომ რომ არ ფარგლებს.
რომ ცვლადის მხოლოდ ფარგლებს შიგნით ძირითადი ფუნქცია.
ამიტომ ვერ გამოიყენოს იგი შემდგომი წლის განმავლობაში, ძირითადი ფუნქცია, მაგრამ
არ შედის ფუნქცია ეწოდება ძირითადი ფუნქცია.
ასე მოსწონს დასტის და ბევრი გლობალური ცვლადები არის
ინახება გარკვეული ნაწილის მეხსიერებაში.
ახლა, ამ ნაწილში მეხსიერება დამოკიდებულია სისტემა, რომელიც
თქვენ გამოყენებით.
გლობალური ცვლადები აქვს ორი დამოუკიდებელი ლაქების რომ ისინი
ინახება, ერთი ინიციალიზაცია გლობალური ცვლადები, როგორიცაა, თუ
თქვენ განაცხადა, int ტესტი = 5, ზედა თქვენი პროგრამა.
და სხვა ფართობი არის unitialized გლობალური ცვლადები,
თუ თქვენ მხოლოდ განაცხადა, int ტესტი, ზედა თქვენი პროგრამა და
მიდიოდა მითითებული ტესტი ცვლადები
მოგვიანებით ამ პროგრამაში.
ახლა მე ვაპირებ ვისაუბრო რაღაც მოუწოდა # განსაზღვრავს,
რაც გზას მისცემს სიმბოლურ სახელი მუდმივი.
და აქ ჩვენ გვაქვს მაგალითი C პროგრამა, რომელიც ითვლის
ფართობი წრეში.
და ზედა პროგრამით ჩვენ ყველაფერს გავაკეთებთ, რომ რაღაც ამბობს
# Define PI 3,14159.
# განსაზღვროს არ ტექნიკურად შექმნას გლობალური ცვლადი.
უფრო მეტიც, იგი ეუბნება შემდგენელი მისი preprocessor to
იპოვოს და შეცვლის ყველა ინსტანციის pi ერთად
3,14159 ადრე შედგენა.
მიუხედავად ამისა, ხდება სასარგებლო ტექნიკა გამოცხადებისთვის
მუდმივები, გამოყენების მთელი პროგრამა.
ახლა, ეძებს ფართობი ფუნქცია, სჭირდება წელს float
Rad და უბრალოდ ბრუნდება ფართობი წრე, რომ
რადიუსი ან pi r კვადრატში, ან PI ჯერ Rad ჯერ Rad.
და ეს არის სადაც # განსაზღვრავს გადამწყვეტი როლი შეასრულა.
რადგან შემდგენელი ძირითადად replace რომ pi
სიმბოლო მთელ რიგ 3,14159.
ასე რომ, ჩვენ არ უნდა დაწერო, რომ უსასრულოდ.
მოგვიანებით, თუ ჩვენ გადაწყვეტილებას გამოიყენონ მეტი ციფრით pi, მოდით
ამბობენ 3.1415926, შეიძლება უბრალოდ დაამატოთ, რომ ზევით
პროგრამა და არ უნდა შეიცვალოს ის,
მოგვიანებით ამ პროგრამაში.
ეს არის კარგი გამოყენება # განსაზღვრავს.
ჩვენ არ გვინდა შესანახად pi როგორც გლობალური ცვლადი, რადგან იგი
შეიძლება შეიცვალოს შემდეგ პროგრამა.
და ვიცით, pi არ იცვლება.
ეს მუდმივი.
ასე რომ, ეს დაასრულა ჩვენი თემის გლობალური ცვლადები.
ამიტომ დღეს ჩვენ ვისაუბრეთ განსხვავება ადგილობრივი და
გლობალური ცვლადები, როდესაც მათი გამოყენება, დამოკიდებულია მათი
დიაპაზონი და რატომ არ გამოიყენოს გლობალური ცვლადები სურვილისამებრ
გამო cluttering of სახელი ფართი.
მე Joe McCormick.
და ეს არის CS50.