- Преподавателю
- Информатика
- Практикум по современным языкам программировния
Практикум по современным языкам программировния
Раздел | Информатика |
Класс | - |
Тип | Другие методич. материалы |
Автор | Никишов В.К. |
Дата | 14.07.2015 |
Формат | doc |
Изображения | Есть |
Министерство образования и науки
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«Чувашский государственный университет имени И.Н. Ульянова»
В. К. Никишев
«Лабораторный практикум по современным языкам программирования 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
Блок - схема
Программа на языке программирования C#.NET
( консольный вариант)
using System;
using 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 для выхода из программы");
str = Console.ReadLine();
Console.ReadKey();
//Console.ReadLine();
}}
Программа на языке программирования C++.NET
( консольный вариант)
#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 проекта
Язык программирования С#
Windows - проект
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();
}
// кнопка вычислить
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 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++
//Форма 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
Public 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 вариант
Условие: Разработать проект для вычисления выражения
Язык программирования С#
Программа
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 ";
}
}
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));
textBox4.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)
{
} }}
Язык программирования С++
Вычисление сложного арифметического выражения
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
Блок-схема алгоритма вычисление арифметического выражения и суммы ряда
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();
}
}
}
Программа на языке С++
#include "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
Словесный алгоритм:
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 Module
Лабораторная работа5: Вычисление суммы ряда. Windows-проект.
Язык программирования с#
Условие: Задача 1. Вычислить сумму ряда )
Задача 2. Вычислить сумму ряда с заданной точностью
Блок-схема алгоритм
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace 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();
}
}
}
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
#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
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
Задания к теме Сумма ряда
Лабораторная работа 6. Одномерные массивы.
Консольный вариант
Цель занятия: Изучить структуру программ, основные операторы С#.NET для в ввода, преобразования и вывода одномерного числового массива. Получить навыки работ по составлению простейших программ в консольном варианте.
Программа на языке программирования С#
Массивы
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;
}
Программа на языке 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 проекты
Язык программирования с#
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
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
Тема: Разработка одномерного массива с помощью компонента( класса) ArrayList
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-х мерные массивы
Язык программирования С#
Блок-схема алгоритма
Программа
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
Цель занятия: Изучить структуру программ, основные операторы VB.NET для вычислений, отличительные признаки языка программирования VB.NET. Получить навыки работ по составлению простейших программ в консольном варианте.
1. построение словесных алгоритмов
2. Построение алгоритмов в виде блок-схем
3. Разработка программы в windows варианте .
4.Разработка программ на основе основных математических операторов
2.7
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-х мерные массивы
-
Дана матрица C(nxn) и вектор а = (a1, a2, ..., an). Написать программу вычисления вектора b = C*a.
-
Дана матрица А(nxn). Построить n-мерный вектор по правилу: если в строке матрицы с номером i есть отрицательные элементы, то bi = 0, в противном случае bi = 1.
-
Даны две матрицы А(nxn) и B(nxn). Написать программу нахождения произведения этих матриц D = A*B.
-
Дана матрица А(nxn). Написать программу, которая меняет k-ю и m-ю строки матрицы, а затем транспонирует матрицу.
-
Дана матрица А(nxn) и вектор х = (х1, х2, ...,хn). Написать программу нахождения скалярного произведения (х*Ах).
-
Дана матрица А(nxn). Написать программу нахождения матрицы АтА, где Ат - транспонированная матрица.
-
Даны две матрицы А(nxn) и B(nxn). Написать программу нахождения матрицы, равной (А-В)т.
-
Даны два вектора b = (b1, b2, ..., bn), x = (x1,x2, ..., xn) и матрица А(nxn). Написать программу вычисления длины вектора Ах - b.
-
Дана матрица А(nxm). Написать программу, которая вычеркивает столбец с номером р и переставляет остальные так, чтобы получилась матрица nx(m-1).
-
Даны две матрицы А(nxn) и B(nxn), а также два вектора х = (x1, x2,..., xn) и y = (y1, y2, ..., yn). Написать программу нахождения скалярного произведения (Ах)*(Ву).
-
Даны две матрицы А(nxn) и C(nxn). Написать программу вычисления матрицы Ст(А+С), где Ст - транспонируемая матрица.
-
Даны две матрицы А(nxn) и B(nxn). Написать программу нахождения суммы диагональных элементов А*В.
-
Даны квадратные матрицы А(nxn), B(nxn), C(nxn). Написать программу вычисления матрицы (А+В)*С.
-
Даны две матрицы А(nxn) и B(nxn). Написать программу получения коммутатора АВ этих матриц.
-
Дана матрица А(nxn). Написать программу вычисления матрицы Аk, где k>0 - целое число.
-
Дана матрица А(nxn). Написать программу вычисления max(Sk), где .
-
Даны две матрицы А(nxn) и B(nxn). Написать программу вычисления матрицы , где норма ||C|| матрицы С есть max||Ckm|| .
-
Дана действительная квадратная матрица порядка n. Построить последовательность действительных чисел A1, A2, ..., An по правилу: если в i - той строке матрицы элемент, принадлежащий главной диагонали, отрицателен, то Ai равно сумме элементов i - той строки, предшествующих первому отрицательному элементу; в противном случае Ai равно сумме последних элементов i - той строки, начиная с первого по порядку неотрицательного элемента.
-
Дан вектор х=(х1, х2, ...,хn). Написать программу, которая находит разность между первой и последней отрицательными координатами вектора х.
-
Дана матрица А(nxn). Написать программу нахождения минимального элемента из (max1, ...,maxn), где maxi - максимальный в i - той строке.
-
В матрице А(nxn) найти максимальный и минимальный элементы. Указать их разность, а также строки и столбцы, на пересечении которых они находятся.
-
Дана матрица А(nxn). Написать программу, которая находит максимальный и минимальный элементы этой матрицы и переставляет столбцы и строки так, чтобы эти элементы поменялись местами.
-
Дана матрица А(nxn). Написать программу, которая находит максимальную сумму элементов, стоящих на диагоналях, параллельных главной.
-
Даны две матрицы А(nxn) и B(nxn). Написать программу нахождения максимального значения max(S1, S2, ..., Sn), где Sk - скалярное произведение k - й строки матрицы А на k - й столбец матрицы В.
-
Даны m векторов х1 = (х11, х21, ...,хn1), ..., xm = (x1m, x2m, ...,xnm). Написать программу поиска вектора минимального по длине.
-
Дана матрица А(nxn) с положительными элементами. Написать программу, которая находит среди элементов матрицы тройки таких элементов (aji-1, aji, aji+1), чтобы существовал треугольник со сторонами, равными этим числам.
-
Дана прямоугольная матрица А(nxm). Заменить наименьший элемент каждой строки, начиная со второй, наибольшим элементом предыдущей строки.
-
Дана действительная квадратная матрица порядка n. Вычислить сумму тех ее элементов, расположенных на главной диагонали и выше нее, которые превосходят по величине все элементы, расположенные ниже главной диагонали. Если на главной диагонали и выше нее нет элементов с указанным свойством, то ответом должно служить сообщение об этом.
-
Найти все различающиеся элементы целочисленной квадратной матрицы размерностью nxn.
-
Дана матрица А(nxn). Написать программу, которая находит максимальный по абсолютной величине элемент и переставляет строки и столбцы так, чтобы он оказался в левом верхнем углу.
-
Дана матрица А(nxn). Написать программу поиска одинаковых элементов в этой матрице.
-
Дана матрица А(nxn). Написать программу нахождения максимального элемента матрицы, принадлежащего отрезку [p, q].
Лабораторная работа 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. 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
Лабораторная работа9: Базы данных. Файлы.
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 проект по заданию, которую определит преподаватель.
Задания представлены в разделе Задания . Массивы
В качестве примера приведен проект. Условия: разработать Window проект , в котором необходимо задать одномерный символьный массив с данными: фамилии сотрудников, их должности и оклады. Вывести на экран фамилии сотрудников, которые имиеют минимальный оклад. Данные вводить спомощью текстовых окон, а вывод реализовать с помощью списков listbox( combobox)
Public 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.Тема: Создание системы управления базами данных
Блок схема алгоритма системы управления базой данных
Лабораторная работа: Разработать СУ БД « Access»
Условие задачи:
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
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();
} } }
База данных: Туристические туры
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.
-
Задания…………………………………………………107
18.Лабораторная работа 11. Создание систем
управления БД…………………………………………….109
19. Задания…………………………………………………119
20. Оглавление……………………………………………120
Учебное издание
Лабораторный практикум
по современным языкам программирования
Учебно-методическое пособие Подписано в печать_27.02.07 Формат 60х80/16.
Бумага писчая. Печать оперативная. Усл. печ. л. 18.7
Тираж 50 экз. Заказ N .
ГОУ ВПО «Чувашский государственный
университет им. И. Н. Ульянова»
Отпечатано на участке оперативной полиграфии
ГОУ ВПО «Чувашский государственный
университет им. И.Н. Ульянова»
428000, Чебоксары,
116