Informacje o nowych artykułach oraz akcjach edukacyjnych prosto na Twojej skrzynce e-mail!

Tablice jednowymiarowe

Do tej pory w poprzednich wpisach, operowaliśmy na zwyczajnych zmiennych które przechowywały jakieś dane. Zazwyczaj były to dane liczbowe, ciągi znaków lub wartości typu true oraz false. Ale co zrobić kiedy mamy napisać program operujący na tysiącu liczb? Przecież nie zadeklarujemy dla każdej z nich osobnej zmiennej… I właśnie w takim przypadku wykorzystuje się tablice.

Praktycznie każdy język programowania wysoko pozimowego pozwala wykorzystywać tablice, tak zwane struktury złożone z jednakowych elementów tego samego typu. Najprostszą jednowymiarową tablice w matematyce określa się mianemwektora. Można ją sobie wyobrazić w ten sposób:

x1x2x3xN

Tak samo są przechowywane dane w tak zwanych tablicach jednowymiarowych. W języku Pascal deklaruje się je w następujący sposób:

VAR tablica : array[1..10] of integer;

Oraz kod ogólny:

VAR dowolna_nazwa_tablicy : array[1..10] {liczba elementów czyli od 1 do 10} of integer; {typ danych np. integer, byte, single itd.}

Zadeklarowana powyżej tablica będzie wizualnie wyglądała tak:

x1x2x3x4x5x6x7x8x9x10

Oczywiście nie będzie zawierała ona żadnych danych.

Do odczytu i zapisu danych w tablicach używa się pętli iteracyjnej for-to-do. Prześledźmy na przykładzie jak to się odbywa:

program tabliceJednowymiarowe;
uses CRT;
var
     tablica : array[1..10] of integer;
     i:byte;
begin
     clrscr;
     for i:=1 to 10 do tablica[i] := i; {do tablicy o indeksie równemu wartości zmiennej i przypisujemy liczbę, która jest obecnie zapisana w zmiennej iteracyjnej}
     for i:=1 to 10 do writeln(tablica[i]); {wyświetlamy wartość indeksu tablicy oznaczonego danym numerem np. tablica[1] - przy pierwszym wykonaniu pętli, tablica[2], tablica[3] itd.} 
     repeat until keypressed; 
end.

Zapis danych:

for i:=1 to 10 do tablica[i] := i;

Odczyt danych:

for i:=1 to 10 do writeln(tablica[i]);

Spodobało się?

Jeśli tak, to zarejestruj się do newslettera aby otrzymywać informacje nowych artykułach oraz akcjach edukacyjnych. Gwarantuję 100% satysfakcji i żadnego spamowania!

Dodaj komentarz

Odpowiedz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Pin It on Pinterest