[Powered by Google Translate] Tommy MACWILLIAM: Le të flasim në lidhje me sythe, një nga më të zakonshme Programimi ndërton ne do të shohim të gjithë CS50. Ne do të përdorim sythe kur ne duam për të kryer një detyrë më shumë se një herë. Për shembull, ne mund të dëshironi të shtypura "Hi" apo të shtypura 100 herë nga të gjitha shkronjat e alfabetit. Në të dyja këto raste, ne kemi një gjë duam të bëjmë herë të shumta, të shtypura diçka jashtë. Megjithatë, ajo që ne të shtypura nga çdo herë mund të ndryshojnë. Kështu që ne mund të bëjmë diçka pak të ndryshme në secilën përsëritje, apo të drejtuar përmes, e lak. Ne do të shohim tre lloje të ndryshme të sythe në C, ndërsa unazore, sythe për të, dhe të bëjë duke sythe. Edhe pse këto tri lloje të sythe kanë një sintaksë të ndryshme, idetë prapa tyre janë të njëjta. Ne do të përcaktojë disa bllok i kodit brenda formatimin e teksteve kaçurrel, quhet trupi i lak, se ne duam që të ekzekutohet disa herë numrin e. Duke ndryshuar vlerat e variablave të përdorura në trup, ne mund të bëjë loop ynë të bëjë diçka të ndryshme çdo herë është e drejtuar. Me ndonjë lak kemi shkruar, ne gjithashtu do të duhet të vendosë kur lak do të ndalet running. Nëse ne nuk e bëjmë këtë, atëherë kompjuteri ynë i besueshëm do të vazhdojë për të drejtuar këtë lak derisa të vrasim programin. Në Scratch, ne mund të përdorni përsëritje n herë bllokojë të krijuar një lak. Të gjitha të pjesëve brenda një bllok që tha përsëritje 10 do të kandidojë 10 herë. Dhe atëherë, ne do të lëvizin për në copa pas atij lak. Pra, gjendja jonë ndaluar ishte thjesht, ky bllok ka qenë drejtuar 10 herë. Pra, le të rikrijuar këtë C. Në mënyrë që të sigurohet Scratch se copa brenda bllokut të përsëritur janë ekzekutuar saktësisht 10 herë, Scratch duhet të mbajnë gjurmët e çdo Ekzekutimi i bllokut të përsëritur. Të mbajnë gjurmët e sa herë trupi ynë ka qenë loop ekzekutuar, le të krijojë një ndryshore të quajtur i. Ne do të fillojë i zbres në zero, pasi lak tonë nuk është drejtuar ende. Në rregull Tani ne do të përdorim fjalen ndërsa të nisem lak tonë. Tani ne do të duhet të kuptoj se kur lak ynë do të ndalet, por le të largohen këtë tani për tani dhe pastaj të kthehen në atë. Dakord. Brenda lak tonë, le të vetëm të shkruar një mesazh jashtë, si "Hi". Ne mund të përdorni funksionin printf për këtë. Dakord. Kështu që tani ne do të regjistroni se një përsëritje e trupit lak ka janë ekzekutuar. Ne mund ta bëjë këtë duke shtuar 1, ose bën rritjen, kundër ynë variabël, i. Për ta bërë këtë, ne mund të them unë është e barabartë për të i plus 1, ose më shumë thjesht, unë plus plus. Madhe. Deri tani ne mund të shohim se çdo herë loop jonë është e drejtuar, tona ndryshueshme counter shkon deri nga një. Pra, ne e dimë saktësisht se sa iterations kemi drejtuar deri më tani. Pas një përsëritje e lak, vlera jonë e unë do të jetë 1. Pas dy iterations, unë do të jetë 2. Dhe pas 10 iterations, unë do të jetë 10. Pra, nëse ne duam të drejtuar këtë lak saktësisht 10 herë, pastaj kjo është kur ne duam të ndaluar. Pra, ne duam të drejtuar këtë lak, ndërsa unë është më pak se 10, dhe kjo është pikërisht ajo që ne do të shkruaj, ndërsa unë është më pak se 10. Kjo gjendje duket ashtu si ne kushtet e përdorura në qoftë se blloqe tjetër. Pasi trupi i lak sonë ka qenë ekzekutuar, programi ynë do të hidhen përsëri deri në gjendjen rampave. Nëse gjendja është e vërtetë, atëherë trupi i lak do të kandidojë përsëri. Nëse gjendja nuk është më e vërtetë, atëherë lak ynë nuk do të jetë drejtuar më dhe do të lëvizin për në vijën e ardhshme të kodit nën lak tonë. Dakord. Pra, le të marrin një vështrim në një lloj të dytë të loop, për lak. Tjetra me fjalen ndërsa, në kllapa, kemi pasur një gjë, kushti që duhet të jetë e vërtetë për Trupi lak për të kandiduar. Kjo do të thotë kemi pasur për të krijuar ndryshore tonë counter jashtë e lak dhe mos harroni të ardhura atë në një pikë brenda i lak. Header për tonë për lak, në anën tjetër, ka tre pjesë, secila prej të cilave do të jenë të ndara me pikëpresje. Në të tretën tonë të parë, ne mund të deklarojë çdo counter apo ndihmëtar Variablat ne do të donim për të përdorur në lak tonë. Në praktikë, kjo mund të jetë me të vërtetë të dobishme. Ne me të vërtetë nuk kanë nevojë për atë variabël, unë, pasi kohë tonë loop ka drejtuar, kështu që ne me të vërtetë nuk duhet të deklarojnë atë jashtë lak. E treta e dytë do të jetë kushti që duhet të jetë e vërtetë për të trupit për të ekzekutohet përsëri, ashtu si në lak tonë, ndërsa. Në të tretën tonë të fundit, ne mund të kandidojë një deklaratë që do të jetë ekzekutuar pas çdo përsëritje të lak, kështu që ne nuk kemi për të ndërtuar atë në trup lak. Pra, le të shkruajë një për lak që numëron deri 5-1. Ne do të fillojë me fjalen për. Ne mund të krijojë një ndryshore numëruesi i parë, të cilin ne do të vendosur në 5 këtë kohë që ne jemi duke numëruar poshtë, ndjekur nga një pikëpresje. Tjetra është gjendja jonë, të cilat ne do të kthehen për të. Së treti, ne do të donim për pakësim ndryshore tonë counter pas secili përsëritje e lakut. Pra, në vend se duke thënë se unë plus plus, ne do të të them unë minus minus. Dakord. Pra, ne duam të trupit lak për të kandiduar, ndërsa unë ende më e madhe se 0. Në trupin e lak, le të shtypura nga vlera e i. Për ta bërë këtë, ne do të përdorim funksionin printf, duke përdorur d% placeholder. Mos harroni, se placeholder do të zëvendësohet me Vlera e i. Së fundi, le të shtoni një deklaratë pas jonë për lak. Kur ne të drejtuar këtë lak, unë do të nisem në 5, mënyrë 5 do të shtypet. Pasi i merr në 0, gjendja vazhdim, i është më e madhe se 0, nuk do të mbajë. Pra lak ynë do të ndalojë ekzekutimin, dhe ne do të shohim Deklarata pas lak. Pra, le të drejtuar këtë kod. Së pari, ne do të hartojë një countdown.c me të bërë numërimin. Tani, ne mund të drejtuar këtë kod me numërimin. /. Në të dy sythe kohë dhe për sythe, vazhdimi ynë kusht do të kontrollohen para trupit i lak është ekzekutuar. Kjo do të thotë se, nëse gjendja ynë nuk është fillimisht vërtetë, atëherë trupi i lak tonë kurrë nuk do të kandidojë. Pra, kjo është nganjëherë e dobishme për të kontrolluar gjendjen pas Trupi i lak në vend se para saj. Pra, le të shkruajë një lak të menjëhershëm të përdoruesit për një numër derisa një numër pozitiv është furnizuar. Nëse përdorues inputet një numër negativ, ne do të duan të pyesni ata për një numër tjetër. Pra, ne do të duam që ky të shpejtë që të jetë brenda Trupi off lak. Megjithatë, kur lak është drejtuar për herë të parë, përdoruesi nuk ka na dha numrin ende. Pra, kjo nuk ka kuptim për të parë nëse kjo është pozitive. Në vend të kësaj, ne do të dëshironi të kontrolloni numrin e pas trupin e loop është drejtuar. Ne mund ta bëjmë këtë me një bëni ndërsa lak. Së pari, ne do të krijojë një ndryshore, N, që do të mbajë input të përdoruesit. Tani ne do të përdorim fjalen bëni, formatimin e teksteve kaçurrel ndjekur nga se do të fillojë off trupin e lak tonë. Në trup, ne mund të shkaktonte përdorues për një numër me GetInt funksion. Tani, ne do të duan trupin e këtij lak për të ekzekutuar përsëri nëse përdoruesi shtypur një numër negativ, kështu që ne do të thonë, ndërsa n është më pak se 0. Njoftim pikëpresje këtu pas deklaratës ndërsa. Pra, le të drejtuar këtë kod. Së pari, ne do të hartojë këtë me të bërë pozitive. Tani ne mund të drejtuar programin me. / Pozitive. Nëse ne japim këtë program një numër negativ, si negative 4, atëherë ne do të nxitet përsëri për një numër që nga viti i Gjendja e bëjmë, ndërsa loop ishte e vërtetë. Pasi japim një numër pozitiv, si 8, atëherë Gjendja e bëjmë, ndërsa lak nuk do të jetë e vërtetë. Pra lak nuk do të ekzekutohet përsëri. Dhe kjo është ajo për të tre llojet e sythe ne do të përdorim në C. Emri im është Tommy, dhe kjo është CS50.