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

تبلیغات

تبلیغات متنی

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

صرافی rkchange

سایبان ماشین

دزدگیر منزل

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

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

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

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

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

آراد برندینگ

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

موسسه خیریه

واردات از چین

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

ناب مووی

دانلود فیلم

بانک کتاب

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

بازسازی ساختمان

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

irspeedy

درج اگهی ویژه

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

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

قیمت فرش

درب فریم لس

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

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

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

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

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

قیمت سرور dl380 g10

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

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

خرید فالوور

پوستر آنلاین

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

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

اوزمپیک چیست

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

خرید از چین

خرید از چین

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

نگهداری از سالمند شبانه روزی در منزل

بی متال زیمنس

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

ویزای چک

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

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

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

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

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

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

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

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

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

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

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

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

 






آمار وبسایت

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




هواشناسی

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

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



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

function در vb.net -


واضح آرشیو وب فارسی:سایت ریسک: function در vb.net sinaeslami 22 فروردين 1388, 02:47سلام خدمت دوستای عزیز اگه ممکن منو تو این برنامه در vb.net کمک کنین و برام توضیح بدین برنامه بنویسید که عدد n را از ورودی گرفته و سری زیر را به کمک function محاسبه کند the_king 22 فروردين 1388, 12:53سلام خدمت دوستای عزیز اگه ممکن منو تو این برنامه در vb.net کمک کنین و برام توضیح بدین برنامه بنویسید که عدد n را از ورودی گرفته و سری زیر را به کمک function محاسبه کند فرمول مشابه فرمول محاسبه عدد طبیعی e است (2.7182818284590452353602874713527) با این تفاوت که فرمول درخواستی شما یک واحد از آن کوچکتر است (حدودا 1.7182818284590452353602874713527) Module Module1 Function MyFunction(ByVal n As Long) As Double Dim i As Long, fact As Long = 1 For i = 1 To n fact = fact * i MyFunction = MyFunction + 1 / fact Next End Function Sub Main() Dim n As Long Console.Write("Please enter n : ") n = Val(Console.ReadLine) Console.WriteLine("S = {0}", MyFunction(n)) Console.ReadKey(True) End Sub End Module MyFunction نام تابعی است که محاسبه در آن انجام می شود که یک پارامتر ورودی دارد که مقدار n را مشخص می سازد. ابتدا متغیر های fact و i (متغیر حلقه) را تعریف می کنیم : Dim i As Long, fact As Long = 1 مقدار اولیه fact بایستی 1 باشد. در داخل حلقه، فاکتوریل (متغیر fact) را برای هر کدام از کسر ها محاسبه می کنیم : fact = fact * i چون مقدار فاکتوریل i با ضرب کردن مقدار i در فاکتوریل i - 1 بدست می آید، کافیست که در هر بار اجرای حلقه، مقدار قبلی fact را در مقدار جدید i ضرب کنیم. در متغیر MyFunction مقدار کسر ها را جمع می کنیم : MyFunction = MyFunction + 1 / fact مقدار MyFunction در انتهای اجرای تابع برگردانده می شود. در تابع اصلی Main ابتدا متغیر n را تعریف می کنیم : Dim n As Long و سپس پیغامی برای دریافت آن می دهیم : Console.Write("Please enter n : ") و سپس مقدار n را از ورودی می خوانیم : n = Val(Console.ReadLine) سپس مقدار S را با استفاده از تابع MyFunction بدست آورده و در خروجی نمایش می دهیم : Console.WriteLine("S = {0}", MyFunction(n)) و در انتها منتظر می شویم تا کاربر کلیدی را فشار دهد تا برنامه خاتمه یابد : Console.ReadKey(True) sinaeslami 23 فروردين 1388, 00:53the_king جان از پاسخت و توضیح عالی تر از اون ممنونم ان شا الله در تمام مراحل زندگیت موفق باشی () sinaeslami 24 فروردين 1388, 03:49سلام the_king جان امروز رفتم این برنامه که شما نوشتی ارائه دادم ازونجایی که استاد چشم نداره منو ببین 100 بار گیر داد هی گفت تو ننوشتی آخرش دید که هیچ راهی نداره و برنامه کاملا درست هستش یهو گفت بجای MyFunction = MyFunction + 1 / fact باید از استفاده میکردی و اشتباه نوشتی و بخاطر همین بهم نمره نداد. بعد که لبتاپ خودش رو روشن کرد و این برنامه رو قبلا خودش نوشته بود دیدم که خودش به روش MyFunction = MyFunction + 1 / fact حل کرده. نمیدونم چرا هی میگفت این به زبان vb 6 نوشته شده. آخر هم 4 تا تمرین جدید داد گفت برو اوکی کن بیارش اگه میشه تو این برنامه ها هم کمکم کنین. 1-روالی بنویسید که بک عدد صحیح را دریافت کرده و آن را معکوس کند. 2-برنامه ای بنویسید که 10 عدد را از کاربر گرفت و بررسی کند که آیا این اعداد با معکوس خود برابرن یا خیر. 3-روالی بنویسید که یک عدد از کاربر گرفته و مشخص کند که آیا این یک عدد اول است یا خیر. 4-روالی بنویسید که عدد دلخواه n را گرفته و n عدد اول را چاپ نماید. اگه میشه لطف کنین و این برنامه هارو برام توضیح بدین ممنون میشم. همشونو یه بار ننویسین که خسته بشین.روزی یکیشونم بهم توضیح بدین کفایت میکنه.اگه میشه لطف کنین به ساده ترین روش ممکن بنویسین که در حد من باشه و استاد گیر الکی نده. از لطفی که در حقم میکنین نهایت تشکر را دارم. the_king 24 فروردين 1388, 20:48نمیدونم چرا هی میگفت این به زبان vb 6 نوشته شده. کد را با Microsoft Visual Basic 2008 نوشته ام، البته با سایر نسخه های NET. نظیر 2005 هم سازگار است. در ویژوال بیسیک 6 قابل اجرا نیست، Console.ReadLine و Console.WriteLine را نمی شناسد. 1-روالی بنویسید که یک عدد صحیح را دریافت کرده و آن را معکوس کند. Module Module1 Sub Main() Dim n As Long Dim r As Long Console.Write("Please enter n : ") n = Val(Console.ReadLine()) r = Val(StrReverse(n)) Console.WriteLine("Reverse n = {0}", r) Console.ReadKey(True) End Sub End Module ابتدا یک متغیر n برای دریافت عدد صحیح تعریف می کنیم : Dim n As Long سپس یک متغیر r برای بدست آوردن معکوس n در آن : Dim r As Long ابتدا پیغامی برای دریافت مقدار n نمایش می دهیم : Console.Write("Please enter n : ") و مقدار n را از کاربر دریافت می کنیم : n = Val(Console.ReadLine()) و سپس مقدار n را بصورت یک رشته string معکوس کرده (Reverse)و مقدار عددی (long) آن رشته را در r بدست می آوریم : r = Val(StrReverse(n)) با نمایش پیغامی مقدار r را به کاربر اعلام می کنیم : Console.WriteLine("Reverse n = {0}", r) و در خاتمه منتظر فشار دادن کلیدی از سوی کاربر می شویم : Console.ReadKey(True) sinaeslami 24 فروردين 1388, 23:35کد را با Microsoft Visual Basic 2008 نوشته ام، البته با سایر نسخه های NET. نظیر 2005 هم سازگار است. در ویژوال بیسیک 6 قابل اجرا نیست، Console.ReadLine و Console.WriteLine را نمی شناسد. گفتم که استاد از دیدن برنامه کفش برید 100 تا ایراد و غلط گرفت ولی آخرش رو کامپیوتر خودش همینجوری مثل شما حل کرده بود از بابت کمکتون هم مچکرم the_king 25 فروردين 1388, 00:462-برنامه ای بنویسید که 10 عدد را از کاربر گرفت و بررسی کند که آیا این اعداد با معکوس خود برابرن یا خیر. Module Module1 Sub Main() Dim i As Long, n As Long For i = 1 To 10 Console.Write("{0}) Please enter n : ", i) n = Val(Console.ReadLine()) If n = Val(StrReverse(n)) Then Console.WriteLine("Yes") Else Console.WriteLine("No") End If Next Console.ReadKey(True) End Sub End Module ابتدا یک متغیر n برای دریافت اعداد و یک متغیر i برای حلقه For تعریف می کنیم : Dim i As Long, n As Long سپس یک حلقه For ایجاد می کنیم که 10 بار اجرا شود، تا بتوانیم 10 عدد را دریافت کنیم : For i = 1 To 10 در داخل حلقه یک پیغام برای دریافت یک عدد از کاربر نمایش می دهیم : Console.Write("{0}) Please enter n : ", i) عدد n را از ورودی دریافت می کنیم : n = Val(Console.ReadLine()) اگر مقدار n با مقدار معکوس اش برابر باشد ... If n = Val(StrReverse(n)) Then آنگاه پیغام Yes را نمایش می دهیم : Console.WriteLine("Yes") وگرنه پیغام No را نمایش می دهیم : Else Console.WriteLine("No") End If روتین داخل حلقه آنقدر تکرار می شود تا 10 عدد دریافت شده و پیغام مربوطه شان نمایش داده شود. Next در خاتمه منتظر فشار کلیدی توسط کاربر می شویم : Console.ReadKey(True) the_king 25 فروردين 1388, 01:123-روالی بنویسید که یک عدد از کاربر گرفته و مشخص کند که آیا این یک عدد اول است یا خیر. Module Module1 Sub Main() Dim i As Long, n As Long Console.Write("Please enter n : ") n = Val(Console.ReadLine()) For i = 2 To n - 1 If (n Mod i) = 0 Then Exit For Next If i = n Then Console.WriteLine("Yes") Else Console.WriteLine("No") End If Console.ReadKey(True) End Sub End Module ابتدا یک متغیر n برای دریافت اعداد و یک متغیر i برای حلقه For تعریف می کنیم : Dim i As Long, n As Long سپس یک پیغام برای دریافت عددی از کاربر نمایش می دهیم : Console.Write("Please enter n : ") و در ادامه عدد n را از ورودی دریافت می کنیم : n = Val(Console.ReadLine()) حلقه ای ایجاد می کنیم که از عدد 2 الی n - 1 را بشمارد، اگر عدد n حداقل بر یکی از این اعداد بخش پذیر باشد، آنگاه این عدد اول نیست، مثلا عدد 17 اول است، چون بر هیچیک از اعداد 2 الی 16 بخشپذیر نبوده. از نظر ریاضی بجای n - 1 می توان از جذر n یعنی (Math.Sqrt(n استفاده کرد، ولی n - 1 ساده تر است : For i = 2 To n - 1 اگر باقیمانده تقسیم عدد n بر i صفر باشد (یعنی n بر i بخشپذیر باشد) آنگاه از حلقه خارج می شویم و در این حالت عدد n اول نیست : If (n Mod i) = 0 Then Exit For وگرنه به اجرای حلقه ادامه می دهیم : Next زمانی که اجرای حلقه تمام شد، می توانیم بر اساس مقدار فعلی i بفهمیم که آیا عدد n اول بوده یا نه، اگر i برابر n باشد، یعنی حلقه از مقدار 2 الی n - 1 شمرده، ولی n بر هیچکدام بخشپذیر نبوده. اما اگر i کمتر از n باشد، عدد n بر i بخشپذیر بوده و به همین دلیل از حلقه خارج شده است. پس ابتدا بررسی می کنیم که آیا i برابر n است (حالتی که عدد n اول بوده) : If i = n Then در این حالت پیغام Yes را نمایش می دهیم : Console.WriteLine("Yes") وگرنه پیغام No را نمایش می دهیم : Else Console.WriteLine("No") End If و در خاتمه منتظر فشار کلیدی توسط کاربر می شویم : Console.ReadKey(True) the_king 25 فروردين 1388, 21:164-روالی بنویسید که عدد دلخواه n را گرفته و n عدد اول را چاپ نماید. Module Module1 Sub Main() Dim i As Long, j As Long, n As Long Console.Write("Please enter n : ") n = Val(Console.ReadLine()) j = 1 Do While n > 0 For i = 2 To j - 1 If (j Mod i) = 0 Then Exit For Next If i = j Then Console.WriteLine(j) n = n - 1 End If j = j + 1 Loop Console.ReadKey(True) End Sub End Module ابتدا یک متغیر i برای حلقه تشخیص اول بودن یک عدد و یک متغیر j به عنوان عدد مورد بررسی و یک متغیر n را دریافت تعداد اعداد اول از کاربر تعریف می کنیم : Dim i As Long, j As Long, n As Long سپس یک پیغام برای دریافت عدد n از کاربر نمایش می دهیم : Console.Write("Please enter n : ") و در ادامه عدد n را از ورودی دریافت می کنیم : n = Val(Console.ReadLine()) اولین عددی که برای اول بودن بررسی می کنیم عدد 1 خواهد بود که در j قرار می دهیم، گو اینکه می دانیم که این عدد اول نخواهد بود. j = 1 یک حلقه Do می سازیم تا آنقدر اعداد مختلف را بررسی کند تا n عدد اول پیدا شود، هر بار که یک عدد اول پیدا شد، از مقدار n یک واحد کم می کنیم، هر گاه n از 0 بزرگتر نبود، n عدد اول پیدا شده و بایستی حلقه خاتمه یابد : Do While n > 0 حلقه ای ایجاد می کنیم که از عدد 2 الی n - 1 را بشمارد، اگر عدد j حداقل بر یکی از این اعداد بخش پذیر باشد، آنگاه این عدد اول نیست، مثلا عدد 17 اول است، چون بر هیچیک از اعداد 2 الی 16 بخشپذیر نبوده. از نظر ریاضی بجای j - 1 می توان از جذر j یعنی (Math.Sqrt(j استفاده کرد، ولی j - 1 ساده تر است : For i = 2 To j - 1 اگر باقیمانده تقسیم عدد j بر i صفر باشد (یعنی j بر i بخشپذیر باشد) آنگاه از حلقه خارج می شویم و در این حالت عدد j اول نیست : If (j Mod i) = 0 Then Exit For وگرنه به اجرای حلقه ادامه می دهیم : Next زمانی که اجرای حلقه تمام شد، می توانیم بر اساس مقدار فعلی i بفهمیم که آیا عدد j اول بوده یا نه، اگر i برابر j باشد، یعنی حلقه از مقدار 2 الی j - 1 شمرده، ولی j بر هیچکدام بخشپذیر نبوده. اما اگر i کمتر از j باشد، عدد j بر i بخشپذیر بوده و به همین دلیل از حلقه خارج شده است. پس ابتدا بررسی می کنیم که آیا i برابر j است (حالتی که عدد j اول بوده) : If i = j Then در این حالت عدد j را نمایش می دهیم : Console.WriteLine(j) و چون عدد اولی را پیدا کردیم از مقدار n یک واحد کم می کنیم : n = n - 1 End If عدد j بررسی شده، یا عدد اول بوده یا نبوده، ولی به هر حال نوبت آن است که عدد بعدی بررسی شود، پس به مقدار j یک واحد اضافه می کنیم : j = j + 1 اجرای حلقه Do تا زمانی باید تکرار شود که n به صفر برسد و از حلقه خارج شویم : Loop و در خاتمه منتظر فشار کلیدی توسط کاربر می شویم : Console.ReadKey(True) sinaeslami 28 فروردين 1388, 03:04سلام the_king جان نگاه کن توی چند تا از سوالها نوشته یک روال بنویسید شما روال نوشتید؟ روال با برنامه چه فرقی میکنه؟ the_king 28 فروردين 1388, 14:10سلام the_king جان نگاه کن توی چند تا از سوالها نوشته یک روال بنویسید شما روال نوشتید؟ روال با برنامه چه فرقی میکنه؟ برنامه یک مجموعه بزرگ از روال ها، توابع، ساختمان داده ها، کلاس ها و ... است. روال (Routine) یعنی یک تکه کد که بصورت متوالی اجرا می شود و در مجموع کار خاصی را انجام می دهد، تابع (Function) نوعی روال است که بایستی یک مقدار خروجی برگرداند، مثلا نتیجه محاسبات را برگرداند. زیر روال (Sub Routine) یا Procedure نوعی روال است که مقداری را بر نمی گرداند. در کدهایی که من نوشتم یک روال Main وجود دارد. تنها تفاوت روال Main با سایر روال ها در این است که بصورت خودکار اجرا می شود، در حالی که سایر روال ها را بایستی با نوشتن کد فراخوانی کنیم. اگر در صورت سوالها نوشته بود که یک تابع بنویسید، آنگاه بایستی کد را بصورتی نوشت که مقدار در یک تابع مجزا محاسبه شده و برگردانده شود و سپس در روال اصلی برنامه (Main) از آن تابع استفاده گردد. اما چون در صورت سوالها یک روال درخواست شده، هر روالی (مثلا Main) قابل قبول است. می توان بجای نام Main یک نام دیگر بکار برد تا روال بصورت خودکار اجرا نگردد مثلا Sub MyRoutine() sinaeslami 28 فروردين 1388, 23:18سلام the_king جان از پاسخ کاملی که دادی ممنونم val چه کاری انجام میده؟ توی کد زیر در سوال یک چرا مقدار رو 0 میدهیم؟ Console.WriteLine("Reverse n = {0}", r)توی کد زیر در سوال 2 چرا مقدار رو اول پیغام نوشتین؟ Console.Write("{0}) Please enter n : ", i) the_king 29 فروردين 1388, 19:05سلام the_king جان از پاسخ کاملی که دادی ممنونم val چه کاری انجام میده؟ تابع Val یک رشته (String) رو به معادل عددی اش تبدیل می کنه، مثلا اگر رشته "00123" رو به تابع Val تحویل بدهیم، مقدار عددی 123 رو برمی گردونه. ما توسط توابعی مثل ReadLine یک رشته رو از ورودی می خوانیم و برای تبدیل صحیح این رشته به عدد از Val استفاده می کنیم. توی کد زیر در سوال یک چرا مقدار رو 0 میدهیم؟ Console.WriteLine("Reverse n = {0}", r) فرمان WriteLine به چندین شیوه قابل استفاده است، یکی از این شیوه ها استفاده از عبارت هایی نظیر {0} و {1} است. طرز استفاده از این شیوه چنین است : اولین پارامتر فرمان WriteLine یک رشته String خواهد بود که در آن می تواند هر متنی قرار گیرد، در هر موقعیتی از این متن می توانید عبارت های {n} را قرار دهید، n یک عدد است که از صفر شروع می شود و شماره پارامتری را مشخص می سازد که بایستی در آن موقعیت نمایش یابد. مثلا {0} برای دومین پارامتر، {1} برای سومین پارامتر، {2} برای چهارمین پارامتر و ... مثلا ما می خواهیم نام یک شی را در متغیر s دریافت کرده ایم، برای آنکه به کاربر اعلام کنیم که رنگ شی s قرمز است، می نویسیم : Console.WriteLine("The {0} is red.", s) برنامه در حین اجرا پارامتر اول (رشته "The {0} is red.") را پردازش می کند و هر جا به {0} برخورد کرد، بجایش پارامتر دوم (مقدار s) را نمایش می دهد. مثلا اگر مقدار s برابر book باشد، رشته ".The book is red" چاپ می شود. حال فرض کنیم که بخواهیم جمع دو عدد داخل متغیر های x و y را به صورت x + y = z نمایش دهیم. کد زیر چنین عملی را انجام می دهد : Console.WriteLine("{0} + {1} = {2}", x, y, x+y) مثلا اگر مقدار x و y به ترتیب 4 و 5 باشند، رشته "9 = 5 + 4" چاپ می شود. توی کد زیر در سوال 2 چرا مقدار رو اول پیغام نوشتین؟ Console.Write("{0}) Please enter n : ", i) در این کد قرار بر این بود که یک عدد از ورودی دریافت شود، برای آنکه مشخص شود که این چندمین عددی است که از ورودی خوانده می شود مقدار i را در ابتدای پیغام چاپ می کنیم، مثلا برای دریافت چهار عدد : 1) Please enter n : 2) Please enter n : 3) Please enter n : 4) Please enter n : sinaeslami 09 ارديبهشت 1388, 18:25سلام the_king جان از زحماتی کشیدی و کمک کردی با آموزشهای خوبت خیلی مچکرم. اگه وقت داری لطف کن توی برنامه های زیر هم کمک کن. 1-برنامه ای بنویسید که عدد n را از ورودی گرفته و سری زیر را محاسبه کند. 2-برنامه ای بنویسید که عدد دلخواه n را از ورودی گرفته و اشکال زیر را رسم کند. 3- برنامه ای بنویسید که مثلث خیام پاسکال را رسم کند. 4- برنامه ای بنویسید که عدد دلخواه n را از ورودی گرفته و فاکتوریل آن را نمایش دهد. 5- برنامه ای بنویسید که عدد دلخواه n را از ورودی گرفته و جمع اعداد زوج و جمع اعداد فرد را نمایش دهد. saalek110 10 ارديبهشت 1388, 12:56کمک یعنی اینکه شما اول سعی خود را بکنید بعد جایی که مشکل داشتید کمک بگیرید. فقط صورت مسئله را نگذارید. تلاش خود را بکنید اگر جایی مشکل داشتید مطرح کنید. فروم جای حل تکالیف درسی نیست. برای هر سئوال یک تاپیک بزنید(نه چند سوال در یک تاپیک) با عنوانی کاملا بیان کننده بحث تاپیک. و حتما در انتهای عنوان تاپیک زبان برنامه نویسی را بنویسید. موفق باشید. تاپیک بسته شد.




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

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 2955]

bt

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







-


گوناگون

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


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