Сделай Сам Свою Работу на 5

Задачи, решаемые с помощью перебора»





Учащиеся должны знать:

• рекурсивное определение списка;

• основные предикаты работы со списками;

• методы решения задач на списки;

• решения классических задач с помощью списков;

• методы решения переборных задач.

Учащиеся должны уметь:

• приводить примеры списков;

• исполнять задачи на списки в режиме ручной трассировки;

• решать задачи на списки с помощью основных предикатов работы со списками;

• решать задачи на списки без помощи основных предикатов работы со списками;

• решать задачи перебора.

Тема «Структуры данных: бинарные деревья. Основные

Предикаты. Решение задач с помощью бинарных деревьев»

Учащиеся должны знать:

• что такое бинарное дерево;

• что такое линейное, сбалансированное, упорядоченное бинарное дерево;

• связь между списками и линейными бинарными деревьями;

• как бинарные деревья записываются на Прологе;

• основные предикаты работы с бинарными деревьями.

Учащиеся должны уметь:

• приводить примеры бинарных деревьев;

• приводить примеры линейных, сбалансированных, упорядоченных бинарных деревьев;

• применять методы построения сбалансированных и упорядоченных бинарных деревьев;



• записывать бинарные деревья на Прологе;

• исполнять задачи на бинарные деревья в режиме ручной трассировки;

• решать задачи на бинарные деревья с помощью основных предикатов работы с бинарными деревьями.

Тема «Применение Пролога: понимание естественного

Языка (КС-грамматики)»

Учащиеся должны знать:

• что такое КС-грамматики;

• назначение программы «синтаксический анализатор».

Учащиеся должны уметь: *

приводить примеры программ «синтаксических анализаторов»;

• строить программы «синтаксические анализаторы» по заданному правилу;

• по определенной фразе формулировать и строить программы «синтаксические анализаторы»;

• генерировать фразы с помощью «синтаксических анализаторов».

15.9. Тематическое планирование курсов

Логического программирования

 

Таблица 15.4

Тематическое планирование курса «Язык программирования

Пролог» (В.Каймин, Ю.Завальский, ИНФО № 6, 1991)

 

Тема Учебный материал Кол-во часов
1 . Введение в Пролог     Факты и вопросы в языке Пролог. Правила вывода. Понятие базы знаний
Определение понятий в Прологе. Логические связки «и», «или», «не»
Суждения. Рассуждения. Принципы поиска ответа в Прологе
Предикаты над списками. Принадлежность элемента списку. Включение списков
2. Экспертные системы Понятия и обобщения. Понятие ведущего признака. Классификация и систематизация
3. Элементы логического программирования     Графические предикаты Пролога. Композиция графических предикатов. Рекурсивные описания
Арифметические предикаты. Рекурсивные задания числовых функций
4. Использование языка Пролог     Композиция графических изображений
Понятие и примеры грамматик. Грамматический разбор
Формулы и их преобразования. Примеры формульных преобразований.
Примеры решения математических задач. Организация вычислений в Прологе
  Всего: 36ч

Примечание. В авторском тексте данная планировка приведена в контексте планирования единого курса информатики, и приведенное в таблице планирование несколько скорректировано в расчете на профильный курс.



 

Таблица 15.5

Тематическое планирование курса «Логика и язык программирования Пролог» (В.Каймин, Ю.Завальский, ИНФО № 6, 1991)

 

Тема Учебный материал
1. Введение в логику   Элементы формальной логики: понятия и высказывания, сложные высказывания, логические связки
Символьная логика: переменные высказывания, дизъюнкция, конъюнкция, отрицание и импликация
Машинная логика: биты и логические операции. Таблицы истинности. Переключательные схемы
2. Элементы математической логики     Исчисление высказываний. Преобразование высказываний. Правила де Моргана
Исчисление предикатов, ванторы общности и существования. Отрицание общих суждений и контрпримеры
3. Элементы теории Доказательств   Основные правила дедуктивного вывода. Принципы индукции
Понятие об аксиоматических теориях
Понятие конструктивного доказательства. Математический синтез
4. Введение в теорию рекурсии   Конструктивные объекты: списки, деревья, сети. Рекурсивные функции над списками
Числовые функции и их графики
5. Введение в рекурсивный анализ     Элементы аналитический геометрии: координатный метод. Примеры построения сложных композиций
Примеры порождающих грамматик
Тождества и равносильные преобразования. Примеры равносильных преобразований
Смешанные вычисления. Конкретизация правил

Примечание. Разбивка по часам между темами авторами не приводится. В целом курс рассчитан на 136 ч.



 

Таблица 15.6

Тематическое планирование курса «Язык программирования

Пролог» (М.А.Южаков, ПГПУ)

 

Тема учебного занятия Кол-во часов
1. Введение
2. Факты. Предикатная форма представления фактов. Базы данных Пролога. Простые запросы
3. Составные запросы. Правила. Базы знаний Пролога
4. Термы Пролога (данные): константы, переменные, составные термы (структуры). Работа Пролога: сопоставление, поиск в базе знаний, механизм возврата. Управление работой Пролога. Встроенные предикаты
5. Решение логических задач на Прологе
6. Операторы сравнения. Арифметические операторы. Предикаты ввода-вывода. Организация диалоговых программ. Решение задач на поиск в базах знаний с использованием операторов сравнения и арифметических операторов
7. Рекурсия на Прологе (нисходящая стратегия). Ручная трассировка рекурсивных программ. Решение задач на символьную арифметику. Рекурсия: восходящая стратегия

 

Окончание табл.15.6

 

Тема учебного занятия Кол-во часов  
8. Структуры данных: списки. Основные предикаты работы со списками. Решение задач с помощью списков. Задачи, решаемые с помощью перебора  
9. Структуры данных: бинарные деревья. Основные предикаты. Решение задаче помощью бинарных деревьев
10. Применение Пролога: понимание естественного языка (КС-грамматики)
Всего:
       

Вопросы для самоконтроля и обсуждения к главе 15

 

1. Каково место программирования в структуре современной школьной информатики?

2. На каких примерах целесообразно знакомить учащихся с принципами структурной алгоритмизации? В каком порядке эти примеры излагать?

3. В каком объеме изучается язык Паскаль в различных вариантах базового курса информатики?

4. Какую методическую пользу приносит изучение метаязыков описания языков программирования?

5. Как построить рассказ о структурированных типах данных? На каких примерах объяснять данные таких типов, как множество, запись, файл, стек, очередь, строка и др.?

6. Каковы могут быть варианты изучения логических выражений?

7. На каких примерах удобно объяснить различия между понятиями порядковый тип и упорядоченный muni Как в различных учебных пособиях по Паскалю именуются равносильные этим понятия?

8. На каких примерах объяснить учащимся, почему в программировании следует четко различать вещественные и целые математические величины и в чем здесь отличия от чисто математического подхода?

9. Как методически целесообразно построить рассказ об операторе множественного ветвления? На каких примерах соотнести его с условным оператором?

10. Как методически целесообразно объяснить учащимся, для чего в Паскале три оператора цикла? Как в деталях объяснить порядок исполнения каждого из них?

11. На каких примерах можно объяснить учащимся целесообразность Наличия в Паскале интервального типа данных?

12. На каких примерах удобно объяснить учащимся проблемы, связанные с процедурами и функциями:

• выделение вспомогательного алгоритма;

• локализация переменных;

• различие между параметрами-переменными и параметрами-значениями;

• область действия описаний в процедурах;

• различия между процедурой и функцией;

• смысл использования глобальных переменных;

• рекурсии.

13. Как и на каких примерах можно объяснить учащимся полезность таких типов данных, как массив (одномерный и двумерный), строка, множество, запись, файл.

14. На каких примерах объяснить различия между одномерным массивом и записью? Файлом прямого и последовательного доступа?

15. Как и на каких примерах объяснить учащимся особую практическую значимость поиска и сортировки?

16. Как сформулировать идею внешней сортировки и пути ее реализации, обойдя сложные приемы программирования?

17. Как пояснить учащимся принципиальное различие между процедурой и модулем?

18. Какие установочные процедуры и графические примитивы модуля Graph представляются Вам достаточными для рассказа о них учащимся в школьном курсе информатики?

19. Какие простые содержательные задачи можно использовать для отработки динамических структур данных, таких как: стек, очередь, двоичное дерево?

20. Какой может быть цепочка примеров возрастающей сложности, на которых можно сравнивать структурный и объектно-ориентированный подходы к проектированию программ на этапе декомпозиции?

21. Какие знания учащихся по структурному программированию можно использовать, вводя понятие объекта, если:

а) программирование изучалось на уровне базового курса информатики?

б) программирование изучалось углубленно?

22. Какой может быть цепочка примеров возрастающей сложности для отработки понимания механизмов взаимодействия классов и объектов.

23. Можно ли при объяснении учащимся способов доступа к полям и методам объектов использовать аналогии с доступом к полям записей и процедурам модулей в Турбо Паскале?

24. На каких содержательных задачах уместно объяснять понятия наследования и иерархии классов?

25. На каких примерах можно объяснить учащимся основные понятия Delphi?

26. Какими наводящими вопросами помочь учащимся проследить цепочку логических выводов при получении ответа на вопрос (с помощью простейших примеров, включающих несколько фактов и вопрос, ответ на который представляется однозначно вытекающим из этих фактов)?

27. С помощью каких отрывков из различных популярных литературных произведений учащиеся могли бы составить базы данных из приведенных в этих отрывках фактов?

28. Насколько глубоко в различных вариантах базового курса информатики изучаются логические операции и достаточно ли в них материалов для продолжения соответствующей темы в профильном курсе, основанном на языке Пролог?

29. Как удобно оформлять на доске и на бумаге трассировку запросов по базам данных и базам знаний Пролога? Есть ли рекомендации на эту тему в известной Вам методической литературе?

30. На каких простейших примерах уместно продемонстрировать учащимся решение логических задач на Прологе?

31. На каких простых примерах можно продемонстрировать учащимся рекурсию?

32. Как и на каких примерах объяснить учащимся, что использование списков может быть более эффективным, чем построение баз данных?

Лабораторный практикум

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.