3PP T5

background image

PODST AWY PROGRAM OWANIA

Typ tablicowy

1

Typ tablicowy jest typem strukturalnym (złożonym), stanowiącym skończony zbiór elementów tego
samego typu, o położeniu określanym przez indeksy. Zmienna typu tablicowego odpowiada tablicy
(macierzy) w sensie matematycznym.

Opis typu tablicowego ma postać:

array[lista_typów_indeksów] of typ_bazowy

w której indeksy muszą być typu porządkowego (integer lub char), a typ bazowy może być dowolnym typem
prostym lub strukturalnym.

Przykład 1

var

tab1: array[0..50] of integer;
tab2, tab3: array[1..20, 1..30] of real;
tablica: array[boolean, zakres, dzien_tyg] of char;

Tablice posiadają wymiar zależny od liczby indeksów (1, 2, 3–wymiarowe) oraz rozmiar zależny od
zakresu określoności indeksu w każdym wymiarze (np. rozmiar – 10 kolumn, 15 wierszy). Najprostsze
tablice to odpowiedniki jednowymiarowych wektorów.

Zmienne tablicowe całościowe mogą być wykorzystane jedynie w operacji przypisania (przy zgodności
typów), np.:

var

tab1, tab2: array [1..10, 1..20] of real;

begin

...
tab1 := tab2;
...

end.

natomiast inne operacje dokonywane być mogą tylko na składowych jeśli są dozwolone dla ich typu.

Przykład 2

...
tab1[2,3] := 0.1;

{nadanie wartości elementowi tablicy}

for i := 1 to 20 do tab2[1,i] := 0.0;

{wypełnianie pierwszego wiersza

zerami}

for i := 1 to 20 do tab2[i,i] := 0;

{wypełnianie przekątnej głównej

zerami}

for i := 1 to 20 do

for k:= 1 to 20 do tab2[i,k] :

= 1 {wypełnianie całej tablicy stałą

wartością równą jeden}

for i := 1 to 20 do

{wydruk na ekranie całej tablicy}

begin

for k:= 1 to 20 do write(tab2[i,k]:4:2);
writeln

end;

...

Przykład 3

type opis = (nazw, imie);
var grupa: array[1..100, opis] of string[30];

i: integer;

begin

...
grupa[1, nazw] := 'Kowalski';
if grupa[i, imie] = 'Stanislaw' then
writeln(grupa[i, nazw]:30, grupa[i, imie]:20);
...

end.

background image

PODST AWY PROGRAM OWANIA

Typ tablicowy

2

Tablicę o wartościach liczbowych można wypełnić liczbami losowymi. Do otrzymania liczb losowych służy
procedura randomize i funkcja random. Instrukcja wywołania bezparametrowej procedury randomize
powoduje zainicjowanie wbudowanego generatora liczb losowych. Konkretne liczby losowe są otrzymywane
za

pomocą

funkcji

random

lub

random

(zakres),

gdzie

zakres

jest

wyrażeniem

o wartości całkowitej typu word. Jeżeli nie podano argumentu, to wartością funkcji jest liczba typu real
z przedziału jednostronnie domkniętego [0, 1), a gdy podano zakres , to wartością funkcji jest liczba
całkowita z przedziału [0, zakres).

Bardzo przydatna jest procedura clrscr z modułu procedur standardowych crt, której wywołanie czyści
ekran. Wywołanie tej procedury na początku programu spowoduje wyświetlanie wyników programu na
czystym ekranie. Aby wywołać procedurę clrscr, trzeba na początku części opisowej programu
zadeklarować moduł crt:

uses crt;

Przykład programu

program

p5; {Program wypełnia losowo tablicę i wyświetla jej zawartość}

uses crt;
const m = 20;
type t = array[1..m, 1..m] of real;
var tab:

t;

i, j, lw, lk: integer;

begin
clrscr;

write('Podaj liczbę wierszy: ');

readln(lw);

write('Podaj liczbę kolumn: ');

readln(lk);
writeln;

randomize; {W

ypełnianie tablicy liczbami losowymi}

for i := 1 to lw do
for j := 1 to lk do
tab[i, j] := random(100);
for i := 1 to lw do

{Wyświetlanie zawartości tablicy}

begin
for j := 1 to lk do
write(tab[i, j]:8:2);
writeln;
end;
readln;

end.

Zadania

1. Napisz program, który dla pobranej od użytkownika liczby całkowitej n pobierze i wyświetli n elementów

tablicy jednowymiarowej.

2. Napisz program, który dla pobranej od użytkownika liczby całkowitej n, (1

≤≤≤≤

n

≤≤≤≤

20) pobierze n elementów

tablicy jednowymiarowej korzystając z funkcji random i wyświetli element maksymalny w tej tablicy.

3. Napisz program, który dla pobranej od użytkownika liczby całkowitej n, (1

≤≤≤≤

n

≤≤≤≤

20) pobierze n elementów

tablicy jednowymiarowej korzystając z funkcji random i wyświetli elementy maksymalny
i minimalny w tej tablicy.

4. Napisz program, który dla pobranej od użytkownika liczby całkowitej n, (1

≤≤≤≤

n

≤≤≤≤

20) pobierze n elementów

tablicy jednowymiarowej korzystając z funkcji random i wyświetli elementy maksymalny i minimalny w tej
tablicy oraz ich indeksy.

5. Napisz program, który pobierze od użytkownika n liczb tablicy jednowymiarowej, a następnie obliczy

i wyświetli sumę i wartość średnią tych liczb.

background image

PODST AWY PROGRAM OWANIA

Typ tablicowy

3


6.
Napisz program, który wczytuje z klawiatury nazwisko użytkownika, a następnie wyprowadza je na ekran

w następujących układach:

a)

M a l i n o w s k i

b)

M

a
l
i
n
o
w
s
k

i

c)

d)

M M

a

a

l

l

i

i

n

n

o

o

w

w

s

s

k

k

i

i


7. Napisz program, który wczytuje z klawiatury nazwisko użytkownika, a następnie wyprowadza je na ekran

w następującym układzie:

Ma
li
no
ws
ki


8.
Napisz program, który wczytuje z klawiatury ciąg liczb o organizacji – liczba danych (liczb), wartości danych:

N, a

1

, a

2

, ..., a

N

(N

≤≤≤≤

10), umieszcza je w wektorze i przepisuje na ekran w jednym wierszu. Następnie

program porządkuje liczby w kolejności wzrastania ich wartości i wyprowadza uporządkowane na ekran.

9. Napisz program, który pobiera od użytkownika wymiar macierzy (1

≤≤≤≤

n

≤≤≤≤

20, 1

≤≤≤≤

m

≤≤≤≤

20) oraz jej elementy,

a następnie wyświetla zawartość tej macierzy oraz oblicza i wyświetla iloczyn elementów na głównej
przekątnej.

10. Napisz program, który pobiera od użytkownika wymiar macierzy (1

≤≤≤≤

n

≤≤≤≤

20, 1

≤≤≤≤

m

≤≤≤≤

20) oraz jej elementy

(wykorzystaj funkcję random), a następnie wyświetla zawartość tej macierzy oraz oblicza
i wyświetla sumę elementów na głównej przekątnej.

11. Napisz program, który dla pobranej od użytkownika liczby całkowitej n, (1

≤≤≤≤

n

≤≤≤≤

20) pobierze

n elementów tablicy jednowymiarowej korzystając z funkcji random, a następnie wyświetli zawartość tej
tablicy, element maksymalny, jego indeks oraz liczbę elementów dodatnich tej tablicy.

12. Napisz program, który dla pobranej od użytkownika liczby całkowitej n, (1

≤≤≤≤

n

≤≤≤≤

20) pobierze

n elementów tablicy jednowymiarowej, a następnie wyświetli zawartość tej tablicy, element minimalny, jego
indeks oraz liczbę elementów ujemnych tej tablicy.


Wyszukiwarka

Podobne podstrony:
3PP T5
T5 UKŁAD HYDRAYLICZNY PODNOSZENIA OSPRZĘT DODATKOWY
T5.BADANIA EMPIRYCZNE, LICENCJAT
ZARZĄDZANIE ZASOBAMI LUDZKIMI WYK T5
ERGONOMIA I HIGIENA PRZEMYSŁOWA WYK T5
t5
T5
T5 Produkcja i rozkład w przyrodzie
ZARZĄDZANIE PRODUKCJĄ WYK T5
SOCJOLOGIA ORGANIZACJI ĆW T5
FINANSE PRZEDSIĘBIORSTWA WYK T5
BADANIA MARKETINGOWE WYK T5
ZARZĄDZANIE KAPITAŁEM I RYNKI FINANSOWE WYK T5
FINANSE WYK T5
PODSTAWY ZARZĄDZANIA WYK T5
wid6 dod k pracy r iii t5 osiagniecia ii rzeczypospolitej ii
Mazowieckie Studia Humanistyczne r1999 t5 n1 s203 206

więcej podobnych podstron