- •Язык программирования Pascal Алфавит языка Pascal
- •Числа. Представления чисел
- •Имена и идентификаторы.
- •Структура программы на Pascal
- •Типы данных
- •Простые типы данных. Данные целого типа.
- •Данные вещественного типа
- •Данные логического типа
- •Данные символьного типа
- •Стандартные процедуры и функции
- •Арифметические выражения
- •Логическое выражение
- •Оператор присваивания
- •Составной оператор
- •Пустой оператор
- •Операторы ввода
- •Вводи числовых данных
- •Ввод символьных данных
- •Ввод логических данных
- •Вывод данных на экран
- •Оператор выбора или оператор варианта
- •Перечислимый тип данных
- •Ограниченный тип данных или тип диапазон
- •Оператор цикла
- •Оператор цикла с предусловием
- •Оператор цикла с постусловием
- •Оператор цикла с параметром
- •Итерационный цикл
- •Оператор присоединения
- •Подпрограммы
- •Подпрограммы-процедуры
- •Подпрограммы-функции
- •Параметры массивы и параметры строки.
- •Рекурсия
- •Типизированные константы
- •Алгоритм создания последовательного файла.
- •Алгоритм доступа к элементам файла.
- •Алгоритм добавления элементов в последовательный файл.
- •Строковый тип данных. Строковые выражения.
- •Операция отношения.
- •Процедуры.
- •Текстовый файл.
- •Заголовок модуля. Связь модуля с программой.
- •Стандартные модули
- •Объектно-ориентированное программирование (ооп)
- •Работа с массивами
- •Множества
- •Операции над множествами
- •Понятие файла
- •Работа с файлами
- •Структура модуля
- •Стандартные модули языка Delphi
Процедуры.
Чтобы удалить из строки несколько символов, начиная с определенной позиции используется процедура Delete.
Пример:
Delete (‘река Волга’, 1, 5); {результат «Волга»}
Чтобы вставить одну строку в другую, начиная с определенной позиции используют процедуру Insert.
Пример:
St:=’СанктПетербург’;
Insert (‘-’, St, 6); {результат «Санкт-Петербург»}
Чтобы преобразовать число в строку используется процедура Str.
Пример:
Str (157; st);
st:=’157’;
Чтобы преобразовать строку в число используется процедура Val.
Пример:
Val (‘157’, A, Cod); {результат А:=157 Cod=0}
Если преобразование произошло успешно, то код равен нулю (Cod=0), в противном случае Cod будет содержать номер позиции первого ошибочного символа.
Функции.
Чтобы из одной строки выделить подстроку определенной длины, начиная с определенной позиции используют функцию Copy.
Пример:
St2:=Copy (‘abcdef’, 3, 2);
St2:=’cd’;
Чтобы объединить несколько строк в одну результирующую используют функцию Concat.
Пример:
St:=Concat (‘Петров’, ‘ ‘, ‘Сергей’, ‘ ‘, ‘Петрович’);
Чтобы определить длину строки используют функцию Length.
Пример:
Dlina:=Length (‘Хорошо’); {результат «6»}
Чтобы определить номер позиции первого появления подстроки в строке используют функцию Pos.
Пример:
h:=Pos (‘0’, ‘Хорошо’); {результат равен «2»}
Чтобы преобразовать маленькую строчную в заглавную используется функция Upcase.
Пример:
S:=Upcase (s);
Текстовый файл.
Текстовый файл – это совокупность строк переменной длины, описывается следующим образом:
var
<файловая переменная>: text;
Заканчивается текстовый файл маркером конца файла, кодом 26.
Каждая строка заканчивается маркером конца строки, который имеет два кода #13, #10.
Каждая символ строки представляется в коде ASCII. В текстовый файл можно записать и из него прочитать информацию любого типа, если это информация не символьная, то в процессе чтения или записи происходит преобразование из символьной формы во внутреннюю и обратно. Текстовый файл можно создавать с помощью текстового редактора, его можно посмотреть на экране и распечатать на принтере.
Текстовый файл – это файл последовательного доступа. Доступ к строкам возможен только начиная с первой. При работе с текстовыми файлами используются все те процедуры и функции, которые допустимы для типизированных файлов, кроме чтения и записи.
Read (<файловая переменная>; ch: char); – читает один символ из строки.
Write (<файловая переменная>; ch: char); - записывает один символ строки из памяти в файл.
Readln (<файловая переменная>; st: string); - читает строку из файла.
Writeln (<файловая переменная>; st: string); - записывает строку в текстовый файл.
Чтобы определить находиться ли указатель файла на маркере конца файла используют функцию Eof.
Eof (<файловая переменная>);
Чтобы открыть текстовый файл для добавления строки используют процедуру Append.
Append (<файловая переменная>);
Если в процедурах Read, Readln, Write, Writeln не указана файловая переменная, то по умолчанию считается, что информация вводится с клавиатуры и находится в системном файле с именем Input и выводится на монитор из системного файла Output. Input и Output текстовые файлы.
Если процедуры чтения или записи содержат только файловую переменную – это значит при чтении из текстового файла пропускается одна строка и указатель переходит к следующей строке. При записи – записывается только маркер конец строки.
Модули
Модули – это отдельно компилируемая программная единица.
Модуль храниться на диске в отдельном файле, самостоятельно не выполняется и предназначен для создания библиотеки процедур и файлов. Размер модуля не должен превышать 64кБйт. Можно одновременно использовать столько модулей, сколько позволяет оперативная память.
Модуль имеет следующую структуру:
{I} unit <имя модуля>;
{II} interface <интерфейсная часть>;
{III} implementation <исполнительная часть>;
{IV} [begin <инициирующая часть>];
End.
unit my__unit;
interface // объявления процедур и функций, доступных программам, использующим этот модуль
function IsInt(ch : char) : Boolean; // функция Islnt проверяет, является ли символ допустимым во время ввода целого числа
function IsFloat(ch : char; st: string) : Boolean;
// Функция IsFloat проверяет, является ли символ допустимым
// во время ввода дробного числа
// ch — очередной символ
// st — уже введенные символы
implementation // реализация
// проверяет, является ли символ допустимым
// во время ввода целого числа
function Islnt(ch : char) : Boolean;
begin
if (ch >= '0') and (ch <= '9') // цифры
or (ch = #13) // клавиша <Enter>
or (ch = #8) // клавиша <Backspace>
then Islnt := True // символ допустим
else Islnt := False; // недопустимый символ
end;
// проверяет, является ли символ допустимым
// во время ввода дробного числа
function IsFloat(ch : char; st: string) : Boolean;
// ch — очередной символ // st — уже введенные символы
begin
if (ch >= '0') and (ch <= '9') // цифры
or (ch = #13) // клавиша <Enter>
or (ch = #8) // клавиша <Backspace>
then
begin
IsFloat := True; // символ верный
Exit; // выход из функции
end;
case ch of
'-':
if Length(st) = 0 then
IsFloat := True;
',':
if (Pos(',',st) = 0) and (st[Length(st)] >= '0') and (st[Length(st)] <= '9') then // разделитель можно ввести только после цифры
// и если он еще не введен
IsFloat := True; else // остальные символы запрещены
IsFloat := False; end
// это раздел инициализации, он в данном случае не содержит инструкция
end.