Содержание
- 2. Программирование на языке Паскаль § 54. Введение в язык Паскаль
- 3. Простейшая программа program qq; begin { начало программы } { тело программы } end. { конец
- 4. Вывод на экран program qq; begin write('2+'); { без перехода } writeln('2=?'); { на новую строку}
- 5. Задания «B»: Вывести на экран текст «лесенкой» Вася пошел гулять «C»: Вывести на экран рисунок из
- 6. Сложение чисел Задача. Ввести с клавиатуры два числа и найти их сумму. Протокол: Введите два целых
- 7. Сумма: псевдокод program qq; begin { ввести два числа } { вычислить их сумму } {
- 8. Переменные Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во время
- 9. Имена переменных МОЖНО использовать латинские буквы (A-Z) цифры знак подчеркивания _ заглавные и строчные буквы НЕ
- 10. Объявление переменных var a, b, c: integer; тип – целые список имён переменных variable
- 11. Типы данных byte { целые 0..255 } shortint { целые -128..128 } word { целые 0..65535
- 12. Тип переменной область допустимых значений допустимые операции объём памяти формат хранения данных для предотвращения случайных ошибок
- 13. Ввод значения в переменную read ( a ); оператор ввода 5 a
- 14. Ввод значений переменной через пробел: 25 30 через Enter: 25 30 read ( a, b );
- 15. Изменение значений переменной var a, b: integer; ... a := 5; b := a + 2;
- 16. Арифметические выражения a:= (c + b*5*3 - 1) / 2 * d; Приоритет (старшинство): скобки умножение
- 17. Вывод данных { вывод значения переменной a} { вывод значения переменной a и переход на новую
- 18. Сложение чисел: простое решение program Sum; var a, b, c: integer; begin read ( a, b
- 19. Сложение чисел: полное решение program Sum; var a, b, c: integer; begin writeln('Введите два целых числа');
- 20. Снова про оператор вывода a:= 123; write( a:5 ); Форматный вывод: Вычисление выражений: writeln ( a,
- 21. Программирование на языке Паскаль § 55. Вычисления
- 22. Деление, div, mod Результат деления «/» – вещественное число: a:= 2 / 3; var a: real;
- 23. div и mod для отрицательных чисел write(-7 div 2, ','); write(-7 mod 2); -3 -1 -7
- 24. Вещественные числа var x: double; ... x:= 123.456; Форматный вывод: a:= 1; write( a/3 ); write(
- 25. Стандартные функции abs(x) — модуль sqrt(x) — квадратный корень sin(x) — синус угла, заданного в радианах
- 26. Документирование программы var a, b, c, D, x1, x2: real; begin writeln('Введите a, b, c:'); read(a,
- 27. Документирование программы Руководство пользователя: назначение программы формат входных данных формат выходных данных примеры использования программы Назначение:
- 28. Документирование программы Формат выходных данных: значения вещественных корней уравнения; если вещественных корней нет, выводится слово «нет»
- 29. Случайные числа Случайно… встретить друга на улице разбить тарелку найти 10 рублей выиграть в лотерею Случайный
- 30. Случайные числа на компьютере Электронный генератор нужно специальное устройство нельзя воспроизвести результаты 318458191041 564321 209938992481 458191
- 31. Линейный конгруэнтный генератор X := (a*X+b) mod c | интервал от 0 до c-1 X :=
- 32. Генератор случайных чисел Вещественные числа в интервале [0,1): var X, Y: double; ... X:= random; {
- 33. Другой отрезок Вещественные числа [a, b): var X, a, b: double; ... X:= random*10; { расширение:
- 34. Задачи «A»: Ввести с клавиатуры три целых числа, найти их сумму, произведение и среднее арифметическое. Пример:
- 35. Задачи «C»: Получить случайное трехзначное число и вывести через запятую его отдельные цифры. Пример: Получено число
- 36. Программирование на языке Паскаль § 56. Ветвления
- 37. Условный оператор Задача: изменить порядок действий в зависимости от выполнения некоторого условия. полная форма ветвления
- 38. Условный оператор: полная форма if a > b then M:= a else M:= b; if a
- 39. Условный оператор: неполная форма неполная форма ветвления M:= a; if b > M then M:= b;
- 40. Условный оператор if a с:= a; a:= b; b:= c end; 4 6 ? 4 6
- 41. Знаки отношений > >= = больше, меньше больше или равно меньше или равно равно не равно
- 42. Вложенный условный оператор if a = b then writeln(' Одного возраста ') else if a >
- 43. Вложенный условный оператор cost := 1500; if cost writeln('Скидок нет.') else if cost writeln('Скидка 2%.') else
- 44. Выделение структуры отступами if a > b then write('А') else if a = b then write('=')
- 45. Задачи «A»: Ввести три целых числа, найти максимальное из них. Пример: Введите три целых числа: 1
- 46. Задачи «C»: Ввести последовательно возраст Антона, Бориса и Виктора. Определить, кто из них старше. Пример: Возраст
- 47. Сложные условия Задача: набор сотрудников в возрасте 25-40 лет (включительно). if then writeln('подходит') else writeln('не подходит');
- 48. Задачи «A»: Напишите программу, которая получает три числа и выводит количество одинаковых чисел в этой цепочке.
- 49. Задачи «B»: Напишите программу, которая получает номер месяца и выводит соответствующее ему время года или сообщение
- 50. Задачи «C»: Напишите программу, которая получает возраст человека (целое число, не превышающее 120) и выводит этот
- 51. Задачи «A»: Напишите условие, которое определяет заштрихованную область. «B»: Напишите условие, которое определяет заштрихованную область.
- 52. Задачи «C»: Напишите условие, которое определяет заштрихованную область.
- 53. Множественный выбор if m = 1 then write('январь'); if m = 2 then write('февраль'); ... if
- 54. Использование списков и диапазонов case m of 2: d:= 28; { невисокосный год } 1,3,5,7,8,10,12: d:=
- 55. Множественный выбор var c: char; ... case c of 'а': begin writeln('антилопа'); writeln('Анапа'); end; ... 'я':
- 56. Программирование на языке Паскаль § 57. Циклические алгоритмы
- 57. Что такое цикл? Цикл – это многократное выполнение одинаковых действий. Два вида циклов: цикл с известным
- 58. Повторения в программе writeln ('Привет'); writeln ('Привет'); writeln ('Привет'); ... writeln ('Привет');
- 59. Блок-схема цикла начало конец да нет тело цикла
- 60. Как организовать цикл? счётчик:= 0 пока счётчик writeln('привет'); увеличить счётчик на 1 счётчик:= 10 пока счётчик
- 61. Цикл с условием Задача. Определить количество цифр в десятичной записи целого положительного числа, записанного в переменную
- 62. Цикл с условием count:= 0; while do begin end; n:= n div 10; count:= count +
- 63. Максимальная цифра числа read(n); M := -1; while n > 0 do begin d := n
- 64. Цикл с условием k:= 0; while k writeln('привет'); k:= k + 1 end; При известном количестве
- 65. Сколько раз выполняется цикл? a:= 4; b:= 6; while a 2 раза a = 6 a:=
- 66. Алгоритм Евклида Алгоритм Евклида. Чтобы найти НОД двух натуральных чисел, нужно вычитать из большего числа меньшее
- 67. Алгоритм Евклида Модифицированный алгоритм Евклида. Заменять большее число на остаток от деления большего на меньшее до
- 68. Задачи «3»: Ввести с клавиатуры два натуральных числа и найти их НОД с помощью алгоритма Евклида.
- 69. Задачи «5»: Ввести с клавиатуры два натуральных числа и сравнить количество шагов цикла для вычисления их
- 70. Цикл с постусловием repeat until ; условие окончания заголовок цикла write('Введите n > 0: '); read(n)
- 71. Задачи «A»: Напишите программу, которая получает два целых числа A и B (0 Пример: Введите два
- 72. Задачи «C»: Ввести натуральное число N и вычислить сумму всех чисел Фибоначчи, меньших N. Предусмотрите защиту
- 73. Задачи-2 «A»: Ввести натуральное число и найти сумму его цифр. Пример: Введите натуральное число: 12345 Сумма
- 74. Задачи-2 «C»: Ввести натуральное число и определить, верно ли, что в его записи есть две одинаковые
- 75. Программирование на языке Паскаль § 58. Циклы по переменной
- 76. Цикл с переменной Задача. Вывести все степени двойки от 21 до 210. n:= 2; while do
- 77. Цикл с переменной: другой шаг for k:= 10 1 do writeln(k*k); downto var k: integer; целое
- 78. Сколько раз выполняется цикл? a := 1; for i:=1 to 3 do a := a+1; a
- 79. Задачи «A»: Найдите все пятизначные числа, которые при делении на 133 дают в остатке 125, а
- 80. Задачи «С»: Натуральное число называется автоморфным, если оно равно последним цифрам своего квадрата. Например, 252 =
- 81. Вложенные циклы Задача. Вывести все простые числа в диапазоне от 2 до 1000. для n от
- 82. Вложенные циклы for n:= 2 to 1000 do begin count:= 0; if count = 0 then
- 83. Вложенные циклы for i:=1 to 4 do for k:=1 to i do writeln(i, ' ', k);
- 84. Поиск простых чисел: как улучшить? count:= 0; k:= 2; while do begin if n mod k
- 85. Задачи «A»: Напишите программу, которая получает натуральные числа A и B (A Пример: Введите границы диапазона:
- 86. Задачи «C»: Ввести натуральное число N и вывести все натуральные числа, не превосходящие N и делящиеся
- 87. Программирование на языке Паскаль § 59. Процедуры
- 88. Зачем нужны процедуры? writeln('Ошибка программы'); много раз! program withProc; var n: integer; begin read(n); if n
- 89. Что такое процедура? Процедура – вспомогательный алгоритм, который выполняет некоторые действия. текст (расшифровка) процедуры записывается до
- 90. Процедура с параметрами Задача. Вывести на экран запись целого числа (0..255) в 8-битном двоичном коде. много
- 91. Процедура с параметрами Задача. Вывести на экран запись целого числа (0..255) в 8-битном двоичном коде. Алгоритм:
- 92. Процедура с параметрами program binCode; begin printBin(99) end. procedure printBin(n: integer); var k: integer; begin k:=
- 93. Несколько параметров procedure printSred(a: integer; b: integer); begin write((a+b)/2); end. procedure printSred(a, b: integer); begin write((a+b)/2);
- 94. Локальные и глобальные переменные var a: integer; procedure qq; var a: integer; begin a := 1;
- 95. Неправильная процедура var x, y: integer; procedure xSum; begin writeln( x+y ) end; begin xSum() end.
- 96. Правильная процедура x = 5; y = 10; Sum2( x, y ); z=17; w=3; Sum2( z,
- 97. Задачи «A»: Напишите процедуру, которая принимает параметр – натуральное число N – и выводит на экран
- 98. Задачи «C»: Напишите процедуру, которая выводит на экран запись переданного ей числа в римской системе счисления.
- 99. Изменяемые параметры Задача. Написать процедуру, которая меняет местами значения двух переменных. program Exchange; var x, y:
- 100. Изменяемые параметры procedure Swap( a, b: integer); var c: integer; begin c:= a; a:= b; b:=
- 101. Задачи «A»: Напишите процедуру, которая переставляет три переданные ей числа в порядке возрастания. Пример: Введите три
- 102. Задачи «C»: Напишите процедуру, которая вычисляет наибольший общий делитель и наименьшее общее кратное двух натуральных чисел
- 103. Программирование на языке Паскаль § 60. Функции
- 104. Что такое функция? Функция – это вспомогательный алгоритм, который возвращает значение-результат (число, символ или объект другого
- 105. Что такое функция? function lastDigit(n: integer): integer; var d: integer; begin d := n mod 10;
- 106. Что такое функция? Задача. Написать функцию, которая вычисляет сумму цифр числа. Алгоритм: сумма:= 0; while n
- 107. Сумма цифр числа program Sum; begin writeln(sumDigits(12345)) end. function sumDigits(n: integer): ; var sum: integer; begin
- 108. Использование функций x:= 2*sumDigits(n+5); z:= sumDigits(k) + sumDigits(m); if sumDigits(n) mod 2 = 0 then begin
- 109. Задачи «A»: Напишите функцию, которая находит наибольший общий делитель двух натуральных чисел. Пример: Введите два натуральных
- 110. Задачи «C»: Напишите функцию, которая «переворачивает» число, то есть возвращает число, в котором цифры стоят в
- 111. Логические функции function even(n: integer): boolean; begin if n mod 2 = 0 then even :=
- 112. Логические функции Задача. Найти все простые числа в диапазоне от 2 до 100. program PrimeNum; var
- 113. Функция: простое число или нет? function isPrime(n: integer): ; var count, k: integer; begin count:= 0;
- 114. Логические функции: использование read(n); while isPrime(n) do begin writeln('простое число'); read(n) end;
- 115. Задачи «A»: Напишите логическую функцию, которая определяет, является ли переданное ей число совершенным, то есть, равно
- 116. Задачи «B»: Напишите логическую функцию, которая определяет, являются ли два переданные ей числа взаимно простыми, то
- 117. Задачи «С»: Простое число называется гиперпростым, если любое число, получающееся из него откидыванием нескольких цифр, тоже
- 118. Программирование на языке Паскаль § 61. Рекурсия
- 119. Что такое рекурсия? У попа была собака, он её любил, Она съела кусок мяса, он её
- 120. Что такое рекурсия? Натуральные числа: индуктивное определение Рекурсия — это способ определения множества объектов через само
- 121. Фракталы Фракталы – геометрические фигуры, обладающие самоподобием. Треугольник Серпинского:
- 122. Ханойские башни за один раз переносится один диск класть только меньший диск на больший третий стержень
- 123. Ханойские башни – процедура procedure Hanoi(n, k, m: integer); var p: integer; begin p := 6
- 124. Ханойские башни – процедура Рекурсивная процедура (функция) — это процедура (функция), которая вызывает сама себя напрямую
- 125. Вычисление суммы цифр числа Задача. Написать рекурсивную функцию, которая вычисляет сумму цифр числа. s:= sumDigits( 1234
- 126. Вычисление суммы цифр числа function sumDigits(n: integer): integer; var sum: integer; begin sum:= n mod 10;
- 127. Вычисление суммы цифр числа sumDigits ( 123 ) sum:= 3 + sumDigits ( 12 ) sumDigits:=
- 128. Вывод двоичного кода числа procedure printBin(n: integer); begin if n = 0 then exit; printBin (
- 129. Алгоритм Евклида Алгоритм Евклида. Чтобы найти НОД двух натуральных чисел, нужно вычитать из большего числа меньшее
- 130. Задачи «A»: Напишите рекурсивную функцию, которая вычисляет НОД двух натуральных чисел, используя модифицированный алгоритм Евклида. Пример:
- 131. Задачи «C»: Дано натуральное число N. Требуется получить и вывести на экран количество всех возможных различных
- 132. Как работает рекурсия? function Fact(N: integer): integer; begin writeln('-> N = ', N); if N Fact:=
- 133. Стек Стек – область памяти, в которой хранятся локальные переменные и адреса возврата. Fact(3) Fact(2) Fact(1)
- 134. Рекурсия – «за» и «против» с каждым новым вызовом расходуется память в стеке (возможно переполнение стека)
- 135. Анализ рекурсивных функций Задача. Определите f(5). function f( x: integer ): integer; begin if x f
- 136. Анализ рекурсивных функций Задача. Определите f(5). function f( x: integer ): integer; begin if x f
- 137. Анализ рекурсивных функций Чему равно f (5)? Табличный метод : 11 f(3) = f(2) + 2*f(1)
- 138. Анализ рекурсивных функций Задача. Сколько звёздочек выводится при вызове f(11)? procedure g(x: integer); forward; procedure f(x:
- 139. Анализ рекурсивных функций Задача. Сколько звёздочек выводится при вызове f(9)? procedure g(x: integer); forward; procedure f(x:
- 140. Анализ рекурсивных функций f (1) = g(0) + f (–1) + 1 = 3 f (2)
- 141. Конец фильма ПОЛЯКОВ Константин Юрьевич д.т.н., учитель информатики ГБОУ СОШ № 163, г. Санкт-Петербург [email protected] ЕРЕМИН
- 143. Скачать презентацию