3. Практическое задание. Формирование запроса на поиск данных в среде системы управления базами данных
Принципы составления задания
Для организации запросов нужно предложить готовую базу данных, не требуя ее заполнения. Запросов должно быть несколько', причем их можно дифференцировать по сложности для отметок "удовлетворительно, "хорошо", "отлично".
Учащиеся должны продемонстрировать умение создавать как простые запросы, так и с использованием логических операций и некоторых простейших функций изучаемой СУБД.
Примеры заданий
В качестве вариантов заданий можно использовать материалы задачника-практикума "Информатика. Задачник-практикум в 2 т." / Под ред. И.Г. Семакина, Е.К. Хеннера. Т. 1, 2. М.: Лаборатория Базовых Знаний, 1999.
Примеры запросов можно посмотреть в статье: Брызгалов Е.В., Шестаков А.П. Уроки по Access // Информатика и образование № 7, 2000, с. 18—29.
Ссылка на материалы
"Информатика" № 16, 2002, с. 13—22.
БИЛЕТ № 16
1. Алгоритмическая структура "цикл". Циклы со счетчиком и циклы по условию.
2. Двоичное кодирование графической информации. Растр. Пиксель. Глубина цвета.
3. Задача на определение количества информации и преобразование единиц измерения количества информации.
1. Алгоритмическая структура "цикл". Циклы со счетчиком и циклы по условию
Базовые понятия
Цикл — последовательность команд (серия, тело цикла), которая может исполняться многократно для разных значений, данных до удовлетворения некоторого условия.
Циклы с неопределенным количеством повторений (по условию) и с параметром (счетчиком).
Обязательно изложить
Цикл является одним из трех базовых алгоритмических элементов, на основе которых, согласно теории, можно построить любой алгоритм. Значение цикла в практическом программировании необычайно велико — как правило, программа пишется лишь тогда, когда те или иные действия требуется совершить многократно для различных значений данных. (В самом деле, если необходимо провести однократное вычисление по формуле разумной сложности, это быстрее и проще сделать на калькуляторе.)
Циклы бывают двух принципиально различных типов: с предопределенным и с заранее неизвестным числом повторений. В первом случае из условия задачи известно, сколько раз цикл будет выполнен: например, найти сумму первых десяти членов числового ряда. Во втором — количество повторений будет зависеть от результатов вычислений и поэтому определится только в ходе работы программы: примером может служить нахождение суммы ряда с заданной точностью, когда вычисления прекращаются, если очередное слагаемое не превышает требуемой погрешности. Внимательно сравните два приведенных выше примера, и вы, несомненно, почувствуете разницу.
Для полноты классификации следует добавить, что цикл с условием, в свою очередь, тоже может реализовываться двумя способами. В первом варианте в начале цикла поверяется условие, а затем, если оно истинно, выполняются операторы цикла и происходит возврат на новую проверку; поскольку здесь условие предшествует содержимому цикла, то в литературе его принято называть циклом с предусловием. Во втором варианте, напротив, сначала цикл выполняется, а затем проверяется условие его завершения: в случае ложности цикл повторяется (иначе заканчивается); такой цикл, когда условие ставится после операторов содержимого, называют "с постусловием". Чаше всего только одна из названных разновидностей цикла наилучшим образом подходит к конкретной задаче. Например, если вы собираетесь удалить пробелы, стоящие в начале строки, то, скорее всего, выберете цикл с предусловием, потому что надо сначала убедиться, что пробел имеется, и только затем его удалять (глупо поступать наоборот — сначала удалять, а потом проверять, стоило ли это делать, хотя в практической жизни такая, с позволения сказать, логика порой встречается...). Зато ввод текста до точки трудно построить иначе как с постусловием, поскольку сначала требуется ввести очередной символ и только потом сравнивать его с точкой.
Часто одни и те же действия требуется выполнить для различных значений параметра: типичная ситуация — подставить числа от 1 до 10 в какую-нибудь формулу. Для решения такого типа задач лучше всего подойдет цикл с параметром, который возьмет на себя автоматическое изменение переменной цикла и ее сравнение с окончательным значением.
Завершая ответ, необходимо продемонстрировать все перечисленные виды циклов на том языке, который использовался на уроках (блок-схема, алгоритм для исполнителя, язык программирования). По понятным причинам мы не можем здесь предугадать все возможности.
Желательно изложить
Циклы с неопределенным количеством повторений, как правило, не имеют каких-то существенных особенностей реализации в различных языках. А вот цикл с параметром (FOR), напротив, часто обладает теми или иными специфическими свойствами. Например, в языке Бейсик, где параметром цикла может быть только числовая переменная (но зато любого типа), разрешается цикл от 0 до 1 с дробным шагом изменения 0.1. В Паскале параметр цикла не обязательно числовой, но зато он должен являться порядковым (иметь конечный упорядоченный набор допустимых значений). Таким образом, можно строить циклы по целым, символьным (CHAR), логическим, заданным перечнем своих значений и некоторым другим типам переменных, но зато запрещено использование вещественных значений1. Фактически в Паскале при каждом новом исполнении цикла берется или следующее, или предыдущее в используемом типе значение. В языке Си цикл FOR еще более интересный. Его заголовок фактически содержит три части: действия по инициализации, действия по проверке окончания цикла и, хотя бы потому, что для вещественных чисел не определено понятие "следующий": в самом деле, какое значение следует после 1.1 - 1.2, 1.11 или 1.101? наконец, действия после каждой итерации. Характерной особенностью является возможность иметь в каждой части произвольное количество операторов, включая вариант их отсутствия. Например,
for (i = 0, j = n - 1; i < n; i++, j —) a[i] = a[j];
Настолько общий подход позволяет вообще написать цикл без содержимого: например, сам оператор организации цикла
for (s=0, i = 1; i < 11; s=s+i, i=i+l) уже вычисляет сумму первых 10 натуральных чисел.
Примечание. Ярые приверженцы Си последние два оператора никогда не напишут иначе, чем s += i, i++, давая возможность компилятору составить чуть более эффективную программу. Но мне хотелось сделать текст более удобочитаемым для тех, чье мышление не связано с конкретными комбинациями значков.
Разумеется, рассказанный в предыдущем абзаце материал не предназначен для включения в ответ целиком. Просто подчеркнуто, что ученику желательно раскрыть особенности цикла FOR в том языке, который он изучал (а приведенные примеры просто указывают те места, где эти особенности надо искать).
И в заключение еще одно важное с практической точки зрения замечание. При некорректной организации некоторых циклов может возникнуть эффект так называемого "зацикливания", когда действия внутри цикла не могут создать условия, требующиеся для его завершения. Следует всячески избегать подобных ситуаций путем тщательного анализа условий работы цикла.
Примечание для учителей
В литературе обычно используется термин "цикл с параметром", а не "цикл со счетчиком".
Примечание для учеников
Как обычно, при подготовке вопроса необходимо продумать и подобрать на изученном языке примеры циклических алгоритмов. Вне зависимости от языка при ответе желательно использовать блок-схемы.
... раза. В силу специфичности информации схемы определения количества информации, связанные с ее содержательной стороной, оказываются не универсальными. Универсальным оказывается алфавитный подход к измерению количества информации. В этом подходе сообщение, представленное в какой-либо знаковой системе, рассматривается как совокупность сообщений о том, что заданная позиция в последовательности ...
... , коллективной реализации информационных проектов, информационной деятельности в различных сферах, востребованных на рынке труда. В соответствии с целями и задачами обучения в классе информационно-технологического профиля на профильном (повышенном) уровне изучаются предметы: информатика, математика, физика. Ведущим предметом является информатика. Информатика - современная, динамично развивающаяся ...
... одном из элективных курсов. Выбор естественно-математического профиля, во-первых, определяется целью введения данного курса в школе (расширение научного мировоззрения) и, во-вторых, сложностью темы в математическом аспекте. Глава 2. Содержание обучения технологии нейронных сетей Авторы данной работы предлагают следующее содержание обучения технологии нейронных сетей. Содержание образования ...
... сайта на английском языке, а может быть другой версией, возможно, состоящей на первых порах из одной страницы. Глава 2. Проектирование web-сайта образовательного учреждения и размещение его в сети Интернет 2.1 Разработка web-сайта Разработка сайта включает в себя целый комплекс процессов, от которых зависит эффективный конечный результат. Формирование целей и задач сайта. Это первый ...
0 комментариев