Programy v prostředí operačního systému

Podobné dokumenty
O datových typech a jejich kontrole

Programování 2 (NMIN102) Soubory. RNDr. Michal Žemlička, Ph.D.

Úvod. Programovací paradigmata

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

Anotace. Soubory a práce s nimi, rekurze podruhé, struktury (datový typ record), Martin Pergel,

Programovací jazyk Pascal

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Zadání: TÉMA: Zápis algoritmu, čtení textového souboru, porovnání řetězců.

Dynamické datové typy a struktury

Programovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi)

dovolují dělení velkých úloh na menší = dekompozice

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Sada 1 - Základy programování

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

NPRG030 Programování I, 2010/11

Časová a prostorová složitost algoritmů

NPRG030 Programování I, 2016/17 1 / :58:13

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program

VISUAL BASIC. Práce se soubory

Soubory. Hung Hoang Dieu. Department of Mathematics Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 7

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA

Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování.

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

Úvod do programování

Obsah. Začínáme programovat v Ruby on Rails 9. Úvod Vítejte v Ruby 15. O autorovi 9 Poděkování 9

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

ALGORITMIZACE A PROGRAMOVÁNÍ

Poslední nenulová číslice faktoriálu

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Typové a netypové soubory

Programování. Debugging a testování. Martin Urza

Implementace seznamů do prostředí DELPHI pomocí lineárního seznamu

Identifikátory označují objekty v programu používané (proměnné, typy, podprogramy).

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Začínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů

NPRG030 Programování I, 2017/18 1 / :22:16

Semestrální práce z předmětu. Jan Bařtipán / A03043 bartipan@studentes.zcu.cz

PES lib (C + PASCAL) KNIHOVNY KOMUNIKAÈNÍCH FUNKCÍ 03/ PESlib KOMUNIKAČNÍ KNIHOVNY C, PASCAL 03/ stran 1

Poslední aktualizace: 14. října 2011

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

CZ.1.07/1.5.00/

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

Základy programovacího jazyka Turbo Pascal

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Tematická oblast: Programování 2 (VY_32_INOVACE_08_2_PR) Anotace: Využití ve výuce: Použité zdroje:

DUM 20 téma: Test dávky

Podprogramy; procedury a funkce

Analýza dat a modelování. Přednáška 3

Paměť počítače. alg2 1

Přednáška 8. Proměnné. Psaní a ladění skriptů. Parametry skriptu. Vstup a výstup. Konfigurační soubory shellu. Úvod do Operačních Systémů Přednáška 8

Pseudonáhodná čísla = algoritmicky generovaná náhrada za náhodná čísla

Sada 1 - Základy programování

Lexikální analýza Teorie programovacích jazyků

Sada 1 - Základy programování

Anotace. Informace o praktiku z programování!!! Direktivy překladače Soubory (textové) Quicksort Metoda rozděl a panuj

