Informatică, întrebare adresată de examen2022, 8 ani în urmă

Mihai se gândește la un an, citit de la tastatură. Care este suma cifrelor acestuia? (PSEUDOCOD)​

Răspunsuri la întrebare

Răspuns de andreeavaduva07
2

Răspuns:

citeste a;

cifra1 <- a mod 10

cifra2 <- a mod 100 div 10

cifra3 <- a mod 1000 div 100

cifra 4 <- a div 1000

scrie "Suma cifrelor este " cifra1+cifra2+cifra3+cifra4

Explicație:

mod înseamnă să împarțin un numar, iar apoi să luam în considerare doar restul

div înseamnă să împărțin un număr și să luăm în considerare doar câtul


examen2022: ms
andreeavaduva07: cpl :)
examen2022: ai putea să mi-l explici și în C++?
Sergetec: Si daca anul contine doar 3 cifre? sau doar 2 sau poate chiar doar 1 cifra
examen2022: păi dacă e an , presupun că va conține 4 cifre
Sergetec: Sa stii ca anii incep de la 1 nu de la 1000 :) iar in viitor vom ajunge chiar si la ani cu 5 cifre, asa ca e bine sa stim metode care functioneaza pe orice set de date ii dam.
andreeavaduva07: cu aceste operatii va rula pentru un an cu patru cifre sau mai putin. De exemplu daca anul pe care îl introduci are o singura cifra, programul va rula conditiile pe care i le am dat doar primei cifer
andreeavaduva07: cifre (scuze)
Răspuns de Sergetec
3

Salut!

Ti-am lasat mai jos rezolvarea riguroasa a acestei probleme

Date de intrare: an

Date de iesire: suma_cifrelor

Date auxiliare: cifra

natural an, suma_cifrelor, cifra

citeste an

suma_cifrelor ← 0

┌ cat_timp an <> 0 executa

│ cifra ← an MOD 10

│ suma_cifrelor ← suma_cifrelor + cifra

│ an ← an DIV 10

└■

scrie suma_cifrelor


examen2022: in C++?
Sergetec: #include

using namespace std;

int main() {
int an, suma_cifrelor = 0, cifra;
cin >> an;
while (an) {
cifra = an % 10;
suma_cifrelor += cifra;
an /= 10;
}
cout << suma_cifrelor;
return 0;
}
andrei750238: Ai cerut expres ca codul sa fie scris in pseudocod in cerinta (si ai primit un raspuns foarte bun, tinand cont cerinta initiala). Daca doreai si C++ si pseudocod ar fi fost normal sa precizezi acest lucru de la inceput.
examen2022: știu,doar am uitat să pun și în C++ in enunț
andrei750238: Sergiu, vrei permisiune de modificare sa adaugi si C++ ?
Doar daca vrei, in ceea ce priveste platforma raspunsul e valid, indeplineste cerinta initiala.
examen2022: doamne cine te-a băgat în seamă? dacă nu comentai presupun că nu erai sănătos
Sergetec: e ok Andrei, i am dat in comentarii. pe langa asta daca are pseudocodul sa transforme in cod e joaca de copii
Alte întrebări interesante