Что происходит в оперативной памяти компьютера в процессе присваивания значения переменной
Переменная — это именованная область памяти для хранения данных, которые могут изменяться в процессе исполнения программы.
- Именем («обозначением ячейки памяти»)
- Значением (данными, содержащимися в переменной в конкретный момент времени)
- Типом (определяющим: а) какие значения может принимать переменная; б) какие операции можно производить с этими значениями; в) как данные представлены в памяти компьютера)
Имена и типы переменных указываются в разделе описаний и не могут изменяться в процессе выполнения программы.
Дискретные (можно перечислить возможные значения):
- целые (integer, longint)
- символьный (char)
- логический (boolean)
- диапазон (часть значений стандартного дискретного типа, например, 1..100)
- перечисляемый (явно перечислены все допустмые значения)
Вещественные (real, double, extended) — служат для представления действительных чисел с ограниченной точностью.
- Массив (фиксированное количество данных одного типа)
- Строка
- Запись (связанные данные, в общем случае, разных типов)
- Множество
- Файл (данные одного типа, хранящиеся на внешнем носителе)
Для обмена информацией между компьютером, исполняющим программу, и пользователем служат операторы ввода и вывода (точнее, операторы вызова процедур ввода и вывода).
Оператор ввода нужен, чтобы компьютер получил исходные данные. В программе на Pascal он записывается следующим образом:
При выполнении оператора программа будет приостановлена, пока пользователь не наберет на клавиатуре значения и не нажмет клавишу «Enter». Затем введенные значения будут помещены в переменные, указанные как параметры процедуры ввода. Например, при выполнении оператора
компьютер будет ожидать ввода двух значений, которые затем будут помещены в переменные a и b.
При выполнении оператора вычисляются значения выражений, после чего эти значения выводятся на экран монитора. Например, при выполнении оператора
Для того чтобы переменная получила или изменила свое значение, используется оператор присваивания. В Pascal он записывается следующим образом:
Тип переменной должен совпадать с типом выражения либо быть «более широким» совместимым (т.е. вещественной переменной можно присвоить значение целого выражения; строковой переменной можно присвоить значение символьного выражения).
Компьютер сначала вычисляет значение выражения в правой части оператора присваивания, затем помещает его в переменную, указанную слева от символа присваивания «:=».
Например, при выполнении оператора
переменная x получит значение суммы переменных a и b. При выполнении оператора
значение переменной n увеличится на единицу.
Запомните! При присваивании переменной нового значения старое будет потеряно безвозвратно. Например, после выполнения операторов a := b;
обе переменные будут иметь одинаковые значения, равные тому, которое имела переменная b.
Рассмотрим, как составить простую программу, выполняющую какие-либо вычисления. Для этого нам нужно:
- Проанализировав условие задачи, выделить исходные данные и результаты. Выбрать для них имена переменных (если они не заданы в условии). Определить тип данных.
- Построить математическую модель задачи — описание в виде набора математических соотношений.
- Разработать (или подобрать из известных) алгоритм решения задачи — последовательность действий, приводящую от исходных данных к результатам за конечное число шагов. (Не забудьте, что сначала компьютер должен получить значения исходных данных, а после нахождения результатов — вывести эти результаты на экран).
- Если в процессе решения используются промежуточные данные, выбрать имена переменных и определить их тип.
- Записать программу в соответствии с правилами синтаксиса языка программирования (в нашем случае — Pascal).
Рассмотрим простейший пример.
Разработать программу, вычисляющую длину окружности и площадь круга по известному радиусу.
1) Определим исходные данные и результаты задачи. В данном случае они явно указаны в условии: исходная величина — радиус, результаты — длина окружности и площадь круга. Используем для них традиционные обозначения: R, L и S, соответственно. Все эти переменные могут принимать как целые, так и дробные числовые значения, поэтому следует использовать вещественный тип данных, например, Real.
2) Математически задача описывается известными формулами:
3) Алгоритм в данном случае предельно прост:
- Ввести значение радиуса.
- Вычислить длину окружности по формуле [1].
- Вычислить площадь круга по формуле [2].
- Вывести значения длины окружности и площади круга на экран.
4) При вычислениях нам (точнее, компьютеру) потребуется значение π. Вообще говоря, практически все реализации Pascal имеют встроенную константу PI, но мы объявим подобную константу самостоятельно.
Переменные в языках объектно-ориентированного программирования
3.1.3. Структура программы на языке Паскаль
В программе, записанной на языке Паскаль, можно выделить:
1) заголовок программы;
2) блок описания используемых данных;
3) блок описания действий по преобразованию данных (программный блок).
Заголовок программы состоит из служебного слова program и имени программы. После имени программы ставится точка с запятой.
Блок описания данных состоит из раздела описания констант (const), раздела описания переменных (var) и некоторых других разделов 2 . В разделе описания переменных указываются имена используемых в программе переменных и их типы.
2 В 8 классе мы ограничимся рассмотрением разделов описания констант и переменных, оставив изучение других разделов для старшей школы.
Имена переменных одного типа перечисляются через запятую, затем после двоеточия указывается их тип; описание каждого типа заканчивается точкой с запятой. Ниже приведён пример раздела описания переменных:
Программа может не иметь заголовка; в ней может отсутствовать блок описания данных. Обязательной частью программы является программный блок. Он содержит команды, описывающие алгоритм решения задачи. Программный блок начинается со слова begin и заканчивается словом end с точкой.
Ниже приведён общий вид программы:
Операторы — языковые конструкции, с помощью которых в программах записываются действия, выполняемые над данными в процессе решения задачи.
Точка с запятой служит разделителем между операторами, а не является окончанием соответствующего оператора.
Перед оператором end точку с запятой ставить не нужно.
3.1.2. Типы данных, используемые в языке Паскаль
В языке Паскаль используются различные типы данных. Мы будем пользоваться некоторыми из так называемых простых типов данных (табл. 3.2).
Таблица 3.2
Некоторые типы данных в языке Паскаль
1 1 integer — основной, но не единственный тип для работы с целочисленными данными. Дополнительную информацию по этому вопросу вы можете найти в справочниках по программированию на языке Паскаль.
В вещественном числе целая часть от дробной отделяется точкой, при этом перед точкой и после неё должно быть, по крайней мере, по одной цифре. Пробелы внутри числа недопустимы.
Электронное приложение к уроку
Файлы | Материалы урока | Ресурсы ЭОР |
Cкачать материалы урока
Переменная задается именем, определяющим область оперативной памяти компьютера, в которых хранится значение переменной. Значениями переменных могут быть данные различных типов (целые или вещественные числа, последовательности символов, логические значения и т. д.).
Переменная в программе представлена именем и служит для обращения к данным определенного типа, конкретное значение которых хранится в ячейке оперативной памяти.
Тип переменной. Тип переменной определяется типом данных, которые могут быть значениями переменной. Значениями переменных числовых типов Byte, Short, Integer, Long, Single, Double являются числа, логического типа Boolean — значения «истина» (True) или «ложь» (False), строкового типа String — последовательности символов. Обозначения типов переменных являются ключевыми словами языка и поэтому выделяются.
Данные различных типов требуют для своего хранения в оперативной памяти компьютера различное количество ячеек (байтов) (табл. 1.3).
Таблица 1.3. Типы переменных
Имя переменной. Имя переменной определяет область оперативной памяти компьютера, в которых хранится значение переменных. Имя каждой переменной (идентификатор) уникально и не может меняться в процессе выполнения программы. В рассматриваемых языках имя переменной может состоять из различных символов (латинские и русские буквы, цифры и т. д.), но должно обязательно начинаться с буквы и не должно включать знак точка «.». Количество символов в имени не может быть более 1023, однако для удобства обычно ограничиваются несколькими символами.
Объявление переменных. Необходимо объявлять переменные, для того чтобы исполнитель программы (компьютер) «понимал», переменные какого типа используются в программе.
Для объявления переменной используется оператор объявления переменных Dim. С помощью одного оператора можно объявить сразу несколько переменных, например:
Dim A As Byte, В As Short, С As Single, D As String, E As Boolean
Присваивание переменным значений. Задать или изменить значение переменной можно с помощью оператора присваивания. При выполнении оператора присваивания переменная, имя которой указано слева от знака равенства, получает значение, которое находится справа от знака равенства. Например:
А = 255
В = -32768
С = 3.14
D = "информатика"
Е = True
Значение переменной может быть задано числом, строкой или логическим значением, а также может быть представлено с помощью арифметического, строкового или логического выражения.
Проанализируем процесс выполнения программы компьютером (для определенности записанной на языке Visual Basic). После запуска проекта оператор объявления переменных Dim отведет в оперативной памяти для их хранения необходимое количество ячеек (табл. 1.4):
• для целой неотрицательной переменной А одну ячейку;
• для целочисленной переменной В две ячейки;
• для переменной одинарной точности С четыре ячейки;
• для строковой переменной D по две ячейки на символ;
• для логической переменной Е две ячейки.
Таблица 1.4. Значения переменных в оперативной памяти
Таким образом, в памяти для хранения значений переменных будет отведена 31 ячейка, например ячейки с 1-й по 31-ю.
3.1.1. Алфавит и словарь языка
Основой языка программирования Паскаль, как и любого другого языка, является алфавит — набор допустимых символов, которые можно использовать для записи программы. Это:
• латинские прописные буквы (А, В, С, . X, Y, Z);
• латинские строчные буквы (а, Ь, с, . х, у, z);
• арабские цифры (0, 1, 2, . 7, 8, 9);
• специальные символы (знак подчёркивания; знаки препинания; круглые, квадратные и фигурные скобки; знаки арифметических операций и др.).
В качестве неделимых элементов (составных символов) рассматриваются следующие последовательности символов:
:= (знак операции присваивания);
>= и (* и *) (начало и конец комментария).
В языке существует также некоторое количество различных цепочек символов, рассматриваемых как единые смысловые элементы с фиксированным значением. Такие цепочки символов называются служебными словами. В таблице 3.1 приведены основные служебные слова, которые мы будем использовать при записи программ на языке Паскаль.
Таблица 3.1
Служебные слова языка Паскаль
Для обозначения констант, переменных, программ и других объектов используются имена — любые отличные от служебных слов последовательности букв, цифр и символа подчёркивания, начинающиеся с буквы или символа подчёркивания.
Прописные и строчные буквы в именах не различаются.
Длина имени может быть любой. Для удобства мы будем пользоваться именами, длина которых не превышает 8 символов.
Содержание урока
Переменные в языках объектно-ориентированного программирования
Переменные в языках объектно-ориентированного программирования
Переменная в программировании означает область оперативной памяти компьютера, в которую может быть занесено и храниться некоторое значение.
Тип переменной. Тип переменной определяется типом данных, которые могут быть значениями переменной. Различные типы переменных требуют для своего хранения в оперативной памяти компьютера различное количество ячеек (байтов) и могут принимать различные диапазоны значений.
В объектно-ориентированных языках программирования переменные могут быть следующих типов:
Имя переменной. Имя переменной обозначает адрес ячейки пямяти, где хранится значение переменной.
Имя каждой переменной (идентификатор) уникально и не может меняться в процессе выполнения программы.
Имя переменной:
• должно начинаться с буквенного символа или с подчёркивания «_»;
• может содержать только буквенные символы, десятичные цифры и подчёркивания;
• должно содержать, по крайней мере, один буквенный или цифровой символ, если оно начинается с подчёркивания.
Рекомендуется для большей понятности текстов программ для программиста в имена переменных включать приставку, которая обозначает тип переменной. Тогда имена целочисленных переменных будут начинаться с приставок byt, int и lng, содержащих вещественные числа — sng и dbl, строковых — chr и str, логических — bln.
Объявление переменной. Важно, чтобы исполнитель программы (компьютер) «понимал», переменные какого типа используются в программе. При объявлении переменной используется ключевое слово и указывается её тип.
Область действия переменной. Область действия переменной, т. е. область в программе, где она доступна для использования, может быть локальной или глобальной.
Локальная переменная доступна только внутри процедуры или программного модуля, и к ней невозможно обращение из другой процедуры или модуля. Если переменная определена внутри процедуры, то она может быть вызвана только в этой процедуре, если она определена внутри программного модуля, то она может быть вызвана только в этом модуле.
К глобальным переменным может быть произведено обращение из всех программных модулей проекта.
При выполнении оператора присваивания переменная, имя которой указано слева от знака равенства, получает значение, равное значению правой части. Это может быть, как в алгоритмических языках, выражение (арифметическое, строковое или логическое), а также значение свойства объекта или результат выполнения метода.
Вопросы и задания
1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Дополняет ли презентация информацию, содержащуюся в тексте параграфа? Какими слайдами вы могли бы дополнить презентацию?
2. В честь кого назван язык программирования Паскаль? Подготовьте краткую биографическую справку об этом учёном.
3. Почему язык программирования Паскаль считается универсальным?
4. Что входит в состав алфавита языка Паскаль?
5. Каких требований следует придерживаться при выборе имён для различных объектов в языке Паскаль?
6. Указывая название, обозначение, диапазон и занимаемую область памяти, опишите известные вам типы данных, используемые в языке Паскаль.
7. В чём разница между числами 100 и 100.0 в языке Паскаль?
8. Какую структуру имеет программа, записанная на языке Паскаль?
9. Как записывается раздел описания переменных?
10. Запишите раздел описания переменных, необходимых для вычисления:
а) значения функции у = х 2 ;
б) площади прямоугольника;
в) стоимости покупки, состоящей из нескольких тетрадей и такого же количества обложек;
г) стоимости покупки, состоящей из нескольких тетрадей, нескольких ручек и нескольких карандашей.
11. Опишите процесс выполнения операторов присваивания. а:=3; b:=4; а:=а+b
12. Запишите оператор для:
а) вычисления среднего арифметического переменных х1 и х2;
б) уменьшения на единицу значения переменной k;
в) увеличения на единицу значения переменной i;
г) вычисления стоимости покупки, состоящей из нескольких тетрадей, нескольких ручек и нескольких карандашей.
Задания для самостоятельного выполнения
Cкачать материалы урока
4. Переменные: тип, имя, значение.
В объектно-ориентированном языке программирования Visual Basic переменные используются для хранения и обработки данных в программах.
Переменные задаются именами, которые определяют области оперативной памяти компьютера, в которых хранятся значения переменных. Значениями переменных могут быть данные различных типов (целые или вещественные числа, последовательности символов, логические значения и т. д.).
Переменная в программе представлена именем и служит для обращения к данным определенного типа, конкретные значения которых хранятся в ячейках оперативной памяти.
Тип переменной . Тип переменных определяется диапазоном значений, которые могут принимать переменные, и допустимыми операциями над этими значениями. Значениями переменных числовых типов Byte , Short , Integer , Long , Single , Double являются числа, логического типа Boolean — значения True («истина») или False («ложь»), строкового типа String — последовательности символов.
Различные типы данных требуют для своего хранения в оперативной памяти компьютера различное количество ячеек (байтов) (табл. 2.2).
Таблица 2.2. Некоторые типы переменных в языке Visual Basic 2 010
Возможные значения
Объем занимаемой памяти
Целые неотрицательные числа от 0 до 255
Целые числа от –32 768 до 32 767
Целые числа от –2 147 483 648 до 2 147 483 647
Целые числа от –9 223 372 036 854 до
9 223 372 036 853
Десятичные числа одинарной точности (7-8 значащих цифр) от –1,4·10 –45 до 3,4·10 38
Десятичные числа двойной точности (15-16 значащих цифр) от -5,0·10 –324 до 1,7·10 308
Логическое значение True или False
Строка символов в кодировке Unicode
Даты от 1 января 0001 года до 31 декабря 9999 года и время от 0:00:00 до 23:59:59
Имя переменной. Имена переменных определяют области оперативной памяти компьютера, в которых хранятся значения переменных. Имя каждой переменной (идентификатор) уникально и не может меняться в процессе выполнения программы. Имя переменной может состоять из различных символов (латинские и русские буквы, цифры и т. д.), но должно обязательно начинаться с буквы и не должно включать знак точка «.». Количество символов в имени не может быть более 1023, однако для удобства обычно ограничиваются несколькими символами.
Объявление переменных. Необходимо объявлять переменные, для того чтобы исполнитель программы (компьютер) «понимал», переменные какого типа используются в программе.
Для объявления переменной используется оператор Dim . С помощью одного оператора можно объявить сразу несколько переменных, например:
Dim A As Byte, В As Short, С As Single, D As String, G As Boolean
Присваивание переменным значений. Переменная может получить или изменить значение с помощью оператора присваивания. При выполнении оператора присваивания переменная, имя которой указано слева от знака равенства, получает значение, которое находится справа от знака равенства. Например:
Значение переменной может быть задано числом, строкой или логическим значением, а также может быть представлено с помощью арифметического, строкового или логического выражения.
Проект «Переменные». Создать проект, в котором объявить переменные различных типов, присвоить им значения и вывести значения в поле списка, размещенное на форме.
Создадим графический интерфейс (рис. 2.8).
1. Поместить на форму:
• поле списка ListBox 1 для вывода значений переменных;
• кнопку Button 1 для запуска событийной процедуры.
Создадим событийную процедуру, реализующую присваивание значений переменным различных типов. Вывод значений переменных в поле списка произведем с использованием метода Items . Add () , аргументами которого будут переменные.
2. Dim A As Byte, В As Short, С As Single, D As String, G As Boolean
Private Sub Button1_Click (. )
End Sub
3. Запустить проект на выполнение. После щелчка по кнопке начнет выполняться событийная процедура, в которой будут выполнены операции присваивания (в отведенные переменным области оперативной памяти будут записаны их значения).
Затем с помощью метода Items . Add () будет произведен вывод значений переменных в поле списка. В этом процессе значения переменных считываются из оперативной памяти и печатаются в столбик в поле списка (см. рис. 2.8).
Рис. 2.8. Проект «Переменные»
Проанализируем процесс выполнения программы компьютером. После запуска проекта оператор объявления переменных Dim отведет в оперативной памяти для их хранения необходимое количество ячеек (табл. 2.3):
Контрольные вопросы
1. В чем состоит разница между типом, именем и значением переменной?
3. Почему рекомендуется объявлять переменные перед их использованием в программе?
3.1.4. Оператор присваивания
Основное преобразование данных, выполняемое компьютером, — присваивание переменной нового значения, что означает изменение содержимого области памяти; оно осуществляется оператором присваивания, аналогичным команде присваивания алгоритмического языка. Общий вид оператора:
Операция присваивания допустима для всех приведённых в табл. 3.2 типов данных. Выражения в языке Паскаль конструируются по рассмотренным ранее правилам для алгоритмического языка.
Рассмотрим процесс выполнения операторов присваивания на следующем примере:
При выполнении оператора а:=10 в ячейку оперативной памяти компьютера с именем а заносится значение 10; при выполнении оператора b:=5 в ячейку оперативной памяти компьютера с именем b заносится значение 5. При выполнении оператора s:=a+b значения ячеек оперативной памяти с именами а и b переносятся в процессор, где над ними выполняется операция сложения. Полученный результат заносится в ячейку оперативной памяти с именем s (рис. 3.1).
Рис. 3.1. Процесс выполнения оператора присваивания
Вопросы и задания
1. В чём состоит разница между типом, именем и значением переменной?
2. Что происходит в оперативной памяти компьютера в процессе присваивания значения переменной?
3. Для чего нужно объявлять переменные в программе?
Cкачать материалы урока
Языки программирования — это формальные языки, предназначенные для записи алгоритмов, исполнителем которых будет компьютер. Записи алгоритмов на языках программирования называются программами.
Существует несколько тысяч языков программирования. Мы с вами познакомимся с языком программирования Паскаль, который был разработан в 70-х годах прошлого века Никлаусом Виртом (Швейцария). Своё название этот язык получил в честь французского учёного Блеза Паскаля, известного не только своими достижениями в математике, физике и философии, но и созданием первой в мире механической машины, выполнявшей сложение двух чисел.
Язык Паскаль считается универсальным языком программирования, так как он может применяться для записи алгоритмов решения самых разных задач (вычислительных, обработки текстов, построения графических изображений, поиска информации и т. д.).
Он поддерживает процедурный стиль программирования, в соответствии с которым программа представляет собой последовательность операторов, задающих те или иные действия 1 .
1 С другими стилями программирования вы познакомитесь при изучении курса информатики в 10-11 классах.
Никлаус Вирт (род. в 1934 г.) — швейцарский учёный, специалист в области информатики, один из известнейших теоретиков в области разработки языков программирования, профессор компьютерных наук. Разработчик языка Паскаль и ряда других языков программирования. |
САМОЕ ГЛАВНОЕ
Паскаль — универсальный язык программирования, получивший своё название в честь выдающегося учёного Блеза Паскаля.
В языке Паскаль используются различные типы данных: целочисленный (integer), вещественный (real), символьный (char), строковый (string), логический (boolean) и другие.
В программе, записанной на языке Паскаль, можно выделить:
1) заголовок программы;
2) описание используемых данных;
3) описание действий по преобразованию данных (программный блок).
Общий вид программы:
Читайте также: