[h=1][/h] [h=2]آموزش پاسکال درس ۲[/h] # دستور: writeln همان دستورwrite می باشد با این تفاوت که بعد از عمل نوشتن نوشته به خط بعد می رود . ;Program ibpersianblogcom ;Uses WinCRT Begin ;('writeln('IB hopes to teach you pascal .End استفاده از متغیر : داده ها اطلاعاتی هستند که از کاربر گرفته می شوند . مثلا اگر کامپیوتر باید عمل جمع را انجام دهد نیاز به اعدادی دارد تا آن ها را جمع کند که این اعداد همان داده هستند . برای این که بتوان از کاربر داده گرفت ما نیاز به متغیری داریم که این داده در آن قرار گیرد . برای استفاده از متغیر ها ابتدا باید آن ها را تعریف کرد . برای تعریف متغیر باید مانند قسمت هایی که به رنگ بنفس هستند عمل کرد . من در اینجا یک متغیر از نوع string (متنی) تعریف کرده ام . پس از تعریف متغیر باید داده را در آن قرار داد که برای این کار از علامت انتصاب یعنی := مانند قسمت قهوه ای استفاده می کنیم . ;Program ibpersianblogcom ;Uses WinCRT var ;a:string ;b:string Begin 'a:='hello ;a:=b ;(write (a ;(write (b End. متغیر متغیر ها انواع مختلفی دارند که هر نوع آن ها استفاده مخصوص به خود را دارند . مثلا متغیر strin برای متن وintegerبرای اعداد می باشد . در درس های بعد به طور مفصل متغیر ها را مورد بررسی قرار می دهیم . # دستورread این دستور برای گرفتن داده از کاربر مورد استفاده قرار می گیرد . مثال : این برنامه یرای مثال ابتدا 2 عدد از کاربر می گیرد و آن ها را جمع می کند ، سپس نتیجه را نمایش می دهد . همچنین دستورreadln داده ها را از کاربر در خط بعد می گیرد . ;Program ibpersianblogcom ;Uses WinCRT var ;a:integer ;b:integer Begin ;('write('enter two numbers to add ;(readln(a,b ;a:=a+b ;(write ('a=',a .End
پاسخ : برنامه نویسی با اسمبلي و پاسكال [h=1][/h] [h=2]آموزش پاسکال درس ۳[/h] امروز می خواهم یک دستور مهم و پر کاربرد را به شما آموزش بدهم : # دستور if این دستور را اگر بخواهیم با معنای فارسی آن که در ( ) نوشته ام بنویسیم اینطور می شود : (سپس)then شرط (اگر)if (شروع)begin ;دستورات ;(پایان)end که یعنی اگر شرط ما درست بود دستورات را انجام بده . مثال : در مثال زیر یک عدد از کاربر می گیریم و اگر آن عدد از 100 بزرگتر بود yes و اگر مساوی 100 بود yesno و اگر کوچکتر از 100 بود no را در جواب نمایش میدهد . ;Program ibpersianblogcom ;Uses WinCRT var ;a:integer Begin ;clr scr ;('write('enter greade of our weblog more than 100 or 100 or less than 100 ;(readln(a if a>100 then begin ;('writeln ('yes ;end if a=100 then begin ;('writeln ('yesno ;end if a<100 then begin ;('writeln ('no ;end .End همانطور که در مثال بالا دیدید در بیان شرط از علامت های <>= استفاده کرده ایم . در زیر اینگونه علامت ها را به طور کامل توضیح می دهیم . تساوی = نامساوی<> کوچکتر> بزرگتر< کوچکتر یا مساوی >= بزرگتر یا مساوی <= نکته ! اگر ما از دستور if در یک خط استفاده کنیم نیاز به brgin و end نیست مانند این مثال : ('if a=100 then writeln('yesno توجه ! از {} برای نوشتن توضیحات در وسط کد استفاده می شود . از این پس هر متنی را که در میان {} در کدها نوشتیم فقط برای توضیح بیشتر است . # دستور if به همراه else این دستور دقیقا" مثل if است ولی فقط قسمتی به نام else دارد که توضیح می دهم : (سپس)then شرط (اگر)if (شروع)begin ;دستورات |(پایان)end (در غیر اینصورت)else (شروع)begin ;دستورات ;(پایان)end ;End که یعنی اگر شرط ما درست بود دستورات قسمت اول را انجام بده و در غیر اینصورت اگر شرط درست نبود دستورات قسمت دوم را انجام بده . نکته ! قبل از else , در خط بالایش نباید ; قرار بگیرد که من با | نشان داده ام .
پاسخ : برنامه نویسی با اسمبلي و پاسكال [h=2]آموزش پاسکال درس ۴[/h] # دستورfor این دستور برای تکرار دستورات به کار می رود . به این ترتیب که تعداد دفعات تکرار دستور را با دو مقدار (اولیه و نهایی) مشخص می کنیم . برای استفاده از این دستور ما باید از قبل متغیر تعریف کنیم . ساختار این دستور به صورت زیر می باشد . ;Program ibpersianblogcom ;Uses WinCRT var ;integer:اسم شمارنده Begindo مقدار نهایی to مقدار اولیه := اسم شمارنده for begin دستورات ;end .End مثلا" : ;Program ibpersianblogcom ;Uses WinCRT var ;i:integer Begin for i:=1 to 200 do begin ;('writeln('visit our site => http://ib.co.sr ;end .End که در این دستور ما ابتدا متغیر i را از نوع integer تعریف کردیم . سپس با استفاده از دستور for از کامپیوتر خواستیم تا 200 بار دستور writeln را انجام دهد که نتیجه آن 200 بار نوشته شدن متن 'visit our site => co.sr - de beste bron van informatie over co. Deze website is te koop!' است . مثال : برنامه ای بنویسید که 5 عدد را بگیرد و معدل را بدهد . نکته : متغیر real برای اعداد اعشاری استغاده می شود . ;Program ibpersianblogcom ;Uses WinCRT var ;i:integer ;num:real ;average:real Begin for i:=1 to 5 do begin ;('writeln('please type your number ;(read(num avarage:=avarage+num ;end ;(writeln (avarage/5 .Endتوجه : در اینجا در دستور writeln ما avarage/5 را بین دو علامت ' ' نگذاشتیم چون : فقط وقتی از ' ' استفاده می کنیم که بخواهیم دقیقا" متن نوشته شده توسط ما چاپ شود یعنی در این مثال اگر 'avarage/5' را می نوشتیم خود avarage/5 چاپ می شد ولی اکنون که از ' ' استفاده نکرده ایم نتیجه ی تقسیم مقدار avarage به عدد 5 نمایش داده خواعد شد .
پاسخ : برنامه نویسی با اسمبلي و پاسكال [h=2]آموزش پاسکال درس ۵[/h] # دستور while این دستور برای تکرار دستورات به کار می رود . به این ترتیب که تا زمانی كه شرط صادق است دستورات بين begin و end تكرار می شود . فرق دستور while با for در اين است كه در for تعداد تكرار مشخص است ولی در while اين شرط است كه مشخص ميكند يك دستور چند بار تكرار می شود . ساختار این دستور به صورت زیر می باشد . do شرط while begin دستورات ;end مثال : در اين مثال كه از دستور while كمك گرفتيم كامپيوتر مرتبا' يك حرف را از كاربر می گيرد و اگر آن حرف برابر q بود متوقف می شود . ;program ibpersianblogcom ;uses wincrt var ;c : char begin ;clrscr ;(readln(c while c<>'Q' do begin ;(readln(c ;end .end * برای مرور درس های گذشته و نيزآشنايی با الگوريتم ها تصميم گرفتم تا كار را با چند مثال برنامه نويسی ادامه دهم : مثال ۱ : برنا مه ای بنويسيد كه يك عدد بگيرد و فاكتوريل آن را حساب كند و در آخر نتيجه را نمايش دهد . ;program faktoriel ;uses wincrt var ;fact,n,i : longint begin ;'(writeln('enter an integer number ;(readln(n fact:=1 for i:=1 to n do fact:=fact*i ;end ;(writeln('factorial=',fact .end + ما در اينجا از متغيير longint استفاده كرديم كه همان integer است ولی ظرفيت بيشتری دارد . + الگوريتم هم كه بسيار ساده است ابتدا عدد را از كاربر می گيرد بعد ۱ يا همان fact را به تعداد دفعات بزرگی عدد در آن عدد ضرب می كند كه حاصل با راه حل رياضی نيز هماهنگی دارد .
پاسخ : برنامه نویسی با اسمبلي و پاسكال [h=2]آموزش پاسکال درس ۶[/h] مثال : برنامه ای بنويسيد که N را از ورودی بگيرد و نتيجه اين سری را محاسبه كند . 1+2+3+4+....+N ;program seri ;Uses WinCrt var ;i,m,n : integer begin ;('writeln('Enter one number ;(readln(n ;m:=0 for i:=1 to n do begin ;m:=m+i ;end ;(writeln('Enter one number:',m .End مثال: برنامه ای بنويسيد كه اسامی ۱۰ نفر را بگيرد و آن كدام كه حرف اولش (با توجه به ترتيب حروف الفبای انگليسی) بزرگتر است را چاپ كند . ;program biger name ;uses wincrt var ;n,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10:string begin ;('writeln('Enter Name ;(readln(s1,s2,s3,s4,s5,s6,s7,s8,s9,s10 if s1<n then begin ;n:=s1 ;end if s2<n then begin ;n:=s2 ;end به اين ترتيب تا s10 می نويسيم ;(writeln('n=',n .end در درس بعد از مثالی با شرح زير را برای شما می نويسم ولی شما سعی كنيد تا خودتان آن را بنويسيد . نتيجه را به من ايميل بزنيد تا ايرادهاي آن را به شما بگويم .
پاسخ : برنامه نویسی با اسمبلي و پاسكال [h=1][/h] [h=2]آموزش پاسکال درس ۷[/h] مثال : برنامه ای بنويسيد که مرتبا حروف را از کاربر بگيرد و اگر کاراکتر مورد نظر Q بود از برنامه خارج شود . ;program myprog ;uses wincrt var ;c:char begin ;clrscr ;(readln(c while c<>'a' do begin ;(readln(c ;end ;end توضيح مثال بالا : دو خط اول كه برای نوشتن هر برنامه در پاسكال استفاده می شه . var را وقتی استفاده می كنيم كه بعدش بخواهيم متغير تعريف كنيم . ;c:char يعنی اين كه يك متغير از نوع char (كه می تواند حاوی يك حرف باشد) تعريف كرديم . begin يعنی اينكه می خواهيم برنامه نويسی را شروع كنيم . ;clrscr يعنی اينكه اگر در صفحه نوشته ای از قبل باقی مانده است اون را پاك كند . ;(readln(c يعنی اينكه از كاربر c را بپرس يعنی اينكه كاربر می تونه هر چيزی رو كه می خواهد در c قرار بگيره تايپ كنه while c<>'a' do begin ;(readln(c ;end در اينجا از دستور WHILE استفاده كردم و گفتم تا وقتی كه شرط درست نيست دستور بين begin و end را تكرار كن .در اينجا 'c<>'a همون شرط ما هستش و يعنی اينكه تا وقتی كه C نا مساوی a هستش دستورات بين begin و end را تكرار كن . ;(readln(c رو هم كه قبلا توضيح دادم . end هم كه يعنی تمام . متغير char اين متغير مكانی از حافظه است كه يك حرف را می توان درون آن جا داد .
پاسخ : برنامه نویسی با اسمبلي و پاسكال [h=2]آموزش پاسکال درس ۸[/h] به زودی لینک همه درس های آموزش پاسکال را یکجا برای شما قرار می دهم .ه : halt دستور این دستور جهت اتمام برنامه در هر زمانی مورد استفاده قرار می گیرد . ه : char متغییر این نوع متغییر مکانی از حافظه است که یک حرف یا کاراکتر می توان درون آن جای داد . ه : مثال با استفاده از دستورfor برنامه ای بنویسید که مرتبا حروف از کاربر بگیرد و اگر کاراکتر مورد نظر Q بود برنامه خاتمه پیدا کند . ;program ib ;Uses WinCrt var ;i:integer ;c:char begin ;('writeln ('Enter character for i:=1 to 28 do begin ;(readln (c if c='Q' then ;halt ;end ;end .end توضیح مثال بالا دو خط اول كه برای نوشتن هر برنامه در پاسكال استفاده می شه. var را وقتی استفاده می كنيم كه بعدش بخواهيم متغير تعريف كنيم. ;i:integer يعنی اين كه يك متغير از نوع inteegr تعريف كرديم (كه می تواند حاوی عدد باشد) ;i:char يعنی اين كه يك متغير از نوع charactr تعريف كرديم (كه می تواند حاوی حرف باشد) begin یعنی برنامه نویسی شروع شد. ;('writeln ('Enter character یعنی متنenter character را به کاربر نشان بده . for i:=1 to 28 do begin ;end یعنی دستورات بین begin و end را 28 بار تکرار کن . ;(readln (c یعنی c را از کاربر بخواه if c='Q' then ;halt ;end یعنی اگر C برابر کاراکتر Q بود برنامه را تمام کن . end یعنی برنامه را تمام کن.
پاسخ : برنامه نویسی با اسمبلي و پاسكال [h=2]آموزش پاسکال درس ۹[/h] سلام مثال : برنامه ای بنويسيد که سانتی متر را بگيرد و بر حسب اينچ چاپ کند . inch <= cm اطلا عات مورد نياز : 1inch = 1cm * 2.54 توجه : کاميوتر در حالت يش فرض، اعداد اعشاری را به صورت علمی نمايش می دهد . يعنی ۱۵ = ۱.۵ * ۱۰ ;Program ibprogram ;Uses WinCrt var ;n:real ;begin ;(':writeln('enter one real number ;(readln(n ;n:=n*2.54 ;(writeln('n=' , n .end توضیح مثال بالا دو خط اول كه برای نوشتن هر برنامه در پاسكال استفاده می شه. var را وقتی استفاده می كنيم كه بعدش بخواهيم متغير تعريف كنيم. ;n:real يعنی اين كه يك متغير از نوع real تعريف كرديم (كه می تواند حاوی اعداد حقيقی باشد) begin یعنی برنامه نویسی شروع شد. ;('writeln ('Enter one real number یعنی متن enter one real number را به کاربر نشان بده . ;(readln (n یعنی n يا همان عدد حقيقی را از کاربر بخواه ;n:=n*2.54 يعنی به جای مقدار n مقدار n*2.54 را قرار بده . ;(writeln('n=' , n يعنی < مقدار n = n > را به کاربر نشان بده. end یعنی برنامه را تمام کن.
پاسخ : برنامه نویسی با اسمبلي و پاسكال [h=1][/h] [h=2]آموزش پاسکال درس ۱۰[/h] متغير string اين متغير مكانی از حافظه است كه نوشته ها و متن (به تعداد 256 character) را می توان درون آن قرار داد . فرق آن با متغیر char در این است که متغیر char می تواند یک حرف را در خود جا دهد در حالی که string می تواند کلمه و یا حتی کلمات (متن) که تعداد حروف آن بیش تر از 256 character نباشد را در آن جا داد . توجه : رشته = string = متن یا نوشته بدست آوردن طول رشته (string) دستور length : از این دستور برای محاسبه تعداد حروف یک رشته استفاده می شود . مثال : برنامه ای بنویسید که یک رشته ( متن) را از کاربر بگیرد و طول رشته (تعداد حروف آن) را چاپ کند . ;program ibprogrammer ;Uses WinCrt var ;s:string ;begin ;(readln(s ;( (writeln( s , ' = ' , length(s .end توضیح مثال بالا دو خط اول كه برای نوشتن هر برنامه در پاسكال استفاده می شه. var را وقتی استفاده می كنيم كه بعدش بخواهيم متغير تعريف كنيم. ;s:string يعنی اين كه يك متغير از نوع string تعريف كرديم (كه می تواند حاوی متن باشد) begin یعنی برنامه نویسی شروع شد. ;(readln(s یعنی از کاربر بخواه تا متنی که باید درون s قرار بگیرد را تایپ کند . ;( (writeln( s , ' = ' , length(s یعنی طول رشته (تعداد حروف متن) را به کاربر به صورت زیر نشان بده ( اگر s = متن تایپ شده توسط کاربر=welcome to ib ) welcome to ib = 11 end یعنی برنامه را تمام کن.
پاسخ : برنامه نویسی با اسمبلي و پاسكال [h=1][/h] [h=2]آموزش پاسكال درس ۱۱[/h] مثال : برنامه ای بنویسید که یک رشته ( متن) را از کاربر بگیرد و آخرين حرف رشته را ستاره بگذارد. ;Program myprog ;Uses WinCRT var ;i:integer ;s:string begin ;('writeln('enter string ;(readln(s ;(i:=lenght(s ;'*'=:[s[i ;(writeln(s .end دستور تبديل int به str این دستور محتوي يك عد صحيح را به رشته تبديل مي كند ;(عدد,رشته)str دستور mod براي تعين زوج يا فرد بودن يك عد مورد استفاده قرار مي گيرد و اگر باقي مانده آن عد تقسيم بر دو صفر بود زوج و در غير اينصورت فرد است mod 2=0 عدد مثال : برنامه ای بنویسید که عدد از كاربر بگيرد و بگويد كه عدد متقارن است و اگر نبود بگويد كه عدد متقارن نيست ;Program myprog ;Uses WinCRT var ;i,len:integer ;s:string begin ;('writeln('enter number ;(readln(i ;(str(i,s (len:=lenght(s if len mod 2=0 then begin ;('عد متقارن نيست')write ;halt end; for i:=1 to len/2 do begin if s<>s[len-i+1] then begin ;('عد متقارن نيست')writeln halt end ;('عد متقارن هست')writeln .End