تور لحظه آخری
امروز : یکشنبه ، 4 آذر 1403    احادیث و روایات:  پیامبر اکرم (ص):عدالت نيكو است اما از دولتمردان نيكوتر، سخاوت نيكو است اما از ثروتمندان نيكوتر؛...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

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

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

زانوبند زاپیامکس

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

خرید بلیط هواپیما

بلیط اتوبوس پایانه

قیمت سرور dl380 g10

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

بهترین وکیل کرج

بهترین وکیل تهران

خرید اکانت تریدینگ ویو

خرید از چین

خرید از چین

تجهیزات کافی شاپ

بی متال زیمنس

ساختمان پزشکان

ویزای چک

محصولات فوراور

خرید سرور اچ پی ماهان شبکه

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

همکاری آی نو و گزینه دو

کاشت ابرو طبیعی و‌ سریع

الک آزمایشگاهی

الک آزمایشگاهی

خرید سرور مجازی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

قرص گلوریا

نمایندگی دوو در کرج

خرید نهال سیب

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

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

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

 






آمار وبسایت

 تعداد کل بازدیدها : 1833360639




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

مفهوم متغيردر ویژوال بیسیک


واضح آرشیو وب فارسی:فان پاتوق: چیست ؟
متغیرها اشیائی هستند که مقادیر را در خود نگه می دارند و همانطور که از نامش معلوم است مقدار آن می تواند تغییر کند
بدین معنی که متغیرها داده های ما را در خود ذخیره می کنند و ما در مواقع لزوم مقادیر آنها را بازیابی می کنیم و مورد استفاده قرار می دهیم .
متغیرها چند نوع است ؟
متغیرها انواع مختلف دارند و کاملا مشهود است که هر نوع متغیر مصرف بخصوصی دارد . گاهی اوقات می توان بعضی متغیر ها را به جای همدیگر مورد استفاده قرار داد اما این کار کاملا اشتباه است و با اصول برنامه نویسی تطابق ندارد .
چندین متغیر پر کاربرد وجود دارد که انها را به شما معرفی می کنم .
متغیرهای عددی :
Single : اعداد را در خود ذخیره می کند و می تواند مقادیر عددی از -3.402823E+38 تا 3.402823E+38 را در خود ذخیره کند
Integer : مقادیر عددی بئون نقطه اعشار که از -32768 تا 32767 ادامه دارند
Double : مقادیر عددی که می توانند از -1.79769313486232E+308 تا -1.79769313486232E+308 تغییر یابد . نوع داده ای Double اغلب به عنوان دقت مضاعف شناخته می شود .
String : مقادیر رشته ای را که شامل هر نوع کاراکتر باشد قبول می کند . از جمله حروف . اعداد و کاراکترهای نشانه مانند !@#$%
Currency : داده هايي كه مقادير پولي از -922.337.203.685.477.5808 تا -922.337.203.685.477.5808 را مي توانند نگه دارند . چهار رقم اعشاري امكان گرد كردن مناسب داده ها را فراهم مي آوردند . ويژوال بيسيك مطابق با تنظيمات بين المللي ويندوز عمل مي كند و مقادير پولي را با نيازهاي كشور شما مطابق مي سازد . وقتي كه مقادير Currency را وارد مي كنيد هيچگاه از علامت دلار را همراه با آنها وارد نشازيد . ( قابل توجه دانش آموزاني كه مي خواهند برنامه هاي حسابداري بنويسند )
Boolean : نوع داده اي كه تنها يكي از دو مقادير درست يا غلط را مي گيرد كه اين دو واژه از واژه هاي رزرو شده در ويژوال بيسيك مي باشند . درست = True و غلط = False .
Date : متغيري با قالب بندي تاريخ ايجاد مي كند و مي تواند تاريخ را در خود نگه دارد . تاريخ هر كشور به صورت قالب خاصي استفاده مي شود . مثلا در ايران متداول است كه تاريخ را اينگونه بنويسيم : 25/11/1384 اما در برخي كشورها اينگونه رايج است : 2006/25/11 و يا به گونه هاي خاص . در واقع اينكه سال اول نوشته شود يا ماه يا روز خود مسئله اي است كه مي توان انها را در متغيراز نوع Date اعمال كرد .
Long : مقادير صحيح با محدوده اي بيش از مقادير داده اي Integer . مقادير داده اي Long از -2.147.483.648 تا -2.147.483.648 مي توانند تغيير كنند . مقادير داده اي Long فضاي حافظه بيشتري نسبت به مقادير Integer مصرف مي كنند و كمتر كارآ هستند . نوع داده اي Long اغلب صحيح طويل خوانده ميشود .
خب . تا اينجا به اندازه كافي با انواع متغيرها آشنا شديد . اما اينجا سوالي پيش مي آيد .
چگونه بايد از متغيرها استفاده كنيم ؟
براي استفاده از متغير ها بايد 2 مرحله را پشت سر بگذاريم
1 ـ متغير را تعريف كنيم
2 ـ متغير را مقدار دهي كينم
مرحله اول كاملا ضروري مي باشد اما مرحله دوم نه . ممكن است شما متغييري را تعريف كنيد اما مقدار دهي نكنيد و مقدار دهي آن را به قسمت ديگري از برنامه واگذار كنيد .
مرحله اول ( تعريف يك متغير ) :
براي اينكه متغييري را به ويژوال بيسيك معرفي كنيم بايد از فرمان Dim استفاده كنيم نام متغير و نوع متغير همراه با فرمان Dim مي آيند و متغير تعريف مي شود . به صورت زير
نوع متغير As نام تغير Dim
مثال :
Dim A As Single
Dim B As String در فرامين بالا متغيري از نوع داده اي Single با نام A ايجاد كرديم و بعد متغيري از نوع رشته اي با نام B ايجاد كرديم . به همين سادگي
مرحله دوم ( مقداري دهي متغير ) :
حالا مي خواهيم متغيرهاي ايجاد شده را مقدار دهي كنيم . مقدار دهي با علامت = انجام مي شود . بدين صورت :
A = 10
B = "Visual Basic"
خيلي ساده است . به دو علامت كوتيشن در اطراف جمله Visual Basic دقت كنيد . براي اينكه يك متغير رشته اي را مقدار دهي كنيم بايد مقدار متغير را داخل دو علامت كوتيشن قرار دهيم وگرنه ويژوال بيسيك به ما ايراد مي گيرد و برنامه دچار مشكل مي شود . اما براي مقدار دهي ساير انواع متغير ها نبايد از علامت كوتيشن استفاده كرد .
B = "" يك رشته پوچ يا خالي مي باشد . يعني مقداري در آن ذخيره نشده است .
زیربرنامه ها در ویژوال بیسیک
اگر به دستورات هر برنامه ای که در VB6 نوشته شده است نظر بیندازید متوجه بلوک هایی از کد می شوید که بین دو خط تیره قرار دارند. این بلوک ها واحدهای محیط برنامه سازی ویژوال بیسیک هستند، که به هر کدام یک زیربرنامه می گوییم. هر زیربرنامه مسئول کنترل بخشی از برنامه است.
توجه داشته یاشیدکه برنامه نویس هنگام برنامه نویسی نمی تواند ترتیب اجرای زیربرنامه ها را پیش بینی کند، ولی در هر زیربرنامه اجرا از سطر اول شروع و تا سطر آخر زیربرنامه ادامه دارد.
زیربرنامه ها به دو نوع زیر تقسیم می شوند: Sub یا روال Function یا تابع در برخی از کتابها به توابع هم روال گفته می شود، ولی در این مقاله فقط به زیربرنامه های از نوع Sub روال اطلاق خواهد شد.
تابع:
برای ایجاد یک تابع از الگوی زیر استفاده می کنیم:Public | Private Function funName ( تعریف پارامترها ) As نوع داده خروجی تابع function body
End Function
با کلمه کلیدی Public می توانید تابع را در هر کجای برنامه فرا بخوانید؛ ولی کلمه کلیدی Private فراخوانی تابع را محدود به فرم یا ماژولی می کند که تابع در آن قرار دارد. کلمه Function می گوید که نوع زیربرنامه یک تابع است.
پارامترها دروازه ورود اطلاعات به زیربرنامه می باشند. اگر می خواهید تابع یک خروجی تولید کند باید نوع آن را مطابق الگو تعیین کنید. در این حالت می شود تابع را درون بدنه تعریفش یک متغیر نیز فرض کرد.
یک تابع برای این ایجاد می شود که با دریافت داده های خاص (آرگومان ها) از روتین فراخواننده و انتقال آنها به پارامترها، آنها را پردازش کرده و نتیجه مطلوب را تحویل دهد. این نتیجه می تواند یک خروجی از نوع داده باشد - مثلا یک عدد long -، می تواند خروجی قابل مشاهده روی نمایشگر باشد، می تواند دستکاری متغیرهای عمومی، . . .
مثال:
Public Function Power( ByVal m as integer, ByVal n as long ) As long
Power = m ^ n
End Function
تابع Power تعریف شده در کد فوق دو عدد صحیح را دریافت کرده، اولی را به توان دومی رسانده و حاصل را به عنوان نتیجه باز می گرداند. همانگونه که دیده می شود برای تحویل دادن نتیجه تابع آن نتیجه را با دستور انتساب به نام تابع نسبت می دهیم.
روال:
Subها معمولا توسط Visual Basic ایجاد می شوند و کنترل رویداد های برنامه را بر عهده دارند. ولی برنامه نویس هم می تواند در موقع لزوم اقدام به ایجاد آن نماید. اگرچه به ندرت لازم خواهد شد.
Public | Private Sub subName ( تعریفپارامترها )
sub body
End Sub
فرق اصلی Sub و Function در این است که تابع می تواند به طور صریح یک خروجی عددی و یا غیره را تحویل ما بدهد. روالها به غیر از این ویژگی سایر کارکردهای توابع را دارا می باشند.
جزئیات تعریف پارامترها:
تابع زیر را که برای تعیین اول بودن یک عدد نوشته شده در نظر بگیرید:
Public Function IsPrime ( ByVal n As Long , Optional i As Long = 2 ) As Boolean
Dim Sn, c As Double
Sn = Sqr ( n )
Do
c = n / i
i = i + 1
Loop Until c = int ( c ) Or i > Sn
IsPrime = IIF ( i > Sn , True , False) " if i > Sn : n is prime
End Function
.
.
.
a = 13
b = 101
key1 = IsPrime ( a )
key2 = IsPrime ( b , 7 )
دستور تعیین Key1 را در نظر بگیرید. کلمه کلیدی ByVal در تعریف تابع IsPrime باعث می شود که مقدار آرگومان ۱۳ در پارامتر n کپی شود. در حقیقت دو متغیر مستقل از هم در حافظه کامپیوتر بوجود می آید. به عبارت ساده تر تغییر در n سبب تفییر a نمی شود. اگر این کلمه (ByVal) نمی بود یا کلمه ByRef به جای آن می نشست وضع کاملا عکس می شد. یعنی هر تغییری ذر مقدار متغیر n باعث تغییر مقدار متغیر a نیز می شد.
کلمه کلیدی Optional قبل از تعریف i بدین معنی است که برنامه نویس مختار است مقداری برای i بفرستد یا نفرستد! در حالتی که برنامه نویس مقداری را برای i ارسال نکند با توجه به کد فوق مقدار پیش فرض 2 در i قرار خواهد گرفت.
ولی بدون دیدن تابع از کجا می توان فهمید که یک پارامتر Optional است؟ به تصویر زیر توجه کنید:

