(НЕОБХОДИМО ОТВЕТИТЬ СКОРЕЕ! СРОК ЗАВТРА!) Ошибки в языке программирования Miranda
Я получаю эту ошибку: ошибка типа в определении avg(строка 11 "test.m") не может объединить [num]->num with num Ошибка типа в определении цикла (строка 29 "test.m") не может объединить [num] с номером УКАЗАНО, НО НЕ ОПРЕДЕЛЕН: grades; ошибка типа в определении printa(строка 32 "test.m") использование "show" в полиморфном типе *
и мой код показан ниже:
elements x = x
grades :: [num]
ngrades == [num]
sumn :: ngrades -> num
sumn [] = 0
sumn (front : rest) = front + sumn rest
avg = sumn div elements
isMax :: ngrades -> num
isMax [] = 0
isMax (front: []) = front
isMax (front : next : rest) = isMax (front : rest), if front > next
= isMax (next : rest), otherwise
isMin :: ngrades -> num
isMin [] = 0
isMin (front: []) = front
isMin (front : next : rest) = isMax (front : rest), if front < next
= isMin (next : rest), otherwise
prompt = "Enter Number of grades: " ++ (show elements) ++ "\n"
printg = loop elements
loop n = gradesprompt [1..n]
gradesprompt i = "Grade " ++ (show i) ++ ": " ++ (shownum(grades!i)) ++ "\n"
printS = "\n"
printa = "Average: " ++ (show avg) ++ "\n"
printMax = "Maximum Grade: " ++ (show isMax) ++ "\n"
printMin = "Minimum Grade" ++ (show isMin) ++ "\n"
start = prompt ++ printg ++ printS ++ printa ++ printMax ++ printMin
Мне ДЕЙСТВИТЕЛЬНО НУЖНЫ ОТВЕТЫ как можно скорее. ЭТО ОТНОСИТЕЛЬНО МОЕГО ПРОЕКТА, И МНЕ ОЧЕНЬ НУЖНА ПОМОЩЬ!