Содержание
- 2. Программирование на языке C++ § 54. Алгоритм и его свойства
- 3. Что такое алгоритм? Алгоритм — это точное описание порядка действий, которые должен выполнить исполнитель для решения
- 4. Свойства алгоритма Дискретность — алгоритм состоит из отдельных команд, каждая из которых выполняется за конечное время.
- 5. Как работает алгоритм? дискретный объект 1 2 3 4 алгоритм шаг 1 шаг 2 шаг 3
- 6. Способы записи алгоритмов естественный язык псевдокод установить соединение пока не принята команда «стоп» принять команду выполнить
- 7. Способы записи алгоритмов блок-схема установитьСоединение начало цикла cmd= получитьКоманду выполнитьКоманду(cmd) конец при cmd = 'stop' закрытьСоединение
- 8. Программирование на языке C++ § 55. Простейшие программы
- 9. Простейшая программа main() { // это основная программа /* здесь записывают операторы */ } это основная
- 10. Вывод на экран main() { cout cout cout } Протокол: 2+2=? Ответ: 4 "\n" – новая
- 11. Подключение библиотечных функций #include using namespace std; main() { cout cout cout cin.get(); } стандартные потоки
- 12. Если не подключить пространство имён… #include main() { std::cout std::cout std::cout std::cin.get(); } пространство имен std
- 13. Вывод в поток cout cout end of line – конец строки
- 14. Задания «B»: Вывести на экран текст «лесенкой» Вася пошел гулять «C»: Вывести на экран рисунок из
- 15. Сложение чисел Задача. Ввести с клавиатуры два числа и найти их сумму. Протокол: Введите два целых
- 16. Сумма: псевдокод main() { // ввести два числа // вычислить их сумму // вывести сумму на
- 17. Переменные Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во время
- 18. Имена переменных МОЖНО использовать латинские буквы (A-Z, a-z) цифры знак подчеркивания _ заглавные и строчные буквы
- 19. Объявление переменных Типы переменных: int // целая float // вещественная и другие… Объявление переменных: int a,
- 20. Тип переменной область допустимых значений допустимые операции объём памяти формат хранения данных для предотвращения случайных ошибок
- 21. Как записать значение в переменную? a = 5; оператор присваивания 5 Оператор – это команда языка
- 22. Ввод значения с клавиатуры 5 a cin >> a; ввести значение a из входного потока
- 23. Ввод значений двух переменных через пробел: 25 30 через Enter: 25 30 cin >> a >>
- 24. Изменение значений переменной int a, b; a = 5; b = a + 2; a =
- 25. Вывод данных //вывод значения //переменной a //...и переход //на новую строку cout cout //вывод текста //вывод
- 26. Сложение чисел: простое решение #include using namespace std; main() { int a, b, c; cin >>
- 27. Сложение чисел: полное решение main() { int a, b, c; cout cin >> a >> b;
- 28. Снова про оператор вывода #include ... a = 123; cout Форматный вывод: Вычисление выражений: cout a+b
- 29. Программирование на языке C++ § 56. Вычисления
- 30. Типы данных int // целое long int // длинное целое float // вещественное double // веществ.
- 31. Арифметическое выражения a = (c + b*5*3 - 1) / 2 * d; Приоритет (старшинство): скобки
- 32. Деление Результат деления целого на целое – целое число (остаток отбрасывается): int a = 3, b
- 33. Остаток от деления % – остаток от деления int a, b, d; d = 85; b
- 34. Сокращенная запись операций int a, b; ... a ++; // a = a + 1; a
- 35. Вещественные числа Форматы вывода: float x = 123.456; cout.width(10); cout.precision(5); cout cout.width(10); cout.precision(2); cout 5 значащих
- 36. Вещественные числа Формат с фиксированной точкой: #include ... float x = 123.4567890123; cout 123.456 в дробной
- 37. Вещественные числа Экспоненциальный (научный) формат: float x; x = 1./30000; cout x = 12345678.; cout 3.33333e-005
- 38. Стандартные функции abs(x) — модуль целого числа fabs(x) — модуль вещественного числа sqrt(x) — квадратный корень
- 39. Случайные числа Случайно… встретить друга на улице разбить тарелку найти 10 рублей выиграть в лотерею Случайный
- 40. Случайные числа на компьютере Электронный генератор нужно специальное устройство нельзя воспроизвести результаты 318458191041 564321 209938992481 458191
- 41. Линейный конгруэнтный генератор X = (a*X+b) % c | интервал от 0 до c-1 X =
- 42. Генератор случайных чисел Генератор на отрезке [0,RAND_MAX]: int X, Y; X = rand(); // псевдослучайное число
- 43. Задачи «A»: Ввести с клавиатуры три целых числа, найти их сумму, произведение и среднее арифметическое. Пример:
- 44. Задачи «C»: Получить случайное трехзначное число и вывести через запятую его отдельные цифры. Пример: Получено число
- 45. Программирование на языке C++ § 57. Ветвления
- 46. Условный оператор Задача: изменить порядок действий в зависимости от выполнения некоторого условия. полная форма ветвления if
- 47. Условный оператор: неполная форма неполная форма ветвления M = a; if ( b > a )
- 48. Условный оператор if ( a { с = a; a = b; b = c; }
- 49. Знаки отношений > >= == != больше, меньше больше или равно меньше или равно равно не
- 50. Вложенные условные операторы if ( a == b ) cout else if ( a > b
- 51. Задачи «A»: Ввести три целых числа, найти максимальное из них. Пример: Введите три целых числа: 1
- 52. Задачи «C»: Ввести последовательно возраст Антона, Бориса и Виктора. Определить, кто из них старше. Пример: Возраст
- 53. Сложные условия Задача: набор сотрудников в возрасте 25-40 лет (включительно). if ( ) cout else cout
- 54. Задачи «A»: Напишите программу, которая получает три числа и выводит количество одинаковых чисел в этой цепочке.
- 55. Задачи «B»: Напишите программу, которая получает номер месяца и выводит соответствующее ему время года или сообщение
- 56. Задачи «C»: Напишите программу, которая получает возраст человека (целое число, не превышающее 120) и выводит этот
- 57. Задачи «A»: Напишите условие, которое определяет заштрихованную область. «B»: Напишите условие, которое определяет заштрихованную область.
- 58. Задачи «C»: Напишите условие, которое определяет заштрихованную область.
- 59. Множественный выбор if (m == 1) cout if (m == 2) cout ... if (m ==
- 60. Множественный выбор switch ( m ) { case 1: cout case 2: cout case 3: cout
- 61. Множественный выбор char c; c = getch(); switch(c) { case 'а': cout cout break; ... case
- 62. Программирование на языке C++ § 58. Циклические алгоритмы
- 63. Что такое цикл? Цикл – это многократное выполнение одинаковых действий. Два вида циклов: цикл с известным
- 64. Повторения в программе cout cout ... cout
- 65. Блок-схема цикла начало конец да нет тело цикла
- 66. Как организовать цикл? счётчик = 0 пока счётчик cout увеличить счётчик на 1 счётчик = 10
- 67. Цикл с условием Задача. Определить количество цифр в десятичной записи целого положительного числа, записанного в переменную
- 68. Цикл с условием count = 0; while ( ) { } n = n / 10;
- 69. Цикл с условием k = 0; while ( k { cout k ++; } При известном
- 70. Сколько раз выполняется цикл? a = 4; b = 6; while ( a 2 раза a
- 71. Цикл с постусловием do { } while ( n условие продолжения заголовок цикла cout 0: ";
- 72. Задачи «A»: Напишите программу, которая получает два целых числа A и B (0 Пример: Введите два
- 73. Задачи «C»: Ввести натуральное число N и вычислить сумму всех чисел Фибоначчи, меньших N. Предусмотрите защиту
- 74. Задачи-2 «A»: Ввести натуральное число и найти сумму его цифр. Пример: Введите натуральное число: 12345 Сумма
- 75. Задачи-2 «C»: Ввести натуральное число и определить, верно ли, что в его записи есть две одинаковые
- 76. Цикл с переменной Задача. Вывести все степени двойки от 21 до 210. n = 2; while
- 77. Цикл с переменной: другой шаг for ( k = 10; k >= 1; k-- ) cout
- 78. Сколько раз выполняется цикл? a = 1; for( i = 1; i a = 4 a
- 79. Задачи «A»: Найдите все пятизначные числа, которые при делении на 133 дают в остатке 125, а
- 80. Задачи «С»: Натуральное число называется автоморфным, если оно равно последним цифрам своего квадрата. Например, 252 =
- 81. Вложенные циклы Задача. Вывести все простые числа в диапазоне от 2 до 1000. сделать для n
- 82. Вложенные циклы for ( n = 2; n { count = 0; if ( count ==
- 83. Вложенные циклы for ( i = 1; i { for ( k = 1; k {
- 84. Поиск простых чисел – как улучшить? count = 0; k = 2; while ( ) {
- 85. Задачи «A»: Напишите программу, которая получает натуральные числа A и B (A Пример: Введите границы диапазона:
- 86. Задачи «C»: Ввести натуральное число N и вывести все натуральные числа, не превосходящие N и делящиеся
- 87. Программирование на языке C++ § 59. Процедуры
- 88. Зачем нужны процедуры? cout много раз! main() { int n; cin >> n; if ( n
- 89. Что такое процедура? Процедура – вспомогательный алгоритм, который выполняет некоторые действия. в момент вызова процедура должна
- 90. Процедура с параметрами Задача. Вывести на экран запись целого числа (0..255) в 8-битном двоичном коде. много
- 91. Процедура с параметрами Задача. Вывести на экран запись целого числа (0..255) в 8-битном двоичном коде. Решение:
- 92. Процедура с параметрами main() { printBin ( 99 ); } значение параметра (аргумент) void printBin (
- 93. Несколько параметров void printSred ( int a, int b ) { cout }
- 94. Задачи «A»: Напишите процедуру, которая принимает параметр – натуральное число N – и выводит на экран
- 95. Задачи «C»: Напишите процедуру, которая выводит на экран запись переданного ей числа в римской системе счисления.
- 96. Изменяемые параметры Задача. Написать процедуру, которая меняет местами значения двух переменных. main() { int x =
- 97. Изменяемые параметры void Swap ( int a, int b ) { int c; c = a;
- 98. Задачи «A»: Напишите процедуру, которая переставляет три переданные ей числа в порядке возрастания. Пример: Введите три
- 99. Задачи «C»: Напишите процедуру, которая вычисляет наибольший общий делитель и наименьшее общее кратное двух натуральных чисел
- 100. Программирование на языке C++ § 60. Функции
- 101. Что такое функция? Функция – это вспомогательный алгоритм, который возвращает значение-результат (число, символ или объект другого
- 102. Сумма цифр числа main() { cout } int sumDigits ( int n ) { int sum
- 103. Использование функций x = 2*sumDigits(n+5); z = sumDigits(k) + sumDigits(m); if ( sumDigits(n) % 2 ==
- 104. Задачи «A»: Напишите функцию, которая находит наибольший общий делитель двух натуральных чисел. Пример: Введите два натуральных
- 105. Задачи «C»: Напишите функцию, которая «переворачивает» число, то есть возвращает число, в котором цифры стоят в
- 106. Логические функции Задача. Найти все простые числа в диапазоне от 2 до 100. main() { int
- 107. Функция: простое число или нет? bool isPrime ( int n ) { int count = 0,
- 108. Логические функции: использование cin >> n; while ( isPrime(n) ) { cout cin >> n; }
- 109. Задачи «A»: Напишите логическую функцию, которая определяет, является ли переданное ей число совершенным, то есть, равно
- 110. Задачи «B»: Напишите логическую функцию, которая определяет, являются ли два переданные ей числа взаимно простыми, то
- 111. Задачи «С»: Простое число называется гиперпростым, если любое число, получающееся из него откидыванием нескольких цифр, тоже
- 112. Программирование на языке C++ § 61. Рекурсия
- 113. Что такое рекурсия? У попа была собака, он её любил, Она съела кусок мяса, он её
- 114. Что такое рекурсия? Натуральные числа: индуктивное определение Рекурсия — это способ определения множества объектов через само
- 115. Фракталы Фракталы – геометрические фигуры, обладающие самоподобием. Треугольник Серпинского:
- 116. Ханойские башни за один раз переносится один диск класть только меньший диск на больший третий стержень
- 117. Ханойские башни – процедура void Hanoi ( int n, int k, int m ) { int
- 118. Ханойские башни – процедура Рекурсивная процедура (функция) — это процедура (функция), которая вызывает сама себя напрямую
- 119. Вывод двоичного кода числа void printBin( int n ) { if ( n == 0 )
- 120. Вычисление суммы цифр числа int sumDig ( int n ) { int sum; sum = n
- 121. Алгоритм Евклида Алгоритм Евклида. Чтобы найти НОД двух натуральных чисел, нужно вычитать из большего числа меньшее
- 122. Задачи «A»: Напишите рекурсивную функцию, которая вычисляет НОД двух натуральных чисел, используя модифицированный алгоритм Евклида. Пример:
- 123. Задачи «C»: Дано натуральное число N. Требуется получить и вывести на экран количество всех возможных различных
- 124. Как работает рекурсия? int Fact ( int N ) { int F; cout N=" if (
- 125. Стек Стек – область памяти, в которой хранятся локальные переменные и адреса возврата. Fact(3) Fact(2) Fact(1)
- 126. Рекурсия – «за» и «против» с каждым новым вызовом расходуется память в стеке (возможно переполнение стека)
- 127. Конец фильма ПОЛЯКОВ Константин Юрьевич д.т.н., учитель информатики ГБОУ СОШ № 163, г. Санкт-Петербург [email protected] ЕРЕМИН
- 129. Скачать презентацию