Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Результаты опроса: Понравилась ли вам загадка
Афтар, давай исчё 4 15.38%
Надо бы тоже попробывать 4 15.38%
А-а-а, нафиг. Пофиг 11 42.31%
Кому это надо? 6 23.08%
КГ/АМ 1 3.85%
Голосовавшие: 26. Вы ещё не голосовали в этом опросе

Ответ
 
Опции темы
Старый 24.09.2010, 22:01   #1
Sibedir
Тот ещё
Профессионал
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Адрес: г. Барнаул
Сообщений: 2,259
Репутация: 931
Подмигивание Что же я написал?

Тема - загадка. Возростные ограничения (для среднестатистического человека): от 14 до 50 лет.

Петя программист в одной солидной фирме занимающейся *******. Однажды его срочно вызвали на работу в воскресенье. Ему позвонил начальник, и умолял приехать. В понедельник нужно было сдавать работу заказчику, а как на зло ударила молния, и погарели сервера. Один из модуле восстановить не удалось.
Начальник был уверен, что никто кроме Пети до завтра модуль написать заного не успеет. Петя был добрым человеком и не смог отказать. Проблема была в том, что Петя очень весело проводил выходные и был бухой.
Но выработанная годами привычка кодить под шафэ дала свои плоды.
За успешно выполненую работу начальник угостил Петю хорошим коньяком. От чего Петя вышел на работу только в среду. Его все благодарили, говорили какой он молодец. А он не мог вспомнить даже то, куда он поехал с вечеринки в воскресенье. Потом он вкупился в суть происходящего и побежал в кабинет. Запустил комп, открыл проект и увидел это
Код:

unit Unit2;

interface

uses
  SysUtils;

type
  TType1 = record
    F1: Real;
    F2: Int64;
    F3: Int64;
  end;

  TType2 = record
    F1: String;
    F2: String;
    F3: Cardinal;
  end;

TCardinalArray = array of Cardinal;

TType2Array = array of TType2;

procedure Proc1 (v: TType1; var s1, s2: String);

function Func1 (a: TType1): TType1;

function Func2 (a, b: TType1): TType1;

function Func3 (a, b: TType1): TType1;

function Func4 (n: String): TType2;

var
  Type2Array: TType2Array;

implementation

function Func4 (n: String): TType2;
var
  i1, i2: Integer;
begin
  Result.F1 := #127;
  Result.F2 := 'NoName';
  Result.F3 := 0;

  i2 := Length (Type2Array) - 1;
  for i1 := 0 to i2 do begin
    if Type2Array[i1].F1 = n then begin
      Result.F1 := n;
      Result.F2 := Type2Array[i1].F2;
      Result.F3 := Type2Array[i1].F3;
      Break;
    end;
  end;
end;

procedure Proc1 (v: TType1; var s1, s2: String);
var
  i1, i2, i3: Integer;
  c1: Cardinal;
  i4, i5: Int64;
begin
  i4 := v.F2;
  i5 := v.F3;

  if i5 = 0 then begin
    s1 := 'Error';
    s2 := 'Error';
    Exit;
  end;

  if (i4 = 0) or (v.F1 = 0) then begin
    s1 := '';
    s2 := '';
    Exit;
  end;

  s1 := '';
  s2 := '';

  i2 := Length (Type2Array) - 1;
  for i1 := 0 to i2 do begin
    c1 := Type2Array[i1].F3;
    i3 := 0;
    while (i4 mod c1) = 0 do begin
      i3 := i3 + 1;
      i4 := i4 div c1;
    end;
    case i3 of
      0: ;
      1: s1 := s1 + #183 + Type2Array[i1].F1;
      else
        s1 := s1 + #183 + Type2Array[i1].F1 + '^' + IntToStr(i3);
    end;
    i3 := 0;
    while (i5 mod c1) = 0 do begin
      i3 := i3 + 1;
      i5 := i5 div c1;
    end;
    case i3 of
      0: ;
      1: s2 := s2 + #183 + Type2Array[i1].F1;
      else
        s2 := s2 + #183 + Type2Array[i1].F1 + '^' + IntToStr(i3);
    end;
  end;

  s1 := Copy (s1, 2, Length(s1)-1);
  s2 := Copy (s2, 2, Length(s2)-1);
end;

function Func2 (a, b: TType1): TType1;
begin
  a := Func1 (a);
  b := Func1 (b);

  if (a.F2 = b.F2) and (a.F3 = b.F3) then begin
    Result.F1 := a.F1 + b.F1;
    Result.F2 := a.F2;
    Result.F3 := a.F3;
  end
  else begin
    Result.F1 := 0;
    Result.F2 := 0;
    Result.F3 := 0;
  end;
end;

function Func3 (a, b: TType1): TType1;
begin
  Result.F1 := a.F1 * b.F1;
  Result.F2 := a.F2 * b.F2;
  Result.F3 := a.F3 * b.F3;
  Result := Func1 (Result);
end;

function Func1 (a: TType1): TType1;
var
  i1, i2: Integer;
  c1: Cardinal;
begin
  if (a.F3 = 0) then begin
    Result.F1 := 0;
    Result.F2 := 0;
    Result.F3 := 0;
    Exit;
  end;

  if (a.F1 = 0) or (a.F2 = 0) then begin
    Result.F1 := 0;
    Result.F2 := 0;
    Result.F3 := 1;
    Exit;
  end;

  Result.F2 := 1;
  Result.F3 := 1;

  i2 := Length (Type2Array) - 1;
  for i1 := 0 to i2 do begin
    c1 := Type2Array[i1].F3;
    while (a.F2 mod c1) = 0 do begin
      if (a.F3 mod c1) = 0 then begin
        a.F2 := a.F2 div c1;
        a.F3 := a.F3 div c1;
      end
      else begin
        Result.F2 := Result.F2 * c1;
        a.F2 := a.F2 div c1;
      end;
    end;
    while (a.F3 mod c1) = 0 do begin
      Result.F3 := Result.F3 * c1;
      a.F3 := a.F3 div c1;
    end;
  end;

  Result.F1 := a.F1 * a.F2 / a.F3;
end;

end.

Бли-и-ин!!! Ни одного мнемонического имени. Что же я написал?

З.Ы.: Убедительная просьба. Если вы найдете решение очень быстро, скиньте ответ мне в личку. Я потом здесь обязательно правильный ответ напишу.
Sibedir вне форума   Ответить с цитированием
Старый 24.09.2010, 22:13   #2
mutabor
Телепат с дипломом
Профессионал
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,928
Репутация: 1570

icq: 401708834
По умолчанию

Ему нужно на Джаву переходить, старшим обфускатором
__________________
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума   Ответить с цитированием
Старый 24.09.2010, 22:20   #3
Sibedir
Тот ещё
Профессионал
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Адрес: г. Барнаул
Сообщений: 2,259
Репутация: 931
По умолчанию

Ага, и зарплату ему выдавать бухлом.
Хи-хи, mutabor, тут ваша подпись очень кстати.
Sibedir вне форума   Ответить с цитированием
Старый 24.09.2010, 22:25   #4
Vikenty
Заслуженный флудер
Профессионал
 
Аватар для Vikenty
 
Регистрация: 31.03.2010
Адрес: Россия. Мск область
Сообщений: 1,474
Репутация: 561

icq: 612979261
По умолчанию

Хороший анекдот
Vikenty вне форума   Ответить с цитированием
Старый 24.09.2010, 22:40   #5
vasek123
Сисадмин и
Профессионал
 
Аватар для vasek123
 
Регистрация: 21.11.2008
Адрес: IP адрес: 198.7.62.204 | Адрес:United States United States, Manassas | Провайдер: LeaseWeb | ищите..
Сообщений: 4,790
Репутация: 1508

icq: 590966827
skype: vasek12314
Сообщение

Пора ему реабилитироваться и переходить на кефир...
__________________
The system administrator without a domain similar to the warrior without a sword.
vasek123 вне форума   Ответить с цитированием
Старый 24.09.2010, 22:40   #6
Levsha100
Влюбленный в С++
ПрофессионалФорумчанин
 
Аватар для Levsha100
 
Регистрация: 20.07.2008
Адрес: город, которого нет.
Сообщений: 4,033
Репутация: 1376

icq: 590368735
По умолчанию

Недавно у меня в твиттере красовался твит:
Цитата:
Комментирую код пока не забыл как он работает. #govnokod #delphi #refactoring
... появились комменты:
Цитата:
//!TODO Убрать эту ****** в релизе
Цитата:
//Тут нуна в радианах, но мне лень переводить, процессору тоже.
и еще
Цитата:
//А вообще вместо этой штуки должна быть загрузка инфы из файла, эх мечты мечты...
__________________
Смотри в корень!
use linux - be happy

Последний раз редактировалось Levsha100; 24.09.2010 в 22:49.
Levsha100 вне форума   Ответить с цитированием
Старый 24.09.2010, 23:33   #7
mutabor
Телепат с дипломом
Профессионал
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,928
Репутация: 1570

icq: 401708834
По умолчанию

Простите за оффтоп, но раз уж затронули комментарии. Дословно не помню, изложу суть:

// Посвящается моей жене, детям, и собаке, к-рые будут меня содержать когда этот код выйдет в релиз

// будущему мне - Извини...
__________________
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума   Ответить с цитированием
Старый 24.09.2010, 23:41   #8
Vikenty
Заслуженный флудер
Профессионал
 
Аватар для Vikenty
 
Регистрация: 31.03.2010
Адрес: Россия. Мск область
Сообщений: 1,474
Репутация: 561

icq: 612979261
По умолчанию

Цитата:
Сообщение от mutabor Посмотреть сообщение
Простите за оффтоп, но раз уж затронули комментарии. Дословно не помню, изложу суть:

// Посвящается моей жене, детям, и собаке, к-рые будут меня содержать когда этот код выйдет в релиз

// будущему мне - Извини...
собака здесь лишняя

Последний раз редактировалось Vikenty; 24.09.2010 в 23:46.
Vikenty вне форума   Ответить с цитированием
Старый 24.09.2010, 23:50   #9
Sibedir
Тот ещё
Профессионал
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Адрес: г. Барнаул
Сообщений: 2,259
Репутация: 931
По умолчанию

Раз уж речь о коментах пошла, вот, есть и такое мнение
http://www.gunsmoker.ru/2010/07/blog-post_31.html
Sibedir вне форума   Ответить с цитированием
Старый 24.09.2010, 23:55   #10
Levsha100
Влюбленный в С++
ПрофессионалФорумчанин
 
Аватар для Levsha100
 
Регистрация: 20.07.2008
Адрес: город, которого нет.
Сообщений: 4,033
Репутация: 1376

icq: 590368735
По умолчанию

Цитата:
Раз уж речь о коментах пошла, вот, есть и такое мнение
Аффтар никогда не программировал на ассемблере,да еще и под контроллер с килобайтом памяти, где код забивается под завязочку.
Да и вообще глупо говорить что не надо вообще писать комменты, нужно искать золотую середину.

Цитата:
собака здесь лишняя
Есть собаки миллионеры, так что не надо.
__________________
Смотри в корень!
use linux - be happy

Последний раз редактировалось Levsha100; 25.09.2010 в 00:08.
Levsha100 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написал прогу в паскаль в ответ после запуска выдает ошибку.Что не так? sawel23 Паскаль 5 27.05.2010 15:37
Написал редактор карт sasha1993 Gamedev - cоздание игр: Unity, OpenGL, DirectX 8 18.07.2009 21:31
вот задачка на массив не сложная.я написал но не хочет рабатать что то BERT Помощь студентам 4 10.03.2009 19:23
Написал прогу в паскале... deu4er Помощь студентам 2 19.11.2008 21:08
Написал бэкдор, оцените KORN Софт 7 18.11.2007 09:55


01:54.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru