1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:01,960 SPEAKER 1: اجازه دهید در مورد آب صحبت کنید. 3 00:00:01,960 --> 00:00:07,280 در این مشکل، ما درخواست کاربر را به ما چه مدت در دقیقه دوش آنها بود 4 00:00:07,280 --> 00:00:11,040 و سپس ما محاسبه معادل تعداد بطری های آب 5 00:00:11,040 --> 00:00:12,970 که دوش خود استفاده می شود. 6 00:00:12,970 --> 00:00:16,379 >> پس چه هستند ما به انجام برای این مشکل؟ 7 00:00:16,379 --> 00:00:20,050 اول، ما در حال رفتن به می خواهید بی درنگ و پس از آن اعتبار 8 00:00:20,050 --> 00:00:22,100 ورودی که کاربر به ما می دهد. 9 00:00:22,100 --> 00:00:24,790 هنگامی که ما اطمینان حاصل شود که ما ورودی کاربر معتبر، 10 00:00:24,790 --> 00:00:28,230 ما قصد داریم برای محاسبه تعداد معادل بطری آب 11 00:00:28,230 --> 00:00:30,770 که کاربر در طول حال دوش خود، و پس از آن ما 12 00:00:30,770 --> 00:00:33,720 رفتن به آنها بگویید با چاپ کردن این تعداد است. 13 00:00:33,720 --> 00:00:37,230 >> بنابراین اجازه دهید اول ما مقابله کار، باعث و اعتبار 14 00:00:37,230 --> 00:00:38,550 ورودی کاربر. 15 00:00:38,550 --> 00:00:40,910 برای این که ما نوشته ام تابع را برای شما به نام 16 00:00:40,910 --> 00:00:43,950 get_int واقع در کتابخانه CS50. 17 00:00:43,950 --> 00:00:48,710 get_int تضمین می کند که ورودی کاربر یک عدد صحیح است، بنابراین هر اعداد مثبت، 18 00:00:48,710 --> 00:00:51,700 اعداد منفی، یا صفر همه پذیرفته شده است. 19 00:00:51,700 --> 00:00:55,900 اما اگر کاربر ورودی هر چیز دیگری، بنابراین هر ترکیبی از حروف و اعداد 20 00:00:55,900 --> 00:00:59,710 یا اعداد اعشاری، سپس کاربر خواسته می شود دوباره امتحان کنید 21 00:00:59,710 --> 00:01:04,319 و تابع هر چیزی را قبول تا زمانی که کاربر به آنها یک عدد صحیح است. 22 00:01:04,319 --> 00:01:06,410 >> پس چگونه ما استفاده get_int؟ 23 00:01:06,410 --> 00:01:10,830 اگر شما فضای کاری خود را باز کنید و ایجاد یک فایل به نام integer.c اجازه دهید 24 00:01:10,830 --> 00:01:12,110 زیر را تایپ کنید. 25 00:01:12,110 --> 00:01:14,760 برچسب شامل cs50.h. 26 00:01:14,760 --> 00:01:18,480 این نیاز است، زیرا get_int است یک تابع کتابخانه CS50 است، 27 00:01:18,480 --> 00:01:21,890 بنابراین ما باید هشتگ شامل بیانیه خود را در جهت 28 00:01:21,890 --> 00:01:23,370 به استفاده از تابع. 29 00:01:23,370 --> 00:01:26,570 و سپس در اصلی من عمل من فقط رفتن 30 00:01:26,570 --> 00:01:29,560 به سادگی get_int تابع پاسخ. 31 00:01:29,560 --> 00:01:31,750 >> بنابراین اجازه دهید این اجرا کنید و ببینید چگونه کار می کند. 32 00:01:31,750 --> 00:01:35,092 من در حال حاضر از آن وارد شده است، پس بیایید فقط به جلو و اجرای این برنامه، 33 00:01:35,092 --> 00:01:36,480 ./integer. 34 00:01:36,480 --> 00:01:39,880 در اینجا من یک اعلان و اینجا جایی که من ورودی ارزش است. 35 00:01:39,880 --> 00:01:44,880 بگو من فقط در برخی از اعداد صحیح قرار داده، 50، excepts برنامه و واریز 36 00:01:44,880 --> 00:01:45,960 و این است که. 37 00:01:45,960 --> 00:01:49,350 >> اما می گویند من دوباره آن را اجرا کنید و من چیزی ورودی دیگری. 38 00:01:49,350 --> 00:01:51,350 شاید، سلام جهان. 39 00:01:51,350 --> 00:01:55,660 که یک عدد صحیح به طوری که نمی برنامه من نخواهید دوباره. 40 00:01:55,660 --> 00:01:59,160 بیایید دوباره با سعی کنید شاید یک اعشاری این زمان. 41 00:01:59,160 --> 00:02:03,450 0.5، دوباره، نه یک عدد صحیح به طوری برنامه آن را قبول نمی 42 00:02:03,450 --> 00:02:05,290 و آن را به من بگویید به دوباره سعی کنید. 43 00:02:05,290 --> 00:02:07,070 بنابراین اجازه دهید آن تعداد دیگری به من بدهید. 44 00:02:07,070 --> 00:02:09,830 این برنامه آن را می پذیرد، واریز شده، و ما در حال انجام است. 45 00:02:09,830 --> 00:02:13,520 >> بنابراین در حال حاضر ما باید یک تابع که ما را تضمین می کند اجازه می دهد تا و 46 00:02:13,520 --> 00:02:16,790 که کاربر ورودی یک عدد صحیح، اما چگونه می توانیم 47 00:02:16,790 --> 00:02:20,330 در واقع مسیر از حفظ عدد صحیح توسط کاربر وارد شده؟ 48 00:02:20,330 --> 00:02:25,260 خب، همه ما به انجام فروشگاه است این مقدار را در یک متغیر، می گویند N. 49 00:02:25,260 --> 00:02:30,580 بنابراین اگر من اعلام عدد صحیح n، و من مقدار آن را به get_int، 50 00:02:30,580 --> 00:02:34,700 سپس n سپس ذخیره خواهد داد هر چه ارزش کاربر وارد. 51 00:02:34,700 --> 00:02:38,620 >> همه حق است، بنابراین در حال حاضر ما تضمین کرده ایم که کاربر ما یک عدد صحیح را 52 00:02:38,620 --> 00:02:42,550 و ما می دانیم که چگونه برای پیگیری عدد صحیح، اما به یاد داشته باشید، 53 00:02:42,550 --> 00:02:45,610 اعداد صحیح مثبت و منفی هستند. 54 00:02:45,610 --> 00:02:49,110 بنابراین آن را واقعا حس را ندارد در زمینه این مشکل 55 00:02:49,110 --> 00:02:53,570 که کاربر می کشد دوش می گویند دقیقه منفی 12. 56 00:02:53,570 --> 00:02:59,310 بنابراین ما نیاز به مطمئن شوید که کاربران در واقع به ما می دهد یک عدد صحیح مثبت. 57 00:02:59,310 --> 00:03:02,130 در حال حاضر ما فقط یک ندارد تابع تک برای آن، 58 00:03:02,130 --> 00:03:04,620 بنابراین ما در حال رفتن به ایجاد می کند که خودمان. 59 00:03:04,620 --> 00:03:07,190 >> بنابراین ما به طور مستمر می خواهید سریع کاربر 60 00:03:07,190 --> 00:03:09,730 تا زمانی که ما یک عدد صحیح مثبت می دهد. 61 00:03:09,730 --> 00:03:14,300 اگر من انجام کاری به طور مداوم سپس که شبیه به یک حلقه، تکرار. 62 00:03:14,300 --> 00:03:19,130 بنابراین یکی از سازه که استفاده می کنیم در C برای اجرای تکرار و حلقه 63 00:03:19,130 --> 00:03:20,410 یک حلقه در حالی است. 64 00:03:20,410 --> 00:03:23,020 بنابراین یک حلقه در حالی به عنوان در اینجا نشان داده شده است، اجرا خواهد شد 65 00:03:23,020 --> 00:03:27,030 آنچه در بدنه حلقه به عنوان زمانی که ارزیابی شرایط داده شده 66 00:03:27,030 --> 00:03:27,900 به درست است. 67 00:03:27,900 --> 00:03:30,640 به محض این که شرایط به false ارزیابی، و سپس 68 00:03:30,640 --> 00:03:34,830 برنامه به ادامه خواهد داد هر چه می آید پس از بدنه حلقه. 69 00:03:34,830 --> 00:03:39,400 >> بنابراین در حالی که حلقه در حال رفتن به واقعا در CS50 مفید است. 70 00:03:39,400 --> 00:03:42,590 اما در این خاص مورد، ما می دانیم که ما 71 00:03:42,590 --> 00:03:48,140 رفتن به سریع کاربر حداقل یک بار و پس از آن تنها حلقه در صورت لزوم. 72 00:03:48,140 --> 00:03:51,080 بنابراین در اینجا ما به یک آمده ساختار خاص و که 73 00:03:51,080 --> 00:03:55,020 بسیار شبیه به در حالی که حلقه به نام یک حلقه انجام دهند در حالی. 74 00:03:55,020 --> 00:03:58,840 >> بنابراین یک حلقه انجام دهند در حالی اجرا بدنه حلقه حداقل یک بار 75 00:03:58,840 --> 00:04:01,750 و سپس آن را چک کنید آیا آن را باید اجرا، 76 00:04:01,750 --> 00:04:05,310 به عنوان یک حلقه در حالی که مخالف، که شرایط را بررسی کنید 77 00:04:05,310 --> 00:04:07,200 و پس از آن اجرا بدن است. 78 00:04:07,200 --> 00:04:11,880 بنابراین در یک حلقه انجام دهند در حالی آنچه ما ممکن است انجام دهید این است سریع کاربر برای یک عدد صحیح، 79 00:04:11,880 --> 00:04:14,450 و پس از آن بررسی اگر آن را نامعتبر است و یا نیست. 80 00:04:14,450 --> 00:04:18,130 اگر آن را نامعتبر، پس از آن ما تکرار این فرآیند درخواست کاربر 81 00:04:18,130 --> 00:04:22,290 به ما عدد صحیح دیگر بدهد، و سپس تنها زمانی که که عدد صحیح، معتبر است، 82 00:04:22,290 --> 00:04:25,060 ما به ادامه آنچه می آید پس از آن. 83 00:04:25,060 --> 00:04:28,030 >> در حال حاضر شما متوجه خواهید شد که اعلام عدد صحیح N 84 00:04:28,030 --> 00:04:31,670 کمی به آنچه که ما مختلف قبل از در مثال قبلی بود 85 00:04:31,670 --> 00:04:33,640 و این به دلیل دامنه. 86 00:04:33,640 --> 00:04:37,920 اگر ما عدد صحیح n اعلام کرده بود در داخل از بدنه حلقه انجام دهند در حالی، 87 00:04:37,920 --> 00:04:42,640 پس از آن ما قادر نخواهد بود برای دسترسی به که مقدار n در خارج از این اشکال مختلف 88 00:04:42,640 --> 00:04:45,050 طبی نشان می دهد بدن از حلقه است. 89 00:04:45,050 --> 00:04:51,080 اما ما در واقع می خواهید برای دسترسی به مقدار n بعد از آن در برنامه های ما. 90 00:04:51,080 --> 00:04:55,730 >> خوب، پس حالا اجازه دهید بحث در مورد چه این وضعیت باید باشد. 91 00:04:55,730 --> 00:05:00,400 ما می خواهیم به تنها reprompt کاربران تا زمانی که N نامعتبر است. 92 00:05:00,400 --> 00:05:04,640 بنابراین به خودتان فکر می کنم آنچه نامعتبر مقدار صحیح نگاه می خواهم 93 00:05:04,640 --> 00:05:08,060 و سپس یک بولی ایجاد بیان به بیان است که. 94 00:05:08,060 --> 00:05:13,070 >> ما تقریبا با زیرکار ما به پایان رسید ارشاد و اعتبار ورودی کاربر. 95 00:05:13,070 --> 00:05:16,010 بنابراین اجازه دهید به این کمی کمی بیشتر کاربر پسند 96 00:05:16,010 --> 00:05:18,390 و به کاربر یک کمی اطلاعات بیشتر 97 00:05:18,390 --> 00:05:20,510 از آنچه ما باعث آنها را برای. 98 00:05:20,510 --> 00:05:24,500 بنابراین اجازه دهید سریع کاربر، در هر تنظیمات، در دقیقهی رشته. 99 00:05:24,500 --> 00:05:28,935 بنابراین با استفاده از اظهارات تابع () printf خود را، مطمئن شوید که شما در این مسابقه دقیقا. 100 00:05:28,935 --> 00:05:30,230 >> خیلی خوب. 101 00:05:30,230 --> 00:05:33,840 بنابراین در حال حاضر ما باید یک کاربر معتبر ورودی، یک عدد صحیح مثبت 102 00:05:33,840 --> 00:05:37,400 ارزش برای چند دقیقه آنها در حمام به سر برد. 103 00:05:37,400 --> 00:05:41,300 بنابراین آنچه که در آینده این است که محاسبه تعداد معادل بطری. 104 00:05:41,300 --> 00:05:45,250 ما قصد داریم برای انجام در اینجا ممکن است به شما بسیار واضح است در ابتدا، 105 00:05:45,250 --> 00:05:46,640 و این خوب. 106 00:05:46,640 --> 00:05:49,320 آنچه ما می خواهیم انجام است می خواهید برای شروع تمرین 107 00:05:49,320 --> 00:05:53,810 این ایده از تشخیص الگوها و در حال توسعه فرمول برای این مشکل است. 108 00:05:53,810 --> 00:05:57,200 >> بنابراین ما در حال گفت در تنظیمات که یک دقیقه در حمام 109 00:05:57,200 --> 00:05:59,960 معادل حدود است 12 بطری آب. 110 00:05:59,960 --> 00:06:03,020 بنابراین از دو دقیقه خواهد بود معادل به 24، 111 00:06:03,020 --> 00:06:05,850 و پنج دقیقه بود معادل 60 باشد. 112 00:06:05,850 --> 00:06:08,390 بنابراین در حال حاضر اگر شما فکر می کنم شما آن را کردم، سپس اجازه دهید 113 00:06:08,390 --> 00:06:10,390 ببینید اگر شما می توانید آمد تا با یک الگو یا فرمول 114 00:06:10,390 --> 00:06:14,990 برای بیان اگر ما می گویند، N دقیقه، چند بطری آب 115 00:06:14,990 --> 00:06:17,930 آیا این از نظر n بیان؟ 116 00:06:17,930 --> 00:06:20,680 >> باز هم، حتی اگر این ممکن است ساده در ابتدا، 117 00:06:20,680 --> 00:06:23,240 بعدا در زمانی که ما برای به دست آوردن مشکلات پیچیده تر 118 00:06:23,240 --> 00:06:26,360 ما در حال رفتن به خواهید برای وارد شدن عمل شناسایی 119 00:06:26,360 --> 00:06:30,120 الگوهای و فرمول در حال توسعه به شکل این مسائل را. 120 00:06:30,120 --> 00:06:33,450 >> در C شما به اینترنت دسترسی دارند عملیات های ریاضی استاندارد، 121 00:06:33,450 --> 00:06:36,520 جمع، تفریق، ضرب، تقسیم و. 122 00:06:36,520 --> 00:06:38,420 بنابراین من آن را به ترک شما هم اکنون می به شکل 123 00:06:38,420 --> 00:06:41,300 چگونه برای بیان تعداد معادل بطری 124 00:06:41,300 --> 00:06:43,990 که کاربر مصرف در طول دوش خود. 125 00:06:43,990 --> 00:06:45,700 >> همه حق است، ما تقریبا انجام شده. 126 00:06:45,700 --> 00:06:50,650 ما در بر کاربران برای ورودی خود خواسته ام، ما تضمین کرده ایم که آن را ورودی معتبر است، 127 00:06:50,650 --> 00:06:53,330 و سپس ما نمیفهمد چگونه برای محاسبه معادل 128 00:06:53,330 --> 00:06:55,480 تعداد بطری های که آنها مصرف می شود. 129 00:06:55,480 --> 00:06:59,430 بنابراین آخرین کار این است که به خروجی تعداد معادل بطری 130 00:06:59,430 --> 00:07:02,410 و امیدوارم تشویق آنها برای حفظ برخی از آب. 131 00:07:02,410 --> 00:07:06,270 >> نوشتن ارزش خواهد یک دستور printf. 132 00:07:06,270 --> 00:07:09,720 اگر من می خواستم به شما که من به سه حیوانات خانگی، به عنوان مثال، 133 00:07:09,720 --> 00:07:13,090 من ممکن است یک دستور printf استفاده که به نظر می رسد چیزی شبیه به این. 134 00:07:13,090 --> 00:07:15,880 من سه حیوانات خانگی، و یک جدید خط برای قالب بندی خوب. 135 00:07:15,880 --> 00:07:17,880 >> در حال حاضر ما نمی خواهم به سادگی همه چیز کد سخت است. 136 00:07:17,880 --> 00:07:20,740 می گویند که تعداد من حیوانات خانگی تغییرات در طول زمان. 137 00:07:20,740 --> 00:07:25,080 سپس من قصد دارم به استفاده از متغیرهایی در دستور printf است. 138 00:07:25,080 --> 00:07:27,350 بنابراین در اینجا شماره من یک عدد صحیح است. 139 00:07:27,350 --> 00:07:31,480 بنابراین من قصد دارم برای ایجاد یک حفره یا سوراخ برای یک عدد صحیح با استفاده از٪ من. 140 00:07:31,480 --> 00:07:33,930 من قصد دارم به ارسال رشته، و سپس پس از رشته 141 00:07:33,930 --> 00:07:38,000 من ارسال یک کاما از هم و پس از آن متغیر است که من می خواهم برای چاپ. 142 00:07:38,000 --> 00:07:42,730 به طوری که ارزش چاپ خواهد شد به جای آن حفره یا سوراخ،٪ من. 143 00:07:42,730 --> 00:07:47,630 >> شما می توانید متغیرهایی استفاده کنید، به عنوان خوب، برای شناور با٪ F. 144 00:07:47,630 --> 00:07:50,420 شما همچنین می توانید متعدد داشته متغیرهایی در یک رشته است. 145 00:07:50,420 --> 00:07:53,950 برای مثال، اگر من به برخی از تعداد از سگ ها و برخی از تعدادی از گربه ها، 146 00:07:53,950 --> 00:07:59,210 من دو متغیرهایی را در اینجا و سپس دو متغیر در سفارش مربوطه. 147 00:07:59,210 --> 00:08:03,130 >> بنابراین در حال حاضر ما می دانیم که چگونه برای چاپ مقادیر ذخیره شده در متغیر، 148 00:08:03,130 --> 00:08:06,030 بسیار آخرین چیزی که برای انجام دهید این است که اطمینان حاصل شود که ما 149 00:08:06,030 --> 00:08:10,920 چاپ مقدار در قالب دقیق نشان داد در مشخصات. 150 00:08:10,920 --> 00:08:14,990 با آن، ما را وادار ام کاربران و ورودی خود را تایید شده است. 151 00:08:14,990 --> 00:08:17,920 پس از آن ما محاسبه کرده بودم معادل تعداد بطری های آب 152 00:08:17,920 --> 00:08:22,100 که آنها در طول دوش مصرف می کنند، و ما که ارزش به آنها خروجی است. 153 00:08:22,100 --> 00:08:24,440 و بنابراین، ما آب را کامل کردهاید. 154 00:08:24,440 --> 00:08:28,730 >> اسم من هست [؟ Zamila،؟] و این CS50. 155 00:08:28,730 --> 00:08:29,909