رویهها (Procedures)
ساخت زیربرنامه با procedure، پارامترها و تفکیک برنامه به بخشهای قابل استفاده مجدد.
تکرار ممنوع!
اگر قطعهای از کد را دوبار یا بیشتر مینویسید، باید آن را یک رویه (Procedure) کنید. رویه یک زیربرنامه با اسم است که یک کار مشخص انجام میدهد — مثل دستور آشپزی: یک بار مینویسید، هر بار استفاده میکنید.
ساختار
procedure اسم(پارامترها);
var
{ متغیرهای محلی }
begin
{ دستورات }
end;
اولین رویه
program Greet;
procedure SayHello;
begin
writeln('سلام!');
writeln('به برنامه ما خوش آمدید');
end;
begin
SayHello; { فراخوانی }
SayHello; { دوباره! }
end.
رویه با پارامتر
program Params;
procedure Greet(name: string);
begin
writeln('سلام ', name, '! خوش آمدی');
end;
begin
Greet('Ali');
Greet('Sara');
Greet('محمد');
end.
چند پارامتر
procedure PrintSum(a, b: integer);
begin
writeln(a, ' + ', b, ' = ', a + b);
end;
begin
PrintSum(3, 5);
PrintSum(10, 20);
end;
رویهها قبل از begin اصلی
در پاسکال، رویهها باید قبل از استفاده تعریف شوند — یعنی قبل از begin اصلی (یا قبل از رویهای که صدایش میزند):
program Order;
procedure A;
begin
writeln('A');
end;
procedure B;
begin
A; { ✅ چون A قبل از B تعریف شده }
writeln('B');
end;
begin
B;
end.
چرا رویه؟
- حذف تکرار: یک بار بنویس، چند بار صدا بزن
- سازماندهی: برنامه بزرگ = مجموعه رویههای کوچک
- خوانایی:
PrintReportبهتر از ۵۰ خط کد خام است - تست آسان: هر رویه را جداگانه تست کنید
مثال کامل: برنامه منظم
program Invoice;
procedure PrintHeader;
begin
writeln('=====================');
writeln('= فاکتور فروش =');
writeln('=====================');
end;
procedure PrintItem(name: string; qty, price: integer);
begin
writeln(name:12, qty:5, price:10, qty * price:12);
end;
procedure PrintFooter(total: integer);
begin
writeln('---------------------');
writeln('جمع کل: ', total);
end;
var total: integer;
begin
total := 0;
PrintHeader;
PrintItem('Laptop', 2, 25000000);
total := total + 2 * 25000000;
PrintItem('Mouse', 3, 350000);
total := total + 3 * 350000;
PrintFooter(total);
end.
خلاصه
- رویه = زیربرنامه با اسم برای کار مشخص
- با
procedure اسم(پارامترها)تعریف، بااسم(آرگومانها)فراخوانی - قبل از استفاده تعریف شود
- برنامه خوب = رویههای کوچک و معنادار
این مبحث بخشی از دوره آموزش کامل پاسکال است.