konto usunięte
Paweł Grzegorz
Kwiatkowski
Architekt
oprogramowania,
Ericsson
Temat: program pomocy
Jakub Hinze:
Witam wszystkich. mam straszny problem, muszę napisać program w pascalu liczący czy jest tautologia czy nie jest tautologia. (zmienne znakowe)..
Rozumiem, że szukasz odpowiedniej architektury dla tego programu?
konto usunięte
Temat: program pomocy
Rzecz ujmując wszytskiego co się łączy z tym tematem :)Pozdrawiam
Paweł Grzegorz
Kwiatkowski
Architekt
oprogramowania,
Ericsson
Temat: program pomocy
Wygląda to na wariację ćwiczenia typu kalkulator wyrażeń matematycznych.Jako punkt zaczepienia proponuję wyodrębnić następujące moduły:
- UI
- Parser
- Model
- Validator
UI - moduł do interakcji z użytkownikiem (w szczególności wczytanie formuły logicznej)
Model - moduł do tworzenia/reprezentacji formuł logicznych jako np. drzewa obiektów.
Parser - moduł do przetworzenia reprezentacji wczytanej przez UI na reprezentację w modelu. Może to być np. przetworzenie reprezentacji tekstowej na model, bądź moduł, który przetworzy "narysowaną" formułę na model.
Validator - moduł, który sprawdzi czy formuła reprezentowana w modelu jest tautologią. W przypadku brute-force trzeba sprawdzić prawdziwość formuły dla wszystkich wartościowań zmiennych, ewentualnie przestać na pierwszym wartościowaniu dającym odpowiedź 'formuła fałszywa'. W bardziej finezyjnym podejściu, nie sprawdzasz wszystkich wartościowań, a tylko część, np. dla formuły postaci (a=>b wystarczy sprawdzić wartościowanie 1=>0)
Opcjonalnie możesz wprowadzić:
ValueGenerator - moduł, który na podstawie modelu wygeneruje zbiór wartościowań do sprawdzenia.
Dalej:
- określić interfejsy między modułami
- zaimplementować interfejsy najprościej jak się da
- udoskonalić implementację
p.s.
Wersja dla studentów przed zaleczeniem:
1) Wygodnie założyć, że formuły będą wprowadzane w Odwrotnej Notacji Polskiej
2) Zaimplementować kalkulator
3) Sprawdzić wszystkie wartościowania
http://pl.wikipedia.org/wiki/Odwrotna_notacja_polska
konto usunięte
Temat: program pomocy
Brzmi kosmicznie ale przyda się;P (żart)Podałem to kolegom z innej grupy, może mi to wyjaśnią bo ja wiem, ale tak nie dokońca jak to rozwinąć i odpowiednio zamienić :)
PozdrawiamJakub Hinze edytował(a) ten post dnia 15.12.08 o godzinie 21:25
Podobne tematy
-
Krakowskie Towarzystwo... » Cy wiecie ile korzyści można odnieść przy pomocy języka... -
-
Koci niewolnicy » pomocy! mam w domu potwora :( -
-
Montaż filmowy sztuka... » canon hg 10 - POMOCY -
-
WSZ/POU : Wyższa Szkoła... » Potrzebuję Pomocy -
-
Nieformalna grupa... » szukam wspólorganizatorów/agencji do pomocy przy... -
-
Rawa Mazowiecka » ZAGINĘŁA KOTKA!!!! POMOCY! -
-
Ginekologia i Położnictwo » Zespół wielotorbielowych jajników-szukam pomocy/porady.... -
-
Sztuka przetrwania » ... NIECENIE OGNIA PRZY POMOCY SOCZEWKI ... -
-
Agenci Celni » POMOCY -
-
Honda CBR 600 » dziewczyny pomocy :) -
Następna dyskusja: