четверг, 30 апреля 2009 г.

Обзор технологий программирования. Структурное программирование.


Алгоритмизация - это составление алгоритмов для последующей реализации в виде программ для ЭВМ. Знание и использование сис­тематических методов превращают алгоритмизацию - в строгую дисциплину, позволяющую составлять программы на ЭВМ без ошибок.

Порядок составления программ:

задача ¾

алгоритмы

программа

ЭВМ

На практике широко используются два подхода к алгоритмизации:

1) традиционный подход (с использованием блок-схем);

2) структурный подход (с использованием структурной записи);

Традиционный подход к составлению алгоритмов с применением блок-схем грешит большим числом ошибок в программах из-за их громоздкости и запутанности. Из-за этого традиционный подход к составлению программ чреват большим числом ошибок в создава­емых программах.

Структурный подход к программированию заключается в обяза­тельном предварительном составлении структурированных алгорит­мов с записью их на псевдокоде. Простота чтения, понимания и исправления структурированных описаний позволяет существенно уменьшить количество ошибок в алгоритмах и программах и сокра­тить время их отладки на ЭВМ.

При структурном подходе к составлению алгоритмов и программ используются три основных правила композиции:

1) альтернативный выбор;

2) циклический повтор;

3) вспомогательные алгоритмы (подпрограммы).

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

Основные правила структурной композиции алгоритмов с при­мерами записи их на языке структурированного Бейсика:

1. Альтернативный выбор:

Алгоритм Запись

если х > 0 то if х > 0 then

у := х у = х

иначе else

у := -х у = -х

кесли end if

2. Циклический повтор:

Алгоритм Запись

пока х > 1 цикл do while х > 1

х: = х/2 х = х/2

кцикл loop

3. Вспомогательные алгоритмы (подпрограммы).

Алгоритм Подпрограмма

алг «у = |х|» mod: 'у = |х|

нач '

если х > 0 то if х > 0 then

у := х у = х

иначе else

у := -х у = -х

все end if

кон return

Обращение к алгоритму Обращение к подпрограмме

«у = |х|» gosub mod

В качестве иллюстрации приведем пример структурированного алгоритма «Галерея картинок» и соответствующей структурирован­ной программы:

Сценарий «Галерея картинок»

Список картинок:

1. треугольник

2. прямоугольник

3. кольцо

номер =? «N»


n = 1 n =2 n = 3


В соответствии с этими четырьмя картинками построим три вспо­могательных алгоритма рисования отдельных картинок из «Галереи» и общий алгоритм выбора картинок в соответствии с приведенным выше сценарием:

алг «Галерея картинок»

нач алг «рисунок_треугольника»

вывод («Список картинок:») нач

вывод («1. треугольник») линия (150,50)-(100,100)

вывод («2. прямоугольник») линия (150,50)-(200,100)

вывод («3. кольцо») линия (100,100)-(200,100)

запрос(«номер =», n) кон

графический_экран

если n = 1 то алг «рисунок_прямоугольника»

рисунок_треугольника нач

инес n = 2 то рамка (50,50)-( 150,100)

рисунок_прямоугольника кон

инес n = 3 то

рисунок_кольца алг «рисунок_кольца»

иначе нач

вывод («нет такого рисунка») окружность (100,100), 20

все окружность (100,100),50

кон кон

Реализация данного алгоритма в виде структурированной про­граммы:

Алгоритмы: Программа:

алг «Галерея картинок» 'Галерея картинок

нач cls

вывод («Список картинок:») print «Список картинок:»

вывод («1. треугольник») print «1. треугольник»

вывод («2. прямоугольник») print «2. прямоугольник»

вывод («З. кольцо») print «3. кольцо»

запрос(«номер =», n) input «номер =», n

если n = 1 то if n = 1 then

рисунок_треугольника gosub treug

инеc n = 2 то if n = 2 then

рисунок_прямоугольника gosub box

инеc n = 3 то if n = 3 then

рисунок_кольца gosub ring

инеc п <>или n > 3 то if n <>3 then

вывод («нет такого рисунка») print «нет такого рисунка»

все 'все

кон end

алг «рисунок треугольника» treug: 'рисунок треугольника

нач cls

графический_экран screen 2,0

линия (150,50)-( 100,100) line (150,50)-(100,100),3

линия (150,50)-(200,100) line (150,50)-(200,100),3

линия (100,100)-(200,100) line (100,100)-(200,100),3

кон return

алг «рисунок прямоугольника» box: 'рисунок прямоугольника

нач cls

графический_экран screen 2,0

рамка (50,50)-(150,100) line (50,50)-(150,100),3,b

кон return

алг «рисунок кольца» ring: 'рисунок кольца

нач cls

графический_экран screen 2,0

окружность (100,100),20 circle (100,100),20

окружность (100,100),50 circle (100,100),50

кон return

Данный подход - составление структурированных алгоритмов может применяться к составлению структурированных программ для любых ЭВМ на любых языках программирования - Паскаль, Си, Ада, Модула и т. д.

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

1. Условные действия.

если у <> if у <>then

вывод («недопустим») print «недопустим»

кесли end if

2. Многоальтернативный выбор.

если х > 1 то if х > 1 then

у: = 1 у = 1

инес х < -1 то elseif х < -1 then

у: = -1 у = -1

иначе else

у: = х у = х

кесли end if

3. Циклы со счетчиком:

от k = 1 до п цикл for k = 1 to n

вывод (k×k) print k*k

кцикл next k

4. Циклы с выходами.

цикл do

s: = s + x s = s + x

при х < style=""> if х < 1 then exit do

х: = x/2 x = x/2

кцикл loop

В циклах в общем случае возможны несколько выходов. Допол­нительные выходы считаются допустимыми даже для циклов со счет­чиками. Приведем примеры решения задач с использованием до­полнительных правил структурирования алгоритмов и программ.

Пример записи структурированных алгоритмов и программ с использованием циклов для алгоритма игры-эксперимента «звезд­ное небо»:

Алгоритм Программа

алг «звездное небо» ' звездное небо»

нач сls

цикл do

запрос(«звезд=», п) input «звезд=», n

при п <= 0 выход if n <= 0 then exit do

графический_экран screen 2,10

от k = 1 до п цикл for k = 1 to n

х: = случайное [0:200] х = rnd*200

у: = случайное [0:200] у = rnd*200

точка (х,у) pset (x,y),3

кцикл next k

кцикл end do

кон end

Пример структурированного алгоритма и программы с приме­нением многоальтернативного выбора и циклов с несколькими выходами:

Алгоритм Программа

алг «угадай-ка» ' угадай-ка

нач cls

вывод («Угадай-ка число») print «Угадай-ка число»

вывод («от 1 до 100») print от 1 до 100»

