0908 - AfisareNumerePrime: Difference between revisions
Cuceu Andrei (talk | contribs) Pagină nouă: ==Cerință== Scrieți definiția completă a funcției Python '''afisare''' care primește doi parametri '''a''' și '''b''' și afișează pe ecran, în ordine crescătoare, numerele naturale prime cuprinse între '''a''' și '''b''', inclusiv acestea. ==Restricții de precizări== *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â... |
Cuceu Andrei (talk | contribs) No edit summary |
||
Line 2: | Line 2: | ||
Scrieți definiția completă a funcției Python '''afisare''' care primește doi parametri '''a''' și '''b''' și afișează pe ecran, în ordine crescătoare, numerele naturale prime cuprinse între '''a''' și '''b''', inclusiv acestea. | Scrieți definiția completă a funcției Python '''afisare''' care primește doi parametri '''a''' și '''b''' și afișează pe ecran, în ordine crescătoare, numerele naturale prime cuprinse între '''a''' și '''b''', inclusiv acestea. | ||
==Date de intrare== | |||
*Doi parametri întregi '''a și b''', unde '''0 < a, b <= 1000'''. | |||
==Date de ieșire== | |||
*Nici o valoare de returnare. Funcția va afișa, pe o singură linie, numerele naturale prime cuprinse între '''a''' și''' b''', în ordine crescătoare, separate prin câte un spațiu. | |||
Line 27: | Line 36: | ||
===Rezolvare ver. 1=== | ===Rezolvare ver. 1=== | ||
<syntaxhighlight lang="python" line="1" start="1"> | <syntaxhighlight lang="python" line="1" start="1"> | ||
def este_prim(n): | |||
"""Verifică dacă un număr dat este prim""" | |||
if n < 2: | |||
return False | |||
for i in range(2, int(n**0.5)+1): | |||
if n % i == 0: | |||
return False | |||
return True | |||
def afisare(a, b): | def afisare(a, b): | ||
"""Afișează numerele prime cuprinse între a și b""" | |||
for n in range(a, b+1): | |||
if este_prim(n): | |||
print(n, end=' ') | |||
for | print() # trecem pe o noua linie | ||
if | def validare(a, b): | ||
"""Verifică dacă a și b sunt în intervalul specificat""" | |||
if a <= 0 or b <= 0 or a > 1000 or b > 1000: | |||
return False | |||
return True | |||
def main(): | |||
a = int(input("Introduceti valoarea pentru a: ")) | a = int(input("Introduceti valoarea pentru a: ")) | ||
b = int(input("Introduceti valoarea pentru b: ")) | b = int(input("Introduceti valoarea pentru b: ")) | ||
if validare(a, b): | |||
afisare(a, b) | |||
else: | else: | ||
print("Valorile introduse nu sunt valide. A și b trebuie să fie între 1 și 1000.") | |||
if __name__ == '__main__': | |||
main() | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==Explicatii== | |||
Acest cod definește o funcție afisare care primește doi parametri întregi a și b și afișează numerele prime cuprinse între a și b, inclusiv acestea, pe o singură linie, separate prin câte un spațiu. Pentru a verifica dacă un număr este prim, este definită și o funcție separată este_prim. | |||
Pentru a preveni erori, a fost definită o funcție suplimentară validare care verifică dacă valorile introduse pentru a și b sunt în intervalul specificat (1 ≤ a, b ≤ 1000). | |||
În funcția main, utilizatorul este întâi întrebat să introducă valorile pentru a și b. Dacă valorile sunt valide, funcția afisare este apelată pentru a afișa numerele prime. Altfel, un mesaj de eroare este afișat pentru a informa utilizatorul că valorile introduse nu sunt valide. |
Revision as of 17:08, 30 April 2023
Cerință
Scrieți definiția completă a funcției Python afisare care primește doi parametri a și b și afișează pe ecran, în ordine crescătoare, numerele naturale prime cuprinse între a și b, inclusiv acestea.
Date de intrare
- Doi parametri întregi a și b, unde 0 < a, b <= 1000.
Date de ieșire
- Nici o valoare de returnare. Funcția va afișa, pe o singură linie, numerele naturale prime cuprinse între a și b, în ordine crescătoare, separate prin câte un spațiu.
Restricții de precizări
- 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
Dacă a=7 și b=2, apelul subprogramului va afișa pe ecran:
2 3 5 7
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 ver. 1
<syntaxhighlight lang="python" line="1" start="1">
def este_prim(n):
"""Verifică dacă un număr dat este prim""" if n < 2: return False for i in range(2, int(n**0.5)+1): if n % i == 0: return False return True
def afisare(a, b):
"""Afișează numerele prime cuprinse între a și b""" for n in range(a, b+1): if este_prim(n): print(n, end=' ') print() # trecem pe o noua linie
def validare(a, b):
"""Verifică dacă a și b sunt în intervalul specificat""" if a <= 0 or b <= 0 or a > 1000 or b > 1000: return False return True
def main():
a = int(input("Introduceti valoarea pentru a: ")) b = int(input("Introduceti valoarea pentru b: ")) if validare(a, b): afisare(a, b) else: print("Valorile introduse nu sunt valide. A și b trebuie să fie între 1 și 1000.")
if __name__ == '__main__':
main()
</syntaxhighlight>
Explicatii
Acest cod definește o funcție afisare care primește doi parametri întregi a și b și afișează numerele prime cuprinse între a și b, inclusiv acestea, pe o singură linie, separate prin câte un spațiu. Pentru a verifica dacă un număr este prim, este definită și o funcție separată este_prim.
Pentru a preveni erori, a fost definită o funcție suplimentară validare care verifică dacă valorile introduse pentru a și b sunt în intervalul specificat (1 ≤ a, b ≤ 1000).
În funcția main, utilizatorul este întâi întrebat să introducă valorile pentru a și b. Dacă valorile sunt valide, funcția afisare este apelată pentru a afișa numerele prime. Altfel, un mesaj de eroare este afișat pentru a informa utilizatorul că valorile introduse nu sunt valide.