Оператор цикла с параметром for




Лабораторная работа по теме «Цикл с параметром».

Задание № 1. Составить программу на языке программирования Паскаль для вычисления значений выражений. Результаты вывести на экран.

Исходные данные Вычислить выражения Найти
  , – любые вещественные числа , , , , . Максимум из и
  , – любые вещественные числа , , , , .   Минимум из и
3 , – любые вещественные числа , , , , . Максимум из и
  , – любые вещественные числа , , , , . Максимум из и
  , – любые вещественные числа , , , , . Максимум из и
  , – любые вещественные числа , , ,   , . Минимум из и
  , – любые вещественные числа , , ,   , . Минимум из и
  , – любые вещественные числа , , ,   , . Максимум из и
  , – любые вещественные числа , , ,   , . Максимум из и
  , – любые вещественные числа , , ,   , . Максимум из и

Задание № 2. Составить программу на языке программирования Паскаль для вычисления значений выражений. Значения констант записать в экспоненциальной форме. Результаты вывести на экран.

Исходные данные Вычислить
  , , x, y, z – любые вещественные числа , .
  , , x, y, z – любые вещественные числа , .
  , , x, y, z – любые вещественные числа , .
  , , x, y, z – любые вещественные числа , .
  , , x, y, z – любые вещественные числа , .
  , , x, y – любые вещественные числа , .
  , , x, y – любые вещественные числа , .
  , , x, y – любые вещественные числа , .
  , , x, y – любые вещественные числа , .
  , , x, y – любые вещественные числа , .

 

Задание 3. Составить программу на языке программирования Паскаль для вычисления значений выражений. Результаты вывести на экран.

 

Вариант № 1.

Дано a, b, c, y=5,1.

Вычислить d1= ; d2=

если a b то w=max(d1, d2)+c; v=min(d1, d2)+c; t=cosy;

если a<b то w=ey+cosy, v=3siny+y3, t=cosy+ab.

Найти:

Z1=max(d1,d2,w);

Z2=min(w,v,t).

_____________________________________________________

Вариант № 2.

 

Дано a, b, c; x=8,3

Найти:

если: a b y= + arctgcos3a+b4,

если a<b y=c e +tge-a,

 

w= ,

 

Вычислить:

Z=max(y,w)+ ,

Z1=min(y,w)+ ,

Z2=max(y,w,z)+min(y,w,Z1).

 

_____________________________________________________________

Вариант № 3.

 

Ввести a, d, c; x=3,5sin4,8.

Найти:

если a>b то y=1-x2, d=sin2b2, m=cos(sinc);

если a b то y=ln(), d=esinbc, m= .

Вычислить:

Z1=max(y,d)-min(d,m)+

t=-5,6min(a,m)+ sin2b+5;

u=Z2cosZ+ +max(z,t,y)+min(z,t,m).

Вариант № 4.

Дано a, b, c; x=-3,17

Найти:

если a c, тогда y=a+b3sinx-ccosx, v= ,

если a>c, тогда y=a/b+3sincx-2cos , v= .

Вычислить:

Z=min(y,v)- (),

 

Z1=max(y,v)+ ,

Z2=max(y,v,Z)+min(y,v,Z1).

______________________________________________________-

Вариант № 5.

 

Дано a, b, c; x=3,5;

Найти:

если a>b то y=1-x4+sinx, d=cos2c, t=cosea+b;

если a b то y=ln(), d=sincosc, t=e .

Вычислить:

Z=min(d,t)+max(t,y)- ;

u=3,6min(d,t)+4;

w=Z2+costZ- .

 

Вариант № 6.

Дано a, b, c; x=3,8.

Найти:

если a c, тогда w=ab+sincosx+5,8; v=ecosx+sinx, t=ln ;

если a<c, тогда w=bsinc+38,7ex; v=cosln , t=esincose .

Вычислить:

Z= +w3+min(v,w);

y= +max(t,v);

d=Z3+ln(t-sinv)+3,76cost+max(Z,y,t)+min(Z,y,w).

 

Вариант № 7.

 

Дано a, b, c; x=7; y=3,5;

Найти:

если a>b, то w= ; v= ; t=max(w,v);

если a b, то w=cosy+x2; v=ex+15y; t=min(w,v);

Вычислить:

d=max(w,v,t);

d1=min(w,v,t).

 

Вариант № 8.

 

 

Дано a, b, c; x=3,5.

Найти:

если a b, тогда w=ac+sinx+tgx; v=eac; t=ln ;

если a<b, тогда w=bsinc+38,7ex; v=cosln ; t=etga

Вычислить:

Z= +w3+min(v,w);

y= +max(t,v);

d=Z3+ln(t-sinv)+3,5cost+max(z,y,t)+min(z,y,w).

 

Вариант № 9.

 

Дано a, b, c; x=-7 102.

Найти:

если a c, тогда y=eac-eb+ , t=sin(cos ), v=tg ;

если a>c, тогда y=asineb+378,3x, t= +esin5x, v=ln .

Вычислить:

Z=min(t,v)+ ;

Z1=max(y,t)+ ;

Z2=max(t, v, y).

 

Вариант № 10.

 

Дано a, b, c; x=0,2.

Найти:

если a b y= +sin(x+4)2+x3/2,

если a<b y=sinln +ea+b,

w=cos +asincx

Вычислить:

Z=min(y,w)+ ,

Z1=max(y,w)+ ,

Z2=min(y,w,z)+max(y,w,z).

 

ТЕОРИЯ

Оператор цикла с параметром for

 

Оператор цикла с параметром for применяется, когда заранее известно количество (число) повторений цикла.

Синтаксис оператора цикла с параметром for:

for := do оператор;

Переменная цикла (параметр цикла, счетчик цикла), следующая за ключевым словом for (англ., for – для), хранит число повторений цикла, ее начальное и конечное значение определяются до входа в цикл. Начальное значение – это значение переменной цикла при первом выполнении цикла. Конечное значение – это значение переменной цикла, при котором выполнение цикла прекращается. Если в операторе for указано служебное слово to, то переменная цикла на каждой итерации цикла увеличивается на единицу. Если указано служебное слово downto, то переменная цикла на каждой итерации цикла уменьшается на единицу. После ключевого слова do (англ., do – делай) следует оператор, который многократно повторяется в цикле. В качестве оператора может быть любой оператор языка программирования Паскаль, в т.ч. составной оператор. После завершения цикла управление передается на оператор, следующий за оператором цикла. Блок-схема оператора for приведена на рис. 5.1.

 
 

 


Рис. 5.1. Блок-схема, соответствующая оператору цикла с параметром for

При выполнении оператора цикла с параметром for переменная цикла последовательно принимает значения от начального до конечного с шагом равным единице, при этом каждый раз выполняются операторы, стоящие после ключевого слова do.

Переменная цикла должна иметь порядковый тип данных, обычно используются переменные целого (integer, byte и т.п.) или символьного (char) типов. Начальное и конечное значения переменной цикла должны иметь тип данных совместимый с типом данных переменной цикла (см. раздел «Выражения, операции и функции»).

Если в теле цикла требуется выполнить несколько операторов, они должны быть заключены в блок с помощью операторных скобок begin end. Синтаксис оператора цикла с параметром for, содержащего составной оператор:

for := do

begin

оператор 1;

оператор 2;

 

оператор n;

end;

Рассмотрим несколько классических примеров применения оператора цикла с параметром for.

Оператор цикла с параметром for применяется для вычисления частичной суммы ряда. Рассмотрим порядок вычисления частичной суммы ряда подробнее. Дан ряд , , , …, , …. Вычислить значение частичной суммы ряда , – общий член ряда. Введем переменную для хранения значения частичной суммы ряда. Сначала переменной присвоим значение ноль, , чтобы начальное значение переменной не искажало результат. Далее в цикле для , т.е. начиная с первого члена ряда и до последнего , будем прибавлять значение очередного члена ряда к значению переменной . Записывается это в виде рекуррентного выражения .

       
 
   

 


a) б)

Рис. 5.2. Пример блок-схемы алгоритма вычисления

а – частичной суммы ряда; б – произведения членов конечного ряда

 

Пример.1. Дан ряд с общим членом ряда , вычислить сумму первых членов ряда, . Пример блок-схемы алгоритма вычисления частичной суммы ряда приведен на рис. 5.2, a.

 

program prog;

var s:real; k,n:integer;

begin

writeln ('Введите n');

read(n);

s:=0;

for k:=1 to n do

s:=s+1/(1+k);

writeln('s=',s:5:2);

end.

Еще одно применение оператора цикла с параметром for – вычисление произведения членов конечного ряда. Рассмотрим порядок вычисления произведения членов конечного ряда подробнее. Дан ряд , , , …, . Вычислить значение произведения членов ряда , – общий член ряда. Введем переменную для хранения значения произведения членов ряда. Сначала переменной присвоим значение единица, , чтобы начальное значение переменной не искажало результат. Далее в цикле для , т.е. начиная с первого члена ряда и до последнего , будем умножать переменную на значение очередного члена ряда . Записывается это в виде рекуррентного выражения .

Пример.2. Дан ряд с общим членом ряда , n – количество членов ряда. Вычислить произведение членов ряда . Пример блок-схемы алгоритма вычисления произведения членов конечного ряда приведен на рис. 5.2, б.

program prim_5_2;

var p:real;k,n:integer;

begin

writeln('Введите n');

read(n);

p:=1;

for i:=1 to n do

p:=p*1/(1+2*n);

writeln('p=',p:5:2)

end.

Пример 3. Дано n – любое целое число, вычислить значение . (n факториал, ).

program prog_5_3;

var f,n,i:integer;

begin

writeln('Введите n');

read(n);

f:=1;

for i:=1 to n do

f:=f*i;

writeln('f=',f)

end.

Пример 4. Составной оператор в цикле for. Дано x – любое вещественное число. Вычислить сумму и произведение . Результаты вывести на экран.

program prim_5_2;

var s,p,x:real;k:integer;

begin

writeln('Введите x');

read(x);

s:=0;

p:=1;

for k:=1 to 5 do

begin

s:=s+k/(2+cos(x));

p:=p*k/(5+sin(x));

end;

writeln('s=',s:8:2, 'p=',p:8:2);

end.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-07-17 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: