Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Инфоурок / Информатика / Другие методич. материалы / Практикум по современным языкам программировния

Практикум по современным языкам программировния

  • Информатика

Поделитесь материалом с коллегами:

Министерство образования и науки

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«Чувашский государственный университет имени И.Н. Ульянова»








В. К. Никишев




«Лабораторный практикум по современным языкам программирования Visual Studio














2015





Печатается по решению Ученого совета Чувашского государственного университета им. И.Н. Ульянова.


Рецензенты:


Горский А.В . -доцент кафедры информатики и вычислительной техники чувашского педагогического университета им. И.Я. Яковлева, канд. физ-мат. Наук, доцент

Григорьев Ю В. -старший преподаватель кафедры

информатики и вычислительной техники чувашского

педагогического университета им. И.Я. Яковлева,

канд. пед. наук,



Лабораторный практикум по современным языкам программирования предназначен для студентов кафедры компьютерных технологий. В пособии представлены задания и примеры выполнения лабораторных работ по языкам программирования VC#, VС++, VB.NET, входящих в состав комплекса Visual Studio 2010-2013. Тематика лабораторных работ соответствует рабочей программе, написанной в соответствии со стандартом образования. Каждая работа содержит: условие задачи, алгоритм в виде блок-схем, программы на языках программирования VC#, VС++, VB.NET и результаты вычислений. Задания для выполнения лабораторных работ приведены в конце каждой темы. Обучение построено по методу параллельного изучения основ программирования на языке VC#, VС++, VB.NET на основе структурного метода программирования. Такой подход поможет студентам освоить новые языки программирования на платформе NET .



ISBN © 2015


Предисловие


Microsoft.NET – современная среда для разработки различных информационных систем повышенной сложности ( обычно читается .Dot NET). . В конце октября 2009 г. было объявлено о доступности версий Visual Studio 2010 и платформы .NET Framework 4. Инфраструктурой среды Microsoft.NET является платформа .NET Framework, которая определяет методы разработки и выполнения программного кода, входящих в эту инфраструктуру языков программирования Visual C#.NET, Visual Basic.NET, Visual C++.NET и языка функционального программирования F.NET. Платформа включает следующие основные компоненты: Common Language Runtime (CLR) и .NET Framework Class Library (.NET FCL). Компонент CLR это набор служб, необходимых для выполнения управляемого кода. Компонент FCL это объектно-ориентированная библиотека классов, интерфейсов и системы типов, классов (на платформе .NET все построено на структурах или классах), с помощью которых создаются: графический пользовательский интерфейс (Windows Forms); web-приложения и web-службы на основе технологии ASP.NET (Web Forms); разработки XML и Internet-протоколов (FTP, HTTP, SMTP, SOAP); разработки приложений, работающих с базами данных (ADO .NET) и многое другое.

Visual Studio 2010 это стратегический программный продукт для современных методов и способов построения продуктов. Основными положительными достоинствами этой среды являются:открытость системы, которая позволяет включать в среду наряду с имеющими языками программирования любые другие языки программирования ( например, язык Delpi Prizm или Delphi/Net), возможность разработки нескольких частей одного приложения на разных языках программирования, что дает возможность преодолеть языковый барьер, что является проблемой современных программистов мира, возможность использования единых визуальных компонентов для всех языков программирования и много других возможностей. Данное руководство , в котором приведены примеры решения на языках программирования, входящих в среду Visual Studio 2010 ( Visual C#.NET, Visual Basic.NET, Visual C++.NET ), будет способствовать дальнейшему освоению современного подхода а разработке сложных информационных систем различного назначения. В лабораторном практикуме приведены программы, разработанные методом структурного программирования. В следующей книге « Лабораторный практикум для объектно-ориентированного программирования» изучаются вопросы по программированию методом объектно-ориентированного программирования.



Лабораторные работы

по современным языкам программирования


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

Структура программ. Вычисление арифметических выражений. Консольный вариант

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

Условие: Разработать проект для вычисления выражения c=a+b





Блок – схема


hello_html_m639938be.gif

Программа на языке программирования C#.NET

( консольный вариант)


using System;

uhello_html_mafeff60.jpgsing System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

string str;

Console.WriteLine("\n\n\n\n\n\n\n\n " + " Программа Калькулятор");

Console.WriteLine(" \n Выполнил Никишев ");

Console.ReadKey();

Console.ReadLine();

Console.Clear();

Console.WriteLine("Введите число а.");

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

Console.WriteLine("Вы ввели: " + a);

Console.WriteLine("Введите число b.");

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

Console.WriteLine("Вы ввели: " + b);

int c=a+b;

Console.WriteLine("результат с=: " + c);

Console.WriteLine("\n нажми Enter для выхода из программы");

hello_html_mc3226f6.jpgstr = Console.ReadLine();

Console.ReadKey();

//Console.ReadLine();

}}

Программа на языке программирования C++.NET

( консольный вариант)


hello_html_m78217b2d.png

hello_html_m21dc9791.png

#include "stdafx.h"

#include "iostream"

#include

#include

#include

#include

using namespace std;

char newline;

int _tmain(int argc, _TCHAR* argv[])

{

//Титульный лист

setlocale(LC_CTYPE,"Russian");//Перевод на русский язык

cout<<"\n\n\n\n\n\n\n\n\t\tЛабораторная работа по программированию";

// cout<<"\n\t\t\tТема: Наследование ";

cout<<"\n\t\t\tТема: Вычисление арифметических выражений ";

cout<<"\n\n\n\n\t\t\t\t\t Выполнил:";

cout<<"\n\t\t\t\ Профессор кафедры компьютерных технологий";

cout<<"\n\t\t\t\ Никишев Вячеслав Константинович\n\n\n\n\n\n\n\n\n\\n";

system("pause");

system("cls");

//Условие задачи

cout<<"\n\nУсловие: Вычислить выражение с=а+в \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ";

system("pause");

system("cls");

//Основная программа

char t;

float a,b,c;

cout<<"\n\nВведите число а ";

cin>> a;

cout<<"\n\nВведите число b ";

cin>> b;

c=a+b;

cout<<"\n\nРезультат с= "<< c << endl;

cout<<"Повторить программу? (y/n) ";

cin>>t;

while (t=='y');//условие цикла с постусловием

}


Программа на языке программирования

VB.NET

( консольный вариант)

Module Module1

Dim x As Integer

Dim s, a, b, c, m As Double

Dim str As String

Sub Main()

Console.WriteLine()

Console.WriteLine()

Console.WriteLine(" ГОУ ВПО ЧГУ

им. И. Н. Ульянова")

Console.WriteLine()

Console.WriteLine()

Console.WriteLine(" Лабораторная работа по программированию ")

Console.WriteLine(" на тему 'Вычисление выражений'")

Console.WriteLine()

Console.WriteLine()

Console.WriteLine(" Выполнил: студент Сергеев Н. И.")

Console.WriteLine(" Проверил: профессор информатики Никишев В. К.")

Console.WriteLine()

Console.WriteLine()

Console.WriteLine()

Console.WriteLine()

Console.WriteLine()

Console.WriteLine()

Console.WriteLine(" Нажмите любую клавишу")

Console.ReadKey()

Console.Clear()

str = "g"

Do Until str = ""

Console.Clear()

Console.WriteLine("Введите число 'а'")

a = Console.ReadLine()

Console.WriteLine("Введите число 'b'")

b = Console.ReadLine()

'a = Math.Pow(2, 1 / x - 1) - Math.Sin(x - 1)

'b = Math.Pow(Math.Cos(1 - x), 2) + Math.Log(2 + Math.Abs(1 - x)) / Math.Log(2)

'm = 3 - x

's = a * m / b

c = a + b

Console.WriteLine("Результат с")

Console.WriteLine(c)

Console.WriteLine()

Console.WriteLine("повторить? (нажмите клавишу)")

str = Console.ReadLine()

Loop End Sub End Module

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

Вычисление арифметических выражений.

Windows вариант

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

Условие: Разработать проект для вычисления выражения

c=a+b

Блок-схема window проекта



hello_html_m3fc4d016.gif


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


Windows - проект

using System;

uhello_html_m7bd17a71.jpgsing System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

uhello_html_68d797bd.pngsing System.Windows.Forms;

namespace WindowsFormsApplication3

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

// кнопка вычислить

uhello_html_494fe19.jpgsing 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 WindowsFormsApplication3

{

hello_html_2b975936.jpgpublic partial class Form4 : Form

{

public Form4()

{

InitializeComponent();

}

//кнопка вычислить

private void button1_Click(object sender, EventArgs e)

{

// ввод данных

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

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

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

//вычисление

double c = (a + b) / d;

//вывод результата

textBox3.Text = textBox3.Text + " c= " + Convert.ToString(c) + "\n ";

}

private void button2_Click(object sender, EventArgs e)

{

Form1 f1 = new Form1();

Form4.ActiveForm.Hide();

f1.Show();

} }}

//кнопка выход

private void button2_Click(object sender, EventArgs e)

{

Close();

}

// кнопка условие

private void button3_Click(object sender, EventArgs e)

{

Form2 f2 = new Form2();

Form1.ActiveForm.Hide();

f2.Show();

}

// кнопка автор

private void button4_Click(object sender, EventArgs e)

{

Form3 f3 = new Form3();

Form1.ActiveForm.Hide();

f3.Show();

} } }



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


