Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Обработка текстов данных записи лекция 3.docx
Скачиваний:
3
Добавлен:
14.04.2019
Размер:
31.1 Кб
Скачать

Var Pred: string;

N, Kоl: integer;

Begin

writeln(’введите предложение’);

readln(Pred);

Pred:= Pred +’ ’;

Kоl:=0;

while Pred <>’ ’ do begin

N:=Pos(’ ’, Pred);

if Pred[1]= Pred[N-1] then Kоl:=Kоl+1;

Delete(Pred,1,N);

end;

if m>0 then writeln(’в предложении ’,Kоl,’ таких слов’)

else writeln(’в предложении нет таких слов’);

End.

Пояснения к программе: чтобы распознать последнее слово в предложении, к нему добавляется пробел, при помощи функции Pos определяем место первого слева пробела – это граница первого слова. Если первый и последний символы совпадают – изменяем счетчик. После анализа первого слова его необходимо выбросить из текста и повторить указанные операции.

Цикл While заканчивается, как только из предложения будет выброшено последнее слово.

Запись – это структура данных, которая состоит из фиксированного числа полей разного типа. Описывают запись при помощи ключевых слов Record и End, между которыми размещаются имена отдельных полей и их характеристики.

Сначала нужно записать тип-запись при помощи слова Record.

Type Student=Record;

Fio: string[30];

Rogd: integer;

Rost: real;

Ocenki: array[1..5] of byte;

End;

Запись складывается из отдельных полей, каждое поле имеет свой тип. Порядок прохождения полей любой, количество – неограниченно.

Например:

Type abitur = record

Fio: string;

pol: string[3];

ekz: string[4];

end;

Var st: abitur;

Поле, в свою очередь, может быть записью, для этого предварительно описывают соответствующий тип.

Например:

Type Data= record

God: integer;

Mes: 1..12;

Chislo: 1..31;

End;

Теперь на тип Data можно ссылаться в других записях, например:

Rogd: Data;

Переменные типа запись описываются обычным способом. Например:

Var Stud TK, Stud AKIT: Student; .

Чтобы обратиться к какому-либо полю, используют сложные имена, первая часть которых – имя переменной, а вторая – имя поля, например, st. fio или st. pol. Такое имя можно писать в операторах ввода-вывода данных, присвоения, if и т.д.

Нужно иметь ввиду, что нельзя одним оператором вводить или выводить запись. Нужно выполнять эти операции над отдельными полями. Работа с записями может выполняться двумя способами: обработка одиночных записей (в цикле вводится одна запись, анализируется один или несколько ее элементов, запоминается или сразу выводится результат анализа), и массива записей. Массив записей необходим тогда, когда необходимо сохранять в памяти все записи. Например, при сортировке.

В таких случаях в разделе определение типов записывается одиночная запись, а при описании переменных задается массив с соответствующим количеством записей. Таким образом, если необходимо использовать массив раньше описанных сведений об абитуриентах, достаточно записать: