В. К. Никишев «Лабораторный практикум по современным языкам программирования Visual Studio »


Скачать 0.52 Mb.
Название В. К. Никишев «Лабораторный практикум по современным языкам программирования Visual Studio »
страница 4/6
Тип Документы
rykovodstvo.ru > Руководство эксплуатация > Документы
1   2   3   4   5   6

Лабораторная работа 8. Тема: Графика.

Цель занятия: Изучить структуру программ, основные операторы С#.NET для. Построения графических фигур. Получить навыки работ по составлению простейших графических программ

Условие задачи. Нарисовать на форме желтого цвета прямоугольник зеленного цвета и эллипс красного цвета




using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace Brush

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Paint(object sender, PaintEventArgs e)

{

//Задаем тип и цвет кисти

SolidBrush myBrush = new SolidBrush(System.Drawing.Color.Green);

//Объявляем объект myRectangle и создаем Экземпляр этого объекта

Rectangle myRectangle = new Rectangle(10, 15, 150, 200);

//рисуем и заполняем фигуру

e.Graphics.FillRectangle(myBrush,myRectangle);

//Высвобождаем память, выделенную объекту myBrush

myBrush.Dispose();

}

private void pictureBox1_Paint(object sender,PaintEventArgs e)

{

//Задаем тип и цвет кисти

SolidBrush myBrush = new SolidBrush(System.Drawing.Color.Red);

//Объявляем объект myRectangle и создаем Экземпляр этого объекта

Rectangle myRectangle = new Rectangle(10, 15, 150, 200);

e.Graphics.FillEllipse(myBrush, myRectangle);

//Высвобождаем память, выделенную объекту myBrush

myBrush.Dispose();

}

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

Графика. Нарисовать и закрасить вставленные фигуры



using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;
namespace _llabb

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}
private void Form1_Paint(object sender, PaintEventArgs e)

{

Pen myPen = new Pen(Color.Black, 3);

SolidBrush myB1 = new SolidBrush(System.Drawing.Color.Blue);

SolidBrush myB2 = new SolidBrush(System.Drawing.Color.Red);

e.Graphics.FillRectangle(myB2, 0,0,1280,1024);

e.Graphics.DrawLine(myPen, 240, 60, 120, 220);

e.Graphics.DrawLine(myPen, 240, 60, 360, 220);

e.Graphics.DrawLine(myPen, 120, 220, 360, 220);

e.Graphics.FillPolygon(myB1, new Point[]

{

new Point(240,60),

new Point(120,220),

new Point(360,220),

});

e.Graphics.DrawEllipse(myPen, 190, 115, 100, 100);

e.Graphics.FillEllipse(myB2, 190, 115, 100, 100);

myPen.Dispose();

myB1.Dispose();

myB2.Dispose();

}

private void exitToolStripMenuItem_Click(object sender, EventArgs e)

{

Close();

}

private void authorToolStripMenuItem_Click(object sender, EventArgs e)

{

Form2 frm = new Form2();

frm.Show();

}

private void aboutToolStripMenuItem_Click(object sender, EventArgs e)

{

Form3 rfm = new Form3();

rfm.Show();

} }}
Язык программирования С++



#include "stdafx.h"

#include "graf.h"

#include "grafDlg.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

/////////////////////////////////////////////////////////////////////////////

MessageBox("Нарисовать прямоугольник в окружности на фоне ромба ","Условие");

}

void CGrafDlg::OnAvtor()

{

// TODO: Add your command handler code here

MessageBox("студентка ФМФ гр.ИМ-3 Павлова Любовь","Автор");

}

void CGrafDlg::OnFigura()

{

// TODO: Add your command handler code here

CClientDC pDC(this);

CBrush b_red,b_zel,b_sin;

b_red.CreateSolidBrush(RGB(200,0,55));

b_zel.CreateSolidBrush(RGB(0,255,0));

b_sin.CreateSolidBrush(RGB(0,0,255));

pDC.SelectObject(b_red);

pDC.Ellipse(110,50,290,230);

pDC.SelectObject(b_zel);

pDC.Rectangle(150,100,250,180);
pDC.SelectObject(b_sin);

pDC.MoveTo(200,10);

pDC.LineTo(330,140);

pDC.MoveTo(330,140);

pDC.LineTo(200,270);

pDC.MoveTo(200,270);

pDC.LineTo(70,140);

pDC.MoveTo(70,140);

pDC.LineTo(200,10);

pDC.FloodFill(200,15,RGB(0,0,0));

b_red.DeleteObject();

b_zel.DeleteObject();

b_sin.DeleteObject();

}

void CGrafDlg::OnOk()

{

CDialog::OnOK();

}
Язык программирования VB.NET

Построить вложенные геометрические фигуры: окружность зеленного цвета, шестиугольник синего цвета и треугольник красного цвета




Public Class Form4

Dim g As Graphics

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Form1.Show()

Me.Hide()

End Sub

Private Sub Form_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Button1.Paint

Dim g As Graphics = CreateGraphics()

Dim myBrush As New SolidBrush(Color.DarkBlue)

g.TranslateTransform(50, 50)

g.FillEllipse(Brushes.DarkGreen, 120, -10, 150, 150)

Dim points As Point() = {New Point(195, 0), New Point(235, 23), New Point(245, 70), New Point(200, 110), New Point(143, 77), New Point(145, 25), New Point(195, 0)}

g.FillPolygon(myBrush, points)

Dim triangle As Point() = {New Point(150, 50), New Point(230, 70), New Point(230, 30), New Point(150, 50)}

g.FillPolygon(Brushes.DarkRed, triangle)

End Sub

Private Sub Form4_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing

Application.Exit()

End Sub

Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End SubEnd Class
Построение графика функции y=f(x) с использованием элемента Chart. Язык С#








using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Windows.Forms.DataVisualization.Charting;

namespace WindowsFormsApplication7

{

public partial class Form2 : Form

{

public Form2()

{

InitializeComponent();

}
private void button1_Click(object sender, EventArgs e)

{

chart1.Series[0].Points.Clear();

double a = Convert.ToDouble(textBox1.Text);

double b = Convert.ToDouble(textBox2.Text);

double h = Convert.ToDouble(textBox3.Text);

double x = a;

do

{

double f = Math.Sin(x);

x = x + h;

double y = f ;

chart1.Series[0].Points.AddXY(x, y);

//chart1.Series[1].Points.AddXY(x, f);

}

while (x <= b);

}

// for (int i = 0; i < 10; i++)

// {

// for (int pointIndex = 0; pointIndex < 10; pointIndex++)

// h = h + 0.1;

// y=i*i;

// s1.Points.AddXY((double)i * h, (double)Math.Sin(i * h));

// chart1.Series[0].Points.AddXY(i, Math.Sin(i));//

//chart1.Series[0].Points.AddXY((double)i, y);

//Добавляю к графику

// chart1.Series.Add((double)i * h, (double)Math.Sin(i * h));

// chart1.Series.Add(s1);//////

//y=Math.Sin( int i*h);

// y = Math.Sin(i);

//chart1.Series[0].Points.AddXY(i, y);

// h = h + 0.1;

// listBox1.Items.Clear();

// listBox2.Items.Clear();

//Пробегаю по всем точкам первой кривой в графике

// foreach (DataPoint p in chart1.Series[0].Points)

// {

// Вывожу Х в лог

//textBox1.AppendText("X=" + p.XValue.ToString());

// textBox1.AppendText(Environment.NewLine);

// listBox1.Items.Add("X=" + p.XValue.ToString());

// }

// Y является массивом, поэтому пробегаю по массиву

// foreach (DataPoint yp in chart1.Series[0].Points)

// {

// Вывожу Y

//textBox1.AppendText("Y=" + yp.ToString());

// textBox1.AppendText(Environment.NewLine);

// listBox1.AppendText("Y=" + yp.ToString());

// listBox1.AppendText(Environment.NewLine);

// listBox2.Items.Add("Y=" + yp.ToString());

// }

// }

// private void button2_Click(object sender, EventArgs e)

// {

// Close();

// }

private void chart1_Click_1(object sender, EventArgs e)

{
} }}

Язык программирования C++


private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

this->Hide();

}

private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {

double f1,x, y1;

double h = Convert::ToDouble(textBox1->Text);

double b = Convert::ToDouble(textBox2->Text);

double y = Convert::ToDouble(textBox3->Text);

x = 0;

y1 = y;

chart1->Series[0]->Points->Clear();

chart1->Series[1]->Points->Clear();

do

{

f1 = y - 2*sin(x);

x = x+h;

y = y+f1*h;

chart1->Series[0]->Points->AddXY(x, y);

chart1->Series[1]->Points->AddXY(x,f1);

}

while (x<=b);

}};}};}


Цель занятия: Изучить структуру программ , основные операторы VB.NET для построения графиков , Получить навыки работ по построению графиков функций в виде Window проекта

2. Построение алгоритмов в виде блок-схем

3. Разработка программы в форме Window проекта

Построение графика с использованием компонента chart







Рublic Class Form2

Dim X, Y, a, b, c, max, min As Object

Function f(ByVal x As Object)

f = x ^ 2

