innaglobal21
?>

Var x, y, z: integer begin; read (x); read (y); if x> y then write (x, '-', y, '=', z) else write (y, '-', x, '=', z) end. я записываю числа 30 20 компьютер решает как 30-20=0 подскажите как сделать так чтоб z находило а не писало 0.

Информатика

Ответы

secretar62
If x>y then write (x,'-',y,'=',x-y)
Else write (y,'-',x,'=',y-x)
universal21vek116

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;"старше всех.".

Пример работы:


Напишите программу, которая получает с клавиатуры возрасты трёх человек (антона, бориса и виктора) и
Напишите программу, которая получает с клавиатуры возрасты трёх человек (антона, бориса и виктора) и
Напишите программу, которая получает с клавиатуры возрасты трёх человек (антона, бориса и виктора) и
Напишите программу, которая получает с клавиатуры возрасты трёх человек (антона, бориса и виктора) и
Напишите программу, которая получает с клавиатуры возрасты трёх человек (антона, бориса и виктора) и
sandovo590
Вопрос странный, он требует наличия знания о производителях марок машин.
Peugeot - французская марка, Mercedes - немецкая, Toyota - японская.

"Только у Фёдорова мечта сбылась о немецкой машине" - следовательно, он купил Мерседес.

"Поляков мечтал о французской машине, но его мечта тоже не сбылась".
Он не купил Пежо, но и Мерседес он тоже не купил, потому что его купил Федоров. Следовательно, Поляков купил Тойоту.

Тогда Петровой осталась только Пежо. Информация о Петровой в задании абсолютно лишняя ("Петрова рассказала хозяину Toyota, что с детства мечтала о немецкой машине. Но её мечта не сбылась")

ответ: Федоров - Мерседес, Поляков - Тойота, Петрова - Пежо.
 

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Var x, y, z: integer begin; read (x); read (y); if x> y then write (x, '-', y, '=', z) else write (y, '-', x, '=', z) end. я записываю числа 30 20 компьютер решает как 30-20=0 подскажите как сделать так чтоб z находило а не писало 0.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

vuyakovleva
is926582086060
zaseche99
cosmetic89
anchutk3016
roman-fetisov2005
Александровна
kzhgutova
Николаевич1033
yuliyastatsenko3894
ignashkinamasha
Galina_Yurevna
sssashago8
kristinmk
Kotvitskii