Sari la conținut
SimuleazăSimulează.

Citire de pseudocod (4) — un șir citit valoare cu valoare

Algoritmi — citirea unui algoritm dat în pseudocod, urmărirea valorilor variabilelor, transcrierea în limbajul C++ și echivalența structurilor repetitive

4 întrebări din Algoritmi — citirea unui algoritm dat în pseudocod, urmărirea valorilor variabilelor, transcrierea în limbajul C++ și echivalența structurilor repetitive.

Primele întrebări

  1. Se consideră algoritmul de mai jos, descris în pseudocod. În algoritm, a % b este restul împărțirii numărului natural a la numărul natural nenul b, iar [a/b] este câtul aceleiași împărțiri, adică partea întreagă a raportului.

    Se citește mai întâi k, un număr natural nenul, apoi k numere naturale, câte unul la fiecare citire. Algoritmul nu memorează șirul într-un tablou.

    citește k
    citește x
    m ← x
    c ← 0
    ┌pentru i←2,k execută
    │ citește y
    │ ┌dacă y > x atunci
    │ │ c ← c + 1
    │ └■
    │ ┌dacă y > m atunci
    │ │ m ← y
    │ └■
    │ x ← y
    └■
    scrie m, ' ', c

    a) Scrieți valorile care se afișează dacă se citesc, în această ordine, numerele 7, 4, 9, 9, 2, 5, 5, 8. (6 p)

  2. Se consideră algoritmul de mai jos, descris în pseudocod. În algoritm, a % b este restul împărțirii numărului natural a la numărul natural nenul b, iar [a/b] este câtul aceleiași împărțiri, adică partea întreagă a raportului.

    Se citește mai întâi k, un număr natural nenul, apoi k numere naturale, câte unul la fiecare citire. Algoritmul nu memorează șirul într-un tablou.

    citește k
    citește x
    m ← x
    c ← 0
    ┌pentru i←2,k execută
    │ citește y
    │ ┌dacă y > x atunci
    │ │ c ← c + 1
    │ └■
    │ ┌dacă y > m atunci
    │ │ m ← y
    │ └■
    │ x ← y
    └■
    scrie m, ' ', c

    b) Scrieți un set de date de intrare, format din cel mult cinci numere, pentru care se afișează valorile 5 0. (6 p)

  3. Se consideră algoritmul de mai jos, descris în pseudocod. În algoritm, a % b este restul împărțirii numărului natural a la numărul natural nenul b, iar [a/b] este câtul aceleiași împărțiri, adică partea întreagă a raportului.

    Se citește mai întâi k, un număr natural nenul, apoi k numere naturale, câte unul la fiecare citire. Algoritmul nu memorează șirul într-un tablou.

    citește k
    citește x
    m ← x
    c ← 0
    ┌pentru i←2,k execută
    │ citește y
    │ ┌dacă y > x atunci
    │ │ c ← c + 1
    │ └■
    │ ┌dacă y > m atunci
    │ │ m ← y
    │ └■
    │ x ← y
    └■
    scrie m, ' ', c

    c) Scrieți programul C++ corespunzător algoritmului dat. (10 p)

  4. Se consideră algoritmul de mai jos, descris în pseudocod. În algoritm, a % b este restul împărțirii numărului natural a la numărul natural nenul b, iar [a/b] este câtul aceleiași împărțiri, adică partea întreagă a raportului.

    Se citește mai întâi k, un număr natural nenul, apoi k numere naturale, câte unul la fiecare citire. Algoritmul nu memorează șirul într-un tablou.

    citește k
    citește x
    m ← x
    c ← 0
    ┌pentru i←2,k execută
    │ citește y
    │ ┌dacă y > x atunci
    │ │ c ← c + 1
    │ └■
    │ ┌dacă y > m atunci
    │ │ m ← y
    │ └■
    │ x ← y
    └■
    scrie m, ' ', c

    d) Scrieți în pseudocod un algoritm echivalent cu cel dat, în care structura repetitivă pentru să fie înlocuită cu o structură repetitivă de tip cât timp … execută. (6 p)

Deschide în aplicație

Din același capitol