Хелпикс

Главная

Контакты

Случайная статья





Лабораторная работа №4. Инструкционная карта к лабораторной работе №4. Задание 1. Раскрыть понятие «Рекурсивный алгоритм», его значение



 

Предмет «Информатика и ИКТ»

Лабораторная работа №4

Тема занятия:Построение рекурсивных алгоритмов.

Цель: Приобретение практических навыков разработки рекурсивных алгоритмов; развитие умений и навыков применять теорию, развивать познавательные возможности, внимание, самостоятельность на занятии.

Тип занятия:закрепление знаний и умений

Вид занятия:лабораторное занятие

Материально-техническое обеспечение:ПК, ОС  Windows

 

ХОД ЗАНЯТИЯ:

 

1. Раскрыть понятие «Рекурсивный алгоритм», его значение.

2. Вычислить формулу: ((5 – 3) × 4) = 8.

3. Произвести расчет суммы первых N натуральных чисел.

4. Сделать вывод.

 

Инструкционная карта к лабораторной работе №4

 

Задание 1. Раскрыть понятие «Рекурсивный алгоритм», его значение

Рекурсивный алгоритм – это алгоритм, в описании которого прямо или косвенно содержится обращение к самому себе. В технике процедурного программирования данное понятие распространяется на функцию, которая реализует решение отдельного блока задачи посредством вызова из своего тела других функций, в том числе и себя самой. Если при этом на очередном этапе работы функция организует обращение к самой себе, то такая функция является рекурсивной.

Алгоритм определен рекурсивно, если это определение состоит из:

одного или нескольких условий останова, которые могут быть вычислены для определенных параметров;

шага рекурсии, в котором текущее значение в алгоритме может быть определено в терминах предыдущего значения. В конечном итоге шаг рекурсии должен приводить к условиям останова.

Рекурсию используют ввиду того, что зачастую она позволяет выразить сложные алгоритмы в компактной форме без ущерба для эффективности. В системах программирования, поддерживающих обращение к функциям, издержки рекурсивной реализации определяются механизмами, которые используют эквивалент встроенного стека. Большинство современных систем программирования имеют тщательно разработанные механизмы для выполнения такой задачи.

 

Задание 2.Вычислить формулу: ((5 – 3) × 4) = 8.

Вводится с клавиатуры записанная без ошибок формула следующего вида:

< формула > = < цифра > | (< формула >< знак >< формула >)

< знак > = + | - | * | /

< цифра > = 0 | 1 | 2|... | 9.

int Formula ()

{

int f, x, y;

char c, op;

c = getchar ();

if ((c >= '0') && (c <= '9')) return (c - '0');

else

{

x = Formula (); op = getchar (); y = Formula ();

switch (op)

{

case '+': f = x + y; break;

case '-': f = x - y; break;

case '*': f = x * y; break;

case '/': f = x / y; break;

}

getchar ();

return f;

}

}

void main ()

{

printf (" Enter formulu: »);

printf (» = \%d», Formula ());

}

Задание 3.Произвести расчет суммы первых N натуральных чисел.

Вычисление суммы 1+2+3+…+N можно определить следующим образом:

 

Sum(N) =

Program Pr2;

Var

N: integer;

FunctionSum(N: integer): integer;

begin

if N=0 then Sum:=0 else Sum:= N+Sum(N-1);

end;

BEGIN {основная программа}

Write('N='); Readln(N);

Writeln('S=', Sum(N));

Readln

END.

 

Сделать вывод.

 

Обратная связь с преподавателем: kulikovskaya.tanya@yandex.ru

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.