czwartek, 4 września 2014

ALGORYTM

1) DEFINICJA ALGORYTMU - Algorytm jest przepisem opisującym krok po kroku rozwiązanie problemu lub osiągnięcie jakiegoś celu.

    Przykład :
    Algorytm gotowania jajka na miękko.

        1. Włóż jajko do gotującej się wody.
         2. Zanotuj czas początkowy t0.
         3. Oczytaj czas aktualny t.
         4. Oblicz D t = t - t0.
         5. Jeśli D t < 3 min., to przejdź do kroku 3.
         6. Wyjmij jajko z gotującej się wody. Zakończ algorytm.

2) RODZAJE ALGORYTMÓW :
    - LINIOWE :

    Algorytm liniowy to taki, w którym nie określono żadnych warunków. Jest też nazywany sekwencyjnym,       gdyż każdy z kroków w tym algorytmie następuje sekwencyjnie, czyli wykonanie jednej sekwencji powoduje     przejście bezpośrednio do następnej.

    Przykład :
    Algorytm liniowy 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. oblicz obwód: ob:=2*a+2*b
    5. Wyprowadź wartość ob
    6. Koniec algorytmu

    - WARUNKOWE :

  Algorytm warunkowy to taki, w którym wykonanie instrukcji uzależnione jest od spełnienia lub          niespełnienia warunku.

  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

    - ITERACYJNE :

   Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został              spełniony.

Iteracje mogą być realizowane : powtarzanie instrukcji aż zostanie spełniony warunek. Ten rodzaj pętli jest nazywany do while i również ma zastosowanie w wielu językach programowania;
  1. konkretną ilość razy (pętla z licznikiem). Ten rodzaj pętli jest nazywany for i ma zastosowanie w wielu językach programowania;
  2. spełnianie warunku tak długo aż zostanie spełniony. Wówczas następuje przejście do instrukcji. Ten rodzaj pętli jest nazywany while do.

    - REKURENCYJNE

Algorytm rekurencyjny to taki, który wywołuje sam siebie do rozwiązania tego samego problemu. Algorytm rekurencyjny jest często realizacją zasady “dziel i zwyciężaj”, która składa się z trzech kroków:

    1) “dzielenia”, tj. podziału problemu na podproblemy;

    2) rekurencyjnego rozwiązania podproblemów, chyba że można je rozwiązać metodą bezpośrednią –           takie postępowanie prowadzi do “zwycięstwa” w sensie czasu rozwiązywania problemu;

    3) “połączenia” rozwiązań podproblemów w rozwiązanie całego problemu.

 Przykłady algorytmów rekurencyjnych: sortowanie przez scalanie, algorytm euklidesa.
    
    Algorytm Euklidesa, postępowanie, którego celem jest znalezienie największej wspólnej miary dwóch   odcinków o długości m i n (lub największego wspólnego dzielnika dwóch liczb m i n). Krótszy z odcinków   (np. n) odkłada się na dłuższym m tyle razy (czyli dzieli się m przez n), aż resztę stanowi odcinek         r1 mniejszy od odcinka n (jeśli reszta jest równa zero, to problem jest już rozwiązany). Następnie odcinek r1 odkłada się na n tyle razy, by otrzymać resztę r2 mniejszą od r1. Jeśli r2 = 0, to r1 jest poszukiwaną wspólną miarą. Jeśli r2 nie równa się 0, to z kolei odkłada się r2 na r1 itd., aż otrzymana reszta rn = 0. Wówczas reszta rn-1 jest poszukiwaną wspólną miarą (lub dzielnikiem).

3) SPOSOBY REPREZENTOWANIA ALGORYTMU :

    - LISTA KROKÓW :

Lista kroków algorytmu jest to przedstawienie w numerowanych punktach kolejnych etapów działania algorytmu.
Jeden punkt zawiera opis jednej operacji. Kolejności wykonywania operacji musi zostać zachowana. W przypadku wykonania jakiejś czynności wielokrotnie (iteracje, itp.) lub w przypadku chęci przejścia do konkretnego punktu z listy, umieszczamy w danym punkcje informację "Przejdź do punktu X", gdzie X, to numer punktu docelowego.
Pierwszy i ostatni punkt listy kroków algorytmu, to zawsze: początek algorytmu oraz koniec algorytmu.
Wszelkie operacje przypisania wartości do zmiennej dokonujemy za pomocą operatora ":=".

Przykład:
1. Początek algorytmu. 
2. Ustaw wartość zmiennej a:=0
3. Jeżeli a > 3 przejdź do punktu 7.
4. Wykonaj wyrażenie a:=a+1
5. Wypisz na ekran wartość a
6. Przejdź do punktu 3.
7. Zakończ algorytm.

    - SCHEMAT BLOKOWY :

Schemat blokowy  jest narzędziem nakierowanym na prezentację kolejnych czynności w projektowanym algorytmie. Realizowane jako diagram, na którym procedura, system albo program komputerowy są reprezentowane przez opisane figury geometryczne, połączone liniami zgodnie z kolejnością wykonywania czynności wynikających z przyjętego algorytmu rozwiązania zadania.
Cechuje je:
  • zasada budowy,
  • elastyczność zapisów,
  • możliwość zapisu z użyciem składu wybranego języka programowania,
  • łatwa kontrola poprawności algorytmu.
Schematy blokowe pozwalają na prostą zamianę instrukcji na instrukcje programu komputerowego.

Przykład :
 
     - DRZEWA ALGORYTMICZNE :

Drzewo  jest hierarchiczną strukturą danych, którą współczesna informatyka wykorzystuje bardzo często. Nie szukając daleko, katalogi i pliki są zorganizowane na twoim komputerze właśnie w strukturze drzewa. Zastosowań drzew jest całe mnóstwo, dlatego uczeń informatyki powinien dobrze poznać te struktury danych. Mam nadzieję, że informacje zawarte w tym rozdziale okażą się pomocne w osiągnięciu tego celu.

Przykład :




    - PSEUDOKOD :

    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.

 Przykład : 
jeżeli numer karty kredytowej jest ważny to
    wykonanie transakcji w oparciu o numer karty i zamówienie 
w przeciwnym razie
    wyświetlenie wiadomości o niepowodzeniu
koniec warunku

    - KOD WŁAŚCIWY :

Jest to kod, który można poddać procesowi translacji (kompilacja lub interpretacja).


Przykład : 



niedziela, 16 marca 2014

Konfiguracja komputera do pracy w sieci


  •  Wiersz poleceń (ang. Command Line InterfaceCLI) – jeden z najczęściej spotykanych sposobów interakcji człowieka z komputerem. Wiersz poleceń to także program systemu Windows. Można otworzyć go przez wpisanie w funkcji uruchom polecenia cmd (Windows XP) lub wprowadzenie w funkcji wyszukaj programy i pliki nazwy cmd.exe (Windows 7).
  •  ipconfig - polecenie w systemach operacyjnych Microsoft Windows służące do wyświetlania konfiguracji interfejsów sieciowych. Zwalnia i aktualizuje dzierżawy DHCP oraz wyświetla, rejestruje i usuwa nazwy DNS. Narzędzie pomocne przy wykrywaniu błędnego adresu IP, maski podsieci lub bramy domyślnej. Odpowiednik w systemach UNIX to ifconfig.
  •  DHCP (ang. Dynamic Host Configuration Protocol – protokół dynamicznego konfigurowania węzłów) – protokół komunikacyjny umożliwiający komputerom uzyskanie od serwera danych konfiguracyjnych, np. adresu IP hosta, adresu IP bramy sieciowej, adresu serwera DNS, maski podsieci. Protokół DHCP jest zdefiniowany w RFC 2131 i jest następcą BOOTP. DHCP został opublikowany jako standard w roku 1993. 
  •  Adres ip (ang. IP address) – w protokole IP liczba nadawana interfejsowi sieciowemu, grupie interfejsów (broadcast, multicast), bądź całej sieci komputerowej, służąca identyfikacji elementów sieci w warstwie trzeciej modelu OSI – w obrębie sieci lokalnej oraz poza nią (tzw. adres publiczny).
  •  Maska podsieci (ang. subnetwork maskaddress mask) – liczba służąca do wyodrębnienia w adresie IP części sieciowej od części hosta.
  •  Brama domyślna - router, który potrafi poprawnie przekazać dalej pakiet przychodzący do niej, a skierowany do sieci odległej. Drogę przekazywanego pakietu wyznacza na podstawie swojej tablicy routingów. Routerem może być: komputer z systemem umożliwiającym przekazywanie, czyli routowanie pakietów pomiędzy sieciami.

