\medskip \eng{1} При кои оператор или блок, поставен на мястото на $\ldots$ програмата ще отпечати числото 24: \vspace{-3mm}\begin{verbatim} program rec; function recurs(k:integer):integer; begin if k=0 then ... else recurs:=k*recurs(k-1); end; begin writeln(recurs(4)) end. \end{verbatim}\vspace{-6mm} \medskip \eng{2} Отбележете оператор, който да се постави на мястото на ... така, че при изпълнение на програмата в редицата отпечатени знаци да се съдържа подредицата 121. \vspace{-3mm}\begin{verbatim} program p121; procedure r121(i: integer); begin ... if i div 10 <> 0 then r121(i div 10); end; begin r121(122) end. \end{verbatim}\vspace{-6mm} \medskip \eng{3} Кои редове представляват правилна инициализация на променливи в секцията \verb|const|: \medskip \eng{4} Дадена следната програма с липсващ ред: \vspace{-3mm}\begin{verbatim} const T:string[10]='test3'; var k: byte; begin ... k:=pos('t',T); writeln(k); end. \end{verbatim}\vspace{-6mm} Посочете оператор, който да се постави на мястото на $\ldots$ и програмата да отпечати числото 4. \medskip \eng{5} Кой оператор може да се постави на мястото на ... така, че програмата да се компилира успешно и при изпълнението \'и на екрана да се отпечата \verb|Error!| ако:\\ -- съществува файл с име \verb|C:\mydir\myfile|;\\ -- това е единствения файл с име \verb|myfile| във файловата система;\\ -- текущата директория е \verb|C:\temp|. \vspace{-3mm}\begin{verbatim} const ...; var f: file of real; begin assign(f,name); {$I-}reset(f);{$I+} if IOresult<>0 then writeln('Error!') else close(f); end. \end{verbatim}\vspace{-6mm} \medskip \eng{6} Дадени са следните дефиниции: \vspace{-3mm}\begin{verbatim} type styp=array[1..5] of string; pstyp=^styp; var pts: ^string; ptm: pstyp; const st: string='1234'; \end{verbatim}\vspace{-6mm} Отбележете формално верните оператори за присвояване. \medskip \eng{7} Дадени са следните дефиниции: \vspace{-3mm}\begin{verbatim} type mra=array[byte] of char; mrd=record i,j: ^char; p: string; end; var n: ^mra; m: array[byte] of mrd; s: string; \end{verbatim}\vspace{-6mm} Отбележете променливите от тип \verb|char|. \medskip \eng{8} Даден е аритметичния израз \verb|a*(b+c)*d-e*f| и е представен като двоично дърво. Отбележете метод за обхождане на двоично дърво, който генерира подредицата \verb|*d*|: \medskip \eng{9} Дадена е следната част от програма: \vspace{-3mm}\begin{verbatim} type varzap=record m: integer; case byte of 0:(b:array[1..4] of byte); 1:(a:array[1..2] of integer); 2:(s:string[3]); 3:(c:record i1,i2:integer end); 4:(d:record b1,b2:byte; i0:integer end); 5:(e:record c1,c2:char; d1,d2:byte end); end; var Z: varzap; i: integer; begin for i:=1 to 3 do Z.b[i]:=0; Z.b[4]:=1; ... end. \end{verbatim}\vspace{-6mm} Отбележете булевите изрази със стойност \verb|TRUE|, след като са изпълнени първите два изпълними оператора на програмата. \medskip \eng{10} Дадена е следната част от програма: \vspace{-3mm}\begin{verbatim} type varzap=record x: integer; case byte of 5:(b:record b1,b2,b3,b4:byte end); 6:(f:record f1:array[0..1] of byte; f2,f3:char end); 7:(g:array[-1..0] of record ch1,ch2:char end); 8:(h:record z0:integer; z1:array[boolean] of byte end); 9:(i:array[1..4] of boolean); end; var Z: varzap; begin with Z.b do begin b1:=0; b2:=0; b3:=0; b4:=1 end; ... end. \end{verbatim}\vspace{-6mm} Отбележете булевите изрази със стойност \verb|false|, след като е изпълнен оператора \verb|with|. \medskip \eng{11} Дадена е думата МАТЕМАТИКА. Отбележете съответствията на срещащите се букви и крайни редици от 0 и 1, които са оптимални кодове от алгоритъма на Хофман. \medskip \eng{12} Дадени се следните дефиниции: \vspace{-3mm}\begin{verbatim} type pt=^klon; klon=record i: integer; g,d: pt; end; \end{verbatim}\vspace{-6mm} Отбележете процедурата, която обхожда предварително създадено двоично дърво като свързан списък. \medskip \eng{13} Дадена е структура на линеен списък: \vspace{-3mm}\begin{verbatim} type ukaz=^lin_spi; lin_spi=record s: set of char; pred, nasl: ukaz; end; \end{verbatim}\vspace{-6mm} Дадени са операция с линеен списък и процедура. Отбележете подточките, където процедурата реализира операцията.