hello_html_m7e5d2517.png









hello_html_75ee2b6c.png

hello_html_6d8fcb9c.png


hello_html_m6cadde4a.png










//Форма 1

#pragma once

#include "Form2.h"

#include "Form3.h"

#include "Form5.h"

namespace lab1 {

using namespace System;

using namespace System::ComponentModel;

using namespace System::Collections;

using namespace System::Windows::Forms;

using namespace System::Data;

using namespace System::Drawing;

//МЕНЮ

#pragma endregion

private:System::VoidначалоToolStripMenuItem_Click (System::Object^sender, System::EventArgs^ e) {

Form3 ^testDialog = gcnew Form3();

testDialog->ShowDialog(this);

}

private:System::VoidзаданиеToolStripMenuItem_Click (System::Object^ sender, System::EventArgs^ e) {

Form2 ^testDialog = gcnew Form2();

testDialog->ShowDialog(this);

}

private:System::VoidобАвтореToolStripMenuItem_Click (System::Object^ sender, System::EventArgs^ e) {

Form5 ^testDialog = gcnew Form5();

testDialog->ShowDialog(this);

}

private:System::VoidвыйтиToolStripMenuItem_Click (System::Object^ sender, System::EventArgs^ e) {this->Close();

}};

//кнопка выход

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

this->Close();

}

//кнопка вычислить

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

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

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

//double c;

double z=(Math::Sqrt(Math::Sin((x + y)) + Math::Cos(x) * (x + y)) / (x + Math::Pow(y,4) * Math::Exp(x + y)));

//c = a + b;

textBox3->Text = Convert::ToString(c);

}


VB.NET



hello_html_m4b04f63a.pnghello_html_m4c1594aa.png









Phello_html_mc12306c.pngublic Class Form4


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

Dim x, y As Double

x = Val(TextBox1.Text)

y = (x * x + 2 * x - 3 + (x + 1) * (Math.Sqrt(x * x - 9)) / (x * x - 2 * x - 3 + (x + 1) * (Math.Sqrt(x * x - 9))))

TextBox2.Text = Str(y)

End Sub

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

Dim a, b, c As Double

a = Val(TextBox3.Text)

b = Val(TextBox4.Text)

c = a + b

TextBox5.Text = Str(c)

End Sub

End Class


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

Вычисление сложных арифметических выражений

Windows вариант

Условие: Разработать проект для вычисления выражения

hello_html_m5a5b054c.gif



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



hello_html_m6799c5d8.png

hello_html_673150e8.png













hello_html_m42d70ce7.pnghello_html_m45349a0a.png








Программа

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 WindowsFormsApplication3

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

// кнопка начало

private void button1_Click(object sender, EventArgs e)

{

Form4 f4 = new Form4();

Form1.ActiveForm.Hide();

f4.Show();

}

//кнопка выход

private void button2_Click(object sender, EventArgs e)

{

Close();

}

// кнопка условие

private void button3_Click(object sender, EventArgs e)

{

Form2 f2 = new Form2();

Form1.ActiveForm.Hide();

f2.Show();

}

// кнопка автор

private void button4_Click(object sender, EventArgs e)

{

Form3 f3 = new Form3();

Form1.ActiveForm.Hide();

f3.Show();

}

private void button1_Click(object sender, EventArgs e)

{


// ввод данных

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

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

double x = Math.Tan(a); double y = Math.Tan(b);

double z1=(Math.cos(x)-Math.cos(y));

double z2=(Math.sin(x)-Math.sin(y));

double x=(Math.pow(z1,2)-Math.pow(z2,2))

//вывод результата

textBox3.Text = textBox3.Text + " z= " + Convert.ToString(c) + "\n ";

hello_html_m7257ac00.png

}

}


hello_html_m698f89b0.png

private void button2_Click(object sender, EventArgs e)

{

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


double z = (1/((1+a*a+a)/(2*a+a*a)+2-((1-a+a*a)/(2*a-a*a)))*(5*a-2*a*a));

hello_html_m27400c32.pngtextBox4.Text = textBox4.Text + Convert.ToString(z);


private void выходToolStripMenuItem_Click(object sender, EventArgs e)

{

Close();

}

private void решениеToolStripMenuItem_Click(object sender, EventArgs e)

{

Form2 f2 = new Form2();

Form1.ActiveForm.Hide();

f2.Show();

}

private void петровГеоргийToolStripMenuItem_Click(object sender, EventArgs e)

{

} }}



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

Вычисление сложного арифметического выражения


hello_html_m529de96e.png







hello_html_7c3e60c4.png








hello_html_3ec311e0.png







hello_html_2a09670b.png






1-я форма

#pragma once

#include "Form2.h"

#include "Form3.h"

#include "Form4.h"

namespace wsvc {

using namespace System;

using namespace System::ComponentModel;

using namespace System::Collections;

using namespace System::Windows::Forms;

using namespace System::Data;

using namespace System::Drawing;

}

#pragma endregion

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

}

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

Form2^ gForm2 = gcnew Form2;

gForm2->Show();

gForm2->Visible = true;

}

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

Close();

}

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

Form3^ gForm3 = gcnew Form3;

gForm3->Show();

gForm3->Visible = true;

}

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

Form4^ gForm4 = gcnew Form4;

gForm4->Show();

gForm4->Visible = true;

}

};}

Основная форма

#pragma endregion

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

}

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

}

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

this->Close();

}

// ввод данных

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

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

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

double c=0;

double z=(Math::Sqrt(Math::Sin((x + y)) + Math::Cos(x) * (x + y)) / (x + Math::Pow(y,4) * Math::Exp(x + y)));

//c = a + b;

//label2->Text = Convert::ToString(cal->z);

label2->Text = Convert::ToString(z);

textBox3->Text = Convert::ToString(z);

}};}








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

hello_html_m23f48448.png













hello_html_7716417c.png

hello_html_f982c2d.png


















Блок-схема алгоритма вычисление арифметического выражения и суммы ряда



hello_html_3ce49da4.gif






hello_html_3d921a37.png











Public Class Form1

//меню

Private Sub УсловиеToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles УсловиеToolStripMenuItem.Click

Form3.Show()

End Sub

Private Sub Задача1ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Задача1ToolStripMenuItem.Click

Form4.Show()

End Sub

Private Sub Задача2ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Залача2ToolStripMenuItem.Click

Form5.Show()

End Sub

Private Sub ВыходToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ВыходToolStripMenuItem.Click

Close()

End Sub

Private Sub ЗадачиToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ЗадачиToolStripMenuItem.Click

End Sub

Private Sub MenuStrip1_ItemClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles MenuStrip1.ItemClicked

End Sub

End Class

Public Class Form4

// выход

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

Close()

End Sub

//вычислить

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

Dim x, y As Double

x = Val(TextBox1.Text)

y = ((Math.Sin(8 - 2 * x) + Math.Exp(1 - x / 4)) / (Math.Log10(2 + 2 * x) + Math.Tan(2 * x - 8))) * (6 - x)

TextBox2.Text = Str(y)

End Sub

End Class

Public Class Form5

Dim n, i As Integer

Dim k, l, s As Double

// вычисление суммы ряда

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

n = Val(TextBox1.Text)

k = 0

l = 0

s = 0

For i = 1 To n

k = k + Math.Cos(i)

l = l + Math.Sin(i)

s = s + k / l

Next i

TextBox2.Text = Str(s)

End Sub

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

Close()

End Sub

Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

End Sub

End Class



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

Вычисление суммы ряда. Консольный вариант


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

Условие: Вычислить сумму ряда

s=(1+1/1) + (1+1/ 2) +....+ (1+1/n)");


using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

string str;

Console.WriteLine("\n\n\n\n\n\n\n\n " + " Программа сумма ряда");

Console.WriteLine( " Вычислить сумму ряда s=(1+1/1) + (1+1/ 2) +....+ (1+1/n)");

Console.WriteLine(" \n Выполнил Никишев ");

Console.ReadKey();

Console.ReadLine();

Console.Clear();

Console.WriteLine("Введите число n.");

int n = int.Parse(Console.ReadLine());

// Console.WriteLine("Вы ввели: " + a);

// Console.WriteLine("Введите число b.");

// int b = int.Parse(Console.ReadLine());

// Console.WriteLine("Вы ввели: " + b);

// int c=a+b;

// Console.WriteLine("результат с=: " + c);

double s=0;

for(int i=1;i<=n;i++)

