pascal_8.pdf
(
78 KB
)
Pobierz
Obsługa klawiszy rozszerzonych i własne Menu
Turbo Pascal cześć 8
ver. 1.1
np
, zaś w informatyce nosi to nazwę tablic; typ taki nazywamy więc tablicowym i właśnie nim
się dziś zajmiemy. Typ ten deklarujemy poleceniem:
var
t : array[1..1000] of string;
Porównajmy przypadki: bez tablic i z tablicami.
Śledźmy uważnie jak będzie się zmieniała nasza funkcja (ja zrobię dla 4 elementów, ale efekt zobaczylibyśmy
dopiero przy np. 50):
x
1
x
x
2
,...,
var
a1,a2,a3,a4:string;
Begin
Readln(a1);
Readln(a2);
Readln(a3);
Readln(a4);
Writeln(a4);
Writeln(a3);
Writeln(a2);
Writeln(a1);
end.
Zamieńmy teraz zmienne na typ tablicowy i zapiszmy je odpowiednio pod zmienne a[1], a[2], a[3], a[4],
otrzymamy program:
var
a: array[1..4] of string;
begin
Readln(a[1]);
Readln(a[2]);
Readln(a[3]);
Readln(a[4]);
Writeln(a[4]);
Writeln(a[3]);
Writeln(a[2]);
Writeln(a[1]);
end.
Wyobraź sobie jak by to wyglądało dla 50 zmiennych. Przekształćmy (niby na gorsze) ale się opłaci później
var
a: array[1..4] of string;
kolejka:byte;
begin
kolejka:=1;
Readln(a[kolejka]);
kolejka:=2;
Readln(a[kolejka]);
Kurs opracował mgr Jarosław Teodorczuk
veljarek@poczta.gazeta.pl
1
Poznane dotychczas typy danych (oprócz String) należą do typów prostych, pozwalają przechowywać
pojedyncze dane, jednak czasem jest to niewystarczające. Wyobraźmy sobie zadanie przetworzenie ciągu
danych tego samego typu (mogłoby w końcu zabraknąć literek alfabetu)- np. ustalenie, ile spośród tysiąca
wpisanych przez użytkownika liczb ma wartość większą od średniej. Próba zadeklarowania 1000 zmiennych
jest potężnym wyzwaniem
. Łatwiej byłoby pooznaczać zmienne odpowiednio jak w matematyce
,...)
(
50
.
,
kolejka:=3;
Readln(a[kolejka]);
kolejka:=4;
Readln(a[kolejka]);
Writeln(a[kolejka]);
Kolejka:=3;
Writeln(a[kolejka]);
Kolejka:=2;
Writeln(a[kolejka]);
Kolejka:=1;
Writeln(a[kolejka]);
end.
Teraz się pewnie wszystko Wam zamieszało, ale niektórzy zauważyli pewnie zależność i możliwość użycia
pętli. Podpowiem - jest to trudne, ale zrozumienie tego pozwoli wam przejść do dalszej części kursu;
var
a: array[1..4] of string;
kolejka:byte;
begin
kolejka:=0;
Repeat
kolejka:=kolejka+1;
readln[a[kolejka]);
until kolejka=5;
repeat
Taki programik będzie efektywny dla wskazanej przez nas liczby elementów
Zadanie 1
Wpisz powyższy przykład i sprawdź efekt jego działania.
Zadanie 2
Przekształć poprzedni program na: Zrób listę 10 nazwisko i wyświetl je z numerkami.
Zadanie 3
Napisz program, który oblicza średnią wpisanych liczb. Uwaga, przy wpisywaniu liczb ma nas się spytać ile ma
ich być i pobrać tyle zmiennych ile zadeklarowaliśmy.
Pamiętaj
Turbo Pascal umożliwia tworzenie tablic nie tylko jednowymiarowych, ale i wielowymiarowych.
Np. tablicę dwuwymiarową zadeklarujemy:
b: array[1..10,1..10] of string;
Na koniec przeanalizujmy na tablicy zadanie
cw16_2
Kurs opracował mgr Jarosław Teodorczuk
veljarek@poczta.gazeta.pl
2
Writeln(a[kolejka]);
kolejka:=kolejka-1;
until kolejka=0;
end.
Plik z chomika:
bastiking
Inne pliki z tego folderu:
pascal_9.pdf
(100 KB)
pascal_8.pdf
(78 KB)
pascal_7.pdf
(77 KB)
pascal_6.pdf
(88 KB)
pascal_5.pdf
(83 KB)
Inne foldery tego chomika:
Algorytmy
Kurs VIDEO
Programowanie obiektowe
Zgłoś jeśli
naruszono regulamin