Пример 2. Проверка возраста человека

В этом разделе демонстрируется простое использование оператора И (&&). Программа определяет, находится ли число в определенном диапазоне - в данном случае диапазон включает в себя числа лет подросткового возраста от 13 до 19.

#include <iostream>

using namespace std;

 

int main() {

int n;

cout << "Enter an age and press ENTER: ";

cin >> n;

if (n > 12 && n < 20)

cout << "Subject is a teenager.";

else

cout << "Subject is not a teenager.";

return 0;

}

Упражение 3: добавить проверку на пожилой возраст (от 60 и старше).

 

Введение в математическую библиотеку

Вплоть до текущего момента мы использовали стандартную библиотеку языка C++ для поддержки потоков ввода-вывода. Это позволяло использовать в коде объекты cout и cin, и поэтому в программы нужно было включать следующую строку:

#include <iostream>

Можно использовать любые операторы языка C++ (например +, *, - и %) без поддержки библиотеки, поскольку операторы встроены в язык. Однако, чтобы использовать любую из специальных математических функций, необходимо включить следующую строку:

#include <math.h>

 

Математические функции включают тригонометрические функции (sin, cos, tan, asin, acos, atan и т.д.), логарифмические функции (log, Iog10), экспоненциальные функции (pow, exp) и другие хорошие вещи. В этой главе используется только одна математическая функция: sqrt, возвращающая квадратный корень.

#include <math.h>

double х;

х = sqrt(2.0); // Присвоить квадратный корень из числа 2 переменной х

 

Пример 3. Проверка на простое число

Теперь в нашем распоряжении имеется достаточно инструментов языка C++, чтобы сделать что-то интересное и полезное: определить, является ли введенное число простым. Простое число – это число, которое делится без остатка только на само себя и 1.

Очевидно, что число 12000 не является простым (поскольку оно кратно 10), но совсем не понятно, является ли простым числом 12001.

#include <iostream>

#include <math.h>

using namespace std;

 

int main()

{

int n; // Число для проверки

int i; // Счетчик для цикла

int is_prime; // Флаг

 

// Предположим, что изначально число простое

is_prime = true;

 

// Введем число с клавиатуры

cout << "Enter a number and press ENTER: ";

cin >> n;

 

// Проверим в цикле все числа до .

i = 2;

while (i <= sqrt(static_cast<double>(n))) // Пока i <= sqrt(n),

{

 

if (n % i == 0) // Если делится нацело

is_prime = false; // n не простое

i++; // добавим 1 к i

}

 

// Печатаем результат

if (is_prime)

cout << "Number is prime.";

else

cout << "Number is not prime.";

 

return 0;

}

 

Важно!!!

Конструкция static_cast<double>(n) приводит целое число к вещественному типу. Появилась эта конструкция в С++. В языке С аналог: (double)n. Рекомендуется использовать именно стиль С++.

Упражнение 4: посчитайте n!

Упражнение 5:посчитайте sin(1)+sin(2) + … + sin(n)

Упражнение 6: Для всех чисел от 1 до n выведите все, которые делятся на 3.