1/4 Ćwiczenie 1. Przeanalizuj poniższy przykład na zastosowanie
Transkrypt
1/4 Ćwiczenie 1. Przeanalizuj poniższy przykład na zastosowanie
12. Tablice, typ danych char, operator logiczny or Ćwiczenie 1. Przeanalizuj poniższy przykład na zastosowanie tablicy złożonej z 6 znaków. KOD {$APPTYPE CONSOLE} var znaki : array[1..6] of char; i : integer; begin znaki[1]:= 'P'; znaki[2]:= 'a'; znaki[3]:= 's'; znaki[4]:= 'c'; znaki[5]:= 'a'; znaki[6]:= 'l'; for i:=1 to 6 do write(znaki[i]); // wyświetlenie i-tego znaku tablicy writeln(#10, #10, 'Czwarty znak tablicy znaki to: ', znaki[4]); readln; end. WYJŚCIE Pascal Piaty znak tablicy znaki to: a Ćwiczenie 2. Ułóż program, który zapamięta w tablicy wczytane z klawiatury cztery dowolne znaki, a następnie całą jej zawartość wyświetli na ekranie. KOD {$APPTYPE CONSOLE} var znak : array [1..4] of char; i : integer; begin writeln('Podaj cztery dowolne znaki:'); for i:=1 to 4 do readln(znak[i]); //wczytuje znaki do tablicy write('Podales znaki: '); for i:=1 to 4 do write(znak[i]); //wyświetla znaki tablicy readln; end. WYJŚCIE Podaj cztery dowolne znaki: w # 7 Podales znaki: w#7- Opracował: Aleksander Piętowski 1/4 12. Tablice, typ danych char, operator logiczny or Ćwiczenie 3. Zmodyfikuj program z ćwiczenia drugiego w ten sposób, aby znaki wyświetlane były w odwrotnej kolejności. KOD {$APPTYPE CONSOLE} var znak : array [1..4] of char; i : integer; begin writeln('Podaj cztery dowolne znaki:'); for i:=1 to 4 do readln(znak[i]); write('Znaki w odwrotnej kolejnosci: '); for i:=4 downto 1 do write(znak[i]); readln; end. WYJŚCIE Podaj cztery dowolne znaki: I K A R Znaki w odwrotnej kolejnosci: RAKI Ćwiczenie 4. Utwórz tablicę złożoną z 6 liczb całkowitych. Zainicjalizuj tablicę dowolnymi wartościami, oblicz sumę i średnią arytmetyczną tych liczb. KOD {$APPTYPE CONSOLE} var liczby : array[1..6] of integer = (5,2,7,2,3,14); i : integer; suma : integer = 0; begin for i:=1 to 6 do suma:= suma + liczby[i]; writeln('Suma liczb w tablicy liczby wynosi: ', suma); writeln('Srednia arytmetyczna tych liczb to: ', suma/6:0:2); readln; end. WYJŚCIE Suma liczb w tablicy liczby wynosi: 33 Srednia arytmetyczna tych liczb to: 5.50 Opracował: Aleksander Piętowski 2/4 12. Tablice, typ danych char, operator logiczny or Ćwiczenie 5. Ułóż program, który za pomocą pętli wczyta do tablicy dwuwymiarowej 10 x 10 tabliczkę mnożenia, a następnie wyświetli ją na ekranie. KOD {$APPTYPE CONSOLE} var tabliczka : array[1..10,1..10] of integer; j, k : integer; begin for j:=1 to 10 do for k:=1 to 10 do tabliczka[j][k]:= j*k; for j:=1 to 10 do for k:=1 to 10 do write(tabliczka[j][k],#9); // przechodzenie po wierszach // przechodzenie po kolumnach (po elementach w wierszu) readln; end. WYJŚCIE 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50 60 70 80 90 100 ► blok kodu umieszczony na szarym prostokącie można zredagować w inny sposób (porównaj poniżej) KOD {$APPTYPE CONSOLE} var tabliczka : array[1..10,1..10] of integer; j, k : integer; begin for j:=1 to 10 do for k:=1 to 10 do tabliczka[j][k]:= j*k; for j:=1 to 10 do begin for k:=1 to 10 do write(tabliczka[j][k]:4); writeln; end; readln; end. WYJŚCIE 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 10 18 20 27 30 36 40 45 50 54 60 63 70 72 80 81 90 90 100 Opracował: Aleksander Piętowski 3/4 12. Tablice, typ danych char, operator logiczny or Ćwiczenie 6. Napisz program z wykorzystaniem tablicy jednowymiarowej i pliku tekstowego. W pliku umieść liczby całkowite (osobno w każdym wierszu). Zadaniem programu jest wczytanie do tablicy liczb z pliku, a następnie wypisanie z tej tablicy liczb podzielnych przez dwa. ZAWARTOŚĆ PLIKU ‘dane.txt’ 11 2 34 41 51 16 234 -4 5 KOD {$APPTYPE CONSOLE} var p : text; liczba : array[1..100] of integer; i, k : integer; begin assign(p, 'dane.txt'); reset(p); i:= 0; while not eof(p) do begin i:= i+1; readln(p, liczba[i]); end; for k:=1 to i do if liczba[k] mod 2 = 0 then writeln(liczba[k]); close(p); readln; end. WYJŚCIE 2 34 16 234 -4 Opracował: Aleksander Piętowski 4/4