русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-07-04; просмотров: 806; Нарушение авторских прав


Тема. Вычисление сумм (произведений) элементов бесконечного ряда с заданной точностью. Оператор 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. Какие виды циклов есть в Паскале?

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

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

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

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

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

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

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

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

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

 



<== предыдущая лекция | следующая лекция ==>
Схема алгоритма и программа решения задачи | Теоретическая часть


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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