1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Varvara68 [4.7K]
3 years ago
7

Define a romanNumberToInt function that converts a RomanNumber value, which is a list of Roman digits, into an integer. Hints: -

Assume the Roman number representation is valid. - Use recursion to sum up number in romanNumber because it is a list. - Use pattern guards to manage case when digits come in reverse order, e.g. IX, IV.
Computers and Technology
1 answer:
USPshnik [31]3 years ago
6 0

Answer:

Check the explanation

Explanation:

type RomanDigit = int

type RomanNumeral = RomanDigit list

type RomanDigit = I | V | X | L | C | D | M

type RomanNumeral = RomanNumeral of RomanDigit list

/// Converting a single RomanDigits to an integers here

let digitToInt =

function

| I -> 1

| V -> 5

| X -> 10

| L -> 50

| C -> 100

| D -> 500

| M -> 1000

// testing here

I |> digitToInt

V |> digitToInt

M |> digitToInt

let rec digitsToInt = function

 

// empty is notified by using 0

| [] -> 0

// special case when a smaller comes before larger

// convert both digits and add the difference to the sum

// Example: "IV" and "CM"

| smaller::larger::ns when smaller < larger -> (digitToInt larger - digitToInt smaller) + digitsToInt ns

// otherwise convert the digit and add to the sum

| digit::ns -> digitToInt digit + digitsToInt ns

// tests

[I;I;I;I] |> digitsToInt

[I;V] |> digitsToInt

[V;I] |> digitsToInt

[I;X] |> digitsToInt

[M;C;M;L;X;X;I;X] |> digitsToInt // that is 1979

[M;C;M;X;L;I;V] |> digitsToInt // that is 1944

/// converts a RomanNumeral to an integer

let toInt (RomanNumeral digits) = digitsToInt digits

// test

let x = RomanNumeral [I;I;I;I]

x |> toInt

let x = RomanNumeral [M;C;M;L;X;X;I;X]

x |> toInt

You might be interested in
Which of the following is non-volatile storage?
gulaghasi [49]
Primary because it is non-volatile storage
6 0
3 years ago
The ________ is the biggest power consumer on a mobile computing device.
AleksandrR [38]

The part of a computing device that is the biggest power consumer is;

Central Processing Unit

<h3>Central Processing Unit</h3>

The part of a computing device that cosnumes the most power is called the Central Processing Unit (CPU). This is due to the following reasons;

  • The CPU consists of motherboard and battery that draws power from the socket.

  • The Mother board is equipped with logic gates that are used to implement logic in the computer.

  • The Logic gates are voltage signals that signify the binary information that are fed into the system.

Read more about Central Processing Unit (CPU) at; brainly.com/question/4558917

5 0
2 years ago
Ideally, how often should you back up the data on your computer? once an hour once a day once a month once a year
AleksAgata [21]
It really depends on your type of data, if it's sensitive data or not. And it also depends on what type of backup (Incremental, Decremental, etc.). But you should aim to backup at least once a week, and also do a backup of your original backup.
6 0
3 years ago
Read 2 more answers
Why does a HTML seen to work even when its broken? why does the code sometimes turn pink?
OverLord2011 [107]

the reason HTML seems to work even if it has syntax errors is due to browser having built in ways to parse the code meaning it will still show but most likely look way different then you would want.

the code may turn pink due to syntax errors

5 0
3 years ago
Where can you access email accounts on your windows 7 computer in order to modify current accounts or create new ones?
Mademuasel [1]
I'll create new ones because just for me, its so hassle
8 0
3 years ago
Other questions:
  • How do the search methods differ for primary and secondary data?
    10·2 answers
  • Software design and implementation are interleaved activities. The level of detail in the design depends on the type of system b
    5·1 answer
  • Ooooooooooooooooooooooooooooh im blinded by the lightssssssssss
    11·1 answer
  • True / False<br> 1. A byte is a standardized unit of measure that is always 8-bits.
    7·1 answer
  • 1. The global economy involves trading between people from different _____
    8·1 answer
  • This project involves writing a program that encodes and decodes messages. The program should prompt the user to select whether
    15·1 answer
  • How many ways do advertisers determine target audiences ??????
    15·1 answer
  • Whats yall favv scary movie
    11·1 answer
  • Which package is required for shadow passwords to be enabled?.
    15·1 answer
  • How does Virtual Reality help to make work experiences more inclusive?
    13·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!