![]()
|
|||
Лабораторная работа №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
|
|||
|