== include(page="template/taskheader" task_id="bool") ==
==Include(page="template/taskheader" task_id="bool")==
Poveste ...
==Include(page="template/raw")==
Haralambie a primit la scoala o tema destul de dificila. El trebuie sa evalueze o expresie logica. Aceasta expresie contine variabile(litere mari ale alfabetului englez de la $A$ la $Z$), constante($TRUE$ si $FALSE$), paranteze rotunde ($($ si $)$) si operatorii logici $NOT$, $AND$ si $OR$. $NOT$ are prioritatea cea mai mare, $OR$ are prioritatea cea mai mica. Initial toate variabilele au valoarea $FALSE$. Lui Haralambie ii place sa evalueze expresii, dar variabilele isi mai schimba uneori valoarea si expresia trebuie reevaluata. Speriat din aceasta cauza, a decis sa apeleze la ajutorul vostru! Dupa cum este mentionat mai sus o expresie logica este definita in unul din modurile urmatoare:
table(example). | | |
| | |
TRUE
FALSE c litera mare a alfabetului englez de la "A" la "Z"
c e expresie logica
(e) e expresie logica
NOT e e1 si e2 expresii logice
e1 AND e2 e1 si e2 expresii logice
e1 OR e2
h2. Cerinta
Se da expresia ce trebuie evaluata si modificarile ce apar la valorile variabilelor. Pentru fiecare modificare de variabila trebuie reevaluata expresia si afisat rezultatul (1 pentru adevarat si 0 pentru fals).
h2. Date de Intrare
Pe prima linie a fisierului de intrare bool.in este scrisa expresia logica definita ca mai sus. Pe a doua linie este dat numarul N de modificari ale variabilelor. Pe linia a treia sunt date N caractere intre "A" si "Z", reprezentand variabilele a caror valoare este modificata.
...
h2. Date de Iesire
Fisierul bool.out va contine o singura linie de lungime N. Pentru fiecare modificare de variabila se va afisa un caracter reprezentand valoarea logica a expresiei : 1 pentru adevarat si 0 pentru fals.
h2. Restrictii
h2. Restrictii si precizari
...
S 1 <= N <= 100
h2. Date de intrare
S 1 <= Lungime expresiei <= 1.000
...
S Toate literele care apar in expresie vor fi majuscule
h2. Date de iesire
S Nu va exista mai mult de un spatiu intre doua caractere din expresie
...
S O variabila care are valoarea TRUE isi schimba valoarea in FALSE, iar o variabila FALSE in TRUE
h2. Exemplu
| bool.in | bool.out |
| linia1
linia2
linia3
| linia1
linia2
|
bool.in bool.out
A AND ((B OR NOT C) OR ((TRUE))) 1110
4
ABCA
References
== include(page="template/taskfooter" task_id="bool") ==
Visible links
1. file:///home/eval/eval/www/infoarena/docs/arhiva/bool/enunt.files/filelist.xml
==Include(page="template/taskfooter" task_id="bool")==