понедельник, 16 декабря 2013 г.

Налево пойдешь - коня потеряешь, направо пойдешь...

В нашем случае не все так трагично и  никто не пострадает :).  Речь же пойдет об условном операторе.

Для осуществления ветвления в программе используется условный оператор.
Он имеет полную и неполную формы:

Полная форма:
If  условие Then оператор1 Else оператор2

Неполная форма: If  условие Then оператор1

Условный оператор выполняется следующим образом:
  1. проверяется условие
  2. если условие выполнено, выполняется оператор1
  3. если условие не выполнено, в полной форме выполняется оператор2, а в неполной форме никаких действий не выполняется
  4. осуществляется переход к следующей команде
Условие может быть простым или сложным.
Простое условие – сравнение значений двух выражений с помощью знаков сравнения:
< – меньше, > – больше, <= – меньше или равно, >=   – больше или равно, =   – равно, <> – неравно

Например:
1) X>=3;       2) A<>B;      3)   sqr(c)=sqr(a)+sqr(b)

Сложное условие – несколько простых условий, соединенных логическими операциями:
Not – не,    And – и,    Or – или,     Xor – исключающее или

Простые условия, входящие в состав сложного, записываются в скобках.
Например:
1) (X>3) and (Y<=17) and (Z<>2) выполнено, если выполнены все простые условия
2) (X<2) or (X=8) or (X>=12) выполнено, если выполнено хоть одно из простых условий
3) (X=7) xor (Y=9) xor (Z=1) выполнено, если выполнено ровно одно из простых условий

Операторы 1 и 2 могут быть простыми и составными. Простой оператор – один оператор.
Составной оператор – несколько операторов, заключенных в операторные скобки (Begin … End).

Примеры:
1. Программа выводит на экран большее из   двух целых чисел
Program max;
Var a,b,m:integer;
Begin
  Write(’Введите 2 числа’);
  Readln(a,b);
  If a>b then writeln(a, ’большее’)
   else writeln(b, ’большее’)
End.

2. Программа вычисляет значение функции  - квадратный корень из х
Program func1;
Var x,f:real;
Begin
  Write(’x=’);
  Readln(x);
  If x>=0 then begin
                 f:=sqrt(x);
                 Writeln(’f=’,f:7:2)
               end
End.

3. Программа вычисляет значение функции
Program func2;
Var x,f:real;
Begin
  Write(’x=’);
  Readln(x);
  If x<2 then f:=-x
         else if x=2 then f:=0
                     else f:=x;
  Writeln(’f=’,f:7:2)
End.

Задание 12. Написать программы, вычисляющие значение функции по заданному (введенному с клавиатуры) значению х. Задание в) - для "продвинутых". Остальные делают а) и б). Программы пишем в среде PascalABC. Проверяем, сохраняем под своей фамилией и складываем в папку для своей группы. Вопросы по ДЗ пишем в комментариях...

Задание 13. Написать программу, на применение условного оператора (карточка выдана в классе)

4 комментария:

  1. Я не понял, условие,Как может быть функция, б или в, если они не считаются. В функции б при х больше нуля или равно нулю не будет выполнятся второе условие.

    ОтветитьУдалить
    Ответы
    1. Максим, тебя видимо смутил знак системы. Мы же отмечали на уроке, что условный оператор работает так, что если условие выполнено, то программа выполняется по одному пути, если же условие не выполнено, то по другому. Т.е. в задаче б) sin ИЛИ корень...

      Удалить
  2. А в Задании В, надо чтоб при данных условиях выводились числа 1,2,3?

    ОтветитьУдалить
    Ответы
    1. Да. Например, при вводе с клавиатуры числа 10 твоя программа должна выдать f = 3

      Удалить