1213z wdprog ww02

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Wstęp do programowania

wykład 2

Agata Półrola

Wydział Matematyki i Informatyki UŁ

sem. zimowy 2012/2013

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Liczby

Korzystanie z liczb

Ada “zna” różne rodzaje liczb (różne

typy

liczbowe) i potrafi

wykonywać na nich podstawowe operacje arytmetyczne.

Nie jest

do tego potrzebne dołączanie żadnego pakietu

Jeśli w programie chcemy dodatkowo takie liczby wprowadzać (np.
z klawiatury) lub wyprowadzać (np. na ekran), to musimy dołączyć
pakiet odpowiedni dla danego typu liczbowego.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Liczby

Korzystanie z liczb

Ada “zna” różne rodzaje liczb (różne

typy

liczbowe) i potrafi

wykonywać na nich podstawowe operacje arytmetyczne.

Nie jest

do tego potrzebne dołączanie żadnego pakietu

Jeśli w programie chcemy dodatkowo takie liczby wprowadzać (np.
z klawiatury) lub wyprowadzać (np. na ekran), to musimy dołączyć
pakiet odpowiedni dla danego typu liczbowego.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Przykład (Liczby (całkowite) - bez wypisywania)

p r o c e d u r e w02 p1 i s

a , b :

i n t e g e r ;

b e g i n

a : = 1 2 ;
b:=10+a ;

end w02 p1 ;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Przykład (Liczby (całkowite) - z wypisywaniem)

with ada . i n t e g e r t e x t i o ;

p r o c e d u r e w02 p2 i s

a , b :

i n t e g e r ;

b e g i n

a : = 1 2 ;
b:=10+a ;
ada . i n t e g e r t e x t i o . p u t ( b ) ;

end w02 p2 ;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Literały numeryczne

Literały

reprezentują wartości (liczbowe, znakowe, napisy) za

pomocą odpowiedniej notacji.

Literały numeryczne

reprezentują

wartości liczbowe.

Literały numeryczne to

literały całkowite

i

literały rzeczywiste

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Literały numeryczne

Literały

reprezentują wartości (liczbowe, znakowe, napisy) za

pomocą odpowiedniej notacji.

Literały numeryczne

reprezentują

wartości liczbowe.
Literały numeryczne to

literały całkowite

i

literały rzeczywiste

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Literały całkowite

przykłady

literałów całkowitych

:

13, 0, -2, +4,

1 234, 23 45, 15E5, 1e8,

2#100 111#, 16#1a#, 2#11 001#e2.
Znaczenie:

podkreślenie zastępuje spację (1 234 567 zapiszemy jako
1 234 567)
literały postaci 15e5 (z małą lub wielką literą E) przedstawiają
liczby

w postaci wykładniczej

. Interpretacja liczby postaci aEb

to a · 10

b

(czyli 15e5 to 15 · 10

5

)

literały 2#100 111#, 16#1a#, 2#11001#e2 to

literały z

podstawą

, umożliwiające zapisywanie liczb w różnych

systemach pozycyjnych. Ostatni z literałów ma dodatkowo
postać wykładniczą.
Ogólna postać takiego literału to
podstawa#liczba#[wykładnik]
(nawiasy kwadratowe oznaczają że wykładnik jest opcjonalny)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Literały całkowite

przykłady

literałów całkowitych

:

13, 0, -2, +4, 1 234, 23 45,

15E5, 1e8,

2#100 111#, 16#1a#, 2#11 001#e2.
Znaczenie:

podkreślenie zastępuje spację (1 234 567 zapiszemy jako
1 234 567)
literały postaci 15e5 (z małą lub wielką literą E) przedstawiają
liczby

w postaci wykładniczej

. Interpretacja liczby postaci aEb

to a · 10

b

(czyli 15e5 to 15 · 10

5

)

literały 2#100 111#, 16#1a#, 2#11001#e2 to

literały z

podstawą

, umożliwiające zapisywanie liczb w różnych

systemach pozycyjnych. Ostatni z literałów ma dodatkowo
postać wykładniczą.
Ogólna postać takiego literału to
podstawa#liczba#[wykładnik]
(nawiasy kwadratowe oznaczają że wykładnik jest opcjonalny)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Literały całkowite

przykłady

literałów całkowitych

:

13, 0, -2, +4, 1 234, 23 45, 15E5, 1e8,

2#100 111#, 16#1a#, 2#11 001#e2.
Znaczenie:

podkreślenie zastępuje spację (1 234 567 zapiszemy jako
1 234 567)
literały postaci 15e5 (z małą lub wielką literą E) przedstawiają
liczby

w postaci wykładniczej

. Interpretacja liczby postaci aEb

to a · 10

b

(czyli 15e5 to 15 · 10

5

)

literały 2#100 111#, 16#1a#, 2#11001#e2 to

literały z

podstawą

, umożliwiające zapisywanie liczb w różnych

systemach pozycyjnych. Ostatni z literałów ma dodatkowo
postać wykładniczą.
Ogólna postać takiego literału to
podstawa#liczba#[wykładnik]
(nawiasy kwadratowe oznaczają że wykładnik jest opcjonalny)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Literały całkowite

przykłady

literałów całkowitych

:

13, 0, -2, +4, 1 234, 23 45, 15E5, 1e8,
2#100 111#, 16#1a#,

2#11 001#e2.

Znaczenie:

podkreślenie zastępuje spację (1 234 567 zapiszemy jako
1 234 567)
literały postaci 15e5 (z małą lub wielką literą E) przedstawiają
liczby

w postaci wykładniczej

. Interpretacja liczby postaci aEb

to a · 10

b

(czyli 15e5 to 15 · 10

5

)

literały 2#100 111#, 16#1a#, 2#11001#e2 to

literały z

podstawą

, umożliwiające zapisywanie liczb w różnych

systemach pozycyjnych. Ostatni z literałów ma dodatkowo
postać wykładniczą.
Ogólna postać takiego literału to
podstawa#liczba#[wykładnik]
(nawiasy kwadratowe oznaczają że wykładnik jest opcjonalny)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Literały całkowite

przykłady

literałów całkowitych

:

13, 0, -2, +4, 1 234, 23 45, 15E5, 1e8,
2#100 111#, 16#1a#, 2#11 001#e2.

Znaczenie:

