1 Пояснительная записка Рабочая программа элективного предмета «Исследование информационных моделей» составлена на основе федерального компонента государственного стандарта общего образования и авторской программы Н.Д.Угриновича «Исследование информационных моделей» Программы для общеобразовательных учреждений 2-11 классы Составитель Бородин М.Н. М. – Бином. Лаборатория знаний. 2012. с. 492. Рабочая программа ориентированна на использование учебно методического комплекса: Исследование информационных моделей. Элективный курс: Учебное пособие / Н.Д. Угринович. – 2-е изд., испр. И доп. - М.: - БИНОМ. Лаборатория знаний, 2006г. ISBN 5-94774-1520-8 - И. Г. Семакин, Е. К. Хеннер. Информационные системы и модели. Элективный курс. Практикум/ Изд.: Бином. Лаборатория знаний – 2-е издание – 2012г., 88 стр. ISBN 5-94774-156-3 - Угринович Н. Д. Преподавание курса «Информатика и ИКТ» в основной и старшей школе (7-11): Методическое пособие для учителей. - М.: - БИНОМ. Лаборатория знаний, 2007. - Windows/Linux-CD. Компьютерный практикум на CD – ROM. Угринович Н. Д. - М.: БИНОМ. Лаборатория знаний, 2005. Рабочая программа по элективному предмету «Исследование информационных моделей» для 11 класса рассчитана на 34 часа (1 ч. в неделю), из них практических работ – 24 часа, контрольных работ –2 . Предмет «Исследование информационных моделей» является элективным учебным предметом, в котором расширенно изучаются отдельные разделы, не входящие в обязательную программу. Цель предмета: научить обучающихся: строить информационные модели объектов и процессов из различных предметных областей (физика, математика, химия, биология, география и экономика); на их основе разрабатывать компьютерные модели с использованием систем объектно-ориентированного программирования Visual Basic и Delphi, а также электронных таблиц Microsoft Excel; проводить компьютерный эксперимент, т. е. исследование компьютерных моделей. Задачи предмета: познакомить обучающихся с понятием модели и моделирования, подходами к классификации моделей; познакомить с возможностями компьютера как средства научноисследовательской деятельности; рассмотреть этапы построения моделей, разобрать на примерах различные типы моделей. - Состав учебно-методического комплекса. Учебно-методический комплект по элективному курсу «Исследование информационных моделей с использованием систем объектно-ориентированного программирования и электронных таблиц» включает учебное 2 пособие и компьютерный практикум на CD-ROM. Комплекс является интегрированной обучающей средой, связанной гиперссылками. Учебное пособие содержит необходимый теоретический материал по построению и исследованию информационных моделей с использованием языков объектноориентированного программирования и электронных таблиц. Компьютерный практикум на CD-ROM обеспечивает необходимую программную и методическую поддержку курса как при работе на локальном компьютере, так и в локальной сети. CD-ROM, имеющий удобный Web-интерфейс, содержит программное обеспечение, необходимое для реализации компьютерного практикума, а именно свободно распространяемые версии объектноориентированных систем программирования а также интегрированное офисное приложение Microsoft Office, содержащее электронные таблицы Microsoft Excel . Методическая поддержка курса реализуется в Интернете по адресу http://iit.metodist.ru. Для учителей будет предусмотрена возможность обсуждение вопросов методики на форуме, а для обучающихся предложены интерактивные тесты для проверки уровня знаний и умений и чат для общения по данной проблематике. Метод проектов. Основным методом обучения в данном элективном курсе является метод проектов. Проектная деятельность позволяет развить исследовательские и творческие способности обучающихся. Роль учителя состоит в кратком по времени объяснении нового материала и постановке задачи, а затем консультировании обучающихся в процессе выполнения практического задания. Компьютерный практикум. Разработка каждого проекта реализуется в форме выполнения практической работы на компьютере (компьютерный практикум). В учебном пособии содержатся подробные указания по построению компьютерных моделей и их реализации в форме проектов на языках программирования и в электронных таблицах. Кроме разработки проектов под руководством учителя учащимся предлагаются практические задания для самостоятельного выполнения. В учебном пособии содержатся указания по их выполнению, а на CD-ROM хранятся готовые проекты на языках объектноориентированного программирования и файлы электронных таблиц. В программе заложены возможности предусмотренного стандартом формирования у обучающихся общеучебных умений и навыков, универсальных способов деятельности и ключевых компетенций. Гуманитарное значение информатики как составной части общего образования состоит в том, что она вооружает школьников научным методом познания, позволяющим получить объективные знания об окружающем мире. Знание информатики (вероятностных и алфавитных подходов в кодировании и декодировании информации), необходимо для изучения химии, биологии, физической географии, технологии, ОБЖ. Контроль знаний и умений. Текущий контроль уровня усвоения материала осуществляется по результатам выполнения учащимися практических заданий. Итоговый контроль реализуется в форме защиты итоговых проектов, перечень которых содержится в учебном пособии. В начале курса каждому учащемуся должно быть предложено самостоятельно в течение всего времени изучения данного курса разработать проект, реализующий компьютерную модель конкретного объекта, явления или процесса из различных предметных областей. В процессе защиты учащийся должен будет представить не только проект на языке объектно-ориентированного программирования или в электронных таблицах, но и полученные с его помощью результаты компьютерного эксперимента по исследованию модели. 3 Требования к уровню достижений обучающихся Рабочая программа предусматривает формирование у обучающихся общеучебных умений и навыков, универсальных способов деятельности и ключевых компетенций. В этом направлении приоритетами элективного учебного предмета «Информационные системы и модели» являются: - критический анализ информации, поиск информации в различных источниках; - решение учебных задач на основе заданных алгоритмов; - комбинирование известных алгоритмов деятельности; - определение адекватных способов решения учебных задач; - использование для решения познавательных и коммуникативных задач различных источников информации, включая энциклопедии, словари, Интернет-ресурсы и базы данных; - описание и построение моделей управления систем различной природы (физических, технических и др.), использование моделей и моделирующих программ в области естествознания, обществознания, математики и т.д.; - владение умениями совместной деятельности (согласование и координация деятельности с другими ее участниками; объективное оценивание своего вклада в решение общих задач коллектива; учет особенностей различного ролевого поведения); - формирование моделей информационной деятельности и соответствующих стереотипов поведения. В рамках предмета обучающихся овладевают следующими знаниями, умениями и способами деятельности: - умеют построить информационную модель реального объекта; - могут осуществить её компьютерную реализацию, используя типовые средства: электронные таблицы или язык программирования; - способны провести компьютерный эксперимент с целью изучения свойств модели и исследования существующих зависимостей; - владеют способами анализа полученных результатов; - способны интерпретировать результаты, получаемые в ходе моделирования реальных процессов; - умеют оценивать адекватность (достоверность) полученных результатов исследования. 4 Учебно-тематический план № 1 2 7 Раздел/тема Построение и исследование информационных моделей с использованием систем объектно-ориентированного программирования и электронных таблиц Итоговый контроль Итого Количество часов В том числе: Лабораторные, Контрольные практические работы работы 33 24 1 1 34 24 1 2 5 Содержание тем учебного предмета 1. Построение и исследование информационных моделей с использованием систем объектно-ориентированного программирования и электронных таблиц. (33 часа) Моделирование как метод познания: системный подход в моделировании; модели материальные и модели информационные; основные этапы разработки и исследования моделей на компьютере. Исследование физических моделей: построение информационной модели движения тела, брошенного под углом к горизонту; компьютерная модель движения тела на языке Delphi; компьютерная модель движения тела на языке Visual Basic; компьютерная модель движения тела в электронных таблицах. Приближенное решение уравнений: приближенное решение уравнений на языке Delphi; приближенное решение уравнений на языке Visual Basic; приближенное решение уравнений в электронных таблицах. Вероятностные модели: построение информационной модели с использованием метода Монте-Карло; компьютерные модели, построенные с использованием метода Монте-Карло на языке Delphi; компьютерные модели, построенные с использованием метода Монте-Карло на языке Visual Basic. Биологические модели развития популяций: информационные модели развития популяций; компьютерные модели развития популяций на языке Delphi; компьютерные модели развития популяций на языке Visual Basic; компьютерные модели развития популяций в электронных таблицах Оптимизационное моделирование в экономике: информационные оптимизационные модели; построение и исследование оптимизационной модели на языке Delphi; построение и исследование оптимизационной модели на языке Visual Basic; построение и исследование оптимизационной модели в электронных таблицах. Экспертные системы распознавания химических веществ: построение информационной модели экспертной системы; модель экспертной системы на языке Delphi; модель экспертной системы на языке Visual Basic. Геоинформационные модели в электронных таблицах Microsoft Excel. Модели логических устройств: логические схемы сумматора и триггера; модели логических устройств компьютера на языке Delphi; модели логических устройств компьютера на языке Visual Basic; модели логических устройств компьютера в электронных таблицах. Информационные модели управления объектами: информационные модели систем управления; модели систем управления на языке Delphi; модели систем управления на языке Visual Basic. Практические работы (24). 1. Диапазон углов, обеспечивающий попадание в стенку на языке Delphi и на языке Visual Basic. 2. Диапазон углов, обеспечивающий попадание в площадку на языке Delphi и на языке Visual Basic. 3. Попадание в стенку тела, брошенного под углом к горизонту в электронных таблицах. 4. Приближенное решение уравнения на языке Delphi и на языке Visual Basic. 5. Приближенное решение уравнения в электронных таблицах. 6. Определение площади круга с использованием метода Монте-Карло на языке Delphi и на языке Visual Basic. 7. Численность популяций на языке Delphi. 8. Численность популяций на языке Visual Basic. 9. Численность популяций в электронных таблицах. 10. Оптимизация раскроя на языке Delphi и на языке Visual Basic. 11. Оптимизация раскроя в электронных таблицах. 12. Распознание удобрений на языке Delphi и на языке Visual Basic. 13. Модель полусумматора на языке Delphi и на языке Visual Basic. 14. Модель триггера на языке Delphi и на языке Visual Basic. 6 15. Модель полусумматора в электронных таблицах. 16. Модель разомкнутой системы управления на языке Delphi и на языке Visual Basic. 17. Модель замкнутой системы управления на языке Delphi и на языке Visual Basic. Контроль ЗУН: зачетная практическая работа. Требования к уровню подготовки обучающихся Учащиеся должны Знать/понимать: о моделировании как методе познания, общения, практической деятельности; о модели как способе существования знаний; об основных методах моделирования различных систем и процессов. определение и взаимосвязь понятий «модель», «моделирование», «информационная модель»; основные аспекты моделирования и основные приемы моделирования внешнего вида, структуры, поведения объекта; виды и свойства информационных моделей реальных объектов и процессов; этапы построения информационных моделей; методы и средства компьютерной реализации информационных моделей; общую структуру деятельности по созданию компьютерных моделей. Уметь: выделять в исследуемой ситуации объект, субъект, задачу исследования, цель моделирования, модель; анализировать свойства объекта и выделять среди них существенные с точки зрения целей моделирования; исследовать учебные модели; определять их вид, назначение, степень подобия объекту моделирования; выделять информационное взаимодействие в простейших социальных, биологических и технических системах; строить информационные модели объектов, систем и процессов, используя для этого типовые средства (язык программирования, таблицы, графики, диаграммы, формулы и т.д.); интерпретировать результаты, получаемые в ходе моделирования реальных процессов. 2. Повторение, итоговый контроль (1 ч) 7 Технологическая карта контроля № урока Тема Вид контроля 3 Формальная модель «Попадание в стенку тела, брошенного под углом к горизонту». Текущий 4 Проект «Диапазон углов, обеспечивающий попадание в стенку» на языке Delphi. Проект «Диапазон углов, обеспечивающий попадание в стенку» на языке Visual Basic. Текущий 5 Проект-задание «Диапазон углов, обеспечивающий попадание в площадку» на языке Visual Basic, (самостоятельная работа) Проект-задание «Диапазон углов, обеспечивающий попадание в площадку» на языке Visual Basic. Компьютерная модель «Попадание в стенку тела, брошенного под углом к горизонту» в электронных таблицах. Приближенное решение уравнений: Проект «Приближенное решение уравнения» на языке Delphi. Текущий 6 7 8 Текущий Текущий Текущий 9 Проект «Приближенное Текущий решение уравнения_1» на языке Visual Basic. 10 Компьютерная модель «Приближенное решение уравнений_1» в электронных таблицах. Текущий 11 Вероятностные модели. Текущий Форма контроля Ф ПР Формальная модель «Попадание в стенку тела, брошенного под углом к горизонту». Ф ПР Проект «Диапазон углов, обеспечивающий попадание в стенку» на языке Delphi. Проект «Диапазон углов, обеспечивающий попадание в стенку» на языке Visual Basic. Ф ПР Проект-задание «Диапазон углов, обеспечивающий попадание в площадку» на языке Visual Basic, (самостоятельная работа) Проект-задание «Диапазон углов, обеспечивающий попадание в площадку» на языке Visual Basic. Ф ПР «Попадание в стенку тела, брошенного под углом к горизонту» в электронных таблицах. И УО Ф ПР Проект «Приближенное решение уравнения» на языке Delphi. Ф ПР Проект «Приближенное решение уравнения_1» на языке Visual Basic. Ф ПР Компьютерная модель «Приближенное решение уравнений_1» в электронных таблицах. И УО 8 12 Формальная модель «Определение площади круга методом Монте-Карло». Формальная модель-задание «Бросание монеты». Текущий 13 Проект «Определение площади круга с использованием метода Монте-Карло» на языке Delphi. Текущий 14 Проект «Определение площади круга с использованием метода Монте-Карло» на языке Visual Basic. Текущий 16 тематический 18 Контроль знаний и умений: Защита зачетной практической работы Формальная модель «Численность популяций_1». Формальная модель «Численность популяций_2». 19 Проект «Численность популяций_1» на языке Delphi. Текущий 20 Проект «Численность популяций 1» на языке Visual Basic. Текущий 22 Оптимизационное моделирование в экономике Формальная модель «Оптимизация раскроя». Проект «Оптимизация раскроя» на языке Delphi Проект «Оптимизация раскроя» на языке Visual Basic.. Экспертные системы распознавания химических веществ: Геоинформационные модели в электронных таблицах Модели логических устройств. Текущий 23 25 27 28 Текущий Текущий Текущий Текущий Текущий Ф ПР Формальная модель «Определение площади круга методом Монте-Карло». Формальная модель-задание «Бросание монеты». Ф ПР Проект «Определение площади круга с использованием метода Монте-Карло» на языке Delphi. Ф ПР Проект «Определение площади круга с использованием метода Монте-Карло» на языке Visual Basic. Ф Защита зачетной практической работы Ф ПР Формальная модель «Численность популяций_1». Формальная модель «Численность популяций_2». Ф ПР Проект «Численность популяций_1» на языке Delphi. Ф ПР Проект «Численность популяций 1» на языке Visual Basic. И УО Ф ПР Проект «Оптимизация раскроя» на языке Delphi Проект «Оптимизация раскроя» на языке Visual Basic.. И СР УО И УО И УО 9 29 31 32 33 34 Проект «Модель полусумматора» на языке Visual Basic. Проект «Модель триггера» на языке Delphi. Проект «Модель полусумматора» на языке Visual Basic. Проект «Модель триггера» на языке Visual Basic. Информационные модели управления объектами: Проект «Модель разомкнутой системы управления» на языке Delphi. Проект «Модель замкнутой системы управления» Текущий Г ПР Проект «Модель полусумматора» на языке Delphi. Проект «Модель триггера» на языке Delphi. Проект «Модель полусумматора» на языке Visual Basic. Проект «Модель триггера» на языке Visual Basic. Текущий Проект «Модель разомкнутой системы управления» на языке Visual Basic. Проект «Модель замкнутой системы управления» на языке Visual Basic. Итоговый контроль знаний и умений: Защита зачетной практической работы Текущий И УО Ф ПР Проект «Модель разомкнутой системы управления» на языке Delphi. Проект «Модель замкнутой системы управления» Ф ПР Проект «Модель разомкнутой системы управления» на языке Visual Basic. Проект «Модель замкнутой системы управления» на языке Visual Basic. Ф Защита зачетной практической работы Текущий итоговый Условные обозначения: Формы контроля: И- индивидуальная Ф-фронтальная Г-групповая Методический инструментарий: УО-устный опрос Т-тест СР-самостоятельная работа 10 Литература и средства обучения УМК для обучающихся 1. Исследование информационных моделей. Элективный курс: Учебное пособие / Н.Д. Угринович. – 2-е изд., испр. И доп. - М.: - БИНОМ. Лаборатория знаний, 2006г. ISBN 5-94774-1520-8 2. И. Г. Семакин, Е. К. Хеннер. Информационные системы и модели. Элективный курс. Практикум/ Изд.: Бином. Лаборатория знаний – 2-е издание – 2012г., 88 стр. ISBN 5-94774-156-3 Литература для учителя 1. Угринович Н. Д. Преподавание курса «Информатика и ИКТ» в основной и старшей школе (7-11): Методическое пособие для учителей. - М.: - БИНОМ. Лаборатория знаний, 2007. 2. Windows/Linux-CD. Компьютерный практикум на CD – ROM. Угринович Н. Д. - М.: БИНОМ. Лаборатория знаний, 2005. Образовательные ресурсы сети Интернет 1. http://window.edu (Единое окно доступа к образовательным ресурсам) 2. http://www.edu.ru (Федеральный портал «Российское образование») 3. http://school.edu.ru (Российский общеобразовательный портал) 4. http://ege.edu.ru (Портал информационной поддержки единого государственного экзамена) 5. http://edu.of.ru (конструктор сайтов общеобразовательных учреждений и проектов) 6. http://experiment.edu.ru (естественно-научные эксперименты, коллекция опытов по физике и химии, содержащие видеодемонтсрации) 7. http://ict.edu.ru (Информационно-коммуникационные технологии в образовании) 8. http://www.intuit.ru (Интернет-университет информационных технологий ИНТУИТ.ру) 9. http://www.rusedu.info (Информатика и ИКТ в образовании) 10. http://iit.metodist.ru (Информатика и информационные технологии: сайт лаборатории информатики МИОО) 11. http://ito.edu.ru (Конгресс конференций «Информационные технологии в образовании») 12. http://algolist.manual.ru (Алгоритмы, методы, исходники) 13. http://alglib.sources.ru (Библиотека алгоритмов) 14. http://www.mathprog.narod.ru (Математика и программирование) 15. http://www.computer-museum.ru (Виртуальный компьютерный музей) 16. http://inf.1september.ru (Газета «Информатика» издательского дома «Первое сентября») 17. http://rain.ifmo.ru/cat/ (Дискретная математика: алгоритмы (проект Computer Algorithm Tutor) 18. http://www.infojournal.ru/journal.htm (Журнал «Информатика и образование») 19. http://ipo.spb.ru/journal/ (Журнал «Компьютерные инструменты в образовании») 20. http://www.problems.ru/inf/ (Задачи по информатике сайт МЦНМО) 21. http://acm.timus.ru (Задачи соревнований по спортивному программированию с проверяющей системой) 22. http://www.nethistory.ru (История Интернета в России) 23. http://www.edu-it.ru (ИТ-образование в России: сайт открытого е-консорциума) 24. http://www.klyacsa.net (Клякс@.net: Информатика в школе. Компьютер на уроках) 11 25. http://edusite.ru (Конструктор школьных сайтов. Некоммерческое партнерство «Школьный сайт») 26. http://iso.pippkro.ru/dbfiles/sites/htmlbook/ (Методика сайтостроения в школе: электронное учебно-методическое пособие) 27. http://cyber-net.spb.ru (Олимпиада по кибернетике для школьников) 28. http://www.olimpiads.ru (Олимпиадная информатика) 29. http://www.informatics.ru (Олимпиады по информатике: сайт Мытищинской школы программистов) 30. http://ips.ifmo.ru (Российская Интернет-школа информатики и прораммирования) 31. http://test.specialist.ru (Онлайн тестирование и сертификация по информационным технологиям (Центр компьютерного обучения «Специалист») 32. http://tests.academy.ru (Онлайн тестирование по информационным технологиям (проект учебного центра «Сетевая академия») Объекты и средства материально-технического обеспечения курса информатики и ИКТ Аппаратные средства 1. Персональный компьютер - рабочее место учителя и обучающихся 2. Мультимедиапроектор 3. Интерактивная доска 4. Принтер (лазерный, цветной, сетевой) 5. Сервер 6. Комплект сетевого оборудования 7. Комплект оборудования для подключения к сети Интернет 8. Источник бесперебойного питания 9. Устройства вывода звуковой информации (наушники, колонки, микрофон) 10. Устройства для ручного ввода текстовой информации и манипулирования экранными объектами (клавиатура и мышь) 11. Сканер Программные средства Операционная система. Файловый менеджер (в составе операционной системы или др.). Антивирусная программа. Программа-архиватор. Клавиатурный тренажер. Интегрированное офисное приложение, включающее текстовый редактор, растровый и векторный графические редакторы, программу разработки презентаций и электронные таблицы. 7. Простая система управления базами данных. 8. Программы разработки анимации 9. Мультимедиа-проигрыватель (входит в состав операционных систем или др.). 10. Звуковой редактор. 11. Браузер (входит в состав операционных систем или др.). 12. Простой редактор Web-страниц. 13. Программа для записи CD и DVD дисков 14. Комплекты презентационных слайдов по всем разделам курсов 1. 2. 3. 4. 5. 6. 12 Контроль уровня обученности Итоговый контроль проводится в соответствии с Уставом образовательного учреждения в форме защиты практической работы. Перечень контрольных работ Класс 10 Количество работ за учебный год 2 Контрольная работа Контроль знаний и умений: Защита зачетной практической работы Итоговый Контроль знаний и умений: Защита зачетной практической работы № урока по КТП 16 34 13 Варианты зачетных практических работ Проект «Слово-перевертыш» на языке Visual Basic Проект «Слово-перевертыш». На языке Visual Basic создать проект «Слово-перевертыш», который изменяет прямую последовательность символов в слове (слева направо) на обратную последовательность (справа налево). Проект «Слово-перевертыш» 1 На форме разместить кнопку cmd1 и создать для нее событийную процедуру преобразования введенного слова в слово с обратной последовательностью следования составляющих его символов. Ввод слова производится с помощью функции ввода MsgBox и ее значение присваивается переменной strA. 2 В цикле со счетчиком, количество выполнения которого равно количеству символов в слове, последовательно вырезаются в прямой последовательности (слева направо) символы из введенного слова и в обратной последовательности (справа налево) присваиваются переменной strX, значением которой после завершения цикла будет слово перевертыш: Dim strA, strB, strX As String, bytI, bytN As Byte Private Sub cmd1_Click() strA = InputBox("Введите слово", "Ввод слова") Print "Введенное слово: "; strA strX = " " bytN = 1 Do While bytN <= Len(strA) strB = Mid$(strA, bytN, 1) strX = strB + strX bytN = bytN + 1 Loop Print "Слово перевертыш: "; strX End Sub Запустить проект на выполнение. Щелкнуть по кнопке Пуск и на появившейся диалоговой панели ввести слово. На форме будут напечатаны как исходное слово, так и полученное слово-перевертыш. Проект «Графический редактор» на языке Visual Basic На форме или в графическом поле можно рисовать различные графические примитивы с использованием графических методов: Scale – позволяет задать систему координат и масштаб для формы или графического окна: object.Scale (X1,Y1) - (X2,Y2) Pset – установка точки с заданными координатами и цветом: object.Pset (X,Y) [,color] 14 Line – рисование линии, прямоугольника или закрашенного прямоугольника заданного цвета: object.Line (X1,Y1) - (X2,Y2) [,color][,B][F] Circle – рисование окружности, овала или дуги с заданными координатами центра, радиусом, цветом, начальным и конечным углом дуги и коэффициентом сжатия: object.Circle (X,Y),radius [,color, start, end, aspect] Задание 1.13. Проект «Графический редактор». Создать проект «Графический редактор», который позволяет нарисовать в графическом поле все графические примитивы (точку, линию, прямоугольник, закрашенный прямоугольник, окружность). 1 2 3 4 5 Проект «Графический редактор» Поместить на форму четыре текстовых поля для ввода координат: txtX1, txtY1, txtX2 и txtY2. Присвоить свойству Text значение 0. Поместить на форму четыре текстовых поля для ввода числовых кодов цвета: txtС, txtR, txtG и txtB. Присвоить свойству Text значение 0. Поместить на форму четыре текстовых поля для ввода параметров рисования окружности: txtRad (радиус), txtAng1 и txtAng2 (начальный и конечный угол дуги) и txtAsp (степень сжатия). Присвоить свойству Text окна txtAng2 значение 6,28, а поля txtAsp – значение 1. Поместить на форму двенадцать меток для обозначения текстовых полей. Объявить переменные и создать событийную процедуру задания масштаба текстового поля: Dim bytX1, bytX2, bytY1, bytY2, bytC, bytR, bytG, bytB, bytRad As Byte, sngA1, sngA2, sngAsp As Single, lngC As Long Private Sub cmdScale_Click() picPaint.Scale (0, 100)-(100, 0) End Sub Ввести событийные процедуры рисования примитивов так, чтобы параметры считывались из текстовых окон. Предусмотреть с помощью оператора условного перехода возможность выбора использования функции QBColor или функции RGB для задания цвета. Событийная процедура рисования точки запишется следующим образом: Private Sub cmdPoint_Click() bytX1 = Val(txtX1) bytY1 = Val(txtY1) If Val(txtC.Text) > 0 _ Then lngC = QBColor(Val(txtC)) _ Else: bytR = Val(txtR): bytG = Val(txtG): bytB = Val(txtB): lngC = RGB(bytR, bytG, bytB) picPaint.PSet (bytX1, bytY1), lngC End Sub Событийная процедура рисования линии запишется следующим образом: Private Sub cmdLine_Click() bytX1 = Val(txtX1) bytY1 = Val(txtY1) bytX2 = Val(txtX2) bytY2 = Val(txtY2) If Val(txtC.Text) > 0 _ Then lngC = QBColor(Val(txtC)) _ Else: bytR = Val(txtR): bytG = Val(txtG): bytB = Val(txtB): lngC = RGB(bytR, bytG, bytB) picPaint.Line (bytX1, bytY1)-(bytX2, bytY2), lngC End Sub Событийная процедура рисования прямоугольника запишется следующим образом: Private Sub cmdLineB_Click() 15 bytX1 = Val(txtX1) bytY1 = Val(txtY1) bytX2 = Val(txtX2) bytY2 = Val(txtY2) If Val(txtC.Text) > 0 _ Then lngC = QBColor(Val(txtC)) _ Else: bytR = Val(txtR): bytG = Val(txtG): bytB = Val(txtB): lngC = RGB(bytR, bytG, bytB) picPaint.Line (bytX1, bytY1)-(bytX2, bytY2), lngC, B End Sub Событийная процедура рисования закрашенного прямоугольника запишется следующим образом: Private Sub cmdLineBF_Click() bytX1 = Val(txtX1) bytY1 = Val(txtY1) bytX2 = Val(txtX2) bytY2 = Val(txtY2) If Val(txtC.Text) > 0 _ Then lngC = QBColor(Val(txtC)) _ Else: bytR = Val(txtR): bytG = Val(txtG): bytB = Val(txtB): lngC = RGB(bytR, bytG, bytB) picPaint.Line (bytX1, bytY1)-(bytX2, bytY2), lngC, BF End Sub 6 7 Событийная процедура рисования окружности запишется следующим образом: Private Sub cmdCircle_Click() bytX1 = Val(txtX1) bytY1 = Val(txtY1) bytRad = Val(txtRad) sngA1 = Val(txtAng1) sngA2 = Val(txtAng2) sngAsp = Val(txtAsp) If Val(txtC.Text) > 0 _ Then lngC = QBColor(Val(txtC)) _ Else: bytR = Val(txtR): bytG = Val(txtG): bytB = Val(txtB): lngC = RGB(bytR, bytG, bytB) picPaint.Circle (bytX1, bytY1), bytRad, lngC, sngA1, sngA2, sngAsp End Sub Поместить на форму кнопку txtCls и создать событийную процедуру очистки графического поля: Private Sub txtCls_Click() picPaint.Cls End Sub Запустить проект. Ввести в поля числовые значения (значения углов измеряются в радианах и должны находиться в интервале от –2*pi до 2*pi). Щелкнуть по кнопкам, в графическом поле будут нарисованы графические примитивы. 16 Построение и исследование оптимизационной модели в электронных таблицах Надстройка Поиск решений. Возможности электронных таблиц Microsoft Excel не ограничиваются вычислениями по формулам и построением диаграмм и графиков. Задачи оптимизационного моделирования можно решать с помощью надстройки электронных таблиц Поиск решений, которая требуют дополнительной установки. Процедура поиска решения позволяет найти оптимальное значение формулы содержащейся в ячейке, которая называется целевой. Эта процедура работает с группой ячеек, прямо или косвенно связанных с формулой в целевой ячейке. Чтобы получить по формуле, содержащейся в целевой ячейке, заданный результат, процедура изменяет значения во влияющих ячейках. Чтобы сузить множество значений, используемых в модели, применяются ограничения. Эти ограничения могут ссылаться на другие влияющие ячейки. 1 Компьютерная модель «Оптимизация раскроя» в электронных таблицах Ввести команду [Сервис-Надстройки]. В диалоговом окне Надстройки в списке Доступные надстройки выбрать нужные путем установки флажков. Щелкнуть по кнопке OK. Рис. 3.28. Диалоговое окно Надстройки 2 Ячейки B2, C2 и D2 выделить для хранения значений параметров X1, X2 и X3. В ячейку B4 ввести формулу вычисления целевой функции: =B2+C2+D2. В ячейку B7 ввести формулу вычисления количества заготовок типа А: =10*B2+ 3*C2 + 8*D2 В ячейку B8 ввести формулу вычисления количества заготовок типа Б: =3*B2+ 6*C2 + 4*D2 Рис. 3.29. Ввод формул оптимизационной модели 17 Исследование модели. Для поиска оптимального набора значений параметров, который соответствует минимальному значению целевой функции, воспользоваться надстройкой электронных таблиц Поиск решений. 3 Для активизации надстройки ввести команду [Сервис-Надстройки…]. На диалоговой панели поставить флажок перед элементом списка Поиск решения. 4 Ввести команду [Сервис-Поиск решений…]. На появившейся диалоговой панели Поиск решения установить: адрес целевой ячейки; вариант оптимизации значения целевой ячейки (максимизация, минимизация или подбор значения); адреса ячеек, значения которых изменяются в процессе поиска решения (в которых хранятся значения параметров); ограничения (типа равно для ячеек, хранящих количество деталей, и типа больше равно для параметров). Рис. 3.30. Диалоговое окно Поиск решения 5 Щелкнуть по кнопке Выполнить. В ячейке целевой функции появится значение 70, а в ячейках параметров значения 20, 20, 30. Рис. 3.31. Результат оптимизации Таким образом, для изготовления 500 деталей А и 300 деталей Б требуется 70 листов материала, при этом 20 листов необходимо раскроить по первому, 20 листов по второму и 30 листов по третьему варианту. В электронных таблицах построить компьютерную модель «Оптимизация раскроя», найти значения параметров и целевую функцию для других вариантов способов 18 Компьютерные модели развития популяций на языке Delphi Построим на языке Delphi компьютерную модель позволяющую исследовать изменение со временем численности популяций с использованием различных моделей: неограниченного роста, ограниченного роста, ограниченного роста с отловом и жертва-хищник. 1 2 3 4 5 Проект «Численность популяций» на языке Delphi На форму (см. рис. 3.22) поместить текстовые поля для ввода: значений коэффициентов a, b, c и f, влияющих на изменение численности жертв: EditA, EditB, EditC и EditF; значений коэффициентов d и e, влияющих на изменение численности хищников: EditD и EditE. начальной численности популяций жертв и хищников: EditX и EditY. количества рассматриваемых жизненных циклов (лет) EditN. На форму поместить метки для вывода численности популяции через заданное количество лет: при неограниченном росте LabelNR; при ограниченном росте LabelOR; при ограниченном росте с отловом LabelORO; в модели жертва-хищник LabelX_Y и LabelY_X. Прежде всего, необходимо объявить переменные: var A : real; //коэффициент роста популяции B : real; //коэффициент уменьшения популяции C : real; //коэффициент отлова D : real; //коэффициент уменьшения численности хищников в отсутствие жертв E : real; //коэффициент увеличения численности хищников в присутствие жертв F : real; //коэффициент уменьшения численности жертв в присутствие хищников X : real; //первоначальное количество жертв Y : real; //первоначальное количество хищников N : integer; //количество циклов (лет) I : integer; //счетчик цикла Поместить на форму кнопку Button1 и начать создание событийной процедуры TForm1.Button1Click(). Присвоить переменным значения, вводимые в текстовые поля, с использованием функций преобразования типов данных StrToFloat()и StrToInt(): procedure TForm1.Button1Click(Sender: TObject); begin //Ввод данных A := StrToFloat(EditA.Text); B := StrToFloat(EditB.Text); C := StrToFloat(EditC.Text); D := StrToFloat(EditD.Text); E := StrToFloat(EditE.Text); F := StrToFloat(EditF.Text); X := StrToFloat(EditX.Text); Y := StrToFloat(EditY.Text); N := StrToInt(EditN.Text); end; Поместить на форму графическое поле Image1, в котором будут строиться графики зависимости численности популяций от количества прошедших лет. В событийной процедуре установить ширину линий рисования на холсте равную, например, 3 пикселям: 19 6 //Установка ширины линии рисования Image1.Canvas.Pen.Width := 3; Ввести код модели неограниченного роста, где: задается начальная точка графика с использованием метода MoveTo(); задается цвет графика путем задания значения свойству Color; в цикле вычисляется численность популяции и строится график с использованием метода LineTo(); конечная численность населения выводится на метку LabelNR с использованием функции преобразования типов данных FloatToStr(X): 7 //Неограниченный рост Image1.Canvas.MoveTo(0,250); Image1.Canvas.Pen.Color := clBlack; For I:=1 to N Do begin Image1.Canvas.LineTo(25*I-25,250-Round(25*X)+25); X := A*X; end; LabelNR.Caption := FloatToStr(X); Ввести код модели ограниченного роста: 8 //Ограниченный рост X := StrToFloat(EditX.Text); Image1.Canvas.MoveTo(0,250); Image1.Canvas.Pen.Color := clDkGray; For I:=1 to N Do begin Image1.Canvas.LineTo(25*I-25,250-Round(25*X)+25); X := (A-B*X)*X; end; LabelOR.Caption := FloatToStr(X); Ввести код модели ограниченного роста с отловом: 9 //Ограниченный рост с отловом X:= StrToFloat(EditX.Text); Image1.Canvas.MoveTo(0,250); Image1.Canvas.Pen.Color :=clBlue; For I:=1 to N Do begin Image1.Canvas.LineTo(25*I-25,250-Round(25*X)+25); X := (A-B*X)*X-C; LabelORO.Caption := FloatToStr(X); end; LabelORO.Caption := FloatToStr(X); Ввести код модели жертва-хищник для вычисления численности жертв: //Жертвы X := StrToFloat(EditX.Text); Y := StrToFloat(EditY.Text); Image1.Canvas.MoveTo(0,250); Image1.Canvas.Pen.Color :=clGreen; For I:=1 to N Do begin 20 10 11 Image1.Canvas.LineTo(25*I-25,250-Round(25*X)+25); X := (A-B*X)*X-C-F*X*Y; Y := D*Y+E*X*Y; end; LabelX_Y.Caption := FloatToStr(X); Ввести код модели жертва-хищник для вычисления численности хищников: //Хищники X := StrToFloat(EditX.Text); Y := StrToFloat(EditY.Text); Image1.Canvas.MoveTo(0,250); Image1.Canvas.Pen.Color :=clRed; For I:=1 to N Do begin Image1.Canvas.LineTo(25*I-25,250-Round(25*Y)+25); X := (A-B*X)*X-C-F*X*Y; Y := D*Y+E*X*Y; end; LabelY_X.Caption := FloatToStr(Y); Запустить проект и ввести значения коэффициентов, начальное количество жертв и хищников и количество жизненных циклов (лет). (Для простоты примем начальные количества жертв и хищников за единицу). Щелкнуть по кнопке Пуск, графики показывают динамику развития популяций, а в текстовые поля выводятся конечные значения численности популяций. Рис. 3.22. Проект «Численность популяций» на языке Delphi В системе программирования Delphi создать проект «Численность популяций», модернизировать его так, чтобы учитывался отлов не только жертв, но и хищников. 21