Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 C# условный оператор_29_03_15.doc
Скачиваний:
26
Добавлен:
29.03.2016
Размер:
221.18 Кб
Скачать

Задание 3.3. Применение оператора ?

3.3.1. Двум целочисленным переменным a и b присвоить значение генерированных двух псевдослучайных чисел на диапазон от 0 до 100. В соответствии с вариантом (см. табл. 4) при помощи оператора ? присвоить переменой с результат вычисления в зависимости от условия.

Таблица 4

Вариант

Условие

Если условие истинно

Если условие ложно

1

a+b=70

50

a+8

2

a-b>0

b-3

a+8

3

a+b+3<80

a

22

4

a+b=50

40

b+5

5

a-b>10

b-5

a+18

6

a+b+15<70

a

11

7

a+b=60

30

b+15

8

a-b>20

b-2

a+80

9

a+b+18>60

a

33

10

a+b=80

20

b+50

11

a-b>35

b-1

a+2

12

a+b+45>10

a

77

13

a+b=90

10

b+52

14

a-b>25

b-5

a+28

15

a+b+35<90

b

55

16

a+b=40

a

b+32

17

a-b>45

70

11

18

a+b+7<77

b-4

b+72

19

a+b=30

a

a+23

20

a-b>50

80

22

21

a+b+25>60

b-2

b+53

22

a+b=20

b

a+38

23

a-b>77

90

11

24

a+b+24<80

b-1

b+45

25

a+b=10

a

a+41

26

a-b>29

33

12

27

a+b+1<10

b-2

b+19

28

a+b=55

b

a+89

29

a-b>13

55

23

30

a+b+20>99

b-1

b+1

Методические указания

Методические указания к пункту 3.1.1.

Считывание в консольном приложении с клавиатуры осуществляется с помощью метода WriteLine класса Console. Пример:

Как видно из примера метод возвращает значение типа String. Это удобно для считывания текста ответа на тест, анкетных данных, паролей и т.д. Но не подходит, если необходимо числовые значения (например, коэффициенты квадратного уравнения).

Для этого нужно применять метод Parse класса Int. Пример:

Конструкция оператора if:

if (условие) оператор_1;

else оператор_2;

Если условие верно (выражение равно true или переменная равна true) то будет выполнен только оператор_1, если условие ложно то будет выполнен оператор_2. Пример:

Оператор if может обходиться без ветвления else. В рассмотренной конструкции в зависимости от условия выполняется только по одному оператору. С помощью операторных скобок можно сгруппировать операторы и конструкция примет вид:

if (условие) {группа_операторов_1;}

else {группа_операторов_2;}

Стоит обратить внимание на то, что между else и операторной скобкой не ставится точка с запятой. Это одна из распространенных синтаксических ошибок.

Вторая конструкция предпочтительней, даже если используется с одиночными операторами, т.к. может избежать ошибок в дальнейшем при расширении программы и делает листинг более удобным для чтения.

Алгоритм программы тестирования кратко описан ниже.

Задать вопрос, считать значение, сверить с ответом, если верно, то инкрементировать переменную учитывающую баллы. Задав последний вопрос, сравнить значение баллов и 5 если равно, то вывести оценку “Отлично”, иначе сравнить с 4, если равно вывести “Хорошо”, иначе сравнить с 3 и если равно вывести “Удовлетворительно” иначе вывести “Неудовлетворительно”.

Методические указания к пункту 3.1.2.

Для того что бы можно было сгенерировать псевдослучайные значения, необходимо создать экземпляр класса Random. Пример:

Затем методы созданного объекта Next и NextDouble будут возвращать псевдослучайные значения типа Int и Double соответственно. При этом для метода Next можно использовать без параметров так и определить с их помощью границы генерации. Пример:

Методические указания к пункту 3.3.1.

Оператор ? является особой формой конструкции if-then-else. Его особенности применения заключаются в способности возвращать значение и упрощенная форма записи для работы с выражениями. Конструкция оператора:

(условие) ?(выражение 1):(выражение 2);

Если результат условия в результате равен значению истина (true) то в качестве результата возвращается значение выражения 1, иначе – выражения 2. Рассмотрим пример:

После выполнения приведенных операторов, переменной s будет присвоено значение “Меньше” (т.к. в результате сравнения будет значение false), а переменной c присвоено значение 75, (т.к. в результате сравнения будет значение true).