- •1. Основные этапы разработки программных продуктов
- •1.1 Постановка задачи
- •Словесная формулировка
- •Формульная постановка задачи
- •1.2 Создание программного продукта
- •1.2.1.Формирование математической модели
- •Формирование исходных данных
- •Составление расчётных зависимостей
- •Правила формирования математической модели.
- •1.2.2.Алгоритмизация задачи
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •1.2.3. Реализация программного продукта
- •1.2.4. Работа с результатами
- •1.2.5.Анализ результатов решения
- •1.2.6.Принятие решения
- •1.2.7.Составление технической документации
- •1.3.Полная обработки задачи пользователя
- •1.4.Обеспечение эффективности разработки программных продуктов
- •2.5 Идентификаторы
- •2.6 Описание операций
- •2.6.1 Унарные операции
- •2.6.2 Бинарные операции
- •2.6.3 Пунктуаторы
- •Программирование простых ветвлений
- •4.1.5. Программирование задачи
- •Правила составления и использования
- •4.1.5.2. Операторы условной передачи управления
- •Укороченный оператор условного перехода
- •Правила записи и выполнения
- •Условная операция
- •Технология программирования арифметических циклов
- •Циклы с аналитическим заданием аргумента
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма
- •Оператор цикла с предусловием
- •Правила записи и выполнения
- •Оператор цикла с постусловием
- •Правила записи и выполнения
- •Оператор пошагового цикла for
- •Правила записи и выполнения
- •Программа по алгоритму цикла с предусловием
- •Программа по алгоритму цикла с постусловием
- •Программа по алгоритму цикла с параметром
- •Циклы с табличным заданием аргумента
- •Описание массивов
- •Описатель имя[размер];
- •Обозначение элементов массива
- •Имя[индекс]
- •Описатель имя[разм_1] …[разм_i]… [разм_n];
- •Постановка задачи
- •Математическая формулировка
- •Выбор метода решения
- •Составление алгоритма решения
- •Алгоритмизация структурой цикла с предусловием
- •Алгоритмизация структурой цикла с постусловием
- •Алгоритмизация структурой цикла с параметром
- •Программирование задачи
- •Описание массивов
- •Обозначение элементов массива
- •Составление программ решения задачи
- •Улучшение качества программных продуктов
- •Организация ввода-вывода Использование укороченных спецификаторов
- •Ввод переменных
- •Вывод переменных
- •Организация ввода в диалоге
- •Варианты ввода массивов
- •Оформление выводимых величин
- •Управление выполнением программ Использование составных присваиваний
- •Выбор устройства вывода
- •Повторение расчётов
- •Приостановка вывода
- •Очистка экрана
- •Позиционирование курсора
- •Пример улучшения качества
- •Программирование с использованием подпрограмм
- •Имя (фактические параметры)
- •Подпрограмма с одним результатом
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Подпрограмма с аргументом – одномерным массивом
- •Постановка задачи примера
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Подпрограмма с несколькими результатами
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Подпрограмма с результатом – массивом
- •Постановка задачи
- •Математическая формулировка
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Обработка текстовой информации в Си Символьные строки
- •Определение значения символьной строки
- •Массивы строк
- •Ввод строки
- •Выделение памяти
- •Функции ввода символьной строки
- •Функция ввода символьной строки gets( )
- •Функция ввода символьной строки scanf( )
- •Преобразование символьных строк
- •Функцияatoi( )
- •Функцияatol( )
- •Функцииatof( ) иatold( )
- •Методика ввода числовых данных с использованием функцииgets( )
- •Вывод строки
- •Вывод строки функциями printf( ) и fprintf( )
- •Вывод строки функциямиputs( ) и fputs( )
- •Перевод чисел в формат символьной строки
- •Обработка символьных строк
- •Определение длины строки
- •Объединение строк
- •Копирование строк
- •Сравнение строк
- •Функции по работе с датой и временем.
- •Структуры.
- •Работа с дисками.
- •Ввод-вывод потока.
- •Открытие потока.
- •Объектно−ориентированное программирование
- •Классы ObjectWindows
- •Приложение коды клавиш
- •Краткий справочник по Си
- •Оператор вывода на принтер
- •Структура оператора
- •Структура оператора
- •Структура оператора
- •Библиографический список
Правила формирования математической модели.
Выполнять модель задачи блочно (исходные данные, расчётные зависимости).
Выбирать для каждого блока требуемую степень детализации
Обозначать все участвующие в задаче данные именами, определяющими их суть, что облегчает понимание задачи другими пользователями.
Указывать размерности всех используемых данных для контроля правильности планируемых вычислений.
Записывать математические зависимости в универсальном виде, пригодном для решения множества аналогичных задач.
Выполним модель задачи о картофеле (пример 2.3) по изложенным правилам.
Вначале откорректируем используемые в словесной формулировке задачи наименования данных. Так, понятие «биологическая урожайность» изменим на «урожайность биологическая» (основное понятие – урожай). Следовательно, обозначение БУ модифицируются в УБ. Аналогично наименования «выращенный урожай», «общие потери», «товарная масса картофеля» заменим на «масса выращенная», «потери общие», «масса товарная» и обозначим МВ, ПО и МТ. Обозначение ДП (длина поля) запишем как ПД (поле, длина), а аббревиатуру ШП (ширина поля) – как ПШ (поле, ширина).
Следовательно, в качестве обозначений основных исходных данных приняты: ПД (поле, длина), ПШ (поле, ширина), УБ (урожайность биологическая), ПО (потери общие), выходного данного – МТ (масса товарная).
Полученные обозначения используем для составления универсальной модели задачи о картофеле (пример 2.3).
Исходные данные
(основные) |
| |
ПД = _ _ _,_ _ |
| |
ПШ = _ _ _,_ _ |
| |
УБ = _ _ _,_ _ _ |
| |
ПО = _ _,_ _ |
| |
(вспомогательные) |
| |
k1 = __ _ _,_ _ _ _ |
| |
k2 = __ _ _,_ _ _ _ |
| |
k3 = __ _ _,_ _ _ _ |
| |
k4 = __ _ |
|
Расчётные зависимости
| |
| |
| |
МТ = МВ – МП |
|
При составлении расчётных зависимостей возникла необходимость использования промежуточных данных для расчёта площади поля (ПП), массы выращенной (МВ), массы потерь (МП). Использование этих данных увеличивает степень детализации расчётов, облегчая в дальнейшем отладку решения и анализ его результатов.
Использование в математической формулировке именованных данных и шаблонов, позволило получить универсальную модель, пригодную для прямоугольных полей с любыми размерами, урожайностью, общими потерями.
Предложенная методика корректировки обозначений данных и создания математической модели пригодна для использования в задачах любых видов и типов.
Пример реализации универсального варианта модели задачи о картофеле с конкретными входными данными из словесной формулировки имеет вид:
Исходные данные
ПД = 1,2 км |
|
ПШ = 750 м |
|
УБ = 180 ц/га |
|
ПО = 12,7 % |
|
k1 = 1000 м/км |
|
k2 = 10-4 га/м2 |
|
k3 = 0,1 т/ц |
|
k4 = 100 % |
|
Расчётные зависимости
|
| |
|
| |
|
| |
МТ = МВ – МП |
|
|
Получение математической модели позволяет перейти к следующему этапу создания программного продукта – алгоритмизации.