Алгоритмы

Автор работы: Пользователь скрыл имя, 01 Ноября 2011 в 18:39, реферат

Описание

Программирование позволяет настроить компьютер или иное программируемое логическое устройство на те или иные действия. Обычно программа вводится в компьютер программистами, и первые программы создавались математиками и логиками, конструировавшими компьютеры. Когда еще не было средств вывода на экран, программа выдавала результат просто в печатном виде на принтере. Ввод в компьютер также производился несколько иначе. В любом случае, со временем стало понятно, что программировать компьютер каждый раз «с нуля» после каждой его перезагрузки — неразумно.

Работа состоит из  1 файл

срс по инф.doc

— 271.00 Кб (Скачать документ)

       Введение

       Программи́рование — в обычном понимании, это процесс создания компьютерных программ.

       Программирование  позволяет настроить компьютер  или иное программируемое логическое устройство на те или иные действия. Обычно программа вводится в компьютер  программистами, и первые программы  создавались математиками и логиками, конструировавшими компьютеры. Когда еще не было средств вывода на экран, программа выдавала результат просто в печатном виде на принтере. Ввод в компьютер также производился несколько иначе. В любом случае, со временем стало понятно, что программировать компьютер каждый раз «с нуля» после каждой его перезагрузки — неразумно. Поэтому начали появляться средства запоминания программ и данных. Но первые компьютеры были все-таки не цифровыми, а аналоговыми. Проще говоря, они были сначала механическими, потом электромеханическими и, уже потом, электронными. (Первые электронные компьютеры и прочие вычислители работали на электронных лампах.) Конечно это не совсем компьютер в современном понимании. Программированием также называют настройку электронных устройств и программно-аппаратных комплексов. Например: программирование цифровых АТС, программирование бытовых приборов конечным пользователем, запись информации в ПЗУ. Разработку логической схемы для ПЛИС тоже называют программированием. В общем понимании, программирование — это процесс описания функционирования устройства, который может быть выражен либо в структуре самого устройства, либо в виде набора команд, выполняемых устройством. Программирование сочетает в себе элементы науки (логики, математики, информатики, кибернетики), инженерной дисциплины и искусства (авторской творческой деятельности).

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

       В более широком смысле под программированием  понимают весь спектр деятельности, связанный с созданием и поддержанием в рабочем состоянии программ — программного обеспечения ЭВМ. Более точен современный термин — «программная инженерия» (также иначе «инженерия ПО»). Сюда входят анализ и постановка задачи, проектирование программы, построение алгоритмов, разработка структур данных, написание текстов программ, отладка и тестирование программы (испытания программы), документирование, настройка (конфигурирование), доработка и сопровождение.

 

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

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

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

       •   сбор информации о задаче;

       •   формулировка условия задачи;

       •   определение конечных целей решения задачи;

       •   определение формы выдачи результатов;

       •   описание данных (их типов, диапазонов величин, структуры и т. п.).

       2. Анализ и исследование задачи, модели:

       •   анализ существующих аналогов;

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

       •   разработка математической модели;

       •   разработка структур данных.

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

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

       •    выбор формы записи алгоритма (блок-схемы, псевдокод и др.);

       •    выбор тестов и метода тестирования;

       •    проектирование алгоритма.

       4. Программирование:

       •   выбор языка программирования;

       •   уточнение способов организации данных;

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

       программирования.

       5. Тестирование и отладка:

       •   синтаксическая отладка;

       •   отладка семантики и логической структуры;

       •    тестовые расчеты и анализ результатов тестирования;

       •   совершенствование программы.

       6. Анализ результатов решения задачи  и уточнение в случае необходимости  математической модели с повторным выполнением этапов 2-5.

       7. Сопровождение программы:

       •   доработка программы для решения конкретных задач;

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

 

        2. Жизненный цикл программного продукта.

       Все программы можно разбить на два  класса по характеру использования:

       1.      утилитарные программы — предназначены для удовлетворения нужд их разработчиков, программы «для себя»;

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

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

       Программный продукт имеет несколько качественных характеристик:

       -         алгоритмическая сложность;

       -         полнота функций обработки;

       -         объём файлов программ;

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

       -         объём дисковой памяти;

       -         размер оперативной памяти.

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

       -         насколько хорошо можно использовать программный продукт (просто, надёжно, эффективно);

       -         насколько легко эксплуатировать программный продукт;

       -         можно ли использовать программный продукт при изменении условия его применения.

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

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

       I. Разработка алгоритмов и программ

       II. Эксплуатация и сопровождение

       III. Завершение жизненного цикла

       
        

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

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

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

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

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

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

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

       Длительность  жизненного цикла разных программных  продуктов неодинакова. Для большинства  современных программ его длительность составляет 2-3 года. Хотя часто встречаются  на компьютерах и давно снятые с производства программные продукты. 

 

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

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

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

       Второй  этап заключается в составлении алгоритма решения задачи по выбранной модели.

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

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

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

       Общая схема решения задач с помощью  ЭВМ выглядит так:

       4. Понятие алгоритма. Свойства алгоритмов, исполнители алгоритмов. Способы записи алгоритмов.

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

       Термин  имеет интересное историческое происхождение. В IX веке великий узбекский математик  аль-Хорезми разработал правила арифметических действий над десятичными числами. Совокупность этих правил в Европе стали называть “алгоризм”. Впоследствии слово трансформировалось до известного нам сейчас вида и, кроме того, расширило свое значение: алгоритмом стали называть любую последовательность действий (не только арифметических), которая приводит к решению той или иной задачи. Можно сказать, что понятие вышло за рамки математики и стало применяться в самых различных областях.

Информация о работе Алгоритмы