[Powered by Google Translate] [2 వ వారం, కంటిన్యూడ్] [డేవిడ్ J. మలన్, హార్వర్డ్ విశ్వవిద్యాలయం] [ఈ CS50 ఉంది. - CS50.TV] అన్ని కుడి. ఈ CS50, మరియు ఈ వారం 2 ముగింపు. మీరు, ఈ సమయంలో రేపు ఆకలితో కోరుకోవడం ఉంటే మేము ఒక చిన్న సమూహం రేపు, గురువారం, 1:15 pm వంటి సమావేశం చూడాలని తెలుసు. మీరు RSVP చెయ్యాలనుకుంటే ఈ URL ఇక్కడ ఉంది. స్పేస్ తక్కువ ఉంది, కాబట్టి మీరు రూపం ఈ పూర్తి సమయం భర్తీ ఉంది క్షమించు దయచేసి. ఆసక్తి ఉండవచ్చు మరొక URL, అయితే, ఈ ఉంది. కేవలం ఒక నెల సమయం గురించి లో, కోర్సు అందుబాటులో అన్నారు అన్ని విస్తారంగా edX ద్వారా, ఇది ద్వారా ఇంటర్నెట్ లో ఫొల్క్స్ పాటు అనుసరించండి చేయగలరు నిజానికి, చాలా చురుకుగా కోర్సు చేస్తుంది. వారు చర్చించండి CS50 ఉపకరణం మరియు CS50 ఉపయోగించి వస్తుంది మరియు మేము ఇప్పటికే ఈ సెమిస్టర్ ఉపయోగించి చేసిన వివిధ సాఫ్ట్వేర్ పనిముట్లు చాలా. మరియు మేము ఈ సంవత్సరం ఒక ప్రయోగం వంటి తీసుకోవాలనుకుంటున్న కావలసిన ప్రయత్నాలను ఒక మేము అనువదిస్తుంది ఎంత కంటెంట్ చూడటానికి ఇతర మాట్లాడే మరియు రాత భాషలలో. మీరు ఈ ప్రాజెక్ట్ పాల్గొనడానికి ఆసక్తి కలిగి ఉండవచ్చు కనుక మేము కోర్సు యొక్క ప్రసంగాలకు ఆంగ్ల అనువాదాలు మరియు ఉపశీర్షికలు అందిస్తుంది వస్తే మరియు లఘు చిత్రాలు మరియు సెమినార్లు మరియు విభాగాలు మరియు వంటి, మీరు స్పష్టంగా మాట్లాడే లేదా, సరళముగా ఇతర భాష వ్రాయడానికి ఉంటే మీరు వీడియోలను ఒకటి లేదా ఎక్కువ పడుతుంది అనగా మేము ఈ ప్రాజెక్ట్ లో మీరు నిమగ్నం చేయాలనకుంటున్నాను మీరు చాలా బాగా తెలిసిన ఒక భాష వాటిని అనువాదం. మీరు ఇంటర్ఫేస్ యొక్క ఒక భావాన్ని, ఈ వెబ్ ఆధారిత వినియోగదారు ఇంటర్ఫేస్ ఉంది మేము తప్పనిసరిగా ఈ వంటి UI సృష్టిస్తుంది ఉపయోగించి వస్తుంది ఆ. ఈ నాకు, కొన్ని హాలోవీన్ క్రితం బోధన జరిగినది మరియు ఈ సమయంలో స్టాంపులు పక్కన బ్లాక్ లో కుడి వైపు, మీరు, ఆ రోజు నా నోటి వచ్చేది వివిధ విషయాలను చూస్తారు మరియు అప్పుడు మీరు కొన్ని ఇతర భాషలోకి అనువదించు చేయగలరు మ్యాపింగ్ ఈ సందర్భంలో, మధ్య ఖచ్చితంగా ఏమి ఇంగ్లీష్ మరియు, స్పానిష్ చెప్పారు. కనుక ఇది నిజానికి ఒక చాలా యూజర్ ఫ్రెండ్లీ సాధనం. మీరు కీబోర్డ్ షార్ట్కట్స్ తో చాలా సులభంగా వేగంగా ముందుకు రివైండ్ మరియు చేయవచ్చు. మీరు ఈ ప్రయోగం లో పాల్గొనటానికి మరియు మీరు కోరుకుంటున్నారో అయితే మీ పదాలు కనిపించే మరియు చదవండి అక్కడ వారిని సమర్థవంతమైన వేల పాల్గొని సంకోచించకండి దయచేసి. సోమవారం నుండి కిట్టెన్ గురించి ఒక పదం. మేము ఒక అతిగా స్కేరీ సందేశాన్ని పంపారు, లేకపోతే కార్యాలయం గంటల సూచించినట్లు, రియలైజ్ విభాగాలు సూచించినట్లు మరియు, కోర్సు యొక్క రూపకల్పన చాలా ఉంది విద్యార్థులు సమస్య సెట్ల ద్వారా సహకరించే మరియు పని మాట్లాడుతూ చేసిన మరియు కలిసి సమస్యలు, మరియు నిజంగా లైన్ కేవలం క్రిందికి వస్తుంది, మళ్ళీ, మీరు చివరకు submit పని మీ స్వంత ఉండాలి. కాబట్టి చాలా నిజాయితీగా, ఆఫీస్ అవర్స్ లో, పూర్తిగా సాధారణ యొక్క ఇది పూర్తిగా మీరు పక్కన స్నేహితుడు చాట్ చెయ్యడానికి, కూడా భావిస్తున్నారు చెయ్యాలో. , అతను లేదా ఆమె కొన్ని టాపిక్ తో పోరాడుతున్న మరియు మీరు వంటి అయితే "ఓహ్, మంచిది, నన్ను మీరు నేను రాసిన కోడ్ కొన్ని లైన్ ఒక సంగ్రహావలోకనం కల్పించడానికి అనుమతిస్తాయి," ఆ, మంచిది ఆ జరుగుతుంది, మరియు ఆ అభ్యాసం ప్రక్రియ, నేను అనుకుంటున్నాను, చాలా సహాయకారి ఉంది. తల చాలా చాలా సెకన్ల కోసం ఇక్కడ విధమైన పక్కకు పై ఉన్నప్పుడు ఎక్కడ రేఖను అధిగమించి ఉంటుంది ఉంది లేదా ఆ నిజంగా కోసం నిమిషాల కేవలం, మీ స్నేహితుడు ఒక అనుమతించడంలో అవకాశం ఉందని మరియు ఖచ్చితంగా విషయాలు, ఇమెయిల్ మరియు డ్రాప్బాక్స్ మరియు వంటి ద్వారా మార్పిడి ఎప్పుడు చాలా మార్గం కూడా ఉంది. కాబట్టి అన్ని ద్వారా సుఖంగా మరియు స్నేహితులతో చాట్ చేయడానికి ప్రోత్సహించింది భావనలు మరియు psets మరియు మరింత గురించి మరియు కేవలం సహ విద్యార్థులను మీరు చివరకు submit ఏమి గుర్తించలేరు నిజంగా మీ సృష్టి మరియు ఇతరుల యొక్క ఉత్పత్తి ఉండాలి. Pset2 కోసం డొమైన్ నిర్దిష్ట సమస్యలను కావున, చివరి రేపు రాత్రి వస్తుంది, ఇది, గూఢ లిపి శాస్త్రం యొక్క ప్రపంచ ప్రవేశిస్తాడు ఉంది ఇది సమాచారం ఎన్క్రిప్ట్ లేదా స్క్రాంబ్లింగ్ యొక్క కళ మరియు ఈ చివరకు భద్రత ప్రపంచ సంబంధించినది. ఇప్పుడు, మాకు చాలా కోసం భద్రతా చాలా లౌకిక విధానాల రూపంలో వస్తుంది. మాకు అన్ని యూజర్ పేర్లు మరియు పాస్వర్డ్లను కలిగి మరియు మాకు అన్ని ఎక్కువగా చాలా చెడ్డ వినియోగదారు పేర్లు మరియు పాస్వర్డ్లను కలిగి ఉంటాయి. మీ పాస్వర్డ్ను బహుళ వెబ్సైట్లలో అదే ఉంటే, ఆ, బహుశా ఆలోచన కాదు మేము సెమిస్టర్ చివరిలో చర్చించడానికి వీలుగా. నో జోక్ - - మీ పాస్వర్డ్ sticky గమనిక లో జరుగుతుంది మీ మానిటర్ మీద, ఆ చాలా అవసరం బెస్ట్ డిజైన్ కానీ అది ఒక సాధారణ దృగ్విషయంగా కాదు. మరియు మీరు మీ పాస్వర్డ్లను గుప్తీకరించడానికి గూఢ ఉపయోగించకుంటే, వారు గురవుతుంటాయి. మీరు ఒక రహస్య పద పత్రం ద్వారా తెలివైన సూపర్ ఉండటం భావిస్తున్నాను అయితే ఎక్కడో హార్డు డ్రైవులో మీ పాస్వర్డ్లను అన్ని కానీ ఎవరూ కూడా చాలా సురక్షిత విధానం కాదని, చూసి వెళుతున్న ఒక ఫోల్డర్ లో ఉంది. కాబట్టి ఏమి pset2 ప్రవేశపెడుతుంది గూఢ లిపి శాస్త్రం యొక్క ఈ కళ పాస్వర్డ్లను వంటి వాటిని అన్ని మరింత సురక్షితం తద్వారా మరియు సమాచారం స్క్రాంబ్లింగ్. ఇక్కడ సందర్భం అని అసురక్షిత డేటా తో అది గుప్తీకరించడానికి మరియు పెనుగులాటలకు అవకాశం వచ్చింది. కాబట్టి ఈ, ఉదాహరణకు, ఒక గుప్తీకరించిన సందేశాన్ని యొక్క ఒక ఉదాహరణ. ఈ నిజానికి ఇంగ్లీష్ ఏదో చెబుతుంది, కాని స్పష్టంగా పూర్తిగా స్పష్టమైన కాదు. మరియు మేము ఇక్కడ ఈ రహస్య సందేశం ఏ కాకుండా బాధించటం నేడు ఫుల్ సర్కిల్ వచ్చి చేస్తాము. వారు ఇంగ్లీష్ పదబంధాలు కావచ్చు వంటి కానీ కంప్యూటర్ల వాస్తవిక ప్రపంచంలో, విషయాలు కూడా కనిపించడం లేదు. ఉదాహరణకు, మీరు ప్రామాణిక Linux లేదా Mac లేదా UNIX కంప్యూటర్ కనుగొనే ఏమిటి ఒక సమయంలో పాస్వర్డ్ను ఫైలు అని మీద ఒక ఫైల్ లో ఆ ఒకప్పుడు. ఈ రోజుల్లో అది ఇతర ప్రదేశాలకు వెళ్లారు పేర్కొన్నాడు. మీరు సిస్టమ్ లో సరైన స్థలం లో చూడవచ్చు అయితే, మీరు మీ సభ్యనామం మాత్రమే చూస్తారు లేదా సిస్టమ్ ఇతర వ్యక్తుల, కానీ మీరు వారి పాస్ వర్డ్ ఎన్క్రిప్టెడ్ వెర్షన్ చూస్తారు. నిజానికి, అక్కడ పదం గోరీ, క్రింది విషయాల గుప్తీకరించబడింది సూచిస్తుంది మరియు ఈ కారణం యాదృచ్ఛిక అక్షరాలు మరియు అక్షరాలు మరియు సంఖ్యల శ్రేణి మరియు మొదలైనవి మాత్రమే సాధారణంగా కొన్ని రహస్య తెలుసుకోవడం వ్యక్తపరచడం చేయవచ్చు - ఒక రహస్య పదం, ఒక రహస్య సంఖ్య - అందువలన నిజానికి, గూఢ లిపి శాస్త్రం చివరికి దిమ్మల డౌన్ యొక్క కళ విధమైన విశ్వసించాలని మరియు ఎవరైనా లేదు ఏదో తెలుసుకోవటం. కాబట్టి మేము ఈ రోజు ఒక బిట్ మరింత వివరంగా ఈ అన్వేషించడానికి మీరు మరియు pset వచ్చిన. ఇప్పుడు పాస్ / ఫెయిల్ ఒక పదం. మీరు కొన్ని pset1, ఉపకరణ, ముందుకు అధిగమించాడు ముఖ్యంగా వంటి మరియు మీ కోసం చాలా కొత్త వరల్డ్, తెలుసుకుంటారు ఆ చిరాకులను మరియు గందరగోళం మరియు కేవలం సాంకేతిక సమస్యలను చాలా అంచనా ఉంది, ముఖ్యంగా చాలా కొత్త ఇక్కడ మొదటి pset తో, కేవలం ls మరియు CD పరిచయం చేయటం మరియు ఈ అద్భుత ఆదేశాలు మరియు ఒక కొత్త వాతావరణం మరియు నిజమైన భౌతిక మరియు స్వయంగా కార్యక్రమాలను ప్రత్యేక ఉంది. కాబట్టి ఒక మద్దతు నిర్మాణం వంటి ఉనికిలో కార్యాలయం గంటల ఖచ్చితంగా ఉన్నాయి చాలా తెలుసుకుంటారు. విభాగాలు ఈ రాబోయే ఆదివారం ప్రారంభం. కానీ చాలా ముఖ్యంగా, మీరు ఈ మీ కోసం ప్రపంచ కాదు ఆ ఫీలింగ్ చేస్తుంటే, అది నిజంగా ని పడుతుంది అని తెలుసుకోవటం. మరియు అది, విఫలం / a తరగతి పాస్ తీసుకునే నాకు సంవత్సరాల క్రితం ఈ అవకాశం కోసం కాదు నిజాయితీగా, నేను కూడా తరగతిలో అడుగు సెట్ చేసిన ఎప్పుడూ. మరియు మీరు,, వరకు ఈ మార్పు చోటు సే, కోర్సు యొక్క ఐదవ సోమవారం చేయవచ్చు మీరు ఇప్పుడు అంచున ఉన్నారు కనుక మొత్తంగా ఆ తెలుసుకుంటారు కాకుండా తల కొన్ని ఇతర నీటిలో, ఖచ్చితంగా కేవలం పాస్ / విఫలం మారుతుంది భావించబడినది. మళ్లీ, విషయాలు తీసుకునే హార్వర్డ్ వద్ద ఇక్కడ నిజంగా ఈ సంస్కృతి అక్కడ కాదు పాస్ / విఫలం ప్రతి ఒక్కరూ నిజంగా, సాధించడానికి లేదా overachieve కోరుకుంటున్నారు నుండి కానీ స్పష్టముగా, ఇది ఏదో ప్రయత్నిస్తున్న ఒక చక్కని మార్గం ,, చాలా చక్కటి మీకు తెలిసిన కాదు, మరియు మీరు చాలా సందర్భాలలో, చేయడం ముగుస్తుంది మేము మీ ఆశ్చర్యం బహుశా చాలా. మరియు కాంక్రీటు పరంగా, నేను, చేస్తుంది సాధారణంగా విఫలం / పాస్ ఏమనుకుంటున్నారు మీరు pset0 అనుభవించిన ఉండవచ్చు ముఖ్యంగా, మీరు కొన్ని pset లోకి 10 గంటల, 15 గంటల, 25 గంటల్లో ఉంచితే మరియు మీరు గోడ మీ తల banging చేస్తున్నారు మరియు అర్థరాత్రి సూపర్ సంతరించుకోనుంది కానీ మీరు మార్గం pset 90% తీసుకున్నారు మీకు ఒక విషయం గుర్తించడానికి కాదు నిజంగా ఈ వంటి తరగతి యొక్క అంచు పడుతుంది విఫలం / పాస్, మీరు సంతోషంగా, సరే, నేను పరిపూర్ణ కాదు తెలుసు "సే యొక్క క్రమం ఇక్కడ కానీ నేను ఈ నా గాడిద ఆఫ్ పని, నేను ", దానిని ఆగిపోయిన తో అందంగా సంతోషంగా ఉన్నాను మరియు ఆ పాస్ కోసం ఆశించిన / విఫలమౌతుంది. కాబట్టి గుర్తుంచుకోండి లేదు. అన్ని కుడి. హార్వర్డ్ విశ్వవిద్యాలయం Wi-Fi ఉపయోగించడానికి ఇబ్బందిపడ్డారు మీకు ఆ సో, చుట్టూ తేలియాడే ఒక CS50 SSID, Wi-Fi కనెక్షన్, అక్కడ మనకు తెలుసు మీరు మంచి అదృష్టం చూపించే. ఇది ఒక చిన్న వ్యంగ్య అని మీరు ఈ కనెక్ట్ చెయ్యడానికి ప్రయత్నించండి అని ఈ కోసం పాస్వర్డ్ మరియు ఇది బాగా ఉంటే మాకు తెలియజేయండి - - మంచి వేగం 12345, అన్ని మార్గం అప్ 8 ఉంది 8 5 కంటే ఎక్కువ సురక్షితమైనది ఎందుకంటే. మీరు Wi-Fi పాస్వర్డ్ను అవసరమైతే, తీగరహిత ఇక్కడ CS50 కు 12345678 కనెక్ట్ మీరు ఇప్పటికీ అడపాదడపా కనెక్టివిటీ సమస్యలు ఉంటే CS50 న పోస్ట్ చర్చించండి మరియు మేము ఈ స్థలం కోసం తెలిసిన అధికారులకు తెలియజేస్తాము. అన్ని కుడి. ముఖ్యంగా అన్ని విషయాలను Apple యొక్క అభిమాని బాలురు లేదా బాలికలు ఎవరు మీరు యొక్క ఆ కోసం కాబట్టి త్వరగా టీజర్,. నేను తిరిగి కొన్ని సంవత్సరాల నుండి త్రవ్వి, ఇక్కడ iUnlock.c ఈ ఫైలు ఉంది కేవలం రకమైన మరింత కాంక్రీటు మరియు మరింత క్లిష్టమైన చేయడానికి మేము రాయడం చేసిన మరింత ప్రాథమిక సి కార్యక్రమాలు కొన్ని. నేను iUnlock.c, ఈ ఫైల్ అప్ ప్రారంభించింది. ఇది నేడు కోసం లెక్చర్స్ పేజీలో అందుబాటులో ఉంటుంది. ఎడమ చేతి వైపు మీరు విధులు యొక్క ఒక పొడవైన జాబితాను చూడండి. కాబట్టి ఈ రాశాడు తోటి కేవలం ప్రధాన కంటే ఎక్కువ విధులు చాలా, అప్ రాశారు. ఆయన ఇక్కడ లైబ్రరీలను మొత్తం బంచ్ ఉపయోగిస్తారు, మరియు మేము ద్వారా స్క్రోలింగ్ ప్రారంభం ఉంటే, ఈ వాస్తవానికి అసలైన ఐఫోన్ కోసం మొట్టమొదటి, నేను అనుకున్నట్లుగా, పగులు ఉంది. మీరు అసలైన ఐఫోన్ jailbreak చేయాలనుకున్నప్పుడు, ఇది AT & T నుండి untether అది అర్థం మరియు వాస్తవానికి, ఇది ప్రత్యేక సాఫ్ట్వేర్ను ఇన్స్టాల్ మరియు ఆపిల్ ప్రజలు ఏమి లేదని పనులను ఎవరైనా, వారు సాఫ్ట్వేర్ లోపాలు దోపిడీ చేయవచ్చో ఎలా గుర్తించడానికి సమయం పట్టింది అందువలన ఆపిల్ సాఫ్ట్వేర్ లో తప్పులు, దోషాలు, మరియు జన్మించాడు iUnlock.c - మీరు మీ కంప్యూటర్లో సంకలనం మరియు ఒక ఐఫోన్ లో అది ఇన్స్టాల్ ఉంటే ఆ, ఒక USB కేబుల్, సే, ద్వారా మీ కంప్యూటర్ కు కనెక్ట్ చేయబడింది ఈ మీరు మీ ఐఫోన్ లో పరిపాలనా లేదా root అధికారాలను ఇస్తుంది మరియు మీరు చాలా చక్కని మీకు కావలసిన పనులను తెలియజేయండి. కాబట్టి ఈ మనోహరమైన పిల్లి మరియు ఎలుక ఆట ఉన్నాయి ఆపిల్ మరియు ముఖ్యంగా ప్రపంచంలోని మిగిలిన వారు మధ్య, అనేక సంస్థలు వలె, మీరు మాత్రమే వారు ఉద్దేశం ఏది ఏమి విధంగా వారి అంశాలను లాక్ చేసేందుకు ప్రయత్నించండి. కానీ ఈ వంటి వ్యక్తులు మరియు తక్కువ స్థాయి వివరాలు అవగాహన కృతజ్ఞతలు - మరియు ఈ విషయంలో సి ప్రోగ్రామింగ్ - మరియు తెలిసిన నిర్మాణాలు చాలా మేము తో ఆడుతున్న చేసారు, నిజంగా హార్డ్వేర్ పరపతి చేయగలరు ఒక పద్ధతిలో మీరు ఆరోగ్యంగా మరియు కొన్ని కార్పొరేట్ పరిధి అవసరం చూడండి. కాబట్టి ఉదాహరణకు, నేను, ఈ ఏమి సంఖ్య ఆలోచన ఉంది కానీ GetVersion, అందంగా సూటిగా ధ్వనులు మరియు ఈ ఈ వ్యక్తి రాసిన ఒక ఫంక్షన్ ఉన్నట్లు తెలుస్తుంది. ఇది ఒక వాదన వంటి పూర్ణాంక రకమైన పడుతుంది, ఏదైనా తిరిగి లేదు కానీ ఇక్కడ లూప్ ఒక మరియు ఒక ఉంటే పరిస్థితి, పరిస్థితి బ్రేక్ ఉంటే, తో లూప్ కనిపిస్తుంది మేము డౌన్ స్క్రోల్ చేయండి మరియు ఏదో, వెర్షన్ సంఖ్యలను సంబంధం ఈ కీలక పదాలు చాలా కొత్త ఉంటాయని నేను కూడా. మరియు మేము ఎప్పుడూ చూడలేదు మరియు ఎప్పుడూ చూడండి కాదు ఇక్కడ విధులు పూర్తి చాలామంది ఉన్నారు సెమిస్టర్ క్రమంలో. రోజు ముగింపులో, అది మేము ఇప్పటివరకు ఆడటం చేసిన అదే నియమాలు మరియు తర్కం అనుసరిస్తుంది. కాబట్టి ఈ, మీ ఐఫోన్ 3S లేదా 4s లేదా వెంటనే 5s ఈ రోజుల్లో పగుళ్లు చాలా పాతది కానీ ఇది అన్ని చాలా మేము ముందుకు అధిగమించాడు చేసిన ఈ ప్రపంచంలో నుండి మనకు తెలుసు. యొక్క కొంత చిన్న ఉదాహరణ పరిశీలించి లెట్: ఈ ఒకటి, కొన్ని సిన్టాక్సుతో అప్ వేడెక్కినప్పుడు పెట్టడానికి మరియు కొన్ని ఇతర డేటా రకం మేము గురించి మాట్లాడారు చేసిన కానీ నిజంగా C. లో చూడని ఆ ఈ positive1.c అనే ఫైలు, మరియు ఎగువన వ్యాఖ్యలు శాతం, ఇది ఒక యూజర్ సానుకూల నంబర్ అందించే కోరతాడు. కాబట్టి అది వినియోగదారు పరస్పర కార్యక్రమాలు nice ఇది డో-సమయంలో లూప్ యొక్క ఉదాహరణకు మీరు ఏదో ఒకటి చేయడానికి వినియోగదారు చెప్పడం అవసరం పేరు, మరియు వారు మీరు వాటిని అరుస్తుంటారు లేదా వారి ఇన్పుట్ తిరస్కరించడానికి సహకారం లేకపోతే. పాయింట్ కేస్: నేను 24 ద్వారా 19 పంక్తులు చేయడానికి నేను కాబట్టి కాలం యూజర్ me సానుకూల నంబర్ ఇవ్వలేదు. లైన్ 18 న ఇక్కడ ఈ వివరాలు, నేను ఈ మొత్తం మళ్ళీ వెతికినా నిర్మించడం పై n ప్రకటించాడు సరైన లైన్ 22 పక్కన నేను నిజానికి n పొందడానికి శ్రద్ధ పేరు వ్యతిరేకంగా? అవును. [విద్యార్థి] స్కోప్. >> అవును, స్కోప్ కాబట్టి ఈ సమస్యను. మరియు లేమాన్ నియమాలు, స్కోప్ ఏ చూడండి లేదు? అవును. >> [వినబడని విద్యార్థి ప్రతిస్పందన] >> మీరు బిగ్గరగా కొద్దిగా స్పీక్? [విద్యార్థి] మీరు ఆ వేరియబుల్ యాక్సెస్ చేయవచ్చు ఎక్కడ. >> పర్ఫెక్ట్. మీరు ఒక నిర్దిష్ట వేరియబుల్ యాక్సెస్ చేయవచ్చు ఎక్కడ. మరియు సాధారణంగా, సైద్ధాంతిక నియమం ఇప్పటివరకు ఉంది కొన్ని వేరియబుల్ యొక్క పరిధిని మీరు చూసిన ఇటీవల వంకర జంట కలుపులు నిర్వచించబడింది. నేను లైన్ 22 న n ప్రకటించే పొరపాటు ఉంటే ఈ సందర్భంలో, ఆ లైన్ పని చేస్తుంది. నేను ఒక పూర్ణాంకానికి పొందుతారు, మరియు నేను లైన్ 22 ఆ వేరియబుల్ n లో ఉంచుతాడు కానీ ఇది కోడ్ లైన్ ఇప్పుడు నేను మాట్లాడటం చేస్తున్నాను ఏ ఆలోచన ఉంది? >> [విద్యార్థి] 25. [మలన్] 25, మరియు ఈ సందర్భంలో అది వంకర జంట కలుపులు బయట పడుతుంది ఎందుకంటే అది 24 అవుతుంది. చాలా సులభంగా కేవలం వేరియబుల్ ప్రకటిస్తూ కొంచెం ఒక విసుగుగా యొక్క బిట్ అయితే పరిష్కరించవచ్చు ఫంక్షన్ యొక్క వెలుపల. మీరు ఒక అడుగు ముందుకు వెళ్ళే తరువాత నేడు చూస్తారు మరియు మీరు కూడా ఒక చిన్న సోమరి పొందుతారు. మరియు ఈ సాధారణంగా పనికిరావు, అయితే మీరు కూడా సోమరితనం పొందలేరు మరియు, కాబట్టి ఒక లూప్ యొక్క లోపల, ఒక ఫంక్షన్ యొక్క లోపల, కాదు కాదు మాట్లాడటం, ప్రపంచవ్యాప్తంగా ఒక వేరియబుల్ ఉంచండి నేను లైన్ 15 ఇక్కడ వలె కాని ఫైల్ లోనే, ఫంక్షన్స్ అన్ని వెలుపల మీరు, వ్రాయలేదు. ఈ సాధారణంగా, పై frowned, కానీ ఈ కొన్నిసార్లు ఇతర సమస్యలకు ఒక పరిష్కారం తెలుసుకుంటారు ఉంది మేము చివరికి చూస్తారు వంటి. కాబట్టి ఇప్పుడు మేము ఈ వంటి చెప్పను, కాని మేము ఈ తిరగరాసే లేదో చూడటానికి లెట్స్ కేవలం భిన్నంగా మేమే కొద్దిగా వ్యక్తం ప్రారంభించడానికి. ఈ కార్యక్రమం కేవలం స్పష్టతను, positive1 ఉంది. నాకు ఇక్కడ ముందుకు వెళ్లి నా టెర్మినల్ విండో లో ఎంటర్ positive1 తయారు చేద్దాము. సరే కూర్చింది. నేను Enter ని, positive1 అమలు వెళుతున్న. నేను మీరు నాకు సానుకూల పూర్ణాంక ఇవ్వాలని కోరుతుంది. నేను -1 సే చేస్తాము. ఆ పని చేయలేదు. 0, 99. ఆ పని ఉంది. బహుశా కాకపోవచ్చు అత్యంత కఠినమైన పరీక్ష, కానీ కనీసం అది ఒక nice తెలివి చెక్ యొక్క మేము సరైన చేయవచ్చు. కాబట్టి ఇప్పుడు, నాకు ముందుకు వెళ్లి ఈ యొక్క వెర్షన్ 2 తెరిచి తెలియజేయండి మరియు ఇప్పటికే వివిధ ఏమిటి? ఇది ఇదే అమలు చేస్తుంది, అయితే ఏ స్పష్టంగా వివిధ ఈ సారి నుండి దూకడం యొక్క? ఆకుపచ్చ ఈ bool. గ్రీన్, ఒక డేటా రకాన్ని ఇది bool పిలవబడే ఈ కీవర్డ్ లో హైలైట్ ఉంది. ఇది C. యొక్క అన్ని రూపాలను కు నిర్మించారు రాదు మీరు ఒక నిర్దిష్ట గ్రంధాలయం ఉన్నాయి అవసరం. మేము bool ప్రాప్తి తద్వారా మా సందర్భంలో, నేను CS50 లైబ్రరీ ఉన్నాయి. కానీ లైన్ 18 లో, మేము ధన్యవాదాలు అని ఇక్కడ బూలియన్ విలువ కలిగి ఉంటాయి. నేను ఈ ఏదైనా అని ఉండవచ్చు, కాని దాన్ని ధన్యవాదాలు అని కేవలం రకం కొన్ని అర్థ అర్థం తెలియజేయడానికి. కాబట్టి మొదట లైన్ 18 న, నేను స్పష్టంగా ధన్యవాదాలు కాదు ధన్యవాదాలు బూలియన్ విలువ లైన్ 18 లో తప్పుకు initialized ఎందుకంటే. అది నేను 23 ద్వారా 21 పంక్తులు ఇక్కడ చేసిన ఏ తెలుస్తోంది నేను రకమైన నా తర్కం తిరిగి చేసిన ఉంది. ఏ క్రియాశీలకంగా భిన్నం కాబట్టి Int యూజర్ అందించారు ఉంటే, కాని లైన్ 22 లో ఇప్పుడు నేను తనిఖీ 0 కంటే ఎక్కువ, అప్పుడు నేను అది నిజం చేసినందుకు ధన్యవాదాలు విలువ మారుతుంది. నేను ఎందుకు ఆ చేయాలి? లైన్ 25 లో ఎందుకంటే, స్పష్టంగా నేను పరిస్థితులను తనిఖీ వెళుతున్న. ధన్యవాదాలు తప్పుగా ఈ లూప్ చేయండి. నేను వెర్షన్ 1 ప్రత్యామ్నాయంగా ఈ ప్రతిపాదించారు అది బహుశా కనీసం కొంత స్పష్టమైన ఎందుకంటే, అది కొంచెం ఇంగ్లీష్ లో స్థాపితమైన ఉంది. ధన్యవాదాలు తప్పుగా మీరు ధన్యవాదాలు లేదు లేదా అందువలన ఈ క్రింది వాటిని. మరియు ఈ సమయంలో చాలా నేను స్పష్టంగా యూజర్ టైప్ గుర్తు అవసరం నాకు లేదు ప్రకటన ఎందుకంటే అక్కడ ఏ వేరియబుల్ n, కాబట్టి నిజంగా, ఒక చిన్న తెల్లని అబద్ధం లేదు. మేము అది దిగువ ను ఒకసారి ప్రయోజనాత్మకంగా, ప్రోగ్రామ్ భిన్నమైనది నేను n ఏది గుర్తు లేదు ఎందుకంటే. కానీ నేను ఇక్కడ ప్రదర్శిస్తారు అనుకున్నారు కూడా మేము GetInt చూసిన కూడా మరియు ఒక యొక్క కుడి వైపు ఉపయోగిస్తారు GetString ఇప్పటివరకు సైన్ సమానం కాబట్టి మేము ఖచ్చితంగా అవసరమైన కాని విలువ, సాంకేతికంగా, గుర్తున్నది. మీరు కేవలం విలువ సేవ్ పట్టించుకోను కారణం ఏదైనా మీరు, మేము కేవలం GetInt ఈ రాయడం అని గుర్తించలేకపోతే, విలువ తనిఖీ మీరు ఓపెన్ బ్రాకెట్, దగ్గరగా బ్రాకెట్. మేము చెప్పడం చేసిన ఆ ఫంక్షన్, ఒక విలువ తిరిగి అన్నారు. ఇది ఒక పూర్ణాంకానికి మీరు తిరిగి ఇవ్వాలని జరగబోతోంది. కాబట్టి మీరు మానసికంగా, ఈ రకమైన అనుకుంటే నేను 99 లో టైప్ చేసినప్పుడు, GetInt, సంఖ్య 99 తిరిగి అందువలన సంభావితంగా, అది నా కోడ్ వాస్తవానికి ఈ వలె అయితే ఉంది. 99 0 కంటే ఎక్కువ నిజానికి ఉంది కాబట్టి, అప్పుడు ధన్యవాదాలు నిజమైన అవుతుంది, నేను ఇప్పుడు యామ్ థ్యాంక్ఫుల్ ఎందుకంటే అప్పుడు లైన్ 25 ooh గుర్తిస్తాడు, మేము, పూర్తి చేసిన మరియు లైన్ 26 లో, మేము కేవలం "సానుకూల పూర్ణాంక ధన్యవాదాలు!" అని అది జరిగిన ఏ. ఇప్పుడు మాట్లాడటానికి, ఇక్కడ కొంచెం వాక్యనిర్మాణ చక్కెర చేయండి చూద్దాం. మేము positive3 ఈ మూడవ మరియు ఆఖరి వేరియంట్ తో ఈ లైన్ 25 శుభ్రం లేదో యొక్క చూసేలా. ఇప్పుడు ఏమి కోడ్ లైన్ మాత్రమే తేడా గమనించండి? >> [విద్యార్థి] 25. >> [మలన్] అవును, 25. మరియు మేము నిజంగా ఇంకా ఈ ట్రిక్ చూడలేదు చేసిన, కానీ మేము, సోమవారం ఆశ్చర్యార్థకం పాయింట్ చూడండి లేదు ఇది వాటిని సూచిస్తుంది? >> [విద్యార్థి] Not. >> లేదు లేదా రుణాత్మక. కాబట్టి బూలియన్ విలువ తీసుకోవటానికి మరియు విలువ కుదుపు. ట్రూ తప్పుడు అవుతుంది, తప్పుడు నిజమైన అవుతుంది. ఈ సో, నేను ప్రపోజ్ చేస్తుంది, కోడ్ రాయడం కూడా కొంచెం చూడగానే ఒక మార్గం నేను ఇప్పటికీ తప్పుడు చేసినందుకు ధన్యవాదాలు ప్రారంభించడం ఎందుకంటే, నేను ఇప్పటికీ, క్రింది వాటిని సమయం వచ్చినప్పుడు నేను, నిజమైన చేసినందుకు ధన్యవాదాలు సెట్ కానీ ఇప్పుడు మీరు నిజంగా కేవలం మాటల ద్వారా ఎడమ ఈ కోడ్ అనువదిస్తుంది అయితే (ధన్యవాదాలు!); బ్యాంగ్ లేదా ఆశ్చర్యార్థకం పాయింట్, కాని భావన సూచిస్తుంది కాబట్టి కాబట్టి ధన్యవాదాలు లేదు, అయితే. మరలా, మేము పర్ సే ఏ కొత్త భావనలను ప్రవేశపెట్టింది లేదు. మేము ప్రారంభం ఆడి మేము, తిరిగి Booleans గురించి మాట్లాడారు కానీ మేము అనేక రకాలుగా మా కోడ్ రాయటం మొదలుపెట్టాలని ఇప్పుడు అర్ధమవుతుంది. కాబట్టి ముఖ్యంగా pset1 లో మీరు, కొన్ని ప్రోగ్రామ్ను రాయడం మార్గం గుర్తించడానికి పోరాడుతున్న యొక్క విధమైన అయితే SOLUTIONS ఎన్ని ఉంటుంది ఎందుకంటే అసమానత మీరు లక్ ఉన్నారు ఉంటాయి మీరు మీద ఇదే. ఉదాహరణకు, ఈ కార్యక్రమాలను కూడా సరళమైన కేవలం 3. అన్ని కుడి. ఇప్పుడు సోమవారం మేము తిరిగి విలువలతో ఈ సూచన వదిలి గుర్తు. కాబట్టి మొదటి సారి మేము ప్రధాన లేదు ప్రోగ్రామ్ రాశారు; అది కూడా నేను ఇక్కడ రాసిన దాని స్వంత కస్టమ్ లక్షణం ఉంది. కాబట్టి లైన్ 31 లో 34 ద్వారా నేను ఒక ఘనం ఫంక్షన్ అమలు చేసిన. ఇది క్లిష్టమైన కాదు. ఇది కేవలం ఒక వ్యక్తి యొక్క ఒక * A * ఈ సందర్భంలో. కాని దాని గురించి ముఖ్యమైన నేను రూపంలో ఇన్పుట్ తీసుకుని చేస్తున్నాను అని మరియు నేను * A * ఒక రూపంలో అవుట్పుట్ తిరిగి నేను. కాబట్టి ఇప్పుడు నేను సామర్థ్యం కలిగి, నేను prinf ఒంటరిగా తో ఉపయోగిస్తారు వంటి, క్యూబ్ చర్యను కాల్ ఈ ఫంక్షన్ కాల్. మరియు క్యూబ్ ఫంక్షన్ కొన్ని ఇన్పుట్ పడుతుంది, మరియు క్యూబ్ ఫంక్షన్ కొన్ని అవుట్పుట్ తిరిగి. దీనికి విరుద్ధంగా, printf కేవలం ఏదో చేశారు. జనాంతికంగా ఒక విలువ తిరిగి అయినప్పటికీ ఇది మేము గురించి ఆలోచించలేదు అని దేన్నీ; మీరు సాధారణంగా పట్టించుకోరు. Printf కేవలం ఏదో చేశారు. ఇది స్క్రీన్ కి ముద్రించడం ఒక ప్రభావాలను. ఇక్కడ దీనికి విరుద్ధంగా, మేము నిజంగా ఏదో చూపించే క్యూబ్ ఫంక్షన్ కలిగి. కాబట్టి ఈ పరిచయం వారిలో, అది ఒక చాలా సులభంగా ఆలోచన. కానీ ఇన్పుట్లను అక్కడ మరియు ప్రతిఫలాన్ని తిరిగి పొందడానికి ఈ ఆలోచన తక్కువ తెలిసి వారికి, యొక్క కేవలం ఏదో సూపర్ సాధారణ ప్రయత్నించండి తెలియజేయండి. సౌకర్యవంతమైన ఎవరైనా క్లుప్తంగా వేదికపై వస్తోంది? మీరు మీరు ఒక కెమెరా తో సౌకర్యవంతమైన ఉండాలి. Yeah? సరే. మీ పేరు ఏమిటి? >> [విద్యార్థి] కెన్. >> కెన్. అన్ని కుడి. కెన్, అప్ న వస్తాయి. కెన్ ఇక్కడ రకాల ఒక కార్యకలాపంగా అన్నారు. యొక్క ముందుకు వెళ్లి మనం. యొక్క కొద్దిగా ఫాన్సీ పొందండి లెట్. మీరు ఎవరిని నీస్. సెంటర్ స్టేజ్ కు స్వాగతం. అన్ని కుడి. యొక్క ఇక్కడ ఈ బటన్ నొక్కండి లెట్. అన్ని కుడి. ఇక్కడ మీరు ఒక ఆధునిక సుద్ద బోర్డ్ కలిగి మరియు నేను, ఉదాహరణకు, ప్రధాన విధి మరియు నేను నా చేతిలో ఒక ఐప్యాడ్ లేదు. Well, నేను ఆ చెప్పలేను - నేను నిజంగా ఎలా గుర్తు లేదు. నేను నిజంగా మంచి చేతిరాత లేదు కాబట్టి నేను మీరు నాకు తెరపై ఏదో ప్రింట్ మీరు. నేను ప్రధాన ప్రోగ్రామ్, నేను నా ఈ చెప్పించావలసి వెళుతున్న నా కోడి మొదటి దానిని రాయడం మరియు మీరు ఒక ఇన్పుట్ ప్రసరించటం ద్వారా. ఈ వ్యాయామం అయినప్పటికీ కాబట్టి వెర్రి, ఫంక్షన్స్ భావన మరియు ఒక చర్యను కాల్ మరియు ఈ ఒక ఫంక్షన్ నిజంగా దిమ్మల డౌన్ వచ్చారు. నేను ప్రధాన am, నేను, తెరపై printf, కోట్-unquote ఏదో వ్రాశారు నేను, ఈ కార్యక్రమాన్ని నిర్వహించే am, మరియు వెంటనే printf అని చెపుతాడు అది ఒక వాదన లేదా డబుల్ కోట్స్ మధ్య కొన్నిసార్లు ఒక పారామితి పడుతుంది. ఇక్కడ ఆ వాదన ఉంది. నేను కెన్ దానిని ప్రయాణిస్తున్న నేను. అతను సంవత్సరాల కొన్ని సంఖ్య క్రితం రాసిన ఒక బ్లాక్ బాక్స్ ఆ స్పష్టంగా మాత్రమే తెరపై విషయాలు ప్రింట్ ఎలా తెలుసు. కాబట్టి అమలు. ఆ చెడు కాదు. చాలా మంచి. కాబట్టి ఇప్పుడు కెన్ అమలు చేయబడుతుంది. నాకు ఏదైనా తిరిగి చేతితో మార్చాలి? మేము ఇప్పటివరకు చూసిన కాదు. మళ్లీ, printf వాస్తవానికి అనేక తిరిగి, కానీ మేము ఇప్పుడు ఆ విస్మరించండి చూడాలని మేము ఉపయోగించారు ఎప్పుడూ చేసిన ఎందుకంటే. కాబట్టి కెన్ కోసం ఆ. కాబట్టి ఇప్పుడు ప్రధాన మళ్లీ ప్రోగ్రామ్ యొక్క నియంత్రణ పైగా పడుతుంది కోడ్ యొక్క లైనును, printf, అమలు జరుగుతుంది ఎందుకంటే. మరియు మేము మార్గాలు ఉన్నాయి ఏ అమలు, మా మార్గం గురించి వెళ్ళండి. కాబట్టి ఇప్పుడు యొక్క స్వల్పంగా ఉదాహరణ ప్రయత్నించండి తెలియజేయండి. ఈ సమయంలో ఇక్కడ యొక్క మొదటి స్క్రీన్ క్లియర్ వివరించారు, ఈ సమయంలో మేము, cubing ఫంక్షన్ చేస్తాను కానీ ఈ సమయంలో, నేను ఒక అవుట్పుట్ విలువ అంచనా. కాబట్టి యొక్క ముందుకు వెళ్లి మనం. ఇప్పుడు నేను x x యొక్క క్యూబ్ గెట్స్ అని కోడ్ ఒక లైన్ ఉంది. కోడ్ లైన్, రీకాల్, ఈ కనిపిస్తోంది: x = ఘనం (x); కాబట్టి ఎలా ఈ పని అన్నారు? యొక్క ముందుకు వెళ్లి మళ్లీ మిమ్మల్ని తెల్లవాడు స్క్రీన్ కల్పించడానికి అనుమతిస్తాయి. నేను, ఇప్పుడు x విలువ వ్రాసి నేను సమయం లో ఈ సమయంలో నిర్మాణము ఇది, ఇది సాధారణ ఉంచడానికి, చెప్పాలి 2 తెలియజేయండి. నేను కాగితంపై నా విలువ x ఇది 2 యొక్క విలువ, క్రిందికి వ్రాశారు. నేను కెన్ దానిని చేతితో. >> నేను సమాధానం వ్రాయండి? >> అవును, యొక్క సమాధానం వ్రాయుటకు అనుమతి. సరే. ఇప్పుడు అతను నాకు ఏదో తిరిగి ఉంటుంది. పర్ఫెక్ట్. Segue నీస్. కాబట్టి ఇప్పుడు ఈ కేసులో 8 విలువ నాకు తిరిగి అందిస్తుంది, మరియు నేను దానిని ఏమి చేస్తారు? అసలైన - ఈ సాధించడం, యొక్క చూసేలా. నేను అది ఏమి నేను? ఇప్పుడు నేను ఈ విలువ తీసుకొని నిజానికి మెమరీ లో ఆ అదే బిట్స్ లో నిల్వ వెళుతున్న. కానీ నేను ఇక్కడ పోరాడుతున్న రకం ఉన్నాను గమనిస్తారు. నేను ఎక్కడ వాస్తవానికి x విలువ రాయడానికి ఎందుకంటే నేను, కొద్దిగా తికమక ఉన్నాను నేను కేవలం చేసిన భౌతికంగా చేతి కెన్ విలువ 2 కలిగి కాగితంపై, ఎందుకంటే ఇది x, మరియు నిజానికి ఆ ఏమి ఖచ్చితంగా ఉంది. కాబట్టి మీరు ఫంక్షన్ కాల్ మరియు మీరు వాదన లో ప్రయాణించిన అవుతుంది హలో మాదిరిగా ప్రపంచ లేదా మీరు, 2 వంటి ఒక వాదన లో పాస్ సాధారణంగా, మీరు ఆ వాదన కాపీని అక్కడ చేస్తున్నారు. కాబట్టి నేను ఇక్కడ సంఖ్య 2 రాశాడు మరియు కెన్ అందచేసి కేవలం ఆ నేను ఇప్పటికీ ఎక్కడో విలువ 2 యొక్క ఒక కాపీ అని ఉండాలి నిజానికి, ఇప్పుడు నేను విలువ 8 చెవిలో చేసిన, నేను RAM తిరిగి వెళ్లవలసిన అవసరం ఎందుకంటే నేను ఒకసారి సంఖ్య 2 ఉండడం మరియు నిజంగా 8 వ్రాసి. కాబట్టి దృశ్యపరంగా, వాచ్యంగా, విలువ యొక్క ఒక కాపీని తరలింపు ఈ భావన గుర్తుంచుకోవాలి. ఈ కేసులో 8 వంటి విలువ - - కెన్ తన విషయం, తిరిగి ఏదో నాకు చేతులు చేస్తుంది నేను చుట్టూ ఉంచడానికి కావాలా అప్పుడు నేను ఆ విలువ ఏదో చేయాలి. కాబట్టి ఈ అన్ని దీర్ఘ ముందు అన్ని చాలా అవగాహన మళ్ళీ వస్తుంది. ఇక్కడ ఈ డెమో చాలా కెన్ ధన్యవాదాలు. [చప్పట్లు] చాలా చక్కగా చేసారు. చివరికి మేము ఇక్కడ చేస్తున్న చేసిన కాల్ ఫంక్షన్ కొన్ని సంబంధించి ఎంత చూద్దాం. నాకు ముందుకు వెళ్లి ఇక్కడ cubing ఉదాహరణ మాకు బాగు లెట్. గమనికను మేము నిజానికి ఈ మరింత ఆరంభిస్తాయి అనుకుంటే ఆ, మేము సంఖ్య x ఇక్కడ జారీ చేయబడిన ఆ వాస్తవం గురించి జాగ్రత్త వహించండి కు చూడాలని నిజానికి కు జారీ చేయబడిన వాటిని భిన్నంగా ఉంటుంది. మరలా, కాపీ ద్వారా ఈ పాస్ ఒక్క నిమిషం లో చాలా సంబంధించి మారింది అన్నారు. యొక్క సరైన ఇంకా పనిచేయని ఏదో పరిశీలించి చూద్దాం. నేను, ముందుకు వెళ్ళి, ప్రకృతి ద్వారా పొరపాట్లు ఒక మూడవ బగ్గీ ఉదాహరణకు, తెరిచి వెళుతున్న మరియు అది buggy3 అని మరియు అది ఒక ఇచ్చిపుచ్చుకోవడంతో ఫంక్షన్ అమలు ఉంది. ఇక్కడ మేము x మరియు y ఏకపక్ష వరుసగా 1, 2 నుండి initialized ఒక ప్రధాన చర్య. , మేము GetInt వాడవచ్చు కానీ మేము కేవలం వ్యాయామం అవసరం కాబట్టి ఇది 1 మరియు 2 వంటి హార్డ్ కోడెడ్ ఉంది. పంక్తులు 21 మరియు 22, మేము స్పష్టంగా x మరియు y, పంక్తికి 1 ప్రింట్. అప్పుడు లైన్ 23 న, నేను, డాట్, డాట్, డాట్ ఈ విలువలు ఇచ్చిపుచ్చుకోవడంతో am పేర్కొన్నారు. నేను స్పష్టంగా లైన్ లో ఒక ఫంక్షన్ 2 వాదనలు కనిపించే 24 పిలువబడే swap కాల్. విధులు 2 వాదనలు కావడానికి ఇది పూర్తిగా నమ్మకమైన యొక్క. మేము printf ఇప్పటికే అది చూసిన. కాబట్టి, swap స్పష్టంగా x మరియు y ను తీసుకుంటుంది మరియు దాని పేరు సూచించిన విధంగా నేను ఈ 2 విలువలు స్వాప్ వెళుతున్న భావిస్తున్నాము చేస్తుంది. కాబట్టి అప్పుడు నేను 25 "మార్చుకున్నారు!" లైన్ పై దావా మరియు నేను x మరియు y రీప్రింట్ ఇవి నిజానికి మార్చుకున్నారు చేసిన ఆ భావన కింద. కానీ నిజానికి ఈ కార్యక్రమం అమలు చేస్తే - నాకు టెర్మినల్ విండో తెరుచుకుంటుంది తెలియజేయండి నాకు buggy3 తయారు చేద్దాము - పేరు సూచించినట్లు, ఈ అదే ముగించడానికి వెళ్ళడం లేదు నేను, Enter x 1 అని గమనించి కొట్టాడు, y, 2 ఎందుకంటే మరియు ఇంకా కార్యక్రమం చివరిలో, వారు నిజానికి, ఇప్పటికీ ఒకటే. కాబట్టి ఇప్పుడు కెన్ తో, ఏ వాస్తవానికి జరగబోతోంది ప్రదర్శన ఆధారంగా? ఈ swap ఫంక్షన్ ప్రవేశిస్తాడు యొక్క లెట్. ఇది చిన్న సూపర్ ఉంది. ఇది మాత్రమే దీర్ఘ కోడ్ యొక్క కొన్ని పంక్తులు ఉంది. కానీ కెన్ తో ఇక్కడ చెప్పారు సాధారణ కథ ఆధారంగా ప్రాథమిక సమస్య ఏమిటి? ఎందుకు swap విభజించబడింది? [విద్యార్థి] మీరు కాపీని, కాని వేరియబుల్ కు నిల్వ చేస్తున్నారు. సరిగ్గా. మేము వేరియబుల్, ఒక కాపీని కూడా లేదు నిల్వ చేస్తున్నారు. ఇతర మాటలలో, swap స్పష్టంగా 2 వాదనలు, ఒక Int, పడుతుంది మరియు కక్ష్య, a మరియు b అని మరియు ఇక్కడ నేను వరుసగా 1 మరియు 2 ఇవి x మరియు y, జారీ చేసిన కానీ నేను అక్షరాలా x అక్కడ లేదు, నేను అక్షరాలా, Y అక్కడ లేదు నేను x యొక్క ఒక కాపీని మరియు y యొక్క ఒక కాపీని ప్రయాణిస్తున్న నేను. ఇది దాదాపు అయితే మీరు కాపీ మరియు స్వాప్ లో అతికించబడింది యొక్క మీరు నిజంగా సవరించడానికి కావలసిన విలువలు. ఆ సందర్భంలో, నేను ప్రోగ్రామ్ ప్రారంభం లైన్ అమలు చేసినప్పుడు 35 తర్వాత 36, కాబట్టి ఉంటే నేను కథ ఈ సమయంలో, లైన్ 37 వచ్చినప్పుడు, ఏది యొక్క విలువ? కథలో ఈ సమయంలో, లైన్ 37, ఈ సమయంలో ఒక విలువ ఏమిటి? >> [విద్యార్థి] 1. [మలన్] x మొదటి వాదన వంటి జారీ ఎందుకంటే అది కుడి, 1 ఉండాలి, మరియు ఈ చర్య కేవలం ఏకపక్ష మొదటి వాదన ఒక కాల్. అదేవిధంగా రెండవ వాదన Y మరియు ఇది కేవలం ఏకపక్ష రెండవ వాదన బి కాలింగ్ యొక్క. ఈ వైరుధ్యాన్ని వాస్తవానికి చాలా సరళంగా వివరించారు. దాని గురించి ఆలోచించండి. మాకు ఎవరూ, printf రాసిన వ్యక్తి వచ్చాయి కాబట్టి ఖచ్చితంగా, అతను లేదా ఆమె మా వేరియబుల్స్ 30 సంవత్సరాల తరువాత పిలుస్తారు ఎంత తెలియదు. కాబట్టి మీరు రాస్తున్నాం విధులు లో వేరియబుల్స్ కాల్ ఏమి మధ్య వ్యత్యాసం ఉండాలి మరియు మీరు కాల్ లేదా ఉపయోగించే విధులు లో వేరియబుల్స్ కాల్ ఏమి. కాబట్టి ఇతర మాటలలో, నేను, x మరియు y నా వేరియబుల్స్ వ్రాశారు ఎవరో swap ఫంక్షన్ రాసిన అయితే, అతను లేదా ఆమె ఖచ్చితంగా తెలియదు నా వేరియబుల్స్, అని ఎంత కాబట్టి మీరు పేర్లు ఈ ప్రవృత్తిగల ఎందుకు ఈ అని అర్ధమవుతుంది. సాంకేతికంగా, నేను, యాదృచ్ఛికంగానో ఈ చేయగల కానీ వారు ఇప్పటికీ కాపీలు గా సంక్రమిస్తుంది. ఇది కేవలం పూర్తిగా యాదృచ్చికం ఉంటుంది అందమైన ఉంటే swap రాసిన వ్యక్తి అదే పేర్లు ఉపయోగించాడు. కాబట్టి కథ ఈ సమయంలో, లైన్ 37, ఒక 1, బి 2, మరియు ఇప్పుడు నేను వాటిని మార్పిడి కొనసాగండి. అన్ని మొదటి, నాకు నిజంగా చాలా సరళంగా మనం. నేను కోడ్ ఆ 3 లైన్లు ఏమి తెలియదు. నాకు కేవలం మనం: బి = ఒక; a = b; పూర్తయింది. ఎందుకు ఈ తార్కికంగా, బ్రోకెన్ ఉంది? ఇది కుడి, సహజమైన విషయం రకంగా? ఒక మారుతుంది అవుతుంది బి అండ్ బి సో కానీ సమస్య లైన్ 37 అమలు వెంటనే, ఒక మరియు బి విలువ ఏమిటి అని? మీరు clobbered ఎందుకంటే 1, అదే, మాట్లాడటానికి, మీరు ఒక సమం బి మార్చారు. కాబట్టి ఒకసారి లైన్ 37 అమలు చేసింది, ఆ గొప్ప, మీరు ఇప్పుడు సంఖ్య 1 యొక్క 2 కాపీలు ఉన్నాయి ఈ చర్యను లోపల, మీరు లైన్ 38 లో చెప్పిన కాబట్టి అప్పుడు a = b, మీరు 1 నుండి 1 కేటాయించి ఎందుకంటే మీరు రకమైన చిత్తు చేశాడు చేస్తున్నారు. మీరు రకమైన మీరు గురించి ఆలోచించలేదు విలువ కోల్పోయి. కాబట్టి ఈ యొక్క యదార్థ సంస్కరణలో, నేను ఏమి గమనిస్తారు. నేను బదులుగా ఈ అని కోడ్ యొక్క మూడవ పంక్తి ఉంది. నేను ఒక తాత్కాలిక వేరియబుల్ ప్రకటిస్తాయి. Tmp తాత్కాలిక వేరియబుల్ కోసం ఒక సాధారణ పేరు, మరియు అది ఒక పూర్ణాంకానికి యొక్క నేను యొక్క నకలును చేయడానికి ఏమి మ్యాచ్ ఉంటుంది ఎందుకంటే. లైన్ 37 అమలు చేసింది కాబట్టి ఒకసారి నేను, tmp ఒక లోపల నకలు నిల్వ ఒక యొక్క విలువ - శీఘ్ర తెలివి చెక్ - 1, బి విలువ, 2 మరియు tmp విలువ కూడా 1. కాబట్టి ఇప్పుడు నేను లైన్ 38 అమలు. లైన్ 38 అమలు ఒకసారి, ఒక బి విలువ తీసుకుంటుంది. అండ్ బి 2, అందువలన ఒక ఇప్పుడు 2. కాబట్టి కథ ఈ సమయంలో, ఒక 2, బి 2, మరియు tmp 1 కాబట్టి ఇప్పుడు తార్కికంగా, మేము బి లోకి కేవలం plop tmp యొక్క విలువ మరియు మేము పూర్తి చేసిన. కాబట్టి మేము ఆ సమస్యను పరిష్కరించింది చేసిన. దురదృష్టవశాత్తు, నేను ఈ రూపంలో ఈ అమలు చేసేటప్పుడు, నిజానికి ఏ విలువలు స్వాప్ లేదు. కానీ, ఎందుకు స్పష్టంగా ఉండాలి? నేను, ఒక్క నిమిషం క్రితం నుండి తార్కిక సమస్య పరిష్కరించబడింది నేను ఈ కార్యక్రమం అమలు చేస్తే కానీ మళ్లీ, x మరియు y మారదు కార్యక్రమం యొక్క అమలు చివరికి. [వినబడని విద్యార్థి వ్యాఖ్య] >> మేము ఏదైనా తిరిగి లేదు, నిజం కాబట్టి. ఎందుకంటే ఇప్పటివరకు సమస్య ఒక బిట్ ఇక్కడ ఉంది అవుట్ కానీ మారుతుంది మేము తిరిగి చేయగలిగారు చేసిన మాత్రమే విషయం విషయం, మరియు ఈ C. యొక్క పరిమితి ఉంది నేను రకమైన ఇక్కడ కష్టం ఉన్నాను కేసు దీనిలో మీరు, నిజంగా ఒక విలువ తిరిగి నేను x యొక్క కొత్త విలువ తిరిగి లేదా ఎందుకంటే నేను, Y యొక్క కొత్త విలువ తిరిగి విధుల్లో కానీ నేను రెండు తిరిగి కావలసిన. చాలా సింపుల్ పరిష్కారం ఇక్కడ లేదు వచ్చారు. కానీ సమస్య మౌలికంగా ఎందుకు? మేము నిజంగా ఏమి మార్చుకున్నారు చేశారు? [విద్యార్థి] ఒక అండ్ బి. >> ఒక అండ్ బి. కానీ అండ్ బి మేము ఈ కృతి యొక్క అన్ని చేసాడు అంటే x మరియు y, యొక్క నకళ్ళు మేము, swap ఫంక్షన్ మరియు అంశాలపై అన్ని 3 గురించి మాట్లాడుతూ 3 నిముషాలు ఖర్చు మరియు ఆ, ఒంటరిగా ఖచ్చితంగా సరైన, గొప్ప పని కానీ ఒక అండ్ బి యొక్క పరిధిని మాత్రమే ఇక్కడ ఈ పంక్తులు ఉంది. కాబట్టి కేవలం, లూప్ ఒక మీకు నేను, లూప్ లోపల పూర్ణాంకం డిక్లేర్ ఉంటే అదేవిధంగా, మీరు వ్రాసిన చేసిన ఒక చర్య యొక్క ఒక అండ్ బి లోపల ప్రకటించారు చేస్తుంటే, ఆ ఫంక్షన్ యొక్క మాత్రమే చెల్లుబాటు అయ్యే లోపల ఉన్నారు, ఇది వెంటనే అమలు swap చేయబడుతుంది వంటి అర్థం మరియు మేము లైన్ 25 పంక్తి 24 నుండి వెళ్లి, x మరియు y అన్ని వద్ద మార్చబడలేదు. మీరు వేరియబుల్స్ యొక్క కాపీలు ఇచ్చిపుచ్చుకోవడంతో సమయం మొత్తం చాలా వృధా. కాబట్టి ఈ పరిష్కారం వాస్తవానికి కాని స్పష్టమైన అని అవుతుంది. మేము మాత్రమే 1 విలువ తిరిగి ఎందుకంటే ఇది విలువలు తిరిగి పూర్తిగా సరిపోతాయి కాదు మరియు నేను నిజంగా, అదే సమయంలో x మరియు y రెండు స్వాప్ అనుకుంటున్నారు కాబట్టి మేము ఈ కి తిరిగి రావాలని చూడాలని. కానీ ఇప్పుడు కోసం, సమస్యను ప్రాథమికంగా ఒక అండ్ బి కాపీలు వాస్తవం నుండి గుర్తించలేరు మరియు వారు తమ సొంత పరిధిలో ఉంటాయి. యొక్క కొన్ని విధంగా ఈ పరిష్కరించడానికి ప్రయత్నించండి లెట్. యొక్క, ఈ యొక్క నాల్గవ రకం, buggy4 అని పిలవబడు, నాకు నిజంగా ఇక్కడ మళ్లీ స్క్రోల్ లెట్ మరియు తెరవండి. ఈ గురించి? ఈ మేము దీనిని సాధించే ఒక ఉదంతం పడుతుంది ముందు కు ఇదే కాని సులభమైన సమస్య. ఈ కార్యక్రమం పెంపు అంటారు స్పష్టంగా లైన్ 18 లో 1 నుంచి ఒక x పూర్ణాంక initializes ఉంది. నేను అప్పుడు x 1 దావా, నేను "పెంచడం ..." దావా నేను అప్పుడు పెంపు పిలుస్తాము, కానీ అప్పుడు పంక్తులు 22 మరియు 23 లో, నేను పెరిగిన చెయ్యబడిన దావా 2, బహుశా - - నేను x ఇది ఏమైనా ఇప్పుడు దావా కాని ఈ కార్యక్రమం బగ్గీ ఉంది. సమస్య ఏమిటి? అవును. >> [వినబడని విద్యార్థి ప్రతిస్పందన] >> ఖచ్చితంగా. కాబట్టి x లైన్ 18 న, సహజంగా, ప్రకటించబడింది. ప్రధాన యొక్క వంకర జంట కలుపులు లోపల ఉంది. ఇక్కడ సాధారణ సమాధానం, x ఇక్కడ ఉంది, అయితే ఆ ఇది పంక్తి 32 లేదు, ఈ కార్యక్రమం నిజానికి కూడా కంపైల్ అందువల్ల. నేను ఈ కోడ్ కంపైల్ ప్రయత్నించండి కంపైలర్ నాకు అరుస్తుంటారు అన్నారు కొన్ని ప్రకటించనివారు ఐడెంటిఫైయర్ లేదా ప్రభావంతో గురించి. నిజానికి, యొక్క ప్రయత్నించండి తెలియజేయండి. ఈ buggy4 తయారు ఉంది. అక్కడ ఇది. లైన్ 32 లో ప్రకటించనివారు ఐడెంటిఫైయర్ 'x' యొక్క ఉపయోగించండి. మరియు వాస్తవానికి, ఈ ఉపయోగపడుతుంది కనుక యొక్క ఇక్కడ నేడు మరింత స్పష్టమైన లెట్ ఆఫీస్ అవర్స్ లో మరియు ఇంటిలో. అది cryptically రాసిన లిటిల్ గమనించాలి. కానీ గణగణమని ద్వని చేయు వాస్తవం buggy4.c మాట్లాడుతూ, మాకు కోప్పడ్డాడు: 32:5, వాస్తవానికి ఉపయోగపడుతుంది. ఇది లోపం పాత్ర స్థానం 5 వద్ద లైన్ 32 న అని అర్థం. కాబట్టి 1, 2, 3, 4, 5. సమస్య అనేది నిజానికి, ఉంది. మరియు, చాలా, ఆఫీస్ అవర్స్ లో మరియు ఇంటిలో గుర్తుంచుకోండి, నేను ఇక్కడ ఉన్నాను లక్కీ. నేను ఒక పొరపాటు ఉంది. దాన్ని పరిష్కరించడానికి సులభంగా చేస్తాడు. కానీ మీరు అధిక దోష సందేశాలు పూర్తి మొత్తం స్క్రీన్ వస్తే, మళ్ళీ bottommost ఇప్పుడే మిక్కిలి శ్రేష్టమైన ఒక చిహ్నంగా ఉంటుంది అని తెలుసుకోవటం. కాబట్టి ఎల్లప్పుడు ఎగువ డౌన్ నుండి మీ దోషాలు డౌన్ తరుముతూ ఒక డైసీ గొలుసు ప్రభావం ఉండవచ్చు ఎందుకంటే మీరు మీరు నిజంగా కంటే మార్గం మరింత సమస్యలు సూచిస్తూ ఉంటుంది. నా లక్ష్యం x పెంచడం ఉంటే కాబట్టి మేము ఎలా పరిష్కరించడానికి కాలేదు? >> [విద్యార్థి] x ప్రపంచ చేయండి. సరే, మేము x ప్రపంచ చేయవచ్చు. , లెట్ యొక్క నేను ముందు ఎక్కడ సత్వరమార్గం తీసుకుంటారు కానీ హెక్, మేము త్వరగా పరిష్కారం అవసరం కాబట్టి కేవలం ఇక్కడ Int x సే తెలియజేయండి. ఆ x ప్రపంచ చేస్తుంది. కాబట్టి ఇప్పుడు ప్రధాన, అది యాక్సెస్ మరియు పెంపు దానిని ప్రాప్తి కలిగి ఉన్నాయి అందువలన నాకు ముందుకు వెళ్లి ఇప్పుడు ఈ సంకలనం తెలియజేయండి. Buggy4 చేయండి నమోదు చేయండి. ఇప్పుడు కంపైల్ తెలుస్తోంది. యొక్క buggy4 అమలు అయ్యేలా అనుమతించండి. మరియు అది నిజానికి పని ఉంది. ఇది నేను కాదు, నేను చెప్పినట్లు చేయండి చేసే ఈ విషయాలు ఒకటి నేను ఇక్కడ చేసినట్లుగానే, ఎందుకంటే సాధారణంగా, మా కార్యక్రమాలు ఈ కంటే ఎక్కువ ఆసక్తికరమైన మరియు చాలా ఎక్కువ సమయం పొందడానికి వెళ్తున్నారు, మరియు జీవితం యొక్క సమస్యలకు పరిష్కారం మీ మీ ఫైల్ ఎగువన అన్ని విషయాల్లోనూ పెట్టబడింది ఉంటే, చాలా త్వరగా కార్యక్రమాలు నిర్వహించడానికి భయంకర కష్టం ఎలా. ఇది కొత్త వేరియబుల్ పేర్లు అప్ ఆలోచించడం కష్టం గెట్స్ ఇది ఏమి ఏమి వేరియబుల్ అర్థం కష్టం గెట్స్ అందువలన సాధారణంగా, ఈ మంచి పరిష్కారం కాదు. కాబట్టి మంచి దీన్ని చూద్దాం. మేము ఇక్కడ ఒక ప్రపంచ వేరియబుల్ ఉపయోగించడానికి లేదు. నేను x పెంచడం అనుకుంటున్నారు, నేను ఖచ్చితంగా కాలేదు - మేము దీన్ని ఎందుకంటే రోజు ముగింపులో, ఈ ఒక వెర్రి కథ రకం - కానీ నేను ఆ ఆపరేటర్లు అవగాహన లేదు లేదా నేను ప్రధాన కూడా వారు మార్చవచ్చు దొరకకపోతే, ఎలా else ఈ సమయంలో కాదు క్యూబ్ ఇక్కడ పైగా కెన్ అమలు కాలేదు కానీ పెంచడం? నేను ఇక్కడ ఈ విషయం మార్చాలి? అవును. [విద్యార్థి] x లో పాస్ తరువాత తిరిగి [వినబడని] >> సరే, మంచి. అందుచే నేను, x లో పాస్ మరియు తరువాత కంటే తిరిగి లేదు ఎందుకు నేను x + 1 తిరిగి చేయడం లేదు. ఒక జంట మరింత ఇక్కడ మార్చాల్సి ఉంటుంది. నేను ట్రాక్ ఉన్నాను. నేను ఏమి సర్దుబాటు చేయాలి? వేరొకరు. అవును. [వినబడని విద్యార్థి ప్రతిస్పందన] అది రద్దు కాదు నేను పెంపు తిరిగి టైప్ మార్చాలి. శూన్యం అంటే ఏదీ, తిరిగివచ్చారు, కానీ స్పష్టంగా ఇప్పుడు చెప్పవచ్చు ఈ అవసరాలను మార్చడానికి - >> [విద్యార్థి] Int. నిజానికి తిరిగి నేను ఏ అనుగుణంగా ఉన్నట్లు Int. ఇప్పుడు ఏదో ఇక్కడ ఇప్పటికీ బగ్గీ ఉంది. అవును. [వినబడని విద్యార్థి ప్రతిస్పందన] >> [మలన్] నేను x పెంచడం అవసరం కాబట్టి? [వినబడని విద్యార్థి ప్రతిస్పందన] >> [మలన్] ఆహ్, నేను x పాస్ అవసరం. నేను ఇక్కడ ఈ చేయాలి. >> [వినబడని విద్యార్థి వ్యాఖ్య] [మలన్] కాబట్టి నమూనా, నేను ఇక్కడ ఈ అప్ మార్చాల్సి ఉంటుంది. ఈ ఒక పూర్ణాంకానికి మారింది ఉంటుంది కాబట్టి, ఈ మారింది ఉంటుంది - అయ్యో, నేను నిజానికి ఇక్కడ ఒక బగ్ డౌన్ ఉంటాయి. మొదటి ఈ ఒక పరిష్కరించడానికి లెట్. ఈ నిజానికి ఉండాలి? ఇది ఒక పూర్ణాంకానికి ఏదో తీరవలసినదే. మీరు మీ వేరియబుల్స్ x యొక్క మొత్తం అభ్యర్థన ప్రారంభం అది, స్పష్టముగా x, కాని కాలేదు ఇది ఇది తక్కువ మరియు తక్కువ స్పష్టమైన పొందడానికి జరగబోతోంది. కాబట్టి యొక్క కేవలం ఏకపక్ష నా helper విధులు కోసం వేరొక నామకరణ ఎంచుకోనివ్వండి, నేను వ్రాసే నేను పనిచేస్తుంది. మేము ఒక పిలుస్తాను, లేదా మేము వాటిని కాల్ కాలేదు - లెట్ యొక్క మరింత స్పష్టమైన ఉంటుంది ఇది కాల్. కాబట్టి నేను సంఖ్య ప్లస్ 1, ఉండే వస్తువు తిరిగి కలిగి మరియు ఇప్పుడు నేను ఇక్కడ మరియు ఇక్కడ ఒక విషయం ఇతర అప్ 1 ఇతర విషయం అప్ మార్చాల్సి ఉంటుంది. నేను మొదటి లైన్ 21 న మార్చడానికి ఏమి ఉన్నాయి? >> [వినబడని విద్యార్థి ప్రతిస్పందన] [మలన్] నేను x కు కేటాయించి ఉంటుంది. నేను (x) పెంపు కాల్ చెయ్యలేరు. నేను ఎడమ చేతి వైపు x విలువ మార్చడం ద్వారా సమాధానం గుర్తుంచుకోవాల్సిన అవసరం. మరియు x ఇప్పుడు అయినప్పటికీ ఎడమ మరియు కుడి, ఆ పూర్తిగా మంచిది కుడి వైపు మొదటి అమలు అవుతుంది ఎందుకంటే అప్పుడు ఎడమ చేతి విషయం లోకి plopped వచ్చింది - ఈ సందర్భంలో x. మరియు తర్వాత చివరగా, ఈ ఇప్పుడు ఒక సులభమైన పరిష్కారం ఉంది. ఇది Int సంఖ్య, క్రింద ఏమి డౌన్ 'స్ మ్యాచ్ ఉండాలి. కాబట్టి నిజంగా తెలివితక్కువదని ఫంక్షన్ కోసం మార్పులు మొత్తం బంచ్ కానీ మేము ఎక్కువగా చేయాలనుకుంటున్నారా మేము విషయాలను ప్రతినిధి. కాబట్టి buggy4 చేయండి. నేను ఎక్కడో ఇరుక్కొనిపోయింది చేసిన. ఓహ్, నా దేవుని. 6 లైన్ కార్యక్రమంలో ఐదు తప్పులు. కాబట్టి పాత్ర లైన్ 18 న ఏమి 5 ఏమిటి? నేను ఈ, Int ప్రకటించాలని ఉన్నాయి. యొక్క చూసేలా. ఇతర లోపాల మొత్తం అక్కడ చాలా ఉన్నాయి. ఓహ్, నా దేవుని - 19, 18, 21 - మళ్ళీ కాని, మనం ఇక్కడ, కంట్రోల్ L స్క్రీన్ క్లియర్ తెలియజేయండి మరియు గణగణమని ద్వని చేయు తిరిగి. కాబట్టి 5 సమస్యలు నిజానికి ఆ 1. కాబట్టి ఇప్పుడు ఎంటర్ యొక్క buggy4 అమలు అనుమతిస్తాయి. Whew, x సరిగ్గా పెరుగుదల ఉంది. అన్ని కుడి. సంఖ్యలు పెంచడం ఎలా ఏదైనా ప్రశ్నలు? అవును. [వినబడని విద్యార్థి ప్రశ్న] >> మంచి ప్రశ్న. అది నేను అనేక x మార్చవచ్చు మరియు ప్రోగ్రామ్ వెంటనే తెలుస్తుంది ఆ ఎలా ఉంది? మళ్ళీ, ఈ ఊహ గా భావిస్తారు. నేను ప్రధాన am మరియు కెన్ స్పష్టముగా, పెంపు ఉంటే కనుక, నేను కెన్ తన ఐప్యాడ్ పిలిచే పట్టించుకోను. నేను ఈ కార్యాచరణ యొక్క తన అమలు సంబంధం కలిగి ఉంటుంది, ఆ ఏదైనా పిలిచే పట్టించుకోను. ఈ నేను, ప్రధాన, పట్టించుకోనట్లు లేని ఒక అమలు వివరాలు ఉంది. కాబట్టి కేవలం పనితీరు లోపల నిరంతరంగా మారుతున్న - సంఖ్య ఇక్కడ మరియు ఇక్కడ సంఖ్య - నేను మళ్ళీ కంపైల్ చెయ్యండి చాలాకాలం పాటు పడుతుంది అన్ని ఉంటుంది. మీరు అనుకుంటే ఇది విధమైన ఇష్టం యొక్క యొక్క డ్రైవర్ లైసెన్సులు మీకు, ఆ మాకు యొక్క గురించి అనేక మీరు కూడా ఒక కారులో నడిచే ఉంటే, లేదా నిర్వహిస్తాయి మాకు చాలా ఒక కారు హుడ్ కింద ఎలా పని సంఖ్య ఆలోచన ఉంది. మీరు హుడ్, మాకు చాలా అప్ తెరిస్తే మరియు వాచ్యంగా, - నాకు ఉంది - మేము వద్ద చూస్తున్న ఏమి వెళ్ళడం లేదు, మీరు ఇప్పుడు ఈ కుడి వంటి విషయాలలో అనుభూతి చెందుతాడు వంటి రకం. కానీ మేము నిజంగా, కారు ఎలా పనిచేస్తుంది శ్రద్ధ లేదు మేము శ్రద్ధ లేదు ఏమి కారు లోపలి రాడ్లను మరియు పిస్టన్లు మరియు తీగలు అన్ని వాస్తవానికి చేస్తున్న. మీరు పిస్టన్ ఈ సందర్భంలో ఇక్కడ పట్టింపు లేదు కాల్ ఏమి లో లాగ కాబట్టి. అదే ఆలోచన. అవును. >> [వినబడని విద్యార్థి ప్రశ్న] వేరియబుల్ XA క్షణం మరింత ఉపయోగాలు క్రితం ఉంటే, మీరు, ప్రోగ్రామర్, ప్రతిచోటా వాటిని మార్చవలసి ఉంటుంది. లేదా మీరు వాచ్యంగా ఫైలు, మెనూ చేయండి, తరువాత భర్తీ కనుగొనగలిగితే - అలాంటిదే - అయితే ఆ మార్పులు మీరే చేయడానికి పొందబోతున్నారు. మీరు స్థిరమైన ఉండాలి. >> [విద్యార్థి] బహుళ వేరియబుల్స్ ఉంటే [వినబడని] ఇక్కడ వంటి ఒక నిర్దిష్ట క్రమంలో, ఈ ఉంటే మరొక సంఖ్య Int? >> [విద్యార్థి] సరిదిద్దండి. [మలన్] అవును. మీరు చర్యను కాల్ చేస్తున్నప్పుడు ఆర్డర్ ముఖ్యమైనది. నేను, ఏదో కామా ఏదో ఇక్కడ పెంపు కాల్ అలా అయితే ఒక ప్రత్యక్ష మ్యాపింగ్ ఉంది. అది అని ఏ మొదటి వేరియబుల్, ఇక్కడ పైగా మొదటి వాదన కాపీని తయారు చేస్తారు. క్షమించాలి. ఈ ఒక కుండలీకరణములలో ఉండకూడదు. రెండవ రెండవ వాదన లైన్లు. ఆర్డర్ కాబట్టి, అవును, ముఖ్యమైనది. అన్ని కుడి. క్షమించాలి. నేను అక్కడ పొందడానికి చాలా దూరంగా పట్టింది. ఇతర ప్రశ్నలు? అన్ని కుడి. కాబట్టి మేము నిజంగా ఇక్కడ ఏమి చిత్రాన్ని చిత్రించటానికి కాదు లేదో యొక్క చూసేలా హుడ్ కింద, మాట్లాడటానికి. ఇది మీ కంప్యూటర్ యొక్క మెమరీ ప్రతిఫలించే ఒక దీర్ఘ చతురస్రం ఉంది. మీరు మెమరీ పనిచేస్తుంది లేదా ఎలా RAM ఎలా పనిచేస్తుంది ఆలోచన లేదు సరే, కనీసం మీరు ఈ రోజుల్లో అది పుష్పగుచ్ఛాలు కలిగి ఊహించుకొనుము. మీరు దాని మెగాబైట్ల పొందారు, మీరు దానిని గిగాబైట్ల పొందారు మరియు మేము ఒక బైట్ కేవలం అదే వారం 0 నుండి తెలుసా? >> [విద్యార్థి] 8 బిట్స్. 8 బిట్స్ కుడి? కాబట్టి 8 సున్నాల మరియు 1. మీ కంప్యూటర్ RAM యొక్క ప్రదర్శన, RAM యొక్క 2 వేదికలను ఈ రోజులు ఉన్నాయి అయితే మీరు మెమరీ బిలియన్ లేదా 2 బిలియన్ బైట్లు లేదా సుమారు 8 బిలియన్ లేదా 16 బిలియన్ బిట్స్ కలిగి మీ కంప్యూటర్ లోపల. చిన్న Wooly విల్లీ ఉదాహరణ వలె కాకుండా, ఇది సాధారణంగా ఇకపై అయస్కాంత అణువులు కాదు. అధికంగా - ల్యాప్టాప్ లో కనీసం - ఘన స్టేట్ డ్రైవ్స్, SSDs, యొక్క కేవలం ఎటువంటి కదిలే భాగాలు ఉంటాయి. అన్ని ఎలక్ట్రానిక్ ఉంది. అన్ని విద్యుత్ ఆధారిత ఉంది. కాబట్టి మీరు కలిగి మెమరీ 1 లేదా 2 గిగాబైట్ల ప్రాతినిధ్యం ఈ దీర్ఘ చతురస్రం యొక్క భావిస్తున్నాను. కనుక ఇది మెమరీ భాగం ఉంది. విధమైన ఆఫ్ విభజించబడిన కంప్యూటర్ సైన్స్ యొక్క ప్రపంచ ఉంది మెమరీ భాగాలుగా వివిధ పనులు. ఈ మీ కంప్యూటర్ యొక్క RAM ఉంటే ఉదాహరణకు, వంటి, అక్కడ దీర్ఘ చతురస్రం సూచించారు ఇది సాంప్రదాయకంగా, మీ RAM యొక్క పైభాగంలో, మాట్లాడటానికి ఆ అవుతుంది ఒక టెక్స్ట్ విభాగంలో అని ఏమి ఉంటుంది. ఆ మీరు సంకలనం చేసిన 0 సె మరియు 1s ఉంటాయి. మేము, a.out ఏమి వద్ద హుడ్ కింద కనిపించింది చేసిన అప్పుడు ఈ 0 సె మరియు 1s, మీరు ఒక అమలు చేసేటప్పుడు, ఆ 0 సె మరియు 1s, RAM అనే మీ హార్డు డ్రైవు నుండి లోడ్ మరియు RAM వారు ఎగువన ఉంచారు చేస్తున్నారు. అదే సమయంలో, మీరు ఇతర విషయాలు కలిగి ఉంటాయి: డేటాను uninitialize, డేటా ప్రారంభించడం. మెమరీ ఆ 2 swaths మీరు తరచుగా ఉపయోగించే లేని ప్రపంచ వేరియబుల్స్, చూడండి మీరు అయితే కొన్నిసార్లు, అవి అలాగే అక్కడికి ముగుస్తుంది. పరిసరం, మేము ఎక్కువ సమయం ఇది, అప్పుడు కొన్ని ఇతర అంశాలు ఉన్నాయి కానీ అప్పుడు 2 ముఖ్యమైన విషయాలు ఆ, సెమిస్టర్ అంతా తిరిగి వస్తారు స్టాక్ మరియు కుప్ప. ఒక ప్రోగ్రామ్ను అమలు కనుక మీ కంప్యూటర్ యొక్క మెమరీ చాలా ప్రత్యేకించబడింది ఏదో కోసం స్టాక్ అనే మరియు ఏదో కుప్ప అని. మేము ఈ రోజు కుప్ప మాట్లాడటానికి వెళ్ళడం లేదు, కానీ మాకు స్టాక్ గురించి చర్చ ఉంటుంది. స్టాక్ మాథుర్ హౌస్ భోజనశాల భోజనం ట్రేలు యొక్క దృశ్య అప్ సూచించడానికి అర్థం లేదా భోజనశాల సిబ్బంది ప్రతి రోజు వాటిని శుభ్రం పేరు మీరు కావడం అక్కడ, వారు, మీద నేల నుండి స్టేక్ అప్ మరియు అలాగే, మెమరీ లో, ఒక స్టాక్ న ఏదో చూస్తూ ఈ ఆలోచన ఉంది ఒక స్టాక్ న ఏదో చూస్తూ, ఒక స్టాక్ న ఏదో నిలిపివేసింది. మరియు మేము ఈ ద్వారా ఏమిటి? ఈ చిత్రంలో కేవలం దిగువ సగం, మీ కంప్యూటర్ యొక్క RAM, లో జూమ్ యొక్క లెట్ క్రింది అడగడానికి. ఇది అవుతుంది మీరు a.out లేదా హలో వంటి అమలు చేసేటప్పుడు - - ప్రోగ్రామ్ మీరు రాసిన చేసిన ఉండే వస్తువు మళ్ళీ, ఆ 0 సె మరియు 1s, దీర్ఘకాల నిల్వ, మీ హార్డు డ్రైవు నుండి లోడ్ మీరు RAM లోకి లోడ్ ప్లగ్, పుల్ కూడా అక్కడ ఉంటాయి. RAM హార్డ్ డ్రైవ్ కంటే వేగంగా - అది హార్డ్ డ్రైవ్ కంటే చిన్న ఉంది - మీరు వాటిని అమలు చేస్తున్నారు సమయంలో ప్రోగ్రామ్లు పేరు కాని ఇది. కాబట్టి మీరు డబుల్ ఒక మాక్ లేదా PC లో ఒక కార్యక్రమం క్లిక్ చేసి, అది RAM లోకి హార్డు డ్రైవు నుండి లోడ్ అన్నారు. ఇది RAM, మార్గం ఎగువన 0 సె మరియు 1s గో లోకి లోడ్ యొక్క త్వరగా అని పిలవబడే టెక్స్ట్ విభాగంలో, కానీ వెంటనే మీ ప్రోగ్రామ్ వాస్తవానికి మొదలవుతుంది గా ఈవిధంగా ప్రధాన విధి, అని, మరియు ప్రధాన, మేము చూసిన, తరచుగా స్థానిక వేరియబుల్స్ ఉన్నాయి మరియు అది ints మరియు తీగలను మరియు అక్షరాలు మరియు వంటి ఉంది. మీ మీరు రాసిన కార్యక్రమం లేదా మీరు డబుల్ క్లిక్ చేసిన ప్రోగ్రామ్ ఉంటే కొన్ని వేరియబుల్స్ ప్రధాన యొక్క లోపల, వారు మాట్లాడటానికి, మెమరీ మీ స్టాక్ దిగువన ముగుస్తుంది. మరిన్ని concretely ఇది నిజానికి అర్థం ఏమిటి? ఇది అర్థం మేము మీ కంప్యూటర్ లో RAM యొక్క బైట్లు వెళ్ళి ఉంటే, ఈ బైట్ సంఖ్య 0 కావచ్చు అని గుర్తించలేకపోతే, ఈ బైట్ సంఖ్య 1, 2, 3, 4, 5, 6, కావచ్చు 2 బిలియన్ వరకు అక్కడికి ఎగువన అన్ని మార్గం. కాబట్టి ఇతర మాటల్లో చెప్పాలంటే, బైట్లు పరంగా RAM లేదా మెమరీ గురించి మాట్లాడినప్పుడు అది కేవలం ఒకరు మెమరీ ఆ రాళ్లను ప్రతి సంఖ్య ఏ నిర్ణయించింది అర్థం. కాబట్టి మీరు ఒక పూర్ణాంకానికి కోసం 32 బిట్స్ అవసరం లేదా మీరు ఒక చార్ కోసం 8 బిట్స్ అవసరం వచ్చినప్పుడు, వారు మెమరీలో పేరు ముగుస్తుంది చెయ్యాలి? సైధ్ధాంతికంగా, వారు కేవలం స్టాక్ అనే ఈ విషయం దిగువన ముగుస్తుంది. ప్రధాన ఒక ఫంక్షన్ కాల్స్ కానీ ఇప్పుడు ఆసక్తికరంగా ఉంటుంది - foo అనే ఫంక్షన్, కేవలం ఏకపక్ష పేరు అనుకుందాం - మెమరీ ఈ స్టాక్ దిగువన ఏమి జరుగుతుందనే ప్రధాన ఉంటుంది; foo ఇప్పుడు మెమరీలో ప్రధాన పైన ఉంచబడుతుంది. Foo సంభావితంగా ప్రధాన ఆ పైన విధమైన ముగుస్తుంది అని ఏ స్థానిక వేరియబుల్స్ కాబట్టి. Foo బార్ అనే మరొక ఫంక్షన్ ఉంటే, ఆ వేరియబుల్స్ ఇక్కడ ముగుస్తుంది. బార్ ఇక్కడ ఇక్కడ ఏదో, ఇక్కడ, కాల్స్ ఉంటే. సో వాట్ ఒక ప్రోగ్రామ్ను అమలు గురించి ఆసక్తికరంగా మీరు కాల్ ప్రమేయాలు వంటి ఉంది మరియు ఆ విధులు విధులు కాల్ మరియు ఆ విధులు విధులు కాల్ వంటి, మీరు మెమరీలో విధులను ఈ స్టాక్ నిర్మించే. మరియు మాత్రమే ఒక తిరిగి వచ్చే చర్యలు ఒకసారి మీరు ఆ స్మృతి చేరుకోవడంలో ప్రారంభం లేదు. కాబట్టి ఒక కంప్యూటర్ ప్రోగ్రామ్ లో మెమరీ రన్నవుట్ సులభమైన మార్గాలు ఒకటి ఎన్నటికీ తిరిగి ఆ విధులు రాయడానికి ఉంది. కాబట్టి ఉదాహరణకు, యొక్క ఉద్దేశపూర్వకంగా బగ్గీ కార్యక్రమం చాలా ప్రదర్శించేందుకు వీలు. నాకు ముందుకు వెళ్లి # ఉన్నాయి మనం, Int ప్రధాన (తప్ప), మరియు నేను, (2> 1), ఇది బహుశా ఎప్పుడూ మాకు మార్పు లేదు ఉన్నప్పుడు వెళుతున్న మరియు నాకు ఇప్పుడు ముందుకు వెళ్లి printf తెలియజేసేలా. అసలైన, తక్కువ దృశ్యపరంగా ఆసక్తికరమైన చేస్తాడు. దీన్ని యొక్క లెట్. కోసం Int i = 0; i> 0 - యొక్క ఈ తప్పు తయారు చేద్దాము - నేను + +. మరియు ఇక్కడ యొక్క printf లేదు తెలియజేయండి. యొక్క నేను బోధనలు దాని సాధన లెట్. , లెట్స్, ఇక్కడ తప్ప కోరస్ ఒక పద్ధతి మరియు మేము Int ఐ సే చేస్తాము మరియు నేను printf చెప్పడానికి వెళుతున్న - ఏ, లెట్స్ ఈ ఆసక్తికరమైన చేస్తాయి. యొక్క నిజానికి వద్ద ఏదైనా ముద్రించడం సాధ్యం లెట్. కోరస్ (i): ఈ విధంగా యొక్క లెట్. అన్ని కుడి. ఎందుకంటే వై సో ఈ బగ్గీ ఉంది? కార్యక్రమం నిజానికి ఆసక్తి ఏమీ లేదు ఎందుకంటే నేను నేను ఈ ముందుకెళ్లి చేస్తున్నాను. కానీ ఆ లక్ష్యాన్ని కాదు. గోల్ దీని ప్రధాన విధి ఏమి, స్పష్టంగా చేస్తుంది ప్రోగ్రామ్ రచన? స్వయంగా కాల్. మరియు వాస్తవానికి, మేము లూప్ అవసరం లేదు. లెట్ యొక్క కూడా కేవలం నిజంగా ప్రాథమిక బగ్ చూసి కోల్పోవడం కాదు ఈ సులభతరం. ప్రధాన కాల్స్ కోరస్ కొన్ని కోరస్ పాడే, అప్పుడు నేను స్టుపిడ్ ఏదో చేశారు మరియు నేను కోరస్ కాల్ బృందగానం కలిగి నేను ఎవరో దీనికి అమలు వెళ్లి భావించింది ఎందుకంటే మరియు ఇప్పుడు ఈ ఇంకా కంపైల్ ఉండదని. ఏమి చేయాలి? నేను నమూనా అవసరం గుర్తుంచుకోండి. నేను (Int i) ఇక్కడ తప్ప బృందగానం కలిగి ఉంది; నేను ఇక్కడ డౌన్ వెళ్ళి చేస్తే ఇప్పుడు - నిజానికి, యొక్క పెద్ద విండో ఉపయోగించడానికి అనుమతిస్తున్నట్లు. యొక్క ముందుకు వెళ్లి కోరస్ తయారు చేద్దాము. యొక్క ముందుకు వెళ్లి కోరస్ తయారు చేద్దాము. ప్రకటించనివారు ఐడెంటిఫైయర్ నేను ఉపయోగం. ఓహ్, ఆ స్టుపిడ్ ఉంది. మేము వాదన లేదు. కేవలం ఇది యొక్క లెట్. మనం ఈ విధంగా ప్రారంభించారు అనుకుంటున్నారా. వ్రాయుటకు చాలా సులభంగా కార్యక్రమం ఉండేది. అక్కడ. ఇప్పుడు, నా టెర్మినల్ విండో కు వెళ్ళి గణగణమని ద్వని చేయు తిరిగి, మరియు ఇక్కడ మేము వదలి వేస్తారు. ఆ వేగం ఉంది. ఏమి నిజానికి అయితే, జరిగింది? మేము చూడగలరు Well, ఇప్పుడు నేను ప్రింట్ లైన్ జోడించాలి. నాకు ("నేను ఇక్కడ ఉన్నాను") printf అని పిలవబడు - ఏ వేరియబుల్స్. మేము ఆ వంటి చెప్పను. తయారు నాకు తిరిగి లెట్. నాకు కోరస్ తిరిగి లెట్. మరియు ... న వస్తాయి. కొనసాగించడాన్ని. జనాంతికంగా, ఎందుకు ఇంకా క్రాష్ లేదు? విభజన లోపంగా ముందు సూపర్ ఫాస్ట్ జరిగింది. [వినబడని విద్యార్థి ప్రతిస్పందన] >> ఖచ్చితంగా. కాబట్టి అది కుడి, ముద్రించడానికి సమయం పడుతుంది? ఇది కేవలం కంప్యూటర్ యొక్క భాగంగా మరింత పనిని పడుతుంది. మరియు అక్కడ అది: విభజన లోపంగా. కాబట్టి ఫాస్ట్ ప్రోగ్రామ్లను అమలు ఎంత గమనిస్తారు. మీరు ఏదైనా, సూపర్ ఫాస్ట్ ప్రింటింగ్ కాకపోతే. ఏ జరగలేదు ఎందుకంటే కానీ మేము ఇంకా ఈ విభజన లోపంగా వచ్చింది? మీరు మీ కంప్యూటర్ యొక్క మెమరీ సిద్ధం ఎలా గురించి మీరు భావిస్తే, ఈ ప్రధాన నిర్మాణము, కాని ఇక్కడ యొక్క ఈ కోరస్ కాల్ వివరించారు, ఈ కోరస్ కాల్ లెట్స్. నేను నా అలంకారం లేకపోతే ఇప్పుడు, ఈ కేవలం కోరస్, కోరస్, కోరస్, చెప్పడానికి అన్నారు కోరస్, కోరస్, కోరస్, కోరస్, ప్రకటన nauseum, మరియు చివరికి, ఏమి ఏమి? బిగ్ పిక్చర్, వాచ్యంగా, ఈ ఉంటే, ఏ కేవలం సంభావితంగా జరుగుతుంది? స్టాక్ కారణంతో కుప్ప. లేదా, దారుణంగా, మీరు టెక్స్ట్ విభాగంలో సహా ప్రతిదీ, ఆక్రమిత మీ ప్రోగ్రామ్ సూచించే 0 సె మరియు 1s ఇది. చిన్న లో, ఈ కేవలం సూపర్, సూపర్ చెడ్డది. మీ ప్రోగ్రామ్ నియంత్రణ మొదలైంది ఉంది. మీరు ఉద్దేశించిన కంటే మార్గం అధిక మెమరీ ఉపయోగించే అన్ని ఎందుకంటే ఈ సందర్భంలో ఒక పెద్ద తప్పు యొక్క, లేదా ఈ సందర్భంలో చాలా ఉద్దేశపూర్వకంగా చేసిన ఫంక్షన్ కూడా పిలుపునిచ్చింది. ఇప్పుడు, ఈ అన్ని చెడు లేదు. మీరు దాన్ని సరిగ్గా ఉపయోగించేటప్పుడు తాము కాల్ విధులు నిజానికి గొప్ప శక్తిని కలిగి ఉంది. నేను సరిగ్గా ఇక్కడ ఉపయోగించలేదు. కాబట్టి ఈ అన్ని చెడు కాదు, కానీ నేను నిజంగా ఆపడానికి ఎప్పుడూ వాస్తవం నాకు కాల్ ఈ కార్యక్రమం యొక్క ఇక్కడ ఒక ప్రాథమిక బలహీనత ఉంది. కాబట్టి అక్కడ ఈ మొత్తం వెళ్తున్నారు? నిజంగా ఏమి జరుగుతున్నది? మేము ఆ ఉదాహరణలలో చేస్తున్న వంటి నేను పెంపు ఫంక్షన్ కాల్ చేసినప్పుడు, నేను సైన్ వెళ్ళే 1 వంటి విలువను నేను సంఖ్య 1 యొక్క ఒక కాపీని లో పాస్, కాబట్టి కింది జరుగుతుంది. పెంపు ఉదాహరణ లోకి వెళ్ళి తెలపండి యొక్క ఇక్కడే ఈ గై. ఇక్కడ వాస్తవానికి ఏం ఉంది. నేను పెంపు కాల్ మరియు నేను ఇక్కడ ఏమి, చిత్రాల, x లో పాస్ చేసినప్పుడు ఈ ఉంది. నేను ఇక్కడ నిల్వ 1 యొక్క విలువ మరియు నిజానికి పెంపు కాల్ ఉంటే, ఇది ఇప్పుడు కోరస్ అంటారు - ఐప్యాడ్ ఇక్కడ నాకు ఆఫ్ విసిరే ఉంది. లెట్ యొక్క ఈ పెంపు కాల్, మరియు మేము ఈ తదుపరి చర్య మాత్రం ఏమి లేదు. సో వాట్ వాస్తవానికి జరుగుతున్నది ప్రధాన ఎక్కడో ఇక్కడ నేను మెమరీ భాగం కలిగి ఆ సంఖ్యను 1 నిల్వ. నేను పెంపు కాల్ చేసినప్పుడు, నేను, మెమరీ మరొక భాగం ఉపయోగించి నేను కానీ ఇప్పుడు నేను 1 యొక్క కాపీ. నేను ఆ విలువ పెంచడం, ఈ, 2 అవుతుంది కానీ అప్పుడు ఏమి పెంపు తిరిగి వెంటనే జరుగుతుంది? ఈ మెమరీ కేవలం, ఆపరేటింగ్ సిస్టమ్ తిరిగి అప్పగించారు అవుతుంది మీరు చేసిన అన్ని ఉపయోగకరమైన ఏమీ అర్థం. వాస్తవానికి ప్రధాన ఉందని 1 వాస్తవానికి ఇప్పటికీ ఉంది. కాబట్టి అక్కడ ఈ తో వెళ్తున్నారు? ఇది మెమరీ లో మీరు బైట్లు ఈ తిరిగి-to-తిరిగి సన్నివేశం ఆ అవుతుంది మీరు stuff ఉంచవచ్చు, మరియు అది మేము ఇప్పటికే ఏదో చూసిన ఆ అవుతుంది ఆ వెనుకకు తిరిగి తిరిగి విషయాలను తిరిగి చూస్తూ ఉంటుంది అని. వారం 1 మరియు ఇప్పుడు వారం 2 ఆధారంగా ఒక స్ట్రింగ్ అంటే ఏంటి? ఇది కేవలం అక్షరాలు సమాహారం ఉంది. అది మీరు మెమరీ సంఖ్యలు ఉంచవచ్చు కేవలం అవుతుంది అదేవిధంగా మీరు మెమరీ పాత్రలు ఉంచవచ్చు. మరియు ఒకసారి మేము, తిరిగి తిరిగి తిరిగి తిరిగి మెమరీలో ఉంచడం అక్షరాలు ప్రారంభం అది అవుతుంది లూప్ లేదా కొంత లూప్ ఒక వంటి వాటిని సాధారణ ఉపయోగించి ఆ, మేము ఒక స్ట్రింగ్ లో అక్షరాలు పైన ఎడమ నుండి కుడికి iterate చేయవచ్చు మరియు మొత్తంగా వేర్వేరు అక్షరాలు వాటిని మర్దనా ప్రారంభం - ఒక బి మారవచ్చు, బి సి మారవచ్చు - చివరికి, మేము నిజంగా అర్ధమే ఆ ఆంగ్ల వాక్యం పడుతుంది కాబట్టి మరియు ఒక సమయంలో ఆ అక్షరాలు ఒక ప్రతి మార్పిడి మా కంప్యూటర్ యొక్క మెమరీ ద్వారా వాకింగ్ ప్రకారం గుప్తీకరించడానికి ఎడమ. కాబట్టి యొక్క ఇక్కడ మా ఐదు నిమిషాల విరామం తీసుకుందాం, మరియు మేము తిరిగి వచ్చినప్పుడు, మేము సమాచారం స్క్రాంబ్లింగ్ ఈ ప్రక్రియ మొదలుపెడతారు. అన్ని కుడి. , మేము కొన్ని crypto ప్రవేశిస్తాడు మరియు ఈ విషయాలు శ్రేణుల అని ముందు నేను నిజంగా రకమైన muddled వంటి నేను భావిస్తున్నాను ఎందుకంటే నాకు ఏ ప్రశ్నలు నిలిపివేయి తెలియజేయండి ఆ కొన్ని అంశాలను. మేము చేస్తే ఇప్పుడు యొక్క పరిష్కరించడానికి అనుమతిస్తాయి. మేము తిరిగి విలువలు గురించి మాట్లాడారు, మేము, వాదనలు గురించి మాట్లాడారు మరియు మేము, మేము వచ్చి వారాల్లో వచ్చి మేము, ఈ భావన గురించి మాట్లాడారు యొక్క మాట్లాడటానికి, ఈ అమర్చినట్లు ట్రేలు యొక్క మొత్తం బంచ్ గా మెమరీ చూడటం అటువంటి అప్ క్రింద నుండి ఆ స్టాక్ మీద ఉంచే ప్రతి ట్రే ప్రస్తుతం పిలువబడే ఒక విధిని సూచిస్తుంది. ఏదైనా ప్రశ్నలు? నాకు ఇక్కడ ఒక ప్రశ్న అడగండి లెట్. నన్ను మా ముందు Q & A. యొక్క కొన్ని ముందు ఈ తిరిగి సులభతరం లెట్ పెంపు ఓపెన్ కుండలీకరణములలో, Int ఉన్నాయి వాస్తవం, కుండలీకరణములలో మూసివేయబడింది - Int సంఖ్య ఏ ప్రాతినిధ్యం లేదు? [విద్యార్థి] ఒక వాదన. >> ఒక వాదన. సరే. కానీ ఒక వాదన ఏమిటి? [వినబడని విద్యార్థి ప్రతిస్పందన] >> ఆ ఏమిటి? మీరు వెళ్ళే >> [విద్యార్థి] ఏదో సరే, మీరు పాస్ మరియు మరింత సాధారణంగా, ఇది ఇన్పుట్ ఏదో ఒకటి. మీరు జీవితంలో ఒక ఫంక్షన్ మరియు ఆ ఫంక్షన్ యొక్క ప్రయోజనం రాసే ఉంటే , ఏదో మీరు దీనిని ఉపయోగించడానికి కొంత వివిధ ప్రతిసారీ ఏమి చేయాలో అప్పుడు నిజంగా జరిగే ఆ ఏకైక మార్గం ఇన్పుట్ అందించగల అగుపిస్తుంది ఆ ఇన్పుట్ ప్రతి సమయం వివిధ ఏదో ఒకటి చేయవచ్చు. కాబట్టి మీరు ఒక ఫంక్షన్ ఇన్పుట్ తీసుకోవడము రెండు విషయాలు పేర్కొనాలి. మీరు ఆ ఇన్పుట్ ఇవ్వడానికి కావలసిన పేరు పేర్కొనాలి పూర్తిగా మీ స్వంత సౌలభ్యం కోసం మీరు చూడండి విధంగా నేను లైన్ 32 లో వలె మీరే, వ్రాస్తున్న ఆ ఫంక్షన్ లో. కానీ మీరు కూడా సి ప్రోగ్రామింగ్ భాష ఎందుకంటే దాని రకాన్ని పేర్కొనాలి కేవలం, మీరు ఒక వేరియబుల్ మీరు అది ఏమిటో డేటా రకం కంప్యూటర్ చెప్పడం కలిగి ఉండాలి తద్వారా అధిక భాగం లో ఆ వేరియబుల్ కోసం కేటాయించే ఎన్ని బిట్స్ తెలుసు ఇది 6 ఎందుకంటే - క్షమించండి, 6 ఉండదు. ఇది 16 కావచ్చు, ఇది 8 కావచ్చు, ఇది కూడా 64, 32 ఉంటుంది కానీ కంప్యూటర్ తెలుసుకోవాలి. ఇప్పుడు, ఎడమ చేతి వైపు Int విరుద్ధంగా ఏ, సూచిస్తుంది? [వినబడని విద్యార్థి ప్రతిస్పందన] >> ఆ ఏమిటి? పనితీరు >> [విద్యార్థి] పద్ధతి. ఒక చర్య యొక్క రకం మరియు, ముఖ్యంగా దాని అవుట్పుట్ యొక్క రకం. కుడి. కాబట్టి కుండలీకరణాల్లో విషయం అయితే దాని ఇన్పుట్, ఏదైనా ఉంటే, సూచిస్తుంది ఎడమవైపు విషయం దాని అవుట్పుట్ సూచిస్తుంది. మరియు ఈ సందర్భంలో, పెంపు స్పష్టంగా ఒక పూర్ణాంకానికి తిరిగి, అందువలన Int ఈ ఫంక్షన్ తిరిగి రకం. అంటే తిరిగి శతకము సాహిత్యపరంగా, మీరు ముఖ్యపదాన్ని తిరిగి ఉపయోగించడానికి మరియు తిరిగి ఏ ఉంటే కీవర్డ్ కుడివైపున ఒక పూర్ణ సంఖ్య, ఆ మేము వాగ్దానం ఏమి తో నిజానికి స్థిరంగా ఉంటుంది. హలో, ప్రపంచం - - మీరు ఈ ఏదో ఒకటి అని ఒక స్ట్రింగ్ ఎందుకంటే. నిజానికి, ఇది ఒక పూర్ణ సంఖ్య కాదు. కాబట్టి చిన్న లో, భారం మాకు న నిజంగా ఉంది, ప్రోగ్రామర్, నిర్దిష్ట ఉండాలి మేము తిరిగి ఏమి కు మరియు తరువాత దీన్ని తిరిగి గురించి వెళ్ళండి. ఇక్కడ సందర్భం ఇప్పుడు మీ కంప్యూటర్ యొక్క మెమరీ ఒక గిగాబైట్, 2 గిగాబైట్ల ఉంటుంది - ఏ - అది ఇంకా ఉండవచ్చు దీనికి తక్కువగా, కానీ కంప్యూటర్ వివిధ విభాగాలు కలిగి అది అభిప్రాయపడ్డాడు. ఏదో పని చెయ్యకపోతే, ఏదో, అక్కడ పెరుగుతుంది వివిధ అంశాలను మధ్య జరిగే, మరియు నేడు మేము కథ చెప్పడం మొదలు కానీ మేము ఈ మీద వచ్చి చేస్తాము. ప్రస్తుతం, మేము నిజంగా శ్రద్ధ మెమరీ మాత్రమే ముక్క టెక్స్ట్ విభాగంలో ఉంది కేవలం 0 సె మరియు 1s ఆ గణగణమని ద్వని చేయు ప్రాతినిధ్యం ఎందుకంటే outputted ఉంది. మీరు a.out వంటి కీబోర్డ్ వద్ద ఒక ఆదేశాన్ని అప్పుడు లేదా మీరు డబుల్, Mac OS లేదా Windows లో ఒక చిహ్నాన్ని క్లిక్ చెయ్యండి మీ ప్రోగ్రామ్ మీ హార్డు డ్రైవు నుండి RAM లోకి లోడ్ మరియు అది మాట్లాడటానికి, మీ కంప్యూటర్ యొక్క RAM ఎగువన plopped యొక్క. ఇంతలో, మీ ప్రోగ్రామ్ మొదలవుతుంది వంటి నడుస్తున్న మరియు ప్రధాన అని చెపుతాడు కార్యక్రమంలో మీరు రాశారు లేదా ప్రోగ్రామ్ మైక్రోసాఫ్ట్ లేదా Apple రాశాడు దాని స్థానిక వేరియబుల్స్ యొక్క ఏ మీ కంప్యూటర్ యొక్క మెమరీ దిగువన అక్కడ డౌన్ ముగుస్తుంది. కానీ స్వయంగా చరరాశులు లేదా వాదనలు కలిగి ప్రధాన కాల్స్ మరొక ఫంక్షన్ ఉంటే అవి దానిని పై ముగుస్తుంది. ఆ ఫంక్షన్ ఏదో కాల్స్, వారు పై, పై, పై ముగుస్తుంది. మరియు మాత్రమే ఒకసారి ఒక ఫంక్షన్ అమలు చేయబడుతుంది ట్రేలు యొక్క స్టాక్ మాట్లాడటానికి లేదు, తక్కువ మరియు తక్కువ పొందడానికి ప్రారంభించండి. మరియు ఈ తరువాత, క్లుప్తంగా, మీరు క్యూబ్ కాల్ ఎందుకు ఉన్నప్పుడు వివరిస్తుంది ఏమిటి మీరు పెంపు కాల్ లేదా, మీరు విలువ యొక్క కాపీని అక్కడ చేస్తున్నారు. మరియు ఆ చిత్రాల అంటే మీరు వాచ్యంగా సంఖ్య 1 రాస్తున్నాం ఉంది మెమరీ మరొక భాగంలో, మారుతున్న పెంపు విషయంలో 1 నుండి 2 లేదా తర్వాత ఒక ఘనం విషయంలో 8 మరియు దూరంగా ఆ స్మృతి విసిరే వెంటనే పెంపు లేదా క్యూబ్ తిరిగి వచ్చే చర్యలు వంటి. ప్రశ్న. [విద్యార్థి] ఎక్కడ ప్రపంచ వేరియబుల్స్ నిల్వ చేయబడతాయి? గ్లోబల్ వేరియబుల్స్, ప్రస్తుతం initialized డేటా లేదా అవినియోగిత డేటా అనే ఏమి నిల్వ చేయబడతాయి మీరు ఒక ప్రపంచ వేరియబుల్ కలిగి మరియు మీరు వెంటనే ఒక విలువ అది కేటాయించి ఉంటే తేడా ఉండటం సైన్ సమానం, ఇది, అక్కడ టాప్ వద్ద ముగుస్తుంది మీరు Int x చెప్పుకోవాలంటే మరియు; విలువ లేకుండా, అది RAM లో కొద్దిగా తక్కువ ముగుస్తుంది కేవలం కన్వెన్షన్ ద్వారా. ఇతర ప్రశ్నలు? అన్ని కుడి. మేము మరింత శక్తివంతమైన పొందండి కాబట్టి ఈ చిత్రం తిరిగి వస్తారు మేము కంప్యూటర్ చెయ్యగలరు తో, కానీ ఇప్పుడు కోసం, యొక్క గూఢ లిపి శాస్త్రానికి ఒక క్లుప్తమైన పరిచయ వివరించారు ప్రపంచ సమస్యలన్నింటినీ పరిష్కరించేందుకు లేదు గూఢ లిపి శాస్త్రం యొక్క ఒక నిర్దిష్ట రకం కానీ వాటిలో కొన్ని పరిష్కరించడానికి లేదు. ఇక్కడ ఈ సందర్భంలో, మనం రహస్య కీ గూఢ లిపి శాస్త్రం అనే ఉంది. రహస్య కీ గూఢ లిపి శాస్త్రం, పేరు సూచించినట్లు, ఒక రహస్య నుంచి భద్రతా వచ్చింది. మీరు గ్రేడ్ పాఠశాల తిరిగి మరియు ఉదాహరణకు, మీరు ఒక చిన్న రహస్య ప్రేమ లేఖ అయ్యేది మీరు ప్రేక్షకుల ద్వారా గమనించండి పాస్ కోరుకుంటే బాయ్ లేదా అమ్మాయి మిమ్మల్ని పై అణిచివేత చేశారు, మీరు బహుశా ఇంగ్లీష్ లో ఒక గమనిక రాయడం లేదా ఏ మీ స్థానిక భాష కాదు. అయితే, మీరు గుప్తీకరించడానికి ఉండవచ్చు లేదా మీరు ఈ రోజుల్లో వాటిని ఒక టెక్స్ట్ సందేశం పంపండి ఉండవచ్చు. కానీ మీరు నిజంగా తరగతిలో వరకు అలాగే ఒక గమనిక తరలి. మరియు విధంగా సురక్షితంగా దీన్ని మీ స్నేహితులు మరియు teacher మీకు రాయడం ఏమి తెలియదు, మీరు, ఒక నిరాడంబర అల్గోరిథం ఆలోచన కావచ్చు మీరు కావచ్చు యువ అయితే, కేవలం పదాలు పెనుగులాటలకు. కాబట్టి బదులుగా ఒక వ్రాసే మీరు, బి వ్రాస్తానని బదులుగా బి యొక్క మీరు, సి వ్రాస్తానని బదులుగా సి యొక్క మీరు ముందుకు d వ్రాయడానికి, మరియు ఉండవచ్చు. లేదా మీరు మరింత ఆధునిక అనువాదం తో వస్తుంది వివిధ అక్షరాలకు అక్షరాల. కానీ క్యాచ్ మీరు ఈ గమనికను పంపిస్తున్నాం ఎవరికి బాయ్ లేదా అమ్మాయి అవసరాలు ఏమిటి, ఖచ్చితంగా ఇది ఏదో, తెలుసుకోవటానికి? >> [విద్యార్థి] మీరు పంపే ఏమి. మీ రహస్య ఒక యొక్క అండ్ బి మరియు సి మరియు డి లు మధ్య ఒక మ్యాపింగ్ గురించే, ఉంది. ఇది కేవలం నుంచి బి, బి కి సి వెళ్ళడానికి అక్షరాలు ప్రతి 1 జోడించడం ఉంటుంది? ఆ కంటే క్లిష్టమైనది? కాబట్టి మీరు మరియు మీ ప్రేమను ఈ రహస్య సమాచారం కలిగి ఉండాలి కానీ ఇక్కడ ఒక క్యాచ్-22 రకం ఉంది. ఈ మొదటిసారిగా ఉంటే మీరు, తరగతి ద్వారా ఈ ప్రేమ లేఖ పంపిస్తున్నాం ఎలా బాయ్ లేదా అమ్మాయి రహస్య కూడా తెలుసు అన్నారు? కాబట్టి రహస్య కీని crypto, ప్రపంచ సమస్యలన్నింటినీ పరిష్కరించేందుకు లేదు మరియు ఒక సంబంధం మేము సెమిస్టర్ చివరలో వచ్చి మేము ఇక్కడ వాస్తవానికి ఉంది. అదేవిధంగా మా చాలా Amazon.com వద్ద, ఉదాహరణకు, పనిచేసే ఎవరైనా తెలియదు మరియు ఇంకా మాకు చాలా బహుశా, Amazon.com వద్ద stuff కొనుగోలు మరియు మేము ఈ e-కామర్స్ లావాదేవీలకు సురక్షిత భావించాలి నేర్చుకున్నాడు చేసిన. URL బహుశా, https, ఎక్కడో బహుశా ఒక వెర్రి చిన్న ప్యాడ్లాక్ను చిహ్నం ఉంది అన్నారు మీ క్రెడిట్ కార్డు సమాచారాన్ని సురక్షితం గూఢ లిపి శాస్త్రం యొక్క కొన్ని రకం ఉంది మీరు మరియు Amazon.com మధ్య. గూఢ లిపి శాస్త్రం ఉంటుంది ఉంటే ఇంకా కొన్ని రహస్య తెలుసుకోవడం మరియు ఇంకా నేను అమెజాన్ లో ఎవరైనా తెలియదు మరియు నేను ఖచ్చితంగా రహస్య ఎలాంటి అమర్చిన చేసిన అమెజాన్ వద్ద ఒకరితో, ఎలా ఇలా నా కంప్యూటర్ లేదా నా బ్రౌజర్? గూఢ లిపి శాస్త్రం యొక్క ఇతర రకాలు సమస్య పరిష్కరించే పూర్తిగా ఉంది అది మారుతుంది. అయితే ఈ రోజు కోసం, మేము సులభం దృష్టి చేస్తాము మీరు కొన్ని రహస్య తెలుసుకోవటానికి ముందుగానే ఏర్పాటు చేసుకోవచ్చు పేరు +1 లేదా ఒక యొక్క అండ్ బి యొక్క మధ్య కొన్ని మ్యాపింగ్ ఇష్టపడుతున్నారు. మరియు గూఢ లిపి శాస్త్రం యొక్క ప్రక్రియను సాధారణంగా ఈ ఉంటుంది. మీరు ఎడమ వద్ద ఇక్కడ వర్ణించబడిన కొన్ని సాదా టెక్స్ట్, కలిగి మీరు గుప్తీకరించి కోసం అల్గోరిథం లేదా ప్రక్రియ యొక్క రకమైన ద్వారా అమలు - బహుశా కేవలం యొక్క ఒక బి అవుతుంది, బి సి అవుతుంది - మరియు తర్వాత మీరు సాంకేతికపాఠం తో ముగుస్తుంది. ఇంతలో, ఒకసారి మీ ప్రేమను ఈ రహస్య గమనిక అందుకుంటుంది అతను లేదా ఆమె అప్పుడు దానిని సాధారణంగా ఆ అల్గోరిథం విపర్యయ ఉంటుంది సాదా టెక్స్ట్ తిరిగి పొందడానికి తద్వారా. ఈ భౌతిక అవతారాలు ఉన్నాయి. ఉదాహరణకు, ఈ, కొద్దిగా రహస్య డికోడర్ రింగ్ ఉంది మరియు ఈ రెండు ఫలకాలు ఇక్కడ ఉంది అనేది ఒక వలయంగా చెప్పవచ్చు. ఈ విషయం బయట అంచున, Z ద్వారా లేఖలు, లేదు వారు వరుస క్రమంలో ఉన్నారు, అయితే మరియు లోపల, కొన్ని సంఖ్యలను వాస్తవానికి ఉంది ఈ రింగ్ మీకు రకమైన లోపల వెలుపల మలుపు కానీ ఆ అక్షరాలతో సంఖ్యలు వరుసలో చేయడానికి. ఒక క్రిస్మస్ స్టోరీ అనే చిత్రంలో, మీరు ఆ చిన్న Ralphie చూస్తారు లిటిల్ ఆర్ఫన్ అన్నీ యొక్క రహస్య సందేశాన్ని తాను ఏ గుర్తించడానికి కనుక చూపారు ఒక ధాన్యం బాక్స్ లో సంఖ్యా సందేశాల రూపంలో, నేను అనుకుంటున్నాను, ప్రసారం చేశారు మరియు మీరు, ధాన్యం బాక్స్ లో వచ్చిన అన్ని చిన్న కార్డులు పొందిన కలిగి మీరు వాటిని మెయిల్ వచ్చింది, మీరు రహస్య డికోడర్ రింగ్ తిరిగి వచ్చింది మీరు చివరకు మ్యాపింగ్ అక్షరాలు మరియు సంఖ్యలను మధ్య ఏమి గుర్తించడానికి కనుక లేదా అక్షరాలు మరియు అక్షరాలు. మేము ఈ వంటి వాటిని అమలు లేదా ప్రాతినిధ్యం గురించి ఎలా కంప్యూటర్ లో వెళ్ళవచ్చు? మేము కొంచెం తేలికగా మేమే వ్యక్తపరిచే ఒక మార్గం అవసరం మా వేరియబుల్స్ ఇప్పటివరకు అనుమతించింది కంటే. మేము అక్షరాలు చేశాము, ints చేశాము, మేము, తేలియాడుతున్న మరియు డబుల్స్ మరియు కొన్ని ఇతరులు చేశాము కానీ ఆ నిజంగా మాకు విషయాలు వ్యక్తీకరించడానికి అనుమతించని మెమరీ వ్యక్తిగత ముక్కలు ఉంటాయి పదాలు మరియు వాక్యాలను మరియు పదబంధాలను ఇష్టపడుతున్నారు. నిజానికి, మేము అలాంటి వాటిని తీగలను అని చేసిన కానీ మేము ఈ నిజంగా CS50 లైబ్రరీలో కేవలం సరళమైనది హామీ మేము తిరిగి రాలిపోవడం ఉద్దేశించి చేయవచ్చు. మరియు ఇక్కడ ఆ విధంగా చేయడానికి ప్రారంభిద్దాం. నాకు ముందుకు వెళ్లి ఒక ఫైల్ తెరుచుకుంటుంది లెట్ - ఈ ఫైళ్లు అన్ని అందుబాటులో ఉన్నాయి, వంటి సాధారణ, ఆన్లైన్ - అని array.c తీగలను సంబంధం లేని ఒక సమస్యను పరిష్కరించడానికి కానీ ఇక్కడ చిత్రాన్ని వర్ణాలను ఉపయోగించేందుకు ఎలా మేము వ్యూహం అని ఏదో ఉపయోగించవచ్చు. ఒక అమరిక ఒక డేటా రకం. అనేక చిన్న డేటా రకాల అది లోపల కలిగి రకాల వేరియబుల్ ఒక రకం బ్యాక్ టు బ్యాక్ వెనుకకు వెనుకకు. మీ క్విజ్ సగటు ఇస్తుంది ఒక చిన్న ప్రోగ్రామ్ను రాయడం అనుకున్నారు కాబట్టి ఉదాహరణకు, ఒకవేళ 2 క్విజ్ కలిగి 50 వంటి కోర్సు కోసం, మీరు చాలా సులభంగా కూడా గత వారం యొక్క కొన్ని విషయాలు ఆధారంగా ఈ కార్యక్రమం రాస్తుంది GetInt మరియు వేరియబుల్స్ యొక్క ఒక జంట ఉపయోగించి: Int quiz1, Int quiz2. మరియు ఇది అందంగా సూటిగా ఉంది. ఇది కోడ్ మాక్స్ యొక్క 20 పంక్తులు ఒక కార్యక్రమం అమలు, బహుశా 10 లు 2 క్విజ్ స్కోర్లు కోసం వినియోగదారు అడుగుతుంది మరియు వారి సగటు గణిస్తుంది ఆ వాటిని కలిసి జోడించడం 2 విభజన, మరియు అప్పుడు ఫలితాలు ముద్రించడం ద్వారా. మేము బహుశా నిమిషాల కొన్ని సంఖ్య తర్వాత చాలా సులభంగా ఇప్పుడు ఆ పని చేయడు. కానీ సమస్య 50 3 క్విజ్లు లేదా 4 ఉందని అనుకుందాం ఉంటుంది. మీరు క్విజ్ వీక్లీ ఉందని ఒక తరగతి ఒకే కార్యక్రమం ఉపయోగించడానికి కోరుకున్నాడు అనుకుందాం. వారం క్విజ్లు ఒక తరగతి గురించి ఆలోచించండి. ఒక సెమిస్టర్ లో 16 లేదా వారాల ఉంటే, ఇప్పుడు మీరు 16 వేరియబుల్స్ ఉన్నాయి: Int quiz1, Int quiz2, Int quiz3, Int quiz4. మీరు ఈ రిడెండెన్సీ చూడడాన్ని ప్రారంభించడానికి వెంటనే, ఈ, కాపీ మరియు కోడ్ అతికించి మీరు ఒక మంచి మార్గం ఉన్నాయి అనుకుంటున్నారా చేయడానికి ప్రారంభం కావాలి. మరియు కృతజ్ఞతగా, ఎందుకంటే శ్రేణుల యొక్క ఉంది. కాబట్టి దీన్ని చూద్దాం. మొదటి, నాకు మేము ఇప్పటివరకు ఉపయోగించని చేసిన చాలా చిన్న విషయం పరిచయం తెలియజేయండి కానీ మీరు కోడ్ అప్పుడప్పుడు అది చూస్తారు. ఈ సాధారణంగా స్థిరమైన అని ఏమిటి. కాబట్టి ఈ విలువ మారదు ఎప్పుడూ అనేది ఒక నిరంతర ఉంది. స్థిరమైన సృష్టిస్తున్నప్పుడు మానవ కన్వెన్షన్ కేవలం అది నిజంగా మీ కోడ్ లో ఉన్నటువంటి, అన్ని అక్షరాలు ఉపయోగిస్తారు మరియు మీరు C లో ఉపయోగించే ప్రత్యేక కీవర్డ్ # define ఉంది. కాబట్టి మేము # అప్పుడు, అప్పుడు, మీరు స్థిరమైన యొక్క పేరు కోసం ఉపయోగించే కావలసిన పదం ఒక స్థలాన్ని విశదీకరిస్తాయి సే మరియు తర్వాత స్థిరమైన విలువ. ఇది వేరియబుల్ ఏదో కేటాయించి భిన్నంగా ఉంటుంది గమనించండి. సైన్ సమానం లేదు, ఏ సెమికోలన్ ఉంది. ఇది సాధారణంగా ఒక ప్రాసెసర్ ఆదేశం గా పిలిచే ఏమిటి మరో సమయం కాని. ఇప్పుడు, ఈ క్విజ్లు అని ఒక మార్పులేని విలువ సృష్టిస్తుంది దీని అసలు సంఖ్యను 2. కాబట్టి ఎక్కడైనా మీరు, ఈ ఫైల్ అంతటా క్విజ్లు, క్విజ్, క్విజ్ చూడండి కేవలం సంఖ్య 2 ఉంది. నేను ఇప్పుడు ప్రధాన దృష్టి ఉంటే, ఎలా ఈ పనులు చూడటానికి. మొదట ఒక చిన్న గుప్తమైన కనిపిస్తుంది, కానీ వారం 1 నుండి అన్ని విషయాలు అనిపిస్తుంది. తరగతులు యూజర్ అడగండి. దీన్ని మేము ఎలా చేయాలి? లైన్ 22 In - ఈ నిజంగా జ్యుసి భాగం - I ఫ్లోట్ డిక్లేర్ కానీ కేవలం ఒకే ఫ్లోట్. నేను కాకుండా, ఫ్లోటింగ్ పాయింట్ విలువలు యొక్క వ్యూహం ప్రకటించారు చేస్తున్నాను. ఆ వేరియబుల్ ఇక్కడ సూచించినట్లు వంటి, తరగతులు పిలుస్తారు అన్నారు కానీ కొత్త వాక్యనిర్మాణం యొక్క మాత్రమే ముక్క ఈ చదరపు బ్రాకెట్లలో ఉంటాయి. నేను ఫ్లోట్ తరగతులు తర్వాత తెరిచి బ్రాకెట్ మరియు తరువాత సంఖ్య అని చేసిన నిజానికి - ఈ ఈ కేవలం ఈ చేశాడు ఒక స్థిరంగా ఉంటే నోటీసు - ఈ అర్థం, "హే కంప్యూటర్, నాకు 2 తేలియాడుతున్న ఇవ్వాలని మరియు యొక్క సమిష్టిగా వారిని తరగతులు కాల్ తెలియజేయండి." ఈ వంటి మరింత దుర్భరమైన ప్రక్రియ భిన్నంగా ఉంటుంది: ఫ్లోట్ grade1; grade2 తేలుతూ; మొదలగునవి. కాబట్టి వ్యూహం మాకు ఈ ఆలోచన అమలు అనుమతిస్తుంది కానీ తక్కువ messily, మేము సే,, బదులుగా ఒక 16 వారాల సెమిస్టర్ 16 కోడ్ 1 లైన్ రాయడం ఆ విధంగా. నేను హార్డ్ కోడ్ 2 ఇష్టం లేదు ఎందుకంటే మీరు తార్కికంగా ఇప్పుడు ఈ గురించి అనుకుంటే, 3 CS50 మార్పులు బదులుగా క్విజ్లు తరువాత సంవత్సరం అనుకుంటే మరియు నేను ఇక్కడ సంఖ్య 2 కలిగి, నేను, ఇక్కడ సంఖ్య 2 కలిగి నేను ఇక్కడ 2, ఇక్కడ సంఖ్య సంఖ్య 2 ఉంది. ఇది అప్ మేకు చాలా దుర్భరమైన మరియు చాలా సులభం అవుతుంది మరియు అనుకోకుండా 3 1 విలువను మార్చడానికి మరియు 2 యొక్క కొన్ని ఇతర విలువ మిస్. నేను, ఈ దూరంగా బదులుగా వియుక్త వెళ్లి ఈ స్థిరంగా ఆ ఉపయోగించడానికి నేను దాని పేరు సూచించిన విధంగా, మార్పులు చేయలేదు. ఇప్పుడు మేము వేరే అని ఉన్నా, ఈ సంవత్సరం లేదా తదుపరి క్విజ్లు నేను ఎగువన ఇక్కడ ఒక స్థానంలో దానిని మార్చవలసి. కాబట్టి అంతే ఒక స్థిరాంకం. ఇంతలో, కొత్త సంభావిత ఫీచర్ వ్యూహం యొక్క ఉంటుంది. కాబట్టి చదరపు బ్రాకెట్లలో ఈ అనేక తేలియాడుతున్న ఇవ్వాలని మరియు నాకు సమిష్టిగా వాటిని ఇక్కడ తరగతులు కాల్ చేస్తుంది. కాబట్టి ఇప్పుడు నేను వెళుతున్న ఏ చూద్దాం. ఇక్కడ లైన్ 24 లో లూప్ ఒక ప్రారంభంలో ఉంది. ఇది నిజంగా ఏమీ ఫాన్సీ ఉంది. ఇది కేవలం క్విజ్లు ఉపయోగించడానికి బదులుగా ఒక హార్డ్ కోడెడ్ సంఖ్య యొక్క. అయితే గత వారం నుండి తెలివైన వివిధ ఏదీ లేదు. ఈ ("% d యొక్క% d క్విజ్:") కాబట్టి printf, కేవలం printf ఉంది నేను నాకు 2 సంఖ్య 1 క్విజ్ ఆపై 2 యొక్క 2 ఇవ్వాలని ముద్రించాలా కావలసిన ఎందుకంటే. కాబట్టి ఈ ఒక కేవలం సౌందర్య విషయం. కానీ ఆసక్తికరమైన భాగంగా ఇప్పుడు లైన్ 27 లో ఉంది. ఒక ఫ్లోటింగ్ పాయింట్ విలువ రెండు placeholders ఒకటి పూర్తి చేయడానికి, మీరు మళ్ళీ చదరపు బ్రాకెట్లలో ఉపయోగించండి. లూప్ ఈ స్పష్టంగా, నేను ఏం విలువ సమం ప్రారంభించండి ఎందుకంటే ఈ సందర్భంలో, నేను ఉపయోగించి నేను? [విద్యార్థి] 0. >> [మలన్] 0. కాబట్టి ఈ లూప్ యొక్క మొదటి మళ్ళా న, నేను కోడ్ ఈ రాశాడు గానీ ఉంది, నా కోడ్ లో ఈ రాశాడు అయితే కానీ ఈ లూప్ యొక్క రెండవ మళ్ళా న, ఇది. పేరు సూచించినట్లు, ఎందుకంటే కానీ వేరియబుల్ను వుపయోగిస్తూ నేను నిజానికి, ఖచ్చితంగా ఉంది ఇది ప్రతి పునరుక్తి దాని విలువ వివిధ యొక్క నేను ఒక సమయంలో ఈ శ్రేణి ఒక మచ్చ నింపి చేస్తున్నాను. ఈ శ్రేణి అంటే ఎలా ఉంటుంది? నేను ఇక్కడ తెరపై సూపర్ సాధారణ దీర్ఘ చతురస్రం ఆకర్షించింది కారణం ముందు ఈ కారణంగా ఉంది. ఒక అమరిక కేవలం మెమరీ మరొక భాగం తర్వాత మెమరీ భాగం ఉంది మెమరీ మరొక భాగం తర్వాత మొదలగునవి. నా శ్రేణి ఇక్కడ ఈ సందర్భంలో పరిమాణం 2 యొక్క కాబట్టి, అన్ని నేను చేస్తూయుండేవారు నా క్విజ్ స్కోర్లు టైప్ చేయడం ద్వారా ఇక్కడ ఇష్టం - నేను ఈ ఒక 100 వచ్చింది మరియు నేను ఈ ఒక మీద 99 వచ్చింది - నేను మాత్రమే కంప్యూటర్ అడిగారు ఎందుకంటే ఈ మెమరీ కూడా ఉపయోగించవచ్చు కాదు పరిమాణం 2 యొక్క వ్యూహం కోసం. ఆ చతురస్రాలు కుడి, ఇప్పటికీ? మీరు కేవలం 2 తేలియాడుతున్న కోరుతూ చేస్తున్నప్పుడు కూడా మీరు ఇప్పటికీ RAM యొక్క 2 గిగాబైట్ల ఉన్నాయి. కాబట్టి శ్రేణుల వెనుక ఆలోచన కంప్యూటర్ కేవలం మెమరీ భాగం తీసుకుంటుంది ఉంది ఆ తర్వాత మళ్లీ తిరిగి తిరిగి తిరిగి చిన్న ముక్కలు apportions. కాబట్టి అన్ని వ్యూహం పత్రిక. మీరు విషయాలను ఉంచవచ్చు వీటిలో మెమరీ లోపల ఒక ఆనుకొని భాగం ఉంది. ఈ అప్పుడు కొన్ని బోరింగ్ లెక్కలు నేర్చుకుంటారు నిర్మాణము. నేను ఇక్కడ స్క్రోల్ డౌన్ ఉంటే నేను శ్రేణి మీద iterate పేరు, ఈ ఉంది. నేను, అర్రే విలువలు అన్ని సమ్మషన్ ఆలోచన మరియు నేను నిజంగా క్విజ్లు ద్వారా విభజించబడింది మొత్తం చేయడానికి ఇక్కడ రౌండ్ క్రియాశీలతను ఉపయోగించదు. కానీ నాకు ఇప్పుడు తగినంత అంకగణితం యొక్క విధమైన ఆ నా చేతి దుర్చాల్సిన తెలియజేయండి. కానీ నాకు ఏమి అన్ని చివరికి సగటు కంప్యూటింగ్. కాబట్టి మొదటి క్విజ్ ప్లస్ రెండవ క్విజ్ 2 తో విభజించాలి మరియు ఒక పూర్ణాంకానికి గా ముద్రించిన. String1 అనే మరొక ఉదాహరణ కాని లెట్స్ ఇప్పుడు పరివర్తన, అదే విధమైన చిత్రం కాని ఉపయోగించి తీగలను నింపేశారు. నాకు ముందుకు వెళ్లి ఒక క్షణం ఈ సులభతరం లెట్. ఇప్పుడు కోసం ఇండెంటేషన్ని క్షమించు. ఈ ఉదాహరణ యొక్క లైన్ 19 లో నోటీసు, నేను వినియోగదారు నుండి ఒక స్ట్రింగ్ పొందండి. కానీ నేను తరువాత లైన్స్ లో 22 తరువాత చేస్తున్నదాన్ని గమనిస్తారు. నిజానికి నేను నుండి iterating ఉన్నాను - మరియు ఈ కొత్త ట్రిక్ ఉంది - strlen, స్ట్రింగ్ పొడవు. ఇది మీరు ఒక స్ట్రింగ్ పాస్ ఉంటే, C తో పాటు వచ్చే ఒక విధి ఆ స్ట్రింగ్ లో ఎన్ని అక్షరాలు మీరు చెబుతుంది. అంతే. మరియు అది బదులుగా స్ట్రింగ్ పొడవు యొక్క strlen అని నిజానికి అది మరింత సంక్షిప్తమైన యొక్క కనుక ఉంది. ముప్పై సంవత్సరాల క్రితం, ప్రజలు, వంటి క్లుప్తమైన సాధ్యమైనంత విషయాలు రాయడానికి ఇష్టపడ్డారు కాబట్టి మేము ఇక్కడ ఆ సమావేశం ఉంచింది చేసిన. నేను + + కేవలం ప్రతి పునరావృతం లో నేను పెంచడం అంటే. ఇప్పుడు నిజంగా ఆసక్తికరమైన ఇది ఈ గమనిస్తారు. లైన్ 24 లో నేను, "కంప్యూటర్, నాకు 8 బిట్స్ ఒక పాత్ర ఇవ్వాలని, మరియు అది సి కాల్." కానీ ఈ కుడి వైపు అని ఏమిటి? ఇంగ్లీష్ లో, ఏ ప్రాతినిధ్యం లేదు? [విద్యార్థి] శ్రేణి లో మొదటి అక్షరం. సరిగ్గా. నాకు శ్రేణి లో మొదటి అక్షరం ఇవ్వండి. లేదా, మరింత సాధారణంగా, నాకు యెరే నందలి ith పాత్ర ఇవ్వాలని. ఇప్పుడు అది ముఖ్యం తెలుసుకుంటారు కంప్యూటర్ శాస్త్రవేత్తలు, మేము నిజంగా 0 నుండి లెక్కింపు చేస్తున్నారు. మీరు ఈ చేయడం ప్రారంభించడానికి ఇప్పుడు విచక్షణతో లేదు. ఇప్పుడు మీరు కంప్యూటర్ యొక్క అంచనాలను అనుగుణంగా ప్రవర్తించాలి మరియు 0 నుండి లెక్కించాలి [0] ఎందుకంటే, ఒక స్ట్రింగ్ లో మొదటి అక్షరం అన్నారు [1] రెండవ ఉండబోతుంది, [2] మూడవ మరియు ఆ విధంగా ముందుకు అని అన్నారు. కాబట్టి ఈ ప్రోగ్రామ్, నేను కంపైల్ ఉంటే, మళ్ళీ string1, కాబట్టి string1 తయారు, మరియు ఇప్పుడు నా టెర్మినల్ విండో లో string1 అమలు చేసిన. , ఇది ఇన్పుట్ కోసం వేచి, దాంతో నేను, డేవిడ్ టైప్ ఎంటర్ వెళుతున్న ప్రకటన నేను ఏమి ఎందుకంటే, ఇప్పుడు అన్ని విభిన్న లైన్లతో డేవిడ్ ముద్రిస్తుంది. నేను ఒక సమయంలో ఒక పాత్ర ప్రింటింగ్ చేస్తున్నాను. మేము ఈ రోజు వివరాలను కాదు, కానీ నేను ఇక్కడ ఈ చెక్ క్రితం ఒక సందర్భం తొలగించారు. ఇది వినియోగదారుకు తప్పుగా ప్రవర్తిస్తోంది ఉంటే ఆ అవుతుంది, శత్రువులు, లేదా గందరగోళం, మీరు నిజంగా కొన్ని పొడవు యొక్క స్ట్రింగ్ ఇవ్వాలని విఫలం కావచ్చు. మీరు కీబోర్డ్ మీద తప్పు కీ నొక్కండి, మీరు, అసలు స్ట్రింగ్ ఇవ్వాలని ఉండవచ్చు మీరు హానికరమైన అయితే లేదా, మీరు ఒక వ్యాసం యొక్క ఒక గిగాబైట్ యొక్క విలువ పేస్ట్ ప్రయత్నించండి కంప్యూటర్ మెమరీ అయిపోతే ఈ స్ట్రింగ్ నింపి మరియు, అది మేము NULL అని ఈ ప్రత్యేక విలువ తిరిగి చూడాలని ఉద్దేశ్యంతో అవుతుంది. ఇప్పటివరకు, నిరర్థక అని ఈ ప్రత్యేక విలువ లేదు తెలుసు మాకు మేము ఇతర విషయాలతోపాటు, మెమరీ ఉన్నప్పుడు తనిఖీ అనుమతిస్తుంది. కానీ ఇప్పుడు string2 అప్ తెరిస్తే, ఇక్కడ ఒక తేడా గమనించవచ్చు. String2 ఇక్కడ తేడా గమనించండి. String2 తో, లూప్ ఈ చిన్న భిన్నంగా ఉంటుంది. మేము ఆ మరొక సారి మాట్లాడటానికి విధంగా నాకు NULLs తొలగించండి లెట్. ఏ లూప్ ఈ సమయం గురించి విభిన్నమైనది? నేను గత ఉదాహరణకు వెళ్లవచ్చు. వెర్షన్ 2 కాబట్టి, ఈ వెర్షన్ 1. 1, 2. 1, 2. పేరు strlen పిలుపు? ఇది లూప్ యొక్క మొదటి భాగం ఉంది. నేను ఇలా చేస్తున్నాను ఎందుకు ఏదైనా ఆలోచనలు? అవును. [విద్యార్థి] కాబట్టి మీరు ఫంక్షన్ ప్రతి సమయం కాల్ లేదు. [మలన్] మేము ఫంక్షన్ ప్రతి సమయం కాల్ కాబట్టి. సరిగ్గా. వారు సూపర్ సాధారణ అని ఉచ్చులు కోసం నుండి రీకాల్ ఒకసారి మీరు విధమైన ఈ ప్రారంభ, పరిస్థితి, మరియు నవీకరణ అని అర్థం. సమస్య పరిస్థితి లూప్ యొక్క ప్రతి మళ్ళా లో జరిగే ఉంటుంది. మరియు ఇక్కడ ఈ ఉదాహరణలో, ఈ నా పరిస్థితి ఏమిటంటే గురించి తప్పుగా ఉంది? [విద్యార్థి] మీరు strlen కాల్ చేస్తున్నారు. [మలన్] మీరు మళ్లీ మళ్లీ మళ్లీ strlen కాల్ చేస్తుంది. కానీ ఒకసారి నేను డేవిడ్ లో టైప్ చేసిన, ఆ స్ట్రింగ్ యొక్క పొడవు, 5 మరియు అది లూప్ యొక్క ప్రతి మళ్ళా మార్పు మాత్రం కాదు స్ట్రింగ్ ఉంది D-a-V-i-D. ఎందుకంటే కాబట్టి ఈ ప్రధాన ఆలోచన మారింది ఏమి వద్ద ఒక సూచన ఉంది కేవలం కంప్యూటర్ అనవసరమైన పని చేయటం లేదు పేరు ఒక నిర్ణయానికి అని పిలుస్తారు. జస్ట్ వంటి ప్రామాణిక ఎడిషన్ pset2, pset2 ఒక స్నీక్ ప్రివ్యూ వాస్తవానికి సాంకేతికలిపుల కొన్ని సంఖ్య అమలు మీరు సవాలు అన్నారు, మీరు రెండు గుప్తీకరించడానికి తద్వారా గుప్తలేఖన యాంత్రిక పద్ధతులకు కొన్ని సంఖ్య, మరియు చాలా ఒక Ralphie వంటి వ్యక్తీకరించడానికి రహస్య సందేశాలు డీకోడ్. Pset2 యొక్క హ్యాకర్ ఎడిషన్ లో, మేము ఒక చిన్న ముందుకు వెళుతున్నాం. మేము అసలు కంప్యూటర్ సిస్టమ్ నుండి మీరు ఒక ఫైల్ చేతితో చూడాలని ఆ యూజర్ అసలు ఎన్క్రిప్టెడ్ పాస్వర్డ్లను యొక్క మొత్తం బంచ్ కలిగి మరియు హ్యాకర్ ఎడిషన్ కోసం సవాలు ఆ రహస్యపదాలను ఛేదించడానికి అవతరిస్తుంది మరియు వాస్తవానికి ఆ పాస్వర్డ్లను ఉత్పత్తి చేయడానికి ఉపయోగించే దాని గూఢ లిపి లేదా ఏ రహస్యం చూడవచ్చు. మరియు మేము ఇక్కడ సి ఒక కొత్త ఫీచర్ ఉపయోగించి ఈ చేయబోతున్నామని నేను మీరు ఆదేశ పంక్తి వాదనలు పిలవబడే ఒక డెమో ఇస్తాము ఆ. మీరు కొన్ని విభాగంలో లేదా పాఠ్యపుస్తకాల్లో చూసిన ఇది,, అవుతుంది ప్రధాన ఎల్లప్పుడూ కుండలీకరణాల్లో చెల్లనిదనీ లేదు. ఇది రెండు వాదనలు తో, ప్రధాన కూడా ఈ వంటి వ్రాయగలిగిన అవుతుంది argc పదాల సంఖ్య argc మరియు argv, మీరు మీ ఆదేశ ప్రోగ్రామ్ యొక్క పేరు తర్వాత టైప్ ఆ మరియు argv వాస్తవ పదాలు. అక్కడ చదరపు బ్రాకెట్లలో సూచించినట్లు మరియు, స్పష్టంగా argv ఒక శ్రేణి. ఇది మెమరీ లో ఒక స్ట్రింగ్ తరువాత స్ట్రింగ్ తరువాత స్ట్రింగ్ చేస్తాడు. కాబట్టి ఈ వంటి ఏదో మనం pset 2 ప్రారంభమయ్యే చేస్తామని చూడాలని ఉంది. మనం సోమవారం తిరిగి వచ్చి, మరియు అమలు చేస్తాము ఒక ఉదాహరణ ఇది argv1, చేస్తే అది ఇంకా ఏమీ కనిపించడం లేదు అని గుర్తించలేకపోతే. ఇది కేవలం తన సొంత పేరు అవ్ట్ ముద్రిస్తుంది. కానీ నేను ఈ కార్యక్రమం స్పష్టంగా iterates ఆ వీడ్కోలు తరగతి, ప్రకటన చెప్పుకోవాలంటే ప్రాంప్ట్ వద్ద టైప్ చేసిన పదాలను ప్రతి మీద. మరియు మేము వినియోగదారును ప్రాంప్ట్ వద్ద టైప్ అని పదాలకు యాక్సెస్ ఉంటుంది మార్గాలుగా ప్రధాన (argc, argv) పూర్ణాంకానికి Int ప్రధాన (తప్ప) నుండి ఈ వారాంతంలో ప్రారంభ ప్రధాన మార్చడం ద్వారా ఉంది మరియు ఆ విధంగా ఆదేశ పంక్తి వాదనలు జననం ఉంటుంది. మరియు ఒకసారి మీరు ఈ వద్ద నిజంగా ఆధునిక పొందండి, మీరు నిజంగా trippy ప్రోగ్రాములను వ్రాయటానికి చేయగలరు అటువంటి పైన మరియు దాటి ఇది ఇక్కడ ఈ ఒక, కార్యాచరణ యొక్క కొన్ని మేము ఇప్పటివరకు చేసిన కానీ చాలా శక్తివంతమైన చేసిన. కాబట్టి మేము తెరపై ఈ ఈ చెప్పను, మరియు మేము సోమవారం మీరు చూస్తారు. [CS50.TV]