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

Тема в разделе "Delphi - FAQ", создана пользователем Klin, 17 окт 2006.

Статус темы:
Закрыта.
  1. Klin

    Klin Гость

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


    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.

    //*****************************************************************************
     
  2. Bad Jungo

    Bad Jungo Гость

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

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

    Ogion7 Гость

    Функция находиться в програме, то что вы называете "телом", тоже часть програмы. Все ж в одном файле лежит. Строка GetDividerCount := count;) не вызывает функцию. Этот оператор значит что значачение которое будет возвращено в точку вызова функции будет равно count. Сама функция вызывается тут res := GetDividerCount(a);, у "теле" то есть.
     
Загрузка...
Похожие Темы - Помогите решить проблему
  1. mrx13
    Ответов:
    8
    Просмотров:
    260
  2. kuklofon
    Ответов:
    9
    Просмотров:
    579
  3. vladimir412
    Ответов:
    0
    Просмотров:
    804
  4. lotusmotus
    Ответов:
    1
    Просмотров:
    1.143
  5. makjieuh
    Ответов:
    1
    Просмотров:
    1.342
Статус темы:
Закрыта.

Поделиться этой страницей