پردازه‌ها و توابع

پاسکال برنامه‌ها را به توابع و پردازه‌ها شکل دهی می‌کند.

program mine(output);
 
var i : integer;
 
procedure print(var j: integer);
 
  function next(k: integer): integer;
  begin
    next :ه ا= k + 1
  end;
 
begin
  writeln('The total is: ', j);
  j := next(j)
end;
 
begin
  i := 1;
  while i <= 10 do print(i)
end.

پردازه‌ها و توابع می‌توانند تا هر عمقی به صورت تودرتو باشند و ساختار برنامه به صورت منطقی، بیرونی‌ترین بلوک در نظر گرفته می‌شود. هر پردازه یا تابع می‌تواند اعلان‌های خودش برای برچسب‌های goto، ثوابت، تایپ ها، متغیرها و دیگر پردازه‌ها و توابع را داشته باشد که همگی باید در آن دسته قرار گیرند. این ملزومات ترتیبی، در اصل به قصد اجازه به کامپایل یک طرفه کارآمد بود. با این حال در بعضی نسخه ها، ملزومات الزامی ترتیبی قسمت اعلان ها، مورد نیاز نمی‌باشد.