Алфавит языка С#

Автор работы: Пользователь скрыл имя, 23 Марта 2014 в 15:20, курсовая работа

Краткое описание

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

Содержание

ВВЕДЕНИЕ..............................................................................………………….3
1. ТЕОРЕТИЧЕСКОЕ ВВЕДЕНИЕ
1.1. Алфавит языка С#...............................................……………..........……….5
1.2. Операторы языка С#...........................……………….................................. 6
1.3. Понятие классов и объектов...........………………………........................ 7
1.4. Структура программного модуля на С# ……............................................10
2. ПРАКТИЧЕСКАЯ ЧАСТЬ
2.1. Выполнение задания № 1 курсовой работы..............................................12
2.2. Выполнение задания № 2 курсовой работы....................................……..14
2.3. Выполнение задания № 3 курсовой работы …………………...………..15
ЗАКЛЮЧЕНИЕ..........................................................................……………….17
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ.............................………..18
ПРИЛОЖЕНИЯ...........................................................................………………19

Прикрепленные файлы: 1 файл

Курсовая по программированию.doc

— 148.00 Кб (Скачать документ)

 


 


МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Филиал федерального государственного бюджетного образовательного

учреждения высшего профессионального образования «Московский 

государственный  университет технологий и управления

имени К. Г. Разумовского» в г. Вязьме Смоленской области

 

 

 

 

 

 

 

 

 

Курсовая работа

 

 

 

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

Направление:      230100   «Информатика и вычислительная техника»

Курс:                         2 (СФО)

Форма обучения:     заочная

Вариант: №6

 

Преподаватель: Коростелёв Михаил  Киррилович 

Студент: Димаков Юрий Васильевич

 

 

 

 

 

 

 

Вязьма – 2013

 

Содержание

ВВЕДЕНИЕ..............................................................................………………….3

1. ТЕОРЕТИЧЕСКОЕ ВВЕДЕНИЕ

1.1. Алфавит языка С#...............................................……………..........……….5

1.2. Операторы языка С#...........................……………….................................. 6

1.3. Понятие классов и объектов...........………………………........................ 7

1.4. Структура программного модуля на С# ……............................................10

2. ПРАКТИЧЕСКАЯ ЧАСТЬ

2.1. Выполнение задания № 1 курсовой  работы..............................................12

2.2. Выполнение задания № 2 курсовой работы....................................……..14

2.3. Выполнение задания № 3 курсовой работы …………………...………..15

ЗАКЛЮЧЕНИЕ..........................................................................……………….17

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ.............................………..18

ПРИЛОЖЕНИЯ...........................................................................………………19

 

 

Введение

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

Все тексты на языке пишутся с помощью его алфавита. В C# используется кодировка символов Unicode. Кодировкой, или кодовой таблицей (character set), называется соответствие между символами и кодирующими их числами. Кодировка Unicode позволяет представить символы всех существующих алфавитов одновременно. Каждому символу соответствует свой уникальный код.

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

Имена, или идентификаторы, служат для того чтобы обращаться к программным объектам и различать их, то есть идентифицировать. В идентификаторе могут использоваться буквы, цифры и символ подчеркивания. Прописные и строчные буквы различаются, например, sysop, SySoP и SYSOP — три разных имени.

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

В идентификаторах C# разрешается использовать, помимо латинских букв, буквы национальных алфавитов. Например, Пёсик или çç являются правильными идентификаторами. Более того, в идентификаторах можно применять даже так называемые escape-последовательности Unicode, то есть представлять символ с помощью его кода в шестнадцатеричном виде с префиксом \u, например, \u00F2.

