- Рассмотрим задачу решения нелинейного уравнения с одним неизвестным. Такие уравнения можно решать в MS Excel (Меню | Сервис | Подбор параметра), но будем использовать Делфи.
С чего начинается создание программы (проекта)?
Прежде всего, программист должен знать, какие действия нужно выполнить в ходе решения. На этом этапе язык программирования не нужен. Достаточно русского языка и математического. - Например, в этой задаче нужно знать — что такое корень. Для меня корень уравнения f(x)= 0 — это такое значение аргумента x функции f(x), при котором значение функции равно нулю.
- Второе, что нужно знать — какие методы (математические — так как задача эта — математическая) существуют для решения. Есть такие уравнения (например, квадратные) для решения которых существует формула. Но в общем случае формул нет, а есть методы (т е алгоритмы). Здесь мы применим метод дихотомии.
- Он основан на таком факте: если непрерывная функция f(x) имеет разные знаки (т е + — ) на краях некоторого интервала (a..b), то имеется нечетное (в частности 1) количество корней уравнения f(x) = 0 на этом интервале. Разумеется, функция должна быть хорошего поведения (не иметь разрывов). Вы можете в этом убедиться на рис.1
- Делим интервал a..b пополам. Получаем c=(a+b)/2; Вычисляем f(c); Знак f(c) совпадает либо со знаком f(a) либо со знаком f(b) (либо f(c)=0 и с является корнем);
- Если знак f(c) совпадает со знаком f(a), то корень находится на интервале c..b. Видим, что ситуация повторяется, поэтому делим пополам интервал c..b, то есть повторяем пункт a.
- В противном случае, то есть если знак f(c) совпадает со знаком f(b), то корень находится на интервале a..c. Тогда делим пополам интервал a..b, то есть повторяем пункт a.
- В результате интервал, в котором находится корень, уменьшается на каждом шаге в 2 раза, и это повторяется до тех пор, пока интервал не станет меньше заданной допустимой погрешности для значения корня.
Чтобы решить уравнение, понадобится функция, вычисляющая значение левой части уравнения.
Вот эта функция: Именно эта функция вызывается из процедуры DIX.
С этой целью применяют что-то вроде полуфабрикатов, а именно, компоненты Делфи. Для использования в проектах компоненты обычно нужно настроить, т е задать значения свойствам и обработчики для событий. К нашему счастью, свойства компонентов имеют значения по умолчанию, поэтому настраивать приходится немного.
- Запускаем среду Делфи7 (т е файл .Program FilesBorlandDelphi7Bindelphi32.exe)
- Появляется несколько окон. Основные из них:
Главное окно. Здесь имеется меню, панели с кнопками, панель компонентов (несколько закладок).
Именно с панели компонентов мы перетаскиваем компоненты на форму. При запуске Делфи появляется пустая форма. Из пунктов меню часто используется File — для создания нового проекта (можно выбать тип проекта, в том числе — консольный), для открытия существующего проекта (при продолжении работы над проектом), для сохранения проекта.Это окно формы. Его размеры можно менять мышкой. Свойства формы, которые часто настраивают:
— Caption (заголовок). По умолчанию — Form1. Можно (при помощи инспектора объектов — о нем дальше) заменить заголовок на «Это мой первый проект» или «Решение уравнений методом дихотомии» и т п.
— Color т е цвет,
— BorderStyle — Можно задать форму постоянных размеров (bsSingle) — Font.CharSet = RUSSIAN_CHARSET Отметим, что Font (шрифт), являющийся свойством формы, является объектом и мы здесь настроили свойство CharSet объекта Font. Часто определяют еще размер (Size) этого же объекта Font. Заметим, что настроенные свойства Font НАСЛЕДУЮТСЯ установленными на форму объектами.
— Position иногда полезно, чтобы форма располагалась по центру экрана при запуске приложения. Для этого выберите Position = poScreenCenter из выпадающего списка возможных значений этого свойства.
— TransparentColor, TransparentColorValue используйте их, если нужно часть формы сделать прозрачной, например, сделать круглую форму. Но при этом имейте в виду, что старые оп. системы (Windows 95,98 и т п) не поддерживают прозрачность.Это окно инспектора объектов. С его помощью настраиваются свойства формы и компонентов, установленных на форму. Вы можете выделить любой компонент на форме (с помощью мышиного щелчка), и свойства выделенного объекта будут видны и доступны для изменения в инспекторе объектов. В частности, на этой картинке инспектор объектов отображает свойства формы Form1. Видно, как программист установил свойство Position. Отметим также, что инспектор объектов имеет 2 закладки: Свойства (Properties) и События (Events). События — что-то новое для нас, поговорим о них немного.
Примерами событий могут служить: щелчок мышкой, сбой при чтении файла или выполнении действий над данными, изменение позиции и размера окон и т п. События обнаруживаются операционной системой, которая, в свою очередь, информацию о событии посылает приложению. Компоненты Делфи способны реагировать на некоторые из событий. Список таких событий Вы увидите раскрыв закладку Events. Пока что мы будем пользоваться только событием onClick (мышиный щелчок по компоненту — кнопке). Говоря коротко, если сделать двойной щелчок в инспекторе — правее имени события, то в редакторе текста появится заготовка процедуры, в которой мы должны записать действия программы при наступлении этого события. Но об этом заботиться рано. Займемся пока текстом проекта.Делфи-проект состоит из модулей, и когда при запуске Делфи создается проект, то в окне редактора появляется заготовка текста модуля. Что интересного можно здесь увидеть?
— Текст начинается с заголовка модуля unit Unit1; Видим что имя модуля (как и многие другие имена) создается автоматически (но мы можем переименовать).
interface — объявляется начало интерфесной части модуля, (т е все, что здесь описано, можно сделать доступным в других модулях проекта.)
Далее записано предложение uses: Здесь перечисляются модули, используемые в данном модуле. Не будем пока это обсуждать. Затем идут описания типов, в которых уже вписано описание КЛАССА TForm1 — это класс, описывающий создаваемую нами форму. Он будет наполняться при добавлении компонентов на форму. Думаю, что Вам полезно вспомнить, что такое класс.
Далее следуют описания переменных, имеется всего 1 переменная: Form1: TForm; Это переменная — объект. Можно сказать, что типом для объекта является класс, так как описание деталек объекта содержит именно класс. - Начнем добавление компонентов на форму. Посмотрите готовый проект. Как Вы видите, в левом верхнем углу формы находится текст:
1. Если функция.
Для этого перетащим компонент Label, установим его свойства: AutoSize = false, WordWrap = true, впишем текст в Caption и мышкой установим нужные размеры текста. Так как при настройке свойств формы было установлено: Font.Size = 10, то шрифт у Label1 тоже имеет Size = 10. - Добавим рамку с заголовком «Задайте интервал a..b . » (компонент GroupBox1), зададим ей размеры и текст.
- Далее разместим внутри GroupBox1 компоненты Label2..5 для надписей a= b= f(a)= f(b)= а также Label6,7 — для показа значений f(a) f(b). В свойство Caption можно вписать 0.
- Нужно также поставить 2 компонента (класс TEdit) для ввода знаений a и b. Изменим имена этих редакторов на edA и edB (Это не обязательно, но удобно). Впишем свойство edA.Text = -0,2 и edB.Text = 2
- Теперь можно поставить кнопку (Button) с надписью «Построить график. «. Притащите ее с панели компонентов, впишите надпись в свойство Caption. Чтобы не путаться, присвоим кнопке имя (свойство name) btnCalc. Создадим также процедуру — обработчик щелчка по этой кнопке. Для этого: выделим кнопку, в инспекторе объектов перейдем на вкладку Events, найдем событие OnClick и сделаем двойной щелчок в правом окошке строки OnClick.
- Тогда в окне редактора появится шаблон-заготовка процедуры: Очень важно: если нужно удалить процедуру обработчика события, удалите из нее все, что Вы вписали, НО ОСТАВЬТЕ первоначальный шаблон. После этого просто сохраните проект и обработчики с пустым телом (т е пусто между begin и end) будут удалены автоматически. Если же Вы вручную удалите весь текст процедуры, то возникнет ошибка.
Для начала впишем сюда действия по вычислению f(a) и f(b):
Этот модуль может только вычислять функцию в двух заданных точках. В дальнейшем мы добавим все остальное. Но этот модуль работает и можно видеть результаты. Теперь нужно сохранить проект. Советую каждый проект сохранять в отдельной папке. Щелкните кнопку «Save All» или выберите в меню: File | Save All. Откроется окно, в котором выберите или создайте папку для проекта. Обратите внимание, что требуется 2 сохранения: для модуля и для проекта. При этом модуль и проект можно переименовать. После сохранения полезно заглянуть в эту папку и убедиться, что там записаны все файлы проекта (по умолчанию это Unit1.pas, Unit1.dfm, Project1.cfg, Project1.dof, Project1.dpr, Project1.res). Если эти файлы сохранены, то для продолжения работы с проектом необходимо и достаточно открыть Project1.dpr. Основное внимание мы уделяли файлу Unit1.pas — в нем содержится текст модуля Unit1. В тексте содержится описание класса TForm1, подпрограмма ff. Часть информации сохраняется в файле Unit1.dfm и именно поэтому нельзя удалять обработчики событий простым редактированием файла Unit1.pas — так как получается противоречие между Unit1.pas и Unit1.dfm. Остальные файлы проекта не нуждаются во внимании программиста, однако при переносе на другой компьютер могут «потеряться» файлы. В этом случае загляните в текст файла Project1.dpr и обратите внимание на предложение вроде:
Unit1 in ‘Unit1.pas’ ;
Здесь после in записывается путь к файлу Unit1.pas. Если все файлы проекта хранятся в одной папке, то путь к файлу пустой — указывается только имя файла. Если же Вы сохраняли проект не совсем правильно, то может записаться путь вроде: Unit1 in ‘D:tempUnit1.pas’ ;
а на другой машине такой папки нет. Тогда подредактируйте Project1.dpr и укажите правильный путь. Лучше всего поместить все файлы проекта в одну папку и убрать пути.
Проект можно компилировать (нажать Ctrl-F9). При этом могут появиться сообщения об ошибках.После устранения ошибок компиляция завершится нормально и в папке появится исполняемый файл Project1.exe. Этот файл можно запускать (открывать) на любом другом компьютере, если он работает под Windows (т е среда Делфи для этого не нужна). Исполняемые файлы не совсем простых программ могут не запускаться на другом компьютере, так как при компановке не подключены некоторые библиотеки. Эта проблема решается в Меню | Project | Options | Packages | Runtime Packages Также при компиляции не совсем простых программ могут «не найтись» некоторые библиотеки, не входящие в комплект Делфи. Такие библиотеки подключаются в Меню | Project | Options | Directories | Search Path — здесь добавляются в проект пути к дополнительным библиотекам.
Можно совместить компиляцию с запуском на выполнение — нажмите клавишу F9.
Итак, проект запущен и работает. Теперь можно подбором найти такие близкие значения a и b, чтобы f(a) и f(b) имели разные знаки + — и затем применить метод дихотомии на этом интервале a..b. Именно этим мы сейчас и займемся, а построение графика сделаем позже.
3. Программа уточнит. затем Label9 и 20 для текстов: Задайте EPS Задайте EPS2, окошки edEPS edEPS2 для ввода параметров eps, eps1 процедуры DIX. Поставим также компоненты Label10,11,18,19 — для надписей «Корень х = » «f(x) = » и значений: функции и корня. Можно поставить компонент GroupBox2 с надписью «Результат» или обойтись без него.
Видео:Delphi Квадратное уравнениеСкачать
Решение квадратного уравнения на Делфи
Решение квадратного уравнения на делфи или лазарусе. Поля edit1, edit2, edit3 для ввода коэффициентов. edit4 для вывода решения. При открытии формы коэффициент по умолчанию становятся равными единицы.
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
public
end;
var
Form1: TForm1;
procedure TForm1.Button1Click(Sender: TObject);
Var a,b,c,d,x1,x2:real;
begin
a:=strtofloat(edit1.text);
b:=strtofloat(edit2.text);
c:=strtofloat(edit3.text);
d:=((b*b)-(4*a*c));
if d Автор admin Опубликовано 04.06.2016
Видео:#9 Программирование в Delphi. Математические операцииСкачать
Разработка приложения в среде Delphi «Решение квадратных уравнений»
Цель урока: 1. Рассмотреть решение квадратных уравнений в среде Delphi;
2. Развитие познавательных навыков и интереса к предмету
3. Воспитание ответственного отношения к предмету
Просмотр содержимого документа
«Лабораторная работа на откр. урок»
Лабораторная работа №5
Разработка приложения в среде Delphi «Решение квадратных уравнений».
1.Создайте проект . Для этого добавьте на форму следующие компоненты: Label 1, … Label 6; Button 1, Edit 1… Edit 3.
2.Задайте объектам следующие свойства.
Решение квадратных уравнений
MS Sans Serif , полужирный курсив, размер 14, цвет красный
Label 2, … Label6
MS Sans Serif , полужирный курсив, размер 14, цвет синий
MS Sans Serif , полужирный курсив, размер 14, цвет чёрный
Результат выполнения программы
procedure TForm1.Button1Click(Sender: TObject);
Просмотр содержимого документа
«Лабораторная работа №6»
Лабораторная работа №6
Создание Windows-приложения для вычисления различных математических функций
Ввести значение x и вычислить значения следующих математических функций:
Cos(x) Ln(x) Sqr(x) Sqrt(x) Sin(x) Log10(x) Exp(x)
Поместить компоненты Label и Edit в окно формы Form1 и установить их свойства.
Записать код для обработки события OnClick на объекте Button1:
procedure TForm1.Button1Click(Sender: TObject);
Var x, y1, y2 : real;
Просмотр содержимого документа
«на откр урок»
Средняя школа №3 им. Т. Шаханова
Разработка приложения в среде Delphi «Решение квадратных уравнений»
Учитель: Уразбаева Э.К.
Тема: Разработка приложения в среде Delphi «Решение квадратных уравнений».
Тип урока: изучение нового материала
Цель урока: 1. Рассмотреть решение квадратных уравнений в среде Delphi ;
2. Развитие познавательных навыков и интереса к предмету
3. Воспитание ответственного отношения к предмету
Сообщаю цель и ход урока.
Все мы знаем, что информатика напрямую связана с математикой. Сегодня на уроке мы ещё раз убедимся в этом. Уже несколько уроков подряд мы с вами работаем в среде программирования Delphi , разрабатываем различные небольшие программки, такие как «Светофор», «Увеличение, уменьшение текста», «Разработка тестов». На этом уроке мы с вами рассмотрим, как можно решать квадратные уравнения быстро и легко. Мы напишем программу в среде Delphi , введём любое квадратное уравнение и получим сразу ответ.
Итак, наша тема «Разработка приложения в среде Delphi «Решение квадратных уравнений».
Объяснение нового материала.
С какой версией Delphi мы с вами работаем?
Какую используем вкладку?
Как сохранить готовый проект?
При различных вариантах ответов, какую кнопку мы используем?
Какие ещё кнопки вы знаете?
А теперь вспомним математику.
Какой вид имеет квадратное уравнение? ( ax 2 + bx + c =0)
Значит, какие значения нам необходимы? (а, b , с)
Что ещё необходимо найти при решении квадратного уравнения? (дискриминант)
Как находиться дискриминант? ( D = b 2 -4 ac )
Раздаю лабораторные работы.
1.Создайте проект . Для этого добавьте на форму следующие компоненты: Label 1, … Label 6; Button 1, Edit 1… Edit 3.
💡 Видео
Урок №1: Условия в Delphi - оператор "If Then" на примере программы "Решение квадратного уравнения"Скачать
2017-11-23 (15:57) Пример Метод Делфи - 4 курс САСкачать
Delphi. Видеокурс. Урок 3Скачать
Дельфи. Метод принятия управленческого решенияСкачать
Mathcad-09. Пример: уравненияСкачать
Delphi / if then else пример работы с формой и таймеромСкачать
BE-BDN-2 Простой пример на Дельфи(Simple Delphi Example)Скачать
Решение задачи в среде программирования Delphi.Скачать
Курсы программирования. Урок 6. Математические функции DelphiСкачать
Программирование в Delphi Урок 7-1. Решение самостоятельной задачаСкачать
Delphi | Урок 3 - стандартные операторы и функцииСкачать
ЛовиОтвет — программа для решения примеров и уравненийСкачать
Урок Delphi. Изучаем 3 примераСкачать
Программирование в Delphi Урок 3 1 Решение домашнего заданияСкачать
Delphi | Урок 4 - условные операторы (if else, case of)Скачать
2016-11-27 (16:07) - Метод Делфи - (4 Курс, СМПР)Скачать