Большей частью опять же используется в циклах. Рассмотрим пример:
INT Age;
INT Man;
INT Tired is NO;
IF ( Age_of_Women > 30 )
DO {
SEX;
IF ( Man is Tired ) {
SUX;
LOVE is NO;
BREAK;
}
CONTINUE;
}
Если женщине за тридцать и ее мужу где столько же или больше, то для него начинаются трудные времена. Если он будет постоянно ссылаться на усталость, то женщину ждет облом, неудовлетворенность в любви и вообще SUX. А если не будет, но вы полагаете, что будет RULEZ? А вот и нет. Есть только продолжение, продолжение и продолжение.
8. Оператор SWITCH
Переключаться в жизни необходимо постоянно. И вынуждено, и просто потому, отдых необходим. Следующий пример иллюстрирует тот простой факт, что отдых - смена деятельности.
DOUBLE Relax;
DO {WORK;
WHILE ( HEALTH is SO-SO )}
SWITCH ( MONEY ) {
CASE ($1000):
KANARY;
CASE ($500):
Relax_House;
CASE ($10):
BEER;
}
HEALTH is GOOD;
Вопрос, как подействуют Канары, Дом Отдыха или пиво на здоровье конкретного индивида, остается открытым. Мы надеемяся, что оно улучшиться (даже от пива).
9. Оператор BREAK
BREAK - оператор аварийного выхода, чаще всего в негативном смысле (облом). Разберем пример:
CHAR WORK is Empty;
SEEK ( WORK );
FOUND;
SWITCH ( MONEY ) {
CASE ($10/Month):
BREAK;
CASE ($100/Month):
BREAK;
CASE ($1000/Month):
RULEZ;
}
Результат поисков работы может быть разным. Если зарплата меньше $1000 в месяц - SUX и BREAK (т. е. облом). Еще пример:
INT Glass;
IF ( SUX ) {
DO Glass BREAK; }
RULEZ;
Рецепт улучшения настроения - битье посуды совершенно непонятен мужчинам. Однако, представьте, что на месте Glass (бокала) могли бы оказаться вы...
10. Оператор GOTO
GOTO - оператор языка, которым пользователи Male C обмениваются с друг другом. Очень удобно: ваш шеф просит вас принести квартальный отчет, а вы посылаете его в $%# до переполнения его стека терпения. Другой случай: даже если вы очень торопитесь, советуем все же воспользоваться переходом, а не бежеать сломя голову прямо через дорогу.
В новых веяниях (Male C++) считается, что этот оператор лишний. Однако разберем пример:
#DEFINE HOUSE KEEPING #INCLUDE WASHING MACHINE
MAIN () {
FLOAT Thing is Dirty;
WHILE (Thing) {
Wash;
BAD;
GOTO HELL;
} HELL: Shop \!\! Barbeshop \!\! Love-story_reading; }
Понятно, что домашняя работа (в частности, стирка) бесконечна, и число грязных вещей (Thing) никогда не кончится. Поэтому необходимо использовать оператор безусловного перехода, которое в данном случае посылает эту работу в HELL. Когда его использовать, зависит от вашего настроения, однако если вы не хотите BAD с вашим мужчиной, старайтесь им не злоупотреблять.
Примечание: некоторые скажут, что в написанном примере можно было воспользоваться оператором BREAK. И что? Вы остановили работу, а не послали ее к черту и вам придется рано или поздно ее продолжить, причем наверняка переменная THING существенно увеличится.
Некоторые могут заметить странное определение метки "черта". Так ведь к черту посылается стирка, а вместо нее предлагается или поход по магазинам, или парикмахерская, или просто чтение любовных романов.
Еще один пример иллюстрирует тот факт, что женщина любит ушами:
CHAR Ask "Do you love me?"; Neverending:
IF ( Ask is 'Yes') GOTO Neverending;
11. Условные операторы
Не случайно этот раздел мы отнесли ближе к концу. Смысл этого оператора слишком очевиден: жизнь полна компромиссов и выполнение ваших желаний постоянно наталкивается на массу условий. Надеемся, что наш язык поможет вам в решении ваших проблем. В следующем пункте мы предоставим вам несколько программ для самостоятельного изучения.
12. Примеры
1. Кандидат на брак.
#UNDEFINE MAN
#INCLUDE ALL
MAIN (Target is LOVE);
LONG CHAR Why = "Зачем вы девушки, NICE LOVE, неCONST у них LOVE";
INT MAN [ Boss, Friend, Nice ...];
INT LOVE [ SEX, Flirt, LOVE];
SEEK ( LOVE );
FOUND MAN;
IF ( Man[Boss] ) FOUND SEX;
IF ( Man[Friend] ) FOUND Flirt;
IF ( Man[Nice] ) DO Why;
ELSE New SEEK;
Примечание: могут сказать, а как же все же найти свою любовь. Ну, дорогие дамы, если вы считаете, что это задачу за вас смогут решить машины...
2. Муж вернулся из командировки...
INT Lover is IN_FRIDGE;
INT Husband is FOOL;
LONG CHAR Kill ( Lover must die! );
INT Furniture[Dresser, Bed, ...];
RETURN ( Husband );
Husband;
SEEK ( Lover );
IF ( Furniture[Any] ) FOUND {
SAY Kill;
SUX; }
ELSE RULEZ;
Муж, конечно, успокоится, не найдя любовника. Но что будет с любовником, который спрятался в холодильнике? И вправду удовольствия познаются через страдания.
13. Задачи.
Как вы уже поняли, Male C - универсальный язык программирования, посредством которого можно решать обширный круг повседневных задач. Единственный путь изучения языка - говорить на нем. Предлагаем несколько задач для самостоятельного решения:
1. Классический треугольник: вы любите его, он любит другую, а она любит вас. Варианты решений:
- вы добиваетесь его взаимности;
- вы добиваетесь ее взаимности;
- вы становитесь их взаимности;
- вы отвечаете взаимностью своей собаке.
Примечание: могут возразить, что классический треугольник выглядит по-другому. Однако мы полагаем, что если двое влюблены в одного, то это не треугольник, а угол:
------>
/|\
|
|
2. Вариант без соперницы: Вы любите его, а он любит себя. Попробуйте сами найти все решения.
3. Вас шеф активно добивается вас. Варианты решения:
- вы отвергаете его домогания и теряете работу;
- вы уступаете ему и теряете свое достоинство;
- вы знакомите его со своим другом-бандитом и он теряет свое достоинство.
4. Ваш муж постоянно ходит налево. Варианты решения:
- уехать к маме;
- скалкой своротить ему скулу так, чтобы он мог смотреть только направо;
- самой сходить налево.
Множество других проблем вы сможете найти в известной книге, классике нашего дела "1001 проблема про это" а также в журнале "Все проблемы, которые вы хотели решить, но не имели для этого подходящего инструмента".
Примечание: Проблемы Male C- можно найти и в популярной газете "C-pid Info". и в передаче "Я C-ама. В передаче "LOVE C 1 взгляда" обсуждаются проблемы языка LOVE C версии 1. В журнале "5 How C" вы найдете более сложные задачи из языка версии 5.
14. Послесловие
В следующей книге мы разберем особенности реализации Male C+, Male C++, и вообще Male Cn+. К сожалению, мы не будем обсуждать проблемы любой реализации языка C- по понятным морально-этическим причинам.
сентябрь 1997
ПАЛЕК