Programovanie v prostredí Borland C++ v. 3.1 vyžaduje aby ste mali
Predtým ako začnete inštalovať pozrite aký názov má MECHANIKA CD ROM a aký názov bude mať MECHANIKA CIEĽOVÉHO UMIESTNENIA aplikácie vývojového prostredia C jazyka. Toto si zapište, pretože inštalácia verzie 3.1 je ešte DOS-ovská. teraz môže začať inštalácia.
Túto poslednú zmenu môžete urobiť pomocou príkazu msconfig v štartovacom riadku WINDOWS 98, ktorý otvorí editačné formuláre. V okne uvidíte samostatné záložkami na ktorých vidno názvy autoexec.bat a config.sys. Keď kliknete na jeden z nich uvidíte ovládacie tlačítka Posunúť nahor, Posunúť nadol, Upraviť a Nový. Použite ich podľa potreby.
Aby sa všetky zmeny uplatnili urobte Reštart počítača a môžete začať programovať.
Po prvom Reštarte WINDOWS vytvorí pracovné okno pre zoskupenie programov okolo aplikacie Borlan C++, ale až po tom, keď otvorí okno so žiados´tou a dostane od vas povolenie. Od tejto chvíle sa nachádza aplikácia Borland C++ medzi ostatnými programami v zozname programov. V ponuke existujú dve verzie štartovania prostredia C++
Naprv otestujete či sa rozbehne vývojová aplikácia v prostredí WIN98.
Ak pre DOS program chcete vytvoriť ikonku na čelnom paneli, ktorá vám otvorí samostatné okno, tak ako ho teraz vidíte na obrázku, urobíte to takto:
- Najprv v klasickom štartovacom menu WINDOWS vytvoríte nový odkaz, ktorý prenesiete na desktop. Postup:
- Otvoríte menu klasickým spôsobom cez Štart / Programy / Borland C++ 3.1 / Borland C++, kde
- pravým tlačítkom otvoríte roletové menu v ktorom zvolíte Vytvoriť odkaz. V menu pribudne duplikát volania Borland C++, ktorý teraz
- uchytíte ľavým tlačítkom myšky a potiahnutím ho presuniete na plochu (desktop)
- Teraz kliknete pravým tlačítkom mýšky na vytvorenú ikonku, otvorí sa vám roletové menu, kde na konci uvidíte Vlastnosti. Po ich poklepaní sa otvorí konfiguračné okno v ktorom môžete zmeniť režim Okna vo Windows, resp. DOS prostredia na celú obrazovku, ďalej typ písma a počet riadkov otváraného okna. (vid. nasl.obr.)
V menu File sa ešte nachádzajú tieto príkazy:
V prípade že ste uzavreli súbor a chcete ho opakovane otvoriť použijete príkaz:
Pri pogramovaní často potrebujete pomoc, na to slúži integrovaný Help ktorý vyvoláte buď cez MENU alebo použitím F1 resp. 2 x stlačíte F1. Ak potrebujete pomoc so syntaxou príkazov jazyka C, využite schopnosť kontextového Help-u. Rrobíte to takto: Napíšte do zdrojového textu identifikátor prvku jazyka ktorý hľadáte (trénujte pamäť), postavte kurzor pod dané slovo a vyvolajte Help príkazom Ctrl + F1. Zobrazí sa okno s popisom prvku. Na jeho konci zvyčajne nájdete zoznam podobných resp. súvisiacich prvkov s tým, ktorý ste do textu napísali. Úplne na konci býva odkaz na vzorový príklad v ktorom je daný prvok použitý. Okná Help-u v sebe obsahuje žltou farbou zvýraznené kľúčové slová. Ich poklepaním sa vnoríte do ďaľších stránok Helpu, ktoré tému ďalej doplňujú.
Takto vyzbrojený môžete začať. Pomocou File / New otvoríte pracovné okno a doň vpíšte nasledovný program:
Pomocou File / Save as ... môžete zmeniť názov. Toto vlastne ani nie je program je to "zárodočná šupina" programu, ktorý obsahuje len hlavičky bez obsahu. Skúste Preklad programu takto: otvoríte menu Compile Compile (resp. alternatívne Alt+F9). Ak máte program bez chýb očakávajte nasledovný výsledok vid.obr.:
V tomto prípade zapísaný program je úplne prázdny bez jediného príkazu. Má však všetky náležitosti, ktoré jeden program potrebuje mať. Hlavná štartovacia funkcia sa volá main. Slovo void znamená, že funkcia nebude vracať žiadnu odpoveď a ani v parametre žiadne nepoužije. Kompilátor - t.j. prekladač zdrojového textu do "relatívnych" modulov (typu .obj ) - zahlási Success čo znamená Úspech. Toto je prvý krok potrebný na vytvorenie funkčného programu. Relatívne moduly typu .obj sú len vstupnými súboromi pre Linker - t.j. spojovač - ktorý relatívne moduly pospája do jednoho celku, v relatívnych moduloch nastaví absolutné adresy podľa toho, ako ich poukladá jeden za druhým, a nastaví vzájomné volania modulov (t.j. adresovania funkcií a vzájomne poskytovaných premenných ) už s absolutnými adresami. Tieto vzájomné volania sa nazývajú krížové referencie - a je to podobné, ako keď nitkami spájate dva kúsky látky, lenže tu je tých kúskov oveľa viac a skôr by sme si ich vedeli predstaviť ako priestorový lampion než plochú látku.
Nasledovný krok je už len Spustenie programu Run / Run (resp. alternatívne Ctrl + F9 ). Príkaz Run je uspôsobený tak, že ak predtým ste nevykonali kompiláciu, urobí to automaticky za vás. Spustí všetky operácie spojené s vytvorením "runtime modulu" t.j. konečnej verzie tzv. .exe programu. Ak ale už taký súbor bol vytvorený, potom ho spustí. Spustiť program znamená, že jeho binárnu formu uloženú v súbore <názov programu>.exe skpíruje do operačnej pamäti a odovzdá riadenie inštrukcii na štartovacom bode programu. Inak povedané odovzdať riadenie štartovaciemu bodu znamená, že operečný systém vloží do IP registra (Instrukcion Pointer - ukazateľ na adresu inštrukcie , ktorá sa ide práve vykonať) absolutnú adresu prvej inštrukcie programu práve skopírovaného do OP, a ktorá je v programe nastavená ako štartovacia adresa (jednoducho prvú v poradí).
Poznámka: Programátori v assambleri tento bod zvykli udávať za koncovou značkou END zdrojového textu písaného v assambleri. Tu túto úlohu uskutoční kompilátor, ktorý za štartovací bod považuje prvú inštrukciu modulu patriacej funkcii main.
Programátor resp. skôr PROJEKTANT INFORMAČNÝCH TECHNOLÓGIÍ to nemá nikdy tak ľahké. Aj keď sa vám podarí odstrániť syntatktické chyby a kompilácia skončí Succes , ešte to neznamená výhru. Umenie programovať nespočíva v mechanickom kódovaní do príkazov jazyka, ale vo vymýšlaní algoritmov a metód. Sú to práve chybné algoritmy, ktoré sú najväčším problémom programátora- projektanta . Metódam odstranovania algoritmických chýb budeme sa venovať v častii Ladenie programu.
V živote programátora sú dva hraničné stavy. Žiaden program a Program tesne pred dokončením. Stav medzitým sa nazýva - vypĺňanie času ladením programu. Toto je Never ending story - (nikdy nekončiaci príbeh). 80% prác na tvorbe programu má programátor hotových za 20% času. Zvyšných 80% sa program dokončuje. Preto ak zadávateľ chce mať ako taký výsledný produkt, musí tento program v nestráženej chvíli progranátoroviu spod rúk uchmatnúť. Nevadí, že program nie je dokončený - nájdené chyby sa aj tak odstránia v nasledovnej "vylepšenej" verzii programu. Tak to robili chlapci od MICROSOFTu a pozrite sa ako je firma úspešná.
Príčina chýb v programe spočíva hlavne v tom,
Jediným spôsobom, ako odhaliť nezrovnalosti v programe je metóda postupného odľaďovania modulov sekvencií programu a ubezpečenia sa že modul pracuje nezávisle od ostatných programov ktoré nezasahujú do jeho integrity. Do programu sa zaradia hlásne body v ktorých program vypíše medzistav hodnôt premenných. Program môžeme krokovať po riadkoch zdrojového textu. Po vykonaní riadku obsahujúceho príkazy, skontrolujeme stav premenných. Často tak odhalíme banálne chyby!
Aby sme mohli program ladiť musíme si nastaviť vývojové prostredie.
V menu programu C++ otvorte v položke menu Window / Output a tak isto Window/ Watch špeciálne pracovné okná. Okná sa v tejto chvíli prekrývajú, preto ich môžeme rozmiestniť ako dlaždíce príkazom Window / Tile. Otvorené dve dve pracovné okná spolu s oknom zdrojového textu vytvárajú trojicu pracovných okien pomocou ktorých program odľadíme. Okno Output predstavuje obrazovku cez ktorú s nami program komunikuje a okno Watch vypisuje výrazy s premennými ktoré chceme monitorovať. V zdrojovom texte zase počas krokovania programu uvidíme vyznačený riadok s príkazmi ktoré sa v ďaľšom kroku budú vykonávať. Ak sme mali otvorené len spomenuté tri okná uvidíme nasledovné prostredie:
Okno Watch - Sleduj je zatiaľ prázdne. Hocikedy, aj počas krokovania programu, môžeme do tohto okna zadefinovať premenné, ktoré chceme sledovať. Prepneme sa do okna so zdrojovým textom programu (najjednoduchšie je tam kliknúť myškou) a postavíme kurzor pod názov premennej ktorú chceme v okne Watch sledovať. V menu navolíte Debug / Watches / Add wattch... (Pridaj sledovanú premennú...), alebo jednoducho stlačíte Ctrl + F7.
Otvorí sa vám pracovné okno Watch Expression ,
ktoré žiada, aby ste udali názov premennej, alebo výraz používajúci premennú, ktorého obsah chcete sledovať. V prípade že ste kurzor správne umiestnili názov premennej uvidíte vpísaný do údajového poľa a stačí potvrdiť OK. V tej chvíli sa názov premennej objaví v okne Watch. Urobte to pre všetky pemenné, ktoré chcete sledovať a môžete začať Ladenie.
Na ladenie programu najlepšie poslúži metóda krokovania programu. V tomto režime sa program vykonáva po riadkoch, tak ako je zapísaný v zdrojovom texte. Ak na jednom riadku máte súčasne viac príkazov, všetky sa vykonajú v jednom kroku. Ak tieto príkazy chcete vykonať postupne, umiestnite kažý na samostatný riadok.
Pri krokovaní programu zobrazuje sa v zdrojovom texte programu v riadku, ktorý sa má práve vykonať, svetlozelený prúžok. Detailné krokovanie funkcií sa pri tlační F8 preskakuje. Aby sa predsa len krokovali aj funkcie, musí sa urobiť nasledovný krok príkazom F7, krokovanie programu sa vnorí do funkcie, a tam pokračujeme príkazmi F8. Po skončení programu svetlozelený prúžok zmizne. Opakované stlačenie F8 znova naštartuje beh krokovania programu od začiatku.
Štartovaný program často používa argumenty (t.j. parametre) zapisované v štartovacom riadku programu za názvom programu. V prostredí DOS je to miesto označené napr.: C:\> a v prostredí WINDOWS tento riadok nájdete cez Štart / Spustiť, kde sa vám otvorí dialógové okno Spustenie s položkou Otvoriť. To je štartovací riadok. Pri ladení programu vo vývojovom prostredí, obsah parametrov zapíšeme pomocou v položky menu Run / Arguments, kde sa otvorí dialógové okno Program arguments s položkou Arguments.
Do zdrojového textu programu môžete hocikedy urobiť zásah. Krokovanie sa preruší, systém oznámi zmeny a požiada o potvrdenie na prebudovanie programu: Source modified. Rebuild? Po potvrdení sa program znova skompiluje a krokovanie pokračuje od začiatku.
V programe sa dajú nastaviť miesta "zastávok" - Break points. Program spustený pomocou Run/ Run (resp. Ctrl-F9) beží až kým nenarazí na koniec alebo na miesto programu ktoré má nastavený bod zastavenia. V tomto mieste zastavenia sa program ohlási a umožní sa nám rozhodnúť či pokračovať v rýchlom behu po nasledovný bod prerušenia, alebo krokovať po riadkoch. Stop adresu možete nastaviť ale aj zrušiť rovnakým postupom:
Ak miesto zastavenia bolo neaktívne teraz sa nastaví. Ak miesto bolo aktívne - zruší sa nastavenie. Toggle znamená preklopiť stav.
V položke menu Debug / Breakpoints nájdete tabuľku so zoznamom všetkých prerušovacích miest. Tu ich možete podľa potreby naraz zrušiť.
Ak sme zvládli Prvý program, začneme budovať svoj programový svet, v ktorom sa nám objavia ďaľšie pojmy a vlastnosti programovacieho jazyka. Zatiaľ je náš program hluchý a slepý, jeho intekligencia je asi tak na úrovni vajcovej škrupiny, lebo v jeho vnútri sa nenachádza nič.
Urobme teda niečo, aby sa nám program ozval a a dal o sebe vedieť. Stvorme umelú bytosť, ktorá sa bude volať ADAM. Otvoríme si text prvého programu a upravme si ho takto:
#include <stdio.h> #include <conio.h> /* Náš prvý program medzi znakmi lomítko hviezdička a hviezdička lomítko má uložený text komentára na viacerích riadkoch. Komentár ktorý začína v jednom riadku a končí na jeho konci može byť uvedený dvomi lomítkami na začiatku. Komentáre kompilátor ignoruje. Sú určené pre nás. */ void main ( void ) { clrscr(); // Vymaž obrazovku - clear screen printf("\n\n\nTu ADAM. Zijem!\n\nAby som skoncil stlac lubovolnu klavesu.\n"); // printf - formatovaná tlač znaku na konzolu // \n vsunie do výpisu nový riadok - znamená new line getch (); // Čakanie na znak klávesnice }
Takto vytvorený program môže komunikovať so svojim okolím a jedna z foriem komunikácie je odovzdanie chybového stavu volajúcej procedúre. Funkcia main s predradeným void nevykonáva odpoveď. Po odstránení void musíme nastavovať odpoveď pomocou príkazu return. Napríklad: return(0);
#include <stdio.h> #include <conio.h> /* Program vracajúci chybový stav. Stav 0 = bezchybné ukončenie programu. */ main ( void ) { clrscr(); // Vymaž obrazovku - clear screen printf("\n\n\nTu ADAM. Zijem!\n\nAby som skoncil stlac lubovolnu klavesu.\n"); // printf - formatovaná tlač znaku na štandardný výstup // \n vsunie do výpisu nový riadok - znamená new line getch (); // Čakanie na znak klávesnice return(0); // Návratová hodnota }
/* praca s pointrami a retazcami priklad separujuci useky datumu */ #include <string.h> #include <stdio.h> #include <stdlib.h> int main(void) { char input[20] = "15.6.2005"; char *p; int den,mesiac,rok; /* do p pointer na zaciatok stringu v input strtok umiestni NULL pred token ak ho najde */ p = strtok(input, "."); if (p) printf("%s\n", p); den=atoi(p); // nastav cislo dna /* pointer nastavi za predtym najdeny token a NULL umiestni pred nasledovny najdeny token */ p = strtok(NULL, "."); if (p) printf("%s\n", p); mesiac=atoi(p); /* pointer nastavi za predtym najdeny token a NULL necha na mieste ak nanajde nasledovny token */ p = strtok(NULL, "."); if (p) printf("%s\n", p); rok=atoi(p); printf("Datum je %d/%d/%d:",den,mesiac,rok); return 0; }
[1. ]
CPU- Central procesor unit. - Centrálna procesorová jednotka spracúvava dáta, ktoré dostala z pamäti (RAM, HD, FDD, CD) a vstupných jednotiek podľa programu (softwaru) uloženého v RAM (Random access memory) pamäti t.j. pamäti s náhodným prístupom - inak aj pracovná pamäť počítača.
RAM - Random access memory
HD- Hard disk
FDD- Floppy disk drive
CD - Compact disk