Skôr než budeme programovať musíme si povedať, čo to vlastne programovanie je. Obyčajnú odpoveď vie dať každý: Programovanie je predsa umenie písať programy pre počítač. Takáto odpoveď je pravdivá len sčasti, pretože ponecháva všetky podstatné otázky bokom. Nehovorí totiž vôbec nič o tom, prečo je treba programy písať, aké úlohy možno pomocou nich riešiť, s akými problémami sa pritom stretávame.
Musíme teda začať inak. Skúsme si povedať, čo je program. Asi najlepšou odpoveďou, ktorú sme momentálne schopní dať je táto: Program je predpis, podľa ktorého je počítač schopní prevádzať výpočty nejakého algoritmu. Pojem program, ktorý každý pozná sme nahradili ne-zrozumiteľným slovom algoritmus.
2.1 Čo je algoritmus?
Všetci máme aj keď si to možno neuvedomujeme, s konkrétnymi algoritmami bohaté skúsenosti. Denne totiž prevádzame celý rad činností, ktoré sme sa kedysi naučili. Algoritmus nie jen nič iné ako návod, ktorým sa riadime, aby sme vyriešili nejaký problém.
2.2 Overovanie správnosti algoritmu
Či sa nám to už páči alebo nie, počítače prenikajú stále viac do širších sfér života spoločnosti. Tak sa postupne stále viac vecí stáva závislých od správnej funkcii mnohých algoritmov. Preto je dnes problematika overovania správnosti algoritmov tak dôležitá, niekedy doslova životne. Spomeňme si napríklad, koľkokrát sme v novinách či v televízii stretli so správou o poruche dopravnej, kozmickej či vojenskej techniky vinou chyby v riadiacom programe.
Pre dokazovanie správnosti algoritmu neexistuje a asi ani nemôže existovať žiadna univerzálna metóda zaručujúca úspech. Teoreticky bolo rozpracovaných množstvo metód. Väčšinu z nich však nemá zmysel detailne vykladať. Preto sa zameriame na niektoré hlavné myšlienky z tejto problematiky. Prvé rozdelenie vzniklo z nasledujúcej úvahy: Algoritmus je nesprávny, pokiaľ jeho výpočet na niektorých dátach vôbec neskončí alebo skončí, ale s nesprávnym výsledkom. K dôkazu správnosti teda stačí dokázať, že nemôže nastať ani jeden z týchto prípadov. To nás vedie k zavedeniu dvoch pojmov. Budeme hovoriť, že algoritmus má vlastnosť konečnosti, keďže jeho výpočet pre všetky vstupní dáta skončí. Potom budeme hovoriť, že algoritmus je čiastočne správny, keďže sa nemôže stať, že by jeho výpočet na niektorých prípustných vstupných dátach skončil nesprávne. Inými slovami, ak výpočet skončí, potom musí skončiť správne. Ak ma algoritmus súčasne obidve tieto vlastnosti. Potom naozaj musí byť správny.
2.3 Od algoritmu k programu
Teraz si povieme nejaké základné pojmy z oblasti počítačov a programovacích jazykov, ktorým budeme pri písaní programov potrebovať rozumieť. Vráťme sa teraz k otázke, ktorú sme si položili na začiatku: Čo je to programovanie? Teraz už na §u môžeme dať lepšiu odpoveď. Budeme programovanie chápať ako riešenie úloh pomocou počítača. Práca programátora začína teda tým, že sa musí v dostatočnej miere zoznámiť s oblasťou, z ktorej je úloha, ktorú má riešiť. Ďalšou fázou je presná formulácia úlohy. Programátor pritom musí veľmi úzko spolupracovať s tým kto úlohu zadáva. Ak už je úloha dostatočne presne formulovaná, hľadá programátor vhodný algoritmus pre jej riešenie. Po jeho nájdení by sa mal pokúsiť o verifikáciu algoritmu. Tieto prípravné fázy sú pre konečný úspech veľmi podstatné a chyby, ktorých sa v nich dopustíme sa v ďalších fázach len ťažko napravujú.
Pre zápis algoritmu môže veľmi dobre poslúžiť aj prirodzený jazyk, prípadne doplnený o vhodnú matematickú symboliku. Zápis algoritmu nemá väčšinou takú formu, ktorú možno „predložiť počítaču“. Naviac sa zápisy algoritmov pre riešenie rôznych úloh značne líšia. Práca programátora preto nemôže končiť nájdením správneho algoritmu, ale je potrebné nájsť takú formu jeho zápisu, ktorá by bola „zrozumiteľná pre počítač“. Takémuto zápisu sa hovorí program. Pri písaní programu je treba ešte vyriešiť celý rad detailov, ktorými sa nie je možnosť zaoberať počas návrhu algoritmu. Niekedy sa môže stať, že si tieto detaily vynútia úpravu algoritmu. Pre zápis algoritmu sa nepoužíva prirodzený jazyk, ale špeciálne „programova-cie jazyky“ vytvorené pre tieto účely.
2.4 Programovacie jazyky
Počas vývoja programovania bol vyvinutý celý rad programovacích jazykov, takže nie je jednoduché ani pre odborníka sa v tejto oblasti vyznať. Nemá preto žiadnu cenu, aby sme si zaťažovali hlavu konkrétnymi znalosťami mnohých z nich. Aj pre laika, ktorý sa programovaním nechce zaoberať, ale chce o ňom získať seriózne vedomosti, je však dôležité vyznať sa v najrôznejších programovacích jazykoch. Programovací jazyk je totiž len nástroj, nič viac a nič menej.
BASIC vznikol vlastne obalením kalkulačkových príkazov a prípadne aj prostriedky pre (grafický) vstup a výstup. Nejde vlastne o jeden programovací jazyk, ale o celú rodinu jazykov veľmi rozdielnej úrovne. Na mnohých mikropočítačoch je basic jediným programovacím jazykom a niekedy na nich nahradzujú aj operačný systém. Hlavné oblasti použitia basicu sú jednoduché programy s prevažujúcimi numerickými výpočtami.
V Amerike sa hlavne pre vyučovanie malých detí používa jazyk LOGO. Ide opäť o celú rodinu jazykov rôznej výrazovej sily. Najrozšírenejšia a najznámejšia časť jazyka je tzv. korytnačia grafika, ktorá slúži ku kresleniu obrázkov.
FORTRAN je vlastne prvým skutočným programovacím jazykom. Napriek mnohým nedostatkom je stále živý a stále sa vyvíja. Používa sa prevažne pre numerické vedecko-technické výpočty a dnes v ňom pre túto oblasť existujú veľmi rozsiahle archívy podprogramov.
COBOL bol vytvorený pre aplikácie v mechanizácii administratívy, má preto značne rozvinuté prostriedky pre prácu s dátami na úkor riadiacich prostriedkov. V oblasti, pre ktorú bol navrhnutý sa stále používa, ale mimo nej nemá prakticky význam.
Na Fortran bezprostredne naviazal jazyk PL/1, podporovaný a rozširovaný predovšetkým firmou IBM. Veľmi dobrá väzba na ostatné programové vybavenia počítačov IBM je tiež jeho najväčšou výhodou. Napriek podpore veľkej firmy sa však jazyk príliš neujal.
Programovací jazyk ALGOL 60 bol prvým systematicky navrhnutým programovacím jazykom. Jeho prednosti a nedostatky sú odrazom toho, že jeho tvorcovia boli predovšetkým matematici. Algol 60, aj keď sa dnes už prakticky nepoužíva, na dlhú dobu podstatne ovplyvnil hlavný prúd vývoja programovacích jazykov.
Na Algol 60 bezprostredne naviazal programovací jazyk PASCAL, ktorý bol navrhnutý profesorom N. Wirthem pre potreby výučby programovania. Oproti Algolu je Pascal obohatení o prostriedky pre prácu so štruktúrovanými dátami, je však zbavený niektorých nebezpečných konštrukcií. Autor kládol na nový jazyk predovšetkým dve základné požiadavky:
-aby umožnil vysvetliť programovanie ako samostatnú disciplínu s vlastnou logikou a nie ako zoznam príkazov,
-aby sa dal ľahko implementovať na všetkých dostupných počítačoch
Tieto ciele sa mu podarilo dosiahnuť do tej miery, že dnes má Pascal dominantné postavenie pri základnej výučbe programovania na univerzitách, ale používa sa vo veľkej miere aj pre bežné programovanie. Vďaka výbornej implementovateľnosti jazyka sa stal Pascal prvým programovacím jazykom dostupným takmer na všetkých druhoch počítačoch.
Zaujímavosti o referátoch
Ďaľšie referáty z kategórie
Algoritmy
Dátum pridania: | 31.03.2008 | Oznámkuj: | 12345 |
Autor referátu: | zizou | ||
Jazyk: | Počet slov: | 2 432 | |
Referát vhodný pre: | Vysoká škola | Počet A4: | 6.9 |
Priemerná známka: | 2.97 | Rýchle čítanie: | 11m 30s |
Pomalé čítanie: | 17m 15s |
Zdroje: Drózd, J., Kryl, R.: Začínáme s programovaním, 1.vyd. Praha: Grada, 1992, 312 s. , Wirth, N.: Systematické programovanie, Bratislava, Alfa/SNTL, 1981, Jinoch, J., Müller, K., Vogel, J.: Programování v jazyku Pascal, Praha: SNTL, 1985