- •Алгоритмы.
- •Условие
- •Типы данных.
- •Целые числа.
- •Вещественный тип данных.
- •Символьные и строковые типы данных.
- •Булевские данные.
- •Указатели.
- •Идентификаторы.
- •Операторы.
- •Операторы присваивания.
- •Арифметические операторы.
- •Побитовые операторы.
- •Операторы отношений.
- •Логические операторы.
- •Адресные операторы.
- •Операторы над множествами.
- •Строковые операторы.
- •Создание программ в среде turbo pascal Структура программ.
- •1: WriteLn(' I меньше 10 ');
- •Тип константы компилятор определяет по типу значения. Описание типов используется при создании типов данных, отличных от базовых.
- •Обзор управляющих структур языка pascal
- •Интегрированная среда turbo pascal Назначение и состав среды.
- •Строка статуса
- •Справочник.
- •Работа с блоками текста
- •Компиляция и выполнение
- •Выполнение по шагам и трассировка
- •Управляющие структуры языка Паскаль. Условные операторы.
- •Пустой оператор
- •Условный оператор
- •If Flag then Writeln(‘Истинно’)
- •If not Flag then Writeln(‘Ложно’)
- •Оператор выбора
- •Операторы цикла Оператор цикла с предусловием (while)
- •Оператор цикла с постусловием (repeat…until)
- •Оператор цикла с параметром (for...Do)
- •I : Integer; { описание параметров циклов}
- •Процедуры и функции.
- •Структура процедуры и функции.
- •Локальные и глобальные элементы.
- •I : Integer; {I - глобальная}
- •I : Integer; {I - локальная }
- •Параметры.
- •I : Integer; {I - локальная }
- •Var { описание переменных }
- •Var { описание внутренних переменных}
- •Структурированные типы данных языка паскаль Перечисляемый тип.
- •Структурированные типы
- •Массивы
- •If eq then Write(“Массивы одинаковы”);
- •Множества
- •Совместимость и преобразование типов.
- •Символы и строки Символы:
- •Строки.
- •Строка- это массив символов.
- •Доступ к файлам.
- •Логические устройства
- •Открытие файла
- •Процедуры и функции для работы с файлами.
- •Текстовые файлы.
- •Типизированные файлы.
- •Нетипизированные файлы.
- •Модуль graph.
- •Драйверы.
- •Координатная система.
- •Текущий указатель.
- •Фигуры и стили.
- •Окна и битовые образы.
- •Обработка ошибок.
- •Пример простой программы:
- •Справочник по модулю Graph
- •Модуль crt
- •Ввод данных с клавиатуры. Более подробно о cтандартных операторах ввода.
- •Функции crt.
- •Текстовый вывод на экран.
- •Некоторые процедуры модуля crt.
- •Программирование звукового генератора.
- •Указатели.
- •Динамические переменные.
- •Проблема ограничения памяти.
Модуль crt
Рассмотрим организацию ввода и вывода данных с терминального устройства. Терминальное устройство - это устройство, с которым работает пользователь, обычно это экран (дисплей) и клавиатура.
Для ввода и вывода данных используются стандартные процедуры ввода и вывода Read и Write, но возможности этих процедур недостаточны для создания хорошего интерфейса программы.
Процедурыи функции, существенно увеличивающие возможности текстового ввода/вывода сосредоточены в модуле CRT. Для использования нижеперечисленных процедур в начале своей программы напишите:
Uses
CRT;
Ввод данных с клавиатуры. Более подробно о cтандартных операторах ввода.
Чтение К значений исходных данных и присваивание этих значений переменным А1, А2, ..., АК.
Read(A1,A2,...AK);{Ввод всего списка данных}
Чтение К значений исходных данных, пропуск остальных значений до начала следующей строки, присваивание считанных значений переменным А1, А2, ..., АК.
ReadLn(A1,A2,...AK);{Ввод списка до нажатия Enter}
ReadLn; {Ожидание ввода Enter}
При вводе исходных данных происходит преобразование из внешней формы представления во внутреннюю, определяемую типом переменных. Переменные, образующие список ввода, могут принадлежать либо к целому, либо к действительному, либо к символьному типам. Чтение исходных данных логического типа в языке ПАСКАЛЬ недопустимо.
Операторы ввода при чтении значений переменных целого и действительного типа пропускает пробелы, предшествующие числу. В то же время эти операторы не пропускают пробелов, предшествующих значениям символьных переменных, так как пробелы являются равноправными символами строк.
Значения исходных данных могут отделяться друг от друга пробелами и нажатием клавиш табуляции и Enter.
Функции crt.
Функция KeyPressed:Boolean. Возвращает True если в буфере клавиатуры есть хотя бы один символ.
(Пояснить организацию асинхронного буферизованного ввода с клавиатуры).
Функкция ReadKey:Char. Считывает символ из буфера клавиатуры, если буфер пуст, ждет нажатия клавиши. Если нажата одна из функциональных клавиш (клавиши управления курсором, клавиши F1-F12), то вводится двухбайтная последовательность: сначала #0, затем код клавиши.
Например:
Курсор вверх - #0, #72
Курсор влево - #0, #75
Курсор вправо- #0, #77
Курсор вниз - #0, #80
Esc - #0, #27
Program Demo1;
Uses CRT;
var
C : Char;
begin
. . .
if KeyPressrd then C := ReadKey;
. . .
end;
Данный фрагмент демонстрирует возможность вводить информацию с клавиатуры не останавливая выполнение программы.
Текстовый вывод на экран.
Более подробно о стандартных функциях вывода.
Переменные, составляющие список вывода, могут относиться к целому, действительному, символьному или булевскому типам.
Write(A); {Вывод значения переменной}
WriteLn(A); {Вывод значения переменной с
последующим переводом строки}
Write(A1,A2,...AK); {Вывод списка }
WriteLn; {Перевод строки}
Оператор вывода позволяет задать ширину поля вывода для каждого элемента списка вывода. В этом случае элемент списка вывода имеет вид А:К, где А - выражение или строка, К - выражение либо константа целого типа. Если выводимое значение занимает в поле вывода меньше позиций, чем К, то перед этим значением располагаются пробелы. Если выводимое значение не помещается в ширину поля К, то для этого значения будет отведено необходимое количество позиций.
Для величин действительного типа элемент списка вывода может иметь вид А:К:М, где А - переменная или выражение действительного типа, К - ширина поля вывода, М - число цифр дробной части выводимого значения. К и М - выражения или константы целого типа. В этом случае действительные значения выводятся в форме десятичного числа с фиксированной точкой.
Write(X:4); {Задание ширины поля вывода}
Write(Y:4:2); {Задание ширины поля вывода}
В качестве элемента списка вывода кроме имен переменных могут использоваться выражения и строки.
Write('Hello'); {Вывод строки текста}
Write('Значение переменной Х равно ',X); {Вывод строки текста и значения переменной}
Write('Ошибка !!'#7#10#13'Нажмите Enter'); {Вывод специальных кодов}
В операторе вывода можно использовать арифметические, логические операции, функции.
Write('Сумма = ',a+b+c);
Кроме символов, вводимых с клавиатуры, можно использовать для вывода символы псевдографики. Диапазон кодов 176..223.
Write(#195#196#196#196#180);