آموزش پاسكال درس ۱۱

مثال : برنامه ای بنویسید که یک رشته ( متن) را از کاربر بگیرد و آخرين حرف رشته را ستاره بگذارد.

;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[i]<>s[len-i+1] then
begin
;('عد متقارن نيست')writeln
halt
end
;('عد متقارن هست')writeln
.End

  
نویسنده : محمد ش.م. ; ساعت ٧:۱٢ ‎ب.ظ روز دوشنبه ۸ تیر ،۱۳۸۳


آموزش پاسکال درس ۱۰

 متغير 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   یعنی برنامه را تمام کن.

 

  
نویسنده : محمد ش.م. ; ساعت ٢:٥۳ ‎ب.ظ روز دوشنبه ۳۱ فروردین ،۱۳۸۳


آموزش پاسکال درس ۹

سلام

مثال : برنامه ای بنويسيد که سانتی متر را بگيرد و بر حسب اينچ چاپ کند .
 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   یعنی برنامه را تمام کن.

  
نویسنده : محمد ش.م. ; ساعت ۱٢:٠٩ ‎ق.ظ روز شنبه ٢٩ فروردین ،۱۳۸۳


آموزش پاسکال درس ۸

با سلام

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

===========================

 

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

: 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

یعنی اگر  برابر کاراکتر Q بود برنامه را تمام کن .

end   یعنی برنامه را تمام کن.   

  
نویسنده : محمد ش.م. ; ساعت ٤:٥٧ ‎ب.ظ روز شنبه ۱ فروردین ،۱۳۸۳


آموزش پاسکال درس ۷

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

مثال :

برنامه ای بنويسيد که مرتبا حروف را از کاربر بگيرد و اگر کاراکتر مورد نظر 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
اين متغير مكانی از حافظه است كه يك حرف را می توان درون آن جا داد .

==============================
دوستان اگر در فهم مثال ها مشكل داريد در قسمت پيشنهادات بپرسيد تا برايتون بيشتر توضيح بدهم .

  
نویسنده : محمد ش.م. ; ساعت ۱۱:۳٤ ‎ق.ظ روز پنجشنبه ۱٤ اسفند ،۱۳۸٢


آموزش پاسکال درس ۶

مثال :
برنامه ای بنويسيد که 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

در درس بعد از مثالی با شرح زير را برای شما می نويسم ولی شما سعی كنيد تا خودتان آن را بنويسيد . نتيجه را به من ايميل بزنيد تا ايرادهاي آن را به شما بگويم .

مثال درس بعد :
برنامه ای بنويسيد كه مرتبا حروف را از كاربر بگيرد و اگر حرف مورد نظر Q بود از برنامه خارج شود .

  
نویسنده : محمد ش.م. ; ساعت ۸:٢٧ ‎ق.ظ روز شنبه ٢٥ بهمن ،۱۳۸٢


آموزش پاسکال درس ۵

# دستور 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 را به تعداد دفعات بزرگی عدد در آن عدد ضرب می كند كه حاصل با راه حل رياضی نيز هماهنگی دارد .

+++++++++++++++++++++++++++++++++
در درس های بعد مثال هايی ديگر را همراه با آموزش ديگر دستور ها خواهم نوشت .

  
نویسنده : محمد ش.م. ; ساعت ٩:٤٩ ‎ق.ظ روز جمعه ۱٧ بهمن ،۱۳۸٢


آموزش پاسکال درس ۴

 # دستورfor

این دستور برای تکرار دستورات به کار می رود . به این ترتیب که تعداد دفعات تکرار دستور را با دو مقدار (اولیه و نهایی) مشخص می کنیم .

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

ساختار این دستور به صورت زیر می باشد .

;Program ibpersianblogcom

;Uses WinCRT

var

;integer:اسم شمارنده

Begin

do مقدار نهایی  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 => http://ib.co.sr' است .

مثال :

برنامه ای بنویسید که 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 نمایش داده خواعد شد .

  
نویسنده : محمد ش.م. ; ساعت ٩:٥٩ ‎ب.ظ روز سه‌شنبه ٧ بهمن ،۱۳۸٢


آموزش پاسکال درس ۳

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

# دستور 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 , در خط بالایش نباید ; قرار بگیرد که من با | نشان داده ام .

 

  
نویسنده : محمد ش.م. ; ساعت ۱٠:٤۸ ‎ق.ظ روز جمعه ۳ بهمن ،۱۳۸٢


آموزش پاسکال درس ۲

 # دستور: 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

  
نویسنده : محمد ش.م. ; ساعت ۸:٤۳ ‎ق.ظ روز یکشنبه ٢۸ دی ،۱۳۸٢


آموزش پاسکال درس ۱

# انواع زبان های برنامه نویسی:

زبان های نسل اول : زبان ماشین 010110

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

  زبان های نسل سوم : پاسکال ،3GL , Basic , Ada , PL1 , C T ...

 زبان های نسل چهام : دلفی ، ویژوال بیسیک ، جاوا ، asp.net

زبان های نسل پنجم : زبان های هوشمند

برای برنامه نویسی به سه چیز نیاز داریم : 1.الگوریتم 2.کامپیوتر 3.برنامه


برای دانلود زبان برنامه نويسی پاسکال به اين لينک برويد.

 

# ساختار کلی برنامه نویسی به زبان پاسکال :

نام برنامه Program

برای پاسکال تحت داس یا Uses WinCRT; برای پاسکال تحت ویندوز ;Uses CRT

Begin

دستورات

.End

:# دستور write

جهت نوشتن هر متنی روی صفحه ی مونیتور مورد استفاده قرار می گیرد .

;Program ibpersianblogcom

;Uses WinCRT

Begin

   ;('نوشته ی مورد نظر مثل=>Write(' This is made by ib.persianblog.ir

.End

:# دستور gotoxy

جهت دادن مختصات چاپ بکار می رود .

;Program ibpersianblogcom

;Uses WinCRT

Begin

;(Gotoxy(10,18

;('.Write('This is made by I.B

;(Gotoxy(5,10

;('Write(' ib.persianblog.ir is the weblog of IB programming group

.End

:# دستور CLRscr

 Begin جهت پاک کردن صفحه ی نمایش معمولا" بعد از قرار می گیرد .

:# دستور Textbackground

با استفاده از این دستور می توانیم رنگ زمینه را با استفاده از نام خود رنگ ها تغییر دهیم .(توجه : این دستور در توربو پاسکال تحت ویندوز کار نمی کند )

;Program ibpersianblogcom

;Uses WinCRT

Begin

CLR Scr

);Textbackground(green

);Gotoxy(10,18

;('Write('Our e-mail address is iran@programmer.net

.End

:# دستور Textcolor

جهت تغییر رنگ نوشته به کار می رود .(توجه : این دستور در توربو پاسکال تحت ویندوز کار نمی کند )

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

;Program ibpersianblogcom

;Uses WinCRT

Begin

;(Textbackground(green

CLR Scr

;(textcolor(red

('write('IB hopes to learn you pascal

;(textcolor(blue + blink

;('Write('you can ask your questions by wayiran@yahoo.com

.End

ادامه دارد ....

  
نویسنده : محمد ش.م. ; ساعت ٩:۱٧ ‎ب.ظ روز یکشنبه ۱٤ دی ،۱۳۸٢