Линейные алгоритмы (№ 8)

ОГЭ по информатике

В линейных алгоритмах используется структура "следование", когда команды выполняются строго сверху вниз:

команда 1
команда 2
команда 3
...
команда n

В школе может использоваться алгоритмический язык (система Кумир), поэтому все дальнейшие примеры будут показаны на этом языке программирования.

В любой программе встречается оператор присваивания :=

Пример:

a := 1 |переменной a присваивается значение 1
b := 2 |переменной b присваивается значение 2
a := a + b  |переменной a присваивается значение выражения a + b
вывод a  |на экран выводится новое значение переменной a, равное 3

Укажем порядок арифметических операций:

  1. вычисление выражений в скобках
  2. Умножение *, деление / , div, mod слева направо
  3. Сложение + и вычитание - слева направо

div - целая часть от деления одного числа на другое; mod - нахождение остатка от деления двух чисел

Пример:

a := 10 div 3   |переменной a присваивается значение 3, так как 10 / 3 = 3,33...
b := 10 mod 4  |переменной b присваивается значение 2, так как на 4 делится 8 и остается еще 2
c := 12 mod 2  |переменной c присваивается значение 0, так как 12 делится на 2 без остатка (с нулевым остатком)

Операции div и mod работают только с целыми числами! Чтобы окончательно понять их работу, рассмотрим схему:

Приведем примеры порядка выполнения операций (иллюстрации Полякова К.Ю.):

 

Примеры решения заданий

Пример 1

В программе знак «:=» обозначает оператор присваивания, знаки «+», «–», «*» и «/» – соответственно операции сложения, вычитания, умножения и деления. Правила выполнения операций и порядок действий соответствуют правилам арифметики.
Определите значение переменной a после выполнения алгоритма:

a := 6
b := 2
b := a/2*b
a := 2*a+3*b

В ответе укажите одно целое число – значение переменной a.

Решение:

a := 6     |переменной a присваивается значение 6
b := 2     |переменной b присваивается значение 2
b := a/2*b   |переменной b присваивается новое значение: 6/2*2 = 3*2 = 6 (действия слева-направо)
a := 2*a+3*b |переменной a присваивается новое значение: 2*6 + 3*6 = 30

Ответ: 30


Пример 2

В программе «:=» обозначает оператор присваивания, знаки «+», «–», «*» и «/» – соответственно операции сложения, вычитания, умножения и деления. Правила выполнения операций и порядок действий соответствуют правилам арифметики.
Определите значение переменной а после выполнения данного алгоритма:

a := 2
b := 5
b := 6+a*b
a := b/4*a

В ответе укажите одно целое число – значение переменной а.

Решение:

a := 2     |переменной a присваивается значение 2
b := 5     |переменной b присваивается значение 5
b := 6+a*b    |переменной b присваивается новое значение: 6 + 2*5 = 6 + 10 = 16
a := b/4*a    |переменной a присваивается новое значение: 16/4*2 = 4*2 = 8

Ответ: 8


Пример 3

В программе «:=» обозначает оператор присваивания, знаки «+», «–», «*» и «/» – соответственно операции сложения, вычитания, умножения и деления. Правила выполнения операций и порядок действий соответствуют правилам арифметики.
Определите значение переменной а после выполнения данного алгоритма:

a := 20
b := 6
b := a div b + 3
a := 2*a mod b

В ответе укажите одно целое число – значение переменной а.

Решение:

a := 20  |переменной a присваивается значение 20
b := 6   |переменной b присваивается значение 6
b := a div b + 3  |переменной b присваивается новое значение: 20 div 6 + 3 = 3 + 3 = 6
a := 2*a mod b    |переменной a присваивается новое значение: 2*20 mod 6 = 40 mod 6 = 4 (36 делится, остается еще 4)

Ответ: 4


Пример 4

В программе «:=» обозначает оператор присваивания, знаки «+», «–», «*» и «/» – соответственно операции сложения, вычитания, умножения и деления. Правила выполнения операций и порядок действий соответствуют правилам арифметики.
Определите значение переменной b после выполнения данного алгоритма:

a := 10
b := 30
a := (b mod 7) div 2
b := a + 4 mod 2

В ответе укажите одно целое число – значение переменной а.

Решение:

a := 10    |переменной a присваивается значение 10
b := 33    |переменной b присваивается значение 30
a := (b mod 7) div 2   |переменной a присваивается новое значение: (33 mod 7) div 2 = 5 div 2 = 2
b := a + 4 mod 2       |переменной b присваивается новое значение: 2 + 4 mod 2 = 2 + 0 = 2

Ответ: 2

Пройти тест по этой теме

 

ОГЭ по информатике

blog comments powered by Disqus

Яндекс.Метрика Мой канал на youtube Усть-Куломская школа Усть-Куломский район Коноплев О.О.

© 2016 Рассыхаев А.А.