Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Bitnami MediaWiki
Search
Search
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
2299 - Media Geometrica
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Cerinta == Se dau <span style="color: red;"> n </span> numere naturale. Calculați media lor geometrică. == Date de intrare == Programul citește de la tastatură numărul natural <span style="color: red;"> n </span>, apoi <span style="color: red;"> n </span> numere naturale. == Date de ieșire == Dacă datele sunt introduse corect, pe ecran se va afișa: '''"Datele sunt introduse corect."''', apoi programul va afișa pe ecran media geometrică a celor <span style="color: red;"> n </span> numere. În cazul în care datele nu respectă restricțiile, se va afișa pe ecran: '''"Datele nu corespund restricțiilor impuse."'''. == Restricții și precizări == <span style="color: red;"> 1 < n ≤ 10 </span> numerele citite vor fi cuprinse între <span style="color: red;"> 0 </span> și <span style="color: red;"> 50 </span>. rezultatul va fi punctat dacă diferența dintre cel afișat de program și cel corect este mai mică decât <span style="color: red;"> 0.01 </span>. == Exemplu == Intrare : 4 : 2 4 2 1 Ieșire : Datele sunt introduse corect. : 2 == Explicație == <span style="color: red;"> 2⋅4⋅2⋅1−−−−−−−−√4=2 </span> == Rezolvare == <syntaxhighlight lang="python" line="1"> def validare(n, lista): # Verificăm dacă numărul n respectă restricțiile impuse if not 1 < n <= 10: print("Datele nu corespund restricțiilor impuse.") return False # Verificăm dacă numerele din listă respectă restricțiile impuse for nr in lista: if not 0 <= nr <= 50: print("Datele nu corespund restricțiilor impuse.") return False # Toate validările au trecut print("Datele sunt introduse corect.") return True def media_geometrica(n, lista): produs = 1 for nr in lista: produs *= nr return produs ** (1 / n) if __name__ == '__main__': n = int(input()) lista = list(map(int, input().split())) if validare(n, lista): media = media_geometrica(n, lista) print(int(media)) </syntaxhighlight> ==Explicatie cod== Funcția validare(n, lista): Această funcție primește doi parametri, n și lista, reprezentând un număr și o listă de numere întregi. În primul rând, funcția verifică dacă n respectă restricțiile impuse: trebuie să fie mai mare decât 1 și mai mic sau egal cu 10. Dacă nu se respectă aceste restricții, afișează un mesaj de eroare și returnează False, semnalând că datele nu sunt valide. Apoi, funcția verifică dacă fiecare număr din lista respectă restricțiile impuse: trebuie să fie între 0 și 50 (inclusiv). Dacă un număr nu respectă aceste restricții, afișează un mesaj de eroare și returnează False. Dacă ambele verificări trec fără a găsi probleme, funcția afișează un mesaj că datele sunt introduse corect și returnează True, semnalând că datele sunt valide. Funcția media_geometrica(n, lista): Această funcție primește aceiași doi parametri, n și lista, ca și funcția validare. Funcția calculează media geometrică a numerelor din lista. Inițial, se inițializează o variabilă produs cu valoarea 1. Apoi, se parcurge fiecare număr nr din lista și se înmulțește produs cu nr. După ce s-au înmulțit toate numerele din lista, se calculează media geometrică ridicând produs la puterea 1 / n, unde n este numărul dat ca parametru. Funcția returnează valoarea mediei geometrice. În cadrul secțiunii if __name__ == '__main__': se realizează următoarele acțiuni: Se citește de la tastatură un număr întreg n. Se citește de la tastatură o linie de numere întregi separate prin spațiu și se transformă într-o listă de numere întregi lista, folosind funcția map și split. Se apelează funcția validare(n, lista) pentru a verifica validitatea datelor. Dacă datele sunt valide, se calculează media geometrică utilizând funcția media_geometrica(n, lista) și se afișează valoarea acesteia (convertită la întreg folosind int()).
Summary:
Please note that all contributions to Bitnami MediaWiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Bitnami MediaWiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Toggle limited content width