это быстро и бесплатно
Оформите заказ сейчас и получите скидку 100 руб.!
Ознакомительный фрагмент работы:
Міністерство освіти та науки України
Житомирський державний технологічний університет
Кафедра ПЗОТ
Група ПІ-40
Лабораторна робота №3
Рефакторинг. Виключення дублювання коду.
Розробка бібліотек класів та знайомство з багатопроектними рішеннями
Житомир-2011г.
ТЕХНІЧНЕ ЗАВДАННЯ
Розробити дві програми для розв’язання квадратних рівнянь (, де ) з різними інтерфейсами користувача (текстовим та графічним).
1. Виключити дублювання коду програм, шляхом оформлення алгоритму розв’язання квадратного рівняння у вигляді класу та винесення його в окрему бібліотеку.
2. Клас розв’язання квадратного рівняння спроектувати таким чином, щоб його можна було використовувати у програмах з будь-яким інтерфейсом користувача.
Опис розробленої програми
Виконавши дану лабораторну роботу, я уникнув дублювання коду програми, шляхом опису алгоритму розв’язання квадратного рівняння у класі Class1.cs та винесенням його у окрему бібліотеку mylab. Була створена можливість використовувати клас розв’язання квадратного рівняння у програмах з будь-яким інтерфейсом користувача, а саме: «консольний» та «форма».
квадратний рівняння текстовий графічний інтерфейс
Код програми
//Клас, винесений в окрему бібліотеку mylab;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace mylab
{
public class SqrEquation
{
private double a;
private double b;
private double c;
private double D;
public double x1;
public double x2;
public void MathDiscriminant()
{
D = b * b - 4 * a * c;
}
public void MathX1()
{
x1 = (-b + Math.Sqrt(D)) / (2 * a);
}
public void MathX2()
{
x2 = (-b - Math.Sqrt(D)) / (2 * a); ;
}
public SqrEquation(double a, double b, double c)
{
this.a = a;
this.b = b;
this.c = c;
if (a == 0)
throw new Exception("Це не квадратне рівняння!");
this.MathDiscriminant();
this.MathX1();
this.MathX2();
}
}
}
Інтерфейс форми
using System;
using System.Windows.Forms;
using mylab;
namespace lab3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
SqrEquation equ = new SqrEquation(Convert.ToDouble(tbA.Text), Convert.ToDouble(tbB.Text),
Convert.ToDouble(tbC.Text));
tbX1.Text = Convert.ToString(equ.x1);
tbX2.Text = Convert.ToString(equ.x2);
}
private void textBox5_TextChanged(object sender, EventArgs e)
{
}
}
}
Консольний інтерфейс користувача
using System;
using mylab;
namespace lab2
{
class Program
{
static void Main()
{
SqrEquation equ = new SqrEquation
(Convert.Int32(System.Console.ReadLine()),
Convert.ToInt32(System.Console.ReadLine()),
Convert.ToInt32(System.Console.ReadLine()));
Console.WriteLine("x1={0}; x2={1}", equ.x1, equ.x2);
System.Console.Read();
}
}
}
Висновок
В ході лабораторної роботи мною було розроблено 2 програми для розв’язання квадратних рівнянь з текстовим та графічним інтерфейсами користувача без дублювання їх коду.
Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников
Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.
Цены ниже, чем в агентствах и у конкурентов
Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит
Бесплатные доработки и консультации
Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки
Гарантируем возврат
Если работа вас не устроит – мы вернем 100% суммы заказа
Техподдержка 7 дней в неделю
Наши менеджеры всегда на связи и оперативно решат любую проблему
Строгий отбор экспертов
К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»
Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован
Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн
сделать презентацию Тема №25
Презентация, Медицинское обеспечение физической культуры и спорта
Срок сдачи к 15 июля
Отчет о прохождении производственной практики: технологической (проектно-технологической) практики в пао «сбербанк»
Отчет по практике, Финансы и кредит
Срок сдачи к 17 июля
Сделать отчет по практике( гостиница «Централь» г. Донецк)
Отчет по практике, Ресторанно-гостиничное дело
Срок сдачи к 16 июля
Проверить оформление готовых отчетов по практике. Государственное муниципальное управление. П-00032
Отчет по практике, Государственное муниципальное управление
Срок сдачи к 17 июля
Выполнить задание строго по практикумам и шаблонам
Бизнес-план, Проектная, менеджмент
Срок сдачи к 19 июля
Разработка технологии получения слитка массой 6 тонн сплава марки эп836вд методом вдп. кристаллизатор 800
Реферат, Техника и технология производства материалов
Срок сдачи к 19 июля
Социальная работа. проверить нир
Отчет по практике, 39.03.02 Социальная работа, социальная работа
Срок сдачи к 14 июля
Отчет по производственной практике в виде реферата по конкретной теме
Отчет по практике, Производственная практика на направлении Техносферная безопасность
Срок сдачи к 14 июля
Отчет по практике, 4 семестр, профилирующая практика | у. о | учебная практика, электроэнергетика и электротехника, во, бакалавриат
Отчет по практике, Электроэнергетика
Срок сдачи к 16 июля
Заполните форму и узнайте цену на индивидуальную работу!