РАЗВЕТВЛЕННЫЕ КОНСТРУКЦИИ
В C#
Лабораторный практикум
по дисциплинам «Информатика» и
«Программирование и основы алгоритмизации»
Уфа 2016
Министерство образования и наук Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
Уфимский государственный авиационный технический университет
Кафедра информатики
РАЗВЕТВЛЕННЫЕ КОНСТРУКЦИИ
В C#
Лабораторный практикум
по дисциплинам «Информатика» и
«Программирование и основы алгоритмизации»
Уфа 2016
Составители: М. П. Карчевская, О. Л. Рамбургер
УДК 004.43(07)
ББК 32.973.26-018.2(Я7)
© Уфимский государственный
авиационный технический университет, 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
ВВЕДЕНИЕ
5
1. ЦЕЛЬ И ЗАДАЧИ ЛАБОРАТОРНОЙ РАБОТЫ
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
7
Application (приложение Windows) (рис. 1). В поле Name введите
название проекта Мое первое приложение. В поле Location с
помощью кнопки Browse выберите папку, где будете сохранять
проект. Снимите галочку у флажка Create directory for
Solution. Нажмите кнопку ОК.
8
Рис. 2. Диалоговое окно Save Project
Проект сохраняется в отдельной папке, имя которой по умолча-
нию совпадает с именем проекта.
На рис. 3 представлена среда VS с отображением макета созда-
ваемого приложения. На рисунке приняты следующие обозначения:
9
1
2 3
5
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 Показать форму
12
Основное событие компонента TextBox:
TextChangеd Происходит, когда пользователь изменяет текст
13
3. СОЗДАНИЕ ПРИЛОЖЕНИЙ ЛИНЕЙНОЙ СТРУКТУРЫ
3.1. Краткие теоретические сведения
3.1.1. Алфавит языка и его лексемы
Алфавит – фиксированный для данного языка набор символов
(букв, цифр, специальных знаков и т.д.), которые могут быть исполь-
зованы при написании программы.
В качестве символов в C# используются прописные и строчные
буквы латинского алфавита, десятичные цифры, специальные симво-
лы:
+ - * / % ! & > < =
_ ; # “ ‘ , . ? ~ ^ \
: [ ] | { } ( ) @ пробел
а также составные символы:
!= == <= >=
// /* */
Лексема – единица текста программы, которая при компиляции
воспринимается как единое целое и по смыслу не может быть разде-
лена на более мелкие элементы.
В языке С# шесть классов лексем:
- служебные (ключевые) слова,
- пользовательские идентификаторы,
- константы,
- строки (строковые константы),
- операции (знаки операций),
- разделители (знаки пунктуации).
Служебные (ключевые) слова имеют фиксированные начерта-
ния и раз навсегда определенный смысл. Например: if, else, for,
return, void, switch, do, while, int, float, string,
char и т.д.
Идентификаторы пользователя служат для обозначения типов
данных, констант, переменных, методов (процедур и функций), опре-
деленных самим пользователем.
14
Правила именования пользовательских идентификаторов:
- Первым символом в имени должна быть либо буква, либо
символ подчеркивания (_), либо символ @.
- Последующими символами могут быть буквы, символы под-
черкивания или числа.
- Нельзя применять в качестве имени ключевые слова, которые
имеют для компилятора особый смысл.
Очень важным моментом, на который обязательно нужно обра-
тить внимание, С# это язык, который чувствителен к регистру.
Например, myString, MyString, MYSTRING – это имена
трех разных переменных.
Код на С# состоит из ряда операторов, каждый из которых окан-
чивается символом точки с запятой. В одной строке можно записать
несколько операторов, один оператор можно разбить на несколько
строк. Дополнительные пробелы, пустые строки компилятором игно-
рируются.
С# является языком с блочной структурой, т.е. все операторы
относятся к какому-то блоку кода. Блок отделяется от остальной час-
ти кода с помощью фигурных скобок { и }, между которыми может
содержаться любое количество операторов или вообще ни одного.
Для обозначения комментариев используются символы /* и */,
если комментарий занимает несколько строчек, и символы //, если
комментарий занимает одну строку.
Например,
/* Это
комментарий */
// Это тоже комментарий
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 (без знака)
17
Если приведение типов приводит к сужающему преобразова-
нию, то часть информации может быть потеряна.
Например, когда значение с плавающей точкой приводится к
целочисленному, то в результате усечения теряется дробная часть
этого числового значения.
Double a = 2.55; int a = 256;
int b = (int)(a); byte b = (byte)(a);
Результат: 2 Результат: 0
18
Методы класса Convert. Данный класс определен в простран-
стве имен System, содержит 15 статических методов вида
ToType,
где Type может принимать значения от Boolean до UInt64 для
всех встроенных типов.
Пример использования класса Convert для преобразования ти-
пов:
Double y;
Int x;
//Приведение вещественной y переменной к целому типу
x = Convert.ToInt32(y);
//Приведение целой переменной x к вещественному типу
y = Convert.ToDouble(x);
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;
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);
24
3.2. Практическая часть. Создание приложения
линейной структуры
Задание 2. Создайте приложение, вычисляющее сумму двух чисел.
Шаг 1. Перейдите на стартовую страницу, где выберите ссылку
Create. Дайте название проекту Сумма двух чисел.
Шаг 2. Создайте интерфейс формы как показано на рис. 7.
Объект
класса
Button
25
4. СОЗДАНИЕ МНОГООКОННОГО ИНТЕРФЕЙСА
4.1. Краткие теоретические сведения
Первая форма проекта (Form1) создается автоматически. Для
добавления новых форм в проект при создании многооконного при-
ложения используется команда меню Project → Add Windows
Form, которая вызывает появление диалогового окна Add New
Item, в текстовом поле которого отразится имя очередной формы,
например, Form2. Кнопка Add добавляет форму в проект. Все добав-
ленные формы отразятся в окне редактора среды (рис. 8).
27
Задание 4. В проекте, созданном в задании 3, оформите форму 2 как
на рис. 11 и напишите программный код, вычисляющий значение
функции для заданного пользователем аргумента (согласно варианту
индивидуального задания в разделе 6.1)
Дайте пояснения к вашему приложению. Ответьте на следующие во-
просы:
1. Какие элементы управления были использованы при разработке
интерфейса формы и для чего?
2. Какие свойства элементов были исправлены при проектировании, а
какие в программном коде?
3. Какие стандартные процедуры и функции были использованы?
28
5. СОЗДАНИЕ ПРИЛОЖЕНИЙ РАЗВЕТВЛЯЮЩЕЙ
СТРУКТУРЫ
5.1. Краткие теоретические сведения
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) в зависимости от значения некоторой величины (селек-
тора).
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;
33
Примечание. Если вы хотите объединить несколько объектов,
используя этот объект, то сначала расположите на форме именно его,
а затем добавьте на панель необходимые вам объекты.
5.2. Практическая часть. Создание приложений
разветвляющей структуры
Задание 4. В проекте, созданном в задании 3, оформите форму 3 как
на рис. 14 и напишите программный код, вычисляющий значения пе-
ременных по заданным расчетным формулам и наборам исходных
данных (согласно варианту индивидуального задания в разделе 6.2).
Дайте пояснения к вашему приложению. Ответьте на следующие во-
просы:
1. Какие входные данные необходимы для работы приложения?
2. Что считать выходными данными?
3. Использованы ли в программном коде дополнительные перемен-
ные, которые нельзя отнести к входным или выходным данным?
4. Какие элементы управления были использованы при разработке
интерфейса формы и для чего?
5. Какие свойства элементов были исправлены при проектировании,
а какие в программном коде?
6. Какие стандартные методы были использованы?
34
При выполнении следующих заданий вы можете выполнить ли-
бо задание 5, либо задание 6 (повышенной сложности).
За выполнение задания повышенной сложности вы получите макси-
мальное количество баллов (см. раздел 8).
Задание 5. В проекте, созданном в задании 3, оформите форму 4 как
на рис. 15, и напишите программный код, позволяющий выполнять
четыре основные арифметические операции (+, -, /, *) над двумя лю-
быми числами, т.е. создайте Калькулятор.
Для выбора арифметической операции используйте элемент управле-
ния RadioButton. Для выбора представления результата (по фор-
мату или нет) используйте элемент управления CheckBox.
Дайте пояснения к форме, ответьте на следующие вопросы:
1. Какие входные данные необходимы для работы калькулятора?
2. Что считать выходными данными работы калькулятора?
3. Использованы ли в программном коде дополнительные перемен-
ные, которые нельзя отнести к входным или выходным данным?
4. Какие элементы управления были использованы при разработке
интерфейса формы и для чего?
5. Какие свойства элементов были исправлены при проектировании,
а какие в программном коде?
36
6. ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ
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. КОНТРОЛЬНЫЕ ВОПРОСЫ
ПЗ Содержание Оформление
0-4 0-3
42
Таблица перевода оценки данной лабораторной работы
в баллы для итоговой аттестации:
43
СПИСОК ЛИТЕРАТУРЫ
44
Составители: КАРЧЕВСКАЯ Маргарита Петровна
РАМБУРГЕР Ольга Леонардовна
РАЗВЕТВЛЕННЫЕ КОНСТРУКЦИИ
В C#
Лабораторный практикум
по дисциплинам «Информатика» и
«Программирование и основы алгоритмизации»