podkreślenie zastępuje spację (1 234 567 zapiszemy jako
1 234 567)
literały postaci 15e5 (z małą lub wielką literą E) przedstawiają
liczby

w postaci wykładniczej

. Interpretacja liczby postaci aEb

to a · 10

b

(czyli 15e5 to 15 · 10

5

)

literały 2#100 111#, 16#1a#, 2#11001#e2 to

literały z

podstawą

, umożliwiające zapisywanie liczb w różnych

systemach pozycyjnych. Ostatni z literałów ma dodatkowo
postać wykładniczą.
Ogólna postać takiego literału to
podstawa#liczba#[wykładnik]
(nawiasy kwadratowe oznaczają że wykładnik jest opcjonalny)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Literały całkowite

przykłady

literałów całkowitych

:

13, 0, -2, +4, 1 234, 23 45, 15E5, 1e8,
2#100 111#, 16#1a#, 2#11 001#e2.
Znaczenie:

podkreślenie zastępuje spację (1 234 567 zapiszemy jako
1 234 567)
literały postaci 15e5 (z małą lub wielką literą E) przedstawiają
liczby

w postaci wykładniczej

. Interpretacja liczby postaci aEb

to a · 10

b

(czyli 15e5 to 15 · 10

5

)

literały 2#100 111#, 16#1a#, 2#11001#e2 to

literały z

podstawą

, umożliwiające zapisywanie liczb w różnych

systemach pozycyjnych. Ostatni z literałów ma dodatkowo
postać wykładniczą.
Ogólna postać takiego literału to
podstawa#liczba#[wykładnik]
(nawiasy kwadratowe oznaczają że wykładnik jest opcjonalny)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Literały całkowite

przykłady

literałów całkowitych

:

13, 0, -2, +4, 1 234, 23 45, 15E5, 1e8,
2#100 111#, 16#1a#, 2#11 001#e2.
Znaczenie:

podkreślenie zastępuje spację (1 234 567 zapiszemy jako
1 234 567)

literały postaci 15e5 (z małą lub wielką literą E) przedstawiają
liczby

w postaci wykładniczej

. Interpretacja liczby postaci aEb

to a · 10

b

(czyli 15e5 to 15 · 10

5

)

literały 2#100 111#, 16#1a#, 2#11001#e2 to

literały z

podstawą

, umożliwiające zapisywanie liczb w różnych

systemach pozycyjnych. Ostatni z literałów ma dodatkowo
postać wykładniczą.
Ogólna postać takiego literału to
podstawa#liczba#[wykładnik]
(nawiasy kwadratowe oznaczają że wykładnik jest opcjonalny)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Literały całkowite

przykłady

literałów całkowitych

:

13, 0, -2, +4, 1 234, 23 45, 15E5, 1e8,
2#100 111#, 16#1a#, 2#11 001#e2.
Znaczenie:

podkreślenie zastępuje spację (1 234 567 zapiszemy jako
1 234 567)
literały postaci 15e5 (z małą lub wielką literą E) przedstawiają
liczby

w postaci wykładniczej

. Interpretacja liczby postaci aEb

to a · 10

b

(czyli 15e5 to 15 · 10

5

)

literały 2#100 111#, 16#1a#, 2#11001#e2 to

literały z

podstawą

, umożliwiające zapisywanie liczb w różnych

systemach pozycyjnych. Ostatni z literałów ma dodatkowo
postać wykładniczą.
Ogólna postać takiego literału to
podstawa#liczba#[wykładnik]
(nawiasy kwadratowe oznaczają że wykładnik jest opcjonalny)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Literały całkowite

przykłady

literałów całkowitych

:

13, 0, -2, +4, 1 234, 23 45, 15E5, 1e8,
2#100 111#, 16#1a#, 2#11 001#e2.
Znaczenie:

podkreślenie zastępuje spację (1 234 567 zapiszemy jako
1 234 567)
literały postaci 15e5 (z małą lub wielką literą E) przedstawiają
liczby

w postaci wykładniczej

. Interpretacja liczby postaci aEb

to a · 10

b

(czyli 15e5 to 15 · 10

5

)

literały 2#100 111#, 16#1a#, 2#11001#e2 to

literały z

podstawą

, umożliwiające zapisywanie liczb w różnych

systemach pozycyjnych. Ostatni z literałów ma dodatkowo
postać wykładniczą.
Ogólna postać takiego literału to
podstawa#liczba#[wykładnik]
(nawiasy kwadratowe oznaczają że wykładnik jest opcjonalny)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Jeszcze o literałach z podstawą:

Dopuszczalne (w języku Ada) podstawy to liczby całkowite od 2 do 16. Cyfry używane

do zapisu liczb to 0..9, A, B, ..., F, gdzie litery A..F reprezentują cyfry 10..16. W

zapisie liczby o podstawie X używamy cyfr 0..X-1.

Interpretacja liczby zapisanej w dowolnym systemie pozycyjnym o
podstawie p:
liczba c

i

c

i −1

...c

1

c

0

(gdzie c

i −1

, ..., c

0

to cyfry) jest interpretowana

jako c

i

· p

i

+ c

i −1

· p

i −1

+ . . . + c

1

· p

1

+ c

0

· p

0

Przykład

2#111011#, czyli liczba 111011

2

to

1 · 2

5

+ 1 · 2

4

+ 1 · 2

3

+ 0 · 2

2

+ 1 · 2

1

+ 1 · 2

0

, czyli 59

16#AE#, czyli liczba AE

16

, to 10 · 16

1

+ 15 · 16

0

, czyli 174.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Jeszcze o literałach z podstawą:

Dopuszczalne (w języku Ada) podstawy to liczby całkowite od 2 do 16. Cyfry używane

do zapisu liczb to 0..9, A, B, ..., F, gdzie litery A..F reprezentują cyfry 10..16. W

zapisie liczby o podstawie X używamy cyfr 0..X-1.

Interpretacja liczby zapisanej w dowolnym systemie pozycyjnym o
podstawie p:
liczba c

i

c

i −1

...c

1

c

0

(gdzie c

i −1

, ..., c

0

to cyfry) jest interpretowana

jako c

i

· p

i

+ c

i −1

· p

i −1

+ . . . + c

1

· p

1

+ c

0

· p

0

Przykład

2#111011#, czyli liczba 111011

2

to

1 · 2

5

+ 1 · 2

4

