ТЕХНОЛОГИЯ ПОБЕД:
Олимпиады и Чемпионаты:
ИНФОРМАТИКА и ПРОГРАММИРОВАНИЕ

Технология решения олимпиадных и экзаменационных задач и
подготовка к зачетам, экзаменам и олимпиадам,
по информатике и программированию.

Фоторепортаж с Чемпионата по программированию.

Москва, МГУ, октябрь 2003г.
Систематически российские студенты с 1999г. и школьники с 1991г.
становятся победителями и призерами олимпиад и чемпионатов
по информатике и программированию.

Победители и призеры
Олимпиад и Чемпионатов систематически составляют
алгоритмы и программы практически без ошибок !!!

Доказательное программирование - разработка алгоритмов и программ без ошибок
и доказательствами их отсутствия.

ФОРУМ МГУ: Разбор Ошибок в Программах

Профессора МГУ и ЛГУ очень неудачно "шутят", что "программ без ошибок не бывает".
Победители на чемпионатах по программированию пишут программы только без ошибок.
Иначе нельзя стать победителями на чемпионатах по программированию.

Программа для ЭВМ содержит ошибки, если есть тесты, на которых
компьютер дает сбои, отказы или неправильные результаты.

Программа не содержит ошибок, если на она дает правильные результаты
для любых допустимых данных.

Чемпионаты по программированию

  1. Чемпионат мира по программированию
  2. Московский Чемпионат по программированию
Десятки российских студентов и школьников составляют на турнирах и тренировках
программы решения олимпиадных задач без ошибок, проверяя их с помощью тестов на ЭВМ.
Только так можно стать призером или победителем олимпиад.

На чемпионатах по программированию соревнуются команды из 3 участников.
Команде предоставляется один единственный компьютер.
и для решения от 5 до 10 задач.

В командах происходит разделение труда: одни вводят программы,
другие пишут программы на псевдокоде, третьи составляют тесты
и проверяют тексты программ, используя технологию
структурного проектирования программ.

Используемая на фирме IBM и на чемпионатах технология
структурного проектирования с псевдокодом, тестами и инспекции
снижает число ошибок до 2-3 на тысячу операторов и
обеспечивает студентам и школьникам призовые места.

Лидеры Чемпионата Мира-2004:

Олимпиады по Информатике

  1. Международные Олимпиады по Информатике
  2. Белорусские Олимпиады по Информатике
  3. Всероссийские Олимпиады по Информатике
  4. Украинские Олимпиады по Информатике
  5. Московские Олимпиады по Информатике
  6. Петербургские Олимпиады по Информатике
  7. Уральская Виртуальная Олимпиада

Технология доказательного программирования

- технология разработки алгоритмов и программ без ошибок с псевдокодом, тестами,
инспекциями и доказательствами отсутствия ошибок.

Доказательства правильности (отсутствия ошибок) алгоритмов и программ пишутся
после инспекции и тестирования программ на ЭВМ.

В 1983-85гг. в МИЭМ более тысячи студентов все без исключения написали
более 2 тысяч программ с доказательствами правильности.

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

Техника анализа правильности:

    анализ последствий для последовательностей
  1. разбор случаев для альтернатив
  2. индуктивные выводы для циклов
  3. доказательство лемм для блоков
  4. опровержения при выявлении ошибок
Преподаватели и учителя информатики должны уметь проверять правильность
алгоритмов и программ на ЭВМ с помощью тестирования и сравнения текстов
программ с описаниями алгоритмов на псевдокоде.

Учителя информатики как и учителя математики и физики должны уметь выявлять ошибки и
разрабатывать алгоритмы и программы без ошибок. В противном случае
этим преподавателям могут навредить своим ученикам на экзаменах.

Сравнение текстов структурированных алгоритмов и программ на фирме IBM называется
инспекцией программ. Инспекция программ позволяет выявить 90% ошибок в алгоритмах
и программах для ЭВМ.
гарантировать отсутствие ошибок. Гарантии отсутствия ошибок в программах
может дать только доказательство правильности алгоритмов.

Базовые определения:

  1. Когда программы содержат ошибки?
  2. Когда алгоритм содержит ошибки?
  3. Когда способ решения правильный ?
  4. Что такое - правильный алгоритм?

Рекомендуемая Литература

  1. Каймин В.А. "Информатика". Учебник для студентов. М., ИНФРА-М, 2001-2004.
  2. Каймин В.А., Щеголев А.Г. и др. "Основы информатики и ВТ".
    Учебник для учащихся 10-11-ых классов средних школ. М., Просвещение, 1989-1990.
  3. Каймин В.А. "Информатика". Пособие для поступающих в вузы. М., БРИДЖ,1994; АСТ, 1997.
  4. Каймин В.А. "Методы разработки программ на языках выоского уровня
    (Бейсик, Фортран,Паскаль, ПЛ/1, Си)". М., МИЭМ, 1985.

Интернет-Источники

  1. Каймин В.А. "Информатика". Интернет-Учебник для студентов и школьников. WDU, 2001-2009.
  2. Каймин В.А. "Информатика: подготовка к Экзамены". . Интернет-Практикум, WDU, 2003-2009.
  3. Каймин В.А., Нечеав А.М. "Технология Доказательного Программирования". Интернет-Учебник. WDU, 2003-2009.

Автор

В.А.Каймин, профессор, доктор компьютерных наук (МАИ),
академик МАИ, магистр права, вице-президент WDU.

Авторские Права:

Copyright [C], BAK, 2001-09. All rihgts reserved.
Все права защищены согласно международного и российского авторского права.
При использовании материалов ссылки на сайт обязательны.
Никакая часть настоящего пособия не может воспроизводится
без письменного согласия авторов и научных редакторов
ни в письменной, ни в электронной форме.

Hosted by uCoz