extracted_text:
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное
учреждение высшего профессионального образования
«Чувашский государственный университет имени
 И.Н. Ульянова»

            В. К Никишев

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

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

                              2016

 УДК 004.43(076.5)
 ББК З973.2я73

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

 Лабораторный практикум по современным
языкам программирования  предназначен для студентов кафедры компьютерных
технологий. Разработан в соответствии с учебным планом направлений подготовки
230700 – «Прикладная информатика» и 231000 – «Программная инженерия» с учетом
ФГОС.
В пособии представлены
задания и примеры выполнения лабораторных работ по языкам программирования VC#,  VС++, VB.NET, входящих в  комплексы Visual Studio 2010-2015. Каждая работа содержит: условие задачи, алгоритм в виде
блок-схемы,  программы на языках программирования VC#,  VС++, VB.NET и результаты вычислений.
Ответственный редактор канд. техн. наук,
Профессор В. П. Желтов.
Утвержено Учебно-методическим советом

ISBN
                                   ©  2016

УДК 004.43(076.5)

                                                        ББК З973.2я73

Издательство Чувашского

         Университета, 2016

Никишев В. К., 2016

ПРЕДИСЛОВИЕ

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 ‒ это стратегический программный продукт для
современных методов и способов построения продуктов. Основными достоинствами
этой среды являются:открытость системы, которая позволяет включать в среду
наряду с имеющимися языками программирования любые другие языки
программирования ( например, язык Delpi Prizm или
Delphi/Net), возможность разработки нескольких частей одного
приложения на разных языках программирования, что дает возможность преодолеть
языковый барьер, что является проблемой для современных программистов мира,
возможность использования единых визуальных компонентов для всех языков
программирования и много других возможностей. Настоящий лабораторный практикум
,  в котором приводятся примеры решения задач  на языках программирования,
входящих в среду  Visual Studio 2010-2015 ( Visual C#.NET, Visual Basic.NET,
Visual C++.NET ), будет способствовать дальнейшему освоению
современного подхода к разработке программ сложных информационных систем
различного назначения. Кроме того, в лабораторном практикуме содержатся
программы, разработанные  методом структурного программирования.

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

Программа
на языке C#.NET. Консольный вариант.
Условие: разработать проект для вычисления
выражения

 c = a+b

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

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();
     }}
Результаты вычислений

Программа на языке C++. NET.
Консольный вариант.
Условие: разработать проект для вычисления выражения

c = a+b
#include "stdafx.h"

#include "iostream"
#include <conio.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
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\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 ";
 system("pause");
 system("cls");
//Основная программа
 char t;
 float
a,b,c;
 cout<<"\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. Консольный вариант
Условие: разработать
проект для вычисления выражения

c = a+b
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)
c = a + b
Console.WriteLine("Результат с")
Console.WriteLine(c)
Console.WriteLine()
 Console.WriteLine("повторить? (нажмите клавишу)")
 str
= Console.ReadLine()
 Loop    End Sub End Module

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

Программа на языке
С#. Windows – проект.
Условие: разработать проекты  для вычисления арифметических
выражений c=( a+b)/d
Программа

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++. Windows – проект.
Условие: разработать проект для вычисления выражений
 c = (a+b) и z = (√(sin(x+y) + cos( x+
y))/(x +y4 * e (x+y))
#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
z=(Math::Sqrt(Math::Sin((x+y)) + Math::Cos(x) * (x + y)) / (x + Math::Pow(y,4)
* Math::Exp(x + y)));
textBox3->Text
= Convert::ToString(c);
                         }
                                 Формы
проекта

Программа на
языке VB. Windows
вариант.
Условие: составить программу для вычисления выражения
               с = ( a + b) и  y = (x2 + 2*x – 3 + ( x + 1))

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)
)
    //    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
Формы
проекта

Программа на языке
C#. 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();
        }
//вычислить задачу
1
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   ";
      }}

Формы проекта

// вычислить задачу 2
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)
        {   }   }}

Формы проекта

Язык
программирования С++. Windows проект.
Условие: вычислить z =
√(sin(x+y)
– cos(x+y))/(y4*exp(x+y)
#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.
Windows проект.
Условие: вычислить  y = (sin(8-2*x) + exp((1-x/4))/
(log(2+2*x) +

tg(2*x -8)*(6-x))     и сумму ряда

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

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

 Формы проекта

Задания для
выполнения лабораторных работ

.
.

.

 где
.

 где
.

Лабораторная работа 3 Вычисление суммы ряда.
Консольный вариант
Цель
занятия: Изучить структуру программ,
основные операторы С#.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());
                        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();
        }    }}

Программа на языке С++. Консольный вариант.
Условие: вычислить сумму s=(1+1/1) +
(1+1/ 2) +....+ (1+1/n)
#include "stdafx.h"
#include "iostream"
#include <conio.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
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"<<endl;//<<endl;
 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"<<endl;
 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<k;i++)
  {

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

cout<<"s="<< s<<endl;

cout<<"\n";
  getch();

cout<<"\n";
 cout<<"Повторить? (y/n) ";
 cin>>t;
 system("cls");
}
while (t=='y');

}
                     Результаты
вычислений

Программа на языке VB. Консольный вариант                  Условие: вычислить
сумму ряда    s=(1+1/1) + (1+1/ 2) +....+     (1+1/n);

Словесный алгоритм:
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
Результаты вычислений

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

     Программа на  языке
С#. 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();
          }    }  }
 Форма проекта

Программа на языке C ++.NET. Windows проект.
Условие: вычислить сумму ряда s=1+p/i.
#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.
Windows проект.
Условие: вычислить произведение ряда s = 1/sin(n)
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

  Формы проекта

                      Задания
для  лабораторной работы

1.

2.

3.

4.
1 + cos(
5.

6.

7.
8.
9.
10.
11.
12.   𝑠   =
13.   S = 1 +  +….+
14.
15.   S = .

) ∙ (1 +
           17.  p  ) ∙ (1 +
           18. p =

           20. p =   .

21.  s = .

22.  s =  +

              23.  s =

              24.  s =  .

              25.

              26.

             27.

              28.

               29.

               30.

Лабораторная работа 5. Одномерные
массивы.  Консольный
                               вариант

Цель занятия: изучить
структуру программ, основные операторы языков С#, C++, VB.NET
для ввода, преобразования и вывода одномерного числового массива в консольном
варианте.
Программа на языке С#.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();
                }            }            }
Программ на языке С#.NET. Консольный вариант
Условие:создать одномерный массив, вычислить максимальное число,
вывести последний положительный  элемент, ввести числа А В и вывести элементы
массива, которые не входят в диапазон введенных чисел.

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

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

Программа на языке С++.NET. Консольный вариант
Условие: ввести случайный массив рзмерностью n , создать массивы из
положительных, отрицательных элементов и из нулей.
#include "stdafx.h"
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
#include <iostream>
#include <ctime>
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("  Выполнил: студент  Сергеев Н. И.")
        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

Console.WriteLine()

Console.WriteLine("повторить?
(нажмите клавишу)")
            str = Console.ReadLine()
        Loop
    End Sub
End Module

Лабораторная работа 6. Одномерные массивы. Windows вариант
  Цель занятия: изучить
структуру программ, основные операторы языков С#, C++, VB.NET  для вввода, преобразования и вывода одномерного
числового массива в консольном варианте.

Программа на языке C#. NEN.
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];

            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.
Windows проект.
Условие:создать одномерный массив и найти максимальное и
минимальное значения, составить новый массив в интервале от  min
до max и заполнить числами, которых нет в первоначальном
массиве.

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

Public Class Form2
    Dim А(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
           А(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 А(i)
> max Then max = А(i)
            If А(i)
< min Then min = А(i)
        Next i

TextBox4.Text = min

TextBox5.Text = max
        k = 0
        For i =
min To max
            For j
= 1 To n
                If
i <> А(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.
Windows проект.
Условие: создать одномерный массив и выполнить сортировки методом
«пузырька» и методом обмена на языке 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
                        Формы
проекта

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

Программа на языке VB.NET.
Windows проект.
Условие: разработать
одномерный массив с помощью
 компонента(
класса) 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
Формы
проекта

Задания для лабораторных работ
1.
Найти сумму положительных
элементов массива.
2.
Найти сумму всех элементов
массива, кратных 5.
3.
Найти сумму всех четных элементов
массива, стоящих на четных местах.
4.
Найти сумму первых пяти элементов
массива.
5.
Найти сумму элементов с k1 по
k2, где k1, k2 вводятся с клавиатуры.
6.
Найти сумму элементов, больших
данного числа А.
7.
Найти сумму элементов,
принадлежащих промежутку от А до В.
8.
Найти номера всех отрицательных
элементов массива (вывести их на экран). Если таких элементов нет, то сообщить
об этом.
9.
Найти номера всех элементов с
максимальным значением.
10.
Найти количество отрицательных
нечетных элементов массива.
11.
Сколько элементов массива
превосходят по модулю заданное число А?
12.  Найти
все элементы массива, кратные 3 или 5. Сколько их?
13.
Есть ли в данном массиве два
соседних положительных элемента? Найти номера первой и последней пары.
14.
Есть ли в данном массиве элемент,
равный заданному числу? Если есть, то вывести номер одно из них.
15.
Изменить знак у максимального по
модулю элемента массива.
16.  Заменить
все четные элементы массива их квадратами, а нечетные – удвоить.
17.
Вычесть из положительных элементов
элемент с номером k1, а к отрицательным прибавить элемент k2,
нулевые элементы оставить без изменения.
18.
К четным элементам прибавить А, а
из элементов с четными номерами вычесть В.
19.
Даны два целочисленных массива,
состоящие из одинакового числа элементов. Получить третий массив той же
размерности, каждый элемент которого равен большему из соответствующих
элементов данных массивов.
20.
Дан первый член геометрической
прогрессии и её знаменатель. Найти первые n членов этой
прогрессии.
21.
Получить первые n
чисел Фибоначчи, - первые два числа равны 1, а каждое следующее сумме двух
предыдущих.
22.
Дан одномерный массив А, состоящий
из 2n элементов. Поменять его половины следующим образом:
первый элемент поменять с последним, второй – с предпоследним и т.д.
23.
Дан одномерный массив. Переставить
в обратном порядке элементы массива, расположенные между минимальным и
максимальным.

             Лабораторная
работа 7.  Двумерные массивы.
 Windows вариант.

  Цель занятия: изучить
структуру программ, основные операторы языков С#, C++, VB.NET
для вввода, преобразования и вывода двумерного числового массива в  Windows
варианте.
Программа на языке  С#.NET. 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
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);
            //Заполнение DGView строками

AddRows(m, dataGridView1);

AddRows(m, dataGridView2);
        }
        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();
     }        }}

   Формы проекта

Программа на языке VВ.NET.
Windows проект.
Условие: создть двумерный массив в пределах от -100 до 100 и
вывести в компонент ListBox, найти максимальное и минимальные значения.

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

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

         Формы проекта

Задания для лабораторной работе
1.
Дана матрица А(nxn).
Написать программу нахождения минимального элемента из (max1,
...,maxn), где maxi - максимальный в i
- той строке.
2.
В матрице А(nxn) найти
максимальный и минимальный элементы. Указать их разность, а также строки и
столбцы, на пересечении которых они находятся.
3.
Дана матрица А(nxn).
Написать программу, которая находит максимальный и минимальный элементы этой
матрицы и переставляет столбцы и строки так, чтобы эти элементы поменялись
местами.
4.
Дана матрица А(nxn).
Написать программу, которая находит максимальную сумму элементов, стоящих на
диагоналях, параллельных главной.
5.
Даны две матрицы А(nxn) и B(nxn).
Написать программу нахождения максимального значения max(S1, S2,
..., Sn), где Sk - скалярное произведение k
- й строки матрицы А на k - й столбец матрицы В.
6.
Дана матрица А(nxn) с
положительными элементами. Написать программу, которая находит среди элементов
матрицы тройки таких элементов (aji-1, aji, aji+1),
чтобы существовал треугольник со сторонами, равными этим числам.
7.
Дана прямоугольная матрица А(nxm).
Заменить наименьший элемент каждой строки, начиная со второй, наибольшим
элементом предыдущей строки.
8.
Дана действительная квадратная
матрица порядка n. Вычислить сумму тех ее элементов, расположенных на
главной диагонали и выше нее, которые превосходят по величине все элементы,
расположенные ниже главной диагонали. Если на главной диагонали и выше нее нет
элементов с указанным свойством, то ответом должно служить сообщение об этом.
9.
Найти все различающиеся элементы
целочисленной квадратной матрицы размерностью nxn.
10.
Дана матрица А(nxn).
Написать программу, которая находит максимальный по абсолютной величине элемент
и переставляет строки и столбцы так, чтобы он оказался в левом верхнем углу.
11.
Дана матрица А(nxn).
Написать программу поиска одинаковых элементов в этой матрице.
12.
Дана матрица А(nxn).
Написать программу нахождения максимального элемента матрицы, принадлежащего отрезку
[p, q].
13.
Дана матрица А(nxn).
Написать программу, которая упорядочивает строки этой матрицы по убыванию
первых элементов строк.

14 Дана матрица C(nxn). Написать программу, которая

упорядочивает столбцы этой матрицы по возрастанию

 первых элементов столбцов.

15.Дана матрица F(nxn). Написать программу, которая

упорядочивает строки этой матрицы по возрастанию

первых элементов ее строк.
16.
Дана матрица K(nxn).
Написать программу, которая упорядочивает столбцы этой матрицы по возрастанию.
17.
Дана матрица B(nxn).
Написать программу, которая упорядочивает элементы этой матрицы по убыванию.
18.
Расположить столбцы матрицы D(mxn)
в порядке возрастания элементов k - строки (1<k<n).
19.
Заданы квадратная матрица А
порядка n и число k(1<=k<=n). Столбец с минимальным по модулю
элементом в k - той строке переставить с k - тым столбцом.
20.
Задана квадратная матрица порядка n.
Исключить из нее строку и столбец, на пересечении которых расположен
минимальный элемент главной диагонали.
21.
Дана матрица А(nxn). Найти
максимальный по модулю элемент матрицы. Переставить строки и столбцы матрицы
таким образом, чтобы максимальный по модулю элемент матрицы был расположен на
пересечении k - той строки и k - того столбца.
22.
Дана целочисленная матрица
размерностью nxm. Найти матрицу, получающуюся из данной перестановкой
строк - первой с последней, второй с предпоследней и т.д.
23.     Дана целочисленная матрица размерностью nxm,
целые числа k, l (1<=k<=n, 1<=l<=m, k<>l).
Преобразовать матрицу так, чтобы строка с исходным номером k
непосредственно следовала за строкой с исходным номером l.
Лабораторная работа 8.  Символы.
Цель
занятия: Изучить структуру программ,
основные операторы  языков С#, С++, VB.NET  для
построения прогрмм с символьными данными.

Программа на языке С#.NET. 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 WindowsChar
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender,
EventArgs e)
        {

//Console.WriteLine("Работа по программированию.\nЗадание: Заменить в
предложении буквы 'a' на 'в'");

// Console.WriteLine("Работу выполнил студент гр. ДиКТ 31-12 Николаев
Николай");

// Console.WriteLine("Введите предложение:");

string name = Convert.ToString(textBox1.Text);
            char[] array = name.ToCharArray();
            textBox2.Text =
Convert.ToString(name.Replace("а", "в"));
            //Console.WriteLine(name.Replace("а",
"в"));
         }
        private void выходToolStripMenuItem_Click(object
sender, EventArgs e)
        {
            Application.Exit();
        }
        private void условиеToolStripMenuItem_Click(object
sender, EventArgs e)
        {

MessageBox.Show("Заменить в предложении буквы 'a' на 'в'");

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

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

}    }}
Форма проекта

Программа на языке С#.NET. 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
count_words
{
    public partial
class Form1 : Form
    {
        public
Form1()
        {

InitializeComponent();
        }
        private
void button1_Click(object sender, EventArgs e)
        {
            string
text = "";

string[] textArr = text.Split(new[] { "\r\n", "\n", "
", "," }, StringSplitOptions.RemoveEmptyEntries);
            text =
richTextBox1.Text;

label2.Text = text.Split(' ').Length.ToString();
        }    }}
Форма проекта

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

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

Public Class Form2
    Dim i As Integer
    Dim familia(20), dolznost(20), b(20) As String
    Dim oklad(20), a(20) As Double
    Private Sub НазадToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles НазадToolStripMenuItem.Click
        Me.Hide()
        Form1.Show()
    End Sub
    Private Sub ВыходToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles ВыходToolStripMenuItem.Click
        End
    End Sub
    Private Sub Button1_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim k, l, min, n As Integer
        n = TextBox2.Text
        If i = n Then
            i = 0
            ListBox1.Items.Clear()
            ListBox1.Items.Clear()
        End If
        i = i + 1
        familia(i) = TextBox1.Text
        dolznost(i) = ComboBox1.Text
        oklad(i) = NumericUpDown1.Value
        For k = 1 To n - Len(familia(i))
            familia(i) = familia(i) + ““
        Next
        If (ComboBox1.Text = «Выберите должность») Or(TextBox1.Text = ““) Then
            MessageBox.Show(«Не
введена фамилия или  не выбрана дожность», «Ошибка»)

i = i - 1
        Else
            ListBox1.Items.Add(familia(i) + ““
+ dolznost(i) + ““
 + Str(oklad(i)))
        End If
        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
    End Sub
    Private Sub TextBox1_TextChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
    End
Sub
End Class
Public Class Form1
    Private Sub ЗаданиеToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles ЗаданиеToolStripMenuItem.Click
        Me.Hide()
        Form2.Show()
    End Sub
    Private Sub АвторToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles АвторToolStripMenuItem.Click
        Me.Hide()
        form3.show()
    End Sub
    Private Sub ВыходToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles ВыходToolStripMenuItem.Click
        End
    End Sub
    Private Sub Form1_Load(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    End Sub
End Class
Форма
проекта

Задания для лабораторной работы
Задание
1.

Напишите
     программу подсчета суммарного числа букв 'а' и букв 'b' в
     данной строковой переменной. Вывести на экран каких букв больше.
Задано
     предложение y, состоящее из слов-строк. Проверить, встречается ли
     данное слово х в предложении у.
Предложение
     содержит буквы латинского и русского алфавитов. Написать программу,
     которая выводит буквы только латинского алфавита в порядке их следования в
     предложении.
Дано
     предложение-строка. Подсчитать количество слов, начинающихся с буквы 'а'.
Написать
     программу, подсчитывающую, сколько раз в данном слове  встречается буква у.
Написать
     программу, которая каждый встречающийся в строке заданный символ заменяет
     на заданную последовательность символов, расширяя при этом строку.
Задано
     предложение-строка. Написать программу, которая находит самое длинное слово,
     встречающееся в предложении.
Написать
     программу, вычеркивающую из данного текста все буквы 'а'.
Написать
     программу, которая проверяет в строке баланс открывающихся и закрывающихся
     круглых скобок (строка содержит арифметическое выражение).
Написать
     программу, которая каждую встреченную букву 'б' заменяет сочетанием
     'ку'.
Задано
     предложение, состоящее из слов-строк. Написать программу, которая находит
     самое короткое слово в предложении.
Предложение
     состоит из слов-строк. Написать программу, которая подсчитывает количество
     слов в предложении.
Написать
     программу, проверяющую, является ли частью данного слова слово 'сок'.
     Ответ должен быть 'да' или 'нет'.
Даны
     две строки. Вычеркнуть из строки А символы, встречающиеся в строке В.
Из
     данного предложения вычеркнуть слова, встречающиеся больше одного раза.

Задание 2.

В
     заданный непустой текст входят только цифры и буквы. Определить,
     удовлетворяет ли он следующему свойству: текст является десятичной записью
     числа, кратного 9.
В
     заданный непустой текст входят только цифры и буквы. Определить,
     удовлетворяет ли он следующему свойству: текст является записью четного
     числа в семеричной системе.
В
     заданный непустой текст входят только цифры и буквы. Определить,
     удовлетворяет ли он следующему свойству: текст является записью
     десятичного числа, кратного 6.
В
     заданный непустой текст входят только цифры и буквы. Определить,
     удовлетворяет ли он следующему свойству: текст является записью
     десятичного числа, кратного 4.
В
     заданный непустой текст входят только цифры и буквы. Определить,
     удовлетворяет ли он следующему свойству: текст является шестнадцатеричной
     записью числа, кратного 5.
В
     заданный непустой текст входят только цифры и буквы. Определить,
     удовлетворяет ли он следующему свойству: текст начинается с некоторой
     ненулевой цифры, за которой следуют только буквы, и их количество равно
     числовому значению цифры.
В
     заданный непустой текст входят только цифры и буквы. Определить,
     удовлетворяет ли он следующему свойству: текст начинается с к букв
     (1<=к<=9), за которыми следует только одна литера-цифра с
     числовым значением к.
В
     заданный непустой текст входят только цифры и буквы. Определить,
     удовлетворяет ли он следующему свойству: текст совпадает с начальным
     отрезком ряда 0123456789 (например: 0, 01, 012).
В
     заданный непустой текст входят только цифры и буквы. Определить,
     удовлетворяет ли он следующему свойству: текст совпадает с конечным
     отрезком ряда 0123456789 (например: 9, 89, 789
     ).
В
     заданный непустой текст входят только цифры и буквы. Определить,
     удовлетворяет ли он следующему свойству: текст совпадает с каким то
     отрезком ряда 0123456789 (например: 2, 678, 89).
В
     заданный непустой текст входят только цифры и буквы. Определить,
     удовлетворяет ли он следующему свойству: текст состоит только из цифр,
     причем их числовые значения образуют арифметическую прогрессию (например: 2468,
     741, 3).
В
     заданный непустой текст входят только цифры и буквы. Определить,
     удовлетворяет ли он следующему свойству: текст содержит (помимо букв)
     только одну цифру, причем ее числовое значение равно длине текста.
В
     заданный непустой текст входят только цифры и буквы. Определить,
     удовлетворяет ли он следующему свойству: сумма числовых значений цифр,
     входящих в текст, равна длине текста.

Лабораторная работа 9.  Графика.
Цель
занятия: Изучить структуру программ,
основные операторы  языков С#, С++, VB.NET  для  построения
графических фигур. Получить  навыки работ по составлению простейших графических
программ
Прогпамма на языке С#.NET. Windows  проект.
Условие:  Нарисовать
на форме желтого цвета прямоугольник зеленного цвета и эллипс красного цвета
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 сolidBrush(System.Drawing.Color.Red);
            //Объявляем объект
myRectangle
   Rectangle
myRectangle = new Rectangle(10, 15, 150, 200);

e.Graphics.FillEllipse(myBrush, myRectangle);
            //Высвобождаем память, выделенную объекту myBrush

myBrush.Dispose();        }
                               Формы
проекта

Программа на языке С#.NET. Windows  проект.
Условие: Нарисовать
и закрасить вложенные фигуры
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();
        }    }    }
                            Форма проекта

Программа на языке  С++.NET. Windows проект.
Условие: нарисовать вложенные фигуры.
#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()
{
            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.Windows проект.
   Условие: построить вложенные геометрические фигуры:
окружность зеленного цвета, шестиугольник синего цвета и треугольник красного
цвета

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

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

     Форма пректа

Лабораторная работа 10. Построение графика функции.
Вычисление площади фигур методом Монте-Карло.
    Программа на языке С#.NET. Windows  проект.
Условие: построить
график функции y=sin(x)  в пределах от а до в с шагом h

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

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);
        }   }}
Формы пректа

         Программа на языке
 С++.NET. Windows  проект.
Условие:  построить график функции y=sin(x)  в
пределах от а до в с шагом h
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.
Windows  проект.
Условие:построить график функции  y=sin(x) и таблицу значений
Y,X в элементе Listbox

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

ВыходToolStripMenuItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ВыходToolStripMenuItem.Click
        End
    End Sub
    Private Sub НазадToolStripMenuItem_Click(ByVal
sender As System.Object, ByVal e As System.EventArgs) Handles НазадToolStripMenuItem.Click
        Me.Hide()

Form1.Show()
    End Sub
    Private Sub ПостроитьГрафикToolStripMenuItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ПостроитьГрафикToolStripMenuItem.Click
        Dim g As
Graphics = CreateGraphics()
        Dim dy,
dx, a, b, intx, inty, dpl As Integer
        Dim x, y
As Double
        Dim
mashtab As Long
        a = InputBox(«Введите левую границу», «Ввод границ»)
        b = InputBox(«Введите
правую границу», «Ввод границ»)
        g.DrawString(a, Font.Clone, Brushes.Black,
22, 145)

g.DrawString(b, Font.Clone, Brushes.Black, 355, 145)
        dx = 200
        dy = 150
        mashtab =
300 / (b - a)
        dpl = -(b
+ a) * Int(mashtab / 2)

g.FillRectangle(Brushes.White, 50, 50, 300, 200)

g.DrawRectangle(Pens.Blue, 50, 50, 300, 200)
        “оси координат

g.DrawLine(Pens.Black, dx + dpl, 50, dx + dpl, 250)

g.DrawLine(Pens.Black, 50, 150, 350, 150)
        For x = a
To b Step 1 / Int(300 / (b - a))
            If x
<> 0 Then
                y
= Math.Sin(x)

ListBox1.Items.Add(«x=» + Str(Format(x, «0.##»)) + «      « + «y=» +
Str(Format(y, «0.##»)))
            End If
            If
(Int(-mashtab * y) + dy >= 50) And (Int(-mashtab * y) + dy <= 250) Then
“
setpixel(Int(mashtab * x) + dx + dpl, Int(-mashtab * y) + dy, clred)

intx = Int(mashtab * x) + dx + dpl

inty = Int(-mashtab * y) + dy

g.FillEllipse(Brushes.Red, intx, inty, 2, 2)
            End If
            If
Int(-mashtab * y) + dy = 50 Then

g.DrawString(Str(Int(y)), Font.Clone, Brushes.Black, 190, 38)
            End If
            If
Int(-mashtab * y) + dy = 250 Then
 g.DrawString(Str(Int(y)),
Font.Clone, Brushes.Black, 190, 255)
            End If
        Next
    End Sub
    Private Sub
Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
    End Sub
End Class
Формы
проекта

Программа на языке C# NET.
Windows  проект.
Условие: вычислить площадь фигуры  методом Монте-Карло.

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

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)
        {
        }    }     }

Формы проекта

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

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

using System;
using
System.Collections.Generic;
using
System.ComponentModel;
using System.Data;
using
System.Drawing;
using System.Text;
using
System.Windows.Forms;
namespace din2
{
    public partial
class Form1 : Form
    {
        public
Form1()
        {

InitializeComponent();
        }
        private
void menuItem2_Click(object sender, EventArgs e)
        {

MessageBox.Show("Задать движение шарика по траектории
окружности.","Условие");
        }
        private
void menuItem3_Click(object sender, EventArgs e)
        {

MessageBox.Show("Профессор Никишев В.К.", "Автор");
        }
        rivate
void menuItem6_Click(object sender, EventArgs e)
        {

MessageBox.Show("25 ноября 2007г.", "Дата");
        }
        public int
a;

private void menuItem4_Click(object sender, EventArgs e)
        {
            //создание объекта
Graphics

Graphics g = this.CreateGraphics();
            //ввод радиуса окружности
            a =
Convert.ToInt32(textBox1.Text);
            //определение т.(midx,midy)
            int
midx = Width / 2;
            int midy = Height / 2;
            //перевод начала
координат в т.(midx,midy)

g.TranslateTransform(midx, midy);
            //очищение
области для построений
            Refresh();
            //построение осей

g.DrawLine(new Pen(Color.Blue, 2), -midx, 0, midx,
0);

g.DrawLine(new Pen(Color.Blue, 2), 0, midy, 0, -midy);
            //построение окружности

g.DrawEllipse(new Pen(Color.Green, 2), -a,-a, 2 * a, 2 * a);
            //создание изображения
            Bitmap
myBitmap1 = new Bitmap(20, 20);
            //создание объекта
Graphics

Graphics g1 = Graphics.FromImage(myBitmap1);
            //1 способ задания шарика красного цвета

//SolidBrush solidBrush_Color1 = new SolidBrush(Color.Red);
            //определение структуры для работы с прямоугольной
областью
            //Rectangle Rect_Move1 = new Rectangle(0,
0, 20, 20);
            //рисование шарика

//g1.FillEllipse(solidBrush_Color1, Rect_Move1);
            //2 способ задания шарика красного цвета

g1.FillEllipse(new SolidBrush(Color.Red), new Rectangle(0, 0, 20, 20));
            //размещение изображения в объекте
pictureBox1

pictureBox1.Image = myBitmap1;
            //задание движения шарика по окружности
            int t = 0;
            while (t < 360)
            {

pictureBox1.Top = midy-10+ Convert.ToInt16(a * Math.Cos(t * (3.1415 / 180)));

pictureBox1.Left = midx - 10 + Convert.ToInt16(a * Math.Sin(t * (3.1415 /
180.0)));
                //текущее значение t
                t += 1;
                for (int j =
0; j < 360; j++)
                    for (int k = 0; k < 20; k++) ;

pictureBox1.Refresh();
            }
            //построение осей

g.DrawLine(new Pen(Color.Blue, 2), -midx, 0, midx, 0);

g.DrawLine(new Pen(Color.Blue, 2), 0, midy, 0, -midy);
            //построение окружности

g.DrawEllipse(new Pen(Color.Green, 2), -a, -a, 2 * a, 2 * a);
        }
        private
void menuItem5_Click(object sender, EventArgs e)
        {

Close();
        }
        private
void Form1_Load(object sender, EventArgs e)
        {        }    }}
Форма проекта

Программа на языке С#.NET. Windows  проект.
Условие:
разработать алгоритм и программу
динамики движения шарика по кругу с использованием компонента Timer.
using System;
using
System.Collections.Generic;
using
System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using
System.Windows.Forms;
namespace din2
{
    public partial
class Form1 : Form
    {
        public
Form1()
        {

InitializeComponent();
        }
        private
void menuItem2_Click(object sender, EventArgs e)
        {

MessageBox.Show("Задать движение шарика по траектории
окружности.","Условие");
        }
        private
void menuItem3_Click(object sender, EventArgs e)
        {

MessageBox.Show(" Профессор Никише В. К..", "Автор");
        }
        private
void menuItem6_Click(object sender, EventArgs e)
        {
            MessageBox.Show("25
октября  2015 г.", "Дата");
        }
        public int
a, t = 0;
        public int
midx, midy;

private void menuItem4_Click(object sender, EventArgs e)
        {

timer1.Enabled = true;
            //создание объекта
Graphics

Graphics g = this.CreateGraphics();
            //ввод радиуса окружности
            a =
Convert.ToInt32(textBox1.Text);
            //определение т.(midx,midy)
             midx
= Width / 2;
             midy = Height / 2;
            //перевод начала
координат в т.(midx,midy)

g.TranslateTransform(midx, midy);
            //очищение
области для построений
            Refresh();
            //построение осей

g.DrawLine(new Pen(Color.Blue, 2), -midx, 0, midx,
0);
  g.DrawLine(new
Pen(Color.Blue, 2), 0, midy, 0, -midy);
  //построение окружности

g.DrawEllipse(new Pen(Color.Green, 2), -a+20,-a+20, 2 * a-40, 2 *
a-40);             //создание изображения
  Bitmap myBitmap1
= new Bitmap(20, 20);
  //создание объекта
Graphics
  Graphics g1 =
Graphics.FromImage(myBitmap1);
   //1 способ задания шарика красного цвета
   //SolidBrush
solidBrush_Color1 = new SolidBrush(Color.Red);
  //определение структуры для работы с прямоугольной
областью
 //Rectangle Rect_Move1 = new Rectangle(0, 0, 20, 20);
//рисование шарика
//g1.FillEllipse(solidBrush_Color1,
Rect_Move1);
//2 способ задания шарика красного цвета
g1.FillEllipse(new
SolidBrush(Color.Red), new Rectangle(0, 0, 20, 20));
//размещение изображения в объекте
pictureBox1
pictureBox1.Image
= myBitmap1;
}
private void
menuItem5_Click(object sender, EventArgs e)
{
 Close();
 }
private void timer1_Tick(object
sender, EventArgs e)
{
 t += 10;
 if (t > 360)
timer1.Enabled=false;
  pictureBox1.Top
= midy - 10 + Convert.ToInt16(a * Math.Cos(t * (3.1415 / 180)));
 pictureBox1.Left
= midx - 10 + Convert.ToInt16(a * Math.Sin(t * (3.1415 / 180.0)));
 for (int j = 0; j
< 360; j++)
 for (int k = 0; k
< 200; k++) ;
 pictureBox1.Refresh();
}    }}

Форма проекта

Программа на языке С#.NET. Windows  проект.
Условие:разработать
алгоритм и программу анимационного рисунка « Солнышко улыбается» с использованием
компонента Timer.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Colnce
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
       int bl;
       private void button1_Click(object sender,
EventArgs e)
        {
                timer1.Enabled = true;
 //           Bitmap myBitmap1 = new Bitmap(630, 510);
 //           Graphics g1 =
Graphics.FromImage(myBitmap1);
 //           pictureBox1.Image = myBitmap1;
        }
        private void timer1_Tick(object sender,
EventArgs e)
        {
            if (bl== 1)
            {                pictureBox1.Load("m:\\sun1.bmp");
                bl=2;
            }
            else
            if (bl== 2)
            {
pictureBox1.Load("m:\\sun2.bmp");
                bl=3;
            }else
            if (bl == 3)
            {                pictureBox1.Load("m:\\sun3.bmp");
                bl = 1;
            }
            bl++;
            if (bl == 4) bl = 1;
                    }
        private void Form1_Load(object sender,
EventArgs e)
        {
        bl=1;
         }
        private void pictureBox1_Click(object sender,
EventArgs e)
        {        }
        private void button2_Click(object sender,
EventArgs e)
        {
            timer1.Enabled = false;
        }
        private void button3_Click(object sender,
EventArgs e)
        {

Close();        }    }}
Формы проекта

Лабораторная работа 12.  Базы данных. Файлы.
Цель
занятия: изучить структуру программ
для составления баз данных, ип данных файлы и их использования для сохранения
баз данных, а также работу с базой данных ( добавление, поиск, удаление  и
очистка ).
Программа на языке С#.NET. 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;
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_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)
        {
        }         }       }
Формы проекта

Лабораторная работа 13.
Система управления базами

данных.
Цель
занятия: изучить структуру программ, основные операторы  языков
С#, С++, VB.NET  для  построения баз данных и систем управления
базами данных. Получить  навыки работ по составлению простейших графических
программ
Программа на языке С#.NET. 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 salon
{
    public partial
class Form3 : Form
    {
        public
Form3()
        {

InitializeComponent();
        }
        private
void Form3_Load(object sender, EventArgs e)
        {
            // TODO: данная
строка кода позволяет загрузить данные в таблицу
"salonDataSet.Услуги". При необходимости она может быть перемещена
или удалена.
this.услугиTableAdapter.Fill(this.salonDataSet.Услуги);
            // TODO: данная
строка кода позволяет загрузить данные в таблицу
"salonDataSet.Клиенты". При необходимости она может быть перемещена
или удалена.
this.клиентыTableAdapter.Fill(this.salonDataSet.Клиенты);
        }
        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 (textBox8.Text ==
dataGridView1.Rows[i].Cells[j].Value.ToString())

{

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

break;

}                }            }        }
        private
void button2_Click(object sender, EventArgs e)
        {
            клиентыTableAdapter.Insert(textBox1.Text,
textBox2.Text, textBox4.Text);
            услугиTableAdapter.Insert(textBox5.Text,
textBox6.Text, textBox7.Text);

salonDataSet.AcceptChanges();
            клиентыTableAdapter.Update(salonDataSet.Клиенты);
            услугиTableAdapter.Update(salonDataSet.Услуги);
           this.клиентыTableAdapter.Fill(this.salonDataSet.Клиенты);
          this.услугиTableAdapter.Fill(this.salonDataSet.Услуги);
        }
        private
void сохранитьToolStripButton_Click(object sender, EventArgs e)
        {

Validate();
            клиентыУслугиBindingSource.EndEdit();
            клиентыTableAdapter.Update(salonDataSet);
            услугиTableAdapter.Update(salonDataSet);

salonDataSet.AcceptChanges();
        }    }}

Формы проекта

Таблицы базы
данных

Программа на языке C#.NET.
Windows  проект.
Условие: создать систему управления базой данных « телефон»

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

        }
}}

          Формы проекта

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

 Программа на языке C#.NET. Windows  проект.
Условие: создать
систему управления базой данных
«туристические
туры»
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();
                        }          }}
Формы проекта

     Программа на языке
C++#.NET.
Windows  проект.
Условие: создать систему управления базой данных
« автомагазин»
с возможностью записи информации в файл и в базу данных «аccess»

#pragma once
#include
<list>
#include
<string>
#include
<fstream>
namespace СУБД
{
            using
namespace System;
            using
namespace System::ComponentModel;
            using
namespace System::Collections;
            using
namespace System::Windows::Forms;
            using
namespace System::Data;
            using
namespace System::Data::OleDb;
            using
namespace System::Drawing;
            using
namespace System::IO;
            using
namespace System::Text;
            using
namespace System::Collections::Generic;
            public
ref class Form2 : public System::Windows::Forms::Form
            {
            public:
                        Form^
f;
                        bool
flag;
            private:
                        DataSet^
dataSet = gcnew DataSet();
                        OleDbDataAdapter^
adap;
this->Text =
L"Работа с текстовым файлом";
this->FormClosed
+= gcnew System::Windows::Forms::FormClosedEventHandler(this,
&Form2::Form2_FormClosed);
this->Load +=
gcnew System::EventHandler(this, &Form2::Form2_Load);
(cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->dataGridView1))->EndInit();
this->menuStrip1->ResumeLayout(false);
this->menuStrip1->PerformLayout();
this->ResumeLayout(false);
this->PerformLayout();
}
#pragma endregion
private:
System::Void Form2_Load(System::Object^  sender, System::EventArgs^  e) {
button1->Enabled
= false;
button2->Enabled
= false;
button3->Enabled
= false;
button4->Enabled
= false;
}
private:
System::Void Form2_FormClosed(System::Object^  sender,
System::Windows::Forms::FormClosedEventArgs^  e) {
                        this->Hide();
                        f->Show();
            }
 //открыть файл
            private:
System::Void открытьToolStripMenuItem_Click(System::Object^
sender, System::EventArgs^  e) {
button1->Enabled
= true;
button2->Enabled
= true;
button3->Enabled
= true;
button4->Enabled
= true;
dataSet->Clear();
try
{//чтение базы данных
if (flag == false)
{
//"select
Номер,Название,Цена,Масса,Цвет,Страна from LIST"
adap = gcnew
OleDbDataAdapter("select * from LIST", gcnew
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=11.mdb"));
OleDbCommandBuilder^
bulder = gcnew OleDbCommandBuilder(adap);
adap->UpdateCommand
= bulder->GetUpdateCommand();
adap->InsertCommand
= bulder->GetInsertCommand();
adap->DeleteCommand
= bulder->GetDeleteCommand();
adap->Fill(dataSet);
dataGridView1->DataSource
= dataSet->Tables[0];
dataGridView1->Columns->Clear();
dataGridView1->DataSource
= dataSet;
dataGridView1->DataMember
= dataSet->Tables[0]->TableName;
dataSet->AcceptChanges();
dataGridView1->Columns[0]->Visible
= false;
}
else
//чтение текстого файла
{
//openFileDialog1->ShowDialog();
array<String^>^
F = File::ReadAllLines("1.txt");
dataGridView1->RowCount
= F->Length;
for (int i = 0; i
< F->Length; i++)
{
array<String^>^
s = F[i]->Split('|');
dataGridView1->Rows[i]->Cells[0]->Value
= s[0];
dataGridView1->Rows[i]->Cells[1]->Value
= s[1];
dataGridView1->Rows[i]->Cells[2]->Value
= s[2];
dataGridView1->Rows[i]->Cells[3]->Value
= s[3];
dataGridView1->Rows[i]->Cells[4]->Value
= s[4];
dataGridView1->Rows[i]->Cells[5]->Value
= s[5];
}}}
catch (Exception^
e)
{}}
 //сохранить файл
private:
System::Void сохранитьToolStripMenuItem_Click(System::Object^
sender, System::EventArgs^  e) {
try
{
if (flag == false)
//сохранить в базу данных
adap->Update(dataSet->Tables[0]);
//сохранить в текстовый файл
else
{
List<String^>^
S = gcnew List<String^>();
for (int i = 0; i
< dataGridView1->RowCount; i++)
{
String^ w =
Convert::ToString(dataGridView1->Rows[i]->Cells[0]->Value)
+ "|"
+Convert::ToString(dataGridView1->Rows[i]->Cells[1]->Value) +
"|"
+Convert::ToString(dataGridView1->Rows[i]->Cells[2]->Value) +
"|" +Convert::ToString(dataGridView1->Rows[i]->Cells[3]->Value)
+ "|" +
Convert::ToString(dataGridView1->Rows[i]->Cells[4]->Value)
+ "|"
+Convert::ToString(dataGridView1->Rows[i]->Cells[5]->Value);
S->Add(w);     }
saveFileDialog1->ShowDialog();
File::WriteAllLines(saveFileDialog1->FileName,
S);
}}
catch (Exception^
e)
{          }          }
private:
System::Void dataGridView1_Click(System::Object^  sender, System::EventArgs^
e) {
try
{
int i =
dataGridView1->SelectedCells[0]->RowIndex;
if (flag ==
true)//текст
{
textBox1->Text
= dataGridView1->Rows[i]->Cells[0]->Value->ToString();
textBox2->Text
= dataGridView1->Rows[i]->Cells[1]->Value->ToString();
textBox3->Text
= dataGridView1->Rows[i]->Cells[2]->Value->ToString();
textBox4->Text
= dataGridView1->Rows[i]->Cells[3]->Value->ToString();
textBox5->Text
= dataGridView1->Rows[i]->Cells[4]->Value->ToString();
textBox6->Text
= dataGridView1->Rows[i]->Cells[5]->Value->ToString();     }
else//база
{
textBox1->Text
= dataGridView1->Rows[i]->Cells[1]->Value->ToString();
textBox2->Text
= dataGridView1->Rows[i]->Cells[2]->Value->ToString();
textBox3->Text
= dataGridView1->Rows[i]->Cells[3]->Value->ToString();
textBox4->Text
= dataGridView1->Rows[i]->Cells[4]->Value->ToString();
textBox5->Text
= dataGridView1->Rows[i]->Cells[5]->Value->ToString();
textBox6->Text
= dataGridView1->Rows[i]->Cells[6]->Value->ToString();
}}
catch
(Exception^e) {}
}
 //добавить строку
private:
System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
if (flag ==
true)//текст
{
dataGridView1->Rows->Add(textBox1->Text,
textBox2->Text, textBox3->Text, textBox4->Text, textBox5->Text,
textBox6->Text);
}
else//база
{
dataSet->Tables[0]->Rows->Add(dataSet->Tables[0]->Rows->Count,
textBox1->Text, textBox2->Text, textBox3->Text, textBox4->Text,
textBox5->Text, textBox6->Text);
}}
 //редактировать строку
private:
System::Void button3_Click(System::Object^  sender, System::EventArgs^  e) {
//try
{
int i =
dataGridView1->SelectedCells[0]->RowIndex;

if (flag ==
true)//текст
{
dataGridView1->Rows[i]->Cells[0]->Value
= textBox1->Text;
dataGridView1->Rows[i]->Cells[1]->Value
= textBox2->Text;
dataGridView1->Rows[i]->Cells[2]->Value
= textBox3->Text;
dataGridView1->Rows[i]->Cells[3]->Value
= textBox4->Text;
dataGridView1->Rows[i]->Cells[4]->Value
= textBox5->Text;
dataGridView1->Rows[i]->Cells[5]->Value
= textBox6->Text;
}
else//база
{dataGridView1->Rows[i]->Cells[1]->Value
= textBox1->Text;
dataGridView1->Rows[i]->Cells[2]->Value
= textBox2->Text;
dataGridView1->Rows[i]->Cells[3]->Value
= textBox3->Text;
dataGridView1->Rows[i]->Cells[4]->Value
= textBox4->Text;
dataGridView1->Rows[i]->Cells[5]->Value
= textBox5->Text;
dataGridView1->Rows[i]->Cells[6]->Value
= textBox6->Text;
}}
//catch
(Exception^e) {}
}
 //очистить таблицу
private:
System::Void button4_Click(System::Object^  sender, System::EventArgs^  e) {
if (flag ==
true)//текст
{
dataGridView1->Rows->Clear();
}
else//база
{
dataSet->Clear();
}}
 //удалить строку
private:
System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
try
{
if (flag ==
true)//текст
{
int ind = dataGridView1->SelectedCells[0]->RowIndex;
dataGridView1->Rows->RemoveAt(ind);
}
else//база
{
int ind =
dataGridView1->SelectedCells[0]->RowIndex;
//dataSet->Tables[0]->Rows->RemoveAt(ind);
dataGridView1->Rows->RemoveAt(ind);
}          }
catch (Exception^
e) {}
}
 //поиск
