PascalABC.NET 3.7:
###RS.AdjacentGroup.SelectMany(x → x.Len >= 3 ? x.Len + x[0] : x.Str).PrПояснение:
RS - ReadString: Возвращает значение типа string, введенное с клавиатуры.
AdjacentGroup: Группирует одинаковые подряд идущие элементы, получая последовательность массивов.
SelectMany: Проецирует каждый элемент последовательности в новую последовательность и объединяет результирующие последовательности в одну последовательность.
.Len - .Length: Длина массива.
.Str - .JoinToString: Преобразует последовательность символов в строку, не используя разделитель (при последовательность другого типа данных в качестве разделителя используется пробел).
.Pr - .Print: Выводит последовательность символов на экран, не используя разделитель (при последовательность другого типа данных в качестве разделителя используется пробел).
Пример работы:
Внимание! Если программа не работает, обновите версию!
begin
for var a:=1 to 10 do begin
Writeln('Длина стороны ',a,' см');
for var b:=1 to 10 do
Writeln('Вторая сторона ',b:2,', периметр ',2*(a+b):2,
', площадь ',a*b:3)
end
end.
Результат
Длина стороны 1 см
Вторая сторона 1, периметр 4, площадь 1
Вторая сторона 2, периметр 6, площадь 2
Вторая сторона 3, периметр 8, площадь 3
Вторая сторона 4, периметр 10, площадь 4
Вторая сторона 5, периметр 12, площадь 5
Вторая сторона 6, периметр 14, площадь 6
Вторая сторона 7, периметр 16, площадь 7
Вторая сторона 8, периметр 18, площадь 8
Вторая сторона 9, периметр 20, площадь 9
Вторая сторона 10, периметр 22, площадь 10
Длина стороны 2 см
Вторая сторона 1, периметр 6, площадь 2
Вторая сторона 2, периметр 8, площадь 4
Вторая сторона 3, периметр 10, площадь 6
Вторая сторона 4, периметр 12, площадь 8
Вторая сторона 5, периметр 14, площадь 10
Вторая сторона 6, периметр 16, площадь 12
Вторая сторона 7, периметр 18, площадь 14
Вторая сторона 8, периметр 20, площадь 16
Вторая сторона 9, периметр 22, площадь 18
Вторая сторона 10, периметр 24, площадь 20
Длина стороны 3 см
Вторая сторона 1, периметр 8, площадь 3
Вторая сторона 2, периметр 10, площадь 6
Вторая сторона 3, периметр 12, площадь 9
Вторая сторона 4, периметр 14, площадь 12
Длина стороны 10 см
Вторая сторона 1, периметр 22, площадь 10
Вторая сторона 2, периметр 24, площадь 20
Вторая сторона 3, периметр 26, площадь 30
Вторая сторона 4, периметр 28, площадь 40
Вторая сторона 5, периметр 30, площадь 50
Вторая сторона 6, периметр 32, площадь 60
Вторая сторона 7, периметр 34, площадь 70
Вторая сторона 8, периметр 36, площадь 80
Вторая сторона 9, периметр 38, площадь 90
Вторая сторона 10, периметр 40, площадь 100