matematykaszkolna.pl
algorytm ula: Jak zpisać taki algorytm Mamy wyraz np "abecadło" i podajemy liczbę 5. Wtedy dzielimy wyraz tak abecd (5) ,dłoa (4) bec (3), ad (2) ,ł (1). Algorytm ma właśnie w ten sposób działać i podawać tę literę ostatnią z 1, w tym przypadku to "ł"
8 kwi 22:04
Maciess: Jak masz zapisac? Schemat blokowy, pseudokod czy wybrany język? I chesz wskazówki czy gotowiec emotka
8 kwi 22:33
ula: Pseudkod może na to jakiś szybki sposób
8 kwi 22:39
Maciess: Wydaje mi się, że tak może byc. Mamy jakąś tablice T wypełnioną znakami (indeksowana od 1 do n) Wprowadzamy a.
 1+n 
Tworzymy b=

*n
 2 
Wyswietlamy element z tablicy o indeksie b mod n.
8 kwi 22:44
Maciess: A sorry, teraz czytam ze ma działac w ten sposób, a moja wersja powinna dawać taki wynik po prostu.
8 kwi 22:45
ula: A jakoś prościej?
8 kwi 23:11
Maciess: W sensie to jest wg mnie najprosciej emotka A tak to zaraz Ci coś rekurencyjnego napisze.
8 kwi 23:13
Saizou : Jest to proste, a rozumiesz co napisałem Maciess
8 kwi 23:19
wredulus_pospolitus: Poprawka do 22:44 Wprowadzamy 'a'
 1+a 
tworzymy b =

*a
 2 
wypluwamy literę o indeksie b (mod n)
8 kwi 23:24
Maciess: Błąd w druku, przepraszam. I ten przykład jest dobrze? Czy uruchomienie dla 4 powinno sie na pewno zaczynać od d
8 kwi 23:35
Maciess: Dobra już widze. W 5 masz literowke i ma się konczyć na 'a' a nie na 'd' emotka
8 kwi 23:36
Maciess: I teraz tak myśle (choć nie umiem wyliczać złożoności), że nawet rekurencja nie będzie szybsza niż to co Ci napisałem.
8 kwi 23:39
Saizou : Maciess możesz powołać się na tw. o rekurencji uniwersalnej emotka
8 kwi 23:40
ula: Chodzi aby tylko podać tę ostatnią literę
8 kwi 23:45
Saizou : rysunek algorytm bardzo naiwny Niech n − liczba liter w wyrazie 1) wczytujemy liczbę k (u nas k=5)
 k+1 
2) obliczamy sumę k+(k−1)+(k−2)+...+2+1=

k
 2 
(u nas 5+4+3+2+1=15) dopóki k≥0 wykonuj 3) jeśli k ≤ n to wydrukuj A[k] (zakończ program) 4) jeśli k > n to k ← k−n Zobaczmy jak to działa k=15 czyli k ≥ 0 (wykonujemy krok (4), bo 15 > 8), czyli pod k podstawiamy 15−8=7 k=7 ≥ 0 (wykonujemy krok (3), bo 7 < 8), czyli wypisujemy A[7]=ł i kończymy
8 kwi 23:58
Saizou : Obliczanie sumy z 2) możesz zrobić też przy pomocy pętli
9 kwi 00:02
ula: Dziekuję serdecznie przeanalizuje
9 kwi 00:05