Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Урок11. Логический тип данных. Операторы ветвления






 

Для логического (булевого) типа данных (bool), в С# определены два значения true и false (истина и ложь). Следовательно, переменная типа bool или логическое выражение будут иметь одно из этих двух значений. Более того, не существует способа преобразования значений типа bool в целочисленные значения. Например, значение 1 не преобразуется в значение true, а значение 0 - в значение false.

Пример объявления и инициализации логических переменных: bool a = true, b=false;

 

Для логических типов определены операторы сравнения и логические операторы, которые были приведены в уроке №3. Напомним их:

== Равно

! = Не равно

> Больше чем

< Меньше чем

> = Больше или равно

< = Меньше или равно

& AND (И)

| OR (ИЛИ)

^ XOR (исключающее ИЛИ)

& & Short-circuit AND (быстрый оператор И)

|| Short-circuit OR (быстрый оператор ИЛИ)

! NOT (НЕ)

 

Для логических операторов операнды должны иметь тип bool. Результатом логических операций также являются значения, имеющие тип bool. В С# предусмотрены специальные быстрые версии логических операторов AND и OR, при использовании которых программа будет выполняться быстрей. Разница между обычной и быстрой версиями операторов состоит в том, что обычные операторы всегда оценивают и первый, и второй операнды, а быстрые операторы оценивают второй операнд только при необходимости.

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

1. Создайте новый проект.

2. Разместите на форме компоненты TextBox и Button.

3. Напишите процедуру для кнопки:

bool p, q; textBox1.AppendText(" P\tQ\tAND\tOR\n");   p = true; q = true; textBox1.AppendText(p + " \t" + q + " \t" +(p & q) + " \t" + (p | q) + " \n");   p = true; q = false; textBox1.AppendText(p + " \t" + q + " \t" +(p & q) + " \t" + (p | q) + " \n");   Объявляем логические переменные. В textboxвыводим строку заголовка таблицы. \t – добавляет символ табуляции, \n– добавляет символ перехода на новую строку. Присваиваем переменным значения. Добавляем в textboxстроку со значениями переменных и значениями операций.   Присваиваем переменным другие значения. Добавляем в textboxстроку со значениями переменных и значениями операций.

 

4. Запустите программу и проверьте её работу.

Как видите, данная программа выводит таблицу истинности для двух функций AND и OR и для двух вариантов значений переменных P и Q. Ваша задача: самостоятельно добавить вычисление еще двух функций NOT и XOR для всех возможных значений переменных P и Q.

 

 

В языке C# в качестве оператора ветвления используется оператор If. Полныйформатоператора If:

if (условие) { … } else { … }  
If служит для разветвления программы на два направления. Если некоторое условие выполняется, то выполняется одна группа операторов, если не выполняется - то другая группа операторов. Как и в других C-подобных языках, фигурные скобки можно не писать в случае одного оператора. Также написание ветки else не является обязательным - все зависит от конкретной задачи.

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

Toyota Avensis – 24000

Toyota Corolla - 21500

Toyota Camry – 32600.

Стоимость дополнительной комплектации:

ABS – 800

Сигнализация – 300

Противотуманные фары – 400

Парктроник – 600

 

Процедура для кнопки «Вычислить»:

int b=0; if (radioButton1.Checked) b = 24000; if (radioButton2.Checked) b = 21500; if (radioButton3.Checked) b = 32600; label3.Text = Convert.ToString(b); if (checkBox1.Checked) b += 800; if (checkBox2.Checked) b += 300; if (checkBox3.Checked) b += 400; if (checkBox4.Checked) b += 600; label4.Text = Convert.ToString(b);  

 

 

Самостоятельно добавьте в программу модель автомобиля Toyota RAV4 и комплектацию Навигационная система.  

 


В этой программе использованы компоненты RadioButton и CheckBox. Ихосновное свойство - Checked типа Boolean, которое может принимать значения true или false (включено, выключено). Компоненты RadioButton взаимоисключают друг друга в пределах одного контейнера, т.е. пользователь может выбрать только один из них. CheckBox может также находиться в трех состояниях: Checked (включен), Unchecked (выключен) Indeterminate (не определен). Для этого его свойство ThreeState необходимо установить в true. Узнать его состояние можно с помощью свойства CheckState. Например:

 

if (checkBox1.CheckState == CheckState.Indeterminate) MessageBox.Show(" Состояниенеизвестно! ");

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.