{

double a=(1+1/Math.Pow(i,i));

s = s + a;

}

Console.WriteLine("результат S=: " + s);

//Console.WriteLine("результат s=: {0:F9}" , s.ToString ());

Console.WriteLine("\n нажми Enter для выхода из программы");

str = Console.ReadLine();

Console.ReadKey();

//Console.ReadLine();

}

}

}


Программа на языке С++


hello_html_m4bc86e02.png


#hello_html_2c44ffff.pnginclude "stdafx.h"

#include "iostream"

#include

#include

#include

#include

using namespace std;

char newline;

int _tmain(int argc, _TCHAR* argv[])

{

system("cls");

setlocale(LC_CTYPE,"Russian");//Перевод на русский язык

cout<<"\n\n\n\n\n\n\n\n\t\t Лабораторная работа по программированию";

cout<<"\n\n\n\n\n\n\n\n\t\t Тема: Вычисление суммы ряда";

cout<<"\n\n\n\n\t\t\t\t\t Выполнил :";

cout<<"\n\t\t\t\t\t профессор кафедры компьютерных технологий";

cout<<"\n\t\t\t\t\t Никишев Вячеслав Константинович"<<"\n\n\n\n\n\n\n"<

system("pause");

system("cls");

cout<<"\n\n Условие:" << endl;

cout<< "Вычислить сумму s=(1+1/1) + (1+1/ 2) +....+ (1+1/n)";

"<<"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"<

system("pause");

system("cls");

char t;

int k,i;

double s,p;

cout<<"Введите количество членов ряда\n";

cin>>k;

do

{

t=0;

s=0;

system("cls");

for (int i=1;i

{

s=s+(1+p/i);

}

cout<<"s="<< s<

cout<<"\n";

getch();

cout<<"\n";

cout<<"Повторить? (y/n) ";

cin>>t;

system("cls");

}

while (t=='y');

}

VB.NET

hello_html_m7b26f11f.gif

Словесный алгоритм:

1. Титульный лист ( тема, условие задачи, автор,кнопка Начало);

2. Если кнопка Начало включена, то переход на 3, иначе на 1;

3. Ввод n ( текстовое окно);

4. Организация цикла от i=1 до n;

5. Вычисление a=(-1) ^ (i + 1) / (i * (i + 1))

6.Вычислить выражение s=s+a

7. Если i>n, то переход на 8, иначе на 5

8. Вывод результата вычисления s

Module Module1

Dim x, k As Integer

Dim s As Double

Dim str As String

Sub Main()

Dim k As Integer

Console.WriteLine()

Console.WriteLine(« ГОУ ВПО ЧГПУ им. И. Н. Ульянова»)

Console.WriteLine()

Console.WriteLine()

Console.WriteLine(« Лабораторная работа по программированию «)

Console.WriteLine(« на тему “Вычисление суммы ряда”»)

Console.WriteLine()

Console.WriteLine()

Console.WriteLine(« Выполнил: студент МиИ-3а Сергеев Н. И.»)

Console.WriteLine(« Проверил: профессор информатики Никишев В. К.»)

Console.WriteLine()

Console.WriteLine()

Console.WriteLine()

Console.WriteLine()

Console.WriteLine(« Нажмите любую клавишу»)

Console.ReadKey()

Console.Clear()

str = «g»

s = 1

Do Until str = «»

Console.Clear()

Console.WriteLine(«Введите число “n”»)

x = Console.ReadLine()

For k = 1 To x

s = s * (1 + 1 / Math.Pow(k, x))

Next

Console.WriteLine(s)

Console.WriteLine()

Console.WriteLine(«повторить?(нажмите клавишу)»)

str = Console.ReadLine()

Loop

End Sub

End Modulehello_html_25272d0d.gif

hello_html_5440c31a.gif




Лабораторная работа5: Вычисление суммы ряда. Windows-проект.

Язык программирования с#

Условие: Задача 1. Вычислить сумму ряда hello_html_m2ba38275.gif)

Задача 2. Вычислить сумму ряда с заданной точностью

hello_html_75d9e25d.gif


Блок-схема алгоритм


hello_html_7031063d.gif



hello_html_52c4a6a1.pnghello_html_m7fbfb80d.png















hello_html_m44f2bdd0.png











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 WindowsFormsApplication23

{

public partial class Form3 : Form

{

public Form3()

{

InitializeComponent();

}

// Кнопка задание 1

private void button1_Click(object sender, EventArgs e)

{

int n = Convert.ToInt16(textBox1.Text);

double s=0;

for(int i=1;i<=n;i++)

{

double a=(1+1/Math.Pow(i,i));

s = s + a;

}

textBox2.Text = Convert.ToString(s);

}

private void button2_Click(object sender, EventArgs e)

{

Form1 f1 = new Form1();

Form3.ActiveForm.Hide();

f1.Show();

}

hello_html_5b405a6b.png }

}









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 WindowsFormsApplication23

{

public partial class Form6 : Form

{

public Form6()

{

InitializeComponent();

}

// Кнопка вычислить

private void button1_Click(object sender, EventArgs e)

{

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

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

int n = 0;

double a = Math.Pow(-1, n + 1)*Math.Pow(x, 2 * n + 1) /(2 * n + 1);

double s = 0;

while (Math.Abs(a) >= eps)

{

n = n + 1;

a = Math.Pow(-1, n + 1) * Math.Pow(x, 2 * n + 1) / (2 * n + 1);

s = s + a;

}

textBox3.Text = Convert.ToString(s);

textBox4.Text = Convert.ToString(n);

}

// Кнопка возврат

private void button2_Click(object sender, EventArgs e)

{

Form1 f1 = new Form1();

Form6.ActiveForm.Hide();

f1.Show();

} } }


Программа в среде VC++.NET

hello_html_7f6895a1.png







#pragma endregion

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

}

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

}

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

this->Close();

}

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

int n = Convert::ToInt32(textBox1->Text);

double s=0;

int i;

double r,p;

p=1;

for(int i=1;i<=n;i++)

{

r=1+p/i;

s=s+r;

}

//label2->Text = Convert::ToString(cal->z);

label2->Text = Convert::ToString(r);

textBox3->Text = Convert::ToString(s);

}};}


Программа на VB.NET


hello_html_2604ddcf.pnghello_html_mc7b8e51.png










hello_html_m4a379793.pnghello_html_m496711c6.png









Public Class Form4

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Form5.Show()

Me.Hide()

End Sub

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

Form1.Show()

Me.Hide()

End Sub

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

Dim i, n As Integer, p, s As Single

n = Val(TextBox1.Text)

p = 1 : s = 0

For i = 1 To n

s = s + Math.Sin(i)

p = p * (i / s)

Next

TextBox2.Text = p

End Sub

End Class

Public Class Form5

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

Dim s, p, t As Single, n As Integer

s = 0

n = 1

t = Val(TextBox1.Text)

p = Math.Pow(-1, n) / Math.Pow(n, 2)

s = s + p

Do Until Math.Abs(p) < t

n = n + 1

p = Math.Pow(-1, n) / Math.Pow(n, 2)

s = s + p

Loop

TextBox2.Text = Str(s)

TextBox3.Text = Str(n)

TextBox4.Text = Str(Math.Abs(s - Math.Pow(Math.PI, 2) / 12))

End Sub

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

Form1.Show()

Me.Hide()

End Sub

End Class


Задания к теме Сумма ряда

hello_html_mf3b7261.jpg



hello_html_m71c0baf3.png

Лабораторная работа 6. Одномерные массивы.

Консольный вариант

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


hello_html_67e3be8c.png







Программа на языке программирования С#

Массивы

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication3

{

class Program

{

static void Main(string[] args)

{

String й = "Да";

while (й == "Да")

{

Console.WriteLine("\n\n\n\n\n\n\n\n " + " одномерные массивы в консольном варианте ");

Console.WriteLine();

Console.WriteLine("Условие : Создать массив, получить массивы положительных и отрицательных чисел");

Console.WriteLine();

Console.WriteLine(" Выполнил профессор Никишов В.К.");

Console.WriteLine();

Console.WriteLine();

Console.ReadKey();

Console.Clear();

// int[] для_конструктора = new int[25];

Console.WriteLine("Введите размерность массива :");

int n = int.Parse(Console.ReadLine());

int[] mas = new int[25];

int j;

Random rnd = new Random();

string s = "";

for (int i = 0; i < n; i++)

{

mas[i] = rnd.Next(-20, 20);

s = s + mas[i].ToString() + " ";

//

}

Console.WriteLine(" Исходный массив");

Console.WriteLine(s + " ");

int[] masP = new int[25];

j = 0;

s = "";

for (int i = 0; i < n; i++)

{

if (mas[i] > 0) { masP[j] = mas[i]; s = s + masP[j].ToString() + " "; j++; }

}

Console.WriteLine(" Массив из положительных чисел");

Console.WriteLine(s + " ");

j = 0;

s = "";

for (int i = 0; i < n; i++)

{

if (mas[i] < 0) { masP[j] = mas[i]; s = s + masP[j].ToString() + " "; j++; }

}

Console.WriteLine(" Массив из отрицательных чисел");

Console.WriteLine(s + " ");

s = "";

int[] a = new int[25];

for (int i = 0; i < n; i++)

{

s += a[i].ToString() + " ";


Console.ReadKey();

Console.WriteLine("Повторить программу ? Да/Нет ");

й = Console.ReadLine();

Console.Clear();

} } }

2-я программа. Создать одномерный массив. Вычислить мах число, вывести последний положительный элемент. Ввести числа А В и вывести элементы массива, которые не входят в диапазон введенных чисел.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace laba5_m_

{

class Program

{

static void Main(string[] args)

{

string str;

Console.WriteLine("\n\n\n\n\n\n\n\n " + " Программа одномерные массивы");

Console.WriteLine("Создать одномерный массив размерностью n. Вычилить максимальное число, последнее положительное число.");

Console.WriteLine(" Ввести числа А В и вывести элементы массива , которые не входят в диапазон чисел А В ");

Console.WriteLine(" \n Выполнил Никишев ");

Console.ReadKey();

Console.ReadLine();

Console.Clear();

Console.WriteLine("Введите число n.");

int n = int.Parse(Console.ReadLine());

int[] mas = new int[n];

Random rnd = new Random();

for (int i = 0; i < mas.Length; i++)

{

mas[i] = rnd.Next(-5, 11);

}

Console.WriteLine("Исходный массив: ");

for (int i = 0; i < mas.Length; i++)

Console.Write(mas[i] + " ");

Console.WriteLine();

double a, b;

Console.Write("Введите А: ");

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

Console.Write("Введите В: ");

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

int max = mas.Max();

Console.WriteLine("Максимальное число: {0}\n",max);

int index=0;

for (int i = 0; i < mas.Length; i++)

{

if (mas[i] > 0)

index = i;

}

Console.WriteLine("Последние положительное число: {0}\n",mas[index]);

int sum=0;

for (int i = 0; i <= index; i++)

{

sum = sum+mas[i];

}

Console.WriteLine("Сумма: {0}\n",sum);

for (int i = 0; i < mas.Length; i++)

{

if ( Math.Abs(mas[i])>=a && Math.Abs(mas[i]) <= b)

{

mas[i] = 0;

}

}

Boolean tmp=false;

for (int i = mas.Length - 1; i >= mas.Length/2; i--)

{

if (mas[i] != 0)

{

for (int j = 0; j <= mas.Length / 2; j++)

{

if (mas[j] == 0) {

mas[j] = mas[i];

mas[i] = 0;

} } } }

for (int i = 0; i < mas.Length; i++)

Console.Write(mas[i] + " ");

Console.ReadKey();

Console.WriteLine("\n нажми Enter для выхода из программы");

str = Console.ReadLine();

Console.ReadKey();

//Console.ReadLine();

} }}

Программа С++

#include "stdafx.h"

#include

#include

#include

#include

#include

using namespace std;


int _tmain(int argc, int n, int k, _TCHAR* argv[])

{

setlocale( LC_ALL,"Russian" );

cout << "28 вар.Одномерные массивы. Консольный вариант. Выполнил Никишев Вячеслав Константинеович\n";

cout << "Введите n - размерность массива, но меньше 25\n";

k=0;

n=0;

while (k==0)

{

cin >> n;

if (n>25)

{printf("Задана размерность массива, превышающая норму, пожалуйста введите заного размерность массива меньше 25\n");

}

else

if (n<=0)

{printf("Задана размерность массива меньше 1, пожалуйста введите размерность массива меньше 25, но больше 0\n");

}

else

k=1;

}

printf("Введена размерность массива n =%d\n", n);

int a[25];

srand(time(NULL)|clock());

for (int i=1;i<=n;i++)

{//cin >> a[i];

a[i]=-10+(rand()%(20));

}

printf("Исходный массив\n");

for (int i=1;i<=n;i++)

{

cout << a[i] << " ";

}

printf("\nМассив из положительных чисел\n");

for (int i=1;i<=n;i++)

{if (a[i]>0)

cout << a[i] << " ";

}

printf("\nМассив из отрицательных чисел\n");

for (int i=1;i<=n;i++)

{if (a[i]<0)

cout << a[i] << " ";

}

printf("\nМассив из нулей\n");

for (int i=1;i<=n;i++)

{if (a[i]==0)

cout << a[i] << " ";

}

cout << "\n";

system("pause");

return 0;

}

hello_html_m11b79e69.png











Программа на языке vb.net

Module Module1

Dim x, i, n As Integer

Dim a, b, c, m As Double

Dim s(100) As Integer

Dim str As String

Sub Main()

Console.WriteLine()

Console.WriteLine()

Console.WriteLine(" ЧГУ им. И. Н. Ульянова")

Console.WriteLine()

Console.WriteLine()

Console.WriteLine(" Лабораторная работа по программированию ")

Console.WriteLine(" на тему ' Одномерные массивы'")

Console.WriteLine()

Console.WriteLine()

Console.WriteLine(" Выполнил: студент МиИ-3а Сергеев Н. И.")

Console.WriteLine(" Проверил: профессор информатики Никишев В. К.")

Console.WriteLine()

Console.WriteLine()

Console.WriteLine()

Console.WriteLine()

Console.WriteLine()

Console.WriteLine()

Console.WriteLine(" Нажмите любую клавишу")

Console.ReadKey()

Console.Clear()

str = "g"

Do Until str = ""

Console.Clear()

' randomaze()

Console.WriteLine("Введите число 'n'")

n = Console.ReadLine()

For i = 1 To n

s(i) = Int(Rnd(1) * 21 - 10)

Next i

For i = 1 To n

Console.WriteLine(s(i), "")

' Console.WriteLine()

Next i

' c = a + b

Console.WriteLine()

Console.WriteLine("повторить? (нажмите клавишу)")

str = Console.ReadLine()

Loop

End Sub

End Module

Лабораторная работа 7.Одномерные массивы.Windows проекты

Язык программирования с#






hello_html_m653c657.png

hello_html_m5ee0305b.png


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;

namespace WindowsFormsApplication3

{

public partial class Form2 : Form

{

public Form2()

{

InitializeComponent();

}

int[] mas = new int[25];

int[] mas1 = new int[25];

private void button1_Click(object sender, EventArgs e)

{

int n = Convert.ToInt16(textBox1.Text);

Random rnd = new Random();

int[] mas = new int[25];

for (int i = 1; i < n + 1; i++)

{

mas[i] = rnd.Next(-20, 41);

mas1[i] = mas[i];

textBox2.Text = textBox2.Text + " " + Convert.ToString(mas[i]);

}

// int[] mas1 = new int[25];


// int j;

// string s = "";

for (int i = 1; i < n-1; i++)

{

for (int j = i + 1; j < n; j++)

{

if (mas1[i] > mas1[j]) { int d = mas1[j]; mas1[j] = mas1[i]; mas1[i] = d; }


}

}

for (int i = 1; i < n; i++)

textBox3.Text = textBox3.Text + " " + mas1[i];


for (int i = 1; i < n-1; i++)

{

for (int j = i + 1; j < n; j++)

{

if (mas1[i] < mas1[j]) { int d = mas1[j]; mas1[j] = mas1[i]; mas1[i] = d; }

}

}

for (int i = 1; i < n; i++)

textBox4.Text = textBox4.Text + " " + mas1[i];

}

private void button2_Click(object sender, EventArgs e)

{

Close();

} } }


Программа на языке VB.NET

hello_html_1f965c9f.png









hello_html_56f5be1f.png












hello_html_395de518.png








Public Class Form2

Dim s(20) As Integer

Dim i, j, n, max, min, k As Integer

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

n = Val(TextBox1.Text)

TextBox2.Text = " "

Randomize()

For i = 1 To n

s(i) = Int(Rnd(1) * 21 - 10)

TextBox2.Text = TextBox2.Text + " " + Str(s(i))

Next i

End Sub

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

TextBox3.Text = " "

max = -20

min = 20

For i = 1 To n

If s(i) > max Then max = s(i)

If s(i) < min Then min = s(i)

Next i

TextBox4.Text = min

TextBox5.Text = max

k = 0

For i = min To max

For j = 1 To n

If i <> s(j) Then k = k + 1

Next j

If k = n Then TextBox3.Text = TextBox3.Text + " " + Str(i)

k = 0

Next i

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Close()

End Sub

End Class


Условие. Создать одномерный массив и выполнить сортировки методом «пузырька» и обмена на языке VB.NET


Public Class Form1

Dim M(50) As Integer

Dim n As Integer

Dim u As Integer

Dim i As Integer

Dim j As Integer


Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Close()


End Sub

Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click

Randomize()

textBox2.Clear()

n = Val(textBox1.Text)

For Me.i = 1 To n

M(i) = Int(Rnd() * 100 - 50)

textBox2.Text = textBox2.Text + " " + Str(M(i))

Next i

For Me.i = 1 To n ' Где конечное число цикла равно количеству чисел в массиве

For Me.j = 1 To n - 1 ' конечное число цикла равно количеству чисел в массиве минус один

If M(j) > M(j + 1) Then ' Если предыдущие число больше следущего, то

u = M(j) ' Запоминаем предыдущие число в переменную u

M(j) = M(j + 1) ' Предыдущие число приравниваем следующему

M(j + 1) = u ' А следующие число заменяем числом u

End If

Next j

Next i

TextBox3.Clear()

For Me.i = 1 To n ' Распечатываем весь получившийся массив

TextBox3.Text = TextBox3.Text + " " + Str(M(i)) ' На textBox3

Next i

End Sub

Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click

'Randomize()

For Me.i = 1 To n - 1 ' Где конечное число цикла равно количеству чисел в массиве

For Me.j = i + 1 To n

If M(i) < M(j) Then

u = M(i)

M(i) = M(j)

M(j) = u

End If

Next j

Next i

TextBox3.Clear()


For Me.i = 1 To n ' Распечатываем весь получившийся массив

TextBox3.Text = TextBox3.Text + " " + Str(M(i)) ' На textBox3

Next i

End Sub

End Class

hello_html_m4927f5ab.png






hello_html_m5ebe89ab.png

hello_html_71dc445f.gif















Тема: Разработка одномерного массива с помощью компонента( класса) ArrayList


hello_html_7b492673.png










hello_html_1e5502ac.png











hello_html_m68a954a1.png









Public Class Form2

Dim n, i, t, p, z As Integer

Dim strana, transport As String

Dim x As String

Dim mylist As New ArrayList()

Dim f As Integer

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

n = Val(TextBox1.Text) 'ввод количества предложений

ListBox1.Items.Clear()

mylist.Clear()

For Me.i = 1 To n 'ввод данных

strana = InputBox("введите элемент массива")

'вывод в Listbox

mylist.Add(strana)

ListBox1.Items.Add(Str(i) + " " + mylist.Item(i - 1))

Next

End Sub

Private Sub НазадToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles НазадToolStripMenuItem.Click

Form1.Show()

Me.Hide()

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

'добавление нового элемента

strana = InputBox("введите элемент массива")

mylist.Add(strana)

ListBox1.Items.Add(Str(i) + " " + mylist.Item(ListBox1.Items.Count))

i = i + 1

n = n + 1

End Sub

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

ListBox1.Items.Clear()

For Me.i = 1 To n 'сортировка

mylist.Sort()

ListBox1.Items.Add(Str(i) + " " + mylist.Item(i - 1))

Next

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

'удаление элемента

mylist.Remove(mylist.Item(f))

n = n - 1

ListBox1.Items.Clear()

For Me.i = 1 To n

ListBox1.Items.Add(Str(i) + " " + mylist.Item(i - 1))

Next

End Sub

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged

f = ListBox1.SelectedIndex

End Sub

поиск

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

x = TextBox2.Text

If mylist.IndexOf(x) >= 0 Then

ListBox1.SelectedIndex = mylist.IndexOf(x)

Else : MsgBox("по вашему запросу ничего не найдено")

End If

End Sub

Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click

End Sub

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

End Sub

End Class


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

Тема: 2-х мерные массивы

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

hello_html_32d710ef.pnghello_html_6923a43d.png









hello_html_m14f8b299.pnghello_html_25500d1b.png



Блок-схема алгоритма



hello_html_149ddaa5.gif

Программа


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 WindowsFormsApplication6

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

int n, m;

double[,] a;

double[,] b;

// ввод размерности

private void button1_Click(object sender, EventArgs e)

{

m = Convert.ToInt16(textBox1.Text);

n = Convert.ToInt16(textBox2.Text);

a = new double[m, n];

b = new double[m, n];

//Чистка DGView, если они не пусты

int k = 0;

k = dataGridView1.ColumnCount;

if (k != 0)

for (int i = 0; i < k; i++)

dataGridView1.Columns.RemoveAt(0);

dataGridView2.Columns.Clear();

// dataGridView3.Columns.Clear();

//Заполнение DGView столбцами

AddColumns(n, dataGridView1);

AddColumns(n, dataGridView2);

// AddColumns(p, dataGridView3);

//Заполнение DGView строками

AddRows(m, dataGridView1);

AddRows(m, dataGridView2);

// AddRows(m, dataGridView3);

}

private void AddColumns(int n, DataGridView dgw)

{

//добавляет n столбцов в элемент управления dgw

//Заполнение DGView столбцами

DataGridViewColumn column;

for (int i = 0; i < n; i++)

{

column = new DataGridViewTextBoxColumn();

column.DataPropertyName = "Column" + i.ToString();

column.Name = "Column" + i.ToString();

dgw.Columns.Add(column);

}

}

private void AddRows(int m, DataGridView dgw)

{

//добавляет m строк в элемент управления dgw

//Заполнение DGView строками

for (int i = 0; i < m; i++)

{

dgw.Rows.Add();

dgw.Rows[i].HeaderCell.Value

= "row" + i.ToString();

}

}

// создание массива

private void button2_Click(object sender, EventArgs e)

{

{

string elem = "";

bool correct = true;

Random rnd = new Random();

for (int i = 0; i < m; i++)

for (int j = 0; j < n; j++)

{

try

{

// elem = dataGridView1.Rows[i].Cells[j].Value.ToString();

// a[i, j] = Convert.ToDouble(elem);

// label8.Text = "";

//mas[i] = rnd.Next(-20, 20);

a[i, j] = rnd.Next(-20, 40);

// dataGridView1.Cells[i,J] = a[i, j].ToString();

// elem = dataGridView1.Rows[i].Cells[j].Value.ToString();

// a[i, j] = Convert.ToDouble(elem);

dataGridView1.Rows[i].Cells[j].Value = a[i, j].ToString();

}

catch (Exception any)

{

label8.Text = "Значение элемента" +

"a[" + i.ToString() + ", " + j.ToString() + " ]"

+ " не корректно. Повторите ввод!";

dataGridView1.Rows[i].Cells[j].Selected = true;

return;

} } } }

// новый массив

private void button3_Click(object sender, EventArgs e)

{

MultMatr(a,b);

FillDG();

// int m = a.GetLength(0);

// int n = a.GetLength(1);

}

void MultMatr(double[,] a, double[,] b)

{

for(int i=0; i < m; i++)

for (int j = 0; j < n; j++)

{

if (a[i,j]>0) {b[i,j]=2*a[i,j];}

} }

void FillDG()

{

for (int i = 0; i < m; i++)

for (int j = 0; j < n; j++)

dataGridView2.Rows[i].Cells[j].Value

= b[i, j].ToString();

}

private void button4_Click(object sender, EventArgs e)

{

Close();

} }}

Vb.net

hello_html_102e6c2.gif

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

1. построение словесных алгоритмов

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

3. Разработка программы в windows варианте .

4.Разработка программ на основе основных математических операторов


hello_html_m106ee9df.gif











hello_html_m15e6ad20.gif







2.7







hello_html_m65476ba9.gif



Public Class Form2

Private Sub назадToolStripMenuItem_Click(ByVal sender

Form1.Show()

Me.Hide()

End Sub

Private Sub вывестиToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles вывестиToolStripMenuItem.Click

Dim n, m, i, j As Integer

Dim a(100, 100) As Integer

Dim min, max As Double

Dim k As String

n = Val(TextBox1.Text)

m = Val(TextBox2.Text)

k = «»

For i = 1 To n

For j = 1 To m

a(i, j) = Int(Rnd(1) * (-200) + 100)

k = k + « « + Str(a(i, j))

Next

ListBox1.Items.Add(k)

k = «»

Next

min = a(1, 1)

max=a(1,1)

For i = 1 To n

For j = 1 To m

If a(i, j) > max Then max = a(i, j)

If a(i, j) < min Then min = a(i, j)

Next Next

TextBox3.Text = Str(min)

TextBox4.Text = Str(max)

End Sub

End Class

Задания по теме 2-х мерные массивы

  1. Дана матрица C(nxn) и вектор а = (a1, a2, ..., an). Написать программу вычисления вектора b = C*a.

  2. Дана матрица А(nxn). Построить n-мерный вектор по правилу: если в строке матрицы с номером i есть отрицательные элементы, то bi = 0, в противном случае bi = 1.

  3. Даны две матрицы А(nxn) и B(nxn). Написать программу нахождения произведения этих матриц D = A*B.

  4. Дана матрица А(nxn). Написать программу, которая меняет k-ю и m-ю строки матрицы, а затем транспонирует матрицу.

  5. Дана матрица А(nxn) и вектор х = (х1, х2, ...,хn). Написать программу нахождения скалярного произведения (х*Ах).

  6. Дана матрица А(nxn). Написать программу нахождения матрицы АтА, где Ат - транспонированная матрица.

  7. Даны две матрицы А(nxn) и B(nxn). Написать программу нахождения матрицы, равной (А-В)т.

  8. Даны два вектора b = (b1, b2, ..., bn), x = (x1,x2, ..., xn) и матрица А(nxn). Написать программу вычисления длины вектора Ах - b.

  9. Дана матрица А(nxm). Написать программу, которая вычеркивает столбец с номером р и переставляет остальные так, чтобы получилась матрица nx(m-1).

  10. Даны две матрицы А(nxn) и B(nxn), а также два вектора х = (x1, x2,..., xn) и y = (y1, y2, ..., yn). Написать программу нахождения скалярного произведения (Ах)*(Ву).

  11. Даны две матрицы А(nxn) и C(nxn). Написать программу вычисления матрицы Ст(А+С), где Ст - транспонируемая матрица.

  12. Даны две матрицы А(nxn) и B(nxn). Написать программу нахождения суммы диагональных элементов А*В.

  13. Даны квадратные матрицы А(nxn), B(nxn), C(nxn). Написать программу вычисления матрицы (А+В)*С.

  14. Даны две матрицы А(nxn) и B(nxn). Написать программу получения коммутатора АВ этих матриц.

  15. Дана матрица А(nxn). Написать программу вычисления матрицы Аk, где k>0 - целое число.

  16. Дана матрица А(nxn). Написать программу вычисления max(Sk), где hello_html_1b2dd6cd.png.

  17. Даны две матрицы А(nxn) и B(nxn). Написать программу вычисления матрицы hello_html_76176221.png, где норма ||C|| матрицы С есть max||Ckm|| .

  18. Дана действительная квадратная матрица порядка n. Построить последовательность действительных чисел A1, A2, ..., An по правилу: если в i - той строке матрицы элемент, принадлежащий главной диагонали, отрицателен, то Ai равно сумме элементов i - той строки, предшествующих первому отрицательному элементу; в противном случае Ai равно сумме последних элементов i - той строки, начиная с первого по порядку неотрицательного элемента.

 

  1. Дан вектор х=(х1, х2, ...,хn). Написать программу, которая находит разность между первой и последней отрицательными координатами вектора х.

  2. Дана матрица А(nxn). Написать программу нахождения минимального элемента из (max1, ...,maxn), где maxi - максимальный в i - той строке.

  3. В матрице А(nxn) найти максимальный и минимальный элементы. Указать их разность, а также строки и столбцы, на пересечении которых они находятся.

  4. Дана матрица А(nxn). Написать программу, которая находит максимальный и минимальный элементы этой матрицы и переставляет столбцы и строки так, чтобы эти элементы поменялись местами.

  5. Дана матрица А(nxn). Написать программу, которая находит максимальную сумму элементов, стоящих на диагоналях, параллельных главной.

  6. Даны две матрицы А(nxn) и B(nxn). Написать программу нахождения максимального значения max(S1, S2, ..., Sn), где Sk - скалярное произведение k - й строки матрицы А на k - й столбец матрицы В.

  7. Даны m векторов х1 = (х11, х21, ...,хn1), ..., xm = (x1m, x2m, ...,xnm). Написать программу поиска вектора минимального по длине.

  8. Дана матрица А(nxn) с положительными элементами. Написать программу, которая находит среди элементов матрицы тройки таких элементов (aji-1, aji, aji+1), чтобы существовал треугольник со сторонами, равными этим числам.

  9. Дана прямоугольная матрица А(nxm). Заменить наименьший элемент каждой строки, начиная со второй, наибольшим элементом предыдущей строки.

  10. Дана действительная квадратная матрица порядка n. Вычислить сумму тех ее элементов, расположенных на главной диагонали и выше нее, которые превосходят по величине все элементы, расположенные ниже главной диагонали. Если на главной диагонали и выше нее нет элементов с указанным свойством, то ответом должно служить сообщение об этом.

  11. Найти все различающиеся элементы целочисленной квадратной матрицы размерностью nxn.

  12. Дана матрица А(nxn). Написать программу, которая находит максимальный по абсолютной величине элемент и переставляет строки и столбцы так, чтобы он оказался в левом верхнем углу.

  13. Дана матрица А(nxn). Написать программу поиска одинаковых элементов в этой матрице.

  14. Дана матрица А(nxn). Написать программу нахождения максимального элемента матрицы, принадлежащего отрезку [p, q].

 



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

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

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

hello_html_3b3aea35.png









uhello_html_20ec0913.pngsing 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();

}

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

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


