డేవిడ్ జే మలన్: అన్ని కుడి, ఈ CS50 ఉంది. మరియు ఈ స్పష్టంగా ఒక శుక్రవారం ఉంది. మరియు ఈ వారం ఒక ముగింపు. కాబట్టి మీరు మేము వదిలి ఆ చప్పుళ్ళు, రకాల ఒక క్లిఫ్హ్యాంగెర్ చివరిసారి. అనగా మేము ఈ అబద్ధాన్ని బహిర్గతం ఆ సంఖ్య విషయం పెరుగుతున్న మీరు బోధించాడు చేసిన ఏమి అప్ 10 ద్వారా విభజించబడింది 1 లో కాదు నిజానికి, 0.1 లేదా 0,100 లేదా 0,10000. నిజానికి, మేము ఈ సంకలనం కార్యక్రమం, మేము నిన్న, వలె, ఖచ్చితంగా చెప్పలేని తయారు, మరియు అప్పుడు డాట్ స్లాష్, ఖచ్చితంగా చెప్పలేని, మేము ఈ ఏమి ఉంది తెలిసింది 1 వాస్తవానికి ఉంది 10 ద్వారా విభజించబడింది. తద్వారా నిజంగా చాలా సందర్భంలో కాదు. కానీ ఈ కొన్ని సూచనను చేస్తుంది కంప్యూటర్లు ప్రాథమిక పరిమితి. నిజానికి, మధ్య విషయాలు మేము చేయబోతున్నామని నేడు ఈ ఉంది ఎందుకు పరిశీలించి ఉంది జరిగింది, ఈ ఉంది ఏమి చిక్కులు మానవత్వం విఫలమైంది ఎలా కొన్ని చాలా ఈ సంగ్రహించడంలో తీవ్రమైన situations-- ఇది ఫలితంగా చాలా విషాద ఉంది మరియు కూడా expensive-- మరియు మేము ఎలా పరిశీలించి నిజానికి రక్షించడానికి చేయవచ్చు పరిమితుల ఈ రకాల వ్యతిరేకంగా. కాబట్టి intuitively, బహుశా, ఎందుకు 1 10 ద్వారా విభజించబడింది, నా కంప్యూటర్ ప్రకారం ఇక్కడ, కేవలం 1/10, 0.10? అవును. మీరు ఏమి ఆలోచిస్తాడు? ప్రేక్షకులు ఒకరు: సోర్స్ భిన్నంగా ఉంటుంది? డేవిడ్ జే మలన్: ఏమి ఉంది? ఓహ్, సోర్స్ భిన్నంగా ఉంటుంది? కాబట్టి చాలా. ఇది నిజానికి మరింత వార్తలు హార్డ్వేర్ ప్రాథమిక. ఇతర ఆలోచనలు? అవును. ప్రేక్షకులలో ఒకరు: వారు విభిన్నంగా సంఖ్యలకు ప్రాతినిధ్యం? డేవిడ్ జే మలన్: సో they-- రైట్. వారు భిన్నంగా సంఖ్యలు సూచిస్తాయి. తప్పుగా, స్పష్టంగా. Well, is-- కాబట్టి విభిన్నంగా ఏమి నుండి? లేదా వీరిలో నుండి? మాకు నుండి? ప్రేక్షకులలో ఒకరు: అవును. వారు దశాంశ వాడవద్దు [వినబడని] వ్యవస్థ. డేవిడ్ జే మలన్: సరే. ఒక కోణంలో చూస్తే, వారు లేదు దశాంశ వ్యవస్థను ఉపయోగించవచ్చు. హుడ్ కింద, ప్రతిదీ, నిజానికి బైనరీ మరియు ఆ నిజానికి, సంబంధిత వార్తలు. కానీ అది కూడా ఒక సులభమైన యొక్క కంటే వివరణ. అవును. ప్రేక్షకులలో ఒకరు: వారు మాత్రమే చాలా బిట్స్ కలిగి. వారు మాత్రమే ఒక నిర్దిష్ట వరకు నిల్వ చేయవచ్చు మేరకు, దశాంశాలు వంటి. డేవిడ్ జే మలన్: అవును. ఈ నిజంగా అది వద్ద సంతరించుకోనుంది ఏమిటి. ఇది ఆ కంప్యూటర్లు అవుతుంది సాధారణంగా, ఎల్లప్పుడూ మాత్రమే సమాచారం యొక్క ఒక పరిమిత మొత్తం ఉపయోగించడానికి ఏదో ప్రాతినిధ్యం. కుడి? అన్ని తరువాత, మేము ఒక పరిష్కరిస్తే హార్డ్ డిస్క్ స్థలం మొత్తం. మేము ఒక స్థిర మొత్తం కలిగి RAM, లేదా కంప్యూటర్ మెమరీ. మరియు మీరు మాత్రమే ఒక కలిగి ఉంటే ఏదో నిర్ధిష్ట, తప్పనిసరిగా మీరు నిజంగా అప్ లెక్కింపు సాధ్యం కాదు అనంతం లేదా మీకు కావలసిన ఏ సంఖ్య. మీరు రకమైన, కలిగి ఎంచుకొని ఏమి పరిధి ఎంచుకోండి మీరు మద్దతు చూడాలని విలువలు. కాబట్టి ఉదాహరణకు, ఒక వారం లేదా రెండు కోసం క్రితం, మేము ASCII గురించి మాట్లాడారు, మరియు మేము 8 బిట్స్ మాట్లాడారు, లేదా ఒక బైట్, మాట్లాడటానికి, అతిపెద్ద సంఖ్య మేము అనుకొనుట 8 బిట్స్ తో ఏమి ఉంది ప్రాతినిధ్యం? 255. మరియు మేము 256 మొత్తం విలువలను సూచిస్తాయి చేయవచ్చు కానీ మేము వాటిని ఒకటి ఖర్చు లేదు ఉంటే బాగా 0 ఉంది, కానీ మనం ఉంటే 0 వాటిని ఒకటి ఖర్చు, అప్పుడు పెద్ద సంఖ్యలో 255, కోర్సు యొక్క, ఉంది. కాబట్టి ఈ అని హాజరవుతారు ఈ సందర్భంలో చాలా కేసు. మేము మాట్లాడటం, చివరిసారి ప్రారంభించారు ఫ్లోటింగ్ పాయింట్ సంఖ్యలు గురించి ఇది లో పూర్ణాంకాల భిన్నంగా ఉంటాయి వారు ఒక దశాంశ బిందువు కలిగి మరియు, ఆశాజనక, కొన్ని సంఖ్యలను ఆ తర్వాత, కానీ వారు చాలా ఉన్నాయి. ఒక కంప్యూటర్ మాత్రమే సాధారణంగా అన్నారు 32 బిట్స్, బహుశా 64 బిట్స్ ఉపయోగించడానికి ఒక ఫ్లోటింగ్ పాయింట్ విలువ ప్రాతినిధ్యం. అయినప్పటికీ కాబట్టి మేము పెరిగింది చేసిన గణితం నేర్చుకోవడానికి మరియు తెలుసుకోవడం మీరు ఖచ్చితంగా కలిగి సంఖ్యలు అసంఖ్యాక దశాంశ బిందువు తర్వాత కాదు మీరు పరిమిత జ్ఞాపకశక్తి ఉంటే. మీరు రకమైన, చుట్టూ కలిగి, లేదా పిక్ మరియు ఎంచుకోండి సంఖ్యలు మీరు ప్రాతినిధ్యం చూడాలని. అందువలన, మీరు ఒక కోణంలో కూడా ఆలోచించవచ్చు, ఈ ఉండటం కంప్యూటర్ యొక్క సన్నిహిత విలువ 1/10 కు ఉజ్జాయింపు ఆ ఇది కేవలం 32 లేదా బిట్స్ తో, పొందవచ్చు. మరియు అది కేవలం 1/10 కాదు. ఉదాహరణకు, నేను ఈ మార్చుకుంటే మేము భావించే 1/3 కూడా సులభతరం. కాబట్టి 1 3 ద్వారా విభజించబడింది. నాకు ఫైలు సేవ్ చేసేలా. నాకు ముందుకు వెళ్లి మళ్ళీ కంపైల్ లెట్. మరియు నాకు అది తిరిగి అమలు అనుమతిస్తాయి. ఇక్కడ కూడా, స్పష్టంగా, 1/3 0.3 కాదు మరియు తర్వాత 3 యొక్క అసంఖ్యాక అన్నాడొకసారి. మీరు చివరిలో ఈ ఖచ్చితంగా చెప్పలేని ఉన్నాయి. కాబట్టి మనం మానవులు సరిచూడండి, మరియు ఏమి మీరు, నిజానికి, సరైన నేర్చుకున్నాడు కానీ మేము అప్ bumping చేస్తున్నారు కొన్ని పరిమితులు వ్యతిరేకంగా. మరియు నేను భావించాను ఏమి మేము నేడు భావిస్తే, ప్రారంభం ఉంది స్పష్టముగా, చూడటం ద్వారా ఈ విషాద పరిణామాలు కొన్నిసార్లు, ఉన్నప్పుడు మానవజాతి చాలా అమలు లేదు ఈ రియాలిటీ మరియు ఈ పరిమితులను కోసం. మరియు మేము vignettes వరుస చూస్తారు పడుతుంది హిస్టరీ ఛానల్ నుండి ఎలా విషయాలు పరిశీలించి తప్పు వెళ్ళాను. ఇది దాదాపు 8 నిమిషాల ఉంది మరియు మేము ఈ తరువాత తిరిగి వచ్చి చేస్తాము మరియు ఖచ్చితంగా పరిశీలించి వేరే ఏమి తప్పు వెళ్ళవచ్చు. మేము lights-- డిం అని [వీడియో ప్లేబ్యాక్] -Computers, మేము అన్ని అంగీకరించడానికి వచ్చి తరచుగా నిరాశపరిచింది సమస్యలు వారితో వెళ్ళండి. బగ్స్, వైరస్లు, మరియు సాఫ్ట్వేర్ అవాంతరాలు చిన్న ధరలు ఉంటాయి సౌలభ్యం కోసం చెల్లించాల్సిన. కానీ హైటెక్ మరియు అధిక-వేగం సైనిక మరియు స్పేస్ ప్రోగ్రామ్ అప్లికేషన్లు, చిన్న సమస్య చెయ్యవచ్చు విపత్తు లోకి వృద్ధి. జూన్ 4, 1996 న, శాస్త్రవేత్తలు తయారు ఒక మానవరహిత అరియన్ 5 రాకెట్ లాంచ్. ఇది శాస్త్రీయ మోస్తున్నాడు ఉపగ్రహాలు రూపొందించిన ఖచ్చితంగా ఎలా ఏర్పాటు చేయడానికి భూమి యొక్క అయస్కాంత క్షేత్రం సంకర్షణ సౌర గాలులు తో. రాకెట్ కోసం నిర్మించారు యూరోపియన్ స్పేస్ ఏజెన్సీ మరియు దాని సౌకర్యం నుండి ప్రయోగించారు ఫ్రెంచ్ గయానా తీరంలో. -మరియు 30 సెకన్లు లోకి విమాన, వారు మొదటి గమనించి ఏదో తప్పు వెళుతున్న. నాజిల్ ద్వారా సంతోషపడ్డారు అని ఒక విధంగా వారు నిజంగా కాదు. విమాన లోకి 40 సెకన్లు, స్పష్టంగా వాహనం కష్టాల్లో ఉన్నానని వారు చేసినప్పుడు ఆ నిర్ణయం నాశనం చేయడానికి. పరిధి భద్రత అధికారి తో విపరీతమైన దమ్మున్న బటన్ నొక్కినప్పుడు, ఇది ముందు రాకెట్ పేల్చి ప్రజా భద్రత ప్రమాదం మారింది. -ఈ తొలి ఉంది Ariane 5 యొక్క సముద్రయానంలో మరియు దాని విధ్వంసం పట్టింది ఎందుకంటే ఒక దోషం ఉంచడానికి రాకెట్ యొక్క సాఫ్ట్వేర్ పొందుపరిచారు. పై -ది సమస్య అరియన్ ఉందని అక్కడ అవసరమైన ఒక సంఖ్య ఉంది అని 64 బిట్స్ వ్యక్తపరచటానికి మరియు అతను మార్చేందుకు కావలెను అది ఒక 16 bit సంఖ్య. వారు సంఖ్య భావించలేము చాలా పెద్ద చేస్తాడు ఎప్పుడూ, ఆ ఆ అంకెలు చాలా 64 బిట్ సంఖ్య 0 యొక్క ఉన్నాయి. వారు తప్పు ఉన్నారు. ఒకటి అసమర్థత సాఫ్ట్వేర్ ప్రోగ్రామ్ అంగీకరించడానికి ద్వారా సృష్టించబడిన సంఖ్య రకం మరో వైఫల్యం మూలంలో. సాఫ్ట్వేర్ అభివృద్ధి మారింది ఒక కొత్త టెక్నాలజీ చాలా ఖరీదైన భాగం. Ariane 4 రాకెట్ చాలా ఉండేది సాఫ్ట్వేర్ విజయవంతమైన, చాలా అది కూడా ఉంది రూపొందించినవారు అరియన్ 5 న ఉపయోగించారు. -ది ప్రాథమిక సమస్య Ariane అని ఉంది 5, వేగంగా వేగంగా పుంజుకుంది. మరియు సాఫ్ట్వేర్ కాదు కలిగి ఆ లెక్కలోకి. రాకెట్ యొక్క -ది విధ్వంసం భారీ ఆర్థిక విపత్తు ఉంది అన్ని వలన ఒక నిమిషం సాఫ్ట్వేర్ లోపం. కానీ ఈ మొదటి కాదు సమయం డేటాను మార్పిడి సమస్యలు ఆధునిక రాకెట్ సాంకేతిక చుట్టుముట్టాయి. ప్రారంభ 1991 ఇన్ మొదటి గల్ఫ్ యుద్ధం, పాట్రియాట్ క్షిపణి ఇదే రకమైన అనుభవం సంఖ్య మార్పిడి సమస్య. ఫలితంగా, 28 మంది, 28 అమెరికన్ సైనికులు హత్య మరియు గురించి 100 ఇతరులు గాయపడ్డారు, ఉన్నప్పుడు భావించారు పాట్రియాట్, ఇన్కమింగ్ Scuds వ్యతిరేకంగా రక్షించేందుకు, ఒక క్షిపణి దాడి విఫలమైంది. చేసినప్పుడు ఇరాక్ కువైట్ అమెరికా ఆక్రమించారు ప్రారంభ 1991 లో డిసర్ట్ స్టార్మ్ ప్రారంభించింది, పాట్రియాట్ క్షిపణి బ్యాటరీలు తరలించేవారు సౌదీ అరేబియా మరియు ఇజ్రాయెల్ రక్షించడానికి ఇరాకీ వేగంగా ఎగిరిపోవు క్షిపణి దాడులు నుండి. పాట్రియాట్ ఒక సంయుక్త మీడియం-పరిధి ఉపరితలం నుంచి గాలి వ్యవస్థ రేథియాన్ కంపెనీ తయారు. పాట్రియాట్ ఇంటర్సెప్టర్ -ది పరిమాణం, కూడా, సుమారు 20 అడుగుల పొడవు, గురించి. మరియు దాని గురించి 2000 పౌండ్ల బరువు ఉంటుంది. మరియు అది గురించి ఒక వార్హెడ్ చేరవేస్తుంది నేను దాదాపు 150 పౌండ్ల నేను భావిస్తున్నాను. మరియు వార్హెడ్ కూడా, భారీ పేలుడు, ఇది చుట్టూ శకలాలు. వార్హెడ్ కేసింగ్ ఉంది buckshot ప్రవర్తిస్తాయి రూపొందించబడింది. -ది మిస్సైళ్ళు 4 కంటైనర్ ప్రతి నిర్వహించారు, మరియు ఒక సెమీ ట్రైలర్ ద్వారా రవాణా. -ది పాట్రియాట్ వ్యతిరేక క్షిపణి వ్యవస్థ ఇప్పుడు కనీసం 20 సంవత్సరాల తిరిగి వెళ్తాడు. ఇది మొదట్లో రూపకల్పన ఒక వాయు రక్షణ క్షిపణి వంటి శత్రువు విమానాలు డౌన్ చిత్రీకరణకు. మొదటి గల్ఫ్ యుద్ధం లో, ఆ యుద్ధం వెంట వచ్చిన, ఆర్మీ దానిని ఉపయోగించడానికి కోరుకున్నారు Scuds, కాదు విమానాలు డౌన్ షూట్. ఇరాకీ ఫోర్స్ కాదు సమస్య యొక్క చాలా కానీ సైన్యం Scuds గురించి భయపడి జరిగినది. అందువలన వారు ప్రయత్నించారు పాట్రియాట్ అప్గ్రేడ్. ఒక శత్రువు -Intercepting క్షిపణి మాక్ ఐదు ప్రయాణాన్ని తగినంత సవాలు కానుంది. కానీ ఉన్నప్పుడు పాట్రియాట్ లోకి తరలించారు, సైన్యం యొక్క aware కాదు చేసిన ఇరాకీ మార్పు వారి Scuds హిట్ దాదాపు అసాధ్యం. -What జరిగింది, Scuds అని వస్తున్న కారణంగా, అస్థిర ఉన్నాయి వారు wobbling చేశారు. ఈ కారణం, క్రమంలో, ఇరాకీలు ఉంది బయటకు 600 కిలోమీటర్ల పొందడానికి 300 కిలోమీటర్ శ్రేణి క్షిపణి, ముందు వార్హెడ్ బయటకు బరువు పట్టింది మరియు వార్హెడ్ తేలికైన చేసిన. కాబట్టి ఇప్పుడు, పాట్రియాట్ రావటానికి ప్రయత్నిస్తున్న వేగంగా ఎగిరిపోవు వద్ద, మరియు ఎక్కువ సమయం, అత్యధిక మెజారిటీతో సమయం, అది కేవలం వేగంగా ఎగిరిపోవు ద్వారా ఫ్లై. పాట్రియాట్ సిస్టమ్ ఆపరేటర్లు -Once , పాట్రియాట్ తప్పిన గ్రహించారు దాని లక్ష్యం వారు పాట్రియాట్ వార్హెడ్ విస్ఫోటనం ఇది సాధ్యమైతే ప్రాణనష్టం నివారించేందుకు భూమి తగ్గుతుందని అనుమతి ఇచ్చారు. ఎక్కువ మంది చూసిన -ఆ ఉంది ఆకాశంలో ఆ పెద్ద ఫైర్బాల్స్, మరియు తప్పుగా అర్ధం వేగంగా ఎగిరిపోవు వార్హెడ్లతో యొక్క అడ్డుకోవటాన్ని. రాత్రి ఉన్నప్పటికీ స్కైస్, పేట్రియాట్స్ కనిపించిన విజయవంతంగా ఉండాలి Dhahran వద్ద, Scuds నాశనం, ఏ తప్పు కావచ్చు దాని పనితీరు గురించి. , ది పాట్రియాట్ యొక్క రాడార్ వ్యవస్థ ఒక ఇన్కమింగ్ వేగంగా ఎగిరిపోవు తప్పాను, మరియు, ప్రారంభం కాలేదు ఒక సాఫ్ట్వేర్ దోషం కారణంగా. ఇది మొదటి కనుగొన్న ఇజ్రాయిల్ ఉంది ఇక సిస్టమ్ అని, ఎక్కువ సమయం వ్యత్యాసం కారణంగా ఇమిడి గడియారం అయ్యారు వ్యవస్థ యొక్క కంప్యూటర్ లో. యునివర్సిటి గురించి 2 వారాల ముందు Dhahran లో విషాదం, ఇజ్రాయిల్ నివేదించబడింది రక్షణ శాఖ, సిస్టమ్ సమయం కోల్పోయింది, ఆ నడుస్తున్న గురించి 8 గంటల తర్వాత, వారు వ్యవస్థ అని గమనించి గమనించదగిన తక్కువ ఖచ్చితమైన మారుతోంది. రక్షణ శాఖ స్పందించారు పాట్రియాట్ బ్యాటరీలు అన్ని చెప్పడం వ్యవస్థలు వదిలి లేదు ఒక కాలం లో. వారు ఒక కాలం ఏమి చెప్పారో ఎప్పుడూ. 8 గంటల? 10 గంటల? 1000 గంటల? ఎవరూ తెలుసు. -ది పాట్రియాట్ బ్యాటరీ శిబిరాలని వద్ద బడ్డ Dhahran, మరియు దాని దోషపూరిత అంతర్గత వద్ద 100 గంటల పైగా గడియారం ఉండేది ఫిబ్రవరి 25 న రాత్రి. -ఇది కచ్చితత్వంతో సమయం ట్రాక్ 1/10 రెండవ యొక్క. ఇప్పుడు రెండవ 1/10 ఉంది ఒక ఆసక్తికరమైన సంఖ్య అది ఉండకూడదు ఎందుకంటే సరిగ్గా, బైనరీ వ్యక్తం. ఇది కాదు, అర్థం వ్యక్తపరచలేని, సరిగ్గా, ఏ ఆధునిక డిజిటల్ కంప్యూటర్ లో. ఇది నమ్మకం కష్టం కానీ ఒక ఉదాహరణగా ఈ ఉపయోగించండి. యొక్క సంఖ్య, 1/3 తీసుకుందాం. 1/3 వ్యక్తపరచలేని దశాంశ లో, సరిగ్గా. 1/3 అనంతం కోసం జరగబోతోంది 0,333 ఉంది. అలా మార్గం తో ఉంది దశాంశ ఖచ్చితమైన ఖచ్చితత్వం. ఆ అదే రకమైన వార్తలు పాట్రియాట్ లో జరిగిన సమస్య. ఇక సిస్టమ్ నడిచింది, దారుణంగా సమయంలో లోపం మారింది. ఆపరేషన్ 100 గంటల -తర్వాత, లోపం సమయం లో మాత్రమే 1/3 రెండవ ఉంది. కానీ ఒక లక్ష్యంగా పరంగా క్షిపణి మాక్ 5 వద్ద ప్రయాణిస్తున్న, అది ఒక ట్రాకింగ్ ఫలితంగా 600 మీటర్ల లోపం. ఇది ఒక తీవ్రమైన దోషం ఉంటుంది Dhahran వద్ద సైనికులు. జరిగిన -What, ఒక వేగంగా ఎగిరిపోవు ప్రయోగ ఉంది ముందస్తు-హెచ్చరిక ఉపగ్రహాలు ద్వారా కనుగొనబడింది, మరియు వారు వేగంగా ఎగిరిపోవు అని న్యూ వారి సాధారణ దిశలో వస్తోంది. అది రాబోయే అక్కడ వారు తెలియదు. -ఇది రాడార్ వరకు ఇప్పుడు పాట్రియాట్ వ్యవస్థ భాగం, గుర్తించడం మరియు ఉంచడానికి, Dhahran డిఫెండింగ్ ఇన్కమింగ్ శత్రువు క్షిపణి యొక్క ట్రాక్. -ది రాడార్ చాలా స్మార్ట్ ఉంది. ఇది నిజానికి ట్రాక్ చేస్తుంది వేగంగా ఎగిరిపోవు స్థానం మరియు ఎక్కడ అంచనా అది బహుశా ఉంటుంది తదుపరి సమయంలో, రాడార్ ఒక పల్స్ పంపింది. ఆ పరిధి గేట్ అని పిలిచేవారు. -Then, పాట్రియాట్ ఒకసారి తగినంత సమయం ఉంది నిర్ణయించుకుంటుంది తిరిగి వెళ్ళి తదుపరి తనిఖీ వశమైంది ఈ కనుగొనబడింది వస్తువు కోసం నగర ఇది తిరిగి వెళ్తాడు. కాబట్టి అది తప్పు తిరిగి వెళ్ళినప్పుడు స్థలం, ఇది ఆ వస్తువు చూస్తాడు మరియు అది ఏ ఉందని నిర్ణయించుకుంటుంది వస్తువు, అది ఒక తప్పుడు గుర్తింపును ఉంది, మరియు ట్రాక్ పడిపోతుంది. ఇన్కమింగ్ వేగంగా ఎగిరిపోవు అదృశ్యమైన రాడార్ తెర నుంచి మరియు సెకన్ల తరువాత, అది శిబిరాలని లోకి స్లామ్డ్. వేగంగా ఎగిరిపోవు 28 హత్య మరియు గత ఉంది ఒక మొదటి గల్ఫ్ యుద్ధ సమయంలో తొలగించారు. విషాద, నవీకరించబడింది సాఫ్ట్వేర్ తరువాతి రోజు Dhahran వద్ద వచ్చారు. సాఫ్ట్వేర్ దోషం వచ్చింది ఉన్నాయి స్థిర, ముగింపు సమస్యాత్మక ఒక అధ్యాయం పాట్రియాట్ క్షిపణి యొక్క చరిత్ర. [END ప్లేబ్యాక్] డేవిడ్ జే మలన్: సో మేము వద్ద టేక్ ఎ లుక్ వస్తుంది కేవలం ఒక బిట్ లో కొన్ని ఇటువంటి పరిమితులు. కానీ మొదటి, లెట్స్ కొన్ని పరివర్తన FYI వార్తలు. ఈ వారాంతంలో one-- సో, అక్కడ సూపర్ విభాగాలు ఉంటుంది, కొనసాగించేందుకు ఉద్దేశించిన ఇవి క్రమబద్ధమైన విభాగాలు, ఇది అందుకే ఒక వారం అప్ ప్రారంభమౌతుంది. CS50 యొక్క వెబ్సైట్ పరిశీలించి ఆ పై మరింత సమాచారం కోసం. వారు కూడా చిత్రీకరించారు మరియు ప్రసారం చేయబడుతుంది హాజరు చేయలేక వారికి నివసిస్తున్నారు. సమస్య 1 న సెట్ ఇప్పటికే కోర్సు యొక్క వెబ్సైట్ మరియు మేము వద్ద టేక్ ఎ లుక్ వస్తుంది కేవలం కొద్దిగా ఆ. మరియు కార్యాలయం గంటల చాలా పడుతుంది గురువారం ద్వారా ఈ సోమవారం ఉంచండి. కాబట్టి ఈ అధిక కానానికల్ ఉంది కార్యక్రమం మేము చివరిసారి చూశారు. ఇది సరళమైన వంటిది మీరు C లో వ్రాయవచ్చు కార్యక్రమం మరియు కూడా ఒక బోల్డ్ దావా ఒక బిట్ వార్తలు. కుడి? చాలా ఉంది ఎందుకంటే ఈ సంక్లిష్టతను కనిపించేవాటిని. కాబట్టి యొక్క ఒక త్వరిత వీక్షణ తీసుకుందాం ఏమి ఈ అంశాలు కొన్ని మరియు అప్పుడు అందించడానికి ప్రయత్నించండి ఎలా ఒక మానసిక మోడల్ కార్యక్రమాలు ఈ సరళమైన పని, మరియు అప్పుడు మేము మొదలు పెడతారేమో మరింత సంక్లిష్ట విషయాలను చూడటం. కాబట్టి ఈ లైన్ ఇక్కడ, ఇప్పుడు హైలైట్ పసుపు, మేము చెప్పటానికి ఏమి, చివరిసారి, ఈ మాకు చేసే? ఇది పనిచేస్తుంది ప్రయోజనం ఏమిటి? దూరంగా వెనుక నుండి ఎవరైనా? అవును. ప్రేక్షకులలో ఒకరు: [వినబడని] డేవిడ్ జే మలన్: గుడ్. కనుక ఇది మీరు ఆక్సెస్ ఇస్తుంది ఆదేశాలను, లేదా చేసుకుందాం వాటిని కాల్ విధులు, ఎవరైనా వేరే నివేదించబడి ఆ రాశారు కాబట్టి కొన్ని ఇతర ఫైల్ లో, మాట్లాడటానికి. కాబట్టి మేము వేటి ఒక H ఫైలు చూస్తారు చివరికి, ఒక సి ఫైలు వర్సెస్ ఉంది. కానీ ఇప్పుడు కోసం, కేవలం తెలుసు printf అని, ఉదాహరణకు, ఉన్నాయని కార్యకలాపాల్లో ఒకటి ఉంది ఎక్కడో కొన్ని ఇతర ఫైల్ లో ప్రకటించింది క్లౌడ్ యొక్క హార్డు డ్రైవు మీద వేరే ఆ మాకు printf ప్రాప్తి మరియు ఉపయోగించడానికి అనుమతిస్తుంది ఆవిష్కరించుకునే చేయకుండా మమ్మల్ని చక్రం. ఇంతలో, ప్రధాన ఉంది. ప్రధాన గత వారం యొక్క అనలాగ్ ఏమిటి? అవును. ప్రేక్షకులలో ఒకరు: గ్రీన్ జెండా క్లిక్. డేవిడ్ జే మలన్: అవును. స్క్రాచ్ యొక్క, ఆకుపచ్చ జెండా క్లిక్ చేసినప్పుడు. ఇది పజిల్ ముక్క వంటిది ఆ విషయాలు కిక్స్ ఆఫ్. కాబట్టి అదే విధంగా ప్రపంచం చేశాడు , సి లో కొన్ని సంవత్సరాల క్రితం నిర్ణయించుకుంది మరియు ఇతర భాషల బంచ్, మీరు ఒక ప్రోగ్రామ్ రాయడానికి మీరు అనుకుంటే, మీ మొదటి ఫంక్షన్ ప్రధాన, అని వుంటుంది. మరియు అది ఇలా ఉంది. కానీ మేము, తిరిగి వచ్చి చేస్తాము మరొక సారి, ఏమిటి, Int, మరియు, శూన్యమైన, ఆ సందర్భంలో అర్థం. ఇప్పుడు కోసం, గిరజాల జంట కలుపులు ఒకరకమైన స్క్రాచ్ యొక్క పజిల్ ముక్క లాంటి ఆకారం ఆ రేఖల కొన్ని సంఖ్య encapsulates. మరియు పంక్తులు లో మధ్య ఇక్కడ, ఇక్కడ ఈ ఒకటి. printf దీని ప్రయోజనం లో ఒక ఫంక్షన్ ఉంది జీవితం ఒక ఆకృతీకరణ స్ట్రింగ్ ముద్రించడానికి ఉంది. మరియు ఆకృతి ద్వారా, నేను మీరు అర్థం హోల్డర్ విలువలు ప్లగ్ చేయవచ్చు, మరియు మీరు ఎన్ని దశాంశ పేర్కొనవచ్చు పాయింట్లు, ఎన్ని సంఖ్యలు ముద్రించడానికి ఒక దశాంశ బిందువు మరియు వంటి తర్వాత. మరియు printf, కోర్సు యొక్క, ఒక పడుతుంది లేదా వాదనలు లేదా పారామితులు మరింత లేకపోతే మరింత సరళంగా, ఇన్పుట్లను, తెలిసిన. చాలా వంటి, కాబట్టి printf విధులు, ఇన్పుట్లను పడుతుంది. మరియు ఆ ఇన్పుట్లను ముడిపడి ఉంటాయి ఇక్కడ రెండు కుండలీకరణాలు. మరియు వారిలో లోపల ఒక ఇన్పుట్ ఉంది. ఇది మేము అని చేసిన వంటి, ఒక స్ట్రింగ్ ఇది కేవలం అక్షరాలు క్రమం, ఒక పదం, లేదా ఒక పదబంధం, లేదా ఒక మొత్తం వంటి వ్యాసం కూడా, డబుల్ కోట్స్ మధ్య. మరియు ఆ ప్రభావితం జరగబోతోంది ఏమిటి printf ప్రవర్తన కనుక, కోర్సు యొక్క, అది కేవలం ఒక సాధారణ ముద్రణ ఫంక్షన్ ఉంది. ఇది ఏమి మాత్రం కాదు మీరు చెప్పే వరకు, ప్రింట్. ఆపై, కొన్ని క్షణక్షణం. మేము ఈ అసహజ ఏమి లేదు చిహ్నాలు క్రమం? అవును. ప్రేక్షకులు ఒకరు: న్యూ లైన్. డేవిడ్ జే మలన్: న్యూ లైన్. కాబట్టి మీరు జాబు కాదు, మారిపోతాడు మీరు ప్రోగ్రామ్ వ్రాస్తున్నప్పుడు, ఎంటర్. సాధారణంగా, కంపైలర్ పొందడానికి అన్నారు మీరు అర్థం ఏమి ఒక చిన్న గందరగోళం. అయితే, మీరు వాచ్యంగా కలిగి ఇక్కడ నాకు ఒక కొత్త లైన్ ఇవ్వాలని, చెప్పటానికి. అందువలన / n మనం సాధారణంగా ఉంది ఒక ఎస్కేప్ అక్షరం కాల్. కాబట్టి n, కొత్త లైన్ కోసం. మరియు కంపైలర్ తెలుసు అది / n చూసినపుడు, ఇది నిజానికి కంప్యూటర్ ప్రేరేపించడానికి ఉండాలి, చివరికి, లేదా printf, ఈ సందర్భంలో, ఒక వాస్తవ కొత్త ముద్రించాలా లైన్, కొట్టడం మాదిరిగా, ఎంటర్ మీ కీబోర్డ్ లో కీ. చివరికి, మనం చెబుతాడు వాక్యనిర్మాణం యొక్క ఈ భాగం కోసం? ఇది ఏమిటి ప్రాతినిధ్యం లేదు? అవును. ప్రేక్షకులలో ఒకరు: [వినబడని] డేవిడ్ జే మలన్: ఇది కేవలం పంక్తి చివర. ఇది ప్రకటన ముగింపు ఉంది. మరియు మేము లేదు అని తెలుసుకోవటం ప్రతిచోటా వాటిని చాలు. మేము ఖచ్చితంగా వారికి లేదు ప్రతి పంక్తి చివర. ఉదాహరణకు, ఎవరూ ఉంది మొదటి పంక్తి, none లైన్ లో ఉంది ప్రధాన, తో, none ఉంది గిరజాల జంట కలుపులు తర్వాత, కానీ మీరు చూడండి మరియు పొందుటకు మొదలు పెడతారేమో ఇది పిలుపునిచ్చారు చోట తెలిసిన. మరియు అది ఒక ఫంక్షన్ తర్వాత దాదాపు ఎల్లప్పుడూ వార్తలు కొన్ని చర్య, కాల్ లేదా ఒక ప్రకటనలో మీరు నిజంగా వేస్తున్నాము. మరియు, ముఖ్యంగా ఇప్పుడు తెలుసు తక్కువ సౌకర్యవంతమైన వారిలో, ఈ తెలివితక్కువదని విషయాలు రకాల ఉన్నాయి మీరు అనుకోకుండా banging ముగుస్తుంది చేస్తాము పైగా గోడ మీ తల. మీరు తార్కికంగా ఉంటాం ఎందుకంటే కొన్ని సమస్య నమ్మకంతో మీరు ఒక సమస్య కోసం పరిష్కరించింది చేసిన సెట్, మరియు కేవలం తిట్టు విషయం కంపైల్ లేదా కూడా అమలు కాదు. కాబట్టి ప్రారంభంలో తరచుగా, అది జరగబోతోంది మీరు ఒక కుండలీకరణములలో తప్పిన ఎందుకంటే, లేదా మీరు ఒక సెమికోలన్ దూరమయ్యాడు. కాబట్టి కేవలం జాగ్రత్త విషయాలను ఈ రకాల యొక్క, మరియు వేదన పొందుటకు లేదు ప్రయత్నించండి వాటిని చాలా త్వరగా ఈ ఎందుకంటే పాత టోపీ మారింది. కానీ అది పొందుటకు చాలా సులభం ఫలితంగా, ప్రారంభ లో విసుగు. కాబట్టి ఇప్పుడు, యొక్క ఎలా వద్ద ఒక లుక్ తీసుకుందాం ఈ లైన్ నిజానికి పని ఉంది ఆపై కొద్దిగా చూడండి మరింత క్లిష్టంగా ఒకటి. కాబట్టి మేము ఇక్కడ పైగా కలిగి ఈ తెరపై డ్రా సామర్థ్యం. మరియు యొక్క అనుకుందాం తెలియజేయండి ఈ నా కంప్యూటర్ స్క్రీన్ ఉంది కానీ నేను, హలో ప్రోగ్రామ్ను రాస్తున్నాను మరియు నేను printf అమలు చేయలేదు. ఎవరో, printf అమలు చేసింది. ఎవరు చెప్పుకునే కోరుకుంటున్నారో , printf అమలు చేశారు? మేము ఉంటే? అన్ని కుడి, మీ పేరు ఏమిటి? STUDENT 1: [? Copal. ?] డేవిడ్ జే మలన్: Copal, అప్ న వస్తాయి. అప్ న వస్తాయి. అన్ని కుడి. కాబట్టి మేము ఇక్కడ కలిగి, కొన్ని పేరు ట్యాగ్లు మేము ఈ ఒక చిన్న గేమ్ తయారు కాబట్టి. మరియు మేము printf, మీరు కాల్ చేస్తుంది. మరియు మీరు ఇక్కడ పైగా వచ్చి అనుకుంటే, నేను కేవలం తెరపై డ్రా చేసిన, అది నాకు ఉంది, చాలా సరళంగా ఈ ఉంది. All right, కాబట్టి, హలో నా పేరు, printf, మీరు ఆ చాలు చెయ్యాలనుకుంటే. అన్ని కుడి. మరియు మీరు స్టాండ్ వెళ్ళే ఉంటే కంప్యూటర్ స్క్రీన్ అయితే మీరు ఫంక్షన్ అని ఈ కంప్యూటర్ వ్యవస్థ వచ్చింది. మరియు జీవితం మీ ఉద్దేశ్యం ఉంది నిజానికి ఏదో ప్రింట్. కానీ ప్రోగ్రామ్ వంటి చాలా మేము కేవలం ఇక్కడ, తెరపై వచ్చింది, మేము చూడాలని నిజానికి మీరు కొన్ని ఇన్పుట్ ఇవ్వాలని. కాబట్టి, నా ఇన్పుట్ ఉంటే, ఇక్కడ ఉంది స్పష్టంగా, ఏ printf పంపబడుతుంది, యొక్క రకమైన ఈ వంటి అది అప్ ఎగతాళి తెలియజేయండి. నేను వాచ్యంగా రాయాలో కాగితంపై, "హలో, ప్రపంచం," బాక్ స్లాష్ N. మరియు స్పష్టతను, ఏమి నేను, ఈ పేపర్ మీద డ్రా చేసిన ఈ కనిపిస్తోంది. నేను ఈ ప్రోగ్రామ్ రన్, మరియు ఈ చేసినప్పుడు కోడ్ యొక్క పసుపు లైన్ అమలు అవుతుంది, అది, నేను హలో ప్రోగ్రామ్ను అయితే వార్తలు ఒక ఫంక్షన్ ఆఫ్ కొన్ని ఇన్పుట్ ఇవ్వడానికి చేస్తున్నాను ఎవరో రాసిన. మరియు మీరు, మీ వేలితో, నిజానికి అనుకొనుట, మీ వేలితో, తెరపై డ్రా సంసార మీరు అప్పగించారు జరిగింది ఉంది, ప్రభావం, చివరికి, ఉంది సరిగ్గా ఆ తెరపై చూడండి. ఇక్కడ ఒక చిన్న మూలలో కేసు. మరియు మంచి, మేము చూడండి ఉండకూడదు ఈ సమయంలో, కొత్త లైన్. ఇది మీరు కోసం తప్పుడు ఉంటుంది స్పష్టంగా న్యూ లైన్ డ్రా. కానీ మేము ఉంచినట్లయితే పదాలు రాయడం స్క్రీన్, వారు ఆ క్రింద అప్ ముగిస్తుంది. కాబట్టి చాలా కృతజ్ఞతలు, కానీ కర్ర ఇక్కడ చుట్టూ కేవలం ఒక క్షణం. మేము ఇప్పుడు ఇతర అలాంటిదేమీ అవసరం స్వచ్ఛంద, మేము చేస్తే, ఆ పాత్రను అవసరం జరగబోతోంది of-- ఇది ఆర్కెస్ట్రా లో మాత్రమే వ్యక్తులు ప్రస్తుతం. ఎలా సరే గురించి. ఇక్కడే. అప్ న వస్తాయి. మీ పేరు ఏమిటి? STUDENT 2: [? Ivay. ?] డేవిడ్ జే మలన్: క్షమించండి? STUDENT 2: [? Ivay. ?] డేవిడ్ జే మలన్: ఏతాన్, అప్ న వస్తాయి. సంఖ్య? నేను కూడా ఆ తప్పుడు వచ్చాం మీరు రెండుసార్లు చెప్పారు తర్వాత? అప్ న వస్తాయి. ఇది ఇక్కడ వినడానికి కష్టం. OK. నేను క్షమించండి, మీ పేరు ఏమిటి? STUDENT 2: [? Ivay. ?] [? డేవిడ్ జే మలన్: Ivay. ?] సరే. ఇప్పుడు, మీరు లేకపోతే మనస్సు మీరు GetString ఉంటాయి. STUDENT 2: సరే. కూల్. డేవిడ్ జే మలన్: మీరు కోరుకుంటున్నారో చేస్తే కేవలం ఒక క్షణం ఇక్కడ నిలబడి, యొక్క కొద్దిగా పరిశీలించి వీలు మరింత క్లిష్టమైన కార్యక్రమం, ఆ ఇప్పుడు కోడ్ మూడు పంక్తులు ఉంది. కాబట్టి మేము ఒక కలిగి ఉపయోగించి మీ పేరు రాష్ట్ర printf; రెండు, GetString ఒక కాల్, ఒక ఒక కార్య తరువాత వేరియబుల్ స్ట్రింగ్ s, అని, లేదా లు అని; ఆపై printf, మరొక కాల్, కానీ రెండు ఇన్పుట్లను తో ఈ సమయంలో. కాబట్టి మేము ఇప్పటికే పూర్తి చేసిన రాష్ట్ర మీ పేరు, లేదా కాకుండా, మేము చేసిన ఇప్పటికే ఒక printf కాల్ చేసారు. కాబట్టి నేను మీ పేరు రాష్ట్ర రాయాలో. అందుకే నేను ఏమి వెళుతున్న కేవలం ఒక క్షణం లో, printf, పాస్, ఈ, చాలా సరళంగా ఉంది. మీరు ముందుకు వెళ్లి ఈ డ్రా అనుకుంటే తెరపై, మీ ఇన్పుట్ ఇప్పుడు. అన్ని కుడి. మరియు మేము ఇప్పుడు, స్ట్రింగ్ మర్చిపోతే ఇక్కడ కోడ్ మా సొంత లైన్. కాబట్టి, GetString, మేము అవసరం నిజానికి, GetString కాల్. కాబట్టి జీవితం లో మీ ఉద్దేశ్యం కేవలం నడిచిన ఉంది ఆర్కెస్ట్రా ప్రవేశించారు, మీరు చేయగలిగితే, మరియు ఒకరి పేరు వచ్చింది. కానీ మీరు ఇస్తాను ఏదో అది చాలు. మీరు కోరుకుంటే, వెళ్ళి ముందుకు మరియు ఒక స్ట్రింగ్ పొందండి ఆ ఒకరి పేరు పొందడానికి కాగితం ముక్క, మీరు చేస్తే. అన్ని కుడి. మరియు మేము కేవలం ఒక క్షణం లో చూస్తారు దీని పేరు మేము పొందుతుంటే. ఇంతలో, నేను ఏమి వెళుతున్న సిద్దం, ఒక ఖాళీ భాగం కాగితం, దీనిలో, నేను వెళుతున్నాను నిల్వ సంసార విలువ GetString నాకు తిరిగి అని, నేను అనే స్ట్రింగ్ వేరియబుల్ s ఉండటం. అన్ని కుడి. సో మీరు ఇక్కడ ఏమి ఉన్నాయి? నిక్. అన్ని కుడి. కాబట్టి మేము ఇక్కడ నిక్ యొక్క పేరు. కాబట్టి ఈ ఏమి వాచ్యంగా ఉంది తిరిగి చేయబడింది నాకు, అందువలన GetString ద్వారా, మాట్లాడటం. నేను వెళ్ళడం, ఇప్పుడు, చేస్తున్నాను ఎడమ చేతి వైపు అమలు పేరు నేను కేవలం ఆ వ్యక్తీకరణ యొక్క నేటి అవసరాలకు, నిక్ కోసం, డౌన్ కాపీ. కాబట్టి ఇప్పుడు, నేను ఒక వేరియబుల్ కలిగి అని, నిక్ యొక్క పేరు నిల్వ, s. నేను ఇప్పటికే అప్పగించారు చేసిన printf, ఒక మునుపటి వాదన. కానీ మా మూడవ మరియు చివరి లైన్ లో కోడ్, నేను నిజానికి చేతి printf కలిగి కొద్దిగా విభిన్నమైనది ఏదో "హలో,% s," బాక్ స్లాష్ n. అందువలన చివరి పంక్తి నేను వెళుతున్నాను నేను గత విషయం send-- కు ఇప్పుడు డౌన్ రాయాలో, ఈ ఉంది. సో కోడ్ రెండు లైన్లు, లేదా కోడ్ యొక్క చివరి పంక్తి కాకుండా, రెండు ఇన్పుట్లను కోసం కాల్స్ ఒకటి, ఈ, మరియు రెండు, ఈ. మా printf ఫంక్షన్ చేస్తే ఇప్పుడు ఇన్పుట్ ఈ పట్టవచ్చు, నాకు మీరు స్క్రీన్ క్లియర్ తెలియజేయండి. నిజానికి, మీరు ముందుకు వెళ్ళవచ్చు. మేము నుండి, దానిని చెప్పను ఇది ఒకే ప్రోగ్రామ్పై వార్తలు. మేము హలో, నిక్ చూస్తారు. అన్ని కుడి. కాబట్టి ఈ కొద్ది ఉంది క్రీడను కేవలం ద్వారా దూకడం రాయడానికి, రాష్ట్ర మీ హలో, నిక్ పేరు, మరియు. కానీ సందేశాన్ని తరలింపు ఈ సాధారణ ఆలోచన ఇన్పుట్ ప్రసరించటం మరియు అవుట్పుట్ స్వీకరించడానికి, మేము చూడాలని మోడల్ ఖచ్చితంగా కూడా చాలా క్లిష్టమైన విధులు కోసం. సో రెండు మీరు చాలా ధన్యవాదాలు. మేము ఒక సుందరమైన ఒత్తిడి కలిగి ఇక్కడ మీరు బంతి. మరియు మా GetString ధన్యవాదాలు ఇలానే మరియు printf స్వచ్ఛందంగా. ధన్యవాదాలు. అన్ని కుడి. మీరు రెండు ధన్యవాదాలు. కాబట్టి మేము గురించి ఆలోచిస్తున్నాము ఇంతవరకూ, ఎక్కువగా తీగలను గురించి. మరియు అది సి నిజానికి అవుతుంది కొన్ని వివిధ రకాల డేటా అర్థం. నిజానికి, యొక్క తీసుకుందాం ఇక్కడ ఈ చూడండి. కాబట్టి సి, మరియు చాలా భాషలు, అక్షరాలు అనే విషయాలు అర్థం. ఒక చార్ సాధారణంగా ఉంది ఒకే బైట్, లేదా ఎనిమిది బిట్స్. మరియు అది ఒక అక్షరాన్ని సూచిస్తుంది, అక్షరం A, లేదా రాజధాని వంటి అక్షరం A, లేదా చిన్న లేఖ A, లేదా ఆశ్చర్యార్థకం పాయింట్, లేదా ఏ పాత్ర మీరు టైప్ చేసే మీ కీబోర్డ్, మరియు కొన్నిసార్లు మరింత. మేము కూడా తేలటం చూడటానికి పొందుతున్నారు. ఒక ఫ్లోట్, సాధారణంగా, ఒక 32-బిట్ విలువ, లేదా నాలుగు బైట్లు మళ్ళీ ఎందుకంటే, ఒక బైట్ ఎనిమిది బిట్స్ ఉంది. కాబట్టి ఫ్లోట్ ఒక ఫ్లోటింగ్ పాయింట్ విలువ, ఒక దశాంశ బిందువు ఏదో. నిజానికి, ఆ ఏముంది సినిమా మాట్లాడుతున్నాను వారు ఫ్లోటింగ్ గురించి మాట్లాడినపుడు గురించి పాయింట్ విలువలు, బిట్స్ నిర్దిష్ట సంఖ్య ఒక వాస్తవ సంఖ్య ప్రాతినిధ్యం వాడుతున్నారు. కానీ డబుల్స్లో కూడా అంటారు విషయాలను ఉంది. ఈ జావాలోని ఉనికిలో మీరు APCS తీసుకున్నారు ఉంటే, మరియు ఒక డబుల్ గా పేరు కృతజ్ఞతగా ఇలా సూచిస్తాడు రెండుసార్లు ఒక ఫ్లోట్ గా పెద్దది. ఇది ఇప్పటికీ ఒక వాస్తవ సంఖ్య యొక్క, అది కేవలం మరింత బిట్స్ ఇది, మరింత ఖచ్చితమైన ఉండాలి లేదా పెద్ద సంఖ్యలను నిల్వ చేయడానికి. పూర్ణాంకానికి సులభం. మేము చివరిసారి గురించి మాట్లాడారు. ఇది కేవలం ఒక పూర్ణాంకం. మరియు అది సాధారణంగా 32 వార్తలు బిట్స్ లేదా నాలుగు బైట్లు. అందువలన, మీరు కలిగి ఉంటే, ఇప్పుడు చూద్దాం 32 బిట్స్ మరియు మేము వారం 0 లో చేసింది, మీరు కలిగి ఉంటే ఇంత briefly-- 32 బిట్స్, అతిపెద్ద ఏమిటి మీరు పూర్ణాంకం గా సూచిస్తుంది సంఖ్య? ఇవ్వాలని లేదా పడుతుంది? ఇది 4 బిలియన్ వంటిది మరియు ఆ మేము ఉన్నాము మాత్రమే ఉంది అనుకూల సంఖ్యలు మాత్రమే ప్రాతినిధ్యం వహిస్తుంది. మీరు 32 బిట్స్ కలిగి, మరియు మీరు అనుకుంటే అలాగే ప్రతికూల సంఖ్యలకు ప్రాతినిధ్యం, మీ పరిధిలో తప్పనిసరిగా చేతబడి అనేది బిలియన్ 2 సానుకూల 2 బిలియన్. కానీ సాధారణంగా, మేము ప్రారంభిస్తాము 0 వద్ద 4 బిలియన్ వెళ్ళండి. మీరు ఖచ్చితంగా తెలుసుకోవలసి ఉంటుంది, కానీ లేదు కేవలం నేను ఉంటే మేము, నిజానికి, ఈ చూడగలరు ఇక్కడ, ఒక చిన్న కాలిక్యులేటర్ తెరుచుకుంటుంది. నేను 32 2 చేయవచ్చు, మరియు సరిగ్గా ఎలా పెద్దది, ఎన్ని విలువలు మీకు 32 బిట్స్ తో, సూచిస్తాయి. మరియు అది సుమారు 4 బిలియన్ ఉంది. కాబట్టి మేము ఆ సంఖ్య చూసిన ఉంటాం కొన్ని వివిధ ప్రదేశాల్లో. కానీ మీరు ఇక అవసరం ఉంటే కంటే సంఖ్యలు, ఇది ఉంది హాజరవుతారు ఏదో ఒక లాంగ్ లాంగ్ అని. మరియు ఒక దీర్ఘ కాలం ఉంది సాధారణంగా 64 బిట్స్ ఇది ఇది భారీ ఆర్డర్ అంటే ఒక పూర్ణాంకానికి కంటే కూడా పెద్ద. నేను కూడా పెద్ద ప్రకటించు కాదు మీరు ప్రాతినిధ్యం చేసే సంఖ్య, కానీ అది మరీ పెద్ద వార్తలు. ఇప్పుడు ఒక పక్కన, చారిత్రాత్మకంగా, ఒక పూర్ణాంకానికి 32 బిట్స్ ఉంది ఉంటే, మరియు ఒక లాంగ్ లాంగ్ 64 బిట్స్ ఎలా ఉంది పెద్ద సుదీర్ఘ, కాదు సుదీర్ఘ కాలం ఉంది? మీరు ఇది ఒక Int కంటే ఎక్కువ ఉంది భావిస్తున్నారు కాని తక్కువ దీర్ఘ కంటే ఒక లాంగ్ లాంగ్, కానీ అది నిజానికి ఆధారపడి ఉంటుంది. అందువలన అది ఒక హాజరవుతారు చాలా చిరాకులను, కొన్ని వ్యవస్థలు కోడ్ వ్రాయడం తో, అని ఈ అన్ని డేటా రకాలు అన్ని ముందుగా నిర్ణయించిన విలువలు కలిగి ఉంటాయి. కొన్నిసార్లు అది ఈ అనేక బిట్స్ వార్తలు. కొన్నిసార్లు అది అనేక బిట్స్ వార్తలు. కాబట్టి మీరు నిజంగా తెలుసుకోవలసి ఉంటుంది, కొన్నిసార్లు, ఏ హార్డ్వేర్ మీరు మీ సాఫ్ట్వేర్ అమలు చేస్తున్నారు. కృతజ్ఞతగా, ఇతర భాషలు మరియు ఇప్పుడు ఉనికిలో ఇతర డేటా రకాల మీరు మరింత ఖచ్చితమైన ఉండాలి అనుమతిస్తాయి. Well, మేము, స్ట్రింగ్ చూసింది మరియు మేము చాలా, bool చూసింది కానీ ఆ వచ్చి అవుతుంది మాత్రమే CS50 లైబ్రరీ తో. కాబట్టి ఆ నిర్మించారు లేదు C. లోకి ఆ బదులుగా, అని ఆ ఫైల్ లో వచ్చిన CS50.h, మేము చివరికి చేస్తాము పొరల వెనుకకు పీల్. కానీ ఇప్పుడు కోసం, వారు కేవలం ఉన్నాము అదనపు డేటా రకాల. ఒక bool నిజమైన లేదా తప్పుడు, మరియు ఒక ఉంది స్ట్రింగ్ పాత్రలు ఒక వరుస క్రమం ఒక పదం వంటి. ఇప్పుడు printf, మేము చూసిన, ఉంది placeholders,% s ఒకటి. మరియు మీరు, ఇప్పుడు, చేయగలరు ఈ ఇతర ఉదాహరణలు, ఎలా నుండి ప్రతిపాదించే మీరు ఒక ప్లేస్హోల్డర్ కలిగి కాలేదు వివిధ రకాల డేటా కోసం. ఉదాహరణకు, ఒక అంచనా పడుతుంది మీరు ఉంటే ఉపయోగించి ఒక చార్ ముద్రించడానికి కోరుకున్నారు printf, హోల్డర్ బహుశా% సి ఉంది. మరియు మీరు ఒక ముద్రించాలా అనుకుంటే హోల్డర్,% i తో పూర్ణాంక. % LLD, ఒక లాంగ్ లాంగ్ దశాంశ విలువ కానీ దీర్ఘ కాలం, ఆ పటాలను కాబట్టి. ఫ్లోటింగ్ మరియు అప్పుడు% f పాయింట్ విలువ లేదా ఒక డబుల్ కోసం, కాబట్టి కొన్నిసార్లు వారు తిరిగి చేస్తున్నట్లుగానే వివిధ సందర్భాల్లో. కాబట్టి మేము సందర్శించండి మరియు ఉపయోగించడానికి చేస్తాము కాలక్రమేణా ఆ కొన్ని. Printf మరియు కూడా ఇతర విధులు మరియు మద్దతు ఇతరుల ఎస్కేప్ సీక్వెన్స్, మరియు కొన్నిసార్లు, ఈ అవసరం ఉన్నాయి. కాబట్టి బాక్ స్లాష్ n ఒక కొత్త లైన్. బ్యాక్స్లాష్ t, ఎవరైనా చేస్తుంది ఒక ఉదంతం తీసుకోవాలని అనుకుంటున్నారా? ప్రేక్షకులలో ఒకరు: టాబ్. డేవిడ్ జే మలన్: టాబ్. మీరు నిజంగా అనుకుంటే ఒక టాబ్ నాటౌట్ ప్రింట్ ఖాళీలు ఒక స్థిర సంఖ్యలో కానీ వాస్తవ టాబ్ అక్షరం, మీరు మీ హిట్ లేదు, కీబోర్డ్ మీద టాబ్ కీ, సాధారణంగా, మీరు నిజంగా బాక్ స్లాష్ t చేయండి. బ్యాక్స్లాష్ డబుల్ కోట్, ఎందుకు నేను ఎప్పుడూ ఆ కావాలో? కుడి? ఎందుకు నేను ఒక టైప్ కాదు నా కీబోర్డు మీద డబుల్ కోట్? ప్రేక్షకులు ఒకరు: లేకపోతే, అది, ఎందుకంటే ఇది ముగింపు ఉంది భావిస్తున్నాను అన్నారు మీ ముద్రణ [ఇష్టం? టెక్స్ట్. ?] డేవిడ్ జే మలన్: ఖచ్చితంగా. తో, గుర్తుంచుకో మా printf ఉదాహరణలు, మేము ఇన్పుట్ కు printf అయ్యేది, ఆ ఇన్పుట్ స్ట్రింగ్ యొక్క ఎడమ మరియు ఆ ఇన్పుట్ కుడివైపు వసంత, కోర్సు యొక్క, ఒక డబుల్ కోట్ ఉంది. మీ స్వంత ఇన్పుట్ డబుల్ కలిగి ఉంటే ఆ మధ్యలో కోట్, కంప్యూటర్ సమర్థవంతంగా వాటిని గా, గందరగోళం పొందుటకు, ఈ డబుల్ కోట్ చేస్తుంది మధ్యలో చెందిన? ఇది ఎడమ ఒక తో చెందినవా? అది సరైన తో చెందినవా? అందువలన, మీరు సూపర్ చేయడానికి కావాలా స్పష్టమైన, మీరు డబుల్ కోట్ బాక్ స్లాష్, ఇది తప్పించుకున్న అందుచే, మాట్లాడటానికి, మరియు అది వేరే విషయం కోసం కలిపారు లేదు. మరియు, ఇక్కడ కొన్ని ఇతరులు ఉంది బాక్ స్లాష్ r, సింగిల్ కోట్స్, 0, ఆ మేము అలాగే కాలక్రమేణా చూడవచ్చు. మరియు ఇప్పుడు, విధులు గురించి? మేము ఇప్పటివరకు తీసుకోగల చర్యలను కాబట్టి ఈ భాషలో, సి, బాగా, మేము చూసిన, printf, కోర్సు యొక్క, మరియు అన్ని తెరపై ఇతరుల, ఇక్కడ, మేము కోసం ఉపయోగిస్తాము మాత్రమే కోర్సు యొక్క మొదటి కొన్ని వారాల, ఉన్నప్పుడు CS50 లైబ్రరీ వస్తాయి. మరియు వారు, అది చాలా సులభం సి, నిజంగా వినియోగదారు ఇన్పుట్ పొందడానికి. ఇది సి లో ఆ అవుతుంది, మరియు స్పష్టముగా కొన్ని భాషలలో, దీన్ని మెడ లో ఒక నిజమైన నొప్పి అనిపిస్తుంది వినియోగదారును ప్రాంప్ట్ వంటి సాధారణ ఏదో, తన ఇన్పుట్ కోసం కీబోర్డ్, కోసం. కాబట్టి ఈ విధులు సులభం. మరియు అది కూడా లోపం ఉంది అంతా తనిఖీ, కాబట్టి మీరు ఆ బుధవారం మేము, న గుర్తుకు , మళ్ళీ ప్రయత్నించండి, హెచ్చరిక చూసింది నేను సహకరించలేదు ఉన్నప్పుడు, మరియు నేను ఒక పదం, బదులుగా ఒక సంఖ్య టైప్? మేము ప్రారంభ భారీ ట్రైనింగ్ పూర్తి చేసిన వినియోగదారు సహకరిస్తుంది నిర్ధారించుకోండి. కానీ ఈ కేవలం శిక్షణ మేము చివరికి చక్రాలు, మరియు త్వరగా టేకాఫ్. రీక్యాప్ కు కాబట్టి, యొక్క త్వరగా పరిశీలించి వీలు, మేము స్క్రాచ్ వద్ద చేశాడు C. కొన్ని కానానికల్ నిర్మాణాలు ఈ విధమైన అర్థం యొక్క సుడిగాలి పర్యటన, కేవలం తద్వారా మీరు ఒక సూచన కలిగి మరియు మీరు మొదటి వద్ద విషయాలు చూసిన కాదు. కానీ అప్పుడు మేము అసలు కోడింగ్ వద్ద పరిశీలిస్తాము ఈ బిల్డింగ్ బ్లాక్స్ కొన్ని ఉపయోగించడానికి. ఎంతగా స్క్రాచ్ లో వంటి, మేము ప్రకటనలు ఇష్టం ఉన్నప్పుడు, సి లో, మేము కలిగి లేదు, వేచి, చెప్పటానికి లేదా printf వంటి అలాగే పనిచేస్తున్నది. మేము ఒక పరిస్థితి వ్యక్తం చేయాలనుకుంటే సి లో, ఆత్మ లో, ఇటువంటి వార్తలు, ఆ పజిల్ ముక్క ఆ స్క్రాచ్ ఈ వంటి చూసారు. కానీ బదులుగా, మేము అక్షరాలా ఉంటే, వ్రాయండి. ఆపై, బ్రాకెట్లు మేము ఒక పరిస్థితి ఉంచండి ఆ పరిస్థితి ఉన్న ఏమి మేము చేస్తాము బూలియన్ వ్యక్తీకరణ, మళ్ళీ, కాల్. మరియు తిరిగి, ఈ pseudocode యొక్క విధమైన ఉంది. మరియు, నిజానికి, // ఒక వ్యాఖ్య ఉంది. ఇది నాకు కేవలం ఇంగ్లీష్ పదాలు. కానీ ఈ సాధారణ ఉంది ఒక, ఉంటే, పరిస్థితి యొక్క నిర్మాణం. కానీ మేము కాంక్రీటు చూస్తారు కేవలం ఒక క్షణం లో ఉదాహరణలు. మీరు ఒక కలిగి అనుకొంటే రోడ్డు రెండు మార్గం ఫోర్క్, చాలా వంటి మేము మా స్వచ్ఛంద చేశాడు బుధవారం, మీరు వేరే ఉంటే, ఒక కలిగి ఉంటుంది. మరియు మీరు ఒక మూడవ అనుకుంటే ఆఖరి పరిస్థితి, లేదా డిఫాల్ట్ పరిస్థితి మీరు అక్కడ, కేవలం ఒక else బ్లాక్ కలిగి చేయవచ్చు. మరియు అలాగే, బూలియన్ వ్యక్తీకరణలు, మీరు వాటిని కలిసి, చెయ్యవచ్చు, మరియు. మరియు మేము బుధవారం చూసిన అది ఒక ఆంపర్సండ్ చిహ్నం కాదు, ఇది తక్కువ స్థాయి కారణాల కోసం, రెండు అని మేము చివరికి చూస్తారు మరియు ఆడటానికి చేస్తాము. విషయాలు కలిసి లేదా కనుట 2 నిలువు బార్లు. ఒక యుఎస్ కీబోర్డ్, ఈ కీలక సాధారణంగా ఉంది పైన Shift కీ తో మీ Enter కీ లేదా కీ తిరిగి. అప్పుడు ఈ విషయాలు ఉందని మేము ఒకసారి లేదా రెండుసార్లు ఉండవచ్చు ఉపయోగిస్తాము. వారు కార్యాచరణలో సమానంగా ఉంటాయి అయితే వేరే ఏమి మీరు, ఒక తో చేయవచ్చు, వేరే వేరే ఉంటే, నిర్మాణం కానీ వారు ఒక స్విచ్ అని చేస్తున్నారు. వారు చాలా భిన్నంగా ఉంటాయని, కానీ మేము చేస్తాము మా పంపిణీ కోడ్ కొన్ని చూడండి, భవిష్య సమస్య సెట్ కోసం ఎక్కువగా, ఇది కేవలం కొన్నిసార్లు ఒక prettier అని మొత్తం వ్యక్తపరిచే విధంగా పరిస్థితులు గుత్తిని గిరజాల జంట కలుపులు చాలా చేయకుండా మరియు కుండలీకరణాలు మరియు ఇండెంటేషన్ని ఒక చాలా. కానీ వారు మాకు ఏ మరింత ఇవ్వాలని విద్యుత్ మేము ఇప్పటికే కలిగి కంటే. ఇప్పుడు ఉచ్చులు. మరియు ఈ ఒక, మేము పరిశీలిస్తాము మరింత నెమ్మదిగా కొద్దిగా వద్ద. కానీ, మేము ఈ ఉపయోగించడానికి మొదలు చేస్తాము, ముఖ్యంగా ఇప్పటికే తెలిసిన వారికి. ఈ ఉంటే చాలా, కానానికల్ మార్గం మర్మమైన విధంగా, సి లో ఒక లూప్ రాయడానికి ఇప్పుడు స్క్రాచ్ లో ఒక లూప్ ఉంది అందంగా సూటిగా. మీరు ఒక, ఎప్పటికీ, బ్లాక్ కలిగి. మీరు ఒక, పునః, బ్లాక్ తో కలిగి కేవలం ఒక సంఖ్య మీరు టైప్ ఉంటుంది. మరియు, లూప్ తో, మీరు చెయ్యవచ్చు ఆ ఆలోచనలు రెండు అమలు కానీ అది కొంచెం సాంకేతిక వార్తలు. కానీ స్పష్టముగా, అది కూడా సాపేక్షంగా సులభం. మీరు యొక్క క్రమంలో తెలిసిన ఒకసారి కార్యకలాపాలు, మీరు వాచ్యంగా కేవలం విలువలు ప్లగ్ వెళ్తున్నారు మరియు ఏమి కంప్యూటర్ చెప్పండి. కాబట్టి ఇక్కడ ఒక ఉదాహరణ ఉంది. ఈ ఒక లూప్ ఉంది, చాలా కేవలం ఒక నంబర్ నుండి గణనలు మరొక ద్వారా. మరియు కేవలం చూసుకుంటూ ఉండడాన్ని వలన మీరు కూడా, అది వద్ద తో అనుభవం ఈ భాష, ఏమి సంఖ్య ఇది బహుశా లెక్కింపు మొదలు లేదు? సరే, 0. నేను మీరు ఎందుకంటే ఊహించడం వెబ్ ఒక Int మరియు ఒక నేను ఉందని చూడండి ఇది ఒక వేరియబుల్ ఉంది. ఇది 0 to initialized ఉంది. మరియు తర్వాత, అది కనిపిస్తుంది మేము ఒక విలువ printf అక్కడ. మరియు, నిజానికి, నేను ఇక్కడ ఒక చిన్న అక్షర దోషం చేసింది. కానీ సులభంగా పరిష్కరించబడింది లో. నాకు ఇక్కడ, నేను లో జోడించడానికి అనుమతిస్తుంది. మేము ఇప్పుడు printf ఉండటం కలిగి ఆ ప్లేస్హోల్డర్ విలువ ఆమోదించింది. మరియు ద్వారా అప్ లెక్కించడానికి ఏం జరగబోతోంది? ప్రేక్షకులు: 50. 50. 49. డేవిడ్ జే మలన్: 49. అలా 50, మొదటి చూపులో, కుడి తెలుస్తోంది. కానీ, అది అవుతుంది, అవతరిస్తుంది మేము తనిఖీ కొనసాగించండి మా పరిస్థితి. మరియు మేము ఒకసారి ఆపడానికి వెళుతున్న ఇకపై నేను 50 కంటే తక్కువగా ఉంటుంది. కాబట్టి ఈ లూప్, దానికి తప్పక కాబట్టి నేను 50 కంటే తక్కువ గా, అమలు. కానీ అది 50, లేదా 51 అవుతుంది వెంటనే, పైపెచ్చు అది స్వయంచాలకంగా ఆపాలి. అన్ని కుడి. సో వాట్ నిజానికి ఇక్కడ జరుగుతుంది? కాబట్టి ఈ క్రమాన్ని ఒక లూప్ కార్యకలాపాలు. ఒకటి, మీరు కలిగి ప్రారంభ అని పిలవబడే. ఈ పసుపు హైలైట్ భాగం కోడ్ యొక్క మొదటి అమలు చేయబడినప్పుడు మరియు ప్రభావితం ఆ పర్ ఉంది బుధవారం, మీరు బహుశా ఊహించే. ఇది ఒక వేరియబుల్ నేను దీనిని సృష్టిస్తుంది ఆ వేరియబుల్ దుకాణాలు విలువ 0. కాబట్టి నేను కథ ఈ సమయంలో 0. తదుపరి విషయం ఈ నిర్మాణం జరుగుతుంది, పరిస్థితి తనిఖీ తీర్చుకుంటాడు అని. కాబట్టి నేను వెంటనే తనిఖీ నేను 50 కంటే తక్కువ? మరియు కోర్సు యొక్క, సమాధానం ఇప్పుడు కోసం అవును, ఖచ్చితంగా ఉంది. Yes i, 0, మరియు ఎందుకంటే ఆ తప్పనిసరిగా కంటే తక్కువ 50 ఉంది. అప్పుడు ఏమి జరుగుతుందనే, ఈ ఉంది కోడ్ లైన్ అమలు అవుతుంది. నిజానికి, బహుళ ఉంది ఆ గిరజాల జంట కలుపులు కోడ్ రేఖలు, వారు అన్ని మరొక తరువాత ఒక అమలు పెట్టడానికి. మరియు ఇక్కడ ప్రభావం లో, ఉంది స్పష్టంగా, ముద్రించాలా అన్నారు ఇది సంఖ్య i 0, ఆపై 1, ఆపై 2 ఉంటుంది. కానీ ఎందుకు? ఎందుకు పెరిగిన get లేదు? Well, నాలుగో విషయం జరుగుతుందనే ఈ వాక్యనిర్మాణం ఉంది సెమికోలన్ తర్వాత అమలు అవుతుంది. నేను చెప్పడం ఒక సంక్షిప్తలిపి మార్గం ++; i యొక్క విలువ తీసుకుని, దానికి 1 జోడించడానికి; ఆపై చుట్టూ తదుపరి సమయం, జోడించడానికి దానికి 1; మరియు చుట్టూ తదుపరి సమయం, దానికి 1 జోడించండి. కాబట్టి మేము కొనసాగించడాన్ని, ఏమి జరుగుతుందో తదుపరి నేను వెళ్ళడం లేదు చేస్తున్నాను ఎప్పుడైనా మళ్ళీ నేను ప్రారంభించడం. నేను ప్రారంభించడం ఉంచినట్లయితే నేను 0, ఈ ఉదాహరణ ఎందుకంటే అంతం ఎప్పటికీ నేను 0 వద్ద నిలిచిపోయాయి అవుతుంది. కానీ ఏమి జరుగుతుందో ఏమి ఉంది పరిస్థితి తనిఖీ చేయబడుతుంది, కోడ్ లైన్ అమలు చేయబడతాయి, నేను పెరిగిన ఉంటుంది పరిస్థితి తనిఖీ ఉంటుంది, కోడ్ అమలు చేయబడతాయి. మరియు అది మళ్ళీ సైక్లింగ్ ఉంచింది మళ్ళీ, మళ్ళీ, నేను వరకు ++ 50 విలువ ప్రేరేపిస్తుంది. పరిస్థితి అప్పుడు చెప్పారు 50 కంటే 50 తక్కువ? జవాబు, కోర్సు యొక్క, ఏ, మరియు అందువలన మొత్తం కోడ్ అమలు ఆపి. మరియు మీరు స్క్రీన్ పై ఎక్కువ కోడ్ కలిగి ఉంటే డౌన్ క్రింద, ఆ తదుపరి జరుగుతుంది ఏమిటి. ఇది ఈ కర్లీ జంట కలుపులు బయటకు బయటకు మరియు ఆ తర్వాత మరింత ప్రింట్ కొనసాగుతోంది. కాబట్టి ఫోకస్త్రోట్ నుండి ఇప్పుడు ఒక జోక్, ఆ మీరు బహుశా, ఇప్పుడు అర్థం వస్తుంది. ఇది ఎల్లప్పుడూ ఫన్నీ వార్తలు. ఇది chuckles వంటిది రకమైన జల్లెడ ఆపై మీరు గ్రహించడం మీరు కాదు ఈ వంటి హాస్యం వద్ద నవ్వుతున్నారు. కానీ కొన్ని takeaway ఉంది ఇక్కడ, pedagogically, చాలా. కనుక ఇది నేను ఉన్నాను అని అవుతుంది వాక్యనిర్మాణం యొక్క ముక్క లేదు, లేదా ఫోకస్త్రోట్ యొక్క ఒక తప్పిపోయిన ఇక్కడ వాక్యనిర్మాణం యొక్క భాగాన్ని. మనం చేసిన, వెలితి ప్రతి ఇతర ఉదాహరణలో, ఇప్పటివరకు? రిటర్న్, కాబట్టి ఉంది ఆ, ఏదో వార్తలు మేము ముందు కాలం తిరిగి వచ్చి ఉంటుంది అని. వెలితి, అయితే? అవును. ప్రేక్షకులు ఒకరు: [వినబడని] ప్రారంభ. డేవిడ్ జే మలన్: సరే. కాబట్టి యేః. కాబట్టి నిజంగా, ఈ బాగా is--, మరియు లెక్కింపు initialized ఉంది పైన, లేదా బదులుగా అప్ పైన ప్రకటించింది. కాబట్టి ఈ చేయడం మరొక మార్గం. కానీ ఒక లైన్ లో అయితే చెల్లదు. ఎలా ఇక్కడ గురించి? ప్రేక్షకులు ఒకరు: గిరజాల జంట కలుపులు? డేవిడ్ జే మలన్: అవును. కర్లీ జంట కలుపులు తప్పిపోయాయి. కానీ ఈ కోడ్, నేను వారి ఖాతాలో, అర్థం, నిజానికి, పదము చెల్లదు. ఇది హాజరవుతారు, మీరు లేదు గిరజాల జంట కలుపులు అవసరం మీరు మాత్రమే కోడ్ యొక్క ఒక లైన్ కలిగి ఉంటే మీరు లూప్ యొక్క లోపల అమలు చేయదలిచిన. ఇప్పుడు మేము ఎల్లప్పుడూ తరగతి లో మరియు మా పంపిణీ కోడ్ అన్ని, గిరజాల జంట కలుపులు ఉన్నాయి ఏమైనప్పటికీ, కేవలం స్పష్టత కోసమని. కానీ పాఠ్యపుస్తకాల్లో అని తెలుసుకోవటం మరియు ఆన్లైన్ ఉదాహరణలు, మీరు చాలా బాగా గిరజాల చూడవచ్చు కొంత తప్పిపోయిన కలుపులు. మరియు ఆ, సరే ఏం మీరు ఇండెంట్ మరియు ఉద్దేశించి కోడ్ కేవలం ఒక వాక్యం ఉంది, మరియు సమర్థవంతంగా కోడ్ బహుళ పంక్తులు. అన్ని కుడి. సమస్య కాబట్టి సంబంధిత ఖచ్చితంగా చెప్పలేని, ఓవర్ఫ్లో యొక్క ఒక సమస్య అర్థంలో ఆ అదేవిధంగా పూర్ణాంకాల వారికి పరిమితులు ఉన్నాయి కేవలం ఫ్లోటింగ్ పాయింట్ విలువలు వంటి? ప్రపంచ ఒక ఫ్లోటింగ్ పాయింట్ లో విలువలు, మేము మాత్రమే కాబట్టి ఖచ్చితమైన ఉంటుంది కొన్నిసార్లు, దీని తరువాత చెడు విషయాల జరుగుతుంది మా కార్యక్రమాలు బగ్గీ మరియు లోపం ఉంటుంది. ఇప్పుడు కూడా పూర్ణ తో, మీరు సమస్యలు లోకి అమలు చెయ్యవచ్చు. ఇప్పుడు పూర్ణాంకం ఒక లేదు దశాంశ బిందువు లేదా దాని తరువాత సంఖ్యలు. ఇది సంక్లిష్టంగా, కేవలం ఒక సహజ సంఖ్య ఉంది. కాబట్టి ఒక పూర్ణాంకానికి తప్పు ఏం చేయాలో? నేను ఒక పూర్ణాంకానికి ఉపయోగించి చేస్తున్నాను ఉంటే , తప్పు ఏ కౌంట్ లేదా? చాలా సరళంగా తెలుస్తోంది. అవును. ప్రేక్షకులలో ఒకరు: ఉంటే సంఖ్య గెట్స్ [వినబడని] డేవిడ్ జే మలన్: అవును. మీరు కనుక, అధిక పరిగణించవచ్చు మీరు ఆ ఉంటే ఏమి నిజంగా పెద్ద సంఖ్యలో వ్యక్తం కాదు. కుడి? కొన్ని సమయంలో, మీరు వెళుతున్న సరిహద్దులు దాటకుండా ఒక 32-బిట్ విలువ లేదా 64-బిట్ విలువ. ఇప్పుడు మళ్ళీ, నేను ఎలా ఖచ్చితంగా తెలియదు ఒక 64-బిట్ విలువ ప్రకటించు, కానీ నేను ఒక 32-bit పూర్ణాంక తో తెలుసు, ఇది ఉంటుంది అతిపెద్ద విలువ, అది మాత్రమే సానుకూల అయితే విలువలు, సుమారు 4 బిలియన్. నేను 5 బిలియన్ లెక్కించడానికి ప్రయత్నించండి ఉంటే, ఏదో జరిగే అవకాశముంది. కానీ యొక్క నిజానికి, ఏమి ఏమి, యొక్క చూసేలా. పూర్ణ సంఖ్య యొక్క ప్రపంచంలో ఓవర్ఫ్లో, మీరు ఎక్కడ, ఒక కోణంలో, ఒక సామర్థాన్ని ఓవర్ఫ్లో పూర్ణాంక, ఏ సంభవిస్తుంది? కాబట్టి ఇక్కడ ఒక బైనరీ సంఖ్య, అది 0 ఒక త్రోబాక్ ఉంది. ఇది అన్ని 1 యొక్క, మరియు placeholders వార్తలు అక్కడ, 2 శక్తులు ఉన్నాయి, కాబట్టి ఈ బైనరీ. కాబట్టి ఈ తెరపై 8, 1 బిట్స్ ఉంటాయి. మరియు మీరు గుర్తు ఉంటే లేదా మీరు త్వరగా గణిత చేయండి, ఏ విలువ ప్రాతినిధ్యం అవుతోంది ఇక్కడ ఈ ఎనిమిది 1 బిట్స్ తో? 255. మరియు మీరు చాలా ఖచ్చితంగా కాదు ఉన్నప్పటికీ ఉంటే గణిత, మీరు దాన్ని పని చేయడు. లేదా మీరు కేవలం రకమైన అనుకొనుట కారణం అది ద్వారా, నేను ఉన్నాను ఉంటే, ఒక నిమిషం వేచి 8 బిట్ విలువ ప్రాతినిధ్యం, మరియు నేను 256 సాధ్యం విలువలు పొందారు, కానీ ఇందులో మొదటిది, 0 నేను ఆ తెలుసు అతిపెద్ద, 255 అవతరిస్తుంది మరియు ఈ ఒక కావచ్చు ఏమిటి. కాబట్టి నేను ఈ విలువ 1 జోడించండి ప్రయత్నించండి అనుకుందాం. మీరు గ్రేడ్ ఏమి చేస్తుంది పాఠశాల ఒక 1 జోడించడం, మరియు అది ఎప్పుడు నిజంగా ఎందుకంటే సరిపోకపోతే మీరు 1 ఉంచవలసి ఉంటుంది? వెళ్ళి ఈ సంఖ్య ఏమిటి మీరు 1 జతచేయునప్పుడు మారింది? ఇది 0 మారింది జరగబోతోంది. కుడి? మీరు మరింత బిట్స్ కలిగి మరియు ఎందుకంటే నేను చేస్తాము , రకమైన, ప్రయత్నించండి ఇక్కడ దాన్ని టైప్ మేము మరింత బిట్స్ కలిగి ఉంటే మనం 1 జోడించండి ఇక్కడ చేయగల మరియు తర్వాత మేము ఈ పొంది. వై. మేము ఇక్కడ ఒక 1 బిట్ అన్ని మార్గం భావిస్తాను. కానీ ఈ ఒక పరిమిత ఉంటే విలువ, అది కేవలం 8 బిట్స్ వార్తలు, మరియు ఆ ముందు నిర్ణయించిన వార్తలు కంప్యూటర్ ద్వారా, 1 ఆ సమర్థవంతంగా లేదు. ఇది కేవలం రకమైన ఒక శిఖరంపై వస్తుంది. కాబట్టి మీరు 255 1 జోడించండి ఉంటే, ఏ మీరు స్పష్టంగా విలువ వస్తుందా? 0. మరియు అనుకోకుండా సంఖ్యలు, మరియు బహుశా అనుకోకుండా, ఈ వంటి చుట్టూ చుట్టడం ముగుస్తుంది. సో వాట్ చిక్కుముడి ఉంటుంది? Well, కొన్ని వివిధ విషయాలను. ఒక కాబట్టి, అది చూస్తున్న ముగుస్తుంది లేదు 0 వంటి అనుకోకుండా, కానీ మీరు రకమైన, చూడగలరు కూడా వాస్తవ ప్రపంచంలో, మంచి కోసం లేదా తప్పుడు, పరిమితి ఈ ఆలోచన యొక్క వ్యక్తీకరణలు. ఉదాహరణకు, మీరు ఏ ఎవరు ఎప్పుడూ లెగో స్టార్ వార్స్ ఆడిన, ఎవరైనా తెలుసు ఏర్పడుతుందా నాణేలు గరిష్ట సంఖ్య మీరు లెగో స్టార్ వార్స్ తీసుకోవచ్చు? ఆధారంగా ఒక అంచనా తీసుకోండి నేటి ప్రశ్నలు లీడింగ్. ఇది 256 లేదా 255 కంటే పెద్ద వార్తలు. 4 బిలియన్ ఉంది. కనుక దీనిని మారుతుంది, మరియు కొన్ని people-- ఉంది కొన్ని ను ధ్రువీకరించారు గత night-- 4 బిలియన్ బంగారు నాణేలు ఉండాల్సిందని, లేదా లెగో స్టార్ వార్స్ లో whatnot. స్పష్టంగా ఉంది, అయితే ఒక మార్గం మోసపూరిత, ఒక బగ్ లేదా ఫీచర్ ఉంది, ఆ మీరు అనుమతిస్తుంది కేవలం మా మరియు పాయింట్లు మా వచ్చే. కానీ అతిపెద్ద సాధ్యం విలువ బట్టి ఎవరైనా నేను ఈ స్క్రీన్ షాట్ ఆన్లైన్ దొరకలేదు, నిజానికి 4 బిలియన్లు ఉంది. ఇప్పుడు ఎందుకు అని? ఇది ఖచ్చితంగా 4 బిలియన్ వార్తలు బహుశా ఎవరైనా నిర్ణయించుకుంది ఎందుకంటే, ఎవరు ఈ ఆట రాస్తూ, వారు 4 బిలియన్ చేయగల, ఏదో, ఏదో, ఏదో, విలువ వంటి నేను జారీ కాలిక్యులేటర్ తో ముందు, కానీ ఇది మానవులకు కేవలం కొద్దిగా క్లీనర్ వార్తలు గరిష్ట సంఖ్య చెప్పటానికి coins-- లేదా స్టుడ్స్, వారు మీరు వాటిని కాల్ గా తీసుకోవచ్చు 4 బిలియన్లు ఉంది. అందువలన, ఈ ఎందుకు? ఎలా LEGO గేమ్ కౌంటర్ అమలు ఆ ట్రాక్ ఉంచడం మీరు నాణేల సంఖ్య? వారు ఏమి ఉపయోగించి చేస్తున్నారు? ప్రేక్షకులు ఒకరు: ఇది ఆపి 4 బిలియన్ తర్వాత లెక్కింపు. డేవిడ్ జే మలన్: ఇది ఆపి 4 బిలియన్ తర్వాత లెక్కింపు, మీరు చేయవచ్చు అర్థం ఒక ప్రోగ్రామర్ వంటి, ఊహించి, వారు బహుశా అని 32 bit పూర్ణాంక ఉపయోగించి. ప్రోగ్రామర్ వంటి వాచ్యంగా కేవలం టైప్ చేసిన Int, అతని లేదా ఆమె కోడ్ లో, ఆ వేరియబుల్ రకం అని వారు ఒకరి కోడ్ నిల్వ ఉపయోగిస్తున్నారు. కాబట్టి ఇతర వ్యక్తీకరణలు ఉంది పరిమితులు ఈ రకాల. నేను ఈ game-- ఆడాడు లేదు మరియు నేను చరిత్రలలో చదివిన much-- కానీ నిర్ధారించండి సివిలైజేషన్, ఇక్కడ అసలు వెర్షన్ మీరు స్పష్టంగా ప్రతి సంకర్షణ ఇతర మరియు యుద్ధానికి వేతనంగా లేదా శాంతి ఉండవచ్చు, మహాత్మా గాంధీ ఒకటి రావలసిన అత్యంత ప్రశాంతమైన అక్షరాలు, నేను మొదటి, అది అర్థం నాగరికత యొక్క వెర్షన్. నిజానికి, 1 నుండి 10 యొక్క స్కేల్ మీద, తన దుడుకు కేవలం ఒక ఉంది 1. సో ఇంత స్వల్పంగా దూకుడు, స్పష్టంగా. కానీ కొన్ని పాయింట్ వద్ద, మీరు స్పష్టంగా చెయ్యవచ్చు మీ భూగోళశాస్త్రం ప్రజాస్వామ్యం ఇన్స్టాల్. మరియు మీరు ప్రజాస్వామ్యం ఇన్స్టాల్ ఉంటే ఆట మీ వెర్షన్ లోకి, అప్పుడు మీ దూకుడు స్థాయి చెయ్యకపోతే. ఇది ఒక మంచి విషయం. ప్రజలు మరింత ప్రశాంత ఉంటాయి స్పష్టంగా, ఆ పరిస్థితి. కానీ స్పష్టంగా, ఎవరైనా చేశాడు ఒక, ఉంటే, పరిస్థితి లేదు కోడ్ యొక్క అసలు వెర్షన్ లో. సో మహాత్మా గాంధీ యొక్క ఆక్రమణ స్థాయి నుండి వెళ్ళింది 1 సానుకూల, మైనస్ 2, 1 ప్రతికూల, కానీ ఆట కాదు ప్రతికూల సంఖ్యలు అర్థం. కాబట్టి ఏమి జరిగింది మహాత్మా గాంధీ యొక్క ఆక్రమణ ఉంది స్థాయి 1 ప్రతికూల, 0, 1 నుండి వెళ్ళింది ప్రభావం కలిగి కావడంతో చుట్టూ చుట్టడం అత్యంత దూకుడు పాత్ర ఆటలో, 255 విలువ వద్ద, 1 నుండి 10 యొక్క స్కేల్ మీద. మరియు అప్పటి నుండి ఉన్నాయి ఈ ఆట మరింత అవతారాల మరియు వారు దానిని ఉంచింది చేసిన ఈస్టర్ గుడ్డు యొక్క ఒక విధమైన, మహాత్మా గాంధీ స్పష్టంగా అని కాబట్టి భయంకరమైన దాడిచేస్తుంది. కానీ అది ఒక ఫలితమే చాలా సులభమైన ప్రోగ్రామింగ్ దోషం ఆట యొక్క చాలా ప్రారంభ వెర్షన్ లో. ఇప్పుడు మరింత disturbingly, మరింత ఇటీవల బోయింగ్ 787 ఒక లిఖితం జరిగినది పరికరం యొక్క బగ్, రకమైన మీరు ప్రత్యేకించి ఒక బగ్ కలిగి అనుకుంటున్నారా. మరియు లక్షణాలు, నేను చదివి ఉంటాం ఇక్కడ ఆట ప్లే ఒక వ్యాసం నుండి, ఈ ఒక మోడల్ 787 విమానం ఉంది ఆ నిరంతరం ఆధారితం చెయ్యబడింది 248 రోజులు అన్ని కోల్పోతారు ప్రస్తుత ఏకాంతర, AC, కారణంగా విద్యుత్ శక్తి, జెనరేటర్ నియంత్రణ యూనిట్లు, GCUs ఏకకాలంలో సురక్షితంగా వైఫల్యం మోడ్ లోకి వెళుతున్న. కాబట్టి ఈ జారీ ఒక హెచ్చరిక ఉంది ఈ సమస్య గుర్తించిన సమయంలో. ఈ పరిస్థితి కలుగుతుంది ఒక సాఫ్ట్వేర్ కౌంటర్ ద్వారా, , GCUs కు అంతర్గత కాబట్టి పూర్ణాంకం లేదా ఒక వేరియబుల్, 248 తర్వాత సంకల్ప ఓవర్ఫ్లో నిరంతర అధికార రోజుల. బోయింగ్ ప్రక్రియలో ఉంది ఒక GCU సాఫ్ట్వేర్ నవీకరణ అభివృద్ధి ఆ ప్రమాదకర పరిస్థితిలో అధిగమించడానికి ఉంటుంది. క్షిపణి వంటి ఎంతగా దృష్టాంతంలో, ఇందులో వారు వేరియబుల్ రకమైన కలిగి ఆ లెక్కింపు, మరియు లెక్కింపు జరిగింది మరియు లెక్కింపు, కానీ క్రమంగా పొంగి దాని సామర్థ్య సరిహద్దులు అదేవిధంగా తిట్టు విమానం చేశాడు ఒక వేరియబుల్ ఓవర్ఫ్లో నడుస్తున్న తగినంత సమయం తర్వాత. కాబట్టి నాలుక లో చెంప విధంగా ఈ విషయంతో పని యొక్క నిజంగా, reboot, మీ విమానం ప్రతి ఉంది మెమరీ కనుమరుగవుతుంది అవుతుంది కాబట్టి 247 రోజులు, మరియు వేరియబుల్ 0 తిరిగి వెళ్తాడు. కాని వసూలు, ఈ చాలా ఉంది సాఫ్ట్వేర్ పెద్ద అవతారం కానీ మేము Apple యొక్క గురించి వినడానికి ముఖ్యంగా కార్లు వెళ్లడానికి ఆపరేటింగ్ వ్యవస్థలు, మరియు Google నుండి కార్లు స్వీయ డ్రైవింగ్, మరియు సాఫ్ట్వేర్ యొక్క అవతారాలలో ఎన్ని మా రోజువారీ జీవితాలకు, TV స్ పరిశీలిస్తున్నాడు, మరియు మరింత, సాఫ్ట్వేర్ చుట్టుముట్టి ఉన్నాయి తెలుసుకోవటం, ఇవన్నీ మాకు మానవులు రాసిన. మరియు మేము అన్ని వెంటనే కనుగొనడంలో చేస్తాము ఇది చాలా సులభమైన మరియు చాలా సాధారణ వార్తలు సాఫ్ట్వేర్ రాసేటప్పుడు తప్పులు చేయడానికి. మరియు మీరు వాటిని పట్టుకోవడానికి లేకపోతే, కొన్ని చెడు విషయాల జరుగుతుంది. ఇప్పుడు కొన్నిసార్లు, కొన్ని ఫన్నీ విషయాలు జరగవచ్చు, లేదా కనీసం కొన్ని సార్లు మనం కొన్ని చెరుపు ఆశించడం తెలుసు. కాబట్టి 0 గ్రేడ్ నుండి, 0 ద్వారా విభజించబడింది పాఠశాల, సాధారణంగా ఒక చెడ్డ విషయం. ఇది వివరింపబడని. మరియు దాన్ని మారుతుంది మరియు యొక్క ఉంటే చూద్దాం ఈ ఎంచుకోవచ్చు నా సమయపు ఆపిల్ మీరే ఇటీవల ఈ కొన్ని ఆహ్లాదకరమైన కలిగి. కాబట్టి నేను ఇక్కడ ఒక ఐఫోన్ కలిగి. నేను సిరి మాట్లాడటానికి మరియు ఆమె అడగండి వెళుతున్న నాకు 0 ద్వారా విభజించబడింది 0 సమాధానం ఇవ్వాలని. 0 0 ద్వారా ఏమి విభజించబడింది? సిరి: మీరు 0 కలిగి ఇమాజిన్ కుకీలు, మరియు మీరు సమానంగా వాటిని విభజించారు 0 స్నేహితులు మధ్య. ప్రతి వ్యక్తి ఎన్ని కుకీలను పొందండి లేదు? చూడండి? ఇది సమంజసం అనిపించుకోదు. మరియు కుకీ మాన్స్టర్ విచారంగా ఉంది ఏ కుకీలను ఉన్నాయి. మరియు మీరు ఆ విచారంగా మీరు స్నేహితులు లేరు. డేవిడ్ జే మలన్: ఇది చెడ్డ ఉంటాము. కాబట్టి ఈ అక్కడే చెప్పబడింది ఏమిటి. ఇది నిర్వచించిన కాదు, అనిర్దిష్ట వార్తలు, నిజానికి, అనేక ప్రోగ్రామింగ్ భాషల్లో లేదా, నిజంగా, స్వరకర్తలు రెడీ మీరు ఒక కార్యక్రమంలో, గుర్తించడానికి, 0 0 విభజించడానికి ప్రయత్నించండి. ఈ అయితే కంటే మరింత సరదాగా ఉంది ఆ స్పష్టంగా, కుకీ మాన్స్టర్ ఈ రోజుల్లో ట్విట్టర్ లో ఉంది. అతడు ఈ తో, ఈ ప్రత్యుత్తరము, ఇది ఖచ్చితంగా పూజ్యమైన ఉంది. కానీ యొక్క వద్ద ఒక త్వరిత వీక్షణ తీసుకుందాం ఇతర నిర్మాణాలు ఒక జంట, ఆపై ఈ కొన్ని చాలు కోడ్ మంచి మార్గాల్లో, ఉపయోగించడానికి. కనుక ఇది పాటు, ఉచ్చులు కోసం, ఉంది ఏదో ఒక సమయంలో లూప్ అని వ్యత్యాసంతో మరియు అమలు చేయబడుతుంది కొద్దిగా differently-- మరియు మేము చివరికి examples-- చూస్తారు కానీ కొన్ని భావంలో, అది ఎందుకంటే సరళంగా వార్తలు మీరు ప్రారంభించడం అనుమతించదు మరియు లూప్ యొక్క సరిహద్దు లోపల అప్డేట్. మీరు ఇప్పటికీ అమలు చేయవచ్చు. కాబట్టి మీరు ఖచ్చితమైన విషయాలు చేయవచ్చు ఒక సమయంలో లూప్, లూప్ ఒక వంటి, కానీ మీ వాక్యనిర్మాణం, ultimately-- మేము చివరికి వీలుగా see-- వివిధ అవతరిస్తుంది. ఒక డో, లూప్ అయితే కూడా ఉంది దీనిలో నిజానికి కొద్దిగా భిన్నంగా ఉంటుంది ఒక అయితే లూప్ లో మరియు ఎల్లప్పుడూ ఒక సమయంలో లూప్ ఉంటే ముందుగా తమ పరిస్థితి తనిఖీ మీరు దిగువ ఈ విషయం టాప్ చదవండి అది జరగబోతోంది వంటి రకమైన కనిపిస్తోంది అంతే గత ఎందుకంటే అది యొక్క పరిస్థితి తనిఖీ కోడ్ యొక్క నిజంగా చివరి పంక్తి. నిజానికి, ఆ ఉపయోగకరమైన చేస్తాడు మేము వ్రాసే కొన్ని కార్యక్రమాలలో, మీరు గుడ్డిగా ఏదో చేయాలని అనుకుంటే మరియు చివరికి పరిస్థితి తనిఖీ. తప్పనిసరిగా ఒక చెడ్డ విషయం కాదు. మేము వేరియబుల్స్ అనుకుంటే, మేము చేయవచ్చు దానిని వివిధ మార్గాలలో ఒక జంట లో. మరియు మేము ఫోకస్త్రోట్ చూసిన కార్టూన్, అది చేయడం ఒక మార్గం ఇక్కడ మీరు మీ వేరియబుల్ డిక్లేర్, పూర్ణాంకానికి కౌంటర్ సెమికోలన్ వంటి, ఆపై ఉండవచ్చు తదుపరి later-- లైన్, బహుశా 10 పంక్తులు later-- మీరు దీన్ని ప్రారంభించడం. కోడ్ యొక్క కాబట్టి ఈ 2 లైన్లు రకం Int ఒక వేరియబుల్ డిక్లేర్ అది ఇస్తుంది కాబట్టి, అది కౌంటర్ కాల్ నాకు తగినంత బిట్స్ ఒక పూర్ణాంకానికి పట్టుకోండి. తర్వాత చివరికి, దానిని ఆ వేరియబుల్ విలువ 0. ఇది ఒక 0 మరియు 1 యొక్క ఏర్పాటు నమూనా, మేము గత వారం నుండి తెలిసిన, మేము 0 గా తెలుసు సంఖ్య సూచిస్తుంది. లేదా స్పష్టముగా, మీరు ఈ చాలా చేయవచ్చు మరింత క్లుప్తమైన, కేవలం దీన్ని ఇష్టపడుతున్నారు. ఇప్పుడు మేము కూడా కలిగి విధులు కాల్ సామర్ధ్యం. నిజానికి, ఇక్కడ ఒక 2 లైన్ ప్రోగ్రామ్ లేదా దాని ఒక సారాంశంలో, వాస్తవానికి ఇది మమ్మల్ని అనుమతిస్తుంది కొన్ని కోడ్ వ్రాసే user-- నుండి ఒక స్ట్రింగ్ గెట్స్ చాలా మా స్వచ్ఛంద ఒక క్షణం వంటి క్రితం ఫలితంగా నిల్వ పేరు అనే వేరియబుల్, మరియు then-- చాలా మా స్వచ్ఛంద వంటి ఆ విలువలు printf-- ప్రింట్లతో రెండు వాదనలు లో పంపిస్తూ, స్ట్రింగ్ వేరియబుల్ తరువాత , పేరు, దానికదే అని. కాబట్టి యొక్క ముందు, పరిశీలించి వీలు మేము అక్కడ తిరిగి మారియో వచ్చిన ఈ ఇప్పుడు, యొక్క ఉదాహరణలలో ఒక జంట వద్ద. నేను ముందుకు మరియు ఓపెన్ వెళ్ళి వెళుతున్న అప్, యొక్క ఫంక్షన్-0.c, సే తెలియజేయండి. మరియు ఎల్లప్పుడూ, ఈ కోడ్ కోర్సు యొక్క వెబ్ సైట్ లో అందుబాటులో, కాబట్టి మీరు ఆడవచ్చు హోమ్ మరియు తరువాత చూడండి. అంతే లో కానీ ఇక్కడ కార్యక్రమం లైన్ 17 నుండి 22 వరకు సారాంశం. ప్రధాన కార్యక్రమం కార్యక్రమం ఎల్లప్పుడూ మొదలు కానుంది. ఈ కార్యక్రమం స్పష్టంగా, అన్నారు పెద్దప్రేగు మీ పేరు ముద్రించాలా. ఇది అప్పుడు, GetString కాల్ జరగబోతోంది కేవలం వంటి మేము మా వాలంటీర్లు చేశాడు. ఆపై, ఈ, ఆసక్తికరంగా ఉంటుంది ఇది PrintName కాల్ జరగబోతోంది. ఇది అక్కడ, అన్ని ఈ సమయంలో అవుతుంది PrintName అనే ఫంక్షన్ ఉంది. ఆ ఒకరి పేరు ముద్రిస్తుంది. మేము నుండి printf ఉపయోగించడానికి అవసరం లేదు ఒకప్పటి, PrintName ఉంది. కానీ ఆ తప్పుదారి వార్తలు PrintName లేదు ఎందుకంటే C. ప్రజలు అలా జరగలేదు తో వస్తాయి కొన్ని 40 లేదా 50 సంవత్సరాల క్రితం కనిపెట్టినది నేను బదులు చేశాడు. నిజానికి, నేను స్క్రోల్ ఉంటే మరింత నోటీసు డౌన్ నేను నా స్వంత వ్రాయడానికి ఎలా C. లో విధులు మేము చివరికి చేస్తాము మేము చెప్పడం ఉంచడానికి ఎందుకు వివరించేందుకు, శూన్యమైన, కొన్ని ప్రదేశాల్లో, కానీ నేడు, లెట్స్ కేవలం పేరు చూడండి. లైన్ 24 న, మీరు అనుకుంటే మీ సొంత ఫంక్షన్ను రూపొందించడానికి మీరు వాచ్యంగా రాయడానికి ఫంక్షన్ యొక్క పేరు. నేను PrintName ఎంచుకున్నాడు. కుండలీకరణాల్లో, మీరు పేర్కొనండి రకాల ఇన్పుట్లను, మరియు ఎన్ని మీరు ఈ ఫంక్షన్ తీసుకొవాలనుకోవటము. ఈ సందర్భంలో, నేను పడుతుంది కావలసిన అని 1 వేరియబుల్ పేరు, మరియు అది చేస్తాడు రకం, స్ట్రింగ్, కాబట్టి అది జరగబోతోంది అక్షరాలు కొన్ని క్రమంలో. ఆపై, ఈ కార్యక్రమం స్క్రాచ్ లో వంటి, మీరు కస్టమ్ పజిల్ కలిగి ముక్కలు ఈ ఆచారం ప్రవర్తన కలిగి అన్నారు. ఇది printf కాల్ జరగబోతోంది నేమి, హలో, హోల్డర్, ఆపై దానిని ప్రదర్శించాడు జరగబోతోంది సంసార యూజర్ అని. కాబట్టి ఈ ఒక ఉదాహరణ ఏమి ఒక కంప్యూటర్ శాస్త్రవేత్త చేస్తాను కాల్ అవరోధం లేదా క్రియాత్మక ఇవి కుళ్ళిన saying-- ఉంటే ఈజ్ ఫాన్సీ మార్గాలు మీరు ఈ ఉన్నత స్థాయి ఆలోచన ఇష్టం నేను కార్యాచరణను కావలసిన మీరు ఖచ్చితంగా, ఒకరి పేరు ముద్రిస్తుంది అక్షరాలా అప్పుడు printf వ్రాయండి మరియు మీకు కావలసిన వాదనలు లో పాస్, మరియు ప్రోగ్రామ్ పని చేస్తుంది, ఇది బుధవారం నుంచి ఉంది అని. కానీ మీరు దూరంగా నైరూప్య ప్రారంభించవచ్చు ఒక పేరు ప్రింటింగ్ విధానం భావనను చెప్పవచ్చు. మీరు ఒక పేరు ఇస్తుంది, PrintName, మరియు ఈ వంటి వారం 0 నుండి పొరలు ఈ ఆలోచన. ఇకనుంచి నేను మరియు మీకు తెలిసిన లేదు లేదా PrintName అమలు ఎలా శ్రద్ధ. అవును అది బహుశా, printf ఉపయోగిస్తుంది ఎవరు ఉపయోగించే ఏమి తెలుసు, అట్లా ఎవరు పట్టించుకుంటారు? ఇప్పుడు నేను ఇక్కడ మాట్లాడటం చేస్తున్నాను, బదులుగా డౌన్ ఇక్కడ. నిజానికి, మా కార్యక్రమాలు పొందుటకు గా మరింత ఆధునిక మరియు ఆధునిక, మేము మంజూరు కోసం తీసుకొని ఉంచాలని చేయబోతున్నామని తక్కువ స్థాయి పజిల్ ముక్కలు ఉనికిలో. మేము వాటిని రాశాడు ఎందుకంటే లేదా ఎవరో, కాబట్టి చేశాడు మేము అప్పుడు వాటిని పైన నిర్మించవచ్చు. యొక్క ఈ పరిశీలించి లెట్ వేరియంట్, ఒక పని. కాబట్టి ఈ ఒక కొంచెం వార్తలు ఆధునిక, కానీ దాన్ని మారుతుంది CS50 యొక్క లైబ్రరీ లో ఆ కేవలం GetInt ఫంక్షన్ ఉంది. మేము కు, సంవత్సరాల క్రితం అనుకోలేదు ఒక GetPositiveInt ఫంక్షన్ అమలు. మరియు ఒక చిన్న బాధించే ఉంది ఎందుకంటే మీరు అబ్బాయిలు ఒక కార్యక్రమం ఇందులో వ్రాస్తున్న మీరు ఒక అనుకూల పొందుటకు కావలసిన వినియోగదారు నుండి పూర్ణాంక, మీరు ఖచ్చితంగా GetInt ఉపయోగించవచ్చు. మరియు మీరు ఖచ్చితంగా తనిఖీ చేయవచ్చు పరిస్థితి మరియు బహుశా ఒక లూప్ ఆ Int ఎక్కువ ఉంటే మరియు 0 కంటే యూజర్ అరుస్తుంటారు అతను లేదా ఆమె ఇవ్వదు ఉంటే మీరు ఒక అనుకూల సంఖ్య. కానీ యొక్క ఈ నిర్మించడానికి వీలు భవనం, ఒక మేమే బ్లాక్, కస్టమ్ స్క్రాచ్ ముక్క, మీరు రెడీ ఉంటే. నేను ఒక కార్యక్రమం కలిగి వెళుతున్న ఇక్కడ చివరికి, నేను కాల్ చెయ్యగలరు అనుకుంటున్నారా GetPositiveInt, మరియు నేను ఉండాలనుకుంటున్నాను ఆ Int ఉంది ఏ ముద్రించాలా సామర్థ్యం. కానీ ఈ ఇప్పుడు దూరంగా సంగ్రహించబడింది ఉంది. ఇది కేవలం ఒక ఉన్నత స్థాయి ఇచ్చిన చెయ్యబడిన అది ఏమి చెప్పారు ఆ పేరు, ఇది ఎందుకంటే అద్భుతమైన ఇది చదవడానికి ఇప్పుడు చాలా సహజమైన. నేను పట్టించుకోను లేకపోతే ఏమి కింద హుడ్, నాకు స్క్రోల్ డౌన్ తెలపండి. మరియు అది కొద్దిగా భయపెట్టడం వార్తలు మొదటి వద్ద, ముఖ్యంగా ఈ మీ మొదటి కార్యక్రమం ఉంటే, కానీ యొక్క పరిశీలించి తెలియజేయండి. నేను ఇకపై గర్జన, చెప్పడం నేను విధులు అవుతుంది ఎందుకంటే, చాలా GetString వంటి చెయ్యవచ్చు నాకు ఒక విలువ తిరిగి. వారు కేవలం లేదు స్క్రీన్ ప్రింట్, వారు నిజానికి అప్పగించండి చేయవచ్చు నన్ను తిరిగి ఏదో. మరియు PrintName ముందు అయితే, నేను ఏదైనా తిరిగి అవసరం లేదు. నేను వైపు ప్రభావం అవసరమైన ఏదో తెరపై కనపడక కానీ నేను ఒక మానవ అవసరం లేదు నాకు ఏదో తిరిగి అప్పగించండి. ఇక్కడ, GetPositiveInt తో, GetInt తో వంటి, నేను తిరిగి చేతి ఏదో కావలసిన. సో నేను, శూన్యమైన లేదు మాట్లాడుతూ నేను లైన్ 23, కానీ పూర్ణాంకానికి న, ఇది చెప్పాడు, ఈ ఫంక్షన్ నేను రాస్తున్నాను ఆ, GetPositiveInt అన్నారు అని పూర్ణాంకం, ఏమీ నాకు తిరిగి ఇవ్వు, రద్దు కాదు. ఇంతలో, అది ఏ తీసుకోవాలని జరగబోతోంది ఇన్పుట్లను, కాబట్టి నేను రకమైన, ఇది ఎత్తివేశారు చేసిన. నేను GetPositiveInt ఏ ఇవ్వడం లేదు ఇన్పుట్, నేను నాకు దాని అవుట్పుట్ ఇవ్వాలని. ఆపై ఇప్పుడు ఏమి జరుగుతుంది? ఇక్కడ నేను ఒక వేరియబుల్ డిక్లేర్ ఎలా. నేను, లూప్ వెలుపల చేశాను మేము చివరికి చూస్తారు కారణాల కోసం, కానీ ఈ కేవలం ఇస్తుంది నాకు 32 బిట్స్ అని, n, మరియు నేను ముందు నిర్ణయించడానికి చేసిన వాటిని పూర్ణాంక నిల్వ. మరియు ఇక్కడ, నిర్మించడం ఉన్నప్పుడు ఆ ఉపయోగకరమైన మరియు ఎందుకు ఈ ఉంది. సాహిత్యపరంగా దీన్ని, n 1 కంటే తక్కువ అయితే. కాబట్టి ఏమి చూద్దాం. నేను, దయచేసి ముద్రించాలా నాకు సానుకూల Int ఇవ్వాలని. నేను అప్పుడు CS50 యొక్క ఉపయోగించి ఒక పూర్ణాంకానికి పొందుతారు పని మరియు n లో నిల్వ. ఆపై, ఏమి కోడ్ లైన్ బహుశా తార్కికంగా, తదుపరి అమలు అవుతుంది? ఏ లైన్ సంఖ్య? అవును, కాబట్టి 31. మీరు చేసిన వరకు మీరు ఈ తెలుసు కాదు చెప్పారు లేదా విధమైన అది ప్రతిపాదించే జరిగింది, కానీ ఆ నిజం. ఇది పైనుంచి వెళుతుంది ఆపై పునరావృతమైన ఉంచుతుంది. నేను సంఖ్య సే టైప్ చేస్తే 1 ప్రతికూల, 1 ప్రతికూల కంటే n తక్కువ? అవును. 1 ప్రతికూల 1 కన్నా తక్కువ ఎందుకంటే. కాబట్టి ఏం చేయాలి? నేను ఈ చేయ బోతున్నాను n 1 కంటే తక్కువ అయితే, నేను తిరిగి లైన్ 28 వెళ్ళండి వెళుతున్న. మరియు ప్రతి time-- మరియు యొక్క దీన్ని అమలు అనుమతిస్తాయి ఫంక్షన్ 1 కంపైల్ చేయడానికి, మరియు ఇప్పుడు ఫంక్షన్ 1 స్లాష్ డాట్. నేను ప్రతికూల 1 టైప్ చేస్తే, అంతే నా పదాన్ని ఉంచడానికి వెళుతున్న నేను ప్రతి ఎందుకంటే సహకరించింది వరకు నా ఇన్పుట్లను 1 కంటే తక్కువ కంటే తక్కువ 1 అయితే ఉంటే, నేను ఈ పనిని వెళుతున్న. నేను చివరకు 50 లాగా ఒక సంఖ్య ఇవ్వండి, అదృష్టవశాత్తూ, అది 50 ధన్యవాదాలు, చెప్పారు. ఎందుకు? N కంటే తక్కువ కాదు ఎందుకంటే వెంటనే 1, నేను, ఈ లూప్ లో ఇరుక్కోకుండా ఆపడానికి మరియు ఈ కొత్త కీవర్డ్ నేడు, తిరిగి, సాహిత్యపరంగా ఆ చేస్తుంది. సో నేను ఒక లో అమలు చేసిన భావం, GetString సమానం, నేను ఎక్కడ తిరిగి ఇవ్వడానికి చేస్తున్నాను ఎవరైతే, కొన్ని విలువ నాకు ఉపయోగిస్తోంది. ఇది ఉండాలి లేదు ఒక స్ట్రింగ్, అది ఒక పూర్ణాంకానికి ఉంది. శీఘ్ర, కాబట్టి ఒక సాధారణ ఉదాహరణకు, కానీ మేము వెంటనే చేస్తాము కొన్ని మరింత అధునాతన చూడండి ఇప్పటికీ వెర్షన్లు. నిజానికి, యొక్క ఒక పరిశీలించి వీలు return.c అని పిలుస్తారు సంఖ్యా ఒకటి. మరియు ఈ ఒక నిజానికి ఉంది కొద్దిగా సులభమైన. కాబట్టి ఈ ప్రోగ్రామ్ యొక్క ప్రయోజనం life-- యొక్క కంపైల్ మరియు అమలు అనుమతిస్తాయి, కాబట్టి డాట్ తిరిగి తయారు స్లాష్, return-- నోటీసు కార్యక్రమం కేవలం విలువ 2 క్యూబ్స్. ఇది హార్డ్ అర్ధరహిత వార్తలు కోడ్, అది ఏ ఇన్పుట్లను తీసుకోదు, కానీ మరొక ప్రదర్శించేందుకు చేస్తుంది నేను రాసిన చేసిన ఫంక్షన్. ఇక్కడ, నేను డిక్లేర్డ్ చేసిన ఒక వేరియబుల్, రకం Int, x అనే సంఖ్య 2 సమానంగా, పూర్తిగా ఏకపక్షంగా. ఈ కొన్ని మెత్తటి ముద్రణ ఉంది. ఇది x చెప్పారు ఇప్పుడు అటువంటి మరియు అటువంటి, cubing డాట్ డాట్ డాట్. మరియు మేజిక్ లైన్ 21 లో స్పష్టంగా ఉంది. నేను క్యూబ్ అనే ఫంక్షన్ కాల్ చేస్తున్నాను, నేను కాగితం ఒక షీట్ ఇవ్వడానికి చేస్తున్నాను అది మీద రాసిన సంఖ్య 2, మరియు ఏ విలువ, గణితశాస్త్ర, నేను బయటకు పొందడానికి అనుకుంటున్నారు? కేవలం ఒక వివేకం తనిఖీ? 8. కుడి? నేను 2 2, తిరిగి cubed అనుకుంటున్నారా 3 శక్తి, కాబట్టి 8 తిరిగి. కాబట్టి పేరు క్యూబ్ అమలవుతుంది? సరే, ఇక్కడ డౌన్ అమలు నోటీసు. మరియు ముందు వంటి, తార్కికంగా, కూడా వాక్యనిర్మాణం బహుశా అయినప్పటికీ మీరు అనేక చాలా కొత్త, నేను ఈ ఫంక్షన్ అనుకుంటున్నారా ఒక షీట్ నాకు తిరిగి అప్పగించండి అది ఒక పూర్ణాంకానికి తో కాగితం. కాబట్టి నేను ఒక పూర్ణాంకానికి కలిగి పేరు, ఏకపక్ష ఉంది కానీ సౌకర్యవంతంగా క్యూబ్ అనే. దానికి ఇన్పుట్, n ఉంది తద్వారా, పూర్ణాంక టైప్ నేను సంఖ్య లో పాస్ ఎలా కాగితం ఒక షీట్ మీద 2. ఆపై అది సి మద్దతు హాజరవుతారు గణిత, కాబట్టి మీరు సార్లు x యొక్క లేదు మీరు కేవలం చుక్క ఉపయోగించడానికి గుణకారానికి. మరియు ఈ n సార్లు n సార్లు తిరిగి కేవలం ఒక ఆరోపించింది విలువ n. కాబట్టి అక్కడ ఈ మొత్తం వెళ్తున్నారు? ఈ ఖచ్చితంగా ఒక ఉంది సుడిగాలి పర్యటన, భరోసా, సూపర్ విభాగాలలో మరియు సమస్య 1, సెట్ మీరు సంచరించింది వస్తారు ఈ అన్ని మరింత. మరియు సమస్య 1 సెట్ లో, మేము మార్పు చేస్తాము స్క్రాచ్ యొక్క గ్రాఫికల్ ప్రపంచం నుండి ఏదో మరింత కమాండ్ లైన్ C. లో కానీ మేము ప్రేరణ డ్రా చేస్తాము ఈ ఇక్కడ ఆట నుండి ఒకప్పటి, ఇందులో నుండి C మరియు ప్రామాణిక ఎడిషన్ ఉపయోగించి p సెట్ మీరు మారియో యొక్క పిరమిడ్ అమలు చేస్తాము. మరియు హ్యాకర్ ఎడిషన్ లో p సెట్, మీరు ఎన్నుకునే ఎంచుకుంటే, మీరు ఒక బిట్ మరింత అమలు చేస్తుంది రెండు శిఖరాలు తో పిరమిడ్ సవాలు. మీరు కూడా ఒక అమలు ఉంటాం అల్గోరిథం, ఒక అత్యాశ అల్గోరిథం. ఇది ఉంది అది మారుతుంది కొన్ని ఆసక్తికరమైన తర్కం విధానం వెనుక ఒక క్యాషియర్ యొక్క స్టేషన్ నడుస్తున్న మరియు వాస్తవానికి ఇవ్వడానికి ఎవరైనా తిరిగి మార్పు. బొత్తిగా అని ఒక అల్గోరిథం ఉంది సూటిగా, మీరు కూడా వాటిని మీరు మొదటి చదివినపుడు అకారణంగా సంగ్రహించడంలో దానిని నేను ఎల్లప్పుడూ చేసిన ఏమిటి తెలుసుకున్న నేను ఎవరైనా కొన్ని ఇచ్చాను ఏ సేపటి మీరు ఎల్లప్పుడూ అనుమతించే డబ్బు back-- సంఖ్య తగ్గించడానికి కాగితాలను లేదా మెటల్ నాణేలు మీరు తిరిగి వినియోగదారుకు ఇవ్వడానికి చేస్తున్న. మరియు ఈ, కోర్సు యొక్క, బలవంతపు ఉంది మీరు CVS లేదా whatnot వెళ్ళండి ఉంటే ఎందుకంటే, మీరు చేతివాటం ఉండాలనుకుంటున్నాను లేదు వాటిని యొక్క మొత్తం బంచ్ లేదా పెన్నీలను యొక్క మొత్తం బంచ్. మీరు తక్కువ కావలసిన నాణేలు, బహుశా, సాధ్యం. చివరిగా, మీరు కూడా సవాలు అవుతారు నీటి ప్రపంచంలో డిబిల్ మరియు వాస్తవానికి గణ్యతను పొందండి ప్రవాహం రేట్లు మధ్య ఒక మ్యాపింగ్ కోసం, ఒక షవర్ లో, నీటి ఇష్టం, కేవలం ఎంత నీరు ఉపయోగిస్తారు. అందులో పరస్ఫూర్తి ఇక్కడ ఈ క్లిప్ ఉంటుంది, మేము తో ముగుస్తుంది చేస్తాము దీనిలో కేవలం 60 సెకన్లలో, ఆ ఒక చిత్రాన్ని నింపేశారు తక్కువ ప్రవాహం షవర్ తలలు. [వీడియో ప్లేబ్యాక్] -అన్ని కుడి. నేను ఇక్కడ ప్రతిదీ వచ్చింది. నేను, తుఫాను F సిరీస్ వచ్చింది సులభంగా జయించవీలుకాని కీడు, Jetflow, స్టాక్హోమ్ Supersteam, మీరు పేరు. -మరియు మీరు ఏమి సిఫార్సు చెయ్యాలి? -What మీరు శోధిస్తున్న? -Power మనిషి. పవర్. లాంటి Silkwood. -ఆ వికిరణానికి వార్తలు. -ఆ సరియే. ఈ సంఘంలో ఏమి ఉంది -ఇప్పుడు? -ఆ కమాండో 450 వార్తలు. నేను ఒక అమ్మరు. -కాని మేము ఏమి వార్తలు. ఇది ఒక కమాండో 450 వార్తలు. -కాదు నాకు నమ్మకం. ఇది మాత్రమే సర్కస్ లో మాత్రమే ఉపయోగిస్తారు. ఇది ఏనుగులు కోసం మాత్రమే. ఏదైనా చెల్లించటానికి -I'll. జెర్రీ గురించి -What? -అతను ఆ నిర్వహించడానికి కాలేదు. అతను సున్నితమైన వార్తలు. అవును. [END ప్లేబ్యాక్] డేవిడ్ జే మలన్: అన్ని కుడి. ఆ CS50 ఉంటే ఉంది. వచ్చే వారం మీరు చూస్తారు. SPEAKER 1: [? స్కల్లీ?], [? ఇయాన్?] చాలా ఈ outro ప్రణాళికగా మీరు అబ్బాయిలు ఏమి ఆలోచన చేశారు? SPEAKER 2: Well, మేము ఇచ్చాను ఆలోచన యొక్క వివిధ మరియు మేము ఉత్తమ మార్గం అని అనుకుంటున్నాను ఆలోచన SPEAKER 3: నేను మే? SPEAKER 2: అవును. అన్ని ద్వారా, నిజానికి. SPEAKER 3: నేను అనుకుంటున్నాను మేము మా ఆలోచన అప్ సంకలనం చేయవచ్చు ఒక word-- ఏమీ outros కోసం. డేవిడ్ జే మలన్: నథింగ్? SPEAKER 3: ఏమీ లేదు. డేవిడ్ జే మలన్: ఆ అర్థం ఏమిటి? SPEAKER 3: outros ఏమీ చేయబోతున్నారు. SPEAKER 2: వెల్, నా ఉద్దేశ్యం, తత్వశాస్త్రం, నా ఉద్దేశ్యం, ఏమీ ఎల్లప్పుడూ ఏదో ఉంది. SPEAKER 1: సో what's-- ఆవరణలో ఏమిటి? SPEAKER 3: సో జీవితం వంటిది. OK. మీరు రోజు ఏం చేసావ్? డేవిడ్ జే మలన్: నేను లేచి కలిగి అల్పాహారం, మరియు పని వచ్చింది. SPEAKER 3: ఒక outro వార్తలు. SPEAKER 2: నేను అర్థం కానీ, కాదు ఏదో ఉన్నారు అతన్ని జరిగే SPEAKER 3: లేదు, లేదు, లేదు, లేదు. ఏమీ జరగలేదు. SPEAKER 1: సో ఎందుకు మేము చూస్తుండగానే? SPEAKER 3: ఎందుకంటే ఇది CS50 కోసం ఒక outro వార్తలు. డేవిడ్ జే మలన్: ఇంకా.