Soubory. Tomáš Oberhuber. Soubory. Soubory. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Podobné dokumenty
Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

VISUAL BASIC. Práce se soubory

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

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

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. December 7, 2016

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

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

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

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

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. November 16, 2017

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016

Práce s binárními soubory. Základy programování 2 Tomáš Kühr

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

Architektury počítačů a procesorů

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Assembler RISC RISC MIPS. T.Mainzer, kiv.zcu.cz

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

LZ77 KNIHOVNA PRO KOMPRESI A DEKOMPRESI DAT POMOCÍ ALGORITMU LZ77. Příručka uživatele a programátora

Semestrální práce z předmětu ÚPA MIPS

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

ČÍSELNÉ SOUSTAVY PŘEVODY

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Datové typy pro reálná čísla

Návod na import měřených dat ("zápisníku") GROMA

Strojový kód. Instrukce počítače

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 23, 2016

Martin Flusser. December 15, 2016

POČÍTAČE A PROGRAMOVÁNÍ

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Úvod. Instrukce musí obsahovat: typ operace adresu operandu (operandů) typ operandů modifikátory adresy modifikátory operace POT POT

Práce se soubory. Úvod do programování 2 Tomáš Kühr

Program "Světla" pro mikropočítač PMI-80

Úvod do programování. Lekce 3

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

FMS OEM CHIP V7 Stažení digitálního tachografu a karty řidiče

Práce se soubory. Úvod do programování 2 Tomáš Kühr

Telemetrický komunikační protokol JETI

Formátová specifikace má tvar (některé sekce nemají smysl pro načítání) %

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Pohled do nitra mikroprocesoru Josef Horálek

Velmi stručný návod jak dostat data z Terminálu Bloomberg do R

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.

vstup a výstupv jazyce C

vstup a výstupy jazyce C


CZ.1.07/1.5.00/

Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004

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

Systém souborů (file system, FS)

Příprava dat v softwaru Statistica

Číselné soustavy. Binární číselná soustava

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

8.3 Popis dialogových oken

Princip funkce počítače

Knihovna DataBoxLib TXV první vydání prosinec 2010 změny vyhrazeny

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

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

Program a životní cyklus programu

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory

TFTP Trivial File Transfer Protocol

10. MAPOVÁNÍ BINÁRNÍCH A ANALOGOVÝCH VSTUPŮ A VÝSTUPŮ

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Proměnná a její uložení v paměti

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

MODERNÍ SOUBOROVÉ SYSTÉMY - ZFS. Richard Janča

int ii char [16] double dd název adresa / proměnná N = nevyužito xxx xxx xxx N xxx xxx N xxx N

Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).

Knihovna SBUS. Implementace neúplných protokolů S-BUS pro stanici server, paritní a datový mód

5. A/Č převodník s postupnou aproximací

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

Bitmaps SPRÁVCE BITMAP A POMOCNÉ FUNKCE PRO PRÁCI S BITMAPAMI. Příručka uživatele a programátora

Transformace digitalizovaného obrazu

Číselné soustavy. Prvopočátky. Starověký Egypt a Mezopotámie. Již staří Římané

Algoritmizace a programování

Import dat ze souborů csv nebo xml do aplikace FinAnalysis

Vytěžování znalostí z dat

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Profilová část maturitní zkoušky 2017/2018

DATABÁZE ACCESS Vytváření tabulek TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ REPUBLIKY.

Algoritmy I. Cvičení č. 2, 3 ALGI 2018/19

NSWI /2011 ZS. Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA

Transformace dat: používání syntaxe v SPSS

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

Programovací jazyk Pascal

Reprezentace dat v informačních systémech. Jaroslav Šmarda

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

Knihovna RecDBXLib ZÁZNAMY V DATABOXU TXV

Temp-485. Teplotní čidlo pro vnitřní použití na sběrnici RS-485 s jednoduchým komunikačním protokolem

Přednáška 2 A4B38NVS - Návrh vestavěných systémů 2014, kat. měření, ČVUT - FEL, Praha J. Fischer A4B38NVS, 2014, J.Fischer, kat. měření, ČVUT - FEL 1

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

Návod k aplikaci JanDat v.2.3

Formát rámce MODBUS pro MORSE

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Transkript:

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Práce se soubory práce se soubory probíhá pomocí maker nejprve poíšeme DCB zvoleného souboru pak lze použít makra OPEN, CLOSE, GET PUT

DCB - data-set control block 1 dcbname DCB DDNAME=FILENAME, X 2 DSORG=PS, X 3 RECFM=FB, X 4 MACRF=GM DDNAME je název data-setu DSORG je organizace data-setu RECFM je formát data-setu MACRF popisuje způsob práce se souborem

MACRF - způsob práce se souborem první znak je PG (get) nebo P (put) a značí čtení nebo zápis druhý znak je M (move) nebo L (locate) a značí zda se bude nebo nebude používat buffer move - data jsou kopírována z nebo do programátorem alokovaného pole locate - makro pro čtení vrací ukazatel na vztupní buffer, kde jsou data uložena je to rychlejší ale komplikovanější

Popis souboru pro zápis 1 dcbname DCB DDNAME=FILENAME, X 2 DSORG=PS, X 3 RECFM=FBA, X 4 MACRF=PM, X 5 BLKSIZE=1330, X 6 LRECL=133 BLKSIZE je velikost fyzického bloku LRECL je velikost logického záznamu priority při určování velikosti fyzického bloku a logického záznamu 1 DCB v programu 2 JCL 3 parametry data-setu

Makra OPEN a CLOSE makro OPEN se používá ve tvaru OPEN(dcbname,(mode)) mode není povinný makro CLOSE se používá ve tvaru CLOSE(dcbname,(option)) option není povinné

Makra GET a PUT obě makra se používají ve tvaru GET dcb,area GET dcb,area 1 GET INPUTDCB, INAREA 2 PUT OUTPUTDCB,OUTAREA 3... 4 INAREA DS CL80 5 OUTAREA DS CL133

Konec souboru k definici DCB lze přidat parametr EODAD=label label udává adresu, na kterou se provede skok po dosažení konce souboru

1 COPY SETUP 2 OPEN ( INFILE, ( INPUT ) ) 3 OPEN ( OUTFILE, (OUTPUT) ) 4 5 READLOOP DS 0H 6 GET INFILE, INREC 7 MVC PRINTREC,=CL133 8 MVC PRINTREC+11(80),INREC 9 PUT OUTFILE, PRINTREC 10 B READLOOP 11 12 ENDDATA DS 0H 13 CLOSE ( INFILE ) 14 CLOSE ( OUTFILE ) 15 ENDIT 16 INFILE DCB DDNAME=SYSIN, X 17 DSORG=PS, X 18 MACRF=GM, X 19 EODAD=ENDDATA 20 OUTFILE DCB BLKSIZE=133, X 21 DDNAME=SYSPRINT, X 22 DSORG=PS, X 23 LRECL=133, X 24 MACRF=PM, X 25 RECFM=FBA 26 INREC DS CL80 27 PRINTREC DS CL133 28 END COPY Příklad

Použité instrukce B branch provede skok na danou adresu MVC move MVC PRINTREC,=CL133 maže výstupní buffer lze to provést i takto: 1 MVI PRINTREC, =C 2 MVC PRINTREC+1(132),PRINTREC první způsob alokuje literál o velikosti 133 bajtů a celkem zabere 139 bajtů druhý zabírá 10 bajtů

Použité instrukce MVC PRINTREC+11(80),INREC ve výstupní buferu se odsadí 11 znaků vlevo a překopíruje se celkem 80 znaků

Nulový duplikační faktor pro čtení/zápis tabulek 1 PRINTREC DS 0CL133 2 ASA DS CL1 3 DS CL10 4 INREC DS CL80 5 DS CL42 do INREC načteme vstupní data a do ASA zpíšeme kontrolní ASA znak tím máme nachystaný celý bufer a můžeme provést rovnou zápis

Nulový duplikační faktor pro čtení/zápis tabulek 1 CLIENT DS 0CL133 2 NAME DS CL40 3 SURNAME DS CL40 4 ADRESS DS CL40 5 ACCOUNT DS CL13 ze souboru můžeme načítat do CLIENT data klientů a okamžitě máme snadný přístup k jejich udajům

Konverze datových typů Převod znaků na formát PACKED: 1 PACK B, A 2 A DC C 589 3 B DS PL4 použité instrukce PACK D1(L1,B1),D2(L2,B2) výsledek A = x F5F8F9 B = x 0000589F

Konverze datových typů Převod z formátu PACKED do znaků: UNPK D1(L1,B1),D2(L2,B2) - unpack druhý operand převede z fomátu PACKED do znakoného zapísu a uloží do prvního operandu

Konverze datových typů Převod z formátu PACKED do binární formy: CVB R1,D2(X2,B2) convert to binary druhý operand ve formátu PACKED o délce 8 bajtů je převedn do binární formy a zapsán do registru R1

Konverze datových typů Převod z binárního formátu do formátu PACKED: CVD R1,D2(X2,B2) convert to packed první operand je přepsán z binárního tvaru do formátu PACKED o velikosti 8 bajtů jde o další výjimku, kdy se výsledek zapisuje do druhého operandu

Příklad Příklad je v EXER08.

Pokročilý převod z formátu PACKED instrukce ED umí převádět formát PACKED na znaky mnohem lépe ED D1(L,B1),D2(B2) edit druhý operand obsahuje číslo ve formátu PACKED o délce L bajtů první operand obsahuje masku do níž je vepsáno číslo z druhého operandu v znakovém zápisu

Maska pro instrukci EDIT Maska se skládá z: vyplňovací znak fill byte znak pro zápis jedné číslice editovaného čísla x 20 digit selector znak pro začátek významných cifer x 21 significance starter restartovací znak pro výpis dalšího čísla x 22 field separator

Příklad 1 ED A, B 2 A DC X 0001000C 3 B DC X 4020202020202020 po zavolání ED bude B obsahovat x 40404040F1F0F0F0 to by se vypsalo jako 1000

Příklad 1 ED A, B 2 A DC X 0001000C 3 B DC X 40202020206B202020 po zavolání ED bude B obsahovat x 40404040F16BF0F0F0 to by se vypsalo jako 1,000 6B kóduje čárku

Příklad 1 ED A, B 2 A DC X 0000999C 3 B DC X 5C20206B2020204B2020 po zavolání ED bude B obsahovat x 5C5C5C5C5C5CF94BF9F9 to by se vypsalo jako ******9.99 5C kóduje hvězdičku 4B kóduje tečku

Příklad 1 ED A, B 2 A DC X 0000000C 3 B DC X 4020202020202020 po zavolání ED bude B obsahovat x 4040404040404040 to by se vypsalo jako samé mezery

Příklad 1 ED A, B 2 A DC X 0000000C 3 B DC X 4020202020202120 po zavolání ED bude B obsahovat x 40404040404040F0 to by se vypsalo jako 0

Příklad 1 ED A, B 2 A DC X 0000000C 3 B DC X 4020202020202120 po zavolání ED bude B obsahovat x 40404040404040F0 to by se vypsalo jako 0

Příklad 1 ED A, B 2 A DC X 0067890C 3 B DC X 40204B202020202020 po zavolání ED bude B obsahovat x 40404040F6F7F8F9F0 to by se vypsalo jako 67890 pokud by A reprezentovalo číslo 0.06789, nemáme správný výsledek zde je potřeba použít significance starter

Příklad 1 ED A, B 2 A DC X 0067890C 3 B DC X 40214B202020202020 po zavolání ED bude B obsahovat x 40404B40F6F7F8F9F0 to by se vypsalo jako.067890

Příklad 1 ED A, B 2 A DC X 000067890C 3 B DC X 402021204B202020202020 po zavolání ED bude B obsahovat x 404040F04B40F6F7F8F9F0 to by se vypsalo jako 0.067890

Příklad 1 ED A, B 2 A DC X 000067890C 3 B DC X 402021204B202020 po zavolání ED bude B obsahovat x 404040F04B40F6F7 to by se vypsalo jako 0.067

Příklad 1 ED A, B 2 A DC X 0001000D 3 B DC X 40206B2020206B202020 po zavolání ED bude B obsahovat x 4040404040F16BF0F0F0 to by se vypsalo jako 1,000

Příklad 1 ED A, B 2 A DC X 0001000D 3 B DC X 40206B2020206B20202060 po zavolání ED bude B obsahovat x 4040404040F16BF0F0F060 to by se vypsalo jako 1,000-

Příklad 1 ED A, B 2 A DC X 0001000C 3 B DC X 40206B2020206B20202060 po zavolání ED bude B obsahovat x 4040404040F16BF0F0F040 to by se vypsalo jako 1,000

Příklad 1 ED A, B 2 A DC X 0001000D 3 B DC X 40206B2020206B20202040D4C9D5 po zavolání ED bude B obsahovat x 4040404040F16BF0F0F040D4C9D5E4E2 to by se vypsalo jako 1,000 MINUS