Как правильно вызвать функциию? - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Имеется код
При компиляции ошибка: Program1.pas(26,9): Нельзя преобразовать тип array ['a'..'z'] of integer к array of integer В чем проблема ни как не пойму.

Решение задачи: «Как правильно вызвать функциию?»

textual
Листинг программы
type mas=array of integer;
function f(a:mas; var m: byte):word;
var i,n:word;
begin
  n:=high(a); m:=a[0];
  for i:=1 to n do
    if a[i] < m 
      then 
        a[i]:=m 
      else 
      m:=a[i];
  f:=n;
end;
 
var
  b:mas;
  c:char; n:byte;
begin
  setlength(b,26);
  for c:='a' to 'z' do b[ord(c)-ord('a')]:=ord(c)mod 5;
  write(f(b,n),n);
end.

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

  1. Создаётся тип данных mas, который представляет собой массив целых чисел.
  2. Определяется функция f, которая принимает массив a и переменную m типа byte. Функция возвращает слово (word).
  3. В функции объявляются три переменные: i, n и m. Переменная i является словом, а переменные n и m являются целыми числами.
  4. Задаётся начальное значение переменной m как первый элемент массива a.
  5. Задаётся начальное значение переменной n как высота массива a.
  6. Запускается цикл for, который выполняется от 1 до n.
  7. Внутри цикла проверяется условие: если текущий элемент массива a меньше значения переменной m, то он заменяется на m. Если же текущий элемент больше или равен m, то значение m присваивается переменной m.
  8. После завершения цикла, значение переменной n становится длиной массива a.
  9. Функция f возвращает значение переменной n.
  10. Создаётся переменная b типа mas.
  11. Выполняется итерация по буквам алфавита от a до z. Каждая буква присваивается соответствующий ей порядковый номер (от 1 до 26) и записывается в массив b.
  12. Создаётся переменная c типа char.
  13. Выполняется итерация по байтам от 0 до n. Каждый байт присваивается переменной c.
  14. Выводится результат вызова функции f(b,n), то есть длина массива a.
  15. Конец программы.

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


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

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

12   голосов , оценка 4.083 из 5
Похожие ответы