Shit. А если он к тому же еще и сжег их, то это DOUBLE Shit. Для женщины
Whisky редко бывает DOUBLE, а мужчина вполне может осилить такую порцию.
Wood, конечно, имеет тип FLOAT. А Axe - навряд ли. А для Submarine
этот вопрос находится в стадии обсуждения.
GLASS обычно INT, но если применить к нему оператор BREAK, то навряд
ли оно (он) останется целой(лым).
Skirt лучше всего SHORT (впрочем, вечером можно и LONG). А вот стро-
ковая константа (разговор двух женщин) почти всегда LONG а не SHORT.
Если женщина замужем, но на курорте она одна, то Husband для нее по-
нятие VIRTUAL, однако дома, он, конечно, REAL.
Многие женщины хотели бы иметь CHAR (приходящую уборщицу), но чаще
всего это остается UNSIGNED мечтой и пахать на кухне и на уборке прихо-
дится самой.
Charge может быть STATIC, а вот CURRENT (электрический) - по опреде-
лению нет.
Особый тип переменной - LOGICAL. Хотя она принимает всего два значе-
ния TRUE и FALSE, это не значит, что на основании ее значения можно при-
нимать какие-либо действия. Если MONEY is EMPTY, это еще не значит, что
купить новую шляпку невозможно (особенно не советуем высказываться об
умственных способностях своей жены, которая все же сделала это).
Примечание: в Male C+ и некоторых диалектах C для решения этой проб-
лемы вводятся дополнительные значения этой переменной, типа ALMOST.TRUE
или BETWEEN.TRUE.FALSE. Мы считаем, что в этом нет необходимости, т.к.
не решается главная проблема: выбор. Если ваш муж возвращается очень
поздно, в подпитии, странно пахнет духами и при этом говорит, что задер-
жался на работе, это может хоть ALMOST.TRUE, хоть ALMOST.FALSE, все рав-
но ничего, кроме скалки, не поможет. Через три месяца после вашей же-
нитьбы жена может принести вам чернокожего младенца. Если при этом она
убеждает вас, что ни с кем, кроме вас, последний год в близких отношени-
ях не была, ваша LOVE к ней может заставить считать это и за BETWEEN.
TRUE.FALSE и даже за TRUE. Однако вы, вероятней всего, будете едиствен-
ным в этом убеждении.
2.2. Наборы переменных
Наборы переменных - группа переменных, связаных общими свойствами. К
примеру, массив Furniture [] содержит набор мебели, а составная перемен-
ная Age_of_Women - возраст женщины. INT LOVE [ SEX, Flirt, LOVE] очевид-
но обозначает набор состояний любви.
3. Операции присваивания.
Операции присваивания вообще одни из самых популярных у нас операций.
Этим занимаются все, начиная с ваших детей и кончая государством.
Операции присваивания для переменных в общем такие же, как и в обычном
C, кроме некоторых неважных случаев для упрощения понимания программ.
Примеры:
MONEY = $100 то же самое, что MONEY is $100
IF ( FOUND ) то же самое, что FOUND
STATE is RULEZ то же самое, что RULEZ
4. Цикл DO.
По замыслу создателей языка, должен быть самым употребительным опера-
тором. Действительно, разве всех нас не учили в детстве, что единствен-
ный путь к известности и достатку - труд? Однако многие из нас выросли и
нашли разные пути к достатку и без утомительных циклов DO. К примеру,
молодая девушка пишет в газеты бесплатных объявлений: "18 лет, обая-
тельная-привлекательная 90-60-90, без специальных навыков, расмотрю пре-
дложения от $500". Кстати, разберем это объявление на Male C и попробуем
сделать выводы.
MONEY is EMPTY;
SEEK ( WORK );
IF ( MONEY < $500) BREAK; /* Облом */
DO {
SEX;
WHILE (HEALTH is SO-SO);
}
Is STATE GOOD ?
Молодая-привлекательная без особых навыков, но с запросами от $500
может получить только определенную работу, причем весьма интенсивно. При
этом, правда, ответ на последний оператор программы остается открытым.
Кое-кому нравиться быть "секретуткой".
5. Особые операторы.
Смысл особых операторов можно понять из их перевода. Нет смысла пере-
числять их все, т.к. список существенно зависит от реализации языка. Од-
нако мы разъясним смысл некоторых, используемых в этом руководстве.
SEEK () - поиск. В скобках указывается переменная, по которой ведется
поиск. SEEK ( Husband ) и SEEK ( Lover ) далеко не одно и то же, хотя,
конечно, каждая женщина надеется, что ее муж всегда будет хорошим любов-
ником, а ее любовник наконец разведется с женой и жениться на ней.
FOUND () - найдено! Что найдено, смотрите в скобках. Следующий пример
иллюстрирует хорошо известный факт, что искать черную кошку в темной ко-
мнате - безнадежное занятие.
DOUBLE Room = Cat = Black;
SEEK ( Cat );
FOUND ( EMPTY );
6. Оператор RETURN.
Все возвращается на круги своя. Таким образом, RETURN непосредствен-
но связан с операторами циклов. Пример:
INT Age;
IF ( Age > 50 )
IF ( WORK is GOOD \!\! Alcohol is EMPTY ) HEALTH is GOOD;
ELSE HEALTH is BAD;
Age != RETURN;
DIE;
END;
Конечно, после 50 здоровье уже не то, особенно если вы злоупотребля-
ли. С другой стороны, "Кто не курит и не пьет, тот здоровенький помрет"
- годы не возвратишь.
7. Оператор CONTINUE
Большей частью опять же используется в циклах. Рассмотрим пример:
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 взгляда" обсуждаются