Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PASСAL_a4_2007.doc
Скачиваний:
31
Добавлен:
13.09.2019
Размер:
2.51 Mб
Скачать

Лабораторная работа 29. Строковые массивы. Алгоритмы поиска

Задание 1

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

Задание 2

Добавьте к получившейся программе процедуру поиска определенного пациента (с печатью сообщения в случае, если пациент не найден). Модифицируйте головную программу, включив в нее вызов этой процедуры.

Задание 3

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

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

Задание 4

Напишите процедуру поиска всех пациентов с указанным диагнозом и добавьте ее к программе.

Задание 5

В головной программе предусмотрите возможность вызывать ту процедуру поиска, которая нужна пользователю в данный момент. Разумеется, новый поиск не должен требовать заново вводить данные. Чтобы реализовать эту идею, включите в головную программу цикл, условием выхода из которого будет специальное указание пользователя, а тело цикла будет включать вызов нужной процедуры поиска.

Задание 6

Оформите программу так, чтобы с ней было приятно работать.

Лабораторная работа 30. Нечисловые индексы в массиве

В языке Pascal в качестве индексов может выступать упорядоченная последовательность любого типа, количество элементов которого конечно. Фактически в качестве индекса не могут выступать элементы типа Real и String. В этой лабораторной работе рассмотрим ситуации, когда в качестве индексов используются символы (тип Char).

  • Все ВЫПОЛНЕННЫЕ задания необходимо продемонстрировать преподавателю!

Задание 1

Скопируйте в Ваш каталог файлы array_3.pas и sign.txt. Запустите среду Turbo Pascal.

Задание 2

Загрузите файл array_3.pas. Закончите данную программу, выполнив задание, предложенное Вам в начале программы. Считайте, что в тексте присутствуют либо маленькие (строчные) английские буквы, либо "не буквы".

Задание 3

Программа из задания 2 работает без учета больших букв. Измените программу так, чтобы она учитывала все (большие и маленькие) буквы.

Подсказка

Самый простой путь решения - свести все буквы к одному виду - большим или маленьким. Для этих целей существует специальная функция UpCase, имеющая следующее описание:

function UpCase(c:char):char;

которая переводит буквы a...z в буквы A...Z. Работает она только для латинского алфавита.

Задание 4*

Напишите и отладьте процедуру

Up_Case(var st:string),

которая заменяет все маленькие буквы русского алфавита в строке st на большие.

Подсказка

Загрузите в окно файл Sign.txt . В этом файле приведена стандартная кодировка символов. Выясните соотношение кодов русских больших и маленьких букв. Обратите внимание на то, что коды части больших и маленьких букв отличаются на одно число...

Задание 5*

Напишите процедуру Down_Case(var st:string), которая заменяет все большие буквы русского алфавита в строке st на маленькие.

Задание 6*

Измените процедуры Up_Case и Down_Case так, чтобы выполняемые действия осуществлялись для букв любого алфавита.

Задание 7*

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

Задание 8

Протестируйте разработанную программу. Для этого запустите ее:

а) сразу нажмите <Enter>. Программа должна сообщить, что текст отсутствует;

б) введите текст "vvv". Программа должна сообщить, что в тексте русских букв нет;

в) введите "ююююю". Программа должна выдать только одну строчку: букв “ю” в тексте - 100%;

г) введите "мама". Программа должна выдать две строчки: букв “а” в тексте - 50% ;

букв “м” в тексте - 50% ;

д) введите "123 АбвГ123деЖзий". Программа должна выдать информацию о том, что букв а,б,...,й в тексте по 10%.

  • Если тестирование показало идеальную работу Вашей программы, пригласите преподавателя и продемонстрируйте ему Ваш шедевр. Несомненно, он за Вас порадуется.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]