Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Программа итерационного цикла



Пример 1

Составить программу вычисления значения функции y = x (π -x), используя равенство

с погрешностью E =10-4 и напечатать для контроля значения функции, определяемые выражением в левой части равенства y = x (π -x) и её разложением в ряд косинусов.

Программа

Program iteracia

Const

e=0.0001;

Var

y, s, x: real; { y-функция, s-сумма, x-аргумент }

k: longint;

slag: real; { слагаемое (i-й член суммы) }

Begin

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

readln(x);

s: = sqr(pi)/6;

k: =1;

Repeat

slag: =cos(2*k*x)/sqr(k);

s: =s+slag;

inc(k);

until abs(slag)< e;

y: =s;

writeln(' y(x)= ', y);

writeln(' x*(pi-x)= ', x*(pi-x));

end.

Описание программы

В разделе объявления констант вводится точность вычислений Е=10-4, в разделе переменных вводятся y, s, x – вещественные, k – длинное целое и slag – вещественная.

Основной блок программы начинается оператором begin, в нём вводится значение аргумента х, вычисляется значение слагаемого slag=π./ 6 и присваивается переменной k значение 1.

Цикл открывается оператором repeat, в нём вычисляется слагаемое slag и прибавляется к предыдущему значению суммы s, затем k увеличивается на 1 (inc (k)). Проверка на окончание цикла выполняется после слова until сравнением модуля slag с заданной точностью е. Если условие выполняется (true), то при k=2 программа возвращается к repeat - на новое вычисление slag и s, если нет (false), то переходит к присвоению у значения накопленной суммы s, выводит на экран у и вычисленное значение x(π -x)для их сравнения (pi это число π, хранящееся в памяти среды программирования Pascal)

 

3 Контрольные вопросы

1 Какие циклы называются итерационными?

2 Какие операторы цикла используются в итерационных циклах?

3 Как выполняется проверка на окончание вычислений в цикле?

Задание

Вычислить сумму членов ряда с точностью Е=10-2

при заданном х=0.75

 

№ варианта Выражение
, Е=103
, Е=102

 

, Е=102

 

Содержание отчета

1 Название работы.

2 Цель работы.

3 Содержание работы

4 Задание и программа для своего варианта.

5 Результаты расчёта итерационной суммы

6 Письменные ответы на контрольные вопросы.

7 Выводы по работе.

 

 

Лабораторная работа № 5

Сложные алгоритмы

Цель работы: разработка программ, реализующих циклические и

ветвящиеся вычислительные процессы.

Содержание работы:

1 Программа " цикл в цикле"

2 Программа " цикл и ветвление"

3 Программа " цикл в цикле и ветвление"

Общие сведения

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

При записи программ со структурой вложенных циклов зона действия внутреннего цикла должна располагаться в зоне действия охватывающего цикла.

1 Программа " цикл в цикле"

Пример 1

Составить таблицу ступенчатой функции

где y = sin x + cos a + sin ax

при 1< =a< = 3; ∆ a=0.5; 0< = x< =2; ∆ x =0.2

В программе нужно вычислить у для всех возможных сочетаний а и х, сравнить его с 1 и, если у< 1, то вычислить z по первой формуле, если > =1, то по второй.

 

Const

da=0.5;

dx=0.2;

Var

a, x, y, z: real;

Begin

a: =1;

repeat { цикл по a }

x: =0;

repeat { цикл по x }

y: =sin(x)+cos(a)+sin(a*x);

if y< 1 then

z: =y+sqr(x)

Else

z: =sin(sqr(y+1))+sqr(cos(x));

writeln(' a=', a: 4: 3, ' x=', x: 4: 3, '

z(x, y)= z(', x: 4: 3, ', ', y: 4: 3, ')=', z: 4: 3);

x: =x+dx;

until x> 2;

a: =a+da;

until a> 3;

End.

Описание программы

В разделе объявлений задаются константы da и dx, затем вещественные переменные a, x, y, z.

В основном блоке переменной а задаётся начальное значение а=1 и открывается цикл repeat по а, затем задаётся начальное значение х=0 и открывается цикл repeat по х, вложенный в цикл по а. В этом цикле вычисляется значение у и, если оно меньше 1, то вычисляется z=y+x2, в противном случае z вычисляется по формуле z = . Далее выводятся a, x, y, z в формате 4 значащих цифры, из них 3 после запятой.

Затем х получает приращение 0, 2, выполняется проверка на достижение им конечного значения 2. Если условие выполняется, то управление передаётся назад, к repeat по х, если нет, то выполняется следующий оператор, где а получает своё приращение 0, 5 и проверяется на достижение конечного значения 3. Если условие выполняется, то программа возвращается к repeat по а, если нет, то конец программы.

2 Программа " цикл и ветвление"

Пример 2

Дана функция

е1/3ln|z| +1, если z< 0

y = 0, если z=0

tg2x, если z> 0

 

Написать программу для вычисления значений функции на

отрезке x [-1; 1] с шагом 0.1 для z = sin x - 0.1.

В примере для каждого значения х сначала нужно определить z, а затем, если z < 0. то у вычислить по первой формуле, если z = 0, то у = 0 и если z > 0, то по третьей формуле.

Описание программы

В примере 2 использованы циклический и ветвящийся вычислительные процессы.

Вначале организуется цикл repeat по параметру х, а внутри цикла проверяются условия, обуславливающие ветвящийся вычислительный процесс, где для каждого значения переменной z =f(x) предусмотрена своя ветвь вычисления значений искомой функции у.

 

Const

dx=0.1;

Var

x, y, z: real;

Begin

x: =-1;

repeat { цикл по x }

z: =sin(x) - 0.1;

if z< 0 then

y: =exp(1/3*ln(abs(z)))+1

if z=0 then

y: =0

Else

z: =(sin(x)/cos(x))^2;

writeln(' x=', x: 4: 3, 'z(x)= z(', x: 4: 3, ')=', z: 4: 3);

x: =x+dx;

until x> 1;

End.

3 Программа " цикл в цикле и ветвление"

 

Пример 3

Вычислить сумму S положительных и произведение Р отрицательных значений функции y = cos t -b, в области t [-1; 1] с шагом 0.2 и

в области b [-0.1; 0.2] с шагом 0.1.

 

В примере - две переменные, t и b, нужно для каждого значения t просчитать все b, если y> 0,, то прибавить его значение к предыдущей сумме S, если y< 0, то умножить его на предыдущее произведение Р.

В примере 3 встречаются два циклических и ветвящийся вычисли-

тельные процессы. Внешний цикл организован по параметру t, внутренний цикл - по параметру b.

Внутри цикла после вычисления значения функции у осуществляется проверка условий ветвящегося вычислительного процесса, который реализует вычисление произведения p отрицательных значений функции (в случае выполнения условия у< 0) и вычисление суммы s положительных значений функции, если у> 0.

Программа

Const

dt=0.2;

db=0.1;

Var

t, b, y, s, p: real;

Begin

t: =-1;

repeat { цикл по t }

b: =-0.1;

repeat { цикл по b }

y: =cos(t)-b;

if y< 0 then

p: =p*y

Else

s: =s+y;

writeln(' t=', t: 2: 1, ' b=', b: 2: 1,

'y(t, b)= y(', t: 2: 1, ', ', b: 2: 1, ')=', y: 4: 2,

's=', s: 4: 2, 'p=', p: 4: 2);

t: =t+dt;

until t> 1;

b: =b+db;

until b> 0.2;

End.

 

4 Контрольные вопросы

1 Назовите известные вам структуры алгоритмов.

2 Какие вычислительные процессы реализуются в сложных алгоритмах?.

3 Как организуются программы с вложенными циклами?

4 Какие вычислительные процессы можно выделить в задании по вашему варианту?

5 Охарактеризуйте синтаксис и особенность применения операторов if,

repeat.

6 Сколько циклов может быть вложено друг в друга?

7 Как изменится программа примера 3, если оператор repeat заменить на оператор while?

Задания

 

№ варианта Выражение
t(8-7(-t)), если -1.4< =t< =4 z = t -│ 20-t, если 4< t< =9.8
(2-x)+│ x│ , если -0.8< =x< =0.2 S = cos x+e sin x, если 0.2< x< =1
z (4-z), если -2.5< =z< 0.4 y = 3 sin(z-0.4)-z, если 0.4< =z< =2.5
(12-x)x, если 5< =x< =11 y = x 12+x, если 11< x< =17
3.14+xy, если 1< =x< =10 z = tg x + cos y, если 2< =y< =4
sin (x +1), если 0.1< =x< =0.5 y = cos z, если 0< =z< =1
е2е + esin t, если -1.5< =t< 0 z = 2√ t, если 0< =t< =2
x+y 0.1< =x< =0.3 z = 1-xy 0.5< =y< =0.8
(z-1), если 0< =z< =3 C = |z-6|, если 3< =z< =8
t+4sin t│ , если -2< =t< 0 y = (t-(t-3)), если 0< =t< =4
x-1 – lnx4, если -5< =x< =0 M = │ cos x│ x-2, если 0< x< =10
2+3(a-x), 0.1< =x< =17.55 z = 5ax, 0.5< =a< =2.5
(S -2S-2), если -2< =s< =0 z = (S-cos S), если 0< S< =1.5
a+sin x -2< =x< =7 y = sin(a+x) -1< =a< =1
(cos(y-1)-2), , если -3< =y< =1 S = (y sin y-1), если 1< y< =4
sin│ x/a│ , 0.5< =x< =3.5 y = ax, 0.1< =a< =0.2
b sin x 0< =x< =2 y = cos z 0.1< =z< =2.5
a sin x, если 0.1< =x< =1 y = b cos x, если 1< x< 2

 

 

│ ax +bx │, если 0.1< =x< =1 y = sin(bx+a), если 1< x< =2
cos x, если 0.5< x< =0.9 y = x+sin x-cos x, если 0.9< x< =1

Содержание отчета

1 Название, цель, содержание работы

2 Задание для своего варианта.

3 Схема алгоритма.

4 Программы.

5 Результаты расчётов в среде pascal.

6 Письменные ответы на контрольные вопросы.

7 Выводы по работе.

 

 

Лабораторная работа № 6

Обработка массивов

Цель работы: разработка программ, реализующих вычислительные

процессы.с индексированными переменными

Содержание работы:

1 Одномерные массивы

2 Многомерные массивы

3 Обработка массивов


Поделиться:



Популярное:

  1. А. Анализ динамики показателей деловой активности и финансового цикла.
  2. Автор: М.Т. Шихиева, Рабочая программа Государственной итоговой аттестации выпускников - Королев МО: «МГОТУ», 2015 - 22 с.
  3. Автор: М.Т. Шихиева, Рабочая программа Государственной итоговой аттестации выпускников - Королев МО: «МГОТУ», 2015 - 22 с.
  4. Алгоритм интерпретации карты наблюдения менструального цикла
  5. Анализ жизненного цикла тары и упаковки.
  6. Базовые понятия пpогpаммиpования. Действие, пpоцесс, алгоритм, программа.
  7. Все, что вам нужно знать о циклах
  8. Все, что вам нужно знать о циклах
  9. Дает ли международная программа PISA объективную оценку знаний и умений учащихся? Ответ на этот вопрос дает системный анализ группы заданий по математике «Походка» международной программы PISA-2003
  10. Длительность рабочего цикла крана КБ-306А
  11. Индивидуальная программа реабилитации инвалида. Трудоустройство инвалидов
  12. Информация о количестве учебных часов, на которых рассчитана рабочая программа.


Последнее изменение этой страницы: 2016-05-03; Просмотров: 611; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.071 с.)
Главная | Случайная страница | Обратная связь