konto usunięte

Temat: program pomocy

Witam wszystkich. mam straszny problem, muszę napisać program w pascalu liczący czy jest tautologia czy nie jest tautologia. (zmienne znakowe)..
Paweł Grzegorz Kwiatkowski

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

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



Wyślij zaproszenie do