aplikacja Matura google play app store

zadania z informatyki - Tworzenie algorytmów

Zadanie: 1 2 3 4 5 6 7 8 9 10
Zadanie 9.
Wiązka zadań Podobieństwo słów

Słowo X nazywać będziemy k–podrzędnym względem słowa Y, jeśli wszystkie litery występujące w X występują również w Y oraz w słowie Y występuje dokładnie k różnych liter, które nie występują w słowie X.

Słowo X jest podrzędne względem słowa Y, gdy X jest k-podrzędne względem Y dla jakiegoś k ≥ 0.

Przykład
Słowo = ABCAB jest 1-podrzędne względem słowa = BAACD (w słowie X występują litery A, B, C; w słowie Y występują litery A, B, C, D). Podobnie słowo X = ABCAB jest 0-podrzędne względem BAC oraz nie jest podrzędne względem słów ABDAB i ABAB (litera C występuje w słowie X, a nie występuje w słowach ABDAB i ABAB). Zamieniając słowa rolami, możemy stwierdzić, że słowo ABDAB nie jest podrzędne względem słowa ABCAB, a słowo ABAB jest 1-podrzędne względem ABCAB.

Uwaga
W poniższych zadaniach przyjmujemy, że w słowach mogą występować tylko litery A, B, C, D, E, F, G, H, I, J. Ponadto w algorytmach dostępna jest funkcja dlugosc, która zwraca długość słowa będącego jej argumentem, oraz funkcja kod o wartościach podanych w poniższej tabeli:

litera

A

B

C

D

E

F

G

H

I

J

kod(litera)

1

2

3

4

5

6

7

8

9

10


Zadanie 9.1.
Uzupełnij poniższą tabelę, wpisując w kolumnie Podrzędność słowo NIE, jeśli słowo X nie jest podrzędne względem słowa Y, a w przeciwnym wypadku — liczbę k taką, że X jest k-podrzędne względem Y.

Słowo X

Słowo Y

Podrzędność

HHGGFFEEDDCCBBAA

ABCDEFGH

 

DCBADCBA

FGHABCJD

 

ABCDE

ABCCBAE

 

AAAAA

AA

 

ABA

ACA

 

ACEGJ

ABCDEFGHJ

 

Zadanie 9.2.
Dany jest następujący algorytm A:

dla i = 1,2,…,10 wykonuj
Czyjest[i] ← fałsz
ddlugosc(Y)
dla i = 1,2,…,d wykonuj
litY[i]
Czyjest[kod(lit)] ← prawda
ddlugosc(X)
czyp ← prawda
dla i = 1,2,…,d wykonuj
litX[i]
czypczyp i Czyjest[kod(lit)]
jeżeli czyp = prawda
zwróć 1
w przeciwnym razie
zwróć 0

Podaj wynik działania powyższego algorytmu dla wartości X i Y z poniższej tabeli:

X

Y

wynik algorytmu A

HHGGFFEEDDCCBBAA

ABCDEFGH

 

DCBADCBA

FGHABCJD

 

ABCDE

ABCCBA

 

AAAAA

AA

 

AA

AAAAA

 

ACEGJ

ABCDEFGH

 


Uzupełnij podaną poniżej specyfikację algorytmu A.

Specyfikacja
Dane: X, Y — słowa, w których występują tylko litery ze zbioru {A, B, C, D, E, F, G, H, I, J}
Wynik:
.........................
.........................
Zadanie 9.3.
Uzupełnij brakujące fragmenty poniższego algorytmu B, tak aby realizował on podaną specyfikację.

Specyfikacja
Dane:
X, Y — słowa, w których występują tylko litery ze zbioru {A,B,C,D,E,F,G,H,I,J}
Wynik:
k — liczba całkowita, taka że
X jest k-podrzędne względem Y, jeśli k ≥ 0,
X nie jest podrzędne względem Y, gdy k = –1.
Algorytm B:
dla i=1,2,…,10 wykonuj
Czy_x[i] ← fałsz
Czy_y[i] ← fałsz
dxdlugosc(X)
dla = 1,2,…,dx wykonuj
litX[i]
Czy_x[kod(lit)] ← prawda
dydlugosc(Y)
dla i = 1,2,…,dy wykonuj
litY[i]
Czy_y[kod(lit)] ← prawda
k ← 0
dla i = 1,2,…,10 wykonuj
jeżeli Czy_y[i]=prawda oraz Czy_x[i]= .......................
k← ...................
jeżeli Czy_y[i]= ................ oraz Czy_x[i]=prawda
zwróć −1 i zakończ
zwróć k
Zadanie 9.4.
Słowa X i Y nazywać będziemy równoważnymi, jeśli każda litera występuje tyle samo razy w słowie X i w słowie Y.

Przykład
Słowa ABCA i BCAA są równoważne, natomiast ABCA nie jest równoważne ze słowami ABCC, BABB i ABCAD.

Podaj algorytm, który sprawdza, czy dwa podane słowa są równoważne. Twój algorytm powinien realizować następującą specyfikację:

Specyfikacja
Dane:
X, Y — słowa, w których występują tylko litery ze zbioru {A, B, C, D, E, F, G, H, I, J}
Wynik:
1 — gdy X i Y są równoważne, 0 — w przeciwnym razie.
Poprzednia strona Następna strona

źródło: CKE
Polityka Prywatności