|
|
ordinární |
Integer |
|
|
|
Char |
|
|
jednoduché |
Boolean |
|
|
|
Real |
výčtový |
|
| typy |
|
|
interval |
|
|
|
pole
(array) |
|
|
strukturované |
záznam (record) |
|
|
|
množina (set) |
|
|
|
soubor
(file, Text) |
|
|
ukazatel |
|
|
|
7.1 Ordinární
typ
-
Pred (T) předchůdce T
-
Succ (T) následník T
-
Ord (T) pořadové číslo
T
7.1.1 Příklady:
7.2 Typ interval
var Cestujici:
0..45;
{cestujících může být 0-45}
Cislice: 0..9;
7.3 Příklad
program tyvytiz.pas:
program Vytizeni;
const MaxLidi = 45;
Konec = -1;
type Kapacita = Konec..MaxLidi;
var Cestujici : Kapacita;
CestCelkem, VozuCelkem : Integer;
begin
Write ( 'Vytížení autobusů. ' );
Write ( 'Zadávejte počty cestujících, -1 ukončí. ' );
CestCelkem := 0;
VozuCelkem := 0;
Read ( Cestujici );
while Cestujici <> Konec do
begin
CestCelkem := CestCelkem + Cestujici;
VozuCelkem := VozuCelkem + 1;
Read ( Cestujici );
end;
if VozuCelkem > 0 then
Write ( 'Průměrné vytížení ',
Round (CestCelkem/VozuCelkem/MaxLidi*100), '%' )
else
Write ( 'Žádná data. Není co počítat.' );
end.
Poznámky a cvičení:
-
Program tyvytiz.pas má zásadní
chybu: Při vložení vstupní hodnoty mimo povolený interval
se zbortí. Žádný dobrý program by se při vložení jakékoli
hodnoty neměl zbortit. Je proto dobré program psát tak, aby
se vstupní hodnoty načítaly do pomocné proměnné bez
omezení, pak se testovaly a teprve poté vkládaly do proměnné
omezené intervalem.
-
Upravte načítání hodnoty
do proměnné Cestujici tak, aby na špatnou vstupní hodnotu
reagoval program chybovým hlášením a ne běhovou chybou.
-
Tyto úpravy programů se
neoficiálně, ale velice výstižně označují
jako zvyšování blbovzdornosti programu. Správný
program je absolutně blbovzdorný = žádná uživatelova
idiotská odpověď z klávesnice ho nezbortí, program
trpělivě sdělí, že očekává jiný vstup a
vrací se zpět na příkaz Read:
Příklad blbovzdorného dialogu
programu a uživatele:
Program :"Vlož počet
cestujících v autobuse!"
Uživatel: "153 lidí"
Program: "Prosím zadej
číslo"
Uživatel: "753"
Program: "Opravdu se domníváš,
že v autobuse jede 753 cestujících? Zkus to znovu!"
Uživatel: "Ty jsi nějaký
vypečený!"
Program: "Tak řekneš po
dobrém kolik lidí opravdu jede v autobuse nebo toho radši necháme?"
po chvíli opět Program:
"... a nepošklebuj se!"
...a řešení!
© 2001 Milan Volejník, http://hledej.to.zde.cz
aktualizace: 17.09.2002 17:25:36
Powered by Notepad editor.
Copyright © 2001 by !!!Protiproud!!! All rights reserved.
Revised: 17 IX 2002 17:49:12 +0200
.
|