pascal_14.pdf
(
89 KB
)
Pobierz
Obsługa klawiszy rozszerzonych i własne Menu
Turbo Pascal cześć 14
ver. 1.1
Na poprzednich lekcjach omówiliśmy podstawowe funkcje języka Turbo Pascal. Nie obce są nam
pojęcia warunkowe jak i pętle. Na dzisiejszej lekcji dowiecie się jak urozmaicić nasz program poprzez zmianę
kolorów w trybie tekstowym.
Procedura "
TextColor(kolor:byte)"
z biblioteki CRT odpowiedzialna jest za zmianę kolorów wyświetlanego
tekstu, możliwe jest do wybrania 16 kolorów:
Black = 0 - czarny
Blue = 1 - niebieski
Green = 2 - zielony
Cyan = 3 - turkusowy
Red = 4 - czerwony
Magenta = 5 - karmazynowy
Brown = 6 - brązowy
LightGray = 7 - jasnoszary
DarkGray = 8 - ciemnoszary
LightBlue = 9 - jasnoniebieski
LightGreen = 10 - jasnozielony
LightCyan = 11 - jasnoturkusowy
LightRed = 12 - jasnoczerwony
LightMagenta = 13 - jasnokarmazynowy
Yellow = 14 - żółty
White = 15 - biały
Zadanie 1
Napisz program który wyświetli napis Informatyka w 16 różnych kolorach.
Jak widać takie zmiany urozmaicą nam "życie programisty". Jednak to nie wszystko. Można też wymusić na
programie by nasz napis migotał (uwaga napis będzie migotał gdy przejdziemy w tryb pełnoekranowy)
Migotanie uzyskamy przez dodanie do wybranego koloru 128 (Blink) np.
TextColor(Red+Blink);
Write('Napis Czerwony mrugajacy');
TextColor(15+128); { lub można napisać TextColor(143); }
Write('Napis Biały mrugający');
Zadanie 2
Spraw by nasze napisy migały.
Inną metodą urozmaicenia naszego programu to ustalenie koloru tła, służy do tego procedura z biblioteki CRT
TextBackGround(kolor:byte);
Zmienia kolor tła wyświetlanego tekstu, możliwe do wybrania jest 8 kolorów:
Black = 0 - czarny
Blue = 1 - niebieski
Green = 2 - zielony
Cyan = 3 - turkusowy
Red = 4 - czerwony
Magenta = 5 - karmazynowy
Brown = 6 - brązowy
LightGray = 7 - jasnoszary
Kurs opracował mgr Jarosław Teodorczuk
veljarek@poczta.gazeta.pl
1
Zadanie 3
Przepisz poniższy kod i sprawdź jego działanie:
Program kolor_tla;
Uses CRT;
Begin
TextBackGround(Blue);
Write('Napis na niebieskim tle');
TextBackGround(4);
Write('Napis na czerwonym tle');
End.
Uwaga:
Aby zmienić kolor podkładu dla całego ekranu należy wykonać tą procedurę i wyczyścić ekran np.
Zadanie 4
Napisz poniższy program i zmodyfikuj go by tło miało kolor czerwony.
Uses CRT;
Begin
TextBackGround(Green);
ClrScr;
Write('Oto napis na całym zielonym ekranie :)');
End.
Skoro omówiłem kilka sposobów uatrakcyjnienia programów, teraz wrócę do naszej stałej pracy w Pascal i
zajmiemy się operatorami logicznymi. Zarówno w pętlach jak i instrukcjach warunkowych jest to
obowiązkowy element każdego programu stosuje się go tam gdzie są potrzebne spełnione dwa lub więcej
warunków np. w IF..THEN.. albo w pętli REPEAT..UNTIL, warunki muszą być podane w nawiasach np.
Var
a1,a2,a3:byte;
Begin
Write('Podaj 1 liczbe : ');
ReadLn(a1);
Write('Podaj 2 liczbe : ');
ReadLn(a2);
Write('Podaj 3 liczbe : ');
ReadLn(a3);
If (a1>a2) AND (a1>a3) Then WriteLn('Liczba ',a1,' jest najwieksza z podanych');
If (a2>a1) AND (a2>a3) Then WriteLn('Liczba ',a2,' jest najwieksza z podanych');
If (a3>a1) AND (a3>a2) Then WriteLn('Liczba ',a3,' jest najwieksza z podanych');
End.
Jak widać funkcja IF może sprawdzać więcej niż jeden warunek w jednej chwili. To ogromna wygoda gdyż
skraca nasz program.
Zadanie 5
Przepisz powyższy program i opisz jaki jest efekt jego działania.
Innym operatorem logicznym który będziemy używać jest OR, ale zanim zaznajomimy się z nim poznajmy
funkcję
ReadKey
.
Służy ona do pobierania znaku i zapamiętania go, następnie przypisuje go jakiejś zmiennej
Mówiąc o operatorze OR po polsku jest to operator "LUB" i stosuje się tam gdzie jest potrzebny spełniony co
Kurs opracował mgr Jarosław Teodorczuk
veljarek@poczta.gazeta.pl
2
najmniej jeden z dwóch lub więcej warunków, stosuje się go np. w IF..THEN.. albo w pętli REPEAT..UNTIL,
warunki te muszą być podane w nawiasach np.
Zadanie 6
Przepisz poniższy program i sprawdź jego działanie
Uses CRT;
Var
c:char;
Begin
Write('Czy na pewno ? (T/N) :');
Repeat
c:=ReadKey;
Until (c='t') or (c='n');
End.
Program ten czeka na wciśnięcie klawisza "t" lub "n", ale jest niedoskonały ponieważ gdy wciśniemy duży
klawisz "T" lub "N" to wtedy nie zadziała. Rozwiązaniem tego jest dodanie obsługi tych klawiszy, poprawiony
program wygląda więc tak:
Uses CRT;
Var
c:char;
Begin
Write('Czy na pewno ? (T/N) :');
Repeat
c:=ReadKey;
Until (c='t') or (c='T') or (c='n') or (c='N');
End.
Ostatnią funkcją, z którą zapoznamy się na dzisiejszej lekcji jest UpCase i służy do przeciwdziałania takim
sytuacjom gdy musimy przewidzieć wpisania dużej lub małej litery. Tak jak to miało miejsce w zadaniu
powyżej. Składnia funkcji jest następująca: duza:=UpCase(literka:char):char;
Funkcja zamienia małą literkę na dużą, w przypadku podania już dużej litery lub cyfry nie następuje zamiana.
np: UpCase('a') = 'A', UpCase('B') = 'B', UpCase('6') = '6'. Tak więc program z opisanego operatora OR można
zapisać tak:
Uses CRT;
Var
c:char;
Begin
Write('Czy na pewno ? (T/N) :');
Repeat
c:=UpCase(ReadKey); {1}
Until (c='T') or (c='N'); {2}
End.
{1} Po wciśnięciu jakiegokolwiek znaku jest on zamieniany na dużą literę i podstawiany do zmiennej C
{2} Sprawdzenie czy zmienna C zawiera dużą literę T lub N
Zadanie 7
Napisz program pobierający imię, nazwisko i datę urodzenia, następnie wypisujący te informacje DUŻYMI
literami i małymi literami.
Kurs opracował mgr Jarosław Teodorczuk
veljarek@poczta.gazeta.pl
3
Analogicznie działa funkcja "DownCase".
Plik z chomika:
bastiking
Inne pliki z tego folderu:
pascal_9.pdf
(100 KB)
pascal_8.pdf
(78 KB)
pascal_7.pdf
(77 KB)
pascal_6.pdf
(88 KB)
pascal_5.pdf
(83 KB)
Inne foldery tego chomika:
Algorytmy
Kurs VIDEO
Programowanie obiektowe
Zgłoś jeśli
naruszono regulamin