خطوة 7: إضافة مسائل الضرب و القسمة
قبل بدء هذا الإجراء يجب التفكير في كيفية إضافة مسائل الضرب والقسمة. جرب الخطوة الأولي التي تتطلب تخزين قيم.
إضافة مسائل الضرب و القسمة
أضف أربعة أرقام (أعداد صحيحة) إلى النموذج. يجب أن تشبه التعليمة البرمجية المثال للتالى:
Public Class Form1 ' Create a Random object to generate random numbers. Dim randomizer As New Random ' These Integers will store the numbers in the addition problem. Dim addend1 As Integer Dim addend2 As Integer ' These Integers will store the numbers for the subtraction problem. Dim minuend As Integer Dim subtrahend As Integer ' These Integers will store the numbers for the multiplication problem. Dim multiplicand As Integer Dim multiplier As Integer ' These Integers will store the numbers for the division problem. Dim dividend As Integer Dim divisor As Integer ' This Integer will keep track of the time left. Dim timeLeft As Integer
public partial class Form1 : Form { // Create a Random object to generate random numbers. Random randomizer = new Random(); // These ints will store the numbers for the addition problem. int addend1; int addend2; // These ints will store the numbers for the subtraction problem. int minuend; int subtrahend; // These ints will store the numbers for the multiplication problem. int multiplicand; int multiplier; // These ints will store the numbers for the division problem. int dividend; int divisor; // This int will keep track of the time left. int timeLeft;
قم بتعديل أسلوب **StartTheQuiz()**لكي تعبئ عشوائياً مسائل الضرب والقسمة كما سبق. يجب أن تشبه التعليمة البرمجية المثال للتالى:
''' <summary> ''' Start the quiz by filling in all of the problems ''' and starting the timer. ''' </summary> ''' <remarks></remarks> Public Sub StartTheQuiz() ' Fill in the addition problem. addend1 = randomizer.Next(51) addend2 = randomizer.Next(51) plusLeftLabel.Text = addend1.ToString plusRightLabel.Text = addend2.ToString sum.Value = 0 ' Fill in the subtraction problem. minuend = randomizer.Next(1, 101) subtrahend = randomizer.Next(1, minuend) minusLeftLabel.Text = minuend.ToString minusRightLabel.Text = subtrahend.ToString difference.Value = 0 ' Fill in the multiplication problem. multiplicand = randomizer.Next(2, 11) multiplier = randomizer.Next(2, 11) timesLeftLabel.Text = multiplicand.ToString timesRightLabel.Text = multiplier.ToString product.Value = 0 ' Fill in the division problem. divisor = randomizer.Next(2, 11) Dim temporaryQuotient As Integer = randomizer.Next(2, 11) dividend = divisor * temporaryQuotient dividedLeftLabel.Text = dividend.ToString dividedRightLabel.Text = divisor.ToString quotient.Value = 0 ' Start the timer. timeLeft = 30 timeLabel.Text = "30 seconds" Timer1.Start() End Sub
/// <summary> /// Start the quiz by filling in all of the problems /// and starting the timer. /// </summary> public void StartTheQuiz() { // Fill in the addition problem. addend1 = randomizer.Next(51); addend2 = randomizer.Next(51); plusLeftLabel.Text = addend1.ToString(); plusRightLabel.Text = addend2.ToString(); sum.Value = 0; // Fill in the subtraction problem. minuend = randomizer.Next(1, 101); subtrahend = randomizer.Next(1, minuend); minusLeftLabel.Text = minuend.ToString(); minusRightLabel.Text = subtrahend.ToString(); difference.Value = 0; // Fill in the multiplication problem. multiplicand = randomizer.Next(2, 11); multiplier = randomizer.Next(2, 11); timesLeftLabel.Text = multiplicand.ToString(); timesRightLabel.Text = multiplier.ToString(); product.Value = 0; // Fill in the division problem. divisor = randomizer.Next(2, 11); int temporaryQuotient = randomizer.Next(2, 11); dividend = divisor * temporaryQuotient; dividedLeftLabel.Text = dividend.ToString(); dividedRightLabel.Text = divisor.ToString(); quotient.Value = 0; // Start the timer. timeLeft = 30; timeLabel.Text = "30 seconds"; timer1.Start(); }
قم بتعديل أسلوب CheckTheAnswer() بحيث يتحقق من مسائل الضرب والقسمة . يجب أن تشبه التعليمة البرمجية المثال للتالى:
''' <summary> ''' Check the answer to see if the user got everything right. ''' </summary> ''' <returns>True if the answer's correct, false otherwise.</returns> ''' <remarks></remarks> Public Function CheckTheAnswer() As Boolean If ((addend1 + addend2 = sum.Value) AndAlso (minuend - subtrahend = difference.Value) AndAlso (multiplicand * multiplier = product.Value) AndAlso (dividend / divisor = quotient.Value)) Then Return True Else Return False End If End Function
/// <summary> /// Check the answer to see if the user got everything right. /// </summary> /// <returns>True if the answer's correct, false otherwise.</returns> private bool CheckTheAnswer() { if ((addend1 + addend2 == sum.Value) && (minuend - subtrahend == difference.Value) && (multiplicand * multiplier == product.Value) && (dividend / divisor == quotient.Value)) return true; else return false; }
ملاحظة
و لعدم وجود أية طريقة بسيطة لإدخال علامة الضرب (×) و علامة القسمة (÷) باستخدام لوحة المفاتيح, يستخدم #Visual C و Visual Basic العلامة النجمية (*) كعلامة للضرب والشرطة المائلة (/) كعلامة للقسمة.
قم بتغير الجزء الأخير من التجزئة جهاز ضبط الحدث للمؤقت بحيث يقوم بتعبئة الإجابة الصحيحة عند نفاذ الوقت. يجب أن تشبه التعليمة البرمجية المثال للتالى:
Else ' If the user ran out of time, stop the timer, show ' a MessageBox, and fill in the answers. Timer1.Stop() timeLabel.Text = "Time's up!" MessageBox.Show("You didn't finish in time.", "Sorry") sum.Value = addend1 + addend2 difference.Value = minuend - subtrahend product.Value = multiplicand * multiplier quotient.Value = dividend / divisor startButton.Enabled = True End If
else { // If the user ran out of time, stop the timer, show // a MessageBox, and fill in the answers. timer1.Stop(); timeLabel.Text = "Time's up!"; MessageBox.Show("You didn't finish in time.", "Sorry"); sum.Value = addend1 + addend2; difference.Value = minuend - subtrahend; product.Value = multiplicand * multiplier; quotient.Value = dividend / divisor; startButton.Enabled = true; }
حفظ البرنامج وتشغيلها. الآن، يجب لإجابة على أربع مسائل إلى إكمال الاختبار, كما هو موضح في الصورة التالية.
اختبار الرياضيات به أربع مشكلات
للمتابعة أو للمراجعة
للانتقال إلى الخطوة التالية بالبرنامج التعليمي, راجع خطوة 8: قم بتجربة ميزات أخرى.
للعودة إلى الخطوة السابقة بالبرنامج التعليمي راجع خطوة 6: أضف مشاكل الطرح.