+ 1 · 2

3

+ 0 · 2

2

+ 1 · 2

1

+ 1 · 2

0

, czyli 59

16#AE#, czyli liczba AE

16

, to 10 · 16

1

+ 15 · 16

0

, czyli 174.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Jeszcze o literałach z podstawą:

Dopuszczalne (w języku Ada) podstawy to liczby całkowite od 2 do 16. Cyfry używane

do zapisu liczb to 0..9, A, B, ..., F, gdzie litery A..F reprezentują cyfry 10..16. W

zapisie liczby o podstawie X używamy cyfr 0..X-1.

Interpretacja liczby zapisanej w dowolnym systemie pozycyjnym o
podstawie p:
liczba c

i

c

i −1

...c

1

c

0

(gdzie c

i −1

, ..., c

0

to cyfry) jest interpretowana

jako c

i

· p

i

+ c

i −1

· p

i −1

+ . . . + c

1

· p

1

+ c

0

· p

0

Przykład

2#111011#, czyli liczba 111011

2

to

1 · 2

5

+ 1 · 2

4

+ 1 · 2

3

+ 0 · 2

2

+ 1 · 2

1

+ 1 · 2

0

, czyli 59

16#AE#, czyli liczba AE

16

, to 10 · 16

1

+ 15 · 16

0

, czyli 174.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Jeszcze o literałach z podstawą:

Dopuszczalne (w języku Ada) podstawy to liczby całkowite od 2 do 16. Cyfry używane

do zapisu liczb to 0..9, A, B, ..., F, gdzie litery A..F reprezentują cyfry 10..16. W

zapisie liczby o podstawie X używamy cyfr 0..X-1.

Interpretacja liczby zapisanej w dowolnym systemie pozycyjnym o
podstawie p:
liczba c

i

c

i −1

...c

1

c

0

(gdzie c

i −1

, ..., c

0

to cyfry) jest interpretowana

jako c

i

· p

i

+ c

i −1

· p

i −1

+ . . . + c

1

· p

1

+ c

0

· p

0

Przykład

2#111011#, czyli liczba 111011

2

to

1 · 2

5

+ 1 · 2

4

+ 1 · 2

3

+ 0 · 2

2

+ 1 · 2

1

+ 1 · 2

0

, czyli 59

16#AE#, czyli liczba AE

16

, to 10 · 16

1

+ 15 · 16

0

, czyli 174.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Przykład (Literały całkowite - przykłady)

p r o c e d u r e w 0 2 p 3 1 i s

a , b :

i n t e g e r ;

b e g i n

a : = 1 2 ;

b :=+4;

a :=1 1 2 3 4 ;

b :=12 e0 2 ;

a :=12 3 4 ;

b :=1 e8 ;

a :=15 e5 ;

b:=16#1 a #;

a :=2#100 1 1 1 #;

b:=2#11001# e2 ;

a :=7#206#;

b :=2#111011#;

a:=16# a e #;

end w 0 2 p 3 1 ;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Literały rzeczywiste

Literał rzeczywisty

to literał numeryczny zawierający kropkę

dziesiętną (literały całkowite nie zawierają kropek).

Przykłady literałów rzeczywistych:
13.3, 0.0, -2.1, +4.2, 1 234.2, 23 45.3, 15.4E5,
1.2e8, 2#100 111.11#, 16#1a.b#, 2#11 001.1#e2.
Interpretacja powyższych zapisów jest analogiczna jak dla literałów
całkowitych.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Literały rzeczywiste

Literał rzeczywisty

to literał numeryczny zawierający kropkę

dziesiętną (literały całkowite nie zawierają kropek).
Przykłady literałów rzeczywistych:
13.3, 0.0, -2.1, +4.2,

1 234.2, 23 45.3, 15.4E5,

1.2e8, 2#100 111.11#, 16#1a.b#, 2#11 001.1#e2.
Interpretacja powyższych zapisów jest analogiczna jak dla literałów
całkowitych.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Literały rzeczywiste

Literał rzeczywisty

to literał numeryczny zawierający kropkę

dziesiętną (literały całkowite nie zawierają kropek).
Przykłady literałów rzeczywistych:
13.3, 0.0, -2.1, +4.2, 1 234.2, 23 45.3,

15.4E5,

1.2e8, 2#100 111.11#, 16#1a.b#, 2#11 001.1#e2.
Interpretacja powyższych zapisów jest analogiczna jak dla literałów
całkowitych.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Literały rzeczywiste

Literał rzeczywisty

to literał numeryczny zawierający kropkę

dziesiętną (literały całkowite nie zawierają kropek).
Przykłady literałów rzeczywistych:
13.3, 0.0, -2.1, +4.2, 1 234.2, 23 45.3, 15.4E5,
1.2e8,

2#100 111.11#, 16#1a.b#, 2#11 001.1#e2.

Interpretacja powyższych zapisów jest analogiczna jak dla literałów
całkowitych.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Literały rzeczywiste

Literał rzeczywisty

to literał numeryczny zawierający kropkę

dziesiętną (literały całkowite nie zawierają kropek).
Przykłady literałów rzeczywistych:
13.3, 0.0, -2.1, +4.2, 1 234.2, 23 45.3, 15.4E5,
1.2e8, 2#100 111.11#, 16#1a.b#,

2#11 001.1#e2.

Interpretacja powyższych zapisów jest analogiczna jak dla literałów
całkowitych.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Literały rzeczywiste

Literał rzeczywisty

to literał numeryczny zawierający kropkę

dziesiętną (literały całkowite nie zawierają kropek).
Przykłady literałów rzeczywistych:
13.3, 0.0, -2.1, +4.2, 1 234.2, 23 45.3, 15.4E5,
1.2e8, 2#100 111.11#, 16#1a.b#, 2#11 001.1#e2.

Interpretacja powyższych zapisów jest analogiczna jak dla literałów
całkowitych.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Literały rzeczywiste

Literał rzeczywisty

to literał numeryczny zawierający kropkę

dziesiętną (literały całkowite nie zawierają kropek).
Przykłady literałów rzeczywistych:
13.3, 0.0, -2.1, +4.2, 1 234.2, 23 45.3, 15.4E5,
1.2e8, 2#100 111.11#, 16#1a.b#, 2#11 001.1#e2.
Interpretacja powyższych zapisów jest analogiczna jak dla literałów
całkowitych.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Przykład (Literały rzeczywiste - przykłady)

p r o c e d u r e w 0 2 p 3 2 i s

c : f l o a t ;

b e g i n

c : = 1 2 . 1 2 ;
c :=−12 1 2 2 . 0 ;
c :=16#12.EA#;
c :=16#1 a . b#;
c :=2#11001.1# e2 ;
c :=3#122.0# e5 ;

end w 0 2 p 3 2 ;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Wypisywanie literałów

W celu wypisania literałów numerycznych musimy użyć zasobów
odpowiedniego pakietu.

Literały całkowite są typu

universal integer

. Do ich

wypisywania używamy procedury

put

z pakietu

ada.integer text io

Literały rzeczywiste są typu

universal real

. Do ich wypisywania

używamy procedury

put

z pakietu

ada.float text io

.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Wypisywanie literałów

W celu wypisania literałów numerycznych musimy użyć zasobów
odpowiedniego pakietu.

Literały całkowite są typu

universal integer

. Do ich

wypisywania używamy procedury

put

z pakietu

ada.integer text io

Literały rzeczywiste są typu

universal real

. Do ich wypisywania

używamy procedury

put

z pakietu

ada.float text io

.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Wypisywanie literałów

W celu wypisania literałów numerycznych musimy użyć zasobów
odpowiedniego pakietu.

Literały całkowite są typu

universal integer

. Do ich

wypisywania używamy procedury

put

z pakietu

ada.integer text io

Literały rzeczywiste są typu

universal real

. Do ich wypisywania

używamy procedury

put

z pakietu

ada.float text io

.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Przykład (Literały całkowite)

w i t h ada . t e x t i o ,

ada . i n t e g e r t e x t i o ;

p r o c e d u r e w02 p4

i s

b e g i n

ada . t e x t i o . p u t ( ” −−−− p r o g r a m w y p i s u j a c y

l i c z b e

22 ” ) ;

ada . i n t e g e r t e x t i o . p u t ( i t e m = >22);
ada . t e x t i o . p u t ( ” −−−−” ) ;
ada . t e x t i o . n e w l i n e ( 2 ) ;
ada . t e x t i o . p u t ( ” l i c z b a ” ) ;
ada . i n t e g e r t e x t i o . p u t ( 2 2 ,

w i d t h =>0);

ada . t e x t i o . p u t ( ” z a p i s a n a w s y s t e m i e dwojkowym t o ” ) ;
ada . i n t e g e r t e x t i o . p u t ( i t e m => 2 2 , w i d t h =>0, b a s e =>2);
ada . t e x t i o . p u t ( ” z a p i s a n a w s y s t e m i e

s z e s n a s t k o w y m t o ” ) ;

ada . i n t e g e r t e x t i o . p u t ( 2 2 , 0 , 1 6 ) ;

ada . T e x t I O . n e w l i n e ;

ada . i n t e g e r t e x t i o . p u t ( 2 2 ,

b a s e =>6);

end w02 p4 ;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Uwagi do przykładu

we wszystkich trzech przypadkach została użyta ta sama
procedura

procedura ada.integer text io.put ma trzy

parametry

o

nazwach item, width i base. Item to wypisywana wartość,
width to szerokość obszaru wypisywania, base to podstawa
wypisywanej liczby.

dwa ostatnie parametry procedury mają wartości domyślne,
więc można ich nie podawać

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Podawanie wartości parametrów procedur

Procedury mają często kilka parametrów. Każdy parametr ma swoją
nazwę. Niektóre parametry mają ponadto wartości domyślne.

put(item, width, base), gdzie width i base mają wartości domyślne

Używając procedury (

wywołując

ją), musimy podać wartości dla

parametrów nie mających wartości domyślnych, i możemy podać
wartości dla pozostałych

jeśli przy podawaniu wartości nie użyjemy nazw parametrów -
istotna jest kolejność (

notacja pozycyjna

)

put(14, 4, 2) oznacza, że item ma wartość 14, width wartość 4, a

base wartość 2

jeśli użyjemy nazw wszystkich parametrów - kolejność
podawania wartości nie ma znaczenia (

notacja nazywana

)

put(base=>2, item=>14, width=>4), put(width=>2, item=>12)

można użyć notacji mieszanej - dla początkowych parametrów
pozycyjnej, dla dalszych nazywanej (

put(12, base=>2)

)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Podawanie wartości parametrów procedur

Procedury mają często kilka parametrów. Każdy parametr ma swoją
nazwę. Niektóre parametry mają ponadto wartości domyślne.

put(item, width, base), gdzie width i base mają wartości domyślne

Używając procedury (

wywołując

ją), musimy podać wartości dla

parametrów nie mających wartości domyślnych, i możemy podać
wartości dla pozostałych

jeśli przy podawaniu wartości nie użyjemy nazw parametrów -
istotna jest kolejność (

notacja pozycyjna

)

put(14, 4, 2) oznacza, że item ma wartość 14, width wartość 4, a

base wartość 2

jeśli użyjemy nazw wszystkich parametrów - kolejność
podawania wartości nie ma znaczenia (

notacja nazywana

)

put(base=>2, item=>14, width=>4), put(width=>2, item=>12)

można użyć notacji mieszanej - dla początkowych parametrów
pozycyjnej, dla dalszych nazywanej (

put(12, base=>2)

)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Rozróżnianie procedur

W przykładzie dołączaliśmy pakiety ada.text io i
ada.integer text io; oba zawierają procedury put

Jeśli użyjemy klauzuli use i pominiemy przy wywołaniach
nazwy pakietów z których pochodzą procedury, program nadal
będzie poprawny.

Kompilator “domyśla się” którą procedurę mieliśmy na myśli w
danym wywołaniu na podstawie typów wartości przypisanych
parametrom, lub na podstawie liczby parametrów.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Rozróżnianie procedur

W przykładzie dołączaliśmy pakiety ada.text io i
ada.integer text io; oba zawierają procedury put

Jeśli użyjemy klauzuli use i pominiemy przy wywołaniach
nazwy pakietów z których pochodzą procedury, program nadal
będzie poprawny.

Kompilator “domyśla się” którą procedurę mieliśmy na myśli w
danym wywołaniu na podstawie typów wartości przypisanych
parametrom, lub na podstawie liczby parametrów.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Rozróżnianie procedur

W przykładzie dołączaliśmy pakiety ada.text io i
ada.integer text io; oba zawierają procedury put

Jeśli użyjemy klauzuli use i pominiemy przy wywołaniach
nazwy pakietów z których pochodzą procedury, program nadal
będzie poprawny.

Kompilator “domyśla się” którą procedurę mieliśmy na myśli w
danym wywołaniu na podstawie typów wartości przypisanych
parametrom, lub na podstawie liczby parametrów.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Przykład

w i t h ada . t e x t i o ,

ada . i n t e g e r t e x t i o ;

u s e ada . t e x t i o ,

ada . i n t e g e r t e x t i o ;

p r o c e d u r e w 0 2 p 4 1

i s

b e g i n

p u t ( ” −−−− p r o g r a m w y p i s u j a c y

l i c z b e ” ) ;

p u t ( 2 2 , 8 ) ;
p u t ( ” −−−−” ) ;

n e w l i n e ( 2 ) ;

p u t ( ” l i c z b a ” ) ;
p u t ( 2 2 ,

w i d t h =>0);

p u t ( ” z a p i s a n a w s y s t e m i e dwojkowym t o ” ) ;
p u t ( 2 2 , 0 , 2 ) ;

end w 0 2 p 4 1 ;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Przykład (Literały rzeczywiste)

w i t h ada . t e x t i o ,

ada . f l o a t t e x t i o ;

p r o c e d u r e w02 p5

i s

b e g i n

ada . t e x t i o . p u t ( ” −−−− p r o g r a m w y p i s u j a c y

l i c z b e ” ) ;

ada . f l o a t t e x t i o . p u t ( 2 2 . 2 ) ;
ada . t e x t i o . p u t ( ” −−−−” ) ;
ada . t e x t i o . n e w l i n e ( 2 ) ;
ada . t e x t i o . p u t ( ” l i c z b a ” ) ;
ada . f l o a t t e x t i o . p u t ( 2 2 . 2 ,

e x p =>0);

ada . t e x t i o . p u t ( ” moze b y c w y p i s a n a t a k : ” ) ;
ada . f l o a t t e x t i o . p u t ( 2 2 . 2 ) ;
ada . t e x t i o . p u t ( ” a l b o np .

t a k : ” ) ;

ada . f l o a t t e x t i o . p u t ( i t e m = >22.2 , f o r e =>4, a f t =>2, e x p =>0);
ada . t e x t i o . p u t ( ” a l e

n i e moze b y c np .

w y p i s a n a ” &

”w s y s t e m i e dwojkowym : ” ) ;

end w02 p5 ;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Uwagi do przykładu

Procedura ada.float text io.put ma cztery parametry, o
nazwach item, fore, aft i exp. Tylko pierwszy nie ma wartości
domyślnej.

Item to wypisywana wartość,

fore to liczba miejsc przed kropką dziesiętną w wypisywanej
liczbie,

aft to liczba miejsc po kropce,

exp to liczba miejsc w wykładniku

nadanie parametrowi exp wartości zero powoduje że liczba nie
zostanie wypisana w postaci wykładniczej

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Uwagi do przykładu

Procedura ada.float text io.put ma cztery parametry, o
nazwach item, fore, aft i exp. Tylko pierwszy nie ma wartości
domyślnej.

Item to wypisywana wartość,

fore to liczba miejsc przed kropką dziesiętną w wypisywanej
liczbie,

aft to liczba miejsc po kropce,

exp to liczba miejsc w wykładniku

nadanie parametrowi exp wartości zero powoduje że liczba nie
zostanie wypisana w postaci wykładniczej

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Typy liczbowe

