W informatyce każdą informację możemy przedstawić na wiele sposobów. Przykładem może być prosta konwersja z typu całkowitego int na typ tekstowy string. Zabieg taki jest czasem wymagany, aby mieć łatwiejszą kontrolę nad programem lub, po prostu, aby wyświetlić użytkownikowi dane w odpowiedniej formie. Zamiana sposobu zapisu informacji jest również powszechnie wykorzystywana w procesie kompresji danych. Dzisiaj […]
Sortowanie przez wybór – algorytm i implementacje w C++, Java i Python
Repertuar sortowań jest bardzo szeroki i warto kojarzyć podstawowe z nich, zwłaszcza przygotowując się do matury. Tekst ten otwiera serię „Piątek z sortowaniem”, gdzie zapoznamy się z najpopularniejszymi algorytmami sortowania. W tej części dowiemy się jak działa sortowanie przez wybór. Zasada działania Algorytm selection sort nie należy do przesadnie skomplikowanych, więc nie trzeba się go obawiać. Sedno […]
Matura z informatyki – programy z ostatnich trzech lat.
Jeśli jeszcze sami nie opracowaliście sobie maturalnych zadań na program z ostatnich lat to zapraszam do zapoznania się z moimi propozycjami. Na końcu wpisu znajdziecie link do pobrania paczki z poleceniami do zadań, danymi i oczywiście programami. Przepraszam za to, że niektóre są trochę nieczytelna i być może nieoptymalne, ale robiłem je jakiś czas temu i […]
Szyfr Cezara – implementacje i wyjaśnienie
Szyfrowanie tekstu jest zabiegiem, który ma na celu uniemożliwić odczytanie tekstu przez osoby nieupoważnione do tego. Z założenia zaszyfrowaną wiadomość zdoła odczytać jedynie osoba, dla której wiadomość jest przeznaczona. Osoba, która oczywiście zna szyfr. Zapraszam do zapoznania się z pojęciem szyfru Cezara i implementacjami szyfru Cezara w C++, Javie oraz Pythonie.
Ciąg Fibonacciego – implementacje
Sama postać i wzór rekurencyjny tego ciągu liczb naturalnych jakim jest ciąg Fibonacciego nie jest niczym nadzwyczajnym. Niesamowite natomiast jest przełożenie tego ciągu na otaczającą nas przyrodę. Jak bowiem nie dziwić się faktowi, że króliki rozmnażają się wedle założeń Włocha 😉 Zapraszam do zapoznania się z implementacją ciągu Fibonacciego w językach C++, Java i Python.
Palindromy – implementacje w C++, Java i Python
Palindromy obecnie funkcjonują chyba jedynie jako forma zabawy słowem. Nigdy nie wiadomo jednak kiedy umiejętność sprawdzenia, czy wyrażenie jest palindromem, nam się przyda. Być może nigdy, a być może ułatwi nam napisanie matury z informatyki. Będziemy mieli też możliwość popisania się przed znajomymi znajomością nietypowych palindromów. Kto wie 🙂
Anagramy – algorytm i implementacja w C++, Java, Python
Kolejnym z algorytmów, który warto znać podchodząc do matury z informatyki jest algorytm sprawdzający, czy dwa napisy lub wyrazy są anagramami. Znając taki algorytm już na starcie możemy oszczędzić nieco maturalnego czasu, a ten jest na wagę złota. Algorytm na anagramy lepiej, więc poznać zawczasu, aby przypadkiem się na nim nie potknąć.
Algorytm na sortowanie bąbelkowe w C++, Java i Python
Wcześniej, czy później każdy natknie się na problem nieuporządkowanego zbioru elementów. Ułożenie danych w określonym porządku (np. od najmniejszej do największej liczby) brzmi banalnie prosto, ale jak to zrobić mając do posortowania w C++ tablice o naprawdę wielu elementach? Z pomocą przychodzi algorytm na sortowanie bąbelkowe.