در این مطلب، ویدئو نمودارهای حافظه با لیست در پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:21:47
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,640 –> 00:00:02,800
لیست ها یک نوع داده خاص هستند به
2
00:00:02,800 –> 00:00:04,319
دلایلی که از قبل می دانید
3
00:00:04,319 –> 00:00:06,640
ما می توانیم مقادیر زیادی را در یک لیست داشته باشیم و
4
00:00:06,640 –> 00:00:07,520
آنها به
5
00:00:07,520 –> 00:00:10,719
صورت متوالی یکی پس از دیگری مرتب می شوند،
6
00:00:10,719 –> 00:00:11,519
اگرچه
7
00:00:11,519 –> 00:00:12,880
آنها در واقع
8
00:00:12,880 –> 00:00:15,280
نمایش خاصی در حافظه دارند و در قسمت متفاوتی از حافظه زندگی می کنند.
9
00:00:15,280 –> 00:00:16,720
10
00:00:16,720 –> 00:00:18,400
زمان زیادی را صرف بحث
11
00:00:18,400 –> 00:00:20,880
در مورد بخش پشتهای حافظه کردهایم، بنابراین در این
12
00:00:20,880 –> 00:00:22,240
درس میخواهیم نگاهی
13
00:00:22,240 –> 00:00:24,080
به نحوه نمودار کردن با لیستها
14
00:00:24,080 –> 00:00:26,000
بیاندازیم و به نحوه ارزیابی
15
00:00:26,000 –> 00:00:28,080
حلقهها از نظر این نمودارهای حافظه
16
00:00:28,080 –> 00:00:29,119
نیز
17
00:00:29,119 –> 00:00:30,640
بپردازیم. درست از جایی که
18
00:00:30,640 –> 00:00:32,960
آخرین ویدیو متوقف شده
19
00:00:32,960 –> 00:00:35,440
است ادامه می دهیم، یعنی ما این الگوریتم مجموع را داریم، این
20
00:00:35,440 –> 00:00:37,120
یک الگوریتم بسیار ساده
21
00:00:37,120 –> 00:00:39,760
برای جمع کردن لیستی از اعداد است و من
22
00:00:39,760 –> 00:00:41,280
جلوتر رفته و نظرات را از
23
00:00:41,280 –> 00:00:41,760
این
24
00:00:41,760 –> 00:00:43,200
نسخه حذف کرده ام، اما شما باید نظرات خود را حفظ
25
00:00:43,200 –> 00:00:45,200
کنید. به عنوان مثال، اگر
26
00:00:45,200 –> 00:00:46,800
ویدیوی قبلی را دنبال
27
00:00:46,800 –> 00:00:48,719
کرده باشید، سؤال این است که چگونه میتوانیم
28
00:00:48,719 –> 00:00:50,160
این برنامه را
29
00:00:50,160 –> 00:00:52,000
در نمودار حافظه ردیابی کنیم و این همان
30
00:00:52,000 –> 00:00:53,680
کاری است که امروز با هم انجام میدهیم،
31
00:00:53,680 –> 00:00:55,120
بیایید پیش برویم و اساس
32
00:00:55,120 –> 00:00:57,520
تنظیم را بدست آوریم. ما می
33
00:00:57,520 –> 00:00:59,760
دانیم وقتی با یک لیست به
34
00:00:59,760 –> 00:01:02,000
معنای واقعی کلمه در اینجا می بینیم چه اتفاقی در حافظه می افتد
35
00:01:02,000 –> 00:01:03,840
و چگونه می توانیم آن را در
36
00:01:03,840 –> 00:01:05,119
نمودارهای خود در فضای حافظه خود نشان دهیم،
37
00:01:05,119 –> 00:01:08,720
بنابراین
38
00:01:08,720 –> 00:01:12,080
من می خواهم با یک پشته
39
00:01:12,080 –> 00:01:14,320
در یک فضای پشته شروع کنم. پشته تماس ما
40
00:01:14,320 –> 00:01:15,439
جایی است که
41
00:01:15,439 –> 00:01:18,720
ما فریم های تابع خود و جریان جهانی را پیگیری می کنیم
42
00:01:18,720 –> 00:01:20,479
، بنابراین اینجا
43
00:01:20,479 –> 00:01:23,119
جایی است که پشته من است
44
00:01:23,119 –> 00:01:27,040
و فضای پشته من کاملاً درست است تا کنون
45
00:01:27,040 –> 00:01:28,560
تنها چیزهایی که در هیپ دیده ایم
46
00:01:28,560 –> 00:01:31,439
، تعاریف توابع ما هستند.
47
00:01:31,439 –> 00:01:33,520
به زودی میبینیم که این
48
00:01:33,520 –> 00:01:35,840
لیستها در آنجا نیز وجود دارند، بنابراین پشته
49
00:01:35,840 –> 00:01:38,400
ما یک جریان
50
00:01:38,400 –> 00:01:40,159
جهانی دارد و فریم جهانی جایی است که همه
51
00:01:40,159 –> 00:01:41,680
نامهایی که میشناسید در سطح
52
00:01:41,680 –> 00:01:43,200
جهانی در این ماژول در دسترس
53
00:01:43,200 –> 00:01:45,680
هستند و اولین چیزی که میرویم در آن زندگی میکنند.
54
00:01:45,680 –> 00:01:47,119
برای وارد شدن به چارچوب global
55
00:01:47,119 –> 00:01:48,960
چون ما با رشته doc کاری انجام نمیدهیم
56
00:01:48,960 –> 00:01:51,600
، میخواهیم
57
00:01:51,600 –> 00:01:52,640
تعریف برخی
58
00:01:52,640 –> 00:01:55,840
الگوریتم را وارد کنیم، بنابراین برخی از
59
00:01:58,880 –> 00:02:02,240
الگوها تابعی است که تعریف آن در
60
00:02:02,240 –> 00:02:02,880
خطوط
61
00:02:02,880 –> 00:02:05,840
3 تا 11 است.
62
00:02:06,840 –> 00:02:10,318
عالی است، سپس
63
00:02:10,318 –> 00:02:12,879
برای اولین بار میبینیم به معنای واقعی کلمه لیست کنید، بنابراین هر زمان
64
00:02:12,879 –> 00:02:13,760
که یک l را مشاهده کردید به
65
00:02:13,760 –> 00:02:16,560
معنای واقعی کلمه است و شما باید آن را ارزیابی کنید چه
66
00:02:16,560 –> 00:02:18,640
اتفاقی می افتد این است که یک لیست جدید
67
00:02:18,640 –> 00:02:19,200
روی پشته ساخته شده است،
68
00:02:19,200 –> 00:02:22,800
بنابراین لیست اعداد صحیح این است که چگونه
69
00:02:22,800 –> 00:02:24,400
به ما یک عنوان برای جدولی
70
00:02:24,400 –> 00:02:26,080
که تنظیم می کنیم به ما می دهیم، بنابراین ما تنظیم می کنیم و آن را
71
00:02:26,080 –> 00:02:28,480
پیگیری می کنیم. از نظر جدول لیست می کند
72
00:02:28,480 –> 00:02:30,239
و یک عنصر دارد و
73
00:02:30,239 –> 00:02:31,920
عنصر 110 در آن
74
00:02:31,920 –> 00:02:35,040
درست است، بنابراین عنصر 110 در شاخص
75
00:02:35,040 –> 00:02:39,120
صفر عالی است
76
00:02:39,840 –> 00:02:41,840
، قراردادی که ما از آن استفاده خواهیم کرد این است که شما می دانید
77
00:02:41,840 –> 00:02:42,959
ستون سمت چپ
78
00:02:42,959 –> 00:02:44,560
جدول ما زمانی که با آن کار می کنیم. یک
79
00:02:44,560 –> 00:02:46,160
لیست قرار است ایندکس باشد
80
00:02:46,160 –> 00:02:48,160
و سپس آیتم مرتبط با آن
81
00:02:48,160 –> 00:02:51,200
شاخص مقداری است که در ستون سمت راست قرار دارد
82
00:02:51,200 –> 00:02:54,800
و به این نام تک
83
00:02:54,800 –> 00:02:58,959
در جهانی
84
00:02:58,959 –> 00:03:02,000
85
00:03:02,000 –> 00:03:04,159
ها اختصاص داده می شود. اینها چیزهایی هستند که
86
00:03:04,159 –> 00:03:06,480
واقعاً در این ویدیو مهم هستند،
87
00:03:06,480 –> 00:03:11,200
زیرا تشخیص می دهیم که
88
00:03:11,200 –> 00:03:14,319
لیست ما نام هایی را که به متغیرهایی اختصاص می دهیم ارزش می دهد
89
00:03:14,319 –> 00:03:17,040
که نگه می دارند، صرفاً مقادیری هستند که
90
00:03:17,040 –> 00:03:19,440
ارجاعاتی به لیست هایی دارند که در واقع
91
00:03:19,440 –> 00:03:22,239
در پشته ها زندگی می کنند، بنابراین وقتی از
92
00:03:22,239 –> 00:03:23,760
خود می پرسیم تک
93
00:03:23,760 –> 00:03:25,760
چیست، کلمه چیست. اینجا مجرد که ما به
94
00:03:25,760 –> 00:03:27,440
تازگی به عنوان یک متغیر تعریف کرده ایم و وقتی
95
00:03:27,440 –> 00:03:28,879
بعداً از آن استفاده می کنیم،
96
00:03:28,879 –> 00:03:32,400
آنچه که به نظر می رسد
97
00:03:32,400 –> 00:03:35,599
یکنواخت است، در واقع ارجاع به این
98
00:03:35,599 –> 00:03:36,720
لیست
99
00:03:36,720 –> 00:03:39,920
است، خود لیست درست نیست و
100
00:03:39,920 –> 00:03:42,959
این یک تمایز تا حدودی ظریف است
101
00:03:42,959 –> 00:03:44,640
که ما بیشتر خواهیم شد.
102
00:03:44,640 –> 00:03:46,400
در طی چند هفته آینده، این ایده از یک
103
00:03:46,400 –> 00:03:47,200
مرجع
104
00:03:47,200 –> 00:03:50,480
و این فلش یک مرجع
105
00:03:50,480 –> 00:03:52,640
است، پیامدهای عمیقی دارد که
106
00:03:52,640 –> 00:03:54,400
باید مراقب آنها باشیم، زیرا وقتی می
107
00:03:54,400 –> 00:03:56,080
توانیم چندین ارجاع به یک
108
00:03:56,080 –> 00:03:57,120
مورد
109
00:03:57,120 –> 00:03:58,959
داشته باشیم، اگر کسی زنجیره ای را
110
00:03:58,959 –> 00:04:01,040
تغییر دهد که آن مرجع را دارد. آن مقدار
111
00:04:01,040 –> 00:04:03,200
پس از آن در هر جای دیگری در برنامه ما
112
00:04:03,200 –> 00:04:04,799
باید بدانیم که میتوانست
113
00:04:04,799 –> 00:04:05,599
تغییر کرده باشد،
114
00:04:05,599 –> 00:04:08,319
اما در حال حاضر فقط بدانیم که این
115
00:04:08,319 –> 00:04:10,319
کلمه تک این نام متغیر single
116
00:04:10,319 –> 00:04:11,200
117
00:04:11,200 –> 00:04:14,480
با یک فلش مرجع این
118
00:04:14,480 –> 00:04:17,279
مقدار فهرست، باید توجه داشته باشید که این فلش
119
00:04:17,279 –> 00:04:18,639
120
00:04:18,639 –> 00:04:19,440
121
00:04:19,440 –> 00:04:21,918
اگر به انتهای لیست
122
00:04:21,918 –> 00:04:23,600
یا بالای لیستی
123
00:04:23,600 –> 00:04:26,080
که شما می شناسید اشاره کند یا حتی به طرز عجیبی
124
00:04:26,080 –> 00:04:27,520
سمت راست لیست باشد، هیچکدام
125
00:04:27,520 –> 00:04:29,120
آنها همه ما هستیم، ناچیز است. همه منظور
126
00:04:29,120 –> 00:04:31,199
ما برای هر یک از این موارد یکسان است،
127
00:04:31,199 –> 00:04:33,919
اوه ما به چیزی به
128
00:04:33,919 –> 00:04:34,639
طور خاص
129
00:04:34,639 –> 00:04:37,199
در این لیست اشاره نمی کنیم، بلکه فقط
130
00:04:37,199 –> 00:04:39,280
به ایده این شیء فهرست اشاره می کنیم
131
00:04:39,280 –> 00:04:40,720
که در انبوهی به طور وسیع زندگی می کند،
132
00:04:40,720 –> 00:04:43,759
بنابراین ما یک شی دیگر را می بینیم.
133
00:04:43,759 –> 00:04:44,960
لیستی
134
00:04:44,960 –> 00:04:47,600
که فهرستی را با آیتم های زیادی در آن تنظیم می کند، بنابراین این
135
00:04:47,600 –> 00:04:48,320
یک بار دیگر
136
00:04:48,320 –> 00:04:50,800
یک عبارت تحت اللفظی لیست است، بنابراین هر زمان که
137
00:04:50,800 –> 00:04:51,600
یک
138
00:04:51,600 –> 00:04:53,680
عبارت تحت اللفظی لیست را می بینیم باید یک مقدار
139
00:04:53,680 –> 00:04:54,960
لیست
140
00:04:54,960 –> 00:04:57,040
یا یک شی لیست را روی پشته خود تنظیم کنیم، بنابراین
141
00:04:57,040 –> 00:04:59,680
این یک لیست دیگر از اعداد صحیح است.
142
00:04:59,680 –> 00:05:02,960
و این لیست از اعداد صحیح دارای مقادیر
143
00:05:02,960 –> 00:05:03,440
1
144
00:05:03,440 –> 00:05:06,720
3 و 5 در شاخص های 0
145
00:05:06,720 –> 00:05:09,039
1 و 2 است. بسیار خوب، بنابراین بیایید جدول خود را تنظیم کنیم،
146
00:05:09,039 –> 00:05:10,720
147
00:05:10,720 –> 00:05:12,720
توجه داشته باشید که این یک لیست مجزا و جدا
148
00:05:12,720 –> 00:05:15,520
از اولین لیستی است که ما تنظیم کردیم
149
00:05:15,520 –> 00:05:17,039
، کاملاً خوب است و در واقع بسیار
150
00:05:17,039 –> 00:05:18,639
رایج است. برای داشتن تعداد زیادی اشیاء مختلف لیستی
151
00:05:18,639 –> 00:05:19,360
152
00:05:19,360 –> 00:05:21,039
که همزمان در حافظه یک برنامه زندگی می کنند
153
00:05:21,039 –> 00:05:24,240
و در اینجا
154
00:05:24,240 –> 00:05:26,320
کاملاً درست است، بنابراین ما یک متغیر به نام
155
00:05:26,320 –> 00:05:27,680
mini داریم
156
00:05:27,680 –> 00:05:30,800
و آنچه mini well mini است نیز
157
00:05:30,800 –> 00:05:32,639
به
158
00:05:32,639 –> 00:05:34,880
جایی که به آن اشاره می کند دارای یک فلش است. که
159
00:05:34,880 –> 00:05:37,120
در حال رفتن است o کاملاً به
160
00:05:37,120 –> 00:05:40,240
این شی لیست اشاره کنید، بنابراین اکنون mini
161
00:05:40,240 –> 00:05:41,919
به شی لیست اشاره دارد که طول
162
00:05:41,919 –> 00:05:42,560
آن
163
00:05:42,560 –> 00:05:44,400
سه با عناصر یک و پنج است و
164
00:05:44,400 –> 00:05:45,680
single متغیری است
165
00:05:45,680 –> 00:05:47,280
که به شی لیست با
166
00:05:47,280 –> 00:05:50,080
یک عنصر که مقدار آن 110 است اشاره دارد.
167
00:05:50,080 –> 00:05:53,280
ما به نوعی به
168
00:05:53,280 –> 00:05:56,160
بخش سرگرم کننده این
169
00:05:56,160 –> 00:05:57,440
تمرین
170
00:05:57,440 –> 00:06:00,400
می دانیم که با فراخوانی تابعی که در آن
171
00:06:00,400 –> 00:06:01,520
به
172
00:06:01,520 –> 00:06:03,759
لیستی ارجاع می دهیم چه کار می کنیم و چگونه یک لیست را به عنوان
173
00:06:03,759 –> 00:06:04,639
آرگومان
174
00:06:04,639 –> 00:06:07,600
به تابعی که پارامتر آن انتظار یکسانی دارد ارسال می
175
00:06:07,600 –> 00:06:08,240
کنیم.
176
00:06:08,240 –> 00:06:10,000
ما دقیقاً از همان
177
00:06:10,000 –> 00:06:11,360
مجموعه مراحلی عبور می کنیم که همیشه درست انجام می دهیم،
178
00:06:11,360 –> 00:06:13,759
بنابراین هر زمان که به یک فراخوانی تابع
179
00:06:13,759 –> 00:06:14,639
180
00:06:14,639 –> 00:06:16,160
رسیدیم باید همان مجموعه
181
00:06:16,160 –> 00:06:17,440
مراحل را انجام دهیم تا پشت خود را بررسی کنیم تا
182
00:06:17,440 –> 00:06:18,880
مطمئن شویم که چه کاری انجام می دهیم و
183
00:06:18,880 –> 00:06:20,000
معتبر است. فراخوانی تابع
184
00:06:20,000 –> 00:06:21,440
پس بیایید بررسی کنیم که این یک فراخوانی تابع معتبری است
185
00:06:21,440 –> 00:06:23,520
که از ما میپرسیم آیا قبلاً چیزی به نام
186
00:06:23,520 –> 00:06:23,840
187
00:06:23,840 –> 00:06:26,160
sum algo دیدهایم و آیا این یک تابع بله
188
00:06:26,160 –> 00:06:26,960
189
00:06:26,960 –> 00:06:28,319
است الگوی مجموع تابعی است که در خطوط سه تا یازده تعریف شده است،
190
00:06:28,319 –> 00:06:29,520
بنابراین ما در اینجا در مورد
191
00:06:29,520 –> 00:06:31,199
این تابع صحبت
192
00:06:31,199 –> 00:06:34,800
میکنیم، سپس میپرسیم. خوب آیا آرگومان را
193
00:06:34,800 –> 00:06:36,000
با پارامترها ثبت نام کنید،
194
00:06:36,000 –> 00:06:37,520
آیا تعداد آنها یکسان
195
00:06:37,520 –> 00:06:39,120
است، یک آرگومان در اینجا یک پارامتر وجود دارد
196
00:06:39,120 –> 00:06:40,000
197
00:06:40,000 –> 00:06:41,840
و میپرسیم تک
198
00:06:41,840 –> 00:06:43,039
تک لیستی از اعداد صحیح
199
00:06:43,039 –> 00:06:45,680
چیست، خوب x، این پارامتر
200
00:06:45,680 –> 00:06:47,280
انتظار لیستی از اعداد صحیح را دارد.
201
00:06:47,280 –> 00:06:49,199
که بررسی میکند، به نظر میرسد
202
00:06:49,199 –> 00:06:50,560
همه چیزهایی را که برای فراخوانی تابع معتبر نیاز داریم، داریم،
203
00:06:50,560 –> 00:06:51,520
204
00:06:51,520 –> 00:06:54,000
بنابراین بیایید یک فریم برای فراخوانی تابع sum
205
00:06:54,000 –> 00:06:56,800
algo
206
00:06:57,120 –> 00:06:59,919
درست کنیم، بنابراین sum algo یک فراخوانی تابعی است
207
00:06:59,919 –> 00:07:01,599
که در خط 16 رخ داده است،
208
00:07:01,599 –> 00:07:04,080
بنابراین آدرس برگشتی خط 16
209
00:07:04,080 –> 00:07:05,199
است، جایی که ما با
210
00:07:05,199 –> 00:07:06,960
مقدار برگشتی خود به عقب برگردیم، پس از اینکه آن را
211
00:07:06,960 –> 00:07:08,080
212
00:07:08,080 –> 00:07:11,919
فهمیدیم و باید این پارامتر x را پاس کنیم،
213
00:07:11,919 –> 00:07:14,720
بنابراین آنچه x درست خواهد بود
214
00:07:14,720 –> 00:07:15,520
215
00:07:15,520 –> 00:07:17,280
و اینجا جایی است که این فلش ها کاملاً
216
00:07:17,280 –> 00:07:20,240
مهم می شوند.
217
00:07:20,240 –> 00:07:22,160
x هر تکی در
218
00:07:22,160 –> 00:07:23,919
global است بنابراین تک و
219
00:07:23,919 –> 00:07:26,560
globals یک فلش به این لیست است که در آن اولین
220
00:07:26,560 –> 00:07:28,080
مورد 110 است.
221
00:07:28,080 –> 00:07:31,919
بنابراین x و برخی از الگوها نیز
222
00:07:31,919 –> 00:07:33,440
یک خطا خواهد بود اجازه دهید من
223
00:07:33,440 –> 00:07:34,479
رنگ دیگری را در اینجا انتخاب کنم. برای انتخاب
224
00:07:34,479 –> 00:07:35,199
صورتی
225
00:07:35,199 –> 00:07:37,520
من این را می خواهم اگر فلش تند را می شناسید،
226
00:07:37,520 –> 00:07:39,360
چون فلش بسیار مهم است،
227
00:07:39,360 –> 00:07:42,880
این فلش صورتی
228
00:07:42,880 –> 00:07:44,720
دقیقاً به همان لیست اشاره می کند، بنابراین
229
00:07:44,720 –> 00:07:47,680
توجه کنید که اکنون single و x هر دو به
230
00:07:47,680 –> 00:07:48,319
یک
231
00:07:48,319 –> 00:07:50,560
شی فهرست در پشته اشاره می کنند که یک
232
00:07:50,560 –> 00:07:52,080
عنصر در آن
233
00:07:52,080 –> 00:07:55,599
درست است، بنابراین وقتی یک را پاس می کنیم استدلالی
234
00:07:55,599 –> 00:07:58,080
که نوع آن یک لیست است یا خواهیم دید که این
235
00:07:58,080 –> 00:07:59,840
به طور کلی در مورد بسیاری از انواع دیگر
236
00:07:59,840 –> 00:08:00,560
237
00:08:00,560 –> 00:08:02,160
که انواع مرجع
238
00:08:02,160 –> 00:08:04,319
239
00:08:04,319 –> 00:08:05,680
240
00:08:05,680 –> 00:08:07,599
هستند صدق می کند. که به
241
00:08:07,599 –> 00:08:08,400
همان جایی اشاره می کند
242
00:08:08,400 –> 00:08:10,639
که پیکان متغیرهای اصلی
243
00:08:10,639 –> 00:08:12,400
به آن اشاره کرده است، بنابراین در اینجا x
244
00:08:12,400 –> 00:08:14,800
به همان لیستی اشاره دارد که
245
00:08:14,800 –> 00:08:16,560
single در globals
246
00:08:16,560 –> 00:08:18,400
عالی انجام می دهد، بنابراین ما آماده هستیم تا به این
247
00:08:18,400 –> 00:08:20,800
248
00:08:20,879 –> 00:08:22,800
تابع برویم، بنابراین چه کاری را به خوبی انجام دهیم، به آن می
249
00:08:22,800 –> 00:08:24,080
پریم. تعریف تابع
250
00:08:24,080 –> 00:08:25,520
و هیچ کاری برای انجام دادن در رشته doc وجود ندارد،
251
00:08:25,520 –> 00:08:27,120
سپس به
252
00:08:27,120 –> 00:08:28,479
خط پنج می رسیم که در آن یک متغیر کل را تنظیم می
253
00:08:28,479 –> 00:08:30,560
254
00:08:30,560 –> 00:08:33,679
کنیم تا total صفر باشد و یک
255
00:08:33,679 –> 00:08:34,719
متغیر شاخص به نام i تنظیم می کنیم،
256
00:08:34,719 –> 00:08:38,559
بنابراین i صفر عالی است
257
00:08:38,559 –> 00:08:40,640
و سپس به یک حلقه while می رسیم. ما
258
00:08:40,640 –> 00:08:41,839
با یک وای مواجه می شویم le loop
259
00:08:41,839 –> 00:08:43,200
و ما در حال تلاش برای ردیابی
260
00:08:43,200 –> 00:08:45,519
ارزیابی یک برنامه
261
00:08:45,519 –> 00:08:47,760
هستیم، باید مطمئن باشیم که این
262
00:08:47,760 –> 00:08:49,200
عبارت یا درست است یا نادرست که تصمیم میگیرد به
263
00:08:49,200 –> 00:08:50,640
کجا برویم،
264
00:08:50,640 –> 00:08:54,160
بنابراین آنچه i i است صفر
265
00:08:54,160 –> 00:08:57,200
صفر کمتر از طول آن است. x
266
00:08:57,200 –> 00:08:59,279
خوب است دوباره باید به
267
00:08:59,279 –> 00:09:00,240
268
00:09:00,240 –> 00:09:02,160
قاب فعلی فکر کنیم، فریم فعلی که روی آن کار می
269
00:09:02,160 –> 00:09:03,760
کنیم، فریم روی پشته ما است که پایین ترین
270
00:09:03,760 –> 00:09:05,360
271
00:09:05,360 –> 00:09:08,480
فریم است که درست برنگشته است، بنابراین این قاب در اینجا است و
272
00:09:08,480 –> 00:09:12,240
در این فریم x به این فلش صورتی اشاره دارد.
273
00:09:12,240 –> 00:09:13,040
به لیستی با
274
00:09:13,040 –> 00:09:15,120
طول یک کاملاً درست پس صفر کمتر
275
00:09:15,120 –> 00:09:16,800
از یک چیزی است که این عبارت
276
00:09:16,800 –> 00:09:17,600
میپرسد
277
00:09:17,600 –> 00:09:20,320
درست یا نادرست است که درست است
278
00:09:20,320 –> 00:09:21,600
پس این درست است به
279
00:09:21,600 –> 00:09:23,360
این معنی که ما به
280
00:09:23,360 –> 00:09:26,000
بدنه حلقه یا بلوک تکراری میرویم. دوست دارم
281
00:09:26,000 –> 00:09:27,200
آن را فراخوانی کنم
282
00:09:27,200 –> 00:09:30,000
و اکنون میپرسیم خوب، به
283
00:09:30,000 –> 00:09:31,360
تخصیص مجدد نسبی خود رسیدهایم، بنابراین این
284
00:09:31,360 –> 00:09:33,760
همان چیزی است که بگوییم
285
00:09:33,760 –> 00:09:37,839
شاخص کل به اضافه x
286
00:09:37,839 –> 00:09:40,800
i به راست کل تخصیص داده میشود، بنابراین
287
00:09:40,800 –> 00:09:42,080
بیایید این را تجزیه کنیم که مجموع
288
00:09:42,080 –> 00:09:43,519
کل در حال حاضر صفر است.
289
00:09:43,519 –> 00:09:46,320
صفر بعلاوه x شاخص i what is ind است ex
290
00:09:46,320 –> 00:09:46,560
i
291
00:09:46,560 –> 00:09:49,839
صفر پس این صفر است بعلاوه
292
00:09:49,839 –> 00:09:51,519
293
00:09:51,519 –> 00:09:53,760
x شاخص صفر است شاخص x چیست بنابراین x صفرهای شاخص است،
294
00:09:53,760 –> 00:09:55,440
ما این فلش صورتی را دنبال می کنیم،
295
00:09:55,440 –> 00:09:58,640
شاخص صفر را جستجو می کنیم و مقدار درست 110 است،
296
00:09:58,640 –> 00:10:02,240
بنابراین می گوییم 110 را بگیرید
297
00:10:02,240 –> 00:10:04,480
و آن را در مجموع متغیرها
298
00:10:04,480 –> 00:10:06,079
مقدار جدید درست است، بنابراین
299
00:10:06,079 –> 00:10:07,680
من فقط می توانم این را خط بزنم تا مجموع
300
00:10:07,680 –> 00:10:09,360
مقدار جدید 110 باشد.
301
00:10:09,360 –> 00:10:12,959
درست است، بنابراین ما می دانیم
302
00:10:12,959 –> 00:10:15,519
که مورد بعدی x در شاخص صفر
303
00:10:15,519 –> 00:10:17,440
است اولین مورد لیست ما به کل ما
304
00:10:17,440 –> 00:10:19,279
که قبلا صفر بود را اضافه کرده ایم. عالی است، اکنون
305
00:10:19,279 –> 00:10:20,720
باید به شاخص بعدی
306
00:10:20,720 –> 00:10:22,320
برویم چگونه این کار را به خوبی انجام دهیم، متغیر ایندکس خود را افزایش میدهیم
307
00:10:22,320 –> 00:10:23,760
،
308
00:10:23,760 –> 00:10:26,160
بنابراین من دیگر صفر نیستم، حالا همه
309
00:10:26,160 –> 00:10:26,959
چیز خوب است
310
00:10:26,959 –> 00:10:28,240
و پس از آن این چیزی است که مهم است
311
00:10:28,240 –> 00:10:30,000
وقتی به یک حلقه while رسیدیم
312
00:10:30,000 –> 00:10:32,480
به بالا برگردیم بالا و ما می پرسیم خوب آیا این
313
00:10:32,480 –> 00:10:33,920
عبارت درست است یا نادرست
314
00:10:33,920 –> 00:10:36,240
ما دوباره این را می پرسیم، مثل
315
00:10:36,240 –> 00:10:38,160
اینکه برای اولین بار است که می پرسیم،
316
00:10:38,160 –> 00:10:41,200
بنابراین من یک طول x است، آیا
317
00:10:41,200 –> 00:10:43,519
می دانید این لیستی است که این
318
00:10:43,519 –> 00:10:45,200
فلش صورتی به آن اشاره دارد، آن هم یکی پس یکی است
319
00:10:45,200 –> 00:10:46,000
کمتر از یکی
320
00:10:46,000 –> 00:10:49,760
که اکنون نادرست است، زیرا نادرست است،
321
00:10:49,760 –> 00:10:52,000
ما میخواهیم بپریم روی بلوک
322
00:10:52,000 –> 00:10:53,360
حلقه while
323
00:10:53,360 –> 00:10:55,760
و ما به این عبارت بازگشتی ضربه می زنیم و
324
00:10:55,760 –> 00:10:57,040
اکنون باید به خوبی ارزیابی کنیم که مقدار
325
00:10:57,040 –> 00:10:57,680
326
00:10:57,680 –> 00:10:59,839
کل است، بنابراین مجموع در فریم فعلی ما
327
00:10:59,839 –> 00:11:02,079
مقدار 110 است،
328
00:11:02,079 –> 00:11:05,360
بنابراین این مقدار با