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

Обновлено: 05.07.2024

Написать программу, которая выводит на экран результаты следующих действий: 27-5= 11+21= 32/2= 2+2*2= (2+2) * 2= Написать программу, которая выводит на экран результаты следующих действий: 21-4= 21+11= 43/3= 3+3*3= (3+3) * 3=

Вариант 2 1. Даны три числа. Найдите сумму второго и третьего числа. Найдите квадрат первого числа. 2. Даны длины сторон прямоугольника. Найдите площадь прямоугольника. 3. Даны длины катетов прямоугольного треугольника. Найдите периметр треугольника.

2. Какое значение будет иметь переменная b после выполнения следующих операторов присваивания: a:=3; b:=a+9; b:=a+b; b:=a-b+b/a. 3.


Переменная (от англ. variable) — поименованная или адресуемая иным способом область памяти, которую можно использовать для доступа к данным. Звучит сложно и пугающе, не правда ли? Однако на практике такое определение вашему ребенку не потребуется. По крайней мере, на начальных этапах изучения программирования.

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

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

Переменные в программе нужны не только для хранения данных, но и для различных операций с ними. Например, можно создать простой калькулятор, используя всего три переменные — a, b и c. Как это будет работать? Не углубляясь в тонкости синтаксиса каждого отдельно взятого языка программирования, покажем простой пример:

То есть у нас есть три переменные. Первые две используются для вычисления, а третья служит для того, чтобы в нее записывалось значение суммы. Причем первые две переменные могут быть с заданными исходными значениями, а могут быть и пустыми (то есть переменная объявляется, но ей не присваивается никакое значение). Во втором случае, можно самим подставлять значения и на их основе будут производиться расчеты.

Кстати, данные можно записывать сразу в программе. Если взять наш пример выше, вместо латинских букв мы можем сразу же использоваться цифры. Например, 1+2 = 3. Однако в этом случае программа, которую вы напишете, не будет обладать должной гибкостью. То есть можно посчитать в ней только заданные значения и для того, чтобы что-то изменить, каждый раз придется в коде писать новые числа и только тогда мы получим другой результат.

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


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

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

А если планируется использование переменных в разных областях видимости (спрайтах), здесь допустимо использование одинаковых имен.

Для чего можно использовать переменные в Scratch? В целом, для любой программы, которую мы здесь пишем. Например, у нас есть два персонажа, и они должны двигаться по экрану. Мы можем задать им скорость вручную, а можем внести эти данные в переменную и затем менять скорость одновременно для обоих персонажей. Это будет более эффективно.

Помимо скорости, в качестве переменных могут выступать и другие динамические параметры, например, количество шагов. И это далеко не все возможности.

Почему рекомендуется объявлять переменные перед их использованием в программе?


Этому есть несколько причин.

1. Если имеется требование объявлять ВСЕ переменные в программе, то это хранит программиста от искаженного указания имен переменных, например, xl вместо x1 или suma вместо summa.

2. Объявление переменных позволяет явно указать их типы, а использование типизированных переменных позволяет с меньшими усилиями добиться правильной записи алгоритма.

Например, при типизации переменных последовательность команд c = 5 a = 3 * c c = a / 3 недопустима.

В самом деле, присваивание необъявленной переменной "с" значения целочисленной константы 5 подразумевает, что она тоже становится целочисленной.

Далее, по той же причине необъявленная переменная "а" также получает целый тип.

И третий оператор выполняет деление.

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

3. Некоторые системы программирования независимо от того, объявлена переменная или нет, очищают её нулём (или делают пустой, если переменная символьная).

А некоторые этого не делают.

Появление в программе необъявленной переменной с таким неопределенным значением может вызывать неожиданное поведение этой программы.

4. При объявлении переменных в одном месте, им всем отводится одна область памяти, что уменьшает затраты вычислительной системы на адресацию памяти и делает программу компактнее, а также ускоряет её работу.

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

Я знаю, что работаю, но я думаю с точки зрения лучшей практики.

ОТВЕТЫ

Ответ 1

По-моему, ответ "нет". Однако в некоторых случаях вы должны использовать переменные:

  • Всякий раз, когда значение используется несколько раз
  • Когда выполняется вызов дорогостоящей функции или у кого есть побочные эффекты
  • Когда выражение должно быть сделано более самоочевидным, переменная (со значимыми именами) поможет

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

Ответ 2

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

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

Ответ 3

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

Ответ 4

По-моему, если вы делаете что-то вроде

лучше просто сделать

или даже просто

