0069 - Oglindit: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: == Cerinţa == Să se scrie un program care să determine oglinditul unui număr natural citit de la tastatură. Oglinditul unui număr este numărul scris cu cifrele numărului dat în ordine inversă. == Date de intrare == Programul va citi de la tastatură un număr natural. == Date de ieşire == Programul va afişa pe ecran oglinditul numărului citit. == Restricții și precizări == * numărul citit va fi mai mic decât 1.000.000.000 == Exemplu == ; Intrare : 2705 ; Ie...
 
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
Sursă: [https://www.pbinfo.ro/probleme/69/oglindit]
== Cerinţa ==
== Cerinţa ==
Să se scrie un program care să determine oglinditul unui număr natural citit de la tastatură. Oglinditul unui număr este numărul scris cu cifrele numărului dat în ordine inversă.
Să se scrie un program care să determine oglinditul unui număr natural citit de la tastatură. Oglinditul unui număr este numărul scris cu cifrele numărului dat în ordine inversă.
Line 4: Line 6:
Programul va citi de la tastatură un număr natural.
Programul va citi de la tastatură un număr natural.
== Date de ieşire ==
== Date de ieşire ==
Programul va afişa pe ecran oglinditul numărului citit.
Dacă datele sunt introduse corect, pe ecran se va afișa '''"Datele sunt introduse corect."''', apoi programul va afişa pe ecran oglinditul numărului citit.. În caz contrar, se va afișa pe ecran mesajul '''"Datele nu au fost introduse corect."'''.
== Restricții și precizări ==
== Restricții și precizări ==
* numărul citit va fi mai mic decât 1.000.000.000
* numărul citit va fi mai mic decât 1.000.000.000
Line 11: Line 13:
: 2705
: 2705
; Ieșire
; Ieșire
: Datele sunt introduse corect.
: 5072
: 5072


Line 16: Line 19:


<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>
#0069
# Funcția verifică dacă numărul dat este un număr natural mai mic decât 1.000.000.000.
# Returnează False dacă numărul nu respectă aceste condiții și True în caz contrar.
def verificare_date(numar):
    if numar < 0 or numar >= 1000000000:
        return False
    return True
# Funcția calculează oglinditul numărului dat.
# Parcurge cifrele numărului de la coada la cap și le adaugă la oglinditul numărului.
# Returnează oglinditul numărului.
def oglindit(numar):
    oglinditul = 0
    while numar > 0:
        oglinditul = oglinditul * 10 + numar % 10
        numar //= 10
    return oglinditul


numar = int(input("Introduceți numărul: "))
# Programul citește un număr de la tastatură și afișează oglinditul acestuia, dacă datele sunt introduse corect.
# În caz contrar, afișează un mesaj de eroare.
if __name__ == "__main__":
    numar = int(input("Introduceți numărul: "))
    if verificare_date(numar):
        print("Datele sunt introduse corect.")
        oglinditul_numarului = oglindit(numar)
        print(f"Oglinditul numărului este: {oglinditul_numarului}")
    else:
        print("Datele nu au fost introduse corect.")


oglindit = 0
while numar > 0:
    oglindit = oglindit * 10 + numar % 10
    numar //= 10


print(f"Oglinditul numărului este: {oglindit}")


</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 17:17, 27 April 2023

Sursă: [1]

Cerinţa[edit | edit source]

Să se scrie un program care să determine oglinditul unui număr natural citit de la tastatură. Oglinditul unui număr este numărul scris cu cifrele numărului dat în ordine inversă.

Date de intrare[edit | edit source]

Programul va citi de la tastatură un număr natural.

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 oglinditul numărului citit.. În caz contrar, se va afișa pe ecran mesajul "Datele nu au fost introduse corect.".

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

  • numărul citit va fi mai mic decât 1.000.000.000

Exemplu[edit | edit source]

Intrare
2705
Ieșire
Datele sunt introduse corect.
5072

Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line>

  1. 0069
  1. Funcția verifică dacă numărul dat este un număr natural mai mic decât 1.000.000.000.
  2. Returnează False dacă numărul nu respectă aceste condiții și True în caz contrar.

def verificare_date(numar):

   if numar < 0 or numar >= 1000000000:
       return False
   return True
  1. Funcția calculează oglinditul numărului dat.
  2. Parcurge cifrele numărului de la coada la cap și le adaugă la oglinditul numărului.
  3. Returnează oglinditul numărului.

def oglindit(numar):

   oglinditul = 0
   while numar > 0:
       oglinditul = oglinditul * 10 + numar % 10
       numar //= 10
   return oglinditul
  1. Programul citește un număr de la tastatură și afișează oglinditul acestuia, dacă datele sunt introduse corect.
  2. În caz contrar, afișează un mesaj de eroare.

if __name__ == "__main__":

   numar = int(input("Introduceți numărul: "))
   if verificare_date(numar):
       print("Datele sunt introduse corect.")
       oglinditul_numarului = oglindit(numar)
       print(f"Oglinditul numărului este: {oglinditul_numarului}")
   else:
       print("Datele nu au fost introduse corect.")


</syntaxhighlight>