Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ МОЛОДІ ТА СПОРТУ УКРАЇНИ
Технічний Коледж
Національного університету «Львівська політехніка»
Відділення Інформаційних Технологій
та Комп’ютерної Техніки
Лабораторна робота №3
З дисциплiни «Алгоритми та структури даних»
Львів 2012
План
Тема
Мета
Завдання
Основні теоретичні відомості
Розробка структурних даних
Розробка алгоритму
Текст робочої програми
Тестування
Висновок
1.Тема:
Використання рекурсивної функції на прикладі реалізації арифметичної прогресії.
2.Мета:
Навчитися використовувати рекурсивні функції для оптимізації процесу написання програм.
3.Завдання:
Написати програму обчислення n-го члену арифметичної прогресії перший член якої дорівнює номеру варіанту, а чисельник – даті народження. Кількість повторів ввести з клавіатури.
4.Основні теоретичні відомості:
Арифмети́чна прогре́сія це послідовність дійсних чисел виду
/
де / — це перший член прогресії, / — це фіксована різниця між попереднім та наступним.Формула для знаходження /-го члена прогресії:
/
5. Розробка структурних даних
Змінна
Опис
Тип
a,h,n,an
Вхідні дані, параметри
double
6. Розробка алгоритму
1) Блок-схема
Головна программа:
Функція:
2)Граф-схема
Головна программа:
початок
a,h,n
f(a,h,n)
an
кінець
Функція:
f(aa,hh,nn)
початок
nn!=1
кінець f(aa,hh,nn-1)
3) Описовий алгоритм:
Підключення бібліотек
Опис змінних
Початок головної програми
Введення даних
Обрахування результатів
Виведення значень
7)Текст робочої програми
#include "stdafx.h"
#include<iomanip>
#include<iostream>
#include<conio.h>//підключення бібліотек
using namespace std;//використання простору імен
void f(double,double,double);//оголошення прототипів функції
double a,h,n,an;//оголошення змінних
void main()// початок основної програми
{
cout<<"vvedit 1 chlen progresii\n";// вивід текстового пов1домлення
cin>>a;//Введення даних
cout<<"Vvedit chiselnik progresii\n";// вивід текстового пов1домлення
cin>>h;//Введення даних
cout<<"Vvedit kilkist chleniv progresii\n";// вивід текстового пов1домлення
cin>>n;//Введення даних
f(a,h,n);//виклик функції
cout<<"\nznachenya chlelena :\n"<<an;// виведення результату
getch();//затримка екрану
}
void f (double aa,double hh,double nn);//початок функції
{
if (nn!=1) then //перевірка умови ,виконання рекурсії та повернення значень
{
an=aa+hh;
f(an,hh,nn-1);
};
}
8) Тестування
/
9) Висновок
Я навчився використовувати рекурсивні функції для оптимізації процесу написання програм.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!