- •Сведения об авторах
- •1. Знакомство с языком С++
- •1.1 Первая программа на С++
- •1.2 Среда программирования Qt Creator
- •2. Общие сведения о языке С++
- •2.1 Алфавит языка
- •2.2 Данные
- •2.2.1 Символьный тип
- •2.2.2 Целочисленный тип
- •2.2.3 Вещественный тип
- •2.2.4 Логический тип
- •2.2.5 Тип void
- •2.3 Константы
- •2.4 Структурированные типы данных
- •2.5 Указатели
- •2.6 Операции и выражения
- •2.6.1 Операции присваивания
- •2.6.2 Арифметические операции
- •2.6.3 Логические операции
- •2.6.4 Операции отношения
- •2.6.5 Условная операция
- •2.6.6 Операция преобразования типа
- •2.6.7 Операция определения размера
- •2.6.8 Операции с указателями
- •2.7 Стандартные функции
- •2.8 Структура программы
- •2.9 Ввод и вывод данных
- •2.9.1 Функции ввода - вывода
- •2.10 Задачи для самостоятельного решения
- •2.10.2 Операции целочисленной арифметики.
- •2.10.3 Встроенные математические функции
- •3. Операторы управления
- •3.1 Основные конструкции алгоритма
- •3.2 Составной оператор
- •3.3 Условные операторы
- •3.3.1 Условный оператор
- •3.3.2 Оператор варианта
- •3.4 Операторы цикла
- •3.4.1 Оператор цикла с предусловием
- •3.4.2 Оператор цикла с постусловием
- •3.4.3 Оператор цикла с параметром
- •3.4.4 Операторы передачи управления
- •3.5 Решение задач с использованием циклов
- •3.6 Задачи для самостоятельного решения
- •3.6.1 Разветвляющийся процесс. Вычисление значения функции.
- •3.6.2 Разветвляющийся процесс. Попадание точки в плоскость.
- •3.6.3 Разветвляющийся процесс. Пересечение линий и решение уравнений.
- •3.6.4 Циклический процесс. Вычисление значений функции
- •3.6.6 Циклический процесс. Последовательности произвольных чисел
- •3.6.7 Циклический процесс. Работа с цифрами в числе
- •3.6.8 Вложенные циклы
- •4. Использование функций при программировании на С++
- •4.1 Общие сведения о функциях. Локальные и глобальные переменные
- •4.2 Передача параметров в функцию
- •4.3 Возврат результата с помощью оператора return
- •4.4 Решение задач с использованием функций
- •4.5 Рекурсивные функции
- •4.6 Перегрузка функций
- •4.7 Шаблоны функций
- •4.8 Область видимости переменных в функциях
- •4.9 Функция main(). Параметры командной строки
- •4.10 Задачи для самостоятельного решения
- •4.10.1 Применение функций при работе с последовательностями чисел
- •4.10.2 Применение функций для вычислений в различных системах счисления
- •4.10.3 Применение функций для решения нелинейных уравнений
- •5. Массивы
- •5.1 Статические массивы в С(С++)
- •5.1.1 Описание статических массивов
- •5.1.2 Основные операции над массивами
- •5.2 Динамические массивы в С(С++)
- •5.2.1 Функция malloc
- •5.2.2 Функция calloc
- •5.2.3 Функция realloc
- •5.2.4 Функция free
- •5.2.5 Операторы new и delete
- •5.3 Основные алгоритмы обработки массивов
- •5.3.2 Вычисление суммы элементов массива
- •5.3.3 Вычисление произведения элементов массива
- •5.3.4 Поиск максимального элемента в массиве и его номера
- •5.3.5 Удаление элемента из массива
- •5.3.6 Сортировка элементов в массиве
- •5.3.6.1 Сортировка методом «пузырька»
- •5.3.6.2 Сортировка выбором
- •5.3.6.3 Сортировка вставкой
- •5.4 Указатели на функции
- •5.5 Совместное использование динамических массивов, указателей, функций в сложных задачах обработки массивов
- •5.6.1 Основные операции при работе с массивами
- •5.6.2 Применение функций для обработки массивов.
- •5.6.3 Работа с группами элементов в массиве
- •5.6.4 Сортировка элементов массива
- •6. Статические и динамические матрицы
- •6.1 Статические матрицы С(С++)
- •6.2 Динамические матрицы
- •6.2.1 Использование указателей для работы с динамическими матрицами
- •6.2.2 Использование двойных указателей для работы с динамическими матрицами
- •6.3 Обработка матриц в С(С++)
- •6.4 Решение некоторых задач линейной алгебры
- •6.5 Задачи для самостоятельного решения
- •6.5.1 Основные операции при работе с матрицами
- •6.5.2 Работа со строками и столбцами матрицы
- •6.5.3 Решение задач линейной алгебры
- •7. Организация ввода-вывода в C++
- •7.1.2 Использование манипуляторов форматирования
- •7.2 Работа текстовыми файлами в C++
- •7.2.1 Запись информации в текстовый файл
- •7.2.2 Чтение информации из текстового файла
- •7.3 Обработка двоичных файлов
- •8. Строки в языке С++
- •8.1 Общие сведения о строках в С++
- •8.2 Операции над строками
- •8.3 Тип данных string
- •8.4 Задачи для самостоятельного решения
- •9. Структуры в языке С++
- •9.1 Общие сведения о структурах
- •9.2 Библиотеки для работы с комплексными числами
- •9.3 Задачи для самостоятельного решения
- •9.3.1 Структуры. Операции над комплексными числами
- •9.3.2 Работа с библиотекой комплексных чисел
Алексеев Е.Р., Чеснокова О.В. Самоучитель по программированию на C/C++. |
88 |
Рисунок 3.63. Задание 25
3.6.2 Разветвляющийся процесс. Попадание точки в плоскость.
Разработать программу на языке С++. Даны вещественные числа x и y. Определить принадлежит ли точка с координатами (x; y) заштрихованной части плоскости. Варианты заданий представлены на рис. 3.64 - 3.88.
Рисунок 3.64. Вариант 1 |
Рисунок 3.65. Вариант 2 |
Рисунок 3.66. Вариант 3 |
Рисунок 3.67. Вариант 4 |
Алексеев Е.Р., Чеснокова О.В. Самоучитель по программированию на C/C++. |
89 |
Рисунок 3.69. Вариант 6
Рисунок 3.68. Вариант 5
Рисунок 3.70. Вариант 7
Рисунок 3.71. Вариант 8 |
Рисунок 3.72. Вариант 9 |
Рисунок 3.73. Вариант 10 |
Рисунок 3.74. Вариант 11 |
Алексеев Е.Р., Чеснокова О.В. Самоучитель по программированию на C/C++. |
90 |
Рисунок 3.75. Вариант 12 |
Рисунок 3.76. Вариант |
|
13 |
||
|
Рисунок 3.77.Вариант 14 |
Рисунок 3.78. Вариант 15 |
Рисунок 3.79. Вариант 16 |
Рисунок 3.80. Вариант 17 |
Рисунок 3.81. Вариант 18 |
Рисунок 3.82. Вариант 19 |
Алексеев Е.Р., Чеснокова О.В. Самоучитель по программированию на C/C++. |
91 |
Рисунок 3.83. Вариант 20 |
Рисунок 3.84. Вариант 21 |
Рисунок 3.85. Вариант 22 |
Рисунок 3.86. Вариант 23 |
Рисунок 3.87. Вариант 24 |
Рисунок 3.88. Задание 25 |
3.6.3 Разветвляющийся процесс. Пересечение линий и решение уравнений.
Разработать программу на языке С++ для следующих заданий:
1.Задан круг с центром в точке О(x0, y0), радиусом R0 и точка А(x1, y1). Определить, находится ли точка внутри круга.
2.Задана окружность с центром в точке О(x0, y0) и радиусом R0. Определить пересекается ли заданная окружность с осью абсцисс, если пересекается найти точки пересечения.
3.Задана окружность с центром в точке О(x0, y0) и радиусом R0. Определить пересекается ли заданная окружность с осью ординат, если пересекается найти точки пересечения.
Алексеев Е.Р., Чеснокова О.В. Самоучитель по программированию на C/C++. |
92 |
4.Задана окружность с центром в точке O(0,0) и радиусом R0 и прямая y=ax+b. Определить, пересекаются ли прямая и окружность. Если пересекаются, найти точки пересечения.
5.Заданы окружности. Первая с центром в точке О(x1, y1) и радиусом R1, вторая с центром в точке О(x2, y2) и радиусом R2. Определить пересекаются окружности, касаются или не пересекаются.
6.Заданы три точки A(x1y1), B(x2,y2), C(x3,y3). Определить какая из точек наиболее удалена от начала координат.
7.Заданы три точки A(x1y1), B(x2,y2), C(x3,y3). Определить какая из точек В или С наименее удалена от точки А.
8.Определить, пересекаются ли линии у=аx +bи у=kx+m. Если пересекаются, найти точку пересечения.
9.Определить, пересекает ли линия у=аx +bось абсцисс. Если пересекает, найти точку пересечения.
10.Определить, пересекаются ли линии у=аx3 +bx2+ сx+dи у=kx+m. Если пересекаются, найти точки пересечения.
11.Определить, пересекаются ли линии у=аx3 +bx2+сx+d и у=kx3+mx2+nx+ . Еслиp пересекаются, найти точки пересечения.
12.Определить, пересекаются ли линии у=аx3 +bx2+сx+d и у=аx3+mx2+nx+ . Еслиp пересекаются, найти точки пересечения.
13.Определить, пересекаются ли линии у=аx3 +bx2+сx+d и у=mx2+nx+ . Еслиp пересекаются, найти точку пересечения.
14.Определить, пересекает ли линия у=аx3 +bx2+сx+d ось абсцисс. Если пересекает, найти точку пересечения.
15.Определить, пересекаются ли параболы у=аx2+bx+с и у=dx2+mx+ . Еслиn пересекаются, то найти точки пересечения.
16.Определить, пересекаются ли линии у=bx2+сx+d и у=kx+m. Если пересекаются, найти точки пересечения
17.Найти точки пересечения линии у=аx2+bx+с с осью абсцисс. Если линии не пересекаются выдать соответствующее сообщение.
18.Определить, пересекаются ли линии у=аx4+bx3+сx2+dx+f и у=bx3+mx2+dx+ . Еслиp пересекаются, найти точки пересечения.
19.Определить, пересекаются ли линии у=аx4+bx2+kx+c и у=mx2+kx+ . Еслиp пересекаются, найти точки пересечения.
20.Определить, пересекает ли линия у=аx4+bx2+c ось абсцисс. Если пересекает, найти точки пересечения.
21.Найти комплексные корни уравнения у=аx4+bx2+c. Если в уравнении нет комплексных корей вывести соответствующее сообщение.
22.Найти комплексные корни уравнения у=аx3 +bx2+ сx+d. Если в уравнении нет комплексных корей вывести соответствующее сообщение.
23.Найти комплексные корни уравнения у=аx2+bx+ .с Если в уравнении нет комплексных корей вывести соответствующее сообщение.
24.Даны координаты точки на плоскости. Если точка совпадает с началом координат, то вывести 0. Если точка не совпадает с началом координат, но лежит на оси OX или OY, то вывести соответственно 1 или 2. Если точка не лежит на координатных осях, то вывести 3.
25.Даны координаты точки, не лежащей на координатных осях OX и OY. Определить номер координатной четверти, в которой находится данная точка.