Rozdział 28...

Linki


» Dzieci to nie książeczki do kolorowania. Nie da się wypełnić ich naszymi ulubionymi kolorami.
»
Uzdrawianie duchoweWyniki badań nad duchowym uzdrawianiem świadomie omawiam w rozdziale poświęconym modlitwie Huny, ponie­waż uzdrawianie to nie jest...
»
W zaproponowanych w Planie działania na końcu rozdziału ćwicze­niach przedstawię ci kilka praktycznych, ciekawych sposobów utrwale­nia nowych technik...
»
Rozdział wrześniowy We wrześniu Stara Dama wyznała samej sobie, że minione lato było dziwnie szczęśliwe, a niedziele i te sobotnie popołudnia...
»
Rozdział piątyInspektor policji Były inspektor policji...
»
ROZDZIAŁ SZÓSTYKŁOPOTY W PRALNIZielone frontowe drzwi domu pod numerem trzydziestym drugim przy ulicy Windsor Gardens wolno się uchyliły i w szparze...
»
Rozdział 40Podczas śniadania głównym tematem rozmów była Brazylia i wszyscy starali się patrzeć z jak najlepszej strony na projekt Angela związany z...
»
Rozdział jedenastySelsey, Anglia— W życium nie widział czegoś takiego, Mabel — opowiadał Arthur Barnes żonie przy śniadaniu...
»
 Rozdział V„Amerykański Disraeli”,– Żyd nad-władcaJakkolwiek wojna zmniejszyła siłę żydowską przy Wall Street przez to,...
»
Na zakończenie tego rozdziału możemy powiedzieć, że pfóby syntezy są obiecujące, ale dopiero zapoczątkowane...
»
Rozdział 9 Pij gorącą naftę, psie!  Skały powoli zbliżyły się do siebie...

Dzieci to nie książeczki do kolorowania. Nie da się wypełnić ich naszymi ulubionymi kolorami.

Co jeszcze warto wiedzieć o IDE..................................................... 317
Rozdział 29. Kilka dobrych rad, czyli co czynić należy… ..................................... 327
Rozdział 30. …a czego unikać ........................................................................... 337
Dodatek A Instalacja wersji próbnej Delphi 7 Architect.................................... 343
Dodatek B Odpowiedzi do zadań...................................................................... 347
Dodatek C Kilka przydatnych pojęć komputerowych......................................... 365
Dodatek D Mikrosłownik angielsko-polski ........................................................ 375
Skorowidz...................................................................................... 379
Rozdział 12.
Zapisujemy
więcej danych,
czyli tablice
Powtórka ze statystyki
Typy strukturalne
Tworzenie i wykorzystanie tablic
Wektory i macierze
Jak powszechnie wiadomo, komputer jest narzędziem służącym do szybkiego prze-
twarzania dużych ilości danych. Przedstawione do tej pory programy nie dawały naszemu
wielkiemu kalkulatorowi specjalnego pola do popisu — dane, na których operowali-
śmy, sprowadzały się zwykle do kilku liczb. Nikogo jednak nie trzeba przekonywać,
że większość zadań, z którymi mierzą się komputery w praktyce, wymaga wprowa-
dzania, przechowywania i przetwarzania ogromnych ilości danych. Cel, który posta-
wimy sobie na początku tego rozdziału, będzie znacznie mniej ambitny — spróbuje-
my mianowicie rozwiązać prosty problem statystyczny, jakim jest obliczenie wartości
średniej i miary rozrzutu w zadanej grupie pomiarów pewnej wielkości. Obliczanie
średniej i odchylenia standardowego (ono właśnie jest miarą rozrzutu) jest również typowym zadaniem inżynierskim, toteż jego zaprogramowanie może przydać się nam
w przyszłości.
Jak powszechnie wiadomo, wartość średnia dla N liczb wyraża się wzorem:
N
x = 1N ∑xi
i=1
gdzie i jest numerem kolejnej wartości w zestawie. Przełożenie tego zapisu na Pascal
jest na pierwszy rzut oka banalne, ale… gdzie właściwie będą przechowywane kolejne
130
Praktyczny kurs Delphi
wartości xi? Wykorzystanie do tego celu pojedynczych zmiennych typu prostego
(a tylko takie na razie znamy) jest praktycznie niemożliwe — nawet gdybyśmy uparli
się przy zadeklarowaniu zmiennych , , …, nie wiemy ile należałoby ich zade-
klarować, nie mówiąc już o problemach z odwoływaniem się do nich w pętli sumują-
cej. Zauważmy jednak, że nasze liczby tworzą jednolity ciąg danych tego samego ty-
pu, w matematyce zapisywany w postaci tzw. wektora:
[x1, x2, x3,K, xN ]
Być może kompilator potrafi posłużyć się podobną reprezentacją i zna jakiś sposób na
„poszufladkowanie” danych w pamięci tak, by dało się odwoływać do nich poprzez
kolejny numer w ciągu?
Opisane powyżej rozwiązanie znane jest w programowaniu od kilkudziesięciu lat pod
nazwą tablicy (ang. array). Jest ona zestawem danych tego samego typu, zajmującym
pewien (na ogół ciągły) obszar w pamięci i pozwalającym na odwoływanie się do po-
szczególnych elementów poprzez podanie ich numeru, czyli tzw. indeksu. Mówiąc
ogólniej, tablica jest strukturą złożoną z danych innego typu, dlatego też należy ona do grupy tzw. strukturalnych typów danych. Zmienna typu strukturalnego składa się
z innych danych, zorganizowanych zgodnie z regułami obowiązującymi dla danego
typu (w przypadku tablic jednowymiarowych dane ustawiane są po prostu w pamięci
jedna za drugą). Poszczególne elementy zmiennej strukturalnej mogą być typu pro-
stego (np. liczby całkowite) lub strukturalnego (np. tablice lub rekordy) — innymi słowy, możemy tworzyć „piętrowe” dane strukturalne. Dwa najważniejsze typy danych strukturalnych, którymi zajmiemy się w naszej książce, to tablice (grupujące elementy tego samego typu) oraz rekordy (grupujące elementy różnych typów).
Jak każda inna zmienna, tablica identyfikowana jest w programie poprzez nazwę
(np. ), natomiast dostęp do jej poszczególnych elementów odbywa się poprzez
podanie ich indeksu. Ten ostatni jest po prostu numerem danego elementu tablicy, za-
pisanym w nawiasach kwadratowych, np.:
Graficznie można to przedstawić następująco:
indeks
1
2
3
4
5
6
wartość
1,43
1,66
2,01
1,23
1,98
3,11
Jak można się domyślać, przed użyciem tablicę należy zadeklarować, do czego służy
słowo kluczowe :
Po słowie następuje para nawiasów kwadratowych, w których zapisujemy indeks
pierwszego i ostatniego elementu tablicy, rozdzielone dwiema kropkami (nie dwu-
kropkiem!). Niezbędne jest również poinformowanie kompilatora o typie poszczególnych
elementów tablicy — w naszym przypadku są to wartości typu . Cały powyższy
Rozdział 12. ♦ Zapisujemy więcej danych, czyli tablice
131
zapis można przetłumaczyć na polski jako „tablica o stu elementach, numerowanych
od 1 do 100, złożona z liczb rzeczywistych”. Podobnie jak w przypadku zmiennych pro-
stych, bezpośrednio po zadeklarowaniu elementy tablicy mają wartość przypadkową1.
Deklarując tablicę należy pamiętać o dwóch ograniczeniach:
indeksy muszą być stałymi (innymi słowy, w Pascalu nie można deklarować
tzw. tablic dynamicznych w sensie znanym np. z BASIC-a),
indeksy muszą być typu porządkowego (chociaż nie muszą być liczbami
— można np. zadeklarować tablicę indeksowaną wartością typu ).

Powered by MyScript