Главная страница
Навигация по странице:

  • Результат: Задание 2.

  • Результат : Задание 4.

  • Результат: Задание 5.

  • Результат: Задание 6.

  • Результат : Задание 7.1

  • Результат: Задание 7.2

  • Горналов Н.Г.2И-у Контр.работа. сибирский государственный университет геосистем и технологий


    Скачать 135.47 Kb.
    Названиесибирский государственный университет геосистем и технологий
    Дата06.03.2022
    Размер135.47 Kb.
    Формат файлаdocx
    Имя файлаГорналов Н.Г.2И-у Контр.работа.docx
    ТипКонтрольная работа
    #384453

    Министерство науки и высшего образования Российской Федерации

    Федеральное государственное бюджетное образовательное учреждение высшего образования

    «СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ГЕОСИСТЕМ И ТЕХНОЛОГИЙ»

    (ФГБОУ ВО «СГУГиТ»)

    Институт геодезии и менеджмента

    Контрольная работа


    Преподаватель: к. т. н., доцент каф.
    Бугаков Петр Юрьевич

    Выполнил: обучающийся гр. 2 И-у Горналов Н.Г.

    Новосибирск 2022

    Задание 1.

    Напишите программу с классом, у которого есть два символьных поля и метод. Он не возвращает результат, и у него нет аргументов. При вызове метод выводит в консольное окно все символы из кодовой таблицы, которые находятся «между» символами, являющимися значениями полей объекта (из которого вызывается метод). Например, если полям объекта присвоены значения ' А' и ' D', то при вызове метода в окно программы должны выводиться все символы от ’А’ до ’D’ включительно.

    Код программы:
    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;
    namespace Zadanie1

    {

    class class1 // создаем класс

    {

    private char s1; // по условию задания создаем 2 закрытых поля

    private char s2;
    public class1(char s1, char s2) // создаем конструктор

    {

    this.s1 = s1;

    this.s2 = s2;

    }

    public void ShowSymbols() // создаем метод вывода символов

    {

    for (char s = s1; s <= s2; s++)

    Console.Write(s);

    }

    }
    class Program

    {

    static void Main(string[] args)
    {

    class1 z = new class1('s', 'z'); // создаем новый объект класса class1, в параметрах указываем диапазон символов

    z.ShowSymbols(); // вызываем метод вывода символов

    Console.ReadLine();

    }

    }

    }


    Результат:


    Задание 2.

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

    Код программы:
    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;
    namespace Zadanie2

    {

    class class1 // создаем класс

    {

    int x; // по условию задания создаем 2 целочисленных поля

    int y;
    public class1(int x, int y) // создаем конструктор с 2 передаваемыми аргументами

    {

    this.x = x;

    this.y = y;

    }

    public class1(int x) // создаем конструктор с 1 передаваемым аргументом

    {

    this.x = x;

    }

    public class1() // создаем конструктор без передаваемых аргументов

    {

    }

    }
    class Program

    {

    static void Main(string[] args)
    {

    class1 object1 = new class1(1, 2); // создаем новый объект с 2 параметрами

    class1 object1 = new class1(3); // создаем новый объект с 1 параметром

    class1 object1 = new class1(); // создаем новый объект без параметров

    }

    }

    }

    Задание 3.

    Напишите программу с классом, у которого есть символьное и целочисленное поле. В классе должны быть описаны версии конструктора с двумя аргументами (целое число и символ — определяют значения полей), а также с одним аргументом типа double. В последнем случае действительная часть аргумента определяет код символа (значение символьного поля), а дробная часть (с учетом десятых и сотых) определяет значение целочисленного поля. Например, если аргументом передается число 65.1267, то значением символьного поля будет символ ' А ’ с кодом 65, а целочисленное поле получит значение 12 (в дробной части учитываются только десятые и сотые).

    Код программы:
    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;
    namespace Zadanie3

    {

    class class1 // создаем класс

    {

    int x; // по условию задания создаем одно целочисленное поле

    char y; // и одно символьное поле
    public void ShowResult() // метод вывода результата на экран

    {

    Console.WriteLine(x);

    Console.WriteLine(y);

    }
    public class1(int x, char y) // создаем конструктор с 2 передаваемыми аргументами

    {

    this.x = x;

    this.y = y;

    }

    public class1 (double z) // создаем конструктор с 1 передаваемы аргументом типа double

    {

    y = (char)z; // переменной y присваиваем символьное значение z

    int z2 = (int)z; // вводим переменную z2 и присваиваем ей целочисленное значение переменной z

    x = (int)((z - z2) * 100); // здесь в результате вычисления переменной х присваивается значение

    } // дробной части переменной z

    }
    class Program

    {

    static void Main(string[] args)
    {

    class1 Test = new class1(67.1728); // создаем новый объект, в параметрах указываем дробное число

    Test.ShowResult();

    Console.ReadLine();

    }

    }

    }

    Результат:



    Задание 4.

    Напишите программу с классом, у которого есть закрытое целочисленное поле. Значение полю присваивается с помощью открытого метода. Методу аргументом может передаваться целое число, а также метод может вызываться без аргументов. Если метод вызывается без аргументов, то поле получает нулевое значение. Если метод вызывается с целочисленным аргументом, то это значение присваивается полю. Однако если переданное аргументом методу значение превышает 100, то полю присваивается значение 100. Предусмотрите в классе конструктор, который работает по тому же принципу, что и метод для присваивания значения полю. Также в классе должен быть метод, позволяющий проверить значение поля.

    Код программы:
    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;
    namespace Zadanie4

    {

    class class1 // создаем класс

    {

    private int x; // создаем закрытое целочисленное поле
    public void Method(int x) // создаем открытый метод, который присваивает значение полю

    { // также здесь проверяется значение х

    this.x = x;

    if (x >= 100)

    {

    this.x = 100;

    }

    if (x < 0)

    {

    this.x = 0;

    }

    }

    public void Method() // создаем открытый метод, который выводит на экран сообщение

    // если не задан параметр метода

    {

    Console.Write("Не задано число, ");

    }
    public class1(int x) // создаем конструктор, который работает по тому же

    // принципу, что и метод

    {

    this.x = x;

    if (x >= 100)

    {

    this.x = 100;

    }

    if (x < 0)

    {

    this.x = 0;

    }

    }

    public class1() // создаем конструктор, для обработки пустого значения

    {

    Console.Write("Не задано число, ");

    }

    public void ReturnX() // создаем метод, который выводит значениt на экран

    {

    Console.WriteLine($"X = {x}");

    Console.WriteLine();

    }

    }
    class Program

    {

    static void Main(string[] args)
    {

    class1 InputNumber = new class1(25); // значение 25 присваивается через конструктор

    InputNumber.ReturnX();
    class1 InputNumber2 = new class1(); // пустое значение присваивается через конструктор

    InputNumber2.ReturnX();
    InputNumber.Method(31); // значение 31 присваивается через метод

    InputNumber.ReturnX();
    InputNumber.Method(131); // значение 131 присваивается через метод

    InputNumber.ReturnX();
    InputNumber.Method(-121); // значение -121 присваивается через метод

    InputNumber.ReturnX();
    InputNumber.Method(); // пустое значение присваивается через метод

    InputNumber.ReturnX();

    }

    }

    }

    Результат:__Задание_5.'>Результат:



    Задание 5.

    Напишите программу с классом, в котором есть два закрытых целочисленных поля (назовем их mах и min). Значение поля max не может быть меньше значения поля min. Значения полям присваиваются с помощью открытого метода. Метод может вызываться с одним или двумя целочисленными аргументами. При вызове метода значения полям присваиваются так: сравниваются текущие значения полей и значения аргумента или аргументов, переданных методу. Самое большое из значений присваивается полю max, а самое маленькое из значений присваивается полю min. Предусмотрите конструктор, который работает по тому же принципу, что и метод для присваивания значений полям. В классе также должен быть метод, отображающий в консольном окне значения полей объекта.

    Код программы:

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;
    namespace Zadanie4

    {

    class class1 // создаем класс

    {

    private int max; // создаем закрытые целочисленные поля

    private int min;
    public class1(int max, int min) // создаем конструктор, который проверяет

    // 2 вводных параметра при создании объекта класса

    {

    if (max > min)

    {

    this.max = max;

    this.min = min;

    }

    else

    {

    this.max = min;

    this.min = max;

    }

    }

    public class1(int max) // создаем конструктор, который проверяет

    // 1 вводный параметр при создании объекта класса

    {

    this.max = max;

    this.min = 0;

    }
    public void Method(int max, int min) // создаем метод, который проверяет вводные параметры

    // при вызове метода. Этод метод обрабатывает два вводных параметра

    {

    if (max>min)

    {

    this.max = max;

    this.min = min;

    }

    else

    {

    this.max = min;

    this.min = max;

    }

    }

    public void Method(int max) // создаем метод, который проверяет вводные параметры

    // при вызове метода. Этот метод обрабатывает 1 вводный параметр

    {

    this.max = max;

    this.min = 0;

    }

    public void ReturnValues() // создаем метод, который выводит значения на экран

    {

    Console.WriteLine($"Max = {max}");

    Console.WriteLine($"Min = {min}");

    Console.WriteLine();

    }

    }
    class Program

    {

    static void Main(string[] args)
    {

    class1 InputNumber = new class1(17, 5); // два значения присваиваются через конструктор

    InputNumber.ReturnValues();
    class1 InputNumber2 = new class1(4, 12);

    InputNumber2.ReturnValues();

    class1 InputNumber3 = new class1(7); // одно значение присваивается через конструктор

    InputNumber3.ReturnValues();
    InputNumber.Method(31, 15); // два значения присваиваются через метод

    InputNumber.ReturnValues();
    InputNumber.Method(1, 15);

    InputNumber.ReturnValues();
    InputNumber.Method(67); // одно значение присваивается через метод

    InputNumber.ReturnValues();

    }

    }

    }

    Результат:



    Задание 6.

    Напишите программу с классом, в котором есть два поля: символьное и текстовое. В классе должен быть перегруженный метод для присваивания значений полям. Если метод вызывается с символьным аргументом, то соответствующее значение присваивается символьному нолю. Если метод вызывается с текстовым аргументом, то он определяет значение текстового поля. Методу аргументом также может передаваться символьный массив. Если массив состоит из одного элемента, то он определяет значение символьного поля. В противном случае (если в массиве больше одного элемента) из символов массива формируется текстовая строка и присваивается значением текстовому полю.

    Код программы:
    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;
    namespace Zadanie6

    {

    class class1 // создаем класс

    {

    private char Char1; // создаем закрытые поля

    private string String1;
    public void InputMethod(char Char1) // создаем перегруженный метод ввода данных

    // здесь вводится один символьный параметр

    {

    this.Char1 = Char1;

    }

    public void InputMethod(char Char1, string String1) // здесь вводится один символьный параметр

    // и один строковый параметр

    {

    this.Char1 = Char1;

    this.String1 = String1;

    }

    public void InputMethod(string String1) // здесь вводится один строковый параметр

    {

    this.String1 = String1;

    }

    public void InputMethod(char [] c) // здесь вводится параметр в ввиде символьного массива

    {

    if (c.Length == 1)

    {

    Char1 = c[0];

    }

    else

    {

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

    {

    String1 += c[i];

    }

    }

    }

    public char ReturnChar() // здесь возвращаются полученные символьные данные

    {

    return Char1;

    }

    public string ReturnString() // здесь возвращаются полученные строковые данные

    {

    return String1;

    }

    }

    class Program

    {

    static void Main(string[] args)
    {

    char[] TestArray1 = {'S', 'G', 'U', 'G', 'I', 'T'}; // создаем символьный массив из нескольких элементов

    char[] TestArray2 = {'H'}; // создаем символьный массив из одного элемента
    class1 Data1 = new class1();
    Data1.InputMethod('C'); // одно символьное значение вводится через метод

    Console.WriteLine(Data1.ReturnChar());
    Data1.InputMethod("Hello"); // одно строковое значение вводится через метод

    Console.WriteLine(Data1.ReturnString());
    class1 Data2 = new class1();
    Data2.InputMethod(TestArray1); // данные из символьного массива (несколько элементов) вводятся через метод

    Console.WriteLine(Data2.ReturnString());
    Data2.InputMethod(TestArray2); // данные из символьного массива (один элемент) вводятся через метод

    Console.WriteLine(Data2.ReturnChar());

    }

    }

    }

    Результат:



    Задание 7.1

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

    Код программы:

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;
    namespace Zadanie7

    {

    class class1 // создаем класс

    {

    private static int n = 0; // создаем статическое целочисленное поле
    public static void NumberPlusOne() // метод, который увеличивает n на единицу

    // и выводит на экран результат

    {

    Console.WriteLine(n++);

    }

    }

    class Program

    {

    static void Main(string[] args)
    {

    class1.NumberPlusOne(); // вызов метода

    class1.NumberPlusOne();

    }

    }

    }

    Результат:



    Задание 7.2

    Напишите программу с классом, в котором есть статические методы, которым можно передавать произвольное количество целочисленных аргументов (или целочисленный массив). Методы, на основании переданных аргументов или массива, позволяют вычислить: наибольшее значение, наименьшее значение, а также среднее значение из набора чисел.

    Код программы:

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;
    namespace Zadanie7

    {

    class class1 // создаем класс

    {

    static public void Method1(out int Min, out int Max, out double Average, // создаем статический метод

    params int[] Array) // здесь вводится массив с данными

    {

    int sum = 0;

    Max = Array[0];

    Min = Array[0];

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

    {

    sum += Array[i];

    if (Array[i] > Max) Max = Array[i];

    if (Array[i] < Min) Min = Array[i];

    }

    Average = (double)sum / Array.Length;

    }

    }

    class Program

    {

    static void Main(string[] args)
    {

    int[] InputArray = { -21, 6 , 8 , 13, 567, 2}; // массив вводных данных

    int Max, Min;

    double Average;

    class1.Method1(out Max, out Min, out Average, InputArray);

    Console.WriteLine($"Max = : {Max}");

    Console.WriteLine($"Min = : {Min}"); // вывод полученных данных

    Console.WriteLine($"Average = : {Average}");

    }

    }

    }

    Результат:



    написать администратору сайта