1 00:00:00,000 --> 00:00:05,928 سلام.اسم من هست نیک پارالانته و این کلاس توضیحات پایه ای 2 00:00:05,928 --> 00:00:11,264 در مورد چگونگی کارکرد کامپیوترهاست. اینکه چه کارهایی میتونند انجام بدن و چه کارهایی رو نمیتونند انجام بدن. 3 00:00:11,264 --> 00:00:17,096 و اینکه کار با کامپیوتر احتیاج به هیچ پیش زمینه ای نداره و فقط به پویایی هر فرد بستگی داره. قبل از اینکه بخوام 4 00:00:17,096 --> 00:00:21,950 شروع کنم،مایلم از گوگل بخاطر حمایت کردنش در تحقیقات اولیه م تشکر کنم. 5 00:00:21,950 --> 00:00:26,284 که مرتبط به این موضوع و کمک زیادی در تشکیل این کلاس بوده 6 00:00:26,284 --> 00:00:31,023 همچنین به این نکته هم توجه کنید که این کلاس فقط از چندتا ویدئو ساخته نشده. برای هر قسمت ویدئو 7 00:00:31,023 --> 00:00:35,530 تقریبا اسنادی نوشته شده که من بتونم از طریق اینجا حرکت کنم 8 00:00:35,703 --> 00:00:40,037 و توضیحات و نمودارها و نمونه کدها و این جور چیزها رو ارائه بدم 9 00:00:40,037 --> 00:00:44,718 پس شما میتونید هر زمان ویدئو ها و اسناد رو عوض کنید اگر 10 00:00:44,718 --> 00:00:49,904 بخواهید نکته یا توضیحی رو بازخوانی کنید یا همچین چیزایی !در اینجا 11 00:00:49,904 --> 00:00:55,757 فرق زیادی بین کاری که من انجام میدم و تلاشی که خودتون انجام میدید هست.بنابراین 12 00:00:55,757 --> 00:00:59,650 توصیه ی من اینه که بعد از یه مدت در پایان هر بخش ما 13 00:00:59,650 --> 00:01:02,952 تمرین هایی رو داشته باشیم. و همچنین گاهی اوقات قبل از اینکه شروع به حل تمرین ها کنید میتونید تصمیم بگیرید. 14 00:01:02,952 --> 00:01:06,558 خب،برای رفتن به بخش تمرینات آماده اید یا مایلید که به بخش 15 00:01:06,558 --> 00:01:10,077 اسناد برگردید و سعی کنید خودتون رو محک بزنید 16 00:01:10,077 --> 00:01:13,684 و میزان دانشتون رو ارزیابی کنید ؟ شما باید ارزش هر بخش رو بدونید 17 00:01:13,684 --> 00:01:20,658 بنابراین میتونم بگم رابطه ی اساسی بین کامپیوترها 18 00:01:20,658 --> 00:01:27,158 اینه که بسیار قدرتمند و در عین حال احمقند ! قدرتمند از این جهت که کامپیوترها 19 00:01:27,158 --> 00:01:32,195 میتونند میلیون ها عملیات رو انجام بدن و به طور عجیبی سریعند. اما 20 00:01:32,195 --> 00:01:37,714 احمقند، از این جهت که عملیات این کامپیوترها میتونند 21 00:01:37,714 --> 00:01:43,096 به سادگی انجام بشن در عین حال کاملا ماشینی هستند. آنها چیزی ندارند که 22 00:01:43,096 --> 00:01:48,445 شما بتونید از دیدگاه انسانی درباره اش توضیح بدید و بگید که چجوری کار میکنند و این خیلی عجیبه 23 00:01:48,445 --> 00:01:52,420 که چند ترکیب قدرتمند با ماشین های احمقانه کار کنند 24 00:01:52,420 --> 00:01:57,191 این الگو از طریق واضحی نشان داده خواهد شد ، که ما میخوایم کمی رو این مورد کار کنیم 25 00:01:57,361 --> 00:02:01,955 یعنی نمونه کدها که به ترتیب در دنیای کامپیوتر اجرا میشوند.حالا من میخوام 26 00:02:01,955 --> 00:02:06,606 کمی تحریک کننده باشم،به طوری که از کامپیوترها یه چیز جالب بسازم.اوه، اونها واقعا احمقند 27 00:02:06,787 --> 00:02:11,499 و ، به عبارت دیگر ، ما چیزیرو میبینیم که کامپیوترها هستند ، اونها خیلی مفیدند. 28 00:02:11,499 --> 00:02:16,210 پس این یکی از اهداف ارائه این کلاس بر این پایه ست.از طرفی دیگه دیدن این نوع 29 00:02:16,210 --> 00:02:21,224 از دنیای جالب کامپیوترها ، ماشینی بودن اونهاست، و همچنین ارتباطی که 30 00:02:21,224 --> 00:02:26,056 از طرق مختلف با هم برقرار میکنند، شما راجبه چیزایی مثل ایمیل و موسیقی MP3 میدونید. چیزایی که 31 00:02:26,056 --> 00:02:30,716 در دنیای واقعی بسیار مفیدند. تلاشی برای مرتبط کردن این دوجهان و نشان دادن اینکه 32 00:02:30,716 --> 00:02:35,418 کامپیوترها چگونه کار میکنند و چگونه با جهان تناسب دارند . هدف من همینه .اینکه در خارج از 33 00:02:35,418 --> 00:02:39,951 محیط کلاس کار کنیم و بفهمیم که کامپیوترها چگونه کار میکنند و چگونه با جهان تناسب دارند 34 00:02:39,951 --> 00:02:44,370 به این خاطره که ، شما توسط کامپیوترها تهدید نمیشید، شما به این فکر نمیکنید که کامپیوترها 35 00:02:44,370 --> 00:02:49,844 یک جعبه جادویی و باورنکردنی اند.من یک دستور العمل مخفی دارم !! در اینجا بیش از چند کامپیوتر وجود داره 36 00:02:49,844 --> 00:02:54,899 دانشمندان دنیا مشکل زیادی دارند که مایلند حل بشه 37 00:02:54,899 --> 00:02:59,889 اما افراد زیادی نیستند که خارج از اینجا به برنامه آشنا باشند. 38 00:02:59,889 --> 00:03:05,076 دستور العمل مخفی من اینه که بوسیله ی باز کردن چشمان شما رو به جهان کامپیوتر 39 00:03:05,076 --> 00:03:10,132 برای بعضی از شما که به کامپیوتر علاقه هستید و دنباله روی کامپیوتر در آینده خواهید بود 40 00:03:10,132 --> 00:03:14,859 کاری انجام بدم. بنابراین اولین کار اینه که نگاهی بندازم به اینکه چگونه 41 00:03:14,859 --> 00:03:19,476 یک کامپیوتر کار میکنه ؟ داخل کامپیوتر با کدهای زیادی راه اندازی میشه و ما 42 00:03:19,476 --> 00:03:24,001 اطلاعات زیادی رو بعدا بدست خواهیم آورد. این فقط اولین نگاه ماست.بنابراین 43 00:03:24,001 --> 00:03:28,505 من چند تا عکس از کامپیوتر و کدهای داخل آن آماده کردم 44 00:03:28,505 --> 00:03:33,822 که این آموزش رو ساده تر کنه. خب، یک آموزش میتونه مربوط به اضافه کردن دو عدد باشه 45 00:03:33,822 --> 00:03:39,266 شما میدونید که 46 00:03:39,266 --> 00:03:44,077 کامپیوترها چکار میکنند ؟ آنها فقط لیست این آموزش را 47 00:03:44,077 --> 00:03:49,014 کوتاه میکنند. هر بخش آموزشی بسیار ساده است و کامپیوتر فقط 48 00:03:49,014 --> 00:03:53,635 این لیست را انجام میدهد و البته بسیار سریع. اما هرکدام 49 00:03:53,635 --> 00:03:58,978 از آموزشهای ماشینی احساس ثابتی دارند. میخوام اینو بگم که 50 00:03:58,978 --> 00:04:04,190 فکر میکنم این موضوع منجر به یک سوال رایج بشه. که اگر یک کامپیوتر 51 00:04:04,190 --> 00:04:09,338 ماشینیه به چه طریق میتونه 52 00:04:09,338 --> 00:04:14,229 در آینده برای جهان مفید واقع بشه ؟ خب، من این نمودار رو به این منظور تهیه کردم. 53 00:04:14,229 --> 00:04:18,991 در سمت راست من میخوام یک آینده ی مفید رو تصور کنم. مثل 54 00:04:18,991 --> 00:04:23,946 کاهش قرمزی چشم ، یا فرستادن پیامهای فوری. و من میخوام راجبه این موضوع صحبت میکنم 55 00:04:23,946 --> 00:04:28,937 که شما میدونید تلفنتون ، دوربین دیجیتالتون همه اینها نوعی کامپیوترند. خب در سمت راست 56 00:04:28,937 --> 00:04:33,448 من یک نمایش از کاهش قرمزی چشم رو دارم و در سمت چپ 57 00:04:33,448 --> 00:04:37,842 کامپیوتری رو دارم که فقط بخش ساده مکانیکیش رو میدونید 58 00:04:37,842 --> 00:04:42,471 خب، پس چه چیزی این دو دیدگاه را به هم مربوط میکنه ؟ جواب اینه که 59 00:04:42,471 --> 00:04:46,541 واقعیت.چیزی که کامپیوترها رو برنامه ریزی میکنه.شخصی که 60 00:04:46,541 --> 00:04:51,009 یک برنامه نویسه و روزی یک ایده به ذهنش رسیده : اوه، ما باید قرمزی چشم رو کاهش بدیم ! 61 00:04:51,009 --> 00:04:55,709 این خیلی میتونه مفید باشه ! آنها از قوه خلاقیت و تصورشون 62 00:04:55,709 --> 00:05:00,119 درباره ی بعضی چیزها که میتونه توسط کامپیوتر مفید باشه و انجام بشه استفاده کردند. 63 00:05:00,119 --> 00:05:04,587 اینکه کار یک برنامه نویس چیه و ساختار کارشون چیه 64 00:05:04,587 --> 00:05:09,229 و چگونه یک مشکل رو توسط کامپیوتر حل میکنند ؟ آنها واقعا ساختار یافته اند 65 00:05:09,229 --> 00:05:13,755 و شما میدونید که ساختار بندی چیزیه که کامپیوتر واقعا میتونه 66 00:05:13,755 --> 00:05:19,294 بوسیله اون کارهای مفیدی انجام بده.دلیل اینکه کامپیوتر برنامه ریزی میشه همینه. در حقیقت هر کار مفیدی که شما 67 00:05:19,294 --> 00:05:24,263 توسط تلفن یا دوربینتون یا کامپیوترتون انجام میدین 68 00:05:24,263 --> 00:05:29,702 در پشت صحنه ی آن یک شخصی باعث این اتفاق شده 69 00:05:29,702 --> 00:05:34,872 و من یه جورایی از این ترکیب خوشم میاد. به عبارتی این برنامه نویس و این فرد 70 00:05:34,872 --> 00:05:40,579 خلاقیتش رو با تفکر در مورد چیزهایی که در جهان است استفاده کرده 71 00:05:40,579 --> 00:05:45,569 و در مورد چیزهایی که مفیدند انجام داده که شامل نیمی از مشکلات شده. و کامپیوتر 72 00:05:45,569 --> 00:05:50,218 چیزای خوبی رو به ارمغان آورده و باید بگم که کامپیوتر در حال حاضر 73 00:05:50,218 --> 00:05:54,789 با توجه به ارزان بودنش بسیار خوبه. کامپیوتر میتونه این آموزش رو بسیار سریع 74 00:05:54,789 --> 00:05:58,734 از ما به شما انتقال بده. و در نهایت ما با شما توسط این 75 00:05:58,734 --> 00:06:03,008 ترکیب آشنا و خوشحال بشیم. به همین دلیل بسیاری از کامپیوترها در حال حاضر خدمات مفیدی 76 00:06:03,008 --> 00:06:07,666 در جهان انجام میدهند. این نشون دهنده ی ارتباط خوب 77 00:06:10,022 --> 00:06:12,214 بین مردم و کامپیوتره. این نمودار جزء کوچکی از خلاصه این کلاس است. 78 00:06:12,214 --> 00:06:16,762 میریم که سمت چپ رو نگاه کنیم 79 00:06:16,762 --> 00:06:21,270 و ببینیم که کامپیوترها چگونه به نظر میرسند و ارتباط بین آنها و 80 00:06:21,270 --> 00:06:25,846 دنیای واقعی را مشاهده کنیم تا شما درک کنید که چگونه یک کامپیوتر 81 00:06:25,846 --> 00:06:32,507 با جهان متناسب شده و چه کارهایی را انجام میده.در یک ثانیه از این بخش ، میخوام که 82 00:06:32,507 --> 00:06:37,414 یک نمونه کوچک کدگذاری انجام بدم و باید اشاره کنم به اینکه 83 00:06:37,414 --> 00:06:42,449 این بخش به یک مقدار دقت احتیاج داره. کدگذاری رو شروع میکنیم و 84 00:06:42,449 --> 00:06:47,483 اولین نمونه کد ما خیلی ساده خواهد بود. اینها کاری انجام نمیدن 85 00:06:47,483 --> 00:06:51,707 اینها شبیه آجرهای بازی LEGO هستند.هر قسمت از کد که ما یاد میگیریم 86 00:06:51,707 --> 00:06:56,123 مثل یک آجر بیشتر میمونه و در نتیجه ما قادر خواهیم بود که اینهارو در کنار هم 87 00:06:56,123 --> 00:07:00,272 قرار بدیم و چیزای زیبایی بسازیم. اما این جفت از بخش 88 00:07:00,432 --> 00:07:04,848 و این چیزها باید از جایی شروع بشن و این نمونه های اولیه بسیار ساده اند. 89 00:07:04,848 --> 00:07:09,157 خب، حالا من از شما میخوام که صبور باشید . من به شما قول میدم که ما به ترتیب با این مواد از جایی شروع میکنیم. 90 00:07:09,157 --> 00:07:13,307 !اوه! و در واقع در اینجا من از قبل یه مقداری قرار داده م، 91 00:07:13,307 --> 00:07:18,293 که در واقع چند ساعتی دست از تدریس کشیده م. میخوایم با اثرات بصری ویژه شروع کنیم . 92 00:07:18,293 --> 00:07:23,427 ما این رو از یه سری چیزای معروف که در اینجا نشون داده شده شروع میکنیم. مشکلات میمون،ماه و موز ! 93 00:07:23,427 --> 00:07:28,441 فقط یه کم جلوتر از این پیش میریم ، اما برای امروز ما فقط 94 00:07:28,441 --> 00:07:32,775 یک کدگذاری ساده انجام میدیم.خب برای این تمرین کدگذاری ما باید از یک زبان کامپیوتری 95 00:07:32,775 --> 00:07:36,734 که جاوا اسکریپت نامیده میشه استفاده کنیم . جاوا اسکریپت یک زبان واقعا محبوبه. که در 96 00:07:36,734 --> 00:07:40,884 مرورگرهای جدید مورد استفاده قرار گرفته و دلیل محبوبیتش هم شاید همینه. و اینکه چرا ما در این کلاس استفاده میکنیم 97 00:07:40,884 --> 00:07:44,605 اینه که ما با مرورگرهای وب سروکار داریم 98 00:07:44,605 --> 00:07:48,541 به این معنا که کدهای ما کاملا ساده خواهند بود. میخوایم از جاوا اسکریپت و 99 00:07:48,541 --> 00:07:52,815 به اضافه ی چیزای دیگه که من به این کلاس اضافه کردم استفاده کنیم.پس این به نظر میاد که 100 00:07:52,815 --> 00:07:57,229 دقیقا مثل جاوا اسکریپت حرفه ای عمل نمیکنه. ما میخوایم از بعضی اصطلاحات که 101 00:07:57,229 --> 00:08:01,638 محدود و کوتاه هست استفاده کنیم،در حدی که مفهوم رو برسونه 102 00:08:01,638 --> 00:08:05,944 خب من میخوام به ترتیب یک مرحله ای رو توضیح بدم!اما نه در سطح 103 00:08:05,944 --> 00:08:10,146 کامل و در حد یک برنامه حرفه ای. بسیار خوب، 104 00:08:10,146 --> 00:08:14,503 اینجا اولین نمونه کد رو داریم.راهی که باعث میشه کد کار کنه 105 00:08:14,503 --> 00:08:18,550 این بخش مستطیلیه. و قسمتی که میشه بهش متن اضافه کرد 106 00:08:18,550 --> 00:08:22,959 این کده ماست. در پایین آن هم یک دکمه ی RUN همیشه هست. پس وقتی من بر روی 107 00:08:22,959 --> 00:08:27,596 دکمه Run کلیک کنم ، اتفاقی که میفته اینه که کامپیوتردر این قسمت بالایی 108 00:08:27,596 --> 00:08:31,832 دقیقا این خط رو قرار میده. و بعد از آن ، اوه ! این برای هر خط دیگه ای 109 00:08:31,832 --> 00:08:36,802 اجرا میشه. که داره دستور انجام شده رو نمایش میده. خب در این مرحله چیزی که ما میبینیم 110 00:08:36,802 --> 00:08:41,151 گزینه ی Print Function هستش. اینجا فقط یک کلمه نوشته میشه و Print Function شروع به کار میکنه. 111 00:08:41,151 --> 00:08:45,568 اینجا دستور Print داده میشه و بعد پرانتز باز 112 00:08:45,568 --> 00:08:49,647 خب حالا یه سری چیزای دیگه داریم. در اینجا من فقط 6# دارم و در آخر 113 00:08:49,647 --> 00:08:53,988 با بستن پرانتز سمت راست و بعد ویرگول نقطه.چیزی که 114 00:08:53,988 --> 00:08:58,601 عملکرد Print Function رو نشون میده ، عبارت بین پرانتزهاست که به خروجی منتقل میشه. 115 00:08:58,601 --> 00:09:04,130 و خب حالا اگه به سمت راست نگاه بندازید ، خروجی 116 00:09:04,337 --> 00:09:09,857 با زدن دکمه Run مشاهده میشه. حالا اگه من این رو به عدد 42 تغییر بدم 117 00:09:09,857 --> 00:09:15,337 و run رو کلیک کنم عدد 42 رودر سمت راست خواهم داشت. خب این از خط اول چاپ شده 118 00:09:15,337 --> 00:09:21,151 حالا مینویسم 1 ویرگول 2 و چیزی که اینجا مشاهده میکنم 1 ویرگول 2 هستش 119 00:09:21,151 --> 00:09:26,430 بنابراین اینطوری عمل میکنه. بهتون که گفته بودم اولین نمونه کدگذاری ما خیلی آسونه 120 00:09:26,430 --> 00:09:32,044 پس مطمئنا در اینجا عملکرد درستی داریم. خب حالا سعی میکنم 121 00:09:32,044 --> 00:09:37,457 یک چیزای دیگه هم بهش اضافه کنم . خب مثلا ویرگول 47. خب حالا اگه Run کنم ، در این سمت 122 00:09:37,457 --> 00:09:43,271 میتونیم 47 ، 2 ، 1 رو مشاهده کنیم. خب اگه من از همین عبارت 123 00:09:43,271 --> 00:09:49,242 چند بار کپی بگیرم و چند بار paste کنم 124 00:09:49,242 --> 00:09:54,467 در چند خط مختلف این رو خواهم داشت. خب حالا اگه بازم Run کنم نتیجه رو اینجا میبینیم خب حالا 125 00:09:54,467 --> 00:09:59,692 ما اینجا فقط چند تا جمله تکراری در خروجی داریم. 126 00:09:59,692 --> 00:10:06,593 خب چیزی که هدف ماست نشون دادن نحوه کار کرد این کدهاست. این کدها 127 00:10:06,593 --> 00:10:11,297 قالبا آزاد نیستند. بلکه بسیار ساختار یافته اند. و فقط برای درک کامپیوتر ساخته شده اند. 128 00:10:11,297 --> 00:10:16,303 و در واقع بازتابی برای کار کردن در محیط کامپیوترهاست 129 00:10:16,303 --> 00:10:20,465 کامپیوتر کاملا ماشینیه و همچنین 130 00:10:20,465 --> 00:10:25,230 زبان آن هم باید به صورت ماشین در بیاد. 131 00:10:25,230 --> 00:10:30,296 این یه کم عجیبه ، قبول ! اول از همه اینکه هماونطور که گفته شد قالب آزاد نیست 132 00:10:30,296 --> 00:10:35,302 که مثلا شما انگلیسی بنویسید و کامپیوتر هم اجرا کنه. پس فکر کردن در این باره 133 00:10:35,302 --> 00:10:39,121 درس اول شماست. درباره ی طبیعت کامپیوتر و اینکه به ترتیب بتونید 134 00:10:39,121 --> 00:10:42,507 بر اساس چیزی که کامپیوتر میفهمه فکر کنید.این مثله اینه که ، مثلا من از شما بخوام 135 00:10:42,507 --> 00:10:46,067 که دنیای کامپیوتر رو ملاقات کنید.و همچنین بخوایم که با زبان ماشین با اون کار کنیم 136 00:10:46,067 --> 00:10:49,409 در ابتدا یه کم عجیب به نظر میرسه ، درسته ولی در حقیقت 137 00:10:49,409 --> 00:10:54,411 انقدرام سخت نیست! محتوای مورد نظر شاید ساختار یافته باشه 138 00:10:54,411 --> 00:10:59,599 اما در عین حال بسیار ساده ست. من میتونم شمارو تشویق کنم تا از این کار سر باز نزنید. 139 00:10:59,789 --> 00:11:04,787 و طبق ساختار ماشینی پیش برید. این کار به ما توانایی میده 140 00:11:04,787 --> 00:11:10,190 که بتونیم بعضی کارارو شسته و رفته انجام بدیم. خیلی خب این اولین مثال من بود، بیاین با هم مثال کدگذاری دوم رو نگاه کنیم. 141 00:11:10,400 --> 00:11:16,428 خب اولین مثال من فقط با نشون دادن اعداد بود. در کدهای کامپیوتری چیزایی وجود دارند که 142 00:11:16,428 --> 00:11:21,565 stringe نامیده میشن. و یک نمونه از String در اینجا قرار داره. کلمه HI در 143 00:11:21,565 --> 00:11:26,537 بین واژه های دسته ی String قرار داره و برای کدگذاری باید بین 144 00:11:26,537 --> 00:11:31,701 علامت نقل قول قرار بگیره. واسه همین من کلمه Hi رو انتخاب کردم. خب در اینجا print میتونه اعدادی رو گرفته 145 00:11:31,701 --> 00:11:36,545 و اونهارو چاپ کنه و از طرفی میتونه شاخه های String رو چاپ کنه. این فقط حروف را در 146 00:11:36,545 --> 00:11:41,390 شاخه ی String توصیف میکنه و توضیح میده کخه این دسته از کدها در اینجا قرار میگیرند. 147 00:11:41,390 --> 00:11:46,445 خب، حالا من میتونم کلمه ی Hi رو تغییر بدم به کلمه ی Good day 148 00:11:46,445 --> 00:11:51,284 خب پس String میتونه یک فضای خالی هم داشته باشه. حالا اگر من اینو راه اندازی کنم ما 149 00:11:51,284 --> 00:11:57,723 در اینجا کلمه ی Good day رو خواهیم داشت. بنابراین در یک برنامه کامپیوتری String ها و اعداد 150 00:11:57,723 --> 00:12:02,221 خیلی خیلی رایج هستند. در یک برنامه کامپیوتری String ها ممکنه به صورت یک آدرس URL 151 00:12:02,221 --> 00:12:06,834 و یا به صورت کلمه های یک پاراگراف که شما دارید روش کار میکنید . 152 00:12:06,834 --> 00:12:11,216 پس String ها اساس کلمه ها هستند. 153 00:12:11,216 --> 00:12:15,598 این دسته در خیلی از اطلاعات کامپیوتری رایجند.از طرفی 154 00:12:15,598 --> 00:12:20,211 آن ها مثل کدی که در خط اول این مثال داشتیم نمایش داده میشن که اصطلاحا 155 00:12:20,211 --> 00:12:24,940 به آن ها کامنت میگویند و در محیط جاوا اسکریپت ، کامنت ها با 2 اسلش (//) شروع میشن. 156 00:12:24,940 --> 00:12:29,632 یعنی در ابتدا دو اسلش قرار داده شده و در سمت راست اسلش ها باقی چیزها نوشته میشوند. 157 00:12:29,632 --> 00:12:34,880 که البته کامپیوتر آن را ندید میگیره. و من میتونم ازش به ترتیب در نوشتن بعضی عبارات استفاده کنم. 158 00:12:34,880 --> 00:12:39,749 خب من دو srting در اینجا دارم.توجه کنید که بعضی جاها علامت و بعضی جاها نوشته هایی 159 00:12:39,749 --> 00:12:44,807 کدگذاری شده. و همچنین وقتی من Run میکنم کامپیوتر میدونه که باید این بخش رو ندید بگیره. 160 00:12:44,807 --> 00:12:49,865 و این خیلی متدواله. خب ، در این مثال ها یی که مینویسم ، شما خواهید دید 161 00:12:49,865 --> 00:12:55,176 کامنت هایی در اطراف نوشته های من علامت گذاری شده، چه اتفاقی داره میفته ؟ 162 00:12:55,365 --> 00:13:01,738 خب، یک نمونه که من دارم اینجا انجام میدم یه کم حقه بازیه. من میخوام چند تا کلمه 163 00:13:01,738 --> 00:13:09,411 داخل این String ها بنویسم. و خواهیم دید که چه چیزی چاپ خواهد شد. خب اینجا 164 00:13:09,411 --> 00:13:14,807 در حال حاضر در خط دوم ، من کلمه Hello رو برای چاپ قرار دادم. خب چه اتفاقی داره میفته ؟ کلمه نوشته شده 165 00:13:14,807 --> 00:13:20,622 داخل String بدون اعمال کد مربوطه عمل نمیکنه و در خروجی نمایش داده نمیشه 166 00:13:20,622 --> 00:13:26,158 این عملکرد رو کد گذاری انجام میده . پس وقتی ما عبارت رو بین علامت نقل قول قرار میدیم ، به اینصورت 167 00:13:26,158 --> 00:13:31,889 به صورت دیتا (اطلاعات) در میاد. بنابراین ، این عبارت در بین کدها قابل تشخیص میشه.خب، 168 00:13:31,889 --> 00:13:37,719 در آخر این بخش من میخوام که با هم تمرینی انجام بدیم 169 00:13:37,719 --> 00:13:43,908 مشابه همین کدهایی که من در اینجا نوشتم. خب ، البته از قبل به این نکته اشاره کنم که 170 00:13:43,908 --> 00:13:50,102 کدها بسیار منظم و ساختار یافته هستند و بدون اونها 171 00:13:50,102 --> 00:13:54,603 در واقع خطاهای زیادی داده میشه.حتی کسانی که یک برنامه نویس حرفه ای هستند و 172 00:13:54,603 --> 00:13:59,455 کل روز برنامه مینویسند هم با این خطاها مواجه میشن. مثلا وقتی که دارند یه سری کد مینویسند ممکنه 173 00:13:59,455 --> 00:14:04,249 خطاهایی در محتوا ببینند که در حین کد گذاری اتفاق میفته. مثلا شاید 174 00:14:04,249 --> 00:14:09,218 پرانتز سمت راست رو نذارن یا یه کلمه ی اشتباهی تایپ کنند. البته درست کردن اینجور 175 00:14:09,218 --> 00:14:13,719 خطاها بسیار ساده است و زمانی که شما دکمه Run رو فشار میدید نمایش داده میشن. 176 00:14:13,719 --> 00:14:18,513 این اشکال خیلی رایجه و با تایپ کلمه صحیح برطرف میشه.و من 177 00:14:18,513 --> 00:14:22,769 میخوام که شما این رو بدونید که این خطاهای کوچک تاثیر زیادی 178 00:14:22,769 --> 00:14:27,484 روی نوشته های شما نمیذاره و این اتفاق میتونه در خیلی جاها برای شما 179 00:14:27,484 --> 00:14:32,083 در زمان کدنویسی بیفته. همانطور که برنامه نویس های حرفه ای هم 180 00:14:32,083 --> 00:14:36,624 مرتب دچار این مشکل میشن و فقط به این فکر میکنیم که کجا اشتباه و خطا کردیم تا تصحیحش کنیم 181 00:14:38,894 --> 00:14:41,164 البته بعضی وقتها ما حتی بهش فکر هم نمیکنیم! به نظر من کسانی که برای اولین بار این رو امتحان میکنند 182 00:14:41,164 --> 00:14:45,647 یکم بیشتر از دیگران به جزییاتش دقت میکنن،و در اینجا 183 00:14:45,647 --> 00:14:50,129 این خطای محتوا مثلا وقتی که دارین بازی میکنید پیش میاد. اینو میخوام بگم که در واقع 184 00:14:50,129 --> 00:14:54,707 هرکسی این اشتباه رو میکنه و این اصلا قضیه مهمی نیست. خب برای اینکه تا حدی بشه 185 00:14:54,707 --> 00:14:58,131 این مشکل ها رو برطرف کرد من میخوام به این قسمت از نمونه 186 00:14:58,131 --> 00:15:01,691 برنامه که قبلا نوشتم مراجعه کنم. جایی که من با خطاهای محتوا مواجه شدم. 187 00:15:01,691 --> 00:15:05,206 و میخوام به شما نشون بدم که وقتی شما دکمه Run رو میزنید این خطاها چه شکلی هستند. درسته ؟ 188 00:15:05,206 --> 00:15:08,946 خب، ببینیم چه اتفاقی میفته وقتی من Run رو میزنم . کار نمیکنه !!! 189 00:15:08,946 --> 00:15:12,461 خب من یه سری خطا پیدا کردم. حالا میخوام به شما مراحل این خطاهارو نشون بدم. 190 00:15:12,461 --> 00:15:15,795 و این خطای محتوارو برطرف کنم. خوب دقت کنید. 191 00:15:15,795 --> 00:15:19,220 مثل، اوه آره ، وقتی شما اولین بار Run رو زدید این رایج ترین خطاییه که 192 00:15:19,220 --> 00:15:22,554 اتفاق میفته. خب پس بذارید به اینجا بریم. بسیار خب پس من دکمه Run رو کلیک میکنم. 193 00:15:22,554 --> 00:15:26,380 حالا میبینید به جای اینکه برنامه در خروجی چاپ بشه من با یه سری 194 00:15:26,380 --> 00:15:30,031 پیغام خطا مواجه شدم. بعضی وقتا پیغام های خطا بسیار مفیدند 195 00:15:30,031 --> 00:15:33,729 و توضیح میدند که چه اتفاقی افتاده. خب اول از همه اجازه بدید با هم اینو بخونیم 196 00:15:33,729 --> 00:15:38,719 این پیغام میگه کلمه P-R و PR و PRInt تعریف نشده اند. خب چی شده ؟ کلمه print یک عملگره، 197 00:15:38,719 --> 00:15:44,141 اما این دومی در اینجا ، در خط دوم و در واقع در این قسمت 198 00:15:44,141 --> 00:15:49,920 خب، هیچوقت کار نمیکنه اما خیلی وقتا این مشکل به صورت سایه روشن نمایش داده خواهد شد 199 00:15:49,920 --> 00:15:56,342 در اینجا مشکل از اشتباه تایپیه. که در اینجا نوشته شده P R L N T. 200 00:15:56,342 --> 00:16:01,054 خب پس اگه من این رو به i تغییر بدم ، حالا کار میکنه. پس این برنامه 201 00:16:01,054 --> 00:16:05,101 در خروجی چاپ میکنه : a 1 b 2 c 3 که نتیجه یه کم بی دقتی بوده 202 00:16:05,101 --> 00:16:09,302 در برنامه ای که نوشتم. خب حالا من نوشتم L چون حرفی بوده که یه جورایی 203 00:16:09,302 --> 00:16:13,246 شبیه I هستش و باید بیشتر دقت میکردین. خب اینجا من 204 00:16:13,246 --> 00:16:17,183 به یه استاد بدجنس تبدیل شدم! بسیار خوب ، بیاین یه چیز دیگه ای مثل اینو امتحان کنیم. خب 205 00:16:17,183 --> 00:16:21,666 من میخوام Run رو بزنم . دوباره ارور داد.نوشته که :unterminated string literal و در خط دوم 206 00:16:21,666 --> 00:16:26,319 به صورت سایه روشن نمایش داده شده. خب پس من میرم که یه نگاهی به خط دوم بندازم. از چپ به راست. 207 00:16:26,319 --> 00:16:31,085 یک B در اینجا میبینید که 208 00:16:31,085 --> 00:16:35,624 در بخش String نوشته شده و علامت نقل قول برای بستن وجود نداره. 209 00:16:35,624 --> 00:16:40,709 شما به این نقل قول ها در هر دوطرف احتیاج دارید تا کد کار کنه. 210 00:16:40,709 --> 00:16:45,136 خب دوباره ارور داد که پرانتز سمت راست وجود نداره. خب دوباره، سایه روشن نمایش داده شده. 211 00:16:45,136 --> 00:16:49,446 خب حالا من در واقع میخوام در این مرحله بگم که اینجور ارور ها 212 00:16:49,446 --> 00:16:54,275 در واقع خیلی مفیدند که فقط میگن: هی، نگاه کن ! خب علامت نقل قول ، پرانتز چپ 213 00:16:54,275 --> 00:16:58,478 و پرانتز راست باید قرار بگیرن ، مثل اینجا که باید 214 00:16:58,478 --> 00:17:02,951 پرانتز راست برای فرستادن عبارت به خروجی استفاده بشه.خب حالا این یکی هم کار میکنه. 215 00:17:02,951 --> 00:17:12,220 بسیار خوب، این هم آخریش. تو این مرحله هم یه اشکالی پیش اومد 216 00:17:12,220 --> 00:17:16,165 اروری که میگه یه چیزی اشتباهه. در محتوا خطایی رخ داده 217 00:17:16,165 --> 00:17:20,787 که گاهی اوقات کامپیوتر گیج میشه و نمیدونه این خطا برای چیه ؟ 218 00:17:20,787 --> 00:17:25,240 فقط در این حد میگه که یه چیزی در خط دوم اینجا اشتباهه.خب من 219 00:17:25,240 --> 00:17:29,974 پیشنهاد میکنم که از چپ به راست یه بار با دقت نگاه کنید. به نظر میاد 220 00:17:29,974 --> 00:17:34,401 این خطا کاملا مشخصه. در این مرحله اتفاق افتاده ، چیزی که کمه فقط یک کاماست ! 221 00:17:34,401 --> 00:17:38,624 و من الان دارم با توجه به این مثال فرق بین انسان و ماشین رو میسنجم. 222 00:17:38,624 --> 00:17:42,795 یک انسان نمیتونه به شما نگاه کنه و قصدتونو متوجه بشه . مثل ، اوه پیدا کردم 223 00:17:42,795 --> 00:17:46,965 اینجا یک 1و بعد B نوشته شده. کامپیوتر یک محاسبه سریع 224 00:17:46,965 --> 00:17:51,771 مثل این انجام میده. بعضی چیزا باید فقط تصور بشن و کاما فقط یک 225 00:17:51,771 --> 00:17:57,121 گزینه ی انتخابی نیست که فقط یک کاما بذارید و مشکل حل بشه. کار ما تا زمانی که این رو درست نکنیم گیره 226 00:17:57,121 --> 00:18:02,999 بسیار خوب، حالا این هم کار میکنه. خب، اولین بخش درس امروز ما درباره ی پایه ی خروجی ها بود 227 00:18:02,999 --> 00:18:09,120 و همچنین اعداد و String ها. من یک نمونه خطا هم نشون دادم. بنابراین 228 00:18:09,120 --> 00:18:13,688 این چیزیه که با تمرین زیاد میتونید ببینید. البته تمرین های آینده 229 00:18:13,688 --> 00:18:18,036 خیلی جالب تر خواهد بود، بهتون قول میدم. خب 230 00:18:18,036 --> 00:18:22,548 وقتی که راه اندازی بشه دقیقا این خروجی رو خواهد داد. حالا این تمرین داره میگه بنویس 1و2وbuckle 231 00:18:22,548 --> 00:18:26,438 خب این و براساس 1و2وBuckle مینویسم.اینجا کدیه که یه کارایی انجام میده 232 00:18:26,438 --> 00:18:29,911 اما این درست نیست. خب ما فرض میکنیم که اینو تغییر بدیم 233 00:18:29,911 --> 00:18:33,384 بذارید ببینیم . برای 1 ، خب حالا 2 رو اضافه میکنم و بعد از این 234 00:18:33,384 --> 00:18:36,993 این رو در کاما قرار میدم . بعد بخش String رو به 235 00:18:36,993 --> 00:18:40,694 عبارت Buckle تغییر میدم. حالا من میتونم فقط Run رو بزنم و ببینم چی میشه. من میخوام بهتون بگم 236 00:18:40,694 --> 00:18:44,349 که اگه ایده ای در کدگذاری دارید یا میخواین که برنامه ای بنویسید، 237 00:18:44,349 --> 00:18:48,142 فقط تایپ کردن شرط نیست ، بعضی چیزها اینجا هست 238 00:18:48,142 --> 00:18:51,889 که با انجام دادنشون خطا پیش میاد. بنابراین آزمایش کردن میتونه احساس خوبی داشته باشه ! 239 00:18:51,889 --> 00:18:58,721 خب خط اول و همچنین خط دوم رو چک کردم. 3 کاما ، 4 کاما 240 00:18:58,721 --> 00:19:07,456 تق تق ! بسیار خوب ، آهان حالا درست شد ! بیشتر اوقات در یک مثال هایی مثل این 241 00:19:07,456 --> 00:19:12,952 (؟) 242 00:19:12,952 --> 00:19:16,592 یک مثالهایی قرار داده میشه و شما باید بیشتر سعی کنید و در موردشون کنجکاوی به خرج بدید. 243 00:19:16,592 --> 00:19:20,509 همچنین برید و ببینید و به اشتباه یک دکمه ی غلط رو بزنید 244 00:19:20,509 --> 00:19:24,150 که این کاملا به شما بستگی داره. شما آزادین که اینکارو انجام بدین. 245 00:19:24,150 --> 00:19:27,467 (؟) 246 00:19:27,467 --> 00:19:31,061 به این معنی که شما میتونید برید و ببینید. این فضا خالیه و شما میتونید خودتونو محک بزنید. 247 00:19:31,200 --> 00:19:34,748 البته اگه شما میخواین بدونید که من چه کدهایی رو وارد کردم ، میتونید 248 00:19:34,748 --> 00:19:38,204 در قسمت اسناد که قابل دسترسی هستند آنهارا با هم مقایسه کنید. 249 00:19:38,204 --> 00:19:41,752 یا اگه میخواین ازش کپی برداری کنید یا هرچیزه دیگه،مشکلی نیست. خب در اینجا اولین 250 00:19:41,752 --> 00:19:44,940 بخش ما به پایان میرسه ، یادتون نره که تمرین کدگذاری رو چک کنید. زیرنویس توسط : هنگامه ولی زاده (Hengameh_valizadeh@yahoo.com)