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 |
||
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 | |||
# Verificăm dacă acest script este rulat direct (nu este importat ca modul) | |||
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> |
Revision as of 16:21, 13 December 2023
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
Programul citește de la tastatură un șir de caractere s.
Date de ieşire
Programul va afișa pe ecran șirul t, reprezentând traducerea în română a șirului s.
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
- Intrare
apanapa aparepe meperepe
- Ieșire
Datele introduse corespund restricțiilor impuse. ana are mere
Exemplul 2
- Intrare
78675878576875
- Ieșire
Datele introduse nu corespund restricțiilor impuse.
Rezolvare
<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
- Verificăm dacă acest script este rulat direct (nu este importat ca modul)
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>