В результате выполнения фрагмента программы: а:=20;
b:=(а mod 10)*10;
а:=(b*2)+а div 100;
if а>b then с:=а+b
else с:=b-а;
переменная с примет значение:
Вопрос 2
Отметьте, что произойдет в результате выполнения следующей программы:
program pr
var а, b, с: integer;
begin
write (‘Введите первое целое число’); readln (а);
write (‘Введите второе целое число’); readln (b);
if а>b then с:=2*а
else с:=2*b;
writeln (с)
end.
Варианты ответов
1. увеличение меньшего из двух чисел вдвое
2. уменьшение меньшего из двух чисел вдвое
3. увеличение большего из двух чисел вдвое
4. уменьшение большего из двух чисел вдвое
а:=20; // Значение переменной "а" становится равным 20
b:=(а mod 10)*10; // Значение переменной "а" берется по модулю 10, то есть остаток от деления на 10, который равен 0 (20 mod 10 = 0). Затем полученное значение умножается на 10, то есть 0 * 10 = 0. Получается, что значение переменной "b" тоже равно 0.
а:=(b*2)+а div 100; // Значение переменной "b" умножается на 2, то есть 0 * 2 = 0. Значение переменной "а" делится на 100 (20 div 100 = 0) и к полученному значению прибавляется результат умножения "b" на 2. В итоге получаем 0 + 0 = 0. Значение переменной "а" становится равным 0.
if а>b then с:=а+b // Значение переменной "а" (которое сейчас равно 0) сравнивается с значением переменной "b" (которое тоже равно 0). Так как "а" не больше "b", условие не выполняется и переходим к else ветви.
else с:=b-а; // Значение переменной "b" (которое равно 0) вычитается из значения переменной "а" (которое также равно 0). Получаем 0 - 0 = 0. Значение переменной "с" становится равным 0.
Итак, в результате выполнения данного фрагмента программы значение переменной "с" равно 0.
Вторая программа:
program pr // Объявление программы с названием "pr"
var а, b, с: integer; // Объявление трех переменных: "а", "b" и "с", все типа integer
begin // Начало самой программы
write ('Введите первое целое число'); readln (а); // Вывод на экран сообщения "Введите первое целое число" и считывание введенного пользователем значения в переменную "а"
write ('Введите второе целое число'); readln (b); // Вывод на экран сообщения "Введите второе целое число" и считывание введенного пользователем значения в переменную "b"
if а>b then с:=2*а // Если значение переменной "а" больше значения переменной "b", то значение переменной "с" будет равно удвоенному значению переменной "а" (2 * а)
else с:=2*b; // В противном случае, значение переменной "с" будет равно удвоенному значению переменной "b" (2 * b)
writeln (с) // Вывод значения переменной "с" на экран
end. // Конец программы
Итак, в результате выполнения данной программы будет выведено значение переменной "с" на экран. Значение переменной "с" зависит от значений переменных "а" и "b". Если "а" больше "b", то значение "с" будет равно 2 * "а". Если "а" не больше "b" (то есть "а" меньше или равно "b"), то значение "с" будет равно 2 * "b".
Варианты ответов:
1. увеличение меньшего из двух чисел вдвое
2. уменьшение меньшего из двух чисел вдвое
3. увеличение большего из двух чисел вдвое
4. уменьшение большего из двух чисел вдвое
Ответ: в результате выполнения данной программы будет происходить удвоение меньшего из двух введенных целых чисел. То есть, если "а" меньше или равно "b", то программа удваивает значение "b", иначе — удваивает значение "а". Поэтому правильным ответом будет вариант 2: уменьшение меньшего из двух чисел вдвое.