Студопедия — Структурная схема вычисления значения функции в виде блок-схемы
Студопедия Главная Случайная страница Обратная связь

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

Структурная схема вычисления значения функции в виде блок-схемы






 

 

Опишем четвертый пункт алгоритма более подробно:

o Если аргумент x принадлежит интервалу [-3; -2), то .

o Если аргумент x принадлежит интервалу [-2; 0), то .

o Если аргумент x принадлежит интервалу [0; 1), то .

o Если аргумент x принадлежит интервалу [1; 3], то .

 

По такому алгоритму можно практически «один в один» написать программу:

{***************************************************}

{Программа: FUNC. }

{Цель: вычисление значения функции. }

{Программист: Иванов И.И. }

{Дата выполнения: 10 апреля 2006 г. }

{***************************************************}

Program FUNC;

Var X, Y: real;

Begin

Writeln(‘Введите значение аргумента’);

Read(X);

Wriyeln(‘X=’, X);

If (x< -3) or (x> 3) then begin

Writeln(‘Значение должно принадлежать интервалу [-3; 3]’);

exit

end;

If x< -2 then y: =-2*x-5;

If (x> =-2) and (x< 0) then y: =-sqrt(1-sqr(x+1))-1;

If (x> =0) and (x< 1) then y: =x-1;

If x> =1 then y: =sqrt(1-sqr(x-2));

Writeln(‘Для x= ’, x: 6: 2, ‘значение функции y= ’, y: 6: 2)

End. {FUNC}

 

Следует обратить внимание на запись условий, содержащих два сравнения. Начинающие часто записывают такие условия, просто воспроизводя математическую формулу, т.е. как a< x< b. Ошибка состоит в том, что операции отношения являются бинарными, т.е. должны иметь два операнда. И если надо проверить два условия (a< x и x< b), то и операций должно быть две. Поскольку необходимо, чтобы эти условия выполнялись одновременно, они объединены с помощью операции логического умножения И (and), т.е. выражение принимает вид (a< x) and (x< b). Заключать каждое условие в круглые скобки необходимо потому, что логические операции имеют более высокий приоритет, чем операции отношения. При отсутствии скобок сначала будет предпринята попытка выполнить операцию x and x2, что вряд ли соответствует замыслу.

Первый и последний условные операторы записаны без двойных условий, потому что проверка того, что аргумент находится в диапазоне [-3; 3], выполнена раньше. Стандартная процедура exit обеспечивает выход из программной единицы, в которой она записана. Тестовые примеры для этой программы должны включать, по крайней мере, по одному значению аргумента из каждого интервала, а для проверки граничных условий – еще и все точки перегиба.

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

 

If x< -2 then y: =-2*x-5

else if x< 0 then y: =-sqrt(1-sqr(x+1))-1

else if x< 1 then y: =x-1

else y: =sqrt(1-sqr(x-2));

Этот вариант вычисления значения функции иллюстрирует следующая блок-схема:

Рис. 2. Второй вариант вычисления значения функции.

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

 

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

 

Приложение № 2.

ВЫСТРЕЛ ПО МИШЕНИ







Дата добавления: 2014-11-10; просмотров: 1308. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Постинъекционные осложнения, оказать необходимую помощь пациенту I.ОСЛОЖНЕНИЕ: Инфильтрат (уплотнение). II.ПРИЗНАКИ ОСЛОЖНЕНИЯ: Уплотнение...

Приготовление дезинфицирующего рабочего раствора хлорамина Задача: рассчитать необходимое количество порошка хлорамина для приготовления 5-ти литров 3% раствора...

Кран машиниста усл. № 394 – назначение и устройство Кран машиниста условный номер 394 предназначен для управления тормозами поезда...

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

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

Studopedia.info - Студопедия - 2014-2024 год . (0.013 сек.) русская версия | украинская версия