Чему будет равно значение переменной c в результате выполнения фрагмента программы a: =125; b: =25; c: =12; if a div 25=0 then if a mod 12=0 then c: =b div (a mod c) else c: =a div (b mod c); 1) 0; 2) 1; 3) 12; 4) 125.
234
335
Ответы на вопрос:
Сначала переменные a,b,c получат значения. значением условного выражения (a div 25) = 0 будет false (ложно), поскольку 125 / 5 = 5, а не 0. следовательно, в первом условном операторе должен выполняться код в блоке, стоящий после ключевого слова else, если таковое имеется. рассмотрим фрагмент программы, как он записан: if a div 25=0 then if a mod 12=0 then c: =b div (a mod c) else c: =a div (b mod c); отступы придумали не зря: они понимать логику программы.мы видим два if, два then и только одно else. какому же if оно сопоставляется? другими словами, какая из двух следующих конструкций правильная? if a div 25=0 then if a mod 12=0 then c: =b div (a mod c) else c: =a div (b mod c); if a div 25=0 then if a mod 12=0 then c: =b div (a mod c) else c: =a div (b mod c); правила языка паскаль легко позволяют разрешить проблему: ключевое слово else связывается с ближайшим к нему предшествующим if, не имеющим else.следовательно, верно первое из толкований, т.е. первый if ветки с else не имеет. поэтому значение переменной с не изменится, оставшись равным 12.ответ: 12замечание. а как сделать, чтобы выполнялась логика второй конструкции? просто: использовать блок. if a div 25=0 then begin if a mod 12=0 then c: =b div (a mod c) end else c: =a div (b mod c);
Program n1; var a,b: real; begin write('введите а и b: '); readln(a,b); if a< b then writeln('наибольшее b; квадрат: ',b*b); if a> b then writeln('наибольшее a; квадрат: ',a*a); end.
Популярно: Информатика
-
Domashkafu03.08.2021 22:34
-
ivanpowerflusi27.08.2022 00:55
-
loptf27.01.2023 05:32
-
khfozilzhonov03.11.2022 08:18
-
балагуш09.10.2022 00:50
-
ekaterinabraun525.09.2022 18:25
-
18Tanya02.09.2020 20:04
-
lenchikkos25.03.2022 01:40
-
Kmamsmajfkf19.08.2022 18:27
-
буря426.11.2020 14:19