Algoritmizácia a programovanie - Štruktúrované údajové typy

Podobné dokumenty
Algoritmizácia a programovanie - Príkazy

Snímka 1

enum

Informačné technológie

História

Súkromné gymnázium, Česká 10, Bratislava INFORMATIKA

NÁVRH UČEBNÝCH OSNOV PRE 1

Katalóg cieľových požiadaviek k maturitnej skúške

Centrum vedecko-technických informácií, Odbor pre hodnotenie vedy, Oddelenie pre hodnotenie publikačnej činnosti Vyhľadávanie a práca so záznamami - C

Microsoft PowerPoint - Prog_p08.ppt

Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Pra

GEODETICKÝ A KARTOGRAFICKÝ ÚSTAV BRATISLAVA Chlumeckého 4, Bratislava II Obsah 1. Export údajov ZBGIS do CAD formá

ECDL Syllabus V50 SK-V01

Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, prič

Matematický model činnosti sekvenčného obvodu 7 MATEMATICKÝ MODEL ČINNOSTI SEKVENČNÉHO OBVODU Konečný automat predstavuje matematický model sekvenčnéh

MO_pred1

Microsoft Word - Transparencies03.doc

dFlex Nitra spol. s r.o.

STRUČNÝ NÁVOD KU IP-COACHU

Tue Oct 3 22:05:51 CEST Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, kto

Zakúpili sme mobilný telefón, ktorý budeme splácať v mesačných splátkach spolu s poplatkom za mobilné služby. Prvá faktúra bola vystavená s rozpisom n

gis5 prifuk

Vnútorná reprezentácia údajových typov

Agenda záverečnej práce pedagóg Celá agenda týkajúca sa záverečnej práce je dostupná v obrazovke Záverečná práca (menu Agenda pedagóga -> Záverečné pr

Úvodná prednáška z RaL

Microsoft Word - Diskusia11.doc

Informačný systém pre externú časť a písomnú formu internej časti maturitnej skúšky Informačný systém pre EČ a PFIČ maturitnej skúšky Užívateľská prír

Pracovný postup pre vypĺňanie údajov elektronického formulára IŠIS pre spravodajskú jednotku 1

Snímka 1

Úrad pre dohľad nad zdravotnou starostlivosťou Žellova 2, Bratislava Dátové rozhranie pre externý subjekt FR SR Strana 1 z 11 Dátové rozhranie

Relačné a logické bázy dát

CviĊenie z PTS

Microsoft Word - Algoritmy a informatika-priesvitky02.doc

Matematika 2 - cast: Funkcia viac premenných

03_ControlFlow.dvi

Paralelné algoritmy, cast c. 3

fm 2012 a predajňa.doc

8 Cvičenie 1.1 Dokážte, že pre ľubovoľné body X, Y, Z platí X + Y Z = Z + Y X. 1.2 Dokážte, že pre ľubovoľné body A, B, D, E, F, G afinného priestoru

DediĊnosť

Ako v programe zaúčtovať úver, ktorý bol poskytnutý bankou a suma úveru bola pripísaná na podnikateľský bankový účet?

Microsoft Word - 06b976f06a0Matice - Uzivatelska Dokumentacia

Slovenská komisia Matematickej olympiády FMFI UK, Mlynská dolina, Bratislava 51. ročník matematickej olympiády Riešenia úloh I. kola kategórie

eKasa

Zbierka RaNRU v Delphi I.diel

Používateľská príručka POUŽÍVATEĽSKÁ PRÍRUČKA Generátor XML dávok pre Informačný systém kontrolných známok z MS Excel šablóny Dátum: Verzia

STRUČNÝ NÁVOD KU IP-COACHU

Databázy (1) - Prednáška 03

Prenosový kanál a jeho kapacita

Autonómna prístupová čítačka Užívateľský manuál Užívateľský manuál Autonómna prístupová čítačka ASI 1201A

PRÁCA V SYSTÉME EZP A) Registrácia 1. Úvodným krokom prace v systéme Evidencie záverečných prác (ďalej EZP) je registrácia

Microsoft Word - skripta3b.doc

SOR_SON

Microsoft Word _1_.docx

Microsoft Word - Priloha_1.docx

CitiManager - Migration Quick Reference Guide for Cardholders_Slovak_fin

seminarna_rocnikova_a_bakalárska práca

Stravné - přecenění

MATEMATICKÁ OLYMPIÁDA NA STREDNÝCH ŠKOLÁCH 54. ročník, školský rok 2004/2005 Zadania úloh 3. kola kategórie P 1. súťažný deň Na riešenie úloh máte 4.5

CHUDOBA KOSICE Program konferencie

Úrad pre dohľad nad zdravotnou starostlivosťou Žellova 2, Bratislava Dátové rozhranie pre spracovanie lekárskych poukazov - očná optika Strana

Úrad pre dohľad nad zdravotnou starostlivosťou Žellova 2, Bratislava Dátové rozhranie pre externý subjekt MV SR Strana 1 z 10 Dátové rozhranie

(Microsoft Word - Registr\341cia \372\350tu Hik-Connect.docx)

Pomoc pri práci s Online katalógom 1. Prihlásenie do konta používateľa v OPACu Jednoduché vyhľadávanie Rozšírené vyhľadávanie Zob

Slide 1

eKasa

1

Matej Kendera - PDF, word, lucene, java

Detail správy a súvisiace prvky Dátum zverejnenia: Verzia: 5 Dátum aktualizácie: Detail správy a súvisiace prvky UPOZORNENIE

Zeszyty Naukowe PWSZ, Nowy Sącz 2013 Konštrukcie magických obdĺžnikov Marián Trenkler Faculty of Education, Catholic University in Ružomberok Hrabovsk

Úrad pre dohľad nad zdravotnou starostlivosťou Žellova 2, Bratislava Dátové rozhranie pre externý subjekt MV SR Strana 1 z 10 Dátové rozhranie

PowerPoint-Präsentation

Dodatok číslo 1 k smernici rektora číslo 4/2017-SR zo dňa Školné a poplatky spojené so štúdiom na Slovenskej technickej univerzite v Brat

Georeceive a Geoshopping

Návod na nastavenie oprávnení pre oprávnené osoby s udeleným čiastočným prístupom Dátum zverejnenia: Verzia: 3 Dátum aktualizácie:

Republika Srbsko MINISTERSTVO OSVETY, VEDY A TECHNOLOGICKÉHO ROZVOJA ÚSTAV PRE HODNOTENIE KVALITY VZDELÁVANIA A VÝCHOVY VOJVODINSKÝ PEDAGOGICKÝ ÚSTAV

(Microsoft Word Zadanie na s\372\235a\236 KROS DESIGN AWARD .doc)

midterm2014_1

7/1/2015 Úvod do databáz, skúškový test, max 25 bodov, 90 min

eKasa

Microsoft Word prist_prava_ Popadic.doc

Stravné - přecenění

Obsah tejto príručky Microsoft Prechod na program Access 2010 z programu Access 2003 Vzhľad programu Microsoft Access 2010 sa výrazne odlišuje od prog

ZBIERKA ZÁKONOV SLOVENSKEJ REPUBLIKY Ročník 2018 Vyhlásené: Časová verzia predpisu účinná od: Obsah dokumentu je právne záväzný.

FINANČNÉ RIADITEĽSTVO SLOVENSKEJ REPUBLIKY

Digitálne technológie v každodennom živote 3. ročník akademický rok 2019/2020 Harmonogram prednášok

Teória pravdepodobnosti Zákony velkých císel

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Ilkovičova 2, , Bratislava 4 Internet vecí v našich ž

Evidencia elektronickej prihlky

s sol

SMERNICE

midterm2019

Hardwarové prerušenie Nasledujúci kód ukazuje inštaláciu obsluhy časovača vrátane jeho inicializácie // inicializace časovače, přerušení každou milise

Informačná a modelová podpora pre kvantifikáciu prvkov daňovej sústavy SR

Smernica rektorky UMB o schvaľovaní evidencii a archivácii

eKasa

SK MATEMATICKÁOLYMPIÁDA skmo.sk 2009/ ročník MO Riešenia úloh česko-poľsko-slovenského stretnutia 1. Určte všetky trojice (a, b, c) kladných r

sprievodca-priestor.pdf

Metrické konštrukcie elipsy Soňa Kudličková, Alžbeta Mackovová Elipsu, ako regulárnu kužeľosečku, môžeme študovať synteticky (konštrukcie bodov elipsy

Neineárne programovanie zimný semester 2018/19 M. Trnovská, KAMŠ, FMFI UK 1

Prepis:

Algoritmizácia a programovanie Štruktúrované údajové typy prof. Ing. Ján Terpák, CSc. Technická univerzita v Košiciach Fakulta baníctva, ekológie, riadenia a geotechnológíı Ústav riadenia a informatizácie výrobných procesov March 27, 2019

Obsah Rozdelenie štruktúrovaných údajových typov Údajový typ pole Údajový typ záznam Údajový typ množina Údajový typ súbor

Rozdelenie štrukturovaných údajových typov pole, záznam, množina, súbor.

Obsah Rozdelenie štruktúrovaných údajových typov Údajový typ pole Údajový typ záznam Údajový typ množina Údajový typ súbor

Údajový typ pole údajová štruktúra pozostávajúca z pevného počtu zložiek rovnakého typu,

Údajový typ pole údajová štruktúra pozostávajúca z pevného počtu zložiek rovnakého typu, jednotlivé zložky sú rozĺıšiteľné a sprístupnené pomocou indexu,

Údajový typ pole údajová štruktúra pozostávajúca z pevného počtu zložiek rovnakého typu, jednotlivé zložky sú rozĺıšiteľné a sprístupnené pomocou indexu, v prípade poľa rozlišujeme dva údajové typy: údajový typ zložiek po ľa, údajový typ indexu,

Údajový typ pole údajová štruktúra pozostávajúca z pevného počtu zložiek rovnakého typu, jednotlivé zložky sú rozĺıšiteľné a sprístupnené pomocou indexu, v prípade poľa rozlišujeme dva údajové typy: údajový typ zložiek po ľa, údajový typ indexu, index nadobúda hodnoty ordinálneho typu,

Údajový typ pole údajová štruktúra pozostávajúca z pevného počtu zložiek rovnakého typu, jednotlivé zložky sú rozĺıšiteľné a sprístupnené pomocou indexu, v prípade poľa rozlišujeme dva údajové typy: údajový typ zložiek po ľa, údajový typ indexu, index nadobúda hodnoty ordinálneho typu, všeobecná deklarácia premennej: var PREMENNA: array [typ indexu] of typ zložiek;

Údajový typ pole príklady deklarácie: var A : array[1..10] of integer;

Údajový typ pole príklady deklarácie: var A : array[1..10] of integer; B : array[1..100] of real;

Údajový typ pole príklady deklarácie: var A : array[1..10] of integer; B : array[1..100] of real; C : array[1..5,1..10] of char;

Údajový typ pole príklady deklarácie: var A : array[1..10] of integer; B : array[1..100] of real; C : array[1..5,1..10] of char; D : array[char] of char;

Údajový typ pole príklady deklarácie: var A : array[1..10] of integer; B : array[1..100] of real; C : array[1..5,1..10] of char; D : array[char] of char; E : array[boolean] of integer;

Údajový typ pole príklady deklarácie: var A : array[1..10] of integer; B : array[1..100] of real; C : array[1..5,1..10] of char; D : array[char] of char; E : array[boolean] of integer; F : array[ A.. Z ] of integer;

Údajový typ pole príklady deklarácie: var A : array[1..10] of integer; B : array[1..100] of real; C : array[1..5,1..10] of char; D : array[char] of char; E : array[boolean] of integer; F : array[ A.. Z ] of integer; prístup k zložkám: A[1] := 5;

Údajový typ pole príklady deklarácie: var A : array[1..10] of integer; B : array[1..100] of real; C : array[1..5,1..10] of char; D : array[char] of char; E : array[boolean] of integer; F : array[ A.. Z ] of integer; prístup k zložkám: A[1] := 5; B[0] := 2.8;!!!

Údajový typ pole príklady deklarácie: var A : array[1..10] of integer; B : array[1..100] of real; C : array[1..5,1..10] of char; D : array[char] of char; E : array[boolean] of integer; F : array[ A.. Z ] of integer; prístup k zložkám: A[1] := 5; B[0] := 2.8;!!! C[2,2] := T ;

Údajový typ pole príklady deklarácie: var A : array[1..10] of integer; B : array[1..100] of real; C : array[1..5,1..10] of char; D : array[char] of char; E : array[boolean] of integer; F : array[ A.. Z ] of integer; prístup k zložkám: A[1] := 5; B[0] := 2.8;!!! C[2,2] := T ; D[ X ] := G ;

Údajový typ pole príklady deklarácie: var A : array[1..10] of integer; B : array[1..100] of real; C : array[1..5,1..10] of char; D : array[char] of char; E : array[boolean] of integer; F : array[ A.. Z ] of integer; prístup k zložkám: A[1] := 5; B[0] := 2.8;!!! C[2,2] := T ; D[ X ] := G ; E[true] := 1;

Údajový typ pole príklady deklarácie: var A : array[1..10] of integer; B : array[1..100] of real; C : array[1..5,1..10] of char; D : array[char] of char; E : array[boolean] of integer; F : array[ A.. Z ] of integer; prístup k zložkám: A[1] := 5; B[0] := 2.8;!!! C[2,2] := T ; D[ X ] := G ; E[true] := 1; F[ A ] := 10;

Údajový typ pole 1. Definícia problému: Zostavte program, ktorý načíta postupnosť znakov ukončených znakom X a zistí koľkokrát sa vyskytli znaky I, J, K, L, M, N.

Údajový typ pole 1. Definícia problému: Zostavte program, ktorý načíta postupnosť znakov ukončených znakom X a zistí koľkokrát sa vyskytli znaky I, J, K, L, M, N. 2. Návrh riešenia: Vstupy: ZNAK - znak

Údajový typ pole 1. Definícia problému: Zostavte program, ktorý načíta postupnosť znakov ukončených znakom X a zistí koľkokrát sa vyskytli znaky I, J, K, L, M, N. 2. Návrh riešenia: Vstupy: ZNAK - znak Výstupy: POCET - pole celých čísel

Údajový typ pole 1. Definícia problému: Zostavte program, ktorý načíta postupnosť znakov ukončených znakom X a zistí koľkokrát sa vyskytli znaky I, J, K, L, M, N. 2. Návrh riešenia: Vstupy: ZNAK - znak Výstupy: POCET - pole celých čísel Metóda: porovnaním

Údajový typ pole 1. Definícia problému: Zostavte program, ktorý načíta postupnosť znakov ukončených znakom X a zistí koľkokrát sa vyskytli znaky I, J, K, L, M, N. 2. Návrh riešenia: Vstupy: ZNAK - znak Výstupy: POCET - pole celých čísel Metóda: porovnaním 3. Zostavenie algoritmu: 4. Testovanie algoritmu: 5. Kódovanie:

Údajový typ pole program VYSKYT PISMEN; uses CRT; var ZNAK : char; {- vstup } POCET: array[ I.. N ] of integer; {- vystup } begin { Popis programu } ClrScr; writeln( Program... ); writeln; { Vynulovanie pocitadla } for ZNAK:= I to N do POCET[ZNAK] := 0; { Nacitanie, porovnanie a zmena pocitadla } repeat write( Zadaj lubovolne pismeno : ); readln(znak); if ZNAK in [ I.. N ] then POCET[ZNAK] := POCET[ZNAK] + 1; until ZNAK = X ; { Tlac stavu pocitadla } for ZNAK:= I to N do writeln( Vyskyt pismena,znak, je,pocet[znak]); readln;

Údajový typ reťazec znakov string - jednorozmerné pole znakov type string = array[0..255] of char; var X : string; nultý byte - aktuálna dĺžka reťazca X := FERO ; potom X[0] = 4

Údajový typ reťazec znakov Procedury a funkcie pre prácu s reťazcami Concat - funkcia na spájanie reťazcov S := Concat(S1, S2,..., Sn);

Údajový typ reťazec znakov Procedury a funkcie pre prácu s reťazcami Concat - funkcia na spájanie reťazcov S := Concat(S1, S2,..., Sn); S := Concat( Dnes, je, streda ); S <-- Dnes + je + streda ;

Údajový typ reťazec znakov Procedury a funkcie pre prácu s reťazcami Concat - funkcia na spájanie reťazcov S := Concat(S1, S2,..., Sn); S := Concat( Dnes, je, streda ); S <-- Dnes + je + streda ; Copy - funkcia, ktorá vracia podreťazec z reťazca S := Copy(S1, I, P);

Údajový typ reťazec znakov Procedury a funkcie pre prácu s reťazcami Concat - funkcia na spájanie reťazcov S := Concat(S1, S2,..., Sn); S := Concat( Dnes, je, streda ); S <-- Dnes + je + streda ; Copy - funkcia, ktorá vracia podreťazec z reťazca S := Copy(S1, I, P); S := Copy( ABCD,2,2); S <-- BC ;

Údajový typ reťazec znakov Procedury a funkcie pre prácu s reťazcami Concat - funkcia na spájanie reťazcov S := Concat(S1, S2,..., Sn); S := Concat( Dnes, je, streda ); S <-- Dnes + je + streda ; Copy - funkcia, ktorá vracia podreťazec z reťazca S := Copy(S1, I, P); S := Copy( ABCD,2,2); S <-- BC ; Delete - procedúra, ktorá vymaže podreťazec z reťazca Delete(S, I, P);

Údajový typ reťazec znakov Procedury a funkcie pre prácu s reťazcami Concat - funkcia na spájanie reťazcov S := Concat(S1, S2,..., Sn); S := Concat( Dnes, je, streda ); S <-- Dnes + je + streda ; Copy - funkcia, ktorá vracia podreťazec z reťazca S := Copy(S1, I, P); S := Copy( ABCD,2,2); S <-- BC ; Delete - procedúra, ktorá vymaže podreťazec z reťazca Delete(S, I, P); S := ABCD ; Delete(S, 2, 2); S <-- AD ;

Údajový typ reťazec znakov Procedury a funkcie pre prácu s reťazcami Insert - procedúra, ktorá vkladá podreťazec do reťazca Insert(S1, S, I);

Údajový typ reťazec znakov Procedury a funkcie pre prácu s reťazcami Insert - procedúra, ktorá vkladá podreťazec do reťazca Insert(S1, S, I); S := AD ; Insert( BC, S, 2); S <-- ABCD ;

Údajový typ reťazec znakov Procedury a funkcie pre prácu s reťazcami Insert - procedúra, ktorá vkladá podreťazec do reťazca Insert(S1, S, I); S := AD ; Insert( BC, S, 2); S <-- ABCD ; Length - funkcia, ktorá vracia dĺžku reťazca S := ABCD ; D := Length(S); D <-- 4;

Údajový typ reťazec znakov Procedury a funkcie pre prácu s reťazcami Insert - procedúra, ktorá vkladá podreťazec do reťazca Insert(S1, S, I); S := AD ; Insert( BC, S, 2); S <-- ABCD ; Length - funkcia, ktorá vracia dĺžku reťazca S := ABCD ; D := Length(S); D <-- 4; Pos - funkcia, ktorá vyhľadá podreťazec v reťazci P := Pos(S1, S);

Údajový typ reťazec znakov Procedury a funkcie pre prácu s reťazcami Insert - procedúra, ktorá vkladá podreťazec do reťazca Insert(S1, S, I); S := AD ; Insert( BC, S, 2); S <-- ABCD ; Length - funkcia, ktorá vracia dĺžku reťazca S := ABCD ; D := Length(S); D <-- 4; Pos - funkcia, ktorá vyhľadá podreťazec v reťazci P := Pos(S1, S); P := Pos( BC, ABCD ); P <-- 2;

Údajový typ reťazec znakov Procedury a funkcie pre prácu s reťazcami Str - procedúra konvertuje numerickú hodnotu na reťazec X := 1.25; Str(X, S); S <-- 1.25 ;

Údajový typ reťazec znakov Procedury a funkcie pre prácu s reťazcami Str - procedúra konvertuje numerickú hodnotu na reťazec X := 1.25; Str(X, S); S <-- 1.25 ; Val - procedúra konvertuje reťazec na numerickú hodnotu S := 1.25 ; Val(S, X, C); X <-- 1.25; C <-- 0;

Obsah Rozdelenie štruktúrovaných údajových typov Údajový typ pole Údajový typ záznam Údajový typ množina Údajový typ súbor

Údajový typ záznam štruktúrovaný údajový typ, ktorý zoskupuje zložky rôzneho typu, jednotlivé zložky sú rozĺıšiteľné a sprístupnené pomocou mena zložky, všeobecna definícia: type Tzaznam = record POLOZKA 1 : Typ1;... POLOZKA N : TypN; end; var ZAZNAM : Tzaznam;

Údajový typ záznam príklady definície a deklarácie: type Komplexne cislo = record Re : real; Im : real end;

Údajový typ záznam príklady definície a deklarácie: type Komplexne cislo = record Re : real; Im : real end; Datum = record Den : 1..31; Mes : 1..12; Rok : integer end;

Údajový typ záznam príklady definície a deklarácie: type Komplexne cislo = record Re : real; Im : real end; Datum = record Den : 1..31; Mes : 1..12; Rok : integer end; Osoba = record Meno : string; Priezvisko : string; Datum narodenia : Datum; Pohlavie : (muz, zena) end;

Údajový typ záznam prístup k zložkám: K.Im := - 1.5; D.Rok := 2017; O.Meno := Ondrej ; použitie príkazu with: with D do begin D.Den := 11; Den := 11; D.Mes := 4; <=> Mes := 4; D.Rok := 2017; Rok := 2017; end;

Údajový typ záznam 1. Definícia problému: Zostavte program pre načítanie kurzovej tabuľky s N riadkami. Riadok tvorí kód, názov a kurz meny. Tabuľku vytlačte. 2. Návrh riešenia: Vstupy: N - celé číslo, počet riadkov TAB - pole riadkov (riadok - záznam: Kod, Nazov, Kurz) Výstupy: TAB - pole riadkov (riadok - záznam: Kod, Nazov, Kurz) Metóda: načítanie a tlač tabuľky 3. Zostavenie algoritmu: 4. Testovanie algoritmu: 5. Kódovanie:

Údajový typ záznam program KURZOVA TABULKA; uses CRT; const Nmax = 25; DK = 3; DN = 20; PZ = 10; PD = 4; type riadok = record KOD : string[dk]; NAZOV: string[dn]; KURZ : real; end; tabulka = array[1..nmax] of riadok; var N : integer; { - vstup } TAB : tabulka; { - vstup/vystup } I : integer; { - pomocna premenna } begin end.

Údajový typ záznam begin { Nacitanie poctu riadkov tabulky } ClrScr; write( Zadaj pocet riadkov tabulky ); readln(n); { Nacitanie tabulky } writeln; for I:=1 to N do begin write( Kod : ); readln(tab[i].kod); write( Nazov : ); readln(tab[i].nazov); write( Kurz : ); readln(tab[i].kurz); end; { Vypisanie tabulky } writeln; writeln( KOD :DK, NAZOV :DN, KURZ :PZ); for I:=1 to N do with TAB[I] do writeln(kod:dk,nazov:dn,kurz:pz:pd); readln; end.

Obsah Rozdelenie štruktúrovaných údajových typov Údajový typ pole Údajový typ záznam Údajový typ množina Údajový typ súbor

Údajový typ množina štruktúrovaný údajový typ pozostávajúci z množiny prvkov ordinálneho typu, počet prvkov množiny je v rozsahu 0 až 255,

Údajový typ množina štruktúrovaný údajový typ pozostávajúci z množiny prvkov ordinálneho typu, počet prvkov množiny je v rozsahu 0 až 255, deklarácia premennej: var PREMENNA : set of typ prvku;

Údajový typ množina štruktúrovaný údajový typ pozostávajúci z množiny prvkov ordinálneho typu, počet prvkov množiny je v rozsahu 0 až 255, deklarácia premennej: var PREMENNA : set of typ prvku; príklady definície a deklarácie: type znaky = set of char; cisla = set of 1..9; var Z : znaky; C : cisla; P : set of char; K : set of a.. z ;

Údajový typ množina sprístupnenie zložiek typu množina: C := [ 1, 2, 3, 4 ]; P := [ ]; P := [ A, Z, *,! ]; K := [ c, e, g ];

Údajový typ množina sprístupnenie zložiek typu množina: C := [ 1, 2, 3, 4 ]; P := [ ]; P := [ A, Z, *,! ]; K := [ c, e, g ]; pre prácu s množinami sú prípustné všetky relačné operácie <, <=, =, <>, >=, >

Údajový typ množina sprístupnenie zložiek typu množina: C := [ 1, 2, 3, 4 ]; P := [ ]; P := [ A, Z, *,! ]; K := [ c, e, g ]; pre prácu s množinami sú prípustné všetky relačné operácie <, <=, =, <>, >=, > prípustné množinové operácie: zjednotenie množín : A B => A + B prienik množín : A B => A B rozdiel množín : A B => A B príslušnosť k množine : A B => A in B

Údajový typ množina hodnota A hodnota B výraz výsledok operácia [1,2,3,4] [1,2,3,4] A = B True = [ a, b, c ] [ c, a ] A = B False =

Údajový typ množina hodnota A hodnota B výraz výsledok operácia [1,2,3,4] [1,2,3,4] A = B True = [ a, b, c ] [ c, a ] A = B False = [1,2,3] [3,1,2,4] A <> B True <> [ c.. t ] [ t.. c ] A <> B False <>

Údajový typ množina hodnota A hodnota B výraz výsledok operácia [1,2,3,4] [1,2,3,4] A = B True = [ a, b, c ] [ c, a ] A = B False = [1,2,3] [3,1,2,4] A <> B True <> [ c.. t ] [ t.. c ] A <> B False <> [1,2,3,4] [2,3,4] A >= B True >= [ a.. z ] [ b.. t ] A >= B True >=

Údajový typ množina hodnota A hodnota B výraz výsledok operácia [1,2,3,4] [1,2,3,4] A = B True = [ a, b, c ] [ c, a ] A = B False = [1,2,3] [3,1,2,4] A <> B True <> [ c.. t ] [ t.. c ] A <> B False <> [1,2,3,4] [2,3,4] A >= B True >= [ a.. z ] [ b.. t ] A >= B True >= [1,2,3] [1,2,3,4] A <= B True <= [ d.. h ] [ z.. a ] A <= B True <=

Údajový typ množina hodnota A hodnota B výraz výsledok operácia [1,2,3,4] [1,2,3,4] A = B True = [ a, b, c ] [ c, a ] A = B False = [1,2,3] [3,1,2,4] A <> B True <> [ c.. t ] [ t.. c ] A <> B False <> [1,2,3,4] [2,3,4] A >= B True >= [ a.. z ] [ b.. t ] A >= B True >= [1,2,3] [1,2,3,4] A <= B True <= [ d.. h ] [ z.. a ] A <= B True <= [1,2,3] [1,4,5] A + B [1,2,3,4,5] [ A.. D ] [ E.. Z ] A + B [ A.. Z ]

Údajový typ množina hodnota A hodnota B výraz výsledok operácia [] [] A + B []

Údajový typ množina hodnota A hodnota B výraz výsledok operácia [] [] A + B [] [1,2,3] [1,4,2,5] A * B [1,2] [ A.. Z ] [ B.. R ] A * B [ B.. R ] [] [1,2] A * B []

Údajový typ množina hodnota A hodnota B výraz výsledok operácia [] [] A + B [] [1,2,3] [1,4,2,5] A * B [1,2] [ A.. Z ] [ B.. R ] A * B [ B.. R ] [] [1,2] A * B [] [1,2,3,4] [3,4,1] A - B [2] [ a.. z ] [ d.. z ] A - B [ a.. c ]

Údajový typ množina hodnota A hodnota B výraz výsledok operácia [] [] A + B [] [1,2,3] [1,4,2,5] A * B [1,2] [ A.. Z ] [ B.. R ] A * B [ B.. R ] [] [1,2] A * B [] [1,2,3,4] [3,4,1] A - B [2] [ a.. z ] [ d.. z ] A - B [ a.. c ] [2] [1,2,3] A in B True [ v ] [ a.. n ] A in B False [x1] [x0,x1,x2,x3] A in B True

Údajový typ množina 1. Definícia problému: Zostavte program, ktorý načíta postupnosť znakov písmen malej abecedy ukončenú znakom z, nájde najmenší znak a vytlačí zotriedené znaky.

Údajový typ množina 1. Definícia problému: Zostavte program, ktorý načíta postupnosť znakov písmen malej abecedy ukončenú znakom z, nájde najmenší znak a vytlačí zotriedené znaky. 2. Návrh riešenia: Vstupy: ZNAK - znak

Údajový typ množina 1. Definícia problému: Zostavte program, ktorý načíta postupnosť znakov písmen malej abecedy ukončenú znakom z, nájde najmenší znak a vytlačí zotriedené znaky. 2. Návrh riešenia: Vstupy: ZNAK - znak Výstupy: MIN - znak MNOZINA - mnozina znakov

Údajový typ množina 1. Definícia problému: Zostavte program, ktorý načíta postupnosť znakov písmen malej abecedy ukončenú znakom z, nájde najmenší znak a vytlačí zotriedené znaky. 2. Návrh riešenia: Vstupy: ZNAK - znak Výstupy: MIN - znak MNOZINA - mnozina znakov Metóda: načítanie a tlač množiny znakov

Údajový typ množina 1. Definícia problému: Zostavte program, ktorý načíta postupnosť znakov písmen malej abecedy ukončenú znakom z, nájde najmenší znak a vytlačí zotriedené znaky. 2. Návrh riešenia: Vstupy: ZNAK - znak Výstupy: MIN - znak MNOZINA - mnozina znakov Metóda: načítanie a tlač množiny znakov 3. Zostavenie algoritmu: 4. Testovanie algoritmu: 5. Kódovanie:

Údajový typ množina program MNOZINA PRVKOV; uses CRT; type Tmnozina = set of char; var ZNAK : char; { - vstup } MIN : char; { - vystup } MNOZINA : Tmnozina; begin end.

Údajový typ množina begin { Nacitanie prvkov mnoziny: } MNOZINA := []; repeat repeat write( Zadaj pismeno malej abecedy ); readln(znak); if not (ZNAK in [ a.. z ]) then writeln( Nespravne zadane pismeno malej abecedy!, zadat opat ); until ZNAK in [ a.. z ]; MNOZINA := MNOZINA + [ZNAK]; until ZNAK = z ; { Najdenie najmensieho prvku: } ZNAK := a ; while not (ZNAK in MNOZINA) do ZNAK := succ(znak); MIN := ZNAK; writeln; writeln( Najmensie pismeno malej abecedy je :,MIN); { Zotriedenie prvkov mnoziny: } writeln; for ZNAK := a to z do if ZNAK in MNOZINA then write(znak, ); readln; end.

Obsah Rozdelenie štruktúrovaných údajových typov Údajový typ pole Údajový typ záznam Údajový typ množina Údajový typ súbor

Údajový typ súbor súbor - pomenovaná oblasť vonkajšej pamäte, určená pre uchovanie dát, štruktúrovaný údajový typ pozostávajúci z postupnosti zložiek rovnakého typu, pre ktoré sú definované určité operácie, operácie umožňujú spracovanie súboru, t.j. postupné čítanie, resp. zápis zložiek do súboru, v každom okamihu je práve prístupná jedna zložka súboru,

Údajový typ súbor podľa typu zložky rozoznávame tri typy súborov: typový súbor - zložka definovaného typu var subor1 : file of Tkniha;

Údajový typ súbor podľa typu zložky rozoznávame tri typy súborov: typový súbor - zložka definovaného typu var subor1 : textový súbor - zložka je znak var subor2 : file of Tkniha; text;

Údajový typ súbor podľa typu zložky rozoznávame tri typy súborov: typový súbor - zložka definovaného typu var subor1 : textový súbor - zložka je znak var subor2 : netypový súbor - zložka je byte var subor3 : file of Tkniha; text; file;

Údajový typ súbor príklady definície a deklarácie: type Tkniha = record autor : string; nazov : string; rok vydania: integer; pocet stran: integer; end;

Údajový typ súbor príklady definície a deklarácie: type Tkniha = record autor : string; nazov : string; rok vydania: integer; pocet stran: integer; end; var Subor : file of Tkniha;

Údajový typ súbor Postup práce so súborom vytvorenie prepojenia,

Údajový typ súbor Postup práce so súborom vytvorenie prepojenia, otvorenie súboru,

Údajový typ súbor Postup práce so súborom vytvorenie prepojenia, otvorenie súboru, práca so súborom,

Údajový typ súbor Postup práce so súborom vytvorenie prepojenia, otvorenie súboru, práca so súborom, zatvorenie súboru.

Údajový typ súbor Procedúry a funkcie pre prácu s typovým súborom var SUB : file of Tkniha; SUBOR: string; ZAZNAM: Tkniha;

Údajový typ súbor Procedúry a funkcie pre prácu s typovým súborom var SUB : file of Tkniha; SUBOR: string; ZAZNAM: Tkniha; assign(sub,subor) vytvorenie prepojenia medzi premennou SUB typu súbor a konkrétnym externým súborom SUBOR

Údajový typ súbor Procedúry a funkcie pre prácu s typovým súborom var SUB : file of Tkniha; SUBOR: string; ZAZNAM: Tkniha; assign(sub,subor) vytvorenie prepojenia medzi premennou SUB typu súbor a konkrétnym externým súborom SUBOR rewrite(sub) vytvorí nový súbor (existujúci sa zmaže), použitie pre čítanie aj zápis,

Údajový typ súbor Procedúry a funkcie pre prácu s typovým súborom var SUB : file of Tkniha; SUBOR: string; ZAZNAM: Tkniha; assign(sub,subor) vytvorenie prepojenia medzi premennou SUB typu súbor a konkrétnym externým súborom SUBOR rewrite(sub) vytvorí nový súbor (existujúci sa zmaže), použitie pre čítanie aj zápis, reset(sub) otvorí existujúci súbor pre čítanie aj zápis,

Údajový typ súbor Procedúry a funkcie pre prácu s typovým súborom var SUB : file of Tkniha; SUBOR: string; ZAZNAM: Tkniha; assign(sub,subor) vytvorenie prepojenia medzi premennou SUB typu súbor a konkrétnym externým súborom SUBOR rewrite(sub) vytvorí nový súbor (existujúci sa zmaže), použitie pre čítanie aj zápis, reset(sub) otvorí existujúci súbor pre čítanie aj zápis, read(sub,zaznam) čítanie položky so súboru SUB do premennej ZAZNAM,

Údajový typ súbor Procedúry a funkcie pre prácu s typovým súborom write(sub,zaznam) zápis položky do súboru SUB z premennej ZAZNAM, seek(sub,i) presun v súbore SUB na pozíciu I,

Údajový typ súbor Procedúry a funkcie pre prácu s typovým súborom write(sub,zaznam) zápis položky do súboru SUB z premennej ZAZNAM, seek(sub,i) presun v súbore SUB na pozíciu I, filesize(sub) funkcia, ktorá vracia veľkosť súboru,

Údajový typ súbor Procedúry a funkcie pre prácu s typovým súborom write(sub,zaznam) zápis položky do súboru SUB z premennej ZAZNAM, seek(sub,i) presun v súbore SUB na pozíciu I, filesize(sub) funkcia, ktorá vracia veľkosť súboru, filepos(sub) funkcia, ktorá vracia pozíciu v súbore,

Údajový typ súbor Procedúry a funkcie pre prácu s typovým súborom write(sub,zaznam) zápis položky do súboru SUB z premennej ZAZNAM, seek(sub,i) presun v súbore SUB na pozíciu I, filesize(sub) funkcia, ktorá vracia veľkosť súboru, filepos(sub) funkcia, ktorá vracia pozíciu v súbore, eof(sub) funkcia, ktorá vracia hodnotu true, ak je pozícia na konci súboru, ináč false,

Údajový typ súbor Procedúry a funkcie pre prácu s typovým súborom write(sub,zaznam) zápis položky do súboru SUB z premennej ZAZNAM, seek(sub,i) presun v súbore SUB na pozíciu I, filesize(sub) funkcia, ktorá vracia veľkosť súboru, filepos(sub) funkcia, ktorá vracia pozíciu v súbore, eof(sub) funkcia, ktorá vracia hodnotu true, ak je pozícia na konci súboru, ináč false, close(sub) zatvorenie súboru

Údajový typ súbor 1. Definícia problému: Zostavte program pre načítanie kartotéky, ktorej záznam tvoria položky: Meno, Pohlavie, Stav a Výška. Načítaný zaznam uložiť do typového súboru. Nájsť počet ženatých mužov, slobodných žien a slobodných vysokých žien. 2. Návrh riešenia: Vstupy: KARTA - pole záznamov Výstupy: KARTA - pole záznamov PZM - celé číslo, počet ženatých mužov PSZ - celé číslo, počet slobodných žien PVZ - celé číslo, počet slobodných vysokých žien Metóda: načítanie poľa záznamov a jeho uloženie do súboru, zistenie počtu PZM, PSZ, PVZ 3. Zostavenie algoritmu: 4. Testovanie algoritmu: 5. Kódovanie:

Údajový typ súbor program TypovySubor; const Nmax = 50; Vysoka = 170; type Tosoba = record Meno : string; Pohl : (muz,zena); Stav : (slob,zen,rozv,vdov); Vyska: integer; end; Tsubor = file of Tosoba; Tosoby = array[1..nmax] of Tosoba; var KARTA SUBOR ZNAK S : Tosoby; : Tsubor; : char; : string; N, V, C, I : integer; PZM,PSZ,PVZ: integer;

Údajový typ súbor... begin { Nacitanie vstupov : } N := 0; repeat N := N + 1; { Nacitanie Mena : } write ( Meno : ); readln(karta[n].meno); { Nacitanie Pohl : } repeat write( Pohl (m-muz,z-zena): ); readln(znak) until ZNAK in [ m, z ]; case ZNAK of m : KARTA[N].Pohl:=muz; end;... z : KARTA[N].Pohl:=zena;

Údajový typ súbor... { Nacitanie Stav : } repeat write( Stav (s-slob,z-zen,r-rozv,v-vdov): ); readln(znak) until ZNAK in [ s, z, r, v ]; case ZNAK of s : KARTA[N].Stav:=slob; z : KARTA[N].Stav:=zen; r : KARTA[N].Stav:=rozv; v : KARTA[N].Stav:=vdov; end; { Nacitanie Vyska : } repeat write( Vyska: ); readln(s); val(s,v,c); until C = 0; KARTA[N].Vyska:=V;...

Údajový typ súbor... { Nacitanie ukoncenia : } write( Koniec - 1, Pokracuj - 0? ); readln(znak); writeln until (ZNAK = 1 ) or (N = Nmax); { Ulozenie vstupov do typoveho suboru } assign(subor, subor.dat ); rewrite(subor); for I:=1 to N do write(subor,karta[i]); close(subor);...

Údajový typ súbor... { Zistit pocet muzov a zien } PZM:=0; PSZ:=0; PVZ:=0; for I:=1 to N do with KARTA[I] do case Pohl of muz : if stav=zen then PZM := PZM + 1; zena: begin if stav = slob then PSZ := PSZ + 1; if (stav = slob) and (Vyska > Vysoka) then PVZ := PVZ + 1; end; end;...

Údajový typ súbor... { Tlac vysledkov } writeln( Pocet zenatych muzov =,PZM); writeln( Pocet slobodnych zien =,PSZ); writeln( Pocet slobodnych vysokych zien =,PSZ); readln; end.

Údajový typ súbor Procedúry a funkcie pre prácu s textovým súborom var SUB : text; SUBOR: string;

Údajový typ súbor Procedúry a funkcie pre prácu s textovým súborom var SUB : text; SUBOR: string; assign(sub,subor) vytvorenie prepojenia medzi premennou SUB typu súbor a konkrétnym externým súborom SUBOR

Údajový typ súbor Procedúry a funkcie pre prácu s textovým súborom var SUB : text; SUBOR: string; assign(sub,subor) vytvorenie prepojenia medzi premennou SUB typu súbor a konkrétnym externým súborom SUBOR rewrite(sub) vytvorí nový súbor (existujúci sa zmaže), použitie iba pre zápis,

Údajový typ súbor Procedúry a funkcie pre prácu s textovým súborom var SUB : text; SUBOR: string; assign(sub,subor) vytvorenie prepojenia medzi premennou SUB typu súbor a konkrétnym externým súborom SUBOR rewrite(sub) vytvorí nový súbor (existujúci sa zmaže), použitie iba pre zápis, reset(sub) otvorí existujúci súbor iba pre čítanie,

Údajový typ súbor Procedúry a funkcie pre prácu s textovým súborom var SUB : text; SUBOR: string; assign(sub,subor) vytvorenie prepojenia medzi premennou SUB typu súbor a konkrétnym externým súborom SUBOR rewrite(sub) vytvorí nový súbor (existujúci sa zmaže), použitie iba pre zápis, reset(sub) otvorí existujúci súbor iba pre čítanie, append(sub) otvorí existujúci súbor a nastaví sa na koniec súboru iba pre zápis,

Údajový typ súbor Procedúry a funkcie pre prácu s textovým súborom read (SUB,V1, V2,..., Vn), resp. readln(sub,v1, V2,..., Vn) načítanie premenných V1, V2,..., Vn zo súboru SUB,

Údajový typ súbor Procedúry a funkcie pre prácu s textovým súborom read (SUB,V1, V2,..., Vn), resp. readln(sub,v1, V2,..., Vn) načítanie premenných V1, V2,..., Vn zo súboru SUB, write (SUB,V1, V2,..., Vn), resp. writeln(sub,v1, V2,..., Vn) zápis premenných V1, V2,..., Vn do súboru SUB,

Údajový typ súbor Procedúry a funkcie pre prácu s textovým súborom read (SUB,V1, V2,..., Vn), resp. readln(sub,v1, V2,..., Vn) načítanie premenných V1, V2,..., Vn zo súboru SUB, write (SUB,V1, V2,..., Vn), resp. writeln(sub,v1, V2,..., Vn) zápis premenných V1, V2,..., Vn do súboru SUB, eoln(sub) funkcia, ktorá vracia hodnotu true, ak je pozícia na konci riadku, ináč false,

Údajový typ súbor Procedúry a funkcie pre prácu s textovým súborom read (SUB,V1, V2,..., Vn), resp. readln(sub,v1, V2,..., Vn) načítanie premenných V1, V2,..., Vn zo súboru SUB, write (SUB,V1, V2,..., Vn), resp. writeln(sub,v1, V2,..., Vn) zápis premenných V1, V2,..., Vn do súboru SUB, eoln(sub) funkcia, ktorá vracia hodnotu true, ak je pozícia na konci riadku, ináč false, eof(sub) funkcia, ktorá vracia hodnotu true, ak je pozícia na konci súboru, ináč false,

Údajový typ súbor Procedúry a funkcie pre prácu s textovým súborom read (SUB,V1, V2,..., Vn), resp. readln(sub,v1, V2,..., Vn) načítanie premenných V1, V2,..., Vn zo súboru SUB, write (SUB,V1, V2,..., Vn), resp. writeln(sub,v1, V2,..., Vn) zápis premenných V1, V2,..., Vn do súboru SUB, eoln(sub) funkcia, ktorá vracia hodnotu true, ak je pozícia na konci riadku, ináč false, eof(sub) funkcia, ktorá vracia hodnotu true, ak je pozícia na konci súboru, ináč false, close(sub) zatvorenie súboru

Údajový typ súbor 1. Definícia problému: Zostavte program pre výpočet plochy a obvodu obdlžníka, pričom vstupy sú uložené v textovom súbore vstup.txt a výstupy uložte do textového súboru vystup.txt.

Údajový typ súbor 1. Definícia problému: Zostavte program pre výpočet plochy a obvodu obdlžníka, pričom vstupy sú uložené v textovom súbore vstup.txt a výstupy uložte do textového súboru vystup.txt. 2. Návrh riešenia: Vstupy: A - reálne číslo, strana obdlžníka B - reálne číslo, strana obdlžníka

Údajový typ súbor 1. Definícia problému: Zostavte program pre výpočet plochy a obvodu obdlžníka, pričom vstupy sú uložené v textovom súbore vstup.txt a výstupy uložte do textového súboru vystup.txt. 2. Návrh riešenia: Vstupy: A - reálne číslo, strana obdlžníka B - reálne číslo, strana obdlžníka Výstupy: O - reálne číslo, obvod obdlžníka S - reálne číslo, plocha obdlžníka

Údajový typ súbor 1. Definícia problému: Zostavte program pre výpočet plochy a obvodu obdlžníka, pričom vstupy sú uložené v textovom súbore vstup.txt a výstupy uložte do textového súboru vystup.txt. 2. Návrh riešenia: Vstupy: A - reálne číslo, strana obdlžníka B - reálne číslo, strana obdlžníka Výstupy: O - reálne číslo, obvod obdlžníka S - reálne číslo, plocha obdlžníka Metóda: O 2(A + B), resp. S A.B

Údajový typ súbor 1. Definícia problému: Zostavte program pre výpočet plochy a obvodu obdlžníka, pričom vstupy sú uložené v textovom súbore vstup.txt a výstupy uložte do textového súboru vystup.txt. 2. Návrh riešenia: Vstupy: A - reálne číslo, strana obdlžníka B - reálne číslo, strana obdlžníka Výstupy: O - reálne číslo, obvod obdlžníka S - reálne číslo, plocha obdlžníka Metóda: O 2(A + B), resp. S A.B 3. Zostavenie algoritmu: 4. Testovanie algoritmu: 5. Kódovanie:

Údajový typ súbor program TextovySubor; var A, B: real; O, S: real; SUB : text; begin { Nacitanie vstupov z textoveho suboru :} assign(sub, vstup.txt ); reset (SUB); readln(sub,a); readln(sub,b); close (SUB); { Vypocet Plochy a Obvodu :} O := (A + B)*2; S := A*B; { Ulozenie vystupov do textoveho suboru :} assign (SUB, vystup.txt ); rewrite(sub); writeln(sub, OBVOD OBDLZNIKA =,O:10:4); writeln(sub, PLOCHA OBDLZNIKA =,S:10:4); close (SUB); end.

Údajový typ súbor vstup.txt --------------- 2.0 1.5 --------------- vystup.txt --------------- OBVOD OBDLZNIKA = 7.0000 PLOCHA OBDLZNIKA = 3.0000 ---------------

Ďakujem za pozornosť