ГПОУ «Ленинск-Кузнецкий политехнический техникум»
Основы алгоритмизации и
программирования
Способы представления алгоритмов
Преподаватель Щеглова Алена Александровна
Теоретическое занятие
для студентов II курса
Ленинск-Кузнецкий, 2022
Проверка домашнего задания
- Что такое алгоритм?
- Верно ли высказывание, что любая последовательность действий называется алгоритмом?
- Перечислите свойства алгоритмов с краткой характеристикой каждого.
Проверка домашнего задания
4. Дана последовательность действий, является ли она алгоритмом?
Подготовка к рисованию
1. Открыть баночку с краской
2. Окунуть в банку кисть
3. Надеть халат
4. Рисовать на бумаге
5. Расстелить бумагу на столе
Проверка домашнего задания
5. Приведите пример алгоритма с указанием в нем свойств
Проверка домашнего задания
6. Даны числа: 4, 26, 10, 55
Используя алгоритм, вычисли результат. ВЫЧИСЛИТЬ РЕЗУЛЬТАТ
1 Взять число __
2 Прибавить к числу 10
3 Если полученное число меньше или равно 20, то умножить его на 2, иначе
перейти к строке № 4
4 Вычесть 5
5 Запиши результат в ячейке.
6 Стоп
Актуализация знаний
Перед Вами три вида описания алгоритма, как Вы считаете, чем они отличаются?
Формы представления алгоритмов
- Словесная форма. Алгоритм задается в произвольном изложении на естественном языке
Недостаток: при составлении сложных алгоритмов описание становится громоздким и ненаглядным
Алгоритм «Использование домофона»
начало
- Набрать номер квартиры
- Нажать кнопку «Вызов»
- Услышав прерывистый сигнал, ждите ответа
- Услышав ответ, говорите
- Услышав звуковой сигнал, входите
конец
Формы представления алгоритмов
2. Псевдокод представляет собой систему обозначений и правил, предназначенную для единообразной записи алгоритмов.
Служебные слова алгоритмического языка (псевдокода)
Формы представления алгоритмов
Алг название алгоритма
- Нач
- Серия команд алгоритма
- Кон
алг Вычисление гипотенузы
нач
дано k1=3, k2=4,
z:=k1 2 // Вычислить квадрат k1 и запомнить в переменной z z2:=k2 2 // Вычислить квадрат k2 и запомнить в переменной
g = // Вычислить гипотенузу g
рез g.
кон
Формы представления алгоритмов
3. Графический способ (блок-схемы)
- При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков и стрелок, соединяющих эти блоки
начало
Набрать номер квартиры
Нажать кнопку «Вызов»
Услышав ответ говорите
Услышав звуковой сигнал, входите
Конец
Блок-схемы
- В блок-схеме каждому типу действий соответствует геометрическая фигура, представленная в виде блочного символа
Форма блока
Назначение блока
начало и конец блок-схемы
блок ввода/вывода данных
блок выполнения действия
блок условия
организация циклических процессов
вызов вспомогательного алгоритма
Блок-схемы
Форма блока
Назначение блока
комментарии
Вывод на печать
Правила построения блок-схем
- Блок-схема строится сверху вниз
- В любой блок-схеме имеется один элемент, соответствующий началу, и один элемент, соответствующий концу
- Должен быть хотя бы один путь из начала блок-схемы к любому элементу
- Должен быть хотя бы один путь от каждого элемента блок-схемы в конец блок-схемы
Блок-схема
- Блочные символы соединяются линиями переходов, определяющими очередность выполнения действий
начало
Набрать номер квартиры
Нажать кнопку «Вызов»
Услышав ответ говорите
Услышав звуковой сигнал, входите
Конец
Блок-схема
- Вычислите значение переменной m, если a=10, b=2, c=8
Блок-схемы
Найдите результат вычисления блок-схемы
Начало
a, b
x : = a – 2 * b
x
Конец
Исходные данные
Результаты выполнения
а =__, b = __
Вывод значений
х =
х =
Блок-схемы
Найдите результат вычисления блок-схемы
Результат оформить в виде таблицы, если x =8
Шаг 1
Значение z
1
Шаг 2
Значение i
…
0
Значение x
8
Шаг n
Тело цикла
z: =
Да/Нет
i: =
Результаты выполнения
z: =
Вывод значения N
i: =
Величины
- Величина – это отдельный информационный объект, например символ, число, таблица и др.
- Константа – это величина, которая задается в начале алгоритма, и не изменяется в процессе его выполнения
- Переменная – это величина, которая меняет свое значение в процессе выполнения алгоритма
- Операнды – это объекты, с которыми производятся операции.
Величины
- Каждая величина имеет свое имя, оно может состоять из латинских букв, цифр, других знаков
- Величины могут быть разных типов
Классификация выражений
- Арифметические выражения состоят из чисел и переменных, арифметических операций, служат для нахождения числового значения.
= x*y/z
=(a^3+b^3)/(b*c)
или x^2
Найти и исправить ошибку в записи:
5x+1 a+sinx
((a+b)/c**3
Выражения
2. Логическое выражение — это составное высказывание, состоящее из простых высказываний, которые объединены логическими операциями, т.е. НЕ, И, ИЛИ.
НЕ (А ИЛИ В);
3. Строковые выражения состоят из величин символьного типа. Могут соединяться операцией сцепления «+». Например, А= студент, В= Петров, А + В = студент Петров
Команда присваивания
Команда присваивания нужна для вычисления значений выражений и присваивания их значений переменным
Общий вид:
:=
Знак «:=» читается как присвоить и заменяет предыдущее значение переменной, стоящей в левой части на новое, которое находится в правой части
Знаки «=» и «:=» — это разные знаки. Знак равно обозначает равенство двух величин. А знак «:=» присваивает новое значение переменной
A:=10; B:=(A+4)/2;
А:=В-2;
В:=А+В;
Команда присваивания
Запишите по правилам алгоритмического языка выражение
Команда присваивания
Запишите по правилам алгоритмического языка выражение
Команда присваивания
Определите значение переменной C после исполнения данного алгоритма
A :=1;
B := 1+ 2 * A;
A := B / A;
C := A + 2 * B;
Команда присваивания
Запишите в обычной математической форме арифметические выражения:
((u+v)^2)/(u/v)+(2*u-v)
Принцип построения блок-схем
- Принцип последовательной детализации алгоритма (проектирование сверху-вниз). Сложная задача разбивается на ряд более простых задач. Для каждой подзадачи составляется свой, с точки зрения решения основной задачи вспомогательный алгоритм
2. Принцип "от главного к второстепенному", предполагающий составление алгоритма, начиная с главной конструкции. При этом, часто, приходится "достраивать" алгоритм в обратную сторону, например, от середины к началу.
3. Принцип структурирования, т.е. использования только типовых алгоритмических структур при построении алгоритма. Нетиповой структурой считается, например, циклическая конструкция, содержащая в теле цикла дополнительные выходы из цикла.
Принцип последовательной детализации
Сложная задача разбивается на ряд более простых задач. Для каждой подзадачи составляется свой, с точки зрения решения основной задачи вспомогательный алгоритм
задача
подзадача
подзадача
подзадача
Принцип последовательной детализации
Пример. Какую особенность в этом алгоритме вы можете отметить?
Начало
Высадить одного туриста
Сесть в лодку двум туристам
Переплыть
Переплыть
Сесть в лодку двум туристам
Высадить одного туриста
Переплыть
Переплыть
Высадить всем туристам
Сесть в лодку двум туристам
Конец
Переплыть
Принцип последовательной детализации
Пример. Какую особенность в этом алгоритме вы можете отметить?
Переправа
Начало
Переправа
Сесть в лодку двум туристам
Переплыть
Переправа
Высадить одного туриста
Сесть в лодку двум туристам
Переплыть
Переплыть
Конец
Высадить всем туристам
Конец
Принцип последовательной детализации
Подзадачи могут также разбиваться на более простые задачи и т.д. В результате некоторые вспомогательные алгоритмы могут стать основными по отношению к вспомогательных более низкого уровня. Процесс пошаговой детализации заканчивается, когда задачи очередного уровня окажутся совсем простыми. Метод пошаговой детализации универсален. Он применим для решения задач из разных областей жизни.
задача
подзадача
подзадача
подзадача
Принцип последовательной детализации
Пример. Вычислить z=2x+3y, где x=a-2b, y=3х-b
Начало
Начало
Начало
y
х
a, b
x: = a – 2 * b
y: = 3 * x - b
z: = 2 * x + 3 * y
x
y
z
Конец
Конец
Конец
Циклический алгоритм
Цикл - управляющая структура, организующая многократное выполнение указанного действия.
Цикл – процесс повторения одних и тех же операций (группы команд) Тело цикла – это последовательность операций (команд), которая повторяется многократно заданное количество раз или до тех пор, пока не будет выполнено условие.
Циклический алгоритм
Цикл «пока» (цикл с предусловием):
Проверяется условие, если оно истинное, то происходит переход к выполнению Команда 1, иначе происходит выход из цикла. Команда 1 выполняется до тех пор, пока истинно условие
Условие
Да
Нет
Тело цикла
Циклический алгоритм
Какой результат будет при выполнении данного алгоритма?
Есть слова?
Да
Нет
Найти слово в словаре
Записать найденное слово в тетрадь
Составить предложение
Циклический алгоритм
Пример. Какой результат будет при выполнении данного алгоритма?
Есть чувство голода?
Да
Нет
Купить пирожок
Съесть пирожок
Циклический алгоритм
Пример. Написать результат выполнения алгоритма при S=1,5
Циклический алгоритм
Цикл «до» (цикл с постусловием):
Исполнение цикла начинается с выполнения действия. После этого происходит проверка условия. Если условие не выполняется, то происходит возврат к выполнению действий. Если условие истинно, то осуществляется выход из цикла.
Тело цикла
Условие
Нет
Да
Циклический алгоритм
Пример. Измените цикл «пока» перевода предложения с иностранного языка на цикл «до»
Есть слова?
Да
Нет
Найти слово в словаре
Записать найденное слово в тетрадь
Составить предложение
Циклический алгоритм
Пример. Написать результат выполнения алгоритма при
х=-1
Линейный алгоритм
Описать в словесной форме алгоритм вычисления периметра прямоугольника
b
а
Циклический алгоритм
Цикл с параметром
Используется, когда заранее известно количество повторений операций тела цикла.
Параметр цикла – это переменная, определяющая количество повторений (итераций), т.к. известно - первое значение, при котором тело цикла будет выполнено первый раз, последнее значение, при котором тело цикла будет выполнено последний раз и величина изменения параметра (шаг) на которую надо увеличить параметр после каждой итерации.
Шаг – числовой показатель изменения параметра после каждой итерации
Счетчик = Нач.знач, Кон.знач, шаг
Команда 1
Циклический алгоритм
Пример. Написать результат выполнения алгоритма при
N=5