Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Алгоритм. Свойства. Способы задания




Основы алгоритмизации. Алгоритмический язык ПАСКАЛЬ

Этапы разработки программ

В процессе создания любой программы можно выделить несколько этапов:

v - постановка задачи. На этом этапе задача, которую необходимо решить посредством компьютера, формулируется на естественном языке;

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

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

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

v кодирование – это запись алгоритма на языке программирования;

v отладка и верификация программы. Отладка заключается в устранении ошибок программирования, ошибок перевода алгоритма на язык программирования. Верификация – это доказательство того, что программа работает «правильно». Для этого разрабатывается система тестов, которые могут представлять собой специально подобранные наборы параметров, для которых задача может быть решена точно;

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

v публикация или передача заказчику результата работы;

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

 

Алгоритм. Свойства. Способы задания

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

Важнейшие свойства алгоритма:

§ дискретность – разделение информационного процесса в алгоритме на отдельные команды, которые выполняет исполнитель;

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

§ результативность – алгоритм должен обеспечивать преобразование объекта из начального состояния в конечное за конечное число шагов.

Способы записи алгоритмов:

¾ на естественном языке;

¾ в виде блок-схем;

¾ на алгоритмическом языке;

¾ на языке программирования.

Алгоритм, записанный на понятном компьютере языке программирования, называется программой.

Блок-схема – наглядное изображение алгоритма с использованием набора геометрических фигур. Каждая такая фигура называется блоком, а соединительные линии (стрелки) указывают направление исполнения алгоритма.

Наиболее часто используют следующие блоки:

 
 

 

  -начало (конец) алгоритма
      - ввод данных
      - вычислительный блок
  - вывод данных
      - логический (условный блок)
 
 

 

  - начало цикла с параметров

 

Языки высокого уровня

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

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

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

МАШИННЫЙ ЯЗЫКИ. Машинный язык представляет собой свод правил кодирования в числовом виде определенных действий и операций (машинные коды). Каждое действие выполняемое компьютером, представляется в виде команды, которая определяет некоторую элементарную часть процесса обработки информации.

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

МАШИННО-ОРИЕНТИРОВАННЫЕ ЯЗЫКИ. В основу этих языков заложена система команд какой-либо конкретной электронно-вычислительной машины или определенного класса ЭВМ, что явилось основным их недостатком. Язык ассемблера позволяет создавать наиболее эффективные программы, однако он очень трудоемок и требует высокой квалификации программиста.

АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ – целиком ориентированы на отражение структуры конкретного алгоритма и не зависят от архитектуры компьютера. Основным достоинством алгоритмических языков, является удобство и простота их освоения и составление программы любой сложности.

ПРОЦЕДУРНО-ОРИЕНТИРОВАННЫЕ ЯЗЫКИ – представляют собой разновидность алгоритмических языков, у которых имеется возможность описания программы как совокупности процедур (подпрограмм).

ПРОБЛЕМНО-ОРИЕНТИРОВАННЫЕ ЯЗЫКИ так же, также представляют собой разновидность алгоритмических языков, которые предназначены для решения задач определенного класса.

ИНТЕГРИРОВАННЫЕ СИСТЕМЫ ПРОГРАММИРОВАНИЯ представляют собой систему автоматизации процесса программирования, образуемую языком программирования, транслятором, а также вспомогательным средством для подготовки программы к выполнению.

 










Последнее изменение этой страницы: 2018-05-10; просмотров: 126.

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