A. Jędryczkowski – 2006 ©
Tablica to struktura danych zawierająca zbiór obiektów tego samego typu i odpowiada matematycznemu pojęciu wektora (tablica jednowymiarowa), macierzy (tablica dwuwymiarowa), itp... Elementy tablicy wskazujemy za pomocą indeksów. Tablica musi posiadać nazwę. Definicje
A. Jędryczkowski – 2006 © Jako przykład posłużmy się 11-elementową jednowymiarową tablicą o nazwie wektor. dostęp do poszczególnych elementów tablicy wektor[1] wektor[5] wektor[9]
A. Jędryczkowski – 2006 © Posłużmy się tym razem dwuwymiarową tablicą o nazwie wektor. wektor[1,3] wektor[3,4] wektor[5,4] dostęp do poszczególnych elementów tablicy Pierwszy indeks odpowiada numerowi wiersza, a drugi numerowi kolumny.
A. Jędryczkowski – 2006 © Deklaracja tablicy jednowymiarowej VAR zmienna:ARRAY[zakres indeksów] OF typ elementów Przykład: VAR wektor:ARRAY[1..10] OF INTEGER; Jest to deklaracja 10-elementowej tablicy do przechowywania liczb całkowitych o nazwie wektor.
A. Jędryczkowski – 2006 © Deklaracja tablicy dwuwymiarowej VAR zmienna:ARRAY[zakres indeksów, zakres indeksów] OF typ elementów Przykład: VAR wektor:ARRAY[1..5,1..5] OF INTEGER; Jest to deklaracja tablicy o 5 wierszach oraz 5 kolumnach do przechowywania liczb całkowitych o nazwie wektor.
A. Jędryczkowski – 2006 © Deklaracja typu tablicowego TYPE identyfikator_typu=ARRAY[zakres indeksów] OF typ elementów VAR nazwa_tablicy:identyfikator_typu; Przykład: PROGRAM tablice; TYPE wektor=ARRAY[1..10] OF INTEGER; VAR tab1,tab2,tab3:wektor;
A. Jędryczkowski – 2006 © Wypełnianie tablicy Elementy do tablicy można wstawiać na wiele sposobów. 1.Przypisanie: wektor[1]:=44; wektor[2]:=77; itd Podczas wykonywania programu: READLN(wektor[1]); READLN(wektor[2]); itd Pierwszymi dwoma sposobami z pomocą pętli FOR: FOR i:=1 TO 10 DO wektor[i]:=i; FOR i:=1 TO 10 DO READLN(wektor[i]);
A. Jędryczkowski – 2006 © Wyświetlanie elementów tablicy FOR i:=1 TO 10 DO WRITELN(wektor[i]);
A. Jędryczkowski – 2006 © Przykład programu wypełniającego i wyświetlającego zawartość tablicy jednowymiarowej PROGRAM tablice2; USES CRT; TYPE wektor= ARRAY[1..10] OF INTEGER; VAR i:INTEGER; tab1:wektor; tab1:wektor;BEGINCLRSCR;RANDOMIZE; FOR i:=1 TO 10 DO {wypełniamy tablicę wart. losowymi} tab1[i]:=RANDOM(100); tab1[i]:=RANDOM(100); FOR i:=1 TO 10 DO {wyświetlamy elementy tablicy} WRITE(tab1[i], ); WRITE(tab1[i], ); REPEAT UNTIL KEYPRESSED; END.
A. Jędryczkowski – 2006 © Przykład programu wypełniającego i wyświetlającego zawartość tablicy dwuwymiarowej PROGRAM tablice3; USES CRT; TYPE wektor= ARRAY[1..5,1..5] OF INTEGER; VAR i,j:INTEGER; tab1:wektor; tab1:wektor;BEGINCLRSCR;RANDOMIZE; FOR i:=1 TO 5 DO {wypełniamy tablicę wart. losowymi} FOR j:=1 TO 5 DO FOR j:=1 TO 5 DO tab1[i,j]:=RANDOM(100); tab1[i,j]:=RANDOM(100); FOR i:=1 TO 5 DO {wyświetlamy elementy tablicy} FOR j:=1 TO 5 DO FOR j:=1 TO 5 DO WRITE(tab1[i], ); WRITE(tab1[i], ); REPEAT UNTIL KEYPRESSED; END.
A. Jędryczkowski – 2006 © Automatyczne tablicowanie tekstu PROGRAM tablice4; USES CRT; VAR i:INTEGER; tekst:STRING[20]; tekst:STRING[20];BEGINCLRSCR; WRITE(Podaj tekst:);READLN(tekst); FOR i:=1 TO 20 DO {wyświetlamy elementy tablicy - tekst} WRITELN(tekst[i]); WRITELN(tekst[i]); REPEAT UNTIL KEYPRESSED; END.
A. Jędryczkowski – 2006 © Wykonaj ćwiczenia 1.Napisz program, który zadeklaruje i wypełni wartościami losowymi tablicę jednowymiarową o 20 elementach całkowitych, wyświetli ich zawartość oraz policzy i wyświetli sumę tych elementów. 2.Zmodyfikuj swój program tak aby robił to samo dla tablicy dwuwymiarowej 7x7 elementów.