PHP. nejen pro začátečníky. $c; echo { Martin Pokorný. Vzdìlávání, které baví Nakladatelství a vydavatelství.

zapište obslužnou metodu události Click tlačítka a vyzkoušejte chování polevýsledek.text = polečíslo1.text + polečíslo2.text;

Jazyk PL/SQL Úvod, blok

POČÍTAČE A PROGRAMOVÁNÍ

PCKEYB JEDNOTKA PRO OBSLUHU KLÁVESNICE TYPU PC AT. Příručka uživatele a programátora

Program a životní cyklus programu

Motivace. Vstup a výstup. Minimální komunikace. Motivace. ÚDPJ - Vstup a výstup. Ing. Lumír Návrat katedra informatiky, A

Sada 1 - Základy programování

Překladač a jeho struktura

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

NPRG030 Programování I, 2015/16 1 / :25:32

Práce se soubory. Základy programování 2 Tomáš Kühr

Služba ve Windows. Služba (service) je program

Zápis programu v jazyce C#

X36UNX 16. Numerické výpočty v sh příkazy expr, bc, dc. Zdeněk Sojka

Příklady: (y + (sin(2*x) + 1)*2)/ /2 * 5 = 8.5 (1+3)/2 * 5 = /(2 * 5) = 1.3. Pavel Töpfer, 2017 Programování 1-3 1

Algoritmizace a programování

VY_32_INOVACE_08_2_04_PR

Úvod do programování. Úvod do programování. ing. Miroslav Jílek 2009, SJOP Poděbrady

Martin Hejtmánek hejtmmar

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Jazyk C práce se soubory. Jan Hnilica Počítačové modelování 16

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá:

Konstruktory překladačů

Programovací jazyk PASCAL Turbo

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

Hotelová škola, Obchodní akademie a Střední průmyslová škola Teplice, Benešovo náměstí 1, p.o. III/2 - Inovace a zkvalitnění výuky prostřednictvím ICT

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

Řízení toku programu Programátor musí být schopen nějak ovlivňovat běh programu a k tomu má několik možností:

Makro. PDF vytvořeno zkušební verzí pdffactory Pro

= knihovna prostředků pro lepší práci s textovou obrazovkou, klávesnicí a generátorem zvuků

OBSAH Úvod do VBA... 6 K čemu VBA... 6 Když VBA nestačí... 6 Historie Visual Basicu... 7 Objektový model, vlastnosti, metody, události a funkce...

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

10 Algoritmizace Příklad 2 Word 2007/ VBA

PROGRAMOVÁNÍ V SHELLU

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Anotace. Ordinalni typy - typ char, funkce ord, chr, succ, prev, inc, dec,

Struktura programu v době běhu

Několik příkladů v Turbo Pascalu

Binární vyhledávací strom. Proč binární? Vyhledávání

Transkript:

.. Programy v prostředí operačního systému Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz

Standardní soubory Programovací techniky Programy v prostředí operačního systému 2 / 13

Standardní soubory Představován textovými soubory input a output Programovací techniky Programy v prostředí operačního systému 2 / 13

Standardní soubory Představován textovými soubory input a output Soubory není třeba deklarovat a nastavovat Programovací techniky Programy v prostředí operačního systému 2 / 13

Standardní soubory Představován textovými soubory input a output Soubory není třeba deklarovat a nastavovat Specifické odchylky chování při vstupu z klávesnice Programovací techniky Programy v prostředí operačního systému 2 / 13

Standardní soubory Představován textovými soubory input a output Soubory není třeba deklarovat a nastavovat Specifické odchylky chování při vstupu z klávesnice Speciální textový soubor StdErr Programovací techniky Programy v prostředí operačního systému 2 / 13

Standardní soubory Představován textovými soubory input a output Soubory není třeba deklarovat a nastavovat Specifické odchylky chování při vstupu z klávesnice Speciální textový soubor StdErr Z hlediska OS: možné přesměrování vstupu u, kolona Programovací techniky Programy v prostředí operačního systému 2 / 13

Standardní soubory Představován textovými soubory input a output Soubory není třeba deklarovat a nastavovat Specifické odchylky chování při vstupu z klávesnice Speciální textový soubor StdErr Z hlediska OS: možné přesměrování vstupu u, kolona Efektivní ladění s připravenými daty v souboru Programovací techniky Programy v prostředí operačního systému 2 / 13

Standardní soubory Představován textovými soubory input a output Soubory není třeba deklarovat a nastavovat Specifické odchylky chování při vstupu z klávesnice Speciální textový soubor StdErr Z hlediska OS: možné přesměrování vstupu u, kolona Efektivní ladění s připravenými daty v souboru Možnost dalšího filtrování nebo zpracování výstupů Programovací techniky Programy v prostředí operačního systému 2 / 13

Příkazový řádek Příklad získání jednoznakového a celočíselného parametru Programovací techniky Programy v prostředí operačního systému 3 / 13

Příkazový řádek Příklad získání jednoznakového a celočíselného parametru Při spuštění programu je možné zadat na příkazový řádek Programovací techniky Programy v prostředí operačního systému 3 / 13

Příkazový řádek Příklad získání jednoznakového a celočíselného parametru Při spuštění programu je možné zadat na příkazový řádek Parametry jsou vhodným doplňkovým vstupem Programovací techniky Programy v prostředí operačního systému 3 / 13

Příkazový řádek Příklad získání jednoznakového a celočíselného parametru Při spuštění programu je možné zadat na příkazový řádek Parametry jsou vhodným doplňkovým vstupem Obvykle používány na konfiguraci nebo úpravu činnosti programu Programovací techniky Programy v prostředí operačního systému 3 / 13

Příkazový řádek Příklad získání jednoznakového a celočíselného parametru Při spuštění programu je možné zadat na příkazový řádek Parametry jsou vhodným doplňkovým vstupem Obvykle používány na konfiguraci nebo úpravu činnosti programu Funkce pro zjištění počtu parametrů: ParamCount Programovací techniky Programy v prostředí operačního systému 3 / 13

Příkazový řádek Příklad získání jednoznakového a celočíselného parametru Při spuštění programu je možné zadat na příkazový řádek Parametry jsou vhodným doplňkovým vstupem Obvykle používány na konfiguraci nebo úpravu činnosti programu Funkce pro zjištění počtu parametrů: ParamCount Funkce pro zjištění hodnoty n-tého parametru: ParamStr(n) Programovací techniky Programy v prostředí operačního systému 3 / 13

Příkazový řádek Příklad získání jednoznakového a celočíselného parametru Při spuštění programu je možné zadat na příkazový řádek Parametry jsou vhodným doplňkovým vstupem Obvykle používány na konfiguraci nebo úpravu činnosti programu Funkce pro zjištění počtu parametrů: ParamCount Funkce pro zjištění hodnoty n-tého parametru: ParamStr(n) Hodnota parametru je vždy řetězec Programovací techniky Programy v prostředí operačního systému 3 / 13

Příkazový řádek Příklad získání jednoznakového a celočíselného parametru Při spuštění programu je možné zadat na příkazový řádek Parametry jsou vhodným doplňkovým vstupem Obvykle používány na konfiguraci nebo úpravu činnosti programu Funkce pro zjištění počtu parametrů: ParamCount Funkce pro zjištění hodnoty n-tého parametru: ParamStr(n) Hodnota parametru je vždy řetězec Parametry jsou číslovány od 1, hodnotu 0 má úplná cesta a název spouštěného programu Programovací techniky Programy v prostředí operačního systému 3 / 13

Příklad Příklad získání jednoznakového a celočíselného parametru procedure ComLine(var S: longint; var D: char); var Pom: string; Kod: integer; begin if ParamCount>0 then begin {je alespoň jeden parametr} Pom:=ParamStr(1); Val(Pom, S, Kod); if ParamCount>1 then begin {je i druhý parametr} Pom:=ParamStr(2); D:=Pom[1] end end end; Programovací techniky Programy v prostředí operačního systému 4 / 13

Příklad Programovací techniky Programy v prostředí operačního systému 5 / 13

Příklad Každý proces má prostředí, v němž lze nastavovat řetězcové proměnné Programovací techniky Programy v prostředí operačního systému 5 / 13

Příklad Každý proces má prostředí, v němž lze nastavovat řetězcové proměnné Proměnné se dědí z prostředí nadřízeného procesu Programovací techniky Programy v prostředí operačního systému 5 / 13

Příklad Každý proces má prostředí, v němž lze nastavovat řetězcové proměnné Proměnné se dědí z prostředí nadřízeného procesu Uvnitř programu lze obsah proměnné přečíst, nikoliv nastavit Programovací techniky Programy v prostředí operačního systému 5 / 13

Příklad Každý proces má prostředí, v němž lze nastavovat řetězcové proměnné Proměnné se dědí z prostředí nadřízeného procesu Uvnitř programu lze obsah proměnné přečíst, nikoliv nastavit Existuje funkce GetEnvironmentVariable(X) pro získání řetězcové hodnoty proměnné X Programovací techniky Programy v prostředí operačního systému 5 / 13

Příklad Každý proces má prostředí, v němž lze nastavovat řetězcové proměnné Proměnné se dědí z prostředí nadřízeného procesu Uvnitř programu lze obsah proměnné přečíst, nikoliv nastavit Existuje funkce GetEnvironmentVariable(X) pro získání řetězcové hodnoty proměnné X Tato funkce je dostupná ze standardního modulu SysUtils Programovací techniky Programy v prostředí operačního systému 5 / 13

Příklad Každý proces má prostředí, v němž lze nastavovat řetězcové proměnné Proměnné se dědí z prostředí nadřízeného procesu Uvnitř programu lze obsah proměnné přečíst, nikoliv nastavit Existuje funkce GetEnvironmentVariable(X) pro získání řetězcové hodnoty proměnné X Tato funkce je dostupná ze standardního modulu SysUtils Analogická funkce je GetEnv známá i z Turbo Pascalu, dostupná v modulu oldlinux Programovací techniky Programy v prostředí operačního systému 5 / 13

Příklad Příklad Programovací techniky Programy v prostředí operačního systému 6 / 13

Příklad Příklad Zpracování hodnoty proměnné prostředí Programovací techniky Programy v prostředí operačního systému 6 / 13

Příklad Příklad Zpracování hodnoty proměnné prostředí Jsou nastaveny dvě uživatelské proměnné NUMSTART a NUMDELIM procedure Envir(var S: longint; var D: char); var Pom: string; Kod: integer; begin Pom:=GetEnvironmentVariable( NUMSTART ); end; if Pom<> then Val(Pom, S, Kod); {proměnná neexistuje --> Pom= } Pom:=GetEnvironmentVariable( NUMDELIM ); if Pom<> then D:=Pom[1] Programovací techniky Programy v prostředí operačního systému 6 / 13

Programovací techniky Programy v prostředí operačního systému 7 / 13

Je k dispozici procedura Assign, která sváže souborovou proměnnou v programu s konkrétním souborem dostupným v operačním systému Programovací techniky Programy v prostředí operačního systému 7 / 13

Je k dispozici procedura Assign, která sváže souborovou proměnnou v programu s konkrétním souborem dostupným v operačním systému Konvence zápisu cesty k souboru odpovídá použitému operačnímu systému (problémy s přenositelností) Programovací techniky Programy v prostředí operačního systému 7 / 13

Je k dispozici procedura Assign, která sváže souborovou proměnnou v programu s konkrétním souborem dostupným v operačním systému Konvence zápisu cesty k souboru odpovídá použitému operačnímu systému (problémy s přenositelností) Existence souboru není hlídána operačním systémem, není-li ošetřena v programu, dojde k běhové chybě Programovací techniky Programy v prostředí operačního systému 7 / 13

Je k dispozici procedura Assign, která sváže souborovou proměnnou v programu s konkrétním souborem dostupným v operačním systému Konvence zápisu cesty k souboru odpovídá použitému operačnímu systému (problémy s přenositelností) Existence souboru není hlídána operačním systémem, není-li ošetřena v programu, dojde k běhové chybě Způsob ošetření existence souboru je závislý na operačním systému a na verzi překladače. V modulu SysUtils je k dispozici logická funkce FileExists(jméno) Programovací techniky Programy v prostředí operačního systému 7 / 13

Je k dispozici procedura Assign, která sváže souborovou proměnnou v programu s konkrétním souborem dostupným v operačním systému Konvence zápisu cesty k souboru odpovídá použitému operačnímu systému (problémy s přenositelností) Existence souboru není hlídána operačním systémem, není-li ošetřena v programu, dojde k běhové chybě Způsob ošetření existence souboru je závislý na operačním systému a na verzi překladače. V modulu SysUtils je k dispozici logická funkce FileExists(jméno) Všechny operace se soubory byly již diskutovány (opakování) Programovací techniky Programy v prostředí operačního systému 7 / 13

Programovací techniky Programy v prostředí operačního systému 8 / 13

Konfigurace programu čtení dvou parametrů zmíněných v předchozích příkladech Programovací techniky Programy v prostředí operačního systému 8 / 13

Konfigurace programu čtení dvou parametrů zmíněných v předchozích příkladech Hierarchie nastavení: Programovací techniky Programy v prostředí operačního systému 8 / 13

Konfigurace programu čtení dvou parametrů zmíněných v předchozích příkladech Hierarchie nastavení: 1. Implicitní hodnota Programovací techniky Programy v prostředí operačního systému 8 / 13

Konfigurace programu čtení dvou parametrů zmíněných v předchozích příkladech Hierarchie nastavení: 1. Implicitní hodnota 2. Konfigurační soubor (pokud existuje) Programovací techniky Programy v prostředí operačního systému 8 / 13

Konfigurace programu čtení dvou parametrů zmíněných v předchozích příkladech Hierarchie nastavení: 1. Implicitní hodnota 2. Konfigurační soubor (pokud existuje) 3. Proměnná prostředí Programovací techniky Programy v prostředí operačního systému 8 / 13

Konfigurace programu čtení dvou parametrů zmíněných v předchozích příkladech Hierarchie nastavení: 1. Implicitní hodnota 2. Konfigurační soubor (pokud existuje) 3. Proměnná prostředí 4. Parametr z příkazového řádku Programovací techniky Programy v prostředí operačního systému 8 / 13

uses SysUtils; {práce s proměnnými prostředí apod.} var Cislo, Start: longint; Radek: string; Delim: char; procedure Konfig(var S: longint; var D: char); var F: text; R, Pom: string; Kod: integer; Programovací techniky Programy v prostředí operačního systému 9 / 13

begin Assign(F, ParamStr(0)+ rc ); {test existence souboru:} if FileExists(ParamStr(0)+ rc ) then begin reset(f); readln(f, R); Pom:=Copy(R, Pos( =,R)+1, 255); {získání hodnoty řetězce za rovnítkem} Val(Pom, S, Kod); {převod na číselnou hodnotu} readln(f, R); Pom:=Copy(R, Pos( =,R)+1, 1); {opět hodnota za rovnítkem} D:=Pom[1] end end; Programovací techniky Programy v prostředí operačního systému 10 / 13

procedure Envir(var S: longint; var D: char); var Pom: string; Kod: integer; begin Pom:=GetEnvironmentVariable( NUMSTART ); if Pom<> then Val(Pom, S, Kod); {proměnná neexistuje --> Pom= } Pom:=GetEnvironmentVariable( NUMDELIM ); if Pom<> then D:=Pom[1] end; Programovací techniky Programy v prostředí operačního systému 11 / 13

procedure ComLine(var S: longint; var D: char); var Pom: string; Kod: integer; begin if ParamCount>0 then begin {je alespoň jeden parametr} Pom:=ParamStr(1); Val(Pom, S, Kod); if ParamCount>1 then begin {je i druhý parametr} Pom:=ParamStr(2); D:=Pom[1] end end end; Programovací techniky Programy v prostředí operačního systému 12 / 13

begin Start:=1; Delim:= : ; {implicitní nastavení} Konfig(Start, Delim); {konfigurační soubor} Envir(Start, Delim); {proměnné prostředí} ComLine(Start, Delim); {příkazový řádek} Cislo:=Start; while not eof do begin readln(radek); writeln(cislo:5, Delim,, Radek); Inc(Cislo) end end. Programovací techniky Programy v prostředí operačního systému 13 / 13