Файл: Практикум по информатике рекомендовано в качестве учебного пособия.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 30.11.2023

Просмотров: 731

Скачиваний: 14

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

26
Информация, которая отображается построчно в окне, находится в массиве строк
Lines
, каждая строка которого имеет тип string
. Одна- ко нельзя напрямую обратиться к этому свойству для добавления новых строк, поскольку размер массивов в C# определяется в момент их ини- циализации. Для добавления нового элемента используется свойство
Text
, к текущему содержимому которого можно добавить новую строку: textBox4.Text +=
Environment
.NewLine +
"Привет"
;
В этом примере к текущему содержимому окна добавляется символ перевода курсора на новую строку (который может отличаться в разных операционных системах и потому представлен свойством класса
Environment
) и сама новая строка. Если добавляется числовое значение, то его предварительно нужно привести в символьный вид методом
ToString()
Работа с программой происходит следующим образом. Нажмите
(щелкните мышью) кнопку «Выполнить». В окне textBox4
появляется результат. Измените исходные значения x
, y
, z
в окнах textBox1

textBox3
и снова нажмите кнопку «Выполнить» – появятся новые ре- зультаты.
Полный текст программы имеет следующий вид: using
System; using
System.Windows.Forms; namespace
MyFirstApp
{ public partial class
Form1
:
Form
{ public
Form1()
{
InitializeComponent();
} private void
Form1_Load(
object sender,
EventArgs e)
{
// Начальное значение X
textBox1.Text =
"3,4"
;
// Начальное значение Y
textBox2.Text =
"0,74"
;
// Начальное значение Z
textBox3.Text =
"19,43"
;
}

27 private void button1_Click(
object sender,
EventArgs e)
{
// Считывание значения X
double x = double
.Parse(textBox1.Text);
// Вывод значения X в окно textBox4.Text +=
Environment
.NewLine +
"X = "
+ x.ToString();
// Считывание значения Y
double y = double
.Parse(textBox2.Text);
// Вывод значения Y в окно textBox4.Text +=
Environment
.NewLine +
"Y = "
+ y.ToString();
// Считывание значения Z
double z = double
.Parse(textBox3.Text);
// Вывод значения Z в окно textBox4.Text +=
Environment
.NewLine +
"Z = "
+ z.ToString();
// Вычисляем арифметическое выражение double a =
Math
.Tan(x + y) *
Math
.Tan(x + y); double b =
Math
.Exp(y ‐ z); double c =
Math
.Sqrt(
Math
.Cos(x*x) +
Math
.Sin(z*z)); double u = a ‐b * c;
// Выводим результат в окно textBox4.Text +=
Environment
.NewLine +
"Результат U = "
+ u.ToString();
}
}
}
Если просто скопировать этот текст и заменить им то, что было в редакторе кода Visual Studio, то программа не заработает. Правильнее будет создать обработчики событий
Load у формы и
Click у кнопки и уже в них вставить соответствующий код. Это замечание относится и ко всем последующим лабораторным работам.
2.7. Выполнение индивидуального задания
Ниже приведено 20 вариантов задач. По указанию преподавателя выберите свое индивидуальное задание. Уточните условие задания, ко- личество, наименование, типы исходных данных. В соответствии с этим установите необходимое количество окон
TextBox
, тексты заголовков на форме, размеры шрифтов, а также типы переменных и функции преоб- разования при вводе и выводе результатов. Для проверки правильности


28 программы после задания приведен контрольный пример: тестовые зна- чения переменных, используемых в выражении, и результат, который при этом получается.
Индивидуальные задания
1.
2 2
2 2cos
6 1
0.5 sin
3
/ 5
x
z
t
y
z





 











При x
=
14.26, y
=
–1.22, z
=
3.5

2 10

t
=
0.564849.
2.


2 3
2 2
2 8
1
tg
1 .
2
x
x y
x y
u
e
z
x
y

 






При x
=
–4.5, y
=
0.75×10
–4
, z
=
0.845×10 2
u
=
–55.6848.
3.


2 2
2 2 1 sin
1
cos arctg
2 1
y
x y
v
x
z
y
x
x y












При x
=
3.74×10
–2
, y
=
–0.825, z
=
0.16×10 2
, v
=
1.0553.
4.


2 2
3 4
1 2sin cos cos
1 2
3 4
y
z
z
z
w
x
y
z





 






При x
=
0.4×10 4
, y
=
–0.875, z
=
–0.475×10
–3
w
=
1.9873.
5.
 
 
2
ln sin arctg
2
x
y
y
x
z











При x
=
–15.246, y
=
4.642×10
–2
, z
=
20.001×10 2

=
–182.036.
6.




2 2
3 10
arcsin
y
x x
z
x y




 
При x
=
16.55×10
–3
, y
=
–2.75, z
=
0.15

=
–38.902.
7.
 
 
2 2
3 1
5arctg arccos
4
x
x y
x
x
x
x y z x


 




При x
=
0.1722, y
=
6.33, z
=
3.25×10
–4

=
–172.025.
8.
 
 
6 2
3
ln arctg arctg
x y
x y
e
x y
x
y
x
z








При x
=
–2.235×10
–2
, y
=
2.23, z
=
15.221

=
39.374.

29 9.






3 2
cos
1
y
x
z
y
y x
y
x
y x
x
y x









При x
=
1.825 2
10

, y
=
18.225, z
=
–3.298 2
10



=
1.2131.
10.
1/sin
3 4
2
x
x
z
a
x
y e




При x
=
3.981 2
10


, y
=
–1.625 3
10

, z
=
0.512 a
=
1.26185.
11.
 
3 2
3
sin
1
cos
2
x
x y
z
x y
x y
b y
y
x
e















При x
=
6.251, y
=
0.827, z
=
25.001 b
=
0.7121.
12.
 
 
2
arctg
6 2
3 1
1
x
y
y
x
y
z
с
x
y













При x
=
3.251, y
=
0.325, z
=
0.466 4
10


c
=
4.025.
13.


3 4
2 1
sin tg
y
x
f
x y
z
z





При x
=
17.421, y
=
10.365 3
10


, z
=
0.828 5
10

f
=
0.33056.
14.


1 1/sin
3 2
1 2
2 3
x
z
y
x
y
g
x
x y
y







 
При x
=
12.3 1
10


, y
=
15.4, z
=
0.252 3
10

g
=
82.8257.
15.


2 3
1 1
1 1
tg
2 3
y
y
y x
y x
x
e
h
y x
x y
z






 




При x
=
2.444, y
=
0.869 2
10


, z
=
–0.13 3
10

h
=
–0.49871.
16.
2 2 2
(
)
2.7
cos
3.7;
0.07;
1.5;
5.75
cx
c
x
a b
y
cx
e
c x
cx b
a
b
c
x













30 17.
2 2
1 2
(
)
ln(
)
4.5
(
)(
) 10
(
)
ln(
)
7.5;
1.2;
0.5
x
a b
a b
y
a b a b
e
a b
a b
a
b
x














18.
2 2
2 2.4
(
)sin (
) 10 (
)
5.1;
0.7;
0.05
x
b
y
a b
a b
x b
a
a
b
x





 



 
19.
2 2
2 2
2
tg
5.7(
)
0.1;
2.4;
0.3
x b a
ax
b
y
b
x
b
x
a
b
x
 






 
20.
2 2
2 3
ln(
)
10 0.7 4.5;
7.4;
2.1;
0.15
c dx
x
c
y
x
x ad
c dx
a
c
d
x










 


31
1   2   3   4   5   6   7   8   9   ...   12

ЛАБОРАТОРНАЯ РАБОТА № 3.
РАЗВЕТВЛЯЮЩИЕСЯ АЛГОРИТМЫ
Цель лабораторной работы
: научиться пользоваться элементами управления для организации переключений (
RadioButton
). Написать и отладить программу разветвляющегося алгоритма.
3.1. Логические переменные и операции над ними
Переменные логического типа описываются посредством служеб- ного слова bool
. Они могут принимать только два значения –
False
(ложь) и
True
(истина). Результат
False
(ложь) и
True
(истина) возника- ет при использовании операций сравнения
>
(больше),
<
(меньше),
!=
(не равно)
, >=
(больше или равно),
<=
(меньше или равно),
==
(равно).
Описываются логические переменные следующим образом: bool b;
В языке C# имеются логические операции, применяемые к пере- менным логического типа. Это операции логического отрицания (
!
), ло-
гическое И (
&&
) и логическое ИЛИ (
||
). Операция логического отрица- ния является унарной операцией. Результат операции
!
есть
False
, если операнд истинен, и
True
, если операнд имеет значение «ложь». Так,
!True → False
(неправда есть ложь),
!False → True
(не ложь есть правда).
Результат операции логическое И (
&&
) есть истина, только если оба ее операнда истинны, и ложь во всех других случаях. Результат опера- ции логическое ИЛИ (
||
) есть истина, если какой-либо из ее операндов истинен, и ложен только тогда, когда оба операнда ложны.
3.2. Условные операторы
Операторы ветвления позволяют изменить порядок выполнения операторов в программе. К операторам ветвления относятся условный оператор if и оператор выбора switch
Условный оператор if используется для разветвления процесса об- работки данных на два направления. Он может иметь одну из форм: со- кращенную или полную.
Форма сокращенного оператора if
: if
(B) S;

32 где
В
– логическое или арифметическое выражение, истинность которо- го проверяется;
S
– оператор.
При выполнении сокращенной формы оператора if сначала вычис- ляется выражение
B
, затем проводится анализ его результата: если
B
ис- тинно, то выполняется оператор
S
; если
B
ложно, то оператор
S
пропус- кается. Таким образом, с помощью сокращенной формы оператора if можно либо выполнить оператор
S
, либо пропустить его.
Форма полного оператора if
: if
(B) S1; else
S2; где
B
– логическое или арифметическое выражение, истинность которо- го проверяется;
S1
,
S2
– операторы.
При выполнении полной формы оператора if сначала вычисляется выражение
B
, затем анализируется его результат: если
B
истинно, то вы- полняется оператор
S1
, а оператор
S2
пропускается; если
B
ложно, то выполняется оператор
S2
, а
S1
– пропускается. Таким образом, с по- мощью полной формы оператора if можно выбрать одно из двух аль- тернативных действий процесса обработки данных.
Для примера вычислим значение функции: sin( ), если
( )
cos( ), если tg( ), если
x
x a
y x
x
a x b
x
x b




 




Указанное выражение может быть запрограммировано в виде if
(x <= a) y =
Math
.Sin(x); if
((x > a) && (x < b)) y =
Math
.Cos(x); if
(x >= b) y =
Math
.Sin(x) /
Math
.Cos(x); или с помощью оператора else
: if
(x <= a) y =
Math
.Sin(x); else if
(x < b) y =
Math
.Cos(x); else y =
Math
.Sin(x) /
Math
.Cos(x);


33
Важное примечание!
В C-подобных языках программирования, к которым относится и C#, операция сравнения представляется двумя знаками равенства, например: if
(a == b)
Оператор выбора switch предназначен для разветвления процесса вычислений по нескольким направлениям. Формат оператора: switch
(<выражение>)
{ case
<константное_выражение_1>:
[<оператор 1>];
<оператор перехода>; case
<константное_выражение_2>:
[<оператор 2>];
<оператор перехода>; case
<константное_выражение_n>:
[<оператор n>];
<оператор перехода>;
[
default
:
<оператор>;]
}
Замечание.
Выражение, записанное в квадратных скобках, являет- ся необязательным элементом в операторе switch
. Если оно отсутству- ет, то может отсутствовать и оператор перехода.
Выражение, стоящее за ключевым словом switch
, должно иметь арифметический, символьный или строковый тип. Все константные вы- ражения должны иметь разные значения, но их тип должен совпадать с типом выражения, стоящим после switch или приводиться к нему. Клю- чевое слово case и расположенное после него константное выражение называют также меткой case
Выполнение оператора начинается с вычисления выражения, рас- положенного за ключевым словом switch
. Полученный результат срав- нивается с меткой case
. Если результат выражения соответствует метке case
, то выполняется оператор, стоящий после этой метки, за которым обязательно должен следовать оператор перехода: break
, goto
, return и т. д. При использовании оператора break происходит выход из switch и управление передается оператору, следующему за switch
. Если же ис- пользуется оператор goto
, то управление передается оператору, поме- ченному меткой, стоящей после goto
. Наконец, оператор return завер- шает выполнение текущего метода.

34
Если ни одно выражение case не совпадает со значением оператора switch
, управление передается операторам, следующим за необязатель- ной подписью default
. Если подписи default нет, то управление пере- дается за пределы оператора switch
Пример использования оператора switch
: int dayOfWeek = 5; switch
(dayOfWeek)
{ case
1:
MessageBox
.Show(
"Понедельник"
); break
; case
2:
MessageBox
.Show(
"Вторник"
); break
; case
3:
MessageBox
.Show(
"Среда"
); break
; case
4:
MessageBox
.Show(
"Четверг"
); break
; case
5:
MessageBox
.Show(
"Пятница"
); break
; case
6:
MessageBox
.Show(
"Суббота"
); break
; case
7:
MessageBox
.Show(
"Воскресенье"
); break
; default
:
MessageBox
.Show(
"Неверное значение!"
); break
;
}
Поскольку на момент выполнения оператора switch в этом примере переменная dayOfWeek равнялась 5, то будут выполнены операторы из блока case 5
В ряде случаев оператор switch можно заменить несколькими опе- раторами if, однако не всегда такая замена будет легче для чтения. На- пример, приведенный выше пример можно переписать так: int dayOfWeek = 5; if
(dayOfWeek == 1)
MessageBox
.Show(
"Понедельник"
); else if
(dayOfWeek == 2)