Предмет: Информатика, автор: YzmpeyZZ

Задание на TurboPascal

Приложения:

Ответы

Автор ответа: mirageKZ
0

Ответ:

в константах задаётся ширина рамки, если надо. В процедуре рассчитывается положение записей в зависимости от длинны данных - будет всегда по центру

const

 width=50; (* ширина рамки*)

(* это сама процедура, которая рисует рамку*)

procedure drawtitel(s1,s2: string);

var   l1 :integer;

 procedure drawEl(sym:string; k:integer; bk: boolean);

 var    j:integer;

 begin

   if not bk then write('*');

   for j:=1 to k do write(sym);

   if bk then begin

     write('*');

     writeln();

   end;  

 end;

begin

 drawEl('*', width, true);

 l1:=trunc((width-10)/2);

 drawEl(' ', l1, false);

 write('Программа');

 drawEl(' ', width-l1 -10, true);

 

 l1:=trunc((width-length(s1))/2);

 drawEl(' ', l1, false);

 write(s1);

 drawEl(' ', width-l1-length(s1)-1, true);

 

 l1:=trunc((width-(length('Автор: '+s2)))/2);

 drawEl(' ', l1, false);

 write('Автор: '+s2);

 drawEl(' ', width-l1-length('Автор: '+s2)-1, true);

 drawEl('*', width, true);

end;

begin

(* так надо вызывать процедуру, в параметрах надо передать название программы и ФИО *)

 drawtitel('название программы', '<ФИО>');

end.

Похожие вопросы
Предмет: Английский язык, автор: линок8