Зависит от парадигмы программирования.
В процедурном программировании переменная - именованная область в памяти. Иначе говоря, создавая переменную и присваивая ей имя, мы выделяем в оперативной памяти кусочек места под хранение данных в этой переменной, и обращаться к этому кусочку данных мы можем просто по имени переменной, а не по адресу.
Тем не менее, процедурная парадигма - не истина в последней инстанции. Её свойства таковы, что она заставляет нас мыслить в понятиях железа и архитектуры компьютера. Поэтому определения о именованной области памяти достаточно, и из него вытекают остальные свойства переменных. В частности, исполнение программы, написанной в процедурном подходе, можно рассматривать как переход между начальным и конечным состоянием, через некое количество промежуточных состояний. Состояние в таком случае - совокупность значений всех объявленных в программе переменных. Одно этих свойств позволяем нам сделать вот так
int a = 1, b = 3;while (a < 7) { b = b + a; a = b / 2;}Переменные изменяются во времени и зависят от предыдущих своих значений. Оператор присваивания.
Почему это важно? Потому что такое поведение не является обязательным, строго регламентированным (как может показаться после похода в гyгл). Помимо процедурного подхода существуют, например, функциональный и логический. Эти парадигмы требуют уйти от мышления в рамках понятий железа компьютера, поэтому и переменные там мыслятся по-другому.
Функциональный подход базируется на понятиях лямбда-исчисление и функции высших порядков. Этот подход мыслит программу как некое математическое описание, исчисляемую запись. Переменные при таком подходе мыслятся именно с математической точки зрения. Они зовутся переменными, так как подразумевают некое многообразие значений, которые могут принять, но по факту во время исполнения, получив конкретное значение, становятся константами. Тут нет оператора присваивания в обычном понимании.
Логический подход же позволяет исчислять программы, записанные как естественные логические описания. Он не требует формировать другой взгляд на проблемы, вместо этого позволяет использовать те же самые конструкции, которыми мы мыслим ежедневно.
Рассмотрим на примере языка Prolog. Например, мы можем сказать "Кот - животное, которое мало, пушистое и мяукает. А собака - это пушистик, который гавкает." (это не обязательно должно быть так, но ведь нам ничего не мешает сказать так?) и записать это как:
cat(animal(Size, Fluffy, Sounds)) :- Size="small", Fluffy=true, Sounds="Nya!".dog(animal(_, Fluffy, Sounds)) :- Fluffy=true, Sounds="Wow!"Переменные в данном случае нужны не для того, чтобы хранить значения. Они определяют "пути" или "каналы", по которым "текут" данные (при чём течь они могу в любую сторону). Они позволяют разобрать комплексный объект на признаки и рассмотреть их. Операция "=" в данном случае - не присваивание, а унификация.
Переменные бывают либо связанные, либо не связанные. Связанные переменные имеют значения и не изменяют его. Если одна из переменных при унификации связана, а другая - нет, то последняя становится связанной со значением первой, и оператор возвращает true. Если обе переменные связанные, то унификация проверяет значения на равенство и возвращает результат сравнения.
Например, такой вызов
cat(animal(X, Y, Z)).Приведёт к тому, что X = "small", Y = true, Z = "Nya!", а сам предикат cat вернёт true.
Я могу, вызвать и так:
cat(animal(X, true, Z)).и получу X = "small", Z = "Nya!", а сам предикат cat вернёт true.
А могу и так
cat(animal(_, _, "Wow!"))и получу в ответе false.
Так работают переменные в логической парадигме.
Вывод: понятие "переменная" в программировании - комплексное и его конкретное представление зависит от парадигмы программировании, в рамках которой оно рассматривается. В процедурном подходе переменная - именованная область памяти компьютера. В функциональном подходе переменная мыслится как математическая переменная со всеми её свойствами. В логическом подходе переменная задать пути преобразования комплексных объектов и задать пути "течения" данных. Объединяет эти взгляды то, что понятие "переменная" тесно связана с понятием "данные".
Объяснение:
ЯКласс лого
2. Системы счисления: двоичная, восьмеричная, шестнадцатеричная
Теория:
Для кодирования информации в компьютере вместо привычной десятичной системы счисления используется двоичная система счисления.
Двоичной системой счисления люди начали пользоваться очень давно. Древние племена Австралии и островов Полинезии использовали эту систему в быту. Так, полинезийцы передавали необходимую информацию, выполняя два вида ударов по барабану: звонкий и глухой. Это было примитивное представление двоичной системы счисления.
Двоичной системой счисления называется позиционная система счисления с основанием 2 .
Для записи чисел в ней использовали только две цифры: 0 и 1 .
Для обозначения системы счисления, в которой представляется число, используют нижний индекс, указывающий основание системы. Например, 110112 — число в двоичной системе счисления.
Цифры в двоичном числе являются коэффициентами его представления в виде суммы степеней с основанием 2 , например:
1012=1⋅22+0⋅21+1⋅20 .
В десятичной системе счисления это число будет выглядеть так:
1012=4+0+1=5 .
Для перевода целого десятичного числа в двоичную систему счисления нужно последовательно выполнять деление данного числа и получаемых целых частных на 2 до тех пор, пока не получим частное, равное нулю. Исходное число в двоичной системе счисления составляется последовательной записью полученных остатков, начиная с последнего.
Пример:
Переведём десятичное число 13 в двоичную систему счисления. Рассмотренную выше последовательность действий (алгоритм перевода) можно изобразить так:
13.png
Получили 1310=11012 .
Пример:
Если десятичное число достаточно большое, то более удобен следующий записи рассмотренного выше алгоритма:
224
112
56
28
14
7
3
1
0
0
0
0
0
1
1
1
22410=111000002 .
Восьмеричной системой счисления называется позиционная система счисления с основанием 8 .
Для записи чисел в восьмеричной системе счисления используются цифры: 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 .
Для перевода целого восьмеричного числа в десятичную систему счисления следует перейти к его развёрнутой записи и вычислить значение получившегося выражения.
Для перевода целого десятичного числа в восьмеричную систему счисления следует последовательно выполнять деление данного числа и получаемых целых частных на 8 до тех пор, пока не получим частное, равное нулю. Исходное число в восьмеричной системе счисления составляется последовательной записью полученных остатков, начиная с последнего.
Пример:
Переведём восьмеричное число 154368 в десятичную систему счисления.
154368=1⋅84+5⋅83+4⋅82+3⋅81+6⋅80=694210
Пример:
Переведём десятичное число 94 в восьмеричную систему счисления.
94.png
9410=1368
Шестнадцатеричной системой счисления называется позиционная система счисления с основанием 16 .
Для записи чисел в шестнадцатеричной системе счисления используются цифры: 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 и латинские буквы A, B, C, D, E, F. Буквы A, B, C, D, E, F имеют значения 1010 , 1110 , 1210 , 1310 , 1410 , 1510 .
Для перевода шестнадцатеричного числа в десятичное необходимо это число представить в виде суммы произведений степеней основания шестнадцатеричной системы счисления на соответствующие цифры в разрядах шестнадцатеричного числа.
Для перевода целого десятичного числа в шестнадцатеричную систему счисления следует последовательно выполнять деление данного числа и получаемых целых частных на 16 до тех пор, пока не получим частное, равное нулю. Исходное число в системе счисления составляется последовательной записью полученных остатков, начиная с последнего.
Пример:
Переведём шестнадцатеричное число 2 A7 в десятичное. В соответствии с вышеуказанными правилом представим его в виде суммы степеней с основанием 16 :
2A716=2⋅162+10⋅161+7⋅160=512+160+7=679 .
Пример:
Переведём десятичное число 158 в шестнадцатеричную систему счисления.
Безымянный111.png
15810=9E16 .
Для перевода числа из любой позиционной системы счисления в десятичную необходима использовать развернутую формулу числа, заменяя, если это необходимо, буквенные обозначения соответствующими цифрами.
Для перевода целых чисел десятичной системы счисления в число любой системы счисления последовательно выполняют деление нацело на основание системы счисления, пока не получат нуль. Числа, которые возникают как остаток от деления на основание системы счисление, представляют собой последовательную запись разрядов числа в выбранной системе счисления от младшего разряда к старшему. Поэтому для записи самого числа остатки от деления записывают в обратном порядке.
Начало
|
a , b , c
|
d = b * b - 4 * a * c
|
- D > = 0 +
| |
ДКН X1 =(-b + SQR(D)) / (2*a)
| |
| X2 =(-b - SQR(D)) / (2*a)
| |
| X1 , X2
| |
| |
| |
| Конец |
Вот и все
Программа
PRINT “Количество корней квадратного уравнения“
INPUT “Ввести a, b, c: “, a, b, c
d = b * b – 4 * a * c
IF d >= 0 THEN
IF d > 0 THEN PRINT “2 разных корня“ ELSE PRINT “2 одинаковых корня“
ELSE PRINT “Действительных корней нет“
словесная программа
Начало
Ввод a,b,c
d = b * b - 4 * a * c
Нет D 》=0 Да
X1 =(-b + SQR(D)) / (2*a)
X2 =(-b - SQR(D)) / (2*a)
X1 , X2
ДКН
Конец
Объяснение:
это правильный ответ
Переменная в программировании — поименованная, либо адресуемая иным область памяти. Данные, находящиеся в переменной (то есть по данному адресу памяти), называются значением этой переменной.
Объяснение: