1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:02,640 ZAMYLA చాన్: ఇది ఒక పుష్పము, Zamyla ఉంది. 3 00:00:02,640 --> 00:00:06,950 నేడు, మేము అమలు చేయబోతున్నామని మారియో, మేము మారియో డ్రా పేరు 4 00:00:06,950 --> 00:00:10,730 అతనికి ఒక పూర్తి పిరమిడ్ జంప్ ఓవర్. 5 00:00:10,730 --> 00:00:14,430 యొక్క విచ్ఛిన్నం లెట్ ఈ సమస్య కోసం ఉప పనులు. 6 00:00:14,430 --> 00:00:17,930 >> మొదటి, మేము వినియోగదారును ప్రాంప్ట్ కావలసిన పిరమిడ్ ఎత్తు. 7 00:00:17,930 --> 00:00:20,510 మరియు తర్వాత మేము నిర్ధారించుకోవాలి ఆ ఇన్పుట్ చెల్లదు. 8 00:00:20,510 --> 00:00:23,280 మరియు తర్వాత మేము చూడాలని పిరమిడ్ డ్రా అనుకుంటున్నారా. 9 00:00:23,280 --> 00:00:26,850 >> కాబట్టి యొక్క ప్రాంప్ట్ గురించి మాట్లాడటానికి వీలు వినియోగదారు ఇన్పుట్ నిర్ధారించడంలో. 10 00:00:26,850 --> 00:00:29,920 ఇది వంటి ఏదో చూడండి ఉండవచ్చు ఈ ఒక డో-సమయంలో లూప్ అని 11 00:00:29,920 --> 00:00:33,250 ఒక యూజర్ అడుగును పూర్ణాంకం మరియు అప్పుడు మాత్రమే రిపీట్స్ 12 00:00:33,250 --> 00:00:35,700 ఆ పూర్ణాంక చెల్లదు. 13 00:00:35,700 --> 00:00:38,220 కాబట్టి ఈ పరిస్థితి ఉండాలి? 14 00:00:38,220 --> 00:00:40,630 >> ఈ కోసం, తిరిగి వెళ్ళి తెలపండి వివరణకు. 15 00:00:40,630 --> 00:00:46,240 బాగా, స్పెక్ ఏ చెల్లుబాటు అయ్యే మాకు చెబుతుంది ఎత్తు 0 మరియు 23 మధ్య అని అన్నారు, 16 00:00:46,240 --> 00:00:47,350 కలుపుకొని. 17 00:00:47,350 --> 00:00:51,400 కాబట్టి ఆ చెల్లని అర్థం ఎత్తు కంటే తక్కువ 0 అవతరిస్తుంది 18 00:00:51,400 --> 00:00:53,840 లేదా 23 కంటే ఎక్కువ. 19 00:00:53,840 --> 00:00:57,220 >> కాబట్టి ఇప్పుడు మేము ఈ సమాచారాన్ని కలిగి, యొక్క మా పరిస్థితి రూపకల్పన అనుమతించే. 20 00:00:57,220 --> 00:00:59,230 కానీ మేము జాగ్రత్తగా ఉండాలి, ఎందుకంటే ఇప్పుడు మేము కలిగి 21 00:00:59,230 --> 00:01:02,130 మేము అంచనా కావలసిన రెండు బూలియన్. 22 00:01:02,130 --> 00:01:04,150 >> ఇక్కడ నేను మీరు అందించిన ఒక నిజం పట్టిక తో. 23 00:01:04,150 --> 00:01:07,520 ఈ మాకు రెండు పడుతుంది అనుమతిస్తుంది బూలియన్, బూలియన్ ఒక మరియు రెండు. 24 00:01:07,520 --> 00:01:13,600 మరియు మేము గాని bool1 విశ్లేషించవచ్చు మరియు bool2 లేదా bool1 లేదా bool2. 25 00:01:13,600 --> 00:01:17,390 >> సో తేడా ఏమిటి మధ్య మరియు మరియు లేదా? 26 00:01:17,390 --> 00:01:21,810 బాగా, bool1 మరియు bool2 రెడీ మూల్యాంకనం నిజమైన ఉంటే మరియు మాత్రమే 27 00:01:21,810 --> 00:01:25,680 రెండు బూలియన్స్ నిజమైన ఉంటే, లేదా ఆపరేషన్ అయితే 28 00:01:25,680 --> 00:01:30,190 నిజమైన ఉంటుంది గాని ఒక ఉంటే బూలియన్ లేదా రెండు నిజమైన. 29 00:01:30,190 --> 00:01:33,110 ఈ లో మెదడు తో, మీరు గుర్తించడానికి లేదో చూడటానికి 30 00:01:33,110 --> 00:01:37,460 దానికి తగిన షరతు చెల్లని n కోసం మీ డో-సమయంలో లూప్ 31 00:01:37,460 --> 00:01:38,850 అవతరిస్తుంది. 32 00:01:38,850 --> 00:01:43,540 >> అంతటితో ప్రాంప్ట్ మరియు చెల్లుబాటు చేసిన పిరమిడ్ ఎత్తు కోసం యూజర్ 33 00:01:43,540 --> 00:01:44,550 వారు కావలసిన. 34 00:01:44,550 --> 00:01:47,740 కాబట్టి ఇప్పుడు, అది మాకు ఇష్టం పిరమిడ్ డ్రా. 35 00:01:47,740 --> 00:01:50,520 ఈ పూర్తి పిరమిడ్ సమస్య కొద్దిగా కనిపిస్తాయని 36 00:01:50,520 --> 00:01:56,340 ఈ వంటి, మేము ఒక ఎడమ పిరమిడ్ కలిగి ఉన్న కొన్ని ఖాళీ, మరియు అప్పుడు ఒక కుడి పిరమిడ్. 37 00:01:56,340 --> 00:01:58,630 కాబట్టి యొక్క ఒక చిన్న బిట్ డౌన్ ఈ బ్రేక్ వీలు. 38 00:01:58,630 --> 00:02:03,510 >> నేను నా టెక్స్ట్ ఎడిటర్ వెళ్ళండి ఉంటే, ఇక్కడ నేను చేసిన మాకు ఒక ఎడమ సమలేఖనమైంది పిరమిడ్ డ్రా. 39 00:02:03,510 --> 00:02:05,160 కానీ అలా ఉండదు. 40 00:02:05,160 --> 00:02:10,139 మనం చేయాలనుకుంటున్నారా మేము కావలసిన ఉంది మొదటి ఒక కుడి సమలేఖనమైంది పిరమిడ్ సృష్టించడానికి. 41 00:02:10,139 --> 00:02:13,580 కాబట్టి కేవలం పుష్, దీన్ని సైడ్ పాటు నా హష్లు, 42 00:02:13,580 --> 00:02:18,240 నేను కొన్ని అక్షరాలు ఉంచాలి వెళుతున్న మధ్య కేవలం ఈ చుక్కలు లో. 43 00:02:18,240 --> 00:02:22,560 అప్పుడు నేను రెండు చాలు వెళుతున్న తదుపరి లైన్, ఆ పంక్తిలో ఒక. 44 00:02:22,560 --> 00:02:26,070 మరియు ఇక్కడ నేను ఒక కలిగి కుడి సమలేఖనమైంది పిరమిడ్. 45 00:02:26,070 --> 00:02:28,540 >> ఆ తరువాత, నేను వెళుతున్న పై వరుస తిరిగి వెళ్ళి 46 00:02:28,540 --> 00:02:33,930 మరియు ఖాళీ, ప్రవేశపెట్టింది వివరాలను, రెండు ఖాళీలు చొప్పున ఉంది. 47 00:02:33,930 --> 00:02:37,680 అప్పుడు నేను పూరించడానికి వెళుతున్న పిరమిడ్ ఇతర వైపు. 48 00:02:37,680 --> 00:02:42,030 నేను రెండవ వరుసలో వెళ్ళడానికి వెళుతున్న వ్రాయండి విరామాన్ని రెండు ఖాళీలు ఆపై రెండు 49 00:02:42,030 --> 00:02:42,920 hashes. 50 00:02:42,920 --> 00:02:47,020 మళ్లీ మూడవ వివాదం రెండు ఖాళీలు ఖాళీ మరియు మూడు హష్లు కోసం. 51 00:02:47,020 --> 00:02:51,480 మరియు చివరిలో, రెండు ఖాళీలు ఖాళీ మరియు నాలుగు హష్లు కోసం. 52 00:02:51,480 --> 00:02:54,400 సో ఒక పూర్తి ఏమి పిరమిడ్ వంటి కనిపిస్తుంది. 53 00:02:54,400 --> 00:02:57,260 >> కోర్సు యొక్క, మేము అనుకుంటున్న విధంగా ఈ చుక్కలు. 54 00:02:57,260 --> 00:03:01,220 కాబట్టి మేము ఈ స్థానంలో చూడాలని కొన్ని ఖాళీలు ఉంచడం ద్వారా చుక్కలు. 55 00:03:01,220 --> 00:03:03,720 ఒకటి, రెండు, మొదటి పంక్తిలో మూడు. 56 00:03:03,720 --> 00:03:05,650 ఒకటి, రెండవ రెండు. 57 00:03:05,650 --> 00:03:08,200 మరియు మూడవ లైన్లో ఒకటి. 58 00:03:08,200 --> 00:03:12,060 కాబట్టి ఈ మేము ఉంటే ఏమి చేస్తారు అని ఉంది కేవలం ఒక పూర్తి పిరమిడ్ అనుకున్నారు 59 00:03:12,060 --> 00:03:13,700 మా టెక్స్ట్ ఎడిటర్ లో, చెప్పటానికి. 60 00:03:13,700 --> 00:03:15,860 >> కాబట్టి యొక్క ఈ తీసుకుందాం, నమూనాలను అర్థం 61 00:03:15,860 --> 00:03:19,870 మరియు కొన్ని pseudocode దానిని పైగా మారుస్తాయి. 62 00:03:19,870 --> 00:03:24,500 పిరమిడ్ ప్రతి వరుస కోసం, మేము కావలసిన వదిలి పిరమిడ్ ప్రింట్ మరియు అప్పుడు 63 00:03:24,500 --> 00:03:26,580 ఖాళీ మరియు సరైన పిరమిడ్. 64 00:03:26,580 --> 00:03:30,260 ఎడమ పిరమిడ్, మేము ప్రింట్ ఖాళీలు యొక్క అవసరమైన మొత్తం, 65 00:03:30,260 --> 00:03:31,740 హష్లు తరువాత. 66 00:03:31,740 --> 00:03:35,030 అప్పుడు మేము ఖాళీ, ప్రింట్ ఇది కేవలం రెండు ఖాళీలు ప్రతిసారీ. 67 00:03:35,030 --> 00:03:38,080 మరియు కుడి పిరమిడ్ లో, మేము ప్రింట్ హష్లు అవసరమైన సంఖ్య. 68 00:03:38,080 --> 00:03:41,410 >> రెండవ వరుస కోసం, మేము నిర్వహించిన అదే ఖచ్చితమైన ప్రక్రియ. 69 00:03:41,410 --> 00:03:44,510 మేము ఎడమ కోసం ఖాళీలు ప్రింట్ పిరమిడ్, అవసరమైన మొత్తం 70 00:03:44,510 --> 00:03:49,930 హష్లు, ఖాళీ, రెండు ఖాళీలు, మరియు అప్పుడు కుడి పిరమిడ్ హష్లు. 71 00:03:49,930 --> 00:03:52,490 >> యొక్క నమూనా పరిష్కరించడానికి వీలు ఎడమ పిరమిడ్. 72 00:03:52,490 --> 00:03:55,660 ప్రయోజనాల కోసం నేను కలిగి ఉంటే, ఈ ఉదాహరణ యొక్క ఎత్తు 73 00:03:55,660 --> 00:03:58,790 ఎనిమిదేళ్ళ అభ్యర్థించిన యూజర్, అప్పుడు నా మొదటి వరుసలో 74 00:03:58,790 --> 00:04:01,020 ఒకటి హాష్ మరియు ఏడు ఖాళీలు వుంటుంది. 75 00:04:01,020 --> 00:04:03,860 నా రెండవ వరుసలో వుంటుంది రెండు హష్లు, ఆరు ఖాళీలు. 76 00:04:03,860 --> 00:04:06,749 మూడవ వరుసలో మూడు hashes, ఐదు ఖాళీలు. 77 00:04:06,749 --> 00:04:09,040 మీరు బహుశా దీన్ని చేయవచ్చు ఎనిమిదేళ్ళ ఎత్తు మీరే 78 00:04:09,040 --> 00:04:13,470 ఎన్ని మరియు ప్రతి వరుస కోసం గుర్తించడానికి హష్లు మరియు ఎన్ని ఖాళీలు మీరు అవసరం. 79 00:04:13,470 --> 00:04:16,209 కాని మేము చేయాలనుకుంటున్నారా ఉంది మేము అది నైరూప్య అనుకుంటున్నారా. 80 00:04:16,209 --> 00:04:22,660 కాబట్టి నేను ఏ n వ వరుస, ఎన్ని అడుగుతుంది హష్లు మరియు మేము ఎన్ని ఖాళీలు చేయాలి? 81 00:04:22,660 --> 00:04:25,410 >> ఇప్పుడు, మీరు నిర్ణయించడానికి ఎన్ని హష్లు నమునాను 82 00:04:25,410 --> 00:04:29,920 మరియు మీరు అవసరం ఎన్ని ఖాళీలు ఇచ్చిన ఎత్తు కోసం ఏ n వ వరుస, 83 00:04:29,920 --> 00:04:32,910 జాగ్రత్తగా గుర్తుంచుకోండి ఎలా మీరు సూచి చేస్తున్నారు. 84 00:04:32,910 --> 00:04:37,160 నేను ఈ అర్ధం రోజువారీ లో ఉంది జీవితం మాకు చాలా ఒక ద్వారా లెక్కింపు ప్రారంభించండి. 85 00:04:37,160 --> 00:04:39,680 కాబట్టి మొదటి వరుస సంఖ్య ఒకటి ఉంటుంది. 86 00:04:39,680 --> 00:04:43,620 మరియు రెండవ వరుసలో వరుస ఉంటుంది సంఖ్య రెండు, అందువలన న మొదలగునవి. 87 00:04:43,620 --> 00:04:47,620 >> కానీ కంప్యూటర్ సైన్సు మరియు CS50, మేము సున్నా-సూచి. 88 00:04:47,620 --> 00:04:50,750 కాబట్టి మేము నిజానికి సున్నా వద్ద లెక్కింపు మొదలు. 89 00:04:50,750 --> 00:04:54,020 కాబట్టి మొదటి వరుసలో చేస్తాను వరుస సంఖ్య సున్నా. 90 00:04:54,020 --> 00:04:56,640 మరియు రెండవ వరుసలో వరుస సంఖ్య ఒకటి ఉంటుంది. 91 00:04:56,640 --> 00:05:02,510 కనుక నేను ఎనిమిది ఎత్తులోనూ ఉండేది నా పిరమిడ్, n యొక్క ఆపై గత విలువ 92 00:05:02,510 --> 00:05:05,850 నిజానికి ఏడు మరియు ఎనిమిది కాదు ఉంటుంది. 93 00:05:05,850 --> 00:05:07,010 >> కాబట్టి దీని గురించి జాగ్రత్తగా ఉండండి. 94 00:05:07,010 --> 00:05:10,750 మరియు మీరు నిర్ణయించడానికి చేస్తున్నారు ఉన్నప్పుడు తెలుసుకోవాలి మీ సున్నా-సూచిక లేదో మీ నమూనా 95 00:05:10,750 --> 00:05:12,360 లేదా ఒక-సూచిక 96 00:05:12,360 --> 00:05:13,070 >> అలాగే. 97 00:05:13,070 --> 00:05:15,380 కాబట్టి ఇప్పుడు మేము కలిగి ఎడమ పిరమిడ్ నమూనా, 98 00:05:15,380 --> 00:05:18,650 మనం గుర్తించడానికి అవసరం విరామాన్ని నమూనా. 99 00:05:18,650 --> 00:05:20,480 అదృష్టవశంగా, ఈ నిజంగా సులభం. 100 00:05:20,480 --> 00:05:22,690 ఇది ఎల్లప్పుడూ రెండు ఖాళీలు వార్తలు. 101 00:05:22,690 --> 00:05:25,240 >> కాబట్టి ఇప్పుడు మేము కుడి నమూనా వెళ్లండి. 102 00:05:25,240 --> 00:05:27,220 మొదటి పంక్తిలో ఒక హాష్ ఉంటుంది. 103 00:05:27,220 --> 00:05:28,640 రెండవ వరుసలో, రెండు. 104 00:05:28,640 --> 00:05:29,530 మూడవ వరుసలో, మూడు. 105 00:05:29,530 --> 00:05:30,790 అందువలన న మొదలగునవి. 106 00:05:30,790 --> 00:05:35,540 మరలా, ఏ నైరూప్య కోసం గుర్తించడానికి n మరియు ఎన్ని హష్లు ఏ ఎత్తు 107 00:05:35,540 --> 00:05:38,810 మరియు ఎన్ని ఖాళీలు ప్రతి వరుసలో ఉండాలి. 108 00:05:38,810 --> 00:05:39,700 >> అలాగే. 109 00:05:39,700 --> 00:05:45,050 కాబట్టి మేము తెలిసిన ప్రతి వరుసలో మనం కొన్ని ప్రక్రియ నిర్వహించడం అవసరం. 110 00:05:45,050 --> 00:05:46,600 మేము ఆ చేయాలి? 111 00:05:46,600 --> 00:05:50,440 Well, మేము లూప్ నిర్మాణం కోసం ఉపయోగిస్తారు, ఒక ప్రారంభ ఉండేవారు, 112 00:05:50,440 --> 00:05:52,310 ఒక పరిస్థితి, మరియు ఒక నవీకరణ. 113 00:05:52,310 --> 00:05:54,830 ఉచ్చులు ఉపయోగించవచ్చు కోసం ప్రక్రియలు పునరావృతం. 114 00:05:54,830 --> 00:05:59,610 >> నేను అది హలో అంతరంలో, లూప్ నా ప్రపంచ 50 సార్లు, 115 00:05:59,610 --> 00:06:03,510 ఈ వంటి ఏదో చూస్తారు, పేరు నేను సున్నా నా వేరియబుల్ ప్రారంభించడం. 116 00:06:03,510 --> 00:06:06,200 పరిస్థితి నేను 50 కంటే తక్కువ అని. 117 00:06:06,200 --> 00:06:09,670 ఆపై నవీకరణ అది ఉంది ఒకటి ప్రతిసారీ ఇంక్రిమెంట్. 118 00:06:09,670 --> 00:06:14,700 కాబట్టి ఈ ఉంటుంది ఏమి చేస్తారు వరుసగా హలో ప్రింట్, ప్రపంచం 50 సార్లు. 119 00:06:14,700 --> 00:06:18,080 >> ఇప్పుడు, నేను iterate కోరుకున్నారు సే పిరమిడ్ ఎత్తు మీద. 120 00:06:18,080 --> 00:06:21,560 అప్పుడు బదులుగా హార్డ్ కోడింగ్ పరిస్థితి కొన్ని విలువ, 121 00:06:21,560 --> 00:06:23,280 నేను వేరియబుల్ ఎత్తు ఉపయోగించండి. 122 00:06:23,280 --> 00:06:27,180 సో ఈ ఎలా iterate ఉంది ఎత్తు ప్రతి వరుసలో మీద. 123 00:06:27,180 --> 00:06:30,280 నేను లోపల ఏదో ఒకటి చెయ్యాలి ఆ లూప్ యొక్క శరీరం యొక్క. 124 00:06:30,280 --> 00:06:32,710 >> మేము ఏమి చెయ్యాలనుకుంటున్నారు లూప్ యొక్క శరీరం లోపల? 125 00:06:32,710 --> 00:06:36,550 Well, మేము ముందు సూచించిన, మేము కావలసిన ప్రదేశాలు మరియు హష్లు ప్రింట్ 126 00:06:36,550 --> 00:06:40,730 తరువాత ఎడమ పిరమిడ్ మరియు ముద్రణ కోసం రెండు ఖాళీలు ఆపై హష్లు ప్రింట్. 127 00:06:40,730 --> 00:06:42,500 కాబట్టి మేము ఇప్పటికే ఆ కనుగొన్నారు చేసిన. 128 00:06:42,500 --> 00:06:45,670 కాబట్టి మేము పూరించడానికి ప్రారంభించవచ్చు మా కార్యక్రమం మరింత చాలా. 129 00:06:45,670 --> 00:06:49,850 >> ఇక్కడ నేను లూప్ ఒక బాహ్య కలిగి పిరమిడ్ లో ప్రతి వరుసలో మీద iterates. 130 00:06:49,850 --> 00:06:53,340 మరియు ఆ శరీరం లోపల నేను వెళుతున్న పదేపదే ఖాళీలు ప్రింట్, 131 00:06:53,340 --> 00:06:56,860 పదేపదే హాష్లు, ఆపై అంతరం ఆపై కుడి పిరమిడ్ హాష్లు, 132 00:06:56,860 --> 00:07:00,440 ఆపై, చివరకు, ఒక కొత్త లైన్ తదుపరి వరుస ప్రారంభించడానికి. 133 00:07:00,440 --> 00:07:02,860 >> అంతటితో ప్రాంప్ట్ చేసిన ఇన్పుట్ వినియోగదారుని. 134 00:07:02,860 --> 00:07:04,510 మేము అది చెల్లదు అని మీరు చేసిన. 135 00:07:04,510 --> 00:07:06,280 మరియు తర్వాత మేము పిరమిడ్ డ్రా చేసిన. 136 00:07:06,280 --> 00:07:09,540 కాబట్టి మారియో విజయవంతంగా చెయ్యవచ్చు పిరమిడ్ ఎక్కి. 137 00:07:09,540 --> 00:07:10,970 >> నా పేరు Zamyla ఉంది. 138 00:07:10,970 --> 00:07:13,840 మరియు ఈ CS50 ఉంది. 139 00:07:13,840 --> 00:07:15,419