- •Лекция 1. Знакомимся с языком С++
- •1.1. Первая программа на С++
- •1.2. Неформальное введение в С++
- •1.3. Средства разработки программ в ОС Linux
- •1.3.1. Использование компилятора командной строки для создания консольных приложений
- •1.3.2. Создание консольных приложений в среде Anjuta
- •Лекция 2. Общие сведения о языке С++
- •2.1. Алфавит языка
- •2.2. Данные в языке С++
- •2.2.1. Типы данных
- •2.2.2. Символьный тип
- •2.2.3. Целочисленный тип
- •2.2.4. Вещественный тип
- •2.2.5. Логический тип
- •2.2.6. Тип void
- •2.3. Переменные в языке С++
- •2.4. Константы в языке С++
- •2.5. Операции и выражения
- •2.5.1. Операции присваивания
- •2.5.2. Арифметические операции
- •2.5.3. Логические операции
- •2.5.4. Операции отношения
- •2.5.5. Условная операция
- •2.5.6. Операция преобразования типа
- •2.5.7. Операция определения размера
- •2.6. Стандартные функции
- •2.7. Структура программы
- •2.8. Ввод и вывод данных
- •2.8.2. Объектно-ориентированные средства ввода-вывода.
- •Лекция 3. Операторы управления
- •3.1. Условный оператор
- •3.2. Оператор варианта
- •3.3. Операторы цикла
- •3.3.1. Оператор цикла с предусловием
- •3.3.2. Оператор цикла с постусловием
- •3.3.3. Оператор цикла с параметром
- •3.3.4. Операторы передачи управления
- •3.4. Решение задач с использованием циклов
- •Лекция №4. Использование функций при программировании на С/С++
- •4.1. Общие сведения о функциях
- •4.3. Рекурсивные функции в С/С++
- •4.5. Перегрузка и шаблоны функций
- •Лекция 5. Обработка массивов в языке Си++
- •5.1. Ввод элементов массива
- •5.3.1 Алгоритм вычисления суммы элементов массива
- •5.3.2 Алгоритм вычисления произведения элементов массива
- •5.3.3. Поиск максимального элемента и его номера
- •5.3.4. Алгоритм удаления элемента из массива
- •5.3.5. Упорядочение элементов массива
- •5.3.6. Запись положительных элементов массива A в массив B
- •5.3.7. Вставка
- •5.4.2. Операции * и & при работе с указателями
- •5.4.4. Арифметические операции над адресами
- •5.4.5. Использование адресов и указателей при работе с массивами. Динамические массивы.
- •5.5. Примеры программ
- •Лекция 6. ОБРАБОТКА МАТРИЦ В С++
- •6.1. Блок-схемы основных алгоритмов обработки матриц
- •6.2.ДИНАМИЧЕСКИЕ МАТРИЦЫ
- •Лекция 7. Решение задач линейной алгебры с использованием динамических матриц и функций
- •7.1. Решение систем линейных алгебраических уравнений методом Гаусса
- •7.2.Вычисление обратной матрицы методом Гаусса
- •7.3. Вычисление определителя методом Гаусса
- •Лекция 8.Организация ввода-вывода в C++
- •8.1. Форматированный ввод-вывод в C++
- •8.1.1. Использование флагов форматного ввода-вывода
- •8.1.2. Использование флагов форматного ввода-вывода
- •8.2. Операции с файлами в С++
- •8.2.1. Операции с текстовыми файлами
- •Работа с текстовыми файлами с помощью файловых указателей
- •Работа с текстовыми файлами с помощью файловых потоков
- •Запись информации в текстовый файл
- •Чтение информации из текстового файла
- •8.2.2. Обработка двоичных файлов
- •Лекция 9. Строки и структуры в С++
- •9.1. Строки с С++
- •Динамические структуры
- •10.1. Общие сведения о классах
- •10.2. Открытые и закрытые члены класса
- •10.3. Использование конструкторов
- •Также как и другие типы, классы могут объединяться в массивы.
2.6. Стандартные функции
В C++ определены стандартные функции над арифметическими операндами (табл. 2.6). Таблица. 2.6. Стандартные математические функции
Обозначение |
Действие |
abs(x) |
Модуль целого числа |
fabs(x) |
Модуль вещественного числа |
sin(x) |
Функция синус |
cos(x) |
Функция косинус |
tan(x) |
Функция тангенс |
atan(x) |
Арктангенс x в диапазоне -π/2 до π/2 |
exp(x) |
Экспонента, ex |
log(x) |
Натуральный логарифм (x>0) |
log10(x) |
Десятичный логарифм (x>0) |
sqrt(x) |
Корень квадратный (x≥0) |
pow(x,y) |
x в степени y |
Определенную проблему представляет применение функции pow(x,y), которая возводит х в степень y. При программировании выражений, содержащих возведение в степень, надо внимательно проанализировать значения, которые могут принимать х и y, так как в
некоторых случаях возведение х в степень y невыполнимо. |
|
|
Так, ошибка возникает, если х отрицательное число ,а y дробь Предположим. |
что, |
y |
правильная дробь вида k/m. Если знаменатель m четный, это означает вычисление корня четной степени из отрицательного числа, а значит, операция не может быть выполнена. В противном случае, если знаменатель m нечетный, можно воспользоваться выражением z=
pow(fabs(x),y).
2.7. Структура программы
Программа на языке С++ состоит из функций, описаний и директив процессора.
Одна из функций должна обязательно носить имя main. Элементарное описание функции
имеет вид:
тип_результата имя_функции (параметры)
{
оператор1; оператор2;
..
операторN;
}
Здесь, тип_результата это тип того значения ,которое функция должна вычислить если( функция не должна возвращать значение, указывается тип void), имя_функции имя , с которым можно обращаться к этой функции, параметры список аргументов функции (может отсутствовать), оператор1, оператор2,.., операторN операторы , представляющие тело функции, они обязательно заключаются в фигурные скобки и каждый оператор заканчивается точкой с запятой3. Как правило программа на С++ состоит из одной или
нескольких, не вложенных друг в друга функций.
Основному тексту программы предшествуют директивы процессора, которые в общем виде
выглядят так:
#include <имя_файла>
Каждая такая строка дает компилятору команду присоединить программный код, который хранится в отдельном файле с расширением .h. Такие файлы называют файлами заголовков.
3 Подробно работу с функциями рассмотрим в четвертой лекции.