Роботландский Университет Роботландский университет
      начало  |университетпродукты  история  кук  ссылки  карта
  начало университет курсы программа курса 31
  набор
оплата
|курсы|
кураторы
методы
учебники
сидоров
мнения
статьи
история
 


31. Азы программирования. Программа

  1. Плюсик.
    – Понятие стека.
    – Исполнитель, среда, СКИ.
    – Сообщения исполнителя.
    – Программы для Плюсика.
    – Решение задач.

  2. Кукарача и его среда обитания.
    – Среда Кукарачи.
    – СКИ исполнителя.
    – Сообщения исполнителя.
    – Работа с кубиками на поле.

  3. Экономное программирование.
    – Алгоритм и программа.
    – Процедура. Запись программ.
    – Стиль записи программ.
    – Особая роль комментариев.
    – Работа в среде «Кукарача 97».

  4. Множество команд и их повторение.
    – Процедурное программирование.
    – Команда повторения.
    – Интерпретатор и его сообщения.
    – Тестирование и отладка программ.

  5. Кукарача на распутье.
    – Команда ветвления.
    – Переключатели.

  6. Другой тип повторения.
    – Команда ПОКА.
    – Составная команда.
    – Практикум программиста.

  7. Кукарача хочет укусить себя за хвост.
    – Представление о рекурсии.
    – Рекурсия в программах Кукарачи.
    – Рекурсия с отложенными командами.
    – Рекурсивный практикум.

  8. Неожиданные профессии Кукарачи.
    – Расширение среды Кукарачи.
    – Решение «объемных» задач

  9. Турнир Кукарачи.
    – Оптимальное программирование.
    – Введение в лексический анализ.
    – Геометрия кукарачьего поля.
    – Разбор задач прошлых лет.
    – Турнир по программированию.

  10. Знакомство с исполнителем Корректор.
    – Среда Корректора.
    – СКИ исполнителя.
    – Интерфейс программы «Корректор-97».

  11. Язык программирования Корректора.
    – Процедурное программирование.
    – Циклы.
    – Развилки.
    – Рекурсия.

  12. Тестирование и отладка программ.
    – Основы отладки и тестирования.
    – Практикум.

  13. Приемы программирования Корректора.
    – Рекурсивные пружинки.
    – Как найти конец и начало.
    – Как вернуться в исходное место.
    – Специальные символы-флаги.

  14. Арифметика чисел и палочек.
    – Арифметика чисел (определения, задачи).
    – Арифметика палочек (определения, задачи).

  15. Преобразования, подсчеты, редактирование.
    – Задачи про вычисление длины текста.
    – Задачи на исправление ошибок в тексте.

  16. Трансляторы.
    – Понятие транслятора.
    – Нотация Бэкуса-Наура.
    – Построение и анализ рекурсивных определений.
    – Построение диаграмм переходов.
    – Польская запись.
    – Лексический анализ выражений.
    – Построение транслятора.
    – Трансляционные задачи.

  17. Турнир Корректора.
    – Разбор задач прошлых лет.
    – Турнир по программированию.

Пояснительная записка

Программирование на базе среды Кукарачи изучается в первом семестре, а на базе среды Корректора — во втором.

Студенты курса

Курс называется «Азы программирования», но это не означает, что он для тех, кто не написал еще ни одной программы. На самом деле этот курс для тех школьников 6-8 классов, которые уже знакомы с такими понятиями, как «исполнитель», «команда», «алгоритм», «ветвление», «цикл» и самостоятельно написали несколько простых программ.

После того, как человек напишет несколько программ, он начинает понимать, что «программирование — это обыкновенное волшебство» или «программирование — это непонятно, скучно и хуже математики». Так вот этот курс для тех ребят, которые уже поняли, что программирование — это то, что им нужно или близки к этому. Другие (очень хорошие) ребята, которым не понравилось программирование, найдут для себя другой, не менее полезный интерес.

Турнирные задания на этом курсе всегда неожиданны, даже для автора, а эмоциональный всплеск конкурсов имеет в университете повышенный вольтаж. Каждый год куратор придумывает задачу для конкурса в надежде, что никто из ребят ее не решит. Но такого еще не случалось. Школьники дошли до того, что спокойно пишут трансляторы и даже решили для Кукарачи задачу о Ханойской башне (Первушин Данил, Снежинск)! Это при том, что в языке нет ни одной переменной!

Пусть вас не смущают примитивность исполнителей Кукарачи и Корректора. Задачи, которые решают эти роботы, совсем не просты. А главное, имеют прямое отношение к «большой» информатике и, в силу этого, способствуют формированию алгоритмического мышления будущих программистов.

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

Серьезность «Азов программирования» подтверждается темами, которые рассматриваются в теории и практике задач в средах роботландских исполнителей Кукарача и Корректор:

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

Программный пакет курса работает на любых PC-совместимых компьютерах, даже на XT с 640 килобайтами оперативной памяти. Для легальных владельцев «Хитов Роботландии» пакет поставляется бесплатно.

Организация работы

Команды получают из RU следующие материалы:

  • календарный план занятий и конкурсов;
  • программный пакет «Азы программирования» с встроенными в его среду методическими материалами (книга для школьника, пособие для учителя, дополнительные материалы).

В качестве дополнительных материалов RU предлагает следующие работы А.А.Дуванова:

  • Роботландские сетевые турниры 97/98. Выпуск 1.
  • Роботландские сетевые турниры 98/99. Выпуск 2.
  • Роботландские сетевые турниры 99/00. Выпуск 3.
  • Роботландские сетевые турниры 00/01. Выпуск 4.
  • Транслятор?.. Это очень просто! (статья).
  • Рекурсия другим манером (статья).

Процесс обучения в каждом семестре строится так:

  • изучение тем семестра
  • общение с куратором и сокурсниками
  • турнир
  • перекрестная проверка и проверка куратора
  • подведение итогов, разбор решений, анализ типичных ошибок

Описание программных сред курса

Кукарача

Среда Кукарачи Кукарача — это исполнитель, который может ползать по клетчатому полю и толкать перед собой кубики.

Система команд (СКИ) исполнителя:

ВПРАВО
ВЛЕВО
ВВЕРХ
ВНИЗ

Для Кукарачи можно писать программы на специальном, очень простом языке, который, тем не менее, содержит все основные управляющие структуры.

Задача. Где-то под Кукарачей, в том же столбце расположен кубик с символом. Написать программу, по которой исполнитель толкнет кубик вниз и вернется в исходное положение.

Решение.

ЭТО поиск
  ВНИЗ
  ЕСЛИ ПУСТО ТО поиск
  ВВЕРХ
КОНЕЦ

Вам понятно, как работает эта короткая программа?

Коррректор

Среда Корректора Корректор работает с длинной лентой, которая разбита на ячейки. В ячейку может быть записан один символ.

Система команд (СКИ) исполнителя:

ВПРАВО
ВЛЕВО
ПИШИ символ
ЯЩИК+
ЯЩИК-
ОБМЕН
ПЛЮС
МИНУС

Команды ВПРАВО и ВЛЕВО смещают положение доступной ячейки на одну позицию. Команда ПИШИ символ заставляет Корректора записать на ленту указанный символ.

Кроме ленты Корректор имеет еще одну ячейку памяти — ящик. По команде ЯЩИК+ исполнитель копирует в ящик символ из доступной ячейки, по команде ЯЩИК- — наоборот, символ из ящика записывается на ленту. По команде ОБМЕН исполнитель меняет местами содержимое ящика и доступной ячейки ленты.

Команды ПЛЮС и МИНУС меняют символ на ленте на следующий или предыдущий в смысле порядка этих символов в алфавите исполнителя.

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

Связь с куратором

Если у вас остались вопросы, то их можно задать куратору Рудю Алексею Владиславовичу по адресу awr@sc124.snz.chel.su.

 

  вверх     начало университет курсы программа курса 31
  начало  |университетпродукты  история  кук  ссылки  карта
  Этот логотип можно скопировать на свой сайт  
kurs@robotland.botik.ru ©Роботландия+Университет
Hosted by uCoz