pascal_20.pdf

(68 KB) Pobierz
Obsługa klawiszy rozszerzonych i własne Menu
Turbo Pascal cześć 20
ver. 1.1
Dziś poznamy funkcje które nie używamy na co dzień, ale są fajnym urozmaiceniem naszej pracy.
Pierwsza z nich to GetDate (z biblioteki DOS) której składnia wygląda następująco:
GetDate(var Rok, Miesiac, Dzien, DzienTygodnia:word);
Procedura pobierająca aktualną datę systemową. Poszczególne zmienne mogą zawierać wartości:
Rok : 1980 - 2099
Miesiac : 1 - 12
Dzien : 1 - 31
DzienTygodnia - 0 - 6 ( 0 = niedziela, 1 = poniedziałek, ... , 6 = sobota )
Tak więc z tego widać, że Pascal jest odporny na problem roku 2000 :)
Zadanie 1
Przepisz poniższy program i sprawdź jego efekt.
Przykładowy program:
Uses DOS;
Const
dni:array[0..6] of string=('Niedz','Pon','Wto','Sro','Czw','Pia','Sob'); {1}
Var
rok,mies,dzien,dztyg:word;
Begin
GetDate(rok,mies,dzien,dztyg);
WriteLn('Dzisiejsza Data : ',dni[dztyg],' ',dzien,'-',mies,'-',rok);
End.
Zastosowałem tu jeszcze jedną rzecz, której nie było do tej pory mianowicie tablicę ale STAŁYCH !
Zadeklarowałem po prostu 7 elementów typu string, którym nadałem z góry wiadome wartości.
Jeżeli mówimy już o dacie, to miło by było gdyby Pascal wyświetlał aktualną godzinę, a do tego będzie nam
potrzebna funkcja GetTime której składnia wygląda następująco:
GetTime(var Godzina, Minuta, Sekunda, SetnaSekundy:word); biblioteka: DOS
Procedura pobierająca aktualny czas systemowy.
Zadanie 2
Przepisz poniższy program i sprawdź jak działa.
Uses DOS;
Var
godz,min,sek,sek100:word;
Begin
GetTime(godz,min,sek,sek100);
WriteLn('Aktualna Godzina : ',godz,':',min,':',sek,':',sek100);
End.
przykładowy wynik tego programu:
Aktualna Godzina : 14:6:1:81
Według mnie to trochę głupio wyglądają te minuty i sekundy (takie pojedyncze cyferki), no i te setne możemy
sobie podarować. Poprawiony programik wyglądałby mniej więcej tak:
Zadanie 3
Przepisz poniższy program i we wskazanym miejscu napisz dlaczego tak zmieniono program.
Kurs opracował mgr Jarosław Teodorczuk
veljarek@poczta.gazeta.pl
1
Uses DOS;
Var
godz,min,sek,sek100:word;
sgodz,smin,ssek:string;
Begin
GetTime(godz,min,sek,sek100);
Str(godz,sgodz);
If length(sgodz)=1 Then sgodz:='0'+sgodz;
Str(min,smin);
If length(smin)=1 Then smin:='0'+smin;
Str(sek,ssek);
If length(ssek)=1 Then ssek:='0'+ssek;
WriteLn('Aktualna Godzina : ',sgodz,':',smin,':',ssek);
End.
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
Zadanie 4
Zmodyfikuj program i stwórz własną funkcję, która będzie zwracać godzinę już uformowaną w tekst.
Zadanie 5
Napisz program do gry kółko i krzyżyk na dwie osoby, gdzie kółko i krzyżyk „wpisujemy” np. A1, B3 itp.
Zadanie domowe:
Napisz program, który rysuje wykresy funkcji liniowej lub kwadratowej na monitorze w układzie
współrzędnych, oblicza miejsca zerowe funkcji w układzie współrzędnych, użytkownik wpisuje w tabelkę
wartości argumentów a komputer rysuje tą tabelkę oblicza wartości funkcji i łączy punkty dane przez
użytkownika. Program ma zawierać informacje o twórcy i czasie jego powstania!!!!(powodzenia z całego serca,
ale będę pytał z kodu źródłowego przed postawieniem oceny!!!!)
Kurs opracował mgr Jarosław Teodorczuk
veljarek@poczta.gazeta.pl
2
Zgłoś jeśli naruszono regulamin