Файл: Разработать справочную систему по стандартным функциям выбранного языка программирования.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 завершает текущий виток цикла и начинает выполнение тела цикла со следующей итерацией.
Цикл с предусловием
Для выполнения некоторого блока кода до достижения определённого значения существует цикл с предусловием. Такой цикл будет выполняется до тех пор, пока:
- Не будет достигнуто условие выхода из цикла;
- Не будет встречена директива break.
Сам цикл выглядит следующим образом:
int x = 0;
while (x<1000)
{
x = x + 9;
}
Данный цикл позволит найти самое большое трёхзначное число, кратное 9.
Есть варианты вечного цикла и для while:
while (true)
{
}
Цикл с постусловием
Для выполнения некоторого блока кода до достижения определённого значения существует цикл с предусловием. Такой цикл будет выполняется до тех пор, пока:
- Не будет достигнуто условие выхода из цикла;
- Не будет встречена директива break.
Данный цикл отличается от цикла с предусловием тем, что здесь сначала выполняется вычисления, а уже затем проверяется некоторое условие.
Сам цикл выглядит следующим образом:
do
{
} while (true);
Массивы данных
Для хранения наборов однотипных данных в C# предусмотрены массивы. В зависимости от задач они разделяются на статические и динамические. Первые всегда фиксированной длины, указанной при объявлении, и не могут содержать больше или меньше значений. Такие массивы в разы производительнее, но не всегда удобны. Динамические массивы в момент инициализации не содержат значений. Количество элементов может быть любым в любой момент времени. Удобны в работе, но более ресурсоёмкие.
Статические массивы
Данный вид массивов крайне прост в работе. Для объявления массива целых чисел на 10 элементов необходимо выполнить следующий фрагмент кода:
int[] a = new int[10];
Для обращения к различным элементам массива необходимо указывать их индексы. Например:
a[0] = 1; // Первый элемент массива = 1
Нумерация во всех массивах начинается с нуля. То есть в массиве из 10 элементов последний индекс 9. При обращении к индексу 10 произойдёт ошибка IndexOutOfRangeException.
При создании статического массива в памяти резервируется место под все элементы, и все элементы заполняются значениями по умолчанию.
Динамические массивы
Для работы с изменяемым набором данных рекомендуется использовать динамические массивы. Они более сложны в обращении, однако позволяют реализовывать в разы более широкий функционал. Для работы с динамическими массивами существует более 40 различных классов. В рамках данного курса будет рассматриваться наиболее простой в обращении – массив-список (List)
Для объявления динамического массива целых чисел необходимо выполнить следующий фрагмент кода: