6 янв. 2015 г.

Данные

В программах используются не только команды (умножить, разделить, показать сообщение и т.д.), но и различные данные. Это числа (1, 2, 3, ...), тексты (“Жирафу холодно!”) и некоторые другие. Данные это информация, необходимая компьютеру для выполнения задачи.

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



Так в переменную под названием Животное кладутся данные:


Животное = "Жираф";
//в переменную Животное кладем данные “Жираф”
//переменные пишутся без кавычек и без пробелов
//текстовая информация закрывается в одинарные
//или двойные кавычки

Теперь данные можно достать просто написав название переменной:
Животное;
Например, вызываем сообщение с использованием переменной:
alert(Животное + " хочет есть!");

Переменные лучше называть на английском языке (например, не Животное, а Animal), но для наглядности мы можем пока использовать русские имена. Размер букв имеет значение: если переменную уже назвали лось, то пишите везде лось. С большой буквы Лось не сработает, и возникнет ошибка. Компьютер подумает, это это совершенно другая переменная.

Попробуйте присвоить переменной Животное другие данные (например, "Слон"), затем снова запустите команду:
alert(Животное + " хочет есть!");

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

Попробуйте в консоли команды
2 + 2
а потом
"2" + "2"
результат будет разный.

Кавычки можно использовать двойные " и одинарные ' на свой вкус. Только не путайте программные кавычки (машинные) с такими “ ‘ ‘ ” похожими на запятые компьютер их не поймет.

Важное пояснение!

 На математике в школе тоже бывает ситуация, когда за буквами скрывается число, например "2 + X = 5". Может показаться, что X — переменная, но это совершенно не так. В математике x, y и z используются для обозначения неизвестного числа, которое нужно выяснить.

А в программировании нет никакой загадки. Если написано X = 4 + 2, значит в переменную положили 6. Если написано X = X + 2, программа вытащит из X значение (например 6), прибавит к нему 2 и положит обратно. Теперь X будет хранить просто 8.

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

X = 2;
Y = X + 1;
В переменной Y теперь лежит тройка.
Подумайте, а что будет, если дальше мы изменим X:

X = 100;
Чему теперь будет равен Y? Кажется, что 101? —Нет, в переменной Y лежит то, что мы туда положили ранее: тройка. Введите в консоли просто Y, и посмотрите.



Следующий урок >>

5 комментариев:

  1. Учим вместе с сыном 11 лет. Он не сразу понял почему 3 в У, а не 101 - пришлось дополнительно обьяснять и рисовать последовательность действий... Такое впечатление что либо он думает - раз Х = 100 ; то зачем-то... Либо не совсем разделяет действие на части -упорядоченные последовательности одно за другим - а как будто все команды выполняются одновременно. И спасибо Вам.

    ОтветитьУдалить
    Ответы
    1. Спасибо за комментарий) И дети и взрослые воспринимают эти преобразования по-школьному, как задачку с условием. Важно разъяснить, что в программе нет никаких непонятностей и загадок. Есть последовательное проведение операций.

      Просто прорешайте аналогичные примеры, чтобы показать: что мы положим в переменную, то там и лежит. Пока мы не напишем "Y =", эта переменная не поменяется.

      Удалить
  2. bank
    4
    bank + %
    VM1026:2 Uncaught SyntaxError: Unexpected token %(…)InjectedScript._evaluateOn @ VM46:875InjectedScript._evaluateAndWrap @ VM46:808InjectedScript.evaluate @ VM46:664
    bank + '%'
    "4%"
    bank + s
    VM1148:2 Uncaught ReferenceError: s is not defined(…)(anonymous function) @ VM1148:2InjectedScript._evaluateOn @ VM46:875InjectedScript._evaluateAndWrap @ VM46:808InjectedScript.evaluate @ VM46:664
    bank + 's'
    "4s"
    bank + 1
    5
    bank = bank + 1
    5

    ОтветитьУдалить
  3. cпасибо теперь я буду заниматся прогромированием

    ОтветитьУдалить
  4. Ну тут более или менее все понятно если с переменной ничего не делалось то в ней остается то значение которое было в него записано ранее если даже были изменены другие переменные. Спасибо за такой хороший курс. Все пишут что не было понятно с Х и У но тут надо именно пояснить так как я написал выше и думаю после этого станет все более понятным.

    ОтветитьУдалить