oleonov
?>

На выбранном вами языке программирования ( С#, Pascal) постройте три класса ( базовый и 2 потомка), описывающих некоторых студентов. Студентам назначается стипендия, при этом правила ее назначения различны для парней ( один из потомков) и девушек ( второй потомок Известны ФИО студентов, их пол, группа и средний . Парням выплачивается фиксированная стипендия, если их средний равен пороговому значению в а девушкам стипендия выплачивается всегда и рассчитывается она путем умножения среднего на фиксированный коэффициент. Создайте код, описывающий классы и их члены для моделирования этой ситуации. Представьте сигнатуру метода расчета стипендии (это имя метода, тип аргумента и последовательность).

Информатика

Ответы

yok887062

Объяснения:

Описаны три класса: Student [Базовый],   MaleStudent, FemaleStudent.

Реализована логика расчета стипендии, учтена возможность смены параметров студентами (в том числе и пола).

Код:

using System;

namespace Durka

{

   class Program

   {

       static void Main(string[] args)

       {

           var male = Student.CreateMaleStudent("Cidodzy Ohlazhdai Blackjackovich", "1GT-b", 5f);

           var female = Student.CreateFemaleStudent("Viktoria Nya Victorovna", "1ZT-b", 4.8f);

           

           Console.WriteLine(male.GetPaymentAmount());

           Console.WriteLine(female.GetPaymentAmount());

       }

   }

   

   /// <summary>

   /// Class which describes students in general

   /// </summary>

   public abstract class Student

   {

       public string Names { get; set; }

       public string Group { get; set; }

       public float MeanGrade {

           get => _meanGrade;

           set

           {

               if (value > 5f || value < 0f)

               {

                   throw new ArgumentException("MeanGrade must be in [0; 5] range");

               }

               _meanGrade = value;

           }

       }

       private float _meanGrade;

       /// <summary>

       /// Method for calculating amount of students payment depending on inner class params such as sex, etc.

       /// </summary>

       /// <returns>double</returns>

       public abstract double GetPaymentAmount();

       

       /// <summary>

       /// Method for changing current sex to Male

       /// </summary>

       /// <returns>MaleStudent class object</returns>

       public abstract MaleStudent changeSexToMale();

       

       /// <summary>

       /// Method for changing current sex to Female

       /// </summary>

       /// <returns>FemaleStudent class object</returns>

       public abstract FemaleStudent changeSexToFemale();

       public static MaleStudent CreateMaleStudent(string names, string group, float meanGrade)

       {

           return new MaleStudent(names, group, meanGrade);

       }

       

       public static FemaleStudent CreateFemaleStudent(string names, string group, float meanGrade)

       {

           return new FemaleStudent(names, group, meanGrade);

       }

       

       /// <summary>

       /// Class which describes Male students

       /// </summary>

       public class MaleStudent : Student

       {

           protected internal MaleStudent(string names, string group, in float meanGrade)

           {

               Names = names;

               Group = group;

               MeanGrade = meanGrade;

           }

           public static float mul = 2000f;

           public override double GetPaymentAmount()

           {

               return MeanGrade > 4 ? mul : 0;

           }

           public sealed override MaleStudent changeSexToMale()

           {

               return this;

           }

           public sealed override FemaleStudent changeSexToFemale()

           {

               return new FemaleStudent(Names, Group, MeanGrade);

           }

       }

   

       /// <summary>

       /// Class which describes Female students

       /// </summary>

       public class FemaleStudent : Student

       {

           protected internal FemaleStudent(string names, string group, in float meanGrade)

           {

               Names = names;

               Group = group;

               MeanGrade = meanGrade;

           }

           

           public static float mul = 500f;

           public override double GetPaymentAmount()

           {

               return mul * MeanGrade;

           }

           public sealed override MaleStudent changeSexToMale()

           {

               return new MaleStudent(Names, Group, MeanGrade);

           }

           public sealed override FemaleStudent changeSexToFemale()

           {

               return this;

           }

       }

   }

}

Yuliya Aleksandr282
Один раз мы с Мишей были в игрушечном магазине и увидели замечательную игрушку - телефон.
В большой деревянной коробке лежали два телефонных аппарата, две трубки, в которые говорить и слушать, и целая катушка проволоки.
Продавщица объяснила нам, что если один телефон поставить в одной квартире, а другой - у соседей и соединить оба аппарата проволокой, то можно переговариваться.
Мы захотели его купить!
Это не какая-нибудь простая игрушка, которую поломаешь и выбросишь.
Это полезная вещь!
Мы с Мишей решили собирать деньги, чтобы купить телефон.
Две недели подряд мы не ели мороженого, не ходили в кино - всё деньги копили.
Наконец насобирали сколько было нужно и купили телефон.
Примчались из магазина домой с коробкой.
Один телефон у меня поставили, другой - у Мишки и от моего телефона протянули проволоку через форточку вниз, прямо к Мишкиному телефону.
Я помчался к себе, взял трубку и слушаю, а трубка уже кричит Мишкиным
голосом!
Нашему счатстью небыло предела!
mishapavlov9
Жили были Дед да Бабка. Однажды Бабка говорит Деду: Иди старый смастери чего нибудь нового, чего на свете еще нету. Долго думал Дед, что смастерить да придумал. День работал, ночь работал и так две недели. Потом приносит бабушке iPhone 7, вот Бабка гляди, телефон который еду готовит. Положи они его на стол, нажали на кнопочки и выбрали еду, только они сказали, как на столе появились пироги да мясо. Наелись до сыта они и легли спать. Тут приходит Кузьмич, он тоже своего дело мастер, мастерит ведра под названием Android, увидел он чудо техники и решил избавиться от него. Залез тихонько через окно и только дотянулся до телефона, как тот зазвенел, да так громка что вся деревня услышала, тут подбегает дед с ружьем и бабка со скалкой. Наругали они Кузьмича, да выгнали с деревни. Больше никто его никогда не видел.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

На выбранном вами языке программирования ( С#, Pascal) постройте три класса ( базовый и 2 потомка), описывающих некоторых студентов. Студентам назначается стипендия, при этом правила ее назначения различны для парней ( один из потомков) и девушек ( второй потомок Известны ФИО студентов, их пол, группа и средний . Парням выплачивается фиксированная стипендия, если их средний равен пороговому значению в а девушкам стипендия выплачивается всегда и рассчитывается она путем умножения среднего на фиксированный коэффициент. Создайте код, описывающий классы и их члены для моделирования этой ситуации. Представьте сигнатуру метода расчета стипендии (это имя метода, тип аргумента и последовательность).
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Ulianev77
magazintrofey
Sergeevna-Makarov
vikapar2646
Ольга1520
Владимир1524
myataplatinumb348
Andrei Morozov
Виктор-Богданов
vasiliyglukhov
bessalaias
TSKaraulova
taanaami75
ielienakozlova696
zuzman601
▲