wtorek, 17 grudnia 2013

Metoda "Dziel i zwyciężaj"

Dziel i zwyciężaj 

Jedna z głównych metod projektowania algorytmów w informatyce, prowadząca do bardzo efektywnych rozwiązań. Nazwa pochodzi od łacińskiej sentencji dziel i rządź (łac. divide et impera). W strategii tej problem dzieli się rekurencyjnie na dwa lub więcej mniejszych podproblemów tego samego (lub podobnego) typu tak długo, aż fragmenty staną się wystarczająco proste do bezpośredniego rozwiązania. Z kolei rozwiązania otrzymane dla podproblemów scala się, uzyskując rozwiązanie całego zadania.
Klasyczne przykłady algorytmów korzystających z tej metody to m.in. sortowanie przez scalanie (mergesort), sortowanie szybkie (quicksort), wyszukiwanie binarne (binary search).

piątek, 29 listopada 2013

1. Specyfikacja:
Dane:
- dowolne
- liczby
- rzeczywiste a, b
Wynik:
wartość rzeczywista pierwiastka równania kwadratowego x lub komunikat:
 - brak rozwiązania
lub
- nieskończenie wiele rozwiązań


2. Lista kroków:
krok 0: wczytaj a, b
krok 1: jeżeli a != 0 to oblicz x = -b / a, wpisz x, koniec alg.
krok 2: jeżeli b = 0 wypisz (NWR - nieskończenie wiele rozwiązań), w przeciwnym wypadku wpisz (RS - równanie sprzeczne)

RÓWNANIE BLOKOWE:


 DRZEWO ALGORYTMU:

czwartek, 24 października 2013

Algorytmy Iteracyjne

Algorytm iteracyjny - algorytm, który uzyskuje wynik przez powtarzanie danej operacji początkowo określoną liczbę razy lub aż do spełnienia określonego warunku. Niektóre problemy można rozwiązać zarówno za pomocą algorytmu iteracyjnego, jak i rekurencyjnego, jak np. problem wież Hanoi.

Algorytmy warunkowe

1.Z algorytmami warunkowymi możesz spotkać się w życiu codziennym. Chcesz zjeść świeże bułki na śniadanie więc idziesz do sklepu. Zakładasz, że sklep jest otwarty. Jeśli nie jest otwarty, idziesz do innego sklepu. Jeśli jest otwarty, sprawdzasz kolejny warunek – czy są świeże bułki. Jeśli warunek jest spełniony masz śniadanie ze świeżych bułeczek, jeśli nie jest spełniony – jesz na śniadanie stare bułki itd. Sytuacji, kiedy mamy do czynienia z warunkiem i odpowiednim postępowaniem zależnie od spełnienia i niespełnienia tego warunku można by podać wiele. Tak samo dzieje się w przypadku zadań matematycznych.

Przykład
Algorytm warunkowy w postaci listy kroków – obliczanie obwodu prostokąta
Dane: bok a i b
Lista kroków:
1. Początek algorytmu
2. Podaj bok a
3. Podaj bok b
4. Czy bok a>0?
   
jeśli tak idź do kroku 5,
    jeśli nie podaj komunikat wyjściowy: "nie można obliczyć obwodu" i zakończ algorytm.
5. Czy bok b>0?
    jeśli tak idź do kroku 6
    jeśli nie podaj komunikat wyjściowy: "nie można obliczyć obwodu" i zakończ algorytm.
6. Oblicz obwód Ob:=2*a+2*b
7. Wyprowadź wartość Ob
6. Koniec algorytmu
 
Algorytm warunkowy w postaci schematu blokowego – obliczanie obwodu prostokąta
 

Algorytmy

