mvinogradov6
?>

ответить. буду чрезмерно . есть ли ошибка в использовании знака присвоения ": =" в представленном фрагменте программы: x: =100; if x=100 then y: =x*x; ответы: вариант 1: неправильно использован знак присвоения ": =" в операторе "if x=100 then y: =x*x; " после слова if надо писать не "x=100", а "x: =100" вариант 2: ошибки нет вариант 3: в операторе "if x=100 then y: =x*x; " после then необходимо писать "y=x*x" вместо "y: =x*x" вариант 4: затрудняюсь сказать

Информатика

Ответы

fudan
Ошибки нет.
В условном операторе после if пишется <условие>  (в данном случае "x=100"), а после then - <оператор> (в данном примере это оператор присваивания "y:=x*x;")
I.B.Petrishchev

program raf105;

var  

 white,blue,red,x,y,z: integer;

 w,b,r: boolean;

begin

writeln('Ввод:');

readln(white, blue, red, x, y, z);

repeat

 w:= false;

 b:= false;

 r:= false;

 if white >= x

   then begin

     white-= x;

     blue+= 1;

   end

   else w:= true;

 if blue >= y

   then begin

     blue-= y;

     red+= 1;

   end

   else b:= true;

 if red >= z

   then begin

     red-= z;

     white+= 1;

   end

   else r:= true;

until w and b and r;

writeln('Вывод:');

writeln(white,' ', blue,' ', red);

end.

PascalABC 3.4.2
Станислав Роман994

Проще всего решать такие задачи, приведя всё к одной системе, проще всего 16ричной(легче переводить), хотя можно и в10ричную, но сложней.

Итак

a = 91h

b = 352(8) = 011 101 010b =  1110 1010b =EAh

ч1 = 1000 1001b = 89h

ч2 = 1000 1100b = 8Ch

ч3 = 1101 0111b = D7h

ч4 = 1111 1000b = F8h

Ну и всё, теперь ясно видно, что заданному условию удовлетворяет только ч3.

Потому, что

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

 

89h   8Ch   91h   D7h   EAh   F8h

 ч1      ч2      а        ч3      b        ч4

 

Вот теперь очевидно.

 

 

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

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

ответить. буду чрезмерно . есть ли ошибка в использовании знака присвоения ": =" в представленном фрагменте программы: x: =100; if x=100 then y: =x*x; ответы: вариант 1: неправильно использован знак присвоения ": =" в операторе "if x=100 then y: =x*x; " после слова if надо писать не "x=100", а "x: =100" вариант 2: ошибки нет вариант 3: в операторе "if x=100 then y: =x*x; " после then необходимо писать "y=x*x" вместо "y: =x*x" вариант 4: затрудняюсь сказать
Ваше имя (никнейм)*
Email*
Комментарий*

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

Стуканова УЧРЕЖДЕНИЕ1877
lepekhov4011
ВадимСмирнов116
Blekjek730
Larisa Bulgakova
Наталья_Васищев
Египтян2004
dilanarthur27
соловьев_Куркина
vladimir686
uisfbu7777733
nikitavertiev98400
info2471
vadimpopov88
nadlen76