HelpSpasibox
20.05.2020 05:20

Напишите конспект по теме "архитектура вычислительных систем по нейману"

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
базарганово
08.10.2022 14:31
// PascalABC.NET 3.3, сборка 1634 от 14.02.2018
// Внимание! Если программа не работает, обновите версию!

type
  CheckBalls=class
 
  private
   
    ad:array of real; // диаметры шариков
    ap:array of real; // веса шариков
    etD:=24.0; // эталонный диаметр
    derD:=2.0; // эталонное предельное отклонение
    etP:=74.0; // эталонный вес
    derP:=3.0; // эталонное предельное отклонение
   
    procedure CheckBall(m:integer);
    // проверка шарика с указанным номером
    begin
      Write('Шарик № ',m,': диаметр - ');
      if Abs(aD[m-1]-etD)<=derD then Write('норма')
      else Write('брак');
      Write(', вес - ');
      if Abs(aP[m-1]-etP)<=derP then Writeln('норма')
      else Writeln('брак')
    end;
  
 
  public
 
    constructor(ma,mp:array of real);
    begin
      ad:=Copy(ma);
      ap:=Copy(mp);
    end;
   
    procedure CheckAllBalls;
    begin
      for var i:=1 to ad.Length do CheckBall(i)
    end;
 
end;

begin
  var n:=120; // число шариков
  var a:=SeqRandom(n,200,280).Select(t->t/10).ToArray;
  var b:=SeqRandom(n,700,800).Select(t->t/10).ToArray;
  Writeln('Параметры шариков (диаметр,вес):');
  a.Zip(b,(p,q)->(p,q)).Println;
  Writeln('Результаты контроля:');
  var oL:=new CheckBalls(a,b);
  oL.CheckAllBalls
end.
0,0(0 оценок)
Ответ:
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 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота