C++

 

http://youtube.com/c/alexsherzer

1 С++ Переменные, типы данных, целочисленная арифметика.
Переменные, типы данных, целочисленная арифметика. Операторы ввода и вывода информации. Построение линейных алгоритмов (блок-схем) и научный (с мантиссой и экспонентой) вывод числа с плавающей запятой (float).
1:40 Ввод и вывод данных, оператор присваивания
6:02 Введение в простые типы данных
15:00 Деление целых чисел (int)
22:48 Преобразование целых чисел (int) в вещественные (float)
23:30 Деление вещественных чисел (float)
25:20 Введение в тип данных char (один символ)
26:23 Преобразование символа в его код (char to int) и кода в символ (int to char)
31:17 Научный вывод (scientific output) вещественного числа (мантисса+экспонента)
36:35 Построение блок схемы алгоритма линейной структуры

2 С++ Объяснение работы библиотеки CMATH
Объяснение работы библиотеки CMATH. Применение встроенных функций: sin,cos,pow,abs,ceil,floor и примеры их использования. Перевод из радиан в градусы. Объяснение работы функции log с различными основаниями.
1:02 Функция для возвращения значения-результата модуля числа |A|
2:33 Функция для возвращения значения-результата sin/cos (радиан и градус)
4:58 Функция для возвращения значения-результата логарифма с основанием (log)
6:40 Функция для возвращения значения-результата cтепени числа (pow)
8:15 Функция для возвращения значения-результата округления вещественных чисел

3 С++ Примеры и решения задач Логические операции
Примеры и решения задач из сборника задач Златопольского “Я иду на уроке информатики”. Использование тригонометрических функций (sin,cos,pow…) при составлении выражений и решении задач по теме “Линейный алгоритм” c использованием операций целочисленного деления. Применение типа данных bool при решении простых логических задач и простейшие логические операции (AND (&&), OR (||), NOT (!)). Использование дополнительных сервисов таких как logyc.ly/demo для проверки верности составления логического выражения.
2:45 Запись простых выражений (1:03) на языке C++
5:25 Запись простых выражений (4:48) на языке C++
6:40 Вычисления по известным формулам (запись выражения)
10:58 Решение задачи. Определение расстояния до линии горизонта от точки с высотой h
13:17 Решение задачи. Определение плотности населения в государстве
14:52 Решение задачи. Обмен значениями двух переменных величин
21:45 Решение задач. Целочисленная арифметика. Перевод сантиметров в метры
23:55 Решение задач. Сколько квадратов поместится в заданный прямоугольник
26:11 Решение задач. Выделение цифр из числа. Произведение и сумма цифр числа
35:59 Решение задач. Логический тип данных bool. Запись выражений.

4 С++ Решение логических задач Сложные высказывания Шахматы
Объяснение элементарной математической логики. Составление таблиц истинности для произвольного количества простых высказываний. Понятия дизъюнктор, коньюнктор, инвентор. Составление сложных логических высказываний в С++. Проверка верности составления логического выражения с помощью Excel и С++. Решение задач про шахматы из задачника Златопольского (находится ли фигура под ударом) без условного оператора.
0:25 Повторение логических операций и выражений (коньюнкция, дизъюнкция, инверсия)
3:20 Построение таблицы истинности для трех простых высказываний
4:19 Решение задач. Запись логического выражения на языке С++. Трассировка.
9:00 Решение задач. Сочетания белой и черной фигур на поле шахматной доски

5 C++ Формы условного оператора Блок схемы
Знакомство с неполной и полной формой условного оператора. Построение блок – схемы для демонстрации неполной, полной и вложенных форм условных операторов. Ввод и вывод информации с использованием форм условного оператора. Решение нескольких простых задач для демонстрации: поиск максимального числа, проверка на четность. Повторение целочисленной арифметики, знаки математических отношений используемые при составлении условия (>, >=, <, <=, ==, !=).
0:45 Построение блок-схем для неполной формы условного оператора
3:30 Построение блок-схем для полной формы условного оператора
4:52 Построение блок-схем для вложенных форм условного оператора (if else if)
7:05 Решение задач+схема. Поиск максимального числа из двух чисел
18:52 Решение задач+схема. Определение четности/нечетности числа

6 С++ Системы уравнений Определение возраста Палиндром
Решение задач по теме “Полная форма условного оператора”. Составление выражений с использованием библиотеки сmath при решении задач по теме условный оператор. Повторение тем: целочисленная арифметика, логика, знаки математических отношений. Построение и разработка блок – схем. Тестирование программ на наличие ошибок, исправление ошибок, форматированный вывод и ввод информации, человеко-понятный интерфейс. Решение задачи Палиндром. Переход к теме формирование сложных условий.
0:30 Решение задач. Полная форма условного оператора. Система уравнений.
8:37 Решение задач. Частное от деления чисел M на N (целочисленная арифметика)
14:32 Решение задач. Определение возраста человека (номер месяца и номер года)
27:02 Решение задач. Определить является ли число палиндромом (“перевертышем” )

7 C++ Формирование сложных условий
Решение задач из раздела “Формирование сложных условий” Златопольского. Объяснение целочисленной арифметики и еще раз о простых высказываниях, составление сложных условий с использованием дизъюнкции и конъюнкции при решении таких задач, как: принадлежит ли число заданному интервалу, определение високосного года, определение цвета включенного светофора в зависимости от времени. Решение простых задач и неполная форма условного оператора.
0:28 Решение задач. Определение принадлежности числа N к интервалу (-A;B)
5:55 Решение задач. Определить является ли треугольник равносторонним
10:40 Решение задач. Определение високосного года
17:12 Решение задач. Работа светофора. Определить сигнал какого цвета включен
30:28 Решение задач. Определить словесный результат чемпионата по футболу

8 С++ Оператор выбора switch case
Пишем программы и учимся строить блок-схемы с использованием операторов switch (case) и полных форм условных операторов (в т.ч. формирование сложных логических условий &&, ||). Меняем местами оператор выбора и полную форму условного оператора (1) оператор выбора внутри полной формы условного оператора; 2) полная форма условного оператора в операторе выбора). Учимся применять ctime для генерации случайных чисел. Решаем следующие следующие задачи:
0:55 Определение название дня недели по его порядковому номеру
16:00 Вывод правильной формы слова рубль в зависимости от суммы
39:08 Используем char для Калькулятор арифметический (+, -, *, /)
51:40 Программа проверки знаний таблиц сложения и умножения (rand)

9 C++ Графика Примитивы и правильная заливка
Объяснение особенностей системы координат в программировании графики, понятии пикселя и принципа “сэндвича” на простых примерах. Определяем цвет границ для геометрических объектов, выводим графические примитивы (в т.ч. окружность, прямоугольник, плитка (bar)), рисуем треугольники и учимся их аккуратно заливать. Рисуем дом и выводим текст.
2:30 Система координат на экране для вывода графической информации. Пиксель
5:35 Принцип “сэндвича”. Определение размера экрана и завершение режима.
7:25 Определение цвета границы выводимого графического элемента
9:40 Рисование треугольника (другой произвольной фигуры) (moveto, lineto)
13:42 Заливка треугольника (другой произвольной фигуры) (setfillstyle, floodfill)
19:46 Рисование границ прямоугольника (rectangle) и прямоугольника с заливкой (bar)
25:20 Рисование окружности (circle) 27:01 Заливка окружности (setfillstyle, floodfill)
29:27 Рисование домика из нескольких графических примитивов и их заливка
46:20 Вывод текста в графическом режиме (outtextxy)

10 C++ Циклы в графике Анимация
Изучаем параметры цикла со счетчиком и разбираем на примерах и только примерах для чего нужен первый параметр – начальное значение, второй параметр – условие (конечное значение счетчика), третий параметр – шаг цикла. Конечно же изюминка урока это “анимация движения “автомобиля”. Мы используем два вложенных цикла с параметрами внутри цикла с предусловием. В течении урока используем цикла с увеличением и уменьшением счетчика, пишем программу с неполной формой условного оператора внутри цикла, вспоминаем зачем нужен break, rand(), как сокращать арифметические действия. Всем смотреть!Решаем задачи, строим блок-схемы циклических алгоритмов и даже заполняем одну трассировочную таблицу. Рассматриваем как решаются следующие задачи:
1:50 Объяснение значения параметров цикла for
5:20 Вывод линии в форме лестницы с помощью цикла for
10:20 Заполнение трассировочной таблицы для программы вывода “лестницы”
15:30 Интерактивный (ввод количества ступеней) вывод линии в форме лестницы
16:55 Построение блок-схемы к программе вывода “лестницы”
20:15 Вывод нескольких окружностей различного радиуса (мишень)
24:10 Вывод фигур (circle, rectangle) по заданной траектории (пример из учебника)
28:35 Штриховка (пользовательская) и градиентная заливка фигур
51:35 Рисование объекта для анимации. Примитивы.
57:53 Анимация. Перемещение нескольких объектов по экрану
1:00:00 Анимация. “Возвращение” объекта. Работа с координатами окна вывода графики.
1:07:35 Построение блок-схемы к программе анимации

11 С++ Циклы с параметрами Оператор for
Учимся на реальных примерах решать задачи по теме оператор цикла с параметром (со счетчиком), строим блок-схемы, заполняем трассировочные таблицы для проверки правильности алгоритма. Решения могут быть интересны для тех кто хочет научиться писать программы для микро-финансовых организаций, для юных исследователей и просто для учащихся общеобразовательных школ.
0:30 Вывод числа N раз
5:28 Перевод N $USA в значения локальной валюты
13:45 Сумма квадратов всех целых чисел от 1 до N
23:25 Определение количества клеток после деления каждые 3 часа
27:41 Факториал числа и сумма ряда 1 + 1/2! + 1/3! + … + 1/n!
37:50 Сложные проценты и вычисление депозита через N месяцев
59:20 Обработка данных во время ввода (средняя оценка ученика)

12 С++ Оператор while Циклы с условием
Продолжаем решать задачи, и в этом видео уроке по теме оператор цикла с условием (while, do while), строим блок-схемы, заполняем трассировочные таблицы для проверки правильности алгоритма. После просмотра видео вы научитесь использовать цикл с условием для разделения даже огромного числа на много маленьких цифр, для того, чтобы их снова объединить в сумму. Видео урок поможет вам вспомнить операции целочисленного деления и логические операции для того чтобы вы научились без условного оператора определять количество отличников в вашем классе вводя результаты за четверть во время работы программы. В процессе изучения темы вместе со мной вы можете научиться решать задачу по определению количества месяцев, лет или десятилетий, а то может и веков когда банк накопит желаемые вами деньги (БУДЬТЕ ОСТОРОЖНЫ С БАНКОВСКИМИ СЛОЖНЫМИ ПРОЦЕНТАМИ). Теперь вас точно никто не сможет обмануть в банке. Ну и конечно не обойдется без использования условного оператора в цикле с условием, для того, чтобы посчитать количество “холодных” дней. В видео уроке мы заполняем трассировочную таблицу, пишем программу и строим блок схему для следующих задач
1:02 Вывод квадратов всех целых чисел от A до B (while do, do while)
14:25 Определить количество цифр в натуральном числе N
29:10 Определить сумму цифр в натуральном числе N
30:25 Определить произведение и среднее арифметическое цифр в N
32:10 Определить сумму квадратов цифр в натуральном числе N
35:00 Подсчет количества оценок соответствующих заданному условию
41:15 Вывод числа больше/меньше произвольного N кратного M
48:58 Банковские операции (определение месяца при котором вклад = N)
1:09:40 Определение количества дней для заданной температуры (while+if)

13 C++ Оператор for for (while while) Вложенные циклы
Продолжаем изучать тонкое искусство программирования. Вводим термины внешний и внутренний цикл, повторяем что такое индекс цикла (параметр цикла). Рассматриваем вложенные циклы как способ вывода информации в виде таблицы, прямоугольного треугольника и даже в форме треугольника, в процессе немного говорим о массивах. Повторяем таблицу умножения, сложения, деления, вычитания путем написания программы для вывода соответствующих таблиц. Решаем важные задачи для понимания информатики, математики и жизни. Обязательно заполняем трассировочную таблицу и создаем блок-схему практически к каждому решению следующих задач:
1:45 Объяснение того, какие значения принимает внешний и внутренний цикл
8:05 Заполнение и вывод таблицы A * B одинаковыми значениями
9:55 Построение блок-схемы для вложенного цикла for к предыдущей задаче
18:35 Заполнение и вывод таблицы значениями от 1 до N (for for)
19:55 Заполнение и вывод таблицы значениями от 1 до N (while while)
22:25 Построение блок-схемы для вложенного цикла while к предыдущей задаче
29:35 Заполнение и вывод значений от 1 до N в виде треугольника (for for)
38:45 Заполнение и вывод таблицы сложения и умножения (i+j и i*j) (for for)
45:00 Заполнение и вывод таблицы умножения A * B (i*j) (while while)
48:57 Заполнение и вывод треугольника Паскаля
1:00:17 Блок-схема для вложенного цикла for к задаче “Треугольника Паскаля”

14 С++ Cимвольные строки char Класс string Функции
В каждом из разделов изложена вся необходимая информация для успешной работы на уроке и во внеурочной деятельности связанной с использованием функций для работы над строками. На простых и сложных примерах объясняется структура строки. Повторяем тригонометрическую функцию abs, решаем задачи с помощью циклов, в том числе вложенных. Используем условный оператор полной и неполной формы. Рассматривается альтернативное решение нескольких задач из сборника задач Златопольского и задач входящих в школьную программу. Материал изложенный в уроке разделен на два важных раздела.
0:00 Первый раздел. Повторение.
1:25 Объяснение структуры и идентификация символьных строк типа char[N] 4:42 Дополнительные настройки программы для работы с Unicode (setlocale)
6:15 Ввод символьной строки и вывод отдельных символов из строки по их индексу
10:30 Решение задач. Объединение символьных строк.
12:00 Решение задач. Определение количества символов в строке (strlen)
14:25 Решение задач. Сравнение строк. Использование if и strlen(s)
19:25 Решение задач. Вывод отдельных символов из символьной строки
23:28 Решение задач. Проверка одинаковых символов. Использование if и strlen(s)
29:30 Функция strcat. Объединение (конкатинация s1 и s2) символьных строк
34:35 Функция strcpy. Копирование cодержимого подстроки s2 в строку s1
38:05 Функция strncat. Объединение (в s1 из s2 до символа n) символьных строк
43:18 Функция strncpy. Копирование n символов подстроки s2 в начало строки s1
48:03 Функция strncmp. Сравнение строк и возвращение логического результата
50:00 Решение задач. Кодирование/декодирование символьной строки в цикле

55:55 Второй раздел. Объяснение строк класса string.
58:44 Функция getline(cin,s). Ввод строки s в потоке cin.
1:00:25 Функция s.size(). Определение длины строки s.
1:02:58 Функция resize(n). Изменение длины строки до длины n.
1:04:18 Функция erase(n). Удаление символов начиная с символа n
1:05:48 Функция b.insert(NULL,s,x,y). Вставка символов из строки a в b с символа x до у
1:13:30 Решение задач. Функция s.substr(x,y). Вырезание строки s с позиции x до у.
1:17:27 Функция b.replace(x,y,a,m,k). Замена b c позиции x до y на a с позиции m до k
1:20:31 Функция s.find(a,x,y). Поиск y символов подстроки a в строке s с позиции x
1:24:10 Решение задач. Определение “строки-перевертыша” (функции, условия, циклы)
1:24:10 Построение блок-схемы для задачи “строка-палиндром(перевертыш)”
1:48:10 Генератор сочетаний символов в строке (brute force). Вложенные циклы.

