Cum se rezolva problema asta de info? Rezultatul trebuie sa fie la a. 2 2 1 1 7 7 5 si b 19 18 17 7 0
citeşte x (număr natural nenul)
┌cât timp >x0 execută
│ citeşte y (număr natural)
│┌dacă >xy atunci
││ scrie x%10
││altfel
││ scrie y%10
│└■
│ x mai mic decat y
└■
a) Scrieţi ce se va afişa dacă se citesc, în această
ordine, numerele: 17 22 13 101 2 7 5 0.
(6p.) (
b) Scrieţi un şir de date de intrare, format doar din
numere naturale cu cel mult două cifre fiecare,
care să determine afişarea valorii 9877
Explicati-mi va rog si cum ati rezolvat
Răspunsuri la întrebare
Răspuns de
48
La pct a) Deobicei eu imi fac un tabel cu valori:
x | y in care respecta algoritmul dat, adica <<citeste x>> inseamna ca eu sa pun in tabel acolo unde il am pe x valoarea 17.Apoi zice <<cat timp x>0>>, aici verific daca x>0, care este adevarat, apoi il citim pe y care este 22.Dupa aceea avem instructiile <<daca x>y>> si <<altfel>>.Aici verificam daca 17>22......nu este adevarat,atunci folosim intructiunea altfel,iar in ea scrie faptul ca trebuie sa afisam y%10,asta inseamna ca afisam ultima cifra a lui y, care in cazul nostru este 2.Apoi avem instructiunea ca x primeste y,,,asta inseamna defapt mai mic decat :))..adica x=y...si repetam tot algorimul inca o data pana cand vom citi un x care va fii egal cu 0.Tabelul va arata in felul urmator:
x|y
17|22
22|13
13|101
101|2
2|7
7|5
5|0
0|0
Iar in cazul in care x=22 si y=13.....aici vedem ca x>y este adevat si ne folosim de instructiunea pe care o avem in dreptul lui daca..adica <<scrie x%10>>,asta inseamna ca afisam ultima cifra a lui x adica 2.
In cazul in care x=2 si y=7,aici vedem ca x>y nu este adevarat, atunci afisam<<y%10>> adica afisam cifra lui y, adica 7.
La pct b), aici trebuie sa iei niste numere care sa respecte algoritmul.Pt ca sa se afiseza nr 9877...trebuie sa gasim 4 valori pt care ultima cifra sa fie 9 respectiv 8 respectiv 7, respectiv 7 si care sa fie in ordine descrescatoare.De exemplu poti scrie ca si raspuns: 19,18, 17,7,0.Punem 0 pt ca sa terminam programul(<<cat timp x>0 executa>>).
In exemplul anterior: 19>18>17>7>0.Sper ca ti-am fost de ajutor :)...Aaa si << >>...asa fac eu deobicei ghilimelele pe calculator :D
x | y in care respecta algoritmul dat, adica <<citeste x>> inseamna ca eu sa pun in tabel acolo unde il am pe x valoarea 17.Apoi zice <<cat timp x>0>>, aici verific daca x>0, care este adevarat, apoi il citim pe y care este 22.Dupa aceea avem instructiile <<daca x>y>> si <<altfel>>.Aici verificam daca 17>22......nu este adevarat,atunci folosim intructiunea altfel,iar in ea scrie faptul ca trebuie sa afisam y%10,asta inseamna ca afisam ultima cifra a lui y, care in cazul nostru este 2.Apoi avem instructiunea ca x primeste y,,,asta inseamna defapt mai mic decat :))..adica x=y...si repetam tot algorimul inca o data pana cand vom citi un x care va fii egal cu 0.Tabelul va arata in felul urmator:
x|y
17|22
22|13
13|101
101|2
2|7
7|5
5|0
0|0
Iar in cazul in care x=22 si y=13.....aici vedem ca x>y este adevat si ne folosim de instructiunea pe care o avem in dreptul lui daca..adica <<scrie x%10>>,asta inseamna ca afisam ultima cifra a lui x adica 2.
In cazul in care x=2 si y=7,aici vedem ca x>y nu este adevarat, atunci afisam<<y%10>> adica afisam cifra lui y, adica 7.
La pct b), aici trebuie sa iei niste numere care sa respecte algoritmul.Pt ca sa se afiseza nr 9877...trebuie sa gasim 4 valori pt care ultima cifra sa fie 9 respectiv 8 respectiv 7, respectiv 7 si care sa fie in ordine descrescatoare.De exemplu poti scrie ca si raspuns: 19,18, 17,7,0.Punem 0 pt ca sa terminam programul(<<cat timp x>0 executa>>).
In exemplul anterior: 19>18>17>7>0.Sper ca ti-am fost de ajutor :)...Aaa si << >>...asa fac eu deobicei ghilimelele pe calculator :D
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Chimie,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă