Var x,y,z:integer; a,b:real;
Begin
write('x='); readln(x);
write('y='); readln(y);
write('z='); readln(z);
a:=((2*x)+(3*y)-z)/(3+(2*x));
b:=((x*x)+4)/(abs(y)-2);
writeln('a=',a); writeln('b=',b);
End.
Для приведения к СКНФ необходимо построить таблицу истинности, выбрать из нее строки, где функция принимает нулевое значение, а затем записать конъюнкции всех таких строк, где каждым элементом будет дизъюнкция переменных, взятых с инверсией.
<u>Перевожу на простой язык.</u>
Ищем в таблице истинности строки со значением функции, равным 0.
Для каждой такой строки берем переменные (обозначим переменную Р), и там где в колонке для Р записан 0, пишем Р, а где единица, пишем ¬Р.
Все эти Р для одной строки соединяем через ∨ и заключаем в круглые скобки. Так повторяем для каждой нулевой строки. Между скобками пишем ∧
Результаты даны во вложениях.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char str[256];
char* pch;
int index = 0;
int letter;
printf("Введите предложение\n");
while ((letter = getchar()) != '\n')
{
<span> str[index++] = letter;
</span> }
pch = strtok(str, " ,.-");
while (pch != NULL)
{
if(strcmp(pch, "привет"))
printf("%s\n", pch);
pch = strtok(NULL, " ,.-");
}
return 0;
<span>}
</span>
Ответ это :
значение
n = 160