Diferente pentru problema/bool intre reviziile #6 si #19

Nu exista diferente intre titluri.

Diferente intre continut:

==Include(page="template/taskheader" task_id="bool")==
==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!
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:
Dupa cum este mentionat mai sus o expresie logica este definita in unul din modurile urmatoare:
 
table(example). | expresie | explicatie |
| TRUE |   |
| FALSE |   |
| c     |  c litera mare a alfabetului englez |
| (e)   |  e expresie logica |
| NOT e |  e expresie logica |
| e1 AND e2 | e1 si e2 expresii logice |
| e1 OR e2 | e1 si e2 expresii logice |
 
 
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
table. |_. expresie |_. explicatie |
| $TRUE$ | $ $ |
| $FALSE$ | $ $ |
| $c$     |  $c - litera mare a alfabetului englez$ |
| $(e)$   |  $e - expresie logica$ |
| $NOT e$ |  $e - expresie logica$ |
| $e1 AND e2$ | $e1 si e2 - expresii logice$ |
| $e1 OR e2$ | $e1 si e2 - expresii logice$ |
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.
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. Restrictii si precizari
h2. Date de Intrare
S 1 <= N <= 100
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.
S 1 <= Lungime expresiei <= 1.000
h2. Date de Iesire
S Toate literele care apar in expresie vor fi majuscule
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.
S Nu va exista mai mult de un spatiu intre doua caractere din expresie
h2. Restrictii si precizari
S O variabila care are valoarea TRUE isi schimba valoarea in FALSE, iar o variabila FALSE in TRUE
* $1 &le; N &le; 100$
* $1 &le; Lungime expresiei &le; 1.000$
* Toate literele care apar in expresie vor fi majuscule
* Nu va exista mai mult de un spatiu intre doua caractere din expresie
* O variabila care are valoarea $TRUE$ isi schimba valoarea in $FALSE$, iar o variabila $FALSE$ se schimba in $TRUE$
h2. Exemplu
bool.in bool.out
A AND ((B OR NOT C) OR ((TRUE))) 1110
table(example). |_. bool.in |_. bool.out |
| A AND ((B OR NOT C) OR ((TRUE)))
4
ABCA
| 1110 |
 
 
 
 
 
 
References
 
Visible links
1. file:///home/eval/eval/www/infoarena/docs/arhiva/bool/enunt.files/filelist.xml
==Include(page="template/taskfooter" task_id="bool")==
 
 
 

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
94