1 of 22

Язык программирования С++

Так будет всегда,

Если плюса здесь два,

То и монитора тоже будет два.

Ха – ха!! В.И.

2 of 22

Язык программирования С++. Начало. Вид программы:

#include <iostream> // подключение всех библиотек: <bits/stdc++.h>

using namespace std; // использование имен из std (cin, cout ...)

int main() { // начало основной функции

// команды программы

return 0; } // завершение программы

<bits/stdc++.h> // подключение всех библиотек:

using namespace std; // использование имен из std (cin, cout ...)

int main() { // начало основной функции

// команды программы

} // завершение программы

3 of 22

Основные типы данных в C++

intцелочисленный; (в Pascal - integer)

float - с плавающей запятой; (в Pascal - real).

double - тип данных с плавающей запятой двойной точности; .

char - символьный тип данных.

bool - логический тип данных

Строка может объявляться массивом символов: char s[27]

string - строковый тип.

Сокращенная запись действий

Полная

x += a;

x = x + a;

x -= a;

x = x - a;

x *= a;

x = x * a;

x /= a;

x = x / a;

x %= a;

x = x % a;

i ++; // или ++ i;

i = i + 1;

i--; // или -- i;

i = i - 1;

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

+ - сложение, вычитание

* / умножение, деление

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

если результат – переменная int, то выполняется целочисленное деление.

4 of 22

Ввод и вывод (из std):

cin – ввод значений

cout – вывод текста и значений

endl – переход на следующую строку вывода (используется в cout)

Ввод и вывод (из C):

scanf – ввод значений

printf – вывод текста и значений

\n - переход на следующую строку вывода

Для подключения всех библиотек:

#include <bits/stdc++.h>

5 of 22

Некоторые команды из модуля: #include <math.h>

pow - возведение в степень, например pow(2,10) => 1024.0

sqrt - квадратный корень

abs - абсолютное значение (модуль) для целых чисел

round - обычное округление

trunc - отбрасывание дробной части

ceil - округлением с избытком, например, ceil(1.02) => 2.0

floor - округление с недостатком, например, floor(1.02) => 1.0

Например:

int x=5.6;

cout<<trunc(x); ==>5 cout<<floor(x); ==>5 cout<<ceil(x); ==>6 cout<<round(x); ==>6

int x=-3.6;

cout<<trunc(x); ==>-3 cout<<floor(x); ==>-4 cout<<ceil(x); ==>-3 cout<<round(x); ==>-4

sin cos tan - тригонометрические функции из радианной меры;

6 of 22

пример №1:

Даны целые положительные числа A, B, C. На прямоугольнике размера A х B размещено максимально возможное количество квадратов со стороной C (без наложений). Найти количество квадратов, размещенных на прямоугольнике, а также площадь незанятой части прямоугольника. Все значения целочисленные. Примеры:

10 4 2 ==> 10 0

11 5 2 ==> 10 15

7 of 22

пример №1:

Даны целые положительные числа A, B, C. На прямоугольнике размера A х B размещено максимально возможное количество квадратов со стороной C (без наложений). Найти количество квадратов, размещенных на прямоугольнике, а также площадь незанятой части прямоугольника. Все значения целочисленные. Примеры:

10 4 2 ==> 10 0

11 5 2 ==> 10 15

#include <bits/stdc++.h>

using namespace std;

int main() {

int a,b,c;

cin>>a>>b>>c;

cout<<(a/c)*(b/c)<<' '<<(a*b)-(a/c)*(b/c)*c*c;

}

8 of 22

Пример №2:

Сережа решил построить на даче забор. Его дачный участок - это прямоугольник со сторонами: a, b метров (в программе запрашиваются с клавиатуры). Для строительства ему не хватает только досок. В магазине он выбрал доску шириной d см и высотой 150 см. Помогите Сереже рассчитать, сколько купить ему досок, если он будет прибивать их на расстоянии t см одна от другой. Пример:

12 15 15 2

==> 318

9 of 22

#include <bits/stdc++.h>

using namespace std;

int main() {

float a,b,d,t; int k;

cin>>a>>b>>d>>t;

k=ceil(2*(a+b)*100/(d+t));

cout<<k;

}

Пример №2:

Сережа решил построить на даче забор. Его дачный участок - это прямоугольник со сторонами: a, b метров (в программе запрашиваются с клавиатуры). Для строительства ему не хватает только досок. В магазине он выбрал доску шириной d см и высотой 150 см. Помогите Сереже рассчитать, сколько купить ему досок, если он будет прибивать их на расстоянии t см одна от другой. Пример:

12 15 15 2

==> 318

10 of 22

вывод три знака после запятой:

    float a,b,s;    cin>>a>>b;    s=(a/10)*(b/10);    printf("%.3f",s);

11 of 22

CodeBlocks и вид программы на C++

12 of 22

13 of 22

14 of 22

#include <bits/stdc++.h>

using namespace std;

int main() {

int …; float …;

cin…;

cout…;

}

15 of 22

1. На рисунке схема дорог изображена в виде графа, в таблице содержатся сведения о длине этих дорог в километрах. Так как таблицу и схему рисовали независимо друг от друга, нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Известно, что длина дороги ВЕ больше, чем длина дороги ВД. Определите минимальную сумму длин дорог из пункта Б в пункт Е. В ответе запишите только целое число.

16 of 22

17 of 22

1

1. На рисунке схема дорог изображена в виде графа, в таблице содержатся сведения о длине этих дорог в километрах. Так как таблицу и схему рисовали независимо друг от друга, нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Известно, что длина дороги ВЕ больше, чем длина дороги ВД. Определите минимальную сумму длин дорог из пункта Б в пункт Е. В ответе запишите только целое число.

18 of 22

1

19 of 22

Конструкция if в C++

Краткая форма условного оператора if:

if ( a > b ) { m=a; n=1; }

Расширенная форма

условного оператора if:

if ( a > b ) {

m=a; n=1;

}

else {

m=b; n=2;

}

20 of 22

В условии можно использовать знаки логических отношений

> < больше, меньше

>= <= больше или равно, меньше или равно

== равно

!= неравно

Логические операции:

not !

равно ==

неравно !=

and (и) &&

or (или) ||

xor ʌ - ( исключающее или)

// сложное условие: проверка, принадлежит ли а отрезку [25, 40]

if ( 25 <= a && a <= 40 )

21 of 22

22 of 22