Wyszukiwanie elementu

Gdzie w napisie jest a?

Napisz funkcję znajdz_a(napis), której wynikiem jest pozycja pierwszego wystąpienia litery a w napisie lub 0, gdy w napisie nie ma tej litery.

Wynikiem znajdz_a('mama') jest 2,

wynikiem znajdz_a('wujek') jest 0.

Zmodyfikuj funkcję tak, aby jej wynikiem była pozycja ostatniego wystapienia liery a.

Element najmniejszy

Poniższa funkcja dla niepustego napisu zwraca indeks pierwszego wystąpienia elementu najmniejszego. Dokładniej, początkowo przyjmujemy, że najmniejszy element występuje na pozycji pierwszej (indeks – 0). Następnie porównujemy element zapamiętany (napis[naj]) z bieżącym elementem napisu napis[i]<napis[naj]. Jeśli znaleźliśmy mniejszy, to zapamiętujemy jego indeks na zmiennej naj. W ten sposób przeglądamy wszystkie elementy napisu. Na koniec zwracamy wartość zmiennej naj – jest to indeks elementu najmniejszego.

Przeanalizuj działanie funkcji na kilku przykładach, a następnie zmodyfikuj tak, aby znajdowała element największy.

Zwrócić uwagę na kilka kwestii:

  • funkcja zwraca indeks elementu najmniejszego tzn. jeżeli element występuje na pierwszej pozycji, wynikiem jest 0, na drugiej – wynikiem jest 1 itd.;
  • wynikiem funkcji jest indeks pierwszego wystąpienia elementu. Co trzeba zmodyfikować, by był to indeks ostatniego wystąpienia elementu najmniejszego?;
  • argumentem funkcji jest napis – może być on złożony z samych cyfr, z samych liter, czy może być mieszany?
    Q-1: Jaki będzie wynik funkcji dla napisu ‘4321’?
  • 0
  • 1
  • 2
  • 3
    Q-2: Jaki będzie wynik funkcji dla napisu ‘algorytmika’?
  • 0
  • 1
  • a
  • b
    Q-3: Jaki będzie wynik funkcji dla napisu ‘haslo1234’? Podpowiedź: proszę sprawdzić kod ASCII dla litery a i 0.
  • 1
  • 2
  • 5
  • 6

Badamy sąsiadów

Znajdź pierwszą liczbę, która jest większa od swoich sąsiadów.

Proszę napisać funkcję sas(kod), której dla danego kodu – listy złożonej wyłącznie z liczb – wynikiem jest pozycja pierwszego wystąpienia liczby większej od obu swoich sąsiadów lub 0, gdy taka liczba nie istnieje.

Wynikiem sas([1, 2, 4, 2, 13, 5, 16]) jest 3,

wynikiem sas([1, 2, 4, 5, 13, 14, 16]) jest 0.

W funkcji są błędy. Proszę je znaleźć i poprawić.

| Back to top