Читайте также: |
|
Множество – это структурированный тип данных, представляющий собой набор взаимосвязанных по какому-либо признаку объектов. В отличие от массивов порядок расположения элементов во множестве не важен.
В выражениях на языке Pascal значения элементов множества указываются в квадратных скобках: [1, 6, 3, 7, 2, 4], [‘a’..’z’]. Множество, не имеющее элементов, называется пустым и обозначается [].
Формат записи множественного типа:
Type <имя типа>= set of <элемент1,…, элементN>;
Var <идентификатор>:<имя типа>;
Допустимыми операциями над множествами являются: «=», «<>», «>=», «<=», объединения (+), пересечения (*), разности (-) множеств и операция включения (in). Операция in позволяет проверить принадлежность значения множеству.
Задача: Посчитать количество гласных и согласных букв в предложении.
program Glasn_Sogl;
Type mnoj= set of 'A'..'я'; {Задаем множество букв русского алфавита}
var glasn, sogl: mnoj;
sr: string; {строковая переменная sr хранит вводимый текст}
i: byte; {параметр цикла}
g, s: byte; {переменные накапливающие количество гласных и согласных букв соответственно}
begin
{Задаем множества гласных букв перечислением, а множество согласных вычитанием из всего алфавита гласных букв, мягкого и твердого знаков}
glasn:=['A','a','O','o','E','e', 'И','и','Ё','ё','У','у', 'Ы','ы','Э','э','Я','я','Ю','ю'];
sogl:=['A'..'я'] – glasn - 'Ъ' - 'ъ' - 'Ь' - 'ь';
write('Введите предложение: ');
readln(sr);
{Обнуляем счетчики количества}
g:=0;
s:=0;
{Просматриваем все элементы предложения и смотрим, содержаться ли они во множествах glasn и sogl}
For i:=1 to Length(sr) do begin
if sr[i] in glasn then g:=g+1;
if sr[i] in sogl then s:=s+1;
end;
writeln('В данном предложении ',g,' гласных и ',s,' согласных букв');
end.
Файлы
В языке программирования Pascal предусмотрены специальные объекты (файлы), которые позволяют организовывать хранение информации на внешних запоминающих устройствах и доступ к этой информации.
Файл – совокупность данных, записанная во внешней памяти под определенным именем.
Целесообразность применения файлов диктуется следующими причинами:
§ ввод больших объемов данных, подлежащих обработке, утомителен и требует большого времени. Гораздо удобнее создать определенный файл данных, который может быть подготовлен заранее и, самое главное, применяться неоднократно;
§ файл данных может быть подготовлен другой программой, становясь, таким образом, связующим звеном между двумя разными задачами, а также средством связи программы с внешней средой;
§ программа, использующая данные из файла, не требует присутствия пользователя в момент фактического исполнения.
Формат записи файла:
Type <имя типа>=<тип компонентов>;
var <F>: File of <имя типа>; {F – файловая переменная, представитель файла в паскале}
<R>: <имя типа>; {переменная доступа к полям записи}
Средства обработки файлов:
Процедура Assign(<Файловая переменная>; <полный путь к файлу >) – связывает файловую переменную с конкретным файлом на внешнем устройстве.
Процедура Reset(<файловая переменная>) – открывает уже существующий файл.
Процедура Rewrite(<файловая переменная>) – создает и открывает новый файл.
Процедура Close(<файловая переменная >) – закрывает открытый файл.
Процедура Rename(<файловая переменная >;<новое имя файла>) – переименование любого неоткрытого файла.
Процедура Erase (<файловая переменная >) – удаление неоткрытого файла.
Условно файлы можно разделить на текстовые, типизированные и нетипизированные.
Текстовый файл – последовательность символов, разбитая на строки длиной от 0 до 256 символов. Для описания используется стандартный тип Text:
var F: text;
К типизированным файлам относят файлы строго определенного типа. Чаще всего это файлы, состоящие из записи.
Type FR = record
………
end;
var F: file of FR;
Нетипизированные файлы рассматриваются в Pascal как совокупность символов или байтов. для определения в программе нетипизированного файла служит зарезервированное слово File:
var F: file;
Пример: Прочитать последовательность 6 символов из первой строки текстового файла Input.txt, записать их в обратном порядке в файл Output.txt. Файл Input.txt создан на c:\temp\
program text_file;
var F, R: text;
st, ts: string[6];
i: byte;
begin
assign(F, 'c:\temp\Input.txt'); {связывает переменную F с файлом Input.txt}
reset(F); {открывает F для чтения}
assign(R, 'c:\temp\Output.txt'); {связывает переменную R с файлом Output.txt}
rewrite(R); {создает и открывает R для записи}
while not Eoln(F) do read(F, st); {Проверка конца файла, чтение из F в переменную st}
for i:= 6 downto 1 do ts:=ts+st[i]; {Создание строки перевертыша}
writeln(R, ts); {Запись в R значения переменной ts}
close(F); {закрывает F}
close(R); {закрывает R}
end.
Дата добавления: 2014-12-19; просмотров: 29 | Поможем написать вашу работу | Нарушение авторских прав |