15 C++ Файлы Объекты ofstream и ifstream Строки string
Когда вы хотите написать программу тестирования (мы это делаем с 9:41), или список из 100 результатов выполненных вычислений, или автоматизировать процесс обработки данных ранее записанных в файл, вам помогут операции с файлами. В течении 30 минут я знакомлю вас с основными операциями над файлами, такими как открытие, чтение из файла и запись в файл. Для каждой рассматриваемой задачи есть пример блок-схемы, что не может не нравиться юным и пытливым умам.
0:25 Описание предварительных настроек для работы с файлами
2:25 Использование объекта ofstream для создания и открытия файла, и записи в файл
7:30 Построение блок-схемы для программы создания файла и записи в файл
10:17 Структура файла для решения задачи “Программа “Тестирование” (test.txt)
13:27 Использование объекта ifstream для чтения из файла (используем while (!f.eof())
23:37 Построение блок-схемы для программы “Тестирование” с чтением из файла

16 C++ Подпрограммы Процедуры и функции
В С++ нужно и можно вводить собственные подпрограммы (процедуры и функции). Использование собственных процедур делает наглядным код программы. Кроме того процедуры можно вызвать в различных местах программы. Учимся описывать подпрограммы без параметров, с параметрами, выводить и возвращать результат, использовать значение-результат функции в качестве переменной при решении задач в функции main. Строим блок-схемы и решаем следующие задачи:
1:34 Процедура. Определение факториала заданного числа N + блок-схема
10:35 Функция. Определение факториала заданного числа N. Функция vs. процедура
22:01 Процедура. Преобразование десятичного числа (decimal) N в двоичное(binary).
34:50 Определение НОД (алгоритм Евклида) для заданных чисел X, Y
44:41Пример выполнения проекта (тест + преобразование + графика)

17 C++ Рекурсивные функции Основы
Рекурсивные функции являются альтернативой циклам. Рекурсия достаточно распространённое явление в науке, но часто встречается и в повседневной жизни (стихотворение “У попа была собака…” или наведение камеры на экран вашего компьютера). В видео уроке мы рассматриваем рекурсию через решение нескольких популярных задач:
0:00 Объяснение понятия рекурсивной функции
3:03 Определение факториала заданного числа N
7:40 Определение чисел ряда Фибоначчи для порядкового N
18:20 Возведение заданного числа A в степень B (без цикла)
26:41 Ханойские башни (перестановки)
36:55 Рекурсивные алгоритмы перевода из DEC в BIN и поиск НОД
38:30 Преимущества и недостатки рекурсивных функций

18 С++ Массив Инициализация Ввод и вывод
Одномерный массив, как и другие массивы (двумерные, n-мерные) — структура данных, хранящая набор значений (элементов массива), идентифицируемых по индексу или набору индексов, принимающих значения из некоторого диапазона. Одномерный массив это вектор.
0:05 Что такое массив (одномерный) и его представление в памяти
3:51 Инициализация массива с известными значениями
7:15 Поэлементный вывод значений одномерного массива
8:53 Инициализация статичного одномерного массива
9:12 Поэлементный ввод и вывод массива (без цикла)
11:50 Поэлементный ввод (user input) и вывод массива (цикл for)
17:02 Заполнение массива случайными значениями и вывод массива
23:50 Инициализация динамичного одномерного массива
30:15 Другое (советы когда использовать статичные или динамичные)

19 C++ Массивы Решение задач
2:55 Заполнение и вывод массива в прямом и обратном порядке
4:50 Обработка элементов массива. Изменение значений элементов
9:40 Обработка элементов массива. Сумма и произведение значений
15:05 Определение количества цифр в сумме значений элементов
26:10 Вывод значений элементов массива по различным условиям
48:20 Перестановка четных значений массива с нечетными
55:30 Поиск минимального и минимального значения в массиве

20 С++ Сортировка массива (bubble sort, insertion sort, quick sort)
0:20 Объяснение и визуализация сортировки методом “пузырька”
2:43 Повторение темы “Вложенные циклы” (for for)
7:30 Алгоритм сортировки методом “пузырька”
12:00 Вывод перестановок и итераций для bubble sort (трассировка)
19:25 Объяснение и визуализация сортировки методом “вставок”
23:50 Алгоритм сортировки методом “вставок”
28:30 Вывод перестановок для insertion sort (трассировка)
32:46 Алгоритм быстрой сортировки (quick sort)

21 С++ Поиск в массиве (linear, binary)
1:57 Как работает линейный поиск? Алгоритм линейного поиска
6:11 Линейный поиск над строковым массивом
9:10 Как работает двоичный поиск? Алгоритм двоичного поиска
21:20 Двоичный поиск над строковым массивом
25:59 Блок схема (flowchart) алгоритмов insert sort и binary search

План не заполнен

Преподаватель