niedziela, 14 października 2012

niedziela, 7 października 2012

Algorytmy w informatyce i technologii informacyjnej



Algorytm



Algorytm - w matematyce oraz informatyce to skończony, uporządkowany zbiór jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania. Słowo "algorytm" pochodzi od nazwiska Muhammed ibn Musa Alchwarizmi (أبو عبد الله محمد بن موسى الخوارزمي) matematyka perskiego z IX wieku i początkowo oznaczało w Europie sposób obliczeń oparty na dziesiętnym systemie liczbowym.

Istnieje wiele, nie zawsze równoważnych definicji algorytmu. Często jest on określany jako przepis przetworzenia pewnych danych wejściowych (formalnie – wektora danych z pewnego ustalonego zbioru wartości dopuszczalnych dla danego algorytmu) do danych wynikowych, dzisiaj jest ona jednak zaszłością, gdyż nie uwzględnia np. algorytmów typu online, podobnie jak często dokładane do definicji algorytmu założenie o ograniczonej liczbie kroków algorytmu, tj. ilości czynności które algorytm musi wykonać by zakończyć pracę (w przypadku algorytmów online nie ma sprecyzowanego końca – algorytm ma przetwarzać napływające na bieżąco dane, reagując na ewentualne anomalie, choćby miało to trwać do końca świata).

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 lub innego urządzenia. Kiedy podczas tego procesu programiści popełnią błąd (ang. bug), może to doprowadzić do poważnych konsekwencji np. błędy w implementacji algorytmów bezpieczeństwa mogą ułatwić popełnienie przestępstwa 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ęzykprzepisó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ą prawnicze spory 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.

 a) Opis słowny algorytmu wydawania reszty.


 Dane: Kwota pieniędzy do wydania, nominały banknotów i bilonu uporządkowane malejąco
Wyniki: Ilość poszczególnych nominałów banknotów i bilonu
Krok 1: Ustalenie wartości początkowych
Krok 2: Sprawdzamy, ile razy najwyższy nominał mieści się w kwocie do wydania
Krok 3: Obliczamy resztę do wydania: poprzednia kwota - obliczona ilość * nominał
Krok 4: Przechodzimy do niższego nominału
Krok 5: Jeśli reszta do wydania = 0 [stop] w przeciwnym razie powtarzamy kroki 2 - 4


b) metody rozwiązywania
-lista bloków : bloki graficzne
                        bloki wejścia/wyjścia
                        blok operacyjny
                        blok warunkowy

-schemat blokowy :
a)
-rozwiązanie w Excelu
http://screenshooter.net/9908677/wtlqgcf

b)
-rozwiązanie w Excelu
http://screenshooter.net/9908677/tdfucmc

//Wydawanie reszty, C++

#include <iostream>
#include <stdlib.h>

using namespace std;

int main(int argc, char *argv[])
{
  //tablica dostepnych nominalow
  int N[8]={200, 100, 50, 20, 10, 5, 2, 1};
  int R,P, i;

  cout << "Podaj reszte do wyplacenia: ";
  cin >> R;

  i=0;
  while (R>0)       //dopoki nie wydano calej reszty
  {
    if (R >= N[i])  //sprawdz czy mozna wydac danym nominalem
    {
      P=R / N[i];   //ile razy wydac dany nominal
      R=R-(N[i]*P); //zmniejsz reszte o wydany nominal
      cout << N[i] << " x " << P << endl; //wypisz wynik
    }
    i++;            //rozpatrz kolejny nominal
  }

  system("PAUSE");
  return 0;
}

niedziela, 30 września 2012

Internet- ogólnoświatowa sieć komputerowa, określana również jako sieć sieci. W sensie logicznym, Internet to przestrzeń adresowa zrealizowana przy wykorzystaniu protokołu komunikacyjnego IP, działająca w oparciu o specjalistyczny sprzęt sieciowy oraz istniejącą już infrastrukturę telekomunikacyjną.

Zagrożenia w internecie-kontakt z pornografią, pedofilią, przemocą, uzależnieniem oraz nieświadomym udostępnianiem informacji. Wśród Internautów przeważa młodzież, dla której komputer stał się podstawowym narzędziem pracy, nauki i rozrywki. Oprócz tego istnieją także inne zagrożenia w Internecie takie jak: wirusy, dialery oraz programy szpiegujące. 

Usługi w internecie-
Sklepy internetowe to bardzo dynamicznie rozwijająca się usługa w sieci Internetu ze względu na prostotę porównania cen, parametrów towaru i bardzo często niższe ceny niż w tradycyjnych sklepach. Można również zastosować porównywarkę cen, która znajdzie określony towar oraz sprawdzi jego cenę w wielu sklepach równocześnie.
Radio internetowe – radio emitujące swoje audycje w sieci Internetu, przeważnie w formacie MP3. Z tej usługi Internetu korzystają tradycyjne stacje radiowe jak i amatorskie.
Telewizja internetowa – forma telewizji, która wykorzystuje strukturę Internetu do prezentowania programów telewizyjnych. Są to stacje telewizyjne działające wyłącznie w internecie jak i tradycyjne stacje telewizyjne, prezentujące swe programy w sieci Internetu.
Bankowość internetowa (ang. e-banking) – usługi polegające na dostępie do rachunku za pomocą usługi Internetu, oferowane przez banki. Mogą to być usługi pasywne (sprawdzanie salda lub historii operacji na rachunku itp.) jak i aktywne (wykonywanie przelewów, zakładanie i likwidowanie lokat itp.).
TELNET – program (aplikacja), umożliwiający zdalne połączenie się z nawet odległym komputerem w sieci Internetu i pozwala pracować w nim tak jak byśmy siedzieli za jego klawiaturą. Dużą wadą jest, że pracuje jedynie w trybie tekstowym (wymaga znajomości systemu UNIX).
Usługi wykonywane w czasie rzeczywistym. Jest to dostęp do stron zawierających: encyklopedie, słowniki, serwisy informacyjne, które zwykle są na bieżąco aktualizowane.
- Gry online – gry komputerowe, które potrzebują dostępu do sieci Internetu. Korzystając z tej usługi Internetu można w czasie rzeczywistym porównać swe umiejętności, co do posługiwania się grami z innymi użytkownikami, jednym lub wielu na raz.
Aukcje internetowe – forma aukcji, w tym wypadku prowadzona za pomocą sieci Internetu. Ten rodzaj aukcji gromadzi nie porównywalnie większe grono nabywców niż jakiś inny. W polskim internecie w tej dziedzinie niepodzielnie króluje Allegro.

Moja ulubiona przeglądarka- Niewątpliwie zaletą przeglądarki Mozilla Firefox jest jej bardzo intuicyjny interfejs, w którym to poruszanie nie sprawia nikomu problemów, a zwłaszcza nowicjuszom przerzucającym się z innych przeglądarek. Poza tym kolejnym plusem jest to, że na Mozille jest zrobionych bardzo dużo różnego rodzaju wtyczek, które tylko i wyłącznie usprawniają nasze działania w Internecie. Każdy użytkownik Mozilli dostrzeże też plusa w tym, że ta przeglądarka jest dostosowana do najnowszych wersji programowania stron internetowych oraz pozwoli nam uruchomić najlepsze gry flash jakich jest pełno w Internecie. Wymieniłem kilka plusów, które są naprawdę dość znaczące.