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

Автор: Пользователь скрыл имя, 19 Ноября 2011 в 13:05, доклад

Описание работы

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

Работа содержит 1 файл

12. Алгоритмизация и программирование.docx

— 20.74 Кб (Скачать)

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

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

  • Анализ требований и формальная постановка задачи.
  • Выбор и разработка математической модели. Модель – описание объекта на каком-либо формализированном языке, составленное с целью изучения его свойств. Соответствие модели исходному объекту характеризуется адекватностью. Процесс построения и исследования модели называется моделированием. В случае разработки ПО объектом моделирования может выступать любой элемент или элементы из предметной области,  которые задействованы в процессе компьютерной обработки. Типы моделей: приближение (параметры принимаются очень большими или очень малыми), упрощение (опускаются некоторые детали в предметной области), эвристика (нет подтверждения качества функционирования, но она действует практически). Любую математическую задачу можно решить 2 способами: аналитически (точно) или численно (приближенно). Разработкой численных методов занимается вычислительная математика.
  • Анализ способов решения
  • Логическое проектирование и разработка алгоритма
  • Кодирование
  • Тестирование и отладка ПО
  • Внедрение, использование и сопровождение  ПО

Жизненный цикл программы

  • Постановка задачи, анализ и уточнение требований, предъявляемых к системе
  • Определение спецификаций и разработка системной архитектуры.
  • Разработка проекта, детальное проектирование модулей
  • Кодирование
  • Тестирование и отладка
  • Эксплуатация и сопровождение

Модель качества ПО описана в стандарте ИСО/МЭК 9126-1:1998 «Характеристики и метрики качества ПО»

Качественные  характеристики: функциональные возможности, надежность, практичность, эффективность, сопровождаемость, мобильность.

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

Команда – элементарное действие, которое может выполнить исполнитель (ЭВМ), а система команд – совокупность команд.

Свойства  алгоритма:

  • Завершаемость – при корректно заданных исходных данных алгоритм должен приводить к получению нужного результата за конечное число шагов.
  • Детерминированность – в каждый момент времени следующий шаг работы однозначно определен.
  • Понятность – алгоритм для исполнителя должен включать только те команды, которые доступны исполнителю.
  • Эффективность – А должен быть эффективен по времени выполнения и по емкости требуемой памяти.
  • Массовость – А должен быть применим к любым допустимым наборам исходных данных.
  • Вход – А всегда имеет некоторые количество входных данных, т.е. величин, передаваемых ему до начала работы.
  • Выход – А всегда обязан иметь одну или несколько выходных величин.

Простейшие  виды А:

  • Линейные
  • Разветвляющийся
  • Циклический

Способы описания А:

  • Словесный. А задается в произвольном предложении на естественном языке.
  • Графический. Каждому типу действий относиться геометрическая фигура, представленная в виде блочного символа. Составление блок-схем регламентируется ГОСТ 19.701-90.
  • Язык программирования. Каждому типу действий соотносится оператор.

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

3 базовые структуры  структурного программирования:

  1. Последовательность. Выполняется несколько последовательных команд (операторов).
  2. Условие. С двумя вариантами действий ( if … else …) и с одним вариантом действий.
  3. Цикл. С предусловием ( в начале цикла проверяется условие и после этого выполняется некоторое действие А до тех пор, пока условие все еще верно. Как только условие становится ложным, цикл завершается). С постусловием (условие проверяется в конце цикла, как только условие в конце цикла становится  истинным, цикл завершается).

Структурный А – это А, в котором используется только стандартные структуры.

Структурная программа – точно соответствует структурному А.

Структурное программирование – процесс разработки структурных А и программ.

Для каждого А существует эквивалентный ему структурный алгоритм.

Go to – безусловный переход. Для структурных алгоритмов не должен использоваться. Нужна для языков машинного уровня.

Словесную или  графическую запись А обычно нельзя сразу ввести в ЭВМ, поэтому необходимо записать А на каком-либо языке программирования. В результате получается программа, которая вводится на ЭВМ и поступает на обработку в системную программу – транслятор. Он проверяет программу и выдает пользователю сообщения об ошибках. Если их нет, то транслятор переводит программу с ЯП на внутренний машинный язык ЭВМ. В результате получается машинная программа, которая управляет работой ЭВМ в процессе решения прикладной задачи.

Переход от А  к программе на ЯП называется кодированием А. Для каждого А можно построить несколько вариантов программы, поэтому при кодировании А нужно оптимизировать программу по легкости понимания, быстродействию и объему памяти.

2 группы ЯП:

  1. Алгоритмические – специальный искусственный язык, с помощью которого модно достаточно просто и удобно записать А. Фортран, Кобол, Бейсик, Паскаль, Си, Модула-2, Ада, Лисп, Пролог, С++, java, Object Pascal.
  2. Машинно-ориентированные – язык машинных команд, записанных в символическом виде. Для обозначения таких языков применяются термины: язык ассемблера, автокод, мнемокод, язык символического кодирования и т п. Менее наглядно и боле трудоемко, чем А.

Тестирование  – процесс поиска ошибок работы программы. Известны исходные данные и правильный результат, который должна давать программа.

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

Трассировка (раскрутка) А – процесс пошагового выполнения А с записью в таблицу значений переменных, значений условий, номеров следующего шага для выполнения и комментариев по выполнению.

Верификация – доказательство правильности программы. Аксиома: любая сложная программа содержит хотя бы одну ошибку.

Виды  тестирования:

  1. Автономное (тестирование модулей программистами)
  2. Комплексное (общих функций)
  3. Системное (полностью с привлечением заказчика)

Информация о работе Основные этапы решения задач на ЭВМ