1 00:00:00,000 --> 00:00:11,736 2 00:00:11,736 --> 00:00:16,626 >> [וידאו השמעה] 3 00:00:16,626 --> 00:00:19,410 >> נצחון של -A מתמטי ומיומנות מכאנית 4 00:00:19,410 --> 00:00:23,270 הוא אוטומטי חדש זה נהדר מחשבון באוניברסיטת הרווארד. 5 00:00:23,270 --> 00:00:27,140 בעיות מורכבות במתמטיקה לשים במכונה בצורה מוצפנת 6 00:00:27,140 --> 00:00:31,710 בקלטת נפתרים בצורה מדויקת ב נדרש שבריר רגע של הזמן 7 00:00:31,710 --> 00:00:32,819 לחישוב אנושי. 8 00:00:32,819 --> 00:00:44,280 9 00:00:44,280 --> 00:00:48,220 שנועד לזרז את כל צורות מחקר מתמטי ומדעי, 10 00:00:48,220 --> 00:00:53,840 המוח המכני הענק יעבוד ל חיל הים של ארצות הברית עד סוף המלחמה. 11 00:00:53,840 --> 00:01:03,620 12 00:01:03,620 --> 00:01:06,570 >> [סוף ההשמעה] 13 00:01:06,570 --> 00:01:08,590 >> דוד י מלאן: זה, הוא CS50. 14 00:01:08,590 --> 00:01:10,590 העבר היה קסום מקום, אבל אם יש לך אי פעם 15 00:01:10,590 --> 00:01:13,366 תהה מה הוא המכשיר ש בהרווארד מרכז המדע, 16 00:01:13,366 --> 00:01:16,150 זה אכן חלק מ הרווארד מארק אני, וזה 17 00:01:16,150 --> 00:01:18,710 בתצוגה שם עכשיו לשנים רבות בעבר. 18 00:01:18,710 --> 00:01:20,590 ומה שתראה משובץ בסט בעיה 19 00:01:20,590 --> 00:01:24,416 אחד הוא מבט מאחורי הקלעים על מה שעשה מכשיר, ועושה, 20 00:01:24,416 --> 00:01:27,540 מפרופסור הארי לואיס, שנמצא ב המחלקה למדעי המחשב כאן. 21 00:01:27,540 --> 00:01:29,440 אז עוד על כך בקצת. 22 00:01:29,440 --> 00:01:33,990 >> אבל היום אנו מתחילים מעבר משבוע שעבר לזה, 23 00:01:33,990 --> 00:01:37,290 ואנו נביא אזכור של תצלום אחד כאן 24 00:01:37,290 --> 00:01:38,630 זה בעצם די מפורסם. 25 00:01:38,630 --> 00:01:42,270 האם מישהו יודע מה זה כאן הוא על המסך? 26 00:01:42,270 --> 00:01:43,880 לפחות על פי מיתוס. 27 00:01:43,880 --> 00:01:44,837 כן. 28 00:01:44,837 --> 00:01:45,920 קהל: הווירוס הראשון. 29 00:01:45,920 --> 00:01:49,570 דוד י מלאן: אז זה היה כביכול באג בפועל הראשון במחשב. 30 00:01:49,570 --> 00:01:52,490 עכשיו במציאות מילת באג, לטעות בתכנית, 31 00:01:52,490 --> 00:01:55,250 היה איתנו לכמה זמן שבעולם הפיזי, 32 00:01:55,250 --> 00:01:58,190 וזה היה אחד הראשונים פעמים מתועדות שבו מישהו באמת 33 00:01:58,190 --> 00:02:02,280 קטף עש גדול מתוך מארק מחשב השני, לשים אותו בקלסר, 34 00:02:02,280 --> 00:02:05,006 ולאחר מכן הקליט אותו כבאג הידוע הראשון 35 00:02:05,006 --> 00:02:06,630 בעצם כבר נמצא פיזי. 36 00:02:06,630 --> 00:02:10,104 אז כך היה נכנס כי לתורה של היום. 37 00:02:10,104 --> 00:02:12,020 הכל מאחרון שבוע הוא זמין באינטרנט. 38 00:02:12,020 --> 00:02:14,840 במשאבים מסוימים שאולי אתה לא בהכרח שם לב, במיוחד 39 00:02:14,840 --> 00:02:15,881 אם מגיע לכאן באופן אישי. 40 00:02:15,881 --> 00:02:20,230 אז אחת מעמיתי ההוראה כל שנה עושה סט הקנונים של הערות, 41 00:02:20,230 --> 00:02:22,010 כך שאתה לא צריך לשמור הראש מטה, מנסה 42 00:02:22,010 --> 00:02:24,410 לתמלל ביותר שום דבר שעלול לקרות כאן בכיתה. 43 00:02:24,410 --> 00:02:25,940 אז מבין שאלו מה שנקרא [? Scribd? הערות] 44 00:02:25,940 --> 00:02:29,350 הן באינטרנט, בהחלט השקופיות ו קוד מקור שאנו משתמשים בכיתה. 45 00:02:29,350 --> 00:02:31,436 אנחנו עושים את תמלילי טקסט מלאים זמין גם כן. 46 00:02:31,436 --> 00:02:34,310 אז אם אתה זוכר במעורפל כמה טווח, ורוצה לבדוק את זה קצת 47 00:02:34,310 --> 00:02:37,280 בקלות רבה יותר, מבין שכל של שהוא באינטרנט לחיפוש. 48 00:02:37,280 --> 00:02:38,930 כמו גם ערוצים כמו גם. 49 00:02:38,930 --> 00:02:42,710 ואכן, היום אנחנו מתחילים להסתכל על שפת תכנות נמוכה רמה, 50 00:02:42,710 --> 00:02:45,290 עד מהרה נודע לנו כC, וזה קל מאוד 51 00:02:45,290 --> 00:02:48,820 לסוג של איבוד אחרי כמה פשוט זמן רגעים, ואז סוג של פלא 52 00:02:48,820 --> 00:02:52,370 איך אנחנו באמת צריכים עוד קצת דוגמא מורכבת מהפשוט ביותר. 53 00:02:52,370 --> 00:02:54,975 וכך להבין שנציע בדובדבן לבחור בכיתה מסוימת 54 00:02:54,975 --> 00:02:57,850 של דוגמאות מייצגות, אבל להבין שכל כך הרבה יותר הוא גם 55 00:02:57,850 --> 00:03:01,140 זמין באינטרנט, כך שאתה יכול לעבוד דרכו בקצב שלך, 56 00:03:01,140 --> 00:03:02,950 עם זאת אתה הכי נוח. 57 00:03:02,950 --> 00:03:05,200 >> אבל עזבנו את עם תוכניות שהיו רק זה. 58 00:03:05,200 --> 00:03:09,690 אז אני לוחץ על הדגל הירוק, ומה בתכנית זו עושה? 59 00:03:09,690 --> 00:03:10,710 אומר, שלום, עולם. 60 00:03:10,710 --> 00:03:13,180 זה הופך את החתול אומר שלום בעולם הקטן שלו 61 00:03:13,180 --> 00:03:15,990 בצד השמאלי העליון של ממשק המשתמש של Scratch. 62 00:03:15,990 --> 00:03:18,810 אבל התחלנו להציג כמה טרמינולוגיה בשבוע שעבר. 63 00:03:18,810 --> 00:03:23,614 וכך, דברים כמו זה שקראו מה? 64 00:03:23,614 --> 00:03:25,280 מה יכול להיות המונח הכללי לזה? 65 00:03:25,280 --> 00:03:26,266 כן. 66 00:03:26,266 --> 00:03:28,210 שיטה או הצהרה. 67 00:03:28,210 --> 00:03:29,280 בטח, זה פעולה. 68 00:03:29,280 --> 00:03:30,140 לעשות את זה. 69 00:03:30,140 --> 00:03:32,400 ובכל זאת היו צורות אחרות לגרד, 70 00:03:32,400 --> 00:03:35,360 מלבד אלה שנקרא הצהרה, הם היו גם 71 00:03:35,360 --> 00:03:38,221 דברים כמו זה, שבו אנו נקראים מה? 72 00:03:38,221 --> 00:03:38,720 כן. 73 00:03:38,720 --> 00:03:39,634 אז לולאה. 74 00:03:39,634 --> 00:03:42,050 ובמקרה הזה, הדבר הזה חזרות, כמובן, 10 פעמים. 75 00:03:42,050 --> 00:03:43,040 יש לחסום לנצח. 76 00:03:43,040 --> 00:03:44,164 יש כמה אחרים. 77 00:03:44,164 --> 00:03:48,309 והיום אנחנו הולכים לראות איך לתרגם את זה לעולם מודרני יותר, 78 00:03:48,309 --> 00:03:50,850 אם תרצה, למרות שזה הולך להופיע במבט הראשון 79 00:03:50,850 --> 00:03:52,024 להיות הרבה יותר מסתורי. 80 00:03:52,024 --> 00:03:53,190 אבל אלה היו אכן לולאות. 81 00:03:53,190 --> 00:03:56,182 ואז יש לנו דברים כמו זה, שהייתה צורה זו, 82 00:03:56,182 --> 00:03:57,515 ושאלו מהות שאלות. 83 00:03:57,515 --> 00:03:58,890 והתייחסנו לאלה כמו מה? 84 00:03:58,890 --> 00:03:59,762 >> קהל: ביטוי בוליאני. 85 00:03:59,762 --> 00:04:00,320 >> דוד י מלאן: כן. 86 00:04:00,320 --> 00:04:01,340 ביטוי בוליאני. 87 00:04:01,340 --> 00:04:04,502 משהו שהוא או או אמיתי שקר, כן או לא, אחד או אפס, 88 00:04:04,502 --> 00:04:05,960 עם זאת אתה רוצה לראות את העולם. 89 00:04:05,960 --> 00:04:08,335 אבל קראנו בוליאנית אלה ביטויים, ואנחנו תקע אותם 90 00:04:08,335 --> 00:04:09,900 לתנאים, או סניפים. 91 00:04:09,900 --> 00:04:12,170 ובעולם של שריטה, הכל יפה 92 00:04:12,170 --> 00:04:15,460 משתלב במונחים של צורתו, אם זה הגיוני הגיוני לעשות זאת, 93 00:04:15,460 --> 00:04:18,490 אבל אתה לא צריך לעצור בפשוט עושה דבר אחד על תנאי, 94 00:04:18,490 --> 00:04:20,450 אתה יכול לקבל פתגמי מזלג בכביש 95 00:04:20,450 --> 00:04:24,040 ולעשות או שאם גם זה המצב נכון או לא. 96 00:04:24,040 --> 00:04:26,040 ולאחר מכן, כפי שתראה, אם יש לך כבר, 97 00:04:26,040 --> 00:04:27,480 אתה יכול אפילו קן אלה בלוקים. 98 00:04:27,480 --> 00:04:32,110 אז Scratch גדל כדי למלא את הצורות שאולי אתה רוצה להכניס לתוכו, 99 00:04:32,110 --> 00:04:35,330 כך שאתה ממש יכול להביע ביותר כל היגיון שאולי אתה רוצה לעשות. 100 00:04:35,330 --> 00:04:38,220 >> עכשיו כמה מילות של הודעה לשניהם כאן וניו הייבן. 101 00:04:38,220 --> 00:04:39,370 אז חתך מתחיל היום. 102 00:04:39,370 --> 00:04:42,120 כתובת האתר לכך היא על המסלול של אתר, למי שלא מכיר. 103 00:04:42,120 --> 00:04:43,970 סעיפים יהיו הזדמנות להיפגש 104 00:04:43,970 --> 00:04:46,553 בהרבה יותר אינטימי סביבה מ [? סנדרס?] מאפשר, 105 00:04:46,553 --> 00:04:50,347 עם 10 עד 20 חברים לכיתה עם עמית הוראה במסלולים שונים, 106 00:04:50,347 --> 00:04:51,930 וצעדים שונים, אם אתה כל כך לבחור. 107 00:04:51,930 --> 00:04:54,080 אכן ההצעות כמובן חלקים שונים 108 00:04:54,080 --> 00:04:57,340 עבור אלה פחות נוחים, יותר נוח, ואי שם באמצע, 109 00:04:57,340 --> 00:04:59,860 והתפקיד של אגודל כאן, הוא אין הגדרה רשמית, 110 00:04:59,860 --> 00:05:04,600 אבל אם אתה פחות נוח, אתה סוג של יודע את זה. 111 00:05:04,600 --> 00:05:07,470 אתה קצת אמיץ על רעיון של דריכה רגל, אולי, חזרה 112 00:05:07,470 --> 00:05:10,130 בכיתה, או מראה עד שבבין הסעיף. 113 00:05:10,130 --> 00:05:12,770 אם אתה כבר תכנות מאז ש היו בן שש, נוח יותר, 114 00:05:12,770 --> 00:05:13,400 אולי לך. 115 00:05:13,400 --> 00:05:16,150 ואם זה סוג של הטלה-עד, זה בדיוק מה שבין 116 00:05:16,150 --> 00:05:17,190 הוא אמור להיות. 117 00:05:17,190 --> 00:05:18,410 >> עכשיו, בינתיים, לכיתה בגודל זה, 118 00:05:18,410 --> 00:05:21,326 זה לוקח אותנו די הרבה זמן לסעיף כולם, כך יש לנו מה שנקרא, 119 00:05:21,326 --> 00:05:24,030 סעיפי סופר, מתקרבים זה בסוף שבוע ותחילת השבוע הבא, 120 00:05:24,030 --> 00:05:26,570 אז תסתכל באתר האינטרנט של הקורס לאלו שאינם רחבים כמובן, 121 00:05:26,570 --> 00:05:28,610 וגם צילם עבור אלה שלא יכול לגרום להם. 122 00:05:28,610 --> 00:05:33,470 וחתכים עצמם יתחילו בשבוע שלוש אפס מדד CS50. 123 00:05:33,470 --> 00:05:35,880 בעיה להגדיר 0 כבר באתר האינטרנט של הקורס. 124 00:05:35,880 --> 00:05:40,010 ומבין שיש לך תשעה ימים מאוחר בסמסטר הזה. 125 00:05:40,010 --> 00:05:43,240 אז זה שדרוג מאחרון שנה, כאשר היו לנו חמישה ימים מאוחר. 126 00:05:43,240 --> 00:05:46,210 >> אז אם אתה תוהה, יש לנו תשעה סטי בעיה. 127 00:05:46,210 --> 00:05:53,200 יש לך תשעה ימים מאוחר, כל אחד מהם אתה יכול רק להוציא אחד בשבוע ב. 128 00:05:53,200 --> 00:05:56,089 שהיעילות הופכת את כל הבעיה קובעת עקב יום שישי, 129 00:05:56,089 --> 00:05:58,630 אבל המטרה היא לשים קצת קצת לחץ פסיכולוגי 130 00:05:58,630 --> 00:06:01,100 עליכם לנסות להגיע דברים ביום חמישי 131 00:06:01,100 --> 00:06:03,960 כי כפי שאתה תגלה מהר, לטוב או לרע, רוב 132 00:06:03,960 --> 00:06:07,820 כל דבר בעולם התוכנה בסופו של לוקח הרבה יותר זמן ממה שאתה מצפה. 133 00:06:07,820 --> 00:06:10,620 אז לשקול את זה סוג של הזדמנות לעזור 134 00:06:10,620 --> 00:06:13,880 את עצמך למקד יום חמישי, אבל להתנחם בזה, כן, 135 00:06:13,880 --> 00:06:14,950 הכל נובע שישי. 136 00:06:14,950 --> 00:06:17,590 ואם אתה שולח אותם ב יום חמישי, זה נפלא. 137 00:06:17,590 --> 00:06:21,020 אין נקודות בונוס או נוספת אשראי לפגישת המועד האחרון ש. 138 00:06:21,020 --> 00:06:23,250 זה אמור להיות קב בלבד. 139 00:06:23,250 --> 00:06:25,810 >> ושעתי עבודה, שניהם כאן ובניו הייבן, 140 00:06:25,810 --> 00:06:28,840 באדם, אם ברצונך להיפגש עם כל אחד מהקורסים שלנו 141 00:06:28,840 --> 00:06:31,060 הוראת עמיתים ורשויות אישורים לקבלת סיוע. 142 00:06:31,060 --> 00:06:31,640 >> בסדר. 143 00:06:31,640 --> 00:06:33,110 אז עכשיו, בואו נעשה את זה יותר אמיתי. 144 00:06:33,110 --> 00:06:35,470 ולרגע שזה הולך להתחיל כדי לקבל קצת יותר מסתורי, אבל מאוד 145 00:06:35,470 --> 00:06:37,310 במהירות ביום שישי ו בשבוע הבא אנחנו נהיה 146 00:06:37,310 --> 00:06:41,230 מסוגל לעשות כל כך הרבה יותר מ שיכולנו עד כה בגרד. 147 00:06:41,230 --> 00:06:44,350 אז הצגנו קוד אחרון שבוע, אם כי pictoral. 148 00:06:44,350 --> 00:06:45,620 זה היה חלקי הפאזל. 149 00:06:45,620 --> 00:06:48,800 ואנחנו באופן רשמי שזה משהו שנקרא קוד מקור, 150 00:06:48,800 --> 00:06:50,330 אבל היה נראה? 151 00:06:50,330 --> 00:06:52,550 ובכן, זה נראה קצת משהו כזה. 152 00:06:52,550 --> 00:06:55,410 ואכן, רק כדי סוג של להקניט בו אנחנו יכולים ללכת עם זה. 153 00:06:55,410 --> 00:06:57,800 אני הולך קדימה ו לפתוח את חלון כאן, 154 00:06:57,800 --> 00:06:59,810 ואני רק הולך לבחור קובץ חדש. 155 00:06:59,810 --> 00:07:03,200 ואני הולך לשמור קובץ זה כמו משהו כמו נקודת שלום ג. 156 00:07:03,200 --> 00:07:05,700 עוד על בחירה של מילות ברגע. 157 00:07:05,700 --> 00:07:08,630 וכך אולי מישהו ללכת על כתיבת תכנית. 158 00:07:08,630 --> 00:07:13,990 כולל אני סטנדרטי / h נקודת O, int ראשי חלל, ולאחר מכן פתוח סד מתולתל, קרוב 159 00:07:13,990 --> 00:07:19,430 סד מתולתל, printf שלום עולם פסיק, n לוכסן, פסיק, שמור, עשה. 160 00:07:19,430 --> 00:07:19,930 אוקיי. 161 00:07:19,930 --> 00:07:21,670 שכתבתי הראשון שלי תכנית, אבל זה הולך 162 00:07:21,670 --> 00:07:23,878 להיות underwhelmed מאוד כי כשאני ממש 163 00:07:23,878 --> 00:07:27,352 להפעיל את התכנית, כמובן, על ידי הכתיבה הראשונה לעשות שלום, 164 00:07:27,352 --> 00:07:30,310 ולאחר מכן dot לקצץ שלום, ואנחנו לעבור את זה בפירוט רב יותר 165 00:07:30,310 --> 00:07:31,730 ברגע, זה כל מה שהיא עושה. 166 00:07:31,730 --> 00:07:33,270 לא פופ פתוח כל חלונות. 167 00:07:33,270 --> 00:07:35,070 זה לא עושה כלום במיוחד מפואר. 168 00:07:35,070 --> 00:07:38,830 כל שהיא עושה היא מה שאמרתי לו ל לעשות, אבל איך אנחנו מגיעים לזה? 169 00:07:38,830 --> 00:07:40,560 ואיך אנחנו בונים על זה? 170 00:07:40,560 --> 00:07:43,430 ובכן, בואו להציג כמה מושגים שונים כאן. 171 00:07:43,430 --> 00:07:47,170 >> אז אחד, אנחנו עומדים להתחיל באמצעות תכנית בשם מהדר. 172 00:07:47,170 --> 00:07:51,470 מהדר קיים עבור Mac OS, Windows, לינוקס, כל מספר של מערכות הפעלה, 173 00:07:51,470 --> 00:07:54,540 ואנחנו בקרוב נכיר לך סביבה שיהיה להשתמש, 174 00:07:54,540 --> 00:07:57,410 אבל מהדר הוא רק כללי טווח פיסת התוכנה 175 00:07:57,410 --> 00:08:01,940 שלוקח את קוד מקור ו מייצר קוד אובייקט מזה. 176 00:08:01,940 --> 00:08:03,940 במילים אחרות, אם אתה יש לך כמקור קלט 177 00:08:03,940 --> 00:08:08,250 קוד, משהו כמו מה שאני רק הקלדה, זה סופו של דבר מייצר קוד אובייקט. 178 00:08:08,250 --> 00:08:11,780 וקוד אובייקט הוא באמת רק דרך מפוארת של אומר שזה פלטי 179 00:08:11,780 --> 00:08:12,926 אפס של ואחד של. 180 00:08:12,926 --> 00:08:14,800 במילים אחרות, מקור קוד, למרות שזה 181 00:08:14,800 --> 00:08:17,240 הולך להיראות קצת מסתורית, וקצת פחות ידידותי 182 00:08:17,240 --> 00:08:19,590 מסריטות במבט ראשון, זה לפחות משהו 183 00:08:19,590 --> 00:08:21,120 כי אנחנו בני אדם יכול להבין. 184 00:08:21,120 --> 00:08:24,360 זה סוג של נראה ונשמע כמו אנגלית למרות שזה מאוד תמציתי. 185 00:08:24,360 --> 00:08:28,040 בעוד תכנות באפס של ו של אחד, כקודמינו היינו צריכים לעשות, 186 00:08:28,040 --> 00:08:30,920 לפני כמה שנים, לא היה אתגר במיוחד כיף. 187 00:08:30,920 --> 00:08:33,710 ובכל זאת, זה מה ש מחשב עדיין מבין. 188 00:08:33,710 --> 00:08:37,010 אז מהדר מקבל אותנו מ קוד המקור להתנגד קוד. 189 00:08:37,010 --> 00:08:39,860 זה כמו פתיחת קובץ עם מהדר, וכאשר אתה שומר אותו, 190 00:08:39,860 --> 00:08:41,419 אתה מקבל אותם אפסים ואחדים. 191 00:08:41,419 --> 00:08:43,419 אז אנחנו תראו איך לעשות כי ברגע. 192 00:08:43,419 --> 00:08:47,400 >> אבל בואו עכשיו תנסה לספק לגשר בין בשבוע שעבר וזה, 193 00:08:47,400 --> 00:08:50,660 כך שגם כאשר אנו נתקעים על דברים כמו סוגריים מסולסלים, 194 00:08:50,660 --> 00:08:54,100 ונקודה-פסיק, וסוגריים, ו כל אלה מעניינים מהבחינה האינטלקטואלית 195 00:08:54,100 --> 00:08:57,620 היבטים של תכנות, שמאוד מובן להכשיל את אנשים בשלב מוקדם, 196 00:08:57,620 --> 00:09:00,930 להבין שכל הרעיונות היום, הם אותו הדבר כמו שעבר. 197 00:09:00,930 --> 00:09:03,975 אז אחרון, שראינו בדוגמה זו כאן, תכנית שלום העולם. 198 00:09:03,975 --> 00:09:07,500 ובכן, החל מיום, אם אנחנו רוצים כדי ליישם אותה התכנית, 199 00:09:07,500 --> 00:09:10,800 זה הולך להיראות משהו קטן כמו זה. 200 00:09:10,800 --> 00:09:14,040 ונסביר מה לפני int הארוך, ועיקרי, ומבוטל, וכל זה 201 00:09:14,040 --> 00:09:18,770 הוא, אבל לפחות אני רואה כאן כבר שלום העולם המוכר. 202 00:09:18,770 --> 00:09:20,860 >> בינתיים, דברים כמו פונקציה, להגיד שלום, 203 00:09:20,860 --> 00:09:23,570 הוא מאוד פשוט הולך להיות הצהרה פשוטה מאוד כמו זה. 204 00:09:23,570 --> 00:09:26,930 Printf שלום עולם, עם כמה מצטט, עם קו נטוי, 205 00:09:26,930 --> 00:09:29,780 עם נקודה-פסיק, אבל עוד על כך שביבואו. 206 00:09:29,780 --> 00:09:34,066 לולאות, בינתיים, זה לולאה ש, כמובן, אומר שלום עולם לנצח, 207 00:09:34,066 --> 00:09:36,690 וזה אחד הולך להיראות קצת מוזר מאשר שבעבר, 208 00:09:36,690 --> 00:09:39,530 אבל אם אני אומר משהו כמו, תוך נכון, אני 209 00:09:39,530 --> 00:09:44,050 לאחר מכן ניתן להדפיס את שלום העולם שוב ושוב ושוב ושוב. 210 00:09:44,050 --> 00:09:46,660 ואז כמו שאתה יכול סוג של להתחיל להסיק כאן, 211 00:09:46,660 --> 00:09:49,070 אמנה זו של שימוש סוגריים מסולסלים הוא סוג 212 00:09:49,070 --> 00:09:52,050 כמו מחבק קו משונן של קוד שם. 213 00:09:52,050 --> 00:09:55,840 קו printf של קוד כמו חתיכת הפאזל הצהובה למעלה. 214 00:09:55,840 --> 00:09:58,740 אז אנחנו לא הולכים להגיד לנצח, אנחנו הולכים להגיד בעוד אמיתיים, 215 00:09:58,740 --> 00:10:01,020 אבל אנחנו אראה למה שהוא בקצת. 216 00:10:01,020 --> 00:10:04,210 >> בינתיים, אם יש לנו לולאה כמו זה, שבו אתה חוזר על משהו סופי 217 00:10:04,210 --> 00:10:07,730 פעמים מספר, זה אחד יותר מדי זה הולך לקחת קצת זמן להתרגל 218 00:10:07,730 --> 00:10:12,820 ל, אבל זה הולך לומר לint אני מקבל אפס, אני פחות מ -10, אני ++, 219 00:10:12,820 --> 00:10:14,056 ולאחר מכן printf שוב. 220 00:10:14,056 --> 00:10:15,430 אבל יש הולך להיות דפוסים. 221 00:10:15,430 --> 00:10:18,434 ועבור אלה מכם מוכרים עם AP מדעי מחשב, או ג'אווה, 222 00:10:18,434 --> 00:10:21,100 או כל מספר של שפות אחרות, כמעט כל המבנים הללו 223 00:10:21,100 --> 00:10:23,820 עד כה צריך להיראות בעיקר מוכר. 224 00:10:23,820 --> 00:10:24,680 >> אז משתנה. 225 00:10:24,680 --> 00:10:29,270 אז הנה קטע Scratch פשוט ש מגדיר משתנה בשם מונה לאפס, 226 00:10:29,270 --> 00:10:33,150 ואז לנצח אומר הדלפק, ו אז זה משנה את הדלפק אחד. 227 00:10:33,150 --> 00:10:37,030 אז זה מתחיל עם אפס, ואז אחד, שתיים, שלוש. 228 00:10:37,030 --> 00:10:42,560 ובכן, איך ייתכן שאנחנו מציגים ב שפה זו חדשה קצת דומה? 229 00:10:42,560 --> 00:10:45,460 דלפק int שווה אפס, בעוד אמיתי, ש 230 00:10:45,460 --> 00:10:48,100 הוא שאותו רעיון מלפני לעשות משהו לנצח, 231 00:10:48,100 --> 00:10:49,530 ואני רק הולך לprintf. 232 00:10:49,530 --> 00:10:53,310 ועכשיו זה מתחיל להיות קצת מוזר, אני אחוזים, אבל עוד על כך שיבואו, 233 00:10:53,310 --> 00:10:55,140 אבל הרעיונות האלה הם בדיוק אותו הדבר. 234 00:10:55,140 --> 00:10:58,820 אנחנו רק עכשיו צריכים לדבוק התחביר שהמחשב 235 00:10:58,820 --> 00:11:00,010 הולך לדרוש מאתנו. 236 00:11:00,010 --> 00:11:04,620 >> ביטוי בוליאני, משהו כמו פחות מ SX y, או x פחות מ y, 237 00:11:04,620 --> 00:11:06,354 וy פחות מ z. 238 00:11:06,354 --> 00:11:09,270 זה הולך להיראות משהו קטן ככה, עם סוגריים רק 239 00:11:09,270 --> 00:11:13,020 כמו במתמטיקה למידה טובה רק להבטיח שסדר פעולות 240 00:11:13,020 --> 00:11:14,750 הוא כפי שאנו מתכוונים. 241 00:11:14,750 --> 00:11:15,600 ועכשיו, תנאים. 242 00:11:15,600 --> 00:11:21,220 אז אם x פחות מ y, אומרים x הוא פחות מ y, אחר אם x גדול מ y, 243 00:11:21,220 --> 00:11:26,020 אומר x גדול מ y, אחרת מבחינה לוגית, x חייב להיות שווה ל- y. 244 00:11:26,020 --> 00:11:28,710 אז אתה יכול ליישם משהו כזה בגרד, 245 00:11:28,710 --> 00:11:31,230 או אולי אתה מיישם זה בתחביר זה. 246 00:11:31,230 --> 00:11:35,090 ושוב, הסוגריים המסולסלים הם סוג של נותן לנו באותה צורה כמו פאזל 247 00:11:35,090 --> 00:11:40,750 חתיכות, אבל התחביר, עכשיו, אולי מתחיל לעקוב אחרי כמה דפוסים. 248 00:11:40,750 --> 00:11:42,910 >> אז, מה זה נותן לנו כאן? 249 00:11:42,910 --> 00:11:45,260 אז אנחנו שוב לאחר מכן בתכנית העיקרית שלנו. 250 00:11:45,260 --> 00:11:47,930 בואו למעשה, עכשיו, לעשות משהו עם זה. 251 00:11:47,930 --> 00:11:50,660 אז בזה הראשון קו שאנחנו חדים ראו כוללים, 252 00:11:50,660 --> 00:11:53,160 אני סטנדרטי / פלט, h נקודה, ו אז כמה זווית מוזרה 253 00:11:53,160 --> 00:11:57,330 סוגריים מתחת לזה. עיקרי int ולאחר מכן printf שלום עולם חלל,. 254 00:11:57,330 --> 00:11:58,200 אז פשוט לקחת צעד. 255 00:11:58,200 --> 00:12:02,440 מישהו שמעולם לא תכנת לפני, לפחות להסביר אחד מהקווים האלה. 256 00:12:02,440 --> 00:12:04,490 באמצעות אולי חלק מ הז'רגון של שבוע שעבר. 257 00:12:04,490 --> 00:12:06,942 מה הוא printf, למשל? 258 00:12:06,942 --> 00:12:07,442 כן. 259 00:12:07,442 --> 00:12:08,410 >> קהל: [לא ברור] 260 00:12:08,410 --> 00:12:08,610 >> דוד י מלאן: כן. 261 00:12:08,610 --> 00:12:11,380 זה פונקציה, או הצהרה, מהטרמינולוגיה של השבוע שעבר. 262 00:12:11,380 --> 00:12:13,470 וזה פעולה שעושה משהו. 263 00:12:13,470 --> 00:12:15,855 עכשיו בפונקציה זו, או הצהרה זו, עושה 264 00:12:15,855 --> 00:12:17,550 זה מופיע לקחת איזשהו קלט? 265 00:12:17,550 --> 00:12:20,080 266 00:12:20,080 --> 00:12:24,380 ובאיזה מובן עושה את זה נראה לקחת קלט, אם כן? 267 00:12:24,380 --> 00:12:26,180 קלט, מה אני מתכוון? 268 00:12:26,180 --> 00:12:26,720 כן. 269 00:12:26,720 --> 00:12:27,595 >> קהל: [לא ברור] 270 00:12:27,595 --> 00:12:30,565 271 00:12:30,565 --> 00:12:31,440 דוד י מלאן: כן. 272 00:12:31,440 --> 00:12:34,890 אז גרד את כמה חתיכות הפאזל שבו אתה יכול parametrize זה. 273 00:12:34,890 --> 00:12:37,980 אתה יכול לספר לי חוזר לחסום כמה פעמים לחזור, 274 00:12:37,980 --> 00:12:40,320 כך שהיה קלט של מיני, ובדיוק כמו Scratch 275 00:12:40,320 --> 00:12:43,060 היה מציין מיקום לבן קטן למספר שתקליד ב, 276 00:12:43,060 --> 00:12:45,810 כך גם אנו משתמשים בזה סוגריים עולם טקסט 277 00:12:45,810 --> 00:12:49,910 לתת לנו שצורה עגולה שלתוכו אנו יכולים לחבר הקלט שלנו. 278 00:12:49,910 --> 00:12:53,180 אחרי הכל, לפני עשרות שנים כאשר שפה זו, הנקראת C, 279 00:12:53,180 --> 00:12:55,950 הומצא אף אחד צפוי שזה אחד מאיתנו, 280 00:12:55,950 --> 00:12:59,420 כמה שנים מאוחר יותר אלה, הייתי רוצה פונקציה שאומרת שלום. 281 00:12:59,420 --> 00:12:59,920 נכון? 282 00:12:59,920 --> 00:13:02,880 זה יהיה נחמד אם היו פיסת הפאזל, או מילות מפתח, 283 00:13:02,880 --> 00:13:05,502 זה נקרא שלום, ש פשוטו כמשמעו, רק אומר שלום. 284 00:13:05,502 --> 00:13:06,460 אבל אנחנו לא צריכים את זה. 285 00:13:06,460 --> 00:13:09,320 אנחנו יכולים להיות משהו הרבה יותר נמוך רמה, כמו הדפסה הגנרית 286 00:13:09,320 --> 00:13:12,760 הפקודה, שלוקח את הקלט, והדפסים מה שאנחנו רוצים. 287 00:13:12,760 --> 00:13:14,960 אז שם לב עכשיו הדפוס שיתחיל לצוץ. 288 00:13:14,960 --> 00:13:19,310 פתח סוגריים, קרובים סוגריים הוא כנראה מחבק את הקלט, 289 00:13:19,310 --> 00:13:21,770 ואז אני רואה כפול מצטט בשני הקצוות. 290 00:13:21,770 --> 00:13:25,110 יש עדיין קו נטוי מוזר n, אבל אני מקווה שעכשיו אתה 291 00:13:25,110 --> 00:13:29,900 יכול להתחיל לדמיין לפחות ש printf הוא לוקח בצורה כלשהי של קלט. 292 00:13:29,900 --> 00:13:31,850 לא ידידותי למשתמש כמו לגרד, אבל זה רק 293 00:13:31,850 --> 00:13:34,920 כמו שמחובר בחלק הערך שם. 294 00:13:34,920 --> 00:13:38,306 >> בסדר, עכשיו בואו למעשה לעשות משהו עם זה. 295 00:13:38,306 --> 00:13:40,930 אז כמה מכם אולי יודעים מ יש קניות בכיתה לפני, 296 00:13:40,930 --> 00:13:42,638 שוחחתי עם חברים, כי במשך שנים רבות 297 00:13:42,638 --> 00:13:44,590 היינו משהו שנקרא מכשיר CS50. 298 00:13:44,590 --> 00:13:49,160 זה היה מונח המתאר טכנולוגיה נקרא המכונה הווירטואלית, ש 299 00:13:49,160 --> 00:13:51,870 היא פיסת התוכנה ש קודמים היו להוריד את 300 00:13:51,870 --> 00:13:53,360 אתר האינטרנט של הקורס בחינם. 301 00:13:53,360 --> 00:13:56,550 הם היו גם להוריד חלק בחינם תוכנה בשם hypervisor, 302 00:13:56,550 --> 00:14:00,590 משהו שנקרא כמו VMware, או VirtualBox, או כל מספר 303 00:14:00,590 --> 00:14:04,450 של כלים אחרים, ועליהם מק או PC כל מה שהיה להם מחשב או בשנה שעברה 304 00:14:04,450 --> 00:14:06,620 ובשנים האחרונות, הם יכפיל לחץ על סמל 305 00:14:06,620 --> 00:14:08,860 כדי להפעיל את התוכנה נקרא hypervisor. 306 00:14:08,860 --> 00:14:12,220 ואז בתוך התכנית ש הם היו פותחים את מכשיר CS50. 307 00:14:12,220 --> 00:14:14,710 וההשפעה הייתה ש אם קודמו שלך 308 00:14:14,710 --> 00:14:17,780 היה מערכת הפעלת Mac OS או Windows, הוא או היא לאחר מכן 309 00:14:17,780 --> 00:14:22,910 לאחר מכן היה לי חלון חדש עליהם מסך פועל בסביבה של CS50. 310 00:14:22,910 --> 00:14:27,370 אז מכונה וירטואלית מאפשרת לך להריץ אחד מערכת הפעלה הפנימית של אחר, 311 00:14:27,370 --> 00:14:28,785 וזה בדיוק מה שעשינו. 312 00:14:28,785 --> 00:14:31,410 לאורך רובנו כמובן להשתמש במערכת הפעלה הנקראת 313 00:14:31,410 --> 00:14:34,070 לינוקס, במיוחד אובונטו לינוקס, וזה 314 00:14:34,070 --> 00:14:37,590 היא דרך נחמדה מאוד בשנים האחרונות של כדי לוודא שכולם שבקורס 315 00:14:37,590 --> 00:14:38,840 פשוט הייתה באותה הסביבה. 316 00:14:38,840 --> 00:14:41,339 ואתה יכול להשתמש בכל סוג של מחשב שאתה באמת רוצה. 317 00:14:41,339 --> 00:14:43,930 בין החסרונות, אם כי, היו זה היה כמו שתי ג'יגה-בייט 318 00:14:43,930 --> 00:14:45,480 להוריד את הדבר הזה. 319 00:14:45,480 --> 00:14:50,310 זה לא בהכרח עובד סופר גם על אנשים שמחשבים שאולי רק 320 00:14:50,310 --> 00:14:54,570 הייתה הופעה או כך של זיכרון RAM, או לא גיגה הרץ רב מדי של מהירות מעבד, 321 00:14:54,570 --> 00:14:56,750 וכך בשנה זו, ל זו ומסיבות אחרות, 322 00:14:56,750 --> 00:14:59,140 יש לנו כבר מעבר לסביבה זו. 323 00:14:59,140 --> 00:15:03,730 IDE CS50 מה שנקרא, שהוא המבוסס על תוכנת קוד פתוחה, 324 00:15:03,730 --> 00:15:07,380 ופלטפורמה נתמכת כי חברה בשם Cloud9 325 00:15:07,380 --> 00:15:11,110 תומך באירופה, ש מאפשר לנו יש בעצם 326 00:15:11,110 --> 00:15:15,770 מדויקת שאותה סביבה כמו ב שנים עברו, אבל בענן שנקרא. 327 00:15:15,770 --> 00:15:17,532 >> אז מה הוא הענן? 328 00:15:17,532 --> 00:15:20,480 כנראה שלחצת הסמל שלו ב- Mac או במחשב האישי שלך. 329 00:15:20,480 --> 00:15:22,210 מהו הענן? 330 00:15:22,210 --> 00:15:22,709 כן? 331 00:15:22,709 --> 00:15:25,880 332 00:15:25,880 --> 00:15:26,780 קצת יותר חזק. 333 00:15:26,780 --> 00:15:30,510 334 00:15:30,510 --> 00:15:31,010 כן. 335 00:15:31,010 --> 00:15:33,770 זה פשוט חבורה של מחשבים במקום אחר כי נתוני בחנות וברח 336 00:15:33,770 --> 00:15:34,880 תוכנה וכדומה. 337 00:15:34,880 --> 00:15:39,390 אז זה באמת רק למילת דה יורה לתאר [? פנויים להשכרה?] 338 00:15:39,390 --> 00:15:40,930 מחשבים שגרים במקומות אחרים. 339 00:15:40,930 --> 00:15:42,810 שאתה, בעצמך, לא בעלים בהכרח. 340 00:15:42,810 --> 00:15:45,256 לכן, כאשר הנתונים שלך, או שלך תוכניות, נמצאות בענן, 341 00:15:45,256 --> 00:15:47,630 זה רק אומר שזה על מישהו של אחר מחשבים במקום אחר, 342 00:15:47,630 --> 00:15:50,510 ולא, סביר להניח, עליך מחשב נייד או שולחן עבודה פיזי. 343 00:15:50,510 --> 00:15:52,990 ואז זה מה שCS50 IDE עכשיו הוא. 344 00:15:52,990 --> 00:15:55,670 >> מכאן ואילך תלכו למסוים כתובת אתר שיכיר לך 345 00:15:55,670 --> 00:16:00,090 ל, בבעיה להגדיר 1, בהמשך שבוע, שאז, על כניסה, 346 00:16:00,090 --> 00:16:01,480 אתן לך סביבה זו. 347 00:16:01,480 --> 00:16:03,896 והיו הרבה סריטות כמו כמה פנלים שונים מעורבים, 348 00:16:03,896 --> 00:16:06,030 כך גם IDE של CS50 יש בדיוק את זה. 349 00:16:06,030 --> 00:16:09,480 בצד השמאלי העליון כאן, אתה הולך לראות דפדפן קבצים מוכר. 350 00:16:09,480 --> 00:16:11,930 אז כל אחד מהקבצים ש הכניס לתוך סביבה זו 351 00:16:11,930 --> 00:16:13,346 הם פשוט הולכים להיות רשומים שם. 352 00:16:13,346 --> 00:16:14,350 קבצים ותיקיות. 353 00:16:14,350 --> 00:16:16,790 בחלק העליון ממש כאן, אתה הולך לראות מקום 354 00:16:16,790 --> 00:16:18,420 שבו בעצם אתה יכול לכתוב את הקוד שלך. 355 00:16:18,420 --> 00:16:21,860 בתחילה ב- C, מאוחר יותר ב טווח בPHP ו- JavaScript, 356 00:16:21,860 --> 00:16:24,739 ואולי לסופי פרויקטים, רובי או Java או Python 357 00:16:24,739 --> 00:16:27,280 או כל מספר של שפות הם נתמך בסביבה זו. 358 00:16:27,280 --> 00:16:30,130 זה בכלל לא קשור לCS50 במיוחד. 359 00:16:30,130 --> 00:16:33,390 >> ולאחר מכן בפינה התחתונה כאן, במיוחד עבור אלה נוחים יותר, 360 00:16:33,390 --> 00:16:35,590 יש לך משהו נקרא חלון מסוף. 361 00:16:35,590 --> 00:16:38,770 וחלון מסוף זה מאפשר לך לבצע כל פקודה שאתה 362 00:16:38,770 --> 00:16:40,860 רוצה בסביבת ענן זה. 363 00:16:40,860 --> 00:16:42,860 זה מאפשר לך להתקין כל תוכנה נוספת 364 00:16:42,860 --> 00:16:46,810 שאתה רוצה, כי יש לך מה שנקרא שורש, או מנהל הרשאות. 365 00:16:46,810 --> 00:16:49,930 אז במילים אחרות, למרות שזה מתארח סופו של דבר בענן, 366 00:16:49,930 --> 00:16:52,400 ולמרות שיש לנו פישט אותו במידה מסוימת 367 00:16:52,400 --> 00:16:57,110 כברירת מחדל, פשוטו כמשמעו, החדרת, תודה לדן Armendariz, ודינו, 368 00:16:57,110 --> 00:17:01,070 ודן ברדלי בצוות של CS50 על עבר חודשים רבים, פחות נוח 369 00:17:01,070 --> 00:17:05,140 מצב שמסתיר הרבה הסחות דעת בתחילה מבלבלת. 370 00:17:05,140 --> 00:17:10,119 הכל קיים ל מייצג מערכת מחשב טיפוסית 371 00:17:10,119 --> 00:17:12,319 שיהיה אפשר להשתמש בעולם האמיתי. 372 00:17:12,319 --> 00:17:15,640 >> אז מה עושה את זה כל המשמעות, ו מה אנחנו יכולים בעצם לעשות עם זה? 373 00:17:15,640 --> 00:17:19,124 בואו בעצם להציץ בתכנית. 374 00:17:19,124 --> 00:17:21,290 אז אני הולך לפתוח את סביבה בפועל כאן, 375 00:17:21,290 --> 00:17:23,894 שהוא רק שלנו Chrome דפדפן, שיכול להיות בפיירפוקס, 376 00:17:23,894 --> 00:17:26,640 יכול להיות Internet Explorer, או כמה דפדפן אחר גם כן. 377 00:17:26,640 --> 00:17:28,400 זה מלא הוקרן כאן לרגע. 378 00:17:28,400 --> 00:17:31,580 ואני רוצה להקניט למעשה מלבד מה שתכנית זו הייתה. 379 00:17:31,580 --> 00:17:36,170 אז בואו נסתכל, על ידי התקרבות בעד ראש הדף, במה שעשיתי, ואיך הגיע לכאן. 380 00:17:36,170 --> 00:17:38,315 אז הנה אלה מדויקים אותו שורות קוד. 381 00:17:38,315 --> 00:17:40,440 אז זה ההצהרה, כפי שהזכרת קודם לכן. 382 00:17:40,440 --> 00:17:42,580 הפונקציה שאומרת שלום. 383 00:17:42,580 --> 00:17:45,870 הסוגריים המסולסלים, על קו ארבעה וקו שש, 384 00:17:45,870 --> 00:17:49,290 ככל הנראה סוג של מעטפת קו שכדי לקשר את זה 385 00:17:49,290 --> 00:17:50,890 עם המהות של התכנית שלי. 386 00:17:50,890 --> 00:17:54,890 אז אכן, עיקרי מילת מפתח זו, זה שם למעלה על קו שלושה, 387 00:17:54,890 --> 00:17:59,450 אתה יכול לחשוב על זה כשווה הערך של שכאשר הדגל ירוק לחץ, 388 00:17:59,450 --> 00:18:01,080 לחסום בגרד. 389 00:18:01,080 --> 00:18:05,280 אז זה כל מה שיש לנו כאן, הוא כאשר דגל ירוק לחץ, הדפסה, או אומר, 390 00:18:05,280 --> 00:18:06,700 שלום עולם. 391 00:18:06,700 --> 00:18:11,210 >> אבל בואו ניקח ניחוש, עכשיו, במה ש קו הראשון, מסתורי יותר זה, הוא. 392 00:18:11,210 --> 00:18:15,100 שארפ כולל, זווית פתוחה הסוגר, אני סטנדרטי / h נקודת O, 393 00:18:15,100 --> 00:18:17,320 לסגור הסוגר זווית. 394 00:18:17,320 --> 00:18:19,850 מה שהוא עושה אולי, במיוחד אם אתה כבר מתוכנת 395 00:18:19,850 --> 00:18:21,390 לפני בשפה אחרת. 396 00:18:21,390 --> 00:18:21,890 כן? 397 00:18:21,890 --> 00:18:22,765 >> קהל: [לא ברור] 398 00:18:22,765 --> 00:18:25,095 399 00:18:25,095 --> 00:18:25,970 דוד י מלאן: כן. 400 00:18:25,970 --> 00:18:26,470 בדיוק. 401 00:18:26,470 --> 00:18:29,455 אז זה נותן לך גישה ל ספרייה, כביכול, של פונקציות. 402 00:18:29,455 --> 00:18:31,830 וספרייה של פונקציות היא פונקציות שמישהו אחר 403 00:18:31,830 --> 00:18:34,406 כתב, או לאחרונה או לפני זמן רב, כך שאתה 404 00:18:34,406 --> 00:18:35,780 לא צריך להמציא את הגלגל מחדש. 405 00:18:35,780 --> 00:18:39,020 לדוגמא, אנחנו לא צריך לדעת, בשנת 2015, 406 00:18:39,020 --> 00:18:42,280 איך לכתוב קוד שמעבירה דמות על המסך שלי. 407 00:18:42,280 --> 00:18:44,820 מישהו אחר חשב ש עם פונקצית printf 408 00:18:44,820 --> 00:18:47,280 כך שאני יכול למיין של מופשט מזה, או שכבה 409 00:18:47,280 --> 00:18:49,350 על גבי או שלה קוד, ועכשיו רק לקחת 410 00:18:49,350 --> 00:18:52,760 מובן מאליו שכל תכנית שאני כותב ניתן להדפיס משהו על המסך. 411 00:18:52,760 --> 00:18:58,150 אז השורה הראשונה זה שם בצעד אחד כולל את קובץ הכותרת שנקרא 412 00:18:58,150 --> 00:18:59,980 לספרייה סטנדרטית. 413 00:18:59,980 --> 00:19:02,630 אז תראה, השפה ב שאנחנו עובדים עכשיו 414 00:19:02,630 --> 00:19:05,010 הייתה בספרייה רגילה עם המון פונקציות. 415 00:19:05,010 --> 00:19:07,240 Printf הוא אחד מהם, ו שהשורה הראשונה של קוד 416 00:19:07,240 --> 00:19:10,040 פירוש לתת לי גישה ל אלה פונקציות, כדי ש 417 00:19:10,040 --> 00:19:12,300 לא צריך להמציא מחדש את הגלגל ש. 418 00:19:12,300 --> 00:19:15,940 >> עכשיו בואו נלך לחלון התחתון ולעשות בדיוק מה שעשיתי לפני. 419 00:19:15,940 --> 00:19:18,520 לפני רגע, כשהייתי בדהרה באמצעות הקוד, 420 00:19:18,520 --> 00:19:24,540 להקליד אותו בפעם הראשונה, אני מהר מאוד הקלדתי, לעשות שלום. 421 00:19:24,540 --> 00:19:28,250 מה היה כל זה היית לנחש? 422 00:19:28,250 --> 00:19:29,150 מה אני עושה? 423 00:19:29,150 --> 00:19:29,649 כן? 424 00:19:29,649 --> 00:19:31,810 425 00:19:31,810 --> 00:19:32,310 לא חשוב. 426 00:19:32,310 --> 00:19:32,970 זה בסדר. 427 00:19:32,970 --> 00:19:33,492 כן. 428 00:19:33,492 --> 00:19:34,450 קהל: מעבד זה. 429 00:19:34,450 --> 00:19:34,700 דוד י מלאן: כן. 430 00:19:34,700 --> 00:19:35,770 זה פשוט היה קומפילציה זה. 431 00:19:35,770 --> 00:19:36,270 נכון? 432 00:19:36,270 --> 00:19:39,280 גם אם זה לא מוכר לחלוטין לך, זה יפה כמו אנגלית. 433 00:19:39,280 --> 00:19:41,155 זה בהחלט לא אפסים ואלה, כך אני עדיין 434 00:19:41,155 --> 00:19:44,220 צריך להפעיל אותו באמצעות שנקרא תכנית, מהדר, שהולכת 435 00:19:44,220 --> 00:19:46,060 לקחת את זה כקלט ופלט לייצר. 436 00:19:46,060 --> 00:19:48,270 ולפחות לעת עתה, ב סביבה זו לינוקס, 437 00:19:48,270 --> 00:19:51,030 אבל זה לא תנאי מוקדם, זה בדיוק איפה נתחיל, 438 00:19:51,030 --> 00:19:53,960 אתה בדרך כלל אינטראקציה עם מערכות מחשב כמו זה 439 00:19:53,960 --> 00:19:55,770 על ידי שורת הפקודה שנקרא. 440 00:19:55,770 --> 00:19:57,790 אז עם מהבהב מהיר והמקלדת שלך, 441 00:19:57,790 --> 00:20:01,630 ולא כל כך הרבה בעכבר, ולא כך חלונות וסמלים ותפריטים הרבה, 442 00:20:01,630 --> 00:20:02,980 ולא כל מה שהוא טקסטואלי. 443 00:20:02,980 --> 00:20:06,180 ולמרות שזה מרגיש, בהתחלה מבט, אולי, כמו צעד אחורה, 444 00:20:06,180 --> 00:20:08,437 זה בעצם הרבה יותר דרך רבת עוצמה והבעה 445 00:20:08,437 --> 00:20:10,270 של שליטה במחשב במיוחד כמו שאתה, 446 00:20:10,270 --> 00:20:12,950 את עצמך, להיות יותר נוח מפחות. 447 00:20:12,950 --> 00:20:16,790 זה הולך כדי לאפשר לך לעשות הרבה יותר דברים מאשר רק מה מיקרוסופט 448 00:20:16,790 --> 00:20:20,390 או אפל מאפשרת לך לעשות עם מערכת ההפעלה הגרפית שלהם. 449 00:20:20,390 --> 00:20:23,270 >> לכן, כאשר אני על Enter, עכשיו, שום דבר לא קורה הפעם 450 00:20:23,270 --> 00:20:25,960 כי כנראה שלום תכנית מעודכן. 451 00:20:25,960 --> 00:20:28,250 ומה היה הפקודה רצתי אחרי זה? 452 00:20:28,250 --> 00:20:32,370 דוט לקצץ שלום, ושלום עולם. 453 00:20:32,370 --> 00:20:34,350 עכשיו בואו ניקח צעד לגבות רק לרגע. 454 00:20:34,350 --> 00:20:39,510 מתברר שהופכים את שלום הוא רק דרך פשוטה של ​​עריכת תכנית. 455 00:20:39,510 --> 00:20:41,670 בואו רק להציג חתיכת ז'רגון אחד, 456 00:20:41,670 --> 00:20:43,470 אבל אז להתרחק מזה, מכיוון שזה לא 457 00:20:43,470 --> 00:20:46,640 כל מה שהמעניין למטרות של היום. 458 00:20:46,640 --> 00:20:51,000 מהדר אנחנו הולכים להתחיל להשתמש ב נקרא קלאנג, לשפת C. 459 00:20:51,000 --> 00:20:54,280 וזה תכנית שמנוהלת רק כמו שעשינו בשורת הפקודה יש. 460 00:20:54,280 --> 00:20:56,580 ולכן אם אני רוצה לקמפל תכנית ש 461 00:20:56,580 --> 00:21:00,790 כתב בקובץ בשם שלום נקודה ג, אני ממש פשוט להקליד צלצול ג שלום 462 00:21:00,790 --> 00:21:02,100 להיכנס. 463 00:21:02,100 --> 00:21:04,880 >> המצחיק הוא, מסיבות היסטוריות, 464 00:21:04,880 --> 00:21:07,750 אם אני לא לציין את שם התכנית 465 00:21:07,750 --> 00:21:11,690 כי אני רוצה פלט, אם אני לא לציין שם קובץ לאפסים האלה 466 00:21:11,690 --> 00:21:14,990 ואלה, מאוד מוזרים לפני שנות אמנה אומצה 467 00:21:14,990 --> 00:21:17,390 שבו הרגיש סוג של תשובה טובה בזמן, 468 00:21:17,390 --> 00:21:21,650 גם בואו רק באופן שרירותי לקרוא התכנית ראשונה שלקמפל את נקודה. 469 00:21:21,650 --> 00:21:22,900 מגיע ראשון באלף-הבית. 470 00:21:22,900 --> 00:21:23,920 מתוך, זה הפלט. 471 00:21:23,920 --> 00:21:26,210 אז אנו קוראים לתכנית כברירת מחדל נקודה החוצה. 472 00:21:26,210 --> 00:21:29,550 וזה בסדר, כי אם אני רוצה להפעיל את התכנית בטקסט זה מבוסס 473 00:21:29,550 --> 00:21:33,590 סביבה, אני פשוט להקליד נקודה לקצץ נקודה החוצה להיכנס. 474 00:21:33,590 --> 00:21:35,250 וזה היה רץ בדיוק כמו קודם. 475 00:21:35,250 --> 00:21:36,880 אז בואו לראות שממש מהר. 476 00:21:36,880 --> 00:21:40,370 >> אז אם אני חוזר לי קוד המקור בCS50 IDE, 477 00:21:40,370 --> 00:21:47,860 ואני במקום לעשות את זה, צלצול שלום עריסה ג להיכנס, שום דבר לא נראה הודעה לקרות, 478 00:21:47,860 --> 00:21:49,790 אבל כמעט תמיד ב סביבה זו לינוקס, 479 00:21:49,790 --> 00:21:53,310 כאשר שום דבר לא נראה רע לקרות, ש אומר משהו טוב שקרה בפועל. 480 00:21:53,310 --> 00:21:56,270 אם אתה לא רואה את שגיאה הודעה, כל היא כנראה כן. 481 00:21:56,270 --> 00:22:01,930 ואכן, אם אני עכשיו עושה נקודה לקצץ נקודה מתוך להיכנס, אני כבר לרוץ אותה התכנית שלי. 482 00:22:01,930 --> 00:22:04,610 עדיין יש לי את תכנית שלום מוקדם יותר כי אכן, זה 483 00:22:04,610 --> 00:22:07,430 הולך להיות כל כך הרבה יותר נחמד רק הקלד לעשות במקום לזכור 484 00:22:07,430 --> 00:22:10,240 לחשים של אלה פקודות, אבל בואו נראה איך אנחנו 485 00:22:10,240 --> 00:22:12,890 אולי לשפר את זה, בכל זאת. 486 00:22:12,890 --> 00:22:15,340 >> אז, זה הפקודה לקמפל את הקוד. 487 00:22:15,340 --> 00:22:19,100 זה הפקודה לרוץ הידור קוד לאחר מכן. 488 00:22:19,100 --> 00:22:20,546 איך אני יכול לציין שם קובץ? 489 00:22:20,546 --> 00:22:22,670 ובכן בואו פשוט להציג חתיכת ז'רגון אחד יותר. 490 00:22:22,670 --> 00:22:24,461 כשאתה בזה סביבה מבוססת טקסט, 491 00:22:24,461 --> 00:22:27,400 אתה הולך רוצה לציין דברים בשם טיעוני שורת הפקודה. 492 00:22:27,400 --> 00:22:31,380 וזה רק דרך מפוארת של אומר, מילות אחרות בפקודה ש 493 00:22:31,380 --> 00:22:33,860 לצבוט את ההתנהגות של כל מה ש תכנית שאתה מפעיל. 494 00:22:33,860 --> 00:22:37,320 אז במיוחד התכנית אני פועל, על ידי הקלדת שם הצלצול, 495 00:22:37,320 --> 00:22:38,504 היא התכנית בשם קלאנג. 496 00:22:38,504 --> 00:22:40,920 אז זה או בית הספר הישן מקבילה של לחיצה כפולה 497 00:22:40,920 --> 00:22:42,860 ב- Microsoft Word או הסמל של כמה תכנית. 498 00:22:42,860 --> 00:22:46,360 אני במקום פשוט להקליד את שמה, אבל בגרסה זו של הפקודה, 499 00:22:46,360 --> 00:22:51,334 אז יש לי מרחב o מקף שלום שלום חלל הנקודה ג. 500 00:22:51,334 --> 00:22:53,500 אז גם אם יש לך אף פעם לא שיחק בעולם הזה לפני, 501 00:22:53,500 --> 00:22:58,160 פשוט לקחת ניחוש מה אין o מקף שלום לעשות? 502 00:22:58,160 --> 00:23:00,620 או מה זה אומר לי צלצול לעשות? 503 00:23:00,620 --> 00:23:01,386 כן. 504 00:23:01,386 --> 00:23:02,455 >> קהל: [לא ברור] 505 00:23:02,455 --> 00:23:03,330 דוד י מלאן: כן. 506 00:23:03,330 --> 00:23:08,614 זה פשוט קובע פלט של הקובץ להיות שלום במקום מטופש נקודה החוצה. 507 00:23:08,614 --> 00:23:09,780 ואכן, בואו ננסה את זה. 508 00:23:09,780 --> 00:23:14,250 אז אם אני עכשיו לעשות, ראשון בואו נעשיתי את זה, שלום מ 'r. 509 00:23:14,250 --> 00:23:15,590 זה להסיר. 510 00:23:15,590 --> 00:23:18,450 וזה הולך לומר להסיר קובץ רגיל שלום, ש 511 00:23:18,450 --> 00:23:22,210 הוא שלא לצורך מסתורי, אבל זה פשוט אמצעים לעשות רצונך למחוק את הקובץ, 512 00:23:22,210 --> 00:23:23,230 ואני מקליד y עבור yes. 513 00:23:23,230 --> 00:23:27,340 ושים לב, אם היית מעיף מבט בראש עזב, זה לא ייעלם משם. 514 00:23:27,340 --> 00:23:32,180 עכשיו תן לי לעשות o מקף צלצול, ו אני הולך קדימה ולעשות שלום, 515 00:23:32,180 --> 00:23:34,890 בכל כמוסות, שלום הנקודה ג. 516 00:23:34,890 --> 00:23:37,775 עכשיו, אם אני עושה את הקו נטוי נקודה שלום, מה אתה מצפה? 517 00:23:37,775 --> 00:23:41,240 518 00:23:41,240 --> 00:23:42,430 >> אולי זה מקרה רגיש. 519 00:23:42,430 --> 00:23:43,070 אולי זה לא. 520 00:23:43,070 --> 00:23:44,030 בוא נראה. 521 00:23:44,030 --> 00:23:45,230 אין כזה קובץ או תקייה. 522 00:23:45,230 --> 00:23:47,438 ואנחנו סוג של יכולים לרמות על ידי רק מסתכל על פינה שמאלית עליונה. 523 00:23:47,438 --> 00:23:49,630 מה עשה לי ברור ש להציל את התכנית כ? 524 00:23:49,630 --> 00:23:51,070 כל כובעי שלום. 525 00:23:51,070 --> 00:23:53,020 אז אכן, זה הולך כדי לעשות את הבדל. 526 00:23:53,020 --> 00:23:54,540 אז עכשיו שלום העולם הוא חזרה. 527 00:23:54,540 --> 00:23:56,969 עכשיו זה בסדר גמור וטוב, וכל-נפש האלחוש מאוד, 528 00:23:56,969 --> 00:23:59,760 לסוג של להסתבך באלה פרטים, אבל להבין אותם 529 00:23:59,760 --> 00:24:00,500 זה טוב. 530 00:24:00,500 --> 00:24:02,675 >> יותר ויותר להקליד את אלה לחשים ארוכים 531 00:24:02,675 --> 00:24:05,980 הוא לא הולך להיות במיוחד , כך שאנשים כיף בעולם 532 00:24:05,980 --> 00:24:08,260 המציא תכנית אחרת, לפני כמה שנים, בשם 533 00:24:08,260 --> 00:24:12,190 לעשות, כי די פשוט מאפשר לך להקליד איפור, 534 00:24:12,190 --> 00:24:14,530 שם התכנית אתה רוצה לעשות, ולעשות 535 00:24:14,530 --> 00:24:18,580 הוא חכם בכך שהוא ייראה ב התיקייה הנוכחית, aka ספרייה, 536 00:24:18,580 --> 00:24:21,440 ואם יש לך קובץ בשם שלום הנקודה ג, 537 00:24:21,440 --> 00:24:25,800 כי הוא הקובץ זה לקמפל בשבילך לתכנית בשם שלום. 538 00:24:25,800 --> 00:24:29,950 אז זה הרבה יותר פשוט דרך של עושה את הפקודות סתומות יותר 539 00:24:29,950 --> 00:24:30,800 שעשינו קודם לכן. 540 00:24:30,800 --> 00:24:34,080 ויש לנו מוגדר מראש CS50 IDE לדעת 541 00:24:34,080 --> 00:24:38,560 שהוא היה אמור לעשות o מקף ומספר דגלים אחרים, או טיעוני שורת הפקודה, 542 00:24:38,560 --> 00:24:40,670 שנראה לפני זמן רב. 543 00:24:40,670 --> 00:24:43,700 >> אבל בואו עכשיו בעצם לעשות משהו מעניין יותר. 544 00:24:43,700 --> 00:24:46,950 פשוט להקליד את שלום עולם כל הזמן הוא לא כל כך משכנע. 545 00:24:46,950 --> 00:24:52,280 אז תן לי ללכת קדימה ושינוי תכנית וזה אומר, שלום דוד. 546 00:24:52,280 --> 00:24:54,120 עכשיו אני הולך לרדת כאן. 547 00:24:54,120 --> 00:24:57,360 אני הולך קדימה ולעשות שלום. 548 00:24:57,360 --> 00:25:00,652 ושוב עכשיו אתה רואה עושה הוא מראה לך את כבר 549 00:25:00,652 --> 00:25:03,360 רצף של פקודות שזה עושה כי אנחנו כבר מוגדרים מראש 550 00:25:03,360 --> 00:25:05,200 את זה ככה, אבל אנחנו לא צריך לדאוג לעת עתה 551 00:25:05,200 --> 00:25:10,735 מה הוא עושה אחר ממה שהיא נקודת איסוף לקצץ שלום, שלום עולם. 552 00:25:10,735 --> 00:25:14,969 553 00:25:14,969 --> 00:25:15,510 מה הבעיה? 554 00:25:15,510 --> 00:25:16,177 כן. 555 00:25:16,177 --> 00:25:17,370 >> קהל: [לא ברור] 556 00:25:17,370 --> 00:25:18,203 >> דוד י מלאן: כן. 557 00:25:18,203 --> 00:25:19,600 אז, טעות noobie. 558 00:25:19,600 --> 00:25:22,394 אני שם לב שזה סופר עדין, אבל הכוכבית כאן, בכרטיסייה, 559 00:25:22,394 --> 00:25:25,060 רק אומר שאתה לא הצלת אותו, ודפדפנים ותוכניות אחרות 560 00:25:25,060 --> 00:25:25,930 לעשות את זה לפעמים. 561 00:25:25,930 --> 00:25:27,939 אז של שליטה או הפקודה ים צריך לשמור אותו. 562 00:25:27,939 --> 00:25:29,730 עכשיו תנו לי ללכת קדימה ולהפעיל מחדש את התכנית. 563 00:25:29,730 --> 00:25:33,360 564 00:25:33,360 --> 00:25:34,260 קומפילציה מחדש. 565 00:25:34,260 --> 00:25:36,050 ימין, כך שזה תהליך רב שלבים. 566 00:25:36,050 --> 00:25:39,400 אף אחד מהם הוא מורכב במיוחד, אבל כל פעם שאנחנו לשנות את הקובץ, 567 00:25:39,400 --> 00:25:43,450 אנחנו צריכים לשנות את התוצאה כך אפסים ואחדים, וקו נטוי נקודת שלום. 568 00:25:43,450 --> 00:25:43,950 וואו. 569 00:25:43,950 --> 00:25:46,450 אז זה מאוד משעמם שאנחנו פשוט הדפסנו את זה. 570 00:25:46,450 --> 00:25:48,360 בואו נעשה את הדברים קצת יותר דינמי, עכשיו. 571 00:25:48,360 --> 00:25:52,280 >> ובכן מתברר, שאוהבים שריטה, C תומך משתנים. 572 00:25:52,280 --> 00:25:54,790 ומתברר אם אתה רוצה יש משתנה שחנויות, 573 00:25:54,790 --> 00:25:57,300 לא מספר כמו ש בדרך כלל עשה עם שריטה, 574 00:25:57,300 --> 00:26:01,300 אבל כמו מילה, או ביטוי, או שם, אתה 575 00:26:01,300 --> 00:26:04,837 ניתן לציין משתנה להיות מהטיפוס String. 576 00:26:04,837 --> 00:26:06,670 אז אנחנו תראו יותר של אלה ברגע, 577 00:26:06,670 --> 00:26:09,090 אבל מסתבר שC, ו הרבה שפות כמותו, 578 00:26:09,090 --> 00:26:11,240 יש סוגים מסוימים מאוד של משתנים. 579 00:26:11,240 --> 00:26:13,810 זה לא בדיוק כמו אלגברה, בו אתה מקבל x, y, z ו 580 00:26:13,810 --> 00:26:16,940 ואלה הם רק תמיד מספרים, בשפת תכנות 581 00:26:16,940 --> 00:26:20,030 אתה יכול לאחסן מספרים, אתה יכול לאחסן תווים בודדים, 582 00:26:20,030 --> 00:26:24,619 אתה יכול לאחסן את כל מילות, אתה יכול לאחסן תמונות שלמות, קבצי קול כל, 583 00:26:24,619 --> 00:26:25,160 וכדומה. 584 00:26:25,160 --> 00:26:28,362 אז אנחנו צריכים לציין מה סוג המשתנה שלנו הוא. 585 00:26:28,362 --> 00:26:31,570 ועל ידי אמנה אני הולך לקרוא לשלי של משתנה רק בגלל שזה תמציתי, 586 00:26:31,570 --> 00:26:33,510 והים עומד על מחרוזת. 587 00:26:33,510 --> 00:26:36,400 >> ואז אני הולך לחנות בתוך משתנה זה, 588 00:26:36,400 --> 00:26:39,570 בדיוק כמו עם שריטה כאשר אני משתמש בבלוק הסט, 589 00:26:39,570 --> 00:26:41,950 אני הולך להשתמש ב מפעיל משימה בC, 590 00:26:41,950 --> 00:26:45,290 שיפה מספיק הוא שווה לחתום, אבל סימן השוויון עושה את זה. 591 00:26:45,290 --> 00:26:53,220 הוא נע משהו מהימין ל בצד שמאל של הביטוי. 592 00:26:53,220 --> 00:26:57,170 אז מה שעשיתי, להיות ברור ב קו חמש, הוא כבר הצהיר משתנה. 593 00:26:57,170 --> 00:27:01,284 כבר אמר לי את המחשב, תן לי זיכרון למשתנה, קורא לזה זה, 594 00:27:01,284 --> 00:27:03,950 ויודע מראש שאני הולך להיות לשים מחרוזת בזה. 595 00:27:03,950 --> 00:27:05,950 ומחרוזת היא פשוט רצף של תווים. 596 00:27:05,950 --> 00:27:09,190 זה מילה, או ביטוי, או סעיף, אבל זה רצף של תווים. 597 00:27:09,190 --> 00:27:10,610 זה לא מספרים. 598 00:27:10,610 --> 00:27:13,800 מה מחרוזת אני הולך להיות מכניס לתוך משתנה ש? 599 00:27:13,800 --> 00:27:16,185 ובכן, כנראה לצטט סוף ציטוט, "חנה". 600 00:27:16,185 --> 00:27:17,810 עכשיו שם לב לדפוס שהוא מתעורר. 601 00:27:17,810 --> 00:27:19,260 יש יד שמאל ביטוי. 602 00:27:19,260 --> 00:27:21,810 יש יד ביטוי נכון, מופרד על ידי סימן השוויון. 603 00:27:21,810 --> 00:27:24,390 ופשוט לקחת ניחוש, אם לא מוכר בכל זאת, 604 00:27:24,390 --> 00:27:27,430 עם מה שהוא עושה פסיק. 605 00:27:27,430 --> 00:27:28,865 מה זה כנראה עושה לנו? 606 00:27:28,865 --> 00:27:29,365 כן? 607 00:27:29,365 --> 00:27:29,840 >> קהל: [לא ברור] 608 00:27:29,840 --> 00:27:29,980 >> דוד י מלאן: כן. 609 00:27:29,980 --> 00:27:31,170 זה רק סיום הקו. 610 00:27:31,170 --> 00:27:31,669 נכון? 611 00:27:31,669 --> 00:27:34,260 המחשבים רוצים להיות בוטה אמר, פשוטו כמשמעו, מה לעשות. 612 00:27:34,260 --> 00:27:36,343 כמו חמאת הבוטנים ו דוגמא כריך ריבה, 613 00:27:36,343 --> 00:27:39,360 אם לא תציין בדיוק מה שאתה מתכוון, 614 00:27:39,360 --> 00:27:42,190 זה יכול להיות שמאל לשיפוט או שגיאה. 615 00:27:42,190 --> 00:27:44,890 פסיק אומר, זהו זה לפקודה זו. 616 00:27:44,890 --> 00:27:48,310 זה להיות סופר מדויק, וזה דבר קל מאוד לעזוב את. 617 00:27:48,310 --> 00:27:52,240 אז עכשיו תכנית זו לא נראית לי להיות מתנהג באופן שונה עד ש 618 00:27:52,240 --> 00:27:53,500 לעשות את זה יותר דינמי. 619 00:27:53,500 --> 00:27:57,107 אז במקום קשה יכול שם, תן לי לשים ערך מציין מיקום. 620 00:27:57,107 --> 00:28:00,190 ומתברר ש, ואני יודע את זה שמקרא בתיעוד, 621 00:28:00,190 --> 00:28:04,080 והשתמשתי בפונקציה לשנים, ש printf נועד להיות דינמי. 622 00:28:04,080 --> 00:28:07,510 אתה לא צריך לדעת מראש מה מילות שאתה רוצה לשים את זה. 623 00:28:07,510 --> 00:28:11,290 במקום שאתה יכול להיות מציין מיקום, כמו של אחוזים, ש 624 00:28:11,290 --> 00:28:15,500 הוא הולך לספר לי מחשב, לשים מחרוזת כאן. 625 00:28:15,500 --> 00:28:17,740 >> איזה מחרוזת אנחנו רוצים לשים שם? 626 00:28:17,740 --> 00:28:22,430 וויל מתברר כי בין אלה סוגריים, שזוכרים, לסמן 627 00:28:22,430 --> 00:28:28,020 הקלט לפונקציה, אם יש לך רשימה מופרדות בפסיקים של דברים כאן, 628 00:28:28,020 --> 00:28:31,790 אנחנו באמת עוברים במספר רב של תשומות לפונקציה. 629 00:28:31,790 --> 00:28:33,901 אז רק רוצה קצת סריטות בלוקים, אתה אולי לא 630 00:28:33,901 --> 00:28:36,150 שיחקתי איתם ל הפרויקטים שלך עדיין או בכלל, 631 00:28:36,150 --> 00:28:38,250 יש לי כמה בלוקים Scratch שתי כניסות. 632 00:28:38,250 --> 00:28:41,220 שתי קופסות הלבנות שאתה יכול להקליד מספרים או מילים ל. 633 00:28:41,220 --> 00:28:45,210 אז האם יש לC פונקציות כמו printf שיכול לקחת שתי כניסות. 634 00:28:45,210 --> 00:28:48,050 ושוב, זה פסיק הוא מפריד ביניהם. 635 00:28:48,050 --> 00:28:51,070 אז באנגלית, שוב, גם אם אתה אף פעם לא תכנתת לפני, 636 00:28:51,070 --> 00:28:55,320 על ידי שprintf ההיגיון היא פונקציה, לוקח שתי כניסות, אחת מהן 637 00:28:55,320 --> 00:28:58,810 הוא מציין מיקום, מה היית מקווה printf הוא הולך לעשות עם קלט זה? 638 00:28:58,810 --> 00:29:01,470 639 00:29:01,470 --> 00:29:03,220 זה הולך להגיד שלום חנה, אני מקווה. 640 00:29:03,220 --> 00:29:05,274 אז כדי לעשות את זה אנחנו צריכים לשמור אותו. 641 00:29:05,274 --> 00:29:06,190 אני הולך להקטין את התצוגה. 642 00:29:06,190 --> 00:29:10,701 אני הולך לחזור לכאן ואומרים, לעשות שלום להיכנס. 643 00:29:10,701 --> 00:29:11,200 אה. 644 00:29:11,200 --> 00:29:14,830 משהו לא בסדר, ולמעשה זה די מדהים. 645 00:29:14,830 --> 00:29:18,400 יש לי שש שורות של קוד וכמו 12 שורות של טעויות. 646 00:29:18,400 --> 00:29:22,120 אז, מצפה לזה. 647 00:29:22,120 --> 00:29:24,260 אז מה קורה כאן? 648 00:29:24,260 --> 00:29:27,370 אז הכלל הטוב ביותר של אגודל כאן, במיוחד כאשר אתה מתחיל, 649 00:29:27,370 --> 00:29:29,370 לא להיות מוסח על ידי הדברים שבתחתית. 650 00:29:29,370 --> 00:29:31,220 למעשה, אני מאוד במכוון רק לגלול למעלה 651 00:29:31,220 --> 00:29:33,930 כי לעתים קרובות מאוד, מחשב הוא לא כל בהיר של מכשיר. 652 00:29:33,930 --> 00:29:35,054 זה הולך להתבלבל. 653 00:29:35,054 --> 00:29:37,220 אם הוא רואה דבר אחד ש הוא לא מבין, 654 00:29:37,220 --> 00:29:40,030 זה עלול לטעות אחר שורות של קוד שגויה כ, 655 00:29:40,030 --> 00:29:41,649 למרות שהם בסדר גמור. 656 00:29:41,649 --> 00:29:43,940 אז אתה תמיד רוצה לעבוד ראש מטה דרך הטעויות. 657 00:29:43,940 --> 00:29:47,850 ואמנם זה סופר מסתורי באותו הרגע. 658 00:29:47,850 --> 00:29:50,830 >> שגיאה, שימוש בלא מוצהר מחרוזת מזהה. 659 00:29:50,830 --> 00:29:52,130 האם אני מתכוון סטנדרטי ב? 660 00:29:52,130 --> 00:29:53,720 לא, התכוונתי מחרוזת. 661 00:29:53,720 --> 00:29:55,830 וזה מצביע על, אולי זה טעות דפוס. 662 00:29:55,830 --> 00:30:00,570 כמו סוג של, ב- בדיקת איות דרך מאוד חנונית, אבל הסיבה כאן, 663 00:30:00,570 --> 00:30:02,840 ואתה יודע את זה רק על ידי תרגול, הוא 664 00:30:02,840 --> 00:30:06,390 כי מתברר מחרוזת ש אינו קיים בג למעשה, C 665 00:30:06,390 --> 00:30:08,820 היא שפה במיוחד ישנה, וזה ברמה נמוכה מאוד, 666 00:30:08,820 --> 00:30:11,361 וזה לא הרבה תכונות כי ייתכן שגדלת 667 00:30:11,361 --> 00:30:14,620 עם אם יש לך, למעשה, מתוכנת ב- Java, כמו כמה מכם יש, 668 00:30:14,620 --> 00:30:16,980 אבל אתה יכול ללמד אותו דברים חדשים. 669 00:30:16,980 --> 00:30:20,900 ואכן, יש לנו לעשות CS50 זה, למרות שעד סוף הסמסטר, 670 00:30:20,900 --> 00:30:23,512 כל גלגלים עזר אלה יהיה כבר המריא, 671 00:30:23,512 --> 00:30:25,220 מה שאנחנו עושים באלה כמה שבועות הראשונים 672 00:30:25,220 --> 00:30:29,830 תחילה הוא גם שיש לנו אתה כולל h נקודת CS50. 673 00:30:29,830 --> 00:30:31,230 שהוא קובץ כותרת. 674 00:30:31,230 --> 00:30:32,440 נוסף על כך בעתיד. 675 00:30:32,440 --> 00:30:36,430 >> זה קובץ שמכיל פונקציות שיש לנו נכתב בשבילך. 676 00:30:36,430 --> 00:30:39,180 ובין הפונקציות אלה הוא פונקציות למקבלים קלט 677 00:30:39,180 --> 00:30:43,520 מהמשתמש, כמו מחרוזות, ו מספרים, ומספרים אמיתיים, ועוד. 678 00:30:43,520 --> 00:30:45,550 אבל יש לה גם כמה קיצורי דרך. 679 00:30:45,550 --> 00:30:48,200 הוא מגדיר בוליאנית כסוג נתונים. 680 00:30:48,200 --> 00:30:50,340 C אין אמת או שקר. 681 00:30:50,340 --> 00:30:53,880 אבל אנחנו יכולים לתת לו את הרעיון של אמת או שקר בדרך של ספרייה זו. 682 00:30:53,880 --> 00:30:57,670 וזה גם לא שיש לי מחרוזת נבנה בעד שכוללים את הקו הזה. 683 00:30:57,670 --> 00:31:01,090 אז הקו הזה של קוד אומר לי מהדר, היי, קלאנג, להסתכל 684 00:31:01,090 --> 00:31:03,570 בקובץ זה לכל חבורה של קוד שCS50 685 00:31:03,570 --> 00:31:06,330 כתב כך ש כל מי שמשתמש בקובץ זה 686 00:31:06,330 --> 00:31:09,330 יכול לקחת כמובן מאליו תכונות שהם הוסיפו. 687 00:31:09,330 --> 00:31:11,220 >> אז עכשיו תן לי ללכת קדימה ולנקות את המסך, 688 00:31:11,220 --> 00:31:14,178 ואם סקרנים אני רק אומר שליטה l כל זמן כדי לנקות את המסך, 689 00:31:14,178 --> 00:31:15,500 או שאתה יכול להקליד ברור. 690 00:31:15,500 --> 00:31:19,220 אני רק הולך קדימה ועכשיו סוג לעשות שלום, והכל טוב. 691 00:31:19,220 --> 00:31:22,550 עדיין פלט מסתורי, אבל זה לא הודעה שגויה. 692 00:31:22,550 --> 00:31:28,300 עכשיו, אם אני עושה נקודה לקצץ שלום, וכמו בצד, קו נטוי נקודה אינו מוכר לרוב. 693 00:31:28,300 --> 00:31:30,430 זה רק אומר, אמצעי נקודה הספרייה הנוכחית. 694 00:31:30,430 --> 00:31:33,120 אז אם אי פעם השתמשו ב DOS, או לינוקס, או יוניקס 695 00:31:33,120 --> 00:31:35,410 ייתכן שעשית משהו כמו נקודת נקודת CD, בי 696 00:31:35,410 --> 00:31:39,220 נקודת נקודת הפירוש ללכת אחורה ב זמן, או ללכת אחורה, או גבוה יותר 697 00:31:39,220 --> 00:31:40,370 בספרייה שלך. 698 00:31:40,370 --> 00:31:43,090 דוט רק אומר להסתכל ב הספרייה הנוכחית. 699 00:31:43,090 --> 00:31:45,670 אני רוצה שלום, שנמצא ממש כאן. 700 00:31:45,670 --> 00:31:47,750 ואכן, עכשיו זה אומר שלום חנה. 701 00:31:47,750 --> 00:31:51,120 ואם אני משנה את זה שוב למריה, להדר מחדש 702 00:31:51,120 --> 00:31:55,650 זה יגרום שלום, קו נטוי נקודה שלום, התכנית משתנה כל הזמן. 703 00:31:55,650 --> 00:31:58,060 >> אבל זה עדיין תכנית די טיפשית. 704 00:31:58,060 --> 00:32:00,972 אם אני רוצה לשלוח את התכנית זו, או לתת אותו לחבר, 705 00:32:00,972 --> 00:32:03,430 או לתת למריה או חנה זה לצורך העניין, וזה בסדר. 706 00:32:03,430 --> 00:32:07,300 אני יכול להתאים אותו לשניהם, אבל זה אף פעם לא הולך להיות דינמי. 707 00:32:07,300 --> 00:32:10,870 הם לא יכולים לשנות את זה ברגע שהוא מלוקט לתוך אלה אפסים ואחדים. 708 00:32:10,870 --> 00:32:12,350 אז מה שעשינו משהו חכמה יותר? 709 00:32:12,350 --> 00:32:17,100 מה אם, במקום קשה קידוד לתכנית את שמו של אדם זה, 710 00:32:17,100 --> 00:32:20,890 מה אם אנחנו רק מקבלים המחרוזת על פי דרישה? 711 00:32:20,890 --> 00:32:22,430 >> אז במילים אחרות, תנו לי לעשות את זה. 712 00:32:22,430 --> 00:32:24,030 אני הולך להדר מחדש את תכנית. 713 00:32:24,030 --> 00:32:25,710 ותן לי להתמקד בתחתית החברה. 714 00:32:25,710 --> 00:32:29,920 הפוך שלום נטוי נקודת שלום. 715 00:32:29,920 --> 00:32:31,710 עכשיו שום דבר לא קורה. 716 00:32:31,710 --> 00:32:35,860 האם אנחנו יכולים לקבל מתנדבים מהירים לגרום למשהו לקרות? 717 00:32:35,860 --> 00:32:36,360 בואו למעלה. 718 00:32:36,360 --> 00:32:37,020 מה השם שלך? 719 00:32:37,020 --> 00:32:37,445 >> פאנצ'ו: פנצ'ו. 720 00:32:37,445 --> 00:32:38,361 >> דוד י מלאן: Pacho? 721 00:32:38,361 --> 00:32:39,609 בואו למעלה. 722 00:32:39,609 --> 00:32:42,150 ברגע שאתה קם כאן, זה הוא הולך להיות מאוד משעמם, 723 00:32:42,150 --> 00:32:44,060 אבל זה יותר מעניין ממני להקליד אותה. 724 00:32:44,060 --> 00:32:49,007 אם אתה רוצה להמשיך ולהקלידך שם, עשיתי את התכנית רק בשבילך. 725 00:32:49,007 --> 00:32:49,840 פשוט הקלד את השם שלך. 726 00:32:49,840 --> 00:32:52,380 727 00:32:52,380 --> 00:32:53,900 הזן. 728 00:32:53,900 --> 00:32:54,489 נפלא. 729 00:32:54,489 --> 00:32:55,780 בסדר, תודה רבה לך. 730 00:32:55,780 --> 00:32:56,708 >> פאנצ'ו: תודה רבה לך. 731 00:32:56,708 --> 00:32:57,636 >> דוד י מלאן: אישור. 732 00:32:57,636 --> 00:32:59,028 >> [מחיאות כפות] 733 00:32:59,028 --> 00:33:00,884 734 00:33:00,884 --> 00:33:01,840 >> זה היה מאוד נחמד. 735 00:33:01,840 --> 00:33:03,145 הנה לך. 736 00:33:03,145 --> 00:33:03,770 מה עשה? 737 00:33:03,770 --> 00:33:05,930 אז אנחנו סוף סוף, לפחות, עשה תכנית זו דינמית. 738 00:33:05,930 --> 00:33:08,400 עכשיו זה עדיין בהחלט על ידי משעמם עיצוב, 739 00:33:08,400 --> 00:33:11,480 אבל יש לנו סוף סוף היכולת עכשיו לכתוב קוד מראש, הרבה 740 00:33:11,480 --> 00:33:13,770 כמו הסופרים של printf, ולאחר מכן באופן דינמי 741 00:33:13,770 --> 00:33:17,550 להתאים מבוסס על הקלט אנחנו נמסר, בין אם על ידי מתכנת, 742 00:33:17,550 --> 00:33:20,610 או על ידי האדם שבעצם אינטראקציה עם התכנית. 743 00:33:20,610 --> 00:33:22,990 אז בואו בעצם עכשיו לנסות לעשות כמה מבנים אחרים 744 00:33:22,990 --> 00:33:26,625 ולראות אם אנחנו לא יכולים לעשות תוכניות עצמם מתוחכמים יותר. 745 00:33:26,625 --> 00:33:29,250 אז בואו נלך קדימה ובמקום כותב את זה אחד מהתחלה, 746 00:33:29,250 --> 00:33:31,540 אני הולך להיכנס לשל היום קוד מקור, וכל זה 747 00:33:31,540 --> 00:33:34,290 נגיש בקורס של אתר, ואתה יכול לגרור ולשחרר אותו 748 00:33:34,290 --> 00:33:36,590 לסביבה שלך הגעתי ביום שישי ברגע שהבעיה 749 00:33:36,590 --> 00:33:38,506 1 סט נותן לך הוראות, או שאתה יכול 750 00:33:38,506 --> 00:33:41,200 לעשות את זה בשורת הפקודה כ גם, אבל יותר לבוא בעמ להגדיר 1. 751 00:33:41,200 --> 00:33:44,940 >> בואו לראות מה יש בתכנית זו כאן נקרא, נקודת האפעה ג. 752 00:33:44,940 --> 00:33:47,970 עכשיו אני כבר הגיב את זה, אבל מה חדש? 753 00:33:47,970 --> 00:33:51,230 במבט הראשון, מה קו קוד הוא חדש לחלוטין? 754 00:33:51,230 --> 00:33:53,930 755 00:33:53,930 --> 00:33:56,780 כנראה שלא ביסוד לא מוכר עכשיו. 756 00:33:56,780 --> 00:33:58,417 >> קהל: [לא ברור] 757 00:33:58,417 --> 00:34:00,250 דוד י מלאן: כן, כך int x שווה לקבל n. 758 00:34:00,250 --> 00:34:03,760 אנחנו אף פעם לא ראינו את כל זה לפני, אבל int הוא כנראה 759 00:34:03,760 --> 00:34:08,179 הסמל לאיזה סוג של משתנה, [? מ?] שלם. 760 00:34:08,179 --> 00:34:09,040 אז int למספר שלם. 761 00:34:09,040 --> 00:34:11,420 זה פשוט להיות יותר תמציתי. x הוא פשוט שרירותי. 762 00:34:11,420 --> 00:34:13,920 x ו- y ו- z הם עדיין די סביר למספרים, 763 00:34:13,920 --> 00:34:16,790 אבל בדרך כלל אנחנו משתמשים במילים פעם אחת התוכניות שלנו לקבל יותר מורכבות. 764 00:34:16,790 --> 00:34:18,940 קבל int, כמובן, כמו מחרוזת גט, 765 00:34:18,940 --> 00:34:21,629 הוא כנראה הולך לקבל int מהמשתמש, 766 00:34:21,629 --> 00:34:23,670 ואז אנחנו הולכים ל לעשות את אותו הדבר עם y. 767 00:34:23,670 --> 00:34:27,610 וככל הנראה, למרות שזה השורה האחרונה, 24, נראית מורכבת יותר, 768 00:34:27,610 --> 00:34:32,679 זה הולך לומר את הסכום הזה וזה דבר אחר זה. 769 00:34:32,679 --> 00:34:35,840 >> ואני אחוזים הודעה כנראה מציין מה? 770 00:34:35,840 --> 00:34:38,190 מה המקום של אחוזים כנראה אני משרת? 771 00:34:38,190 --> 00:34:40,739 772 00:34:40,739 --> 00:34:41,719 זה פשוט מצייני מיקום. 773 00:34:41,719 --> 00:34:42,219 נכון? 774 00:34:42,219 --> 00:34:45,149 אחוזים של היה למחרוזת, הוא אני אחוזים למספר שלם. 775 00:34:45,149 --> 00:34:47,690 יש הולך להיות F אחוזים לצפתי ערך נקודה, ש 776 00:34:47,690 --> 00:34:49,273 רק מספר עם נקודה עשרונית. 777 00:34:49,273 --> 00:34:50,590 במילים אחרות, מספר אמיתי. 778 00:34:50,590 --> 00:34:55,270 אז בואו למעשה לקמפל זה לתכנת ממש מהר ועושה האפעה. 779 00:34:55,270 --> 00:34:57,962 אופס. 780 00:34:57,962 --> 00:34:58,670 הזדמנות טובה. 781 00:34:58,670 --> 00:35:02,970 אז שם לב כאן, כל הזמן הזה המשתמש שלי שם עבור חשבון זה jharvard. 782 00:35:02,970 --> 00:35:06,620 אני בIDE CS50, aka IDE50. 783 00:35:06,620 --> 00:35:11,030 ועכשיו בכחול כאן, הוא אזכור, אבל מהסביבה, של איפה אני. 784 00:35:11,030 --> 00:35:16,050 ולמעשה, אם אני להגדיל עד לקצה כאן, שם לב שיש לי IDE50 785 00:35:16,050 --> 00:35:19,490 ואני רואה את המילה הזאת, אם אתה סוג של לסובב את הראש שלך בצד, סביבת עבודה. 786 00:35:19,490 --> 00:35:23,890 על קצה המזלג, את העובדה ש אני רואה סביבת עבודה נטוי טילדה 787 00:35:23,890 --> 00:35:26,910 משמעות הדבר היא כי בטקסט זה סביבת הפקודה מבוססת, 788 00:35:26,910 --> 00:35:32,300 אני בשווה ערך הטקסט של זה גרפי תיקייה עד כאן. 789 00:35:32,300 --> 00:35:35,730 לכן, כאשר אני עושה קו נטוי נקודה האפעה, זה אומר לא כלל 790 00:35:35,730 --> 00:35:37,372 כדי להפוך את תחנת האפעה יעד. 791 00:35:37,372 --> 00:35:39,830 אני לא יודע מה זה אומר, אבל זה רע מסיבה כלשהי. 792 00:35:39,830 --> 00:35:43,310 אין כזה קובץ או תקייה עוד יותר ברור. 793 00:35:43,310 --> 00:35:45,670 איפה זה אז? 794 00:35:45,670 --> 00:35:47,820 בהתבסס על בי לחצתי כדי לפתוח את הקובץ קודם. 795 00:35:47,820 --> 00:35:49,442 איפה הוא יכול להיות? 796 00:35:49,442 --> 00:35:52,050 >> זה כנראה במקור w אחד, ליום רביעי, 797 00:35:52,050 --> 00:35:53,960 ואני יכול לראות את זה, אכן, אם אני פותח כי עד. 798 00:35:53,960 --> 00:35:57,220 יש האפעה הנקודה ג, אבל ב סביבה זו מבוססת טקסט, 799 00:35:57,220 --> 00:35:59,380 שוב, אני צריך להיות סופר מפורש. 800 00:35:59,380 --> 00:36:03,950 אם אני רוצה לשנות את הספריות ל מקור יום רביעי אחד, אני צריך להקליד, 801 00:36:03,950 --> 00:36:07,210 מקור חלל תקליטור אחד יום רביעי להיכנס ועכשיו 802 00:36:07,210 --> 00:36:09,810 השינויים המהיר שלי ל תן לי רמז חזותי ש 803 00:36:09,810 --> 00:36:12,330 אני, אכן, במקום אחר בסביבה שלי, 804 00:36:12,330 --> 00:36:15,710 אבל עכשיו אני יכול לעשות לעשות האפעה, נראה שזה יעבוד, 805 00:36:15,710 --> 00:36:18,190 נקודה לקצץ האפעה, לתת לי מספר שלם. 806 00:36:18,190 --> 00:36:19,080 אחד. 807 00:36:19,080 --> 00:36:20,070 שני. 808 00:36:20,070 --> 00:36:21,630 הסכום של אחד ושני הוא שלוש. 809 00:36:21,630 --> 00:36:24,140 אבל אם אני לא אשתף פעולה, בואו לראות מה תקבל int עושה. 810 00:36:24,140 --> 00:36:25,200 תן לי מספר שלם. 811 00:36:25,200 --> 00:36:26,590 מס ' 812 00:36:26,590 --> 00:36:27,350 נסה שוב. 813 00:36:27,350 --> 00:36:29,060 אוקיי. 814 00:36:29,060 --> 00:36:30,520 בסדר. 815 00:36:30,520 --> 00:36:32,130 50. 816 00:36:32,130 --> 00:36:32,680 50. 817 00:36:32,680 --> 00:36:33,010 בסדר. 818 00:36:33,010 --> 00:36:34,055 אז זה סוף סוף משתף פעולה. 819 00:36:34,055 --> 00:36:36,430 וזה חלק מ פונקציונלי שפונקציות אלה 820 00:36:36,430 --> 00:36:37,760 יכול להיות שנבנה בבשבילך. 821 00:36:37,760 --> 00:36:43,330 >> אז בתוך היישום של מקבל int, מה תכנות 822 00:36:43,330 --> 00:36:47,990 לבנות משבוע שעבר הוא כנראה ב יש לחייב את התנהגות של ניסיון חוזר זה, 823 00:36:47,990 --> 00:36:49,962 נסה שוב, לנסות שוב? 824 00:36:49,962 --> 00:36:51,670 כן, יש כנראה איזה לולאה. 825 00:36:51,670 --> 00:36:54,160 זה הולך להיראות מבחינה תחבירית שונה מהלוקים של Scratch, 826 00:36:54,160 --> 00:36:55,880 אבל זה אכן מה יש בפנים הקובץ. 827 00:36:55,880 --> 00:36:58,505 ובזמן כמה שבועות שנציע ב למעשה מסתכל על ספריית CS50 828 00:36:58,505 --> 00:37:02,000 על מה יש בפנים, אבל יש לולאת הטלת בדיוק את זה. 829 00:37:02,000 --> 00:37:04,840 >> בואו לשחק קצת טיפשי משחק כאן עם קובץ זה. 830 00:37:04,840 --> 00:37:06,550 מצב אפס הנקודה ג. 831 00:37:06,550 --> 00:37:08,960 אנחנו רק הולכים בדרך כלל תתחיל לספור על אפס. 832 00:37:08,960 --> 00:37:11,220 ואני שומר את הגלילה האחרונה חלק מהדברים בראש. 833 00:37:11,220 --> 00:37:15,390 בכחול כאן, נתחם עם כל כוכבים אלה והחתכים, 834 00:37:15,390 --> 00:37:17,310 אלו מכם שלתכנת לפני, מה זה? 835 00:37:17,310 --> 00:37:18,690 למה אנחנו לשמור מדלגים על זה? 836 00:37:18,690 --> 00:37:19,110 מה? 837 00:37:19,110 --> 00:37:19,490 >> קהל: זה תגובה. 838 00:37:19,490 --> 00:37:19,800 >> דוד י מלאן: כן. 839 00:37:19,800 --> 00:37:20,633 זה פשוט תגובה. 840 00:37:20,633 --> 00:37:24,160 זו תגובה לבני אדם לקרוא, כי במקרה שלנו, 841 00:37:24,160 --> 00:37:27,120 אומר לנו מה השם של הקובץ הוא, שכתב אותו, ומה הוא עושה, 842 00:37:27,120 --> 00:37:28,610 כך שאין לך לקרוא את הקוד 843 00:37:28,610 --> 00:37:30,110 לדעת מה הוא קובץ זה כל עניין. 844 00:37:30,110 --> 00:37:33,110 זה רק תיאור, אבל פונקציונלי זה לא רלוונטי. 845 00:37:33,110 --> 00:37:35,930 ואני אפילו יכול למחוק אותו מ יש את התיק שלי ואין לה השפעה. 846 00:37:35,930 --> 00:37:38,740 הקווים העסיסיים הם אלה ראשון שני כאן, עכשיו. 847 00:37:38,740 --> 00:37:41,405 החלל המרכזי int הוא שווה הערך שלנו, כאשר הדגל ירוק לחץ, 848 00:37:41,405 --> 00:37:44,030 כך אנחנו הולכים לעזוב זה יהיה להיום, ואנחנו נחזור, 849 00:37:44,030 --> 00:37:46,940 סופו של דבר, על מה int ומבוטל הם, אבל עכשיו, 850 00:37:46,940 --> 00:37:49,500 שים לב למה שעשיתי גם כאן, אתה גם יכול, 851 00:37:49,500 --> 00:37:51,736 אם יש לך בשורה להגיב, אם יש לך 852 00:37:51,736 --> 00:37:54,670 חשבתי שאתה רוצה לחלוק על קו מסוים של קוד, 853 00:37:54,670 --> 00:37:58,910 כנס ב- C הוא לעשות נטוי לחתוך, ולאחר מכן כמה מילות תמציתיות, 854 00:37:58,910 --> 00:38:01,500 לא משפט מלא, בדרך כלל לא פסק, 855 00:38:01,500 --> 00:38:05,310 שרק מסביר לך, או שלך TF, או קוראים או עמיתים אחרים, 856 00:38:05,310 --> 00:38:06,990 מה הקוד שלך עושה. 857 00:38:06,990 --> 00:38:10,150 אז במקום צריך להסתכל בשלב זה ולהסיק מהקווים 858 00:38:10,150 --> 00:38:12,550 תשע ו -10, מה הוא זה עושה, בקו שמונה 859 00:38:12,550 --> 00:38:14,945 אני רק נותן תגובה ל לשאול את המשתמש למספר שלם, 860 00:38:14,945 --> 00:38:17,820 אז אני לא צריך לחשוב יותר מדי קשה על מה קווי תשע ו -10 הם. 861 00:38:17,820 --> 00:38:19,720 אני רק יודע שזה מה ש ביחד הם עושים. 862 00:38:19,720 --> 00:38:20,460 >> איך? 863 00:38:20,460 --> 00:38:22,060 ובכן, הנה הפקודה. 864 00:38:22,060 --> 00:38:23,610 הנה מקבל של int. 865 00:38:23,610 --> 00:38:25,984 ומבוסס על הקודם התנהגות, זה נראה כמו גט int 866 00:38:25,984 --> 00:38:29,080 הוא חכם מספיק כדי לוודא ש האדם משתף פעולה ונותן לה 867 00:38:29,080 --> 00:38:30,090 מספר שלם. 868 00:38:30,090 --> 00:38:32,270 אבל עכשיו אנחנו רואים את זה. 869 00:38:32,270 --> 00:38:33,740 וזה מזכיר Scratch. 870 00:38:33,740 --> 00:38:36,140 אני טוען שאני ניתוח הקלט של המשתמש, 871 00:38:36,140 --> 00:38:39,050 אבל לא מדויק במידה מה. 872 00:38:39,050 --> 00:38:43,200 וזה כנראה בC הוא איך אנו מביעים אם אחר, סניף, 873 00:38:43,200 --> 00:38:46,320 מזלג בכביש, אבל אני אומר לא מדויק במידה מה. 874 00:38:46,320 --> 00:38:50,470 מה באג בתכנית זו? 875 00:38:50,470 --> 00:38:51,610 אודות לגבות נוסף? 876 00:38:51,610 --> 00:38:52,223 כן. 877 00:38:52,223 --> 00:38:53,150 >> קהל: [לא ברור] אפס. 878 00:38:53,150 --> 00:38:54,025 >> דוד י מלאן: כן. 879 00:38:54,025 --> 00:38:57,630 אז אם אני מקליד באפס, הבה נבחן בדיוק שמקרה מקרה, או בפינה, 880 00:38:57,630 --> 00:38:58,450 אם אתה. 881 00:38:58,450 --> 00:39:02,790 אז אם אני מקליד באפס, מה ש בלוקים הולכים כנראה לתפוס אותו? 882 00:39:02,790 --> 00:39:04,660 או אחר אם? 883 00:39:04,660 --> 00:39:07,340 אחר, וזה הולך לומר, בחרת מספר שלילי. 884 00:39:07,340 --> 00:39:10,476 ואכן, אפס לא אמורה להיות חיובי או שלילי, 885 00:39:10,476 --> 00:39:11,850 וכדי שיהיה טעות. 886 00:39:11,850 --> 00:39:12,930 זה יהיה באג. 887 00:39:12,930 --> 00:39:14,580 אז איך אנחנו יכולים לתקן את זה? 888 00:39:14,580 --> 00:39:16,360 מישהו שמעולם לא תכנת לפני? 889 00:39:16,360 --> 00:39:16,570 האם אתה רוצה-- 890 00:39:16,570 --> 00:39:17,480 >> קהל: [לא ברור] 891 00:39:17,480 --> 00:39:17,990 >> דוד י מלאן: קירוב? 892 00:39:17,990 --> 00:39:18,570 >> קהל: [לא ברור] 893 00:39:18,570 --> 00:39:18,930 >> דוד י מלאן: אה, יש לך? 894 00:39:18,930 --> 00:39:20,350 מישהו שמעולם לא תכנת בעבר. 895 00:39:20,350 --> 00:39:21,750 רוצה לנסות את היד שלך ב זה, בחולצה האדומה? 896 00:39:21,750 --> 00:39:22,600 בואו למעלה. 897 00:39:22,600 --> 00:39:25,320 אה, כן, תבואו עליו, אם לא אכפת לך. 898 00:39:25,320 --> 00:39:27,586 אז מעולם לא מתוכנת לפני, מה שמך? 899 00:39:27,586 --> 00:39:28,210 לורן: לורן. 900 00:39:28,210 --> 00:39:29,626 דוד י מלאן: לורן, בסדר. 901 00:39:29,626 --> 00:39:31,150 אז לתקן את הבאג הזה עבורנו. 902 00:39:31,150 --> 00:39:35,070 אתה כבר לא ראית את C, ככל הנראה, וכנראה אין שפה אחרת. 903 00:39:35,070 --> 00:39:38,380 אז לתקן תכנית זו עבורנו. 904 00:39:38,380 --> 00:39:39,100 נחמד לפגוש אותך. 905 00:39:39,100 --> 00:39:39,615 בלי לחץ. 906 00:39:39,615 --> 00:39:40,156 לורן: כן. 907 00:39:40,156 --> 00:39:43,350 908 00:39:43,350 --> 00:39:46,270 >> דוד י מלאן: אבל שוב, אם זה הימור הולך לפי תכנית, 909 00:39:46,270 --> 00:39:48,350 ממסעדה כאן להיות, רק שוב, להתחיל 910 00:39:48,350 --> 00:39:51,080 לשים לב דפוסים ו להסיק מתחביר קיים 911 00:39:51,080 --> 00:39:55,420 איך עוד אתה יכול להביע את עצמך, לא משחק מלים מיועדים, על מנת 912 00:39:55,420 --> 00:39:58,410 כדי ללכוד כמה תרחיש נוסף. 913 00:39:58,410 --> 00:39:59,603 אז אנחנו אומרים אם אחר. 914 00:39:59,603 --> 00:40:04,040 915 00:40:04,040 --> 00:40:05,230 printf, טוב. 916 00:40:05,230 --> 00:40:09,120 ושים לב עם CS50 IDE, וIDE frankly-- 917 00:40:09,120 --> 00:40:11,110 עומד משולב סביבת פיתוח. 918 00:40:11,110 --> 00:40:14,110 זה רק דרך מפוארת של אומר תכנית שמסייעת לך תכנית. 919 00:40:14,110 --> 00:40:16,779 הוא עושה דברים ידידותיים למשתמש כמו בעת הקלדת סוגריים אחד, 920 00:40:16,779 --> 00:40:18,320 זה באופן אוטומטי נותן לך את זה. 921 00:40:18,320 --> 00:40:20,760 ההנחה היא שאתה סופו של דבר הולך רוצה להקליד ש, 922 00:40:20,760 --> 00:40:22,400 וזה גם עושה את זה עם ציטוטים. 923 00:40:22,400 --> 00:40:24,190 >> אז אני רוצה קו 23. 924 00:40:24,190 --> 00:40:26,400 99% בדרך לשם. 925 00:40:26,400 --> 00:40:29,920 מישהו רוצה צלצול עם טיפ? 926 00:40:29,920 --> 00:40:31,420 שמעתי פסיק מהקהל. 927 00:40:31,420 --> 00:40:32,080 טוב. 928 00:40:32,080 --> 00:40:33,260 כדי שישלים את זה. 929 00:40:33,260 --> 00:40:37,930 ועכשיו, יש לי רק קצת תדהמה בקו 21. 930 00:40:37,930 --> 00:40:41,370 כיצד אנו רוצים להביע את זה? 931 00:40:41,370 --> 00:40:43,370 מה שאלה שאנחנו רוצים לעשות לשאול, מה אתה חושב? 932 00:40:43,370 --> 00:40:46,870 933 00:40:46,870 --> 00:40:50,330 אז בעבר שאלנו את השאלה, אם n הוא גדול מאפס, לעשות את זה. 934 00:40:50,330 --> 00:40:51,870 אחר, לעשות את זה. 935 00:40:51,870 --> 00:40:54,317 אז אנחנו צריכים לבחור שאלה לשאול כאן. 936 00:40:54,317 --> 00:40:55,192 קהל: [לא ברור] 937 00:40:55,192 --> 00:40:56,530 דוד י מלאן: טוב. 938 00:40:56,530 --> 00:40:58,290 אז אם n שווה אפס. 939 00:40:58,290 --> 00:41:01,140 940 00:41:01,140 --> 00:41:02,100 מצוין. 941 00:41:02,100 --> 00:41:03,080 אז בואו נעצור כאן. 942 00:41:03,080 --> 00:41:04,850 תודה רבה לך על אפן זה. 943 00:41:04,850 --> 00:41:10,890 תן לי לתת לך קצת גם ראוי לחץ כדור, אולי שם. 944 00:41:10,890 --> 00:41:11,900 אז אנחנו כמעט שם. 945 00:41:11,900 --> 00:41:14,790 למעשה, לורן, אם לא מוח, תן לי לעשות אחד לצבוט כאן, 946 00:41:14,790 --> 00:41:17,850 רק כדי להיות עקבי גם עם מה שראינו בסריטות, מה 947 00:41:17,850 --> 00:41:21,080 אני רוצה לעשות עם קווים 21 ו -24, המבוסס רק שוב 948 00:41:21,080 --> 00:41:23,290 על איך אנחנו עושים את זה בגרד, אולי? 949 00:41:23,290 --> 00:41:24,230 >> קהל: הזז אותו. 950 00:41:24,230 --> 00:41:25,605 >> דוד י מלאן: כן, להעביר אותו. 951 00:41:25,605 --> 00:41:30,260 אז המצב אחר, השלישי, או רביעי, או חמישי, או סניף סופי, 952 00:41:30,260 --> 00:41:34,100 אכן צריך לבוא אחר כך, וזה רק על ידי אמנה, 953 00:41:34,100 --> 00:41:36,047 רק בגלל שאם תרצה. 954 00:41:36,047 --> 00:41:37,380 אז אני צריך לעשות זה לצבוט. 955 00:41:37,380 --> 00:41:39,660 ואני צריך לשים את שלי סד מתולתל יחזרו לכאן. 956 00:41:39,660 --> 00:41:42,700 ועכשיו, תכנית זו לקמפל. 957 00:41:42,700 --> 00:41:46,140 אנחנו כל כך קרובים, אבל יש באג מאוד, מאוד עדין. 958 00:41:46,140 --> 00:41:47,200 בואו לראות מה קורה. 959 00:41:47,200 --> 00:41:49,660 >> ראשית, תנו לי ללכת קדימה ולהקטין את התצוגה. 960 00:41:49,660 --> 00:41:53,405 אני הולך קדימה ו הקלד להפוך מצב אפס. 961 00:41:53,405 --> 00:41:55,070 אה, שיקרתי. 962 00:41:55,070 --> 00:41:58,760 עכשיו הוא מהדר למעשה די חכם. 963 00:41:58,760 --> 00:42:00,950 ואני לא ממש מבין זה הודעת שגיאה. 964 00:42:00,950 --> 00:42:04,310 שימוש בתוצאה של משימה כתנאי ללא סוגריים, 965 00:42:04,310 --> 00:42:05,740 הוא רע כנראה. 966 00:42:05,740 --> 00:42:07,100 אבל מה זה אומר? 967 00:42:07,100 --> 00:42:10,860 >> ובכן שוב, מחפש דפוסים בקוד שראינו בעבר, 968 00:42:10,860 --> 00:42:16,640 מה הוא בעצם עושה קו 17, למרות שלורן נועדה מעט 969 00:42:16,640 --> 00:42:18,790 אחרת? 970 00:42:18,790 --> 00:42:19,290 כן. 971 00:42:19,290 --> 00:42:21,565 >> קהל: [לא ברור] 972 00:42:21,565 --> 00:42:22,440 דוד י מלאן: כן. 973 00:42:22,440 --> 00:42:26,610 אז לזכור סימן השוויון, כנראה כפי שאנו כבר השתמשנו בו בעבר, הוא לא שווה. 974 00:42:26,610 --> 00:42:29,240 המשימה שלה, מימין לשמאל. 975 00:42:29,240 --> 00:42:33,810 אז בשורה 17 באותו הרגע הוא מצב, וזה 976 00:42:33,810 --> 00:42:37,890 ביצוע קוד בתוך הסוגריים, אבל כאשר הקוד שמבצע, 977 00:42:37,890 --> 00:42:42,140 מה קורה לשווי אפס? 978 00:42:42,140 --> 00:42:45,250 מה קורה לערך של n? 979 00:42:45,250 --> 00:42:46,810 איך להיות אפס. 980 00:42:46,810 --> 00:42:50,520 אז אם n הופך אפס, ושוב, כמו בשבוע שעבר, 981 00:42:50,520 --> 00:42:54,690 אנחנו בדרך כלל אומרים שאפס הוא שקר ואחד הוא נכון, 982 00:42:54,690 --> 00:42:57,410 או כן הוא אחד ואין הוא אפס. 983 00:42:57,410 --> 00:42:59,590 כל כך נכון וכוזב, ואחד 0. 984 00:42:59,590 --> 00:43:06,090 אם n לקו 17 כבר נתן את הערך 0, הוא אפס אמיתי? 985 00:43:06,090 --> 00:43:06,590 מס ' 986 00:43:06,590 --> 00:43:08,280 על פי הגדרה, אפס הוא שקר. 987 00:43:08,280 --> 00:43:10,860 זה הכנס שאנחנו הולך לדבוק בלנוע קדימה. 988 00:43:10,860 --> 00:43:17,320 כך יהיה קווים 18, 19, ו -20 אי להחיל עכשיו, באופן הגיוני? 989 00:43:17,320 --> 00:43:18,320 הם לא יכולים. 990 00:43:18,320 --> 00:43:21,640 אז שאלנו את השאלה אבל לא ממש בדיוק, 991 00:43:21,640 --> 00:43:25,620 ולא היית יודע את זה, אלא אם כן אתה ראית את זה, הפתרון בC 992 00:43:25,620 --> 00:43:29,610 כאשר אתה רוצה להביע שוויון, אתה אומר שווה שווה. 993 00:43:29,610 --> 00:43:33,140 אז סימן שוויון היה כבר בשימוש עד על ידי הקצאה, מימין לשמאל. 994 00:43:33,140 --> 00:43:35,110 שווה שווה שווים אמצעים. 995 00:43:35,110 --> 00:43:37,950 ואם אתה באמת רוצה את דעתך להיות כפוף, בJavaScript ו- PHP, 996 00:43:37,950 --> 00:43:40,490 יש שווה שווה שווה, ש מתכוון למשהו אחר לגמרי, 997 00:43:40,490 --> 00:43:41,990 אבל אנחנו נגיע לזה לפני זמן רב. 998 00:43:41,990 --> 00:43:45,760 >> אז זה תיקון פשוט, אבל מבין סופר קל לעשות את הטעות הזאת, 999 00:43:45,760 --> 00:43:48,700 ולאחר מכן תוהה ומאבק במשך דקות, אם לא שעות, 1000 00:43:48,700 --> 00:43:51,490 למה הוא הקוד שלי לא ביצוע שאני מתכוון? 1001 00:43:51,490 --> 00:43:54,140 זה בגלל שלא אמרת לי זה בדיוק מה שהתכוון. 1002 00:43:54,140 --> 00:43:56,450 אז זה היה כמעט מושלם, וזה היה נהדר 1003 00:43:56,450 --> 00:44:00,760 שנתקלנו בשני קטן האלה דברים כי עכשיו אם לתקן אותם, 1004 00:44:00,760 --> 00:44:06,240 ואני עושה לעשות אפס מצב נקודה לקצץ מצב אפס, 1005 00:44:06,240 --> 00:44:07,490 אני רוצה בבקשה שלם. 1006 00:44:07,490 --> 00:44:08,090 בוא נראה. 1007 00:44:08,090 --> 00:44:09,160 מס ' 1008 00:44:09,160 --> 00:44:10,740 זה הולך להכריח אותי לעשות את זה. 1009 00:44:10,740 --> 00:44:11,990 אז 42. 1010 00:44:11,990 --> 00:44:13,590 הרמתי מספר חיובי. 1011 00:44:13,590 --> 00:44:16,470 אז עכשיו איך אני להוכיח תכנית זו נכונה? 1012 00:44:16,470 --> 00:44:19,990 אם אתה מתמטיקאי, אתה לא יכול באמת להוכיח זאת על ידי ניסוי וטעייה, 1013 00:44:19,990 --> 00:44:20,490 נכון? 1014 00:44:20,490 --> 00:44:23,180 אתה לא יכול פשוט הוכחה על ידי דוגמא, אבל לפחות 1015 00:44:23,180 --> 00:44:25,494 כמתכנת אנחנו לא הולך לנסות להוכיח לחברה 1016 00:44:25,494 --> 00:44:27,660 שזה בעצם נכון, אבל אני כנראה צריך 1017 00:44:27,660 --> 00:44:29,470 לבדוק כמה מקרים מייצגים. 1018 00:44:29,470 --> 00:44:31,070 >> בדקתי 42. 1019 00:44:31,070 --> 00:44:33,030 אני יכול לבדוק 43. 1020 00:44:33,030 --> 00:44:34,910 אני יכול לבדוק 44. 1021 00:44:34,910 --> 00:44:35,640 בדיקה 45. 1022 00:44:35,640 --> 00:44:36,140 נכון? 1023 00:44:36,140 --> 00:44:37,860 אבל אני יכול לעשות את זה ממש הרבה זמן. 1024 00:44:37,860 --> 00:44:39,925 מה יהיה עוד קצת מקרים מעניינים לנסות? 1025 00:44:39,925 --> 00:44:41,050 קהל: [לא ברור] אפס. 1026 00:44:41,050 --> 00:44:41,740 דוד י מלאן: אז אפס. 1027 00:44:41,740 --> 00:44:42,297 אין ספק. 1028 00:44:42,297 --> 00:44:44,880 וטוב, יש לנו את זה הפעם, הודות לקוד החדש של לורן. 1029 00:44:44,880 --> 00:44:46,213 מה מקרה טוב אחר לנסות? 1030 00:44:46,213 --> 00:44:47,320 קהל: שלילי אחד. 1031 00:44:47,320 --> 00:44:50,070 >> דוד י מלאן: שלילי אחת, ו אולי משהו קצת יותר גדול, 1032 00:44:50,070 --> 00:44:52,617 אז אולי שלילי 42, אבל באופן כללי, כאשר 1033 00:44:52,617 --> 00:44:54,450 בדיקת התוכניות שלך לנוע קדימה, אתה 1034 00:44:54,450 --> 00:44:56,325 הולך רוצה לחשוב לעצמך, כמו מה ש 1035 00:44:56,325 --> 00:44:58,050 הם המקרים השונים המהותיים. 1036 00:44:58,050 --> 00:45:01,720 ואני מעז לומר מקרה שלילי, מקרה חיובי, ומקרה אפס 1037 00:45:01,720 --> 00:45:03,365 די הרבה הסיבובים האלה. 1038 00:45:03,365 --> 00:45:04,990 בואו נסתכל על גרסה של אף זו. 1039 00:45:04,990 --> 00:45:06,930 תנאים אחד. 1040 00:45:06,930 --> 00:45:11,224 זהו פתרון נכון כאן, כדי שתראו שני ומקוונים, 1041 00:45:11,224 --> 00:45:13,390 אם אתה הולך ב ערוצים, בדרך כלל 1042 00:45:13,390 --> 00:45:18,090 להגדיל בשלבים אלה עד ש מקבל בדיוק את הגישה הנכונה. 1043 00:45:18,090 --> 00:45:20,070 מה אם אנחנו רוצים לשאול שתי שאלות בפעם אחת? 1044 00:45:20,070 --> 00:45:22,200 >> תן לי לפתוח את זה במקום. 1045 00:45:22,200 --> 00:45:26,740 ללא מתג, מסיבות אנו רואים בפעם אחרת. 1046 00:45:26,740 --> 00:45:29,610 מה חדש מבחינה תחבירית כאן? 1047 00:45:29,610 --> 00:45:32,760 אני כרגע משחק שבו המחשב אומר לי 1048 00:45:32,760 --> 00:45:35,550 שלי, לתת לי מספר שלם בין אחד ו -10, 1049 00:45:35,550 --> 00:45:37,180 ואז אני שופט את הקלט של המשתמש. 1050 00:45:37,180 --> 00:45:39,180 באנגלית, המבוסס על הקוד שאתה רואה כאן 1051 00:45:39,180 --> 00:45:41,530 בכחול, מה שעושה את התכנית? 1052 00:45:41,530 --> 00:45:44,256 1053 00:45:44,256 --> 00:45:46,380 קהל: [לא ברור] הרים מספר גדול או קטן. 1054 00:45:46,380 --> 00:45:46,484 דוד י מלאן: כן. 1055 00:45:46,484 --> 00:45:49,450 זה פשוט דן אם הרמתי או בינוני גדולים,, 1056 00:45:49,450 --> 00:45:53,900 או מספר קטן מבוסס על מאוד הגדרה שרירותית של קטן, בינוני, 1057 00:45:53,900 --> 00:45:58,510 ו, אבל הודעה גדולה כאן התחביר זה חדש הוא זו. 1058 00:45:58,510 --> 00:46:02,340 יש לא פחות מ int או שווה ל לחתום, או גדול או שווה לחתום, 1059 00:46:02,340 --> 00:46:05,430 שבו אחד הוא מעל אחרים, ש יכול לבטא בכגון Microsoft Word. 1060 00:46:05,430 --> 00:46:08,180 אז בשפת תכנות בדרך כלל רק לעשות שתי דמויות, 1061 00:46:08,180 --> 00:46:09,450 אחד אחרי השני. 1062 00:46:09,450 --> 00:46:12,695 ומה עושה את זה כנראה מייצג, אמפרסנד אמפרסנד. 1063 00:46:12,695 --> 00:46:13,570 קהל: [לא ברור] 1064 00:46:13,570 --> 00:46:13,680 דוד י מלאן: כן. 1065 00:46:13,680 --> 00:46:16,910 זה רק אומר ובגלל זה מתברר כי מחברי C 1066 00:46:16,910 --> 00:46:19,120 משמש אמפרסנד יחיד, שנדמה לך 1067 00:46:19,120 --> 00:46:22,430 יהיה מושלם לרעיון של ו, כבר נמצא בשימוש עד, 1068 00:46:22,430 --> 00:46:27,300 אמפרסנד אמפרסנד כך למעשה לוכד את המקרה שאנחנו באמת רוצים. 1069 00:46:27,300 --> 00:46:30,610 >> אז בואו עכשיו להיתקל שני דברים. 1070 00:46:30,610 --> 00:46:32,640 תן לי ללכת קדימה ולפתוח אחד. 1071 00:46:32,640 --> 00:46:36,590 משהו שקצת מדאיג. 1072 00:46:36,590 --> 00:46:37,970 נקודת ג חוסר הדיוק. 1073 00:46:37,970 --> 00:46:40,260 הרשה לי להציג כאן שני דברים. 1074 00:46:40,260 --> 00:46:44,720 אחד, הודעה שאנחנו יכולים לעשות מתמטיקה, כמו בדיוק כמו קודם, כאשר 1075 00:46:44,720 --> 00:46:47,797 שעשינו בתוספת של שני מספרים, x ו- y. 1076 00:46:47,797 --> 00:46:49,380 מה התכנית הזו עושה כנראה? 1077 00:46:49,380 --> 00:46:52,140 אני כבר לא הגיב את זה עדיין, ואני כבר הצגתי F אחוזים, 1078 00:46:52,140 --> 00:46:55,720 אבל אמרתי במהירות קודמת F אחוזים פירוש נקודה צפו 1079 00:46:55,720 --> 00:46:56,970 ערך, שהוא מספר אמיתי. 1080 00:46:56,970 --> 00:46:59,520 משהו עם עשרוני נקודה, שאינה שלם. 1081 00:46:59,520 --> 00:47:02,270 מה אתה חושב תכנית זו היא מנסה להראות לי על המסך? 1082 00:47:02,270 --> 00:47:05,060 1083 00:47:05,060 --> 00:47:06,050 כן? 1084 00:47:06,050 --> 00:47:07,550 קהל: התוצאה של אחד מעל 10. 1085 00:47:07,550 --> 00:47:07,780 דוד י מלאן: כן. 1086 00:47:07,780 --> 00:47:09,680 מה התוצאה של אחד מחולקת ב -10. 1087 00:47:09,680 --> 00:47:12,721 נכון, משום שכל מה שאתה צריך כנראה גדל בידיעה שאחד מעל 10 1088 00:47:12,721 --> 00:47:14,502 זה מה ש? 1089 00:47:14,502 --> 00:47:16,220 כן, זה רק 1/10 או 0.1. 1090 00:47:16,220 --> 00:47:16,720 נכון? 1091 00:47:16,720 --> 00:47:19,010 אז בואו לראות מה זה בעצם. 1092 00:47:19,010 --> 00:47:21,010 אז תן לי ללכת קדימה ולשמור את זה. 1093 00:47:21,010 --> 00:47:21,970 תן לי לרדת כאן. 1094 00:47:21,970 --> 00:47:26,360 הפוך לוכסן נקודת חוסר דיוק חוסר דיוק, והודעה, גם, 1095 00:47:26,360 --> 00:47:29,380 בסביבת לינוקס, אתה לא יש להקליד את חוסר הדיוק ולקחת 1096 00:47:29,380 --> 00:47:30,010 כל היום. 1097 00:47:30,010 --> 00:47:32,910 זה בדרך כלל, אם אתה מכה Tab, זה אסיים המחשבה שלך בשבילך, 1098 00:47:32,910 --> 00:47:36,660 המבוסס על המילים ש זמין בספרייה הנוכחית. 1099 00:47:36,660 --> 00:47:37,160 אוקיי. 1100 00:47:37,160 --> 00:47:37,970 אז אתה צודק. 1101 00:47:37,970 --> 00:47:41,239 אחד מחולק 10 הוא, למעשה, 0.1. 1102 00:47:41,239 --> 00:47:42,280 אבל אני קצת סקרן. 1103 00:47:42,280 --> 00:47:44,196 ומתברר printf תומך כמה תכונות 1104 00:47:44,196 --> 00:47:48,700 לפיה ניתן לציין יותר מ מספר ברירת המחדל של נקודות עשרוניות. 1105 00:47:48,700 --> 00:47:52,140 אז אם אני רוצה לראות את 10 עשרוני נקודות שאני יכול לעשות אחוזים, 1106 00:47:52,140 --> 00:47:55,510 לסמל מציין מיקום, נקודה 10 ל, תן לי 10 נקודות עשרוניות, 1107 00:47:55,510 --> 00:47:58,140 ולאחר מכן עדיין נקודה צפה ערך, ו, במאמר מוסגר, 1108 00:47:58,140 --> 00:48:01,550 מה הוא n לוכסן זה כנראה אנחנו ממשיכים להשתמש? 1109 00:48:01,550 --> 00:48:03,450 מתברר שזה סמל לשורה חדשה. 1110 00:48:03,450 --> 00:48:05,970 זו הדרך מאוד מפורשת לומר למחשב, 1111 00:48:05,970 --> 00:48:08,759 להזיז את הסמן למקום הבא קו לאחר שתסיים. 1112 00:48:08,759 --> 00:48:10,800 ונראה מה קורה כאשר אנחנו לא עושים את זה. 1113 00:48:10,800 --> 00:48:12,430 >> תן לי לעשות הידור מחדש חוסר דיוק. 1114 00:48:12,430 --> 00:48:15,320 1115 00:48:15,320 --> 00:48:18,356 עכשיו נקודה לקצץ חוסר דיוק. 1116 00:48:18,356 --> 00:48:18,930 אוקיי. 1117 00:48:18,930 --> 00:48:19,780 עדיין תקין. 1118 00:48:19,780 --> 00:48:21,512 אחד מחולק ב -10. 1119 00:48:21,512 --> 00:48:23,220 עכשיו אני מקבל קצת מוזר, אם כי. 1120 00:48:23,220 --> 00:48:27,599 מה אם אני מסתכל 20 עשרוני מציין, הידור מחדש, שידור חוזר, 1121 00:48:27,599 --> 00:48:29,390 וכמו בצד ל מהירות, אתה יכול גם להשתמש ב 1122 00:48:29,390 --> 00:48:31,800 חצים מעלה ומטה כדי לגלול את ההיסטוריה שלך, 1123 00:48:31,800 --> 00:48:35,476 אז אתה לא צריך לשמור להקליד מחדש בפקודות אלה, להיכנס. 1124 00:48:35,476 --> 00:48:36,910 הא. 1125 00:48:36,910 --> 00:48:39,220 אני לא למדתי, כי בבית הספר יסודי. 1126 00:48:39,220 --> 00:48:43,260 בסדר, אז תנו לי לראות כמו 29 מקומות החוצה. 1127 00:48:43,260 --> 00:48:44,300 אולי זה רק מזל. 1128 00:48:44,300 --> 00:48:46,907 אולי המחשב שלי מתנהג מוזר. 1129 00:48:46,907 --> 00:48:47,990 זה לא דבר, נכון? 1130 00:48:47,990 --> 00:48:50,300 זה עושה משהו deterministically. 1131 00:48:50,300 --> 00:48:53,410 אז להפוך את חוסר דיוק. 1132 00:48:53,410 --> 00:48:54,890 אוקי, זה פישל. 1133 00:48:54,890 --> 00:48:57,620 אז מה קורה פה? 1134 00:48:57,620 --> 00:49:00,160 >> אז כנראה שלך מורה כבר שוכב 1135 00:49:00,160 --> 00:49:03,900 לך כל הזמן הזה ל סיבות לכך שאנו רואים לפני זמן רב. 1136 00:49:03,900 --> 00:49:05,569 אבל בואו לסיים עם תכנית אחת אחרת. 1137 00:49:05,569 --> 00:49:07,860 זה קצת תוכניות מישהו כתב לפני כמה שנים, 1138 00:49:07,860 --> 00:49:08,990 וזה בעצם חלק מתחרות. 1139 00:49:08,990 --> 00:49:11,198 אף אחד לא באמת כותב קוד כמו זה, ואם אתה עושה, 1140 00:49:11,198 --> 00:49:12,880 זה סגנונית בעיה. 1141 00:49:12,880 --> 00:49:14,660 אבל אנשים עושים את זה לזכויות התרברבות. 1142 00:49:14,660 --> 00:49:17,260 כדי לכתוב המבלבל ביותר תכנית מחפשת ש 1143 00:49:17,260 --> 00:49:19,110 בכל זאת עושה משהו מעניין. 1144 00:49:19,110 --> 00:49:23,930 וההערה חשבתי שכדאי להשאיר ב היום, לפני קולטון משחק אותנו כאן, 1145 00:49:23,930 --> 00:49:27,840 הוא להפעיל תכנית זו, אשר, אפילו רק באמצעות 1146 00:49:27,840 --> 00:49:31,450 C בבסיס טקסט זה הסביבה, נותנת לנו את זה. 1147 00:49:31,450 --> 00:49:32,264 לכל הרוחות. 1148 00:49:32,264 --> 00:49:34,930 >> [שחוק] 1149 00:49:34,930 --> 00:49:36,800 >> המתנה. 1150 00:49:36,800 --> 00:49:39,340 מ 'l מקף ג [לא ברור]. 1151 00:49:39,340 --> 00:49:42,885 אתה הולך לראות קסום לחש שנראה לפני זמן רב. 1152 00:49:42,885 --> 00:49:45,780 [לא ברור] בסדר. 1153 00:49:45,780 --> 00:49:51,592 ועכשיו אתה יכול אפילו לעשות דברים כאלה. 1154 00:49:51,592 --> 00:49:52,340 זה הכל. 1155 00:49:52,340 --> 00:49:56,410 לנו CS50, יראה אותך ביום שישי. 1156 00:49:56,410 --> 00:49:58,910 >> [השמעת מוסיקה] 1157 00:49:58,910 --> 00:52:38,390 1158 00:52:38,390 --> 00:52:41,440 >> [מחיאות כפות] 1159 00:52:41,440 --> 00:52:42,812