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

(30 )
дана программа по обработке одномерного массива строки программы пронумерованы
а) для каждой строки или группы строк, объясните какие действия выполняет записанный в ней оператор языка
б) сформулируйте для решения, которой создана данная программа

Показать ответ
Ответ:
mlpfim2004
mlpfim2004
04.03.2023 01:32
Var
  n, k, d2, d1, d0: integer;
  e2, e1, e0: integer;

procedure GetDigits(m: integer; var d2, d1, d0: integer);
{Перевод числа [100..FFF]в 16-ю систему счисления}
begin
  d0 := m mod 16;
  m := m div 16;
  d1 := m mod 16;
  d2 := m div 16
end;

begin
  n := 0;
  {Рассматриваем шестнадцатиричные числа от 100 до 7FF}
  for k := $100 to $7FF do
  begin
    GetDigits(k, d2, d1, d0);
    if (d2 = 2) or (d1 = 2) or (d0 = 2) then
    begin
      GetDigits(2 * k, e2, e1, e0);
      if d0 + d1 + d2 = e0 + e1 + e2 then n := n + 1
    end
  end;
  writeln('n=', n)
end.

Тестовое решение:

n=23
0,0(0 оценок)
Ответ:
danadv
danadv
29.09.2020 13:09
Type
  St = record
    iquo: integer; {целая часть}
    irem: integer; {числитель дроби}
    idiv: integer; {знаменатель дроби}
  end;

function iMax(i, j: integer): integer;
begin
  if i > j then iMax := i else iMax := j
end;

function iMin(i, j: integer): integer;
begin
  if i < j then iMin := i else iMin := j
end;

function FR(i, j, k: integer): St;
var
  nmax, nmin: integer;

begin
  nmax := iMax(iMax(i, j), k);
  nmin := iMin(iMin(i, j), k);
  with Result do
  begin
    iquo := nmax div nmin;
    idiv := nmin;
    irem := nmax mod nmin
  end
end;

var
  a, b, c: integer;
  r: St;

begin
  write('Введите через пробел три целых числа:');
  readln(a, b, c);
  r := FR(a, b, c);
  writeln('Результат работы функции: ', r.iquo, ' целых и ', r.irem, '/', r.idiv)
end.

Тестовое решение:

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