Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Программирование алгоритмов разветвляющейся структуры

Примеры алгоритмов и программ

Программирование алгоритмов линейной структуры

 
 

Пример. Вычислить значение функции 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

 

 
 

 

 


Программирование алгоритмов разветвляющейся структуры

Пример. Вычислить значение функции.

если

 

а) с использованием условного оператора if-then-else

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

 

Program prim21;

var a,b,c,x,y:real;

n:integer;

begin

write(‘Введите а=’); readln(a);

x:=ln(abs(a-cos(a)));

c:=x*a; b:=x+a;

c=xa b=x+a
if c<=0 then

begin y:=-10.5; n:=1; end

else

if c=>3.5 then

да begin y:=c+ln(b); n:=3; end

else

нет begin y:=exp(c)+2*b; n:=2; end;

writeln(‘x=’,x:1:3,’ c=’,c:1:3,’ y=’,

да y:1:3,’ n=’,n);

end.

нет

y=eс+2b, n=2
y=c+lnb, n=3
Результат

y=-10.5, n=1
Введите а=7.35

           
     
 
 
 


x=1.927 c=14.162 y=16.389 n=3

 
 


 

 

 



б) c использованием оператора выбора case

 

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

 
 


Program prim22;

var a,b,c,x,y:real;

k:integer;

 
begin

write(‘Введите а=’); readln(a);

x:=ln(abs(a-cos(a)));

c:=x*a; b:=x+a;

c=x·a b=x+a
if c<=0 then k:=1 else

if c<=3.5 then k:=2 else k:=3;

case k of

1: y:=-10.5;

да 2: y:=exp(c)+2*b;

3: y:=c+ln(b);

нет end;

да writeln(‘x=’,x:1:3,’ c=’,c:1:3,’

=’,y:1:3,’ k=’,k);

  k=1
нет end.

  k=3
  k=2
Результат

Введите а=7.35

x=1.927 c=14.162

y=16.389 k=3

нет

       
 
   
 

 

 


  y=-10.5
да k=1

 
 

 


k=2

       
   
 
 
  y=c+lnb

 

 


k=3

         
   
 
   
 
 

 

 


 


ФЕДЕРАЛЬНОЕ БЮДЖЕТНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

УФИМСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЯНОЙ

ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

 

Кафедра вычислительной техники и инженерной кибернетики

 

 

КОНТРОЛЬНАЯ РАБОТА 2

ПО ИНФОРМАТИКЕ

 

 

ВЫПОЛНИЛ СТ. ГР. ИМЯ ОТЧЕСТВО ФАМИЛИЯ

ШИФР _________   ПРОВЕРИЛ КАНД. ТЕХН. НАУК, ДОЦ. Султанова Е. А.
   

 

УФА 2016



<== предыдущая лекция | следующая лекция ==>
Задания для выполнения контрольной работы | Методические указания и темы контрольных работ по дисциплине
Поделиться с друзьями:


Дата добавления: 2017-03-11; Мы поможем в написании ваших работ!; просмотров: 380 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Наука — это организованные знания, мудрость — это организованная жизнь. © Иммануил Кант
==> читать все изречения...

2308 - | 2104 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.014 с.