Algorytm – w matematyce skończony ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego rodzaju zadań. Słowo "algorytm" pochodzi od starego angielskiego słowa algorism, oznaczającego wykonywanie działań przy pomocy liczb arabskich (w odróżnieniu od abacism – przy pomocy abakusa), które z kolei wzięło się od nazwiska, które nosił Muhammad ibn Musa al-Chuwarizmi (أبو عبد الله محمد بن موسى الخوارزمي), matematyk perski z IX wieku.
Algorytm ma przeprowadzić system z pewnego stanu początkowego do pożądanego stanu końcowego. Badaniem algorytmów zajmuje się algorytmika. Algorytm może zostać zaimplementowany w postaci programu komputerowego.
Jako przykład stosowanego w życiu codziennym algorytmu podaje się często przepis kulinarny. Dla przykładu, aby ugotować bigos należy w określonej kolejności oraz odstępach czasowych (imperatyw czasowy) dodawać właściwe rodzaje kapusty i innych składników. Może istnieć kilka różnych przepisów dających na końcu bardzo podobną potrawę. Przykład ten ma wyłącznie charakter poglądowy, ponieważ język przepisów kulinarnych nie został jasno zdefiniowany. Algorytmy zwykle formułowane są w sposób ścisły w oparciu o język matematyki.
W niektórych krajach, jak USA, algorytmy mogą zostać opatentowane, jeżeli zostaną zaimplementowane w jakimś praktycznym celu. Niektórzy twierdzą, że patentowanie algorytmów spowalnia rozwój informatyki, bo jeden producent może uzyskać monopol, np. na pisanie oprogramowania tworzącego pewne typy plików (np. GIF). Wiele koncernów komputerowych prowadzi między sobą spory prawne dotyczące praw własności do niektórych patentów. Kontrargumentem jest tzw. prawo własności intelektualnej (jaką objęty jest np. utwór muzyczny, będący wytworem intelektu i pracy muzyka) zakładające, że program jest intelektualną własnością twórcy.
 Reprezentacja algorytmów
Zapis algorytmu w postaci kodu
Najbardziej ścisłym opisem algorytmu jest program zapisany w danym j zyku programowania.
O ile jednak algorytm przedstawiony w formie listy kroków, schematu blokowego lub drzewa jest
uniwersalny, o tyle jego reprezentacja w kodzie ródłowym jest ci le zwi zana ze składni i semantyk
zastosowanego j zyka programowania.
 Zapis algorytmu w postaci listy kroków
Algorytm mo e by przedstawiony za pomoc listy kroków. Poszczególne kroki zawieraj cisły opis
czynno ci do wykonania. Poszczególne kroki algorytmu s numerowane i wykonywane w kolejno ci
rosn cej, przy czym w opisie danego kroku mo na wskaza inny krok, który nale y wykona jako
nast pny w kolejno ci. Innym ograniczeniem sekwencyjnego wykonywania kolejnych kroków algorytmu
s warunki, których spełnienie b d nie spełnienie przenosi działanie do wskazanego kroku.
Pseudokodem nazywany jest taki sposób zapisu algorytmu, który, zachowując strukturę charakterystyczną dla kodu zapisanego w języku programowania, rezygnuje ze ścisłych reguł składniowych na rzecz prostoty i czytelności. Pseudokod nie zawiera szczegółów implementacyjnych (jak np. inicjalizacja zmiennych, alokacja pamięci), często też opuszcza się w nim opis działania podprocedur (jeśli powinien być on oczywisty dla czytelnika), zaś nietrywialne kroki algorytmu opisywane są z pomocą formuł matematycznych lub zdań w języku naturalnym.
Nie istnieją w chwili obecnej szerzej przyjęte standardy zapisu pseudokodu. Większość autorów używa przyjętej ad hoc składni, często opierając się na składni istniejących języków programowania (Pascal, ALGOL, C).
Za graficzny wariant pseudokodu uznać można schemat blokowy.
 Magiczne Bloczki to program stworzony do projektowania schematów blokowych opisujących pewien algorytm. Opcja przeprowadzania symulacji działania algorytmu daje użytkownikowi możliwość sprawdzenia jego poprawności.
