русс | укр

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

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

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

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


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

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


Дата добавления: 2014-11-28; просмотров: 2482; Нарушение авторских прав


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

Итерационные алгоритмы нашли широкое применение в инженерно-технических расчётах. В этих расчётах производятся многократные последовательные вычисления с целью постепенного приближения к искомому результату, причем для вычислений на каждом шаге используются результаты вычислений на предыдущем шаге. Завершение вычислений производится при достижении заданной точности вычислений. Поскольку количество итераций (повторений вычислений) заранее неизвестно, то при организации вычислений необходимо использовать циклы While или Repeat.

Итерационные алгоритмы применяются, например, в задачах вычисления суммы ряда или величины его членов, при численном решении нелинейных уравнений и т.п.

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

Точность конечного результата зависит от количества сохранённых членов ряда. Если задана погрешность e (и, например, равна 10-4). Номер последнего слагаемого n определяется условием

Упражнение. Вычислить на ЭВМ значение суммы членов бесконечного ряда точностью до члена ряда, меньшего e = 10-4 для x, равного 0,1. Определить число членов ряда, вошедших в сумму.

Ключевым этапом решения задачи является вычисление каждого члена ряда . Его значение можно вычислять напрямую, однако, удобнее выразить n-й член через (n–1)-й, в данном случае получаем:

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



Блок-схема алгоритма решения представлена на рис. 7.1. В блоке 2 организуется ввод исходных данных. В блоке 3 производится подготовка цикла, для этого задаётся значение первого члена ряда, начальное значение суммы, равное этому члену, и номер члена ряда, равный 1 (просуммирован один член). Блоки 4 и 5 выполняют расчет текущего номера члена ряда и значения этого члена с использованием рекуррентного соотношения. Блок 6 реализует функцию накопления суммы. Блок 7 выполняет проверку условия окончания цикла. В блоке 8 организуется вывод результатов расчётов.

 

Программа, реализованная в соответствии со схемой алгоритма, имеет вид:   Program Rows1; Uses Crt; Var x,eps,a,s:real; n:integer;   begin ClrScr; Write('Введите x '); Readln(x); Write('Введите eps '); Readln(eps); a:=x; s:=0; n:=1; While Abs(a)>=eps do begin s:=s+a; n:=n+1; a:=-a*x*x/((2*n-2)*(2*n-1)) end; Writeln('Сумма ряда = ',s:8:4); Writeln('Число членов ряда = ', n:4) End.  
Рис.7.1. Блок-схема алгоритма

 

Задание

Вычислить на ЭВМ значение суммы членов бесконечного ряда с заданной точностью e. На печать вывести значение суммы и число членов ряда, вошедших в сумму.

Вариант Сумма членов ряда Значение x Точность вычисления e
0,20 10-5
0,10 0,5·10-4
0,15 10-3
0,12 10-4
0,70 10-4
10-4
1,5 0,5·10-3
p/6 0,5·10-4
1,7 10-3
0,5·10-4

 



<== предыдущая лекция | следующая лекция ==>
Задания | Массивы


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


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

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

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


 


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

 
 

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

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