Darmowe Forum
Maj 02, 2024, 10:58:08 *
Witamy, Gość. Zaloguj się lub zarejestruj.
Czy dotarł do Ciebie email aktywacyjny?

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Aktualności: Forum zostało uruchomione!
 
   Strona główna   Pomoc Zaloguj się Rejestracja  
Strony: [1]
  Drukuj  
Autor Wątek: Tablice  (Przeczytany 4033 razy)
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« : 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Strony: [1]
  Drukuj  
 
Skocz do:  

Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC | Sitemap

Polityka cookies
Darmowe Fora | Darmowe Forum

croissanta garage cybersteam endermanpl justplay