wtorek, 4 marca 2014

Sieć komputerowa



Sieć komputerowa - grupa kilku komputerów połączonych ze sobą za pomocą dowolnego medium transmisyjnego w celu wymiany danych i współdzielenia zasobów sieciowych.




Główne zalety sieci komputerowych :
-  możliwość komunikacji z innymi osobami (np. poprzez wiadomość e-mail)

-  możliwość korzystania z wspólnych zasobów sieciowych (sprzętu, oprogramowania), dzięki czemu nie ma potrzeby kupowania wielu urządzeń i programów osobno dla każdego komputera

 szybkość, oszczędność czasu i bezproblemowość w przenoszeniu danych, plików i programów z jednego komputera na inny (nawet znajdujący się w drugim końcu świata)

-  oszczędność w zakupie oprogramowania (pewne programy np. firewall wystarczy zainstalować na jednym komputerze)

 bezkonfliktowość, prostota i wygoda podczas dostępu do wspólnych bazy danych z różnych komputerów (nawet jak znajdują się one w innych częściach świata)

Główne wady sieci komputerowych :
wysokie ceny urządzeń sieciowych i medium transmisyjnych

-  zagrożenia związane z działaniem „sieciowych włamywaczy”, hakerów (np. usunięcie danych, uszkodzenie systemu)

 problemy związane z tworzeniem i zarządzaniem sieci (np. zakłócenia, awarie, podłączanie wszystkich urządzeń i zasobów sieciowych kablami)

 zagrożenia bezpieczeństwa i stabilności działania wszystkich systemów w wyniku zainfekowania jednego komputera

 awaria jednego urządzenia lub medium transmisyjnego może spowodować uszkodzenie całej sieci komputerowej


Urządzenia sieciowe :
  Karta sieciowa

 Koncentrator (Hub)


 Przełącznik (Switch)


 Router


 Access Point


 Wtórnik (Repeater)


 Bridge


Rodzaje medium transmisyjnego :

- kabel RJ45 (Skrętka)


- kabel koncentryczny


- światłowód


- fale radiowe


Topologia magistrali :

 wszystkie elementy sieci są podłączone do jednego kabla 

(magistrali);

 wymaga zastosowania tzw. terminatorów chroniących przed 

obijaniem sygnałów;

 przerwanie medium w jednym miejscu powoduje awarię całej sieci;





Topologia gwiazdy :

 wszystkie komputery są połączone do jednego punktu – koncentratora lub przełącznika;

 każdy komputer może uzyskać bezpośredni i 
niezależny dostęp do nośnika;


Topologia pierścieniowa :

 każdy przyłączony 
komputer ma dwa połączenia - po jednym dla sąsiednich komputerów, dzięki czemu tworzy się fizyczna pętla;

 dane przesyłane są w jedną stronę;

 dany komputer odpowiada na pakiety do niej zaadresowane, a także przesyła dalej pozostałe pakiety;


Podział sieci ze względu na jej organizację :

 Klient – serwer 

 - w sieci występuje serwer, który odgrywa nadrzędną 

rolę i nadzoruje całą sieć.


Peer-to-Peer (P2P) 

 - wszystkie komputery mają jednakowe uprawnienia, 

sieć posiada płynną strukturę.


Podział sieci komputerowych ze względu na zasięg działania : 

  LAN (Local Area Network) – lokalna sieć 

komputerowa, obejmująca zazwyczaj 

tylko jeden budynek;


 MAN (Metropolitan Area Network) – sieć 

obejmująca aglomerację lub miasto;



 WAN (Wide Area Network) – obejmuje 

zasięgiem duży obszar (państwo, 

kontynent);




 Internet – ogólnoświatowa sieć 

komputerowa;


 - jest logicznie połączony w jednorodną 

sieć adresową opartą na protokole IP 

(Internet Protocol);

- umożliwia wymianę danych pomiędzy 

komputerami na całym świecie;

- nie posiada jednego, centralnego 

komputera zarządzającego całą siecią, 

lecz składa się z wieluset różnych sieci;