- •Министерство образования и науки российской федерации брянская государственная инженерно-технологическая академия
- •Часть I. Язык c# .Net 8
- •2.3. Варианты задании 45
- •3.1. Цель работы 54
- •4.1. Цель работы 63
- •Лабораторная работа №2. Инструкции управления
- •Цель работы
- •Теоретическая часть
- •Варианты задании
- •Порядок выполнения работы
- •Требования к содержанию отчета
- •Контрольные вопросы
- •Лабораторная работа №3. Пользовательские методы
- •Цель работы
- •Теоретическая часть
- •Варианты задании
- •Варианты задании
Лабораторная работа №2. Инструкции управления
Цель работы
Целью лабораторной работы является:
Знакомство с логическими выражениями.
Знакомство с инструкциями выбора.
Знакомство с циклами.
Теоретическая часть
Невозможно создание программы без использования операторов сравнения, логических операторов, инструкции условий и циклов.
Операторы сравнения и логические операторы
Значение
Оператор
сравнения
Значение
==
Равно
!
=
Не
равно
>
Больше
<
Меньше
>=
Больше
или равно
<=
Меньше
или равно
К
логическим операторам относятся
операторы: Логические
операторы языка C+
Логический
оператор |
|
Бинарные операторы |
|
&& |
И |
|
Или |
Унарные операторы |
|
! |
Не |
Логические условия
Операторы сравнения и логические операторы используют для записи логических условий используемых в инструкциях условий и циклах.
Пример логического условия:
10>9 && 3<23 && 4==4
Логическое условие возвращает True, если оно истинно и False в противном случае.
Инструкции выбора
К инструкциям выбора относятся инструкции if, if...else и переключатель, или как его ещё называют инструкцией множественного выбора (switch). Инструкция выбора заставляет исполняться тот или иной фрагмент программного кода в зависимости от входящего в эту инструкцию условия.
Общий синтаксис условной инструкции if:
if(ycAoeue) инструкция_1 или блок_инструкий_1;
Общий синтаксис условной инструкции if...else:
if (условие) инструкция_1 или блок_инструкий_1; else инструкция _2 или блок_инструкий_2;
Циклы for, while и do-while
P-S - Цикл - это инструкция языка программирования, позволяю
щий многократно повторять одну и ту же последовательность инструкций (тело цикла). Различают:
циклы с предусловиями;
циклы с постусловием.
Предусловие - условие, истинность которого проверяется в начале выполнения тела цикла.
- Постусловие - условие, истинность которого проверяется по
сле выполнения тела цикла.
Цикл for является циклом с предусловием.
Общий синтаксис цикла:
for (установка_началъного_значения счетчика ; условие выполнения_цикла; изменение счетчика) телоцикла;
Цикл while, как и цикл for является циклом с предусловием.
Общий синтаксис цикла:
while(условuе)
телоцикла
Цикл do-while является циклом с постусловием и имеет следующий синтаксис:
do
{
инструкция;
} while (условие);
С клавиатуры вводятся значения переменных х и у. Вычислить значение логического выражения х2 +у2 > 4. Решение этой задачи
показано в листинге 2.1, а результат работы программы показан на рис. 2.1.
Листинг 2.1. Файл Ex002.cs
using System; class Ex002 {
static void Main()
{
double x, y; bool flag;
Console.Write("BBедите значение x> "); x = Convert.ToDouble(Console.ReadLine()); Console.Write("BBедите значение y> "); y = Convert.ToDouble(Console.ReadLine());
flag=x*x+y* y > 4.0;
Console.WriteLine("y^o вие xA2 + yA2 > 4 я в ляется {0}"
flag);
Console.ReadKey();
}
}
Рис.
2.1. Результаты работы
программы Ex002
Наглядность результатов работы приложения можно улучшить, если при выводе результатов использовать инструкцию if...else. Исходный текст такой программы показан в листинге 2.2, а результаты работы на рис. 2.2
Листинг 2.2. Файл Ex002a.cs
using System; class Ex002 {
static void Main()
{
double x, y; bool flag;
Console.Write("BBедите значение x> "); x = Convert.ToDouble(Console.ReadLine()); Console.Write("BBедите значение y> "); y = Convert.ToDouble(Console.ReadLine());
flag=x*x+y* y > 4.0;
Console.Write("Уcлoвие xA2 + yA2 > 4 является "); if(flag)
Console.WriteLine("истинным.");
else
Console.WriteLine("ложным."); Console.ReadKey();
}
}
Я1 C:\Windows\system32\cmd.exe |
CD |
СЁ), |
|
|||
|
|
|||||
Введите значение x> 1 Введите значение y> 1 Условие хл2 + ул2 > 4 является ложным. |
ж |
|||||
< v |
ill |
|
||||
Рис. 2.2. Результаты работы программы Ex002a
Выполнить табуляцию функции:
Г2х3 + 4х,п их<а , _ ,, .
У = 1 m (2.1)
(, 50,п их>а
вблизи одной из точек а пересечения графиков функций f = 2х3 + 4х и f2 = 50. Приближенно, такую точку можно найти графически (рис. 2.3). Из рисунка следует, что а ~ 2,7. Для определения этой точки возможно применение среды MathCad. Программа, решающая поставленную задачу представлена в листинге 2.3.
Листинг 2.3. Файл Ex003.cs
using System; class Ex002 {
static void Main()
{
double x, x1, x2, dx; double y; int i; int n;
Console.Write("BBедите значение x1> ”); x1 = Convert.ToDouble(Console.ReadLine()); Console.Write(”BBедите значение x2> ”); x2 = Convert.ToDouble(Console.ReadLine()); Console.Write(”BBедите значение n> ”); n = Convert.ToInt32(Console.ReadLine()); dx = (x2 - x1) / n; // приращение аргумента. Console.WriteLine(” x y”);
Console.WriteLine("==================");
// Выполнение табуляции. for (i = 0; i <= n; i++)
{
x = x1 + dx * i; if (x < 2.7)
y=2*x*x*x+4.0*x;
else
y = 50;
Console.WriteLine(” {0:f3}, {1:f6}”, x, y);
}
Console.ReadKey();
}
}
|
У = |
50 \ |
/ |
|
|
|
|
Ул |
/ |
|
|
|
|
У |
= 2 |
х3 - |
f 4х |
|
|
|
|
|
|
y
Рис.
2.4. Результаты работы программы Ex003
50
40
30
20
X
При выводе результатов расчетов, в программе используется форматирование данных. Влияние различного форматирования на
вывод числа показано в прил. 2, В прил. 3 приводятся некоторые стандартные математические методы языка C# необходимые для выполнения лабораторной работы.
