Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лр_2.doc
Скачиваний:
8
Добавлен:
08.03.2016
Размер:
89.09 Кб
Скачать

Лабораторна робота №2

Логічні вирази

Короткі теоретичні відомості

Арифметичні операції

Унарные:

&

получение адреса операнда

*

обращение по адресу (разыменование)

-

унарный минус, меняет знак арифметического операнда

~

поразрядное инвертирование внутреннего двоичного кода (побитовое отрицание)

!

логическое отрицание (НЕ). В качестве логических значений используется 0 - ложь и не 0 - истина, отрицанием 0 будет 1, отрицанием любого ненулевого числа будет 0.

++

увеличение на единицу:

префиксная операция - увеличивает операнд до его использования,

постфиксная операция увеличивает операнд после его использования.

- -

уменьшение на единицу:

префиксная операция - уменьшает операнд до его использования,

постфиксная операция уменьшает операнд после его использования.

sizeof

вычисление размера (в байтах) для объекта того типа, который имеет операнд

Бинарные операции.

Аддитивные:

+

бинарный плюс (сложение арифметических операндов)

-

бинарный минус (вычитание арифметических операндов)

Мультипликативные:

*

умножение операндов арифметического типа

/

деление операндов арифметического типа (если операнды целочисленные, то выполняется целочисленное деление)

%

получение остатка от деления целочисленных операндов

Операции сдвига (определены только для целочисленных операндов)

<<

сдвиг влево битового представления значения левого целочисленного операнда на количество разрядов, равное значению правого операнда

>>

сдвиг вправо битового представления значения правого целочисленного операнда на количество разрядов, равное значению правого операнда

Поразрядные операции:

&

поразрядная конъюнкция (И) битовых представлений значений целочисленных операндов

|

поразрядная дизъюнкция (ИЛИ) битовых представлений значений целочисленных операндов

^

поразрядное исключающее ИЛИ битовых представлений значений целочисленных операндов

Операции сравнения:

<

меньше, чем

>

больше, чем

<=

меньше или равно

>=

больше или равно

==

равно

!=

не равно

Логические бинарные операции:

&&

конъюнкция (И) целочисленных операндов или отношений, целочисленный результат ложь(0) или истина(1)

||

дизъюнкция (ИЛИ) целочисленных операндов или отношений, целочисленный результат ложь(0) или истина(1)

Тернарная операция

Тернарная операция имеет 3 аргумента и возвращает свой второй или третий операнд в зависимости от значения логического выражения, заданного первым операндом. Синтаксис тернарной операции

Условие ? выражение1 : выражение2;

Если выполняется условие, то тернарная операция возвращает выражение1, в противном случае - выражение2.

Пример

key == 1 ? printf("\n Выбран первый пункт") :

          printf("\n Первый пункт не выбран") ;

Тернарные операции, как и операции условия, могут быть вложенными.

key == 1 ? printf("\n Выбран первый пункт") :

    ( key == 2 ? printf("\n Выбран второй пункт") :

       printf("\n Первый и второй пункты не выбраны") ) ;

Приклад розв’язку задачі

Задано значення x, A, B.Визначити істинність твердження

Варіант А

#include "stdafx.h"

#include "iostream"

#include "windows.h"

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

setlocale (LC_ALL,"Russian");

int x, a, b;

cout << "\nВведите х: ";

cin >> x;

cout << "\nВведите A: ";

cin >> a;

cout << "\nВведите B: ";

cin >> b;

cout << "\n x принадлежит интервалу [A ; B] ? " << (x>=a && x<=b) <<endl;

system ("pause");

return 0;

}

Варіант B

#include "stdafx.h"

#include "iostream"

#include "windows.h"

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

setlocale (LC_ALL,"Russian");

int x, a, b;

cout << "\nВведите х: ";

cin >> x;

cout << "\nВведите A: ";

cin >> a;

cout << "\nВведите B: ";

cin >> b;

cout << "\n x принадлежит интервалу [A ; B] ? " << (x>=a == x<=b) <<endl;

system ("pause");

return 0;

}

Запуск програми F5.