Magiczne Bloczki oferuję także wydruk oraz eksport grafiki (schematów blokowych) do znanych formatów graficznych. Twórca Magicznych Bloczków jest Eri Software.
PRZYKŁADY ALGORYTMÓW :
 
 

piątek, 19 kwietnia 2013

Fotografia cyfrowa

Fotografia cyfrowa - polega na utrwaleniu obrazu w postaci cyfrowej, a nie, jak w fotografii tradycyjnej, na chemicznym nośniku światłoczułym. Do wykonywania zdjęć, w odróżnieniu od fotografii tradycyjnej (nazywanej czasem, choć niezbyt poprawnie, jako przeciwieństwo cyfrowej, określeniem analogowa), służy sprzęt o odmiennej konstrukcji: cyfrowy aparat fotograficzny.



 Matryca - elektroniczny element światłoczuły, który z większym lub mniejszym powodzeniem zastępuje nam filmy analogowe. Dlaczego mniejszym? Dlatego że póki co nie powstała matryca, która dorównała by jakości zwykłej kliszy. Producenci aparatów w dużej mierze skupili się na jej ciągłym udoskonalaniu, warto więc wiedzieć jak to wszystko działa i jaki ma wpływ na nasze zdjęcia. W aparatach cyfrowych występują 2 główne rodzaje matryc:
  • Matryca CMOS
  • Matryca CCD

Jak działa matryca?
Matryca za pomocą milionów miniaturowych fotoelementów mierzy natężenie padającego światła. Elementy te nie rejestrują niestety barwy światła i gdyby aparat korzystał tylko z tych funkcji fotografia taka była by czarno-biała.
Światło jest informacją, która przetwarzana jest na impulsy elektryczne, a dokładność tej informacji zależy od powierzchni, z jakiej zbiera światło pojedynczy element. Im gęściej są upakowane tym lepsza jakość obrazu gdyż w pewnym momencie człowiek przestaje dostrzegać różnice pomiędzy poszczególnymi punktami (pikselami).
 

piątek, 12 kwietnia 2013

Fotografia Analogowa

Fotografia - zbiór wielu różnych technik, których celem jest zarejestrowanie trwałego, pojedynczego obrazu za pomocą światła.. Potoczne znaczenie zakłada wykorzystanie układu optycznego, choć nie jest to konieczne – fotografia otworkowa, rayografia.

Fotografia analogowa (inaczej fotografia tradycyjna) - fotografia w której nośnikiem obrazu są chemiczne materiały światłoczułe (filmy, błony, płyty, papiery itp.). W fotografii tradycyjnej dominuje fotografia srebrowa, czyli fotografia oparta na światłoczułych halogenkach srebra. Do fotografii tradycyjnej zaliczają się też szlachetne techniki fotograficzne wykorzystujące światłoczułe właściwości chromianów.

piątek, 1 lutego 2013

Kariera zawodowa

Po ukończeniu liceum, chciałabym dostać się na grafikę komputerową, najlepiej do Krakowa. Znalazłabym tam pracę i rozwijała swoje zainteresowania. Po ukończeniu tych studiów chciałabym mieć dobrą pracę, żeby mieć możliwość wyjazdów na kursy fotograficzne. Jeśli wszystko potoczyłoby się według mojej myśli. Chciałabym móc trochę dorabiać,wykonując dla innych zdjęcia. Grafika komputerowa przyda mi się do ciekawej obróbki wykonanych przeze mnie zdjęć. Za zarobione pieniądze mogłabym kupić nowe obiektywy, filtry, lamy błyskowe, może założyć studio fotograficzne. Lubię podróżować, więc zaoszczędzone pieniądze poszłyby również na ten cel. Chciałabym odwiedzić Paryż, NY, LA, Miami, Egipt, Park Narodowy Dartmoor w Anglii, Hiszpanię.  W międzyczasie chciałabym znaleźć mężczyznę, który zostanie ze mną do końca życia. Gdy nadejdzie pora weźmiemy ślub. Nie jestem pewna czy chcę mieć dzieci, więc tą sprawę zostawiam na potem.