extracted_text:
Министерство образования и науки Российской Федерации
Государственное образовательное учреждение высшего профессионального
образования «Чувашский государственный  университет им. И.Н. Ульянова»
Кафедра компьютерных технологий
Вячеслав Никишев
Лабораторный практикум
по объектноориентированному
 программированию ООП
1 2014
Печатается по решению Ученого совета Чувашского  государственного
университета им. И.Н. Ульянова.
 Рецензенты:
Горский   А.В  .   доцент   кафедры   информатики   и   вычислительной   техники
чувашского  педагогического университета им. И.Я. Яковлева,  канд. физмат. Наук,
доцент
  Ю   В.   старший   преподаватель   кафедры   информатики   и
Григорьев
вычислительной техники чувашского педагогического университета им. И.Я.
 Яковлева, канд. пед. наук,

Лабораторный   практикум
по   объектноориентированному
программированию
  предназначено   для   студентов   ЧГУ   факультета
компьютерного дизайна. В пособии представлены задания и примеры выполнения
лабораторных работ по объектноориентированному программированию на языке
программирования   вычислительного   комплексаVisual  Studio  2010(   2013)    C#.
Тематика лабораторных работ соответствует рабочей программе, написанной в
соответствии   со   стандартом   образования.   Каждая   работа   содержит:   условие
задачи, алгоритм в виде блоксхем,  программ на языках программирования C#,
результаты вычислений и задания для выполнения лабораторных работ. Особое
внимание   уделено   выполнению   лабораторных   работ   по   методу   объектно
ориентированного   программирования   для  Windows  приложений.   Обучение
построено по методу параллельного изучения основ программирования на языке
C#. Лабораторный практикум будет очень полезен как бакалаврам, магистрам,
аспирантам   и   преподавателям,
  которые   изучают   основы   объектно
ориентированного программирования .
2 SBN

©  2014
Предисловие
Язык программирования C# был разработан компанией Microsoft в 2000
году, как один из языков платформы .NET, где за основу была взята технология
ASP.NET   и   языки   C++б   ,  J  (   джава).   Язык   программирования   C#   является
объектоориентированным   языком,   реализованным   на   платформе   пакета
Microsoft .NET Framework .
C#   (произносится   СиШарп)      это   новый   язык   программирования   от
компании Microsoft. Он входит в новую версию Visual Studio  Visual Studio.NET.
Кроме C# в Visual Studio.NET входят Visual Basic.NET и Visual C++. Одна из
причин   разработки   нового   языка   компанией   Microsoft      это   создание
компонентноориентированного языка для новой платформы .NET. Другие языки
были созданы до появления платформы .NET, язык же C# создавался специально
под  эту  платформу   и  не   несет   с  собой  груза  совместимости   с  предыдущими
версиями   языков.   Хотя   это   не   означает,   что   для   новой   платформы   это
единственный язык.
Еще   одна   из   причин   разработки   компанией   Microsoft   нового   языка
программирования      это   создание   альтернативы   языку   Java.   Как   известно,
реализация Java у Microsoft не была лицензионно чистой  Microsoft в присущей
ей   манере   внесла   в   свою   реализацию   много   чего   от   себя.   Компания   Sun,
владелица Java, подала на Microsoft в суд, и Microsoft этот суд проиграла. Тогда
Microsoft решила вообще отказаться от Java, и создать свой Javaподобный язык,
который и получил название C#.
  Предлагаемое учебное пособие « Лабораторный практикум для языка
программирования С#.NET   поможет быстрее усвоить практику работ в среде
Visual   Studio   2010     и   особенно   разрабатывать   проекты   на   основе   метода
объектноориентированного программирования.

3 Лабораторная работа 1. Тема:  Структура программ на основе ООП.
    Цель занятия: Изучить структуру программ на основе использования
метода   объектноориентированного   программирования,   основные     элементы
структуры ООП: классы, объекты, а также повторить основные  операторы языка
программирования   С#.   Получить     навыки   работ   по   составлению   простейших
проектов   с   использованием     основных   элементов   управления   и   простейших
операторов..
Задачи  занятия:
1. Построение словесных алгоритмов
2. Построение алгоритмов в виде блоксхем
3. Разработка программы на основе ООП с использованием   классов и
объектов.
4.
  Изучение   и   практическое   усвоение   сущности   метода
  объектноориентрованного

программирования   на   основе   ООП
программирования
5.     Оформление   отчета   выполненной   работы,   включающей   :   условие
задачи, алгоритм, программу и результат работы.
6. Защитить работу по знанию как теоретических , так и практических
вопросов.

Пример 1.Условие задачи: Составить алгоритм и программу Student
для ввода и вывода данных по студентам ( фамилия, имя, группа и
стипендия).
Программа должна иметь класс, объект, операторы ввода и  вывода
данных. Данные вводить во время работы программы .
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication8
{
4 class Program
    {
        class student // класс студент
        {
            // public string s;
            public string family;// фамилия
            public string name; // имя
            public int year;// год рождения
            public int gruppa;// группа
            public void Show(student s, string family, string name, int year, int
gruppa)
            {
                s = new student();
                //   for (int i = 1; i <= n; i++)
                //   {
                Console.WriteLine("Вывод студентов :");
                Console.WriteLine( "фамилия " + " " + s.family + "\n имя
студента  "
                     + " " + s.name + "\n год рождения " + " " + s.year + " \n
учебная группа " + " " + s.gruppa);
                //  }
                Console.ReadKey();
            }
            public void Input(student s, string family, string name, int year, int
gruppa)
            {
                //  {
                Console.WriteLine("Ввод студентов :");
                //   int i;
                //  i = 1;
                //for ( i = 1; i <= n; i++)
                // {
                s = new student();
                // Console.WriteLine("Ввод" + i.ToString() + " студента:");
                Console.WriteLine("Введите фамилию :");
                s.family = Console.ReadLine();
                Console.WriteLine("Введите имя студента");
                s.name = Console.ReadLine();
                Console.WriteLine("Введите год рождения");
                s.year = int.Parse(Console.ReadLine());
                Console.WriteLine("Введите учебную группу");
                s.gruppa = int.Parse(Console.ReadLine());
                Console.ReadKey();
5 Console.Clear();
                //  }
                // }
                // }
            }
            static void Main(string[] args)// главная функция
            {
                string str = "да";
                while (str == "да")
                {
                    student s = new student();// объект
                    Console.WriteLine("\n\n\n\n\n\n\n\n " + "              Программа
Студент");
                    Console.WriteLine("  \n                        Выполнил Никишев ");
                    Console.ReadKey();
                    Console.Clear();
                   // Console.WriteLine("Ввод студентов :");
                    // Console.WriteLine("Введите количество студентов :");
                    // int n = int.Parse(Console.ReadLine());
                    // int i=1;
                    s = new student();
                    s.Input(s, s.family, s.name, s.year, s.gruppa);
                    //  i = 1;
                    s = new student();
                    s.Show(s, s.family, s.name, s.year, s.gruppa);
                    Console.WriteLine("\n повторить решение (да/нет)");
                    str = Console.ReadLine();
                    Console.ReadKey();
                    Console.Clear();
                }            }        }    }}
6 Начало
1
Титульный лист
Условие
Автор
2
3
Пробел
начало
Класс
Student
фамилия имя группа,стипендия
4
6
7
8
да
Объект
stud для студентов
Ввод данных
family, name,gruppa,solary
Выод данных
family, name,gruppa,solary
продолж
нет
выход
 Лабораторная работа 1.Тема:  Структура программ. Вычисление
арифметических выражений.
Условие:   Разработать   проект   для   вычисления   выражения  c=a+b
методом
                объектноориентированного программирования.
7 Консольный вариант
 Цель занятия: Изучить структуру программ, основные операторы языка
  для   вычислений   с   использованием   объектно
  навыки   работ   по
программирования
ориентированного   программирования   ООП.   Получить
составлению простейших программ в консольном варианте.
  С#
1. Построение алгоритмов в виде блоксхем
2. Разработка программы в консольном варианте .
3.Разработка программы на основе основных математических операторов
1
2
3
4
5
6
7
да
начало
класс: calcul
данные: a,b,d
функция: с=
класс: titlist
тит.лист
тема
работа
автор
условие
объект. c1
объект.с
c1(calcul)
c(titlist)
вывод
титульного
листа
ввод данных
a,b,d
вычисление d
c=(a+b)/d
вывод с
повторить
нет
конец
8 Прогнрамма
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
    class Program
    {
  class calcul
        {
            public int a;
            public int b;
            public int c;
            public void input()
            {
                Console.WriteLine("Введите число а.");
                int a = int.Parse(Console.ReadLine());
                Console.WriteLine("Вы ввели: " + a);
                Console.WriteLine("Введите число b.");
                int b = int.Parse(Console.ReadLine());
                Console.WriteLine("Вы ввели: " + b);
            }
            public void show()
            {
                int c = a + b;
                Console.WriteLine("результат с=: " + c);
            }
        }
        static void Main(string[] args)
        {
 string str;
            calcul cl = new calcul();
            Console.WriteLine("\n\n\n\n\n\n\n\n " + "                       Программа
Калькулятор");
            Console.WriteLine("  \n                         Выполнил Никишев ");
            Console.ReadKey();
            Console.ReadLine();
            Console.Clear();
            cl.input();
            cl.show();
            Console.WriteLine("\n нажми Enter для выхода из программы");
            str = Console.ReadLine();
            Console.ReadKey();
9 }
    }
}
Пример программы при вводе данных после главной функции
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
    class Program
    {
  class calcul
        {
            public double a;
            public double b;
            public double c;
            public double d;
                       public void show(double a,double b,double d)
            {
                 c = a / (b+d);
               // Console.WriteLine("результат с=: " + c);
               // return c;
            }
        }
        static void Main(string[] args)
        {
 string str;
            calcul cl = new calcul();
            Console.WriteLine("\n\n\n\n\n\n\n\n " + "                       Программа
Калькулятор");
            Console.WriteLine("  \n                         Выполнил Никишев ");
            Console.ReadKey();
            Console.ReadLine();
            Console.Clear();
            Console.WriteLine("Введите число а.");
              double   a = double.Parse(Console.ReadLine());
              Console.WriteLine("Вы ввели: " + a);
              Console.WriteLine("Введите число b.");
          double    b = double.Parse(Console.ReadLine());
10 Console.WriteLine("Вы ввели: " + b);
               Console.WriteLine("Введите число d.");
            double    d = double.Parse(Console.ReadLine());
               Console.WriteLine("Вы ввели: " + d);
           // cl.input();
            cl.show(a,b,d);
            Console.WriteLine("результат с=: " + cl.c);
           // clf.sum(ex).ToString()
            Console.WriteLine("\n нажми Enter для выхода из программы");
            str = Console.ReadLine();

Console.ReadKey();
}    }}
начало

1
2
3
4
5
6
7
да
класс: calcul
данные: a,
функция: с=
Объектноориентированное
программирование
( Windows – проект)
Титульный
лист
автор
условие
меню
Основная
форма
объект. c1
c1(calcul)
ввод данных
a,b,d
edittext
вычисление d
c=(a+b)/d
вывод с
edittext
нет
повторить
11
конец using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace WindowsFormsApplication3
{
    class Class1
    {
        public int a;
        public int b;
        public int c;
public int sum (int a,int b)
        {
            c=a+b;
            return c;
        }
                  }
}
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();
        }
        Class1 cal = new Class1();
        private void button2_Click(object sender, EventArgs e)
        {
            Close();        }   }}
        private void button1_Click(object sender, EventArgs e)
12 {
          double  a = Convert.ToDouble(textBox1.Text);
          double b = Convert.ToDouble(textBox2.Text);
         double d = Convert.ToDouble(textBox2.Text);
            Class1 cal = new Class1(a, b, d);
            cal.sum(a,b,d);
 textBox3.Text = textBox3.Text +  "   c= " + Convert.ToString(cal.c)  + "\n   ";
        }
Программа ООП для вычисления арифметических вещественных
             выражений с конструктором
        using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace WindowsFormsApplication3
{
    class Class1
    {
        public double a;
        public double b;
        public double c;
        public double d;
        public Class1(double a, double b, double d)
        {
            this.a = a;
            this.b = b;
            this.d = d;
        }
        public double sum (double a,double b, double d)
        {
            c=(a+b)/d;
            return c;
        }                 }}
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
    {
13 public Form1()
        {
            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);
            Class1 cal = new Class1(a, b, d);
 cal.sum(a,b,d);
 textBox3.Text = textBox3.Text +  "   c= " + Convert.ToString(cal.c)  + "\n   ";
        }
        private void button2_Click(object sender, EventArgs e)

1
начало
{
Close();
z

2(
tg

a
2
класс: calcul
sec
1/()2
a
функция: z=(tg2a+sec2a)/(1+sina)

sin
a
данные: a,
)
}
Вычислить значение
выражения по формуле
3
4
5
6
7
да
Титульный
лист
автор
условие
ìåíþ
Основная
форма
объект. rez
rez(rezalt)
ввод данных
a
edittext
вычисление z
z=(tg2a+sec2a)/(1+sina)
вывод z
edittext
нет
повторить
14
конец using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace
WindowsFormsApplication5
{
    class Class1
    {
        public double a;
        public double z;
        public Class1(double a)
        {
            this.a = a;
                                }
        public double result(double a)
        {
            z = (Math.Sin(2 * a) / Math.Cos(2 * a) + 1 / Math.Cos(2 * a))/
(1+Math.Sin(a));
            return z;
        }
    }
}
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 WindowsFormsApplication5
{
    public partial class Form1 : Form
    {
        public Form1()
15 {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            double a = Convert.ToDouble(textBox1.Text);
            Class1 res = new Class1(a);
            res.result(a);
            textBox2.Text = textBox2.Text + "z= " + Convert.ToString(res.z)
+ "\n   ";
        }
        private void button2_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Программу выполнил: студент группы
ДиКТ 21-09 Мишин М. Н. ©, 2012", "Информация");
        }
        private void button3_Click(object sender, EventArgs e)
        {
            Close();
        }    }  }
Лабораторная работа 2. Тема: Вычисление суммы ряда
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        class rayd
        {
            public int i;
            public int n;
            public double s;
            public double a;
        //    public rayd(int i,int n,double a)
          //  {
16 //      this.i=i;
              //  this.n =n;
              //  this.a=a;
              //  this.s=s;
          //  }
            public void input()
            {
              Console.WriteLine("Введите n.");
               int n = int.Parse(Console.ReadLine());
               Console.WriteLine("Вы ввели: " + n);
              // s = 5;
 for (i = 1; i <= n; i++)
                {
                    a = (1 + 1 / Math.Pow(i, i));
                    s=s +  a;
                    //Console.WriteLine("результат S=: " + s);
                }
               // return (s);

            }
       //     public void sum(int  i,int n,double a)
          //  {
                //int s=n;
               //double s = 5;
            //  double s = 0;
            //    for (i = 1; i <= n; i++)
             //   {
              //      a = (1 + 1 / Math.Pow(i, i));
               //     s=s +  a;
                    //Console.WriteLine("результат S=: " + s);
               // }
               // return (s);
            //}
            public void show()
            {
              //  double s = 0;
             //   for (int i = 1; i <= n; i++)
             //   {
              //      a = (1 + 1 / Math.Pow(i, i));
             //       s = s + a;
                 // //  Console.WriteLine("результат S=: " + s);

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

            }
        }
        static void Main(string[] args)
        {
            string str;
            rayd r = new rayd();
                        Console.WriteLine("\n\n\n\n\n\n\n\n " + "
Программа Сумма ряда");
                        Console.WriteLine("\n\n\n\n " +  "                       условие:
вычислить s=1+1/(i^i), для i=1,n ") ;
            Console.WriteLine("  \n                         Выполнил профессор
Никишев В.К. ");
            Console.ReadKey();
            Console.ReadLine();
            Console.Clear();
         //  Console.WriteLine("Введите n.");
           // int n = int.Parse(Console.ReadLine());
          // Console.WriteLine("Вы ввели: " + n);
            r.input();
          //  r.sum();
            r.show();
            Console.WriteLine("\n нажми Enter для выхода из программы");
            str = Console.ReadLine();
            Console.ReadKey();
        }    }}
18 19 Тема Одномерные массивы.
Консольный вариант
Надо сделать ооп
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;
20 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();
                }
            }
        }
    }
21 }
Windows  проект
Class1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace WindowsFormsApplication4
{
22 class new_massiv
    {
    public  int[] masP = new int[25];
    public int[] masP1 = new int[25];
        public int[] mas = new int[25];
            public int j;
           public int j1;
            public int[] iznachalnii(int n, int[] mas)//генерация начального
массива
            {
                Random rnd = new Random();
                for (int i = 1; i < n; i++)
                {
                    mas[i] = rnd.Next(20, 20);
                }
                return mas;
            }
            public int [] polojitelnie(int n, int[] masP)//отбор массива
положительных чисел
            {
               // int[] masP = new int[25];
                j = 1;
                j1=1;
                string s = "";
                for (int i = 1; i <= n; i++)
                {
                    if (mas[i] >= 0) { masP[j] = mas[i]; j++; }
                    else { masP1[j1] = mas[i]; j1++; };
                   // int k = j;
                }
               return masP;
              // return s;
            }
          //  public int[] otricatelnie(int n, int[] masP1)//отбор массива
отрицательных чисел
           // {
                //int[] masP1 = new int[25];
             //   int j1 = 1;
               // for (int i = 1; i  aray = new List();
                for (int i = 0; i < list.Tables[0].Rows.Count; i++)
                {
                    aray = list.Tables[0].Rows[i].ItemArray.ToList();
                    dataGridView1.Rows[i].Cells[0].Value = Convert.ToString(aray[0]);
                    dataGridView1.Rows[i].Cells[1].Value = Convert.ToString(aray[1]);
                    dataGridView1.Rows[i].Cells[2].Value = Convert.ToString(aray[2]);
                }
                label1.Text
=Convert.ToString(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].
Cells[2].Value);
            }
        }
35 private void dataGridView1_CellDoubleClick(object sender,
DataGridViewCellEventArgs e)
        {
            Form2 form = new
Form2(Convert.ToInt32(dataGridView1.Rows[dataGridView1.CurrentCell.RowIn
dex].Cells[0].Value));
            form.ShowDialog();
        }
        private void добавитьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form3 form = new Form3();
            form.ShowDialog();
            updateDaraGrid();
        }
        private void удалитьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            san.delete("sanator",
Convert.ToInt32(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Ce
lls[0].Value));
            updateDaraGrid();
        }
        private void dataGridView1_CellEnter(object sender,
DataGridViewCellEventArgs e)
        {
            label1.Text =
Convert.ToString(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].C
ells[2].Value);
        }
        private void выходToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private void поискToolStripMenuItem_Click(object sender, EventArgs e)
        {
36 Form7 form = new Form7();
            form.ShowDialog();
            dataGridView1.Rows.Clear();
            list = form.srch();
            if (list.Tables[0].Rows.Count != 0)
            {
                dataGridView1.Rows.Add(list.Tables[0].Rows.Count);
                List aray = new List();
                for (int i = 0; i < list.Tables[0].Rows.Count; i++)
                {
                    aray = list.Tables[0].Rows[i].ItemArray.ToList();
                    dataGridView1.Rows[i].Cells[0].Value = Convert.ToString(aray[0]);
                    dataGridView1.Rows[i].Cells[1].Value = Convert.ToString(aray[1]);
                    dataGridView1.Rows[i].Cells[2].Value = Convert.ToString(aray[2]);
                }
                label1.Text =
Convert.ToString(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].C
ells[2].Value);
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            updateDaraGrid();
            button1.Visible = false;
        }
        private void pictureBox1_Click(object sender, EventArgs e)
        {
        }
        private void оПрограммеToolStripMenuItem_Click(object sender, EventArgs
e)
        {
            Form9 form = new Form9();
            form.ShowDialog();
        }
        private void dataGridView1_CellContentClick(object sender,
DataGridViewCellEventArgs e)
37 {
        }
    }
}
FORM2
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 pashsan
{
    public partial class Form2 : Form
    {
        private int id = 0;
        public Form2(int ids)
        {
            InitializeComponent();
            id = ids;
        }
        private void Form2_Load(object sender, EventArgs e)
        {/*
            baza san = new baza();
            DataSet onesan = new DataSet();
            onesan = san.selectSan(id);
            List aray = new List();
            if (onesan.Tables[0].Rows.Count != 0)
            {
                aray = onesan.Tables[0].Rows[0].ItemArray.ToList();
                label1.Text = Convert.ToString(aray[1]);
                label2.Text = Convert.ToString(aray[2]);
            }
            DataSet list = new DataSet();
            dataGridView1.Rows.Clear();
            list = san.listImages(id);
38 if (list.Tables[0].Rows.Count != 0)
            {
                dataGridView1.Rows.Add(list.Tables[0].Rows.Count);

                for (int i = 0; i < list.Tables[0].Rows.Count; i++)
                {
                    aray = list.Tables[0].Rows[i].ItemArray.ToList();
                    dataGridView1.Rows[i].Cells[0].Value = Convert.ToString(aray[0]);
                    dataGridView1.Rows[i].Cells[1].Value = Convert.ToString(aray[1]);
                }
                pictureBox1.ImageLocation = Application.StartupPath + "//img//" +
dataGridView1.Rows[0].Cells[1].Value;
            }
          * */
            updateDaraGrid();
        }
        private void button1_Click(object sender, EventArgs e)
        {

        }
        private void updateDaraGrid()
        {
            baza san = new baza();
            DataSet onesan = new DataSet();
            onesan = san.selectSan(id);
            DataSet pricesan = new DataSet();
            pricesan = san.listPrice(id);
            List aray = new List();
            aray = onesan.Tables[0].Rows[0].ItemArray.ToList();
            List aray1 = new List();
            label1.Text = Convert.ToString(aray[1]);
            label2.Text = Convert.ToString(aray[2]);
            DataSet list = new DataSet();
            dataGridView1.Rows.Clear();
            dataGridView2.Rows.Clear();
            list = san.listImages(id);
            if (list.Tables[0].Rows.Count != 0)
39 {
                dataGridView1.Rows.Add(list.Tables[0].Rows.Count);

                for (int i = 0; i < list.Tables[0].Rows.Count; i++)
                {
                    aray = list.Tables[0].Rows[i].ItemArray.ToList();
                    dataGridView1.Rows[i].Cells[0].Value = Convert.ToString(aray[0]);
                    dataGridView1.Rows[i].Cells[1].Value = Convert.ToString(aray[1]);
                    dataGridView1.Rows[i].Cells[2].Value = Convert.ToString(i);
                }
                pictureBox1.ImageLocation = Application.StartupPath + "//img//" +
dataGridView1.Rows[0].Cells[1].Value;
            }

            if (pricesan.Tables[0].Rows.Count != 0)
            {
                dataGridView2.Rows.Add(pricesan.Tables[0].Rows.Count);

               // aray = list.Tables[0].Rows[i].ItemArray.ToList();
                for (int i = 0; i < pricesan.Tables[0].Rows.Count; i++)
                {
                    aray1 = pricesan.Tables[0].Rows[i].ItemArray.ToList();
                    dataGridView2.Rows[i].Cells[0].Value = Convert.ToString(aray1[0]);
                    dataGridView2.Rows[i].Cells[1].Value = Convert.ToString(aray1[1]);
                    dataGridView2.Rows[i].Cells[2].Value = Convert.ToString(aray1[2]);
                }
            }
        }
        private void dataGridView1_CellEnter(object sender,
DataGridViewCellEventArgs e)
        {
            try
            {
                pictureBox1.Image = null;
                int tmp = dataGridView1.CurrentCell.RowIndex;
                pictureBox1.ImageLocation = Application.StartupPath + "//img//" +
Convert.ToString(dataGridView1.Rows[tmp].Cells[1].Value);
            }
40 catch
            {
            }
        }
        private void изменитьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form4 form = new Form4(id);
            form.ShowDialog();
            updateDaraGrid();
        }
        private void фотографииToolStripMenuItem_Click(object sender, EventArgs
e)
        {
            Form4 form = new Form4(id);
            form.ShowDialog();
            updateDaraGrid();
        }
        private void label1_Click(object sender, EventArgs e)
        {
        }
        private void услугиToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            Form5 form = new Form5(id);
            form.ShowDialog();
            updateDaraGrid();
        }
        private void закрытьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private void pictureBox1_Click(object sender, EventArgs e)
        {
        }
41 }
}
FORM3
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 pashsan
{
    public partial class Form3 : Form
    {
        public Form3()
        {
            InitializeComponent();
        }
        private void button3_Click(object sender, EventArgs e)
        {
        }
        private void button1_Click(object sender, EventArgs e)
        {
            baza san = new baza();
            san.insertSan(textBox1.Text,richTextBox1.Text);
            this.Close();
42 }
        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private void Form3_Load(object sender, EventArgs e)
        {
        }

}
FORM4
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 pashsan
{
    public partial class Form4 : Form
    {
43 private string name = "";
        private string path = "";
        private int id = 0;
        private bool ch;
        baza san = new baza();
        public Form4(int ids)
        {
            InitializeComponent();
            id = ids;
        }
        private void добавитьToolStripMenuItem_Click(object sender, EventArgs e)
        {

            string copyTo="";
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    if (openFileDialog1.FileName != null)
                    {
                        FileInfo pic = new FileInfo(openFileDialog1.FileName);
                        copyTo = Application.StartupPath + "\\img\\" +
openFileDialog1.FileName.Remove(0,
openFileDialog1.FileName.LastIndexOf("\\") + 1);
                        path = openFileDialog1.FileName.Remove(0,
openFileDialog1.FileName.LastIndexOf("\\") + 1);
                        pic.CopyTo(copyTo);

                    }
                    dataGridView1.Rows.Add(1);
                    dataGridView1.Rows[dataGridView1.Rows.Count  1].Cells[0].Value
= dataGridView1.Rows.Count*1;
                    dataGridView1.Rows[dataGridView1.Rows.Count  1].Cells[1].Value
= path;
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error: Could not read file from disk. Original
error: " + ex.Message);
                }
44 }
        }

            private void button1_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                if (Convert.ToInt32(dataGridView1.Rows[i].Cells[0].Value) < 0)

san.insertPicturs(Convert.ToString(dataGridView1.Rows[i].Cells[1].Value), id);
            }
            this.Close();
        }
            private void удалитьToolStripMenuItem_Click(object sender, EventArgs e)
            {
                if
(Convert.ToInt32(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].C
ells[0].Value) > 0)
                {
                    san.delete("pic",
Convert.ToInt32(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Ce
lls[0].Value));
                }

dataGridView1.Rows.Remove(dataGridView1.Rows[dataGridView1.CurrentCell.
RowIndex]);
            }
            private void button2_Click(object sender, EventArgs e)
            {
                this.Close();
            }
            private void Form4_Load(object sender, EventArgs e)
            {
                baza san = new baza();
                DataSet onesan = new DataSet();
                List aray = new List();
                DataSet list = new DataSet();
                dataGridView1.Rows.Clear();
45 list = san.listImages(id);
                if (list.Tables[0].Rows.Count != 0)
                {
                    dataGridView1.Rows.Add(list.Tables[0].Rows.Count);
                    for (int i = 0; i < list.Tables[0].Rows.Count; i++)
                    {
                        aray = list.Tables[0].Rows[i].ItemArray.ToList();
                        dataGridView1.Rows[i].Cells[0].Value =
Convert.ToString(aray[0]);
                        dataGridView1.Rows[i].Cells[1].Value =
Convert.ToString(aray[1]);
                    }
                    pictureBox1.ImageLocation = Application.StartupPath + "\\img\\" +
dataGridView1.Rows[0].Cells[1].Value;
                }
            }
            private void dataGridView1_CellEnter(object sender,
DataGridViewCellEventArgs e)
            {
                try
                {
                    pictureBox1.Image = null;
                    int tmp = dataGridView1.CurrentCell.RowIndex;
                    pictureBox1.ImageLocation = Application.StartupPath + "\\img\\" +
Convert.ToString(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].C
ells[1].Value);
                }
                catch
                {
                }
            }
            private void menuStrip1_ItemClicked(object sender,
ToolStripItemClickedEventArgs e)
            {
            }
46 private void pictureBox1_Click(object sender, EventArgs e)
            {
            }   }}}
FORM5
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 pashsan
{
    public partial class Form5 : Form
    {
        int id = 0;
        public Form5(int idp)
        {
            InitializeComponent();
            id = idp;
        }
        private void удалитьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            baza san = new baza();
47 san.delete("price",
Convert.ToInt32(dataGridView2.Rows[dataGridView2.CurrentCell.RowIndex].Ce
lls[0].Value));
        }
        private void Form5_Load(object sender, EventArgs e)
        {
            baza san = new baza();
            DataSet pricesan = new DataSet();
            pricesan = san.listPrice(id);
            List aray = new List();

            DataSet list = new DataSet();
            dataGridView2.Rows.Clear();
            if (pricesan.Tables[0].Rows.Count != 0)
            {
                dataGridView2.Rows.Add(pricesan.Tables[0].Rows.Count);
                aray = pricesan.Tables[0].Rows[0].ItemArray.ToList();
                for (int i = 0; i < pricesan.Tables[0].Rows.Count; i++)
                {
                    aray = pricesan.Tables[0].Rows[i].ItemArray.ToList();
                    dataGridView2.Rows[i].Cells[0].Value = Convert.ToString(aray[0]);
                    dataGridView2.Rows[i].Cells[1].Value = Convert.ToString(aray[1]);
                    dataGridView2.Rows[i].Cells[2].Value = Convert.ToString(aray[2]);
                }
            }
        }
        private void добавитьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form6 form = new Form6(id);
            form.ShowDialog();
            baza san = new baza();
            DataSet pricesan = new DataSet();
            pricesan = san.listPrice(id);
            List aray = new List();
            DataSet list = new DataSet();
            dataGridView2.Rows.Clear();
            if (pricesan.Tables[0].Rows.Count != 0)
48 {
                dataGridView2.Rows.Add(pricesan.Tables[0].Rows.Count);
                aray = pricesan.Tables[0].Rows[0].ItemArray.ToList();
                for (int i = 0; i < pricesan.Tables[0].Rows.Count; i++)
                {
                    aray = pricesan.Tables[0].Rows[i].ItemArray.ToList();
                    dataGridView2.Rows[i].Cells[0].Value = Convert.ToString(aray[0]);
                    dataGridView2.Rows[i].Cells[1].Value = Convert.ToString(aray[1]);
                    dataGridView2.Rows[i].Cells[2].Value = Convert.ToString(aray[2]);
                }
            }
        }
        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private void dataGridView2_CellContentClick(object sender,
DataGridViewCellEventArgs e)
        {

}
}
    }
49 FORM6
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 pashsan
{
    public partial class Form6 : Form
    {
        int id = 1;
        public Form6(int idp)
        {
            InitializeComponent();
            id = idp;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            baza price = new baza();
            price.insertPrice(textBox1.Text, Convert.ToInt32(textBox2.Text), id);
50 this.Close();
        }
        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private void Form6_Load(object sender, EventArgs e)
        {
        }
    }
}
FORM7
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 pashsan
{
    public partial class Form7 : Form
    {
        public string srchstr = "";
        public Form7()
        {
            InitializeComponent();
        }
51 private void button1_Click(object sender, EventArgs e)
        {
            srchstr = textBox1.Text;
            this.Close();
        }
        public DataSet srch()
        {
            baza pic = new baza();
            return pic.search("sanator", srchstr);

        }
        private void Form7_Load(object sender, EventArgs e)
        {
        }    }}
Form
    {
        public Form8()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            Form1 form = new Form1();
            this.Hide();
            form.ShowDialog();
            this.Close();
        }
        private void label1_Click(object sender, EventArgs e)
        {
52
FORM8
amespace
pashsan
{
    public partial
class Form8 : }
        private void
Form8_Load(object sender, EventArgs e)
        {
        }
    }
}
FORM9
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 pashsan
{
    public partial class Form9 : Form
    {
        public Form9()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private void Form9_Load(object sender, EventArgs e)
        {
53 }
        private void label1_Click(object sender, EventArgs e)
        {
        }
    }
}
PROGRAMM
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace pashsan
{
    static class Program
    {
        ///
        /// Главная точка входа для приложения.
        ///
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form8());
        }
    }
}
                 Оглавление
2.Введение…………...........................................    5
Лабораторная работа №1
Тема: Структура программ…………………….
 2.1  Лабораторная работа №2   ..........................   5
Тема:  Вычисление арифметических   выражений.
2.2  Лабораторная работа №2
Тема:  Вычисление   суммы  ряда……………..   10
2.3 Лабораторная работа № 3.
Тема: Вычисление   арифметического
54 выражения и  суммы ряда…………………...  14
2.4  Лабораторная работа №4.
 Тема:  Вычисление произведения ряда
 и суммы ряда с заданной    точностью……….  .21
2.5Лабораторная работа №5
Тема: Одномерные массивы …………................26
2.6 Лабораторная работа №6.
Тема:  Двумерные   массивы.Window ..................29
2.7 Лабораторная работа №7.
2.8 Тема: Одномерные символьные массивы .   32
2.9 Лабораторная работа №8.
2.10
2.9 Лабораторная работа №10.
2.10
2.11
 Тема:  Графика...............................................42
Лабораторная работа №10 .
Тема:  Файлы.  Window                ..................37
 Тема: Построение графика и таблицы
  значений функции  y=f(x) … …...........................46
2.12
 Лабораторная работа №11.
              Тема:  Выбор и построение графика функции....50
2.13  Лабораторная работа №14
Тема:  Классы   и объекты. Ввод и вывод с помощью
55

file_name: с# ооп (Восстановлен).doc

description:
class new_massiv
    {
    public  int[] masP = new int[25];
    public int[] masP1 = new int[25];
        public int[] mas = new int[25];
            public int j;
           public int j1;
            public int[] iznachalnii(int n, int[] mas)//генерация начального
массива
            {
                Random rnd = new Random();
                for (int i = 1; i < n; i++)
                {
                    mas[i] = rnd.Next(20, 20);
                }
                return mas;
            }
            public int [] polojitelnie(int n, int[] masP)//отбор массива
положительных чисел
            {
               // int[] masP = new int[25];
                j = 1;
                j1=1;
                string s = "";
                for (int i = 1; i <= n; i++)
                {
                    if (mas[i] >= 0) { masP[j] = mas[i]; j++; }
                    else { masP1[j1] = mas[i]; j1++; };
                   // int k = j;
                }
               return masP;
              // return s;
            }
          //  public int[] otricatelnie(int n, int[] masP1)//отбор массива
отрицательных чисел
           // {
                //int[] masP1 = new int[25];
             //   int j1 = 1;
               // for (int i = 1; i <n; i++)
               // {
                 //   if (mas[i] < 0) { masP1[j1] = mas[i]; j1=j1+1; }
                //}
23

description:
// return masP1;
           // }
           public string for_print(int[] a, int n)//создание строкового варианта
массива для вывода на экран
            {
               string s = "";
               //int k=n;
               for (int i = 1; i <  n; i++)
                {
                    s += a[i].ToString() + " ";
                }
               return s;
            }
            public new_massiv(int[] s, int n)// конструктор
            {
                for (int i = 1; i < n; i++)
                {
                    this.mas[i] = s[i];
                }
            }
        }
    }
Form1
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 WindowsFormsApplication4
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
24

description:
private void button1_Click(object sender, EventArgs e)
            {
                int n;
                string s;
                int j;
                int j1;
                int[] mas = new int[25];

                n = Convert.ToInt32( textBox1.Text);
                new_massiv mymas = new new_massiv(mas,n);//объявление
объекта

                for (int i = 1; i < n; i++)
               {
                   mymas.mas[i] = 0;
               }
                    mymas.iznachalnii(n, mymas.mas);//вызвана фун
я,генерирующая массив
                                  textBox2.Text =
mymas.for_print(mymas.mas,n);//вывод изначального массива
                                 // textBox3.Text = textBox3.Text + " " +
mymas.polojitelnie(mymas.s, j);
                                 // mymas.otricatelnie(n, mymas.masP1);
                                  // new_massiv mymas1 = new new_massiv(masP1, n);

                mymas.polojitelnie(n,mymas.masP);
                //textBox3.text = mymas.s;
                                  j = 1;
                                               //textBox3.Text =
mymas.for_print(mymas.s);//вывод положительного массива

                textBox3.Text = mymas.for_print(mymas.masP,mymas.j);//вывод
положительного массива
                mymas.polojitelnie(n, mymas.masP1);
                j1 = 1;
                textBox5.Text = mymas.for_print(mymas.masP1,
mymas.j1);//вывод отрицательного массива

            }

               private void button2_Click(object sender, EventArgs e)
        {
25

description:
Close();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
        }
        }
    }
Тема: Наследование
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication10
{
    class Program
    {
        class student // класс студент
        {
           // public char [] s=new char[20];
            public string family;// фамилия
            public string name; // имя
            public int year;// год рождения
            public int gruppa;// группа
           //  public student(string f, string n, int y, int g)
26

description:
//  {
           //     this.family = f;
           //     this.name = n;
            //   this.year = y;
            // this.gruppa = g;
          // }

            public void Show(student[] s, string family, string name, int year, int
            {
                //int n;
                //int i;
                //for (int i = 1; i <= n; i++)
                {
                    Console.WriteLine("Вывод студентов \n" + "фамилия " + " " +
gruppa, int n)
family.ToString() + "\n имя студента  "
                         + " " + name + "\n год рождения " + " " + year + " \n учебная
группа " + " " +gruppa);
                }
            }
              public void Input( string family, string name, int year, int gruppa)
            {
            //  int i;
            // {
            //   int  n;
              Console.WriteLine("Ввод студентов :");
            //  int i;
            //  for ( i = 1; i <= n; i++)
            //     Console.WriteLine("Ввод" + i.ToString() + " студента:");
            //s[i] = new student();
            // {
                 Console.WriteLine("Введите фамилию :");
                 family = Console.ReadLine();
                Console.WriteLine("Введите имя студента");
              name = Console.ReadLine();
              Console.WriteLine("Введите год рождения");
              year = int.Parse(Console.ReadLine());
              Console.WriteLine("Введите учебную группу");
             gruppa = int.Parse(Console.ReadLine());
            }
            // }
             }
       class predmet : student // класс предмет
        {
       //      public string [] s;
27

description:
public string tema;// тема
            public int ball;// оценка
            // public predmet(string t, int b)
            // {
            // this.tema = t;
            // this.ball = b ;
          // }
            public void Input()
            {
Console.WriteLine("Введите фамилию :");
                 family = Console.ReadLine();
                Console.WriteLine("Введите имя студента");
              name = Console.ReadLine();
              Console.WriteLine("Введите год рождения");
              year = int.Parse(Console.ReadLine());
              Console.WriteLine("Введите учебную группу");
             gruppa = int.Parse(Console.ReadLine());
Console.WriteLine("тему");
              tema = Console.ReadLine();
              Console.WriteLine("Балл");
              ball = int.Parse(Console.ReadLine());
            }
            public void Show()
            {
                Console.WriteLine("Вывод студентов \n" + "фамилия " + " " +
family.ToString() + "\n имя студента  "
                                      + " " + name + "\n год рождения " + " " + year + " \n
учебная группа " + " " + gruppa);
                Console.WriteLine( "\n тема  "
                                                     + " " + tema + "\n балл " + " " + ball );
            }
        }
            static void Main(string[] args)// главная функция
            {
                //string str;
                string str = "да";
                while (str == "да")
                {
                   // student[] s=new student[50];
                    predmet [] s = new predmet[50];
                   // predmet toi = new predmet();
                    //predmet prog = new predmet();
                    Console.WriteLine("\n\n\n\n\n\n\n\n " + "
Программа Студент");
28

description:
Console.WriteLine("  \n                           Выполнил Никишев ");
                    Console.ReadKey();
                    Console.Clear();
                   // Console.WriteLine("Ввод и вывод оценок студентам "+
                  //  "\n по дисциплине теоретические основы информатики :");
                    Console.WriteLine("Введите количество студентов");
                    int kol = int.Parse(Console.ReadLine());
                    int i;
                    for (i = 1; i <= kol; i++)
                    {
                       //
                        //Console.WriteLine("Ввод" + int.ToString() + "студента");
                        s[i] = new predmet();
                      //  s[i]=new student("aaa","nnn",56,89);
                        Console.WriteLine("Введите фамилию :");
                        s[i].family = Console.ReadLine();
                        Console.WriteLine("Введите имя студента");
                        s[i].name = Console.ReadLine();
                        Console.WriteLine("Введите год рождения");
                        s[i].year = int.Parse(Console.ReadLine());
                        Console.WriteLine("Введите учебную группу");
                        s[i].gruppa = int.Parse(Console.ReadLine());
                        Console.WriteLine("тему");
                        s[i].tema = Console.ReadLine();
                        Console.WriteLine("Балл");
                        s[i].ball = int.Parse(Console.ReadLine());
                        Console.ReadKey();
                        Console.Clear();
                    }
                 //  toi.Input();
                   // toi.Show();
                    Console.ReadKey();
                    Console.Clear();
                   // Console.WriteLine("Ввод и вывод оценок студентам "+
                  //  " \n по дисциплине программирование :");
                    //prog.Input();
                   // prog.Show();
                    Console.WriteLine("\n повторить решение (да/нет)");
                    str = Console.ReadLine();
                    Console.ReadKey();
                    Console.Clear();
                }
            }
        }
29

description:
}
Тема: Разработка систем управления БД
30

description:
BAZA.CS
using System;
using
System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
using System.Windows;
namespace pashsan
{
    class baza
    {
31

description:
private static OleDbConnection connection = new
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
Application.StartupPath + "//" + "snab.mdb");
        public baza()
        {

        }
        public DataSet listSanat()
        {
            string selectCommand = "SELECT * FROM [sanator]";
            OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand,
connection);
            DataSet list = new DataSet();
            adapter.Fill(list);
            return list;
        }
        public DataSet listPrice(int id)
        {
            string selectCommand = "SELECT * FROM [price] WHERE sanid = " +
Convert.ToInt32(id);
            OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand,
connection);
            DataSet list = new DataSet();
            adapter.Fill(list);
            return list;
        }
        public DataSet listImages(int id)
        {
            string selectCommand = "SELECT * FROM [pic] WHERE sanid = "+
Convert.ToInt32(id);
            OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand,
connection);
            DataSet list = new DataSet();
            adapter.Fill(list);
            return list;
        }
        public DataSet selectSan(int id)
        {
            string selectCommand = "SELECT * FROM [sanator] WHERE id = " +
Convert.ToInt32(id);
32

description:
OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand,
connection);
            DataSet list = new DataSet();
            adapter.Fill(list);
            return list;
        }
        public void insertPicturs(string path, int sonid)
        {
            string insertCommand = "INSERT INTO pic ( path , [sanid] ) VALUES ('"
+ path + "','"  + sonid + "');";
            OleDbCommand command = new OleDbCommand(insertCommand);
            command.Connection = connection;
            connection.Open();
            command.ExecuteNonQuery();
            connection.Close();
        }
        public void insertSan(string name,string desc)
        {
            string insertCommand = "INSERT INTO sanator (namesan,[desc])
VALUES ('" + name + "','"  + desc + "');";
            OleDbCommand command = new OleDbCommand(insertCommand);
            command.Connection = connection;
            connection.Open();
            command.ExecuteNonQuery();
            connection.Close();
        }
        public void insertPrice(string namep, int price, int sanid)
        {
            string insertCommand = "INSERT INTO price ( nameus ,price,sanid)
VALUES ('" + namep + "','" + price + "','" + sanid+"');";
            OleDbCommand command = new OleDbCommand(insertCommand);
            command.Connection = connection;
            connection.Open();
            command.ExecuteNonQuery();
            connection.Close();
        }
        public void delete(string table, int id)
