Студопедия

КАТЕГОРИИ:

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


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




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

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

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

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

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

 

 

Разработаем алгоритм суммирования всех элементов массива (в массиве не более 100 элементов) при помощи структурного подхода.

Описание алгоритма.

1. Проверяем что количество элементов не более 100 и менее 0, если нет – выход.

2. Определяем переменную для суммы и присваиваем ей 0.

3. Перебираем все элементы и добавляем их значения к сумме.

4. Возвращаем сумму.

5. Выход.

 

Составим блок-схему.

Чтобы не сильно много писать в элементах блок-схемы определим:

M- массив, поданный на вход,

N – количество элементов в массиве(тоже задается на вход),

S – переменная для подсчета суммы (определяется внутри алгоритма (процедуры)),

i – буферная переменная (определяется внутри алгоритма (процедуры)).

 

 

Опишем в псевдокоде.

Вход

ЕСЛИ количество элементов массива больше ста ВЫХОД

ЕСЛИ количество элементов массива меньше, либо равно нулю ВЫХОД

СУММЕ элементов массива присвоить НОЛЬ

ПОКА не перебрали все элементы массива ДЕЛАТЬ

Добавить значение элемента массива к СУММЕ

Вернуть СУММУ

Выход

 

Теперь напишем код процедуры на языке C++.

long SummaM (int* M, int N)

{

if (N <= 0 || N > 100) return 0;

long S = 0;

for (int i=0; i<N; i++)

S += (long)M[i];

return S;}

Теперь можно использовать эту функцию.

void main()

{

int M[10] = {1,2,3,4,5,6,7,8,9,10};

long SM = SummaM(M, 10);

count << SM;

}

На экране получим сумму элементов массива M.

 

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


Поделиться:

Дата добавления: 2015-04-18; просмотров: 103; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты