Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Типизация и организация данных




End function

End sub

вызов процедуры:

call Имя_Процедуры(список значений параметров)

или

Имя_Процедуры(список значений параметров)

Рис. 1.2. Описание и вызов процедуры

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

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

 

описание функции:

function Имя_Функции(список аргументов)

< Команды функции (тело функции)>

Имя_функции = значение (т.е. число, строка или вычисляемое выражение)

вызов функции

Имя_данного = Имя_функции(список значений аргументов)

или

Команда Имя_Функции(список значений аргументов)

Рис. 1.3. Описание и вызов функции

Совершенно очевидно, что для различных данных существуют свои алгоритмы их обработки. Например, сумма чисел 123 и 345 равна 468, а сумма (результат слияния) строк “123” и “345” получает значение “123345”. Следовательно, желательно каким-то образом указывать способ обработки данных. Для данных необходимо указывать и их длину. Это позволит системе выделить соответствующее место (количество байтов) в ОЗУ, отводимых для хранения данных. Например, для данных, имеющих два альтернативных значения, вполне достаточно одного бита, для целых чисел в пределах -32767 … +32768 – двух байтов и т.д.

Интегральной характеристикой данных является их тип, одновременно указывающий и способ их обработки и длину. В тексте программы имеется раздел описания данных на основе простых типов. Современные системы программирования предусматривают простые типы данных, приведенные в табл. 1.2.

 

Таблица 1.2

Простейшие распространенные типы данных

Тип Название Длина, байт Диапазон
Boolean Логические   False – True
Integer Простые целые   -32768 … +32767
Long Длинные целые   -2147483648 … +2147483647
Single (real) Числа с плавающей точкой одинарной точности   -3402823х1038…-1401298х10-45 и +1401298х10-45…+3402823х10-45
Double Числа с плавающей точкой двойной точности   -179769313486232х10308… -4940656458412478х10-324 и +4940656458412478х10-324… +179769313486232х10308
String Строковые данные постоянной или переменной длины 1 байт на символ  
Date Дата и время     Даты с 01.01.100 по 31.129.9999 Время с 00:00:00 по 23:59:59

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

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

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

Следует уяснить разницу между данными с именами, включающими цифры (например, А1, А2, … А100) и похожими на них элементами массива (А[1], А[2], … А[100]). Первые данные никак не связаны между собой, поэтому невозможно определить адрес данного с именем А2 по адресу данного с именем А1. И, наоборот, зная адрес элемента массива А[1], легко можно определить адрес элемента массива с любым номером.

 

1.4.4. Глобальные и локальные данные.
Статические и динамические данные

Представим себе ситуацию, показанную на рис. 1.4. Внутри описания процедуры есть команда "присвоить данным с именем "х" значение 5". В тексте программы аналогичной командой данным с именем "х" присваивается значение 10, а затем вызывается процедура. Что будет напечатано?

sub ABC(…) … x=5 end sub ... x=10 call ABC(…) печатай х   Рис. 1.4. Двусмысленность данных
Не знаю! Если данные с именем "х", использующиеся внутри процедуры, хранятся по тому же адресу, что и данные с именем "х" в тексте основной программы, то х=5, если нет, то х=10.

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

 
 
Локальными называются данные, доступные только внутри именованной блочной структуры – процедуры, функции, модуля Глобальными называются данные, описанные вне блочной структуры и доступные как вне, так и внутри этой структуры

 

 


.

 

Существует соглашение, согласно которому описание данных как локальных внутри блочной структуры отменяет внутри нее описание одноименных глобальных данных. Таким образом, если мы вне процедуры опишем х как глобальные данные, а внутри процедуры не укажем, что х – локальные данные, то результат будет х=5, если внутри процедуры опишем данные х как локальные, то результат будет х=10, а значение х=5 будет утеряно.

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

 
 
Статические данные хранятся в сегменте данных, отведенная для них область ОЗУ не может быть освобождена до окончания работы программы Динамические данные хранятся в специальной области ОЗУ, выделенной для хранения динамических данных, причем эта область может быть освобождена самой программой до окончания ее работы  

 

 


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

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

Например, наиболее распространенным элементом интерфейса пользователя является окно. Его можно рассматривать как объект, характеризующийся полями:

x,y - координаты левого верхнего угла окна на экране,

l,h - размеры (ширина и высота),

simvol, fon - цвета текста и фона окна.

Как объект окно обладает хотя бы одним методом, например, процедурой рисования окна RisOkno. При необходимости список полей и методов можно существенно расширить. Описание окна как объекта (не в символах языков программирования), показано на рис. 1.5.

Окно = объект

x,y: <указание типа данных>

l,h: <указание типа данных>

simvol, fon: <указание типа данных>




Поделиться с друзьями:


Дата добавления: 2014-11-29; Просмотров: 498; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.