Компьютер формальный или неформальный исполнитель

Обновлено: 08.07.2024

Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.

§ 15. Исполнители вокруг нас

ИНФОРМАТИКА. 6 КЛАССА. БОСОВА Л.Л. ОГЛАВЛЕНИЕ

Разнообразие исполнителей

Ключевые слова:
• исполнитель
• формальный исполнитель
• система команд исполнителя
• автоматизация

Современного человека окружает множество разнообразных технических устройств: телевизор, магнитофон, фотоаппарат, телефон, стиральная машина, автомобиль и пр. Каждое из этих устройств предназначено для решения своей задачи и способно выполнять некоторый ограниченный набор действий, или команд.

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

Исполнители бывают разные. Одним из самых простых исполнителей можно считать кнопку включения/выключения электропитания на корпусе монитора.

Система команд исполнителя — CD-плеера приведена на рис. 56.


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

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


Ещё один пример исполнителя — компьютер. Его отличительная черта — универсальность. Вы знакомы с компьютерными программами, предназначенными для обработки текстовой, числовой и графической информации, с обучающими программами и компьютерными играми. Кроме того, существуют программы, с помощью которых компьютер управляет работой других связанных с ним устройств (исполнителей).

Во многих случаях и сам человек является исполнителем алгоритмов. Например, каждый из нас при переходе улицы является исполнителем следующего алгоритма:
1) остановись на тротуаре;
2) посмотри налево;
3) если транспорта нет, то иди до середины улицы и остановись, иначе выполняй п. 2;
4) посмотри направо;
5) если транспорта нет, то иди до противоположного тротуара, иначе выполняй п. 4.

Исполнителями большого количества алгоритмов становятся школьники, выполняющие многочисленные письменные и устные задания.

Формальные исполнители


Выделяют два типа исполнителей: формальных и неформальных. Формальный исполнитель одну и ту же команду всегда выполняет одинаково. Неформальный исполнитель может выполнять команду по-разному.

Например, при многократном прослушивании диска с любимой музыкой вы можете быть уверены, что она воспроизводится проигрывателем (формальным исполнителем) одинаково. Но вряд ли кому-нибудь из певцов (неформальному исполнителю) удастся несколько раз совершенно одинаково исполнить песню из своего репертуара.

Как правило, человек выступает в роли неформального исполнителя. Формальными исполнителями являются преимущественно технические устройства. Человек в роли неформального исполнителя сам отвечает за свои действия. За действия формального исполнителя отвечает управляющий им объект.

Рассмотрим более подробно множество формальных исполнителей. Формальные исполнители необычайно разнообразны, но для каждого из них можно указать круг решаемых задач, среду, систему команд, систему отказов и режимы работы.
1. Круг решаемых задач. Каждый исполнитель создается для решения определенного класса задач.
2. Среда исполнителя. Область, обстановку, условия, в которых действует исполнитель, принято называть средой данного исполнителя.
3. Система команд исполнителя. Предписание о выполнении отдельного законченного действия исполнителя называется командой. Совокупность всех команд, которые могут быть выполнены некоторым исполнителем, образует СКИ — систему команд исполнителя.
4. Система отказов исполнителя. Отказ «не понимаю» возникает тогда, когда исполнителю подается команда, не входящая в его СКИ. Отказ «не могу» возникает тогда, когда команда из СКИ не может быть им выполнена в конкретных условиях среды.
5. Режимы работы исполнителя. Для большинства исполнителей предусмотрены режимы непосредственного и программного управления. В первом случае исполнитель ожидает команд от управляющего объекта и немедленно выполняет каждую поступившую команду. Во втором случае исполнителю сначала задаётся полная последовательность команд (программа), а затем он выполняет все эти команды в автоматическом режиме. Ряд исполнителей работает только в одном из названных режимов.

Автоматизация

Разработка алгоритма — трудоёмкая задача, требующая от человека глубоких знаний и больших затрат времени. Решение задачи по готовому алгоритму требует от исполнителя только строгого следования заданным предписаниям. Исполнитель не вникает в смысл того, что он делает, и не рассуждает, почему он поступает так, а не иначе, — он действует формально. С этим связана возможность автоматизации деятельности человека — замена части труда человека работой машин (автоматических устройств):
• процесс решения задачи представляется в виде последовательности простейших операций;
• создаётся машина, способная выполнять эти операции в последовательности, заданной в алгоритме;
• выполнение алгоритма поручается автоматическому устройству; человек освобождается от рутинной деятельности.

Вопросы и задания

1. Кого или что называют исполнителем алгоритма?

2. Определите типы исполнителей в предложенных ситуациях. Будьте готовы обосновать свой ответ.
а) Симфонический оркестр исполняет музыкальное произведение.
б) Ученик 6 класса выполняет домашнее задание по математике.
в) Фармацевт готовит лекарство по рецепту.
г) Врач устанавливает причину плохого самочувствия пациента.
д) Автомат на конвейере наполняет бутылки лимонадом.
е) Компьютер выполняет программу проверки правописания.

3. Горничная каждое утро, убирая свой этаж, пылесосит ковровую дорожку. Назовите исполнителей в этой задаче. Укажите их типы.

4. Приведите 2-3 примера формальных исполнителей. Приведите пример, когда человек выступает в роли формального исполнителя.

5. Приведите примеры исполнителей, встречающихся в русских народных сказках. Определите их типы.


6. В системе КуМир запустите исполнителя Кузнечик. Изучите среду исполнителя и его систему команд (СКИ). Продумайте команды, с помощью которых Кузнечик перекрасит квадратики над числами 1, 2 и 3. С помощью пульта организуйте работу Кузнечика в непосредственном режиме.

Научить решать задачи на составление программ с линейным алгоритмом.

Задачи урока:

Познавательные :

Организовать работу учащихся по изучению и первичному закреплению знаний путем коллективной и самостоятельной практической деятельности.

Развивающие:

Используя интегрированный подход, показать учащимся значение, которое имеет понятие «объект-исполнитель» в природе, быту, технике и повседневной жизни.

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

Воспитательные:

Формирование информационной культуры, умения и навыков коллективного и самостоятельного овладения знаниями;

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

Ход урока

Организационный этап

Взаимные приветствия учителя и учащихся; фиксация отсутствующих; проверка внешнего состояния классного помещения; проверка подготовленности учащихся к уроку; организация внимания и внутренней готовности.

Объявление темы и целей урока. Повторение материала

Сегодня на уроке мы с вами продолжим изучать технологию решения задач с помощью компьютера. Мы уже с вами познакомились с понятием алгоритма и его свойствами. И прежде чем преступить к изучению нового материала, проверим вашу подготовленность к уроку.

Перечислите этапы решения задачи с помощью ПК (постановка задачи, определение условий, построение модели задачи, описание алгоритма решения задачи, выбор оптимальной среды для решения, описание алгоритма с помощью выбранных программных средств, тестирование решения задачи, при необходимости – коррекция решения задачи)

Перечислите основные свойства алгоритма (дискретность, точность, понятность, массовость, результативность)

Перечислите основные формы представления алгоритмов (словесный, графический, программный, табличный)

Объяснение нового материала:

Алгоритмы решения разных задач должны быть выполнимы в той среде, где необходимо получить результат. В этой среде должен существовать объект, который будет выполнять алгоритм. Рассмотрим пример. Пете захотелось чаю. Он вскипятил в чайнике воду, положил в чашку пакетик заварки, налил туда кипяток, добавил две чайные ложки сахара, размешал их ложкой и с удовольствием выпил свой чай. Оформим алгоритм действий Пети в виде блок-схемы (учитель вызывает ученика к доске).

В данном примере все указанные действия выполняет Петя, следовательно он и есть тот объект, который выполняет алгоритм. Петя умеет и может выполнять действия, указанные в алгоритме. Он выполняет эти действия в указанном порядке. Объект, который выполняет алгоритм называют исполнителем .

Различают формальных и неформальных исполнителей. Формальный исполнитель одну и туже команду выполняет одинаково. Неформальный исполнитель может выполнять команду .

Формальные исполнители необычайно многообразны, но для каждого из них можно указать следующие характеристики: круг решаемых задач (назначение), среду, систему команд и режим работы.

Круг решаемых задач. Каждый исполнитель создаётся для решения некоторого круга задач – построения цепочек символов, выполнения вычислений, построения рисунков на плоскости и так далее.

Среда исполнителя – условия, при которых возможно исполнение алгоритма.

