Основные принципы струк-ого прогр-ия: 1) при разработке прог-м в задаче выделяется ряд подзадач, каждая из j-х может решена независимо от др-их подзадач; в свою очередь любая подзадача м/б разделена на более мелкие подзадачи, такое деление продол-ся до тех пор, пока решение каждой задачи не удается записать на выбранном языке прог-ия, решение всех подзадач оформляется в виде вспомогательных алг-мов. В дальнейшем решение всех задач явл-ся как вызов вспом-ых алг-мов. 2) при разработке алг-мов исполь-ся только осн-ые алг-ие структуры и их разнообразные сочетания или их суперпозиции. Основные алг-ие структуры: а)следование - предполаг-т только в алг-ме наличие элемен-ых действий, j выполняются в том порядке, в j они перечислены. Алг-мы, где используется только структура следования назыв-ся линейным. б)развилка: ЛВ - лог-ое выражение принимает истину или ложь; S1 и S2 - наборы операторов. Полная развилка: вычисл-ся значение лог-ого выражения, если это знач-ие истинно, то выбирается серия операторов S1; если же значение = ложь, то переход по ветке «нет» и выполняется S2. в)Если какие-либо операторы необходимо выполнить несколько раз, то их не переписывают каждый раз заново, а организуют цикл: -предусловием(while ЛВ do S): вычисл-ся значение ЛВ, если это значение истинно, то выполняется серия операторов S и вновь происходит переход к вычислению значения ЛВ, если знач-ие ложь, то цикл завершается. Цикл может выполнятся от 0 до ∞ кол-ва раз; 0 раз, когда знач-ие ЛВ=лжи, обычно цикл выполняется некоторое кол-во раз, зацикливание явл-ся неприемлемым, т.к. нарушается cв-во алг-ма, и может произойти в том случае, если не предусмотрено изменение знач ЛВ с истины на ложь. S - тело цикла (операторы, j здесь используются). -постусловием(repeat S until ЛВ) - выпол-ся серия операторов S, после чего вычисляется знач ЛВ, если знач ЛВ ложь, происходит повторение действий, завершение цикла происходит, когда знач ЛВ=истине. Цикл может выпол-ся от 1 до ∞ кол-ва раз. - цикл с параметром: используется в тех случаях, когда число повторений тел цикла заранее известно. Структура цикла, организованного с помощью этого оператора, имеет вид:
For ПЦ: = НЗ To КЗ Do Begin <операторы> End;For ПЦ: = НЗ DownTo КЗ Do Begin <операторы> End; ПЦ - параметр цикла; НЗ и КЗ - началь-ое и конеч-ое знач параметра цикла.
Парадигмы: прог-ие: процедурные (операциональное {Ассемблеры, Фортран, Бейсик, Си} и структурные {Паскаль, Модула}) и непроцедурные (объектное {Смолток, С++, Делфи} и декларативное (лог-ое {Пролог} и функ-ое {Лисп}))
Класс-ое оперц-ое и /или процедурное прог-ие требует от программиста детального описания того, как решать задачу, т.е. формулировки алг-ма и его спец записи. При этом ожидаемые cв-ва результата обычно не указываются. Основные понятия этих языков оператор и данные. При проц-ном подходе операторы объединяются в группы - процедуры. Струк-ое прог-ие в целом не выходит за рамки этого направления, оно лишь дополнительно фиксирует некоторые полезные приемы технологии прог-ия. Принципиально иное направление в прог-ии связано с методологиями непроцедурного прог-ия. К ним можно отнести объектно-ориентированное и декларативное прог-ие. Объ-ор-ый язык создает окружение в виде мн-ва независимых объектов. Каждый объект ведет себя подобно отдель-му компу, их можно использовать для решения задач, как «черные ящики», не вникая во внутренние механизмы их функционирования. При использовании декларативного языка программист указывает исходные инф-ые струк-ры, взаимосвязи м/у ними и то, какими cв-вами должен обладать рез-т. При этом процедуру его получения («алг-м») программист не строит (по крайней мере, в идеале). В этих языках отсутствует понятие «оператор» («команда»).