Оператор присваивания в языке программирования
© К. Поляков, 2009-2011
Тема: Оператор присваивания в языке программирования1.
Что нужно знать:
переменная – это величина, которая имеет имя, тип и значение; переменная может изменяться во время выполнения программы
оператор присваивания служит для записи значения в переменную
если в переменную записывают новое значение, старое стирается
знаки +, -, *, / используются для обозначения операций сложения, вычитания, умножения и деления
запись вида a div b означает результат целочисленного деления a на b (остаток отбрасывается)
запись вида a mod b означает остаток от деления a на b
запись вида a := b + 2*c + 3; означает «вычислить значения выражения справа от знака присваивания := и записать результат в переменную a»; при этом значения других переменных (кроме a) не изменяются
для многократного выполнения одинаковых операций используют циклы;
цикл с переменной выполняется N раз, в этом примере переменная i принимает последовательно все значения от 1 до N с шагом 1
for i:=1 to N do begin
{ что-то делаем }
end;
цикл с условием выполняется до тех пор, пока условие в заголовке цикла не нарушится;
while { условие } do begin
{ что-то делаем }
end;
главная опасность при использовании цикла с условием – зацикливание; эта такая ситуация, когда цикл работает бесконечно долго из-за того, что условие все время остается истинным
Пример задания:
Определите значение переменной c после выполнения следующего фрагмента программы.
a := 5;
a := a + 6;
b := –a;
c := a – 2*b;
1) c = –11 2) c = 15 3) c = 27 4) c = 33
Решение:
для решения нужно использовать «ручную прокрутку» программы, то есть, выполнить вручную все действия
наиболее удобно и наглядно это получается при использовании таблицы, где в первом столбце записаны операторы программы, а в остальных показаны изменения переменных при выполнении этих операторов
здесь используются три переменные: a, b, c; до выполнения программы их значения анм неизвестны, поэтому ставим в таблице знаки вопроса:
a
b
c
?
?
?
после выполнения оператора a := 5; изменяется значение переменной a:
a
b
c
?
?
?
a := 5;
5
оператор a := a + 6; означает «вычислить значение выражения a + 6 используя текущее значение a (равное 5), и записать результат обратно в переменную a»; таким образом, новое значение равно 5 + 6 = 11:
a
b
c
?
?
?
a := 5;
5
a := a + 6;
11
следующий оператор, b := -a; изменяет значение переменной b, записывая в нее –a; учитывая, что в a записано число 11, находим, что b будет равно –11:
a
b
c
?
?
?
a := 5;
5
a := a + 6;
11
b := –a;
–11
последняя команда, c := a – 2*b, изменяет значение переменной c; при текущих значениях a = 11 и b = –11 результат выражения равен 11 – 2*(–11) = 33, это число и будет записано в переменную c:
a
b
c
?
?
?
a := 5;
5
a := a + 6;
11
b := –a;
–11
c := a – 2*b;
33
таким образом, правильный ответ – 4.
-
Возможные ловушки и проблемы:
можно перепутать нужную переменную, и, увидев в ответах число –11, выбрать его (поскольку b = –11)
нельзя забывать про знак переменных и про то, что «минус на минус дает плюс»
Задачи для тренировки2:
Определите значение целочисленных переменных a и b после выполнения фрагмента программы:
a := 3 + 8*4;
b := (a div 10) + 14;
a := (b mod 10) + 2;
1) a = 0, b = 18 2) a = 11, b = 19 3) a = 10, b = 18 4) a = 9, b = 17
Определите значение целочисленных переменных a и b после выполнения фрагмента программы:
a := 1819;
b := (a div 100)*10+9;
a := (10*b–a) mod 100;
1) a = 81, b = 199 2) a = 81, b = 189 3) a = 71, b = 199 4) a = 71, b = 189
Определите значение целочисленных переменных a и b после выполнения фрагмента программы:
a := 42;
b := 14;
a := a div b;
b := a*b;
a := b div a;
1) a = 42, b = 14 2) a = 1, b = 42 3) a = 0, b = 588 4) a = 14, b = 42
Определите значение целочисленных переменных x, y и t после выполнения фрагмента программы:
x := 5;
y := 7;
t := x;
x := y mod x;
y := t;
1) x=2, y=5, t=5 2) x=7, y=5, t=5 3) x=2, y=2, t=2 4) x=5, y=5, t=5
Определите значение целочисленных переменных a и b после выполнения фрагмента программы:
а :=6*12 + 3;
b :=(a div 10)+ 5;
a :=(b mod 10)+ 1;
1) a = 1, b = 10 2) a = 3, b = 12 3) a = 4, b = 16 4) a = 10, b = 20
Определите значение целочисленных переменных x и y после выполнения фрагмента программы:
x := 336
У := 8;
x := x div y;
y := х mod у;
1) x = 42, y = 2 2) x = 36, y = 12 3) x = 2, y = 24 4) x = 24, y = 4
Определите значение целочисленных переменных a и b после выполнения фрагмента программы:
а :=1686;
b :=(a div 10) mod 5;
а := а - 200*b;
1) a = 126, b = 5 2) a = 526, b = 5 3) a = 1086, b = 3 4) a = 1286, b = 3
Определите значение целочисленных переменных x и y после выполнения фрагмента программы:
х := 11;
у := 5;
t := y;
у := х mod у;
x := t;
у := у + 2*t;
1) x = 11, y = 5 2) x = 5, y = 11 3) x = 10, y = 5 4) x = 5, y = 10
Определите значение целочисленных переменных x и y после выполнения фрагмента программы:
х := 19;
у := 3;
z := у*2;
у := х mod у;
х := х - z;
у := у + z;
1) x = 10, y = 9 2) x = 13, y = 7 3) x = 16, y = 8 4) x = 18, y = 2
Определите значение целочисленных переменных x, y и z после выполнения фрагмента программы:
х := 13;
у := 3;
z := x;
x := z div у;
у := х;
1) x = 13, y = 4, z = 4 2) x = 13, y = 13, z = 13
3) x = 4, y = 4, z = 13 4) x = 4, y = 3, z = 13
Определите значение переменной b после выполнения следующего фрагмента программы, где a и b – вещественные (действительные) переменные:
a := -5;
b := 5 + 7 * a;
b := b / 2 * a;
1) 3 2) –3 3) 75 4) –75
Определите значение переменной b после выполнения следующего фрагмента программы, где a и b – вещественные (действительные) переменные:
a := 5;
b := 5 - 3 * a;
b := b / 2 * a;
1) 1 2) –1 3) 25 4) –25
Определите значение переменной b после выполнения следующего фрагмента программы, где a и b – вещественные (действительные) переменные:
a := 5;
b := 5 + 5 * a;
b := b / 2 * a;
1) 3 2) 5 3) 75 4) 125
Определите значение переменной b после выполнения следующего фрагмента программы, где a и b – вещественные (действительные) переменные:
a := 7;
b := 7 + 3 * a;
b := b / 2 * a;
1) 2 2) 5 3) 98 4) 245
Определите значение переменной c после выполнения следующего фрагмента программы:
a := 100;
b := 30;
a := a – b*3;
if a > b then
c := a – b
else c := b – a;
1) 20 2) 70 3) –20 4) 180
Определите значение переменных a и b после выполнения следующего фрагмента программы:
a := 2468;
b := (a mod 1000)*10;
a := a div 1000 + b;
1) a=22, b=20 2) a=4682, b=4680 3) a=8246, b=246 4) a=470, b=468
Определите значение переменной c после выполнения следующего фрагмента программы:
a := 6;
b := 15;
a := b – a*2;
if a > b then
c := a + b
else c := b – a;
1) –3 2) 33 3) 18 4) 12
Определите значение переменной c после выполнения следующего фрагмента программы:
a := -5;
b := 14;
b := b + a*2;
if a > b then
c := a + b
else c := b – a;
1) –1 2) 23 3) 13 4) 9
Определите значение переменной c после выполнения следующего фрагмента программы:
a := -5;
b := 3;
a := a - b*2;
if a > b then
c := b - a
else c := a – b;
1) 14 2) –14 3) 6 4) –6
Определите значение переменной c после выполнения следующего фрагмента программы:
a := -5;
b := -3;
a := a - b*3;
if a > b then
c := b + a
else c := a – b;
1) 1 2) –9 3) 3 4) –11
Определите значение переменной c после выполнения следующего фрагмента программы:
a := -2;
b := -3;
a := b + a*3;
if a < b then
c := a - b
else c := b – a;
1) 12 2) –6 3) 6 4) –12
Определите значение переменной c после выполнения следующего фрагмента программы:
a := 40;
b := 10;
b := a - 2*b;
if a < 2*b then
c := a
else c := b;
1) 60 2) 40 3) 20 4) 10
Определите значение переменной c после выполнения следующего фрагмента программы, в котором a, b и с – переменные вещественного (действительного) типа:
a := 120;
b := 100;
a := a + b / 2;
if b < a / 2 then
c := b + a
else c := b + a / 2;
1) с = 105 2) с = 160 3) с = 185 4) с = 270
Определите значение переменной S после выполнения следующего фрагмента программы:
S:=1; i:=1;
while i < 5 do begin
S := S + i*(i+1);
i := i + 1;
end;
1) S = 1 2) S = 11 3) S = 21 4) S = 41
Определите значение переменной S после выполнения следующего фрагмента программы:
S:=0; i:=7;
while i > 1 do begin
S := S + i div 2;
i := i - 1;
end;
1) S = 0 2) S = 7 3) S = 12 4) S = 24
Определите значение переменной P после выполнения следующего фрагмента программы:
P:=1; i:=3;
while i <= 9 do begin
P := P * (i div 3);
i := i + 1;
end;
1) 1 2) 3 3) 9 4) 24
Определите значение переменной с после выполнения следующего фрагмента программы:
a:= 7;
a:= a - 4;
b:= -a;
c:= -a + 2*b;
1) -3 2) -9 3) -13 4) -21
Определите значение переменной с после выполнения следующего фрагмента программы:
a:= 5;
a:= 12 – a*a;
b:= -a;
c:= 10*a - b;
1) -143 2) 143 3) -13 4) 13
Определите значение переменной с после выполнения следующего фрагмента программы:
x:= 2.5E+02; { 2.5E+02 = 2.5·10+02 = 250}
x:= x + 0.5E+02; { 0.5E+02 = 0.5·10+02 = 50}
y:= -x;
c:= -2*y - x;
1) 300 2) 7 3) -19,5 4) -300
Определите значение переменной с после выполнения следующего фрагмента программы:
m:= 67;
m:= m + 13;
n:= m/4 – m/2;
c:= m - n;
1) -78 2) -60 3) 100 4) 120
Определите значение переменной с после выполнения следующего фрагмента программы:
x:= 8 + 2*5;
y:= (x mod 10) + 14;
x:= (y div 10) + 3;
c:= x - y;
1) -10 2) -17 3) -11 4) -18
1 Здесь рассматривается только язык Паскаль, который является наиболее распространенным в школах России.
2 Источники заданий:
Демонстрационные варианты ЕГЭ 2004-2011 гг.
Гусева И.Ю. ЕГЭ. Информатика: раздаточный материал тренировочных тестов. — СПб: Тригон, 2009.
Крылов С.С., Лещинер В.Р., Якушкин П.А. ЕГЭ-2010. Информатика. Универсальные материалы для подготовки учащихся / под ред. В.Р. Лещинера / ФИПИ. — М.: Интеллект-центр, 2010.
Якушкин П.А., Ушаков Д.М. Самое полное издание типовых вариантов реальных заданий ЕГЭ 2010. Информатика. — М.: Астрель, 2009.
М.Э. Абрамян, С.С. Михалкович, Я.М. Русанова, М.И. Чердынцева. Информатика. ЕГЭ шаг за шагом. – М.: НИИ школьных технологий, 2010.
Самылкина Н.Н., Островская Е.М. ЕГЭ 2011. Информатика. Тематические тренировочные задания. — М.: Эксмо, 2010.
http://kpolyakov.narod.ru
страница 1
скачать
Другие похожие работы: