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

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

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

 

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное

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

«Чувашский государственный университет имени

 И.Н. Ульянова»

 

 

 

 

 

 

 

            В. К Никишев

 

 

 

 

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

 

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

 

 

 

 

 

 

 

 

 

 

 

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

     }}

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

21

          

 

 

 

 

 

Программа на языке 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();

        }           }         }

 

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

 

 

 

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

 

 

           

47

 

 

 

 

 

 

 

 

Программа на языке  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.  ) ∙ (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.

  1. Напишите программу подсчета суммарного числа букв 'а' и букв 'b' в данной строковой переменной. Вывести на экран каких букв больше.
  2. Задано предложение y, состоящее из слов-строк. Проверить, встречается ли данное слово х в предложении у.
  3. Предложение содержит буквы латинского и русского алфавитов. Написать программу, которая выводит буквы только латинского алфавита в порядке их следования в предложении.
  4. Дано предложение-строка. Подсчитать количество слов, начинающихся с буквы 'а'.
  5. Написать программу, подсчитывающую, сколько раз в данном слове  встречается буква у.
  6. Написать программу, которая каждый встречающийся в строке заданный символ заменяет на заданную последовательность символов, расширяя при этом строку.
  7. Задано предложение-строка. Написать программу, которая находит самое длинное слово, встречающееся в предложении.
  8. Написать программу, вычеркивающую из данного текста все буквы 'а'.
  9. Написать программу, которая проверяет в строке баланс открывающихся и закрывающихся круглых скобок (строка содержит арифметическое выражение).
  10. Написать программу, которая каждую встреченную букву 'б' заменяет сочетанием 'ку'.
  11. Задано предложение, состоящее из слов-строк. Написать программу, которая находит самое короткое слово в предложении.
  12. Предложение состоит из слов-строк. Написать программу, которая подсчитывает количество слов в предложении.
  13. Написать программу, проверяющую, является ли частью данного слова слово 'сок'. Ответ должен быть 'да' или 'нет'.
  14. Даны две строки. Вычеркнуть из строки А символы, встречающиеся в строке В.
  15. Из данного предложения вычеркнуть слова, встречающиеся больше одного раза.

Задание 2.

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

Лабораторная работа 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. Составить программу, выводящую на экран меню детского кафе (наименование изделия, вес, стоимость).
  2. Составить программу, выводящую на экран студенческую ведомость (Ф. И. О., оценки за три экзамена, средний балл).
  3. Составить программу, выводящую на экран расписание движения поездов (станция отправления, станция прибытия, время прибытия, время в пути).
  4. Составить программу, выводящую на экран меню ресторана "Дракон" (наименование изделия, вес, стоимость).
  5. Составить программу, выводящую на экран анкетные данные учеников (Ф. И. О., год рождения, адрес, сведения о родителях).
  6. Составить программу, выводящую на экран список книг домашней библиотеки (автор, название книги, издательство, год издания, стоимость).
  7. Составить программу, выводящую на экран расписание экзаменов и зачетов (предмет, вид отчетности, число, преподаватель).
  8. Составить программу, выводящую на экран сведения о студентах (Ф. И. О., курс, группа, номер зачетки, средний балл).
  9. Составить программу, выводящую на экран сведения о периодических изданиях (наименование издания, тираж, годовая стоимость).
  10. Составить программу, выводящую на экран расписание учителя (номер урока, время начала урока, класс, предмет, номер кабинета).
  11. Составить программу, выводящую на экран расписание полетов самолетов (пункт посадки, время отправления, время прибытия, время полета, стоимость билета).
  12. Составить программу, выводящую на экран перечень товаров, имеющихся в продаже в магазине "Океан" (наименование, единица измерения, цена, количество).
  13. Составить программу, выводящую на экран информацию о наличии товаров на складе (наименование, артикул, дата получения, единица измерения, количество, цена).
  14. Составить программу, выводящую на экран "Телефонный справочник" (Ф. И. О., адрес, номер телефона).
  15. Составить программу, выводящую на экран график отпусков (Ф. И. О., дата начала отпуска, дата выхода на работу, количество дней).

 

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

       Задача 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

Число \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

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

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

УДК 004.43(076.5) ББК З973

УДК 004.43(076.5) ББК З973

ПРЕДИСЛОВИЕ Microsoft.NET – современная среда для разработки различных информационных систем повышенной сложности (читается

ПРЕДИСЛОВИЕ Microsoft.NET – современная среда для разработки различных информационных систем повышенной сложности (читается

Настоящий лабораторный практикум , в котором приводятся примеры решения задач на языках программирования, входящих в среду

Настоящий лабораторный практикум , в котором приводятся примеры решения задач на языках программирования, входящих в среду

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

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

Console.ReadLine(); Console

Console.ReadLine(); Console

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

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

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

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

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

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

Form1 : Form { public

Form1 : Form { public

Click(object sender, EventArgs e) {

Click(object sender, EventArgs e) {

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

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

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

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

System::Void button1_Click_1(System::Object^ sender,

System::Void button1_Click_1(System::Object^ sender,

End Sub Private Sub Button2_Click(sender

End Sub Private Sub Button2_Click(sender

System.Data; using System.Drawing; using

System.Data; using System.Drawing; using

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

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

ToolStripMenuItem_Click(object sender,

ToolStripMenuItem_Click(object sender,

System; using namespace System::ComponentModel; using namespace

System; using namespace System::ComponentModel; using namespace

System::Void button1_Click_1(System::Object^ sender,

System::Void button1_Click_1(System::Object^ sender,

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

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

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

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

Math.Sin(8 - 2 * x) + Math.Exp(1 - x / 4)) / (Math

Math.Sin(8 - 2 * x) + Math.Exp(1 - x / 4)) / (Math

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

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

. где . где .

. где . где .

Лабораторная работа 3 Вычисление суммы ряда

Лабораторная работа 3 Вычисление суммы ряда

Main(string[] args) { string str;

Main(string[] args) { string str;

TCHAR* argv[]) { system("cls"); setlocale(LC_CTYPE,"Russian");//

TCHAR* argv[]) { system("cls"); setlocale(LC_CTYPE,"Russian");//

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

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

Sub Main() Dim k As

Sub Main() Dim k As

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

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

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

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

Form3() {

Form3() {

System; using System.Collections

System; using System.Collections

Form1 f1 = new Form1();

Form1 f1 = new Form1();

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

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

Private Sub Button1_Click(ByVal sender

Private Sub Button1_Click(ByVal sender

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

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

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

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

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

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

Program { static void

Program { static void

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

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

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

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

Console.WriteLine("\n\n\n\n\n\n\n\n " + "

Console.WriteLine("\n\n\n\n\n\n\n\n " + "

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

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

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

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

Введена размерность массива 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 =%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("

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

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

Console.WriteLine()

Console.WriteLine()

System; using System.Collections

System; using System.Collections
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
10.07.2017