آموزش پاسکال بخش اول زبان پاسكال يكي از زبانهاي برنامه سازي است كه ويژگيهاي آموزشي آن بسيار بالاست يعني زبان خوبي براي آموزش برنامه نويسي منظم و دقيق است.قابليت خوانايي و درك برنامه هاي اين زبان بالاست وميتوان برنامه هايي نوشت كه احتمال خطاهاي آنها بسيار اندك باشد علتش اين است كه يك زبان ساختار يافته (structed) است . ساختار كلي برنامه چيست؟ تعريف به وسيله procedure و functionقسمتهاي تكراري را از بين ببريم بدنه فرم كلي پاسكال : اسم برنامه Program ; تعريف ثابت const ; تعريف نوع type ; تعريف متغيرها var (پارامترها ) نام procedure begin ____ ____ ____ end ; ; ( پارامترها ) نام نوع تابع function begin ____ ____ ____ end ; begin ____ ____ ____ end . متغير : محلي است كه داراي يك اسم مي باشد و مي توان مقداري را در آن ذخيره كرد انواع متغيرها در پاسكال : Integer :انواع عددي صحيح شامل اعداد بدون نقطه مميز است نوع مقاديري كه مي پذيرند طول(بايت) نوع داده Byte : 0 تا 255 به طول 1 بایت نوع داه Shortint : -128 تا +127 طول 1 بایت نوع داده Integer : -32767 تا +32768 طول 2 بایت نوع داده Word : 0 تا 65535 طول 2 بایت نوع داده Long Int : -2147483648 تا +2147843647 کاراکتر (Char ) نوع داده كاراكتري كه با كلمه char مشخص مي شود ميتواند يك كاراكتر را در خود نگهداري كند بنابراين كاراكترها در يك بايت از حافظه كامپيوتر ذخيره مي شوند رشته (String ) اين نوع داده ها براي ذخيره رشته ها مثل اسامي افراد به كار مي رود و با كلمه كليدي string مشخص ي گردد براي هر رشته بايد طول معلوم كنيم اگر طولي تعريف نشود به طور پيش فرض 80 در نظر گرفته ميشود(مقدار طول حداكثر 255 است ) منطقی (Boolean ) نوع ديگري از داده ها در پاسكال وجود دارند كه داده هاي بولي خوانده مي شوند مقادير بولي داراي دو ارزش درستي يا نادرستي اند كه در پاسكال با صفر و يك نمايش داده مي شوند صفر به معني نادرستي و يك به معني درستي به كار ميرود اين نوع داده ها با كلمه Boolean تعريف ميشوند . دستورات ورودي در پاسكال : دستور Readlnبراي خواندن اطلاعات از ورودي به كار ميرود . فرمت آن به صورت مقابل است : Readln(اسامی متغیرها ) اسامي متغيرها بايد با كاما از يكديگر جدا شوند .. براي چاپ اطلاعات در خروجي از دستور ()writeln استفاده ميكنيم . فرمت آن به صورت مقابل است : writeln(' يك پيام ') writeln(متغیر) عبارت محاسباتي عملگر انتساب متغيرها =: مقدار ثابت متغير )=: متغير ) عبارت محاسباتي مثال : برنامه اي بنويسيد كه دو عدد را از ورودي دريافت و حاصلجمع آن دو را چاپ كند . Program add; Var a,b:integer; begin writeln('enter 2 num'); readln(a,b); c:=a+b; writeln('result is =',c); end. تكليف : چرا برنامه بايد ادب داشته باشد ؟ مثال : برنامه اي بنويسيد كه حقوق پايه وتعداد فرزندان يك كارگر را از ورودي دريافت و مبلغ حقوق وي را بر اساس فرمول زير حساب كنيد . 10*تعداد فرزندان + حقوق پايه =حقوق كل Program test; Var Salary:longint; Child:byte; kole:integer Begin Writeln('enter salary and number of child); Readln(salary,child); Kole := salary + child *10 Writeln('kole is ',kole); END. اولويت عملگرها : / * - + شرط : then شرط if Begin ____ ____ ____ end else begin ____ ____ ____ end; نكته : دستورالعمل قبل از IF سمي كالن نمي گيرد عناصر شرط : < > <= >= = <> اپراتورها : AND OR NOT XOR NOT A 1 0 0 1 XOR OR AND B A 0 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0 0 0 0 0 مثال : برنامه اي بنويسيد كه با دريافت دو عدد بزرگترين آنها را چاپ كند . Program test; Var a,b:integer; begin if a>b then writeln(a); end else writeln(b); end. مثال : برنامه اي بنويسيد كه با دريافت سه عدد به عنوان ضرايب y=ax2+bx+c معادله درجه دو را حل كند(اين برنامه را با يك If بنويسيد ) Var A,b,c:integer; D,x1,x2:real; Begin Writeln('enter a,b,c'); Readln(a,b,c); D:=b*b-4*a*c; If (d >=0 ) then Begin X1:=(-b+sqrt(d))/2*a); X1:=(-b-sqrt(d))/2*a); مثال : برنامه اي بنويسيد كه تعداد فرزندان وحقوق پايه و رتبه يك كارگر را از ورودي دريافت و حقوق كل وي را بر اساس فرمول زير حساب كند . كسريها - مزايا +بيمه = حقوق كل 5*رتبه +1000* تعداد فرزند = مزايا ماليات + بيمه = كسريها بيشتر كمتر يا مساوي 2 تعداد فرزند تعداد فرزندان 1000 بيمه هر چيزي ديگر 20 تا 0 رتبه حقوق پايه حقوق پايه*100/10 ماليات begin writeln('enter salary and grade and number of child'); readln(salary ,num,grade); if num<=2 then bimeh:=100 else bimeh :=num*500; if (grade>=0) and (grade<=20)then net := 10/100*salary else if grade >20 then begin net:=20/100*salary; mazaya:=num*1000+grade*50; kasry:=bimeh+net; kol :=salary + mazaya-kasry; end; writeln(kol); end. تكليف : در يك تركيب شيميايي 4 عنصر شركت دارند مقدار مجاز براي تهيه ماده اي به نام asxd به اين صورت است . A 0 ~ 50 S 0.5 ~ 0.83 X 81 ~ 92 or 824 ~ 901 D -100 ~ 100 با دريافت مقادير a,s,x,d از ورودي به ما بگويد كه آيا مي توان اين ماده را توليد كرد يا نه ؟ Begin Num:=0; Writeln('please enter a s x d'); Readln(a,s,x,d); If (a>0) and(a<50) then Num:=num+1; If (s>0.5)and (s<0.83) then Num:=num+1; If ((x>81)and(x<92))or ((x>824)and(x<901))then Num:=num+1; If (d>-100) and (d<100) then Num:=num+1; If num=4 then Writeln('yes can') Else Writeln('you can not'); End.