operator_if

advertisement
Изучение условного оператора IF.
Данная тема является одним из трех китов, на которых стоит
программирование на языке Pascal. Без ее изучения невозможно дальнейшее
программирование. Она помогает при решении задач, в которых необходимо
выбрать одно из двух продолжений. А такая ситуация встречается в задачах по
программированию так же часто, как и в жизни мы сталкиваемся с выбором как
поступить дальше так или иначе. Тем более,
что многие задачи
программирования пишутся для того, чтобы облегчить решение задач, с
которыми мы встречаемся ежедневно. Данный оператор применяется при
решении физических, математических, химических, экономических и других видов
задач.
Изучение данной темы необходимо начать с повторения следующих
вопросов:
 что такое логическое выражение (условие);
 правила записи логических выражений на языке Pascal;
 можно ли использовать в условии «:=».
Обратить особое внимание при изучении данной темы необходимо на:
 принцип действия оператора;
 отсутствие перед словом ELSE «;»;
 правила записи составных условий.
Оператор IF применяется при написании программ тогда, когда необходимо
выбрать одно из двух продолжений.
Общий вид оператора:
IF <условие> THEN < оператор 1>
ELSE <оператор 2>;
если
тогда
иначе
Оператор выполняется следующим образом:
1. поверяется условие, идущее после слова IF;
2. если оно истинно, то выполняется <оператор 1> выполнение условного
оператора на этом заканчивается;
3. если оно ложно, то выполняется <оператор 2 > и выполнение условного
оператора заканчивается.
Примечание:
1. Перед словом ELSE «;» не ставится;
2. Иногда в качестве условия могут использоваться составные условия, тогда
каждое из них берется в скобки, а между ними ставятся операторы AND(и)
или OR (или).
Например,
a) IF (a mod 3 = 0) and (a mod 5 = 0) THEN writeln (‘число а делится на 15’)
ELSE writeln (‘число а не делится на 15’);
b) IF (x> 0) or (x < -5 ) THEN y := 15
ELSE y := -x;
3. Бывают случаи, когда в качестве < оператор 1> и <оператор 2> выступают
несколько операторов, тогда они объединяются операторными скобками
BEGIN и END. Например,
IF (x> 0) or (x < -5 ) THEN ВEGIN
y := 15:
writeln (y);
END
ELSE BEGIN
y := -x;
writeln (y);
END;
4. Иногда условие ELSE опускают при написании программы, тогда мы
получаем неполный оператор IF:
IF <условие> THEN < оператор 1>;
если
тогда
В этом случае, если <условие> истинно, то выполняется <оператор 1>, а если
ложно, то мы переходим к следующему оператору программы («перепрыгиваем
через IF»).
Примеры:
1. Написать программу, выводящую на экран слово «Да», если переменная t
принимает значение Y, и слово «Нет», если t принимает значение N.
Program z1;
Uses crt;
Var t: char;
Begin
Clrscr;
Writeln (‘Введите одно из двух значений переменной ‘Y’ или ‘N’: ’);
Readln (t);
If t = ‘Y’ then writeln(‘Да’)
else writeln (‘Нет’);
Readln;
End.
2. Написать программу, нахождения наибольшего из двух чисел а и b, которые
вводятся с клавиатуры.
Program z2;
Uses crt;
Var t: char;
Begin
Clrscr;
Writeln (‘Введите число а ’);
Readln (а);
Writeln (‘Введите число b ’);
Readln (b);
If a > b then writeln (‘Наибольшее число а’)
else writeln (‘Наибольшее число b’);
Readln;
End.
Вопрос: а что, если a=b? Как быть тогда?
Возникает еще одно условие. Как будет выглядеть программа в этом случае?
1 способ:
Program z2;
Uses crt;
Var t: char;
Begin
Clrscr;
Writeln (‘Введите число а ’);
Readln (а);
Writeln (‘Введите число b ’);
Readln (b);
If a > b then writeln (‘Наибольшее число а’)
else if a<b then writeln (‘Наибольшее число b’)
else writeln (‘a=b’);
Readln;
End.
2 способ:
Program z2;
Uses crt;
Var t: char;
Begin
Clrscr;
Writeln (‘Введите число а ’);
Readln (а);
Writeln (‘Введите число b ’);
Readln (b);
If a > b then writeln (‘Наибольшее число а’);
If a < b then writeln (‘Наибольшее число b’);
If a = b then writeln (‘a=b’);
Readln;
End.
Задания:
Уровень А.
№ 1. Даны три действительных числа. Возвести в квадрат те из них,
значения которых неотрицательны, а в четвертую степень – отрицательные.
№2. Даны действительные числа x и y, не равные друг другу. Меньшее из
этих чисел заменить половиной их суммы, а большее - их удвоенным
произведением.
№3. Подсчитать количество отрицательных чисел среди a,b,c.
№4. Услуги телефонной сети оплачиваются по следующему правилу: за
разговоры до A минут в месяц – B рублей, а разговоры сверх установленной
нормы оплачиваются из расчета C рублей за минуту. Написать программу,
вычисляющую плату за пользование телефоном для введенного времени
разговоров за месяц.
№5 Составить программу, определяющую результат гадания на ромашке –
«любит – не любит», взяв за исходное данное количество лепестков n.
№6. Написать программу, определяющую, пройдет ли график функции
2
y = ax + bx + c через заданную точку с координатами (m, n).
Уровень В.
№1. Написать программу нахождения суммы большего и меньшего из трех
чисел.
№2. Написать программу, по длинам сторон распознающую среди всех
треугольников АВС прямоугольные.
№3. Найти максимальное из чисел: 1-ое число - минимальное из чисел а и b,
2-ое число – минимальное из чисел с и d.
№4. Составить программу, осуществляющую перевод величин из радианной
меры в градусную и наоборот. Программа должна запрашивать, какой перевод
нужно осуществить, и выполнять указанное действие.
№5. В небоскребе N этажей и всего один подъезд; на каждом этаже по 3
квартиры; лифт может останавливаться только на нечетных этажах. Человек
садится в лифт и набирает номер нужной ему квартиры M. На какой этаж должен
доставить этот лифт пассажира?
№6. Составить программу, которая проверяла бы, не приводит ли
суммирование двух целых чисел А и В к переполнению (т.е. к результату
большему чем 32767). Если будет переполнение, то сообщить об этом, иначе
вывести сумму этих чисел.
Уровень С.
№1. Даны действительные числа а, b, с (a > 0). Полностью исследовать
квадратное уравнение ax2 + bx + c = 0 (если действительных корней нет, то должно
быть выдано сообщение об этом, иначе наитии действительные корни).
№2. Найти наибольшее из трех чисел a, b, c.
№3. Если сумма трех попарно различных действительных чисел X, Y, Z
меньше единицы, то наименьшее из этих чисел заменить полусуммой двух других;
в противном случае заменить меньшее из Х, Y полусуммой двух оставшихся
значений.
Вычисление значений функций
№1. Вычислить значение функции. Значение переменной х вводим с
клавиатуры:
 x 2  3x  9, если x  3 ,