C# разрабатывался как язык программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего, от возможностей самой CLR. Это касается, прежде всего, системы типов C#, которая отражает BCL. Присутствие или отсутствие тех или иных выразительных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR. Так, с развитием CLR от версии 1.1 к 2.0 значительно обогатился и сам C#; подобного взаимодействия следует ожидать и в дальнейшем. (Однако эта закономерность была нарушена с выходом C# 3.0, представляющего собой расширения языка, не опирающиеся на расширения платформы .NET.) CLR предоставляет C#, как и всем другим .NET-ориентированным языкам, многие возможности, которых лишены «классические» языки программирования. Например, сборка мусора не реализована в самом C#, а производится CLR для программ, написанных на C# точно так же, как это делается для программ на VB.NET, J# и др.

 

  1. ТЕОРЕТИЧЕСКОЕ ВВЕДЕНИЕ

1.1. Алфавит языка С#

Алфавит – совокупность допустимых в языке символов. Алфавит языка С# включает:

прописные и строчные латинские буквы и буквы национальных алфавитов (включая кириллицу);

арабские цифры от 0 до 9, шестнадцатеричные цифры от A до F ;

специальные знаки: " { } , | ; [ ] ( ) + - / % * . \ ' : ? < = > ! & ~ ^ @ _

пробельные символы: пробел, символ табуляции, символ перехода на новую строку.

Из символов алфавита формируются лексемы языка: идентификаторы, ключевые (зарезервированные) слова, знаки операций, константы, разделители (скобки, точка, запятая, пробельные символы).

Границы лексем определяются другими лексемами, такими, как разделители или знаки операций. В свою очередь лексемы входят в состав выражений (выражение задает правило вычисления некоторого значения) и операторов (оператор задает законченное описание некоторого действия).

Идентификатор – это имя программного элемента: константы, переменной, метки, типа, класса, объекта, метода и т.д. Идентификатор может включать латинские буквы и буквы национальных алфавитов, цифры и символ подчеркивания. Прописные и строчные буквы различаются, например, myname, myName и MyName — три различных имени. Первым символом идентификатора может быть буква или знак подчеркивания, но не цифра.

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

Для улучшения читабельности кода программным элементам следует давать осмысленные имена, составленные в соответствии с определенными правилами. Существует несколько видов нотаций – соглашений о правилах создания имен.

В нотации Pascal каждое слово, входящее в идентификатор, начинается с заглавной буквы. Например: Age, LastName, TimeOfDeath.

Венгерская нотация отличается от предыдущей наличием префикса, соответствующего типу величины. Например: fAge, sName, iTime.

В нотации Camel с заглавной буквы начинается каждое слово идентификатора, кроме первого. Например: age, lastName, timeOfDeath.

Наиболее часто используются нотации Pascal или Camel. Мы будем придерживаться нотации Pascal. Однако в простых программах будут использоваться однобуквенные переменные.

Ключевые слова – это зарезервированные идентификаторы, которые имеют специальное значение для компилятора, например, include, main, int и т.д. Ключевые слова можно использовать только по прямому назначению. С ключевыми словами и их назначением можно ознакомиться в справочной системе С#.

Операторы языка С#

Операторы сравнения и присвоение, арифметические действия:

«=» Присвоение значения, «==» Проверка на равенство, «*, /, %»Умножение, деление, остаток от деления, «+, -»сложение, вычитание, «&» Побитовое AND, «^» Побитовое XOR, «|» Побитовое OR.

Операторы увеличения и уменьшения

Есть постфиксные и префиксные операторы.

«v++»Увеличение переменной v на 1. «v+=n» Увеличение переменной v на n. «v*=n» Увеличение переменной v в n раз. «v-=n» Отнимание n из переменной v.

Логические операторы.

Логические операторы используются для создания более гибких условных инструкций путем объединения нескольких выражений.

«&&» Условное И. «||»Условное ИЛИ. «!» Условное НЕТ.

 

1.3. Понятие классов и  объектов.

Все приведенные ранее программы состояли из одного класса с одним-единственным методом Main. Настало время подробнее изучить состав, правила создания и использования классов.

Класс является типом данных, определяемым пользователем. Он должен представлять собой одну логическую сущность, например, являться моделью реального объекта или процесса. Элементами класса являются данные и функции, предназначенные для их обработки.

Описание класса содержит ключевое слово class, за которым следует его имя, а далее в фигурных скобках — тело класса, то есть список его элементов. Кроме того, для класса можно задать его базовые классы (предки) и ряд необязательных атрибутов и спецификаторов, определяющих различные характеристики класса:

[ атрибуты ] [ спецификаторы ] class имя_класса [ : предки ]   

 тело_класса

  Как видите, обязательными являются  только ключевое слово class, а также имя и тело класса. Тело класса — это список описаний его элементов, заключенный в фигурные скобки. Список может быть пустым, если класс не содержит ни одного элемента. Таким образом, простейшее описание класса может выглядеть так:

class Demo {}

  Спецификаторы определяют свойства класса, а также доступность класса для других элементов программы. Возможные значения спецификаторов перечислены в таблице 8.1. Класс можно описывать непосредственно внутри пространства имен или внутри другого класса. В последнем случае класс называется вложенным.

Таблица 8.1. Спецификаторы класса

Спецификатор

Описание

1

new

Используется для вложенных классов. Задает новое описание класса взамен унаследованного от предка. Применяется в иерархиях объектов

2

public

Доступ не ограничен

3

protected

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

4

internal

Доступ только из данной программы (сборки)

5

protected internal

Доступ только из данного и производных классов или из данной программы (сборки)

6

private

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

7

abstract

Абстрактный класс. Применяется в иерархиях объектов, рассматривается в главе 8

8

sealed

Бесплодный класс. Применяется в иерархиях объектов, рассматривается в главе 8

9

static

Статический класс. Введен в версию языка 2.0. Рассматривается в разделе «Конструкторы»


 

Спецификаторы 2–6 называются спецификаторами доступа. Они определяют, откуда можно непосредственно обращаться к данному классу. Спецификаторы доступа могут присутствовать в описании только в вариантах, приведенных в таблице, а также могут комбинироваться с остальными спецификаторами.

Сейчас мы будем изучать только классы, которые описываются в пространстве имен непосредственно (то есть не вложенные классы). Для таких классов допускаются два спецификатора: public и internal. По умолчанию подразумевается internal.

Класс является обобщенным понятием, определяющим характеристики и поведение некоторого множества конкретных объектов этого класса, называемых экземплярами, или объектами, класса. Объекты создаются явным или неявным образом, то есть либо программистом, либо системой. Программист создает экземпляр класса с помощью операции new, например:

Demo a = new Demo();        // создание экземпляра класса Demo

Demo b = new Demo();        // создание другого экземпляра класса Demo

 

Для каждого объекта при его создании в памяти выделяется отдельная область, в которой хранятся его данные. Кроме того, в классе могут присутствовать статические элементы, которые существуют в единственном экземпляре для всех объектов класса. Часто статические данные называют данными класса, а остальные — данными экземпляра.

Функциональные элементы класса не тиражируются, то есть всегда хранятся в единственном экземпляре. Для работы с данными класса используются методы класса (статические методы), для работы с данными экземпляра — методы экземпляра, или просто методы.

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

В С# предусмотрен специальный класс object, который неявно считается базовым классом для всех остальных классов и типов, включая и типы значений. Иными словами, все остальные типы являются производными от object. Это, в частности, означает, что переменная ссылочного типа object может ссылаться на объект любого другого типа. Кроме того, переменная типа object может ссылаться на любой массив, поскольку в С# массивы реализуются как объекты. Формально имя object считается в С# еще одним обозначением класса System.Object, входящего в библиотеку классов для среды .NET Framework.

Практическое значение этого в том, что помимо методов и свойств, которые вы определяете, также появляется доступ к множеству общедоступных и защищенных методов-членов, которые определены в классе Object. Эти методы присутствуют во всех определяемых классах.

Информация о работе Алфавит языка С#