Skróty klawiaturowe programu Turbo Pascal F9

Transkrypt

Skróty klawiaturowe programu Turbo Pascal F9
Skróty klawiaturowe programu Turbo Pascal
F9- kompilacja
Ctrl+F9- uruchamianie programu
F2 - zapis na dysku
F3- odczyt tekstu programu z dysku
Alt+F5- obejrzenie wyników działania programu
Alt+X - koniec pracy z programem
Alt+Enter- pełny ekran / lub zmniejszenie pełnego ekranu
Pakiet Turbo Pascala dysponuje edytorem programów o moŜliwościach zbliŜonych do zwykłych edytorów.
Uruchamia się on automatycznie, gdy otwieramy plik z kodem źródłowym programu.
Po oknie edycji poruszamy się za pomocą strzałek, myszki oraz następujących klawiszy:
•
home - przesuwa kursor na początek wiersza;
•
end - przesuwa kursor na koniec wiersza;
•
page up ( pgup ) - przesuwa kursor o jedną stronę do góry;
•
page down ( pgdn ) - przesuwa kursor o jedną stronę w dół;
•
ctrl + home - przesuwa kursor do pierwszego wiersza w oknie;
•
ctrl + end - przesuwa kursor do ostatniego wiersza w oknie.
Klawisz backspace ( bksp ) usuwa znak przed kursorem, natomiast klawisz delete ( del ) usuwa jeden znak
za kursorem. Klawisz insert ( ins ) słuŜy do wyboru trybu wstawiania lub nadpisywania. Kombinacja ctrl + y
słuŜy do usuwania wiersza zawierającego kursor. Ostatnie zmiany w tekście moŜna cofnąć poprzez wybór
komendy Undo ( alt + bksp ) z menu Edit .
Edytor umoŜliwia takŜe dokonywania operacji na blokach tekstu:
•
trzymając shift i wciskając strzałki moŜemy zaznaczać fragment tekstu; moŜemy to równieŜ osiągnąć
trzymając przyciśnięty klawisz myszy i poruszanie nią ;
•
polecenie Cut ( shift + del ) z menu Edit wycina zaznaczony tekst i wstawia go do pamięci;
•
polecenie Copy ( ctrl + ins ) z menu Edit kopiuje zaznaczony tekst d o pamięci;
•
polecenie Paste ( shift + ins ) z menu Edit wstawia za kursorem tekst z pamięci;
•
polecenie Clear ( ctrl + del ) z menu Edit usuwa zaznaczony tekst, lecz nie umieszcza go w pamięci;
•
polecenie Show Clipboard z menu Edit otwiera okno zawierające tekst zawarty w pamięci
1
Struktura programu
KaŜdy nie trywialny program powinien składać się z danych, instrukcji i komentarzy . Dane to obiekty na
których program przeprowadza operacje (liczby, teksty i ich kombinacje). Instrukcje to kolejne operacje,
które program ma wykonać na danych. Komentarze nie wpływają na przebieg działania programu, słuŜą
jedynie poprawieniu czytelności kodu. Program powinien składać się z następujących sekcji :
program nazwa_programu;
Słowo kluczowe oznaczające, iŜ dany plik zawiera program w języku Pascal. Jednocześnie nadaje mu
unikalną nazwę (nie ma to nic wspólnego z nazwą pliku w którym program jest przechowywany).
uses modul_1, modul_2, ... ;
Jest to instrukcja dołączająca zewnętrzne biblioteki zawierające dodatkowe procedury i funkcje,
których moŜna będzie uŜyć we własnym programie.np.:
uses crt,graph,dos;
dołącza biblioteki zawierające kolejno funkcje tekstowe, graficzne i systemowe.
type nazwa_nowego_typu = definicja_nowego_typu;
Przy pomocy tego słowa kluczowego moŜemy utworzyć nowe typy danych na podstawie tych juŜ
istniejących (najczęściej są one bardziej skomplikowane).np.:
type calkowita=integer;
przyporządkuje typowi calkowita standardowy typ integer .
const nazwa_stalej : typ_stalej = wartosc;
Deklaracje stałych.np.:
const LIMIT=10000;
definiuje ciąg LIMIT jako zamiennik dla wartości 10000 w kodzie źródłowym.
var nazwa_zmiennej : typ;
Deklaracja zmiennych globalnych uŜytych w programie. Będą one widoczne (moŜna się do nich
odwoływać) w kaŜdym miejscu programu.
procedure nazwa_podprogramu[(parametr1; parametr2;...)];
function nazwa_funkcji[(parametr1;parametr2;...)]:typ_zwracany;
W tym miejscu naleŜy umieścić definicje własnych funkcji i procedur uŜytych w programie.
begin
Blok programu głównego. Uwaga : koniec tego bloku jest zapisywany słowem kluczowym end. z
kropką na końcu.
end.
2
Procedura Write
SłuŜy do wypisania na ekran liczby/tekstu:
Program pierwszy;
Const
jakas_stala=999;
Var
jakas_zmienna:Word;
Begin
jakas_zmienna:=448;
Write(123);
{1}
Write('bzdura');
{2}
Write(4*8);
{3}
Write('4*8');
{4}
Write(jakas_stala); {5}
Write(jakas_zmienna); {6}
Write(jakas_zmienna+12); {7}
Write(3/4);
{8}
End.
Program wypisze na ekranie liczbę 123 {1}, tekst 'bzdura' {2}, wynik działania matematycznego 32
{3}, tekst '4*8' {4}, stałą o wartości 999 {5}, zmienną do której została wprowadzona liczba 448 {6}, oraz tą
samą zmienną powiększoną o 12 czyli 460 {7}.
W tym momencie pojawia się dziwna rzecz, w linii {8} zamiast spodziewanego wyniku 0.75
wyświetla nam program liczbe 7.5000000000E-01 ale jest to nic innego jak liczba przed literką E pomnoŜona
o 10 do potęgi takiej jaka się znajduje po literce E czyli 7.5000000000 * 10 -01 i jest to dokładnie 0.75. Aby
wynik wyświetlany był jednak w bardziej czytelnej formie, do której jesteśmy na co dzień przyzwyczajeni
wystarczy uŜyć zapisu formatującego wyświetlane dane, a dokładniej to naleŜy dodać dwie cyferki
oddzielone od siebie dwukropkami np:
Write(3/4:8:4);
Znaczy to: wyświetl liczbę ograniczając wyświetlanie do 8 znaków przed kropką i 4 po kropce, dzięki temu
otrzymamy łatwo czytelny wynik 0.7500
3
Procedura WRITE nie wykonuje nic więcej oprócz wypisania wartości z pomiędzy nawiasów
dlatego wszystkie te wyświetlane wartości będą znajdowały się w jednej linii.
MoŜna równieŜ podać wszystkie te parametry naraz, oddzielając je przecinkami:
Const
jakas_stala=999;
Var
jakas_zmienna:Word;
Begin
jakas_zmienna:=448;
Write(123,'bzdura',4*8,'4*8',jakas_stala,jakas_zmienna,jakas_zmienna+12,3/4:8:2);
End.
Procedura WriteLn
Podobnie jak WRITE, WRITELN wypisuje wartość z pomiędzy nawiasów, ale jeszcze dodatkowo po
wypisaniu tej wartości przechodzi do następnej linii.
Begin
WriteLn(123);
WriteLn('bzdura');
{1}
{2}
WriteLn('');
{3}
WriteLn;
{4}
WriteLn(4*8);
{5}
End.
W tym przypadku w KOLEJNYCH LINIACH zostaną wyświetlone wartości: liczba 123 {1} , tekst
'bzdura' {2}, pusty ciąg znaków '' {3} ( czyli niczego nie wyświetli i przejdzie do następnej linii ), kolejną
pustą linię {4} ( po prostu procedura jest wykonywana podobnie jak w {3} z pustym łańcuchem znaków ) i
wynik działania 32 {5}. Podobnie jak w procedurze Write parametry moŜna podawać oddzielone
przecinkami:
Begin
WriteLn(123,'bzdura','',,4*8);
4
End.
Zwróć uwagę, Ŝe w tym przypadku jak pomineliśmy pusty ciąg znaków i po poprostu wpisaliśmy kolejny
przecinek ( podobnie jak w {4} ) kompilator wyrzuci nam błąd. Prawidłowym zapisem natomiast jest:
Begin
WriteLn(123,'bzdura','','',4*8);
End.
Procedura Read
Pozwala na wprowadzenie do zmiennej wartość podawaną z klawiatury w czasie działania programu:
Var
zm1:String;
zm2:Word;
Begin
Read(zm1);
{1}
Read(zm2);
{2}
Read;
{3}
End.
Program czeka na wprowadzenie dwóch zmiennych, ZM1 typu STRING {1} oraz ZM2 typu WORD
{2}, jeŜeli natomiast wywołamy tą procedurę bez Ŝadnych parametrów {3} to program czeka w tym
momencie na wciśniecie klawisza Enter. W przypadku wprowadzania zmiennych trzeba uwaŜać na kilka
rzeczy:
1) JeŜeli program będzie oczekiwał liczby a my podamy mu tekst, to zastanie on zatrzymany i wyświetli błąd
2) JeŜeli czeka np. na liczbę typu WORD, a podamy mu przekraczającą jej typ liczbę 70000, to w zmiennej
znajdzie się całkiem inna liczba której się tam niespodziewaliśmy w tym przypadku będzie to 4464 będzie to
tzw. przekręcenie licznika :)
3) JeŜeli czeka na typ STRING a podamy liczbę, to uzna tą liczbę za tekst tak więc nie będzie moŜna jej
uŜywać np. w działaniach matematycznych. (Wprawdzie jest funkcja przekształcająca liczbę umieszczoną w
typie STRING na WORD, INTEGER itd. ale opowiem o niej dopiero później, niemniej istnieje taka i nazywa
się VAL).
Procedura READ przyjmuje kolejne zmienne w tej samej linii jedna za drugą.
5
Procedura ReadLn
Podobnie jak READ procedura ta pozwala na wprowadzenie do zmiennej wartość podawaną z klawiatury w
czasie działania programu, z tym, Ŝe po przyjęciu wartości program przechodzi do następnej linii:
Var
imie:String;
Begin
Write( 'Jak masz na imie ? : ' );
ReadLn( imie );
WriteLn;
{1}
{2}
{3}
WriteLn( 'Witaj ' , imie , '!' );
{4}
Write( 'Wcisnij Enter...' );
ReadLn;
{5}
End.
Programik ten wypisuje tekst {1} i czeka na wprowadzenie zmiennej IMIE {2}, następnie robi linijkę odstępu
{3} i wypisuje tekst, zmienną i znowu tekst {4}. Na sam koniec czeka dodatkowo na wciśniecie klawisza
Enter {5}.
Procedura ClrScr
Składnia: ClrScr; [CRT]
Usuwa wszystkie znaki z ekranu tekstowego (czyści go) i ustawia kursor w pozycji 0,0 (lewy górny róg
ekranu)
Procedura GotoXY
Składnia: GotoXY(x,y:byte); [CRT]
Procedura ta pozwala na umieszczenie kursora (miejsca, od którego np. będą wyświetlane wartości przez
Write), w dowolnym miejscu ekranu, procedura ta znajduje się w bibliotece CRT:
Uses CRT;
Begin
6
GotoXY(20,10);
Write('Ten tekst rozpoczyna się w 20 kolumnie i 10 wersie');
End.
W tym programie procedura GotoXY nakazuje przenieść kursor do 20 wiersza i 10 kolumny i wyświetlić
tekst.
Procedura Sound
Składnia: Sound(CZE:word); [CRT]
Włącza dźwięk o częstotliwości CZE ( liczba typu word ) emitowany przez głośnik komputera. Z własnych
praktyk zauwaŜyłem Ŝe dźwięk o częstotliwości 3160 jest "trochę" denerwujący :)
Procedura NoSound
Składnia: NoSound; [CRT]
Wyłącza dźwięk emitowany przez głośnik komputera, włączony uprzednio przez SOUND.
Procedura Delay
Składnia: Delay(CZAS:word); [CRT]
Wstrzymuje program na określoną (zmienna CZAS) ilość milisekund (1000 milisekund=sekunda), przydatne
np. przy procedurze Sound
Uses CRT;
Begin
Sound(2000);
Delay(1000);
NoSound;
End.
Program1
program witaj;
uses crt;
begin
clrscr;
writeln('Witaj szkolo!');
7
readln;
end.
Program 2
program czesc;
uses crt;
begin
clrscr;
write ('czesc');
writeln ('Jak sie masz?');
writeln ('Czy jestes gotowy na Pascala?');
readln;
end.
Program 3
program wizytowka;
uses crt;
begin
clrscr;
writeln ('Gall Anonim');
writeln ('----------------------- ');
writeln ('Klasa I SP');
writeln ('Programowanie strukturalne i obiektowe');
readln;
end.
Program 4
program liczby;
uses crt;
begin
clrscr;
writeln ('Mnozenie dwoch liczb 50*40:',50*40);
writeln ('oraz dzielenie liczb 2400/8:',(5+3)*(2-6 div 2));
readln;
end.
Program 5
program zmienne;
uses crt;
var a:integer;
b:Integer;
x:real;
begin
clrscr;
writeln ('liczba a:',a);
writeln ('liczba b:',b);
writeln ('liczba x:',x);
readln;
end.
Program 6
8
program obliczenia;
uses crt;
var a,b:integer;
begin
clrscr;
a:=33;
b:=0;
writeln ('a=',a);
writeln ('b=',b);
writeln ('a+b=',a+b);
writeln ('a-b=',a-b);
writeln ('a/b=',a/b);
writeln ('a*b=',a*b);
writeln ('a div b=',a div b);
writeln ('a mod b=',a mod b);
readln;
end.
Program 7
program obwod_kola;
uses crt;
const
pi=3.14159;
var
promien, obwod,pole:real;
begin
clrscr;
promien:=4.9;
pole:=pi*promien*promien;
obwod:=2*pi*promien;
writeln ('pole _kola=',pole);
writeln ('obwod_kola=',obwod);
writeln ('zaokraglona=',round(obwod));
writeln ('przycieta=',trunc(obwod));
readln;
end.
9