Un program “fabulos”

Distribuiti cu dragoste

Un program "fabulos"Un program “fabulos”

1. CONCURS

În rezolvarea programului am omis un punct marcat cu altă culoare “produsul cifrelor nenule ale lui n”
Puteți trimite rezolvarea acestui punct , a programului complet Python, orice idee la (vezi mai jos)

2.  Un program “fabulos”

Scrieți un program fabulos care citește un număr natural n și determină:

  • suma pătratelor cifrelor lui n
  • suma cifrelor impare ale lui n
  • suma cifrelor divizibile cu 3 ale lui n
  • numărul cifrelor strict mai mari decât 5
  • produsul cifrelor nenule ale lui n
  • suma dintre cifra cea mai puțin semnificativă (cifra unităților) lui n și cifra cea mai semnificativă a lui n

problema este preluată dintr-un celebru site de probleme de informatica, PbInfo,  #3625 Prelucrari cifre  

Realitatea că realizarea acestui program se sprijină pe articolul și postarea anterioară și anume pe extragerea
cifrelor unui număr ( Cum să extragem cifrele unui număr)

De unde plecăm

Extragerea cifrelor unui număr

3. Logica

Să trecem să examinăm cerința :

Fiind vorba de a manipula cifrele unui număr ne vom baza pe extragerea numerelorCum să extragem cifrele unui număr)

  1. Calculul sumei pătratelor se traduce logic într-o inițializare a variabilei sumapatrate cu zero 0, înaintea buclei și pe adunarea cifrei
    extrase la fiecare pas al buclei.
    sumapatrate= 0 și sumapatrate = sumapatrate +cifra
  2. Calculul sumei cifrelor impare se traduce logic într-o inițializare a variabilei sumaimpare cu zero 0, înaintea buclei, pe validarea cifrei
    par/impar ( impartirea cu rest sau fara rest la2 )
    sumaimpare= 0 if cifra % 2 ==1 sumaimpare = sumaimpare +cifra
  3. Calculul sumei cifrelor divizibile cu 3 se traduce logic într-o inițializare a variabilei sumadiv3 cu zero 0, înaintea buclei, pe validarea cifrei
    divizibilă sau nu cu 3 ( impartirea cu rest sau fara rest la 3 )
    sumadiv3= 0 if cifra % 3 ==0 sumadiv3 = sumadiv3 +cifra
  4. Calculul sumei cifrelor strict mai mari decat 5  se traduce logic într-o inițializare a variabilei sumamm5 cu zero 0, înaintea buclei, pe validarea cifrei
    > 5 ( comparatia stricta cu 5 )
    sumamm5= 0 if cifra >5  sumamm5 = sumamm5 +cifra
  5. Calculul sumei dintre cifra cea mai puțin semnificativă (cifra unităților) lui n și cifra cea mai semnificativă a lui n. Prin convenție prima cifra
    extrasa este cea mai putin semnificativa si ultima extrasa este cea mai semnificativă

4. Pseudocod – generat de Flowgorithm

Declare Integer numar, cifra, pas, sumapatrate, sumaimpare, sumadiv3, sumamm5, ultimacifra, primacifra
Display ” Introduceti un numar natural nenul. Numarul”
Input numar
Set pas = 1
Set primacifra = 0
Set ultimacifra = 0
Set sumapatrate = 0
Set sumaimpare = 0
Set sumadiv3 = 0
Set sumamm5 = 0
While numar != 0
Set cifra = numar MOD 10
Set primacifra = numar MOD 10
Set numar = numar / 10
Display “Pas = “, pas
Display “cifra extrasa este = “, cifra
Display “continuam cu = “, numar
Set pas = pas + 1
Set sumapatrate = sumapatrate + cifra ^ 2
Display “Suma patratelor este = “, sumapatrate
If cifra MOD 2 == 1 Then
Set sumaimpare = sumaimpare + cifra
End If
Display “Suma cifrelor impare = “, sumaimpare
If cifra MOD 3 == 0 Then
Set sumadiv3 = sumadiv3 + cifra
End If
Display “Suma cifrelor divizibile cu 3 = “, sumadiv3
If cifra > 5 Then
Set sumamm5 = sumamm5 + cifra
End If
Display ” Suma cifrelor numarului strict mai mari decat 5 = “, sumamm5
Set ultimacifra = cifra
Display “Suma cifrei cel mai putin semnificativa si cea semnificativa”, primacifra + ultimacifra
End While

5. Schema logica Flowgorithm

Va fi descarcata la cerere, în schimbul e-mailului dvs. 

Schema logica

Apăsați butonul "DESCĂRCARE GRATUITĂ"

Completați cu emailul dvs.

Veți primi un link de descărcare a fișierului
Căutați cu atenție inclusiv în spam
Descărcare Gratuită

Send download link to:

Confirm prin bifa prezenta că am citit și înțeles Politica de Confidențialitate

6. Codificare Python – structuri de control

 


Acest program citește un număr natural nenul (introdus de utilizator) și determină următoarele:

  1. Suma pătratelor cifrelor numărului n
  2. Suma cifrelor impare ale numărului n
  3. Suma cifrelor divizibile cu 3 ale numărului n
  4. Numărul cifrelor strict mai mari decât 5 din numărul n
  5. Produsul cifrelor nenule ale numărului n
  6. Suma dintre cifra cea mai puțin semnificativă (cifra unităților) a numărului n și cifra cea mai semnificativă a acestuia.

Pentru a determina aceste valori, programul folosește un buclă while pentru a separa cifrele numărului n și pentru a le analiza în parte, utilizând
diferite condiții (modulo, compararea cu valori concrete). La sfârșit, toate valorile calculate sunt afișate utilizatorului.

6. Codificare Python – structuri de control și functii


Acest program citește un număr natural nenul introdus de utilizator prin intermediul funcției input() și apoi calculează:

  1. Suma pătratelor cifrelor lui n prin intermediul funcției suma_patrate_cifre(n)
  2. Suma cifrelor impare ale lui n prin intermediul funcției suma_cifre_impare(n)
  3. Suma cifrelor divizibile cu 3 ale lui n prin intermediul funcției suma_cifre_div3(n)
  4. Numărul cifrelor strict mai mari decât 5 prin intermediul funcției numar_cifre_maimari5(n)
  5. Produsul cifrelor nenule ale lui n prin intermediul funcției produs_cifre_nenule(n)
  6. Suma dintre cifra cea mai puțin semnificativă (cifra unităților) lui n și cifra cea mai semnificativă a lui n prin intermediul funcției suma_ultima_prima_cifra(n)

Fiecare cerință este tratată de o funcție separată, astfel încât codul să fie mai ușor de înțeles și de întreținut. La sfârșit, rezultatele sunt afișate prin intermediul instrucțiunilor print()

 


Distribuiti cu dragoste

Leave a Reply

Your email address will not be published. Required fields are marked *