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


Схема алгоритма и программа решения задачи



 

Program Project1;

var a, b, h, d, x, y: real;

begin

writeln('введите границы интервала [a, b], шаг h-');

readln(a, b, h); //после ввода каждого значения нажать ENTER

write('введите значение d=');

readln(d);

//вывод заголовка таблицы значений функции на экран

writeln('таблица значений функции');

writeln(' x ', ' y');

x: =a; //начальное значение x

while x < = b do

begin

//вычисление y в зависимости от условия

if x< 2 then y: =12*d+x+cos(x*sqr(x))

else if x< =4 then y: =ln(abs(10 – sqr(x)))

else y: = 4 + sin(sqr(x))/cos(sqr(x));

//вывод значений аргумента и функции на экран

writeln (x: 5: 2, ' ': 5, y: 5: 2);

x: =x+h; //приращение аргумента на h=0, 5

end;

readln;

end.

 

 


Варианты заданий в табл. 9.

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

где a < = x < = b, h – шаг изменения x. Значения с, d задать самостоятельно как константы.

Таблица 9

a=1, b=6, h=0, 5 a=-3, b=5, h=0, 5
a=1, b=4 , h=0, 2 a=1, b=5, h=0, 25
a=-2, b=3, h=0, 5 a=0, 5, b=2, h=0, 2
a=3, b=9, h=0, 5 a=2, b=10, h=0, 5
a=1, b=5, h=0, 5 a=1, b=5, h=0, 25
a=1, b=6, h=0, 5 a=0, b=6, h=0, 5
a=2, b=8, h=0, 5 a=1, b=6, h=0, 5
a=0, 5, b=2p, h=0, 1p. a=1, b=5, h=0, 25

 

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

1. Для чего предназначен оператор цикла?

2. Какие виды циклов есть в Delphi?

3. Какой формат записи имеет оператор WHILE? Как он работает? B каких случаях применяется?

4. Чем отличается оператор WHILE от оператора REPEAT?

5. Что является телом цикла?

6. Как в теле цикла выполнить несколько операторов?

7. Почему перед выполнением цикла некоторым переменным нужно задавать начальные значения?

8. Что такое зацикливание? Как его избегать?

 

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

Тема. Вычисление сумм (произведений) элементов бесконечного ряда с заданной точностью. Оператор Repeat …Until

Цель работы: научиться разрабатывать схемы и программы с использованием оператора цикла Repeat … Until на примере вычисления суммы (произведения) элементов бесконечного ряда с заданной точностью

Теоретическая часть

Алгоритм циклической структуры с постусловием реализуется оператором REPEAT...UNTIL, структура которого имеет вид:

REPEAT

1 оператор тела цикла;

2 оператор тела цикла;

N оператор тела цикла

UNTIL логическое условие;

Здесь: логическое условие оператор отношения (логическое выражение), определяющий условие завершения цикла; операторы тела цикла любой исполнимый оператор или группа операторов.

В операторе REPEAT...UNTIL проверка условия производится после очередного выполнения операторов тела цикла, следовательно, в нем операторы тела цикла выполняются как минимум один раз.

Операторы тела цикла выполняются до тех пор, пока значение логического условия есть FALSE («ложь»). Как только оно принимает значение TRUE («истина»), управление передается оператору, следующему в программе за конструкцией REPEAT UNTIL.

Операторы цикла в REPEAT...UNTIL не заключаются в операторные скобки, аотделяются друг от друга точкой с запятой.

Применение операторов WHILE...DO и REPEAT...UNTIL регламентируется некоторыми правилами.

· Перед каждым выполнением цикла (в том числе и первым) операнды, входящие в логическое условие, должны иметь конкретные значения и однозначно определять условие окончания или продолжения цикла.

· Тело цикла должно содержать хотя бы один оператор, влияющий на операнды логического условия (изменяющий переменную, которая анализируется в условии), что исключает «зацикливание» при выполнении и бесконечное продолжение цикла.

· Изменение значения переменной, влияющей на логическое условие, через некоторое конечное число операций должно привести к удовлетворению условия окончания цикла.

 

Пример 9.1. Разработать блок-схему и программу вычисления суммы элементов ряда с заданной точностью e = 0, 00001. Условием окончания вычислений считать ê Sn ê < = e. Значение x задать самостоятельно.

 

 

 

Блок-схема и программа задачи.

 
 

 


Рис.8.

 

Program Project1;

var

x, e, a, s, s1, delta: real;

n, c: integer;

f: longint;

begin //начало раздела операторов

write('введите x=');

readln(x);

write('введите точность вычислений e=');

readln(e);

//начальные значения a, f, c, n, s

a: =x; c: =1;

f: =1*2*3;

n: =0;

s: =0;

repeat //начало суммирования

s1: =s; //в s1 хранится значение s для сравнения

n: =n+1; //счетчик слагаемых

c: =-c; //значение (-1) для n-го слагаемого

a: =a*sqr(x); //вычисление х в степени (2n+1) n-го слагаемого

f: =f*(2*n+2)*(2*n+3); // факториала n-го слагаемого

s: =s+c*a/f * sin(n*x); //добавление n-го слагаемого к общей сумме

delta: =abs(s-s1); //проверка условия окончания цикла

until delta< =e;

//вывод результата на экран

writeln('при x=', x: 4: 2, ' сумма', n: 2, ' элементов', s: 7: 5);

readln;

end.

 

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

Программа выполняет расчет каждого элемента ряда по общим формулам. Для уменьшения количества вычислений при расчете х2n+1 и факториала (2n+3)! используются их значения из предыдущих слагаемых (переменные a, f). Для правильного расчета первого элемента ряда задаются начальные условия. Им нужно уделить особое внимание.

Программа снабжена комментариями и дополнительных объяснений не требует.

Варианты заданий в табл. 10

Вычислить сумму элементов бесконечного ряда с заданной точностью

e = 0, 00001. Условием окончания вычислений считать ê Sn ê < = e.

Значение x задать самостоятельно.

Таблица 10

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

1. Для чего предназначен оператор цикла?

2. Какие виды циклов есть в Delphi?

3. Какой формат записи имеет оператор WHILEL? Как он работает? B каких случаях применяется?

4. Какой формат записи имеет оператор REPEAT? Как он работает? B каких случаях применяется?

5. Чем отличается оператор WHILE от оператора REPEAT?

6. Какой формат записи имеет оператор FOR? Какие существуют варианты этого цикла?

7. Как работает оператор FOR? B каких случаях применяется?

8. Что является телом цикла?

9. Как в теле цикла выполнить несколько операторов?

10. Почему перед выполнением цикла некоторым переменным нужно задавать начальные значения?

11. Что такое зацикливание? Как его избегать?

 


Поделиться:



Популярное:

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


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


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