0907 - AfisareNumerePare1

From Bitnami MediaWiki
Revision as of 16:46, 6 May 2023 by Vardai Erwin (talk | contribs) (→‎Date de intrare)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerință

Scrieți definiția completă a funcției Python afisare care primește doi parametri a și b și determină afișarea pe ecran, în ordine crescătoare, numerele naturale pare cuprinse între a și b, inclusiv acestea.

Date de intrare

Se citesc de la tastatură doi parametri a și b, reprezentând limitele inferioară și superioară ale intervalului de numere naturale pare de afișat.

Date de ieșire

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." Funcția nu returnează nimic, ci doar afișează pe ecran, în ordine crescătoare, numerele naturale pare cuprinse între a și b, inclusiv acestea, separate prin câte un spațiu. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții de precizări

  • numele funcției va fi afisare
  • funcția va avea exact doi parametri: a, respectiv b
  • 0 < a , b <= 1000
  • numerele vor fi afișate pe aceeași linie, separate prin câte un spațiu

Exemplu

Intrare
7
2
Ieșire
Datele de intrare sunt corecte.
2 4 6

Important

Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.


Rezolvare

Rezolvare ver. 1

<syntaxhighlight lang="python" line="1" start="1"> def validare(a, b):

   """
   Verifică dacă valorile primite ca parametri sunt valide.
   """
   if a <= 0 or a > 1000 or b <= 0 or b > 1000:
       return False
   return True

def afisare(a, b):

   """
   Afiseaza numerele naturale pare cuprinse intre a si b inclusiv acestea, in ordine crescatoare.
   """
   # verificam daca valorile primite sunt valide
   if not validare(a, b):
       print("Valorile primite nu sunt valide!")
       return
   
   # determinam care este numarul mai mic si care este numarul mai mare
   start = min(a, b)
   end = max(a, b)
   
   # afisam numerele pare din intervalul [start, end]
   for i in range(start, end+1):
       if i % 2 == 0:
           print(i, end=" ")
   print()  # afisam un newline la final
  1. exemplu de utilizare a functiei afisare

if __name__ == "__main__":

   a = int(input("numarul 1: "))
   b = int(input("numarul 2: "))
   if validare(a, b):
       print("Datele de intrare sunt corecte.")
       afisare(a, b)
   else:
       print("Valorile primite nu sunt valide!")



</syntaxhighlight>