Прикладное программирование с использованием языка С-Шарп
Покупка
Тематика:
Программирование на C и C++
Издательство:
Издательство Уральского университета
Автор:
Бельков Сергей Александрович
Год издания: 2017
Кол-во страниц: 120
Дополнительно
Вид издания:
Учебно-методическая литература
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-7996-2035-6
Артикул: 799088.01.99
Данное пособие предназначено для студентов-бакалавров, уже прошедших ранее курс изучения языка программирования С++ и приступающих теперь к изучению языка нового программирования С-Шарп (C#). Основное внимание уделено особенностям практического освоения нового языка программирования. Данное пособие будет полезно для студентов средних курсов, обучающихся разработке прикладных программных комплексов.
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Министерство образования и науки Российской Федерации Уральский федеральный университет имени первого Президента России Б. Н. Ельцина С. А. Бельков ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ЯЗЫКА C‑ШАРП Рекомендовано методическим советом Уральского федерального университета в качестве учебно-методического пособия для студентов вуза, обучающихся по направлению 09.03.04 — Программная инженерия Екатеринбург Издательство Уральского университета 2017
УДК 004.432С-Шарп(075.8) ББК 32.973.22я73 Б44 Рецензенты: кафедра прикладной информатики Уральского государственного архитектурно-художественного университета (завкафедрой доц., канд. техн. наук Г. Б. Захарова); президент Свердловской региональной общественной организации «Центр самореализации человека будущего» канд. хим. наук А. Г. Аксентьев Научный редактор — доц., канд. техн. наук В. Г. Томашевич Бельков, С. А. Б44 Прикладное программирование с использованием языка С-Шарп : учебно-методическое пособие / С. А. Бельков. — Екатеринбург: Изд-во Урал. ун-та, 2017. — 120 с. ISBN 978-5-7996-2035-6 Данное пособие предназначено для студентов-бакалавров, уже прошедших ранее курс изучения языка программирования С++ и приступающих теперь к изучению языка нового программирования С-Шарп (C#). Основное внимание уделено особенностям практического освоения нового языка программирования. Данное пособие будет полезно для студентов средних курсов, обучающихся разработке прикладных программных комплексов. Библиогр.: 6 назв. Рис. 10. УДК 004.432С-Шарп(075.8) ББК 32.973.22я73 ISBN 978-5-7996-2035-6 © Уральский федеральный университет, 2017
ВВЕДЕНИЕ Д ля того чтобы войти в среду программирования, надо найти в системе Windows кнопку Пуск — обычно она в левом нижнем углу экрана. Нажав ее при помощи мышки, получаем меню, в котором выбираем строку Программы и далее — Visual Studio. Два раза щелкаем мышкой на строке Visual Studio, и запускается программа Visual Studio, в окошке которой надо выбрать язык C#, а в подменю языка — вид проекта Console Application или Windows Application. После ее запуска появляется окно, в котором надо выбрать New-Project. Появляется окно, в нижних строчках которого необходимо указать имя своего проекта и папки, в которой он будет храниться, и нажать кнопку ОК. Появляется шаблон текста программы. В нем необходимо найти блок, в заголовке которого присутствует слово Main, обозначающее заголовок главной программы. Операторы собственной программы записываются внутри этого блока.
1. БАЗОВЫЕ КОНСтРуКцИИ ЯЗЫКА C# 1.1. Вид программы на языке C# Т ипичная программа на языке С# описывается некоторым объектным классом, в котором соответственно есть описания его свойств (переменных и констант) и методов. В этом классе имеется главный метод с именем main, в котором будут записаны основные операторы программы. Например, для консольного приложения имеем: static void main ()//заголовок начала программы { <объявления переменных> <блок операторов>//каждый оператор заканчивается знаком; }//окончание программы Каждое объявление и каждый оператор программы языка Си заканчиваются знаком «;». После двух наклонных черт (//) указываются комментарии к программе. Комментарий к программе указывается также внутри конструкции/* … */. Рассмотрим традиционный пример приветствия: Console.WriteLine (“Привет”); Console.ReadLine ();//остановка экрана до нажатия клавиши Здесь функция Console.WriteLine служит для вывода какойлибо строки, а функция Console.ReadLine ждет ввода какихлибо символьных данных с клавиатуры. Обе функции используются в консольном режиме.
1.2. Простые типы данных 1.2. Простые типы данных Для объявления числовых переменных используются следующие простые типы данных [1]: short — короткое целое (занимает 1 байт, т. е. 8 бит, и имеет диапазон значений от 127 до 127); int — целое (занимает 2 байта); long — длинное целое (4 байта); float — число с плавающей точкой (4 байта); double — число с плавающей точкой двойной точности (8 байт). Переменные символьного типа принимают значение, соответствующее одной литере (букве, цифре или другому символу). В программе эти переменные объявляются так: сhar имя_переменной; пусть в программе используется такое описание: char p, q, t; Присвоение значений таким переменным можно сделать следующим образом: p=’A’; q=’*’; t=’8’. Для указания на символ его помещают в апострофы, например 8 — это целая константа, а ’8’ — это символ числа 8 с кодом представления 64 (код символа ’0’, который равен 48, плюс 8). Для объявления символьных переменных используется следующий простой тип: char — символ (1 байт). Указание перед целочисленным типом данных ключевого слова unsigned (положительное число без знака) увеличивает положительный диапазон чисел по сравнению с соответствующим типом данных со знаком, так как для представления числа используется теперь еще один бит, который для чисел со знаком хранит информацию об их знаке. Например, тип unsigned
1. Базовые конструкции языка C# short имеет диапазон от 0 от 255 (вместо [–127, +127] для short), т. е. расширяет положительный диапазон short. При объявлении функций (подпрограмм) используется также тип void (пустой), обозначающий отсутствие возвращаемых функцией значений. 1.3. Оператор присваивания Структура оператора присваивания такова: имя_переменной = выражение; Здесь знак «=» означает операцию присваивания. Имя переменной и конкретное выражение определяет пользователь в соответствии с синтаксисом языка. В результате выполнения операции присваивания переменной в левой части присваивается значение выражения в правой части оператора присваивания. Например, float a; a = sqrt (5*3); Отметим также, что операцию присваивания следует отличать от логической операции сравнения на равенство, которая обозначается «==». 1.4. Понятие арифметического выражения Выражение содержит один или несколько операндов, которые связаны между собой знаками операций и сгруппированы в круглые скобки. Операндом может быть имя переменной, ссылка на функцию (например, Math.Sin (Math.PI) в тригонометрическом выражении), собственная константа (например, с именем pi).
1.5. Ввод данных с клавиатуры и вывод на экран При отсутствии скобок выражения вычисляются слева направо. Сначала выполняются операции с более высоким приоритетом, затем — с более низким. Арифметические операции одного уровня старшинства группируются в порядке убывания приоритета групп следующим образом: 1) * — умножение; / — деление; % — целый остаток от деления; 2) + — сложение; - — вычитание. В С# используются следующие арифметические функции (содержатся в библиотеке Math): Math.Abs (выражение) — модуль выражения; Math.Pow (выражение, степень) — возведение в степень; Math.Sqrt (выражение) — квадратный корень; Math.Exp (выражение) — экспонента; Math.Sin (выражение) — синус угла в радианах; Math.Cos (выражение) — косинус угла в радианах; Math.Tan (выражение) — тангенс угла в радианах; Math.Atan (выражение) — арктангенс угла в радианах. Функция Math.Abs работает с целыми числами, для вещественных чисел используется функция Math.Fabs. 1.5. Ввод данных с клавиатуры и вывод на экран Ввод данных (в консольном режиме) осуществляется посредством оператора Console.ReadLine, результатом которого может быть строка. Вывод данных (в консольном режиме) осуществляется оператором Console.WriteLine, на входе которого может быть строка.
1. Базовые конструкции языка C# Пример ввода с клавиатуры целого числа: int i; string s; Console.WriteLine (“Введите целое число: ”); s=Console.ReadLine ();//ввод строки символов с клавиатуры i=Convert.ToInt16 (s);//преобразование строки в целое число Console.WriteLine (“i=”, i);//распечатка переменной Console.ReadLine (); Пример ввода с клавиатуры вещественного числа (цифры с точкой): double f; string s; Console.WriteLine (“Введите вещественное число: ”); s=Console.ReadLine (); f=Convert.ToDouble (s); Console.WriteLine (“f=”, f); Console.ReadLine (); Здесь функция ReadLine рассматривает вводимые символы как строку, поэтому их необходимо конвертировать в соответствующий тип. Для этого используется функция Convert. 1.6. Форматный вывод Рассмотрим пример форматного вывода: Console.Write (”{0}”, item); Console.Write (”{0} {1}”, item1, item2); Форматные конструкции в фигурных скобках {0} или {1} обозначают номер параметра в списке печатаемых переменных, разделяемых запятыми. Для форматного вывода вещественного числа можно написать следующее: Console.Write (”{0: ##.###}”, f); где 0 — номер переменной из списка печатаемых аргументов,
1.7. Особенности использования данных целого и вещественного типа а «##.###» задает формат распечатки вещественного числа (две позиции для целых долей числа и три позиции для дробных чисел после запятой). 1.7. Особенности использования данных целого и вещественного типа Все переменные целого и вещественного типов должны быть объявлены в разделе объявления переменных следующим образом: int список_имен_целочисленных_переменных; float список_имен_вещественных переменных; Например: int k; float a, b; Число типа int занимает в памяти компьютера два байта, число типа float — четыре байта. Если для представления числа требуется больше памяти, то используются типы long (длинное целое) и double (вещественное число с двойной точностью), для которого количество байт для представления числа в два раза больше. Например, если для представления целого числа хватает двух байтов (число в диапазоне [-32768, +32767]), можно использовать тип int (целое). Когда для работы программы достаточно положительного целого числа, перед используемым целочисленным типом данных указывается ключ unsigned, например unsigned int (целое без знака, т. е. число в диапазоне от 0 до 65535) и аналогично — unsigned short int или unsigned long. Диапазоны типов данных имеются в справочниках по языку или в подсказках (пункт help) используемой для него среды программирования — на начальных этапах знакомства с языком они не существенны.
1. Базовые конструкции языка C# 1.8. Правила согласования типов В программе на С# в выражениях желательно использовать константы и переменные одного типа. Если происходит смешивание типов, то компилятор не считает программу неправильной, а использует набор правил для автоматического преобразования типов: 1. Если операция выполняется над данными двух разных типов, обе величины приводятся к «высшему» из двух типов. Этот процесс называется «повышением» типа. 2. Последовательность имен типов, упорядоченных от «высшего» к «низшему» выглядит так: double float long int short char Применение ключевого слова unsigned повышает ранг соответствующего типа данных со знаком. 3. В операторе присваивания конечный результат вычисления выражения в правой части приводится к типу переменной, которой должно быть присвоено это значение. Данный процесс может привести и к «повышению», и к «понижению» типа. 4. Для сохранения точности вычислений при арифметических операциях все величины типа float преобразуются в данные типа double, а типы char и short преобразуются к типу int, что существенно уменьшает ошибку округления. Если результат выражения (переменная в левой части оператора присваивания) должен быть вещественным, а в правой части оператора присваивания использованы целочисленные переменные, то иногда (например, при использовании операции деления) в результате может пропасть дробная часть числа. Поэтому для таких случаев в правой части выражения рекомендуется выполнять операцию преобразования (приведения) типа float a; int k; int n; a = (float)k/(float)n;