zolotayaoxana1982
?>

Определите значение суммы целочисленных переменных x и после выполнения фрагмента программы: x : = 4 + 8 * 3 ; y : = ( x mod 10 ) + 15; x : = ( y div 10 ) + 3

Информатика

Ответы

nikolai37
X : = 4 + 8 * 3 ; - то есть x=4+8*3 = 4+24 = 28
y : = ( x mod 10 ) + 15; // mod 10 - остаток от деления на 10. y = (28 mod 10)+15 = 8+15 = 23
x : = ( y div 10 ) + 3 // div - целочисленное деление, (y div 10) + 3 = (28 div 10) + 3 = 2+3 = 5

Сумма переменных равна 23+5 = 28
Кедрин Карлен

"вещественные числа p, b1, ..., bn, которые не превосходят по модулю 105" - К чему это условие? Если это условие включить в код, то вещественное число, такое как 123.45 уже больше модуля 105, а значит либо этого условия нету, раз уж у тебя в примере 123.45 включается в сумму, которая больше p, либо нет условия с модулем.

Я закомментировал условие проверки числа на с модулем 105 и программа работает так, как описано в примере.

Если захочешь добавить условие с модулем, то убери # и поставь табуляцию(несколько пробелов) перед s.append(k)

n = int(input()) while not 1<=n<=1000: #Ввод n, если не входит в диапазон, то ждет ввода снова    n = int(input()) s = [] p = float(input()) for i in range(n):    k = float(input())    # if k < abs(105):    s.append(k)   sum = 0 for i in s:    if i > p:        sum += i print(sum)
vintazhvintazh90
Выполняя алгоритм, получаем следующий результат (15 итераций)

1. 0..65534 -> 32767
2. 0..32766 -> 16383
3. 0..16382 -> 8191
4. 0..8190  -> 4095
5. 0..4094  -> 2047
6. 2048..4094 -> 3071
7. 2048..3070 -> 2559
8. 2560..3070 -> 2815
9. 2816..3070 -> 2943
10. 2944..3070 -> 3007
11. 2944..3006 -> 2975
12. 2976..3006 -> 2991
13. 2992..3006 -> 2999
14. 3000..3006 -> 3003
15. 3000..3002 -> 3001

Если лень перебирать вручную, можно воспользоваться программой

var k,l,r,x,f:integer;
begin
f := 3001;
l := 0;
r := 65534;
x := (l + r) div 2;
k := 1;
while (x <> f) and (l < r) do
  begin
  writeln(k,' ',l,' ',r,' ',x);
  k := k + 1;
  if f < x then r := x - 1
    else l := x + 1;
  x := (l + r) div 2
  end;
writeln(k,' ',l,' ',r,' ',x);
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Определите значение суммы целочисленных переменных x и после выполнения фрагмента программы: x : = 4 + 8 * 3 ; y : = ( x mod 10 ) + 15; x : = ( y div 10 ) + 3
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

lenapopovich556510
jablokov
dilovarnazarov1986
АнтонАртем
lanac3po
shakovaea
horina12
Amulenkov
Olga-Lev1160
Sknyajina5
Платон Демцун
badalovao256
Апраксин Владимир897
coffeenik20233
Posadskii-Sergeevna