- •Практикум по Турбо Паскалю
- •Первые занятия Первое знакомство с системой программирования Турбо Паскаль
- •Команды редактора
- •Задания
- •Режим помощи
- •Первая программа
- •Запуск программы
- •Сохранение программы
- •Выход из системы программирования Турбо Паскаль
- •Простейшие линейные программы
- •Арифметический квадрат. Абсолютная величина
- •Целый и логический типы данных Условный оператор
- •Логический тип данных
- •Условный оператор
- •Вложенные операторы условия
- •Целый тип данных. Цикл с параметром
- •Цикл с параметром (разбор на примере)
- •Работа с окнами. Метод пошагового выполнения программ
- •Работа с окнами
- •Решение задач с использованием цикла с параметром
- •Вопросы для обсуждения
- •Трассировка примера
- •Цикл с постусловием
- •Алгоритм Евклида
- •Вложенные циклы
- •Решение задач с использованием циклов с условием
- •Простые типы данных
- •Задания
- •Решение задач
- •Вещественный тип данных
- •Задание
- •Решение задач
- •Ограниченный, перечисляемый типы данных. Оператор варианта
- •Ограниченный тип данных
- •Оператор варианта
- •Перечисляемый тип данных
- •Решение задач
- •Описание переменных, констант и типов Раздел описания констант
- •Раздел описания переменных
- •Раздел описания типов
- •Решение задач
- •Преобразование типов. Совместимость типов
- •Задания
- •Решение задач
- •Решение задач
- •Контрольные работы Контрольная работа №1
- •Контрольная работа №2
- •Основы Паскаля
- •X y22m размер gamma alfa r15
- •Процедуры и функции
- •Описание процедур и функций
- •Файловый тип
- •Описание файлового типа
- •Подпрограммы
- •Процедура Assign
- •Процедура Reset
- •Процедура Rewrite
- •Процедура Write
- •Процедура Close
- •Функция FileSize
- •Функция FilePos
- •Текстовые файлы
- •Описание текстового файла
- •Консоль
- •Устройства
- •Соответствие текстовых файлов и логических устройств
- •Операции над текстовыми файлами
- •Процедура Assign
- •Процедура Reset
- •Процедура Rewrite
- •Процедура Append
- •Процедура Close
- •Функция Eof
- •Функция SeekEof
- •Блочные файлы Описание типа блочного файла
- •Процедура BlockRead
- •Процедура BlockWrite
- •Операции ввода-вывода
- •Регулярные типы данных Одномерные массивы. Работа с элементами
- •Способы задания одномерных массивов
- •Работа с элементами массива (разбор на примерах)
- •Методы работы с элементами одномерного массива Изменение значения некоторых элементов
- •Создание массива
- •Работа с несколькими массивами
- •Удаление элементов из одномерного массива Удаление элемента
- •Вставка элементов в одномерный массив Вставка одного элемента
- •Вставка нескольких элементов
- •Перестановка элементов массива
- •Перестановка части массива
- •Найти сумму элементов
- •Работа с несколькими массивами
- •Двумерный массив. Работа с элементами Изменение значений некоторых элементов, удовлетворяющих заданному свойству
- •Заполнение двумерного массива по правилу.
- •Вставка и удаление элементов двумерного массива
- •Перестановка элементов массива
- •Комбинированный тип данных (записи)
Консоль
CON: - Консоль.
Консоль - это устройство ввода-вывода. Выходное консольное устройство - это экран дисплея, входное консольное устройство - клавиатура. Консоль обеспечивает буферизованный ввод данных. Это означает, что данные с консоли вводятся в виде целой строки и только после введения всей строки обрабатываются. Поскольку каждая строка заканчивается символом CR, возможен ввод с консоли последовательности символов и редактирование её до ввода CR. Редактирование осуществляется с помощью следующих команд:
Ctrl-H |
Удаление символа слева от курсора и перемещение курсора на одну позицию влево. |
Ctrl-X |
Удаление всех символов слева от курсора и возврат курсора на начало строки. |
Ctrl-D |
Вставка на место, обозначенное курсором, одного символа из предыдущей строки и смещение курсора на одну позицию вправо. |
Ctrl-R |
Вставка с положения курсора остальных символов предыдущей строки и перемещение курсора за последний вставленный символ. |
CR, Ctrl-M |
Окончание ввода строки и помещение во входном буфере символов CR/LF. |
Ctrl-Z |
Окончание ввода и помещение во входном буфере символа Ctrl-Z |
Размер входного буфера консоли определён предопределённой переменной Buflen. По умолчанию размер этой переменной не более 127 символов. Новое значение переменной Buflen действительно по отношению к ближайшему оператору ввода. После выполнения оператора переменная Buflen снова принимает значение 127.
Устройства
TRM: - терминал.
Терминал - это устройство ввода-вывода. Выходное консольное устройство - это экран дисплея, входное консольное устройство - клавиатура. В отличие от консоли входные данные с терминала не буферизуются. Это означает, что каждый вводимый символ тотчас обрабатывается, одновременно символ выводится на экран. Из управляющих символов это относится только к CR, который выводится как пара CR/LF.
KBD: - клавиатура.
Клавиатура - это устройство ввода. Символы вводятся с консольного устройства ввода, не буферизуются и не выводятся на экран.
LST: - печатающее устройство.
Печатающее устройство - устройство вывода. Выводимые символы не буферизуются в системе и не могут буферизоваться в печатающем устройстве.
AUX: - вспомогательное устройство.
Вспомогательное устройство - это устройство ввода или вывода. В системе DOS это устройство COM1:.
USR: - устройство, определяемое пользователем
Устройство, определяемое пользователем - это программное устройство. Оно допускает вмешательство в процесс передачи символов. Его использование связано с разработкой собственных программ передачи данных.
Соответствие текстовых файлов и логических устройств
Связь файла с логическим устройством может осуществляться с помощью процедуры Assign, в которой указывается имя файловой переменной и строковое выражение, определяющее название логического устройства. В отличие от связи файла с набором данных связь файла с логическим устройством влечёт за собой неявное открытие файла. Поэтому использование процедур Reset и Rewrite излишне, а их выполнение, как и выполнение процедуры Close, не приводит ни к каким результатам. Не следует пользоваться процедурами Erase и Remane, потому что их можно использовать только по отношению к наборам данных на дисках.
Процедура Assign связывает текстовый файл Console с логическим устройством CON:, т.е. с консолью, а затем неявно открывает его.
Для упрощения использования файлов, связанных с логическими устройствами, в Турбо Паскале введён ряд предопределённых файловых переменных, представляющих текстовые файлы, которые по умолчанию связаны с некоторыми логическими устройствами.
Как следует из таблицы, с предопределёнными именами файловых переменных связаны определённые логические устройства. Исключение составляют файловые переменные Input и Output, каждая из которых может представлять файл, связанный с устройством CON: или устройством TRM:.
Выбор CON: или TRM: происходит по директиве компилятора {$B+} или {$B-}. По умолчанию принимается {$B+}, файлы Input и Output связаны с устройством CON:. В области действия директивы {$B-} оба эти файла связаны с устройством TRM:.
Таблица - Соответствие текстовых файлов и логических устройств
Файловая переменная |
Логическое устройство |
Input |
CON: или TRM: |
Output |
CON: или TRM: |
Con |
CON: |
Trm |
TRM: |
Kbd |
KBD: |
Lst |
LST: |
Aux |
AUX: |
Usr |
USR: |
Надо обратить внимание, что файлы, представляемые именами указанных файловых переменных, всегда открыты, а операции над ними касаются установленных логических устройств.
Пример:
begin Writeln (Con,'Hello world') end
Con - это предопределённая файловая переменная, представляющая файл, связанный с консолью.
После выполнения программы на консольное устройство будет выведен текст: Hello world.
