2574 - Val 1
Cerința
Se citeste n și m. Să se reprezinte următoarea diagramă în funcție de n și m, în care n reprezintă înălțimea, iar m numărul de valuri care compun diagrama. Diagrama este formată din caractere 0, interiorul și exteriorul valurilor sunt alcătuite din caractere _.
Date de intrare
Programul citește numerele n m.
Date de ieșire
Programul va afișa o diagrama cerută.
Restricții și precizări
1 ≤ n ≤ m ≤ 20
Exemplul 1:
Intrare 5 4
Ieșire
__0_0_____0_0_____0_0_____0_0___
_0___0___0___0___0___0___0___0__
_0___0___0___0___0___0___0___0__
_0___0___0___0___0___0___0___0__
0_____0_0_____0_0_____0_0_____0_
Exemplul 2:
Intrare
6 8
Ieșire
__0_0_____0_0_____0_0_____0_0_____0_0_____0_0_____0_0_____0_0___
_0___0___0___0___0___0___0___0___0___0___0___0___0___0___0___0__
_0___0___0___0___0___0___0___0___0___0___0___0___0___0___0___0__
_0___0___0___0___0___0___0___0___0___0___0___0___0___0___0___0__
_0___0___0___0___0___0___0___0___0___0___0___0___0___0___0___0__
0_____0_0_____0_0_____0_0_____0_0_____0_0_____0_0_____0_0_____0_
Rezolvare
<syntaxhighlight lang="python" line="1"> def validare(n, m):
""" Functie care verifica daca valorile citite pentru n si m respecta restrictiile problemei. """ if not (1 <= n <= 20 and 1 <= m <= 20): print("Date de intrare incorecte!") exit()
def rezolvare(n, m):
""" Functie care construieste si afiseaza figura ceruta in functie de valorile lui n si m. """ # initializam matricea cu caractere "_" for j in range(1, n + 1): for i in range(1, 8 * m + 1): if j == 1: if i % 8 == 3 or i % 8 == 5: print('0', end=) else: print('_', end=) elif j == n: if i % 8 == 1 or i % 8 == 7: print('0', end=) else: print('_', end=) else: if i % 8 == 2 or i % 8 == 6: print('0', end=) else: print('_', end=) print()
if __name__ == "__main__":
# citim valorile n si m n, m = map(int, input().split()) # validam datele de intrare if validare(n, m): print("Date de intrare valide") # rezolvam problema si afisam rezultatul rezolvare(n, m)
</syntaxhighlight>