Pagini recente » Diferente pentru utilizator/darius_c intre reviziile 33 si 38 | Cod sursa (job #544952) | Diferente pentru utilizator/vanila_cpp intre reviziile 52 si 75 | Diferente pentru problema/elhc intre reviziile 13 si 19 | Diferente pentru problema/bool intre reviziile 3 si 2
Diferente pentru
problema/bool intre reviziile
#3 si
#2
Diferente intre titluri:
Diferente intre continut:
==Include(page="template/taskheader" task_id="bool")==
== 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! 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
Poveste ...
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 si precizari
h2. Restrictii
S 1 <= N <= 100
...
S 1 <= Lungime expresiei <= 1.000
h2. Date de intrare
S Toate literele care apar in expresie vor fi majuscule
...
S Nu va exista mai mult de un spatiu intre doua caractere din expresie
h2. Date de iesire
S O variabila care are valoarea TRUE isi schimba valoarea in FALSE, iar o variabila FALSE in TRUE
...
h2. Exemplu
bool.in bool.out
A AND ((B OR NOT C) OR ((TRUE))) 1110
4
ABCA
References
| bool.in | bool.out |
| linia1
linia2
linia3
| linia1
linia2
|
Visible links
1. file:///home/eval/eval/www/infoarena/docs/arhiva/bool/enunt.files/filelist.xml
==Include(page="template/taskfooter" task_id="bool")==
== include(page="template/taskfooter" task_id="bool") ==
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.