Решение уравнений с помощью про

Программирование решения уравнений

Программирование решения уравнений. Презентация, проект и программный продукт (программа в Pascal)

Скачать:

ВложениеРазмер
programmirovanie_lineynyh_uravneniy.pptx1.54 МБ
metod_nyutona.docx69.43 КБ
programmirovanie_resheniya_uravneniy.docx911.13 КБ
Предварительный просмотр:

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

Программирование линейных уравнений Работа ученика 9б класса Ф.И.О. обучающегося: Смолькова Андрея Владимировича Руководитель проекта Ф.И.О. Борисова О.А.

Языки программирования — это формальные языки, предназначенные для записи алгоритмов, исполнителем которых будет компьютер. Записи алгоритмов на языках программирования называются программами . Язык Паскаль – универсальный язык программирования. Никлаус Вирт ( 1934 года рождения) — швейцарский учёный, специалист в области информатики, один из известнейших теоретиков в области разработки языков программирования, профессор информатики (компьютерных наук). Разработчик языка Паскаль и ряда других языков программирования.

Метод Гаусса — классический метод решения системы линейных алгебраических уравнений. Это метод последовательного исключения переменных, когда с помощью элементарных преобразований система уравнений приводится к равносильной системе треугольного вида, из которой последовательно, начиная с последних (по номеру), находятся все переменные системы. Метод Гаусса

Метод Ньютона , алгоритм Ньютона (также известный как метод касательных ) — это итерационный численный метод нахождения корня заданной функции. Дана непрерывная функция f ( x ), которая содержит единственный корень на отрезке [ a,b ], где b > a при чем определены непрерывны и сохраняют знак f `( x ) f «( x ). Точность е. Выбираем грубое приближение корня х 0 . Найдем значение функции точке х 0 и проведем касательную до пересечения с осью абсцисс, получим значение х 1 . Определим значение функции в точке х 1 , через эту точку проводим касательную и получаем точку х 2 . Повторим этот процесс n раз. Метод Ньютона

Практически перед каждым программистом рано или поздно встает задача определения корней уравнения. На сегодняшний день существует достаточно много алгоритмов решения данной задачи. Все они могут быть разделены на два этапа: отделения и уточнения корней. Первую часть легко выполнить графическим методом. Для выполнения второго этапа решения уравнения можно воспользоваться одним из многих методов уточнения корней уравнения. Заключение

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

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

Муниципальное бюджетное общеобразовательное учреждение

«Гимназия №7» г. Торжка

Программирование решения уравнений

Работа ученика 9Б класса

Смольков Андрей Владимирович

Ф.И.О. Борисова Ольга Александровна

Работа допущена к защите «_____» _______________ 2018г.

Подпись руководителя проекта _________________(__________________)

Паспорт проекта

Название проекта
Программирование решения уравнений

Руководитель проекта
Борисова Ольга Александровна

Автор проекта
Смольков Андрей Владимирович

Учебная дисциплина
Информатика

Тип проекта
Исследовательский

Цель работы
Изучить программную среду PascalABC для решения уравнений

  1. Написать программу решения:
  1. Системы линейных алгебраических уравнений методом Гаусса
  2. Нелинейных алгебраических уравнений методом Ньютона

Результат проекта (продукт)
Программа в среде программирования PascalABC

Индивидуальный план работы над проектом

Выбор руководителя и темы проекта.

Выбор типа проекта. Составление плана работы над проектом.

Работа над проектом

Анализ теоретической части.

Составление плана защиты проекта.

Отзыв руководителя. Формирование папки индивидуального проекта.

Защита индивидуального итогового проекта

Отзыв

на исследовательскую работу

учащегося 9 б класса МБОУ «Гимназия №7» г. Торжка

Смольков Андрей Владимирович

по теме: «Программирование решения уравнений»

Работа Смолькова Андрея представляет собой исследование программирование решения уравнений. Актуальность работы заключается в том, что на данный момент учащиеся 9-х классов изучают язык программирования Паскаль, и возникла необходимость объединить математику и информатику в единый программный продукт. В работе важно разобраться с различными методами решения уравнений и написать программу. Содержание работы соответствует заявленной теме. Работа включает в себя основную часть, заключение, список литературы. Работу Андрей выполнял самостоятельно, используя материалы Интернета и литературы. При выполнения работы Андрей проявил: самостоятельность, способность решать соответствующие проблемы. Не выполнял все рекомендации научного руководителя и не вовремя устранял замечания. Замечания по данной работе значительные, необходимо продумать и доработать заключение по данной теме. Не достаточно теоретического материала по языку программирования и их разновидности.

Вывод: проектная работа Смолькова А.В. по теме: «Программирование решения уравнений» достигла поставленных целей, отвечает требованиям, предъявляемым к индивидуальному итоговому проекту и рекомендуется к защите.

Учитель информатики . Борисова О.А.

(предмет) (подпись) (расшифровка подписи)

«__»_____________ 2018 г.

Общие сведения о языке программирования Паскаль

Языки программирования — это формальные языки, предназначенные для записи алгоритмов, исполнителем которых будет компьютер. Записи алгоритмов на языках программирования называются программами. Существует несколько тысяч языков программирования. Для данного проекта выбран язык программирования Паскаль, который был разработан в 70-х годах прошлого века Никлаусом Виртом (Швейцария). свое название этот язык получил в честь французского ученого Блеза Паскаля, известного не только своими достижениями в математике, физике и философии, но и созданием первой в мире механической машины, выполнявшей сложение двух чисел.

Язык Паскаль считается универсальным языком программирования, так как он может применяться для записи алгоритмов решения самых разных задач ( вычислительных, обработки текстов, построения графических изображений, поиска информации и т.д.). Он поддерживает процедурный стиль программирования, в соответствии с которым программа представляет собой последовательность операторов, задающих те или иные действия.

Основой языка программирования Паскаль, как и любого другого языка, является алфавит — набор допустимых символов, которые можно использовать для записи программы. Это:

  • латинские прописные буквы;
  • латинские строчные буквы;
  • арабские цифры;
  • специальные символы (знак подчеркивания, знаки препинания, круглые, квадратные и фигурные скобки, знаки арифметических операций и д.р.)

В языке существует также некоторое количество различных цепочек символов, рассматриваемых как единые смысловые элементы с фиксированным значением. Такие цепочки символов называются служебными словами.

В программе, записанной на языке Паскаль, можно выделить:

  1. заголовок программы;
  2. блок описания используемых данных;
  3. блок описания действий по преобразованию данных (программный блок).

Заголовок программы состоит из служебного слова program и имени программы. После имени программы ставятся точка с запятой. Блок описания данных состоит из раздела описания констант (const), раздела описания переменных (var) и некоторых других разделов. В разделе описания переменных указываются имена используемых в программе переменных и их типы. Имена переменных одного типа перечисляются через запятую, затем после двоеточия указывается их тип; описание каждого типа заканчивается точкой с запятой.

Общий вид программы:

Решение системы алгебраических уравнений методом Гаусса

Метод Гаусса — классический метод решения системы линейных алгебраических уравнений. Назван в честь немецкого математика Карла Фридриха Гаусса. Это метод последовательного исключения переменных, когда с помощью элементарных преобразований система уравнений приводится к равносильной системе треугольного вида, из которой последовательно, начиная с последних (по номеру), находятся все переменные системы.

В переменную n вводится порядок матрицы системы. С помощью вспомогательной процедуры Input вводятся двумерный массив A и одномерный массив b, после чего оба массива и переменная n передаются функции Gauss. В функции Gauss для каждого k-го шага вычислений выполняется поиск максимального элемента в k-м столбце матрицы начиная с k-й строки. Номер строки, содержащей максимальный элемент сохраняется в переменной l. В том случае если максимальный элемент находится не в k-й строке, строки с номерами k и l меняются местами. Если же все эти элементы равны нулю, то происходит прекращение выполнения функции Gauss c результатом false. После выбора строки выполняется преобразование матрицы по методу Гаусса.

Решение нелинейных уравнений

Метод Ньютона , алгоритм Ньютона (также известный как метод касательных ) — это итерационный численный метод нахождения корня заданной функции.

Дана непрерывная функция f(x), которая содержит единственный корень на отрезке [a,b], где b>a при чем определены непрерывны и сохраняют знак f`(x) f«(x). Точность е. Выбираем грубое приближение корня х 0 . Найдем значение функции точке х 0 и проведем касательную до пересечения с осью абсцисс, получим значение х 1 . Определим значение функции в точке х 1 , через эту точку проводим касательную и получаем точку х 2 . Повторим этот процесс n раз.

К сожалению, при всех своих достоинствах метод Ньютона не гарантирует сходимости. Отсутствия решения может возникнуть по нескольким причинам. Например, это может произойти из-за того, что касательная будет параллельна оси абсцисс. В этом случаи необходимо предусмотреть выход из цикла при достижении большого количества итераций.

Существуют также и другие методы, например, золотого сечения. Какой из них использовать решать вам, однако следует отметить, что наиболее быстродейственным считается метод Ньютона, затем метод хорд и последним по быстродействию является метод половинного деления. Хотя количество итераций напрямую зависит от введенных начальных данных. При удачном стечении обстоятельств решение каждым из методов может быть найдено даже при единственной итерации.

Заключение

Практически перед каждым программистом рано или поздно встает задача определения корней уравнения. На сегодняшний день существует достаточно много алгоритмов решения данной задачи. Все они могут быть разделены на два этапа: отделения и уточнения корней. Первую часть легко выполнить графическим методом. Для выполнения второго этапа решения уравнения можно воспользоваться одним из многих методов уточнения корней уравнения.

Язык программирования Паскаль является универсальным языком программирования. В нем можно выполнить самые различные решения уравнений. Язык достаточно прост и понятен для начинающих программистов.

Список литературы

  1. Босова Л.Л. Информатика: учебник для 8 класса/ Л.Л. босова, А.Ю. Босова.-3-е изд.-М.: БИНОМ. Лаборатория знаний, 2015. — 160с.:ил.
  2. http://www.cyberforum.ru
  3. http://tpdn.ru/library/articles/52/13520
  4. http://pcfu.ru/metod-gaussa-dlya-resheniya-slau

Текст публичного выступления

Здравствуйте уважаемые члены комиссии. Я Смольков Андрей, ученик 9Б класса МБОУ «Гимназии №7» города Торжка. Разрешите представить свой исследовательский проект по теме «Программирование решения уравнений». Языки программирования — это формальные языки, предназначенные для записи алгоритмов, исполнителем которых будет компьютер. Записи алгоритмов на языках программирования называются программами. Существует несколько тысяч языков программирования. Для данного проекта выбран язык программирования Паскаль, который был разработан в 70-х годах прошлого века Никлаусом Виртом (Швейцария). Свое название этот язык получил в честь французского ученого Блеза Паскаля, известного не только своими достижениями в математике, физике и философии, но и созданием первой в мире механической машины, выполнявшей сложение двух чисел. Язык Паскаль считается универсальным языком программирования, так как он может применяться для записи алгоритмов решения самых разных задач ( вычислительных, обработки текстов, построения графических изображений, поиска информации и т.д.). Он поддерживает процедурный стиль программирования, в соответствии с которым программа представляет собой последовательность операторов, задающих те или иные действия. Основой языка программирования Паскаль, как и любого другого языка, является алфавит — набор допустимых символов, которые можно использовать для записи программы. Это: латинские прописные буквы; латинские строчные буквы; арабские цифры; специальные символы (знак подчеркивания, знаки препинания, круглые, квадратные и фигурные скобки, знаки арифметических операций и д.р.). В языке существует также некоторое количество различных цепочек символов, рассматриваемых как единые смысловые элементы с фиксированным значением. Такие цепочки символов называются служебными словами. В программе, записанной на языке Паскаль, можно выделить: заголовок программы; блок описания используемых данных; блок описания действий по преобразованию данных (программный блок). Заголовок программы состоит из служебного слова program и имени программы. После имени программы ставятся точка с запятой. Блок описания данных состоит из раздела описания констант (const), раздела описания переменных (var) и некоторых других разделов. В разделе описания переменных указываются имена используемых в программе переменных и их типы. Имена переменных одного типа перечисляются через запятую, затем после двоеточия указывается их тип; описание каждого типа заканчивается точкой с запятой. Общий вид программы:

Метод Гаусса — классический метод решения системы линейных алгебраических уравнений. Назван в честь немецкого математика Карла Фридриха Гаусса. Это метод последовательного исключения переменных, когда с помощью элементарных преобразований система уравнений приводится к равносильной системе треугольного вида, из которой последовательно, начиная с последних (по номеру), находятся все переменные системы. На данных слайдах представлен программный продукт реализации решения уравнения методом Гаусса в Паскале. Метод Ньютона , алгоритм Ньютона (также известный как метод касательных ) — это итерационный численный метод нахождения корня заданной функции. Дана непрерывная функция f(x), которая содержит единственный корень на отрезке [a,b], где b>a при чем определены непрерывны и сохраняют знак f`(x) f«(x). Точность е. Выбираем грубое приближение корня х 0 . Найдем значение функции точке х 0 и проведем касательную до пересечения с осью абсцисс, получим значение х 1 . Определим значение функции в точке х 1 , через эту точку проводим касательную и получаем точку х 2 . Повторим этот процесс n раз. Программа на слайде. К сожалению, при всех своих достоинствах метод Ньютона не гарантирует сходимости. Отсутствия решения может возникнуть по нескольким причинам. Например, это может произойти из-за того, что касательная будет параллельна оси абсцисс. В этом случаи необходимо предусмотреть выход из цикла при достижении большого количества итераций. Практически перед каждым программистом рано или поздно встает задача определения корней уравнения. На сегодняшний день существует достаточно много алгоритмов решения данной задачи. Все они могут быть разделены на два этапа: отделения и уточнения корней. Первую часть легко выполнить графическим методом. Для выполнения второго этапа решения уравнения можно воспользоваться одним из многих методов уточнения корней уравнения.

Программа для решения квадратных уравнений на C++

Довольно часто в пособиях по программированию встречаются задания по нахождению решений каких-нибудь математических уравнений. Задача нахождения корней квадратного уравнения — это довольно тривиальная задача, как и многие другие задачи. Решается она очень просто при помощи листа бумаги и ручки, но решение можно автоматизировать посредством написания прикладной программы и её использования. В этой статье мы напишем такую программу.

Алгоритм решения квадратного уравнения

Многие знают, что уравнение вида ax 2 + bx + c = 0 , где a не равно 0, называют квадратным уравнением.

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

Обозначается дискриминант буквой D . Из школьного курса знаем, что D = b 2 — 4ac .

Существует несколько условий:

  • Если D > 0, то решение имеет 2 различных вещественных корня.
  • Если D = 0, то оба вещественных корня равны.
  • Если D для ввода\вывода в консоли, #include для работы с математическими функциями и область using namespace std;

Просим пользователя ввести значения переменных и сохраняем каждое значение

Проверяем условие, если дискриминант больше или равен 0, то находим корни и выводим

в противном случае выводим сообщение

На этом всё, осталось скомпилировать, запустить и проверить. Запускаем и вводим данные, чтобы D был меньше 0

В этом случае D = 3*3 — 4*2*3 = -15, а это меньше 0, значит ответ программа дала верный.

Ответы тоже верны. Программа работает правильно.

Ниже представлен весь листинг программы для нахождения корней квадратного уравнения на C++

Для вас это может быть интересно:

Программа для решения квадратных уравнений на C++ : 24 комментария

Программировать так сложно…

  1. Nicknixer Автор записи 15.10.2016

Не так сложно, как Вам кажется! Немного литературы, немного практики и смотреть на код решения такой задачи Вы будете по-другому.

Доброго времени суток! Помогите пожалуйста написать программу, которая считает сколько символов в ряде двумерного массива. То есть , например массив 5 на 5, сколько символов в 1 ряде, сколько во 2 и т.д.

Ответил вам по электронной почте

Критику принимаете? 🙂
Программа дырявая как сито.

Если число очень маленькое, но положительное, например 10^(-20) — у вас будет переполнение или типо того. Оператор > проверяет знак числа (это отдельный бит), а оператор == для дробных чисел не имеет смысла, т.к. в младших разрядах числа обычно находится какой-нибудь мусор, который при таком сравнении дает false.

x = ( -1*b + sqrt(b*b — 4*a*c) ) / (2 * a);
x = ( -1*b — sqrt(b*b — 4*a*c) ) / (2 * a);

Тут есть три вопроса:
1) зачем два раза вычислять одно и тоже (я про корень)
2) что делать если мне корни надо как-то использовать, а не просто вывести (тут есть проблема, ведь у меня то один корень — то два). Чтобы лучше понять в чем проблема — попробуйте вынести вычисление корней в отдельную функцию. У вас то вообще, если корень один — то их выведется все равно два, одинаковых.
3) в переменной «a» может быть ноль (или близкое к нулю число) — при этом мы получим деление на ноль (а точнее, переполнение).

Но это ведь еще не все. Что будет если и «a» и «b» равны нулю? — тебе надо рассмотреть два варианта — если c = 0 (условно, близко к нулю), то корней бесконечно много. А если c != 0, то корней нет.

Вообще, эта задача — прекрасный пример для юнит-тестирования и демонстрации принципов разработки через тестирование. Именно его я рассматривал в своей статье по теме тестирования: Юнит-тестирование. Пример. Boost Unit Test. Дело в том, что тут куча вариантов сделать ошибку, при этом их понимание приходит не сразу, т.е. школьник решая задачу напишет по формуле которой учили (ну и вот как у вас). А потом надо разбираться и смотреть как программа может сломаться, при этом разрабатывать тесты.

  1. Николай Сергейчук Автор записи 09.02.2017

Принимаем 🙂
Согласен с вами во всём! Программу можно реализовать намного лучше, используя различные проверки и валидацию входных данных.
Однако, статья рассчитана на аудиторию, которая только начинает познавать программирование или делает лабораторную. 🙂 Чтобы людям легче было понять, реализация данной программы упрощена до невозможности. И, возможно, несправедливо было с моей стороны не предупредить их о возможных ошибках в работе программы, которые могут вскрыться позже, если подать на вход определенные значения.
Кстати, у вас интересная статья по тестированию!

Николай, доброго времени суток! Можете помочь с написанием програмки в с++? 1-1/2!+1/3!-1/4!+1/5! и так до 1/100! ? Чтобы при заднии в строке номера члена последовательности выдавал сумму до него по такой вот формуле? Буду очень благодарен!

Пожалуйста подскажите как ввести экран правильный ответ дискриминанта

Помогите решить в Dev C++
Sqrt x^2+1+sqrt|x|,x0

Здравствуйте, можете помочь с решением биквадратного и триквадратного уравнения?

#include
using namespace std;
int main()
<
/*Решение квадратных уравнений*/
setlocale(0, «»);
cout a;
cout <> b;
cout <> c;
D = pow(b, 2) — 4 * a * c;
cout

ну и? если даже тупо скопировать код и вставить его в cpp.sh , ничего не работает. поебота какая то этот с++

Уважаемая, Лена! Я, надеюсь, вы знаете, что код программы, написанной на языке программирования C++ нельзя тупо вставить в блокнот и сохранить под названием «cpp.sh»? Если не знали, то я, видимо, открыл для вас Америку!

помогите решить. заданы 3 перемены a.b.c записать вы радение на С
< 7a/b+2a, если a=b,
Х= < -34, если a>b,
< 3a/(2b-100), если a>b и а не равно != с

iconcerts где забыл
#include

Я ради интереса написал программу нахождения корней квадратного уравнения на С++, с выводом корней как в десятичном виде, так и в виде простой дроби (причём уже сокращённой), потому что выводя корни в десятичном виде программа их одновременно сокращает и округляет и 1/3 превращается в 0.333333 хотя на самом деле 0.333333 (3), то есть для проверки правильно ли нашёл корни ваш ребёнок, вы с получите что-то типа: X1= 0.285714; X2=0.214286, а на самом деле это будет X1=2/7; X2=3/14, кроме того, если корень из дискриминанта не получается целым числом, вы уже получите двойную неточность: сначала при извлечении корня программа отсечёт значение до 4-6 цифр после запятой с округлением, а затем сделает то же самое при делении числителя на знаменатель. Я и здесь сделал вывод корней в двух значениях: в десятичном и в виде выражения X1= (-b + sqrt(D))/(2*a); X2= (-b — sqrt(D))/(2*a), то есть выводится примерно вот так X1=-5+sqrt(21)/2; X2=-5-sqrt(21)/2 с одновременным разложением дискриминанта под корнем на множители, вынесением этих множителей из-под корня, если они выносятся нацело, их перемножением и дальнейшим сокращением. Вот, например, имеем a=3, b=15, c=3, при решении получаем D=189 программа выдаёт десятичные корни X1= -0.208712 и X2= -4.79129, а в виде выражения имеем: X1= -5+sqrt(21)/2, то есть первоначально получаем: X1= -15+sqrt(189)/6, -> 189=21*9 -> -15+3sqrt(21)/6 далее идёт сокращение на 3 и итог -5+sqrt(21)/2

День добрый.
Недавно начал изучать C++. Решил попробовать написать решение квадратного уравнения именно через оператор вида «условие ? выполняется : не выполняется». Т.е. если условие выполняется, то имеем два решения (даже если d = 0, то тоже должно быть два решения x1 = x2), если d a;
std::cout <> b;
std::cout <> c;
d = pow(b, 2) — 4 * a*c;
d >= 0 ? xfst = ((-b + sqrt(d)) / double(2 * a)) , xscd = ((-b — sqrt(d)) / double(2 * a)) : std::cout

  1. Николай Сергейчук Автор записи 12.02.2020

if (d >= 0) <
xfst = ((-b + sqrt(d)) / double(2 * a));
xscd = ((-b — sqrt(d)) / double(2 * a));
std::cout

Создать программу для решения квадратного уравнения.
У меня не получаеться, но и копифейсом я не хочу заниматься.
Прошу помогите. Заранее спасибо.

Здравствуйте! Как решить эту задачу? Приведенный пример сверху не подходит .

Давайте напишем действительно полезную программу! Вы наверняка уже устали считать дискриминант для квадратных уравнений? Давайте автоматизируем этот процесс.

На вход программы подаются три целых числа — коэффициенты уравнения ax^2 + bx + c = 0ax
2
+bx+c=0

Гарантируется, что a \neq 0a

=0.

Выведите через пробел корни уравнения в порядке убывания и округленные «вниз». Если уравнение имеет корень кратности 2 — выведите одно число. Если у уравнения нет действительных корней — выведите «NO»

Для извлечения корней используйте функцию sqrt. Она содержится в библиотеке сmath ( она уже импортирована в коде ). Для округления воспользуйтесь функцией floor ( из той же библиотеки ).

1 0 -4
Sample Output 1:

2 -2
Sample Input 2:

1 2 2
Sample Output 2:

Пожалуйста подскажите как ввести экран ответ дискриминанта

Пожалуйста подскажите как ввести на екран ответь дискриминанта

Подскажите как правильно решить?
Обчислити z = (x1 + y1) / (x2 + y2), де х1, х2 — коренi рiвняння 2х^2 + x — 4 =0.
y1, y2 — коренi рiвняння ay^2 + 2y — 1 = 0. Усi коренi дiйснi.

using namespace std;

int main() <
double a = 2, b, c = -4;
int x1, x2;
double a1, b1 = 2, c1 = -1;
int y1, y2;
float z;

if((b*b — 4*a*c) >= 0 ) <
x1 = ( -1*b + sqrt(b*b — 4*a*c)) / (2 * a);
cout a1;

if((b1*b1 — 4*a1*c1) >= 0) <
y1 = ( -1*b1 + sqrt(b1*b1 — 4*a1*c1)) / (2 * a1);
cout = 0, y1 >= 0, y2 >= 0) <
z = (x1 + y1)/(x2 +y2);
cout

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Решение квадратных уравнений и неравенств с помощью ЭВМ

Подготовка к уроку:

  1. Создание слайдов презентации.
  2. Создание программы решения квадратных уравнений на языке программирования Basic (на предыдущем уроке).

План урока:

  1. Повторение формул корней квадратного уравнения и основных операторов языка Basic.
  2. Самостоятельная работа по вариантам.
  3. Решение уравнений, приводимых к квадратным заменой переменной.
  4. Решение биквадратных уравнений.
  5. Решение дробно-рациональных уравнений.
  6. Решение неравенств.
  7. Задание на дом.
  8. Подведение итогов.

Цели урока:

  • Образовательная: повторение формул корней квадратных уравнений, повторение решения уравнений и неравенств, приводимых к квадратным, повторение основных операторов языка программирования Basic составление программы для решения биквадратных уравнений.
  • Воспитательная: развитие познавательного интереса, развитие внимания, расширение кругозора учащихся.
  • Развивающая: развитие коммуникативных, информационных компетенций, развитие памяти, преодоление трудностей, умение работать в команде, повышение интереса к математике и информатике.

Ход урока

Учитель информатики: Здравствуйте, позвольте как хозяйке кабинета приветствовать Вас здесь. Урок у нас сегодня необычный: мы будем заниматься математикой, а её инструментов будет служить информатика.

Учитель математики: Целями сегодняшнего урока будут: повторение формул корней квадратного уравнения, повторение решения уравнений и неравенств, приводимых к квадратным, то есть подготовка к экзамену.

Учитель информатики: цель нашей части урока – повторить основные операторы языка программирования Basic и написание программы для решения биквадратных уравнений. Итак, начнем! (Приложение).

Учитель математики: Необходимо выйти к доске и написать общий вид квадратного уравнения. Что нужно найти, чтобы определить количество корней у уравнения? Правильно, дискриминант. Слово «Дискриминант» переводится как «различитель». Если дискриминант больше нуля, то уравнение имеет два корня, если равен нулю, то один корень, и если дискриминант меньше нуля, то уравнение не имеет корней.

Учитель информатики: А теперь давайте перечислим основные операторы языка программирования Basic: Print – вывод, Input – ввод с клавиатуры, Cls – очистка экрана, Let – оператор присвоения, If Then – оператор условия. Молодцы! А сейчас, чтобы вы ещё раз хорошенько для себя уяснили все формулы и операторы, проведем самостоятельную работу. Для этого поделимся на математиков и информатиков. Каждый выполняет свой вариант, после выполнения задания вы меняетесь листочками и проверяете друг у друга, выставляя оценки, математики проверяют у информатиков и наоборот.

На эту работу отводится 7 минут.

Самостоятельная работа для математиков:

  1. 2х 2 + 3х – 14 = 0
  2. 2х 2 – х – 3 = 0

Самостоятельная работа для информатиков:

Вставить пропущенные слова.

  1. Оператор … очищает экран.
  2. Блок действия в схеме алгоритма обозначается …
  3. Оператор … позволяет ввести данные с клавиатуры.
  4. Для того, чтобы напечатать результат работы программы на экране, нужно воспользоваться оператором …
  5. Чтобы вычислить квадратный корень на языке Basic, нужен оператор …

Учитель информатики: Итак, переходим к основной части нашего урока. Для решения квадратных уравнений необходимо знать несколько формул. А что нужно сделать для того, чтобы эти уравнения решать с помощью ЭВМ?

  • Составить алгоритм решения и написать программу.
  • Правильно! Составим алгоритм решения квадратного уравнения на доске (один ученик идет к доске, остальные работают в тетрадях).

А теперь по этому алгоритму составим программу на языке программирования Basic: (один ученик к доске, остальные работают за компьютерами).

10 Csl
20 Input a,b,c
30 D= b^2 – 4*a*c
40 If D>=0 then goto 50 else goto 90
50 X1 = (-b+sqr(D))/(2*a)
60 X2 = (-b-sqr(D))/(2*a)
70 Print «X1=»; X1
80 Print «X2=»;X2
85 GOTO 100
90 Print «корней нет»
100 End

Учитель математики: Давайте попробуем решить квадратное уравнение с помощью ЭВМ.

Вводим коэффициенты: 100, -160, 63

Получаем ответ: х1=0,9 х1 = 0,7

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

Попробуем решить уравнение методом замены переменной (приложение).

С помощью нашей программы получаем корни этого уравнения:


источники:

http://nicknixer.ru/programmirovanie/programma-dlya-resheniya-kvadratnyx-uravnenij-na-c/

http://urok.1sept.ru/articles/537770