
- •Часть 2
- •Раздел 3. Основы программирования
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.2.Структура программы
- •3.3.Имена и зарезервированные слова
- •3.4.Специальные символы
- •3.5.Константы и переменные
- •3.6.Оператор присваивания
- •Листинг 3.4. Пример множественного присваивания
- •3.7.Комментарии
- •4.Задание
- •Лабораторная работа №2 Арифметические операции и функции
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1.Типы целых чисел
- •3.2.Типы вещественных чисел
- •3.3.Арифметические выражения
- •3.4.Функции
- •3.5.Преобразование типов
- •4.Задание
- •Лабораторная работа №3 Ввод и вывод данных
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1. Ввод и вывод
- •3.2.Дополнительные возможности ввода/вывода
- •3.3.Форматированный ввод/вывод
- •4.Задание
- •Лабораторная работа №4 Логические операции
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1. Условный оператор
- •3.2.Условная операция
- •3.3.Оператор выбора
- •3.4.Составной оператор
- •3.5.Сложные условия
- •3.6.Тип bool(логический)
- •3.7.Особенности работы условного оператора
- •4.Задание
- •Лабораторная работа №5 Циклические операции
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1. Оператор цикла while (цикл с предусловием)
- •3.2.Оператор цикла do (цикл с постусловием)
- •3.3.Оператор цикла for (счетный цикл)
- •3.4.Вложенные циклы
- •3.5.Операторы прерывания цикла
- •4.Задание
- •Лабораторная работа №6 Указатели и массивы
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1. Указатели
- •3.2.Константные указатели и указатели-константы
- •3.3.Операции над указателями
- •3.4.Массивы
- •3.5.Одномерные массивы
- •3.6.Указатели на массивы
- •3.7.Инициализация массивов
- •3.8.Операция sizeof
- •3.9.Определение новых типов
- •3.10.Многомерные массивы
- •4.Задание
- •Лабораторная работа №7 Функции и процедуры
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1.Описание функций
- •3.2.Процедуры
- •3.3.Параметр-ссылка
- •3.4.Область видимости переменных
- •4.Задание
- •Лабораторная работа №8 Перегрузка функций
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1.Полиморфизм
- •3.2.Перегрузка функций
- •3.3.Особенности перегрузки функций
- •3.4.Использование параметров по умолчанию
- •4.Задание
- •Лабораторная работа №9 Перечисления
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •4.Задание
- •Лабораторная работа №10 Строки символов
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1.Данные типа char
- •3.2.Строковый тип string
- •4.Задание
3.3.Форматированный ввод/вывод
Потоки ввода вывода располагают функциями-членами, которые определяют параметры формата: ширину поля, точность и символ заполнения. Функциями, которые это делают, являются width( ), precision( ) и fill( ) соответственно. Функции-члены вызываются через оператор "точка" соответствующего потока.
По умолчанию, при выводе какого-то значения, оно занимает число позиций, соответствующее числу выводимых символов. Однако, используя функцию width( ), можно задать минимальную ширину поля. Ниже показан прототип этой функции:
int width (int w);
Здесь w является шириной поля, а функция возвращает предыдущую ширину поля.
После установки минимальной ширины поля, если выводимое значение требует поле, которое меньше заданной ширины, остаток поля заполняется текущим символом заполнения (по умолчанию пробелом) так, чтобы была занята вся ширина поля. Однако запомните, если размер выводимой величины превосходит минимальную ширину поля, будет занято столько символов, сколько нужно. Выводимое значение не усекается.
При выполнении каждой операции вывода ширина поля возвращается к своему состоянию по умолчанию, поэтому необходимо перед каждым оператором вывода устанавливать минимальную ширину поля.
По умолчанию, при выводе значений с плавающей точкой после десятичной точки ставится шесть цифр для целой и дробной части числа. Если количество цифр числа будет больше шести, то число будет печататься в показательной форме. Однако, используя функцию precision( ), это число можно изменить. Прототип этой функции показан ниже:
int precision(int p);
Здесь р - это точность, т.е. число выводимых цифр.
По умолчанию, при заполнении поля используются пробелы. Однако можно изменить символ заполнения, используя функцию fill (). Ее прототип показан здесь:
char fill(char ch);
После вызова функции fill ( ), ch становится новым символом заполнения, а функция возвращает прежний символ заполнения.
Листинг 3.15. Пример работы функций форматирования
Результатом программы, приведенной выше (Листинг 3.15), будет следующее:
Обратите внимание на то, что ширина поля устанавливается перед каждым оператором вывода.
4.Задание
4.1.Создайте программу «Форматированный ввод/вывод» (листинг 3.16):
Листинг 3.16. Программа «Форматированный ввод/вывод»
Проанализируйте результаты работы этой программы:
4.2.В отчете к данной лабораторной работе опишите назначение каждого оператора для программы, которая приведены в задании, а также структурную схему (блок-схему) программы «Форматированный ввод/вывод».
Лабораторная работа №4 Логические операции
1.Цель работы
Целью работы является изучение составного оператора, операторов условия и выбора.
2.Контрольные вопросы
2.1.Какое назначение условного оператора и условной операции?
2.2.Какое назначение оператора выбора?
2.3.Для каких целей используется составной оператор?
2.4. Какие вы знаете сложные условия для логических операций?