X
تبلیغات
آموزش پاسکال - آموزش پاسکال
آموزش پاسکال از مبتدی تا پیش رفته

معدل 10 دانشجو را دریافت شاگرد اول تا سوم همراه با مکان آ نها در آرایه نمایش دهد.

پاسخ :

ابتدا سه آرایه تعریف می کنیم .آرایه 10 خانه ای a معدل دانشجو یان را در بر دارد .

آرایه 3 خانه ای b مکان شاگرد اول تا سوم را در خود ذخیره می کند.

آرایه 3 خانه ای c شاگرد اول تا سوم را در خود نگهداری می کند.

Program tamrin;

Var

a:array [1..10] of real;

b: array [1..3] of byte;

c:array [1..3] of real;

i,n:integer;

Max:real;

S:char;

Begin

Writeln(‘وارد کنید نمرات 10 دانشجو را؟”);

For i:=1 to 10 do

 Begin

  Write(‘enter’,i:2,’: ‘ );

Readln(a[i]);

End;

For n:=1 to 3 do

Begin

Max:=0;

For i:=1 to 10 do

Begin

If a[i]>max then begin

Max :=a[i];

b[n]:=i;

c[n]:=max;

    End;

End;

a[b[n]]:=0;

End;

Writeln;

For   i:=1 to 3 do

Begin

Write(‘a(‘,b[i],’)’);

Write(‘--->  ‘,c[i]:3:2);

Writeln;

End;

Read(s);

End.

 

نوشته شده توسط پیراهنیان در ساعت 2:32 | لینک  | 

سلام
توربور پاسکال 7 روی ویندوز ایکس پی اجرا می شود و باهاش کار میکردیم ولی  روی ویستا من ندیدم کسی نصب کرده باشه و  روی سیستم عامل 64 بیتی  نصب نمیشه چون این نرم افزار خیلی قدیمی هست و زمانی که ساخته شد برمیگرده به اوایل  سال 1970 که هنوز سیستم عاملی طراحی نشده بود.این زبان در واقع نسل جدید زبان ALGOLمی باشد .می توان گفت زبان های جدید تری چون ADA, MODULA2  برگرفته از سبک وساختار PASCALمیباشد تاریخ پیدایش PASCALبدون بررسی تاریخچه ALGOLناقص خواهد بود.

نوشته شده توسط پیراهنیان در ساعت 13:53 | لینک  | 

تمریناتی  درمورد روال procedureو تابعfunction

1.     سه عدد را خوانده و ماکزیمم آنها را باfunction بنویسید.

2.     سه عدد را خوانده و ماکزیمم آنها را باprocedureبنویسید.

3.  فرض کنید در یک فروشگاه یک4 نوع جنس با عناوینa,b,c,d, باقیت به ترتیب 25و20و12و5ریال موجود می باشد بر نامه ای بنویسید هر جنس با تعداد آن را در یافت قیمت نهایی را اعلام نماید شرط اتمام بر نامه وارد کردن حرفe باشد.

4.     به طور کلی تفاوت روال و تابع  در چیست؟

5.     خروجی تابع زیر اگر n=40باشد چه مقداری است؟

6.      

Function  ad (n: byte):word;

Begin

If n=1 then

Ad: =1

Else

Ad: =ad (n-1) +n;

End;

پاسخ سوالات تشریحی

1)                   

Program t1;

Var

a,b,c :integer;

Function max (a,b,c: integer): integer;

Var

m: integer;

Begin

m:=a;

if b>m then  m:=b;

if c>m  then  m:=c;

max:=m ;

End;

Begin

Write ('please enter a, b, c :');

Readln (a ,b ,c);

 Write (max(a ,b ,c));

Readln;

End.

2)                  

Program t1;

Var

a, b, c, m :integer;

Procedure    Max (a, b, c: integer; Var m: integer);

Begin

m: =a;

If b>m then m: =b;

If c>m then m: =c;

End;

Write ('please enter a, b, c :');

Readln (a, b, c);

Max (a, b ,c ,m);

Write (m);

Readln;

End.

3)                  

Program t3;

Label 10;

Var

Ch: char;

n, sum :integer;

Function    call (ch: char; n: integer): integer;

Begin

Case ch of

'a', 'A': call:=n*5;

'b', 'B' : call:=n*12;

'c', 'C' : call:= n*20;

'd', 'D' : call:=n*25;

End;

End;

Begin

Writeln;

Writeln ('**** enter "E" to exit ****');

Sum: =0;

While true do

Begin

Write ('enter kind of (a, b, c, d) :');

Readln ( ch );

If (ch='e') or (ch='E') then goto 10;

Write ('enter numbers :');

Readln (n);

Sum:=sum+ call( ch , n);

End;

10:write('pay =' , sum);

Readln;

End.

4)                 

به طور کلی تفاوت روال و تابع  در نحوه فراخوانی آنهااست.

5)       این برنامه مقدارزيگما i ازi=1تا n=40 را محاسبه می کند می دانیم این مجموع برابر است با

n(n+1)/2

بنابراین داریم :

n=40        ,      40(40+1)/2=820 

خروجی 820است .

 

نوشته شده توسط پیراهنیان در ساعت 19:45 | لینک  | 

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

تعریف روال در پاسکال

برا ی تعریف روال حداقل دو چیز نیاز داریم:

1.     نام روال

2.     یک بلاک کد

تفاوت بین روال و تابع عبارتند از:

1.  فراخوانی یک روال به صورت دستوالعمل مستقل می باشد ولی فراخوانی یک تابع بایستی قسمتی از یک عبارت باشند به عبارت دیگر توابع مشابه متغیر ها می باشندکه مقدارآنها بستگی به پارامتر های انتقال داده شده به آنها دارد.

2.     ازروال نمیتوان دردستورهای جایگزینی ومقایسه ای وعبارتهای حسابی استفاده کرد.

3.  یک روال می تواندیک متغیری رابرگشت داده وسپس می توان ازآن درمتغیربه صورت عبارت های حسابی استفاده کرد.زمانی که نیازبه یک نتیجه مشخص معینی داشته باشیم  معمولا از توابع استفاده می کنیم .یک پروسیجر به جای بر گشت دادن یک نتیجه مشخص و معین عملیاتی را انجام می دهد که ممکن است چند نتیجه را برگشت دهد یا هیچ نتیجه ای را بر گشت ندهد.

 

نوشته شده توسط پیراهنیان در ساعت 19:34 | لینک  | 

مقادیر ومتغیر ها در لیست پارامتر ها

  

وقتی در جلوی پارامتر ها Var   قرار می دهیم با مراجعه به نام این پارامتر ها می توان آنرا به سابروتین وارد کرد و یا نتیجه گرفت . ولی در صورتیکه جلوی پارامتری Var قرار ندهیم ،مقدار آن پارامتر مورد نظر خواهدبود در حالت اول کامپیوتر محلی برای متغیر در نظر می گیریدو هر بار به آن محل مراجع می کند و محتوای آنرا انتقال می دهد . و این محتوا داخل و خارج برنامه قابل استفاده است .در حالت دوم کامپیووتر یک کپی از مقدار متغیر را به سابروتین می برد ومحلی را برای آن در نظر نمی گیردکه به تواند حاصل تغییر به بر نامه اصلی باز گردئد .تغییرات داخل سابروتین نیز روی کپی متغیر انجام می شود.بنابر این هر گاه تغییرات متغییری در داخل سابروتین مورد نظر مانیست آنرا بدون Var  قرار می دهیم.

معرفی قبلی سابروتین ها

 

گاه اتفاق می افتد که یک سابروتین در بر نامه سابروتین دیگری را فرا مکی خواند. از آنجا که قبل از تعریف هیچ عاملی نمی توان از آن استفاده کرد سابروتین فرا خوانده شده باید قبلا معرفی شده باشد حال اگر قرار باشد گاه سابروتین 2 را فرا خواند و گاه سابروتین 1 را ،در اینجا اشکالی بوجود می آید . به شکل زیر توجه نمائید.

 

 

Procedure   test1 (some: integer);

Begin

If     some<10 then      test2 ('y');

{………..etc.}

Procedure   test2 (another parameter: char);

Begin

test1 (15);

{………..etc.}

End;

این اشکال به این صورت رفع می شود که از کلمه forward استفاده کرده سابروتین دوم را قبلا معرفی می کنیم گر چه سابروتین دومی به تفضیل شرح داده شده ولی معرفی آن قبا از سابروتین  1 مشکل را رفع می کند به بر نامه زیر توجه کنید :

Program test;

Var

A, b, c, x, y, z: integer;

Procedure   proc (Var   a, b: integer; c: integer);

Forward;

Procedure   proc2;

BEGIN

Clrscr ;

Readln(x);

Proc(x, y, z);

Writeln(x: 10, Y: 10);

End;

Procedure proc2 (Var A, B: Integer; c: Integer);

Begin

Writeln (A: 10);

B: =A*A*A;

C: =100;

END;

{*******************************}

Begin

Proc1;

End.

مثال

1.برنامه فاکتوریل را با procedure بنویسید.

Program t1;

Var

N: Integer;

M: Longint;

Procedure     fact (n :integer ; Var f: Longint);

Var

I: byte;

Begin

F: =1;

For   I: =1 to n do

     F: =F*I;

End;

Begin

Write ("please enter n:");

Readln (n);

Fact (n, m);

Write (m);

Readln;

End.

2. برنامه فاکتوریل را با Function بنویسید.

 

Program t2;

Var

N: Integer;

K: real;

Function   fact (n: integer) Longint;

Var

I: byte;

f: Longint

Begin

F: =1;

For   I: =1 to n do

     F: =F*I;

Fact: =F;

End;

Begin

Write ("please enter n:");

Readln (n);

Write (Fact (n));

Readln;

End.

نوشته شده توسط پیراهنیان در ساعت 19:32 | لینک  | 

توابع و پردازه هاPROCEDURES  &  FUNCTIONS 

 

پردازه و تابع دو نوع متفاوت از بر نامه های فرعی(زیر بر نامه ها) می باشند . تفاوت تابع با سابروتین آن است که یک مقدار را به بر نامه باز می گرداند , در حالی که پردازه چند مقدار را می تواند منتقل سازد . هر دو نوع می توانند شامل  انواع ثابت و متغیر داده ها , پردازه ها و توابع باشند . اینها ایه بر نامه ریزی ساختاری هستند .

از محاسن وجود این دو نوع بر نامه فرعی موارد زیر را می توان بر شمرد .

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

2.     تست بر نامه جزء جزء انجام می شود . هر بخش را جداگانه می توان برسی نمود .

3.     در ک مسئله و اعمال تغیرات روی آن بسیار ساده تر می شود.

4.  بساری از دستورات پاسکال که دستور العمل نامیده ایم در اصل پر دازه ها و تابع هایی هستند که بافر اخوانی آنها عمل را انجام می دهند. از آن جمله  پر دازه WRITELNکه متغیر های خودرابه دستورالعملهای خروجی و یابه فایل های موردنظرمی فرستد.همچنین تابعsucc( ) که عدد 6 را پس از انجام عملیات داخلی به خودگرفته وبه برنامه بازمی گرداند.

دامنه انتقال متغییر ها در رابطه باپردازه و تابع

دو نوع متغیر در رابطه باپردازه ها وتوابع وجود دارد :

1.     داده های فراگیر یا global

2.     داده های محلی local

داده های محلی LOCAL

داده های فراگیر که در بالا ترین سطح بر نامه معرفی می شود در همه بر نامه های فرعی نیز دیده می شود.متغیر هایی که در داخل سابروتین ها تعریف می شوند محلی هستند و تغییرات آنها به خارج از سابروتین نفوذ نمی کند .

معرفی متغیر ها در پردازه و تابع

متغیر ها در قبل از اینکه بتوانند به کار روند باید معرفی کرد .به همین دلیل داده های فراگیر راباید قبل از همه در خط های اولیه معرفی کرد .همچنان ,سابروتین ها در قبل از اینکه فراخوانده شوند باید معرفی کرد.

