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

Составьте таблицу истинности для логического выражения: F = X & Ø(Y\/Z) \/(X & Y \/Z) и по этому же выражению составить логическую схему

Показать ответ
Ответ:
goodboiclick
goodboiclick
09.02.2022 08:50
// PascalABC.NET 3.2, сборка 1379 от 21.01.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var m:=ReadInteger('Количество строк в массиве:');
  var n:=ReadInteger('Количество столбцов в массиве:');
  Writeln('*** Исходный массив [',m,',',n,'] ***');
  var a:=MatrRandom(m,n,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var k:=ReadInteger('Номер столбца для подсчета суммы:');
  Writeln('S=',a.Col(k-1).Sum)
end.

Пример
Количество строк в массиве: 5
Количество столбцов в массиве: 8
*** Исходный массив [5,8] ***
  91 -39  49  29 -60 -58 -88  -5
 -80  -5  58  38 -75 -76 -54 -33
 -60 -66  98 -88  96 -48  94   2
  -4  81 -38 -91  26 -91  32   7
  30  83  30   3  22  93  31   0

Номер столбца для подсчета суммы: 4
S=-109

На случай, если я неверно понял задание и нужна сумма по КАЖДОЙ колонке:

begin
  var m:=ReadInteger('Количество строк в массиве:');
  var n:=ReadInteger('Количество столбцов в массиве:');
  Writeln('*** Исходный массив [',m,',',n,'] ***');
  var a:=MatrRandom(m,n,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  a.Cols.Select(s->s.Sum).Println
end.

Пример
Количество строк в массиве: 4
Количество столбцов в массиве: 7
*** Исходный массив [4,7] ***
  13 -14  82  88 -38  55  89
  11  74 -35  85  13  27 -80
 -88  76 -64 -88 -50  28 -13
  90  87 -71 -94 -59  95 -83

26 223 -88 -9 -134 205 -87
0,0(0 оценок)
Ответ:
DedikovVladisl
DedikovVladisl
21.05.2023 19:16
Вот с одиночным циклом (пока разберешься, можно лопнуть от натуги):

var
  i,j,k:byte;
  a:array[1..10,1..10] of byte;
begin
  for k:=1 to 100 do
  begin
    i:=(k-1)div10+1;
    j:=k mod 10;
    if j=0 then j:=10;
    a[i,j]:=i*j;
    Write(a[i,j],' ')
  end
end.

А вот современное решение, вообще без циклов:

// PascalABC.NET 3.2, сборка 1379 от 21.01.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=MatrGen(10,10,(i,j)->(i+1)*(j+1));
  a.Rows.SelectMany(x->x).Println
end.

В обоих случаях вывод выглядит так:
1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50 60 70 80 90 100
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота