Pavel_Olegovna1601
?>

Определите, какими будут значения переменных p и d после выполнения операторов: p: =true; d: =1; k: =70; case 2*k div 10 of 3, 2, 7, 5: d: =k; 1: ; 4, 8: begin p: =true; if p then d: =3 end; 9, 6: begin if not p then d: =2 end end; в ответ введите сначала значение переменной p, а потом через пробел значение переменной d.

Информатика

Ответы

vikapar2646
В примере значение 2k div 10 = 14  при k=70
поэтому ни p ни k не меняются в case и равны первоначальным
ответ true 1
Светлана константин

Из сложностей может возникнуть только генерация случайного значения. Функция random(x) возвращает случайное число от 0 до x-1. Когда функция возвращает 0 (минимальное значение), нам нужно, чтобы оно превратилось в 20. Будем отнимать 20 от значения функции random(x):

a[i] := random(x) - 20;

Самое большое число, которое мы хотим получить - 60. Так как мы отнимаем 20, самое большое число, которое должна вернуть функция random(x) равно 80. Значит, x равен 81:

a[i] := random(81) - 20;


Кстати, произведение может получаться слишком большим, а тип данных integer может хранить числа не больше 32767. Поэтому мы должны хранить произведение как longint. Оно позволяет хранить числа до 2^{31}-1


Код

var

 a: array[1..1000] of integer;

 i, n: integer;

 ans: longint;


begin

 read(n);

 ans:=1;

 for i:=1 to n do

 begin

   a[i]:=random(81)-20;

   if a[i] > 20 then ans:=ans*a[i];

 end;

 writeln(ans);

end.

gassvetlana

Процедура ABC. Объявляются переменные A, B и С, в которые записываются значения ячеек [2, 2], [3, 2] и [4, 2] соответственно, переменная S со значением 0 и три переменных для результатов. Для каждой из переменных A, B, C проверяется, является ли её значение чётным: если да, то в соответствующих ей ответ записывается "Число A/B/C - чётное", а S увеличивается на его значение, в противном случае в ответ пишется "Число A/B/C - нечётное". Далее ответы записываются соответственно в ячейки [2, 3], [3, 3], [4, 3], а сумма чётных значений (S) - в ячейку [6, 2].

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

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

Определите, какими будут значения переменных p и d после выполнения операторов: p: =true; d: =1; k: =70; case 2*k div 10 of 3, 2, 7, 5: d: =k; 1: ; 4, 8: begin p: =true; if p then d: =3 end; 9, 6: begin if not p then d: =2 end end; в ответ введите сначала значение переменной p, а потом через пробел значение переменной d.
Ваше имя (никнейм)*
Email*
Комментарий*

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

yaelenatu
Reznikova1075
vodexshop2
artmasterstyle
vbnm100584
dionissia2
gardenkafe
lemoh
Boris1247
derkachn6429
korolev-comitet8825
ariyskayaa5
verkop9
ГармаеваЕкатерина1637
sbarichev330