impulsmc715
?>

Дан массив содержащий 2018 положительных целых чисел не превышающих 1000 необходимо уменьшить все элементы которые больше 100 на одно и то же значение при этом минимальный из них должен стать равным 100. написать программу в pascal.

Информатика

Ответы

Reginahappy

//PascalABC.NET версия 3.4.0.1677 от 17.06.18

//Если программа не запускается, то обновите версию

begin

   var a := ArrRandomInteger(2018, 0, 1000);

   var n := a.Where(x -> x >= 100).Min() - 100;

   for var i := 0 to a.Count() - 1 do

       if a[i] >= 100 then a[i] := a[i] - n;

   

   Println(a);

end.

tat72220525
Задача
Требуется написать программу, вычисляющую значение какой-либо функции у = f(x). Допустим, такой:

у = x – 2, если x > 0,
y = 0, если x = 0,
y = |x|, если x < 0.
Решение
При определении значений подобных функций переменная y вычисляется по-разному (по разным формулам) в зависимости от значения x.

Такие задачи решаются с конструкции условного оператора if - else. Поскольку в данном случае мы имеем три условия (x > 0, x = 0 и x < 0), то потребуется использование еще вложенной конструкции if - else, т. к. в языке Pascal нет оператора множественного ветвления (оператор case в данном случае не подходит).

В языке программирования Паскаль (да и в других тоже) желательно вложенные конструкции if - else помещать во внешнюю ветку else, а не if. Так проще не запутаться.

Таким образом, алгоритм вычисления значения функции может быть таким:

Если x > 0, то у = x - 2
Иначе (ниже идет вложенная конструкция)
Если x = 0, то y = 0
Иначе y = |x|.
В последнем пункте можно опустить оператор if с проверкой, что x < 0, так как если ход выполнения программы дошел до этого пункта, то x уже другим быть и не может (варианты, когда он больше или равен нулю, уже были исключены).

Если не трудно отблагодари
anna241273
Задача
Требуется написать программу, вычисляющую значение какой-либо функции у = f(x). Допустим, такой:

у = x – 2, если x > 0,
y = 0, если x = 0,
y = |x|, если x < 0.
Решение
При определении значений подобных функций переменная y вычисляется по-разному (по разным формулам) в зависимости от значения x.

Такие задачи решаются с конструкции условного оператора if - else. Поскольку в данном случае мы имеем три условия (x > 0, x = 0 и x < 0), то потребуется использование еще вложенной конструкции if - else, т. к. в языке Pascal нет оператора множественного ветвления (оператор case в данном случае не подходит).

В языке программирования Паскаль (да и в других тоже) желательно вложенные конструкции if - else помещать во внешнюю ветку else, а не if. Так проще не запутаться.

Таким образом, алгоритм вычисления значения функции может быть таким:

Если x > 0, то у = x - 2
Иначе (ниже идет вложенная конструкция)
Если x = 0, то y = 0
Иначе y = |x|.
В последнем пункте можно опустить оператор if с проверкой, что x < 0, так как если ход выполнения программы дошел до этого пункта, то x уже другим быть и не может (варианты, когда он больше или равен нулю, уже были исключены).

Если не трудно отблагодари

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

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

Дан массив содержащий 2018 положительных целых чисел не превышающих 1000 необходимо уменьшить все элементы которые больше 100 на одно и то же значение при этом минимальный из них должен стать равным 100. написать программу в pascal.
Ваше имя (никнейм)*
Email*
Комментарий*

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

yaelenatu
mzubenko6
gassvetlana
Буянто1346
kim-1971
nopel91668
Usynin-nikolay
karpovaveronika196
sergeykirushev
Petrakova Ilyushin
Бурмистров_Салагин1074
maruska90
slava-m-apt
ea-office
anna-ditman