
Задание №7.
Описание элементов синтаксиса языка, используемых в задаче:
switch () {} – оператор сравнения.
Определить статический класс конвертор давления. В основной программе предложить пользователю выбор исходной конвертируемой величины и величины результата. Величины давления: атмосфера, килограмм-сила, фунт-сила, пьеза.
Решение:
Соотношения величин: 1[атм] = 14.696[psi], 1[атм] = 1.033[кгс/см2]
1[атм] = 101.3[ПЗ].
Входные данные:
davl – давление, введенное пользователем, тип doublе, number – номер выбранной комбинации перевода давления.
Выходные данные:
davl – давление, переведенное в нужные еденицы, тип double.
Блок-схема алгоритма:
Листинг класса «StaticCnv»:
class StaticCnv
{
// Давление из Атмосфер в Килограмм-сила/см2
public static double AtoK(double _a)
{
return (_a * 1.033);
}
// из Атмосфер в Фунт-сила/дюйм2
public static double AtoF(double _a)
{
return (_a * 14.69);
}
// из Атмосфер в Пьеза
public static double AtoP(double _a)
{
return (_a * 101.3);
}
// Давление из Килограмм-сила/см2 в Атмосверы
public static double KtoA(double _k)
{
return (_k * 0.97);
}
// из Килограмм-сила/см2 в Фунт-сила/дюйм2
public static double KtoF(double _k)
{
return (_k * 14.2);
}
// из Килограмм-сила/см2 в Пьеза
public static double KtoP(double _k)
{
return (_k * 98);
}
// Давление из Фунт-сила/дюйм2 в Атмосферы
public static double FtoA(double _f)
{
return (_f * 0.068);
}
//из Фунт-сила/дюйм2 в Килограмм-сила/см2
public static double FtoK(double _f)
{
return (_f * 0.071);
}
//из Фунт-сила/дюйм2 в Пьеза
public static double FtoP(double _f)
{
return (_f * 6.9);
}
// Давелние из Пьеза в Атмосферы
public static double PtoA(double _p)
{
return (_p * 0.0098);
}
// из Пьеза в Килограмм-сила/см2
public static double PtoK(double _p)
{
return (_p * 0.0102);
}
//из Пьеза в Фунт-сила/дюйм2
public static double PtoF(double _p)
{
return (_p * 0.145);
Листинг программы:
Console.WriteLine("Программа перевода едениц давления");
Console.WriteLine("1.Первеод из Атмосфер в Килограмм-сила/см2");
Console.WriteLine("2.Первеод из Атмосфер в Фунт-сила/дюйм2");
Console.WriteLine("3.Перевод из Атмосфер в Пьеза");
Console.WriteLine("4.Перевод из Килограмм-сила/см2 в Атмосферы");
Console.WriteLine("5.Перевод из Килограмм-сила/см2 в Фунт-
сила/дюйм2");
Console.WriteLine("6.Перевод из Килограмм-сила/см2 в Пьеза");
Console.WriteLine("7.Перевод из Фунт-сила/дюйм2 в Атмосверы");
Console.WriteLine("8.Перевод из Фунт-сида/дюйм2 в Килограмм-
сила/см2");
Console.WriteLine("9.Перевод из Фунт-сила/дюйм2 в Пьеза");
Console.WriteLine("10.Перевод из Пьеза в Атмосферы");
Console.WriteLine("11.Перевод из Пьеза в Фунт-сила/дюйм2");
Console.WriteLine("12.Перевод из Пьеза в Килограмм-сила/см2");
string number = Console.ReadLine();
double davl = 0;
switch ( number )
{
case "1":
Console.WriteLine("Введите давление в Атмосферах : ");
davl = StaticCnv.AtoK(double.Parse(Console.ReadLine()));
Console.WriteLine("Давление в Килограмм-сила/см2 {0:F2}",
davl);
break;
case "2":
Console.WriteLine("Введите давление в Атмосферах : ");
davl = StaticCnv.AtoF(double.Parse(Console.ReadLine()));
Console.WriteLine("Давелние в Фунт-сила/дюйм2 {0:F2}",
davl);
break;
case "3":
Console.WriteLine("Введите давление в Атмосферах : ");
davl = StaticCnv.AtoP(double.Parse(Console.ReadLine()));
Console.WriteLine("Давление в Пьезах {0:F2}", davl);
break;
case "4":
Console.WriteLine("Введите давление в Килограмм-сила/см2
: ");
davl = StaticCnv.KtoA(double.Parse(Console.ReadLine()));
Console.WriteLine("Давление в Атмосферах {0:F2}", davl);
break;
case "5":
Console.WriteLine("Введите давление в Килограмм-сила/см2
: ");
davl = StaticCnv.KtoF(double.Parse(Console.ReadLine()));
Console.WriteLine(" Давление в Фунт-сила/дюйм2 {0:F2}",
davl);
break;
case"6":
Console.WriteLine("Введите давление в Килограмм-сила/см2
: ");
davl = StaticCnv.KtoP(double.Parse(Console.ReadLine()));
Console.WriteLine("Давление в Пьезах {0:F2}", davl);
break;
case "7":
Console.WriteLine("Введите давление в Фунт-сила/дюйм2 :
");
davl = StaticCnv.FtoA(double.Parse(Console.ReadLine()));
Console.WriteLine("Давление в Атмосферах {0:F2}", davl);
break;
case"8":
Console.WriteLine("Введите давление в Фунт-сила/дюйм2 :
");
davl = StaticCnv.FtoK(double.Parse(Console.ReadLine()));
Console.WriteLine("Давление в Килограмм-сила/см2 {0:F2}",
davl);
break;
case"9":
Console.WriteLine("Введите давление в Фунт-сила/дюйм2 :
");
davl = StaticCnv.FtoP(double.Parse(Console.ReadLine()));
Console.WriteLine("Давление в Пьезах {0:F2}", davl);
break;
case"10":
Console.WriteLine("Введите значение в Пьезах : ");
davl = StaticCnv.PtoA(double.Parse(Console.ReadLine()));
Console.WriteLine("Давление в Атмосферах {0:F2}", davl);
break;
case"11":
Console.WriteLine("Введите значение в Пьезах : ");
davl = StaticCnv.PtoF(double.Parse(Console.ReadLine()));
Console.WriteLine(" Давление в Фунт-сила/дюйм2 {0:F2}",
davl);
break;
case"12":
Console.WriteLine("Введите значение в Пьезах : ");
davl = StaticCnv.PtoK(double.Parse(Console.ReadLine()));
Console.WriteLine("Давление в Килограмм-сила/см2 {0:F2}",
davl);
break;
default :
Console.WriteLine("Вы ничего не выбрали!");
break;
}
Console.WriteLine("Нажмите любую клавишу для выхода из
программы");
Console.ReadKey();
}
Контрольные примеры:
Дано: number = 4, davl = 20. Ожидаемое сообщение на выходе: davl = 0.97 * 20 = 19.40 - «Давление переведено из Килограмм-сила/см2 в Атмосферы»
Рисунок 18 – Контрольный пример №1
Дано: number = 9, davl = 50. Ожидаемое сообщение на выходе: davl = 6.9 * 50 = 345 - «Давление переведено из Фунт-сила/дюйм2 в Пьеза»
Рисунок 19 – Контрольный пример №2
Дано: number = «». Ожидаемое сообщение на выходе: «Перевод неосуществлен, невыбрана комбинация перевода»
Рисунок 20 – Контрольный пример №3