Как Вы помните, переменные нужны чтобы хранить в них какие-то данные. Разберёмся как использовать переменные по их прямому назначению. Основной вопрос такой: «Как сохранить значение в переменной». Или вспоминая аналогию с коробкой «Как положить что-то в коробку?»
Ответ прост. Для этого существует специальный оператор, который называется оператором присваивания и обозначается символом равно » code-left»>
Листинг 1. Присваивание значения переменной
int z; // объявляем переменную целого типа с именем z z = 5; // заносим в переменную число 5 double pi = 3.1415926; // создаём переменную и сразу присваиваем ей значение
В примере выше показаны два способа присвоить значение переменной. В первом случае мы сначала создаём переменную, а потом записываем в неё значение, а во втором случае мы сразу создаём переменную и присваиваем ей значение.
Второй вариант записи короче, но делает в то же самое, что и первый. Берёт значение, которое записано справа от знака равно, и сохраняет его в переменную, которая записана слева от от него.
Демонстрационный вариант ЕГЭ по информатике 2020, ФИПИ, задание 19, определить значение переменной s
Не забывайте ставить после очередной команды точку с запятой.
Есть несколько важных моментов на которых надо отдельно заострить внимание:
- в некоторых языках программирования, после того как вы создали переменную, в ней сразу же хранится значение нуль. В языке Си это не так. Пока переменной не присвоено какое-нибудь значение, в ней будет храниться «мусор». Как этот мусор выглядит мы посмотрим на следующем уроке.
- справа от знака равно НЕ обязательно должно быть записано какое-то конкретное число, там может быть записано арифметическое выражение или имя переменной.
int n; n = 1+2; // В переменную n записываем значение 3
Когда переменной присваивается значение, то то, что хранилось в ней до этого удаляется.
int n=10; // Создаём переменную и записываем в неё 10 n = 5; // Теперь в переменной записано значение 5, а значение 10 удалено.
Обратите внимание, новое значение не добавляется к старому, а полностью заменяет его.
Я как-то говорил, что переменные похожи на коробки, но только на первый взгляд. Теперь мы видим, что наша аналогия с коробкой не совсем точная. Если бы в коробке лежало десять шариков, и мы бы туда положили ещё пять, то их стало бы 15. В выражении справа от знака равенства могут использоваться другие переменные, которые объявлены ранее. Вместо них в выражение подставляются значения, которые в них хранятся в данный момент.
int n=10, x=0; // можно инициализировать сразу несколько переменных n = 5; // теперь n равно 5 x = n — 3; // x будет равно 2 (5-3)
При вычислении выражения n — 3, n равняется 5. Это потому, что исходное значение 10, заданное при инициализации, мы в программе изменяли. А при вычислениях используется текущее значение переменной. В выражении справа от знака равенства может быть использована сама переменная.
int n=10; n = n + 5; // n будет равно 15 (10+5)
Кажется, что это какой-то порочный круг, но на самом деле проблем здесь не возникнет. Т.к. сначала вычисляется выражение справа, а только потом происходит присваивание. По аналогии с предыдущим примером при вычислении значения справа от знака равно вместо переменной n будет подставлено её текущее значение, т.е. 10.
Разбор 16 задания на Python | ЕГЭ по информатике 2021
Потом будет произведено сложение и присваивание. Ещё один поучительный пример.
int x=5, y=0, z; y = x + z; // что будет записано в переменной y?
Если Вы подумали что 5, то это неправильно. Никто не знает, что в ней будет записано. Т.к. неизвестно, что было записано в переменной z. Ещё раз напоминаю, что если переменной не присвоено никакое значение, в ней хранится не нуль, а неизвестно что. Выражение справа от знака равно может быть достаточно сложным, оно не обязательно будет состоять из одного действия.
int a = 2, b=9, c=4, D; D = b*b — 4*a*c; // D будет равно 49 (9*9 — 4*2*4)
Теперь ещё один важный момент, который надо понимать. Когда я рассказывал о типах данных, я говорил, что в переменной можно хранить значения только того же типа, что и тип переменной. Например, в переменную целого типа нельзя положить вещественное число. Этот принцип применяется и с выражениями.
Чтобы программа работала корректно, необходимо, чтобы тип выражения или переменной справа от знака присваивания совпадал с типом переменной. Посмотрим несколько примеров.
int n, a = 2; double x, pi = 3.14; char s = ‘k’; // сохраняем в s символ k. Сам символ нужно написать в одинарных кавычках. s = pi; // неправильно. В коробку для символов пытаемся положить вещественное число n = a*pi; // неправильно. В коробку для целых числе пытаемся положить 6.28 (2*3.14) a = x; // неправильно. В целочисленную переменную пытаемся сохранить вещественное число x = 2+a; // ДОПУСТИМО. x будет равно 4.0
Внимание на последнюю строчку! Хотя справа выражение целого типа, а слева вещественная переменная, данная команда всё равно будет работать так, как надо. Это из-за того, что все целые числа можно записать как вещественные, у которых дробная часть равна нулю.
Подобная штука называется неявное приведение (преобразование) типов . С этой возможностью надо быть очень осторожным, т.к. компилятор не отслеживает такие ошибки. Другими словами программа будет скомпилирована, но работать будет неправильно. Мы ещё вернёмся к этому в следующем уроке, когда научимся выводить значение переменных на экран компьютера. Сохрани в закладки или поддержи проект.
Практика
- Решите предложенные задачи. Для удобства работы сразу переходите в полноэкранный режим
Дополнительные материалы
- пока нет
Источник: youngcoder.ru
1.Чему будет равно значение переменной с в результате выполнения серии
операторов. Запишите решение и ответ:
a := 6*12 + 3;
b := a div 10 + 5;
a := b mod 10 + 1;
c := a*a + b*b – a / 2 * b;
2.Составьте блок-схему для задачи:
Дано целое число. Если оно является положительным, то прибавить к
нему 1; в противном случае вычесть из него 2. Вывести полученное число.
1. div, mod — операции взятия целой и дробной части от деления.Буду после каждой операции писать, что находится в переменных a, b.Перед операциями a, b не определены.a := 6*12 + 3; (a = 6 * 12 + 3 = 72 + 3 = 75; b не определено)b := a div 10 + 5; (a = 75; b = 75 div 10 + 5 = 7 + 5 = 12)a := b mod 10 + 1; (a = 12 mod 10 + 1 = 2 + 1 = 3; b = 12)c := a*a + b*b – a / 2 * b = 3 * 3 + 12 * 12 — 12 / 2 * 3 = 9 + 144 — 18 = 135.Ответ: 135.2. Блок-схема во вложении.
Источник: znanija.site
Чему будет равно значение переменной c после выполнения программы
July 2022 1 7 Report
Определить, чему равно значение переменной S после выполнения программы, представленной в виде блок-схемы, если начальное значение N равно 5. Составить трассировочную таблицу.