Какое значение примет переменная х после выполнения фрагмента программы
Обновлено: 14.11.2024
Условие a <= b не выполняется, поэтому действие then x = a + b будет пропущено. Присвоение будет выполнено так, как указано в части else:
x:= 2 * a – 4 * b = 2 * 53 - 4 * 14 = 106 - 56 = 50.
Ответ: после выполнения фрагмента программы значение переменной х будет равно указанному в варианте d) 50.
Помогите пожалуйста, срочно надо.
Для того, чтобы определить какое значение будет принимать переменная Х, после выполнения фрагмента исходной программы, пройдем по этой программе вручную следующим образом:
1) а: =4, b: = 5, с: = 3.
2) If a > b then x: = a + b
4 > 5 - не верно, значит переходим на следующий шаг программы после ключевого слова else:
a: = b + c = 5 + 3 = 8; получили, что значение a теперь равняется 8.
x:= а - 3 * b = 8 - 3 * 5 = 8 - 15 = -7.
4) Поскольку следующим идет команда end, значит программа завершает и получаем значение x: = -7.
При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор. Его общий вид:
Для записи неполных ветвлений используется неполная форма условного оператора:
Слова if — then — else переводятся с английского языка на русский как если — то — иначе, что полностью соответствует записи ветвления на алгоритмическом языке.
Перед else знак «;» не ставится.
В качестве условий используются логические выражения:
- простые — записанные с помощью операций отношения;
- сложные — записанные с помощью логических операций.
Пример 1. Запишем на языке Паскаль рассмотренный в п. 2.4.2 (пример 8) алгоритм определения принадлежности точки х отрезку [а, b].
program n_9;
var х, a, b: real;
begin
writeln ('Определение принадлежности точки отрезку');
write ('Введите а, b>>');
readln (а, b) ;
write ('Введите х»');
readln (х);
if (х>=а) and (x<=b) then
writeln ('Точка принадлежит отрезку')
else writeln ('Точка не принадлежит отрезку')
end.
Пример 2. Воспользуемся неполным условным оператором для записи на языке Паскаль рассмотренного в п. 2.4.2 (пример 9) алгоритма присваивания переменной у значения наибольшей из трёх величин а, b и с.
program n_10;
var у, a, b, с: integer;
begin
writeln ('Нахождение наибольшей из трёх величин');
write ('Введите а, b, с>>');
readln (а, b, с) ;
у:=а;
if (b>y) then y:=b;
if (с>у) then у:=с;
writeln ('у=', у)
end.
Дополните эту программу так, чтобы её выполнение приводило к присваиванию переменной у значения большей из четырёх величин а, b, с и d.
Оператор ветвления на Паскале
В языке Паскаль имеется оператор ветвления. Другое его название — условный оператор.
Формат полного оператора ветвления следующий:
if <логическое выражение> then <оператор1> else <оператор2>
Здесь if — «если», then — «то», else — «иначе».
Программирование полного и неполного ветвления
Сравните запись алгоритма БИД 1 на алгоритмическом языке с соответствующей программой на Паскале.
Очень похоже на перевод с русского языка на английский. Обратите внимание на следующее отличие: в программе нет специального служебного слова, обозначающего конец ветвления. Здесь признаком конца оператора ветвления является точка с запятой. (Разумеется, оставлять в программе пустую строку совсем не обязательно. Здесь это сделано только ради наглядности.)
Простой формой логического выражения является операция отношения. Как и в АЯ, в Паскале допускаются все виды отношений (ниже указаны их знаки):
А теперь запрограммируем на Паскале алгоритм БИД2, в котором использовано неполное ветвление.
Опять всё очень похоже. Ветвь else в операторе ветвления может отсутствовать.
Запишем на Паскале программу определения большего из трех чисел, блок-схема которой показана на рис. 2.6. Структура этого алгоритма — вложенные ветвления. Алгоритм на АЯ (БИТ2) приведен в предыдущем параграфе.
Обратите внимание на то, что перед else символ «;» не ставится, так как этот символ является разделителем операторов. Вся ветвящаяся часть структуры алгоритма заканчивается на точке с запятой после оператора D:=С.
Составим программу упорядочения значений двух переменных.
Этот пример иллюстрирует следующее правило Паскаля: если на какой-то из ветвей оператора ветвления находится несколько последовательных операторов, то их нужно записывать между служебными словами begin и end. Конструкция такого вида:
begin <последовательность операторов> end
называется составным оператором. Следовательно, в описанной выше общей форме ветвления <оператор1> и <оператор2> могут быть простыми и составными операторами.
Читайте также: