-Поиск по дневнику

Поиск сообщений в Н_Д_Ч

 -Подписка по e-mail

 

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 25.05.2004
Записей:
Комментариев:
Написано: 6061


нагло стащино с http://www.server.md/articles.php?aid=278

Вторник, 22 Марта 2005 г. 12:34 + в цитатник





Какой ты программист?
Опубликовано в Datamation, Март 1977 года (!)

Этот тест расскажет о вашем программировании больше, чем вы хотели бы знать.

Задача:

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

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

Решения:



  1. IF I='2' THEN I=1;

    ELSE I=2;

     

  2. IF I=2 THEN I=1;

    IF I=1 THEN I=2;

     

  3. IF I=1 THEN GOTO SKIP;

    I=1;

    GOTO DONE;

    SKIP:I=2;

    DONE:

     

  4. J=2;

    IF I=2 THEN J=1;

    I=J;

     

  5. 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:

     

  6. DECLARE ONETWO(2) FIXED BIN(31) INIT(2,1);

    I=ONETWO(I);

     

  7. I=3-I;


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

     

  9. IF I=2

      THEN DO;

        I=1;

      END;

    ELSE DO;

        I=2;

      END;

     

  10. 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; 

дальше по выбранному ответу будут характиризовать:_)



Категории:




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

  2. Преподаватель программирования. Это решение хуже предыдущего. Много ли, однако, обучающих программированию сами написали и отладили хотя бы одну программу?

  3. Программист на Фортране, только что закончивший курсы по PL/1. Да, старую собаку не научишь новым штукам! Это решение дает верный результат, но это всё, что можно про него сказать.

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

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

  6. Computer scientist. Наверное, это самое умное решение. Однако такое "сальто-мортале" без комментариев оказывается весьма непонятным. Искусство требует жертв, а жертвой будет тот, кто будет разбираться в этой программе - может быть, сам автор спустя три месяца.

  7. Математик. Очень похоже на предыдущее, столь же элегантно, но опять-таки та же проблема: как в этом разобраться?

  8. Секретчик. Программист, заботящийся о секретности своей программы. Вот работа настоящего композитора, и, конечно, никаких комментариев. "Я могла бы придумать и более запутанный способ, как это сделать", - с гордостью сказала Белая Королева.

  9. Структурный программист. Каждому ясно, что сие произведение - структурная программа. Но структурная программа характеризуется не отступами от края листа, а прежде всего наличием внутренней логики.

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

Заметки_и_мысли   обратиться по имени Re: нагло стащино с http://www.server.md/articles.php?aid=278 Вторник, 22 Марта 2005 г. 16:02 (ссылка)
Класс :-) Я оказывается математик :-D
В колонках играет: 059 BTRIBE - QUE MALA VIDA

LI 3.9.25
Ответить С цитатой В цитатник
Н_Д_Ч   обратиться по имени Вторник, 22 Марта 2005 г. 16:33 (ссылка)
=)))) тебе хорошшшоо...
а я сначала ответы посматрела... :-))) теперь не знаю что это значит?;-)))))))))
Ответить С цитатой В цитатник
Заметки_и_мысли   обратиться по имени Re: Ответ в Н_Д_Ч; нагло стащино с http://www.server.md/articles.php?aid=278 Вторник, 22 Марта 2005 г. 17:48 (ссылка)
Исходное сообщение Н_Д_Ч: =)))) тебе хорошшшоо...
а я сначала ответы посматрела... :-))) теперь не знаю что это значит?;-)))))))))


студентка :-D
В колонках играет: Track 11

LI 3.9.25
Ответить С цитатой В цитатник
Н_Д_Ч   обратиться по имени Вторник, 22 Марта 2005 г. 17:53 (ссылка)
=) а это хорошо или плохо?:_)
Ответить С цитатой В цитатник
Заметки_и_мысли   обратиться по имени Re: Ответ в Н_Д_Ч; нагло стащино с http://www.server.md/articles.php?aid=278 Вторник, 22 Марта 2005 г. 21:34 (ссылка)
Исходное сообщение Н_Д_Ч: =) а это хорошо или плохо?:_)


В данном случае, к сожалению, в худшем смысле этого слова....
В колонках играет: OLIVER SHANTI - SACRAL NIRVANA

LI 3.9.25
Ответить С цитатой В цитатник
Wedmak   обратиться по имени Среда, 23 Марта 2005 г. 01:56 (ссылка)
мне 9-й вариант нравится , цикл это - всегда стильно, даже если он там и не нужен :) на самом деле, рисуя программу , выбрал бы или 1-й или 2-й вариант - они абсолютно бейсиковские :)
Ответить С цитатой В цитатник
Заметки_и_мысли   обратиться по имени Re: Ответ в Н_Д_Ч; нагло стащино с http://www.server.md/articles.php?aid=278 Среда, 23 Марта 2005 г. 08:05 (ссылка)
Исходное сообщение Wedmak: мне 9-й вариант нравится , цикл это - всегда стильно, даже если он там и не нужен :) на самом деле, рисуя программу , выбрал бы или 1-й или 2-й вариант - они абсолютно бейсиковские :)


первый же не правильный :-))))

LI 3.9.25
Ответить С цитатой В цитатник
Н_Д_Ч   обратиться по имени Среда, 23 Марта 2005 г. 11:30 (ссылка)
Заметки_и_мысли, вот так всегда - обласкает так обласкает....
Ответить С цитатой В цитатник
Н_Д_Ч   обратиться по имени Среда, 23 Марта 2005 г. 11:32 (ссылка)
Wedmak,
Ответить С цитатой В цитатник
BJohn   обратиться по имени Со многим можно поспорить. Среда, 23 Марта 2005 г. 14:46 (ссылка)
Со многим можно поспорить. Например с "I принимает значения 1 или 2", а в конце пишется, что может вовсе и не так.. Уж определитесь.. Но в целом не лишено логики и здравого смысла. :)

LI 3.9.25
Ответить С цитатой В цитатник
Н_Д_Ч   обратиться по имени Среда, 23 Марта 2005 г. 14:55 (ссылка)
BJohn, =)))ну... они определились.. но когла пишешь программу- действительно не мешало бы проверить, что польхователь потом накарябает туда:)
Ответить С цитатой В цитатник
Wedmak   обратиться по имени Среда, 23 Марта 2005 г. 20:32 (ссылка)
Заметки_и_мысли, почему 1-й вариант неправильный? :)
Если I равно Двум, тогда I равно единице
иначе I равно двум


т.е. если двойка на входе, то она превращается в единицу, при всех других условиях ( в том числе если на входе I=единице) то на выходе двойка :)
Ответить С цитатой В цитатник
Заметки_и_мысли   обратиться по имени Re: Ответ в Н_Д_Ч; нагло стащино с http://www.server.md/articles.php?aid=278 Четверг, 24 Марта 2005 г. 07:54 (ссылка)
Исходное сообщение Wedmak: Заметки_и_мысли, почему 1-й вариант неправильный? :)
Если I равно Двум, тогда I равно единице
иначе I равно двум

т.е. если двойка на входе, то она превращается в единицу, при всех других условиях ( в том числе если на входе I=единице) то на выходе двойка :)


Поскольку I= '2', а не 2 :-) Видите разницу? ;-)) '2' - это строковая, или символьная константа :-)

LI 3.9.25
Ответить С цитатой В цитатник
Wedmak   обратиться по имени Четверг, 24 Марта 2005 г. 09:38 (ссылка)
,Заметки_и_мысли, точно, не обратил внимания на апострофы :)
Ответить С цитатой В цитатник
Заметки_и_мысли   обратиться по имени Re: Ответ в Н_Д_Ч; нагло стащино с http://www.server.md/articles.php?aid=278 Четверг, 24 Марта 2005 г. 17:50 (ссылка)
Исходное сообщение Wedmak: ,Заметки_и_мысли, точно, не обратил внимания на апострофы :)


:-)
В колонках играет: Johann Sebastian Bach - Trio a 2 Clav. e Pedale

LI 3.9.25
Ответить С цитатой В цитатник
Комментировать К дневнику Страницы: [1] [Новые]
 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку