Задания для лабораторных работ

7.1 Задания для лабораторной работы на тему: работа со списками

Вариант №1

Написать программу вычисления номера элемента в списке.

Вариант №2

Написать программу замены всех вхождений элемента в список на заданную константу.

Вариант №3

Написать программу замены N-го элемента в списке на заданную константу.

Вариант №4

Написать программу удаления N-го элемента в списке.

Вариант №5

Написать программу удаления M элементов из списка, начиная с N-ой позиции.

Вариант №6

Написать программу объединения двух списков в третий так, чтобы нечетные (по номеру) элементы были из первого cписка, а четные - из второго.

Вариант №7

Написать программу разделения списка на два так, чтобы нечетные (по номеру) элементы были в первом cписке, а четные - во втором.

Вариант №8

Написать программу разделения списка на два так, чтобы в первом cписке были элементы с первого до N-го, а во втором - с N+1 до последнего.

Вариант №9

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

Вариант №10

Написать программу вставки заданного элемента в список на N-ую позицию.

Вариант №11

Написать программу замены элементов списка, номера которых заданы другим списком, на произвольную константу.

Вариант №12

Написать программу удаления из списка всех вхождений заданного элемента.

Вариант №13

Написать программу удаления элементов из списка, номера которых заданы другим списком.

Вариант №14

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

Вариант №15

Написать программу инвертирования списка.

Вариант №16

Написать программу вставки в список другого списка, начиная с N-ой позиции.

Вариант №17

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

Вариант №18

Написать программу замены m элементов списка, начиная с N-ой позиции, на произвольную константу.

Вариант №19

Написать программу подсчета количества вхождений элемента в список.

Вариант №20

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

Вариант №21

Написать программу вычисления числа элементов списка, после N-ой позиции.

Вариант №22

Написать программу замены всех четных (по номеру) элементов списка, на произвольную константу.

Вариант №23

Написать программу замены всех нечетных (по номеру) элементов списка, начиная с N-ой позиции, на произвольную константу.

Вариант №24

Написать программу вставки m раз в список произвольной константы, начиная с N-ой позиции.

Вариант №25

Написать программу создания нового списка, путем дублирования всех элементов исходного списка.

Вариант №26

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

Вариант №27

Написать программу разделения исходного списка на три части: с первого по N-ый элемент, с N+1 по M-ый и с M+1 элемента до конца списка.

Вариант №28

Написать программу удаления из исходного списка N элементов с конца списка.

Вариант №29

Написать программу замены на заданную константу N элементов исходного списка, считая с конца списка.

Вариант №30

Написать программу дописывания заданной константы N раз в конец списка.

7.2 Задания для лабораторной работы на тему: решение логических головоломок

Вариант №1

Три друга заняли первое, второе и третье места на школьной олимпиаде. Друзья учатся в разных классах (7, 8 и 9), зовут их по-разному, и они участвовали в олимпиадах по разным предметам. Алексей участвовал в олимпиаде по химии, и он выступил лучше, чем девятиклассник. Семиклассник Сергей выступил лучше участника олимпиады по физике. Участник олимпиады по математике занял первое место. Одного из них зовут Иван. Кто из них в каком классе учится, и кто, в какой олимпиаде участвовал?

Вариант №2

Трое хищников – волк, медведь и лиса пошли на охоту. У них разный возраст и они охотились на разную дичь. Медведь любит рыбу, и поймал дичи больше, чем тот, кому 2 года. Трехлетний волк поймал больше, чем любитель зайцев. Тот, кто любит кур, поймал больше всех. Одному из них 4 года. Определите, у кого какой возраст и кто какую дичь предпочитает.

Вариант №3

Три друга – Иван, Дмитрий и Степан преподают биологию, физику и химию в школах Москвы, Санкт-Петербурга и Киева. Иван – не в Москве, Дмитрий – не в Санкт-Петербурге. Москвич не преподаёт физику. Тот, кто живёт в Санкт-Петербурге, преподаёт химию. Дмитрий не преподаёт биологию. Кто, в каком городе живёт и что преподаёт?

Вариант №4

Три ученика – Коля, Миша и Андрей сидят в классе за партами первого ряда. У них разный цвет волос и они любят разные предметы. Миша любит физику и сидит ближе к классной доске, чем рыжий. Блондин Коля сидит ближе к классной доске, чем любитель литературы. Тот, кто любит математику, сидит за первой партой. Один из них брюнет. Определите, у кого какой цвет волос, и кто какой предмет предпочитает.

Вариант №5

Три друга заняли первое, второе и третье места в соревнованиях универсиады. Друзья разной национальности, зовут их по-разному, и любят они разные виды спорта. Майкл предпочитает баскетбол и играет лучше, чем американец. Израильтянин Саймон играет лучше теннисиста. Игрок в крикет занял первое место. Кто из них австралиец? Каким видом спорта увлекается Ричард?

Вариант №6

Кондратьев, Давыдов и Фёдоров живут на одной улице. Один из них - столяр, другой – маляр, третий – водопроводчик. У столяра самый большой дом из троих и у него нет автомобиля. Федорову нравится машина Кондратьева и его дом меньше, чем у маляра. Определите, кто чем занимается, у кого есть машина.

Вариант №7

Браун, Гриффит, Клеменс и Грин - четверо студентов университетов разных стран приехали на международный фестиваль молодёжи и студентов. Один из них – канадец, второй – американец, третий – англичанин, четвёртый – австралиец. Браун и Клеменс были на концерте, в котором принимал участие их знакомый англичанин. Гриффит и австралиец знакомы, так как пели дуэтом под аккомпанемент их знакомого американца. Австралиец пригласил к себе в гости своего знакомого Грина и собирается пригласить своего знакомого Брауна. Определите национальности студентов.

Вариант №8

В одном театре работают четыре актёра: Смирнов, Снегов, Морев и Никитин. Один из них играет роль Отелло, другой – короля Лира, третий – Ромео, четвёртый – Гамлета. Смирнов – не Отелло и не Гамлет. Морев – не Ромео и не Отелло. Никитин – не Гамлет, не Отелло. Снегов не играет ни Гамлета, ни Ромео. Если Морев играет Гамлета, то Смирнов не играет короля Лира. Кто из актёров кого играет?

Вариант №9

Пол, Джон и Джордж – три музыканта. Один из них – гитарист, другой – ударник, третий – пианист. Каждый из них выступает в составе одной из рок-групп - «Ромашка», «Василёк» или «Колокольчик». Тот, кто выступает в составе «Ромашки», не гитарист. Джон выступает в составе не «Василька». Пол – выступает в составе не «Ромашки». Ударник выступает в составе рок-группы «Василёк». Джон не пианист. На каком инструменте играет каждый из трёх музыкантов, и в составе какой рок-группы выступает?

Вариант №10

Лена, Коля, Марина и Саша работают на одном предприятии конструктором, технологом, экономистом и дизайнером. Лена и Марина учились вместе с экономистом. Коля и дизайнер в обеденный перерыв часто играют в теннис с технологом. Дизайнер постоянно сталкивается по работе с Леной и иногда с Сашей. Кто кем работает?

Вариант №11

Трое мальчиков Костя, Фома и Марат дружили с тремя девочками – Женей, Светой и Мариной. Но вскоре компания разделилась на пары, потому что оказалось, что Света ненавидит ходить на лыжах. Костя, Женин брат, часто катается со своей подружкой на лыжах. А Фома бежит на свидание к Костиной сестре. С кем же проводит время Марат?

Вариант №12

В комнате женского общежития живут четыре девушки: Мира, Мона, Мод и Мэри. Как-то раз они собрались все вместе, причём каждая занималась своим делом. Одна делала маникюр, другая – расчёсывала волосы, третья – прихорашивалась перед зеркалом, а четвёртая – читала. Точно о них известно следующее: Мира не делала маникюр и не читала. Мод не прихорашивалась перед зеркалом и не делала маникюр. Мэри не читала и не занималась маникюром. Мона не читала и не прихорашивалась перед зеркалом. Если Мод читала, то Мэри прихорашивалась перед зеркалом. Кто из девушек делала маникюр, кто расчёсывала волосы, кто прихорашивалась перед зеркалом, а кто читала?

Вариант №13

«Динамо», «Торпедо» и «Спартак» - команды-участники розыгрыша кубка по футболу из Челябинска, Краснодара и Самары. Команда из Челябинска забила меньше всех мячей. «Динамо» забила мячей больше, чем команда из Краснодара, а «Торпедо» меньше «Спартака». За какие города выступают названные команды?

Вариант №14

В одном купе поезда ехали три пассажира – мистер Джонс, мистер Смит и мистер Робинсон. Один из них житель Чикаго, другой живёт в Детройте, третий – в Окленде. За разговорами выяснилось, что мистер Джонс из Чикаго старше, чем тот, у кого нет детей. Житель Детройта самый старый. Мистер Смит, у которого двое детей, старше, чем житель Окленда. У одного из них только один ребенок. Определите, кто из какого города и у кого сколько детей.

Вариант №15

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

Вариант №16

Петров, Семёнов и Арбузов – пилот, штурман и бортинженер. Один из них летает на самолёте ТУ-134, другой на АН-24, третий на ИЛ-76. Тот, кто летает на ТУ-134, не штурман. Семёнов работает не на АН-24. Петров – не на ТУ-134. Бортинженер летает на АН-24. Семёнов не пилот. У кого какая профессия, и какой самолёт?

Вариант №17

Андреев, Борисов и Николаев – поэт, композитор и художник. У поэта нет бороды, и он зарабатывает меньше всех. Андреев считает, что Николаеву очень идет борода. Андреев зарабатывает больше композитора. Определите, кто является поэтом, кто композитором, кто художником и у кого есть борода.

Вариант №18

За столиком в кафе познакомились три девушки: Алёна, Светлана и Марианна. Одна из них работает парикмахером в Салоне красоты, другая – модельером в Доме Мод, третья – медсестрой в санатории. Также выяснилось, что парикмахер – самая молодая из троих, Марианна старше модельера, а Светлана младше Алёны. Определите профессии девушек.

Вариант №19

В одном институте учатся три друга – Липатов, Кондратьев и Зайцев. Один из них будущий физик, второй – математик, третий – программист. У физика нет ни братьев, ни сестёр. Он самый младший из друзей. Зайцеву нравится сестра Липатова, и он старше математика. Определите будущие профессии друзей.

Вариант №20

У Васи, Вани, Славы и Вовы живут дома собака, кошка, морская свинка и попугай. Вася и Слава знакомы с хозяином кошки. Ваня и хозяин собаки часто ходят в кино с хозяином попугая. Хозяин собаки постоянно встречается в школе с Васей и иногда с Вовой. У кого какое животное?

Вариант №21

Трое коллег – Костя, Митя и Артем пошли в ресторан. У них разное семейное положение и они любят разные блюда. Митя любит рыбу и получает больше, чем тот, кто холостой. Разведенный Костя получает больше, чем любитель пельменей. Тот, кто любит плов, получает больше всех. Один из них женат. Определите, у кого какое семейное положение, и кто какое блюдо предпочитает.

Вариант №22

В книжный магазин пришли четыре подруги: Соколова, Ястребова, Орлова и Голубева. Одна из них искала книгу «Поющие в терновнике», другая – «Финансиста», третья – «Охоту на овец», четвёртая – «Заводной апельсин». Соколова не искала книги «Поющие в терновнике» и «Заводной апельсин». Орлова – не искала книги «Охота на овец» и «Поющие в терновнике». Голубева не искала книги «Заводной апельсин» и «Поющие в терновнике». Если Ястребова искала книгу «Поющие в терновнике», то Голубева искала книгу «Финансист». Ястребова не искала книги «Заводной апельсин» и «Охота на овец». Какая девушка, какую книгу искала?

Вариант №23

Боб, Джек и Рональд часто ходят в кино. Они любят разные жанры и предпочитают разные кинотеатры. Джек любит комедии и садится ближе, чем тот, кто ходит в кинотеатр «Звезда». Боб ходит в кинотеатр «Самара» и сидит ближе, чем любитель триллеров. Тот, кто любит боевики, сидит к экрану ближе всех. Один из друзей ходит в кинотеатр «Огонек». Определите, кто какой жанр любит, и в какой кинотеатр предпочитает ходить.

Вариант №24

Кукушкина, Петухова и Галкина – модельер, менеджер и страховой агент. Одна из них водит форд, другая рено, третья ауди. Тот, кто ездит на форде, не менеджер. Петухова ездит не на рено. Кукушкина – не на форде. Страховой агент ездит на рено. Петухова не модельер. У кого какая профессия, и какой автомобиль?

Вариант №25

Три семейные пары– Ивановы, Петровы и Сидоровы купили путевки за 2000$, 3000$ и 5000$ в Турцию, Италию и Испанию. Ивановы поехали не в Турцию, Петровы – не в Италию. Те, кто поехали в Турцию, не платили за путевку 5000$. Те, кто поехали в Италию, заплатили 3000$. Петровы не платили за путевку 2000$. Кто в какой стране отдыхал и кто сколько заплатил за путевку?

Вариант №26

«Тройка» думает, что «Туз» не в своём уме. «Четвёрка» думает, что «Тройка» и «Двойка» обе не могут быть не в своём уме. «Пятёрка» думает, что «Туз» и «Четвёрка» либо оба не в своём уме, либо оба в своём уме. «Шестёрка» думает, что «Туз» и «Двойка» оба в своём уме. «Семёрка» думает, что «Пятёрка» не в своём уме. «Валет» думает, что «Шестёрка» и «Семёрка» обе не могут быть не в своём уме. В своём ли уме «Валет»?

Вариант №27

Король думает, что королева думает, что она не в своём уме. В своём ли уме король?

Вариант №28

Антон, Максим и Дима учатся в художественной школе. Каждый ученик художественной школы рисует или портреты, или пейзажи, или натюрморты и у каждого ученика один любимый художник - И.Репин, И.Шишкин или А.Рублёв. Антон рисует портреты и учится лучше, чем тот, кто любит И.Репина. Максим любит И.Шишкина и учится лучше, чем тот, кто рисует пейзажи. Тот, кто рисует натюрморты, учится лучше всех. Определите, кто из учеников художественной школы, что рисует и у кого какой любимый художник.

Вариант №29

На экскурсию в Эрмитаж приехали трое туристов – Кузнецов, Смирнов и Попов. Один из них из Казани, другой – из Самары, третий – из Москвы. Выяснилось, что житель Казани купил билет самым первым из троих. Кузнецов из Самары купил билет раньше, чем тот, кто живет в гостинице №1. Смирнов, живущий в гостинице №2, купил билет раньше, чем москвич. Один из них живет в гостинице №3.

Определите, кто из какого города, и кто в какой гостинице живет.

Вариант №30

Тони, Майкл и Джон – спортсмены. Один из них боксер, второй футболист, третий – пловец. Один из них любит снег, второй любит дождь, третий любит солнечную погоду. Тот, кто любит солнечную погоду, не боксер. Тони не любит снег. Майкл – не любит солнечную погоду. Футболист любит снег. Тони не пловец. У кого какая любимая погода и кто каким спортом занимается?

7.3 Задания для лабораторной работы на тему: получение структурированной информации из базы данных.

Текст задания.

1. Создать базу данных о заданной предметной области в виде множества фактов языка Пролог (не менее 5 фактов). Информацию о каждом компоненте БД представить в виде структуры.

2. Разработать набор предикатов, осуществляющих взаимодействие с БД, при помощи которых можно реализовать все типы запросов, приведенные в варианте задания. Найденные решения записать в виде фактов внутренней базы данных Пролога.

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

Вариант №1.

Предметная область – семья. Каждая семья может быть описана структурой из трех компонент: мужа, жены и детей. Каждый член семьи может быть описан структурой: имя, отчество, фамилия, год рождения, пол, ежемесячный доход. Для детей добавить поле «близнец».

Реализовать следующие типы запросов:

1. Проверить, существует ли в БД заданный человек (по ФИО);

2. Найти всех работающих детей;

3. Найти всех работающих мужей, чей доход больше чем у жены;

4. Найти всех людей, которые не работают и родились до указанного года;

5. Найти число семей, у которых есть близнецы.

Вариант №2.

Предметная область – семья. Каждая семья может быть описана структурой из трех компонент: мужа, жены и детей. Каждый член семьи может быть описан структурой: имя, отчество, фамилия, год рождения, пол, ежемесячный доход. Для детей добавить поле «близнец».

Реализовать следующие типы запросов:

1. Найти всех близнецов;

2. Найти всех детей, родившихся в заданном году;

3. Найти всех работающих жен, чей доход больше заданной суммы;

4. Найти фамилии людей, у которых есть заданное число детей.

5. Найти самого старшего ребенка в БД.

Вариант №3.

Предметная область – семья. Каждая семья может быть описана структурой из трех компонент: мужа, жены и детей. Каждый член семьи может быть описан структурой: имя, отчество, фамилия, год рождения, пол, ежемесячный доход. Для детей добавить поле «близнец».

Реализовать следующие типы запросов:

1. Найти всех людей, чей доход меньше заданного;

2. Найти всех детей, младше заданного возраста;

3. Найти всех неработающих жен, которые родились позже заданного года;

4. Найти всех детей, у которых разница в возрасте родителей превышает заданную величину;

5. Подсчитать количество семей, у которых нет близнецов.

Вариант №4.

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

Реализовать следующие типы запросов:

1. Найти автора, у которого книга имеет самый ранний год издания;

2. Найти все книги, изданные более одного раза (проверка по номеру издания);

3. Найти все книги, изданные в заданном издательстве за последние десять лет;

4. Найти все книги заданного автора;

5. Найти все книги, цена которых превышает заданную сумму.

Вариант №5.

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

Реализовать следующие типы запросов:

1. Найти книгу, у которой минимальная цена;

2. Найти все книги, изданные только один раз (проверка по номеру издания);

3. Найти всех авторов, родившихся позже указанного года;

4. Найти все издательства, в которых была издана указанная книга;

5. Найти все книги, количество страниц в которых не превышает заданного значения.

Вариант №6.

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

Реализовать следующие типы запросов:

1. Найти книгу, у которой максимальное число страниц;

2. Найти все книги, изданные в заданном издательстве;

3. Найти всех авторов, книги которых имеют цену, находящуюся в заданном диапазоне;

4. Найти все книги, которые имеются в нескольких экземплярах;

5. Найти все издательства, выпускавшие книги после указанного года.

Вариант №7.

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

Реализовать следующие типы запросов:

1. Найти страну, у которой максимальная численность населения;

2. Найти все страны, находящиеся на указанном материке с населением больше заданной величины;

3. Найти все страны, у которых однородный национальный состав (численность основной национальности более 90%);

4. Найти все страны, имеющие выход к указанному морю;

5. Найти все страны с указанным государственным языком.

Вариант №8.

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

Реализовать следующие типы запросов:

1. Найти страну, которую омывает больше всего морей;

2. Найти все страны, на территории которых находится указанный горный хребет;

3. Найти все страны, у которых число национальностей превышает заданную величину;

4. Найти все горные хребты, находящиеся на территории указанной страны;

5. Найти все страны, у которых численность населения меньше заданной величины.

Вариант №9.

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

Реализовать следующие типы запросов:

1. Найти страну, у которой максимальная плотность населения;

2. Найти все моря, которые омывают территорию указанной страны;

3. Найти страну, у которой численность ни одной из национальностей не превышает 50%;

4. Найти все страны, имеющие выход к указанному океану;

5. Найти все страны, у которых название части света совпадает с названием материка.

Вариант №10.

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

Реализовать следующие типы запросов:

1. Найти должность, для которой существует максимальное число соискателей;

2. Найти все должности для мужчин, с высшим образованием и свободно владеющих иностранным языком;

3. Найти все предприятия, предлагающие доход выше указанного уровня;

4. Найти всех соискателей, умеющих работать на ПК, и имеющих стаж работы более 5 лет;

5. Найти предприятия, у которых есть заданная вакансия.

Вариант №11.

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

Реализовать следующие типы запросов:

1. Найти всех соискателей, которые соответствуют требованиям по заданной должности;

2. Подсчитать количество соискателей, имеющих высшее образование;

3. Найти все должности для соискателей, указанной специальности;

4. Найти все должности для мужчин с ежемесячным доходом выше указанного значения;

5. Найти все должности, для которых не требуется высшего образования.

Вариант №12.

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

Реализовать следующие типы запросов:

1. Найти должность, у которой минимальный ежемесячный доход;

2. Найти все должности для мужчин, с указанным уровнем образования, владеющих хотя бы одним иностранным языком;

3. Найти предприятия, для вакансий которых нет соискателей;

4. Найти все должности для женщин, не старше указанного возраста;

5. Найти все должности, для которых требуется знание иностранного языка.

Вариант №13.

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

Реализовать следующие типы запросов:

1. Подсчитать количество клиентов в БД;

2. Найти всех клиентов, с указанным уровнем образования, имеющих жилую площадь, без вредных привычек;

3. Найти всех возможных партнеров с указанной национальностью;

4. Найти всех клиентов, которым необходим партнер, не старше указанного возраста и не имеющий детей;

5. Найти клиента, которому требуется самый молодой партнер.

Вариант №14.

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

Реализовать следующие типы запросов:

1. Найти всех клиентов, для которых требования к партнеру совпадают с характеристикой партнера;

2. Найти всех партнеров указанного клиента, у которых есть дети;

3. Найти всех клиентов с заданным уровнем дохода и младше указанного возраста;

4. Найти самого старого клиента службы знакомств;

5. Найти всех клиентов, у которых нет жилой площади и есть вредные привычки.

Вариант №15.

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

Реализовать следующие типы запросов:

1. Найти самого молодого возможного партнера в БД;

2. Найти клиента, у которого нет возможных партнеров;

3. Найти всех клиентов указанной национальности, не старше указанного возраста;

4. Найти всех партнеров указанного клиента без вредных привычек;

5. Найти всех клиентов, у которых нет детей, и которым подходит партнер, имеющий детей.

Вариант №16.

Предметная область – спортивные соревнования. Каждое соревнование может быть описано структурой: ранг соревнований, вид спорта, год проведения, страна проведения, список команд - участников. Команды - участники могут быть описаны следующей структурой: название команды, страна, результаты соревнований. Результаты соревнований могут быть описаны списком структур: название команды – соперника, страна, тип результата (выигрыш, проигрыш, ничья).

Реализовать следующие типы запросов:

1. Найти ранг соревнования, в котором участвовало минимальное число команд, в заданном году и в заданном виде спорта;

2. Найти все команды указанного ранга соревнований и года проведения, у которых не было ни одного проигрыша;

3. Найти всех соперников указанной команды в соревнованиях заданного ранга в заданном году;

4. Найти вид спорта, в котором проводились соревнования в заданном году;

5. Найти все команды указанной страны, участвовавшие в соревнованиях заданного ранга.

Вариант №17.

Предметная область – спортивные соревнования. Каждое соревнование может быть описано структурой: ранг соревнований, вид спорта, год проведения, страна проведения, список команд - участников. Команды - участники могут быть описаны следующей структурой: название команды, страна, результаты соревнований. Результаты соревнований могут быть описаны списком структур: название команды – соперника, страна, тип результата (выигрыш, проигрыш, ничья).

Реализовать следующие типы запросов:

1. Найти вид спорта, в котором участвовало максимальное число команд, в заданном году и в заданном ранге соревнований;

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

3. Найти всех соперников указанной команды в соревнованиях определенного ранга в заданном году;

4. Найти все соревнования, проводившиеся в заданном году;

5. Найти все команды, у которых были ничьи.

Вариант №18.

Предметная область – спортивные соревнования. Каждое соревнование может быть описано структурой: ранг соревнований, вид спорта, год проведения, страна проведения, список команд - участников. Команды - участники могут быть описаны следующей структурой: название команды, страна, результаты соревнований. Результаты соревнований могут быть описаны списком структур: название команды – соперника, страна, тип результата (выигрыш, проигрыш, ничья).

Реализовать следующие типы запросов:

1. Найти год, в который участвовало максимальное число команд, в заданном виде спорта и в заданном ранге соревнований;

2. Найти вид спорта, в котором выступает заданная команда;

3. Найти все команды, которые участвовали в Олимпийских играх по определенному виду спорта;

4. Найти все команды, участвовавшие в соревнованиях в заданном году;

5. Найти все команды определенной страны, у которых были выигрыши.

Вариант №19.

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

Реализовать следующие типы запросов:

1. Найти фильм, получивший больше всего премий;

2. Подсчитать число фильмов указанного режиссера;

3. Найти всех режиссеров, фильмы которых создавались на заданной киностудии;

4. Найти все фильмы, определенного актера за указанный период времени;

5. Найти всех сценаристов, в фильмах которых снимался определенный актер.

Вариант №20.

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

Реализовать следующие типы запросов:

1. Найти сценариста, в фильме которого снялось минимальное число актеров;

2. Найти режиссеров и сценаристов, у которых есть фильмы, получившие премии;

3. Найти все фильмы указанного режиссера, снятого на определенной киностудии;

4. Найти всех исполнителей главных ролей указанного фильма;

5. Найти все киностудии, которые работали с указанным режиссером.

Вариант №21.

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

Реализовать следующие типы запросов:

1. Найти режиссера, у которого фильм получил максимальное число премий;

2. Найти все фильмы, получившие премии, в которых снимался указанный актер;

3. Найти все фильмы определенного сценариста, снятые в указанном году.

4. Найти количество актеров, снимавшихся на определенной киностудии;

5. Найти всех актеров, снимавшихся в фильмах определенного сценариста.

Вариант №22.

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

Реализовать следующие типы запросов:

1. Подсчитать число групп определенной специальности;

2. Найти оценку определенного студента по заданному предмету;

3. Найти группу, которая сдала больше всего предметов в сессию;

4. Найти всех студентов, имеющих задолженности;

5. Подсчитать число студентов, обучающихся на военной кафедре.

Вариант №23.

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

Реализовать следующие типы запросов:

1. Подсчитать общее число студентов на указанном факультете;

2. Найти группу, у которой больше всего отличников;

3. Найти все предметы, которые изучала определенная группа;

4. Найти всех студентов, не обучающихся на военной кафедре;

5. Найти все группы, изучавшие определенный предмет.

Вариант №24.

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

Реализовать следующие типы запросов:

1. Подсчитать средний балл сессии по указанной группе;

2. Найти группу, в которой минимальное число студентов;

3. Найти все предметы в указанной группе, по которым сдавался экзамен;

4. Найти код специальности указанной группы;

5. Найти всех студентов, обучающихся на военной кафедре.

Вариант №25.

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

Реализовать следующие типы запросов:

1. Найти марку автомобиля, которую продает больше всего фирм;

2. Подсчитать число стран, в которых продаются автомобили заданной марки;

3. Найти все фирмы, продающие автомобили заданной марки;

4. Найти все модели автомобилей, цена которых ниже заданной;

5. Найти все фирмы, которые продают автомобили заданной модели.

Вариант №26.

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

Реализовать следующие типы запросов:

1. Найти марку и модель автомобиля, у которой минимальная цена;

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

3. Найти все страны-изготовителя, выпускающие автомобили заданной марки;

4. Найти все марки автомобилей, продающиеся в заданной стране;

5. Найти все фирмы, которые продают автомобили заданной расцветки.

Вариант №27.

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

Реализовать следующие типы запросов:

1. Найти марку и модель автомобиля, у которой максимальное число расцветок;

2. Подсчитать число фирм, в которых продаются автомобили заданной марки;

3. Найти все фирмы, продающие автомобили в заданной стране;

4. Найти все марки автомобилей, выпускающиеся в заданной стране;

5. Найти все фирмы, которые продают автомобили заданной цены.

Вариант №28.

Предметная область – расписание движения самолетов. Каждый рейс может быть описан структурой: название авиакомпании, номер рейса, пункт отлета, пункт прилета, время отлета, время прилета, список пунктов промежуточных посадок, список тарифов. Тариф может быть описан структурой: тип класса салона, цена.

Реализовать следующие типы запросов:

1. Найти авиакомпанию, у которой максимальная стоимость билета по заданному маршруту;

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

3. Найти все номера рейсов, улетающих до указанного времени;

4. Найти все авиакомпании, самолеты которых летают из указанного города;

5. Найти все рейсы, на которые есть билеты эконом класса.

Вариант №29.

Предметная область – расписание движения самолетов. Каждый рейс может быть описан структурой: название авиакомпании, номер рейса, пункт отлета, пункт прилета, время отлета, время прилета, список пунктов промежуточных посадок, список тарифов. Тариф может быть описан структурой: тип класса салона, цена.

Реализовать следующие типы запросов:

1. Найти авиакомпанию, у которой минимальная продолжительность полета по заданному маршруту;

2. Подсчитать число рейсов, совершающих промежуточную посадку в заданном пункте;

3. Найти все авиакомпании, у которых есть билеты бизнес класса;

4. Найти все рейсы, прилетающие в указанный пункт до заданного времени;

5. Найти все рейсы, летающие по заданному маршруту.

Вариант №30.

Предметная область – расписание движения самолетов. Каждый рейс может быть описан структурой: название авиакомпании, номер рейса, пункт отлета, пункт прилета, время отлета, время прилета, список пунктов промежуточных посадок, список тарифов. Тариф может быть описан структурой: тип класса салона, цена.

Реализовать следующие типы запросов:

1. Найти авиакомпанию, у которой максимальное число тарифов на заданный маршрут;

2. Подсчитать число рейсов, улетающих из заданного города до указанного времени;

3. Найти все авиакомпании, у которых есть билеты класса люкс;

4. Найти все рейсы, у которых цена билета ниже заданной;

5. Найти все авиакомпании, у которых время полета меньше заданного.

7.4 Задания для лабораторной работы на тему: решение задачи.

Вариант №1

Решение задачи коммивояжера: задан перечень городов и заданы стоимости проезда между ними.

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

задания для лабораторных работ - student2.ru

Вариант №2

Решение задачи о рюкзаке: пусть An - объем предмета, Bn - стоимость предмета, объем рюкзака - V, n – число имеющихся предметов, m – число предметов, уложенных в рюкзак.

Требуется заполнить рюкзак так, чтобы:

задания для лабораторных работ - student2.ru

Вариант №3

Решение задачи о кратчайшем связывающем дереве: пусть заданы все расстояния aij - между i-м и j-м городом на карте.

Требуется построить систему дорог между городами так, чтобы суммарная длина дорог Lsum ® min ииз любого города можно было бы попасть в любой другой город.

Вариант №4

Решение задачи о разбиении множеств.

Требуется разделить множество A={A1, A2, ...An} на два подмножества B и C таким образом, чтобы:

B= задания для лабораторных работ - student2.ru

C= задания для лабораторных работ - student2.ru ,

где m+l=n и BÇC=0, A=BÈC .

Требуется найти такой вариант, когда задания для лабораторных работ - student2.ru .

задания для лабораторных работ - student2.ru

Наши рекомендации