3212 - Cumpărături2: Difference between revisions

From Bitnami MediaWiki
Tag: visualeditor
 
(One intermediate revision by the same user not shown)
Line 6: Line 6:


==Date de ieșire==
==Date de ieșire==
Programul afișează pe ecran textul '''drona, robot, masina sau nimic'''.
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran textul '''drona, robot, masina sau nimic'''. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."


==Restricții și precizări==
==Restricții și precizări==
Line 16: Line 16:
;Intrare
;Intrare


:175 200 150 100
:175  
:200  
:150  
:100


;Ieșire
;Ieșire
 
:Datele de intrare corespund restricțiilor impuse.
:robot
:robot



Latest revision as of 17:22, 22 April 2023

Cerință[edit]

Se apropie Crăciunul. Gigel a văzut la magazin trei jucării care îi plac: cel mai mult îi place o dronă, care costă d lei, apoi îi place un robot care costă r lei, apoi o mașină care costă m lei, d > r > m. De Crăciun Gigel merge la colindat la rude și va primi de la acestea S lei. Aflați ce jucărie va cumpăra Gigel cu banii câștigați: drona, robotul, masina sau niciuna dintre ele!

Date de intrare[edit]

Programul citește de la tastatură numerele naturale S d r m.

Date de ieșire[edit]

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran textul drona, robot, masina sau nimic. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții și precizări[edit]

1 ≤ S , d , r , m ≤ 1.000.000.000 d > r > m Gigel va alege cel mult un obiect, cel mai scump pe care îl poate cumpăra

Exemplul 1[edit]

Intrare
175
200
150
100
Ieșire
Datele de intrare corespund restricțiilor impuse.
robot

Rezolvare[edit]

Rezolvare ver. 1[edit]

<syntaxhighlight lang="python" line="1" start="1">

  1. Functia de validare a restrictiilor

def validare(d, r, m, S):

   # Verificam daca valorile sunt intre 1 si 1 miliard inclusiv, pentru a respecta restricția impusa
   if not (1 <= d <= 1000000000 and 1 <= r <= 1000000000 and 1 <= m <= 1000000000 and 1 <= S <= 1000000000):
       return False
   # Verificam daca drona este cea mai scumpa jucarie, iar masina cea mai ieftina, pentru a respecta restricția impusa
   if not (d > r > m):
       return False
   return True


  1. Functia care determina ce jucarie va cumpara Gigel

def alege_jucarie(d, r, m, S):

   if S >= d:
       return "drona"
   elif S >= r:
       return "robot"
   elif S >= m:
       return "masina"
   else:
       return "niciuna"


if __name__ == '__main__':

   # Citirea de la tastatura a datelor problemei
   S = int(input("Suma de bani a lui Gigel :"))
   d = int(input("Pretul Dronei :"))
   r = int(input("Pretul Robotului :"))
   m = int(input("Pretul Masinii :"))
   if validare(d, r, m, S):  # Apelarea functiei de Validare
       print("Datele de intrare corespund restricțiilor impuse.")
       jucarie_aleasa = alege_jucarie(d, r, m, S)  # Apelarea functiei care determina ce jucarie a ales Gigel
       print(jucarie_aleasa)
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")

</syntaxhighlight>