Помощь - Поиск - Пользователи - Календарь
Полная версия: Соревнование 2
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Altair
Написать программу, которая выводит свой исходный текст на Паскале.
запрещается использовать файлы и массивы в программе.

Срок до 7 февраля.
Высылать программы (.PAS) на e-mail zharkih@list.ru
с темой "Соревнование 2."

победителям +1 к рейтингу на форуме.
Победители - первые 3 участника приславшие свои решения в указанный срок.


ВНИМАНИЕ.
к коду программы дожно прилагаться ПОЯСНЕНИЕ алгоритма... (но сам код без коментариев)
Altair
Итак, я думаю, что соревнование завершенно, т.к. 3 решения мне уже пришли, а по условию, награждаются только первые 3 места.
Итак, победители: (по времени ответа)
1 место - xds
2 место - Junkie
3 место - Digitalator


Всем им повышен рейтинг на 1.

Вот программы, присланные победителями соревнования:


xds
1 вариант:
Код
const c='const c=;begin Write(Copy(c,1,8),#39,c,#39,Copy(c,9,53));end.';begin Write(Copy(c,1,8),#39,c,#39,Copy(c,9,53));end.

2 вариант
Код
const c=#39';begin Write(Copy(c+c+c,37,94))end.const c=#39';begin Write(Copy(c+c+c,37,94))end.


Junkie
Код

uses crt;
procedure yeah(s:string);
const a:byte=3;b:byte=11;begin gotoxy(2,b);
writeln(chr(121),chr(101),chr(97),chr(104),chr(40),
chr(39),s,chr(39),chr(41),chr(59));
gotoxy(2,a);writeln(s);a:=a+1;b:=b+1;
gotoxy(2,19);writeln(chr(101),chr(110),chr(100),chr(46));end;
begin clrscr;
yeah('uses crt;');
yeah('procedure yeah(s:string);');
yeah('const a:byte=3;b:byte=11;begin gotoxy(2,b);');
yeah('writeln(chr(121),chr(101),chr(97),chr(104),chr(40),');
yeah('chr(39),s,chr(39),chr(41),chr(59));');
yeah('gotoxy(2,a);writeln(s);a:=a+1;b:=b+1;');
yeah('gotoxy(2,19);writeln(chr(101),chr(110),chr(100),chr(46));end;');
yeah('begin clrscr;');
end.



Digitalator

Код
const a='const a=';b=';begin write(a,#39,a,#39#59#98#61#39,b,#39,b)end.';begin write(a,#39,a,#39#59#98#61#39,b,#39,b)end.


А сами они это писали или нет - на совести победителей.

Вот программа, которая была написанна мною... я шел совсем другим путем, как мне кажется более логичным.
Код
var s:string;begin s:='var s:string;begin s:=;Insert(s,s,23);insert(#39,s,23);insert(#39,s,113);writeln(s) end.';
Insert(s,s,23);insert(#39,s,23);insert(#39,s,113);writeln(s) end.

Алгоритм: пишим в переменную частб программы, кроме присвоения самой строки, а потом строку вставляем в только что присвоенную, и добавляем кавычки где надо...

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