Приложение C# для работы с одномерными и многомерными массивами

Автор: Пользователь скрыл имя, 14 Апреля 2012 в 22:12, курсовая работа

Описание работы

Язык программирования С# был создан в конце 1990-х годов и стал частью общей NET-стратегии Microsoft. Впервые он увидел свет в качестве b-версии в середине 2000 года. Главным архитектором С# был Андерс Хейлсберг – один из ведущих специалистов в области языков программирования, получивший признание во всем мире. Достаточно сказать, что в 1980-х он был автором весьма успешного продукта Turbo Pascal, изящная реализация которого установила стандарт для всех будущих компиляторов.

Работа содержит 1 файл

ВМИиП(курсовая работа).doc

— 4.15 Мб (Скачать)

Одномерный массив в С# реализуется как объект, поэтому его создание представляет собой двухступенчатый процесс. Сначала объявляется ссылочная переменная на массив, затем выделяется память под требуемое количество элементов базового типа, и ссылочной переменной присваивается адрес нулевого элемента в массиве. Базовый тип определяет тип данных каждого элемента массива. Количество элементов, которые будут храниться в массиве, определяется размер массива.

В общем случае процесс объявления переменной типа массив, и выделение необходимого объема памяти может быть разделено. Кроме того, на этапе объявления массива можно произвести его инициализацию.

Многомерные массивы имеют более одного измерения. Чаще всего используются двумерные массивы, которые представляют собой таблицы. Каждый элемент массива имеет два индекса, первый определяет номер строки, второй - номер столбца, на пересечении которых находится элемент. Нумерация строк и столбцов начинается с нуля. 

 Объявить двумерный массив можно одним из следующих способов:

тип [,] имя__массива;

тип [,] имя__массива = new тип [размер1, размер2];

тип [,] имя__массива{{элементы 1-ой строки}, … , {элементы n-ой строки}};

тип [,] имя__массива new тип [,]{{элементы 1-ой строки}, …, {элементы n-ой строки}};

строки}}.

 

 

                             2.1 Работа с одномерными массивами

 

Задание.

Найти сумму положительных и сумму отрицательных элементов массива X(22), сформированного случайным образом.

Для решения вышеизложенного задания был создан проект приложения AzizovaKlipikovApplicationProject, находящийся в папке проекта AzizovaKlipikovApplicationSolution.

Далее была создана форма Work1.cs, в которой  будет находиться программный код задания. В окне Solution Explorer, нажав двойным щелчком на левую клавишу мыши, активируется форма Work1.cs. В окне Properties в свойстве Text вводится название формы, которое будет отображаться  в строке состояния.

В следующем шаге на форму из окна Toolbox добавляются необходимые элементы, такие как Label – поле статического текста, Textbox - поле для ввода значений данных, DataGridView - решетка, выполняющая роль таблицы и Button – кнопка, куда помещается, непосредственно, текст программы. См. рис.2.1.1.

 

 

Рис. 2.1.1. Предварительное оформление формы первого задания

 

 

Учитывая тот факт, что в проекте необходимо обеспечить иерархичность элементов – форм, следует в текущей и последующих формах создать дополнительную кнопку для перехода в  форму - главное меню проекта, которое будет представлено позже.

Для кнопки с именем button2 формы Work1.cs, с текстовым атрибутом «В главное меню», после  двойного щелчка вводится программный код:

 

this.Hide(); //- закрывает одну форму

AzizovaKlipikovMainForm fm = new

AzizovaKlipikovMainForm ();

fm.ShowDialog(); // - открывает другую форму

this.Close();

 

Это код позволяет закрывать активную форму и одновременно открывать другую.

Аналогичные действия проводятся и для других форм приложения.

Основной текст программы  помещается в кнопку button1, с текстовым атрибутом «ОПРЕДЕЛИТЬ»

На начальном этапе необходимо для объекта DataGridView в свойстве Columns добавить определенное количество столбцов - 22. См. рис. 2.1.2.

 

Рис. 2.1.2. Окно для добавления столбцов в таблицу

 

 

Для добавления программного кода необходимо нажать два раза на левую кнопку мыши.

Для создания одномерного массива следует объявить этот массив. Объявление происходит следующим образом:

int[] «название массива»;

«название массива» = new int[«размерность»];

 

Следующим шагом идет объявление необходимых переменных. В зависимости от типа данных определяется и тип переменной:

«тип данных» «имя переменной»;

 

Типом данных может быть int, single, float, double и т.д.

Для случайного формирования элементов массива используется генератор случайных чисел Random, который подключается следующим образом:

 

Random random = new Random();

Для непосредственного формирования массива из случайных чисел идёт присвоение объявленному массиву массива чисел:

 

«имя массива»[«имя элемента цикла»] = (random.Next(«нижний диапозон значений», «верхний диапозон значений» ));

 

Цикл в программе объявляется следующим образом:

 

for («тип данных» «имя элемента цикла» «математическая операция» «значение»; «имя элемента цикла» «математическая операция» «значение»; «имя элемента цикла» «шаг»)

 

Обычно шаг в цикле 1-ца и записывается как: «имя элемента цикла»++.

 

Инициализация одномерной таблицы происходит следующим образом:

 

DataGridView.CurrentCell=DataGridView[«имя элемента цикла», 0];

 

Присвоение массива таблице производится конвертированием исходного типа данных в строковый формат String:

 

DataGridView.CurrentCell.Value= Convert.ToString(«имя массива» [«имя элемента цикла»]);

 

Присвоение любого значения переменной Textbox производится также конвертированием исходного типа данных в строковый тип:

 

«имя Textbox».Text = «имя переменной».ToString();

 

Условие задаётся оператором if:

 

if («переменная/массив/…» «операция» «значение»);

 

Запуск формы осуществляется командой Debug/Start Debugging или нажатием на кнопку F5.

Программный код задания приводятся в Приложении №1.

Скриншот формы  приводится в  Приложении №2.

 

2.2 Работа с многомерными массивами

 

Задание.

Матрица В(7,7) сформирована случайным образом. Среди элементов ее главной диагонали найти максимальный. Если он меньше некоторого числа S, введенного с клавиатуры, все элементы строки, где он находится, увеличить в два раза.

Для выполнения задания создается форма Work2.cs и в свойстве Text вводится название формы, которое будет отражаться в строке состояния.

Далее добавляется элемент DataGridView и в окне Properties объекта выбирается свойство Columns, куда в соответствии с заданием добавляется нужное количество колонок – 7.

Для вывода элементов главной диагонали добавляется ещё один объект DataGridView, состоящий также из 7 колонок, но имеющий одномерный тип.

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

Для добавления программного кода в кнопку button2 с текстовым атрибутом «ОПРЕДЕЛИТЬ» необходимо нажать два раза на левую кнопку мыши.

Практически все описанные ранее в пункте 2.1 блоки программного кода встречаются и в описываемом коде. Так как в этом задании представлен многомерный массив, добавление строк происходит следующим образом:

 

«имя DataGridView».Rows.Add(«размерность»);

 

Инициализация многомерной таблицы происходит следующим образом:

 

…………………«цикл по I»………………….

DataGridView.CurrentCell = DataGridView[0, I];

………………«цикл по J»……………….

DataGridView.CurrentCell = DataGridView[J, I];

 

Дальнейшие действия аналогичны.

Программный код задания приводятся в Приложении №3.

Скриншот формы  приводится в  Приложении №4.

 

2.3 Пользовательская форма «Главное меню»

 

Данная форма является первым элементом иерархии, из которой осуществляется переход в формы с заданиями. Для того, чтобы  форма запускалась по умолчанию первой, необходимо в окне Properties нажать двойным щелчком на файл Program.cs и поменять название запускаемой формы, выбрав нужную строку. См. рис. 2.3.1.

 

 

Рис. 2.3.1. Запуск необходимой формы по умолчанию

 

 

Следующим шагом является  добавление кнопок, каждая из которых будет открывать ту или иную форму.

В форму также добавляется объект Label с текстовым атрибутом «Выбор задания», а также фоновый рисунок. Для добавления изображения необходимо, нажав на форму в окне Properties, найти свойство Background Image и выбрать рисунок, который подходит по расширению. См. рис. 2.3.2.

 

 

Рис. 2.3.2. Добавление фонового рисунка в форму

 

Программный код для кнопок перехода в формы был приведен в пункте 2.1 (стр. 10).

Скриншот формы  приводится в  Приложении №5.

 

2.4 Пользовательская форма «Об авторах»

 

Данная форма является ознакомительной. В ней приводится фамилии авторов курсового проекта. Для этого из меню Toolbox в форму добавляется объект статического текста Label, куда вводится текст. Также на форме предусмотрена кнопка возврата в основное меню с текстовым атрибутом «В главное меню». Программный код кнопки приводится в пункте 2.1 (стр. 10).

Скриншот формы приводится в Приложении №6.

 

 

 

2.5 Пользовательская форма «О программе»

 

Данная форма содержит название программы, год издания и  версию, а также информацию об авторских правах.

Также на форме предусмотрена кнопка возврата в основное меню с текстовым атрибутом «В главное меню». Программный код кнопки приводится в пункте 2.1 (стр. 10).

Скриншот формы приводится в Приложении №7.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заключение

 

 

Язык C# явился мощным и стремительным рывком в развитии программирования. C# в скором будущем будет  занимать господствующее положение среди языков программирования в мире. Огромное множество профессиональных программистов использует именно его при разработке разного рода проектов. Очевидно, этот язык будет сохранять свое солидное положение ещё много лет, при этом динамично развиваясь и совершенствуясь. Становится очевидным, что судьбу языка программирования С# определили запросы пользователей. Его направлял опыт широкого круга пользователей, работающих в разных областях программирования. За шесть лет, отделяющих нас от первого издания описания С#, число пользователей возросло в сотни раз. За эти годы были усвоены многие уроки, были предложены и подтвердили практикой свое право на существование различные приемы программирования.

 

 

 

 

 

 

 

 

 

 

 

 

 

Список использованной литературы

 

1. Сивохин А.В., Макурин Ю.Д. Проектирование Windows-приложений в визуальных объектно-ориентированных  средах. Описание лабораторных работ. – Пенза, 2010 – 48 с.

2. Вилле К. Представляем Си Шарп. ДМК Пресс, 2001. ISBN 5-94074-039-1.

3. Зыков С.В. Современные языки программирования. Ч.I. Функциональный

подход к программированию. М.:МИФИ – 2003, 230 с.

4. Робинсон У. C# без лишних слов. ДМК Пресс, 2002. ISBN 5-94074-177-0

5. Шилдт Г. С#, учебный курс. Питер, 2003.

6. Visual C#. NET Systematically, Microsoft Press, 2003.             

7. Понамарев В. Программирование на C++/C# в Visual Studio .NET 2003

БХВ-Петербург, 2004.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение №1

 

Программный код формы Work1.cs

 

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 AzizovaKlipikovApplicationProject

{

    public partial class Work1 : Form

    {

        public Work1()

        {

            InitializeComponent();

        }

 

        private void AzizovaKlipikovClassForm_Load(object sender, EventArgs e)

        {

 

        }

 

        private void button1_Click(object sender, EventArgs e)

        {

            int[] k;

            k = new int[22];

            int sum1;

            int sum2;

           

            Random random = new Random();

           sum1 = 0;

           sum2 = 0;

            for (int I = 0; I < 22; I++)

            {

                k[I] = (random.Next(-50, 50));

                {

                    if (k[I] > 0)

                        sum1 += k[I];

                    DataGridView.CurrentCell = DataGridView[I, 0];

                    DataGridView.CurrentCell.Value = Convert.ToString(k[I]);

                }

                {

                    if (k[I]<0)

                        sum2+=k[I];

                }

                TextBox.Text = sum1.ToString();

                TextBox1.Text= sum2.ToString();

            }

           

        }

 

        private void label3_Click(object sender, EventArgs e)

        {

 

        }

 

        private void button2_Click(object sender, EventArgs e)

        {

Информация о работе Приложение C# для работы с одномерными и многомерными массивами