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

 





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