Interactive Roman Numeral to Integer Converter

Interactive Roman Numeral to Integer Converter
Loading the math board and drawing, please wait…
2023-12-28 01:39
In collections Arithmetic and Algebra
This example demonstrates converting Roman numerals to decimal integers. The core mathematical concepts involve the Roman numeral system (e.g., I=1, V=5, X=10) and arithmetic operations of addition and subtraction. Construction highlights: Using Textfield for user input, If conditions and SelectedIndex command to identify characters, applying Roman numeral rules to calculate the result through accumulation or subtraction. Objects include input fields, dropdown menus, lists, etc. Suitable for upper elementary to middle school students practicing number operations, and as an introduction to programming logic.

GeoGebra Commands & Parameters

  1. SelectedIndex(ddMenu) → is
  2. If(is ≟ 1, 10, is ≟ 2, 100, is ≟ 3, 500, is ≟ 4, 1000, 3000) → maxNum
  3. Random(1, maxNum) → given
  4. If(A1 ≥ 1000, A1 - 1000, 90 ≤ A1 < 100, A1 - 90, 50 ≤ A1 < 90, A1 - 50, 40 ≤ A1 < 50, A1 - 40, 10 ≤ A1 < 40, A1 - 10, 9 ≤ A1 < 10, A1 - 9, 900 ≤ A1 < 1000, 5 ≤ A1 < 9, A1 - 5, A1 ≟ 4, A1 - 4, 1 ≤ A1 < 4, A1 - 1, A1 - 900, 500 ≤ A1 < 900, A1 - 500, 400 ≤ A1 < 500, A1 - 400, 100 ≤ A1 < 400, A1 - 100) → A2
  5. If(A2 ≥ 1000, A2 - 1000, 90 ≤ A2 < 100, A2 - 90, 50 ≤ A2 < 90, A2 - 50, 40 ≤ A2 < 50, A2 - 40, 10 ≤ A2 < 40, A2 - 10, 9 ≤ A2 < 10, A2 - 9, 900 ≤ A2 < 1000, 5 ≤ A2 < 9, A2 - 5, A2 ≟ 4, A2 - 4, 1 ≤ A2 < 4, A2 - 1, A2 - 900, 500 ≤ A2 < 900, A2 - 500, 400 ≤ A2 < 500, A2 - 400, 100 ≤ A2 < 400, A2 - 100) → A3
  6. If(A3 ≥ 1000, A3 - 1000, 90 ≤ A3 < 100, A3 - 90, 50 ≤ A3 < 90, A3 - 50, 40 ≤ A3 < 50, A3 - 40, 10 ≤ A3 < 40, A3 - 10, 9 ≤ A3 < 10, A3 - 9, 900 ≤ A3 < 1000, 5 ≤ A3 < 9, A3 - 5, A3 ≟ 4, A3 - 4, 1 ≤ A3 < 4, A3 - 1, A3 - 900, 500 ≤ A3 < 900, A3 - 500, 400 ≤ A3 < 500, A3 - 400, 100 ≤ A3 < 400, A3 - 100) → A4
  7. If(A4 ≥ 1000, A4 - 1000, 90 ≤ A4 < 100, A4 - 90, 50 ≤ A4 < 90, A4 - 50, 40 ≤ A4 < 50, A4 - 40, 10 ≤ A4 < 40, A4 - 10, 9 ≤ A4 < 10, A4 - 9, 900 ≤ A4 < 1000, 5 ≤ A4 < 9, A4 - 5, A4 ≟ 4, A4 - 4, 1 ≤ A4 < 4, A4 - 1, A4 - 900, 500 ≤ A4 < 900, A4 - 500, 400 ≤ A4 < 500, A4 - 400, 100 ≤ A4 < 400, A4 - 100) → A5
  8. If(A5 ≥ 1000, A5 - 1000, 90 ≤ A5 < 100, A5 - 90, 50 ≤ A5 < 90, A5 - 50, 40 ≤ A5 < 50, A5 - 40, 10 ≤ A5 < 40, A5 - 10, 9 ≤ A5 < 10, A5 - 9, 900 ≤ A5 < 1000, 5 ≤ A5 < 9, A5 - 5, A5 ≟ 4, A5 - 4, 1 ≤ A5 < 4, A5 - 1, A5 - 900, 500 ≤ A5 < 900, A5 - 500, 400 ≤ A5 < 500, A5 - 400, 100 ≤ A5 < 400, A5 - 100) → A6
  9. If(A6 ≥ 1000, A6 - 1000, 90 ≤ A6 < 100, A6 - 90, 50 ≤ A6 < 90, A6 - 50, 40 ≤ A6 < 50, A6 - 40, 10 ≤ A6 < 40, A6 - 10, 9 ≤ A6 < 10, A6 - 9, 900 ≤ A6 < 1000, 5 ≤ A6 < 9, A6 - 5, A6 ≟ 4, A6 - 4, 1 ≤ A6 < 4, A6 - 1, A6 - 900, 500 ≤ A6 < 900, A6 - 500, 400 ≤ A6 < 500, A6 - 400, 100 ≤ A6 < 400, A6 - 100) → A7
  10. If(A7 ≥ 1000, A7 - 1000, 90 ≤ A7 < 100, A7 - 90, 50 ≤ A7 < 90, A7 - 50, 40 ≤ A7 < 50, A7 - 40, 10 ≤ A7 < 40, A7 - 10, 9 ≤ A7 < 10, A7 - 9, 900 ≤ A7 < 1000, 5 ≤ A7 < 9, A7 - 5, A7 ≟ 4, A7 - 4, 1 ≤ A7 < 4, A7 - 1, A7 - 900, 500 ≤ A7 < 900, A7 - 500, 400 ≤ A7 < 500, A7 - 400, 100 ≤ A7 < 400, A7 - 100) → A8
  11. If(A8 ≥ 1000, A8 - 1000, 90 ≤ A8 < 100, A8 - 90, 50 ≤ A8 < 90, A8 - 50, 40 ≤ A8 < 50, A8 - 40, 10 ≤ A8 < 40, A8 - 10, 9 ≤ A8 < 10, A8 - 9, 900 ≤ A8 < 1000, 5 ≤ A8 < 9, A8 - 5, A8 ≟ 4, A8 - 4, 1 ≤ A8 < 4, A8 - 1, A8 - 900, 500 ≤ A8 < 900, A8 - 500, 400 ≤ A8 < 500, A8 - 400, 100 ≤ A8 < 400, A8 - 100) → A9
  12. If(A9 ≥ 1000, A9 - 1000, 90 ≤ A9 < 100, A9 - 90, 50 ≤ A9 < 90, A9 - 50, 40 ≤ A9 < 50, A9 - 40, 10 ≤ A9 < 40, A9 - 10, 9 ≤ A9 < 10, A9 - 9, 900 ≤ A9 < 1000, 5 ≤ A9 < 9, A9 - 5, A9 ≟ 4, A9 - 4, 1 ≤ A9 < 4, A9 - 1, A9 - 900, 500 ≤ A9 < 900, A9 - 500, 400 ≤ A9 < 500, A9 - 400, 100 ≤ A9 < 400, A9 - 100) → A10
  13. If(A10 ≥ 1000, A10 - 1000, 90 ≤ A10 < 100, A10 - 90, 50 ≤ A10 < 90, A10 - 50, 40 ≤ A10 < 50, A10 - 40, 10 ≤ A10 < 40, A10 - 10, 9 ≤ A10 < 10, A10 - 9, 900 ≤ A10 < 1000, 5 ≤ A10 < 9, A10 - 5, A10 ≟ 4, A10 - 4, 1 ≤ A10 < 4, A10 - 1, A10 - 900, 500 ≤ A10 < 900, A10 - 500, 400 ≤ A10 < 500, A10 - 400, 100 ≤ A10 < 400, A10 - 100) → A11
  14. If(A11 ≥ 1000, A11 - 1000, 90 ≤ A11 < 100, A11 - 90, 50 ≤ A11 < 90, A11 - 50, 40 ≤ A11 < 50, A11 - 40, 10 ≤ A11 < 40, A11 - 10, 9 ≤ A11 < 10, A11 - 9, 900 ≤ A11 < 1000, 5 ≤ A11 < 9, A11 - 5, A11 ≟ 4, A11 - 4, 1 ≤ A11 < 4, A11 - 1, A11 - 900, 500 ≤ A11 < 900, A11 - 500, 400 ≤ A11 < 500, A11 - 400, 100 ≤ A11 < 400, A11 - 100) → A12
  15. If(A12 ≥ 1000, A12 - 1000, 90 ≤ A12 < 100, A12 - 90, 50 ≤ A12 < 90, A12 - 50, 40 ≤ A12 < 50, A12 - 40, 10 ≤ A12 < 40, A12 - 10, 9 ≤ A12 < 10, A12 - 9, 900 ≤ A12 < 1000, 5 ≤ A12 < 9, A12 - 5, A12 ≟ 4, A12 - 4, 1 ≤ A12 < 4, A12 - 1, A12 - 900, 500 ≤ A12 < 900, A12 - 500, 400 ≤ A12 < 500, A12 - 400, 100 ≤ A12 < 400, A12 - 100) → A13
  16. If(A13 ≥ 1000, A13 - 1000, 90 ≤ A13 < 100, A13 - 90, 50 ≤ A13 < 90, A13 - 50, 40 ≤ A13 < 50, A13 - 40, 10 ≤ A13 < 40, A13 - 10, 9 ≤ A13 < 10, A13 - 9, 900 ≤ A13 < 1000, 5 ≤ A13 < 9, A13 - 5, A13 ≟ 4, A13 - 4, 1 ≤ A13 < 4, A13 - 1, A13 - 900, 500 ≤ A13 < 900, A13 - 500, 400 ≤ A13 < 500, A13 - 400, 100 ≤ A13 < 400, A13 - 100) → A14
  17. If(A14 ≥ 1000, A14 - 1000, 90 ≤ A14 < 100, A14 - 90, 50 ≤ A14 < 90, A14 - 50, 40 ≤ A14 < 50, A14 - 40, 10 ≤ A14 < 40, A14 - 10, 9 ≤ A14 < 10, A14 - 9, 900 ≤ A14 < 1000, 5 ≤ A14 < 9, A14 - 5, A14 ≟ 4, A14 - 4, 1 ≤ A14 < 4, A14 - 1, A14 - 900, 500 ≤ A14 < 900, A14 - 500, 400 ≤ A14 < 500, A14 - 400, 100 ≤ A14 < 400, A14 - 100) → A15
  18. If(A1 ≥ 1000, "M", 90 ≤ A1 < 100, "XC", 50 ≤ A1 < 90, "L", 40 ≤ A1 < 50, "XL", 10 ≤ A1 < 40, "X", 9 ≤ A1 < 10, "IX", 900 ≤ A1 < 1000, 5 ≤ A1 < 9, "V", A1 ≟ 4, "IV", 1 ≤ A1 < 4, "I", "CM", 500 ≤ A1 < 900, "D", 400 ≤ A1 < 500, "CD", 100 ≤ A1 < 400, "C") → B1
  19. If(A2 ≥ 1000, "M", 90 ≤ A2 < 100, "XC", 50 ≤ A2 < 90, "L", 40 ≤ A2 < 50, "XL", 10 ≤ A2 < 40, "X", 9 ≤ A2 < 10, "IX", 900 ≤ A2 < 1000, 5 ≤ A2 < 9, "V", A2 ≟ 4, "IV", 1 ≤ A2 < 4, "I", "CM", 500 ≤ A2 < 900, "D", 400 ≤ A2 < 500, "CD", 100 ≤ A2 < 400, "C") → B2
  20. If(A3 ≥ 1000, "M", 90 ≤ A3 < 100, "XC", 50 ≤ A3 < 90, "L", 40 ≤ A3 < 50, "XL", 10 ≤ A3 < 40, "X", 9 ≤ A3 < 10, "IX", 900 ≤ A3 < 1000, 5 ≤ A3 < 9, "V", A3 ≟ 4, "IV", 1 ≤ A3 < 4, "I", "CM", 500 ≤ A3 < 900, "D", 400 ≤ A3 < 500, "CD", 100 ≤ A3 < 400, "C") → B3
  21. If(A4 ≥ 1000, "M", 90 ≤ A4 < 100, "XC", 50 ≤ A4 < 90, "L", 40 ≤ A4 < 50, "XL", 10 ≤ A4 < 40, "X", 9 ≤ A4 < 10, "IX", 900 ≤ A4 < 1000, 5 ≤ A4 < 9, "V", A4 ≟ 4, "IV", 1 ≤ A4 < 4, "I", "CM", 500 ≤ A4 < 900, "D", 400 ≤ A4 < 500, "CD", 100 ≤ A4 < 400, "C") → B4
  22. If(A5 ≥ 1000, "M", 90 ≤ A5 < 100, "XC", 50 ≤ A5 < 90, "L", 40 ≤ A5 < 50, "XL", 10 ≤ A5 < 40, "X", 9 ≤ A5 < 10, "IX", 900 ≤ A5 < 1000, 5 ≤ A5 < 9, "V", A5 ≟ 4, "IV", 1 ≤ A5 < 4, "I", "CM", 500 ≤ A5 < 900, "D", 400 ≤ A5 < 500, "CD", 100 ≤ A5 < 400, "C") → B5
  23. If(A6 ≥ 1000, "M", 90 ≤ A6 < 100, "XC", 50 ≤ A6 < 90, "L", 40 ≤ A6 < 50, "XL", 10 ≤ A6 < 40, "X", 9 ≤ A6 < 10, "IX", 900 ≤ A6 < 1000, 5 ≤ A6 < 9, "V", A6 ≟ 4, "IV", 1 ≤ A6 < 4, "I", "CM", 500 ≤ A6 < 900, "D", 400 ≤ A6 < 500, "CD", 100 ≤ A6 < 400, "C") → B6
  24. If(A7 ≥ 1000, "M", 90 ≤ A7 < 100, "XC", 50 ≤ A7 < 90, "L", 40 ≤ A7 < 50, "XL", 10 ≤ A7 < 40, "X", 9 ≤ A7 < 10, "IX", 900 ≤ A7 < 1000, 5 ≤ A7 < 9, "V", A7 ≟ 4, "IV", 1 ≤ A7 < 4, "I", "CM", 500 ≤ A7 < 900, "D", 400 ≤ A7 < 500, "CD", 100 ≤ A7 < 400, "C") → B7
  25. If(A8 ≥ 1000, "M", 90 ≤ A8 < 100, "XC", 50 ≤ A8 < 90, "L", 40 ≤ A8 < 50, "XL", 10 ≤ A8 < 40, "X", 9 ≤ A8 < 10, "IX", 900 ≤ A8 < 1000, 5 ≤ A8 < 9, "V", A8 ≟ 4, "IV", 1 ≤ A8 < 4, "I", "CM", 500 ≤ A8 < 900, "D", 400 ≤ A8 < 500, "CD", 100 ≤ A8 < 400, "C") → B8
  26. If(A9 ≥ 1000, "M", 90 ≤ A9 < 100, "XC", 50 ≤ A9 < 90, "L", 40 ≤ A9 < 50, "XL", 10 ≤ A9 < 40, "X", 9 ≤ A9 < 10, "IX", 900 ≤ A9 < 1000, 5 ≤ A9 < 9, "V", A9 ≟ 4, "IV", 1 ≤ A9 < 4, "I", "CM", 500 ≤ A9 < 900, "D", 400 ≤ A9 < 500, "CD", 100 ≤ A9 < 400, "C") → B9
  27. If(A10 ≥ 1000, "M", 90 ≤ A10 < 100, "XC", 50 ≤ A10 < 90, "L", 40 ≤ A10 < 50, "XL", 10 ≤ A10 < 40, "X", 9 ≤ A10 < 10, "IX", 900 ≤ A10 < 1000, 5 ≤ A10 < 9, "V", A10 ≟ 4, "IV", 1 ≤ A10 < 4, "I", "CM", 500 ≤ A10 < 900, "D", 400 ≤ A10 < 500, "CD", 100 ≤ A10 < 400, "C") → B10
  28. If(A11 ≥ 1000, "M", 90 ≤ A11 < 100, "XC", 50 ≤ A11 < 90, "L", 40 ≤ A11 < 50, "XL", 10 ≤ A11 < 40, "X", 9 ≤ A11 < 10, "IX", 900 ≤ A11 < 1000, 5 ≤ A11 < 9, "V", A11 ≟ 4, "IV", 1 ≤ A11 < 4, "I", "CM", 500 ≤ A11 < 900, "D", 400 ≤ A11 < 500, "CD", 100 ≤ A11 < 400, "C") → B11
  29. If(A12 ≥ 1000, "M", 90 ≤ A12 < 100, "XC", 50 ≤ A12 < 90, "L", 40 ≤ A12 < 50, "XL", 10 ≤ A12 < 40, "X", 9 ≤ A12 < 10, "IX", 900 ≤ A12 < 1000, 5 ≤ A12 < 9, "V", A12 ≟ 4, "IV", 1 ≤ A12 < 4, "I", "CM", 500 ≤ A12 < 900, "D", 400 ≤ A12 < 500, "CD", 100 ≤ A12 < 400, "C") → B12
  30. If(A13 ≥ 1000, "M", 90 ≤ A13 < 100, "XC", 50 ≤ A13 < 90, "L", 40 ≤ A13 < 50, "XL", 10 ≤ A13 < 40, "X", 9 ≤ A13 < 10, "IX", 900 ≤ A13 < 1000, 5 ≤ A13 < 9, "V", A13 ≟ 4, "IV", 1 ≤ A13 < 4, "I", "CM", 500 ≤ A13 < 900, "D", 400 ≤ A13 < 500, "CD", 100 ≤ A13 < 400, "C") → B13
  31. If(A14 ≥ 1000, "M", 90 ≤ A14 < 100, "XC", 50 ≤ A14 < 90, "L", 40 ≤ A14 < 50, "XL", 10 ≤ A14 < 40, "X", 9 ≤ A14 < 10, "IX", 900 ≤ A14 < 1000, 5 ≤ A14 < 9, "V", A14 ≟ 4, "IV", 1 ≤ A14 < 4, "I", "CM", 500 ≤ A14 < 900, "D", 400 ≤ A14 < 500, "CD", 100 ≤ A14 < 400, "C") → B14
  32. If(A15 ≥ 1000, "M", 90 ≤ A15 < 100, "XC", 50 ≤ A15 < 90, "L", 40 ≤ A15 < 50, "XL", 10 ≤ A15 < 40, "X", 9 ≤ A15 < 10, "IX", 900 ≤ A15 < 1000, 5 ≤ A15 < 9, "V", A15 ≟ 4, "IV", 1 ≤ A15 < 4, "I", "CM", 500 ≤ A15 < 900, "D", 400 ≤ A15 < 500, "CD", 100 ≤ A15 < 400, "C") → B15
  33. RemoveUndefined({B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15}) → romanList
  34. Length(romanList) → lengthNumber
  35. Textfield(studNum) → InputBox1

AI Drawing Prompt Reference

Create an interactive Roman numeral to integer converter. First, set up a dropdown menu for the user to input a Roman numeral. Then, use a series of conditional judgments and subtraction operations to convert the Roman numeral to a decimal number. Finally, display the converted decimal number in a text box.
The prompt above was compiled from the original drawing commands and is for reference only.