Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Функциональное и логическое программирование. Практикум
.pdf
2.4 В текстовом файле, состоящем из нескольких строк, во всех словах,
оканчивающихся на "ing" замените это окончание на "ed".
2.5 Файл содержит сведения о сотрудниках учреждения в виде:
фамилия имя отчество
(сведения о каждом сотруднике размещаются на новой строке). Запишите
эти сведения в другой файл по образцу:
фамилия и. о.
2.6 В текстовом файле, состоящем из нескольких строк, упорядочите
слова лексикографически.
2.7 В каждой строке текстового файла переставьте слова в обратном
порядке.
2.8 В текстовом файле, состоящем из нескольких строк, подсчитайте
количество символов, исключая пробелы.
2.9 В текстовом файле, состоящем из нескольких строк, найдите слова,
содержащие наибольшее число гласных букв (a,e,i,o,u).
2.10 Найдите в файле все слова минимальной длины.
2.11 Найдите в файле все слова максимальной длины.
2.12 Удалите все повторные вхождения слов в текстовом файле.
2.13 Переставьте строки текстового файла в обратном порядке.
2.14 Обратите все слова в текстовом файле, сохраняя порядок слов.
2.15 Преобразуйте текстовый файл, состоящий из нескольких строк,
таким образом, чтобы все слова в каждой строке разделялись символом *.
2.16 Файл содержит сведения о сотрудниках учреждения в виде:
фамилия имя отчество
(сведения о каждом сотруднике размещаются на новой строке). Запишите
эти сведения в другой файл по образцу:
имя отчество фамилия.
2.17 Преобразуйте текстовый файл, состоящий из нескольких строк,
таким образом, чтобы все символы в каждой строке разделялись одним
пробелом.
2.18 Удалите из текстового файла, состоящего из нескольких строк, все
однобуквенные слова и лишние пробелы.
2.19 В текстовом файле, состоящем из нескольких строк, найдите все
одинаковые слова и их количество и информацию об этом занесите в
отдельную строку нового файла в виде:
<слово> - <количество повторений> повторов
Строки в новом файле не должны повторяться.
101

2.20 В текстовом файле, состоящем из нескольких строк, определите
количество слов в каждой строке и информацию об этом занесите в отдельную
строку нового файла в виде:
cтрока №<номер строки> содержит <количество слов в строке> слов
2.21 В текстовом файле, состоящем из нескольких строк, удалите все
пробелы и занесите полученную последовательность символов в новый файл по
20 элементов в строке.
2.22 Каждая строка текстового файла f2 состоит из пары слов: первое
считается заменяемым, второе - заменяющим. Замените в текстовом файле f1,
состоящем из нескольких строк, все заменяемые слова на соответствующие
заменяющие.
2.23 В текстовом файле удалите в каждой строке лишние пробелы и
найдите строки максимальной длины.
2.24 В текстовом файле удалите в каждой строке лишние пробелы и
найдите строки минимальной длины.
2.25 Из текстового файла, содержащего несколько строк, удалите слова
максимальной длины и лишние пробелы.
3. Динамические базы данных
(в программе должен присутствовать диалог для добавления фактов в базу
данных, которая хранится в файле).
3.1 Создайте базу данных о студентах вашей группы:
фамилия, имя, год рождения.
Выясните, имеются ли в группе однофамильцы; однофамильцы старше 19 лет.
3.2 Создайте базу данных об игрушках:
название, стоимость, возрастные границы
Получите названия наиболее дорогих игрушек (цены которых отличаются от
самой дорогой не более, чем на 10 рублей).
3.3 Создайте базу данных городского транспорта:
название транспорта, номер маршрута, список остановок
Определите, как добраться от остановки "Площадь Ленина" до остановки
"ГПНТБ" без пересадок.
3.4 Создайте базу данных об итогах сессии по вашей группе:
фамилия, имя, предмет1(оценка1), предмет2(оценка2), предмет3(оценка3),
предмет4(оценка4)
Сформируйте список студентов на отчисление, имеющих не менее двух
двоек.
3.5 Создайте базу данных с расписанием движения поездов:
номер поезда, пункт назначения, время отправления, время прибытия, время в
пути. Найдите номер и время отправления скорого поезда до Москвы.
102

3.6 Создайте базу данных с расписанием движения самолетов:
номер рейса, пункт прибытия, время отправления, время прибытия, время в
пути, стоимость билетов(по классам)
Определите маршрут до Лондона и стоимость билетов всех классов.
3.7 Создайте базу данных с книжным каталогом:
Ф.И.О. автора, Название книги, Издательство, Год издания.
Найдите все книги, изданные в издательстве "Наука" после 1980 года.
3.8 Создайте базу данных о товарах:
наименование товара, фасовка, срок годности, стоимость.
Найдите товары с минимальной и максимальной ценой.
3.9 Создайте базу данных с таблицей игр чемпионата по футболу:
первая команда, вторая команда, счет игры.
Определите чемпиона.
3.10 Создайте базу данных о сотрудниках:
фамилия, имя, должность, оклад.
Сформируйте список сотрудников с окладом выше среднего по предприятию.
3.11 Создайте базу данных об итогах сессии по вашей группе:
фамилия, имя, предмет1(оценка1), предмет2(оценка2), предмет3(оценка3),
предмет4(оценка4)
Сформируйте список студентов сдавших сессию на 4 и 5 не менее чем по трем
предметам.
3.12 Создайте базу данных об игрушках:
название, стоимость, возрастные границы
Получите названия самых дешевых игрушек, подходящих ребенку 3 лет.
3.13 Создайте базу данных городского транспорта: название
транспорта, номер маршрута, список остановок
Определите, как добраться от остановки "Площадь Ленина" до остановки
"ГПНТБ" без пересадок.
3.14 Создайте базу о студентах вашей группы:
фамилия, имя, год рождения.
Выясните, имеются ли в группе однофамильцы; однофамильцы старше 19 лет.
3.15 Создайте базу данных об игрушках: название,
стоимость, возрастные границы
Получите названия наиболее дорогих игрушек (цены которых отличаются от
самой дорогой не более, чем на 10 рублей).
3.16 Создайте базу данных городского транспорта:
название транспорта, номер маршрута, список остановок
Определите, как добраться от остановки "Площадь Ленина" до остановки
"ГПНТБ" без пересадок.
3.17 Создайте базу данных об итогах сессии по вашей группе:
103

фамилия, имя, предмет1(оценка1), предмет2(оценка2), предмет3(оценка3),
предмет4(оценка4)
Сформируйте список студентов на отчисление, имеющих не менее двух
двоек.
3.18 Создайте базу данных с расписанием движения поездов:
номер поезда, пункт назначения, время отправления, время прибытия, время в
пути
Найдите номер и время отправления скорого поезда до Москвы.
3.19 Создайте базу данных ,содержащую сведения о пассажирах:
фамилия, имя, отчество, количество мест багажа, вес багажа
Определите общий вес багажа всех пассажиров.
3.20 Создайте базу данных о товарах:
наименование товара, фасовка, срок годности, стоимость.
Найдите товары с минимальной и максимальной ценой.
3.21 Создайте базу данных с таблицей игр чемпионата по футболу:
первая команда, вторая команда, счет игры.
Определите чемпиона.
3.22 Создайте базу данных о сотрудниках:
фамилия, имя, должность, оклад.
Сформируйте список сотрудников с окладом выше среднего по предприятию.
3.23 Создайте базу данных об итогах сессии по вашей группе:
фамилия, имя, предмет1(оценка1), предмет2(оценка2), предмет3(оценка3),
предмет4(оценка4)
Сформируйте список студентов сдавших сессию на 4 и 5 не менее чем по трем
предметам.
3.24 Создайте базу данных о металлах: наименование,
удельная проводимость, стоимость
Определите металлы с максимальной проводимостью и минимальной
стоимостью.
3.25 Создайте базу данных городского транспорта: название
транспорта, номер маршрута, список остановок
Определите, как добраться от остановки "Площадь Ленина" до остановки
"ГПНТБ" без пересадок.
4. Двоичные деревья и графы.
4.1 Найдите все вершины графа, к которым существует путь заданной
длины от выделенной вершины графа.
4.2 Найдите все вершины графа, достижимые из заданной.
4.3 Подсчитайте количество компонент связности заданного графа.
104

4.4 Найдите диаметр графа, т.е. максимум расстояний между
всевозможными парами его вершин.
4.5 Задан взвешенный граф. Постройте остовное дерево минимальной
стоимости.
4.6 Определите, является ли граф гамильтоновым. Найдите гамильтонов
цикл, т.е. цикл, проходящий через все вершины графа.
4.7 Задана система односторонних дорог. Найдите путь, соединяющий
города А1 и А2 и не проходящий через заданное множество городов.
4.8 В заданном графе определить все его четырехвершинные полные
подграфы.
4.9 Проверьте является ли граф свободным деревом. Свободное дерево -
это связный граф, не имеющий циклов.
4.10 Найдите глубину двоичного дерева. Глубина пустого дерева равна 0,
одноэлементного - 1.
4.11 Найдите самый длинный цикл в направленном графе.
4.12 Найдите максимальный элемент двоичного дерева.
4.13 Найдите минимальный элемент двоичного дерева.
4.14 Преобразовать двоичное дерево в двоичный справочник.
4.15 Найдите все вершины графа, к которым существует путь заданной
длины от выделенной вершины графа.
4.16 Найдите все вершины графа, достижимые из заданной.
4.17 Подсчитайте количество компонент связности заданного графа.
4.18 Найдите диаметр графа, т.е. максимум расстояний между
всевозможными парами его вершин.
4.19 Задан взвешенный граф. Постройте остовное дерево минимальной
стоимости.
4.20 Определите, является ли граф гамильтоновым. Найдите гамильтонов
цикл, т.е. цикл, проходящий через все вершины графа.
4.21 Задана система односторонних дорог. Найдите путь, соединяющий
города А1 и А2 и не проходящий через заданное множество городов.
4.22 В заданном графе определить все его четырехвершинные полные
подграфы.
4.23 Проверьте является ли граф свободным деревом. Свободное дерево -
это связный граф, не имеющий циклов.
4.24 Найдите самый длинный цикл в направленном графе.
4.25 Преобразовать двоичное дерево в двоичный справочник.
105

Рекомендуемая литература
1. Братко И. Программирование на языке ПРОЛОГ для искусственного
интеллекта. – М.: Мир, 1990.- 569 с.
2. Ин Ц., Соломон Д. Использование Турбо-Пролога. – М.: Мир, 1993. –
608 с.
3. Стерлинг Л., Шапиро Э. Искусство программирования на языке
ПРОЛОГ. – М.: Мир, 1990. – 235 с.
4. Хювенен Э., Сеппянен Й. Мир Лиспа. т.1. Введение в язык Лисп и
функциональное программирование. – М.: Мир, 1990. – 447 с.
5. Хювенен Э., Сеппянен Й. Мир Лиспа. т.2. Методы и системы
программирования. – М.: Мир, 1990. – 319 с.
106

Марина Юрьевна Галкина
Функциональное и логическое программирование
Методические указания
Редактор: Ситняковская Е.И.
Корректор:.....................
Подписано в печать..........
Формат бумаги 60 x 84/16, отпечатано на ризографе, шрифт № 10,
изд. л......,заказ №.....,тираж-150 экз., СибГУТИ.
630102, г. Новосибирск, ул. Кирова, 86.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