private:
System::Void button5_Click(System::Object^  sender, System::EventArgs^  e)
{
String^ s =
textBox7->Text;
if (flag ==
true)//текст
{
int k = 0;
while (k <
dataGridView1->RowCount)
{
String^ x =
dataGridView1->Rows[k]->Cells[0]->Value->ToString();
if (x != s)
dataGridView1->Rows->RemoveAt(k);
else
k++;
}}
else//база
{
int k = 0;
while (k <
dataGridView1->RowCount)
{
String^ x =
dataGridView1->Rows[k]->Cells[1]->Value->ToString();
if (x != s)
dataGridView1->Rows->RemoveAt(k);
else
k++;
}}}
private:
System::Void dataGridView1_CellContentClick(System::Object^  sender,
System::Windows::Forms::DataGridViewCellEventArgs^  e) {
}};}
#pragma once
#include
"Form2.h"
#include
"Form3.h"
#include
"Form4.h"
namespace СУБД
{
using namespace
System;
using namespace
System::ComponentModel;
using namespace
System::Collections;
using namespace
System::Windows::Forms;
using namespace
System::Data;
using namespace
System::Drawing;
// <summary>
// Сводка для
MyForm
//
</summary>
public ref class
MyForm : public System::Windows::Forms::Form
{
public:
MyForm(void)
{
protected:
///
<summary>
/// Освободить все
используемые ресурсы.
/// </summary>
~MyForm()
{
if (components)
{
delete components;
}          }
private:
System::Windows::Forms::Button^  button3;
private:
System::Windows::Forms::Button^  button2;
private:
System::Windows::Forms::Button^  button1;
private:
System::Windows::Forms::Button^  button4;
private:
System::ComponentModel::Container ^components;
#pragma region
Windows Form Designer generated code
/// <summary>
/// Обязательный метод для
поддержки конструктора - не изменяйте содержимое данного метода при помощи
редактора кода.
///
</summary>
void
InitializeComponent(void)
{
this->button3 =
(gcnew System::Windows::Forms::Button());
this->button2 =
(gcnew System::Windows::Forms::Button());
this->button1 =
(gcnew System::Windows::Forms::Button());
this->button4 =
(gcnew System::Windows::Forms::Button());
this->SuspendLayout();
// button3
this->button3->BackColor
= System::Drawing::Color::Ivory;
this->button3->Font
= (gcnew System::Drawing::Font(L"Andy", 24,
System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point,
static_cast<System::Byte>(0)));
this->button3->ForeColor
= System::Drawing::Color::Orange;
this->button3->Location
= System::Drawing::Point(0, 240);
this->button3->Name
= L"button3";
this->button3->Size
= System::Drawing::Size(500, 70);
this->button3->TabIndex
= 8;
this->button3->Text
= L"Автор";
this->button3->UseVisualStyleBackColor
= false;
this->button3->Click
+= gcnew System::EventHandler(this, &MyForm::button3_Click);
//
// button2
//
this->button2->BackColor
= System::Drawing::Color::Ivory;
this->button2->Font
= (gcnew System::Drawing::Font(L"Andy", 24,
System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point,
static_cast<System::Byte>(0)));
this->button2->ForeColor
= System::Drawing::Color::Orange;
this->button2->Location
= System::Drawing::Point(0, 88);
this->button2->Name
= L"button2";
this->button2->Size
= System::Drawing::Size(500, 70);
this->button2->TabIndex
= 7;
this->button2->Text
= L"Работа с базой данных";
this->button2->UseVisualStyleBackColor
= false;
this->button2->Click
+= gcnew System::EventHandler(this, &MyForm::button2_Click);
// button1
this->button1->BackColor
= System::Drawing::Color::Ivory;
this->button1->Font
= (gcnew System::Drawing::Font(L"Andy", 24,
System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point,
static_cast<System::Byte>(0)));
this->button1->ForeColor
= System::Drawing::Color::Orange;
this->button1->Location
= System::Drawing::Point(0, 12);
this->button1->Name
= L"button1";
this->button1->Size
= System::Drawing::Size(500, 70);
this->button1->TabIndex
= 6;
this->button1->Text
= L"Работа с текстовым файлом";
this->button1->UseVisualStyleBackColor
= false;
this->button1->Click
+= gcnew System::EventHandler(this, &MyForm::button1_Click);
// button4
this->button4->BackColor
= System::Drawing::Color::Ivory;
this->button4->Font
= (gcnew System::Drawing::Font(L"Andy", 24,
System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point,
static_cast<System::Byte>(0)));
this->button4->ForeColor
= System::Drawing::Color::Orange;
this->button4->Location
= System::Drawing::Point(0, 164);
this->button4->Name
= L"button4";
this->button4->Size
= System::Drawing::Size(500, 70);
this->button4->TabIndex
= 9;
this->button4->Text
= L"Задание";
this->button4->UseVisualStyleBackColor
= false;
this->button4->Click
+= gcnew System::EventHandler(this, &MyForm::button4_Click);
// MyForm
this->AutoScaleDimensions
= System::Drawing::SizeF(6, 13);
this->AutoScaleMode
= System::Windows::Forms::AutoScaleMode::Font;
this->ClientSize
= System::Drawing::Size(499, 318);
this->Controls->Add(this->button4);
this->Controls->Add(this->button3);
this->Controls->Add(this->button2);
this->Controls->Add(this->button1);
this->FormBorderStyle
= System::Windows::Forms::FormBorderStyle::FixedSingle;
this->Name =
L"MyForm";
this->StartPosition
= System::Windows::Forms::FormStartPosition::CenterScreen;
this->Text =
L"СУБД";
this->Load +=
gcnew System::EventHandler(this, &MyForm::MyForm_Load);
this->ResumeLayout(false);
}
#pragma endregion
private:
System::Void MyForm_Load(System::Object^  sender, System::EventArgs^  e) {
//this->ClientSize
= System::Drawing::Size(518, 357);
//this->StartPosition
= System::Windows::Forms::FormStartPosition::CenterScreen;
}
private:
System::Void button3_Click(System::Object^  sender, System::EventArgs^  e) {
Form4^ f = gcnew
Form4();
f->f = this;
this->Hide();
f->Show();
}
private:
System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
Form2^ f = gcnew
Form2();
f->f = this;
f->flag = true;
f->Text = "Работа с
текстовым Файлом";
this->Hide();
f->Show();
}
private:
System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
Form2^ f = gcnew
Form2();
f->flag =
false;
f->Text = "Работа с
базой данных";
f->f = this;
this->Hide();
f->Show();
}
private:
System::Void button4_Click(System::Object^  sender, System::EventArgs^  e) {
Form3^ f = gcnew
Form3();
f->f = this;
this->Hide();
f->Show();       }};}

Формы проекта

Программа на языке C++.NET.
Windows проект.
Условие: создать систему управления базой данных
            « магазин по
продаже компьютеров»
#pragma
once
#include"DataBase.h"
namespace СУБД
{
using namespace
System;
using namespace
System::ComponentModel;
using namespace
System::Collections;
using namespace
System::Windows::Forms;
using namespace
System::Data;
using namespace
System::Drawing;
///
<summary>
/// Сводка для
AddMagaz
///
</summary>
public ref class
AddMagaz : public System::Windows::Forms::Form
{
public:
AddMagaz()
{
InitializeComponent();
//TODO: добавьте код конструктора
}
String^ command;
protected:
/// <summary>
/// Освободить все используемые ресурсы.
///
</summary>
~AddMagaz()
{
if (components)
{
delete components;
}          }
private:
System::Windows::Forms::TextBox^  textBox1;
private:
System::Windows::Forms::Label^  label1;
private:
System::Windows::Forms::Label^  label2;
private:
System::Windows::Forms::TextBox^  textBox2;
private:
System::Windows::Forms::Button^  button1;
private:
System::Windows::Forms::Button^  button2;
protected:
private:
/// <summary>
/// Требуется переменная
конструктора.
///
</summary>
System::ComponentModel::Container
^components;
#pragma region
Windows Form Designer generated code
/// <summary>
/// Обязательный метод для поддержки
конструктора - не изменяйте содержимое данного метода при помощи редактора
кода.
///
</summary>
void
InitializeComponent(void)
{
this->textBox1
= (gcnew System::Windows::Forms::TextBox());
this->label1 =
(gcnew System::Windows::Forms::Label());
this->label2 =
(gcnew System::Windows::Forms::Label());
this->textBox2
= (gcnew System::Windows::Forms::TextBox());
this->button1 =
(gcnew System::Windows::Forms::Button());
this->button2 =
(gcnew System::Windows::Forms::Button());
this->SuspendLayout();
// textBox1
this->textBox1->Location
= System::Drawing::Point(101, 21);
this->textBox1->Name
= L"textBox1";
this->textBox1->Size
= System::Drawing::Size(129, 20);
this->textBox1->TabIndex
= 0;
// label1
this->label1->AutoSize
= true;
this->label1->Location
= System::Drawing::Point(12, 24);
this->label1->Name
= L"label1";
this->label1->Size
= System::Drawing::Size(83, 13);
this->label1->TabIndex
= 1;
this->label1->Text
= L"Наименование";
// label2
this->label2->AutoSize
= true;
this->label2->Location
= System::Drawing::Point(12, 71);
this->label2->Name
= L"label2";
this->label2->Size
= System::Drawing::Size(33, 13);
this->label2->TabIndex
= 2;
this->label2->Text
= L"Цена";
// textBox2
this->textBox2->Location
= System::Drawing::Point(101, 68);
this->textBox2->Name
= L"textBox2";
this->textBox2->Size
= System::Drawing::Size(129, 20);
this->textBox2->TabIndex
= 3;
// button1
this->button1->DialogResult
= System::Windows::Forms::DialogResult::OK;
this->button1->Location
= System::Drawing::Point(29, 143);
this->button1->Name
= L"button1";
this->button1->Size
= System::Drawing::Size(92, 30);
this->button1->TabIndex
= 4;
this->button1->Text
= L"ОК";
this->button1->UseVisualStyleBackColor
= true;
this->button1->Click
+= gcnew System::EventHandler(this, &AddMagaz::button1_Click);
// button2
this->button2->DialogResult
= System::Windows::Forms::DialogResult::Cancel;
this->button2->Location
= System::Drawing::Point(138, 143);
this->button2->Name
= L"button2";
this->button2->Size
= System::Drawing::Size(92, 30);
this->button2->TabIndex
= 5;
this->button2->Text
= L"Cancel";
this->button2->UseVisualStyleBackColor
= true;
this->button2->Click
+= gcnew System::EventHandler(this, &AddMagaz::button2_Click);
// AddMagaz
this->AutoScaleDimensions
= System::Drawing::SizeF(6, 13);
this->AutoScaleMode
= System::Windows::Forms::AutoScaleMode::Font;
this->ClientSize
= System::Drawing::Size(271, 209);
this->Controls->Add(this->button2);
this->Controls->Add(this->button1);
this->Controls->Add(this->textBox2);
this->Controls->Add(this->label2);
this->Controls->Add(this->label1);
this->Controls->Add(this->textBox1);
this->Name =
L"AddMagaz";
this->Text =
L"AddMagaz";
this->Load +=
gcnew System::EventHandler(this, &AddMagaz::AddMagaz_Load);
this->ResumeLayout(false);
this->PerformLayout();
}
#pragma endregion
private:
System::Void AddMagaz_Load(System::Object^  sender, System::EventArgs^  e) {
}
private:
System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
 command =
"insert into Магазин (Наименование,Цена) values ('" + textBox1->Text +
"','" + textBox2->Text + "')";
 //d->Add(command);
 this->Close();
}
private:
System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
 this->Close();
}
};}
#pragma once
namespace СУБД
{
using namespace
System;
using namespace
System::ComponentModel;
using namespace
System::Collections;
using namespace
System::Windows::Forms;
using namespace
System::Data;
using namespace
System::Drawing;
///
<summary>
/// Сводка для
AddHarak
///
</summary>
public ref class
AddHarak : public System::Windows::Forms::Form
{
public:
AddHarak(String^
s)
{
InitializeComponent();
//TODO: добавьте код
конструктора
command = s;
}
String^ command;
protected:
///
<summary>
/// Освободить все используемые ресурсы.
///
</summary>
~AddHarak()
{
if (components)
{
delete components;
}}
private:
System::Windows::Forms::Button^  button1;
private:
System::Windows::Forms::Label^  label1;
private:
System::Windows::Forms::TextBox^  textBox1;
private:
System::Windows::Forms::TextBox^  textBox2;
private:
System::Windows::Forms::TextBox^  textBox3;
private:
System::Windows::Forms::TextBox^  textBox4;
private:
System::Windows::Forms::Label^  label2;
private:
System::Windows::Forms::Label^  label3;
private:
System::Windows::Forms::Label^  label4;
private:
System::Windows::Forms::Button^  button2;
protected:
private:
/// <summary>
/// Требуется переменная
конструктора.
///
</summary>
System::ComponentModel::Container
^components;
#pragma region
Windows Form Designer generated code
/// <summary>
/// Обязательный метод для поддержки
конструктора - не изменяйте/// содержимое данного метода при помощи редактора
кода.                      ///
</summary>
void
InitializeComponent(void)
{
this->button1 =
(gcnew System::Windows::Forms::Button());
this->label1 =
(gcnew System::Windows::Forms::Label());
this->textBox1
= (gcnew System::Windows::Forms::TextBox());
this->textBox2
= (gcnew System::Windows::Forms::TextBox());
this->textBox3
= (gcnew System::Windows::Forms::TextBox());
this->textBox4
= (gcnew System::Windows::Forms::TextBox());
this->label2 = (gcnew
System::Windows::Forms::Label());
this->label3 =
(gcnew System::Windows::Forms::Label());
this->label4 =
(gcnew System::Windows::Forms::Label());
this->button2 =
(gcnew System::Windows::Forms::Button());
this->SuspendLayout();
// button1
this->button1->DialogResult
= System::Windows::Forms::DialogResult::OK;
this->button1->Location
= System::Drawing::Point(32, 164);
this->button1->Name
= L"button1";
this->button1->Size
= System::Drawing::Size(100, 38);
this->button1->TabIndex
= 9;
this->button1->Text
= L"ОК";
this->button1->UseVisualStyleBackColor
= true;
this->button1->Click
+= gcnew System::EventHandler(this, &AddHarak::button1_Click);
//
// label1
//
this->label1->AutoSize
= true;
this->label1->Location
= System::Drawing::Point(12, 20);
this->label1->Name
= L"label1";
this->label1->Size
= System::Drawing::Size(46, 13);
this->label1->TabIndex
= 1;
this->label1->Text
= L"Память";
//
// textBox1
//
this->textBox1->Location
= System::Drawing::Point(120, 17);
this->textBox1->Name
= L"textBox1";
this->textBox1->Size
= System::Drawing::Size(166, 20);
this->textBox1->TabIndex
= 2;
//
// textBox2
//
this->textBox2->Location
= System::Drawing::Point(120, 43);
this->textBox2->Name
= L"textBox2";
this->textBox2->Size
= System::Drawing::Size(166, 20);
this->textBox2->TabIndex
= 3;
//
// textBox3
//
this->textBox3->Location
= System::Drawing::Point(120, 69);
this->textBox3->Name
= L"textBox3";
this->textBox3->Size
= System::Drawing::Size(166, 20);
this->textBox3->TabIndex
= 4;
//
// textBox4
//
this->textBox4->Location
= System::Drawing::Point(120, 95);
this->textBox4->Name
= L"textBox4";
this->textBox4->Size
= System::Drawing::Size(166, 20);
this->textBox4->TabIndex
= 5;
//
// label2
//
this->label2->AutoSize
= true;
this->label2->Location
= System::Drawing::Point(12, 98);
this->label2->Name
= L"label2";
this->label2->Size
= System::Drawing::Size(73, 13);
this->label2->TabIndex
= 6;
this->label2->Text
= L"Аккумулятор";
//
// label3
//
this->label3->AutoSize
= true;
this->label3->Location
= System::Drawing::Point(12, 72);
this->label3->Name
= L"label3";
this->label3->Size
= System::Drawing::Size(109, 13);
this->label3->TabIndex
= 7;
this->label3->Text
= L"Разрешение экрана";
//
// label4
//
this->label4->AutoSize
= true;
this->label4->Location
= System::Drawing::Point(12, 46);
this->label4->Name
= L"label4";
this->label4->Size
= System::Drawing::Size(46, 13);
this->label4->TabIndex
= 8;
this->label4->Text
= L"Камера";
//
// button2
//
this->button2->Location
= System::Drawing::Point(160, 164);
this->button2->Name
= L"button2";
this->button2->Size
= System::Drawing::Size(100, 38);
this->button2->TabIndex
= 10;
this->button2->Text
= L"Cancel";
this->button2->UseVisualStyleBackColor
= true;
this->button2->Click
+= gcnew System::EventHandler(this, &AddHarak::button2_Click);
//
// AddHarak
//
this->AutoScaleDimensions
= System::Drawing::SizeF(6, 13);
this->AutoScaleMode
= System::Windows::Forms::AutoScaleMode::Font;
this->ClientSize
= System::Drawing::Size(295, 261);
this->Controls->Add(this->button2);
this->Controls->Add(this->label4);
this->Controls->Add(this->label3);
this->Controls->Add(this->label2);
this->Controls->Add(this->textBox4);
this->Controls->Add(this->textBox3);
this->Controls->Add(this->textBox2);
this->Controls->Add(this->textBox1);
this->Controls->Add(this->label1);
this->Controls->Add(this->button1);
this->Name =
L"AddHarak";
this->Text =
L"AddHarak";
this->Load +=
gcnew System::EventHandler(this, &AddHarak::AddHarak_Load);
this->ResumeLayout(false);
this->PerformLayout();
}
#pragma endregion
private:
System::Void AddHarak_Load(System::Object^  sender, System::EventArgs^  e) {
}
private:
System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
 command =
"insert into Характеристики (Номер_товара,Память,Камера_МП,Разрешение_экрана,Аккумулятор) values ('" + command+"','"+textBox1->Text
+ "','" + textBox2->Text + "','" + textBox3->Text +
"','" + textBox4->Text + "')";
 this->Close();
}
private:
System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
 this->Close();
}};}

Формы проекта

Программа на языке VB.NET. Windows проект.
Условие:
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
Validate();
клиентыУслугиBindingSource.EndEdit();
клиентыTableAdapter.Update(salonDataSet);
услугиTableAdapter.Update(salonDataSet);
 salonDataSet.AcceptChanges();

Задания для лаборторных работ

Составить программу,
     выводящую на экран меню детского кафе (наименование изделия, вес,
     стоимость).
Составить программу,
     выводящую на экран студенческую ведомость (Ф. И. О., оценки за три
     экзамена, средний балл).
Составить программу,
     выводящую на экран расписание движения поездов (станция отправления,
     станция прибытия, время прибытия, время в пути).
Составить программу,
     выводящую на экран меню ресторана "Дракон" (наименование
     изделия, вес, стоимость).
Составить программу,
     выводящую на экран анкетные данные учеников (Ф. И. О., год рождения,
     адрес, сведения о родителях).
Составить программу,
     выводящую на экран список книг домашней библиотеки (автор, название книги,
     издательство, год издания, стоимость).
Составить программу,
     выводящую на экран расписание экзаменов и зачетов (предмет, вид
     отчетности, число, преподаватель).
Составить программу,
     выводящую на экран сведения о студентах (Ф. И. О., курс, группа, номер
     зачетки, средний балл).
Составить программу,
     выводящую на экран сведения о периодических изданиях (наименование
     издания, тираж, годовая стоимость).
Составить программу,
     выводящую на экран расписание учителя (номер урока, время начала урока,
     класс, предмет, номер кабинета).
Составить программу,
     выводящую на экран расписание полетов самолетов (пункт посадки, время
     отправления, время прибытия, время полета, стоимость билета).
Составить программу,
     выводящую на экран перечень товаров, имеющихся в продаже в магазине
     "Океан" (наименование, единица измерения, цена, количество).
Составить программу,
     выводящую на экран информацию о наличии товаров на складе (наименование,
     артикул, дата получения, единица измерения, количество, цена).
Составить программу,
     выводящую на экран "Телефонный справочник" (Ф. И. О., адрес,
     номер телефона).
Составить программу,
     выводящую на экран график отпусков (Ф. И. О., дата начала отпуска, дата
     выхода на работу, количество дней).

               Задания для контрольных работ
       Задача 1.
Написать
программу определения количества шестизначных “счастливых” билетов, у которых
сумма первых 3 десятичных цифр равна сумме 3 последних десятичных цифр.

Задача 2.
Написать
программу определения количества 2*N -значных билетов, у которых сумма первых N
десятичных цифр равна сумме N последних десятичных цифр; при этом N
-произвольное натуральное число.

Задача
3.
Фишка
может двигаться по полю длины N только вперед. Длина хода фишки не более K.
Найти число различных путей, по которым фишка может пройти поле от начала до
конца.
 Задача
4.
Покупатель
имеет купюры достоинством A(1), ...,A(n), а продавец - B(1), .. ,B(m).
Необходимо найти максимальную стоимость товара Р, которую покупатель не может
купить, потому что нет возможности точно рассчитаться за этот товар с
продавцом, хотя денег на покупку этого товара достаточно.
Задача
5.
Задан
массив М [1:N] натуральных чисел, упорядоченный по неубыванию, т.е.:
M[1]<=M[2]<=...<=M[N]. Найти первое натуральное число, не представимое
суммой никаких элементов этого массива, при этом сумма может состоять и из
одного слагаемого, но каждый элемент массива может входить в нее только один
раз.
Задача
6.
У
покупателя есть n монет достоинством H(1),..., H(n). У продавца есть m монет
достоинством B(1),...,B(l). Может ли купить покупатель вещь стоимости S так,
чтобы у продавца нашлась точная сдача (если она необходима).
Задача
8.
Задан
массив М [1:N] натуральных чисел, упорядоченный по неубыванию, т.е.:
M[1]<=M[2]<=...<=M[N]. Написать алгоритм выплаты заданной суммы S
минимальным количеством купюp достоинством M(1), ..., M(N).
Задача
9.
По
матрице A(N,N) построить матрицу B(N,N). Элемент B(I,J) равен максимальному из
элементов матрицы А принадлежащем части, ограниченной справа диагоналями,
проходящими через A(I,J).
Задача
10.
Вводится
матрица a(m,n) из 0 и 1. Найти в ней квадратную подматрицу из одних единиц
максимального размера.

Задача
11.
Вводится
матрица a(m,n) из 0 и 1. Найти в ней прямоугольную подматрицу из одних единиц
максимального размера (т.е. с максимальным произведением высоты на длину).
Переформулировка
задачи 11.
Фермер
хочет построить на своей земле как можно больший по площади сарай. Но на его
участке есть деревья и хозяйственные постройки, которые он не хочет никуда
переносить. Для простоты представим ферму сеткой размера MxN. Каждое из
деревьев и построек размещается в одном или нескольких узлах сетки.
Прямоугольный сарай не должен ни с чем соприкасаться (т.е. в соседних с ним
узлах сетки не может ничего быть).
Найти
максимально возможную площадь сарая и где он может размещаться.
Задача
12.
Дан
массив A[N,M]. Необходимо найти максимальную сумму элементов прямоугольного
подмассива по всем возможным прямоугольным подмассивам.
Задача
13.
Задана
матрица натуральных чисел A(n,m). За каждый проход через клетку (i,j) взымается
штраф A(i,j). Необходимо минимизировать штраф и
а)
Пройти из какой-либо клетки 1-ой строки в n-ую строчку, при этом из текущей
клетки можно перейти
1)
в любую из 3-х соседних, стоящих в стpоке с номеpом на 1-цу большем;
2)
в любую из 8 соседних клеток;
б)
Реализовать пункт a) для перехода из клетки (1,1) в (n,m).
Задача
14.
Дан
выпуклый n-угольник, n=>3, своим обходом по контуру. Разбить его на
треугольники (n-3)-мя диагоналями, непересекающимися кроме как по концам, таким
образом чтобы
а)
Cумма их длин была минимальной;
б)
Максимальная из диагоналей имела наименьшую длину.

Задача
15.
Задано
число А и два вектора b[1..n] и c[1..n].Найти Найти множество I, являющееся
подмножеством множества {1,...,n}, такое, что чтобы
а)
Cумма их длин была минимальной;
б)
Максимальная из диагоналей имела наименьшую длину.
максимальной
из всех возможных
Задача
16.
Пусть
x=(a1,a2,...,am) и y=(b1,b2,...,bn) - две заданных строки символов.
Определим
d(x,y) как минимальное число вставок, удалений и замен символа, которое
необходимо для преобразования x в y.
Например:
d(ptslddf,tsgldds)=3
Для
заданных x и y найти d(x,y).
Задача
17.
Вводится
три неотрицательных числа d, i, c и две строки X и Y. Найти преобразование
строки X в Y минимальной стоимости. Допустимы следующие три операции:
удалить
любой символ из X (стоимость операции d);
вставить
любой символ в X (стоимость операции i);
заменить
символ в X на произвольный (стоимость операции e).
Задача
18.
Даны
две строки x и y. Строка x состоит из нулей и единиц, строка y из символов A и
B. Можно ли строку x преобразовать в строку y по следующему правилу: цифра 0
преобразуется в непустую последовательность букв A, а цифра 1 - либо в непустую
последовательность букв A, либо в непустую последовательность букв B?
Задача
19.
Пусть
известно, что для перемножения матрицы размера n*m на матрицу размера m*k
требуется n*m*k операций. Необходимо определить, какое минимальное число
операций потребуется для перемножения n матриц А1,...Аn, заданных своими
размерами n(i)*m(i). При этом можно перемножать любые две рядом стоящие
матрицы, в результате чего получается матрица нужного размера.

Замечание:
n(i)
- число строк в матрице Ai;
m(i)
- число столбцов в матрице Ai;n(i)=m(i)+1.
Задача
20.
а)
Из последовательности, состоящей из N чисел, вычеркнуть минимальное количество
элементов так, чтобы оставшиеся образовали строго возрастающую
последовательность.
б)
Из заданной числовой последовательности A[1..N] вычеркнуть минимальное число
элементов так, чтобы в оставшейся подпоследовательности каждый последующий лемент был больше предыдущего кроме, быть может, одной
пары соседних элементов ( одного «разрыва» возрастающей подпоследовательности).
Например:
A=(1,2,3,2,4,3,4,6);Искомая подпоследовательность (1,2,3,2,3,4,6) Разрыв
подчеркнут.
б)
Из заданной числовой последовательности A[1..N] вычеркнуть минимальное число
элементов так, чтобы в оставшейся подпоследовательности каждый последующий
элемент был больше предыдущего кроме, быть может, m пар соседних элементов (
возрастающая подпоследовательность с m «разрывами»).
Задача
21.
В
заданной последовательности целых чисел найти максимально длинную
подпоследовательность чисел такую, что каждый последующий элемент
подпоследовательности делился нацело на предыдущий.
Задача
22.
Возвести
число А в натуральную степень n за как можно меньшее количество умножений.
Задача
23.
Заданы
z и y - две последовательности. Можно ли получить
последовательность
z вычеркиванием элементов из y.
Задача
24.
Найти
максимальную по длине последовательность z, полученную
вычеркиванием
элементов как из x, так и из y.
Задача
25.
Пусть
x и y - две бинарных последовательности (т.е. элементы последовательностей -
нули и единицы); x и y можно рассматривать как запись в двоичной форме
некоторых двух натуральных чисел. Найти максимальное число z, двоичную запись
которого можно получить вычеркиванием цифр как из x, так и из y. Ответ выдать в
виде бинарной последовательности.

Справка по основным конструкциям языка С#.
1.
Типы данных:
- в b o o l  логический
- b y t e 8-разрядный целочисленный без знака
- char символьный
- d e c i m a l числовой тип для финансовых вычислений
- d o u b l e  с плавающей точкой двойной точности
- f l o a t  с плавающей точкой
- i n t целочисленный
- l o n g  длинное целое число
- s b y t e 8-разрядный целочисленный со знаком
- s h o r t тип для представления короткого целого числа
- u i n t целочисленный без знака
- u l o n g  длинное целое число         без знака
- u s h o r t короткоео целое число    без знака
2. Основные операции

Операция

Описание

.

Доступ к элементу

x()

Вызов метода или делегата

x[]

Доступ к элементу

x++

Постфиксный инкремент

x--

Постфиксный декремент

new

Выделение памяти

typeof

Получение типа

checked

Проверяемый код

unchecked

Непроверяемый код

+

Унарный плюс

-

Арифметическое отрицание

!

Логическое отрицание

~

Поразрядное отрицание

++x

Префиксный инкремент

--x

Префиксный декремент

(тип) x

Преобразование типа

*

Умножение

/

Деление

%

Остаток от деления

<<

Сдвиг влево

>>

Сдвиг вправо

<

Меньше

>

Больше

<=

Меньше или равно

>=

Больше или равно

is

Проверка принадлежности
  типу

as

Приведение типа

==

Равно

!=

Не равно

&

Поразрядное И

^

Поразрядное исключающее ИЛИ

|

Поразрядное ИЛИ

&&

Логическое И

||

Логическое ИЛИ

?:

Условная операция

=

Простое присваивание

*=

Умножение с присваиванием

/=

Деление с присваиванием

%=

Остаток от деления с
  присваиванием

+=

Сложение с присваиванием

-=

Вычитание с присваиванием

<<=

Сдвиг влево с присваиванием

>>=

Сдвиг вправо с присваиванием

&=

Поразрядное И с
  присваиванием

^=

Поразрядное исключающее ИЛИ
  с присваиванием

|=

Поразрядное ИЛИ с
  присваиванием

3.
 Ввод и вывод данных
В приведенных выше примерах
мы уже рассматривали метод WriteLine, реализованный в классе Console, который
позволяет организовывать вывод данных на экран. Однако существует несколько
способов применения данного метода:
1.
Console.WriteLine(x); //на экран
выводится значение идентификатора х
2.
Console.WriteLine("x=" +
x +"y=" + y); /* на экран выводится строка, образованная
последовательным слиянием строки "x=", значения x, строки
"у=" и значения у */
Console.WriteLine("x={0}
y={1}", x, y); /* на экран выводится строка, формат которой задан первым
аргументом метода, при этом вместо параметра {0} выводится значение Ввод данных
Для ввода данных обычно
используется метод ReadLine, реализованный в классе Console. Особенностью
данного метода является то, что в качестве результата он возвращает строку
(string). Пример:
static void Main()
 {
   string s =
Console.ReadLine();

Console.WriteLine(s);
 }
Для того чтобы получить
числовое значение необходимо воспользоваться преобразованием данных. Пример:
static void Main()
 {
   string s =
Console.ReadLine();
   int x =
int.Parse(s); //преобразование строки в число
   Console.WriteLine(x);
 }
Или сокращенный вариант:
static void Main()
 {
   //преобразование введенной
строки в число
   int x = int.Parse(Console.ReadLine());
   Console.WriteLine(x);
 }
3.
Для преобразования строкового
представления целого числа в тип int мы используем метод int.Parse(), который
реализован для всех числовых типов данных. Таким образом, если нам потребуется
преобразовать строковое представление в вещественное, мы можем воспользоваться
методом float.Parse() или double.Parse().

4.
Математические функции —
класс Math

№

Название

Описание

1.

Math.Abs(<выражение>)

Модуль

2.

Math.Ceiling(<выражение>)

Округление для большего целого

3.

Math.Cos(<выражение>)

Косинус

4.

Math.Е

Число е

5.

Math.Exp(<выражение>)

Экспонента

6.

Math.Floor(<выражение>)

Округление до меньшего целого

7.

Math.Log(<выражение>)

Натуральный логарифм

8.

Math.Log10(<выражение>)

Десятичный логарифм

9.

Math.Max(<выражение1>, <выражение2>)

Максимум из двух значений

10.

Math.Min(<выражение1>, <выражение2>)

Минимум из двух значений

11.

Math.PI

Число

12.

Math.Pow(<выражение1>, <выражение2>)

Возведение в степень

13.

Math.Round(<выражение>)

Простое округление

14.

Math.Sign(<враженыие>)

Знак числа

15.

Math.Sin(<выражение>)

Синус

16.

Math.Sqrt(<выражение>)

Квадратный корень

17.

Math.Тan(<выражение>)

Тангенс

5.
Пример простейшего
приложения базы данных « Студенты» на основе БД «Microsoft Access» в среде Visual Studio  язык программирования С#.
Разработать простое приложение баз данных, которое
выводит на экранную форму информацию из таблицы «Student»  из
базы данных Microsoft Access.
1.
Создать таблицу ( Таблица1) в базе
данных Microsoft Access.( Student)

                                        Таблица 1
2.
Создать   Windows-приложение в
среде VS2010 (язык программирования С#)..

                            Windows
приложение

3.  Выполнить  привязку данных БД « Student»
к форме с помощью  компонента «Binding Source», который находится в разделе
группы компонентов «Данные»

                 Привязка БД к пустой форме

   На рисунке выделена группа компонентов «Данные»
(«Data»), которая содержит компоненты для доступа к данным и манипулирования
ими. Привязку данных БД к форме осуществляет компонент «Binding Source».
Перенесем его на форму. После размещения его на форме среда разработкипринимает
следующий вид

              Компонент Binding Source на форме

Компонент «Binding Source»  является не визуальным,
поэтому он отображается на дополнительной панели. Основным свойством компонента
является свойство DataSource,  указывающее на источник данных. По умолчанию
свойство является пустым, поэтому необходимо сформировать его значение. Для
выбора данного свойства в разделе Проект выбрать  «Добавить новый компонент».
После выбора появляется окно

Выбор свойства «добавить новый компонент»

   4. Выбираем источник данных в разделе Добавить
источник данных проекта

              Список источников данных
  Для выбора источника данных представляется
следующие данные:
-  База данных» («Database»);
-  Web-сервис;
-  Object.
В данном случае необходимо выбрать пункт «База данных»
(«Database»).
Появляется окно выбора соединения с данными

5. Из списка источников данных компонента «Binding
Source» выбираем локальную базу

                       Выбор локальной базы данных

  Целью данного диалога является создание строки
соединения, в которой будут описаны параметры соединения для механизма ADO,
такие как тип базыданных, ее местонахождение, имена пользователей, средства
безопасности и пр. В выпадающем списке диалога находятся все создаваемые ранее
соединения. Если необходимого соединения в списке нет, то следует использовать
кнопку «Создать подключение» («New connection»). Нажатие кнопки приводит к
появлению следующего диалога. В данном диалоге выбирается тип источника данных
(в данном случае Microsoft Access), имя базы данных (в данном случае имя и
местоположение файла базы данных), имя пользователя и пароль, используемые для
подключения к базе данных. Кнопка «Дополнительно» («Advanced») позволяет задать
большое количество параметров, относящихся к различным деталям механизма ADO.
Использование кнопки «Проверить подключение» («Test Connection») позволит
убедиться в правильности введенных параметров и работоспособности соединения.
  Следующий шаг диалога предлагает сохранить
полученную строку соединения в файле настроек приложения. Рекомендуется принять
данный выбор для упрощения последующего размещения и поддержки программного
продукта.
   6. Выбираем конкретную базу днных « Студенты»

              Выбор конкретной базы данных

  Целью данного диалога является создание строки
соединения, в которой будут описаны параметры соединения для механизма ADO,
такие как тип базы данных, ее местонахождение, имена пользователей, средства
безопасности и пр. В выпадающем списке диалога находятся все создаваемые ранее
соединения.
Если необходимого соединения в списке нет, то следует
использовать кнопку «Создать подключение» («New connection»). Нажатие кнопки
приводит к появлению следующего диалога

     В данном диалоге выбирается тип источника данных
(в данном случае Microsoft Access), имя базы данных (в данном случае имя и
местоположение файла базы данных), имя пользователя и пароль, используемые для
подключения к базе данных. Кнопка «Дополнительно» («Advanced») позволяет задать
большое количество параметров, относящихся к различным деталям механизма ADO.
Использование кнопки «Проверить подключение» («Test Connection») позволит
убедиться в правильности введенных параметров и работоспособности соединения.
 Следующий шаг диалога предлагает сохранить полученную
строку соединения в файле настроек приложения. Рекомендуется принять данный
выбор для упрощения последующего размещения и поддержки программного продукта.
7. Последний шаг диалога – выбор тех таблиц или иных
объектов базы данных, которые необходимы в данном источнике данных.

                    Окно выбора таблиц
 В данном окне выбрана таблица. Таким образом
источник данных выбран.  После нажатия кнопки «Готово» («Finish») рядом с
компонентом BindingSource на форме появляется компонент DataSet.
Теперь данные, подключенные выше, необходимо
отобразить на форме. Простейшим способом отображения данных является
использование компонента DataGridView из группы компонентов Данные. Компонент
является визуальным и на форме выглядит следующим образом

.

                    Компонент DataGridView
    В данном случае мы выбрали в качестве источника
данных таблицу «Студенты». Данный выбор изменяет экранную форму следующим
образом

.

  Для упрощения навигации по данным существует
компонент
BindingNavigator. Поместим его на форме

                           Компонент BindingNavigator
Данный компонент позволяет осуществлять навигацию
между записями таблицы, добавлять и удалять строки таблицы. Возможности и
внешний вид компонента можно настраивать, так как он представляет собой полосу
меню ToolStripContainer.
Свойством, определяющим таблицу, по которой
производится навигация, является свойство BindingSource. Установим значение
этого свойства равным «студентыBindingSource».     Редактирование данных в
ячейках компонента DataGridView при соответствующих настройках возможно, но
неудобно и не рационально. В частности, трудно проверять введенные значения на
ошибки. Поэтому для таблицы «Студенты» сделаем экранную форму, позволяющую
отображать данные в компонентах TextBox и редактировать их. Для этого разместим
на форме контейнер типа Panel, а на нем три компонента TextBox следующим
образом

Экранная панель для редактирования таблицы «Студенты».
8. Далее необходимо осуществить привязку компонентов
TextBox к соответствующим полям таблицы «Студенты». Для этого используем
свойство из группы DataBindings – Advanced,

Свойство «DataBindings – Advanced»
Выбор данного свойства приводит к появлению диалога,

Данный диалог позволяет осуществить не только привязку
данных, но также задать событие, в рамках которого будет проводиться обновление
данных, а также форматирование данных при их выводе.Для верхнего компонента
TextBox в выпадающем списке Binding выберем источником данных «студентыBindingSource»
и поле источника – «Фамилия».
  Однако при внесении изменений все новые данные
остаются только на форме. В базе данных они не сохраняются, и при повторном
вызове приложения, конечно же, будут отсутствовать. Это происходит потому, что
данные были загружены в объект DataSet, который представляет собой копию
таблицы в памяти. Все действия выполняются с этой копией. Для того чтобы
изменения отобразились в базе данных, необходимо выполнить метод Update класса
TableAdapter.
Таким образом, в разрабатываемом приложении необходимо
разместить кнопку «Обновить» и записать в обработчик события Click следующий
программный код:
студентыTableAdapter.Update(bDTur_firmDataSet);
Данный код обновляет информацию в таблицах «Студенты»,
предоставляемых источником данных.

Литература
1.
Биллиг В. А. Основы
программирования на С#. - М.: Изд-во «Интернет-университет информационных
технологий - ИНТУИТ.ру», 2006. - 488 с.
2. Вирт Н. Алгоритмы и структуры данных. - СПб:
Невский диалект, 2001. -352 с.
3. Голуб А. И.Си С++. Правила программирования. - М.:
Бином, 1996. - 272 с.
5. Гуннерсон Э. Введение в С#. Библиотека
программиста. - Пб.: Питер, 2001. - 304 с.
6. Кораблев В. Самоучитель Visual С + + .NET. - СПб.:
Питер; Киев: Издательская группа BHV , 2004. - 528 с.
7. Либерти Д. Программирование на С#. - СПб.:
Символ-Плюс, 2003. - 688 с.
8.Майо Д. С#. Искусство программирования: Энциклопедия
программиста. —Киев: ДиаСофт, 2002. - 656 с.
9. Микелсен К. Язык программирования С#. Лекции и
упражнения: Учебник. - Киев: ДиаСофт, 2002. - 656 с.
10. Оньон Ф. Основы ASP.NET с примерами на С #. - М.:
Издательский дом «Вильяме», 2003. - 304 с.
11. Павловская Т. А. C/C++. Программирование на языке
высокого уровня: Учебник для вузов. - СПб.: Питер, 2001. - 464 с.
12. Павловская Т. А. Паскаль. Программирование на
языке высокого уровня:Учебник для вузов. - СПб.: Питер, 2003. - 393 с. Паппас
К., Мюррей У. Эффективная работа: Visual С + + .NET. — СПб.: Питер,2002. - 816
с.
13. Петцолъд Ч. Программирование для MS Windows на С#.
Т. 1. — М.: Издательско-торговый дом «Русская Редакция», 2002. — 576 с.
14. Петцолъд Ч. Программирование для MS Windows на С#.
Т. 2. — М.: Издательско-торговый дом «Русская Редакция», 2002. — 624 с.
15. Пономарев В. А. Программирование на С + + / С # в
Visual Studio .NET 2003. Серия «Мастер программ». — СПб.: БХВ-Петербург, 2004.
— 352 с.
16. Прайс Д., Гандэрлой М. Visual C#.NET. Полное
руководство. —  Киев: Век, 2004. - 960 с.
17. Робинсон С, Корнес О., ГлиннДж. и др. С# для
профессионалов. В 2 т. — М.:Лори, 2003. - 512 с.
18. Робисон У. С# без лишних слов. — М.: Д М К Пресс,
2002. — 352 с.
19. Секунов Н. Разработка приложений на С + + и С#.
Библиотека программиста. — СПб.: Питер, 2003. - 608 с.
20. Секунов Н. Самоучитель С#. Серия
"Самоучитель". — СПб.: БХВ-Петербург, 2001. - 576 с.
21. Смайли Д. Учимся программировать на С # вместе с
Джоном Смайли. — Киев: «ДиаСофт», 2003. - 528 с.
22. Тай Т., Лэм X. К. Платформа .NET. Основы. — СПб.:
Символ-Плюс, 2003. — Троелсен Э. С # и платформа .NET. Библиотека программиста.
— СПб.: Питер, 2002. - 796 с.
23. Фролов А. В., Фролов Г. В. Язык С #: Самоучитель.
— М.: Диалог-МИФИ, 2003. - 560 с.
24. Шилдт Г. С#: Учебный курс. - СПб.: Питер, 2002. -
512 с: ил.
25. Шилдт Г. Полный справочник по С#. — М.:
Издательский дом «Вильяме»,2004. - 752 с.

                              Оглавление
1.  Предисловие…….……...........................................
3
2.
Лабораторная работа 1. Структура программ.
Вычисление
 арифметических выражений.
Консольный
вариант…………………………………….4
3.
Лабораторная работа 2 .Вычисление арифмети -
ческих
выражений. Windows  вариант .......................   9
6.
Задания для лабораторной работы.….…………….24

7.
Лабораторная работа 3.
Вычисление
    суммы  ряда. Консольный вариант...…………….   26
6
Лабораторная работа 4. Вычисление   суммы

ряда. Windows  вариант... ….……………………...  31
7.Задания
для лабораторной работы…… ……………38
8.
Лабораторная работа 5. Одномерные массивы

Консольный вариант……………………………. ....39
9.
Лабораторная работа 6. Одномерные массивы

Windows  вариант………………………………….49
10.
Задания для лабораторной работы……………….60
11. Лабораторная работа 7. Двумерные   массивы.....61
12. Задания для лабораторной работы………………69
13.   Лабораторная работа  8. Символы..……………71
14. Задания для лабораторной работы………………77
15. Лабораторная работа 9. Графика…………………80

16. Лабораторная работа  10. Построение

графиков функций..……………………………….88
16.
Лабораторная работа 11.
Динамическая графика.98
17.
Лабораторная работа  12. Базы
данных. Файлы.107
18.
Лабораторная работа  13. Системы
управления
базами
данных…………………………………….112
19.
Задания для лбораторных
работ…………………145
20.
Задания для контрольных
работ…………………146
21.
Справка по языку  C#.............................................151
22.
 Литература………………………………………..164

                 :

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

НИКИШЕВ  Вячеслав
Константинович

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

Лабораторный
практикум
Редактор М.С.Кулина

Согласно Закону №436-ФЗ от 29 октября 2010 года
дання продукция не подлежит маркировке

Подписано в печать  15.03.2016.  Формат 60х80/16.
Бумага газетная.. Печать офсетная. Гарнитура Times.
Усл. печ. л.  Уч.-изд. л 167.  Тираж 50  экз.   Заказ
№         .
Издательство Чувашского университета
Типография университета
428015 Чебоксары, Московский просп., 15

Скачано с www.znanio.ru

Скачано с www.znanio.ru

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

alt: Блок – схема алгоритма using

alt: Console.ReadLine(); Console

alt: Программа на языке VB . Консольный вариант

alt: Console . ReadLine () ‘ вычисление сложного выражения 'a =

alt: Form1 : Form { public

alt: Click(object sender, EventArgs e) {

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

alt: Программа на языке C ++. Windows – проект

alt: Show(); } // вычислить задачу 1 private void button1_Click(object sender,

alt: ToolStripMenuItem_Click(object sender,

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

alt: End Sub Private Sub Задача 1ToolStripMenuItem_Click(ByVal sender

alt: . где . где .

alt: Main(string[] args) { string str;

alt: Повторить? (y/n) "; cin >> t ; system("cls"); } while (t=='y'); }

alt: Sub Main() Dim k As

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

alt: Form3() {

alt: System; using System.Collections

alt: Form1 f1 = new Form1();

alt: Private Sub Button1_Click(ByVal sender

alt: Задания для лабораторной работы 1

alt: Программа на языке С#. NET . Консольный вариант

alt: Program { static void

alt: P[j] = mas[i]; s = s + masP[j]

alt: Блок – схема алгоритма using

alt: Программа на языке С++. NET .

alt: Результт решения

title: Современные языки программирования. Лабораторный практикум