Лекция «Программирование на языке высокого уровня» по Программированию (Иванько А. Ф.)

Кирилл Николоев сб, 11.03.2017 21:34

Программирование на языке высокого уровня, ч.1 Типы данных в языке Паскаль Простые типы данных 1) Целочисленные данные (INTEGER): 1, 2, -3, -345 2) Данные вещественного типа (REAL) могут представляться:

- с плавающей точкой (128.384) - с фиксированной точкой (1.28384Е+02) 3) Символьные(Char): ‘А’ 4) Строковые данные (STRING): ‘www.hi’ 5) Булевские/логические(BOOLEAN): true, false 6) Указатели (см.далее)

Данные перечисляемого типа Эти данные делают программу более наглядной и облегчают ее отладку. Фактически данные перечисляемого типа определяют имена для констант 1, 2, 3, … Они определяются следующим образом:

: (К1, К2,…, Кn), где: К1, К2,… - константы или имена данных перечисляемого типа Данные перечисляемого типа определяются в разделе описания переменных, они фактически задают имена для целочисленных значений 0, 1, …, n-1

Данные ограниченного типа Определяют некоторый диапазон возможных значений переменных. Описываются следующим образом: Var : К1Кn; где: К1, К2,… - константы определяемого диапазона При таком объявлении переменная может принимать значение только в данном диапазоне, в противном случае будет выдаваться сообщение об ошибке.

Примечание: К данным перечисляемого типа можно применять функции: PRED(x) – для указанного значения х выдает предыдущий элемент SUCC(x) - для указанного значения х выдает следующий элемент ORD(x) - выдает порядковый номер элемента

Данные регулярного типа (массивы) Это последовательность элементов одного и того же типа. Каждый массив имеет размерность(существуют одномерные, двухмерные,…, n-мерные). Одномерный массив называют вектором, двухмерный - матрицей, трехмерный – кубом.

Массивы определяются в разделе описания переменных следующим образом : Var : Array [тип индекса 1, тип индекса 2,, тип индекса n] of ; Тип элемента может быть любым допустимым типом языка Паскаль, а типы индексов могут быть либо булевскими, либо символьными, либо перечисляемыми, либо ограниченными. Как правило если индексы массива представляют перечисляемый тип, то верхняя граница этих индексов описывается в разделе констант.

Const N=10; M=10; Var A: Array [1N, 1M] of real; Записи Запись – это совокупность одного типа или данных разных типов. Представляет собой структуру данных, в которых содержится информация о каком-либо обьекте. Каждая структура имеет поля как правило различного типа. В языке Паскаль запись определяется следующей конструкцией:

RECORD END. Список полей состоит из следующих конструкций: : ; : ; … Доступ к полям записи осуществляется через имя переменной в качестве префикса и последующим через точку именем поля. При определении записи иногда используют запись с вариантами. В этом случае в качестве описания различных вариантов значения поля используется конструкция:

Оператор WITH Используется для упрощения доступа к полям записи. WITH , , …, Do , где переменная 1, , переменная n - это имена переменных записей(переменных комбинированного типа) оператор – один оператор, в котором осуществляется доступ к полям указанных переменных, причем префикс такой переменной допускается.Как правило оператор является составным(begin…end)

Множества В Паскале множеством называется некое множество элементов базового порядкового типа. При этом в базовом типе множества должно быть не больше 256 элементов, которые нумеруются от 0 до 255. Множество задается конструкцией:

Set of Тип – базовый тип множества – порядковый Пример: type ALFA = set of ‘A’…’Z’; OPER = set of (‘plus’,’min’,…,’umn’); Digits = set of 0…9; Конкретная переменная типа множества может быть задана перечислением:

Var Index: digital = [0,2,4,6,8]; . . begin index = [1,3,5]; Над переменными типа множества можно осуществлять следующие операции: ‘*’ - пересечение ‘+ ‘– обьединение ‘ –‘ – разность Кроме того над множествами можно осуществлять операции спавнение и принадлежности элементов множества. При этом a/arr[max] then max:=i;

if arr[i] Project/Options/Directories/Conditionals defines. Этот способ автоматически вставляет директиву DEFINE Debug во все модули. В противном случае в ручную. На компиляцию в отладочном режиме и в общем режиме могут влиять другие параметры Delphi – Project/Options/Compiler. Наиболее важные из них – Optimization – управляет оптимизацией компилятора. В большинстве случаев устанавливают оптимизацию, однако если вы считаете, что из-зи оптимизации получаются ошибки, можно ее отключить. Для того чтобы включить или выключить эту опцию можно локализовать директивы.

{ $O+} – включена, { $O-} – выключена. StackFrames – если эта опция включена, компилятор всегда включает в функцию код для генерации кадра стека, даже если код не использует стек. { $W+} { $W-} Range Checking – проверка диапозона. Перехватывет ошибки вызванные выходом за пределы массива или строки. Как правило это нужно анализировать программно. Поэтому в коммерческой версии этот флаг как правило отключают. { $R+} { $R-}

Скачать файлы

Похожие документы