Презентация на тему "Типы данных в языке Паскаль"

Презентация: Типы данных в языке Паскаль
1 из 38
Ваша оценка презентации
Оцените презентацию по шкале от 1 до 5 баллов
  • 1
  • 2
  • 3
  • 4
  • 5
3.0
1 оценка

Комментарии

Нет комментариев для данной презентации

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


Добавить свой комментарий

Аннотация к презентации

Презентация для студентов на тему "Типы данных в языке Паскаль" по информатике. Состоит из 38 слайдов. Размер файла 0.1 Мб. Каталог презентаций в формате powerpoint. Можно бесплатно скачать материал к себе на компьютер или смотреть его онлайн.

Содержание

  • Презентация: Типы данных в языке Паскаль
    Слайд 1

    Лекция 2ТИПЫ ДАННЫХ(ПРОСТЫЕ ТИПЫ)

  • Слайд 2

    ТИПЫ Простые Порядковые Веществен- ные Целые Логический Символьный Перечисля- емый Структуриро- ванные Указатели Строки Процедурные Обьекты массивы Записи Множества Файлы

  • Слайд 3

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

  • Слайд 4

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

  • Слайд 5

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

  • Слайд 6

    Простые порядковые типы (целые, логический, символьный, перечисляемый). Имеют общие свойства: все возможные значения порядкового типа представляют собой ограниченное упорядоченное множество; к любому порядковому типу могут быть применены стандартные функции: Ord. В качестве результата возвращает порядковый номер конкретного значения в данном типе; для целых – само целое число, длялогического типа – 0,1, для символьного типа 0-255 , для перечисляемого типа 0-65535. Pred и Succ, которые возвращают предыдущее и последующее значения соответственно; с:=‘5’, pred(c) –4, succ(5) –6. Low и High, которые возвращают наименьшее и наибольшее значения величин данного типа. Если K:integer, то Low(k) - -32768, High(k) – 32767

  • Слайд 7

    Целые типы. Целые типыопределяют константы, переменные и функции, значения которых реализуются множеством целых чисел, допустимых в данной ЭВМ. В Tурбо Пaскaле используются пять целочисленных типов данных , наиболее распространенным среди которых является тип INTEGER

  • Слайд 8

    Целые типы тип диапазон значенийтребуемая память Shortint-128 .. 1271 байт Integer-32768 .. 327672 байта Longint-2147483648 .. 21474836474 байта Byte0 .. 2551 байт Word0 .. 655352 байта

  • Слайд 9

    Над целыми можно выполнять следующие арифметические операции: сложение(+), вычитание(-), умножение(*), деление(/), деление нацело(div), получение остатка от деления(mod).

  • Слайд 10

    Результат арифметической операции над целыми операндами есть величина целого типа. Результат выполнения операции деления целых величин есть целая часть частного. Результат выполнения операции получения остатка от деления - остаток от деления целых. Например: деление нацело(div). получение остатка от деления(mod). 17 div 2 = 8 3 div 5 = 0 17 mod 2 = 1 3 mod 5 = 3.

  • Слайд 11

    Над целыми можно выполнять следующие операции отношения: равенство =, неравенство , больше или равно >=, меньше или равно , меньше

  • Слайд 12

    К аргументам целого типа применимы следующие стандартные (встроенные) функции, 1. результат выполнения имеет целый тип: Abs(X) - абсолютное значение Х Sqr(X), - X в квадрате Succ(X) - Х+1 Pred(X) - Х-1. 2. результат выполнения имеетдействительный тип: Sin(X) - синус Х Cos(X) - косинус Х ArcTan(X) - арктангенс угла, заданного в радианах, Ln(X) - логарифм натуральный Exp(X) - экспонентуХ Sqrt(X) - корень квадратный Х.

  • Слайд 13

    Целую величину можно проверить на нечетность при помощи функции Odd(X). Результат имеет значение истина, если аргумент нечетный, и значение ложь, если аргумент четный: X=5 Odd(X)=TRUE X=4 Odd(X)=FALSE

  • Слайд 14

    Для быстрой работы с целыми числами определены процедуры: Inc(X) X:=X+1 Inc(X,N) X:=X+N Dec(X) X:=X-1 Dec(X,N) X:=X-N

  • Слайд 15

    Примеры объявления целочисленных данных: const step=1; mm:word=65500; var a:integer; c,d:byte; f:shortint;

  • Слайд 16

    Логический тип (Boolean) Определяет данные, которые могут принимать логические значения TRUE и FALSE. Логический тип определен таким образом, что FALSE

  • Слайд 17

    В ТУРБО ПАСКАЛЬ введены еще разновидности логического типа: ByteBool, WordBool и LongBool, которые занимают в памяти ЭВМ один, два и четыре байта соответственно. Пример объявления логических данных: const a=true; var b:boolean;

  • Слайд 18

    Символьный тип(Char) Значение символьной переменной или константы - это один символ из допустимого набора. Символьная константа может записываться в тексте программы тремя способами: как один символ, заключенный в апострофы, например: 'A' 'a' 'Ю' 'ю'; с помощью конструкции вида #K, где K - код соответствущего символа, при этом значение K должно находиться в пределах 0..255; с помощью конструкции вида ^C, где C - код соответствующего управляющего символа.

  • Слайд 19

    К величинам символьного типа применимы все операции отношения. Для величин символьного типа определены две функции преобразования Ord(C) Chr(K). Ord(C) определяет порядковый номер символа С в наборе символов, Chr(K) определяет по порядковому номеру К символ, стоящий на К-ом месте в наборе символов. Порядковый номер имеет целый тип. К аргументам символьного типа применяются функции, которые определяют предыдущий и последующий символы: Pred(C) Succ(C). Pred('F') = 'E' ; Succ('Y') = 'Z' . При отсутствии предыдущего или последующего символов значение соответствующих функций не определено.

  • Слайд 20

    Для литер из интервала 'a'..'z' применима функция UpCase(C), которая переводит эти литеры в верхний регистр 'A'..'Z'. Пример объявления переменной и константы символьного типа: var cimv:char; const vsym='A';

  • Слайд 21

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

  • Слайд 22

    Например, перечисляемый тип Rainbow(РАДУГА) объединяет скалярные значения: RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET (КРАСНЫЙ, ОРАНЖЕВЫЙ, ЖЕЛТЫЙ, ЗЕЛЕНЫЙ, ГОЛУБОЙ, СИНИЙ, ФИОЛЕТОВЫЙ). Traffic_Light (СВЕТОФОР) объединяет скалярные значения RED, YELLOW, GREEN (КРАСНЫЙ, ЖЕЛТЫЙ, ЗЕЛЕНЫЙ). Перечисляемый тип описывается в разделе описания типов, который начинается со служебного слова type, например: type Rainbow = (RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET);

  • Слайд 23

    Каждое значение является константой своего типа и может принадлежать только одному из перечисляемых типов, заданных в программе. Так, перечисляемый тип Traffic_Light не может быть определен в одной программе с типом Rainbow, так как оба типа содержат одинаковые константы. Описание переменных, принадлежащих к скалярным типам, которые объявлены в разделе описания типов, производится с помощью имен типов. Например: type Traffic_Light= (RED, YELLOW, GREEN); var Section: Traffic_Light; Это означает, что переменная Section может принимать значения RED, YELLOW или GREEN.

  • Слайд 24

    Переменные перечисляемого типа могут быть описаны в разделе описания переменных, например: var Section: (RED, YELLOW, GREEN); При этом имена типов отсутствуют, а переменные определяются совокупностью значений, составляющих данный перечисляемый тип. К переменным перечисляемого типа может быть применим оператор присваивания: Section:= YELLOW;

  • Слайд 25

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

  • Слайд 26

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

  • Слайд 27

    Нижняя граница должна быть меньше верхней. Над переменными, относящимися к интервальному типу, могут выполняться все операции и применяться все стандартные функции, которые допустимы для соответствующего базового типа.   При использовании в программах интервальных типов данных может осуществляться контроль за тем, чтобы значения переменных не выходили за границы, введенные для этих переменных в описании интервального типа. type Dig1 =’0’..’9’; Dig2=48..57;

  • Слайд 28

    Type Days=(mo,tu,we,th,fr,sa,su); WeekEnd=sa..su; Var w:WeekEnd; Begin ….. W:=sa; … End; Ord(w) – вернет значение 5, Pred(w) – приведет к ошибке.

  • Слайд 29

    High(x)- возвращает максимальное значение типа-диапазона, к которому принадлежит х. Low(x) - возвращает минимальное значение типа-диапазона, к которому принадлежит х. Var k:integer; Begin WriteLn(Low(k),’…’,High(k)); End. Результат –32768 …32767

  • Слайд 30

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

  • Слайд 31

    Длина Назва- Кол-во Диапазон ние значащих десятичного цифр порядка. -------------------------------------------------------------------- 4 Single 7… 8 Real 11…12 -39… +38 Double 15…16 -324…+308 Extended19…20 -4951…+4932 Comp 19…20 -2*10 в 63 степ.+1… +2*10 в 63 степ.-1

  • Слайд 32

    Вещественное число занимает от 4 до 10 смежных байт и имеет следующую структуру в памяти ПК. S- знаковый разряд числа E –экспоненциальная часть M- мантисса S | E | M

  • Слайд 33

    Мантисса m имеет длину от 23 (для SINGLE) до 63 (для EXTENDED) двоичных разрядов, что и обеспечивает точность 7.. .8 для SINGLE и 19.. .20 для EXTENDED десятичных цифр. Десятичная точка (запятая) подразумевается перед левым (старшим) разрядом мантиссы, но при действиях с числом ее положение сдвигается влево или вправо в соответствии с двоичным порядком числа, хранящимся в экспоненциальной части, поэтому действия над вещественными числами называют арифметикой с плавающей точкой (запятой).

  • Слайд 34

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

  • Слайд 35

    В некоторых случаях бывает необходимо отключить автоконтроль. Для этого перед запуском Турбо Паскаля следует дать такую команду ДОС: set 87=N команда set 87=Y напротив, включает автоконтроль - эта команда активна по умолчанию. Арифметический сопроцессор всегда обрабатывает числа в формате EXTENDED, а три других вещественных типа в этом случае получаются простым усечением результатов до нужных размеров и применяются в основном для экономии памяти.

  • Слайд 36

    Тип REAL оптимизирован для работы без сопроцессора. Если Ваш ПК оснащен сопроцессором, использование типа REAL приведет к дополнительным затратам времени на преобразование REAL к EXTENDED. Поэтому никогда не используйте REAL на ПК с сопроцессором, т.к. дополнительные затраты времени на преобразование типов могут свести на нет все преимущества сопроцессора. При разработке программ, критичных ко времени счета, следует заменять его типами SINGLE или DOUBLE: по сравнению с типом REAL скорость вычислений на машинах с сопроцессором в этом случае увеличивается в 2...3 раза. Если в ПК нет арифметического сопроцессора, скорость обработки данных всех вещественных типов приблизительно одинакова.

  • Слайд 37

    Особое положение в Турбо Паскале занимает тип СОМР, который трактуется как вещественное число без экспоненциальной и дробной частей. Фактически, СОМР - это «большое» целое число со знаком, сохраняющее 19...20 значащих десятичных цифр (во внутреннем представлении СОМР занимает 8 смежных байт). В то же время в выражениях СОМР полностью совместим с любыми другими вещественными типами: над ним определены все вещественные операции, он может использоваться как аргумент математических функций и т.д. Наиболее подходящей областью применения типа СОМР являются бухгалтерские расчеты: денежные суммы выражаются в копейках или центах и действия над ними сводятся к операциям с достаточно длинными целыми числами.

  • Слайд 38
Посмотреть все слайды

Сообщить об ошибке