Помогите решить проблему

  • Автор темы Klin
  • Дата начала
Статус
Закрыто для дальнейших ответов.
K

Klin

#1
Вводится длина одномерного массива, состоящего из целых чисел, и его элементы. С этим массивом произвести указанные действия и вывести результаты.
Задание:составить массив количеств делителей
Я недавно начал изучать паскаль, мне надо было в инсте сделать эту лабораторную, мне помогли сделать но я непонимаю некоторых функций, прошу их обьяснить,для некоторых это может быть простым,просто нигде немогу найти ответы на вопросы, жирным шрифтом выделяю что именно непонятно:


var

i, len : integer;

a : array[1..100] of integer;

res : array[1..100] of integer;

//*****************************************************************************

function GetDividerCount(a : integer) : integer;

var

count, i, m : integer;

begin

count := 1;

if (a < 0) then

a := -a;

m := a div 2;


for i := 1 to m do

begin

if (a mod i = 0) then

Inc(count);

end;


GetDividerCount := count;

end;

//*****************************************************************************

begin

writeln('Input len:');

readln(len);

for i := 1 to len do

begin

write('a[', i, '] = ');

readln(a);

res := GetDividerCount(a);

end;


writeln('Res mas:');

for i := 1 to len do

write(res : 4);

readln;

end.

//*****************************************************************************
 
B

Bad Jungo

#2
Если я не ошибаюсь(а я тоже недавно начал изучать паскаль), то len - просто переменная, такая же как и i, res - это одномерный массив...
function GetDividerCount - это функция, которая составляется вне тела самой программы и вызывается в программе при упоминании имени этой функции(например вот в этой строчке: GetDividerCount := count;)

Вроде так... Ну может я неправильно понял твой вопрос...
 
O

Ogion7

#3
Если я не ошибаюсь(а я тоже недавно начал изучать паскаль), то len - просто переменная, такая же как и i, res - это одномерный массив...
function GetDividerCount - это функция, которая составляется вне тела самой программы и вызывается в программе при упоминании имени этой функции(например вот в этой строчке: GetDividerCount := count;)
Функция находиться в програме, то что вы называете "телом", тоже часть програмы. Все ж в одном файле лежит. Строка GetDividerCount := count;) не вызывает функцию. Этот оператор значит что значачение которое будет возвращено в точку вызова функции будет равно count. Сама функция вызывается тут res := GetDividerCount(a);, у "теле" то есть.
 
Статус
Закрыто для дальнейших ответов.