- •Основные сведения
- •Ввод и вывод данных через потоки
- •Описание функций математического модуля math
- •Модуль random
- •Лабораторная работа №1 Выполнение программы простой структуры. Вычисление выражений с использованием стандартных функций
- •Варианты
- •Лабораторная работа №2
- •Варианты
- •Лабораторная работа №3
- •Лабораторная работа №4 Работа с одномерными массивами
- •Сортировка массивов
- •Сортировка методом пузырьков (метод простого обмена)
- •Сортировка методом вставок
- •Сортировка методом простого выбора
- •Постановка задачи
- •Варианты
- •Лабораторная работа №5
- •Постановка задачи
- •Варианты
- •Методические указания
- •Лабораторная работа №6 Динамические массивы
- •Постановка задачи
- •Варианты
- •Лабораторная работа №7
- •Постановка задачи
- •Варианты
- •Лабораторная работа №8 Хранение данных на внешних носителях
- •Определение конца файла
- •Закрытие файла, если он больше не нужен
- •Ввод/вывод данных с помощью функций унаследованных от с
- •Постановка задачи
Описание функций математического модуля math
Модуль math предоставляет доступ к стандартным математическим функциям:
cos(x) - Возвращает косинус числа x.
sin(x) - Возвращает синус числа x.
tan(x) - Возвращает тангенс числа x.
acos(x) - Возвращает арккосинус числа x.
asin(x) - Возвращает арксинус числа x.
atan(x) - Возвращает арктангенс числа x.
atan2(x, y) - Эквивалентно atan(x/y). Аргумент y может быть равен нулю – в этом случае возвращается pi/2.
cosh(x) - Возвращает гиперболический косинус числа x.
sinh(x) - Возвращает гиперболический синус числа x.
tanh(x) - Возвращает гиперболический тангенс числа x.
log(x) - Возвращает натуральный логарифм числа x.
log10(x) - Возвращает десятичный логарифм числа x.
sqrt(x) - Возвращает квадратный корень из числа x.
pow(x, y) - Возвращает x в степени y и эквивалентно x**y.
modf(x) - Возвращает кортеж из пары вещественных чисел – дробной и целой части x.
ceil(x) - Возвращает наименьшее вещественное число с нулевой дробной частью - большее, чем число x.
floor(x) - Возвращает наибольшее вещественное число с нулевой дробной частью - меньшее, чем число x.
fabs(x) - Возвращает абсолютное значение числа x.
fmod(x, y) - Возвращает остаток от деления x на y и эквивалентно x%y.
exp(x) - Возвращает eх.
hypot(x, y) - Возвращает длину гипотенузы прямоугольника со сторонами длиной x и y и эквивалентно sqrt(x*x+y*y).
Модуль также определяет две константы:
pi – число пи.
e – число e.
Модуль random
Этот модуль определяет множество функции, которая генерирует псевдослучайные числа с различными распространенными распределениями. Ниже представлены только те, которые чаще всего применяются на практике и характеризуются равномерным распределением случайных чисел:
random() - Возвращает случайное вещественное число r, находящееся в диапазоне 0.0<r<1.0.
uniform(a, b) - Возвращает случайное вещественное число r, находящееся в диапазоне a<r<b.
randrage(start, stop, step) - Возвращает случайное целое число r, находящееся в диапазоне range (start, stop, step).
choice(seq) - Возвращает случайный элемент из непустой последовательности seq (список или кортеж).
Случайные числа используются во многих играх. Например, в стандартной игре косынка, каждый раз раздача карт происходит по-разному, причем пользователь ни как не влияет на этот процесс, а все это делает пресловутый генератор случайных чисел. Его синтаксис:
int i = rand();
Эта функция генерирует любое положительное число от 0 до RAND_MAX, значение которого можно найти в подключаемом файле #include <stdlib.h>, как и саму функцию rand.
srand
Но, как ни странно, значение у на все время будет одним и тем же. Тут все дело, что случайное число генерируется, исходя из определенных параметров. Ну, так вот, для превращения функции rand в, действительно, оператор случайных чисел, нужно в начале программы использовать функцию srand, которая в качестве аргумента просит число. И по этому числу уже будет генерироваться случайное число функцией rand.
Вот пример:
srand(time(NULL));
chislo = rand();
Теперь каждый запуск программы будет выдавать различные цифры. Если вам не нужен такой большой диапазон случайных чисел, используйте синтаксис регулирования диапазона чисел:
начальное значение + rand() % конечное значение
Так же можно сделать, что б случайные числа были отрицательными. Для этого нужно начальное значение просто сделать отрицательным:
int chislo = -3 + rand() %6;