Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KPiYaP_otchyot_VS14.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
136.03 Кб
Скачать
  1. Перегрузка конструкторов

Условие задачи

Реализовать класс: “Строка”. В методе run() осуществить вычисление количества гласных букв в строке.

Листинг программы:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

public class Stroka

{

private string s;

private int gl = 0;

public Stroka(string s)

{

this.s = s;

}

public Stroka(int gl)

{

this.gl = 0;

}

public int run()

{

char[] glasnie = { 'а', 'е', 'ё', 'и', 'о', 'у', 'ы', 'э', 'ю', 'я' };

char[] mas = s.ToCharArray();

foreach (char c in mas)

if (Array.IndexOf(glasnie, c) != -1) gl++;

return gl;

}

public override string ToString()

{

return "Количество гласных букв в строке = "+ gl;

}

public string S

{

get

{

return s;

}

}

}

namespace ConsoleApplication25

{

class Program

{

static void Main(string[] args)

{

Stroka stroka = new Stroka("Количество гласных букв в строке");

stroka.run();

Console.WriteLine(stroka.S + "\t" + stroka);

Console.ReadKey();

}

}

}

Тестирование программы

Рисунок 3 – Тестирование программы

  1. Использование свойств в классе

Условие задачи

Для индивидуального задания из лабораторной работы № 3 реализовать свойства для класса.

Листинг программы:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

public class Stroka

{

private string s;

private int gl = 0;

public Stroka(string s)

{

this.s = s;

}

public Stroka(int gl)

{

this.gl = 0;

}

public int run()

{

char[] glasnie = { 'а', 'е', 'ё', 'и', 'о', 'у', 'ы', 'э', 'ю', 'я' };

char[] mas = S.ToCharArray();

foreach (char c in mas)

if (Array.IndexOf(glasnie, c) != -1) gl++;

return gl;

}

public override string ToString()

{

return "Количество гласных букв в строке = "+ gl;

}

public string S{

get

{

return s;

}

}

}

namespace ConsoleApplication25

{

class Program

{

static void Main(string[] args)

{

Stroka stroka = new Stroka("Количество гласных букв в строке");

stroka.run();

Console.WriteLine(stroka.S+"\t"+stroka);

Console.ReadKey();

}

}

}

Тестирование программы

Рисунок 4 – Тестирование программы

  1. Применение свойства наследования для расширения и уточнения классов

Условие задачи

Реализовать иерархию классов Х->Y. В классе Х присутствуют данные х1, х2. В классе Y-данное y. Методами классов представить конструктор, метод ToString(). В производном классе Y присутствует метод Run(), который определяет:

14. Значение (х1 - у)* х2

Листинг программы:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace ConsoleApplication26

{

class zn

{

protected double x1;

protected double x2;

public zn(double x1, double x2)

{

this.x1 = x1;

this.x2 = x2;

}

public void Vivod()

{

Console.WriteLine();

}

public override string ToString()

{

return "Otvet = ";

}

}

class zn1 : zn

{

int y;

public zn1(int y, double x1, double x2)

: base(x1, x2)

{

this.y = y;

}

public double Run()

{

return (x1-y)*x2;

}

}

class Program

{

static void Main(string[] args)

{

int y; int x1; int x2;

Console.WriteLine("Введите x1:");

x1 = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("Введите x2:");

x2 = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("Введите y:");

y = Convert.ToInt32(Console.ReadLine());

zn1 f = new zn1(y, x1, x2);

Console.WriteLine(f.ToString() + "" + f.Run());

Console.ReadKey();

}

}

}

Тестирование программы

Рисунок 5 – Тестирование программы