kulikovamascha
02.10.2022 18:08

с информатикой Базы данных в MS Access. ">

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
lolloool2017
02.06.2023 21:54

Задача

Требуется написать программу, вычисляющую значение какой-либо функции у = 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 уже другим быть и не может (варианты, когда он больше или равен нулю, уже были исключены).

Для определения модуля (абсолютного значения) переменной можно использовать встроенную функцию abs() языка Pascal. В данном случае можно обойтись и без нее: поскольку уже известно, что x отрицателен, то, чтобы получить положительное число (модуль), нужно его умножить на -1.

0,0(0 оценок)
Ответ:
Islikzaziy
26.09.2020 22:18
Const
  n = 10;

var
  a: array[0..10] of integer;
  i, s: integer;

begin

//Заполнение массива сл. числами

  for i := 1 to n do
  begin
    a[i] := random(201) - 100;
    write(a[i]:4);
  end;
  writeln;

//1) Все элементы не превышающие число 100

  writeln('Не больше 100 ');
  for i := 1 to n do
    if a[i] <= 100 then
      write( a[i]:4);
  writeln;

// 2) Все четные элементы

  writeln('Кратные двум ');
  for i := 1 to n do
    if a[i] mod 2 = 0 then  
      write( a[i]:4);
  writeln;

// 3) Все элементы, являющиеся трехзначными числами

   writeln('Трехзначные ');
  for i := 1 to n do
    if (a[i] < -99) or (a[i] > 99) then  
      write(a[i]:4);
  writeln;

// 4) Третий, шестой и т.д элементы.

  i := 3;
  writeln(' номера 3, 6, 9 и  т.д.');
  while i < n do
  begin
    write(a[i]:4);
    i := i + 3;
  end;
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота