1.1. Алгоритм и алгоритмические конструкции
В 7-м классе вы познакомились с основами программирования на языке Python. Для решения задач по программированию были выделены основные этапы (пример 1.1).
Напомним определения основных понятий, изученных в 6-м и 7-м классах.
Алгоритм — конечная последовательность точных действий, формальное выполнение которых позволяет получить решение задачи для любого допустимого набора исходных данных.
Исполнитель — человек (группа людей) или техническое устройство, которое способно правильно выполнять команды алгоритмов. Набор команд одного исполнителя называют системой команд исполнителя.
Последовательность команд, исполнителем которой является компьютер, называется программой. Программа — это алгоритм, записанный на некотором формальном языке — языке программирования.
Все алгоритмы, которые составляет человек, рассчитаны на конкретного исполнителя. В дальнейшем будем рассматривать только исполнитель-устройство с ограниченным набором команд.
Все команды исполнителя делят на группы:
- Команды, которые непосредственно выполняет исполнитель.
- Команды, изменяющие порядок выполнения других команд исполнителя, которые называют командами управления (управляющими конструкциями). К ним относят команды повторение и ветвление.
Любой алгоритм может быть записан с использованием трёх базовых алгоритмических конструкций: следование, повторение и ветвление (форзац 1).
Командами в языке программирования считают (пример 1.2):
- операторы (оператор присваивания, оператор ветвления, оператор цикла и др.);
- вызовы встроенных и пользовательских вспомогательных алгоритмов (функций).
1.2. Алгоритмическая конструкция следование
Алгоритмическая конструкция следование – это последовательность команд алгоритма, которые выполняются в том порядке, в котором они записаны. Среди команд, образующих алгоритмическую конструкцию следование, отсутствуют команды, меняющие порядок выполнения других команд.
В 7 классе, изучая язык Python, вы использовали следующие команды (пример 1.3):
- команду для ввода данных;
- команду для вывода данных;
- оператор присваивания.
Для ввода данных предназначена команда input(). В скобках можно написать текст, поясняющий, что необходимо ввести.
Для вывода данных используют команду print(). Она позволяет выводить текстовые сообщения и числовые значения. Текстовые сообщения записываются в кавычках, выводятся в виде последовательности символов так, как записаны, и не анализируются при выполнении.
Команда print() может содержать аргументы, управляющие выводом (пример 1.4).
Оператор присваивания предназначен для того, чтобы:
-
- задавать значения переменным;
- вычислять значение выражения
(результат будет записан как значение переменной).
Формат записи оператора присваивания:
<имя переменной> =<выражение>
В записи арифметического выражения используются знаки математических операций (пример 1.5).
Напомним, что операция деления (/) применяется для данных типа float, для данных типа int используются операции // и %.
При вычислениях часто используются различные математические функции. Эти функции реализованы как встроенные вспомогательные алгоритмы и могут применяться при записи арифметических выражений. Для применения этих функций в программе нужно подключить библиотеку math.
Аргументы функций всегда записываются в скобках.
Список всех математических функций языка Python можно найти в справочной системе (пример 1.6). Справка устанавливается вместе с языком Python. Найти справку можно в меню Пуск: Пуск → Все → Python 3.* → Python 3.* Manuals. Некоторые из функций приведены в примере 1.7
Аргументом функции может быть число, переменная, выражение или другая функция: sqrt(fabs(-16)), pow(x,1/4).
Пример 1.8. Задана длина стороны квадрата a. Написать программу нахождения площади квадрата и длины его диагонали.
Этапы выполнения задания.
I. Исходные данные: длина стороны, переменная а.
II. Результат: переменные S (площадь) и d (длина диагонали).
III. Алгоритм решения задачи:
1. Ввод исходных данных.
2. Вычисление площади по формуле S = a2.
3. Вычисление длины диагонали по формуле d = a√2.
4. Вывод результата.
IV. Описание переменных: переменные, определённые для решения задачи, имеют тип float.
Правильность вычислений можно проверить на калькуляторе.
В примере 1.8 используются функции для вычисления квадратного корня и возведения числа в степень.
Нередко в одной программе приходится выполнять одну и ту же последовательность команд несколько раз. В этом случае удобно использовать вспомогательный алгоритм, который можно выполнять нужное число раз, обращаясь к его названию. Вспомогательные алгоритмы вы использовали при написании программ для учебных компьютерных исполнителей Черепаха и Робот (пример 1.9).
Пример 1.9. Написать программу для исполнителя Робот, который должен закрасить отмеченные клетки на поле.
Изображение, которое должен нарисовать Робот, состоит из двух одинаковых фигур. Для рисования фигуры оформим вспомогательный алгоритм — функцию krest. С помощью этой функции будут закрашиваться клетки на поле Робота в соответствии с изображением фигуры.
Вспомогательный алгоритм — это алгоритм, который можно использовать в других алгоритмах, указав его имя и, если необходимо, значения аргументов.
Вспомогательный алгоритм решает некоторую часть основной задачи. Вызов вспомогательного алгоритма является командой, которая может заменить несколько команд.
В этом учебном году вам предлагается работать с языком программирования Python в среде разработки Visual Studio Code (VS Code). Данное приложение (пример 1.10) является бесплатным и используется для написания и отладки кода на различных языках программирования. Некоторые сведения о работе с данной средой приведены в Приложении 1.