Lekce 1.18
Nßvrh a zßpis programu


p°edchozφ lekce (1.17) obsah kurzu nßsledujφcφ lekce (1.19)

V p°edchozφch lekcφch jsme se seznßmili se zßkladnφmi p°φkazy systΘmu a strukturou programu. Poznali jsme, ₧e program tvo°φ posloupnost operacφ, v∞tvenφ programu podle podmφnek a opakovßnφ Φßstφ programu. Poznali jsme, ₧e program tvo°φ i data, kterß program zpracovßvß. Nynφ by bylo vhodnΘ seznßmit se s tφm, jak by m∞l nov² program vznikat.

JeÜt∞ d°φve, ne₧ zaΦneme psßt nov² program by jsme si m∞li ujasnit po₧adovanou Φinnost programu. NejlΘpe tak, ₧e se seznßmφme nejprve s tφm, jakΘ v²sledky nßm mß program poskytnout. Podle toho si musφme zadat poΦßteΦnφ podmφnky a vstupnφ hodnoty. DalÜφm krokem by ji₧ m∞l b²t rozklad problΘmu tak, aby jsme si v blocφch definovali Φinnost programu od poΦßteΦnφch hodnot a₧ k po₧adovan²m v²stupnφm hodnotßm. Pokud nap°φklad zjistφme, ₧e musφme nejprve provΘst v²poΦet vstupnφch hodnot a potom v²slednΘ hodnoty zobrazit, m∙₧eme ji₧ zaΦφt psßt kostru programu:


Jazyk KLONDAIK: begin vypocet; zobrazeni; end

Jazyk BONANZA: Sub Main() vypocet zobrazeni End Sub

Tφm mßme souΦasn∞ zadßny jmΘna procedur, kterΘ musφme naprogramovat. Dßle ji₧ budeme provßd∞t postupn∞ rozklad dφlΦφch problΘm∙ na dalÜφ podproblΘmy. V p°φpad∞ slo₧it²ch zadßnφ se m∙₧e dokonce stßt, ₧e nejsme schopni sestavit ihned program pro vy°eÜenφ dφlΦφch problΘm∙, ale musφme znovu definovat rozklad problΘmu na menÜφ souvisejφcφ posloupnΘ akce. Uveden²m zp∙sobem se sna₧φme rozlo₧it poΦßteΦnφ zadßnφ problΘmu do postupn²ch krok∙, kterΘ dßle zjem≥ujeme. Na konci by jsme se m∞li dostat do fßze, ₧e °eÜenφ ji₧ zapisujeme p°φmo v programovΘm jazyce. Soub∞₧n∞ s tφm up°es≥ujeme po₧adovanß data a jejich ulo₧enφ v prom∞nn²ch definovanΘho typu.

V²Üe uvedenΘmu zp∙sobu °eÜenφ program∙ se °φkß metoda nßvrhu programu shora dol∙. To proto, ₧e od celkovΘho zadßnφ p°echßzφme postupn∞ k jednotliv²m dφlΦφm ·kol∙m, kterΘ nakonec zadßvßme v programovΘm jazyce.

Velmi d∙le₧itΘ je takΘ zaznamenßnφ postupu °eÜenφ ve form∞ poznßmek. Nynφ se vßm zdß vÜechno jasnΘ. Pokud se vÜak dostanete k programu po delÜφ dob∞, nemusφ vßm b²t ihned jasnΘ, proΦ jste postupovali uveden²m zp∙sobem. Zaznamenßvejte si proto maximum poznßmek k °eÜenφ problΘmu. Poznßmky mohou b²t v programu dvojφho druhu. Pokud uvedeme na zaΦßtku °ßdky dv∞ lomφtka za sebou, bude systΘm cel² °ßdek ignorovat a bude jej pova₧ovat za poznßmku. Takto je mo₧nΘ nap°φklad psßt delÜφ komentß°e, nebo p°i r∙zn²ch pokusech m∙₧eme zneplatnit cel² °ßdek programu, ani₧ by jsme jej museli vymazßvat.

Druhou mo₧nostφ zßpisu vlastnφho komentß°e do programu je pou₧itφ slo₧en²ch zßvorek. VÜe, co je v programu uvedeno mezi levou a pravou slo₧enou zßvorkou je pova₧ovßno za komentß° a je systΘmem ignorovßno. Tento druh poznßmek je v²hodnΘ pou₧φvat na konci °ßdku pro zßpis popisu provedenΘ Φinnosti °ßdku. Takto je mo₧nΘ oznaΦit jako poznßmku i text uprost°ed °ßdku, nebo n∞kolik °ßdk∙ najednou.

P°i zßpisu programu se sna₧te dodr₧ovat grafickou ·pravu programu, kdy jsou t∞la blok∙ odsazena od svΘho zßhlavφ o n∞kolik znak∙. Takov² program je potom i na prvnφ pohled lΘpe Φiteln² a snßze se hledajφ p°φpadnΘ chyby.

SystΘm nerozliÜuje v programu malß a velkß pφsmena. P°esto bude vhodnΘ, pokud budete dodr₧ovat jednotnou dßle popsanou ·pravu. JmΘna procedur a funkcφ p°ebφranß z knihoven systΘmu je vhodnΘ zapisovat tak, aby v₧dy prvnφ pφsmeno slova bylo velkΘ. Slo₧en²m slovem se rozumφ jmΘno slo₧enΘ z n∞kolika slov, mezi nimi₧ nesmφ b²t mezera. Nap°φklad ImageInit, ConsoleClear apod. Stejn²m zp∙sobem je vhodnΘ pojmenovat vlastnφ vφceznakovß jmΘna deklarovan²ch prom∞nn²ch.


p°edchozφ lekce (1.17) obsah kurzu nßsledujφcφ lekce (1.19)

OZOGAN, 1 Mßje 97, 460 01 Liberec
tel.,fax: (048) 52 28 338, e-mail: info@ozogan.cz