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

ezM0YUQ7Uv

.pdf
Скачиваний:
3
Добавлен:
13.02.2021
Размер:
414.88 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ

Методические указания к лабораторным работам

Санкт-Петербург Издательство СПбГЭТУ «ЛЭТИ»

2014

2

УДК 681.324:621.391.1

Объектно-ориентированное программирование: электронные методические указания к лабораторным работам / Сост.: А. В. Горячев, Н. Е. Новакова. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2014. 32 с.

Содержат описания лабораторных работ по объектноориентированному программированию на языке C#.

Предназначены для подготовки бакалавров по направлению 230100 «Информатика и вычислительная техника», а также могут быть полезны инженерно-техническим работникам этой области знаний.

Утверждено редакционно-издательским советом университета

в качестве электронных методических указаний

© СПбГЭТУ «ЛЭТИ», 2014

3

Лабораторная работа № 1

ОБЗОР ЯЗЫКА C#. ИСПОЛЬЗОВАНИЕ ТИПОВ-ЗНАЧЕНИЙ Упражнение 1. Создание простой программы на языке C#.

Напишите программу «Приветствие». Программа должна запрашивать имя пользователя, сохранять его в переменной и выводить на экран приветствие «Hello, имя, которое ввел пользователь».

1.Откройте Visual Studio. В меню File выберите New, затем выберите

Project. Из списка шаблонов выберите Console Application.

2.Впишите название проекта, например Greeting.

3.Укажите путь к проекту, например C:\Labs\Lab1

4.Измените имя класса на Greeter.

5.Сохраните проект, выбрав из меню File опцию Save All.

6.Далее перейдите к написанию программы. В методе Main введите string myName;

7.Напишите команду, приглашающую пользователя ввести его (ее) имя.

8.Напишите команду, которая выполняет чтение введенного пользователем значения.

9.Добавьте команду, которая обеспечивает вывод на экран приветствия

«Hello, имя, которое ввел пользователь».

10.В результате должен получиться следующий программный код:

static void Main(string[ ] args)

{

string myName;

Console.WriteLine("Please enter your name"); myName = Console.ReadLine( ); Console.WriteLine("Hello {0}", myName);

}

11.Сохраните проект, выбрав из меню File опцию Save All.

12.В меню Debug выберите Start Without Debugging (или CTRL+F5).

13.В окне консоли должна появиться подсказка «Please enter your name».

14.Впишите имя.

15.После этого появится приветствие и отобразится подсказка

«Press any key to continue»

16.Нажмите клавишу и закончите выполнение программы.

Упражнение 2. Компиляция и запуск программы C# . Необходимо

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

4

1.Выберите в меню пункт Build и затем Build Solution.

2.Постройте программу. Проанализируйте ошибки.

Упражнение 3. Отладка программы с использованием Visual Studio

Debugger. Для выполнения упражнения используется отладчик программ.

1.В Visual Studio откройте проект, который был создан в упражнении 1. Для этого в меню File выберите Open, затем выберите Project и укажите в папке C:\Labs\Lab1\Greeting Greetings.sln.

2.Установите курсор на строку, в которой оператор Console.WriteLine встречается первый раз.

3.В меню Debug запустите Start Debugging или F5.

4.Выполните пошаговую отладку. Выберите опцию Step Over (F10). Пройдите по шагам до конца программы.

5.В меню Debug выберите Continue или F5.

Упражнение 4. Добавление обработки исключений в программу.

Необходимо написать программу, которая требует обработки исключений.

1.Откройте Visual Studio,если она не открыта.

2.В меню File выберите New, затем выберите Project.

3.Из списка шаблонов выберите Console Application.

4.Впишите название проекта, например Divider; укажите путь к проекту С:\Labs\Lab1.

5.Измените имя класса на DivideIt.

6.Сохраните проект, выбрав из меню File опцию Save All.

7.В методе Main введите

int i, j string temp;

8.Напишите команду, приглашающую пользователя ввести первое целое число.

9.Напишите команду, которая выполняет чтение введенного пользователем значения.

10.Напишите выражение, которое конвертирует введенное пользователем строковое значение, соответствующее переменной temp, в целочисленное значение, и сохраните результат в переменной i.

11.Напишите команду, приглашающую пользователя ввести второе целое число.

12.Прочитайте ответ и поместите в переменную temp.

5

13.Конвертируйте значение переменной temp в j.

14.Сохраните проект, выбрав из меню File опцию Save All.

15.Напишите код, создающий новую целочисленную переменную k, которой присваивается результат деления i на j.

16.Добавьте оператор, отображающий значение k.

17.Протестируйте работу программы. Проверьте ее работу, указав корректные данные, например 10 и 5, и неправильные данные (деление на 0). Зафиксируйте результат.

18.Добавьте исключения. Оформите блок Try. Напишите блок Catch.

19.Снова протестируйте работу программы. Проверьте ее работу, указав корректные данные, например 10 и 5, и неправильные данные (деление

на 0). Зафиксируйте результат.

Упражнение 5. Создание перечислимого типа. Напишите программу,

включающую перечислимый тип. Перечислимый тип должен включать различные типы банковских счетов (проверка и сохранение). Необходимо создать две переменные с использованием типа enum и установить значения для типов Checking и Deposit.

1.Откройте Visual Studio.

2.В меню File выберите New, затем выберите Project.

3.Из списка шаблонов выберите Console Application. Впишите название проекта, например BankAccount.

4.Укажите путь к проекту C:\Labs\Lab2.

5.Создайте enum перед определением класса и назовите его AccountType.

6.В методе Main объявите 2 переменные:

AccountType goldAccount; AccountType platinumAccount;

Установите значение первой переменной как Checking, а второй как

Deposit.

7.Добавьте 2 оператора Console.WriteLine для вывода значения каждой переменной.

8.Откомпилируйте и запустите программу.

9.Сохраните проект, выбрав из меню File опцию Save All.

Упражнение 6. Создание типа struct (структура). Необходимо написать программу, в которой определяется структура, применяемая для представления банковского счета.

6

1.Откройте Visual Studio. В меню File выберите New, затем выберите

Project. Из списка шаблонов выберите Console Application.

Впишите название проекта, например StructType. Укажите путь к

проекту C:\Labs\Lab2.

Добавьте структуру public struct, назовите ее BankAccount, включите в нее следующие поля: accNo, accBal, accType с типами long, decimal и AccountType соответственно. Все типы объявите с модификатором public.

2.Объявите переменную goldAccount типа BankAccount в методе Main.

3.Установите значения для полей переменной goldAccount.

4.Добавьте 3 оператора Console.WriteLine для вывода значения каждого элемента структуры.

5.Откомпилируйте и запустите программу.

6.Сохраните проект, выбрав из меню File опцию Save All.

Лабораторная работа № 2 ИСПОЛЬЗОВАНИЕ БАЗОВЫХ ЯЗЫКОВЫХ КОНСТРУКЦИЙ.

ИСПОЛЬЗОВАНИЕ МЕТОДОВ

Упражнение 1. Вывод содержимого папки.

1.Откройте Visual Studio. Создайте новый проект типа «Console Application». В качестве названия можете указать «OopLabs.Methods»

2.В метод Main() добавьте вывод подсказки «Введите путь к папке:» и считывание строки с консоли.

3.Ниже добавьте код для вывода заголовка «Файлы:» и списка файлов в указанной пользователем папке. Используйте для этого метод

System.IO.Directory.GetFiles(), возвращающий массив строк – полных путей к файлам. Для организации вывода результата на консоль используйте цикл for или foreach.

4.Аналогично, используя метод System.IO.Directory.GetDirectories() добавьте код для вывода заголовка «Папки:» и списка папок в указанной пользователем папке.

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

Упражнение 2. Работа с пространствами имен.

7

1.Для упрощения исходного кода добавьте в его начало директиву using System.IO. Замените обращения к методам класса Directory, убрав ненужную больше спецификацию пространства имен System.IO.

2.Откомпилируйте и запустите программу. Убедитесь, что изменения не нарушили ее работоспособность.

3.Сохраните исходный код и результат для отчета.

Упражнение 3. Выделение метода.

1.В классе Program создайте новый метод, принимающий на вход путь к папке и выводящий на консоль список файлов и папок в ней.

2.Удалите из метода Main ненужный больше код, заменив его вызовом созданной функции.

3.Откомпилируйте и запустите программу. Убедитесь, что изменения не нарушили ее работоспособность.

4.Сохраните исходный код и результат для отчета.

Упражнение 4. Обработка исключений.

1.Запустите программу. В ответ на запрос введите несуществующий путь. Изучите сообщение о необработанном исключении. Закройте сообщение и программу.

2.Добавьте защиту от необработанных исключений первого типа, заключив вызов функции вывода списка файлов и папок в тело блока try.

3.В блоке catch реализуйте вывод сообщения об ошибке и выход из программы.

4.Откомпилируйте программу и запустите. Убедитесь, что обработчик исключения корректно обрабатывает ошибки. Введите путь к папке: c:\nonexisting. Убедитесь, что появилась ошибка «Неверно задан путь».

5.Сохраните исходный код и результат для отчета.

Упражнение 5. Работа с датами.

1.Измените вывод списка файлов так, чтобы перед каждой записью выводилась дата его создания в формате «30.11.2014.» Используйте для этого класс FileInfo и его свойство CreationTime (хранящее, несмотря на название, и дату создания файла):

Console.WriteLine(new FileInfo(file).CreationTime.

2.Перед каждой записью о папке добавьте вывод времени создания списка файлов в формате «10-57.» Используйте для этого класс DirectoryInfo и

его свойство CreationTime.

8

3.Откомпилируйте и запустите программу. Проверьте правильность вывода:

Введите путь к папке: c:\ Файлы:

14.07.2013 c:\autoexec.bat 14.07.2013 c:\config.sys 10.06.2014 c:\pagefile.sys

Папки:

07-36 c:\$Recycle.Bin

09-53 c:\Documents and Settings

02-10 c:\MSOCache

4.Сохраните исходный код и результат для отчета.

Лабораторная работа № 3 СОЗДАНИЕ И ИСПОЛЬЗОВАНИЕ МАССИВОВ

Упражнение 1. Работа с массивом. Необходимо написать программу, которая считывает данные из текстового файла. Имя этого файла определяется как аргумент метода Main. Содержимое считанного файла надо поместить в массив символов и подсчитать количество гласных и согласных букв. На консоль необходимо вывести общее количество символов в файле, количество гласных и согласных букв и количество строк в файле.

1.Откройте Visual Studio. В меню File выберите New, затем выберите Project. Из списка шаблонов выберите Console Application. Впишите название проекта, например FileDetails.

2.Укажите путь к проекту C:\Labs\Lab5.

3.Исходное описание класса FileDetails находится в файле FileDetails.cs.

4.Добавьте в метод Main класса FileDetails массив строк args как параметр.

5.Добавьте выражение Console.WriteLine, которое выводит длину args на консоль. Это значение должно быть 0.

6.Добавьте цикл foreach в метод Main. Это выражение должно записывать каждую строку в args с консоли.

7.Откомпилируйте программу, откорректируйте ошибки и сохраните результат. Убедитесь, что выводится значение 0.

9

8.Создайте текстовый файл text.txt, в котором представлены как гласные, так и согласные буквы. Запустите программу. Убедитесь, что во время запуска программы имя файла передается в Main.

9.Добавьте в Main выражение, которое объявляет переменную filename строкового типа. Инициализируйте переменную как args[0].

10.Удалите комментарии из исходного кода, представленного в файле FileDetails.cs., относящийся к объявлению FileStream и StreamReader.

11.Определите длину текстового файла.

12.Добавьте в Main переменную contents как массив символов. Инициализируйте contents как экземпляр массива, чья длина равна длине файла.

13.Добавьте выражение for в Main. Тело цикла должно читать символы из reader по одному и добавлять их в contents. Использовать метод Read без параметров, который должен возвращать целочисленное значение. Преобразуйте его в тип char.

14.Добавьте в метод Main выражение foreach, которое записывает целиком символьный массив на консоль. Это выражение проверяет успешность считывания текстового файла в массив contents.

15.Откомпилируйте программу, откорректируйте ошибки и сохраните результат. Запустите программу.

16.Закомментируйте выражение foreach. Закройте объект Reader, вызвав метод StreamReader.

17.Объявите новый статический метод Summarize в классе FileDetails. Метод не возвращает значений. В качестве параметра используется массив символов. Добавьте в Main выражение, которое вызывает метод Summarize. В качестве аргумента передается contents.

18.Добавьте выражение foreach в метод Summarize. Этот метод проверяет каждый символ из contents. Затем надо проверить, является ли данный символ гласной, согласной или переходом на новую строку, и подсчитать количество символов каждой группы. Сохраните результат подсчетов в отдельной переменной. Для определения, является ли символ гласной, используйте метод IndexOf.

if ("AEIOUaeiou".IndexOf(myCharacter) != -1)

{

//myCharacter is a vowel

10

}

else

{

// myCharacter is not a vowel

}

Можно использовать гласные русского алфавита.

19.Напишите операторы вывода на консоль следующих параметров: общее количество символов, количество гласных букв, количество согласных букв и число строк в файле.

20.Откомпилируйте программу, откорректируйте ошибки и сохраните результат для отчета.

21.Дополнительно сделайте модификацию этой программы. Напишите обработку исключений.

Упражнение 2. Использование методов со ссылочными параметрами. Необходимо написать программу, в которой используются массивы для перемножения матриц. Программа должна считать с консоли 4 числа и сохранить их в массиве 2 × 2. Затем программа должна считать с консоли еще 4 числа и сохранить их в массиве 2 × 2. Матрицы нужно перемножить. Результат умножения вывести на консоль.

1.Откройте Visual Studio. В меню File выберите New, затем выберите Project. Из списка шаблонов выберите Console Application. Впишите название проекта, например Matrix.

2.Создайте класс MatrixMultiply.

3.Добавьте в метод Main объявление двух массивов 2 × 2. Назовите их a и b соответственно.

4.Добавьте в метод Main определение массива result 2 × 2.

5.Напишите операторы ввода исходных данных и вывода результата на консоль.

6.Откомпилируйте программу, откорректируйте ошибки и сохраните результат.

7.Код сохраните для отчета. Отчет должен содержать контрольный пример.

Лабораторная работа № 4 СОЗДАНИЕ И ИСПОЛЬЗОВАНИЕ КЛАССОВ

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