33

description:
{
            string insertCommand = "DELETE FROM " + table + " WHERE id=" + id
+ ";";
            OleDbCommand command = new OleDbCommand(insertCommand);
            command.Connection = connection;
            connection.Open();
            command.ExecuteNonQuery();
            connection.Close();
        }
        public DataSet search(string table, string srchstr)
        {
            //srchstr = '*' + srchstr + '*';
            string selectCommand = "SELECT * FROM  [" + table + "] WHERE
namesan LIKE '" + srchstr + "'";
            // string selectCommand = "SELECT * FROM pictures WHERE art_id =
"+ Convert.ToString(idArt1);;
            OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand,
connection);
            DataSet list = new DataSet();
            adapter.Fill(list);//, selectCommand);
            connection.Close();
            return list;
        }
    }
}
FORM1
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 pashsan
{
34

description:
public partial class Form1 : Form
    {
        public static DataSet list = new DataSet();
        baza san = new baza();
        public Form1()
        {
            InitializeComponent();
        }
        private void label1_Click(object sender, EventArgs e)
        {
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            updateDaraGrid();
        }
        private void updateDaraGrid()
        {
            dataGridView1.Rows.Clear();

            list = san.listSanat();
            if (list.Tables[0].Rows.Count != 0)
            {
                dataGridView1.Rows.Add(list.Tables[0].Rows.Count);
                List<object> aray = new List<object>();
                for (int i = 0; i < list.Tables[0].Rows.Count; i++)
                {
                    aray = list.Tables[0].Rows[i].ItemArray.ToList<object>();
                    dataGridView1.Rows[i].Cells[0].Value = Convert.ToString(aray[0]);
                    dataGridView1.Rows[i].Cells[1].Value = Convert.ToString(aray[1]);
                    dataGridView1.Rows[i].Cells[2].Value = Convert.ToString(aray[2]);
                }
                label1.Text
=Convert.ToString(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].
Cells[2].Value);
            }
        }
35

description:
Form7 form = new Form7();
            form.ShowDialog();
            dataGridView1.Rows.Clear();
            list = form.srch();
            if (list.Tables[0].Rows.Count != 0)
            {
                dataGridView1.Rows.Add(list.Tables[0].Rows.Count);
                List<object> aray = new List<object>();
                for (int i = 0; i < list.Tables[0].Rows.Count; i++)
                {
                    aray = list.Tables[0].Rows[i].ItemArray.ToList<object>();
                    dataGridView1.Rows[i].Cells[0].Value = Convert.ToString(aray[0]);
                    dataGridView1.Rows[i].Cells[1].Value = Convert.ToString(aray[1]);
                    dataGridView1.Rows[i].Cells[2].Value = Convert.ToString(aray[2]);
                }
                label1.Text =
Convert.ToString(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].C
ells[2].Value);
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            updateDaraGrid();
            button1.Visible = false;
        }
        private void pictureBox1_Click(object sender, EventArgs e)
        {
        }
        private void оПрограммеToolStripMenuItem_Click(object sender, EventArgs
e)
        {
            Form9 form = new Form9();
            form.ShowDialog();
        }
        private void dataGridView1_CellContentClick(object sender,
DataGridViewCellEventArgs e)
37

description:
{
        }
    }
}
FORM2
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 pashsan
{
    public partial class Form2 : Form
    {
        private int id = 0;
        public Form2(int ids)
        {
            InitializeComponent();
            id = ids;
        }
        private void Form2_Load(object sender, EventArgs e)
        {/*
            baza san = new baza();
            DataSet onesan = new DataSet();
            onesan = san.selectSan(id);
            List<object> aray = new List<object>();
            if (onesan.Tables[0].Rows.Count != 0)
            {
                aray = onesan.Tables[0].Rows[0].ItemArray.ToList<object>();
                label1.Text = Convert.ToString(aray[1]);
                label2.Text = Convert.ToString(aray[2]);
            }
            DataSet list = new DataSet();
            dataGridView1.Rows.Clear();
            list = san.listImages(id);
38

description:
if (list.Tables[0].Rows.Count != 0)
            {
                dataGridView1.Rows.Add(list.Tables[0].Rows.Count);

                for (int i = 0; i < list.Tables[0].Rows.Count; i++)
                {
                    aray = list.Tables[0].Rows[i].ItemArray.ToList<object>();
                    dataGridView1.Rows[i].Cells[0].Value = Convert.ToString(aray[0]);
                    dataGridView1.Rows[i].Cells[1].Value = Convert.ToString(aray[1]);
                }
                pictureBox1.ImageLocation = Application.StartupPath + "//img//" +
dataGridView1.Rows[0].Cells[1].Value;
            }
          * */
            updateDaraGrid();
        }
        private void button1_Click(object sender, EventArgs e)
        {

        }
        private void updateDaraGrid()
        {
            baza san = new baza();
            DataSet onesan = new DataSet();
            onesan = san.selectSan(id);
            DataSet pricesan = new DataSet();
            pricesan = san.listPrice(id);
            List<object> aray = new List<object>();
            aray = onesan.Tables[0].Rows[0].ItemArray.ToList<object>();
            List<object> aray1 = new List<object>();
            label1.Text = Convert.ToString(aray[1]);
            label2.Text = Convert.ToString(aray[2]);
            DataSet list = new DataSet();
            dataGridView1.Rows.Clear();
            dataGridView2.Rows.Clear();
            list = san.listImages(id);
            if (list.Tables[0].Rows.Count != 0)
39

description:
{
                dataGridView1.Rows.Add(list.Tables[0].Rows.Count);

                for (int i = 0; i < list.Tables[0].Rows.Count; i++)
                {
                    aray = list.Tables[0].Rows[i].ItemArray.ToList<object>();
                    dataGridView1.Rows[i].Cells[0].Value = Convert.ToString(aray[0]);
                    dataGridView1.Rows[i].Cells[1].Value = Convert.ToString(aray[1]);
                    dataGridView1.Rows[i].Cells[2].Value = Convert.ToString(i);
                }
                pictureBox1.ImageLocation = Application.StartupPath + "//img//" +
dataGridView1.Rows[0].Cells[1].Value;
            }

            if (pricesan.Tables[0].Rows.Count != 0)
            {
                dataGridView2.Rows.Add(pricesan.Tables[0].Rows.Count);

               // aray = list.Tables[0].Rows[i].ItemArray.ToList<object>();
                for (int i = 0; i < pricesan.Tables[0].Rows.Count; i++)
                {
                    aray1 = pricesan.Tables[0].Rows[i].ItemArray.ToList<object>();
                    dataGridView2.Rows[i].Cells[0].Value = Convert.ToString(aray1[0]);
                    dataGridView2.Rows[i].Cells[1].Value = Convert.ToString(aray1[1]);
                    dataGridView2.Rows[i].Cells[2].Value = Convert.ToString(aray1[2]);
                }
            }
        }
        private void dataGridView1_CellEnter(object sender,
DataGridViewCellEventArgs e)
        {
            try
            {
                pictureBox1.Image = null;
                int tmp = dataGridView1.CurrentCell.RowIndex;
                pictureBox1.ImageLocation = Application.StartupPath + "//img//" +
Convert.ToString(dataGridView1.Rows[tmp].Cells[1].Value);
            }
40

description:
}
        }

            private void button1_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                if (Convert.ToInt32(dataGridView1.Rows[i].Cells[0].Value) < 0)

san.insertPicturs(Convert.ToString(dataGridView1.Rows[i].Cells[1].Value), id);
            }
            this.Close();
        }
            private void удалитьToolStripMenuItem_Click(object sender, EventArgs e)
            {
                if
(Convert.ToInt32(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].C
ells[0].Value) > 0)
                {
                    san.delete("pic",
Convert.ToInt32(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Ce
lls[0].Value));
                }

dataGridView1.Rows.Remove(dataGridView1.Rows[dataGridView1.CurrentCell.
RowIndex]);
            }
            private void button2_Click(object sender, EventArgs e)
            {
                this.Close();
            }
            private void Form4_Load(object sender, EventArgs e)
            {
                baza san = new baza();
                DataSet onesan = new DataSet();
                List<object> aray = new List<object>();
                DataSet list = new DataSet();
                dataGridView1.Rows.Clear();
45

description:
list = san.listImages(id);
                if (list.Tables[0].Rows.Count != 0)
                {
                    dataGridView1.Rows.Add(list.Tables[0].Rows.Count);
                    for (int i = 0; i < list.Tables[0].Rows.Count; i++)
                    {
                        aray = list.Tables[0].Rows[i].ItemArray.ToList<object>();
                        dataGridView1.Rows[i].Cells[0].Value =
Convert.ToString(aray[0]);
                        dataGridView1.Rows[i].Cells[1].Value =
Convert.ToString(aray[1]);
                    }
                    pictureBox1.ImageLocation = Application.StartupPath + "\\img\\" +
dataGridView1.Rows[0].Cells[1].Value;
                }
            }
            private void dataGridView1_CellEnter(object sender,
DataGridViewCellEventArgs e)
            {
                try
                {
                    pictureBox1.Image = null;
                    int tmp = dataGridView1.CurrentCell.RowIndex;
                    pictureBox1.ImageLocation = Application.StartupPath + "\\img\\" +
Convert.ToString(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].C
ells[1].Value);
                }
                catch
                {
                }
            }
            private void menuStrip1_ItemClicked(object sender,
ToolStripItemClickedEventArgs e)
            {
            }
46

description:
san.delete("price",
Convert.ToInt32(dataGridView2.Rows[dataGridView2.CurrentCell.RowIndex].Ce
lls[0].Value));
        }
        private void Form5_Load(object sender, EventArgs e)
        {
            baza san = new baza();
            DataSet pricesan = new DataSet();
            pricesan = san.listPrice(id);
            List<object> aray = new List<object>();

            DataSet list = new DataSet();
            dataGridView2.Rows.Clear();
            if (pricesan.Tables[0].Rows.Count != 0)
            {
                dataGridView2.Rows.Add(pricesan.Tables[0].Rows.Count);
                aray = pricesan.Tables[0].Rows[0].ItemArray.ToList<object>();
                for (int i = 0; i < pricesan.Tables[0].Rows.Count; i++)
                {
                    aray = pricesan.Tables[0].Rows[i].ItemArray.ToList<object>();
                    dataGridView2.Rows[i].Cells[0].Value = Convert.ToString(aray[0]);
                    dataGridView2.Rows[i].Cells[1].Value = Convert.ToString(aray[1]);
                    dataGridView2.Rows[i].Cells[2].Value = Convert.ToString(aray[2]);
                }
            }
        }
        private void добавитьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form6 form = new Form6(id);
            form.ShowDialog();
            baza san = new baza();
            DataSet pricesan = new DataSet();
            pricesan = san.listPrice(id);
            List<object> aray = new List<object>();
            DataSet list = new DataSet();
            dataGridView2.Rows.Clear();
            if (pricesan.Tables[0].Rows.Count != 0)
48

description:
{
                dataGridView2.Rows.Add(pricesan.Tables[0].Rows.Count);
                aray = pricesan.Tables[0].Rows[0].ItemArray.ToList<object>();
                for (int i = 0; i < pricesan.Tables[0].Rows.Count; i++)
                {
                    aray = pricesan.Tables[0].Rows[i].ItemArray.ToList<object>();
                    dataGridView2.Rows[i].Cells[0].Value = Convert.ToString(aray[0]);
                    dataGridView2.Rows[i].Cells[1].Value = Convert.ToString(aray[1]);
                    dataGridView2.Rows[i].Cells[2].Value = Convert.ToString(aray[2]);
                }
            }
        }
        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private void dataGridView2_CellContentClick(object sender,
DataGridViewCellEventArgs e)
        {

}
}
    }
49

description:
}
        private void label1_Click(object sender, EventArgs e)
        {
        }
    }
}
PROGRAMM
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace pashsan
{
    static class Program
    {
        /// <summary>
        /// Главная точка входа для приложения.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form8());
        }
    }
}
                 Оглавление
2.Введение…………...........................................    5
Лабораторная работа №1
Тема: Структура программ…………………….
 2.1  Лабораторная работа №2   ..........................   5
Тема:  Вычисление арифметических   выражений.
2.2  Лабораторная работа №2
Тема:  Вычисление   суммы  ряда……………..   10
2.3 Лабораторная работа № 3.
Тема: Вычисление   арифметического
54

intro: Лабораторный практикум по объектно-ориентированному программированию  предназначено для студентов ЧГУ факультета компьютерного дизайна. В пособии представлены задания и примеры выполнения лабораторных работ по объектно-ориентированному программированию на языке программирования вычислительного комплексаVisual Studio 2010( 2013)  C#. Тематика лабораторных работ соответствует рабочей программе, написанной в соответствии со стандартом образования. Каждая работа содержит: условие задачи, алгоритм в виде блок-схем,  программ на языках программирования C#, результаты вычислений и задания для выполнения лабораторных работ. Особое внимание уделено выполнению лабораторных работ по методу объектно-ориентированного программирования для Windows приложений. Обучение построено по методу параллельного изучения основ программирования на языке C#. Лабораторный практикум будет очень полезен как бакалаврам, магистрам, аспирантам и преподавателям, которые изучают основы объектно-ориентированного программирования .

информатика

group: Дисциплины

доп. образование взрослых

group: Другое

title: Лабораторный практикум по объектно-ориентированному  программированию ООП


extracted_text:
МИНИСТЕРСТВО ОБРЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательноеучреждение
высшего профессионального образования
«Чувашский государственный университет имени И.Н. Ульянова»
В. К. Никишев
И Н Ф О Р М А Т И К А
и
ПРОГРАММИРОВАНИЕ

Учебное  пособие
Чебоксары
2016 УДК 681.142.2
ББК И181я73
Н62
                                     Рецензенты:
Горский А.В.       канд. физмат. наук, доцент кафедры информатики и вычислительной техники Чувашского  педагогического
университета им. И.Я. Яковлева;
Григорьев  Ю В.    канд. пед. наук, старший преподаватель кафедры информатики и вычислительной техники Чувашского
педагогического университета имени И. Я. Яковлева.

НИКИШЕВ В. К.
Н62  Информатика  и  программирование: учеб. Пособие /
В. К. Никишев        Чебоксары: Изд  во Чуваш. унта, 2016.    248 с.

                 ISBN 978 5 7677 2205 1

Излагаются     теоретические   основы   инфоматики   и   программирования(   основы   информации,   кадирования   и
алгоритмизации,  арифметические и логические основы построения ЭВМ).  Приводятся исторические сведения о
специалистах, внесшие большой вклад в развитие информатики и программирования, а также основые даты создания
ЭВМ и языков программирования. Для студентов 1х и 2х  курсов кафедры компьютерных технологий  и других
технических кафедр.
Ответственный редактор канд. техн. наук,
профессор В. П. Желтов.
Утвержено Учебнометодическим советом университета

                                                                                УДК 681.142.2
ISBN                                                                                ББК И181я73
                                                                               Издательство Чувашского
                                                                                университета, 2016
                                                                                с    Никишев В. К., 2016

                                   ПРЕДИСЛОВИЕ
В 80е годы  на  смену  «индустриальному»  пришло   «информационное»  общество.   В  современных
условиях   информация   является   таким   же   стратегическим   ресурсом   общества,   как   например,
энергетические ресурсы. «Информационная революция» вызвана рядом особенностей нашего времени:
  увеличением количества работников  умственного труда;
̶
      избытоком   информации,   передаваемой   средствами   связи,   публикаций   в   различных   изданиях
(книги, газеты, журналы);
̶
  устаревшими методами доступа к современным информационным источникам;

     невозможностью обработки большого количества информации (человеческое сознание уже не в

состоянии усвоить большой объем информации).
  Различие   в   уровне   информационного   обеспечения   становится   одним   из   существенных   причин
дисбаланса экономического развития стран. Знание всегда дает власть тем, кто в настоящее время владеет
и может пользоваться информацией. Информатизация общества существенно влияет и на образование, на
его формы и методы обучения, что нашло свое отражение в программе информатизации образования,
основными направлениями которой являются:
2 ̶
учащихся;
  использование новых информационных технологий (НИТ) и наличие компьютерной грамотности у
 профессиональное обучение учащихся;
 перестройка содержания и методов обучения;
 использование ЭВМ для управления образованием.
‒
‒
‒
Одной   из   основных   задач   является   развитие   учебных   дисциплин,   направленных   на
общеобразовательную   и   профессионнальную   подготовку   студентов   в   области   информатики   и
программирования.   Высшее   образование   предусматривает   использование   основ   информатики   и
программирования   в   различных   специальностях.   Информатика   и   программирование   включает   в   себя
изучение следующих разделов: алгоритмизация; программирование; алгебра логики; устройство   ЭВМ;
численные   методы;   системотехника;   компьютерные   сети;   средства   информационных   технологий;
моделирование и другие предметы.
Появление современных ЭВМ типа IBM создает основу для внедрения автоматизированных систем
управления системой образования или отдельными учебными заведениями.
  За «информационным обществом» следует новый этап развития общества, который называют как
Smartобщество. Smartобщество   это новое качество общества, в котором совокупность использования
технических   средств,   сервисов   и   Интернета   приводит   к   качественным   изменениям   в   социальной   и
экономической жизни общества.
В   смартобществе   рост   доступности   и   открытости   информационных   ресурсов   и   средств
коммуникаций   наряду   с   развитием   Интернеттехнологий   радикально   изменяет   все   элементы
общественной   жизни:   экономику,   социальную   политику,   образование,   трудовые   отношения.   Новое
общество построено таким образом: «умная» работа, которая образована «умной» жизнью, государством
и   бизнесом,   основывается   на   «умной»   инфраструктуре   и   «умных»   гражданах,   которые   играют
центральную роль в создании smartкультуры. А развитие таких отраслей, как Smartтранспорт, Smart
здравоохранение, Smartэнергетика, Smartпитание и т. д., приведет в конечном итоге к появлению Smart
мира.
Становление смарт  общества в России. России необходимо решить две задачи. Первая
   суметь
    применить   их   так,   чтобы   они   служили   в   интересах

применить   современные   технологии.   Вторая
общества и человека.
Предлагаемое   учебное   пособие   «Информатика   и   программирование»
  может   помочь   как
преподавателям, так и студентам при изучении основ информатики и программирования.
ГЛАВА 1. ИНФОРМАТИКА И ПРОГРАММИРОВАНИЕ: ВЧЕРА, СЕГОДНЯ, ЗАВТРА
1.1.  Общие сведения об информатике и программировании

Информатика
   сравнительно молодая научная дисциплина, которая занимается вопросами сбора,
обработки, хранения, поиска и передачи информации с помощью ЭВМ и компьютерных сетей.
После   Второй  мировой  войны  начала   развиваться   кибернетика
  наука   об  управлении   и  связи  с