z: = случайное [0:100] z = int (rnd*100)

цикл do

запрос («число =», х) input «число =», х

при х = z вых if х = z then exit do

если х <> if х < z then

вывод («мало») print «мало»

инеc х > z тo elseif х > z then

вывод («много») print «много»

все end if

кцикл end do

вывод («молодец, умница») print «молодец, умница»

кон end

воскресенье, 26 апреля 2009 г.

Информация, ее свойства и виды. Понятие количества информации.

Термин "информация" происходит от латинского слова "informatio", что означает сведения, разъяснения, изложение. Несмотря на широкое распространение этого термина, понятие информации является одним из самых дискуссионных в науке. В настоящее время наука пытается найти общие свойства и закономерности, присущие многогранному понятию информация, но пока это понятие во многом остается интуитивным и получает различные смысловые наполнения в различных отраслях человеческой деятельности:
• в обиходе информацией называют любые данные или сведения, которые кого-либо интересуют. Например, сообщение о каких-либо событиях, о чьей-либо деятельности и т.п. "Информировать" в этом смысле означает "сообщить нечто, неизвестное раньше";
• в технике под информацией понимают сообщения, передаваемые в форме знаков или сигналов;
• в кибернетике под информацией понимает ту часть знаний, которая используется для ориентирования, активного действия, управления, т.е. в целях сохранения, совершенствования, развития системы (Н. Винер).
Клод Шеннон, американский учёный, заложивший основы теории информации — науки, изучающей процессы, связанные с передачей, приёмом, преобразованием и хранением информации, — рассматривает информацию как снятую неопределенность наших знаний о чем-то.
Приведем еще несколько определений:
• Информация — это сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состоянии, которые уменьшают имеющуюся о них степень неопределенности, неполноты знаний (Н.В. Макарова);
• Информация — это отрицание энтропии (Леон Бриллюэн);
• Информация — это мера сложности структур (Моль);
• Информация — это отраженное разнообразие (Урсул);
• Информация — это содержание процесса отражения (Тузов);
• Информация — это вероятность выбора (Яглом).
Современное научное представление об информации очень точно сформулировал Норберт Винер, "отец" кибернетики. А именно:
Информация — это обозначение содержания, полученного из внешнего мира в процессе нашего приспособления к нему и приспособления к нему наших чувств.
Люди обмениваются информацией в форме сообщений. Сообщение — это форма представления информации в виде речи, текстов, жестов, взглядов, изображений, цифровых данных, графиков, таблиц и т.п.
Одно и то же информационное сообщение (статья в газете, объявление, письмо, телеграмма, справка, рассказ, чертёж, радиопередача и т.п.) может содержать разное количество информации для разных людей — в зависимости от их предшествующих знаний, от уровня понимания этого сообщения и интереса к нему.
Так, сообщение, составленное на японском языке, не несёт никакой новой информации человеку, не знающему этого языка, но может быть высокоинформативным для человека, владеющего японским. Никакой новой информации не содержит и сообщение, изложенное на знакомом языке, если его содержание непонятно или уже известно.
Информация есть характеристика не сообщения, а соотношения между сообщением и его потребителем. Без наличия потребителя, хотя бы потенциального, говорить об информации бессмысленно.
В случаях, когда говорят об автоматизированной работе с информацией посредством каких-либо технических устройств, обычно в первую очередь интересуются не содержанием сообщения, а тем, сколько символов это сообщение содержит.
Применительно к компьютерной обработке данных под информацией понимают некоторую последовательность символических обозначений (букв, цифр, закодированных графических образов и звуков и т.п.), несущую смысловую нагрузку и представленную в понятном компьютеру виде. Каждый новый символ в такой последовательности символов увеличивает информационный объём сообщения.

И еще одно представлении об информации дано в статье Янковского С.Я. «Концепции общей теории информации»
Для того чтобы вывести наиболее общее определение понятия "Информация", выделим такое его свойство, которое с одной стороны было бы присущим любому его конкретному проявлению, и с другой стороны, позволяло бы отличать их от проявлений других понятий. Другими словами мы хотим выделить необходимый и достаточный признак, по которому мы будем определять, относится ли то или иное явление к проявлению понятия "Информации".
Начнем с того, что построим самую простую схему из трех понятий: "Объект", "Среда" и "Взаимодействие". "Объект" – это нечто устойчивое во времени и ограниченное в пространстве интересующее нас как единое целое. "Среда" – это множество всех других потенциальных "Объектов" интересующих нас только с точки зрения их влияния на состоянии выделенного "Объекта" и обратного влияния "Объекта" на их состояния. "Взаимодействие" – это растянутый во времени процесс взаимозависимого изменения параметров состояния "Объекта" и "Среды". Эта схема является замкнутой в том смысле, что "Среда" включает в себя все потенциальные "Объекты" способные влиять на состояние выделенного "Объекта". Далее мы не будем брать в кавычки приведенные понятия.
В природе существует два фундаментальных вида взаимодействия: обмен веществом и энергией. Фундаментальность этих видов взаимодействия заключается в том, что все прочие взаимодействия происходят только через их посредство. Эти виды взаимодействия подчиняются закону сохранения. Сколько вещества и энергии один объект передал другому, столько тот и получил, и наоборот. Потери, происходящие при передаче, не рассматриваются, ибо потери вещества и энергии в замкнутой среде не возможны и то, что называют потерями, является отдельными актами взаимодействия с другими объектами той же среды. Среда замкнута именно в том смысле, что все взаимодействия происходят только внутри ее.
Энергетическое и вещественное взаимодействие объектов является симметричным, т.е. сколько один отдал столько же другой получил. Переходы между веществом и энергией не влияют на общий баланс, поскольку действуют законы сохранения константы их соотношения. Так же не влияет на общий баланс разрушение объекта в результате таких взаимодействий, так как опять же сохраняется сумма констант соотношения вещества и энергии, образовавшихся в результате разрушения частей (новых объектов).
Примем за аксиому, что на основе комбинации фундаментальных взаимодействий, между объектами может происходить взаимодействие более высокого порядка, при котором от одного к другому переходит некоторая субстанция и при этом потери одного не совпадают с приобретением другого. Такое взаимодействие является несимметричным. В предельном случае несимметричного взаимодействия при передаче субстанции между объектами один из них ее приобретает, а другой не теряет. Изменение количества энергии и вещества при этом естественно, будут иметь место, поскольку данный акт взаимодействия имеет в своей основе комбинацию фундаментальных видов взаимодействия обеспечивающих перенос субстанции.
Таким образом, предлагается наиболее общее определение понятия Информации:

Любое взаимодействие между объектами, в процессе которого один приобретает некоторую субстанцию, а другой ее не теряет называется информационным взаимодействием. При этом передаваемая субстанция называется Информацией.
Из этого определения следует два наиболее общих свойства Информации. Первое - Информация не может существовать вне взаимодействия объектов. Второе - Информация не теряется ни одним из них в процессе этого взаимодействия.

Информация может существовать в виде:
• текстов, рисунков, чертежей, фотографий;
• световых или звуковых сигналов;
• радиоволн;
• электрических и нервных импульсов;
• магнитных записей;
• жестов и мимики;
• запахов и вкусовых ощущений;
• хромосом, посредством которых передаются по наследству признаки и свойства организмов и т.д.
Предметы, процессы, явления материального или нематериального свойства, рассматриваемые с точки зрения их информационных свойств, называются информационными объектами.
Измерение количества информации.
Какое количество информации содержится, к примеру, в тексте романа "Война и мир", во фресках Рафаэля или в генетическом коде человека? Ответа на эти вопросы наука не даёт и, по всей вероятности, даст не скоро. А возможно ли объективно измерить количество информации? Важнейшим результатом теории информации является следующий вывод:
В определенных, весьма широких условиях можно пренебречь качественными особенностями информации, выразить её количество числом, а также сравнить количество информации, содержащейся в различных группах данных.
В настоящее время получили распространение подходы к определению понятия "количество информации", основанные на том, что информацию, содержащуюся в сообщении, можно нестрого трактовать в смысле её новизны или, иначе, уменьшения неопределённости наших знаний об объекте. Эти подходы используют математические понятия вероятности и логарифма.
Подходы к определению количества информации. Формулы Хартли и Шеннона.
Американский инженер Р. Хартли в 1928 г. процесс получения информации рассматривал как выбор одного сообщения из конечного наперёд заданного множества из N равновероятных сообщений, а количество информации I, содержащееся в выбранном сообщении, определял как двоичный логарифм N.
Формула Хартли: I = log2N
Допустим, нужно угадать одно число из набора чисел от единицы до ста. По формуле Хартли можно вычислить, какое количество информации для этого требуется: I = log2100  6,644. Таким образом, сообщение о верно угаданном числе содержит количество информации, приблизительно равное 6,644 единицы информации.
Приведем другие примеры равновероятных сообщений:
1. при бросании монеты: "выпала решка", "выпал орел";
2. на странице книги: "количество букв чётное", "количество букв нечётное".
Определим теперь, являются ли равновероятными сообщения "первой выйдет из дверей здания женщина" и "первым выйдет из дверей здания мужчина". Однозначно ответить на этот вопрос нельзя. Все зависит от того, о каком именно здании идет речь. Если это, например, станция метро, то вероятность выйти из дверей первым одинакова для мужчины и женщины, а если это военная казарма, то для мужчины эта вероятность значительно выше, чем для женщины.
Для задач такого рода американский учёный Клод Шеннон предложил в 1948 г. другую формулу определения количества информации, учитывающую возможную неодинаковую вероятность сообщений в наборе.
Формула Шеннона: I = — ( p1log2 p1 + p2 log2 p2 + . . . + pN log2 pN),
где pi — вероятность того, что именно i-е сообщение выделено в наборе из N сообщений.
Легко заметить, что если вероятности p1, ..., pN равны, то каждая из них равна 1 / N, и формула Шеннона превращается в формулу Хартли.
Помимо двух рассмотренных подходов к определению количества информации, существуют и другие. Важно помнить, что любые теоретические результаты применимы лишь к определённому кругу случаев, очерченному первоначальными допущениями.
В качестве единицы информации Клод Шеннон предложил принять один бит (англ. bit — binary digit — двоичная цифра).
Бит в теории информации — количество информации, необходимое для различения двух равновероятных сообщений (типа "орел"—"решка", "чет"—"нечет" и т.п.).

В вычислительной технике битом называют наименьшую "порцию" памяти компьютера, необходимую для хранения одного из двух знаков "0" и "1", используемых для внутримашинного представления данных и команд.
Бит — слишком мелкая единица измерения. На практике чаще применяется более крупная единица — байт, равная восьми битам. Именно восемь битов требуется для того, чтобы закодировать любой из 256 символов алфавита клавиатуры компьютера (256=28).
Широко используются также ещё более крупные производные единицы информации:
• 1 Килобайт (Кбайт) = 1024 байт = 210 байт,
• 1 Мегабайт (Мбайт) = 1024 Кбайт = 220 байт,
• 1 Гигабайт (Гбайт) = 1024 Мбайт = 230 байт.
В последнее время в связи с увеличением объёмов обрабатываемой информации входят в употребление такие производные единицы, как:
• 1 Терабайт (Тбайт) = 1024 Гбайт = 240 байт,
• 1 Петабайт (Пбайт) = 1024 Тбайт = 250 байт.
За единицу информации можно было бы выбрать количество информации, необходимое для различения, например, десяти равновероятных сообщений. Это будет не двоичная (бит), а десятичная (дит) единица информации
Свойства информации:
• достоверность;
• полнота;
• ценность;
• своевременность (актуальность);
• понятность;
• доступность;
• краткость;
• и др.
Информация достоверна, если она отражает истинное положение дел. Недостоверная информация может привести к неправильному пониманию или принятию неправильных решений.
Достоверная информация со временем может стать недостоверной, так как она обладает свойством устаревать, то есть перестаёт отражать истинное положение дел.
Информация полна, если её достаточно для понимания и принятия решений. Как неполная, так и избыточная информация сдерживает принятие решений или может повлечь ошибки.
Точность информации определяется степенью ее близости к реальному состоянию объекта, процесса, явления и т.п.
Ценность информации зависит от того, насколько она важна для решения задачи, а также от того, насколько в дальнейшем она найдёт применение в каких-либо видах деятельности человека.
Только своевременно полученная информация может принести ожидаемую пользу. Одинаково нежелательны как преждевременная подача информации (когда она ещё не может быть усвоена), так и её задержка.
Если ценная и своевременная информация выражена непонятным образом, она может стать бесполезной.
Информация становится понятной, если она выражена языком, на котором говорят те, кому предназначена эта информация.
Информация должна преподноситься в доступной (по уровню восприятия) форме. Поэтому одни и те же вопросы по разному излагаются в школьных учебниках и научных изданиях.
Информацию по одному и тому же вопросу можно изложить кратко (сжато, без несущественных деталей) или пространно (подробно, многословно). Краткость информации необходима в справочниках, энциклопедиях, учебниках, всевозможных инструкциях.
Иногда выделяют около 20 свойств информации

Задание 2. Распознавание образов.

Распознавание образов — раздел кибернетики, развивающий теоретические основы и методы классификации и идентификации предметов, явлений, процессов, сигналов, ситуаций и т. п. объектов, которые характеризуются конечным набором некоторых свойств и признаков. Такие задачи решаются довольно часто, например, при переходе или проезде улицы по сигналам светофора. Распознавание цвета загоревшейся лампы светофора и знание правил дорожного движения позволяет принять правильное решение о том, можно или нельзя переходить улицу в данный момент.
В процессе биологической эволюции многие животные с помощью зрительного и слухового аппарата решили задачи распознавания образов достаточно хорошо. Создание искусственных систем распознавания образов остаётся сложной теоретической и технической проблемой. Необходимость в таком распознавании возникает в самых разных областях — от военного дела и систем безопасности до оцифровки всевозможных аналоговых сигналов.
Примеры задач распознавания образов
• Распознавание букв.
• Распознавание штрих-кодов.
• Распознавание автомобильных номеров.
• Распознавание лиц.
• Распознавание речи.
• Распознавание изображений.
Методы распознавания образов
Для оптического распознавания образов можно применить метод перебора. В этом случае производится сравнение с базой данных, где для каждого вида объектов представлены всевозможные модификации отображения. Например, для оптического распознавания образов можно применить метод перебора вида объекта под различными углами, масштабами, смещениями, деформациями и т. д. Для букв нужно перебирать шрифт, свойства шрифта и т. д. В случае распознавания звуковых образов, соответственно, происходит сравнение с некоторыми известными шаблонами (например, слово, произнесенное несколькими людьми).
Второй подход — производится более глубокий анализ характеристик образа. В случае оптического распознавания это может быть определение различных геометрических характеристик, нахождение контура и исследование его свойств (связность, наличие углов и т. д.). Звуковой образец в этом случае подвергается частотному, амплитудному анализу и т. д.
Еще один подход — использовать искусственные нейронные сети. Этот метод требует либо большого количества примеров задачи распознавания (с правильными ответами), либо специальной структуры нейронной сети, учитывающей специфику данной задачи. Тем не менее, его отличает более высокая эффективность и производительность.

Общая структура системы распознавания и этапы в процессе ее разработки показаны на рисунке.

Задачи распознавания имеют следующие характерные черты.
Это информационные задачи, состоящие из двух этапов:
- преобразование исходных данных к виду, удобному для распознавания;
- собственно распознавание (указание принадлежности объекта определенному классу).
В этих задачах можно вводить понятие аналогии или подобия объектов и формулировать правила, на основании которых объект зачисляется в один и тот же класс или в разные классы.
В этих задачах можно оперировать набором прецедентов-примеров, классификация которых известна и которые в виде формализованных описаний могут быть предъявлены алгоритму распознавания для настройки на задачу в процессе обучения.
Для этих задач трудно строить формальные теории и применять классические математические методы (часто недоступна информация для точной математической модели или выигрыш от использования модели и математических методов несоизмерим с затратами).
Выделяют следующие типы задач распознавания:
- Задача распознавания - отнесение предъявленного объекта по его описанию к одному из заданных классов (обучение с учителем);
- Задача автоматической классификации - разбиение множества объектов, ситуаций, явлений по их описаниям на систему непересекающихся классов (таксономия, кластерный анализ, самообучение);
- Задача выбора информативного набора признаков при распознавании;
- Задача приведения исходных данных к виду, удобному для распознавания;
- Динамическое распознавание и динамическая классификация - задачи 1 и 2 для динамических объектов;
- Задача прогнозирования - суть предыдущий тип, в котором решение должно относиться к некоторому моменту в будущем.
Программы распознавания образов
• CuneiForm
• FineReader
• PenReader
• Readiris
• NI Vision (на основе программного комплекса LabVIEW от National Instruments)
В практической деятельности часто встречаются ситуации, ког¬да необходимо перевести в электронный вид документ, напеча¬танный на бумаге. В этом случае можно просто набрать документ на компьютере, что довольно трудно, либо воспользоваться ска¬нером — устройством, специально предназначенным для пере¬вода документов в электронный вид. Для организации сканиро¬вания изображения помимо непосредственно сканера требуется одна из специальных программ систем оптического распознава¬ния текста.
Системы оптического распознавания текста (Optical Character Recognition — OCR-системы) предназначены для автоматическо¬го ввода печатных документов в компьютер.
Современные программы распознавания текста не только оши¬баются реже, чем живой человек, но и обеспечивают проверку орфографии, автоматическое форматирование текста и массу дру¬гих дополнительных удобств.
Последние годы ведущие позиции на российском рынке «рас¬познавалок» удерживают программы FineReader и CuneiForm. Несмотря на свои замысловатые названия, обе программы отече¬ственного производства вполне хорошего качества. По своим воз¬можностям и сервису они примерно равноценны.

Одной из популярных программ оптического распознавания текстов является программа FineReader, созданная компанией ABBYY Software House.
FineReader позволяет распознавать тек¬сты, набранные практически любыми шрифтами. Особенностью программы FineReader является высокая точность распознавания и малая чувствительность к дефектам печати, что достигается благодаря применению технологии «целостного целенаправленного адаптивного распознавания».
Программа позволяет распознавать с высокой точностью тек¬сты более чем на 175 языках, выводить на печать исходное изо¬бражение и распознанный текст, сохранять отсканированное изо¬бражение в различных форматах, настраивать панели инструмен¬тов программы, а также отвечает требованиям совместимости с новыми операционными системами Microsoft и Macintosh. Версия программы FineReader 6.0 Professional совместима с Windows-2000, -ХР, a FineReader 5.0 Pro for Mac предназначена для владельцев компьютеров Apple Macintosh.
Кроме того, отсканированный файл можно сразу же отправить электронным письмом или загрузить в браузер в виде Web-стра¬нички.
Программа FineReader, начиная с третьей версии, оказалась настолько удачной, что завоевала широкое признание и в России, и за ее пределами. Именно в связи с выходом на мировую арену фирма получила свое новое имя ABBYY, ранее называясь Bit Software.
Программные продукты ABBYY FineReader представлены в настоящее время следующими программами: FineReader Sprint, FineReader 6.0 Professional, FineReader 6.0 Corporate Edition и ABBYY FineReader 5.0 Pro for Mac.
FineReader Sprint поставляется в комплекте со сканерами. Это продукт для тех, кто только начинает работать с системами рас¬познавания OCR. Версия обладает ограниченной функционально¬стью по сравнению с версиями Professional и Corporate Edition.
FineReader 6.0 Corporate Edition разработана с учетом запро¬сов корпоративных клиентов и поддерживает такие функции, как работа в локальной сети, пакетный поиск и индексирование, рас¬познавание штрих-кодов и разбивка изображений. FineReader Scripting Edition позволяет создавать интегрированные решения, обладающие всеми возможностями Corporate Edition.
Интерфейс программы ABBYY FineReader 5.0 Pro for Mac, включая панели управления, пиктограммы и диалоговые окна, создавался непосредственно для Mac OS. Поддержаны все основ¬ные технологии Apple, включая QuickTime, Speech, Drag and Drop и Navigation Services. Продукт разработан компаниями ABBYY Software House и Sound & Vision.Inc.
Для автоматизации ввода платежных документов в банковских системах выпускается программа FineReader Банк, позволяющая значительно повысить эффективность работы. При создании пла¬тежного документа программа генерирует и печатает штрих-код, что позволяет при получении в банке документа и сканировании кода дополнительно идентифицировать данные.
В комплект ABBYY FineReader 6.0 Professional помимо дистри¬бутивного компакт-диска входят руководство пользователя и лицензионный договор. Для установки программы необходим ком¬пьютер, отвечающий следующим требованиям:
• ПК с процессором Pentium 200 или более мощным;
• операционная система Microsoft Windows XP/2000/NT 4.0 (SP6 или выше), Windows ME/98/95 (для работы с локализованным интерфейсом операционная система должна обеспечивать необходимую языковую поддержку);
• размер оперативной памяти для Windows XP/2000 — 64 Мбайт, Windows ME/98/95/NT 4.0 - 32 Мбайт;
• 160 Мбайт свободного места на жестком диске, включая 90 Мбайт для установки системы в минимальной конфигурации и 70 Мбайт для работы системы;
• браузер Microsoft Internet Explorer 5.0 или выше (на компакт-диске находится дистрибутив MS IE 5.5);
- • 100 %-й Twain-совместимый сканер, цифровая камера или факс-модем;
• дисковод для компакт-дисков;
• дисковод 3,5 дюйма или возможность произвести активацию продукта через Интернет, по электронной почте или по телефону.

Комплексное продвижение сайтов - эффективно и доступно.
Оригинальные рецепты блюд: несколько десятков рецептов борща!
Качественный seo копирайтинг для оптимизации по поисковым запросам

четверг, 23 апреля 2009 г.

Создание аналитических запросов в режиме Конструктора

Задание 43. Экспортируйте из таблицы Студенты данные только о фамилиях, именах, отчествах, адресах и телефонах в документ Word и запрос Расписание в таблицу Excel вторым способом.

Задание 44. Экспортируйте в документ Word отчет по студентам любым возможным способом.
10. Макросы в Access
Макросы – это небольшие программы на языке макрокоманд системы Access. Каждая макрокоманда имеет свое имя и, возможно, один или несколько аргументов.
Макросы позволяют существенно расширить функциональные возможности созданной базы данных и настроить ее для конкретной группы пользователей. С помощью макросов можно выполнить практически все действия над объектами Access, а также можно определить реакцию базы данных на различные события в формах и отчетах (например, нажатие кнопок, изменение данных, открытие, закрытие и т.д.).
Для использования макросов не обязательно знать язык программирования, достаточно владеть основными приемами работы в MS Access. В отличие от модулей (процедур на языке Visual Basic for Application), макросы существуют отдельно от форм или отчетов, в которых они используются. Поэтому, когда макросов слишком много, их поддержка затруднительна.
10.1. Создание макросов
В MS Access имеются специальное средство для создания макросов – конструктор макросов. Открыть его можно одним из трех способов:
• нажатием кнопки Создать при открытой панели Макросы в окне базы данных;
• командой Макрос в меню Вставка;
• кнопкой Новый объект/Макрос на панели инструментов базы данных.
Окно конструктора макросов (рис. 36) аналогично окну конструктора таблиц, разделено на две части – панель описаний (верхняя часть) и панель аргументов (нижняя часть). Панель описаний состоит из нескольких столбцов. По умолчанию на экран выводятся два столбца – Макрокоманда и Примечание. Ячейки столбца Макрокоманда представляют собой поля со списком макрокоманд, из которого можно выбрать нужную. В столбце Примечание есть возможность ввести поясняющие комментарии. Когда поле Макрокоманда заполнено, в нижней части окна появляется панель аргументов, которая служит для ввода аргументов макрокоманды. Последовательность макрокоманд, записанная в окне конструктора макросов, определяет последовательность действий.
Задание 45. Создайте макрос Календарь, открывающий одноименную форму.
• Откройте конструктор макросов. Наш макрос будет состоять из одной макрокоманды – открытие формы.
• Для ввода макрокоманды можно выбрать в поле Макрокоманда из списка действие ОткрытьФорму или просто перетащить соответствующую форму из окна форм базы данных. При втором способе аргумент Имя формы заполняется автоматически, а при выборе команды из списка необходимо самостоятельно заполнить этот аргумент.
• Для того чтобы форма открывалась только для просмотра, не допуская внесения изменений, выберите соответствующее значение аргумента Режим данных.
• В строке Условие отбора можно вручную или при помощи Построителя выражений внести условие. В нашем случае условия нет.
• Запустите макрос одноименной командой из меню Запуск или кнопкой .
Задание 46. Создайте макрос СтудентыФакультета, открывающий в режиме просмотра одноименный отчет.
10.2. Создание групп макросов
Если макросов планируется достаточно много и их можно объединить в логические группы, удобно создать группы макросов (рис. 37). Для этого необходимо выполнить следующие действия.
1) Открыть конструктор макросов.
2) Добавить столбец Имя макроса через меню Вид/Имена макросов или кнопкой Имена макросов на панели инструментов базы данных.
3) В этот столбец ввести имя первого макроса.
4) В столбец Макрокоманда ввести последовательно все макрокоманды данного макроса.
5) Пропустить строку (несмотря на то, что пустые строки игнорируются при выполнении макросов, их рекомендуется использовать для удобства восприятия).
6) Повторить 3,4,5 шаги для каждого макроса группы.
Следует отметить, что для запуска одного макроса из группы используется его полное имя, то есть имя группы и через точку имя макроса. При обычном запуске из окна макросов выполняется только первый макрос группы. Запустить остальные макросы группы можно через меню Сервис/Макрос/ Выполнить макрос.
Задание 47. Создайте группу макросов ОткрытиеФорм, включающую три макроса (Студенты, Преподаватели, Дисциплины) открывающих соответствующие формы базы данных для просмотра с комментариями. Для этого:
• Отобразите столбец Имя макроса.
• Введите имя первого макроса, например, Студенты. Выберите макрокоманды для вывода сообщения и открытия соответствующей формы.
• Пропустите строку.
• Задайте имя следующего макроса, установите нужные действия.
• То же проделайте для каждого макроса группы.
• Сохраните группу макросов под именем ОткрытиеФорм.
10.4. Запуск макросов
Существует несколько способов запуска макросов. Среди них есть прямые, то есть когда макрос запускается непосредственно пользователем (именно так запускались созданные ранее макросы). Эти способы используются обычно для тестирования и отладки макросов. Когда макрос отлажен, создают специальную команду меню, кнопку или связывают макрос с некоторым событием в форме или отчете.
Рассмотрим возможные способы запуска макроса.
1. Через меню Сервис/Макрос/Выполнить макрос.
2. Из окна конструктора макроса меню Запуск или кнопками Запуск или По шагам.
3. Из окна макросов в окне базы данных (двойным щелчком по имени макроса или кнопкой Запустить).
(Перечисленные выше способы относятся к прямым способам запуска макросов.)
4. С помощью кнопок на панелях команд (панели инструментов, меню, контекстные меню).
5. С помощью комбинации клавиш.
6. Запуск макроса при открытии базы данных.
7. Назначение макроса событию.
Запуск макроса с помощью кнопок на панелях команд
Для запуска макросов бывает удобно создать специальную панель:
• Открыть окно макросов и выделить нужный макрос.
• В меню Сервис/Макрос выбрать одну из команд: Создать панель инструментов из макроса, Создать меню из макроса или Создать контекстное меню из макроса. После чего на экране появится панель команд выбранного вида.
• Для перехода в режим настройки объекта необходимо выбрать команду Настройка в меню Сервис или одноименную команду в контекстном меню панели инструментов.
• Далее на вкладке Команды выбрав категорию Все макросы (рис. 38) можно увидеть все созданные макросы и при помощи мыши перетащить нужные макросы на панель инструментов.
• Для изменения кнопок на панели инструментов можно воспользоваться кнопкой Изменить выделенный объект.


