Вы находитесь на странице: 1из 46

Министерство образования и наук Российской Федерации

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


высшего профессионального образования
Уфимский государственный авиационный технический университет

РАЗВЕТВЛЕННЫЕ КОНСТРУКЦИИ
В C#

Лабораторный практикум
по дисциплинам «Информатика» и
«Программирование и основы алгоритмизации»

Уфа 2016
Министерство образования и наук Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
Уфимский государственный авиационный технический университет

Кафедра информатики

РАЗВЕТВЛЕННЫЕ КОНСТРУКЦИИ
В C#

Лабораторный практикум
по дисциплинам «Информатика» и
«Программирование и основы алгоритмизации»

Уфа 2016
Составители: М. П. Карчевская, О. Л. Рамбургер

УДК 004.43(07)
ББК 32.973.26-018.2(Я7)

Разветвленные конструкции в C#: Лабораторный практикум по


дисциплинам «Информатика», «Программирование и основы алго-
ритмизации», «Языки программирования и основы алгоритмизации».
/Уфимск. гос. авиац. техн. ун-т; Сост.: М. П. Карчевская,
О. Л. Рамбургер – Уфа: УГАТУ, 2016. – 44 с.

Излагаются особенности работы в среде разработки приложений


Visual Studio (VS.NET). Содержит описание среды, начальные сведе-
ния о языке программирования C#, а также описание создания при-
ложений линейной и разветвляющей структуры.
Предназначен для студентов первого и второго курсов техниче-
ских специальностей и направлений подготовки, в том числе направ-
лений подготовки (специальности) 27.05.01 «Специальные организа-
ционно-технические системы», 10.05.05 «Безопасность информаци-
онных технологий в правоохранительной сфере», 09.05.01 «Приме-
нение и эксплуатация автоматизированных систем специального на-
значения», направлений подготовки бакалавров 09.03.03 «Прикладная
информатика», 11.03.02 «Инфокоммуникационные технологии и сис-
темы связи», 12.03.01 «Приборостроение», 09.03.01 «Информатика
и вычислительная техника», 11.03.04 «Электроника и наноэлектро-
никам», 12.03.04 «Биотехнические системы и технологии»,
13.03.03 «Энергетическое машиностроение», 23.03.01 «Технология
транспортных процессов», 24.03.04 «Авиастроение», 27.03.03 «Сис-
темный анализ и управление», а также для всех студентов техниче-
ских вузов, изучающих дисциплину «Информатика» и дисциплину
«Программирование и основы алгоритмизации» в рамках базового
курса и всех тех, кто изучает язык программирования C#.

Рецензенты: к. т. н. Е.А. Кузьмина


к. т. н. Е.Ш. Закиева

© Уфимский государственный
авиационный технический университет, 2016
Содержание

ВВЕДЕНИЕ................................................................................................. 4
1. ЦЕЛЬ И ЗАДАЧИ ЛАБОРАТОРНОЙ РАБОТЫ............................. 6
2. ОПИСАНИЕ ТЕХНОЛОГИИ «.NET» .............................................. 7
2.1. КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ .......................................... 7
2.2. ПРАКТИЧЕСКАЯ ЧАСТЬ. ЗНАКОМСТВО СО СРЕДОЙ MICROSOFT
VISUAL STUDIO 2008 ..................................................................... 7
3. СОЗДАНИЕ ПРИЛОЖЕНИЙ ЛИНЕЙНОЙ СТРУКТУРЫ ......... 14
3.1. КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ ........................................ 14
3.2. ПРАКТИЧЕСКАЯ ЧАСТЬ. СОЗДАНИЕ ПРИЛОЖЕНИЯ ЛИНЕЙНОЙ
СТРУКТУРЫ .................................................................................. 25
4. СОЗДАНИЕ МНОГООКОННОГО ИНТЕРФЕЙСА ..................... 26
4.1. КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ ........................................ 26
4.2. ПРАКТИЧЕСКАЯ ЧАСТЬ. СОЗДАНИЕ МНОГООКОННОГО
ПРИЛОЖЕНИЯ ............................................................................... 27
5. СОЗДАНИЕ ПРИЛОЖЕНИЙ РАЗВЕТВЛЯЮЩЕЙ СТРУКТУРЫ
............................................................................................................. 29
5.1. КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ ........................................ 29
5.2. ПРАКТИЧЕСКАЯ ЧАСТЬ. СОЗДАНИЕ ПРИЛОЖЕНИЙ
РАЗВЕТВЛЯЮЩЕЙ СТРУКТУРЫ .................................................... 34
6. ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ ................................................. 37
6.1. СОЗДАНИЕ ПРИЛОЖЕНИЙ ЛИНЕЙНОЙ СТРУКТУРЫ .................... 37
6.2. СОЗДАНИЕ ПРИЛОЖЕНИЙ РАЗВЕТВЛЯЮЩЕЙ СТРУКТУРЫ ......... 37
7. КОНТРОЛЬНЫЕ ВОПРОСЫ .......................................................... 40
8. КРИТЕРИИ РЕЗУЛЬТАТИВНОСТИ ЛАБОРАТОРНОГО
ПРАКТИКУМА................................................................................. 42
СПИСОК ЛИТЕРАТУРЫ ....................................................................... 44

3
ВВЕДЕНИЕ

Процесс создания программ и их реализация (ввод исходного


текста, редактирование, компиляция, выполнение и отладка) проис-
ходит в среде разработчика Microsoft Visual Studio 2008
под управлением операционной системы Windows.
Требования к выполнению лабораторных работ
1. Перед началом лабораторной работы повторить лекционный мате-
риал по данной теме.
2. Получить у преподавателя вариант для выполнения индивидуаль-
ных заданий.
3. В порядке, описанном в практикуме, изучить разобранные задачи
лабораторной работы.
4. Выполнить индивидуальные задания, приведенные в конце лабо-
раторной работы. Сохранить результаты работы на личном носи-
теле.
5. Ответить на контрольные вопросы и задания, приведенные в кон-
це лабораторной работы.
6. Продемонстрировать выполненную работу преподавателю, отве-
тить на поставленные вопросы, уметь внести изменения в создан-
ный проект.
Отчетность
Отчетом по лабораторной работе является созданный в данной
лабораторной работе проект и пояснительная записка (ПЗ), которая
должна быть оформлена в соответствие с требованиями
ГОСТ 2.105-95. ЕСКД. Общие требования к текстовым документам и
ГОСТ 2.104-68. ЕСКД. Основные надписи. Алгоритмы задачи долж-
ны быть представлены блок-схемами, выполненными согласно
ГОСТ 19.701-90. ЕСКД. Схемы алгоритмов программ, данных и сис-
тем.
Структура ПЗ:
Введение
1 Описание проекта
2 Описание задания 1
2.1 Постановка задачи.................
2.2 Разработка алгоритма задачи
4
2.3 Разработка интерфейса..........
2.4 Программирование................
2.5 Тестирование и отладка.........
3 Описание задания 2

Заключение
Список используемых источников
Защита лабораторных работ
При защите работы студент должен уметь объяснить алгоритм
решения задач, используемые операторы языка программирования и
компоненты, необходимые для реализации алгоритма, а также уметь
внести изменения в созданный проект.
Компетенции, формируемые в результате выполнения
лабораторной работы
В результате выполнения данной лабораторной работы форми-
руются следующие компетенции:
- способность использовать инструментальные средства и системы
программирования для решения профессиональных задач,
- способность иметь навыки работы с компьютером как средством
управления информацией,
- способность оформлять, представлять и докладывать результаты
выполненной работы.
Перечисленные компетенции формируются через умения
- самостоятельной работы на компьютере,
- разрабатывать программные приложения на одном из объектно-
ориентированных языков программирования;
- оформления отчета о лабораторной работе в офисных приложени-
ях,
а также через владения:
- навыками работы с офисными приложениями,
- навыками разработки приложений для решения типовых приклад-
ных задач на основе объектно-ориентированного подхода,
- навыками работы в интегрированной среде разработки приложе-
ний,
- навыками составления и отладки программ на языке программиро-
вания высокого уровня.

5
1. ЦЕЛЬ И ЗАДАЧИ ЛАБОРАТОРНОЙ РАБОТЫ

Целью лабораторной работы является изучение принципов ис-


пользования современной системы Microsoft Visual Studio
2008 для реализации типовых алгоритмов обработки информации с
использованием объектно-ориентированного языка программирова-
ния C#.
Задачей лабораторной работы является:
- ознакомление со средой Microsoft Visual Studio 2008,
поддерживающей новую платформу создания приложений .Net;
- изучение способов ввода и вывода данных на примере создания
приложений линейной и разветвленной структуры с использова-
нием объектно-ориентированного языка программирования C#.
Задания выполняются в соответствии с вариантом, выданным
преподавателем.
К лабораторной работе составляется пояснительная записка,
оформленная в соответствие с требованиями ГОСТ.

6
2. ОПИСАНИЕ ТЕХНОЛОГИИ «.NET»
2.1. Краткие теоретические сведения
Технология .NET – новая технология, предложенная компанией
Microsoft для разработки программного обеспечения. Технология
.NET обеспечивает возможность создания приложений, написанных
на разных языках, способных выполняться на различных типах уст-
ройств и в различных операционных системах.
Библиотека классов .NET Framework (Framework Class Library –
FCL) представляет собой объектно-ориентированную библиотеку
классов, интерфейсов и типов. Классы в .NET Framework организова-
ны в иерархические структуры – пространства имен. В корне иерар-
хии находится пространство имен System, содержащее как классы,
так и другие вложенные пространства имен. Пространства имен, вло-
женные в корневое, указываются как составные имена:
System.Windows.Forms.
2.2. Практическая часть. Знакомство со средой
Microsoft Visual Studio 2008

2.2.1. Создание первого приложения


Задание 1. Создайте простое приложение, при выполнении которого
меняется надпись на кнопке. Следуйте указаниям, описанным ниже.
Шаг 1. Запустите Microsoft Visual Studio 2008. Для этого выберите:
Пуск → Все программы → Microsoft Visual Studio
2008 → Microsoft Visual Studio 2008.
При первой загрузке интегрированной среды следует выбрать
настройку General Development Settings. После того, как
настройка среды закончится, появится окно стартовой страницы
Start Page, в левом верхнем углу в области недавних проектов
Recent Projects можно запустить проект, над которым недавно
работали (Open), либо создать новый (Create).
Шаг 2. Выберите ссылку Create. Откроется диалоговое окно
New Project (рис. 1).
Шаг 3. В списке Project Types выберите
Visual C# Windows, а в списке Templates – Windows Forms

7
Application (приложение Windows) (рис. 1). В поле Name введите
название проекта Мое первое приложение. В поле Location с
помощью кнопки Browse выберите папку, где будете сохранять
проект. Снимите галочку у флажка Create directory for
Solution. Нажмите кнопку ОК.

Рис. 1. Выбор шаблона нового Windows-приложения


Примечание 1. Если в списке Project Types вы не видите C#,
то откройте ссылку Other Languages.
Примечание 2. Если в окне New Project отсутствует поле
Location, то после открытия окна среды Visual Studio (рис. 3) про-
ект нужно сохранить. Нажмите в окне среды кнопку со значком

, появится окно сохранения проекта Save Project (рис. 2), в


котором задайте место на диске в поле Location и снимите
галочку у переключателя Create directory for solution.

8
Рис. 2. Диалоговое окно Save Project
Проект сохраняется в отдельной папке, имя которой по умолча-
нию совпадает с именем проекта.
На рис. 3 представлена среда VS с отображением макета созда-
ваемого приложения. На рисунке приняты следующие обозначения:

– вкладка дизайнера форм с названием создаваемой формы Forml.cs.


Это название генерирует конструктор форм, и под этим именем (если
его не изменить) форма будет сохранена на диске;
–– макет формы, именно так будет выглядеть основная форма создавае-
мого приложения;
–– окно Solution Explorer (обозреватель решения) содержит иерар-
хический список составляющих проекта;
– окно Properties (свойства) предназначено для просмотра и изме-
нения значения свойств текущего объекта;
– на панели Toolbox (панель инструментов) находится набор элементов
управления, которые можно разместить на форме своего проекта.

9
1

2 3
5

Рис. 3. Среда Visual Studio


При обнаружении ошибок в процессе написания кода, компи-
ляции и построения проекта выводятся сообщения об ошибках в окне
Error List (рис. 4). Если в этом окне дважды щелкнуть на строке
содержащей ошибку, то курсор переместится на ту строку программ-
ного кода, где была допущена эта ошибка.

Рис. 4. Вкладка Error List окна вывода Output


Шаг 4. В окне проекта (на вкладке дизайнера) выделите макет
формы, в окне Properties появятся свойства этой формы. Найдите
в окне Properties свойство Text и введите в поле, расположенное
справа, строку Мое первое приложение.

10
Шаг 5. Для запуска вашего первого приложения нажмите кнопку
со значком , расположенную в центре панели Standard.
Шаг 6. Чтобы завершить работу созданного приложения щелкните
стандартную кнопку закрытия формы (крестик).
Шаг 7. Добавьте на форму кнопку – для этого на панели Toolbox
найдите объект Button и щелкните на нем (указатель мыши изме-
нит свой вид), затем щелкните в том месте формы, где нужно помес-
тить левый верхний угол кнопки – кнопка появится на форме.
Шаг 8. Измените надпись на кнопке. Для этого выделите макет
кнопки, в окне Properties найдите свойство Text и введите в по-
ле, расположенное справа, текст «Привет!». Нажмите клавишу
Enter.
Шаг 9. Создайте программный код для изменения надписи на
кнопке во время работы программы. Для этого создайте событийную
процедуру двойным щелчком на кнопке « Привет!». В результате в
тексте программы появятся строки сгенерированные средой, между
которыми оставлено место. Вставьте туда строку
private void button1_Click(object sender, EventArgs e)
{
button1.Text = "Пока!";
}
Шаг 10. Запустите приложение. На экране появится окно с заголов-
ком Мое первое приложение и кнопкой с надписью Привет!
Нажмите на кнопку, текст надписи на ней изменится на Пока!
Шаг 11. Завершите работу запущенного приложения. Для сохране-
ния изменений в созданном проекте нажмите на значок .
Шаг 12. Откройте каталог вашего проекта. Просмотрите папки и
файлы, созданные средой Visual Studio. В папке bin находится под-
каталог содержащий откомпилированные коды. В папке obj нахо-
дится подкаталог, задействованный в процессе отладки. Исходный
текст программы хранится в файле Form1.cs.

11
2.2.2. Элементы управления, используемые при создании
простых приложений
Form (экранная форма) – макет окна разрабатываемого прило-
жения:
Основные свойства класса Form:
Свойство Описание
Name Имя формы
BackColor Цвет фона формы
Text Заголовок окна формы
Font Атрибуты шрифта для всех компонентов формы
Основное событие класса Form:
Возникает при загрузке формы. В событийной процедуре
Load
Form1_Load обычно задают начальные параметры проекта.
Основные методы класса Form:
Hide Скрыть форму
Show Показать форму

Label (надпись). Назначение – нести на себе надпись.


Основные свойства класса Label:
Свойство Описание
Name Имя объекта Label
Text Заголовок надписи, выводимой на экран
Font Шрифт, используемый для отображения текста
Visible True – надпись видна, False – не видна
Основное событие класса Label:
Click Щелчок левой кнопкой мыши на компоненте Label

TextBox (текстовое поле). Используется для вво-


да/вывода чисел и текста.
Основные свойства класса TextBox:
Свойство Описание
Name Имя объекта TextBox
Text Текст, отображаемый и редактируемый в строке ввода.
Font Шрифт, используемый для отображения текста
MultiLine Если True, то текстовое поле становится многострочным
ScrollBar Наличие или отсутствие полос прокрутки

12
Основное событие компонента TextBox:
TextChangеd Происходит, когда пользователь изменяет текст

Button (командная кнопка). Используется для зада-


ния реакции на событие.
Основные свойства класса Button:
Свойство Описание
Name Имя объекта Button
Text Надпись на кнопке
Visible True – кнопка видна на форме, False – невидна
Enabled True – кнопка активна, False – неактивна.
Основное событие класса Button:
Происходит, когда пользователь щелкает основной (левой)
Click
кнопкой мыши на объекте.

PictureBox (графическое поле). Предназначен


для размещения графики на форме.
Основные свойства класса PictureBox:
Свойство Описание
Содержит имя графического файла с рисунком, имя задается с по-
Image мощью диалогового окна Select Resourse при нажатии кнопки
Imports… (рис. 5)
Задает видимость рисунка на экране. True – рисунок виден, False
Visible
– нет.

Рис. 5. Диалоговое окно Select Resource

13
3. СОЗДАНИЕ ПРИЛОЖЕНИЙ ЛИНЕЙНОЙ СТРУКТУРЫ
3.1. Краткие теоретические сведения
3.1.1. Алфавит языка и его лексемы
Алфавит – фиксированный для данного языка набор символов
(букв, цифр, специальных знаков и т.д.), которые могут быть исполь-
зованы при написании программы.
В качестве символов в C# используются прописные и строчные
буквы латинского алфавита, десятичные цифры, специальные симво-
лы:
+ - * / % ! & > < =
_ ; # “ ‘ , . ? ~ ^ \
: [ ] | { } ( ) @ пробел
а также составные символы:
!= == <= >=
// /* */
Лексема – единица текста программы, которая при компиляции
воспринимается как единое целое и по смыслу не может быть разде-
лена на более мелкие элементы.
В языке С# шесть классов лексем:
- служебные (ключевые) слова,
- пользовательские идентификаторы,
- константы,
- строки (строковые константы),
- операции (знаки операций),
- разделители (знаки пунктуации).
Служебные (ключевые) слова имеют фиксированные начерта-
ния и раз навсегда определенный смысл. Например: if, else, for,
return, void, switch, do, while, int, float, string,
char и т.д.
Идентификаторы пользователя служат для обозначения типов
данных, констант, переменных, методов (процедур и функций), опре-
деленных самим пользователем.

14
Правила именования пользовательских идентификаторов:
- Первым символом в имени должна быть либо буква, либо
символ подчеркивания (_), либо символ @.
- Последующими символами могут быть буквы, символы под-
черкивания или числа.
- Нельзя применять в качестве имени ключевые слова, которые
имеют для компилятора особый смысл.
Очень важным моментом, на который обязательно нужно обра-
тить внимание, С# это язык, который чувствителен к регистру.
Например, myString, MyString, MYSTRING – это имена
трех разных переменных.
Код на С# состоит из ряда операторов, каждый из которых окан-
чивается символом точки с запятой. В одной строке можно записать
несколько операторов, один оператор можно разбить на несколько
строк. Дополнительные пробелы, пустые строки компилятором игно-
рируются.
С# является языком с блочной структурой, т.е. все операторы
относятся к какому-то блоку кода. Блок отделяется от остальной час-
ти кода с помощью фигурных скобок { и }, между которыми может
содержаться любое количество операторов или вообще ни одного.
Для обозначения комментариев используются символы /* и */,
если комментарий занимает несколько строчек, и символы //, если
комментарий занимает одну строку.
Например,
/* Это
комментарий */
// Это тоже комментарий

3.1.2. Типы данных в C#


Все переменные и константы, используемые в программном ко-
де, необходимо объявлять, указывая их имена (индентификаторы) и
типы, хранимых в них данных. Основные типы данных, принадлежа-
щие классу System.Object, представлены в табл. 1.

15
Таблица 1. Основные типы представления данных
Длина
Тип в C# Тип в FrameWork Диапазон значений
(байт)
Целые типы
sbyte System.SByte 1 от -128 до 127
byte System.Byte 1 от 0 до 255
short System.Intl6 2 от -32768 до 32767
ushort System.UIntl6 2 от 0 до 65535
int System.Int32 4 от -2147483648 до 2147483647
uint System.UInt32 4 от 0 до 4294967295
от -9223372036854775808
long System.Int64 8
до 9223372036854775807
ulong System.UInt64 8 от 0 до 18446744073709551615
Вещественные типы
float System.Single 4 (7) от 1,5 × 10-45 до 3,4 × 1038
double System.Double 8(16) от 5,0 × 10-324 до 1,7 × 10308
decimal System.Decimal 12(28) от 1,0 × 10-28 до 7,9 × 1028
Логический тип
Булево значение, которое может
bool System.Boolean 2
иметь значение либо true, либо false
Символьный тип
Одиночный символ Unicode, сохра-
char System.Char 1 няемый в виде целого числа в диапа-
зоне от 0 до 65535
Строковый тип
Строка символов в кодировке
string System.String
Unicode
Примечание. Символ u в начале имен некоторых типов является
сокращением от слова unsigned (без знака)

Формат объявления констант:


const Тип данных Имя константы = Значение;
Формат объявления переменных:
Тип данных Имя переменной [= Значение];
Примеры объявлений:
const double с = 5.9732;
int a = 1;
int i,j,k;
Double a, b, c;
16
3.1.3. Преобразование типов
В программировании нередко значения переменных одного типа
присваиваются переменным другого типа.
Например,
int i = 10;
float f;
f = i; //присвоить целое значение переменной типа float

Значение переменной i сначала преобразуется в тип float, а


затем присваивается переменной f.
Неявное преобразование типов происходит автоматически при
следующих условиях:
- оба типа совместимы;
- диапазон представления чисел целевого типа шире, чем у исход-
ного типа.
Если оба эти условия удовлетворяются, то происходит расши-
ряющее преобразование. Числовые типы, как целочисленные, так и с
плавающей точкой, вполне совместимы друг с другом для выполне-
ния расширяющих преобразований.
short num1, num2;
num1 = 10;
num2 = 15;
int x, y, s;
x = num1; y = num2;
s = x + y;
Потеря данных здесь невозможна, компилятор будет неявным
образом расширять каждую переменную типа short до типа int.
Приведение типов – это команда компилятору преобразовать
результат вычисления выражения в указанный тип (табл. 2).
Таблица 2. Некоторые функции приведения типов
Откуда Куда
byte char
short byte, char
int byte, short, char
char byte, short
double byte, short, int, char

17
Если приведение типов приводит к сужающему преобразова-
нию, то часть информации может быть потеряна.
Например, когда значение с плавающей точкой приводится к
целочисленному, то в результате усечения теряется дробная часть
этого числового значения.
Double a = 2.55; int a = 256;
int b = (int)(a); byte b = (byte)(a);
Результат: 2 Результат: 0

Условия переполнения (overflow) и потери значимости


(underflow) происходят без выдачи ошибки.
В качестве меры безопасности потери данных в С# предусмот-
рена операция checked, благодаря которой, компилятор С# генери-
рует дополнительные CIL-инструкции, обеспечивающие проверку на
предмет условий переполнения, которые могут возникать в результа-
те сложения, умножения, вычитания или деления двух числовых ти-
пов данных. Тогда в случае возникновения условия переполнения во
время выполнения будет генерироваться исключение
OverflowException (рис. 6).

Рис. 6. Исключение OverflowException


Метод Parse. Позволяет преобразовать строку символов в ука-
занный тип данных:
Double y;
Int x;
String S, s;
//Преобразование строки S в целый тип данных
x = Int32.Parse(S);
//Преобразование строки s в вещественный тип данных
y = Double.Parse(s);

18
Методы класса Convert. Данный класс определен в простран-
стве имен System, содержит 15 статических методов вида
ToType,
где Type может принимать значения от Boolean до UInt64 для
всех встроенных типов.
Пример использования класса Convert для преобразования ти-
пов:
Double y;
Int x;
//Приведение вещественной y переменной к целому типу
x = Convert.ToInt32(y);
//Приведение целой переменной x к вещественному типу
y = Convert.ToDouble(x);

3.1.4. Оператор присваивания


Формат простого оператора присваивания:
Элемент = Выражение
Элементом может быть простая скалярная переменная, свойство
или элемент массива. Выражение состоит из операндов и операций,
которые выполняются над операндами. Для записи сложных выраже-
ний используются круглые скобки. В зависимости от того, какие опе-
рации используются в выражениях, различают арифметические, ло-
гические и строковые выражения.
В арифметических выражениях возможны операции, представ-
ленные в табл. 3, 4, 5.
Таблица 3. Арифметические операции
Знак Операция Результат
varl присваивается результат сложения
+ varl = var2 + var3;
значений var2 и var3
varl присваивается результат вычитания
- varl = var2 - var3;
значения var3 из значения var2
varl присваивается результат умножения
* varl = var2 * var3;
значений var2 и var3
varl присваивается результат деления зна-
/ varl = var2 / var3;
чения var2 на значение var3
varl присваивается остаток деления значе-
% varl = var2 % var3;
ния var2 на значение var3

19
Примечание. Типы, определенные пользователем, для операн-
дов, участвующих в операции деления, влияют на результат операции.
При делении двух целых чисел результат всегда является целочис-
ленным. Например, результат выражения 7 / 3 равняется 2. Чтобы по-
лучить частное в виде вещественного числа, необходимо присвоить
делителю или делимому вещественный тип float или double.
Таблица 4. Операции инкремента и декремента префиксная форма
Знак Операция Результат
var2 увеличивается на 1
++ varl = ++ var2;
varl присваивается значение var2
var2 уменьшается на 1
-- varl = -- var2;
varl присваивается значение var2
Примечание. Префиксная форма: операнд обрабатывается перед
выполнением любых других вычислений в выражении.
Таблица 5. Операции инкремента и декремента постфиксная форма
Знак Операция Результат
varl присваивается значение var2
++ varl = var2 ++;
var2 увеличивается на 1
varl присваивается значение var2
-- varl = var2 --;
var2 уменьшается на 1
Примечание. Постфиксная форма: операнд обрабатывается по-
сле выполнения всех остальных вычислений в выражении.
В логических выражениях возможны операции, представленные
в табл. 6, 7.
Таблица 6. Операции сравнения
Знак Операция Результат
Результат имеет значение true, если var1 равна
== varl == var2;
var2, иначе false
Результат имеет значение true, если var1 не равна
!= varl != var2;
var2, иначе false
Результат имеет значение true, если var1 больше
> varl > var2;
var2, иначе false
Результат имеет значение true, если var1 больше
>= varl >= var2;
или равна var2, иначе false
Результат имеет значение true, если var1 меньше
< varl < var2;
var2, иначе false
Результат имеет значение true, если var1 меньше
<= varl <= var2;
или равна var2, иначе false
20
Таблица 7. Логические операции
Знак Операция Пояснение
! varl = !var2; Отрицание НЕ
& var1= var2 & var3;
Логическое умножение И
&& var1= var2 && var3;

| var1= var2 | var3;


Логическое сложение ИЛИ
|| var1= var2 || var3;

^ var1= var2 ^ var3; Логическое исключающее сложение ИЛИ

Примечание. Операции && и & (|| и |) дают одинаковый резуль-


тат, но способ получения результата разный. При использовании опе-
раций & и | всегда вычисляются оба операнда. При использовании
операции &&, если значением первого операнда является false, зна-
чение второго операнда не рассматривается, так как результат все
равно будет false. Точно так же и операция | | будет всегда возвращать
true, если значением первого операнда является true, каким бы ни бы-
ло значение второго операнда.
Применение операций && и || вместо & и | позволяет обеспечить
более высокую производительность кода.
Составной оператор присваивания позволит сократить запись
присвоения. Например,
x + = 10;
это краткий эквивалент оператора
x = x + 10;
В табл. 8 приведены составные операторы присваивания, опре-
деленные для C#.
Таблица 8. Примеры составных операторов присваивания
Пример Пояснение
y += x y = y + x
y -= x y = y - x
y *= x y = y * x
y /= x y = y / x
y %= x y = y % x

21
3.1.5. Организация ввода/вывода данных в C#
Ввод данных в приложениях C# может осуществляться:
С помощью текстового окна TextBox. Например, используя метод
Parse для преобразования строки символов в переменную типа
Double:
Double x;
x = Double.Parse(textBox1.Text);
Или, используя метод Convert для преобразования строки символов
в переменную типа Double:
Double x;
x = Convert.ToDouble(textBox1.Text);
Используя метод TryParse, можно проверить тип вводимых дан-
ных:
Single X;
if (Single.TryParse (textBox1.Text, out X) == false)
{ // Если пользователь ввел не число:
MessageBox.Show
("Следует вводить числа", "Ошибка",
MessageBoxButtons.OK);
return; }
Примечание. Первый параметр (textBox1.Text) – это вводи-
мая строка символов, которую метод TryParse должен преобразо-
вать в тип Single, второй параметр это метод out, который воз-
вращает результат преобразования в переменную X.
Вывод данных в приложениях C# может осуществляться:
С помощью текстового окна TextBox, изменяя его свойство Text:
Double x;
textBox1.Text = Convert.ToString(x);
С помощью метода show класса MessageBox:
Double x;
...
MessageBox.Show("x = " + Convert.ToString(x),
"Результат работы", MessageBoxButtons.OK);
...
22
В приведенных выше примерах числовые значения выводятся в
бесформатном виде. Количество знаков после запятой ограничивает-
ся 15 цифрами.
Для вывода по формату можно воспользоваться методом
ToString, примененному к переменной, указав шаблон вывода
стандартный:
textBox1.Text = "Результат = " + x.ToString("F2");
или настраиваемый:
textBox1.Text = "Результат = " + x.ToString("0.00");
Для вывода по формату можно использовать составное форма-
тирование методом String.Format. В качестве входных данных
для составного форматирования используются:
- строка составного формата;
- список выводимых объектов.
textBox1.Text =
String.Format("a = {0, 10:F2} b = {1, 8:F3} ", a, b );
В общем виде форматирование задается следующим образом:
{n, [m [:спецификатор_формата [число]]},
где
n – номер параметра. Нумерация начинается с нуля, нулевой па-
раметр заменяется значением первой переменной из списка вы-
вода, первый параметр – второй переменной и т. д., например
String.Format( "a = {0, 10:F2} b = {1, 8:F3}", a, b);
m – определяет минимальную ширину поля, которое отводится
под выводимое значение. Если выводимому числу достаточно
меньшего количества позиций, неиспользуемые позиции запол-
няются пробелами. Если числу требуется больше позиций, пара-
метр игнорируется.
String.Format( "a = {0, 10:F2} b = {1, 8:F3}", a, b);
Спецификатор формата определяет формат вывода значения:
- F (Fixed) задает вывод с фиксированным количеством знаков
после запятой;
23
- С (Currency) означает, что параметр должен форматироваться
как валюта с учетом национальных особенностей представ-
ления;
- X (Hexadecimal) задает шестнадцатеричную форму представ-
ления выводимого значения.
String.Format( "a = {0, 10:F2} b = {1, 8:F3}", a, b);

3.1.6. Использование математических методов .NET Framework


В табл. 9 представлен неполный список математических методов
класса System.Math библиотеки .NET Framework, предназначен-
ный для выполнения математических операций.

Таблица 9. Некоторые математические функции


Метод Назначение
Abs(a) абсолютное значение (модуль) числа а
Acos(a) арккосинус числа а
Asin(a) арксинус числа а
Atan(a) арктангенс числа а
Cos(a) косинус числа а
Sin(a) синус числа а
Tan(a) тангенс числа а
Log() натуральный логарифм числа а
Log10(a) десятичный логарифм указанного числа а
Exp(a) экспоненту от числа а (ea)
Pow(a,b) число а в степень b
PI число π
Sqrt(a) корень квадратный числа а
Формат вызова необходимого математического метода:
Math.Имя метода(список аргументов)
Например, Math.Sin(x) – возвращает значение sin(x).

24
3.2. Практическая часть. Создание приложения
линейной структуры
Задание 2. Создайте приложение, вычисляющее сумму двух чисел.
Шаг 1. Перейдите на стартовую страницу, где выберите ссылку
Create. Дайте название проекту Сумма двух чисел.
Шаг 2. Создайте интерфейс формы как показано на рис. 7.
Объект
класса
Button

Рис. 7. Интерфейс формы приложения Задания 2

Шаг 3. Создайте событийную процедуру Click для элемента


Button. В открывшемся программном коде напишите:
double x, y, z;
x = double.Parse(textBox1.Text);
y = double.Parse(textBox2.Text);
z = x + y;
textBox3.Text = string.Format("{0,8:F4}", z);
Шаг 4. Запустите проект на выполнение. Проверьте, как он рабо-
тает сначала с целыми числами, а затем с вещественными (исполь-
зуйте запятую для отделения дробной части числа от целой). Остано-
вите работу проекта.
Шаг 5. Добавьте на форму еще один элемент управления Button.
Измените размер шрифта (свойство Font) и надпись на Закрыть.
Создайте событийную процедуру Click для нового элемента But-
ton, в которой используйте процедуру Close для прекращения вы-
полнения проекта. Запустите проект на выполнение. Проверьте как
работает кнопка Закрыть.

25
4. СОЗДАНИЕ МНОГООКОННОГО ИНТЕРФЕЙСА
4.1. Краткие теоретические сведения
Первая форма проекта (Form1) создается автоматически. Для
добавления новых форм в проект при создании многооконного при-
ложения используется команда меню Project → Add Windows
Form, которая вызывает появление диалогового окна Add New
Item, в текстовом поле которого отразится имя очередной формы,
например, Form2. Кнопка Add добавляет форму в проект. Все добав-
ленные формы отразятся в окне редактора среды (рис. 8).

Рис. 8. Окно редактора среды с добавленными формами


Когда проект будет запущен, на экране появится только одна
форма Form1. Для того чтобы открыть другую форму, необходимо в
программном коде создать экземпляр класса этой формы и использо-
вать метод Show (Открыть) для этого экземпляра (рис. 9).

Рис. 9. Программный код для открытия форм

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


Close.
26
4.2. Практическая часть. Создание многооконного
приложения
Задание 3. Создайте проект с многооконным интерфейсом, который
содержит четыре формы. Проект должен иметь имя «Лабораторная
работа № Х Иванова А.А. студента группы XXX».
Оформите первую форму проекта как показано рис. 10.
Напишите программный код, открывающий:
- вторую форму при нажатии на кнопку «Вычисление по заданной
формуле»;
- третью форму при нажатии на кнопку «Вычисление по формуле,
выбранной пользователем»;
- четвертую форму при нажатии на кнопку «Калькулятор».
Кнопка «Выход» должна прекращать выполнение проекта.

Рис. 10. Оформление первой формы проекта

27
Задание 4. В проекте, созданном в задании 3, оформите форму 2 как
на рис. 11 и напишите программный код, вычисляющий значение
функции для заданного пользователем аргумента (согласно варианту
индивидуального задания в разделе 6.1)
Дайте пояснения к вашему приложению. Ответьте на следующие во-
просы:
1. Какие элементы управления были использованы при разработке
интерфейса формы и для чего?
2. Какие свойства элементов были исправлены при проектировании, а
какие в программном коде?
3. Какие стандартные процедуры и функции были использованы?

Рис. 11. Пример оформления второй формы проекта

28
5. СОЗДАНИЕ ПРИЛОЖЕНИЙ РАЗВЕТВЛЯЮЩЕЙ
СТРУКТУРЫ
5.1. Краткие теоретические сведения

5.1.1. Операторы ветвления


Условный оператор. Структуру разветвляющегося алгоритма
можно реализовать с помощью ветвления – выбора одного из двух
вариантов действий (рис. 12).

Рис. 12. Структуры операторов ветвления

Использование тернарной операции


Синтаксис операции:
<лог. выр.>?<результат_если_Тruе>:
<результат_если_False>

string resultS = (myInt < 10) ? "Меньше 10" :


"Больше или равно 10";
Результатом будет одна из двух строк, которая присвоится перемен-
ной resultS, в зависимости от сравнения значения переменной
myInt с числом 10.

29
Оператор if
Синтаксис оператора:
if (<лог_выр>)
{
код,выполняемый,если <лог_выр>равно true;
}
else
{
код,выполняемый,если <лог_выр> равно false;
}
Команда if может проверить только одно условие. Если необ-
ходимо осуществить передачу управления в зависимости от результа-
тов проверки нескольких условий, то их можно задать с помощью
оператора else if:

if (Лог_выр_1)
{
// Выполнение действий 1
}
else if (Лог_выр_2)
{
// Выполнение действий 2
}
else if (Лог_выр_3)
{
// Выполнение действий 3
}
else
{
// Выполнение действий 4
}

Если в какой-либо ветви требуется выполнить несколько опера-


торов, их необходимо заключить в блок ({ }), иначе компилятор не
сможет понять, где заканчивается ветвление.

30
Примечание 1. Следует избегать проверки вещественных вели-
чин на равенство, вместо этого лучше сравнивать модуль их разности
с некоторым малым числом. Это связано с погрешностью представ-
ления вещественных значений в памяти:
Single а, b;
if ( а == b ) //не рекомендуется!
if ( Math.Abs(а - b) < 1e-6 ) // надежно!
Значение величины, с которой сравнивается модуль разности,
следует выбирать в зависимости от решаемой задачи и точности уча-
ствующих в выражении переменных. Снизу эта величина ограничена
определенной в классах Single и Double константой Epsilon
(это минимально возможное значение переменной такое, что
1.0 + Epsilon != 1.0).
Примечание 2. Распространенная ошибка. Неверная запись про-
верки на принадлежность диапазону. Например, чтобы проверить ус-
ловие 0 < х < 1, нельзя записать его в условном операторе непосред-
ственно, так как каждая операция отношения должна иметь два опе-
ранда. Правильный способ записи:
if (0 < х && х < 1)
Оператор выбора. Структуру разветвляющегося алгоритма
можно реализовать с помощью выбора одного варианта из несколь-
ких (рис. 13) в зависимости от значения некоторой величины (селек-
тора).

Рис. 13. Структура оператора выбора

31
Формат оператора выбора:
switch (Селектор)
{
case значение для сравнения _1 :
операторы, выполняемые если значения Селектора ==
значению для сравнения _1;
break;
. . .
case значение для сравнения _N :
операторы, выполняемые если значения Селектора ==
значению для сравнения _ N;
break;
[default
операторы, выполняемые если значения Селектора !=
ни одному из предложенных значений для сравнения;]
}
Выполнение оператора начинается с вычисления выражения
(селектора). Тип выражения чаще всего целочисленный (включая
char) или строковый. Затем управление передается первому опера-
тору из списка case, помеченному константным выражением, значе-
ние которого совпало с вычисленным значением селектора.
Все константные выражения должны быть неявно приводимы к
типу селектора. Если ни одного совпадения не произошло, выполня-
ются операторы, расположенные после слова default (а при его от-
сутствии управление передается следующему за switch оператору).
Каждая ветвь case должна заканчиваться явным оператором
перехода, например, break, который исключит синтаксическую
ошибку компилятора.
5.1.2. Элементы управления, используемые для создания
разветвляющих конструкций
RadioButton (Переключатель) – элемент
управления, предназначенный для установки только одной опции
(одного действия) из группы.
32
Основные свойства компонента RadioButton:
Свойство Описание
Name Имя компонента
Имеет значения True (включен) или False (выключен).
Checked
По умолчанию имеет значение False.
Использование в программном коде:
if (radioButton1.Checked) c = a + b;
else if (radioButton2.Checked) c = a – b;
else if (radioButton3.Checked) c = a * b;
else if (radioButton4.Checked)
if (b == 0)
{
MessageBox.Show("На ноль делить нельзя!");
c = Double.NaN;
break;
}
else c = a / b;

CheckBox (Флажок) – элемент управления, с по-


мощью которого можно выбирать одну или несколько опций, отмечая
их галочкой.
Основные свойства компонента CheckBox:
Свойство Описание
Name Имя компонента
Имеет значения True (галочка есть) или False (галочки
Checked
нет). По умолчанию – значение False.
Использование в программном коде:
if (checkBox1.Checked)
textBox3.Text = string.Format("{0,8:F4}", z);
else textBox3.Text = string.Format("{0}", z);

Panel – панель для размещения на ней компонентов.


Используется для размещения групп RadioButton или
CheckBox. Если необходимо объединить несколько объектов, ис-
пользуя этот компонент, то сначала нужно расположить на форме
именно его, а затем добавить на панель необходимые объекты.

33
Примечание. Если вы хотите объединить несколько объектов,
используя этот объект, то сначала расположите на форме именно его,
а затем добавьте на панель необходимые вам объекты.
5.2. Практическая часть. Создание приложений
разветвляющей структуры
Задание 4. В проекте, созданном в задании 3, оформите форму 3 как
на рис. 14 и напишите программный код, вычисляющий значения пе-
ременных по заданным расчетным формулам и наборам исходных
данных (согласно варианту индивидуального задания в разделе 6.2).
Дайте пояснения к вашему приложению. Ответьте на следующие во-
просы:
1. Какие входные данные необходимы для работы приложения?
2. Что считать выходными данными?
3. Использованы ли в программном коде дополнительные перемен-
ные, которые нельзя отнести к входным или выходным данным?
4. Какие элементы управления были использованы при разработке
интерфейса формы и для чего?
5. Какие свойства элементов были исправлены при проектировании,
а какие в программном коде?
6. Какие стандартные методы были использованы?

Рис. 14. Интерфейс оформления формы проекта

34
При выполнении следующих заданий вы можете выполнить ли-
бо задание 5, либо задание 6 (повышенной сложности).
За выполнение задания повышенной сложности вы получите макси-
мальное количество баллов (см. раздел 8).
Задание 5. В проекте, созданном в задании 3, оформите форму 4 как
на рис. 15, и напишите программный код, позволяющий выполнять
четыре основные арифметические операции (+, -, /, *) над двумя лю-
быми числами, т.е. создайте Калькулятор.
Для выбора арифметической операции используйте элемент управле-
ния RadioButton. Для выбора представления результата (по фор-
мату или нет) используйте элемент управления CheckBox.
Дайте пояснения к форме, ответьте на следующие вопросы:
1. Какие входные данные необходимы для работы калькулятора?
2. Что считать выходными данными работы калькулятора?
3. Использованы ли в программном коде дополнительные перемен-
ные, которые нельзя отнести к входным или выходным данным?
4. Какие элементы управления были использованы при разработке
интерфейса формы и для чего?
5. Какие свойства элементов были исправлены при проектировании,
а какие в программном коде?

Рис. 15. Интерфейс приложения Калькулятор


35
Задание 6 (повышенной сложности). Добавьте к проекту еще одну
форму для работы калькулятора, который имеет привычный для
пользователя интерфейс (рис. 16).
Для ввода чисел и вывода результатов вычислений используйте одно
и то же окно TextBox. Для организации вычислений используйте
оператор выбора. Предусмотрите операцию очистки окна для ввода
чисел.
Поясните работу вашего приложения.

Рис. 16. Форма приложения «Калькулятор» с кнопками

36
6. ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ

6.1. Создание приложений линейной структуры


Напишите программный код метода обработки события вычис-
ления значения функции для заданного пользователем аргумента.
№ Функция
1. y = sin x − e x + 0,25
2. y = sin 4 x − e x − 0,5
3. y = e x cos x
4. y = tg (sin x) + 3 x − e x
5. y = cos x + sin x − e x
6. y = sin x ⋅ e x + 4 x − 5
7. y = lg 2 x − e x + sin( x) + 2
8. y = e x + cos(x 3 ) 2
9. y = 10 − 18 cos x − 6 cos x − e x
10. y = 3 sin 3x + cos 3x − e x
11. y = e x + cos(−3x + π / 2)
12. y= ( 3x )x−1 − 2 sin x + e x
x −1
13.
y= sin(5 x+1 ) − e x + cos(2 2 x−1 )
14. y = 2 cos 2 x + 5 sin x + e x
15. y = sin x − e x + cos(0,25 + x)
6.2. Создание приложений разветвляющей структуры
В созданный ранее проект добавьте форму для вычисления зна-
чений двух переменных по заданным формулам для заданных поль-
зователем значений исходных данных. Используйте RadioButton
для выбора вычисляемой переменной и Panel для размещения

37
компонентов RadioButton. Напишите программный код метода
обработки события для выполнения этого задания.
№ Расчетные формулы Исходные данные
2 cos( x − π / 6)
a= ;
2 x = 1,426
1 / 2 + sin y
1. y = −1,22
z2 z = 3,5
b = 1+ .
2
3+ z /5
y/x
γ= x −3 y/ x; x = 1,825
2. y = 18,225
y − z /( y − x )
ϕ = ( y − x) . z = −3,298
1 + ( y − x) 2
e x + cos 2 e y
s= ; x = 0,335
3. ( x + y) 2
y = 0,025
z = ( x + y ) (sin x 3 + cos 2 y ).
−bt a = −0,5
y=e sin( at + b ) − bt + a ;
4. b = 1,7
2
s = b sin( at cos 2t ) − 1. t = 0,44
a = 1,5
ω = x 2 + b − b 2 sin 3 ( x + a ) / x;
5. b = 15,5
y = cos 2 x 3 − x / a 2 + b 2 . x = −2,9
3 2 2
s = x tg ( x + b) + a / x + b ; a = 16,5
6. 2 b = 3,4
bx − a
q= . x = 0,61
ax
e −1
a = 0.7
R = x 2 ( x + 1) / b − sin 2 ( x + a );
7. b = 0.05
s = xb / a + cos 2 ( x + b) 2 . x = 0.5
y = sin 3 ( x 2 + a ) 2 − x / b ; a = 1,1
b = 0,004
8.
x2
z= + cos( x + b)3. x = 0,2
a

38
№ Расчетные формулы Исходные данные
m=2
f = 3 mctb + c sin t ; c =1
9.
t = 1,2
z = m cos(bt sin t ) + c.
b = 0 ,7

2 a a = 3,2
y = abx − ;
2
10. sin ( x / a ) b = 17,5
− a x = −4,8
d = ae cos(bx / a ).
2 2 a = 10,2
f = ln(a + x ) + sin ( x / b);
b = 9,2
11. −cx x + x + a
z=e . c = 0,5
x− x−b x = 2,2
2x −x
a +b cos( a + b ) x a = 0,3
y= ;
12. x +1 b = 0,9
2 2 3 x = 0,61
R= x + b − b sin ( x + a ) / x.
−2 x a = 0,5
z= ax sin 2 x + e ( x + b) ;
13. b = 3,1
2 3 2 2 x = 1,4
ω = cos x − x / a + b .
2 −x
a x + e cos bx a = 0,5
U = ;
14. −x b = 2,9
bx − e sin bx + 1
2x 3x x = 0,3
f = e ln( a + x ) − b ln(b − x ).
m = 0,5
sin x c = 1,5
z= − cm ln mx;
15. 2 2 x=2
m + sin x
−ax −bx a = 1,5
s=e x +1 + e x + 1 .5 .
b = 1,3

39
7. КОНТРОЛЬНЫЕ ВОПРОСЫ

1. С какими элементами управления Вы познакомились в этой ла-


бораторной работе? Для каких целей Вы их использовали в своих
проектах?
2. Каково назначение страниц Свойства и События в окне
Инспектора объектов?
3. Как разместить элемент управления на форме?
4. Какими способами можно изменять свойства элемента? Приведи-
те примеры.
5. Каким образом можно инициировать создание метода-
обработчика событий?
6. Какие символы используются для обозначения комментариев в
программном коде?
7. Перечислите простые типы данных, используемые в C#.
8. Опишите формат объявления констант и переменных.
9. Каким образом осуществляется преобразования типов данных
в C#?
10. Какой метод позволяет преобразовать строку символов
в указанный тип данных?
11. При каких условиях происходит автоматическое (неявное) пре-
образование типов?
12. Какая операция предусмотрена в С# для проверки на предмет ус-
ловий переполнения? Какое исключение будет генерироваться
во время выполнения в случае возникновения условия перепол-
нения?
13. Приведите пример использования класса Convert для преобра-
зования типов.
14. Какие методы используются для вывода по формату? Приведите
примеры их использования.
15. Какие операции используются в арифметических выражениях?
40
16. Опишите операции инкремента и декремента и их префиксную
и постфиксную формы.
17. К какому классу относятся математические методы? Правила ис-
пользования стандартного математического метода в приложе-
нии?
18. Назовите основные логические операции, используемые для на-
писания логических выражений.
19. Чем отличаются логические операции && и & (|| и |)
20. Перечислите знаки отношений.
21. С помощью какого оператора реализуется алгоритмическая
структура «Развилка»? Нарисуйте ее блок-схему.
22. Когда применяется условный оператор?
23. Приведите пример на использование условного оператора.
24. С помощью какого оператора реализуется алгоритмическая
структура «Выбор»? Нарисуйте ее блок-схему.
25. Что позволяет делать оператор выбора?
26. Что такое селектор в операторе выбора?
27. Приведите пример использования оператора выбора.
28. В чем различие между элементами управления класса CheckBox
и класса RadioButton?
29. Опишите свойство Checked для элементов управления классов
CheckBox и RadioButton .
30. Какое свойство объекта класса Label можно использовать для
вывода результата?
31. Какое свойство объекта класса TextBox можно использовать
для вывода результата?
32. Как можно организовать ввод данных в приложениях C#?
33. Как можно организовать вывод данных в приложениях C#?
34. Что необходимо прописать в программном коде многооконного
приложения, чтобы открыть другую форму?
41
8. КРИТЕРИИ РЕЗУЛЬТАТИВНОСТИ ЛАБОРАТОРНОГО
ПРАКТИКУМА

Критерии оценки лабораторной работы (максимальное количе-


ство баллов 50):
Выполнение индивидуальных заданий
лабораторной работы
Составление Создание Реализация
Задание
алгоритма интерфейса алгоритма
Создание приложения ли-
0-1 0-2 0-2
нейной структуры
Создание приложения
0-2 0-3 0-5
разветвляющей структуры
Создание калькулятора 0-2 0-2 0-5
Создание кнопочного
калькулятора
0-4 0-5 0-10
(повыш.
сложности)

Составление отчета по выполненной


лабораторной работе в MS Word

ПЗ Содержание Оформление
0-4 0-3

Критерии выставления баллов за одно задание:

Балл за задание Критерий


0 Задание не выполнено
Максимальное количество
Задание выполнено верно и защищено
баллов (max)
Выставляются по усмотрению препода-
вателя, если:
Баллы из промежутка - задание выполнено неверно,
(0; max) - допущены грубые или незначитель-
ные ошибки,
- задание выполнено частично.

42
Таблица перевода оценки данной лабораторной работы
в баллы для итоговой аттестации:

Оценка лабораторной работы Баллы для итоговой аттестации


32-50 10-12
20-31 8-9
12-19 7
<12 0-6

Критерии итоговой оценки дисциплины (зачета или экзамена):


Требования балльно-
Итоговая оценка рейтинговой систем Итоговый балл (ИБ)
(диапазон баллов)
Отлично 91-100
Хорошо 74-90
Удовлетворительно 61-73
ИБ = max (КТ+∆
∆, ТУ)
Неудовлетворительно 0-60
20, если ТУ ≥ 61 балла или защищено 5 − 6 лабораторн ых работ;

∆ = 10, если набрано ≥ 40 баллов или защищено 3 − 4 лабораторн ых работы;
0, иначе.

где КТ – балл за компьютерное тестирование (0-100);
ТУ – балл, набранный студентом по текущей успеваемости
в семестре по результатам лабораторных работ, за активное уча-
стие на практических занятиях и др.

43
СПИСОК ЛИТЕРАТУРЫ

1. А. Хейлсберг, М. Торгерсен, С. Вилтамут, П. Голд. СПб.: Питер,


2012. 784 с.
2. К. Уотсон, К. Нейгел, Я. Педерсен, Д. Рид, М.Скиннер. Visual С#
2010: полный курс. М.: ООО «И.Д. Вильямс», 2011. 960 с.
3. Зиборов В. В. Visual С# 2010 на примерах. СПб.: БХВ-
Петербург. 2011. 432 с.
4. Д. Скит. С#: программирование для профессионалов. М. : ООО
«И.Д. Вильямс», 2011. 544 с.
5. Стиллмен Э., Грин Дж. Изучаем С#. СПб.: Питер, 2012. 696 с.
6. Рихтер Дж. CLR via С#. Программирование на платформе
Microsoft .NET Framework 4.0 на языке С#. СПб.: Питер. 2012.
928 с.

44
Составители: КАРЧЕВСКАЯ Маргарита Петровна
РАМБУРГЕР Ольга Леонардовна

РАЗВЕТВЛЕННЫЕ КОНСТРУКЦИИ
В C#

Лабораторный практикум
по дисциплинам «Информатика» и
«Программирование и основы алгоритмизации»

Подписано в печать 27.06.2016. Формат 60х84 1/16.


Бумага офсетная. Печать плоская. Гарнитура Times New Roman.
Усл. печ.л. 4,5. Усл. кр.- отт. 4,5. Уч.-изд.л. 4,5.
Тираж 100 экз. Заказ №
ГОУВПО Уфимский государственный авиационный технический
университет
Центр оперативной полиграфии УГАТУ
450000, Уфа-центр, К.Маркса, 12

Оценить