- •Информатика основы
- •Предисловие
- •Введение
- •Программы
- •1.1. Элементы языка
- •Список основных ключевых слов
- •Типы числовых данных
- •Разделители
- •Основные бинарные операции
- •Математические функции
- •1.2. Структура программы
- •1.3. Выполнение программы
- •Контрольные вопросы
- •2.1. Загрузка и настройка системы программирования
- •2.2. Создание и работа с проектом
- •Условные графические обозначения основных блоков схем алгоритмов
- •Словесно-формульный алгоритм
- •Листинг 2.1. Lin_prog.Cpp
- •Результат выполнения программы
- •3.2. Логический тип данных и базовые логические операции
- •Операции сравнения
- •Логические операции
- •При решении задач с множеством логических условий программа существенно упрощается, если эти условия удается объединить с помощью операций и, или, не в более крупные выражения.
- •Словесно-формульный алгоритм
- •Результат выполнения программы
- •Результат выполнения программы
- •Упражнения
- •Варианты заданий
- •Области определения функции z (X,y)
- •Контрольные вопросы
- •4. Организация циклов
- •4.1. Организация программ с циклами
- •For (инициализация; условие; модификация) операторы
- •4.2. Инкремент, декремент и составные операции
- •Составные операции присваивания
- •Результат выполнения программы
- •Результат выполнения программы
- •Упражнения
- •Варианты заданий
- •Контрольные вопросы
- •5.Составление программ с массивами
- •5.1. Организация программ с массивами
- •Тип имя_массива [n];
- •Имя_массива [индекс]
- •Тип имя_массива [размер_1] [размер_2]
- •5.2. Манипуляторы и форматирование ввода-вывода
- •Манипуляторы
- •Результат выполнения программы
- •Результат выполнения программы
- •Контрольные вопросы
- •Дайте определение массива.
- •6. Составление программ с использованием функций
- •6.1. Описание, объявление и вызов функций
- •Механизм возврата из функции реализуется оператором
- •Тип имя_функции (тип размерность, тип имя_массива[ ]) ,
- •6.2. Глобальные и локальные переменные
- •Результат выполнения программы
- •6.3. Перегруженные функции
- •Результат выполнения программы
- •Упражнения
- •Варианты заданий
- •Контрольные вопросы
- •7. Программирование с использованием указателей
- •7.1. Общие сведения об указателях
- •7.2. Динамические массивы
- •Результат выполнения программы
- •Результат выполнения программы
- •7.3. Указатели и функции
- •Результат выполнения программы
- •Упражнения
- •Варианты заданий
- •Контрольные вопросы
- •8. Программирование с использованием структур
- •8.1. Определение структур
- •8.2. Организация программ с использованием структур
- •Имя_структуры . Имя_элемента_структуры
- •Список товаров
- •Результат выполнения программы
- •Упражнения
- •Варианты заданий
- •Контрольные вопросы
- •Библиографический список
- •Основные бинарные операции
- •Операции сравнения
- •Составные операции присваивания
- •Логические операции
- •Типы числовых данных
- •Константы, используемые в математических выражениях
- •Математические функции
- •Типовые сообщения об ошибках
- •Оглавление
5.2. Манипуляторы и форматирование ввода-вывода
В программах часто требуется осуществлять ввод и вывод данных в определенном формате. Для этого обычно используются так называемые манипуляторы,основные из которых приведены в табл. 5.1. Некоторые из них имеют аргумент (тип). Для использования последних к программе требуется подключить заголовочный файл<iomanip.h>.
С помощью манипуляторов легко управлять представлением выводимой информации. В частности манипулятор setw (int n)удобен при формировании таблиц в циклах.
Например:
. . . . . . . . . .
cout<<setprecision(2); //две цифры после запятой
for (int i=0; i<10; i++)
cout<<setw (6) <<a[i]<<endl; //ширина поля – 6 цифр
. . . . . . . . . .
Таблица 5.1
Манипуляторы
Манипуляторы |
Действия |
endl |
Переход на новую строку при выводе |
dec |
Вывод чисел в десятичной системе (действует по умолчанию) |
hex |
Вывод чисел в шестнадцатеричной системе |
oct |
Вывод чисел в восьмеричной системе |
setw (int n) |
Устанавливает минимальную ширину поля в n символов |
setprecision (int n) |
Устанавливает количество цифр после запятой при выводе вещественных чисел |
setfill (int n) |
Устанавливает символ-заполнитель с кодом n; этим символом выводимое значение будет заполняться до необходимой ширины |
setbase (int n) |
Устанавливает систему счисления n (2, 8, 10,16) |
Пример 1. Получить вещественную матрицу А(7,7), первая строка которой задается формулойa1j=2,13j+3,7, (j=1,..,7), вторая строка задается формулой, (j=1,..,7), а каждая следующая строка есть сумма двух предыдущих. Определить в четных столбцах матрицы А число элементов, не принадлежащих интервалу (5, 10), а в седьмой строке определить произведение отрицательных элементов в нечетных столбцах матрицы А.
Программа для решения данной задачи приведена в лист. 5.1.
Листинг 5.1. mass_1.сpp
#include <iostream.h>
#include <math.h>
#include <iomanip.h> //Включение заголовочного файла, подключающего
//манипуляторы
void main()
{
double a[8][8];
//Получение матрицы a
for(int i=1;i<8;i++)
for(int j=1;j<8;j++)
{
if(i==1) a[i][j]=2.13*j+3.7;
if(i==2) a[i][j]=j-29/(2+1.3/j);
if(i>2) a[i][j]=a[i-1][j]+a[i-2][j];
}
//Определение числа элементов в четных столбцах матрицы a,
// не принадлежащих интервалу (5,10)
int k=0;
for(int i=1;i<8;i++)
for(int j=1;j<8;j++)
if ((j%2==0)&&((a[i][j]<5)||(a[i][j]>10))) k++;
//Определение произведения отрицательных
//элементов нечетных столбцов в 7 строке матрицы a
double p=1;
for(int i=7,j=1;j<8;j++)
if((a[i][j]<0)&&(j%2==1)) p*=a[i][j];
//Вывод результатов вычислений
//Вывод матрицы a
cout<<"Матрица a:"<<"\n";
cout<<setfill('.') //Введение символов '.' в поле вывода
<<setprecision(4); //Установка точности вывода
for(int i=1;i<8;i++)
for(int j=1;j<8;j++)
{cout<<" "<<setw(8)<<a[i][j]; //Фоматирование вывода
if(j==7)cout<<"\n"; //Формирование строки
}
cout<<"\nЧисло элементов в четных столбцах матрицы a,\n";
cout<< "не принадлежащих интервалу (5,10):"<<endl;
cout<<"k="<<k<<"\n";
cout<<"\nПроизведение отрицательных элементов в 7 строке\n";
cout<<"нечетных столбцов матрицы a:"<<endl;
cout<<"p="<<p;
}