Если я не манипулирую с переменной после ее вычисления, я думаю, что лучше не объявлять ее, потому что вы просто получаете больше строк кода и больше места, чтобы позже совершить ошибку, когда ваш код станет больше

Ответ 5

Переменные служат для выполнения следующих двух целей, прежде всего:

  • Держатель места для данных (и информации)
  • Усилитель удобочитаемости

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

Вышеуказанные два момента имеют одинаковую важность, насколько мне известно.

Если вы считаете, что объявление переменной повысит читаемость или если вы считаете, что данные, хранящиеся в этой переменной, будут нужны много раз (и в этом случае сохранение в имени колоды var снова увеличит читаемость), тогда обязательно создайте новую переменную.

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

Ответ 6

Я не всегда использую переменную. В качестве примера, если есть метод, оценивающий что-то и возвращающий true/false, я обычно возвращаю выражение. Результаты регистрируются в другом месте, и у меня есть входные записи, поэтому я всегда знаю, что произошло.

Ответ 7

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

Ответ 8

В принятии этого решения есть две цели:

  • Считываемость - код доступен для чтения и понятный код
  • Оптимизация - код не имеет любой ненужный расчет

Если вы рассматриваете это как проблему оптимизации, это может показаться менее субъективным

Наиболее читаемым по шкале от 1 до 10 с 10, что является самым простым. Использование разумных имен переменных может дать вам 2, показывая, что расчет в строке может дать вам 3 (так как пользователю не нужно искать, что такое "деньги", это просто в этой строке кода). и т.д. Эта часть субъективна, вы и компании, с которыми работаете, определяете то, что читаемо, и вы можете построить эту модель затрат из этого опыта.

Наиболее оптимальное исполнение не является субъективным. Если вы пишете "фунты + пенс" везде, где вы хотите, чтобы расчет денег шел, вы теряете время процессора. Да, я знаю, что дополнение - плохой пример, но он по-прежнему сохраняется. Скажем, минимальное выполнение процесса упрощается для распределения памяти переменных, назначений и вычислений. Возможно, одно или два из этих дополнений в коде будут в порядке для удобочитаемости, но в какой-то момент это станет полной потерей на процессоре. Вот почему существуют переменные, выделяют некоторое пространство для хранения значения, назовите его деньги, чтобы пользователь знал, что это такое, и ссылайтесь на эту переменную "деньги" везде, где она была нужна.

Это имеет больше смысла, когда вы смотрите на циклы. скажем, вы хотите суммировать 1000 значений в следующем цикле.

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

Короче говоря, если вы используете деньги только один раз и ясно, что означает встроенный расчет, то, конечно, не делайте переменную. Если вы планируете использовать его во всем своем коде, и это означает, что он становится путаным, тогда объявите переменную, сохраните процессор и сделайте это! Примечание: частично издеваясь над этим подходом, просто подумал, что смешно отвечать на что-то подобное в формате модели затрат:) по-прежнему полезен. Я говорю

Ответ 9

Локализация и область действия

Для программиста знание локальных переменных - их содержимого и областей - является неотъемлемой частью умственных усилий по пониманию и развитию кода. Когда вы уменьшите количество параллельных переменных, вы "освободите" программиста, чтобы рассмотреть другие факторы. Сведение к минимуму является частью этого. Каждое небольшое решение подразумевает что-то о вашей программе.

Самый маленький объем - это буквальный или временный результат. Если значение используется только тогда, когда я предпочитаю использовать комментарии, а не переменную (они не ограничены A-Za-z0-9_ либо: -)):

краткость

Важное значение имеет сосредоточение внимания на достижении вашей программы. Если у вас много экранной недвижимости (т.е. Строки кода), получающей поля в переменных, у вас меньше кода на экране, которое фактически отвечает за получение элемента алгоритмического уровня, и, следовательно, оно менее ощутимо для программиста. Это еще одна причина, чтобы код был кратким, поэтому:

сохранить полезную документацию целевую и лаконичную

Ответ 10

Я не помню, чтобы когда-либо видел что-то подобное, и я думаю, что он больше привязан к разным "стилям" программирования. Некоторые стили, такие как Spartan, на самом деле пытаются объявить как можно меньше. Если вы не пытаетесь следовать определенному стилю, тогда лучше всего отказаться от читаемости. В вашем примере я бы не объявлял специальную переменную для ее хранения. Это вы рассчитывали налоги, основанные на некотором проценте от общего числа тех, и я могу - или, по крайней мере, я бы прокомментировал то, что я рассчитывал.

Читайте также: