Решить задачи по теме «Поиск и сортировка информации в базах данных».
1) На городской олимпиаде по программированию предлагались задачи трех типов: А, В и С. По итогам олимпиады была составлена таблица, в колонках которой указано, сколько задач каждого типа решил участник. Вот начало таблицы:
Фамилия |
А |
В |
С |
Иванов |
3 |
2 |
1 |
За правильное решение задачи типа А участнику начислялся 1 балл, за решение задачи типа В – 2 балла и за решение задачи типа С – 3 балла. Победитель определялся по сумме баллов, которая у всех участников оказалась разная. Для определения победителя олимпиады достаточно выполнить следующий запрос:
1) Отсортировать таблицу по возрастанию значения поля С и взять первую строку.
2) Отсортировать таблицу по убыванию значения поля С и взять первую строку.
3) Отсортировать таблицу по убыванию значения выражения А+2В+3С и взять первую строку.
4) Отсортировать таблицу по возрастанию значения выражения А+2В+3С и взять первую строку
Решение:
Сумма баллов, по которой определяется победитель рассчитывается по формуле:
1*A+2*B+3*C , где
A - количество задач типа "A" (значение поля "A" в таблице),
B - количество задач типа "B" (значение поля "B" в таблице),
C - количество задач типа "C" (значение поля "C" в таблице).
Формулу можно преобразовать к виду: A+2B+3C.
Чтобы найти победителя, необходимо произвести сортировку по значению, вычисленному по этой формуле.
Есть два запроса для получения победителя:
- Отсортировать таблицу по возрастанию значения выражения A+2B+3C и взять последнюю строку.
- Отсортировать таблицу по убыванию значения выражения A+2B+3C и взять первую строку.
В предложенных вариантах есть 2-й запрос. Это 3-й вариант.
Ответ: 3
2) Сколько записей в нижеследующем фрагменте турнирной таблицы удовлетворяют условию «Место <= 4 И (Н > 2 ИЛИ О > 6)»?
Место |
Участник |
В |
Н |
П |
О |
1 |
Силин |
5 |
3 |
1 |
6 ½ |
2 |
Клеменс |
6 |
0 |
3 |
6 |
3 |
Холево |
5 |
1 |
4 |
5 ½ |
4 |
Яшвили |
3 |
5 |
1 |
5 ½ |
5 |
Бергер |
3 |
3 |
3 |
4 ½ |
6 |
Численко |
3 |
2 |
4 |
4 |
Решение:
Сначала ищем записи, где "Место ≤4":
Место | Участник | В | Н | П | О |
---|---|---|---|---|---|
1 | Силин | 5 | 3 | 1 | 6 ½ |
2 | Клеменс | 6 | 0 | 3 | 6 |
3 | Холево | 5 | 1 | 4 | 5 ½ |
4 | Яшвили | 3 | 5 | 1 | 5 ½ |
5 | Бергер | 3 | 3 | 3 | 4 ½ |
6 | Численко | 3 | 2 | 4 | 4 |
Нашли 4 записи.
Теперь на полученные записи будем накладывать условие: "Н>2 ИЛИ О>6":
Место | Участник | В | Н | П | О |
---|---|---|---|---|---|
1 | Силин | 5 | 3 | 1 | 6 ½ |
2 | Клеменс | 6 | 0 | 3 | 6 |
3 | Холево | 5 | 1 | 4 | 5 ½ |
4 | Яшвили | 3 | 5 | 1 | 5 ½ |
Получили 2 записи.
Ответ: 2
3) Сколько записей в нижеследующем фрагменте турнирной таблицы удовлетворяют условию «Место <= 5 И (В > 4 ИЛИ MЗ > 12)» (символ <= означает «меньше или равно»)?
Место |
Команда |
В |
Н |
П |
О |
МЗ |
МП |
1 |
Боец |
5 |
3 |
1 |
18 |
9 |
5 |
2 |
Авангард |
6 |
0 |
3 |
18 |
13 |
7 |
3 |
Опушка |
4 |
1 |
4 |
16 |
13 |
7 |
4 |
Звезда |
3 |
6 |
0 |
15 |
5 |
2 |
5 |
Химик |
3 |
3 |
3 |
12 |
14 |
17 |
6 |
Пират |
3 |
2 |
4 |
11 |
13 |
7 |
Решение:
Сначала ищем записи, где "Место ≤5":
Место | Команда | В | Н | П | О | МЗ | МП |
---|---|---|---|---|---|---|---|
1 | Боец | 5 | 3 | 1 | 18 | 9 | 5 |
2 | Авангард | 6 | 0 | 3 | 18 | 13 | 7 |
3 | Опушка | 4 | 1 | 4 | 16 | 13 | 7 |
4 | Звезда | 3 | 6 | 0 | 15 | 5 | 2 |
5 | Химик | 3 | 3 | 3 | 12 | 14 | 17 |
6 | Пират | 3 | 2 | 4 | 11 | 13 | 7 |
Нашли 5 записей.
Теперь на полученные записи будем накладывать условие: "В>4 ИЛИ MЗ>12":
Место | Команда | В | Н | П | О | МЗ | МП |
---|---|---|---|---|---|---|---|
1 | Боец | 5 | 3 | 1 | 18 | 9 | 5 |
2 | Авангард | 6 | 0 | 3 | 18 | 13 | 7 |
3 | Опушка | 4 | 1 | 4 | 16 | 13 | 7 |
4 | Звезда | 3 | 6 | 0 | 15 | 5 | 2 |
5 | Химик | 3 | 3 | 3 | 12 | 14 | 17 |
Получили 4 записи.
Ответ: 4
4) Ниже в табличной форме представлен фрагмент базы данных:
№ |
Страна |
Столица |
Площадь, тыс. км2 |
Численность населения, тысяч чел. |
Часть света |
1. |
Бельгия |
Брюссель |
30,5 |
10 289 |
Европа |
2. |
Бурунди |
Бужумбура |
27,8 |
6 096 |
Африка |
3. |
Гаити |
Порт-о-Пренс |
27,8 |
7 528 |
Северная Америка |
4. |
Дания |
Копенгаген |
43,1 |
5 384 |
Европа |
5. |
Джибути |
Джибути |
22,0 |
0,457 |
Африка |
6. |
Доминиканская Республика |
Санто-Доминго |
48,7 |
8716 |
Северная Америка |
7. |
Израиль |
Тель-Авив |
20,8 |
6 116 |
Азия |
8. |
Коста-Рика |
Сан-Хосе |
51,1 |
3 896 |
Северная Америка |
9. |
Лесото |
Масеру |
30,4 |
1 862 |
Африка |
10. |
Македония |
Скопье |
25,3 |
2 063 |
Европа |
11. |
Руанда |
Кигали |
26,4 |
7810 |
Африка |
12. |
Сальвадор |
Сан-Сальвадор |
21,0 |
6 470 |
Северная Америка |
Сколько записей в данном фрагменте удовлетворяют условию:
((Площадь, тыс.км2 > 30) И (Численность населения, тысяч чел. > 5000)) И (Часть света = Европа)?
Решение:
Логическое "И" верно тогда и только тогда, когда истинны оба утверждения.
"Площадь, тыс.км2 > 30" верно для Бельгии, Дании, Доминиканской Республики, Коста-Рики и Лесото. Из них утверждение "Численность населения, тысяч чел. > 5000" удовлетворяют Бельгия, Дания и Доминиканская Республика. А из них утверждение "Часть света = Европа" верно только для Бельгии и Дании.
Ответ: 2.
5) На олимпиаде по английскому языку предлагались задания трех типов; А, В и С. Итоги олимпиады были оформлены в таблицу, в которой было отражено, сколько заданий каждого типа выполнил каждый участник, например:
Фамилия, имя участника |
А |
В |
С |
Быкова Елена |
3 |
1 |
1 |
Тихомиров Сергей |
3 |
2 |
1 |
За правильное выполнение задания типа А участнику начислялся 1 балл, за выполнение задания типа В – 3 балла и за С – 5 баллов. Победитель определялся по сумме набранных баллов. При этом у всех участников сумма баллов оказалась разная. Для определения победителя олимпиады достаточно выполнить следующий запрос:
1) Отсортировать таблицу по убыванию значения столбца С и взять первую строку.
2) Отсортировать таблицу по возрастанию значений выражения А + В + С и взять первую строку.
3) Отсортировать таблицу по убыванию значений выражения А + ЗВ + 5С и взять первую строку
4) Отсортировать табл.- <у по возрастанию значений выражения А + ЗВ + 5С и взять первую строку
Решение:
Так как победитель определялся по сумме набранных баллов, то сортировка по убыванию значения столбца С не даст нужных результатов.
Так как задание разного типа оцениваются различным количеством баллов, то сортировка таблицы по возрастанию значений выражения А+В+С тоже не даст нужных результатов.
Поскольку за правильное выполнение задания типа А участнику начислялся 1 балл, за выполнение задания типа В - 3 балла и за С - 5 баллов, необходимо осуществить сортировку таблицы по убыванию значений выражения А+3В+5С и взять первую строку.
Ответ: 3
6) Ниже в табличной форме представлен фрагмент базы данных:
№п/п |
Наименование товара |
Цена |
Количество |
Стоимость |
1 |
Монитор |
7654 |
20 |
153080 |
2 |
Клавиатура |
1340 |
26 |
34840 |
3 |
Мышь |
235 |
34 |
7990 |
4 |
Принтер |
3770 |
8 |
22620 |
5 |
Колонки акустические |
480 |
16 |
7680 |
6 |
Сканер планшетный |
2880 |
10 |
28800
|
На какой позиции окажется товар «Сканер планшетный», если произвести сортировку данной таблицы по возрастанию столбца «Количество»?
Решение:
Если произвести сортировку данной таблицы по возрастанию столбца "Количество", то товары будут
располагаться в следующем порядке: 4, 6, 5, 1, 2, 3. Таким образо, товар "Сканер планшетный" окажется на второй
позиции.
Ответ: 2.
7) Ниже в табличной форме представлен фрагмент базы данных:
|
Название пролива |
Длина (км) |
Ширина (км) |
Глубина (м) |
Местоположение |
1 |
Босфор |
30 |
0,7 |
20 |
Атлантический океан |
2 |
Магелланов |
575 |
2,2 |
29 |
Тихий океан |
3 |
Ормузский |
195 |
54 |
27 |
Индийский океан |
4 |
Гудзонов |
806 |
115 |
141 |
Северный Ледовитый океан |
5 |
Гибралтарский |
59 |
14 |
53 |
Атлантический океан |
6 |
Ла-Манш |
578 |
32 |
23 |
Атлантический океан |
7 |
Баб-эль-Мандебский |
109 |
26 |
31 |
Индийский океан |
8 |
Дарданеллы |
120 |
1,3 |
29 |
Атлантический океан |
9 |
Берингов |
96 |
86 |
36 |
Тихий океан |
Сколько записей в данном фрагменте удовлетворяют условию:
«(Ширина (км) > 50 ИЛИ Глубина (м) > 50) И (Местоположение = Атлантический океан)»?
Решение:
Высказывание "Ширина (км) > 50" истинно для записей 3, 4 и 9. Высказывание "Глубина (м) >50" истинно для записей 4 и 5. Высказывание "Местоположение = Атлантический океан" истинно для записей 1, 5, 6 и 8. Значит, высказывание "(Ширина (км) > 50 ИЛИ Глубина (м) > 50 И (Местоположение = Атлантический океан)" истинно для записи 5, т.е. для одной записи.
Ответ: 1.
8) Ниже в табличной форме представлен фрагмент базы данных по учащимся 10-х классов:
Фамилия |
Имя |
Пол |
Год рождения |
Рост(см) |
Вес (кг) |
Соколова |
Елена |
ж |
1990 |
165 |
51 |
Антипов |
Ярослав |
м |
1989 |
170 |
53 |
Дмитриева |
Елена |
ж |
1990 |
161 |
48 |
Коровин |
Дмитрий |
м |
1990 |
178 |
60 |
Зубарев |
Роман |
м |
1991 |
172 |
58 |
Полянко |
Яна |
ж |
1989 |
170 |
49
|
Сколько записей в данном фрагменте удовлетворяют условию: «(Имя = 'Елена') ИЛИ (Год рождения > 1989)»?
1) 5 2) 6 3) 3 4) 4
Решение:
Высказывание "Имя = 'Елена'" истинно для записей 1, и 3. Высказывание "Год рождения > 1989" истинно для записей 1, 3, 4 и 5. Значит, высказывание (Имя = 'Елена') ИЛИ (Год рождения > 1989)" истинно для записей 1, 3, 4 и 5, т.е. для четырех записей.
Ответ: 4.