چگونگی تعریف پر دازه ها و توابع

 

پردازه و توابع را باید پس از Varوقبل از بر نامه اصلی معرفی کرد معرفی هر پردازه یا تابع , اطلاعات زیر را شامل می باشد:

1.     نام پر دازه که تابع ضوابط نام گذاری در تربو اسکال است.

2.  نام پارامتر ها ونوع آنها هرقلم از اطلاعات که باید به بر نامه ها وارد شود, وهر اطلاعاتی که پس از پردازش از بر نامه صادر شود , باید در داخل پرانتز جلوی نام سابروتین آورده می شود.

3.  در داخل پرانتز پارامترها می تواننند مقادیر باشندیا پارامتر های متغیری باشندکه قبل از آنها Var می آید . چنین پامتر هایی در داخل سابروتین تغییر کرده وتغییرات آن به خارج نفوذ می نماید.

4.  در مورد تابع پس از پرانتز نوع اطلاعات باز گشتی به بر نامه اصلی که تحت نام خود تابع می باتشد , معرفی می گردد.نوع تابع لزوما" نباید با نوع رانتز آن یک باشدگرچه مثلا"  تابع  succ( )  همان نوعی از اطلاعات را برگشت می دهد که بکار می برد.

عبور وانتقال اطلاعات از پردازه هاوتوابع

 

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

برای انتقال اطلاعات به سابروتین و بر عکس لیست پارامتر ها را جلوی نام سابروتین داخل پرانتز قرار می دهم. لیست پارامتر ها شامل نام متغیر ها ونوع آنها می باشد . در زمان فراخوانی سابروتین هانیز در بر نامه اقلامی از دادهخ ها را که می خواهیم،داخل پرانتز قرار می دهیم.

نکاتی که باید در تهیه لیست پارامتر ها در نظر گرفت:

1.     باید دید چه پارامتر هایی مورد نیاز است .

2.  در نظر گرفت کدام مقادیر باید به سابروتین داده شود . در جلوی این پارامتر ها باید کلمه Var  ر ا قرار داد.

3.     پارامتر هارا بایدنظم داد به تر تیبی که موقع فراخوانی نیز همان نظم را داشته باشد .

4.     ترتیب و نوع پارامتر ها با اقلامی که موقع فراخوانی بکار می رود باید یکسان باشد.

نوشته شده توسط پیراهنیان در ساعت 19:16 | لینک  | 

سوالاتی  درمورد دستورات کنترلی وشرطی 

1)    اعداد صحیح و مثبت n ,m   را خوانده m  را به توان n  بر سانید ؟

2)    بر نامه ای بنویسید که یک عدد صحیح و مثبت دریافت کند  و اعداد اول 1 تا n را نمایش دهد ؟

3)  برنامه ای بنویسید سه عدد از ورودی دریافت کند و maxآنها را در خروجی چاپ کند؟(بدون متغیر کمکی )

4)  برنامه اي بنویسید كه دو عدد را از ورودي دريافت و چنانچه عدد اول در بازه 0 تا 5 بود توان دوم عدد دوم را چاپ كند چنانچه 68 بود حاصلضرب دو عدد را چاپ كندو در غير اینصورت مقادیر مجاز را چاپ كند.(با دستورif)

5)    عدد صحیح و مثبت n را دریافت و فاکتور یل آن را در خروجی چاپ کند ؟

6)    مجموع اعداد زوج سه رقمی را محاسبه و چاپ نماید ؟

7)    برنامه ای بنویسید که توان دوم اعداد 100 تا 200 را چاپ كند؟

8)    برنامه اي بنويسيد كه اعداد 100..1 را چاپ كند؟

پاسخ ها

۱)

Program   t1;

Var

I, m, n: integer;

S: char;

P: Longint;

Begin

Writeln ('please enter m, n :);

Read (m, n);

Power: =1;

For a: =1   to n do

 Power: = power*m;

Write ('power=', power);

Readln(s);

End.

به توان رساندن یعنی مقدار پایه را به  تعداد توانش , در  خود ضرب نماییم یعنی m را n بار در خودش ضرب کنیم پس یک حلقه درست می نماییم که از یک تا n ادامه داشته باشد و در داخل حلقه m را د ر خودش ضرب می کنیم بعد از اتمام حلقه m  , n مرتبه در خودش ضرب  شده است  

1)     

 

Program t2;

Lable10;

Var

n,m,a: longint;

s: char;

Begin

Write('Please Enter n: ');

Readln(n);

For m:=1    to   n   do

Begin

            a:=2;

While  a<=m/2   do

Begin

      If ( m  mod  a=0 ) then goto 10;

      a:=a+1;

end;

     Write(m,' ');

10: end;

Read(s);

End.

 

2)     

  Program EXAMPL3;

        Var

             a, b , c: integer;

       Begin

             Readln (a, b, c);

                If a>b then

                     If a>c then

                         Write (a)

                     Else

                          Write(c)

               Else

                      If b>c then

                            Write (b)

                       Else

                             Write(c);

     End.

 

3)     

Program EXAMPL4;

Var

a, b: integer;

Begin
Writeln('enter 2 number');
Readln(a , b);
If (a>=0)and(a<=5) then
Writeln(b*b)
Else
If a=68 then
Writeln(a*b)
Else
Writeln('enter 0..5 or68');
End.

5)

Program EXAMPL5;

Var

A , n: integer;

Fact: Longint;

BEGIN

Repeat
WRITELN ('ENTER n :');
READLN (n);

Until    n>0;

Fact: =1;

For    a: =1   to n   do

 Fact: = fact*a;


WRITELN ('fact=', fact);

Readln;
END .

6)

 

Program EXAMPL6;

Var

n, B: integer;

Sum: Longint;

Begin

Sum: =0;

N:=100;

While    n<= 998     do

Begin

Sum: = sum+ n;

n:=n+2;

end;

write('sum=' ,sum);

Readln;
End.

7)

Program EXAMPL7;

Var

i: integer;

Begin
For i: =100 to 200 do
Begin
Writeln (i*i);
end;

End.

8)

Program EXAMPL8;

Var

i: integer;

Begin
I:=1;
While i<=100 do
Begin
Write(i);

I:=i+1;
End;

نوشته شده توسط پیراهنیان در ساعت 18:6 | لینک  | 

جملات شر طی را می توانیم به 3حالت های مطرح کنیم :

1)    جمله شرطی می تواند از یک مقایسه مستقیم باشد

2)    جمله شرطی می تواند شامل محاسبات باشد

3)    جمله شرطی می تواند شامل چندین شرط باشد

دستورات شرطی

1)    دستور If……….Then………..else  

2)    دستور case ………of 

3)    دستورgoto

دستورات کنترلی

1.     دستور حلقهfor………do

2.     حلقه while-do

3.     حلقه Repeat-Until

دستورcontinue :

این دستور در حلقه های for ,  while و یا Repeat  به کار می رود . هنگامی که به این دستور می رسیم , به ابتدای  حلقه پرش می کنیم .

دستور break:

این دستور نیز همواره در یکی از حلقه های  for ,whileو یا Repeat به کار می رود . این باعث می شود که در داخل حلقه پرش نمود و اجرای حلقه به طور کامل , خاتمه یابد .

نکته:

 Longint: برای عداد بزر گتر  و نشانه دار 4 بایت است .

Integer: می تواند حد اکثر 2 بایت اشغال کند.
نوشته شده توسط پیراهنیان در ساعت 18:3 | لینک  | 

دستور label :

این د ستور در قسمت تعاریف بر نامه قرار می گیرد و وظیفه آن معرفی بر چسب های به کار رفته  د ر  بر نامه است .

Label     ......و بر چسب دوم و بر چسب اول

دستور   Goto:

ای دستور , کنترل بر نامه  را به  خطی  که بر چسب  آن مقابل  دستور goto  نوشته  شده  است  منتقل می گر داند.

Goto بر چسب مر بوطه   ;

هدف کلی:

گاهی در حین انجام یک بر نامه لازم است از یک سطر بر نامه به یک سطر دیگر که دستور خاصی در آن سطر قرار دارد ,پرش  کنیم . این پرش توسط دستور goto انجام می گیرد .اما برای اینکه  به مکانی رش کنیم ,باید آن مکان دارای اسم یا آدرس باشد , این اسم یا در اصطلاح بر چسب توسط دستور label معرفی می گردد.  

مثال11:

بر نامه ای بنویسید که یک عدد صحیح و مثبت دریافت کند  و اعداد اول 1 تا n را نمایش دهد .

Program EXAMPL11 ;

Lable10;

Var

n, m, a: Longint;

s: char;

Begin

Write ('Please Enter n: ');

Readln (n);

For m:=1    to   n   do

Begin

            a:=2;

While a<=m/2   do

Begin

      If (m mod a=0) then goto 10;

      a:=a+1;

End;

     Write (m,' ');

10: end;

Read(s);

End.

همانطور که مشاهده می نمایید بر چسب 10, توسط دستور label    معرفی می شود .

دستور Exit :

سبب خروج از  بلاک جاری (بلاک در حال اجرا)می شود . اگر بر نامه شامل چند بلاک باشد از بلاک جاری خارج می شود .

تابع Halt:

به اجرای بر نامه خاتمه می دهد . 

دستورcontinue :

این دستور در حلقه های for ,  while و یا Repeat  به کار می رود . هنگامی که به این دستور می رسیم , به ابتدای  حلقه پرش می کنیم .

مثال12:

فر ض کنید حلقه ای داریم که متغیر شمارنده  آن از 50 تا 150 را شمارش می کند می خواهیم اعدادی که در این فاصله  هستند و بر عدد 3 بخش پذیرند , چا گردند .

Program EXAMPL12;

Var

a: integer;

Begin

For   a: =50 to 150 do

Begin

If (a mod 3 <>0) then continue;

Write (a: 5);

End;

End.

دستور break:

این دستور نیز همواره در یکی از حلقه های  for ,whileو یا Repeat به کار می رود . این باعث می شود که در داخل حلقه پرش نمود و اجرای حلقه به طور کامل , خاتمه یابد .

مثال13:

خروجی برنامه زیر چیست ؟

Program   EXAMPL13;

Var

S: string;

Begin

While   true do begin

Readln (S);

If   S='exit'    then break;

Writeln(S);

End;

Write ('good by ');

End.

جواب

حلق بی نهایتی داریم که در داخل آن یک عبارت رشته ای در یافت می شود  و اگر عبارت رشته ای معادل 'exit ' باشد , بر نامه  خاتمه می پذیرد و در غیر این صورت عبارت رشته ای در خروجی نمایش داده می شود .
نوشته شده توسط پیراهنیان در ساعت 18:2 | لینک  | 

حلقه Repeat-Until

دستور Repeat-Until یکی دیگر از دستور کنترلی تکراری است که برای اجرای حلقه تکرار شرطی این دستور یبکار می رود.این دستور شبیه دستور While-Do است و از بعضی جهات این دو دستوزر  کنترلی مکمل یک دیگر هستند.

 دستور Repeat-Until  به صورت کلی زیر است :

Repeat دستور یا دستورات until شرط

توجه: دنباله دستورات بین Repeatو until همیشه دست کم یک بار اجرا می شود زیرا عبارت  شرطی تنها در پایان این دستور کنتر لی آزمایش می شود , که بر خلاف دستور While-Do است که در آن عبارت Boolean ( شرطی ) در آغاز دستور کنترلی آزمایش می شود ( اگر عبارت شرطی از همان ابتدا نادرست باشد , دستور While-Do اصلا اجرا نمی شود ) و بدین دلیل به حلقه Repeat-Until  حلقه بی نهایت نیز می گویند و حلقه Repeat-Until  نیاز به Begin و End ندارد اگر شرط مقابل Until  درست نباشد حلقه تکرار خواهد شد پس پایان حلقه درست بودن شرط است مزیت این حلقه نسبت به حلقه های دیگر بی نهایت بودنش است.

مثال10:

برنامه ای بنویسید بی  نهایت عدد را از ورودی خوانده و مجمو ع معدل را محاسبه و چاپ نماید اتمام بر نامه زمانی است که عدد صفر وارد گردد.

Program EXAMPL10 ;

Var

a, sum, ave: real;

n : integer;

s:char;

Begin

Sum:=0;

n:= -1;

Repeat

           Write ('Enter Number :');

           Readln (a);

           Sum: = sum + a;

           n:=n+1;

Until a=0;

ave:=sum/n;

Writeln ('sum=', sum: 1:2);

Write ('ave =', ave: 1:2);

Read(s);

End.

نکته:

مقدار اولیه n  برابر1ــ می باشد و آن بدین علت است که  عدد صفر منجر به اتمام حلقه می باشد , به عنوان یک ورودی شمرده  می شود ودر معدل تاثیر خواهد گذاشت در صورتیکه ما نمی خواهیم عدد صفر رات به عنوان یک ورودی داشته باشیم . لذا مقدار اولیه n   را 1ــ  معرفی می نماییم تا صفر به عنوان اعداد خوانده شده,در نظر گرفته نشود.

نوشته شده توسط پیراهنیان در ساعت 17:58 | لینک  | 

2 ) حلقهWhile-Do

دستور While-Do   یک دستور کنترلی تکراری است که برای اجرای حلقه تکرار شرطی بکار می رود.

این دسور به صورت کلی زیر است

While  شرط  Do  دستورات  

در حلقه While –Do قبل از اجرای بلاک برنامه عبارت شرطی مورد تست قرار می گیرد

 اگرعبارت شرطی نادرست باشد بلاک بعد از حلقه اجرا نخواهد شد بدین ترتیب ممکن است این حلقه هیچگاه اجرا نشود.

اگر عبارت شرطی درست باشد بخش دستور به صورت مکرر اجرا می شود تا وقتی که ارزش عبارت شرطی نادرست باشد اگر بیش از چند دستور بخواهیم در حلقه بکار گیریم باید از Beginو End استفاده کنیم . 

مثال 9:

یک عدد صحیح و مثبت در یافت و در صورتیکه ورودی عدد کامل بود پاسخ  مثبت دهد ؟

Program EXAMPL9;

Var

n, a, sum: Longint;

s: char;

Begin

Write ('Please Enter n: ');

Readln (n);

Sum: =0;

a:=1;

While a<=n/2 do

Begin

            If (n mod a=0) then sum:=sum + a;

            a:=a+1;

End;

If n=sum then Write ('YES')

     Else Write ('NO');

Read(S);

End.

توضیح:

عددی کامل است که با مجموع مقسوم علیه های کوچکتر از خودش ,برابر باشد.

به عنوان نمونه    6=1+2+3

بر ای بدست آوردن مجموع مقسوم علیه ها کافی است , هر بار که فهمیدیم که شمارنده 1 تا n/2  ما یا همان a  ,مقسوم علیه عدد n  است (فر مان if) ,مقسوم علیه بدست آمده را در داخل متغییر sum  بریزیم .

بعد از اتمام حلقه ,مقدار sum  با خود عدد مقایسه می شود  و اگر دو مقدار برابر بودند ,nعد د  کامل است .

نوشته شده توسط پیراهنیان در ساعت 17:56 | لینک  | 

کنترل تکرار بر نامه ها

برای تکرار بلاکی از بر نامه می توانیم به جای تکرار دستورات به تعداد مورد نیاز از دستورات حلقه استفاده کنیم در پاسکال انواع دستورات حلقه داریم که عبارتند از :

1)دستور حلقهfor………do

این دستور دارای یک شمارنده می باشد که مقدار اولیه و مقدار نهایی آن باید مشخص شده باشد

 شکل کلی دستور for

For    متغییر :=مقدار اولیه       to     مقدار نهایی    do   دستورات

Begin

دستوراتی که باید تکرار شوند 

End

نکته :

زمانی از begin و end  استفاده می کنیم که دستورات اجرای داخل for بیشتر باشد .

حلقه ها 2حالت می توانند داشته باشند :

1)افزایشی

در این حالت بین مقدار اولیه و مقدار نهایی عبارت toرا بکار می بریم بدین تر تیب مقدار اولیه کمتر از مقدار نهایی خواهد بود.

مثال 7 :

عددی صحیح و مثبت را گرفته اعداد کمتر از هزار که بر N بخش پذیر است را چاپ کند ؟

Program  EXAMPL7  ;

Var

N, I: integer;

Begin

Write ('enter N :');

Readln (N);

For   I=1   to 999   do

If (I mod N= 0) then   write (I);

Readln;

End.

2)کاهشی

در  این حالت بین عبارت مقدار اولیه و مقدار نهایی از عبارت down to  استفاد ه می کنیم .بنابراین مقدار اولیه بیشتر از مقدار نهایی خواهد بود .

حلقه های to در to :

دستورات      DO      مقدار اتمام       TO      مقدار شروع =: متغیر  FOR 

---------------

---------------

دستورات      DO      مقدار اتمام       TO      مقدار شروع =: متغیر  FOR 

مثال 8 :

جدول ضرب 10*10را محاسبه و چاپ کند

Program  EXAMPL8;

Var

a,b: integer;

Begin

For a: =1    To   10   Do

Begin

For   b: =1    To 10   Do

Write (a*b: 5);

Writeln;

End;

Read(s);

End.

یادآوری : در دستور

Write(a*b:5);

عدد 5 فاصله مابین دو ستون را مشخص می کند و دستور Writeln در سطر بعدی فاصله ما بین دو سطر است و یا به عبارتی دیگر بین سطور فاصله ایجاد می کند

نوشته شده توسط پیراهنیان در ساعت 17:54 | لینک  | 

2)دستور شرطی  case………..  of

به طور کلی برای انجام پرش های شرطی می توانیم  از دستور case استفاده به خصوص زمانی که پرش های چند شاخه ای نیاز داشته باشیم.شکل کلی دستور caseبه شکل زیر است : 

Case          نام متغییری که شرط بر روی آن اعمال می شود      of

دستور1:  شرط 1             

دستور2:  شرط2                                

 

 

دستورn:  شرط n

End

نکته:

علامت آخر end بستگی به محل قرار گیری آن دارد امکان دارد سمیکالن یا نقطه  باشد ودر ضمن به دستور قبل از end در شرطcase می توان سمیکالن نگذاشت.

مثال:

Case   traffic   of

Red: Write ('stop');

Green: write ('go head');

Amber: write('stop  if possible, else go head')

End;

 مثال:

Case   key     of

'A'. . 'Z': write ('uppercase');

'a' . . 'z': write('Lowercase');

'0'. . '9': write('numeric');

End;

مثال6:برنامه اي بنويسيد كه دو عدد را از ورودي دريافت و چنانچه عدد اول در بازه 0 تا 5 بود توان دوم عدد دوم را چاپ كند چنانچه 68 بود حاصلضرب دو عدد را چاپ كند و در غير اينصورت مقادير مجاز را چاپ كند.

Program EXAMPL6;

Var

A,B: integer

BEGIN
WRITELN('ENTER TWO  NUMBER');
READLN(A,B);
CASE A OF
0..5 :WRITELN(B*B);
68:WRITELN(A*B)
ELSE
WRITELN('ENTER 0..5 OR 68');
END;
END.

 

نوشته شده توسط پیراهنیان در ساعت 17:51 | لینک  | 

2)دستور If……….Then………..else  

در بر خی موارد یک بر نامه نیاز به 2شاخه شرطی دارد در این حالت از دستور شرطی به صورت If……….Then………..else   استفاده می کنیم که یکی از آنها در صورت درست بودن شرط اجرا خواهد شد در این حالت اگر نتیجه ارزش یابی جمله بولین یا بولی درست باشد بلاکی از بر نامه که بعد ازدستورالعمل then   قرار دارد اجرا خواهد شد ولی اگر نتیجه ارزش یابی نادرست باشد بلاکی از بر نامه که بعد از else   قرار دارد اجرا خواهد شد در هر دو حالت پس از اجرای بلاک انتخاب شده کنترل برنامه به دستور العمل If……….Then………..else منتقل می شود فلوچارت آن به شکل زیر می باشد .

 

If……….Then………..else

نکته :

قبل از دستور else از سمیکالن استفاده نمی کنیم .

مثال3:

برنامه ای بنویسیدکه عددصحیح را در یافت کرده و تعیین کند زوج است یا فرد ؟

 

Program EXAMPL3;

Var

N:integer;

Begin

Read(N);

If   N mod  2=0    then

Writeln('p');

Else

Writeln('q');

End.

حالت یافته if…….then…..else

If……….then

Else

Else

Else

در حالت گسترش می توانیم با استفاده از if …..else  توسعه را انجام  دهیم .

به این تر تیب جملات بولی پشت سر هم بیان می شود ودر نتیجه می توان پرش های چند شاخه  ای را انجام داد بر نامه پس از رسیدن به نتیجه false در مورد عبارت شرطی اول اجرای بلاک برنامه عبارت false شرط دوم را ارزشیابی میکند تا اینکه دستور  if ……Else  وارد عمل شود اگر این عبارت هم false باشد آخرین بلاک برنامه اجرا می شود.

مثال4:

خروجی بر نامه چیست؟

 

Program EXAMPL4 ;

Var

Mess:char;

Begin

Writeln(' کاراکتری با حروف بزرگ وارد کنید ');

Read(Mess);

If   Mess='A'    then

     Writeln('Add')

Else   if    Mess='I'   then

              Writeln('Insert')

Else   if    Mess='D'   then

              Writeln('Delete')

Else   if    Mess='E'   then

              Writeln('Exit');

Writeln('press enter ' );

Readln;

End.

جواب :

یک منو شامل دستورات

A: Add

I: Insert

D: Delete

E: Exit

دستورات تودر تو در if ……then  

هر گاه بخواهیم 2 یا چند شرط رامختلف را به منظور انجام کار ی تعریف می کنیم از if ……then   تو در تو استفا ده می کنیم .

مثال5:

سه عدد را خوانده و بزرگتر و کوچکتر را چاپ کند ؟

Program EXAMPL5;

Var

A,b,c,min,max:integer;

Begin

Readln(a ,b, c);

Max:=a;

Min:=b;

If  b>Max then

Max:=b;

If   a

     min:=a;

If    c>max  then

        Max:=c;

If    c

Min:=c ;

Writeln('larg:', max  , 'smol:',min );

Readln;

End.

 

نوشته شده توسط پیراهنیان در ساعت 17:41 | لینک  | 

جملات شرطی

جملات شر طی را می توانیم به حالت های مختلفی مطرح می کنیم .

1.     جمله شرطی می تواند از یک مقایسه مستقیم باشد .

مثال:

Age>12          یا         x

2.     جمله شرطی می تواند شامل محاسبات باشد .

مثال:

x>(12*a)                      یا                (x-5)<(y-5)+(x+5)

3.     جمله شرطی می تواند شامل چندین شرط باشد .

مثال:

(age >21)   and  (name='Sara')

x>=12     or      y<=x

مثال1:

خروجی برنامه زیر چیست؟

Program EXAMPL1;

       Var

           i, j: integer;

           i:=9 ;

            y:=-47;

             Writeln (' i     or    J>0='  ,   i    or   J>0);

             Writeln;

             Writeln ('( i>0)     or    (J>0)  ='  , ( i >0)  or ( J>0));

             Writeln;

            Writeln ('presenter.');

            End.

جواب:

i    or  J  

9+ ( - 47)

9 - 47

- 38<0

false

T=1

F=0

 

دستورات شرطی

1) دستورthen  ......       If

دستور If یک دستور کنترلی شرطی  است و تنها در صورتی که شرط مقدار درست داشته باشد یا نادرست اجازه می دهد عملی انجام شود .

کاربرد دستور

برای تصمیم گیری در داخل بر نامه از این دستور استفاده می کنیم و ساده ترین شکل پرش به قسمت های دیگر بر نامه می باشد.

