1 00:00:00,000 --> 00:00:00,940 2 00:00:00,940 --> 00:00:05,440 >> [సంగీతాన్ని] 3 00:00:05,440 --> 00:00:11,577 4 00:00:11,577 --> 00:00:12,660 డేవిడ్ J. మలన్: అన్ని కుడి. 5 00:00:12,660 --> 00:00:15,590 ఈ CS50, మరియు ఈ వారం రెండు ప్రారంభంలో ఉంది. 6 00:00:15,590 --> 00:00:19,120 సో మాకు ఒక బగ్ తో నేడు ప్రారంభం తెలపండి. 7 00:00:19,120 --> 00:00:20,974 ఒక బగ్, కోర్సు యొక్క, ఒక ఒక కార్యక్రమంలో తప్పు, 8 00:00:20,974 --> 00:00:22,890 మరియు మీరు చాలా పొందుతారు ఈ భావన తెలిసిన 9 00:00:22,890 --> 00:00:26,050 మీరు ప్రోగ్రామ్ ఎప్పుడూ ఉంటే ముందు. pset0 మరియు ఇప్పుడు pset1. 10 00:00:26,050 --> 00:00:29,280 కానీ ఏదో పరిశీలిద్దాం మొదటి వద్ద కొద్దిగా సాధారణ. 11 00:00:29,280 --> 00:00:32,189 నేను ఇక్కడ ఈ కార్యక్రమం ముందుగానే కలిసి విసిరారు 12 00:00:32,189 --> 00:00:37,280 మరియు నేను ఈ ప్రింట్ ఉండాలి వాదించారు Printf ఉపయోగించి తెరపై 10 నక్షత్రాలు, 13 00:00:37,280 --> 00:00:41,020 కానీ ఇది స్పష్టంగా కొన్ని విధంగా బగ్గీ. 14 00:00:41,020 --> 00:00:45,370 >> ఆ వివరణ ఇచ్చిన 10 నక్షత్రాలు ముద్రించాలా ఉండాలి 15 00:00:45,370 --> 00:00:50,230 కానీ అది స్పష్టంగా లేదు, ఏమి బగ్ మీరు క్లెయిమ్ చేస్తుంది? 16 00:00:50,230 --> 00:00:52,004 అవును? 17 00:00:52,004 --> 00:00:54,420 కనుక ఇది ఒక లోపం ఒక ఆఫ్ వార్తలు, మరియు మీరు ఆ ద్వారా ఏమిటి? 18 00:00:54,420 --> 00:01:00,991 19 00:01:00,991 --> 00:01:01,490 సరే. 20 00:01:01,490 --> 00:01:09,820 21 00:01:09,820 --> 00:01:10,410 అద్భుతమైన. 22 00:01:10,410 --> 00:01:13,930 కాబట్టి మేము పేర్కొన్న ఒక నేను సున్నా విలువ మొదలు, 23 00:01:13,930 --> 00:01:18,399 మరియు మేము, 10 ఒక n విలువ పేర్కొన్న కానీ మేము తక్కువ లేదా సమానం తక్కువ ఉపయోగించారు చేసిన. 24 00:01:18,399 --> 00:01:21,190 మరియు ఈ కారణం రెండు ఉంది అక్షరాలు మరియు కేవలం ఒక చిహ్నం, 25 00:01:21,190 --> 00:01:22,630 గణిత పుస్తకం లో వలె, మీరు లేని ఉంది 26 00:01:22,630 --> 00:01:24,880 వ్యక్తపరిచే ఒక మార్గం ఒక పాత్ర సమానమైన. 27 00:01:24,880 --> 00:01:28,450 >> కాబట్టి ఆ, కంటే తక్కువ అంటే కానీ మీరు సున్నా వద్ద లెక్కింపు మొదలు ఉంటే, 28 00:01:28,450 --> 00:01:31,690 కానీ మీరు అన్ని మార్గం కౌంట్ 10 వరకు అప్ మరియు సమాన, 29 00:01:31,690 --> 00:01:34,170 మీరు కోర్సు వెళుతున్న ఉన్నారు మొత్తంగా 11 విషయాలు కౌంట్. 30 00:01:34,170 --> 00:01:35,900 కాబట్టి మీరు 11 నక్షత్రాలు ప్రింట్ చూడాలని. 31 00:01:35,900 --> 00:01:37,990 సో వాట్ ఈ కోసం ఒక పరిష్కారాన్ని కావచ్చు? 32 00:01:37,990 --> 00:01:39,970 అవును? 33 00:01:39,970 --> 00:01:43,980 >> కాబట్టి కేవలం కంటే తక్కువ సర్దుబాటు లేదా కేవలం కంటే తక్కువ ఉండాలి సమాన, 34 00:01:43,980 --> 00:01:46,250 బహుశా, నేను దావా, ఉంది చాలా మరొక పరిష్కారం. 35 00:01:46,250 --> 00:01:47,210 Else మీరు ఏమి ఉంటుంది? 36 00:01:47,210 --> 00:01:48,590 అవును? 37 00:01:48,590 --> 00:01:53,660 >> 1 కాబట్టి దానిని సమం ప్రారంభించండి, మరియు తక్కువ లేదా సమానం తక్కువ వదిలి. 38 00:01:53,660 --> 00:01:56,187 మరియు స్పష్టముగా నేను హరించింది ఆ, ఒక సాధారణ మానవ కోసం, 39 00:01:56,187 --> 00:01:57,770 ఈ బహుశా మరింత సూటిగా ఉంటుంది. 40 00:01:57,770 --> 00:02:00,280 1 వద్ద లెక్కింపు ప్రారంభం మరియు 10 ద్వారా కూడుట. 41 00:02:00,280 --> 00:02:01,690 ముఖ్యంగా మీరు అర్థం ఏమి. 42 00:02:01,690 --> 00:02:04,010 >> కానీ నిజానికి ఉంది ప్రోగ్రామింగ్, మేము చూసిన వంటి, 43 00:02:04,010 --> 00:02:07,598 కంప్యూటర్ శాస్త్రవేత్తలు మరియు ప్రోగ్రామర్లు సాధారణంగా సున్నా వద్ద లెక్కింపు మొదలు లేదు. 44 00:02:07,598 --> 00:02:09,389 కాబట్టి ఒకసారి మంచిది మీరు అలవాటుపడతారు. 45 00:02:09,389 --> 00:02:12,640 మీ పరిస్థితి సాధారణంగా రెడీ కంటే తక్కువ లాగ. 46 00:02:12,640 --> 00:02:14,910 కాబట్టి కేవలం ఒక తార్కిక లోపం మేము ఇప్పుడు అనుకొనుట 47 00:02:14,910 --> 00:02:17,990 పరిష్కరించడానికి మరియు చివరికి చేయుట ఈ మరియు కేవలం 10 పొందండి. 48 00:02:17,990 --> 00:02:19,610 >> అలాగే ఇక్కడ ఈ బగ్ గురించి? 49 00:02:19,610 --> 00:02:24,200 ఇక్కడ, మళ్ళీ, నేను చేసిన చెప్పుకునే 10 stars-- ప్రింటింగ్ ఒక గోల్ 50 00:02:24,200 --> 00:02:28,140 లైన్ ఈ సమయం ఒకటి చొప్పున, కానీ అలా జరగలేదు. 51 00:02:28,140 --> 00:02:30,940 మేము ప్రపోజ్ ముందు ఏమి పరిష్కారము ఈ ఏమి, ఉంది 52 00:02:30,940 --> 00:02:34,640 నేను కంపైల్ ఒకవేళ దృష్టి ప్రింట్ మరియు ఈ ప్రోగ్రామ్ మీరు అనుకుంటున్నారు రన్? 53 00:02:34,640 --> 00:02:35,140 అవును? 54 00:02:35,140 --> 00:02:38,360 55 00:02:38,360 --> 00:02:38,860 >> స్టార్. 56 00:02:38,860 --> 00:02:41,690 న సో అన్ని నక్షత్రాలు అదే లైన్ నేను విన్న ఏమిటి, 57 00:02:41,690 --> 00:02:43,391 ఆపై కొత్త లైన్ పాత్ర. 58 00:02:43,391 --> 00:02:44,140 కాబట్టి యొక్క ప్రయత్నించండి తెలియజేయండి. 59 00:02:44,140 --> 00:02:48,710 కాబట్టి బగ్గీ-1, ఎంటర్ చేయండి, మరియు నేను గణగణమని ద్వని ఆదేశం చూడండి 60 00:02:48,710 --> 00:02:50,090 మేము చివరిసారి గురించి చర్చిస్తామని. 61 00:02:50,090 --> 00:02:55,180 ./buggy-1, నిజానికి నేను అన్ని 10 నక్షత్రాలు చూడండి నేను పేర్కొంటున్నాయి అయినప్పటికీ అదే లైన్లో 62 00:02:55,180 --> 00:02:58,690 నా వివరణకు చేరగా కేవలం ఒక వ్యాఖ్యలో నేను ఒక శాతం ఏమి ఉద్దేశించిన ఆ కోడ్ 63 00:02:58,690 --> 00:02:59,230 లైన్. 64 00:02:59,230 --> 00:03:00,580 కానీ ఈ కుడి కనిపిస్తోంది. 65 00:03:00,580 --> 00:03:04,620 >> నేను ఉంటాను ఇప్పుడు లైన్ 15 కనిపిస్తోంది అప్పుడు ఒక స్టార్ ముద్రించడం, మరియు లైన్ 16 66 00:03:04,620 --> 00:03:06,620 నేను ప్రింటింగ్ నేను కనిపిస్తుంది ఒక కొత్త లైన్ పాత్ర, 67 00:03:06,620 --> 00:03:09,560 మరియు వారు రెండు కాబట్టి ఇండెంట్ చేస్తున్నారు నేను స్పష్టంగా లూప్ యొక్క లోపల ఉన్నాను. 68 00:03:09,560 --> 00:03:13,610 కాబట్టి నేను స్టార్ చేయకూడదు, కొత్త లైన్, స్టార్, న్యూ లైన్ స్టార్, కొత్త లైన్? 69 00:03:13,610 --> 00:03:14,110 అవును? 70 00:03:14,110 --> 00:03:18,430 71 00:03:18,430 --> 00:03:21,240 >> అవును, ఒక భాష కాకుండా వంటి పైథాన్, మీరు తెలిసి ఉంటే, 72 00:03:21,240 --> 00:03:23,540 ఇండెంటేషన్ని లేదు కంప్యూటర్ పట్టింపు. 73 00:03:23,540 --> 00:03:25,280 ఇది మాత్రమే మానవ మేటర్స్. 74 00:03:25,280 --> 00:03:29,860 ఇక్కడ అయితే నేను కనిపెట్టిన చేసిన పంక్తులు కాబట్టి 15 మరియు అందమైన కనిపిస్తోంది 16, 75 00:03:29,860 --> 00:03:31,330 కానీ కంప్యూటర్ పట్టించుకోరు. 76 00:03:31,330 --> 00:03:34,640 కంప్యూటర్ గురించి పట్టించుకుంటారు నిజానికి గిరజాల జంట కలుపులు కలిగి 77 00:03:34,640 --> 00:03:36,310 కోడ్ యొక్క ఈ పంక్తులు చుట్టూ. 78 00:03:36,310 --> 00:03:39,520 >> కాబట్టి ఇది కేవలం వంటి clear-- వార్తలు Scratch-- కోడ్ ఆ రెండు పంక్తులు 79 00:03:39,520 --> 00:03:40,450 అమలు చేయాలి. 80 00:03:40,450 --> 00:03:44,390 ఆ పసుపు స్క్రాచ్ పజిల్ వాడిలా ముక్కలు మళ్ళీ, మళ్ళీ, మళ్ళీ. 81 00:03:44,390 --> 00:03:50,920 >> నేను చేస్తే ఇప్పుడు తిరిగి అమలు ప్రోగ్రాం ./buggy-2-- అవును. 82 00:03:50,920 --> 00:03:51,770 నేను ఇప్పుడు ఒక లోపం ఉంది. 83 00:03:51,770 --> 00:03:54,212 నేను ఏమి మర్చిపోతే లేదు? 84 00:03:54,212 --> 00:03:55,420 అవును, నేను కంపైల్ లేదు. 85 00:03:55,420 --> 00:03:56,740 కాబట్టి లోపాలతో-2. 86 00:03:56,740 --> 00:03:59,840 అటువంటి ఫైలు నేను ఎందుకంటే నిజానికి రెండవ వెర్షన్ కంపైల్. 87 00:03:59,840 --> 00:04:04,860 కాబట్టి ఇప్పుడు ఆసక్తికరంగా ప్రకటించనివారు 2 కాదని వేరియబుల్. 88 00:04:04,860 --> 00:04:05,510 మేము 1 చేయుచున్నారు. 89 00:04:05,510 --> 00:04:11,050 ఇప్పుడు లోపాలతో-1-- ./buggy-1-- అండ్ మేక్ వాటిని ప్రతి అదే లైన్ లో ఉంది. 90 00:04:11,050 --> 00:04:13,880 >> ఇప్పుడు ఒక మినహాయింపు ఉంది గని యొక్క ఈ కోరుకుంటున్నాము దావా 91 00:04:13,880 --> 00:04:15,520 మీరు ఈ కర్లీ జంట కలుపులు అవసరం. 92 00:04:15,520 --> 00:04:20,160 ఇది నిజానికి ఉంది OK-- మీరు చేసిన ఉంటే విభాగం లేదా textbooks-- లో గమనించాము 93 00:04:20,160 --> 00:04:22,130 వంకర జంట కలుపులు మినహాయించడం? 94 00:04:22,130 --> 00:04:22,630 అవును? 95 00:04:22,630 --> 00:04:26,290 96 00:04:26,290 --> 00:04:26,870 >> సరిగ్గా. 97 00:04:26,870 --> 00:04:28,940 ఒకేఒక్క ఉన్నప్పుడు కోడ్ లైన్ మీరు 98 00:04:28,940 --> 00:04:32,830 తో సంబంధం అనుకుంటున్నారా మా మొదటి ఉదాహరణలో వంటి లూప్. 99 00:04:32,830 --> 00:04:36,380 ఇది సంపూర్ణ చట్టబద్ధమైన వంకర జంట కలుపులు మినహాయించడం 100 00:04:36,380 --> 00:04:40,310 కేవలం సౌలభ్యం విధమైన మీరు కంపైలర్ నుండి. 101 00:04:40,310 --> 00:04:40,810 అవును? 102 00:04:40,810 --> 00:04:43,347 103 00:04:43,347 --> 00:04:43,930 మంచి ప్రశ్న. 104 00:04:43,930 --> 00:04:45,500 అది ఒక శైలి లోపం పరిగణించిన? 105 00:04:45,500 --> 00:04:49,340 మేము CS50 లో వంటి promote-- ఉంటుంది శైలి గైడ్, ఇది కోసం URL 106 00:04:49,340 --> 00:04:51,926 ఆ ఎల్లప్పుడూ pset1-- ఉంది గిరజాల జంట కలుపులు ఉపయోగిస్తారు. 107 00:04:51,926 --> 00:04:53,550 ఖచ్చితంగా మీరు ప్రోగ్రామింగ్ కొత్త అయితే. 108 00:04:53,550 --> 00:04:56,800 రియాలిటీ మేము తెలియకుంటే మీరు నిషేధించాయి అన్నారు 109 00:04:56,800 --> 00:04:58,680 ఈ అనుకూల్యములు చేయడం నుండి. 110 00:04:58,680 --> 00:05:00,846 కానీ మీరు కేవలం పొందుతుంటే విషయాలు స్వింగ్ లోకి, 111 00:05:00,846 --> 00:05:04,020 ఖచ్చితంగా కేవలం ఎల్లప్పుడూ గిరజాల ఉపయోగించడానికి మీరు దాని హ్యాంగ్ వచ్చేవరకు జంట కలుపులు. 112 00:05:04,020 --> 00:05:04,640 మంచి ప్రశ్న. 113 00:05:04,640 --> 00:05:05,320 >> అన్ని కుడి. 114 00:05:05,320 --> 00:05:07,660 కాబట్టి అప్పుడు ఒక బగ్ ఉంది. 115 00:05:07,660 --> 00:05:09,190 నిరాడంబర ఏదో కనీసం. 116 00:05:09,190 --> 00:05:11,260 మరియు ఇంకా మీరు ఈ అనుకుంటున్నాను ఉండవచ్చు కుడి, చాలా మూలాధార? 117 00:05:11,260 --> 00:05:13,635 ఈ మొదటి వారం యొక్క విధమైన ఉంది యొక్క భాషను చూడటం 118 00:05:13,635 --> 00:05:14,890 వంటి మీ దోషాలు అందులో చూడండి. 119 00:05:14,890 --> 00:05:17,250 కానీ వాస్తవంలో ఈ ఉన్నాయి నిజానికి ప్రతినిధి 120 00:05:17,250 --> 00:05:20,310 కొన్ని అందంగా భయపెట్టే సమస్యలు వాస్తవ ప్రపంచ పెరగవచ్చు. 121 00:05:20,310 --> 00:05:23,530 >> కాబట్టి మీరు కొన్ని గుర్తు ఉండవచ్చు మీరు టెక్ న్యూస్ అనుసరించండి ఉంటే, 122 00:05:23,530 --> 00:05:25,740 లేదా మరింత క్యాచ్ ఫిబ్రవరి లో ఈ గాలి 123 00:05:25,740 --> 00:05:29,434 ఆపిల్ ఉందని ఈ గత సంవత్సరం , రెండు iOS తప్పు యొక్క ఒక బిట్ చేసిన 124 00:05:29,434 --> 00:05:31,350 ఆపరేటింగ్ సిస్టమ్ వారి ఫోన్లు, మరియు కూడా 125 00:05:31,350 --> 00:05:34,220 Mac OS ఆపరేటింగ్ సిస్టమ్ వారి డెస్క్టాప్లు మరియు ల్యాప్టాప్ల. 126 00:05:34,220 --> 00:05:36,480 మరియు మీరు ఈ వంటి హెడ్లైన్స్ చూసింది. 127 00:05:36,480 --> 00:05:41,120 ఆ తరువాత ఆపిల్ ఈ బగ్ పరిష్కరించడానికి హామీ, 128 00:05:41,120 --> 00:05:45,950 మరియు చాలా త్వరగా, iOS లో ఇది పరిష్కరించడానికి చేసింది కానీ అప్పుడు చివరికి మాక్ OS లో అది పరిష్కరించబడింది 129 00:05:45,950 --> 00:05:46,810 అలాగే. 130 00:05:46,810 --> 00:05:50,370 >> ఇప్పుడు ఈ ముఖ్యాంశాలు ఎవరూ ఒంటరిగా నిజంగా అంతర్లీన సమస్య ఏమిటో బహిర్గతం, 131 00:05:50,370 --> 00:05:55,640 కానీ బగ్ చివరికి తగ్గింది SSL లో ఒక బగ్ సెక్యూర్ సాకెట్స్ లేయర్. 132 00:05:55,640 --> 00:05:57,390 మరియు దీర్ఘ కథ చిన్న, ఈ సాఫ్ట్వేర్ 133 00:05:57,390 --> 00:06:01,030 మా బ్రౌజర్లు మరియు ఇతర సాఫ్ట్వేర్ ఏమి ఉపయోగిస్తారు? 134 00:06:01,030 --> 00:06:04,090 135 00:06:04,090 --> 00:06:06,860 >> నేను SSL అని చెప్పాడు ఉంటే చేరి, చేసినప్పుడు మీరు 136 00:06:06,860 --> 00:06:13,920 , HTTPS తో మొదలవుతుంది ఒక URL ను సందర్శించండి అప్పుడు ఏమి SSL సంబంధించిన ఉండవచ్చు? 137 00:06:13,920 --> 00:06:14,580 ఎన్క్రిప్షన్. 138 00:06:14,580 --> 00:06:16,470 కాబట్టి మేము గురించి మాట్లాడదాము రాబోయే రోజుల్లో ఈ. 139 00:06:16,470 --> 00:06:18,750 ఎన్క్రిప్షన్, కళ సమాచారం స్క్రాంబ్లింగ్. 140 00:06:18,750 --> 00:06:22,200 >> కానీ దీర్ఘ కథ చిన్న, ఆపిల్ కొంత పొరపాటు చేసింది క్రితం 141 00:06:22,200 --> 00:06:25,970 , ఎస్ఎస్ఎల్ వారి అమలులో చివరికి అమలుచేసే సాఫ్ట్వేర్ 142 00:06:25,970 --> 00:06:30,120 HTTPS లేదా మాక్స్ వంటి URL లు చాలా కనెక్షన్లను. 143 00:06:30,120 --> 00:06:32,850 ఇది ఫలితంగా ఉంది మీ కనెక్షన్లు సమర్థవంతంగా అనుకొనుట 144 00:06:32,850 --> 00:06:33,920 అడ్డగించాలని. 145 00:06:33,920 --> 00:06:37,130 మరియు మీ కనెక్షన్లు ఉన్నాయి తప్పనిసరిగా ఎన్క్రిప్టెడ్ కాదు 146 00:06:37,130 --> 00:06:40,350 మీరు మధ్య కొన్ని చెడు వ్యక్తి కలిగి ఉంటే మీరు మరియు గమ్యం వెబ్సైట్ ఎవరు 147 00:06:40,350 --> 00:06:42,170 ఈ ప్రయోజనాన్ని ఎలా తెలుసు. 148 00:06:42,170 --> 00:06:45,090 >> ఇప్పుడు ఆపిల్ చివరికి పోస్ట్ చివరకు ఈ కోసం పరిష్కరించడానికి, 149 00:06:45,090 --> 00:06:46,920 మరియు వివరణ వారి పరిష్కారం ఈ ఉంది. 150 00:06:46,920 --> 00:06:49,878 సురక్షిత రవాణా ధ్రువీకరించడానికి విఫలమైంది కనెక్షన్ యొక్క ప్రామాణికతను. 151 00:06:49,878 --> 00:06:52,920 సమస్య ప్రసంగించారు తప్పిపోయిన ధ్రువీకరణ దశలను పునరుద్ధరణ. 152 00:06:52,920 --> 00:06:57,250 >> కాబట్టి ఈ చాలా చేతులతో ఉంగరాల వివరణ ఉంది కేవలం మేము ఇరుక్కొనిపోయింది చెప్పి కోసం. 153 00:06:57,250 --> 00:07:00,920 సాహిత్యపరంగా ఒక ఉంది బగ్గీ అని కోడ్ యొక్క లైన్ 154 00:07:00,920 --> 00:07:05,130 వారి SSL అమలు, మరియు మీరు ఆన్లైన్ వెళ్ళడానికి మరియు ఈ కోసం శోధిస్తే 155 00:07:05,130 --> 00:07:07,210 మీరు నిజంగా వెదుక్కోవచ్చు అసలు సోర్స్ కోడ్. 156 00:07:07,210 --> 00:07:11,960 ఉదాహరణకు, ఈ స్క్రీన్ షాట్ ఉంది కేవలం ఒక మాదిరి పెద్ద ఫైల్ యొక్క భాగాన్ని, 157 00:07:11,960 --> 00:07:15,965 కానీ ఈ స్పష్టంగా అనే ఫంక్షన్ ఉంది SSL సైన్ సర్వర్ కీ మార్పిడి ధృవీకరించండి. 158 00:07:15,965 --> 00:07:17,840 మరియు అది కొంత సమయం పడుతుంది వాదనలు మరియు ఇన్పుట్లను. 159 00:07:17,840 --> 00:07:20,298 మరియు మేము దృష్టి వెళ్ళి లేదు అక్కడ minutia లో చాలా, 160 00:07:20,298 --> 00:07:24,390 కానీ మీరు లోపల కోడ్ దృష్టి ఉంటే లెట్ యొక్క ఫంక్షన్ అని చాలా ఎత్తైన యొక్క 161 00:07:24,390 --> 00:07:25,590 ఆ పై జూమ్. 162 00:07:25,590 --> 00:07:28,140 మీరు ఇప్పటికే అనుమానిస్తున్నారు ఉండవచ్చు ఏమి లోపం కలిగింది 163 00:07:28,140 --> 00:07:31,230 మీరు ఏ ఆలోచన ఉంది కూడా ఉంటుంది చివరికి మీరు శోధిస్తున్న ఏమి. 164 00:07:31,230 --> 00:07:35,924 ఒక అసాధారణ రకమైన ఉంది ఇక్కడ, ఇది ఏమిటి? 165 00:07:35,924 --> 00:07:38,940 >> అవును, నేను నిజంగా ఇష్టం లేదు రెండు గోటో రూపాన్ని విఫలమైతే. 166 00:07:38,940 --> 00:07:42,060 స్పష్టముగా, నేను నిజంగా తెలియదు ఏమి గోటో అంటే విఫలం, కానీ వాటిలో రెండు కలిగి 167 00:07:42,060 --> 00:07:42,810 వెనుకకు తిరిగి. 168 00:07:42,810 --> 00:07:45,290 ఆ రకమైన నాకు రుద్దుకున్నాడు మేధస్సును తప్పు మార్గం, 169 00:07:45,290 --> 00:07:48,910 మరియు మేము లో జూమ్ ఉంటే నిజానికి కేవలం ఆ లైన్లు, ఈ C. ఉంది 170 00:07:48,910 --> 00:07:52,220 >> కాబట్టి ఆపిల్ యొక్క కోడ్ చాలా కూడా సి లో రాసిన, 171 00:07:52,220 --> 00:07:55,780 మరియు ఈ స్పష్టంగా నిజంగా equivalent-- ఉంది 172 00:07:55,780 --> 00:07:59,060 కాదు అందంగా ఇండెంటేషన్ని కు వెర్షన్, కానీ మీరు గుర్తించి ఉంటే నిజానికి 173 00:07:59,060 --> 00:08:02,560 ఏ వంకర జంట కలుపులు ఉంది, ఆ ఏమి Apple నిజంగా కనిపించే కోడ్ జరిగినది రాశారు 174 00:08:02,560 --> 00:08:03,540 దీనిని ఇష్టపడుతున్నారు. 175 00:08:03,540 --> 00:08:07,080 కాబట్టి నేను బయటకు జూమ్ మరియు కేవలం నేను చేసిన భావంలో ఇండెంటేషన్ని స్థిర 176 00:08:07,080 --> 00:08:10,690 ఆ లేదు వంకర జంట కలుపులు, అక్కడ ఉంటే రెండవ గోటో పసుపు వార్తలు విఫలం 177 00:08:10,690 --> 00:08:12,500 ఏమి ఉన్నా అమలు అన్నారు. 178 00:08:12,500 --> 00:08:15,540 ఇది సంబంధం లేదు ఇది పైన ఉంటే పరిస్థితి. 179 00:08:15,540 --> 00:08:19,590 >> సో కూడా మళ్ళీ మీరు చేస్తే చాలా అర్థం ఏమి ఈ బహుశా అనుకొనుట 180 00:08:19,590 --> 00:08:23,230 చేస్తూ తెలుసు ఈ ప్రతి ఆ ఈ పంక్తులు ప్రతి పరిస్థితుల్లో 181 00:08:23,230 --> 00:08:26,180 చాలా ముఖ్యమైన దశ తనిఖీ ప్రక్రియలో 182 00:08:26,180 --> 00:08:28,350 మీ డేటా నిజానికి ఉంటే ఎన్క్రిప్టెడ్. 183 00:08:28,350 --> 00:08:31,710 కాబట్టి ఈ ఒకటి ముళ్లు దశలు, ఉత్తమ ఆలోచన. 184 00:08:31,710 --> 00:08:34,840 >> కానీ మేము ఈ కలిగి ఎందుకంటే రెండవ గోటో, పసుపు విఫలం 185 00:08:34,840 --> 00:08:36,840 మరియు ఎందుకంటే మేము ఒకసారి విధమైన అందమైన 186 00:08:36,840 --> 00:08:40,480 తోబుట్టువుల ఎడమ తరలించే తార్కికంగా సమయంలో, ఏమి 187 00:08:40,480 --> 00:08:43,230 ఈ లైన్ కోసం అర్థం ఏమిటి ఆ రెండవ గోటో క్రింద కోడ్ 188 00:08:43,230 --> 00:08:46,480 మీరు అనుకుంటున్నాను కోల్పోయినట్లే? 189 00:08:46,480 --> 00:08:48,860 ఇది ఎల్లప్పుడూ దాటవేయబడతాయి జరగబోతోంది. 190 00:08:48,860 --> 00:08:52,100 కాబట్టి gotos సాధారణంగా మీద frowned ఉంటాయి మేము నిజంగా లోకి తీసుకోను కారణాల కోసం, 191 00:08:52,100 --> 00:08:54,940 నిజానికి CS50 లో మేము ఉంటాయి ఈ ప్రకటన గోటో బోధించడానికి, 192 00:08:54,940 --> 00:08:58,130 కానీ మీరు గోటో ఆలోచించవచ్చు అర్థం ప్రయాణంలో జంప్ విఫలం 193 00:08:58,130 --> 00:08:59,600 కోడ్ యొక్క కొన్ని ఇతర భాగానికి. 194 00:08:59,600 --> 00:09:03,120 >> ఇతర మాటలలో జంప్ ఓవర్ మొత్తంగా ఈ చివరి పంక్తి, 195 00:09:03,120 --> 00:09:07,420 అందువలన ఈ స్టుపిడ్ ఫలితంగా కేవలం అని సాధారణ తప్పు 196 00:09:07,420 --> 00:09:10,330 బహుశా ఎవరైనా ఫలితంగా కాపీ మరియు చాలా ఒక అతికించడానికి 197 00:09:10,330 --> 00:09:14,150 అనేక సార్లు మొత్తం అని iOS మరియు Mac OS యొక్క భద్రతా 198 00:09:14,150 --> 00:09:18,240 అంతరాయాన్ని అవకాశం నాకు కొంతకాలంగా చెడు అబ్బాయిలు ద్వారా. 199 00:09:18,240 --> 00:09:19,940 ఆపిల్ వరకు చివరకు ఈ పరిష్కరించబడింది. 200 00:09:19,940 --> 00:09:23,100 >> ఇప్పుడు మీరు కొన్ని వాస్తవానికి ఉంటే iOS లేదా Mac OS యొక్క పాత సంస్కరణలు అమలు, 201 00:09:23,100 --> 00:09:27,250 మీరు gotofail.com వెళ్ళవచ్చు దీనిలో ఎవరైనా ఏర్పాటు చేసే వెబ్సైట్ 202 00:09:27,250 --> 00:09:29,190 ముఖ్యంగా గుర్తించడానికి programmatically 203 00:09:29,190 --> 00:09:30,980 మీ కంప్యూటర్లో ఇప్పటికీ హాని ఉంటే. 204 00:09:30,980 --> 00:09:33,600 మరియు స్పష్టముగా, అది ఉంటే, అది బహుశా ఒక మంచి ఆలోచన 205 00:09:33,600 --> 00:09:36,870 మీ ఫోన్ నవీకరించడానికి లేదా ఈ సమయంలో మీ Mac. 206 00:09:36,870 --> 00:09:40,120 కానీ అక్కడ, కేవలం నిబంధన కేవలం ఎలా ఈ దిగువ స్థాయి గణ్యతను 207 00:09:40,120 --> 00:09:42,400 వివరాలు మరియు బొత్తిగా సాధారణ ఆలోచనలు నిజంగా 208 00:09:42,400 --> 00:09:44,590 నిర్ణయాలు అనువదించడానికి మరియు సమస్యలు 209 00:09:44,590 --> 00:09:47,320 ఈ సందర్భంలో affected-- లక్షల మంది ప్రజలు. 210 00:09:47,320 --> 00:09:49,107 >> పరిపాలన మీద ఇప్పుడు ఒక పదం. 211 00:09:49,107 --> 00:09:50,690 విభాగం ఈ రాబోయే ఆదివారం ప్రారంభం అవుతుంది. 212 00:09:50,690 --> 00:09:53,360 మీరు ద్వారా ఒక ఇమెయిల్ అందుకుంటారు విభాగం గురించి వారాంతంలో, ఇది సమయంలో 213 00:09:53,360 --> 00:09:55,290 resectioning ప్రక్రియ మీరు చేసిన ఉంటే ప్రారంభమవుతుంది 214 00:09:55,290 --> 00:09:56,998 మీరు ఇప్పుడు నేను తెలుసుకున్నాను కొన్ని కొత్త విభేదాలు. 215 00:09:56,998 --> 00:10:00,180 కాబట్టి ఈ ప్రతి సంవత్సరం జరుగుతుంది మరియు మేము రాబోయే రోజుల్లో వసతి కనిపిస్తుంది. 216 00:10:00,180 --> 00:10:02,430 >> ఆఫీసు hours-- ఒక చేస్తూనే ఇక్కడ ఈ షెడ్యూల్లో కన్ను. 217 00:10:02,430 --> 00:10:05,100 ఈ వారం కొద్దిగా మార్పులు, ముఖ్యంగా ప్రారంభ సమయం 218 00:10:05,100 --> 00:10:08,180 మరియు నగర, కాబట్టి సంప్రదించండి చెయ్యాలి కార్యాలయం గంటల శీర్షిక ముందు 219 00:10:08,180 --> 00:10:09,520 రాబోయే నాలుగు రాత్రులు ఏ. 220 00:10:09,520 --> 00:10:12,680 ఇప్పుడు నిర్ధారణపై ఒక పదం, మీరు సమస్య ప్రవేశిస్తాడు ముఖ్యంగా 221 00:10:12,680 --> 00:10:14,350 ఒక మరియు దాటి అమర్చుతుంది. 222 00:10:14,350 --> 00:10:17,070 >> స్పెసిఫికేషన్ ప్రకారం సో, ఈ సాధారణంగా ఉంటాయి 223 00:10:17,070 --> 00:10:20,360 గొడ్డలి పాటు మేము మీ పని విశ్లేషించడానికి. 224 00:10:20,360 --> 00:10:23,170 స్కోప్ సూచిస్తుంది ఏమి మేరకు మీ కోడ్ పనిముట్లు 225 00:10:23,170 --> 00:10:25,690 లక్షణాలు అవసరం మా నిర్దేశించుట. 226 00:10:25,690 --> 00:10:28,290 ఇతర మాటలలో, ఎలా చాలా ఒక ముక్క సెట్ మీరు కొరికి చేశాడు. 227 00:10:28,290 --> 00:10:30,440 మీరు ఒక మూడవ చేసావ్ అది ఒక సగం, అది 100%. 228 00:10:30,440 --> 00:10:33,000 ఇది సరైనది కాదు అయినా, మీరు ఎంత ప్రయత్నం? 229 00:10:33,000 --> 00:10:35,290 ఆ స్థాయి సంగ్రహించే సో కృషి మరియు మొత్తంలో 230 00:10:35,290 --> 00:10:38,260 ఇది మీరు ఆఫ్ బిట్ సమస్య సెట్ యొక్క సమస్యలు. 231 00:10:38,260 --> 00:10:40,690 >> ఈ ఒక Correctness-- కు ఎంతవరకు, మీ కోడ్ 232 00:10:40,690 --> 00:10:43,150 స్థిరంగా మా లక్షణాలు మరియు బగ్ ఉచితం. 233 00:10:43,150 --> 00:10:44,770 కాబట్టి ఇది సరిగ్గా పని చేస్తుంది? 234 00:10:44,770 --> 00:10:48,700 మేము కొన్ని ఇన్పుట్ ఇవ్వాలని ఉంటే, అది మేము ఆశించే ఆ అవుట్పుట్ ఇస్తుంది? 235 00:10:48,700 --> 00:10:52,570 Design-- ఇప్పుడు ఈ మొదటి ఉంది ముఖ్యంగా గుణాత్మక వాటిని, 236 00:10:52,570 --> 00:10:56,180 లేదా మానవ తీర్పు అవసరం వ్యక్తులు. 237 00:10:56,180 --> 00:10:59,690 మేము ఒక సిబ్బంది కలిగి ఎందుకు నిజానికి, ఈ ఉంది చాలా బోధన సభ్యులు మరియు కోర్సు యొక్క 238 00:10:59,690 --> 00:11:00,350 సహాయకులు. 239 00:11:00,350 --> 00:11:03,480 ఏమి మేరకు మీ ఉంది కోడ్ బాగా వ్రాసిన? 240 00:11:03,480 --> 00:11:05,810 >> మళ్లీ ఈ ఒక చాలా ఉంది గుణాత్మక అంచనా 241 00:11:05,810 --> 00:11:09,100 ఆ మీరు తో పని చేస్తుంది వారాల ద్వి directionally వచ్చిన. 242 00:11:09,100 --> 00:11:12,060 కాబట్టి మీరు లేదు వచ్చినప్పుడు మాత్రమే సంఖ్యా స్కోర్లు, కానీ కూడా 243 00:11:12,060 --> 00:11:16,682 ఒక వ్రాసిన స్కోర్లు, లేదా టైప్ చూడు, లేదా ఇంగ్లీష్ పదాలు లో చూడు వ్రాసిన. 244 00:11:16,682 --> 00:11:19,640 మనం మీరు డ్రైవ్ ఉపయోగిస్తాము ఏమిటి నిజానికి మంచి కోడ్ రాయడం వైపు. 245 00:11:19,640 --> 00:11:23,320 మరియు లెక్చర్ మరియు విభాగంలో, మేము ప్రయత్నిస్తాము తరచూ మేము can-- వంటి out-- అభిప్రాయపడుతున్నారు 246 00:11:23,320 --> 00:11:26,420 ఏమి ఒక కార్యక్రమం చేస్తుంది మాత్రమే సరైన మరియు క్రియాశీలంగా మంచి, 247 00:11:26,420 --> 00:11:28,200 కానీ కూడా రూపొందించబడ్డాయి. 248 00:11:28,200 --> 00:11:31,850 అత్యంత సమర్థవంతమైన ఉండాలి, లేదా కాలేదు కూడా చాలా అందమైన ఉండవచ్చు. 249 00:11:31,850 --> 00:11:33,100 >> ఏ శైలి మాకు దారితీస్తుంది. 250 00:11:33,100 --> 00:11:36,876 శైలి అంతిమంగా ఒక సౌందర్య తీర్పు. 251 00:11:36,876 --> 00:11:38,750 మీరు మంచి ఎంచుకోవడానికి తెలుసా మీ వేరియబుల్స్ కోసం పేర్లు? 252 00:11:38,750 --> 00:11:40,330 మీరు సరిగా మీ కోడ్ ఇండెంట్ చేసారా? 253 00:11:40,330 --> 00:11:44,010 అందువల్ల అది మంచి కనిపిస్తాయి మరియు ఇవ్వగలవా అది మరొక మానవుడు కోసం సులభం 254 00:11:44,010 --> 00:11:46,550 మీ సంబంధిత చదవడానికి దాని ఖచ్చితత్వంపై. 255 00:11:46,550 --> 00:11:50,300 >> ఇప్పుడు సాధారణంగా సిలబస్ ప్రకారం, మేము స్కోర్ ఒక ఐదు పాయింట్ స్థాయిలో ఈ విషయాలు. 256 00:11:50,300 --> 00:11:53,640 నాకు పాయింట్ హోమ్ మీటను తెలియజేయండి మూడు నిజంగానే మంచి ఉంది. 257 00:11:53,640 --> 00:11:55,550 చాలా త్వరగా చేసారో చేయండి అంక చేయడం మొదలు. 258 00:11:55,550 --> 00:11:58,133 వారు మూడు బయటకు వచ్చినప్పుడు కొన్ని pset కోసం సవ్యత ఐదు 259 00:11:58,133 --> 00:12:02,040 మరియు వారు భీకర అనుకుంటున్నాను, నేను 60% అన్నారు ఇది అత్యవసరంగా ఒక D లేదా, E. ఉంది 260 00:12:02,040 --> 00:12:03,980 >> ఆ విధంగా కాదు మేము ఈ సంఖ్యలు భావిస్తారు. 261 00:12:03,980 --> 00:12:06,880 మూడు ఏమి నిజానికి మంచి, మరియు మేము సాధారణంగా ప్రారంభంలో ఆశించే 262 00:12:06,880 --> 00:12:09,820 పదం యొక్క మీరు పొందుతుంటే ఉంది బహుశా three's-- ఒక సమూహం జంట 263 00:12:09,820 --> 00:12:12,540 సంతలలో, fours-- ఒక జంట లేదా ఒక జంట తీయడం, fours-- ఒక జంట 264 00:12:12,540 --> 00:12:13,748 ప్రారంభించడానికి ఒక మంచి ప్రదేశం. 265 00:12:13,748 --> 00:12:16,320 మరియు మేము ఒక చాలా కాలం చూడుము కాలక్రమేణా పైకి పథం, 266 00:12:16,320 --> 00:12:18,540 మీరు ఒక మంచి స్థానంలో ఉన్నారు. 267 00:12:18,540 --> 00:12:20,752 >> మేము ఉపయోగించడానికి సూత్రం బరువు విషయాలు తప్పనిసరిగా ఉంది 268 00:12:20,752 --> 00:12:22,710 సిలబస్ ప్రకారం ఈ ఇది కేవలం మేము అర్థం 269 00:12:22,710 --> 00:12:24,750 ఖచ్చితత్వం ఎక్కువ బరువు ఇవ్వాలని. 270 00:12:24,750 --> 00:12:27,930 ఇది చాలా తరచుగా సరి ఎందుకంటే చాలా సమయం పడుతుంది. 271 00:12:27,930 --> 00:12:28,760 ఇప్పుడు నాకు నమ్మండి. 272 00:12:28,760 --> 00:12:31,190 మీరు కనీసం find-- ఉంటుంది ఒక pset-- లో మీరు 273 00:12:31,190 --> 00:12:36,790 మీ 90% ఖర్చు సమస్య 10% పని. 274 00:12:36,790 --> 00:12:39,320 >> మరియు ప్రతిదీ విధమైన పనిచేస్తుంది ఒకటి లేదా రెండు దోషాలు తప్ప, 275 00:12:39,320 --> 00:12:41,570 మరియు ఆ దోషాలు ఉన్నాయి అర్థరాత్రి మీరు ఉంచడానికి. 276 00:12:41,570 --> 00:12:43,380 ఆ కలవి విధమైన మీరు తప్పించుకొని. 277 00:12:43,380 --> 00:12:45,560 కానీ అది నిద్ర, లేదా కార్యాలయం గంటల హాజరు 278 00:12:45,560 --> 00:12:48,844 లేదా, ఆన్లైన్ ప్రశ్నలు అడుగుతూ మీరు ఆ 100% గోల్ ను, 279 00:12:48,844 --> 00:12:50,760 ఇంకా ఎందుకు మేము బరువు వార్తలు అత్యంత సరి. 280 00:12:50,760 --> 00:12:54,102 ఒక కొద్దిగా తక్కువ డిజైన్, మరియు కంటే కొద్దిగా తక్కువ, శైలి. 281 00:12:54,102 --> 00:12:56,060 కానీ mind-- శైలిలో ఉంచడానికి బహుశా సులభమయిన 282 00:12:56,060 --> 00:12:58,890 ఈ కొరికి శైలి గైడ్ ప్రకారం. 283 00:12:58,890 --> 00:13:01,580 >> ఇప్పుడు మరింత తీవ్రమైన విద్యా నిజాయితీకి గమనించండి. 284 00:13:01,580 --> 00:13:05,000 CS50 యొక్క దురదృష్టకర వ్యత్యాసం ఉంది ప్రకటన బోర్డు అతిపెద్ద ఉత్పత్తిదారుగా 285 00:13:05,000 --> 00:13:07,330 కేసులు ప్రతి ఏడాది చారిత్రాత్మకంగా. 286 00:13:07,330 --> 00:13:11,012 విద్యార్థులు మోసం ఎందుకంటే ఈ కాదు CS50 ఏ కాబట్టి ఏ ఇతర తరగతి కంటే, 287 00:13:11,012 --> 00:13:13,720 కానీ ఎందుకంటే పని స్వభావం ద్వారా, ఇది ఎలక్ట్రానిక్ వార్తలు వాస్తవం, 288 00:13:13,720 --> 00:13:16,636 మేము అది కోసం చూడండి, మరియు వాస్తవం నిజానికి మనం కంప్యూటర్ శాస్త్రజ్ఞులు, 289 00:13:16,636 --> 00:13:20,570 మనం దురదృష్టవశాత్తు ఉన్నాయి చెప్పగలను ఇది గుర్తించగలరు చాలా మంచి. 290 00:13:20,570 --> 00:13:22,710 >> కాబట్టి ఈ నిజ పరంగా అర్థం ఏమిటి? 291 00:13:22,710 --> 00:13:24,820 సో, సిలబస్ ప్రకారం, కోర్సు యొక్క వేదాంతం 292 00:13:24,820 --> 00:13:28,090 నిజంగా సహేతుకమైన ఉండాలి డౌన్ కాచు లేదు. 293 00:13:28,090 --> 00:13:31,684 ఈ లైన్ మధ్య ఉంది మీ సొంతంగా ఒక పని చేస్తూ 294 00:13:31,684 --> 00:13:34,100 మరియు ఒక చిన్న బిట్ చేస్తున్నారు ఒక స్నేహితుడు నుండి సహేతుకమైన సహాయం, 295 00:13:34,100 --> 00:13:38,020 మరియు తక్షణ ఆ పని చేయడం మీ స్నేహితుడు, లేదా అతనిని లేదా ఆమెను మీ కోడ్ పంపడం 296 00:13:38,020 --> 00:13:41,080 అతను లేదా ఆమె కేవలం చెయ్యవచ్చు తద్వారా పడుతుంది లేదా కుడి దాన్ని పొందగలుగుతాయి. 297 00:13:41,080 --> 00:13:43,580 ఆ రేఖను మేము తరగతి లో డ్రా అని. 298 00:13:43,580 --> 00:13:45,410 >> , సిలబస్ చూడండి చివరికి పంక్తులు 299 00:13:45,410 --> 00:13:48,209 మేము సహేతుకమైన గా డ్రా మరియు తగని ప్రవర్తన, 300 00:13:48,209 --> 00:13:50,000 కానీ అది నిజంగా వేసి చేస్తుంది సారాంశం డౌన్ 301 00:13:50,000 --> 00:13:53,980 మీ పని అవసరమయ్యే చివరికి మీ స్వంత ఉండాలి. 302 00:13:53,980 --> 00:13:56,230 ఇప్పుడు అన్నారు, ఒక పరిష్కార ఉంది. 303 00:13:56,230 --> 00:13:58,980 మీరు imagine-- ఉండవచ్చు ఎందుకంటే కార్యాలయం గంటల విజువల్స్ నుండి 304 00:13:58,980 --> 00:14:01,060 మరియు వీడియోలు మేము చేసిన చూపిన విధంగా ఇప్పటివరకు CS50 305 00:14:01,060 --> 00:14:04,530 నిజానికి సహకార గా అని అర్థం మరియు సహకార మరియు సామాజిక 306 00:14:04,530 --> 00:14:06,450 సాధ్యమైనంత. 307 00:14:06,450 --> 00:14:08,570 సహకార నాటికి అది కఠినమైన ఉంది. 308 00:14:08,570 --> 00:14:11,314 >> కానీ ఈ చెప్పారు, పరిష్కార, మీరు సిలబస్ లో చూస్తారు వంటి, 309 00:14:11,314 --> 00:14:12,980 మీరు కొన్ని సమస్య ఉన్నట్లయితే ఆ తర్వాత. 310 00:14:12,980 --> 00:14:16,470 మీరు మీ కోడ్ లో కొన్ని బగ్ కలిగి మీరు పరిష్కరించలేదు, మీరు సహేతుకమైన ఉంది 311 00:14:16,470 --> 00:14:18,039 ఎవరో మీ కోడ్ చూపించడానికి. 312 00:14:18,039 --> 00:14:21,080 కూడా తరగతి లో ఒక స్నేహితుడు, ఒక స్నేహితుడు కార్యాలయం గంటల వద్ద మీరు పక్కన కూర్చొని, 313 00:14:21,080 --> 00:14:22,680 లేదా సిబ్బంది సభ్యుడు. 314 00:14:22,680 --> 00:14:25,810 కానీ వారు మీరు వారి కోడ్ చూపించే కాదు. 315 00:14:25,810 --> 00:14:27,710 >> ఇతర మాటలలో, ఒక మీ question-- సమాధానం 316 00:14:27,710 --> 00:14:29,940 నేను help-- OH, ఇక్కడ నా కోడ్ కాదు అవసరం. 317 00:14:29,940 --> 00:14:32,440 ఈ పరిశీలించి టేక్ మరియు ఏమి మీరు రెడీ ఇది రాబట్టుకుంటుంది. 318 00:14:32,440 --> 00:14:34,580 ఇప్పుడు, కోర్సు యొక్క, ఉంది ఒక విధంగా స్పష్టంగా ఆట 319 00:14:34,580 --> 00:14:37,760 నేను మీరు తెలియజేస్తాము చేయటం ఈ వ్యవస్థ ఒక ప్రశ్న కలిగి ముందు నా కోడ్. 320 00:14:37,760 --> 00:14:40,150 మీరు నా మీ కోడ్ చూపించు ఒక ప్రశ్న కలిగి ముందు. 321 00:14:40,150 --> 00:14:45,870 కానీ మళ్ళీ సిలబస్ చూడండి ఈ లైన్ ఇక్కడ ఉత్తమమైన వివరాలు. 322 00:14:45,870 --> 00:14:50,606 >> ఇప్పుడే చిత్రాన్ని చిత్రించడానికి మరియు వంటి పారదర్శకంగా సాధ్యమైనంత భాగస్వామ్యం 323 00:14:50,606 --> 00:14:53,480 మేము ఇటీవల సంవత్సరాలలో వద్ద ఉన్న, ఈ ప్రకటన బోర్డు కేసులు సంఖ్య 324 00:14:53,480 --> 00:14:56,260 ఆ CS50 పైగా ఉంది గత ఏడు సంవత్సరాల. 325 00:14:56,260 --> 00:14:58,717 14 కేసులు ఇటీవల పతనం. 326 00:14:58,717 --> 00:15:01,300 చేరి విద్యార్థులు పరంగా, 20 కొన్ని బేసి విద్యార్థులు ఉంది 327 00:15:01,300 --> 00:15:02,490 ఈ గత పతనం. 328 00:15:02,490 --> 00:15:05,670 33 ఒక శిఖరం ఉంది కొన్ని సంవత్సరాల క్రితం విద్యార్థులు. 329 00:15:05,670 --> 00:15:08,830 వీరిలో అనేక దురదృష్టవశాత్తు ఉంటాయి ఇకపై ఇక్కడ ప్రాంగణంలో. 330 00:15:08,830 --> 00:15:13,100 >> ఒక శాతం గా పాల్గొన్న విద్యార్థులు తరగతి చారిత్రాత్మకంగా 0% నుండి చేశాం 331 00:15:13,100 --> 00:15:17,300 చెప్పడానికి మాత్రమే ఇది 5.3% కు ఈ ఏడాదికి ఒక సవాలు. 332 00:15:17,300 --> 00:15:20,390 మరియు ఆ చివరిలో, ఏమి మేము ఒక చెప్పేటప్పుడు చేయాలనుకుంటున్నారా 333 00:15:20,390 --> 00:15:24,310 మేము కేవలం FYI-- వద్ద పోల్చి dd-- ఆ ఆ విద్యార్థులు ఒక సౌందర్యము ఎవరు 334 00:15:24,310 --> 00:15:26,520 తదనుగుణంగా లైన్ అనుసరిస్తున్నారు. 335 00:15:26,520 --> 00:15:29,620 మనం ప్రస్తుత సరిపోల్చండి చేయండి గతంలో అన్ని మిషన్లు వ్యతిరేకంగా సమర్పణలు 336 00:15:29,620 --> 00:15:30,840 గత అనేక సంవత్సరాల నుండి. 337 00:15:30,840 --> 00:15:33,620 >> మేము వ్యాప్తంగా Google ఎలా చాలా తెలుసు మరియు కోడ్ రిపోజిటరీలను కనుగొనేందుకు 338 00:15:33,620 --> 00:15:36,360 ఆన్లైన్, చర్చావేదికలు ఆన్లైన్, ఉద్యోగ ప్రదేశాలు. 339 00:15:36,360 --> 00:15:41,580 ఒక విద్యార్థి పొందవచ్చు ఉంటే, మేము ఖచ్చితంగా చెయ్యవచ్చు ఇది చాలా మేము Regretfully చేస్తాను చూడండి. 340 00:15:41,580 --> 00:15:45,330 సో వాట్ మీరు సిలబస్ లో చూస్తారు అయితే ఈ విచారం నిబంధన ఉంది. 341 00:15:45,330 --> 00:15:47,500 నేను ఖచ్చితంగా చెయ్యవచ్చు అభినందిస్తున్నాము, మరియు మేము అన్ని ఉంది 342 00:15:47,500 --> 00:15:50,870 సిబ్బంది కోర్సు వంటి గెలవడంతో కాలక్రమేణా ఈ, లేదా ఈ ఒక కూడా, 343 00:15:50,870 --> 00:15:53,997 ఖచ్చితంగా అది ఉన్నప్పుడు నాకు తెలుసు జీవితం మీరు కలిగి ఉన్నప్పుడు దారిలోకి 344 00:15:53,997 --> 00:15:56,080 కొన్ని చివరి రాత్రి deadline-- మాత్రమే ఈ తరగతి లో, 345 00:15:56,080 --> 00:15:58,660 కానీ మీరు another-- ఉన్నప్పుడు పూర్తిగా అయిపోయిన, అవ్ట్ నొక్కి 346 00:15:58,660 --> 00:16:00,659 మితిమీరిన సంఖ్యలో కలిగి ఇతర విషయాలు చేయడానికి. 347 00:16:00,659 --> 00:16:03,660 మీరు కొన్ని పాయింట్ వద్ద చేస్తుంది ఖచ్చితంగా ఒక చెడ్డ, బహుశా చివరి జీవితం 348 00:16:03,660 --> 00:16:04,620 రాత్రి నిర్ణయం. 349 00:16:04,620 --> 00:16:06,520 >> సిలబస్ ప్రకారం సో, ఈ నిబంధన ఉంది, 350 00:16:06,520 --> 00:16:10,629 మేకింగ్ అలాంటి ఉంటే లోపల 72 గంటల కొన్ని పేద నిర్ణయం, మీరు స్వంతం 351 00:16:10,629 --> 00:16:12,670 మరియు నాకు చేరుకోవడానికి మరియు కోర్సు యొక్క తలలు ఒకటి 352 00:16:12,670 --> 00:16:14,300 మరియు మేము ఒక సంభాషణ కలిగి ఉంటుంది. 353 00:16:14,300 --> 00:16:16,220 మేము విషయాలు పోరాడతాను అంతర్గతంగా ఆశలు 354 00:16:16,220 --> 00:16:18,770 అది ఒక మరింత కావటానికి బోధన క్షణం లేదా జీవితం పాఠం, 355 00:16:18,770 --> 00:16:22,120 తో ఏదో లేదు ముఖ్యంగా ఒక్కసారిగా శాఖల 356 00:16:22,120 --> 00:16:24,570 మీరు ఇక్కడ ఈ పట్టికలలో చూడవచ్చు వంటి. 357 00:16:24,570 --> 00:16:26,540 >> కాబట్టి ఒక చాలా తీవ్రమైన స్వరం ఉంది. 358 00:16:26,540 --> 00:16:29,960 మాకు కేవలం కొన్ని నిలిపివేయి లెట్ సెకన్లు ఉద్రిక్తత విచ్ఛిన్నం. 359 00:16:29,960 --> 00:16:34,442 >> [సంగీతాన్ని] 360 00:16:34,442 --> 00:17:17,768 361 00:17:17,768 --> 00:17:20,250 >> డేవిడ్ J. మలన్: అన్ని కుడి, కాబట్టి ఎలా ఉంది ఒక segue కోసం? 362 00:17:20,250 --> 00:17:22,059 నేటి ప్రాధమిక విషయాలు. 363 00:17:22,059 --> 00:17:23,859 ఇందులో మొదటిది సంగ్రహణం. 364 00:17:23,859 --> 00:17:26,900 ఇది మరో అవతరిస్తుంది స్పష్టముగా డేటా, ప్రాతినిధ్యాన్ని 365 00:17:26,900 --> 00:17:31,640 ఎలా చెబుతున్నారో ఒక నిజంగా పొడి మార్గం మేము చేయవచ్చు సమస్యలు పరిష్కరించటం మరియు ఆలోచిస్తూ గురించి వెళ్ళి 366 00:17:31,640 --> 00:17:33,250 సమస్యలు పరిష్కరించడంలో గురించి? 367 00:17:33,250 --> 00:17:37,285 కాబట్టి మీరు స్క్రాచ్ చూసిన, మరియు మీరు సి pset1 లో బహుశా ఇప్పటికే చూసిన 368 00:17:37,285 --> 00:17:39,930 మీరు మాత్రమే ఉపయోగించవచ్చు విధులు printf వంటి, 369 00:17:39,930 --> 00:17:42,770 ఆ ఇతర ప్రజలు గత సంవత్సరాల్లో మీరు వ్రాశారు. 370 00:17:42,770 --> 00:17:45,340 మీరు కూడా మీ స్వంత విధులు వ్రాయవచ్చు. 371 00:17:45,340 --> 00:17:48,440 >> మరియు మీరు కలిగి ఉండవు అయినప్పటికీ pset1 లో స్పష్టముగా సి ఈ బాధ్యతను, మరియు 372 00:17:48,440 --> 00:17:51,866 మీరు నిజంగా వ్రాయడానికి అవసరం లేదు మీ సమస్యకు ఎందుకంటే సొంత ఫంక్షన్ 373 00:17:51,866 --> 00:17:53,990 బహుశా వీరిని అయితే మొదటి మీరు చూస్తారు glance-- 374 00:17:53,990 --> 00:17:57,910 చివరికి పరిష్కరించబడతాయి కోడ్ యొక్క అన్ని అనేక పంక్తులు. 375 00:17:57,910 --> 00:18:01,140 కానీ పరంగా, అన్నారు మీ సొంత ఫంక్షన్ అఫ్ రైటింగ్, 376 00:18:01,140 --> 00:18:03,570 ఇవ్వాలని సి అని తెలుసుకోవటం మీరు ఈ సామర్థ్యం. 377 00:18:03,570 --> 00:18:06,940 >> నేను, నేటి సోర్స్ కోడ్ లో వెళ్ళి వెళుతున్న ఇది ఇప్పటికే ఆన్లైన్లో అందుబాటులో ఉంది 378 00:18:06,940 --> 00:18:10,900 మరియు నేను ముందుకు మరియు ఓపెన్ వెళ్ళి వెళుతున్న ఫంక్షన్ 0.C అనే కార్యక్రమాన్ని ఏర్పాటు, 379 00:18:10,900 --> 00:18:14,620 మరియు ఫంక్షన్ సున్నా మేము కొన్ని విషయాలను చూస్తారు. 380 00:18:14,620 --> 00:18:19,160 మొదటి పంక్తులు 18 ద్వారా 23 నా ప్రధాన విధి. 381 00:18:19,160 --> 00:18:22,414 ఇప్పుడు మేము చదవడానికి ప్రారంభమైంది చేస్తున్న మేము ఎగిరి రచన చేస్తున్నట్లు కోడ్, 382 00:18:22,414 --> 00:18:25,080 కానీ బదులుగా నేను ముందుగానే వ్రాయలేదు లేదా ఒక సమస్య మీరు సెట్ 383 00:18:25,080 --> 00:18:27,910 కలిగి అందుకోవచ్చు ముందుగానే రాస్తున్నారు. 384 00:18:27,910 --> 00:18:30,040 ఒక మంచి మార్గం ప్రారంభించడానికి వేరొకరి కోడ్ చదవడం 385 00:18:30,040 --> 00:18:31,400 ప్రధాన విధి లాగా ఉంది. 386 00:18:31,400 --> 00:18:34,420 అక్కడ ఆ ఎంట్రీ దొరుకుతుందని పాయింట్ ప్రోగ్రామ్ అమలు చేయడం, 387 00:18:34,420 --> 00:18:36,580 అప్పుడు అక్కడ నుండి తార్కికంగా అది అనుసరించండి. 388 00:18:36,580 --> 00:18:40,190 >> కాబట్టి ఈ కార్యక్రమం స్పష్టంగా ప్రింట్లు ఒక కోలన్ తరువాత మీ పేరు. 389 00:18:40,190 --> 00:18:42,490 మేము అప్పుడు GetString ఉపయోగించడానికి CS50 లైబ్రరీ నుండి 390 00:18:42,490 --> 00:18:46,050 ఒక స్ట్రింగ్ లేదా ఒక పదం లేదా పదబంధం పొందడానికి కీబోర్డ్ వద్ద వినియోగదారు నుండి. 391 00:18:46,050 --> 00:18:48,390 ఆపై ఈ ఉంది విషయం ఇక్కడ PrintName. 392 00:18:48,390 --> 00:18:51,420 >> ఇప్పుడు PrintName ఒక కాదు C. తో వస్తుంది ఆ ఫంక్షన్ 393 00:18:51,420 --> 00:18:52,970 ఇది ప్రామాణిక io.h. కాదు 394 00:18:52,970 --> 00:18:55,570 ఇది cs50.h. కాదు 395 00:18:55,570 --> 00:18:57,880 ఇది ఒకే ఫైల్ లో కాకుండా ఉంది. 396 00:18:57,880 --> 00:19:01,000 నేను క్రిందికి స్క్రోల్ ఉంటే గమనించండి ఒక bit-- పంక్తులు 25 27-- కు 397 00:19:01,000 --> 00:19:05,330 ఇది వ్యాఖ్యానించడం కేవలం ఒక అందమైన మార్గం నక్షత్రాలు మరియు శ్లాష్లు ఉపయోగించి మీ కోడ్. 398 00:19:05,330 --> 00:19:07,320 ఈ బహుళ లైన్ మీరే మరియు ఈ కేవలం ఉంది 399 00:19:07,320 --> 00:19:10,570 యొక్క నీలం నా వివరణ ఈ ఫంక్షన్ ఏమి. 400 00:19:10,570 --> 00:19:14,530 >> 31 ద్వారా పంక్తులు 28 ఎందుకంటే, నేను ఒక సూపర్ సాధారణ ఫంక్షన్ వ్రాయలేదు 401 00:19:14,530 --> 00:19:16,280 దీని పేరు PrintName ఉంది. 402 00:19:16,280 --> 00:19:19,560 ఇంకా ఎన్ని పడుతుంది వాదనలు మీరు చెబుతా? 403 00:19:19,560 --> 00:19:25,120 కాబట్టి ఒక argument-- ఒకటి ఉంది ఎందుకంటే కుండలీకరణాలు లోపలి జాబితా వాదన. 404 00:19:25,120 --> 00:19:27,000 ఇది రకం స్ట్రింగ్ ఉంది. 405 00:19:27,000 --> 00:19:30,240 ఏ PrintName చెప్పటానికి ఉంది ఈ బ్లాక్ బాక్స్ వంటి ఉంది 406 00:19:30,240 --> 00:19:32,910 పడుతుంది లేదా చర్య ఇన్పుట్ స్ట్రింగ్ వంటి. 407 00:19:32,910 --> 00:19:35,730 >> ఆ స్ట్రింగ్ యొక్క పేరు సౌకర్యవంతంగా పేరు ఉంటుంది. 408 00:19:35,730 --> 00:19:37,840 కాదు, కాదు N, కానీ పేరు. 409 00:19:37,840 --> 00:19:41,090 కాబట్టి PrintName ఏమి చేస్తుంది? 410 00:19:41,090 --> 00:19:42,210 ఇది nice సులభం. 411 00:19:42,210 --> 00:19:45,390 జస్ట్ కోడ్ ఒకటి లైన్ కోసం printf, కానీ స్పష్టంగా అది 412 00:19:45,390 --> 00:19:47,950 ప్రింట్లు "హలో" మరియు కనుక. 413 00:19:47,950 --> 00:19:50,070 ఎక్కడ విధంగా వాదన నుండి వస్తుంది. 414 00:19:50,070 --> 00:19:52,300 >> ఇప్పుడు ఇక్కడ ఈ భారీ ఆవిష్కరణ కాదు. 415 00:19:52,300 --> 00:19:56,710 రియల్లీ, నేను ఆ విధంగా ఒక కార్యక్రమం తీసుకున్నారు కోడ్ యొక్క ఒక లైన్ తో వ్రాసిన చేశారు 416 00:19:56,710 --> 00:20:00,190 ఇక్కడ ఈ అప్ ఇవ్వడం ద్వారా మరియు ఏదో మార్చబడింది 417 00:20:00,190 --> 00:20:04,920 కొన్ని ఆరు లేదా ఏడు లేదా ఉంటుంది డౌన్ ఇక్కడ కోడ్ పంక్తులు అన్ని మార్గం. 418 00:20:04,920 --> 00:20:08,190 >> కానీ అది ఒక అభ్యసిస్తున్న వార్తలు ఊహ గా తెలిసిన సూత్రం. 419 00:20:08,190 --> 00:20:12,550 ఒక విధమైన కొత్త లోపలి encapsulating ఒక పేరు ఉంది అని ఫంక్షన్, మరియు మంచి 420 00:20:12,550 --> 00:20:14,590 ఇంకా ఆ పేరుకి అర్ధం ఇది చేస్తుంది ఏమి చెప్పారు. 421 00:20:14,590 --> 00:20:16,880 నేను ఆ కాదు printf-- అర్థం ముఖ్యంగా వివరణాత్మక. 422 00:20:16,880 --> 00:20:18,932 నేను ఒక సృష్టించడానికి కావాలా పజిల్ భాగాన్ని, లేదా నేను ఉంటే 423 00:20:18,932 --> 00:20:21,140 ఒక ఫంక్షన్ను రూపొందించడానికి కావలసిన ఆ ఒకరి పేరు ముద్రిస్తుంది 424 00:20:21,140 --> 00:20:23,230 ఇలా అందం నిజానికి చెయ్యవచ్చు ఉంది 425 00:20:23,230 --> 00:20:27,170 ఆ ఫంక్షన్ ఒక పేరు ఇచ్చి అది ఏమి వివరిస్తుంది. 426 00:20:27,170 --> 00:20:29,844 >> ఇప్పుడు అది ఒక ఇన్పుట్ పడుతుంది నేను ఏకపక్ష పేరు అని చేసిన, 427 00:20:29,844 --> 00:20:32,760 కానీ ఆ చాలా అద్భుతంగా వివరణాత్మక ఉంది బదులుగా ఒక కొంచెం ఎక్కువ ఉండటం 428 00:20:32,760 --> 00:20:36,140 ఎస్ వంటి సాధారణ శూన్యమైన, ఇప్పుడు కోసం, కేవలం అర్థం 429 00:20:36,140 --> 00:20:38,330 ఈ పనిచేయదని ఏదైనా నాకు తిరిగి అప్పగించండి. 430 00:20:38,330 --> 00:20:41,127 ఇది GetString వంటి కాదు వాచ్యంగా ఒక స్ట్రింగ్ నాకు తిరిగి అందిస్తుంది 431 00:20:41,127 --> 00:20:43,960 వంటి మేము కాగితం ముక్కలు తో చేసాడు మీ సహ గత వారం తో, 432 00:20:43,960 --> 00:20:45,990 కానీ అది కేవలం ఒక వైపు ప్రభావం కలిగి ఉంది. 433 00:20:45,990 --> 00:20:48,080 ఇది స్క్రీన్ ఏదో ముద్రిస్తుంది. 434 00:20:48,080 --> 00:20:53,880 >> రోజు చివరిలో, కనుక నేను తయారు చెయ్యాలి ఫంక్షన్-0, ./function-0, 435 00:20:53,880 --> 00:20:55,450 మేము అది నా పేరు అడుగుతుంది అని చూస్తారు. 436 00:20:55,450 --> 00:20:58,150 నేను నా పేరును రకాల డేవిడ్ టైప్, మరియు అది. 437 00:20:58,150 --> 00:21:01,080 నేను రాబ్ మళ్ళీ చేస్తే, ఇది చెప్పడానికి జరగబోతోంది "హలో, రాబ్." 438 00:21:01,080 --> 00:21:04,280 కాబట్టి ఒక సాధారణ ఆలోచన, కానీ బహుశా ఈ మానసికంగా నుండి అంచనా 439 00:21:04,280 --> 00:21:06,750 మీ కార్యక్రమాలు పొందండి ఆ , కొంచెం క్లిష్టంగా 440 00:21:06,750 --> 00:21:10,290 మరియు మీరు ఒక భాగం రాయాలనుకుంటున్నాను కోడ్ మరియు కాల్ ఆ code-- ఇన్వోక్ 441 00:21:10,290 --> 00:21:13,270 కొన్ని వివరణాత్మక ద్వారా code-- PrintName వంటి పేరు, 442 00:21:13,270 --> 00:21:15,600 సి మాకు ఈ సామర్ధ్యం కోరుకుంటాను చేస్తుంది. 443 00:21:15,600 --> 00:21:17,660 >> ఇక్కడ మరొక సాధారణ ఉదాహరణకు. 444 00:21:17,660 --> 00:21:22,940 ఉదాహరణకు, నేను ఒక తెరిస్తే return.c అని నేటి నుండి ఫైల్ 445 00:21:22,940 --> 00:21:24,270 నేను ఇక్కడ చేసిన గమనిస్తారు. 446 00:21:24,270 --> 00:21:26,330 ఈ ప్రధాన ఫంక్షన్ చాలా printf ఉంది. 447 00:21:26,330 --> 00:21:30,360 నేను మొదటి ఏకపక్ష ప్రారంభించడం సంఖ్య 2 x అనే వేరియబుల్. 448 00:21:30,360 --> 00:21:34,110 నేను అప్పుడు x ఇప్పుడు "ముద్రించాలా % I "x యొక్క విలువ ప్రయాణిస్తున్న. 449 00:21:34,110 --> 00:21:35,500 కాబట్టి నేను కేవలం అది ఏమిటి మాట్లాడుతూ చేస్తున్నాను. 450 00:21:35,500 --> 00:21:37,208 >> ఇప్పుడు నేను కేవలం నిస్సంకోచంగా ఉన్నాను printf తో ఆరోపించారు. 451 00:21:37,208 --> 00:21:42,050 నేను ఆ విలువ x cubing am, మరియు నేను రెడీ ఒక చర్యను కాల్ చేస్తున్నప్పుడు అలా 452 00:21:42,050 --> 00:21:45,590 క్యూబ్ అనే పాసింగ్ వాదన x లో, 453 00:21:45,590 --> 00:21:49,300 ఆపై అవుట్పుట్ సేవ్ వేరియబుల్ లోనే, x. 454 00:21:49,300 --> 00:21:51,340 నేను x యొక్క విలువ clobbering చేస్తున్నాను. 455 00:21:51,340 --> 00:21:53,380 నేను భర్తీ నేను x విలువ సంసార 456 00:21:53,380 --> 00:21:56,510 కాల్ ఫలితంగా ఈ క్యూబ్ ఫంక్షన్ ఉంది. 457 00:21:56,510 --> 00:21:59,530 ఆపై నేను కేవలం కొన్ని ముద్రించాలా మెత్తటి విషయాలను ఇక్కడ నేను ఏమి చెప్పి. 458 00:21:59,530 --> 00:22:01,600 >> కాబట్టి అప్పుడు క్యూబ్ ఏమిటి? 459 00:22:01,600 --> 00:22:03,510 ప్రాథమికంగా ఏమి గమనిస్తారు ఇక్కడ వివిధ. 460 00:22:03,510 --> 00:22:05,540 నేను ఫంక్షన్ ఇచ్చాను ముందు ఒక పేరు. 461 00:22:05,540 --> 00:22:08,270 నేను ఒక వాదన ఒక పేరు పేర్కొన్న చేసిన. 462 00:22:08,270 --> 00:22:11,650 అది n బదులుగా పేరుతో అని ఈ సమయం, కానీ నేను కావలసిన ఏదైనా కాల్ కాలేదు. 463 00:22:11,650 --> 00:22:12,650 కానీ ఈ తేడా ఉంది. 464 00:22:12,650 --> 00:22:14,080 ఎడమవైపు ఈ విషయం. 465 00:22:14,080 --> 00:22:16,290 గతంలో ఇది ఏమి కీవర్డ్ ఉంది? 466 00:22:16,290 --> 00:22:16,870 బాయ్స్. 467 00:22:16,870 --> 00:22:18,580 ఇప్పుడు అది ఖచ్చితంగా పూర్ణాంకానికి ఉంది. 468 00:22:18,580 --> 00:22:20,630 >> సో వాట్ బహుశా దూరంగా పడుతుంది యొక్క? 469 00:22:20,630 --> 00:22:24,090 శూన్యమైన సూచిస్తుంది అయితే విధమైన ఏమీలేని, మరియు ఆ కేసు. 470 00:22:24,090 --> 00:22:25,970 PrintName ఏమీ రాలేదు. 471 00:22:25,970 --> 00:22:27,942 ఇది ఏదో చేశారు, కానీ ఇది నాకు తిరిగి అప్పగిస్తాం లేదు 472 00:22:27,942 --> 00:22:30,650 నేను చాలు అని ఏదో సమాన సైన్ ఎడమ వైపు 473 00:22:30,650 --> 00:22:32,460 వంటి నేను లైన్ 22 న ఇక్కడ చేశాను. 474 00:22:32,460 --> 00:22:36,780 >> కాబట్టి నేను లైన్ 30 న లోకి చెప్పుకోవాలంటే, ఏమి బహుశా ధ్వనించింది ఆ 475 00:22:36,780 --> 00:22:38,610 ఏమి క్యూబ్ గురించి నాకు చేస్తుంది? 476 00:22:38,610 --> 00:22:41,110 అవును? 477 00:22:41,110 --> 00:22:42,310 ఇది పూర్ణాంకం తిరిగి. 478 00:22:42,310 --> 00:22:44,590 కనుక ఇది, నాకు తిరిగి చేతులు కాగితం ఉదాహరణకు, ఒక ముక్క 479 00:22:44,590 --> 00:22:46,580 ఇది దీన్ని సమాధానం వ్రాశారు. 480 00:22:46,580 --> 00:22:50,130 2 cubed, లేదా 3 cubed, లేదా 4 cubed-- నేను జారీ సంసార 481 00:22:50,130 --> 00:22:51,540 మరియు ఎలా నేను ఈ అమలు చేయలేదు? 482 00:22:51,540 --> 00:22:54,810 సరే, కేవలం n సార్లు n సార్లు n నేను ఒక క్యూబ్ విలువ ఎలా ఉంది. 483 00:22:54,810 --> 00:22:57,110 మరలా, సూపర్ సాధారణ ఆలోచన, కానీ తావు 484 00:22:57,110 --> 00:23:00,100 ఇప్పుడు మేము విధులు రాయడానికి ఎలా వాస్తవానికి మాకు తిరిగి వచ్చింది 485 00:23:00,100 --> 00:23:02,380 ఆసక్తి కావచ్చు విలువలు. 486 00:23:02,380 --> 00:23:05,740 >> యొక్క ఒక చివరి ఉదాహరణ చూద్దాం ఇక్కడ ఫంక్షన్ ఒకటిగా పేర్కొన్నారు. 487 00:23:05,740 --> 00:23:08,530 ఈ ఉదాహరణలో, ఇది మొదలవుతుంది మరింత ఖచ్చితంగా పొందడానికి. 488 00:23:08,530 --> 00:23:12,400 కాబట్టి ఫంక్షన్ ఒక లో, ఈ ప్రోగ్రాం నోటీసు చివరికి 489 00:23:12,400 --> 00:23:14,920 GetPositiveInt అనే ఫంక్షన్ కాల్స్. 490 00:23:14,920 --> 00:23:17,800 GetPositiveInt ఒక కాదు CS50 లైబ్రరీ ఫంక్షన్, 491 00:23:17,800 --> 00:23:20,400 కానీ మనం నిర్ణయించుకుంది అది ఉనికిలో కోరుకుంటున్నారో. 492 00:23:20,400 --> 00:23:24,550 >> కాబట్టి మేము తరువాత ఫైలులో స్క్రోల్ డౌన్ ఉంటే, నేను అమలు గురించి వెళ్లి ఎలా గమనించవచ్చు 493 00:23:24,550 --> 00:23:26,560 సానుకూల పూర్ణాంకానికి పొందుతారు, మరియు నేను ఇది మరింత ఖచ్చితంగా చెప్పాలి 494 00:23:26,560 --> 00:23:28,992 ఈ ఒక మంచి ఎందుకంటే కోడ్ యొక్క రేఖల సంఖ్య. 495 00:23:28,992 --> 00:23:30,700 ఇది కేవలం ఒక వెర్రి కాదు చిన్న బొమ్మ కార్యక్రమం. 496 00:23:30,700 --> 00:23:33,870 ఇది నిజానికి కొన్ని లోపాల తనిఖీ సంపాదించి మరియు మరింత ఉపయోగకరంగా ఏదో చేయడం. 497 00:23:33,870 --> 00:23:38,470 >> మీరు నడకను చూడలేదు చేసిన చేస్తే మేము pset1 లో పొందుపరిచిన చేసిన వీడియోలు 498 00:23:38,470 --> 00:23:42,350 ఈ రకం తెలుసు ఆత్మ లో ఇటువంటి సి లూప్, 499 00:23:42,350 --> 00:23:44,270 విషయాలు స్క్రాచ్ రకాల చేయవచ్చు. 500 00:23:44,270 --> 00:23:46,320 మరియు అలా దీన్ని చెప్పారు. 501 00:23:46,320 --> 00:23:47,500 ఈ ముద్రించాలా. 502 00:23:47,500 --> 00:23:51,860 అప్పుడు ముందుకు వెళ్ళి n-- పొందండి ఒక పూర్ణాంకానికి పొందుతారు మరియు n నిల్వ, 503 00:23:51,860 --> 00:23:55,760 మరియు ఉంచడానికి మళ్ళీ మళ్ళీ ఈ చేయడం మళ్ళీ చాలా కాలం n వంటి కంటే తక్కువ ఒకటి. 504 00:23:55,760 --> 00:23:58,720 >> కాబట్టి n కంటే తక్కువ ఒక అవతరిస్తుంది మాత్రమే మానవ సహకరించింది కాదు ఉంటే. 505 00:23:58,720 --> 00:24:01,980 అతను లేదా ఆమె టైప్ చేస్తే 0 లేదా -1 లేదా -50 లో, 506 00:24:01,980 --> 00:24:04,790 ఈ లూప్ ఉంచడానికి వెళుతున్న మళ్లీ మళ్లీ అమలు. 507 00:24:04,790 --> 00:24:07,549 చివరకు నేను, గమనించి కేవలం విలువ తిరిగి. 508 00:24:07,549 --> 00:24:09,590 కాబట్టి ఇప్పుడు మేము ఒక ఫంక్షన్ కలిగి ఆ nice పరిష్కరించగలుగుతున్నాము 509 00:24:09,590 --> 00:24:14,040 CS50 లో అమలు చేస్తేనే మీరు cs50.h మరియు cs50.c, 510 00:24:14,040 --> 00:24:16,520 కానీ ఇక్కడ మేము ఇప్పుడు ఈ మేమే అమలు. 511 00:24:16,520 --> 00:24:19,230 >> కానీ కొన్ని ముఖ్యమైన వివరాలను రెండు వ్యాఖ్యలు. 512 00:24:19,230 --> 00:24:24,390 One-- ఎందుకు నేను Int ప్రకటించాలని లేదు లేదా, లైన్ 29 న, మీరు అనుకుంటున్నారు 513 00:24:24,390 --> 00:24:27,139 బదులుగా కేవలం చేయడం ఇక్కడ ఈ, ఇది 514 00:24:27,139 --> 00:24:28,930 మరింత స్థిరంగా మేము గత వారం చేశాడు ఏమి? 515 00:24:28,930 --> 00:24:29,430 అవును? 516 00:24:29,430 --> 00:24:34,485 517 00:24:34,485 --> 00:24:35,110 ఒక మంచి ఆలోచన. 518 00:24:35,110 --> 00:24:37,080 కనుక మేము అది ఉంచాలి ఇక్కడ, మేము అయితే వార్తలు 519 00:24:37,080 --> 00:24:39,110 మళ్ళీ మళ్ళీ ప్రకటించారు ఉంచండి. 520 00:24:39,110 --> 00:24:42,000 మరియు యొక్క ఆ ఉంది సమస్యాత్మక లేదు, ప్రతి SE, 521 00:24:42,000 --> 00:24:43,940 మేము మాత్రమే అవసరం ఎందుకంటే ఒకసారి ఆపై విలువ 522 00:24:43,940 --> 00:24:45,330 మేము ఏమైనప్పటికీ ఒక కొత్త పొందండి చూడాలని. 523 00:24:45,330 --> 00:24:45,940 కానీ ఒక మంచి ఆలోచన. 524 00:24:45,940 --> 00:24:46,440 అవును? 525 00:24:46,440 --> 00:24:52,770 526 00:24:52,770 --> 00:24:53,330 >> దగ్గరగా. 527 00:24:53,330 --> 00:24:59,030 నేను n డిక్లేర్డ్ చేసిన ఎందుకంటే కాబట్టి లైన్ 29 లూప్ వెలుపల, 528 00:24:59,030 --> 00:25:01,390 అది అంతా అందుబాటులో వార్తలు ఈ మొత్తం ఫంక్షన్. 529 00:25:01,390 --> 00:25:05,400 ఇతర విధులు ఎందుకంటే లేదా ఈ కర్లీ లోపలి ఇప్పటికీ ఉంది 530 00:25:05,400 --> 00:25:06,470 ఇక్కడ జంట కలుపులు. 531 00:25:06,470 --> 00:25:07,940 ఖచ్చితంగా So--. 532 00:25:07,940 --> 00:25:12,430 533 00:25:12,430 --> 00:25:12,940 >> సరిగ్గా. 534 00:25:12,940 --> 00:25:14,356 కాబట్టి ఈ సమయంలో కూడా ఎక్కువగా ఉంది. 535 00:25:14,356 --> 00:25:18,600 మేము బదులుగా ప్రకటించింది లేదా ఇక్కడే లైన్ 32 న, 536 00:25:18,600 --> 00:25:22,340 ఇది ఊహించడం ఎందుకంటే సమస్యాత్మక వార్తలు తోబుట్టువుల కోరినయెడల నేను యాక్సెస్ అవసరం? 537 00:25:22,340 --> 00:25:25,620 లైన్ 34, మరియు న బండ సాధారణ నియమం 538 00:25:25,620 --> 00:25:30,060 మీరు మాత్రమే ఒక వేరియబుల్ ఉపయోగించడానికి చేయవచ్చు ఇటీవల వంకర జంట కలుపులు లోపల 539 00:25:30,060 --> 00:25:31,420 మీరు ప్రకటించింది. 540 00:25:31,420 --> 00:25:35,230 >> దురదృష్టవశాత్తు, లైన్ 34 ఒక పంక్తిలో, చాలా ఆలస్యం 541 00:25:35,230 --> 00:25:38,560 నేను ఇప్పటికే మూసుకుని చేసిన ఎందుకంటే లైన్ 33 న వంకర కలుపు 542 00:25:38,560 --> 00:25:41,220 ఆ అనుగుణంగా లైన్ 30 న వంకర కలుపు. 543 00:25:41,220 --> 00:25:44,180 కాబట్టి ఈ చెప్పడం ఒక మార్గం ఉంది ఈ వేరియబుల్ పూర్ణాంకానికి దర్శిని అని, 544 00:25:44,180 --> 00:25:46,970 కాబట్టి ఒక్క లోపల, మాట్లాడటం ఆ గిరజాల జంట కలుపులు. 545 00:25:46,970 --> 00:25:48,910 ఇది కేవలం వాటిని బయట ఉనికిలో లేదు. 546 00:25:48,910 --> 00:25:51,580 >> కాబట్టి నిజంగా, నేను లేకపోతే ఈ తప్పు, నాకు కోడ్ సేవ్ తెలియజేయండి 547 00:25:51,580 --> 00:25:53,530 గా తప్పుగా రాసిన is--. 548 00:25:53,530 --> 00:25:57,990 నాకు ముందుకు వెళ్లి తయారు లెట్ ఫంక్షన్-1, మరియు గమనించవచ్చు లోపం. 549 00:25:57,990 --> 00:26:03,502 ప్రకటించనివారు ఐడెంటిఫైయర్ n యొక్క ఉపయోగించండి ఇక్కడే ఉన్న లైన్ 35 న. 550 00:26:03,502 --> 00:26:05,210 మరియు మేము స్క్రోల్ ఉంటే మరింత ఇంకో. 551 00:26:05,210 --> 00:26:08,750 ప్రకటించనివారు యొక్క ఉపయోగించండి లైన్ 34 న నిర్ధారిణి న్. 552 00:26:08,750 --> 00:26:11,200 >> కాబట్టి కంపైలర్, గణగణమని ద్వని చేయు, ఆ గమనిస్తున్నారు కేవలం 553 00:26:11,200 --> 00:26:13,720 అయినప్పటికీ ఉనికిలో లేదు స్పష్టంగా ఇది దృష్టి ఉంది. 554 00:26:13,720 --> 00:26:16,090 కాబట్టి ఒక సాధారణ పరిష్కారం అక్కడ అది ప్రకటించటం. 555 00:26:16,090 --> 00:26:18,790 >> ఇప్పుడు నాకు స్క్రోల్ అనుమతిస్తుంది ఫైలు పైన. 556 00:26:18,790 --> 00:26:21,080 ఏం మీరు వద్ద అవుట్ హెచ్చుతగ్గుల కొద్దిగా భిన్నంగా ఉండటం 557 00:26:21,080 --> 00:26:23,070 stuff నుండి మేము గత వారం చూశారు? 558 00:26:23,070 --> 00:26:26,990 మాత్రమే పేరు నేను కలిగి లేదు, మాత్రమే చేయండి నేను, కొన్ని పదునైన టాప్ అప్ కలిగి ఉన్నాయి 559 00:26:26,990 --> 00:26:29,340 నేను ఉన్నాను ఏదైనా కలిగి ఒక నమూనా కాల్. 560 00:26:29,340 --> 00:26:36,100 ఇప్పుడు ఆ భయంకరంగా పోలి ఉంది ఏమి మేము కేవలం లైన్ 27 న ఒక క్షణం క్రితం చూసింది. 561 00:26:36,100 --> 00:26:39,230 >> కాబట్టి యొక్క వివిధ నుండి ప్రతిపాదించే తెలియజేయండి నేను ఈ చేసిన ఎందుకు లోపం సందేశం. 562 00:26:39,230 --> 00:26:42,050 నాకు ముందుకు వెళ్లి అక్కడ ఈ పంక్తులు తొలగించండి. 563 00:26:42,050 --> 00:26:44,240 కాబట్టి మేము నమూనా గురించి ఏమీ తెలియదు. 564 00:26:44,240 --> 00:26:45,430 ఈ ఫైలు రీమేక్. 565 00:26:45,430 --> 00:26:46,890 ఫంక్షన్ ఒక చేయండి. 566 00:26:46,890 --> 00:26:48,090 మరియు ఇప్పుడు, తిట్టు, నాలుగు లోపాలు. 567 00:26:48,090 --> 00:26:50,220 తొలి వరకు స్క్రోల్ లెట్. 568 00:26:50,220 --> 00:26:55,070 >> ఫంక్షన్ యొక్క పరిపూర్ణమైన ప్రకటన సానుకూల పూర్ణాంకానికి పొందుతారు C99 లో చెల్లనిది. 569 00:26:55,070 --> 00:26:57,780 C99 కేవలం 1999 అంటే భాష యొక్క వెర్షన్ 570 00:26:57,780 --> 00:26:59,710 మేము నిజానికి ఉపయోగించి ఏమి ఇది C,. 571 00:26:59,710 --> 00:27:01,050 కాబట్టి దీని అర్థం ఏమిటి? 572 00:27:01,050 --> 00:27:05,250 వెల్ సి మరియు మరింత ప్రత్యేకంగా సి అందంగా మూగ కార్యక్రమాలు compilers-- ఉంటాయి. 573 00:27:05,250 --> 00:27:07,420 అవి మీకు మాత్రమే పరిష్కరించగలుగుతున్నాము ఏమి వాటిని చెప్పారు మరియు ఆ వార్తలు 574 00:27:07,420 --> 00:27:08,960 గత వారం నుండి నిజంగా నేపథ్యం. 575 00:27:08,960 --> 00:27:12,910 >> సమస్య నేను వెళ్ళి ఉంటే ఉంటుంది ఇక్కడ పేరు అప్ అమలు గురించి, 576 00:27:12,910 --> 00:27:17,640 మరియు నేను అనే ఫంక్షన్ కాల్ లైన్ 20 న ఇక్కడ GetPositiveInt, 577 00:27:17,640 --> 00:27:22,520 ఆ ఫంక్షన్ సాంకేతికంగా లేదు కంపైలర్ లైన్ 27 చూసేంతవరకు ఉనికిలో. 578 00:27:22,520 --> 00:27:25,450 దురదృష్టవశాత్తు, కంపైలర్ టాప్, డౌన్, కుడి, ఎడమ పనులను, 579 00:27:25,450 --> 00:27:29,580 ఇది చూడలేదని ఎందుకంటే కాబట్టి GetPositiveInt అమలు 580 00:27:29,580 --> 00:27:32,400 కానీ మీరు ప్రయత్నిస్తున్నారు చూస్తుంది ఇక్కడ దానిని ఉపయోగించడానికి, 581 00:27:32,400 --> 00:27:35,810 ఇది కేవలం అరుస్తుంటారు bail-- జరగబోతోంది లోపం తో మీరు బహుశా message-- 582 00:27:35,810 --> 00:27:38,440 గుప్తమైన, మరియు నిజానికి ఫైలు కంపైల్. 583 00:27:38,440 --> 00:27:41,940 >> కాబట్టి ఒక అని పిలవబడే నమూనా అప్ ఇక్కడ ఆమోదం అనవసరమైన ఉంది. 584 00:27:41,940 --> 00:27:47,870 సాహిత్యపరంగా, నేను ఇక్కడ డౌన్ వెళ్లి నేను కాపీ మరియు ఈ అతికించారు, మరియు నేను ఇక్కడ దానిని చాలు. 585 00:27:47,870 --> 00:27:51,020 వాయిడ్ మరింత సరైన ఉంటుంది, కాబట్టి మేము చేస్తాము వాచ్యంగా కాపీ మరియు ఈ సమయం అతికించండి. 586 00:27:51,020 --> 00:27:52,854 నేను అక్షరాలా కాపీ మరియు అది అతికించారు. 587 00:27:52,854 --> 00:27:54,270 రియల్లీ కేవలం ఒక రొట్టె ముక్క వంటి. 588 00:27:54,270 --> 00:27:56,260 >> కంపైలర్ ఒక చిన్న క్లూ. 589 00:27:56,260 --> 00:27:58,860 నేను ఈ ఏమి తెలియదు ఇంకా, కానీ నేను మీరు హామీ చేస్తున్నాను 590 00:27:58,860 --> 00:28:00,260 అది చివరికి ఉనికిలో ఉంటుంది. 591 00:28:00,260 --> 00:28:04,010 ఈ లైన్ ఎందుకు మరియు ఆ వార్తలు లైన్ 16 ఒక సెమికోలన్ తో ముగుస్తుంది. 592 00:28:04,010 --> 00:28:05,486 ఇది డిజైన్ ద్వారా అనవసరమైన ఉంది. 593 00:28:05,486 --> 00:28:05,986 అవును? 594 00:28:05,986 --> 00:28:11,340 595 00:28:11,340 --> 00:28:14,360 >> మీరు మీ లైబ్రరీ లింక్ లేదు ఉంటే ఓహ్, మంచి ప్రశ్న వాట్ కు. 596 00:28:14,360 --> 00:28:17,350 వెంటనే శీర్షికా ఫైలును చేరికలు ఇచ్చింది. 597 00:28:17,350 --> 00:28:20,040 తప్పక దాదాపు ఉండబోతుంది అవసరం ఎల్లప్పుడూ అగ్రభాగాన ఉంటుంది 598 00:28:20,040 --> 00:28:23,270 ఒక similar-- కోసం ఫైలు యొక్క సరిగ్గా అదే కారణం, అవును. 599 00:28:23,270 --> 00:28:26,430 ప్రామాణిక ఎందుకంటే io.h వాచ్యంగా ఒక లైన్ ఉంది 600 00:28:26,430 --> 00:28:30,560 ఈ వంటి కానీ పదం printf, మరియు దాని వాదనలు మరియు తిరిగి రకం. 601 00:28:30,560 --> 00:28:33,310 కాబట్టి పదునైన చేయడం ద్వారా అప్ కవర్ ఇక్కడ, మీరు వాచ్యంగా ఏమి ఉన్నారు 602 00:28:33,310 --> 00:28:36,380 విషయాల కాపీ మరియు పేస్ట్ ఒకరి వేరే టాప్ అప్ రాశారు. 603 00:28:36,380 --> 00:28:39,660 అందుచేత కు మీ కోడ్ cluing ఆ విధులు ఉన్నాయి వాస్తవం. 604 00:28:39,660 --> 00:28:40,160 అవును? 605 00:28:40,160 --> 00:28:47,520 606 00:28:47,520 --> 00:28:48,260 >> నిక్షేపంగా. 607 00:28:48,260 --> 00:28:51,690 కాబట్టి ఒక చాలా తెలివైన మరియు సరైన పరిష్కారం ఉంటుంది, మీరు ఏమి తెలుసు? 608 00:28:51,690 --> 00:28:53,760 నేను తెలియదు ఏమి ఒక నమూనా ఉంది, కానీ నేను తెలుసు 609 00:28:53,760 --> 00:28:56,390 నేను సి కేవలం అని అర్థం ఉంటే మూగ మరియు పైనుంచి rethinks. 610 00:28:56,390 --> 00:28:57,820 Well యొక్క అది కోరుకుంటున్నారు ఏమి అది కల్పించడానికి అనుమతిస్తాయి. 611 00:28:57,820 --> 00:29:01,650 దానిని పేస్ట్, ఆ యొక్క కోడ్ కట్ లెట్ top, మరియు ఇప్పుడు డౌన్ క్రింద ప్రధాన పుష్. 612 00:29:01,650 --> 00:29:03,470 ఈ చాలా సమస్య పరిష్కారానికి. 613 00:29:03,470 --> 00:29:07,409 >> కానీ మీరు చాలా సులభంగా అప్ వస్తానని A, B కాల్ అవసరం దీనిలో ఒక దృష్టాంతంలో, 614 00:29:07,409 --> 00:29:10,075 చేసి B A. ఈ తిరిగి కాల్స్ సూత్రం అని ఏదో ఉంది 615 00:29:10,075 --> 00:29:11,370 మరియు మేము ఆ వచ్చి చేస్తాము. 616 00:29:11,370 --> 00:29:13,911 మరియు అది లేదా ఒక మంచి కాకపోవచ్చు విషయం, కానీ మీరు ఖచ్చితంగా చెయ్యవచ్చు 617 00:29:13,911 --> 00:29:15,110 ఈ పరిష్కారం విడిపోయారు. 618 00:29:15,110 --> 00:29:17,690 >> అంతేకాక, నేను చేస్తాను ఆకృతిని దావా, 619 00:29:17,690 --> 00:29:20,760 ముఖ్యంగా మీ కార్యక్రమాలు ఈ సుదీర్ఘ మరియు ఈ కాలం మారింది, 620 00:29:20,760 --> 00:29:23,064 ఇది కేవలం సూపర్ అనుకూలమైన వార్తలు ఎగువన ప్రధాన ఉంచాలి 621 00:29:23,064 --> 00:29:25,730 అది విషయం ఎందుకంటే చాలా ప్రోగ్రామర్లు పట్టించుకోనట్లు వెళ్తున్నారు. 622 00:29:25,730 --> 00:29:28,150 కాబట్టి అది కొద్దిగా క్లీనర్ వార్తలు, నిస్సందేహంగా, అది మార్గం చేయడానికి 623 00:29:28,150 --> 00:29:30,380 నేను మొదట చేసియున్నారు ఒక నమూనా తో కూడా 624 00:29:30,380 --> 00:29:33,396 అది కొద్దిగా కనిపిస్తోంది అయితే మొదటి చూపులో అనవసరమైన. 625 00:29:33,396 --> 00:29:33,895 అవును? 626 00:29:33,895 --> 00:29:36,472 627 00:29:36,472 --> 00:29:37,680 క్షమించండి, మీరు బిగ్గరగా చెప్పగలరు? 628 00:29:37,680 --> 00:29:45,650 629 00:29:45,650 --> 00:29:49,580 >> మీరు స్థానాలను మారడానికి ఉంటే అమలు మరియు నమూనా? 630 00:29:49,580 --> 00:29:51,270 కాబట్టి ఒక మంచి ప్రశ్న. 631 00:29:51,270 --> 00:29:53,780 మీరు ఈ డౌన్ తిరిగి డిక్లేర్ ఇక్కడ, ఏమి చూద్దాం. 632 00:29:53,780 --> 00:29:55,530 నేను ఈ అణిచివేసేందుకు చేస్తే ఇక్కడ, మీరు చెబుతున్న. 633 00:29:55,530 --> 00:29:57,860 634 00:29:57,860 --> 00:29:58,360 ఓహ్, సారీ. 635 00:29:58,360 --> 00:29:58,859 బిగ్గరగా? 636 00:29:58,859 --> 00:30:02,000 637 00:30:02,000 --> 00:30:04,011 కూడా బిగ్గరగా. 638 00:30:04,011 --> 00:30:04,760 ఓహ్, మంచి ప్రశ్న. 639 00:30:04,760 --> 00:30:05,860 అది ఫంక్షన్ చెల్లుబాటు అనుకుంటున్నారా? 640 00:30:05,860 --> 00:30:08,901 మీరు తెలుసు అన్ని ఈ సంవత్సరాల తరువాత, నేను తర్వాత ఒక నమూనా చాలు ఎప్పుడూ. 641 00:30:08,901 --> 00:30:13,810 కాబట్టి యొక్క ఫంక్షన్-1 తయారు మనం ఆ చేయడం తర్వాత. 642 00:30:13,810 --> 00:30:15,279 >> [గొణుగుతూ] 643 00:30:15,279 --> 00:30:16,320 డేవిడ్ J. మలన్: ఓహ్ వేచి. 644 00:30:16,320 --> 00:30:17,944 మేము ఇంకా టాప్ ప్రతిదీ అప్ ఉంచాలి. 645 00:30:17,944 --> 00:30:21,400 కాబట్టి నేను ఉన్నాను ఉంటే యొక్క, ఇక్కడ ఈ తెలియజేసేలా సరిగ్గా మీ ప్రశ్న అర్ధం. 646 00:30:21,400 --> 00:30:24,700 నేను సహా ప్రతిదీ ఉంచడం చేస్తున్నాను ప్రధాన పై నమూనా, 647 00:30:24,700 --> 00:30:28,180 కానీ నేను నమూనా చూస్తూ నేను అమలు క్రింద. 648 00:30:28,180 --> 00:30:33,190 >> నేను ఒకటి చేస్తే, నేను పొందుతున్నాను కాబట్టి తిరిగి ఒక error-- ఉపయోగించని వేరియబుల్ n. 649 00:30:33,190 --> 00:30:37,280 650 00:30:37,280 --> 00:30:37,860 ఓహ్, అక్కడ. 651 00:30:37,860 --> 00:30:38,360 ధన్యవాదాలు. 652 00:30:38,360 --> 00:30:39,430 యొక్క చూసేలా, మేము ఈ వదిలించుకోవటం. 653 00:30:39,430 --> 00:30:41,304 మరో బగ్ ఉంది కాబట్టి యొక్క ఆ విస్మరించండి లెట్. 654 00:30:41,304 --> 00:30:43,910 యొక్క నిజంగా త్వరగా ఈ రీమేక్ లెట్. 655 00:30:43,910 --> 00:30:48,100 >> OK, కాబట్టి డేటా వాదన కాదు ఫార్మాట్ స్ట్రింగ్ ద్వారా ఉపయోగిస్తారు 656 00:30:48,100 --> 00:30:52,310 ఓహ్ n--, ఎందుకంటే వార్తలు నేను ఇక్కడ ఈ మార్చారు. 657 00:30:52,310 --> 00:30:55,885 All right, మేము తెలుసు ఏమి సమాధానం ఆలోచన అన్ని కుడి అన్నారు, ఇక్కడ మేము వెళ్ళండి. 658 00:30:55,885 --> 00:31:00,560 అమ్మో, సానుకూల ధన్యవాదాలు. 659 00:31:00,560 --> 00:31:03,430 అన్ని కుడి, నేను ఈ కోడ్ పరిష్కరిస్తారు after-- ఈ ప్రత్యేక బగ్ పట్టించుకోకుండా 660 00:31:03,430 --> 00:31:08,300 ఈ అది పనిచేస్తుంది was-- నుండి సమాధానం. 661 00:31:08,300 --> 00:31:11,560 >> కనుక ఇది తిరిగి రాస్తుంది లేదు మీరు ఏమి కేవలం చేశాను. 662 00:31:11,560 --> 00:31:14,800 నేను కంపైలర్ అనుమానిస్తున్నారు అటువంటి విధంగా వ్రాయబడింది 663 00:31:14,800 --> 00:31:18,420 మీ నమూనా విస్మరిస్తోంది ఆ శరీర ఎందుకంటే, అలా మాట్లాడటం, 664 00:31:18,420 --> 00:31:20,922 ఫంక్షన్ ఇప్పటికే కలిగి ఉంది అధిక అప్ అమలు చేశారు. 665 00:31:20,922 --> 00:31:23,380 నేను నిజానికి సంప్రదించండి వుంటుంది కంపైలర్ యొక్క మాన్యువల్ 666 00:31:23,380 --> 00:31:26,171 ఏ ఇతర ఉంది ఉంటే అర్థం సూత్రప్రాయంగా, కానీ మొదటి చూపులో 667 00:31:26,171 --> 00:31:29,290 కేవలం ప్రయత్నిస్తూ మరియు ప్రయోగాలు చేసి, ఎటువంటి ప్రభావం ఉన్నట్లు తెలుస్తోంది. 668 00:31:29,290 --> 00:31:30,730 మంచి ప్రశ్న. 669 00:31:30,730 --> 00:31:33,660 >> కాబట్టి యొక్క ఇప్పుడు ముందుకు నకలు కదిలే వీలు దూరంగా సైడ్ ఎఫెక్ట్స్ నుండి ఇది 670 00:31:33,660 --> 00:31:36,660 వంటి ఏదో ఒకటి క్రియలు దృశ్యపరంగా printf తో తెరపై, 671 00:31:36,660 --> 00:31:38,090 కానీ ఒక విలువ తిరిగి లేదు. 672 00:31:38,090 --> 00:31:41,550 మరియు ఆ విధులు తిరిగి మేము వంటి విలువలు కొన్ని చూసింది. 673 00:31:41,550 --> 00:31:45,350 మేము ఇప్పటికే స్కోప్ యొక్క ఈ భావన చూసింది మరియు మేము మళ్లీ మళ్లీ ఈ చూస్తారు. 674 00:31:45,350 --> 00:31:47,210 కానీ ఇప్పుడు కోసం, మళ్ళీ, ముఖ్యనియమంగా ఉపయోగించడానికి 675 00:31:47,210 --> 00:31:51,410 ఒక వేరియబుల్ మాత్రమే ఉపయోగిస్తారు చేయవచ్చు ఇటీవల తెరిచిన లోపలి 676 00:31:51,410 --> 00:31:54,350 మరియు మేము మూసి గిరజాల జంట కలుపులు నిర్దిష్ట ఉదాహరణ లో చూసింది. 677 00:31:54,350 --> 00:31:56,910 >> మరియు మీరు, ఎత్తి చూపారు ఒక ability-- ఉంది 678 00:31:56,910 --> 00:32:00,040 మీరు ఈ కొన్ని సమస్యలను పరిష్కరించడానికి కాలేదు ప్రపంచవ్యాప్తంగా ఒక వేరియబుల్ పెట్టటం ద్వారా 679 00:32:00,040 --> 00:32:01,290 ఒక ఫైల్ యొక్క అగ్రభాగాన. 680 00:32:01,290 --> 00:32:03,630 కానీ దాదాపు అన్ని సందర్భాల్లో మేము ఆ మీద అయిష్టాన్ని కనపరిచే చేస్తుంది, 681 00:32:03,630 --> 00:32:06,170 మరియు నిజానికి కూడా వెళ్లరు ఇప్పుడు ఆ పరిష్కారం లోకి. 682 00:32:06,170 --> 00:32:09,890 ఇప్పటివరకు, తాత్కాలిక ఉంది వేరియబుల్స్ స్కోప్ ఈ భావన కలిగి. 683 00:32:09,890 --> 00:32:13,430 >> కానీ ఇప్పుడు యొక్క మరొక చూద్దాం వాస్తవానికి చూస్తున్న పొడి మార్గం 684 00:32:13,430 --> 00:32:15,810 కొన్ని అందంగా ఆసక్తికరమైన వద్ద అమలు వివరాలు. 685 00:32:15,810 --> 00:32:17,810 ఎలా మేము సమాచారాన్ని ప్రతిఫలించే. 686 00:32:17,810 --> 00:32:20,370 మరియు మేము ఇప్పటికే ఈ చూశారు తరగతి మొదటి వారంలో. 687 00:32:20,370 --> 00:32:23,320 బైనరీలు వద్ద గురించి, మరియు దశాంశ మేమే గుర్తు ఉంది. 688 00:32:23,320 --> 00:32:28,310 >> కానీ సి కలిగి గత వారం నుండి రీకాల్ వివిధ డేటా రకాలు మరియు పుష్పగుచ్ఛాలు మరింత, 689 00:32:28,310 --> 00:32:30,600 కానీ చాలా ఉపయోగకరమైన వాటిని ప్రస్తుతానికి ఈ కావచ్చు. 690 00:32:30,600 --> 00:32:36,030 ఇది ఒక చార్, లేదా పాత్ర, ఒక బైట్, లేదా ఎనిమిది బిట్స్ మొత్తం ఉండాలి. 691 00:32:36,030 --> 00:32:40,060 మరియు ఆ పరిమాణము అని ఇంకొకరి ఒక చార్ యొక్క కేవలం ఒక బైట్ ఉంది. 692 00:32:40,060 --> 00:32:45,370 ఒక బైట్ ఎనిమిది బిట్స్ ఉంది, కాబట్టి ఈ అర్థం మేము ఎన్ని అక్షరాలు సూచిస్తుంది. 693 00:32:45,370 --> 00:32:47,320 ఎన్ని అక్షరాలు లేదా కీబోర్డ్ పై చిహ్నాలు 694 00:32:47,320 --> 00:32:49,210 మేము ఒక బైట్ లేదా ఎనిమిది బిట్స్ ఉంటే. 695 00:32:49,210 --> 00:32:51,546 తిరిగి వారం సున్నా ఆలోచించండి. 696 00:32:51,546 --> 00:32:53,420 మీరు ఎనిమిది బిట్స్ ఉంటే, ఎన్ని మొత్తం విలువలు 697 00:32:53,420 --> 00:32:55,503 మీరు సూచిస్తాయి చేయవచ్చు సున్నాలు మరియు వాటిని క్రమాలు? 698 00:32:55,503 --> 00:32:58,170 699 00:32:58,170 --> 00:33:00,260 కంటే ఎక్కువ One--. 700 00:33:00,260 --> 00:33:03,490 కాబట్టి 256 మొత్తం మీరు ఉంటే సున్నా నుండి లెక్కింపు ప్రారంభించండి. 701 00:33:03,490 --> 00:33:07,120 కాబట్టి మీరు ఎనిమిది bits-- కాబట్టి మేము ఉంటే ఉంటే మళ్ళీ ఇక్కడ మా బైనరీ గడ్డలు కలిగి 702 00:33:07,120 --> 00:33:12,180 మేము ఆ కాంతి గడ్డలు మలుపు కాలేదు మరియు 256 ఏకైక నమూనాలు ఏ ఆఫ్. 703 00:33:12,180 --> 00:33:13,640 >> ఇప్పుడు ఈ ఒక బిట్ సమస్యాత్మక ఉంది. 704 00:33:13,640 --> 00:33:16,857 ఇంగ్లీష్ మరియు అంత ఎక్కువ ఉండదు రొమాన్స్ లాంగ్వేజెస్, కానీ ఖచ్చితంగా 705 00:33:16,857 --> 00:33:19,190 మీరు పరిచయం చేసినప్పుడు, ఉదాహరణకు, ఆసియన్ భాషల్లో, ఇది 706 00:33:19,190 --> 00:33:22,580 వంటి కంటే ఎక్కువ చిహ్నాలు కలిగి వర్ణమాల యొక్క 26 అక్షరాలు. 707 00:33:22,580 --> 00:33:24,390 మేము నిజంగా అవసరం ఉండవచ్చు ఒక బైట్ కంటే ఎక్కువ. 708 00:33:24,390 --> 00:33:28,240 మరియు కృతజ్ఞతగా లో ఇటీవలి సంవత్సరాలలో సమాజం ఉంది 709 00:33:28,240 --> 00:33:31,040 ఉపయోగించడానికి ఆ దత్తతు ఇతర ప్రమాణాలు ఛార్జింగ్తో ఒకటి కంటే ఎక్కువ బైట్. 710 00:33:31,040 --> 00:33:34,210 >> కానీ ఇప్పుడు సి లో, డిఫాల్ట్ కోసం కేవలం ఒక బైట్ లేదా ఎనిమిది బిట్స్ ఉంది. 711 00:33:34,210 --> 00:33:38,195 పూర్ణాంకం, మరోవైపు, నాలుగు ఉంది బైట్లు, లేకపోతే 32 బిట్స్ అని పిలుస్తారు. 712 00:33:38,195 --> 00:33:41,320 ఏ అతిపెద్ద సాధ్యం ఏమి అర్థం సంఖ్య మేము ఒక పూర్ణాంకానికి తో సూచిస్తాయి చేయవచ్చు 713 00:33:41,320 --> 00:33:41,820 స్పష్టంగా? 714 00:33:41,820 --> 00:33:44,426 715 00:33:44,426 --> 00:33:45,050 ఒక బిలియన్. 716 00:33:45,050 --> 00:33:46,760 అది నాలుగు బిలియన్ ఇవ్వాలని లేదా పడుతుంది అనిపిస్తుంది. 717 00:33:46,760 --> 00:33:49,840 2 32th శక్తి, మేము ఉంటే ఎటువంటి ప్రతికూల సంఖ్యలు ఊహించుకోవటం 718 00:33:49,840 --> 00:33:52,530 మరియు అన్ని సానుకూల ఉపయోగించడానికి సంఖ్యలు నాలుగు బిలియన్ వార్తలు 719 00:33:52,530 --> 00:33:53,730 ఇవ్వాలని లేదా అవకాశాలను పడుతుంది. 720 00:33:53,730 --> 00:33:57,890 ఒక ఫ్లోట్, మరోవైపు, వేరే రకం ఇది ఇప్పటికీ ఒక సంఖ్య C. లో డేటా రకం, 721 00:33:57,890 --> 00:33:58,990 కానీ ఇది నిజమైన నెంబర్. 722 00:33:58,990 --> 00:34:00,660 ఒక దశాంశ బిందువు ఏదో. 723 00:34:00,660 --> 00:34:03,000 మరియు ఆ అవుతుంది సి కూడా నాలుగు బైట్లు ఉపయోగించే 724 00:34:03,000 --> 00:34:05,340 ఫ్లోటింగ్ పాయింట్ విలువలు సూచించడానికి. 725 00:34:05,340 --> 00:34:09,420 >> దురదృష్టవశాత్తు ఎన్ని ఫ్లోటింగ్ పాయింట్ విలువలు ప్రపంచంలో ఉన్నాయి? 726 00:34:09,420 --> 00:34:11,582 ఎన్ని సహజ సంఖ్యలు ఉన్నాయి? 727 00:34:11,582 --> 00:34:13,540 అనంత ఉంది సంఖ్య, మరియు ఆ విషయం 728 00:34:13,540 --> 00:34:15,164 పూర్ణాంకాల అనంత సంఖ్యలో ఉంది. 729 00:34:15,164 --> 00:34:18,070 కాబట్టి మేము రకమైన ఉన్నారు ఇక్కడ మేమే ఒక రంధ్రం త్రవ్వించి. 730 00:34:18,070 --> 00:34:21,780 అనగా స్పష్టంగా computers-- వద్ద them-- సి లో రాసిన కనీసం కార్యక్రమాలు 731 00:34:21,780 --> 00:34:24,110 మాత్రమే అధిక వంటి పరిగణించవచ్చు నాలుగు బిలియన్ ఇవ్వాలని లేదా పడుతుంది 732 00:34:24,110 --> 00:34:26,260 మరియు ఫ్లోటింగ్ పాయింట్ విలువలు మాత్రమే స్పష్టంగా 733 00:34:26,260 --> 00:34:28,330 ఖచ్చితత్వము యొక్క కొన్ని పరిమిత మొత్తం కలిగి. 734 00:34:28,330 --> 00:34:30,810 కేవలం చాలా అంకెలు తర్వాత వారి దశాంశ పాయింట్. 735 00:34:30,810 --> 00:34:32,822 >> ఎందుకంటే, కోర్సు యొక్క, ఉంటే మీరు మాత్రమే 32 బిట్స్ కలిగి, 736 00:34:32,822 --> 00:34:36,030 మనం గురించి వెళ్ళడానికి వెళుతున్న ఎలా తెలియదు బహుశా నిజ numbers-- ప్రాతినిధ్యం 737 00:34:36,030 --> 00:34:37,409 నమూనాలు వివిధ రకాల. 738 00:34:37,409 --> 00:34:40,030 కానీ ఖచ్చితంగా ఒక పరిమిత ఉంది ఇటువంటి విధానాల సంఖ్య, 739 00:34:40,030 --> 00:34:41,830 కాబట్టి ఇక్కడ కూడా ఈ సమస్యాత్మకంగా ఉంది. 740 00:34:41,830 --> 00:34:43,710 >> ఇప్పుడు మేము కొద్దిగా సమస్య నివారించేందుకు. 741 00:34:43,710 --> 00:34:45,710 మీరు ఒక ఫ్లోట్ ఉపయోగించడానికి లేకపోతే, మీరు ఒక డబుల్ వాడవచ్చు 742 00:34:45,710 --> 00:34:50,230 సి, ఇది మీరు ఎనిమిది బైట్లు ఇస్తుంది సున్నాలు యొక్క మార్గం మరింత సాధ్యం నమూనాలు ఉంది 743 00:34:50,230 --> 00:34:50,730 మరియు వాటిని. 744 00:34:50,730 --> 00:34:55,199 కానీ ఇది అన్నారు, ఇప్పటికీ పరిమిత మీరు సాఫ్ట్వేర్ వ్రాయడానికి ఉంటే సమస్యాత్మక 745 00:34:55,199 --> 00:34:57,670 గ్రాఫిక్స్ లేదా ఫాన్సీ కోసం గణిత సూత్రాలు. 746 00:34:57,670 --> 00:35:00,410 కాబట్టి మీరు నిజంగా కావలసిన ఉండవచ్చు ఆ కంటే పెద్ద కూడుట. 747 00:35:00,410 --> 00:35:05,640 ఒక లాంగ్ లాంగ్ stupidly named-- ఎనిమిది బైట్లు లేదా 64 బిట్స్ ఉంది, 748 00:35:05,640 --> 00:35:10,260 మరియు ఈ ఒక పూర్ణాంకానికి గా రెండుసార్లు కాలం ఉంది మరియు అది ఒక దీర్ఘ పూర్ణాంక విలువ ఉంది. 749 00:35:10,260 --> 00:35:15,655 >> ఫన్ fact-- ఒక Int, నాలుగు బైట్లు ఉంటే సాధారణంగా సి లో ఒక దీర్ఘ ఎలా పొడవుగా ఉంది? 750 00:35:15,655 --> 00:35:18,290 751 00:35:18,290 --> 00:35:21,560 అలాగే నాలుగు బైట్లు, కానీ ఒక లాంగ్ లాంగ్ ఎనిమిది బైట్లు, 752 00:35:21,560 --> 00:35:23,050 మరియు ఈ చారిత్రక కారణాల కోసం. 753 00:35:23,050 --> 00:35:26,450 >> కానీ ఇప్పుడు takeaway కేవలం ఆ డేటాని ఉంది 754 00:35:26,450 --> 00:35:29,625 వార్తలు ఒక కంప్యూటర్ లో ప్రాతినిధ్యం వహించే విద్యుత్ భౌతిక పరికరం 755 00:35:29,625 --> 00:35:32,190 ఇది సాధారణంగా డ్రైవింగ్ ఆ సున్నాలు మరియు ones-- 756 00:35:32,190 --> 00:35:34,320 ఖచ్చితత్వము యొక్క పరిమిత మొత్తంలో తో. 757 00:35:34,320 --> 00:35:35,620 కాబట్టి సమస్య తర్వాత ఏమిటి? 758 00:35:35,620 --> 00:35:37,480 >> Well ఒక సమస్య ఉంది పూర్ణాంక ఓవర్ఫ్లో యొక్క. 759 00:35:37,480 --> 00:35:39,780 కేవలం సి, కానీ లో సాధారణంగా కంప్యూటర్లు. 760 00:35:39,780 --> 00:35:42,590 ఉదాహరణకు, ఈ ఉంటే ఒక బైట్ విలువ bit ఉంది 761 00:35:42,590 --> 00:35:45,120 కాబట్టి ఈ అన్ని ఎనిమిది bit ఉంది ఉంటే ఇది సంఖ్య ఒకటి. 762 00:35:45,120 --> 00:35:47,300 ఏమి సంఖ్య ఈ ఉంది మేము ఊహించుకోవటం ఉంటే ప్రాతినిధ్యం 763 00:35:47,300 --> 00:35:50,730 అది బైనరీ లో అన్ని సానుకూల విలువలు? 764 00:35:50,730 --> 00:35:54,410 >> 255, మరియు అది 256 ఎందుకంటే, కాదు సున్నా అత్యల్ప సంఖ్య. 765 00:35:54,410 --> 00:35:56,760 కాబట్టి 255 అత్యధిక ఉంది ఒకటి, కానీ సమస్య 766 00:35:56,760 --> 00:36:00,330 నేను కోరుకున్నాడు అనుకుందాం ఈ వేరియబుల్ పెంచడం ఆ 767 00:36:00,330 --> 00:36:04,030 ఎనిమిది బిట్స్ మొత్తం ఉపయోగిస్తోంది నేను పెంచడం అనుకుంటే. 768 00:36:04,030 --> 00:36:07,160 >> సరే నేను జోడించండి వెంటనే ఒక ఈ వాటిని అన్ని ఒక, 769 00:36:07,160 --> 00:36:10,500 మీరు బహుశా కేవలం visually-- ఊహించే decimals-- ఉపయోగించి ఒక మోసుకెళ్ళే వంటి 770 00:36:10,500 --> 00:36:12,300 ఏదో ఎడమ ప్రవహిస్తుంది జరగబోతోంది. 771 00:36:12,300 --> 00:36:15,590 నిజానికి, నేను సంఖ్య జోడిస్తే ఈ ఒకటి, ఏమి బైనరీ లో జరుగుతుంది 772 00:36:15,590 --> 00:36:17,670 అది తిరిగి సున్నాకు ఓవర్ఫ్లో ఉంది. 773 00:36:17,670 --> 00:36:21,730 >> కాబట్టి మీరు ఒక పూర్ణాంకానికి కాదు use-- ఉంటే, కానీ ఒకే బైట్ పూర్ణ లెక్కించడానికి 774 00:36:21,730 --> 00:36:27,170 ఒక కార్యక్రమంలో, వెంటనే default-- ద్వారా మీరు 250 ను 251, 252, 253, 254, 775 00:36:27,170 --> 00:36:32,710 255-- 0, 255 తర్వాత వస్తుంది ఇది బహుశా ఏమిటి 776 00:36:32,710 --> 00:36:34,790 ఒక వినియోగదారు ఆశించడం అన్నారు. 777 00:36:34,790 --> 00:36:39,620 >> ఇప్పుడు అదే సమయంలో పాయింట్ ప్రపంచంలో తేలియాడే, మీరు కూడా ఇదే సమస్య. 778 00:36:39,620 --> 00:36:42,670 అతిపెద్ద సంఖ్య తో ఎక్కువ అయితే ఇప్పటికీ ఒక సమస్య. 779 00:36:42,670 --> 00:36:45,360 కానీ PRECISION మొత్తం మీరు సూచిస్తుంది. 780 00:36:45,360 --> 00:36:49,490 కాబట్టి ఈ ఉదాహరణ పరిశీలించి తెలియజేయండి ఇక్కడ కూడా నేటి సోర్స్ code-- నుండి 781 00:36:49,490 --> 00:36:52,070 ఫ్లోట్-0.c. 782 00:36:52,070 --> 00:36:54,280 >> మరియు అది ఒక సూపర్ నోటీసు సాధారణ ప్రోగ్రామ్ 783 00:36:54,280 --> 00:36:56,580 స్పష్టంగా ఏ విలువ ముద్రించాలా ఉండాలి? 784 00:36:56,580 --> 00:37:00,777 785 00:37:00,777 --> 00:37:04,110 మీరు ఈ ప్రింట్ అన్నారు పందెం విషయమేమిటంటే కొత్త వాక్యనిర్మాణం యొక్క బిట్ ఉంది అయినప్పటికీ 786 00:37:04,110 --> 00:37:05,540 ఇక్కడ? 787 00:37:05,540 --> 00:37:06,700 కాబట్టి ఆశాజనక 0.1. 788 00:37:06,700 --> 00:37:10,000 కాబట్టి పదో సమానం నేను 10 ద్వారా విభజించబడింది 1 చేయడం చేస్తున్నాను ఎందుకంటే. 789 00:37:10,000 --> 00:37:12,430 నేను సమాధానం నిల్వ చేస్తున్నాను ఒక వేరియబుల్ F అని. 790 00:37:12,430 --> 00:37:15,850 ఆ వేరియబుల్ రకం ఫ్లోట్, యొక్క ఇది నేను ప్రతిపాదించిన కీవర్డ్ ఉనికిలో ఉంది. 791 00:37:15,850 --> 00:37:18,910 >> మేము ముందు ఈ చూసిన, కానీ చెయ్యలేదు ఈ printf ఒక చక్కని మార్గం యొక్క రకాన్ని 792 00:37:18,910 --> 00:37:22,110 ఎన్ని అంకెలు తెలుపుటకు మీరు ఒక దశాంశ బిందువు తర్వాత చూడాలనుకుంటే. 793 00:37:22,110 --> 00:37:25,020 కాబట్టి ఈ సంజ్ఞామానం అర్థం ఇక్కడ ఒక ప్లేస్హోల్డర్ ఉంది. 794 00:37:25,020 --> 00:37:27,900 ఇది ఒక ఫ్లోటింగ్ పాయింట్ కోసం వార్తలు విలువ, మరియు OH, ద్వారా, 795 00:37:27,900 --> 00:37:31,389 దశాంశ బిందువు చూపించడం దశాంశ బిందువు తర్వాత ఒక సంఖ్య. 796 00:37:31,389 --> 00:37:33,180 కాబట్టి ఆ సంఖ్యను వార్తలు ముఖ్యమైన అంకెలు, 797 00:37:33,180 --> 00:37:34,650 కాబట్టి మీరు అనుకోవచ్చు, మాట్లాడటానికి. 798 00:37:34,650 --> 00:37:40,450 >> నాలో ముందుకు వెళ్లి తెలియజేసేలా ./float-0, ఫ్లోట్-0 చేయడానికి, 799 00:37:40,450 --> 00:37:46,660 మరియు స్పష్టంగా 1 10 ద్వారా విభజించబడింది 0.0 ఉంది. 800 00:37:46,660 --> 00:37:47,760 ఇప్పుడు ఎందుకు ఈ ఉంది? 801 00:37:47,760 --> 00:37:51,380 >> బాగా మళ్ళీ, కంప్యూటర్ తీసుకుంటోంది నాకు సాహిత్యపరంగా, నేను 1 వ్రాశారు 802 00:37:51,380 --> 00:37:56,680 నేను 10 వ్రాసిన, మరియు ఒక అంచనా పడుతుంది ఏమి ఆ రెండు కోసం ఊహించిన డేటా రకం 803 00:37:56,680 --> 00:37:58,440 విలువలు? 804 00:37:58,440 --> 00:38:00,970 ఒక Int, ఇది సాంకేతికంగా వార్తలు ఒక చిన్న వేరొక. 805 00:38:00,970 --> 00:38:04,150 ఇది సాధారణంగా ఒక దీర్ఘ, కానీ అది వార్తలు చివరికి ఒక సమగ్ర విలువ. 806 00:38:04,150 --> 00:38:06,030 ఒక ఫ్లోటింగ్ పాయింట్ విలువ. 807 00:38:06,030 --> 00:38:09,456 >> ఏ ఒకవేళ ఈ చెప్పటానికి ఉంది ఒక పూర్ణాంకానికి ఉంది మరియు ఈ ఒక పూర్ణాంకానికి ఉంది 808 00:38:09,456 --> 00:38:11,830 సమస్య కంప్యూటర్ ఉంది సామర్థ్యం లేదు 809 00:38:11,830 --> 00:38:13,680 కూడా ఆ దశాంశ బిందువును నిల్వ. 810 00:38:13,680 --> 00:38:16,430 మీరు 1 అలా చేసినప్పుడు విభజించబడింది 10 ఉపయోగించి పూర్ణ ద్వారా 811 00:38:16,430 --> 00:38:20,950 లవము మరియు రెండు కోసం హారం, సమాధానం 0.1 ఉండాలి. 812 00:38:20,950 --> 00:38:24,930 కానీ కంప్యూటర్ ఎందుకంటే ఆ పూర్ణ ఉంటాయి 813 00:38:24,930 --> 00:38:27,430 0.1 తో ఏమి తెలియదు. 814 00:38:27,430 --> 00:38:30,010 >> సో వాట్ అది స్పష్టంగా చేస్తోంది? 815 00:38:30,010 --> 00:38:33,120 ఇది కేవలం, అది దూరంగా విసిరే యొక్క మరియు నేను చివరికి ఏమి చూసిన వెబ్ 816 00:38:33,120 --> 00:38:38,830 నేను పట్టుబట్టారు మాత్రమే ఎందుకంటే 0.0 ఉంది printf నాకు ఒక దశాంశ బిందువు చూపించు. 817 00:38:38,830 --> 00:38:41,740 కానీ సమస్య మీరు ఉంటే పూర్ణాంకం ద్వారా పూర్ణాంకం విభజించి, 818 00:38:41,740 --> 00:38:44,347 మీరు నిర్వచనం ద్వారా get-- ఉంటుంది ఒక పూర్ణాంకం సి. 819 00:38:44,347 --> 00:38:46,680 మరియు అది చేయబోవడం లేదు nice మరియు సౌకర్యవంతంగా ఏదో 820 00:38:46,680 --> 00:38:49,040 అప్ దానిని రౌండ్ ఒక అప్ లేదా డౌన్ సమీప. 821 00:38:49,040 --> 00:38:51,860 ఇది ఖండించు జరగబోతోంది దశాంశ తర్వాత ప్రతిదీ. 822 00:38:51,860 --> 00:38:54,030 >> కాబట్టి కేవలం intuitively, బహుశా ఒక పరిష్కారాన్ని ఏమిటి? 823 00:38:54,030 --> 00:38:55,351 ఇక్కడ సరళమైన పరిష్కారం ఏమిటి? 824 00:38:55,351 --> 00:38:55,850 అవును? 825 00:38:55,850 --> 00:39:00,570 826 00:39:00,570 --> 00:39:01,100 సరిగ్గా. 827 00:39:01,100 --> 00:39:04,200 ఎందుకు మేము ఈ చికిత్స లేదు సమర్థవంతంగా ఫ్లోటింగ్ పాయింట్ విలువలు 828 00:39:04,200 --> 00:39:05,860 తేలియాడుతున్న లేదా డబుల్స్ వాటిని చెయ్యడానికి. 829 00:39:05,860 --> 00:39:10,500 ఇప్పుడు నేను తయారు చేస్తే తేలియాడుతున్న-0, లేదా నేను తేలియాడుతున్న-1 కంపైల్ ఉంటే, 830 00:39:10,500 --> 00:39:12,570 ఇది సమానంగా ఉంది కేవలం ప్రతిపాదించారు. 831 00:39:12,570 --> 00:39:16,400 ఇప్పుడు నేను తేలియాడుతున్న-0, ఇప్పుడు నేను నా 0.1 పెట్టాలి. 832 00:39:16,400 --> 00:39:17,234 >> ఇప్పుడు ఈ అద్భుతమైన ఉంది. 833 00:39:17,234 --> 00:39:19,441 కానీ ఇప్పుడు నేను చేయ బోతున్నాను ఒక చిన్న వేరొక. 834 00:39:19,441 --> 00:39:22,280 నేను నిజంగా ఏమి చూడటానికి ఆసక్తికరమైన ఉన్నాను హుడ్ కింద జరగబోతోంది, 835 00:39:22,280 --> 00:39:26,050 మరియు నేను ఈ ప్రింట్ వెళుతున్న అవుట్ 28 దశాంశ స్థానాల. 836 00:39:26,050 --> 00:39:29,730 నేను నిజంగా చూడాలనుకుంటే 0.1000-- ఒక infinite-- 837 00:39:29,730 --> 00:39:32,710 ఆ 0.1 తర్వాత [వినబడని] 27 సున్నాలు. 838 00:39:32,710 --> 00:39:34,740 >> Well ఆ ఉంటే యొక్క చూసేలా నేను నిజానికి ఏ పొందండి. 839 00:39:34,740 --> 00:39:39,430 తేలియాడుతున్న-0 ఒకే ఫైల్ చేయండి. 840 00:39:39,430 --> 00:39:41,150 ./floats-0. 841 00:39:41,150 --> 00:39:44,380 నాటకీయ సమాధానం లో జూమ్ లెట్. 842 00:39:44,380 --> 00:39:49,980 అన్ని ఈ సమయంలో, మీరు అనుకున్నది ఉన్నాను 10 ద్వారా విభజించబడింది 1 10%, లేదా 0.1 ఉంది. 843 00:39:49,980 --> 00:39:50,810 ఇది కాదు. 844 00:39:50,810 --> 00:39:53,210 కనీసం ఇప్పటికి కంప్యూటర్ యొక్క ఆందోళన చెందుతున్నాయి. 845 00:39:53,210 --> 00:39:57,060 >> సరే why-- ఇప్పుడు, ఆ పూర్తి 10 ద్వారా విభజించబడింది అబద్ధం 1 0.1 ఉంది. 846 00:39:57,060 --> 00:39:59,710 కానీ కాదు why-- తాత్కాలిక నేడు. 847 00:39:59,710 --> 00:40:04,010 సో ఎందుకు కంప్యూటర్, అనుకుంటున్నాను లేదు గదిలో మాకు అన్ని కాకుండా, 848 00:40:04,010 --> 00:40:06,870 1 10 ద్వారా విభజించబడింది అని నిజానికి ఆ క్రేజీ విలువ? 849 00:40:06,870 --> 00:40:10,620 స్పష్టంగా చేయడం కంప్యూటర్ అంటే ఏమిటి? 850 00:40:10,620 --> 00:40:12,490 ఆ ఏమిటి? 851 00:40:12,490 --> 00:40:13,785 >> ఇది పర్ సే ఓవర్ఫ్లో కాదు. 852 00:40:13,785 --> 00:40:15,910 ఫ్లో సాధారణంగా ఉన్నప్పుడు ఉంది మీరు ఒక విలువను చుట్టూ. 853 00:40:15,910 --> 00:40:18,970 ఇది ఖచ్చితంగా చెప్పలేని ఈ సమస్య ఒక ఫ్లోటింగ్ పాయింట్ విలువ 854 00:40:18,970 --> 00:40:22,220 మీరు మాత్రమే 32 కలిగి ఉన్న లేదా ఉండవచ్చు కూడా 64 బిట్. 855 00:40:22,220 --> 00:40:25,230 కానీ అనంత ఉంది ఉంటే నిజ numbers-- సంఖ్య 856 00:40:25,230 --> 00:40:27,940 దశాంశ పాయింట్లతో సంఖ్యలు మరియు సంఖ్యలను తప్పనిసరిగా thereafter-- 857 00:40:27,940 --> 00:40:29,380 మీరు వాటిని అన్ని సూచిస్తాయి. 858 00:40:29,380 --> 00:40:32,870 కాబట్టి కంప్యూటర్ ఇచ్చారు మాకు దగ్గరగా మ్యాచ్ 859 00:40:32,870 --> 00:40:37,090 విలువ దానిని ఉపయోగించి సూచిస్తుంది నేను నిజంగా కావలసిన విలువ అనేక బిట్స్ 860 00:40:37,090 --> 00:40:38,690 ఇది 0.1 ఉంది. 861 00:40:38,690 --> 00:40:40,685 >> దురదృష్టవశాత్తు, మీరు ఉంటే గణిత చేయడం మొదలు, లేదా మీరు 862 00:40:40,685 --> 00:40:44,360 ఫ్లోటింగ్ యొక్క ఈ రకాల పాల్గొన్న ప్రారంభం ముఖ్యమైన ప్రోగ్రామ్లను పాయింట్ విలువలు 863 00:40:44,360 --> 00:40:46,770 ఫైనాన్షియల్ సాఫ్ట్వేర్, సైనిక సాఫ్ట్వేర్ ఏదైనా 864 00:40:46,770 --> 00:40:49,090 తోబుట్టువుల అవగాహన బహుశా చాలా ముఖ్యమైన. 865 00:40:49,090 --> 00:40:51,520 మరియు మీరు జోడించడం ప్రారంభించండి ఈ వంటి సంఖ్యలు, మరియు ప్రారంభ 866 00:40:51,520 --> 00:40:54,050 ఆ సాఫ్ట్ వేర్ నిజంగా పెద్ద ఇన్పుట్లను తో 867 00:40:54,050 --> 00:40:56,890 లేదా గంటలు లేదా మా యొక్క మా కోసం సంవత్సరాల రోజులు లేదా మా యొక్క, 868 00:40:56,890 --> 00:41:01,060 ఈ చిన్న చిన్న తప్పులు ఖచ్చితంగా కాలక్రమేణా జోడించవచ్చు. 869 00:41:01,060 --> 00:41:04,252 >> ఇప్పుడు జనాంతికంగా, మీరు చేసిన ఎప్పుడూ ఉంటే సూపర్మ్యాన్ 3 లేదా ఆఫీస్ స్పేస్ చూసిన 870 00:41:04,252 --> 00:41:05,960 మరియు మీరు గుర్తు ఉండవచ్చు ఎలా వాళ్ళని దొంగిలించారు 871 00:41:05,960 --> 00:41:08,668 వారి కంప్యూటర్ నుండి డబ్బు ఫ్లోటింగ్ పాయింట్ విలువలు ఉపయోగించి 872 00:41:08,668 --> 00:41:11,290 మరియు కొద్దిగా అప్ జోడించడం శేష, ఆశాజనక ఆ చిత్రం 873 00:41:11,290 --> 00:41:12,390 ఇప్పుడు మరింత అర్థవంతంగా ఉంటుంది. 874 00:41:12,390 --> 00:41:14,930 ఈ వారు భావించాను ఏమిటి ఆ చిత్రం లో alluding. 875 00:41:14,930 --> 00:41:16,710 నిజానికి చాలా ఆ కంపెనీలు చూడండి కాదు 876 00:41:16,710 --> 00:41:18,600 ఒక నిర్దిష్ట సంఖ్యలో దశాంశ స్థానాల యొక్క, 877 00:41:18,600 --> 00:41:20,009 కానీ ఆ సెంట్లు భిన్నాలు ఉన్నాయి. 878 00:41:20,009 --> 00:41:22,550 కాబట్టి మీరు వాటిని అప్ జోడించడం ప్రారంభించండి మీరు డబ్బు చేయడానికి ప్రారంభం 879 00:41:22,550 --> 00:41:23,424 మీ బ్యాంకు ఖాతాలో. 880 00:41:23,424 --> 00:41:25,160 కాబట్టి ఆ ఆఫీస్ స్పేస్ వివరించారు కాదు. 881 00:41:25,160 --> 00:41:28,220 >> ఇప్పుడు దురదృష్టవశాత్తు దాటి ఆఫీస్ స్పేస్ అక్కడ 882 00:41:28,220 --> 00:41:31,794 కొన్ని న్యాయముగా ఇబ్బంది మరియు ముఖ్యమైన ప్రభావాలు 883 00:41:31,794 --> 00:41:33,710 ఈ రకాల అంతర్లీన డిజైన్ నిర్ణయాలు, 884 00:41:33,710 --> 00:41:35,990 కారణాలు మరియు నిజానికి ఒక మేము కోర్సులో C ఉపయోగించండి 885 00:41:35,990 --> 00:41:39,640 మీరు నిజంగా ఈ భూమి కలిగి తద్వారా కంప్యూటర్లు పని ఎలా అవగాహన అప్, 886 00:41:39,640 --> 00:41:42,440 ఎలా సాఫ్ట్వేర్ పనిచేస్తుంది, మరియు లేదు మంజూరు కోసం ఏదైనా తీసుకోవాలని. 887 00:41:42,440 --> 00:41:45,820 >> నిజానికి దురదృష్టవశాత్తు, కూడా ఆ ప్రాథమిక అవగాహన, 888 00:41:45,820 --> 00:41:47,370 మనం మానవులు తప్పులు. 889 00:41:47,370 --> 00:41:51,310 మరియు నేను భాగస్వామ్యం కావలసిన ఆలోచన ఈ ఎనిమిది నిమిషాల వీడియో ఇక్కడ తీసుకున్న 890 00:41:51,310 --> 00:41:56,980 ఇది ఒక ఆధునిక అద్భుత అంకం నుండి ఉపకరణములు పని ఎలా ఒక విద్యా ప్రదర్శన 891 00:41:56,980 --> 00:42:00,370 ఆ రెండు చిత్రాలు నింపేశారు ఉన్నప్పుడు ఒక అసమాన వినియోగం 892 00:42:00,370 --> 00:42:02,540 మరియు అవగాహన ఫ్లోటింగ్ పాయింట్ విలువలు 893 00:42:02,540 --> 00:42:05,610 కొన్ని ముఖ్యమైన దారితీసింది దురదృష్టకరమైన ఫలితాలు. 894 00:42:05,610 --> 00:42:06,363 యొక్క పరిశీలించి లెట్. 895 00:42:06,363 --> 00:42:07,029 [వీడియో ప్లేబ్యాక్] 896 00:42:07,029 --> 00:42:11,290 -మేము ఇప్పుడు ఇంజినీరింగ్ తిరిగి " ఆధునిక అద్భుత పైన విపత్తు ". 897 00:42:11,290 --> 00:42:12,940 కంప్యూటర్లు. 898 00:42:12,940 --> 00:42:15,580 మేము అన్ని ఆమోదించడానికి వచ్చి తరచుగా నిరాశపరిచింది సమస్యలు 899 00:42:15,580 --> 00:42:20,960 them-- దోషాలు, వైరస్లు వచ్చింది, మరియు చిన్న ధరలు కోసం సాఫ్ట్వేర్ glitches-- 900 00:42:20,960 --> 00:42:23,100 సౌలభ్యం కోసం చెల్లించాల్సిన. 901 00:42:23,100 --> 00:42:27,770 కానీ అధిక టెక్ మరియు అధిక వేగం సైనిక మరియు ప్రదేశంలో కార్యక్రమం అప్లికేషన్లు, 902 00:42:27,770 --> 00:42:32,780 చిన్న సమస్య చెయ్యవచ్చు సంక్షోభం వృద్ధి చేయబడుతుంది. 903 00:42:32,780 --> 00:42:38,880 >> జూన్ 4, 1996 న, శాస్త్రవేత్తలు తయారు ఒక మానవరహిత అరైన్ 5 రాకెట్. 904 00:42:38,880 --> 00:42:41,190 ఇది శాస్త్రీయ మోస్తున్నాడు ఉపగ్రహాలు రూపొందించిన 905 00:42:41,190 --> 00:42:44,570 ఖచ్చితంగా ఎలా స్థాపించడానికి భూమి యొక్క అయస్కాంత క్షేత్రం సంకర్షణ 906 00:42:44,570 --> 00:42:47,380 సౌర గాలులు తో. 907 00:42:47,380 --> 00:42:50,580 రాకెట్ కోసం నిర్మించారు యూరోపియన్ స్పేస్ ఏజెన్సీ, 908 00:42:50,580 --> 00:42:54,400 మరియు దాని సౌకర్యం నుండి ప్రయోగించారు ఫ్రెంచ్ గయానా తీరంలో. 909 00:42:54,400 --> 00:42:57,520 >> లోకి 37 సెకన్లు -At విమాన, వారు మొదటి 910 00:42:57,520 --> 00:42:59,070 గమనించి ఏదో తప్పు వెళుతున్నాను. 911 00:42:59,070 --> 00:43:02,240 నాజిల్ ద్వారా సంతోషపడ్డారు అని ఒక విధంగా వారు నిజంగా కాదు. 912 00:43:02,240 --> 00:43:06,550 విమాన లోకి 40 సెకన్లు, స్పష్టంగా వాహనం కష్టాల్లో ఉన్నానని 913 00:43:06,550 --> 00:43:08,820 వారు చేసిన ఉన్నప్పుడు మరియు ఆ వార్తలు నిర్ణయం అది నాశనం. 914 00:43:08,820 --> 00:43:12,370 పరిధి భద్రత అధికారి, తో విపరీతమైన దమ్మున్న బటన్ నొక్కినప్పుడు 915 00:43:12,370 --> 00:43:18,030 ఇది ముందు అనుకొనుట మరియు రాకెట్ పేల్చి ప్రజా భద్రత ప్రమాదం మారింది. 916 00:43:18,030 --> 00:43:21,010 >> -ఈ తొలి ఉంది Ariane 5 యొక్క సముద్రయానంలో 917 00:43:21,010 --> 00:43:23,920 మరియు దాని విధ్వంసం పట్టింది ఎందుకంటే దోషం ఉంచండి 918 00:43:23,920 --> 00:43:25,932 రాకెట్ యొక్క సాఫ్ట్వేర్ పొందుపరిచారు. 919 00:43:25,932 --> 00:43:27,640 న -ఫిల్టర్లు సమస్య అరైన్ అని అక్కడ 920 00:43:27,640 --> 00:43:30,500 అవసరమైన ఒక సంఖ్య 64 బిట్స్, వ్యక్తీకరించడానికి 921 00:43:30,500 --> 00:43:33,560 మరియు వారు మార్పు కోరుకున్నారు ఒక 16-bit సంఖ్య. 922 00:43:33,560 --> 00:43:36,820 వారు సంఖ్య భావించబడుతుంది చాలా పెద్ద చేస్తాడు ఎప్పుడూ. 923 00:43:36,820 --> 00:43:40,940 ఆ ఆ అంకెలు చాలా 64-bit సంఖ్య సున్నాలు ఉన్నాయి. 924 00:43:40,940 --> 00:43:42,450 వారు తప్పు ఉన్నారు. 925 00:43:42,450 --> 00:43:45,000 >> ఒక అసమర్థత సాఫ్ట్వేర్ ప్రోగ్రామ్ అంగీకరించడానికి 926 00:43:45,000 --> 00:43:49,460 ద్వారా సృష్టించబడిన సంఖ్య రకం మరో వైఫల్యం యొక్క మూల వద్ద ఉంది. 927 00:43:49,460 --> 00:43:54,260 సాఫ్ట్వేర్ అభివృద్ధి మారింది ఒక కొత్త టెక్నాలజీ చాలా ఖరీదైన భాగం. 928 00:43:54,260 --> 00:43:57,060 Ariane 4 రాకెట్ వచ్చింది చాలా విజయవంతం అయ్యాయి. 929 00:43:57,060 --> 00:44:01,600 కోసం రూపొందించబడిన సాఫ్ట్వేర్ చాలా అది కూడా Ariane 5 లో ఉపయోగించారు. 930 00:44:01,600 --> 00:44:04,790 >> -ప్రాథమిక సమస్య అని అరైన్ 5. 931 00:44:04,790 --> 00:44:11,200 Faster--, వేగంగా వేగవంతం అయ్యింది మరియు సాఫ్ట్వేర్ ఆ లెక్కలోకి చేసింది. 932 00:44:11,200 --> 00:44:14,910 >> రాకెట్ -యొక్క విధ్వంసం భారీ ఆర్థిక విపత్తు. 933 00:44:14,910 --> 00:44:18,630 అన్ని వలన ఒక నిమిషం సాఫ్ట్వేర్ లోపం. 934 00:44:18,630 --> 00:44:21,160 కానీ ఈ మొదటి కాదు సమయం డేటాను మార్పిడి సమస్యలు 935 00:44:21,160 --> 00:44:24,770 ఆధునిక రాకెట్ సాంకేతిక చుట్టుముట్టాయి. 936 00:44:24,770 --> 00:44:28,020 >> ప్రారంభ 1991 కావాలి మొదటి గల్ఫ్ యుద్ధం, 937 00:44:28,020 --> 00:44:30,540 పాట్రియాట్ క్షిపణి ఇదే రకమైన అనుభవం 938 00:44:30,540 --> 00:44:32,465 ఒక నంబర్ మార్పిడి సమస్య. 939 00:44:32,465 --> 00:44:36,760 ఫలితంగా 28 people-- 28 అమెరికన్ soldiers-- మరణించారు, 940 00:44:36,760 --> 00:44:39,010 మరియు గురించి వంద ఇతరులు గాయపడ్డారు. 941 00:44:39,010 --> 00:44:42,830 ఎప్పుడు చేయాలో పాట్రియాట్, ఇన్కమింగ్ Scuds రక్షణగా, 942 00:44:42,830 --> 00:44:45,780 ఒక క్షిపణి దాడి విఫలమైంది. 943 00:44:45,780 --> 00:44:51,610 >> -When ఇరాక్ కువైట్, మరియు అమెరికా ఆక్రమించారు ప్రారంభ 1991 లో డిసర్ట్ స్టార్మ్ ప్రారంభించింది, 944 00:44:51,610 --> 00:44:55,720 పాట్రియాట్ క్షిపణి బ్యాటరీలు తరలించేవారు సౌదీ అరేబియా మరియు ఇజ్రాయెల్ రక్షించడానికి 945 00:44:55,720 --> 00:44:59,180 ఇరాకీ వేగంగా ఎగిరిపోవు క్షిపణి దాడులు నుండి. 946 00:44:59,180 --> 00:45:03,080 పాట్రియాట్, ఒక సంయుక్త మధ్య శ్రేణి ఉపరితలం నుంచి గాలి వ్యవస్థ 947 00:45:03,080 --> 00:45:06,530 రేథియాన్ కంపెనీ తయారు చేసింది. 948 00:45:06,530 --> 00:45:09,500 >> పాట్రియాట్ -యొక్క పరిమాణం ఇంటర్సెప్టర్ స్వయంగా 949 00:45:09,500 --> 00:45:14,705 అది సుమారు 20 అడుగుల పొడవు వార్తలు మరియు దాని గురించి 2,000 పౌండ్ల బరువు ఉంటుంది. 950 00:45:14,705 --> 00:45:19,090 మరియు అది గురించి ఒక వార్హెడ్ తీసుకువెళుతుంది నేను సుమారు 150 పౌండ్లు. 951 00:45:19,090 --> 00:45:23,880 మరియు వార్హెడ్ కూడా ఉంది అధిక పేలుడు, ఇది 952 00:45:23,880 --> 00:45:26,700 అతని చుట్టూ శకలాలు ఉంది. 953 00:45:26,700 --> 00:45:31,630 కాబట్టి వార్హెడ్ యొక్క కేసింగ్ ఉంది ఒక buckshot ప్రవర్తిస్తాయి రూపొందించబడింది. 954 00:45:31,630 --> 00:45:34,040 >> -ఫిల్టర్లు క్షిపణులను నిర్వహిస్తున్నారు CONTAINER నాలుగు, 955 00:45:34,040 --> 00:45:37,170 మరియు ఒక సెమీ ట్రైలర్ ద్వారా రవాణా. 956 00:45:37,170 --> 00:45:44,880 >> -ఫిల్టర్లు పాట్రియాట్ వ్యతిరేక క్షిపణి వ్యవస్థ ఇప్పుడు కనీసం 20 సంవత్సరాల తిరిగి వెళ్తాడు. 957 00:45:44,880 --> 00:45:48,380 ఇది మొదట్లో రూపకల్పన చేశారు ఒక వాయు రక్షణ క్షిపణి వంటి 958 00:45:48,380 --> 00:45:50,810 శత్రువు విమానాలు డౌన్ షూట్. 959 00:45:50,810 --> 00:45:54,410 మొదటి గల్ఫ్ యుద్ధం లో ఆ యుద్ధం వచ్చినప్పుడు, 960 00:45:54,410 --> 00:45:59,650 ఆర్మీ దానిని ఉపయోగించడానికి కోరుకున్నారు Scuds, కాదు విమానాలు డౌన్ షూట్. 961 00:45:59,650 --> 00:46:03,580 ఇరాకీ ఎయిర్ ఫోర్స్ సమస్య చాలా లేదు, 962 00:46:03,580 --> 00:46:06,590 కానీ సైన్యం Scuds ఆందోళన చెందాడు. 963 00:46:06,590 --> 00:46:10,120 అందువలన వారు ప్రయత్నించారు పాట్రియాట్ అప్గ్రేడ్. 964 00:46:10,120 --> 00:46:12,740 >> ఒక శత్రువు -Intercepting మాక్ 5 వద్ద ప్రయాణిస్తున్న క్షిపణి 965 00:46:12,740 --> 00:46:15,670 తగినంత సవాలే కానుంది. 966 00:46:15,670 --> 00:46:18,440 కానీ పాట్రియాట్ సేవకు తరలించారు, 967 00:46:18,440 --> 00:46:22,580 ఆర్మీ aware కాదు ఒక ఇరాకీ మార్పు అని 968 00:46:22,580 --> 00:46:25,880 వారి Scuds చేసిన దాదాపు అది అసాధ్యం. 969 00:46:25,880 --> 00:46:30,690 >> -What జరిగిన Scuds ఉంది అని లో రావడం జరిగింది అస్థిర ఉన్నారు. 970 00:46:30,690 --> 00:46:32,000 వారు wobbly ఉన్నాయి. 971 00:46:32,000 --> 00:46:37,210 ఈ కారణం Iraqis-- ఉంది 600 కిలోమీటర్ల పొందడానికి 972 00:46:37,210 --> 00:46:41,680 300 కిలోమీటర్ల పరిధిలో missile-- యొక్క ముందు వార్హెడ్ యొక్క బరువు అవుట్ పట్టింది 973 00:46:41,680 --> 00:46:43,340 మరియు వార్హెడ్ తేలికైన చేసింది. 974 00:46:43,340 --> 00:46:48,490 కాబట్టి ఇప్పుడు పాట్రియాట్ రావటానికి ప్రయత్నిస్తున్న వేగంగా ఎగిరిపోవు వద్ద, time-- మరియు అత్యంత 975 00:46:48,490 --> 00:46:52,880 అత్యధికులు time-- అది కేవలం వేగంగా ఎగిరిపోవు ద్వారా ఫ్లై. 976 00:46:52,880 --> 00:46:57,120 >> పాట్రియాట్ సిస్టమ్ ఆపరేటర్లు -ఒకసారి , పాట్రియాట్ దాని లక్ష్యం తప్పిన గ్రహించారు 977 00:46:57,120 --> 00:47:01,630 వారు పాట్రియాట్ వార్హెడ్ విస్ఫోటనం అది సాధ్యం మరణాలు నివారించేందుకు 978 00:47:01,630 --> 00:47:04,440 భూమి తగ్గుతుందని అనుమతి ఇచ్చారు. 979 00:47:04,440 --> 00:47:08,700 >> -ఆ చాలా మంది చూసి ఉంది ఆకాశంలో పెద్ద ఫైర్బాల్స్, 980 00:47:08,700 --> 00:47:14,180 మరియు తప్పుగా అర్ధం వేగంగా ఎగిరిపోవు వార్హెడ్లతో యొక్క అడ్డుకోవటాన్ని. 981 00:47:14,180 --> 00:47:18,020 >> రాత్రి ఆకాశం, పేట్రియాట్స్ లో -Although విజయవంతంగా నాశనం అనిపించింది 982 00:47:18,020 --> 00:47:23,280 Scuds, దాహ్రాన్ ఉండవచ్చు దాని పనితీరు గురించి తప్పు. 983 00:47:23,280 --> 00:47:27,930 అక్కడ పాట్రియాట్ యొక్క రాడార్ వ్యవస్థ ఇన్కమింగ్ వేగంగా ఎగిరిపోవు కోల్పోయిన ట్రాక్ 984 00:47:27,930 --> 00:47:30,260 మరియు వలన ప్రారంభం కాలేదు ఒక సాఫ్ట్వేర్ దోషం. 985 00:47:30,260 --> 00:47:34,060 986 00:47:34,060 --> 00:47:38,880 >> ఇది మొదటి కనుగొన్న ఇజ్రాయిలీ ఇక సిస్టమ్ అని, 987 00:47:38,880 --> 00:47:41,130 ఎక్కువ సమయం వ్యత్యాసం మారింది. 988 00:47:41,130 --> 00:47:44,770 కారణంగా ఇమిడి గడియారం వ్యవస్థ యొక్క కంప్యూటర్. 989 00:47:44,770 --> 00:47:48,190 >> యునివర్సిటి గురించి రెండు వారాల ముందు లో Dhahran విషాదం, 990 00:47:48,190 --> 00:47:50,720 ఇజ్రాయెల్కు నివేదించారు రక్షణ శాఖ 991 00:47:50,720 --> 00:47:52,410 ఆ సిస్టమ్ సమయం కోల్పోయింది. 992 00:47:52,410 --> 00:47:54,410 గురించి ఎనిమిది గంటల తర్వాత పరుగు, వారు గమనించి 993 00:47:54,410 --> 00:47:57,690 వ్యవస్థ యొక్క మారుతోంది ఆ గమనించదగిన తక్కువ ఖచ్చితమైన. 994 00:47:57,690 --> 00:48:01,850 రక్షణ శాఖ స్పందించింది పాట్రియాట్ బ్యాటరీలు అన్ని చెప్పడం 995 00:48:01,850 --> 00:48:04,800 వ్యవస్థలు వదిలి లేదు ఒక కాలం లో. 996 00:48:04,800 --> 00:48:06,980 వారు చాలా కాలం ఏమి చెప్పారో ఎప్పుడూ. 997 00:48:06,980 --> 00:48:09,140 8 గంటలు, 10 గంటలు, వెయ్యి గంటల. 998 00:48:09,140 --> 00:48:11,300 ఎవరూ తెలుసు. 999 00:48:11,300 --> 00:48:13,320 >> -ఫిల్టర్లు పాట్రియాట్ బ్యాటరీ బ్యారక్స్ 1000 00:48:13,320 --> 00:48:18,310 Dhahran లో మరియు దాని దోషపూరిత అంతర్గత వద్ద గడియారం 100 గంటలకుపైగా ఉండేది 1001 00:48:18,310 --> 00:48:21,520 ఫిబ్రవరి 25 న రాత్రి. 1002 00:48:21,520 --> 00:48:25,792 >> -ఇది ఒక ఖచ్చితమైన సమయం ట్రాక్ రెండవ పదవ సుమారు. 1003 00:48:25,792 --> 00:48:27,950 రెండవ ఇప్పుడు పదవ ఒక ఆసక్తికరమైన సంఖ్య 1004 00:48:27,950 --> 00:48:31,850 ఇది వ్యక్తం సాధ్యం కాదు ఎందుకంటే సరిగ్గా బైనరీ లో ఇది 1005 00:48:31,850 --> 00:48:36,500 అది ఖచ్చితంగా వ్యక్తమవుతుంది ఇవ్వలేదు ఏ ఆధునిక డిజిటల్ కంప్యూటర్. 1006 00:48:36,500 --> 00:48:41,070 ఇది నమ్మకం కష్టం కానీ ఒక ఉదాహరణగా ఈ ఉపయోగించవచ్చు. 1007 00:48:41,070 --> 00:48:43,420 >> యొక్క ప్రథమ మూడవ తీసుకుందాం. 1008 00:48:43,420 --> 00:48:47,330 మూడవ వన్ ఉండకూడదు సరిగ్గా దశాంశ వ్యక్తం. 1009 00:48:47,330 --> 00:48:52,060 మూడవ వన్ 0,333 ఉంది అనంతం కోసం జరుగుతోంది. 1010 00:48:52,060 --> 00:48:56,420 తో అలా మార్గం ఉంది ఒక దశాంశ సంపూర్ణ ఖచ్చితత్వం. 1011 00:48:56,420 --> 00:48:59,530 ఆ సమస్య సరిగ్గా రకం వార్తలు ఆ పాట్రియాట్ లో జరిగింది. 1012 00:48:59,530 --> 00:49:04,040 ఇక సిస్టమ్ నడిచింది, దారుణంగా సమయంలో లోపం మారింది. 1013 00:49:04,040 --> 00:49:08,840 >> ఆపరేషన్ 100 గంటల -After, సమయంలో లోపం మాత్రమే గురించి ఒక మూడవ 1014 00:49:08,840 --> 00:49:10,440 రెండవ. 1015 00:49:10,440 --> 00:49:14,150 కానీ ఒక లక్ష్యంగా పరంగా మాక్ 5 వద్ద ప్రయాణిస్తున్న క్షిపణి, 1016 00:49:14,150 --> 00:49:18,560 అది ఒక ట్రాకింగ్ ఫలితంగా 600 మీటర్ల లోపం. 1017 00:49:18,560 --> 00:49:21,870 ఇది ఒక తీవ్రమైన లోపం ఉంటుంది Dhahran లో వద్ద సైనికులు. 1018 00:49:21,870 --> 00:49:28,455 >> ఒక వేగంగా ఎగిరిపోవు ప్రయోగ ఉంది -What జరిగిన ముందస్తు హెచ్చరిక ద్వారా కనుగొనబడింది ఉపగ్రహాలు, 1019 00:49:28,455 --> 00:49:32,710 మరియు వారు ఒక వేగంగా ఎగిరిపోవు రాబోయే తెలుసు వారి సాధారణ దిశలో. 1020 00:49:32,710 --> 00:49:35,150 అది రాబోయే అక్కడ వారు తెలియదు. 1021 00:49:35,150 --> 00:49:38,210 ఇది రాడార్ ఇప్పుడు ఉంది పాట్రియాట్ వ్యవస్థ భాగం 1022 00:49:38,210 --> 00:49:43,150 Dhahran లో డిఫెండింగ్ గుర్తించడం మరియు ఉంచడానికి ఇన్కమింగ్ శత్రువు క్షిపణి ట్రాక్. 1023 00:49:43,150 --> 00:49:44,561 >> -ఫిల్టర్లు రాడార్ చాలా స్మార్ట్ ఉంది. 1024 00:49:44,561 --> 00:49:46,560 ఇది నిజంగా ట్రాక్ చేస్తుంది వేగంగా ఎగిరిపోవు స్థానం 1025 00:49:46,560 --> 00:49:48,930 ఆపై ఎక్కడ అంచనా అది బహుశా ఉంటుంది 1026 00:49:48,930 --> 00:49:51,380 తదుపరి సమయం రాడార్ ఒక పల్స్ పంపింది. 1027 00:49:51,380 --> 00:49:53,040 ఆ శ్రేణి గేట్ అని పిలిచేవారు. 1028 00:49:53,040 --> 00:49:57,620 >> పాట్రియాట్ ఒకసారి -Then తగినంత సమయం ఉంది నిర్ణయించుకుంటుంది 1029 00:49:57,620 --> 00:50:02,400 తిరిగి వెళ్ళి తదుపరి తనిఖీ జారీ ఈ కనుగొనబడింది వస్తువు కోసం నగర 1030 00:50:02,400 --> 00:50:03,550 అది తిరిగి వెళతాడు. 1031 00:50:03,550 --> 00:50:07,820 కాబట్టి అది తప్పు తిరిగి వెళ్ళినప్పుడు ఈ ప్రదేశం, అప్పుడు ఏ వస్తువు చూస్తాడు. 1032 00:50:07,820 --> 00:50:10,360 మరియు అది ఏ వస్తువు ఉంది నిర్ణయిస్తాడు. 1033 00:50:10,360 --> 00:50:13,630 ఒక తప్పుడు గుర్తింపును ఉందని మరియు ఇది ట్రాక్ పడిపోతుంది. 1034 00:50:13,630 --> 00:50:16,970 >> -ఫిల్టర్లు ఇన్కమింగ్ వేగంగా ఎగిరిపోవు అదృశ్యమైన రాడార్ తెర నుంచి, 1035 00:50:16,970 --> 00:50:20,200 మరియు సెకన్ల తరువాత, అది బ్యారక్స్ లోకి స్లామ్డ్. 1036 00:50:20,200 --> 00:50:22,570 వేగంగా ఎగిరిపోవు 28 హత్య. 1037 00:50:22,570 --> 00:50:26,110 చివరి గణనను తొలగించారు మొదటి గల్ఫ్ యుద్ధం సమయంలో. 1038 00:50:26,110 --> 00:50:31,920 దురదృష్టవశాత్తు, నవీకరించబడింది సాఫ్ట్వేర్ తరువాతి రోజు తెల్లవారు ఝామున వచ్చారు. 1039 00:50:31,920 --> 00:50:34,870 సాఫ్ట్వేర్ దోషం వచ్చింది ఉన్నాయి స్థిర, ముగింపు 1040 00:50:34,870 --> 00:50:39,150 సమస్యాత్మక ఒక అధ్యాయం పాట్రియాట్ క్షిపణి యొక్క చరిత్ర. 1041 00:50:39,150 --> 00:50:40,030 >> [END వీడియో ప్లేబ్యాక్] 1042 00:50:40,030 --> 00:50:41,488 >> డేవిడ్ J. మలన్: ఆ CS50 కోసం అంతే. 1043 00:50:41,488 --> 00:50:42,820 మేము బుధవారం మీరు చూస్తారు. 1044 00:50:42,820 --> 00:50:46,420 1045 00:50:46,420 --> 00:50:50,370 >> [సంగీతాన్ని] 1046 00:50:50,370 --> 00:54:23,446