Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛекцииЯзыки прогрИб.doc
Скачиваний:
27
Добавлен:
12.11.2019
Размер:
922.11 Кб
Скачать

2.4. Способы записи алгоритма

Термин «алгоритм» идет от имени узбекского математика Аль-Хорезми (825 г.), который дал правила выполнения четырех арифметических операций в десятичной системе программирования. С 1747 г. использовался термин «алгорисмус», к 1950 г. появился термин «алгорифм» (смысл – алгорифм Евклида). Большой вклад в теорию алгоритмов в связи с эволюцией ЭВМ внесли математики Гильберт, Гедель, Черч, Клин, Тьюринг, Марков.

Перечислим основные свойства алгоритмов:

  • определенность (детерминированность) – точность и понятность, обеспечивающие однозначность результата;

  • результативность – получение искомого результата через конечное число этапов (шагов);

  • дискретность – расчлененность алгоритма на отдельные этапы (шаги);

  • массовость – пригодность алгоритма для решения всех задач данного типа.

Основными требованиями к алгоритму (как и к программе) являются компактность и минимальное время реализации.

Существуют следующие способы записи алгоритмов:

  • формульно-словесный – содержание последовательных этапов вычислений задаются с нумерацией в произвольной форме на естественном языке;

  • блок - схемный – изображение структуры алгоритма в виде графического представления этапов процесса обработки данных с помощью специальных геометрических символов (блоков);

  • алгоритмические языки – непосредственная запись алгоритма решения задачи с помощью операторов языка.

Программы не имеют заранее строго регламентированного набора качественных характеристик, и поэтому, перечислим основные характеристики программ:

  • алгоритмическая сложность (логика алгоритмов обработки информации);

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

  • требования к операционной системе и техническим средствам со стороны программы;

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

2.5. Критерии качества программы

Критериями качества программы являются:

  • мобильность - независимость программы от программных и технических средств обработки данных;

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

  • эффективность – оценка расходов вычислительных ресурсов (объемов памяти для эксплуатации программы и т.п.);

  • дружественность – обеспечение дружественного интерфейса для работы пользователя;

  • модифицируемость – способность к внесению изменений и расширений функций обработки;

  • коммуникативность – возможность интеграции с другими программами.

На качество программы влияют следующие операции:

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

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

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

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

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

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

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

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

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

  • машинные языки (computer language) – языки программирования, содержащие команды компъютеру определенного типа на выполнение операций; это машинно-зависимые языки, не применяемые для создания программ;

  • машинно-ориентированные языки (computer-oriented language) – это языки ассемблера, использующие похожие на английский язык аббревиатуры для представления компъютерных операций; транслятор (ассемблер) преобразует программу на языке ассемблера в машинный язык; в настоящее время применяются редко для создания программ;

  • языки высокого уровня - алгоритмические языки (algorithmic language), использующие для написания структуры алгоритма задачи специальные типовые операторы, напоминающие повседневный английский и общепринятую математическую нотацию; компилятор преобразует программу на алгоритмическом языке в машинный язык; это основные локальные средства для создания программ.

Системы программирования (programming system) – это совокупность следующих частей: интегрированной среды программирования, языка, компилятора, редактора связей, различных библиотек и т.д. Рассмотрим этапы выполнения программы:

  • редактирование файла: создается программа редактором программ и сохраняется на диске;

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

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

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

  • поочередное выполнение команд программы.

Контрольные вопросы

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

  2. Что такое жизненный цикл программного обеспечения?

  3. Объясните эволюцию моделей жизненного цикла программного обеспечения.

  4. Каковы основные результаты постановки задачи и спецификации программы?

  5. Каковы основные результаты проектирования и реализации программы?

  6. Расскажите о способах записи алгоритма.

  7. Приведите критерии качества программы.

  8. Охарактеризуйте этапы технологии процедурного программирования.

  9. Охарактеризуйте этапы технологии объектно– ориентированного программирования.

Тем3. Среды разработки программ