PascalABC.NET 3.7:
###var names := ReadString('Введите имена:').ToWords;var values := ReadArrInteger('Введите возраста:', names.Len);var m := values.Max;var a := values.Indices(x → x = m).Sel(i → names[i]).toA;if a.Len = values.Len then Pr('У всех одинаковый возраст.')else if a.Len = 1 then Pr(a[0], 'старше всех.')else Pr(a[:^1].JoinToString(', '), 'и', a[^1], 'старше всех.')Объяснение:
С реализуем вывод приглашения к вводу ("Введите имена:") и запрос на ввод строки. После чего, ToWords преобразует введённую строку в массив слов. Этот полученный массив (массив введённых через пробел имён) записывается в переменную names.
С реализуем вывод приглашения к вводу ("Введите возраста:") и запрос на ввод массива чисел, длину которого (количество вводимых чисел) мы задали с длина массива names). Этот массив чисел записывается в переменную values. Числа можно вводить как через пробел, так и с новой строки.
С метода расширения Max находим максимальный элемент массива values и записываем его в переменную m.
С метода расширения Indices получаем последовательность индексов, удовлетворяющим условию x = m, где x — тот или иной элемент массива values. Затем, с метода Sel проецируем каждый элемент полученной последовательности в новую форму: из i в names[i], то есть из каждого индекса, условно обозначенным как i, мы получаем имя, хранящееся в массиве names под индексом i. Далее метод ToA преобразует последовательность в массив, и этот массив записывается в переменную a.
И вот, мы уже имеем ответ: все нам нужные имена хранятся в массиве a. Идущие далее 3 строчки обеспечивают "красивый" вывод "на всевозможные случаи". Их можно заменить на a.Pr — все элементы массива a будут выведены через пробел. Но рассмотрим эти "3 строчки".
Если длина массива a равна длине массива values (то есть в массив a были отобраны все элементы массива values), то выводим сообщение "У всех одинаковый возраст.". Иначе, если длина массива a равна 1, то выводим этот единственный элемент массива a с сообщением "старше всех.". Если же не выполняется ни то, ни другое условие, то на экран через пробел будет выведено следующее:
все элементы массива a, кроме последнего, которые с преобразовали в строку, используя ", " в качестве разделителя;"и";последний элемент массива a;"старше всех.".Пример работы:
Поделитесь своими знаниями, ответьте на вопрос:
ответьте на все во Бесконечная работа алгоритма. 2) Тот, кто (что) выполняет алгоритмы. 3) Алгоритм, записанный на языке, понятном компьютеру. 4) Свойство алгоритма заканчиваться через конечное число шагов. 5) Одно из обязательных свойств алгоритма. 6) Свойство алгоритма состоять из отдельных шагов. 7) То, от чего зависит возможность исполнителя выполнить ту или иную команду. 8) Свойство алгоритма, при котором он пригоден для решения множества однотипных задач с различными исходными данными.
CLS
DIM n AS INTEGER
INPUT "n=", n
DIM i AS INTEGER, k AS INTEGER, x AS SINGLE, s AS SINGLE, i AS INTEGER
s = 0
FOR i = 1 TO n
INPUT "->", x
s = s + x * (ABS(INT(x)) MOD 2)
NEXT i
PRINT "s = ", s