Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Телишева_все лабороторные работы .doc
Скачиваний:
1
Добавлен:
30.11.2019
Размер:
792.06 Кб
Скачать

А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()

{

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]