قابلیت بازگشت:
منظور از قابلیت بازگشت فرآیند تعریف یک رویه بر حسب خودش می باشد.
در VB6 همانند اکثر زبانهای دیگر توابع می توانند همدیگر را و بخصوص خودشان را فراخوانی کنند. تابعی که خود را فرا بخواند تابع بازگشتی نامیده می شود. روش بازگشتی یکی از مهمترین و شفاف ترین روشها برای حل برخی مسائل است. بطور مثال اگر تابع ریاضی y = fact ( n ) فاکتوریل را محاسبه کند می توان آن را بر حسب خودش به این صورت نوشت:
y = n * fact ( n - 1) if n > 1
y = 1 if n = 1
مرحله بالا مهمترین مرحله در حل یک مسأله به روش بازگشتی است. در ویژوال بیسیک برای طراحی تابع بالا می توان نوشت:
Public Function fact ( ByVal n as Long ) As Long
If n = 1 then fact = 1 : Exit Function
fact = n * fact ( n - 1 )
End Function
هر بار که تابعی خودش را فرا می خواند فضای مورد نیاز متغیرهای محلی جدید و پارامترها در پشته تخصیص می یابد و قسمت اجرایی تابع با متغیرهای جدید از ابتدا اجرا می شود. با پایان رسیدن نتیجه هر عبارت فراخوانی، متغیرهای محلی قدیمی و پارامترها از روی پشته برداشته می شوند و اجرا از نقطه آغاز فراخوانی در تابع ادامه می یابد. اصطلاحا گفته می شود که تابع بازگشتی حرکت تلسکوپی رو به جلو و عقب دارد.
پشته چیست؟ فهرستی از داده هاست که آخرین عنصر وارد شوندخ اولین عنصری است که از آن خارج می شود. مانند بشقابهای روی میز که روی هم چیده می شوند. آخرین بشقابی که گذاشته می شود (بشقاب رویی) اولین بشقابی است که برداشته می شود.
اگر تابع fact را با n=3 اجرا نمایید داریم:

با این حساب در تابع بازگشتی باید از if استفاده کرد، زیرا فراخوانی تابع بوسیله خود باید در جایی قطع شود، در غیر این صورت با خطای سر ریز پشته مواجه خواهید شد.
به عنوان مثالی دیگر دنباله فیبوناتچی رو در نظر بگیرید. این دنبالهکاربردهای زیادی در صنعت و رشته های مهندسی دارد و به صورت زیر تعریف می شود:
F ( n ) = 1 If n = 1 or n = 2
F ( n ) = F ( n - 1 ) + F ( n - 2 ) If n > 2
پیاده سازی این دنباله در محیط ویژوال بیسیک به صورت زیر است (بهتر است قبل از دیدن جواب خودتان نیز امتحان کنید):
Public Function Fibo ( ByVal n As Long ) As Long
if n = 1 or n = 2 Then
Fibo = 1
Else
Fibo = Fibo ( n - 1 ) + Fibo ( n - 2 )
End If
End Function
تابع بالا را می توانید به شکل زیر نیز باز نویسی کنید:
Public Function Fibo ( ByVal n As Long ) As Long
If n = 1 or n = 2 Then Fibo = 1 : Exit Function
Fibo = Fibo ( n - 1 ) + Fibo ( n - 2 )
End Function
نکته آموزشی: بد نیست بدانید که نسبت دو جمله متوالی از این سری برای n های به قدر کافی بزرگ به عدد طلائی (تقریبا 1.618) میل می کند.






این صفحه را در گوگل محبوب کنید

[ارسال شده از: فان پاتوق]
[مشاهده در: www.funpatogh.com]
[تعداد بازديد از اين مطلب: 722]

bt

اضافه شدن مطلب/حذف مطلب




-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن