Файл: Разработать справочную систему по стандартным функциям выбранного языка программирования.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 06.04.2023

Просмотров: 255

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

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

Одним из наиболее популярных языков программирования клиентских приложений является Microsoft Visual C# (далее C#). В данной работе были рассмотрены базовые конструкции языка, типы данных и основы работы с графическим интерфейсом.

Цель работы: получить базовые сведения о языке программирования C#, научиться разрабатывать приложения с графическим интерфейсом и систематизировать полученные знания путём создания электронного учебника

Задание: Разработать справочную систему по стандартным функциям выбранного языка программирования. (Язык C#)

Глава 1. Теоретическая часть

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

C# - это объектно-ориентированный язык со строгой типизацией, позволяющий разработчикам создавать различные приложения, работающие на платформе .Net Framework.

Язык был разработан компанией Microsoft в 2000 году. Целью создания было построение удобной и простой среды для разработки клиентских приложений нацеленных на межсетевое взаимодействие.

Данный язык программирования можно использовать для создания клиентских приложений Windows, XML-веб-служб, мобильных приложений, распределенных компонентов, приложений клиент-сервер, приложений баз данных и т. д.

Несмотря на то, что синтаксис языка невероятно богат, он повторяет многие особенности таких языков программирования, как C, C++ и Java. Разработчики, знающие любой из этих языков, обычно очень быстро начинают эффективно работать в C#.

Установка Visual Studio

Для работы с языком программирования C#, компанией Microsoft была разработана среда Visual Studio 2017. Среда является бесплатной для разработчиков и загружается с официального сайта компании:

https://www.visualstudio.com/ru/downloads/

На сайте следует выбрать бесплатную версию продукта:


Рисунок 1. Загрузка Visual Studio

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

Здесь необходимо выбрать разработку классических приложений:

Рисунок 2. Выбор необходимого программного продукта

После того, как был выбран продукт, необходимо нажать кнопку Установить. После загрузки и распаковки всех пакетов (обычно это занимает от 30 минут до 1 часа) среда Visual Studio будет полностью готова к работе.

В том случае, если запустить Visual Studio будет отображён начальный экран среды разработки:

Рисунок 3. Начальное окно программы Visual Studio

Объявление переменных

В C# объявление переменных аналогично C++. Например, для объявления целочисленной переменной a, необходимо написать следующий код:

int a;

Для удобства, объявление переменной может быть совмещено с её описанием. Например:

int b = 10;

В C# существует более 20 примитивных типов данных. Наиболее часто применяемые указаны в таблице 1.

Таблица 1. Типы данных

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

Описание

C#

C++

Pascal

int

int

Longint

Целочисленный тип, от -231 до 231-1

long

long int

Целочисленный тип, от -263 до 263-1

string

string

Строкой тип символов Unicode

float

float

single

Тип с плавающей точкой одинарной точности

double

double

double

Тип с плавающей точкой двойной точности

bool

bool

boolean

Логический тип данных

object

object

Универсальный тип, принимающий любое значение и являющийся родительским для все типов в C# и C++

Преобразование типов в C#

В том случае, если преобразование переменной идёт с расширением точности (например, int в long), то преобразование типов в коде не требуется. Например:


int a = 100;

long b;

b = a;

Однако, если точность понижается, то необходимо использовать приведение типов. Например:

double a = 5.4;

int b;

b = (int)a;

В данном случае будет выполнено преобразование с потерей точности, а именно будет потеряно 0,4.

Если требуется выполнить более сложные операции приведения типов, требующие от ОС выполнение дополнительных операций, например, преобразовать строку в число, строку в дату и т.д., необходимо использовать функцию класса Convert. Например:

string s = "123,32";

double b;

b = Convert.ToDouble(s);

Примечание: При описании переменных с плавающей точкой в коде, используется десятичный разделитель «.» (точка). Однако при работе программы, в качестве разделителя выступает региональный знак, а именно «,» (запятая). Операция Convert.ToDouble(s) будет выполнена во время работы программы, а следовательно будет полагаться на разделитель-запятую.

Null – значение

В C# существуют значения по умолчанию для всех типов переменных. Для числовых это 0, для логических это false. Для всех остальных – это null. Null – значение говорит о том, что переменная объявлена, но не имеет значения, а если не имеет значения, то не имеет и физического размещения в памяти. Обращение к ней – это обращение к пустоте.

Примечание: будьте осторожны при работе с null-значениями. При умелом использовании они помогут проследить ошибки инициализации в коде, а в неумелом – наделать ошибок в процессе работы программы в совершенно неожиданных местах программы. Например, сложение значения с пустотой приведёт к ошибке:

string s; // s = null

s = s + ""; // Ошибка!

Универсальный тип данных

В некоторых случаях, когда описание переменной совпадает с её объявлением разрешается опускать тип данных.

Например, выражение:

string str = "123";

Эквивалентно, выражению:

var str = "123";

Такое объявление бывает удобно использовать для сокращения записи, потому как некоторые имена классов могут иметь слишком большие названия.

Комментарии

В C# допускается применение 3 видов комментариев. Это однострочные, многострочные и xml-комментарии.

Однострочный комментарий начинается со знака // и действует до конца строки

// Однострочный комментарий

Многострочный комментарий начинается со знаков /* и действует до знаков */

/*

Комментарий

на много

строк

*/

Xml-комментарий служит для активного описания переменных, например:


/// <summary>

/// Информация о номере группы

/// </summary>

string s = "ОЗБП-101";

Тогда, при обращении к переменной мы получим её описание из комментария (рисунок 4):

Рисунок 4. Информация о переменной

Условный оператор

Для выполнения определённых задач в зависимости от критерия в языке C# применяется условный оператор:

if (b == 10)

{

b = b + 1;

}

else {

b = 1;

}

После ключевого слова if, в круглых скобках указывается проверяемое условие. Если оно истинно, то происходит выполнение кода в первых фигурных скобах, если ложно, то выполнится условие в фигурных скобах после ключевого слова else.

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

Цикл с параметром

Для выполнения определённого фрагмента когда несколько раз рекомендуется использовать циклы. Наиболее удобный из всех это цикл с параметром. Чтобы вставить заготовку цикла, достаточно написать for и дважды нажать TAB.

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

{

a = a * i;

}

Данный цикл выполнит подсчёт факториала числа 10 и запишет его в переменную а.

Данный цикл представлен тремя полями, разделёнными знаком «;».

Первое поле – инициализатор. В нём объявляются и инициализируются переменные перед началом цикла. Поле может отсутствовать.

Второе поле – условие. Цикл будет выполняться до тех пор, пока это условие выполняется. Поле может отсутствовать.

Третье поле – итератор. Операция, или операции, которые будут выполнятся на каждом новом витке цикла. Поле может отсутствовать.

Допускается и следующая запись цикла с параметром:

for (;;)

{

// «Вечный» цикл

}

Для прерывания работы цикла существует два ключевых слова: break и continue.

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

continue завершает текущий виток цикла и начинает выполнение тела цикла со следующей итерацией.

Цикл с предусловием

Для выполнения некоторого блока кода до достижения определённого значения существует цикл с предусловием. Такой цикл будет выполняется до тех пор, пока:


  1. Не будет достигнуто условие выхода из цикла;
  2. Не будет встречена директива break.

Сам цикл выглядит следующим образом:

int x = 0;

while (x<1000)

{

x = x + 9;

}

Данный цикл позволит найти самое большое трёхзначное число, кратное 9.

Есть варианты вечного цикла и для while:

while (true)

{

}

Цикл с постусловием

Для выполнения некоторого блока кода до достижения определённого значения существует цикл с предусловием. Такой цикл будет выполняется до тех пор, пока:

  1. Не будет достигнуто условие выхода из цикла;
  2. Не будет встречена директива break.

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

Сам цикл выглядит следующим образом:

do

{

} while (true);

Массивы данных

Для хранения наборов однотипных данных в C# предусмотрены массивы. В зависимости от задач они разделяются на статические и динамические. Первые всегда фиксированной длины, указанной при объявлении, и не могут содержать больше или меньше значений. Такие массивы в разы производительнее, но не всегда удобны. Динамические массивы в момент инициализации не содержат значений. Количество элементов может быть любым в любой момент времени. Удобны в работе, но более ресурсоёмкие.

Статические массивы

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

int[] a = new int[10];

Для обращения к различным элементам массива необходимо указывать их индексы. Например:

a[0] = 1; // Первый элемент массива = 1

Нумерация во всех массивах начинается с нуля. То есть в массиве из 10 элементов последний индекс 9. При обращении к индексу 10 произойдёт ошибка IndexOutOfRangeException.

При создании статического массива в памяти резервируется место под все элементы, и все элементы заполняются значениями по умолчанию.

Динамические массивы

Для работы с изменяемым набором данных рекомендуется использовать динамические массивы. Они более сложны в обращении, однако позволяют реализовывать в разы более широкий функционал. Для работы с динамическими массивами существует более 40 различных классов. В рамках данного курса будет рассматриваться наиболее простой в обращении – массив-список (List)

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