Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл: Источник:
Скачиваний:
98
Добавлен:
04.03.2014
Размер:
593.92 Кб
Скачать

3: Begin

textcolor (red);

writeln(‘Execute…’);

sound (660);

delay (1500);

nosound;

textcolor (white);

writeln (‘В строке содержатся цифры: ’);

searchString (instr,outstr);

textcolor (white);

writeln (outstr);

outstr : = ‘’;

readln;

end;

end;

drawmenu (npos);

end;

end;

until (ch1=#27) or ((ch1=#13) and (npos = 4)) or (ch1 = #3)

{пока не нажаты Esc, Enter или четвертый пункт меню или Сtrl + С}

window (1,1,80,25);

textcolor :=7;

clrscr; {если выход – очистить экран}

End.

Код программы модуля StSearch.pas следующий:

Unit StSearch; {модуль обеспечивает поиск чисел в строке}

Interface

procedure SearchString (st: string; var sr: string);

implementation

procedure SearchString; {интеграл функции}

var i, k :integer;

begin

k := 1; sr: = ‘’;

for i:=1 to length(st) do

begin

if st[i] in [‘0’..’9’] then sr := sr + st[i];

end;

end;

end.

Результатом выполнения данной программы с модулем будет меню следующего вида:

Ввести строку

- опция ручного ввода строки,

Импортиз файла

- опция импорта строки из текстового файла,

Просмотр цифр

Выход

- опция просмотра содержания числовых символов в строке, - выход из программы в среду ОС.

3. Задачи, для самостоятельного решения

Разработать модуль обработки двунаправленного линейного связного списка, интерфейсная секция которого содержит объявления не менее 5-ти процедур и функций из предложенного списка:

1. Построить список.

2. Уничтожить список.

3. Вывести список на экран.

4. Определить длину списка.

5. Определить номер узла, если задан указатель на него.

6. Определить указатель на узел по его номеру.

7. Добавить узел к "хвосту" списка.

8. Удалить последний узел списка.

9. Добавить узел к "голове" списка.

10. Удалить первый узел списка.

11. Добавить узел после указанного номера.

12. Удалить узел с указанным номером.

13. Определить вхождение в список заданного узла (номер узла или указатель на узел).

14. "Склеить" два списка.

15. Отсортировать список в порядке возрастания (убывания)

значений какого-либо поля записи.

Тип записи и файл записей взять в соответствии с вариантом к данной лабораторной работе.

Задачи 1..4. Создать типизированный файл записей, содержащих сведения о багаже пасса­жира. Структура записи имеет следующий вид:

type PNT=^B;

Bag = record багаж

Fio: String[20]; Ф.И.О. пассажира

Colch: Integer; количество вещей

Ves: Real; общий вес вещей [кг]

next: PNT;

end;

Var rec, beg, endd, current: pnt;

Создать однонаправленный список записей.

1. Найти все записи, для которых средний вес одной вещи отличается не бо­лее чем на 0,3 кг от общего среднего веса вещи. Результаты записать в новый файл. Исходный и результирующий файлы распечатать.

2. Выяснить, имеется ли пассажир, багаж которого превышает багаж каждого из остальных пассажиров и по числу вещей, и по весу. Исходный файл и результат распечатать.

3. Выяснить, имеются ли два пассажира, багажи которых совпадают по числу вещей и различаются по весу не более чем на 0,5 кг. Исходный файл и результа­ты распечатать.

4. Дать сведения о багаже, число вещей в котором не меньше, чем в любом другом багаже, а вес вещей не больше, чем в любом другом багаже с этим же числом вещей. Исходный файл и результат распечатать.