відповідь:
решение логических выражений принято записывать в виде таблиц истинности – таблиц, в которых по действиям показано, какие значения принимает логическое выражение при всех возможных наборах его переменных.
при составлении таблицы истинности для логического выражения необходимо учитывать порядок выполнения логических операций, а именно:
действия в скобках,
инверсия (отрицание),
& (конъюнкция),
v (дизъюнкция),
=> (импликация),
< => (эквивалентность).
алгоритм составления таблицы истинности:
1. выяснить количество строк в таблице (вычисляется как 2n, где n – количество переменных + строка заголовков столбцов).
2. выяснить количество столбцов (вычисляется как количество переменных + количество логических операций).
3. установить последовательность выполнения логических операций.
4. построить таблицу, указывая названия столбцов и возможные наборы значений исходных логических переменных.
5. заполнить таблицу истинности по столбцам.
6. записать ответ.
пример 6
построим таблицу истинности для выражения f=(avb)& (¬av¬b).
1. количество строк=22 (2 переменных+строка заголовков столбцов)=5.
2. количество столбцов=2 логические переменные (а, в)+ 5 логических операций (v,& ,¬,v,¬) = 7.
Объяснение:
описываем переменные:
var
Chislo3 : integer;
ChisloStr, N1, N2, N3 : string;
begin
repeat
writeln('Ввод числа');
Read(Chislo3);
введенное целое число преобразуем в строку
ChisloStr:=Str(Chislo3);
проверяем, что длина строки 3, т.е. введенное число трехзначное и если да, то выходим из цикла
until Length(ChisloStr)=3;
вырезаем из строки символы последовательно
N1:= copy(ChisloStr,1,1); N2:=copy(ChisloStr,2,1); N3:=copy(ChisloStr,3,1);
выводим выделенные символы построчно
WriteLn(N1);
WriteLn(N2);
WriteLn(N3);
end.
* синтаксис не тестил
#include <iostream>
#include <stdint.h>
#include <limits.h>
using namespace std;
int main()
{ const int n = 10;
int m[n];
int max = INT_MIN;
int min = INT_MAX;
for (int i=0; i<n; i++)
{
m[i] = rand() % 40;
if(m[i]>max && m[i] % 2 == 0)
max = m[i];
if(m[i]<min && m[i] % 2 != 0)
min = m[i];
}
cout<<max<<endl<<min<<endl;
return 0;
}
Объяснение: