Набережночелнинский филиал
Казанского Государственного Технического Университета
им. 

Кафедра прикладной математики и информатики

КУРСОВАЯ РАБОТА

По дисциплине «Программирование на языке высокого уровня» на тему:

Исследование функции «Двуполостный гиперболоид»

Выполнил(а):

Студент(ка) гр.?????

Ф. И.О.

Проверил:

Набережные Челны – 2005

Содержание

Стр.

Введение. 3

1. Постановка задачи. 4

2. Разработка программного комплекса. 5

2.1 Исследование функций. 5

2.2 Этапы разработки программного комплекса. 6

2.3 Методы, используемые при разработке программного комплекса. 8

2.3.1 Поиск максимума и минимума функции. 8

2.3.2 Поиск нулей функции. 8

2.4 Описание функций, используемых в основной программе. 9

2.4.1 Функция void showcoordgrid(int showcoord) 9

2.4.2 Функция void showgrid(int showgrd) 9

2.5 Описание работы программного комплекса. 10

Заключение. 11

Библиография. 12

Приложение. Листинг программы. 13

Введение

Для автоматизации процесса исследования функции и изучения основ программирования в графическом режиме на языке высокого уровня C/C++, была поставлена задача разработки программного комплекса.

1. Постановка задачи

Требуется разработать программный комплекс, позволяющий автоматизировать процесс исследования функции «Двуполостный гиперболоид», который будет обладать следующими возможностями:

-  вывод на экран минимальных и максимальных значений графика функции;

-  вывод на экран нулей функции;

НЕ нашли? Не то? Что вы ищете?

-  вывод графика функции;

-  при нажатии определённых кнопок выполняла действия (поворот графика на 5 градусов; смещение графика по осям на 15 пикселей и т. д.). В данной функции при нажатии «+» или «‑» происходит увеличение или уменьшение масштаба графика;

-  кнопка <Esc> осуществляет выход в операционную систему.

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

-  обнаружение всех нулей функции (такие значения аргументов, при которых функция принимает значения, близкие или равные нулю);

-  нахождение всех максимумов и минимумов;

-  вывод всех перечисленных значений (нули функции, максимум, минимум) на экран.

2. Разработка программного комплекса

2.1 Исследование функций

Для избежания ошибок построения графика функции, надо научиться выявлять её характерные особенности, т. е. предварительно провести её исследование.

{Здесь помещается теория из математического анализа про исследование функций – страниц на 5-6}

2.2 Этапы разработки программного комплекса

Рассмотрим необходимые этапы разработки программного комплекса.

1) Анализ предметной области, постановка задачи и разработка технического задания (ТЗ).

На этом этапе определяются входные данные задачи, ограничения, выходные данные, а также основные требования к данным.

2) Разработка математической модели.

Входные и выходные данные связываются с помощью математического соотношения (система уравнений, соотношений и т. п.).

3) Определение метода решения задачи.

На этом этапе производится обоснование выбранного метода решения задачи.

4) Разработка алгоритма.

Алгоритм – это строгая, чётко определённая последовательность действий, которая на основании входных данных позволяет получить решение задачи либо выяснить его отсутствие. Для записи алгоритмов используются различные языковые схемы. Одной из самых популярных является блок схема. Блок-схема - это последовательность блоков соединённых стрелками. Каждый блок определяет выполняемые действия, а стрелки определяют последовательность выполнения действий.

5) Разработка текста программы.

Текст программы основывается на алгоритме (блок-схеме). Далее производится ввод программы в персональный компьютер. Текст программы вводится в ЭВМ с помощью инструментальных средств (например: текстового редактора, среды разработки и т. д.).

6) Трансляция программы.

Программа с языка программирования переводится в машинные команды (этим занимается транслятор или компилятор). При трансляции обнаруживаются синтаксические ошибки в записи программы.

Трансляция бывает 2-х видов: компиляция и интерпретация.

Компиляция – процесс анализа исходного текста программы на предмет наличия ошибок, и, при их отсутствии, происходит сопоставление каждой команде конкретного машинного кода, в результате чего создаётся выполняемый файл.

Особенности компиляции:

- Формирование исполняемого файла занимает некоторое время.

- Программа работает быстрее, чем в случае с интерпретатором.

Интерпретация – процесс анализа текущей строки исходного текста программы, и при отсутствии в ней ошибок, сопоставление ей соответствующего машинного кода, и его непременного выполнения, (исполняемый файл не создаётся).

Особенности интерпретации:

- Программа запускается мгновенно, но в целом работает медленнее.

- Если в каком-то операторе допущена ошибка, то выявить её можно лишь в случае, если оператор будет на выполнении.

7) Компоновка программы.

Оттранслированная программа объединяется со стандартными модулями необходимыми для её функционирования и преобразования в файл. Компоновку выполняет специальная программа (компоновщик, редактор связей, линкер).

8) Отладка программы.

Сложный и ответственный этап, занимающий от 90% времени на всю разработку программы. На данном этапе выявляются логические ошибки. Для этого создают комплект тестовых примеров.

Тестовый пример – задача, аналогичная решаемой, вашей программой, у которой заранее известен результат. Если при решении тестового примера выдаётся ожидаемый результат, то значит, программа работает правильно. Для отладки программы используют специальные программы – отладчики или дебаггеры.

9) Выполнение рабочих расчётов и разработка документации.

На этом этапе осуществляется отработка программы с целью получения результатов и разработка эксплуатационной документации (руководство пользователя и пр.).

2.3 Методы, используемые при разработке программного комплекса

2.3.1 Поиск максимума и минимума функции

{Здесь надо подробно расписать, каким образом осуществляется в вашем алгоритме поиск максимума и минимума функции при построении графика (желательно приведения фрагмента процедуры/функции вашей программы, где осуществляется поиск максимума/минимума). Вспомните задания на 3 л. р., где многие искали минимум и максимум массива}

2.3.2 Поиск нулей функции

{Здесь надо подробно расписать, каким образом осуществляется в вашем алгоритме поиск нулей функции (желательно приведения фрагмента процедуры/функции вашей программы, где осуществляется поиск нулей).}

15

2.4 Описание функций, используемых в основной программе

Здесь приведен просто пример описания двух функций. В вашей программе функций будет больше, и называться они могут по-другому.

2.4.1 Функция void showcoordgrid(int showcoord)

Данная функция рисует координатные оси и разметку на осях. Если параметр showcoord установлен в 1, то координатные оси отображается, в противном случае нет.

2.4.2 Функция void showgrid(int showgrd)

Данная функция рисует координатную сетку на экране. Если параметр showgrd установлен в 1, то координатная сетка отображается, в противном случае нет.

16

2.5 Описание работы программного комплекса

При запуске файла, вам предлагается ввести значение параметров А, B,C, D (см. рис. 2.5.1).


Рис.2.5.1. Ввод коэффициентов функции.

После ввода параметров получим картину следующего вида (см. рис.2.5.2).


Рис.2.5.2. Основное окно программы.

{И т. д., с подробным описанием всех поддерживаемых функций, с приведением всех копий экранов работы программы}

Исходный текст программы приведён в приложении.

Заключение

Использование программного комплекса позволило провести исследование функции «Двуполостный гиперболоид». Исследование показало, что график этой функции обладает следующими характеристиками.

·  параметр А=8, В=3, С=1, D=4;

·  максимальное значение функции MAX Y=80;

·  минимальное значение функции MIN Y= -80;

·  нули функции достигаются при y=0.

Библиография

1. Бьярн Страустрап. С++ . Описание языка программирования.

2. Turbo C. User's Guide. Borland International, Inc. 1988.

3. Turbo C. Reference Guide. Borland International, Inc. 1988.

Приложение. Листинг программы.

#include<stdio. h>

#include<graphics. h>

#include<conio. h>

#include<stdlib. h>

#include<math. h>

#include<dos. h>

#include<alloc. h>

#include<string. h>

.......................

………………

{шрифт Courier New;размер 11, интервал одинарный}