
- •Строки. Процедуры и функции для работы со строками.
- •Множества. Операции над множествами.
- •Построение множества
- •Действия над множествами
- •Например.
- •Подпрограммы для работы со всеми типами файлов
- •Текстовые файлы
- •Бестиповые файлы
- •Типизированные файлы
- •Прямой доступ
- •Оператор with.
- •Вариантная запись.
Например.
var bs: set of byte;
i:byte;
begin
bs:=[3,2,6];
for i:=0 to 255 do
if i in bs then writeln(i);
readln;
end.
В сложных выражениях над множествами операции имеют следующие приоритеты:
*;
+, -;
=, <>, <=, >=, in.
Задача.
Написать программу, которая в зависимости от введенного года, добавляет к нему правильное окончание. Например: 1 год, но 10 лет или 3 года.
Алгоритм решения задачи:
Слово "год" добавляется ко всем числам, последняя (или единственная) цифра которых равна 1.
"Года" - для оканчивающихся на 2, 3, 4. Во всех остальных случаях используется слово "лет".
Числа 11, 12, 13, 14 (или имеющие такой остаток от деления на 100) имеют "окончание" лет.
Реализация программы на языке Free Pascal.
var
let, let11, god, goda: set of byte;
age, n: word;
begin
let:= [0,5,6,7,8,9];
let11:= [11,12,13,14];
god:= [1];
goda:= [2,3,4];
writeln('Введите количество лет: ');
readln(age);
if (age in let11) or (age mod 100 in let11) then
writeln(age, ' лет')
else begin
n:= age mod 10;
if n in let then
writeln(age, ' лет')
else
if n in god then
writeln(age, ' год')
else
writeln(age, ' года')
end;
readln;
end.
Задания для самостоятельной работы:
Даны 2 символьных множества. Найти их пересечение, объединение и разность.
Дана строка.
Определить количество гласных и согласных букв.
Вывести на экран те буквы, которые встречаются не менее 3-х раз.
Удалить все повторяющиеся символы.
Дана строка. Проверить ее на наличие недопустимых символов. В качестве первого символа допустимы только заглавные буквы. Остальные символы могут быть буквами, цифрами и знаком подчеркивания.
Дано целое число k. Вывести в убывающем порядке все цифры, которые используются в данном числе.
Компьютер генерирует 3 случайных числа в диапазоне от 1 до 5 включительно. Человек пытается их угадать. Программа выводит угаданные и неугаданные числа из тех, что сгенерировала программа, а также ошибочные числа пользователя.
Файлы
В языке программирования Free Pascal, предусмотрены инструменты для сохранения информации на внешних носителях, а также ее извлечения (чтения) оттуда.
Данные, хранящиеся на внешних устройствах, «организовываются в виде файлов». Под файлом понимается область памяти на внешнем запоминающем устройстве, содержащая определенную информацию. В эту конкретную область памяти можно помещать данные (операции ввода, записи), так и извлекать их оттуда (операции вывода, чтения).
В языке программирования Free Pascal для работы с данными, хранящимися в файлах, должны быть определены переменные файлового типа, через которые далее обеспечивается связь между файлом на диске и программой.
C точки зрения программиста все файлы можно разделить на три класса:
•типизированные;
•бестиповые;
•текстовые.
В программе файловые переменные задаются следующим образом:
var
переменная 1: text; // Текстовый файл
переменная 2: file; // Бестиповый файл
переменная 3: file of тип; // Типизированный файл
Типизированный файл также называется компонентным, причем компоненты могут быть любого типа, кроме файлового. Любой файл, в отличие от массива и записи, может содержать неограниченное количество элементов.
Чтобы не путать файлы в программе и файлы на диске, переменные файлового типа называют логическими файлами, а реальные устройства и файлы на диске - физическими файлами.
Для организации ввода-вывода в программе необходимо выполнить следующие действия:
объявить файловую переменную;
связать ее с физическим файлом;
открыть файл для чтения и/или записи;
выполнить операции ввода-вывода;
закрыть файл.