Программа для вычерчивания своего имени - Pascal

Узнай цену своей работы

Формулировка задачи:

Написать программу для вычерчивания на экране своего имени с помощью символа «*».

Решение задачи: «Программа для вычерчивания своего имени»

textual
Листинг программы
program Project1;


uses  crt;
    const
t ='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
my_font: array [1..26] of array [0..4] of string[11] =
(('    ***    ','   ** **   ','  **   **  ',' ********* ','**       **'),
 ('*****      ','**    *    ','******     ','**     *   ','******     '),
 ('  *****    ','**     *   ','**         ','**     *   ','  *****    '),
 ('*******    ','**     **  ','**      *  ','**     **  ','*******    '),
 ('*******    ','**         ','*****      ','**         ','*******    '),
 ('*******    ','**         ','*****      ','**         ','**         '),
 ('  *****    ','**         ','**   **    ','**     *   ','  *****    '),
 ('**     **  ','**     **  ','*********  ','**     **  ','**     **  '),
 ('   ****    ','    **     ','    **     ','    **     ','   ****    '),
 ('   ****    ','    **     ','    **     ',' *  **     ','  ***      '),
 ('**    **   ','**  **     ','****       ','**  **     ','**    **   '),
 ('**         ','**         ','**         ','**         ','*******    '),
 ('***     ***','** *   * **','**  * *  **','**   *   **','**       **'),
 ('***     ** ','** **   ** ','**  **  ** ','**   ** ** ','**     *** '),
 ('   *****   ','**       **','**       **','**       **','   *****   '),
 ('*****      ','**   *     ','*****      ','**         ','**         '),
 ('   *****   ','**       **','**       **','**    *  **','   *****   '),
 ('*****      ','**   *     ','*****      ','** **      ','**  **     '),
 ('  ****     ',' **    *   ','   **      ','*    **    ','  ****     '),
 ('********   ','   **      ','   **      ','   **      ','   **      '),
 ('**       **','**       **','**       **',' **     ** ','   *****   '),
 ('**       **',' **     ** ','  **   **  ','   ** **   ','    ***    '),
 ('**       **','**       **','**   *   **',' **  *  ** ','   *   *   '),
 ('**     **  ',' **   **   ','   ***     ',' **   **   ','**     **  '),
 ('**      ** ',' **    **  ','   ****    ','    **     ','    **     '),
 ('*******    ','    **     ','   **      ',' **        ','*******    '));

var
name_, temp_:string;
i, y, x, n_str, last_char, l_scr:integer;

begin
while name_<>'exit' do

begin
writeln('vvedite imya');
readln(name_);
temp_:='';
writeln;
l_scr:=6;
last_char:=l_scr;


for  n_str:= 0 to Length(name_) div l_scr do
 begin
      if n_str = Length(name_) div l_scr then
       last_char:= Length(name_) mod l_scr ;
   for x:=0 to 4 do
          begin
    for i:=1 to last_char do
       begin
        y:=pos(name_[i+(n_str*l_scr)],t);
         if y>26 then
        y:=y-26;
        if y>0 then
         temp_:=temp_+my_font[y,x]+' '
         else
         temp_:=temp_+'            ';
       end;

  writeln(temp_);
  temp_:='';
        end;
writeln;
writeln('---------------------------------');
writeln;
 end;
end;

end.

Объяснение кода листинга программы

  1. Объявлены константа t, массив myfont и переменные name, temp_, i, y, x, n_str, last_char, l_scr типа string и integer соответственно.
  2. В цикле while программа запрашивает у пользователя ввод имени и сохраняет его в переменную name_.
  3. Переменная temp_ инициализируется пустой строкой.
  4. В цикле nstr от 0 до Length(name) div l_scr происходит разбивка имени на части по l_scr символов.
  5. В цикле x от 0 до 4 происходит разбивка каждой части на символы и проверка каждого символа на наличие в массиве t.
  6. Если символ найден, то к переменной temp_ добавляется соответствующий элемент массива my_font.
  7. После обработки всех символов в части выводится полученная строка.
  8. После вывода строки переменная temp_ инициализируется пустой строкой.
  9. После обработки всех частей выводится горизонтальная линия из символов '-'.
  10. После вывода линии выводится сообщение ---------------------------------.
  11. В конце программы выводится символ 'end'.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5
Похожие ответы