КАТЕГОРИИ: Архитектура-(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) |
Программирование алгоритмов циклической структуры
Программирование алгоритмов линейной структуры Примеры алгоритмов и программ Пример. Вычислить значение функции y=sin x+ex+2, где x=ln a+ , b=cos 3a, a=7,25. Блок-схема алгоритма Расчет контрольного примера (к.п.) ;
Паскаль-программа
var a,b,x,y:real;
write (‘Введите а=’); readln (a); b:=cos(a)*cos(a)*cos(a); x:=ln(a)+sqrt(abs(b)); y:=sin(x)+exp(x+2); writeln (‘b=’,b:1:3, ‘ x=’,x:1:3,’ y=’,y:1:3); end.
Контрольный пример: Введите а=1 b=0.158 x=0.397 y=11.379
Вывод: программа работоспособна, т. к. значения результатов контрольного примера ручного и машинного счета приблизи-тельно совпадают. Результат: Введите а=7.25 b=0.183 x=2.409 y=82.855
Пример. Вычислить значение функции , где при а, изменяющемся от ан до ак, с шагом Δа aн=2, ак=3, Δа=0,2
а) с использованием оператора цикла с предусловием while Блок-схема алгоритма Паскаль-программа Program prim31; var an,ak,da,a,x,y:real; begin write(‘Введите an,ak,da=’);
a:=an; while a<=ak+0.0001 do begin нет x:=ln(a); y:=exp(1/3*ln(abs(sin(x)))); да writeln(‘a=’,a:3:1,’ x=’,
a:=a+da; end; end.
Результаты
a=2.0 x=0.693 y=0.861 a=2.2 x=0.788 y=0.892 a=2.4 x=0.875 y=0.916 a=2.6 x=0.956 y=0.935 a=2.8 x=1.030 y=0.950 a=3.0 x=1.099 y=0.962
б) с использованием оператора цикла с постусловием repeat-until
Блок-схема алгоритма Паскаль-программа Program prim32; var an,ak,da,a,x,y:real; begin write(‘Введите an,ak,da=’); readln(an,ak,da); a:=an;
x:=ln(a); y:=exp(1/3*ln(abs(sin(x))));
‘ y=’,y:5:3); until a>ak; end.
Результаты a=2.0 x=0.693 y=0.861 a=2.2 x=0.788 y=0.892 нет a=2.4 x=0.875 y=0.916 a=2.6 x=0.956 y=0.935 да a=2.8 x=1.030 y=0.950 a=3.0 x=1.099 y=0.962
в) с использованием оператора цикла с параметром for
Блок-схема алгоритма
Паскаль-программа
Program prim33;
i,n:integer; begin write(‘Введите an,ak,da=’);
n:=trunc((ak-an)/da)+1; a:=an; for i:=1 to n do begin x:=ln(a); y:=exp(1/3*ln(abs(sin(x))));
‘ x=’,x:5:3,’ y=’,y:5:3); a:=a+da; end;
Результаты Введите an,ak,da=2 3 0.2 a=2.0 x=0.693 y=0.861
a=2.4 x=0.875 y=0.916 a=2.6 x=0.956 y=0.935 a=2.8 x=1.030 y=0.950 a=3.0 x=1.099 y=0.962
Дата добавления: 2015-06-28; Просмотров: 429; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |