Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






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





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

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

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

Хотя язык С содержит ряд неструктурных операторов (например, оператор безусловного перехода goto, операторы выхода из цикла break и continue и др.), здесь они не рассматриваются, так как применение таких операторов для выполнения лабораторных работы запрещено.

Основные принципы структурного программирования заключаются в следующем:

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

повторяющиеся фрагменты программ и логически целостные вычислительные блоки оформляются в виде подпрограмм;

разработка программы ведется пошагово, методом «сверху вниз».

Три типа базовых конструкций включают в себя

последовательное исполнение – однократное выполнение операций в том порядке, в котором они записаны в тексте программы. В языке С для этой цели используется составная инструкция, внутри которой можно записать несколько действий;

ветвление – однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия. В языке С для организации ветвления используется управляющая конструкция «if-else»;

цикл – многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла). В языке С есть несколько конструкций циклов, из которых рекомендуется использовать конструкции «while» и «for».

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

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

Разработка программ методом «сверху вниз» (употребляют также термин «нисходящее проектирование») связана с уровнями структуры программы. Например, разрабатывается программное обеспечение для банкомата. Фрагмент структурной схемы программы приведен на рисунке.

На рисунке видно три уровня программы. На верхнем уровне реализуется одна функция – «Выдать деньги». Разрабатывая эту функцию, можно использовать другие функции, которые еще не определены и не реализованы.

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

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

 

Структурная схема работы банкомата

 

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

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

Оформление программ

Большое значение для понимания работы программы имеет ее правильное оформление.

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

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

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

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

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

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

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

Date: 2016-07-25; view: 251; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию