1 00:00:00,000 --> 00:00:03,290 >> [השמעת מוסיקה] 2 00:00:03,290 --> 00:00:04,989 3 00:00:04,989 --> 00:00:06,280 ג'ייסון הירשהורן: בסדר, כולם. 4 00:00:06,280 --> 00:00:07,460 ברוכים הבאים למדור. 5 00:00:07,460 --> 00:00:10,840 זה CS50, מאוד שלנו סעיף העל ראשון. 6 00:00:10,840 --> 00:00:13,700 כפי שכולכם יודעים, בשבוע הבא סעיפים קבועים יתחילו, 7 00:00:13,700 --> 00:00:15,580 אבל השבוע כולנו יחד. 8 00:00:15,580 --> 00:00:17,730 >> יש את עצמי. 9 00:00:17,730 --> 00:00:18,840 השם שלי הוא ג'ייסון. 10 00:00:18,840 --> 00:00:20,630 אני מרצה במדעי מחשב. 11 00:00:20,630 --> 00:00:23,910 יש לנו אנדי, מי הראש של ת"א CS50. 12 00:00:23,910 --> 00:00:27,630 וScaz, פרופ 'בריאן Scassellati, הוא פרופסור במדעי מחשב. 13 00:00:27,630 --> 00:00:30,970 >> אנחנו ראשי CS50 באוניברסיטת ייל. 14 00:00:30,970 --> 00:00:34,992 אתה תמיד יכול לשלוח שלנו heads@cs50.yale.edu. 15 00:00:34,992 --> 00:00:35,950 אנחנו נהיה בהרצאות. 16 00:00:35,950 --> 00:00:37,547 אנחנו נהיה בשעתי עבודה. 17 00:00:37,547 --> 00:00:40,130 אם יש משהו שאנחנו יכולים אי פעם לעשות בשבילך, כל דבר שאתה צריך, 18 00:00:40,130 --> 00:00:42,610 אל תהסס להגיע אלינו. 19 00:00:42,610 --> 00:00:44,140 >> אז מה אנחנו הולכים לעשות היום? 20 00:00:44,140 --> 00:00:47,790 או לפני כן, מה מגיע השבוע? 21 00:00:47,790 --> 00:00:52,620 אז שעות עבודה הן בימים שני, שלישי, יום רביעי, וביום חמישי, 8:00 עד 11:00. 22 00:00:52,620 --> 00:00:54,770 יש לוח זמנים באתר. 23 00:00:54,770 --> 00:00:57,830 >> סעיפים, כמו שציינתי, מתחילים בשבוע הבא. 24 00:00:57,830 --> 00:01:01,390 ואתה תמצא את זה בשבוע שמה לתזמן את הסעיף שלך הוא, איזה יום היום, 25 00:01:01,390 --> 00:01:03,350 ומי ת"א. 26 00:01:03,350 --> 00:01:08,610 >> הבעיה סט 1 נובע ביום חמישי ב צהריים, יום שישי בצהריים עם איחור של יום. 27 00:01:08,610 --> 00:01:10,817 כן, יש לך תשעה ימים מאוחר. 28 00:01:10,817 --> 00:01:12,150 ויש תשעה סטי בעיה. 29 00:01:12,150 --> 00:01:14,320 ויכול להשתמש רק באחד מאוחר יום לכל סט בעיה. 30 00:01:14,320 --> 00:01:17,930 כן, בתוקף, כל הבעיה ערכות הן בשל יום שישי בצהריים. 31 00:01:17,930 --> 00:01:18,550 זה הכל. 32 00:01:18,550 --> 00:01:20,400 כל מה שפרטים הם על תכנית הלימודים. 33 00:01:20,400 --> 00:01:22,360 >> בכל יום שישי, יש לנו ארוחות צהריים. 34 00:01:22,360 --> 00:01:25,230 אנחנו אוהבים לעשות את זה גדול כמובן מרגישים קצת קטן יותר. 35 00:01:25,230 --> 00:01:26,580 אז אתה מוזמן לאשר השתתפות. 36 00:01:26,580 --> 00:01:30,050 ארוחת צהריים חינם עם בחור חבריו לכיתה וצוות. 37 00:01:30,050 --> 00:01:34,120 cs50.yale.edu/rsvp. 38 00:01:34,120 --> 00:01:36,940 >> כל הדברים האלה ש יש לי על המסך, 39 00:01:36,940 --> 00:01:43,330 ו, אתה יכול למצוא יותר cs50.yale.edu או cs50.harvard.edu, אם אתה רוצה ללכת להרווארד 40 00:01:43,330 --> 00:01:46,800 וצופים באינטרנט זה. 41 00:01:46,800 --> 00:01:50,240 >> גם באתרי האינטרנט אלה, יש טון של משאבים בשבילך. 42 00:01:50,240 --> 00:01:54,610 לכל הרצאה לא רק וידאו ההרצאה, אלא גם מציין. 43 00:01:54,610 --> 00:01:58,184 מישהו יצפה להרצות ולרשום הערות בשבילך. 44 00:01:58,184 --> 00:02:00,100 אז אתה יכול פשוט לשלם תשומת לב במהלך הרצאות, 45 00:02:00,100 --> 00:02:03,970 או שאתה יכול להשתמש ברשימות שלהם / שלנו מציין להשלים הערות משלך. 46 00:02:03,970 --> 00:02:04,987 >> יש מגלשות מקוונות. 47 00:02:04,987 --> 00:02:07,320 המקור code-- הכל דוד ניגש בהרצאה, 48 00:02:07,320 --> 00:02:09,979 או Scaz עובר על הרצאה, ש קוד המקור זמין באופן מקוון 49 00:02:09,979 --> 00:02:11,750 כמו גם, כמו שאני כ, ציינו קטעי וידאו. 50 00:02:11,750 --> 00:02:14,257 >> סעיפים, כמו כן, יהיו כולם צולמו. 51 00:02:14,257 --> 00:02:15,840 כל שקופיות אלה יהיו זמינים. 52 00:02:15,840 --> 00:02:18,190 כל קוד ש יהיה זמין עבורך. 53 00:02:18,190 --> 00:02:22,440 יש מכנסיים קצרים באתר האינטרנט שבו חברי צוות CS50 לבלות חמש עד 10 54 00:02:22,440 --> 00:02:24,130 דקות עוברות נושאים בשבילך. 55 00:02:24,130 --> 00:02:26,750 חלק מאלה שיש לך כבר נתקל בבעית סטים. 56 00:02:26,750 --> 00:02:30,430 >> שעתי עבודה, כפי שציינתי, בימים שני עד חמישי, 8:00 עד 11:00. 57 00:02:30,430 --> 00:02:32,600 CS50 הלימוד הוא משאב נפלא. 58 00:02:32,600 --> 00:02:37,100 יש בעיות בפועל, שקופיות מדגם, באגים ידועים 59 00:02:37,100 --> 00:02:40,920 שתלמידים אוהבים לרוץ ל, למהות כולנו נושא 60 00:02:40,920 --> 00:02:42,650 יכסה בקורס זה. 61 00:02:42,650 --> 00:02:46,350 >> ולבסוף, בשקופית זו לפחות, Reference50 62 00:02:46,350 --> 00:02:49,690 אשר נותן לך מידע על כל פונקציות C 63 00:02:49,690 --> 00:02:53,160 האם אי פעם יכול אולי לקוות לשימוש והרבה, הרבה יותר. 64 00:02:53,160 --> 00:02:55,690 >> שוב, כי נקודה נקודת נקודה ב החלק התחתון של המסך 65 00:02:55,690 --> 00:02:59,990 הוא מצביע על כך שיש אפילו יותר משאבים בשני אתרים אלה: 66 00:02:59,990 --> 00:03:04,270 cs50.yale.edu, cs50.harvard.edu. 67 00:03:04,270 --> 00:03:05,840 >> אז, מה אנחנו עושים היום? 68 00:03:05,840 --> 00:03:08,970 ובכן, קודם אני הולך לתת לי אתה מסתכל על המשאבים. 69 00:03:08,970 --> 00:03:10,010 כבר עשה את זה אחד. 70 00:03:10,010 --> 00:03:11,590 תראה לנו. 71 00:03:11,590 --> 00:03:16,430 >> עכשיו, אנחנו הולכים לעבור על סוגי נתונים ומפעילים בג 72 00:03:16,430 --> 00:03:19,990 אז אנדי יגיע לכאן ו ללכת על ספריות ב- C, printf (), 73 00:03:19,990 --> 00:03:24,570 פונקציה שבה אתה כבר מוכר או יהפוך מהר מאוד 74 00:03:24,570 --> 00:03:25,530 מוכר. 75 00:03:25,530 --> 00:03:27,810 ואתה גם לעבור על התניות ולולאות. 76 00:03:27,810 --> 00:03:30,900 >> ולבסוף, Scaz ילך על זיהוי CS50. 77 00:03:30,900 --> 00:03:34,250 אם לא צלל ב כבר בבעיה הסט 1, 78 00:03:34,250 --> 00:03:37,060 כמו גם אופן שימוש ב פקודות מסוף ושימושיים 79 00:03:37,060 --> 00:03:42,280 ואז לתת לך כמה הדגמות ו קידוד בפועל בזיהוי CS50. 80 00:03:42,280 --> 00:03:45,130 >> לפני שאני קופץ לזה תוכן בצד הזה, 81 00:03:45,130 --> 00:03:46,770 האם יש מישהו כל שאלות עד כה? 82 00:03:46,770 --> 00:03:53,190 83 00:03:53,190 --> 00:03:54,030 גדול. 84 00:03:54,030 --> 00:03:54,950 אוקיי. 85 00:03:54,950 --> 00:03:55,810 שינוי הילוכים. 86 00:03:55,810 --> 00:03:58,760 >> [מחליף הילוכים] 87 00:03:58,760 --> 00:04:03,070 >> זה היה לי הסטה הילוכים במכונית ידנית. 88 00:04:03,070 --> 00:04:10,920 אז סוגי נתונים ב- C, אתה לא יכול פשוט יש לי x משתנה ויש לו להיות בקו 10, 89 00:04:10,920 --> 00:04:17,170 מספר שלם, אולי המספר 1, על קו 20, מספר עשרוני 10.5, 90 00:04:17,170 --> 00:04:20,500 ולאחר מכן כמה קווים מאוחר יותר מחרוזת, אני אוהב את CS50. 91 00:04:20,500 --> 00:04:25,052 >> ב- C, משתנים יכולים להיות רק דבר אחד, ודבר אחד בלבד. 92 00:04:25,052 --> 00:04:26,510 ואז אתה צריך לתת להם סוגים. 93 00:04:26,510 --> 00:04:28,780 ועל לוח זה, אנחנו יש רשימה של סוגים. 94 00:04:28,780 --> 00:04:32,000 יש תווים, ש עומד לדמויות. 95 00:04:32,000 --> 00:04:36,850 אז זה אות אחת, B, C, ד זה יכול להיות גם חלל, 96 00:04:36,850 --> 00:04:40,290 או שגם יכול להיות אופי קו חדש. 97 00:04:40,290 --> 00:04:45,030 >> יש מספרים שלמים, שהם רק מספרים, כל מספרים שלמים או אחר מספרים 98 00:04:45,030 --> 00:04:47,130 rather-- אבל לא עשרוני. 99 00:04:47,130 --> 00:04:49,790 >> לעשרוני, יש לנו מספרי נקודה צפה. 100 00:04:49,790 --> 00:04:53,200 מספרי נקודה צפה מספרים עשרוניים עם. 101 00:04:53,200 --> 00:04:58,160 >> אז יש משתוקק, שהם מספרים שלמים במהות עוד. 102 00:04:58,160 --> 00:05:01,160 תוכל להבחין כי ארוך הוא 8 ואילו int הוא 4. 103 00:05:01,160 --> 00:05:02,640 אני אגיע לזה בשנייה. 104 00:05:02,640 --> 00:05:07,390 זה בגלל שמתגעגע יכול לאחסן אפילו יותר מאשר מספרים שלמים int יכולים לאחסן. 105 00:05:07,390 --> 00:05:10,100 זוגי הוא לצוף ארוך. 106 00:05:10,100 --> 00:05:12,460 >> ולבסוף, יש לנו מחרוזת, שהוא סוג 107 00:05:12,460 --> 00:05:14,430 שיש לך כנראה השתמש בעבר. 108 00:05:14,430 --> 00:05:21,100 אם אתה כולל hashtag # IncludeCS50.h בקובץ המקור שלך, 109 00:05:21,100 --> 00:05:23,170 אז אתה יכול להשתמש בסוג מחרוזת. 110 00:05:23,170 --> 00:05:25,560 זה לא בנוי למעשה לג 111 00:05:25,560 --> 00:05:27,760 >> יש סוגי זוג אחרים גם כן. 112 00:05:27,760 --> 00:05:32,900 אבל אלה הם העיקריים אלה עם שבו תוכל להשתמש ונתקלים. 113 00:05:32,900 --> 00:05:36,210 C כ, שוב הזכרתי, כל variable-- זה 114 00:05:36,210 --> 00:05:38,620 יכול להיות רק סוג אחד וסוג אחד בלבד. 115 00:05:38,620 --> 00:05:42,890 זה בגלל שC הוא באופן סטטי שפת הקלדת, בניגוד 116 00:05:42,890 --> 00:05:45,780 לשפות הקלדה דינמית שבו אם אתה יוצר משתנה 117 00:05:45,780 --> 00:05:50,081 אתה יכול לשנות את מה שהוא מאוחסן ב זה כמו שאתה הולך על בתכנית שלך. 118 00:05:50,081 --> 00:05:52,580 כאן על יד ימין צד, יש לי בגדלים השונים 119 00:05:52,580 --> 00:05:57,440 אלה סוגים של נתונים בבתים. 120 00:05:57,440 --> 00:05:59,710 אז דמות היא 1 byte. 121 00:05:59,710 --> 00:06:01,250 זה 8 סיביות. 122 00:06:01,250 --> 00:06:05,530 וזה אומר כי 8 ביטים יש שמונה 0s ו 1s. 123 00:06:05,530 --> 00:06:08,280 ראינו הדגמות אלה בראשונים שבוע עם שנורה בינארי. 124 00:06:08,280 --> 00:06:15,680 >> עם 8 סיביות או בתים 1, אנחנו יכולים מייצג מספרים 0-255. 125 00:06:15,680 --> 00:06:16,180 תקין. 126 00:06:16,180 --> 00:06:18,770 אם כל 8 הביטים הם 0 זה 0. 127 00:06:18,770 --> 00:06:23,640 אם קצת הראשון הוא 1, זה המספר אחד, וכן הלאה, כל הדרך עד 255. 128 00:06:23,640 --> 00:06:28,290 ולכן לדמויות שאתה יכול יש בעצם עד 255 מהם, 129 00:06:28,290 --> 00:06:31,210 אבל זה מספיק כדי לכסות את כל הדמויות שאנחנו צריכים להשתמש. 130 00:06:31,210 --> 00:06:38,060 >> למספרים שלמים, אתה יכול להיות 0 ו אז יש לך 2 למינוס 32 1. 131 00:06:38,060 --> 00:06:40,340 אלה הם כמה אפשרויות יש לך למספרים שלמים. 132 00:06:40,340 --> 00:06:44,780 >> במשך זמן רב, יש לך 0 2 למינוס 64 1. 133 00:06:44,780 --> 00:06:48,860 אז יש לך רב, רב, אפשרויות נוספות למתגעגע. 134 00:06:48,860 --> 00:06:54,220 >> מחרוזות, זה סימן שאלה כי זה סחרור מסוכן לשימוש מאוחר יותר. 135 00:06:54,220 --> 00:06:55,000 כן. 136 00:06:55,000 --> 00:06:56,350 אני יכול לספר לכולם זה על קצה המושב שלהם, 137 00:06:56,350 --> 00:06:57,450 כמו מה זה סימן השאלה? 138 00:06:57,450 --> 00:06:58,390 זה סחרור מסוכן. 139 00:06:58,390 --> 00:07:02,340 אנו סופו של דבר יכסו את גודל מחרוזות ולדבר יותר על מיתרים. 140 00:07:02,340 --> 00:07:04,692 בגלל מחרוזת היא למעשה אחד מגלגלי העזר 141 00:07:04,692 --> 00:07:06,400 אנחנו שמים על זה ב כמובן בתחילת 142 00:07:06,400 --> 00:07:09,700 ולאחר מכן להמריא מאוחר יותר ב, כי מחרוזות בC 143 00:07:09,700 --> 00:07:13,320 הם מצביעים למעשה למערכי אופי. 144 00:07:13,320 --> 00:07:15,810 אבל שוב, זה סחרור מסוכן לשימוש מאוחר יותר. 145 00:07:15,810 --> 00:07:18,890 בטרם אעבור על כל שאלות, הערות, חששות לגבי שקופית זו? 146 00:07:18,890 --> 00:07:25,800 147 00:07:25,800 --> 00:07:26,630 >> אוקיי. 148 00:07:26,630 --> 00:07:30,330 אני חייב להיות מסביר פנטסטי. 149 00:07:30,330 --> 00:07:33,210 גם כאשר אתה מתכנת, אתה הולך להשתמש באופרטורים אלה. 150 00:07:33,210 --> 00:07:36,730 סימנים ממש פשוטים שיכול לעשות פשוט פעילות, שבה אתה כנראה 151 00:07:36,730 --> 00:07:38,340 כבר מכיר היטב. 152 00:07:38,340 --> 00:07:42,580 >> לדוגמא, בצד הימין צד, אנו רואים להוסיף. 153 00:07:42,580 --> 00:07:44,640 כדי להוסיף, אתה פשוט עושה סימן הפלוס. 154 00:07:44,640 --> 00:07:46,850 וכך אולי יש לך שני משתנים x ו- y. 155 00:07:46,850 --> 00:07:48,810 אתה יכול לעשות y + x בקוד שלך. 156 00:07:48,810 --> 00:07:52,790 אולי אתה רוצה לומר שאתה צריכה-- 7 ו -3 יש מספר, 157 00:07:52,790 --> 00:07:55,780 אתה רוצה לאחסן ש בסכום משתנה בשם. 158 00:07:55,780 --> 00:08:03,010 אתה יכול לעשות int לסוג, החלל סכום, השם המשתנה, = 7 + 3; 159 00:08:03,010 --> 00:08:05,780 >> מה היית חנות שבסכום? 160 00:08:05,780 --> 00:08:07,190 כל אחד? 161 00:08:07,190 --> 00:08:09,270 אם היה לי בסכום = 7 + 3. 162 00:08:09,270 --> 00:08:10,437 מה יהיה מאוחסן בסכום? 163 00:08:10,437 --> 00:08:11,520 אתה יכול פשוט לצעוק את זה. 164 00:08:11,520 --> 00:08:12,120 קהל: 10. 165 00:08:12,120 --> 00:08:12,995 >> ג'ייסון הירשהורן: 10! 166 00:08:12,995 --> 00:08:14,870 זה בדיוק נכון. 167 00:08:14,870 --> 00:08:19,520 מה לגבי בסכום = 7 - 3, רק אני משתמש כי סימן מקף. 168 00:08:19,520 --> 00:08:20,871 מה הולך להיות מאוחסנים? 169 00:08:20,871 --> 00:08:21,370 קהל: 4. 170 00:08:21,370 --> 00:08:22,203 ג'ייסון הירשהורן: 4. 171 00:08:22,203 --> 00:08:25,770 סכום הוא כנראה השם הלא נכון ל משתנים זה, אבל 4 יהיו מאוחסן. 172 00:08:25,770 --> 00:08:31,890 >> להכפיל ב- C, להשתמש במעט דמות כוכב, אתה לא משתמש בx. 173 00:08:31,890 --> 00:08:35,990 לחלק, להשתמש קדימה סלאש לא סמל החטיבה. 174 00:08:35,990 --> 00:08:39,580 ומודולו, להשתמש בסמל אחוזים. 175 00:08:39,580 --> 00:08:47,900 >> אז בואו נגיד שאני רוצה לראות את int z = 7% 3, מה יהיה מאוחסן בz? 176 00:08:47,900 --> 00:08:51,250 אז, זה בעצם שואל מה מודולו עושה? 177 00:08:51,250 --> 00:08:52,750 האם מישהו יודע מה עושה מודולו? 178 00:08:52,750 --> 00:08:53,940 כן. 179 00:08:53,940 --> 00:08:54,870 y 4. 180 00:08:54,870 --> 00:08:56,120 1 דובר: זה את השארית. 181 00:08:56,120 --> 00:08:58,369 ג'ייסון הירשהורן: זה שארית כאשר אתה מחלק. 182 00:08:58,369 --> 00:09:02,790 אז 7 מחולקים 3 הוא 2 שארית 1. 183 00:09:02,790 --> 00:09:04,690 אז 1 יהיה מאוחסן. 184 00:09:04,690 --> 00:09:06,970 >> אתה עשית את חיסור, אבל ככה זה עובד. 185 00:09:06,970 --> 00:09:09,140 זה מה שעושה מפעיל מודולו. 186 00:09:09,140 --> 00:09:12,360 זה לוקח מספר חלק על ידי מספר אחר וחוזר אליך 187 00:09:12,360 --> 00:09:14,590 את השארית. 188 00:09:14,590 --> 00:09:19,770 אז שוב, 7% 3 נותן לך 1, כי 7 מחולקים 3 היא 2 שארית 1, 189 00:09:19,770 --> 00:09:21,650 ומחזיר את השארית. 190 00:09:21,650 --> 00:09:24,470 >> מה לגבי בואו נחזור עד צעד אחד שלסימן החלוקה. 191 00:09:24,470 --> 00:09:29,194 אם אני עשיתי 7 / מחולק 3 עושה מישהו יודע מה שיחזיר? 192 00:09:29,194 --> 00:09:30,090 >> SPEAKER 2: 2. 193 00:09:30,090 --> 00:09:32,240 >> ג'ייסון הירשהורן: למה 2 ולא 2.333? 194 00:09:32,240 --> 00:09:34,560 >> SPEAKER 2: אני חושב שזה חותך את אחרי המספר השלם. 195 00:09:34,560 --> 00:09:36,310 ג'ייסון הירשהורן: אז זה בדיוק נכון. 196 00:09:36,310 --> 00:09:39,880 ב C, אם אתה עושה את חלוקת שני מספרים שלמים 7 מחולקים 3, 197 00:09:39,880 --> 00:09:43,430 הוא מקבל את התשובה ש במקרה זה 2.3333 לנצח 198 00:09:43,430 --> 00:09:47,080 והוא מוצא שנקודה עשרונית ו צלעות את כל מה שאחרי הנקודה העשרונית 199 00:09:47,080 --> 00:09:49,240 וזה פשוט מחזיר אותך 2. 200 00:09:49,240 --> 00:09:51,120 >> אז אם עשיתי 8 מחולק 3. 201 00:09:51,120 --> 00:09:54,010 כי למעשה, אנחנו יודעים כי לחזור 2.666, 202 00:09:54,010 --> 00:09:57,050 אבל זה צלעות את הכל ב העשרוני, חותך את כל זה, 203 00:09:57,050 --> 00:09:58,640 ורק חוזר אליך 2. 204 00:09:58,640 --> 00:10:02,090 אז 6 מחולקים 3, 7 מחולקים על ידי 3, 8 מחולקים 3, 205 00:10:02,090 --> 00:10:04,840 כולם הולכים לחזור אליכם 2. 206 00:10:04,840 --> 00:10:08,770 >> האם מישהו יודע, או שיש לי ניחוש, כיצד אני יכול למעשה לקבל 207 00:10:08,770 --> 00:10:10,790 התשובה המלאה, אם אני רוצה עשרוני ש? 208 00:10:10,790 --> 00:10:13,120 209 00:10:13,120 --> 00:10:13,620 כן. 210 00:10:13,620 --> 00:10:14,152 לך על זה. 211 00:10:14,152 --> 00:10:15,110 SPEAKER 3: השתמש לצוף? 212 00:10:15,110 --> 00:10:16,942 ג'ייסון הירשהורן: מה זאת אומרת? 213 00:10:16,942 --> 00:10:19,786 3 דובר: מכיוון שאתה אמר לצוף הוא למספרים [לא ברור] 214 00:10:19,786 --> 00:10:22,900 215 00:10:22,900 --> 00:10:23,900 ג'ייסון הירשהורן: ימין. 216 00:10:23,900 --> 00:10:26,100 אז, זה בדיוק נכון. 217 00:10:26,100 --> 00:10:28,440 7 הוא מספר שלם. 218 00:10:28,440 --> 00:10:31,690 אבל אם אני רוצה להפוך את זה למספר נקודה צפה, 219 00:10:31,690 --> 00:10:34,674 הייתי צריך לאחסן ש כ7.0 בגלל המחשב 220 00:10:34,674 --> 00:10:37,090 הוא באמת stupid-- ראו ש עם example-- PB וJ 221 00:10:37,090 --> 00:10:38,930 זה יעשה רק בדיוק מה אתה אומר את זה. 222 00:10:38,930 --> 00:10:40,846 >> אז אם אתה כותב 7, זה חושב שזה מספר שלם. 223 00:10:40,846 --> 00:10:43,640 אם אתה כותב 7.0, למרות שאנחנו יודע את הדברים האלה הם שווי ערך, 224 00:10:43,640 --> 00:10:45,550 היא מתייחסת לזה כמו צף מספר נקודות. 225 00:10:45,550 --> 00:10:50,441 אז אם אתה עשית 7.0 מחולק על ידי 3, או מחולק ב -3.0, 226 00:10:50,441 --> 00:10:52,440 זה הייתי אומר, אוקיי, עכשיו עם צף יש לנו עסק. 227 00:10:52,440 --> 00:10:57,514 אני אחזור אליך 2.333333 לנצח. 228 00:10:57,514 --> 00:10:59,930 אבל לא ממש לנצח, כי כמו גם שראינו בהרצאה, 229 00:10:59,930 --> 00:11:03,350 מספרי הנקודה צפו אלה הם לא בדיוק מדויקים. 230 00:11:03,350 --> 00:11:05,940 >> אז אם אתה רוצה עשרוני ש, או חלק מעשרוני ש, 231 00:11:05,940 --> 00:11:08,090 אז אתה צריך use-- אחד מהם צריך להיות מספר נקודה צפה 232 00:11:08,090 --> 00:11:11,048 והמחשב יש להבין כי מדובר בנקודה שאתה צף 233 00:11:11,048 --> 00:11:13,350 התמודדות עם, לא שלם. 234 00:11:13,350 --> 00:11:16,760 כל שאלות על שולחן שעל בצד ימין, כל כך רחוק? 235 00:11:16,760 --> 00:11:22,650 או צד השמאל שלך, שלך עזב, הצד השמאלי שלך. 236 00:11:22,650 --> 00:11:23,264 כן. 237 00:11:23,264 --> 00:11:23,972 4 רמקול: ימין. 238 00:11:23,972 --> 00:11:26,216 רק רוצה רגיל מספרים שלמים, שהיית 239 00:11:26,216 --> 00:11:30,230 write-- היית צריך לכתוב לצוף? 240 00:11:30,230 --> 00:11:31,920 >> ג'ייסון הירשהורן: כן כן. 241 00:11:31,920 --> 00:11:34,400 ובכן, אם ברצונך ליצור משתנה זה לצוף, 242 00:11:34,400 --> 00:11:37,020 אתה צריך להגיד לצוף z שווה משהו. 243 00:11:37,020 --> 00:11:37,640 >> 4 רמקול: אישור. 244 00:11:37,640 --> 00:11:41,950 >> ג'ייסון הירשהורן: אבל אם אני רוצה לעשות 7 מחולקים 3 ולקבל עשרוני ש, 245 00:11:41,950 --> 00:11:48,540 הייתי עושה z לצוף = 7.0 / 3.0; ו שייתן לי את הנקודה הצף 246 00:11:48,540 --> 00:11:49,273 מספר. 247 00:11:49,273 --> 00:11:50,000 >> 4 רמקול: אישור. 248 00:11:50,000 --> 00:11:56,370 >> ג'ייסון הירשהורן: אם אני עשיתי משהו כמו int z = 7 / על ידי 3, 249 00:11:56,370 --> 00:12:00,856 שייתן לי מספר שלם, כי אלה הם כל המספרים השלמים. 250 00:12:00,856 --> 00:12:01,730 האם זה הגיוני? 251 00:12:01,730 --> 00:12:02,320 >> 4 רמקול: כן. 252 00:12:02,320 --> 00:12:02,950 >> ג'ייסון הירשהורן: אישור. 253 00:12:02,950 --> 00:12:03,450 גדול. 254 00:12:03,450 --> 00:12:06,030 שאלות אחרות על שולחן זה? 255 00:12:06,030 --> 00:12:07,220 באמת? 256 00:12:07,220 --> 00:12:08,380 אני כל כך מתרגש. 257 00:12:08,380 --> 00:12:09,120 אוקיי. 258 00:12:09,120 --> 00:12:13,910 >> אז כמה דברים אחרים שאתה תשתמש, לעתים קרובות בתנאים או לולאות, 259 00:12:13,910 --> 00:12:17,580 סוגים אלה של operators-- סוגים אלה של ביטויים בוליאנית. 260 00:12:17,580 --> 00:12:23,140 וכפי שלמדנו, == זה מה שאתה להשתמש בו כדי לבדוק אם שני דברים שווים. 261 00:12:23,140 --> 00:12:28,170 >> אז הנה אני בודק אם y x ==, בוא שוב להניח x שהוא 7 ו- y הוא 3. 262 00:12:28,170 --> 00:12:33,220 אז אם כתבתי 7 == 3, מה ש היה שיחזור אליי? 263 00:12:33,220 --> 00:12:34,220 האם זה נכון או לא נכון? 264 00:12:34,220 --> 00:12:35,275 >> קהל: לא נכון. 265 00:12:35,275 --> 00:12:36,150 ג'ייסון הירשהורן: אישור. 266 00:12:36,150 --> 00:12:37,370 אני מרגיש כמו כולם יכול לקבל את זה. 267 00:12:37,370 --> 00:12:39,054 אז כולם, מה שהיה שיחזור? 268 00:12:39,054 --> 00:12:39,720 קהל: לא נכון. 269 00:12:39,720 --> 00:12:40,130 ג'ייסון הירשהורן: שקר. 270 00:12:40,130 --> 00:12:40,850 גדול. 271 00:12:40,850 --> 00:12:41,930 7 לא שווים 3. 272 00:12:41,930 --> 00:12:44,530 אז 7 == 3 יחזור שווא. 273 00:12:44,530 --> 00:12:50,746 האם יש לך סימן לא שווה, כך שאם אני בדק 7! = 3, מה היית שיחזרו? 274 00:12:50,746 --> 00:12:51,370 קהל: נכון. 275 00:12:51,370 --> 00:12:52,650 ג'ייסון הירשהורן: נכון. 276 00:12:52,650 --> 00:12:53,200 מצוין. 277 00:12:53,200 --> 00:12:55,990 מישהו היה מאוד תקיף ב הגב ומעריך את זה. 278 00:12:55,990 --> 00:12:59,070 אז יש לך פחות ממפעיל, פחות או שווה למפעיל, 279 00:12:59,070 --> 00:13:01,990 גדול ממפעיל, גדול יותר או שווה למפעיל. 280 00:13:01,990 --> 00:13:03,490 >> אז עוד בדיקת שפיות אחד. 281 00:13:03,490 --> 00:13:05,660 אם היה לי 7 הוא גדולים יותר או שווה ל 3. 282 00:13:05,660 --> 00:13:06,966 מה היית שתחזור? 283 00:13:06,966 --> 00:13:07,692 >> קהל: נכון. 284 00:13:07,692 --> 00:13:08,650 ג'ייסון הירשהורן: נכון. 285 00:13:08,650 --> 00:13:10,050 כן. 286 00:13:10,050 --> 00:13:13,290 שהחדר אחורי, צד אחורי מהחדר, פנטסטי. 287 00:13:13,290 --> 00:13:16,240 ניתן לשלב הבאים ביטויים אם אתה כן רוצה,, 288 00:13:16,240 --> 00:13:21,880 עם והגיוני שהוא && או הגיוני או שהוא || 289 00:13:21,880 --> 00:13:22,800 ||. 290 00:13:22,800 --> 00:13:25,785 ואז עכשיו אתה יכול לבדוק שני דברים together-- האם זה מצחיק? 291 00:13:25,785 --> 00:13:28,250 למה זה מצחיק? 292 00:13:28,250 --> 00:13:35,200 >> אז אם אני רוצה, אני יכול לומר הוא 7 יותר מ 3 ו 2 הוא פחות מ 4? 293 00:13:35,200 --> 00:13:37,090 ובכן, אם 7 הוא גדולים יותר מ 3, זה נכון. 294 00:13:37,090 --> 00:13:38,400 2 הוא פחות מ 4, זה נכון. 295 00:13:38,400 --> 00:13:41,140 אז כל הדבר הזה יחזור אמיתי. 296 00:13:41,140 --> 00:13:45,130 >> אם בדקתי 7 הוא יותר מ -3 and-- אני רק לקטוף מספרים אקראיים כאן-- 297 00:13:45,130 --> 00:13:47,340 4 הוא פחות מ -2, טוב, זה שקר. 298 00:13:47,340 --> 00:13:49,610 כל כך נכון ואיפור שקר שקר. 299 00:13:49,610 --> 00:13:54,520 ואתה יכול ללכת על ואתה משלב כ תנאים רבים יחד כמו שאתה רוצה. 300 00:13:54,520 --> 00:14:00,000 >> האם יש למישהו שאלות, הערות, דאגות עד כה? 301 00:14:00,000 --> 00:14:03,862 ואני רואה שכמה מכם לצלם שלי במסך, שאני מעריך. 302 00:14:03,862 --> 00:14:05,070 יש לקוות, שזה לא סנאפצ'ט. 303 00:14:05,070 --> 00:14:06,417 יש לקוות, שזה להערות שלך. 304 00:14:06,417 --> 00:14:08,500 אבל כל אלה הולכים להיות זמין באינטרנט. 305 00:14:08,500 --> 00:14:11,210 אז אין לך לצלם תמונות של זה. 306 00:14:11,210 --> 00:14:15,150 כמו שציינתי, כל מה ש יהיה זמין באינטרנט עבורך. 307 00:14:15,150 --> 00:14:15,650 אוקיי. 308 00:14:15,650 --> 00:14:17,980 אני עומד לקבל מאחורי הקלעים, כך גם אף אחד 309 00:14:17,980 --> 00:14:20,350 רוצה לומר משהו לפני שזה יקרה? 310 00:14:20,350 --> 00:14:21,080 שאלות? 311 00:14:21,080 --> 00:14:21,680 >> [חציצת קולות] 312 00:14:21,680 --> 00:14:22,250 >> ג'ייסון הירשהורן: הו, לעצור. 313 00:14:22,250 --> 00:14:23,290 אתם נחמדים מדי. 314 00:14:23,290 --> 00:14:23,790 אוקיי. 315 00:14:23,790 --> 00:14:26,520 אני הולך לתייג החוצה. 316 00:14:26,520 --> 00:14:27,240 בוא נלך. 317 00:14:27,240 --> 00:14:29,570 >> ANDI פנג: אנחנו הולכים לעשות שינוי מיקרופון מביך עכשיו. 318 00:14:29,570 --> 00:14:32,280 >> ג'ייסון הירשהורן: אני הולך לקחת את זה משם. 319 00:14:32,280 --> 00:14:33,946 ANDI פנג: מעריך את התמיכה, בחורים. 320 00:14:33,946 --> 00:14:42,250 321 00:14:42,250 --> 00:14:43,180 אתה יכול לשמוע אותי? 322 00:14:43,180 --> 00:14:43,930 האם זה טוב? 323 00:14:43,930 --> 00:14:44,760 ללא רבב. 324 00:14:44,760 --> 00:14:45,630 יפה. 325 00:14:45,630 --> 00:14:47,490 תן לי רק לתחוב שב. 326 00:14:47,490 --> 00:14:49,100 אוקיי. 327 00:14:49,100 --> 00:14:54,140 אז, אני עומד לעשות כמו ענק מידע לזרוק עליכם עכשיו. 328 00:14:54,140 --> 00:14:57,370 ואין דאגות כלשהן אם אתה לא כל שורה הבאה מעט ממה 329 00:14:57,370 --> 00:14:58,812 אני עומד להראות לך. 330 00:14:58,812 --> 00:15:00,770 כג'ייסון אמר, כל מה ש הוא מקוון לחלוטין. 331 00:15:00,770 --> 00:15:03,780 רק שאנחנו הולכים לנסות להציג כולם למושגים מכוסים 332 00:15:03,780 --> 00:15:05,270 בחלק משקופיות אלה. 333 00:15:05,270 --> 00:15:06,582 אז פשוט פעלת יחד. 334 00:15:06,582 --> 00:15:09,540 אל דאגה, אם אתה לא מבין הכל; עם זאת, אם בכל נקודה 335 00:15:09,540 --> 00:15:12,820 אתה מרגיש אבוד, להעלותך יד, נפסיק, אין דאגות. 336 00:15:12,820 --> 00:15:15,060 מגניב. 337 00:15:15,060 --> 00:15:19,270 >> אז אני חושב שמשהו שיש לי דוד כבר הזכיר סוג של בהרצאה 338 00:15:19,270 --> 00:15:23,240 וג'ייסון סוג של רמז היום הוא מה שהיא ספרייה. 339 00:15:23,240 --> 00:15:27,510 אז בתכנות, יש לנו הדברים האלה נקראים ספריות. 340 00:15:27,510 --> 00:15:29,690 איפה, בעצם, כל הם רק סט 341 00:15:29,690 --> 00:15:32,610 של פונקציות, ש בעצם רק קוד זה 342 00:15:32,610 --> 00:15:35,070 כבר נכתב על ידי מישהו אחר שכולנו יכולים 343 00:15:35,070 --> 00:15:36,410 להשתמש בתוכניות שלנו. 344 00:15:36,410 --> 00:15:38,790 >> אז איך עושה רגיל עבודה בספרייה, נכון? 345 00:15:38,790 --> 00:15:40,030 אתה נכנסת לדלת הספרייה. 346 00:15:40,030 --> 00:15:41,890 יש לך את כל אלה ספרים שאתה יכול לשלוף 347 00:15:41,890 --> 00:15:44,590 ואתה יכול לגשת למידע בתוך הספרים האלה. 348 00:15:44,590 --> 00:15:45,840 אותו דבר בתכנות. 349 00:15:45,840 --> 00:15:48,820 >> יש לך ספרייה שכבר נכתב על ידי אנשים אחרים. 350 00:15:48,820 --> 00:15:51,530 ואופן שבו אתה יכול, כמתכנת או סטודנט, 351 00:15:51,530 --> 00:15:55,780 יכול לקבל גישה לספרייה ש הוא באמצעות #include hashtag. 352 00:15:55,780 --> 00:15:59,720 >> לדוגמא, שבC יש שלוש C-- ביותר 353 00:15:59,720 --> 00:16:03,420 נפוץ שלוש C סטנדרטי libraries-- ספריית קלט / פלט, 354 00:16:03,420 --> 00:16:05,540 ספריית המחרוזת, וספריית המתמטיקה. 355 00:16:05,540 --> 00:16:07,610 >> אז בתוכך ראשון בעיה הזוג קובעת, 356 00:16:07,610 --> 00:16:10,940 אלה יהיו שלוש שלך שבעיקר משתמש. 357 00:16:10,940 --> 00:16:14,610 אז כפי שכבר דוד הסביר בהרצאה, 358 00:16:14,610 --> 00:16:17,460 אני הסטנדרטי / ספריית O, או קלט / פלט סטנדרטי ספרייה 359 00:16:17,460 --> 00:16:18,620 עושה בדיוק את זה. 360 00:16:18,620 --> 00:16:23,530 זה מאפשר לך, בקוד שלך, לכניסה שום דבר מהמשתמש והפלט ש 361 00:16:23,530 --> 00:16:25,960 למסך, במהות הדפסתו על גבי המסך. 362 00:16:25,960 --> 00:16:29,990 >> ולכן כל פעם שאתה משתמש בכל פונקציות, למשל printf () function ש 363 00:16:29,990 --> 00:16:33,319 אנחנו הולכים לעבור על השקופית הבאה, הקפד לכלול את תקן קלט / פלט 364 00:16:33,319 --> 00:16:36,360 ספרייה או אחר אתה לא הולך ל תוכל להשתמש בפונקצית printf (). 365 00:16:36,360 --> 00:16:39,110 מכיוון שאתה, כמתכנת אף פעם לא באמת כתב פונקציה ש, 366 00:16:39,110 --> 00:16:41,840 רק אתה משתמש במישהו הקוד שלהם בתוך הקוד שלך. 367 00:16:41,840 --> 00:16:43,620 >> האם זה הגיוני שכולם? 368 00:16:43,620 --> 00:16:44,520 מגניב. 369 00:16:44,520 --> 00:16:48,530 >> ואז אנחנו בעצם מקבלים על ספריית string.h וmath.h 370 00:16:48,530 --> 00:16:52,970 ספרייה, H רק מסמנת ספרייה, ספריות אחרות שסופו של דבר ימצא 371 00:16:52,970 --> 00:16:55,310 להיות באמצעות בתוך הקוד שלך. 372 00:16:55,310 --> 00:16:57,620 >> עם זאת, למטרות של ספרייה זו, אנחנו גם 373 00:16:57,620 --> 00:17:01,170 נו-- של class-- זה יש לנו גם מה שנקרא ספריית CS50, 374 00:17:01,170 --> 00:17:05,270 cs50.h, שבו אנחנו, ל העיון שלך יצר 375 00:17:05,270 --> 00:17:07,369 פונקציות רבות חשובות ושימושיות. 376 00:17:07,369 --> 00:17:09,550 כך שאתה כמתכנת יכול השכם מ 377 00:17:09,550 --> 00:17:14,470 מה שכבר נכתבו, כך ש של פונקציה זמינה לך את זה 378 00:17:14,470 --> 00:17:15,599 לשימושכם. 379 00:17:15,599 --> 00:17:18,359 >> אני אהיה כיסוי כמה הפונקציות נפוצות, 380 00:17:18,359 --> 00:17:20,839 אבל יודע שמדובר ב כל המקוון googleable. 381 00:17:20,839 --> 00:17:24,904 תרגיש חופשי, למשוך את ספריית CS50 ו אז יש לך את כל הפונקציות שיש. 382 00:17:24,904 --> 00:17:25,828 כן. 383 00:17:25,828 --> 00:17:28,140 >> SPEAKER 5: אז אם לא היית שימוש בתוכנה ש 384 00:17:28,140 --> 00:17:29,916 מסופק לנו על ידי הכיתה, עושה את זה 385 00:17:29,916 --> 00:17:32,698 אומר שהיינו צריך להוריד ולמצוא כותרת זו להגיש את עצמנו ולומר לי 386 00:17:32,698 --> 00:17:33,840 המחשב איפה זה? 387 00:17:33,840 --> 00:17:34,320 >> ANDI פנג: שאלה גדולה. 388 00:17:34,320 --> 00:17:34,820 בדיוק. 389 00:17:34,820 --> 00:17:38,194 אז זה כמו שאם אתה לא נוכחים פיזי בספרייה, 390 00:17:38,194 --> 00:17:40,360 אין לך דרך בעצם ללכת ולגשת אליו. 391 00:17:40,360 --> 00:17:42,589 אז אותו הדבר עם תכנות בשפת C, ש 392 00:17:42,589 --> 00:17:45,880 צריך לוודא שאתה משתמש בנו מכשיר כי הספרייה כבר 393 00:17:45,880 --> 00:17:47,270 שולב בו. 394 00:17:47,270 --> 00:17:50,020 ואז כשאתה hashtag #include, הספרייה שם. 395 00:17:50,020 --> 00:17:50,520 כן. 396 00:17:50,520 --> 00:17:51,920 שאלה טובה. 397 00:17:51,920 --> 00:17:53,461 כולם טובים? 398 00:17:53,461 --> 00:17:53,960 מגניב. 399 00:17:53,960 --> 00:17:56,371 400 00:17:56,371 --> 00:17:56,870 בסדר. 401 00:17:56,870 --> 00:17:59,330 אז אנחנו הולכים להכות, בעצם, מה הוא 402 00:17:59,330 --> 00:18:01,620 הפונקציה הראשונה ש אנו כמתכנתים הם 403 00:18:01,620 --> 00:18:03,900 הולך להיות באמצעות בתוך הקוד שלנו. 404 00:18:03,900 --> 00:18:05,690 זה נקרא printf () function. 405 00:18:05,690 --> 00:18:08,450 אז, (פונקציה) printf, כפי שיש לי כבר אמר בשקופית האחרונה, 406 00:18:08,450 --> 00:18:11,830 כלול באני הסטנדרטי / פלט, סטנדרטי קלט / פלט, ספרייה. 407 00:18:11,830 --> 00:18:16,470 >> כדי לוודא שכל מה שאתה using-- הו, תן לי לתפוס את הלייזר pointer-- 408 00:18:16,470 --> 00:18:18,660 בכל פעם שאתה משתמש ב printf (הפונקציה), 409 00:18:18,660 --> 00:18:21,790 אתה צריך לכלול את תקן קלט / פלט ספרייה או אחר, כאשר אתה לקמפל, 410 00:18:21,790 --> 00:18:23,760 אתה הולך לקבל שגיאה כי המחשב יהיה כמו, 411 00:18:23,760 --> 00:18:26,140 הו אני לא יודע איפה printf () הוא, אתה לא אומר לי איפה printf () 412 00:18:26,140 --> 00:18:26,830 הוא. 413 00:18:26,830 --> 00:18:30,150 ובכן printf () כלול ב אני סטנדרטי / פלט, ולכן כאשר אתה משתמש printf (), 414 00:18:30,150 --> 00:18:32,960 לוודא שיש ש קו מעל הקוד שלך. 415 00:18:32,960 --> 00:18:36,040 >> כך למשל, printf () כאן היא פונקציה. 416 00:18:36,040 --> 00:18:40,260 כל מה שעושה זה להדפיס משהו בתוך הסוגריים למשתמש. 417 00:18:40,260 --> 00:18:44,840 האם מישהו רוצה לקחת דקירה מה זה קו ימין קוד 418 00:18:44,840 --> 00:18:46,420 כאן הולך להדפיס? 419 00:18:46,420 --> 00:18:48,730 לפיכך, התשובה היא שעל המסך. 420 00:18:48,730 --> 00:18:50,480 כל אחד? 421 00:18:50,480 --> 00:18:51,380 >> ורדים: התחתון. 422 00:18:51,380 --> 00:18:53,510 >> ANDI פנג: ורדי, למה שלא תלכו קדימה ואומר כל ההצהרה? 423 00:18:53,510 --> 00:18:55,718 >> ורדים: שלום, השם שלי הוא אנדי, ואני בן 20 שנים. 424 00:18:55,718 --> 00:18:57,270 ANDI פנג: אה, יפה. 425 00:18:57,270 --> 00:19:00,240 אז בקו הזה אנחנו הולכים להדפיס, שלום, השם שלי הוא אנדי, 426 00:19:00,240 --> 00:19:04,280 ואני בן 20 שנים, ש היא למעשה הצהרה אמיתית. 427 00:19:04,280 --> 00:19:05,090 >> תחביר. 428 00:19:05,090 --> 00:19:08,830 אז כמה בעיות תחביריות ש אתם רוצים לוודא שאתה יודע. 429 00:19:08,830 --> 00:19:09,360 ציטוטים. 430 00:19:09,360 --> 00:19:13,170 מרכאות כפולות לספר מחשב שכל מה שבתוך 431 00:19:13,170 --> 00:19:14,850 הולך להיות מודפס. 432 00:19:14,850 --> 00:19:16,620 >> הכל בתוך קופסא פשוט להיות בדיוק איך 433 00:19:16,620 --> 00:19:19,920 אתה מקליד אותה, פרט ל בדרך כלל בסוף, 434 00:19:19,920 --> 00:19:23,610 אנחנו הולכים רוצים לכלול הו sorry-- n מקף hash--. 435 00:19:23,610 --> 00:19:24,640 אז n מקף. 436 00:19:24,640 --> 00:19:28,884 >> האם מישהו רוצה לקחת ניחוש על מה שעושה לקוד שלנו? 437 00:19:28,884 --> 00:19:29,465 כן. 438 00:19:29,465 --> 00:19:30,840 SPEAKER 6: מעביר אותו על קו חדש. 439 00:19:30,840 --> 00:19:31,650 ANDI פנג: בדיוק. 440 00:19:31,650 --> 00:19:34,660 אז כל המשמעות של זה הוא לאפשר כל מה שקורה 441 00:19:34,660 --> 00:19:37,520 אחרי זה, לאחר הצהרה זו, שיודפס בשורה חדשה. 442 00:19:37,520 --> 00:19:40,030 כך שכאשר אתה כותב קוד אין לך באופן אקראי דברים 443 00:19:40,030 --> 00:19:41,738 מודבקים על לסוף כי אתה לא רוצה. 444 00:19:41,738 --> 00:19:43,700 כל מה שמקבל בצורה מסודרת מודפס שורה אחת 445 00:19:43,700 --> 00:19:46,870 ואז אנחנו מתחילים בשורה הבאה. 446 00:19:46,870 --> 00:19:50,970 >> האם מישהו זוכר מה ש פסיק עושה כשאנחנו קידוד? 447 00:19:50,970 --> 00:19:54,580 448 00:19:54,580 --> 00:19:55,330 כן. 449 00:19:55,330 --> 00:19:55,740 >> SPEAKER 7: הצהרה. 450 00:19:55,740 --> 00:19:56,010 >> ANDI פנג: מצטער? 451 00:19:56,010 --> 00:19:57,100 >> SPEAKER 7: האם זה סופו של ההצהרה? 452 00:19:57,100 --> 00:19:57,766 >> ANDI פנג: כן. 453 00:19:57,766 --> 00:20:02,670 אז ב- C, או כל תכנות שפה, פסיק 454 00:20:02,670 --> 00:20:04,640 מציין את סוף שורת תכנות. 455 00:20:04,640 --> 00:20:09,240 כך למשל, באנגלית אנו משתמשים תקופה לומר, הו זה סוף משפט. 456 00:20:09,240 --> 00:20:12,857 בתכנות, אותו דבר, יש לנו פסיק כדי לציין את סוף השורה. 457 00:20:12,857 --> 00:20:14,690 לעתים קרובות, כאשר אתה מתחיל לתכנת, 458 00:20:14,690 --> 00:20:17,150 אתה מבין שאתה תשכח להוסיף נקודה-פסיק 459 00:20:17,150 --> 00:20:19,400 ואז אתה מנסה להפעילך קוד וזה לא עובדים. 460 00:20:19,400 --> 00:20:21,520 ואתה כמו, אה, אני לא יודע למה, זה צריך לעבוד. 461 00:20:21,520 --> 00:20:24,394 >> רוב הסיכויים שאתה כנראה שכחת פסיק או הסוגר או משהו 462 00:20:24,394 --> 00:20:25,020 אי שם. 463 00:20:25,020 --> 00:20:27,740 אז, זה חשוב לזכור. 464 00:20:27,740 --> 00:20:29,627 מגניב. 465 00:20:29,627 --> 00:20:31,960 בסדר, הרמת ידיים, איך הרבה אנשים כאן יש אי פעם 466 00:20:31,960 --> 00:20:37,210 לקח AP מדע או מחשב לתכנת ב- Java לפני, אי פעם? 467 00:20:37,210 --> 00:20:37,710 אוקיי. 468 00:20:37,710 --> 00:20:38,210 יפה. 469 00:20:38,210 --> 00:20:41,340 זה לא יהיה ישים לאחר מכן, אבל ב- Java, אתה 470 00:20:41,340 --> 00:20:44,960 יש משהו שנקרא System.out.println שאינו קיים בג 471 00:20:44,960 --> 00:20:49,927 >> אז ב- C, בכל פעם ש רוצה להוסיף במשתנים 472 00:20:49,927 --> 00:20:51,760 לכל דבר שאתה רוצה להדפיס, יש 473 00:20:51,760 --> 00:20:54,620 תחביר ספציפי שאנחנו הולכים להשתמש. 474 00:20:54,620 --> 00:20:56,520 זה נקרא placeholding-- בעצם 475 00:20:56,520 --> 00:21:01,180 אנו מוסיפים מצייני מיקום במקום של המספר השלם או משתנה 476 00:21:01,180 --> 00:21:02,580 כי אנחנו רוצים להדפיס. 477 00:21:02,580 --> 00:21:07,430 >> אז כפי שאתם יכולים לראות שצרפנו כותרת ספרייה חדשה להגיש כאן. 478 00:21:07,430 --> 00:21:09,130 ספריית CS50. 479 00:21:09,130 --> 00:21:13,160 ובתוך שספריית CS50 היא פונקציה משותפת נהיה באמצעות 480 00:21:13,160 --> 00:21:15,610 בקורס שלנו בשם GetInt (). 481 00:21:15,610 --> 00:21:21,830 >> האם מישהו רוצה לקחת דקירה ב מה GetInt () עשוי להיות עושה. 482 00:21:21,830 --> 00:21:22,830 >> קהל: [לא ברור] 483 00:21:22,830 --> 00:21:23,550 >> ANDI פנג: מצטער. 484 00:21:23,550 --> 00:21:24,370 לא יכולתי לשמוע אותך. 485 00:21:24,370 --> 00:21:25,511 מאדים, אף אחד. 486 00:21:25,511 --> 00:21:27,260 Maddie: הו, זה מבקש לך על מספר שלם. 487 00:21:27,260 --> 00:21:28,051 ANDI פנג: בדיוק. 488 00:21:28,051 --> 00:21:30,670 אז פונקציה זו, אחר פונקציה שכבר 489 00:21:30,670 --> 00:21:33,690 נכתב על ידי מישהו אחר שאנחנו יכולים לקרוא לחברה. 490 00:21:33,690 --> 00:21:38,000 כל זה הוא להנחות אותך, המשתמש, לקלט מה שאתה רוצה כקוד 491 00:21:38,000 --> 00:21:41,850 פועל והוא מאחסן whatever-- במקרה זה אנחנו GetInt () - ING, 492 00:21:41,850 --> 00:21:44,060 אז זה אומר שאנחנו קבלת מספר שלם. 493 00:21:44,060 --> 00:21:46,150 >> ואנחנו הולכים לאחסון כי במספר שלם אחר 494 00:21:46,150 --> 00:21:48,900 שאנחנו כבר עשינו רק בגיל שנקרא. 495 00:21:48,900 --> 00:21:51,500 זה הגיוני לכולם? 496 00:21:51,500 --> 00:21:52,190 מגניב. 497 00:21:52,190 --> 00:21:56,400 >> אז עכשיו שאנחנו כבר מאוחסנים שלמים זה, שאנחנו כבר תתבקשו מהמשתמש, 498 00:21:56,400 --> 00:22:00,010 במשתנה זה, יש לנו נוצר של int הסוג המכונה גיל, 499 00:22:00,010 --> 00:22:03,720 אנחנו יכולים להמשיך ומקום כי פונקציה בprintf שלנו (). 500 00:22:03,720 --> 00:22:08,970 אז התחביר בדרך כלל לprintf () הוא כי בכל מקום בגוף שלך בפועל 501 00:22:08,970 --> 00:22:14,410 קו שאתה רוצה לכלול מספר שלם ש, אתה עושה סמל שממש שם, 502 00:22:14,410 --> 00:22:17,800 סמל אחוזים, עם סוג של משתנה שאתה רוצה. 503 00:22:17,800 --> 00:22:20,090 >> אז במקרה בגיל זה הוא מספר שלם. 504 00:22:20,090 --> 00:22:25,030 אז אתה הולך לכולל % I כי זה מספר שלם. 505 00:22:25,030 --> 00:22:26,860 ואז אחריך הצהרה, שאתה הולך 506 00:22:26,860 --> 00:22:30,370 לעשות פסיק ו השם המשתנה. 507 00:22:30,370 --> 00:22:33,420 >> אז הנה, אנחנו הולכים להדפיס את, שלום, השם שלי הוא אנדי, 508 00:22:33,420 --> 00:22:35,730 ואני בן שנים ריקות. 509 00:22:35,730 --> 00:22:38,890 Hashta-- או, sorry--, גיל עם כל מה שאני קלט. 510 00:22:38,890 --> 00:22:42,790 אז אם אני היה לקלט 20 לGetInt () כאן, 511 00:22:42,790 --> 00:22:44,500 זה יהיה להדפיס את בדיוק את אותו הדבר. 512 00:22:44,500 --> 00:22:47,990 אבל, אם אני רוצה משהו קלט אחר, כמו אולי 40 או 45, 513 00:22:47,990 --> 00:22:50,800 אז היית רואה שבאו לידי ביטוי בהתאם בקוד. 514 00:22:50,800 --> 00:22:52,886 >> אז זה הוא דוגמא משהו בי 515 00:22:52,886 --> 00:22:55,260 זה מדפיס ונראה ל אתה כאילו זה אותו הדבר, 516 00:22:55,260 --> 00:22:57,593 אבל מתחת למכסת המנוע של המחשב יש למעשה 517 00:22:57,593 --> 00:22:59,560 דברים שונים מאוד קורים. 518 00:22:59,560 --> 00:23:00,060 מגניב. 519 00:23:00,060 --> 00:23:02,760 520 00:23:02,760 --> 00:23:03,260 בסדר. 521 00:23:03,260 --> 00:23:06,940 אז מה אם אנחנו רוצים משתנים מרובים? 522 00:23:06,940 --> 00:23:08,290 די קל. 523 00:23:08,290 --> 00:23:09,150 אותו דבר. 524 00:23:09,150 --> 00:23:11,930 יש לנו גם פונקציה חדשה כאן נקרא GetString (), 525 00:23:11,930 --> 00:23:15,380 גם נכלל בספריית CS50, שכל שהיא עושה היא להציג למשתמש 526 00:23:15,380 --> 00:23:18,120 למחרוזת, שהוא רק קבוצה של דמויות, 527 00:23:18,120 --> 00:23:19,810 כך כמו משפט או כמו שם. 528 00:23:19,810 --> 00:23:25,470 >> אז במקרה הזה, יהיה לנו שני מצייני מיקום% s עבורי מחרוזת ו% 529 00:23:25,470 --> 00:23:26,750 למספר שלם. 530 00:23:26,750 --> 00:23:29,190 ואנחנו הולכים למעקב שעל ידי שני משתנים 531 00:23:29,190 --> 00:23:32,670 אנחנו רוצים כללנו, לפי הסדר שהם מופיעים במשפט. 532 00:23:32,670 --> 00:23:35,471 כך למשל, השם שלי הוא ריק, אני רוצה שם שם, 533 00:23:35,471 --> 00:23:36,970 אז אני הולך להיות השם ראשון. 534 00:23:36,970 --> 00:23:39,637 ואז אחר כך, אני רוצה גיל, רוצה להיות שני בגיל. 535 00:23:39,637 --> 00:23:42,720 ולכן אם אני רוצה קלט, שלום, של שמי אנדי, ואני בן 20 שנים. 536 00:23:42,720 --> 00:23:46,370 אם אני הוזנתי אנדי ו -20, אותו דבר בדיוק היה להדפיס; 537 00:23:46,370 --> 00:23:51,134 עם זאת, עכשיו יש לנו שני מאוחסנים משתנים של שם, כמו גם int. 538 00:23:51,134 --> 00:23:51,634 כן. 539 00:23:51,634 --> 00:23:54,124 >> SPEAKER 8: האם זה יהיה תוכל לרוץ אם אתה עברת 540 00:23:54,124 --> 00:23:55,620 שם וגיל בסוף זה? 541 00:23:55,620 --> 00:23:55,840 >> ANDI פנג: כן. 542 00:23:55,840 --> 00:23:57,006 זאת שאלה ממש טובה. 543 00:23:57,006 --> 00:23:59,520 אז סיפור ארוך קצר, לא. 544 00:23:59,520 --> 00:24:03,070 בגלל השם וage-- מה סוג משתנה הוא שם? 545 00:24:03,070 --> 00:24:03,950 >> SPEAKER 8: מחרוזת. 546 00:24:03,950 --> 00:24:05,440 >> ANDI פנג: ומה סוג משתנה הוא גיל? 547 00:24:05,440 --> 00:24:06,231 >> SPEAKER 8: מספר שלם. 548 00:24:06,231 --> 00:24:10,290 ANDI פנג: אז הנה יש לנו מציין מיקום למחרוזת ושלמה, נכון? 549 00:24:10,290 --> 00:24:13,350 אז אם היה לך לעבור אלה, המחשב לא הולך לדעת. 550 00:24:13,350 --> 00:24:16,250 זה הולך לבדוק עבור מחרוזת, ואם אתה מנסה לתת לו int, 551 00:24:16,250 --> 00:24:18,083 זה הולך להיות כמו לחכות אני מבולבל, אתה 552 00:24:18,083 --> 00:24:21,100 אמר לי שאני צריך להיות הקצאת זיכרון עבור int. 553 00:24:21,100 --> 00:24:23,760 וכאן, כש היא מצפה שלם 554 00:24:23,760 --> 00:24:25,640 ואתה נותן לו שם ומחרוזת במקום, 555 00:24:25,640 --> 00:24:28,931 זה גם הולך להיות מאוד מבלבל, זה לא יפעל בדיוק כמו שאתה צריך את זה. 556 00:24:28,931 --> 00:24:35,280 אז הנה, שמות ותחביר הוא חשוב מאוד להפעלת קוד. 557 00:24:35,280 --> 00:24:37,991 כולם טובים? 558 00:24:37,991 --> 00:24:38,490 כן. 559 00:24:38,490 --> 00:24:39,476 מאדים. 560 00:24:39,476 --> 00:24:44,620 >> Maddie: הנה, אני יודע בדקנו בדוגמאות בכיתה, שבו הם שואלים 561 00:24:44,620 --> 00:24:46,950 מה הגיל שלך, מה השם שלך. 562 00:24:46,950 --> 00:24:50,250 הנה, זה יהיה אותו doesn't-- אם היינו להפעיל קוד זה, 563 00:24:50,250 --> 00:24:51,750 זה לא הייתי מבקש את זה? 564 00:24:51,750 --> 00:24:54,740 אבל היית רק שני מספרי הקלט ואז זה יהיה לרוץ ככה? 565 00:24:54,740 --> 00:24:55,781 >> ANDI פנג: כן, בדיוק. 566 00:24:55,781 --> 00:24:58,250 אז אם אתה רוצה שזה תצוגה, אנא הכנס בגילך, 567 00:24:58,250 --> 00:25:01,100 אתה יכול פשוט להוסיף printf פונקציה () שאומר, נא להזין את הגיל שלך, 568 00:25:01,100 --> 00:25:01,600 מעליו. 569 00:25:01,600 --> 00:25:02,711 זו שאלה טובה. 570 00:25:02,711 --> 00:25:03,210 כן. 571 00:25:03,210 --> 00:25:07,964 >> SPEAKER 9: אז, יהיה כבר כלול בGetInt () [לא ברור]. 572 00:25:07,964 --> 00:25:09,380 ANDI פנג: לא, זה ממש לא. 573 00:25:09,380 --> 00:25:11,809 אז כל המשמעות של זה הוא רק מבקש מסך ריק 574 00:25:11,809 --> 00:25:13,100 למשתמש קלט משהו. 575 00:25:13,100 --> 00:25:17,420 אם אתה רוצה את זה, אם אתה רוצה את זה כדי להדפיס משהו שמספר את המשתמש כמו החוצה, 576 00:25:17,420 --> 00:25:21,110 אנא תן לי את הגיל שלך, אז אתה יצטרך printf () זה בעצמך. 577 00:25:21,110 --> 00:25:23,789 כי כולם משתמש בזה פונקציה לדברים שונים, 578 00:25:23,789 --> 00:25:26,080 אתה יכול להיות אחסון גיל, אתה יכול להיות אחסון כתובת, 579 00:25:26,080 --> 00:25:28,060 אתה יכול להיות אחסון מספרי טלפון. 580 00:25:28,060 --> 00:25:31,190 ואז זה באמת עד שימושים הבודדים "הבחורים שלך 581 00:25:31,190 --> 00:25:34,390 על מה אתה רוצה שזה אומר. 582 00:25:34,390 --> 00:25:34,890 כן. 583 00:25:34,890 --> 00:25:38,236 >> SPEAKER 10: אז, רק כדי להבהיר, שבו אתה קלט שם והגיל 584 00:25:38,236 --> 00:25:43,020 כך שהוא מופיע במקום של% s? 585 00:25:43,020 --> 00:25:44,320 >> ANDI פנג: כמו במשתמש? 586 00:25:44,320 --> 00:25:47,165 >> SPEAKER 10: כן, כמו איך אני להפוך it-- איפה שמתי את אנדי, 587 00:25:47,165 --> 00:25:48,350 ואיפה אני שם את 20? 588 00:25:48,350 --> 00:25:48,640 >> ANDI פנג: כן. 589 00:25:48,640 --> 00:25:50,250 אז אם היה לך למעשה להפעיל קוד זה, 590 00:25:50,250 --> 00:25:52,875 אני לא ממש פועל קוד, זה רק כאן עכשיו. 591 00:25:52,875 --> 00:25:56,910 אם הייתי מפעיל את הקוד, הייתי לקמפל את הקוד, להפוך את הקובץ, 592 00:25:56,910 --> 00:26:00,760 להפעיל את הקוד, ואז לא יהיה רק שני חללים לי לקלטו. 593 00:26:00,760 --> 00:26:01,260 כן. 594 00:26:01,260 --> 00:26:03,843 אתם תראו כאשר אתה משחק סביב עם הקוד בעצמך. 595 00:26:03,843 --> 00:26:05,760 596 00:26:05,760 --> 00:26:09,645 >> בסדר אנחנו הולכים לעבור לחלק הבא של מה ש 597 00:26:09,645 --> 00:26:11,610 נהיה כיסוי היום. 598 00:26:11,610 --> 00:26:13,980 אנחנו הולכים לעבור על מה ש הצהרות מותנות הן. 599 00:26:13,980 --> 00:26:16,500 אז אם אתם זוכרים וזוכר מהרצאה, 600 00:26:16,500 --> 00:26:19,210 הצהרות מותנות, כולם הם קבוצה 601 00:26:19,210 --> 00:26:24,010 הוראות למחשב ב שאם מצב מסוים הוא אמיתי, 602 00:26:24,010 --> 00:26:27,470 אתה לבצע את הקוד בתוך המצב ש. 603 00:26:27,470 --> 00:26:30,101 >> אז בScratch-- בעצם הנושא הגדול מהיום 604 00:26:30,101 --> 00:26:32,850 הוא שיש לכם כבר את כל ראיתי את ההיגיון מאחורי כל דבר 605 00:26:32,850 --> 00:26:34,020 כי אנחנו מכסים. 606 00:26:34,020 --> 00:26:36,190 וכל מה שאנחנו עושים הוא תרגום משהו 607 00:26:36,190 --> 00:26:39,090 זה היה מאוד אינטואיטיבי ב שריטה, וקשה קידוד זה 608 00:26:39,090 --> 00:26:41,950 לתחביר נהיה באמצעות למעמד שהוא ג 609 00:26:41,950 --> 00:26:47,550 אז מבחינה לוגית, כל הבלוק הזה היה היא פיסת הקוד ממש שם. 610 00:26:47,550 --> 00:26:49,995 כן. 611 00:26:49,995 --> 00:26:50,900 אוקיי. 612 00:26:50,900 --> 00:26:55,290 >> גם אנחנו להיכנס אם ... אחר הצהרה שהיא פשוט שכבה נוסף 613 00:26:55,290 --> 00:26:59,120 של מורכבות לאם ההצהרה שבו המחשב לוקח מסתכל על זה 614 00:26:59,120 --> 00:27:04,260 ורואה, אם מצב זה נכון, לעשות כל מה שיש בתוכו שני סוגריים אלה, 615 00:27:04,260 --> 00:27:08,470 else-- כך כמו סוג של ברירת המחדל אם זה לא עומד בcondition-- לעשות את זה. 616 00:27:08,470 --> 00:27:10,120 זה כמו מזלג בכביש. 617 00:27:10,120 --> 00:27:14,400 אם יורד גשם בחוץ, אני מניח במעייל גשם, כל דבר אחר 618 00:27:14,400 --> 00:27:16,330 אחר אני לא לשים על מעיל גשם. 619 00:27:16,330 --> 00:27:18,400 >> האם היגיון שהגיוני לכולם? 620 00:27:18,400 --> 00:27:21,031 מגניב. 621 00:27:21,031 --> 00:27:21,530 בסדר. 622 00:27:21,530 --> 00:27:24,970 אז כמו דוגמא קשה של זה שהיינו רואה בC 623 00:27:24,970 --> 00:27:28,890 הוא אם אני רוצה ליצור שעות שיעורי בית נקראים משתנים. 624 00:27:28,890 --> 00:27:32,050 ואם שעות שיעורי בית היא פחות מחמישה, אני אומר חיים הוא גדולים. 625 00:27:32,050 --> 00:27:33,070 זה נפלא. 626 00:27:33,070 --> 00:27:36,450 עם זאת, אומרים המאבק הוא real-- וזה מה שכולנו ביום שני זה 627 00:27:36,450 --> 00:27:39,337 אחר הצהריים עד מדע היל הם כנראה עושה נכון now-- 628 00:27:39,337 --> 00:27:40,170 קהל: [צוחק] 629 00:27:40,170 --> 00:27:42,510 ANDI פנג: הם בדרכנו היה, תודה לך על זה. 630 00:27:42,510 --> 00:27:46,180 הדרך היינו hardcode זה ב- C הוא if-- נניח 631 00:27:46,180 --> 00:27:49,920 כבר יש לנו משתנים מסוג int נקרא שעות שיעורי בית ממש כאן. 632 00:27:49,920 --> 00:27:53,870 אם שעות שיעורי הבית היא פחות מ חמישה printf (), חיים הוא גדול. 633 00:27:53,870 --> 00:27:57,330 זכור לשמור / n כי אתה רוצה קו חדש לאחר. 634 00:27:57,330 --> 00:27:59,660 הדפסה אחרת, המאבק הוא אמיתית. 635 00:27:59,660 --> 00:28:03,720 >> האם כולם מבינים איך אני עברתי מבלוק זה 636 00:28:03,720 --> 00:28:07,610 לבלוק הזה של קוד? 637 00:28:07,610 --> 00:28:08,110 מגניב. 638 00:28:08,110 --> 00:28:11,030 639 00:28:11,030 --> 00:28:11,840 בסדר. 640 00:28:11,840 --> 00:28:15,930 >> אז עכשיו אנחנו הולכים להעיף מבט על הצהרות אם מרובות לגמרי. 641 00:28:15,930 --> 00:28:18,140 אז בואו נניח מטרתה של תכנית זו 642 00:28:18,140 --> 00:28:20,870 היה שננחה את המשתמש לכיתה. 643 00:28:20,870 --> 00:28:24,450 אנו הפקודה באמצעות GetInt () ל כיתה, והם קלט ערך, 644 00:28:24,450 --> 00:28:27,700 ואתה רוצה להציג איזה סוג של כיתה שיש להם. 645 00:28:27,700 --> 00:28:30,730 >> אז אם אני היה לעצב תכנית, אני אומר בדרך כלל בכל עינינו, 646 00:28:30,730 --> 00:28:35,490 90-100 הוא, 80-90 הוא B, וכן הלאה וכן הלאה. 647 00:28:35,490 --> 00:28:39,040 מה לא בסדר עם זה פיסת קוד שזה לא 648 00:28:39,040 --> 00:28:41,393 עושה מה שאני רוצה לעשות את זה. 649 00:28:41,393 --> 00:28:41,892 כן. 650 00:28:41,892 --> 00:28:45,100 >> 11 SPEAKER: יש להם גבולות נמוכים, אבל אין להם גבולות העליונים. 651 00:28:45,100 --> 00:28:46,280 >> ANDI פנג: בדיוק. 652 00:28:46,280 --> 00:28:47,950 האם כולם לשמוע מה היא אמרה? 653 00:28:47,950 --> 00:28:50,200 יש הולך להיות עליון גבולות, אבל אין גבולות נמוכים יותר. 654 00:28:50,200 --> 00:28:52,540 מצטער, להיפך, גבולות התחתונים, אין גבולות העליונים. 655 00:28:52,540 --> 00:28:55,090 אז היית רוצה לקחת דקירה באומר 656 00:28:55,090 --> 00:28:58,945 מה יהיה כתוב על זה מסך אם הייתי להפעיל קוד זה. 657 00:28:58,945 --> 00:28:59,820 SPEAKER 11: טעות? 658 00:28:59,820 --> 00:29:01,140 ANDI פנג: שגיאה? 659 00:29:01,140 --> 00:29:02,740 ניחוש גדול, לא לגמרי בסדר. 660 00:29:02,740 --> 00:29:05,465 האם יש למישהו ניסיון נוסף? 661 00:29:05,465 --> 00:29:06,640 כן, אהרון. 662 00:29:06,640 --> 00:29:10,099 >> אהרון: אם תשים ב משהו גדול יותר מ -90, 663 00:29:10,099 --> 00:29:11,640 זה היה מראה את כל הציונים שיש לך. 664 00:29:11,640 --> 00:29:13,640 זה היה מראה שיש לך, יש לך B, שיש לך ג 665 00:29:13,640 --> 00:29:13,870 >> ANDI פנג: כן. 666 00:29:13,870 --> 00:29:14,840 זה בדיוק נכון. 667 00:29:14,840 --> 00:29:17,820 אז, זה יהיה נפלא. 668 00:29:17,820 --> 00:29:21,781 עם זאת, הם הדדיים בלעדי, אני חושב. 669 00:29:21,781 --> 00:29:23,280 אם הייתי לרוץ פיסת קוד זה. 670 00:29:23,280 --> 00:29:26,200 ואז בואו נגיד, אני הוזן הכיתה של 95. 671 00:29:26,200 --> 00:29:30,360 אז 95 מאוחסנים כעת ב INT נקרא כיתה. 672 00:29:30,360 --> 00:29:33,610 >> וכך C הוא שפה שרץ מלמעלה למטה, 673 00:29:33,610 --> 00:29:36,000 כך זה הולך תמיד לרוץ עד תחתית. 674 00:29:36,000 --> 00:29:39,420 אז זה הולך לבוא לכאן, לקרוא אם הכיתה היא גדולה או שווה ל 90, 675 00:29:39,420 --> 00:29:42,850 printf () שיש לך א גדול, אני יש 95, זה יותר מ -90. 676 00:29:42,850 --> 00:29:44,866 זה הולך להדפיס, יש לי א זה הולך 677 00:29:44,866 --> 00:29:48,850 לתסתכל על זה אם, זה הולך אומר, גם 95 הוא גם יותר מ -80, 678 00:29:48,850 --> 00:29:52,970 זה הולך להדפיס גם שיש לך Got סימן ב 'סימן קריאה, וכן הלאה וכן 679 00:29:52,970 --> 00:29:53,690 הלאה. 680 00:29:53,690 --> 00:29:55,890 >> אז כפי שכולנו יכול לראות, מדובר בבאג נפוץ 681 00:29:55,890 --> 00:30:00,760 שעלול להתרחש כאשר אנחנו כתיבת קוד כדי לחפש. 682 00:30:00,760 --> 00:30:05,430 כל אחד, בכל שאלה ב למה שקורה? 683 00:30:05,430 --> 00:30:05,930 גדול. 684 00:30:05,930 --> 00:30:08,920 685 00:30:08,920 --> 00:30:09,440 אוקיי. 686 00:30:09,440 --> 00:30:12,110 >> אז איך אנחנו יכולים לתקן את זה, ללא ספק השאלה ההגיונית הבאה. 687 00:30:12,110 --> 00:30:16,290 ובכן, יש לנו אלה יפים דברים בשם אם אם אחר אחר 688 00:30:16,290 --> 00:30:18,010 אם דוחות אחר. 689 00:30:18,010 --> 00:30:22,230 אז אתה יכול לראות, אם אתה רוצה לשנות בעיה ש, 690 00:30:22,230 --> 00:30:25,260 אתה רוצה להפוך את כל אחד מ תנאים סותרים, 691 00:30:25,260 --> 00:30:26,860 יהיה עליך להוסיף עוד ... אם הצהרה. 692 00:30:26,860 --> 00:30:30,068 >> ואלה של course-- לחשוב עליהם כ סולמות, או כמו שלבים בladder-- 693 00:30:30,068 --> 00:30:34,050 אתה יכול להוסיף כמה שיותר מאלה שאתה רוצה לתנאים רבים ככל שאתה רוצה. 694 00:30:34,050 --> 00:30:36,790 אז הנה, אם אני הוזנתי כיתה להיות 95. 695 00:30:36,790 --> 00:30:39,479 אם הכיתה היא יותר מ 95, printf (), יש לי א גדול. 696 00:30:39,479 --> 00:30:42,020 זה הולך לראות עוד ... אם וזה הולך יודע, הו לא, 697 00:30:42,020 --> 00:30:43,750 אני כבר להורג הראשון אחר. 698 00:30:43,750 --> 00:30:47,020 אני יודע-- או if-- הראשון אני יודע ש אני לא צריך להסתכל על כל אחד מאלה 699 00:30:47,020 --> 00:30:48,920 כי אחד מהם כבר היה נכון. 700 00:30:48,920 --> 00:30:50,410 אז זה הולך לרוץ מלמעלה למטה. 701 00:30:50,410 --> 00:30:53,650 ברגע שהראשון הוא נכון, אז זה הולך לדלג על כל השאר 702 00:30:53,650 --> 00:30:54,675 של ... IFS אחר. 703 00:30:54,675 --> 00:30:55,550 האם זה הגיוני? 704 00:30:55,550 --> 00:30:57,841 אז, בדרך זו יש לך רמות של בדיקה שונות 705 00:30:57,841 --> 00:31:01,090 וברגע שאחד מהם הוא שקר, שאר הוא גם, שהם אפילו לא לבדוק. 706 00:31:01,090 --> 00:31:03,577 707 00:31:03,577 --> 00:31:04,076 מגניב. 708 00:31:04,076 --> 00:31:07,680 709 00:31:07,680 --> 00:31:08,180 בסדר. 710 00:31:08,180 --> 00:31:11,180 >> אז זה הוא דוגמא שונה סוג של הצהרה המותנה 711 00:31:11,180 --> 00:31:15,250 אנו רואים בתדירות נמוכה יותר, אבל אנחנו תראו אותם ולהשתמש בם. 712 00:31:15,250 --> 00:31:18,120 והם לעתים קרובות יותר יעיל במקרים מסוימים. 713 00:31:18,120 --> 00:31:20,020 אז יש לנו מה שנקרא הצהרה בורר. 714 00:31:20,020 --> 00:31:25,140 אז לפני שאנחנו מכוסים מה אחר הצהרה, הצהרה אחרת אם .... 715 00:31:25,140 --> 00:31:27,790 הנה, יש לנו מה הם נקרא הצהרות מתג. 716 00:31:27,790 --> 00:31:31,100 >> אז אנחנו עושים כאשר משתמשים בבורר ההצהרות הוא המפתח? 717 00:31:31,100 --> 00:31:34,090 אז בהצהרת מתג, אתה בדרך כלל, בדרך כלל, למעשה אתה 718 00:31:34,090 --> 00:31:38,010 יכול רק מספרים שלמים קלט עבורך משתנה שאתה בודק. 719 00:31:38,010 --> 00:31:42,390 אז אם אני רוצה לבדוק אם number-- מסוים לדוגמא 720 00:31:42,390 --> 00:31:43,720 כיתה, אם יש לי 90. 721 00:31:43,720 --> 00:31:48,190 אני רוצה אותו כדי לראות אם זה, יש לי B, או C. יכולתי מקרה כאן. 722 00:31:48,190 --> 00:31:50,840 עם זאת, במקרה יש לי להיות קבוע אחר. 723 00:31:50,840 --> 00:31:53,170 >> אז במובן הזה, מתג הצהרה יכולה רק 724 00:31:53,170 --> 00:31:55,290 לבדוק לשוויון של שני מספרים. 725 00:31:55,290 --> 00:31:57,242 זה לא לבדוק כל דבר אחר. 726 00:31:57,242 --> 00:31:59,950 אז זה משהו מאוד זהיר כאשר אתה משתמש בזה. 727 00:31:59,950 --> 00:32:04,810 אז הנה, אם אני רוצה לבדוק אם הכיתה של 90 שווה 90 או 80 728 00:32:04,810 --> 00:32:08,500 או 70 או 60, ולאחר מכן הדפסה הכיתה המקבילה, 729 00:32:08,500 --> 00:32:11,420 אני רוצה להיות מסוגל לכתוב ש בהצהרת מתג. 730 00:32:11,420 --> 00:32:15,120 >> אז זה הולך לבוא לכאן, סימון הוא מספר שלם זה שווה לקבוע זה? 731 00:32:15,120 --> 00:32:17,030 אם לא, זה הולך לדלג. 732 00:32:17,030 --> 00:32:19,880 האם זה שווה לקבוע שני, וכן הלאה וכן הלאה, 733 00:32:19,880 --> 00:32:22,390 עד שפגעת בברירת המחדל, אם אף אחד מהם שווים. 734 00:32:22,390 --> 00:32:24,590 ברגע שאחד מהם מוגדר להיות שווה, 735 00:32:24,590 --> 00:32:27,040 זה הולך לעשות את זה שורת קוד וההפסקה. 736 00:32:27,040 --> 00:32:30,990 מה שאומר שזה הולך לפגוע ש לרוץ, לשבור, ופשוט לדלג לגמרי 737 00:32:30,990 --> 00:32:32,240 לחלק התחתון של הקוד. 738 00:32:32,240 --> 00:32:37,550 אז במובן הזה הסוג של פונקציות כמו אם אחר אם אם הצהרה אחרת. 739 00:32:37,550 --> 00:32:40,830 >> אז הנה בטון דוגמא בשבילכם. 740 00:32:40,830 --> 00:32:46,140 אז בואו נניח שאני רוצה ליצור משתנה בשם השנה נוסדה. 741 00:32:46,140 --> 00:32:50,230 ואני רוצה לבקש מהמשתמש הקלט השנה שבית הספר שלהם הוקם. 742 00:32:50,230 --> 00:32:53,300 אז אני יכול ליצור הצהרת מתג כאן. 743 00:32:53,300 --> 00:32:56,650 ובואו נגיד, אני קלט 1,636. 744 00:32:56,650 --> 00:33:01,120 >> קוד זה כאן הולך לראות מתג השנה נוסדה אשר שווה 1,636. 745 00:33:01,120 --> 00:33:03,940 זה הולך לראות מקרה 1636, הו אלה הם שווים, 746 00:33:03,940 --> 00:33:06,230 printf () לא כדאי לך להיות שבצפון בית הספר עד? 747 00:33:06,230 --> 00:33:08,770 כי אנחנו מניחים שהם לא ללכת כאן אם הם הולכים לאוניברסיטת הרווארד, 748 00:33:08,770 --> 00:33:10,380 לשבור ולדלג על הסוף. 749 00:33:10,380 --> 00:33:14,090 >> אם הייתי קלט 1701, ש אני מניח שכולנו היית קלט, 750 00:33:14,090 --> 00:33:17,500 זה יהיה לדלג מקרה זה, לבוא עד מקרה שני שהוא 1701, 751 00:33:17,500 --> 00:33:19,660 וברוך הדפסה לייל! 752 00:33:19,660 --> 00:33:21,360 לשבור, לדלג על הסוף. 753 00:33:21,360 --> 00:33:25,130 אחר אתה כנראה לוקח את הקורס הזה באינטרנט שבו case-- מוזמנים מדהים 754 00:33:25,130 --> 00:33:29,020 לYale-- זה הולך ללכת ל ברירת מחדל להדפסה, שלום אינטרנט! 755 00:33:29,020 --> 00:33:29,870 ולשבור. 756 00:33:29,870 --> 00:33:30,466 כן. 757 00:33:30,466 --> 00:33:32,090 >> 12 דובר: האם אתה יכול להשתמש אחר במקום ברירת מחדל שם? 758 00:33:32,090 --> 00:33:34,550 >> ANDI פנג: לא, כי דרך שכל פונקציה זו 759 00:33:34,550 --> 00:33:39,170 מתג בנוי, תחבירך צריך להשתמש הוא מקרה ברירת מחדל מקרה. 760 00:33:39,170 --> 00:33:42,400 זה כמו אם אחר אם, זה אחד זה מקרה ברירת מחדל מקרה. כן. 761 00:33:42,400 --> 00:33:45,650 13 דובר: אתה אולי כבר אמר את זה, אבל אתה יכול להיות יותר משני המקרים? 762 00:33:45,650 --> 00:33:48,066 ANDI פנג: כן, אתה יכול יש מקרים רבים ככל שאתה רוצה. 763 00:33:48,066 --> 00:33:50,050 תחשוב על זה כפשוט אוהב לאין שיעור הוספה ב. 764 00:33:50,050 --> 00:33:52,396 >> 14 דובר: אם אתה החליף 1,701 עם 1636, 765 00:33:52,396 --> 00:33:54,187 זה לא ממש עושה זכות הבדל? 766 00:33:54,187 --> 00:33:55,770 זה פשוט הולך להיות בדיקה לזה. 767 00:33:55,770 --> 00:33:56,900 >> ANDI פנג: זה שאלה ממש טובה. 768 00:33:56,900 --> 00:33:58,880 ואנו נוגעים ב זה מאוחר יותר, אבל רק 769 00:33:58,880 --> 00:34:01,160 יודע שזה המתג הצהרה היא infinitely-- זה 770 00:34:01,160 --> 00:34:03,536 יעיל יותר מזה ואם אחר אם כי זה פועל 771 00:34:03,536 --> 00:34:06,660 באמצעות סוג של פונקציה שונה ש מאפשר לך, למהות, לרק 772 00:34:06,660 --> 00:34:08,790 לקפוץ ישר ל מקרה שאתה צריך להיות ב. 773 00:34:08,790 --> 00:34:10,547 כן. 774 00:34:10,547 --> 00:34:11,255 14 מרצה: מגניב. 775 00:34:11,255 --> 00:34:11,754 תודה. 776 00:34:11,754 --> 00:34:12,526 ANDI פנג: כן 777 00:34:12,526 --> 00:34:16,687 >> 14 דובר: ואתה לא יכול לעשות מקרים כמו ויותר מ. 778 00:34:16,687 --> 00:34:17,270 ANDI פנג: מס ' 779 00:34:17,270 --> 00:34:19,860 אז, זה מה שמגביל על ההצהרה הבורר היא שיש לך 780 00:34:19,860 --> 00:34:21,564 יש קבועים רק, רק מספרים שלמים. 781 00:34:21,564 --> 00:34:22,064 כן. 782 00:34:22,064 --> 00:34:25,179 783 00:34:25,179 --> 00:34:25,820 אוקיי. 784 00:34:25,820 --> 00:34:28,659 >> אז זה משהו שאתה בחורים ייתקלו בתדירות נמוכה יותר של, 785 00:34:28,659 --> 00:34:32,280 אבל אני רק רציתי להציג אותו במקרה. 786 00:34:32,280 --> 00:34:36,210 יש לנו כאן מה בשם מפעיל משולש. 787 00:34:36,210 --> 00:34:39,370 איפה בעצם, זה בדיוק כמו אם הצהרה מלוקט לתוך שורה אחת. 788 00:34:39,370 --> 00:34:42,630 הנה, אני אלך על השורה הבאה, הדף הבא, כי זה יותר קל לראות. 789 00:34:42,630 --> 00:34:44,860 >> אז כל שראינו את זה נכון? 790 00:34:44,860 --> 00:34:46,110 זה די קל לעקוב. 791 00:34:46,110 --> 00:34:51,290 אם אני רוצה לעשות משתנה בשם של מחרוזת בשם, אם מספר מסוים 792 00:34:51,290 --> 00:34:54,770 אני נותן לה הוא פחות מ -100, אני רוצה להקצות נמוך למחרוזת, 793 00:34:54,770 --> 00:34:57,240 עוד אני רוצה להקצות גבוה. 794 00:34:57,240 --> 00:35:01,370 >> זה כאן עושה בדיוק את אותו דבר שמונת קווים אלה של קוד עושים. 795 00:35:01,370 --> 00:35:03,600 אז הנה אני רוצה ליצור מחרוזת משתנה. 796 00:35:03,600 --> 00:35:08,520 וזה המצב שאני בדיקה, אם מספר הוא פחות מ 100, 797 00:35:08,520 --> 00:35:12,750 אז אתה להקצות את הערך נמוך, אחר להקצות את הערך גבוה. 798 00:35:12,750 --> 00:35:15,802 >> שקופיות אלה יהיו מקוונות, אין דאגות אם אתם לא מקבלים את זה. 799 00:35:15,802 --> 00:35:18,510 זוהי רק דרך פשוטה יותר, יותר דרך יעילה של כתיבת קוד. 800 00:35:18,510 --> 00:35:21,290 801 00:35:21,290 --> 00:35:21,810 אוקיי. 802 00:35:21,810 --> 00:35:25,190 >> אז עכשיו אנחנו הולכים ל להיכנס מה, עבור רוב האנשים 803 00:35:25,190 --> 00:35:28,660 כמו מאוד, מאוד מבלבל דבר לחשוב על בהתחלה. 804 00:35:28,660 --> 00:35:30,226 סעיף הלולאה. 805 00:35:30,226 --> 00:35:32,600 אז היום, אנחנו הולכים לדבר על שלושה סוגים של לולאות. 806 00:35:32,600 --> 00:35:34,890 אנחנו הולכים להתחיל עם זמן לולאה, ואז לדבר על לעשות בזמן לולאה, 807 00:35:34,890 --> 00:35:36,740 ולאחר מכן לדבר על ללולאות. 808 00:35:36,740 --> 00:35:40,010 >> אז בעצם, ליותר לומדים חזותיים בחוץ, 809 00:35:40,010 --> 00:35:44,410 יש לנו, בעצם, גרפי תיאור של מה שלולאה בזמן שעושה. 810 00:35:44,410 --> 00:35:48,290 אז בתכנות, אתה תתחיל והזן את הלולאה בנקודה מסוימת. 811 00:35:48,290 --> 00:35:49,470 אתה בודק את מצב. 812 00:35:49,470 --> 00:35:52,165 ואם המצב הוא נכון, אתה לבצע את הקוד בפנים. 813 00:35:52,165 --> 00:35:53,790 ואתה חוזר סביב ולבדוק. 814 00:35:53,790 --> 00:35:57,190 אם זה עדיין נכון לך להמשיך לרוץ קוד זה סביב סביב בלולאה. 815 00:35:57,190 --> 00:36:00,970 >> עם זאת, השני ש המצב הופך להיות כוזב, 816 00:36:00,970 --> 00:36:02,739 אתה הולך לשבור ולסיים את הלולאה. 817 00:36:02,739 --> 00:36:05,030 וזה בעצם תחביר אתה הולך להשתמש. 818 00:36:05,030 --> 00:36:08,250 בעוד מצב מסוים הוא נכון לעשות את זה, אם זה לא נכון, 819 00:36:08,250 --> 00:36:12,920 אתה הולך לדלג על הסוף ולהתקדם עם התכנית שלך. 820 00:36:12,920 --> 00:36:13,690 אוקיי. 821 00:36:13,690 --> 00:36:17,250 >> האם יש למישהו דוגמא על מה שעשוי לקרות פוטנציאלי 822 00:36:17,250 --> 00:36:19,160 אם אני מנסה להפעיל פיסת קוד זה? 823 00:36:19,160 --> 00:36:22,470 אגב, SAJ-- זה Scaz, אנדי, Jason-- אנחנו לחתום המיילים שלנו, 824 00:36:22,470 --> 00:36:24,830 אוהב, SAJ. 825 00:36:24,830 --> 00:36:25,573 זה. 826 00:36:25,573 --> 00:36:26,500 אוקיי. 827 00:36:26,500 --> 00:36:29,829 >> למישהו יש דוגמא, או שיש לי מושג על מה זה היה להדפיס? 828 00:36:29,829 --> 00:36:30,870 סוג של שאלה מכשילה. 829 00:36:30,870 --> 00:36:34,550 830 00:36:34,550 --> 00:36:39,380 אז הנה, זוכר את המצב אנחנו בודקים להוא תוך נכונים. 831 00:36:39,380 --> 00:36:42,840 אז בזמן שזה נכון, זה הולך להדפיס, אני אוהב את SAJ! 832 00:36:42,840 --> 00:36:48,460 האם יש נקודה שבנו הייתי לשנות את זה למשהו אחר? 833 00:36:48,460 --> 00:36:49,050 לא, נכון? 834 00:36:49,050 --> 00:36:51,470 >> אז כאן, יש לנו נתקל מה כנראה 835 00:36:51,470 --> 00:36:54,310 הולך להיות מטריד הרבה התוכניות שלך, הלולאה האינסופית. 836 00:36:54,310 --> 00:36:56,268 אתה תמצא שאם אתה לרוץ פיסת קוד זה, 837 00:36:56,268 --> 00:36:58,160 זה רק הולך לשמור הדפסה, אני אוהב את SAJ! 838 00:36:58,160 --> 00:37:00,701 בעוד אנו מעריכים את התמיכה, אנחנו לא רוצים מחשבים שלך 839 00:37:00,701 --> 00:37:02,910 לקרוס בגלל שאתה להמשיך בהדפסה אני אוהב SAJ! 840 00:37:02,910 --> 00:37:05,320 >> אז בבקשה, בבקשה, להימנע מהלולאה האינסופית 841 00:37:05,320 --> 00:37:07,320 כי זה אף פעם לא קורה כדי להעריך שווא 842 00:37:07,320 --> 00:37:08,780 ואתה אף פעם לא הולך לעזוב את הלולאה. 843 00:37:08,780 --> 00:37:10,530 ואתה הולך להישאב בלנצח. 844 00:37:10,530 --> 00:37:13,000 מגניב. 845 00:37:13,000 --> 00:37:13,694 אוקיי. 846 00:37:13,694 --> 00:37:15,610 הסוג השני של לולאה נדבר על היום 847 00:37:15,610 --> 00:37:17,580 הוא לעשות בזמן הלולאה, לעשות בזמן הלולאה. 848 00:37:17,580 --> 00:37:20,580 וזה נקרא לעשות בזמן לולאה כי יש לך לעשות וכמה זמן. 849 00:37:20,580 --> 00:37:24,390 אז זה די דומה לזמן ש לולאה, אבל קצת שונה. 850 00:37:24,390 --> 00:37:27,620 הנה, אתה הולך לעשות כל מה שיש בפנים של זה 851 00:37:27,620 --> 00:37:29,747 בעוד מצב מסוים הוא אמיתי. 852 00:37:29,747 --> 00:37:32,580 אז אם אני היה C והמחשב אני רץ במורד קטע קוד זה, 853 00:37:32,580 --> 00:37:33,880 אני נסתכל בחלק העליון. 854 00:37:33,880 --> 00:37:36,890 אני הולך לC, אני אומר לעשות את הדבר הזה. 855 00:37:36,890 --> 00:37:40,550 ואז אני בודק, ואילו זה נכון, יש לי לחזור על זה. 856 00:37:40,550 --> 00:37:42,750 אבל בזמן הזה הוא שקר, אז אני להתקדם 857 00:37:42,750 --> 00:37:44,700 ואני אף פעם לא אחזור ללולאה ששוב. 858 00:37:44,700 --> 00:37:48,360 >> מישהו יכול לקחת דקירה מה ההבדל 859 00:37:48,360 --> 00:37:52,130 בין לולאה זה ואנחנו אחד רק הבטתי בהיה כמעט. 860 00:37:52,130 --> 00:37:52,717 כן. 861 00:37:52,717 --> 00:37:55,050 15 מרצה: המצב מגיע אחרי במקום לפני? 862 00:37:55,050 --> 00:37:55,841 ANDI פנג: בדיוק. 863 00:37:55,841 --> 00:37:57,984 אז היא אמרה את המצב מגיע אחרי, לא לפני. 864 00:37:57,984 --> 00:38:00,400 סופו של דבר, ההבדל בין זה ותוך הלולאה 865 00:38:00,400 --> 00:38:03,597 הוא שאתה פשוט הולך לעשות כל מה שיש בפנים זה ללא קשר ל 866 00:38:03,597 --> 00:38:06,430 אם המצב שלך הוא נכון, ולאחר מכן לבדוק את מצבו. 867 00:38:06,430 --> 00:38:08,304 אז במקרה הזה, אתה תמיד-- בדרך זו, 868 00:38:08,304 --> 00:38:11,240 אתה תמיד לוודא ש כל מה שיש בפנים פועל לפחות 869 00:38:11,240 --> 00:38:14,230 פעם אחת לפני הבדיקה כדי לראות אם אתה רוצה את זה כדי לרוץ שוב. 870 00:38:14,230 --> 00:38:18,040 >> והנה דוגמא כאשר היינו להשתמש בו. 871 00:38:18,040 --> 00:38:22,570 כך למשל, אם אני רוצה שיהיה לי משתנה מסוג int בשם גיל, 872 00:38:22,570 --> 00:38:25,640 ואני רוצה לבקש המשתמש לגילם, 873 00:38:25,640 --> 00:38:27,910 אני הולך לעשות printf () בן כמה אתה? 874 00:38:27,910 --> 00:38:30,330 גיל = GetInt (), ש הוא להציג הודעה למשתמש. 875 00:38:30,330 --> 00:38:32,140 >> וכמה אנשים יהיו ממש מעצבן. 876 00:38:32,140 --> 00:38:34,931 ואתה לא רוצה באגים בך תכנית של מישהו מזינה כמו, 877 00:38:34,931 --> 00:38:36,680 הו אני שלילי 4 שנים או משהו כזה. 878 00:38:36,680 --> 00:38:39,900 במקרה כזה, אם הם לעשות את זה, זה מעריך 879 00:38:39,900 --> 00:38:43,150 לנכון, מה שאומר שאני הולך צריך לשמור חוזרים ועושה את זה. 880 00:38:43,150 --> 00:38:45,310 אז זה הולך לשמור משתמש הנחיה חוזרת 881 00:38:45,310 --> 00:38:47,960 כדי לתת לך כמו אמיתי מספר גיל וזה 882 00:38:47,960 --> 00:38:51,930 הולך לשמור חוזרת ומחדשת זה עד שהם נותנים לך גיל אמיתי 883 00:38:51,930 --> 00:38:56,900 יותר מפעם אחת, או לא אפס. 884 00:38:56,900 --> 00:38:58,020 >> אז לרמוז, רמז. 885 00:38:58,020 --> 00:39:02,263 זה יהיה מאוד, מאוד שימושי לאחת מבעיות PSet. 886 00:39:02,263 --> 00:39:04,155 כן. 887 00:39:04,155 --> 00:39:05,580 >> SPEAKER 16: אופס, סליחה. 888 00:39:05,580 --> 00:39:06,288 >> ANDI פנג: כן. 889 00:39:06,288 --> 00:39:09,424 >> SPEAKER 16: האם יש, לא להיות אידיוט, but-- 890 00:39:09,424 --> 00:39:10,340 ANDI פנג: אין בעיה. 891 00:39:10,340 --> 00:39:11,990 SPEAKER 16: --are שם כללים שונים כאן, 892 00:39:11,990 --> 00:39:13,810 או שרק לך לשכוח לשים את הציטוט? 893 00:39:13,810 --> 00:39:14,250 >> ANDI פנג: הו כן. 894 00:39:14,250 --> 00:39:15,530 מצטער, זה לגמרי שלי רע. 895 00:39:15,530 --> 00:39:17,100 זה היה בהחלט אמור להיות ציטוט. 896 00:39:17,100 --> 00:39:17,690 לתפוס טוב. 897 00:39:17,690 --> 00:39:18,800 זה היה לא לרוץ. 898 00:39:18,800 --> 00:39:22,070 899 00:39:22,070 --> 00:39:22,830 אוקיי. 900 00:39:22,830 --> 00:39:26,160 >> אז הסוג האחרון של לולאה נדבר על וסופו של דבר, סוג של רוב 901 00:39:26,160 --> 00:39:28,854 מורכב הוא ללולאה. 902 00:39:28,854 --> 00:39:30,770 אל תדאג אם אין לך יודע מה זה אומר. 903 00:39:30,770 --> 00:39:32,061 זה די מבלבל בהתחלה. 904 00:39:32,061 --> 00:39:33,640 אנחנו נלך על דוגמא. 905 00:39:33,640 --> 00:39:37,040 >> כל מה שקורה ללולאה הוא שיש לך שלושה דברים 906 00:39:37,040 --> 00:39:38,380 שאתה הולך לכלול. 907 00:39:38,380 --> 00:39:42,130 אז לדבר מסוים, אתה הולך לאתחל משתנה. 908 00:39:42,130 --> 00:39:45,280 אתה הולך להוסיף את המצב ל שלולאה זה תמשיך לפעול. 909 00:39:45,280 --> 00:39:47,790 ולאחר מכן, בסוף לולאה, אתה הולך לעדכן אותו. 910 00:39:47,790 --> 00:39:50,248 אתה יכול לעדכן את משתנה שברצונך לעקוב אחר. 911 00:39:50,248 --> 00:39:52,530 אז בדרך כלל אנחנו משתמשים ללולאות לכאשר אנו 912 00:39:52,530 --> 00:39:55,390 רוצה לרוץ ללולאה כמות מסוימת של פעמים 913 00:39:55,390 --> 00:39:58,900 ואנחנו כבר יודעים, הו אני רוצה לולאה זו לביצוע כמו 10 פעמים, 914 00:39:58,900 --> 00:40:03,060 אז אתה do-- אני אלך על דוגמא בעמוד הבא. 915 00:40:03,060 --> 00:40:07,830 >> אז הנה לדוגמא, בלגרד, אם אתה רציתי משהו לחזור 10 פעמים, 916 00:40:07,830 --> 00:40:10,790 כל מה שאתה אומר היה, חזרו על תרגיל 10 פעמים אני אוהב SAJ! 917 00:40:10,790 --> 00:40:15,260 שהוא מקובל יותר מפגן תמיכה בנו 918 00:40:15,260 --> 00:40:17,120 ולא הלולאה האינסופית. 919 00:40:17,120 --> 00:40:19,920 כאן, איך היית מעבר ל- C וכתיבה 920 00:40:19,920 --> 00:40:26,040 כלומר לint-- אני הולך ליצור או להצהיר על משתנה מסוג int בשמי. 921 00:40:26,040 --> 00:40:30,089 אני הולך לאתחל זה ל0, אז אני = 0; 922 00:40:30,089 --> 00:40:31,630 וזה הולך להיות המצב שלי. 923 00:40:31,630 --> 00:40:33,860 אז הוא שפחות מ -10. 924 00:40:33,860 --> 00:40:36,096 ולאחר מכן בend-- ההצהרה האחרונה שאתה 925 00:40:36,096 --> 00:40:38,710 הולך להיות הוא העדכון של מה קורה לאני משתנה 926 00:40:38,710 --> 00:40:40,206 בסוף שלך ללולאה. 927 00:40:40,206 --> 00:40:42,830 אז זה סוג של מבלבל, כי חלקים שונים של קו זה 928 00:40:42,830 --> 00:40:44,871 קורים בשונה סוגים של הלולאה. 929 00:40:44,871 --> 00:40:46,746 אבל אני אלך על דוגמא פסאודו קוד של ש 930 00:40:46,746 --> 00:40:50,360 ואולי להסביר את זה רק קצת יותר טוב. 931 00:40:50,360 --> 00:40:51,500 >> אז הנה. 932 00:40:51,500 --> 00:40:52,929 זה הלולאה רק שראינו. 933 00:40:52,929 --> 00:40:55,470 בעיקרו של דבר בפסאודו קוד, מה ש קורה בתכנית זו, 934 00:40:55,470 --> 00:40:57,940 הוא ראשון אני יוצר אני, אתחולו ל -0. 935 00:40:57,940 --> 00:41:00,440 אני בודק לראות אם הוא אני פחות מ -10, ובמקרה זה 936 00:41:00,440 --> 00:41:02,840 בפעם הראשונה זה כי 0 הוא פחות מ -10. 937 00:41:02,840 --> 00:41:04,727 כך הלולאה הולכת לרוץ. 938 00:41:04,727 --> 00:41:06,310 ואז אני הולך להדפיס את הקו הזה. 939 00:41:06,310 --> 00:41:11,240 ואז בסוף הקו הזה, נכון כאן, אני הולך לעשות תוספת i, i ++, 940 00:41:11,240 --> 00:41:13,370 כל האמצעים שהם הגדלה על ידי אחד. 941 00:41:13,370 --> 00:41:15,460 >> אז הוא עכשיו 1. 942 00:41:15,460 --> 00:41:17,960 כי זה היה פעם אחת 0, אם אני להגדיל זה, עכשיו זה 1. 943 00:41:17,960 --> 00:41:19,610 ואז אני הולך לחזור לתחילת הלולאה 944 00:41:19,610 --> 00:41:20,730 ואני בודק את המצב. 945 00:41:20,730 --> 00:41:22,080 האם המצב עדיין נכון? 946 00:41:22,080 --> 00:41:24,030 כן, 1 הוא עדיין פחות מ -10. 947 00:41:24,030 --> 00:41:27,370 אז זה הולך להדפיס את זה שוב, ללכת ולאחר מכן להגדיל i, ולבדוק 948 00:41:27,370 --> 00:41:29,180 המצב ברציפות, ברציפות, 949 00:41:29,180 --> 00:41:33,290 עד שסופו של דבר לקבל לנקודה שבה אני הוא 10. 950 00:41:33,290 --> 00:41:36,300 >> אתה הולך להדפיס 10 פעמים ואז אני הולך להיות שווה 10. 951 00:41:36,300 --> 00:41:37,800 אתה הולך לבדוק את מצבו. 952 00:41:37,800 --> 00:41:38,760 האם 10 פחות מ -10? 953 00:41:38,760 --> 00:41:40,370 לא, זה שקר. 954 00:41:40,370 --> 00:41:43,020 לפיכך, לולאה זה לא הולכת לרוץ, זה הולך לשבור, 955 00:41:43,020 --> 00:41:45,040 ואתה הולך להמשיך עם הקוד שלך. 956 00:41:45,040 --> 00:41:47,550 >> אז כפי שאתם יכולים לראות, זה היא דוגמא גדולה באמת 957 00:41:47,550 --> 00:41:53,110 של לולאה אתה יכול לתכנת שב פועל עבור סכום מסוים של פעמים. 958 00:41:53,110 --> 00:41:54,457 כל אחד ברור? 959 00:41:54,457 --> 00:41:54,956 כן. 960 00:41:54,956 --> 00:41:59,060 >> SPEAKER 17: מה דעתך על תוספת באופן אקספוננציאלי, זה קידוד שונה? 961 00:41:59,060 --> 00:42:02,060 >> ANDI פנג: אתה can-- נלך על זה בשקופית הבאה. 962 00:42:02,060 --> 00:42:03,350 שאלה טובה. 963 00:42:03,350 --> 00:42:05,910 האם anyone-- לפני שאעבור on-- מישהו בכלל מבולבל, 964 00:42:05,910 --> 00:42:07,640 בגלל זה הוא מושג באמת קשה. 965 00:42:07,640 --> 00:42:09,510 אין דאגות, אם you're-- אישור. 966 00:42:09,510 --> 00:42:10,010 מגניב. 967 00:42:10,010 --> 00:42:12,836 968 00:42:12,836 --> 00:42:13,490 >> בסדר. 969 00:42:13,490 --> 00:42:14,610 רק שקופית כללית. 970 00:42:14,610 --> 00:42:18,020 תוך לולאה זה עושה אותו דבר בדיוק ללולאה היה. 971 00:42:18,020 --> 00:42:19,631 זה פשוט נכתב בצורה שונה. 972 00:42:19,631 --> 00:42:22,130 אתם יכולים לעיין בשקופיות לנוחותך בשלב מאוחר יותר. 973 00:42:22,130 --> 00:42:24,880 אבל רק יודע שיש מספר רב של דרכים של כתיבת אותו הדבר 974 00:42:24,880 --> 00:42:28,300 לקרות עם לולאות שונות. 975 00:42:28,300 --> 00:42:28,800 אוקיי. 976 00:42:28,800 --> 00:42:32,380 >> אז, עכשיו אנחנו מקבלים בשאלה של מה אם יש לנו לולאה בתוך לולאה. 977 00:42:32,380 --> 00:42:35,810 אנחנו מקבלים לתוך אמיתיים דברים מסוג ההקמה כאן. 978 00:42:35,810 --> 00:42:40,640 כאשר אתה רוצה לעשות דברים מרובים פעמים בתוך דברים אחרים 979 00:42:40,640 --> 00:42:44,129 שעושים דברים מספר פעמים, אתה רוצה מה שנקרא מקונן ללולאה. 980 00:42:44,129 --> 00:42:47,420 לאלו מכם שרואים את זה ראשון ו להתבלבל מאוד, כל מה שאנחנו עושים כאן 981 00:42:47,420 --> 00:42:50,580 הוא נתקל ללולאה שבי יש לנו משתנים ברציפות. 982 00:42:50,580 --> 00:42:54,500 אבל בתוכו, יש לנו גם אחרת ללולאה של עמודה משתנה בשם. 983 00:42:54,500 --> 00:42:58,560 ואני מאוד ממליץ לכולכם מי מבולבלים לראשון לשמור 984 00:42:58,560 --> 00:43:00,310 track-- לצייר את זה, לצייר את זה. 985 00:43:00,310 --> 00:43:03,000 אל תנסה רק סיבה דרכו, למשוך אותו החוצה. 986 00:43:03,000 --> 00:43:06,630 >> בראש שלך, על פיסת זו נייר, או מה, שורת כתיבה, 987 00:43:06,630 --> 00:43:08,614 לעקוב אחרי מה השורה שווה ל. 988 00:43:08,614 --> 00:43:10,780 לכתוב טור, לעקוב אחר ממה שהטור שווה ל. 989 00:43:10,780 --> 00:43:13,490 ולעקוב אחר מה הוא הדפסה עם כל איטרציה. 990 00:43:13,490 --> 00:43:16,320 כל איטרציה של לולאה זה, כל איטרציה של לולאה שגדולה יותר, 991 00:43:16,320 --> 00:43:17,820 רק לשמור הבא ההיגיון. 992 00:43:17,820 --> 00:43:20,190 ואני מבטיח לך, אתה תאהב את מה שאתה רואה, 993 00:43:20,190 --> 00:43:24,307 כי זה מאוד גם ישים עבור סטי הבעיה שלך. 994 00:43:24,307 --> 00:43:24,806 מגניב. 995 00:43:24,806 --> 00:43:27,501 996 00:43:27,501 --> 00:43:28,000 בסדר. 997 00:43:28,000 --> 00:43:30,723 אז הדבר החשוב ביותר כי אתם כנראה כל 998 00:43:30,723 --> 00:43:32,400 חושב על עכשיו, הם 1s הבעיה הוגדרה, 999 00:43:32,400 --> 00:43:33,650 אשר עקב יום חמישי / שישי. 1000 00:43:33,650 --> 00:43:36,890 1001 00:43:36,890 --> 00:43:39,710 >> בתכנית water.c, לרמוז שאתה הולך יש לי 1002 00:43:39,710 --> 00:43:41,590 להציג למשתמש עבור קלט. 1003 00:43:41,590 --> 00:43:43,640 במסגרת תכנית mario.c אתה הולך לי 1004 00:43:43,640 --> 00:43:46,431 להשתמש מקונן ללולאה, שהוא ללולאה בתוך לולאה של ל, 1005 00:43:46,431 --> 00:43:50,247 להדפיס בלוק של פירמידה, במהות כמו מה מריו יש לקפוץ דרך. 1006 00:43:50,247 --> 00:43:53,330 ואז בתוך או greedy-- אולי ביצוע שינוי, אם מישהו מכם בחורים 1007 00:43:53,330 --> 00:43:55,740 האם אי פעם שמע על לראות-- אתה הולך צריך להיות מאוד 1008 00:43:55,740 --> 00:43:58,160 זהיר של ערכי נקודה צפו הראשונים. 1009 00:43:58,160 --> 00:44:01,860 זכור עשרוניים צף ו שלמים הם לא אותו הדבר. 1010 00:44:01,860 --> 00:44:03,620 עקוב אחר איזה מהם הוא ש. 1011 00:44:03,620 --> 00:44:05,953 ואתה הולך להשתמש הצהרות מותנות, כמו גם. 1012 00:44:05,953 --> 00:44:09,070 1013 00:44:09,070 --> 00:44:10,940 >> כל הדבר נכון, שעבר. 1014 00:44:10,940 --> 00:44:12,770 יש לי כמה דקות עזבו. 1015 00:44:12,770 --> 00:44:13,460 סגנון. 1016 00:44:13,460 --> 00:44:19,320 אז זה משהו שלא למעשה להשפיע על היעילות, 1017 00:44:19,320 --> 00:44:21,010 או הריצה בפועל של הקוד שלך. 1018 00:44:21,010 --> 00:44:24,380 עם זאת, זה משפיע לנו כ תלמידי כיתה שלך, כקוראים שלך. 1019 00:44:24,380 --> 00:44:27,290 זה משפיע על עצמך, אם אתה מנסה למצוא בעיה. 1020 00:44:27,290 --> 00:44:30,700 זה משפיע הקריאות של הקוד שלך. 1021 00:44:30,700 --> 00:44:34,070 >> אז סגנון, כמו כאשר אתה מנסה סגנון מאמר לאנגלית, אם אתה 1022 00:44:34,070 --> 00:44:36,070 לא היה לי סעיפים, יש לך הכל סוג 1023 00:44:36,070 --> 00:44:39,190 של ערבוביה בשורה אחת, זה עושה את זה ממש קשה למישהו 1024 00:44:39,190 --> 00:44:42,620 לקרוא המאמר שלך, גם אם הנקודות שלך הן לוגי קול. 1025 00:44:42,620 --> 00:44:44,390 אותו דבר בתכנות. 1026 00:44:44,390 --> 00:44:47,910 אתה יכול להיות נורא מעורפל קוד שScaz יכסה, 1027 00:44:47,910 --> 00:44:49,660 והוא עדיין יכול לרוץ ותפקוד. 1028 00:44:49,660 --> 00:44:53,110 אבל לנו, כTAS היפה שלך, שיהיה לקרוא והערכת PSets, 1029 00:44:53,110 --> 00:44:54,460 זה לא מאוד נחמד. 1030 00:44:54,460 --> 00:44:56,859 >> אז בבקשה, למען שלנו ואת עצמך, 1031 00:44:56,859 --> 00:44:58,900 כאשר אתה מנסה לתקן בעיה בקוד שלך, 1032 00:44:58,900 --> 00:45:00,774 ואתה מנסה לקרוא את הקוד שלך, להפוך את 1033 00:45:00,774 --> 00:45:03,910 בטוח שאתה מבין כמה מוסכמות שאנחנו הולכים לעבור על. 1034 00:45:03,910 --> 00:45:04,510 >> אז קודם. 1035 00:45:04,510 --> 00:45:07,070 תן המשתנים שלך שמות בעלי משמעות. 1036 00:45:07,070 --> 00:45:11,450 אם ברצונך לאחסן מספר שלם בשם גיל, בבקשה שם את זה בגיל. 1037 00:45:11,450 --> 00:45:12,875 לא שם את זה בגובה. 1038 00:45:12,875 --> 00:45:14,750 כאשר אתה מנסה לאחסן גיל בגובה, 1039 00:45:14,750 --> 00:45:16,722 זה הופך את הכל מאוד מבלבל עבורנו. 1040 00:45:16,722 --> 00:45:17,930 אנחנו לא רוצים להיות מבולבלים. 1041 00:45:17,930 --> 00:45:19,180 אתה לא רוצה להיות מבולבל. 1042 00:45:19,180 --> 00:45:20,350 אף אחד לא אוהב להיות מבולבל. 1043 00:45:20,350 --> 00:45:23,100 אם אתה הולך ליצור משהו, שם זה משהו משמעותי. 1044 00:45:23,100 --> 00:45:26,440 >> עם זאת, ללולאה, אחת משתני אופי הם בדרך כלל בסדר. 1045 00:45:26,440 --> 00:45:31,350 וללולאה, אם אתה רוצה רק אני, וי, יא, ירגיש חופשי רק כדי לעשות את זה. 1046 00:45:31,350 --> 00:45:32,670 >> אתחול עקבי. 1047 00:45:32,670 --> 00:45:33,770 אז מה זה אומר? 1048 00:45:33,770 --> 00:45:37,600 כלומר, מבחינה טכנית, באופן תיאורטי, אתה יכול ליזום וליצור 1049 00:45:37,600 --> 00:45:40,140 משתנים מרובים על אותו הקו. 1050 00:45:40,140 --> 00:45:42,820 כך למשל, אני יכול ליצור מספר שלם נקרא scaz_age, 1051 00:45:42,820 --> 00:45:47,110 ומספר שלם נקרא andi_age = 20, ומספר שלם נקרא jason_age 1052 00:45:47,110 --> 00:45:48,090 על אותו הקו. 1053 00:45:48,090 --> 00:45:52,060 ואני גם יכול להקצות רק אחד שלהם ולא לאחרים לערכים. 1054 00:45:52,060 --> 00:45:54,142 אנו מבקשים מכם בבקשה אל תעשו את זה. 1055 00:45:54,142 --> 00:45:57,350 כי כאן אתה כבר בעצם נוצר שלושה משתנים, אך רק אחד מהם 1056 00:45:57,350 --> 00:45:58,295 למעשה יש ערך. 1057 00:45:58,295 --> 00:46:00,170 ואז כשאנחנו מנסה לקרוא את הקוד שלך, 1058 00:46:00,170 --> 00:46:01,850 או אם אתה מנסה לתקן בעיה בקוד שלך, 1059 00:46:01,850 --> 00:46:03,340 זה מאוד מבלבל לעקוב. 1060 00:46:03,340 --> 00:46:09,300 אז רק לקריאות שלך, ל הקריאה שלנו, לא עושה את זה. 1061 00:46:09,300 --> 00:46:10,355 >> סוגריים מסולסלים עקביים. 1062 00:46:10,355 --> 00:46:12,980 יש אנשים שאוהבים אותם סוגריים מסולסלים במקומות שונים. 1063 00:46:12,980 --> 00:46:14,100 זה לא משנה באמת. 1064 00:46:14,100 --> 00:46:17,900 רק לוודא שאתה עולה בקנה אחד בך קוד של איפה אתה רוצה לשים אותם. 1065 00:46:17,900 --> 00:46:18,950 >> מרווח עולה בקנה אחד. 1066 00:46:18,950 --> 00:46:22,040 אם אתה שם את רווח אחרי ללולאה, תמיד עושה את זה. 1067 00:46:22,040 --> 00:46:24,930 לא רק סוג של רוצה לעשות את זה ב כמה מקומות, לא עושים את זה באחרים. 1068 00:46:24,930 --> 00:46:26,580 רק להיות עקבי. 1069 00:46:26,580 --> 00:46:29,500 >> שנית, אם מישהו הייתי רוצה לעיין במדריך סגנון CS50, 1070 00:46:29,500 --> 00:46:33,230 יש לנו באופן רשמי מדריך סגנון ש מספר את כל מוסכמות אלה, 1071 00:46:33,230 --> 00:46:34,890 ועוד ועוד. 1072 00:46:34,890 --> 00:46:35,530 זה באינטרנט. 1073 00:46:35,530 --> 00:46:38,670 זה כמו cs50.net/style או משהו כזה. 1074 00:46:38,670 --> 00:46:40,180 אתה יכול google זה. 1075 00:46:40,180 --> 00:46:41,399 >> עקביות היא מפתח. 1076 00:46:41,399 --> 00:46:43,190 אז אל תדאגו מה אנשים אחרים עושים, 1077 00:46:43,190 --> 00:46:46,180 רק לוודא שאתה עולה בקנה אחד בתוך הקוד שלך. 1078 00:46:46,180 --> 00:46:50,570 מישהו יש לך שאלות על זה? 1079 00:46:50,570 --> 00:46:51,070 כן. 1080 00:46:51,070 --> 00:46:53,370 >> SPEAKER 18: אז הדבר הנכון לעשות עם האתחול הוא פשוט 1081 00:46:53,370 --> 00:46:56,130 יש את כולם בנפרד קו, זה מה שאתה אומר? 1082 00:46:56,130 --> 00:46:58,850 >> ANDI פנג: אז אני כמעט ולא לזה לקרות. 1083 00:46:58,850 --> 00:47:02,230 אבל אם אתה רוצה, אם אתה רוצה להיות כמו חיסכון בשטח בקוד שלך, 1084 00:47:02,230 --> 00:47:04,000 או מה, אתה יכול לעשות את זה. 1085 00:47:04,000 --> 00:47:07,800 אנו מבקשים שאתה פשוט לא לאתחל דבר אחד ולא אחר. 1086 00:47:07,800 --> 00:47:12,600 אז אם אתה רוצה לעשות scaz_age int, int andi_age, jason_age int, זה בסדר. 1087 00:47:12,600 --> 00:47:15,600 רק אל לאתחל אחד ולא האחרים הוא כל. 1088 00:47:15,600 --> 00:47:18,380 1089 00:47:18,380 --> 00:47:19,904 >> שאלות? 1090 00:47:19,904 --> 00:47:20,850 בסדר. 1091 00:47:20,850 --> 00:47:24,610 אני הולך לעבור את מיקרופון, ומצביע לייזר, 1092 00:47:24,610 --> 00:47:28,862 ואת השרביט לScaz בשלב זה. 1093 00:47:28,862 --> 00:47:29,808 זה מביך. 1094 00:47:29,808 --> 00:47:32,650 1095 00:47:32,650 --> 00:47:33,200 הנה זה. 1096 00:47:33,200 --> 00:47:34,408 >> בריאן SCASSELLATI: תודה לך. 1097 00:47:34,408 --> 00:47:42,500 1098 00:47:42,500 --> 00:47:43,380 איך זה נשמע? 1099 00:47:43,380 --> 00:47:46,420 1100 00:47:46,420 --> 00:47:47,900 הקול הוא טוב? . 1101 00:47:47,900 --> 00:47:49,220 מצוין. 1102 00:47:49,220 --> 00:47:50,350 אוקיי. 1103 00:47:50,350 --> 00:47:52,110 אז, היי לכולם. 1104 00:47:52,110 --> 00:47:56,540 >> אני הולך לנסות לעבוד דרך דוגמא מעשית איתך. 1105 00:47:56,540 --> 00:48:00,850 ואנחנו הולכים להשתמש CS50 של סביבת פיתוח, מה שנקרא 1106 00:48:00,850 --> 00:48:03,120 סביבת הפיתוח המשולבת. 1107 00:48:03,120 --> 00:48:05,145 ושראית את זה הפגין בהרצאה. 1108 00:48:05,145 --> 00:48:07,520 ובבעית הסט 1, אתה הולך להיות הזדמנות 1109 00:48:07,520 --> 00:48:10,890 כדי להשתמש בו, ולשחק עם זה, ולהתרגל לזה, 1110 00:48:10,890 --> 00:48:13,640 כי אנחנו הולכים להשתמש בו דרך שאר הסמסטר. 1111 00:48:13,640 --> 00:48:20,350 >> אז בIDE זה, יש לך מה נראה כמו דפדפן קבצים מאוד מסורתי 1112 00:48:20,350 --> 00:48:21,890 על צד אחד. 1113 00:48:21,890 --> 00:48:24,360 יש לך חלק עד הראש לאן אתה הולך 1114 00:48:24,360 --> 00:48:28,850 כדי לראות את קוד המקור שלך, שלך Cfile, הקוד שאתה כותב. 1115 00:48:28,850 --> 00:48:31,880 ולמטה בתחתית, אתה תמצאו יש חלון מסוף 1116 00:48:31,880 --> 00:48:36,330 שאתה תהיה באמצעות ל שני לקמפל את התכנית שלך 1117 00:48:36,330 --> 00:48:39,090 וכדי להפעיל או להפעיל התכנית שלך. 1118 00:48:39,090 --> 00:48:40,100 אוקיי. 1119 00:48:40,100 --> 00:48:46,560 >> אז רק כדי לתת לנו קצת קרן, שבחלון המסוף, 1120 00:48:46,560 --> 00:48:48,930 אתה הולך להיות באמצעות סדרה של פקודות 1121 00:48:48,930 --> 00:48:53,040 כי הם פקודות סטנדרטיים בכל רוב מערכות יוניקס או לינוקס. 1122 00:48:53,040 --> 00:48:55,890 ולכן אם יש לך אי פעם נעשה שימוש כל צורה של יוניקס, אובונטו, 1123 00:48:55,890 --> 00:48:59,140 או כל הטעמים האחרים, אלה הולכים נראים מוכרים. 1124 00:48:59,140 --> 00:49:00,890 >> אם יש לך לא, אל תדאג. 1125 00:49:00,890 --> 00:49:02,830 אין שום דבר מסובך עליהם. 1126 00:49:02,830 --> 00:49:05,330 הם פשוט משתמשים בשונים תחביר, שמות שונים 1127 00:49:05,330 --> 00:49:07,630 אמנה ממה שראתה בעבר. 1128 00:49:07,630 --> 00:49:12,190 >> אז לרשימה את הקבצים בתוך ספרייה מסוימת, 1129 00:49:12,190 --> 00:49:15,310 הם הולכים להשתמש הפקודה נקראת LS, או רשימה. 1130 00:49:15,310 --> 00:49:18,010 אם אתה רוצה לראות הכל עם כל הפרטים, 1131 00:49:18,010 --> 00:49:21,535 תוכל להשתמש בפקודה טיעון קו עם -l LS. 1132 00:49:21,535 --> 00:49:23,910 ושאראה לך הכל בפירוט רב יותר, כוללים 1133 00:49:23,910 --> 00:49:26,270 ההרשאות לקובץ. 1134 00:49:26,270 --> 00:49:31,190 >> כדי לשנות ספרייה, תוכל להשתמש בפקודה cd. 1135 00:49:31,190 --> 00:49:35,180 ואתה יכול לשנות את הספרייה שני ללכת לספריית הבית שלך. 1136 00:49:35,180 --> 00:49:38,500 זה פשוט cd כל על ידי עצמו, תקליטור עם שתי 1137 00:49:38,500 --> 00:49:42,930 נקודות תחזיר אותך אחד רמה לספרייה הקודמת שלך. 1138 00:49:42,930 --> 00:49:46,400 ואתה גם יכול CD ל תיקייה על ידי הקלדת cd 1139 00:49:46,400 --> 00:49:48,500 ואת השם של תיקייה ש. 1140 00:49:48,500 --> 00:49:50,540 >> ניתן גם ליצור ספריות חדשות. 1141 00:49:50,540 --> 00:49:52,790 ואנחנו הולכים ללכת באמצעות זה בעוד דקה. 1142 00:49:52,790 --> 00:49:54,498 אבל רק כדי לשים כל מה שעל המסך. 1143 00:49:54,498 --> 00:49:56,310 כך שאתה יכול לראות אותם. 1144 00:49:56,310 --> 00:50:00,420 >> גם תהיה לך את היכולת לתפעל קבצים ישירות 1145 00:50:00,420 --> 00:50:02,100 משורת הפקודה. 1146 00:50:02,100 --> 00:50:06,059 תוכל להעתיק אותם, ל להעביר אותם, או כדי להסיר אותם, 1147 00:50:06,059 --> 00:50:07,600 כלומר, ביעילות, למחוק אותם. 1148 00:50:07,600 --> 00:50:10,310 1149 00:50:10,310 --> 00:50:15,350 >> IDE CS50 נותן לך מלא כוח של טיעוני שורת הפקודה. 1150 00:50:15,350 --> 00:50:20,280 וזה אומר שגם אתה יכול לעשות דברים מסוכנים ביותר. 1151 00:50:20,280 --> 00:50:21,560 אוקיי. 1152 00:50:21,560 --> 00:50:25,010 לדוגמא, אתה יכול להסיר, או שהוא מחיקה, 1153 00:50:25,010 --> 00:50:28,750 קובץ בלי לשאול לאישור. 1154 00:50:28,750 --> 00:50:31,820 ואתה יכול גם להסיר recursively-- זה 1155 00:50:31,820 --> 00:50:38,940 r מקף flag-- כל תיקייה וכל תכולתה. 1156 00:50:38,940 --> 00:50:39,660 אוקיי. 1157 00:50:39,660 --> 00:50:42,940 הם מופיעים באדום בגלל שאתה צריך לחשוב "סכנה" בכל פעם ש 1158 00:50:42,940 --> 00:50:45,000 אתה רואה את הדברים האלה. 1159 00:50:45,000 --> 00:50:45,920 אוקיי. 1160 00:50:45,920 --> 00:50:46,420 בסדר. 1161 00:50:46,420 --> 00:50:50,090 1162 00:50:50,090 --> 00:50:53,430 >> עכשיו סוף סוף, הדברים שהם הולך להיות באמת בעל ערך לך, 1163 00:50:53,430 --> 00:50:57,270 יש כמה טריקים טובים לדעת כפי שאתה מנווט 1164 00:50:57,270 --> 00:50:59,190 דרך חלון מסוף זה. 1165 00:50:59,190 --> 00:51:03,590 ראשית, אתה יכול לנקות את המסך ב כל זמן רק על ידי הקלדה בברורה. 1166 00:51:03,590 --> 00:51:06,310 ואתה הולך לראות שלי לעשות את זה לעתים קרובות למדי. 1167 00:51:06,310 --> 00:51:09,990 אתה יכול גם פשוט להציג הטקסט של קובץ 1168 00:51:09,990 --> 00:51:13,992 על ידי הקלדה יותר ולאחר מכן את שם הקובץ. 1169 00:51:13,992 --> 00:51:17,200 לאחר מכן תוכל לגלול אחורה ו הלאה עם זה רק עם מקש הרווח 1170 00:51:17,200 --> 00:51:19,010 ומקשי חצים. 1171 00:51:19,010 --> 00:51:25,450 >> אם יש לך, כפי שעשינו היום בהרצאה, תכנית שבו פועלת ברציפות 1172 00:51:25,450 --> 00:51:29,190 בלולאה אינסופית, ש יכול לעצור את התכנית ש 1173 00:51:29,190 --> 00:51:35,160 מביצוע על ידי הקלדה בשליטה, כי הוא מחזיק את הבקרה-C. 1174 00:51:35,160 --> 00:51:38,360 וייתכן שתצטרך לעשות פעמים רבות זה. 1175 00:51:38,360 --> 00:51:40,620 המחשב מקבל הרבה לפניך. 1176 00:51:40,620 --> 00:51:43,380 ולפעמים אתה צריך נותן לו כמה ניסיונות 1177 00:51:43,380 --> 00:51:46,280 לפני יהיה למעשה לבוא דרך. זה 1178 00:51:46,280 --> 00:51:48,760 >> תוכל גם להיות מסוגל דרך למיין את הפקודות 1179 00:51:48,760 --> 00:51:54,230 כי אתה פשוט הקלדת באמצעות המקש למעלה, מקש חץ, ולאחר מכן על מקש החץ למטה. 1180 00:51:54,230 --> 00:51:57,560 ומה שימושי ביותר הוא במקום להקליד את שמות קבצים ארוכים, 1181 00:51:57,560 --> 00:52:02,209 אתה תהיה מסוגל Tab השימוש ל השלמה אוטומטית כמה הוראות. 1182 00:52:02,209 --> 00:52:04,750 עכשיו אנחנו הולכים להפגין כל אלה רק שני. 1183 00:52:04,750 --> 00:52:06,780 אז אם אתה לא זוכר שלהם, אל תדאגו. 1184 00:52:06,780 --> 00:52:10,780 אלה הם דברים שאתה להרים ולהשתמש כמו שאנחנו הולכים יחד. 1185 00:52:10,780 --> 00:52:11,470 אוקיי. 1186 00:52:11,470 --> 00:52:18,830 >> אז בניגוד לC-- בScratch-- C הוא שפת הידור. 1187 00:52:18,830 --> 00:52:23,210 זה אומר שאנחנו הולכים לקחת מקור file-- זה הטקסט שאתה כותב, 1188 00:52:23,210 --> 00:52:26,500 הפקודות שאתה כותב, printf () דוחות, הלולאות, 1189 00:52:26,500 --> 00:52:32,580 הכל else-- ואנחנו הולכים לקחת קובץ ושלהעביר אותה 1190 00:52:32,580 --> 00:52:34,670 לתכנית בשם מהדר. 1191 00:52:34,670 --> 00:52:39,850 >> אז מהדר ייקח שטקסט שכתבת 1192 00:52:39,850 --> 00:52:43,270 ולתרגם אותו ל הוראות ינארי 1193 00:52:43,270 --> 00:52:46,010 שהמחשב שלך הוא באמת הולך להשתמש. 1194 00:52:46,010 --> 00:52:49,700 זה נקרא האובייקט או את קובץ ההפעלה. 1195 00:52:49,700 --> 00:52:55,320 אם אתה מסתכל על קובץ זה, אתה הולך כדי לראות את הקוד שכתבת. 1196 00:52:55,320 --> 00:52:59,480 אם אתה מסתכל על קובץ זה, אתה הולך לראות רצף של תווים אקראיים 1197 00:52:59,480 --> 00:53:01,680 שלא היה הגיוני שהיא. 1198 00:53:01,680 --> 00:53:03,250 זה בגלל שזה בינארי. 1199 00:53:03,250 --> 00:53:05,560 זה לא נועד לך להיות קריאה. 1200 00:53:05,560 --> 00:53:08,690 >> עם זאת, כל פעם שאתה רוצה להפעיל משהו, מה אתה הולך 1201 00:53:08,690 --> 00:53:13,670 להיות מפעיל הוא קובץ אובייקט זה. 1202 00:53:13,670 --> 00:53:19,110 אז אנחנו כאשר עובדים עם אלה קבצים, אנו לכתוב קובץ בג 1203 00:53:19,110 --> 00:53:23,400 אז לקמפל אותו, תוך שימוש ב הפקודה כמו איפור שיהיה להפעיל 1204 00:53:23,400 --> 00:53:27,070 צלצול מהדר לשפת C. 1205 00:53:27,070 --> 00:53:31,530 וזה יהיה לייצר אובייקט להגיש, כמו החוצה, או במקרה הזה, 1206 00:53:31,530 --> 00:53:36,580 שם, התיק שלי, כי אני כבר לשים ב. 1207 00:53:36,580 --> 00:53:37,780 בסדר. 1208 00:53:37,780 --> 00:53:39,790 >> אז בואו ננסה למעשה זה. 1209 00:53:39,790 --> 00:53:42,850 אז אני בא עם דוגמא ממה שאני רוצה לנסות. 1210 00:53:42,850 --> 00:53:47,380 ואחד הדברים ש מרתק אותי הוא אנימציה. 1211 00:53:47,380 --> 00:53:51,010 אז אנחנו הולכים לנסות לעשות קצת אנימציה 1212 00:53:51,010 --> 00:53:53,760 רק באמצעות תווי ASCII. 1213 00:53:53,760 --> 00:53:56,470 דמויות שאנחנו יכולים להדפיס בקלות עכשיו. 1214 00:53:56,470 --> 00:54:00,890 >> אז הנה הניסיון הכי טוב שלי ביצירת בשבילך 1215 00:54:00,890 --> 00:54:07,005 האנימציה של ארנב פועל באמצעות העשב הגבוה. 1216 00:54:07,005 --> 00:54:07,505 הנה הוא. 1217 00:54:07,505 --> 00:54:10,150 1218 00:54:10,150 --> 00:54:10,670 אוקיי. 1219 00:54:10,670 --> 00:54:14,050 אז הוא לא פועל עדיין, אבל הוא עומד שם בעשב הגבוה. 1220 00:54:14,050 --> 00:54:17,810 >> עכשיו, אם אני היה אנימטור, בבית הספר הישן 1221 00:54:17,810 --> 00:54:20,860 גרסה של אנימציה, מה ש תעשה הוא הייתי לייצר 1222 00:54:20,860 --> 00:54:23,640 תמונה של ארנב זה על הדשא. 1223 00:54:23,640 --> 00:54:25,390 ואז הייתי לייצר picture-- אחר 1224 00:54:25,390 --> 00:54:30,600 אחר מה שהם כינו cell-- ש היה הארנב עבר רק במעט. 1225 00:54:30,600 --> 00:54:34,870 ולאחר מכן שליש ש הארנב עבר קצת יותר. 1226 00:54:34,870 --> 00:54:40,610 >> והייתי לייצר כל רצף של תאים אלה. 1227 00:54:40,610 --> 00:54:44,220 חלק שבו הארנב נגמר על צד שמאל. 1228 00:54:44,220 --> 00:54:47,050 ולאחר מכן נע לאט, אחד על ידי אחד לקראת האמצע. 1229 00:54:47,050 --> 00:54:51,120 ואז מהאמצע מעל לימין. 1230 00:54:51,120 --> 00:54:55,760 ואם אני היה אז, באמת מזל, שאני יכול לשים את זה ביחד 1231 00:54:55,760 --> 00:54:57,970 ואני יכול להנפיש אותם. 1232 00:54:57,970 --> 00:55:00,370 ויש ארנב שלי פועל באמצעות הדשא. 1233 00:55:00,370 --> 00:55:02,310 >> זה PowerPoint הגדול שלי טריק ליום. 1234 00:55:02,310 --> 00:55:02,809 אוקיי. 1235 00:55:02,809 --> 00:55:04,760 אז זה טוב כמו שזה נעשה. 1236 00:55:04,760 --> 00:55:05,260 אוקיי. 1237 00:55:05,260 --> 00:55:08,455 אז, הנה עוד פעם אחת, כאן הוא שלנו באני פועל דרך הדשא. 1238 00:55:08,455 --> 00:55:09,217 >> SPEAKER 19: שוב. 1239 00:55:09,217 --> 00:55:11,050 בריאן SCASSELLATI: אחת יותר זמן, בסדר. 1240 00:55:11,050 --> 00:55:11,940 יש הארנב שלך. 1241 00:55:11,940 --> 00:55:12,940 אוקיי. 1242 00:55:12,940 --> 00:55:15,470 >> אז היום מה שאנחנו הולכים לעשות הוא שאנחנו הולכים 1243 00:55:15,470 --> 00:55:21,110 כדי לנסות להפוך את התהליך של ייצור תאים אלה. 1244 00:55:21,110 --> 00:55:24,135 אנחנו לא ממש מגיעים לנקודה של יכולת לשים את כולם יחד. 1245 00:55:24,135 --> 00:55:28,900 אבל, אנחנו הולכים לנסות להפוך את תהליך של יצירת הרצף הזה. 1246 00:55:28,900 --> 00:55:32,900 >> וזה הרבה ממה ש היום אנימציה הוא כמו. 1247 00:55:32,900 --> 00:55:36,690 כלומר, אתה לא עושה בהכרח דברים על ידי ציור הכל ביד. 1248 00:55:36,690 --> 00:55:40,610 אנו משתמשים במחשב לאוטומציה חלקים של תהליך זה. 1249 00:55:40,610 --> 00:55:41,110 אוקיי. 1250 00:55:41,110 --> 00:55:47,720 >> אז תן לי לעבור עכשיו לIDE CS50. 1251 00:55:47,720 --> 00:55:54,260 ואני יצרתי לus-- ולתת שלי להתמקד בכאן קצת bit-- לי 1252 00:55:54,260 --> 00:55:58,420 נוצר לנו נקודת התחלה. 1253 00:55:58,420 --> 00:56:03,830 >> בכל פעם שאנו מבקשים מכם לשבת למטה ולכתוב פיסת הקוד, 1254 00:56:03,830 --> 00:56:09,250 מה אנחנו באמת מבקשים ממך לעשות הוא אנחנו מבקשים לפתור בעיה. 1255 00:56:09,250 --> 00:56:11,810 ואופן שבו אתה צריך חושב על לעשות את זה 1256 00:56:11,810 --> 00:56:17,900 הוא על ידי הפעלה עם כמה חלק פשוט של פתרון זה. 1257 00:56:17,900 --> 00:56:21,730 ולאחר מכן לבנות מ- שחלק. 1258 00:56:21,730 --> 00:56:23,400 וזה מה שאנחנו הולכים לעשות היום. 1259 00:56:23,400 --> 00:56:27,570 >> אז במקום לנסות בבת אחת ל לכתוב כל החבורה של קוד זה 1260 00:56:27,570 --> 00:56:30,770 הולך לייצר אותם 10 תאי אנימציה, 1261 00:56:30,770 --> 00:56:35,506 אנחנו הולכים להתחיל במקום עם חתיכה אחת שעובדת. 1262 00:56:35,506 --> 00:56:37,380 ואז לבנות קצת סביב ש 1263 00:56:37,380 --> 00:56:39,740 וקצת יותר וקצת יותר. 1264 00:56:39,740 --> 00:56:42,550 >> עכשיו דבר טוב פתרון בעיות בדרך זו 1265 00:56:42,550 --> 00:56:46,716 הוא שזה יאפשר לך להתחיל תמיד עם משהו שאתה יודע 1266 00:56:46,716 --> 00:56:51,130 עובד ולהציג את השינוי הדרגתי. 1267 00:56:51,130 --> 00:56:54,090 וזה דרך מצוינת כדי ללמוד כיצד קוד, 1268 00:56:54,090 --> 00:56:58,590 כי בכל פעם שאתה עושה שינוי, אתה רואה את מה שיש לו השפעה. 1269 00:56:58,590 --> 00:56:59,540 אוקיי. 1270 00:56:59,540 --> 00:57:01,450 >> אז הנה נקודת המוצא שלנו. 1271 00:57:01,450 --> 00:57:01,950 אוקיי. 1272 00:57:01,950 --> 00:57:08,030 אז בתחילת הקובץ שלי, יש לי stdio.h #included חשיש. 1273 00:57:08,030 --> 00:57:12,560 זה כל כך שאני יכול לקבל printf () פונקציה לעבוד. 1274 00:57:12,560 --> 00:57:15,240 >> אז יש לי הפונקציה העיקרית שלי. 1275 00:57:15,240 --> 00:57:18,760 וזה עדיין נראה קצת מסתורי או מעורפל לכמה מכם. 1276 00:57:18,760 --> 00:57:20,010 זה בסדר. 1277 00:57:20,010 --> 00:57:23,190 כל זה אומר הוא ש הפונקציה העיקרית לוקחת 1278 00:57:23,190 --> 00:57:27,830 אמצעים לא מבוטלים arguments-- שום דבר בג וזה 1279 00:57:27,830 --> 00:57:29,940 תשואות על ידי אמנה שלם. 1280 00:57:29,940 --> 00:57:33,290 ראשי תמיד מחזיר מספר שלם, בדרך כלל קוד אומר דברים 1281 00:57:33,290 --> 00:57:35,071 הלכתי טוב או לא הולכים טוב. 1282 00:57:35,071 --> 00:57:35,570 אוקיי. 1283 00:57:35,570 --> 00:57:39,110 אבל עיקרי צריך להיות ש יוצר עבורנו עכשיו. 1284 00:57:39,110 --> 00:57:42,080 >> אז שמתי בשלוש שורות של קוד. 1285 00:57:42,080 --> 00:57:46,760 ויחד עם כל שורה של קוד, שמו לי תגובה. 1286 00:57:46,760 --> 00:57:51,340 עכשיו אחד הדברים ש אנו עומדים על כך שאתה עושה, 1287 00:57:51,340 --> 00:57:55,320 וזה כזה חשוב בפועל תכנות, 1288 00:57:55,320 --> 00:57:57,800 תמיד להגיב הקוד שלך. 1289 00:57:57,800 --> 00:58:02,550 תמיד לרשום ב אנגלית משהו תגובה 1290 00:58:02,550 --> 00:58:06,740 שאתה חושב הקוד אמור לעשות. 1291 00:58:06,740 --> 00:58:11,360 בדרך זו, בשלב מאוחר יותר, כאשר אתה חוזר ל את זה, אתה יכול להסתכל על זה ואתה יכול לומר, 1292 00:58:11,360 --> 00:58:13,800 הו, אני זוכר את מה שהייתי מנסה לעשות עם זה. 1293 00:58:13,800 --> 00:58:17,590 או כאשר ת"א מתיישבת איתך ל אנסה לעזור לך בשעתי עבודה, 1294 00:58:17,590 --> 00:58:20,890 הם יכולים להסתכל על זה וללכת, אני לראות את מה שאתה מנסה לעשות, 1295 00:58:20,890 --> 00:58:25,630 אבל במקום זה הוא מה באמת קורה. 1296 00:58:25,630 --> 00:58:26,130 אוקיי. 1297 00:58:26,130 --> 00:58:30,300 >> אז יש לי שלושה חלקים לקוד שלי, אני הולך קודם כל ההדפסה 1298 00:58:30,300 --> 00:58:33,110 כמה נקודות בתחילת. 1299 00:58:33,110 --> 00:58:37,480 אז ידפיסו אותי ארנב מאוד מפואר. 1300 00:58:37,480 --> 00:58:40,600 ועוד קצת קצת נקודות בסוף. 1301 00:58:40,600 --> 00:58:45,220 >> ושלוש הצהרות הדפסה אלה צריכים נראה לך מוכר, בשלב זה. 1302 00:58:45,220 --> 00:58:47,350 כל מה שאני עושה ב כל אחד מהם הוא אני 1303 00:58:47,350 --> 00:58:49,780 להדפיס את רצף של תווים. 1304 00:58:49,780 --> 00:58:51,370 אין משתנים מעורבים. 1305 00:58:51,370 --> 00:58:54,320 הכל הוא רק שטוח. 1306 00:58:54,320 --> 00:58:55,270 אוקיי. 1307 00:58:55,270 --> 00:59:07,340 >> אז אם אני יורד עכשיו לterminal-- בואו נראה אם ​​אני יכול לקבל את זה בחזרה out-- 1308 00:59:07,340 --> 00:59:09,370 ואני הולך להקליד ברור שוב. 1309 00:59:09,370 --> 00:59:12,507 >> SPEAKER 20: האם אנו משתמשים קו נטוי כפול להגיב? 1310 00:59:12,507 --> 00:59:14,340 בריאן SCASSELLATI: האם להשתמש כן double--. 1311 00:59:14,340 --> 00:59:16,920 יש מספר דרכים להשאיר תגובות בג אחת 1312 00:59:16,920 --> 00:59:19,440 הדרך היא להשתמש בקו הנטוי הכפול. 1313 00:59:19,440 --> 00:59:24,910 האחרים הוא להשתמש בקו נטוי וכוכבים ולאחר מכן לסגור עם כוכב וקו נטוי. 1314 00:59:24,910 --> 00:59:26,110 בסדר. 1315 00:59:26,110 --> 00:59:28,950 >> קודם כל, אני הולך להתחיל לנווט כאן. 1316 00:59:28,950 --> 00:59:35,350 אז אם אני הולך לספריית הבית שלי, אני כבר שיניתי את הספריות שם, 1317 00:59:35,350 --> 00:59:40,230 אני הולך להסתכל ולראות מה בספרייה ש, LS, רשימה החוצה. 1318 00:59:40,230 --> 00:59:43,230 אני הולך לראות את זה לי יש לי שתי תיקיות המשנה. 1319 00:59:43,230 --> 00:59:47,910 בואו נעשה את זה קצת יותר גדול כאן, כך שנוכל לראות את זה כל. 1320 00:59:47,910 --> 00:59:50,610 >> אני יכול לראות שיש לי יש לי שתי תיקיות המשנה. 1321 00:59:50,610 --> 00:59:53,510 אני אשנה את הספרייה להיכנס לסביבת עבודה. 1322 00:59:53,510 --> 00:59:58,380 ואני הולך להקליד רק חלק ממנו, ולאחר מכן פשוט הקש על Tab. 1323 00:59:58,380 --> 01:00:01,520 וזה יהיה להשלים את שאר לי. 1324 01:00:01,520 --> 01:00:03,370 פנסי. 1325 01:00:03,370 --> 01:00:04,960 >> אני אסתכל ותראה בסביבת עבודה. 1326 01:00:04,960 --> 01:00:08,431 ועכשיו, אני עובד על SuperSection 1327 01:00:08,431 --> 01:00:09,680 שאנחנו מלמדים עכשיו. 1328 01:00:09,680 --> 01:00:10,971 אז אני אלך לספרייה ש. 1329 01:00:10,971 --> 01:00:14,770 1330 01:00:14,770 --> 01:00:15,970 ולבסוף, להסתכל ולראות. 1331 01:00:15,970 --> 01:00:18,480 ויש לי שbunny.c קובץ. 1332 01:00:18,480 --> 01:00:20,980 >> בסדר אז תן לי ברור פעם נוספת. 1333 01:00:20,980 --> 01:00:24,370 ואני הולך now-- שוב אני עדיין שוהה בספרייה ש 1334 01:00:24,370 --> 01:00:27,540 וזה אומר לי שאני ב שספריית SuperSection. 1335 01:00:27,540 --> 01:00:30,690 אני הולך קדימה ו להפוך את ארנב התכנית שלי. 1336 01:00:30,690 --> 01:00:33,730 1337 01:00:33,730 --> 01:00:38,810 ופקודה ש, להפוך את הארנב, בעוד שנשמע קצת מוזר, 1338 01:00:38,810 --> 01:00:42,960 גם מפעיל את מהדר הצלצול. 1339 01:00:42,960 --> 01:00:46,470 >> והוא מיוצר עבור שלי פלט שהוא 1340 01:00:46,470 --> 01:00:52,130 funny-- הפעלה קובץ הפעלה בשם ארנב. 1341 01:00:52,130 --> 01:00:52,700 אוקיי. 1342 01:00:52,700 --> 01:00:56,700 אז אני יכול, וזה נשמע אפילו יותר גרוע, לבצע ארנב. 1343 01:00:56,700 --> 01:00:59,360 1344 01:00:59,360 --> 01:01:00,680 אוקיי. 1345 01:01:00,680 --> 01:01:03,150 ובואו לראות מה זה עושה. 1346 01:01:03,150 --> 01:01:04,527 אוקיי. 1347 01:01:04,527 --> 01:01:06,360 זה קצת מה שציפיתי. 1348 01:01:06,360 --> 01:01:11,290 יש לי התמונה שלי באני לשם, אבל אני סוג של רציתי אותו בכוחות עצמו. 1349 01:01:11,290 --> 01:01:13,186 מה שאני לא מתגעגע? 1350 01:01:13,186 --> 01:01:14,478 >> SPEAKER 21: סלאש l או לקצץ n. 1351 01:01:14,478 --> 01:01:15,602 בריאן SCASSELLATI: n סלאש. 1352 01:01:15,602 --> 01:01:16,580 אוקיי. 1353 01:01:16,580 --> 01:01:18,800 אז בואו נחזור לכאן. 1354 01:01:18,800 --> 01:01:20,330 ואני אצא מזה. 1355 01:01:20,330 --> 01:01:23,320 ואני אחזור לזה. 1356 01:01:23,320 --> 01:01:27,720 ובואו נסתכל עכשיו מהפונקציה העיקרית שלי כאן. 1357 01:01:27,720 --> 01:01:29,280 >> אז מה אני צריך לעשות? 1358 01:01:29,280 --> 01:01:30,465 אני רוצה לסיים את הקו. 1359 01:01:30,465 --> 01:01:34,020 1360 01:01:34,020 --> 01:01:35,800 אז אני אשים בתגובה. 1361 01:01:35,800 --> 01:01:38,430 אני אשים בprintf (). 1362 01:01:38,430 --> 01:01:41,350 ומה אני צריך לשים ב? 1363 01:01:41,350 --> 01:01:41,890 / N. 1364 01:01:41,890 --> 01:01:43,480 אוקיי. 1365 01:01:43,480 --> 01:01:46,040 מה אני צריך לעשות כדי לסיים אותו עם? 1366 01:01:46,040 --> 01:01:47,100 פסיק. 1367 01:01:47,100 --> 01:01:48,730 בסדר. 1368 01:01:48,730 --> 01:01:52,880 >> עכשיו, אחד באמת דברים חשובים הוא לוודא 1369 01:01:52,880 --> 01:01:56,720 בכל פעם שאתה מבצע שינוי בקוד שלך, שאתה שומר אותו. 1370 01:01:56,720 --> 01:02:01,380 אם לא שמרת את הקוד שלך, אתה הולך לשים לב לכוכב עד קטן שם. 1371 01:02:01,380 --> 01:02:03,420 וכוכב שאומר לך לא הציל את הקוד הזה. 1372 01:02:03,420 --> 01:02:07,790 >> אם אני לקמפל את זה עכשיו, זה לא הולך משקפים שינויים אלה, 1373 01:02:07,790 --> 01:02:11,680 כי מהדר מסתכל על הקובץ זה בדיסק, לא הקובץ זה 1374 01:02:11,680 --> 01:02:13,790 לפתוח בעורך שלך. 1375 01:02:13,790 --> 01:02:14,290 בסדר. 1376 01:02:14,290 --> 01:02:20,830 >> אז בואו לשמור אותו ואז נלך ימין למטה כאן ב, לחזור החוצה. 1377 01:02:20,830 --> 01:02:24,670 לרדת למסוף שלי. 1378 01:02:24,670 --> 01:02:27,193 ובואו לנקות את השטח שוב. 1379 01:02:27,193 --> 01:02:30,690 1380 01:02:30,690 --> 01:02:35,760 >> ואנחנו יכולים ללכת יותר קדימה ואחד זמן להפוך את תכנית הארנב שלנו. 1381 01:02:35,760 --> 01:02:40,180 ולבצע את הארנב. 1382 01:02:40,180 --> 01:02:42,500 גם זה לא עובד. 1383 01:02:42,500 --> 01:02:43,950 קו נטוי שגוי. 1384 01:02:43,950 --> 01:02:52,280 אז אם אתה מסתכל על מה שיש לי, אני שם / N שם, אבל היה לי הקו נטוי הלא נכון. 1385 01:02:52,280 --> 01:02:56,190 >> כל מה שהמחשב שלך עושה הוא מאוד מפורש. 1386 01:02:56,190 --> 01:02:57,230 אוקיי? 1387 01:02:57,230 --> 01:03:01,250 טעות קטנה אחת של סימני פיסוק, ו פתאום אתה לא מקבל את מה שאתה רוצה. 1388 01:03:01,250 --> 01:03:01,750 בסדר. 1389 01:03:01,750 --> 01:03:03,740 אז בואו גודל חזרה שוב. 1390 01:03:03,740 --> 01:03:04,410 אנחנו נחזור. 1391 01:03:04,410 --> 01:03:07,930 ובכן לעשות שתיקון מהיר מאוד. 1392 01:03:07,930 --> 01:03:09,270 אנחנו נשים את הקו הנטוי תקין ב. 1393 01:03:09,270 --> 01:03:10,570 אנחנו לשמור אותו. 1394 01:03:10,570 --> 01:03:13,410 אנחנו גודל חזרה ב. 1395 01:03:13,410 --> 01:03:16,730 >> מסיבה כלשהי, זה לא להיות מאושר, אבל בואו נלך קדימה 1396 01:03:16,730 --> 01:03:19,850 ואנחנו נחזור למסוף כאן. 1397 01:03:19,850 --> 01:03:22,940 נקה אותו. 1398 01:03:22,940 --> 01:03:24,880 אנחנו להתקרב. 1399 01:03:24,880 --> 01:03:28,410 ועוד פעם אחת, אנחנו נעשה את הארנב. 1400 01:03:28,410 --> 01:03:32,360 ועכשיו בטוח מספיק, זה עובד. 1401 01:03:32,360 --> 01:03:33,240 הידד. 1402 01:03:33,240 --> 01:03:34,300 אוקיי. 1403 01:03:34,300 --> 01:03:39,580 >> אז בואו ננסה לעשות את זה קצת יותר כללי. 1404 01:03:39,580 --> 01:03:46,750 בואו תראו אם במקום רק הדפסת מסגרת אחת מסוימת, 1405 01:03:46,750 --> 01:03:49,610 בואו נראה אם ​​אנחנו יכולים לעשות את זה כדי שנוכל לקבל את כל 10 1406 01:03:49,610 --> 01:03:52,960 של מסגרות אלה אנימציה שאנחנו רוצים להיות. 1407 01:03:52,960 --> 01:03:56,550 אז שוב, בואו ניקח זה צעד בכל פעם. 1408 01:03:56,550 --> 01:03:59,900 >> בואו להכלילו ראשון, לא כך שאני עושה את כל המסגרות, 1409 01:03:59,900 --> 01:04:03,990 אבל אז אני עושה כל אחד מסגרת שאולי אני רוצה. 1410 01:04:03,990 --> 01:04:05,920 אז מה ההבדל בין המסגרות? 1411 01:04:05,920 --> 01:04:07,377 האם הארנב את אותו הדבר? 1412 01:04:07,377 --> 01:04:07,960 קהל: כן. 1413 01:04:07,960 --> 01:04:08,390 בריאן SCASSELLATI: כן. 1414 01:04:08,390 --> 01:04:09,370 מה ההבדל? 1415 01:04:09,370 --> 01:04:10,246 >> קהל: מיקום. 1416 01:04:10,246 --> 01:04:11,870 בריאן SCASSELLATI: עמדתה, נכון? 1417 01:04:11,870 --> 01:04:15,590 ואיך אני שולט עמדתה? 1418 01:04:15,590 --> 01:04:17,340 כמה נקודות אני לשים בתחילת 1419 01:04:17,340 --> 01:04:19,048 וכמה נקודות אני לשים בסוף. 1420 01:04:19,048 --> 01:04:21,970 אז היה לי חמישה ב מתחיל וחמישה בסוף. 1421 01:04:21,970 --> 01:04:28,320 >> בואו להחליף חמישה שעם ללולאה. 1422 01:04:28,320 --> 01:04:29,380 אוקיי. 1423 01:04:29,380 --> 01:04:32,330 ואני הולך ליצור ל לולאה עכשיו זה הולך לומר, 1424 01:04:32,330 --> 01:04:37,800 אני הולך להדפיס כמה מספר של נקודות בתחילת. 1425 01:04:37,800 --> 01:04:39,600 אני הולך להשתמש במשתנה. 1426 01:04:39,600 --> 01:04:44,150 בואו נגיד, מה דעתך עליי כ הדלפק בלולאה שלי. 1427 01:04:44,150 --> 01:04:47,200 ואני הולך להכריז עליו למעלה. 1428 01:04:47,200 --> 01:04:49,360 >> ולאחר מכן ללולאה אני צריך לעשות שלושה דברים. 1429 01:04:49,360 --> 01:04:52,340 הדבר הראשון שאני צריך לעשות הוא שאני צריך לאתחל אני. 1430 01:04:52,340 --> 01:04:56,570 מה אני צריך לאתחל זה להתחיל להיות? 1431 01:04:56,570 --> 01:04:57,160 0. 1432 01:04:57,160 --> 01:04:58,310 אוקיי. 1433 01:04:58,310 --> 01:05:00,950 >> אז אני צריך להגיד, מה מצב הסיום? 1434 01:05:00,950 --> 01:05:03,020 מתי עליי להפסיק? 1435 01:05:03,020 --> 01:05:05,983 ובכן כמה נקודות אתה רוצה להדפיס על זה? 1436 01:05:05,983 --> 01:05:06,921 >> קהל: חמש. 1437 01:05:06,921 --> 01:05:08,170 בריאן SCASSELLATI: חמש שוב? 1438 01:05:08,170 --> 01:05:10,650 מה דעתך על בואו נעשה משהו שונה, שעשינו חמישה. 1439 01:05:10,650 --> 01:05:12,584 בואו להראות שזה שונה. 1440 01:05:12,584 --> 01:05:13,250 22 SPEAKER: שני. 1441 01:05:13,250 --> 01:05:13,580 בריאן SCASSELLATI: שני. 1442 01:05:13,580 --> 01:05:14,080 אוקיי. 1443 01:05:14,080 --> 01:05:17,760 אז אם אני רוצה שתי נקודות, מה אני צריך לשים כאן? 1444 01:05:17,760 --> 01:05:19,140 >> קהל: שלוש. 1445 01:05:19,140 --> 01:05:20,530 >> בריאן SCASSELLATI: שלוש. 1446 01:05:20,530 --> 01:05:21,400 אוקיי. 1447 01:05:21,400 --> 01:05:24,220 כמה פעמים היא ש הולך לעבור? 1448 01:05:24,220 --> 01:05:28,469 זה הולך לעבור שלוש פעמים, 0, 1, ו -2, נכון? 1449 01:05:28,469 --> 01:05:30,010 בסדר, בואו נחזור אל שתי. 1450 01:05:30,010 --> 01:05:31,570 עכשיו יהיו לנו שתי נקודות. 1451 01:05:31,570 --> 01:05:35,800 ומה לעשות שאני רוצה לעשות כל פעם שאני הולך דרך הלולאה? 1452 01:05:35,800 --> 01:05:38,657 מה יש לשנות בכל פעם שאני עובר? 1453 01:05:38,657 --> 01:05:39,850 >> SPEAKER 23: להוסיף נקודה. 1454 01:05:39,850 --> 01:05:41,020 >> בריאן SCASSELLATI: אני חייב להמשיך. 1455 01:05:41,020 --> 01:05:41,978 אני הולך להוסיף נקודה. 1456 01:05:41,978 --> 01:05:45,310 אני הולך להדפיס נקודה, בכל פעם דרך הלולאה. 1457 01:05:45,310 --> 01:05:49,990 אבל איך אני עוקב אחרי כמה פעמים רבות אני כבר דרך הלולאה? 1458 01:05:49,990 --> 01:05:53,260 אני משתמש אני, ש משתנה, דלפק ש. 1459 01:05:53,260 --> 01:05:57,110 >> אז בכל פעם דרך, אני הולך כדי להגדיל את המונה על ידי אחד. 1460 01:05:57,110 --> 01:06:00,670 עכשיו, זה אותו הדבר עבור שלי כאומר i = i + 1. 1461 01:06:00,670 --> 01:06:01,210 זה בסדר. 1462 01:06:01,210 --> 01:06:04,653 אני יכול לעשות את זה לראות-- אני אוהב קצרנות, אז אני הולך להגיד לי ++. 1463 01:06:04,653 --> 01:06:07,190 1464 01:06:07,190 --> 01:06:08,370 אוקיי. 1465 01:06:08,370 --> 01:06:10,680 >> בואו לעשות את אותו הדבר כאן למטה בתחתית. 1466 01:06:10,680 --> 01:06:11,846 רק אני סוג של עשיתי שאחד. 1467 01:06:11,846 --> 01:06:13,990 אני הולך לתת לכם לעשות את זה אחד לגמרי. 1468 01:06:13,990 --> 01:06:14,260 בסדר. 1469 01:06:14,260 --> 01:06:15,426 >> אז מה כדאי לי לכתוב כאן? 1470 01:06:15,426 --> 01:06:17,170 הנה שלי ללולאה. 1471 01:06:17,170 --> 01:06:23,162 אני הולך לעשות printf () ואני הולך כדי לעשות את זה כדי שאני רק להדפיס נקודה אחת 1472 01:06:23,162 --> 01:06:25,740 בתחתית ש. 1473 01:06:25,740 --> 01:06:27,740 >> מה עליי לכתוב בתוך זה ללולאה עכשיו? 1474 01:06:27,740 --> 01:06:30,897 1475 01:06:30,897 --> 01:06:33,948 ובכן, קודם כל מה ש משתנים כדאי לי להשתמש? 1476 01:06:33,948 --> 01:06:35,430 >> 24 מרצה: י. 1477 01:06:35,430 --> 01:06:36,880 >> בריאן SCASSELLATI: אני יכול להשתמש j. 1478 01:06:36,880 --> 01:06:38,040 האם אני יכול להשתמש באותו אחד? 1479 01:06:38,040 --> 01:06:39,961 האם אני יכול להשתמש אני שוב? 1480 01:06:39,961 --> 01:06:40,460 כן. 1481 01:06:40,460 --> 01:06:45,531 זה בסדר, כי האם שאני משתמש כאן, 1482 01:06:45,531 --> 01:06:47,780 אני לא צריך אותם שוב כש אני יורד לנקודה זו. 1483 01:06:47,780 --> 01:06:52,240 1484 01:06:52,240 --> 01:06:53,790 >> אז מה אני צריך לאתחלי? 1485 01:06:53,790 --> 01:06:56,675 1486 01:06:56,675 --> 01:06:57,300 25 מרצה: 10. 1487 01:06:57,300 --> 01:06:58,567 בריאן SCASSELLATI: 0. 1488 01:06:58,567 --> 01:06:59,400 מה עליי לבדוק? 1489 01:06:59,400 --> 01:07:02,960 כמה נקודות שאני צריך לעשות עכשיו בסוף אם יש לי שתי נקודות בהתחלה? 1490 01:07:02,960 --> 01:07:05,820 1491 01:07:05,820 --> 01:07:09,165 אני צריך שמונה בסוף, אז מה אני צריך לבדוק, אני פחות than-- 1492 01:07:09,165 --> 01:07:12,645 >> קהל: שבעה, שמונה, תשע. 1493 01:07:12,645 --> 01:07:14,020 בריאן SCASSELLATI: שמעתי שבעה. 1494 01:07:14,020 --> 01:07:14,810 שמעתי שמונה. 1495 01:07:14,810 --> 01:07:15,970 ושמעתי תשעה. 1496 01:07:15,970 --> 01:07:16,470 אוקיי. 1497 01:07:16,470 --> 01:07:19,540 אז כולנו בצד הימין ball-- ג'ייסון אומר 10. 1498 01:07:19,540 --> 01:07:21,550 אוקיי. 1499 01:07:21,550 --> 01:07:25,920 >> אם אני זקוק לשתי נקודות ל הראשון, כמה לעשות 1500 01:07:25,920 --> 01:07:30,170 אני- ואני צריך שמונה נקודות ל אחרון one-- שמתי שני למעלה, 1501 01:07:30,170 --> 01:07:31,743 מה אני צריך לשים למטה? 1502 01:07:31,743 --> 01:07:32,570 >> קהל: שמונה. 1503 01:07:32,570 --> 01:07:33,611 >> בריאן SCASSELLATI: שמונה. 1504 01:07:33,611 --> 01:07:35,695 כי זה הולך לספור אפס דרך שבע. 1505 01:07:35,695 --> 01:07:38,490 וזה שמונה פעמים דרך הלולאה. 1506 01:07:38,490 --> 01:07:38,990 אוקיי. 1507 01:07:38,990 --> 01:07:41,774 ומה אני צריך לעשות בסוף? 1508 01:07:41,774 --> 01:07:42,670 >> קהל: i ++. 1509 01:07:42,670 --> 01:07:44,400 >> בריאן SCASSELLATI: i ++. 1510 01:07:44,400 --> 01:07:45,440 בסדר. 1511 01:07:45,440 --> 01:07:48,260 כך שמחפש די טוב שם. 1512 01:07:48,260 --> 01:07:50,620 בואו ננסה את זה ובוא לראות מה זה עושה. 1513 01:07:50,620 --> 01:07:51,450 אוקיי. 1514 01:07:51,450 --> 01:07:53,770 אז אנחנו הולכים לשמור אותו. 1515 01:07:53,770 --> 01:07:54,940 נחמד והציל. 1516 01:07:54,940 --> 01:07:56,910 >> אנחנו גודל חזרה החוצה. 1517 01:07:56,910 --> 01:07:58,220 ננסה כאן במסוף. 1518 01:07:58,220 --> 01:08:01,440 1519 01:08:01,440 --> 01:08:02,970 אנחנו להתקרב. 1520 01:08:02,970 --> 01:08:05,416 אופס. 1521 01:08:05,416 --> 01:08:09,990 אנחנו נעלה את, עוד פעם אחת, לעשות תכנית הארנב שלנו. 1522 01:08:09,990 --> 01:08:14,460 וללכת קדימה ולבצע ארנב. 1523 01:08:14,460 --> 01:08:15,980 וזה מה שיש. 1524 01:08:15,980 --> 01:08:17,710 >> אז יש הארנב שלנו. 1525 01:08:17,710 --> 01:08:25,130 איפה יש לו שתי נקודות בתחילת ושמונה נקודות בסוף. 1526 01:08:25,130 --> 01:08:27,540 כולם עדיין איתי? 1527 01:08:27,540 --> 01:08:28,770 אוקיי. 1528 01:08:28,770 --> 01:08:29,580 >> אז אנחנו בנינו אותו למעלה. 1529 01:08:29,580 --> 01:08:33,000 בנינו ארנב אחד, מסגרת מסוימת אחד. 1530 01:08:33,000 --> 01:08:36,229 עכשיו אנחנו כבר יכולים להכליל כי לבנות 1531 01:08:36,229 --> 01:08:38,390 יותר סוגים שונים, של מסגרות. 1532 01:08:38,390 --> 01:08:42,399 >> עכשיו בואו נלך קדימה, ויש לי זה ליצור לא רק אחד מסגרת, 1533 01:08:42,399 --> 01:08:46,290 אבל בואו ליצור 10 מסגרות, שבו אנחנו לאט 1534 01:08:46,290 --> 01:08:50,569 להפוך את הארנב להעביר את כל הדרך על פני השדה. 1535 01:08:50,569 --> 01:08:51,430 בסדר. 1536 01:08:51,430 --> 01:08:53,660 >> בואו נחזור. 1537 01:08:53,660 --> 01:08:54,839 ואנו ננסה עכשיו. 1538 01:08:54,839 --> 01:09:00,680 1539 01:09:00,680 --> 01:09:02,830 אז מה אני באמת צריך לשנות כאן? 1540 01:09:02,830 --> 01:09:06,139 1541 01:09:06,139 --> 01:09:07,180 מה אני צריך לשנות? 1542 01:09:07,180 --> 01:09:10,638 >> SPEAKER 26: אתה קודם צריך לשנות את מספר מרבי נקודות 1543 01:09:10,638 --> 01:09:11,626 בהתחלה. 1544 01:09:11,626 --> 01:09:16,850 כי אם אנחנו עושים 10 נקודות, זה הולך צריך את קנה מידה. 1545 01:09:16,850 --> 01:09:17,850 בריאן SCASSELLATI: כן. 1546 01:09:17,850 --> 01:09:23,760 אז עכשיו יש לי אותו סוג של קשיחה תמיד לעשות שתי נקודות בתחילת 1547 01:09:23,760 --> 01:09:27,890 ותמיד עושה שמונה נקודות בסוף. 1548 01:09:27,890 --> 01:09:30,660 >> אני רוצה לבנות לולאה אחרת, נכון? 1549 01:09:30,660 --> 01:09:33,290 כי אני לא רוצה לבנות רק תמונת ארנב אחד, 1550 01:09:33,290 --> 01:09:37,140 אני רוצה לבנות 10 תמונות ארנב. 1551 01:09:37,140 --> 01:09:41,500 אז אני צריך לבנות לולאה אחרת, וכמו שאני הולך דרך לולאה ש, 1552 01:09:41,500 --> 01:09:44,660 אני רוצה לשנות כמה נקודות אני להדפיס בתחילת 1553 01:09:44,660 --> 01:09:50,529 וכמה נקודות אני להדפיס בסוף, אשר מבוסס על המחזור דרך הלולאה 1554 01:09:50,529 --> 01:09:52,270 אני בפנים. 1555 01:09:52,270 --> 01:09:52,770 בסדר. 1556 01:09:52,770 --> 01:09:54,430 >> אז בואו לקבל מרשם אחר. 1557 01:09:54,430 --> 01:09:58,142 מישהו אמר לפני j, כך אנחנו נעשה j אחר. 1558 01:09:58,142 --> 01:10:00,100 ועכשיו, אנחנו הולכים לבנות עוד ללולאה. 1559 01:10:00,100 --> 01:10:02,650 1560 01:10:02,650 --> 01:10:06,200 >> מה הולך בתוך הלולאה ש? 1561 01:10:06,200 --> 01:10:09,060 החומר הזה צריך ללכת בתוך הלולאה, נכון? 1562 01:10:09,060 --> 01:10:11,190 האם יש לארנב ללכת בתוך הלולאה? 1563 01:10:11,190 --> 01:10:13,390 האם אני צריך ארנב ב כל אחד מאלה 10 מסגרות? 1564 01:10:13,390 --> 01:10:14,099 >> קהל: אה-הא. 1565 01:10:14,099 --> 01:10:15,098 בריאן SCASSELLATI: כן. 1566 01:10:15,098 --> 01:10:17,250 אני רוצה ארנב בכל של 10 מסגרות, נכון? 1567 01:10:17,250 --> 01:10:20,531 מה דעתך על הנקודות ב הסוף, אני צריך לעשות את זה? 1568 01:10:20,531 --> 01:10:21,030 אוקיי. 1569 01:10:21,030 --> 01:10:22,550 >> אז אני הולך להכנסת כולם. 1570 01:10:22,550 --> 01:10:25,110 אני הולך לסמן את כל זה, ואני הולך להכות Tab. 1571 01:10:25,110 --> 01:10:28,590 וזה הולך לדחוף אותם בכל רחבי קצת, כך שזה קל לי 1572 01:10:28,590 --> 01:10:32,010 כדי לראות מה יש בלולאה. 1573 01:10:32,010 --> 01:10:33,710 ואז אני בסופו של אותו. 1574 01:10:33,710 --> 01:10:35,850 נניח. 1575 01:10:35,850 --> 01:10:36,430 אוקיי? 1576 01:10:36,430 --> 01:10:39,230 >> עכשיו, בלולאה זה ש אני אופס building--, 1577 01:10:39,230 --> 01:10:43,810 לעשות את זה, כך שתוכל see-- יש לי j הדלפק שלי. 1578 01:10:43,810 --> 01:10:45,630 אני התחלתי את זה ב 0. 1579 01:10:45,630 --> 01:10:47,829 כמה פעמים אני רוצה ללכת דרך לולאה זה? 1580 01:10:47,829 --> 01:10:48,620 קהל: 10 פעמים. 1581 01:10:48,620 --> 01:10:49,786 בריאן SCASSELLATI: 10 פעמים. 1582 01:10:49,786 --> 01:10:51,402 אז מה מספר שאני צריך לשים כאן? 1583 01:10:51,402 --> 01:10:52,880 >> קהל: 9, 10. 1584 01:10:52,880 --> 01:10:55,600 >> בריאן SCASSELLATI: 9, 10, מישהו חייב לומר 11, נכון? 1585 01:10:55,600 --> 01:10:58,190 1586 01:10:58,190 --> 01:11:01,585 אני רוצה שתי נקודות לפני ולשים לי פחות מ 2. 1587 01:11:01,585 --> 01:11:03,810 אני רוצה שמונה נקודות, שמתי לי פחות מ -8. 1588 01:11:03,810 --> 01:11:06,950 עכשיו אני רוצה לעבור 10 פעמים, אז שמתי את j פחות than-- 1589 01:11:06,950 --> 01:11:07,590 >> קהל: 10. 1590 01:11:07,590 --> 01:11:08,610 >> בריאן SCASSELLATI: 10. 1591 01:11:08,610 --> 01:11:10,150 יש לנו ללכת. 1592 01:11:10,150 --> 01:11:13,360 ומה עליי לעשות בסוף לj? 1593 01:11:13,360 --> 01:11:15,310 ++, להגדיל אותו. 1594 01:11:15,310 --> 01:11:16,230 אוקיי. 1595 01:11:16,230 --> 01:11:21,500 עכשיו, הנה החלק הבעייתי, מה הולך לקרות עכשיו אם אני עושה את זה? 1596 01:11:21,500 --> 01:11:24,537 אני הולך להדפיס 10 מסגרות? 1597 01:11:24,537 --> 01:11:26,370 27 מרצה: אני חושב ש הם כל להיות זהים. 1598 01:11:26,370 --> 01:11:28,453 בריאן SCASSELLATI: הם כל להיות זהה, נכון? 1599 01:11:28,453 --> 01:11:31,750 כי כולם עדיין הולכים לשים שתי נקודות בתחילת. 1600 01:11:31,750 --> 01:11:34,162 אבל אני לא רוצה את כולם ל יש שתי נקודות ההתחלה. 1601 01:11:34,162 --> 01:11:35,870 כמה נקודות שאני עושה רוצה בהתחלה? 1602 01:11:35,870 --> 01:11:39,097 1603 01:11:39,097 --> 01:11:40,020 >> קהל: שינוי. 1604 01:11:40,020 --> 01:11:42,840 >> בריאן SCASSELLATI: אני רוצה שזה ישתנה, נכון? 1605 01:11:42,840 --> 01:11:46,588 אז מה יש לי כאן זה משתנה בכל פעם שהלולאה עוברת? 1606 01:11:46,588 --> 01:11:48,242 >> קהל: מספר הנקודות, j. 1607 01:11:48,242 --> 01:11:49,950 בריאן SCASSELLATI: j, מספר הנקודות. 1608 01:11:49,950 --> 01:11:54,782 אז אני יכול לשנות את זה כדי להיות j. 1609 01:11:54,782 --> 01:11:59,190 בפעם הראשונה ב לולאה, מה שהולכת להיות? 1610 01:11:59,190 --> 01:12:01,700 מה שאני כן נקבע j בהתחלה? 1611 01:12:01,700 --> 01:12:02,420 >> קהל: 0. 1612 01:12:02,420 --> 01:12:05,700 >> בריאן SCASSELLATI: אז כמה פעמים אני הולך לעשות את זה? 1613 01:12:05,700 --> 01:12:06,750 0. 1614 01:12:06,750 --> 01:12:11,750 בפעם השנייה דרך הלולאה, j של הולך להיות 1 כי אני מגדיל אותו. 1615 01:12:11,750 --> 01:12:14,180 כמה נקודות אני הולך להדפיס? 1616 01:12:14,180 --> 01:12:15,100 1. 1617 01:12:15,100 --> 01:12:19,904 הפעם השלישית דרך הלולאה, כמה נקודות אני הולך להדפיס? 1618 01:12:19,904 --> 01:12:20,587 >> קהל: שלוש. 1619 01:12:20,587 --> 01:12:22,170 בריאן SCASSELLATI: j הולך להיות 3. 1620 01:12:22,170 --> 01:12:24,890 כמה נקודות אני הולך להדפיס? 1621 01:12:24,890 --> 01:12:26,817 אה, סליחה, j הולך להיות 2. 1622 01:12:26,817 --> 01:12:28,233 כמה נקודות אני הולך להדפיס? 1623 01:12:28,233 --> 01:12:28,980 >> קהל: 2. 1624 01:12:28,980 --> 01:12:29,855 >> בריאן SCASSELLATI: 2. 1625 01:12:29,855 --> 01:12:32,460 אוקיי, אז אני הולך לשמור הגדלה שכפי שאנו הולכים יחד. 1626 01:12:32,460 --> 01:12:33,460 מה דעתך על למטה? 1627 01:12:33,460 --> 01:12:34,310 מה הולך כאן? 1628 01:12:34,310 --> 01:12:38,080 אני לא רוצה 8 תמיד בסוף כבר? 1629 01:12:38,080 --> 01:12:39,269 >> SPEAKER 28: 10. 1630 01:12:39,269 --> 01:12:40,685 בריאן SCASSELLATI: אני רוצה 10 נקודות? 1631 01:12:40,685 --> 01:12:43,440 1632 01:12:43,440 --> 01:12:44,620 גם אני רוצה שזה ישתנה,. 1633 01:12:44,620 --> 01:12:47,469 אז איך אני רוצה שזה ישתנה? 1634 01:12:47,469 --> 01:12:49,167 >> קהל: [לא ברור]. 1635 01:12:49,167 --> 01:12:51,750 בריאן SCASSELLATI: ובכן, אם אני יש חמש נקודות בתחילת, 1636 01:12:51,750 --> 01:12:53,293 כמה נקודה שלי מקבל בסוף? 1637 01:12:53,293 --> 01:12:54,020 >> קהל: חמש. 1638 01:12:54,020 --> 01:12:55,630 >> בריאן SCASSELLATI: אם יש לי שש נקודות בתחילת, 1639 01:12:55,630 --> 01:12:56,875 כמה אני מקבל בסוף? 1640 01:12:56,875 --> 01:12:57,500 קהל: ארבעה. 1641 01:12:57,500 --> 01:12:58,950 בריאן SCASSELLATI: אם יש לי שבע נקודות בתחילת, 1642 01:12:58,950 --> 01:13:00,204 כמה אני מקבל בסוף? 1643 01:13:00,204 --> 01:13:00,870 קהל: שלוש. 1644 01:13:00,870 --> 01:13:03,161 בריאן SCASSELLATI: אם יש לי יש נקודות j בתחילת, 1645 01:13:03,161 --> 01:13:04,790 כמה אני מקבל בסוף? 1646 01:13:04,790 --> 01:13:07,520 10-J. 1647 01:13:07,520 --> 01:13:08,650 אוקיי. 1648 01:13:08,650 --> 01:13:10,390 אז בואו ננסה את זה. 1649 01:13:10,390 --> 01:13:13,180 >> אז אני הולך להציל את תכנית הארנב שלנו. 1650 01:13:13,180 --> 01:13:16,270 שוב אנו להקטין את התצוגה. 1651 01:13:16,270 --> 01:13:19,090 הנרד למסוף שלנו. 1652 01:13:19,090 --> 01:13:20,180 אנחנו לנקות אותה. 1653 01:13:20,180 --> 01:13:23,410 ולהתקרב. 1654 01:13:23,410 --> 01:13:26,410 אנחנו נכין תכנית הארנב שלנו, שוב. 1655 01:13:26,410 --> 01:13:27,690 ואנחנו יבצעו אותה. 1656 01:13:27,690 --> 01:13:30,462 1657 01:13:30,462 --> 01:13:32,090 או הו. 1658 01:13:32,090 --> 01:13:34,580 >> תחזיק חזק, בואו להקטין את התצוגה. 1659 01:13:34,580 --> 01:13:36,860 האם אני מקבל 10 פריימים? 1660 01:13:36,860 --> 01:13:38,970 ובכן, כמה ארנבות אני רואה שם למעלה? 1661 01:13:38,970 --> 01:13:43,330 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. 1662 01:13:43,330 --> 01:13:44,820 יש לי 10 מסגרות. 1663 01:13:44,820 --> 01:13:46,375 האם הם כולם אותו הדבר? 1664 01:13:46,375 --> 01:13:47,000 קהל: כן. 1665 01:13:47,000 --> 01:13:48,740 מס ' 1666 01:13:48,740 --> 01:13:50,000 >> בריאן SCASSELLATI: מס ' 1667 01:13:50,000 --> 01:13:55,050 כי ראשון, ארנב הוא רחוק בצד השמאל. 1668 01:13:55,050 --> 01:13:57,541 וכאן, באני רחוק ב 1669 01:13:57,541 --> 01:13:58,290 SPEAKER 29: העכבר. 1670 01:13:58,290 --> 01:14:00,502 בריאן SCASSELLATI: אז, מה שכחתי לעשות? 1671 01:14:00,502 --> 01:14:01,750 30 מרצה: התחל בשורה חדשה. 1672 01:14:01,750 --> 01:14:04,041 בריאן SCASSELLATI: שכחתי כדי להתחיל שורה חדשה, שוב. 1673 01:14:04,041 --> 01:14:05,270 אותה טעות שעשיתי בעבר. 1674 01:14:05,270 --> 01:14:07,120 בסדר, בואו נלך לתקן את זה. 1675 01:14:07,120 --> 01:14:11,690 עכשיו, עדיין יש לי את הקוד שם כדי להפוך את הקו חדש. 1676 01:14:11,690 --> 01:14:13,899 למה זה לא עבד? 1677 01:14:13,899 --> 01:14:15,440 31 דובר: זה לא בתוך הלולאה. 1678 01:14:15,440 --> 01:14:17,710 בריאן SCASSELLATI: אה, זה לא בתוך הלולאה. 1679 01:14:17,710 --> 01:14:18,520 זה נכון. 1680 01:14:18,520 --> 01:14:20,150 זה יושב מחוץ כאן. 1681 01:14:20,150 --> 01:14:23,470 1682 01:14:23,470 --> 01:14:29,050 וללולאה הוא כל מה ש זה בתוך טקסט ש. 1683 01:14:29,050 --> 01:14:35,500 >> אז אני הולך לעבור זה בתוך לולאה. 1684 01:14:35,500 --> 01:14:39,410 ואני Tab מול זה ל להראות שזה במקום הנכון. 1685 01:14:39,410 --> 01:14:42,020 ועכשיו, אנחנו נשמור את זה שוב. 1686 01:14:42,020 --> 01:14:44,350 אנחנו להקטין את התצוגה. 1687 01:14:44,350 --> 01:14:45,770 אנחנו לעבור למסוף שלנו. 1688 01:14:45,770 --> 01:14:48,330 1689 01:14:48,330 --> 01:14:50,360 להתקרב. 1690 01:14:50,360 --> 01:14:54,050 אנחנו מחדש תכנית הארנב שלנו. 1691 01:14:54,050 --> 01:14:59,070 ועכשיו, עכשיו יש לנו 10 המסגרות שלנו. 1692 01:14:59,070 --> 01:15:00,190 >> [מחיאות כפיים] 1693 01:15:00,190 --> 01:15:02,120 >> בריאן SCASSELLATI: אישור. 1694 01:15:02,120 --> 01:15:04,080 כן." 1695 01:15:04,080 --> 01:15:08,370 כאן הוא שלנו מקונן ללולאות. 1696 01:15:08,370 --> 01:15:13,140 הצלחנו ליצור ב לולאה פנימית כמה נקודות שאני רוצה 1697 01:15:13,140 --> 01:15:15,320 להדפיס בהתחלה, בסוף. 1698 01:15:15,320 --> 01:15:21,570 ושלט בלולאה החיצונית כמה מסגרות שאני בונה. 1699 01:15:21,570 --> 01:15:26,340 התחלנו עם מעט אחד ליבה של הבעיה, 1700 01:15:26,340 --> 01:15:30,320 ובנינו החוצה מנקודה זו. 1701 01:15:30,320 --> 01:15:30,820 בסדר. 1702 01:15:30,820 --> 01:15:33,500 >> בואו נעשה עוד צעד אחד. 1703 01:15:33,500 --> 01:15:35,040 אתה מוכן? 1704 01:15:35,040 --> 01:15:38,800 יש דבר אחד שבבי כאן אנחנו בעצם כבר סוג של לי 1705 01:15:38,800 --> 01:15:42,180 יותר מורכבות מאשר שאנחנו צריכים. 1706 01:15:42,180 --> 01:15:44,700 בואו נסתכל. 1707 01:15:44,700 --> 01:15:52,050 אז בתכנית הארנב שלנו, אם אני להקטין את תצוגה כאן, 1708 01:15:52,050 --> 01:15:54,980 אני עושה חלק מאותם דבר שוב ושוב. 1709 01:15:54,980 --> 01:15:59,032 מה עליי לעשות זה סוג של אותו הדבר חזר פעמיים? 1710 01:15:59,032 --> 01:16:00,310 >> SPEAKER 32: הדפס הנקודות. 1711 01:16:00,310 --> 01:16:03,526 >> בריאן SCASSELLATI: כן אני להדפיס נקודות אלה פעמיים. 1712 01:16:03,526 --> 01:16:05,710 באמת, צריך להיות לי הערה זו כאן למטה. 1713 01:16:05,710 --> 01:16:09,037 אני להדפיס כמה נקודות ב מתחיל, ממש עד כאן. 1714 01:16:09,037 --> 01:16:10,620 ואז אני להדפיס כמה נקודות בסוף. 1715 01:16:10,620 --> 01:16:14,694 ואני עושה סוג של בדיוק את אותו דבר. 1716 01:16:14,694 --> 01:16:17,110 מה אנחנו הולכים להתחיל עובד על בשבועות הקרובים 1717 01:16:17,110 --> 01:16:23,440 הוא להיות מסוגל לקחת אותם בלוקים של קוד שאנו משתמשים בו שוב ושוב, 1718 01:16:23,440 --> 01:16:25,800 ודרך תהליך הפשטה נקראת, 1719 01:16:25,800 --> 01:16:31,100 אנחנו הולכים למשוך אותם החוצה ו לכתוב אותם פעם אחת, כך שלאחר מכן אנחנו יכולים 1720 01:16:31,100 --> 01:16:35,130 שימוש חוזר בהם שוב ושוב. 1721 01:16:35,130 --> 01:16:37,210 אז בואו ננסה את זה. 1722 01:16:37,210 --> 01:16:38,220 מוכן? 1723 01:16:38,220 --> 01:16:42,200 >> אנחנו הולכים לקחת את הבלוק הזה של קוד. 1724 01:16:42,200 --> 01:16:45,280 ואני הולך לקחת אותו משם. 1725 01:16:45,280 --> 01:16:50,530 ואני הולך define-- למטה בתחתית, 1726 01:16:50,530 --> 01:16:53,130 אני הולך לכתוב פונקציה חדשה. 1727 01:16:53,130 --> 01:16:54,750 זה לא הולך לחזור כל דבר. 1728 01:16:54,750 --> 01:16:58,550 ואני הולך לקרוא לזה printDots. 1729 01:16:58,550 --> 01:17:01,530 >> זה הולך לקחת אחד טיעון, מספר שלם ש 1730 01:17:01,530 --> 01:17:04,920 אומר howManyDots אני צריך להדפיס. 1731 01:17:04,920 --> 01:17:09,310 1732 01:17:09,310 --> 01:17:17,720 ועכשיו במקום להדפיס נקודות j, אני להדפיס לספר howManyDots אני צריך להדפיס. 1733 01:17:17,720 --> 01:17:21,581 >> ויש בעיה אחת קטנה כאן. 1734 01:17:21,581 --> 01:17:22,580 מישהו יודע מה זה? 1735 01:17:22,580 --> 01:17:27,270 1736 01:17:27,270 --> 01:17:31,505 מה יש לי שהוא מופיע כאן זה לא מוגדר? 1737 01:17:31,505 --> 01:17:34,165 1738 01:17:34,165 --> 01:17:35,090 >> קהל: [לא ברור] 1739 01:17:35,090 --> 01:17:37,465 >> בריאן SCASSELLATI: ובכן איך נקודות רבות מוגדרת ממש עד 1740 01:17:37,465 --> 01:17:40,584 כאן, אבל אני משתמש במשתנה שאני. 1741 01:17:40,584 --> 01:17:43,750 אז אני הולך לקחת משתנה ש ואני הולך להגדיר אותו כאן 1742 01:17:43,750 --> 01:17:44,610 במקום. 1743 01:17:44,610 --> 01:17:49,683 >> אז עכשיו זה הולך stay-- אופס, יש הכובעים לנעול על somehow-- אני 1744 01:17:49,683 --> 01:17:52,060 הולך לשמור אותי לכאן. 1745 01:17:52,060 --> 01:17:57,050 >> אז עכשיו הנה הפונקציה הקטנה שלי או תת-שיגרתי, וזה אומר, 1746 01:17:57,050 --> 01:18:00,640 כמה נקודות אני הולך להדפיס? 1747 01:18:00,640 --> 01:18:05,300 וזה ילך דרך לולאה זה ו להדפיס אותם שוב ושוב. 1748 01:18:05,300 --> 01:18:10,940 >> אז אני יכול לשנות את התכנית שלי עד כאן. 1749 01:18:10,940 --> 01:18:12,540 ומה אני קורא לפונקציה זו? 1750 01:18:12,540 --> 01:18:13,960 printDots. 1751 01:18:13,960 --> 01:18:17,060 אז אני אתקשר printDots. 1752 01:18:17,060 --> 01:18:21,530 כמה נקודות אני רוצה להדפיס בפעם הראשונה לפני הארנב? 1753 01:18:21,530 --> 01:18:22,030 קהל: י. 1754 01:18:22,030 --> 01:18:23,230 בריאן SCASSELLATI: י. 1755 01:18:23,230 --> 01:18:27,110 כמה נקודות אני רוצה להדפיס בסוף, אחרי הארנב? 1756 01:18:27,110 --> 01:18:30,610 1757 01:18:30,610 --> 01:18:31,110 10-J. 1758 01:18:31,110 --> 01:18:35,020 1759 01:18:35,020 --> 01:18:38,010 >> ויש דבר אחד שאני חסר. 1760 01:18:38,010 --> 01:18:43,740 כפי שראית בהרצאה היום, אנחנו הולכים להכריז printDots 1761 01:18:43,740 --> 01:18:52,430 למעלה לתת את אב הטיפוס. 1762 01:18:52,430 --> 01:18:56,740 1763 01:18:56,740 --> 01:18:58,220 אוקיי. 1764 01:18:58,220 --> 01:19:03,530 >> אז מה שעשיתי הוא שניסיתי לבודד את החלק בה שימוש חוזר של קוד 1765 01:19:03,530 --> 01:19:06,430 שעשיתי שוב ושוב. 1766 01:19:06,430 --> 01:19:11,120 וניסיתי למשוך אותו החוצה כדי ש כל זה כלול במקום אחד. 1767 01:19:11,120 --> 01:19:16,810 בדרך זו, אם יש לי טעות איפשהו, אני רק צריך לתקן את זה במקום אחד. 1768 01:19:16,810 --> 01:19:17,310 בסדר. 1769 01:19:17,310 --> 01:19:18,470 >> אז בואו לשמור אותו. 1770 01:19:18,470 --> 01:19:20,950 ובואו לוודא שזה עובד. 1771 01:19:20,950 --> 01:19:22,050 אז בואו נצא. 1772 01:19:22,050 --> 01:19:25,200 נלך שוב למסוף שלנו. 1773 01:19:25,200 --> 01:19:27,960 אנחנו להתקרב. 1774 01:19:27,960 --> 01:19:31,010 אנחנו נעשה את זה תהליך הארנב. 1775 01:19:31,010 --> 01:19:32,380 >> אה. 1776 01:19:32,380 --> 01:19:34,800 וזה נתן לי אזהרה. 1777 01:19:34,800 --> 01:19:37,070 מה זה אומר לי? 1778 01:19:37,070 --> 01:19:39,870 ובכן בכל אחד מאלה פעמים, אתה תמיד רוצה 1779 01:19:39,870 --> 01:19:44,170 כדי לגלול עד error-- הראשון עכשיו על זה, יש לי רק אחד. 1780 01:19:44,170 --> 01:19:52,700 >> זה אומר לי בbunny.c, על קו 8, 9 טור, יש בעיה. 1781 01:19:52,700 --> 01:19:58,650 זה אומר, שהכרזת זה אני משתנה ואתה לא השתמשת בו. 1782 01:19:58,650 --> 01:20:02,230 >> עכשיו בדרך כלל, זה לא השגיאה החמורה ביותר. 1783 01:20:02,230 --> 01:20:04,300 זה קל לתקן. 1784 01:20:04,300 --> 01:20:07,550 ולמעשה, אנחנו יכולים לחזור ב. 1785 01:20:07,550 --> 01:20:09,910 אנחנו יכולים לחזור לארנבת. 1786 01:20:09,910 --> 01:20:13,010 ובמקרה הזה, כולנו צריך לעשות הוא להיפטר מאני, 1787 01:20:13,010 --> 01:20:16,630 כי אנחנו לא משתמשים ב אני בתוך עיקרי יותר. 1788 01:20:16,630 --> 01:20:19,860 אנחנו רק להשתמש בו בתוך תת-השגרה שלנו. 1789 01:20:19,860 --> 01:20:22,777 >> אז בואו נשמור את זה. 1790 01:20:22,777 --> 01:20:23,360 אנחנו נחזור. 1791 01:20:23,360 --> 01:20:26,760 1792 01:20:26,760 --> 01:20:28,630 ולהתקרב. 1793 01:20:28,630 --> 01:20:30,700 אנחנו עוד פעם אחת לעשות ארנב. 1794 01:20:30,700 --> 01:20:33,810 1795 01:20:33,810 --> 01:20:36,530 ויש שוב 10 מסגרות שלנו. 1796 01:20:36,530 --> 01:20:39,450 1797 01:20:39,450 --> 01:20:41,360 אוקיי. 1798 01:20:41,360 --> 01:20:43,190 >> בכל פעם שאתה נתון procedure-- כן. 1799 01:20:43,190 --> 01:20:44,690 SPEAKER 33: יש לי זה-- אני מבולבל. 1800 01:20:44,690 --> 01:20:45,892 האם אתה יכול לחזור לקוד? 1801 01:20:45,892 --> 01:20:46,850 בריאן SCASSELLATI: כן. 1802 01:20:46,850 --> 01:20:50,730 1803 01:20:50,730 --> 01:20:54,367 >> SPEAKER 33: אז, כשאתה כתב אב הטיפוס שלך, את טענתך 1804 01:20:54,367 --> 01:20:56,550 שזה נקרא בשם howMany? 1805 01:20:56,550 --> 01:20:57,540 אבל, below-- 1806 01:20:57,540 --> 01:20:57,640 >> בריאן SCASSELLATI: אה, כן. 1807 01:20:57,640 --> 01:20:59,140 >> SPEAKER 33: --called משהו שונה, אני לא מבין. 1808 01:20:59,140 --> 01:21:00,240 >> בריאן SCASSELLATI: מדוע הם שונים. 1809 01:21:00,240 --> 01:21:01,780 אז זה שאלה גדולה. 1810 01:21:01,780 --> 01:21:08,250 אז השאלה הייתה, עד כאן, כתבתי howMany, 1811 01:21:08,250 --> 01:21:12,380 ולמטה, כתבתי howManyDots. 1812 01:21:12,380 --> 01:21:15,590 >> הסיבה לכך היא שעד באב הטיפוס שלך, זה באמת לא שם לב 1813 01:21:15,590 --> 01:21:17,090 לשמות שאתה מכניס. 1814 01:21:17,090 --> 01:21:20,530 כל מה שבאמת אכפת הוא שזה מספר שלם. 1815 01:21:20,530 --> 01:21:23,080 היא רוצה לדעת את הצורה של מה שאתה מכניס. 1816 01:21:23,080 --> 01:21:31,560 >> עכשיו stylistically-- oops-- מה שאני צריך אל, הוא שאני רוצה לעשות משחק הבאים. 1817 01:21:31,560 --> 01:21:33,150 אוקיי. 1818 01:21:33,150 --> 01:21:36,430 מכיוון שתהיה לשמור אותו יותר קל לי לזכור. 1819 01:21:36,430 --> 01:21:38,390 אבל זה היה הטעות שלי כן. 1820 01:21:38,390 --> 01:21:47,620 >> SPEAKER 34: וכך ל אב טיפוס לעבודה, רק 1821 01:21:47,620 --> 01:21:50,510 כתיבת קו ש, כתיבת אב הטיפוס, 1822 01:21:50,510 --> 01:21:53,932 מאפשר פונקציה שמגיעה ממש מתחתיו ללכת עד הסוף 1823 01:21:53,932 --> 01:21:55,140 ולאחזר מה זה אומר? 1824 01:21:55,140 --> 01:21:58,480 >> בריאן SCASSELLATI: מה זה אומר כאשר המהדר עובר, 1825 01:21:58,480 --> 01:22:01,930 זה הולך מהחלק העליון של הקוד שלך לתחתית. 1826 01:22:01,930 --> 01:22:05,430 ומה הוא אב-טיפוס זה, זה בעצם הבטחה. 1827 01:22:05,430 --> 01:22:09,570 >> זה אומר, שיש הולך להיות פונקציה מוגדרת במקום כלשהו. 1828 01:22:09,570 --> 01:22:11,880 זה הולך להיות printDots נקרא. 1829 01:22:11,880 --> 01:22:15,110 וזה הולך לקחת טיעון אחד זה הולך להיות מספר שלם 1830 01:22:15,110 --> 01:22:18,590 וזה הולך לחזור שום דבר, סוג החלל. 1831 01:22:18,590 --> 01:22:19,310 אוקיי. 1832 01:22:19,310 --> 01:22:22,950 אני מבטיח לך שזה הולך להיות הגדרה איפשהו בהמשך הדרך. 1833 01:22:22,950 --> 01:22:25,590 אבל כל פעם שאתה רואה כי, כמו שאתה הולך במורד 1834 01:22:25,590 --> 01:22:28,710 דרך שאר פונקציה העיקרית, אני רוצה 1835 01:22:28,710 --> 01:22:33,800 לך לטפל בזה כפונקציה שלוקח קלט מספר שלם אחד. 1836 01:22:33,800 --> 01:22:37,970 >> ולכן כאשר המהדר יורד באמצעות זה, היא רואה שהבטחה. 1837 01:22:37,970 --> 01:22:40,220 וכאשר הוא יורד, שומר הולכים, הולך כל הזמן, 1838 01:22:40,220 --> 01:22:43,060 הוא מוצא בפעם הראשונה printDots מוזכר. 1839 01:22:43,060 --> 01:22:46,910 וזה אומר, אה, אתה נותן שלי j זה. j זה מספר שלם. 1840 01:22:46,910 --> 01:22:49,570 >> ובכן הבטיח לי שיהיה להיות שלם וזה נכון. 1841 01:22:49,570 --> 01:22:51,370 זה בסדר. 1842 01:22:51,370 --> 01:22:53,880 ולבסוף, במורד בתחתית מאוד, 1843 01:22:53,880 --> 01:22:58,340 לפני שאני מגיע לסוף שלי קובץ, אני עושה טוב על ההבטחה שלי 1844 01:22:58,340 --> 01:22:59,896 ואני מגדיר את זה. 1845 01:22:59,896 --> 01:23:01,868 אוקיי? 1846 01:23:01,868 --> 01:23:06,320 >> 35 דובר: אז, זה saves-- תכנית תחסוך חללים ריקים 1847 01:23:06,320 --> 01:23:09,570 שזה חוזר וממלא בסוף? 1848 01:23:09,570 --> 01:23:12,140 >> בריאן SCASSELLATI: זה לא על הקצאת הזיכרון. 1849 01:23:12,140 --> 01:23:16,800 זה בעצם רק על מה ש הסוג שאתה מצפה לראות. 1850 01:23:16,800 --> 01:23:19,340 צריך את הדבר הזה אחת ויכוח, או חמישה טיעונים? 1851 01:23:19,340 --> 01:23:23,590 זה צריך להיות שלם ולהיות שניתן לו, או מחרוזות? 1852 01:23:23,590 --> 01:23:25,780 זה כל מה שזה נראה לעשות הוא לבדוק, 1853 01:23:25,780 --> 01:23:29,303 אתה נותן לי את סוג נכון של טיעון. 1854 01:23:29,303 --> 01:23:31,560 אוקיי? 1855 01:23:31,560 --> 01:23:32,300 בסדר. 1856 01:23:32,300 --> 01:23:38,570 >> תן לי להשאיר אותך עם קצת אחד אחר להסתכל. 1857 01:23:38,570 --> 01:23:44,850 אמנות ASCII היא לא המודל הגדול של אנימציה כפי שהוא היום. 1858 01:23:44,850 --> 01:23:50,850 אבל יש אנשים שכמובן לקחת את הדברים והם דוחפים את זה לקיצוניות שלהם. 1859 01:23:50,850 --> 01:23:56,790 >> זה, כמו דוד הפגין בהרצאה, פיסת הקוד 1860 01:23:56,790 --> 01:24:02,150 שאתה צריך בשום פנים ו מנסה לשכפל את עצמכם. 1861 01:24:02,150 --> 01:24:05,260 בגלל זה הוא נורא סגנונית. 1862 01:24:05,260 --> 01:24:11,180 למעשה, הוא נועד להיות כ ככל האפשר לקשה לקרוא. 1863 01:24:11,180 --> 01:24:11,680 אוקיי. 1864 01:24:11,680 --> 01:24:16,210 >> אז, לעשות שוב, בואו להתמקד בכאן. 1865 01:24:16,210 --> 01:24:20,120 אני הולך עכשיו, שינוי ספרייה. 1866 01:24:20,120 --> 01:24:24,050 אני הולך לעלות אחד רמה, חזרה לסביבת העבודה שלי. 1867 01:24:24,050 --> 01:24:29,760 אז אני אשנה את הספרייה לזה ספרייה אחרת שיצרתי. 1868 01:24:29,760 --> 01:24:36,190 >> וזה בינלאומי תכנות C לטשטש תחרות. 1869 01:24:36,190 --> 01:24:40,650 אמצעים לטשטש קשה ככל האפשר כדי להבין. 1870 01:24:40,650 --> 01:24:44,150 אז בבקשה, אל תפחדו, אם אתה מסתכל בשלב זה וללכת, אני לא יכול לקרוא את זה. 1871 01:24:44,150 --> 01:24:46,350 זו הנקודה שלו. 1872 01:24:46,350 --> 01:24:47,700 אוקיי? 1873 01:24:47,700 --> 01:24:52,770 >> אבל, יש לנו את זה תכנית נפלאה שאני 1874 01:24:52,770 --> 01:24:57,180 הולך להסתכל רק על ידי הקלדה יותר. 1875 01:24:57,180 --> 01:25:01,890 ובואו נראה אם ​​אני יכול להקטין את התצוגה רק קצת, כך שאתה יכול לראות את זה 1876 01:25:01,890 --> 01:25:03,940 >> וזה התכנית. 1877 01:25:03,940 --> 01:25:08,080 זה שם endo.c. 1878 01:25:08,080 --> 01:25:14,850 וזה נראה כמו דלי זה עם סוג של האותיות F-L-U-אני-D בזה. 1879 01:25:14,850 --> 01:25:16,440 >> זה הוא למעשה תכנית. 1880 01:25:16,440 --> 01:25:20,260 זה כתוב במעורפל ביותר אופן שבו המחברים אולי יכלו 1881 01:25:20,260 --> 01:25:21,760 כתוב זאת. 1882 01:25:21,760 --> 01:25:29,210 אבל זה חתיכה קטנה נפלאה ש יוצר מודל של דינמיקה של נוזלים. 1883 01:25:29,210 --> 01:25:34,870 >> וכך אנחנו הולכים לתת לי מודל שקלט ש 1884 01:25:34,870 --> 01:25:42,520 נראה כך, של staired להגדיר מכולות 1885 01:25:42,520 --> 01:25:45,820 עם כמה נוזל, כמה נוזל, עד שבחלק העליון. 1886 01:25:45,820 --> 01:25:48,790 ואנחנו נצטרך אותו לדמות מה קורה לו. 1887 01:25:48,790 --> 01:25:52,415 >> אז אני אתקשר אל הפונקציה ש, אנדו. 1888 01:25:52,415 --> 01:25:59,000 ואני אתן לו ש קובץ קלט שהיה לי. 1889 01:25:59,000 --> 01:26:02,830 ויש ההתגלמות של אמנות ASCII שלנו. 1890 01:26:02,830 --> 01:26:08,960 סימולטור דינמי נוזל מלא פועל רק כמה שורות של קוד. 1891 01:26:08,960 --> 01:26:13,750 >> עכשיו מה בעצם באמת מדהים על תכנית זו קטנה 1892 01:26:13,750 --> 01:26:17,280 הוא שאני רוצה לעצור את זה עכשיו, אז אני הולך להשתמש במה שהפקודה? 1893 01:26:17,280 --> 01:26:18,660 >> קהל: בקרה-C. 1894 01:26:18,660 --> 01:26:20,390 >> בריאן SCASSELLATI: בקרה-C. אוקיי. 1895 01:26:20,390 --> 01:26:22,960 אז אני אשתמש בקרה-C. C זה יהיה לעצור את זה. 1896 01:26:22,960 --> 01:26:25,330 אני לנקות שוב. 1897 01:26:25,330 --> 01:26:31,210 ועכשיו אני הולך להפעיל את תכנית, לבצע את התכנית, 1898 01:26:31,210 --> 01:26:33,740 באמצעות עצמו כקלט. 1899 01:26:33,740 --> 01:26:36,760 1900 01:26:36,760 --> 01:26:42,700 >> ואנו רואים את דינמיקת הנוזלים סימולציה שלו נמסה. 1901 01:26:42,700 --> 01:26:43,830 אוקיי. 1902 01:26:43,830 --> 01:26:48,180 בבקשה אל תתנו לי תכנית ש להיות הדבר שמבלבל אותך. 1903 01:26:48,180 --> 01:26:52,220 זה רק כדי שנוכל לסיים ב משהו מגניב ומעניין. 1904 01:26:52,220 --> 01:26:53,930 אוקיי. 1905 01:26:53,930 --> 01:26:56,330 >> מיטב של מזל עם סטי הבעיה שלך. 1906 01:26:56,330 --> 01:26:59,030 נשמח לענות שאלות אחרי השיעור. 1907 01:26:59,030 --> 01:27:01,180 תודה רבה, חבר 'ה. 1908 01:27:01,180 --> 01:27:02,793