Lekcja 3 - procedury, funkcje i polecenia
Procedury: Write, WriteLn, Read, ReadLn, Clrscr
Procedura: Write
Już trochę znasz tą instrukcję, ponieważ wykorzystywaliśmy ją na poprzednich lekcjach. Teraz poznasz ją dokładniej.
Instrukcja ta służy do wypisywania znaków na ekranie monitora. Teraz mały programik:
program Write;
uses Crt;
Const stala=999999999;
Var super_zmienna : String;
Begin
super_zmienna := 100;
Write('1000');
Write('Iron Maiden is the beast!!!');
Write(100*100);
Write('100*100');
Write(stala);
Write(super_zmienna);
Write(super_zmienna*10);
repeat until keypressed;
End.
Teraz wyjaśnienie: w programie deklarujemu stałą o nazwie: stala i przypisujemy jej wartość 999999999
Deklarujemy także zmienną o nazwie: super_zmienna i na początku programu przypisujemy jej wartość 100
Następnie na ekranie zostaje wyświetlona liczba: 1000 , tekst: Iron Maiden is the beast, wynik mnożenia 100 razy 100,
wyświetlone zostają także znaki: 100*100, wartość stałej, wartość zmiennej i wartość mnożenia zmiennej o nazwie
super_zmienna i liczby dziesięć (10).
Teraz czas na bardzo podobną instrukcję: WriteLn
Podobnie jak instrukcja Write, wypisuje wartość z nawiasów, ale dodatkowo po wypisaniu tej wartości przechodzi do następnej linii.
Teraz przykład w postaci programu:
program WriteLn;
uses Crt;
Begin
WriteLn('1000');
WriteLn('Ozzy Osbourne jest też the beast');
WriteLn;
WriteLn(100*100);
repeat until keypressed;
End.
Instrukcja wypisuje liczbę 1000, pewien tekst, robi odstęp i wypisuje wynik mnożenia 100 razy 100
Teraz inna instrukcja: Read. Sam(a) zobacz co robi:
program Read;
uses Crt;
var ok : String;
Begin
Writeln('Napisz coś:');
Read(ok);
writeln(ok);
repeat until keypressed;
End.
Program mówi żeby coś napisać, następnie tekst który napisze użytkownik wprowadzany jest do pamięci i wypisywany na ekranie
Myślę, że jeżeli poćwiczysz jeszcze tę instrukcję to na pewno ją zrozumiesz.
Z instrukcją ReadLn jest tak samo jak z instrukcją Write i WriteLn. Robi to samo co Read, ale po tym przechodzi do następnej linii
I jeszcze inna instrukcja: Clrscr (Clear Screen - Czyść ekran), czyści ona ekran i ustawia kursor w pozycji 0,0 (tego możesz jeszcze nie wiedzieć,
ale jak przeczytasz rozdział o instrukcji GotoXY wtedy będziesz wiedział o co chodzi
Napisz taki program:
program Clrscr;
uses Crt;
begin
writeln('Hello');
writeln('I m here');
Clrscr;
writeln('Hello, I m here');
repeat until keypressed;
end.
Procedury: Halt, GotoXY, Sound, Delay
Procedura Halt natychmiast przerywa wykonywanie programu i powraca do systemu operacyjnego.
Procedura GotoXY
Przesuwa ona kursor w wyznaczone miejsce, np. jeżeli chcemy, aby tekst pojawił się w 35 wierszu i 12 kolumnie piszemy:
program gotoXY;
uses Crt;
begin
gotoXY(35,12);
writeln('Ten tekst jest prawie na środku, tak mi się przynajmniej wydaje!');
repeat until keypressed;
end.
Teraz bardzo fajna procedurka: Sound , jak sama nazwa mówi będzie do czynienia z dźwiękiem.
Napisz taki oto programik:
program Sound;
begin
Sound(440);
NoSound;
end.
Komputer wyda dźwięk o częstotliwości 440 MHz. Pamiętaj aby zawsze pisać: NoSound, bo jak nie napiszesz to komp będzie
piszczał nawet po wyłączeniu programu :)))
Może spodziewałeś się czegoś lepszego czytając, że będzie to procedura z dźwiękiem, a tu taki pisk tylko :)
Nie martw się, zmienisz zdanie jak napiszesz taki program (naprawdę się opłaca):
program Syrenka;
const
b : Integer=1000;
begin
writeln('Super efekt dźwiękowy!!!');
repeat
Sound(b);
Delay(1);
if b > 2000 then b:=1000 else Inc(b)
until keypressed;
NoSound;
end.
Na pewno wszystkiego nie rozumiesz jeżeli jesteś poczętkującym programistą, ale wkrótce napiszesz swojego Windows Comandera - może :)
Teraz procedura: Delay (opóźnienie)
Schemat jest taki: Delay(ilość milisekund)
np.:
program Delay;
begin
Sound(440);
Delay(2000);
NoSound;
end.
W tym przypadku komp będzie piszczał przez 2 sekundy (1 sekunda=1000 milisekund)
Instrukcja grupująca: begin ...end
Instrukcja ta ma budowę:
begin
................. {treść programu}
end;
Powoduje, że wszystko co znajduje się pomiędzy słowami begin i end traktowane jest jako jedno polecenie.
Instrukcja warunkowa If ... else
Najpierw przykład, potem omówię tę instrukcję:
program ifek;
uses Crt;
var wiek : Integer;
begin
writeln('Ile masz lat?');
read(wiek);
if wiek < 18 then
begin
writeln('Cienias z Ciebie :))))');
writeln('Musisz jeszcze dużo chleba zjeść!');
end;
if wiek > 18 then
begin
writeln('Oooooo ..., stary już jesteś :))))');
writeln('No i już trochę gruby jesteś !!!');
end;
if wiek = 18 then
writeln('Jesteś osiemnastolatkiem');
writeln('Ja jestem 100 - latkiem');
end;
repeat until keypressed;
end.
Teraz opis tego wspaniałego programu:
Na pewno zauważyłeś już, że zadeklarowaliśmy zmienną wiek z typu Integer.
Na początku program pyta o twój wiek. Wartość, którą wprowadzisz z klawiatury jest zapamiętywana przez
komputer do późniejszego wykorzystania. Teraz zaczyna działać nasza nowa instrukcja: If ... else
I tak: jeżeli do zmiennej wiek wprowadzisz wartość mniejszą niż 18 to na ekranie pojawi się napis: Cienias z Ciebie :))))
i w następnej linii: Musisz jeszcze dużo chleba zjeść!. Natomiast jeżeli wpiszesz liczbę większą od 18 to zobaczysz napis:
Oooooo ..., stary już jesteś :)))) i w następnej linii: No i już trochę gruby jesteś !!! Jest jeszcze jedna możliwość
jeżeli wpiszemy liczbę: 18 program napisze: Jesteś osiemnastolatkiem i linię niżej: Ja jestem 100 - latkiem
Pamiętaj!!! Jeżeli po instrukcji if wystąpi więcej niż jedna instrukcja to musisz napisać:
if warunek then
begin
wszystkie polecenia
end;
Teraz inny program:
program polecenie_else;
usescrt;
var odp : string[3];
begin
writeln('Zgadzasz się?');
read(odp);
if odp='tak' then
writeln('Zgodziłeś się, teraz sam pożałujesz :)))');
else writeln('Trudno, nie zbiję cię');
repeat until keypressed;
end.
W tym programie pojawiło się polecenie else (co znaczy w przeciwnym wypadku),
Program pyta czy zgadzasz się na coś tam. Jeżeli odpowiesz tak to wypisuje na ektanie tekst: Zgodziłeś się, teraz sam pożałujesz :)))
W przeciwnym wypadku, czyli wtedy kiedy napisałeś np. nie, albo inne wyrazy, program wypisuje: Trudno, nie zbiję cię.
Wiem z doświadczenia, że ta instrukcja to w życiu programisty przełom, jeżeli ją zrozumiesz to twoje programy będą SUPER!!!
Trzecia lekcja zakończona! Jeśli czegoś nie rozumiesz to pisz: Doodek
I pamiętaj raz na zawsze: wchodź na moją stronę: www.pascal-center.prv.pl
No i klikaj w bannery, nie w jeden WE WSZYSTKIE!!! :)))))
Wróć do strony głównej kursu
Darmowy hosting zapewnia PRV.PL