FarzamPlus 1 ارسال شده در 19 تیر اشتراک گذاری ارسال شده در 19 تیر با سلام و خسته نباشید به اساتید . یه کد نوشتم که به صورت تصادفی سوال ریاضی میسازه مثلا جمع ، تفریق ، ضرب و ... میخوام به صورت چهار جوابی باشه ، که توی اون گزینه ها اعداد به عدد جواب درست شبیه باشن یا نزدیک باشد. مثلا اگر سوال : 10+15 بود که میشه 25 توی چهار گزینه ای ها 26-24-27 باشه یه سوال دیگه اینکه 15+10 خب راحته ، چجوری میشه سوال رو به صورت ؟ + 10 = 25 ساخت ؟ نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
0 محمدرضا شاهپیری 5,559 ارسال شده در 19 تیر اشتراک گذاری ارسال شده در 19 تیر درود. از کلاس زیر استفاده کنید. خروجی متد GenerateQuestion سوال جواب و گزینه ها رو داره. برای سوال آخر هم از همین ایده بگیرید Sub Class_Globals Type QuestionModel(question As String,answer As Int, options(4) As Int) End Sub Public Sub Initialize End Sub Sub GenerateQuestion(minValue As Int,maxValue As Int) As QuestionModel Dim operations() As String = Array As String("+", "-", "*", "/") Dim operation As String = operations(Rnd(0, operations.Length)) Dim a, b,answer As Int Select operation Case "+" a = Rnd(minValue, maxValue) b = Rnd(minValue, maxValue) answer = a + b Case "-" a = Rnd(minValue, maxValue) b = Rnd(minValue, a + 1) answer = a - b Case "*" a = Rnd(minValue, maxValue) b = Rnd(minValue, maxValue) answer = a * b Case "/" b = Rnd(minValue, maxValue) answer = Rnd(minValue, maxValue) a = answer * b End Select Dim qestion As QuestionModel:qestion.Initialize qestion.question=$"${a} ${operation} ${b}"$ qestion.answer=answer qestion.options=GenerateOptions(answer) Return qestion End Sub private Sub GenerateOptions(answer As Int) As Int() Dim position As Int=Rnd(0,3) Dim options(4) As Int Select position Case 0: options= Array As Int(answer,answer+1,answer+2,answer+3) Case 1: options= Array As Int(answer-1,answer,answer+1,answer+2) Case 2: options= Array As Int(answer-2,answer-1,answer,answer+1) Case Else: options= Array As Int(answer-3,answer-2,answer-1,answer) End Select Return ShuffleArray(options) End Sub private Sub ShuffleArray(arr() As Int) As Int() Dim shuffled(arr.Length) As Int Dim indices As List indices.Initialize For i = 0 To arr.Length - 1 indices.Add(i) Next For i = 0 To arr.Length - 1 Dim index As Int = Rnd(0, indices.Size) shuffled(i) = arr(indices.Get(index)) indices.RemoveAt(index) Next Return shuffled End Sub 2 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
FarzamPlus 1
با سلام و خسته نباشید به اساتید .
یه کد نوشتم که به صورت تصادفی سوال ریاضی میسازه مثلا جمع ، تفریق ، ضرب و ...
میخوام به صورت چهار جوابی باشه ، که توی اون گزینه ها اعداد به عدد جواب درست شبیه باشن یا نزدیک باشد.
مثلا اگر سوال : 10+15 بود که میشه 25 توی چهار گزینه ای ها 26-24-27 باشه
یه سوال دیگه اینکه 15+10 خب راحته ، چجوری میشه سوال رو به صورت ؟ + 10 = 25 ساخت ؟
لینک ارسال
به اشتراک گذاری در سایت های دیگر
1 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: strong> مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.