-
Notifications
You must be signed in to change notification settings - Fork 0
/
formula.rb
32 lines (27 loc) · 1011 Bytes
/
formula.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Ruby script for Formula Forge to generate a sheet of 24 math problems for Grade 6 students
# Define the number of problems
number_of_problems = 24
# Define the range of whole numbers and fractions
whole_number_range = (1..10)
fraction_range = (1..5)
# Define the operators
operators = ['+', '-', '*', '/']
# Function to generate a random math problem
def generate_math_problem(operators, whole_number_range, fraction_range)
operator = operators.sample
if operator == '/'
numerator = fraction_range.to_a.sample
denominator = (fraction_range.to_a - [0, numerator]).sample
fraction = Rational(numerator, denominator)
return fraction
else
operand1 = whole_number_range.to_a.sample
operand2 = whole_number_range.to_a.sample
return "#{operand1} #{operator} #{operand2}"
end
end
# Generate and print the math problems
puts "Grade 6 Math Problems:"
number_of_problems.times do |i|
puts "#{i + 1}. #{generate_math_problem(operators, whole_number_range, fraction_range)}"
end