[Powered by Google Translate] [విభాగం 4] [తక్కువ సౌకర్యవంతమైన] [నేట్ Hardison] [హార్వర్డ్ విశ్వవిద్యాలయం] [ఈ CS50 ఉంది.] [CS50.TV] All right, విభాగం తిరిగి స్వాగతం. ఈ వారం యొక్క విభాగంలో మేము కొన్ని విషయాలను చేయబోతున్నామని. మేము, మొదటి రీక్యాప్ సమస్య సెట్ 2 చూడాలని సీజర్ మరియు విజెనెరే సమస్య సెట్ ఇది. మరియు తర్వాత మేము క్విజ్ 0 సమీక్ష ప్రవేశిస్తాడు చూడాలని మరియు మేము గురించి మాట్లాడారు వాటిని recapping సమయం కొద్దిగా ఖర్చు ప్రసంగాలను ప్రతి ఇప్పటివరకు, మరియు మేము కూడా కొన్ని సమస్యలు చేస్తాను గత సంవత్సరం క్విజ్ నుండి. మీరు అబ్బాయిలు ఆ సిద్ధం ఒక మంచి మార్గం కలిగి మార్గం. ప్రారంభించడానికి, నేను మంచి పరిష్కారాలు ఒక జంట అప్ బూట్ చేసిన మునుపటి సమస్య కోసం, సమస్య ఈ అంతరిక్షంలోకి, 2 సెట్. మీరు అబ్బాయిలు ఈ లింక్ నొక్కండి, ఉంటే మరియు మీరు నా పేరు క్లిక్ చేయండి మరియు నా మొదటి పునర్విమర్శ క్లిక్ ఉంటే మీరు నేను వద్ద చూస్తున్నాను వేటి ఇది caesar.c, చూస్తారు. యొక్క నిజంగా త్వరగా ఈ మాట్లాడటానికి లెట్. ఇది ఒక నమూనా పరిష్కారం. ఈ ఖచ్చితమైన పరిష్కారం అవసరం లేదు. ఈ వ్రాయడానికి అనేక మార్గాలు ఉన్నాయి కానీ నేను హైలైట్ కోరుకున్నాడు కొన్ని విషయాలను నేను అనుకుంటున్నాను నేను శ్రేణి గా చూసిన, సాధారణ తప్పులను ఈ పరిష్కారం నిర్వహణ ఒక మంచి ఉద్యోగం చేస్తుంది. మొదటి ఎగువన శీర్షిక వ్యాఖ్య విధమైన గురైంది. లైన్లు 1 న 7 ద్వారా మీరు, వివరాలను చూడండి ఈ కార్యక్రమం ఖచ్చితంగా ఏమి ఉంది. మీరు C కోడ్ వ్రాస్తున్నప్పుడు మంచి ప్రామాణిక పద్ధతి మీ ప్రోగ్రామ్ ఒక ఫైల్ లేదా లోపల ఉంది సంబంధం లేకుండా ఉంటే ఇది బహుళ ఫైళ్లను మీద విభజించబడింది అయినా విధమైన కలిగి ఉంది ఎగువన వ్యాఖ్య ఓరియంటింగ్. ఈ బయటకు వెళ్లి వాస్తవ ప్రపంచంలో కోడ్ రాసే వ్యక్తులు కూడా ఉంది. వారు కాపీరైట్ సమాచారం ఉంచుతాము ఇది ఉంది. క్రింద # కలిగి ఉంటాయి. లైన్ 16 న ఈ # మేము ఒక బిట్ లో తిరిగి వచ్చి మేము, నిర్వచించే ఉంది. మరియు తర్వాత ఒకసారి ఫంక్షన్, ఒకసారి ప్రధాన ప్రారంభాల్లో మొదలవుతుంది ఈ కార్యక్రమం అన్ని ఒకే ఫంక్షన్ లో కలిగి ఎందుకంటే జరిగినప్పుడు పైన మరియు ఇది చాలా idiomatic మరియు ఒక సి కార్యక్రమం సాధారణ చాలా మొదటి విషయం కమాండ్ లైన్ లో పడుతుంది అది వెంటనే తనిఖీ ఆ వాదనలు-ఉంది వాదన లెక్కింపు కోసం, argc. ఇక్కడే మేము ఈ కార్యక్రమం ఖచ్చితంగా 2 వాదనలు ఆశిస్తున్న ఆ చూడండి. గుర్తుంచుకోండి ప్రత్యేక ఒకటి మొదటి వాదన ఉంది ఆ, ఎల్లప్పుడూ అమలు చేయబడిన ప్రోగ్రామ్ యొక్క పేరు ఉంది ఎక్జిక్యూటబుల్ ఫైల్ యొక్క పేరు. కాబట్టి ఈ ఏమి ఈ కార్యక్రమం అమలు నుండి వినియోగదారు నిరోధిస్తుంది ఎక్కువ లేదా తక్కువ వాదనలు తో. మేము దూరంగా ఈ హక్కు కోసం తనిఖీ మీరు కారణం ఉంది మేము నిజంగా ఇక్కడే విశ్వసనీయంగా ఈ argv శ్రేణి యాక్సెస్ చేయలేరు మేము ఎంత పెద్ద చూడటానికి తనిఖీ చేసిన వరకు. నేను చూసిన సాధారణ లోపాలు వ్యక్తుల వెంటనే లో పాటు ఉంది మరియు తీసుకున్న argv [1]. అవి శ్రేణి యొక్క కీ వాదన పట్టుకొను భావిస్తున్న మరియు ఒక నేను, దానిపై తనిఖీ లేదు మరియు తర్వాత వారు, అదే తరువాత పరీక్ష వంటి argc కోసం పరీక్ష చేయండి భావిస్తున్న మొదటి వాదన నిజానికి అదే సమయంలో పూర్ణాంకం ఉంది, లేదో మరియు ఆ సరఫరా ఏ వాదనలు ఉన్నాయి ఆ సందర్భంలో ఎందుకంటే పని లేదు మీరు అక్కడ లేని వాదన పట్టుకుని లేదా లేదు ఒక పట్టుకొను ప్రయత్నం చేస్తాము. మీరు గమనించే అని ఇతర పెద్ద విషయం అని మీరు ఎల్లప్పుడూ ఉపయోగపడిందా దోష సందేశం విధమైన ముద్రించాలా కావలసిన ఓరియంట్ వారికి వినియోగదారుకు. నేను, మీరు ఆకస్మికంగా అది కూలిపోతుంది అన్ని పరుగుల కార్యక్రమాలు చేసారని ఉన్నాను మరియు మీరు బయటకు మరియు అని ఈ హాస్యాస్పదంగా చిన్న డైలాగ్ పొందండి బహుశా భయంకరమైన నిగూఢ మరియు ఏదో ఒక లోపం కోడ్ లేదా అలాంటిదే ఇస్తుంది ఆ అస్సలు అర్ధమే లేదు. మీరు నిజంగా ఉపయోగపడిందా ఏదో అందించే చోట ఈ ఉంది మరియు వారు అమలు చేసినప్పుడు వారు "ఓహ్," ముఖం తాటి వెళ్ళి కాబట్టి యూజర్ లక్ష్యంగా. "నేను ఖచ్చితంగా తెలుసు. నేను ఈ ఎలా పరిష్కరించాలో తెలుసు." మీరు ఒక సందేశాన్ని ప్రింట్ లేదు, అప్పుడు మీరు నిజంగా ముగుస్తుంది యూజర్ వెళ్ళడానికి వదిలి మీ సోర్స్ కోడ్ పరిశీలించడానికి వాట్ వెంట్ రాంగ్ గుర్తించడానికి. మీరు వివిధ లోపం సంకేతాలు ఉపయోగిస్తారు కొన్ని సార్లు కూడా ఉన్నాయి. ఇక్కడ మనం కేవలం ఒక లోపం ఉంది చెప్పడానికి ఒక ఉపయోగిస్తారు ఒక లోపం ఉంది, ఒక లోపం ఉంది. పెద్ద కార్యక్రమాలను, ఇతర కార్యక్రమాల ద్వారా పిలుస్తారు తరచుగా కార్యక్రమాలు వివిధ పరిస్థితులలో ప్రత్యేక లోపం సంకేతాలు విధమైన తిరిగి programmatically కమ్యూనికేట్ చేయడానికి మీరు లేకపోతే ఆ కేవలం ఒక nice ఇంగ్లీష్ సందేశాన్ని ఉపయోగించండి. కూల్. మేము డౌన్ పని, మీరు మేము కీ వెలికితీసి చూడగలరు. మేము కీ సరిపోయే చూడండి పరీక్ష. మేము వినియోగదారు నుండి ఒక సందేశాన్ని. ఈ మేము కవర్ ఏదైనా పైన మరియు లూప్ ఉంది మేము ఈ లో దీనిని కారణం చేయండి కొద్దిగా బిట్-కానీ అవుతుంది మీరు కంట్రోల్ D టైప్ ఉంటే మీరు టెర్మినల్ ఆ GetString ప్రాంప్ట్ వచ్చినప్పుడు నిజానికి చేసే దానిని ఒక ప్రత్యేక పాత్ర ఉంది పంపుతుంది కార్యక్రమానికి. ఇది ELF లేదా ఫైల్ పాత్ర ముగింపు అని. ఆ సందర్భంలో, మా సందేశం స్ట్రింగ్, శూన్య ఉంటుంది ఈ మేము కూడా సెట్ సమస్య లో పరీక్షలు ఏదో కాదు. మేము వెళ్ళి కానీ, ఇప్పుడు మేము గమనికలు మాట్లాడటానికి ప్రారంభించారు చేసిన కుప్ప మీద మరియు డైనమిక్ మెమరీ కేటాయింపు, మీరు ఆ వాటిని ఒక ఫంక్షన్ ఉన్నప్పుడు శూన్య తనిఖీ ఒక విలువ మీరు చేస్తున్న అలవాటు పొందాలనుకోవడం మేము ఏదో ఉంది శూన్య తిరిగి. ఈ ప్రధానంగా ఉదాహరణ కోసం ఇక్కడ ఉంది. కానీ మీరు భవిష్యత్తులో GetString చూడండి చేసినప్పుడు, అలా 4 సెట్ సమస్య నుండి, మీరు ఈ విషయాన్ని మనస్సులో ఉంచుకోవాలి చెయ్యవచ్చును. మళ్ళీ, ఈ మేము ఇంకా అది కవర్ కాదు నుండి గాని 3 సెట్ సమస్య కోసం ఒక సమస్య కాదు. చివరగా, మేము, మేము ప్రధాన ఎన్క్రిప్షన్ లూప్ ను పేరు ఈ భాగం ను మరియు ఇక్కడ జరగబోతోంది కొన్ని విషయాలను ఉన్నాయి. మొదటి, మేము మొత్తం సందేశం స్ట్రింగ్ దానిపై అదే iterate. ఇక్కడ మేము, పరిస్థితిలో strlen కాల్ ఉంచింది చేసిన మీరు అనేక చెప్తారు వెళ్ళి ఒక గొప్ప మార్గం లేదు. ఇది కూడా గొప్ప కాదు ఈ సందర్భంలో అవుతుంది మేము సందేశాన్ని యొక్క సమాచారాలను మార్చడం చేస్తున్నారు కారణం లోపల లూప్, కాబట్టి మేము 10 అక్షరాల పొడవు ఉన్న ఒక సందేశాన్ని ఉంటే, మొదటిసారి మేము లూప్ strlen కోసం ఏమి తిరిగి ఆ ప్రారంభం? 10. కానీ మేము అప్పుడు సందేశాన్ని మార్చడానికి ఉంటే, మేము దాని 5 వ పాత్ర సవరించడానికి సే మరియు మేము, 5 వ స్థానంలో \ 0 పాత్ర విసరాలి తరువాత మళ్ళా న strlen (సందేశం) అది ఏమి తిరిగి కనిపిస్తుంది మేము iterated మొదటిసారిగా, మేము ఆ శూన్య టెర్మినేటర్ విసిరిన ఎందుకంటే కానీ బదులుగా, 5 చూపిస్తుంది మరియు స్ట్రింగ్ యొక్క పొడవు నిర్వచిస్తారు ఆ \ 0 యొక్క స్థానం. ఈ సందర్భంలో, ఈ మేము స్థానంలో దానిని సరిచేయడం ఉన్నందున వెళ్ళడానికి గొప్ప మార్గం. కానీ మీరు ఈ గుప్తీకరించడానికి వాస్తవానికి ఆశ్చర్యకరంగా సాధారణ గమనించి మీరు గణిత సరైన లభిస్తే. అవసరం అయిన అన్ని మీరు శోధిస్తున్న లేదో లేఖ తనిఖీ చేయడం పెద్ద లేదా చిన్న ఉంది. మేము ఆ తనిఖీ చేసి మేము తనిఖీ లేదు కారణం ఉంది ఆల్ఫా కేసు ఎందుకంటే ఉంది ఒక పాత్ర పెద్ద లేదా ఉంటే అది చిన్న యొక్క అప్పుడు, ఖచ్చితంగా అక్షరమాల పాత్ర మేము పెద్ద మరియు చిన్న అంకెలు లేదు ఎందుకంటే. మేము పైన మరియు ఇతర విషయం ఈ చిన్న ఉంది గమ్మత్తైన- మేము ప్రామాణిక సీజర్ సాంకేతికలిపి ఫార్ములా చివరి మార్పు చేసిన ఉంది మేము సమస్య సెట్ వివరణలో ఇచ్చిన. ఇక్కడికి విభిన్నమైనది మేము తీసివేయటం ఉంది పెద్ద కేసు రాజధాని లో, మరియు మేము ఒక రాజధాని జోడించారు చివరిలో తిరిగి. నేను మీరు కొన్ని మీ కోడ్ ఈ బాధ్యతను తెలుసు. మీరు ఏ మీ సమర్పణలు ఈ చేస్తారు? మీరు ఈ చేశాడు. మీరు, ఈ ఏమి Sahb వివరిస్తుంది? మీరు కుడి అది తర్వాత ఒక mod ఎందుకంటే, దాన్ని తీసివేయడం ద్వారా, మీరు, మీరు స్థానం [దగ్గు] పొందండి అందువలన దానిని తీసుకోవాలని. తరువాత తిరిగి జోడించడం ద్వారా మీరు నాకు పైగా మారింది. అవును, సరిగ్గా. Sahb చెప్పాడు దాని మేము జోడించడానికి ఉంటుంది మా సందేశం మరియు కలిసి మా కీ ఆపై mod, ఆ mod ఆ NUM_LETTERS ద్వారా, మేము మొదటి తగిన 0 to 25 శ్రేణి లోకి మా సందేశం స్కేల్ లేకపోతే, అప్పుడు మేము ఒక నిజంగా అసాధారణ సంఖ్య పొందడానికి ముగుస్తుంది ఉండవచ్చు ఎందుకంటే మేము సందేశాన్ని [i] చూస్తున్నప్పుడు శోధిస్తున్న విలువలు, మేము మా సాదా టెక్స్ట్ సందేశం యొక్క ith పాత్ర చూస్తున్నప్పుడు, ఒక విలువ ఈ 65 వరకు 122 పరిధిలో ఎక్కడో ఉంది చిన్న z ద్వారా పెద్ద A కోసం ASCII విలువలు ఆధారంగా. కాబట్టి మేము, 26 లేదా NUM_LETTERS ద్వారా MoD ఉన్నప్పుడు ఆ తర్వాత మా # అప్ ఇక్కడ కుడి ఎగువ నిర్వచించే, మాకు 0 to 25 పరిధిలో ఉన్న ఒక విలువ ఇవ్వడం అవకాశముంది, మరియు మేము ఆ తిరిగి అప్ స్కేల్ ఒక మార్గం అవసరం మరియు అది సరైన ASCII పరిధిలో పొందండి. అలా సులభమైన మార్గం కేవలం ప్రతిదీ డౌన్ స్థాయికి ఉంది 0 to 25 శ్రేణి లోకి తో ప్రారంభించడానికి తరువాత చివరిలో తిరిగి ప్రతిదీ పైకి తీసుకెళ్లడం. నేను ప్రజలు ఆకస్మికంగా చూసిన మరో సాధారణ లోపం ఉంది మీరు నిజంగా వెంటనే ఈ స్కేలింగ్ చేయకపోతే మరియు, సే, మీరు కలిసి సందేశాన్ని కీ జోడించడానికి మరియు మీరు వాటిని జోడించండి ఆ తో చార్ వేరియబుల్ లోకి, సమస్య ఉంది సందేశం నుండి [i] ప్రారంభించడానికి చాలా పెద్ద సంఖ్య తో అది ఒక పెద్ద అయితే అది కనీసం 65 యొక్క గుర్తు పాత్ర మీరు ఒక పెద్ద కీ, చెప్పడానికి, 100 వంటి ఏదైనా కలిగి ఉంటే మరియు మీరు ఒక ఓవర్ఫ్లో పొందడానికి వెళుతున్న ఒక సంతకం చార్ కలిపి ఆ 2 జోడించండి. మీరు, 127 కంటే పెద్ద ఉన్న ఒక విలువ పొందడానికి వెళుతున్న ఒక చార్ వేరియబుల్ కలిగి ఆ పెద్ద విలువ. మీరు ప్రారంభించడానికి విషయం ఆ విధమైన చేయాలనుకుంటున్నారా మీరు ఎందుకు తిరిగి, ఆ. కొంతమంది ఒక ఉంటే ఇంకా చేయడం మరియు పరీక్షించడం ద్వారా ఆ కేసు అధిగమించింది అది ఓవర్ఫ్లో అని ఆ చేసే ముందు చూడటానికి, కానీ ఈ విధంగా చుట్టూ పొందుతాడు. మరియు ఈ ద్రావణంలో మేము చాలా చివరలో మొత్తం స్ట్రింగ్ ముద్రించిన. ఇతర ప్రజలు ఒక సమయంలో ఒక పాత్ర ముద్రించిన. రెండు అద్భుతమైన ఉంటాయి. ఈ సమయంలో,, మీరు అబ్బాయిలు ఏవైనా ప్రశ్నలు ఈ గురించి ఎటువంటి వ్యాఖ్యలు ఏమి? మీరు వంటి వాటిని, మీకు నచ్చని విషయాలు? నేను ఒక ప్రశ్న ఉంది. బహుశా నేను మీ వివరణ సమయంలో అది ఆడలేకపోయాడు, కానీ ఈ కార్యక్రమం ఎలా టెక్స్ట్ యొక్క పొడవు కీ కనెక్ట్ ప్రాంతాలను skip? ఇది సీజర్ సాంకేతికలిపి. >> ఓహ్, సారీ, అవును. అవును, మేము ఆ చూస్తారు. సీజర్ సాంకేతికలిపి లో మేము ఆ చుట్టూ కాబట్టి మేము మాత్రమే అక్షరాలు ఒరిగిందని. వారు పెద్ద లేదా చిన్న ఉన్నామనుకుంటే వారికి మాత్రమే తిరుగుతుంది. మీరు అబ్బాయిలు ఈ గురించి చాలా ఫీలింగ్ గుడ్? ఈ హోమ్ కాపీ సంకోచించకండి, తీసుకెళ్ళవచ్చు మీరు అబ్బాయిలు రాశారు దానిని పోల్చి. ఖచ్చితంగా చాలా దాని గురించి ప్రశ్నలు పంపడానికి సంకోచించకండి. మరోసారి, మీ సమస్య ఇక్కడ గోల్ సెట్ చేసే తెలుసుకుంటారు మీరు అబ్బాయిలు మీ సమస్య సెట్లు సరైన కోడ్ వ్రాయడానికి పొందడానికి కాదు. ఇది ఒక అభ్యాస అనుభవం. అవును. తిరిగి చేయుటకు లూప్, అది సమానం ఉంటే శూన్య అయితే, కాబట్టి శూన్య కేవలం ఏమీ అర్థం, అవి కేవలం ఎంటర్ నొక్కండి? నల్, ఒక ప్రత్యేక పాయింటర్ విలువ మేము చెప్పే ఉంటుంది మరియు మేము శూన్య ఉపయోగించడానికి మేము ఏమీ సూచించే ఒక పాయింటర్ వేరియబుల్ ఉన్నాయి. కనుక అవి అది అర్థం ఈ వేరియబుల్, ఈ సందేశాన్ని వేరియబుల్ మేము CS50 ప్రత్యేక స్ట్రింగ్ రకం ఉపయోగించే ఎందుకంటే, ఖాళీ, మరియు ఇక్కడ ఉంది, CS50 స్ట్రింగ్ ఏ రకం? మీరు డేవిడ్ ఉపన్యాసంలో హుడ్ వెనక్కు ఉన్నప్పుడు ఏమి చూసిన? ఇది ఒక అల్లరిగా-అంతే ఒక పాయింటర్ ఉంది, కుడి? సరే, అవును. >> ఇది ఒక చార్ * ఉంది. కాబట్టి మేము ఈ భర్తీ ఇక్కడే చార్ * సందేశం, అందువలన GetString ఫంక్షన్, ఇది విజయవంతంగా వినియోగదారు నుండి ఒక స్ట్రింగ్ పొందుటకు లేదు ఉంటే, అది ఒక స్ట్రింగ్ అన్వయించడం సాధ్యం కాదు, మరియు ఒక సందర్భంలో ఇది ఒక స్ట్రింగ్ అన్వయించడం సాధ్యం కాదు వినియోగదారుడికి రకాల ఫైల్ పాత్ర, నియంత్రణ D, ముగింపు ఉంటే మీరు సాధారణంగా వాటి కాదు, కానీ జరుగుతుందని ఉంటే అప్పుడు ఫంక్షన్ చెప్పడం ఒక మార్గంగా ఈ శూన్య విలువను తిరిగి "హే, నేను ఒక స్ట్రింగ్ రాలేదు." మేము సందేశాన్ని = శూన్య ఉంచవద్దు ఏమి, జరుగుతుంది మేము ఇంకా చేయడం కాలేదు ఏదో ఇది? ఎందుకు ఇక్కడ ఒక సమస్య ఉంటుంది? మనం మెమరీ లీకేజ్ గురించి ఉపన్యాసంలో కొద్దిగా మాట్లాడారు తెలుసు ఎందుకంటే. అవును, అలా చేసుకుందాం, మరియు ఏమి చూడండి లెట్స్. బాసిల్ యొక్క ప్రశ్న మేము నిజానికి లేదు ఏమవుతుంది ఉంది ఈ సందేశం = శూన్య పరీక్ష? టాప్ వరకు స్క్రోల్ లెట్ యొక్క. మీరు అబ్బాయిలు ఇది వ్యాఖ్యానించగలరు. అసలైన, నేను ఒక పునర్విమర్శ లో సేవ్ చేస్తాము. ఈ కూర్పుల 3 ఉంటుంది. ఏం మీరు ఈ ప్రోగ్రామ్ను అమలు చేయడానికి ఏమి ఉంటుంది, మీరు ఇక్కడ ఈ గేర్ చిహ్నాన్ని పై క్లిక్ చేసి ఉంది మరియు మీరు ఒక వాదన జోడించండి ఉంటుంది. మేము ఒక కమాండ్ లైన్ వాదన లో పాస్ కావలసిన నుండి మీరు కీ వాదన ఇవ్వాలని ఉంటుంది. ఇక్కడ నేను సంఖ్య 3 ఇవ్వాలని వెళుతున్న. నేను 3 ఇష్టం. ఇప్పుడు, తిరిగి దూరంగా జూమ్ ప్రోగ్రామ్ను అమలు. దీనిని నిర్మించాలని, కంపైల్, అమలు చేసిన. ఇక్కడ మేము వెళ్ళండి. ఇది ప్రాంప్ట్ వేచి యొక్క. నేను హలో-పేరు లాగ టైప్ ఉంటే ఆ వెళ్ళి వచ్చింది? ఓహ్, నా ప్రోగ్రామ్ను అమలు చేయడానికి చాలా సమయం పట్టింది. నేను చాలా పొడవుగా కోసం jawing జరిగినది. ఇక్కడ ఇది వెళుతుంది. ఇప్పుడు నేను హలో లో టైప్ చేయండి. మేము తగిన గుప్తీకరిస్తుంది ఆ చూడండి. మేము శూన్య తిరిగి ప్రాంప్టులో GetString లేకపోతే ఇప్పుడు ఏమి జరుగుతుంది? గుర్తుంచుకోండి, మనం ఆ అని చెప్పారు అదే సమయంలో కంట్రోల్ D నొక్కడం ద్వారా. నేను ఇక్కడ స్క్రోల్ చేస్తాము. మేము మళ్లీ అమలు చేస్తాము. భవనం. అక్కడ అది వెళుతుంది. ఇప్పుడు నేను కంట్రోల్ D కొట్టాడు నేను opt/sandbox50/bin/run.sh అని ఈ లైన్, విభజన లోపంగా వచ్చింది. మీరు అబ్బాయిలు ఆ ముందు చూసిన? [స్టూడెంట్] ఎందుకు నో >> క్షమించాలి ఉంది? [స్టూడెంట్] ఎందుకు ఈ విషయంలో ఏ కోర్ డంప్ ఉంది? కోర్ డంప్ IS-ప్రశ్న ఎందుకు ఇక్కడ ఏ కోర్ డంప్ ఉంది? ప్రశ్న ఉంటాయని, కానీ కోర్ డంప్ ఫైలు ఆ హార్డు డ్రైవు నిల్వ ఉంటుంది. ఈ సందర్భంలో మనం కోర్ డంపుల ఆపివేసారు రన్ సర్వర్లో తద్వారా మేము ప్రజలు భ్రంశం ఏర్పడుతుంది seg లేదు మరియు కోర్ డంపుల టన్నుల ఏర్పాటు చేయడం. కానీ మీరు ఒక పొందుతుంది. కోర్ డంపుల, మీరు తరచుగా ఆపివేయగల విషయం యొక్క విధమైన ఉంటాయి మరియు కొన్నిసార్లు మీరు. విభజన లోపంగా, మీ ప్రశ్నకు సమాధానం, బాసిల్, మేము ఒక పాయింటర్ యాక్సెస్ చేసేందుకు ప్రయత్నించారు చెప్పి ఉంది ఆ ఏదైనా సూచించడానికి సెట్ లేదు. Binky చెయ్యడానికి ప్రయత్నించినప్పుడు వీడియో లో Binky గుర్తుంచుకో ఏదైనా సూచించే కాదు ఒక పాయింటర్ యాక్సెస్ వెళ్ళాలి? ఈ సందర్భంలో నేను సాంకేతికంగా పాయింటర్ ఏదో కు సూచిస్తుంది అంచనా. ఇది సాంకేతికంగా 0 ఇది శూన్య, సూచించే యొక్క కానీ ఆ అందుబాటులో లేని ఒక విభాగంలో నిర్వచించబడినది మీ ప్రోగ్రామ్ ద్వారా, మీరు విభజన లోపంగా పొందండి మీరు మెమరీ యాక్సెస్ లేదు ఎందుకంటే ఒక చెల్లుబాటు అయ్యే విభాగంలో ఉంది కుప్ప విభాగంలో లేదా స్టాక్ విభాగంలో లేదా డేటా విభాగంలో ఇష్టపడుతున్నారు. కూల్. సీజర్ గురించి ప్రశ్నలు? యొక్క ముందుకు లెట్. నిజంగా త్వరగా కూర్పుల 2 చూడండి యొక్క లెట్. ఆ విజెనెరే ఉంది. ఇక్కడ విజెనెరే లో మేము, మళ్ళీ, ఎందుకంటే చాలా త్వరగా ఈ ద్వారా ఉంటాము విజెనెరే మరియు సీజర్ పూర్తిగా ఒకేవిధంగా ఉంటాయి. శీర్షిక వ్యాఖ్య ముందు, ఈ మాయా సంఖ్యలు ఉపయోగించకుండా ఉండటానికి ముందు # define ఉంది. nice విషయం మేము తరలించడానికి కోరుకున్నారు చెప్పాలి ఆ వంటి వివిధ వర్ణమాల లేదా ఏదో. అయితే అన్ని 26 యొక్క కోడ్ లో మార్పు మానవీయంగా వెళ్ళి అవసరం కంటే మేము 27 ఈ మార్చండి లేదా దానిని డౌన్ తగ్గుతుందని మేము వివిధ వర్ణమాలలు వివిధ భాషలలో ఉపయోగించి ఉంటే. మళ్లీ, మేము, వాదన లెక్క ఈ చెక్ పొందారు మరియు నిజంగా మీరు దాదాపు ఒక టెంప్లేట్ ఈ పడుతుంది. మీరు వ్రాసే ప్రెట్టీ చాలా ప్రతి ప్రోగ్రామ్ను-చేయాలి రేఖల ఇది కమాండ్ లైన్ తీసుకుంటే వాదనలు-కొన్ని క్రమాన్ని చాలా ప్రారంభంలో ఈ వంటి చదువుతుంది. మీరు చేయాలనుకుంటున్నారా మొదటి తెలివి పరీక్షలు ఒకటి. ఇక్కడ మేము ఖచ్చితంగా ఆ చేసిన చేసినది కీవర్డ్ చెల్లుబాటు అయ్యే, ఆ మేము ఆ రెండవ చెక్ ఉంది. మేము argc మరియు 2 నుండి ఈ వేరు అని మళ్ళీ గమనించండి. ఈ సందర్భంలో మనం వచ్చింది ఒక విషయం బదులుగా గమనించండి నేను ఒక ఉపయోగించి యొక్క మేము మొత్తం స్ట్రింగ్ ధ్రువీకరించడానికి కోరుకున్నారు మరియు క్రమంలో మీరు నిజంగా పాత్ర పాత్ర వెళ్ళడానికి కలిగి చేయడానికి స్ట్రింగ్ మీద. దానిపై ఏదో కాల్ ఎటువంటి మంచి మార్గం లేదు కూడా, ఉదాహరణకు, ఒక నేను 0 తిరిగి ఎందుకంటే అది ఒక పూర్ణాంకం అన్వయించడం సాధ్యం కాదు ఉంటే, కూడా పని చేయని విధంగా. మళ్లీ, సరిగ్గా యూజర్ చెప్పడం nice సందేశాన్ని ఏమి. ఇక్కడ, మళ్ళీ, మేము కూడా కేసు నిర్వహించడానికి పేరు ఒక నియంత్రణ D యాదృచ్ఛిక పాత్ర లో యూజర్ రకాల. ఆపై షార్లెట్ మేము ఖాళీలను దాటవేయడానికి నిర్వహించండి ఎలా ఒక ప్రశ్న క్రితం ఇక్కడ మా స్ట్రింగ్ లో. ఈ మేము మైస్పేస్ కార్యక్రమం ఏమి పోలి రకమైన ఉంది మేము విభాగంలో, మరియు ఈ విధంగా పని మేము చూసిన మీరు ఆ అక్షరాల సంఖ్య ట్రాక్ ఉంది. మేము పాత్ర పాత్ర లేచి వంటి, మేము, సందేశం స్ట్రింగ్ లేచి మేము లూప్ మా భాగంగా సూచిక ట్రాక్, మరియు అప్పుడు మేము కూడా ట్రాక్ అక్షరాల సంఖ్య, కాబట్టి కాని ప్రత్యేక అక్షరాలు, కాని అంకెలు, కాని వైట్ స్పేస్ మేము ప్రత్యేక వేరియబుల్ చూడవచ్చు భావిస్తున్నట్టు. మరియు ఈ పరిష్కారం కీ మార్పు ఒక వాస్తవ కీ పూర్ణాంక పొందండి, మరియు అది ఎగిరి ఆ చేస్తుంది కు, అది నిజమైన సందేశం పాత్ర గుప్తీకరించడానికి వెళుతుంది కుడి ముందు. చాలా ఖచ్చితంగా గొప్ప కొన్ని SOLUTIONS ఉన్నాయి కీ యొక్క చెల్లుబాటును కోసం పరీక్ష చేసినప్పుడు కీ అప్ సవరించడానికి చేస్తుంది. చూసుకోవాలి పాటు ఆ పాత్ర మరియు కీవర్డ్ అక్షరమాల పాత్ర అది కూడా ఒక పూర్ణాంకం మారింది 0 to 25 పరిధిలో తర్వాత లూప్ ఈ లో ఆ తరువాత అవసరం దాటవేయడానికి. మరలా, మీరు ఇది నిజంగా ఖచ్చితమైన కోడ్ ఇక్కడ చూడండి మేము ఈ సమయంలో సీజర్ లో ఉపయోగించారు. మీరు ఖచ్చితమైన పనిని చేస్తున్న, రియల్ ట్రిక్ ఇందుకు అందువలన పూర్ణాంకం లోకి కీవర్డ్ మలుపు ఎలా. ఒక విషయం మనం ఇక్కడ చేసిన ఒక చిన్న దట్టమైన అని మేము ఈ పదబంధం పునరావృతమవుతుంది, నేను, మీరు కాల్ కాలేదు ఊహించడం పంక్తులు 58, 59, మరియు 61 న 3 ప్రత్యేక టైమ్స్. ఎవరైనా ఖచ్చితంగా ఈ పదబంధం ఏమి వివరిస్తుంది? మీరు చెప్పినట్టూ ఇది ఒక పాత్ర యాక్సెస్ ఉంటుంది. అవును, అది, కీవర్డ్ లో [వినబడని] ఒక పాత్ర మీరు మాత్రమే పాటు కదిలే అయినందున మరియు కనుక ఇది చూసిన అక్షరాలను సంఖ్య యొక్క మీరు లేఖ చూసిన ఒకసారి కీవర్డ్, అది ప్రభావవంతంగా ఖాళీలను మరియు వంటి అంశాలను దాటవేయడానికి జరగబోతోంది ఆ. అవును, సరిగ్గా. మీరు చుట్టూ తిరిగి తరలించడానికి కాబట్టి ఆపై మీరు మీరు mod కీవర్డ్ ఖాళీ చూసిన. సరిగ్గా. ఒక పరిపూర్ణ వివరణ ఉంది. ఏ కెవిన్ చెప్పాడు మేము కీవర్డ్ లోకి సూచిక చేయదలిచిన ఉంది. మీరు రెడీ ఉంటే, మేము, num_letters_seen పాత్ర పొందడానికి కావలసిన కానీ num_letters_seen కీవర్డ్ యొక్క పొడవు అతిక్రమిస్తే, మేము తగిన స్థాయిలో తిరిగి పొందడానికి మార్గం మేము mod ఆపరేటర్లు ఉపయోగిస్తారు సమర్థవంతంగా చుట్టూ. ఉదాహరణకు, చిన్న వలె మా కీవర్డ్, పంది మాంసం ఉంటుంది మరియు అది 5 అక్షరాలు ఉంది. కానీ మేము ఈ సమయంలో మా సాదా టెక్స్ట్లో 6 అక్షరాలు చూసిన మరియు 6 గుప్తీకరించబడింది. మేము, num_letters_seen యాక్సెస్ అప్ ముగుస్తుంది ఇది కీవర్డ్ యొక్క mod పొడవు, 5, 6 అందువలన మేము ఏమి మేము చేస్తాము మేము చేస్తాము కాబట్టి 1 పొందండి, మరియు మీరు ఆ సమయంలో మా కీవర్డ్ మొదటి అక్షరం లోపల యాక్సెస్. All right, విజెనెరే ఏ ప్రశ్నలు మేము ముందుకు ముందు? మీరు అబ్బాయిలు ఈ గురించి చాలా ఫీలింగ్ గుడ్? గొప్ప, కూల్. నేను మీరు అబ్బాయిలు కోడ్ చూడటానికి అవకాశం పొందడానికి అని నిర్ధారించుకోవాలి మేము బాగుంది భావిస్తున్నాను మరియు దాని నుండి తెలుసుకోవడానికి అవకాశం కలిగి. ఈ మేము ప్రస్తుతానికి ఖాళీలను ఉపయోగించి వస్తుంది చివరి అన్నారు మరియు మేము ఇప్పుడు పరివర్తన చూడాలని, మరియు నేను cs50.net/lectures వెళ్ళండి వెళుతున్న కాబట్టి మేము క్విజ్ సమీక్ష యొక్క కొద్దిగా చేయవచ్చు. నేను క్విజ్ సమీక్ష చేయడం మొదలు అనుకుంటున్నాను ఉత్తమ మార్గం ఈ ఉపన్యాసాలు పేజీ రావలసియున్నదని, cs50.net/lectures, మరియు వారం శీర్షికలు ప్రతి కింద, నేను, వీక్ 0 వద్ద ఇక్కడ చూస్తే మనం మనం వీక్ 0 లో కవర్ విషయాలు ఒక జాబితా చూడండి. ఈ విషయాలు ఏ మీకు తెలియని కనిపిస్తుంది ఉంటే మీరు ఖచ్చితంగా లెక్చర్ నోట్స్ మరియు బహుశా తిరిగి వెళ్లి మెరుగుపెట్టు చెయ్యవచ్చును మీరు కోరుకుంటే కూడా ఉపన్యాసాలు ద్వారా చెడిపోయిన, మళ్ళీ వాటిని చూసే ఆ విషయాలు ప్రతి ఒక్క ఏమి కోసం ఒక భావాన్ని పొందడానికి. నేను అదనంగా మేము పొందారు చల్లని వనరుల ఈ సంవత్సరం ఒక యున్నది మేము సృష్టించిన ఈ లఘు చిత్రాలు, మరియు మీరు వీక్ 0 విషయంలో చూస్తే, , మేము కవర్ అంశాలపై అన్ని లేదు, కానీ మేము వాటిని కొద్ది పొందారు trickier వాటిలో, మరలా ఈ లఘు చిత్రాలు చూడటం వేగవంతం మీకు పొందడానికి మంచి మార్గం. ముఖ్యంగా, నేను ఆ కారణంగా, అడుగున 3 ఒక ప్లగ్ ఉంచారు వెళుతున్న. కానీ మీరు బైనరీ తో పోరాడుతున్న చేస్తుంటే, బిట్స్, hex, వాటిలో ఆ విధమైన, బైనరీ ప్రారంభించడానికి ఒక గొప్ప ప్రదేశం. ASCII చాలా వీక్షించడానికి మంచి మరొక ఒకటి. మీ కోసం నేను చాలా నెమ్మదిగా వెళుతున్న మీరు కూడా 1.5x వేగం వద్ద నాకు చూడవచ్చు. అది యొక్క సమీక్ష నుండి, అలా సంకోచించకండి. జస్ట్ నిజంగా త్వరగా ప్రారంభించడానికి, మేము ఈ క్విజ్ సమస్యలను జంట ద్వారా వెళ్ళడానికి వెళుతున్న కేవలం త్వరగా ఈ ద్వారా చిలుకుతాయి కు. ఉదాహరణకు, యొక్క నేను బోర్డు మీద కుడి అప్ ఇక్కడ పొందారు సమస్య 16 చూద్దాం. మేము, బైనరీ లో ఈ క్రింది లెక్కింపు పొందారు మరియు మేము ఏ పని చూపాలనుకుంటున్న. ఓకే, నేను ఈ షాట్ ఇవ్వాలని వెళుతున్న. మీరు అబ్బాయిలు, కాగితం పాటు తప్పక మరియు మేము నిజంగా త్వరగా చేస్తాను. మేము బైనరీ కింది గణితము మీరు. నేను 00110010 పొందారు. మరియు నేను దానిని 00110010 జోడించండి వెళుతున్న. గణిత కోసం, ఇంటి వద్ద వెంట తరువాత విజయంతో ఈ సమర్థవంతంగా 2 గుణించడం ఉంది. ప్రారంభిద్దాం. మేము ఏమి అదే అదనంగా అల్గోరిథం అనుసరించండి చూడాలని మేము కలిసి దశాంశ సంఖ్యలు జతచేయునప్పుడు. రియల్లీ ఇక్కడ మాత్రమే తేడా మేము లూప్ తిరిగి చుట్టూ ఆ ఒకసారి మేము 1 + 1 బదులుగా ఒకసారి మేము 10 ను కలిగి ఉంటాయి. మేము నిజంగా త్వరగా, కుడి నుండి ప్రారంభం ఉంటే, ఏ మొదటి అంకెల ఏమిటి? [స్టూడెంట్] 0. >> [నేట్ H.] 0. గ్రేట్, రెండవ అంకెల? [స్టూడెంట్] 1. [నేట్ H.] ఇది 1? 1 + 1? [స్టూడెంట్] 10. [నేట్ H.] ఖచ్చితంగా నేను కలుపుతారు 2 వాటిని కింద కుడి వ్రాసే అంకెల కాబట్టి ఏమిటి? [స్టూడెంట్] 1, 0, 0 లేదా ఆపై 1 పడ్డారు. [నేట్ H.] 0 మరియు ఖచ్చితంగా ఒక 1 పడ్డారు. తదుపరి అప్, బాసిల్, మీరు అప్ ఉన్నారు. మూడవ ఏమిటి? >> [బాసిల్] 1. [నేట్ H.] 1, ఖచ్చితమైన. కెవిన్? [కెవిన్] 0. >> [నేట్ H.] 0, షార్లెట్? [షార్లెట్] 0. >> [నేట్ H.] అవును, నేను ఏమి చేస్తారు? [స్టూడెంట్] 1. [నేట్ H.] నేను ఏమి చేస్తారు? మరియు నేను 1 పడ్డారు. పర్ఫెక్ట్, Sahb? >> [Sahb] ఇప్పుడు మీరు 1 ఉన్నాయి. [నేట్ H.] నేను ఇక్కడ ఏదైనా ఎందుకు చేయాలి? [Sahb] అప్పుడు మీరు 1 కొనసాగింది ఎందుకంటే మీరు 1 కలిగి తదుపరి కోసం. [నేట్ H.] గ్రేట్, కాబట్టి ఇక్కడ దానిని ముగించవచ్చు. కూల్. [స్టూడెంట్] 0 + 0 = 0 ఇవ్వగలవా? 0 + 0 = 0. 1 + 1, మీరు చెప్పినట్టూ, 0 10, లేదా 1 అనేది. 10 నాకు 10 సంఖ్య 10 అనగా ఎందుకంటే ఒక తగని, మరియు అది వ్రాస్తున్నప్పుడు మేము అది ప్రాతినిధ్యం చేస్తున్నారు ఎలా నటన ఉంది. మేము 1, 0 ద్వారా సంఖ్య 2 సూచిస్తాయి, మరియు సంఖ్య 10 కొద్దిగా వ్యత్యాసం ఉంటుంది. బైనరీ గురించి nice రకం ఏమిటి నిజంగా చాలా ఉన్నాయి కాని ఉంది మీరు తెలుసుకోవడానికి అవసరం కేసులు. 0 + 0 = 0, 0 + 1 = 1, ఉన్నాయి 1 + 1 0, తరువాత, ఒక 1 తీసుకు మరియు తర్వాత మీరు కుడి నుండి మూడవ కాలమ్ లో ఇక్కడ చూడవచ్చు మేము ఈ 1, 1, 1 మరియు వచ్చింది. మరియు 1 + 1 + 1, ఒక 1 మరియు మీరు మరొక 1 పడ్డారు. మీరు బైనరీ అదనంగా చేయడం చేసినప్పుడు, చాలా సాధారణ. నేను తెలివి నిన్ను నీవు తనిఖీ ఈ రెండు మరింత పెంచండి మీరు ఈ ఎందుకంటే వెళ్ళడానికి ముందు బహుశా మేము క్విజ్ న చూస్తారు ఏదో. ఇప్పుడు ఈ తదుపరి ఏమి చూద్దాం. సమస్య 17 ఏమి యొక్క లెట్. మేము దశాంశ కింది బైనరీ సంఖ్య మార్చేందుకు వెళుతున్న. నేను 10100111001 పొందారు. ఐ డిడ్ ఆ బైనరీ వీడియో లో గుర్తుంచుకో నేను ఉదాహరణలు ఒక జంట ద్వారా వెళ్ళిపోయాడు మరియు నేను ఎలా చూపించింది మీరు దశాంశ లో చేయుచున్నారు ఉన్నప్పుడు ప్రతిదీ పనిచేస్తుంది. మీరు దశాంశ ప్రాతినిధ్యం లో పనిచేసే మనం భావిస్తున్నాను అది మన జీవితాల్లో ఈ సమయంలో అలా స్పష్టమైన ఆ ఇది వాస్తవంగా ఎలా పనిచేస్తుంది మెకానిక్స్ పై వ్యాఖ్యానం కు అందంగా సులభం. నేను సంఖ్య 137 అయితే, శీఘ్ర రీక్యాప్ చేయడానికి ఇది నిజంగా అర్థం పైన మరియు మళ్లీ ఈ దశాంశ ఉంది ప్రాతినిధ్యం- దశాంశ లో 137 నేను 1 x 100 + 3 x 10 + 7 x 1 ఉండవు. ఈ అన్ని తెరపై ఉంటున్న ఉంది. ఆపై మీరు ఇక్కడే ఈ సంఖ్యలో చూస్తే 100, 10 మరియు 1, వారు నిజంగా 10 యొక్క అన్ని అధికారాలు మేము చూసాము. నేను సున్నా 10 ², 10 ¹, మరియు 10 ఉన్నాయి. మేము, బైనరీ లో విషయం ఇదే విధమైన కలిగి ఆ తప్ప మా బేస్, మేము ఇది కూడా పిలుస్తారు, 10 2 బదులుగా ఉంటుంది. నేను క్రింద ఇక్కడ డౌన్ రాసిన ఈ 10s, ఈ 10 ², 10 ¹, సున్నా, 10 నుండి 10, మా బేస్ ఉంది మరియు విశేషము, 0, 1, లేదా 2, మేము వ్రాసే సంఖ్య అంకెల యొక్క స్థానం ఊహాజనితం. మేము దాన్ని చూస్తే 1, ఈ 1 2 స్థానంలో ఉంది. 3 1 వ స్థానంలో ఉంది, మరియు 7 0th స్థానంలో ఉంది. అంటే మా స్థావరాలను వివిధ కళాకారుల్లో పొందండి ఎలా. ఈ we'll-వాస్తవానికి అన్ని తరువాత, మీరు ఏమి? మేము నా దిద్దుబాటు రద్దుచెయ్యి బటన్ ఏమి-ఏమి అయ్యాయి చేస్తాము? అక్కడ అది వెళుతుంది. నేను ఈ విషయం దిద్దుబాటు రద్దుచెయ్యి ప్రేమ. ఈ నేపథ్యంలో నేను కనీసం నాకు అనుకుంటున్నాను ఒక బైనరీ సంఖ్య మార్పిడి ప్రారంభించడానికి సులభమైన మార్గం బేస్ 16 ఉన్న లేదా ఒక హెక్సాడెసిమల్ సంఖ్య మరియు 10 లేదా 2 ముందుకు వెళ్లి అవుట్ రచన ఎగువన నా బైనరీ సంఖ్య సంఖ్యల అన్ని స్థావరాలు మరియు పరిశోధకులు. మేము మళ్ళీ ఎడమ నుండి ప్రారంభం ఉంటే, counterintuitive రకం, ఇది నేను ఇక్కడ నలుపు తిరిగి మారుస్తాము, మేము, 0th స్థానం 2 కలిగి మరియు తర్వాత మేము 2 కలిగి ¹, 2 ², ఆపై 2 3, 5 2 4, 2, 6, 7, 8, 9, 10 మరియు. నేను వ్రాయలేదు ఈ సంఖ్యలు అన్ని ఆనవాళ్లుగా ఉంటాయి. నేను మాత్రమే కేవలం స్పేస్ మొదటి 3 ఇక్కడ స్థావరాలు రాశారు. ఈ సమయంలో నేను ముందుకు వెళుతున్న మరియు నిజానికి వేయండి వెళుతున్న సరే అయితే మేము, దశాంశ లో చేసిన విషయం. మీరు ఆ పొందారు. నేను ఖచ్చితంగా ఉన్నాను ఆన్లైన్ చూడటం మీరు ఆ మీరు కావాలనుకుంటే నాకు రివైండ్ చేయగలరు. పెన్ తిరిగి మార్పిడి. ఇప్పుడు, మనం చేయగలిగిందంతా-మీరు అబ్బాయిలు 2 యొక్క మీ శక్తులు న వేగవంతం పూర్తిగా అప్ కాదు, ఆ పూర్తిగా చల్లని ఉంది. ఇది జరుగుతుంది. నేను అర్థం చేసుకున్నాను. నేను 2 యొక్క అన్ని అధికారాలు తెలుసుకోవాలి చెప్పాడు నేను ఎక్కడ ఒకసారి ఒక ఉద్యోగ ఇంటర్వ్యూ కలిగి అప్ ద్వారా 2 30 వరకు. ఇది నేను ఒక ఉద్యోగం కాదు. , ఏమైనా, మీరు అబ్బాయిలు ముందుకు మరియు ఇక్కడ గణిత చేయండి కానీ బైనరీ తో నిజంగా సమంజసం అనిపించుకోదు మరియు లేదా, గాని దశాంశ లేదా హెక్సాడెసిమల్ తో సమంజసం లేదు మీరు సున్నాలు ఉంటుంది అవ్ట్ గణిత చేయడానికి. మీరు నేను ఇక్కడ, ఇక్కడ, ఇక్కడ, ఇక్కడ, ఇక్కడ, ఇక్కడ 0 0 0 0 0 0 కలిగి చూడగలరు. ఎందుకు అది నిజమైన గణిత చేయడానికి సమంజసం కాదు ఆ స్థానం కోసం 2 తగిన శక్తి లెక్కించేందుకు? షార్లెట్ చెప్పినట్టూ ఖచ్చితంగా, అది 0 ఉంటుంది. 2 యొక్క శక్తులు గణన మీ బలమైన దావా లేకపోతే అలాగే మీరే సమయాన్ని ఆదా చేయవచ్చు. ఈ సందర్భంలో మనం మాత్రమే ఇది 0 to 2 కోసం లెక్కించడానికి అవసరం-? [స్టూడెంట్] 1. [నేట్ H.] 1, 2 3 ఏ IS-? [స్టూడెంట్] 8. >> [నేట్ H.] 8. 2 నుంచి 4? [స్టూడెంట్] 2. నేను, క్షమించాలి 1 ఉన్నాను. [నేట్ H.] 2 4 ఖచ్చితంగా, 16 ఉంది. 2 5, కెవిన్? >> 32. [నేట్ H.] 32, 2 8? [స్టూడెంట్] 32 x 8, 256. [నేట్ H.] పర్ఫెక్ట్. మరియు 2 10? [స్టూడెంట్] 1024. [నేట్ H.] అవును, 1024. ఒకసారి మేము వాటిని మొత్తం సంకలనం ఈ సంఖ్యలు పొందారు. మరియు ఇది కొన్ని విషయాలను చేయడానికి చాలా ముఖ్యమైనది ఎక్కడ ఉంది. ఒక నెమ్మది వెళ్ళి మీ పని తనిఖీ ఉంది. మీరు ఈ సంఖ్య చివరిలో ఒక 1 లేదు చెప్పవచ్చు నేను ఖచ్చితంగా నా ఫలితంగా బేసి సంఖ్య కావాలి అన్ని ఇతర వాటిని సరి సంఖ్యలను మాత్రం ఎందుకంటే అది ఒక బైనరీ సంఖ్య అని ఇచ్చిన. మీరు పరీక్ష ఈ పాయింట్ ను ఉంటే చేయడానికి ఇతర విషయం మరియు మీరు ఈ దూరం దాన్ని వ్రాయలేదు మరియు మీరు సమయం నుండి అమలు చేస్తున్నారు ఈ సమస్య విలువ అని పాయింట్ల సంఖ్య చూడండి. ఈ సమస్య, మీరు చూడండి-ఉంటే గా నా లాప్టాప్ తిరిగి ఫ్లిప్ వేగంగా ఈ సమస్య 2 పాయింట్లు విలువ ఉంటుంది, అందుచే అదనంగా యొక్క విధమైన కాదు మీరు నిజంగా సారి నొక్కినప్పుడు మీకు ద్వారా వెళ్ళి ఉండాలి. కానీ మేము ఐప్యాడ్ తిరిగి మారవచ్చు చేస్తాము, మరియు మేము నిజంగా త్వరగా ద్వారా వెళ్తారో. నేను మొదటి చిన్న సంఖ్యలో చేయడం ఇష్టం నేను ఆ సులభంగా కనుగొనేందుకు ఎందుకంటే. వారు చాలా సులభంగా కలిసి వెళ్ళి ఎందుకంటే నేను 32 మరియు 8 ఇష్టం, మరియు మేము 50 పొందండి. 16 మరియు 1 17 పొందుతాడు. అక్కడ మేము, 57 మరియు తర్వాత మేము ఈ మిగిలిన, అందుచే మేము, 156 57 చేయవచ్చు చేయవచ్చు. న వస్తాయి. మాన్, బాగా, యొక్క చూసేలా. మేము 57, 256, మరియు 1024 ఉంది. ఈ సమయంలో, నేను కేవలం ద్వారా వెళ్ళాలి. నేను క్లూ ఉంటుంది. నేను స్పష్టంగా ఈ లో చదవడానికి అవసరం. 7, 6, మరియు 4, మీరు 17 పొందండి. 1, 5, 5, 2, 13. అప్పుడు మేము 3 చేయండి, ఆపై మేము 1 పొందండి. 1337. ఈస్టర్ గుడ్డు, ఎవరైనా? ఎవరైనా ఈ సంఖ్య గుర్తించి? క్రిస్ సంఖ్య గుర్తించింది. అది, క్రిస్ శతకము [క్రిస్] లీట్. మీరు ఈ విషయంలో చూస్తే లీట్, కాబట్టి, అది లీట్ కనిపిస్తోంది. హ్యాకర్ విషయం. మధ్యంతర లేదా క్విజ్ కాకుండా విషయాలను ఆ రకమైన కోసం చూడండి. మీరు వాటిలో ఆ విధమైన చూడండి మరియు మీరు వొండరింగ్ ఉంటే "అహ్," వాస్తవానికి ఏదో కావచ్చు. నాకు తెలీదు. డేవిడ్ అది సైన్ ఉంచడం ఇష్టపడ్డారు ఇది తెలివి తనిఖీ చెయ్యడానికి ఒక మంచి మార్గం. సరే ఇలా నేను ఏమి చూడగలరు. ఆ వారం 0/Week 1 విషయాలు అనిపిస్తుంది. మేము ఇప్పుడు మా ల్యాప్టాప్ తిరిగి మారవచ్చు ఉంటే, దూరంగా, మరియు ఇతర విషయాలను. మేము సమస్య సెట్లతో చాలా చేయడం చేసిన, ఇది ASCII ఉంది. రాజధాని A. ఈ అభిప్రాయం నిజంగా ఏమిటి? అది దశాంశ పూర్ణాంక తెలియకుండా. 65, ASCII పట్టికలో జతపరచేది ఏమి ఉంది మరియు ఆ, కంప్యూటర్ అది వ్రాస్తాడు ఎలా కాబట్టి యొక్క మరియు మేము నిజంగా రాసే దూరంగా పొందడానికి చేసిన ఎలా పాత్ర రాజధాని A మరియు పాత్ర చిన్న మీరు చేస్తున్న చేసిన ఈ పరిష్కారాలను మరియు సమస్య సెట్లు కొన్ని. ఇతర విషయాలను. మేము ప్రకటనలు, బూలియన్ భావాలు, పరిస్థితులు, ఉచ్చులు, వేరియబుల్స్ మరియు దారాలను పొందారు. ఆ అన్ని చాలా సమంజసం కనిపిస్తుంది? ఈ పరిభాష కొన్ని సమయాల్లో కొద్దిగా అల్లరిగా ఉంది. నేను ఒక సెమికోలన్ తో ముగిసే చాలా ఏదో కోసం ఒక ప్రకటన ఆలోచించడానికి ఇష్టపడతాను. అటువంటి x వంటి ప్రకటనలు = 7, వేరియబుల్ చేస్తుంది, బహుశా x = 7 అని. బహుశా x, కూడా సంఖ్య 7 నిల్వ చేసే రకం అది ఒక పూర్ణాంకానికి లేదా బహుశా ఒక ఫ్లోట్ లేదా ఒక చిన్న లేదా చార్ యొక్క అలాంటిదే. బూలియన్ వ్యక్తీకరణ సమానం ఈ డబుల్ ఉపయోగిస్తుంది మరియు బ్యాంగ్, కంటే ఎక్కువ, తక్కువ కాకుండా సమానం లేదా సమానం కాదు కంటే తక్కువ లేదా వాటిలో ఆ విధమైన, సమానంగా. నిబంధనలు అప్పుడు ఉంటే ఇంకా ప్రకటనలు ఉంటాయి. నేను మీరు సంబంధిత లేకుండా ఒక else ఉండకూడదు గుర్తుంచుకోవాలి చేస్తుంది. అలాగే, మీరు ఉంటే సంబంధిత లేకుండా ఒక else ఉండకూడదు. ఉచ్చులు, మేము మీరు hammering చేసిన లూప్ల 3 రకాల రీకాల్ విభాగాలు మరియు సమస్య సెట్లు గత రెండు. మీరు యూజర్ ఇన్ పుట్ చేస్తున్నారు ఉన్నప్పుడు ఉన్నప్పుడు ఉపయోగించి, ఒక ప్రత్యేక పరిస్థితికి వరకు ఉచ్చులు నిజమైన ఉంది ఉపయోగించి, మీరు అవసరం ఉంటే ఆపై ఉచ్చులు కోసం ఆ ఉపయోగించి మీరు ప్రస్తుతం ఉన్నారు లూప్ ఏ మళ్ళా తెలిసిన నేను దాని గురించి ఆలోచించండి ఎలా ఉంది. లేదా మీరు నేను చేయాలని స్ట్రింగ్ లో ప్రతి పాత్ర కోసం ఒక చేస్తున్నా ఉంటే, నేను ఆ అంశానికి చేయాలని వ్యూహం ప్రతి మూలకం కోసం. థ్రెడ్ మరియు సంఘటనలు. ఈ మేము, C అలా స్పష్టంగా కవర్ లేదు కానీ స్క్రాచ్ నుంచి ఈ గుర్తుంచుకోవాలి. ఈ విభిన్న స్క్రిప్ట్లు కలిగి చెప్పవచ్చు. ఈ కూడా ఒక ఈవెంట్ను ప్రసారం యొక్క ఈ భావన ఉంది. కొంతమంది ప్రారంభంలో వారి ప్రాజెక్టులలో ప్రసార ఉపయోగించడానికి లేదు ఇది పూర్తిగా బాగుంది కానీ ఈ, అనుకూలత అనే ఈ విషయం నిర్వహణ 2 వివిధ మార్గాలు ఇది ఎలా మీరు కార్యక్రమాలు అమలు ఎలా ఉంది లేదా అకారణంగా అదే సమయంలో అమలు? ఇతర పనులు కూడా అమలు అయితే వివిధ పనులు అమలు. ఇది మీ ఆపరేటింగ్ సిస్టమ్ పని ఉంది ఎలా ఉంది. ఈ ఉదాహరణకు, ఎందుకు అయినప్పటికీ ఉంది నా బ్రౌజర్ అమలులో గాట్, నేను కూడా Spotify ఆన్ మరియు ఒక పాట ప్లే చేసుకోవచ్చు. అర్థం ఒక సంభావిత విషయం మరింత. నేను చిన్న థ్రెడ్ పరిశీలించి చేస్తుంది మీరు గురించి మరింత తెలుసుకోవడానికి చెయ్యాలనుకుంటే. యొక్క చూసేలా, నేను కూడా ఉండవచ్చు నమ్మకం ఈ ఒకటి ఈ సమస్య. మళ్ళీ, నేను దారాలు మరియు సంఘటనలు మేము సి లో కవర్ చేస్తుంది విషయం కాదు నా ఇది గణనీయంగా స్క్రాచ్ కంటే మరింత కష్టం కనుక. మీరు దానిని అక్కడ గురించి ఆందోళన, కానీ ఖచ్చితంగా భావనలు అర్థం కాదు ఏమి అర్థం. మేము ముందుకు ముందు, వీక్ ఏ ప్రశ్నలు 0 పదార్థం? అందరూ చాలా ఫీలింగ్ గుడ్? అండర్స్టాండింగ్ వేరియబుల్స్ మరియు ఒక చరరాశి? న మూవింగ్. వీక్ 1. ముఖ్యంగా కవర్ కాదు అని ఇక్కడ కొన్ని విషయాలను క్విజ్ సమీక్షలో తప్పనిసరిగా మరియు ఆలోచించడానికి మరింత సంభావిత విషయాలు ఇక్కడ ఉన్నాయి. మొదటి సోర్స్ కోడ్, స్వరకర్తలు మరియు వస్తువు కోడ్ ఏమిటో ఈ చెప్పవచ్చు. ఎవరైనా? బాసిల్. ఉంది వస్తువు కోడ్-I సోర్స్ కోడ్ మీరు గణగణమని ద్వని చేయు ఉంచి ఏమిటి అర్థం, మరియు వస్తువు కోడ్ ఏమి గణగణమని ద్వని చేయు మీ కంప్యూటర్ ప్రోగ్రామ్ చదువుకోవచ్చు తద్వారా ఉంచుతారు ఉంటుంది. సరిగ్గా. సోర్స్ కోడ్ మీరు నిజంగా అప్ టైప్ ఆ C స్మృతి. ఆబ్జెక్ట్ కోడ్ మీరు గణగణమని ద్వని చేయు నుండి పొందుతారు. ఇది ఆ బైనరీ ఫార్మాట్ 0 సె మరియు 1s ఉంది. మీరు వస్తువు ఫైళ్లు కొంత ఉన్నప్పుడు అప్పుడు ఏమి జరుగుతుందనే, ఉంది మీరు, ప్రాజెక్ట్ బహుళ సోర్స్ కోడ్ ఫైళ్ళను ఉపయోగించే ప్రోగ్రాం కంపైల్ చేస్తున్నారు అనుకోండి ఇది సాంప్రదాయకంగా. సి ఫైల్ పొడిగింపు ఇస్తారు. మేము caesar.c, vigenère.c ఎందుకు పేర్కొంది. మీరు Java కార్యక్రమాలు రాస్తున్నాం ఉంటే వాటిని మీరు పొడిగింపు ఇస్తుంది. జావా. పైథాన్ కార్యక్రమాలు పొడిగింపు కలిగి ఉంటాయి. Py తరచుగా. మీరు బహుళ. సి ఫైళ్లను కలిగి, మీరు వాటిని కంపైల్. గణగణమని ద్వని చేయు ఈ బైనరీ వ్యర్థ అన్ని ఉమ్మి వేస్తారు. మీరు మాత్రమే 1 ప్రోగ్రామ్ మీరు అప్పుడు ఎందుకంటే మీరు ఈ వస్తువు యొక్క అన్ని కలిసి ఫైల్స్ లింకర్ లింక్ను కలిగి 1 ఎక్జిక్యూటబుల్ ఫైల్ లోకి. ఈ మీరు CS50 లైబ్రరీ ఉపయోగించేటప్పుడు ఏ ఉదాహరణకు, జరిగినప్పుడు కూడా ఉంది. CS50 లైబ్రరీ ఆ రెండూ. H శీర్షికా ఫైలును మీరు చదివే, # includecs50.h ఆ. అది కూడా ఒక ప్రత్యేక బైనరీ లైబ్రరీ ఫైల్ ఆ, 0 సె మరియు 1s అని సంకలనం చేసిన మరియు ఆ-l జెండా, కాబట్టి మేము మా Spaces తిరిగి వెళ్ళి ఉంటే మేము నిజంగా త్వరగా చూడండి మేము మా గణగణమని ద్వని చేయు ఆదేశం చూస్తున్నప్పుడు ఇక్కడ ఏం జరగబోతోంది వద్ద, మనం పొందారు ఈ ఇక్కడే మా సోర్స్ కోడ్ ఫైలు ఉంది. ఈ కంపైలర్ జెండాలు కొంత ఉంటాయి. మరియు తర్వాత చాలా చివరిలో, ఈ-l జెండాలు లింక్ లో ఈ 2 గ్రంథాలయాల కోసం వాస్తవ బైనరీ ఫైళ్ళను, CS50 లైబ్రరీ మరియు తరువాత గణిత లైబ్రరీ. ఫైళ్ళను 'ప్రయోజనం ప్రతి రకం గ్రహించుట సంగ్రహం ప్రక్రియలో చెయ్యడానికి మీరు చేస్తాము విషయం కనీసం ఒక ఉన్నత స్థాయి అవగాహన కల్పించేందుకు. ఆబ్జెక్ట్ కోడ్ బయటకు వచ్చి సైన్ మూల కోడ్ వస్తుంది. ఆబ్జెక్ట్ కోడ్ ఫైళ్ళను కలిసి లింక్, మరియు మీరు ఒక అందమైన, అమలు ఫైల్. కూల్. మీరు బహుళ పాయింట్ల వద్ద లోపాలు పొందవచ్చు కూడా ఇక్కడే సంగ్రహం ప్రక్రియలో. ఈ పేరు, ఉదాహరణకు, మీరు ఈ లింక్ జెండాను తీసుకుంటే, ఉంది మీరు మీ కోడ్ అమలు చేసినప్పుడు CS50 జెండా మరియు మీరు, Spaces లో దీనిని మినహాయించడం లేదా మీరు, లింక్ దశలో లోపం పొందుతారు పేరు ఈ ఉంది మరియు లింకర్ హే, మీరు ఒక ఫంక్షన్ GetString అని ", పలుకును ఆ CS50 లైబ్రరీ ఉంది. " "అది మీరు CS50 లైబ్రరీ లో నాకు చెప్పారు, మరియు నేను కోసం కోడ్ దొరకదు." మీరు దానిని లింక్ కలిగి పేర్కొంది, మరియు ప్రత్యేక ఉంది ఒక కంపైలర్ లోపం నుండి కంపైలర్ సింటాక్స్ మరియు stuff ఆ రకమైన చూడటం ఎందుకంటే. ఇది ఉన్నప్పుడు ఏమి గుడ్ టు నో. ఇతర విషయాల గురించి తెలుసుకోవడానికి. నేను మీరు ఖచ్చితంగా జోర్డాన్ చేసిన ఒకే రకం పాత్రలు చేయడం న చిన్న పరిశీలించి అనుకుందాం చేస్తుంది ints హుడ్ కింద ఏమిటో అర్థం, హుడ్ కింద ఏ అక్షరాలు ఉంటాయి. మేము ASCII మాట్లాడే మరియు మేము నిజంగా ASCII పట్టిక చూస్తున్నప్పుడు, ఏమి ఏ హుడ్ దృష్టి మాకు ఒక అందిస్తున్న కంప్యూటర్ నిజానికి రాజధాని సూచిస్తుంది ఎలా వద్ద ఒక మరియు అంకెల 7 మరియు కామాతో మరియు ఒక ప్రశ్న గుర్తు. కంప్యూటర్ కూడా ప్రాతినిధ్యం ప్రత్యేక మార్గాలను కలిగి ఉంది పూర్ణాంకం, సంఖ్య 7. ఇది ఒక ఫ్లోటింగ్ పాయింట్ సంఖ్యలు వంటి సంఖ్య 7 ప్రాతినిధ్యం ప్రత్యేక మార్గం ఉంది మరియు ఆ చాలా భిన్నంగా ఉంటాయి. ఒకే రకం పాత్రలు చేయడం మీరు కంప్యూటర్ "హే, నేను మీరు మార్చేందుకు మీరు చెప్పండి ఎలా ఉంది ఒక ప్రాతినిధ్యాన్ని మరొక ప్రాతినిధ్యం కు. " ఎందుకు మేము ఆ పరిశీలించి లేదు. నేను కూడా లైబ్రరీల మీద చిన్న మరియు కంపైలర్సును న చిన్న పరిశీలించి చేస్తుంది. సంకలనం యొక్క ప్రక్రియ గురించి ఆ చర్చ, ఏ ఒక గ్రంథాలయం, మరియు మీరు అడిగారు get అని ఈ ప్రశ్నలు కొన్ని వెళ్ళి. వీక్ 1 అంశంపై ప్రశ్నలు? మీరు కవర్ చేయడానికి కావలసిన వీరిని కనిపించే ఇక్కడ ఏ అంశాలు ఉన్నాయి? మేము ను విధంగా నేను ఈ ప్రారంభ విషయాల నుంచి వీచడం దీనికై గమనికలు మరియు సూత్రం యొక్క ఏమి కొద్దిగా. ఆలోచనలు? కవర్ చేయడానికి ఏదైనా? బహుశా కొన్ని చాక్లెట్ కోసం సమయం? మీరు అబ్బాయిలు ఇది ద్వారా కృషి చేస్తున్నారు. నా కాఫీ లో sipping ఉంచడానికి వెళుతున్న. 2 వ వారం. గుడ్ కాల్, మంచి కాల్. వీక్ 2 మేము విధులు గురించి కొద్దిగా ఎక్కువ మాట్లాడారు. మొదటి కొన్ని సమస్య సెట్లలో మేము నిజంగా ఎలాంటి విధులు రాయడానికి లేదు ఇది ఫంక్షన్ కంటే ఇతర? సరిగ్గా [స్టూడెంట్] ప్రధాన. >> ప్రధాన. కాబట్టి మేము ప్రధాన ధరిస్తుంది వివిధ దుస్తులను చూసిన. అది ఎటువంటి వాదనలూ లేవు పడుతుంది దీనిలో ఒక ఉన్నది మరియు మేము, వాక్యాల మధ్య లో తప్ప సే తరువాత, మేము ఆదేశ పంక్తి వాదనలు తీసుకోవాలని అనుకుంటున్నారు పేరు ఇతర ఒక ఉంది మీరు Int argc మరియు స్ట్రింగ్ argv శ్రేణి కలిగి ఉన్న మరియు మేము చూసిన వంటి, ఆ లేదా ఇప్పుడు మేము నిజానికి అది చార్ * అని స్ట్రింగ్ బహిర్గతం చేసిన మేము చార్ * argv మరియు తరువాత బ్రాకెట్లలో గా రాయటం మొదలుపెట్టాలని వెళుతున్న. సమస్య సెట్ 3, మీరు అబ్బాయిలు, ఫంక్షన్స్ కొంత చూసిన మరియు మీరు విధులను కొంత అమలు, డ్రా, పెనుగులాట వెతకండి. నమూనాలను అన్ని మీరు అక్కడ రాశారు. నేను నిజంగా త్వరగా విధులు ఇక్కడ మాట్లాడటానికి అనుకున్నవే మీరు ఒక ఫంక్షన్ వ్రాయండి చేసినప్పుడు 3 భాగాలు వారికి ఉన్నాయి ఉంది. మీరు ఫంక్షన్ తిరిగి టైప్ పేర్కొనాలి. మీరు ఫంక్షన్కు ఒక పేరు పేర్కొనాలి, ఆపై మీరు పేర్కొనాలి వాదన జాబితా లేదా పారామితి జాబితా. ఉదాహరణకు, నేను పూర్ణాంకాల యొక్క బంచ్ అప్ మొత్తానికి ఒక ఫంక్షన్ రాయడానికి ఉన్నాయి తరువాత నాకు నా తిరిగి టైప్ అంటే ఏమిటో మొత్తం తిరిగి నేను పూర్ణ మొత్తం మరియు తరువాత మొత్తం తిరిగి కోరారు? ఉంటే అప్పుడు ఆ చర్య యొక్క పేరును. నేను ముందుకు వెళ్లి గ్రీన్ వ్రాస్తే, ఈ భాగాన్ని రకం. ఈ భాగం పేరు. ఆపై వాక్యాల మధ్య లో నేను వాదనలు ఇవ్వాలని పేరు ఉంది తరచుగా కొన్నిసార్లు పారామితులు కోసం పరామితులు అని ARGS, క్లుప్తంగా. మీకు ఒకటి ఉంటే మీరు కేవలం ఒక తెలుపుము. మీరు బహుళ ఉంటే మీరు కామాతో ప్రతి ఒక వేరు. మరియు ప్రతి వాదన కోసం మీరు 2 విషయాలు ఇస్తున్న ఉంటాయి-కెవిన్? [కెవిన్] మీరు టైప్ చేసి, ఆపై పేరు ఇవ్వాల్సి ఉంటుంది. ఆపై పేరు, మరియు పేరు మీరు ఉపయోగించే చూడాలని ఉద్దేశ్యంతో పేరు మొత్తం ఫంక్షన్ లో ఆ వాదన సూచించడానికి, మీరు ప్రస్తుతం రాస్తున్నాం ఫంక్షన్ లో. మీరు, నేను సంకలనం వెళుతున్న ఉంటే, ఉదాహరణకు నుండి కోసం లేదు పూర్ణాంకాల-we'll యొక్క వ్యూహం Int శ్రేణి చేయండి సే,, మరియు నేను కొన్ని వంకర జంట కలుపులు ఇస్తాము అక్కడ- నేను మొత్తం కు వ్యూహం పాస్ అప్పుడు నేను వాదన జాబితా యొక్క మొదటి స్థానం లో పాస్. కానీ నేను వెళ్ళే శ్రేణి పేరు చేరే సమయం కలిగి లేదు. చేరే సమయం నేను పనితీరు శరీరం లోపల ఆ వాదన చూడండి ఎలా ఉండబోతుంది. మేము పరిగణనలోకి తీసుకోవాలని అవసరమైన ఇతర విషయం, మరియు ఈ పనులను కొంచెం వ్యత్యాసంగా ఉంటుంది, కాని నేను ఇది ఒక ముఖ్యమైన స్థానం అని సి లో నేను ఈ వంటి ఒక ఫంక్షన్ రాయడం ఉన్నపుడు ఆ ఎలా నేను ఈ శ్రేణి లో ఎన్ని అంశాలు తెలుసు? ఈ ఒక ట్రిక్ ప్రశ్న కొంతవరకు ఉంది. మేము గత వారం యొక్క విభాగంలో ఈ గురించి కొద్దిగా మాట్లాడారు. నేను సి ఒక శ్రేణిలో మూలకాల సంఖ్య తెలుసు? ఒక మార్గం ఉంది? ఇది తెలిసిన మార్గం లేదు అని అవుతుంది. మీరు ప్రత్యేకంగా లో ఉత్తీర్ణత సాధించవలసి ఉంటుంది. మీరు చేయవచ్చు ఒక ట్రిక్ ఉంది మీరు శ్రేణి డిక్లేర్డ్ ఉంది అదే ఫంక్షన్ లో అయితే మరియు మీరు ఒక స్టాక్ శ్రేణి తో పని చేస్తున్నాము. మీరు అదే ఫంక్షన్ లో అయితే కానీ మాత్రమే పనిచేస్తుంది. మీరు మరొక కు వ్యూహం పాస్ లేదా మీరు వ్యూహం డిక్లేర్డ్ ఉంటే మరియు మీరు కుప్ప ఆ శ్రేణి ఉంచారు, మీరు malloc ఉపయోగించి  మరియు వాటిలో ఆ విధమైన, అప్పుడు అన్ని పందెం ఆఫ్ ఉంటాయి. అప్పుడు మీరు నిజంగా చుట్టూ పాస్ కలిగి ప్రత్యేక వాదన లేదా మరొక పారామితి శ్రేణి ఎంత పెద్ద మీరు చెప్పటం. ఈ సందర్భంలో, నేను క్షమించండి, తెరపై జరగబోతోంది కామాతో I'm ఉపయోగించాలనుకుంటున్నాను భావిస్తున్న ఇక్కడ మరియు నేను మరొక వాదన లో పాస్ కావలసిన  మరియు అది పొడవు కోసం Int లెన్ కాల్. క్విజ్ లో రావచ్చు ఒక్క విషయము అని ఒక నిర్దిష్ట విధిని రాయడం లేదా అమలు మీరు అడుగుతున్నారు. మేము మీరు నమూనా ఇవ్వాలని లేదు ఉంటే, ఇక్కడ ఈ మొత్తం విషయం, ఈ మొత్తం మెస్, ఫంక్షన్ ప్రకటన లేదా చర్య నమూనా అని పిలుస్తారు ఈ ఇచ్చిన చేయకపోతే మీరు డౌన్ గోరు చెయ్యవచ్చును మొదటి విషయాలు ఒకటి వెంటనే క్విజ్ మీకు. నేను తెలుసుకున్న చేసిన ఇతర ట్రిక్ అని మేము మీరు ఒక వేడుకలో ఒక నమూనా ఇవ్వాలని చెప్పే, మరియు మేము సే, "హే, మీరు వ్రాయుటకు పొందారు." మీరు క్విజ్ లో కలిగి ఆ గిరజాల జంట కలుపులు ఇన్సైడ్ మీరు తిరిగి టైప్ లేదు అని గమనించి మరియు మీరు గమనిస్తే ఆ తిరిగి రకం ఫంక్షన్ ఏదైనా తిరిగి అర్థం కాదు ఇది తప్ప, కంటే ఇతర ఏదైనా, ఉంది అప్పుడు మీరు ఖచ్చితంగా చేయాలనుకుంటున్నారా ఒక విషయం వ్రాయడానికి ఉంది ఫంక్షన్ యొక్క చివరిలో తిరిగి ప్రకటన విధమైన. మేము ఖాళీ పూరించడానికి కావలసిన ఎందుకంటే రిటర్న్, మరియు ఈ సందర్భంలో, మనం ఖాళీ ఉంచుతాము. కానీ ఈ మీరు ఎలా ఈ సమస్య చేరుకోవటానికి నేను గురించి సరైన విధంగా ఆలోచిస్తూ గెట్స్? మరియు మీరు ఒక విలువను తిరిగి చూడాలని మీరు గుర్తు పనితీరు కాలర్కు. అవును. >> [స్టూడెంట్] మేము క్విజ్ న కోడ్ వ్రాస్తున్నప్పుడు శైలి వర్తిస్తుంది? ఇండెంటేషన్ని మరియు stuff ఆ రకమైన వంటి? >> [స్టూడెంట్] అవును. కాదు, కాదు చాలా. నేను, ఈ-చాలా మేము రోజు క్విజ్ న స్పష్టం చేస్తాము ఏదో భావిస్తే కానీ సాధారణంగా గురించి చింతిస్తూ # కలిగి మరియు stuff ఆ రకమైన, ఇది బయట యొక్క ఉంటాము. [స్టూడెంట్] మీరు మీ చేతితో రాసిన కోడ్ మీరే చెయ్యాలి? మీ చేతితో రాసిన కోడ్ మీరే చెయ్యాలి? మీరు పాక్షిక క్రెడిట్ గురించి ఆందోళన మీరు వ్యాఖ్యానిస్తూ ఎప్పుడూ మంచిది లేదా మీరు grader మీ ఉద్దేశం కమ్యూనికేట్ మీరు. కానీ నేను, మళ్ళీ, క్విజ్ పైనే మరియు క్విజ్ రోజు స్పష్టం చేస్తుంది కానీ నేను మీకు, వ్యాఖ్యలు రాయడం చేయాలి ఉందని విశ్వసించడం లేదు. సాధారణంగా, కానీ ఖచ్చితంగా విషయం యొక్క విధమైన కాదు పేరు మీరు, మీ ఉద్దేశం కమ్యూనికేట్ "నేను తో వెళుతున్న పేరు హే, ఇది ఉంది." మరియు కొన్నిసార్లు పాక్షిక క్రెడిట్ తో సహాయపడే. కూల్. బాసిల్. [బాసిల్] Int lang సే, ప్రకటించే మధ్య తేడా ఏమిటి ఫంక్షన్ ఒక వేరియబుల్ ప్రకటించారు వర్సెస్ వాదనలు లేదా పారామితులు లో? వావ్, కాఫీ గాలివాహిక మరణించింది. [బాసిల్] మేము వాదనలు ఉంచారు కోరుకుంటున్న విషయాలు ఇష్టపడుతున్నారు. అవును, ఒక గొప్ప ప్రశ్న. ఎలా మీరు వాదనలు అందించేందుకు ఏమి విషయాలు ఎంచుకుంటే మీరు ఫంక్షన్ లోపలి చెయ్యాలి విషయాలు వర్సెస్? ఈ సందర్భంలో మనం వాదనలు ఈ రెండు ఉన్నాయి వారు మొత్తం క్రియాశీలతను ఉపయోగించదు అన్నారు ఎవరైతే ఏదో ఉన్నారు ఎందుకంటే ఆ విషయాలు తెలుపుము అవసరం. మొత్తం ఫంక్షన్, మేము గురించి మాట్లాడారు వంటి తెలుసుకోవడం కాదు ఉంది తన కాలర్ లేదా ఎవరైతే నుండి పొందుతుంది ఎంత పెద్ద శ్రేణి మొత్తం ఫంక్షన్ ఉపయోగిస్తోంది. ఇది ఆ శ్రేణి ఎంత పెద్ద తెలుసుకోవడం కాదు ఉంది. మేము ఒక వాదన గా ఇక్కడే ఈ పొడవు పాస్ కారణం మేము ప్రధానంగా, పనితీరు కాలర్ చెప్పుకుంటున్నారు ఏదో ఎందుకంటే ఉంది మొత్తం క్రియాశీలతను ఉపయోగించదు అన్నారు ఎవరైతే, "హే, మీరు మాకు వ్యూహం ఇవ్వాలని ఉన్నాయి మాత్రమే ints యొక్క, మీరు కూడా ఎంత పెద్ద మీరు మాకు ఇచ్చిన చేసిన శ్రేణి మాకు అవసరం. " [బాసిల్] ఆ రెండు ఆదేశ పంక్తి వాదనలు ఉంటుంది? లేదు, ఈ మీరు ఫంక్షన్ కు చేరుతుందని నిజమైన వాదనలు. నాకు ఇక్కడ ఒక కొత్త పేజీ తెలియజేసేలా. [బాసిల్] పేరు ఇలా ఉత్తీర్ణత చేస్తుంది [నేట్ H.] నేను Int ప్రధాన ఉంటే (తప్ప), మరియు నేను, దిగువన ఇక్కడ నేను తిరిగి 0 లో అణిచివేసేందుకు వెళుతున్న మరియు నేను మొత్తం ఫంక్షన్ కాల్ అనుకుందాం. నేను చెప్పాలనుకోవడం Int x = మొత్తం (); మొత్తం ఫంక్షన్ ఉపయోగించేందుకు నేను అప్ సంకలనం చేయదలిచిన రెండు శ్రేణి లో ఉత్తీర్ణత సాధించవలసి ఉంటుంది యెరే యొక్క పొడవు, కాబట్టి ఈ పేరు ఉంది నేను, ints యొక్క వ్యూహం కలిగి ఊహించండి నేను కలిగి చెప్పేది Int numbaz [] = 1, 2, 3, అక్కడే సింటాక్స్ అప్ హ్యాక్ ఉపయోగించడం రకం, అప్పుడు నేను ఉంటుంది మొత్తం లో నేను పాస్ అనుకుంటున్నారో numbaz మరియు సంఖ్య 3 రెండు "సరే, ఇక్కడ నేను మీరు సంకలనం చేయదలిచిన శ్రేణి ఉంది." మొత్తం ఫంక్షన్ చెప్పడం "ఇక్కడ దాని పరిమాణం ఉంటుంది." ఆ సమంజసం లేదు? మీ ప్రశ్నకు సమాధానం ఉందా? పలు రకాలుగా మనం ప్రధాన తో చేయడం ఏమి సమాంతర చేస్తుంది మేము ఆదేశ పంక్తి వాదనలు ఉన్నప్పుడు. సీజర్ సాంకేతికలిపి వంటి ఒక ప్రోగ్రామ్, ఉదాహరణకు, ఆ అవసరం ఆదేశ పంక్తి వాదనలు ఏదైనా చేస్తామని కాదు. మీరు ఏ కీ ఉపయోగించడానికి చెప్పలేదు అది గుప్తీకరించడానికి ఎలా అర్థం కాదు లేదా మీరు గుప్తీకరించడానికి అనుకున్నవే స్ట్రింగ్ అది చెప్పరు ఉంటే. మేము 2 విభిన్న పద్దతులను పొందారు పేరు ఇన్పుట్ కోసం ప్రాంప్ట్, ఈ ఉంది యూజర్ నుండి సమాచారం తీసుకుని వినియోగదారు నుండి ఇన్పుట్ తీసుకుని. సమస్య 1 కోసం మేము ఈ GetInt, GetString, GetFloat విధంగా చూసిన ఇన్పుట్ కోసం ప్రాంప్ట్ యొక్క, మరియు ప్రామాణిక ఇన్పుట్ స్ట్రీమ్ ఉపయోగించి అని. ఇది కొద్దిగా భిన్నంగా ఉంటుంది. ఇది వ్యతిరేకంగా మీరు ఒక సమయంలో విషయం యొక్క మీరు ప్రోగ్రామ్ను అమలు ప్రారంభించిన మీరు ప్రోగ్రామ్, ఇన్వోక్ ఉన్నప్పుడు. మీరు ప్రోగ్రామ్ను అమలు ప్రారంభించిన ఆదేశ పంక్తి వాదనలు అన్ని పేర్కొంటారు. మేము ఆ రెండు మిక్సింగ్ చేసిన. మేము ఒక ఫంక్షన్ కు వాదనలు ఉపయోగించినప్పుడు, అది చాలా ముఖ్య కు ఆదేశ పంక్తి వాదనలు వంటిది. మీరు చెప్పడం అవసరం ఫంక్షన్ అర్థించడానికి ఉన్నప్పుడు ఇది తన పనులు అమలు చేయడానికి అవసరం సరిగ్గా అదే. , వద్ద మరియు చూడటానికి నేను మీరు మీ ఖాళీ సమయంలో అది చూద్దాం చేస్తాము మరో మంచి విషయం మరియు అది లో కవర్ జరిగినది స్కోప్ యొక్క ఈ భావన క్విజ్-ఉంది మరియు ప్రపంచ వేరియబుల్స్ వర్సెస్ స్థానిక వేరియబుల్స్. కు శ్రద్ద చేయండి. మేము, ఈ ఇతర స్టఫ్ న చేస్తున్నారు ఇప్పుడు ఆ 3 వ వారం లో మేము శోధించడం మరియు క్రమబద్ధీకరించేందుకు గురించి మాట్లాడటం మొదలుపెట్టాడు. , కనీసం CS50 లో, శోధిస్తోంది మరియు క్రమబద్ధీకరించేందుకు చాలా కంప్యూటర్ సైన్స్, మరింత సైద్ధాంతిక భాగాలు కొన్ని పరిచయం ఉంది. శోధన యొక్క సమస్య, సార్టింగ్ యొక్క సమస్య పెద్ద, కానానికల్ సమస్యలు. ఎలా మీరు పూర్ణాంకాల బిలియన్ల యొక్క వ్యూహం ఒక నిర్దిష్ట సంఖ్య కనుక్కుంటారు? ఎలా మీరు ఒక ఫోన్ బుక్ లోపల ఒక ప్రత్యేక పేరు కనుగొనగలను మీ ల్యాప్టాప్ న నిల్వ? కాబట్టి మేము asymptotic పరుగుల సార్లు ఈ భావన పరిచయం నిజంగా ఎంత, ఈ సమస్య ఎలా కష్టం పరిగణించడం, ఎంత వారు పరిష్కరించడానికి తీసుకుని. 2011 యొక్క క్విజ్, నేను అనుకున్నట్లుగా, నేను మెరిట్లతో భావిస్తున్న ఒక సమస్య ఉంది ఈ ఒక, సమస్య 12 ఇది చాలా త్వరగా కవర్. ఏ O, అది ఒమేగా ఉంది. ఇక్కడ మేము సాధ్యమైనంత వేగ పరుగుల సమయం గురించి మాట్లాడటం మీరు ఒక నిర్దిష్ట అల్గోరిథం మరియు అప్పుడు నెమ్మదిగా సాధ్యం రన్ టైం. ఈ ఒమేగా మరియు O నిజంగా కేవలం సత్వరమార్గాలు ఉన్నాయి. వారు చెప్పే సంజ్ఞామాన సత్వరమార్గాలు ఉన్నారు ఎంత వేగంగా ఉత్తమ కేసులో రెడీ మా అల్గోరిథం పరుగుల, మరియు ఎలా చెత్త సాధ్యం కేసులో నెమ్మదిగా మా అల్గోరిథం రన్ చేస్తుంది? ఈ రెండు చేయండి యొక్క లెట్, మరియు ఈ కూడా కప్పబడి ఉన్నాయి నేను అత్యంత సిఫార్సు ఇది asymptotic నోటేషన్ న చిన్న లో. జాక్సన్ మంచి ఉద్యోగం చేసాడు. బైనరీ శోధనతో, మేము, ఒక అల్గోరిథం గా బైనరీ శోధన మాట్లాడటానికి మరియు మేము సాధారణంగా పెద్ద ఓ పరంగా దాని గురించి మాట్లాడటానికి పెద్ద O ఏమిటి? బైనరీ శోధన తక్కువ వేగంతో సాధ్యం రన్ టైం అంటే ఏమిటి? [స్టూడెంట్] N ²? క్లోజ్, నేను ఆ ఊహించడం. ఇది చాలా వేగంగా కంటే ఉంది. [స్టూడెంట్] బైనరీ? >> అవును, బైనరీ శోధన. [స్టూడెంట్] ఇది లాగ్ n ఉంది. లాగిన్ n ఏమి అర్ధం కాబట్టి, n ప్రవేశించండి? ఇది ప్రతి పునరావృతం విభజించటం. సరిగ్గా, కాబట్టి నెమ్మదిగా సాధ్యం సందర్భంలో, మీరు ఒక క్రమబద్ధీకరించబడతాయి శ్రేణి ఉంటే చెప్పండి ఒక మిలియన్ పూర్ణాంకాల మరియు సంఖ్య మీరు చూస్తున్న గాని యెరే నందలి శ్రేణి లేదా ఆఖరి మూలకం లో మొట్టమొదటి అంశం. గుర్తుంచుకోండి, బైనరీ శోధన అల్గోరిథం, మధ్య మూలకం చూడటం ద్వారా పనిచేస్తుంది మీరు వెతికే మ్యాచ్ లేదో చూడటం. అది గొప్ప ఉంటే, మీరు కనుగొన్నారు. ఉత్తమ సందర్భంలో, ఎంత వేగంగా బైనరీ శోధన పరుగుల చేస్తుంది? [స్టూడెంట్స్] 1. 1, అది, 1 పెద్ద O స్థిరంగా సమయం. అవును. [స్టూడెంట్] నేను ఒక ప్రశ్న కలిగి ఉంటాయి. మీరు n యొక్క లాగిన్ చెప్పినప్పుడు మీరు కుడి, బేస్ 2 సంబంధించి అర్థం? అవును, కాబట్టి ఇతర విషయం. మేము లాగ్ n, మరియు నేను హై స్కూల్ లో ఉన్నప్పుడు, నాకు ఊహించడం నేను ఎల్లప్పుడూ log బేస్ 10 భావించి. అవును, అవును అలా, బేస్ 2 సాధారణంగా మేము ఉపయోగం ఏమిటి లాగిన్ అవ్వండి. మీరు శోధిస్తున్న మళ్లీ,, బైనరీ శోధన తిరిగి వెళ్ళడం చివరిలో మూలకం లేదా చాలా ప్రారంభంలో మూలకం, మీరు మధ్య ప్రారంభం మరియు ఎందుకంటే అప్పుడు మీరు తొలగించాలనుకుంటున్నారా కావాల్సిన సగం మీరు వెతికే ప్రమాణాలను చేరుకోలేదు, మరియు మీరు తరువాతి అర్ధ మరియు తరువాతి అర్ధ మరియు తరువాతి అర్ధ వెళ్ళండి. నేను మిలియన్ పూర్ణాంక శ్రేణి అతిపెద్ద మూలకం కోసం శోధించడం నేను ఉంటే నేను 1 మిలియన్ రెట్లు ఎక్కువ లాగ్ వద్ద సగానికి వెళుతున్న చివరికి నేను పరీక్షించడానికి మరియు మూలకం నేను చూస్తున్నాను ఆ చూడండి ముందు , అతిపెద్ద లేదా శ్రేణి యొక్క అత్యధిక ఇండెక్స్ లో ఉంది మరియు ఆ 1 మిలియన్ సార్లు లాగిన్ n యొక్క లాగ్ పడుతుంది. బబుల్ సార్ట్. మీరు అబ్బాయిలు బబుల్ సార్ట్ అల్గోరిథం గుర్తు లేదా? కెవిన్, మీరు నాకు బబుల్ సార్ట్ అల్గోరిథం లో జరిగినదాని యొక్క శీఘ్ర రీక్యాప్ ఇస్తుంది? [కెవిన్] సహజంగా జాబితాలో ప్రతిదీ ద్వారా వెళుతుంది. ఇది మొదటి రెండు వద్ద ఉంది. మొదటి ఒక రెండవ దానిని మార్పిడులు వారికి కంటే పెద్ద ఉంటే. అప్పుడు రెండవ మరియు మూడవ అదే పని, మార్పిడులు, పోల్చి మూడవ మరియు నాల్గవ, అన్ని మార్గం డౌన్. పెద్ద సంఖ్యలో చివర సంప్రదిస్తుంది. అయితే అనేక లూప్ల తర్వాత మీరు పూర్తి చేసిన. సరిగ్గా, సో వాట్ కెవిన్ చెప్పాడు మేము పెద్ద సంఖ్యలో చూస్తాను ఉంది అర్రే చివర బబుల్ అప్. ఈ మా శ్రేణి ఉదాహరణకు, మీరు ఈ ఉదాహరణ ద్వారా మాకు వాకింగ్ పట్టించుకోవడం లేదు? [కెవిన్] మీరు 2 తీసుకొని 3 చేస్తాము. 3 2 కన్నా పెద్దది, కాబట్టి మీరు వాటిని మార్పిడి. [నేట్ H.] కుడి, కాబట్టి మేము ఈ మార్పిడి, అందువలన మేము, 3, 4 6 2 పొందండి, మరియు 9. [కెవిన్] అప్పుడు మీరు 3 మరియు 6 పోల్చండి. , 3 6 కంటే తక్కువగా ఉంటుంది, అందువలన మీరు వాటిని వదిలి 4 6 కంటే తక్కువగా ఉంటుంది ఎందుకంటే మరియు 6 మరియు 4, మీరు వాటిని మార్పిడి భావిస్తున్న. [నేట్ H.] కుడి, నేను 2, 3, 4, 6, 9 పొందండి. [కెవిన్] మరియు 9 6 కన్నా పెద్దది, కాబట్టి మీరు వదిలి. మరియు మీరు మళ్ళీ దాన్ని ద్వారా తిరిగి వెళ్ళాలి. నేను ఈ సమయంలో [నేట్ H.] పూర్తి వున్నాను? >> [కెవిన్] నం మరియు నేను ఈ సమయంలో పూర్తి లేదు? నా శ్రేణి క్రమబద్ధీకరించబడింది కనిపిస్తుంది ఎందుకంటే. నేను వద్ద చూస్తున్నాను. [కెవిన్] మళ్లీ ఇది ద్వారా వెళ్లి no more మార్పిడులు ఉన్నాయి నిర్ధారించుకోండి మీరు పూర్తిగా మానివేయవచ్చు ముందు. సరిగ్గా, కాబట్టి మీరు ద్వారా కొనసాగించడాన్ని మరియు మార్పిడులు ఉన్నాయి నిర్ధారించుకోవాలనుకుంటున్నాము మీరు ఈ సమయంలో చేసే. మీరు చెప్పినట్టూ మనం అప్ ముగిసింది, నిజంగా కేవలం అదృష్టవశాత్తు మాత్రమే ద్వారా 1 తరలింపు అవసరం మరియు మేము క్రమబద్ధీకరించబడతాయి చేస్తున్నారు. కానీ సాధారణ సందర్భంలో దీన్ని మేము నిజంగా మళ్ళీ మరియు ఈ విధంగా ఉంటుంది. నిజానికి, ఈ, ఉత్తమ కేసులో ఒక ఉదాహరణ వంటి మేము సమస్య చూసిన. మేము ఉత్తమ కేసు n గమనించాను. మేము అర్రే 1 సమయం సాగింది. ఈ అల్గోరిథం కోసం చెత్త పాజిబుల్ కేస్ ఏమిటి? [కెవిన్] N ². మరియు ఆ చూడవచ్చు ఇష్టం లేదు? ఏ వ్యూహం అనిపించే వంటి n ² సమయం తీసుకుంటుంది చేస్తుంది? [కెవిన్] [వినబడని] క్రమబద్ధీకరించబడతాయి. నేను శ్రేణి 9, 7, 6, 5, 2, కలిగి ఖచ్చితంగా అయితే మొదటి 9 అప్ బబుల్ అన్ని మార్గం చేస్తాను. 1 మళ్ళా తర్వాత మేము 7, 6, 5, 2, 9 భావిస్తాను. అప్పుడు, 7 అప్ బుడగ, 6, 5, 2, 7, 9, అందువలన న మొదలగునవి చేస్తాను. మేము, మొత్త n సార్లు ద్వారా వెళ్ళడానికి భావిస్తాను మరియు మీరు నిజంగా ఈ కంటే ఎక్కువ ఖచ్చితమైన పొందవచ్చు ఒకసారి మేము దాని చివరి స్థానం విభజించవచ్చు 9 అన్ని మార్గం తరలించారు ఎందుకంటే మేము మళ్లీ ఆ మూలకం వ్యతిరేకంగా పోల్చడానికి లేదు తెలుసు. ఒకసారి మేము 7 ప్రసారమయ్యే ప్రారంభం మేము 7 కుడి 9 ముందు ఒకసారి మేము ఆపడానికి మీకు మేము ఇప్పటికే అది 9 పోలిస్తే చేసిన నుండి. మీరు స్మార్ట్ విధంగా ఇలా చేస్తే అది, నేను ఊహిస్తున్నాను, నిజంగా చాలా సమయం కాదు. మీరు ఉన్న అన్ని [వినబడని] కాంబినేషన్ పోల్చడానికి వెళ్ళి లేదు ప్రతి మీరు ప్రతి పునరావృతం ద్వారా వెళ్లండి. కానీ, మేము ఈ ఉన్నత బౌండ్ గురించి మాట్లాడేందుకు మేము పేర్కొన్నట్లు మీరు n చూస్తున్నారు ² పోలికలు అన్ని చెప్పారు. మేము సమయం కొద్దిగా చిన్న పొందడానికి మొదలు పెడుతున్నారు నుండి యొక్క తిరిగి వెళ్ళి తెలపండి, మరియు నేను, మీరు ఖచ్చితంగా ఈ పట్టిక యొక్క మిగిలిన వెళ్ళాలి చెబుతా అన్ని పూరించండి. ఉదాహరణలు గురించి ఆలోచించండి. కాంక్రీటు ఉదాహరణలు గురించి ఆలోచించండి. అలా ఎంతో సులభ మరియు ఉపయోగపడిందా ఉంది. అది తీసుకోవటం. ఈ పట్టిక యొక్క విధమైన అని మీరు కంప్యూటర్ సైన్స్ లో ద్వారా వెళ్ళి వంటి మీరు నిజంగా ఈ ద్వారా గుండె తెలుసుకోవటానికి ప్రారంభం కావాలి. ఈ మీరు ఇన్ ఇంటర్వ్యూ పొందండి వివిధ రకాల ప్రశ్నలను ఉంటాయి. ఈ తెలుసుకోవాలనుకుంటున్నారు, మంచి పనులు ఎటువంటి ఉంటాయి మరియు నిజంగా గురించి ఆలోచించటం ఎలా ఇందుకు, ఆ అంచు సందర్భాలలో గురించి ఆలోచించటం బుడగ కోసం చెత్త సాధ్యం శ్రేణి క్రమం తెలుసుకునేందుకు ఆ క్రమం వ్యతిరేక క్రమంలో ఉండే ఒకటి. పాయింటర్లు. యొక్క గమనికలు గురించి కొద్దిగా చర్చ లెట్. గత కొద్ది నిమిషాల్లో మేము ఇక్కడ ఉన్నాయి నేను ఈ I / O ఆ కాకుండా కొత్త ఉంది ఫైలు పాటు విషయం తెలుసు. మేము గమనికలు గురించి మేము గమనికలు గురించి మాట్లాడు కారణం మాట్లాడేటప్పుడు మేము సి లో పనిచేసే ఒక, ఎందుకంటే మేము చాలా ఆధునిక ప్రోగ్రామింగ్ భాషలు పోలిస్తే చాలా తక్కువ స్థాయిలో అయి ఉన్నారు. మేము, వాస్తవానికి మెమరీలో వేరియబుల్స్ సవరించడానికి చూడగలరని వారు వాస్తవానికి మా RAM లోపల ఎక్కడ ఉన్నారు గుర్తించడానికి. ఒకసారి మీరు చూస్తారు ఆపరేటింగ్ సిస్టమ్ తరగతులను తీసుకోవటానికి న మారారు ఆ, మళ్ళీ, ఒక ఊహ యొక్క ఉంటాము. వాస్తవానికి కేసు కాదు. మేము మా నుండి ఆ వివరాలు దాచి చేసే కాల్పనిక స్మృతి పొందారు. మీరు ఒక ప్రోగ్రామ్ను కానీ ఇప్పుడు కోసం మీరు, ఆ పొందవచ్చు ఉదాహరణకు, మీరు ప్రారంభించడానికి మీ సీజర్ సాంకేతికలిపి కార్యక్రమ అమలు నేను నిజంగా వేగంగా నా ఐప్యాడ్ తిరిగి మారవచ్చు చేస్తాము మీరు కలిగి ఉంటే వారు ప్రారంభం మీ కార్యక్రమం, పేర్కొన్నట్లు మీ ల్యాప్టాప్ న RAM యొక్క 4 గిగాబైట్లు, మీరు ఈ భాగం పక్కన పెట్టింది అందుకోవటం, మరియు మేము ఈ RAM పిలుస్తాను. మరియు అది, మేము 0 కాల్ చూడాలని ఒక స్థానంలో మొదలవుతుంది మరియు అది మేము 4 గిగాబైట్లు పిలుస్తాను ఒక ప్రదేశంలో ముగుస్తుంది. నేను నిజంగా రాయలేదు. మాన్, ఆ హ్యాక్ ఉంది. మీ ప్రోగ్రామ్ అమలు చేసినప్పుడు ఆపరేటింగ్ సిస్టమ్, RAM అప్ వంపులు తిరుగుతున్న మరియు అది నివసించే మీ ప్రోగ్రామ్ యొక్క వివిధ భాగాల కోసం వివిధ భాగాల్లో నిర్దేశిస్తుంది ఇక్కడ డౌన్ ఈ ప్రాంతంలో ఒక నో మ్యాన్స్ ల్యాండ్ యొక్క రకం. మీరు దూరంగా ఇక్కడ కొద్దిగా పైకి వెళ్ళగానే మీరు నిజంగా స్థలం పొందారు పేరు మీ ప్రోగ్రామ్ ప్రాణాలను కోడ్. ఆ వాస్తవ బైనరీ కోడ్, ఆ ఎక్జిక్యూటబుల్ ఫైల్ నిజానికి మెమరీ లోనికి లోడ్ అవుతుంది మీరు ఒక ప్రోగ్రామ్ రన్, మరియు అది కోడ్ విభాగంలో నివసిస్తున్నారు ఉన్నప్పుడు. మీ ప్రోగ్రామ్ అమలు మరియు ప్రాసెసర్ ఈ కోడ్ విభాగంలో వద్ద ఉంది గుర్తించడానికి మరో ఆదేశం ఏమిటి? నేను అమలు చేయాలి కోడ్ తదుపరి లైన్ ఏమిటి? అక్కడ ఒక డేటా విభాగంలో కూడా, మరియు ఈ పేరు ఆ స్ట్రింగ్ స్థిరాంకాలు ఉంది మీరు ఉపయోగించి చేసిన ఆ నిల్వ చేయబడ్డాయి. ఆపై దూరంగా అప్ కుప్ప అని ఈ ప్రాంతం మరొకటి లేదు. మేము, malloc ఉపయోగించి అక్కడ మెమొరీ యాక్సెస్ ఆపై మీ ప్రోగ్రామ్ యొక్క చాలా భాగంలో స్టాక్ లేదు మేము ప్రారంభం చాలా ప్లే ఎక్కడ ఉన్నాను మరియు ఆ. ఈ తరహా లేదా ఏదైనా కాదు. ఈ చాలా, చాలా యంత్రం ఆధారపడి ఉంటుంది వ్యవస్థ ఆధారపడి ఆపరేటింగ్, కానీ ఈ విషయాలు అప్ chunked get సాపేక్షంగా ఎలా ఉంది. మీరు ఒక ప్రోగ్రామ్ రన్ మరియు మీరు అని x-ఒక వేరియబుల్ డిక్లేర్ చేసినప్పుడు నేను క్రింద దిగువ మరొక పెట్టెను గీయండి వెళుతున్న మరియు ఈ అదే RAM అని అన్నారు. నేను చూడండి వెళుతున్న. మేము ఈ కేవలం RAM యొక్క ఒక చిన్న విభాగం సూచించడానికి కత్తిరించిన పంక్తులు డ్రా చేస్తాము మరియు అది అన్ని మేము ఎగువన డ్రా కాదు. నేను x అనే ఒక పూర్ణాంకం వేరియబుల్, డిక్లేర్ ఉంటే అప్పుడు నేను నిజంగా పొందండి మాపింగ్ ఉంది నా ప్రోగ్రామ్ యొక్క చిహ్నం పట్టిక నిల్వ చేయబడిన ఆ నేను డ్రా చేసిన మెమరీ ఈ ప్రాంతానికి పేరు x కలుపుతుంది ఇక్కడే నిలువు బార్లు మధ్య. నేను x = 7 అని నా కార్యక్రమంలో కోడ్ ఒక లైన్ ఉంటే ప్రాసెసర్ తెలుసు "ఓహ్, ఓకే, నేను తెలిసిన మెమరీలో ఈ స్థానంలో x జీవితాలను." "నేను ముందుకు వెళ్లి అక్కడ ఒక 7 రాయడానికి వెళుతున్న." ఎలా ఈ మెమరీ ఉంది ఏమి నగర తెలుసా? Well, అన్ని కంపైల్ సమయంలో పూర్తి చేసిన. వేరియబుల్స్ యొక్క ప్రతి వెళ్ళి వెళ్ళి ఇక్కడ కంపైలర్ పెడుతోంది జాగ్రత్త తీసుకుంటుంది మరియు ఒక ప్రత్యేక మ్యాపింగ్ సృష్టించడానికి బదులుగా చుక్కలు కనెక్ట్ చిహ్నంగా మరియు అది జరగబోతోంది పేరు, ఒక వేరియబుల్ పేరు మధ్య మరియు మెమరీ నివసించడానికి జరగబోతోంది పేరు. కానీ మేము నిజంగా అదే మా కార్యక్రమాలలో దీనిని ఆక్సెస్ చేసుకోవచ్చు అవుతుంది. మేము డేటా నిర్మాణాలు కొన్ని గురించి మాట్లాడుతూ ప్రారంభించిన ఈ, ముఖ్యమైన గెట్స్ ఇది మేము తర్వాత పరిచయం చూడాలని ఉద్దేశ్యంతో ఒక భావన. కానీ ఇప్పుడు కోసం, ఏ మీకు చేయవచ్చు నేను, ఈ స్థానానికి x ఒక పాయింటర్ సృష్టించడానికి ఉంది. ఉదాహరణకు, నేను ఒక పాయింటర్ వేరియబుల్ సృష్టించవచ్చు. మేము ఒక పాయింటర్ వేరియబుల్ రూపొందించినప్పుడు మేము స్టార్ నోటేషన్ ను ఉపయోగిస్తాయి. ఈ సందర్భంలో, ఈ నేను ఒక పూర్ణాంకానికి ఒక పాయింటర్ సృష్టించడానికి వెళుతున్న చెప్పారు. ఇది ఏదైనా ఇతర వంటి ఒక రకం. మేము, అది y వంటి వేరియబుల్ ఇవ్వాలని మరియు తర్వాత మేము ఒక చిరునామాకు, చిరునామా దానిని సమానంగా సెట్. ఈ సందర్భంలో, మనం x సూచించడానికి Y సెట్ చేయవచ్చు ఈ ఆంపర్సండ్ చిహ్నం తో మేము ఇవి x యొక్క చిరునామా, తీసుకొని, మరియు తర్వాత మేము అది సూచించడానికి Y సెట్. మేము మా RAM వద్ద చూస్తే ఇది తప్పనిసరిగా ఏమిటి లేదు ఈ ప్రత్యేక వేరియబుల్ సృష్టిస్తుంది. ఇది y కాల్ వెళుతున్న మరియు కోడ్ ఈ రేఖను అమలు చేసినప్పుడు నిజానికి, మేము సాధారణంగా ఒక బాణం వంటి డ్రా ఇది కొద్దిగా పాయింటర్ సృష్టించడానికి జరగబోతోంది మరియు అది x సూచించడానికి Y అమర్చుతుంది. అవును. X ఇప్పటికే పాయింటర్ ఉంటే [స్టూడెంట్], మీరు అని Int * Y = x బదులుగా ఆంపర్సండ్ చిహ్నం కలిగి? అవును. X ఇప్పటికే పాయింటర్ ఉంటే, అప్పుడు మీరు, ప్రతి ఇతర సమానంగా 2 గమనికలు సెట్ చేయవచ్చు ఈ సందర్భంలో y, x సూచించడానికి కాదు కానీ కు సూచిస్తుంది ఏ x సూచించడానికి చేస్తుంది. దురదృష్టవశాత్తు, మేము సమయం లేదు. నేను ఈ సమయంలో చెబుతారు వాట్ మేము, ఈ ఆఫ్లైన్ గురించి మాట్లాడవచ్చు కానీ నేను, ఈ సమస్య ద్వారా # 14 పని మొదలు చెబుతారు. మీరు పూరించిన కొద్దిగా ఇక్కడ ఇప్పటికే ఉంది చూడగలరు. మేము 2 గమనికలు డిక్లేర్ మీరు ఆ చూడగలరు, Int * x మరియు * Y, మరియు వేరియబుల్ పక్కన * పై గమనించండి గత ఏడాది జరిగింది ఏదో జరిగింది. ఈ మేము ఈ సంవత్సరం చేయడం ఏమి ఉండే అవుతుంది. మీరు పాయింటర్ ప్రకటించారు చేసినప్పుడు మీరు * వ్రాయడానికి పేరు ఇది పట్టింపు లేదు. కానీ మేము రకం పక్కన * వ్రాశారు ఇది చాలా స్పష్టంగా మీరు ఒక పాయింటర్ వేరియబుల్ ప్రకటించారు చేస్తున్న చేస్తుంది ఎందుకంటే. మీరు 2 గమనికలు ప్రకటించారు మాకు 2 బాక్సులను ఇచ్చే చూడగలరు. ఇక్కడ మేము malloc సమానంగా x పెట్టినప్పుడు ఈ చెబుతున్నారు కుప్ప లో మెమొరీ పక్కన సెట్ చేస్తుంది. ఇక్కడే ఈ చిన్న పెట్టెలో, ఈ సర్కిల్, కుప్ప ఉంది. X అది కు సూచిస్తుంది. Y ఇప్పటికీ ఏదైనా సూచించే గమనించండి. పొందడానికి మెమరీ నుంచి x లోకి సంఖ్య 42 నిల్వ మేము ఏ సంజ్ఞామానం ఉపయోగించే? [స్టూడెంట్] * x = 42. సరిగ్గా, * x = 42. ఆ బాణం అనుసరించండి మరియు 42 త్రో అర్థం. ఇక్కడ మేము Y మరియు x సెట్ పేరు మేము Y x సూచించే చేశారు. మళ్ళీ, ఈ కేవలం మేము x కు y సమానమైన సెట్ పేరు కెవిన్ మాట్లాడుతూ చెప్పారు. Y x సూచించే లేదు. అయితే, x అలాగే కు సూచిస్తుంది ఏమి సూచించే యొక్క. మరియు తర్వాత చివరకు ఈ చివరి బాక్స్ లో మేము చేయగల 2 సాధ్యం విషయాలు ఉన్నాయి. ఒక మేము * x = 13 చెప్పగల్గినవి ఉంది. ఇతర విషయం మేము సే-అలెక్స్, మీరు మేము ఇక్కడ ఏమి చేయగలరో తెలుసు కాలేదు ఉంది? మీరు చెప్పగల్గినవి * x = 13 లేదా [స్టూడెంట్] మీరు Int ఏ చెప్పొచ్చు. [నేట్ H.] ఈ ఒక పూర్ణాంకానికి వేరియబుల్ గా సూచించబడ్డాయి ఉంటే మేము ఆ పని చేయడు. మేము కూడా * Y = 13 ఇద్దరూ ఒకే చోట సూచించే ఉన్నందున, చెప్పగల్గినవి కాబట్టి మేము అక్కడ పొందడానికి గాని వేరియబుల్ ఉపయోగించవచ్చు. అవును. >> [స్టూడెంట్] మేము Int x 13 చెప్తున్నారు ఉంటే ఇష్టం అది చూస్తారు? ఆ పని చేసే x అనే ఒక కొత్త కారకం ప్రకటించే ఉంటుంది. మేము x ఇక్కడ ఒక పాయింటర్ అప్ ప్రకటించింది ఎందుకంటే మేము ఢీకొట్టడంతో భావిస్తాను. [స్టూడెంట్] మేము స్వయంగా ఆ ప్రకటన కలిగి ఉంటే అది సర్కిల్ పరంగా ఇష్టం చూస్తారు? మేము x కలిగి ఉంటే = 13 అప్పుడు మేము ఒక బాక్స్, మరియు బదులుగా ఒక బాణం కలిగి కంటే కావలసిన బాక్స్ యొక్క రావడం మేము కేవలం 13 గా డ్రా భావిస్తున్న. బాక్స్లో [స్టూడెంట్]. సరే. చూడటం ధన్యవాదాలు, మరియు క్విజ్ 0 లో అదృష్టం. [CS50.TV]