Система команд исполнителя (СКИ) – перечень действий, который способен понять и выполнить исполнитель.

Система отказов исполнителей – перечень отказов возникающий, при невозможности выполнения алгоритма в конкретных условиях.

Режимы работы исполнителя – режим непосредственного и программного управления. Непосредственное управление – исполнитель ждёт команды от человека и каждую команду выполняет немедленно. Программное управление – исполнителю задаётся последовательность команд (программа), а затем исполняет команды в автоматическом режиме. Некоторые исполнители работает только в одном из режимов.

Исполнители, встречающиеся в задачах – «Кузнечик», «Калькулятор», «Маятник», «Черепашка», «Стрелка», «Красильщик», «Стрелочка», «Черепаха», «Водолей» и. др.

Пример: Исполнитель Черепашка перемещается на экране компьютера, оставляя след в виде линии. Система команд состоит из следующих команд:

Вперёд n (где n – целое число) – вызывает передвижение на n шагов в направлении движения – в том направлении, куда развёрнуты ее голова и корпус.

Направо m (где m – целое число) – вызывает изменение направления движения на m градусов по часовой стрелке.

Запись Повтори K [<Команда1> <Команда2> … <Команда n >] – означает, что последовательность команд в скобках повториться k раз.

Подумайте, какая фигура появиться на экране после выполнения Черепашкой следующего алгоритма:

Повтори 12 [Направо 45 Вперёд 20 Направо 45]

Пример: Система команд Вычислитель состоит из двух команд, которым присвоены номера:

2 – умножить на 3

При записи алгоритма для краткости указываются только номера команд. Например, алгоритм 21212 означает следующее

С помощью этого алгоритма число 1 преобразовано в 15: ((1*3-1)*3-1)*3=15

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

При выполнении каждой такой команды Робот перемещается в соседнюю клетку в указанном направлении. Если же в этом направлении между клетками стоит стена, то Робот разрушается.

Что произойдет с Роботом если он выполнит последовательность команд: вправо, вниз, вправо, вниз, вправо. Начав движение из клетки А. Какую последовательность команд надо выполнить Роботу, чтобы переместиться из клетки А в клетку В, не разрушившись от встречи со стенами?

hello_html_m3e31aae.jpg

Алгоритм, представленный на понятном Исполнителю языке, называют программой .

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

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

Программирование (кодирование) – процесс составление программы для компьютера.

Каждый алгоритм, представленный в виде программы, должен иметь уникальное имя, не совпадающее со встроенными в язык словами. Программа имеет заголовок, в котором указано ее имя. Новый алгоритм сохраняется в памяти компьютера под своим именем, и его можно вызвать (выполнить), введя имя этой программы. Программы обладают такими же свойствами, как и алгоритмы.

Детальные инструкции значительно упрощают решение сложных задач для исполнителя. А пошаговые рекомендации позволяют автоматизировать процесс. Каждый такой алгоритм создается для определенного исполнителя. Если им будет маленький ребенок, команды будут одними, если взрослый человек – другими, компьютер или робот – третьими.

Примеры задач из жизни и люди, которые их обычно решают:

  • прием ЕГЭ – члены комиссии;
  • управление поездом, перевозка пассажиров, груза – машинист;
  • написание статей – журналист;
  • забота о детях – родители.

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

Виды исполнителей, их особенности

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

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

Алгоритм пишут, учитывая особенности того, для кого он предназначен. Для некоторых людей сухого набора команд мало, им нужны дополнительные инструменты (изображения, примеры). Инструкция будет разной, если написана она для конкретного Игоря Козакова или для учеников 6-класса. Точно также команды для бездомной собаки Жуля будут одни, а для дрессированных полицейских овчарок – другие.

Характеристики исполнителей

Перед написанием алгоритма следует определиться не только с конечной задачей, но и с особенностями исполнителей. Это позволит использовать правильные слова, а также учесть все факторы, которые могут повлиять на конечный результат.

  • круг решаемых задач – существует определенных объем заданий по типу и объему, которые под силу конкретному человеку. Это значит, что нет смысла просить собаку прочесть газету, даже если инструкция будет написана с максимальной детализацией. Также не рационально просить ученого физика спеть рок-оперу. Но всегда есть исключения;
  • среда – место, окружение, где исполнитель будет выполнять команды. При написании рабочей инструкции высотнику следует учитывать технику безопасности, правила работы с высотным оборудованием, медицинские аспекты и непосредственно то, что будет делать этот специалист (управлять краном, заниматься отделкой или строительством зданий);
  • режим непосредственного выполнения команд исполнителю или программного управления. В первом случае даются простые единичные указания, которые сразу выполняются (например, команда собаке «Сидеть»). Во втором случае задается множество заданий, выполняемых в определенном порядке, с соблюдением условий, указанных в программе/алгоритме (пошаговый рецепт приготовления борща);
  • СКИ – любой алгоритм рассчитан на конкретного исполнителя, поэтому написан при помощи понятной ему системы команд (СКИ). В случае с живым существом (человек, собака), это будут слова, которые он понимает. Для неживого (робот, ПК) – строгие команды, и правила оформления, которые нельзя изменять (язык программирования).

СКИ – набор простейших команд, понятных данному исполнителю.

Перспективными исполнителями являются роботы, автоматы и компьютеры. Несмотря на формальность работы, их можно запрограммировать и «научить» очень и очень многому. Даже если это светофор, стиральная машинка, не говоря уже о роботах, космических кораблях, персональных или научных компьютерах.

Особенно удивительно выглядит компьютер, ведь он:

  • универсальный – позволяет запрограммировать разные процессы (визуальные, звуковые, текстовые);
  • многозадачный – готов рисовать, писать, считать, рассчитывать и транслировать, даже одновременно;
  • пользовательский – его интерфейс можно сделать «под пользователя».

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

Учебная среда Исполнителя

Для того, что сделать мир программирования и алгоритмизации ярким и веселым, были разработаны различные приложения. Существует учебная среда Исполнитель Кумир для учащихся, в которую входят Чертежник, Робот, Редактор и другие.

Различные приложения отличаются интерфейсом и набором команд, но общий принцип у них одинаковый – пользователь учится писать инструкции для компьютерного исполнителя (робот, черепашка, чертежник и другие). Он дает ему команды, изучая программирование от единичных заданий, постепенно переходя от элементарных линейных алгоритмов до циклических с условиями. Обучение проходит в игровой форме, при помощи кнопок. Далее этап написания команд на русском языке. На финальном этапе ученик осваивает СКИ на языке программирования (на английском).

Если ученик/пользователь дает задание исполнителю, которое невозможно выполнить физически (непреодолимое препятствие), математически (деление на ноль) – запускается система отказов.

Сравнительная характеристика основных приложений:

Исполнитель «Черепашка»

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

Исполнитель «Робот»

На клеточном поле произвольно выставляется робот, который обозначается любым удобным символом (*, Р, ●, ♦, другими). Задания пишутся при помощи системы команд исполнителя Робот.

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

Для программирования используются простейшие алгоритмы и элементы программирования (правила написания команд, условия, обязательные символы), которые применяются в большинстве компьютерных языков.

В случае ошибок система выдает отказ. Отказы могут быть в случае неправильного написания элемента программы, противоречивых команд или логических ошибок. Отказ в виде ответа Робота: «Не могу» (пройти через стену), «Не понимаю» (ошибочно написана команда) или результат не тот, что нужен (перепутаны горизонталь и вертикаль).

Составляем алгоритм для Робота

  1. Нужно заставить робота двигаться вдоль стены, закрашивая клетки, которые он прошел:
  1. Следует высадить цветы по пути следования робота, но чтобы он не разрушился (не упирался в стены):

Как видно из этого примера, в некоторых случаях команды многократно повторяются. Тогда используют подзадачи и циклы.

Основная программа с именем подзадачи:

Алгоритм Рисунок

Начало

Алгоритм Узор (5 раз);

Конец.

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

Алгоритм Узор

Начало

конец.

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

Чтобы выполнить движение, робот может выполнять команды проверки наличия стены на пути: Сверху/снизу/слева/справа свободно?

Используя условие «если», робот проверяет дорогу и только тогда идет:

(Снизу_свободно), то вниз (3)

Или условие «пока» есть куда идти (нет стены сверху), робот будет идти прямо вверх и сажать цветы.

Исполнитель «Чертежник»

Учебная система «Исполнитель Чертежник» используется для рисования графиков, чертежей в системе координат (x;y). Поле поделено на пиксели, в параметрах можно указать размер поля и количество точек по осям.