Задание 48. Создайте панель инструментов, поместив на нее все созданные макросы. Для макросов группы ОткрытиеФорм измените вид значков (рис. 39), выбрав рисунки из имеющихся и добавьте подпись. Для остальных макросов создайте свои собственные рисунки и всплывающие подсказки.
Запуск макроса при открытии базы данных
При открытии базы данных могут выполняться некоторые действия. Чаще всего, это открытие Главной кнопочной формы, вывод специальных меню и панелей инструментов. Для определения этих действий используется диалоговое окно Параметры запуска (меню Сервис/Параметры запуска).
Но иногда при запуске нужно выполнить более сложный набор действий, для чего и используют специальный макрос AutoExec. При открытии базы данных сначала выполняются действия, определенные в окне Параметры запуска, затем Access проверяет наличие макроса AutoExec и, если он есть, выполняет его.

Задание 49. Создайте макрос AutoExec, в котором обеспечьте вывод информационного окна с приветствием при открытии базы данных.
10.5. Назначение макроса событию
Наиболее часто макросы в Access используются для обработки событий. Событие – это любое действие, распознаваемое объектом. Событие происходит в результате действий пользователя, выполнения инструкций VBA или генерируются системой. Примеры событий: открытие формы, отчета, ввод данных в поле, выбор элемента списка, щелчок по экранной кнопке и т.д. Можно определить реакцию объекта на некоторое событие с помощью макросов.
В макросах, назначаемых событию, часто используются ссылки на формы, отчеты, их элементы управления и свойства. Такие ссылки имеют определенную форму:
ИмяСемейства ! ИмяОбъекта
ИмяСемейства ! ИмяОбъекта . ИмяСвойства
ИмяСемейства ! ИмяОбъекта ! ИмяЭлемента
ИмяСемейства ! ИмяОбъекта ! ИмяЭлемента . ИмяСвойства,
где ИмяСемейства – это формы (Forms) или отчеты (Reports);
ИмяОбъекта – имя формы или отчета;
ИмяЭлемента – имя элемента управления (поля, кнопки и т.п.);
ИмяСвойства – имя свойства объекта или элемента (вывод на экран, доступ и т.п.).
Если в именах встречаются пробелы – их необходимо заключать в квадратные скобки.
Например: Reports! ЛичнаяКарточка! [Номер Зачетной Книжки]
Forms! Студенты . Visible (свойство Visible определяет, будет ли форма видна на экране)
Forms! Подгруппы! КодПодгруппы.Enabled (свойство Enabled позволяет запретить или разрешить доступ к элементу)

На примерах рассмотрим некоторые возможности присвоения макросов событиям.
Задание 50. В форме Занятия реализуйте возможность фильтрации по коду дисциплины.
• Создайте новую форму СписокЗанятий по таблице Занятия с помощью мастера ленточных автоформ (чтобы весь список занятий выводился на экран).
• Откройте форму СписокЗанятий в режиме конструктора и приготовьте свободное место в области заголовка формы.
• Отключите мастеров на панели элементов.
• В область заголовка формы добавьте свободное поле со списком для определения критерия фильтрации. В свойствах подписи этого поля задайте значение «Выбор дисциплины» для свойств Имя и Подпись. В свойствах самого поля задайте значение свойства Имя - «ВыбраннаяДисциплина» (для удобства последующего обращения к этому объекту), значение свойства Тип источника строк – «Таблица или запрос», значение свойства Источник строк – Дисциплины (это имя таблицы, из которой будут браться значения списка).
• В режиме просмотра формы проверьте правильность генерирования списка дисциплин.
• В область заголовка формы добавьте кнопку для запуска фильтра. В свойствах кнопки задайте значение «Применить фильтр» свойствам Имя и Подпись, на вкладке События в свойстве Нажатие кнопки нужно задать имя макроса. Пока подходящий макрос не создан, так что вызовите построитель макросов. Создайте группу макросов Фильтрация, так как для выполнения данного задания одного макроса не достаточно. Первый макрос группы назовите, например, ПрименениеФильтра. В нем будет единственная макрокоманда ПрименитьФильтр, в качестве значения ее аргумента Условие отбора постройте выражение:
[Занятия]![Дисциплина] Like ([Forms]![СписокЗанятий]![ВыбраннаяДисциплина])
То есть из таблицы Занятия будут отобраны только те записи, значение поля Дисциплина в которых равно значению элемента управления ВыбраннаяДисциплина в форме СписокЗанятий.
• Сохраните изменения и проверьте действия макроса. Заметьте, что если оставить поле ВыбраннаяДисциплина незаполненным, то применяется пустой фильтр. В столбце Условие определите параметры выполнения команды: Not IsNull([Forms]![СписокЗанятий]![ВыбраннаяДисциплина])
• Дополните макрос командой Сообщение, которое будет выводиться, если поле ВыбраннаяДисциплина не заполнено.

Задание 51. В форме Студенты обеспечьте быстрый поиск студента по номеру зачетной книжки.
• Для того чтобы организовать поиск по номеру зачетной книжки студента, добавьте в форму Студенты два элемента управления: поле для ввода номера и кнопку, при нажатии на которую произойдет переход к записи с этим номером.
• Добавьте свободное поле и присвойте для его надписи значение «Введите номер зачетной книжки», а для самого поля свойству Имя задайте значение «КодПоиска».
• Добавьте кнопку, назвав ее, например, «Найти». Событию Нажатие кнопки присвойте макрос, содержащий следующие макрокоманды:

Условие Макрокоманда
Not IsNull([Forms]![Студенты]![КодПоиска]) КЭлементуУправления
… НайтиЗапись
Аргументу Имя элемента макрокоманды КЭлементуУправления присвойте значение [НомерЗачетнойКнижки]. Эта команда переведет фокус на поле НомерЗачетнойКнижки формы Студенты, чтобы затем производить поиск по этому полю.
Аргументу Образец поиска макрокоманды НайтиЗапись присвойте значение =[Forms]![Студенты]![КодПоиска]. Значения остальных аргументов можно оставить стандартными. Эта команда будет искать запись, для которой значение поля НомерЗачетнойКнижки совпадает со значением в поле КодПоиска.
• Закройте конструктор макросов, сохранив изменения. Проверьте действие кнопки в режиме просмотра формы.

Задание 52. В форме Подгруппы предусмотрите возможность скрытия и отображения подчиненной формы Студенты.
• Для этого используем группу переключателей: без помощи мастера добавьте на форму в режиме конструктора сначала группу переключателей, а затем в эту группу – два переключателя, свойствам надписей которых задайте значения «Отобразить» и «Скрыть» соответственно.
• Создайте группу макросов ПодчиненнаяФорма.
• Первый макрос назовите, например, Отобразить и определите команду ЗадатьЗначение со следующим условием и аргументами:
Условие Макрокоманда
[Forms]![Подгруппы]![Студенты подчиненная форма].[Visible]=Ложь ЗадатьЗначение
Аргумент Элемент: [Forms]![Подгруппы]![Студенты подчиненная форма].[Visible]; аргумент Выражение: Истина (Свойство Visible означает вывод элемента на экран).
• Для второго переключателя макрос будет содержать противоположные условие и команду.
• Для события ПолучениеФокуса переключателей формы задайте соответствующие макросы и проверьте их действие в режиме просмотра формы.
11. Создание и изменение панелей команд
Управление работой с базой данных осуществляется с помощью командного интерфейса, содержащего набор команд, организованный в форме системы различных меню. В MS Word и MS Excel пользователь, не прибегая к программированию, может создать только свою панель инструментов. В MS Access есть возможность создания панелей команд трех типов:
• строка меню;
• панель инструментов;
• контекстное меню.
11.1. Создание и изменение строки меню
Строка меню содержит элементы – названия команд или групп команд, как правило, включающие по одной подчеркнутой букве, определяющей клавиши доступа. Выбрать элемент можно щелчком мыши или нажатием комбинации клавиш ALT и подчеркнутой в названии буквы. При выборе команды сразу происходит ее выполнение, при выборе группы команд открывается подменю.
Строка меню создается через окно Настройка (вызывается через меню Сервис/Настройка или из контекстного меню панели инструментов). В этом окне необходимо выполнить следующие действия:
• Открыть вкладку Панели инструментов.
• Кнопкой Создать открыть окно Создание панели инструментов и ввести имя новой строки меню (запрашивается как имя панели инструментов), ОК.
• На экране появится маленькая пустая панель инструментов. Чтобы преобразовать ее в строку меню, нужно изменить ее тип. Для этого: выделить название новой панели в списке на вкладке Панели инструментов (оно обычно добавляется в конец списка) и кнопкой Свойства открыть окно Свойства панели инструментов (рис. 41).
• В раскрывающемся списке тип выбрать значение «Строка меню». Кроме этого свойства в окне можно определить и другие:
закрепление – можно разрешить различные виды расположения панели;
отображение в меню – при установке этого флажка название новой панели отобразится в списке команд Вид/Панели инструментов;
настройка – сброс этого флажка запретит изменение данной панели команд;
изменение размера – сброс этого флажка запретит менять размеры данной панели команд;
перемещение – сброс этого флажка запретит перемещения данной панели команд;
отображение и скрытие – сброс этого флажка запретит возможность скрывать и снова показывать панель на экране.
• Созданная вами строка меню пока пустая. Для добавления в нее элементов нужно перейти на вкладку Команды в диалоговом окне Настройка.
• Далее в качестве элементов строки меню нужно поместить названия групп команд (подменю) или сразу команды: если будет подменю, то в списке Категории нужно выделить значение «Новое меню»; затем перетащить элемент Новое меню из списка Команды на новую панель (рис. 42); далее определить его свойства в окне Свойства элемента (вызывается из контекстного меню элемента Новое меню):
подпись – название пункта меню;
всплывающее сообщение – можно ввести текст всплывающей подсказки;
действие – обычно определяет действие, выполняемое при выборе данного элемента, по умолчанию – открывает список команд;
файл справки и идентификатор справки позволяют связать с данным элементом раздел из справочной системы базы данных;
параметр – связано с полем действие и определяет значение аргумента функции, если в поле действие определен вызов функции;
дополнительные сведения могут содержать информацию, которая будет доступна из процедуры VBA;
создать группу – установление этого флажка означает, что данный элемент панели команд является началом группы элементов.
• Далее внести в созданное подменю (или сразу на строку меню) команды через ту же вкладку Команды окна Настройка: выбрать категорию, затем команду этой категории и перетащить ее в подменю (или на строку меню) (рис. 43).
• Для каждой команды, добавленной на строку меню, можно поменять или вообще убрать ее значок через контекстное меню этой команды.

Чтобы окончательно придать строке меню профессиональный вид, нужно каждому элементу назначить клавиши доступа. Буквы, соответствующие этим клавишам, выделяются в названии элемента подчеркиванием (подчеркнутые буквы можно нажать на клавиатуре вместе с клавишей Alt для выбора элемента меню). Чтобы указать букву, которая будет определять клавишу доступа, нужно перед ней в названии элемента меню (через его свойства или контекстное меню) вставить знак «&». Например, «&Студенты». Тогда буква «С» в этом названии будет подчеркнута, и открыть этот пункт можно будет нажатием сочетания клавиш Alt+С. В разных элементах одной строки меню или подменю должны быть использованы разные буквы, но в разных подменю – могут совпадать.
Осталось отметить, что для удаления элементов строки меню достаточно при открытом окне Настройка перетащить их на пустое место окна Access, а для удаления всей строки меню – выбрать ее в списке на вкладке Панели инструментов окна свойств и воспользоваться кнопкой Удалить в этом же окне.
Задание 53. Создайте строку меню Факультет, содержащую команды вызова основных объектов базы данных ФАКУЛЬТЕТ (таблицы, формы, запросы, отчеты), объединенные по категориям (подменю): Студенты, Преподаватели, Дисциплины.

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

11.2. Создание и изменение панели инструментов
Создание и изменение панели инструментов совершенно аналогично созданию строки меню. Только на панели инструментов для команд (кнопок) используются стандартные значки. Также можно добавлять или удалять команды из существующих панелей инструментов.
Задание 55. Создайте свою панель инструментов, назвав ее «Панель пользователя» и поместив на нее кнопки команд, которыми вы чаще всего пользуетесь (чтобы можно было скрыть стандартную панель инструментов и оставить вашу).
11.3. Создание и изменение контекстных меню
Создание контекстного меню также во многом аналогично созданию строки меню. Однако есть три основных отличия.
1) В окне Свойства панели инструментов в открывающемся списке тип нужно выбрать значение «Контекстное меню» (вместо «Строка меню»). При этом выводится предупреждение, что данное контекстное меню исчезнет с экрана. Чтобы просмотреть или изменить его, нужно на вкладке Панели инструментов в списке Панели инструментов отметить значение «Контекстные меню». Тогда на экране появится панель контекстных меню. Создаваемые пользователем меню отображаются в пункте Настраиваемый (рис. 44).
2) Контекстное меню нужно связать с каким-либо объектом базы данных (с формой или отчетом). Для этого нужно вызвать окно свойств объекта (формы или отчета), открытого в режиме просмотра или конструктора (это можно сделать из контекстного меню, вызванного на полосе заголовка, или соответствующей кнопкой панели инструментов). На вкладке Другие окна свойств имеется свойство Контекстное меню (в режиме просмотра) или даже два свойства Контекстные меню и Контекстное меню (в режиме конструктора) (рис. 45). Свойство Контекстные меню разрешает или запрещает вообще вывод на экран контекстного меню этого элемента, а в свойстве Контекстное меню можно выбрать из открывающегося списка одно из созданных пользователем контекстных меню. По умолчанию – выводится стандартное контекстное меню элемента.
3) Если для удаления строки меню достаточно воспользоваться кнопкой Удалить в окне настройки на вкладке Панели инструментов, то удалить контекстное меню таким образом нельзя, так как его нет в списке. Для удаления сначала нужно преобразовать его в обычную панель инструментов: в этом же окне настройки на вкладке Панели инструментов кнопкой Свойства вызвать окно свойств, затем в списке Выбранная панель выбрать удаляемое контекстное меню и в списке тип изменить его тип на «Панель инструментов». Тогда бывшее контекстное меню появится в списке панелей инструментов и его можно удалить кнопкой Удалить.
Задание 56. Создайте контекстное меню для формы Студенты, включающее команды открытия таблиц Студенты, Подгруппы, а также другие команды на Ваше усмотрение. Прикрепите это же контекстное меню к отчету по студентам.
12. Главная кнопочная форма
В Access существует надстройка, которая позволяет создать своеобразный путеводитель по объектам базы данных - кнопочную форму. Когда форм и отчетов становится слишком много, полезно иметь систему указателей, которая позволит ориентироваться среди множества объектов. Главная кнопочная форма (рис. 46) может иметь иерархическую структуру и содержит кнопки, позволяющие выбирать основные объекты или функции.
Эту форму можно создать с помощью конструктора форм, а можно использовать специальный мастер – Диспетчер кнопочных форм (меню Сервис/Служебные программы/Диспетчер кнопочных форм).

Задание 57. Создайте Главную кнопочную форму вашей базы данных Факультет, состоящую из четырех страниц (Главная, Студенты, Преподаватели, Дисциплины, причем три последние подчинены первой).
То есть, структуру такой кнопочной формы схематично можно представить так:
Создание кнопочной формы и страниц кнопочной формы
При запуске Диспетчера кнопочных форм, если таких форм еще нет, выдается диалоговое окно, запрашивающее, нужно ли создать кнопочную форму. В случае утвердительного ответа мастером создается таблица Swichboard Items (Элементы кнопочной формы) и сама кнопочная форма (Swichboard) и открывается диалоговое окно Диспетчера кнопочных форм (рис. 47).
В этом окне перечисляются все страницы кнопочной формы. Пока создана только одна страница, которая по умолчанию называется Mаin Swichboard (рис. 47).
Для того, чтобы переименовать страницу, нажмите кнопку Изменить. В поле Название кнопочной формы можно ввести новое имя страницы (рис. 47). (Переименуйте страницу в Главную, нажмите кнопку Закрыть).
Примечание. При работе с диспетчером кнопочных форм обращайте внимание на заголовки открываемых диалоговых окон!
Для создания новых страниц используйте кнопку Создать. При этом открывается окно Создание (рис. 48). (Создайте три новые страницы – Студенты, Преподаватели, Дисциплины).

Создание элементов (кнопок) на странице кнопочной формы
Новые страницы пока не содержат никаких элементов. Для создания кнопок на нужной странице выделите ее и нажмите кнопку Изменить. Откроется окно Изменение страницы кнопочной формы.
Чтобы создать элемент, используйте кнопку Создать. Откроется диалоговое окно Изменение элемента кнопочной формы (рис. 49).
Здесь в поле Текст вводится название элемента (то, что мы увидим на форме), в поле Команда выбирается из списка действие, которое будет выполняться при нажатии этой кнопки, в поле Кнопочная форма вводится (или выбирается из списка) имя объекта, с которым будет произведено действие. Количество кнопок на одной странице ограничено восьмью.
Кроме того, что элементы можно добавлять, изменять и удалять, можно также менять их последовательность кнопками Вниз и Вверх.
На странице Главная создайте кнопки обращения к трем другим страницам кнопочной формы и кнопку выхода из приложения. На странице Студенты создайте кнопки, открывающие формы, связанные со студентами, и кнопку возврата на Главную страницу. Аналогично поступите со страницами Преподаватели и Дисциплины.
Оформление кнопочной формы
Внешний вид Главной кнопочной формы оформлен по умолчанию. Но можно изменить его в режиме конструктора (изменить цвет, вставить картинки и т. п.). В окне базы данных на странице Формы присутствует созданная вами главная кнопочная форма под именем Swichboard. Имя можно оставить таким или переименовать. В режиме конструктора эта форма выглядит пустой, но если посмотреть свойства формы, то можно обнаружить команды.
Для того чтобы при открытии базы данных открывалась Главная кнопочная форма, в меню Сервис выберите команду Параметры запуска. В поле Вывод формы/страницы выберите нужную форму.
Задание 58. Оформите Главную кнопочную форму по Вашему усмотрению, добавьте надписи, вставьте картинки (Не удаляйте кнопки этой формы в режиме конструктора!)

Задание 59. Сделайте стартовой Главную кнопочную форму.