Similar presentations:
Лекция 5
1.
Основные элементы языкапрограммирования
(лекция 5)
Кутыш Александр Збысловавич,
старший преподаватель кафедры информатики и
методики преподавания информатики
2. План
1. Исправление неточностей и примеры2. Алгоритмическая конструкция
«Повторение». Виды циклов
3. Подробнее об операторах в Python
4. Примеры ключевых алгоритмов: поиск
максимального и минимального
значений, алгоритм нахождения НОД,
алгоритм выделения цифр в числе.
3. Исправление неточностей и примеры
ИСПРАВЛЕНИЕНЕТОЧНОСТЕЙ
И ПРИМЕРЫ
4. Реализация оператора «Выбор» на языке программирования Python
match переменная :case значение_1_переменной :
набор_действий_1
case значение_2_переменной :
набор_действий_2
case значение_3_переменной :
набор_действий_3
Примечание:
Последний оператор case сработает в случае,
если ни одно из предыдущих условий не сработало.
5. Пример выполнения программы
6. Реализация оператора «Выбор» на языке программирования Python
match переменная :case значение_1_переменной :
набор_действий_1
case значение_2_переменной :
набор_действий_2
case значение_3_переменной :
набор_действий_3
case _:
набор_действий
Примечание:
Последний оператор case сработает в случае,
если ни одно из предыдущих условий не сработало.
7. Пример выполнения программы
8. Алгоритмическая конструкция «Повторение»
АЛГОРИТМИЧЕСКАЯКОНСТРУКЦИЯ
«ПОВТОРЕНИЕ»
9. Базовые алгоритмические конструкции
СледованиеВетвление
Повторение
10. Алгоритмическая конструкция «Повторение»
Повторение – алгоритмическая конструкция,представляющая собой последовательность
действий (команд), выполняемых некоторое
количество раз.
Алгоритмы, содержащие конструкцию
«повторение», называют циклическими
алгоритмами.
Часть алгоритма, непосредственно
реализующая конструкцию «повторение»,
называется циклом.
Последовательность действий, многократно
повторяющаяся в процессе выполнения цикла,
называется телом цикла.
11. Алгоритмическая конструкция «Повторение»
На языке программированияреализуется с помощью операторов
цикла:
с предусловием
с известным числом повторений
с постусловием
12. Основные понятия
Циклом называется многократно выполняемаяпоследовательность операторов, организованная
с учетом определенного условия.
Тело цикла — последовательность операторов,
выполняемых в цикле.
Условие цикла — логическое выражение, определяющее
продолжение или окончание цикла в зависимости от того,
как интерпретируется
его истинность.
Параметр цикла — переменная, которая используется при
проверке условия цикла и изменяется при каждом
выполнении цикла.
Если параметр цикла целочисленный,
то он называется счетчиком цикла.
Каждый повтор, или шаг, цикла называется итерацией.
13. Конструкция повторения с предусловием
КОНСТРУКЦИЯПОВТОРЕНИЯ
С ПРЕДУСЛОВИЕМ
14. Конструкция повторения с предусловием: оператор цикла while
Принцип работы оператора цикла while:Сначала вычисляется значение условия цикла,
которое может принимать значение true
(истина, да) или false (ложь, нет).
Если оно принимает значение true,
то выполняется тело цикла.
Выход из цикла происходит, когда условие
примет значение false.
Таким образом, пока условие принимает
значение истина, выполняется тело цикла.
!
В конструкции повторения с предусловием
операторы (определенный набор действий) могут
не выполниться ни разу.
15. Конструкция повторения с предусловием: оператор цикла while
Псевдокод:Цикл ПОКА условие_цикла
тело_цикла
Конец цикла ПОКА
16. Конструкция повторения с предусловием: оператор цикла while
Блок-схема:17. Конструкция повторения с предусловием: оператор цикла while
Реализация на PascalABC.NET:while условие_цикла do
begin
тело_цикла;
end;
Реализация на Python:
while условие_цикла :
тело цикла
18. Конструкция повторения с постусловием
КОНСТРУКЦИЯПОВТОРЕНИЯ
С ПОСТУСЛОВИЕМ
19. Конструкция повторения с постусловием
Реализуется на языке программированияPascalABC.NET с помощью оператора
repeat-until
На языке программирования Python не
реализована, но можно построить
имитацию работы с помощью цикла while
и условного оператора if
20. Конструкция повторения с постусловием
Принцип работы оператора цикла repeat-until:!
Сначала выполняется тело цикла, а потом
вычисляется значение условия, которое может
принимать значение true или false.
Если оно принимает значение false,
то выполняется тело цикла.
Выход из цикла происходит, когда условие
примет значение true.
Таким образом, тело цикла выполняется
до истинности условия.
В конструкции повторения с постусловием
операторы обязательно выполнятся хотя бы
один раз.
21. Конструкция повторения с постусловием
Псевдокод:Цикл ДО
тело_цикла
условие цикла условие_цикла
Конец цикла ДО
22. Конструкция повторения с постусловием
Блок-схема (общий вид):23. Конструкция повторения с постусловием
Блок-схема:24. Конструкция повторения с постусловием
Реализация на PascalABC.NET:repeat
тело_ цикла;
until условие_цикла;
Имитация реализации на Python:
while True :
тело цикла
if условие цикла :
break
25. конструкция с известным числом повторений
КОНСТРУКЦИЯС ИЗВЕСТНЫМ ЧИСЛОМ
ПОВТОРЕНИЙ
26. Конструкция с известным числом повторений: оператор цикла for
Принцип работы оператора цикла for на языкепрограммирования Pascal:
Сначала счетчику присваивается начальное
значение и выполняется проверка счётчика, в
зависимости от которой выполняется или не
выполняется тело цикла.
Потом значение счетчика изменяется
(увеличивается или уменьшается) на шаг:
в PascalABC.NET
увеличивается на единицу для вида for … to … do;
уменьшается на единицу для вида for … downto … do;
Опять выполняется тело цикла.
Последний раз тело цикла выполнится при конечном
значении счетчика.
27. Конструкция с известным числом повторений: оператор цикла for
Псевдокод:Цикл ДЛЯ имя_переменной-счётчика
от начальное_значение_счётчика
до конечное_значение_счётчика
c шагом величина_шага
тело_цикла
Конец цикла ДЛЯ
28. Конструкция с известным числом повторений: оператор цикла for
Блок-схема:29. Конструкция с известным числом повторений: оператор цикла for
Реализация на PascalABC.NET:for счетчик := начальное_значение to конечное_значение do
В операторе цикла for
begin
значение параметра
Тело цикла;
увеличивается на 1:
end;
for счетчик:= начальное_значение downto конечное_значение do
begin
В операторе цикла for
Тело цикла;
значение параметра
уменьшается на 1:
end;
30. ОБРАТИТЕ ВНИМАНИЕ!
Если в тело цикла входит больше одногодействия, то они должны быть заключены
в операторные скобки.
Операторные скобки для языка
программирования PascalABC.NET:
begin
end;
31. Подробнее об операторах в Python
ПОДРОБНЕЕ ОБОПЕРАТОРАХ В PYTHON
32. Подробнее об операторах в Python
https://pythonchik.ru/osnovy/operatory-i-vyrazheniya-v-python
33. Цикл for на Python
for переменная in диапазон:инструкции
Если количество итераций заранее известно,
то предпочтительнее использовать цикл for.
Он применяется совместно с итерируемой
переменной. Очень часто ей дают имя i и
используют в теле цикла, а её значение
изменяется на каждой итерации в
соответствии с диапазоном, заданным
функцией range().
34. Функция range()
Функция range()range(n) — возвращает последовательность
целых чисел от 0 до n - 1.
Например, range(4) вернёт последовательность
целых чисел: 0, 1, 2, 3;
range(k, n) — возвращает последовательность
целых чисел от k до n - 1. Например, range(1, 5)
вернёт последовательность целых чисел: 1, 2, 3, 4;
range(k, n, s) — возвращает последовательность
целых чисел от k до n - 1 с шагом s.
Например, range(1, 10, 2) вернёт
последовательность целых чисел: 1, 3, 5, 7, 9.
35. Подробнее про циклы в Python
https://education.yandex.ru/handbook/python/article/cikly
36. Примеры ключевых алгоритмов: поиск максимального и минимального значений, алгоритм нахождения НОД, алгоритм выделения цифр в
ПРИМЕРЫ КЛЮЧЕВЫХАЛГОРИТМОВ: ПОИСК
МАКСИМАЛЬНОГО И
МИНИМАЛЬНОГО
ЗНАЧЕНИЙ, АЛГОРИТМ
НАХОЖДЕНИЯ НОД,
АЛГОРИТМ ВЫДЕЛЕНИЯ
ЦИФР В ЧИСЛЕ
37. Поиск максимального значения
46
2
8
7
9
5
38. Поиск максимального значения
Объявить переменную длямаксимального значения (max).
2. Присвоить переменной max значение
первого элемента из набора значений.
3. Перебирать остальные элементы и
сравнивать с переменной max:
если очередное значение окажется
больше значения переменной max, то
присвоить переменной max это
значение из набора.
1.
39. Алгоритм нахождения НОД (алгоритм Евклида)
Алгоритм Евклида – это алгоритм нахождениянаибольшего общего делителя (НОД) пары
целых чисел.
Наибольший общий делитель (НОД) – это
число, которое делит без остатка два числа и
делится само без остатка на любой другой
делитель данных двух чисел. Проще говоря,
это самое большое число, на которое можно
без остатка разделить два числа.
Подробнее:
https://younglinux.info/algorithm/euclidean
40. Алгоритм выделения цифр в числе
https://pas1.ru/digits-of-number41. Полезные ссылки
https://education.yandex.ru/handbook/python/article/cikly
https://metanit.com/python/tutorial/2.7.php
https://pythonchik.ru/osnovy/operatory-ivyrazheniya-v-python
42.
Основные элементы языкапрограммирования
(лекция 5)
Кутыш Александр Збысловавич,
старший преподаватель кафедры информатики и
методики преподавания информатики
programming