использованием   ЭВМ   в   различных   системах:   технических,   биологических,   социальных.   Кибернетика
открыла возможности для развития и создания автоматизированных систем управления (АСУ) на базе
математических методов управления и планирования, которые стали находить широкое применение в
народном хозяйстве.
─
3 Появление информатики связано с электронными вычислительными машинами (ЭВМ), которые стали
использоваться в различных научных, учебных и производственных учреждениях.
В конце 50х годов под руководством А. П. Ершова на базе вычислительной техники Академгородка в
Новосибирске   энтузиастамиучеными   из   университетов   и   научноисследовательских   институтов   стали
организовываться кружки по программированию в школах с математическим уклоном. В последующие
годы   вводятся   специальные   факультативные   курсы   по   программированию   в   общеобразовательных
школах.   В   перечень   рекомендованных   курсов   включались     системы   счисления   и   устройство   ЭВМ,
алгоритмы и программирование, основы кибернетики, языки программирования и т.д. В 6070х годах в
США появилось направление “Computer Science”, т.е. применение компьютерной техни ки в обществе. Во
Франции распространен термин “Informatique”. В русском языке употребление термина “информатика”
связано   с   узкоконкретной   областью   научнотехнической   информации   и   документалистики.   Введение
понятия  информатики  как  учебной  дисциплины  и  фундаментальной  естественной  науки  связано  с
именем  математика,   профессора  Новосибирского  университета А. П. Ершова после выхода в 1976 году
учебного  пособия   Ф.Л.   Бауэра   “Информатика”  (перевод  с  немецкого)  под  редакцией  А.П.   Ершова   и
пособия А.П. Ершова “Информатика: предмет и понятие”. (Кибернетика. Становление информатики. ─
М.:   Наука,   1986).     Важной   особенностью   информатики   является   то,   что   она   имеет   широкую   сферу
применения: производство, управление, наука, образование, проектные разработки, торговля, медицина,
криминалистика, охрана окружающей среды и т.д.   Именно этим многообразием определяется предмет
“информатика”.
В начале 70х годов возникла специализация на базе учебнопроизводственных комплексов (УПК) по
профессиональной подготовке учащихся старших классов в области применения вычислительной техники.
В начале 1983 года в Академии наук СССР было открыто новое отделение информатики, вычислительной
техники и автоматизации, а с 1 сентября 1987 года был введен новый школьный и институтский предмет
“Основы информатики и ВТ”.
Для   преподавания   такого   предмета   в   1986      87
  е   годы   были   подготовлены   учителя   из   числа
работающих математиков, физиков и программистов из научноисследовательских институтов. В первые
годы в учебных заведениях  использовались вычислительные машины КОРВЕТ, АГАТ, КУВТ86, УКНЦ и
особенно большое распространение получили ЯМАХА, основные характеристики которых приведены в
табл.1.
‒
1.2  Краткая история информатики, вычислительной техники и программирования
    История     вычислительной   техники   начиналась   от   абака   (приспособления   для   перекладывания
камешек),   счетов.   Первые   механические   арифмометры,   которые   механизировали   расчетные   операции,
появились в XVII веке.  К таким техническим устройствам следует отнести: суммирующую машину Блеза
Паскаля (1642 г.), арифмометр Вильгельма Лейбница (1673 г.), ткацкие станки, управляемые с помощью
перфокарт Жаккара (1804 г.).
    Однако   впоследствии   стало   известно,   что   первые   описания   счетных   машин   были   выполнены
знаменитым   Леонардо   да   Винчи.   Был   найден   эскиз   13разрядного   суммирующего   устройства   с
десятизубным колесом. Документы свидетельствуют, что первой моделью счетной машины была модель
Шиккарда,   выполненная   в   1623   году.   Кроме   суммирующих     устройств   в   этой   машине   были   и
множительные устройства.
   В XVIII веке стали появляться различные модификации счетных машин: известный писатель Клод
Перро   изобрел   суммирующую   машину   в   1688   году;   немецкий   математик   Кристиан   Людвиг   Герстен
изготовил   в   1723   году   арифметическую   машину   с   контролем   правильности   ввода,   затем   появляется
─
суммирующая машина Якобсона в 1770 году
г.   Несвите   Литвы.   В   1845   году   Зиновий   Яковлевич   Слонимский   (еврейский   ученый)   из   Белостока
представил снаряд для сложения и вычитания.
 часовым мастером из
4 Впервые структуру автоматической машины разработал в 1834 году английский математик Чарльз
Бэббидж   в   неосуществленном   проекте   разностной   машины.   В   последующие   годы   он   работал   над
аналитической   машиной,   в   которой   были   заложены   следующие   принципы:   программное   управление,
использование   перфокарт   для   ввода   и   вывода   данных,   возможность   изменения   хода   вычислений   и
введение понятия циклов операций.
       С Бэббиджем непосредственно работала дочь Байрона
 Ада Лавлейс, которая стала первой
программисткой.     Она   составила   программы   решения   систем   алгебраических   уравнений,   вычисления
чисел Бернулли.
‒
       В 1889 году Холлерит построил суммирующую машину (табулятор) для обработки данных с
использованием перфокарт. В 1933 году немецким ученым К. Цузе была построена модель механической
вычислительной машины на основе реле с использованием двоичной системы счисления, с плавающей
формой представления числа, с трехадресной системой программирования. Впоследствии он изготовил
более   современные   образцы   ЭВМ   (Z3      Z5).   В   1939   году     американский   математик,   профессор
Гарвардского   университета   Г.Айкен   с   группой   инженеров   IBM   разработал   вычислительную   машину
“Марк   1”,   в   1940   году    в   США   Штибицем   была   создана   машина   на   релейных   элементах   (релейный
интерполятор).
  Дальнейшая история ЭВМ
─
 это история смены поколений ЭВМ, в которых вычислительные машины
подразделялись на классы с учетом элементарной базы и производительности.
1.   Компьютеры   первого   поколения   появились   в   1945   году.   Особенностями   этих   машин   были:
применение   электронновакуумных   ламп;   использование   линий   задержки,   магнитных   барабанов   и
электроннолучевых   трубок   в   качестве   элементов   памяти;   ввод   и   вывод   данных   на   перфолентах,
перфокартах и магнитных лентах.
  2.   Компьютеры   второго   поколения   появились   после   1955   года.   Особенности   этих   машин:
использование транзисторов; появление магнитных сердечников для реализации памяти; использование
первых языков программирования.
  3. Компьютеры третьего поколения начали создаваться с 1964 года. Особенностями таких ЭВМ
─
 малая степень интеграций 102
  средняя   степень   интеграций   до   103   компонентов   на   кристалл);
  наличие
были: проектирование структур на основе интегральных схем (ИС) (МИС
компонентов   на   кристалл,   СИС
использование   операционной   системы   для   управления   устройствами   ЭВМ;
мультипрограммирования.
─
4.   Компьютеры   четвертого   поколения   начали   разрабатывать   с   1971   года.   В   этих   ЭВМ   впервые
использовались микропроцессоры (МП) и большие интегральные схемы (БИС) со степенью интеграции до
105 компонентов на кристалл, сверхбольшие интегральные схемы (СБИС) со степенью интеграции до 107
компонентов на кристалл и быстродействующие элементы памяти на интегральных схемах.
В эти годы появились первые персональные компьютеры.
5.   Компьютеры   5го   поколения   начали   проектироваться   в   Японии.   На   основе   интеллектуальных
компьютеров с архитектурой, ориентированной на обработку знаний (1982 г.). В 80е годы получили
развитие нейрокомпьютерные системы (нейрокомпьютеры).
Образцы вычислительных машин в СССР и зрубежом в
8090е годы (табл.1, 2).
           Советские вычислительные машины            Таблица 1.
ЯМАХА
Корвет Агат Кувт
УКНЦ
Параметры
Разрядность
Быстродействие
(тыс.опер / cсек
Цвета экрана
8
600
  8
16
700
4
86
  16
 600
  4
16
1000
8
16
700
8
5 Размеры
Тех. экрана
Граф. экрана
Объем ОЗУ(КБ)
ОбъемДГМД(КБ
)
Скорость
локальной. сети
64  15
512  256
64
2*800

  656

256
64
1*800
 32 – 24
256  246
64 – 24
640  288
  64 24
512  288
16
2*200
64
2*400
64
2*800
19200

 9600
37000
57600
Зарубежные вычислительные машины                   Таблица 2.
Параметры
АРХИМЕД APPLE
10
15
32
1.0
640*512
168
0.8
640*480
IBM
XTAT
26
16
1.2
640*380
PS/2
4
16
1.44
640*480
256
16
16
16
Быстродействи
е
Разрядность
Объем НГМД
Размеры
граф.экр.
Количество
цветов
   Основными вехами в развитии теоретических основ построения ЭВМ и языков программирования
являются:
         разработка двоичной системы счисления Вильгельмом Лейбницем в 1679 году и теории булевой
алгебры
    методы программного управления (Жаккар, 1804 г.; Бэббидж, 1834 г.; К. Цузе, 1938 г.; Д. Нейман,
     языки   программирования   (Алгол,   Бейсик,   Фортран,   Паскаль,   Кобол,   Рл1,   Ассемблер,
         теория   символьного   вычисления   и   эвристического   программирования   для   решения   задач

1944 г.);
     разработка программыкомпилятора (Грейс Хоппер, 1951 г.);

программирование на языке Турбо  Лисп, Ада;

искусственного интеллекта (Г.Саймон, А.Ньюэлл и Д.Шоу ─ 1956 г.);
    язык логического программирования Пролог (А. Кольмеро, 1971 г. );
 методы объектноориентированного программирования 1983 г.

    Самостоятельной   наукой   информатика   была   признана   лишь  в  1970х  годах;   до   этого   она
развивалась   в   составе  математики,
 электроники  и   других  технических   наук.   Некоторые   начала
информатики можно обнаружить даже в  лингвистике. Первый  факультет  информатики был основан в
1962   году  в  университете   Пёрдью  (Purdue   University).   В   настоящее   время   факультеты   и  кафедры
информатики имеются в большинстве университетов мира.
учебником  А. П. Ершова «Основы информатики и вычислительной техники».
  В школах СССР учебная дисциплина «Информатика» появилась в 1985 году одновременно с первым
Высшей наградой за заслуги в области информатики является премия Тьюринга.
                 4 декабря  отмечается День российской информатики, так как в этот день в  1948 году
Государственный   комитет  Совета   министров   СССР  по   внедрению   передовой   техники   в  народное
хозяйство  зарегистрировал  за номером 10 475  изобретение  И. С. Брука  и  Б. И. Рамеева  ─  цифровую
электронную вычислительную машину.
Основные даты по истории информатики и программировния представлены в таблице 3.
                                                                                Таблица 3
6 Италия
Россия
Германия
Франция
Англия
Германия
Клод Перро
Е. Якобсон
Франция
Литва
Ч. Стэнхоум
Англия
XV в.
XVI в.
1624 г.
1642 г.
1658 г.
1673 г.
1700 г.
1775 г.
Страна
О.   Саламин   в   Эгейском
море,Греция,
  Япония,
Китай
Год
V – VI
 до н. э.
Автор
Леонардо
Да Винчи
Вильгейм
Шиккард
Блез
Паскаль
Самюэл
Морленд
Вильгейм
Лейбниц
 саламинская доска;
 абак;
 серобан;
 седанпоп
       Событие
1.Преобразование счета
─
─
─
─
2. Эскиз 13  разрядного сумматора с 10
зубовыми колесами
3.   Русские   счеты   с   10й   системой
счисления
4. Счетная машина
5. Первый арифмометр

сложения,
6. Суммирующая
машина
  Арифмометр   для   выполнения
7.
действий:
вычитания,
умножения,   деления.   Основы   двоичной
системы
8. Суммирующая машина
9.
пятизначных значных чисел
10. Счетные машины
  Суммирующая   машина   для

                                                                   Продолжение табл. 3
Событие

Промышленное
  Перфокарты   для
ткацким
11.
управления
станком
12.

производство
арифмометров
13.   Проект   разностной
мпшины
14.

машина
15.   Первые   программы
ЭВМ
16.
сложения и вычитания
17.   Первая   клавишная
суммирующая машина
18.
  Счетный   прибор
Аналитическая
Автор
Жаккар
Страна
Франция
Год
1801 г.
Карл
Томас
Германия
1820 г.
Чарльз
Беббидж
Чарльз
Беббидж
Леди   Ада
Лавлейс
Слонимский
Англия
1823 г.
Англия
1871 г.
Англия
1871 г.
Россия
1845 г.
Д. Пармель
США
1864 г.
1850 г.
7
  Основы   булевой Джорж Буль Англия алгебры
19. Разностная машина
20.

машина
21. Счетный механизм на
принципе русских счетов
Двухразрядная

  Первая   пишушая
  Сумматор
22.
машинка
23.
непрерывным
пересчетом десятков
24.
переменным
зубцов
«Феликс»
25. Электронная лампа
  Арифмометр   с
числом

Г. Шойц
Томас Хилт
Германия
США
1854 г.
1857 г.

В.
Я.
Буняковски
й
К. Шоулз
Россия
1867 г.
США
1867 г.
с

Г.
Чебышев
Л.
Россия
1878 г.
В. Т. Однер
Россия
1880 г.
Т. Эдисон
США
1883 г.
                                                            Продолжение табл.
      Событие
26.   Счетная   машина   с
печатью   исходных   цифр
и результата
27. Табулятор.
28.   Электроннолучевая
трубка
  Машина
29.
интегрирования
обыкновенных
дифференциальных
уравнений
30.
прибор – диод
31. Трехэлектродный
прибор  триод
32. Ламповый триггер
  Двухэлектродный
для

33. Абстрактная машина.
«Тьюринга»
32. Теория информации

33.
Универсальные
цифровые   машины   с
программным
управлением
на
механических элементах

  Автор
У. Берроус
 Страна
США
 Год
1885 г.
Г. Холлерит США
Дж.Томснон Англия
1888 г.
1897 г.
  А. Н.
 Крылов
Россия
1904 г.

А.
США
Англия
Д.
Флеминг
Л. Фостер,
Р. Либен
М.
Бруевич
А.Трьюринг Англия
  Бонч
Россия
США
Колод
Шеннон
Цузе
1906 г.
1906 г.
1918 г.
1936 г.
1936 г.
Германия
1938 г.
8 34.   ЭВМ   на   ламповых
элементах
35.
«Белл»
  Релейное   ЭВМ
В. Атанасов США
Дж.
Стибниц
США
1937 г.
1939 г.

                                                                 Продолжение табл. 3
Год г.
Страна
Автор
            События
Цузе
Германия
1941 г.
36.   Универсальное   ЭВМ
на   электромеханических
элементах
37.   Первый  электронный
компьютер «Сolossus»
38.   ЭВM   «Марк1»   на
релейных элементах
39.
современных
компьютеров
40.   ЭВМ   «EDVAC»   с
вводом чисел и программ
в память
41. Электронное ЭВМ
«Эмпак»
Архитектура

Биетчли
Горвард
Эйкен
Джон фон
Нейман
Джон фон
Нейман
США
США
США
1943 г.
1943 г.
1945 г.
США
1945 г.
США
1946 г.
США
СССР
США
СССР
1948 г.
1950 г.
1951 г.
1952 г.
Д. П. Эккерт,
Д. У.
Моучли
Уильм
Шокли
С.

Лебедев
А.
Дж. Бардин,
У. Браттейн
С.
А.
Лебедев

А.
Ляпунов

  МЭСМ
42.
Тотечный
германиевый транзистор
43.
(Малая
Электронная   Счетная
Машина)
44. Плоский германиевый
транзистор
45.   БЭСМ   2   (   Большая
Электронная   Счетная
Машина)
46.   Операторный   метод
программирования
47. «Ферритовая память» Дж.
А.
СССР
1953 г.
США
США
1953 г.
1953 г.
Кремнивый
Форстер
Килби, Тил

48.
транзистор.
                                                                   Продолжение табл.3
     Событие
49. ЭВМ «СТРЕЛА»
50. ЭВМ « БЭСМ»

Автор
Ю.
Я.
Базилевский
С.

Страна
СССР
А. СССР
Год
1953 г.
1953 г.
9 51. ЭВМ «УРАЛ»
52. ЭВМ «РАЗДАН»
53. ЭВМ «МИНСК»
54. ЭВМ «КИЕВ»

Язык
Язык
Язык
55.
программирования
ФОРТРАН
56.
программирования
ЛИСП
57.
программирования
АЛГОЛ
58.
Язык
программирования ЛОГО
59.   Автоматизированная
система управления
( АСУ)
второго
60.
поколения:   РАЗДАН   2,
УРАЛ11 (14,16), МИНСК
22(32), М220, БЭСМ 3(4)
61. Управляющая ЭВМ
«Днепр 1»
62. Интегральная схема
  ЭВМ

Т.
Лебедев
В. И. Рамеев СССР
СССР
Ф.
Саркисян
В.
В.
Пржиялковс
кий
В.
Глушков
Дж. Бекус
  М.
СССР
СССР
США
50е гг.
 «
 «
 «
1957 г.
Дж.
Маккарти
США
1957 г.
Бекус Наур
США
1957 г.
С. Пейперт
США
1960 г.
  М.
В.
Глушков
СССР
1960 г.
СССР
60е
годы
  М.
В.
Глушков
Килби
СССР
1961 г.
США
1961 г.

                                                                   Продолжение табл.3

(
  10
  Событие
63. « ЧИП»
Интегральная
схема
транзисторов)
64. ЭВМ
IBM/360
Язык
65.

программирования
Бейсик
66. МиниЭВМ
( НАИРИ2, МИР
  Автор
Килби
  Страна
США
Год
1962 г.
Дж. Кемени,
Т. Курц
Г. Е. Овснян,
В. М.
США
США
1965 г.
1965 г.
СССР
1967 г.
10 2)
67. ЭВМ БЭСМ6

68.
Язык
программирования
ФОРТ
69. Компьютер
MANIAC
70.
Язык

программирования
ПАСКАЛЬ
71.
Полевые
транзисторы, МОП
–транзисторы
72.
поколения
ЭВМ
«Электроника
100(200)»,
28»
73.
Микропроцессор
4004
74.
магнитный диск
  ЭВМ   3го
  ЕС
Гибкий
  «Д3

Глушков
В. А.
Мельников
Ч. МУР
СССР
США
1967 г.
1970 г.
Джон фон
Нейман
Н. Вирт
США
1970 г.
Швейцария
1970 г.
США
1970 г.
СССР
1970 г.
Хофф
США
1971 г.
IBM
США
1972 г.

                                                                Продолжение табл. 3
    Событие
   Автор
Страна
США
   Год
1974 г.
IBM
IBM
IBM
IBM
IBM
75.
Микропроцессор
8080
76.
  Персональные
компьютеры ПЭВМ
77. Мини ЭВМ
78.
Суперкомпьютер
Cray1(100
операций
секунду)
79.
Суперкомпьютер
ИЛЛИОКIV
80.
Микропроцессор
68000
81.
переводчики
  Словари

в
США
1974 г.
СССР
США
1975 г.
1975 Г.
США
1975 г.
США
1979 г.
Япони
1997 г.
я
11 тыс.
82. Супер ЧИП

(450
элементов)
83.   Операционная
система
 MSDOC
1.0
84. ПЭВМ IBM PS
85. EC 1840 (1841)
86.
Языки
программирования
РАБИК,   РАПИРА,
ШКОЛЬНИЦА
87.
Суперкомпьютер
Gray XMR/48
88. Курс ОИВТ
  (Основы   информатики   и
вычислительной техники)

Пиккард
США
1981 г.
Звенигородский
США
1981 г.
США
СССР
СССР
1982 г.
1982 г.
1980
1984 гг.
США
1984 г.
СССР
1985 г.
                                                                   Продолжение табл. 3
  Событие
  Автор
89. ПЭВМ  IBM
PC/XT,
IBM
PC/AT, PS/2

 MS
90.
Операционная
система
DOC 1.4
91.   Школьные
КУВТ:   УКНЦ,
КОРВЕТ,
СУРА,
  ДВК,
ИСКРА   1030,
БК0010
92. IBM 486 SX
93.
  Русская
операционная
систем
DOC
94.
Микропрцессор
Pentium
(   64
разряда),
Macintosh  LC
520,
 Windows
NT
 MS
Страна
США
Год
1985 г.
США
1987 г.
СССР
1988 г.
США
СССР
1991 г.
1991 г.
США
1993 г.
12

file_name: печать. информатика и програм.docx

intro: Излагаются  теоретические основы инфоматики и программиро-вания( основы информации, кадирования и алгоритмизации, арифме-тические и логические основы построения ЭВМ). Приводятся истори-ческие сведения о специалистах, внесшие большой вклад в развитие информатики и программирования, а также основые даты создания ЭВМ и языков программирования. Для студентов 1-х и 2-х  курсов кафедры компьютерных технологий  и других технических кафедр.