Пояснительная записка к курсовой работе по дисциплине: «Операционные среды»




Скачать 247.53 Kb.
НазваниеПояснительная записка к курсовой работе по дисциплине: «Операционные среды»
Дата публикации16.06.2013
Размер247.53 Kb.
ТипПояснительная записка
www.vbibl.ru > Право > Пояснительная записка
Федеральное агентство по образованию

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

Высшего профессионального образования

Тульский государственный университет

Кафедра электронных вычислительных машин


Технологии проектирования программного обеспечения для ОС Windows

(Windows Form, ASP.NET, Web-сервисы XML)



ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе по дисциплине: «Операционные среды»



Выполнил:

студент гр. 250261 Косухин К.Ю.

Обозначение КП:

К2.005.031.ПЗ

Руководитель работы:

Новиков А.С.

Работа защищена:

_____________оценка_______________

Члены комиссии:

__________________________________




__________________________________




__________________________________


Оглавление


Введение 3

Общая постановка задачи и пути ее решения 4

Решение в общем виде 5

Назначение отдельных модулей и их взаимодействие 7

Контрольные примеры 8

Заключение 10

Библиографический список 11

Приложение 12



Введение


Курсовая работа по дисциплине «Операционные среды» выполняется:

  • для изучения принципов организации и технологий взаимодействия подсистем программного обеспечения в ОС Windows, для ознакомления с инструментальной системой и технологией создания и отладки процедурных и объектно-ориентированных программ на языках С, С++ и С# в интегрированной среде разработки приложений (integrated development environment, IDE) Microsoft (MS) Visual Studio.NET;

  • для ознакомления с технологией создания настольных приложений Windows Form в среде разработки MS Visual Studio.NET;

  • для изучения иерархии и функциональности классов, формирующих типы Web-страниц и элементов управления HTML и Web и получение практических навыков их создания и использования;

  • для ознакомления с технологией и основными стандартами Web-сервисов XML и получения практических навыков создания и тестирования Web-сервисов.
^

Общая постановка задачи и пути ее решения


Следует разработать и отладить программное обеспечение для нахождения произведения двух комплексных чисел:

  • консольное Win32 приложение;

  • приложение Windows Form с оконным интерфейсом;

  • ASP.NET приложение (Web страницу) с элементами управления HTML или Web;

  • Web-сервис и приложение для его тестирования.
^

Решение в общем виде


Комплексные числа — расширение множества вещественных чисел. Любое комплексное число может быть представлено как формальная сумма , где a и b — вещественные числа, i — мнимая единица.

Умножение комплексных чисел можно производить по формуле



На языке C# это будет выглядеть следующим образом:

  1. Объявим структуру для комплексногоо числа

struct Complex

{

public double a;

public double b;
public Complex(double aValue, double bValue) {

a = aValue;

b = bValue;

}

}




  1. Сама функция умножения

static Complex Multiply(Complex left, Complex right)

{

return new Complex(

left.a * right.a - left.b * right.b,

left.b * right.a + left.a * right.b);

}


^

Назначение отдельных модулей и их взаимодействие


В консольном Win32 приложении просим пользователя ввести первое комплексное число (заносим его в структуру), второе комплексное число (и его запоминаем в объект структуры) и умножаем их указанной вышей функцией Multiply.

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

В ASP.NET приложении так же разместили 4 поля для ввода значений. При редактировании поля, результат заново пересчитывается.

В Web-сервисе мы имеем ту же функцию умножения комплексных чисел. Но для того, чтобы это работало, как web-сервис, пришлось метод Multiply сделать не статическим, а структуру Complex сделать классом. Клиентское приложение для тестирование – это Windows Forms приложение, которое пересчитывает результат не при каждом редактировании, а только при нажатии на кнопку. На время выполнения асинхронной операции, интерфейс блокируется.
^

Контрольные примеры


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

В результате работы программ, должны получить


Проверим, как это сработает в консольном приложении:


Проверим, какой результат в Windows Forms приложении:



Сайт с умножением комплексных чисел:


Клиент web-сервиса отображает результат следующим образом:

Выполнение операции



Результат операции




Все варианты исполнения задания работают правильно.

Заключение


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

Функционал умножения комплексных чисел является универсальным и может быть использован в консольном приложении, в Windows Forms приложении, ASP.NET Web-приложении и в клиент-серверной архитектуре.
^

Библиографический список


  1. Вилле К. Представляем C#. - М.: ДМК - Пресс, 2001. - 192 с.

  2. Троелсен Э. C# и платформа .Net. Библиотека программиста. – СПб.: Питер, 2002. – 800 с.

  3. Уоткинз Д., Хаммонд М., Эйбрамз Б. Программирование на платформе .Net. - М.: Издательский дом "Вильямс", 2003. – 368 с.

  4. Петзолд Ч. Программирование с использованием Microsoft Windows Forms. Мастер-класс / Пер. с англ. - М.: Русская редакция; СПб. : Питер, 2006. – 432 с.

Приложение


Листинг консольного приложения

// add4.cs

using System;

using System.Collections.Generic;

using System.Text;

using System.Globalization;

namespace Add4

{

struct Complex

{

public double a;

public double b;
public Complex(double aValue, double bValue) {

a = aValue;

b = bValue;

}

}

class InputOutput

{

static void Main(string[] args)

{

Complex left = ReadComplex("Введите первое комплексное число (a + bi)");

Complex right = ReadComplex("Введите второе комплексное число (a + bi)");

Complex result = Multiply(left, right);

Console.WriteLine("результат: {0} + {1}i", result.a, result.b);

Console.ReadKey();

}

static Complex ReadComplex(string caption)

{

Console.WriteLine(caption);

double a = ReadDouble("\tВведите a: ");

double b = ReadDouble("\tВведите b: ");

return new Complex(a, b);

}

static double ReadDouble(string caption)

{

Console.Write(caption);

return double.Parse(Console.ReadLine());

}

static Complex Multiply(Complex left, Complex right)

{

return new Complex(

left.a * right.a - left.b * right.b,

left.b * right.a + left.a * right.b);

}

}

}

Листинг Windows Forms приложения

using System;

using System.Collections.Generic;

using System.Windows.Forms;
namespace Lab2

{

struct Complex

{

public double a;

public double b;
public Complex(double aValue, double bValue) {

a = aValue;

b = bValue;

}

}

static class Program

{

///

/// The main entry point for the application.

///


[STAThread]

static void Main()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new Form1());

}

}

}
using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Globalization;
namespace Lab2

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

void TextBox1TextChanged(object sender, EventArgs e)

{

ValidateTextBox((TextBox)sender);

UpdateResult();

}

void ValidateTextBox(TextBox textbox)

{

double value;

TryGetvalue(textbox, out value);

}

void UpdateResult()

{

Complex left;

if(!TryGetComplexValue(aaText, abText, out left))

return;

Complex right;

if(!TryGetComplexValue(baText, bbText, out right))

return;
Complex result = Multiply(left, right);

resultLabel.Text = string.Format(

"a * b = {0} + {1}i", result.a, result.b);

}

bool TryGetComplexValue(TextBox aText, TextBox bText, out Complex value)

{

double a = 0;

double b = 0;

bool result = TryGetvalue(aText, out a)

&& TryGetvalue(bText, out b);

value = result ? new Complex(a, b) : new Complex();

return result;

}

bool TryGetvalue(TextBox textbox, out double value) {

bool result = double.TryParse(textbox.Text, out value);

textbox.BackColor = result

? SystemColors.Window

: Color.Red;

if(!result)

resultLabel.Text = "a * b = ?";

return result;

}

static Complex Multiply(Complex left, Complex right)

{

return new Complex(

left.a * right.a - left.b * right.b,

left.b * right.a + left.a * right.b);

}

}

}

Листинг ASP.NET Web-приложения

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">




<b>16 -> 10</b>









































a =+i
b =+i







Добавить документ в свой блог или на сайт

Похожие:

Пояснительная записка к курсовой работе по дисциплине: «Операционные среды» iconПояснительная записка к курсовой работе по дисциплине «Интеллектуальные подсистемы сапр»
Пояснительная записка к курсовой работе 10 страниц, 2 рисунка, 1 таблица, 3 источника

Пояснительная записка к курсовой работе по дисциплине: «Операционные среды» iconПояснительная записка к курсовой работе по дисциплине «Теория электрической связи»
Целью курсовой работы является получение навыков по вычислению параметров системы связи, анализу полученных результатов, а также...

Пояснительная записка к курсовой работе по дисциплине: «Операционные среды» iconПояснительная записка к курсовой работе по дисциплине «технологии программирования»
Государственного образовательного учреждения высшего профессионального образования Российский химико-технологический университет

Пояснительная записка к курсовой работе по дисциплине: «Операционные среды» iconПояснительная записка к курсовой работе по дисциплине «Алгоритмизация...
Сеть книжных магазинов. – Челябинск: юурГУ, ЭиП-208, 2012. – 50 с., 13 ил., 1 прил

Пояснительная записка к курсовой работе по дисциплине: «Операционные среды» iconПояснительная записка к курсовой работе по дисциплине «Автоматические...
Расчет допускаемой тормозной силы из условия безъюзного торможения подвижного состава

Пояснительная записка к курсовой работе по дисциплине: «Операционные среды» iconПояснительная записка к курсовой работе по дисциплине «Теория языков...
Представление основных операторов(описанных в разделе семантики) с помощью тетрад 34

Пояснительная записка к курсовой работе по дисциплине: «Операционные среды» icon«Портативный радиоприёмник средних волн» Пояснительная записка к...
Санкт-Петербургский Государственный Университет Аэрокосмического Приборостроения (СПб гуап)

Пояснительная записка к курсовой работе по дисциплине: «Операционные среды» iconПояснительная записка к курсовой работе по дисциплине «Теория автоматов»
Курсовая работа по теории автоматов выполняется с целью закрепления ранее полученных знаний, приобретения навыков и умений самостоятельного...

Пояснительная записка к курсовой работе по дисциплине: «Операционные среды» iconПояснительная записка курсовой работе по теме: «Кроссплатформенная...

Пояснительная записка к курсовой работе по дисциплине: «Операционные среды» iconПояснительная записка к курсовой работе по дисциплине «Теория автоматов»
Ученик может исправить полученную оценку. Завуч может добавить информацию о новом учителе или ученике, а также удалить о выбывших....

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
www.vbibl.ru
Главная страница