Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Yazyki_i_sredy_programmirovania.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
130.05 Кб
Скачать

Языки и среды программирования.

Алгоритмы.

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

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

  1. словесный – содержание последовательных этапов алгоритма описывается в произвольной форме на естественном языке;

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

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

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

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

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

Базовые структуры алгоритмов:

  1. Линейными называются алгоритмы, в которых действия выполняются друг за другом в определённом порядке.

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

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

Языки и системы программрования. Способы описания яп.

Для описания ЯП используются две системы описания:

  1. Нотация Бэкуса – впервые предложена при описании языка Algol;

  2. Нотация IBM (разработана фирмой для описания языков Cobol и JCL).

Обе нотации используют следующее обозначение: < > - угловые скобки (или двойные кавычки) обозначают элемент программы, определяемый пользователем (<Идентификатор>, <Список параметров>, “Условие” и пр.). В соответствующих местах реальной программы будет находится идентификатор переменной, список параметров и прочее.

Нотация Бэкуса содержит конструкцию следующего вида:

<Оператор присваивания> := <Переменная> := <Выражение>

<Идентификатор> ::= <Буква> | <Идентификатор> <Буква> |

<Идентификатор> <Цифра>

17.01.14

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

Правая часть включает совокупность элементов, соединённых знаком |, которая трактуется как «или» и объединяет альтернативы – различные варианты значения, определяемого элемента. Части соединяются оператором ::=, который может трактоваться, как является по определению.

Нотация IBM включает следующие элементы:

  1. [ ] - квадратные скобки, обозначают возможное отсутствие элемента конструкции. Например, return [<выражение>] – в этой конструкции <выражение> не обязательно;

  2. { } – фигурные скобки, {<выражение-1> | <выражение-2> | <выражение-3>}

означает обязательное присутствие одного из <выражений>

  1. | - вертикальная черта, разделяет список значений обязательных элементов, одно из которых должно быть выбрано;

  2. … - горизонтальное многоточие, следующая после некоторой синтаксической конструкции, обозначает последовательность конструкций, той же самой формы, что и предшествующее многоточию конструкция. Например,

{<выражение>} [,<выражение>]…} обозначает, что одно или более <выражений>, разделённых запятыми, может появиться между фигурными скобками.

Рекурсивное определение в IBM-нотации не используются.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]