Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа разработка класса матрица.docx
Скачиваний:
68
Добавлен:
19.05.2015
Размер:
64.58 Кб
Скачать

2.4 Постановка задачи

Задача заключается в создании динамического класса для работы с матрицами.

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

Интерфейс.

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

3. Разработка алгоритма

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

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

Алгоритм работы программы заключается в следующем:

1) Ввод размерности матрицы m1a и значений её элементов

2) Ввод размерности матрицы m2a и значений её элементов

3) Складываем матрицы (m1a+m2a)

4)Вычитаем матрицы (m1a-m2a)

5)Умножаем матрицы (m1a*m2a)

4. Реализация проекта

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

Свою программу я буду писать в среде Microsoft Visual Studio Express 2013.

Microsoft Visual Studio – это новая разработка компании Microsoft, позволяющая создавать приложения, работающие на платформе .net. Особенность этой платформы заключается в широком наборе сервисов, которые доступны в различных языках программирования. При этом сервисы реализуются в виде промежуточного кода, который не зависит от базовой архитектуры. Едва ли не главной целью создания такой платформы было оснащение разработчиков специальными сервисно-ориентированными приложениями, которые могли бы работать на любой платформе, начиная от персонального компьютера и заканчивая мобильным устройством. Microsoft Visual Studio объединяет в себе огромное количество функций, позволяющих осуществлять разработки для Windows всех версий, в том числе и 8, Интернета, SharePoint, различных мобильных устройств и облачных технологий. В Visual Studio реализуется новая среда разработчика, благодаря которой создавать приложения стало проще. Microsoft Visual Studio - это обновленная и упрощенная программная среда, для которой характерна высокая производительность, причем она не зависит от особенностей оборудования. Каждая новая версия программы состоит из новейших инструментов и технологий, позволяющих разрабатывать приложения с учетом особенностей и положительных моментов современных платформ. Например, Visual Studio 2012 может поддерживать более ранние версии, в том числе Windows XP и Windows Server 2003. При этом разработчикам открыта дорога к созданию новых и модернизации уже существующих приложений, предназначенных для ранних версий ОС Windows. Стоит отметить, что в процессе использования поддерживаемых системой вариантов исходные файлы, проекты и решения в программе Visual Studio будут работоспособными, но исходный код может нуждаться в изменениях. Visual Studio Ultimate 2012 представляет собой передовую программу, которая дает возможность любым по размеру командам осуществлять проектирование и создание привлекательных приложений. Благодаря инструментам гибкого планирования можно внедрять методы последовательной разработки и применяться гибкие методологии в темпе, удобном для пользователя. С помощью расширенных средств моделирования, обнаружения и проектирования можно максимально полно описать систему, которая позволит наиболее удачно реализовать конкретную концепцию архитектуры.

C# (произносится си шарп) — объектно-ориентированныйязык программирования. Разработан в1998—2001 годахгруппой инженеров под руководствомАндерса Хейлсбергав компанииMicrosoftкак язык разработки приложений для платформыMicrosoft .NET Frameworkи впоследствии был стандартизирован какECMA-334 иISO/IEC23270.

C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок кC++иJava. Язык имеетстатическую типизацию, поддерживаетполиморфизм,перегрузку операторов(в том числе операторов явного и неявного приведения типа),делегаты, атрибуты,события,свойства,обобщённыетипы и методы,итераторы,анонимные функциис поддержкойзамыканий,LINQ,исключения,комментариив форматеXML

Название «Си шарп» (от англ. sharp - диез) происходит от музыкальной нотации, где знакдиез, прибавляемый к основному обозначениюноты, означает повышение соответствующего этой нотезвуканаполутон, что аналогично названию языкаC++, где «++» обозначаетинкрементпеременной.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

int N = 5;

Random r = new Random();

int[,] A = new int[5, 5];

int iNumbersCount = 100;

int[] aNumbers = new int[iNumbersCount];

for (int i = 0; i < aNumbers.Length; i++)

aNumbers[i] = i;

for (int i = 0; i < 5; i++)

{

for (int j = 0; j < 5; j++)

{

int iIndex = r.Next(iNumbersCount);

A[i, j] = aNumbers[iIndex];

aNumbers[iIndex] = aNumbers[iNumbersCount - 1];

iNumbersCount--;

Console.Write(" \t " + A[i, j]);

}

}

Console.WriteLine();

int iMax = 1; int jMax = 1;

// проход по главной диагонали

for (int i = 0; i < N; i++)

{

if (A[i, i] > A[iMax, jMax])

{

iMax = i; jMax = i;

}

}

// проход по побочной диагонали

for (int i = 0; i < N; i++)

{

if (A[i, N - 1 - i] > A[iMax, jMax])

{

iMax = i; jMax = N - 1 - i;

}

Console.ReadKey();

}

}

}

}