- Stahuj zápisky z přednášek a ostatní studijní materiály
- Zapisuj si jen kvalitní vyučující (obsáhlá databáze referencí)
- Nastav si své předměty a buď stále v obraze
- Zapoj se svojí aktivitou do soutěže o ceny
- Založ si svůj profil, aby tě tví spolužáci mohli najít
- Najdi své přátele podle místa kde bydlíš nebo školy kterou studuješ
- Diskutuj ve skupinách o tématech, které tě zajímají
Studijní materiály
Hromadně přidat materiály
Soubor přednášek
AP_1 - Algoritmizace a programovací techniky
Hodnocení materiálu:
Zjednodušená ukázka:
Stáhnout celý tento materiálTyp dat Určuje množinu hodnot, do které daná konstanta patří nebo kterou může daná proměnná nebo výraz nabýt nebo kterou může daná funkce vypočítat.
Typ konstanty, proměnné nebo výrazu lze určit z jejich deklarace nebo zápisu
Každý operátor nebo funkce předpokládá argumenty přesně definovaných typů a poskytuje výsledek rovněž přesně definovaných typů Typ dat – výčet Nestrukturovaný typ dat T , který vzniká výčtem všech možných hodnot
c1 , c2,….., cn.
type T = (c1, c2,….., cn)
Příklady :
type tvar = (obdelník, čtverec, elipsa, kruh)
type barva= (černá, bílá, modrá, zelená, červená)
type den= (pondělí, úterý, středa, čtvrtek, pátek, sobota, neděle) Typ dat - výčet zavedením takovéhoto typu se nezavádí pouze nový identifikátor typu, ale i množina identifikátorů označujících hodnoty nového typu.
Tyto identifikátory se v programu dají použít jako konstanta, což zlepšuje srozumitelnost programu
zavedeme v programu proměnné a,b,c
var a : tvar
var b : barva
var c : den Typ dat - výčet Následující přiřazení :
a := čtverec
b := červená
c := středa
Uvažujeme-li o nějakém typu jako o uspořádaném, je na místě zavést funkci, která vrací jako hodnotu následovníka nebo předchůdce svých argumentů
funkce succ(x), pred(x)
Uspořádání hodnot typu T je dáno pravidlem : (ci, < cj) = (i < j) Proměnná nabývá hodnoty určitého typu, ale pouze v rámci stanoveného intervalu
type T = min..max
Kde min a max jsou hranice intervalu
Příklady :
type rok = 1900..2000
type pismeno= ‘A’..’Z’
type cislice= ‘0’..’9’
Přípustné přiřazení :
var y : rok
var L : pismeno Typ dat - interval Datové typy Identifikátory datových a řídících prvků se skládají ze znaků a číslic, alenesmí obsahovat následující znaky :
+ - * / = < > [ ] . , ( ) : ; ^ @ { } $ #
Datové typy lze rozčlenit do několika základních skupin :
Standardní datové typy
Strukturované datové typy
Typ ukazatel
Typ procedura Standardní datové typy Integer – celá čísla
Real – reálná čísla, čísla která mají desetinnou část
Char – jednotlivé znaky, symboly, číslice.
String – posloupnost zanků ohraničená apostrofy
Boolean – logický datový typ, může nabývat pouze jednu ze dvou logických hodnot. Typ Integer Zahrnuje podmnožinu množiny celých čísel
základní matematické operace :
(+) - sčítání
(-) - odčítání
(*) - násobení
(div)- dělení - od této operace se očekává celočíselný výsledek, zbytek po dělení se zanedbává Typ Integer Pro dvě kladná čísla m, n platí :
m - n < (m div n) * n < = m
Operátor „modulo“ (mod) je definovaný prostřednictvím operace dělením rovnicí :
(m div n) * n + (m mod n) = m,
kde m div n je celočíselný podíl čísel m, n
kde m mod n je příslušný zbytek po dělení 8B -263+1 .. 263-1 Comp 4B -2147483648..2147483647 Longint 2B -32768..32767 Integer 2B 0..65535 Word 1B -128..127 Shortint 1B 0..255 Byte Délka Rozsah Typ Typ Integer Používá se pro vyjádření hodnot s pohyblivou desetinnou čárkou
Označuje podmnožinu reálných čísel
Připouštějí se nepřesnosti v rámci limitu chyb způsobených zaokrouhlováním dolů.
závisí na typu programovacích jazyků
na druhu počítače
Výsledkem operace dělení reálných čísel je reálný podíl - označení symbolem (/)
Typ Real 10B 3,4*10-4932 – 1,1*104932 Extended 8B 5,0*10-324 – 1,7*10308 Double 4B 1,5*10-45 – 3,4*1038 Single 6B 2,9*10-39 – 1,7*1038 Real Délka Rozsah Typ - Překlad s numerickým koprocesorem a direktivou {$N+}
- Emulací matematického koprocesoru a direktivy {$E+} Typ Real Zahrnuje množinu znaků, které lze vytisknout na daném počítači
Vyjadřují zobrazitelnou reprezentaci ohraničenou apostrofy, např. ‘B’
Znak lze vyjádřit pomocí ASCII kódu :
CHR(66) nebo #66 ‘B’
ASCII - Americký standardní kód pro výměnu informací
95 vytisknutelných znaků (32-126)
33 řídících znaků (0-31, 127) Typ char Převod mezi typy char a integer :
ord(c) - argument c je typu char, a výsledek je typu integer, určující pořadové číslo znaku c v množině znaků char.
chr(i) - argument i je typu integer, a výsledek je typu char, určující i-tý znak z množiny char.
Platí : ord(chr(i)) = i chr(ord(c)) = c
Významné funkce :
f(c) = ord(c) - ord(‘0’) - pozice znaku c mezi číslicemi
g(i) = chr(i + ord(‘0’)) - i-tá číslice Typ char Datový typ určený pro práci s řetězcem znaků
Max. velikost 255 znaků (var st : string)
Délka definovaná uživatelem
type st20 = string[20]; var s : st20
nebo
const poc = 20; type st20 = string[poc]; var s : st20
s[0] – 0-tý Byte stringu obsahuje údaj (typ char) o jeho délce :
s := ‘PONDĚLÍ‘; var a : byte; a := ord(s[0]) { a := 7 }
s[n] – n-tý znak v řetězci s (n >= 0) :
s := ‘PONDĚLÍ‘; var c : char; c := s[1] { c := ‘P‘ }
jestliže c := s[ord(s[0])] získáme poslední znak stringu S {‘Í‘} Typ string Obsahuje dvě hodnoty, které se označují identifikátory true, false
Logický součin - konjunkce (and)
Logické součet - disjunkce (or)
Logická negace - (not) p q p or q p and q not p true true true true false true false true false false false true true false true false false false false true Typ Boolean
1. příklad Program Priklad1;
Uses CRT, DOS;
Var C : Char;
B : Byte;
Begin
Read(C);{načte 1 znak z klávesnice do C}
B := Ord(C);{do B umístí ordinální hodnotu C}
Writeln(B);{hodnotu B zobrazí na obrazovce}
Repeat Until Keypressed; {čeká na stisknutí libovolné klávesy}
end.
Pokud by nám nešlo o umístění ordinální hodnoty znaku C do proměnné B, ale pouze o tisk jeho ordinální hodnoty na obrazovku, pak lze 2. a 3. řádek programu nahradit příkazem :
Writeln(Ord(C));
Pak je deklarace proměnné B zbytečná 2. příklad Program Priklad2;
Uses CRT, DOS;
Var TT, OO : String;
B : Byte;
Begin
Read(TT);{načte řetězec znaků z klávesnice do TT}
OO := TT;{obsah TT zkopíruje do OO}
OO [1] := ‘*’;{1. znak řetězce OO nahradí znakem * }
B := Length(OO);{zjistí délku řetězce OO a uloží ji do proměnné B}
OO [B] := ‘*’;{hodnotu B použije jako index posledního znaku řetězce OO}
Writeln(OO);{vytiskne hodnotu proměnné OO na obrazovku}
Repeat Until Keypressed; {čeká na stisknutí libovolné klávesy}
end.
Pokud by nezáleželo na umístění délky řetězce OO do B, ale pouze na záměně posledního znaku řetězce OO, pak lze 4. a 5. řádek programu nahradit příkazem :
OO [Length(OO)] := ‘*’; nebo OO[Ord(OO[0]) := ‘*’;
kde ordinální hodnota 0-tého “znaku” řetězce vrací délku řetězce.
Strukturované typy Pole – array – pevně stanovený počet položek stejného typu
Záznam – record - pevně stanovený počet položek různého typu
Objekt – object - pevně stanovený počet položek různého typu (procedurální typy)
Soubor – file – předem nedefinovaný počet položek stejného typu
Množina – set – maximálně 256 prvků ordinálního typu Strukturovaný typ pole Homogenní struktura (všechny prvky pole jsou jednoho typu)
Struktura s náhodným přístupem – všechny prvky mohou být vybrány náhodně a jsou shodně zpřístupnitelné
Konkrétní prvek pole určuje index
Definice strukturálního typu pole T specifikuje základní typ T0 a typ indexu I :
type T = array [I] of T0 Příklady :
type radek = array[1..5] of integer
type stitek = array[1..80] of char
type volne_dny = array [1..7] of boolean
Přiřazení
var x : radek, pak naplnění proměnné bude ve tvaru
x[1] := 10
x[1] := ‘C’
Strukturovaný typ pole Strukturovaný typ pole - jednorozměrné pole ALFA:
type ALFA = array [1..10] of byte;
var A : ALFA; 4 9 2 1 9 7 6 5 8 5 2 hodnota 10 8 7 6 5 4 3 2 1 index A[6] := 7 Strukturovaný typ pole - dvojrozměrné pole (matice) B:
type ALFA = array [1..10] of CHAR; (index j)
var B : array [1..5] of ALFA; (index i) X W V U T S R Q P O N M L K J I H G F E D C B A Z Y X W V U S I T R Q P O N M L K J H G F E D C B A j i B[i,j]
B[3,7] := ‘A’ Existuje několik následujících přiřazení proměnné:
Type GAMA = array [1..5] of integer
var z : array[1..20] of GAMA
což je totéž jako :
var z : array[1..20,1..5] of integer
nebo
var z : array[1..20] of array [1..5] of integer,
Pak prvek pole z se vyjádří jako
z[i][j] nebo z[i,j] Strukturovaný typ pole Je možné vytvořit vícerozměrná pole :
Velikost proměnné (pole) je pak dána součinem rozdílů maxim (max) a minim (min) indexů jednotlivých jednorozměrných polí vynásobena velikostí přiřazovaného typu N. Pak :
Vel : (imax-imin+1)*(jmax-jmin+1)*(kmax-kmin+1)*…….. (zmax-zmin+1) * {velikost N}
var DELTA : array [1..3,2..7,5..18, 4..6] of byte
pak výpočet velikosti proměnné pole DELTA je:
Vel = (3-1+1)*(7-2+1)*(18-5+1)*(6-4+1) * 1 = 756 Byte
Delta[I,j,k,l] = Delta[i][j][k][l] Strukturovaný typ pole Strukturovaný typ záznam Položky záznamu mohou být r
Vloženo: 28.04.2009
Velikost: 419,50 kB
Komentáře
Tento materiál neobsahuje žádné komentáře.
Mohlo by tě zajímat:
Skupina předmětu AP_1 - Algoritmizace a programovací techniky
Reference vyučujících předmětu AP_1 - Algoritmizace a programovací techniky
Podobné materiály
- KA - Knihovnické aplikace - Soubor přednášek z KA
- ZPC - Základy PC - Soubor přednášek
- DS_2 - Datové sklady - Soubor přednášek co bdue na testu
- I1 - Informatika 1 - Zápisky ze cvik a přednášek
- VM - Výpočetní metody - výpisky z přednášek
- DS_2 - Datové sklady - Výtah z přednášek
- Bmak1P - Makroekonomie 1 - Makro - výpisky z přednášek a skript
- Bep1P - Ekonomika podniku 1 - výtah z přednášek
Copyright 2025 unium.cz