Завдання для самостійної роботи

  1. Скласти алгоритм розв’язку задачі (згідно до варіанту).

  2. Побудувати блок-схему розв’язку задачі.

  3. Скласти програму розв’язку задачі у середовищі Visual Studio.

  4. Реалізувати два варіанти програмного коду:

  • з використанням тернарного оператору;

  • без використання тернарного оператору.

Варіанти завдань:

У всіх завданнях заданої групи потрібно вивести логічне значення True, якщо приведене висловлення для запропонованих вихідних даних є істиною, і значення False у протилежному випадку.

Всі числа, для яких зазначено кількість цифр (двозначне число, тризначне число і т.д.), вважати цілими позитивними.

вар.

Завдання

Задано два цілих числа: A, B. Перевірити істинність висловлення: «Кожне з чисел A і B непарне».

Задано ціле число A. Перевірити істинність висловлення: «Число A є позитивним або нулем».

Задано два цілих числа: A, B. Перевірити істинність висловлення: «Справедлива нерівність A ≥ 0 або B < –2».

Задано два цілих числа: A, B. Перевірити істинність висловлення: «Справедлива нерівність A > 2 та B ≥ 3».

Задано три цілих числа: A, B, C. Перевірити істинність висловлювання: «Справедлива подвійна нерівність A < B < C».

Задано три цілих числа: A, B, C. Перевірити істинність висловлювання: «Хоча б одне з чисел A, B, C позитивне».

Задано два цілих числа: A, B. Перевірити істинність висловлення: «Тільки одне з чисел A і B непарне».

Перевірити істинність висловлення: «Серед трьох заданих цілих чисел є хоча б одна пара співпадаючих».

Задано тризначне число. Перевірити істинність висловлення: «Усі цифри заданого числа різні».

Задано ціле число A. Перевірити істинність висловлення: «Число A є парним або однозначним».

Задано три цілих числа: A, B, C. Перевірити істинність висловлювання: «Тільки одне з чисел A, B, C позитивне».

Задано ціле позитивне число. Перевірити істинність висловлювання: «Дане число є парним двозначним».

Задано ціле позитивне число. Перевірити істинність висловлювання: «Дане число є непарним тризначним».

Задано два цілих числа: A, B. Перевірити істинність висловлення: «Числа A і B мають однакову парність».

Перевірити істинність висловлення: «Серед трьох заданих цілих чисел є хоча б одна пара взаємно протилежних».

Задано ціле число A. Перевірити істинність висловлення: «Число A є непарним та негативним».

Задано чотиризначне число. Перевірити істинність висловлення: «Задане число читається однаково з ліва направо і з права».

Задано три цілих числа: A, B, C. Перевірити істинність висловлювання: «Кожне з чисел A, B, C позитивне».

Задано два цілих числа: A, B. Перевірити істинність висловлення: «Хоча б одне з чисел A і B непарне».

Задано тризначне число. Перевірити істинність висловлення: «Цифри заданого числа утворять зростаючу послідовність».

Задано три цілих числа: A, B, C. Перевірити істинність висловлювання: «Число B знаходиться між числами A і C».

Задано три цілих числа: A, B, C. Перевірити істинність висловлювання: «Тільки два з чисел A, B, C є позитивними».

Задано тризначне число. Перевірити істинність висловлення: «Цифри заданого числа утворять зростаючу або спадаючу послідовність».

Задано числа x, y. Перевірити істинність висловлення: «Точка з координатами (x, y) лежить у другій або третій координатній чверті».

Задано числа x, y. Перевірити істинність висловлення: «Точка з координатами (x, y) лежить у першій або третій координатній чверті».

Задано числа x, y. Перевірити істинність висловлення: «Точка з координатами (x, y) лежить у другій координатній чверті».

Задано числа x, y. Перевірити істинність висловлення: «Точка з координатами (x, y) лежить у четвертій координатній чверті».

Задано числа x, y, x1, y1, x2, y2. Перевірити істинність висловлення: «Точка з координатами (x, y) лежить усередині прямокутника, ліва верхня вершина якого має координати (x1, y1), права нижня — (x2, y2), а сторони паралельні координатним вісям».