A13 (базовый уровень, время – 4 мин)




Тема: Поиск и сортировка информации в базах данных.

Что нужно знать:

· при составлении условия отбора можно использовать знаки отношений <, <= (меньше или равно), >, >= (больше или равно), = (равно), <> (не равно)

· последовательность выполнения логических операций в сложных запросах: сначала выполняются отношения, затем – «И», потом – «ИЛИ»

· для изменения порядка выполнения операции используют скобки

Пример задания:

Результаты тестирования представлены в таблице:

Фамилия Пол Математика Русский язык Химия Информатика Биология
Аганян ж          
Воронин м          
Григорчук м          
Роднина ж          
Сергеенко ж          
Черепанова ж          

Сколько записей в ней удовлетворяют условию « Пол =’ж’ ИЛИ Химия > Биология »?

1) 5 2) 2 3) 3 4) 4

Решение:

1) заданное сложное условие отбора состоит из двух простых

У1: Пол =’ж’

У2: Химия > Биология

которые связаны с помощью логической операции «ИЛИ»

2) заметим, что столбцы «Фамилия», «Математика», «Русский язык» и «Информатика» никак не влияют на результат; уберем их из таблицы и добавим два новых столбца, в которых будем отмечать, выполняются ли условия У1 и У2 для каждой строчки

Пол Химия Биология Пол =’ж’ Химия > Биология
ж     +  
м       +
м        
ж     +  
ж     + +
ж     + +

3) логическая операция «ИЛИ» означает выполнение хотя бы одного из двух условия (или обоих одновременно), поэтому заданному сложному условию удовлетворяют все строки, где есть хотя бы один плюс; таких строк пять, они выделены зеленым фоном:

Пол Химия Биология Пол =’ж’ Химия > Биология
ж     +  
м       +
м        
ж     +  
ж     + +
ж     + +

4) таким образом, правильный ответ – 1.

Возможные ловушки и проблемы: · можно перепутать действие операций «И» и «ИЛИ» (неверный ответ 2) · можно перепутать порядок выполнения операций «И» и «ИЛИ», если они обе используются в сложном условии · помните, что в бланк нужно вписать не количество записей, удовлетворяющих условию, а номер ответа из предложенных

Еще пример задания:

Из правил соревнования по тяжелой атлетике: Тяжелая атлетика – это прямое соревнование, когда каждый атлет имеет три попытки в рывке и три попытки в толчке. Самый тяжелый вес поднятой штанги в каждом упражнении суммируется в общем зачете. Если спортсмен потерпел неудачу во всех трех попытках в рывке, он может продолжить соревнование в толчке, но уже не сможет занять какое-либо место по сумме 2-х упражнений. Если два спортсмена заканчивают состязание с одинаковым итоговым результатом, высшее место присуждается спортсмену с меньшим весом. Если же вес спортсменов одинаков, преимущество отдается тому, кто первым поднял победный вес. Таблица результатов соревнований по тяжелой атлетике:

Фамилия И.О. Вес спортсмена Взято в рывке Рывок с попытки Взято в толчке Толчок с попытки
Айвазян Г.С. 77,1 150,0 3 200,0 2
Викторов М.П. 79,1 147,5 1 202,5 1
Гордезиани Б.Ш. 78,2 147,5 2 200,0 1
Михальчук М.С. 78,2 147,5 2 202,5 3
Пай С.В. 79,5 150,0 1 200,0 1
Шапсугов М.Х. 77,1 147,5 1 200,0 1

Кто победил в общем зачете (по сумме двух упражнений)?

1) Айвазян Г.С. 2) Викторов М.П. 3) Михальчук М.С. 4) Пай С.В.

Решение:

1) основная сложность этой задачи (особенно для тех, кто не увлекается тяжелой атлетикой) состоит в том, что бы внимательно прочитать и понять достаточно запутанные условия соревнований

2) можно убрать из таблицы всех участников, кроме тех, которые упомянуты в ответах

3) в условии читаем первое правило для определения победителя: «Самый тяжелый вес поднятой штанги в каждом упражнении суммируется в общем зачете », поэтому добавим в таблицу столбец «Общий зачет», в котором для каждого спортсмена сложим веса, взятые в рывке и в толчке

Фамилия И.О. Вес спортсмена Взято в рывке Рывок с попытки Взято в толчке Толчок с попытки Общий зачет
Айвазян Г.С. 77,1 150,0 3 200,0 2 350,0
Викторов М.П. 79,1 147,5 1 202,5 1 350,0
Михальчук М.С. 78,2 147,5 2 202,5 3 350,0
Пай С.В. 79,5 150,0 1 200,0 1 350,0

4) все интересующие нас участники набрали одинаковый результат, поэтому по этому критерию выявить победителя не удалось; читаем далее: «Если два спортсмена заканчивают состязание с одинаковым итоговым результатом, высшее место присуждается спортсмену с меньшим весом »; отсюда сразу следует, что победитель – Айвазян Г.С., поскольку его вес – наименьший среди всех участников

5) таким образом, правильный ответ – 1.

Возможные ловушки и проблемы: · длинное и запутанное условие, которое нужно формализовать · можно перепутать порядок применения условий; например, если сначала учесть количество попыток, то победителем будет Викторов · лишняя информация, которая не влияет на решение задачи, но осложняет восприятие длинного условия и выделение действительно значимой информации

Еще пример задания:

В таблице представлены несколько записей из базы данных «Расписание»:

Учитель День_недели Номер_урока Класс
1 Айвазян Г.С. понедельник 3
2 Айвазян Г.С. понедельник 4
3 Айвазян Г.С. вторник 2 10Б
4 Михальчук М.С. вторник 2
5 Пай С.В. вторник 3 10Б
6 Пай С.В. среда 5

Укажите номера записей, которые удовлетворяют условию
Номер_урока > 2 И Класс > '8А'

1) 1, 6 2) 2, 6 3) 2, 5, 6 4) 1, 2, 5, 6

Решение:

1) уберем из таблицы всю лишнюю информацию, оставив только номер записи, номер урока и класс:

Номер_урока Класс
1 3
2 4
3 2 10Б
4 2
5 3 10Б
6 5

2) логическая связка И означает одновременное выполнение двух условий; оставим в таблице только те строки, для которых выполняется первое из двух условий, Номер_урока > 2

Номер_урока Класс
1 3
2 4
5 3 10Б
6 5

3) теперь нужно из оставшихся строк отобрать те, для которых Класс > '8А'; на взгляд «нормального» человека, этому условию удовлетворяют последние 3 строчки, однако это неправильный ответ

4) дело в том, что в данном случае поле Класс имеет тип «символьная строка», поэтому сравнение будет Класс > '8А' выполняться по кодам символов, начиная с первого

5) цифры во всех кодовых таблицах располагаются последовательно, одна за другой, от 0 до 9

6) поэтому код цифры «1» меньше, чем код цифры «8», и строка 5 не удовлетворяет условию Класс > '8А'

7) к счастью, русские буквы А и Б во всех кодовых таблицах расположены друг за другом[1], поэтому сравнение пройдет «нормально», условие Класс > '8А' для записи № 6 будет истинно

6) в результате после применения условия Класс > '8А' остаются две записи

Номер_урока Класс
2 4
6 5

7) таким образом, правильный ответ – 2.

Возможные ловушки и проблемы: · помните, что символьные строки сравниваются по кодам символов · цифры в таблице кодов стоят подряд от 0 до 9 (коды 48-57) · в кодировке Windows русские буквы стоят по алфавиту

 

Еще пример задания:

База данных о торговых операциях дистрибутора состоит из трех связанных таблиц. Ниже даны фрагменты этих таблиц.

Таблица зарегистрированных дилеров

Наименование организации ID дилера Регион Адрес
ООО «Вектор» D01 Башкортостан г. Уфа, ул. Школьная, 15
АО «Луч» D02 Татарстан г. Казань, ул. Прямая, 17
АОЗТ «Прямая» D03 Адыгея г. Майкоп, просп. Мира, 8
ООО «Окружность» D04 Дагестан г. Дербент, ул. Замковая, 6
ИЧП Скаляр D05 Дагестан г. Махачкала, ул. Широкая, 28
АО «Ромб» D06 Татарстан г. Набережные Челны, ул. Заводская, 4

Таблица отгрузки товара

Номер накладной Отгружено дилеру Артикул товара Отгружено упаковок Дата отгрузки
001 D01 01002 300 5/01/2009 г.
002 D02 01002 100 5/01/2009 г.
003 D06 01002 200 5/01/2009 г.
004 D01 02002 20 5/01/2009 г.
005 D02 02002 30 5/01/2009 г.
006 D02 01003 20 6/01/2009 г.

Таблица товаров

Наименование товара Артикул Отдел Количество единиц в упаковке Брутто вес упаковки
Фломастеры, пачка 24 шт.   Канцтовары    
Бумага А4,пачка 500 листов   Канцтовары    
Скрепки металлические, 1000 шт.   Канцтовары    
Розетки трехфазные   Электротовары    
Лампа накаливания, 60 Вт   Электротовары    
Выключатель 2-клавишный   Электротовары    

Сколько пачек бумаги было отгружено в Татарстан 5 января 2009 года?

1) 100 2) 200 3) 300 4) 1500

Решение:

1) уберем из таблиц всю лишнюю информацию; во-первых, нас интересует только бумага и только количество пачек, поэтому таблица товаров сводится к одной строчке

Наименование товара Артикул Количество единиц в упаковке
Бумага А4,пачка 500 листов    

2) во-вторых, нас интересуют только дилеры из Татарстана, причем их названия и адреса не дают полезной информации, нужен только код; вот что остается от таблицы дилеров:

ID дилера Регион
D02 Татарстан
D06 Татарстан

3) из таблицы отгрузки товара выбираем только информацию о поставках этим дилерам:

Отгружено дилеру Артикул товара Отгружено упаковок Дата отгрузки
D02 01002 100 5/01/2009 г.
D06 01002 200 5/01/2009 г.
D02 02002 30 5/01/2009 г.
D02 01003 20 6/01/2009 г.

4) в последней таблице отмечаем строчки, которые относятся к бумаге (артикул 01002) и дате 5/01/2009:

Отгружено дилеру Артикул товара Отгружено упаковок Дата отгрузки
D02 01002 100 5/01/2009 г.
D06 01002 200 5/01/2009 г.

5) таким образом, в 5/01/2009 в Татарстан было отгружено 300 упаковок бумаги

6) теперь вспоминаем, что в таблице товаров сказано, что в каждой упаковке 5 пачек, поэтому всего отгружено 1500 пачек

7) таким образом, правильный ответ – 4.

Возможные ловушки и проблемы: · обратите внимание, что спрашивается количество пачек, а не количество упаковок; среди ответов есть «отвлекающий» вариант 300 – после выполнения шага 5 появляется соблазн выбрать именно его

 


[1] Интересующиеся могут посмотреть на коды русских букв в кодировке КОИ-8R

и ужаснуться, осознав, что было бы при использовании букв В и Г.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: