PP temat6, Podstawy programowania


PODSTAWY PROGRAMOWANIA

Laboratorium

Temat 5: Operacje na tablicach

Zadania do wykonania:

  1. Napisz i zastosuj w programie procedurę, która oblicza sumę oraz średnią wartość elementów tablicy.

  2. Napisz i zastosuj w programie funkcję, która oblicza i zapamiętuje w 100-elementowej tablicy 100 początkowych wyrazów szeregu Fibonacci.oraz zwraca K-ty element szeregu.

  3. Napisz i zastosuj w programie procedurę, która przesuwa cyklicznie zawartość tablicy o K pozycji w prawo.

  4. Napisz i zastosuj w programie procedurę, która sortuje wartości pamiętane w tablicy w porządku rosnącym.

  5. Napisz i zastosuj w programie następujące procedury: a/ procedurę, która metodą kolejnego dzielenia przez dwa znajduje binarny odpowiednik liczby dziesiętnej, umieszczając kolejne bity wyniku w kolejnych elementach tablicy. b/ procedurę, która wyprowadza zawartość tablicy na ekran. Załóż, że liczba dziesiętna jest w zakresie typu Word.

  6. Napisz i zastosuj w programie funkcję, która przez argument wyjściowy przekazuje największa wartość pamiętaną w tablicy, a przez samą siebie - liczbę wystąpień tej największej wartości.

  7. Napisz i zastosuj w programie procedurę, która oblicza i zapamiętuje w odpowiedniej tablicy 100 początkowych liczb pierwszych.

  8. Napisz i zastosuj w programie procedurę, która przesuwa cyklicznie zawartość tablicy o K pozycji w lewo.

  9. Napisz i zastosuj w programie procedurę, która przepisuje zawartość jednej tablicy do innej tablicy, zmieniając przy tym znaki elementów na przeciwne.

  10. Napisz i wywołaj w programie procedurę, która znajduje liczbę takich elementów tablicy, które są parzyste i jednocześnie zawarte w przedziale wartości [A..B].

  11. Napisz i zastosuj w programie procedurę, która przegląda tablicę T1, zawierającą wartości całkowite o różnych znakach i jednocześnie zapełnia inną tablicę T2 o elementach typu Boolean w taki sposób, że jeżeli T1[I]>=0, to T2[I]:=True; w przeciwnym przypadku T2[I]:=False.

  12. Napisz i zastosuj w programie a/ procedurę, która zapełnia tablicę czytanymi z klawiatury kolejnymi cyframi ośmiobitowej liczby binarnej. b/ funkcję, która wykorzystuje zapełnioną tablicę do obliczenia i przekazania do programu głównego dziesiętnej wartości danej liczby.

Uwagi:

Wszystkie procedury i funkcje operujące na tablicy muszą mieć argument tablicowy. Jeżeli podprogram operuje na dwóch tablicach, to musi posiadać dwa argumenty tablicowe.

W każdym zadaniu tablicę, na której operujemy, trzeba wstępnie zapełnić danymi. Można w tym celu napisać specjalną procedurę (na przykład taką, która zapełnia tablicę losowymi wartościami). Można też zainicjować tablicę określonymi wartościami elementów, deklarując ją po słowie const.

W każdym zadaniu będzie też potrzebna procedura, wyprowadzająca zawartość tablicy na ekran, która ułatwi sprawdzenie poprawności otrzymanych wyników.

Materiał pomocniczy

1. Definiowanie typu tablicowego i deklarowanie zmiennej tablicowej

Poniżej podano definicję typu i deklaracje zmiennej tablicowej, która pamięta 10 elementów typu Word, ponumerowanych od 1 do 10:

type Tab=array [1..10] of Word;

var T:Tab;

2. Odwołania do elementów tablicy

Do elementu tablicy odwołujemy się przez indeks (czyli numer elementu), umieszczony w nawiasach kwadratowych. Na przykład:

T[3]:=5; T[K]:=0; T[K+1]:=T[K]; Readln(T[0]); Write(T[1]);

Indeks może być stałą jawną, nazwą zmiennej lub stałej definiowanej, lub też wyrażeniem odpowiedniego typu. Indeks musi być typu porządkowego (całkowitego, znakowego, lub boolowskiego).

Zakres indeksów, podany w definicji typu, określa liczbę elementów tablicy. W przykładzie powyżej indeksy pozostają w przedziale wartości [1..10], tablica ma więc 10 elementów.

Przedział indeksów może zawierać wartości ujemne, na przykład:

type Tab1=array [Shortint] of Real;

W tym przypadku indeksy leżą w przedziale wartości typu Shortint, to jest od -128 do +127, więc tablica ma 256 elementów typu Real.

Odwołując się do elementu tablicy, nie można przekraczać definiowanego zakresu indeksów tablicy - może to spowodować błędy kompilacji lub wykonania programu.

3. Zapełnianie tablicy przy deklarowaniu zmiennej tablicowej po słowie const

const T:Tab=(0,2,4,6,8,10,12,14,16,18);

4. Przykłady procedur operujących na tablicy

Do operacji na tablicy wygodna jest instrukcja for, w której zakres wartości zmiennej sterującej pokrywa się z zakresem indeksów. Zakres zmiennej sterującej bardzo wygodnie jest określać, stosując standardowe funkcje Low oraz High. Funkcje te zwracają samoczynnie dolną i górną wartość graniczna definiowanego zakresu indeksów. Zwróćmy uwagę, że każda procedura lub funkcja operująca na tablicy musi być zaopatrzona w argument tablicowy. Aby zaoszczędzić miejsce na stosie, jest on zawsze poprzedzony słowem var, niezależnie od tego, czy argument tablicowy ma charakter wejścia, czy wyjścia danych.

{Procedura zapełniania tablicy wartościami losowymi z zakresu 0..Z}

procedure Zap_tab_los(var T:Tab; Z:Word);

var I:Integer;

begin

Randomize;

for I:=Low(T) to High(T) do

T[I]:=Random(Z+1);

end;

{Procedura wyprowadzająca zawartość tablicy na ekran}

procedure Pok_tab(var T:Tab);

var I:Integer;

begin

for I:=Low(T) to High(T) do Write (T[I]:8);

Writeln;

end;

{Instrukcje wywołania procedur tablicowych w programie głównym}

var T:Tab;

begin

Zap_tab_los(T,50);

Pok_tab(T);

end.



Wyszukiwarka

Podobne podstrony:
PP 11, Podstawy programowania
PP W7, Podstawy programowania
PP W6, Podstawy programowania
PP temat3, Podstawy programowania
PP W1, Podstawy programowania
PP W4, Podstawy programowania
PP 10, Podstawy programowania
PP W5, Podstawy programowania
PP W8, Podstawy programowania
PP temat2, Podstawy programowania
PP W9, Podstawy programowania
PP temat4, Podstawy programowania
PP temat5, Podstawy programowania
PP W2, Podstawy programowania
PP W10, Podstawy programowania
zasady zaliczeń PP IG, Politechnika Białostocka, ZiIP (PB), Semestr 1, Podstawy programowania, Progr
pp projekty2004, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania

więcej podobnych podstron