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