рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Пошаговая детализация и понятие о псевдокоде.

Пошаговая детализация и понятие о псевдокоде. - раздел Компьютеры, Компьютер, его механические и математические первоисточники Структурное Программирование Дает Рекомендации О Том, Каким Должен Быть Текст...

Структурное программирование дает рекомендации о том, каким должен быть текст модуля. Возникает вопрос, как должен действовать программист, чтобы построить такой текст. Иногда программирование модуля начинают с построения его блок-схемы, описывающей в общих чертах логику его работы. Однако современная технология программирования не рекомендует этого делать. Хотя блок-схемы позволяют весьма наглядно представить логику работы модуля, при их кодировании на языке программирования возникает весьма специфический источник ошибок: отображение существенно двумерных структур, какими являются блок-схемы, на линейный текст, представляющий модуль, содержит опасность искажения логики работы модуля, тем более, что психологически довольно трудно сохранить высокий уровень внимания при повторном ее рассмотрении. Исключением может быть случай, когда для построения блок-схем используется графический редактор и они формализованы настолько, что по ним автоматически генерируется текст на языке программирования (как например, это может делаться в Р-технологии [8.6]).

В качестве основного метода построения текста модуля современная технология программирования рекомендует пошаговую детализацию [8.1, 8.3, 8.5]. Сущность этого метода заключается в раз-

биении процесса разработки текста модуля на ряд шагов. На первом

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

Пошаговая детализация связана с использованием частично формализованного языка для представления указанных описаний, который получил название псевдокода [8.5, 8.8]. Этот язык позволяет использовать все конструкции структурного программирования, которые оформляются формализованно, вместе с неформальными фрагментами на естественном языке для представления обобщенных операторов и условий. В качестве обобщенных операторов и условий могут задаваться и соответствующие фрагменты на базовом языке программирования.

Головным описанием на псевдокоде можно считать внешнее оформление модуля на базовом языке программирования, которое

должно содержать:

· начало модуля на базовом языке, т.е. первое предложение или заголовок (спецификацию) этого модуля [8.1];

· раздел (совокупность) описаний на базовом языке, причем вместо описаний процедур и функций - только их внешнее оформление;

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

· последнее предложение (конец) модуля на базовом языке [8.1].

Внешнее оформление описания процедуры или функции представляется аналогично. Впрочем, если следовать Дейкстре [8.2], раздел описаний лучше также представить здесь неформальным обозначением, произведя его детализацию в виде отдельного описания.

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

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

Следование: обобщенный_оператор обобщенный_оператор Разветвление: ЕСЛИ условие ТО обобщенный_оператор ИНАЧЕ обобщенный_оператор ВСЕ ЕСЛИ Повторение: ПОКА условие ДЕЛАТЬ обобщенный_оператор ВСЕ ПОКА  

Рис. 8.2. Основные конструкции структурного программирования на псевдокоде.

Выход из повторения (цикла): ВЫЙТИ Выход из процедуры (функции): ВЕРНУТЬСЯ Переход на обработку исключительной ситуации: ВОЗБУДИТЬ имя_исключения  

Рис. Частные случаи оператора перехода в качестве обобщенного оператора.

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

ИСКЛЮЧЕНИЕ имя_исключения

обобщенный_оператор

ВСЕ ИСКЛЮЧЕНИЕ

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

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

УДАЛЕНИЕ В ФАЙЛЕ ЗАПИСЕЙ ДО ПЕРВОЙ, УДОВЛЕТВОРЯЮЩЕЙ ЗАДАННОМУ ФИЛЬТРУ: УСТАНОВИТЬ НАЧАЛО ФАЙЛА. ПОКА НЕ КОНЕЦ ФАЙЛА ДЕЛАТЬ ПРОЧИТАТЬ ОЧЕРЕДНУЮ ЗАПИСЬ. ЕСЛИ ОЧЕРЕДНАЯ ЗАПИСЬ УДОВЛЕТВОРЯЕТ ФИЛЬТРУ ТО ВЫЙТИ ИНАЧЕ УДАЛИТЬ ОЧЕРЕДНУЮ ЗАПИСЬ ИЗ ФАЙЛА. ВСЕ ЕСЛИ ВСЕ ПОКА ЕСЛИ ЗАПИСИ НЕ УДАЛЕНЫ ТО НАПЕЧАТАТЬ "ЗАПИСИ НЕ УДАЛЕНЫ". ИНАЧЕ НАПЕЧАТАТЬ "УДАЛЕНО н ЗАПИСЕЙ". ВСЕ ЕСЛИ  

Рис. Пример одного шага детализации на псевдокоде.

Идею пошаговой детализации приписывают иногда Дейкстре [8.1]. Однако Дейкстра предлагал принципиально отличающийся метод построения текста модуля [8.2], который нам представляется более глубоким и перспективным. Во-первых, вместе с уточнением операторов он предлагал постепенно (по шагам) уточнять (детализировать) и используемые структуры данных. Во-вторых, на каждом шаге он предлагал создавать некоторую виртуальную машину для детализации и в ее терминах производить детализацию всех уточняемых понятий, для которых эта машина позволяет это сделать. Таким образом, Дейкстра предлагал, по-существу, детализировать по горизонтальным слоям, что является перенесением его идеи о слоистых системах (см. лекцию 6) на уровень разработки модуля. Такой метод разработки модуля поддерживается в настоящее время пакетами языка АДА и средствами объектно -ориентированного программирования.

– Конец работы –

Эта тема принадлежит разделу:

Компьютер, его механические и математические первоисточники

На сайте allrefs.net читайте: "Компьютер, его механические и математические первоисточники"

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

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

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

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

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

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

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

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

Компиляторы и интерпретаторы
C помощью языка программирования создается не готовая программа, а только ее текст (исходный код), описывающий ранее разработанный алгоритм. Чтобы получить работающую программу, этот текст надо либ

Уровни языков программирования
Языки программирования низкого уровня: ориентированы на конкретный тип процессора и учитывают его особенности (разные типы процессоров имеют разные наборы команд); "низкий уровень" не озн

Обзор языков программирования высокого уровня
Fortran (Фортран). Первый компилируемый язык, создатель – Джим Бэкус, 50-е гг. (разработан для математиков – "формулы транслировать"). Основной кри-терий при разработке к

Языки программирования баз данных
База данных (БД) – сами данные, находящиеся в памяти ЭВМ и каким-либо образом структурированные. Система управления базой данных (СУБД) – совокупность программных средств, с помощью которы

Языки программирования для Интернета
С развитием глобальной сети было создано много языков программирования, адаптированных специально для Интернета. Характерные особенности: языки являются интерпретируемыми, интерпретаторы для них ра

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

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

Области применения языков программирования
В настоящее время языки программирования применяются в самых различных областях человеческой деятельности, таких как: · научные вычисления (языки C++, FORTRAN, Java); ·

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

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

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

Редактор Visual Basic
Прежде чем начать работу с редактором Visual Basic, нужно его открыть. Во всех приложениях Office, в том числе Excel, это делается одинаково (рис. 1): – в меню Сервис - Макрос

Создание первой программы
Последовательность действий для создания Вашей первой программы следующая: 1. В редакторе VBA добавьте в проект стандартный модуль, выбрав команду Insert – Module

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

Типы данных
Типы данных относятся к самым фундаментальным понятиям любого языка программирования. В языке VBA предусмотрены следующие типы данных: ─ числовые, ─ строковые (символь

Формы записи вещественных чисел в программе
Вещественные числа записываются в двух форматах: – основная (естественная) форма записи с фиксированной точкой. Десятичная точка отделяет целую часть от дробной. Знак плюс и нулевую целую

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

Константы
Константа – это величина, значение которой не изменяется в ходе выполнения всей программы. Константы бывают числовые и строковые (символьные). В программе константы объявляются в

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

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

Структура программы
Программа на языке VBA записывается в стандартном модуле и оформляется в виде процедуры пользователя. Формат процедуры (программы) в общем случае следующий: SUB имя_процедуры (список аргум

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

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

End If.
В том случае, если условие принимает значение True, то выполняется один блок программного кода, а если условие принимает значение False, то выполняется другой. Если структура

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

Контроль программного модуля.
Применяются следующие методы контроля программного модуля: · статическая проверка текста модуля; · сквозное прослеживание; · доказательство свойств программного модуля.

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

Экспертные системы в управлении энергетическими системами
  Современное состояние объектов топливно-энергетического комплекса и химической технологии кратко можно определить как опасное для окружающей среды в целом и для персонала этих объек

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги