 
        
        - •Введение
- •Контрольная работа № 1 разработка приложений в microsoft visual studio 2008
- •Теоретические сведения Интерфейс Microsoft Visual Studio 2008
- •Создание консольного приложения
- •Построение xml-отчета по выполненному проекту
- •Создание приложения Windows Forms
- •Контрольные вопросы
- •Содержание и порядок выполнения работы
- •Контрольная работа № 2
- •Теоретические сведения Структура программы. Переменные и выражения
- •Литеральные константы
- •Операции и их старшинство
- •Операторы c#
- •If(выражение1) if(выражение2) if(выражение3) ...
- •Контрольные вопросы
- •Содержание и порядок выполнения работы
- •Примеры решения задач
- •Контрольная работа № 3 техника работы с массивами. Процедуры и функции
- •Теоретические сведения
- •Базовый класс для массивов
- •Процедуры и функции
- •Синтаксис методов
- •Формальные и фактические аргументы
- •Соответствие формальных и фактических аргументов
- •Функции с побочным эффектом
- •Функция Main()
- •Контрольные вопросы
- •Содержание и порядок выполнения работы
- •Примеры решения задач
- •Контрольная работа № 4 перечисления и структуры
- •Теоретические сведения
- •Базовый класс перечислений - System.Enum
- •Структуры
- •Контрольные вопросы
- •Содержание и порядок выполнения работы
- •Пример решения задачи
- •Контрольная работа № 5 обработка символов и строк
- •Теоретические сведения
- •Контрольные вопросы
- •Содержание и порядок выполнения работы
- •Примеры решения задачи
- •Контрольная работа № 6 проектирование классов. Составление программ с использованием ооп
- •Теоретические сведения
- •Контрольные вопросы
- •Содержание и порядок выполнения работы
- •Пример решения задачи
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
Контрольная работа № 2
ОПЕРАТОРЫ ЯЗЫКОВ С/С++ и С#
Цель работы: составление алгоритмов и программ разветвленной и циклической структуры на С/С++ и С# с использованием простых типов, явного и неявного преобразования типов.
Теоретические сведения Структура программы. Переменные и выражения
Код на С/С++ и C# представлен последовательностью операторов, оканчивающихся ; .
Пробельные символы игнорируются компилятором, поэтому удобно писать 1 оператор в строке, делать отступы и пропускать строки. Т.е. стиль программирования не страдает.
Программа обладает блочной структурой, скобки { } отмечают начало и конец блока, который может содержать 0 или более операторов. В С# { } не сопровождается ; .
Блоки могут быть вложенными
{
<строка1 кода>;
{
<строка2 кода>;
<строка3 кода>;
}
<строка4 кода>;
}
Для записи комментариев используются /* */, // , /// .
Переменные отличаются по своему типу. Для объявления переменных используется запись
<тип> <имя>;
<тип> <список имен>;
Одновременно с объявлением можно проводить инициализацию. Переменные создаются не при объявлении, а при инициализации. Для задания имени переменной пользуются правилами:
- 1-й символ обязательно буква, или _ , или @ (только для C#); 
- 2-й и последующие символы – буквы, цифры, знак _ ; 
- имена переменных не должны совпадать с ключевыми словами; 
- компилятор чувствителен к регистру. 
Для выбора имен можно пользоваться соглашениями:
- венгерской нотацией (szString1); 
- нотацией PascalCase (MyVar); 
- нотацией camelCase (myVar). 
Рассмотрим дальнейшие правила, относящиеся к языку С#, как более легкому для самостоятельного изучения. В дальнейшем, имея опыт программирования на С#, можно быстрее освоить языки С/С++, тем более, что он изначально поддерживает объектно-ориентированный стиль.
Система типов имеет принципиальный характер, согласно которой в С# все типы можно разделить на 4 категории:
- типы-значения (value) или значимые типы;
- ссылочные (reference).;
- указатели (pointer);
- тип void.
Классификация основана на том, где и как хранятся значения типов. Для ссылочного типа значение задает ссылку на область памяти в "куче", где расположен соответствующий объект. Для значимого типа используется прямая адресация, значение хранит собственно данные, и память для них отводится, как правило, в стеке. Указатели могут использоваться только в небезопасных блоках, помеченных как unsafe. Тип void указывает на отсутствие какого-либо значения. В языке C# к значимым типам относятся: логический, арифметический, структуры, перечисление. Массивы, строки и классы относятся к ссылочным типам.
В C# массивы рассматриваются как динамические, их размер может определяться на этапе вычислений, а не в момент трансляции. Строки могут менять свою длину. Структуры C#, также и как и в С++, представляют частный случай класса. Определив свой класс как структуру, программист получает возможность отнести класс к значимым типам.
Также типы делятся на встроенные и определенные пользователем. Встроенные типы фактически совпадают с системными типами каркаса .Net Framework из пространства имен System.
Таблица 1
| Логический тип | ||||
| Имя типа | Системный тип | Значения | Размер | |
| bool | System.Boolean | true, false | 8 бит | |
| Арифметические целочисленные типы | ||||
| Имя типа | Системный тип | Диапазон | Размер | |
| sbyte | System.SByte | -128 — 128 | Знаковое, 8 Бит | |
| byte | System.Byte | 0 — 255 | Беззнаковое, 8 Бит | |
| short | System.Short | -32768 —32767 | Знаковое, 16 Бит | |
| ushort | System.UShort | 0 — 65535 | Беззнаковое, 16 Бит | |
| int | System.Int32 | ≈(-2*10^9 — 2*10^9) | Знаковое, 32 Бит | |
| uint | System.UInt32 | ≈(0 — 4*10^9) | Беззнаковое, 32 Бит | |
| long | System.Int64 | ≈(-9*10^18 — 9*10^18) | Знаковое, 64 Бит | |
| ulong | System.UInt64 | ≈(0— 18*10^18) | Беззнаковое, 64 Бит | |
| Арифметический тип с плавающей точкой | ||||
| Имя типа | Системный тип | Диапазон | Точность | |
| float | System.Single | +1.5*10^-45 - +3.4*10^38 | 7 цифр | |
| double | System.Double | +5.0*10^-324 - +1.7*10^308 | 15-16 цифр | |
| Арифметический тип с фиксированной точкой | ||||
| Имя типа | Системный тип | Диапазон | Точность | |
| decimal | System.Decimal | +1.0*10^-28 - +7.9*10^28 | 28-29 значащих цифр | |
| Символьные типы | ||||
| Имя типа | Системный тип | Диапазон | Точность | |
| char | System.Char | U+0000 - U+ffff | 16 бит Unicode символ | |
| string | System.String | Строка из символов Unicode | ||
| Объектный тип | ||||
| Имя типа | Системный тип | Примечание | ||
| object | System.Object | Прародитель всех встроенных и пользовательских типов | ||
