Вторая часть перевода D Programming Language Tutorial от Ali Çehreli. Содержание главы расчитано для начинающих и, как мне кажется, даже не раскрывает темы. Но это перевод одной из глав.
Первые две сложности, что большинство студентов встречают при изучении программирования — это операция присвоения и порядок выполнения операций.
Вы будете видеть строки похожие на следующие почти в каждой программе, почти в каждом языке программирования.
Смысл этой строки следующий «сделай значение а равным 10». Аналогично, смысл следующей строки следующий «сделай значение b равным 20».
Руководствуясь этой информацией, что было бы сказано о следующей строке?
К сожалению, эта строчка не про математическое равенство, о котором, я думаю, все мы знаем. Это вышеуказанное выражение не подразумевает «a равно b»! Если следовать той же логике с предыдущих двух строк, то это выражение должно означать «сделай значение a равным b». Присвоение значению a значение b также означает «сделай значение a таким же как значение b».
Эти операции программы выполняются шаг за шагом в особом порядке. Мы можем видеть эти предыдущие 3 выражения в программе в следующем порядке:
Смысл этих трех строчек вместе такой: «сделай значение а равным 10, затем сделай значение b равным 20, затем сделай значение a таким же как значение b». Соответсвенно, после этих трех операций, a и b будут равны 20.
Проследите, что следующие три операции сменят значения a и b. Если в начале их значения 1 и 2 соответсвенно, после этих операций значения станут 2 и 1.
Предыдущие части:
Первые две сложности, что большинство студентов встречают при изучении программирования — это операция присвоения и порядок выполнения операций.
Операция присвоения
Вы будете видеть строки похожие на следующие почти в каждой программе, почти в каждом языке программирования.
a = 10;
Смысл этой строки следующий «сделай значение а равным 10». Аналогично, смысл следующей строки следующий «сделай значение b равным 20».
b = 20;
Руководствуясь этой информацией, что было бы сказано о следующей строке?
a = b;
К сожалению, эта строчка не про математическое равенство, о котором, я думаю, все мы знаем. Это вышеуказанное выражение не подразумевает «a равно b»! Если следовать той же логике с предыдущих двух строк, то это выражение должно означать «сделай значение a равным b». Присвоение значению a значение b также означает «сделай значение a таким же как значение b».
Хорошо известный математический символ "=" имеет полностью другое значение в программировании: сделать значение левой части таким же как значение правой части.
Порядок выполнения операций
Эти операции программы выполняются шаг за шагом в особом порядке. Мы можем видеть эти предыдущие 3 выражения в программе в следующем порядке:
a = 10;
b = 20;
a = b;
Смысл этих трех строчек вместе такой: «сделай значение а равным 10, затем сделай значение b равным 20, затем сделай значение a таким же как значение b». Соответсвенно, после этих трех операций, a и b будут равны 20.
Упражнение
Проследите, что следующие три операции сменят значения a и b. Если в начале их значения 1 и 2 соответсвенно, после этих операций значения станут 2 и 1.
c = a;
a = b;
b = c;
This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
Комментариев нет:
Отправить комментарий