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

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
ЖИТОМИРСЬКИЙ ВІЙСЬКОВИЙ ІНСТИТУ ім. С.П. КОРОЛЬОВА
НАЦІОНАЛЬНОГО АВІАЦІЙНОГО УНІВЕРСИТЕТУ
Кафедра № 9
з лабораторної роботи № 6
з навчальної дисципліни ТЕХНОЛОГІЇ ПРОГРАМУВАННЯ
МОДУЛЬ 6. Обєктно-орієнтоване програмування в С#
ТЕМА. Розробка програми на базі класів та обєктів
Виконав студент 301 групи Шевчук А.В.
Перевірив ст.викл.каф.№9 Томашевський В.В.
Мета: надати студентам практичних навичок в основах технології НЕТ програмування, ознайомитися з основами синтаксису мови Сі шарп, способами створення класів та обєктів, їх конструкцією, основними компонентами, способами використання. Дослідити процес створення програмного забезпечення на основі обєктно-орієнтоване підходу програмування.
Завдання на лабораторну роботу
Розробка програми на базі класів та обєктів кожний клас, що розробляється, повинен, як правило, містити наступні елементи: приховані поля, конструктори з параметрами і без параметрів, методи; властивості, індексатори; переобтяження операцій. Функціональні елементи класу повинні забезпечувати несуперечливий, повний, мінімальний і зручний інтерфейс класу. Виключення наявними бути повинні.
Варіант 8
Написати клас, що реалізовує тип даних «матриця дійсних чисел» і роботу з ними.
Клас повинен реалізовувати наступні операції над матрицями:
Написати ПО, що демонструє всі розробленні елементи класу.
Текст програми
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class matrix
{
public int aaaaaaaa=0, bbbbbbbbb=0;
int [,] now ;int[,] m; bool s = true;
public matrix ()
{
Console.Write("Vvedite razmernost masiva\n");
Console.WriteLine("Vvedite kol riadkov");
aaaaaaaa = int.Parse(Console.ReadLine());
Console.WriteLine("Vvedite kol stolbcov");
bbbbbbbbb = int.Parse(Console.ReadLine());
m = new int[aaaaaaaa,bbbbbbbbb];
}
public void zap(){
for (int i = 0; i < aaaaaaaa; i++)
for (int j = 0; j < bbbbbbbbb; j++) m[i, j] = Convert.ToInt32(Console.ReadLine());
}
public void vuv(){
for (int i = 0; i < aaaaaaaa; i++){Console.WriteLine ("\n");
for (int j = 0; j < bbbbbbbbb; j++) Console.Write("\t"+m[i,j]);
}}
public static matrix operator +(matrix a, matrix b)
{
for (int i = 0; i < a.aaaaaaaa; i++)
for (int j = 0; j < a.bbbbbbbbb; j++)
a.m[i, j] += b.m[i, j];
return a; }
public static matrix operator +(matrix m, int b)
{
for (int i = 0; i <m.aaaaaaaa; i++)
for (int j = 0; j < m.bbbbbbbbb; j++)
m.m[i, j] += b; return m;
}
public static matrix operator -(matrix a, matrix b)
{
for (int i = 0; i < a.aaaaaaaa; i++)
for (int j = 0; j < a.bbbbbbbbb; j++)
a.m[i, j] += b.m[i, j];
return a;
}
public static matrix operator -(matrix m, int b)
{
for (int i = 0; i < m.aaaaaaaa; i++)
for (int j = 0; j < m.bbbbbbbbb; j++)
m.m[i, j] -= b; return m;
}
public void srav(matrix b)
{
for (int i = 0; i < aaaaaaaa; i++)
for (int j = 0; j <bbbbbbbbb; j++)
{
if (m[i, j] != b.m[i, j]) s = false;
break;
}
Console.WriteLine("\nEsli vuvoditsa 'false' to matrici ne ravni\nEsli vivoditsa 'true' to matrici ravni\n\n\n " + s.ToString());
}
public void trans()
{
now = new int[bbbbbbbbb,aaaaaaaa];
for (int i = 0; i < aaaaaaaa; i++)
for (int j = 0; j < bbbbbbbbb; j++) now[i, j] = m[j, i];
for (int i = 0; i < aaaaaaaa; i++)
{
Console.WriteLine("\n");
for (int j = 0; j < bbbbbbbbb; j++) Console.Write("\t" + now[i, j]);
}
}
public int[] this[int i,int j]
{
get
{
if (i < 0 && j < 0 || i>aaaaaaaa&& j>bbbbbbbbb) throw new Exception("Введіть коректний індекс");
else
{
int[]mas={m[i,j]};
return mas;
}
}
set
{
if (i < 0 && j < 0 || i > aaaaaaaa && j > bbbbbbbbb) throw new Exception("Введіть коректний індекс");
else
{ int[] mas = value;
}
}
}
}
}
class Program
{
static void Main(string[] args)
{
matrix m = new matrix();
matrix n = new matrix();
m.zap();
Console.WriteLine();
n.zap();
Console.WriteLine("\nVvedena matrica");
m.vuv();
Console.WriteLine("\nVvedena matrica");
n.vuv();
Console.WriteLine();
m.srav(n);
Console.WriteLine();
m += n;
Console.WriteLine("\nMatrica posle dobavlenia drugoi matrici");
m.vuv();
Console.WriteLine();
m += 5;
Console.WriteLine("\nMatrica posle dobavlenia chisla");
m.vuv();
Console.WriteLine();
Console.WriteLine("\nMatrica posle transponovki");
m.trans();
Console.WriteLine("\nВведите номера желаемого ;) елемента :");
int ol, lo;
ol = Convert.ToInt32 (Console.ReadLine());
lo = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("element=" + m[ol, lo][0]);
Console.ReadLine();
}
}
Ескіз роботи
Висновок
Було розроблено програма, яка включає в себе клас для роботи з одновимірними масивами (див. умову). В ході написання було отримано розуміння структури класу та його складових. Поставлене завдання було виконано.