
АPTECH
1 Курс 2 семестр Лабораторные работы
Изучение C# |
Семестр: 2 семестр |
|
Группа: 1111 |
|||
|
|
|
|||
Преподаватель: доцент МингалееваЛ.Б. |
|
Исполнитель: Телишева Л.А. |
|||
|
|
|
|||
|
Общее количество работ: 16 |
|
|
Набережные Челны, 2012 г.
Лаб 1: Линейный алгоритм |
Задание:
Написать программу расчета по двум формулам .
z1=cos(x)+2*cos(2*x)+cos(6*x)+soz(7*x)
z2=4 * cos(x/2) *cos( (5*x)/2) * cos (4*x)
Результат :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication10
{
public partial class Form1 : Form
{
public Form1()
{InitializeComponent();}
private void button1_Click(object sender, EventArgs e)
{
Double z1, z2,x;
String s;
s = textBox1.Text;
label4.Text = "";
try
{ x = Convert.ToDouble(s);
z2 = 4 * Math.Cos(x / 2) * Math.Cos((5 * x) / 2) * Math.Cos(4 * x);
z1 = Math.Cos(x) + Math.Cos(2 * x) + Math.Cos(6 * x) + Math.Cos(7 * x);
label2.Text += Convert.ToString(z1);
label3.Text += Convert.ToString(z2);
}
catch(Exception )
{
label4.Text = " Внимание: не верный формат вввода! Введите число х заново . ";
}
}
}
}
Лаб 2: Выполнение развилки |
Задание:
Написать программу , которая по введенному значению аргумента вычисляет значение функции заданной на графике.
Результат :
Решение:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication11
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
textBox2.Text = "";
label3.Text = "Введите координату";
double x, y;
try
{
x = Double.Parse(textBox1.Text);
y = 0;
if (x < -5) y = -3;
if (x >= -5 && x <= -3) y = x + 3;
if (x > -3 && x <= 3) y = Math.Sqrt(Math.Pow(3, 2) - Math.Pow(x, 2));
if (x > 3 && x <= 8) y = x * 3 / 5 - 9 / 5;
if (x >= 8) y = 3.0;
textBox2.Text = Convert.ToString(y);
}
catch
{
label3.Text = "Ошибка формата ! повторите ввод! ";
}
}
}
}
Лаб 2.2: Попасть в мишень |
Задание :
Написать программу ,которая определяет по заданным координатам ,попадет литочкав закрашенную область .
Результат :
Решение :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication12
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
label3.Text = "Введите координату";
label4.Text = "";
double x, y, r;
r=3.0;
bool flag;
flag=false;
try
{
x = Convert.ToDouble(textBox1.Text);
y = Convert.ToDouble(textBox2.Text);
if ( (x>=0) && (y>=0) && (Math.Pow(y,2)+Math.Pow(x-r,2)<=Math.Pow(r,2)))
label4.Text = "Поздравляю ! Попали в мишень ! ";
else
if ((x <= 0) && (y <= 0) && (x >= -r ) && (y >= -r) && (Math.Pow(y + r, 2) + Math.Pow(x + r, 2) >= Math.Pow(r, 2)))
{
label4.Text = "Поздравляю ! Попали в мишень ! ";
}
else label4.Text = "Мимо ! Не попали в мишень ! ";
}
catch
{
label3.Text = "Ошибка формата ! повторите ввод! ";
}
}
}
}
Лаб 3: Выполнение цикла |
Задание :
Вычислить и вывести на экран значение функции , заданной с помощью рядов Тейлора на указанном интервале с точность eps
Результат :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication13
{
public partial class Form1 : Form
{
const double EPS = 0.001;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
double nx;//количестово итераций вычисляемое по указанному приращению для участка
double x, xbeg, xend, dx; // участок и приращение
dx = 0.2;
xend = 1.0;
xbeg = -1.0;
nx = Math.Round((xend - xbeg) / dx); // вычислили колво необходимых итераций
textBox1.Text = "ТАБЛИЦА РАСЧЕТА ФУНКЦИИ LN(1-X) \r\n " + Environment.NewLine;
textBox1.Text +="Итерация LN(1-X) Ряд Тейлора \r\n \r\n";
for (double i = 1; i < nx; ++i)
{
x = xbeg + dx * i;
textBox1.Text += String.Format("{0} \t {1:f3} {2:f3} \r\n", i, ln1(x), ln2(x)) + Environment.NewLine;
}
}
public static double ln1(double x)
{
double y = Math.Log((1 - x), 2.718281828);
return y;
}
public static double ln2(double x)
{
double a = 1, sum = 0;
int n = 0;
while (Math.Abs(a) > EPS)
{
n++;
a = Math.Pow(x, n) / n;
sum += a * (-1);
}
return sum;
}
}
}
Задание
Лаб 4: Простейшие классы |
Задание :
Результат:
1. Сложение введенных векторов
2. Вычитание введенных векторов
3. Длина векторов
4.СOS вектора
Решение:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication14
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void set_in()
{
label15.Text = "Длина";
textBox10.Text = "";
textBox11.Text = "";
textBox12.Text = "";
}
private double dlina(double x, double y, double z)
{
double dl;
dl = Math.Sqrt(Math.Pow(x, 2) + Math.Pow(y, 2) + Math.Pow(z, 2));
return dl;
}
private void panel4_Paint(object sender, PaintEventArgs e)
{
}
private void button4_Click(object sender, EventArgs e)
{
set_in();
// dlina
try
{
double x1 = Convert.ToDouble(textBox1.Text);
double y1 = Convert.ToDouble(textBox2.Text);
double z1 = Convert.ToDouble(textBox3.Text);
double x2 = Convert.ToDouble(textBox4.Text);
double y2 = Convert.ToDouble(textBox5.Text);
double z2 = Convert.ToDouble(textBox6.Text);
Vector A = new Vector(x1, y1, z1);
Vector B = new Vector(x2, y2, z2);
Vector C = new Vector(x1 + x2, y1 + y2, z1 + z2);
textBox10.Text = Convert.ToString(dlina(A.x_value, A.y_value, A.z_value));
textBox11.Text = Convert.ToString(dlina(B.x_value, B.y_value, B.z_value));
textBox12.Text = Convert.ToString(dlina(C.x_value, C.y_value, C.z_value));
}
catch
{
}
}
private void button2_Click(object sender, EventArgs e)
{
// вычитание
set_in();
try
{
double x1 = Convert.ToDouble(textBox1.Text);
double y1 = Convert.ToDouble(textBox2.Text);
double z1 = Convert.ToDouble(textBox3.Text);
double x2 = Convert.ToDouble(textBox4.Text);
double y2 = Convert.ToDouble(textBox5.Text);
double z2 = Convert.ToDouble(textBox6.Text);
Vector A = new Vector(x1, y1, z1);
Vector B = new Vector(x2, y2, z2);
Vector C = new Vector(x1 - x2, y1 - y2, z1 - z2);
textBox7.Text = Convert.ToString(C.x_value);
textBox8.Text = Convert.ToString(C.y_value);
textBox9.Text = Convert.ToString(C.z_value);
}
catch
{
}
}
private void button3_Click(object sender, EventArgs e)
{
// cos
double dl1, dl2;
double cosC;
set_in();
label15.Text = "cos";
try
{
double x1 = Convert.ToDouble(textBox1.Text);
double y1 = Convert.ToDouble(textBox2.Text);
double z1 = Convert.ToDouble(textBox3.Text);
double x2 = Convert.ToDouble(textBox4.Text);
double y2 = Convert.ToDouble(textBox5.Text);
double z2 = Convert.ToDouble(textBox6.Text);
Vector A = new Vector(x1, y1, z1);
Vector B = new Vector(x2, y2, z2);
Vector C = new Vector(x1 + x2, y1 + y2, z1 + z2);
dl1 = dlina(A.x_value, A.y_value, A.z_value);
dl2 = dlina(B.x_value, B.y_value, B.z_value);
cosC = (x1 * x2 + y1 * y2 + z1 * z2) / (dl1 * dl2);
textBox10.Text = Convert.ToString(dlina(A.x_value, A.y_value, A.z_value));
textBox11.Text = Convert.ToString(dlina(B.x_value, B.y_value, B.z_value));
textBox12.Text = Convert.ToString(cosC);
}
catch
{
}
}
private void button1_Click(object sender, EventArgs e)
{
// сложение
set_in();
try
{
double x1=Convert.ToDouble(textBox1.Text);
double y1=Convert.ToDouble(textBox2.Text);
double z1=Convert.ToDouble(textBox3.Text);
double x2 = Convert.ToDouble(textBox4.Text);
double y2 = Convert.ToDouble(textBox5.Text);
double z2 = Convert.ToDouble(textBox6.Text);
Vector A = new Vector(x1, y1, z1);
Vector B = new Vector(x2, y2, z2);
Vector C = new Vector(x1+x2, y1+y2, z1+z2);
textBox7.Text = Convert.ToString(C.x_value);
textBox8.Text = Convert.ToString(C.y_value);
textBox9.Text = Convert.ToString(C.z_value);
}
catch
{
}
}
}
class Vector
{
Double x;
Double y;
Double z;
public Vector()
{
x = 0;
y = 0;
z = 0;
}
public Vector(double x, double y, double z)
{
this.x = x;
this.y = y;
this.z = z;
}
public double x_value //свойство поля х
{
get { return x; }
set { x = value; }
}
public double y_value //свойство поля y
{
get { return y; }
set { y = value; }
}
public double z_value //свойство поля z
{
get { return z; }
set { z = value; }
}
}
}
Лаб 5: Одномерные массивы |
Задание :
Результат
Решение:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication15
{
public partial class Form1 : Form
{
public Form1()
{