Лекция "Программирование" Логические и логические выражения
план-конспект урока (информатика и икт) по теме

Матысик Ирина Алексеевна

В данной лекции можно изучить весь необходимый материал, связанный с освоением программированием различных выражений в языке программирования С++

Скачать:

ВложениеРазмер
Microsoft Office document icon vyrazheniya_arif_i_log_got.doc99.5 КБ

Предварительный просмотр:

Выражения

Выражение - это комбинация операндов, операций и круглых скобок, задающая порядок вычисления некоторой новой величины. Операнд - величина, над которой выполняется операция, может быть переменной, константой или более сложным объектом. Операнд должен иметь конкретное значение. Неозначенные операнды не допускаются. Операция - это действие, выполняемое над операндом.

Во многих языках программирования в одном выражении нельзя смешивать операнды разных типов. В языке С разрешено смешивание типов в одном выражении. Компилятор использует правила автоматического преобразования типов: если операция производится над операндами разных типов, то обе величины приводятся к одному типу, более высшему по приоритету. Приоритет типов в основном зависит от размера ОП

char      short      int       long     float     double      long double

В смешанных выражениях тип результата определяет тип результата последней совершенной операции.

Например: Выражение 2.3*5+’A’*8.8+7  приводится к типу double и имеет значение 590.5

В языке С более 40 операций

- унарные – участвует один операнд: sizeof, смена знака и другие;

- бинарные – участвует два операнда: сложение и другие;

- тернарные – участвуют три операнда.

В зависимости от операции выражения делятся на:

- арифметические;

- логические.

Арифметические выражения

К арифметическим операциям относят: +, -, *, /, ++ (инкремента), -- (декремента),  % (деление по модулю). Последняя операция может выполняться только над целыми числами. Особо следуют обратить внимание на операцию /. Правило: при делении целых чисел результат только целый, при делении смешанных типов результат приводится к высшему типу. Примеры:

6/3=2,    5/4=1,   ½=0

Однако, 5./4.=1.25,   5./4=1.25,   ½.=0.5

Замечания.

1. Выражение записывается в одну строчку: следует записать a/b

2. Нельзя пропускать знак умножения *: ab следует писать a*b

3. Нельзя писать два подряд знака операции: нельзя   a+-b; можно a+(-b)).

4. Нельзя делить на 0.

5. Выражение вычисляется слева направо.

6. Чем выше приоритет операции, том она выполняется раньше. Таблица приоритетов по возрастанию:

++   --

*  /  %

+  -

7. Если две операции имеют одинаковый приоритет, то они выполняются в том порядке, в котором присутствуют в выражении, т.е. слева направо. Например:

        1. в математике:      в программе x/y*z   x*z/y

        2. в математике:       в программе  x/y/z     x/y*z-неправильно

8. Круглые скобки повышают приоритет операции.

     1. в математике:  в программе x/(y+z) - правильно, x/y+z - не правильно

         

     2.в математике:  в программе (x+y)/z - правильно,  x+y/z - не правильно.

     3. Вычисление полупериметра треугольника: a+b+c/2 - не правильно

        (a+b+c)/2 - правильно

        4. в математике  в программировании a+b/c+d – не правильно,

       (a+b)/(c+d) – правильно

        5. Не следует указывать лишние скобки. Уравнение прямой линии: y=kx+b в программировании y=k*x+b скобки не требуются.

Пример: 

1. Сравните результаты от перестановок скобок:

10+6*8/2 (=34),  (10+6)*8/2 (=64),  (10+6*8)/2 (=29)

2. Для выражения расставить порядок выполнения операций

 (1+y)*(2*x+y/(x+y)) / (y+1 / (х*x) - 4)+10

В арифметических выражениях могут использоваться стандартные математические функции, которые выступают в роли операндов. Компилятор языка С не знает математические функции, поэтому необходимо к программе подключить заголовочный файл math.h. в котором собраны описания математических функций.

Список стандартных математических функций (math.h)

В программе

В мат-ке

Пояснения

abs(x)

|x|

модуль целого числа, результат - целое

fabs(x)

|x|

модуль вещественного числа, результат - веществен

floor(x)

округление вещественного числа в меньшую сторону, результат – вещест. число с нулевой дробной частью

ceil(x)

округление вещественного числа в большую сторону

pow(x,y)

xy

возведение вещественного числа х в вещественную степень y

sqrt(x)

квадратный корень из вещественного числа

sin(x)

sin x

синус в радианах

cos(x)

cos x

косинус в радианах

tan(x)

tg x

тангенс

atan(x)

arctg x

арктангенс

exp(x)

ex

экспонента

log(x)

ln x

натуральный логарифм

log10(x)

log x

десятичный логарифм

Замечания

1. Действуют основные математические законы: нельзя логарифм отрицательного числа, корень из отрицательного числа и т.д.

2. На основе имеющихся математических функций можно вычислять другие стандартные математические функции, например:

В математике log a x=ln x/ ln a -  в программе запишется log(x)/log(a)

В математике ctg x=1/tg x  -  в программе 1/tan(x)  или cos(x)/sin(x)

В математике arcctg x= - arctg x -  в программе Pi/2-atan(x)

В математике  arcsin x= arctg()  -  в программе atan(x/sqrt(1-x*x))

В математике arccos x=arctg() -  в программе  atan(sqrt(1-x*x)/x)

Пример:

Логические выражения

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

- операции отношения:<, >, <=, >=, ==, !=

- операции логики: &&, ||, !

В языке С версии Turbo C++ 3.0 отсутствует логический тип. Тип результата логического выражения – целый. Если результат операции =1 (в общем случае не равен 0), то логическое выражения считается истинным. Если результат вычисления логического выражения равен 0, такое выражение считается ложным.

Операции отношения:<, >, <=, >=, ==, !=

Используются для сравнения двух величин. Например, результат 10>6 равен 1, результат x==10 зависит от значения переменной х (привести примеры разных х). Если сравниваются операнды разных типов, то перед сравнением оба приводятся к общему наивысшему типу.

Ошибки

  1. Разделение <= и ему подобных операций пробелом.
  2. Правильно указывать последовательность: =<  не допустимо

Примеры: если x=1, y=2, тогда x==1 (истина), y==3 (ложь)

На доске для ребят: указать 1 или 0 для следующих логических выражений:

100>3   -56.44<-27.156   3.147e2<4.777e1   sin(0)==cos(0)   ‘4’!=4

Операции логики: &&, ||, !

С помощью операций отношения можно проверять одно условие сравнения двух величин. Если для принятия решения требуется проверить несколько условий, то для их объединения используются операции логики. Используются для связи нескольких операций отношений в одно логическое выражение.

Логическое И (&&) обеспечивает истинность двух условий одновременно. Сначала оцениваются простые условия с операцией отношения, затем оценивается объединенное условие. Условие является истинным тогда и только тогда, когда простые условия являются истинными.

Логическое ИЛИ (||) обеспечивает истинность двух простых условий, если хотя бы одно из условий истинно.

Логическое НЕТ (!) обращает на противоположное истинность условия. Является унарной операцией. Обычно указывается перед всем составным логическим выражением. Например:

! ( god==2008) Скобки обязательны, иначе сначала выполниться !god. Лучше такую конструкцию записать в виде: god!=2008

Таблица истинности логических операций

Операнд1

Операнд2

Результат &&

Результат ||

0

0

0

0

0

Ненулевое

0

Ненулевое

Ненулевое

0

0

Ненулевое

Ненулевое

Ненулевое

Ненулевое

Ненулевое

 

Примеры: если x=1, y=2, a=3, b=2. Вычислить логическое выражение

  1. x>=1 && y<4
  2. b<=99 && a<b
  3. x>=y || a==b
  4. !b
  5. !(y-b)
  6. !(a>b)
  7. !(y>a)

В выражении можно смешивать арифметические и логические операции. Результат всего такого выражения зависит от последней выполненной операции, в зависимости от приоритета

Приоритет операций

++  --  !                - унарные

*  /  %                - мультипликативные

+  -                                - аддитивные

<  <=  >  >=                - отношения

==  !=                        - равенства

&&                        - логическое И

||                                - логическое ИЛИ

Например: Вычислить результат

  1. x>y+2 будет вычисляться как x<(y+2)
  2. b<y || 3-y>=a
  3. x<y +25 && a>b

Законы де Моргана помогают упростить логические выражения вида:

  1. !(условие1 && условие2) логически эквивалентно (!условие1 || !условие 2)
  2. ! (условие 1 || условие 2) логически эквивалентно (!условие1 && !условие2)

Используя законы де Моргана, упростить и получить результат выражений для конкретных значений переменных:

  1. ! ( x<5 ) && ! ( y>=7 )      2.   ! ( a==b ) || ! ( g!=5 )
  1. ! ( ( x<=8 ) && ( y>4 ) )    4.   ! ( i>4 ) || ( j<=6) )

Условие принадлежности координаты х отрезку [0; 1]     x>=0 && x<=1      

Условие попадания за пределы [0; 1]   х>1 || x<0    или  ! (x>=0 && x<=1)


По теме: методические разработки, презентации и конспекты

Логические выражения и базовые логические операции. Таблицы истинности.

В данной разработке приведены план-конспект урока по теме: "Логические выражения и базовые логические операции. Таблицы истинности". Презентация с дополнительными файлами позволяет сэкономить  вр...

Элементы математической логики. Логические операции. Конструирование логических выражений с использованием отношений и логических операций

При обучении в школе важное значение имеет предмет "Информатика и ИКТ».  Один из разделов теоретического курса – логика – рассматривает законы и правила логического мышления, которые являют...

Логические выражения и логические высказывания

Презентация для 9 класса Логические выражения и логические высказывания....

Основные понятия алгебры логики, логические выражения и логические операции

Основные понятия алгебры логики, логические выражения и логические операции...

Логические законы и правила преобразования логических выражений

Урок закрепления умений учащихся в преобразовании логических выражений, подготовка к ЕГЭ, развитие у учащихся логического мышления....

Презентация и конспект урока на тему: "Логические выражения и логические операции"

Материал включает в себя презентацию и конспект урока на тему: "Логические выражения и логические операции" , 9 класс...

A2. Использование логических операций. Рассматриваем основные логические операции и учимся определять значение логического выражения.

Решение:Первая часть выражения НЕ(ПЕРВАЯ ЦИФРА ЧЁТНАЯ) означает, что первая цифра должна быть НЕЧЁТНАЯ. НЕ отрицает высказывание, заключённое в скобках.Заданному условию удовлетвор...