Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ТооП / Тооп(4)

.docx
Скачиваний:
16
Добавлен:
31.05.2018
Размер:
152.45 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«КАЗАНСКИЙ (ПРИВОЛЖСКИЙ) ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

НАБЕРЕЖНОЧЕЛНИНСКИЙ ИНСТИТУТ (ФИЛИАЛ)

КАФЕДРА ИНФОРМАЦИОННЫХ СИСТЕМ

ЛАБОРАТОРНАЯ РАБОТА №4

«Использование классов для работы с массивами данных»

По дисциплине

«Объектно-ориентированное программирование»

Выполнил:

Студент группы 2161121

Золотых С.В.

Проверил:

Илюхин А.Н.

Набережные Челны

2017

  1. Цель работы

Получение навыков в разработке программ с использованием классов для создания, хранения и работы с массивами данных.

  1. Постановка задачи

Создать объекты класса <имя класса> (класс и его поля задаются в соответствии с выбранным вариантом в лабораторной работе 1), причем объекты класса должны хранить массивы данных о предметной области, связанные со свойствами предмета задания по варианту. Причем количество элементов массива должно задаваться пользователем в интерактивном режиме.

№ варианта

Имя класса

Поле 1

Поле 2

Поле 3

3

Процессор

Фирма производитель

Количество ядер

Тактовая частота

  1. Текст программы

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace ТООП_4_

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

class Processor_2//класс для частоты

{

public int n;

public double[] b;

public Processor_2(int n)

{

this.n = n;

b = new double[this.n];

}

public double this[int n]

{

get { return b[this.n-1]; }

set { b[this.n-1] = value; }

}

}

class Processor_3//класс для Фирмы

{

public string[] a;

public int n;

public Processor_3(int n)

{

this.n = n;

a= new string[this.n];

}

public string this[int n]

{

get { return a[this.n-1]; }

set { a[this.n - 1] = value; }

}

}

class Processor_4//класс для ядер

{

public int[] a;

public int n;

public Processor_4(int n)

{

this.n = n;

a = new int[this.n];

}

public int this[int n]

{

get { return a[this.n-1]; }

set { a[this.n-1] = value; }

}

}

private void button1_Click(object sender, EventArgs e)

{

int n = Convert.ToInt32(textBox4.Text);

Processor_3 A = new Processor_3(n);

for (int i = 0; i < A.n-1; i++) {

A[i] = textBox1.Text.Split(',')[i];

dataGridView1.Rows.Add(A[i]);

}

textBox1.Clear();//очищаем текстбокс

}

private void button2_Click(object sender, EventArgs e)

{

int n = Convert.ToInt32(textBox4.Text);

Processor_4 F = new Processor_4(n);

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

{

F[i] = Convert.ToInt32(textBox2.Text.Split(',')[i]);

dataGridView1.Rows[i].Cells[1].Value = F[i];

}

textBox2 .Clear();//очищаем текстбокс

}

private void button3_Click(object sender, EventArgs e)

{

int n = Convert.ToInt32(textBox4.Text);

Processor_2 B = new Processor_2(n);

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

{

B[i] = Convert.ToDouble(textBox3.Text.Split(';')[i]);

dataGridView1.Rows[i].Cells[2].Value = B[i]+" GHz";

}

textBox3.Clear();//очищаем текстбокс

textBox4.Clear();

}

private void button4_Click_1(object sender, EventArgs e)

{

Application.Exit();

}

private void button5_Click(object sender, EventArgs e)

{

dataGridView1.Rows.Clear();

}

}

}

  1. Результат работы программы

  1. Блок-схема

  2. Вывод

В связи с условием поставленной задачи было создано три класса с массивами данных, которые содержат разные типы данных, для большей наглядности: Processor_2, Processor_3, Processor_4. Классы были созданы с использованием индексаторов. Массивы вводились вручную и заполнялись в отдельный столбец таблицы DataGridView. Количество элементов массива так же задавалось вручную с клавиатуры. В результате выводится полный массив, использующий три поля данных: Firm, k и t.

Лабораторная работа помогла на практике закрепить знания о классах как массивах данных.

Соседние файлы в папке ТооП