0103 - Curte: Difference between revisions

From Bitnami MediaWiki
Adrian (talk | contribs)
Pagină nouă: == Cerința == Curtea bunicului are formă dreptunghiulară şi se cunosc lungimea şi lăţimea ei. Să se determine aria acestei curţi, precum şi lungimea gardului care înconjoară curtea. == Date de intrare == Programul va citi de la tastatură două numere naturale '''lungimea''' şi '''latimea''', reprezentând dimensiunile curţii. == Date de ieșire == Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse". În următorul rând se va afi...
 
Adrian (talk | contribs)
No edit summary
 
(One intermediate revision by the same user not shown)
Line 7: Line 7:
În următorul rând se va afişa pe ecran două numere, separate prin exact un spaţiu, reprezentând aria curţii bunicului, respectiv lungimea gardului care o înconjoară.
În următorul rând se va afişa pe ecran două numere, separate prin exact un spaţiu, reprezentând aria curţii bunicului, respectiv lungimea gardului care o înconjoară.


În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse".
În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Nu au fost respectate cerintele impuse".
== Restricții și precizări ==
== Restricții și precizări ==
* 0 < '''lungimea''', '''latimea''' < 10000
* 0 < '''lungimea''', '''latimea''' < 10000
Line 27: Line 27:
== Rezolvare ==
== Rezolvare ==
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>
# 103 - Curte
# 0103 - Curte
def curte():
def validare(lungimea, latimea):
     lungimea = int(input())
     # Daca datele sunt invalide v-om face raise la eroarea ValueError
    latimea = int(input())


     conditii = (
     conditii = (
Line 37: Line 36:
     )
     )


     if all(conditii):
     if not all(conditii):
         print("Datele de intrare corespund restricțiilor impuse")
         raise ValueError


        print(f"{lungimea * latimea} {2*(lungimea + latimea)}")


     else:
def curte(lungimea, latimea):
        print("Nu au fost respectate cerintele impuse")
     # Folosim formula matematica ca sa aflam aria si perimetrul
    print(f"{lungimea * latimea} {2*(lungimea + latimea)}")




if __name__ == '__main__':
if __name__ == '__main__':
     curte()
     # Citim de la tastatura numerele cerute
    lungimea = int(input())
    latimea = int(input())
 
    # Verificam daca datele introduse sunt valide
    # daca nu afisam mesajul corespunsador
    try:
        validare(lungimea, latimea)
    except ValueError:
        print("Nu au fost respectate cerintele impuse")
    else:
        print("Datele de intrare corespund restricțiilor impuse")
 
        curte(lungimea, latimea)


</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 11:11, 23 May 2023

Cerința[edit | edit source]

Curtea bunicului are formă dreptunghiulară şi se cunosc lungimea şi lăţimea ei. Să se determine aria acestei curţi, precum şi lungimea gardului care înconjoară curtea.

Date de intrare[edit | edit source]

Programul va citi de la tastatură două numere naturale lungimea şi latimea, reprezentând dimensiunile curţii.

Date de ieșire[edit | edit source]

Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse". În următorul rând se va afişa pe ecran două numere, separate prin exact un spaţiu, reprezentând aria curţii bunicului, respectiv lungimea gardului care o înconjoară.

În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Nu au fost respectate cerintele impuse".

Restricții și precizări[edit | edit source]

  • 0 < lungimea, latimea < 10000

Exemplu 1[edit | edit source]

Intrare
20
12
Ieșire
Datele de intrare corespund restricțiilor impuse
240 64


Exemplu 2[edit | edit source]

Intrare
0
12
Ieșire
Nu au fost respectate cerintele impuse


Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line>

  1. 0103 - Curte

def validare(lungimea, latimea):

   # Daca datele sunt invalide v-om face raise la eroarea ValueError
   conditii = (
       lungimea > 0, lungimea < 10000,
       latimea > 0, latimea < 10000
   )
   if not all(conditii):
       raise ValueError


def curte(lungimea, latimea):

   # Folosim formula matematica ca sa aflam aria si perimetrul
   print(f"{lungimea * latimea} {2*(lungimea + latimea)}")


if __name__ == '__main__':

   # Citim de la tastatura numerele cerute
   lungimea = int(input())
   latimea = int(input())
   # Verificam daca datele introduse sunt valide
   # daca nu afisam mesajul corespunsador
   try:
       validare(lungimea, latimea)
   except ValueError:
       print("Nu au fost respectate cerintele impuse")
   else:
       print("Datele de intrare corespund restricțiilor impuse")
       curte(lungimea, latimea)

</syntaxhighlight>