- •А.В. Кравцов, н.В. Чеканцев, е.С. Шарова, м.С. Гынгазова, ю.А. Смышляева, э.Д. Иванчина Проблемно-ориентированная информатика химико-технологических процессов
- •Введение
- •1. Общая характеристика языков программирования
- •2. Основы программирования на языке turbo pascal
- •2.1. Оператор присваивания
- •2.2. Программирование линейных алгоритмов
- •2.3. Программирование разветвляющихся алгоритмов. Условный оператор
- •2.4. Оператор варианта
- •2.5. Программирование циклических алгоритмов
- •2.6. Одномерные массивы
- •2.7. Матрицы
- •2.8. Файлы
- •3. Технология программирования и модули
- •3.1. Подпрограммы
- •3.2. Использование стандартных модулей
- •3.2.1. Модуль Сrt. Работа с экраном в текстовом режиме
- •3.2.2. Модуль Graph . Работа с экраном в графическом режиме
- •3.2.3. Закрашенные области
- •3.2.4. Вывод текстовой информации
- •4. Решение функциональных и вычислительных задач химической технологии
- •4.1. Обработка экспериментальных данных
- •4.1.1 Интерполяционный многочлен Лагранжа
- •4.1.2. Интерполяционный многочлен Ньютона
- •4.2. Итерационные методы решения нелинейных уравнений
- •4.2.1. Метод деления отрезка пополам
- •4.2.2. Метод простых итераций
- •4.2.3. Метод Ньютона (метод касательных)
- •4.2.4. Примеры составления программ
- •4.3. Приближенное решение обыкновенных дифференциальных уравнений первого порядка
- •4.3.1. Метод Эйлера
- •4.3.2. Метод Рунге-Кутта
- •5. Основы работы с windows
- •Управление манипулятором мышь
- •Курсор ввода
- •Рабочий стол
- •Окно программы мой компьютер
- •Корзина
- •Панель задач
- •Файловая система и структура
- •5.1. Основы работы с Microsoft Word
- •5.1.1. Запуск программы Word
- •5.1.2. Элементы окна редактора Word
- •5.1.3. Набор текста
- •5.1.4. Сохранение и загрузка документов
- •5.1.5 Основы форматирования текста
- •5.1.6. Создание таблиц
- •5.1.7. Формульный редактор
- •5.2. Построение графиков с использованием Microsoft Excel
- •Формулы для вычисления линий тренда
- •6. Основы работы в среде delphi
- •6.1. Знакомство со средой Delphi
- •6.1.1. Главное окно
- •Пиктографические кнопки
- •6.1.2. Окно формы
- •6.1.3. Окно Инспектора Объектов
- •6.1.4. Окно кода программы
- •6.2. Основы визуального программирования в среде Delphi
- •6.2.1. Пустая форма и ее модификация
- •6.2.1.1. Настройка Delphi
- •6.2.1.2. Имена в Delphi
- •6.2.1.3. Изменение свойств формы
- •6.2.1.4. Размещение нового компонента
- •6.2.2. Реакция на события
- •6.2.2.1. Обработчик события OnClick
- •6.2.2.2. Динамическое изменение свойств компонента
- •6.3. Использование компонентов общего назначения
- •6.3.1. TFrame – рама и шаблоны компонентов
- •6.3.2. TMainMenu - главное меню формы (программы)
- •6.3.3. TPopupMenu - вспомогательное (локальное) меню
- •6.3.4. TLabel - метка для отображения текста
- •6.3.5. TEdit - ввод и отображение строки
- •6.3.6. TMemo - ввод и отображение текста
- •6.3.7. TButton – кнопка
- •6.3.8. TCheckBox - независимый переключатель
- •6.3.9. TRadioButton - зависимые переключатели
- •6.3.10. TListBox - список выбора
- •6.3.11. TComboBox – раскрывающийся список выбора
- •6.3.12. TScrollBar - управление значением величины
- •6.3.13. TGroupBox - панель группирования
- •6.3.14. TRadioGroup - группа зависимых переключателей
- •6.3.15. TPanel – панель
- •6.3.16. TActionList - механизм действий
- •7. Базы данных и базы знаний. Сеть интернет.
- •7.1. Системы сбора, хранения и обработки информации о протекании промышленного процесса
- •7.1.1 Общая характеристика систем управления базами данных
- •7.1.2 Иерархические субд
- •7.1.3 Сетевые базы данных
- •7.1.4 Реляционные базы данных
- •7.1.5 Среда быстрой разработки приложений Delphi
- •7.1.6 Язык sql как стандартный язык реляционных бд
- •7.1.7 Базы данных на нефтеперерабатывающих заводах. Единая тематическая витрина данных на ооо «по «Киришинефтеоргсинтез»
- •7.1.8 Базы знаний
- •7.2. Сеть интернет
- •7.2.1. Что такое Интернет
- •7.2.2. История возникновения Интернет
- •7.2.3 Интернет - компьютерные сети и сетевые протоколы. Семейство протоколов tcp/ip
- •7.2.4 Службы (сервисы) Интернет и архитектура клиент-сервер
- •7.2.5 Интернет в цифрах
- •8.1. Анализ и задание требований к безопасности
- •8. Средства защиты информации
- •8.2. Безопасность в прикладных системах
- •8.3 Проверка достоверности входных данных.
- •8.4. Проверка достоверности внутренней обработки данных
- •8.5. Аутентификация сообщений
- •8.6. Защита файлов прикладных систем
- •8.7. Контроль рабочего программного обеспечения
- •8.8. Защита системных тестовых данных
- •8.9. Безопасность в среде разработки и рабочей среде
- •8.10. Процедуры управления процессом внесения изменений
- •8.11. Технический анализ изменений, вносимых в операционную систему
- •8.12. Ограничения на внесение изменений в пакеты программ
- •Литература
- •Оглавление
- •Учебное издание
- •Проблемно-ориентированная информатика химико-технологических процессов
4.2.3. Метод Ньютона (метод касательных)
Пусть
рассматривается уравнение f(x)=0.
Корнем уравнения называется значение
,
при котором f(x)=0.
Корень
называется простым, если F'(
)≠0
в противном случае корень называется
кратным.
При решении нелинейного уравнения методом касательных задаются начальное значение аргумента x0 и точность ε. Затем в точке(x0,F(x0)) проводим касательную к графику F(x) и определяем точку пересечения касательной с осью абсцисс x1. В точке (x1,F(x1)) снова строим касательную, находим следующее приближение искомого решения x2 и т.д. Указанную процедуру повторяем пока |F(xi)| > ε. Расчетная формула метода Ньютона имеет вид:
Геометрически метод Ньютона означает, что следующее приближение к корню x(n+1) есть точка пересечения с осью ОХ касательной, проведенной к графику функции y=f(x) в точке (x(n),f(x(n)).
4.2.4. Примеры составления программ
Пример 4.2.1. Программа решения уравнений методом деления отрезка пополам.
Задание: решить уравнение ex - 10x = 0.
PROGRAM del;
USES Crt;
LABEL 1,2;
VAR a, b, x0, eps, r1, r2: Real;
{ a, b - Начало и конец интервала }
{ x0 - Корень уравнения }
{ eps - Точность расчета }
k: Integer;
fin, fout: Text;
FUNCTION f(x:real): Real; { Исследуемая функция }
BEGIN
f:=exp(x)-(10*x);
END;
BEGIN
ClrScr; { Очистка текстового экрана }
assign(fin,'otrezok.in'); { Файл данных }
assign(fout,'otrezok.out'); { Файл вывода }
reset(fin);
read(fin,a,b,eps);
close(fin);
(* Р А С Ч Е Т *)
k:=0; 1:k:=k+1;
x0:=(a+b)/2;
IF f(x0)=0 THEN GOTO 2;
IF abs(b-a)<eps THEN GOTO 2;
r1:=f(x0);
r2:=f(a);
IF (r1*r2)<0 THEN b:=x0
ELSE a:=x0;
GOTO 1;
2: writeln('Число делений пополам: ',k);
writeln('Корень уравнения: ',x0:7:4);
writeln('Точность расчета: ',eps:7:6);
(* Запись в файл *)
rewrite(fout);
writeln(fout,'Число делений пополам: ',k);
writeln(fout,'Корень уравнения: ',x0:7:4);
writeln(fout,'Точность расчета: ',eps:7:6);
close(fout);
readln;
END.
ФАЙЛ исходных данных:
0.0 1.0 1.0E-08 a, b - Начало и конец интервала eps - Точность расчета
ФАЙЛ с результатами
Число делений пополам: 28
Корень уравнения: 0.1118
Точность расчета: 0.000000001
Пример 4.2.2. Программа решения уравнения с использованием метода Ньютона.
Уравнение x3- 2x2 + 1.3x = 0.
PROGRAM newton;
LABEL m1, m2;
VAR x, x0, eps:real;
a1, a2:text;
k:integer;
FUNCTION f(x0:real):real;
BEGIN
f:=x*x*x-2*x*x+1.3*x-0.2;
END;
FUNCTION f1(x0:real):real;
BEGIN
f1:=3*x*x-4*x+1.3;
END;
BEGIN
assign (a1,'dat17-2');
reset(a1);
read(a1,x0,eps);
k:=0;
m2: x:=x0;
x0:=x-f(x)/f1(x);
k:=k+1;
IF abs(x-x0) <= eps THEN GOTO m1
ELSE GOTO m2;
m1: assign(a2,'res-17-2');
rewrite(a2);
writeln(a2,'корень уравнения',x,k);
close (a2);
END.
Пример 4.2.3. Программа решения уравнения методом итераций.
PROGRAM met;
LABEL m1, m2;
VAR x, x0, eps:real;
a1, a2:text;
k:integer;
FUNCTION f(x0:real):real;
BEGIN
f:=(-x0*x0*x0+2*x0*x0+0.24)/1.3;
END;
FUNCTION f1(x0:real):real;
BEGIN
f1:=-3*x0*x0+4*x0+1.3;
END;
BEGIN
assign (a1,'dat-21'); reset(a1);
read(a1,x0,eps);
k:=0;
REPEAT
x:=x0;
writeln (x0);
x0:=f(x); k:=k+1;
UNTIL abs(x-x0) < eps ;
m1: assign(a2,'res-21'); rewrite(a2);
writeln(a2,'корень уравнения',x,k);
close (a2);
END.
