Как сделать лесенкой паскаль

Обновлено: 04.07.2024

Здравствуйте. Подскажите, есть ли способ быстро разнести строки стихов лесенкой, чтобы каждую строку табуляторами не настраивать? Может скрипт какой есть? Или штатными средствами можно?

Валера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 ]

графика паскаль abc.net

Задание 5:
Воспроизвести изображение при помощи программы:

[Название файла: L4_2task5.pas ]

алгоритм штриховки на паскале

Нарисовать штриховку на Паскале можно, используя процедуры рисования прямоугольника и линии:

Программа будет выглядеть следующим образом:

1_1

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: Выполнить анимацию движения квадрата по следующей траектории:

Читайте также: