Файл: Понятие переменной в программировании. Виды и типы переменных.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 06.04.2023

Просмотров: 171

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

1.4 Объектно-ориентированное программирование

Объектно-ориентированное программирование [21]способ, который создан на воссоздании программы в целом виде объектов, где каждый из них является разно классовым, а классы создают иерархию наследования.

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

Управляемость для иерархических систем дает уменьшение лишней информации и их структуру, таким образом сделанное удобно контролируемым - будет и удобно восприниматься. Поэтому, сквозь главную задачу управляемости решается и вторая задача - передавать восприятие задачи пользователем в наилучшую для следующего использования вид. [2 c. 192]

Главные возможности структурирования в случае ООП соединены с всевозможными аспектами начального восприятия задачи, которое нужно для удобного управления данной моделью:

Абстракция для выделения в моделируемом предмете необходимого для выполнения нужной задачи по предмету, в итоге - контекстное восприятие предмета, составляемое как класс;

Инкапсуляция[22] для своевременного и безопасного составления своей иерархической управляемости: чтобы сделать так, что хватит обычной простой команды «что делать», не включая множественного уточнения что делать, так как это совершенно другой уровень управления;

Наследование[23] для своевременной и безопасной организации похожих понятий: так чтобы хватило в каждом иерархическом действии просчитывать исключительно изменения, не повторяя всё остальное, записанное в предыдущих действиях;

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

Так, речь идёт о развивающейся организации информации из начальных, семантическим требований: «важное/неважное», «ключевое/подробности», «родительское/дочернее», «единое/множественное». Развитие, скорее всего, на заключительном шаге имеет шанс переноса на следующий уровень детализации, что замыкает общий процесс.

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


Класс - уникальный, многослойный тип информации, в который входит похожие одинаковые комплекты «полей» и «методов». Таким образом, он существует как модель информационной сущности с внутренним и внешним интерфейсами для управления собственным содержимым. В частности, в классах много внедряются уникальные блоки из одного или чаще двух соединенных методов, которые определяют элементарные операции с каким-либо одним полем (интерфейс присваивания и считывания значения), которые воспроизводят доступ к полю. Такие блоки называют «свойствами», и они близки по конкретному названию. со своим полем. Еще одним проявлением интерфейсного назначения класса является то, что при копировании определенной переменной через присваивание копируется исключительно интерфейс, но никак не данные. Таким образом, класс – ссылочный тип данных. Переменная-объект, которая относится к определенному классом типу, является экземпляром данного класса. При этом в немногочисленных выполняющих системах класс будет показываться определенным объектом при исполнении программы методом рабочей определенности типа данных. Чаще всего, классы создаются таким образом, чтобы они могли обеспечить отвечающие составу объекта и выполняемой задаче, целостность данных объекта, а также удобный и легкий в освоении интерфейс. Так же, целостность предметной области объектов и их интерфейсов, и в свою очередь маневренность их создания, осуществляется наследованием.

Свойство в адресном пространстве вычислительной системы, создающаяся при выполнении определенного класса (например, после запуска результатов компиляции и связывания исходного кода на выполнение).

В программировании локальной переменной называют ту переменную, которая объявлена внутри блока кода. Ее области видимости идет с точки появления и оканчивается в финале данного блока. Например, в языке Си локальные это те переменные, которые объявлены внутри я функции или блока (ограничитель блоков в Си {и}).

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

Локальные переменные хранятся в стеке вызовов почти во всех языках. Это может обозначать, что когда функция вызывает сама себя, то переменные раз за разом воспроизводятся заново и для них выделяется личная память(персональная), а не запись в одно и то же место.


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

Алгол[24] – это языки, где нет ограничения на вложенность блоков и в каждом из них будут содержаться уникальные локальные переменные.

Локальные переменные делают возможной рекурсию.

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

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

Локальной переменной может быть любой параметр функции, который не будет использовать ссылки или указатели, например, в Си.

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

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

К сожалению, глобальные переменные содержат некоторые минусы в роботе: глобальная переменная доступна для изменения в любом месте программы. Однако, если переменная будет находится под защитой в модуле памяти, а также объявлена только для чтения, то всех минусов можно запросто избежать. Из-за выше описанной причины они наделены неограниченным потенциалом в работе над созданием общих зависимостей, а это может усложнять программу. Но в отдельных моментах, можно использовать глобальные переменные. Например, переменные можно использовать, чтобы уйти от необходимости прохода часто используемых переменных через несколько функций. Ранее написанный код может содержать глобальные переменные одинаковыми именами с теми, что находятся во встраиваемом модуле, что затрудняет интеграцию модулей.

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


1.5 Описание переменных

Во время начала работы программы для всех переменных, кроме динамических, необходимо выделить место в памяти ЭВМ. То есть все переменные, используемые в программе, должны быть описаны и транслятор «должен знать» о них.

Имя присваивается переменной в разделе описания переменных, например,

Var x1,x2 : Double; s2,s3 : String;

Double, String – тип переменных, x1,x2,s2,s3 – имена переменных. Имена дают возможность задать действия над переменными, например,

x2 := x1 + 10;

То, что стоит справа от :=, называется выражение. Оно вычисляется. В данном примере к значению переменной х1 прибавляется 10. Получается какой-то результат. Далее выполняется присваивание, то есть переменная х2 будет иметь значение, равное этому результату.

Элементы объектов имеют составные имена, например, Label1.Caption ;

Мы можем присвоить этому свойству некоторое значение, например: Label1.Caption := ‘Это моя ’+’программа номер ’+’5’; Label1.Caption := ‘Это моя ’+’программа номер ’+IntToStr(5);

Результат в обоих случаях одинаковый – текст метки (Label1) расположенной на форме, будет такой: Это моя программа номер 5

Апострофы здесь обозначают, что в них записано символьное (текстовое) выражение и в результате не содержатся. В первой из этих строк 5 – символьное (текстовое), а во второй – 5 – это целое число. Так как Caption хранит только символьные значения, функция IntToStr( ) преобразует это число с символьное представление.

1.6 Ввод и вывод

Чтобы обменять информацию между пользователем и тем компьютером, который выполняет программу созданы операторы ввода и вывода. Оператор ввода создан, чтобы на компьютер пришли начальные данные. В той программе, которая созадана на Pascal он записывается следующим образом:

read[25](переменные);

или

readln(переменные);

При выполнении оператора программа будет остановлена, пока пользователь не введет нужное значение и не восстановит работу «Enter». После чего, эти значения будут перемещены в переменные, которые были помечены как параметры процедуры ввода. Например, во время выполнения оператора

read(a, b);

компьютер будет ждать ввода двух значений, которые затем будут перемещены в переменные a и b.

Операторы read и readln различны тем, что после второго ввода данных будет перемещена строка, т.е. все следующие сообщения и команды компьютера станут выводиться с новой строки. [2 c. 50]


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

write[26];

или

writeln;

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

write(a + b, c);

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

write('Нет решения');

Операторы write и writeln различны тем, что во втором примере после вывода данных будет перенесена строка, т.е. все новые сообщения аппарата будут показываться с новой строки.

Глава 2. Типы области видимости

Область видимости – это часть программы, в пределах которой идентификатор, объявленный как имя некоторой программной сущности, остаётся связанным с этой сущностью, то есть позволяет посредством себя обратиться к ней.

В общей (одномодульной) программе не используются функции и объектно-ориентированное программирование может быть два класса области видимости: глобальная и локальная. Другие классы существуют строго при наличии заранее прописанных синтаксических связок.

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

Локальная область видимости - опознаватель разрешен исключительно в отдельной функции (процедуры).

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

Пакет или пространство имен. В глобальной области видимости искусственно выделяется поименованная подобласть. Имя «привязывается» к этой части программы и существует только внутри неё. Вне данной области имя либо вообще недоступно, либо доступно ограниченно.

В языках объектно-ориентированного программирования к уже перечисленным могут поддерживаться дополнительные границы области видимости, актуальные только для классов идентификаторов, которые объявлены внутри или которые относятся к нему: