ВВЕДЕНИЕ
Цель изучения дисциплины «Информатика» –формирование у студентов
базовых знаний и навыков, направленных на разработку эффективных прикладных
программ в практической деятельности инженера.
Курс рассчитан на
специалистов, которые используют достижения информационных технологий в
повышении эффективности работы предприятий.
Задачи дисциплины
«Информатика»:
§ получению представления о
состоянии и перспективах развития алгоритмических языков;
§ изучению основ
алгоритмизации и проектирования программ;
§ изучению современных
средств, использующихся для разработки программ на языках высокого уровня;
§ формированию базового
уровня знаний в области программирования на объектно-ориентированных языках
высокого уровня;
§ приобретению практических
навыков для разработки программ на алгоритмических языках высокого уровня для
решения комплекса технических задач.
Методика выполнения работы
Для правильного решения практической задачи по
заданному математическому (экономико-математическому) методу рекомендуется
придерживаться следующей последовательности действий:
1. Рассчитать результаты по заданному методу по
приведенным математическим формулам. В процессе решения использовать
калькулятор Windows или табличный процессор MS Excel;
2. Разработать консольное приложение по рациональному
алгоритму;
3. Вывести результаты при помощи функций
форматируемого вывода;
4. Сопоставить полученные результаты с результатами,
рассчитанными выше (пункт 1);
5. При достижении правильных результатов считается,
что алгоритм верен и переходим к следующему пункту. В противном случае
корректируем алгоритм решения задачи (метод решения);
6. Представить входные и выходные результаты расчета с
заданной точностью результатов;
7. Используя код программы (пункт 5) разработать консольной
программу с форматным вводом и выводом данных результатов моделирования;
8. Оформить необходимую сопроводительную документацию
на прикладное программное обеспечение в соответствие с индивидуальным заданием.
ЗАДАНИЕ
по выполнению курсового проекта
«Разработка программы для расчета по
экономико-математическому методу»
1)
Выбрать математический
(экономико-математический) метод для решения практической задачи;
2)
Привести краткое описание
метода и расчетные формулы;
3)
Разработать алгоритм решения
задачи;
4)
Разработать внешнюю
документацию:
3.1. техническое задание;
3.2.
блок-схему;
3.3.
псевдокод;
3.4.
базовые допущения;
3.5.
описание входных данных;
3.6.
описание выходных данных;
5)
Привести внутреннюю
документацию (добавить комментарии в коде);
6)
Привести полный код
программы или ее основных элементов;
7)
Привести скриншоты входных
данных и выходных результатов моделирования;
8)
Сделать выводы.
Примерный перечень тем для выбора
1)
Метод наименьших
квадратов;
2)
Интерполяция полиномом
Чебышева;
3)
Начисление банковского
процента методом изменяемой процентной ставки;
4)
Расчет банковских доходов
методом капитализации;
5)
Расчет
экономико-математической модели управления запасами (модель Уилсона);
6)
Нахождение корней
уравнения методом секущих;
7)
Нахождение квадратного
корня уравнения методом Ньютона;
8)
Нахождение квадратных
корней уравнения методом перебора;
9)
Симплексный метод;
10)
Система массового
обслуживания с отказами;
11)
Система массового
обслуживания с ожиданием;
12)
Прогнозирование
показателей с использованием временных рядов;
13)
Распределение запасов
поставщиков с помощью транспортной задачи;
14)
Оптимизация решения
методом итерации;
15)
Метод анализа иерархий;
16)
Прогнозирование и анализ с
помощью мультипликативной тренд-сезонной модели;
17)
Вычисление интеграла
методом Ромберга;
18)
Метод деления отрезка
пополам (бисекции);
19)
Оптимизация экономической
задачи методом Монте-Карло;
20)
Применение метода корреляционного
анализа.
Методика
разработки программы
1. Планирование
процесса решения задачи
Прежде
всего, следует поставить задачу. Зная задачу, можно наметить план ее решения.
Имея план, пора приступать к его реализации. После реализации плана необходимо
проверить результаты, чтобы убедиться, что задача решена. Такая логика решения
применяется во многих областях знаний, в том числе и в программировании.
Разрабатывая
программу на языке C/C++,
следует придерживаться следующей последовательности:
1. Определить цель и
задачу программы;
2. Определить методы,
которые будут использоваться для написания программы;
3. Написать
программу для решения задачи;
4. Запустить
программу и просмотреть полученный результат.
2. Понятие алгоритма
Алгоритм
– это последовательность действий или метод преобразования входных данных в
правильный результат.
Алгоритм
представляет
собой "рецепт" решения задачи. Это последовательность шагов, или метод
преобразования входных данных в правильный результат. Ошибки в результате обычно
означают, что алгоритм неверен и нуждается в исправлении. Процесс решения
задачи показан на рис.

3. Блок-схема
алгоритма
Блок-схема – это диаграмма, на которой изображена
последовательность действий, выполняемых программой. Для представления
различных типов процессов в блок-схеме используются геометрические фигуры
различной формы.
На этой диаграмме
разными геометрическими фигурами представлены разные типы процессов. Например,
ромб означает процесс принятия решения, а параллелограмм — ввод и вывод данных.
Линии со стрелками представляют последовательность выполнения компьютером
действий, соединенных этими линиями.
Терминатор. Показывает начальную и конечную
точки программы. Терминатор соединен с другими фигурами только одной линией: из
начальной точки выходит линия со стрелкой, а в конечную — входит.
Ввод и вывод
данных. Фрагмент
программы, в котором пользователь вводит данные или программа выводит результаты
на экран.
Обработка данных. Отображает любую операцию,
выполняемую компьютером, например присвоение переменной какого-либо значения.
Структура принятия
решения. Фрагмент
программы, в котором принимается решение о направлении вычислительного процесса.
В ромб всегда входит одна линия, а выходит две. Одна из выходящих линий
отмечается словом "Да", а другая — "Нет".
Предопределенный
процесс. Эта
фигура отображает группу операций, например вычисление факториала.
Соединитель. С помощью этой фигуры можно
избежать перекрещивания линий и сделать блок-схему менее запуганной.
Соединители всегда используются парами: в один соединитель линия входит, а из
другого выходит, причем в каждый из соединителей данной пары заносится одно и то
же число.
Соединитель между
страницами. Блок-схема
даже небольшой программы может занять несколько страниц. В этом случае линии
переходят на другую страницу с помощью соединителей между страницами. Подобно
обычным соединителям, эти соединители всегда используются парами.
Линия. Соединяет две фигуры блок-схемы и
показывает последовательность выполняемых программой операций.
4.
Псевдокод
Псевдокод
представляет собой "ненастоящий" код. Он состоит из смеси операторов
языка высокого уровня и фраз на английском (или русском) языке. Каждый
программист пользуется собственными псевдокодами, поэтому никаких стандартов на
составление псевдокодов не существует.
Псевдокоды
получили широкое распространение как средство облегчения разработки программ.
По сравнению с блок-схемами они обладают существенными преимуществами. Их
написание не требует много времени. Тексты псевдокодов компактны. С их помощью
программист может сконцентрироваться на создании алгоритма, не беспокоясь об
увязке всех линий блок-схемы.
Ниже
показан пример псевдокода для программы кассового аппарата.
•
sum = O
•
пока есть
покупки, выполнить цикл while
•
ввести
стоимость
•
sum = sum + price
•
Конец цикла
while
•
tax = sum x 0,0725
•
total = sum + tax
•
вывод
стоимости, налога и цены
Поскольку
псевдокод похож на код высокоуровневого языка, его легче преобразовать в
настоящий код программы, чем блок-схему. В псевдокоде отражены специфические
программные конструкции, которые используются в программе для организации
циклов или структур принятия решений. Кроме того, псевдокод легко
модифицировать.
5. Создание приложения с GUI-интерфейсом
Процедура создания приложения с графическим
интерфейсом пользователя проще, чем консольного приложения, поскольку C++Builder
предназначен именно для этого. Выполните следующие действия:
Создайте новый проект, выбрав в меню File | New Application
(это эквивалентно выбору значка Application в диалоге New Items). При этом будет открыт конструктор форм с
новой, пустой формой (см. рис. 2.1). Инспектор объектов будет показывать ее свойства.
Выберите в левой колонке страницы Properties
свойство Caption. Замените его значение (в правой колонке) на “Hello World”.
Обратите внимание, что этот текст появляется в строке заголовка формы.
Теперь разместите на форме необходимые компоненты —
две командных кнопки и метку, в которой будет отображаться требуемый текст.
Откройте в палитре компонентов главного окна C++Builder
страницу Standard (она открыта по умолчанию) и выберите в ней компонент
Button (значок, изображающий командную кнопку). После этого
щелкните кнопкой мыши в том месте формы, где должен находиться верхний левый
угол компонента. Кнопка будет помещена на форму; вокруг нее будут находиться
черные маркеры, которые позволяют изменять размер кнопки с помощью мыши и,
кроме того, служат признаком активного (выбранного) компонента формы.
Перемещать компонент по форме можно, поместив курсор внутрь компонента.
Вы наверняка заметили, что при перемещении компонента
или изменении размеров положение его фиксируется узлами сетки, показанной на
форме маленькими точками. Шаг сетки можно изменять или вообще отменить привязку
к сетке.
В инспекторе объектов измените свойство Caption
кнопки на “Message”, аналогично тому, как это было сделано для самой
формы. Введенный текст задает надпись на кнопке (по умолчанию это Button1)
Разместите на форме вторую кнопку с надписью “Exit”.
Выберите в палитре компонентов значок Label
(буква А) и поместите компонент метки на форму ниже командных кнопок. Выберите
в инспекторе объектов свойство Font. Если нажать маленькую кнопку с многоточием в
правой колонке инспектора, появится обычный диалог выбора шрифта, в котором
можно задать желаемую гарнитуру и размер текста. Кнопка с многоточием в колонке
значений — обычный признак того, что для свойства предусмотрен специализированный
редактор.
Удалите из свойства Caption весь текст (“ Label 1”).
К данному моменту мы практически завершили то, что
называют этапом визуального проектирования программы. Теперь нужно написать
программный код, который будет решать требуемую задачу, в данном случае — вывод
(по команде) на экран строки текста “Hello World”.
Выберите на форме первую из кнопок и перейдите в
инспекторе объектов на страницу событий (Events).
Дважды нажмите кнопку мыши на событии OnClick.
C++Builder создаст заготовку процедуры обработки ButtonlClick() и установит курсор редактора кода внутри нее. Введите строку кода,
чтобы функция выглядела так:
void
_fastcall TFormI::ButtonlClick(TObject *Sender)
{
Labell->Caption
= "Hello World from GUI!";
}
Точно так же создайте процедуру обработки события для второй командной
кнопки:
void
_fastcall TFormI::Button2Click(TObject *Sender)
{
Forml->Close ();
}
При желании измените размер формы (как это делается с
обычным окном) и сохраните файлы проекта, дав исходному модулю имя, например, HWGuiU,
а исходному файлу проекта — HWGui.
Осталось только компилировать и запустить программу.
Нажмите на инструментальной панели C++Builder кнопку с зеленой стрелкой (Run).
Если при компиляции возникают ошибки, значит, присутствуют синтаксические ошибки
в исходном коде.
Нажмите кнопку Message. Будет выведена строка сообщения. Кнопка Exit
завершает работу программы, закрывая ее главное окно (его можно закрыть и
системной кнопкой в правом верхнем углу — это то же самое).
Как видите, процесс визуального проектирования
пользовательского интерфейса идейно очень прост. Вы берете из палитры очередной
компонент, размещаете его на форме, подгоняете положение, размер,
устанавливаете различные свойства с помощью инспектора объектов. После
размещения всех необходимых компонентов следует этап собственно
программирования, т. е. написания кода на C++ для различных событий. Обратите внимание —
в визуально спроектированном приложении C++Builder любой написанный вами код, так или иначе,
вызывается из некоторой процедуры обработки события.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.