2010/05/24 17:31:56

Решение задач на ЭВМ

Решение задач на ЭВМ - один из видов творческих заданий на занятиях, зачетах, экзаменах и олимпиадах по информатике и программированию.

Содержание

Этапы решения задач на ЭВМ

Основные этапы решения задач на ЭВМ:

  1. Постановка задачи
  2. Определение методов решения
  3. Составление алгоритмов
  4. Написание программ для ЭВМ
  5. Отладка программ на ЭВМ
  6. Получение результатов на ЭВМ

Постановка задач

Постановка задач - точное и четкое определение требуемых результатов и исходных условий в задачах.

Результаты - правильные, если они отвечают требованиям поставленных задач.

Результаты - неправильные, если они противоречат поставленным требованиям.

Задачи могут быть частными (конкретными) и обобщенными (массовыми).

Определение методов решения

Метод решения - это общий способ решения некоторого класса задач.

Способ решения - правильный, если он дает правильные результаты.

Способ решения - неправильный, если он дает неправильные результаты.

Способ - последовательность действий, ведущая к получению результатов.

Метод решения - правильный, если он дает правильные результаты для любых исходных данных поставленной задачи.

Составление алгоритмов

Алгоритмизация - это составление алгоритмов для решения задач на ЭВМ.Исходным для решения задач на ЭВМ является точная постановка задач с четким выделение требуемого и исходного.

Алгоритм - результативный, если его выполнение приводит к получению результатов.

Алгоритм - правильный, если он дает правильные результаты для любых допустимых исходных данных.

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

Написание и отладка программ на ЭВМ

Программирование - написание программ для ЭВМ может производится тремя способами:

  1. написание программы исходя из условий задачи. (традиционный способ)
  2. кодирование программ по детальным алгоритмам решения задач на ЭВМ
  3. совместная разработка алгоритмов и программ (структурное проектирование)

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

Ошибки в алгоритмах программах - одна из самых серьезных проблем в информатике и профессиональном программировании.

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

Отсутствие ошибок в программах проверяется их тестированием на ЭВМ. Тестирование может выявить ошибки, но не может гарантировать отсутствие ошибок в программах. (Дейкстра)

Тестирование программ на ЭВМ

Тестирование программ - это процесс проверки программ на ЭВМ с помощью тестов. Тесты - это наборы тестовых исходных данных с перечнем правильных результатам.

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

Набор тестов - структурно полный, если на этом наборе тестов выполняется каждая альтернатива, каждая последовательность и каждый цикл один или несколько раз.

Тестирование не может гарантировать отсутствие ошибок в программах.Гарантии отсутствия ошибок может дать только исчерпывающий анализ правильности алгоритмов и программ.

Анализ и доказательства правильности алгоритмов и программ можно и нужно проводить после структурно полного тестирования программ на ЭВМ.

Анализ правильности алгоритмов

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

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

Литература

  1. Каймин В.А. Информатика. Учебник для студентов. М., ИНФРА-М, 1998-2009.
  2. Каймин В.А. Информатика. Учебник для школьников. М., Прогресс, 2009.
  3. Каймин В.А. Информатика. Пособие к экзаменам. М., РИОР, 2008.
  4. Каймин В.А. Основы доказательного программирования. М., МИЭМ, 1987.
  5. Каймин В.А. Методы разработки программ на языках высокого уровня. М., МИЭМ, 1985.
  6. Каймин В.А., Питеркин В.М. Основы информатики и ВТ. Учебник для студентов. М.,МИЭМ. 1985.

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