- •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
- •Приложение коды клавиш
- •Краткий справочник по Си
- •Оператор вывода на принтер
- •Структура оператора
- •Структура оператора
- •Структура оператора
- •Библиографический список
Управление выполнением программ Использование составных присваиваний
Наряду с широко используемыми стандартными изображениями операций присваивания (все операнды и символы операций указаны явно), в Си разработаны и используется варианты компактной их записи.
Такая запись реализуется в виде составных присваиваний, выполняемых для бинарных операций.
Стандартная структура бинарной операции присваивания имеет вид
ПР = оп1 боп оп2
, где ПР – результат операции (переменная);
оп1 – первый операнд (операнд 1);
оп2 – второй операнд (операнд 2);
боп – символ бинарной операции.
-
Внимание ! В случае, когда первый операнд (оп1) есть переменная ПР (ПР = ПР боп оп2), возможно использование составных присваиваний.
Структура составной операции присваивания имеет вид
ПР боп = оп2
В качестве ПР (оп1) используются переменные целого (вещественного) типа, в качестве операнда оп2 – константа, переменная, арифметическое выражение аналогичного типа.
Примеры записи операций присваивания
-
Общепринятая запись
Запись составного присваивания
a = a + b;
tok = tok – dt;
i = i * 2;
dd = dd / f;
a + = b;
tok - = dt;
i * = 2;
dd / = f;
Составные присваивания, как правило, оформляются в виде операторов.
Основное достоинство составных присваиваний – компактность записи, значительный недостаток – потеря наглядности.
Если в качестве операции используется сложение (вычитание), а в качестве операнда оп2 целая константа единица (1), возможно использование специальных форм записи:
-
++ – инкремент (увеличение на единицу);
-
- - – декремент (уменьшение на единицу).
Операции могут проставляться до или после переменной ПР.
Структуры использования имеют вид:
++ПР – –ПР
ПР++ ПР– –
Структура ++ПР (– –ПР) называется префиксной (предоперация), структура ПР++ (ПР– –) – постфиксной (послеоперация)
Префиксные операции предписывают увеличение (уменьшение) значения ПР на единицу до использования переменной.
Постфиксные операции предписывают увеличение (уменьшение) значения ПР на единицу после использования переменной.
Префиксные (постфиксные) операции могут использоваться самостоятельно, а также в виде операторов или в составе арифметических выражений других операторов.
Примеры записи операций присваивания
-
Общепринятая запись
Запись составного присваивания
i = i + 1
j = j –1
++i
- - j
i++
j - -
Операция ++i (- -i) предписывает прочитать значение переменной i, увеличить (уменьшить) его на единицу и записать в ту же ячейку для дальнейшего использования.
Операция i++ (i- -) предписывает прочитать и использовать значение переменной i, а затем увеличить (уменьшить) на единицу и записать в ту же ячейку.
Операции широко используются в циклических вычислительных процессах с табличным заданием аргумента для формирования закона изменения. Например, в качестве выр_прир оператора цикла с параметром.
-
Внимание ! При программировании закона изменения параметра цикла использование префиксной и постфиксной форм записи даёт аналогичный результат.
Так заголовок цикла можно оформить одним из вариантов:
for( i=1 ; i<n ; i++ ) или for( i=1 ; i<n ; ++i )
Примеры использования в операторах цикла выполнены в разделе 6.3.