admin
|
|
« : Listopad 28, 2011, 08:38:01 » |
|
Tablica jest pewną strukturą, którą można znaleźć praktycznie w każdym języku programowania. Tablicę można sobie wyobrazić jako szafę z szufladami. Do każdej szuflady można włożyć określony typ zmiennej. Aby można było dotrzeć do każdej danej w szufladzie, szuflady są ponumerowane. Numer szuflady pozwala ją łatwo odszukać. Każda tablica musi posiadać nazwę i liczbę komórek (czyli szuflad).
W przypadku Turbo Pascala deklaracja tablicy umieszczona jest w miejscu deklarowania zmiennych i wygląda następująco:
var tabliczka: array[1..10] of integer; nazwą tablicy jest tabliczka która posiada rozmiar 10 i można w niej umieścić liczby typu integer.
Tablicę przedstawioną powyżej nazywamy tablicą jednowymiarową. Jest to tablica z jednym rzędem szuflad. Jeżeli chcemy wpisać wartość do tablicy należy wpisać np.: tabliczka[4]:=x; to do komórki (szuflady) o numerze 4 tablicy o nazwie tabliczka zostanie wpisana liczba x; Jeżeli musimy przechować więcej danych tworzymy tablice dwu i więcej wymiarowych. Przykład deklaracji tablicy dwu wymiarowej przedstawiono poniżej:
var tabliczka: array[1..10] [1..10] of integer;
program storm; uses crt,dos; var tab: array[1..5] of integer;
begin
tab[1]:=5; end.
program storm; uses crt,dos; var z:integer; tab: array[1..5] of integer;
begin z:=0; repeat z:=z+1; tab[z]:=z;
until z=5
end.
program storm; uses crt,dos; var z:integer; tab: array[1..5] of integer; begin z:=0;clrscr; repeat z:=z+1; tab[z]:=z; until z=5; z:=0; repeat z:=z+1; writeln(tab[z]); until z=5; readkey; end.
|
|
« Ostatnia zmiana: Listopad 28, 2011, 11:26:54 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #1 : Listopad 28, 2011, 08:41:10 » |
|
Zadanie 1. Proszę napisać program który do tablicy wpisze podane z klawiatury 5 imion i następnie wyświetli je na ekranie.
program tabl; uses crt,dos; var z: array[1..5] of string; v:integer; begin clrscr; for v:=1 to 5 do begin write('Podaj ',v,' imie: ');readln(z[v]); end; readkey; for v:=1 to 5 do begin writeln('Podales ',v,' imie: ',z[v]); end; readln; end.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #2 : Listopad 28, 2011, 11:57:33 » |
|
Zadanie 2. Napisać program który do tablicy jednowymiarowej A[1..10] wpisze losowe liczby Z ZAKRESU 0..100. Następnie wyświetli je na ekranie.
program m1; uses crt,dos; var a: array[1..10] of integer; c,y:integer; begin randomize; clrscr; for c:=1 to 10 do begin y:=random(100); a[c]:=y; end; y:=0; repeat y:=y+1; write(a[y]:3); until y=10; readkey; end.
|
|
« Ostatnia zmiana: Grudzień 12, 2011, 08:38:16 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #3 : Grudzień 02, 2011, 09:16:10 » |
|
Zadanie 3. Do tablicy 8 elementowej wpisać kolejne liczby rozpoczynając od liczby 3. Następnie wyświetlić je na ekranie.
program rupert; uses crt,dos; var z,y:integer; rr: array[1..8] of integer; begin clrscr; for z:=1 to 8 do begin rr[z]:=z+2;end; for z:=1 to 8 do begin write(rr[z]:3);end; readkey; end.
|
|
« Ostatnia zmiana: Grudzień 02, 2011, 09:21:47 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #4 : Grudzień 12, 2011, 08:59:28 » |
|
Zadanie 4. Proszę do tablicy dwuwymiarowej A[10,10] wpisać losowe liczby z zakresu od 1 do 9 i wyświetlić na ekranie w 10 wierszach. Liczby podzielne przez 3 mają być wyświetlane w kolorze żółtym pozostałe liczby w kolorze białym.
program emigrant; uses crt,dos; var v: array [1..10,1..10] of integer; a,b,c:integer; begin clrscr; randomize; for a:=1 to 10 do begin for b:=1 to 10 do v[a,b]:=(1+random(9)); end;
for a:=1 to 10 do begin for b:=1 to 10 do begin if ((v[a,b] mod 3)=0) then textcolor(yellow) else textcolor(white); write(v[a,b]:3); end; writeln; writeln; end; readkey; end.
|
|
« Ostatnia zmiana: Grudzień 12, 2011, 09:53:10 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #5 : Grudzień 12, 2011, 11:46:08 » |
|
Zadanie 5 . Proszę do tablicy 3x3 wpisać litery a tak aby wyświetlenie tablicy powodowało umieszczenie liter a tworzących znak"+".
program syminus; uses crt, dos; var n: array[1..3,1..3] of char; c:char; a,b:integer; begin clrscr; for a:=1 to 3 do for b:=1 to 3 do n[a,b]:=' ';
n[1,2]:='a'; n[2,1]:='a';n[2,2]:='a';n[2,3]:='a'; n[3,2]:='a';
for a:=1 to 3 do begin writeln; for b:=1 to 3 do write(n[a,b]) ; end;
readkey;
------------------------ nowa wersja -------------------------------------------------- wersja z krzyżykiem na środku ekranu
program syminus; uses crt, dos; var n: array[1..3,1..3] of char; c:char; a,b:integer; begin clrscr; for a:=1 to 3 do for b:=1 to 3 do n[a,b]:=' '; c:=chr(178); n[1,2]:=c; n[2,1]:=c;n[2,2]:=c;n[2,3]:=c; n[3,2]:=c;
for a:=1 to 3 do begin writeln; for b:=1 to 3 do begin gotoxy(30+b,10+a); write(n[a,b]) ; end; end;
readkey;
end.
|
|
« Ostatnia zmiana: Grudzień 12, 2011, 12:36:34 wysłane przez admin »
|
Zapisane
|
|
|
|
|