Как сделать лесенкой паскаль
Здравствуйте. Подскажите, есть ли способ быстро разнести строки стихов лесенкой, чтобы каждую строку табуляторами не настраивать? Может скрипт какой есть? Или штатными средствами можно?
Валера1966
Как у Маяковского?
Делаете Стиль1.
Параметры:
- сначала отступ красной строки (первой) ПЛЮС 5 мм (или больше?)
- отступ влево МИНУС 5 мм
("минус" не примет программа, если первым вводить этот параметр)
- имя стиля, следующего за данным: Стиль2
Параметры Стиль2:
- красная строка плюс N мм
- отступ влево МИНУС N
- имя стиля, следующего за данным: Стиль3
. и т. д.
Скол долго вам надо следующих друг за другом стилей?
Если в строфе 4 строки, да по нескольку слов.
Вручную придётся разбивать строку для присвоения иных, чем у предыдущих строк, стилей.
Если же слова должны "цепляться" по высоте друг за друга — тогда скрипт надо.
То есть если окончание слова = первый символ нового слова, но строкой ниже.
Организация вывода данных
Чтобы вывести что-то на экран, используется встроенная функция (команда) print. В кавычках записывается текст для вывода – символьная строка, то есть последовательность символов. В начале строки (слева от команды print) не должно быть пробелов – таково требования языка Python.
на экран выводится фраза:
Привет, Вася!
Пробел между строками (элементами списка вывода) встав-ляется автоматически, если он не нужен, при вызове функции print нужно добавить ещё один аргумент с именем sep (от англ. separator – разделитель), равный пустой строке "". Команда
print( "2", "+", "2", "=", "4", sep="" )
выведет все символы без пробелов:
2+2=4
Теперь попробуем вывести второе приветствие:
print( "Привет, Вася!" )
print( "Привет, Петя!" )
Такая программа выведет каждую фразу в отдельной строке:
Привет, Вася!
Привет, Петя!
Это значит, что после вывода всех данных функция print выполняет переход на новую строку, так что следующий вызов print будет выводить данные в новой строке.
Если нужно, чтобы несколько вызовов функции print выводили информацию в одной строке, можно отменить переход на новую строку, указав аргумент с именем end (по-английски – конец), равный пустой строке "":
print( "1", end="" )
print( "23", end="" )
print( " 456" )
Такая программа выведет 123456.
Практическая работа " Знакомство со средой программирования"
Уровень A. Вывести на экран фразу лесенкой:
Вася
пошёл
гулять.
Уровень B. Вывести на экран изображение домика из букв:
A
AMA
AMMMA
AMMMMMA
MMMMM
ЖЖ ЖЖ
MMMMM
Уровень C. Вывести на экран изображение двух домиков:
A A
AMA AMA
AMMMA AMMMA
AMMMMMA AMMMMMA
MMMMM MMMMM
ЖЖ ЖЖ ЖЖ ЖЖ
MMMMM MMMMM
Стоит почитать справку по python. Отдал вопрос сыну-школьнику, вот код от него:
Решение с циклом for. Конструкция sys.argv[1] узнаёт, сколько требуется ступенек (прочитывает из аргументов командной строки), можно заменить на произвольное число либо на вызов input() .
Вы можете использовать вертикальную табуляцию \v ссылка, ссылка.
Всё ещё ищете ответ? Посмотрите другие вопросы с метками python циклы или задайте свой вопрос.
Похожие
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
дизайн сайта / логотип © 2022 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2022.1.27.41279
Для работы с графикой в pascal abc используется модуль GraphABC. Для его подключения используется следующий код:
uses GraphABC; begin . end.
Система координат в Паскале соответствует экранной системе координат и выглядит следующим образом:
Управление цветом
Для того, чтобы использовать цвет, необходимо применить этот цвет к инструменту перо:
- SetPenColor(color) — устанавливает цвет пера, задаваемый параметром color;
- setBrushColor(color) — устанавливает цвет кисти, задаваемый параметром color;
- либо для палитры RGB: SetPenColor(rgb(0-255, 0-255, 0-255));
или использовать для заливки:
После чего можно использовать процедуры для рисования геометрических фигур.
clBlack – черный
clPurple – фиолетовый
clWhite – белый
clMaroon – темно-красный
clRed – красный
clNavy – темно-синий
clGreen – зеленый
clBrown – коричневый
clBlue – синий
clSkyBlue – голубой
clYellow – желтый
clCream – кремовый
clAqua – бирюзовый
clOlive – оливковый
clFuchsia – сиреневый
clTeal – сине-зеленый
clGray – темно-серый
clLime – ярко-зеленый
clMoneyGreen – цвет зеленых денег
clLtGray – светло-серый
clDkGray – темно-серый
clMedGray – серый
clSilver – серебряный
Точки, отрезки и ломаные
Для отображения точки в паскале используется процедура:
uses GraphABC; begin SetPixel(300,200,clred); end.
Для рисования линии используется:
uses GraphABC; begin SetPenColor(clgreen); line(100,50,500,250); end.
Ломаные можно рисовать с помощью процедур MoveTo (x1, y1) и LineTo (x2, y2) .
Процедуры работают в паре: MoveTo передвигает курсор в определенную точку, а процедура LineTo рисует линию с этой точки до точки, определенной параметром данной процедуры.
uses GraphABC; begin . SetPenColor(clblue); MoveTo (x1, y1); LineTo (x2, y2); LineTo (x3, y3); LineTo (x4, y4); LineTo (x5, y5); end.
Задание 0: При помощи операторов SetPenColor(), LineTo (x2, y2) и MoveTo (x1, y1) нарисовать квадрат и равносторонний треугольник.
[Название файла: L4_2task0.pas ]
Для установки размеров графического окна используется процедура
Рисование фигур
uses GraphABC; begin Rectangle(50,50,200,200); end.
uses GraphABC; begin Rectangle(50,50,200,200); FloodFill(100,100,clBlue); end.
Line(x1,y1,x2,y2);
LineTo(x,y);
uses GraphABC; begin setpenwidth(20); setpencolor(clred); moveTo(300,100); lineTo(500,300); lineto(100,300); lineto(300,100); floodfill(300,200,clgreen); end.
uses GraphABC; begin Circle(500,200,100); FloodFill(500,200,clred); end.
uses GraphABC; Begin SetPenWidth(10); Arc(300,250,150,45,135); end.
[Название файла: L4_2task1.pas ]
[Название файла: L4_2task2.pas ]
Функция random для использования окраски
Задание 3: Нарисовать горизонтальный ряд окружностей радиусом 10 на расстоянии 100 от верхнего края экрана и с такими горизонтальными координатами 50, 80, 110, 140, … , 290.
* раскрасить круги случайным цветом
[Название файла: L4_2task3.pas ]
[Название файла: L4_2task4.pas ]
Задание 5:
Воспроизвести изображение при помощи программы:
[Название файла: L4_2task5.pas ]
Нарисовать штриховку на Паскале можно, используя процедуры рисования прямоугольника и линии:
Программа будет выглядеть следующим образом:
uses graphABC; var i, x1, x2, y1, y2, N: integer; h, x: real; begin x1 := 100; y1 := 100; x2 := 300; y2 := 200; N := 10; Rectangle (x1, y1, x2, y2); h := (x2 - x1) / (N + 1); x := x1 + h; for i:=1 to N do begin Line(round(x), y1, round(x), y2); x := x + h; end; end.
[Название файла: L4_2task6.pas ]
Анимация в Паскале
Анимация в программировании заключается в том, что сначала рисуется фигура цветным инструментом, затем с тем же координатами рисуется та же фигура белым цветом. После чего происходит сдвиг фигуры и действия повторяются.
uses GraphABC; var x:integer; begin x:=40; repeat SetPenColor(clWhite); Circle(x,100,10); SetPenColor(clBlack); Circle(x,100,10); x:=x+1 until x>600; end.
Задание 7: Выполнить анимацию движения квадрата по следующей траектории:
Читайте также: