Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Структурное программирование





Структурное программирование – методология разработки программного обеспечения, предложенная в 70-х года XX века Дейкстрой и разработанная и дополненная Виртом.

Методология структурного программирования появилась как следствие возрастания сложности решаемых на компьютерах задач и соответственного усложнения программного обеспечения. В 70-е годы XX века объёмы и сложность программ достигли такого уровня, что "интуитивная" разработка программ, которая была нормой в более раннее время, перестала удовлетворять потребностям практики. Программы становились слишком сложными, чтобы их можно было нормально сопровождать, поэтому потребовалась какая-то систематизация процесса разработки и структуры программ.

В соответствии с данной методологией любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:

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

· ветвление – однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;

· цикл – многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла.

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

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

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

Чтение структурированных программ

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

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

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

Стратегии решения задач

Стратегии решения задач, разработанные для эффективного механического доказательства теорем, в настоящее время связывают с компьютерным моделированием решения задач человеком.

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

Стратегии предполагают два уровня: 1) последовательность действий, которые шаг за шагом ведут к решению рассматриваемой задачи), 2) набор детерминистических объяснений этой последовательности действий.

Разработка общей теории решения задач привела к появлению новой теории – теория поиска вывода.

ДЕ 7. Базы данных (критерий освоения ДЕ: не менее 2 правильно выполненного задания)

Структуры данных

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

Структурированные типы данных классифицируют по следующим основным признакам:

· По однородности (все элементы структуры однотипны – однородная структура),

· По упорядоченности (между элементами определен порядок следования – упорядоченная структура),

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

· По динамичности – статические (с фиксированным размером данных) и динамические (размер данных устанавливается по ходу решения задачи).

Типовые структуры данных: массив, стек, связанный список, очередь.

Массив – однородная упорядоченная статическая структура прямого доступа, однородный набор величин одного и того же типа (компонентов массива), объединенных одним общим именем (идентификатором) и идентифицируемых (адресуемых) вычисляемым индексом.

Стек — структура данных с порядком доступа к элементам «последним пришёл - первым вышел» (LIFO, Last In - First Out). Добавление элемента возможно только в вершину стека (добавленный элемент становится первым в стеке), удаление - также только из вершины стека.

Свя́занный спи́сок — динамическая структура данных, каждый элемент которой состоит из информационного поля (содержит значение элемента) и одного (односвязный) или двух (двусвязный список) указателей на соседние элементы.

Очередь — структура данных с порядком доступа к элементам "первый пришел - первый вышел" (FIFO, First In — First Out). Добавление элемента возможно лишь в конец очереди, выборка - только из начала очереди.







Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем...

Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом...

Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...

Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.