Переведите ** Паскаль ABC пожалуйста:x - исследуемое числоизменяется от 16 до...

0 голосов
22 просмотров

Переведите на Паскаль ABC пожалуйста:

x - исследуемое число
изменяется от 16 до 16*16/2-1=127
к - счетчик
а - младший знак 16-ричной записи числа х
b - старший знак 16-ричной записи числа х
c - младший знак 16-ричной записи числа 2х
d - старший знак 16-ричной записи числа 2х

k:=0
цикл по х от 16 до 127
{
b:= целое(х/16)
a:=x-16*b
d:= целое(2*х/16)
c:=2*x-16*b
если a+b = c+в то k:=k+1
}
ответ к


Информатика (49 баллов) | 22 просмотров
0

В четвертой снизу строке ошибка, чтобы "с" было младшим знаком, как описано в условии, надо 16 умножать на d, а не на b.

Дан 1 ответ
0 голосов
Правильный ответ

Var
  a, b, c, d, x, k: integer;

begin
  k := 0;
  for x := 16 to 127 do
  begin
    b := x div 16;
    a := x - 16 * b;
    d := (2 * x) div 16;
    c := 2 * x - 16 * d;
    if (a + b) = (c + d) then k := k + 1
  end;
  writeln(k)
end.

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

7

(142k баллов)