Sign in Join
Wiki copytemporary

Basic Pascal Tutorial/Chapter 4/Solution/bg: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Basic Pascal Tutorial/Chapter 4/Solution/bg

OldNewLine
1+## 4Ga - Решение на задачата за Ханойските кули
2+
3+*(author: Tao Yue, state: unchanged)*
4+
5+``` pascal
6+(* Автор: Tao Yue
7+ Дата: 13 July 2000
8+ Описание:
9+ Решение на задачата за Ханойските кули
10+ Версия:
11+ 1.0 - оригинална версия
12+*)
13+
14+program TowersofHanoi;
15+
16+var
17+ numdiscs : integer;
18+
19+(********************************************************)
20+
21+procedure DoTowers (NumDiscs, OrigPeg, NewPeg, TempPeg : integer);
22+(* Описание на параметрите:
23+ NumDiscs -- брой на дисковете на колче OrigPeg
24+ OrigPeg -- номер на колче на кулата
25+ NewPeg -- номер на колче, където да се премести кулата
26+ TempPeg -- колче за временно използване
27+*)
28+
29+begin
30+ (* Обработване на базовия случай -- един диск *)
31+ if NumDiscs = 1 then
32+ writeln (OrigPeg, ' ---> ', NewPeg)
33+ (* Обработване на всички останали случаи *)
34+ else
35+ begin
36+ (* Първо, преместване на всички дискове без на-долния
37+ на колче TempPeg, използвайки NewPeg за временно колче
38+ за преместването *)
39+ DoTowers (NumDiscs-1, OrigPeg, TempPeg, NewPeg);
40+ (* После, преместване на най-долния диск от колче OrigPeg
41+ на колче NewPeg *)
42+ writeln (OrigPeg, ' ---> ', NewPeg);
43+ (* Накрая, преместване на дисковете, които са в момента на
44+ колче TempPeg на колче NewPeg, използвайки OrigPeg като временно
45+ колче за преместването *)
46+ DoTowers (NumDiscs-1, TempPeg, NewPeg, OrigPeg)
47+ end
48+end;
49+
50+(********************************************************)
51+
52+begin (* Main *)
53+ write ('Моля въведете броя на дисковете в кулата ===> ');
54+ readln (numdiscs);
55+ writeln;
56+ DoTowers (numdiscs, 1, 3, 2)
57+end. (* Main *)
58+```
59+
60+---
61+*From the Free Pascal wiki, page "Basic Pascal Tutorial/Chapter 4/Solution/bg", as it stood on 2022-08-20 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history