Упражнения с использованием перегруженных методов.
1. Сигнатура метода
Задание: Определите сигнатуру метода:
int Summa(int a, int b = 0, int c = 0)
{
return a + b + c;
}
Summa(int, int, int)
2. Максимальное из трех чисел
Задание: Написать программу, для определения максимального из трех вещественных чисел, которые вводятся с клавиатуры, используя перегрузку метода для поиска максимального из двух значений.
using System;
class Program
{
static float Maximum(float x, float y)
{
if (x > y)
return x;
else
return y;
}
static float Maximum(float x, float y, float z)
{
var max = Maximum(x, y);
if (max > z)
return max;
else
return z;
}
static void Main(string[] args)
{
Console.Write("Введите первое число: ");
var f1 = Convert.ToSingle(Console.ReadLine());
Console.Write("Введите второе число: ");
var f2 = Convert.ToSingle(Console.ReadLine());
Console.Write("Введите третье число: ");
var f3 = Convert.ToSingle(Console.ReadLine());
Console.WriteLine($"Максимальное из трех чисел {Maximum(f1, f2, f3)}");
Console.ReadLine();
}
}
3. Умножение чисел
Задание: Напишите перегруженные методы, в сокращенной форме(лямбда), которые принимают на вход два целых числа, находят их произведение и в зависимости от типа прибавляют к результату: 1 – для uint, 2 – для int, 3 – для long.
using System;
class Program
{
static uint MultX(uint b1, uint b2) => b1 * b2 + 1;
static int MultX(int n1, int n2) => n1 * n2 + 2;
static long MultX(long l1, long l2) => l1 * l2 + 3;
static void Main(string[] args)
{
Console.WriteLine($"uint 2*3 = {MultX(2U, 3U)}");
Console.WriteLine($"int 2*3 = {MultX(2, 3)}");
Console.WriteLine($"long 2*3 = {MultX(2L, 3L)}");
Console.ReadLine();
}
}