Рабочая программа для элективного предмета «Исследование

advertisement
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.
Рабочая программа по элективному предмету «Исследование информационных
моделей» для 10 класса рассчитана на 35 часов (1 ч. в неделю), из них
практических работ – 20 часов,
контрольных работ – 2.
Продолжается изучение данного предмета в 11 классе и рассчитано на 34 часа (1 час в
неделю).
Предмет «Исследование информационных моделей» является элективным учебным
предметом, в котором углубленно изучаются отдельные разделы, не входящие в
обязательную программу.
Цель предмета: научить учащихся:
 строить информационные модели объектов и процессов из различных
предметных областей (физика, математика, химия, биология, география и
экономика);
 на их основе разрабатывать компьютерные модели с использованием систем
объектно-ориентированного программирования Visual Basic и Delphi, а также
электронных таблиц Microsoft Excel;
 проводить компьютерный эксперимент, т. е. исследование компьютерных
моделей.
Задачи предмета:

познакомить учащихся с понятием модели и моделирования, подходами к
классификации моделей;

познакомить с возможностями компьютера как средства научноисследовательской деятельности;

рассмотреть этапы построения моделей, разобрать на примерах различные
типы моделей.
Состав учебно-методического комплекса. Учебно-методический комплект по
элективному курсу «Исследование информационных моделей с использованием систем
объектно-ориентированного программирования и электронных таблиц» включает учебное
пособие и компьютерный практикум на CD-ROM. Комплекс является интегрированной
2
обучающей средой, связанной гиперссылками.
Учебное пособие содержит необходимый теоретический материал по построению и
исследованию информационных моделей с использованием языков объектноориентированного программирования и электронных таблиц. Компьютерный практикум на
CD-ROM обеспечивает необходимую программную и методическую поддержку курса как
при работе на локальном компьютере, так и в локальной сети. CD-ROM, имеющий удобный
Web-интерфейс, содержит программное обеспечение, необходимое для реализации
компьютерного практикума, а именно свободно распространяемые версии объектноориентированных систем программирования а также интегрированное офисное приложение
Microsoft Office, содержащее электронные таблицы Microsoft Excel .
Методическая поддержка курса реализуется в Интернете по адресу http://iit.metodist.ru.
Для учителей будет предусмотрена возможность обсуждение вопросов методики на форуме,
а для учащихся предложены интерактивные тесты для проверки уровня знаний и умений и
чат для общения по данной проблематике.
Метод проектов. Основным методом обучения в данном элективном курсе является
метод проектов. Проектная деятельность позволяет развить исследовательские и творческие
способности учащихся. Роль учителя состоит в кратком по времени объяснении нового
материала и постановке задачи, а затем консультировании учащихся в процессе выполнения
практического задания.
Компьютерный практикум. Разработка каждого проекта реализуется в форме
выполнения практической работы на компьютере (компьютерный практикум). В учебном
пособии содержатся подробные указания по построению компьютерных моделей и их
реализации в форме проектов на языках программирования и в электронных таблицах.
Кроме разработки проектов под руководством учителя учащимся предлагаются
практические задания для самостоятельного выполнения. В учебном пособии содержатся
указания по их выполнению, а на CD-ROM хранятся готовые проекты на языках объектноориентированного программирования и файлы электронных таблиц.
В программе заложены возможности предусмотренного стандартом формирования у
обучающихся общеучебных умений и навыков, универсальных способов деятельности и
ключевых компетенций.
Гуманитарное значение информатики как составной части общего образования состоит
в том, что она вооружает школьников научным методом познания, позволяющим получить
объективные знания об окружающем мире. Знание информатики (вероятностных и
алфавитных подходов в кодировании и декодировании информации), необходимо для
изучения химии, биологии, физической географии, технологии, ОБЖ.
Контроль знаний и умений. Текущий контроль уровня усвоения материала
осуществляется по результатам выполнения учащимися практических заданий.
Итоговый контроль реализуется в форме защиты итоговых проектов, перечень
которых содержится в учебном пособии. В начале курса каждому учащемуся должно быть
предложено самостоятельно в течение всего времени изучения данного курса разработать
проект, реализующий компьютерную модель конкретного объекта, явления или процесса из
различных предметных областей. В процессе защиты учащийся должен будет представить не
только проект на языке объектно-ориентированного программирования или в электронных
таблицах, но и полученные с его помощью результаты компьютерного эксперимента по
исследованию модели.
3
Требования к уровню достижений обучающихся
-
В рамках предмета обучающихся овладевают следующими знаниями, умениями и
способами деятельности:
умеют построить информационную модель реального объекта;
могут осуществить её компьютерную реализацию, используя типовые средства:
электронные таблицы или язык программирования;
способны провести компьютерный эксперимент с целью изучения свойств модели и
исследования существующих зависимостей;
владеют способами анализа полученных результатов;
способны интерпретировать результаты, получаемые в ходе моделирования реальных
процессов;
умеют оценивать адекватность (достоверность) полученных результатов
исследования.
4
Учебно-тематический план
№
1
2
3
7
Раздел/тема
Основы объектноориентированного
программирования на языке
Visual Basic
Основы объектноориентированного
программирования на языке
Delphi
Итоговое повторение
Итого
Количество
часов
В том числе:
Лабораторные,
Контрольные
практические
работы
работы
16
9
1
18
11
1
1
35
20
2
5
Содержание тем учебного предмета
1. Основы объектно-ориентированного программирования на языке Visual Basic
(16 часов)
Основы объектно-ориентированного визуального программирования:
объекты:
свойства, методы и события; графический интерфейс и событийные процедуры; общие
процедуры. Система объектно-ориентированного программирования Visual Basic:
интегрированная среда разработки языка программирования Visual Basic; этапы разработки
проектов на языке Visual Basic. Переменные в языке программирования Visual Basic.
Функции в языке программирования Visual Basic: функции преобразования типов данных;
математические функции; строковые функции; функции ввода и вывода данных. Основные
типы алгоритмических структур и их кодирование на языке Visual Basic: линейный
алгоритм. Алгоритмическая структура «ветвление». Алгоритмическая структура «выбор».
Алгоритмическая структура «цикл»
Практические работы.
1. Обычный калькулятор.
2. Переменные.
3. Перевод чисел.
4. Поиск большего из двух чисел.
5. Коды символов.
6. Построение графика функции.
7. Поиск минимального (максимального) элемента в числовом массиве.
8. Сортировка числового массива по возрастанию (убыванию).
9. Таблица умножения.
Требования к уровню подготовки обучающихся
Знать/понимать:
 о структурном программировании и объектно-ориентированном подходе к
программированию;
 понятия программа, язык программирования, система программирования;
 виды языков программирования;
 состав и функции систем программирования;
 этапы разработки программ;
 синтаксис и семантику правил использования операторов (команд) в программе;
 правила использования арифметических операций.
Уметь:
 Выполнять этапы разработки программы;
 разрабатывать программы средствами систем программирования;
 находить ошибки в программах (синтаксические, семантические) и исправлять их;
 находить эффективные алгоритмы решения задачи для построения правильно
работающих, эффективных программ.
Контроль ЗУН: зачетная практическая работа.
2. Основы объектно-ориентированного программирования на языке Delphi
(18 часов)
Основы объектно-ориентированного визуального программирования:
объекты:
свойства, методы и события; графический интерфейс и событийные процедуры; общие
процедуры.
Система
объектно-ориентированного
программирования
Delphi:
интегрированная среда разработки языка программирования Delphi; этапы разработки
проектов на языке Delphi. Переменные в языке программирования Delphi. Функции в языке
программирования Delphi: Функции преобразования типов данных; математические
функции; строковые функции; функции ввода и вывода данных. Основные типы
6
алгоритмических структур и их кодирование на языке Delphi: линейный алгоритм;
алгоритмическая
структура
«ветвление»;
алгоритмическая
структура
«выбор»;
алгоритмическая структура «цикл». Графические возможности языка программирования
Delphi. Массивы в языке программирования Delphi: числовые массивы: заполнение и поиск;
сортировка числовых массивов.
Практические работы.
1. Обычный калькулятор.
2. Переменные.
3. Перевод чисел.
4. Поиск большего из двух чисел.
5. Коды символов.
6. Построение графика функции.
7. Поиск минимального (максимального) элемента в числовом массиве.
8. Сортировка числового массива по возрастанию (убыванию).
9. Таблица умножения.
10. Развертка – 2 часа
Контроль ЗУН: зачетная практическая работа.
Требования к уровню подготовки обучающихся
Знать/понимать:
 о структурном программировании и объектно-ориентированном подходе к
программированию;
 понятия программа, язык программирования, система программирования;
 виды языков программирования;
 состав и функции систем программирования;
 этапы разработки программ;
 синтаксис и семантику правил использования операторов (команд) в программе;
 правила использования арифметических операций.
Уметь:
 Выполнять этапы разработки программы;
 разрабатывать программы средствами систем программирования;
 находить ошибки в программах (синтаксические, семантические) и исправлять их;
 находить эффективные алгоритмы решения задачи для построения правильно
работающих, эффективных программ.
3. Итоговое повторение (1 ч)
7
Технологическая карта контроля
№
урока
по
КТП
2.
Тема
Система объектно-ориентированного
программирования Visual Basic:
 Интегрированная среда
разработки языка
программирования Visual Basic
 Этапы разработки проектов на
языке Visual Basic
3.
Вид
контроля
текущий
И
УО
Текущий
Ф
ПР Проект «Обычный
калькулятор»
И,Ф
УО
ПР Проект «Переменные»
И
УО
Проект «Обычный калькулятор»
4.
5.
Переменные в языке программирования текущий
Visual Basic
Проект «Переменные»
Функции в языке программирования
текущий
Visual Basic:
6.
Проект «Перевод чисел»
Проект-задание «Мультисистемный
калькулятор»
Текущий
7.
Основные типы алгоритмических
структур и их кодирование на языке
Visual Basic:
 Линейный алгоритм
 «Ветвление»
 «Выбор» «цикл»
Проект-задание «Поиск большего из
двух чисел»
Проект «Отметка»
текущий
9.
Проект «Коды символов»
Проект «Количество символов»
Текущий
10.
Графические возможности языка
программирования Visual Basic
Проект «Построение графика
функции»
Текущий
Массивы в языке программирования
Visual Basic:
 Числовые массивы: заполнение
и поиск.
 Сортировка числовых
Текущий
8.
11.
12.
Форма
контроля
Текущий
Текущий
Ф
ПР Проект «Перевод чисел»
Проект-задание
«Мультисистемный
калькулятор»
И
УО
Ф
ПР Проект-задание «Поиск
большего из двух чисел»
Проект «Отметка»
Ф
ПР Проект «Коды
символов» Проект
«Количество символов»
И
УО
Ф
ПР Проект «Построение
графика функции»
И
УО
8
№
урока
по
КТП
Тема
массивов.
Двумерные массивы и
вложенные циклы
Проект «Поиск минимального
(максимального) элемента в числовом
массиве»
Вид
контроля
Форма
контроля

13.
Текущий
14.
Проект «Сортировка числового
массива по убыванию (возрастанию)»
Текущий
15.
Проект «Таблица умножения»
Проект-задание «Развертка»
Текущий
16.
Контроль знаний и умений: Защита
зачетной практической работы
Тематический
19.
Проект «Обычный калькулятор»
Текущий
20.
Переменные в языке программирования текущий
Delphi
Проект «Переменные»
Функции в языке программирования
текущий
Delphi
Проект «Перевод чисел»
Текущий
Проект-задание «Мультисистемный
калькулятор»
21.
22.
24.
Проект «Коды символов»
Проект «Количество символов»
Текущий
25.
Проект «Коды символов»
Проект «Количество символов»
Текущий
26.
Текущий
29.
Графические возможности языка
программирования Delphi
Проект «Поиск минимального
(максимального) элемента в числовом
массиве»
30.
Проект «Сортировка числового
Текущий
Текущий
Ф
ПР Проект «Поиск
минимального
(максимального) элемента в
числовом массиве»
Ф
ПР Проект «Сортировка
числового массива по
убыванию (возрастанию)»
Ф
ПР Проект «Таблица
умножения» Проектзадание «Развертка»
Ф
Защита зачетной
практической работы
Ф
ПР Проект «Обычный
калькулятор»
И,Ф
УО
ПР Проект «Переменные»
И
УО
Ф
ПР Проект «Перевод чисел»
Проект-задание
«Мультисистемный
калькулятор»
Г/
ПР Проект «Коды
символов»
Проект «Количество
символов»
Г
ПР Проект «Коды
символов» Проект
«Количество символов»
И
УО
Ф
ПР Проект «Поиск
минимального
(максимального) элемента в
числовом массиве»
Ф
9
№
урока
по
КТП
Тема
Вид
контроля
массива по убыванию (возрастанию)»
31.
Проект «Таблица умножения»
Проект-задание «Развертка»
Текущий
34.
Контроль знаний и умений: Защита
зачетной практической работы
Итоговый
Форма
контроля
ПР Проект «Сортировка
числового массива по
убыванию (возрастанию)»
Ф
ПР Проект «Таблица
умножения» Проектзадание «Развертка»
Ф
Защита зачетной
практической работы
Условные обозначения:
Формы контроля:
И- индивидуальная
Ф-фронтальная
Г-групповая
Методический инструментарий:
УО-устный опрос
Т-тест
СР-самостоятельная работа
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]
Line – рисование линии, прямоугольника или закрашенного прямоугольника заданного цвета:
object.Line (X1,Y1) - (X2,Y2) [,color][,B][F]
14
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()
bytX1 = Val(txtX1)
bytY1 = Val(txtY1)
15
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
Download