Программирование на языке C++

Содержание

Слайд 2

Типы данных int // целое long int // длинное целое float

Типы данных

int // целое
long int // длинное целое
float //

вещественное
double // веществ. двойной точности
bool // логические значения
char // символ
Слайд 3

Арифметическое выражения a = (c + b*5*3 - 1) / 2

Арифметическое выражения

a = (c + b*5*3 - 1) / 2 *

d;

Приоритет (старшинство):
скобки
умножение и деление
сложение и вычитание

1

2

3

4

5

6

Слайд 4

Деление Результат деления целого на целое – целое число (остаток отбрасывается):

Деление

Результат деления целого на целое – целое число (остаток отбрасывается):

int a

= 3, b = 4;
float x;
x = 3 / 4; // = 0
x = 3. / 4; // = 0.75
x = 3 / 4.; // = 0.75
x = a / 4; // = 0
x = a / 4.; // = 0.75
x = a / b; // = 0
x = float(a) / 4; // = 0.75
x = a / float(b); // = 0.75
Слайд 5

Остаток от деления % – остаток от деления int a, b,

Остаток от деления

% – остаток от деления

int a, b, d;
d =

85;
b = d / 10; // 8
a = d % 10; // 5
d = a % b; // 5
d = b % a; // 3

Для отрицательных чисел:

int a = -7;
b = a / 2; // -3
d = a % 2; // -1

-7 = (-4)*2 + 1

остаток ≥ 0

Слайд 6

Сокращенная запись операций int a, b; ... a ++; // a

Сокращенная запись операций

int a, b;
...
a ++; // a = a +

1;
a --; // a = a – 1;
a += b; // a = a + b;
a -= b; // a = a - b;
a *= b; // a = a * b;
a /= b; // a = a / b;
a %= b; // a = a % b;
Слайд 7

Вещественные числа Форматы вывода: float x = 123.456; cout.width(10); cout.precision(5); cout

Вещественные числа

Форматы вывода:

float x = 123.456;
cout.width(10);
cout.precision(5);
cout << x << endl;

cout.width(10);
cout.precision(2);
cout <<

x << endl;

5 значащих цифр

1,2 ⋅ 102

всего 10 знаков

Слайд 8

Вещественные числа Экспоненциальный (научный) формат: float x; x = 1./30000; cout

Вещественные числа

Экспоненциальный (научный) формат:

float x;
x = 1./30000;
cout << x;
x = 12345678.;
cout

<< x;

3.33333e-005

1.23457e+007

3,33333 ⋅ 10–5

float x = 123.456;
cout.width(10);
cout.precision(2);
cout << scientific << x;

1,23457 ⋅ 107

в дробной части

научный

Слайд 9

Стандартные функции abs(x) — модуль целого числа fabs(x) — модуль вещественного

Стандартные функции

abs(x) — модуль целого числа
fabs(x) — модуль вещественного числа
sqrt(x) —

квадратный корень
sin(x) — синус угла, заданного в радианах
cos(x) — косинус угла, заданного в радианах
exp(x) — экспонента ех
ln(x) — натуральный логарифм
pow(x,y) — xy: возведение числа x в степень y
floor(x) — округление «вниз»
ceil(x) — округление «вверх»

#include <сmath>

подключить математическую библиотеку

float x;
x = floor(1.6);// 1
x = ceil(1.6); // 2

x = floor(-1.6);//-2
x = ceil(-1.6); //-1

Слайд 10

Случайные числа Случайно… встретить друга на улице разбить тарелку найти 10

Случайные числа

Случайно…
встретить друга на улице
разбить тарелку
найти 10 рублей
выиграть в лотерею

Случайный выбор:
жеребьевка

на соревнованиях
выигравшие номера в лотерее

Как получить случайность?

Слайд 11

Случайные числа на компьютере Электронный генератор нужно специальное устройство нельзя воспроизвести

Случайные числа на компьютере

Электронный генератор

нужно специальное устройство
нельзя воспроизвести результаты

318458191041

564321

209938992481

458191

938992

малый период (последовательность

повторяется через 106 чисел)

Метод середины квадрата (Дж. фон Нейман)

в квадрате

Псевдослучайные числа – обладают свойствами случайных чисел, но каждое следующее число вычисляется по заданной формуле.

зерно

Слайд 12

Генератор случайных чисел Генератор на отрезке [0,RAND_MAX]: int X, Y; X

Генератор случайных чисел

Генератор на отрезке [0,RAND_MAX]:

int X, Y;
X = rand();

// псевдослучайное число
Y = rand() // это уже другое число!

англ. random – случайный

Целые числа на отрезке [a,b]:

int X, Y;
X = a + rand() % (b - a + 1);
Y = a + rand() % (b - a + 1);

#include <сstdlib>

rand() % (b - a + 1);

[0,b-a]