0836 - AfisareVectorRec1: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: ==Cerinţa== Să se scrie o funcție recursivă care citește de la tastatură un șir de valori naturale și le afișează în ordine inversă, cu câte un spațiu între ele. ==Date de intrare== Se va introduce de la tastatură un șir de valori naturale care vor fi transmise ca perimetrii ==Date de ieșire== Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse." În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele e...
 
No edit summary
Line 16: Line 16:
==Exemplu==
==Exemplu==
Dacă se introduc valorile 4 9 2 0 se va afișa 0 2 9 4.
Dacă se introduc valorile 4 9 2 0 se va afișa 0 2 9 4.
==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==
  def afis():
  Pentru această problemă, vom folosi o funcție de validare care verifică dacă valorile citite sunt numere naturale și o funcție de rezolvare care citește valorile și le afișează în ordine inversă, folosind recursivitatea. Vom utiliza apoi o funcție main care va apela cele două funcții și va afișa mesajul corespunzător.
     x = int(input())
 
    if x < 0 or x > 10000:
def validare():
         print("Datele de intrare nu corespund restricțiilor impuse.")
     while True:
        try:
            valoare = input("Introduceti o valoare naturala: ")
            if int(valoare) < 0:
                print("Datele de intrare nu corespund restricțiilor impuse.")
                continue
            return int(valoare)
         except ValueError:
            print("Datele de intrare nu corespund restricțiilor impuse.")          
def rezolvare():
    valoare = validare()
    if valoare == 0:
         return
         return
     if x == 0:
     else:
        print("Datele de intrare corespund restricțiilor impuse.")
        rezolvare()
        return
        print(valoare, end=" ")       
     afis()
def main():
    print(x, end=' ')
    print("Acest program va afisa valorile introduse in ordine inversa.")
    print("Introduceti valorile naturale separate prin spatiu, urmate de 0 pentru a incheia.")
    rezolvare()
    print("\nDatele de intrare corespund restricțiilor impuse.")
      
main()

Revision as of 11:03, 25 March 2023

Cerinţa

Să se scrie o funcție recursivă care citește de la tastatură un șir de valori naturale și le afișează în ordine inversă, cu câte un spațiu între ele.

Date de intrare

Se va introduce de la tastatură un șir de valori naturale care vor fi transmise ca perimetrii

Date de ieșire

Pe ecran se va afișa mesajul: "Datele de intrare 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 "Datele de intrare nu corespund restricțiilor impuse.".

Restricţii şi precizări

numele funcției va fi afis; funcția nu va avea parametri și nu va returna nimic; șirul de valori citite se încheie la citirea valorii 0.

Exemplu

Dacă se introduc valorile 4 9 2 0 se va afișa 0 2 9 4.

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

Pentru această problemă, vom folosi o funcție de validare care verifică dacă valorile citite sunt numere naturale și o funcție de rezolvare care citește valorile și le afișează în ordine inversă, folosind recursivitatea. Vom utiliza apoi o funcție main care va apela cele două funcții și va afișa mesajul corespunzător.

def validare():

   while True:
       try:
           valoare = input("Introduceti o valoare naturala: ")
           if int(valoare) < 0:
               print("Datele de intrare nu corespund restricțiilor impuse.")
               continue
           return int(valoare)
       except ValueError:
           print("Datele de intrare nu corespund restricțiilor impuse.")            
def rezolvare():
   valoare = validare()
   if valoare == 0:
       return
   else:
       rezolvare()
       print(valoare, end=" ")        
def main():
   print("Acest program va afisa valorile introduse in ordine inversa.")
   print("Introduceti valorile naturale separate prin spatiu, urmate de 0 pentru a incheia.")
   rezolvare()
   print("\nDatele de intrare corespund restricțiilor impuse.")
   
main()