- •Министерство образования и науки российской федерации брянская государственная инженерно-технологическая академия
- •Часть I. Язык c# .Net 8
- •2.3. Варианты задании 45
- •3.1. Цель работы 54
- •4.1. Цель работы 63
- •Лабораторная работа №2. Инструкции управления
- •Цель работы
- •Теоретическая часть
- •Варианты задании
- •Порядок выполнения работы
- •Требования к содержанию отчета
- •Контрольные вопросы
- •Лабораторная работа №3. Пользовательские методы
- •Цель работы
- •Теоретическая часть
- •Варианты задании
- •Варианты задании
Порядок выполнения работы
С помощью VSC# создайте простейшее консольное приложение для решения первой задачи и выполните программирование логического выражения.
С помощью VSC# создайте простейшее консольное приложение для решения второй задачи
Графическим методом найдите одну из точек а пересечения графиков функций f и f2.
Выполните табуляцию функции у вблизи точки пересечения заданных функций.
Требования к содержанию отчета
Отчет о лабораторной работе должен содержать:
формулировку задания;
краткие теоретические сведения;
приближенное определение точки пересечения двух графиков функций для второй задачи;
листинг программ.
Контрольные вопросы
Перечислите операторы сравнения языка C#
Перечислите логические операторы языка C#.
Приведите примеры записи логических условий.
Какие значения возвращают операции сравнения и логические операции?
Какие инструкции выбора вы знаете?
Какие циклы вы знаете?
Запишите общий синтаксис цикла for.
Запишите общий синтаксис цикла while.
Запишите общий синтаксис цикла do-while.
Дайте понятие цикла.
Какие циклы носят название циклов с предусловием?
Какие циклы носят название циклов с постусловием?
Лабораторная работа №3. Пользовательские методы
Цель работы
Целью лабораторной работы является знакомство с пользовательскими методами языка C#.
Теоретическая часть
До сих пор мы писали программы, весь текст которых располагался в главном методе Main. Эта технология оказывается не эффективной при написании относительно больших программ, программа становиться мало понятной, повышается вероятность возникновения ошибок. Такие программы обычно разделяют на законченные блоки, оформленные в виде пользовательских методов и расположенные вне метода Main.
Общий синтаксис описания пользовательского метода:
static тип возвращаемого значения имя метода (параметры)
В данной лабораторной работе будем использовать только статические методы. Такие методы имеют атрибут static. Смысл атрибута static рассматривается в следующей лабораторной работе. Пользовательский метод должен иметь
тип_возвращаемого_значения, из набора, представленного в прил. 1 или тип void если метод ничего не возвращает. Имя_метода - любой допустимый идентификатор. После имени метода обязательно должны присутствовать две круглые скобки, в которых через запятую, перечисляются параметры метода с указанием их типа (прил. 1). Возможно написание метода, в котором параметры отсутствуют.
Аргумент - передаваемое методу значение.
Параметр - переменная, принимающая значение аргумента, расположенная внутри круглых скобок за именем метода.
В качестве примера применения пользовательской функции, рассмотрим следующую задачу.
Даны три квадратных уравнения:
ах2 + 7х + с_ О,
Ьх2 + ах + с = О сх2 + Ьх + а = О.
Найти количество уравнений, имеющих вещественные корни. Листинг 3.1. содержит решение этой задачи. В него входит пользовательский метод
static bool RealRadical(double a, double b, double c)
Этот метод возвращает булевский тип true, если квадратное уравнение имеет вещественные корни или false, в противном случае. Метод принимает три параметра a, b, и с которые являются коэффициентами квадратного уравнения. Инструкция
D=b*b-4.0 * a * c;
вычисляет дискриминант, а далее выполняется проверка его знака. Если дискриминант положителен, то выполняется инструкция
return true; // вещественные корни имеются
приводящая к завершению работы метода и возврату значения true в вызвавший метод. Иначе, выполняется инструкция
return false; // вещественных корней нет
которая также приводит к завершению работы метода, но в этом случае, возвращаемое значение - false.
Листинг 3.1. Файл Ex004.cs
class Ex004
{
// Возвращает true, если квадратное уравнение // axA2+bx+c=0 имеет вещественные корни и // false в потивном случае.
static bool RealRadical(double a, double b, double c)
{
double D; // дискриминант. D=b*b-4.0*a*c; if (D > 0.0)
return true; // вещественные корни имеются. return false; // вещественных корней нет
}
// Главная функция. static void Main()
{
double a, b, c; int Summa;
Console.Write("Kоэффициент a> ");
a = Convert.ToDouble(Console.ReadLine());
Console.Write("Kоэффициент b> ");
b = Convert.ToDouble(Console.ReadLine());
Console.Write("Kоэффициент c> ");
c = Convert.ToDouble(Console.ReadLine());
Summa = 0;
if (RealRadical(a, b, c))
Summa++; if (RealRadical(b, a, c))
Summa++; if (RealRadical(c, b, a))
Summa++;
Console.WriteLine("Kоличество уравнений имеющих " + "вещественные корни: {0}", Summa);
Console.ReadKey();
}
}
Рис.
3.1. Результаты работы программы Ex004
Дано круговое кольцо. D и d - внешний и внутренний радиус кольца. Написать функцию возвращающую площадь кольца и длину внешней укружности.
Листинг 3.2. Файл Ex005.cs
using System; class Ex005 {
// Возвращает квадрат числа x. static double Qad(double x)
{
return x * x;
}
// Возврашает площадь Area и длинну внешней окружности Long // кругового кольца с диаметрами ExternalD и InternalD. static void Ring(double ExternalD, double InternalD, ref double Area, ref double Long)
{
Area = Math.PI * (Qad(ExternalD) - Qad(InternalD)) / 4.0; Long = Math.PI * ExternalD;
}
// Главная функция. static void Main()
{
double D = 0.0, d = 0.0, A=0.0, L=0.0;
Console.Write("Bнешний диаметр кольца > ");
D = Convert.ToDouble(Console.ReadLine()); Console.Write("Bнутренний диаметр кольца> "); d = Convert.ToDouble(Console.ReadLine());
Ring(D, d, ref A, ref L);
Console.WriteLine("Плoщадь кольца: {0}", A); Console.WriteLine("Длинна внешней окружности: {0}", L); Console.ReadKey();
}
}
Р5И C:\Windows\system32\cmd.exe |
CD |
| 0 |
|
нешний диаметр кольца > 45,75 нутренний диаметр кольца> 23,20 лощадь кольца: 1221,15473590903 Длинна внешней окружности: 143,727863901733
□
Рис. 3.2. Результаты работы программы Ex005
