Przeglądaj wersję html pliku:

wiczenie 05_07


cwicz_05_07

H M P R O G R A M O W A N I E

str. 12
W D E L P H I

ĆWICZENIE 5 – Instrukcja przypisania.
1. Pamiętaj, że jeśli zaczynasz pracę na tym komputerze, to trzeba sprawdzić, czy istnieje folder roboczy (Dydaktyka\Delphi) i wyczyścić jego zawartość. 2. Jeśli kontynuujesz pracę nad wcześniej zaczętym programem, to skopiuj z dyskietki do folderu roboczego wszystkie pliki związane z tym projektem (skopiujesz być może całą zawartość dyskietki). Poznałeś zasady tworzenia interfejsu użytkownika (okien) i deklarowania zmiennych programu. Zaczniesz nadawać wartości tym zmiennym, które powołałeś do „życia”. Zmienne w momencie ich zadeklarowania otrzymują automatycznie wartości przypadkowe. Dlatego dla porządku powinniśmy nadać im wartości „startowe”. Do nadawania wartości zmiennym służy instrukcja przypisania. Jej postać jest bardzo prosta. Oto przykład procedury, w której już wiesz, po co są deklaracje zmiennych i widzisz jak i w którym miejscu zadeklarowanym zmiennym nadano początkowe wartości.

procedure Obliczenia_skladnikow_plac; var l_rzeczyw, x, zarobek, stopa_pod: real; ilosc_etatow, wiek_max: integer; nazwisko, imie, miasto: string[30]; begin l_rzeczyw:=0.004456; x:=-35.478; zarobek:=1000.55; stopa_pod:=19; ilosc_etatow:=1; wiek_max:=65; miasto:=’Szczecin’; nazwisko:=’xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx’; imie:=’’; ............... inne mądrzejsze instrukcje programu ............... end;
UWAGA: Znakiem instrukcji przypisania jest Koniec instrukcji musi być oznajmiony poprzez Część ułamkową liczby od całkowitej oddziela znak Tekst (łańcuch tekstowy) musi być ujęty między

:= ; . ’ ’

Zauważ, że: ♦ liczbę rzeczywistą można zapisać bez kropki i części ułamkowej (jeśli taka część ułamkowa jest zerowa), ♦ łańcuch tekstowy może być pusty i wtedy jest to zapisane jako ’’ . 12

cwicz_05_07

H M P R O G R A M O W A N I E

str. 13
W D E L P H I

Nadaj wartości początkowe wszystkim zmiennym zadeklarowanym w programie Kalkulator - podstawowy. Pamiętaj, że masz utworzonych wiele procedur, które są wykonywane w odpowiedzi na użycie każdego z przycisków okna programu. Wykonaj polecenia: 1. Kliknij dwukrotnie na przycisku . Od razu jesteś w procedurze, która obsługuje ten przycisk. 2. Nadaj wartości początkowe zmiennym, które wcześniej zadeklarowałeś (np. 5555 lub 7777 dla liczb). 3. Uruchom program. Jeśli kompilacja się udała i program zadziałał, to gratuluję. Napisałeś pierwszy fragment programu bezbłędnie. Jeśli pojawił się czerwony pasek na tekście procedury, to znaczy, że w tej linii (lub jej pobliżu) jest błąd. Możesz (musisz) go teraz znaleźć i poprawić oraz ponownie uruchomić program. 4. Sprawdź, jak działa program po naciśnięciu na przycisk Nic nie widać, ani wartości danych, ani wartości wyniku, ani rodzaju wybranego działania (dodawanie). I tak ma być. Zakończ program. 5. Klikając (dwukrotnie) na pozostałe przyciski w oknie Twojego programu wejdź do odpowiadających im procedur i nadaj wartości początkowe wszystkim zmiennym, na których będą wykonywane (później) operacje w tych procedurach. 6. Uruchom program w celu wykrycia ewentualnych błędów. Popraw błędy i zamknij Twój program.

ĆWICZENIE 6 – Wyświetlanie informacji tekstowych.
Wartości wprowadzone poprzez instrukcję przypisania umieszczone są w pamięci pod zmiennymi, a nie na ekranie monitora. Ekran, to nie pamięć. Nauczymy się teraz wyprowadzać zawartość pamięci (wartości zmiennych) na ekran. A na ekranie mogą pojawiać się tylko znaki. Dla ekranu jest wszystko jedno czy my te znaki rozumiemy jako poezję, czy jako liczby. Przypomnij sobie Ćwiczenie 2. Jaką właściwość każdego obiektu zmieniałeś, aby napis pojawiający się na ekranie był taki jak zechcesz ? To była właściwość Caption . Ona zawiera tekst i wyświetla go. Przykład pokazany jest niżej. Typ obiektu ⇒ TLabel Nazwa obiektu (Name) ⇒ Dzialanie

Napis (Caption) ⇒ Wynik obliczeń: Tekst, który zawarty jest pod parametrem Caption można nie tylko wpisać ręcznie poprzez użycie okna Object Inspector i karty Properties. Można go także zmienić (wprowadzić) poprzez instrukcję przypisania, która będzie zastosowana w treści programu. Instrukcja ta dla powyższego przykładu ma postać 13

cwicz_05_07

H M P R O G R A M O W A N I E

str. 14
W D E L P H I

Dzialanie.Caption:=’Wynik operacji:’;

Należy ją dosłownie rozumieć tak: właściwości Caption obiektu Dzialanie przypisz tekst Wynik operacji: Jak widać instrukcję przypisania (:=) można zastosować także wobec właściwości obiektu. Wtedy zamiast nazwy zmiennej po lewej stronie instrukcji podajemy nazwę_obiektu.nazwę_właściwości . Kropka w środku rozdziela te dwie części „pełnej nazwy”. W procedurach, które są uruchamiane po naciśnięciu przycisków naszego Kalkulatora (czyli uruchamiane w odpowiedzi na zdarzenie OnClick) wprowadzisz instrukcje przypisania, które zamienią tekst „Wynik obliczeń:” w oknie programu na tekst odpowiedni do wykonywanego w procedurze działania. Wykonaj polecenia: 1. Przywołaj na wierzch formularz Kalkulator - podstawowy. 2. Kliknij dwukrotnie na przycisk (obiekt) . Znajdziesz się w edytorze tekstu Delphi od razu w procedurze obsługującej zdarzenie kliknięcia. 3. W treści procedury między begin end; za instrukcjami wyznaczającymi początkowe wartości zmiennych wstaw instrukcję przypisania, która zmieni właściwość Caption obiektu Dzialanie na Wynik dodawania:. Podobnie jak w przykładzie niżej.

procedure TForm1.Kl_plusClick(Sender: TObject); var dana1, dana2, rezultat: real; wynik_napis: string[20]; begin dana1:=5555; dana2:=7777; rezultat:=9999; wynik_napis:=’xxxxxxx’; Dzialanie.Caption:=’Wynik dodawania’ end;
4. Uruchom program (popraw ewentualne błędy). Jak teraz reaguje program w przypadku kliknięcia na przycisku dodawania ? Powinien zmienić napis nad wynikiem, chociaż dalej nie pokazuje wyniku obliczeń. Nie pokazuje wyniku, bo: ♦ po pierwsze - nic jeszcze nie liczy, ♦ po drugie - nawet gdyby liczył, to nie ma instrukcji zmuszającej program do pokazania wyniku obliczeń (czyli liczby) na ekranie. 5. Zamknij program. Wróciłeś ze swojego programu do środowiska Delphi.

14

cwicz_05_07

H M P R O G R A M O W A N I E

str. 15
W D E L P H I

6. W procedurach obsługujących zdarzenia wywoływane pozostałymi przyciskami zaprogramuj instrukcje przypisania, które będą zmieniały napis nad wynikiem odpowiednio do rodzaju działania. 7. Uruchom program. Popraw błędy. Sprawdź, czy program właściwie zmienia napisy. Zamknij program. 8. Zapisz projekt w folderze roboczym.

ĆWICZENIE 7 – Wyświetlanie wartości liczbowych.
Właściwość Caption może zawierać tylko łańcuch tekstowy (po prostu tekst ujęty między znakami apostrofu). A jak wobec tego pokazać na ekranie wartość liczbową ? W języku programowania Delphi radzimy sobie w ten sposób, że najpierw stosujemy funkcje, które zamieniają liczby na łańcuchy tekstowe, a potem znanym już sposobem (Caption), doprowadzamy do pokazania tych łańcuchów na ekranie. Pojęcie funkcji jest wszystkim znane. Funkcja ma nazwę, argument (albo kilka argumentów) i jej użycie powoduje „wykonanie działania na argumencie”. W rezultacie otrzymujemy wynik funkcji. Np. w matematyce postępujemy tak:

y=sin(α)
wynik nazwa funkcji

lub tak argument

y=sin(45)

W programowaniu jest podobnie, tylko funkcje nazywają się czasem trochę dziwniej, a znak przypisania wyniku do symbolu ma znaną nam już postać := .

y:=sin(alfa);
Niżej wymienione są potrzebne nam teraz funkcje do zamiany liczby na łańcuch tekstowy oraz (przy okazji) funkcje wykonujące działania odwrotne. Mówimy, że są to funkcje konwersji liczby na łańcuch i łańcucha na liczbę.

IntToStr( ) StrToInt( ) FloatToStr( ) StrToFloat( )

liczba całkowita (integer) na łańcuch łańcuch na liczbę całkowitą liczba rzeczywista (real) na łańcuch łańcuch na liczbę rzeczywistą

Wykonanie następującej sekwencji działań powoduje, że liczba rzeczywista „ukryta” pod zmienną rezultat zostaje przekształcona w łańcuch tekstowy, a ten łańcuch przypisany jest do zmiennej wynik_napis.

rezultat:=9999.99; wynik_napis:=FloatToStr(rezultat);
15

cwicz_05_07

H M P R O G R A M O W A N I E

str. 16
W D E L P H I

Od tej pory jeśli potrzebna jest liczba 9999.99 (np. do wykonania działań), to użyjemy zmiennej rezultat (liczba typu rzeczywistego), a gdy tych 6 dziewiątek z kropką ma być pokazanych na ekranie, to przywołujemy zmienną tekstową wynik_napis. W programie Kalkulator - podstawowy zaprogramuj wyprowadzenie na ekran liczb, które są zawarte pod zmiennymi przedstawiającymi wyniki (rzeczywistymi - real, a także całkowitymi -integer). To nieważne, że tak naprawdę, to jeszcze nie zaprogramowaliśmy żadnych obliczeń (tzn. działań) i nie mamy wyników. Zmienne, które przechowują wyniki obliczeń są zadeklarowane i jakąś wartość zawsze posiadają (a my nawet nadaliśmy im wcześniej wartości początkowe). Wykonaj polecenia: 1. Przywołaj na wierzch formularz Kalkulator - podstawowy. 2. Kliknij dwukrotnie na przycisk (obiekt) . Znajdziesz się w edytorze tekstu Delphi od razu w procedurze obsługującej zdarzenie kliknięcia na tym przycisku (OnClick). 3. W treści procedury przed słowem end; wstaw funkcję konwersji zmiennej rezultat na tekst wynik_napis. 4. W oknie programu przewidzieliśmy obiekt, który służy do prezentacji wyniku (patrz ćwiczenie 3). Jest to składnik typu TLabel , który nazwaliśmy Wynik. Wprowadź instrukcję wyświetlenia tekstu zawartego w zmiennej wynik_napis przez przypisanie jej do właściwości Caption obiektu Wynik. Podobnie jak w przykładzie niżej.

procedure TForm1.Kl_plusClick(Sender: TObject); var dana1, dana2, rezultat: real; wynik_napis: string[20]; begin dana1:=5555; dana2:=7777; rezultat:=9999; wynik_napis:=’xxxxxxx’; Dzialanie.Caption:=’Wynik dodawania’; wynik_napis:=FloatToStr(rezultat); Wynik.Caption:=wynik_napis end;
5. Uruchom program. Popraw błędy. Jak działa program ? Po kliknięciu na przycisk dodawania, w centrum okna powinna zostać wyświetlona liczba taka, jak wartość zmiennej rezultat. 6. Zakończ program i zmień w procedurze, nad którą pracujesz wartość przypisaną do zmiennej rezultat, np. na 2222.55 . 7. Uruchom program. Co masz na ekranie ? 8. Klikając (dwukrotnie) na pozostałe przyciski w oknie Twojego programu, wejdź do odpowiadających im procedur i wpisz instrukcje do wyprowadzenia wyników na ekran. 9. Wytestuj program. Zapisz projekt w folderze roboczym.

16

cwicz_05_07

H M P R O G R A M O W A N I E

str. 17
W D E L P H I

♦ Instrukcje przypisania ♦ Wyświetlanie wartości zmiennych tekstowych ♦ Wyświetlanie wartości zmiennych liczbowych

Zadania do samodzielnego wykonania

(kontynuacja poprzedniej serii ćwiczeń)

Zadanie 1. W programie liczącym całkowity roczny dochód pracownika i jego
średni zarobek miesięczny nadaj wartości początkowe zmiennym tekstowym i liczbowym w procedurach, które są uruchamiane po kliknięciu na utworzone przez Ciebie przyciski funkcyjne programu. Wartości zmiennych, które przedstawiają wyniki wyprowadź na ekran.

Zadanie 2. Nadaj wartości początkowe zmiennym tekstowym i liczbowym w
programie do obliczeń pola przekroju i naprężeń. Wartości zmiennych, które przedstawiają wyniki wyprowadź na ekran.

Zadanie 3. Nadaj wartości początkowe zmiennym tekstowym i liczbowym w
programie, który będzie kalkulatorem inżynierskim. Wartości zmiennych, które przedstawiają wyniki wyprowadź na ekran.

Zadanie 4. W programie do różnych działań na dwóch liczbach zespolonych
nadaj wartości początkowe zmiennym tekstowym i liczbowym. Wartości zmiennych, które przedstawiają wyniki wyprowadź na ekran.

Zadanie 5. W programie do obliczenia wartości długoterminowej lokaty
bankowej nadaj wartości początkowe zmiennym tekstowym i liczbowym w procedurach, które są uruchamiane po kliknięciu na utworzone przez Ciebie przyciski funkcyjne programu. Wartości zmiennych, które przedstawiają wyniki wyprowadź na ekran.

Zadanie 6. W programie gry w kółko i krzyżyk nadaj wartości początkowe
zmiennym tekstowym i liczbowym programu. Wartości zmiennych, które przedstawiają wyniki wyprowadź na ekran. Będą to komunikaty o zakończeniu gry i zwycięstwie gracza lub o błędnym ruchu.

17

 
statystyka