Procedura Write
Służy do wypisania na ekran liczby/tekstu:
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 codzień 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

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ę 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 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:
• Jeżeli program będzie oczekiwał liczby a my podamy mu tekst, to zastanie on zatrzymany i wyświetli błąd
• 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 :)
• 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).

________________________________________

Instrukcja warunkowa

Aby uniknąć błędu wynikającego z próby pierwiastkowania liczby ujemnej, wypadałoby umieścić w naszym programie zastrzeżenie w postaci "jeżeli wyznacznik jest większy od zera to wykonaj dalsze obliczenia, w przeciwnym przypadku wypisz odpowiedni komunikat". Przekładając to na język angielski i nieco uogólniając, otrzymujemy strukturę instrukcji warunkowej:

  if warunek
    then instrukcja-1
    else instrukcja-2
W powyższym zapisie warunek jest niczym innym, jak wyrażeniem dającym w wyniku wartość true lub false, na ogół wykorzystującym znane Ci już operatory relacyjne (mówiąc po ludzku, jest to zwykłe porównanie). Instrukcje opisują czynności, które powinny być wykonane po spełnieniu lub niespełnieniu warunku, przy czym część zaczynająca się od słowa kluczowego else nie jest obowiązkowa (tj. nie musisz określać "wariantu awaryjnego").

Instrukcja warunkowa, dostępna praktycznie w każdym języku programowania, stanowi podstawowe narzędzie umożliwiające podejmowanie decyzji w zależności od aktualnych warunków, czyli wbudowywanie w program "inteligencji", pozwalającej mu zachować się odpowiednio do sytuacji. Spróbujmy wkomponować instrukcję warunkową w nasz poprzedni program:

program Nowe_Rownanie_Kwadratowe; { Program rozwiązuje równanie kwadratowe metodą wyznaczników }
{ uwzględniając możliwość ujemnego znaku wyznacznika }

var
  	  	a, b, c : real; 	{ współczynniki }
  	  	delta : real; 	{ wyznacznik }
  	  	x1, x2 : real; 	{ pierwiastki }
  	 
  	begin
  	  	writeln('Program rozwiazuje rownanie kwadratowe')
  	  	writeln('a*x^2 + b*x + c');
  	  	write('Podaj wspolczynnik a: '); 	{ wprowadź współczynniki }
  	  	readln(a);
  	  	write('Podaj wspolczynnik b: ');
  	  	readln(b);
  	  	write('Podaj wspolczynnik c: ');
  	  	readln(c);
  	  	delta := sqr(b) - 4*a*c; 	{ oblicz wyznacznik }
  	  	if delta >= 0 then 	{ wyznacznik OK }
  	  	  	begin 	{ wykonujemy obliczenia }
  	  	  	  	x1 := (-b + sqrt(delta))/(2*a); 	{ oblicz pierwiastki }
  	  	  	  	x2 := (-b - sqrt(delta))/(2*a);
  	  	  	  	writeln('Pierwiastki:'); 	{ wyświetl pierwiastki }
  	  	  	  	writeln('x1 = ', x1:12:4); 
  	  	  	  	writeln('x2 = ', x2:12:4);
  	  	  	end 	{ tu NIE MA średnika! }
  	  	else 	{ wyznacznik ujemny }
  	  	  	writeln('Rownanie nie ma pierwiastkow rzeczywistych.');
  	  	readln;
  	end.

________________________________________

Nie tylko Pascal

y2 ? ? x¬1*x2 +?3