1011z wdprog ww06

background image

Zadania

Bloki

Wyjątki i ich obsługa

Wstęp do programowania

wykład 6

Agata Półrola

Wydział Matematyki i Informatyki UŁ

sem. zimowy 2010/2011

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

Wstęp do programowania

background image

Zadania

Bloki

Wyjątki i ich obsługa

Zadania

Zadanie 1

Napisać progam pobierający liczby całkowite do momentu pobrania
zera i wypisujący największą z podanych liczb (końcowe zero nie
jest brane pod uwagę)

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

Wstęp do programowania

background image

Zadania

Bloki

Wyjątki i ich obsługa

Zadanie 2

Napisać progam pobierający liczby całkowite do momentu pobrania
zera i wypisujący informację czy była wśród nich liczba parzysta
(końcowe zero nie jest brane pod uwagę)

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

Wstęp do programowania

background image

Zadania

Bloki

Wyjątki i ich obsługa

Zadanie 3

Napisać progam pobierający liczby całkowite do momentu pobrania
zera i wypisujący pary kolejno podanych liczb w których pierwszy
element jest mniejszy niż drugi (końcowe zero nie jest brane pod
uwagę)

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

Wstęp do programowania

background image

Zadania

Bloki

Wyjątki i ich obsługa

Bloki

Struktura bloku

W programie możemy używać

bloków

.

Blok może (ale nie musi) mieć na początku własną część
deklaracyjną rozpoczynającą się słowem

declare

.

Część wykonywalna bloku zaczyna się słowem

begin

i słowem

end

.

Ponadto blok może (ale nie musi) mieć na końcu części
wykonywalnej fragment służący do obsługi wyjątków
rozpoczynający się słowem

exception

(o tym co to wyjątki będzie poźniej)

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

Wstęp do programowania

background image

Zadania

Bloki

Wyjątki i ich obsługa

Przykłady

declare

|

declare

|

|

...

|

...

|

|

begin

|

begin

|

begin

|

begin

...

|

|

...

|

exception

|

...

|

exception

|

...

...

|

|

...

|

end;

|

end;

|

end;

|

end;

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

Wstęp do programowania

background image

Zadania

Bloki

Wyjątki i ich obsługa

Uwagi

Za przykładem bloku możemy uznać również cały program
(procedurę). Jedyna różnica to taka, że jej część deklaracyjna
jest zawarta między linią procedure ...

is a słowem

begin rozpoczynającym część wykonywalną programu (nie
używamy instrukcji declare)
Wniosek: program może mieć część zajmującą się obsługą
wyjątków (między exception a end kończącym program).

blokiem postaci begin ...

end; możemy otoczyć dowolny

ciąg instrukcji, tyle że zazwyczaj jest to zbędne.

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

Wstęp do programowania

background image

Zadania

Bloki

Wyjątki i ich obsługa

Uwagi

Za przykładem bloku możemy uznać również cały program
(procedurę). Jedyna różnica to taka, że jej część deklaracyjna
jest zawarta między linią procedure ...

is a słowem

begin rozpoczynającym część wykonywalną programu (nie
używamy instrukcji declare)
Wniosek: program może mieć część zajmującą się obsługą
wyjątków (między exception a end kończącym program).

blokiem postaci begin ...

end; możemy otoczyć dowolny

ciąg instrukcji, tyle że zazwyczaj jest to zbędne.

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

Wstęp do programowania

background image

Zadania

Bloki

Wyjątki i ich obsługa

Przykład (Zbędne bloki)

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 6 z b e d n e b l o k i

i s

a , b : i n t e g e r ;

b e g i n

b e g i n

p u t ( ” p o d a j

l i c z b e > ” ) ;

g e t ( a ) ;

end ;

b e g i n

p u t ( ” p o d a j

l i c z b e > ” ) ;

g e t ( b ) ;

end ;

i f

a>b t h e n

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

l i c z b a

t o ” ) ;

p u t ( a , 0 ) ;

end ;

e l s i f

a<b t h e n

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

l i c z b a

t o ” ) ;

p u t ( b , 0 ) ;

end ;

e l s e

b e g i n

p u t ( ” l i c z b y

s a r o w n e ” ) ;

end ;

end

i f ;

n e w l i n e ;

p u t ( ” a t e r a z

s n i e g

l i c z b o w y ; −) − w c i s n i j

e n t e r ” ) ;

s k i p l i n e ( 2 ) ;

f o r

i

i n

1 . . 1 0 0 0 0 l o o p

b e g i n

p u t ( a ) ;

end ;

end l o o p ;

end w 0 6 z b e d n e b l o k i ;

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

Wstęp do programowania

background image

Zadania

Bloki

Wyjątki i ich obsługa

Kiedy używać bloków

kiedy chcemy wewnątrz programu zadeklarować
zmienną/stałą której deklaracja zależy od pobranej lub
obliczonej wcześniej w programie wartości
zadeklarowana zmienna “żyje” tylko wewnatrz bloku

kiedy chcemy obsłużyć wyjątek

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

Wstęp do programowania

background image

Zadania

Bloki

Wyjątki i ich obsługa

Kiedy używać bloków

kiedy chcemy wewnątrz programu zadeklarować
zmienną/stałą której deklaracja zależy od pobranej lub
obliczonej wcześniej w programie wartości
zadeklarowana zmienna “żyje” tylko wewnatrz bloku

kiedy chcemy obsłużyć wyjątek

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

Wstęp do programowania

background image

Zadania

Bloki

Wyjątki i ich obsługa

Przykład (Deklaracja w części wykonywalnej programu)

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

w 0 6 b l o k d e k l

i s

p r z e c w y n

: f l o a t ;

b e g i n

p u t ( ” p o d a j w y s o k o s c

p r z e c i e t n e g o

w y n a g r o d z e n i a > ” ) ;

g e t ( p r z e c w y n ) ;
d e c l a r e

p l a c a m i n :

c o n s t a n t

f l o a t : = 0 . 4 1 ∗ p r z e c w y n ;

−− p l a c a m i n i m a l n a

j e s t

u s t a l o n a

j a k o

−− 41 p r o c e n t

p r z e c i e t n e g o

w y n a g r o d z e n i a

b e g i n

p u t ( ” p l a c a

m i n i m a l n a w y n o s i ” ) ;

p u t ( p l a c a m i n , e x p =>0, a f t =>2);

end ;

end w 0 6 b l o k d e k l ;

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

Wstęp do programowania

background image

Zadania

Bloki

Wyjątki i ich obsługa

Wyjątki

W sytuacjach “awaryjnych” (wczytanie litery zamiast liczby,
dzielenie przez zero, przekroczenie zakresu i itp) zgłaszany jest
tzw.

wyjątek

nazwy wyjątków określone są w odpowiednich pakietach;
można również deklarować własne wyjątki.

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

Wstęp do programowania

background image

Zadania

Bloki

Wyjątki i ich obsługa

Wyjątki predefiniowane

Wyjątki predefiniowane (tzn. zdefiniowane w pakiecie Standard)
to:

Constraint Error

Program Error

Storage Error

Tasking Error

Inne popularne wyjątki

Data Error zdefiniowany w pakiecie ada.text io

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

Wstęp do programowania


Document Outline


Wyszukiwarka

Podobne podstrony:
1011z wdprog ww07
1011z wdprog ww05
1011z wdprog w01
1011z wdprog ww08
1213z wdprog ww06
1011z wdprog ww03
1011z wdprog ww04
1011z wdprog w02
1011z wdprog ww09
1011z wdprog ww07
1011z wdprog ww05
1011z wdprog ww07

więcej podobnych podstron