- •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
- •Приложение коды клавиш
- •Краткий справочник по Си
- •Оператор вывода на принтер
- •Структура оператора
- •Структура оператора
- •Структура оператора
- •Библиографический список
Оформление выводимых величин
Существуют различные виды оформления выводимых переменных.
В составленных ранее программах результаты расчётов выводились, как правило, в виде отдельных числовых значений. Однако с точки зрения профессионального программиста и с учётом правил оформления технической документации результаты расчетов предпочтительно выдавать в табличном виде.
Типичный пример – унифицированные таблицы оформления результатов циклических вычислений (табл. 5.1).
При этом в алгоритме и программе оформление таблицы разбивается на три части:
оформление заголовка до проведения вычислений (входа в цикл);
формирование текущей строки выводимых результатов в точке вывода (в теле цикла);
формирование нижнего ограничителя таблицы после вывода (выхода из цикла).
Общая методика организации табличного вывода требует:
Выяснить, сколько столбцов планируется (сколько переменных требуется печатать в одной строке) и каков формат (длина поля) выводимых переменных с учетом пробелов между разграничителями и значениями.
Составить заготовку шаблона заголовка таблицы и запрограммировать её.
Сформировать строку выводимых численных значений переменных с вертикальными разграничителями между ними.
Выполнить горизонтальный ограничитель после вывода (выхода из цикла).
В качестве элементов разграничителей можно использовать любой имеющийся на клавиатуре символ.
Пример формирования таблицы результатов для циклического процесса вычисления функции y=f(x) (x– аргумент,y– функция).
Количество выводимых столбцов – два. Длина полей, например, для аргумента 6 символов, для функции – 7.
Составим заготовку заголовка таблицы:
+––––––––+–––––––––+
| x(i) | y(i) |
+––––––––+–––––––––+
При составлении шаблона заголовка размер каждого столбца увеличен на две позиции. Это сделано для организации пробелов между разграничителями и выводимым значением (ширина первого столбца 6+2=8, второго – 7+2=9). По заготовленной шапке таблицы осуществим её программирование с помощью стандартных методов вывода:
printf(" +––––––––+–––––––––+\n"
" | x(i) | y(i) |\n"
" +––––––––+–––––––––+\n");
Пробелы между открывающими кавычками каждой строки и началом таблицы предписывают ее сдвиг от левого края листа. Полученный оператор необходимо записать в программе до входа в цикл расчета и вывода текущих значений функции.
Сформируем текущую выводимую строку в соответствии с заголовком:
| x(i) | y(i) |
Оператор вывода численных значений текущей строки примет вид
printf(" | %6.2f | %7.2f |\n", x[i] , y[i]);
Пробелы между открывающими кавычками и левым ограничителем строки таблицы предписывают ее сдвиг от левого края листа аналогично предусмотренному в заголовке.
Оператор записывается в точке вывода текущих значений аргумента и функции взамен существующего (формируется его корректировкой).
Выполним конечный ограничитель таблицы:
+–––––––––+––––––––+
Для этого достаточно после выхода из цикла включить в программу следующий оператор:
printf("+––––––––+–––––––––+\n");
Пробелы между открывающими кавычками и левым ограничителем предписывают ее сдвиг от левого края листа аналогично предусмотренному в заголовке.
При необходимости выполнения пустых строк под таблицей символ перевода \nповторяется требуемое количество раз. Например, оператор
printf("+––––––––+–––––––––+\n\n\n\n");
предписывает после закрытия таблицы вывести три пустые строки.
Внимание! Рассмотренная методика организации простейшей (двухстолбцовой) таблицы является базовой при построении таблиц с любым количеством столбцов и строк, т. е. может применяться как для циклических, так и любых других процессов (например, линейных).