Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_программирование!!!!!!!.doc
Скачиваний:
1
Добавлен:
09.11.2019
Размер:
1.59 Mб
Скачать

Министерство образования и науки Российской Федерации

Государственное образовательное учреждение высшего профессионального образования

«Южно-российский государственный технический университет (новочеркасский политехнический институт)» Методические указания к лабораторным работам

по дисциплине «Программирование»

для студентов специальностей:

230105 – Программное обеспечение вычислительной техники и автоматизированных систем (ПОВТиАС),

Новочеркасск 2010

Составитель:

Программирование. Лабораторный практикум: методические указания к лабораторным работам по дисциплине «Программирование»/сост.

Новочеркасск: ГОУ ВПО ЮРГТУ (НПИ), 2010.

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

СОДЕРЖАНИЕ

Лабораторная работа 1: Разработка элементарных программ на языке программирования C# 3

Теоретическая часть 4

Пример программы, вычисляющей функцию: (a+b) / 2 29

Задание 30

Лабораторная работа 2: Объекты и классы (наследование, конструкторы, деструкторы) 33

Теоретическая часть 33

Пример программы 35

Задание 38

Лабораторная работа 3: «Массивы» 40

Теоретическая часть 40

Пример программы 43

Задание 44

Лабораторная работа 4: «Перегрузка операций» 45

Теоретическая часть 45

Задание 53

Лабораторная работа 5: «Делегаты и события» (Windows) 54

Теоретическая часть 54

Задание 68

Лабораторная работа 6: «Обобщения» (Windows) 71

Теоретическая часть 71

Задание 74

Лабораторная работа 7: «Строки» (Windows) 76

Теоретическая часть 76

Задание 79

Лабораторная работа 8: «Работа с БД с помощью linq» (Windows) 82

Теоретическая часть 82

Задание 82

Лабораторная работа 1: Разработка элементарных программ на языке программирования C#

Теоретическая часть

Разбор простой программы на с#

В языке С# требуется, чтобы вся логика программы содержалась в рамках определения какого-нибудь типа. В отличие от многих других языков, в С# не позволено создавать ни глобальных функций, ни глобальных элементов данных. Вместо этого требуется, чтобы все члены данных и методы обязательно содержались внутри определения какого-то типа. Для начала давайте создадим новый проект типа Console Application (Консольное приложение) по имени SimpleCSharpAppB. В исходных операторах кода ничего особо примечательного нет:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace SimpleCSharpAppB

{

class Program

{

static void Main(string[] args)

{

}

}

}

Имея такой код, далее модифицируем метод Main(), добавив в него следующие операторы:

static void Main(string[] args)

{

// Отображение простого сообщения пользователю.

Console.WriteLine("***** My First C# App *****");

Console.WriteLine("Hello World");

Console.WriteLine();

// Ожидание нажатия клавиши <Enter> перед завершением работы.

Console.ReadLine();

}

Здесь идет определение типа класса, который поддерживает единственный метод по имени Main(). По умолчанию классу, в котором определяется метод Main(), в Visual Studio 2008 присваивается имя Program (Программа); однако при желании это имя легко изменить на любое другое. Класс, определяющий метод Main(), должен обязательно присутствовать в каждом исполняемом приложении на С# (будь-то консольная программа, настольная программа для Windows или служба Windows), поскольку он применяется для обозначения точки входа в приложение.

Формально класс, определяющий метод Main(), называется объектом приложения (application object). При разрешении одному исполняемому приложению иметь более одного объекта приложения (что может быть удобно для проведения блочного тестирования), требуется обязательно информировать компилятор о том, какой из методов Main() следует использовать в качестве входной точки, указав его в командной строке с помощью опции /main.

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

С# является чувствительным к регистру языком программирования. Следовательно, Main и main или Readline и ReadLine будут означать в нем совершенно разное. Поэтому следует запомнить, что все ключевые слова в С# вводятся в нижнем регистре (как, например, public, lock, global и т.д.), а названия пространств имен, типов и членов всегда начинаются (по соглашению) с заглавной буквы, равно как и любые вложенные в них слова (как, например, Console.WriteLine, System.Windows.Forms.MessageBox, System.Data.SqlClient и т.п.). Как правило, при каждом получении от компилятора ошибки, связанной с "неопределенными символами", следует проверить регистр.

Помимо ключевого слова static, у данного метода Main() еще есть один параметр, который представляет собой массив строк (string[] args). Хотя заниматься сейчас обработкой этого массива мы не будем, не помешает упомянуть, что он может содержать любое количество аргументов командной строки (получение к ним доступа рассматривается чуть ниже). И, наконец, еще этот метод Main() сконфигурирован с возвращаемым значением void, свидетельствующим о том, что мы решили не определять возвращаемого значения явным образом с помощью ключевого слова return перед выходом из области действия данного метода.

Логика Program содержится внутри самого метода Main(). Здесь используется класс Console, который определен в пространстве имен System. В число его членов входит и статический метод WriteLine(), который, как не трудно догадаться, позволяет отправлять строку текста и символ возврата каретки на стандартное устройство вывода. Еще здесь вызывается метод Console.ReadLine() для гарантии того, что приглашение на ввод команд, отображаемое IDE-средой Visual Studio 2008, будет оставаться видимым во время сеанса отладки до тех пор, пока не будет нажата клавиша <Enter>.

Рисунок 1. 1 – Простейшее приложение

Варианты метода Мain()

// Возвращаемый тип int и массив строк в качестве аргумента.

static int Main(string[] args)

{ }

//Ни возвращаемого типа, ни аргументов.

static void Main()

{ }

// Возвращаемый тип int (целое) без аргументов.

static int Main() { }