
- •Алгоритмы.
- •Способы записи алгоритмов:
- •Языки и системы программрования. Способы описания яп.
- •Классификация языков программирования.
- •Элементы языков программирования.
- •Структура исходной программы на яп.
- •Системы программирования.
- •Построение исполнительного модуля.
- •Загрузка программы.
- •Разработка и развитие по.
- •Цели и задачи разработки по.
- •Общие принципы разработки по.
- •Частотный принцип.
- •Принцип модульности.
- •Принцип функциональной избирательности.
- •Взаимодействие человека с системой. Типы пользователей.
- •Оценка информации.
- •Отношение к ошибкам.
Языки и среды программирования.
Алгоритмы.
Алгоритм должен быть понятен (доступен) пользователю или машине. Доступность пользователю означает, что он обязан отображаться посредством конкретных формализованных изобразительных средств, понятных пользователю.
Способы записи алгоритмов:
словесный – содержание последовательных этапов алгоритма описывается в произвольной форме на естественном языке;
формульный – основан на строго формализованном аналитическом задании необходимых для исполнения действий.
табличный – подразумевает отображение алгоритма в виде таблиц, использующих аппарат реляционного исчисления и алгебру логики для задания подлежащих исполнению взаимных связей между данными, содержащиеся в таблице.
операторный – базируется на использовании для отображения алгоритма условного набора стандартных операторов (например, логических, печатей вывода-ввода); операторы снабжаются индексами и между ними указываются необходимые переходы.
графический – отображение алгоритмов в виде блок-схем. Графические символы, отображающие выполняемые процедуры стандартизированы. Наряду с основными символы используются и вспомогательные поясняющие процедуры и связи между ними.
на языке программирования - в виде последовательности команд какого-либо языка программирования.
Базовые структуры алгоритмов:
Линейными называются алгоритмы, в которых действия выполняются друг за другом в определённом порядке.
Разветвляющимся называется алгоритм, который, в отличие от линейных алгоритмов, входят условия в зависимости от выполнения или нет которого реализуется та или иная последовательность команд. В качестве условия в разветвляющимся алгоритме может быть использовано любое понятное исполнителю утверждение, которое может соблюдаться (быть истинным) или не соблюдаться (быть ложным). Такое утверждение может быть выражено как словами, так и формулой.
Циклическим называется алгоритм, в котором некоторая последовательность операций выполняется многократно, однако многократно не означает неограниченно. Организация циклов никогда не приводящих к остановке в выполнении алгоритма является нарушением требований его результативности – получение результата за конечное число шагов.
Языки и системы программрования. Способы описания яп.
Для описания ЯП используются две системы описания:
Нотация Бэкуса – впервые предложена при описании языка Algol;
Нотация IBM (разработана фирмой для описания языков Cobol и JCL).
Обе нотации используют следующее обозначение: < > - угловые скобки (или двойные кавычки) обозначают элемент программы, определяемый пользователем (<Идентификатор>, <Список параметров>, “Условие” и пр.). В соответствующих местах реальной программы будет находится идентификатор переменной, список параметров и прочее.
Нотация Бэкуса содержит конструкцию следующего вида:
<Оператор присваивания> := <Переменная> := <Выражение>
<Идентификатор> ::= <Буква> | <Идентификатор> <Буква> |
<Идентификатор> <Цифра>
17.01.14
Левая часть определения конструкций языка содержит наименование определяемого элемента, взятого в угловые скобки.
Правая часть включает совокупность элементов, соединённых знаком |, которая трактуется как «или» и объединяет альтернативы – различные варианты значения, определяемого элемента. Части соединяются оператором ::=, который может трактоваться, как является по определению.
Нотация IBM включает следующие элементы:
[ ] - квадратные скобки, обозначают возможное отсутствие элемента конструкции. Например, return [<выражение>] – в этой конструкции <выражение> не обязательно;
{ } – фигурные скобки, {<выражение-1> | <выражение-2> | <выражение-3>}
означает
обязательное присутствие одного из
<выражений>
| - вертикальная черта, разделяет список значений обязательных элементов, одно из которых должно быть выбрано;
… - горизонтальное многоточие, следующая после некоторой синтаксической конструкции, обозначает последовательность конструкций, той же самой формы, что и предшествующее многоточию конструкция. Например,
{<выражение>} [,<выражение>]…} обозначает, что одно или более <выражений>, разделённых запятыми, может появиться между фигурными скобками.
Рекурсивное определение в IBM-нотации не используются.