Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Порядок использования множеств



Описание типа множество начинается со слов Set of, после которых в круглы скобках перечисляются элементы множества через запятую;

Элементы множества могут быть представлены элементами любого простого типа (кроме вещественного). Элементы множества образуют базовый тип множества;

Базовый тип задается либо диапазоном, либо перечислением.

Объявление переменных типа множество:

- с предварительным объявлением типа:

- Type < Имя типа> = set of (< элемент1>, < элемент2>,..,

< элементN> );

- Var < Идентификатор, …> : < Имя типа>;

- без предварительного объявления типа множества:

- Var < Идентификатор, …> : set of (< элемент1>, < элемент2>,.., < элементN> );

Множества могут использоваться в теле программы без предварительного описания. В этом случае значения элементов множества указываются в квадратных скобках [1, 2, 3, 4] непосредственно.

Операции над множествами:

- допускаются операции

отношения ( =, < >, > =, < =) - порядок следования значения не имеет;

объединения (+); пересечения (*); разности (-);

операция In. (проверка вхождения в множество) – пример: If A in [1, 2, 3, 4] then …

- результат вычислений над множествами получается логического типа;

Файл.

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

Порядок использования типа ФАЙЛ:

- Описание типа файл начинается со слов file of, после которых указывается тип компонентов файла. В описании типа файл может быть применен стандартный тип text, содержащий символы, объединенные в строки.

- Объявление (описание) переменной типа файл:

- с предварительным объявлением типа:

- Type < Имя типа> = file of < тип компонентов файла>;

- Var < Имя переменной, …> : < Имя типа>;

- без предварительного объявления типа множества:

- Var < Имя переменной, …> : file of < тип элементов файла>;

- Множества могут использоваться в теле программы без предварительного описания. В этом случае значения элементов множества указываются в квадратных скобках [1, 2, 3, 4] непосредственно.

Операции над файловыми переменными:

Файловые переменные имеют специфическое применение. Над ними нельзя выполнять никаких операций (присваивать значение, сравнивать и т.д.). Их можно использовать лишь для выполнения операций с файлами (чтения, записи, удаления файла и т.д.).

Язык программирования Си

Основы языка

Алфавит языка

В языке Си используются (являются допустимыми) все символы латинского алфавита:

A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z

a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z.

Цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Специальные символы:

, (запятая), ;, . (точка), +, -, *, ^, & (амперсанд), =, ~ (тильда), !, /, <, >, (, ), {, }, [, ], |, %, ?, ' (апостроф), " (кавычки), : (двоеточие), _ (знак подчёркивания).

Из допустимых символов формируются лексемы — предопределённые константы, идентификаторы и знаки операций. В свою очередь, лексемы являются частью выражений; а из выражений составляются инструкции и операторы.

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

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

Основные элементы Си-программы

В языке Си исходные файлы бывают двух типов:

- заголовочные, или h-файлы

- файлы реализации, или Cи-файлы

Имена заголовочных файлов имеют расширение ".h". Имена файлов реализации имеют расширения ".c".

Заголовочные файлы содержат только описания. Прежде всего, это прототипы функций. Также в h-файлах описываются имена и типы внешних переменных, константы, новые типы, структуры и т.п. При трансляции заголовочных файлов, как правило, никакие объекты не создаются.

Заголовочный файл подключается с помощью директивы препроцессора #include. Например, описания стандартных функций ввода-вывода включаются с помощью строки:

#include < stdio.h>

Имя h-файла записывается в угловых скобках, если этот h-файл является частью стандартной Си-библиотеки и расположен в одном из системных каталогов. Имена h-файлов, созданных самим программистом в рамках разрабатываемого проекта и расположенных в текущем каталоге, указываются в двойных кавычках, например:

#include " mylib.h"

Функции

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

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

После вызова функции значение, возвращенное в результате ее выполнения, используется в выражении (имя функции как бы заменяется возвращенным значением). Примеры:

x = sin(1.0);

f();

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

В языке Си используются всего два базовых типа: целые и вещественные числа. Кроме того, имеется фиктивный тип void (" пустота" ), который применяется либо для функции, не возвращающей никакого значения, либо для описания указателя общего типа (когда неизвестна информация о типе объекта, на который ссылается указатель).

Целочисленные типы

Целочисленные типы различаются по длине в байтах и по наличию знака. Их четыре: char, short, int и long. Кроме того, к описанию можно добавлять модификаторы unsigned или signed для беззнаковых (неотрицательных) или знаковых целых чисел.

Тип int

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

В современных архитектурах элемент типа int занимает 4 байта. Элементы типа int трактуются в Си как числа со знаком.

Тип char

Тип char представляет целые числа в диапазоне от -128 до 127. Элементы типа char занимают один байт памяти. Слово " char" является сокращением от character, что в переводе означает " символ". Действительно, традиционно символы представляются их целочисленными кодами, а код символа занимает один байт. Тем не менее, подчеркнем, что элементы типа char–это именно целые числа, с ними можно выполнять все арифметические операции. Стандарт Си не устанавливает, трактуются ли элементы типа char как знаковые или беззнаковые числа, но большинство Си-компиляторов считают char знаковым типом.

Вещественные типы

Вещественных типов два: длинное вещественное число double (переводится как " двойная точность" ) и короткое вещественное число float (переводится как " плавающее" ). Вещественное число типа double занимает 8 байтов, типа float –4 байта.

Тип double является основным для компьютера. Тип float –это, скорее, атавизм, оставшийся от ранних версий языка Си. Компьютер умеет производить арифметические действия только с элементами типа double, элементы типа float приходится сначала преобразовывать к double. Точность, которую обеспечивает тип float, низка и не достаточна для большинства практических задач. Все стандартные функции математической библиотеки работают только с типом double.

Синтаксис языка

Идентификаторы

Допустимый идентификатор — это слово (лексема), составленное из допустимых символов алфавита языка программирования, не являющееся знаком некоторой операции или разделителем.

Идентификаторы — это те имена, которые даются программным объектам — (именованным) константам, переменным, типам и функциям.

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

Предопределённые константы

Для введения в программе на Си именованных констант используется директива препроцессора #define:

#define имя константы [значение];.

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

#undefine имя константы;.

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

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

- числовые (целочисленные или вещественные);

- символьные (выделяются знаком апострофа);

- текстовые строки (выделяются знаком двойных кавычек).

Ключевые слова

Ключевые слова — это лексемы, которые зарезервированы компилятором для обозначения типов переменных, класса хранения, элементов операторов.

Стандартом С89 предусмотрены следующие ключевые слова:

- для указания операции получения размера объекта: sizeof

- для описания прототипа объекта: typedef

- для обозначения класса хранения переменных: auto, register

- для обозначения того, что объект описывается в другом месте extern

- для обозначения того, что объект статический static

- для обозначения типа переменных char, short, int, long, signed, unsigned, float, double, void

- struct (структура), enum (перечисление), union

- для обозначения операторов цикла: do, for, while

- для обозначения условного оператора: if, else

- для обозначения оператора выбора: switch, case, default

- операторы прерывания исполнения кода: break, continue

- для обозначения оператора безусловного перехода: goto

- для обозначения оператора возврата из функции: return.

- В стандарте C99 добавлены следующие ключевые слова:

- для обозначения того, что функция является встраиваемой: inline

- для обозначения типа переменной: _Bool, _Complex, _Imaginary


Поделиться:



Последнее изменение этой страницы: 2017-04-12; Просмотров: 447; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.029 с.)
Главная | Случайная страница | Обратная связь