Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
10 / 9 / 0
Регистрация: 12.11.2009
Сообщений: 16

Класс "логические выражения"

08.12.2009, 02:10. Показов 2231. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте товарищи! Есть ли у кого нибудь идеи по следующему заданию!?
подскажите пожалуйста!если кто знает как это реализоват!?
!!!Класс "логические выражения". Допустимые логические выражения могут
содержать логические переменные(можно сделать ограничивающее допущение на имена
переменных и их количество) и логические операции: отрицание, конъюнкция,
дизъюнкция, импликация. Должна быть реализиванна возможность вычисления
значения выражения для заданных значений логических переменных, постороения
таблицы истинности, проверка двух логических выражений на эквивалентность.
Помогите плиз...

написать в Eclipse java
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.12.2009, 02:10
Ответы с готовыми решениями:

Входной язык содержит логические выражения, разделённые символом ; (точка с запятой). Логические выражения состоят из и
Для выполнения лабораторной работы необходимо: 1) написать программу, которая выполняет лексический анализ входного текста в ...

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

Записать логические выражения используя условные операторы опреции отношений и логические операции алгоритмического язы
Записать логическое выражение определяющее когда число N не делится на 5 но делится 2 и 3 без остатка.

3
Mobile Developer
 Аватар для lifestyle
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
08.12.2009, 08:23
если я правильно понял задание, то у меня есть такая прога ,только исходники на СИ,
сорри на джавее гемморой этот просто так писать лень)))вобщем если что пиши в личку или аську семь-три-четыре-пять-восемь-восемь-ноль
0
10 / 9 / 0
Регистрация: 12.11.2009
Сообщений: 16
08.12.2009, 20:37  [ТС]
а где эти примеры то?
0
Mobile Developer
 Аватар для lifestyle
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
08.12.2009, 23:54
могу выслать)вот кодесли это ты имел ввиду я просто на русском незнаю всех терминов=) )
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#include <stdio.h>
#include <malloc.h>
#include<string.h>
#include <stdlib.h>
#include <math.h>
char C(char *arr,char res);
char * newArr(char *str){
    int i=0,j,b=0;
    char *str2=(char*)malloc(81*sizeof(char));
    for(i=0;i<81;i++){
        for(j=i+1;j<80;j++){
           if(str[i]==str[j]){
            str[j]=' ';
            }
        }
        if(((str[i]>=65)&&(str[i]<=90))||((str[i]>=97)&&(str[i]<=122)))
         str2[b++]=str[i];
        if(str[i]=='\0')
            str2[b]='\0';
    }
    return str2;
}
 int options(int size){
    return (int)pow(2,size);
}
int *binary(int num,int size){
    int *bin=(int*)malloc(sizeof(int)*size);
    int n;
    for(n=size-1;n>=0;n--){
        if(num%2==0) bin[n]=0;
        else bin[n]=1;
        num=num/2;
    }
    return bin;
}
int *azava(char *str2,int *ptr,char *str){
    int i,j;
    int *arr=(int*)malloc((int)strlen(str)*sizeof(int));
    for(i=0;i<(int)strlen(str);i++){
        for(j=0;j<(int)strlen(str);j++){
            if(str[i]==str2[j]){
                arr[i]=ptr[j];
            }   
        }
    }
    return arr;
}
char* Convert(char *str3,int *res,int sizeofstr3){
    char *arr=(char*)malloc(sizeofstr3*sizeof(char));
    int i,j=0;
    for(i=0;i<=sizeofstr3;i++){
        if(str3[i]=='!'){
            if(res[i+1]==1)
                res[i+1]=0;
            else
               res[i+1]=1;
        }
        if(((str3[i]>=60)&&(str3[i]<=62))||(str3[i]=='^')||(str3[i]=='|'))
            arr[j++]=str3[i];
            if(res[i]==0){
            arr[j++]='0';
            }
            if(res[i]==1){
            arr[j++]='1';
            }
            if(str3[i]=='\0'){
            arr[j++]='\0';
            }
    }
    return arr;
}
void start(char*str){
    int i,j, count=0,flag=1;
    char c='0';
    char *str2,str3[81];
    int *ptr,*res;
    char *sss;
    for(i=0;i<=(int)strlen(str);i++){
        str3[i]=str[i]; 
    }
    str2=newArr(str);
    count=options((int)strlen(str2));//number of variations
    printf("Expression is:%7s\n",str3);
    printf("%5s   Result:\n\n",str2);
    for(j=0;j<count;j++){
        ptr=binary(j,(int)strlen(str2));//variation
        printf("  ");
        for(i=0;i<(int)strlen(str2);i++){
            if(ptr[i]==0)
                printf("F");
            if(ptr[i]==1)
                printf("T");
        }
        res=azava(str2,ptr,str3);
        sss=Convert(str3,res,(int)strlen(str3));
        c=C(sss,c);
        if(c=='0'){
            printf("   False\n");
            flag=0;
        }
        else 
            printf("   True\n");
    }
    if(flag==1) printf("The expression is TAUTOLOGY\n");
    else printf("The expression is Satisfyable.\n");
}
char  C(char *arr, char res){
    int i,b=0,d=3;
    char j;
    char s[4];
    char *s2=arr;
      for(i=0;i<4;i++){
         if(i==3){
            s[i]='\0';
         }
         s[i]=arr[i];
      }
      for(i=4;i<(int)strlen(s2);i++){
        if(s2[i]=='\0')arr[b]='\0';
        arr[b++]=s2[i];
      }
      //-----VEGAM-----
    if(s[1]=='^'){
        if((s[0]=='1')&&(s[2]=='1'))
            j='1';
        else
            j='0';
    }
    // -------OR-----
    if(s[1]=='|'){
        if((s[0]=='0')&&(s[2]=='0'))
            j='0';
        else
            j='1';
    }
    //---shkilut-----
    if(s[1]=='='){
        if(s[0]==s[2])
            j='1';
        else
            j='0';
    }
    //-----grira L2R----
    if(s[1]=='>'){
        if((s[0]=='1')&&(s[2]=='0'))
            j='0';
        else
            j='1';
    }
    //----grira R2L------
    if(s[1]=='<'){
        if((s[0]=='0')&&(s[2]=='1'))
            j='0';
        else
            j='1';
    }
    for(b=0;b<(int)strlen(arr);b++){
        if(arr[d]=='\0')arr[b]='\0';
        if(b==0) arr[0]=j;
        else arr[b]=arr[d++];
    }
    if((int)strlen(arr)<3)
        return j;
    return C(arr,j);
}
 
void main(){
    char str[sizeof(char)*81];
    scanf("%s",&str);
    start(str);
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.12.2009, 23:54
Помогаю со студенческими работами здесь

Класс "логические выражения"
Здравствуйте товарищи! Есть ли у кого нибудь идеи по следующему заданию!? подскажите пожалуйста!если кто знает как это реализоват!? ...

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

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

Записать логические выражения, используя условные операторы, операции отношений и логические операции.
Нужно: Текст программы (включая подробные комментарии) Блок-схему алгоритма Записать логические выражения, используя...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru