Информационная технология обработки данных

advertisement
Оглавление
1. 1234.01.01/ПТ.1234.01 Информационная технология обработки данных. Сканеры и
сканирование. ..................................................................................... 2
2. 1234.01.01/ПТ.1234.02 Информационная технология обработки данных. Обработка
растровых изображений. ..................................................................... 8
3. 1234.01.01/ПТ.1234.03 Информационная технология обработки данных. Обработка
фотографий. ..................................................................................... 13
4. 1234.02.01/ПТ.1234.04 Информационная технология экспертных систем. Комбинирование
растровой графики. .......................................................................... 17
5. 1234.02.01/ПТ.1234.05 Информационная технология обработки данных. Экспертные системы
анализа обучения. ............................................................................ 20
6. 1234.02.01/ПТ.1234.06 Информационная технология обработки данных. Самообучающиеся
системы. ........................................................................................... 28
7. 1234.03.01/ПТ.1234.07 Современные системы программирования. Основы визуального
программирования интерфейса. ....................................................... 34
8. 1234.03.01/ПТ.1234.08 Современные системы программирования. Доступ к функциям
Windows API. ..................................................................................... 47
9. 1234.03.01/ПТ.1234.09 Итоговое занятие по основным темам дисциплины ........................... 58
1
Информационная технология обработки данных. Сканеры и
сканирование.
КОД: 1234.01.01/ПТ.1234.01
Продолжительность:
160 мин.
Дисциплина:
Информационные технологии. Юнита № 1.
Предназначено:
Для студентов по направлению информатика и ВТ в соответствии с учебным планом.
Цель:
Знакомство с процессом сканирования.
Результат обучения:
После успешного завершения занятия пользователь должен научиться работать с
программой FineReader.
Используемые программы:
Windows 2000,
FineReader 4.0,
Microsoft Paint,
Microsoft Word 2000.
Используемые файлы:
Image1.bmp, Image2.bmp, Image3.bmp, Image4.bmp, Image5.bmp, Image6.bmp,
Image7.bmp, Image8.bmp, Pic1.jpg, Pic2.jpg, Pic3.jpg, Pic4.jpg, Pic5.jpg, Pic6,jpg,
Pic7.jpg, Pic8.jpg
План занятия:
I.
Работа под руководством преподавателя
Знакомство с процессом сканирования
II.
Самостоятельная работа
Запуск программы:
Предполагается, что требуемые программы уже инсталлированы на диске.
(См. «Инструкцию по установке программы на ПК»)
I.
130 минут
30 минут
Знакомство с процессом сканирования
Рекомендуемое время
130 минут
Настройка основных параметров сканирования
Один из типовых способов работы состоит в вызове диалогового окна сканера из
прикладной программы, например из графического редактора или OCR-системы (программы
оптического распознавания символов). В Photoshop сканер вызывается командой File - Import
(Файл-Импорт) - Название сканера. При этом открывается диалоговое окно сканера
(интерфейс его TWAIN-модуля). Пример такого окна показан на рисунке:
2
После запуска диалогового окна сканера необходимо открыть крышку сканера, положить
на рабочее поле (стекло) оригинал (изображением вниз), закрыть крышку и щелкнуть на кнопку
Prescan (Предварительное сканирование) в диалоговом окне. В результате в окне
предварительного просмотра появится изображение оригинала, отсканированное с низким
разрешением. Это черновой эскиз оригинала. Для окончательного сканирования необходимо
выделить область сканирования, то есть участок оригинала, который вам нужен. Для этого с
помощью мыши требуется переместить и/или изменить размеры рамки, которая видна на фоне
эскиза. Чтобы отсканировать указанную область оригинала при текущих значениях параметров,
необходимо щелкнуть на кнопке Scan (Сканировать). В диалоговом окне сканера отображаются
размеры изображения в выбранных единицах измерения (пикселах, сантиметрах, миллиметрах или
дюймах), а также в килобайтах. В результате отсканированное изображение будет загружено в
новое окно графического редактора. Вы можете обработать его, если необходимо, а затем
сохранить в файле графического формата. Однако перед сканированием обычно производят
настройку параметров, чтобы получить результат с нужным качеством.
При настройке параметров чаще всего пытаются найти компромисс между качеством
результирующего изображения, его объемом и временем сканирования. Обычно улучшение
качества сопряжено с увеличением объема занимаемой памяти и времени. Затраты времени
становятся весьма заметными, если требуется отсканировать подряд много оригиналов, например
несколько десятков фотографий или страниц журнала. Сканирование с большим запасом
разрешения приводит к большим затратам памяти и дискового пространства. Например, цветная
фотография размером 4х6 дюймов (примерно 10х 15 см) при сканировании с разрешением 600 ppi
потребует более 25 Мбайт. Такие большие изображения медленно обрабатываются.
Можно выделить два основных подхода к выбору параметров сканирования.
Первый заключается в том, что качество результата должно определяться в первую
очередь характеристиками устройств и материалов вывода (монитор, принтеры различного типа,
полиграфическая техника, печать на газетной или мелованной бумаге и т. п.). Согласно этому
подходу, не стоит создавать изображение очень высокого качества, если его вывод будет
производиться устройствами с низкими характеристиками. Однако при смене типа устройства
вывода часто оказывается, что нужно заново сканировать изображение, HQ уже при других
значениях параметров. Данный подход характерен для офисных работ, но нередко применяется и
дизайнерами
Согласно второму подходу, при сканировании следует получить максимально возможную
графическую информацию об оригинале, а только затем обработать ее в редакторе применительно
к типу устройства вывода. Этот подход применяют, когда заранее не известно, где и как будет
использовано изображение. Он типичен в основном для дизайнеров.
Выбор режима сканирования
Существуют следующие режимы сканирования:
Color (Цветной). Цветное изображение, представленное в модели RGB.
Gray или Grayscale (В оттенках серого). Изображения с плавными переходами оттенков
серого цвета.
3
LineArt (Штриховой рисунок). Черно-белое изображение без полутонов.
Halftone
(Полутон).
Черно-белое
изображение,
сформированное
регулярно
расположенными точками различных размеров или штрихами.
В принципе, можно выбрать любой из доступных режимов сканирования независимо от
исходного изображения (оригинала). Например, можно сканировать в цветном режиме оригиналы,
выполненные в оттенках серого цвета, и, наоборот, цветные оригиналы в режиме оттенков серого.
Выбор оптимального режима зависит как от оригинала, так и от вашей цели.
В большинстве практически всех наиболее интересных случаев мы имеем дело с цветными
изображениями. Это могут быть фотографии, отдельные иллюстрации или целые страницы из
журналов, книг и газет, содержащие, кроме картинок, тексты. В конце концов, в сканер можно
положить лист акварели, холст с масляной живописью или какой-нибудь не очень тяжелый
предмет. Если вы хотите получить в результате сканирования цветное изображение, то, очевидно,
следует использовать режим Color (Цветной). В этом режиме один пиксел изображения
представляется в памяти компьютера посредством 24 бит (8 бит на каждую из трех базовых
составляющих цвета).
Если вам нужно получить изображение в оттенках серого (полутоновое) из цветного
оригинала, выберите режим Gray. А можно отсканировать его в режиме Color и затем в
графическом редакторе преобразовать в полутоновое. Сканирование в режиме Gray требует
меньше памяти и происходит быстрее, чем в режиме Color.
Нецветные, но с плавными переходами оттенков серого изображения следует сканировать
в режиме Gray. Как правило, это черно-белые фотографии и подобные им нецветные иллюстрации
из книг, журналов и газет. Нередко в этом режиме сканируют текстовые документы не очень
хорошего качества, чтобы потом обработать их программой OCR.
Черно-белые (двухцветные) изображения без полутоновых переходов обычно сканируются
в режиме LineArt. Типичными примерами таких изображений являются чертежи и схемы, в
которых преобладают линии, а не области, заполненные цветом. В этом режиме часто сканируют
четкие отпечатки текстовых документов, чтобы потом обработать их программой OCR. Некоторые
системы OCR требуют, чтобы исходное изображение было отсканировано в режиме LineArt, но к
FineReader это не относится. Хотя в режиме LineArt на представление одного пиксела отводится
всего 1 бит, сканирование всего изображения в этом режиме обычно требует большого
разрешения (около 400 ppi), и таким образом экономия на представлении пиксела нивелируется.
Главным образом, именно поэтому вместо режима LineArt часто используют Gray.
Режим Halftone используется нечасто и в основном тогда, когда оригинал имеет довольно
заметную печатную растровую структуру или образован множеством штрихов (рисунки и
фотографии из газет).
Выбор разрешения сканирования
Сканер, как отмечалось выше, обладает разрешающей способностью, определяемой его
конструктивными особенностями. Она может быть аппаратной (оптической) или интерполяционной
(реконструированной вычислительными средствами). Разрешающая способность является
максимальной характеристикой, определяемой техническими особенностями сканера. Однако при
сканировании изображения вы можете произвольно выбрать, с каким разрешением это следует
делать в данном конкретном случае. Установленное разрешение сканирования может быть меньше
или равно аппаратному (оптическому) разрешению сканера, но может и превышать его. В
последнем случае речь может идти только об интерполяционном разрешении. При установленном
интерполяционном разрешении сканирования, кроме собственно аппаратных средств,
привлекаются программные преобразования. Последние могут быть хорошими или плохими: все
зависит от алгоритма преобразования исходного изображения.
От выбора разрешения сканирования зависит качество полученного изображения,
занимаемый им объем памяти, а также скорость сканирования. Качество изображения — это,
прежде всего, его четкость, плавность цветовых переходов.
Затраты памяти при сканировании изображения размером 4х4 дюйма (11 х 11 см):
Тип
изображения
Color
Gray
LineArt
4
Объем изображения при различных разрешениях
100 ppi
150 ppi
300 ppi
600 ppi
469Кбайт
1Мбайт
4,12Мбайт
16,5Мбайт
156Кбайт
352Кбайт
1,37Мбайт
5,5Мбайт
19,5Кбайт
44Кбайт
175Кбайт
703Кбайт
Программное обеспечение сканеров обычно позволяет устанавливать параметры тоновой
коррекции — яркость, контрастность, гамма и др. (например, уровни черного и белого).
Возможность настройки этих параметров до сканирования очень важна.
Сканирование печатных иллюстраций
1. На диске (например, на E:) \ создайте рабочую папку MyWork. Скопируйте в созданную папку
все файлы из директории E:\1234\ПТ_1234_01\.
2. Запустите приложение FineReader.
3. Выполните команду Файл-Открыть. Выберите файл E:\MyWork\image1.bmp. Нажмите на
кнопку Открыть. Это изображение было отсканировано в режиме Gray с разрешением 300 dpi.
4. Выполните команду Изображение-Повернуть по часовой стрелке.
5. Выполните команду Вид-Масштаб 50%.
6. С помощью левой кнопки мыши выделите изображение мобильного телефона. Выполните
команду Правка-Копировать.
7. Вызовите графический редактор Paint. Выполните команду Правка-Вставить. Сохраните
полученное изображение в редакторе Paint с именем E:\MyWork\1.jpg.
8. Аналогичным образом получите изображение часов. Сохраните полученное изображение в
редакторе Paint с именем E:\MyWork\2.jpg.
9. Выполните команду Файл-Открыть. Выберите файл E:\MyWork\image2.bmp. Нажмите на
кнопку Открыть. Это изображение было отсканировано в режиме Color с разрешением 300
dpi.
10. Установите масштаб изображения - 50 %.
11. Выделите правую часть изображения. Сохраните полученное изображение в редакторе Paint с
именем E:\MyWork\3.jpg.
12. Выделите открытые объекты, расположенные в левой части экрана FineReader, и удалите их с
помощью клавиши Del. Подтвердите удаление.
Сканирование фотографий
1. Выполните команду Файл-Открыть. Выберите файл E:\MyWork\image3.bmp. Нажмите на
кнопку Открыть. Это изображение было отсканировано в режиме Color с разрешением 300
dpi.
2. Установите масштаб изображения - 50 %.
3. Выделите верхнюю часть изображения. Сохраните полученное изображение в редакторе Paint
с именем E:\MyWork\4.jpg.
4. Выделите нижнюю часть изображения. Сохраните полученное изображение в редакторе Paint
с именем E:\MyWork\5.jpg.
Сканирование объемных предметов
1. Выполните команду Файл-Открыть. Выберите файл E:\MyWork\image4.bmp. Нажмите на
кнопку Открыть. Это изображение было отсканировано в режиме Color с разрешением 300
dpi.
2. Выделите изображение мобильного телефона. Сохраните изображение в редакторе Paint с
именем E:\MyWork\6.jpg.
3. Выделите изображение часов. Сохраните изображение в редакторе Paint с именем
E:\MyWork\7.jpg.
4. Выделите изображение броши. Сохраните полученное изображение в редакторе Paint с
именем E:\MyWork\8.jpg.
5. Выделите открытые объекты, расположенные в левой части экрана FineReader, и удалите их с
помощью клавиши Del. Подтвердите удаление.
Сканирование текста
Ввод в компьютер информации из текстовых документов, например из книг, журналов,
газет и факсов, — одна из типовых офисных операций. Чтобы ускорить этот процесс, применяют
сканеры. Однако результат сканирования — просто графическое изображение. Если вы сохранили
его в файле графического формата, то сможете открыть потом лишь в редакторе или программе
просмотра графики. Хотя редактировать тексты в графическом редакторе в принципе возможно, на
5
практике никто этого не делает. Текстовая информация вместе с иллюстративной графикой
сканируется, чтобы затем передать ее программе оптического распознавания символов (OCR Optical Character Recognition), например FineReader. С помощью программы OCR результат
сканирования будет разделен на текст и рисунки (если они есть) и может быть сохранен в файле
формата, доступного текстовым редакторам.
Вы можете сначала отсканировать текстовый документ и сохранить результат в файле
графического формата, например JPEG или TIFF, а затем открыть его в программе OCR и
выполнить распознавание (recognition) символов. Но можно поступить и иначе: выполнить
сканирование прямо из программы OCR, а затем произвести распознавание. Мы предпочитаем
именно этот путь. Кстати, многие программы OCR позволяют произвести сканирование и
распознавание с помощью одной команды. Однако в случае, когда вы сканируете много
фрагментов, а распознаете лишь некоторые из них, лучше разъединить эти процессы.
Некоторые программы OCR требуют, чтобы текстовый документ был отсканирован в
режиме LineArt. Современные программы OCR не обременят вас этим ограничением.
Если оригинал представляет собой просто текст без графики, то сканировать его следует в
режиме LineArt или Gray. Режим LineArt обычно применяют к высококачественным отпечаткам
текста без иллюстраций, полученным, например, с помощью лазерного или струйного принтера.
Разрешение сканирования выбирается в зависимости от размера шрифта. Для шрифтов размером
12 пунктов и менее разрешение в режиме LineArt устанавливают около 400-450 ppi. Для более
крупных шрифтов разрешение можно уменьшить до 200-300 ppi. В режиме Gray на один пиксел
требуется в 8 раз больше памяти, чем в режиме LineArt. Однако при сканировании текстов в этом
режиме можно устанавливать меньшее разрешение, чем в режиме LineArt, - примерно 150-300 ppi
в зависимости от размера и гарнитуры шрифта.
При сканировании документов, содержащих кроме текста картинки, следует выбирать режим Gray (или Color, если требуется получить цветные изображения картинок). В этих режимах
сканирования удается получить больше графической информации об оригинале, которая важна
для высококачественного распознавания символов.
Программа OCR при распознавании текста в графическом изображении использует словари
разных языков, что позволяет ей исправлять дефекты сканирования. Тем не менее, ошибки
распознавания текста все же остаются. Перед тем как инициировать собственно распознавание,
просмотрите результат сканирования.
Прежде всего следует обратить внимание на качество отображения таких букв, как «е» и
«с», «к» и «н», «л» и «п», «i» и «|», «r» и «г». Если случаев взаимной замены в перечисленных
парах букв много, лучше повторить сканирование при большем разрешении. Если результат
распознавания содержит слишком много ошибок, то необходимо повторить процедуру
сканирования при большем разрешении.
Если вам предстоит сканировать множество страниц с текстовой информацией примерно
одинакового качества, целесообразно сначала не спеша правильно подобрать параметры
сканирования. Это можно сделать с помощью экспериментов над небольшим фрагментом
документа. Подобрав оптимальные значения параметров, можно затем поставить сканирование и
распознавание на поток. Программное обеспечение сканеров и OCR обычно имеют специальную
команду, задающую пакетный режим работы (Buth Mode).
1. Выполните команду Файл-Открыть. Выберите файл E:\MyWork\image5.bmp. Нажмите на
кнопку Открыть. Это изображение было отсканировано в режиме LineArt с разрешением 300
dpi.
2. Выполните команду Изображение-Повернуть по часовой стрелке.
3. На панели инструментов установите масштаб изображения - Целиком.
4. Выделите начало раздела 1.2.1. на левой странице и продолжение этого раздела на правой
странице.
5. Выполните команду Сервис-Опции. Выберите вкладку Форматирование. Установите
флажок - сохранять начертание букв, шрифт и колонки. Нажмите на кнопку OK.
6. На панели инструментов установите язык Русско-Английский.
7. Нажмите на кнопку Распознать.
8. По окончании распознавания нажмите на кнопку Проверить. Проверьте правописание.
9. Выполните команду Файл - Передать в - Microsoft Word. Сохраните документ в редакторе
Microsoft Word с именем E\MyWork\1.doc.
10. Выполните команду Файл-Открыть. Выберите файл E:\MyWork\image6.bmp. Нажмите на
кнопку Открыть. Это изображение было отсканировано в режиме LineArt с разрешением 300
dpi.
6
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
II.
Выполните команду Изображение-Повернуть по часовой стрелке.
На панели инструментов установите масштаб изображения - Целиком.
Нажмите на кнопку Сегментировать.
Выделите сегмент 2 и нажмите на клавишу Del.
Выделите сегмент 1 и уменьшите его размер до начала раздела.
Нажмите на кнопку Распознать.
По окончании распознавания нажмите на кнопку Проверить. Проверьте правописание.
Выполните команду Файл - Передать в - Microsoft Word. Сохраните документ в редакторе
Microsoft Word с именем E\MyWork\2.doc.
Выполните команду Файл-Открыть. Выберите файл E:\MyWork\image6.bmp. Нажмите на
кнопку Открыть.
Выделите рисунок. Сохраните полученное изображение в редакторе Paint с именем
E:\MyWork\9.jpg. Добавьте рисунок в созданный документ с помощью команды ВставкаРисунок из файла.
Выделите открытые объекты, расположенные в левой части экрана FineReader, и удалите их с
помощью клавиши Del. Подтвердите удаление.
Выполните команду Файл-Открыть. Выберите файл E:\MyWork\image7.bmp. Нажмите на
кнопку Открыть.
Выполните команду Файл-Открыть. Выберите файл E:\MyWork\image8.bmp. Нажмите на
кнопку Открыть.
Выделите открытые объекты, расположенные в левой части экрана FineReader.
Нажмите на кнопку Распознать.
Выделите открытые объекты, расположенные в левой части экрана FineReader.
Выполните команду Файл - Передать в - Microsoft Word. Сохраните документ в редакторе
Microsoft Word с именем E\MyWork\3.doc.
Выделите открытые объекты, расположенные в левой части экрана FineReader, и удалите их с
помощью клавиши Del. Подтвердите удаление.
Самостоятельная работа
Рекомендуемое время
30 минут
Сформируйте документ Word из изображения в соответствии с вариантом. Созданные
рисунки и документы сохраните в рабочей директории.
По окончании работы удалите созданную Вами рабочую директорию.
Варианты
1
2
3
4
Исходные данные
Pic1.jpg,
Pic3.jpg,
Pic5.jpg,
Pic7.jpg,
Pic2.jpg
Pic4.jpg
Pic6.jpg
Pic8.jpg
7
Информационная технология обработки данных. Обработка растровых
изображений.
КОД: 1234.01.01/ПТ.1234.02
Продолжительность:
160 мин.
Дисциплина:
Информационные технологии. Юнита № 1.
Предназначено:
Для студентов по направлению информатика и ВТ в соответствии с учебным планом.
Цель:
Знакомство с процессом обработки растровых изображений.
Результат обучения:
После успешного завершения занятия пользователь должен научиться создавать рамки и
художественные тексты в приложении Adobe Photoshop.
Используемые программы:
Windows 2000,
Adobe Photoshop
Используемые файлы:
Image1.jpg, Image2.jpg, Image3.jpg, Image4.jpg, Image5.jpg
План занятия:
I. Работа под руководством преподавателя
Знакомство с процессом обработки растровых изображений
II. Самостоятельная работа
130 минут
30 минут
Запуск программы:
Предполагается, что требуемые программы уже инсталлированы на диске.
(См. «Инструкцию по установке программы на ПК»)
I.
Знакомство с процессом обработки растровых изображений
Рекомендуемое время
130 минут
Создание рамок
1. На диске (например, на E:) \ создайте рабочую папку MyWork. Скопируйте в созданную папку
все файлы из директории E:\1234\ПТ_1234_02\.
2. Запустите приложение Adobe Photoshop.
3. Выполните команду Файл-Открыть. Выберите файл E:\MyWork\image1.jpg. Нажмите на
кнопку Открыть. Это изображение было отсканировано в режиме Color с разрешением 300
dpi.
4. На панели инструментов выберите инструмент Rectangular Marquee (Прямоугольное
выделение). На фотографии выделите прямоугольную область, отступив от внешних границ
на ширину будущей рамки.
5. Сохраните созданное выделение, выполнив команду меню Select - Save Selection
(Выделение - Сохранить Выделение). В поле Name введите ramka. Нажмите на кнопку
OK. После этого на палитре Channels (Каналы) появится новый канал с именем ramka.
6. На палитре Channels (Каналы) активизируйте вновь созданный канал ramka. На рабочем
столе появится белый прямоугольник в черной рамке, а исходное изображение исчезнет.
7. Инвертируйте выделение, выполнив команду меню Select - Inverse (Выделение Инвертировать). Таким образом, черная рамка выделяется пунктиром изнутри и снаружи.
8. Примените фильтр Filter - Texture - Texturizer. Появится окно Texturizer, в котором можно
выбрать тип текстуры, размер рельефа, тип освещенности и т. п. Подберите на свой вкус вид
текстуры, которой будите заливать будущую рамку. Нажмите на кнопку OK.
9. Переключитесь на RGB-канал, щелкнув на его миниатюре на палитре Channels (Каналы). При
этом канал с рамкой также должен быть активен.
10. Выполните команду Select - Load Selection… В поле Channel установите ramka. Нажмите на
кнопку OK.
11. Снимите выделение командой меню Select - Deselect (Выделение - Снять выделение).
8
12. Сохраните изображение с именем E:\MyWork\image1_1.jpg. Нажмите на кнопку Открыть.
Это изображение было отсканировано в режиме Color с разрешением.
13. Выполните команду File - Close (Файл - Закрыть).
14. Выполните команду Файл-Открыть. Выберите файл E:\MyWork\image1.jpg. Нажмите на
кнопку Открыть.
15. Создайте новый канал. Для этого на палитре Channels (Каналы) щелкните мышкой на значке
Create New Channel (Создать новый канал). Этот канал по умолчанию получит имя Alpha
1. Первоначальная фотография исчезнет, а на ее месте появится абсолютно черный фон.
16. На панели инструментов выберите инструмент Rectangular Marquee (Прямоугольное
выделение). Выделите на черном фоне прямоугольную область, отступив от краев на ширину
будущей рамки.
17. Инвертируйте полученное выделение командой Select - Inverse (Выделение Инвертировать), после чего залейте белым цветом выделенную область. В результате
получите черный прямоугольник в белой рамке. Снимите выделение командой Select Deselect (Выделение - Снять выделение). Выполните команду Image - Adjust - Invert.
18. Выполните команду Filter - Pixelate - Color Halftone. В поле Max.Radius установите 30.
Нажмите на кнопку OK.
19. На палитре Channels (Каналы) выберите канал RGB и загрузите созданную заготовку рамки
командой Select - Load Selection (Выделение - Загрузить выделение). Нажмите на
кнопку OK. Но шаблон рамки будет еще прозрачным с пунктирными границами.
20. Выполните команду Select - Inverse.
21. Залейте рамку каким-нибудь цветом или фактурой, чтобы сделать ее непрозрачной. Для этого
выполните команду Edit - Fill (Правка - Заливка). В диалоговом окне Fill (Заливка)
предоставляется несколько вариантов заливки. Эти варианты выбираются в раскрывающемся
списке Use (Использовать), который расположен в области Contents (Содержание). По
умолчанию предлагается выполнить заливку цветом фона. В поле Opacity установите 100%.
В поле Mode - LuminoSity. Нажмите на кнопку OK.
22. Выполните заливку каким-нибудь цветом.
23. Снимите выделение командой меню Select - Deselect (Выделение - Снять выделение).
24. Сохраните изображение с именем E:\MyWork\image1_2.jpg.
25. Выполните команду File - Close (Файл - Закрыть).
Создание художественных текстов
Текст с тенью
1. Установите цвет - черный на белом.
2. Выполните команду File - New (Файл - Новый). В поле Name введите Primer1. В полях
Width и Height установите 10 см. В поле Mode установите RGB Color. Задайте белый цвет
фона, установив флажок White. Нажмите на кнопку OK.
3. Нa палитре инструментов выберите инструмент Type Tool (Текст) (Т). Установите курсор на
рабочем пространстве, выберите шрифт - Arial Black, цвет - черный, размер шрифта - 48.
Наберите текст - PRIMER 1. Нажмите на кнопку OK. Для текста автоматически создается еще
один слой. С помощью инструмента Move Tool (V) расположите текст посередине рабочего
пространства.
4. Скопируйте слой с текстом, для этого выполните команду Layer - Duplicate Layer (Слой Копировать слой). В окне Duplicate Layer (Копирование слоя) в поле As наберите имя
нового слоя Primer 1 copy. Нажмите на кнопку OK.
5. Переместите созданный слой-копию под уже существующий. Для этого перетащите
пиктограмму слоя PRIMER 1 на палитре слоев (Layers) на один слой выше. Если палитра
слоев (Layers) не отображается на рабочем столе, выполните команду Window - Show Layes.
6. Соедините слой Primer 1 copy со слоем Background. Для этого перейдите на слой Primer 1
copy и выполните команду Layer - Merge Down (Слой - Склеить с нижним). Новый слой
теперь будет называться Background.
7. Примените к слою Background фильтр, выполнив команду Filter - Blur - Gaussian Blur
(Фильтр - Размытие - Размытие по Гауссу). В поле Radius (Радиус) установите 9,2.
Нажмите на кнопку OK.
8. Нa палитре инструментов выберите инструмент Type Tool (Текст) (Т). Щелкните мышью по
введенному тексту. Измените цвет шрифта. Нажмите на кнопку OK.
9. Сохраните документ в рабочей директории. Закройте документ.
9
10. Выполните команду File - New (Файл - Новый). В поле Name введите Primer2. В полях
Width и Height установите 10 см. В поле Mode установите Grayscale. Задайте фон
Transparent. Нажмите на кнопку OK.
11. Нa палитре инструментов выберите инструмент Type Tool (Текст) (Т). Установите курсор на
рабочем пространстве, выберите шрифт - Arial Black, цвет - черный, размер шрифта - 48.
Наберите текст - PRIMER 2. Нажмите на кнопку OK. Для текста автоматически создается еще
один слой. С помощью инструмента Move Tool (V) расположите текст посередине рабочего
пространства.
12. Выполните команду Layer - Effects - Drop Shadow (Слой - Стиль слоя - Отбросить тень)
для установки параметров тени. В поле Distance (Дистанция между буквами и тенью)
введите 15, в поле Opacity (прозрачность тени) - 50. Нажмите на кнопку OK.
13. .Сохраните документ в рабочей директории. Закройте документ.
14. Выполните команду File - New (Файл - Новый). В поле Name введите Primer3. В полях
Width и Height установите 10 см. В поле Mode установите RGB Color. Задайте белый цвет
фона, установив флажок White. Нажмите на кнопку OK.
15. Нa палитре инструментов выберите инструмент Type Tool (Текст) (Т). Установите курсор на
рабочем пространстве, выберите шрифт - Arial Black, цвет - черный, размер шрифта - 48.
Наберите текст - PRIMER 3. Нажмите на кнопку OK. Для текста автоматически создается еще
один слой. С помощью инструмента Move Tool (V) расположите текст посередине рабочего
пространства.
16. Соедините слой Primer 3 со слоем Background. Для этого перейдите на слой Primer 3 и
выполните команду Layer - Merge Down (Слой - Склеить с нижним). Новый слой теперь
будет называться Background.
17. Примените к слою Background фильтр, выполнив команду Filter - Blur - Gaussian Blur
(Фильтр - Размытие - Размытие по Гауссу). В поле Radius (Радиус) установите 4,5.
Нажмите на кнопку OK.
18. Нa палитре инструментов выберите инструмент Type Tool (Текст) (Т). Установите курсор на
рабочем пространстве. Введите тот же самый текст, не меняя настроек инструмента. С
помощью инструмента Move Tool (V) подгоните текст к его тени.
19. Сохраните документ в рабочей директории. Закройте документ.
Сверкающий текст
1. Установите цвет - желтый на черном.
2. Выполните команду File - New (Файл - Новый). В поле Name введите Primer4. В полях
Width и Height установите 5 см. В поле Mode установите RGB Color. В группе параметров
Contents установите Background Color (Цвет фона). Нажмите на кнопку OK.
3. Нa палитре инструментов выберите инструмент Type Tool (Текст) (Т). Установите курсор на
рабочем пространстве, выберите шрифт - Arial Black, цвет - желтый, размер шрифта - 24.
Наберите текст - PRIMER. Нажмите на кнопку OK. Для текста автоматически создается еще
один слой. С помощью инструмента Move Tool (V) расположите текст посередине рабочего
пространства.
4. Склейте слой текста со слоем фона. Для этого перейдите на слой Background и выполните
команду Layer - Merge Visible (Слой - Объединить с видимым).
5. Примените к слою Background фильтр, выполнив команду Filter - Blur - Gaussian Blur
(Фильтр - Размытие - Размытие по Гауссу). В поле Radius (Радиус) установите 2,4.
Нажмите на кнопку OK.
6. Выполните команду Filter - Stylize - Solarize (Фильтр - Стилизация - Сияние).
7. Выполните команду Filter - Distort - Polar Coordinates (Фильтр - Искажение - Полярные
координаты). Установите флажок Polar to Rectangular (Полярные в прямоугольные).
Нажмите на кнопку OK.
8. Инвертируйте изображение с помощью команды Image - Adjust - Invert.
9. Поверните изображение на 90 градусов по часовой стрелке с помощью команды Image Rotate Canvas - 90CW (Изображение - Вращение - 90 по часовой стрелке).
10. Выполните команду Filter - Stylize - Wind (Фильтр - Стилизация - Ветер). Переключатель
Method (Метод) установите в положение Wind, а переключатель Direction (Направление) в положение From the Left. Нажмите на кнопку OK. Дважды нажмите на клавиши CTRL+F
для повторения вышеописанных манипуляций.
11. Нажмите на клавиши CTRL+SHIFT+L для автоматической регулировки уровней, это позволит
выделить цвет на белом фоне.
10
12. Инвертируйте изображение с помощью команды Image - Adjust - Invert.
13. Дважды нажмите на клавиши CTRL+F.
14. Поверните изображение на 90 градусов против часовой стрелке с помощью команды Image Rotate Canvas - 90CCW (Изображение - Вращение - 90 против часовой стрелке).
15. Выполните команду Filter - Distort - Polar Coordinates (Фильтр - Искажение - Полярные
координаты). Установите флажок Rectangular to Polar (Прямоугольные в полярные).
Нажмите на кнопку OK.
16. Нa палитре инструментов выберите инструмент Type Tool (Текст) (Т). Установите курсор на
рабочем пространстве. Введите тот же самый текст, изменив цвет шрифта на черный. С
помощью инструмента Move Tool (V) подгоните текст к его светящейся тени.
17. Сохраните документ в рабочей директории. Закройте документ.
Горящий текст
1. Установите цвет - желтый на черном.
2. Выполните команду File - New (Файл - Новый). В поле Name введите Primer5. В полях
Width и Height установите 5 см. В поле Mode установите RGB Color. В группе параметров
Contents установите Background Color (Цвет фона). Нажмите на кнопку OK.
3. Нa палитре инструментов выберите инструмент Type Tool (Текст) (Т). Установите курсор на
рабочем пространстве, выберите шрифт - Times New Roman, Bold, цвет - желтый, размер
шрифта - 24. Наберите текст - FIRE. Нажмите на кнопку OK. Для текста автоматически
создается еще один слой. С помощью инструмента Move Tool (V) расположите текст
посередине рабочего пространства.
4. Объедините слой текста со слоем фона. Для этого перейдите на слой Background и
выполните команду Layer - Flatten Image (Слой - Выполнить сведение).
5. Выполните команду Filter - Pixelate - Cristallize. Установите значение параметра Cell Size
равным 7. Нажмите на кнопку OK.
6. Поверните изображение на 90 градусов по часовой стрелке с помощью команды Image Rotate Canvas - 90CW (Изображение - Вращение - 90 по часовой стрелке).
7. Выполните команду Filter - Stylize - Wind (Фильтр - Стилизация - Ветер). Переключатель
Method (Метод) установите в положение Wind, а переключатель Direction (Направление) в положение From the Right. Нажмите на кнопку OK. Дважды нажмите на клавиши CTRL+F
для повторения вышеописанных манипуляций.
8. Выполните команду Filter - Stylize - Wind (Фильтр - Стилизация - Ветер). Переключатель
Method (Метод) установите в положение Wind, а переключатель Direction (Направление) в положение From the Left. Нажмите на кнопку OK.
9. Выполните команду Filter - Distort - Ripple (Фильтр - Искажение - Рваный). В поле
Amount (Количество) установите - 55 %, в поле Size (Размер) - Medium (Средний).
Нажмите на кнопку OK.
10. Поверните изображение на 90 градусов против часовой стрелке с помощью команды Image Rotate Canvas - 90CCW (Изображение - Вращение - 90 против часовой стрелке).
11. Выполните команду Filter - Brush Strokes - Accented Edges. В поле Edge Width установите
2, в поле Edge Brightness - 31, в поле Smoothness - 5. Нажмите на кнопку OK.
12. С помощью команд Image - Adjust - Hue/Saturation, Image - Adjust - Color Balance,
Image - Adjust - Brightness/Contrast подберите соответствующую окраску текста, похожую
на огонь.
13. Нa палитре инструментов выберите инструмент Type Tool (Текст) (Т). Установите курсор на
рабочем пространстве. Введите тот же самый текст, изменив цвет шрифта на черный. С
помощью инструмента Move Tool (V) подгоните текст к его светящейся тени.
14. Сохраните документ в рабочей директории. Закройте документ.
Раскаленный текст
1. Установите цвет - черный на белом.
2. Выполните команду File - New (Файл - Новый). В поле Name введите Primer6. В полях
Width и Height установите 10 см. В поле Mode установите Grayscale. В группе параметров
Contents установите White. Нажмите на кнопку OK.
3. Нa палитре инструментов выберите инструмент Type Tool (Текст) (Т). Установите курсор на
рабочем пространстве, выберите шрифт - Arial Black, цвет - черный, размер шрифта - 48.
Наберите текст - PRIMER. Нажмите на кнопку OK. Для текста автоматически создается еще
11
4.
5.
6.
7.
8.
9.
10.
11.
12.
II.
один слой. С помощью инструмента Move Tool (V) расположите текст посередине рабочего
пространства.
Объедините слой текста со слоем фона. Для этого перейдите на слой Background и
выполните команду Layer - Flatten Image (Слой - Выполнить сведение).
Выполните команду Filter - Stylize - Find Edges.
Инвертируйте изображение с помощью команды Image - Adjust - Invert.
Примените к слою Background фильтр, выполнив команду Filter - Blur - Gaussian Blur
(Фильтр - Размытие - Размытие по Гауссу). В поле Radius (Радиус) установите 1,0.
Нажмите на кнопку OK.
Выполните команду Image - Mode - Indexed Color (Рисунок - Режим - Индексированный
цвет).
Выполните команду Image - Mode - Color Table (Рисунок - Режим - Цветовая таблица). В
пункте Table выберите позицию Black Body (Черное тело). Нажмите на кнопку OK.
Сохраните документ в рабочей директории.
Если к полученному рисунку применить инвертирование, получим неоновый (ярко-голубой)
цвет.
Закройте документ.
Самостоятельная работа
Рекомендуемое время
30 минут
Создайте рамку для изображения в соответствии с вариантом. Оформите надпись
различными способами. Эти изображения были отсканированы в режиме Color с разрешением 300
dpi.
По окончании работы удалите созданную Вами рабочую директорию.
Варианты
1
2
3
4
12
Исходные данные
Создайте рамку для
сверкающий текст.
Создайте рамку для
тенью.
Создайте рамку для
раскаленный текст.
Создайте рамку для
раскаленный текст.
изображения Image2.jpg. Оформите надпись PETERGOF изображения Image3.jpg. Оформите надпись LAKE - текст c
изображения Image4.jpg. Оформите надпись FALLS изображения Image5.jpg. Оформите надпись ONEGO -
Информационная технология обработки данных. Обработка фотографий.
КОД: 1234.01.01/ПТ.1234.03
Продолжительность:
160 мин.
Дисциплина:
Информационные технологии. Юнита № 1.
Предназначено:
Для студентов по направлению информатика и ВТ в соответствии с учебным планом.
Цель:
Знакомство с процессом обработки фотографий.
Результат обучения:
После успешного завершения занятия пользователь должен научиться создавать из
фотографии рисунок, реанимировать испорченную фотографию, состарить фотографию, используя
приложение Adobe Photoshop.
Используемые программы:
Windows 2000,
Adobe Photoshop
Используемые файлы:
Rose,jpg, Pic1.jpg, Image1.jpg, Image2.jpg, 1_1.jpg, 1_2.jpg, 1_3.jpg, 1_4.jpg,
2_1.jpg, 2_2.jpg, 3_1.jpg, 3_2.jpg, 3_3.jpg, 3_4.jpg
План занятия:
I.
Работа под руководством преподавателя
Знакомство с процессом обработки фотографий
II.
Самостоятельная работа
Запуск программы:
Предполагается, что требуемые программы уже инсталлированы на диске.
(См. «Инструкцию по установке программы на ПК»)
I.
80 минут
80 минут
Знакомство с процессом обработки фотографий
Создание рисунка на основе фотографии
Рекомендуемое время
80 минут
При графическом оформлении документов часто требуется иметь не фотографию, а
некоторый стилизованный под общую концепцию документа рисунок. Как это сделать, если у вас
есть только фотография, и нет способностей живописца или рисовальщика? Простое решение —
сделать нужный рисунок из уже имеющейся фотографии.
Сначала необходимо выбрать подходящую фотографию. Если такой фотографии в
электронном виде нет, то ее придется предварительно отсканировать. Описанный ниже способ
преобразования фотографического изображения лучше применять к изображениям, у которых фон
размыт, а передний план, наоборот, имеет четко выраженные границы.
1. На диске (например, на E:) \ создайте рабочую папку MyWork. Скопируйте в созданную папку
все файлы из директории E:\1234\ПТ_1234_03\.
2. Запустите приложение Adobe Photoshop.
3. Выполните команду Файл-Открыть. Выберите файл E:\MyWork\rose.jpg. Нажмите на
кнопку Открыть.
4. Выполните команду Image - Adjust - Desaturate для обесцвечивания изображения.
5. Примените фильтр Filter - Stylize - Glowing Edges. В поле Edge Width установите 2, в поле
Edge Brightness - 15, в поле Smoothness - 4. Нажмите на кнопку OK.
6. Выполните команду Image - Adjust - Levels. Нажмите на кнопки Auto и OK.
7. Инвертируйте изображение с помощью команды Image - Adjust - Invert.
8. Выполните команду Filter - Artistic - Cutout. В поле No. of Levels установите 7, в поле Edge
Simplicity - 1, в поле Fidelity - 2. Нажмите на кнопку OK.
9. Выполните команду Image - Adjust - Levels. В поле Input Levels установите соответственно
121, 1,00, 255. В поле Output Levels установите соответственно 38, 255. Нажмите на кнопку
OK.
10. Сохраните изображение с именем E:\MyWork\rose_new.jpg.
13
11. Выполните команду File - Close (Файл - Закрыть).
Реанимирование испорченной фотографии
Опыт по реставрации старинных фотографий может пригодиться в различных ситуациях. У
каждого в семейном архиве имеется хотя бы несколько старинных фотографий предков. За свою
долгую жизнь эти фото порядком поизносились, а порой даже утратили некоторые фрагменты. И
если для восстановления такого снимка в действительности потребуются специальное
оборудование и мастера, то реставрировать его электронный аналог гораздо проще. Это вы можете сделать сами без специального оборудования, используя лишь подходящий графический
редактор. Разумеется, что фотография, требующая реставрации, должна быть введена в
компьютер и храниться в нем в виде файла графического формата. Лучше всего это сделать с
помощью сканера.
На первом этапе следует отсканировать фотографию. Несмотря на то, что фотография
черно-белая, сканировать ее следует в цветном режиме. После сканирования необходимо файл с
этой фотографией в графическом редакторе Adobe Photoshop.
Основным инструментом по удалению погрешностей на фотографии является Rubber
Stamp Tool (Штамп). С его помощью можно на место крупных трещин или пятен «клонировать»
хорошие участки, заимствованные из других областей фотографии. Чтобы исправленное место не
выделялось своей однообразностью, следует брать образцы из разных участков фотографии.
Некоторые мелкие царапины можно просто подкрасить соответствующим цветом.
В первую очередь убираются явные и крупные недостатки на однородных областях
изображения. Затем переходят к работе над фигурой человека. Убрать царапины на одежде
особого труда не составляет. Однако необходимо быть очень внимательными на этапе удаления
недостатков с лица, рук и прочих мелких деталей фотографии
Описанный выше способ реанимации фотографий, естественно, не единственный для
решения такого рода задач. Нередко используется метод реставрации с помощью фильтра Filter Blur - Gaussian Blur (Фильтр - Размытие - Размытие по Гауссу). Суть этого способа
заключается в том, что этим фильтром все исходное изображение сначала максимально
размывается, а затем, используя инструмент History Brush (Историческая кисть),
восстанавливают только сохранившиеся участки изображения.
1. Выполните команду Файл-Открыть. Выберите файл E:\MyWork\pic1.jpg. Нажмите на
кнопку Открыть.
2. Выполните команду Image - Mode - Grayscale. Нажмите на кнопку OK.
3. Выполните команду Filter - Blur - Gaussian Blur (Фильтр - Размытие - Размытие по
Гауссу). В поле Radius (Радиус) установите 2,0. Нажмите на кнопку OK.
4. Дважды щелкните мышкой на инструменте Rubber Stamp Tool (Штамп) на панели
инструментов. На экране появится палитра параметров для настройки. Установите режим
Normal. В поле Opacity (Непрозрачность) установите 100%. Установите флажки Use All
Layers, Aligned. Закройте окно параметров настройки инструмента Rubber Stamp Tool
(Штамп).
5. Если палитры Brushes (Кисти) нет на экране, выполните команду Windows-Show Brushes.
Выберите третью кисть слева из среднего ряда.
6. Нажмите на клавишу Alt и щелкните мышкой недалеко от края дефектной области, при этом
производится установка курсора-перекрестья в начальную точку формирования образцаисточника изображения.
7. Щелкните и тащите курсор инструмента Rubber Stamp Tool вверх, начиная от нижнего края
дефектной области до тех пор, пока курсор-перекрестье не достигнет точки, с которой Вы
начали копирование. Происходит замещение участка дефектной области фрагментом из
неиспорченной части фотографии. Не допускайте перемещения курсора-образца внутрь
дефектной области, так как в этом случае она становится источником материала для
копирования. Аналогичным образом устраните другие имеющиеся дефекты изображения.
8. Сохраните изображение с именем E:\MyWork\pic1_new.jpg.
9. Выполните команду File - Close (Файл - Закрыть).
Состаривание фотографии
1. Выполните команду Файл-Открыть. Выберите файл E:\MyWork\image1.jpg. Нажмите на
кнопку Открыть.
14
2. Выполните команду Layer - New - Adjustment Layer. В поле Type установите
Hue/Saturation. Нажмите на кнопку OK. Установите флажок Colorize. В поле Hue установите
36, в поле Saturation - 36, в поле Lightness +3. Нажмите на кнопку OK. В результате
получим черно-белое изображение с некоторой характерной для старинных фотографий
желтизной.
3. На палитре Layers (Слои) выберите слой с первоначальной фотографией Background.
4. Для уменьшения контрастности изображения выполните команду Layer - New - Adjustment
Layer. В поле Type установите Levels. Нажмите на кнопку OK. В поле Input Levels
установите соответственно 17 - 1,46 - 238; в поле Output Levels - 18, 198. Нажмите на кнопку
OK.
5. На палитре Layers (Слои) выберите слой с первоначальной фотографией Background.
6. Для снижения яркости черных и белых тонов выполните команду Layer - New - Adjustment
Layer. В поле Type установите Curves и нажмите на кнопку OK. Установите на графике с
помощью мыши точки в соответствии с рисунком:
Нажмите на кнопку OK.
7. На палитре Layers (Слои) выберите слой с первоначальной фотографией Background.
8. Выполните команду Filter - Artistic - Film Grain. В поле Grain установите 3, в поле Highlight
Area - 0, в поле Intensity -1. Нажмите на кнопку OK.
9. Объедините имеющиеся слои с помощью команды Layer - Merge Visible (Слой Объединить с видимым). На палитре Layers (Слои) в результате должен остаться только
один слой Background.
10. Добавьте царапины, трещины. Это можно сделать с помощью инструмента Pencil Tool
(Карандаш). Необходимо подобрать значение параметра инструмента Brush - след, который
оставляет карандаш, а также толщину линии. Если палитры Brushes (Кисти) нет на экране,
выполните команду Windows-Show Brushes. Выберите первую кисть слева из верхнего ряда.
Добавьте царапины, трещины.
11. Сохраните изображение с именем E:\MyWork\image1_new.jpg.
12. Выполните команду File - Close (Файл - Закрыть).
Замена цвета
1. Выполните команду Файл - Открыть. Выберите файл E:\MyWork\rose.jpg. Нажмите на
кнопку Открыть.
2. Выполните команду Image - Adjust - Replace Color (Рисунок - Установка - Замена
цвета). В окне Replace Color (Замена цвета) установите флажок Image, и активной
пипеткой выберите на изображении цвет, который будите изменять. Этот цвет отобразится в
окне Sample (Образец). Затем, изменяя положение бегунков Hue (Цветовой тон),
Saturation (Насыщенность), Lightness (Яркость) замените цвет, например, на желтый или
сиреневый. Нажмите на кнопку OK.
3. Сохраните изображение с именем E:\MyWork\rose1.jpg.
4. Выполните команду File - Close (Файл - Закрыть).
15
Замена цвета фрагмента изображения
Бывают ситуации, когда требуется изменить цвет не всего изображения, а только одного
или нескольких его (фрагментов). Для этого необходимо выбрать исходное изображение и
выделить на нем фрагмент, цвет которого будем изменять. Это можно сделать с помощью
инструмента Lasso Tool (Волшебное лассо). Им очень удобно выделять однотонные объекты
неправильной формы. Затем необходимо выполнить команду меню Image - Adjust - Replace
Color (Рисунок - Установка - Заменить цвет) и в открывшемся окне Replace Color установить
цветовые параметры.
1. Выполните команду Файл - Открыть. Выберите файл E:\MyWork\image2.jpg. Нажмите на
кнопку Открыть.
2. С помощью инструмента Lasso Tool (Волшебное лассо) выделите фрагмент, цвет которого
хотите изменить.
3. Выполните команду меню Image - Adjust - Replace Color (Рисунок - Установка Заменить цвет). Установите флажок Image. Подберите с помощью бегунков цвет в окошке
Sample. Щелкните мышкой в окошке с выбранным фрагментом. Нажмите на кнопку OK.
4. Сохраните изображение с именем E:\MyWork\image2_new.jpg.
5. Выполните команду File - Close (Файл - Закрыть).
II.
Самостоятельная работа
Выполните задание в соответствии с вариантом.
1. Создайте рисунок на основе фотографии.
2. Реанимируйте фотографию.
3. Состарьте фотографию.
4. Измените цвет фрагмента фотографии.
Сохраните фотографии под другим именем в рабочей директории.
По окончании работы удалите созданную Вами рабочую директорию.
Варианты
1
2
3
4
16
Исходные данные
1.
2.
3.
4.
1.
2.
3.
4.
1.
2.
3.
4.
1.
2.
3.
4.
1_1.jpg
2_1.jpg
3_1.jpg
1_1.jpg
1_2.jpg
2_2.jpg
3_2.jpg
1_2.jpg
1_3.jpg
2_1.jpg
3_3.jpg
1_3.jpg
1_4.jpg
2_2.jpg
3_4.jpg
1_4.jpg
Рекомендуемое время
80 минут
Информационная технология экспертных систем. Комбинирование
растровой графики.
КОД: 1234.02.01/ПТ.1234.04
Продолжительность:
160 мин.
Дисциплина:
Информационные технологии. Юнита № 2.
Предназначено:
Для студентов по направлению информатика и ВТ в соответствии с учебным планом.
Цель:
Знакомство с процессом комбинирования растровой графики.
Результат обучения:
После успешного завершения занятия пользователь должен научиться комбинировать
растровые изображения.
Используемые программы:
Windows 2000,
Adobe Photoshop,
CorelDraw
Используемые файлы:
Pic1.jpg, Image1.jpg, Image2.jpg, Toothpaste.cmx
План занятия:
I.
Работа под руководством преподавателя
130 минут
Комбинирование фрагментов растровой графики
Комбинирование растровой и векторной графики
II.
Самостоятельная работа
30 минут
Запуск программы:
Предполагается, что требуемые программы уже инсталлированы на диске.
(См. «Инструкцию по установке программы на ПК»)
I.
Знакомство с процессом комбинирования фрагментов растровой графики
Рекомендуемое время
130 минут
1.1. Комбинирование фрагментов растровой графики
Одним из самых распространенных трюков при создании рекламных плакатов и т. п.
являются коллажи. Коллаж - это рисунок, в котором сочетаются несколько других рисунков,
текст, фон и т. п. В результате такого смешения появляется иное, новое изображение.
Замена фона
Самая простая задача коллажа заключается в замене фона некоторого изображения. Это
может пригодиться при создании, например, иллюстрированных прайс-листов или каталогов, когда
в качестве исходных материалов имеются только, фотографии объектов на различных фонах или
на одном, но неподходящем; фоне, а хотелось бы иметь единый фон для всей группы графических
объектов. Для создания такого рода коллажей сначала необходимо подобрать (или отсканировать)
изображение, которое мы используем в качестве объекта переднего плана, а также рисунок,
который послужит фоном.
1. На диске (например, на E:) \ создайте рабочую папку MyWork. Скопируйте в созданную папку
все файлы из директории E:\1234\ПТ_1234_04\.
2. Запустите приложение Adobe Photoshop.
3. Выполните команду Файл-Открыть. Выберите файл E:\MyWork\Pic1.jpg. Нажмите на
кнопку Открыть.
4. Выберите на панели инструментов инструмент Lasso Tool (Лассо). С его помощью выделите
изображение астронавта. Лучше "прихватить" и прилегающие к нему участки изображения.
5. Скопируйте в буфер созданное выделение с помощью команды Edit - Copy (Правка Копировать). Снимите выделение с помощью команды Select - Deselect (Выделение Снять).
17
6. Выполните команду Filter - Blur - Gaussian Blur (Фильтр - Размытие - Размытие по
Гауссу). В поле Radius (Радиус) установите 53,0. Нажмите на кнопку OK. В итоге
изображение должно превратиться почти в однородный фон. Это будет фоновое изображение.
7. Выполните команду Edit - Paste (Правка - Вставить) и вставьте ранее скопированный
фрагмент. Вместе с астронавтом скопировались и лишние участки изображения.
8. Увеличьте яркость рисунка, чтобы хорошо просматривались границы основного изображения.
Для этого выполните команду Image - Adjust - Brightness/Contrast… Увеличьте значение
Brightness на 20 позиций.
9. Выберите инструмент Eraser Tool (Ластик) и сотрите лишнее. Эта процедура делится на два
этапа. На первом этапе размер ластика выбирается побольше. Им удаляются большие участки
лишнего изображения. Близкие к объекту участки обрабатываются особенно внимательно,
ластиком меньшего размера.
10. Сделайте надпись в нижней части изображения: Astronaut. Тип надписи - сверкающий текст.
11. Сохраните изображения в рабочей директории c именем E:\MyWork\Pic1_new.jpg.
12. Выполните команду File - Close (Файл - Закрыть).
Фотомонтаж.
Фотомонтаж - это совмещение нескольких изображений фотографического качества, при
котором получается новое единое изображение. Фотомонтаж является одним из основных
способов создания коллажа и часто используется в дизайнерской и оформительской работе.
1. Выполните команду Файл-Открыть. Выберите файл E:\MyWork\Image1.jpg. Нажмите на
кнопку Открыть. Это изображение переднего плана.
2. Выполните команду Файл-Открыть. Выберите файл E:\MyWork\Image2.jpg. Нажмите на
кнопку Открыть. Это изображение будет служить фоном.
3. Перейдите к документу с изображением акулы.
4. Выполните команду Image - Rotate Canvas - Flip Horizontal.
5. Выберите на панели инструментов инструмент Lasso Tool (Лассо). С его помощью выделите
изображение акулы.
13. Скопируйте в буфер созданное выделение с помощью команды Edit - Copy (Правка Копировать). Снимите выделение с помощью команды Select - Deselect (Выделение Снять).
6. Перейдите ко второму документу.
7. Выполните команду Edit - Paste (Правка - Вставить) и вставьте ранее скопированный
фрагмент. Вместе с акулой скопировались и лишние участки изображения.
8. С помощью инструмента Move Tool (V) расположите акулу справа от паруса.
9. Выберите инструмент Eraser Tool (Ластик) и сотрите лишнее.
10. Сохраните изображение с именем E:\MyWork\Image3.jpg.
11. Выполните команду File - Close (Файл - Закрыть).
1.2. Комбинирование растровой и векторной графики
1. Запустите CorelDraw. Нажмите на кнопку Создать графику.
2. Выполните
команду
Файл
Импортировать.
Выберите
файл
именем
E:\MyWork\Image3.jpg. Установите параметр Все изображения. Нажмите на кнопку
Импорт. После закрытия диалогового окна указатель мыши превратится в указатель импорта
("уголок") с указанием имени файла, из которого импортируется изображение. С помощью
этого указателя можно задать местоположение импортируемого рисунка и его размер.
3. Подберите необходимые размеры изображения так, чтобы картинка располагалась в верхней
части рабочего листа.
4. Выполните
команду
Файл
Импортировать.
Выберите
файл
именем
E:\MyWork\Image3.jpg. Установите параметр Кадрировать. Нажмите на кнопку Импорт.
Откроется диалоговое окно Обрезка рисунка. Выделите фрагмент - парус. Нажмите на
кнопку OK. Расположите парус ниже первого рисунка.
5. Сохраните изображение с именем E:\MyWork\Image4.cdr.
6. Выполните команду Файл - Закрыть.
7. Выполните команду Файл - Открыть. Выберите файл E:\MyWork\Toothpaste.cmx. Нажмите
на кнопку Открыть.
18
8. Выделите рисунок. Выполните команду Растровое изображение - Преобразовать в
растровое изображение. Откроется диалоговое окно Преобразование в растровое
изображение. Установите цвет - Градации серого цвета. Установите разрешение - 300 dpi.
Нажмите на кнопку OK.
9. Выделите изображение. Вызовите контекстное меню. Выберите команду Сохранить растр
как. Укажите тип файла JPG-JPEG Bitmaps. Укажите имя файла E:\MyWork\Image5.jpg.
Нажмите на кнопку Экспорт. Нажмите на кнопку Да.
10. Выполните команду Файл - Закрыть, изображение не сохраняйте.
11. Просмотрите изображение E:\MyWork\Image5.jpg в Adobe Photoshop.
II.
Самостоятельная работа
Рекомендуемое время
30 минут
Подберите два изображения из директории E:\1234. Измените фон изображений.
Выполните коллаж изображений. Преобразуйте изображение в векторное. Создайте надпись для
векторного изображения.
19
Информационная технология обработки данных. Экспертные системы
анализа обучения.
КОД: 1234.02.01/ПТ.1234.05
Продолжительность:
160 мин.
Дисциплина:
Информационные технологии. Юнита № 2.
Предназначено:
Для студентов по направлению информатика и ВТ в соответствии с учебным планом.
Цель:
Знакомство с простейшими экспертными системами.
Результат обучения:
После успешного завершения занятия пользователь должен научиться создавать
простейшие экспертные системы.
Используемые программы:
Windows 2000,
Turbo Pascal
План занятия:
I.
Работа под руководством преподавателя
100 минут
Разработка экспертной системы анализа обучения
II.
Самостоятельная работа
60 минут
Запуск программы:
Предполагается, что требуемые программы уже инсталлированы на диске.
(См. «Инструкцию по установке программы на ПК»)
I.
Разработка экспертной системы анализа обучения
Рекомендуемое время
100 минут
Можно сказать, что затруднения в учебе —результат сложного взаимодействия различных
факторов. Проводя исследования в области обучения, приходится принимать во внимание
огромное число факторов.
Сегодня общепринятым методом исследований являются использование стандартных
тестов и сбор данных. Тесты применяются в основном для оценки в общеобразовательных
дисциплинах, например чтении, правописании или арифметики. Кроме того, они дают возможность
оценить словарный запас и умение точно выражать свои мысли. В процессе тестирования
собирается информация, относящаяся как к дошкольному, так и к школьному периоду. Собранная
информация включает сведения о школьной и домашней среде и служит для оценки
психологических и социальных аспектов процесса обучения. Исследователь анализирует
результаты тестов, выполняет необходимые вычисления, выявляет ключевые трудности
восприятия материала, обобщает данные, касающиеся социальных и психологических аспектов, и
дает оценку способностей ребенка к обучению.
Экспертная система, охватывающая весь круг проблем, возникающих при обучении,
должна работать аналогично. Система анализа обучения (САО) может выполнять полный цикл
исследований, обеспечивая глубокий и точный анализ. Конечно, оценки, которые дает человек, до
известной степени субъективны. Люди часто рассматривают лишь небольшое число фактов и
делают поспешные выводы. Система же, подобная САО, может "руководить" исследователем, не
позволяя пропускать существенные факты, и заставляя его более объективно выполнять
логические выводы. Человеческий мозг, в отличие от компьютера, просто не в состоянии
одновременно и систематично обработать всю необходимую информацию.
САО не делает категоричных выводов. Она лишь точно локализует конкретные пробелы в
обучении, определяет их диапазон и дает возможность исследователю вынести окончательное
суждение и дать рекомендации. Все это достигается с помощью:
1) организации данных по разделам и подразделам;
2) перечисления всех относящихся к каждому подразделу фактов;
3) установления весовых факторов для фактов и определения уровня решения;
4) верификации данных.
Организации данных по разделам и подразделам
20
В большинстве работ, посвященных этой теме, были выделены следующие разделы,
данными из которых пользуется система: образование, биология и физиология, психология,
социология.
Совокупность данных по каждому из разделов позволяет судить об ошибках при обучении
и индивидуальных особенностях человека, мешающих воспринимать материал. Каждый раздел
содержит огромное количество материала, который целесообразно выделить в подразделы:
А. Образование
А-1. Чтение
А-2. Арифметика
Б. Биология и физиология
Б-1. Наследственные факторы
В. Психология
В-1. Самоуверенность
Перечисление фактов
Для каждого раздела и подраздела выбирается относящийся к нему набор фактов.
Понятно, что для обучения существует гораздо больше фактов, чем приведено ниже. Это лишь
малая, взятая для простоты часть фактов, использующихся в реальной САО. Справа от каждого
факта в скобках указан его весовой фактор.
А. Образование
А-1. Чтение
А-1.1. Произношение
А-1.1.1. Распознавание букв алфавита (1)
А-1.1.2. Произнесение слов без пропуска и изменения букв (1)
А-1.1.3. Верная расстановка акцентов (1)
А-1.1.4. Правильное разбиение слов на части (1)
А-1.1.5. Запоминание и воспроизведение звуков, соответствующих
буквам слова (1)
А-1.2. Понимание
А-1.2.1. Запоминание фактов (1)
А-1.2.2. Представление общей картины (1)
А-1.2.3. Словарный запас (1)
А-1.2.4. Знакомство с понятиями (1)
А-2. Арифметика
А-2.1. Сложение однозначных чисел (1)
А-2.2. Сложение многозначных чисел (1)
А-2.3. Вычитание однозначных чисел (1)
А-2.4. Вычитание многозначных чисел (1)
А-2.5. Умножение однозначных чисел (1)
А-2.6. Умножение многозначных чисел (1)
А-2.7. Деление без остатка (1)
А-2.8. Деление с остатком (1)
Б. Биология и физиология
Б-1. Наследственные факторы
Б-1.1. Неспособность к обучению родителей (1)
Б-1.2. Неспособность к обучению родных братьев и сестер
(не близнецов) (1)
Б-1.3. Неспособность к обучению близнецов (1)
Б-1.4. Хромосомные аномалии или наследственные болезни в семье (1)
В. Психология
В-1. Самоуверенность
В-1.1. Отказ от работы (1)
В-1.2. Необоснованность поступков (1)
В-1.3. Позерство (1)
Назначение весовых факторов и определение уровней решения
Числа в скобках, стоящие справа от каждого факта, представляют собой весовые факторы.
Весовые факторы необходимы при принятии решений. В нашем примере все весовые факторы
имеют значение 1. Поскольку весовые факторы по сути дела указывают на степень важности
фактов, все факты в примере вносят одинаковый вклад при оценке трудностей, препятствующих
усвоению материала. В системе существуют установленные уровни решения. Каждый факт может
иметь значение для выявления затруднений. Если многие факты говорят о затруднениях,
считается, что затруднения большие, если же фактов немного, то на затруднения можно не
обращать внимание. При определении затруднений суммируются веса входящих в определенные
подразделы фактов, т.е. фактов, относящихся к арифметике, внимательности и т.д. Полученная
сумма называется общим весовым фактором. Наименьшая сумма весовых факторов в пределах
21
подраздела, при которой можно говорить о затруднениях в усвоении материала, называется
уровнем решения. Если общий весовой фактор какого-либо человека в пределах подраздела равен
или превышает уровень решения, считается, что человек испытывает затруднения при изучении
материала в соответствующей области. Например, если речь идет о наследственности и для этого
раздела установлен уровень решения, равный единице, а по результатам тестирования общий
весовой фактор составляет 2 или более, есть вероятность, что человек испытывает трудности изза наследственности. Достаточно, чтобы имел место хотя бы один фактор этого раздела, поскольку
все они имеют весовой фактор, равный 1.
Значения уровням решения присваиваются на основании результатов тестирования и
исследовательских работ. Тестируя группу людей, исследователь определяет для проблемной
области степень трудности. Конечно, более полные исследования могут дать результаты,
позволяющие уточнить значения весовых факторов и уровней решения.
Для всех фактов каждого раздела составляются определенные вопросы. Вопросы
формулируются так, чтобы ответы на них позволяли учитывать или не учитывать соответствующий
фактор. Отрицательный ответ указывает, что факт не учитывается. Исследователь сидит за
компьютером и просто отвечает на вопросы. Если он вводит положительный ответ (ДА), значение
весового фактора (в примере всегда 1) соответствующего факта добавляется к общей сумме. Если
же он вводит отрицательный ответ (НЕТ), общая сумма остается без изменений. Весовые факторы
суммируются по подразделам. Если общий весовой фактор равен или превышает уровень решений
для подраздела, делается вывод, что согласно этому подразделу выявлены затруднения, о чем и
информируется исследователь. Подразделов, для которых превышен уровень решения, может быть
несколько: чем их больше — тем серьезнее затруднения. Если уровень в нашем примере превышен
в трех подразделах, то это значит, что существуют серьезные затруднения, если в двух —
затруднения не велики, а если в одном — то затруднений совсем нет или нужно продолжать
исследования.
1. Система вычисляет общий весовой фактор, суммируя весовые факторы всех фактов, на
вопросы, о которых был получен положительный ответ.
2. Для каждого подраздела система проверяет превышение уровня решения.
3. На печать выводится название и номер каждого подраздела, в котором превышен
уровень решения.
4. В зависимости от числа таких подразделов система определяет степень затруднений или
их отсутствие.
Пример работы системы
Имя ребенка? Петров Иван
Возраст? 7 лет 8 месяцев
Класс? 1 класс, 4 четверть
Дата проверки? 7 июня 2004 года
Имя исследователя? Смирнова Галина
А. Образование
А-1. Чтение
А-1.1. Произношение
Ребенок испытывает затруднения при:
А-1.1.1. Распознавании букв алфавита? НЕТ
А-1.1.2. Произнесении слов без пропуска и изменения букв? ДА
А-1.1.З. Верной расстановке акцентов? ДА
А-1.1.4. Правильном разбиении слов на части ? ДА
А-1.1.5. Запоминании и воспроизведении звуков, соответствующих
буквам слова ? ДА
Общий весовой фактор = 4
Уровень решения = 2
Оценка за тест = 5 класс, 2 четверть
А-1.2. Понимание
Ребенок испытывает затруднения при:
А-1.2.1. Запоминании фактов? НЕТ
А-1.2.2. Представлении общей картины? ДА
А-1.2.3. Понимании трудных слов? НЕТ
А-1.2.4. Толковании понятий? ДА
Общий весовой фактор = 2
Уровень решения = 1
Оценка за тест = 4 класс, 2 четверть
22
А-2. Арифметика
Ребенок испытывает затруднения при:
А-2.1. Сложении однозначных чисел? НЕТ
А-2.2. Сложении многозначных чисел? НЕТ
А-2.3. Вычитании однозначных чисел? НЕТ
А-2.4. Вычитании многозначных чисел? НЕТ
А-2.5. Умножении однозначных чисел? НЕТ
А-2.6. Умножении многозначных чисел? НЕТ
А-2.7. Делении без остатка? НЕТ
А-2.8. Делении с остатком? НЕТ
Общий весовой фактор =0
Уровень решения = 2
Оценка за тест = 8 класс, 1 четверть
Б. Биология и физиология
Б-1. Наследственные факторы
Б-1.1. Родители ребенка проявляли неспособность к обучению? ДА
Б-1.2. Родные братья и сестры (не близнецы) проявляли неспособность
к обучению? НЕТ
Б-1.3. Близнецы проявляли неспособность к обучению? НЕТ
Б-1.4. Были ли хромосомные аномалии или наследственные
болезни в семье? НЕТ
Общий весовой фактор = 1
Уровень решения = 1
В. Психология
В-1. Самоуверенность
Ребенок:
В-1.1. Отказывается от работы? НЕТ
В-1.2. Не мотивирует поступки? ДА
В-1.3. Старается показать себя с лучшей стороны? НЕТ
Общий весовой фактор = 1
Уровень решения = 3
Результаты исследования
Уровень решения превышен в следующих подразделах:
1) произношение при чтение;
2) понимание при чтении;
3) наследственные факторы.
Общее число подразделов с превышенным уровнем решения: 3.
Результат 3 указывает на серьезные трудности.
Результат 2 указывает на легкие затруднения.
Результат 1 или 0 указывает на отсутствие затруднений.
Верификация решения с помощью механизма вывода
Подсчитав общие весовые факторы и выявив подразделы, в которых превышен уровень
решения, можно сказать, что цель достигнута. Но для того чтобы проверить, верно ли она
достигнута, нужно разработать метод верификации ответов на вопросы. Другими словами, нужно
придумать способ проверки непротиворечивости ответов, используя некоторую числовую
процедуру. Верификация выполняется с помощью ввода новых данных и их сравнения с
исходными. Сравнение этих двух совокупностей данных является одной из функций механизма
логического вывода. Ранее упоминались специальные тесты, применяемые при оценке обучения.
Оценка за тест дается в понятиях возраста или класса, она должна соответствовать возрасту
испытуемого или классу, в котором он учится. Например, 8-летний ребенок должен набрать при
тестировании результат, соответствующий 3 классу или 8-летнему возрасту. Если результат ниже,
считается, что ребенок испытывает затруднения при усвоении знаний в некоторой области. Чем
ниже результат, тем более серьезны затруднения. Соответственно чем выше результаты, тем
затруднения меньше.
Верификация выполняется для данных тех подразделов, в которых превышен уровень
решения, и в том случае, если в результате тестирования установлено наличие трудностей. Если
уровень решения не превышен, и тест не выявил затруднений, значит их в самом деле нет. Если
же обнаружено противоречие (например, плохая оценка за тест, а уровень решения не превышен;
или оценка за тест хорошая, а уровень решения превышен), система выведет сообщение об
ошибке. Для верификации можно использовать правила ЕСЛИ-ТО. В правилах и содержатся новые
23
данные, которые будут сравниваться с общими весовыми факторами/ Правила могут иметь такой
вид:
1) ЕСЛИ результат тестирования на произношение при чтении ниже возраста или класса
испытуемого, ТО в подразделе «Произношение при чтении» должно быть указание по крайней
мере на одно затруднение;
2) ЕСЛИ результат тестирования на понимание прочитанного ниже возраста или класса
испытуемого, ТО в подразделе «Понимание прочитанного» должно быть указание по крайней мере
на одно затруднение",
3) ЕСЛИ результат тестирования на произношение при чтении ниже возраста или класса
испытуемого более чем на 2, ТО результирующий весовой фактор будет равен или выше уровня
решения для произношения при чтении;
4) ЕСЛИ результат тестирования на произношение при чтении ниже возраста или класса
испытуемого более чем на 2, ТО результирующий весовой фактор будет равен или выше уровня
решения понимания прочитанного.
Подобные правила могут быть сформулированы для всех подразделов. Если исследователь
ошибся (предположим, что он ответил отрицательно на все вопросы подраздела "Произношение
при чтении", но результат теста показал несоответствие испытуемого возрасту или классу именно
по этому подразделу).
5. На диске E:\ создайте рабочую папку MyWork.
6. Запустите Turbo Pascal.
7. Введите текст программы:
Программа разбита на 4 части.
1. Блок инициализации, в котором присваиваются значения весовым факторам.
2. Блок приема данных от пользователя.
3. Блок данных, использующихся для анализа.
4. Блок механизма вывода для анализа.
{ЭКСПЕРТНАЯ СИСТЕМА АНАЛИЗА ОБУЧЕНИЯ}
PROGRAM TRAINING;
VAR W:ARRAY[1..100] OF INTEGER; {МАССИВ ВЕСОВЫХ КОЭФФИЦИЕНТОВ}
A:ARRAY[1..10] OF STRING;
{МАССИВ ОТВЕТОВ}
D:ARRAY[1..20] OF STRING;
{МАССИВ ПРИЗНАКОВ ЗАТРУДНЕНИЙ}
I,DP,WP,AM,AY,GM,GY,DD,DM,DY,TM,TY:INTEGER;
DL,TB,Y,M,S,SE:INTEGER;
NP,NE,K:STRING;
{МЕХАНИЗМ ВЫВОДА}
PROCEDURE OUTPUT;
BEGIN
{ОЦЕНКА ЗА ТЕСТ РАВНА ИЛИ НИЖЕ КЛАССА РЕБЕНКА}
TB:=0;
{ОЦЕНКА ЗА ТЕСТ НИЖЕ, ЕСЛИ TB=1}
Y:=GY-TY; M:=GM-TM;
IF Y>0 THEN TB:=1;
IF (Y=0) AND (M>0) THEN TB:=1;
IF TB=1 THEN WRITELN('ОЦЕНКА ЗА ТЕСТ НИЖЕ СРЕДНЕГО');
{ЕСЛИ ПОСЛЕ ОТВЕТОВ НА ВОПРОСЫ ОБЩИЙ ВЕСОВОЙ ФАКТОР}
{БОЛЬШЕ ИЛИ РАВЕН УРОВНЮ РЕШЕНИЯ - ЕСТЬ ЗАТРУДНЕНИЯ}
S:=0; {ИНИЦИАЛИЗАЦИЯ ОБЩИХ ВЕСОВЫХ КОЭФФИЦИЕНТОВ}
FOR I:=1 TO SE DO
IF A[I]='Д' THEN
BEGIN
S:=W[WP]+S;
WP:=WP+1;
END;
WRITELN('ОБЩИЙ ВЕСОВОЙ ФАКТОР:',S);
IF S>=DL THEN
24
BEGIN
WRITELN('УРОВЕНЬ РЕШЕНИЯ ПРЕВЫШЕН');
D[DP]:=K;
DP:=DP+1;
END;
{ОПРЕДЕЛЕНИЕ ПРОТИВОРЕЧИЙ}
IF (S>=DL) AND (TB=0) THEN WRITELN('ПРОТИВОРЕЧИЕ-УРОВЕНЬ
ПРЕВЫШЕН, А ОЦЕНКА ХОРОШАЯ');
IF (S<DL) AND (TB=1) THEN WRITELN('ПРОТИВОРЕЧИЕ-УРОВЕНЬ
НЕ ПРЕВЫШЕН, А ОЦЕНКА ПЛОХАЯ');
END;
BEGIN
FOR I:=1 TO 100 DO W[I]:=1;
FOR I:=1 TO 10 DO A[I]:='';
FOR I:=1 TO 20 DO D[I]:='';
DP:=1;
{УКАЗАТЕЛЬ НА ПРИЗНАК ЗАТРУДНЕНИЙ}
WP:=1;
{УКАЗАТЕЛЬ НА ВЕСОВЫЕ ФАКТОРЫ}
WRITE('ИМЯ ИСПЫТУЕМОГО РЕБЕНКА:'); READLN(NP);
WRITE('ВОЗРАСТ РЕБЕНКА,ГОД-МЕСЯЦ:'); READLN(AY,AM);
WRITE('КЛАСС,ГОД-МЕСЯЦ:'); READLN(GY,GM);
WRITE('ДАТА ПРОВЕРКИ ДЕНЬ-МЕСЯЦ-ГОД:'); READLN(DD,DM,DY);
WRITE('ИМЯ ИССЛЕДОВАТЕЛЯ:'); READLN(NE);
WRITE('ОЦЕНКА ЗА ТЕСТ НА ПРОИЗНОШЕНИЕ ПРИ ЧТЕНИИ
ГОД-МЕСЯЦ:'); READLN(TY,TM);
WRITE('УРОВЕНЬ РЕШЕНИЯ:'); READLN(DL);
WRITELN('РЕБЕНОК ЗАТРУДНЯЕТСЯ В');
WRITE('РАСПОЗНАВАНИИ БУКВ АЛФАВИТА:'); READLN(A[1]);
WRITE('ПРОИНЕСЕНИИ СЛОВ БЕЗ ПРОПУСКА И ИЗМЕНЕНИЯ БУКВ:');
READLN(A[2]);
WRITE('ВЕРНОЙ РАССТАНОВКЕ АКЦЕНТОВ:'); READLN(A[3]);
WRITE('ПРАВИЛЬНОМ РАЗБИЕНИИ СЛОВ НА ЧАСТИ:'); READLN(A[4]);
WRITE('ЗАПОМИНАНИИ/ВОСПРОИЗВЕДЕНИИ ЗВУКОВ'); READLN(A[5]);
WRITELN('ПРОИЗНОШЕНИЕ ПРИ ЧТЕНИИ');
K:='ПРОИЗНОШЕНИЕ ПРИ ЧТЕНИИ';
SE:=5;
OUTPUT;
WRITE('ОЦЕНКА ЗА ТЕСТ НА ПОНИМАНИЕ ПРОЧИТАННОГО
ГОД-МЕСЯЦ:'); READLN(TY,TM);
WRITE('УРОВЕНЬ РЕШЕНИЯ:'); READLN(DL);
WRITELN('РЕБЕНОК ЗАТРУДНЯЕТСЯ В:');
WRITE('ЗАПОМИНАНИИ:'); READLN(A[1]);
WRITE('ПРЕДСТАВЛЕНИИ ОБЩЕЙ КАРТИНЫ:'); READLN(A[2]);
WRITE('ПОНИМАНИИ ТРУДНЫХ СЛОВ:'); READLN(A[3]);
WRITE('ТОЛКОВАНИИ ПОНЯТИЙ:'); READLN(A[4]);
K:='ПОНИМАНИЕ ПРИ ЧТЕНИИ';
SE:=4;
OUTPUT;
WRITELN('ПОДРАЗДЕЛЫ С ПРЕВЫШЕНИЕМ УРОВНЯ РЕШЕНИЯ');
FOR I:=1 TO 10 DO
IF D[I]<>'' THEN WRITELN(D[I]);
25
END.
8. Сохраните введенную программу в созданной рабочей папке.
9. Запустите программу на выполнение. Проверьте работу программы.
10. Введите данные:
ИМЯ ИСПЫТУЕМОГО РЕБЕНКА: ПЕТРОВ ИВАН
ВОЗРАСТ РЕБЕНКА, ГОД-ДЕНЬ: 7, 8
КЛАСС, ГОД-МЕСЯЦ: 1, 10
ДАТА ПРОВЕРКИ, МЕСЯЦ-ДЕНЬ-ГОД: 7, 6, 2004
ИМЯ ИССЛЕДОВАТЕЛЯ: СМИРНОВА
ОЦЕНКА ЗА ТЕСТ НА ПРОИЗНОШЕНИЕ ПРИ ЧТЕНИИ, ГОД-МЕСЯЦ: 1, 5
УРОВЕНЬ РЕШЕНИЯ: 2
РЕБЕНОК ЗАТРУДНЯЕТСЯ В:
РАСПОЗНАВАНИИ БУКВ АЛФАВИТА: Н
ПРОИЗНЕСЕНИИ СЛОВ БЕЗ ПРОПУСКА И ИЗМЕНЕНИЯ БУКВ: Д
ВЕРНОЙ РАССТАНОВКЕ АКЦЕНТОВ: Д
ПРАВИЛЬНОМ РАЗБИЕНИИ СЛОВ НА ЧАСТИ: Д
ЗАПОМИНАНИИ/ВОСПРОИЗВЕДЕНИИ ЗВУКОВ. БУКВ: Д
ПРОИЗНОШЕНИЕ ПРИ ЧТЕНИИ
ОЦЕНКА ЗА ТЕСТ НИЖЕ СРЕДНЕГО
ОБЩИЙ ВЕСОВОЙ ФАКТОР-4
УРОВЕНЬ РЕШЕНИЯ ПРЕВЫШЕН
ОЦЕНКА ЗА ТЕСТ НА ПОНИМАНИЕ ПРОЧИТАННОГО, ГОД-МЕСЯЦ: 1, 5
УРОВЕНЬ РЕШЕНИЯ: 1
РЕБЕНОК ЗАТРУДНЯЕТСЯ В:
ЗАПОМИНАНИИ: Н
ПРЕДСТАВЛЕНИИ ОБЩЕЙ КАРТИНЫ: Д
ПОНИМАНИИ ТРУДНЫХ СЛОВ: Н
ТОЛКОВАНИИ ПОНЯТИЙ: Д
ОЦЕНКА ЗА ТЕСТ НИЖЕ СРЕДНЕГО
ОБЩИЙ ВЕСОВОЙ ФАКТОР -2
УРОВЕНЬ РЕШЕНИЯ ПРЕВЫШЕН
РАЗДЕЛЫ С ПРЕВЫШЕНИЕМ УРОВНЯ
ПРОИЗНОШЕНИЕ ПРИ ЧТЕНИИ
ПОНИМАНИЕ ПРОЧИТАННОГО
Сравните результаты.
11. Запустите программу на выполнение. Проверьте работу программы.
12. Введите данные:
ИМЯ ИСПЫТУЕМОГО РЕБЕНКА: ПЕТРОВ ИВАН
ВОЗРАСТ РЕБЕНКА, ГОД-ДЕНЬ: 7, 8
КЛАСС, ГОД-МЕСЯЦ: 1, 10
ДАТА ПРОВЕРКИ, МЕСЯЦ-ДЕНЬ-ГОД: 7, 6, 2004
ИМЯ ИССЛЕДОВАТЕЛЯ: СМИРНОВА
ОЦЕНКА ЗА ТЕСТ НА ПРОИЗНОШЕНИЕ ПРИ ЧТЕНИИ ГОД-МЕСЯЦ: 1, 11
УРОВЕНЬ РЕШЕНИЯ: 2
РЕБЕНОК ЗАТРУДНЯЕТСЯ В:
РАСПОЗНАВАНИИ БУКВ АЛФАВИТА: Н
ПРОИЗНЕСЕНИИ СЛОВ БЕЗ ПРОПУСКА И ИЗМЕНЕНИЯ БУКВ: Д
ВЕРНОЙ РАССТАНОВКЕ АКЦЕНТОВ: Д
ПРАВИЛЬНОМ РАЗБИЕНИИ СЛОВ НА ЧАСТИ: Д
ЗАПОМИНАНИИ/ВОСПРОИЗВЕДЕНИИ ЗВУКОВ, БУКВ: Д
ПРОИЗНОШЕНИЕ ПРИ ЧТЕНИИ
ОЦЕНКА ЗА ТЕСТ НИЖЕ СРЕДНЕГО
ОБЩИЙ ВЕСОВОЙ ФАКТОР -4
УРОВЕНЬ РЕШЕНИЯ ПРЕВЫШЕН
ПРОТИВОРЕЧИЕ - УРОВЕНЬ ПРЕВЫШЕН, А ОЦЕНКА ХОРОШАЯ
ОЦЕНКА ЗА ТЕСТ НА ПОНИМАНИЕ ПРОЧИТАННОГО, ГОД-МЕСЯЦ: 1, 5
УРОВЕНЬ РЕШЕНИЯ: 1
РЕБЕНОК ЗАТРУДНЯЕТСЯ В:
ЗАПОМИНАНИИ: Н
ПРЕДСТАВЛЕНИИ ОБЩЕЙ КАРТИНЫ: Д
ПОНИМАНИИ ТРУДНЫХ СЛОВ: Н
ТОЛКОВАНИИ ПОНЯТИЙ: Д
26
ОЦЕНКА ЗА ТЕСТ НИЖЕ СРЕДНЕГО
ОБЩИЙ ВЕСОВОЙ ФАКТОР-2
УРОВЕНЬ РЕШЕНИЯ ПРЕВЫШЕН
ПОДРАЗДЕЛЫ С ПРЕВЫШЕНИЕМ УРОВНЯ
ПРОИЗНОШЕНИЕ ПРИ ЧТЕНИИ
ПОНИМАНИЕ ПРОЧИТАННОГО
II.
Самостоятельная работа
Рекомендуемое время
60 минут
Внесите в программу изменения в соответствии с вариантом.
По окончании работы удалите созданную Вами рабочую директорию.
Варианты
1
2
3
Исходные данные
Добавьте в процесс исследования раздел "Арифметика" (см. описание выше).
Добавьте в процесс исследования раздел "Биология и физиология" (см. описание
выше).
Добавьте в процесс исследования раздел "Психология" (см. описание выше).
27
Информационная технология обработки данных. Самообучающиеся
системы.
КОД: 1234.02.01/ПТ.1234.06
Продолжительность:
160 мин.
Дисциплина:
Информационные технологии. Юнита № 2.
Предназначено:
Для студентов по направлению информатика и ВТ в соответствии с учебным планом.
Цель:
Знакомство с самообучающимися системами.
Результат обучения:
После успешного завершения занятия пользователь должен научиться разрабатывать
простейшие самообучающиеся системы.
Используемые программы:
Windows 2000,
Turbo Pascal
План занятия:
I.
Работа под руководством преподавателя
Разработка самообучающейся системы
II.
Самостоятельная работа
Запуск программы:
Предполагается, что требуемые программы уже инсталлированы на диске.
(См. «Инструкцию по установке программы на ПК»)
I.
Разработка самообучающейся системы
100 минут
60 минут
Рекомендуемое время
100 минут
Система приобретения знаний предназначена для добавления в базу знаний новых правил
и модификации имеющихся. В ее задачу входит приведение правила к виду, позволяющему
механизму вывода применять это правило в процессе работы. В простейшем случае в качестве
такой системы может выступать обычный редактор или текстовый процессор, который просто
заносит правила в файл. В более сложных системах предусмотрены еще и средства для проверки
вводимых или модифицируемых правил на непротиворечивость с имеющимися правилами.
Жизненный опыт
Блок
обучения
Добавить
или
удалить
Обратная связь
Одна из форм приобретения знаний называется обратной связью. Обучение с помощью
обратной связи показано на рисунке.
Человек, благодаря механизму обратной связи и уже имеющихся знаний, приобретает
новые. Следовательно, человек учится на опыте.
Приблизительно также обучается компьютерная программа. В нее заложен алгоритм
хранения фактов и выполнения логических выводов. Логические выводы связаны в программе с
постоянно пополняющими ее новыми фактами. Рассмотрим пример самообучающейся системы,
который следует рассматривать, исходя из предпосылки: система будет обучаться только в том
случае, если она соприкоснулась с чем-то противоречащим ранее известному.
Разработаем систему, которая должна понимать различия между страусом и сорокой.
Некоторые свойства, отличающие страуса от сороки, приведены на рисунке:
28
Страус
Не летает
Длинная шея
Птица
Сорока
Летает
Короткая шея
Компьютерную программу можно обучить, объяснив ей разницу только между двумя
объектами. Но затем заложенный в нее принцип работы она может распространять на большее
число объектов. В программе содержатся 3 списка: в списке 1 хранятся атрибуты для страуса, в
списке 2 - для сороки, а в списке 3 - атрибуты общие и для страуса, и для сороки.
Заметим, что система будет работать одинаково независимо от того, о каких объектах
пойдет речь. Обучающаяся программа, прежде всего, запросит у пользователя имена объектов:
ВВЕДИТЕ ИМЯ ОБЪЕКТА 1?
ВВЕДИТЕ ИМЯ ОБЪЕКТА 2?
Прежде чем программа приступит к описанию одного из объектов, она запросит ввод его
атрибутов:
ВВЕДИТЕ
ВВЕДИТЕ
ВВЕДИТЕ
ВВЕДИТЕ
ВВЕДИТЕ
и т.д.
АТРИБУТЫ ЛЮБОГО ОБЪЕКТА И ENTER В КОНЦЕ
АТРИБУТ 1?
АТРИБУТ 2?
АТРИБУТ 3?
АТРИБУТ 4?
Затем программа начинает сравнивать введенные атрибуты с атрибутами первого списка.
Поскольку первый список пуст результатом сравнения будет оценка нуль, показывающая, что
совпадений нет. По тем же причинам и сравнение с атрибутами второго списка. Получив нулевую
оценку, программа предположит, что введенные атрибуты относятся к списку 1. Она запросит у
пользователя подтверждение этого предположения. В зависимости от ответа пользователя данные
будут занесены либо в первый список, либо во второй. В общий список ничего не будет занесено.
В дальнейшем при совпадении атрибутов, они будут заносится в общий список.
Почему бы не разработать систему так, чтобы она сразу помещала атрибуты в нужный
список, избегая дополнительных действий? Но именно этим и отличается система, в которую уже
заложены все знания, от системы, способной к обучению. В предложенном варианте система ведет
себя как человек, а не как машина и должна сама разобраться, куда поместить атрибуты.
1. Система вносит изменения только в случае, если встречаются противоречия. Это
обеспечивается с помощью механизма обратной связи.
2. Система сравнивает введенные атрибуты с атрибутами, хранящимися в ней, пытаясь их
идентифицировать и выбрать наиболее похожие. Для этого используются специальные оценки. Вся
работа выполняется с помощью механизма логического вывода.
1. На диске E:\ создайте рабочую папку MyWork.
2. Запустите Turbo Pascal.
3. Введите текст программы:
{САМООБУЧАЮЩАЯ СИСТЕМА}
{ПРОГРАММА ВЫДВИГАЕТ ПРЕДПОЛОЖЕНИЕ ОБ ОБЪЕКТЕ}
{ИСХОДЯ ИЗ ВВЕДЕННЫХ АТРИБУТОВ}
PROGRAM SELF;
LABEL 1,2,3,4;
{L1 - СПИСОК ОБЪЕКТА 1}
{L2 - СПИСОК ОБЪЕКТА 2}
{LС - ОБЩИЙ СПИСОК}
29
{T - ВРЕМЕННЫЙ БУФЕР ДЛЯ ЗНАЧЕНИЙ АТРИБУТА}
VAR L1,L2,LC,OO1,OO2:ARRAY[1..10] OF STRING;
T:ARRAY[1..11] OF STRING;
I,K,L,S1,S2:INTEGER;
O1,O2,OT:STRING;
KL:BOOLEAN;
{ПЕЧАТЬ ВСЕХ СПИСКОВ}
PROCEDURE PR;
BEGIN
WRITE(O1:20);
WRITE(O2:20);
WRITELN('ОБЩИЙ СПИСОК':20);
FOR I:=1 TO 10 DO
BEGIN
WRITELN(OO1[I]:20, OO2[I]:20, LC[I]:20);
END;
END;
BEGIN
FOR I:=1 TO 10 DO
BEGIN
L1[I]:='';
L2[I]:='';
LC[I]:='';
OO1[I]:='';
OO2[I]:='';
END;
FOR I:=1 TO 11 DO T[I]:='';
WRITE('ВВЕДИТЕ ИМЯ ОБЪЕКТА 1?'); READLN(O1);
WRITE('ВВЕДИТЕ ИМЯ ОБЪЕКТА 2?'); READLN(O2);
1:WRITE('БУДИТЕ ВВОДИТЬ АТРИБУТЫ?'); READLN(OT);
IF OT='НЕТ' THEN EXIT;
WRITELN('ВВЕДИТЕ АТРИБУТЫ ЛЮБОГО ОБЪЕКТА И ENTER В КОНЦЕ');
I:=1; KL:=FALSE;
WHILE (I<=11) AND (KL=FALSE) DO
BEGIN
WRITE('ВВЕДИТЕ АТРИБУТ ',I,'?'); READLN(T[I]);
IF T[I]='' THEN KL:=TRUE;
I:=I+1;
END;
L:=I-2;
{СРАВНЕНИЕ АТРИБУТОВ СО СПИСКАМИОБЪЕКТОВ 1 И 2}
S1:=0; S2:=0;
FOR I:=1 TO L DO
FOR K:=1 TO 10 DO
BEGIN
IF OO1[K]=T[I] THEN S1:=S1+1;
IF OO2[K]=T[I] THEN S2:=S2+1;
END;
30
{ОБЪЕКТ2 ПРЕДПОЛАГАЕТСЯ ТОЛЬКО, ЕСЛИ ОЦЕНКА 2 БОЛЬШЕ ОЦЕНКИ 1}
IF S1<S2 THEN GOTO 3;
WRITELN('ЭТО ',O1);
WRITE('ВЕРНО ДА ИЛИ НЕТ '); READLN(OT);
IF OT='НЕТ' THEN GOTO 4;
{ПОМЕСТИТЬ КАЖДЫЙ АТРИБУТ ВО ВРЕМЕННЫЙ БУФЕР}
{А НЕ В СПИСОК ОБЪЕКТОВ 1 ИЛИ 2 ИЛИ ОБЩИЙ СПИСОК}
{ПЕРЕМЕСТИТЬ АТРИБУТ ИЗ СПИСКА 2 В ОБЩИЙ СПИСОК}
{ЕСЛИ ЭТО НЕОБХОДИМО}
2:FOR I:=1 TO L DO
FOR K:=1 TO 10 DO
BEGIN
IF T[I]=OO2[K] THEN {ПЕРЕМЕСТИТЬ АТРИБУТ ИЗ ВТОРОГО}
FOR L:=1 TO 10 DO
{СПИСКА В ОБЩИЙ}
BEGIN
IF LC[L]='' THEN
BEGIN
LC[L]:=OO2[K]; OO2[K]:=''; T[I]:='';
END;
END;
END;
FOR I:=1 TO L DO
BEGIN
KL:=FALSE;
K:=1;
WHILE (K<=10) AND (KL=FALSE) DO
BEGIN
IF T[I]='' THEN KL:=TRUE;
IF T[I]=LC[K] THEN KL:=TRUE;
{ЕСТЬ В ОБЩЕМ СПИСКЕ}
IF T[I]=OO1[K] THEN KL:=TRUE; {ЕСТЬ В СПИСКЕ ОБЪЕКТА 1}
K:=K+1;
END;
K:=1;
WHILE (K<=10) AND (KL=FALSE) DO
BEGIN
IF OO1[K]='' THEN
BEGIN
OO1[K]:=T[I];
{ПОМЕСТИТЬ ПЕРЕМЕННУЮ В СПИСОК 1}
KL:=TRUE;
END;
K:=K+1;
END;
END;
PR;
{ПЕЧАТЬ ВСЕХ СПИСКОВ}
GOTO 1;
3:WRITELN('ЭТО ',O2);
WRITELN('ВЕРНО ДА ИЛИ НЕТ'); READLN(OT);
IF OT='НЕТ' THEN GOTO 2;
31
{ПОМЕСТИТЬ КАЖДЫЙ АТРИБУТ ВРЕМЕННОГО БУФЕРА,}
{КОТОРОГО НЕТ В ОБЩЕМ СПИСКЕ И В СПИСКЕ ОБЪЕКТА 2}
{В СПИСОК 2 ПЕРЕМЕСТИТЬ СОВПАДАЮЩИЕ АТРИБУТЫ ИЗ СПИСКА 1}
{В ОБЩИЙ СПИСОК}
4:FOR I:=1 TO L DO
FOR K:=1 TO 10 DO
BEGIN
IF T[I]=OO1[K] THEN
BEGIN
FOR L:=1 TO 10 DO
{ПЕРЕМЕСТИТЬ АТРИБУТ ИЗ СПИСКА 1}
BEGIN
{В ОБЩИЙ СПИСОК}
IF LC[L]='' THEN
BEGIN
LC[L]:=OO1[K]; OO1[K]:=''; T[I]:='';
END;
END;
END;
END;
FOR I:=1 TO L DO
BEGIN
KL:=FALSE;
K:=1;
WHILE (K<=10) AND (KL=FALSE) DO
BEGIN
IF T[I]='' THEN KL:=TRUE;
IF T[I]=LC[K] THEN KL:=TRUE;
{ЕСТЬ В ОБЩЕМ СПИСКЕ}
IF T[I]=OO2[K] THEN KL:=TRUE;
{ЕСТЬ В СПИСКЕ 2}
K:=K+1;
END;
K:=1;
WHILE (K<=10) AND (KL=FALSE) DO
BEGIN
IF OO2[K]='' THEN {ПЕРЕМЕСТИТЬ ПЕРЕМЕННУЮ В СПИСОК 2}
BEGIN
OO2[K]:=T[I];
KL:=TRUE;
END;
K:=K+1;
END;
END;
PR;
GOTO 1;
END.
4. Сохраните введенную программу в созданной рабочей папке.
5. Запустите программу на выполнение. Проверьте работу программы.
6. Введите данные:
ВВЕДИТЕ ИМЯ ОБЪЕКТА 1? СТРАУС
ВВЕДИТЕ ИМЯ ОБЪЕКТА 2? СОРОКА
'БУДИТЕ ВВОДИТЬ АТРИБУТЫ? ДА
ВВЕДИТЕ АТРИБУТЫ ЛЮБОГО ОБЪЕКТА И ENTER В КОНЦЕ
ВВЕДИТЕ АТРИБУТ 1? ПТИЦА
ВВЕДИТЕ АТРИБУТ 2? НЕ ЛЕТАЕТ
32
ВВЕДИТЕ АТРИБУТ 3? ДЛИННАЯ ШЕЯ
ВВЕДИТЕ АТРИБУТ 4? ENTER
ЭТО СТРАУС
ВЕРНО ДА ИЛИ НЕТ? ДА
СТРАУС
ПТИЦА
НЕ ЛЕТАЕТ
ДЛИННАЯ ШЕЯ
СОРОКА
ОБЩИЙ СПИСОК
'БУДИТЕ ВВОДИТЬ АТРИБУТЫ? ДА
ВВЕДИТЕ АТРИБУТЫ ЛЮБОГО ОБЪЕКТА И ENTER В КОНЦЕ
ВВЕДИТЕ АТРИБУТ 1? ПТИЦА
ВВЕДИТЕ АТРИБУТ 2? ЛЕТАЕТ
ВВЕДИТЕ АТРИБУТ 3? КОРОТКАЧ ШЕЯ
ВВЕДИТЕ АТРИБУТ 4? ENTER
ЭТО СТРАУС
ВЕРНО ДА ИЛИ НЕТ? НЕТ
СТРАУС
НЕ ЛЕТАЕТ
ДЛИННАЯ ШЕЯ
СОРОКА
ЛЕТАЕТ
КОРОТКАЯ ШЕЯ
ОБЩИЙ СПИСОК
ПТИЦА
'БУДИТЕ ВВОДИТЬ АТРИБУТЫ? ДА
ВВЕДИТЕ АТРИБУТЫ ЛЮБОГО ОБЪЕКТА И ENTER В КОНЦЕ
ВВЕДИТЕ АТРИБУТ 1? ПТИЦА
ВВЕДИТЕ АТРИБУТ 2? ЛЕТАЕТ
ВВЕДИТЕ АТРИБУТ 3? ENTER
ЭТО СОРОКА
ВЕРНО ДА ИЛИ НЕТ? ДА
СТРАУС
НЕ ЛЕТАЕТ
ДЛИННАЯ ШЕЯ
II.
СОРОКА
ЛЕТАЕТ
КОРОТКАЯ ШЕЯ
ОБЩИЙ СПИСОК
ПТИЦА
Самостоятельная работа
Рекомендуемое время
60 минут
Внесите в программу изменения в соответствии с вариантом.
По окончании работы удалите созданную Вами рабочую директорию.
Варианты
1
2
3
4
Исходные данные
Построить самообучающуюся систему, которая
животных (зебру, тигра, жирафа).
Построить самообучающуюся систему, которая
время года.
Построить самообучающуюся систему, которая
фрукты (лимон, апельсин, банан).
Построить самообучающуюся систему, которая
транспорта (автобус, троллейбус, трамвай).
дает возможность распознавать
дает возможность распознавать
дает возможность распознавать
дает возможность распознавать виды
33
Современные системы программирования. Основы визуального
программирования интерфейса.
КОД: 1234.03.01/ПТ.1234.07
Продолжительность:
160 мин.
Дисциплина:
Информационные технологии. Юнита № 3.
Предназначено:
Для студентов по направлению информатика и ВТ в соответствии с учебным планом.
Цель:
Знакомство с основами визуального программирования интерфейсов.
Результат обучения:
После успешного завершения занятия пользователь должен научиться использовать
различные элементы управления.
Используемые программы:
Windows 2000,
Visual Basic 6.0
Используемые файлы:
Control.vbp, sea_dusk.wmf, mcs.ico.
План занятия:
I.
Работа под руководством преподавателя
Программирование элементов управления
II.
Самостоятельная работа
Запуск программы:
Предполагается, что требуемые программы уже инсталлированы на диске.
(См. «Инструкцию по установке программы на ПК»)
I.
Программирование элементов управления
130 минут
30 минут
Рекомендуемое время
130 минут
Элементы управления являются основной чертой языка Visual Basic, они превращают его
в настоящее инструментальное средство RAD (Rapid Application Development - Быстрая
разработка приложений). Возможность зрительно контролировать положение элементов
управления значительно упрощает разработку пользовательского интерфейса в Visual Basic.
Техника применения кнопок переключателей
13.
14.
15.
16.
На диске (например, на E:) в корневой директории создайте рабочую папку MyWork1.
Скопируйте в созданную рабочую папку все файлы из директории E:\1232\ПТ_1234_07.
Запустите приложение Visual Basic. Нажмите на кнопку Отмена.
Выполните команду File-Open Project… Выберите папку E:\MyWork1, проект control.vbp.
Нажмите на кнопку Открыть. Это приложение сгенерировано с помощью программы VB
Application Wizard.
17. Откройте главную форму приложения. Для этого в окне Project - Control (если требуемого
окна нет на экране, выполните команду View-Project Explorer) раскройте список Forms,
откройте форму frmMain двойным нажатием мыши или выделите форму и нажмите на кнопку
.
18. Просмотрите свойства формы. Окно свойств (если Вы не видите окно на экране) можно
вызвать с помощью кнопки
или с помощью контекстного меню, пункта меню Properties
(предварительно необходимо выделить форму frmMain (Form) в окне Project - Control
левой кнопкой мыши). В окне Properties - frmMain в поле StartUpPosition установите 2 CenterScreen.
19. Добавьте в форму элемент управления Frame
управления Frame:
34
. Обнулите свойство Caption элемента
Добавьте в форму элемент управления OptionButton, установите свойство Caption Элемент 1.
Добавьте в форму элемент управления OptionButton, установите свойство Caption Элемент 2, свойство Name - Option1. Подтвердите создание массива элементов.
Добавьте в форму еще два элемента управления OptionButton, установите для них свойство
Caption, соответственно Элемент 3, Элемент 4, и свойство Name - Option1.
Добавьте в форму элемент управления CommandButton, установите свойство Caption Какой элемент управления выбран?
20. Сохраните приложение с помощью команды File-Save Project.
35
21. В окне Project - Control выделите форму frmMain и нажмите на кнопку
подпрограммы:
. Введите текст
Option Explicit
'**************************************************************
' Val (<родительская рамка>.Tag) возвращает индекс
' выбранного переключателя. Эта информация используется
' для вывода заголовка переключателя.
'**************************************************************
Private Sub Command1_Click()
Caption = Option1(Val(Frame1.Tag)).Caption & " выбран!"
' "выбран!"
End Sub
'**************************************************************
' Установить значение первоначального переключателя
' (что возбуждает событие Click для этого индекса).
'**************************************************************
Private Sub Form_Load()
Option1(0).Value = True
End Sub
'**************************************************************
' Сохранить индекс (или другие полезные данные) выбранного
' переключателя в рамке, содержащей переключатели.
'**************************************************************
Private Sub Option1_Click(Index As Integer)
Option1(Index).Container.Tag = CStr(Index)
End Sub
22. Сохраните приложение с помощью команды File-Save Project.
23. Выполните команду Run-Start для запуска приложения. Проверьте работу приложения.
В этом приложении используются следующие приемы. Первый состоит в том, что для хранения
индекса (или значения) выбранного переключателя используется не глобальная переменная, а
свойство
Tag фрейма, содержащего переключатели. Тем самым экономятся системные
ресурсы. Второй прием состоит в том, в процедуре обработки события выбора элемента не
выполняются никакие действия, лишь делается запись о том, какой переключатель выбран. В
программировании считается дурным тоном выполнять действие в качестве немедленной
реакции на нажатие кнопки-переключателя.
24. Сохраните приложение. Завершите работу приложения.
Использование графического индикатора в строке состояния
1. На диске E: в корневой директории создайте рабочую папку MyWork2.
2. Скопируйте в созданную рабочую папку все файлы из директории E:\1232\ПТ_1234_07.
3. Выполните команду File-Open Project… Выберите папку E:\MyWork2, проект control.vbp.
Нажмите на кнопку Открыть. Это приложение сгенерировано с помощью программы VB
Application Wizard.
4. Откройте главную форму приложения. Для этого в окне Project - Control (если требуемого
окна нет на экране, выполните команду View-Project Explorer) раскройте список Forms,
откройте форму frmMain двойным нажатием мыши или выделите форму и нажмите на кнопку
.
5. Просмотрите свойства формы. Окно свойств (если Вы не видите окно на экране) можно
вызвать с помощью кнопки
или с помощью контекстного меню, пункта меню Properties
(предварительно необходимо выделить форму frmMain (Form) в окне Project - Control
левой кнопкой мыши). В окне Properties - frmMain в поле StartUpPosition установите 2 CenterScreen.
6. Добавьте в форму элемент управления ProgressBar
свойство Name - pbrProgBar:
36
. Установите для элемента управления
7. Добавьте в форму элемент управления Timer
свойство Name - tmrMoveScroll:
. Установите для элемента управления
8. Добавьте в форму элемент управления HscrollBar
. Установите для элемента управления
свойство Name - hsrScroll, LardgeChange - 10, Max - 100:
9. Добавьте в форму элемент управления CommandButton. Установите
управления свойства Name - cmdDemo, Caption - Запуск программы:
для
элемента
37
10. Вызовите контекстное меню строки состояния. Выберите пункт меню Properties. Выберите
вкладку Panels. В поле Index установите 1. Обнулите поле Text. В поле AutoSize sbrNoAutoSize. Нажмите на кнопку Применить. В поле Index установите 2. В поле Style
установите 0 - sbrText. В поле AutoSize - sbrNoAutoSize. Нажмите на кнопку Применить. В
поле Index установите 3. Нажмите на кнопку Remove Panel. . Нажмите на кнопку OK.
Установите свойство Name для строки состояния - stbStatus.
11. В окне Project - Control выделите форму frmMain и нажмите на кнопку . Введите текст
подпрограммы:
Option Explicit
'*********************************************************************
' Использует таймер для имитации движения scrollbar
'*********************************************************************
Private Sub cmdDemo_Click()
cmdDemo.Enabled = False
tmrMoveScroll.Enabled = True
End Sub
'*********************************************************************
' Задает начальные значения и размещает элементы управления
'*********************************************************************
Private Sub Form_Load()
tmrMoveScroll.Interval = 500
tmrMoveScroll.Enabled = False
stbStatus.Panels(2).Alignment = sbrCenter
ScaleMode = vbPixels
With pbrProgBar
.Height = stbStatus.Height - 2
.Appearance = ccFlat
.ZOrder vbBringToFront
End With
End Sub
'*********************************************************************
' Заново устанавливает позицию progress bar каждый раз при установке размеров формы
'*********************************************************************
Private Sub Form_Resize()
With stbStatus
pbrProgBar.Move .Panels(1).Left, .Top + 2, .Panels(1).Width
End With
End Sub
'*********************************************************************
' Обновляет значение progress bar и информации о процентах
'*********************************************************************
Private Sub hsrScroll_Change()
pbrProgBar.Value = hsrScroll
stbStatus.Panels(2).Text = CStr(pbrProgBar.Value) & " %"
End Sub
'*********************************************************************
' Увеличивает scroll bar на его величину LargeChange каждый раз при
' уничтожении события, пока его значение меньше 100.
'*********************************************************************
Private Sub tmrMoveScroll_Timer()
With hsrScroll
If .Value < 100 Then
.Value = .Value + .LargeChange
Else
tmrMoveScroll.Enabled = False
.Value = 0
cmdDemo.Enabled = True
End If
38
End With
End Sub
12. Сохраните приложение с помощью команды File-Save Project.
13. Выполните команду Run-Start для запуска приложения. Нажмите на кнопку Запуск
программы. Наблюдайте за работой приложения.
14. Сохраните приложение. Завершите работу приложения.
Фигура Line
Фигура Line (Линия)
вида.
используется для рисования линий различной ширины, длины и
Основные свойства фигуры Line:
Свойство
Описание
BorderColor
BorderStyle
Устанавливает цвет линии
Содержит одно из семи значений, указывающих вид линии (см. ниже). По
умолчанию установлено значение 1-Solid (сплошная). Свойство
BorderStyle не оказывает никакого влияния на линии, у которых свойство
BorderWidth более 1 твипа
BorderWidth Определяет ширину линии
DrawMode
Дополнительный стиль, определяющий, как битовая комбинация линии
взаимодействует с окружающим пространством. По умолчанию установлено
значение 13-Сору Pen.
Visible
Может иметь значения True или False, указывающие на видимость линии.
С помощью этого свойства можно обеспечить мерцание
X1
Расстояние от левого края окна формы до начала линии
Х2
Расстояние от левого края окна формы до конца линии
Y1
Расстояние от верхнего края окна формы до начала линии
Y2
Расстояние от верхнего края окна формы до конца линии
Значения свойства BorderStyle:
Свойство
Имена-константы
Описание
0-Transparent
1-Solid
2-Dash
3-Dot
4-Dash-Dot
5-Dash-Dot-Dot
VbTransparent
vbBSSolid
vbBSDash
vbBSDot
vbBSDashDot
vbBSDashDotDot
6-Inside Solid
vbBSInsideSolid
Фон проступает сквозь линию
Сплошная линия
Пунктирная линия
Точечная линия
Штрихпунктирная линия
Линия, состоящая из последовательности
тире — две точки
Для линии — то же, что и 1-Solid
1.
2.
3.
4.
На диске E: в корневой директории создайте рабочую папку MyWork3.
Скопируйте в созданную рабочую папку все файлы из директории E:\1232\ПТ_1234_07.
Запустите приложение Visual Basic. Нажмите на кнопку Отмена.
Выполните команду File-Open Project… Выберите папку E:\MyWork3, проект control.vbp.
Нажмите на кнопку Открыть. Это приложение сгенерировано с помощью программы VB
Application Wizard.
5. Откройте главную форму приложения. Для этого в окне Project - Control (если требуемого
окна нет на экране, выполните команду View-Project Explorer) раскройте список Forms,
откройте форму frmMain двойным нажатием мыши или выделите форму и нажмите на кнопку
.
6. Просмотрите свойства формы. Окно свойств (если Вы не видите окно на экране) можно
вызвать с помощью кнопки
или с помощью контекстного меню, пункта меню Properties
(предварительно необходимо выделить форму frmMain (Form) в окне Project - Control
39
левой кнопкой мыши). В окне Properties - frmMain в поле StartUpPosition установите 2 CenterScreen.
7. Добавьте в форму элементы управления Line
приведенными выше таблицами:
, устанавливая свойства в соответствии с
Увеличьте ширину верхней линии:
8. Сохраните приложение с помощью команды File-Save Project.
Использование фигур
Для вывода различных фигур предназначен элемент управления Shape
элементов, которые можно реализовать с помощью элемента Shape:
0 - Rectangle (Прямоугольник);
1 - Square (Квадрат);
2 - Oval (Овал);
3 - Circle (Окружность);
4 - Rounded Rectangle (Прямоугольник с закругленными углами);
5 - Rounded Square (Квадрат с закругленными углами).
. Список
Основные свойства элемента Shape:
Свойство
BackColor
BackStyle
Описание
Определяет цвет фона фигуры
Может иметь значение 0-Transparent (по умолчанию) или 1-Opaque,
которые определяют, будет ли проявляться то, что находится за фигурой,
или она будет закрывать собой задний план
BorderColor Определяет цвет границы (цвет краев фигуры)
BorderStyle Может иметь одно из семи значений, определяющих вид краев фигуры
(см. ниже). По умолчанию установлено значение 1-Solid. Это свойство
не оказывает никакого влияния на фигуры, у которых свойство
BorderWidth имеет значение более 1
BorderWidth Определяет ширину внешней границы фигуры
40
DrawMode
FillColor
FillStyle
Height
Left
Shape
Top
Width
Дополнительный стиль, определяющий, как битовая комбинация линии
взаимодействует с окружающим пространством. По умолчанию установлено
значение 13-Сору Pen.
Определяет цвет линий, использующихся для заливки фигуры
Определяет один из восьми типов линий, которыми закрашивается
внутреннюю часть фигуры. Допустимые значения приведены ниже. По
умолчанию устанавливается значение 0-Solid
Определяет в твипах высоту фигуры (от верхнего до нижнего края)
Определяет в твипах смещение фигуры (от левого края окна формы)
Содержит одно из шести значений, определяющих тип фигуры. Список
допустимых значений представлен выше. По умолчанию установлено
значение 0-Rectangle
Определяет в твипах смещение фигуры (от верхнего края окна формы)
Определяет в твипах горизонтальный размер фигуры (в самом широком
месте)
Допустимые значения свойства FillStyle элементов Shape:
Свойство
Имя-константа
0-Solid
1-Transparent
3-Vertical Line
4-Upward Diagonal
VbFSSolid
VbFSTransparent
VbVerticalLine
VbUpwardDiagonal
Описание
Сплошная заливка
Фигура представлена только своим контуром
Штриховка вертикальными линиями
Штриховка восходящими диагональными
линиями
5-Downward Diagonal
vbDownwardDiagonal
Штриховка диагональными
исходящими
линиями
6-Cross
vbCross
Штриховка пересекающимися линиями
7-Diagonal Cross
vbDiagonalCross
Штриховка диагонально-пересекающимися
линиями
1.
2.
3.
4.
На диске E: в корневой директории создайте рабочую папку MyWork4.
Скопируйте в созданную рабочую папку все файлы из директории E:\1232\ПТ_1234_07.
Запустите приложение Visual Basic. Нажмите на кнопку Отмена.
Выполните команду File-Open Project… Выберите папку E:\MyWork4, проект control.vbp.
Нажмите на кнопку Открыть. Это приложение сгенерировано с помощью программы VB
Application Wizard.
5. Откройте главную форму приложения. Для этого в окне Project - Control (если требуемого
окна нет на экране, выполните команду View-Project Explorer) раскройте список Forms,
откройте форму frmMain двойным нажатием мыши или выделите форму и нажмите на кнопку
.
6. Просмотрите свойства формы. Окно свойств (если Вы не видите окно на экране) можно
вызвать с помощью кнопки
или с помощью контекстного меню, пункта меню Properties
(предварительно необходимо выделить форму frmMain (Form) в окне Project - Control
левой кнопкой мыши). В окне Properties - frmMain в поле StartUpPosition установите 2 CenterScreen.
7. Добавьте в форму элемент управления Shape
:
41
Добавьте в форму два элемента управления Label, установив для них свойство Caption Выбор фигуры, Тип заливки:
Добавьте в форму два элемента управления ListBox:
Добавьте в форму элемент управления CommandButton, установив свойство Caption - Exit:
42
8. Сохраните приложение с помощью команды File-Save Project.
9. В окне Project - Control выделите форму frmMain и нажмите на кнопку
подпрограммы:
. Введите текст
Private Sub Form_Load()
' Инициализация списка Выбор фигуры
List1.AddItem "0 - Rectangle"
List1.AddItem "1 - Square"
List1.AddItem "2 - Oval"
List1.AddItem "3 - Circle"
List1.AddItem "4 - Rounded Rectangle"
List1.AddItem "5 - Rounded Square"
' Иницализация списка Тип заливки
List2.AddItem "0 - Solid"
List2.AddItem "1 - Transparent"
List2.AddItem "2 - Horizontal Line"
List2.AddItem "3 - Vertical Line"
List2.AddItem "4 - Upward Diagonal"
List2.AddItem "5 - Downward Diagonal"
List2.AddItem "6 - Cross"
List2.AddItem "7 - Diagonal Cross"
List1.ListIndex = 0
List2.ListIndex = 0
End Sub
Private Sub List1_Click()
' Выбор фигуры
Shape1.Shape = List1.ListIndex
End Sub
Private Sub List2_Click()
' Выбор заливки
Shape1.FillStyle = List2.ListIndex
End Sub
Private Sub Command1_Click()
' Выход
End
End Sub
43
10. Сохраните приложение с помощью команды File-Save Project.
11. Выполните команду Run-Start для запуска приложения. Проверьте работу приложения.
Попробуйте все комбинации фигур и заливок.
12. Завершите работу приложения.
Элемент управления PictureBox
Элементы управления PictureBox
и Image
схожи: оба позволяют размещать на
форме графические или отсканированные изображения. Но элемент Image не так гибок, как
PictureBox, поскольку поддерживает лишь несколько типов файлов и автоматически подгоняет
размер, не позволяя указывать другой размер изображения. До недавнего времени элемент Image
использовался чаще, поскольку был несколько проще и эффективней, но при быстродействии
современных компьютеров гибкость элемента PictureBox компенсирует его меньшую
эффективность. Кроме того, этот элемент управления имеет больше свойств и методов.
Основой для понимания элемента управления PictureBox является функция
LoadPicture(), позволяющая управлять изображениями PictureBox в ходе выполнения
программы.
Характерные свойства элемента PictureBox:
Свойство
Описание
Align
AutoSize
Определяет относительное положение изображение на форме
Указывает, должен ли элемент управления автоматически изменять
свои размеры для вывода всего изображения
Создает дополнительную рамку по периметру изображения
Определяет, будет ли текст, размещенный на заднем фоне,
"просвечивать" через изображение
Содержит путь и имя файла с графическим изображением
BorderStyle
FontTransparent
Picture
Типы файлов, поддерживаемые элементом PictureBox:
Тип
Расширение
Bitmap (Битовое изображение)
Graphic Image File (Сжатое изображение)
Icon (Значок)
JPEG (Сжатое изображение)
Metafile (Метафайл Windows)
.BMP
.GIF
.ICO
.JPG
.WMF, .EMF
1.
2.
3.
4.
На диске E: в корневой директории создайте рабочую папку MyWork5.
Скопируйте в созданную рабочую папку все файлы из директории E:\1232\ПТ_1234_07.
Запустите приложение Visual Basic. Нажмите на кнопку Отмена.
Выполните команду File-Open Project… Выберите папку E:\MyWork5, проект control.vbp.
Нажмите на кнопку Открыть. Это приложение сгенерировано с помощью программы VB
Application Wizard.
5. Откройте главную форму приложения. Для этого в окне Project - Control (если требуемого
окна нет на экране, выполните команду View-Project Explorer) раскройте список Forms,
откройте форму frmMain двойным нажатием мыши или выделите форму и нажмите на кнопку
.
6. Просмотрите свойства формы. Окно свойств (если Вы не видите окно на экране) можно
вызвать с помощью кнопки
или с помощью контекстного меню, пункта меню Properties
(предварительно необходимо выделить форму frmMain (Form) в окне Project - Control
левой кнопкой мыши). В окне Properties - frmMain в поле StartUpPosition установите 2 CenterScreen.
7. Добавьте в форму элемент управления PictureBox
44
:
Добавьте в форму элемент управления CommandButton, установив свойство Caption Просмотр изображения:
8. Сохраните приложение с помощью команды File-Save Project.
9. В окне Project - Control выделите форму frmMain и нажмите на кнопку
подпрограммы:
. Введите текст
Private Sub Command1_Click()
Picture1.Picture = LoadPicture("e:\mywork5\sea_dusk.wmf")
End Sub
10. Сохраните приложение с помощью команды File-Save Project.
11. Выполните команду Run-Start для запуска приложения. Проверьте работу приложения.
12. Завершите работу приложения.
II.
Самостоятельная работа
Рекомендуемое время
30 минут
Выполните задание в соответствии с вариантом.
По окончании работы удалите созданную Вами рабочую директорию.
45
Варианты
Исходные данные
В приложение E:\MyWork1\Control.vbp в правом верхнем углу добавьте
изображение:
1
Используйте файл E:\MyWwork1\mcs.ico.
В приложение E:\MyWork2\Control.vbp в правом верхнем углу добавьте
изображение:
2
Используйте файл E:\MyWwork2\mcs.ico.
В приложение E:\MyWork3\Control.vbp в правом верхнем углу добавьте
изображение:
3
Используйте файл E:\MyWwork3\mcs.ico.
В приложение E:\MyWork4\Control.vbp в правом верхнем углу добавьте
изображение:
4
Используйте файл E:\MyWwork4\mcs.ico.
46
Современные системы программирования. Доступ к функциям Windows
API.
КОД: 1234.03.01/ПТ.1234.08
Продолжительность:
160 мин.
Дисциплина:
Информационные технологии. Юнита № 3.
Предназначено:
Для студентов по направлению информатика и ВТ в соответствии с учебным планом.
Цель:
Знакомство с функциями Windows API.
Результат обучения:
После успешного завершения занятия пользователь должен научиться использовать
функции Windows API.
Используемые программы:
Windows 2000,
Visual Basic 6.0
Используемые файлы:
FindFile.vbp, findfile.txt, mcs.ico
План занятия:
I.
Работа под руководством преподавателя
Использование функций API
II.
Самостоятельная работа
Запуск программы:
Предполагается, что требуемые программы уже инсталлированы на диске.
(См. «Инструкцию по установке программы на ПК»)
I.
Использование функций API
130 минут
30 минут
Рекомендуемое время
130 минут
Приложение, осуществляющее поиск файлов
1.
2.
3.
4.
На диске (например, на E:) в корневой директории создайте рабочую папку MyWork.
Скопируйте в созданную рабочую папку все файлы из директории E:\1232\ПТ_1234_08.
Запустите приложение Visual Basic. Нажмите на кнопку Отмена.
Выполните команду File-Open Project… Выберите папку E:\MyWork, проект FindFile.vbp.
Нажмите на кнопку Открыть. Это приложение сгенерировано с помощью программы VB
Application Wizard.
5. Откройте главную форму приложения. Для этого в окне Project - FindFile (если требуемого
окна нет на экране, выполните команду View-Project Explorer) раскройте список Forms,
откройте форму frmMain двойным нажатием мыши или выделите форму и нажмите на кнопку
.
6. Просмотрите свойства формы. Окно свойств (если Вы не видите окно на экране) можно
вызвать с помощью кнопки
или с помощью контекстного меню, пункта меню Properties
(предварительно необходимо выделить форму frmMain (Form) в окне Project - FindFile
левой кнопкой мыши). В окне Properties - frmMain в поле StartUpPosition установите 2 CenterScreen.
7. Добавьте в форму frmMain два элемент управления Label, установив свойство Caption Директория, Имя файла:
47
Добавьте в форму элемент управления TextBox, установите свойство Name - txtSearchDir,
обнулите свойство Text
Добавьте в форму элемент управления
txtSearchPattern, обнулите свойство Text:
TextBox,
установите
свойство
Добавьте в форму элемент управления CheckBox, установите свойство
Отображать результаты поиска, свойство Name - chkDisplayInList:
48
Name
-
Caption
-
Добавьте в форму элемент управления CheckBox, установите свойство Caption - Искать в
поддиректориях, свойство Name - chkSearchSubs, установите свойство Value - 1 Checked:
Добавьте в форму элемент управления ListBox, установите свойство Name - lstFound:
Добавьте в форму элемент управления CommonDialog, установите свойство Name - cdlg:
49
Добавьте в форму элемент управления CommandButton, установите свойство Name cmdBrowse, Caption - Browse…:
Добавьте в форму элемент управления CommandButton, установите свойство Name cmdFind, Caption - Find:
50
8. Сохраните приложение с помощью команды File-Save Project.
9. Выполните команду Project - Add Class Module. Выберите вкладку New. Выделите
пиктограмму Class Module. Нажмите на кнопку Открыть. В проекте в папке Class Modules
появится класс Class1. Текст модуля Class1 содержится в файле E:\MyWork\FindFile.txt.
Скопируйте содержимое файла в этот модуль. Выполните команду File - Save Class1 As.
Выберите рабочую директорию, введите имя файл FindFile.cls. Нажмите на кнопку
Сохранить. В окне проекта выделите созданный класс. В окне свойств Properties - Class1
установите свойство Name - clsFindFile. Изучите содержимое добавленного файла.
10. В окне Project - FindFile выделите форму frmMain и нажмите на кнопку . Введите текст
программы:
'************************************************************
' Это подпрограмма, которая находит все файлы
' в каталоге (и его подкаталогах), загружает результаты
' в собрание и возвращает количество просмотренных
' подкаталогов.
'************************************************************
Private Function FindAllFiles(ByVal strSearchPath$, _
strPattern As String, Optional colFiles As Collection, _
Optional colDirs As Collection, Optional blnDirsOnly _
As Boolean, Optional blnBoth As Boolean) As Integer
'**********************************************************
' Создавать новый объект FindFile при каждом вызове
' этой функции.
'**********************************************************
Dim clsFind As New clsFindFile
Dim strFile As String
Dim intDirsFound As Integer
'**********************************************************
' Убедиться, что strSearchPath заканчивается обратной косой.
'**********************************************************
If Right(strSearchPath, 1) <> "\" Then _
strSearchPath = strSearchPath & "\"
'**********************************************************
' Получить первый файл.
'**********************************************************
strFile = clsFind.Find(strSearchPath & strPattern)
'**********************************************************
' Выполнять цикл, пока возвращаются файлы.
'**********************************************************
Do While Len(strFile)
'*******************************************************
' Если текущий найденный файл является каталогом ...
'*******************************************************
If clsFind.FileAttributes And vbDirectory Then
'*****************************************************
' Игнорировать точку и двойную точку.
'*****************************************************
If Left(strFile, 1) <> "." Then
'***************************************************
' Если хотя бы один булевский необязательный аргумент
' равен True, добавить этот каталог в собрание colDirs
' (необязательный аргумент).
'***************************************************
If blnDirsOnly Or blnBoth Then
colDirs.Add strSearchPath & strFile & "\"
End If
'***************************************************
' Увеличить на 1 количество каталогов.
'***************************************************
51
intDirsFound = intDirsFound + 1
'****************************************************
' Рекурсивно вызвать эту функцию для поиска
' в подкаталогах. По окончании рекурсивного вызова
' количество каталогов должно быть увеличено.
'****************************************************
intDirsFound = intDirsFound + FindAllFiles( _
strSearchPath & strFile & "\", strPattern, _
colFiles, colDirs, blnDirsOnly)
End If
'******************************************************
' Найти следующий файл или каталог.
'******************************************************
strFile = clsFind.FindNext()
'********************************************************
' ... в противном случае он должен быть файлом.
'********************************************************
Else
'******************************************************
' Если вызывающей программе нужны файлы, добавлять их
' в собрание colFiles.
'******************************************************
If Not blnDirsOnly Or blnBoth Then
colFiles.Add strSearchPath & strFile
End If
'******************************************************
' Найти следующий файл или каталог.
'******************************************************
strFile = clsFind.FindNext()
End If
Loop
'**********************************************************
' Возвратить количество каталогов.
'**********************************************************
FindAllFiles = intDirsFound
End Function
'************************************************************
' Простая программа, которая ищет все файлы в каталоге,
' удовлетворяющие заданному шаблону, загружает результаты
' поиска в собрание, возвращает количество найденных файлов.
'************************************************************
Private Function FindFilesInSingleDir(ByVal strDir As String, _
strPattern$, colFiles As Collection) As Integer
'**********************************************************
' Создавать новый объект FindFile при каждом вызове
' этой функции.
'**********************************************************
Dim clsFind As New clsFindFile
Dim strFile As String
'**********************************************************
' Убедиться, что strSearchPath заканчивается обратной косой.
'**********************************************************
If Right(strDir, 1) <> "\" Then _
strDir = strDir & "\"
'**********************************************************
' Получить первый файл.
'**********************************************************
strFile = clsFind.Find(strDir & strPattern)
'**********************************************************
52
' Выполнять цикл, пока возвращаются файлы.
'********************************************************
Do While Len(strFile)
'******************************************************
' Если текущий найденный файл не является каталогом ...
'******************************************************
If (clsFind.FileAttributes And vbDirectory) = 0 Then
colFiles.Add strFile ' Не включать путь.
End If
'******************************************************
' Найти следующий файл или каталог.
'******************************************************
strFile = clsFind.FindNext()
Loop
'********************************************************
' Возвратить количество найденных файлов.
'********************************************************
FindFilesInSingleDir = colFiles.Count
End Function
'**********************************************************
' Дает пользователю возможность выбрать каталог поиска в диалоге
'**********************************************************
Private Sub cmdBrowse_Click()
On Error Resume Next
With cdlg
'******************************************************
' Установить начальный каталог из поля ввода текста
'******************************************************
.InitDir = txtSearchDir
'******************************************************
' Заменить заголовок диалога с "Сохранить как" на что-нибудь другое
'******************************************************
.DialogTitle = "Выберите каталог поиска"
'******************************************************
' Диалогу "Сохранить файл" нужно имя, поэтому задается имя
' по умолчаниюso provide a default
'******************************************************
.FileName = "Замените на каталог и нажмите 'сохранить'"
'******************************************************
' Убедитесь, что пользователь выбирает правильный каталог
'******************************************************
.Flags = cdlOFNPathMustExist
'******************************************************
' Показать диалог "Сохранить файл"
'******************************************************
.ShowSave
'******************************************************
' Если пользователь не нажал "Отменить", то введите путь (минус
' имя файла) в txtSearchDir
'******************************************************
If Err.Number <> cdlCancel Then
txtSearchDir = _
Left(.FileName, InStr(.FileName, .FileTitle) - 1)
End If
End With
End Sub
53
'************************************************************
' Найти файлы, пользуясь содержимым текстовых полей.
'************************************************************
Private Sub cmdFind_Click()
'**********************************************************
' Не дать пользователю два раза щелкнуть по кнопке Find и
' скрыть кнопку Browse, чтобы можно было видеть AVI.
'**********************************************************
cmdFind.Enabled = False
cmdBrowse.Visible = False
'**********************************************************
' Сообщить пользователю, что происходит, и вывести
' указатель в виде песочных часов.
'**********************************************************
Caption = "Поиск..."
' "Выполняется поиск ..."
Screen.MousePointer = vbHourglass
'**********************************************************
' Всегда выполнять очистку (на тот случай, что список
' виден пользователю).
'**********************************************************
lstFound.Clear
'**********************************************************
' Выполнить соответствующий поиск.
'**********************************************************
If chkSearchSubs Then
SearchSubDirs
Else
SearchCurDirOnly
End If
'**********************************************************
' Восстановить кнопки и указатель.
'**********************************************************
cmdFind.Enabled = True
cmdBrowse.Visible = True
Screen.MousePointer = vbDefault
End Sub
'************************************************************
' Выполняет простой поиск в одном каталоге
' (подобно команде dir *.*).
'************************************************************
Private Sub SearchCurDirOnly()
Dim dblStart As Long
Dim colFiles As New Collection
'**********************************************************
' Включить хронометраж и начать поиск.
'**********************************************************
dblStart = Timer
FindFilesInSingleDir txtSearchDir, txtSearchPattern, colFiles
'**********************************************************
' Добавление элементов в список происходит медленно. Делайте
' это только в случае необходимости.
'**********************************************************
If chkDisplayInList Then LoadCollectionInList colFiles
'**********************************************************
' Сообщить пользователю, сколько найдено файлов, и сколько
' ушло на это времени.
'**********************************************************
54
Caption = CStr(colFiles.Count) & " файлов найдено за " & Str(Timer - dblStart) & " секунд"
End Sub
'************************************************************
' Выполняет комплексный поиск в нескольких каталогах
' (аналогично dir *.* /s).
'************************************************************
Private Sub SearchSubDirs()
Dim dblStart As Long
Dim colFiles As New Collection
Dim colDirs As New Collection
Dim intDirsFound As Integer
Dim vntItem As Variant
'**********************************************************
' Не забывайте добавлять каталог поиска в собрание.
'**********************************************************
colDirs.Add txtSearchDir.Text
'**********************************************************
' Если пользователь ищет *.*, то поиск будет проще
' (и намного быстрее).
'**********************************************************
If Trim(txtSearchPattern) = "*.*" Then
dblStart = Timer
intDirsFound = FindAllFiles(txtSearchDir, "*.*", _
colFiles, colDirs, , True)
'**********************************************************
' В противном случае процесс усложняется.
'**********************************************************
Else
'********************************************************
' Выполнить первый поиск, чтобы получить собрание
' всех каталогов.
'********************************************************
intDirsFound = FindAllFiles(txtSearchDir, "*.*", , colDirs, True)
'********************************************************
' Начать хронометраж здесь, так как предыдущий поиск был
' подготовительным.
'********************************************************
dblStart = Timer
'********************************************************
' Искать шаблон в каждом каталоге из списка.
'********************************************************
For Each vntItem In colDirs
'******************************************************
' Текущий каталог поиска показать в заголовке окна.
'******************************************************
Caption = vntItem
FindAllFiles CStr(vntItem), txtSearchPattern, colFiles
Next vntItem
End If
'**********************************************************
' Добавление элементов в список происходит медленно. Делайте
' это только в случае необходимости.
'**********************************************************
If chkDisplayInList Then LoadCollectionInList colFiles
'**********************************************************
' Сообщить пользователю, сколько найдено файлов, в скольких
' каталогах, и сколько ушло на это времени.
'**********************************************************
Caption = CStr(colFiles.Count) & " Файлов найдено" & _
Str(intDirsFound) & " в каталогах за" & Str(Timer - dblStart) _
55
& " секунд"
End Sub
'******************************************************************
' Загружает список файлов (из collection) в listbox
'******************************************************************
Private Sub LoadCollectionInList(colFiles As Collection)
Dim vntItem As Variant
'****************************************************************
' Это может занять несколько секунд, поэтому нужно сообщить пользователю
'****************************************************************
Caption = "Добавление найденных элементов в список..."
'****************************************************************
' Добавить все файлы из collection в listbox
'****************************************************************
For Each vntItem In colFiles
lstFound.AddItem CStr(vntItem)
Next vntItem
'****************************************************************
' Изменить размер формы, чтобы показать список
'****************************************************************
Height = (Height - ScaleHeight) + _
(lstFound.Top + lstFound.Height)
End Sub
'******************************************************************
' Инициализация формы
'******************************************************************
Private Sub Form_Load()
'****************************************************************
' Установить каталог поиска по умолчанию = каталогу Windows
'****************************************************************
txtSearchDir = Environ("windir") & "\"
End Sub
11. Сохраните приложение с помощью команды File-Save Project.
12. Выполните команду Run-Start для запуска приложения. Проверьте работу приложения.
13. Завершите работу приложения.
II.
Самостоятельная работа
Рекомендуемое время
30 минут
Выполните задание в соответствии с вариантом.
Добавьте в форму элемент управления CommandButton, установите свойство Name Command1, Caption - О программе.
В окне Project - FindFile выделите форму frmMain и нажмите на кнопку . Введите текст
подпрограммы, обрабатывающей событие нажатия на созданную кнопку:
Public fAboutForm As frmAbout
Private Sub Command1_Click()
Set fAboutForm = New frmAbout
fAboutForm.Show
End Sub
Внесите изменения в форму frmAbout:
56
Включите в форму описание назначения программы; измените пиктограмму на форме,
используя файл E:\MyWork\mcs.ico.
По окончании работы удалите созданную Вами рабочую директорию.
57
Итоговое занятие по основным темам дисциплины
КОД: 1234.03.01/ПТ.1234.09
Продолжительность:
160 мин.
Дисциплина:
Информационные технологии. Юнита № 3.
Предназначено:
Для студентов по направлению информатика и ВТ в соответствии с учебным планом.
Цель:
Закрепить навыки, полученные на предыдущих занятиях семестра.
Используемые программы:
Microsoft Windows 2000,
FineReader 4.0,
Microsoft Word 2000,
Adobe Photoshop,
Corel Draw,
Visual Basic 6.0
Используемый файл:
Ris1.jpg, Ris2.jpg, Ris3.jpg, Ris4.jpg, Pic1.jpg, Pic2.jpg, Pic3.jpg, Pic4.jpg,
Control.vbp.
План занятия:
I.
Выполнение практической работы
Запуск программы:
Предполагается, что требуемые программы уже инсталлированы на диске.
(См. «Инструкцию по установке программы на ПК»)
160 минут
Выполнение практической работы
Рекомендуемое время
160 минут
Задание:
На диске (например, на E:) создайте рабочую папку MyWork. Скопируйте в созданную
папку все файлы из директории E:\1234\ПТ_1234_09.
Выполните задание в соответствии с вариантом.
По окончании работы удалите созданную директорию.
Варианты
1
2
58
Исходные данные
1. Сформируйте документ Word из изображения E:\MyWork\ris1.jpg.
2. Создайте рамку для изображения E:\MyWork\pic1.jpg. Сохраните
изображение с именем E:\MyWork\pic1_t1.jpg.
3. Оформите надпись для изображения E:\MyWork\pic1.jpg типа Текст с
тенью. Сохраните изображение с именем E:\MyWork\pic1_t2.jpg.
4. Состарьте фотографию E:\MyWork\pic1.jpg. Сохраните изображение с
именем E:\MyWork\pic1_t3.jpg.
5. Преобразуйте изображение E:\MyWork\pic1.jpg в векторное и сохраните с
именем E:\MyWork\pic1.cdr.
6. Создайте приложение на основе проекта E:\MyWork\Control.vbp, которое
при нажатии на клавишу выводит изображение E:\MyWork\pic1.jpg на
экран.
1. Сформируйте документ Word из изображения E:\MyWork\ris2.jpg.
2. Создайте рамку для изображения E:\MyWork\pic2.jpg. Сохраните
изображение с именем E:\MyWork\pic2_t1.jpg.
3. Оформите надпись для изображения E:\MyWork\pic2.jpg типа
Сверкающий текст. Сохраните изображение с именем
E:\MyWork\pic2_t2.jpg.
4. Состарьте фотографию E:\MyWork\pic2.jpg. Сохраните изображение с
именем E:\MyWork\pic2_t3.jpg.
5. Преобразуйте изображение E:\MyWork\pic2.jpg в векторное и сохраните с
именем E:\MyWork\pic2.cdr.
3
4
6. Создайте приложение на основе проекта E:\MyWork\Control.vbp, которое
при нажатии на клавишу выводит изображение E:\MyWork\pic2.jpg на
экран.
1. Сформируйте документ Word из изображения E:\MyWork\ris3.jpg.
2. Создайте рамку для изображения E:\MyWork\pic3.jpg. Сохраните
изображение с именем E:\MyWork\pic3_t1.jpg.
3. Оформите надпись для изображения E:\MyWork\pic3.jpg типа Текст с
тенью. Сохраните изображение с именем E:\MyWork\pic3_t2.jpg.
4. Состарьте фотографию E:\MyWork\pic3.jpg. Сохраните изображение с
именем E:\MyWork\pic3_t3.jpg.
5. Преобразуйте изображение E:\MyWork\pic3.jpg в векторное и сохраните с
именем E:\MyWork\pic3.cdr.
6. Создайте приложение на основе проекта E:\MyWork\Control.vbp, которое
при нажатии на клавишу выводит изображение E:\MyWork\pic3.jpg на
экран.
1. Сформируйте документ Word из изображения E:\MyWork\ris4.jpg.
2. Создайте рамку для изображения E:\MyWork\pic4.jpg. Сохраните
изображение с именем E:\MyWork\pic4_t1.jpg.
3. Оформите надпись для изображения E:\MyWork\pic4.jpg типа
Сверкающий текст. Сохраните изображение с именем
E:\MyWork\pic4_t2.jpg.
4. Состарьте фотографию E:\MyWork\pic4.jpg. Сохраните изображение с
именем E:\MyWork\pic4_t3.jpg.
5. Преобразуйте изображение E:\MyWork\pic4.jpg в векторное и сохраните с
именем E:\MyWork\pic4.cdr.
6. Создайте приложение на основе проекта E:\MyWork\Control.vbp, которое
при нажатии на клавишу выводит изображение E:\MyWork\pic4.jpg на
экран.
59
Download