Ing. Daniel Hládek PhD.
Katedra elektroniky a multimediálnych telekomunikácií
Technické informácie
Zápočet získate počas semestra, potom sa môžete prihlásiť na skúšku počas semestra.
Predmet sa končí vykonaním skúšky.
Pomôžeme Vám
Nebojte sa!
a zarobím viac ako prednášajúci :-)
V predmete sa naučíme algoritmicky myslieť a pracovať.
[note]
Postupnosť krokov, ktorá v konečnom čase viedie k dosiahnutiu výsledku.
List obsahuje príbeh napísaný jazykom ktorému adresát rozumie.
Adresát si ho prečíta a vykoná to, o čo sme ho požiadali.
Odmietne poslušnosť v iba prípade, že nerozumie čo od neho chceme.
Teechnické zariadenie nemá vlastný rozum, robí iba to čo mu povieme.
[data-background-iframe="https://www.youtube.com/embed/ouf3uLeLioE"]
je zápisom algoritmu jazykom ktorý je zrozumiteľný počítaču.
Tancovať sa dá naučiť iba tancovaním.
CORNER FACING BEEP-BAG BEEP-CORNER
(3, 2) EAST 0 1
ST.+-----------------------------------+
9 | . . . . . . . . . |
| |
8 | . . . . . . . . . |
| |
7 | . . . . . . . . . |
| |
6 | . . . . . . . . . |
| +---+ |
5 | . . . . . . | . | . . |
| +---+ | |
4 | . . . . 2 | . . | . . |
| +---+ | |
3 | . . . . | . . . | . . |
| +---+ | |
2 | . . > | . . . . | . . |
| +---+ | |
1 | . . | . . . . . | . . |
+-----------------------------------+
1 2 3 4 5 6 7 8 9 AVE.
Robotov jazyk sa skladá zo slov a viet.
Základné slovesá, ktorým robot rozumie:
turn_on("world.kw");
step();
turn_left();
pick_beeper();
put_beeper();
turn_off();
turn_on("world.kw"); // Zapni sa
step(); // Pohni sa dopredu
turn_left(); // Zatoč do ľava
pick_beeper(); // Zober žetón
put_beeper(); // Polož žetón
turn_off(); // Vypni sa
#include <karel.h>
int main(){
turn_on("world.kw");
turn_left();
pick_beeper();
turn_off();
return 0;
}
Ani to nebolelo. Každý ďalší program sa Vám bude písať ľahšie.
Napísali sme program - text v špeciálnom jazyku.
Ako ho doručíme robotovi Karlovi?
(build)
Preklad prebieha v dvoch fázach:
[note]
[/note]
Ak sme pri zápise urobili chybu, preklad neprebehne úspešne.
Kompilátor nám hlási chybu.
Chybové hlásenie je potrebné si pozorne prečítať.
Musíme využiť "poštový úrad" - kompilátor.
Kompilátor sa pozrie na náš list a ak spĺňa formálne požiadavky, tak ho tlmočí do Karlovho jazyka.
[mermaid] graph LR P(zdrojový kód) --> kompilátor kompilátor --> B(spustiteľný súbor) [/mermaid]
Preklad programu je algoritmus (postupnosť krokov, ktorá vedia ke výsledku vkonečnom čase)
Zdrojový kód : je zápis algoritmu v špeciálnom jazyku (C) v textovej podobe zrozumiteľnej človeku.
Spustiteľný kód : prepis algoritmu do podoby čitateľnej procesorom. Spustiteľný kód sa skladá iba z čísel a nie je človenkom čitateľný (skúste to).
kompilátor ďalšie argumenty knižnica1 knižnica2 vstup výstup
gcc -std=c11 libkarel32-lin.a -lcurses karel.c -o karel
Náš nový program vieme spustiť rovnako ako každý iný,
./karel
Bodka je potrebná kvôli bezpečnostnej politike systému UNIX.
Ďakujem za pozornosť.
Odpoviem na Vaše otázky
daniel.hladek@tuke.sk