Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
55
Добавлен:
10.05.2014
Размер:
1.47 Кб
Скачать
program hanoi;
type
str100 = string[100];
str11 = string[11];

function get_string(message:str100):str11;
var
response:str11;
begin
write(message,': ');
readln(response);
get_string:=response;
end;
function get_byte(message:str100):byte;
var
response:byte;
begin
write(message,': ');
readln(response);
get_byte:=response;
end;
procedure open_file(file_name:str11;var opened_file:text);
begin
assign(opened_file,file_name);
rewrite(opened_file);
end;
procedure do_hanoi(var file_out:text;peg_from,peg_to,peg_swap:char;left_out:byte);
begin
if(left_out<>0)then{Ґб«Ё ҐйҐ ®бв «Ёбм Ў«Ё­л}
begin
do_hanoi(file_out,peg_from,peg_swap,peg_to,left_out-1);{ЇҐаҐ¤ўЁЈ Ґ¬ Ў«Ё­­Ёжг n-1 га®ў­п ­  ўаҐ¬Ґ­­л© бвҐа¦Ґ­м}
writeln(file_out,peg_from,' -> ',peg_to);{ЇҐаҐ¤ўЁЈ Ґ¬ Ў«Ё­ ¤ ­­®Ј® га®ў­п ­  § ¤ ­­л© бвҐа¦Ґ­м}
do_hanoi(file_out,peg_swap,peg_to,peg_from,left_out-1);{ў®§ўа й Ґ¬ Ў«Ё­­Ёжг n-1 га®ў­п ­  § ¤ ­­л© бвҐа¦Ґ­м}
end;
end;

var
file_name:str11;
file_out:text;
n:byte;
begin
n:=get_byte('‚ўҐ¤ЁвҐ зЁб«® Ў«Ё­®ў ­  бвҐа¦­Ґ A');{Ї®«гз Ґ¬ зЁб«® Ў«Ё­®ў ¤«п ЇҐаҐ¬ҐйҐ­Ёп}
file_name:=get_string('‚ўҐ¤ЁвҐ Ё¬п д ©«  ¤«п ўлў®¤ ');{Ї®«гз Ґ¬ Ё¬п д ©«  ¤«п ўлў®¤ }
open_file(file_name,file_out);{®вЄалў Ґ¬ д ©« ¤«п ўлў®¤ }
do_hanoi(file_out,'A','B','C',n);{ЇҐаҐЄ« ¤лў Ґ¬ Ў«Ё­л ४габЁў­®}
close(file_out);{§ Єалў Ґ¬ д ©«}
writeln('ђҐ§г«мв вл § ЇЁб ­л ў д ©« ',file_name);
readln;
end.
Соседние файлы в папке 01