Задание 3

3. Решите задачи по теме «Поиск и сортировка информации в базах данных».

Решите задачи по теме «Поиск и сортировка информации в базах данных».

 

  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.

Чтобы найти победителя, необходимо произвести сортировку по значению, вычисленному по этой формуле.

Есть два запроса для получения победителя:

  1. Отсортировать таблицу по возрастанию значения выражения A+2B+3C и взять последнюю строку.
  2. Отсортировать таблицу по убыванию значения выражения A+2B+3C и взять первую строку.

 

  1. Сколько записей в нижеследующем фрагменте турнирной таблицы удовлетворяют условию «Место <= 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

         

 

  1. 5
  2. 2
  3. 3
  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).

         

 

  1. Сколько записей в нижеследующем фрагменте турнирной таблицы удовлетворяют условию «Место <= 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

 

  1. 5
  2. 2
  3. 3
  4. 4

Решение:

Сначала ищем записи, где "Место ≤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).

             
               
               
               
               
               

 

  1. Ниже в табличной форме представлен фрагмент базы данных:

Страна

Столица

Площадь, тыс. км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)> 20 истинно для всех записей. Высказывание (Численность населения, тысяч чел. > 5000) истинно для записей 1,2,3,4,6,7,8,9,10,11,12.  Высказывание Часть света =Африка истинно для записей 2,5,9,11. Значит, высказывание  (Площадь, тыс. км2)> 20 и (Численность населения, тысяч чел. > 5000) и (часть света=Африка) истинно для записей 2,9,11, т.е. для трех записей.

 

  1. На олимпиаде по английскому языку предлагались задания трех типов; А, В и С. Итоги олимпиады были оформлены в таблицу, в которой было отражено, сколько заданий каждого типа выполнил каждый участник, например:

Фамилия, имя участника

А

В

С

Быкова Елена

3

1

1

Тихомиров Сергей

3

2

1

 

За правильное выполнение задания типа А участнику начислялся 1 балл, за выполнение задания типа В – 3 балла и за С – 5 баллов. Победитель определялся по сумме набранных баллов. При этом у всех участников сумма баллов оказалась разная. Для определения победителя олимпиады достаточно выполнить следующий запрос:

1) Отсортировать таблицу по убыванию значения столбца С и взять первую строку.

2) Отсортировать таблицу по возрастанию значений выражения А + В + С и взять первую строку.

3) Отсортировать таблицу по убыванию значений выражения А + ЗВ + 5С и взять первую строку

4) Отсортировать табл.- <у по возрастанию значений выражения А + ЗВ + 5С и взять первую строку

 

Решение:

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

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

Поскольку за правильное выполнение типа А участнику начислялся 1 балл, за выполнение задания типа В-3 балла и за С-5 баллов, необходимо осуществить сортировку таблицы по убыванию значений выражения А+3В+5С и взять первую строку.


 

  1. Ниже в табличной форме представлен фрагмент базы данных:

№п/п

Наименование товара

Цена

Количество

Стоимость

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. Таким образом, товар «Сканер планшетный» окажется на второй позиции.​