Студопедия

КАТЕГОРИИ:


Архитектура-(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.

Блок-схема алгоритма

Расчет контрольного примера (к.п.)

;

Паскаль-программа

 
 


x=lna+
Program prim1;

var a,b,x,y:real;

y=sinx+ex+2
begin

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=aн
readln(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=’,

  x=lna
x:5:3,’ y=’,y:5:3);

a:=a+da;

end;

end.

       
   
 
 

 

 


Результаты

  a=a+Δa
Введите an,ak,da=2 3 0.2

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;

а=ан
repeat

x:=ln(a);

y:=exp(1/3*ln(abs(sin(x))));

x=ln(a)
writeln(‘a=’,a:3:1,’ x=’,x:5:3,

‘ y=’,y:5:3);

a:=a+da;

until a>ak;

end.

       
   
 
 

 


Результаты

Введите an,ak,da=2 3 0.2

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;

n=[(aкн)/ Δa]+1
var an,ak,da,a,x,y:real;

i,n:integer;

begin

write(‘Введите an,ak,da=’);

  a= aн
redln(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=lna
writeln(‘a=’,a:3:1,

‘ x=’,x:5:3,’ y=’,y:5:3);

a:=a+da;

end;

end.

           
   
 
   
 

 

 


Результаты

Введите an,ak,da=2 3 0.2

a=2.0 x=0.693 y=0.861

  a=a+Δa
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

 

 
 

 

 





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


Дата добавления: 2015-06-28; Просмотров: 396; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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