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




Скачать 154.31 Kb.
НазваниеЦель с применением знаний и навыков в области программирования написать программу для решения квадратных неравенств и уравнений, систем уравнений и нахождения производных функций. Задачи
ТипРеферат
rykovodstvo.ru > Руководство эксплуатация > Реферат













Государственное бюджетное образовательное учреждение

Образовательный центр «Протон»

Проектная работа

Математический помощник 2

Выполнили:

Учащиеся 11 «Ж» класса

Корниенко Дмитрий Владимирович

Фролов Павел Вадимович

Беляева Ирина Владимировна

Руководители:

Беляева Марина Юрьевна

(учитель информатики)
Крапивина Светлана Владимировна (учитель математики)

г. Москва

2017 г.

Содержание

Содержание………………………………………………………………..2

Введение……………………………………………………………………3

Средства достижения цели………………………………………………4

Инструменты создания…………………………………………………..6

Практическая часть проекта……………………………………………8

Заключение……………………………………………………………….19

Источники информации………………………………………………..20

Приложение………………………………………………………………21

Введение

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

Наш проект «Математический помощник 2» (далее МП2), представляет собой программу, которая вычисляет квадратные неравенства, уравнения, системы уравнений, находит производные функций, которые помогут в вычислениях и обработке данных для получения точного и подробного ответа.

Актуальность работы

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

Объект изучения

Программирование.

Предмет изучения

Информатика и алгебра.

Цель

С применением знаний и навыков в области программирования написать программу для решения квадратных неравенств и уравнений, систем уравнений и нахождения производных функций.

Задачи

  1. Составить план действий реализации идеи.

  2. Разработать общий алгоритм.

  3. Составить блок схемы.

  4. Создать эскизы внешнего вида программы.

  5. Разработать функциональную часть.

  6. Разработать интерфейс.

  7. Тестирование, выявление критических ошибок и других недостатков для последующего устранения.

Средства достижения цели

  1. Знания и навыки в области программирования.

  2. Наличие компьютерной техники.

  3. Среда разработки Visual Studio.

  4. Учебная литература по С#.

Обоснование подбора среды разработки

1. Инструменты

Главная причина изучения C# кроется в огромном количестве инструментов, которые поддерживает этот язык. Visual Studio является одной из самых многофункциональных и мощных сред разработки на рынке. Framework.Net предоставляет сотни библиотек для создания веб-приложений, обеспечения безопасности, работы с файловыми системами и т.д.

2. Популярность

C# — один из самых популярных языков программирования. Это важно для разработчиков, поскольку популярность языка прямо пропорциональна тому, насколько для него будут доступны справочные и другие материалы, нужные для новичка в данной сфере. Это сэкономит огромное количество времени новичкам при решении различных задач в разработке.

3. Гибкость

Гибкость языка C# является огромным преимуществом. Разнообразие приложений, которые могут быть разработаны с помощью С#, Framework.Net и Visual Studio практически безгранично:

  • приложения для Windows;

  • мобильные приложения;

  • веб-приложения;

  • игры;

  • приложения для Android и iOS, которые разрабатываются с помощью дополнительных Framework.


Конечно, все эти вещи возможно выполнять и с помощью других языков программирования, но обычно, в таких случаях, используются сторонние инструменты других разработчиков. Программисты, которые работают с C# имеют огромный набор инструментов, поддерживаемых Microsoft для разработки любого типа приложения.



Инструменты создания МП2

Элемент

ОПИСАНИЕ

Form

Основной элемент, основа программы ,на ктором размещают другие элементы.

PictureBox

Элемент позволяющий отобразить файлы в формате bmp, jpg, gif, а также метафайлы изображений и иконки.

Button

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

Textbox

Элемент предназначеный для ввода и редактирования текста в поле

Usercontrol

Панель управления

Panel

Элементы Panel являются компонентами, которые управляют отрисовкой элементов — их размер и измерения, их положение и расположение их дочернего содержимого.

Circle

Progress

bar

представляет индикатор выполнения какого-либо процесса.

Lable

Строка

Timer

Предоставляет механизм для выполнения метода в поле потоков с заданными интервалами. (таймер)

Работа над созданием интерфейса

Некоторые примеры:

Сглаживание углов формы

{

IntPtr hRgn = CreateRoundRectRgn(0, 0, 320, 400, 65, 65);

SetWindowRgn(this.Handle, hRgn, true);

}



Подобные элементы (PictureBox, Button, Textbox, Panel)

Прозрачность формы

this.FormBorderStyle = FormBorderStyle.None;

this.AllowTransparency = true;

this.BackColor = Color.AliceBlue;

this.TransparencyKey = this.BackColor;



И т.д.

Практическая часть проекта

  • Проработка идеи, создание плана работы.

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

  • Создание блок схемы.

Блок схемы создавались для каждого этапа реализации проекта. Приведем пример алгоритма решения квадратного уравнения.



  • Поиск материалов для освоения языка программирования С#.

В ходе написания программы возникали вопросы о реализации той или иной функции. Например, как добавить звуковой эффект при загрузке окна пользователя. Мы самостоятельно занимались поиском информации, как в Интернете так и в книгах по программированию в С#.

  • Создание эскизов интерфейса, определение цветовой схемы и подбор иллюстраций, для воплощения в проект и других деталей.

Для позитивного восприятия интерфейса программы мы создали персонажа, который олицетворяет математического помощника.

Персонаж помощник:





И другие иллюстрации.



Экран загрузки

Цветовая схема:



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

В начале работы над проектом мы рисовали эскизы окон программы. Затем реализовывали их в программе. Выбирали наилучшие, добавляли кнопки и другие элементы. Главные задачи простота, удобство и понятность навигации были решены. На экран проекта были добавлены часы для удобства и информация о разработчиках.



Начальный эскиз



Итоговый эскиз



  • Основные этапы разработки программы

Версия 0.01



Версия 0.07



Версия 0.17(а)



Версия 0.191(с)



Финальная версия



















  • Тестирование, проверка на наличие ошибок и неточностей и устранение их.



После окончаниния разработки каждого этапа проводилось тестирование на правильность выполнения вычислений, отсутствие математических ошибок, правильность графиков функций и графических неточностей. Рекомендуемая операционная система Windows 7.

Заключение

  • Данный проект был испытан учениками, которые отметили полезность продукта в области изучения материала, проверки знаний и решения задач, поиска собственных ошибок и возможностей их устранить. Так же они отметили быстроту получения ответа, точность и подробность решений.

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

  • "Математический помощник 2" программа написанная на языке программирования С#, которая решает уравнения и неравенства, находит производные, а также выполняет другие математические операции. В результате работы выдает не только ответ, но и способ решения. Имеет свою справочную систему. Она предназначена как для учащихся, так и для учителей математики. С её помощью можно научиться решать разные математические задачи и быстро проверять уже самостоятельно решенные.

  • После участия в конкурсе мы планируем выложить программу в интернет как свободное программное обеспечение, для этого мы создали свой сайт https://89295955493dima.wixsite.com/ma-2



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

Источники информации

  1. https://itvdn.com - Видеоуроки

  2. https://docs.microsoft.com/ru-ru/dotnet/csharp - Руководство по языку C#

  3. "Язык программирования C# 5.0 и платформа .NET 4.5", Эндрю Троелсен, 6-е издание, 2012

  4. C# 6.0 in a Nutshell, 6th Edition

Приложение

Фрагмент кода решения квадратных уравнений

public void button1_Click(object sender, EventArgs e)

{

if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "")

{

Error ee = new Error();

ee.Show();

}

else

{

label7.Text = "-";

label8.Text = "-";

label9.Text = "-";

label10.Text = "-";

label11.Text = "-";

label12.Text = "-";

double a = Convert.ToDouble(textBox1.Text);

double b = Convert.ToDouble(textBox2.Text);

double c = Convert.ToDouble(textBox3.Text);

double d = 0;

double d1 = 0;

double d2 = 0;

double d3 = 0;

//text1

label7.Text = textBox1.Text + "(x^2) ";

if (b >= 0)

{

label7.Text += "+ ";

}

label7.Text += textBox2.Text + "x";

if (c >= 0)

{

label7.Text += " +";

}

label7.Text += " " + textBox3.Text + " = 0";

//дискриминант

d = (b * b) - (4 * a * c);

//text2

label8.Text = "";

label8.Text = "D = ((" + Convert.ToString(b) + ")^2) - 4 * " + Convert.ToString(a) + " * " + Convert.ToString(c) + " = " + Convert.ToString(d);

//Вывод

if (d > 0)

{

//функции для целочисленого выведения из корня √()

c = Math.Sqrt(d);

d1 = c;

d1 = Math.Truncate(d1);

d1 = c - d1;

//выносится из под корня

if (d1 == 0)

{

d1 = 0;

d3 = (-b + c) / (2 * a);

d1 = d3;

d1 = Math.Truncate(d1);

d1 = d3 - d1;

if (d1 == 0)

{

//х1

d2 = (-b + c) / (2 * a);

label9.Text = "";

label9.Text = "x1 = ((-(" + Convert.ToString(b) + ")) + " + Convert.ToString(c) + ") / ( 2 * " + Convert.ToString(a) + " ) = " + Convert.ToString(d2);

label11.Text = "х1 = " + Convert.ToString(d2);

}

else if (d != 0)

{

//х1

label9.Text = "";

d1 = a * 2;

d2 = -b + c;

label9.Text = "x1 = ((-(" + Convert.ToString(b) + ")) + " + Convert.ToString(c) + ") / ( 2 * " + Convert.ToString(a) + " ) = ";

label9.Text += Convert.ToString(d2) + " / " + Convert.ToString(d1);

label11.Text = "x1 = " + Convert.ToString(d2) + " / " + Convert.ToString(d1);

}

d1 = 0;

d3 = (-b - c) / (2 * a);

d1 = d3;

d1 = Math.Truncate(d1);

d1 = d3 - d1;

if (d1 == 0)

{

//х2

d2 = (-b - c) / (2 * a);

label10.Text = "";

label10.Text = "x2 = ((-(" + Convert.ToString(b) + ")) - " + Convert.ToString(c) + ") / ( 2 * " + Convert.ToString(a) + " ) = " + Convert.ToString(d2);

label12.Text = "х2 = " + Convert.ToString(d2);

}

else

{

//х2

label10.Text = "";

d1 = a * 2;

d2 = -b - c;

label10.Text = "x2 = ((-(" + Convert.ToString(b) + ")) - " + Convert.ToString(c) + ") / ( 2 * " + Convert.ToString(a) + " ) = ";

label10.Text += Convert.ToString(d2) + " / " + Convert.ToString(d1);

label12.Text = "x2 = " + Convert.ToString(d2) + " / " + Convert.ToString(d1);

}

}

else

{

label9.Text = "x1 = ((-(" + Convert.ToString(b) + ")) + √(" + Convert.ToString(d) + ")) / ( 2 * " + Convert.ToString(a) + " ) = ";

c = 0;

c = 2 * a;

label9.Text = "x1 = ((-(" + Convert.ToString(b) + ")) + √(" + Convert.ToString(d) + ")) / ( " + Convert.ToString(c) + " )";

label11.Text = "x1 = ((-(" + Convert.ToString(b) + ")) + √(" + Convert.ToString(d) + ")) / ( " + Convert.ToString(c) + " )";

label10.Text = "x2 = ((-(" + Convert.ToString(b) + ")) - √(" + Convert.ToString(d) + ")) / ( 2 * " + Convert.ToString(a) + " ) = ";

c = 0;

c = 2 * a;

label10.Text = "x2 = ((-(" + Convert.ToString(b) + ")) - √(" + Convert.ToString(d) + ")) / ( " + Convert.ToString(c) + " )";

label12.Text = "x2 = ((-(" + Convert.ToString(b) + ")) - √(" + Convert.ToString(d) + ")) / ( " + Convert.ToString(c) + " )";

}

}

else if (d == 0)

{

c = -b / (a * 2);

d1 = c;

d1 = Math.Truncate(d1);

d1 = c - d1;

if (d1 == 0)

{

label9.Text = "";

label9.Text = "x = -" + Convert.ToString(b) + " / ( 2 * " + Convert.ToString(a) + " ) = " + Convert.ToString(c);

label11.Text = "х = " + Convert.ToString(c);

}

else

{

d1 = a * 2;

label9.Text = "x = " + Convert.ToString(b) + " / ( 2 * " + Convert.ToString(a) + " ) = ";

label9.Text += Convert.ToString(b) + " / " + Convert.ToString(d1);

label11.Text = "x = " + Convert.ToString(b) + " / " + Convert.ToString(d1);

}

}

else

{

label9.Text = "нет корней";

label11.Text = label9.Text;

}

}

}

Ограничения ввода

private void textBox4_KeyPress(object sender, KeyPressEventArgs e)

{

char number = e.KeyChar;

if ((e.KeyChar <= 59 || e.KeyChar >= 63) & (e.KeyChar <= 7 || e.KeyChar >= 9))

{

e.Handled = true;

}

}

Фрагмент кода калькулятора

private void button16_Click(object sender, EventArgs e)

{

if (OldCifer != "" && textBox1.Text != "")

{

if (done == 1)

{

textBox1.Text = Convert.ToString(Convert.ToDouble(OldCifer) + Convert.ToDouble(textBox1.Text));

textBox2.Text = "";

done = 0;

}

else if (done == 2)

{

textBox1.Text = Convert.ToString(Convert.ToDouble(OldCifer) - Convert.ToDouble(textBox1.Text));

textBox2.Text = "";

done = 0;

}

else if (done == 3)

{

textBox1.Text = Convert.ToString(Convert.ToDouble(OldCifer) / Convert.ToDouble(textBox1.Text));

textBox2.Text = "";

done = 0;

}

else if (done == 4)

{

textBox1.Text = Convert.ToString(Convert.ToDouble(OldCifer) * Convert.ToDouble(textBox1.Text));

textBox2.Text = "";

done = 0;

}

else

{

textBox2.Text = "";

}

}

else if (done == 0)

{

if (textBox1.Text == "")

{

MessageBox.Show("Введите данные");

}

else

{

textBox1.Text = textBox1.Text;

}

}

}

private void button8_Click(object sender, EventArgs e)

{

done = 2;

OldCifer = textBox1.Text;

textBox2.Text = textBox1.Text + "-";

textBox1.Text = "";

}

private void button6_Click(object sender, EventArgs e)

{

done = 3;

OldCifer = textBox1.Text;

textBox2.Text = textBox1.Text + " /";

textBox1.Text = "";

}

private void button4_Click(object sender, EventArgs e)

{

done = 4;

OldCifer = textBox1.Text;

textBox2.Text = textBox1.Text + " *";

textBox1.Text = "";

}

private void button15_Click(object sender, EventArgs e)

{

done = 0;

OldCifer = "";

textBox1.Text = "";

textBox2.Text = "";

}













Похожие:

Цель с применением знаний и навыков в области программирования написать программу для решения квадратных неравенств и уравнений, систем уравнений и нахождения производных функций. Задачи iconМир транспорта и технологических машин 2011 эксплуатация, ремонт, восстановление
Получена система обыкновенных дифференциальных уравнений, которая при помощи аппарата производящих функций сведена к линейному уравнению...

Цель с применением знаний и навыков в области программирования написать программу для решения квадратных неравенств и уравнений, систем уравнений и нахождения производных функций. Задачи iconМодели неустойчивого исторического развития
Основные понятия математической теории хаоса формулируются на с помощью т н дифференциальных уравнений. Что это такое и как лучше...

Цель с применением знаний и навыков в области программирования написать программу для решения квадратных неравенств и уравнений, систем уравнений и нахождения производных функций. Задачи icon"Решение уравнений" с применением технологии ркмчп 59
Международная педагогическая дистанционная конференция «Педагогика и образование», сборник статей, часть 4

Цель с применением знаний и навыков в области программирования написать программу для решения квадратных неравенств и уравнений, систем уравнений и нахождения производных функций. Задачи iconПрограмма основана на системе дифференциальных уравнений в частных...
Взаимодействие с программой возможно стандартным способом – через графический интерфейс пользователя (gui), либо программированием...

Цель с применением знаний и навыков в области программирования написать программу для решения квадратных неравенств и уравнений, систем уравнений и нахождения производных функций. Задачи iconОбучающая программа по дисциплине Организация ЭВМ и систем содержание
В авм для решения такого рода уравнений обычно используются электрические процессы, которые описываются (моделируются) такого же...

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

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

Цель с применением знаний и навыков в области программирования написать программу для решения квадратных неравенств и уравнений, систем уравнений и нахождения производных функций. Задачи iconНазвание программы Аннотация на программу Перечень методических приложений к программе
Формирование знаний, умений и начальных навыков в использовании некоторых видов военной и морской техники. Активизация полученных...

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

Цель с применением знаний и навыков в области программирования написать программу для решения квадратных неравенств и уравнений, систем уравнений и нахождения производных функций. Задачи iconОтчёт по производственной практике
Цель производственной практики – закрепление теоретических знаний по техническому обслуживанию и ремонту автомобилей и приобретения...

Цель с применением знаний и навыков в области программирования написать программу для решения квадратных неравенств и уравнений, систем уравнений и нахождения производных функций. Задачи iconПрограмма итогового экзамена
Цели и задачи итоговой государственной аттестации выпускника вуза-установление степени профессиональной подготовки выпускника по...

Цель с применением знаний и навыков в области программирования написать программу для решения квадратных неравенств и уравнений, систем уравнений и нахождения производных функций. Задачи iconРабочая программа по Блочному программированию позволяет изучать...
В связи с этим возникает необходимость более раннего освоения навыков программирования и развития логического мышления. Наиболее...

Цель с применением знаний и навыков в области программирования написать программу для решения квадратных неравенств и уравнений, систем уравнений и нахождения производных функций. Задачи iconЛабораторная работа №4 по дисциплине «Системы ввода/вывода и периферийные устройства»
Разработать и написать драйвер клавиатуры для учебно-лабораторного стенда sdk написать тестовую программу для разработанного драйвера,...

Цель с применением знаний и навыков в области программирования написать программу для решения квадратных неравенств и уравнений, систем уравнений и нахождения производных функций. Задачи iconОтчёт по второй технологической практике
Цель второй технологической практики – закрепление теоретических знаний по техническому обслуживанию и ремонту автомобилей и приобретения...

Цель с применением знаний и навыков в области программирования написать программу для решения квадратных неравенств и уравнений, систем уравнений и нахождения производных функций. Задачи iconОтчёт по второй технологической практике
Цель второй технологической практики – закрепление теоретических знаний по техническому обслуживанию и ремонту автомобилей и приобретения...

Цель с применением знаний и навыков в области программирования написать программу для решения квадратных неравенств и уравнений, систем уравнений и нахождения производных функций. Задачи icon2. Цели и задачи учебной практики
Цель учебной практики – обеспечение возможности применения и закрепление полученных в течение учебного года навыков, знаний и умений...


Руководство, инструкция по применению






При копировании материала укажите ссылку © 2018
контакты
rykovodstvo.ru
Поиск