Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Задание 2. Написать рекурсивную функцию, определяющую количество положительных элементов в заданном векторе vectorn.






Написать рекурсивную функцию, определяющую количество положительных элементов в заданном векторе vectorn.

1. Представим решение этой сложной задачи через решение более простой посредством рекурсивного обращения. Чтобы подсчитать количество нужных нам элементов во всем векторе, содержащем n элементов, необходимо сначала сделать это для вектора, содержащего n – 1 элемент, n – 2 элемента и так далее. Затем остается выполнить проверку последнего элемента и добавить к результату единицу в том случае, если он окажется положительным.

 

2. Схема алгоритма решения задачи:

 

 

3. Код программы

 

3.1. На языке Паскаль:

 

Program Variant_0;

Uses WinCrt;

Const n = 10; {задание размера вектора именованной константой}

Type TVect=Array [1..n] Of Integer; {описание нового типа}

Var i, count: Word;

v_min, v_max: Integer;

vector: TVect;

Function Count_pol(k: Word; Var AA: TVect): Word;

Var m: Word;

Begin

If (k=0)

Then m: =0 {если в векторе уже нет элементов}

Else

Begin

m: =Count_pol(k-1, AA);

If (AA[k]> 0)

Then m: =m+1;

End;

Count_pol: =m;

End; {функции Count_pol}

Begin {головная программа}

Randomize; {запуск генератора случайных чисел}

WriteLn('Лабораторная работа №9_2');

WriteLn('Вариант №0');

WriteLn('ИС-11-1');

WriteLn('Пупкин Василий');






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.