1681 - Power: Difference between revisions

From Bitnami MediaWiki
Paul Ungur (talk | contribs)
Paul Ungur (talk | contribs)
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 6: Line 6:


==Date de ieșire==
==Date de ieșire==
Programul va afișa pe ecran numărul <span style="color: red;"> P</span>, reprezentând <span style="color: red;"> a^b </span>.
Dacă datele sunt introduse corect, pe ecran se va afișa: '''"Datele sunt introduse corect."''', apoi programul va afișa pe ecran numărul <span style="color: red;"> P</span>, reprezentând <span style="color: red;"> a^b </span>. În cazul în care datele nu respectă restricțiile, se va afișa pe ecran: '''"Datele NU sunt introduse corect."'''


==Restricții și precizări==
==Restricții și precizări==
Line 14: Line 14:
==Exemplu:==
==Exemplu:==
Intrare
Intrare
5
: 5
4
: 4


Ieșire
Ieșire
625
: Datele sunt introduse corect.
: 625


==Explicație==
==Explicație==
Line 25: Line 26:
==Rezolvare==
==Rezolvare==
<syntaxhighlight lang="python" line="1">
<syntaxhighlight lang="python" line="1">
def validate_input(a: int, b: int) -> bool:
def validare_date(a, b):
     if a < 0 or b < 0:
    flag = False
         print("Eroare: a și b trebuie să fie numere naturale!")
     if 0 < a + b:
         return False
        flag = True
     return True
         print("Datele sunt introduse corect.")
    if flag == False:
         print("Datele NU sunt introduse corect.")
     return flag


def calculate_power(a: int, b: int) -> int:
    return a ** b


def main() -> None:
def Pow(a, b):
     a = int(input("Introduceți baza a: "))
     tmp = 1
     b = int(input("Introduceți exponentul b: "))
    for i in range(b):
        tmp *= a
     print(tmp)


    if validate_input(a, b):
        power = calculate_power(a, b)
        print(f"{a}^{b} = {power}")


if __name__ == '__main__':
if __name__ == "__main__":
     main()
     a, b = map(int, input().split())
    if validare_date(a, b):
        Pow(a, b)
</syntaxhighlight>
</syntaxhighlight>
==Explicatie cod:==
Codul Python de mai sus definește două funcții: validare_date și Pow. Iată o explicație pentru fiecare dintre ele:
Funcția validare_date(a, b):
Această funcție primește doi parametri, a și b, reprezentând două numere întregi.
Verifică dacă suma dintre a și b este strict pozitivă (mai mare decât 0). Dacă această condiție este îndeplinită, variabila flag este setată la True, iar mesajul "Datele sunt introduse corect." este afișat.
Dacă variabila flag este False, se afișează mesajul "Datele NU sunt introduse corect."
Funcția returnează valoarea variabilei flag.
Funcția Pow(a, b):
Această funcție primește doi parametri, a și b, reprezentând două numere întregi.
Funcția calculează a ridicat la puterea b utilizând un buclă for.
Rezultatul este stocat în variabila tmp.
Rezultatul este apoi afișat.
În cadrul secțiunii if __name__ == "__main__": se realizează următoarele acțiuni:
Se citește de la tastatură două numere întregi separate prin spațiu, a și b, și sunt convertite în variabilele corespunzătoare.
Se apelează funcția validare_date(a, b) pentru a verifica validitatea datelor. Dacă datele sunt valide, se apelează funcția Pow(a, b) pentru a calcula și afișa puterea, altfel se afișează mesajul "Datele NU sunt introduse corect."

Latest revision as of 17:58, 29 June 2023

Cerința[edit | edit source]

Prietenul nostru, Zolly, a învățat la scoală despre ridicarea la putere. Ajutați-l să calculeze a^b .

Date de intrare[edit | edit source]

Programul citește de la tastatură numerele naturale a si b.

Date de ieșire[edit | edit source]

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele sunt introduse corect.", apoi programul va afișa pe ecran numărul P, reprezentând a^b . În cazul în care datele nu respectă restricțiile, se va afișa pe ecran: "Datele NU sunt introduse corect."

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

0 ≤ P ≤ 2.000.000.000; a + b > 0.

Exemplu:[edit | edit source]

Intrare

5
4

Ieșire

Datele sunt introduse corect.
625

Explicație[edit | edit source]

5 * 5 * 5 * 5 = 625.

Rezolvare[edit | edit source]

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

   flag = False
   if 0 < a + b:
       flag = True
       print("Datele sunt introduse corect.")
   if flag == False:
       print("Datele NU sunt introduse corect.")
   return flag


def Pow(a, b):

   tmp = 1
   for i in range(b):
       tmp *= a
   print(tmp)


if __name__ == "__main__":

   a, b = map(int, input().split())
   if validare_date(a, b):
       Pow(a, b)

</syntaxhighlight>

Explicatie cod:[edit | edit source]

Codul Python de mai sus definește două funcții: validare_date și Pow. Iată o explicație pentru fiecare dintre ele:

Funcția validare_date(a, b): Această funcție primește doi parametri, a și b, reprezentând două numere întregi. Verifică dacă suma dintre a și b este strict pozitivă (mai mare decât 0). Dacă această condiție este îndeplinită, variabila flag este setată la True, iar mesajul "Datele sunt introduse corect." este afișat. Dacă variabila flag este False, se afișează mesajul "Datele NU sunt introduse corect." Funcția returnează valoarea variabilei flag. Funcția Pow(a, b): Această funcție primește doi parametri, a și b, reprezentând două numere întregi. Funcția calculează a ridicat la puterea b utilizând un buclă for. Rezultatul este stocat în variabila tmp. Rezultatul este apoi afișat. În cadrul secțiunii if __name__ == "__main__": se realizează următoarele acțiuni:

Se citește de la tastatură două numere întregi separate prin spațiu, a și b, și sunt convertite în variabilele corespunzătoare. Se apelează funcția validare_date(a, b) pentru a verifica validitatea datelor. Dacă datele sunt valide, se apelează funcția Pow(a, b) pentru a calcula și afișa puterea, altfel se afișează mesajul "Datele NU sunt introduse corect."