رفتن به مطلب

پاسخ تمرینات تاپیک آموزش اسکریپت نویسی در ویژال بیسیک (VBScript)


Shining Star

ارسال های توصیه شده

سلام

ممنون از تاپیک آموزش و تاپیک پاسخ تمرینات

اینجا میتونه محلی برای چک کردن تمرینها و رفع اشکال باشه

مرسی:icon_gol::icon_gol::icon_gol:

 

جواب تمرین 1 پست 2:

[left][color=#333333][i]wscript.echo "This is the first problem for vbscripting workshop."& vbNewLine &"..." &"I am a member of noandishaan forum  and i'm learning vbscripting there"[/i][/color][/left]

لینک به دیدگاه
سلام

ممنون از تاپیک آموزش و تاپیک پاسخ تمرینات

اینجا میتونه محلی برای چک کردن تمرینها و رفع اشکال باشه

مرسی:icon_gol::icon_gol::icon_gol:

 

جواب تمرین 1 پست 2:

[left][color=#333333][i]wscript.echo "This is the first problem for vbscripting workshop."& vbNewLine &"..." &"I am a member of noandishaan forum  and i'm learning vbscripting there"[/i][/color][/left]

 

بسیار عالی. درسته :ws31:

 

بعد از نوشتن خط اول از دستور vbnewline استفاده میکنیم و خط دوم رو مینویسیم.

 

ممنون ناصر جان :icon_gol:

لینک به دیدگاه

پاسخ تمرین 2 مربوط به پست2:

فقط نمیدونم دسرته یا نه اما موقع اجرا همون چیزی میشه که ما میخوایم

اولش خواستم با _ زیر خط اینکار رو بکنم اما نشد

واسه همین از سه دستور

vbnewline استفاده کردم

wscript.echo "Just" & vbNewLine & vbNewLine & vbNewLine & "Mchanic"

لینک به دیدگاه
پاسخ تمرین 2 مربوط به پست2:

فقط نمیدونم دسرته یا نه اما موقع اجرا همون چیزی میشه که ما میخوایم

اولش خواستم با _ زیر خط اینکار رو بکنم اما نشد

واسه همین از سه دستور

vbnewline استفاده کردم

wscript.echo "Just" & vbNewLine & vbNewLine & vbNewLine & "Mchanic"

 

دقیقا نکتش همین بود که نوشتی. هر vbnewline یک خط میبره پایین متن رو :w16:

 

برای اینکه چند خط فاصله خالی بزاریم از چند تا vbnewline پشت هم استفاده میکنیم :w16:

 

ممنون ناصر جان :icon_gol:

لینک به دیدگاه

سوال:

 

3- تمرینات قسمت اول (پست قبلی) رو با هم ترکیب کنید و در یک فایل بنویسید. طوریکه بعد از اجرا اول جواب تمرین اول رو نشون بده و بعد جواب تمرین دوم. توضیحات مربوط به هر مرحله رو هم سعی کنید به انتهای دستور اضافه کنید (با کاراکتر '). بسیار ساده هست حل این تمرین.

 

پاسخ تمرین شماره 3 مربوط به پست#3

wscript.echo "This is the first problem for vbscripting workshop."& vbNewLine &"..." &"I am a member of noandishaan forum and i'm learning vbscripting there" 'tozihat
wscript.echo "just" & vbNewLine & vbNewLine & vbNewLine & "mechanic" 'esme karbari

لینک به دیدگاه

تمرین4:

4- کد زیر رو بنویسید و پاسخ خروجی رو تحلیل کنید.

Wscript.Echo "Line One" : Wscript.Echo 100

Wscript.Echo 100 + 100

Wscript.Echo "100 + 100" 'this is string

Wscript.Echo Now : Wscript.Echo "Now"

 

جواب:

خط اول : line one اجرا میشه بعد از اوکی کردن دستور بعدی اجرا میشه که 100 رو مینویسه

خط دوم: 100+100 اجرا میشه اما چیزی که نمایش داده میشه 200 هستش چون علائم ریاضی تعریف شده و نتیجه ی نهایی رو میذاره

خط سوم:چون 100+100 داخل کوتیشن هستش دقیقا همون رو نمایش میده در واقع هر چیزی داخل کوتیشن باشه روو بدون تغییر نشون میده

خط چهارم:now اجرا میشه که تایم و تاریخ سیستم رو نشون میده و در مرحله بعد با توجه به این now بعدی کوتیشن داره فقط now نمایش داده میشه

این تمرین در واقع برای درک تفاوت نمایش دستورات با کوتیشن و بددون کوتیشن هستش

لینک به دیدگاه
سوال:

 

3- تمرینات قسمت اول (پست قبلی) رو با هم ترکیب کنید و در یک فایل بنویسید. طوریکه بعد از اجرا اول جواب تمرین اول رو نشون بده و بعد جواب تمرین دوم. توضیحات مربوط به هر مرحله رو هم سعی کنید به انتهای دستور اضافه کنید (با کاراکتر '). بسیار ساده هست حل این تمرین.

 

پاسخ تمرین شماره 3 مربوط به پست#3

wscript.echo "This is the first problem for vbscripting workshop."& vbNewLine &"..." &"I am a member of noandishaan forum and i'm learning vbscripting there" 'tozihat
wscript.echo "just" & vbNewLine & vbNewLine & vbNewLine & "mechanic" 'esme karbari

 

آفرین ناصر جان. برای ترکیب دوتا کد خیلی راحت دوتا کد رو زیر هم مینویسیم :w16:

 

تمرین4:

4- کد زیر رو بنویسید و پاسخ خروجی رو تحلیل کنید.

جواب:

خط اول : line one اجرا میشه بعد از اوکی کردن دستور بعدی اجرا میشه که 100 رو مینویسه

خط دوم: 100+100 اجرا میشه اما چیزی که نمایش داده میشه 200 هستش چون علائم ریاضی تعریف شده و نتیجه ی نهایی رو میذاره

خط سوم:چون 100+100 داخل کوتیشن هستش دقیقا همون رو نمایش میده در واقع هر چیزی داخل کوتیشن باشه روو بدون تغییر نشون میده

خط چهارم:now اجرا میشه که تایم و تاریخ سیستم رو نشون میده و در مرحله بعد با توجه به این now بعدی کوتیشن داره فقط now نمایش داده میشه

این تمرین در واقع برای درک تفاوت نمایش دستورات با کوتیشن و بددون کوتیشن هستش

 

توضیحاتت کامل بود دیگه همه چیزو گفتی hapydancsmil.gif

 

ممنون ناصر جان. خیلی عالی بود :w16: :icon_gol:

لینک به دیدگاه

سوال:
کد زیر را تحلیل کنید

const yarane = 45000 'defining a constant
dim yoursalary, sum, yourname 'define some variables with dim command




'give the users name as an input:
yourname = inputbox("What is your name?","just mechanic")




'give the users salary as an input:
yoursalary = inputbox("How much is your salary? (in tomans)","just mechanic")




sum = yarane + yoursalary 'compute total income
msgbox "total monthly income of " & yourname & " is: " & sum & " tomans" 'show total income and name







جواب:
خط اول: مقدار یارانه رو ثابت و به مقدار 45000 قرار میدیم
خط دوم: متغییر هامون رو تعریف میکنیم
خط سوم: یک توضیح هستش برای اینکه چگونگی روند اجرای برنامه رو متوجه بشیم و عنوان میکنه که نام کاربر رو بگیر
خط چهارم: درواقع توضیحات خط سوم رو اجرایی میکنه و کادری باز میشه که از کاربر اسمش رو میپرسه
ناگفته نمونه که اسم خودتون رو به عنوان سربرگ کادر قرار دادیک که من به اسم خودم عوضش کردم:ws3:
خط پنجم: این خط هم توضیحات هستش و عنوان میکنه که درامد کاربر رو بگیر
خط ششم: دستوری هست که در اون از کاربر مقدار درآمدشو بر حسب تومان رو میپرسه (بازم اسم خودتون به عنوان سر بزگ)
خط هفتم: sum رو به عنوان مجموع یارانه و درآمد محاسبه میکنه
خط هشتم: در آخر میزان درآمد ماهیانه کل کاربر رو بر حسب تومان مشخص میکنه
:ws3:
لینک به دیدگاه

سوال:

کد زیر را تحلیل کنید

const yarane = 45000 'defining a constant
dim yoursalary, sum, yourname 'define some variables with dim command




'give the users name as an input:
yourname = inputbox("What is your name?","just mechanic")




'give the users salary as an input:
yoursalary = inputbox("How much is your salary? (in tomans)","just mechanic")




sum = yarane + yoursalary 'compute total income
msgbox "total monthly income of " & yourname & " is: " & sum & " tomans" 'show total income and name

 

 

 

 

 

جواب:

خط اول: مقدار یارانه رو ثابت و به مقدار 45000 قرار میدیم

خط دوم: متغییر هامون رو تعریف میکنیم

خط سوم: یک توضیح هستش برای اینکه چگونگی روند اجرای برنامه رو متوجه بشیم و عنوان میکنه که نام کاربر رو بگیر

خط چهارم: درواقع توضیحات خط سوم رو اجرایی میکنه و کادری باز میشه که از کاربر اسمش رو میپرسه

ناگفته نمونه که اسم خودتون رو به عنوان سربرگ کادر قرار دادیک که من به اسم خودم عوضش کردم:ws3:

خط پنجم: این خط هم توضیحات هستش و عنوان میکنه که درامد کاربر رو بگیر

خط ششم: دستوری هست که در اون از کاربر مقدار درآمدشو بر حسب تومان رو میپرسه (بازم اسم خودتون به عنوان سر بزگ)

خط هفتم: sum رو به عنوان مجموع یارانه و درآمد محاسبه میکنه

خط هشتم: در آخر میزان درآمد ماهیانه کل کاربر رو بر حسب تومان مشخص میکنه

:ws3:

 

کاملا درسته ناصر جان hapydancsmil.gif

 

مرسی :a030: :icon_gol:

لینک به دیدگاه

جواب تمرین 5 مربوط به پست ششم :

 

5- کدی بنویسید که یک عدد از کاربر بگیره. اولا تشخیص بده که کاربر عدد وارد کرده یا نه.بعد اگر عدد مثبت بود بنویسه
positive
و اگر عدد منفی بود بنویسه
negative
. اگر هم صفر بود بنویسه
zero

 


[/indent]


[left][indent]dim a[/left]

[/indent]

[left][indent=10]a = inputbox("enter an integer number","input box")
[/left]

[/indent]

[left][indent]if IsNumeric(a) then
if a<0 then
msgbox "you entered a negative number"
elseif 0<a then
msgbox "you entered a positive number"
else
msgbox "you entered zero"
end if

[/left]

[/indent]

[left][indent=3]else
msgbox "OH MY GOD !!!" & vbnewline & "i just ask you to enter an integer, you genius!!!"
end if
[/left]

[/indent]

[indent]


لینک به دیدگاه
جواب تمرین 5 مربوط به پست ششم :

5- کدی بنویسید که یک عدد از کاربر بگیره. اولا تشخیص بده که کاربر عدد وارد کرده یا نه.بعد اگر عدد مثبت بود بنویسه
positive
و اگر عدد منفی بود بنویسه
negative
. اگر هم صفر بود بنویسه
zero

 

[/right]


[left][indent]dim a[/indent]


[indent=10]a = inputbox("enter an integer number","input box")
[/indent]


[indent]if IsNumeric(a) then
if a<0 then
  msgbox "you entered a negative number"
   elseif 0<a   then
  msgbox "you entered a positive number"
       else
  msgbox "you entered zero"
end if

[/indent]


[indent=3]else
  msgbox "OH MY GOD !!!" & vbnewline & "i just ask you to enter an integer, you genius!!!" 
end if
[/indent]
[/left]

[right]

 

کاملا درسته. ممنون نیکا خانوم :icon_gol: hapydancsmil.gif

لینک به دیدگاه

پاسخ تمرین 6

 

 

 

6- با استفاده از نکات این پست، کدی بنویسید که ساعت سیستم رو بگیره. بعد اگه ساعت بین 0 تا 8 بود بنویسه MIDNIGHT. اگه بین 8 تا 12 بود بنویسه morning. اگه بین 12 تا 15 بود بنویسه afternoon. بین 15 تا 19 بود بنویسه evening و در نهایت اگه هیچکدم این ها نبود بنویسه it's night

 

 

 



[left][indent]x=hour(now())
if x>=0 and x<8 then
  msgbox "  it's mid night ! "
 elseif x>=8 and x<12 then
  msgbox " it's morning!"
 elseif x>=12  and x<15 then
  msgbox " it's afternoon"
 elseif x>=15  and x<19 then
  msgbox " it's evening ! "
   else
  msgbox " it's night"
end if 
[/left]
[/indent]

لینک به دیدگاه
پاسخ تمرین 6

 

 

 

6- با استفاده از نکات این پست، کدی بنویسید که ساعت سیستم رو بگیره. بعد اگه ساعت بین 0 تا 8 بود بنویسه MIDNIGHT. اگه بین 8 تا 12 بود بنویسه morning. اگه بین 12 تا 15 بود بنویسه afternoon. بین 15 تا 19 بود بنویسه evening و در نهایت اگه هیچکدم این ها نبود بنویسه it's night

 

 

 



[left][indent]x=hour(now())
if x>=0 and x<8 then
  msgbox "  it's mid night ! "
 elseif x>=8 and x<12 then
  msgbox " it's morning!"
 elseif x>=12  and x<15 then
  msgbox " it's afternoon"
 elseif x>=15  and x<19 then
  msgbox " it's evening ! "
   else
  msgbox " it's night"
end if 
[/indent]

[/left]

 

دقیقا درسته جوابتون hapydancsmil.gif

 

کدی که نوشتید اول میاد ساعت سیستم رو با دستور hour میگیره. بعد با دستور شرطی if میاد میبینه که ساعت تو کدوم محدوده شبانه روز قرار داره. آخرشم متناسب با همون محدوده یه پیام به کاربر نشون میده :w16:

 

ممنون نیکا خانوم :icon_redface: :icon_gol:

لینک به دیدگاه

پاسخ تمرین 7

 

 

 

 


x = inputbox("enter first number")
If x = "" Then
    MsgBox "You didnt enter anything!"
Else
y = inputbox("enter second number")
if y = "" then
        MsgBox "You're not very good with computers, are you?",,"*sigh*"
end if
end if

t = adder(x,y)
msgbox "You entered " & m & " and " & n & " which totals " & t,,"Well done!"

function adder(m,n)
adder = cInt(m) + cInt(n)
end function

 

7- کد بالا رو تحلیل کنید و خط به خط توضیح بدید.

 

 

خط اول : یه input boxداریم که عددی وارد میکنیم و به متغیر x نسبت داده میشه

خط دوم : دستور if میگه اگه x خالی بود

خط سوم: پیغام میده که چیزی وارد نشده

خط چهارم: در غیر اینصورت یعنی اگه عددی وارد کردیم

خط پنجم : یه inputbox دیگه داریم و عدد دوم رو باید وارد کنیم

خط ششم : اگه عدد دوم رو وارد نکردیم و خالی گذاشتیم

خط هفتم : پیغامی با عنوان *sigh* ظاهر میشود

خط هشتم و نهم هم که پایان شرط است .

خط دهم : مقدار xوy را به تابع adder فرستاده و جمع آنها را در متغیر t میریزد .

خط یازدهم : پیغامی ظاهر میشود که جمع دو عددی که وارد کرده بودیم را نمایش میدهد.

خط دوازدهم : یک function تعریف شده با دو پارامتر mو n ( که همان xو y بالا هستند )

خط سیزدهم : مقدار m و n را ابتدا به int تبدیل کرده ( cint) و بعد با هم جمع کرده ، اگر cint را قبل از متغیرها نگذاریم اعداد را کنار هم بصورت دو رشته قرار میدهد .

خط چهاردهم : پایان تابع :hapydancsmil:

 

بجای function نمیتوان از sub استفاده کرد .

لینک به دیدگاه
پاسخ تمرین 7

 

 

 

 


x = inputbox("enter first number")
If x = "" Then
    MsgBox "You didnt enter anything!"
Else
y = inputbox("enter second number")
if y = "" then
        MsgBox "You're not very good with computers, are you?",,"*sigh*"
end if
end if

t = adder(x,y)
msgbox "You entered " & m & " and " & n & " which totals " & t,,"Well done!"

function adder(m,n)
adder = cInt(m) + cInt(n)
end function

 

7- کد بالا رو تحلیل کنید و خط به خط توضیح بدید.

 

 

خط اول : یه input boxداریم که عددی وارد میکنیم و به متغیر x نسبت داده میشه

خط دوم : دستور if میگه اگه x خالی بود

خط سوم: پیغام میده که چیزی وارد نشده

خط چهارم: در غیر اینصورت یعنی اگه عددی وارد کردیم

خط پنجم : یه inputbox دیگه داریم و عدد دوم رو باید وارد کنیم

خط ششم : اگه عدد دوم رو وارد نکردیم و خالی گذاشتیم

خط هفتم : پیغامی با عنوان *sigh* ظاهر میشود

خط هشتم و نهم هم که پایان شرط است .

خط دهم : مقدار xوy را به تابع adder فرستاده و جمع آنها را در متغیر t میریزد .

خط یازدهم : پیغامی ظاهر میشود که جمع دو عددی که وارد کرده بودیم را نمایش میدهد.

خط دوازدهم : یک function تعریف شده با دو پارامتر mو n ( که همان xو y بالا هستند )

خط سیزدهم : مقدار m و n را ابتدا به int تبدیل کرده ( cint) و بعد با هم جمع کرده ، اگر cint را قبل از متغیرها نگذاریم اعداد را کنار هم بصورت دو رشته قرار میدهد .

خط چهاردهم : پایان تابع :hapydancsmil:

 

بجای function نمیتوان از sub استفاده کرد .

 

احسنت نیکا خانوم باریکلا کاملا درست بود hapydancsmil.gif

 

بعضی جاهاش که فکر میکردم سخت باشه رو هم توضیح دادی. ولی اجازه بده منم کاملش کنم.

 

بچه ها دستور inputbox از کاربر وقتی اطلاعات میگیره اون ها رو به صورت رشته ذخیره میکنه. مثلا تو این کد وقتی ما اعداد 4 و 8 رو به ترتیب وارد کنیم، میاد این اعداد رو به صورت رشته ذخیره میکنه تو حافظه. ولی ما دو تا رشته رو نمیتونیم با هم جمع کنیم. در واقع وقتی ما دو تا رشته رو با هم جمع کنیم تنها اتفاقی که میفته اینه که میاد رشته هارو کنار هم قرار میده. پس وقتی دو تا عدد رو که به صورت رشته هستند بخوایم جمع یا تفریق یا .... کنیم، اول با دستور cint میایم اون هارو به integer یا همون عدد صحیح تبدیل میکنیم و بعدش جمع میکنیم.

 

یه توضیح دیگه راجع به تفاوت sub و function:

 

هر جا خواستیم تابعمون یه محاسباتی رو انجام بده و یه خروجی برای ما بفرسته (مثل همین مثال) باید از function استفاده کنیم چون sub چیزی رو نمیتونه برگردونه. اما اگه زیربرنامه ما قرار نباشه چیزی رو به ما برگردونه از هر دو میتونیم استفاده کنیم.

نکته: همیشه به جای sub میشه از function استفاده کرد ولی گاهی اوقات به جای function نمیشه از Sub استفاده کرد.

 

ممنون نیکا خانوم :icon_gol:

لینک به دیدگاه

پاسخ تمرین 8

 

 

 

 

 

 

8- تمرین شماره 5 رو با select case حل کنید تا بفهمید محدودتی که گفتم معنیش چیه.

 

 

 

 


[left][indent][color=#ff0066]dim k,z
k= inputbox("entered an integer number ", "input box ")
if IsNumeric(k) then
 showsituation(k)
else
msgbox "i just ask you to enter an integer, you genius!!!"
end if
sub showsituation(z)
 Select Case z
   Case -1
   msgbox " that's negative number "
   Case 1
   msgbox " that's positive number "
   Case 0
   msgbox " that's zero number "
       case else 
       msgbox " that's wrong !!!!! " & vbnewline& " please, entered  else :"
End Select
end sub[/color]
[/left]
[/indent]

 

:ws37:

لینک به دیدگاه

پاسخ تمرین 9

 

 

 

9- کدی بنویسید که از کاربر بپرسه آیا مولتی یوزره یا نه :ws3:. تابلوئه که باید از دکمه های yes و no استفاده کنید دیگه. اگه جواب مثبت بود بنویسه It's a shame :ws3:. اگه منفی بود بنویسه REALLY ??? o-O :ws3:

 

 

 

 




[left][indent][color=#006699]a = msgbox (" are you multi user , aren't you ?!! " &vbnewlinw& "select one of these options:",4,"noandishaan.com/forums") 
select case a 
case vbyes msgbox " It's a shame √ " 
case vbno msgbox " REALLY ??? o-O  "
 
end select[/color] 
[/left]
[/indent]


لینک به دیدگاه
پاسخ تمرین 8

 

 

 

 

 

 

8- تمرین شماره 5 رو با select case حل کنید تا بفهمید محدودتی که گفتم معنیش چیه.

 

 

 

 


[left][indent][color=#ff0066]dim k,z
k= inputbox("entered an integer number ", "input box ")
if IsNumeric(k) then
 showsituation(k)
else
msgbox "i just ask you to enter an integer, you genius!!!"
end if
sub showsituation(z)
 Select Case z
   Case -1
   msgbox " that's negative number "
   Case 1
   msgbox " that's positive number "
   Case 0
   msgbox " that's zero number "
       case else 
       msgbox " that's wrong !!!!! " & vbnewline& " please, entered  else :"
End Select
end sub[/color]
[/indent]

[/left]

 

:ws37:

 

این کد فقط تو حالتی جوا میده که کاربر یکی از اعداد 0 و 1 و1- رو وارد کرده باشه. یکمی بیشتر فکر کنید حتما راهش رو پیدا میکنید :w16:

 

البته مجبورید از if هم استفاده کنید برای حل این تمرین :w16:

لینک به دیدگاه
پاسخ تمرین 9

 

 

 

9- کدی بنویسید که از کاربر بپرسه آیا مولتی یوزره یا نه :ws3:. تابلوئه که باید از دکمه های yes و no استفاده کنید دیگه. اگه جواب مثبت بود بنویسه It's a shame :ws3:. اگه منفی بود بنویسه REALLY ??? o-O :ws3:

 

 

 

 




[left][indent][color=#006699]a = msgbox (" are you multi user , aren't you ?!! " &vbnewlinw& "select one of these options:",4,"noandishaan.com/forums") 
select case a 
case vbyes msgbox " It's a shame √ " 
case vbno msgbox " REALLY ??? o-O  "
 
end select[/color] 
[/indent]

[/left]


 

کاملا درسته ممنون نیکا خانوم hapydancsmil.gif

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...