Содержание
- 2. Программирование (АлгЯзык) § 17. Введение
- 3. Что такое программирование? Программирование — это создание программ для компьютеров. Этим занимаются программисты. Чем занимаются программисты:
- 4. Направления в программировании
- 5. Простейшая программа алг Куку нач | начало программы | тело программы кон | конец программы комментарии
- 6. Вывод на экран алг Привет нач вывод 'Привет!' кон оператор вывода Оператор — это команда языка
- 7. Переход на новую строку вывод 'Привет, Вася!' вывод 'Привет, Петя!' ожидание: реальность: Привет, Вася! Привет, Петя!
- 8. Системы программирования Системы программирования — это средства для создания новых программ. Транслятор — это программа, которая
- 9. Системы программирования Отладчик — это программа для поиска ошибок в других программах. пошаговый режим — выполнение
- 10. Задачи «B»: Вывести на экран текст «лесенкой» Вася пошел гулять «C»: Вывести на экран рисунок из
- 11. Программирование (АлгЯзык) § 19. Линейные программы
- 12. Пример задачи Задача. Ввести два числа и вычислить их сумму. алг Сумма нач | ввести два
- 13. Зачем нужны переменные? алг Сумма нач | ввести два числа | вычислить их сумму | вывести
- 14. Имена переменных Идентификатор — это имя программы или переменной. цел a, b, c МОЖНО использовать латинские
- 15. Работа с переменными Присваивание (запись значения) a := 5 := оператор присваивания a := 5 a
- 16. Работа с переменными Изменение значения i:= i + 1 увеличить на 1 a:= 4 b:= 7
- 17. Ввод с клавиатуры Цель – изменить исходные данные, не меняя программу. ввод a 5 a
- 18. Ввод с клавиатуры через пробел: 25 30 через запятую: 25,30 ввод a, b
- 19. Программа сложения чисел алг Сумма нач цел a, b, c ввод a, b | ввести два
- 20. Вывод данных с текстом 5+7=12 значение a значение с значение b вывод a вывод '+' вывод
- 21. Программа сложения чисел алг Сумма нач цел a, b, c вывод 'Введите два числа: ' ввод
- 22. Задачи «A»: Ввести три числа, найти их сумму. Пример: Введите три числа: 4 5 7 4+5+7=16
- 23. Задачи «C»: Ввести три числа, найти их сумму, произведение и среднее арифметическое. Пример: Введите три числа:
- 24. Арифметические выражения Линейная запись (в одну строку): a:=(c+b-1)/2*d Операции: + – * – умножение / –
- 25. Порядок выполнения операций действия в скобках возведение в степень умножение и деление, слева направо сложение и
- 26. Частное и остаток div – деление нацело (остаток отбрасывается) mod – остаток от деления цел t,
- 27. Частное и остаток n := 123 d := div(n,10) | 12 k := mod(n,10) | 3
- 28. Форматный вывод цел a=1, b=2, c=3 вывод a, b, c 123 вывод a,' ',b,' ',c 1
- 29. Задачи «A»: Ввести число, обозначающее количество секунд. Вывести то же самое время в минутах и секундах.
- 30. Задачи «С»: Занятия в школе начинаются в 8-30. Урок длится 45 минут, перерывы между уроками –
- 31. Форматный вывод вещ x=12.34567891234 вывод x 12.345679 6 по умолчанию вывод x:10:3 12.346 3 10 всего
- 32. Научный формат чисел вещ x=123456789 вывод x 1.234568e+008 1,234568 ⋅108 вещ x=0.0000123456789 вывод x 1.234568e-005 1,234568
- 33. Операции с вещественными числами вещ x=1.5 вывод int(x) int – целая часть числа (ближайшее целое слева!)
- 34. Операции с вещественными числами 1/3 = 0,33333… бесконечно много знаков вещ x, y, z x:= 1/2
- 35. Задачи «A»: Ввести число, обозначающее размер одной фотографии в Мбайтах. Определить, сколько фотографий поместится на флэш-карту
- 36. Задачи «B»: Оцифровка звука выполняется в режиме стерео с частотой дискретизации 44,1 кГц и глубиной кодирования
- 37. Задачи «С»: Разведчики-математики для того, чтобы опознать своих, используют числовые пароли. Услышав число-пароль, разведчик должен возвести
- 38. Случайные и псевдослучайные числа Случайные явления встретил слона – не встретил слона жеребьёвка на соревнованиях лотерея
- 39. Случайные и псевдослучайные числа Псевдослучайные числа — похожи на случайные, но строятся по формуле. Xn+1:= mod(a*Xn+b,
- 40. Датчик случайных чисел Целые числа на отрезке: цел K, L K:= irand(1, 6) | отрезок [1,6]
- 41. Задачи «A»: В игре «Русское лото» из мешка случайным образом выбираются бочонки, на каждом из которых
- 42. Задачи «С»: + Игральный кубик бросается три раза (выпадает три случайных значения). Из этих чисел составляется
- 43. Задачи «D»: + Получить случайное трёхзначное число и вывести в столбик его отдельные цифры. Пример: Получено
- 44. Программирование (АлгЯзык) § 19. Ветвления
- 45. Выбор наибольшего из двух чисел полная форма ветвления если a > b то M:= a иначе
- 46. Вариант 1. Программа алг Максимум нач цел a, b, M вывод 'Введите два целых числа', нс
- 47. Выбор наибольшего из двух чисел-2 неполная форма ветвления
- 48. Вариант 2. Программа алг Максимум 2 нач цел a, b, M вывод 'Введите два целых числа',
- 49. Примеры если a M:= a все если b M:= b все если a c:= a a:=
- 50. В других языках программирования if a c:= a; a:= b; b:= c; end; Паскаль: С: if
- 51. Вложенные условные операторы Задача. В переменной a записан возраст Антона, а в переменной b – возраст
- 52. Задачи «A»: Ввести два целых числа, найти наибольшее и наименьшее из них. Пример: Введите два целых
- 53. Задачи «C»: Ввести последовательно возраст Антона, Бориса и Виктора. Определить, кто из них старше. Пример: Возраст
- 54. Сложные условия Задача. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести возраст человека и
- 55. Плохое решение алг Сотрудник нач цел x вывод 'Введите ваш возраст', нс ввод x если x
- 56. Хорошее решение (операция «И») сложное условие алг Сотрудник нач цел x вывод 'Введите ваш возраст', нс
- 57. Примеры Задача. Вывести 'Да', если число в переменной a – двузначное. если 10 вывод 'Да' все
- 58. Сложные условия Задача. Самолёт летает по понедельникам и четвергам. Ввести номер дня недели и определить, летает
- 59. Ещё пример Задача. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести возраст человека и
- 60. Простые и сложные условия Простые условия (отношения) >= = Сложное условие – это условие, состоящее из
- 61. Порядок выполнения операций выражения в скобках , >=, =, НЕ И ИЛИ 1 если не a
- 62. Сложные условия Истинно или ложно при a := 2; b := 3; c := 4; не
- 63. Задачи «A»: Напишите программу, которая получает три числа - рост трёх спортсменов, и выводит сообщение «По
- 64. Задачи «B»: Напишите программу, которая получает номер месяца и выводит соответствующее ему время года или сообщение
- 65. Задачи «C»: Напишите программу, которая получает возраст человека (целое число, не превышающее 120) и выводит этот
- 66. Логические переменные лог b ... b:= да b:= нет только два возможных значения Пример: лог выходной
- 67. Задачи «A»: Напишите программу, которая получает с клавиатуры целое число и записывает в логическую переменную значение
- 68. Задачи «B»: Напишите программу, которая получает с клавиатуры трёхзначное число и записывает в логическую переменную значение
- 69. Задачи «С»: Напишите программу, которая получает с клавиатуры трёхзначное число и записывает в логическую переменную значение
- 70. Экспертная система Экспертная система — это компьютерная программа, задача которой — заменить человека-эксперта при принятии решений
- 71. Дерево решений хищник ? птица да да нет нет млекопитающее Кормит детей молоком? Имеет перья? Ест
- 72. Программирование экспертной системы Ответы пользователя: да и нет – символьные строки. лит ответ вывод 'Кормит детей
- 73. Заглавные и строчные буквы лит ответ ... если ответ = 'да' то ... не сработает на
- 74. Программирование (АлгЯзык) § 20. Отладка программ
- 75. Виды ошибок Синтаксические ошибки – нарушение правил записи операторов языка программирования. Обнаруживаются транслятором. Логические ошибки –
- 76. Пример отладки программы алг КвУр нач вещ a, b, c, D, x1, x2 вывод 'Введите a,
- 77. Тестирование Тест 1. a = 1, b = 2, c = 1. x1=-1.0 x2=-1.0 x1=-1.0 x2=-1.0
- 78. Отладочная печать ввод a, b, c вывод a, ' ', b, ' ', c, нс D:=b*b-4*a*a
- 79. Отладка программы Тест 1. a = 1, b = 2, c = 1. x1=-1.0 x2=-1.0 x1=-1.0
- 80. Задачи «A»: Загрузите программу, которая должна вычислять сумму цифр трёхзначного числа: цел N, d1, d2, s
- 81. Задачи «B»: Доработайте программу из п. А так, чтобы она правильно работала с отрицательными трёхзначными числами:
- 82. Задачи «С»: Загрузите программу, которая должна вычислять наибольшее из трёх чисел: цел a, b, c, M
- 83. Программирование (АлгЯзык) § 20. Программирование циклических алгоритмов
- 84. Зачем нужен цикл? Задача. Вывести 5 раз «Привет!». вывод 'Привет', нс вывод 'Привет', нс вывод 'Привет',
- 85. Как работает цикл? переменная-счётчик счётчик:= 0 нц пока счётчик вывод 'Привет', нс счётчик:= счётчик + 1
- 86. Как работает цикл? счётчик:= 5 нц пока счётчик > ??? вывод 'Привет', нс счётчик:= счётчик ???
- 87. Цикл с предусловием условие проверяется при входе в цикл как только условие становится ложным, работа цикла
- 88. Сумма цифр числа Задача. Вычислить сумму цифр введённого числа. 123 → 1 + 2 + 3
- 89. Сумма цифр числа выделяем последнюю цифру числа (mod) увеличиваем сумму на значение цифры (sum:=sum+d) отсекаем последнюю
- 90. Сумма цифр числа начало конец нет да N 0? sum:= 0 d:= mod(N, 10) sum:= sum
- 91. Сумма цифр числа алг Сумма цифр нач цел N, d, sum вывод 'Введите целое число', нс
- 92. Задачи «A»: Напишите программу, которая получает с клавиатуры количество повторений и выводит столько же раз какое-нибудь
- 93. Задачи «C»: Напишите программу, которая получает с клавиатуры натуральное число и находит наибольшую цифру в его
- 94. Алгоритм Евклида Задача. Найти наибольший общий делитель (НОД) двух натуральных чисел. Евклид (365-300 до. н. э.)
- 95. Алгоритм Евклида a = b? да нет a > b? да a:=a-b нет b:=b-a начало конец
- 96. Алгоритм Евклида нц пока a b если a > b то a:= a - b иначе
- 97. Модифицированный алгоритм Евклида НОД(a,b)= НОД(mod(a,b), b) = НОД(a, mod(b,a)) Заменяем большее из двух чисел остатком от
- 98. Модифицированный алгоритм нц пока a 0 и b 0 если a > b то a:= mod(a,
- 99. В других языках программирования while a!=0 and b!=0: if a > b: a = a %
- 100. Задачи «A»: Ввести с клавиатуры два натуральных числа и найти их НОД с помощью алгоритма Евклида.
- 101. Задачи «C»: Ввести с клавиатуры два натуральных числа и сравнить количество шагов цикла для вычисления их
- 102. Обработка потока данных Задача. На вход программы поступает поток данных — последовательность целых чисел, которая заканчивается
- 103. Обработка потока данных цел x, sum sum:= 0 ввод x | ввести первое число нц пока
- 104. Задачи «A»: На вход программы поступает неизвестное количество чисел целых, ввод заканчивается нулём. Определить, сколько получено
- 105. Цикл с постусловием условие проверяется после завершения очередного шага цикла цикл всегда выполняется хотя бы один
- 106. Задачи «A»: Напишите программу, которая предлагает ввести пароль и не переходит к выполнению основной части, пока
- 107. Задачи «D»: Напишите программу, которая получает с клавиатуры натуральное число и вычисляет целый квадратный корень из
- 108. Цикл по переменной Задача. Вывести на экран степени числа 2 от 21 до 210. k:= 1
- 109. Цикл по переменной Задача. Найти сумму чисел от 1 до 1000. цел sum, i sum:= 0
- 110. Цикл по переменной Задача. Найти сумму чётных чисел от 2 до 1000. sum:= 0 нц для
- 111. В других языках программирования Sum = 0 for i in range(1, 1001): Sum += i Python:
- 112. Задачи «A»: Ипполит задумал трёхзначное число, которое при делении на 15 даёт в остатке 11, а
- 113. Программирование (АлгЯзык) § 21. Массивы
- 114. Что такое массив? Массив – это группа переменных одного типа, расположенных в памяти рядом (в соседних
- 115. Выделение памяти (объявление) целтаб A[1:5] вещтаб V[0:5] логтаб L[-5:5] симтаб S[65:90] минимальный индекс максимальный индекс цел
- 116. Что неправильно? целтаб A [10:1] ... A[5] := 4.5; [1:10] целтаб A[1:10] ... A[15] := 'a'
- 117. Обращение к элементу массива A массив 3 15 НОМЕР элемента массива (ИНДЕКС) A[1] A[2] A[3] A[4]
- 118. Обращение к элементу массива цел i i:= 2 A[3]:= A[i] + 2*A[i-1] + A[2*i] вывод A[3]+A[5]
- 119. Что неверно? целтаб A[1:5] цел x ... x:=2 вывод A[x-3] A[x+4]:=A[x-1]+A[2*x] вывод A[-1] A[6]:=A[1]+A[4] Выход за
- 120. Перебор элементов массива Перебор элементов: просматриваем все элементы массива и, если нужно, выполняем с каждым из
- 121. Заполнение массива нц для i от 1 до N A[i]:= i кц В развёрнутом виде A[1]:=
- 122. X:= N Заполнение массива в обратном порядке A[1]:= N A[2]:= N-1 A[3]:= N-2 ... A[N]:= 1
- 123. Заполнение массива в обратном порядке A[i]:= X –1 +1 i + X = N + 1
- 124. Вывод массива на экран нц для i от 1 до N вывод A[i] кц , '
- 125. Ввод с клавиатуры нц для i от 1 до N вывод 'A[',i,']=' ввод A[i] кц A[1]
- 126. Заполнение случайными числами нц для i от 1 до N A[i]:= irand(20,100) вывод A[i], ' '
- 127. В других языках программирования const N = 10; var i: integer; A: array[1..N] of integer; begin
- 128. В других языках программирования С++: int A[N], i; for (i = 0; i A[i] = i
- 129. Задачи «A»: а) Заполните все элементы массива значением X , введённым с клавиатуры. б) Заполните массив
- 130. Задачи «C»: а) Заполните массив степенями числа 2, начиная с конца, так чтобы последний элемент массива
- 131. Задачи-2 «A»: Напишите программу, которая заполняет массив из N = 8 элементов случайными числами в диапазоне
- 132. Задачи-2 «C»: Напишите программу, которая заполняет массив из N = 10 случайными числами в диапазоне [100,500]
- 133. Программирование (АлгЯзык) § 22. Алгоритмы обработки массивов
- 134. Сумма элементов массива sum:= 0 нц для i от 1 до N sum:= sum + A[i]
- 135. Сумма не всех элементов массива sum:= 0 нц для i от 1 до N sum:= sum
- 136. Задачи «A»: Напишите программу, которая заполняет массив из 10 элементов случайными числами на отрезке [–5; 5]
- 137. Подсчёт элементов по условию Задача. Найти количество чётных элементов массива. цел count count:= 0 нц для
- 138. Среднее арифметическое Задача. Найти среднее арифметическое элементов массива, которые больше 180 (рост в см). sum:= 0
- 139. Среднее арифметическое Задача. Найти среднее арифметическое элементов массива, которые больше 180 (рост в см). sum:= 0
- 140. Задачи «A»: Напишите программу, которая заполняет массив из 20 элементов случайными числами на отрезке [0; 200]
- 141. Обработка потока данных Задача. С клавиатуры вводятся числа, ввод завершается числом 0. Определить, сколько было введено
- 142. Обработка потока данных цел x, count count: = 0 ввод x нц пока x 0 если
- 143. Найди ошибку! цел x, count count: = 0 ввод x нц пока x 0 если x
- 144. Найди ошибку! цел x, count count: = 0 ввод x нц пока x = 0 если
- 145. Обработка потока данных Задача. С клавиатуры вводятся числа, ввод завершается числом 0. Найти сумму введённых чисел,
- 146. Обработка потока данных Задача. С клавиатуры вводятся числа, ввод завершается числом 0. Найти сумму введённых чисел,
- 147. Найди ошибку! цел x, sum sum: = 0 ввод x нц пока x 0 если mod(x,10)
- 148. Задачи «A»: На вход программы поступает неизвестное количество целых чисел, ввод заканчивается нулём. Определить, сколько получено
- 149. Задачи «C»: На вход программы поступает неизвестное количество целых чисел, ввод заканчивается нулём. Найти среднее арифметическое
- 150. Перестановка элементов массива с:= a a:= b b:= c элементы массива: с:= A[i] A[i]:= A[k] A[k]:=
- 151. Перестановка пар соседних элементов Задача. Массив A содержит чётное количество элементов N. Нужно поменять местами пары
- 152. Перестановка пар соседних элементов нц для i от 1 до N поменять местами A[i] и A[i+1]
- 153. Перестановка пар соседних элементов нц для i от 1 до N-1 шаг 2 | переставляем A[i]
- 154. Реверс массива Задача. Переставить элементы массива в обратном порядке (выполнить реверс). A[1]↔A[N] A[2]↔A[N-1] A[i]↔A[N+1-i] A[N]↔A[1] 1+N
- 155. Реверс массива нц для i от 1 до N поменять местами A[i] и A[N+1-i] кц i=1
- 156. Конец фильма ПОЛЯКОВ Константин Юрьевич д.т.н., учитель информатики ГБОУ СОШ № 163, г. Санкт-Петербург kpolyakov@mail.ru ЕРЕМИН
- 158. Скачать презентацию