این محیط برنامه نویسی case-insensitive است یعنی بر حروف کوچک و بزرگ حساس است.
برای کامنت های چند خطی می توانید متن خود را درون '{' and '}' قرار دهید و یا (* and *) :
همچنین میتوان از استایل زبان C برای کامنت گذاری استفاده نمود:
ساختار کلی برنامه نویسی در این محیط بدین صورت است که بدن اصلی و بقولی تابع main مان در مکان statements قرار دارد.که قبل از آن می توان type ها،متغیرها و دیگر پروسیجر مورد نیازمان را تعریف نماییم
type definitions: می بایست Type ها و یا همان ساختاری که مورد نیازتان هست را تعریف نمایید که حتما باید از کلمه کلیدی type نیز استفاده نمایید مانند زیر:
constant declarations : در این بخش شما می بایست ثابت ها را همراه با نام آنها ومقادیرشان را بنویسید.در مثال زیر می توانید مشاهد کنید:
variable declarations :در این بخش شما متغییرهایتان را تعریف مینمایید که می بایست برای تعریف آنها از کلمه کلیدی var استفاده نمایید:
function and procedure declarations
Procedures ها زیر برنامه هایی هستند که مقدار خروجی ندارند وبطورکلی چیزی را برنمی گردانند.درمثال زیر دو پروسیجر نوشته شده است است که یکی از آنها بدون پارامتر ورودی و دیگری دارای دوپارامتر ورودی است:
و Functions ها زیر برنامه هایی هستند که مقداری را بعنوان خروجی باید برگردانند. Functions همانند پروسیجرها هستند ولی با این تفاوت که مقداری را باید بعنوان خروجی برگردانند.
همچنین می توان func هایی بصورت بازگشتی نوشت.همانند زیر که حالت فاکتوریل را پیاده سازی کرده ایم:
حالت زیر را درنظر بگیرید:
خوب همانطورکه میبینید پروسیجر a پروسیجر b را فراخوانی میکند و باز از درون پروسیجر b نیز پروسیجر a نیز فراخوانی میشود.که کامپایلر پیغام خطا میدهد که برای رفع این مشکل بصورت زیر عمل می کنیم:
که این تکنیک و حالت را forward references گویند.
برای کامنت های چند خطی می توانید متن خود را درون '{' and '}' قرار دهید و یا (* and *) :
(* this is also a comment *)
{ this is a comment }
{ this is a comment }
همچنین میتوان از استایل زبان C برای کامنت گذاری استفاده نمود:
// this is a single-line comment
/* this is also a multi-line comment */
/* this is also a multi-line comment */
ساختار کلی برنامه نویسی در این محیط بدین صورت است که بدن اصلی و بقولی تابع main مان در مکان statements قرار دارد.که قبل از آن می توان type ها،متغیرها و دیگر پروسیجر مورد نیازمان را تعریف نماییم
کد:
program programName;
type definitions;
constant declarations;
variable declarations;
function and procedure declarations;
begin
statements
end.
type definitions: می بایست Type ها و یا همان ساختاری که مورد نیازتان هست را تعریف نمایید که حتما باید از کلمه کلیدی type نیز استفاده نمایید مانند زیر:
کد:
program myOwnTypes;
type number = integer;
chessFieldType = array[1..8, 1..8] of integer;
chessElementType = record
positionRow, positionCol: integer;
elementType: integer;
end;
var element: chessElementType;
field: chessFieldType;
numberOfPlayers: number;
begin
end.
constant declarations : در این بخش شما می بایست ثابت ها را همراه با نام آنها ومقادیرشان را بنویسید.در مثال زیر می توانید مشاهد کنید:
کد:
program constantDeclarations;
const minutesInHour = 60;
hoursInDay = 24;
famousQuote = 'To be or not to be';
begin
end.
variable declarations :در این بخش شما متغییرهایتان را تعریف مینمایید که می بایست برای تعریف آنها از کلمه کلیدی var استفاده نمایید:
کد:
program variableDeclarations;
var index: integer;
field: array [1..15] of integer;
begin
for index := 1 to 15 do
field[index] := 10;
end.
function and procedure declarations
Procedures ها زیر برنامه هایی هستند که مقدار خروجی ندارند وبطورکلی چیزی را برنمی گردانند.درمثال زیر دو پروسیجر نوشته شده است است که یکی از آنها بدون پارامتر ورودی و دیگری دارای دوپارامتر ورودی است:
کد:
program procedureSample;
var n: integer; { this variable is visible in main
program block and in all functions
and procedures }
procedure noArgs;
begin
n := 5;
end;
procedure twoArgs(a: integer; b: string);
var len: integer; { this variable can be accessed only
from within the procedure and is
reinitialized every time that the
procedure is called }
begin
len := length(b);
n := a + len;
end;
begin
noArgs; { call the first procedure }
twoArgs(n, 'Some string'); { call the second procedure }
end.
و Functions ها زیر برنامه هایی هستند که مقداری را بعنوان خروجی باید برگردانند. Functions همانند پروسیجرها هستند ولی با این تفاوت که مقداری را باید بعنوان خروجی برگردانند.
کد:
program functionSample;
var result: integer;
{ this simple function always returns 5 }
function returnFive: integer;
begin
returnFive := 5;
end;
function multiply(a, b: integer): integer;
begin
multiply := a * b;
end;
begin
result := multiply(2, returnFive); { call the multiply function
where on argument is value
returned by calling the
other function }
end.
همچنین می توان func هایی بصورت بازگشتی نوشت.همانند زیر که حالت فاکتوریل را پیاده سازی کرده ایم:
کد:
program recursionSample;
var factorielOfFive: integer;
function factoriel(n: integer): integer;
begin
if n = 1 then
factoriel := 1;
else
factoriel := n * factoriel(n-1);
end;
begin
factorielOfFive := factoriel(5);
end.
حالت زیر را درنظر بگیرید:
کد:
procedure a (x: integer);
begin
...
b(x);
...
end;
procedure b(y: integer);
begin
...
a(y);
...
end;
begin
a(5);
end.
خوب همانطورکه میبینید پروسیجر a پروسیجر b را فراخوانی میکند و باز از درون پروسیجر b نیز پروسیجر a نیز فراخوانی میشود.که کامپایلر پیغام خطا میدهد که برای رفع این مشکل بصورت زیر عمل می کنیم:
کد:
procedure b(y:integer); forward;{ the forward reference tells
compiler that procedure 'b' will
be defined somewhere in the program code }
procedure a (x: integer);
begin
...
b(x);
...
end;
procedure b(y: integer);
begin
...
a(y);
...
end;
begin
a(5);
end.
که این تکنیک و حالت را forward references گویند.
معبودا مرا ببخش، بخاطر درهایی که کوبیدم ولی هیچکدام خانه تو نبود ...