русс | укр

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

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-08-14; просмотров: 691; Нарушение авторских прав


Для изучения приводимых в лабораторной работе примеров необходимо создать в Microsoft Visual Studio проект консольного приложения и описать классProgram, используя приводимый в примерах код.

1.Работа с массивами.

Следующие две программы демонстрируют, каким образом выполняется инициализация и работа с прямоугольными и ломаными массивами в C#.

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

using System;

using System.Collections.Generic;

using System.Text;

 

namespace HelloWorldDemo

{

class Program

{

static void Main(string[] args)

{

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

int[,]multMatr;

multMatr = new int[10,10];

 

// Заполнение массива 9 на 9:

for (int i = 1; i <= 9; i++)

for (int j = 1; j < 9; j++)

multMatr[i, j] = i * j;

 

// Вывод элементов многомерного массива

for (int i = 1; i <= 9; i++)

{

for (int j = 1; j <= 9; j++)

{

Console.Write(multMatr [i, j] + "\t");

}

Console.WriteLine();

}

}

}

}

В результат выполнения программы получим таблицу умножения следующего вида:

 

2. Ломаный массив.

using System;

using System.Collections.Generic;

using System.Text;

 

namespace HelloWorldDemo

{

class Program

{

static void Main(string[] args)

{

// Ломаный многомерный массив из пяти внутренних массивов разного размера

int[][] JagArr = new int[10][];

 

// Инициализация генератора случайных чисел

Random rand = new Random();

 

// Динамическое создание ломаного массив

for (int i = 0; i < JagArr.Length; i++)

{

JagArr[i] = new int[i + rand.Next(10)];

}

 

// Вывод строк на консоль

// Каждый элемент по умолчанию имеет значение, равное

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

{

// Свойство Length массива возвращает его размер

Console.Write("Length of row {0} is {1}:\t", i, JagArr[i].Length);



for (int j = 0; j < JagArr[i].Length; j++)

{

Console.Write(JagArr[i][j] + " ");

}

Console.WriteLine();

}

}

}

}

В результат выполнения программы получим таблицу следующего вида:

 

2.Свойства и методы классаArray.

Следующий пример демонстрирует использование некоторых из приведенных свойств и методов класса Array:

using System;

using System.Collections.Generic;

using System.Text;

 

namespace HelloWorldDemo

{

class Program

{

static void Main(string[] args)

{

// Массив символьных строк

string[] Brands = new string[]

{"Audi",

"BMW",

"Buick",

"Chevrolet",

"Citroen",

"Dodge",

"Ferrari",

"Fiat",

"Ford",

"Honda",

"Hyundai",

"Cherokee",

"Cherry",

"Lada",

"Lamborghini",

"Lincoln",

"Mazda",

"Mercedes",

"Mitsubishi",

"Nissan",

"Opel",

"Peugeot",

"Plymoth",

"Pontiac",

"Renault",

"Rover",

"Saab",

"Subaru",

"Suzuki",

"Toyota",

"Volkswagen",

"Volvo"};

 

// Вывод марок автомобилей в соответствии с порядком элементов в массиве

 

Console.WriteLine("Here is the array of car brands:");

 

for (int i = 0; i < Brands.Length; i++)

Console.Write(Brands[i] + "\t");

 

Console.Write("\n\n");

 

// Сортировка элементов в обратном порядке

 

Array.Reverse(Brands);

 

// Вывод автомарок

Console.WriteLine("Here is the list once reversed:");

for (int i = 0; i < Brands.Length; i++)

Console.Write(Brands[i] + "\t");

 

Console.Write("\n\n");

 

// Остаются только первый и последний

 

Console.WriteLine("Only two remain: ");

Array.Clear(Brands, 2, Brands.Length-2);

 

for (int i = 0; i < Brands.Length; i++)

{

Console.Write(Brands[i] + "\t\n");

}

}

}

}

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

 

3. Использование классаStringBuilder:

using System;

using System.Collections.Generic;

using System.Text;

 

 

namespace HelloWorldDemo

{

class Program

{

static void Main(string[] args)

{

StringBuilder WordList = new StringBuilder("Каждый Охотник ");

 

WordList.Append("Желает Знать Где ");

Console.WriteLine(WordList);

 

WordList.Append("Сидит Фазан");

Console.WriteLine(WordList);

 

// Сделать все буквы прописными

string Spectrum = WordList.ToString().ToUpper();

Console.WriteLine(Spectrum);

}

}

}

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

 

4. Использование класса ArrayList.

Использование класса ArrayList из пространства имен System.Collections позволяет эффективно реализовать работу с массивами объектов, поскольку многие возможности, необходимые для этого реализованы изначально, в частности методы вставки, удаления и нумерации элементов.

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

public class NBooks : IEnumerable

{

// nbList — внутренний класс, который будет делать всю работу

private ArrayList nbList;

 

// Создаем объект класса nbList при помощи конструктора NBooks

public NBooks() {nbList = new ArrayList();}

 

// Реализуем нужные нам методы для приема вызовов извне и передачи их nbList

 

// Метод для вставки объекта NBook

public void AddNBook(NBook nb)

{ nbList.Add(nb); }

 

// Метод для удаления объекта NBook

public void RemoveNBook(int nbToRemove)

{ nbList.RemoveAt(nbToRemove); }

 

// Свойство, возвращающее количество объектов NBook

public int NBookCount

{ get { return nbList.Count; } }

 

// Метод для очистки объекта — удаления всех объектов NBook

public void ClearAllNBooks()

{ nbList.Clear(); }

 

// Метод, который отвечает на вопрос — есть ли уже в наборе такой объект NBook

public bool NBookIsPresent(NBook c)

{ return nbList.Contains(c); }

 

// Все, что связано с реализацией IEnumerator, перенаправляется в nbList

public IEnumerator GetEnumerator()

{ return nbList.GetEnumerator(); }

}

Реализация класса NBook и код программы, использующей класс NBooks представлены ниже.

using System;

using System.Collections.Generic;

using System.Collections;

using System.Text;

 

namespace NBooks

{

public class NBook

{

 

// Конструктор класса NBook

 

public string Model;

public string CPU_model;

public int CPU_clock;

public int RAM_size;

 

public NBook(string mname, string CPU, int Clock, int RAM)

{

Model = mname;

CPU_model = CPU;

CPU_clock = Clock;

RAM_size = RAM;

}

}

 

class Program

{

static void Main(string[] args)

{

NBooks nbLot = new NBooks();

 

// Создание списка объектов NBook

 

nbLot.AddNBook( new NBook("ASUS A7Sn","Intel Core 2 Duo T8300", 2400, 2048));

nbLot.AddNBook( new NBook("Acer Aspire 5530G-803G25Mi","AMD Turion X2 Ultra ZM80", 2100, 3072));

nbLot.AddNBook( new NBook("Fujitsu Amilo Si 2636", "Intel Core 2 Duo T8300", 2400, 2048));

nbLot.AddNBook( new NBook("HP Pavilion tx2650er", "AMD Turion X2 Ultra ZM82", 2200, 4096));

 

// Выводим информацию о каждом объекте при помощи конструкции foreach

 

Console.WriteLine("You have {0} in the lot: \n", nbLot.NBookCount);

foreach (NBook nb in nbLot)

{

Console.WriteLine("Model: {0}", nb.Model);

Console.Write("CPU: {0}", nb.CPU_model);

Console.WriteLine(" {0} GHz", nb.CPU_clock);

Console.WriteLine("RAM: {0} GB\n", nb.RAM_size);

}

 

// Удаляем один из ноутбуков

 

nbLot.RemoveNBook(3);

Console.WriteLine("You have {0} in the lot.\n", nbLot.NBookCount);

 

// Добавляем еще один ноутбук и проверяем его наличие в наборе

 

NBook temp = new NBook("ASUS M51Ta", "AMD Turion™ X2 Ultra ZM84", 2300, 4096);

nbLot.AddNBook(temp);

 

if(nbLot.NBookIsPresent(temp))

Console.WriteLine(temp.Model + " is already in the lot.");

 

// Удалить все

 

nbLot.ClearAllNBooks();

Console.WriteLine("You have {0} in the lot.\n", nbLot.NBookCount);

}

}

}

Результат выполнения программы:

 



<== предыдущая лекция | следующая лекция ==>
Интерфейсы | Задание.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.061 сек.