Подготовительная задача для "счет"
У вас есть число от 1 до 9, вывести его в представлении как счетах со сдвинутыми костями (всего десять костей на спице):
если ноль, то все кости справа:
▶
?
1
---++++++++++
если три, то значащая часть слева, а все отстальное справа:
▶
?
1
+++---+++++++
если девять:
▶
?
1
+++++++++---+
Составьте программу, которая выводит на экран прямоугольный флаг N×M вида (используйте циклы repeat):
program u132z1;
var m , n: integer;
begin
m:=1;
repeat
begin
n:=1;
repeat
write('- ');
n:=n+1;
until (n>8) ;
end;
m:=m+1;
writeln();
until (m>8);
readln();
end.
Пользователь передает целое положительное число N, выведете на экран последовательность от 1 до N, так чтобы ширина "ёлочки" росла волнами. Например, для N=49 получим:
123--сначала до двух456789--потом до трёх101112--возвращаемся к одному131415161718192021--тут уже четыре2223242526--снова убывает 2728293031323334353637383940414243444546474849
Пользователь передает целые положительные число N и M, выведете на экран последовательность от 1 до N, так чтобы ширина "ёлочки" увеличивалась до M чисел, то уменьшалась до 1. Например, для M=3 и N=19 получим:
123456--максимум три числа7891011121314--снова три числа1516171819.....
Решите предыдущую задачу:
С использованием процедуры, которая разбирала бы очередную строку, изменяя по ссылке значения двух перемененных (одна для имени и одна для балла), уже после вызова этой процедуры для очередной строки записывайте очередные значения переменных в массивы (каждую в свой).
Пользователь вводит в консоль строки вида (имя + произвольное число пробелов + балл):
Вася 485
Коля 555
Юра 61
..........
....
end // признак завершения ввода
(пока не введёт строку end) -- где слева указаны имена участников, а справа -- число баллов.
Используя массив строк и массив целых чисел (пусть оба массива будут максимальной длины =3) считайте отдельно имена и баллы и определите победителя, выведя его имя и полученный им балл.