PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزش qbasic -جلسه سوم >> ورود ي و خروجي



TAHA
09-22-2009, 01:25 AM
حال می خواهيم اولين برنامه خود را در QBasic بنويسيم . برای اين كار نياز به معرفی چند دستور داريم :

۱- دستور PRINT برای چاپ عدد رشته و يا مقادير متغيرها به كار می رود . فقط فراموش نكنيد اگر می خواهيد پيغامی نمايش دهيد رشته مورد نظر را حتما داخل علامت كوتيشن (") قرار دهيد برای مثال دستور زير عبارت This is my first program را چاپ می كند .

" PRINT "This is my first pogram

برای تركيب چند رشته يا متغير بايد بين متغيرها / رشته ها از ; يا , استفاده كنيد . در ادامه تفاوت اين دو را بيان خواهيم كرد .

۲- دستور INPUT برای دريافت مقادير (عددی و رشته اي) از كاربر به كار می رود . برای مثال دستور ! INPUT a يك عدد اعشاری با دقت مضاعف از كاربر دريافت می كند . وقتی دستور INPUT اجرا می شود به طور خودكار علامت ؟ روی صفحه نمايش چاپ شده و برنامه منتظر ورود داده از طرف كاربر می ماند . اما اين دستور را می توان طور ديگری نيز به كار برد . مثلا فرض كنيد می خواهيم به كاربر پيغام دهيم :"يك عدد وارد كن" و سپس اين عدد را در متغير a قرار دهيم . برای اين كار بايد ابتدا يك دستور PRINT برای چاپ رشته و سپس دستور INPUT را برای دريافت عدد به كار ببريم . مانند زير :

"PRINT "Enter a number

INPUT a

اما می توان اين كار را در يك خط انجام داد ! دستور INPUT اجازه چاپ پيغام را نيز به ما می دهد . به اين نكته توجه داشته باشيد : بين پيغام و نام متغير بايد ; يا , قرار دهيم . اگر از ; استفاده كنيم بعد از چاپ پيغام يك علامت سوال چاپ می شود و نشانگر بلافاصله بعد از علامت سوال قرار می گيرد ولی در صورت استفاده از , علامت سوال خودكار چاپ نمی شود و نشانگر بعد از يك tab فاصله روبه روی پيغام قرار می گيرد . به دستورات زير كه ترکيب دو دستور بالاست توجه كنيد و تفاوت های آنها را در خروجی مشاهده كنيد (فرض كنيد كاربر عدد ۲ را وارد می كند )

2 INPUT "Enter a number" , a \\ khorooji=> Enter a number

INPUT "Enter a number" ; a \\ khorooji=> Enter a number?2

حال دو دستور ساده ديگر را هم ياد بگيريد :

۱- REM : اين دستور برای اضافه كردن توضيحات به برنامه به كار می رود و اصولا زمانی كه مترجم برنامه به اين دستور می رسد بلافاصله به خط بعدی می رود و عبارت جلوی REM را ناديده می گيرد .

۲- END : استفاده از اين دستور نيز مانند REM اختياری است و نشان دهنده پايان برنامه است .

با توجه به درس جلسه قبل و اين جلسه با هم برنامه ای می نويسيم كه دو عدد از كاربر دريافت كرده و حاصل جمع آنها را نمايش دهد .

REM this program can add two numbers
".PRINT "I can add two numbers . please enter them
INPUT "Enter first number:",a
INPUT "Enter second number:",b
c=a+b
PRINT "Sum is :";c
END

مثالی از خروجی برنامه :

. I can add two numbers . please enter them
Enter first number: 31
Enter second number: 24
Sum is : 55

تمرين : برنامه ای بنويسيد كه ۳ عدد را دريافت كند و الف) حاصل جمع آنها را چاپ كند . ب) ميانگين آنها را چاپ كند .

نكته : اگر برنامه بالا را بنويسيد و اجرا نماييد متوجه می شويد كه اگر برای متغيرها علامت خاصی قرار ندهيد QBasic آنها را به عنوان عدد صحيح (integer) می شناسد و در نتيجه ميانگين نيز مقدار صحيحی نمايش داده می شود . برای دقيق تر شدن خروجی برنامه و اينكه ميانگين عددی اعشاری باشد بايد متغيرهای مربوط به سه عدد دريافتی , حاصل جمع و ميانگين از نوع اعشاری باشد . يعنی بايد متغيرها را مانند !a يا #a به كار ببريد تا خروجی برنامه دقيق و برابر مقدار واقعی ميانگين باشد .