После поворота событий от плохого к худшему цикл повторится.
Из законов Мэрфи
Оператор IF разделяет программу на два набора операторов, выполняемых в зависимости от результата вычисления заданного условия. Бывают ситуации, когда этого недостаточно. Например, пусть мы пишем программу-калькулятор. Она запрашивает у пользователя два числа и код выполняемого над ними действия (1 – сложение, 2 – умножение, 3 – вычитание, 4 - деление). Конечно, можно обойтись и кучей операторов IF, например, так:
VAR c:BYTE;
…
c:=IntToStr(LabeledEdit1.Text);
IF c=1 THEN
r:=a+b;
IF c=2 THEN
r:=a*b
…
и т.д. Но выглядит такая программа запутанно. Здесь лучше применить оператор множественного ветвления CASE. Для его использования должны соблюдаться два правила: во-первых, во всех проверяемых условиях одна и та же переменная должна сравниваться с константами. Так оно и есть: переменная с сравнивается с единицей, двойкой и т.д. Во-вторых, тип переменной с должен быть ограниченным. Это означает, что можно перечислить все значения этого типа. Скажем, тип BYTE – ограниченный, так как переменная типа BYTE принимает значения только от 0 до 255 и все их можно перечислить. А вот переменная типа REAL принимает бесчисленное множество значений (число дробных чисел в любом интервале бесконечно) и ее нельзя использовать в операторе CASE. Его общий вид таков:
Полная форма
Сокращенная форма
CASE переменная OF
значение1: оператор1;
значение2: оператор2;
…
значениеN: операторN;
ELSE
операторM;
END;
CASE переменная OF
значение1: оператор1;
значение2: оператор2;
…
значениеN: операторN;
END;
Обратите внимание, что слово END относится к самому оператору CASE и не требует никакого парного себе BEGIN. Заменим кучу IF'ов одним CASE:
CASE c OF { c – переменная перечислимого типа }
1: r:=a+b; ( если с=1, выполняется оператор r:=a+b )
2: r:=a*b;
3: r:=a-b;
4: IF b<>0 THEN r:=a/b ELSE Label1.Caption:='Деление на ноль'
ELSE
Label1.Caption:='введен неверный код действия'
END;
В CASE перечисляются возможные значения переменной, а после них через двоеточие записывается один-единственный оператор (надо больше – пишем BEGIN..END), выполняющийся, если переменная, имя которой указано между словами CASE и OF, равна указанному перед двоеточием значению. В операторе CASE может быть часть "иначе" (ELSE), оператор в которой выполняется, если значение переменной не совпало ни с одним из заданных.
Объекты исследования, оборудование, материалы и наглядные пособия
Для выполнения работы применяеются:
- IBM-совместимый ПК с ОC Windows XP, 7, 8;
- файловый менеджер Far Commander;
- среда программирования Delphi версий 7.0 и выше.
Задание на работу
Пример задания на ЛР:
Рассчитать на прочность следующий механизм:
Привод цилиндрическо-цилиндрический
Частота вращения выходного вала, мин-1: 180
Мощность на выходном валу привода, кВт: 1,3
Срок службы привода, тысяч часов: 23
Реверсивность: Нет
Порядок выполнения работы
1. Выявить ветвление (-я) в разрабатываемом алгоритме.
2. Установить, при помощи каких операторов реализуются выявленные ветвления.
3. Реализовать алгоритм в программном коде
4. Отладить программу
Содержание отчета
Отчет содержит распечатку текста программы и копии экрана работающей программы.