W języku zdefiniowane są pewne (tzw.

predfiniowane

typy

liczbowe. Podstawowe to:

typ całkowity -

integer

(służący do reprezentowania liczb

całkowitych)

typ zmiennoprzecinkowy -

float

(służący do reprezentowania

liczb rzeczywistych)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Zakresy typów

Wartości danego typu T są zapamiętywane przy użyciu pewnej
określonej dla danego typu liczby bitów

Z tego powodu każdy typ ma swój

zakres

- istnieje w nim wartość

największa i najmniejsza
Najmniejsza liczba w typie T to T’first, największa to T’last

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Zakresy typów

Wartości danego typu T są zapamiętywane przy użyciu pewnej
określonej dla danego typu liczby bitów
Z tego powodu każdy typ ma swój

zakres

- istnieje w nim wartość

największa i najmniejsza

Najmniejsza liczba w typie T to T’first, największa to T’last

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Zakresy typów

Wartości danego typu T są zapamiętywane przy użyciu pewnej
określonej dla danego typu liczby bitów
Z tego powodu każdy typ ma swój

zakres

- istnieje w nim wartość

największa i najmniejsza
Najmniejsza liczba w typie T to T’first, największa to T’last

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Przykład (Jak poznać zakres typu integer?)

w i t h ada . i n t e g e r t e x t i o ,

ada . t e x t i o ;

u s e

ada . i n t e g e r t e x t i o ,

ada . t e x t i o ;

p r o c e d u r e w02 p6

i s

b e g i n

p u t ( ” n a j m n i e j s z a

l i c z b a w t y p i e

i n t e g e r

t o ” ) ;

p u t ( i n t e g e r ’ f i r s t , w i d t h =>0);
p u t ( ” a n a j w i e k s z a

t o ” ) ;

p u t ( i n t e g e r ’ l a s t ) ;

end w02 p6 ;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Inne predefiniowane typy liczowe

typy całkowite (zależnie od implementacji):

long integer
long long integer
short integer
short short integer

typy rzeczywiste (zależnie od implementacji):

long float
long long float
short float
short short float

(tego w naszym przypadku nie ma)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Zmienne

Aby móc zapamiętać (przechować) wprowadzoną z klawiatury lub
wyliczoną w programie wartość pewnego typu, musimy
zadeklarować

zmienną

tego typu

w tym celu w części deklaracyjnej programu piszemy

nazwa zmiennej:

typ;

(np. i:

integer; )

wynik: w odpowienim momencie uruchamiania programu w
pamięci zostaje zarezerwowany pewien obszar o rozmiarze
odpowiednim dla przechowania wartości danego typu.
Odwołujemy się do niego przez nazwę zmiennej.

można zadeklarować na raz kilka zmiennych tego samego
typu:
j, f, ile :

integer;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Zmienne

Aby móc zapamiętać (przechować) wprowadzoną z klawiatury lub
wyliczoną w programie wartość pewnego typu, musimy
zadeklarować

zmienną

tego typu

w tym celu w części deklaracyjnej programu piszemy

nazwa zmiennej:

typ;

(np. i:

integer; )

wynik: w odpowienim momencie uruchamiania programu w
pamięci zostaje zarezerwowany pewien obszar o rozmiarze
odpowiednim dla przechowania wartości danego typu.
Odwołujemy się do niego przez nazwę zmiennej.

można zadeklarować na raz kilka zmiennych tego samego
typu:
j, f, ile :

integer;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Wartość zmiennej może ulegać zmianie podczas działania
programu

Instrukcja przypisania

(

:=

) pozwala nadać zmiennej pewną

wartość

Przypisywana wartość musi mieścić się w zakresie typu,
inaczej dostaniemy błąd

zmienna, której nie przypisano w programie żadnej wartości,
ma wartość przypadkową

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Wartość zmiennej może ulegać zmianie podczas działania
programu

Instrukcja przypisania

(

:=

) pozwala nadać zmiennej pewną

wartość
Przypisywana wartość musi mieścić się w zakresie typu,
inaczej dostaniemy błąd

zmienna, której nie przypisano w programie żadnej wartości,
ma wartość przypadkową

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Przykład (Użycie instrukcji przypisania)

deklaracje zmiennych: a,b,i:

integer;

i := 2;

a := 2+2;

b := a+i;

weź wartość zmiennej a, dodaj do niej wartość zmiennej i, otrzymany wynik

przypisz zmiennej b

a := a + 5;

weż wartość zmiennej a, dodaj do niej 5, otrzymany wynik przypisz z powrotem

zmiennej a

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Przykład (Użycie zmiennych)

w i t h

ada . t e x t i o ,

ada . i n t e g e r t e x t i o ;

u s e

ada . t e x t i o ,

ada . i n t e g e r t e x t i o ;

p r o c e d u r e w 0 2 p 7 1

i s

a , b , c :

i n t e g e r ;

b e g i n

a : = 1 0 ;
b : = 2 ;
ada . t e x t i o . p u t ( ”Mamy l i c z b y A = ” ) ;
ada . i n t e g e r t e x t i O . p u t ( a , w i d t h =>0);
ada . t e x t i o . p u t ( ” i B = ” ) ;
ada . i n t e g e r t e x t i O . p u t ( b , w i d t h =>0);
ada . t e x t i o . n e w l i n e ;
c := a+b ;
ada . t e x t i o . p u t ( ”Suma A i B w y n o s i ” ) ;

p u t ( c , w i d t h =>0);

end w 0 2 p 7 1 ;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Wartość początkowa zmiennej

Zmiennej możemy przypisać wartość już w momencie jej
deklarowania (

inicjalizacja zmiennej

). Przypisywana wartość musi

mieścić się w zakresie typu, inaczej dostaniemy błąd.
Postać:

nazwa zmiennej :

typ := wyrażenie;

Przykład

i:

integer := 0;

s:

float := 2.5234 + 3.234;

k,l,m :

integer := 100;

wszystkie trzy zmienne zostaną zainicjowane wartością 100

zmienna oczywiście nadal pozostaje zmienną, czyli jej wartość może ulegać zmianie

podczas działania programu

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Wartość początkowa zmiennej

Zmiennej możemy przypisać wartość już w momencie jej
deklarowania (

inicjalizacja zmiennej

). Przypisywana wartość musi

mieścić się w zakresie typu, inaczej dostaniemy błąd.
Postać:

nazwa zmiennej :

typ := wyrażenie;

Przykład

i:

integer := 0;

s:

float := 2.5234 + 3.234;

k,l,m :

integer := 100;

wszystkie trzy zmienne zostaną zainicjowane wartością 100

zmienna oczywiście nadal pozostaje zmienną, czyli jej wartość może ulegać zmianie

podczas działania programu

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Przykład (Wartości początkowe zmiennych)

w i t h ada . t e x t i o ,

ada . i n t e g e r T e x t I O ;

u s e ada . T e x t I O ,

ada . I n t e g e r T e x t I O ;

p r o c e d u r e w02 p8

i s

a , B : i n t e g e r : = 3 ;

c : i n t e g e r := a ∗ b ;

−− i n i c j a l i z a c j a

w a r t o s c i a 9

b e g i n

a : = 1 2 ;

p u t ( a ) ;

−− w y p i s z e 12

p u t ( b ) ;

−− w y p i s z e 3

p u t ( c ) ;

−− w y p i s z e

9 mimo z m i a n y

w a r t o s c i A

−−

w a r t o s c C s i e

n i e

z m i e n i l a

end w02 p8 ;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Stałe

Oprócz zmiennych możemy w programie używać także

stałych

.

Stałe nie mogą zmieniać swojej wartości. Wartość nadajmy im w
momencie deklaracji.

w części deklaracyjnej programu piszemy

nazwa stałej : constant typ := wyrażenie;

lub

nazwa stałej : constant := wyrażenie;

w drugim przypadku stała przyjmuje typ universal integer lub

universal real, zależnie od rodzaju wyrażenia

Przykład

Deklaracje stałych

procent podatku :

constant integer := 18;

przyspieszenie ziemskie :

constant := 9.80665;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Stałe

Oprócz zmiennych możemy w programie używać także

stałych

.

Stałe nie mogą zmieniać swojej wartości. Wartość nadajmy im w
momencie deklaracji.

w części deklaracyjnej programu piszemy

nazwa stałej : constant typ := wyrażenie;

lub

nazwa stałej : constant := wyrażenie;

w drugim przypadku stała przyjmuje typ universal integer lub

universal real, zależnie od rodzaju wyrażenia

Przykład

Deklaracje stałych

procent podatku :

constant integer := 18;

przyspieszenie ziemskie :

constant := 9.80665;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Przykład (Użycie stałej)

w i t h ada . t e x t i o ,

ada . f l o a t t e x t i o ;

u s e ada . t e x t i o ,

ada . f l o a t t e x t i o ;

p r o c e d u r e w02 p9

i s

c e n a n e t t o ,

c e n a b r u t t o :

f l o a t ;

VAT :

c o n s t a n t

f l o a t : = 0 . 2 3 ;

b e g i n

p u t ( ” p o d a j c e n e

n e t t o : ” ) ;

g e t ( c e n a n e t t o ) ;

c e n a b r u t t o := c e n a n e t t o + c e n a n e t t o ∗VAT ;

p u t ( ” c e n a

b r u t t o

w y n o s i

: ” ) ;

p u t ( c e n a b r u t t o ,

e x p =>0, a f t =>2);

end w02 p9 ;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Operacje wejścia/wyjścia dla zmiennych i stałych

Pobieranie i wypisywanie wartości zmiennych

Aby pobrać wartość zmiennej (np. z klawiatury) lub wypisać
wartość zmiennej albo stałej (np. na ekran) musimy użyć zasobów
odpowiedniego pakietu

dla typu integer - pakietu ada.integer text io

dla typu float - pakietu ada.float text io

dla typu long integer - pakietu
ada.long integer text io

dla typu long float - pakietu ada.long float text io itd.

Niektóre implementacje Ady mogą nie udostępniać gotowych pakietów dla wszystkich

w/w typów. Musimy wtedy dokonać odpowiedniej

konkretyzacji

pakietu

ada.text io.integer io lub ada.text io.float io.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Operacje wejścia/wyjścia dla zmiennych i stałych

Pobieranie i wypisywanie wartości zmiennych

Aby pobrać wartość zmiennej (np. z klawiatury) lub wypisać
wartość zmiennej albo stałej (np. na ekran) musimy użyć zasobów
odpowiedniego pakietu

dla typu integer - pakietu ada.integer text io

dla typu float - pakietu ada.float text io

dla typu long integer - pakietu
ada.long integer text io

dla typu long float - pakietu ada.long float text io itd.

Niektóre implementacje Ady mogą nie udostępniać gotowych pakietów dla wszystkich

w/w typów. Musimy wtedy dokonać odpowiedniej

konkretyzacji

pakietu

ada.text io.integer io lub ada.text io.float io.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Przykład (Konkretyzacja)

w i t h ada . t e x t i o ;
u s e

ada . t e x t i o ;

p r o c e d u r e w02 p10

i s

p a c k a g e

i i

i s new ada . t e x t i o . f l o a t i o ( s h o r t f l o a t ) ;

u s e

i i ;

b e g i n

p u t ( ” n a j m n i e j s z a

l i c z b a w t y p i e

s h o r t f l o a t

t o ” ) ;

i i . p u t ( s h o r t f l o a t ’ f i r s t ) ;

p u t ( ” a n a j w i e k s z a

t o ” ) ;

p u t ( s h o r t f l o a t ’ l a s t ) ;

end w02 p10 ;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Każdy z w/w pakietów zawiera:

procedurę

put

dla odpowiedniego typu, umożliwiającą

wypisanie na ekran wartości zmiennej lub stałej tego typu

procedurę

get

dla odpowiedniego typu, umożliwiającą

pobranie z klawiatury wartości zmiennej tego typu

działanie procedury get: jeśli bufor klawiatury jest pusty, procedura

zatrzymuje program do momentu wprowadzenia do bufora danych

(zakończonych znakiem końca linii, czyli klawiszem Enter); jeśli bufor nie

jest pusty - czyta wartość z bufora bez oczekiwania na podanie danych

przez użytkownika. Czytanie przebiega następująco: początkowe białe

znaki (spacje, znaki końca linii, znak tabulatora) są pomijane, czytana

zmienna przyjmuje wartość odpowiadającą literałowi złożonemu ze

znaków przeczytanych do napotkania pierwszego “nieodpowiedniego”

znaku. Wprowadzone z klawiatury “nieodpowiednie” znaki (np. końcowy

znak końca linii wprowadzony przy wciskaniu Enter) zostają w buforze

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Wyrażenia arytmetyczne

Wyrażenia

konstruuje się z literałów, nazw obiektów (tj. nazw

stałych i zmiennych) oraz operatorów arytmetycznych.
Wyrażenia służą do obliczania wartości, które przypisujemy stałym
lub zmiennym, lub wyprowadzamy np. na ekran.

pojedyncza zmienna lub literał to także wyrażenie

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Operatory używane w wyrażeniach

Podstawowe operatory używane w wyrażeniach
arytmetycznych to

+ - * /

Kolejność działań jest standardowa (standardowy priorytet
operatorów), można używać także nawiasów grupujących

Ada nie pozwala na “mieszanie” w jednym wyrażeniu
elementów różnych typów

np. wyrażenie 2.3*2 jst niepoprawne, poprawna wersja to

2.3*2.0

Typ wyniku jest taki sam jak typ argumentów użytych w
wyrażeniu

uwaga -

dzielenie dwóch liczb całkowitych jest w takim

razie dzieleniem całkowitym

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Operatory używane w wyrażeniach

Podstawowe operatory używane w wyrażeniach
arytmetycznych to

+ - * /

Kolejność działań jest standardowa (standardowy priorytet
operatorów), można używać także nawiasów grupujących

Ada nie pozwala na “mieszanie” w jednym wyrażeniu
elementów różnych typów

np. wyrażenie 2.3*2 jst niepoprawne, poprawna wersja to

2.3*2.0

Typ wyniku jest taki sam jak typ argumentów użytych w
wyrażeniu

uwaga -

dzielenie dwóch liczb całkowitych jest w takim

razie dzieleniem całkowitym

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Inne operatory arytmetyczne

operator

rem

(remainder) pozwala na znalezienie reszty z

dzielenia całkowitego

definicja operatora: A = (A/B) · B + (A rem B)
przy czym | A rem B |<| B | i A rem B ma ten sam znak co A

operator

mod

działa w podobny sposób

definicja operatora: A = B · N + (A mod B) dla pewnego
całkowitego N
przy czym | A mod B |<| B | i A mod B ma ten sam znak co B

Powyższe operatory zdefiniowane są tylko dla typów całkowitych

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Inne operatory arytmetyczne

operator

rem

(remainder) pozwala na znalezienie reszty z

dzielenia całkowitego
definicja operatora: A = (A/B) · B + (A rem B)
przy czym | A rem B |<| B | i A rem B ma ten sam znak co A

operator

mod

działa w podobny sposób

definicja operatora: A = B · N + (A mod B) dla pewnego
całkowitego N
przy czym | A mod B |<| B | i A mod B ma ten sam znak co B

Powyższe operatory zdefiniowane są tylko dla typów całkowitych

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Inne operatory arytmetyczne

operator

rem

(remainder) pozwala na znalezienie reszty z

dzielenia całkowitego
definicja operatora: A = (A/B) · B + (A rem B)
przy czym | A rem B |<| B | i A rem B ma ten sam znak co A

operator

mod

działa w podobny sposób

definicja operatora: A = B · N + (A mod B) dla pewnego
całkowitego N
przy czym | A mod B |<| B | i A mod B ma ten sam znak co B

Powyższe operatory zdefiniowane są tylko dla typów całkowitych

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Inne operatory arytmetyczne - cd

Ada umożliwia również potęgowanie (operator **)

podstawa potęgi może być typu całkowitego lub
zmiennoprzecinkowego

wykladnik potęgi musi być liczbą całkowitą (dla
podstawy całkowitej - dodatkowo nieujemną)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Przykład (Operacje arytmetyczne)

w i t h ada . t e x t i o ,

ada . i n t e g e r t e x t i o ;

u s e

ada . t e x t i o ,

ada . i n t e g e r t e x t i o ;

p r o c e d u r e w02 p11

i s

L1 , L2 :

i n t e g e r ;

b e g i n

p u t ( ” p o d a j d w i e

l i c z b y :

” ) ;

g e t ( L1 ) ;

g e t ( L2 ) ;

p u t ( ” d r u g a

l i c z b a

m i e s c i

s i e w p i e r w s z e j . . .

” ) ;

p u t ( L1 / L2 ) ; p u t l i n e ( ” r a z y ” ) ;
p u t ( ” r e s z t a

z

d z i e l e n i a

w y n o s i . . .

” ) ;

p u t ( L1 rem L2 ) ;

n e w l i n e ;

p u t ( ” k w a d r a t

p i e r w s z e j

l i c z b y

t o . . .

” ) ;

p u t ( L1 ∗ ∗ 2 ) ;

e x c e p t i o n

when o t h e r s => p u t ( ”

! ! ! !

z l e

d a n e

! ! ! ! ” ) ;

end w02 p11 ;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Konwersja typów

Zastosowanie w jednym wyrażeniu zmiennych różnych typów
wymaga

konwersji typów

.

Konwersja do typu T:

T(wyrażenie innego typu)

oczywiście nie każda konwersja jest możliwa i nie każda jest
sensowna

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Przykład (Operacje arytmetyczne, konwersja)

w i t h

ada . t e x t i o ,

ada . i n t e g e r t e x t i o ,

ada . f l o a t t e x t i o ;

u s e

ada . t e x t i o ,

ada . i n t e g e r t e x t i o ,

ada . f l o a t t e x t i o ;

p r o c e d u r e w02 p12

i s

bok1 , bok2 ,

p o l e , obw ,

p o l e 2 :

f l o a t ;

i l e :

i n t e g e r ;

b e g i n

p u t ( ” p o d a j bok p r o s t o k a t a : ” ) ;

g e t ( bok1 ) ;

p u t ( ” p o d a j

d r u g i bok : ” ) ;

g e t ( bok2 ) ;

n e w l i n e ;

p o l e := bok1 ∗ bok2 ;

p u t ( ” p o l e

p r o s t o k a t a

w y n o s i ” ) ;

p u t ( p o l e , e x p =>0); n e w l i n e ;

obw : = 2 . 0 ∗ bok1 + 2 . 0 ∗ bok2 ;

p u t ( ” obwod p r o s t o k a t a

w y n o s i : ” ) ;

p u t ( obw , e x p =>0); n e w l i n e ;
p u t ( ” na

i l e

r o w n y c h

c z e s c i

c h c e s z

p o d z i e l i c

p r o s t o k a t ? ” ) ;

g e t ( i l e ) ;
p o l e 2 := p o l e / f l o a t ( i l e ) ;
p u t ( ” p o l e

k a z d e j

c z e s c i

w y n i e s i e ” ) ;

p u t ( p o l e 2 , e x p =>0);

end w02 p12 ;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Podtypy

Jeśli chcemy ograniczyć zakres zmiennej, możemy zdefiniować
podtyp pewnego typu. Operacje wejścia/wyjścia dla podtypu
obsługiwane są przez pakiet dla typu bazowego

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

background image

Liczby

Literały numeryczne

O procedurach

Typy liczbowe

Zmienne i stałe

Wyrażenia arytmetyczne

Przykład (Podtypy)

w i t h ada . t e x t i o ,

ada . i n t e g e r t e x t i o ;

u s e

ada . t e x t i o ,

ada . i n t e g e r t e x t i o ;

p r o c e d u r e w02 p13

i s

s u b t y p e D o d a t n i e D o 1 0

i s

i n t e g e r

r a n g e

1 . . 1 0 ;

L1 , L2 :

D o d a t n i e D o 1 0 ;

b e g i n

p u t ( ” p o d a j d w i e

l i c z b y :

” ) ;

g e t ( L1 ) ;

g e t ( L2 ) ;

p u t ( ” d r u g a

l i c z b a

m i e s c i

s i e w p i e r w s z e j . . .

” ) ;

p u t ( L1 / L2 ) ; p u t l i n e ( ” r a z y ” ) ;
p u t ( ” r e s z t a

z

d z i e l e n i a

w y n o s i . . .

” ) ;

p u t ( L1 rem L2 ) ;

n e w l i n e ;

p u t ( ” k w a d r a t

p i e r w s z e j

l i c z b y

t o . . .

” ) ;

p u t ( L1 ∗ ∗ 2 ) ;

e x c e p t i o n

when o t h e r s => p u t ( ”

! ! ! !

z l e

d a n e

! ! ! ! ” ) ;

end w02 p13 ;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania


Document Outline


Wyszukiwarka

Podobne podstrony:
1213z wdprog ww02
1213z wdprog ww04
1213z wdprog ww07
1213z wdprog ww11
1213z wdprog ww09
1213z wdprog ww08
1213z wdprog ww12
1213z wdprog ww10
1213z wdprog ww13
1213z wdprog ww06
1213z wdprog ww14
1213z wdprog ww05
1213z wdprog ww03
1213z wdprog ww01

więcej podobnych podstron