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.

Объяснение кода листинга программы

  1. Переменная n инициализируется значением 10.
  2. Создается тип данных mas, который представляет собой массив целых чисел от 1 до n.
  3. Определяются две функции F и L, которые принимают массив X в качестве аргумента и возвращают значение типа real. В функции F используется формула (1+abs(X[i])), а в функции L используется цикл for, в котором вычисляется среднее значение квадрата каждого элемента массива X.
  4. Создается переменная sum типа real, которая будет использоваться для хранения суммы всех элементов массива X.
  5. В цикле for происходит вычисление суммы элементов массива X. Для каждого элемента вычисляется квадрат, вычитается два раза значение этого элемента и результат делится на значение функции L.
  6. Создается переменная X типа mas.
  7. В цикле for происходит инициализация каждого элемента массива X случайным числом от -10 до 10.
  8. Выводится значение переменной g, которое равно результату вычисления функции F(X).
  9. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5