Задачи 13.2
Primary tabs
1) Составьте программу, которая выводит на экран прямоугольный флаг N×M вида (используйте циклы repeat):
- - - - - -
- - - - - -
- - - - - -
- - - - - -
var n, m, i, j : integer; begin n := 4; //кол-во строк m := 6; //кол-во символов i := 1; //начальное знач-е счетчика строк repeat j := 1; //начальное знач-е счетчика символов repeat write('- '); j := j + 1; until j > m; writeln(); i := i + 1; until i > n; end.
2) Составьте программу, которая выводит на экран прямоугольный флаг N×M вида (c чередованием плюсов и минусов в строках, используйте циклы while):
- - - - - -
+ + + + + +
- - - - - -
+ + + + + +
- - - - - -
var n, m, i, j : integer; begin n := 5; //кол-во строк m := 6; //кол-во символов в строке i := 1; //начальное знач-е счетчика строк while i <= n do begin j := 1; // начальное значение счётчика символов if i mod 2 = 1 then begin while j <= m do begin write('- '); j := j + 1; end; end else begin while j <= m do begin write('+ '); j := j + 1; end; end; writeln(); i := i + 1; end; end.
3) Составьте программу, которая выводит на экран прямоугольный флаг N×M вида (с рамкой по краям):
+ + + + + +
+ - - - - +
+ - - - - +
+ + + + + +
var n, m, i, j : integer; begin n := 5; //кол-во строк m := 6; //кол-во символов в строке i := 1; //начальное знач-е счетчика строк while i <= n do begin j := 1; // начальное значение счётчика символов while j <= m do begin if (i = 1) or (i = n) or (j = 1) or (j = m) then write('+ ') else write('- '); j := j + 1; end; writeln(); i := i + 1; end; end.
4) Подготовительная задача для "счет"
Пользователь вводит число от 1 до 9, вывести его в представлении как счетах со сдвинутыми костями (всего десять костей на спице), например:если ноль, то все кости справа:
---++++++++++если три, то значащая часть слева, а все остальное справа:
+++---+++++++если девять:
+++++++++---+
var n, i : integer; begin writeln('введите число от 0 до 9'); readln(n); for i := 1 to 10 do begin if i <= n then write('+') else if i <= n + 3 then write('-') else write('+'); end; writeln(); end.
5) В некоем виртуальном пространстве есть виртуальные, опять же, ASCII-счеты, с 7-ю спицами по 10 костяшек на каждой, в сброшенном состоянии (условный ноль) они выглядят так:
---++++++++++
---++++++++++
---++++++++++
---++++++++++
---++++++++++
---++++++++++
---++++++++++
Задание: визуализируйте на счетах введенное пользователем число.Примеры:
1)Пользователь вводит: 7
Получаем:
---++++++++++
---++++++++++
---++++++++++
---++++++++++
---++++++++++
---++++++++++
+++++++---+++2)Пользователь вводит: 28
---++++++++++
---++++++++++
---++++++++++
---++++++++++
---++++++++++
++---++++++++
++++++++---++3)Пользователь вводит: 1984
---++++++++++
---++++++++++
---++++++++++
+---+++++++++
+++++++++---+
++++++++---++
++++---++++++4)Пользователь вводит: 2021
---++++++++++
---++++++++++
---++++++++++
++---++++++++
---++++++++++
++---++++++++
+---+++++++++
var n, i, d, j, t : integer; begin writeln('введите число'); readln(n); for i := 7 downto 1 do begin t := n; //исходное число for j := 1 to i - 1 do t := t div 10; d := t mod 10; if d > 0 then begin for j := 1 to 10 do begin if j <= d then write('+') else if j <= d + 3 then write('-') else write('+'); end; end else writeln('---++++++++++'); writeln(); end; end.
- Log in to post comments
- 38 reads