1011z wdprog ww07

background image

Wyjątki i ich obsługa

Tablice

Wstęp do programowania

wykład 7

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

Wyjątki i ich obsługa

Tablice

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

Wyjątki i ich obsługa

Tablice

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

background image

Wyjątki i ich obsługa

Tablice

Kiedy pojawiają się powyższe wyjątki

Constraint Error - przekroczenie jakiegoś zakresu.

(niektóre przypadki)

:

przekroczenie zakresu typu
przekroczenie zakresu indeksu tablicy lub zakresu wyróżnika
rekordu
próba użycia pól rekordu nie istniejących dla danej wartości
wyrożnika
próba odwołania do zawartości obiektu który miałby być
pokazywany przez wskaźnik, gdy wartość tego wskaźnika jest
null

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Przykład

with ada . t e x t i o , ada . i n t e g e r T e x t I O ;
use 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 7 w y j a t k i C E

i s

a , b , c :

i n t e g e r ;

b e g i n

a := i n t e g e r ’ l a s t ;
b := i n t e g e r ’ l a s t / 2 ;
c := a+2∗b ;

−− s p o w o d u j e c o n s t r a i n t e r r o r

p u t ( c ) ;

end w 0 7 w y j a t k i C E ;

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Kiedy pojawiają się powyższe wyjątki - cd.

Storage Error - przekroczenie rozmiaru stosu (tzw.
przepełnienie stosu)

stos - obszar pamięci wydzielony dla danego programu i służący do

przechowywania jego zmiennych lokalnych. Wielkość stosu jest stała w czasie

wykonania programu.

Główne przypadki:

deklarowanie zmiennych (np. tablicowych) zbyt dużego
rozmiaru
“nieodpowiednie” wywoływanie niektórych funkcji
rekurencyjnych (np. dla zbyt dużych parametrów)

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Przykład

p r o c e d u r e w 0 7 w y j a t k i S E

i s

a :

i n t e g e r ;

b e g i n

a := i n t e g e r ’ l a s t / 2 ;

d e c l a r e

t : a r r a y ( i n t e g e r range 1 . . a ) o f i n t e g e r ;

−− prawdop . s p o w o d u j e S t o r a g e E r r o r

b e g i n

t ( 1 ) : = 1 0 ;

end ;

end w 0 7 w y j a t k i S E ;

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Kiedy pojawiają się powyższe wyjątki - cd.

