Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Пример выполнения алгоритма с использованием оператора цикла




Begin

Пример алгоритма ветвления.

Begin

Writeln('Введите a,x,z');

Readln(a,x,z);

c:=sin(x*x)/cos(x*x);

y:=a*c*sqr(c)+sqrt(z*z/(a*a+x*x));

p:=ln(a+x*x)+sqr(sin(z/a));

Writeln('y=', y:8:3, ' p=', p:8:3)

end.

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

Вычислить значения функции

при значениях a=1.3; b=1.29; t=[0.1;2.2] (t изменяется в диапазоне от 0 до 2.1 с шагом 0.3).

 

Для реализации конструкции Ветвление в языке программирования Pascal используют оператор условного перехода IF <условие> THEN <оператор 1> ELSE < оператор 2>

Блок-схема алгоритма решения представлена на рисунке.

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

Текст программы:

Program Prg_2;

var a,b,t,s: real;

Writeln(' Введите a,b,t');

Read(a,b,t);

if a*t<1 then s:=a*t+b;

if a*t=1 then s:=cos(a*t);

if a*t>1 then s:=exp(-a*t)*cos(a*t);

Writeln('a=',a:8:3,' b=',b:8:3,'t=',t:8:3,' s=',s:8:3)

end.

 

Блок-схема алгоритма решения задачи представлена на рисунке ниже.

В блоке 1 осуществляется ввод исходных данных: значений a и b, начального значения tn переменной t, конечного значения tk переменной t, шага изменения dt переменной t. Блок 2 присваивает переменной t начальное значение tn. Блок 3 осуществляет проверку условия t<tk и в зависимости от результата проверки заканчивает или продолжает расчет. Блоки 4,5 осуществляют проверку условия - значение аt меньше, равно или больше единицы - и в зависимости от результата сравнения проводится вычисления по одной из ветвей - 6, 7, 8. Блок 9 выводит на печать полученное значение функции s совместно со значениями t. Блок 10 увеличивает текущее значение переменной t на шаг и осуществляет безусловный переход к блоку 3

Текст программы:

program Prg_3;

var a,b,tn,tk,dt,s,t:real;




Поделиться с друзьями:


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


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.