Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metodicheskoe_posobie_VGKS_po_S.docx
Скачиваний:
49
Добавлен:
13.02.2016
Размер:
433.75 Кб
Скачать

Лабораторная работа 5 Массивы. Зависимый переключатель

Цель работы.

Изучить формирование программ с использованием массивов. Научиться создавать формы с использованием визуального элемента зависимый переключатель.

План занятия.

Изучить теоретические сведения формирования программы на С#.

По приведенному листингу программы разработать на Visual Studio программу и отладить ее. Составить программу по индивидуальному заданию.

Краткие теоретические сведения.

Массивы.

Одномерные массивы.

Обращение к элементу массива: a[4].

Инициализация

int[ ] a; //массив a целого типа

int[ ] a = new int[5]; // фиксируется длина символа

int[ ] a = {15,2,8,4};

int[ ] a = new [6] {8,4,2};

Прямоугольные массивы.

a[1,2] // двумерный массив прямоугольный

a[2,3,1] // трёхмерный массив прямоугольный

У прямоугольного массивы размеры постоянны т. е. n строк и m столбцов для матрицы.

Инициализация

int[ , ] a;

int[ , ] a= new int[2,3];

int[ , ] a= { {1,4,8}, {5,6}};

int [ , ] a= new int[2,3] { {1,4,8},{5,6}};

В обоих последних случаях будет инициализирована матрица

1 4 8

a = 5 6 0

Ступенчатые массивы.

Инициализация:

1) int[ ][ ] a;

2) int[ ][ ] a=new int[3][ ];

a[0]= new int[5]; //каждая строка матрицы инициализируется как одномерный массив; в данном примере это строка номер один

Нельзя

3) int[ ][ ] a=new int [ ] [3];

4) int[ ][ ] a={new int[ ], new int[5], new int[4]};

Функции над массивами.

Все массивы являются объектом Array.

a.Length – для одномерного массива его размер, для двумерного – число строк.

a[0].Length – число столбцов, т. е. второго размера нулевой строке.

a[0][1].Length – число элементов 3-его размера в 0-й строке и 1-м столбце.

a.Rank – число размеров массива

a.GetValue(1) – тоже, что a[1].

К статическим методам нужно обращаться через указание класса Array:

Array.Sort(a) // сортировка одномерного массива а по возрастанию

Порядок выполнения работы.

Создайте форму:

Воспроизведите программный код:

//FORM

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 WindowsFormsApplication1

{

public partial class Form1 : Form

{

float[,] Xmas=new float[10,10];

public Form1()

{

InitializeComponent();

}

private void button2_Click(object sender, EventArgs e)

{

this.Close();

}

private void radioButton1_CheckedChanged(object sender, EventArgs e)

{

if(radioButton1.Checked){

for(int i=0; i<10; i++)

{

float x=1+i/3;

for(int j=0; j<10; j++)

{

float y=-2+j/12;

Xmas[i,j]=Convert.ToSingle((Math.Exp(-x*y)+Math.Exp(x*y))/

(1+Math.Abs(Math.Pow(Math.Sin(x),2)+Math.Pow(Math.Cos(x),2))));

}

}

radioButton5.Checked=true;

}

}

private void radioButton5_CheckedChanged(object sender, EventArgs e)

{

if(radioButton5.Checked){

float Y=0;

for(int i=0; i<10; i++)

{

for(int j=0; j<10; j++)

{

Y+=Xmas[i,j];

}

}

textBox2.Text=String.Format("{0,5:f2}",Y/100);

}

}

private void radioButton7_CheckedChanged(object sender, EventArgs e)

{

if(radioButton7.Checked){

float Y=1.0e33f;

for(int i=0; i<10; i++)

{

for(int j=0; j<10; j++)

{

if(Y>Xmas[i,j]) Y=Xmas[i,j];

}

}

textBox2.Text=String.Format("{0,5:f2}",Y);

}

}}}

Индивидуальное задание.

Из практического задания в файл вывести матрицу Xmas. Составить программу транспонирования этой матрицы. Транспонированную матрицу вывести в тот же файл, что и Xmas.

Содержание отчета.

Представить отлаженную программу по индивидуальному заданию.

Литература.

Павловская Т.А. С#, Программирование на языке высокого уровня. – М., СПб: Питер, 2010, с.126-138

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]