👤

Ok deci maine am un test improtant la informatica, din insructiunile repeta. pentru si cat timp in pseudocod. Problemele sunt luate de pe pb info si nu stiu sa fac nimic. Cine poate sa imi explice va rog cum ar trebui sa gandesc ? de ex la problema asta: Să se scrie un program care să determine numărul de apariţii ale primei cifre în scrierea unui număr natural citit de la tastatură.
Dau tot ce vreti voi doar ajutati-ma
REZOLVAREA IN PSEUDOCOD VA ROG


Răspuns :

Pentru a rezolva probleme care ne trebuiesc cifrele unui numar ne trebuie un algoritm.
1.cat timp n!=0 executa
2.| cif<-n%10;
3.| n<-n/10;
O sa notez fiecare instructiune cu un nr pentru a fi mai usoara explicatia.
N = 123
Algoritmul se intreaba la 1daca N este diferit de 0.123 e diferit de 0,deci intra in structura.
Apoi trece la instructiunea 2 cif primeste n%10(123 % 10 ne da ultima cifra a lui n adica 3)
Instructiunea 3 : n <- n / 10 (adica 123 / 10 12)
Acest ciclu se repeta pana cand la n = 0 .
N    cif
123  3
12    2
1      1
0
Pentru a accesa prima cifra trebuie sa creeam o noua variabila unde o sa stocam nr nostru.O sa-i "taiem" din cifre pana ramane cu 1.
EX: 123
       12
       1
cat timp n>9 executa
n<-n/10
n>9 se opreste deoarece noi facem "taierile"pana cand noi obtinem un nr de o cifra,care este chiar prima cifra a nr.
Pentru a rezolva problema ta o sa folosim algoritmul amintit de mine
intreg n,cif,p,k<-0
citeste n;
p<-n;
cat timp p>9 executa
p<-p/10;
cat timp n!=0 executa
| cif<-n%10;
|   daca cif==p atunci
     | k<-k+1;
|    n<-n/10;
Daca nu ai inteles ceva poti sa intrebi.