0907 - AfisareNumerePare1

From Bitnami MediaWiki

Cerință[edit | edit source]

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[edit | edit source]

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[edit | edit source]

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[edit | edit source]

  • 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[edit | edit source]

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

Important[edit | edit source]

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[edit | edit source]

Rezolvare ver. 1[edit | edit source]

<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>