ZAMYLA CHAN: Tas ir man, Zamyla.
Šodien Mario, mēs ejam, lai būtu zīmēšanas pusi piramīdu Mario
uzkāpt.
>> So parunāsim par mūsu to-do ir par šo problēmu.
Mēs ejam, lai vēlēties lai ātri un apstiprināt
lietotājs par derīgu ieguldījumu, kā augstu viņi vēlas Mario piramīda būt.
Un tad mēs ejam, lai pievērstu to.
Tātad, pieņemsim sāktu ar pamudinot un apstiprināšanu lietotājam par viņu ieguldījumu.
>> Mēs varam izmantot CS50 bibliotēka Function
nokļūt int, kas nodrošinās, ka lietotājs ievada veselu skaitli.
Jebkuras pozitīvi veseli skaitļi, negatīvs veseli skaitļi, skaits 0 visi ir godīga spēle.
Pretējā gadījumā lietotājam tiks piedāvāts mēģiniet vēlreiz, kamēr tie ievadi derīgu skaitlim.
Tagad gan get int dara daudz darba par mums
lai nodrošinātu, ka lietotājs dod mums vesels skaitlis,
mums vēl ir nepieciešams piemērot dažus papildu ierobežojumi, kas.
Galu galā, mēs nevaram būt Mario kāpšana puse piramīda augstuma negatīva 12.
>> Papildus tam, ka problēma specifikācija
saka, ka mēs varam tikai ļauj Mario kāpt
piramīda no augstuma starp 0 un 23.
Labi, lai tas nozīmē, ka mums ir nepieciešams nepārtraukti nekavējoties lietotājam
lai dotu mums derīgs numuru un tikai turpinās
kad viņi devuši mums derīgu augstumu.
Kā mēs to darām?
>> Nu, nepārtraukti procesi dod mums ideja loops-- darīt kaut ko
atkārtoti.
Viena cilpa C kā brīdi cilpa, kas nepārtraukti
izpildīt korpusu cilpa tik ilgi, kamēr dotais nosacījums novērtē patiess.
Tiklīdz šis nosacījums novērtē to viltus,
programma doties uz kāds nāk pēc tam.
Tāpēc, kamēr cilpas ir viens no veidiem, kā nodrošinot, ka mēs nepārtraukti
nekavējoties lietotājam par derīgu ieguldījumu.
Un, kad tie dod mums derīgu ieguldījumu, mēs pāriet kāds nāk nākamo.
Mēs zinām, ka mēs ejam lūgt lietotājs ievadei vismaz vienu reizi.
Tāpēc tagad mēs nonākam pie māsa kamēr cilpa, kas ir darīt, kamēr cilpa.
>> Darīt, kamēr cilpas veiks ķermenis no cilpas vismaz vienu reizi.
Tātad bez pārbaudīt stāvokli, tā veiks ķermeņa cilpas.
Un tad pārbaudīt stāvokli, lai redzētu vai tas ir nepieciešams atkārtot sevi.
Tas nāk ērts, ja mēs apstiprināšanu lietotāja ievadi.
Mēs zinām, ka mēs ejam uzdot viņiem vismaz vienu reizi.
Tātad darīt, kamēr cilpa varētu izskatīties kaut kas līdzīgs šim.
Mums ir vesels skaitlis n.
Un iekšpusē do kamēr cilpa, mēs uzreiz
nekavējoties lietotājam par veselam skaitlim.
Ja n ir nederīgs, tad mēs ātri viņiem atkal un atkal un atkal, līdz tie
dod mums, kas ir spēkā skaitlim.
Visbeidzot, kad n ir derīga ieejas, mēs doties uz pārējo mūsu programmā.
>> So iesim atpakaļ uz spec un pārbaude kādi nosacījumi ir derīga ieejas
būs.
Derīgi augstumi gatavojas būt starp 0 un 23, ieskaitot.
Tātad nederīgs augstumi gatavojas būt mazāks par 0 vai vairāk nekā 23.
Tāpēc atcerieties, lai izstrādātu Jūsu stāvoklis uzmanīgi,
zinot, ka ar nosacījumu do kamēr cilpa
vajadzētu būt, bet n ir nederīgs.
Tagad tas nav būs vienkāršs viena Būla izteiksme.
Mums nāksies apvienot divi dažādi izteicieni
lai visu mūsu stāvokli.
>> Tātad pieņemsim tikai apskatīt patiesības galda es esmu jau devis jums mājienu, ka mēs esam
būs darīšana ar divām Booleans.
Tātad, šeit ir patiesība galda, kur es ir divas Booleans-- Būla 1 un 2.
Tātad mums ir iespēja novērtēt bool1 un bool2 vai bool1 vai bool2.
Un tikai tad būs taisnība, ja abas Booleans novērtēt patiess, bet visi
vai būs true tik ilgi, kamēr viens no divi Booleans novērtē patiess.
Labi, tāpēc veltiet laiku, pauzes šis video un sagremot šo patiesību tabulu.
Es būšu šeit gaida.
Kad tu atgriezīsies, skatiet ja jūs varat gabals kopā
Būla izteiksme, lai jūsu stāvoklis n nederīgs ieejas.
>> Tāpēc tagad, ka mums ir derīgs lietotāja ievadi, pieņemsim
iet uz priekšu un runāt par to, kā mēs varētu izdarīt pusi piramīdu.
Šeit, šajā vienkāršu teksta redaktoru, Esmu novilkta kreisās jāsaskaņo piramīdu.
Bet mēs zinām, ka mums ir nepieciešams mūsu piramīda, kas labi jāsaskaņo.
Tātad, kā es varētu darīt?
Nu, es varētu mēģināt virzīt viss uz sāniem
, tikai liekot nedaudz raksturs starp.
Un tad, lai nākamais line, es esmu gatavojas nodot
dažas vairāk rakstzīmes push to kopā, un further-- tā tālāk un tā forth--
kamēr es ir tiesības jāsaskaņo piramīdu.
Tātad mums ir tiesības līdzināšanas piramīdas, bet tas neizskatās tik liels ar punktiņiem.
Bet mēs joprojām vēlaties apgalvo, ka skaistu atstarpi.
Tāpēc es esmu gatavojas burtiski ievietot dažas telpas.
>> Tā vietā, trīs punkti, es ņemšu likts viens, divi, trīs telpas.
Otrajā rindā.
Es nolikšu vienu, divas telpas.
Un priekšpēdējā line, tikai viena telpa.
Un šeit man ir tiesības jāsaskaņo piramīdu.
No darot piemēru tekstā redaktors, mums ir ideja par modeli
ka mēs izmantosim, lai pievērstu pusi piramīdu.
Par katru pēc kārtas, ko mēs darījām ir mums tips dažas telpas,
un tad drukāti daži hashes, un tad drukāti
Enter taustiņu, kas rada jaunu līniju.
Tāpēc tagad, ka mums ir, ka, iesim vienu soli tālāk un atrast modeli.
>> Tāpēc es esmu gatavojas teikt, lai interese par šo piemēru,
mums ir darīšana ar augstumu 8.
Pirmajā rindā nāksies divi hashes Tas izriet septiņas vietas.
Par second-- Trīs hashes, sešas atstarpēm.
Trešās row-- četri hashes, pieci spaces-- tā tālāk, un tā tālāk
kamēr mēs ar n-rindu.
Tātad, es lūdzu jūs par n-kārtas, cik hashes mēs nāksies
un cik daudz vietas?
Tātad, tas ir atkarīgs no jums, lai noskaidrotu formula pārstāvēt cik hashes
un cik daudz vietas ir nepieciešami n-rinda, ja jums ir kāda augstumu.
>> Tagad, kad jūs norādītas šo out, jābūt uzmanīgiem, kā jūs indeksēšanu.
Ko es domāju ar šo ir tas, ka ikdienā mums visiem
sākt skaitīšanas, parasti 1.
Bet CS50 un datorzinātnē vispār, mēs esam 0 indeksēti.
Tātad pirmais rindā būtu n 0, nevis 1.
Esiet uzmanīgi ar šo, kad jūs esat mēģina izdomāt savu modeli.
Tāpēc tagad iesim atpakaļ uz to, kā mēs ejam, lai pievērstu mūsu piramīdu.
Par katru pēc kārtas, mēs esam gatavojas vēlaties drukāt atstarpes, drukāt hashes,
un pēc tam izdrukāt jaunu līniju.
Mājienu šeit ir Vārds "par" katru rindu.
In C, mums ir būvēt sauc par cilpu,
kurš sastāv no amonija nitrāta inicializācijas, nosacījums, atjaunināšana,
un ķermeņa cilpas.
>> Teikt, es gribēju teikt, sveiki pasaule, 50 reizes, mani uz cilpas
varētu izskatīties kaut kas līdzīgs šim.
Es sāktu manu skaitli līdz 0.
Nosacījums ir tāds, ka es, ir mazāks nekā 50.
Un tad mans atjauninājums ir tikai palielināšanai I pa vienam katru reizi.
Mēs varam arī izmantot cilpas atkārtot pār lietām.
Ievērojiet šeit, kā mums nav grūti kodēta numuru,
bet ievietots mainīgo augstums vietā uz stāvoklī.
Tātad, ko es daru šeit es esmu atkārtojot pār katru rindu piramīdas.
Es varu darīt kaut ko par katru rinda ķermeņa iekšpusē manu cilpu.
>> Ko mēs darām iekšienē ķermenis cilpa?
Nu, kā mēs jau teicu, mēs esam drukāšanas atstarpes un mēs drukāšanas hashes
un mēs drukāšanu jaunu līniju.
Tāpēc mans ārējais cilpas izskatās šādi.
Es atkārtot pār katru rindu piramīdas, izmantojot,
Šajā gadījumā, augstums kā mainīgā kas saglabā augstumu piramīdas.
Ķermeņa iekšpusē šīs cilpas, es esmu gatavojas drukāt telpas atkārtoti, print
hashes atkārtoti, un pēc tam izdrukāt jaunu līniju.
>> Tāpēc tagad, izmantojot visas koncepcijas, kas Es esmu runājis par šo arkveida,
Jums vajadzētu būt iespējai, lai ātri lietotāja ievadi, apstiprināt, ka ievadi,
un pēc tam izdarīt pusi piramīdu.
>> Mans vārds ir Zamyla, un tas ir CS50.