У вас вопросы?
У нас ответы:) SamZan.net

ТЕМА Розробка програми на базі класів та об~єктів Виконав

Работа добавлена на сайт samzan.net: 2016-03-30

Поможем написать учебную работу

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

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

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 10.4.2025

ЖИТОМИРСЬКИЙ ВІЙСЬКОВИЙ ІНСТИТУ ім. С.П. КОРОЛЬОВА

НАЦІОНАЛЬНОГО АВІАЦІЙНОГО УНІВЕРСИТЕТУ

Кафедра  №  9

ЗВІТ

з лабораторної роботи № 6

з навчальної дисципліни ТЕХНОЛОГІЇ ПРОГРАМУВАННЯ

МОДУЛЬ 6. Об’єктно-орієнтоване програмування в С#

ТЕМА. Розробка програми на базі класів та об’єктів

Виконав                                              студент 301 групи Шевчук А.В.

Перевірив                                           ст.викл.каф.№9 Томашевський В.В.

 

Мета: надати студентам практичних навичок в основах технології НЕТ програмування, ознайомитися з основами синтаксису мови Сі шарп, способами створення класів та об’єктів, їх конструкцією, основними компонентами, способами використання. Дослідити процес створення програмного забезпечення на основі об’єктно-орієнтоване підходу програмування.

Завдання на лабораторну роботу

Розробка програми на базі класів та об’єктів – кожний клас, що розробляється, повинен, як правило, містити наступні елементи: приховані поля, конструктори з параметрами і без параметрів, методи; властивості, індексатори; переобтяження операцій. Функціональні елементи класу повинні забезпечувати несуперечливий, повний, мінімальний і зручний інтерфейс класу. Виключення наявними бути повинні.

Варіант 8

Написати клас, що реалізовує тип даних «матриця дійсних чисел» і роботу з ними.

Клас повинен реалізовувати наступні операції над матрицями:

  1.  Складання, віднімання(як  з іншою матрицею так і з числом)
  2.  Операції порівняння на рівність/нерівність
  3.  Операції обчислення транспонованої матриці
  4.  Доступ до елементу по індексах

Написати ПО, що демонструє всі розробленні елементи класу.


Текст програми

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();

       }

   }


Ескіз роботи

Висновок

Було розроблено програма, яка включає в себе клас для роботи з одновимірними масивами (див. умову). В ході написання було отримано розуміння структури класу та його складових. Поставлене завдання було виконано.




1. а- расположение сцен по регистрам разномасштабность фигур соц
2. 1 Выбор метода получения заготовки Выбор методов получения исходной заготовки оказывает большое влияние н
3. Взгляд на феномен воли
4. правдиво о ремесле ведьм
5. медиальные ngebotstrtegien последовательно решающая средствами массовой информации перспектива
6. Лабораторная работа 7 7 Решение систем нелинейных уравнений Цель- изучить основные возможности приложен
7. Молекулярные основы эволюции, дифференцировки развития и старения
8. Русь в X в Правление Святослава Игоревича.html
9. Тема курсовой работы Разработка фирменного стиля свадебного салона Mrselle Фирменный стиль ~ это не только с
10. тематический анализ 1