Ver. 1.0 Beta, Nie masz kompilatora? Teraz możesz pisać skrypty ONLINE! Wersja podstawowa -nie zawiera wszystkich poleceń Pascala. Służy do nauki podstaw

Zmienne, ReadLn


Zmienne są pewnym obszarem pamięci do którego możemy wstawiać różne dane. W zmiennej możemy przechowywać imię lub nazwisko jakiejś osoby, która aktualnie obsługuje nasz program, jej wiek, adres zamieszkania -cokolwiek wymyślimy. Dzięki temu możemy się do użytkownika zwracać po imieniu kiedy tylko nam się podoba.


Zawartość zmiennej można wyświetlać metodą WriteLn. Niestety żebyśmy mieli dostęp do jakiejś zmiennej musimy poinformować o tym komputer. Służy do tego instrukcja (słowo kluczowe) VAR (Variables). Zmienne można deklarować tylko przed częścią wykonywalną programu.


Każda zmienna musi mieć swoją nazwę. Możesz wymyślić co Ci się tylko podoba, najważniejsze żeby nie zawierała w sobie spacji ani polskich znaków, itp. Zmienna powinna się także kojarzyć z wartością, którą zawiera. Np. jeśli przechowuje imię dobrze jest ją nazwać Imie, jeśli nazwisko -Nazwisko, itp… Programiści dość często przed nazwą zmiennej dodają małą literkę, która oznacza jej typ. Jeśli byłaby to zmienna tekstowa nazwisko (typ: string)  -nazwaliby ją sNazwisko lub s_nazwisko.


Zmiennymi mogą być liczby, napisy, nawet miejsce w pamięci gdzie są rysunki, dźwięki itp. My zajmiemy się napisami i liczbami. Każda zmienna ma swoje przeznaczenie. W zależności od przeznaczenia komputer wie, ile pamięci jej przydzielić i co z nią można zrobić. Musimy więc podczas deklaracji zmiennej podać jej typ (np. czy liczba czy napis).


Żeby zdać jakikolwiek egzamin, napisać program bezbłędnie, musisz zapamiętać podstawowe typy zmiennych. Najczęściej stosowane to INTEGER (liczba) oraz STRING (łańcuch znaków –inaczej napis). Każdy typ zmiennej ma swoje właściwości, np. zakres jaki obejmuje liczba lub ilość znaków w napisie. Tabelka będzie przedstawiała czym dokładnie się różnią.




Typ

Zajmowana pamięć w bajtach

Zakres

Opis

Byte

1

0..255

Liczba o małym zakresie wykorzystywana np. do wczytywania wieku

ShortInt

1

-128..127

Liczba o małym zakresie z możliwością wpisywania liczb ujemnych, np. do szybkości przesuwania piłki w grze

Word

2

0..65535

Liczba o średnim zakresie stosowana np. do obliczania liczby punktów, prostych działań na liczbach dodatnich

Integer

2

-32768..32767

Liczba o średnim zakresie, bardzo często stosowana do operacji matematycznych

LongInt

4

-2^31..2^31-1

Liczba o dużym zakresie, wiele zastosowań, np. przechowująca rozmiar pliku

Char

1

Wszystkie znaki

Pojedynczy znak np. litera „a”; może przechowywać informacje o płci użytkownika (m lub k)

String

256

Wszystkie znaki

Napis, przechowuje np. Imię, nazwisko, tekst, który ma wyświetlić na ekranie

Real

6

Liczby rzeczywiste

Przechowuje liczby z możliwością operacji na częściach dziesiętnych, można stosować w miejscach gdzie duża prędkość programu nie jest wymagana (wolniejsze od single). Stosowane do obliczeń matematycznych, np. Obliczanie pola koła

Single

4

Liczba zmiennoprzecinkowa

Możliwa ilość miejsc po przecinku zależy od jej wielkości (dla małych liczb więcej miejsc, dla dużych w ogóle)
Stosowana przy operacjach na grafice trójwymiarowej, dużo szybsza od Real

Double

8

Liczba zmiennoprzecinkowa

Podobne do Single, jednak większa dokładność


Pascal ma pewne ograniczenia. Gdy mamy zmienną typu string, która przechowuje jakąś liczbę np. wpisaną przez użytkownika, nie możemy do niej dodawać innej liczby. Komputer nie będzie wiedział o co chodzi. Tylko do zmiennej typu integer, można dodać inny integer, do zmiennej typu string nie da się dodać zmiennej typu integer (można natomiast przekonwertować string na integer i odwrotnie -służą do tego polecenia val i str).


Dla Pascala  próba dodania zmiennej Integer do string to tak jakbyś w matematyce na sprawdzianie pisał: "dwa razy dwa równa się cztery". Nawet gdyby wynik był dobry, nauczycielka zwróciła by Ci uwagę, że nie stosujesz matematycznych opisów. Pascal wyświetli błąd: "Error 26: Type mismatch".


Przykład będzie demonstrował w jaki sposób zadeklarować zmienną typu tekstowego, wczytać imię do zmiennej a następnie ją wyświetlić.



var imie: string;
begin
 WriteLn(‘Podaj swoje imie: ’);
 ReadLn(imie);
 WriteLn(‘Nazywasz sie ’,imie);
end.


Łatwo zauważyć, że do wczytywania danych sluży polecenie ReadLn. Aby wypisać jakiś napis, a po nim zmienną można zamknąć apostrof i po przecinku wpisać nazwę zmiennej. Warto przypomnieć, że istnieją podobne instrukcje do WriteLn i ReadLn. Są nimi Write i Read, które również wypisują coś na ekranie, różnica polega na tym że WriteLn i ReadLn przenosi kursor piszący do następnej lini, a bez Ln nie.


Przypuśmy, że chcesz podstawić do zmiennej konkretną liczbę, lub wartość innej zmiennej, możesz to zrobić tak:



var a, b: integer;
begin
 a:= 10;
 b:= 5; {Podstawienie liczby 5 do zmiennej b}
 a:= b; {Podstawienie wartości b do zmiennej a}
end.  {Wyniki: a=5, b=5}

Poeksperymentuj trochę, spróbuj wczytać imię i nazwisko, może wiek i wyświetlić wszystko. Nie zapomnij o ALT+F5 aby zobaczyć wynik. Sposobem na uniknięcie wciskania Alt+F5 jest np. wpisanie na końcu ReadLn; Teraz program będzie czekał na wciśnięcie klawisza ENTER.


Co można zrobić ze zmiennymi?



var a, b: integer;
   s : string;
begin
 a := 1; b := a; s := 'Ala ';   {wolno podstawiać}
 a : = a + 1;           {wolno dodawać do samej siebie}
 s := s + 'ma kota';    {napisy można łączyć}

 {NIE WOLNO s := s + a;}
 {NIE WOLNO TEŻ s:='1'; s := s + 2;}

  {wolno eksperymentować :) }
end.

Przykłady eksperymentów:



Prosty kalkulator mnożący

var a, b: integer;
begin
 WriteLn(‘Program mnożący a*b’);
 Write(‘Podaj liczbę a: ’);
 ReadLn(a);
 Write(‘Podaj liczbę b: ’);
 ReadLn(b);
 WriteLn(a, ‘ * ’, b, ' = ', a * b);
 ReadLn;
end.

Wynik działania:


Program mnożący a*b
Podaj liczbę a: 3
Podaj liczbę b: 5
3 * 5 = 15
Strona korzysta z plików cookie w celu świadczenia usług Google (reklamy, statytyki) oraz Facebook. Jeśli chcesz zablokować pliki cookies wyłacz je w swojej przeglądarce. Potrzebujesz pomocy? kliknij