#13.2 Вложенные циклы для вывода матриц, таблиц -- примеры решения задач. Паскаль
Primary tabs
В этом уроке мы продолжим разбирать тему вложенных циклов в Паскаль (начало разговора о вложенных циклах тут). И поработаем с выводом на экран таблиц, в частности, рисуя "флаги" с применением ASCII art-а.
Пример №1 -- заполнение матрицы символами
Задача:
вывести на экран "флаг" (матрицу $N \times N$, заполненную символами), вида:
- - - - - - - - - - - - - - - - - - - - - - - -
Решение:
var m, i, j: integer; begin m := 8; // размерность квадрата for i:=1 to m do // цикл запускающий вывод очередной строки begin for j:=1 to m do // вывод символов в очередной строке write('- '); writeln(); // перенос строки end; readln(); end.
Пример № 3 -- условие принадлежности главной и побочной диагонали матрицы
Рассмотрим пример решения задачи, выводящей на экран Андреевский флаг:
var m, i, j: integer; begin m := 15; // начальное значение для счетчика внешнего цикла for i:=1 to m do begin for j:=1 to m do if (i = j) then // условие принадлежности главной диагонали write('X ') { далее проверим условие принадлежности побочной диагонали } else if ((j = (m + 1 - i)) AND (i = (m + 1 - j))) then write('X ') else write('* '); writeln(); end; readln(); end.
Задачи для самостоятельного решения
- Составьте программу, которая выводит на экран прямоугольный флаг $N \times M$ вида (используйте циклы repeat):
- - - - - - - - - - - - - - - - - - - - - - - -
- Составьте программу, которая выводит на экран прямоугольный флаг $N \times M$ вида (c чередованием плюсов и минусов в строках, используйте циклы while):
- - - - - - + + + + + + - - - - - - + + + + + + - - - - - -
- Составьте программу, которая выводит на экран прямоугольный флаг $N \times M$ вида (с рамкой по краям):
+ + + + + + + - - - - + + - - - - + + + + + + +
-
Предварительная справка: настоящие счеты выглядят как-то так (кости, с помощью которых отсчитывают число разрядов, нанизаны на спицы):
В некоем виртуальном пространстве есть виртуальные, опять же, ASCII-счеты, с 7-ю спицами по 10 костяшек на каждой, в сброшенном состоянии (условный ноль) они выглядят так:
---++++++++++ ---++++++++++ ---++++++++++ ---++++++++++ ---++++++++++ ---++++++++++ ---++++++++++
Задание: визуализируйте на счетах введенное пользователем число.
Примеры:
-
Пользователь вводит: 7
Получаем:---++++++++++ ---++++++++++ ---++++++++++ ---++++++++++ ---++++++++++ ---++++++++++ +++++++---+++
-
Пользователь вводит: 28
Получаем:---++++++++++ ---++++++++++ ---++++++++++ ---++++++++++ ---++++++++++ ++---++++++++ ++++++++---++
-
Пользователь вводит: 1984
Получаем:---++++++++++ ---++++++++++ ---++++++++++ +---+++++++++ +++++++++---+ ++++++++---++ ++++---++++++
-
Пользователь вводит: 2021
А наша программа отвечает:---++++++++++ ---++++++++++ ---++++++++++ ++---++++++++ ---++++++++++ ++---++++++++ +---+++++++++
ПРИМЕЧАНИЕ: задача была предложена участником @math2 для соревнований IFF 2020.
-
Пользователь вводит: 7
- Log in to post comments
- 5491 reads