Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по информатике / Раздел07(Структуры и типы данных языка программирования).doc
Скачиваний:
109
Добавлен:
09.05.2015
Размер:
418.3 Кб
Скачать

ДАННЫЕ

ДАННЫЕ – это значения, которые могут задаваться объектам программы и использоваться при ее выполнении.

По организации различают скаляры (одиночные значения): переменные, константы и указатели, и совокупности: массивы, структуры и файлы.

Элемент данных имеет тип и изображение.

ТИП – множество допустимых значений элемента данных и множество операций над ними. Элементом данных какого-либо типа является переменная или константа.

Рисунок 1

Начнем с относительно простого случая. Пусть требуется описать прямую на плоскости (рисунок 1), проходящую через точку М с координатами (0,1) и наклоненную под углом 45 градусов к оси Х. Известно, что уравнение этой прямой записывается в виде:

y=1+x,

где у и х – переменные, а 1- константа.

Таким образом, мы сразу сталкнулись с двуми видами данных: константой и переменной. Константа представляет нечто неизменное и обычно употребляется непосредственно в нужном месте программы. Переменная же может изменять свое значение в ходе работы программы, поэтому в машине каждой переменной отводится свое место (адрес которого известен программе), где храниться текущее значение переменной, а программист имеет доступ к переменной по ее имени.

Типы переменных

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

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

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

Основные типы переменных

ЦЕЛЫЙ. Диапазон определяется разрядностью ЭВМ.

32 бита |x|< (чуть больше 9 десятичных цифр)

16 бит |x|<=32768

Нет погрешности перевода 10-ую систему счисления в 2-ую и обратно.

Для представления целых чисел в ПЭВМ обычно используется одно машинное слово, что позволяет современным 16 – разрядным компьютерам охватить диапазон чисел от – 32 768 до +32 767

ВЕЩЕСТВЕННЫЙ. Диапазон также зависит от разрядности.

В общем случае, все операции приближенные (погрешность перевода 10->2). Представление в памяти  форма с плавающей точкой.

,

где m  мантисса, B  основание системы счисления(10|2|16), e  порядок.

Нормализованный вид: 0.1<=|m|<1 или 1<=|m|<10

Пример:

Каждое вещественное число хранят в двух машинных словах. Эти числа представлены в формате с плавающей запятой и в нормализированном виде. Охватывают диапазон от 10 в степени 38 до 10 в степени +38, однако реальная точность представления вещественных чисел определяется точностью хранения цифр мантиссы и не превышает 6…7 – десятичных разрядов. Более того, в процессе вычислений эта точность обычно снижается. Важно отметить также, что специфика представления вещественных чисел в компьютере может приводить к неточностям воспроизведения исходных чисел (вместо исходного числа 3.6 машина может вернуть 3.59999).

ЛОГИЧЕСКИЙ. {True|False}

Пример: а<b. Если а=3, b=5, то значение =True, если а=7, b=0, то False.

КОМПЛЕКСНЫЙ. Пара вещественных или целых переменных, 1-Re, 2-Im.

СИМВОЛЬНЫЕ. A a 3 +

СТРОКИ. "hard disc" "Привет всем!"

Переменные любых типов могут быть объединены в совокупности: массивы, структура, файл.

Вывод: Переменной можно назвать объект, который имеет:

  1. ИМЯ – имя переменной представляет собой идентификатор, по которому вы в дальнейшем будете обращаться к ней;

  2. ТИП – тип переменной определяет характер информации, хранящейся в ней.

  3. собственно ЗНАЧЕНИЕ переменной;

  4. АДРЕС в оперативной памяти;

  5. ОБЛАСТЬ ВИДИМОСТИ – задается неявно и указывает на те части кода, при выполнении которых переменная будет доступна.

Если в совокупности переменные одного типа и место каждой определяется номером (индексом), то это МАССИВ, если же разных, то СТРУКТУРА.

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

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

Доступ к элементам одного массива осуществляется по индексам если i=1, а j=2 то a[i,j]=a[1,2]

Чтобы получить доступ к элементу массива, необходимо указать имя массива и его индекс.

Двумерный массив представляется как одномерный, элементы которого тоже массивы. Например, объявление a[10][20]; задает такой массив.

Количество индексов – размерность массива.

Пример: Массив. Система линейных алгебраических уравнений.

a[1,1]*x[1]+a[1,2]*x[2]=b[1]

a[2,1]*x[1]+a[2,2]*x[2]=b[2]

{a[i,j] i,j=1,2}, {x[k] k=1,2}, {b[l] l=1,2}

Расположение в памяти элементов многомерного массива может быть разным.

a[1,1] a[1,2] a[2,1] a[2,2] – лексикографическое (по строкам) в большинстве языков, a[1,1] a[2,1] a[1,2] a[2,2] - по столбцам (Фортран)

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

Пример: Представление текущей даты:

– день месяца  целочисленная переменная;

– название месяца – символьный массив;

– год  целочисленная переменная.