End Function

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

a = TextBox1.Text

b = TextBox2.Text

c = TextBox3.Text

Chart1.Series(0).Points.Clear()

max = -100

min = 100

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Close()

End Sub

Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click

a = TextBox1.Text

b = TextBox2.Text

c = TextBox3.Text

Chart1.Series(0).Points.Clear()

max = -100

min = 100

For Me.X = a To b Step c

Y = f(X)

Chart1.Series(0).Points.AddXY(X, Y)

If max < Y Then max = Y

If min > Y Then min = Y

Next X

Label6.Text = Format(max, "0.0#")

Label7.Text = Format(min, "0.0#")

End Sub

End Class

ublic Class Form1

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Me.Hide()

Form2.Show()

End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

Me.Hide()

Form3.Show()

End Sub

End Class

Public Class Form3
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click

End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Me.Hide()

Form1.Show()

End Sub

End Class
C# Вычисление площади фигур методом Монте-Карло


using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace Monte_Karlo

{

public partial class Form2 : Form

{

public Form2()

{

InitializeComponent();

}
private void menuItem4_Click(object sender, EventArgs e)

{

Close();

}
private void menuItem2_Click(object sender, EventArgs e)

{

Refresh();

Graphics g = this.CreateGraphics();

//рисуем ось x

g.DrawLine(new Pen(Color.Black,1),0,Height/2,Width, Height/2);

//рисуем ось у

g.DrawLine(new Pen(Color.Black,1), Width/2,0,Width/2, Height);

//выводим деления по оси х

for (int i = -250; i <= 250; i=i+50)

{

g.DrawLine(new Pen(Color.Black, 1), Width / 2 + i, Height / 2 - 3, Width / 2 + i, Height / 2 + 3);

//выводим значения по оси х

g.DrawString(Convert.ToString(i),new Font("Times New Roman",10), new SolidBrush(Color.Black),Width/2+i-10, Height/2+5);

}

//выводим деления по оси y

for (int i = -250; i <= 250; i = i + 50)

{

g.DrawLine(new Pen(Color.Black,1), Width/2-3, Height/2-i, Width/2+3, Height/2-i);

//выводим значения по оси y

g.DrawString(Convert.ToString(i), new Font("Times New Roman",10), new SolidBrush(Color.Black), Width/2-20, Height/2-i);

}

//рисуем окружности

g.DrawEllipse(new Pen(Color.Black), Width/2-200, Height/2-200,400, 400);

g.DrawEllipse(new Pen(Color.Black), Width/2+20, Height/2-80, 60, 60);

}

private void menuItem3_Click(object sender, EventArgs e)

{

//ввод число точек

int kolic = Convert.ToInt32(textBox1.Text);

int i,i0 = 0,i1 = 0;

int[] x1=new int[1000];

int[] y1 = new int[1000];

int[] x0=new int[1000];

int[] y0=new int[1000];

Random rnd=new Random();

//метод Монте-Карло

for (i = 1; i <= kolic; i++)

{

//выбор координат точек случайным образом

int t1 = rnd.Next(-220, 221);

int t2 = rnd.Next(-220, 221);

{

//условие попадания в фигуру

if ((t1 * t1 + t2 * t2 < 40000) & ((t1 - 50) * (t1 - 50) + (t2 + 50) * (t2 + 50) > 900))

{

//количество попавших точек

i1++;

//запоминаем их координаты

x1[i1] = t1;

y1[i1] = t2;

}

else

{

//количество непопавших точек

i0++;

//запоминаем их координаты

x0[i0] = t1;

y0[i0] = t2;

}

}

}

Graphics g = this.CreateGraphics();

g.DrawLine(new Pen(Color.Green, 1), Width / 2 - 220, Height / 2 - 220, Width / 2 + 220, Height / 2 - 220);

g.DrawLine(new Pen(Color.Green, 1), Width / 2 + 220, Height / 2 - 220, Width / 2 + 220, Height / 2 + 220);

g.DrawLine(new Pen(Color.Green, 1), Width / 2 + 220, Height / 2 + 220, Width / 2 - 220, Height / 2 + 220);

g.DrawLine(new Pen(Color.Green, 1), Width / 2 - 220, Height / 2 + 220, Width / 2 - 220, Height / 2 - 220);

//рисуем точки, не попавшие в фигуру

for (i = 1; i <= i0; i++)

{

g.DrawEllipse(new Pen(Color.Black), Width / 2 + x0[i] + 1, Height / 2 + y0[i] - 1, 2, 2);

}

//рисуем точки, попавшие в фигуру

for (i = 1; i <= i1; i++)

{

g.DrawEllipse(new Pen(Color.Red), Width / 2 + x1[i] + 1, Height / 2 + y1[i] - 1, 2, 2);

}

//количество попавших точек

int popav = i1;

//вывод количества попавших точек

textBox2.Text = Convert.ToString(popav);

//вычисляем площадь

float s = popav * 440 * 440 / kolic;

////вывод площади

textBox3.Text = Convert.ToString(s);

}
private void Form2_Load(object sender, EventArgs e)

{




}

}

}
1   2   3   4   5   6

Похожие:

В. К. Никишев «Лабораторный практикум по современным языкам программирования Visual Studio » icon Методические указания для проведения лабораторных занятий по дисциплине...
Лабораторные работы выполняются в среде программирования Microsoft Visual Studio 2010 на языке программирования C#. Каждый студент...
В. К. Никишев «Лабораторный практикум по современным языкам программирования Visual Studio » icon Курсовой проект 3 Тема, которую нам предписано
Целью курсовой работы является закрепление теоретического материала, приобретение практических навыков проектирования Windows приложений...
В. К. Никишев «Лабораторный практикум по современным языкам программирования Visual Studio » icon Инструкция пользователя по работе с тестирующим комплексом Visual Testing Studio
Инструкция пользователя по работе с тестирующим комплексом Visual Testing Studio/ Игнатова Е. Н., Чехонина С. А
В. К. Никишев «Лабораторный практикум по современным языкам программирования Visual Studio » icon Эксплуатационные материалы лабораторный практикум
Эксплуатационные материалы: лабораторный практикум / А. Д. Синегибская. – Братск: БрГУ, 2011. – 65 с
В. К. Никишев «Лабораторный практикум по современным языкам программирования Visual Studio » icon Задачах программирования лабораторный практикум по дисциплине «Системное...
Методические указания предназначены для подготовки дипломированных специалистов направления 230100 «Информатика и вычислительная...
В. К. Никишев «Лабораторный практикум по современным языкам программирования Visual Studio » icon Курсовой проект был создан с помощью среды разработки Visual Studio...
Разработка приложения для построения динамической изображения трехмерной модели объекта «Паровоз»
В. К. Никишев «Лабораторный практикум по современным языкам программирования Visual Studio » icon Лабораторная работа №7 «Подготовка и проведение тестирования»
Изучить методы подготовки и проведения тестирования и получить навыки создания и выполнения тестов в среде ms visual Studio для приложений...
В. К. Никишев «Лабораторный практикум по современным языкам программирования Visual Studio » icon Инструментарий веб-разработчика: Apache, php, Mysql, phpMyAdmin Лабораторный...
Инструментарий веб-разработчика: Apache, php, Mysql, phpMyAdmin: Лабораторный практикум по дисциплине «Сети ЭВМ и телекоммуникации»...
В. К. Никишев «Лабораторный практикум по современным языкам программирования Visual Studio » icon Электронных ресурсов
Басангова Е. О. Лабораторный практикум “Компьютерная анимация в среде Macromedia Flash”
В. К. Никишев «Лабораторный практикум по современным языкам программирования Visual Studio » icon Название Ссылка
Лабораторный практикум по биологии гоу впо уральского Государственного лесотехнического университета
В. К. Никишев «Лабораторный практикум по современным языкам программирования Visual Studio » icon Лекция 1
Молчанов А. Ю. Системное программное обеспечение. Лабораторный практикум: – спб.: Питер, 2005. – 284 с
В. К. Никишев «Лабораторный практикум по современным языкам программирования Visual Studio » icon Языки программирования. Создание программы в языке Visual Basic
Экспериментальное исследование тест работы программы выявление ошибок 16
В. К. Никишев «Лабораторный практикум по современным языкам программирования Visual Studio » icon Глава I. Цифровое представление звуковых сигналов.
Ii программы для создания и обработки цифрового звука и создание цор «практикум по работе с программой «fl-studio»
В. К. Никишев «Лабораторный практикум по современным языкам программирования Visual Studio » icon Среднетехнический факультет
Лабораторный практикум составлен для проведения лабораторных работ по дисциплине «Технохимический контроль производства»
В. К. Никишев «Лабораторный практикум по современным языкам программирования Visual Studio » icon Лабораторный практикум по дисциплине
Лабораторные работы должны выполняться в той последовательности, в которой они приводятся в данной разработке
В. К. Никишев «Лабораторный практикум по современным языкам программирования Visual Studio » icon Уро Тема урока: Язык программирования Visual Basic. Работа с массивами
Ввести понятие массива, его размерности. Познакомиться с фиксированными и динамическими массивами, способами их описания

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск