Error: Incompatible types: got "Extended" expected "SmallInt" - Turbo Pascal
Формулировка задачи:
Задание.
Написать программу решения задачи, используя функции: в основной функции вычислить с помощью генератора случайных чисел 10 элементов массива, во вспомогательной - вычислить скалярную величину. Проблема в том что я не смог сделать правильно задание на Паскале.Программа нормально работает
На паскале:
как это исправить ?
Решение задачи: «Error: Incompatible types: got "Extended" expected "SmallInt"»
textual
Листинг программы
const n = 10; type mas=array[1..n] of integer; function F(X:mas):real; function L(X:mas):real; var Pr : real; i : integer; begin Pr:=1; for i:=1 to n do Pr:=(1+abs(X[i])); L:=Pr end; var i:integer; sum : real; begin sum:=0; for i:=1 to n do sum:=(sqr(X[i])-2*X[i])/L(x); F:=sum end; var X:mas; i:integer; g:real; begin writeln('Massiv X'); randomize; for i:=1 to n do begin X[i]:=random(20)-10; write(X[i]:3); end; writeln; g:=F(X); writeln('g=',g:0:2); end.
Объяснение кода листинга программы
- Переменная
n
инициализируется значением 10. - Создается тип данных
mas
, который представляет собой массив целых чисел от 1 доn
. - Определяются две функции
F
иL
, которые принимают массивX
в качестве аргумента и возвращают значение типаreal
. В функцииF
используется формула(1+abs(X[i]))
, а в функцииL
используется циклfor
, в котором вычисляется среднее значение квадрата каждого элемента массиваX
. - Создается переменная
sum
типаreal
, которая будет использоваться для хранения суммы всех элементов массиваX
. - В цикле
for
происходит вычисление суммы элементов массиваX
. Для каждого элемента вычисляется квадрат, вычитается два раза значение этого элемента и результат делится на значение функцииL
. - Создается переменная
X
типаmas
. - В цикле
for
происходит инициализация каждого элемента массиваX
случайным числом от -10 до 10. - Выводится значение переменной
g
, которое равно результату вычисления функцииF(X)
. - Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д