Реферат по предмету "Информатика"


Оператор условия if-else

Лабораторная Работа
На тему: "Оператор условия if-else"
1. Назначение и синтаксис
Оператор условия if-else служит для выбора направления работы программы в зависимости от условий, сложившихся в данной точке программы на момент ее выполнения.
Общая форма записи условного оператора
if()
{
;
}
else
{
;
}
Если на момент выполнения истинно, программа передает управление и, далее, первому оператору за пределами конструкции if-else. При этом не выполняется. Иначе, если ложно, выполняется , а пропускается. Соответствующая блок-схема
Фигурные скобки в синтаксисе оператора if-else используются для выделения в тексте блоков 1 и 2. Старайтесь располагать закрывающую скобку под открывающей для улучшения читаемости программного кода. Для этой же цели текст внутри фигурных скобок необходимо смещать вправо на несколько позиций.
В качестве условия в операторах if-else могут использоваться любые логические выражения, принимающие значения «истинно» или «ложно» (true – false). Ниже приведена таблица с указанием простейших операций сравнения целых и вещественных чисел
операция
знак операции
пример записи на C/С++
больше
>
A > B
меньше

C
больше либо равно
>=
k >= 0
меньше либо равно

i
равно
==
x == y
не равно
!=
D!= 0
Пример 1. Требуется написать программу, переводящую температуру по шкале Цельсия TC (°С) в температуру по Кельвину TK (К). Значение TCвводится пользователем с клавиатуры.
Решение. Используем известную формулу преобразования – TK = TC – T0, где T0= –273 °С – температура абсолютного нуля. Будем считать введенное TC некорректным, если оно меньше T0.
 // – Kelvin vs Celsius –
#pragma hdrstop
#include  // для потокового В/В
#include  // для консольного В/В (getch)
#pragma argsused
int main (int argc, char* argv[])
{
float T0 = -273; // объявляем и инициализируем T0
float Tc, Tk; // объявляем вещественные Tc и Tk
cout
cin>>Tc; // запрашиваем Tc
if (TcT0) // проверяем условие Tc
{
cout
} // экран сообщение об ошибке
else
{
Tk = Tc-T0; // условие ложно, рассчитываем
cout
}
getch(); // задержка до нажатия на клавишу
return 0; // завершение программы--PAGE_BREAK--
}
 // –
Наберите приведенный выше код, откомпилируйте его и запустите программу на выполнение. Исследуйте результаты работы при различных значениях TC.
2. Сокращенные варианты записи
При программировании обыденной является ситуация, когда требуются некоторое действие в ответ на сложившиеся условия (например, если получены неверные исходные данные от пользователя, то выдать сообщение об ошибке и выйти из программы). В таких случаях в программах на C++ может использоваться сокращенная запись оператора условия с отсутствующим блоком else. Общая форма такой записи
if()
{
;
}
Здесь в случае истинности условия управление передается блоку операторов в фигурных скобках. В случае ложности условия этот блок пропускается. Соответствующая блок-схема отличается от предыдущей отсутствием одного «плеча»
Другой вариант сокращения применяется в случае, когда какой-либо из блоков if или else состоит только из одного оператора. В этом случае допускается отсутствие фигурных скобок, ограничивающих этот блок.
if()
оператор 1;
else
оператор 2;
Здесь в качестве операторов 1 и 2 могут быть не только простые однострочные арифметические действия или операторы ввода-вывода, но и сложные многострочные конструкции, например другие (вложенные) операторы условия или операторы цикла, которые будут рассмотрены ниже.
3. Вложенные операторы
Операторы условия могут быть вложенными друг в друга, в соответствии с тем программным алгоритмом, который они реализуют. Допускается произвольная степень их «вложенности».
Если один оператор if-else вложен в другой, то первый оператор входит во второй полностью, а не только какой-либо одной своей частью if или else. Недопустимым является частичное перекрывание между собой их отдельных блоков.
A) правильная запись


if (a
{
if (x!=0)
cout
else
{
x = 1;
y = 0;
}
}
else
{
a = b;
cout
}


Б) ошибочная запись


if (a
{
if (x!=0)
cout
else
{ // началоelse
x = 1;
y = 0;
}
else
{
} // конецelse
a = b;
cout
}


В приведенном примере один из операторов (выделен полужирным шрифтом) вложен в другой. Запись Б) является ошибочной в силу того, что блок else внутреннего оператора условия частично пересекается с обоими блоками if и else внешнего оператора.
Пример 2. Пользователь вводит с клавиатуры три целых числа a, b, c. Необходимо вывести на экран наибольшее из этих чисел.
Решение. Один из возможных алгоритмов решения этой задачи показан на следующей блок-схеме.
Схема может быть реализована программно с помощью вложенных операторов if-else
 // – Выбор наибольшего из 3 чисел –
#pragma hdrstop
#include
#include
#pragma argsused
int main (int argc, char* argv[])
{
float a, b, c; // объявляем три переменные    продолжение
--PAGE_BREAK--
cout
cin>>a;
cout
cin>>b;
cout
cin>>c;
if (a>b) // еслиa > b
if (a>c) // иеслиa > c
cout
else // иначе, т.е. если a
cout
else // иначе, т.е. если a
if (b>c) // и если b > c
cout
else // иначе, т.е. если b
cout
getch(); // задержка до нажатия любой клавиши
return 0;
}
 // –
Разберите блок-схему этого алгоритма и его программную реализацию. Модифицируйте алгоритм и программный код для поиска наименьшего из трех чисел.
4. Составные логические выражения
Условие в операторе if-else может быть выражено не только в виде простого сравнения двух числовых значений. Например, весьма распространены двойные условия, которые в математике записываются в виде «a
логическая операция
знак в С++
наименование знака
И
&&
двойной амперсанд
ИЛИ
||
двойная вертикальная черта
НЕ
~
тильда
В частности, выражение «a
if((a
{
… … …;
}
Пример 3. На пустой шахматной доске в позиции (n, m) находится белая пешка, в позиции (k, l) – черный слон. Здесь первая координата есть номер столбца шахматной доски, вторая – номер строки (обе изменяются в диапазоне от 1 до 8). Оцените текущую ситуацию в соответствии с тремя вариантами
пешка находится под ударом,
слон находится под ударом,
слон и пешка в «безопасности».
Решение. Примем во внимание, что пешка может атаковать две ближайшие к себе позиции по диагонали вперед, а слон атакует обе свои диагонали полностью. Отсюда могут быть сформулированы условия
«((k = n+1) ИЛИ (k = n 1)) И (l = m+1)» – атака пешки на слона,
«(k+l = n+m) ИЛИ (k-l = n-m)» – атака слона на пешку,
иначе фигуры в безопасности.
 // – Шахматная композиция –
#pragma hdrstop
#include
#include
int main (int argc, char* argv[])
{
int n, m, k, l;
cout
cout
cin>>n;
cout
cin>>m;
cout
cout
cin>>k;
cout
cin>>l;
if(((k==n+1)||(k==n 1))&&(l==m+1)) // атакован слон
cout
else
if((k+l==n+m)||(k-l==n-m)) // атакованапешка
cout
else // нетатаки
cout
getch();
return 0;
}
 // –


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Методы осмысления детьми своего социального опыта, мотивации деятельности и поведения как пути нравственного воспитания школьников
Реферат Физическая реабилитация детей 10-14 лет, страдающих сколиотической болезнью с использованием средств лечебной физической культуры и элементов йоги
Реферат Зварыкин, Фёдор Васильевич
Реферат Статистика уровня жизни населения
Реферат Вірусний гепатит А Профілактика
Реферат Проектирование высокочастотного переключателя кругового вращения Типы коммутационных
Реферат Конгресс США
Реферат Литературные источники цикла очерков И. А. Бунина "Тень Птицы"
Реферат Основные направления повышения экологической безопасности автомобилей
Реферат Исследование рекреационного потенциала Бузулукского района
Реферат Проектування і розрахунок приводу машини
Реферат Аннотация рабочей программы учебной дисциплины «Анализ и прогнозирование конъюнктуры рынков спортивной продукции и услуг» Направление подготовки: 080200 «Менеджмент»
Реферат Джоан Вайолет Робинсон (1903 - 1983) - яркий представитель "школы Маршалла"
Реферат Особенности японской модели экономики
Реферат Разработка сбалансированного пищевого рациона для пожилых людей