- •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
- •Приложение коды клавиш
- •Краткий справочник по Си
- •Оператор вывода на принтер
- •Структура оператора
- •Структура оператора
- •Структура оператора
- •Библиографический список
Структура оператора
while( усл_выр )
{
тело
цикла
}
где while – ключевое слово (пока);
усл_выр – выражение, определяющее проверку условия повторения цикла;
( ) – ограничители выражения;
тело цикла – совокупность повторно вычисляемых операторов;
{ } – ограничители тела цикла.
Схема выполнения оператора
while( усл_выр )
ЛОЖЬ ИСТИНА
{
тело
цикла
}
фрагмент программы
. . .
while( zi <= b ) /* заголовок цикла */
{
yi = sin( xi ); /* вычисления в */
zi = 2.* yi; /* теле цикла */
}
sum = 0.;
. . .
Оператор цикла с постусловием
Структура оператора
do
{
тело
цикла
}
while( усл_выр);
где do – ключевое слово (выполнять);
тело цикла – совокупность операторов, вычисление которых требуется повторять;
{ } – ограничители тела цикла;
while – ключевое слово (пока);
усл_выр – выражение, определяющее проверку условия повторения цикла;
( ) – ограничители выражения;
; – признак оператора.
Схема выполнения оператора
do
{
тело
цикла
}
while(усл_выр);
ЛОЖЬ ИСТИНА
фрагмент программы
do /* вход в цикл */
{
yi = sin( xi ); /* вычисления в */
zi = 2.* yi; /* теле цикла */
}
while( zi <= b ); /* проверка условия повторения цикла */
sum = 0.;
Оператор пошагового цикла for
Структура оператора
for( [нач_выр] ; [усл_выр] ; [выр_прир] )
{
тело
цикла
}
где for – ключевое слово (для);
нач_выр – выражение, задающее начальное значение параметра цикла;
усл_выр – выражение, определяющее проверку условия повторения цикла;
выр_прир – выражение, формирующее текущее значение параметра цикла через предыдущее;
; – разделители выражений;
( ) – ограничители выражений;
[ ] – признак необязательности содержимого;
тело цикла – совокупность операторов, выполнение которых требуется повторять;
{ } – ограничители тела цикла.
Схема выполнения оператора
for( нач_выр ; усл_выр ; выр_прир )
ЛОЖЬ ИСТИНА
{
тело
цикла
}
фрагмент программы
for(zi=zn;zi<=zk;zi=zi+dz) /* заголовок цикла */
{
nali=(zi*pn)/100.; /* тело */
printf(" %10.2f %10.2f\n",zi,nali); /* печать zi, nali */
}
n=(zk-zn)/dz+1; /* оператор, следующий за циклом */
Библиографический список
Бауэр Ф.Л., Гооз Г. Информатика. Вводный курс: В 2-х ч. Ч.1 / Пер. с нем. – М.: Мир, 1990. – 336 с., ил.
Болски М.И. Язык программирования Си / Пер. с англ. – М.: Радио и связь, 1988. – 96 с.
Вычислительная техника и программирование: Учеб. для техн. вузов / А.В.Петров, В.Е.Алексеев, А.С.Ваулин и др.; Под ред. А.В.Петрова. – М.: Высш. шк., 1990. – 479 с.: ил.
Задачи по языку Си / Пер. с англ. – М.: Финансы и статистика, 1992. – 32 с.
Керниган Б., Ритчи Д. Язык программирования Си / Пер. с англ. – М.: Финансы и статистика, 1992. – 315 с.
Романовская Л.М., Руссо Т.В., Свитковский С.Г. Программирование в среде Си для ПЭВМ ЕС. – М.: Финансы и статистика, 1992. – 352 с.
Уэйт М., Прата С., Мартин Д. Язык Си. Руководство для начинающих / Пер. с англ. – М.: Мир, 1988. – 512 с.
1 В 32-х разрядных средах диапазон значений типов int и unsigned int соответствуют типам long и unsigned long