Kategorie materiałów Informatyka

Przedmiot: Algorytmy i Struktury Danych Wróć do kategorii

Algorytmy i Programowanie

plik Pobierz Algorytmy i Programowanie.txt

Algorytmy i Programowanie

Co to są algorytmy?

Ogólnie określamy tym mianem wszelkie przepisy postępowania które doprowadzają do uzyskania pożądanego efektu ? rozwiązania zadania W potocznej mowie mówimy czasem o algorytmach postępowania niewiele mających wspólnego z komputerami jednak dla informatyków algorytmy wiążą się nierozerwalnie z programowaniem
Nazwa Algorytm ma swoje Korzenie w średniowieczu i wzięła się ze zniekształconego nazwiska wielkiego uczonego arabskiego Al Chuwarizmiego który żył na przełomie VIII i IX wieku i pochodzącego z Chorezmu Al Chuwarizmi działając w Domu Nauk kalifa Al Mamuna w Bagdadzie opublikował ważne dzieła matematyczne wśród nich Hisab al dżabr w'al muqabala ? Traktat o rozwiązywaniu równań z którego wzięła nazwę Algebra ? Jeden z głównych działów matematyki W traktacie tym poza wprowadzeniem systemu zapisu pozycyjnego zaczerpniętego od Hindusów a zwanego arabskim podał między innymi Metody rozwiązywania równań kwadratowych Metody te odwoływały się do pojęć geometrycznych; utożsamiano wtedy Liczby i działania z miarami obiektów geometrycznych Liczby rzeczywiste to były długości odcinków Dodawanie to było sklejanie odcinków Mnożenie odpowiadało wyliczaniu Pola prostokąta o danych bokach a Pierwiastkowanie wyznaczaniu boku kwadratu o zadanym polu
Prawdziwe problemy pojawiają się gdy chcemy Algorytm zakodować w taki sposób żeby był dobrze wykonany przez maszynę Nie możemy sobie pozwolić na odwoływanie się do doświadczenia machanie rękami domysły Komputer niczego się nie domyśla ba, nie rozumie języka naturalnego i potrzebna będzie nam precyzyjna notacja do komunikacji z nim Istotą programowania jest bowiem wyrażanie algorytmów w sposób ścisły podlegający rygorom skończonej Liczby reguł których znaczenie w jednoznaczny sposób jesteśmy określić
Al Chuwarizmi nie był oczywiście pierwszym człowiekiem który stosował podejście algorytmiczne do rozwiązywania problemów W rzeczywistości każdy z nas stosuje algorytmy w rozmaitych sytuacjach życiowych Człowiek pierwotny miał Algorytm polowania na mamuty czy rozpalania ognia Dzisiaj często wykonujemy pewne algorytmy nie zdając sobie sprawy Warto przytoczyć parę przykładów algorytmów z życia codziennego:

Przepisy kucharskie Typowy przepis zawiera deklaracje obiektów (składników pichcenia) ich początkowe wartości
(miary) oraz opis działań doprowadzający do przyrządzenia potrawy

Zapis nutowy muzyki Za pomocą szczególnego systemu notacyjnego określa się wysokości i względne czasy trwania nut i pauz między nimi Można również i tu określić Dane:: są to zazwyczaj określenia instrumentów które w partyturze występują oraz Dane początkowe takie jak Metrum czy Dynamika poszczególnych części Zauważmy że poza standardowymi znakami na pięciolinii kompozytorzy często stosują dodatkowe określenia takie jak Crescendo poco allegretto piano con fuoco itp pozwalające wykonawcy lepiej wyczuć ich intencje Szczególnie atrakcyjnie
wyglądają niektóre Nuty kompozytorów współczesnych którzy odchodzą czasem od tradycyjnego zapisu nutowego i starają się niekiedy wymyślić i opisać własny System notacyjny wyrażający ich intencje

Instrukcje montażu Często do zestawów mebli czy klocków lego dołączona jest kartka z instrukcją montażu zapisaną za pomocą sekwencji rycin obrazujących kolejne fazy powstawania składanego obiektu Użytkownik porównując zmiany na poszczególnych obrazkach ma się domyślić jakie czynności w jakiej kolejności i za pomocą jakich części ma wykonywać Zauważmy że i tu występuje charakterystyczny dla algorytmów opis danych: najczęściej zestaw
części składowych jest wyrysowany obok historyjki obrazkowej z zaznaczeniem Liczby poszczególnych elementów

Opisy dojazdu Wyjaśniając jak dotrzeć do danego miejsca (mappycom) wiele serwisów udostępnia opis drogi
z zaznaczeniem kluczowych punktów i decyzji

Opis układów choreograficznych scenopisy przedstawień Tutaj też stosuje się specyficzną symbolikę i skróty notacyjne
Takich przykładów można przytaczać tysiące Właściwie niemal wszystko co robimy podlega jakiemuś algorytmowi działania ? przy czym warto podkreślić że Ludzie nie muszą mieć algorytmów objaśnianych dokładnie: wiele mogą wywnioskować z kontekstu doświadczenia
po prostu domyślając się o co może chodzić Kucharce nie trzeba wyjaśniać co to znaczy "zeszklić cebulkę na ciemnozłoty kolor" a monterowi - co znaczy "zaizolować przewody"
Z komputerami jest jednak inaczej Są to wyjątkowo głupie urządzenia i jeśli dokładnie nie wytłumaczymy co mają zrobić stają się bezradne Między Bajki należy włożyć rozmaite sytuacje znane z literatury fantastyczno-naukowej w których komputery są równorzędnymi partnerami intelektualnymi dla ludzi Sztuczna inteligencja nawet jeśli istnieje bazuje na ściśle określonych algorytmach działania i nie ma tam miejsca na intuicję domyślenie się czegokolwiek czy nagłe olśnienie które są doskonale znane istotom myślącym Ludzie często nie zdają sobie sprawy jak wiele w algorytmach którymi się posługują zależy od nieuświadamianego kontekstu jak dużo muszą dopowiadać do rzekomo precyzyjnych procedur działania Komputery bezlitośnie wyłapują luki w specyfikacji procedur i nie ma mowy żeby domyśliły się że wykonują jakąś bezsensowną akcję typu wydrukowanie żądania zapłacenia 0 Zł Jeśli wyraźnie nie zapiszemy w algorytmie że takich żądań nie należy generować to Komputer ślepo wykona nasze polecenie choćby było ono w oczywisty sposób bezsensowne

W matematyce jednym z najstarszych algorytmów jest Algorytm Euklidesa
(szukanie największego wspólnego dzielnika - NWD) przedstawiony poniżej w
postaci ciągu kroków:
1 Dane są dwie niezerowe Liczby naturalne - a i b
2 Dopóki Liczby a i b nie są sobie Równe powtarzaj Krok 3. W przeciwnym
razie przejdź do kroku 4
3 Od większej Liczby odejmij mniejszą i tę większą zastąp otrzymaną ró?nicą
4 Wyprowadź wynik: NWD jest równy pierwszej liczbie

Sposoby zapisywania algorytmów:

Zapis graficzny - schematy blokowe: Sposób rozwiązania zadań czyli algorytmy można także prezentować w postaci graficznej jako schematy blokowe W schemacie blokowym poszczególne operacje przedstawiane są za pomocą odpowiednio połączonych skrzynek (klocków bloków) Połączenia określają kolejność i sposób wykonywania operacji realizujących dany Algorytm Sposoby zapisywania algorytmów:
Zapis graficzny - schematy blokowe: W literaturze informatycznej przyjęto pewne standardowe oznaczenia poszczególnych działań (są to figury geometryczne) ale można również używać innych oznaczeń (muszą one jednak być takie same dla określonego typu operacji)
Skrzynka graniczna - Początek algorytmu (begin); lub koniec algorytmu (end) Początek A:=B 3
Skrzynka operacyjna - wykonywanie różnych działań np. sumowania Podaj B Skrzynka wejścia/wyjścia - wprowadzanie (czytanie) danych lub wyprowadzanie (drukowanie pisanie) wyników TAK NIE A>0 Skrzynka warunkowa - sprawdzanie warunku (if) np. czy N > O

Oto kilka zasad budowania schematu blokowego:
? Każda Operacja jest umieszczona w skrzynce
? Schemat ma tylko jedną skrzynkę ?początek" i przynajmniej jedną skrzynkę ?koniec"
? Skrzynki są ze sobą połączone
? Ze skrzynki wychodzi jedno połączenie
; Wyjątek stanowią skrzynki: ?koniec" (z której nie wychodzą już żadne połączenia) oraz ?warunkowa" (z której wychodzą dwa Połączenia opisane Tak i Nie -w zależności od tego czy warunek jest spełniony czy nie można wyjść jedną z dwóch dróg) Technika budowania schematów blokowych: Zapis graficzny - schematy blokowe - przykład (silnia): Programy piszemy posługując się językami programowania takimi jak np. Pascal Język C C , Java Do programowania służą programy - specjalne edytory wchodzące w skład środowiska programowania zawierającego zwykle oprócz edytora także Kompilator i inne Narzędzia wspomagające Programowanie Np:: Turbo Pascal C , Visual Basic Delphi Program jest to Ciąg instrukcji wykonujący określony Algorytm Aby zatem napisać własny Program musimy poznać nie tylko instrukcje danego języka programowania ale przede wszystkim Metody programowania

Wkuwanko.pl jako podmiot świadczący usługę hostingu materiałów edukacyjnych nie ponosi odpowiedzialności za ich zawartość.

Aby zgłosić naruszenie prawa autorskiego napisz do nas.

ikona Pobierz ten dokument

Wróć do kategorii

wkuwanko.pl

Wasze komentarze: dodaj komentarz

  • Nie ma jeszcze komentarzy do tego materiału.

Materiały w kategorii Algorytmy i Struktury Danych [31]

  • podgląd pobierz opis Algorytmy
  • podgląd pobierz opis Algorytmy
  • podgląd pobierz opis Algorytmy i Programowanie
  • podgląd pobierz opis Algorytmy i struktury danych - Wykład 1 WYKŁAD
  • podgląd pobierz opis Algorytmy i struktury danych - Wykład 3 WYKŁAD
  • podgląd pobierz opis Algorytmy i struktury danych - Wykład 4 WYKŁAD
  • podgląd pobierz opis Algorytmy i struktury danych - Wykład 5 WYKŁAD
  • podgląd pobierz opis Algorytmy i struktury danych - Wykład 6 WYKŁAD
  • podgląd pobierz opis Algorytmy i struktury danych - Wykład 7 WYKŁAD
  • podgląd pobierz opis Algorytmy i struktury danych - Wykład 8 WYKŁAD
  • podgląd pobierz opis Algorytmy i struktury danych - Wykład 9 WYKŁAD
  • podgląd pobierz opis Algorytmy i struktury danych - Zastosowanie grafów
  • podgląd pobierz opis Asymptotyczna teoria reprezentacji grup permutacji
  • podgląd pobierz opis Ćwiczenia 1
  • podgląd pobierz opis Ćwiczenia 2
  • podgląd pobierz opis Ćwiczenia 7
  • podgląd pobierz opis GRAFY Przykład grafu skierowanego Przykład grafu nie skierowanego
  • podgląd pobierz opis Laborki
  • podgląd pobierz opis Ściąga ŚCIĄGA
  • podgląd pobierz opis Porządek leksykograficzny
[ Misja ] [ Regulamin ] [ Kontakt ] [ Reklama ]   © wkuwanko.pl 2008-2019 właściciel serwisu SZLIFF

Partnerzy: matzoo.pl matmag.pl batmat.pl onlinefm.pl pisupisu.pl Matematyka radio online