Wydział Transportu P.W.
Laboratorium z informatyki sem.II / ćw.3
3. Kliknij w formę. Korzystając z zakładki Events Inspektora Obiektów przypisz do zdarzenia formy OnCreate procedurę obsługi zdarzenia SpeedButtonClick, wybierając z listy jej nazwę.
4. Skompiluj i uruchom program, wypróbuj działanie grupy przycisków i poleceń menu.
5. Zaznacz oba pola edycyjne. Utwórz dla nich procedurę obsługi zdarzenia OnChange, usuwającą nieaktualne napisy z etykiet wyświetlających wynik. Nadaj tej procedurze nazwę EditChange
i wpisz następującą treść:
Loperacja.Caption:='’;
Lwynik.Caption: = '*;
Zdarzenie OnChange występuje przy każdej zmianie tekstu w polu edycyjnym.
6. W treści procedury SpeedButtonClick umieść wywołanie procedury EditChange (Sender) w celu usunięcia napisów z etykiet przy zmianie liczby argumentów.
7. Ponownie wypróbuj działanie aplikacji.
1. Odszukaj w treści modułu procedurę Pis zWynik. Uzupełnij jej treść, dodając instrukcję:
ł
if wynikcO then Lwynik.Font.Color:=clRed else if wynik=0 then Lwynik.Font.Color:=clGreen else Lwynik.Font.Color:=clBlack;
2. Skompiluj i uruchom program, wypróbuj działanie nowego polecenia menu.
1. Dodaj polecenie z tytułem &Potęga do menu funkcji dwuargumentowych, obliczające potęgę o rzeczywistej podstawie i całkowitym wykładniku. Dla zdarzenia OnClick utwórz procedurę o następującej treści:
if CzytajR(Editl,x) and CzytajC(Edit2,n) then
if (x=0) and (n<=0) then Loperacja.Caption:= 'operacja niewykonalna' else begin w: =1;
for i: =1 to Abs(n) do w:=w*x; //Abs(n) zwraca wartość bezwzględną liczby n
if n<0 then w:=l/w;
PiszWynik(Edit1.Text +' do potęgi '+ Edit2.Text, w); end;
Pod nagłówkiem procedury zadeklaruj odpowiednie zmienne lokalne.
2. Wypróbuj działanie polecenia dla dodatnich i ujemnych wykładników potęgowych.
3. Dodaj kolejne polecenie z tytułem &n po k do menu funkcji dwuargumentowych, wyliczające tzw. symbol Newtona, czyli funkcję n\l(k\(n-k)\) zwaną inaczej n po k:
if CzytajC(Editl,n) and CzytajC(Edit2,k) then PiszWynik(Editl.Text +' po '+ Edit2.Text,
Silnia(n)/Silnia(k)/Silnia(n-k));
Pod nagłówkiem procedury zadeklaruj odpowiednie zmienne lokalne. Sprawdź działanie polecenia.
4. Zmodyfikuj treść procedury tak, żeby sprawdzać nieujemność argumentów, warunek n>=k oraz warunek n< 13 (dla większych n wartość silni jest niepoprawna z powodu ograniczonego zakresu typu Integer).
Możesz zastosować zagnieżdżone instrukcje if oraz sumę logiczną warunków (operator or).
5. Sprawdź zachowanie polecenia wyliczającego funkcję «po&.
• -