0892 - Pasareste 1: Difference between revisions
Pagină nouă: == Cerinţa == Se dă un vector cu '''n''' elemente, numere naturale și un număr '''k'''. Ordonați crescător primele '''k''' elemente ale vectorului și descrescător ultimele '''n-k''' elemente.Pentru sortare se va folosit metoda '''QuickSort''' sau '''MergeSort'''. == Date de intrare == Programul citește de la tastatură numerele '''n''' și '''k''', iar apoi '''n''' numere naturale, reprezentând elementele vectorului. == Date de ieşire == Programul va afișa pe ecra... |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
== Cerinţa == | == Cerinţa == | ||
Limba păsărească este foarte simplă; și asemănătoare cu limba română! Un text scris în română se traduce în păsărește astfel: după fiecare vocală se inserează litera '''p''' și vocala respectivă. | |||
Se dă o propoziție scrisă în limba păsărească. Să se traducă în limba română. | |||
== Date de intrare == | == Date de intrare == | ||
Programul citește de la tastatură | Programul citește de la tastatură un șir de caractere '''s'''. | ||
== Date de ieşire == | == Date de ieşire == | ||
Programul va afișa pe ecran | Programul va afișa pe ecran șirul '''t''', reprezentând traducerea în română a șirului '''s'''. | ||
== Restricții și precizări == | == Restricții și precizări == | ||
* ''' | * șirurile '''s''' și '''t''' vor avea cel mult '''255''' de caractere | ||
* | * șirul '''s''' va conține litere mici ale alfabetului englez și spații | ||
* vocalele sunt: '''aeiou''' | |||
* '''șirul dat în limba păsărească este corect''' | |||
== Exemplul 1 == | == Exemplul 1 == | ||
; Intrare | ; Intrare | ||
apanapa aparepe meperepe | |||
; Ieșire | ; Ieșire | ||
Datele introduse corespund restricțiilor impuse. | Datele introduse corespund restricțiilor impuse. | ||
ana are mere | |||
<br> | <br> | ||
== Exemplul 2 == | == Exemplul 2 == | ||
; Intrare | ; Intrare | ||
78675878576875 | |||
; Ieșire | ; Ieșire | ||
Datele introduse nu corespund restricțiilor impuse. | Datele introduse nu corespund restricțiilor impuse. | ||
Line 24: | Line 27: | ||
== Rezolvare == | == Rezolvare == | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
# Definim funcția de verificare a valorilor | # Definim funcția de verificare a valorilor s | ||
def verificare( | def verificare(s_val): | ||
# Verificăm dacă | # Verificăm dacă s respectă restricțiile problemei | ||
if 1 <= | if 1 <= len(s_val) <= 255 and all(c.islower() or c.isspace() for c in s_val): | ||
# Dacă valorile sunt valide, returnăm True | |||
return True | |||
else: | |||
# Dacă valorile nu sunt valide, ridicăm o excepție | |||
raise ValueError | |||
# Definim funcția pentru | # Definim funcția pentru traducerea din limba păsărească în română | ||
def | def traducere_pasareasca(s_pasareasca): | ||
vocale = 'aeiou' | |||
t = '' | |||
i = 0 | |||
while i < len(s_pasareasca): | |||
if s_pasareasca[i] in vocale: | |||
return | t += s_pasareasca[i] | ||
i += 3 | |||
else: | |||
t += s_pasareasca[i] | |||
i += 1 | |||
return t | |||
if __name__ == '__main__': | if __name__ == '__main__': | ||
try: | try: | ||
# Citim | # Citim șirul de caractere | ||
s = input("Introduceti sirul de caractere: ") | |||
# Verificăm dacă datele introduse sunt valide | # Verificăm dacă datele introduse sunt valide | ||
if verificare( | if verificare(s): | ||
# Dacă datele sunt valide, afișăm un mesaj de confirmare | # Dacă datele sunt valide, afișăm un mesaj de confirmare | ||
print("Datele introduse corespund restricțiilor impuse.") | print("Datele introduse corespund restricțiilor impuse.") | ||
# Traducem șirul din limba păsărească în română și îl afișăm | |||
print(traducere_pasareasca(s)) | |||
# Tratăm cazul în care datele introduse nu sunt | # Tratăm cazul în care datele introduse nu sunt valide | ||
except ValueError: | except ValueError: | ||
# Afișăm un mesaj de eroare | |||
print("Datele introduse nu corespund restricțiilor impuse.") | print("Datele introduse nu corespund restricțiilor impuse.") | ||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 14:29, 14 December 2023
Cerinţa[edit | edit source]
Limba păsărească este foarte simplă; și asemănătoare cu limba română! Un text scris în română se traduce în păsărește astfel: după fiecare vocală se inserează litera p și vocala respectivă.
Se dă o propoziție scrisă în limba păsărească. Să se traducă în limba română.
Date de intrare[edit | edit source]
Programul citește de la tastatură un șir de caractere s.
Date de ieşire[edit | edit source]
Programul va afișa pe ecran șirul t, reprezentând traducerea în română a șirului s.
Restricții și precizări[edit | edit source]
- șirurile s și t vor avea cel mult 255 de caractere
- șirul s va conține litere mici ale alfabetului englez și spații
- vocalele sunt: aeiou
- șirul dat în limba păsărească este corect
Exemplul 1[edit | edit source]
- Intrare
apanapa aparepe meperepe
- Ieșire
Datele introduse corespund restricțiilor impuse. ana are mere
Exemplul 2[edit | edit source]
- Intrare
78675878576875
- Ieșire
Datele introduse nu corespund restricțiilor impuse.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line>
- Definim funcția de verificare a valorilor s
def verificare(s_val):
# Verificăm dacă s respectă restricțiile problemei if 1 <= len(s_val) <= 255 and all(c.islower() or c.isspace() for c in s_val): # Dacă valorile sunt valide, returnăm True return True else: # Dacă valorile nu sunt valide, ridicăm o excepție raise ValueError
- Definim funcția pentru traducerea din limba păsărească în română
def traducere_pasareasca(s_pasareasca):
vocale = 'aeiou' t = i = 0 while i < len(s_pasareasca): if s_pasareasca[i] in vocale: t += s_pasareasca[i] i += 3 else: t += s_pasareasca[i] i += 1 return t
if __name__ == '__main__':
try: # Citim șirul de caractere s = input("Introduceti sirul de caractere: ")
# Verificăm dacă datele introduse sunt valide if verificare(s): # Dacă datele sunt valide, afișăm un mesaj de confirmare print("Datele introduse corespund restricțiilor impuse.")
# Traducem șirul din limba păsărească în română și îl afișăm print(traducere_pasareasca(s))
# Tratăm cazul în care datele introduse nu sunt valide except ValueError: # Afișăm un mesaj de eroare print("Datele introduse nu corespund restricțiilor impuse.")
</syntaxhighlight>