Pascal News
Pascal News
Pascal News
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
121<br />
122<br />
123<br />
124<br />
125<br />
126<br />
127<br />
128<br />
129<br />
130<br />
131<br />
132<br />
133<br />
134<br />
135<br />
136<br />
137<br />
138<br />
139<br />
140<br />
141<br />
142<br />
143<br />
144<br />
145<br />
146<br />
147<br />
148<br />
149<br />
150<br />
151<br />
152<br />
153<br />
154<br />
155<br />
156<br />
157<br />
158<br />
159<br />
160<br />
161<br />
162<br />
163<br />
164<br />
165<br />
166<br />
167<br />
168<br />
169<br />
170<br />
111<br />
172<br />
113<br />
174<br />
115<br />
116<br />
177<br />
118<br />
179<br />
180<br />
get~lnteger := ans<br />
END {GET_INTEGER}:<br />
PROCEDURE add_one(nu~_left: integer: VAR ~h: alphabet: VAR tr:<br />
treept) :<br />
PROCEDURE start(VAR t: treept):<br />
BEGIN<br />
IF t = NIL THEN<br />
BEGIN<br />
new(t): t"~ fruit := false:<br />
to,. right := NIL<br />
END<br />
END (STARTt,<br />
BEGIN (ADO_ONE)<br />
depth := depth t 1:<br />
IF depth > max depth<br />
BEGIN<br />
wrlteln(tty,<br />
THEN<br />
t~,.<br />
left := NIL;<br />
'Your file is not compatible with this programS'G'),<br />
GOTO 13<br />
END:<br />
IF num_left = 0<br />
THEN BEGIN tr·,. fruit := true; tr·,. ch := kh END<br />
ELSE<br />
IF get_bit = 0<br />
THEN<br />
BEGIN<br />
start(tr·,. left),<br />
add_one(num_left - 1, kh, tr·,. lett)<br />
END<br />
ELSE<br />
BEGIN<br />
start{tr·,. rlqht)'<br />
add_one(num_left -<br />
END,<br />
depth := depth - 1<br />
END UDD-ONE};<br />
BEGIN (FILL_TREE)<br />
save_tree := branch;<br />
FOR 1 := mlnchar TO 127 DO<br />
branch := save_tree<br />
END (FILL_TREE),<br />
PROCEDURE translate:<br />
PROCEDURE convert(t: treept):<br />
BEGIN<br />
IF to,. fruit<br />
ELSE<br />
THEN<br />
1, kh, tr",. rlqht)<br />
add_one(qet_inteqer, I, branch)'<br />
write(out_flle, chr(t·, ch»<br />
181<br />
182<br />
183<br />
184<br />
1115<br />
1116<br />
187<br />
188<br />
189<br />
190<br />
191<br />
192<br />
193<br />
194<br />
195<br />
196<br />
197<br />
198<br />
199<br />
U' done<br />
THEN ~rlteln(tty, 'WarningS Character mlsmatchS"G')<br />
ELSE<br />
IF get_bit = 0 THEN convert(t·. left)<br />
ELSE convert(t·. right)<br />
END (CON VERTI:<br />
BEGIN (TRANSLATE)<br />
re~rlte(out_flleJ:<br />
END (TRANSLATE):<br />
FlEGIIl (RECALL}<br />
wrtteln(tty,<br />
'version :I<br />
wrlteln(tty,<br />
wrlteln(tty,<br />
END (RECALL}.<br />
WHILE NOT done DO<br />
convert(branch)<br />
of Recall (Not co~patable with version I)S'):<br />
'In1tlallzing,'l; Init: 1epth:= 0; flll_tree; ~<br />
'RecalUnq.'l; tranSlate; 13: ~<br />
VI<br />
N<br />
""<br />
N<br />
--cD<br />
00<br />
,. -u<br />
'" m