Технологическая карта проекта Кубическое уравнение
проект по алгебре (9 класс) на тему

Морозов Владимир Владимирович

Предлагаемая статья представляет собой технологическую карту, с помощью которой учащиеся сумеют разработать в среде программирования Delphi программу решения кубического уравнения.

Будут даны коэффициенты a, b, c, d кубического уравнения ax3+bx2+cx+d=0. С помощью нашего проекта мы сможем решить это кубическое уравнение. В программе будет предусмотрено случайное заполнение полей a, b, c, d и проверка решения.

Презентация для демонстрации учащимся прилагается. Пример работающего проекта в среде программирования Delphi прилагается. 

Статья представляет интерес учителям математики и информатики, а также учащимся, интересующимся программированием в среде Delphi. 

Скачать:

Предварительный просмотр:


Подписи к слайдам:

Постановка задачи
Создать программу для решения кубического уравнения:С 4 полями для ввода чиселС выводом ответа (3 корня)С кнопками для вычисленийСделать программу красивой и удобной для пользователя
Алгоритм решения
Если а<>0 то вычисляем:
Алгоритм решения
Если dd>0 есть 1 действительный корень:
Алгоритм решения
Если dd=0 то есть двойной корень:
Алгоритм решения
Если dd<0 есть 3 действительных корня.Находим первый корень:
Алгоритм решения
Другие 2 корня находим, решая квадратное уравнение с коэффициентами
Алгоритм решения
Если ddd>0, то есть ещё 2 корня
Алгоритм решения
Если ddd=0, то корень двойной
Алгоритм решения
Если ddd<0, то корни комплексные
Проектируем дизайн программы
План работы
Создать папку для нового проектаИзменить свойства формыРазместить на форме объекты Edit (4 шт.)Изменить их свойстваРазместить на форме кнопки для выполнения действийОживить кнопкиОтладка и исправление ошибокТворческая изюминка
Начало работы
Запустите Delphi, сохраните новый проект в папке Кубическое уравнение, сохраните файлы проекта как Qube.pas и QubeEq.dpr.
Изменяем свойства формы
Name=frmMainCaption=Кубическое уравнениеIcon=икона с калькуляторомBorderStyle=bsSingle (Запретили пользователю менять размер окна)Position=poDesktopCenter
Изменяем иконку приложения
Зашли в меню Project/OptionsОткрыли вкладку ApplicationНажали Load Icon Изменили Иконку на Калькулятор
Теперь exe-файл - с вашей иконкой
Разместите на форме четыре объекта Edit
Назовите их EditA, EditB, EditС, EditDИх свойства Text замените пустыми строкамиПодпишите их метками Label как a, b, с, d.
Разместите на форме все кнопки
Кнопка для начала решения:Name=btnSolve;Caption=Решить
Разместите на форме все кнопки
Кнопка для очистки полей:Name=btnClear;Caption=Очистить
Разместите на форме все кнопки
Кнопка для генерации случайного уравнения:Name=btnRandom;Caption=Случайное уравнение
Разместите на форме все кнопки
Кнопка для проверки решения:Name=btnTest;Caption=Проверка
Разместите на форме все кнопки
Кнопка для выхода из программы:Name=btnTest;Caption=Выход
Разместите на форме все кнопки
Бросьте на форму ещё 6 меток для вывода решения и проверки. Назовите их lblSolution, lblSolution2, lblSolution3, lblTest1, lblTest2, lblTest3. Свойство Caption у всех сделайте пустыми.
Оживляем проект
Объявляем глобальные переменные
Дважды щёлкните на любой кнопке формыВращая колесо мыши найдите начало программы, слово ImplementationПосле «Implementation{$R *.dfm}»Впишите следующий код:Var y,y1,y2,y3,a,b,c,d:double;
Пишем процедуры под кнопками
Кнопка для очисткиПишем следующий код:
editA.Text:=''; editB.Text:=''; editC.Text:=''; editD.Text:=''; lblSolution.Caption:='Решение:'; lblSolution2.Caption:=''; lblSolution3.Caption:=''; lblTest1.Caption:='f(x1)='; lblTest2.Caption:='f(x2)='; lblTest3.Caption:='f(x3)='
Пишем процедуры под кнопками
Кнопка для Случайного заполненияПишем следующий код:
procedure TfrmMain.btnRandomClick(Sender: TObject); const maxI=20; var i:integer; h:string;begin randomize; i:=random(2*maxI)-maxI; str(i,h); EditA.Text:=h; i:=random(2*maxI)-maxI; str(i,h); EditB.Text:=h; i:=random(2*maxI)-maxI; str(i,h); EditC.Text:=h; i:=random(2*maxI)-maxI; str(i,h); EditD.Text:=h; lblSolution.Caption:='Решение:'; lblSolution2.Caption:=''; lblSolution3.Caption:=''; lblTest1.Caption:='f(x1)='; lblTest2.Caption:='f(x2)='; lblTest3.Caption:='f(x3)=';end;
Пишем процедуры под кнопками
Кнопка для ПроверкиПишем следующий код:
procedure TfrmMain.btnTestClick(Sender: TObject); var t:double; h:string; begin t:=a*y*y*y+b*y*y+c*y+d; t:=abs(t); str(t:5:7,h); lblTest1.Caption:=lblTest1.Caption+h end;
Пишем процедуры под кнопками
Кнопка для ВыходаПишем следующий код:application.Terminate
Пишем процедуру под формой
Дважды щёлкаем по формеПишем следующий код:procedure TfrmMain.FormCreate(Sender: TObject);begin btnClear.Clickend;
Пишем процедуру под кнопкой решить
Кнопка для РешенияСпрашивайте код у преподавателя
Создадим главное меню и контекстное меню
У каждой кнопки создайте подсказкиДля этого в свойство Hint каждой кнопки впишите подсказкуСвойство ShowHint измените на TrueСоздайте форму «О программе»Сделайте вашу программу неповторимой