Програма, которая виводит свой текст
Помогите написать програму, которая виводит свой текст на екран(Полностью)!
Может, тебе еще Интернет на дискетку записать?
Помогите написать програму, которая виводит свой текст на екран(Полностью)!
Пошурши в инете. Я как-то находил кучу таких прог на разных языках.
Пошурши в инете. Я как-то находил кучу таких прог на разных языках.
Невозможно такую прогу написать (которая ПОЛНОСТЬЮ выводит свой текст).
Невозможно такую прогу написать (которая ПОЛНОСТЬЮ выводит свой текст).
Я конечно утверждать не буду (потому что не запускал ее), но в одной книге по математическим трюкам в программировании видел такое на С++.
Причем в одной или двух строчках все было.
Шотя вчера чють пальцы себе не повыворачивал, а на Паскале не смог такое написать. :(
В плане прикола.
Самый короткий код (не програма, а код), который себя виводит - ето пустой батник :)
тут такие решения. Попробывал одно - нашел маленькое несоответствие. Позже попробую другие варианты
Шотя вчера чють пальцы себе не повыворачивал, а на Паскале не смог такое написать. :(
Так это фигня. Я думал, вы тут про функциональное программирование вспомните. Если не путаю, на Лиспе можно такую программу сбацать. Правда, изучающие Лисп, как правило, Интернет на дискетку записать не просят.
Может, тебе еще Интернет на дискетку записать?
Если сможешь, попробуй. Но такая прога должна существовать либо на Pascal'e, либо на С++.
А дикетку с интернетом потом как-нибудь покажеш :!!!: :D :D :D :D :D
А вообще, шел бы ты в Google (не слишком грубо? :roll: ) Там такого добра, ну просто завались, повторю еще раз...
program IntrospectiveProgram;
var
Stgs: array[1..20] of String;
i, j: Integer;
begin
Stgs[ 1] := '';
Stgs[ 2] := ' WriteLn("program IntrospectiveProgram;");';
Stgs[ 3] := ' WriteLn("var");';
Stgs[ 4] := ' WriteLn(" Stgs: array[1..20] of String;");';
Stgs[ 5] := ' WriteLn(" i, j: Integer;");';
Stgs[ 6] := ' WriteLn;';
Stgs[ 7] := ' WriteLn("begin");';
Stgs[ 8] := '';
Stgs[ 9] := ' for i := 1 to 20 do';
Stgs[10] := ' WriteLn(" Stgs[",i:2,"] := """, Stgs
, """;");';
Stgs[11] := ' WriteLn;';
Stgs[12] := '';
Stgs[13] := ' for i := 1 to 20 do';
Stgs[14] := ' for j := 1 to Length(Stgs) do';
Stgs[15] := ' if Stgs[j] = Chr(34) then';
Stgs[16] := ' Stgs[j] := Chr(39);';
Stgs[17] := '';
Stgs[18] := ' for i := 1 to 20 do';
Stgs[19] := ' WriteLn(Stgs);';
Stgs[20] := 'end.';
WriteLn('program IntrospectiveProgram;');
WriteLn('var');
WriteLn(' Stgs: array[1..20] of String;');
WriteLn(' i, j: Integer;');
WriteLn;
WriteLn('begin');
for i := 1 to 20 do
WriteLn(' Stgs[',i:2,'] := ''', Stgs, ''';');
WriteLn;
for i := 1 to 20 do
for j := 1 to Length(Stgs) do
if Stgs[j] = Chr(34) then
Stgs[j] := Chr(39);
for i := 1 to 20 do
WriteLn(Stgs);
end.
Помогите написать програму, которая виводит свой текст на екран(Полностью)!
Открывай файл с текстом программы как текстовик, и выводи построчно на экран (если прога больше 24 строк, придется "отлавливать клавиши)
тока запомни в переменной имя файла...
если возникнут сложности с текстовиком, обращайся
[email]koblik@rambler.ru[/email]
то, о чем ты просишь, называется интроспективной программой. вот код такой программы на паскале:
program IntrospectiveProgram;
var
Stgs: array[1..20] of String;
i, j: Integer;
begin
Stgs[ 1] := '';
Stgs[ 2] := ' WriteLn("program
{.............................}
for i := 1 to 20 do
WriteLn(Stgs);
end.
А на кой всё это?
А на кой всё это?
Что бы было.
А если серьйезно, то для меня лично это было интересной задачей, которуя раньше в голову не приходила. Решение я к сожалению сам не придумал, а нашел в инете.