Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Свидетельство о публикации

Автоматическая выдача свидетельства о публикации в официальном СМИ сразу после добавления материала на сайт - Бесплатно

Добавить свой материал

За каждый опубликованный материал Вы получите бесплатное свидетельство о публикации от проекта «Инфоурок»

(Свидетельство о регистрации СМИ: Эл №ФС77-60625 от 20.01.2015)

Инфоурок / Информатика / Конспекты / Основные этапы подготовки решения задачи на ЭВМ
ВНИМАНИЮ ВСЕХ УЧИТЕЛЕЙ: согласно Федеральному закону № 313-ФЗ все педагоги должны пройти обучение навыкам оказания первой помощи.

Дистанционный курс "Оказание первой помощи детям и взрослым" от проекта "Инфоурок" даёт Вам возможность привести свои знания в соответствие с требованиями закона и получить удостоверение о повышении квалификации установленного образца (180 часов). Начало обучения новой группы: 28 июня.

Подать заявку на курс
  • Информатика

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

библиотека
материалов

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

2.1 Введение

В настоящее время на ЭВМ решают самые разнообразные задачи, от расчета баллистических траекторий до завоевания инопланетных территорий (пока только в компьютерных играх). В каждом случае ЭВМ выполняет какую-то программу, обычно довольно сложную. Некоторые из программ требуют от пользователя специальных знаний и высокой квалификации, например, программы электронной верстки или автоматизированного проектирования, но здесь мы будем говорить не об использовании, а об изготовлении программ. Несмотря на бесконечное разнообразие программ, в самом процессе их изготовления можно усмотреть нечто общее и выделить несколько этапов решения задачи на ЭВМ.

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



2.2 Этапы подготовки решения задачи на ЭВМ

1 этап: Постановка задачи

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

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

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

  • точности достигаемого результата.

2 этап: Проектирование программы

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

Часто данный этап называют этапом математической формулировки задачи. На этом этапе записываются ограничения и связи между переменными. В результате задача представляется в виде математической формулы. Затем выбирается метод численного решения. Разработкой таких методов занимается специальный раздел математики, называемый численным анализом.

3 этап: Разработка алгоритма

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

4 этап: Кодирование

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

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

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

5 этап: Отладка и тестирование программы

Наличие ошибок в только что разработанной программе это вполне нормальное закономерное явление. Практически невозможно составить реальную (достаточно сложную) программу без ошибок.

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

Целью данного этапа является поиск и устранение ошибок в программе. Этот этап занимает 50-70% времени создания программы и получения решения. Показателем мастерства является способность обнаруживать и исправлять собственные ошибки.

При отладке программ важно помнить следующее:

  • в начале процесса отладки надо использовать простые тестовые данные;

  • возникающие затруднения следует четко разделять и устранять строго поочередно;

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

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

Программу условно можно считать правильной, если её запуск для выбранной системы тестовых исходных данных во всех случаях дает правильные результаты. Но, как справедливо указывал известный теоретик программирования Э. Дейкстра, тестирование может показать лишь наличие ошибок, но не их отсутствие.1 Нередки случаи, когда новые входные данные вызывают "отказ" или получение неверных результатов работы программы, которая считалась полностью отлаженной. Для реализации метода тестов должны быть изготовлены или заранее известны эталонные результаты.

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

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

  • очередной тестовый прогон должен контролировать нечто такое, что еще не было проверено на предыдущих прогонах;

  • первый тест должен быть максимально прост, чтобы проверить, работает ли программа вообще;

  • арифметические операции в тестах должны предельно упрощаться для уменьшения объема вычислений;

  • количества элементов последовательностей, точность для итерационных вычислений, количество проходов цикла в тестовых примерах должны задаваться из соображений сокращения объема вычислений;

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

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

  • усложнение тестовых данных должно происходить постепенно.

Процесс тестирования можно разделить на три этапа.

1 Проверка в нормальных условиях.

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

2 Проверка в экстремальных условиях.

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

3 Проверка в исключительных ситуациях.

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

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

2.3 Заключение.

Разделение процесса разработки программ на 5 этапов носит весьма условный характер. В случае простых программ, которые предстоит писать начинающим программистам, некоторые этапы сливаются, например проектирование с разработкой алгоритма или кодирование с отладкой. В случае сложных программ могут добавиться новые фазы разработки, например проектирование базы данных или создание изображений.

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

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



1ОК IT для бизноса. http://ko.com.ua/jedsger_vajb_dejkstra_11696


Подайте заявку сейчас на любой интересующий Вас курс переподготовки, чтобы получить диплом со скидкой 50% уже осенью 2017 года.


Выберите специальность, которую Вы хотите получить:

Обучение проходит дистанционно на сайте проекта "Инфоурок".
По итогам обучения слушателям выдаются печатные дипломы установленного образца.

ПЕРЕЙТИ В КАТАЛОГ КУРСОВ

Краткое описание документа:

В настоящее время на ЭВМ решают самые разнообразные задачи, от расчета баллистических траекторий до завоевания инопланетных территорий (пока только в компьютерных играх). В каждом случае ЭВМ выполняет какую-то программу, обычно довольно сложную. Некоторые из программ требуют от пользователя специальных знаний и высокой квалификации, например, программы электронной верстки или автоматизированного проектирования, но здесь мы будем говорить не об использовании, а об изготовлении программ. Несмотря на бесконечное разнообразие программ, в самом процессе их изготовления можно усмотреть нечто общее и выделить несколько этапов решения задачи на ЭВМ.

Автор
Дата добавления 28.02.2015
Раздел Информатика
Подраздел Конспекты
Просмотров881
Номер материала 415115
Получить свидетельство о публикации
Похожие материалы

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