Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Спасибо, до скорого!

Читайте также:
  1. А вобще - спасибо, девочки, посмешила. И порассказали...
  2. Большое спасибо, Эдгар, весьма признательны!
  3. Спасибо, Джон».

 

 

C++. Урок 5. Библиотека cmath

Опубликовано 21.10.2012 автором admin

На прошлом уроке мы забили себе голову всякими модулями и бинарными операциями, поэтому сегодня тема будет полегче, а конкретнее функции для работы с вещественными числами.

Как обычно, вот прошлые уроки:

Для начала давайте подключим библиотеку cmath, т.е напишем:

  # include <cmath>

Теперь мы можем писать наши функции, а компилятор ругаться не будет.
Начнем с корней и степеней:

1) sqrt(a)

Нахождение квадратного корня числа a. Вы любите комплексные числа? sqrt тоже, поэтому не задавайте ему отрицательные числа. Пример:

  int x1, y1, x2, y2; //координаты двух точек на плоскости int a, b; // катеты образованного точками треугольника double distance, number; //расстояние между A (x1, y1) и B (x2, y2), сумма квадратов катетов cin >> x1 >> y1 >> x2 >> y2; //ввод a = x1 - x2; b = y1 - y2; //находим длину катетов number = a*a + b*b; //складываем квадраты катетов distance = sqrt (number); //теперь, следуя теореме Пифагора, находим квадратный корень cout.precision (5); //задаем компилятору сколько знаков после плавающей точки нужно вывести cout << fixed << distance; //precision будет работать только если в начале cout-а вы напишите fixed

Ну и картинка для лучшего понимания:


Желательно чтобы в операции a=sqrt(b) обе переменные были вещественными, используя другие виды переменных возможно получить ошибку компиляции или неверное решение.

2)pow(a,b)

Ставит a в степень b. Опять таки лучше чтобы все хранилось в вещественном типе, кстати pow можно использовать как sqrt, приравняв b к 0,5. Пример:

  double a; //a - первый элемент геометрической последовательности   double d; //чтобы получить n-ый по счету элемент последовательности //нужно умножить (n-1)-ый элемент последовательности на d   double n; //n - какой элемент геометрической последовательности нужно вывести   double answer; //answer - наш ответ   cin >> a >> d >> n; //ввод   answer = a * pow (d, n - 1); //находим ответ   cout.precision (5); cout << fixed << answer; //вывод

Опять картинка:


3) fmod(a,b)

Возвращает a%b, разница с обычным модом в том, что этот предназначен специально для вещественных чисел. Пример:

  double a, b;   cin >> a >> b; //создаем, затем вводим a и b   cout.precision(5);   cout << fixed << fmod (a, b); //выводим ответ

Теперь тригонометрические функции, т.е косинусы, синусы, тангенсы и их арк-версии, ВНИМАНИЕ, в С++ используются не градусы а радианы. Универсальная формула:

1) cos(a) -возвращает cos угла, заданного в радианах;
2) sin(a) -возвращает cos угла, заданного в радианах;
3) tan(a) -возвращает cos угла, заданного в радианах;
4) acos(a) -возвращает угол в радианах из cos;
5) asin(a) - возвращает угол в радианах из sin;
6) atan(a) -возвращает угол в радианах из tan;

Немного кода:

  # include <iostream> # include <cmath>   using namespace std;   int main() {   const double PI = 3.14; double degrees, radians;   cin >> degrees; // cin >> radians;   radians = (PI * degrees) / 180; // degrees = (radians * 180) / PI;   cout.precision(5);   cout << fixed << "Cos of angle " << degrees << " is equal to: "; cout << fixed << cos(radians) << "\n";   cout << fixed << "Sin of angle " << degrees << " is equal to: "; cout << fixed << sin(radians) << "\n";   cout << fixed << "Tan of angle " << degrees << " is equal to: "; cout << fixed << tan(radians) << "\n";   system ("pause");   return 0; }

Программе задается угол в градусах или радианах (для этого замените строку на комментарий под ней), и она выдает тригонометрические функции от этого угла.

  # include <iostream> # include <cmath>   using namespace std;   int main() {   const double PI = 3.14; double result, arc_cos_rad, arc_sin_rad, arc_tan_rad, arc_cos_deg, arc_sin_deg, arc_tan_deg;   cin >> result;   arc_cos_rad = acos (result); arc_sin_rad = asin (result); arc_tan_rad = atan (result);   arc_cos_deg = (arc_cos_rad * 180) / PI; arc_sin_deg = (arc_sin_rad * 180) / PI; arc_tan_deg = (arc_tan_rad * 180) / PI;   cout.precision(5);   cout << fixed << "Arccos of trigonometric functions in radians: " << arc_cos_rad << "\n"; cout << fixed << "Arcsin of trigonometric functions in radians: " << arc_sin_rad << "\n"; cout << fixed << "Arctan of trigonometric functions in radians: " << arc_tan_rad << "\n";   cout << fixed << "Arccos of trigonometric functions in degrees: " << arc_cos_deg << "\n"; cout << fixed << "Arcsin of trigonometric functions in degrees: " << arc_sin_deg << "\n"; cout << fixed << "Arctan of trigonometric functions in degrees: " << arc_tan_deg << "\n";   system ("pause");   return 0; }

Программе задается тригонометрическая функция, и она выдает их арк-функции в радианах и градусах.

Мне кажется, что комментарии к коду излишни, так как все должно быть понятно даже при беглом просмотре.

На этой ноте мы и закончим, все, до скорого!

 

 

C++. Урок 6. Условный оператор if

Опубликовано 02.11.2012 автором admin

Всем привет! Хочу извиниться за долгое отсутствие, навалило дел. Теперь в блоге будут выкладываться интересные алгоритмы, а предыдущие уроки теперь доступны по ссылке.

Итак, темой урока будет условный оператор if.

If имеет примерно следующую структуру:

Тоже самое, но в словах:

Если заданное условие верно, то выполнить функцию1, в остальных случаях выполнить функцию2.

Теперь примерный код:

  if (условие == true) // если условие верно { функция1; // выполнить функцию1 } else // в остальных случаях { функция2; // выполнить функцию2 }

Как вы видите условие пишется после if-а в круглых скобках.

Для else мы только задаем функции, которые нужно выполнить.

Все функции находящиеся между двумя фигурными скобками будут выполнены, если условие сработало (если скобок нет, то будет выполнена лишь следующая функция).

ВНИМАНИЕ! else писать необязательно:

  if (условие == true) // если условие верно { функция1; // выполнить функцию1 }

Пример кода:

  # include <iostream> using namespace std; int main () { int n; // создаем переменную cin >> n; // вводим ее if (n % 2 == 0) // если число без остатка делится на 2 cout << "The number is even \n"; // говорим, что число четное else // в остальных случаях cout << "The number is odd \n"; // говорим, что число нечетное system ("pause"); // пауза return 0; // завершение работы программы }

ЗАПОМНИТЕ! Два знака равно «==» обозначают сравнение двух переменных, а одно равно «=» — операцию присваивания.

Помимо сравнения двух переменных (==) существуют другие условные операторы:

1) «==,!=, >, <. >=, <=», что значит «равно, неравно, больше, меньше, больше или равно, меньше или равно» соответственно. Пример:

  if (a == b) cout << "a is equal to b \n"; if (a!= b) cout << "a is not equal to b \n"; if (a > b) cout << "a is bigger than b \n"; if (a < b) cout << "a is less than b \n"; if (a >= b) cout << "a is bigger or equal to b \n"; if (a <= b) cout << "a is less or equal to b \n"; // думаю комментарии излишни

2) &&, что означает «и». Пример:

  if (int(symbol) >= int('a') && int(symbol) <= int('z')) cout << "Your character is letter \n"; /* если ASCII код символа находится между кодами символов 'a' и 'z', то сообщить о том, что символ является буквой */ else cout << "Your character isn't letter \n"; // в остальных случаях сообщить об обратном

3) ||, что означает «или». Пример:




Дата добавления: 2015-09-10; просмотров: 100 | Поможем написать вашу работу | Нарушение авторских прав

Какую IDE(Среду разработки) выбрать? | Первый индекс - это длина таблицы, второй - высота. | Создание функции. | ПОДЕЛИТЬСЯ В СОЦ. СЕТЯХ | A, abcdefg, abscissa, b, bbb, bbbbb, bulvar, bulvara, grajdanstvo, zub, zubnoy. | Структуры данных. Стек | Z-функция строки. Число вхождений подстроки в строку. | Считывание переменных в цикле |


lektsii.net - Лекции.Нет - 2014-2025 год. (0.017 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав