- •Создание консольного приложения
- •2. Консоль. Построение консольного проекта
- •3. Запуск приложения
- •4. Сохранение и редактирование проекта
- •Лекция 2
- •Запятая в качестве операции
- •4. Функции форматированного ввода и вывода
- •4.1. Функция форматированного ввода с клавиатуры
- •4.2. Функция форматированного вывода на экран
- •5. Математические функции
- •Линейные вычислительные процессы
- •1. Алгоритм. Управляющие структуры
- •2. Линейные вычислительные алгоритмы
- •Разветвляющиеся вычислительные процессы
- •1. Управляющая структура «развилка». Логические операции и операции отношения
- •2.1. Условный оператор if()
- •2.2. Условное выражение
- •2.3. Оператор выбора switch()
- •Циклические вычислительные процессы.
- •1. Типы циклов
- •3. Операторы безусловного перехода
- •Вычисление последовательностей
- •4. Примеры вычисления последовательностей
- •5. Структура алгоритмов вычисления рекуррентных последовательностей
- •Одномерные массивы
- •1. Массивы
- •1.1. Примеры программ обработки одномерных массивов
- •Алгоритмы сортировки одномерных массивов
- •1. Сортировка одномерных массивов
- •1.1. Метод пузырька (метод обменной сортировкой с выбором)
- •1.2. Сортировка выбором
- •1.3. Сортировка простыми вставками
- •Лекция 10 Двухмерные массивы
- •1. Двухмерные массивы
- •Алгоритмы матричной алгебры
- •1. Алгоритмы матричной алгебры
5. Математические функции
При вычислениях очень часто используются математические функции. Для того чтобы была возможность использовать эти функции в программе, необходимо подключить головной файл math.h. Математические функции, используемые в С++, и их аналоги в математике приведены в табл.3.
Таблица 3 |
|||
Название функции |
Аргумент функции |
Функция в С++ |
Функция в математике |
Модуль |
Целое число |
abs(x) |
|x| |
Модуль |
Вещественное число |
fabs(x) |
|x| |
Арктангенс |
Вещественное число – угол в радианах |
atan(x) |
arctgx |
Арксинус |
Вещественное число – угол в радианах |
asin(x) |
arcsinx |
Арккосинус |
Вещественное число – угол в радианах |
acos(x) |
arccosx |
Синус |
Вещественное число – угол в радианах |
sin(x) |
sinx |
Косинус |
Вещественное число – угол в радианах |
cos(x) |
cosx |
Тангенс |
Вещественное число – угол в радианах |
tan(x) |
tgx |
Экспонента |
Вещественное число |
exp(x) |
ex |
Логарифм натуральный |
Вещественное число >0 |
log(x) |
lnx |
Логарифм десятичный |
Вещественное число >0 |
log10(x) |
lgx |
Корень квадратный |
Вещественное число |
sqrt(x) |
|
Возведение числа х в степень у |
х и у – вещественные числа |
pow(x,y) |
xy |
Остаток от деления х на у |
х и у – вещественные числа |
fmod(x,y) |
–––––– |
Линейные вычислительные процессы
1. Алгоритм. Управляющие структуры
Решение задач с помощью компьютера включает в себя следующие основные этапы, которые осуществляются без помощи компьютера:
постановка задачи, её анализ;
разбиение задачи на логически завершенные подзадачи (декомпозиция) и описание основного алгоритма;
описание решения каждой подзадачи в виде последовательности некоторых шагов и построение полного набора инструкций, выполнение которых обеспечит достижение цели, определённой на первом этапе;
перевод алгоритма на язык программирования (этот процесс называется кодированием);
отладка программы (поиск ошибок) и проверка правильности работы программы при помощи тестовых примеров.
На одном из этапов разрабатывается алгоритм будущей программы. Алгоритмом назовём последовательность действий, ведущих от начального состояния исходных данных к некоторому результату либо к пояснению, по какой причине задача не может быть решена.
Основные свойства алгоритма:
понятность – исполнитель алгоритма должен знать, как его выполнять;
дискретность – алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определённых) шагов, этапов;
определённость – каждый шаг алгоритма должен быть чётким, однозначным и не оставлять места для произвола. Благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче;
результативность – алгоритм должен приводить к решению задачи за конечное число шагов;
массовость – алгоритм решения задачи разрабатывается в общем виде, т.е. он должен быть применим для некоторого класса задач, различающихся лишь исходными данными. При этом исходные данные должны выбираться из некоторой области, которая называется областью применимости алгоритма.
На практике будем пользоваться формами представления алгоритмов:
псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);
программная (тексты на языках программирования).
Для написания алгоритма решения конкретной задачи будет достаточно знаний об организации работы трёх управляющих структур:
следование – выполнение указанного набора действий в естественном порядке без пропусков и повторений;
развилка – выполнение одного из двух действий в зависимости от выполнения (истинности) или невыполнения (принятия ложного значения) некоторого логического выражения;
цикл – выполнение некоторое количество раз одного и того же набора действий, который может либо зависеть от некоторой величины (параметра), либо не зависеть от какой-либо величины.
Алгоритмические структуры развилка и цикл допускают так называемую вложенность других структур. Таким образом, алгоритм решения поставленной задачи будет представлять собой либо линейную последовательность алгоритмических структур, либо последовательность, представляющую собой сочетание линейных и вложенных друг в друга алгоритмических структур.