Урок 24. переменные и действия над ними

Урок 24. переменные и действия над ними Рассмотрим такую задачу: Известно, что на пути движения Робота вниз находится стена. Необходимо обойти стенку и встать в клетке, которая находится в том же столбце, но … с другой стороны стенки, размер которой неизвестен. С помощью цикла «Пока» мы можем приказать Роботу дойти до стенки и обогнуть ее, но как остановить его именно в том месте, где нужно?

Чтобы решить эту задачу, надо в тот момент, когда Робот спустится вниз до стенки, каким-то образом запомнить, где он стоит, то есть запомнить расстояние от него до края стенки. Единственный способ сделать это – считать, сколько шагов сделает Робот вдоль стенки до края, чтобы затем сделать столько же шагов обратно, уже под стенкой.

Пришло время научить нашего Робота более сложным операциям, чем просто закрашивать клетки и строить стенки. Было бы хорошо, если бы он мог, например, вычислять площадь фигуры, в которой он находится, или определять расстояние до определенной точки. Для этого он должен уметь выполнять вычисления – работать с числами, сравнивать их, запоминать, выполнять арифметические операции.

Алгоритм, как и другие необходимые данные для работы Робота хранятся в памяти компьютера. Следовательно, если мы хотим работать с числами и выполнять с ними различные операции (складывать, вычитать, умножать, делить, сравнивать), то мы также должны выделить часть памяти для хранения этих чисел и результатов проделанных операций. Каждому такому разделу памяти, предназначенному для хранения числовых данных, мы должны дать свое имя, чтобы компьютер при выполнении алгоритма мог их отличить друг от друга.

Для работы с числами в алгоритмах используется понятие переменная. Различные переменные и служат для обозначения различных кусочков памяти, где хранятся числа, которые мы используем в алгоритме. Каждая переменная должна иметь свое собственное имя и некоторое числовое значение.

При составлении алгоритма нам следует позаботиться о том, чтобы дать переменным, с которыми мы хотим работать имена, а также какие-то значения, чтобы компьютер мог их использовать в вычислениях. Наверное, проще всего это разобрать на примере. Пусть у нас есть следующий алгоритм. Посмотрим, как его обрабатывает компьютер.

алг переменные дано! надо!
нач а, б, с В алгоритме будет использовано три переменные, поэтому компьютеру необходимо выделить три ячейки памяти для хранения чисел с именами а, б, с
а:=3 В алгоритме встретилось имя «а», компьютер в ячейку памяти с таким именем записал значение 3.
б:=5 В алгоритме встретилось имя «б», компьютер в ячейку памяти с таким именем записал значение 5.
с:=а+б В алгоритме встретилось имя «с», компьютер активизировал ячейку памяти с таким именем. Затем, обнаружив имена переменных а и б, прочитал из памяти их значения (3 и 5), сложил их, и результат 8 записал в память, выделенную для переменной с.
с:=б-а Опять переменная с. Вычисляется разность б-а (это будет 2) и записывается в память, обозначенную именем переменной с. При этом старое значение 8 пропадает, и переменной с теперь соответствует новое значение 2.
кон

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

:=

Вот несколько примеров операторов присваивания:

А:=В+С Сложить значения переменных В и С и результат записать в переменную А
Х:=М*2-7 Значение переменной М умножить на 2, потом вычесть 7 и результат записать в переменную Х
АА:=В+С-STR Сложить значения переменных В и С, вычесть значение переменной STR и результат записать в переменную АА

Как видите, имена переменных могут состоять из нескольких букв. Точнее, именем переменной может быть любой набор букв и цифр, только начинаться оно должно обязательно с буквы. Другие символы в имени переменной появляться не должны.

Примеры допустимых имен переменных Примеры недопустимых имен переменных
A FFF X1 X2 QZ BOBA K** 4A УРА! 5MMM (G)

Задание:

Вычеркните из предложенных вариантов примеры неправильных имен переменных:

ABC T34 M23% 25$ W SSSS AHTOH12 A1B2 D?F F(X) TCC.. R14367 1D C: JOHN VV88W

Для записи арифметических действий в арифметическом выражении используются следующие значки: + (сложить), ? (вычесть), * (умножить), / (разделить) при этом Робот может лишь производить целочисленное деление, т. е. если при делении двух чисел получается дробное число, то Робот оставляет лишь его целую часть, например, 5/2=2, ^ (возведение в степень), а также круглые скобки () для выделения тех действий, которые по смыслу надо выполнить раньше. Другие скобки – квадратные [] или фигурные{} – не разрешаются. Естественно, количество открывающих «(« и закрывающих «)» скобок должно быть одинаковым. Есть одна тонкость. Арифметическое выражение должно быть записано в строчку, то есть для записи формулы с большой дробью числитель и знаменатель надо заключать в скобки и ставить между ними знак /.

Вот несколько примеров формул и соответствующих им арифметических выражений:

Формула Арифметическое выражение
Урок 24. переменные и действия над ними X+Y/(Y+1)
(X+1)*(X+2)*(X+3)
Урок 24. переменные и действия над ними (A+2*B-3*C)/(5*A+4)
Урок 24. переменные и действия над ними (A+B)/(A-B)+A*B/3

Обратите внимание: в математических формулах часто не пишется знак умножения, а в арифметическом выражении этот знак обязательно надо записывать. В формуле мы можем написать 4Х, но для алгоритмической записи нужно поставить 4*Х, поскольку запись 4Х компьютер воспримет как неправильное имя переменной. И еще: если не ставят скобки, то сначала слева – направо выполняются операции умножения и деления, затем операции сложения и вычитания (тоже слева направо). Приведем еще несколько примеров арифметических выражений, которые могли бы вызвать трудности для понимания.

Запись Соответствующая формула
A*B/C+D Урок 24. переменные и действия над ними
A/B/C*D
(A*D)/(B*C)
A*B/C*D/E Урок 24. переменные и действия над ними
(A*B*D)/(C*E)

Что-то мы совсем отвлеклись от решения исходной задачи. Напомним, что нам необходимо было определить расстояние до препятствия и затем обогнув его, встать на таком же расстоянии, только уже с другой стороны стены. Теперь то мы уже знаем, как можно помочь Роботу сосчитать количество шагов до конца стены. Решение нашей задачи выглядит так:

алг сквозь стену

дано! Робот и стена

надо! обогнуть стену, встав в исходный столбец

нач n !объявление переменной, выделение ячейки памяти

n:=0; !присваивание начального значения

нц пока снизу свободно

вниз;

кц

нц пока снизу стена

влево;

n:=n+1; !увеличиваем счетчик шагов на 1

кц

вниз;

вправо (n);

кон

Итак, подведем некоторые итоги нашего урока:

Переменная –это величина, которая имеет имя и значение. Значение переменной может меняться во время выполнения программы. В компьютерах каждая переменная записана в свою ячейку памяти. Робот может использовать только переменные целого типа.

При работе с переменными надо иметь ввиду следующие обстоятельства:

1. В начале программы все используемые переменные необходимо объявлять, при этом компьютер выделяет под них место в памяти и запоминает имена переменных. Если переменная не объявлена, то возникает ошибка Неизвестный идентификатор.

2. При объявлении переменных их имена указываются через запятую после ключевого слова нач.

3. Имена переменных могут состоять из нескольких символов (букв или цифр), но начинаться они должны обязательно с буквы. После перечисления всех переменных точка с запятой не ставится.

Для того чтобы использовать переменные, надо уметь выполнять две основные операции:

1. Считывать из памяти и использовать значение переменной.

2. Изменять значение переменной.

Как мы видели, для использования значения переменной достаточно указать ее имя, вместо которого будет автоматически подставлено значение этой переменной. Значение переменной изменяется с помощью специального оператора присваивания.

Чтобы изменить значение переменной, надо использоватьоператор присваивания:знак := показывает, что мы хотим изменить значение переменной, слева стоит имя переменной, значение которой изменяется, а справа – то, что мы хотим записать в эту ячейку, ее новое значение (при этом старое значение стирается!!!).

Например: n: = 5; a: = b + 5; n:=n+1;

Задание:

21. Запишите арифметические выражения, которые соответствуют приведенным формулам.

ABC+3A+2B-4C
7-2R+125S
Урок 24. переменные и действия над ними
Урок 24. переменные и действия над ними

22. Соедини линиями те арифметические выражения в левом и правом столбцах, которые соответствуют одной и той же математической формуле (возможно, после простых преобразований).

A/B/C/D

A+B+C-D

A*B+C*D+C*A

(A-B)/C*D

((A+C)-B)/D

(B+C)*A+D*C

(A-B+C)/D

D*(A-B)/C

(A+B)-(D-C)

A/(B*C*D)

23. Запишите формулы, которые соответствуют приведенным арифметическим выражениям.

Основы JavaScript. Переменные. Функции. Условия. Циклы. Уроки JavaScript #2


Похожие статьи.

Понравилась статья? Поделиться с друзьями: