Konstanty

Typ konstanty

každá konstanta je určitého typu

ve výrazech musí být kompatibilita

1.     co lze napsat do programu (jak rozliší počítač typ konstanty)

2.     co lze zadat z klávesnice

3.     co a jak tiskne počítač

Přímý zápis konstant

integer

integer obsahuje pouze +,-,číslice

real

obsahuje . nebo E

desetinné číslo s tečkou, může být i jako celé nebo semilog. tvar

semilogaritmický tvar zápisu čísla xEn ...x.10n x-mantisa, n-exponent - význam     

Př.:

2.5468000E+03      2546,8

3.6621500E-02       0,0366215

Př.:

23000               23E3, 2.3E4                  2.300000E+04

0,006                6E-3                              6.000000E-03

-200                  -2E2                              -2.000000E+02

počítač při výpisu převádí na normalizovaný tvar a vždy píše semilogaritmický, neřekneme-li jinak

zadávat lze různě (des. číslo, semilogaritmické v lib. tvaru)

je vhodné psát 3.0 místo 3

string

řetězec - libovolné znaky v apostrofech - ‘AHOJ’, ‘§sdf))asdf’, ‘’

apostrofy se zapisují v programu, při zadávání z klávesnice nebo výpisu ne

v některých jazycích se místo apostrofů používají uvozovky

char

právě 1 znak (mezi apostrofy a viz řetězec)

apostrof '"'

boolean

true, false

nelze zadat z klávesnice

 

Výrazy

zápisy posloupnosti operací

obsahují:

·       konstanty, proměnné (operandy)

·       operátory, funkce

·       kulaté závorky

řádkový zápis!

Každý výraz má typ a hodnotu.

Typ výrazu - typ hodnoty, která je výsledkem vyhodnocení výrazu

Typ je dán deklarací proměnných nebo zápisem konstant (přímým nebo v deklaraci) a operacemi.

Hodnota výrazu

Hodnota je dána v okamžiku provádění příkazu, který obsahuje výraz. Každá proměnná obsažená ve výraze musí mít předem definovanou hodnotu (přiřazovacím příkazem nebo příkazem vstupu), jinak má hodnotu náhodnou (v některých překladačích „nula“).

Operace

unární - 1. operand

binární - 2. operandy

aritmetické

+

sčítání

 

-

odčítání (resp. změna znaménka)

binární a unární operace

*

násobení

 

/

dělení

 

div, mod

celočíselné dělení

13:4=3 zb. 1

13 div 4=3

13 mod 4= 1

(13/4=3,25)

 

operand

- (změna znaménka)

i

i

r

r

 

1. operand

2. operand

+ - *

/

div mod

i

i

i

r

i

i

r

r

r

-

r

i

r

r

-

r

r

r

r

-

řetězcové

+             spojování řetězců

relační

<             >             <=           >=           =             <>

vše binární operace

porovnávat lze:

·       číselné typy mezi sebou

·       řetězce a char mezi sebou - jak

·       boolean - jak

výsledek typu boolean

logické

not          unární - negace

and, or   binární

operandy typu boolean

výsledek typu boolean

hodnota výsledku

X

not X

true

false

false

true

 

X

Y

X and Y

X or Y

true

true

true

true

true

false

false

true

false

true

false

true

false

false

false

false

Další operátory

unární - @

multiplikativní - shl shr

aditivní - xor

in

 

Funkce

identifikator(výraz)

pouze výběr aritmetických (existují i řetězcové a další a lze naprogramovat nové funkce, jsou i funkce s více parametry)

x - libovolný výraz přípustného typu (u těchto funkcí může být integer i real)

abs(x)

absolutní hodnota

 

sqr(x)

druhá mocnina

 

sqrt(x)

druhá odmocnina

x³0

sin(x)

sinus

x v radiánech

cos(x)

kosinus

x v radiánech

arctan(x)

arkus tangens

výsledek v radiánech

ln(x)

přirozený logaritmus

x>0

exp(x)

 

 

typ výsledku

x

abs,

sqr

sqrt, sin, cos,

arctan, ln, exp

i

i

r

r

r

r

konverzní funkce - trunc (odseknutí desetinné části), round (zaokrouhlení) - argument real, výsledek longint

funkce odd - argument integer, výsledek boolean (true - x liché, false - x sudé)

 

Vyhodnocování a zápis výrazů

Vyhodnocování výrazů

Pravidla vyhodnocování výrazů

1. závorky

2. priorita operátorů

not + -

unární operátory

@

* / div mod and

násobící (multiplikativní) operátory

shl shr

+ - or

sčítací (aditivní) operátory

xor

= <> > < <= >=

relační operátory

in

3. zleva doprava

Požadované znalosti

·       rozhodnout o přípustnosti výrazu

·       pořadí vyhodnocování

·       typ výrazu (a jeho přípustnost v různých konstrukcích - přiřazovací příkaz, argument funkce,...)

·       hodnota výrazu

Matematické problémy

Mocniny

cyklus - násobení

Goniometrické funkce

Oblouková a stupňová míra

radiány  stupně

p              180°

x              a

Logaritmy o libovolném základu

 

Cyklometrické funkce

arkussinus           

arkuskosinus       

arkustangens      

arkuskotangens  

Vyjádření cyklometrických funkcí pomocí funkce arkustangens:

 

Podmínky

výrazy typu boolean

Zápis podmínek

Zapište v jazyku Pascal podmínky:

================================================================================


c je dělitelné 5

b je sudé

x je liché

c je dělitelné 2 nebo 3


================================================================================

Negace podmínek

·       výraz do závorky a před něj not

·       bez použití not - šetří operace a koneckonců je to přehlednější zápis.

Pravidla negací

Dvojice relačních operátorů

·          

·           

·           

Negace negace

not not A = A

De Morganovy vzorce

not (A and B) = not A or not B

not (A or B) = not A and not B

Příklady

Výraz

Negace

A>0

A<=0

A+B>=C

A+B<C

X*Z=Z*A

X*Z<>Z*A

(A>0) and (B>0)

(A<=0) and (B<>0)

(A=0) or (B=0)

(A<>0) and (B<>0)

(X*Y<>0) and (X>0) and (Y>0)

(X*Y=0) or (X<=0) and (Y<=0)

not(A>B)

A>B