Program Error - próby jakiegoś “naruszenia” struktury
programu (np. dla pewnych danych wykonanie funkcji nie
natrafi na return

Tasking Error - błąd związany z wielozadaniowością

Data Error - błąd danych (np. podanie litery zamiast liczby)

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Przykład

with ada . f l o a t T e x t I O ,

ada . n u m e r i c s . E l e m e n t a r y F u n c t i o n s ;

use ada . f l o a t T e x t I O ,

ada . n u m e r i c s . E l e m e n t a r y F u n c t i o n s ;

p r o c e d u r e w 0 7 w y j a t k i P E

i s

f u n c t i o n p i e r w i a s t e k ( a :

f l o a t ) r e t u r n

f l o a t

i s

b e g i n

i f a >=0.0 then r e t u r n s q r t ( a ) ; end i f ;

end p i e r w i a s t e k ;
a :

f l o a t ;

b e g i n

g e t ( a ) ;

−− p r z y z l y c h d an y c h D a t a E r r o r

p u t ( p i e r w i a s t e k ( a ) ) ;

−− d l a ujemnego A P r o g r a m E r r o r

end w 0 7 w y j a t k i P E ;

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Wyjątki zdefiniowane w pakietach

Każdy dostępny pakiet może (ale nie musi) zawierać definicje
wyjątków. Możemy się do nich odwoływać pisząc
nazwa pakietu.nazwa wyjątku lub po prostu nazwa wyjątku
jeśli zawartość pakietu jest dostępna bezpośrednio, a nazwa
wyjątku jest jednoznaczna.

Definiowanie własnych wyjątków

W programie (w jego części deklaracyjnej) można definiować
własne wyjątki pisząc
nazwa wyjątku:

exception;

Instrukcja powodująca zgłoszenie wyjątku ma postać
raise nazwa wyjątku;

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Wyjątki zdefiniowane w pakietach

Każdy dostępny pakiet może (ale nie musi) zawierać definicje
wyjątków. Możemy się do nich odwoływać pisząc
nazwa pakietu.nazwa wyjątku lub po prostu nazwa wyjątku
jeśli zawartość pakietu jest dostępna bezpośrednio, a nazwa
wyjątku jest jednoznaczna.

Definiowanie własnych wyjątków

W programie (w jego części deklaracyjnej) można definiować
własne wyjątki pisząc
nazwa wyjątku:

exception;

Instrukcja powodująca zgłoszenie wyjątku ma postać
raise nazwa wyjątku;

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Przykład

with ada . t e x t i o , ada . i n t e g e r t e x t i o ;
use 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 7 w y j a t k i u d e f

i s

j e s t 1 3 : e x c e p t i o n ;

a :

i n t e g e r ;

b e g i n

g e t ( a ) ;

i f a=13 then r a i s e

j e s t 1 3 ; end i f ;

p u t ( ” p o d a l e s

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

end w 0 7 w y j a t k i u d e f ;

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Obsługa wyjątków

Jak już było na poprzednim wykładzie - kod obsługujący wyjatki
umieszczamy na końcu bloku begin ...

end

Ma on postać podobną do instrukcji case:

begin
...
exception
when wyjątek_1 | wyjątek_2 | ... | wyjątek_n => instrukcje
when wyjątek_(n+1) | ... | wyjątek_k => instrukcje
...
when others => instrukcje
end;

przy czym when others (obsługujące wszystkie wyjątki nie wymienione we

wcześniejszych “when” jest opcjonalne - nie musi wystąpić nawet jeśli wyjątki

wymienione we wcześniejszych listach to nie wszystkie wyjątki jakie mogą wystąpić w

danym kodzie (w odróżnieniu od instrukcji case)

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Jeśli nie ma obsługi wyjątku

wyjątek jest propagowany dynamicznie, tzn. jednostka
programu (procedura, funkcja, blok) w której wystąpił wyjątek
jest zakańczana i wyjątek jest zgłaszany w miejscu które tę
jednostkę wywołało

powyższa propagacja jest powtarzana albo “do samej góry”
(do momentu zakończenia programu głownego), albo do
miejsca, w którym dany wyjątek zostanie obsłużony.

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Działanie obsługi wyjątku

w przypadku zgłoszenia wyjątku instrukcje następujące po
odpowiadającym mu “=>” zastępują dalsze (po miejscu
powodującym wyjątek) instrukcje danego bloku

po wykonaniu tych instrukcji program przechodzi do miejsca
“za daną jednostką” (tj. albo do kolejnej instrukcji za
blokiem, albo do kolejnych instrukcji za podprogramem który
zgłosił i obsłuzył wyjątek)

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

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 7 w y j a t k i p r o p

i s

j e s t 1 3 :

e x c e p t i o n ;

a :

i n t e g e r ;

b e g i n

b e g i n

b e g i n

g e t ( a ) ;

i f

a=13 t h e n

r a i s e

j e s t 1 3 ; end

i f ;

p u t ( ” p o d a l e s

l i c z b e ” ) ;

p u t ( a , 0 ) ;

e x c e p t i o n

when j e s t 1 3 => p u t l i n e ( ” f e r a l n e

d a n e ” ) ;

end ;

p u t l i n e ( ” w y s z e d l e m z b l o k u ” ) ;

e x c e p t i o n

when j e s t 1 3 => p u t ( ” z l a

l i c z b a ” ) ;

when d a t a e r r o r => p u t ( ” n i e

l i c z b a ” ) ;

end ;

end w 0 7 w y j a t k i p r o p ;

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Przykład

w i t h ada . t e x t i o , ada . f l o a t T e x t I O ,

ada . n u m e r i c s . E l e m e n t a r y F u n c t i o n s ;

u s e ada . t e x t i o , ada . f l o a t T e x t I O ,

ada . n u m e r i c s . E l e m e n t a r y F u n c t i o n s ;

p r o c e d u r e

w 0 7 w y j a t k i p r o p o b s

i s

f u n c t i o n

p i e r w i a s t e k ( a :

f l o a t )

r e t u r n

f l o a t

i s

z a m a l e :

e x c e p t i o n ;

b e g i n

i f

a <=2.0 t h e n

r a i s e

z a m a l e ; end

i f ;

i f

a >=0.0 t h e n

r e t u r n

s q r t ( a ) ;

end

i f ;

e x c e p t i o n

when p r o g r a m e r r o r=> p u t ( ” l i c z b a

uj emn a ” ) ;

when z a m a l e => p u t ( ” . . . z a mala

l i c z b a . . . ” ) ;

r e t u r n

0 . 0 ;

end p i e r w i a s t e k ;

a :

f l o a t ;

b e g i n

p u t ( ” p o d a j

l i c z b e ” ) ;

g e t ( a ) ;

b e g i n

p u t ( ” p i e r w i a s t e k

w y n o s i : ” ) ;

p u t ( p i e r w i a s t e k ( a ) ) ;

n e w l i n e ;

e x c e p t i o n

when p r o g r a m e r r o r => p u t l i n e ( ” b l a d ” ) ;
when d a t a e r r o r

|

c o n s t r a i n t e r r o r => p u t l i n e ( ” z l e

d a n e ” ) ;

end ;
p u t ( ” k o n i e c p r o g r a m u ” ) ;

end w 0 7 w y j a t k i p r o p o b s ;

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Jedno z zastosowań obsługi wyjątku

Obsługa wyjątku może wymusić podanie poprawnych danych

Przydaje się do tego instrukcja skip line z pakietu ada.text io,
powodująca wyczyszczenie bufora klawiatury

czyszczenie bufora oznacza tutaj usunięcie z niego wszystkich znaków do
najbliższego znaku końca linii (entera), łącznie z tym enterem

można również używać skip line(n), gdzie n jest liczbą - odpowiada to użyciu
n kolejnych skip line

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Jedno z zastosowań obsługi wyjątku

Obsługa wyjątku może wymusić podanie poprawnych danych
Przydaje się do tego instrukcja skip line z pakietu ada.text io,
powodująca wyczyszczenie bufora klawiatury

czyszczenie bufora oznacza tutaj usunięcie z niego wszystkich znaków do
najbliższego znaku końca linii (entera), łącznie z tym enterem

można również używać skip line(n), gdzie n jest liczbą - odpowiada to użyciu
n kolejnych skip line

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

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 7 w y j a t k i m u s

i s

a :

i n t e g e r ;

b e g i n

l o o p

b e g i n

p u t ( ” P o d a j

l i c z b e > ” ) ;

g e t ( a ) ;

e x i t ;

e x c e p t i o n

when d a t a e r r o r => p u t l i n e ( ” b l e d n e d a n e ” ) ;

s k i p l i n e ;

end ;

end l o o p ;

p u t ( ” p o d a l e s ” ) ;

p u t ( a , 0 ) ;

n e w l i n e ;

p u t ( ” k o n i e c p r o g r a m u ” ) ;

end w 0 7 w y j a t k i m u s ;

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Tablice

Co to jest tablica

Tablica

jest zlożonym obiektem składającym się z

wielu elementów

(tzw.

składowych

) należących do

tego samego typu

tablica może być jedno-, dwu- lub więcejwymiarowa

do całej struktury odwołujemy się za pomocą pojedynczego
identyfikatora

możemy również odwoływać się do poszczególnych
(pojedynczych) elementów tablicy, a także do podtablic

do elementów tablicy i podtablic odwołujemy się używając
tzw.

indeksów

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Tablice

Co to jest tablica

Tablica

jest zlożonym obiektem składającym się z

wielu elementów

(tzw.

składowych

) należących do

tego samego typu

tablica może być jedno-, dwu- lub więcejwymiarowa

do całej struktury odwołujemy się za pomocą pojedynczego
identyfikatora

możemy również odwoływać się do poszczególnych
(pojedynczych) elementów tablicy, a także do podtablic

do elementów tablicy i podtablic odwołujemy się używając
tzw.

indeksów

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Tablice

Co to jest tablica

Tablica

jest zlożonym obiektem składającym się z

wielu elementów

(tzw.

składowych

) należących do

tego samego typu

tablica może być jedno-, dwu- lub więcejwymiarowa

do całej struktury odwołujemy się za pomocą pojedynczego
identyfikatora

możemy również odwoływać się do poszczególnych
(pojedynczych) elementów tablicy, a także do podtablic

do elementów tablicy i podtablic odwołujemy się używając
tzw.

indeksów

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Przykłady tablic jednowymiarowych

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Deklaracja tablic jednowymiarowych

zmienne tablicowe możemy deklarować jako będące tzw.

anonimowego typu tablicowego

:

zmienna :

array (określenie indeksu) of

typ składowych;

Przykłady

a : array (integer range 1..10) of integer;

type dni is (pon, wt, sr, czw, pt, so, nie);
b: array (dni) of float;

c: array(1..10) of dni;

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Deklaracja tablic jednowymiarowych - cd

kolejna możliwość to zdefiniowanie

typu tablicowego

posiadającego własną nazwę, a potem zadeklarowanie
zmiennej tego typu
type nazwa typu is array (określenie indeksu) of
typ składowych ;

Przykłady

type ciag10liczb is array (integer range 1..10)

of integer;

a: ciag10liczb;

---------
type dni is (pon, wt, sr, czw, pt, so, nie);
type tabTemp is array (dni) of float;
b: tabTemp;

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Indeks - uwagi

określenie indeksu może być postaci:

początek zakresu ...

koniec zakresu

typ indeksu
typ indeksu range początek zakresu ...
koniec zakresu

indeks

musi być typu dyskretnego

jeśli typ indeksu nie jest podany jawnie, to przyjmuje się, że
jest on odpowiedniego typu uniwersalnego (np.
universal integer)

krańce zakresu nie muszą być stałymi - mogą być zadane
dowolnym wyrażeniem

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Indeks - uwagi

określenie indeksu może być postaci:

początek zakresu ...

koniec zakresu

typ indeksu
typ indeksu range początek zakresu ...
koniec zakresu

indeks

musi być typu dyskretnego

jeśli typ indeksu nie jest podany jawnie, to przyjmuje się, że
jest on odpowiedniego typu uniwersalnego (np.
universal integer)

krańce zakresu nie muszą być stałymi - mogą być zadane
dowolnym wyrażeniem

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Indeks - uwagi

określenie indeksu może być postaci:

początek zakresu ...

koniec zakresu

typ indeksu
typ indeksu range początek zakresu ...
koniec zakresu

indeks

musi być typu dyskretnego

jeśli typ indeksu nie jest podany jawnie, to przyjmuje się, że
jest on odpowiedniego typu uniwersalnego (np.
universal integer)

krańce zakresu nie muszą być stałymi - mogą być zadane
dowolnym wyrażeniem

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Odwołania do elementów tablic

Do elementów tablic odwołujemy się przez nazwę zmiennej
tablicowej i wartość indeksu umieszczoną w okrągłych nawiasach
(przy czym wartość indeksu może być dana dowolnym wyrażeniem)

Przykłady

a(1):=12;
put(a(1));

b(pon):=12.5;

i:integer;
...
i:=2*2;
put(a(i));

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Wypełnianie tablic wartościami

nie wypełniona “jawnie” danymi zmienna tablicowa jest
wypełniona przypadkowymi wartościami

tablica może zostać wypełniona danymi przez kolejne
przypisywanie wartości wszystkim jej składowym...

często wykorzystuje się wówczas pętle

... albo przez przypisanie wartości wszystkim składowym
równocześnie, jedną instrukcją - co wymaga użycia tzw.

agregatu tablicy

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Wypełnianie tablic wartościami

nie wypełniona “jawnie” danymi zmienna tablicowa jest
wypełniona przypadkowymi wartościami

tablica może zostać wypełniona danymi przez kolejne
przypisywanie wartości wszystkim jej składowym...

często wykorzystuje się wówczas pętle

... albo przez przypisanie wartości wszystkim składowym
równocześnie, jedną instrukcją - co wymaga użycia tzw.

agregatu tablicy

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Wypełnianie tablic wartościami

nie wypełniona “jawnie” danymi zmienna tablicowa jest
wypełniona przypadkowymi wartościami

tablica może zostać wypełniona danymi przez kolejne
przypisywanie wartości wszystkim jej składowym...

często wykorzystuje się wówczas pętle

... albo przez przypisanie wartości wszystkim składowym
równocześnie, jedną instrukcją - co wymaga użycia tzw.

agregatu tablicy

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Agregaty tablic (jednowymiarowych)

Mamy tablicę:
temperatury:

array (miesiace range sty..mar) of

float;

notacja pozyzyjna:
temperatury := (-10.0, -15.5, 4.2);

notacja nazywana:

temperatury := (lut=>-15.5, sty=>-10.0, mar=>4.2);
temperatury := (lut => -12.0, others => -2.1);
temperatury := (others => -3.0);

notacja mieszana:
temperatury := (-10.0, others=>-3.2);

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Przykład (Pobranie i wypisanie tablicy, agregaty)

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 7 t a b

i s

t y p e t a b

i s

a r r a y

( i n t e g e r

r a n g e

0 . . 5 )

o f

i n t e g e r ;

t :

t a b ;

b e g i n

−− p r z y k l a d y

w y p e l n i e n i a

t a b l i c y

z a pomoca a g r e g a t o w :

−−t : =( o t h e r s =>0);

−−T : = ( 3 , 2 , 1 , 3 , 4 , 7 ) ;

t :=(2=>4, o t h e r s =>0);

p u t l i n e ( ” w y p i s a n i e

t a b l i c y : ” ) ;

f o r

i

i n

0 . . 5

l o o p

p u t ( t ( i ) ) ;

end l o o p ;

p u t l i n e ( ” T e r a z p o b i e r z e m y d a n e do

t a b l i c y ” ) ;

f o r

i

i n

0 . . 5

l o o p

p u t ( ” p o d a j

e l e m e n t na m i e j s u ” ) ;

p u t ( i , 0 ) ;

p u t ( ”> ” ) ;

g e t ( t ( i ) ) ;

end l o o p ;

p u t l i n e ( ” w y p i s a n i e

p o b r a n e j

t a b l i c y : ” ) ;

f o r

i

i n

0 . . 5

l o o p

p u t ( t ( i ) ) ;

end l o o p ;

end w 0 7 t a b ;

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Atrybuty tablic

zmienna tablicowa’first

pierwszy (najmniejszy) indeks danej tablicy

zmienna tablicowa’last

ostatni (największy) indeks danej tablicy

zmienna tablicowa’range

zakres indeksu danej tablicy (odpowiednik

zmienna tablicowa’first..zmienna tablicowa’last)

zmienna tablicowa’length

długość danej tablicy

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

Wstęp do programowania

background image

Wyjątki i ich obsługa

Tablice

Przykład (Poprzedni przykład - z użyciem atrybutów)

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 7 t a b

i s

t y p e t a b

i s

a r r a y

( i n t e g e r

r a n g e

0 . . 5 )

o f

i n t e g e r ;

t :

t a b ;

b e g i n

t :=(2=>4, o t h e r s =>0);

p u t l i n e ( ” w y p i s a n i e

t a b l i c y : ” ) ;

f o r

i

i n t ’ f i r s t . . t ’ l a s t

l o o p

p u t ( t ( i ) ) ;

end l o o p ;

p u t l i n e ( ” T e r a z p o b i e r z e m y d a n e do

t a b l i c y ” ) ;

f o r

i

i n t ’ r a n g e l o o p

p u t ( ” p o d a j

e l e m e n t na m i e j s u ” ) ;

p u t ( i , 0 ) ;

p u t ( ”> ” ) ;

g e t ( t ( i ) ) ;

end l o o p ;

p u t l i n e ( ” w y p i s a n i e

p o b r a n e j

t a b l i c y : ” ) ;

f o r

i

i n t ’ r a n g e l o o p

p u t ( t ( i ) ) ;

end l o o p ;

end w 0 7 t a b ;

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

Wstęp do programowania


Document Outline


Wyszukiwarka

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

więcej podobnych podstron