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

Только точный !
вычитание двоичных чисел:

производиться по таблице истинности

сводиться к выполнению двух действий: сдвигу запятой вправо и суммированию сдвинутых чисел

производится путем замены вычитания сложением в обратных или в дополнительных кодах

сводиться к сдвигу точки делимого на один разряд вправо

Показать ответ
Ответ:
Kotumi
Kotumi
13.08.2021 12:00
// PascalABC.NET 3.3, сборка 1607 от 31.12.2017
// Внимание! Если программа не работает, обновите версию!

function GCD(a,b:integer):integer; // НОД
begin
  while b<>0 do begin a:=a mod b; Swap(a,b) end;
  Result:=a
end;

procedure RedFrac(var a,b:integer); // сокращение дроби
begin
  var (sgna,sgnb):=(Sign(a),Sign(b)); // мы должны учитывать знак!
  (a,b):=(Abs(a),Abs(b));
  var d:=Gcd(a,b);
  (a,b):=((a div d)*sgna,(b div d)*sgnb)
end;

begin
  var (a,b):=ReadInteger2('Числитель и знаменатель 1-й дроби:');
  var (c,d):=ReadInteger2('Числитель и знаменатель 2-й дроби:');
  var (p,q):=(a*d+b*c,b*d);
  RedFrac(p,q);
  Writeln('Результат: ',p,'/',q)
end.

Пример
Числитель и знаменатель 1-й дроби: -135 36
Числитель и знаменатель 2-й дроби: 31 60
Результат: -97/30

Составить программу , которая сложить две дроби! нужно сначала к общему знаменателю ! паскаль !
0,0(0 оценок)
Ответ:
maserdaser
maserdaser
26.01.2020 14:25
Var
  A, B: array [1 .. 6, 1 .. 6] of byte;
  C, D: array [1 .. 6] of byte;
  M: array [1 .. 12] of byte;
  i, j, MIN, MAX, evenCountC, evenCountD: byte;

begin
  randomize;
  for j := 1 to 6 do
  begin
    MAX := 0; MIN := 100;
    evenCountC := 0; evenCountD := 0;
    for i := 1 to 5 do
    begin
      A[i, j] := random(20);
      B[i, j] := random(20);
      if A[i, j] > MAX then MAX := A[i, j];
      if B[i, j] < MIN then MIN := B[i, j];
    end;
    C[j] := MAX;
    D[j] := MIN;
  end;
  writeln('      ***Матрица A***');
  for i := 1 to 5 do
  begin
    for j := 1 to 6 do write(A[i, j]:4);
    writeln;
  end;
  writeln;
  writeln('      ***Матрица B***');
  for i := 1 to 5 do
  begin
    for j := 1 to 6 do write(B[i, j]:4);
    writeln;
  end;
  writeln;
  writeln('***Вектор C***');
  for i := 1 to 6 do
  begin
    writeln(C[i]:7);
    if C[i] mod 2 = 0 then evenCountC := evenCountC + 1;
  end;
  writeln('Количество четных элементов в векторе C = ', evenCountC);
  writeln;
  writeln('***Вектор D***');
  for i := 1 to 6 do
  begin
    writeln(D[i]:7);
    if D[i] mod 2 = 0 then evenCountD := evenCountD + 1;
  end;
  writeln('Количество четных элементов в векторе D = ', evenCountD);
  if evenCountC > evenCountD then
  begin
    writeln('Добавляем вектор C к матрице A.');
    for i := 1 to 6 do A[6, i] := C[i];
    writeln('  ***Измененная матрица A***');
    for i := 1 to 6 do
    begin
      for j := 1 to 6 do write(A[i, j]:4);
      writeln;
    end;
  end
  else
  begin
    writeln('Объединяем два вектора C и D.');
    writeln('Новый вектор M');
    for i := 1 to 6 do M[i] := C[i];
    for i := 7 to 12 do M[i] := D[i - 6];
    for i := 1 to 12 do writeln(M[i]:7);
  end;
  readln;
end.

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