Wst™p do programowania WWW: ii3.ap. mirek/programowanie

  • View
    52

  • Download
    0

Embed Size (px)

DESCRIPTION

Wstęp do programowania WWW: ii3.ap.siedlce.pl/~mirek/programowanie. I semestr Prowadzący: dr Mirosław Barański Konsultacje: Czwartek: 16:00-17:30 Piątek: 11:30-12:30. Literatura. Podstawowa: - PowerPoint PPT Presentation

Text of Wst™p do programowania WWW: ii3.ap. mirek/programowanie

  • Wstp do programowania

    WWW: mirek.ii.uph.edu.pl/programowanieI semestrProwadzcy: dr in. Mirosaw BaraskiKonsultacje: pn: 16:30-18:00, wt: 10:30-12:00

  • LiteraturaPodstawowa:Grbosz J., "Symfonia C++. Programowania zorientowane obiektowo", 3 tomy, Oficyna Wydawnicza Kallimach, Krakw 1994 lub pniej.L.Ullman, A.Signer, Programowanie w jzyku C++. Szybki start, Helion, 2006J.Liberty, C++ dla kadego, Helion, 2002DodatkowaW.M. Turski, Metodologia programowania, WNT, Warszawa 1982.Bjorne Stroustrup - Jzyk C++ ; WNT 2002.N. Wirth, Wstp do programowania systematycznego, WNT, Warszawa 1987.A.Alagic, M.A.Arbib, Projektowanie programw poprawnych i dobrze zbudowanych, WNT 1982,A.V. Aho, J.E. Hopcroft, J.D. Ullman, Projektowanie i analiza algorytmw komputerowych, Andrew Koenig, Barbara E. Moo - C++. Potga jzyka. Od przykadu do przykadu, Helion 2004.PWN, Warszawa 1983.

    Uwaga: powysze pozycje zawieraj rwnie rozdziay dotyczce programowania obiektowego. Nie s one obowizkowe.

  • SylabusWstp do programowaniaInstrukcjeTypy danychFunkcjeBiblioteki

    Sylabus dostpny jest na stronie WWW.

  • Opis efektw KRKWiedzaK_W06 - ma uporzdkowan wiedz w zakresie metodyki i technik programowania, najwaniejszych paradygmatw programowania w jzykach wysokiego poziomu: imperatywne, obiektowe, zdarzeniowe, agentowe, deklaratywne, K_W14 orientuje si w obecnym stanie oraz najnowszych trendach rozwojowych z zakresu dziedzin nauki i dyscyplin naukowych wasciwych dla kierunku informatyka Umiejtnoci:K_U01 potrafi pozyskiwa informacje z literatury, baz danych i innych rde; potrafi integrowa uzyskane informacje, dokonywa ich interpretacji, a take wyciga wnioski oraz formuowa i uzasadnia opinie K_U06 Posiada umiejtno samoksztacenia si, m.in. w celu podnoszenia kompetencji zawodowych K_U14 potrafi zaprojektowa, zaimplementowa oraz przetestowa prosty system informatyczny K_U15 potrafi oceni przydatno rutynowych metod i narzdzi sucych do rozwizywania prostych zada inynierskich, typowych dla informatyki oraz wybiera i stosowa waciwe metody i narzdzia Kompetencje spoeczneK_K01 rozumie potrzeb i zna moliwoci cigego doksztacania si (studia drugiego i trzeciego stopnia, studia podyplomowe, kursy) podnoszenia kompetencji zawodowych, osobistych i spoecznychK_K06 ma wiadomo roli spoecznej absolwenta uczelni wyszej, a zwaszcza rozumie potrzeb formuowania i przekazywania spoeczestwu m.in. poprzez rodki masowego przekazu informacji i opinii dotyczcych osigni informatyki i innych aspektw dziaalnoci inyniera-informatyka; podejmuje starania, aby przekaza takie informacje i opinie w sposb powszechnie zrozumiay

  • WprowadzenieCo to jest informatyka? informatyka zajmuje si przetwarzaniem informacji za pomoc automatycznych rodkw pomocniczych. Co to jest informacja? informacja jest to fakt (zbir faktw), ktre mona zakomunikowa.

  • WprowadzenieCo to jest programowanie? programowanie jest to umiejtno rozwizania pewnego zadania (ale konkretnego) za pomoc wybranego jzyka programowania. Co powinnimy umie, by pisa programy?:Na pewno zna jzyk programowania, Na pewno umie rozwizywa zadania.

  • Pojcia pierwotne ze wiata zewntrznyAkcja -> Gwnym pojciem wystpujcym wszdzie jest pojcie akcji. W programowaniu zakadamy, e akcja jest pewnym zdarzeniem o skoczonym czasie trwania i o zamierzonym dobrze okrelonym skutku. Skutek bdzie nazywany efektem (akcji). Obiekt -> Kada akcja musi by wykonywana na pewnym obiekcie, wynik dziaania akcji rozpoznawany jest po zmianach stanu tego obiektu.

  • Pojcia pierwotne ze wiata wirtualnegoInstrukcja -> Jeeli chcemy opisa akcj w jakim jzyku formalnym to uywamy instrukcji. Obiekty -> to s dane do programu.

  • GraficznieAkcja, czasobiektTen sam obiekt po wykonaniu akcjiwiat zewntrznyAbstrakcja,Opis wiataSymboliczny opis stanu urzdzenia odwzorowujcego wiat zewntrznyInstrukcjaSymboliczny opis stanu urzdzenia odwzorowujcego wiat zewntrzny po instrukcji

  • Przykad abstrakcjiwiat zewntrzny: pracownik otrzymujcy wypat=2400 w postaci wynagrodzenia zasadniczego=2000z i wysugi=400z. Abstrakcja: np. w arkuszu kalkulacyjnym abstrakcj moe by np. wpisanie do komrki A1 2000, do A2 400 a do A3 formuy A1+A2. Inn abstrakcj moe by np. kartka z podpisem ksigowej, e, ma otrzyma w kasie 2400z z ewentualnym wyliczeniem wartoci wypaty (albo np. dowd przelania na konto bankowe).

  • Proces, ObliczanieJeeli akcja skada si z kilku czci skadowych (kilku akcji - s to inne akcje ni pierwsza akcja) to jest to proces (obliczanie). W procesie poszczeglne akcje najczciej musz nastpowa w cile okrelonej kolejnoci. Np. pracownik musi najpierw otrzyma kartk z wynagrodzeniem, a potem dopiero moe pj do kasy.

  • ProgramInstrukcja opisujca proces bdzie nazywana programem (najczciej nie jest to oczywicie jedna instrukcja).

  • AlgorytmPoniewa proces wykonuje pewne zadanie (np. pobranie wypaty) to jest pewnym (duym ?) problemem jak to zadanie ma zosta wykonane. W oglnym przypadku mamy pewien zestaw danych np. {a,b,c,...}, wykonujemy na nich pewn operacj, np. i otrzymujemy wyniki, np. {x,y,z,...}. Moemy symbolicznie zapisa to jako {a,b,c,...} {x,y,z,...}. Problemem jest operator okrelajcy co trzeba wykona aby otrzyma dane wyjciowe dla danych wejciowych, np. x=cos(a). Aby byo to moliwe oprcz samego urzdzenia fizycznego zdolnego pamita symboliczne operacje naley mie do dyspozycji sposb rozwizania problemu zadania co jest nazywane algorytmem. Czyli potrzebujemy dwu elementw: algorytmu i maszyny wykonujcej ten algorytm.

  • AlgorytmMona powiedzie, e algorytm jest zbiorem regu postpowania majcy na celu przetworzenie informacji wejciowych na informacje wyjciowe- informacje wejciowe czsto nazywane s danymi a wyjciowe wynikami.

  • Wasnoci algorytmuZ oczywistych powodw algorytm musi charakteryzowa si pewnymi cechami. S to: Algorytm musi wymaga skoczonej liczby regu postpowania i moe zawiera tylko pewien zbir czynnoci (instrukcji). Algorytm opracowuje si dla rozwizywania problemw o powtarzalnoci metod wnioskowania i dla rnych wej. Oznacza to, e algorytm suy do rozwizywania problemw tej samej klasy, uywane dane powinny by sparametryzowane, tzn. nie uywamy wielkoci staych, ale pewnych symboli przedstawiajcych te dane, np. rwnanie kwadratowe 2,3x2+1,3x-3=0 naley zapisa jako ax2+bx+c=0 i przyj pniej, e a=2,3, b=1,3 i c=-3. Algorytm projektuje si dla zada, dla ktrych istnieje rozwizanie, w przypadku, gdy trudno jest udowodni istnienie rozwizania naley okreli moment przerwania wykonywania zbioru regu. Algorytm powinien uwzgldnia moliwe wszystkie sposoby rozwizania zadania. Przykadowo w przypadku rozwizywania rwnania kwadratowego naley przewidzie rwnie sytuacj, e rwnanie nie ma rzeczywistych miejsc zerowych, jak rwnie, e nie jest to rwnie kwadratowe (dla a=0 rozwizywane rwnie jest rwnaniem liniowym).

  • Dopuszczalne dziaania w algorytmachW przypadku maszyny cyfrowej dostpnymi dziaaniami s np. operacje arytmetyczne. Naley doda, e moliwoci maszyny cyfrowej zale od procesora, ktry oprcz podstawowych operacji arytmetycznych moe np. wykonywa obliczenia dla funkcji trygonometrycznych.

  • Wybrane zdarzenia z rozwoju algorytmwAlgorytm Euklidesa 400-300 p.n.e (wyznaczanie NWD z dwu liczb, np. NWD(33,22)=11, Muhammed Alchwarizini (IX w.) matematyk, autor regu podstawowych operacji arytmetycznych dla liczb dziesitnych (ac Algorismus). Od jego nazwiska wzita zastaa nazwa algorytm, Charles Babbage (1833) matematyk, wynalazca maszyny rnicowej i autor projektu maszyny analitycznej sterowanej algorytmami kodowanymi na dziurkowanych kartach, Herman Hollerith (1890) wynalazca maszyny wspomagajcej spis powszechny w USA, skrci czas z blisko roku do kilku dni, Alan Turing, John von Neumann i inni pierwsze komputery elektroniczne, Poowa lat 60 Informatyka staje si dyscyplin akademick.

  • Schemat funkcjonalny komputeraprocesorPami operacyjnaSt. Urz. WESt. Urz. WYSt. Urz. WE/WYUrz. WEUrz. WYUrz. WE/WY

  • Procesor, komputerAlgorytm moe by wykonywany zarwno przez czowieka (jest to raczej praca nudna i niewdziczna) jak rwnie przez automaty. Najwaniejszym elementem automatu jest procesor (czasem mwi si o komputerze, ktry jest rozumiany jako procesor z elementami wspomagajcymi takimi jak pami, urzdzenia wejcia/wyjscia, pamici zewntrzne i inne). W praktyce sam procesor wykonuje takie dziaania jak dodawanie, mnoenie i wiele innych. Procesor decyduje w pewnym sensie jakie operacje moemy wykorzystywa do rozwizania danego zadania. Np. procesor nie dysponujcy mnoeniem wymaga innego algorytmu dla mnoenia liczb, ni dysponujcy taka operacj. Najczciej komputer nie jest w praktyce jednak utosamiany z procesorem.

  • Przykadowy problemZadanie Jak zrealizowa mnoenie liczb cakowitych, gdy dysponujemy tylko operacj dodawania i np. zmiany znaku, jak zrealizowa mnoenie liczb rzeczywistych zapisanych w systemie dziesitnym. Inne zadania jak realizowa np. dodawania (proste, bo realizuj je ukady elektroniczne), jak oblicza sin(x), cos(x), ex.

  • PamiObiekty musz by gdzie umieszczane. W tym celu powstaa pami. Zawarto pamici moe by zmienia (nie rozwaamy tu pamici ROM i RAM). Wanymi cechami wpywajcymi na pami s: pojemno pamici, szybko pobierania danych i ich zapisywania. Te wzgldy s bardzo wane praktycznie, nas nie interesuj, gdy wystarczy nam zaoenie e dany proces (algorytm, program) wykona si, nie interesuje nas kiedy i jak. Pami skada si z komrek. Komrka odzwierciedla pewien kod obiektu (kod moe by zapisany w pewnej za pomoc pewnej liczby rnych stanw). Obecnie korzysta si z kodu nazwane kodem ASCII (nastpny slajd),Techniczne skonstruowanie urzdzenia mogcego znajdowa si w pewnej liczbie rnych stanw jest trudne. Dlatego realizuje si element o dwu moliwych stanach i rozwaa grupy takich elementw (gdy jest ich n to jest moliwe wygenerowanie 2n rnych stanw kodw).