Calculator în limba română
Programul va putea face calcule simple de tipul operand1 operator operand2, in care operatorii sunt cei aritmetici (+,-,*,/), plecând de la o propoziție interogativă în limba română, de genul „Cât este suma dintre 3 și patru?” sau „Care este rezultatul înmulțirii lui zece cu paisprezece?”.
Input: un șir de caractere, conținând o întrebare în limba română despre o operație de tipul menționat.
Output: un șir de caractere, reprezentând rezultatul operației, scris cu cuvinte, în limba română
Restricții: operanzii și rezultatul operației sunt numere naturale între 0 și 100
Algoritmul: pentru a rezolva aceasta problema, vom lua un exemplu: „Care este rezultatul inmultirii lui zece cu paisprezece?”
- se desparte propoziția în cuvinte, formând un vector de cuvinte: [„Care”, „este”, „rezultatul”, „inmultirii”, „lui”, „zece”, „cu”, „paisprezece”, „?”];
- se elimină cuvintele inutile (de exemplu, „Care”, „este”, „rezultatul”, „lui”, „cu”, „?”);
- celelalte cuvinte se aduc la o formă standard (de exemplu, „inmultirii” -> „*”, „zece” -> „10”, „paisprezece” -> „14”); pentru a gasi „forma standard” a fiecarui cuvant, vom asocia fiecărui operand o listă de cuvinte care îl reprezintă, de exemplu pentru adunare avem [„+”, „suma”, „plus”, „adunare”, „adunat”, „insumat”, „si cu”, „marit cu”,…];
- vectorul de trei cuvinte obținut, se pune în ordine infixată (cu operandul la mijloc) (de exemplu, [„*”, „10”, „14”] -> [„10”, „*”, „14”]);
- se evaluează expresia, transformând șirurile de cifre în numere și ținând cont de operator; astfel se obține o valoare numerică (de exemplu, „10” -> 10, „14” -> 14 și aplicând „*” pentru 10 și 14 se obține 140);
- se transforma valoarea numerică în cuvânt în limba română (de exemplu, „o suta patru zeci”).
3 Comments
Solar panel
- 13/01/2023 at 16:28We always follow your beautiful content I look forward to the continuation. https://yoykem.com.tr/
no 19 butik
- 13/01/2023 at 21:01Thank you for great article. I look forward to the continuation. https://no19butik.com/
farmasi üye ol
- 14/01/2023 at 01:56There is some nice and utilitarian information on this site https://farmasiucretsizuyelik.com/