Перо – инструмент чертежника, его, как настоящее, можно поднимать и опускать на рисовальное поле, перемещать в нужное место, менять цвет и добавлять надпись. Если перо приподнято, то не остается следа, если опущено – за ним тянется линия.

Во время рисования видно труженика Чертежника, который выполняет команды. Но его иконку можно скрыть, тогда будет виден только карандаш.

Начинать работу следует с команды «использовать Чертежник». Писать можно одиночные команды, а можно целые серии. Правила написания программы соответствуют основам большинства компьютерных языков. Это облегчит в будущем изучение программированию, улучшит понимание процесса построения алгоритмов, начиная от линейных и заканчивая циклическими.

На следующем этапе можно перейти к написанию алгоритма на языке Pascal. Процесс построения аналогичен, только команды пишутся на языке программирования (на английском):

uses Drawman;

begin

PenUp;

ToPoint (1, 1);

PenDown;

ToPoint (1, 5);

ToPoint (3, 5);

ToPoint (2, 4);

ToPoint (3, 3);

ToPoint (1, 3);

end.

Освоив построение алгоритмов на родном языке, запомнив правила написания команд, пользователь с легкостью перейдет на задания, написанные на языке программирования.

Вспомогательные алгоритмы или процедуры

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

Каждый алгоритм предназначен для определённого исполнителя.

Исполнитель — это некоторый объект (человек, животное, техническое устройство), способный выполнять определённый набор команд.

Различают формальных и неформальных исполнителей. Фор­мальный исполнитель одну и ту же команду всегда выполняет одина­ково. Неформальный исполнитель может выполнять команду по-раз­ному.

Рассмотрим более подробно множество формальных исполните­лей. Формальные исполнители необычайно разнообразны, но для каждого из них можно указать следующие характеристики: круг ре­шаемых задач (назначение), среду, систему команд и режим работы.

Круг решаемых задач. Каждый исполнитель создаётся для реше­ния некоторого круга задач — построения цепочек символов, выпол­нения вычислений, построения рисунков на плоскости т.д.

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

Система команд исполнителя. (СКИ) Предписание исполнителю о вы­полнении отдельного законченного действия называется командой. Совокупность всех команд, которые могут быть выполнены некото­рым исполнителем, образует систему команд данного исполнителя (СКИ). Алгоритм составляется с учётом возможностей конкретного исполнителя, иначе говоря, в системе команд исполнителя, который будет его выполнять.

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


Рассмотрим примеры исполнителей.

Пример 5. Исполнитель Черепашка перемещается на экране компьютера, оставляя след в виде линии. Система команд Черепашки состоит из двух команд:

Вперёд n (где n — целое число) — вызывает передви­жение Черепашки на n шагов в направлении движения — в том направлении, куда развёрнуты её голова и корпус;

Направо m (где m — целое число) — вызывает измене­ние направления движения Черепашки на m градусов по часовой стрелке.

Запись Повтори к [<Команда1> <Команда2> . <Командаn>] означает, что последовательность команд в скобках повторится к раз.

Подумайте, какая фигура появится на экране после выполнения Чере­пашкой следующего алгоритма.

Повтори 12 [Направо 45 Вперёд 20 Направо 45]

Пример 6. Система команд исполнителя Вычислитель состоит из двух команд, которым присвоены номера:

Первая из них уменьшает число на 1, вторая увеличивает число в 3 раза. При записи алгоритмов для краткости указываются лишь но­мера команд. Например, алгоритм 21212 означает следующую после­довательность команд:

  • умножь на 3
  • вычти 1
  • умножь на 3
  • вычти 1
  • умножь на 3

С помощью этого алгоритма число 1 будет преобразовано в 15: ((1*3-1)*3-1)*3 = 15.

При разработке алгоритма:

  1. выделяются фигурирующие в задаче объекты, устанавливаются свойства объектов, отношения между объектами и возможные действия с объектами;
  2. определяются исходные данные и требуемый результат;
  3. определяется последовательность действий исполнителя, обес­печивающая переход от исходных данных к результату;
  4. последовательность действий записывается с помощью команд, входящих в систему команд исполнителя.


Можно сказать, что алгоритм — модель деятельности исполните­ля алгоритмов.

Читайте также: