В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
6df5
6df5
31.10.2021 22:50 •  Информатика

Разработать программу вычисления функции, определяемой с следующего условного оператора (На АССЕМБЛЕРЕ) IF лв THEN y:= f1(a,b,c,d,e) ELSE y:= f2(a,b,c,d,e), где

лв - логическое выражение, например, (a > b) and (d
f1, f2-функции.

f1 y=a+b-c/d*e

f2 y=a*b+c/d-e

Показать ответ
Ответ:
kamilusmonov
kamilusmonov
06.04.2021 08:16
// PascalABC.NET 3.3, сборка 1579 от 18.11.2017
// Внимание! Если программа не работает, обновите версию!

1)

begin
  var (n,m):=ReadInteger2('Количество строк и столбцов в массиве:');
  Writeln('*** Исходный массив [',n,',',m,'] ***');
  var a:=MatrRandom(n,m,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var b:=a.Rows.Select(r->r.Where(t->t.IsOdd).LastOrDefault); b.Println;
end.

Пример
Количество строк и столбцов в массиве: 8 5
*** Исходный массив [8,5] ***
 -41  36 -99  14  17
 -22  12  71 -94 -42
 -35 -40  26   2  24
  39  17  20  11  84
 -53 -18  97  -6   5
   2  67 -54  -6  -3
  95 -87  90 -13 -37
 -81 -21  61 -90 -60
--------------------
17 71 -35 11 5 -3 -37 61

2)

begin
  Writeln('*** Исходный массив ***');
  var a:=MatrRandom(20,10,2,5);
  a.Println(2); Writeln(2*a.ColCount*'-');
  Writeln('Ср. 5-го ученика: ',a.Row(4).Average)
end.

Пример
*** Исходный массив ***
 2 2 3 3 4 3 4 2 3 2
 4 3 2 3 2 4 3 2 5 3
 4 2 3 3 4 5 5 2 2 4
 5 2 4 2 4 5 4 2 3 3
 5 3 3 2 3 4 5 4 4 4
 3 2 3 2 3 2 5 2 4 4
 4 4 5 5 2 4 5 5 4 2
 2 2 5 4 4 2 4 3 2 2
 2 2 4 4 2 4 4 4 5 4
 2 3 4 4 5 3 3 4 5 4
 5 2 5 3 3 2 3 5 3 2
 3 4 2 3 4 3 2 3 4 3
 2 2 2 2 2 4 4 2 4 2
 5 2 3 3 3 5 3 2 2 5
 2 4 2 4 3 3 3 2 5 4
 3 2 5 4 4 4 5 5 3 5
 4 3 2 3 3 2 2 4 2 4
 2 5 2 5 2 3 2 4 5 4
 3 3 2 2 5 4 3 5 4 4
 2 3 5 3 3 5 4 5 2 2
--------------------
Ср. 5-го ученика: 3.7

Завтра нужно сдать , а у меня никак не получается ; ( 1) дан двумерный массив целых чисел. сформиров
0,0(0 оценок)
Ответ:
yuliaprok61yulia1206
yuliaprok61yulia1206
15.04.2022 16:45
Var
  m, n, nok, t, i: longint;

begin
  Write('Введите через пробел два целых положительных числа- ');
  Readln(m, n);
  {Сначала ищем НОК - наименьшее общее кратное}
  if m = n then begin
    nok := m;
    t := m * m
  end
  else begin
    t := m * n;
    repeat
      if m > n then m := m - n else n := n - m
    until m = n;
    nok := t div m
  end;
  {Теперь умножаем НОК на числа натурального ряда,
   пока не дойдем до величины t=m*n}
  if nok = t then Writeln('Требуемых чисел нет')
  else begin
    i := 1;
    while (nok * i < t) do
    begin
      Write(nok * i, ' ');
      i := i + 1
    end
  end
end.

Тестовое решение:
Введите через пробел два целых положительных числа- 8 120
120 240 360 480 600 720 840

Введите через пробел два целых положительных числа- 35 620
4340 8680 13020 17360

Введите через пробел два целых положительных числа- 7 13
Требуемых чисел нет
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота