Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Разработка алгоритма вычисления функции
Федеральное агентство по образованию САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Факультет технической кибернетики Кафедра систем автоматического управления ОТЧЕТ По лабораторной работе № 2 «Итерационные циклы» Курс «Программирование и основы алгоритмизации» Судент гр. 1083/1 Иванов И.И. Преподаватель Иванова Л.В. Санкт-Петербург 2011
Оформление задания Оформление каждого задания оформляется с нового листа. Задание включает описание задачи в контексте условия варианта. Если в описании варианта задания присутствует графическое изображение (схема, график, диаграмма), то оно также включается в описание задания. По заданию составляется подробное техническое задание, в котором описываются входные данные и порядок их ввода, выходные данные и вид их обработки и вывода., данные для тестирования и условия отладки Пример записи задания и технического задания Задание 1 Для ряда значений х из заданного диапазона получить значения функции , являющейся разложением функции ex в ряд с заданной точностью, определяя число итераций и сходимость. Достижение заданной точности определяется выполнением условия |Fi (x)- Fi-1 (x)| <e, где i- номер очередного члена ряда e - заданная погрешность. Для дополнительного контроля правильности работы программы вывести контрольное значение, рассчитанное по формуле у= ex.
1.1. Техническое задание Исходными данными для задачи являются : Интервал изменение аргумента – начальное и конечное значения Шаг изменения аргумента Погрешность вычисления функции Максимальное число итераций Исходные данные вводятся с клавиатуры по запросу вида Введите интервал изменения аргумента и шаг
Введите погрешность и максимальное число итераций
Соответствующие данные вводятся через пробел
Результаты работы программы выводятся на экран в таблицу следующего вида (сетку таблицы можно не выводить)
В качестве погрешности выводится последняя разность |Fi (x)- Fi-1 (x)| План тестирования Тестирование программы проводить в три этапа. 1 этап. Тестирование главное программы. Цель тестирования: проверка правильности ввода, передачи параметров и вывода
В качестве функции использовать любую простую функцию. Например такую F(x)=x N=5 Df=0.001
Исходные данные для тестирования Диапазон от 0 до 2 с шагом 0.5 Погрешность 0.01 максимальное число итераций5 Ожидаемые результаты
Здесь тестируется правильность организации цикла по переменной x, вызов функции, обработка результатов и вывод
2 этап. Тестирование функции вычисления ряда. Цель тестирования: проверка правильности работы функции вычисления ряда. Исходные данные Диапазон от 1 до 1 с шагом 1 Погрешность 0.01 максимальное число итераций 3
Предварительные расчеты суммы для x=1 для 4 членов ряда
Ожидаемый вид результатов тестирования
3 этап. Тестирование отлаженной программы (без промежуточных результатов) для варианта исходных данных из теста 1. Ожидаемые результаты
Если для подготовки результатов тестирования использовались технические средства, вставлять их лучше вместе с формулами Например, для вставки листа ExсeL после копирования надо вставить его через меню ПРАВКА- Специальная вставка - Лист Excel(объект) Пример (можно посмотреть все формулы, изменить данные и т.п.) Для подготовки результатов тестирования использован ExCeL
1.2. Разработка алгоритма Математическое описание задачи (для нашего примера) Текущее значение вычисляем по формуле X= x0+i*dx; где i=- номер точки, изменяется от 0 до K. K вычисляем по формуле k=целая часть(xk-x0)/dx Необходимо уточнить значение шага для точного попадания в конечную точку dx= (xk-xo)/k Вычисление самой функции здесь не рассматриваем!!!!!!!!
Далее этом пункте выбираются имена и типы для входных и выходных данных, составляется таблица вида
Для нашего примера
Правила оформления схемы алгоритма (блок-схемы) (если алгоритм простой, он может быть словесный) Блок-схема должна отражать весь алгоритм работы программы. Если программа состоит из нескольких модулей, то для каждого модуля составляется отдельная блок-схема. В случае, если в программе определены подпрограммы (процедуры и функции), то для каждой из них составляется отдельная блок-схема, которой предшествует свое задание, математическое описание подзадачи и структура данных. При оформлении блок-схемы к программе следует придерживаться следующих правил: 1. Элементы блок-схемы изображаются согласно их описанию, приведенному в таблице; 2. Линии изображаются со стрелками, если они (или какая-либо их часть) направлены вверх или влево; 3. Пересечения линий не допускаются. В случае, когда возникает ситуация с пересечением линий, следует воспользоваться элементами «Соединитель»; 4. Линии должны соединяться с фигурами только сверху или снизу. Исключение составляет «Логический» блок. Для него разрешается ответвление линий в любую сторону; 5. Все надписи выполняются шрифтом одного размера. Если надписи выполняются «от руки», то используют чертежный шрифт подходящего размера. 6. Все элементы размещаются в воображаемой сетке с размером ячейки 4 х 3 ед., при этом сама сетка не изображается.
Обозначения элементов блок-схемы
Рекомендации 1. Так как отчет оформляется в редакторе MS Word, то для создания блок-схем целесообразно использовать встроенные возможности этого редактора, размещая на странице так называемые «Автофигуры» панели «Рисование» 2. Чтобы избежать искажения пропорций элементов блок-схемы при их масштабировании держите нажатой клавишу “Shift” 3. Для добавления текста внутрь графического изображения элемента воспользуйтесь командой контекстного меню «Добавить текст». Вызвать контекстное меню можно, нажав правую кнопку мыши над изображением.
Алгоритм главной программы 1. Ввод исходных данных 1.1. Вывод сообщения : Введите интервал и шаг 1.2. Ввод x0, xk, dx 1.3. Вывод сообщения : Введите максимальное число итераций и погрешность 1.4. ввод n_max, eps 2. Расчет числа точек и уточнение шага 2.1. k=целая часть((xk-x0)/dх) 2.2. dx=(xk-x0)/k 3. Вывод заголовка таблицы 4. Цикл для i от 0 до k 4.1. x=x0+i*dx 4.2. y=f(x, n_max, eps, dy, n ) // функция вычисления суммы ряда 4.3. y_kontr=exp(x) 4.4. вывод x,y, y_kontr,dy,n 4.5. если n>=n_max вывод “НЕ “ 4.6. вывод ”СХОДИТСЯ” 5. конец Все заголовки функций и структуры передаваемых параметров разрабатывать здесь (потом их можно будет скопировать в то место, где будет разрабатываться настоящая функция, а не затычка)
Затычка для проверки работы главной программы
Функция f
Структура данных (только входные и выходные параметры)
Алгоритм затычки для функции f. Задаем значения выходных параметров для проверки правильности вывоза функции и передачи параметров.
конец f
Проверка работы алгоритма главной программы для первого варианта исходных данных планового тестирования
Разработка алгоритма вычисления функции 1.3.1. Назначение функции Для заданного значения х получить значения функции с заданной точностью, определяя число итераций. Достижение заданной точности определяется выполнением условия |Fi (x)- Fi-1 (x)| <e, где i- номер очередного члена ряда e - заданная погрешность, количество итераций ограничено значением n_max
Математическое описание задачи. Первый член ряда Предположим, что есть зависимость между очередным и следующим членами ряда и вид ее определяется формулой Найдем формулу для вычисления q, и если она будет проще, формула для вычисления члена ряда, то используем ее в своем алгоритме
Начальное значение суммы или просто a 1.3.2. Структура данных функции f Дополним структуру данных параметрами S, a, q и S0 Окончательно получим структуру данных для подпрограммы расчета суммы ряда
1.3.3. Алгоритм вычисления функции и его проверка
1.4. Составление программы 1.4.1. Главная программа Текст программы с затычкой
1.4.2. Функция вычисления суммы ряда Текст функции отдельно 1.5. Тестирование программы 1.5.1. Тест 1 Исходные данные
Результат
1.5.2. Тест 2 Исходные данные
Результат
1.5.3. Тест 3 Исходные данные
Результат
1.6. Выводы Сравнение результатов тестирования с планом тестирования из технического задания, рекомендации по использованию программы и ее алгоритмов для дальнейшего использования. Возможность модификации.
Если в лабораторной работе только одно задание, то первый индекс в нумерации разделов нужно опустить.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2018-05-30; просмотров: 186. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |