Порядок выполнения лабораторной работы. Лабораторная работа № 1

Лабораторная работа № 1

Тема: «Элементы управления, их свойства, методы и события»

Теоретический материал.

Методы ввода и вывода

Библиотекой языка C# предусмотрены следующие методы ввода-вывода:

Console.Write (arg) Вывод значения аргумента
Console.Write(format, args…) Форматированный вывод одного или нескольких значений аргументов
Console.WriteLine (arg) Вывод значения аргумента с переносом строки
Console.WriteLine(format, args…) Форматированный вывод одного или нескольких значений аргументов с переносом строки
Console.Read() Чтение одного символа
Console.ReadLine() Чтение до конца строки
Console.ReadKey() Чтение одного символа

Когда данные встроенных в C# типов, например int или double, требуется отобразить в удобочитаемой форме, приходится формировать их строковое представление. Несмотря на то что в C# для такого представления данных автоматически предоставляется формат, используемый по умолчанию, имеется также возможность указать выбранный формат вручную.

Для форматирования выводимых данных служит следующая форма метода WriteLine().

WriteLine("форматирующая строка", arg0, arg1, ... , argN);

В этой форме аргументы метода WriteLine() разделяются запятой, а не знаком +. А форматирующая строка состоит из двух следующих элементов: обычных печатаемых символов, отображаемых в исходном виде, а также команд форматирования. Ниже приведена общая форма команд форматирования:

{argnum, width: fmt}

где argnum — это номер отображаемого аргумента, начиная с нуля; width — мини­ мальная ширина поля, a fmt — спецификатор формата. Параметры width и fmt не являются обязательными. Поэтому в своей простейшей форме команда форматирования просто указывает конкретные аргументы для отображения.

Например, команда {0} указывает arg0, {1} arg1 и т. д.

Класс Math и его функции

Кроме переменных и констант, первичным материалом для построения выражений являются функции. Большинство их в проекте будут созданы самим программистом, но не обойтись и без встроенных функций. Продолжим знакомство с возможностями, предоставляемыми пространством имен System. Мы уже познакомились с классом Convert этого пространства и частично с классом Console. Давайте рассмотрим еще один класс - класс Math, содержащий стандартные математические функции, без которых трудно обойтись при построении многих выражений. Этот класс содержит два статических поля, задающих константы E и PI, а также 23 статических метода. Методы задают:

· тригонометрические функции - Sin, Cos, Tan;

· обратные тригонометрические функции - ASin, ACos, ATan, ATan2 (sinx, cosx);

· гиперболические функции - Tanh, Sinh, Cosh;

· экспоненту и логарифмические функции - Exp, Log, Log10;

· модуль, корень, знак - Abs, Sqrt, Sign;

· функции округления - Ceiling, Floor, Round;

· минимум, максимум, степень, остаток - Min, Max, Pow, IEEEReminder.

В особых пояснениях эти функции не нуждаются. Приведу пример:

public void MathFunctions(){

double a, b,t,t0,dt,y;

string NameFunction;

Console.WriteLine("Введите имя F(t)исследуемой функции

a*F(b*t)" + " (sin, cos, tan, cotan)");

NameFunction = Console.ReadLine();

Console.WriteLine("Введите параметр a (double)");

a= double.Parse(Console.ReadLine());

Console.WriteLine("Введите параметр b (double)");

b= double.Parse(Console.ReadLine());

Console.WriteLine("Введите начальное время t0(double)");

t0= double.Parse(Console.ReadLine());

const int points = 10;

dt = 0.2;

for(int i = 1; i<=points; i++) {

t = t0 + (i-1)* dt;

switch (NameFunction) {

case ("sin"):

y = a*Math.Sin(b*t); break;

case ("cos"):

y = a*Math.Cos(b*t); break;

case ("tan"):

y = a*Math.Tan(b*t); break;

case ("cotan"):

y = a/Math.Tan(b*t); break;

case ("ln"):

y = a*Math.Log(b*t); break;

case ("tanh"):

y = a*Math.Tanh(b*t); break;

default:

y=1; break;

}//switch

Console.WriteLine ("t = " + t + "; " + a +"*" +

NameFunction +"(" + b + "*t)= " + y + ";");

}//for

double u = 2.5, v = 1.5, p,w;

p= Math.Pow(u,v);

w = Math.IEEERemainder(u,v);

Console.WriteLine ("u = " + u + "; v= " + v +

"; power(u,v)= " + p + "; reminder(u,v)= " + w);

}//MathFunctions

В данном примере пользователь определяет, какую функцию он хочет вычислить и при каких значениях ее параметров. Некоторые параметры задаются константами и инициализированными переменными, но для большинства их значения вводятся пользователем. Одна из целей этого фрагмента состоит в демонстрации консольного ввода данных разного типа, при котором используется описанный ранее метод Parse.

Функция, заданная пользователем, вычисляется в операторе switch. Здесь реализован выбор из 6 стандартных функций.

Вызов еще двух функций из класса Math содержится в двух последних строчках этой процедуры.

Порядок выполнения лабораторной работы

1) Открыть среду Visual Studio, создать новый проект консольного приложения (File -> New Project -> Console Application

Порядок выполнения лабораторной работы. Лабораторная работа № 1 - student2.ru

В окне редактора откроется файл Program.cs.

Порядок выполнения лабораторной работы. Лабораторная работа № 1 - student2.ru

2) Заменить метод Main следующим кодом:

static void Main(string[] args)

{

string s;

Console.Write("Введите значение a: ");

s = Console.ReadLine();

int a = Convert.ToInt32(s);

Console.Write("Введите значение b: ");

s = Console.ReadLine();

int b = Convert.ToInt32(s);

double c = Math.Sqrt(a * a + b * b);

Console.WriteLine("c = {0:f3}", c);

Console.ReadKey();

}

3) Запустите приложение (Debug -> Start Debug или F5).

4) Определить, что является результатом выполнения данной программы.

5)

Базовый уровень (удовлетворительно):

Изменить код метода так, чтобы вычислялось среднее арифметическое трех вещественных чисел.

Средний уровень

1) Реализовать следующую задачу:

Найти произведение цифр заданного четырёхзначного числа.

Указание: следует использовать операции деления целых чисел и получения остатка от деления целых чисел.

2) Реализовать следующую задачу

Функция у=sin x на отрез­ке [0;p/2] хорошо аппроксимируется разложением: у=х-x3/6+x5/120. Для заданного значения аргумен­та х вычислить у по этой формуле и сравнить с точным значением, вычисленным с помощью стандартной функ­ции sin.

6) Продемонстрировать работающие приложения.

Для получения оценки «3», студент должен найти результат работы примера и выполнить задание базового уровня

Для получения оценки «4», студент должен реализовать одну из задач среднего уровня

Для получения оценки «5», студент должен реализовать обе задачи среднего уровня

Наши рекомендации