Wpisany przez Nikodem Solarz,
23 stycznia 2013 12:29
W artykule tym pokażę wam jak można z tekstu bez formatowania, zrobić tekst, w którym na przemian są duże i małe litery.
Na przykład:
Normalny tekst: To jest bardzo prosty algorytm dzialajacy na tekscie
Wyjście: To jEsT BaRdZo pRoStY AlGoRyTm dZiAlAjAcY Na tEkScIe
Jak widzimy wyjście ma swoje formatowanie: litera duża, litera mała, litera duża, itd... (spacja jest traktowana jak litera, więc nie widać tutaj zmiany, tylko następne się zachowują inaczej).
Na tej podstawie możemy stwierdzić, że co druga litera w otrzymanym tekście jest mała. Więc każda inna litera musi być duża. Gdyby x był licznikiem danej litery w tekście, to sprawdzić czy litera ma być duża czy mała można by było za pomocą wzoru:
x mod 2 == 0 ? - litera jest duża
x mod 2 == 1 ? - litera jest mała
Dobrze.. Dość teorii :) Przejdźmy do praktyki :)
Schemat programu wygląda następująco:
Tekst wejściowy: "Czesc" (pkt 1)
Inicjujemy zmienne: (pkt 2, 3)
result = ""
count = 0
Kolejne iteracje w punkcie 4:
Iteracja 1 (Znak "C")
Zmienna count ma wartość 0, więc litera jest przekształcana na dużą.
Dopisujemy przekształconą literę do zmiennej result.
Zmienna count jest zwiększona o 1.
Otrzymujemy zatem: result = "C", count = 1
Iteracja 2 (Znak "z")
Zmienna count ma wartość 1, więc litera jest przekształcana na małą.
Dopisujemy przekształconą literę do zmiennej result
Zmienna count jest zwiększona o 1
Zmienne: result = "Cz", count = 2
Iteracja 3 (Znak "e")
Zmienna count ma wartość 2, więc litera jest przekształcana na dużą.
Dopisujemy przekształconą literę do zmiennej result.
Zmienna count jest zwiększona o 1.
Zmienne: result = "CzE", count = 3
Iteracja 4 (Znak "s")
Zmienna count ma wartość 3, więc litera jest przekształcana na małą.
Dopisujemy przekształconą literę do zmiennej result.
Zmienna count jest zwiększona o 1
Zmienne: result = "CzEs", count = 4
Iteracja 5 (Znak "c")
Zmienna count ma wartość 4, więc litera jest przekształcana na dużą.
Dopisujemy przekształconą literę do zmiennej result.
Zmienna count jest zwiększona o 1.
Zmienne: result = "CzEsC", count = 5
Koniec iteracji
Ostatecznie zmienne wyglądają tak:
result = "CzEsC"
count = 5
Aplikacja zwraca wartość zmiennej result. W ten sposób powstał przekształcony tekst.
Na przykład:
Normalny tekst: To jest bardzo prosty algorytm dzialajacy na tekscie
Wyjście: To jEsT BaRdZo pRoStY AlGoRyTm dZiAlAjAcY Na tEkScIe
Jak widzimy wyjście ma swoje formatowanie: litera duża, litera mała, litera duża, itd... (spacja jest traktowana jak litera, więc nie widać tutaj zmiany, tylko następne się zachowują inaczej).
Na tej podstawie możemy stwierdzić, że co druga litera w otrzymanym tekście jest mała. Więc każda inna litera musi być duża. Gdyby x był licznikiem danej litery w tekście, to sprawdzić czy litera ma być duża czy mała można by było za pomocą wzoru:
x mod 2 == 0 ? - litera jest duża
x mod 2 == 1 ? - litera jest mała
Dobrze.. Dość teorii :) Przejdźmy do praktyki :)
Schemat programu wygląda następująco:
- Pobieramy tekst który chcemy przekształcić
- Tworzymy nową pustą zmienną tekstową (nazwałem ją result)
- Tworzymy nową zmienną liczbową o wartości 0 (nazwałem ją count)
- Iterujemy:
Co każdy znak wpisanego tekstu,- Sprawdzamy warunek:
Czy zmienna count mod 2 == 0?
Jeśli tak : Do zmiennej result dopisujemy literę przekształconą na dużą
Jeśli nie : Do zmiennej result dopisujemy literę przekształconą na małą - Zwiększamy wartość zmiennej count o 1
- Sprawdzamy warunek:
- Zwracamy wartość zmiennej result
Przykład:
Tekst wejściowy: "Czesc" (pkt 1)
Inicjujemy zmienne: (pkt 2, 3)
result = ""
count = 0
Kolejne iteracje w punkcie 4:
Iteracja 1 (Znak "C")
Zmienna count ma wartość 0, więc litera jest przekształcana na dużą.
Dopisujemy przekształconą literę do zmiennej result.
Zmienna count jest zwiększona o 1.
Otrzymujemy zatem: result = "C", count = 1
Iteracja 2 (Znak "z")
Zmienna count ma wartość 1, więc litera jest przekształcana na małą.
Dopisujemy przekształconą literę do zmiennej result
Zmienna count jest zwiększona o 1
Zmienne: result = "Cz", count = 2
Iteracja 3 (Znak "e")
Zmienna count ma wartość 2, więc litera jest przekształcana na dużą.
Dopisujemy przekształconą literę do zmiennej result.
Zmienna count jest zwiększona o 1.
Zmienne: result = "CzE", count = 3
Iteracja 4 (Znak "s")
Zmienna count ma wartość 3, więc litera jest przekształcana na małą.
Dopisujemy przekształconą literę do zmiennej result.
Zmienna count jest zwiększona o 1
Zmienne: result = "CzEs", count = 4
Iteracja 5 (Znak "c")
Zmienna count ma wartość 4, więc litera jest przekształcana na dużą.
Dopisujemy przekształconą literę do zmiennej result.
Zmienna count jest zwiększona o 1.
Zmienne: result = "CzEsC", count = 5
Koniec iteracji
Ostatecznie zmienne wyglądają tak:
result = "CzEsC"
count = 5
Aplikacja zwraca wartość zmiennej result. W ten sposób powstał przekształcony tekst.
Przykład w JavaScript:
Implementacje
Autor | Język programowania | Komentarz | Otwórz | Pobierz | Ocena |
Kasia Pastwa | C# | .cs | .cs | ***** / 2 | |
Michał Witaszek | C/C++ | C++ | .cpp | .cpp | ***** / 3 |
Michał Witaszek | Delphi/Pascal | Pascal (Free Pascal Compiler) | .pas | .pas | ***** / 0 |
Grzegorz Szemraj | Java | .java | .java | ***** / 3 | |
Tomasz Lubiński | JavaScript | .js | .js | ***** / 0 | |
Marek Madejski | Python | Python 3 | .py | .py | ***** / 2 |
Nikodem Solarz | Ruby | .rb | .rb | ***** / 1 |
Poprawiony: 13 marca 2013 13:59
pozdrawiam
zuzka
PrOgRaM W JaVaScRyPcIe dZiAłA TaKżE DlA PoLsKiCh lItEr, WiĘc wArTo sIę tYm pOcHwAlIć i pRzYkŁaDoWe zDaNiE NaPiSaĆ Po pOlSkU, cZyLi z uŻyCiEm pOlSkIeGo aLfAbEtU.