0213 - Gen Mat 4: Difference between revisions
explicatii |
|||
Line 25: | Line 25: | ||
<br> | <br> | ||
== Rezolvare == | == Rezolvare == | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line="1"> | ||
# Gen Mat 4 | # Gen Mat 4 | ||
def verificare_restrictii(n): | def verificare_restrictii(n): # functia de verificare a datelor de intrare | ||
if 2 <= n <= 24: | if 2 <= n <= 24: | ||
return True | return True | ||
Line 35: | Line 35: | ||
def genmat4(n): | def genmat4(n): | ||
matrice = [] | matrice = [] # creem matricea cu n linii si n coloane | ||
for i in range(1, n+1): | for i in range(1, n+1): | ||
linie = [] | linie = [] | ||
for j in range(1, n+1): | for j in range(1, n+1): | ||
linie.append(0) | linie.append(0) | ||
matrice.append(linie) | matrice.append(linie) | ||
for linia in range(1, n+1): | for linia in range(1, n+1): | ||
for coloana in range(1, n + 1): | for coloana in range(1, n + 1): | ||
matrice[linia-1][coloana-1] = (linia * coloana) % 10 | # in cerinta, se foloseste numerotarea liniilor de la 1 deci aplicam +1 si -1 in consecinta | ||
matrice[linia-1][coloana-1] = (linia * coloana) % 10 # introducem ultima cifra a produsului | |||
for linie in matrice: | for linie in matrice: # afisarea | ||
for element in linie: | for element in linie: | ||
print(element, end=" ") | print(element, end=" ") | ||
Line 54: | Line 54: | ||
if __name__ == '__main__': | if __name__ == '__main__': | ||
nr_linii = int(input("Introduceti numarul de linii: ")) | # ne asteptam ca datele de intrare sa fie gresite fapt care ar genera o eroare de tipul ValueError | ||
# pe care o tratam corespunzator | |||
try: | |||
nr_linii = int(input("Introduceti numarul de linii: ")) # citirea lui n | |||
if verificare_restrictii(nr_linii): # verificarea datelor de intrare | |||
print("Datele de intrare corespund restrictiilor impuse.") | |||
genmat4(nr_linii) # apelul functiei de rezolvare | |||
else: | |||
print("Datele de intrare nu corespund restrictiilor impuse.") | |||
except ValueError: | |||
print("Datele de intrare nu corespund restrictiilor impuse.") | print("Datele de intrare nu corespund restrictiilor impuse.") | ||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 18:06, 26 April 2023
Cerința[edit | edit source]
Scrieţi un program care citeşte de la tastatură un număr natural n şi construieşte în memorie o matrice cu n linii şi n coloane ale cărei elemente vor primi valori după cum urmează: elementul din linia i şi coloana j primeşte ca valoare ultima cifră a produsului i*j (1≤i≤n şi 1≤j≤n).
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul n.
Date de ieșire[edit | edit source]
Dacă datele sunt introduse corect, pe ecran se va afișa: " Datele de intrare corespund restrictiilor impuse", apoi pe un rand nou va afișa matricea construită, câte o linie a matricei pe câte o linie a ecranului, elementele fiecărei linii fiind separate prin câte un spaţiu. În caz contrar, se va afișa mesajul:" Datele de intrare nu corespund restrictiilor impuse".
Restricții și precizări[edit | edit source]
2≤n≤24
Exemplu 1[edit | edit source]
- Intrare
- 4
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 1 2 3 4
- 2 4 6 8
- 3 6 9 2
- 4 8 2 6
Exemplu 2[edit | edit source]
- Intrare
- 1
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line="1">
- Gen Mat 4
def verificare_restrictii(n): # functia de verificare a datelor de intrare
if 2 <= n <= 24: return True else: return False
def genmat4(n):
matrice = [] # creem matricea cu n linii si n coloane for i in range(1, n+1): linie = [] for j in range(1, n+1): linie.append(0) matrice.append(linie)
for linia in range(1, n+1): for coloana in range(1, n + 1): # in cerinta, se foloseste numerotarea liniilor de la 1 deci aplicam +1 si -1 in consecinta matrice[linia-1][coloana-1] = (linia * coloana) % 10 # introducem ultima cifra a produsului
for linie in matrice: # afisarea for element in linie: print(element, end=" ") print()
if __name__ == '__main__':
# ne asteptam ca datele de intrare sa fie gresite fapt care ar genera o eroare de tipul ValueError # pe care o tratam corespunzator try: nr_linii = int(input("Introduceti numarul de linii: ")) # citirea lui n if verificare_restrictii(nr_linii): # verificarea datelor de intrare print("Datele de intrare corespund restrictiilor impuse.") genmat4(nr_linii) # apelul functiei de rezolvare else: print("Datele de intrare nu corespund restrictiilor impuse.") except ValueError: print("Datele de intrare nu corespund restrictiilor impuse.")
</syntaxhighlight>