نکته :

به دستور If اغلب دستورthen  .....  If هم می گویند.

دستور If …… then دو حالت دارد ؟

حالت 1:

1) If   شرط   then   دستورات         

 مثال2:

 بر نامه ای بنویسید که سن را بخوهد و اگر سن شخص بزرگتر و مساوی 20 باشد بنویسد very good""

Program EXAMPL2;

       Var

         age: integer;

           Begin

             Writeln (' enter age :');

             Read(Age) ;

                If Age>=20   then

                    Writeln (' very good');

            Writeln ('enter age :');

           Readln;

            End.

نکته :

اگر بخواهیم بیش از یک دستور العمل را به طور  شرطی اجرا کنیم دستورالعمل های مورد نظر را داخل کلمات begin و end قرار می دهیم .

If شرط     then ….

           Begin

       دستورات

          End;

    دستورات بعدی برنامه

نوشته شده توسط پیراهنیان در ساعت 17:36 | لینک  | 

سوالات تشریحی 

1)    برنامه ای بنویسید که 4 عدد راخوانده میانگین آنهارا حساب کند؟

2)  بر نامه ای بنویسید که مبلغ n را بگیرد و برای ما مشخص کند این مبلغ از چند سکه 10 ریالی چند سکه 5 ریالی چند سکه 2 ریالی و یک ریالی تشکیل شده است ؟

3)  برنامه اي بنويسد كه معدل سه دانشجو را از ورودي بخواند ومعدل هر دانشجو را در جلو نام آن در خروجي چاپ كند .( در ابتدا نام سه دانشجو خوانده شده و در ادامه معدل آنها از ورودي خوانده شود)؟

4)    هدف از قرار دادن Ln  در پایان دستور خواندن و نوشتن  چیست؟

 

پاسخ

 Program   t1;

       Var

a , b, c, d,s: integer; 

   Begin

           Readln (a, b, c, d);

            S:=(a+b+c+d);

Writeln(s div  4);

Readln;

End.

2)     

Program  t2;

       Var

X, y, z, w, n: integer; 

            S: char; 

   Begin

           Readln (n);

            X:= n  div  10 ;

         n:=  n  mod 10;

         y := n  div  5;

         n:=  n  mod5;

         z:= n  div  2 ;

         n:=  n  mod 2;

          w:= n  div  1 ;

         n:=  n  mod 1;

         Writeln('10R=' ,x , '5R=' ,y , '2R=',z,  '1R=',w,);

       Read(s);

        End.

 

3)     

Program t3 ;

       Var

           n1,n2,n3:string[30];   { نام سه دانشجو}

            a1,a2,a3:real;  {معدل سه دانشجو}

             s:char;

   Begin

           writeln(n1,n2,n3);

             readln(a1,a2,a3);

               writeln(n1,a1);

                  writeln(n2,a2);

                    writeln(n3,a3);

                    read(s);

   End.

 

4)    Ln در دستورات به معنی این است که دستور در سطر جدا گانه اعمال شود.

نوشته شده توسط پیراهنیان در ساعت 17:26 | لینک  | 

مثال 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.

این پاسخ یک ایراد اساسی دارد.ابتدا بزرگترین مشکل مثال بالا را پیدا کنید ؟

جواب:

1- وقتی در این حالت بر نامه را اجرا می کنید خروجی را نخواهید دید ولی می توان متغییر از نوع کاراکتر در قسمت Var تعریف کنیم و در پایان بهend پایانی مانده دستور;(read(sرا  قرار می دهیم تا کامپیوتر منتظر بماند شما یک کلید را به عنوان ورودی را وارد کنید و این باعث می شود شما خروجی بر نامه را تا هنگامی که کلید ی فشار  ندادید ببینید.

نکته :

به جای تعریف یک متغییر از نوع charو در پایان read کردن آن می توانیم تنها از Readln خالی در پایان بر نامه استفاده کنیم .

مثال 2:

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 این است هنگامی که مقدار جدید را به متغییر ی واردمی کنیم ٬محتویات متغییرقبلی ازبین می رودومقدارجدیدجایگزین می شود برای جلوگیری از این عمل ٬باید مقدار اولیه را در متغییر دیگری ذخیره کنیم .

نوشته شده توسط پیراهنیان در ساعت 17:7 | لینک  | 

خلاصه 

د ستورات ورودی

دستور خواندن داده ها

Read (نام داده);     و    Readln (نام داده);

دستور نوشتن در خروجی

Write (   );              و   Writeln (   );

Ln در دستورات به معنی این است که دستور در سطر جدا گانه اعمال شود.

دستورات جایگزینی

1- داده های ثابت در متغییری ذخیره می شوند .

Л: =3.14;

2-مقدار یک متغییررا در متغییر دیگر ذخیره کند .

نکته :همیشه مقدار سمت راست در متغییر سمت چپ ذخیره می شود .

A: =x;

A: =x یعنی مقدار متغییر x را در متغییر Aقرار گیرد

 

3- مقدار یک عبارت محاسباتی را در یک متغییر ذخیره می کند .

Z :=( 10+2)*12;

 

نوشته شده توسط پیراهنیان در ساعت 12:51 | لینک  | 

دستورات پاسکال

د ستورات ورودی

دستور خواندن داده ها

 

Read (نام داده);

Readlnشکل دیگر دستور خواندن داده ها است  با این تفاوت که پس از انجام عمل خواندن کنترل بر نامه به خط بعدی منتقل می شود .

Readln (نام داده);

دستورات خروجی

دستور نوشتن در خروجی

 

Write (   );

 

Writeln شکل دیگر دستور نوشتن در خروجی با این تفاوت که پس از انجام عمل چاپ کنترل به خط بعدی منتقل می شود.

نکته :

1-بعد ازاتمام  هر دستوراز سمیکالان ;   استفاده می کنیم .

2-Ln در دستورات به معنی این است که دستور در سطر جدا گانه اعمال شود.


ادامه مطلب
نوشته شده توسط پیراهنیان در ساعت 12:49 | لینک  | 

داده ها

1.داده ها ی ساده

 

 

 

-1.1داده های عددی

 

-1.1.1داده های عددی صحیح

-1.1.2د اده های اعشاری یا حقیقی

-1.2داده های غیر عددی

 

-1.2.1کاراکتر

Boolean-1.2.2

2.داده های پچیده

-2.1آرایه های متغییر ی

 

-2.2رکورد ها

-2.3رشته ها

نوشته شده توسط پیراهنیان در ساعت 12:32 | لینک  | 

مربوط به متغیر ها Var

متغیر نامی است برای محلی از حافظه داده می شود و برای نگه داری موقت داده بکار می رود برای متغیر از کلمه  Var استفاده می کنیم شکل کلی استفاده از متغیر ها در طرح زیر می باشد :

 var

;نوع متغییر :نام متغییر

   __________

____________

__________

begin

__________

________

__________

.end 

Var مثال

I = integer;

Name: char;

N, M, p : real ;

; درستی یا نادرستی) ) T: Boolean

مربوط به کلمه type 

کلمه type برای تعریف  داده پیچید به کار می رود 

مثال:شکل دستور در  آرایه به صورت زیر است :

Type

         Index=1..20

 Var

     List: array [index] of real

 

 

 

 

 

 

 

 

 

 

 

 

نوشته شده توسط پیراهنیان در ساعت 12:30 | لینک  | 

انواع داده ها

داده ها در کل دو نوع هستند :

1.     داد ه های ساده

2.     داده های پیچیده

داده های ساده

داد ه های ساده به مجموعه ای از داده ها می گوییم که نتوانیم آنها را به شکل ساده تر تقسیم کنیم .

1.    داده های عددی

داده های عددی عبارتند از :

                                i.      اعداد صحیح integer

                              ii.      اعداد اعشاری  real

داده های عددی صحیح :( integer)  

اجازه استفاده از ممیزو توان  را نداریم برای مشخص شدن شان از integer  استفاده می شوند این داده ها 2 بایت از حافظه را برای خودشان تخصیص می دهند .و می توانیم قبل عدد  علامت عدد را هم  درج کنیم و اگر عددی علامت نداشته باشد یعنی آن عدد مثبت است .

نکته: اعداد صحیح در دامنه -32768تا 32767 می باشد


Byte   0.. 65535

Short int -128    تا 127
integer -32768 تا 32767
Word    0.. 65535
Longint -2147483648 تا 2147483647

داده های عددی اعشاری یا حقیقی :((real

زمان اجرا از اعداد صحیح حافظه اشغال می کند .6  بایت از حافظه را اشغال می کند .

نکته:اعداد اعشاری در دامنه 39-2/9*10 تا 1/7*1038 تغییر می کند .

 

 

Memory required (bytes)

Significant digits

Range

type

6

11-12

2.9e-39

1.7e38

real

4

7-8

1.5e-45

3.4e38

single

8

15-16

5.0e-324

1.7e308

double

10

19_20

3.4e-4932

1.1e4932

extended

8

19_20

-2e63+1

2e63-1

comp

در مورد اعداد اعشاری به نکات زیر توجه کنید:

1.  اگر روی دو نوع عدد اعشاری و صحیح عمل محاسباتی انجام دهید , نتیجه یک عدد اعشاری خواهد بود . عدم توجه به این نکته می توان در نوشتن بر نامه مشکلاتی ایجاد کند .

2.     کامپیوتر اعداد اعشاری را به نماد اعشاری نشان می دهد .

2.داده های غیر عددی

دو نوع می باشند :

1.     داده های نوع متن

2.     داده های boolean

دو نوع داده متن در پاسکال وجود دارد:

1.     داده نوع کاراکترchar

2.     رشته کاراکتر ها یا string

داده های کاراکتری :( char)

کراکتر یک حرف  الفبا یا یک رقم و یا یک علامت ویژه است .مثل 'g'یا'5'یا'&' و باید داخل آپوستروف  باشد .از char, برای پاسخگویی به سوالات صفحه نمایش  و  از رشته,جهت دادن پیغام به اپراتور استفاده می شود . نوعی از داده ها به نام text  نیز وجود دارد که به عنوان نوعی فایل مورد استفاده قرار می گیرد .داده های کاراکتری شامل یک کاراکتر از جدول اسکی می باشدو یک بایت از حافظه را اشغال می کند که طولشان یک کاراکتر می باشد .مثل 'a'

نکته:

اگر کاراکتر ی را به خواهیم به صورت خنثی در نظر بگیریم داخل علامت کوتیشن قرار می دهیم.

رشته ها (string):

(لازم بذکر است که داده رشته ایی فقط در توربو پاسکال موجود است)

برای ذخیره سازی اطلاعات متنی بکار می ر وند حالت آنها شبیه آرایه هاست . مثلاً کلمه program آرایه ای است که محتوای آن حروف کلمه هستند .

S name: String [20];

وقتی می گوییم[20] String یعنی 21 بایت از حافظه را اشکال می کند اولین بایت مربوط به طول رشته است .

 

داده های boolean یاداده های نوع منطقی

ارزش این نوع داده به یکی از دو صورت زیر است :

1.     درست یا true

2.     نادرست یا false

این نوع داده ها را boolean یا د اده های بولی بنام George  Bool  دانشمند ریاضی می نامند .

غیر عددی ساده ترین داده در برنامه نویسی است .

داده های پیچیده

داده های پیچیده شامل موارد زیر می باشد :

نکته : برای تعریف داده های نوع پیچیده از کلمه type استفاده می کنیم .

آرایه :

آرایه را به صورت یک جدول یک بعدی (سطر یا ستونی)و یا دو بعدی و یا جند بعدی در نظر بگیرید . ابتدا باید نام آرایه ,سپس تعداد عناصر و نوع آنها را مشخص نمود . به هر عنصر از آرایه توسط نام آن و اندیسی که داخل کروشه می گذاریم مراجعه می نماییم.در کل آرایه متغییری است که داده های متعددی را که همگی از یک نوع می باشند را درخود ذخیره می کند شکل تعریف آن به صورت زیر می باشد.

نام متغییر  =array[lowerlimit(حد پایین)• •uplimit((حدبالا]of basetype(نوع ارایه) ;

 

مثال :

نام آرایه avrageمی خواهیم معدل های بین 20 تا 12 را اعشاری و صحیح نشان دهد ؟

Average= array [12 ••20] of real

 

رکورد :

یک رکورد ترکیب چند نوع داده در داخل یک نوع داده جدید می باشد .مثلا   اطلاعات دانشجویی ,می تواند شامل نام دانشجو, آدرس و معدل نمرات او باشد و یک رکورد را در بخش type معرفی می کنیم  و معرفی آن با کلمه end  پایان می پذیرد.

Record Type = record

              Field 1 name : field 1 Type ; 

              Field 2 name : field 2 Type ;     

end;

حالت ترکیبی در یک رکورد امکان پذیر است همچنین یک رکورد می تواند از نوع ساده یا ترکیبی باشد مثلاً رکورد Address (آدرس) یا Age (سن)

مثال برای Age :

 Age : integer (صحیح ) 

YY :  (سال )

MM : (  ماه )

DD :  ( روز )

مثال

برای رکورد Student  

Student = record

نام   Sname : String (رشته)  [15] (طول رشته );

سن Age : integer  صحیح));

end;

داده های نوع اشاره گر (pointers)         

این نوع داده ها آدرس متغییر ها را در خود دارند.

Type

My first pointer=^integer;

My second pointer=^ My pointer data item;

My pointer data item=record

                                Name:  string10;

                                Age   :  integer;

                                Paid   :  boolean;

                                End;

Var

Numptr : My first pointer ;

Recptr   : My second pointer ;

ثابت Const

یک مقدارعددی یا یک رشته را به یک شناسه نسبت دهیم یعنی اگر عنصر داده در سراسر بر نامه ثابت باقی بماند .

تعریف یک ثابت به صورت کلی زیر است :

Const

نام شناسه =مقدار ثابت  ;

 

نوشته شده توسط پیراهنیان در ساعت 16:41 | لینک  | 

انواع عملگرها :

در یک محاسبه عملی که روی داده ها انجام می شود عمل گر می گویند  و داده هایی که روی آنها این عمل انجام می شود عمل وند می گویند .

3 نوع عملگر وجود دارد :

1- عمل گرهای حسابی یا ریاضی یا محاسباتی  :

عمل گر هایی که  برای انجام عملیات عددی به کار می روند عملگر های محاسباتی گویند.در پاسکال، شش نوع عملگر محاسباتی وجود دارد .در پاسکال عمل گر توان وجود ندارد.

عملگر های پاسکال عبارتند از :

1.      (جمع) +

2.     (تفریق) ـــ

3.     (تقسیم ) /

4.     div

5.     (ضرب) *

6.     mod

در برنامه نویسی عملگرها برای انجام محاسبات جبری باید داخل یک متغیر قرار گیرند .

در توربو پاسکال دو نوع تقسیم وجود دارد :

1.     تقسیم خارج قسمت صحیح

2.     تقسیم خارج قسمت اعشاری

تقسیم خارج قسمت صحیح

Div =این عملگر محاسباتی ٬تقسیم بین دو عملوند صحیح را انجام و جزء صحیح را به عنوان نتیجه اعلام می کند.

 تقسیم خارج قسمت اعشاری

/= تقسیم اعشاری با علامت / عمل می شودو در تقسیم اعشاری , عوامل تقسیم می توانند هر عددی باشند خارج قسمت اعشاری است .

Mod = این عملگر محاسباتی ٬تقسیم بین دو عملوند صحیح را انجام و باقی مانده را به عنوان نتیجه اعلام می کند.

منفی یکانی : علامتی که در کنار عدد می آید

 

-3+4

اولویت عملگر ها :

1- اول منفی یکانی یا مثبت یکانی                                        

2- پارانتز ()

3- توان ^

4- ضرب *

5- تقسیم /

6- جمع +

7- تفریق –

2- عمل گرهای منطقی :

برای داده هایی چون بولیین و رشته وکاراکترکاربرددارد.عمل گرهای منطقی عبارتند از:

AND, OR, XOR, NOT

برای اینکه بیت های متناظر دو متغیر بایتی را یعنی 8 بیت را با 8 بیت دیگر مقایسه کرده و یک بایت جدید ر ا بدست آور یم از این متغیر استفاده خواهیم کرد

 

اگر به عملگر های محاسباتی عملوند  integer بدهیم نتیجه چگونه خواهد بود؟

عمل گر محاسباتی

عملوند ها

نتیجه

+

integer

integer

ــــ

integer

integer

*

integer

integer

/

integer

Real

Div

integer

integer

Mod

integer

integer

 

 اگر به عملگر های محاسباتی عملوند  Real بدهیم نتیجه چگونه خواهد بود؟

 

عمل گر محاسباتی

عملوند ها

نتیجه

+

Real

Real

ــــ

Real

Real

*

Real

Real

/

Real

Real

 

نکته : با عملوند اعشاری نمی توان از عملگر mod ,div  استفاده کرد .

3.عمل گر های مقایسه ای

بیشتر در شرط ها به کار می رود

 

نوشته شده توسط پیراهنیان در ساعت 10:26 | لینک  | 

نماد های توربو پاسکال :

یک نماد یک کاراکتر یا دنباله ای از کاراکتر هاست که معنی خاصی را در زبان های سطح بالا دارد .

نماد ها ی پاسکال عبارتند از :

نماد فاصله : برا ی جدا کردن اجزای یک برنامه به کار می رود .

# نماد چند : برای نشان دادن کد های اسکی به کار می رود

کدهای اسکی : کد های مختلفی برای کاراکتر ها وجود دارد که کد های همه کامپیوتر ها بر ابر باشد که اسکی می گویند . نحوه استفاده محیط dos در کد های اسکی Alt+ key pack  آن کاراکتر هایی که در صفحه کلید نباشد کاراکتر های  بالا ی 198یا کاراکتر های ویژه می نامند. هر خط فرمان 255کاراکتر قبول می کند .

$ :کاراکترفوق برای اعداد مبنای 16 به کار می رود هگزا دسیمال

و: برای مشخص کردن شروع و پایان یک رشته به کار می رود .

{ }: برای واردکردن توضیحات درقسمت های مختلف برنامه به کار می رود. مانند (* *)

( ):  برای نشان دادن شروع و پایان عبارت و list های  مختلف به کار می رود  .             

(*  *):برای واردکردن توضیحات درقسمت های مختلف برنامه به کار می رود .

*: به عنوان ضرب به کار می رود .

+: برای سه کار به کار می رود.

۱.اجتماع مجموعه هاست .

۲.برای الحاق یا اتصال رشته ها به کار می رود

۳.جمع

ــــ   : برای سه کار به کار می رود.

۱.جدا کردن اعداد

۲.برای منفی  کردن اعداد

۳.اشتراک مجموعه

. :برای انتخاب فیلد های یک رکورد به کار می رود همچنین به عنوان علامت ممیزدراعداد به کار می رود.  

• • : برای جدا کردن محدوده آرایه به کار می رود .                                                            ماتریس –درایه = مجموعه عناصر که درکنار هم جمع می شوندحداکثرمقدارحد بالا وحداقل مقدارحدپایین مثال :                          ["A"  • • "Z"]

/ :علامت تقسیم و تقسیم اعشاری

\: برای محاسبه باقی مانده صحیح

: : برای تعریف شناسه ها بکار می رود .

=: : برای جای گزینی مقادیر به کار می رود. مثال :وقتی می خواهیم بگوییم  X=10  باید در برنامه به صورت X :=10  بنویسیم .

;    : برای جدا کردن جملات و پایان دادن به تعریف ها به کار می رود .

@  :برای بدست آوردن آدرس یک شناسه به کار می رود .

[  ]: کوروشه باز برای مشخص کردن شروع یک اندیس آرایه و کروشه بسته برای مشخص کردن پایان اندیس یک آرایه به کار می رود .

^ : برای بدست آوردن مقدار یک اشاره گر به کار می رود .

  > علامت کوچکتر  < علامت بزرگتر٬ =< علامت بزرگتر مساوی ٬ => علامت کوچکتر مساوی ،<> علامت مخالف

نکته:برای استفاده از هر شناسه ای باید قبل از بکار بردن آن تعریف  کرده باشیم .

 

نوشته شده توسط پیراهنیان در ساعت 10:24 | لینک  | 

کلمات رزرو شده (کلمات کلیدی )

کلماتی که منحصرا توسط یک زبان استفاده می شوند و نمی توان از آنها برای موارد دیگر استفاده کرد مثلا begin شروع کردن –const ثابت کردن –writeنوشتن

کلمات رزرو شده

Procedure

function

unit

Nil

program

Writeln

write

Readln

read

then

down to

record

array

for

word

Not

of

or

and

forward

File

case

const

real

end

Div

else

begin

if

do

Char

byte

while

integer

in

mod

pointer

with

label

Var

 

 

label

Go to

type

شناسه

شناسه کلمه ای است که به وسیله آن به یک  محل حافظه مراجعه می کنیم شناسه دارای 2 قسمت است :

1.     شناسه استاندارد

2.     شناسه تعریف شده توسط کاربر

·        شناسه استاندارد

همچون کلمات رزرو شده هستند که در پاسکال تعریف خاصی دارند .اما بر خلاف کلمات رزرو شده می توانند برای اهداف خاصی ٬توسط برنامه نویس مجدا تعریف و مورد استفاده قرار گیرند با این وجود این کار توصیه نمی شود اگریک شناسه استاندارد را مجدا تعریف کنید پاسکال دیگر قادر نخواهد بود آن را با هدف اصلی اش بکار برد .

·        شناسه تعریف شده توسط کاربر

شناسه نامی است که به برخی از عناصر  برنامه مانند ثابت ,متغیر, زیر برنامه procedure  یا تابع٬یا برنامه نسبت داده می شود .

1)    یک شناسه بایستی با یک حرف کاراکتر یا زیر خط   شروع شود.

2)    شناسه می تواند شامل تعداد حروف و ارقام، زیر خط باشد .

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

حداکثر طول یک شناسه به سیستم بستگی دارد و برخی کامپایلر ها کلیه کاراکتر هایی که بیشتر از طول خاصی در شناسه قرار گیرند نادیده می گیرند برای مثال ٬ اگر حداکثر طول 8 باشد ٬نمی توان هردو شناسه consonant2٬  consonant1 را در بر نامه تعریف کرد ٬ زیرا هر دوی آنها به عنوان یک شناسه در نظر گرفته می شوند و 8 کاراکتر اول هر دو یکی است.و امکان دارد در بعضی سیستم ها 64 کاراکتر اول هر دورا با هم مقایسه کنند .

ثابت:

ثابت مقداریست که تغییر پیدا نمی کند ثابت های توربو پاسکال بصورت عددی یا رشته ای می باشد .

ثابت عددی :

به صورتهای مختلفی نشان داده می شوند. مثلاً عدد 45 مثلاً 2- و 201

ثابت رشته ای:

مقدار آن ها رشته محسوب شده داخل علامت کوتیشن " computer "

در توربو پاسکال ثابت ها دو نوع می باشند :

 

1) ثابت های بدون نوع (const )        X=45         یا          Test="Turbo"

2) ثابت های دارای نوع( =20                (canst صحیح   x=integer  è

دلایل استفاده از ثابت ها:

برا ی صرفه جویی در حافظه بهتر است از ثابت های دارای نوع استفاده کنیم دارای تغییر دادن هستند .

به عبارت دیگربه صورت متغییر عمل می کنند که  دارای مقدار اولیه استولی ثابت های بدون نوع غیر قابل تغییر هستند .

تفاوت ثابت و متغییر

ثابت داده ای که در طول بر نامه تغییر نمی کند در حالیکه داده متغییر در زمانهای مختلف مقادیر متغییر را در خود دارد ثابت و متغییر می توانند هر یک از انواع داده را شامل باشند .

نوشته شده توسط پیراهنیان در ساعت 10:15 | لینک  | 

ساختار بر نامه پاسکال هر بر نامه دارای 3 قسمت اصلی  است:

بخش عنوان :

 از کلمه PROGRAM استفاده می کنیم به دنبا ل کلمه PROGRAM نام برنامه می آید و انتهای آن; قرار میدهیم . نکته  :نا م بر نامه نمی تواند از کلمات رزرو شده باشد .                          

PROGRAM      نام برنامه;

هربرنامه می تواند شامل زیر بر نامه باشد هر زیر بر نامه به صورت برنامه مستقل عمل خواهد کرد .بنابراین زیر برنامه خودش شامل بخش عنوان خواهد بود 2 حالت زیر بر نامه می توانیم داشته باشیم

PROCEDURE    نام زیر برنامه;

Function    نام زیر برنامه;

بخش عنوان دیگری می توانیم داشته باشیم   unit است .

Unit   نام;

عبارت USES

این عبارت  units را که مورد  استفاده بر نامه است, مشخص می سازد . یونیت ها  کتابخانه هایی هستند که کمپایل شده ودر بر نامه ها مورد استفاده قرار  می گیرند. با نوشتن نام یونیت ها در جلوی uses  , می توان از امکانات موجود در آن استفاده کرد . در این صورت اگر بر نامه شما یک روتین فر عی را خواند که در متن برنامه نباشد آنرا در یونیت یاد شده جستجو خواهد کرد .

بخش تعریف

به کامپایلر می گوید که بر نامه به چه سلول هایی ازحافظه نیاز دارد . بخش تعریف  شامل بخش های زیر است:

1.     بخش بر چسب

2.     بخش ثابت

3.     بخش نوع

4.     بخش متغییر ها

بخش بر چسب LABEL))

LABEL بخشی از کامپیوتر است که در آن بر چسب هایی وجود دارد که کنترل کامپیوتر به آنها هدایت می شود. متخصصین کامپیوتر  سعی بر آن دارند که جهت انشعاب به بر چسب های یاد شده از دستور GOTOاستفاده نکنند .

ثابت Const

در این بخش از بر نامه ثابت های بر نامه معرفی می شوندکه یک مقدارعددی یا یک رشته را به یک شناسه نسبت می دهیم تعریف یک ثابت به صورت کلی زیر است :

Const

نام شناسه =مقدار ثابت  ;

بخش نوع(TYPE)

در این بخش شما داده هایی را که خود ساخته اید معرفی می کنید ,داده هایی که نیاز شما را مرتفع سازد. متغییر TYPEرا به صرف نوشتن نمی توان مورد استفاده قرار داد بلکه در بخش VARکه به دنبال آن می آید باید متغییر ها تعریف شوند.

بخش متغییر ها(VAR)

متغیرنامی است برای محلی ازحافظه داده می شودوبرای نگه داری موقت داده بکار می روددراین بخش نام وانواع متغییرهامعرفی می شودشکل کلی استفاده ازمتغیر ها در طرح زیر می باشد :

Var

 نوع متغییر : نام متغییر        ;

بد نه برنامه (بخش بلاک ):

بخش بلاک block

برای بر نامه ها و زیر بر نامه دستورات داخل کلمات end و begin  وارد می شود و این محدوده را بلاک گوییم اگربلاک مربوط به بر نامه اصلی باشد پس از end نقطه می گذاریم و اگربلاک مربوط به زیربرنامه باشدپس از end ;می گذاریم بلاک ها شامل دستورالعمل ها یی مثل تخصیص مقادیر به متغیر ها یا فراخوانی روال ها و یا توابع دیگر بکار می رود .

بلاک مربوط به برنامه اصلی

Begin

        ---------------

        ---------------

        ---------------

        ---------------

        ---------------

End;

بلاک مربوط به زیربرنامه

Begin

        ---------------

        ---------------

        ---------------

        ---------------

        ---------------

End

 

 

 

 

 

 

 

 

 

 

  بخش بدنه برنامه شامل بخش های زیر است:

1.     کلمات رزرو شده

2.     شناسه ها

3.     ثابت ها

4.     نماد ها

 

نوشته شده توسط پیراهنیان در ساعت 10:9 | لینک  | 

مفاهیم ابتدایی پاسکال 

زبان پاسکال یکی از زبان های بر نامه سازی است که ویژگی آموزشی بسیار بالایی دارد زیرا بسیار منظم و دقیق و خوانااست واین باعث می شود درک کردن بر نامه های این زبان بسیار راحت باشداین زبان  به علت ساخت یافتهstructed)) بودن خطاهای  احتمالی اندک دارد.یکی  از مزایای زبان  پاسکال تشابه بر نامه های آن با زبان انگلیسی است . 

برنامه نویسی ساخت یافته

روش ساخت یافته در اوایل دهه هزار و 970پایه گذاری شده در روش ساخت یافته یک برنامه به قسمت های کوچکتر و ساده ترتقسیم می شوددرهر قسمت بر نامه نویسی به صورت مستقل انجام می شود ویکی از اهداف برنامه نویسی  کاهش استفاده از go to  می باشد. که به جای آن یک مجموعه کامل از ساختار های کنترلی برنامه ایجاد می شود .

ورژن یا نسخه :نگارش هر نرم افزار را نشان می دهد .

پاسکال دارای ورژن های مختلفی است .که عبارتند از:

پاسکال ورژن های

95

98

2000

1.3

توربو پاسکال تحت ویندوز

ویرژن های 1.5و 7

برلند پاسکال     Borland  Pascal

نوشته شده توسط پیراهنیان در ساعت 10:4 | لینک  | 

پاسخ سوالات تشریحی

 

1) نامه پاسکال در همه سیستم  عامل ها قابل اجرا است و بر ای نصب نیاز به حداقل حافظه دارد ولی در مورد اجرا (مقدار استفاده از حافظه)بستگی به برنامه دارد .هر چند که پاسکال برنامه تحت DOSاست می تواند در سیستم عامل های دیگری چون WINDOSیا UNIX... نصب واجرا شود.

2) براي ايجاد فايل جديد از منوي File گزينة New را انتخاب مي کنيم. وبرای باز کردن فايل از منوي File گزينه Open را انتخاب مي کنيم.

3)  برای save تمام بر  نامه های باز در پاسکال از گزینه all….. Save استفاده می کنیم .

4)  از ترکیب کلید alt+F3 استفاده می کنیم .

5)  برای مشاهده محتوای متغیر ها از کلید ctrl+F7  استفاده می کنیم .

6)  معادل گزینه zoom در منوی windowsدر محیط توربوپاسکال است .

7)  پنجره watch در محیط پاسکال برای مشاهده محتوای متغیر ها است.

8) کلیدF4 برای مشاهده محتوای متغیر ها در خط خاصی از برنامه میشود و این کار باعث توقف موقت برنامه می شود.

9)  کلید F8 برای اجر ای خط به خط بر نامه به نحوی که زیر برنامه به صورت یکجا فراخوانی شود.

10)           کلیدF6 برای حرکت در پنجره های پاسکال استفاده می شود.

 

نوشته شده توسط پیراهنیان در ساعت 9:55 | لینک  | 

سوالات  تشریحی

1)امکانات مورد نیاز برای نصب و اجرای بر نامه پاسکال را توضیح دهید ؟

2) براي ايجاد فايل جديدو باز کردن فایل ایجاد شده از کدام منو استفاده می کنیم ؟

3)  برای save تمام بر  نامه های باز در پاسکال از کدام منو و گزینه استفاده می کنیم ؟

4)  برای بستن پنجره جاری در توربوپاسکال از ترکیب کدام کلید ها استفاده می کنیم ؟

5)  جهت مشاهده محتوای متغیر از کدام کلید ها استفاده می کنیم ؟

6)  کلید F5 معادل کدام گزینه در توربوپاسکال است؟

7)  پنجره watch در محیط پاسکال برای چیست؟

8)  کلید F4 در محیط پاسکال چه کاری را انجام می دهد ؟

9)   کاربرد کلید F8 در محیط پاسکال را بنویسید ؟

10)کلید F6 در محیط پاسکال چه کاری را انجام می دهد ؟

نوشته شده توسط پیراهنیان در ساعت 9:54 | لینک  | 

این هم لینک دانلود پاسکال موفق وموئد باشید.

 ۱۰ الی ۱۵دقیقه زمان برای دانلود نیاز دارید.

داونلود برنامه پاسکال

نوشته شده توسط پیراهنیان در ساعت 9:16 | لینک  | 

آموزش نصب پاسکال

امکانات مورد نیاز برای نصب و استفاده از برنامه پاسکال

در همه سیستم  عامل ها قابل اجرا است

بر ای نصب نیاز به حداقل حافظه دارد

 ولی در مورد اجرا (مقدار استفاده از حافظه)بستگی به برنامه دارد .

نکته :

هر چند که پاسکال برنامه تحت DOSاست

می تواند در سیستم عامل های دیگری چون WINDOSیا UNIX... نصب واجرا شود

آموزش نصب برنامه پاسکال:

دو روش برای تهیه برنامه پاسکال وجود دارد:

1)اول اینکه این برنامه را ازطریق شبکه اینترنتی www.freepascal.org  داونلود کنیم

پس از کلیک روی گزینه download در صفحه ایی که ظاهر می شود محیطی که می خواهیم برنامه را در آنجا نصب کنیم انتخاب می کنیم

 مثلا ( dos یا windows98 و...) سپس مراحل نصب طی می شود و

 برنامه قابل اجراست .

2)راه دوم این است که برنامه را از هرگونه حافظه جانبی که برنامه پاسکال را دارا می باشد( که رایج ترین آنها Cd است ) نصب کنیم به شرح زیر :

ابتدا به my computer  رفته درایو مربوط به Cd  را انتخاب کرده وپوشه turbo Pascal  یا  TP را انتخاب می کنیم اگر در محیط DOS  بخواهیم عمل نصب را انجام دهیم پس از وارد شدن به پوشه مذکور آیکون install را بر می گزینیم و اگر در محیط windows بخواهیم این برنامه را نصب کنیم بهتر است ابتدا پوشه مورد نظر را در  هارد کامپیوترمان ذخیره کنیم سپس از طریق آیکون install مراحل نصب را طی کنیم .

نحوه اجرای برنامه پاسکال

نحوه اجرا در محیط  DOS

ابتدا سیستم  اعلان روبرو را نمایش می دهد     <C:\

این اعلان نشان می دهد که کامپیوتر آماده است تا چیزی را تایپ کنیدو آنرا انجام دهد .

برا ی ورود به شاخه ای ابتدا ازدستورCDکه مخفف(CHANGE  DIRECTORY) است استفاده می کنیم.

حال به زیر دایرکتوری بروید کهه حاوی بر نامه پاسکال است حال به عنوان مثال پاسکال در درایو Cو زیر دایرکتوری BP\BIN   است

C\> CD\BP\BIN                                                                                                            

C\ CD\BP\BIN>TP

آنگاه بر نامه پاسکال اجرا می شود.

نحوه اجرا در محیط WINOWS

براي اجراي پاسکال وارد My Computer مي شويم سپس وارد درايو محتوي فايل ها مي شويم پوشه ای به نام TP ظاهر مي شود وارد پوشه مي شويم ، اين پوشه حاوي 3 پوشه دیگر به نام های :

BIN، UNIT، BGI است. وارد BIN مي شويم و فايل Turbo.exe را اجرا مي کنيم.

در ويندوز 98، ويندوز اجازه نمي دهد که فايل Turbo.exe (فايل اجرايي پاسکال) اجرا شود، به اين دليل بايد از فايل Tpx.exe استفاده کنيم. براي اين کار مراحل بالا را طي کرده منتها بجاي اجراي فايل Turbo.exe، فايل Tpx.exe را اجرا مي کنیم.

جهت باز کردن منوها یا توسط ماوس یا از طریق پایین نگه داشتن کلید Altو اولین نام هر گزینه(که توسط رنگ قرمز مشخص شده اند ) می توان عمل مورد نظر را انتخاب کرد.

براي ایجاد فایل جدید از منو ی File گزینه New را انتخاب مي کنيم.

برای باز کردن فايل از منوي File گزينه Open را انتخاب مي کنيم، (ميانبر F3)

برای save کرد ن از گزینه save استفاده می کنیم . (ميانبر F2)

برای save مجد بر نامه در مکان دیگر از گزینه save as…. استفاده می کنیم .

برای save تمام بر  نامه های باز در پاسکال از گزینه all….. Save استفاده می کنیم.

برای print کردن برنامه از گزینه print استفاده می کنیم.

برای خروج از برنامه پاسکال ازگزینه exit استفاده می کنیم. (ميانبرAlt+ x )

برای باز کردن فايل از منوي File گزينه Open را انتخاب مي کنيم، (ميانبر F3)و پنجره زیر باز می شود برای مشخص کردن نام  فایل را همرا با مسیر فایل  در قسمت  name تایپ می کنیم و یا می توانیم از لیستی که اسامی فایل ها در آن قرار دارد ودر پایین پنجره واقع شده نام فایل را انتخاب کرد واگر ماوس نباشد می توان ارز دکمه tab برای دستیابی به لیست فایل ها استفاده کرد .و سپس  برای انتخاب فایل مربوط ازکلیدهای فلش دار بالا وپایین استفاده کنید.

برای ذخيره سازي فايل از منوي File گزينة Save را انتخاب مي کنيم. ( ميانبر F2)و پنجره زیر نمایان می شود .که مانند پنجره open است.

برای ایجاد تغییرات در برنامه می توانیم از منوی edit استفاد ه کنیم . که گزینه های منو عبارتند از:

:  Undo برگشت به حالت قبلی

Redo   : برگشت به حالت بعدی

Cut      :  بریدن از قسمتی یا کل بر نامه

Copy   : کپی کردن قسمتی یا کل بر نامه

Paste   : چسباندن ،افزودن

Clear   : پاک کردن قسمتی یا کل بر نامه

Show clipboard   :  وقتی قسمتی راکپی یا cut می کنیم در این قسمت نشان داده می شود.

بر ا ی کامپایل کردن compile  برنامه از منوی compileگزینه compile میانبر (alt+f9) استفاده می کنیم و اگربر نامه درست باشد پنجره زیر نمایش داده می شود .

اگر بر نامه درست نباشد error  می دهد.

برای اجرای برنامه از منوی Run   گزینه Run میانبر (ctrl+f9) استفاده می کنیم.

نوشته شده توسط پیراهنیان در ساعت 10:31 | لینک  | 

پاسخ سوالات تشریحی

 

1)الگو ریتم لیستی از دستور عمل ها ست  که مراحل مختلف کار را به زبان دقیق و با جزئیات کافی بیان می کند ودر آن تر تیب  مراحل و خاتمه پذیر بودن عملیات باید کاملا مشخص باشد .

 

2)الگوریتم ها مراحل زیر را دارند :

v                 خواندن داده ها

v                 انجام محاسبات

v                 چاپ نتایج

و هر یک از قسمت ها با بررسی دقیق ممکن است به بخشهای کوچکتری تقسیم شود

 

 

3)سه روش بیان الگوریتم عبارتند از:1- بیان الگوریتم با جملات فارسی 2- بیان ریاضی الگوریتم  3- بیان الگوریتم توسط شکل ها مانند (فلوچارت ٬نمودارNS)

 

4) (aطولانی بودن الگو ریتم  است .(bاز دستور های الگوریتم تفسیر های گوناگونی می شود .

 

5)متغییر نامی است که به کمیتی داده می شودو مقدار آن ممکن است در طول اجرای الگوریتم تغییر کند . محلهای ذخیره ورودی ها و خروجی های الگوریتم هستند

 

 6)وقتی الگوریتم طولانی باشد و یا پیچیدگی الگوریتم بیشتر شود مراحل الگوریتم دشوار می شود.

 

 7) در بیان الگوریتم توسط تعدادی شکل خاص استفاده می شود .که فلوچارت یا نمودار گردش کار می گویند

 

 

9) حل مسئله با متغییر کمکی T یک متغییر کمکی  است .

1)wوY را بخوان

2)W   ç T

3)  Y ç W

4)T   ç   Y

5) پایان

حل مسئله بدون  متغییر کمکی

1)Wو Yرا بخوان

 ۲)

3)Y- W   ------>            Y
 
4)W-Y      ------->      W

5) Yو W را چاپ کن

6)پایان

10)

متغییر ها

عدد اولx

عدد دوم y

مقداربزرگترmax

 

X (1و y را بخوان

2) اگرx>y آنگاه xرا max وگرنه y را max قرار می دهیم    max

Max (3 را چاپ کن

(4پایان

11)

X (1 رابخوان

(2اگر x>0 آنگاه 3*x- 5 در متغییرy قرار می دهیم          

(3وگرنه ٬ اگرx=0 آنگاه   2 را در متغییرy قرار می دهیم                

(4وگرنه 2*x+1 را در متغییرy قرار می دهیم                          

X (5و y را چاپ کن

(6پایان

12)در سری نوشته شده یک در میان منفی است پس ابتدا متغییری مثل Si را در نظر میگیریم تا علامت عدد را تعیین کند ابتدا مقدار آن را یک تعیین می کنیم (چون اولین علامت + است) و پس از هر مرحله علامت آن  را تغیر می دهیم (از 1به1- و از 1- به 1)

S را 0  قرار میدهیم

si را 1 قرار میدهیم

i را 1قرار میدهیم

متغیر  ها

علامت Si

تعداد جمله N

شمارنده       i

مجموع سری  S

N را بخوان

تا زمانی که   <=N  i    دستورات 6 تا 8 ر ا اجرا کن

S*Si+1در S قرار دهید

–Si =     Si

1+i   را در iقرار دهید

پایان حلقه

پایان

نوشته شده توسط پیراهنیان در ساعت 10:30 | لینک  | 

سوالات تشریحی

 

1.    الگو ریتم چیست؟

 

2.    مراحل طراحی الگوریتم را نام ببرید ؟

 

3.    انواع روشهای بیان الگوریتم را نام ببرید ؟

 

4.    اشکالات بیان الگوریتم با جملات فارسی را بنویسید؟

 

5.    متغییر چیست ؟

 

اشکالات بیان الگوریتم به زبان ریاضی را بنویسید؟

 

6.    فلوچارت چیست؟

 

 

7.  الگوریتمی  که دومقدار را از ورودی خوانده ٬در دو  متغییر  W٬Z قرار می دهد و سپس محتویات آن دو را با هم  عوض کرده ٬در خروجی چا پ می کند؟(یکبار باکمک متغیر مککی و بار دیگر بدون متغییر کمکی حل کنید )

 

8.    الگوریتمی بنویسید که دو مقدار را از ورودی خوانده٬ مقدار بزرگتر را در خروجی چاپ کند ؟

 

 

9.     الگوریتمی بنویسیدکه مجموع Nجمله ازسری زیررامحاسبه کند ؟ (فلوچارت هم رسم کنید) S= 1 – 2 +   3 - 4 + 5 – 6 +….+N

نوشته شده توسط پیراهنیان در ساعت 10:28 | لینک  | 

الگو ریتم : لیستی از دستورعمل هاست  که مراحل مختلف کار را به زبان دقیق و با جزئیات کافی بیان می کند ودر آن تر تیب  مراحل و خاتمه پذیر بودن عملیات باید کاملا مشخص باشد .

طراحی  الگوریتم برای مسئله

الگوریتم ها مراحل زیر را دارند :

1- خواندن داده ها

2- انجام محاسبات

3- چاپ نتایج

چگونگی حل مسئله

شناخت مسئله

طرح نقشه حل مسئله

تحلیل راه حل مسئله

روشهای بیان الگوریتم

3روش بیان الگوریتم عبارتند از :

بیان الگوریتم با جملات فارسی

بیان ریاضی الگوریتم

بیان الگوریتم توسط شکل ها مانند (فلوچارت ٬نمودارNS)

اشکال عمده بیان الگوریتم با جملات فارسی:

طولانی بودن الگوریتم  است .

از دستور های الگوریتم تفسیر های گوناگونی می شود .

اشکالات عمده بیان ریاضی الگوریتم :

وقتی الگوریتم طولانی باشد و یا پیچیدگی الگوریتم بیشتر شود مراحل الگوریتم دشوار می شود.

بیان الگوریتم توسط شکل ها:

به روش ها ی متفاوت امکان پذیر است. یکی از این روشها فلوچارت (flowchart) نام دارد که به آن نمودار گردش نیز می گویند وروش دیگر بیان الگوریتم توسط شکلها ٬ نمودار  NSاست .

نکته :در بیان الگوریتم توسط فلوچارت ٬از تعدادی شکل خاص استفاده می شود .

نوشته شده توسط پیراهنیان در ساعت 10:23 | لینک  | 

بر نامه چیست ؟ به مجموع دستور العمل هایی که برای انجام کار خاصی و با تر تیب خاصی نوشته شده اند گفته می شود توجه داشته باشید این دستوالعمل ها باید به تر تیب اجرا شوند . زبان های بر نامه نویسی کامپیوتر تحت بر نامه ای که به او داده می شود کار می کند اما اینکه چگونه این بر نامه ها به او داده می شود به عهده زبان بر نامه نویسی است به عبار ت دیگر زبان یک سیستم ارتباطی است وهرزبان بر نامه نویسی مجموعه ای ایست از علائم و قواعد و دستور العمل هایی که امکان ارتباط باکامپیوتر را برای کاربر فراهم می کند . به طور کلی این دستور العمل ها را به گروههای زیر تقسیم می کنیم: 1)دستور ورودی و خروجی : این دستور ها ارتباط بین دستگاه های ورودی و خروجی و پردازشگر مرکزی را بر قرار میکند دیسک ها هم ورودی و هم خروجی 2)دستور های محاسبه : دستور هایی هستند امکان عملیات جمع وتفریق وتقسیم و ضرب را فراهم می کند . 3)دستور های منطقی و مقایسه ای : این دستور ها به منظور انتقال کنترل بر نامه و انتخاب کردن و هم چنین ایجاد حلقه های تکرار مورد استفاده قرار می گیرد و همچنین در حین پردازش2 داده بر اثر اجرای یک دستورالعمل که از نوع منطقی می باشد باهم مورد مقایسه قرار می گیرند . 4)دستور های ذخیره و باز یابی : این دستور به منظور ذخیره کردن و باز یابی کردن اطلا عات به کار برده می شود . زبانهای برنامه سازی از نظر کاربردی برای انواع کار ها ی مختلف زبان های بر نامه نویسی خاصی وجود دارد بعضی از موارد کار برد زبانهای بر نامه سازی عبارتند از : 1)امور آموزشی: زبان های بر نامه سازی بیسیک و پاسکال به دلیل داشتن ویژگی های آموزشی به عنوان اولین زبان آموزشی مورد استفاده است . 2)بر نامه نویسی سیستم : زبان های مثل اسمبلی (assembly)٬cوada برای نوشتن نرم افزار های سیستم مورد استفاده قرار می گیرد . 3)هوش مصنوعی : زبان هایی مثل lisp٬ prolog برای این منظور مورد استفاده قرار می گیرد . 4)امور تجاری: در نوشتن بر نامه های کاربردی در زمینه تجاری از زبانهای بر نامه سازی و نرم افزار های خاصی استفاده می شود .بعضی از این نرم افزار هاعبارتند از : foxpro٬paradox 5)امور ویرایش متن ها : در این خصوص از زبانی به نام snobal استفاده می گردد. انواع زبانهای بر نامه سازی 1) زبان های سطح پایین low level: زبان هایی هستند در سطح ماشین و به دور از زبان طبیعی و محاوره ای انسان می باشد این زبان ها به سخت افزار ها وابسته اند به طوریکه هر پردازش گر زبان خاص خود را دارد کار کردن با این زبان ها مشکل بوده و نیاز به تخصص بوده و همچنین خطایابی وبررسی بر نامه ها به راحتی امکان پذیر نیست ولی به علت نزدیکی به سخت افزار سرعت اجرای بر نامه در این زبان بالااست . زبان های سطح پایین low level به دو دسته تقسیم می شوند : A.) زبان ماشین : مجموعه ای از صفر ویک از ان که به سخت افزار نزدیک است سرعت بالا دارد قوی هستند خیلی از کار ها را انجام می دهند .نیاز به مترجم نداردبه دلیل اینکه برنامه های این زبان باید در مبنای 2 نوشته شوند ٬بر نامه نویسی در آن بسیار دشوار است . B.) زبان اسمبلی : زبان ماشین است با این تفاوت که یک سری از دستورات به صورت کد در آمده است . بنابراین این روش بر نامه نویسی برای تبدیل این کد ها به زبان ماشین از نرم افزار خاصی به نام اسمبلر استفاده می شود .در مواقعی که نیاز به سرعت زیاد و زمان واقعی (real time)باشد بیشتر از این زبان بر نامه نویسی استفاده می گردد بر نامه نویسی در این زبان مستلزم آشنایی با سیستم است و دارای دشواری های خاص خودش است. 2) زبان های سطح بالا high level: دارای قواعدی نزدیک به زبان محاوره ای انسان می باشد که در آنها از علائم ٬حروف و کلمات زبان طبیعی استفاده شده پس این زبا ن ها نیاز به متر جم و مفسر دارند به طوریکه بر نامه را برای کامپیوتر قابل در ک نمایند وابستگی این زبان ها به سخت افزار خیلی کم است که می توانیم بگوییم وابستگی ندارد به خاطر اینکه در تمام کامپیوتر ها یی که باهم سازگاری دارند قابل استفاده می باشد به شرط اینکه متر جم ها ی آن برنامه در آن کامپیوتر وجود داشته باشد کار کردن با زبان های سطح بالا آسان تر است ولی سرعت اجرای بر نامه ها پایین تر است حتی خطا بی و بررسی بر نامه ها در این زبان راحتتر است رایج ترین این بر نامه ها عبارتند از :pascal٬c+٬c#٬fortran ٬basic٬……. 3) زبان های بسیار سطح بالا: زبانهای بانک اطلاعاتی و زبان های شبیه سازی مانندgpssزبانهای بسیار سطح بالا نام دارند . تاریخچه زبان های بر نامه سازی سا ل 1950: زبان های بر نامه سازی پیدا شده اند سالهای 1950تا 1955: به اسمبلی بر نامه نویسی می شده است . سالهای 1956تا1960: زبانها فر ترن 2 ٬الگول58(algol58)٬ کوبول(cobol)ولیپ(lisp)طراحی شده اند. سالهای 1960تا1965: یستم عامل و زبان های همه منظوره مطرح شدند.در این سال ها فر ترن4 ٬الگول60( algol60)٬ کوبول67(cobol)بهبود یافته وsnobal٬ aplبه وجود آمدند . سالهای1966تا1970: ماشین های IBM مدل360 370٬ به وجود آمدند و زبانهایPL\I ٬فر ترن66 استاندارد ٬الگول68 ( algol68)٬ کوبول65(cobol) و4_snobal٬ 360_ apl وsmula_67 طراحی شده اند. سالهای1971 تا1975: زبانهای کو بول 76 ٬ pl\iاستاندارد شدند و زبانهای پاسکال و c به وجود آمدند. سالهای 1976تا1980: زبانهایada٬ fortran_77طراحی گردیده اند . سال 1995 : زبان c++ استاندارد شده است.
نوشته شده توسط پیراهنیان در ساعت 19:33 | لینک  | 

جنبه های مختلف یک کامپیوتر  

کامپیوتر از دوبخش اصلی تشکیل شده است :

  1. سخت افزار (HARDWARE):

به اجزای قابل لمس کامپیوتر گفته می شود . این اجزا به هم مرتبط می باشند به طوری که هریک دچار مشکلی شود در دیگری هم  تاثیرخواهد داشت .  در کل سخت افزارکلیه دستگاههای الکتریکی٬الکترونیکی٬مکانیکی ٬سیستم های رابط و وسایل جانبی کامپیوتررا سخت افزاری گویند.مثل :واحد پردازش (CPU)٬صفحه نمایش ٬صفحه کلید ٬چاپگر٬... می باشد .

  1. نرم افزار (SOFTWARE) :

مکمل سخت افزار می باشد وسخت افزار بدون نرم افزار و بلعکس هیچ کاری نمی توانند انجام دهند به عبارت دیگر نرم افزار را روح و جان کامپیوتر می گویند که به کامپیوتر داده می شود .در کل مجموعه ای از یک یا چند برنامه که برای انجام کار خاصی نوشته شده باشند را نرم افزار می نامند .

انواع نرم افزار ها

نرم افزار ها به دو دسته تقسیم می شوند :

1)   نرم افزار های کار بردی) APPLICATION):

برنامه ها یی هستندکه یا خود کاربر آنهارا می نویسند ویا شرکت های نرم افزاری آنها را تهیه کرده و به صورت آماده ارایه می کنند مثل واژه پرداز ها

2)   نرم افزار های سیستم (SYSTEM):

نرم افزار هایی هستند که کامپیوتر برای فعال شدن و سرویس دهی به آنها نیاز داردکه برای بهره برداری سخت افزار وسایر نرم افزار ها به کار گرفته می شوند

 مهم ترین این نرم افزار ها عبارتند از :

الف)سیستم عامل    OS(OPERATING SYSTEM)

سیستم عامل یکی از مهم ترین برنامه های سیستم است که مدیریت  کامپیوتر ودستگاههای جانبی را بر عهده دارد این بر نامه را رابط بین سخت افزار و انسان می نامند اگر سیستم عامل نباشد کاربران باید با جزییات کار کامپیوتروتشکیلات سخت افزاری آن آشنایی کامل داشته تا بتوانند با آن کار کنند  

در حالت کلی سیستم عامل به دوگروه تقسیم می شوند :

1)     سیستم عامل های  تک منظوره :

این نوع سیسستم عامل ها در کامپیوتر های شخصی به کار می روند به طوریکه  در آن واحد یک کاربر می تواند از آن استفاده کند مثل سیستم عامل DOS معروفترین سیستم عاملی است که در ریز کامیوتر ها به کار گرفته می شود و مخفف کلمات (DISK OPERTING SYSTEM)به معنی سیستم عاملی که بر روی دیسک وجود دارد٬ است .

 

2)     سیستم عامل های چند کاربره چند منظوره:

این  نوع سیستم عامل ها حالت شبکه دارند به طوریکه در آن واحد چند ین کار بر می توانند از آن استفاده کنند .WINDOWS95به بالا ٬UNIX٬

                   ب) UTILITIESبر نامه های سودمند :

                   NS٬NC2000٬DN  برنامه هارا راحتر اجرا می کند .

                  ج)مترجم ها

 زبانی که کامپیوتر آن را درک می کند زبان ماشین نام دارد بنابراین برنامه هایی که به زبان ماشین نوشته می  شوند برای کا مپیوتر قا بل فهم  بوده  و اجرا می شوند اما بر نا مه هایی که به زبا نهای غیر از زبان ماشین مثل پاسکال و Cنوشته می شوندتوسط ماشین قا بل فهم  نیستند .لذا باید وسیله ای بنام مترجم و جودداشته باشد تا بر نامه های نوشته شده به یک زبان برنامه نویسی را به یک برنامه در زبان ماشین تبدیل کند این وسیله خودش یک بر نامه است ٬مترجم گویند هر زبان بر نامه سازی مترجم خاص خودش را دارد 

 انواع مترجم ها

متر جم ها دو دسته هستند :

   مفسر (interprete):

برنامه ها را سطر به سطر می خواند وترجمه می کند واجرا می کند.بنابر این فایل مقصد نخواهیم داشت .سرعت اجرا ءکم می باشد و برای اجرای مجدد برنامه باید مجدا بر نامه تر جمه شود .مفسر ها نیز بر نامه های سیستم می باشند که عمل تبدیل از زبان سطح بالا به زبان سطح پایین را انجام می دهد

2)   کامپایلر compiler

نرم افزاری است سیستمی که بر نامه ای نوشته شده با زبان سطح بالا را به بر نامه ای در سطح زبان ماشین تبدیل می کند به طوریکه دستورالعمل در حین اجرا به چندین دستورالعمل در زبان ماشین تبدیل می شوند در واقع کامپایلربر نامه مبدا را به عنوان ورودی گرفته و به صورت تبدیل شده به زبان ماشین با عنوان بر نامه مقصد تحویل می دهد .کامپایلر یکبارو یکجا  برنامه را ترجمه می کندبه جز زمانی که در بر نامه مبدا تغییراتی داده باشیم .

  

نوشته شده توسط پیراهنیان در ساعت 19:21 | لینک  | 

بلز پاسکال ریاضیدان، فیلسوف و فیزیکدان فرانسوی 19 ژوئن 1623 در کلرمون واقع در مرکز فرانسه – 19 اوت 1662 در پاریس، به دنیا آمد. کسی که او را «پاک ترین موجود جهان» نامیده اند. پدرش ریاست اداره مالیات کلرمون را به عهده داشت. خواهرش ژیلبرت زندگی نامة او را نوشت و خواهر دیگرش ژاکلین او را به صومعه کشانید تا خودش را وقف کلیسا کند و در واقع موجب مرگ او و بی بهره شدن جهان دانش از وجود یک نابغه شد.
پدرش به خاطر تحصیل او، از کار خود استعفا کرد و خانواده را به پاریس آورد (1639) در بیست و پنج سالگی فعالیت های علمی خود را رها کرد و به دیر «ژان سنیست ها» رفت چرا که «ژان سن» معتقد بود «دانش یک شهود روانی است شبیه اشتهای جسمی» و این همان پاسکال است که زمانی به شوهر خواهرش نوشته بود :«... گمان نمی کنم ناچار باشیم اندیشه ها و حکم هایی را که از گذشته به ما رسیده است، بپذیریم، مگر آنکه استدلالی منطقی و بی تردید داشته باشند و به نظر من نهایت ضعف و نادانی است که به حقیقت های روشن ومسلم گردن ننهیم و به اندیشه های کهنة خود باور داشته باشیم.»

پاسکال در 12 سالگی بسیاری از قضیه های هندسه اقلیدسی را پیش خود اثبات کرد. در 16 سالگی قضیه ای از هندسه تصویری را کشف کرد (قضیه پاسکال)، در همان سال کتاب «مقاطع مخروطی» را نوشت. در سال 1640 نخستین ماشین حساب را ساخت، نظریه احتمال را بنیان گذاشت. به جز آن کشف هایی در «تعادل آب گون ها» ، «فشار هوا» و غیر آن دارد. او کارهای مهمی در هیدروستاتیک (که به همین سبب واحد فشار، پاسکال نامیده میشود) انجام داد و بحثهایش با فرما در مورد مساله دومره نظریه احتمال را بنا نهاد.

مثلث پاسکال یا نمودار ضریب دو جمله ای، از آن او نبوداما وی آن را در محاسبه های احتمالش به کار برد. پاسکال در کار مربوط به یافتن مساحتهای اشکال منحنی الخط نیز شرکت داشت،کاری که منجر به حساب دیفرانسیل و انتگرال شد.

در کلیسا وقتی در 1668 به درد دندان مبتلا شد، برای نجات از درد به ریاضیات پناه برد و در 8 روز کتابی درباره انتگرال ها و دیگر کشف های خودش نوشت (در سال 1659 رساله ای درباره محاسبات دیفرانسیلی نوشته بود).اوسرانجام در سال 1662 در گذشت.

منبع سایتdaneshnameh.roshd.ir


نوشته شده توسط پیراهنیان در ساعت 10:49 | لینک  |