Студопедия

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

КАТЕГОРИИ:

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






Задание 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('Пупкин Василий');


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал