tp w 1 Języki algorytmiczne. Tworzenie i eksploatacja programu., Ebooks, Informatyka, Pascal, wykłady

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • animecen.pev.pl
  • Podobne

     

    tp w 1 Języki algorytmiczne. Tworzenie i eksploatacja programu., Ebooks, Informatyka, Pascal, wykłady

    [ Pobierz całość w formacie PDF ]

    Wprowadzenie. Języki algorytmiczne. Tworzenie i eksploatacja programu.

    Podstawowe pojęcia: algorytm, program, język programowania, struktura programu, instrukcje, zmienne i typy zmiennych, deklaracja zmiennych, operatory, wyrażenia.

     

    „Informatyka zajmuje się całokształtem przechowywania, przesyłania, przetwarzania i interpretowania informacji. Wyróżnia się w niej dwa działy, dotyczące sprzętu i programowania”.

    Definicja, opracowana w 1989 roku przez ACM, mówi:

    „Informatyka to systematyczne badanie procesów algorytmicznych, które charakteryzują i przetwarzają informację, teoria, analiza, projektowanie, badanie efektywności, implementacja i zastosowania procesów algorytmicznych. Podstawowe pytanie informatyki to: co można (efektywnie) zalgorytmizować”.

     Ważniejsze fakty z historii algorytmiki i rozwoju maszyn liczących

    Abak(us) – liczydło w Mezopotamii X w. pne

    Euklides IV w. pne – algorytm znajdowania największego wspólnego podzielnika

    Muhammed ibn Musa al Chorezmi  VIII / IX w., matematyk, astronom (algorytm, algebra, zero, system dziesiętny)

    John Neper (XVII w.) – logarytmy, pałeczki Nepera

    Blaise Pascal (1623-1662) – Pascalina, maszyna mechaniczna (50 szt.) wykorzystywana przy poborze podatków i pomiarach geodezyjnych. Wykonywała dodawanie i odejmowanie

    Leibnic Gotfried (1646-1716) system binarny, maszyna mnożąca

    Joseph Jacquard (1801) krosno tkackie sterowane otworami w kartach perforowanych

    Charles Babbage (1791-1871) twórca maszyny różnicowej (np. kwadrat kolejnej liczby naturalnej jest sumą kwadratu poprzedniej liczby naturalnej i kolejnej nieparzystej liczby naturalnej) oraz projekt maszyny analitycznej sterowanej programem

    Ada Augusta hrabina Lovelance, córka Byrona – algorytmy dla maszyny Babbage’a

    Herman Hollerith (1860-1929)  -  karty perforowane i czytniki elektryczne (1890), IBM (1924)

    Alan Turing (1912-1954) – maszyna Turinga (1936)

    ENIAC (1946) – pierwszy komputer elektroniczny

    John von Neuman (1903-1957) komputer z zapamiętanym programem

     

    W celu rozwiązania dowolnego zadania przy wykorzystaniu komputera należy określić skończoną liczbę czynności, które należy wykonać na określonych danych, tj. skonstruować odpowiedni algorytm. (Algorismus IXw.- pisarz, matematyk perski). Algorytmizacja jest to działanie pozwalające otrzymać algorytm. Algorytm zapisany w języku programowania nazywa się programem, w którym czynności opisane są za pomocą odpowiednich instrukcji języka.

    Każdy algorytm:

    §         posiada dane wejściowe i produkuje pewien wynik,

    §         jest precyzyjnie zdefiniowany (za pomocą określonych instrukcji),

    §         jest skończony,

    §         powinien być efektywny.

    Algorytmy powinny spełniać określone wymagania. Są nimi:

    ·                    poprawność - posiadanie tej cechy przez algorytm oznacza, że algorytm rzeczywiście wytwarza żądane wyniki,

    ·                    określoność - cecha ta oznacza możliwość działania algorytmu niezależnie od wartości danych wejściowych,

    ·                    wykonalność - algorytmu składa z kroków wykonalnych dla wykonawcy algorytmu,

    ·                    testowalność - właściwość ta oznacza możliwość dokonania testów pozwalających rozstrzygnąć czy algorytm posiada wyżej wymienione cechy.

    Algorytmy charakteryzują się pewnymi mierzalnymi cechami. Są nimi np.:

    ·                    dokładność obliczeń,

    ·                    złożoność obliczeniowa,

    ·                    złożoność pamięciowa.

     

     

    Szybkość zmian w  informatyce

     

    Mimo oszałamiającej szybkości z jaką niektóre z innowacji technicznych stają się bezużyteczne i są zastępowane następnymi „podstawy informatyki” zmieniają się powoli.

    Postęp technologiczny ma wpływ na rozwój zasad wytwarzania algorytmów poprzez:

    ·                    skrócenie czasu realizacji algorytmów,

    ·                    umożliwienie realizowania algorytmów dla dużej liczby przetwarzanych danych,

    ·                    umożliwienie prezentacji wyników działania algorytmów o złożonej postaci wyników (obraz, dźwięk) oraz

    ·                    umożliwienie udostępniania wyników szerokiemu gronu ich odbiorców w dowolnym miejscu i czasie.

    Rozwój technologii wpływa na rozwój algorytmów, których stosowanie było uwarunkowane ograniczeniami technologicznymi.

     

     

    Konstruując algorytm trzeba posiadać metodę jego zapisania.

     

    Przykłady algorytmów

    -          w postaci listy kroków

                 

    Rozwiązywanie równania kwadratowego

    ax2 + bx + c =0

     

    Dane:    Współczynniki a, b, c równania.

    Wyniki: Pierwiastki równania, jeśli dane współczynniki rzeczywiście określają równanie kwadratowe i równanie ma pierwiastki. Jeśli równanie nie ma pierwiastków, to wypisz odpowiedni komunikat.

    Krok 1:  Jeśli a = 0, to wypisz komunikat, że nie jest to równanie kwadratowe i zakończ algorytm.

    Krok 2:  Oblicz wartość wyróżnika  D = b2 – 4ac

    Krok 3:  Jeśli  D<0 , to wypisz komunikat, że równanie kwadratowe nie ma pierwiastków i zakończ algorytm.

    Krok 4:  Jeśli D=0 , to oblicz oba pierwiastki z tego samego wzoru:  x1 = x2 = -b / (2a), wypisz ich wartości i zakończ algorytm.

    Krok 5:  {W tym przypadku D>0} Oblicz pierwiastki według wzorów:

                               

    wypisz ich wartości i zakończ algorytm.

     

     

    -          w postaci schematu blokowego

     

    Elementy schematów blokowych:

     

     

     

                                              początek i koniec algorytmu

    kierunek przetwarzania i łącznik

     

     

     

                                              operacje wejścia i wyjścia

    blok decyzyjny (warunek)

     

     

                  operacje przetwarzania danych i modułu (podprogramu)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

                                                           

    - w postaci programu w języku Turbo Pascal

     

    program kwadratowe;

    var a, b, c, delta, x1, x2: real;

    begin

    writeln(‘Podaj współczynniki równania kwadratowego’);

    readln(a, b, c);

    if a=0 then writeln(‘To nie jest równanie kwadratowe’)

                  else begin

                                delta:=b*b-4*a*c;

                                if delta<0 then writeln(‘Brak pierwiastków rzeczywistych’)

                                              else if delta=0 then

                                                                          begin

                                                                            x1:=-b/(2*a);

                                                                            writeln(‘Podwójny pierwiastek X=’, x1:10:4);

                                                                          end

                                                                          else

                                                                            begin

                                                                               x1:=(-b-sqrt(delta))/(2*a);

                                                                               x2:=(-b+sqrt(delta))/(2*a);

                                                                               writeln(‘Dwa pierwiastki X1=’, x1:10:4,’ X2=’, x2:10:4);

                                                                             end;

                                end;

    end.

     

    Proces tworzenia programu:

    §         specyfikacja założeń

    §         tworzenie algorytmów

    §         kodowanie

    §         edycja programów źródłowych

    §         kompilacja

    §         łączenie modułów bibliotecznych

    §         testowanie i usuwanie błędów

    §         tworzenie dokumentacji

    §         instalacja i szkolenie użytkowników

    §         modyfikacje programu

     

    Programy w języku maszynowym, symbolicznym i wysokopoziomowym.

    Wady programowania w języku niskopoziomowym:

    §         kod ściśle związany z danym komputerem,

    §         stosowanie sztuczek optymalizujących program,

    §         łatwość popełnienia błędu i trudność wykrycia,

    §         brak czytelnej struktury programu.

     

    Języki wysokopoziomowe – zbliżone do języka zastosowań.

    1957 Fortran (Formula Translator) IBM

    1958-1960 Algol (Algorithmic Language) Peter Naur

    1962 Cobol (Common bussines oriented language) Departament Obrony USA

    1964-1967 PL/I – język uniwersalny, bardzo rozbudowany

    1971 Pascal – N. Wirth (1983 Turbo Pascal Borlanda)

    1972 język C – Dennis Ritchie (język programowania systemowego)

    1979-1983 język C++  – Bjarne Stroustrup (programowanie obiektowe)

    1994 – Object Pascal, Delphi (Borland) (narzędzie do szybkiego tworzenia aplikacji)Język programowania, wykorzystywany do zapisu dowolnego programu, korzysta ze skończonego zestawu symboli, których znaczenie i sposób użycia jest ściśle określone.

    Alfabet języka – zbiór znaków za pomocą których zapisuje się programy.

    Słowa kluczowe – zastrzeżone, o specjalnym znaczeniu, nie mogą być przedefiniowywane.

    Są to słowa które maja specjalne znaczenie rozumiane przez kompilator języka Pascal:

    (standard)

    and array begin case const div do else end file for forward function goto if in label mod nil not of or packed procedure program record repeat set shl shr string then to type until var while with xor

    (Turbo Pascal)

    asm absolute downto external implementation inline interface interrupt unit uses

     

    Zasady konstruowania z tych symboli bardziej złożonych konstrukcji językowych definiujemy najczęściej za pomocą diagramów syntaktycznych lub ...

    [ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • mement.xlx.pl
  • Designed by Finerdesign.com