Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Задание 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('Пупкин Василий');
|