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