Конспект лекций по информатике для специальностей 2102, 2103 Автор доц., к т. н. Каширская Е. Н
Вид материала | Конспект |
- Конспект лекций бурлачков в. К., д э. н., проф. Москва, 1213.67kb.
- Конспект лекций по курсу "Начертательная геометрия и инженерная графика" Кемерово 2002, 786.75kb.
- Конспект лекций по дисциплине «Маркетинг», 487.79kb.
- Конспект лекций для студентов всех специальностей дневной и заочной формы обучения, 1439.07kb.
- Конспект лекций для студентов, магистров и аспирантов всех специальностей, 373.35kb.
- Конспект лекций для студентов по специальности i-25 01 08 «Бухгалтерский учет, анализ, 2183.7kb.
- Конспект лекций организация производства и маркетинг для студентов 3 курса специальностей, 2989.73kb.
- Конспект лекций по дисциплине «психология и педагогика» омск 2005, 2020.42kb.
- Конспект лекций по курсу «Организация производства», 2034.84kb.
- Конспект лекций по курсу «Организация производства», 2032.47kb.
10.3. Явные преобразования типов
Наличие двух операций деления есть еще одно появление основополагающего принципа языка программирования Паскаль: программист должен явно подтверждать компилятору, что он готов к возможным последствиям преобразования типов. Если, например, в Фортране используется выражение 1/2, то результат этого действия будет зависеть от того, переменной какого типа он будет присвоен:
если X – целое,
Y - действительное,
то фортрановское присваивание дает:
X = 1/2 0
Y = 1/2 0.5
В языке программирования Паскаль такой двусмысленности нет: выражение 1/2 всегда имеет значение 0.5 и поэтому оператор X:=1/2 для целого Х просто недопустим. В то же время
Var Y : Real;
--------------
Y : = 1 div 2;
самим фактом использования операции целочисленного деления div программист свидетельствует, что он сознательно отбрасывает дробную часть.
10.4. Эквивалентность типов
Еще две функции для целого типа:
Dec (X[,N]) – уменьшение значения X на N; если N не задан, то на 1,
Inc (X[,N]) – увеличение.
Над символами и строками символов (тип string) применима единственная операция – сцепление строк (+).
Var slovo: string;
Begin
Slovo:= ‘turbo’ + ‘-‘ + ‘pascal’;
Writeln (slovo);
End.
Пример: А,В, С – типа integer.
А = В and С < 0 где ошибка?
Надо (А = В) and (С < 0) так как логические операции имеют более высокий приоритет, чем операции отношения:
- not
- * / div mod and chr chi
- + - or xor
- = <> < > <= >= in.
10.5. Совместимость типов
Паскаль – это типизированный язык. В нем соблюдается концепция типов, в соответствии с которой все применяемые в языке операции определены только над операндами совместимых типов.
Два типа считаются совместимыми, если:
- оба они есть один и тот же тип,
- оба они действительные,
- оба они целые,
- один тип есть тип – диапазон второго типа,
- оба они являются типами – диапазонами одного и того же базового типа,
- оба они являются множествами, составленными из элементов одного и того же базового типа,
- оба они являются упакованными строками (определены предшествующим словом Packed) одинаковой максимальной длины,
- один тип есть тип – строка, а другой тип – строка, упакованная строка или символ,
- один тип есть любой указатель, а другой – не типизированный указатель,
- оба они есть процедурные типы с одинаковым типом результатом (для типа - функции), одинаковым количеством параметров и одинаковым типом взаимно соответствующих параметров.
11. ФАЙЛОВЫЕ ТИПЫ
Мы до сих пор рассматривали задачи, в которых во время выполнения программы данные поступают с клавиатуры, а результаты выводятся на экран дисплея. Поэтому ни исходные данные, ни результаты не сохраняются. Всякий раз при выполнении одной и той же программы, особенно во время её отладки, приходится заново вводить исходные данные.
Нельзя обычными программными средствами формировать значения структур данных и сохранять их для последующего использования в других программах. Естественно, необходимо формировать такие структуры данных, которые позволили бы:
- формировать большие массивы данных,
- своевременно их корректировать,
- транспортировать их в другие программы
Именно с этой целью в языке программирования Паскаль предусмотрен структурированный тип данных, называемый файлом. Чтобы сохранить исходные данные и результаты, надо оформить их в виде файлов, которые хранятся на диске точно так же, как и программа.
11.1. Определение файлового типа
Как правило, в файлах размещаются данные для длительного хранения, а также для обработки их различными программами. Вообще под файлом понимается любой набор данных:
исходные данные;
программа;
результаты;
любые тексты
Файл в операционной системе представляет собой последовательность элементов одного типа, расположенных на внешнем уровне.
Различают три основных вида файлов:
- последовательные;
- прямого доступа
- индексированные (файлы с ключами).
В двух последних типах данных поиск необходимых данных может осуществляться по адресам данных.
Турбо-Паскаль работает с последовательными файлами.
Последовательности во многих случаях служат самыми простыми структурами. Специалисты часто пользуются термином «последовательный файл» для описания последовательностей.
В Паскале словом файл называют структуры, состоящие из последовательности компонент, относящихся к одному типу. Особый класс файлов составляют текстовые файлы, представляющие собой последовательности строк символов переменной длины, составляющие основу для общения человека и компьютерной системы.
Файл состоит из компонент одного и того же типа. В любой момент времени непосредственно доступна (для чтения и записи) только одна компонента, другие становятся доступными по мере продвижения по файлу. Таким образом, чтобы прочитать элемент файла, необходимо просмотреть все элементы, стоящие до него. Такие файлы называются файлами последовательного доступа или последовательными файлами. Длинна файла не фиксируется и может меняться в процессе выполнения программы.
Файловый тип в Паскале - это единственный тип значений, посредством которого данные, обрабатываемые программой, могут быть получены извне, а результаты переданы во внешний мир.