Поиск   Случайная задача
Подборки   Языки   Авторы   Явления
Логин:
Пароль:
    Регистрация     Восстановить пароль

Задача №1836

Автор: Т. Г. Пшеницын

Явления: язык программирования

Язык: Шекспир / NA_Шекспир /

Условие

В отличие от естественных языков, которые используются для общения людей, языки программирования используются для передачи команд человека компьютеру. Каждый язык программирования включает в себя словарь команд и правила составления программы. Чтобы компьютер «понял», что от него хотят, человек должен придумать четкий алгоритм действий, а потом записать его с помощью имеющихся команд в соответствии с правилами языка программирования. Полученный текст — программа — передается компьютеру; после этого текст анализируется, обрабатывается, и компьютер выполняет команды человека. Пример простейшего языка программирования — калькулятор: к примеру, если мы хотим вычислить сумму чисел 123 и 456, мы вводим в него «программу» (выражение) 123 + 456, после чего она анализируется компьютером, выполняется, и калькулятор возвращает число 579.

Существует большое количество языков программирования, широко использующихся на практике: C++, C#, Python, R и многие другие. Отметим, что многие команды в каждом из этих языков представляют собой обычные слова английского языка (например, if, while, for). Иногда языки программирования, однако, придумывают не для промышленного использования, а для развлечения. Одним из таких языков программирования является язык Shakespeare ‘Шекспир’. По словам разработчиков этого языка, цель его создания — сделать так, чтобы текст программы был красивым и воссоздавал дух произведений Шекспира. Как следствие, программа на языке Shakespeare оформляется как пьеса, а команды этого языка являются репликами персонажей Шекспира.

Ниже приведена программа на языке Shakespeare и перевод ее текста на русский язык.

Программа Перевод

Romeo and Juliet: arithmetic of love.

Romeo, Son to Montague.

Juliet, Daughter to Capulet.

Tybalt, Nephew to Lady Capulet.

Friar Laurence, a Franciscan.

Act I: Differences between Montagues and Capulets.

Scene I: Romeo and Juliet’s conversation.
[Enter Romeo and Juliet]

Juliet:

You are as noble as a rich Lord! Open your heart!

Romeo:

You are as beautiful as the sum of a lovely small blossoming white rose and the sum of a tiny gentle yellow flower and death! Open your heart!

[Exit Juliet]

Scene II: Romeo and Tybalt’s altercation.
[Enter Tybalt]

Romeo:

You big purple cowardly pig! Open your heart!

Tybalt:

You are as miserable as the sum of a little fatherless coward and a leech! Open your heart!

[Exeunt]

Act II: Sum of Montagues and Capulets.

Scene I: The wedding.
[Enter Romeo and Juliet]

Juliet:

You are as charming as the sum of myself and the sum of an amazing old King and a trustworthy hero! Open your heart!

[Exit Juliet]

[Enter Friar Laurence]

Romeo:

You are as good as the sum of a large rich mighty kingdom and Hell! Open your heart!


Friar Laurence:

You the sum of thyself and a cursed handsome ___A___! Open your heart!

[Exit Friar Laurence]

Scene II: The happy ending.
[Enter Juliet]

Romeo:

______________B______________.

[Exeunt]

Ромео и Джульетта: арифметика любви.

Ромео, сын Монтекки.

Джульетта, дочь Капулетти.

Тибальт, племянник жены Капулетти.

Брат Лоренцо, монах-францисканец.

Акт I: Различия между Монтекки и Капулетти.

Сцена I: Разговор Ромео и Джульетты.
[Входят Ромео и Джульетта]

Джульетта:

Ты благороден, как богатый Господин! Излей свою душу!

Ромео:

Ты прекрасна, как сумма чудесной маленькой цветущей белой розы и суммы крошечного нежного жёлтого цветка и смерти! Излей свою душу!

[Джульетта уходит]

Сцена II: Перебранка Ромео и Тибальта.
[Входит Тибальт]

Ромео:

Ты, большая фиолетовая трусливая свинья! Излей свою душу!

Тибальт:

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

[Уходят]

Акт II: Сумма Монтекки и Капулетти.

Сцена I: Свадьба.
[Входят Ромео и Джульетта]

Джульетта:

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

[Джульетта уходит]

[Входит брат Лоренцо]

Ромео:

Ты хорош, как сумма большого богатого могущественного королевства и ада! Излей свою душу!

Брат Лоренцо:

Ты, сумма себя и проклятого привлекательного ___! Излей свою душу!

[Брат Лоренцо уходит]

Сцена II: Счастливый конец.
[Входит Джульетта]

Ромео:

___________________________.

[Уходят]

В результате работы программы компьютер поочередно вывел следующие 8 чисел:

2

23

-8

-5

29

__C__

25

48

Задание 1. Заполните пропуск C, написав вместо него число, которое выведет программа в процессе своей работы.

Задание 2. Каким из слов можно заполнить пропуск A: angel ‘ангел’ или devil ‘дьявол’?

Задание 3. Заполните пропуск B предложением на языке Shakespeare, которое состоит не более чем из 10 слов.

Задание 4. Почему, если убрать из сцены I акта II строчку [Exit Juliet] ‘Джульетта уходит’, компьютер выдаст сообщение об ошибке и не будет корректно выполнять программу?

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

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



Комментарии