a) f ( x)  
1
 x 3  6 , если x  3.
 x 2  4 x  5, если x  2;
b) f ( x)  
1
 x 2  4 x  5 , если x  2.

c) f ( x)  
x 2  x, если 0  x  1;
2
2
 x  sin x , если
x  1 или
1,2 x 2  3x  9, если x  3;
12,1
, если x  3.
 2 x 2  1
d) f ( x)  
 x 2  1,1x  9, если x  3 ;
e) f ( x)   ln( x  3)
, если x  3.

x2  9
 0, если x  0;
f) f ( x)   x, если 0  x  1;
 x 4 , если x  1.

g)
3x5  8 x  4, если x  3;
 1
f ( x)  
, если 3  x  9;
x

2  x , если x  9.

x  0.
Определение принадлежности точки заштрихованной части плоскости.
№1. Определить принадлежит ли точка А(x,y) заштрихованной части
плоскости:
Примечание:
1. Дано уравнение окружности x2 + y2 = r2 ((x – x0)2 + (y – y0)2 = r2).
 для точек лежащих внутри окружности условие выглядит так: x2 +
y2 < r2 (x – x0)2 + (y – y0)2 < r2);
 для точек лежащих вне окружности условие выглядит так: x2 + y2 >
r2 ((x – x0)2 + (y – y0)2 > r2);
 для точек лежащих на окружности условие выглядит так: x2 + y2 =
r2 ((x – x0)2 + (y – y0)2 = r2);
2. Дано уравнение прямой y = kx + b.
 Для точек лежащих над прямой условие выглядит так y > kx + b;
 Для точек, лежащих под прямой, условие выглядит так y < kx + b;
 Для точек, лежащих на прямой условие выглядит так y = kx + b.
3. Дано уравнение параболы y = ax2 + bx + c.
 для точек лежащих внутри (над параболой) параболы условие
выглядит так: y > ax2 + bx + cy2;
 для точек лежащих вне (под параболой) параболы условие
выглядит так:
y < ax2 + bx + cy2;
 для точек лежащих на параболе условие выглядит так:
y = ax2 + bx + cy2.
ПРОВЕРОЧНАЯ РАБОТА.
Вариант №1.
№1. Подсчитать количество положительных чисел среди a, b, c.
№2. Написать программу, вычисляющую значение функции.
  x 2, если x  7;
f ( x)  
ln( x)  9, если x  7.
№3. Определить, принадлежит ли точка с координатами х и y заштрихованной
части плоскости.
Вариант №2.
№1. Подсчитать сумму чисел, которые делятся на 5 без остатка среди a, b, c.
№2. Написать программу, вычисляющую значение функции.
 cos 2 x  9, если  1  x  1;
f ( x)   2
 x  x, если x  1 или x  1.
№3. Определить, принадлежит ли точка с координатами х и y заштрихованной
части плоскости.
Вариант №3.
№1. Подсчитать произведение четных чисел среди a, b, c.
№2. Написать программу, вычисляющую значение функции.
 x 2  x  9, если x  8;

f ( x)  
1
 x 4  6 , если x  8.
№3. Определить, принадлежит ли точка с координатами х и y заштрихованной
части плоскости.
Вариант №4.
№1. Подсчитать сумму чисел остаток от деления которых на 3 равен 1 среди
чисел a, b, c.
№2. Написать программу, вычисляющую значение функции.
 x 3  9, если x  13;

f ( x)  
3
  x  1 , если x  13.
№3. Определить, принадлежит ли точка с координатами х и y заштрихованной
части плоскости.
Download