"Obliczanie opisu ciągu i zapis w pseudokodzie"

Dodano: 30.11.2023 19:53:46

Rozwiązanie

Rozwiążemy najpierw zadanie 1.1, a potem przejdziemy do zadania 1.2.

Zadanie 1.1

W zadaniu 1.1 mamy wypełnić tabelę, wpisując opisy dla danych przykładów ciągu AA, długości tych opisów oraz sam ciąg BB, dla którego podano opis i długość tego opisu.

Ciąg A: (3,3,3,2,2,1,1,1,6)(3, 3, 3, 2, 2, 1, 1, 1, 6)

Opisujemy ciąg AA w ciąg BB według wzorca podanego w zadaniu. Mamy trzy trójki, dwie dwójki, trzy jedynki i jedną szóstkę, więc opis ciągu AA (ciąg BB) to: (3,3,2,2,3,1,1,6)(3, 3, 2, 2, 3, 1, 1, 6) Długość opisu ciągu AA (liczba elementów ciągu BB) to: 88

Ciąg A: (2,2,2,2,2,2)(2, 2, 2, 2, 2, 2)

Wszystkie elementy ciągu AA to dwójki, mamy ich sześć, więc opis ciągu AA (ciąg BB) to: (6,2)(6, 2) Długość opisu ciągu AA (liczba elementów ciągu BB) to: 22

Teraz uzupełnijmy tabelę zgodnie z obliczeniami:

Ciąg A Opis ciągu A (ciąg B) Długość opisu ciągu A (liczba elementów ciągu B)
(1,1,3,2,2,2,1)(1, 1, 3, 2, 2, 2, 1) (2,1,1,3,3,2,1,1)(2, 1, 1, 3, 3, 2, 1, 1) 8
(3,3,3,2,2,1,1,1,6)(3, 3, 3, 2, 2, 1, 1, 1, 6) (3,3,2,2,3,1,1,6)(3, 3, 2, 2, 3, 1, 1, 6) 8
(2,2,2,2,2,2)(2, 2, 2, 2, 2, 2) (6,2)(6, 2) 2

Zadanie 1.2

W zadaniu 1.2 mamy zapisać w pseudokodzie lub wybranym języku programowania algorytm, który dla danego ciągu AA, zapisanego w tablicy A[1..n]A[1..n], obliczy długość jego opisu (liczbę elementów ciągu BB) zgodnie z wcześniej regułami.

Pseudokod:

``` wejście: A[1..n] - tablica liczb całkowitych dodatnich wyjście: w - długość opisu ciągu A (liczba elementów ciągu B)

  1. w = 0
  2. jeśli n == 0 to
  3. zwróć w
  4. koniec jeśli
  5. licznik = 1
  6. dla i = 2 do n wykonaj
  7. jeśli A[i] == A[i-1] to
  8. licznik = licznik + 1
  9. w przeciwnym razie
  10. w = w + 2
  11. licznik = 1
  12. koniec jeśli
  13. koniec dla
  14. w = w + 2
  15. zwróć w ```

Wyjaśnienie: - Linie 1-4: inicjalizujemy zmienną w jako 0, która będzie przechowywać wynik. Jeśli n jest równe 0 (ciąg jest pusty), zwracamy 0. - Linie 5-13: iterujemy przez tablicę A zaczynając od drugiego elementu. Jeśli bieżący element jest równy poprzedniemu, zwiększamy licznik o 1. W przeciwnym razie, zwiększamy w o 2 (dodajemy liczbę powtórzeń i wartość powtarzanej liczby) i resetujemy licznik do 1. - Linia 14: Na koniec dodajemy 2 do w dla ostatniego zbioru powtarzających się elementów. - Linia 15: Zwracamy obliczoną długość opisu ciągu A.

Pomagamy rozwiązywać zadania w 30 sekund

Zarejestruj się i zobacz jak to działa.

Zarejestruj się