Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чаплыгин А.Н. Учимся програмировать вместе с Пи...doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

§2.10. Композиция

Напоследок разберемся еще с одной важной концепцией: композицией. Сами того не замечая, мы с нею уже сталкивались.

Весь окружающий нас мир состоит из составных частей. Например, дома состоят из кирпичей или строительных блоков, кирпичи, в свою очередь состоят из мелких крупиц песка, а те - из молекул и атомов. Для того, чтобы моделировать явления окружающего мира, инструмент построения моделей должен также иметь возможность собирать мелкие объекты в системы, которые в свою очередь будут объединяться в еще более сложные комплексы.

Средством моделирования (т.е. описания различных объектов и ситуаций) для программиста являются языки программирования. Во всех высокоуровневых языках реализована возможность составления систем из более простых элементов, или композиция.

Например, мы знаем, как сложить два числа и как выводить полученное значение. Таким образом, мы можем это сделать в одном выражении:

>»

Р

rint

17

+

3

20

На самом деле сложение и вывод значения происходят не в то же самое время: сначала вычисляется выражение, после чего выводится результат. Но вы можете выводить таким образом результат любого выражения, каким бы сложным оно не было.

Выражения могут строиться из других выражений несколькими способами. Рассмотрим такой пример:

>» percentage = 100 * 20 / 80; print percentage 25

Во-первых, выражения могут быть вложенными друг в друга. В частности, выражение присваивания имеет такую структуру, что слева от знака присваивания должно стоять имя переменной, которой присваивается результат вычисления выражения, стоящего справа от оператора присваивания. В свою очередь, выражение в правой части тоже сложное: вычисление проводится в порядке, определяемом приоритетами операций. Операция деления в нашем примере в качестве первого операнда принимает результат умножения - это тоже пример вложенности выражений.

32

Ревизия: 170

Переменные, операции и выражения

Второй вариант компоновки выражений - следование. В примере два выражения (выражение присваивания и вывода значения переменной percentage) разделены точкой с запятой. Эти выражения выполняются друг за другом. Вообще говоря, любая программа представляет собой последовательность выражений. Если выражения расположены на отдельных строках, то ставить точку с запятой в конце каждого выражения не обязательно: в данном случае разделителем выражений служит символ завершения строки. Это правило относится к Питону, но в C++ и Паскале выражения обязательно должны заканчиваться точкой с запятой.

В последствии вы увидите, что композиция может применяться для комбинирования любых синтаксических единиц и выражений, в том числе и вызовов подпрограмм.

Упражнение. Попробуйте выполнить в командной строке интерпретатора Питона

команду: 100 * 20 / 80 = percentage. Какой результат вы получили и почему?

33

Ревизия: 170

Функции