Программа для вычерчивания своего имени - 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.
Объяснение кода листинга программы
- Объявлены константа t, массив myfont и переменные name, temp_, i, y, x, n_str, last_char, l_scr типа string и integer соответственно.
- В цикле while программа запрашивает у пользователя ввод имени и сохраняет его в переменную name_.
- Переменная temp_ инициализируется пустой строкой.
- В цикле nstr от 0 до Length(name) div l_scr происходит разбивка имени на части по l_scr символов.
- В цикле x от 0 до 4 происходит разбивка каждой части на символы и проверка каждого символа на наличие в массиве t.
- Если символ найден, то к переменной temp_ добавляется соответствующий элемент массива my_font.
- После обработки всех символов в части выводится полученная строка.
- После вывода строки переменная temp_ инициализируется пустой строкой.
- После обработки всех частей выводится горизонтальная линия из символов '-'.
- После вывода линии выводится сообщение
---------------------------------
. - В конце программы выводится символ 'end'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д