hello_html_m78094c24.png













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

} }}


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

hello_html_m21459c6a.png










#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

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


hello_html_mc90b635.png










hello_html_6135ed6d.png



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. Язык С#

hello_html_604e42b6.png











hello_html_1fbaa1af.png









hello_html_m20a11168.png








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++


hello_html_m6c035a74.png



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);

}

hello_html_3edb494b.pngwhile (x<=b);

}};}};}










hello_html_m635518d1.png


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

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

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

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

hello_html_62ff5777.png














hello_html_47cd4e9e.png

hello_html_4c053c4c.png


Р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# Вычисление площади фигур методом Монте-Карло


hello_html_63e821c.png














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)

{

hello_html_2edbe13d.png

}

}

}













Задания по теме графика: построить графики функций, решить системы уравнений графическим способом( пересечения графиков)

1. y1 = cos 3x – sin x 2. y1 = 7 + 4 sin x cos x

y2 = –1,5 (tg x + ctg x) y2 = (cos x – sin 3x) 1

3. y1 = ctg x – sin x 4. y1 = sin 2x

y2 = cos4(x/2) – sin4(x/2) y2 = 2 sin2 x/2

5. y1 = (1+cos 4x) sin 2x 6. y1 = sin2 2x + sin2 3x

y2 = 2 – sin2 4x – sin2 5x y2 = cos2 2x

7. y1 = ctg4 2x 8. y1 = tg 2x cos 3x

y2 = – sin 3x – sin 5x y2 = 25 – sin–4 2x

9.y1 = sin 2x sin 6x – cos 2x cos 6x 10.y1 = sin 3x cos 3x

y2 = sin 2x y2 = sin 3x cos 8x

11. y1 = cos 2x 12. y1 = 3 sin 2x

y2 = 3 – 2 cos 2x y2 = 3 + 5 sin x

13. y1 = 2 cos2 x 14. y1 = cos 3x

y2 = 2 sin y2 = 4 – 5 sin x

15. y1 = 5 (1 + cos x) 16. y1 = 1 + sin 2x

y2 = (cos 3x + sin 3x)2 y2 = 2 + sin4 x – cos4 x


hello_html_m743b7f9e.gif













Лабораторная работа9: Базы данных. Файлы.


hello_html_m563b4045.png










hello_html_mceb8254.png














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;

using System.IO;

namespace Компьютерный_магазин

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)//Кнопка добавить

{

string name = textBox1.Text;

string moda = textBox2.Text;

string gopnik = textBox3.Text;

string kids = textBox4.Text;

string women = textBox5.Text;

dataGridView1.Rows.Add(name,moda,gopnik,kids,women);

}

private void button2_Click(object sender, EventArgs e)

{

dataGridView1.Rows.Clear();//Кнопка Удалить все

}

private void button3_Click(object sender, EventArgs e)//Кнопка удалить выделенное

{

int ind = dataGridView1.SelectedCells[0].RowIndex;

dataGridView1.Rows.RemoveAt(ind);

}

private void открытьToolStripMenuItem_Click(object sender, EventArgs e)//Файл>>Открыть

{

Stream mystr = null;

if (openFileDialog1.ShowDialog() == DialogResult.OK)

{

if ((mystr = openFileDialog1.OpenFile()) != null)

{

StreamReader myread = new StreamReader(mystr);

string[] str;

int num = 0;

try

{

string[] str1 = myread.ReadToEnd().Split('\n');

num = str1.Count();

dataGridView1.RowCount = num;

for (int i = 0; i < num; i++)

{

str = str1[i].Split('^');

for (int j = 0; j < dataGridView1.ColumnCount; j++)

{

try

{

dataGridView1.Rows[i].Cells[j].Value = str[j];

}

catch { }

} } }

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

finally

{

myread.Close();

} } } }


private void сохранитьToolStripMenuItem_Click(object sender, EventArgs e)//Файл>>Cохранить

{

Stream mystream;

if (saveFileDialog1.ShowDialog() == DialogResult.OK)

{

if ((mystream = saveFileDialog1.OpenFile()) != null)

{

StreamWriter mywrite = new StreamWriter(mystream);

try

{

for (int i = 0; i < dataGridView1.RowCount - 1; i++)

{

for (int j = 0; j < dataGridView1.ColumnCount; j++)

{

mywrite.Write(dataGridView1.Rows[i].Cells[j].Value.ToString() + "^");

}

mywrite.WriteLine();

}

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

finally

{

mywrite.Close();

}

mystream.Close();

} } }


private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)

{

}

private void авторToolStripMenuItem_Click(object sender, EventArgs e)

{

MessageBox.Show("Работу выполнил студент группы ДиКТ-31-12 Данилов Сергей");

}

private void выходToolStripMenuItem_Click(object sender, EventArgs e)

{

Application.Exit();

}

private void отчетToolStripMenuItem_Click(object sender, EventArgs e)

{

}

private void отчетToolStripMenuItem_Click_1(object sender, EventArgs e)

{

Form f2 = new Form2();

f2.Show();

}

private void условиеToolStripMenuItem_Click(object sender, EventArgs e)

{

MessageBox.Show("Добавить записи.Сделать открытие и сохранение файла");

}

private void textBox1_TextChanged(object sender, EventArgs e)

{

} } }


VB.NET

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

Задания представлены в разделе Задания . Массивы


Вhello_html_m103a0ebe.gif качестве примера приведен проект. Условия: разработать Window проект , в котором необходимо задать одномерный символьный массив с данными: фамилии сотрудников, их должности и оклады. Вывести на экран фамилии сотрудников, которые имиеют минимальный оклад. Данные вводить спомощью текстовых окон, а вывод реализовать с помощью списков listbox( combobox)


hello_html_m174f6f1b.png



hello_html_41d22e4b.pngPublic Class Form2

Dim i, n, k, l, min, t As Integer

Dim familia(20), fam(20), dolznost(20), dol(20), b(20), s As String

Dim oklad(20), a(20) As Double

Dim file As Object

Private Sub ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

Me.Hide()

Form1.Show()

End Sub

Private Sub oolStripMenuItem_Click(ByVal sender As System.Object,

End

End Sub

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

If i = n Then

i = 0

ListBox1.Items.Clear()

ListBox1.Items.Clear()

End If

i = i + 1

fam(i) = TextBox1.Text

dol(i) = ComboBox1.Text

oklad(i) = NumericUpDown1.Value

If (ComboBox1.Text = «выберите должность») Or (TextBox1.Text = «») Then

MessageBox.Show(«не введена фамилия или должность», «»»»)

i = i - 1

Else

ListBox1.Items.Add(fam(i) + « « + dol(i) + « « +

Public Class Form2

Str(oklad(i)))

file = While Mid(s, t,

My.Computer.FileSystem.OpenTextFileWriter(«spisok.txt», True)

file.WriteLine(fam(i) + « « + dol(i) + « « + Str(oklad(i)))

file.close()

End If

If i = n Then file.close()

End Sub

Private Sub ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles oolStripMenuItem.Click

My.Computer.FileSystem.DeleteFile(«spisok.txt»)

n = InputBox(«введите количество сотрудников», «окно ввода»)

End Sub

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

Dim k As Integer

t = t + 1

End While

t = t + 1

y.Computer.FileSystem.OpenTextFileReader(«spisok.txt»)

For k = 1 To n

s = file.readline():t = 1


While Mid(s, t, 1) <> « «

familia(k) = familia(k) + Mid(s, t, 1)

dolznost(k) = dolznost(k) + Mid(s, t, 1)

t = t + 1

End While

oklad(k) = Val(Mid(s, t + 1, Len(s)))

Next

l = 1

If i = n Then

For k = 1 To n

If dolznost(k) = «инженер Then

a(l) = oklad(k): b(l) = familia(k)

l = l + 1

End If

Next

min = a(1)

For k = 1 To l - 1

If a(k) < min Then min = a(k)

Next

For k = 1 To l - 1

If a(k) = min Then ListBox2.Items.Add(b(k) + « « + Str(a(k)))

Next

End If

file.close()

End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

End Sub End Class


Лабораторная работа 10.Тема: Создание системы управления базами данных


Блок схема алгоритма системы управления базой данных




hello_html_m2e518a46.gif

Лабораторная работа: Разработать СУ БД « Access»

Условие задачи:


hello_html_m7dbaff9e.png

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace База_данных_АБОНЕНТЫ1

{

public partial class Form1 : Form

{

public Form1()

{using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

InitializeComponent();

Form3 auth = new Form3();

this.Show();

auth.ShowDialog();

}

private void Form1_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "телефонDataSet.TELEFON". При необходимости она может быть перемещена или удалена.

// this.tELEFONTableAdapter.Fill(this.телефонDataSet.TELEFON);

// TODO: данная строка кода позволяет загрузить данные в таблицу "телефонDataSet.TELEFON". При необходимости она может быть перемещена или удалена.

this.tELEFONTableAdapter.Fill(this.телефонDataSet.TELEFON);

}

private void сохранитьToolStripMenuItem_Click(object sender, EventArgs e)

{

tELEFONTableAdapter.Update(телефонDataSet);

телефонDataSet.AcceptChanges();

}

//Кнопка поиск

private void button1_Click(object sender, EventArgs e) //организация поиска

{

for (int i = 0; i < dataGridView1.RowCount; i++)

{

for (int j = 0; j < dataGridView1.ColumnCount; j++)

{

if (dataGridView1.Rows[i].Cells[j].Value == null)

{

break;

}

if (textBox1.Text == dataGridView1.Rows[i].Cells[j].Value.ToString())

{

dataGridView1.CurrentCell = dataGridView1.Rows[i].Cells[j];

dataGridView1.FirstDisplayedScrollingRowIndex = i;

break;

} } } }


private void авторToolStripMenuItem_Click(object sender, EventArgs e)

{

Form2 f1 = new Form2();

f1.Show();

}

private void оПрограммеToolStripMenuItem_Click(object sender, EventArgs e)

{

Form3 f1 = new Form3();

f1.Show();

}

private void выходToolStripMenuItem_Click(object sender, EventArgs e)

{

Close();

}

private void button2_Click(object sender, EventArgs e) //добавление записи при помощи компонента button

{

tELEFONTableAdapter.Insert(textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text, textBox6.Text);

телефонDataSet.AcceptChanges();

ELEFONTableAdapter.Update(телефонDataSet.TELEFON);

this.tELEFONTableAdapter.Fill(this.телефонDataSet.TELEFON);


} }}


База данных Access


hello_html_20570913.pnghello_html_m21212060.png


using System;

using System.Collections;

using System.Collections.Generic;

using System.Data;

using System.Drawing;

using System.Diagnostics;

using System.Windows.Forms;

using System.Linq;

using System.Xml.Linq;

namespace лаба_3_и_2

{

public partial class Form2

{

internal Form2()

{

InitializeComponent();

}

private void Таблица1BindingNavigatorSaveItem_Click(object sender, System.EventArgs e)

{

this.Validate();

this.Таблица1BindingSource.EndEdit();

this.TableAdapterManager.UpdateAll(this.Database1DataSet);

this.Database1DataSet.AcceptChanges();

}


private void Form2_Load(object sender, System.EventArgs e)

{

//TODO: данная строка кода позволяет загрузить данные в таблицу "Database1DataSet.Таблица1". При необходимости она может быть перемещена или удалена.

this.Таблица1TableAdapter.Fill(this.Database1DataSet.Таблица1);

}

private void Button1_Click(object sender, System.EventArgs e)

{

DataGridView1.Rows.Clear();

DataGridViewRow tmp = null;

for (var i = 0; i <= Таблица1DataGridView.RowCount - 2; i++)

{

if (Convert.ToDouble(Таблица1DataGridView.Rows[i].Cells[4].Value.ToString()) <= Convert.ToDouble(TextBox1.Text))

{

tmp = Таблица1DataGridView.Rows[i];

DataGridView1.Rows.Add(tmp.Cells[0].Value.ToString(), tmp.Cells[1].Value.ToString(), tmp.Cells[2].Value.ToString(), tmp.Cells[3].Value.ToString(), tmp.Cells[4].Value.ToString());

}}}


private void Button2_Click(object sender, System.EventArgs e)

{

Form1.DefaultInstance.Show();

this.Hide();

} } }


База данных: Туристические туры



hello_html_m7f067b8.png





hello_html_m686eb.png

hello_html_m52b20f00.pnghello_html_m7131a76d.png














using System;

using System.Collections;

using System.Collections.Generic;

using System.Data;

using System.Drawing;

using System.Diagnostics;

using System.Windows.Forms;

using System.Linq;

using System.Xml.Linq;

namespace лаба_3_и_2

{

public partial class Form2

{

internal Form2()

{

InitializeComponent();

}

private void Таблица1BindingNavigatorSaveItem_Click(object sender, System.EventArgs e)

{

this.Validate();

this.Таблица1BindingSource.EndEdit();

TableAdapterManager.UpdateAll(this.Database1DataSet);

this.Database1DataSet.AcceptChanges();

}

private void Form2_Load(object sender, System.EventArgs e)

{

//TODO: данная строка кода позволяет загрузить данные в таблицу "Database1DataSet.Таблица1". При необходимости она может быть перемещена или удалена.

this.Таблица1TableAdapter.Fill(this.Database1DataSet.Таблица1);

}

private void Button1_Click(object sender, System.EventArgs e)

{

DataGridView1.Rows.Clear();

DataGridViewRow tmp = null;

for (var i = 0; i <= Таблица1DataGridView.RowCount - 2; i++)

{

if (Convert.ToDouble(Таблица1DataGridView.Rows[i].Cells[4].Value.ToString()) <= Convert.ToDouble(TextBox1.Text))

{

tmp = Таблица1DataGridView.Rows[i];

DataGridView1.Rows.Add(tmp.Cells[0].Value.ToString(), tmp.Cells[1].Value.ToString(), tmp.Cells[2].Value.ToString(), tmp.Cells[3].Value.ToString(), tmp.Cells[4].Value.ToString());

} } }

private void Button2_Click(object sender, System.EventArgs e)

{

Form1.DefaultInstance.Show();

this.Hide();

} } } //end of root namespace


VB.NET


Public Class Form2


Private Sub Таблица1BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Таблица1BindingNavigatorSaveItem.Click

Me.Validate()

Me.Таблица1BindingSource.EndEdit()

Me.TableAdapterManager.UpdateAll(Me.Database1DataSet)

Me.Database1DataSet.AcceptChanges()


End Sub


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

'TODO: данная строка кода позволяет загрузить данные в таблицу "Database1DataSet.Таблица1". При необходимости она может быть перемещена или удалена.

Me.Таблица1TableAdapter.Fill(Me.Database1DataSet.Таблица1)


End Sub


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

DataGridView1.Rows.Clear()

Dim tmp As DataGridViewRow

For i = 0 To Таблица1DataGridView.RowCount - 2

If Таблица1DataGridView.Rows(i).Cells(4).Value.ToString() <= TextBox1.Text Then

tmp = Таблица1DataGridView.Rows(i)

DataGridView1.Rows.Add(tmp.Cells(0).Value.ToString(), tmp.Cells(1).Value.ToString(), tmp.Cells(2).Value.ToString(), tmp.Cells(3).Value.ToString(), tmp.Cells(4).Value.ToString())

End If

Next

End Sub


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

Form1.Show()

Me.Hide()

End Sub

End Class










Задания по разработки систем управления базами данных

1. Разработать СУБД « детского кафе» (наименование изделия, вес, стоимость).

2. Разработать СУБД студенческую ведомость (Ф. И. О., оценки за три экзамена, средний балл).

3. Разработать СУБД расписание движения поездов (станция отправления, станция прибытия, время прибытия, время в пути).

4. Разработать СУБД ресторана "Дракон" (наименование изделия, вес, стоимость).

5. Разработать СУБД анкетные данные учеников (Ф. И. О., год рождения, адрес, сведения о родителях).

6. Разработать СУБД список книг домашней библиотеки (автор, название книги, издательство, год издания, стоимость).

7. Разработать СУБД расписание экзаменов и зачетов (предмет, вид отчетности, число, преподаватель).

8. Разработать СУБД сведения о студентах (Ф. И. О., курс, группа, номер зачетки, средний балл).

9. Разработать СУБД сведения о периодических изданиях (наименование издания, тираж, годовая стоимость).

10. Разработать СУБД расписание учителя (номер урока, время начала урока, класс, предмет, номер кабинета).

11. Разработать СУБД расписание полетов самолетов (пункт посадки, время отправления, время прибытия, время полета, стоимость билета).

12. Разработать СУБД перечень товаров, имеющихся в продаже в магазине "Океан" (наименование, единица измерения, цена, количество).

13. Разработать СУБД информацию о наличии товаров на складе (наименование, артикул, дата получения, единица измерения, количество, цена).

14. Разработать СУБД "Телефонный справочник" (Ф. И. О., адрес, номер телефона).

15. Разработать СУБД график отпусков (Ф. И. О., дата начала отпуска, дата выхода на работу, количество дней).










Литература


Подбельский В.В. Язык C#. Базовый курс. – М.: Финансы и статистика, 2011. – 384 с.
Троелсен Э. Язык программирования С# и платформа .NET 3.5. - М.: Вильямс, 2011. 1344 с.

Павловская Программирование с#.

Шилдт Г. С# 4.0. Полное руководство. – М.: Издательский дом "Вильямс", 2011. – 1056 с.

. Нэш Т. C# 2008. Ускоренный курс для профессионалов. – М.: ООО Издательский дом "Вильямс", 2008. – 576 с.

Гросс Кр. C# и платформа .NET 3.5 Framework: базовое руководство.2-е изд. – М.: ООО "И. Д. Вильямс", 2009. – 480 с.

ECMA-334. C# Language Specification. 4th Edition / June 2006, - Geneva (ISO/IEC 23270:2006). – 553 pp.

C# 3.0. Language Specification. Version 3.0. : Microsoft Corporation. . 2007. – 504 pp.

Пауэрс Л., Снелл М. Microsoft Visual Studio 2008. СПб.: БХВ-Петербург, 2009. – 1200 с

Рихтер Дж. CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#. Мастер

Нейгел К. и др. C# 4.0 и платформа .NET 4.0 для профессионалов. – М. : ООО "И.Д. Вильямс", 2011. – 1440 с.

Петцольд Ч. Программирование для Microsoft Windows на C#. В 2-х томах. – М.: Издательско-торговый дом «Русская Редакция». 2002. Том 1 – 624 с. Том 2 – 576 с.

Никишев В К Руководство по программированию
НикишовВ.К. Язык визуального программирования. Чебоксары. 2000г

Голованов О. В., Дуваков С., Смирнов В. Н. Моделирование сложных дискретных систем на ЭВМ третьего поколения ( опыт применения GPSS). – М.: Энергия, 1978. – 160

Курс лекций по дисциплине « Компьютерное программирование»/ Сост. Алтаев А.А. – Улан-Удэ, Изд-во ВСГТУ, 2001. – 63 с.

Советов Б. Я., Яковлев С. А. Программирование с++ Учебник для ВУЗов. – М.: Высшая школа, 1999.

Шеннон Р. Дж. Основы программирования искусство и наука. – М.: Мир, 1978. - 418 с.

Акулич И.М. Математическое программирование в примерах и задачах. - М.: Высшая школа,1993

Л. Аммерал. Машинная графика на персональных компьюте­рах. - М.:Сол систем, 1992.

Бигон М., Харпер Дж., Таунсенд К. Визуальное программирование. - М.: Мир, 1989















Оглавление

1. Предисловие…………........................................................ 4

2. Лабораторная работа1.Тема: Структура программ.

Вычисление арифметических выражений.Консольный вариант………………………………………………..………..5

3. Лабораторная работа 2.Тема: Вычисление

арифметических выражений. Window вариант ..............….10

4. Лабораторная работа 3.Тема: Вычисление сложных

арифметических выражений. Window вариант ..............….17

5. Задания……………………………………………………..28

6. Лабораторная работа 4 .Тема: Вычисление суммы

ряда. Консольный вариант………………..…………….. 31

7. Лабораторная работа 5 .Тема: Вычисление суммы

ряда Window вариант ……………………..…………….. 36

8. Задания…………………………………………………….43

9.Лабораторная работа 6.Тема: Одномерные массивы

Консольный вариант……………………………………..…46

10.Лабораторная работа 7.Тема: Одномерные массивы

Window вариант ….……………………………………..…54

11. Задания…………………………………………………..66

12. Лабораторная работа 8.Тема: Двумерные массивы...67

13. Задания…………………………………………………..74

14. Лабораторная работа 9. Тема: Графика……………….77

15. Задания………………………………………………….97

16.Лабораторная работа 10. Файлы. Структура…………98.

  1. Задания…………………………………………………107

18.Лабораторная работа 11. Создание систем

управления БД…………………………………………….109

19. Задания…………………………………………………119

20. Оглавление……………………………………………120

























Учебное издание

Лабораторный практикум

по современным языкам программирования



Учебно-методическое пособие Подписано в печать_27.02.07 Формат 60х80/16.

Бумага писчая. Печать оперативная. Усл. печ. л. 18.7

Тираж 50 экз. Заказ N .

ГОУ ВПО «Чувашский государственный

университет им. И. Н. Ульянова»

Отпечатано на участке оперативной полиграфии

ГОУ ВПО «Чувашский государственный

университет им. И.Н. Ульянова»

428000, Чебоксары,
































116


Выберите курс повышения квалификации со скидкой 50%:

Автор
Дата добавления 23.08.2015
Раздел Информатика
Подраздел Другие методич. материалы
Просмотров414
Номер материала ДA-011999
Получить свидетельство о публикации

Включите уведомления прямо сейчас и мы сразу сообщим Вам о важных новостях. Не волнуйтесь, мы будем отправлять только самое главное.
Специальное предложение
Вверх