TAHA
11-11-2009, 12:05 AM
مثال 1:
Pascal program
خروجی
Write('Pascal ');
Write('program');
مثال 2:
Pascal
program
خروجی
Writeln ('Pascal');
Writeln)'program') ;
به طور کلی دستور چاپ سه حالت می تواند داشته باشد :
1. داده های ثابت را چاپ کنید .
Write ('Pascal ');
2. نتیجه یک عبارت را چاپ کند .
Write (10+10);
3. مقدار ذخیره شده در یک متغییر را چاپ کند .
Z: = 10+2 Write (Z);
یا
D: = 5 Write (D);
نکته :
در دستور چاپ اگر بخواهیم خروجی از آخرین عبارت چاپ شده باچند کاراکتر فاصله چاپ شود به صورت زیر عمل می کنیم:
Write (،خروجی فاصله خروجی از سمت چپ تعداد ارقام بعد ممیز، );
این عمل جهت جلوگیری از تداخل و گذاشتن فاصله بین خروجی ها انجام می شود.
مثال :
a: 92.35678
Write (a: 4:2);
خروجی: ----92.35
دستورات جایگزینی
1- داده های ثابت در متغییری ذخیره می شوند .
X:=3.14
2-مقدار یک متغییررا در متغییر دیگر ذخیره می کند .
نکته :همیشه مقدار سمت راست در متغییر سمت چپ ذخیره می شود .
A: =x
A: =x یعنی مقدار متغییر x در متغییر Aقرار گیرد
3- مقدار یک عبارت محاسباتی را در یک متغییر ذخیره می کند .
Z: = 10+2
مثال 1:
برنامه ای که 2 عدد صحیح را از ورودی خوانده و حاصل جمع و حاصل تقسیم را محاسبه کند؟
Program EXAMPL1;
Var
n1, n2: integer;
a1, a2: real;
Begin
Readln (n1, n2);
a1:=n1+n2;
Writeln (a1) ;{{ حاصل جمع
a2:=n1/n2;
Writeln (a2) ;{ حاصل تقسیم}
End.
مثال 2:
1- ابتدا بزرگترین مشکل مثال بالا را پیدا کنید ؟
2- مثال را طوری بنویسید که در هنگام اجرا متنی بنویسید که اعداد صحیح را وارد کنید و نیز در مقابل خروجی بنویسید که کدام خروجی مربوط به حاصل جمع است و کدام خروجی مر بوط به حاصل تقسیم است؟
جواب:
1- وقتی در این حالت بر نامه را اجرا می کنید خروجی را نخواهید دید ولی می توان متغییر از نوع کاراکتر در قسمت Var تعریف کنیم و در پایان بهend پایانی مانده دستورread(s);را قرار می دهیم تا کامپیوتر منتظر بماند شما یک کلید را به عنوان ورودی را وارد کنید و این باعث می شود شما خروجی بر نامه را تا هنگامی که کلید ی فشار ندادید ببینید.
نکته :
به جای تعریف یک متغییر از نوع charو در پایان read کردن آن می توانیم تنها از Readln خالی در پایان بر نامه استفاده کنیم .
2-
Program EXAMPL2;
Var
n1, n2: integer;
S: char;
Begin
Writeln (2عدد صحیح را وارد کنید );
Readln (n1, n2);
Writeln ('n1+n2', n1+n2);
Writeln ('n1/n2', n1/n2);
Read;
End.
نکته :
الزامی وجود ندارد که یک بر نامه پاسکال هم از دستور ورودی و هم از دستور خروجی استفاده کند اگر چه بیشر برنامه ها این گونه هستند زیرا اکثر بر نامه ها داده های ورودی را در یافت می کنند ودر زمان اجرا٬ اطلاعات خروجی تولید می کنند.
مثال3:
بر نامه ای بنویسید مقدار دو متغییر a=3 وb=1 را جا بجا کند ؟
Program EXAMPL2;
Var
n1, n2, temp: integer; {وظیفه نگهداری موقت داده ها temp}
Begin
a:=3;
b:=1;
Temp: = a;
a:=b;
b:=temp;
Writeln ('a=', a),
Writeln ('b=', b);
Readln;
End.
دلیل استفاده از متغییر temp این است هنگامی که مقدار جدید را به متغییر ی واردمی کنیم ٬محتویات متغییرقبلی ازبین می رودومقدارجدیدجایگزین می شود برای جلوگیری از این عمل ٬باید مقدار اولیه را در متغییر دیگری ذخیره کنیم
Pascal program
خروجی
Write('Pascal ');
Write('program');
مثال 2:
Pascal
program
خروجی
Writeln ('Pascal');
Writeln)'program') ;
به طور کلی دستور چاپ سه حالت می تواند داشته باشد :
1. داده های ثابت را چاپ کنید .
Write ('Pascal ');
2. نتیجه یک عبارت را چاپ کند .
Write (10+10);
3. مقدار ذخیره شده در یک متغییر را چاپ کند .
Z: = 10+2 Write (Z);
یا
D: = 5 Write (D);
نکته :
در دستور چاپ اگر بخواهیم خروجی از آخرین عبارت چاپ شده باچند کاراکتر فاصله چاپ شود به صورت زیر عمل می کنیم:
Write (،خروجی فاصله خروجی از سمت چپ تعداد ارقام بعد ممیز، );
این عمل جهت جلوگیری از تداخل و گذاشتن فاصله بین خروجی ها انجام می شود.
مثال :
a: 92.35678
Write (a: 4:2);
خروجی: ----92.35
دستورات جایگزینی
1- داده های ثابت در متغییری ذخیره می شوند .
X:=3.14
2-مقدار یک متغییررا در متغییر دیگر ذخیره می کند .
نکته :همیشه مقدار سمت راست در متغییر سمت چپ ذخیره می شود .
A: =x
A: =x یعنی مقدار متغییر x در متغییر Aقرار گیرد
3- مقدار یک عبارت محاسباتی را در یک متغییر ذخیره می کند .
Z: = 10+2
مثال 1:
برنامه ای که 2 عدد صحیح را از ورودی خوانده و حاصل جمع و حاصل تقسیم را محاسبه کند؟
Program EXAMPL1;
Var
n1, n2: integer;
a1, a2: real;
Begin
Readln (n1, n2);
a1:=n1+n2;
Writeln (a1) ;{{ حاصل جمع
a2:=n1/n2;
Writeln (a2) ;{ حاصل تقسیم}
End.
مثال 2:
1- ابتدا بزرگترین مشکل مثال بالا را پیدا کنید ؟
2- مثال را طوری بنویسید که در هنگام اجرا متنی بنویسید که اعداد صحیح را وارد کنید و نیز در مقابل خروجی بنویسید که کدام خروجی مربوط به حاصل جمع است و کدام خروجی مر بوط به حاصل تقسیم است؟
جواب:
1- وقتی در این حالت بر نامه را اجرا می کنید خروجی را نخواهید دید ولی می توان متغییر از نوع کاراکتر در قسمت Var تعریف کنیم و در پایان بهend پایانی مانده دستورread(s);را قرار می دهیم تا کامپیوتر منتظر بماند شما یک کلید را به عنوان ورودی را وارد کنید و این باعث می شود شما خروجی بر نامه را تا هنگامی که کلید ی فشار ندادید ببینید.
نکته :
به جای تعریف یک متغییر از نوع charو در پایان read کردن آن می توانیم تنها از Readln خالی در پایان بر نامه استفاده کنیم .
2-
Program EXAMPL2;
Var
n1, n2: integer;
S: char;
Begin
Writeln (2عدد صحیح را وارد کنید );
Readln (n1, n2);
Writeln ('n1+n2', n1+n2);
Writeln ('n1/n2', n1/n2);
Read;
End.
نکته :
الزامی وجود ندارد که یک بر نامه پاسکال هم از دستور ورودی و هم از دستور خروجی استفاده کند اگر چه بیشر برنامه ها این گونه هستند زیرا اکثر بر نامه ها داده های ورودی را در یافت می کنند ودر زمان اجرا٬ اطلاعات خروجی تولید می کنند.
مثال3:
بر نامه ای بنویسید مقدار دو متغییر a=3 وb=1 را جا بجا کند ؟
Program EXAMPL2;
Var
n1, n2, temp: integer; {وظیفه نگهداری موقت داده ها temp}
Begin
a:=3;
b:=1;
Temp: = a;
a:=b;
b:=temp;
Writeln ('a=', a),
Writeln ('b=', b);
Readln;
End.
دلیل استفاده از متغییر temp این است هنگامی که مقدار جدید را به متغییر ی واردمی کنیم ٬محتویات متغییرقبلی ازبین می رودومقدارجدیدجایگزین می شود برای جلوگیری از این عمل ٬باید مقدار اولیه را در متغییر دیگری ذخیره کنیم