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