9 2

9 2



Wydział Transportu PW


Laboratorium informatyki sem. II / ćw. 9

II    Generowanie danych i wyświetlanie zawartości tablicy

1.    Na początku części implementacyjnej modułu zadeklaruj tablicę o elementach typu całkowitego:

var W: array [1..7,    1..7] of Integer;

2.    Zadeklaruj metodę formy, która w siatce tekstowej StringGridl wyświetla dane z liczbowej tablicy W:

procedurę TForml.WyswietIDane;

var i,j:Integer;

begin

for i:=1 to 7 do

for j:-l to 7 do StringGridl.Cells[j-1,i-1]:= IntToStr(W[i,j]) ;

end;

3.    Utwórz i oprogramuj procedurę obsługi zdarzenia OnSetEditText dla siatki StringGridl i wpisz w jej treści instrukcję aktualizująca wartość zmienionego elementu tablicy i ukrywająca siatkę wyników:

W[ARow+1, ACol+1]:= StrToIntDef(Value, 0) ;

GroupBox2.Hide;

4.    Utwórz procedurę obsługi zdarzenia OnCreate dla formy i wpisz jej treść:

Randomize;

StatusBarl.Panels fi].Text:=DateToStr(Datę) ;

5.    Utwórz i oprogramuj procedurę obsługi kliknięcia przycisku Generuj, która wpisuje do tablicy W liczby losowe z przedziału o końcach określonych przez komponenty SpinEdit i aktualizuje siatkę danych, o następującej treści:

for i:=1 to 7 do

for j:=1 to 7 do W[i,j ] : = RandomRange{SpinEdit1.Valuef SpinEdit2.Value); WyswietIDane;

GroupBox2.Hide;

6.    Umieść nazwę modułu Math w klauzuli uses. Zapisz zmiany, uruchom aplikację i sprawdź działanie przycisku Generuj dla różnych przedziałów losowania.

III    Operacje na tablicy

1.    W części implementacyjnej zadeklaruj pomocniczą funkcję Maksimum, znajdującą największy element w i-tym wierszu tablicy W:

function Maksimum(i: Integer) :    Integer;

var j : Integer;

begin

Result:= W[i, 1];

for j:= 2 to 7 do Result:=Max{Result, W[i,j]); end;

2.    Dla polecenia menu o tytule Maksymalne elementy wierszy utwórz procedurę obsługi zdarzenia kliknięcia o treści:

WyswietlDane;

GroupBox2.Caption:= 'Maksymalne elementy w wierszach

StringGrid2.Width:= StringGrid2.DefaultColWidth+4;

for i:=1 to 7 do StringGrid2.Cells[0,i-1]:=IntToStr(Maksimum(i));

GroupBox2.Show;

3.    Uruchom aplikację, sprawdź działanie przycisku narzędziowego i menu podręcznego siatki.

4.    Analogicznie zadeklaruj funkcję Suma, obliczającą sumę elementów i-tego wiersza tablicy i oprogramuj zdarzenie OnClick drugiego polecenia menu.

5.    Dla polecenia menu o tytule Transpozycja utwórz procedurę obsługi zdarzenia kliknięcia o treści:

WyswietlDane;

GroupBox2.Caption:= 'Transpozycja 1;

StringGrid2.Width:= StringGridl.Width;

for i:=l to 7 do for j:=l to 7 do StringGrid2.Cells[i-1,j-1]:=IntToStr(W[i,j]); GroupBox2.Show;

6.    Uruchom aplikację, sprawdź działanie przycisku narzędziowego i menu podręcznego siatki.

7.    Analogicznie oprogramuj czwarte polecenie menu i sprawdź działanie aplikacji.

Rozwinięcie aplikacji

1.    Dodaj do menu polecenia, któiych kliknięcie spowoduje:

•    obliczenie i wyświetlenie liczby ujemnych elementów w kolejnych wierszach tablicy

•    wyzerowanie elementów głównej przekątnej tablicy i wyświetlenie wyniku w siatce StringGrid2.

2.    Dodaj do paska narzędziowego nowy przycisk, którego kliknięcie spowoduje wypełnienie tablicy kolejnymi liczbami naturalnymi i wyświetlenie tablicy w siatce StringGridl.

2


Wyszukiwarka

Podobne podstrony:
cw8b Wydział Transportu PW Laboratorium informatyki sem. II / ćw. 8III    Generowanie
3 3 Wydział Transportu PW Laboratorium z informatyki sem.II. ćw. 3 Materiały pomocnicze do ćwiczenia
1 1 Wydział Transportu PW Laboratorium z informatyki sem.II/ ćw. 1 Zadanie Utworzyć aplikację w środ
11 4 Wydział Transportu PW Laboratorium z informatyki sem.II./ ćw. 11Zagnieżdżanie instrukcji
3 4 Wydział Transportu PW Laboratorium z informatyki sem.II. ćw. 3 Zdarzenie OnCreate dla formy Zdar
7 3 Wydział Transportu PW Laboratorium z informatyki sem.II./ ćw. 7Materiały pomocnicze do ćwiczenia
10 1 Wydział Transportu PW Laboratorium z informatyki sem.ll / ćw.10 Zadanie Utworzyć aplikację w
11 1 Wydział Transportu PW Laboratorium z informatyki sem.ll / ćw.11 Zadanie Rozbudować aplikację z

więcej podobnych podstron