У нас на сайте есть все: юмор, смешные тесты, афоризмы от великих, прикольные секс истории, афоризмы и выражения

RusHumor.com - английский юмор, сатира и юмор, компьютерный юмор Рус-хумор - английский юмор, сатира и юмор, компьютерный юмор RusHumor.com - английский юмор, сатира и юмор, компьютерный юмор Рус-хумор - английский юмор, сатира и юмор, компьютерный юмор
RusHumor.com - английский юмор, сатира и юмор, компьютерный юмор
Рус-хумор - английский юмор, сатира и юмор, компьютерный юмор
RusHumor.com - английский юмор, сатира и юмор, компьютерный юмор


Главное меню
  Список тем
  Новые рассказы
  100 лучших
  Открыть наугад


Список тем
   · О женщинах
   · Про мужиков
   · Он + Она
   · Про компьютеры
   · О компьютерщиках
   · Хроники
   · Истории из жизни
   · Про зверушек
   · Пародии
   · Развлечения
   · Инструкции
   · Остальное
   · Задачи и тесты
   · Черный юмор
   · О детях
   · Диалоги
   · Законы Мэрфи
   · О работе
   · Анекдоты
   · Про игры
   · Если ... то ...
   · Авто юмор
   · Энциклопедии
   · О вредном


Счетчики








 
комментариев: 0 всего просмотров: 30074
положительных голосов: 173 отрицательных голосов: 262
нейтральных голосов: 1178 cуммарный бал: 957.35
 
 

НЕ ПОНРАВИЛОСЬ (-1)   --   прочитал (НЕ ОЦЕНИВАТЬ)   --   ПОНРАВИЛОСЬ (+1)

Переменная I представляет собой целое число. I принимает значения 1 или 2. Если I оказалось равным 1, то замените его на 2, и наоборот.

Сравните ваше решение с десятью предложенными. Найдите одно или несколько наиболее похожих на ваше и прочитайте в разделе "Категории" краткую характеристику.
Вы можете кодировать на любом языке, но для сравнения предпочтительнее использовать PL/1.

Решения:
IF I='2' THEN I=1;
ELSE I=2;

IF I=2 THEN I=1;
IF I=1 THEN I=2;

IF I=1 THEN GOTO SKIP;
I=1;
GOTO DONE;
SKIP:I=2;
DONE:

J=2;
IF I=2 THEN J=1;
I=J;

DECLARE SWITCH LABEL;
IF I=1 THEN SWITCH=ONE;
IF I=2 THEN SWITCH=TWO;
GOTO SWITCH;
ONE: I=2;
GOTO DONE;
TWO: I=1;
DONE:

DECLARE ONETWO(2) FIXED BIN(31) INIT(2,1);
I=ONETWO(I);

I=3-I;

I=I-(I/2*2)+1;

IF I=2
THEN DO;
I=1;
END;
ELSE DO;
I=2;
END;

IF I=1 THEN I=2; ELSE DO;IF I=2 THEN I=1; ELSE DO;
PUT LIST('НЕДОПУСТИМОЕ ЗНАЧЕНИЕ I: ',I,' ЗАМЕНЕНО НА 1');
I=1;
END;END;

Категории:
Недавний выпускник школы IBM. Не более одного из десяти окончивших эту школу знают разницу между 2 и "2". Удивительно, как можно вообще программировать без знания столь фундоментальных понятий.
Преподаватель программирования. Это решение хуже предыдущего. Много ли, однако, обучающих программированию сами написали и отладили хотя бы одну программу?
Программист на Фортране, только что закончивший курсы по PL/1. Да, старую собаку не научишь новым штукам! Это решение дает верный результат, но это всё, что можно про него сказать.
Программист на Ассемблере, прошедший тот же курс. Это решение не является ни прямым, ни эффективным. В нём есть та прелесть, что оно не содержит самомодифицирующихся кодов, но это лишь результат возврата на землю после изучения языка высокого уровня.
Системный аналитик. Прекрасная иллюстрация для тех, кто думает, что главная обязанность системного аналитика - это разработка такого алгоритма, в котором окажется некомпетентным даже хороший и опытный программист.
Computer scientist. Наверное, это самое умное решение. Однако такое "сальто-мортале" без комментариев оказывается весьма непонятным. Искусство требует жертв, а жертвой будет тот, кто будет разбираться в этой программе - может быть, сам автор спустя три месяца.
Математик. Очень похоже на предыдущее, столь же элегантно, но опять-таки та же проблема: как в этом разобраться?
Секретчик. Программист, заботящийся о секретности своей программы. Вот работа настоящего композитора, и, конечно, никаких комментариев. "Я могла бы придумать и более запутанный способ, как это сделать", - с гордостью сказала Белая Королева.
Структурный программист. Каждому ясно, что сие произведение - структурная программа. Но структурная программа характеризуется не отступами от края листа, а прежде всего наличием внутренней логики.
Хороший программист. Заметьте, что ни одно из предыдущих решений не проверяло диапазон значений I, а это весьма опасно. Вас не спасет ни структурность, ни фантастические алгоритмы, ни элегантность решения, если вдруг окажется, что I первоначально не было равно ни единице, ни двойке.

НЕ ПОНРАВИЛОСЬ (-1)   --   прочитал (НЕ ОЦЕНИВАТЬ)   --   ПОНРАВИЛОСЬ (+1)

[в начало]
 

 

Copyrights © 2003 - 2022, T&D