- •«Казанский кооперативный институт» (филиал)
- •Информатика Лекция по теме: «Модели и моделирование Основные этапы подготовки и решения задач на компьютере»
- •Модели и моделирование
- •1.1Модели объектов, процессов и явлений
- •1.2Классификация моделей
- •1. Классификация по области использования
- •2. Классификация по учету фактора времени
- •3. Можно классифицировать модели и по тому, к какой области знаний они принадлежат:
- •4.Классификация по способу представления Материальные и информационные модели
- •5. По способу реализации: компьютерные и некомпьютерные модели
- •III этап. Компьютерный эксперимент
- •IV этап. Анализ результатов моделирования
- •2Основные этапы подготовки и решения задач на компьютере
- •2.1Постановка задачи
- •2.2Выбор метода решения задачи, выполнение необходимых преобразований и контрольных расчетов
- •2.3Разработка алгоритма решения задачи
- •2.4Выбор языка программирования
- •2.5Запись алгоритма на выбранном языке программирования
- •2.6Ввод программы в компьютер.
- •2.7Отладка программы
- •2.8Решение задачи для заданных исходных данных и анализ полученных результатов
- •2.9Оформление документации по применению разработанной программы
- •2.10 Эксплуатация программы
- •2.10.1Программу периодически дорабатывают и выпускают очередную версию данной программы.
- •2.10.2 Версии программ
- •2.11Лицензионное программное обеспечение. Типы приобретаемых программ
2.5Запись алгоритма на выбранном языке программирования
Программой называется запись алгоритма на машинном или алгоритмическом языках, т.е. программа - это машинно-ориентированная форма представления алгоритма.
Порядок записи программы определяется выбранным языком программирования и алгоритмом решения задачи.
2.6Ввод программы в компьютер.
Обычно программа вводится с клавиатуры в оперативную память компьютера и записывается на магнитный диск.
2.7Отладка программы
На этапе отладки программы необходимо выявить и устранить имеющиеся в программе ошибки.
Во-первых, необходимо устранить ошибки, допущенные при вводе программы, и синтаксические ошибки, связанные с нарушением правил записи программы на используемом языке.
Эти ошибки выявляются и устраняются при компиляции программы.
Во-вторых, необходимо устранить семантические (смысловые) ошибки, которые не обнаруживаются компилятором (например, необходимо записать А+В, а указано А – В).
После устранения синтаксических ошибок машина начинает решать по данной программе. При этом часто происходят следующие ситуации:
1) самый лучший вариант: машина выдает некоторые результаты, которые, как говорят, “не лезут ни в какие ворота”;
2) средний вариант: машина останавливается по аварийной ситуации (переполнение разрядной сетки или деление на нуль);
3) худший вариант: программа зацикливается и машина вообще не выдает никакой информации;
4) самый плохой вариант: (встречается редко) - машина выдает правдоподобные, но не верные результаты, которые сразу же начинают использовать без проверки.
Основным инструментом отладки являются:
- тесты (специально подобранные данные, для которых известны ожидаемые результаты); Перед началом эксплуатации программы необходим этап ее отладки и тестирования Тестирование - это процесс исполнения программ с целью выявления (обнаружения ошибок). Тестирование - процесс деструктивный, поэтому считается, что тест удачный, если обнаружена ошибка. Хорошим считается тест, который имеет большую вероятность обнаружения еще не выявленной ошибки. Удачным считается тест, который обнаруживает еще не выявленную ошибку. Существуют различные способы тестирования программ:
Тестирование программы как "черного ящика" (стратегия "черного ящика" определяет тестирование с анализом входных данных и результатов работы программы). Критерием исчерпывающего входного тестирования является использование всех возможных наборов входных данных.
Тестирование программы как "белого ящика" заключается в стратегии управления логикой программы, позволяет использовать ее внутреннюю структуру. Критерием выступает тестирование всех маршрутов и управляющих структур программ.
Разумная и реальная стратегия тестирования - сочетание моделей "черного" и "белого ящиков". Основными принципами тестирования являются:
описание предполагаемых значений выходных данных или результатов должно быть необходимой частью тестового набора;
тесты для неправильных и непредусмотренных входных данных следует разрабатывать так же тщательно, как для правильных и предусмотренных,
необходимо проверять не только делает ли программа то, для чего она предназначена, но и не делает ли она то, что не должна делать; нельзя планировать тестирование в предположении, что ошибки не будут обнаружены
вероятность наличия необнаруженных ошибок в части программы пропорциональна числу ошибок, уже обнаруженных в этой части;
тестирование - процесс творческий.
При разработке программ очень полезным бывает метод "ручного тестирования" без компьютера на основе инспекции и сквозного просмотра (тестирование "всухую"). Инспекция и сквозной просмотр - это набор процедур и приемов обнаружения ошибок
- контроль промежуточных результатов вычислений позволяет проследить логический след программы (где она ходила) и арифметический след (что она вычислила).