Bizga ikki protsedura A va B berilgan bo’lib A protsedura B protseduraga murojaat qilsin va A ta’rifi B ta’rifidan oldin kelsin. Masalan: Procedure A (i : integer); begin V (i); Writeln(i); end; Procedure V (var j : integer) ;
begin
j:=j*2; end; Bunday ta’rif xatolikka olib keladi. CHunki A protsedura xali ta’riflanmagan protseduraga murojaat qilmokda. Bu holda B protsedurani quyidagicha oldindan e’lon kilish lozim: Procedure V (var j : integer); Forward; Procedure A (i : integer); begin V (i); Writeln(i); end; Procedure V (var j : integer) ; begin j:=j*2; end; Oldindan e’lon qilishda protsedura tanasi standart direktiva Forward bilan almashtiriladi.
Belgi va qatorlar bilan ishlash maxsus funksiyalari Paskal tilida bir qancha maxsus protsedura va funksiyalar mavjud bo’lib, ular quyidagi guruhlarga bo’linadi: -qatorni qayta ishlash; -fayllar bilan ishlash; -dinamik o’zgaruvchilar uchun xotirani boshqarish; -arifmetik funksiyalar; -ekran bilan ishlash. Ularning ayrimlarini ko’rib chiqamiz: Halt- dasturni bajarishdan to’xtatish; Odd(i)- I-toq bo’lsa “True” aks holda “False” qiymat oladi; Edit- bajarilayotgan blokdan chiqish; Random- 0 dan 1 gacha bo’lgan sonni tasoddifan olish; Int(x)- sonning butun qismini olish; Frac(x)- sonning kasr qismini olish; Round(x)- berilgan sonni yaxlitlab butun olish; GotoXY(x,y)- kursorni ko’rsatilgan joyga qo’yish; ClrScr- ekranni tozalab, kursorni ekran boshiga qo’yish; Trunc- argumentning butun qismi: