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ącychAbak(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 kwadratowegoax2 + 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.pldoc.pisz.plpdf.pisz.plmement.xlx.pl
|