Ответ: 33
B8 (базовый уровень, время – 3 мин)
Тема: Умение исполнить линейный алгоритм, записанный на алгоритмическом языке.
Что нужно знать:
· Алгоритмы описывают последовательность действий, производимых над объектами, определенными условием задачи;
· переменная – это величина, которая имеет имя, тип и значение; переменная может изменяться во время исполнения алгоритма;
· оператор присваивания служит для записи значения в переменную, который записывается так: <имя переменной> =: <выражение>;
· значение, присвоенное переменной, сохраняется в ней до следующего присваивания этой переменной нового значения; если в переменную записывают новое значение, старое стирается;
· знаки +, -, *, / используются для обозначения операций сложения, вычитания, умножения и деления. Правила выполнения операций и порядок действий соответствуют правилам арифметики.
· запись вида a div b означает результат целочисленного деления a на b (остаток отбрасывается);
· запись вида a mod b означает остаток от деления a на b;
· запись вида a := с + 4*d + 1; означает «вычислить значения выражения справа от знака присваивания := и записать результат в переменную a»; при этом значения других переменных (кроме a) не изменяются.
Задача 1: Определите значение переменной c после выполнения следующего фрагмента программы.
а =: 5;
а =: а + 6;
b =: -а;
с =: а - 2*b;
Решение:
1) выполним вручную все действия программы;
2) составим таблицу, где в первом столбце записаны операторы программы, а в остальных показаны изменения переменных при выполнении этих операторов;
3) в задаче используются три переменные: a, b, c;
4) после выполнения оператора a := 5; изменяется значение переменной a:
a | b | c | |
a := 5; |
5) следующий оператор a := a + 6;в результате новое значение равно 5 + 6 = 11:
a | b | c | |
a := 5; | |||
a := a + 6; |
6) оператор, b := -a; изменяет значение переменной b, записывая в нее –a; поэтому значение b = –11:
a | b | c | |
a := 5; | |||
a := a + 6; | |||
b := –a; | –11 |
7) оператор c := a – 2*b, изменяет значение переменной c; результат с = 33 (11 – 2*(–11) = 33):
a | b | c | |
a := 5; | |||
a := a + 6; | |||
b := –a; | –11 | ||
c := a – 2*b; |
Ответ: 33
Задача 2:Определите значение целочисленных переменных a и b после выполнения фрагмента программы:
a := 3 + 8*4;
b := (a div 10) + 14;
a := (b mod 10) + 2;
Решение:
1) выполним вручную все действия программы;
2) составим таблицу, где в первом столбце записаны операторы программы, а в остальных показаны изменения переменных при выполнении этих операторов;
3) в задаче используются три переменные: a, b, c;
4) после выполнения оператора a := 3+8*4; изменяется значение переменной a:
a | b | |
a := 3+8*4; |
5) следующий оператор b := (a div 10) + 14;изменяется значение переменной b, в результате новое значение равно 17 ((35 div 10) + 14 = 17), где запись вида 35 div 10 означает результат целочисленного деления 35 на 10 (остаток отбрасывается), т.е. 3:
a | b | |
a := 3+8*4; | ||
b := (a div 10) + 14; |
6) оператор a := (b mod 10) + 2;изменяет значение переменной a, в результате новое значение равно 9 ((17 mod 10) + 2 = 9), где запись вида 17 mod 10 означает результат остаток деления 17 на 10 (остаток отбрасывается), т.е. 7: