IPB
ЛогинПароль:

> Метод индуктивной функции..часть 2
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 18
Пол: Женский
Реальное имя: Olya

Репутация: -  0  +


blink.gif У меня тоже проблемы с этим методом, только задание другое:

Дана последовательность вещественных чисел, заданная в типизированном файле. Методом индуктивной функции вычислить среднюю длину связных подпоследовательностей отрицательных чисел.

Что здесь можно сделать? wacko.gif smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 18
Пол: Женский
Реальное имя: Olya

Репутация: -  0  +


smile.gifАндрей, приветик, вот проверяй...а ты уверен, что функция NegChainL - индуктивная? У нас просто называют её рекурсивной...или я так поняла, это всё взаимосвязано? Ещё по заданию, эта подпрограмма должна написана в стиле защитного программирования, то есть должны быть предусмотрены всевозможные коды ошибок. Здесь я так понимаю, тоже это есть. Вот..мне ещё нужно описать необходимые типы данных и составить полную спецификацию, которая должна содержать задачу функции (самой подпрограммы)...входные, выходные данные..и вот те возможные значения функции, ей присваиваемые...Как это оформить..? wacko.gif yes2.gif

{Average negative chain length calculating}
{by Lapp}var
  f:text;
  n,l,m:integer;

{функция NegChainL
если значение считанного элемента отрицательно, значение функции увеличивается на 1
в противном случае обнуляется}
function NegChainL:integer;:

var
  a:real;
begin
  ReadLn(f,a); // чтение входных данных
       if EoF(f) or(a>0) then NegChainL:=0 else NegChainL:=NegChainL+1//если конец файла или
                                //a>0 то значение функции=0, иначе значение функции+1; 
end;

begin
  Assign(f,'NegChain.dat');//связываемем имя файла с файловой переменной
  Reset(f); //готовим файл к чтению
  n:=0; //инициализируем переменные
  m:=0;
  repeat
//  (*)
     l:=NegChainL;  //переменной l присваиваем значение функции 
        if l>0 then begin //Если l>0
            Inc(n); //счётчик цепочек+1
            m:=m+l  //счётчик орицательных элементов+!
        end
  until EoF(f); //если не конец файла, повторяем процесс  (*)
  Close(f); //Закрываем файл
//Вывод результата
  if n=0 then
       WriteLn('No negative chains found')
             else WriteLn('The average negative chain length is ',m/n:8:3);
end.
wub.gif


Сообщение отредактировано: Olya -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 12.04.2025 6:52
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name