PARADYGMATY PROGRAMOWANIA

Wielkość: px
Rozpocząć pokaz od strony:

Download "PARADYGMATY PROGRAMOWANIA"

Transkrypt

1 Opracował: mgr inŝ. Zbigniew JANIK Strona 1/7 PARADYGMATY PROGRAMOWANIA I Wstęp Co znaczy uŝyte w nazwie wykładu słowo paradygmat? Pochodzi z języka greckiego, w którym słowo παραδειγµα (paradeigma) oznacza wzorzec lub przykład. Internetowy słownik języka polskiego definiuje w wyraŝeniu paradygmaty programowania nie chodzi o wzorcowy sposób programowania czy teŝ o przykłady poprawnych programów. Mówiąc o paradygmatach programowania, mamy na myśli raczej zestaw typowych dla danej grupy języków mechanizmów udostępnionych programiście oraz zbiór sposobów interpretacji tych mechanizmów przez semantykę języka. Czyli jak rzeczywistość (tak zewnętrzna, opisywanego świata, jak i wewnętrzna, maszynowa) jest postrzegana przez pryzmat danego języka. Wszystkie języki programowania moŝna podzielić na dwie główne grupy: imperatywne, deklaratywne. Języki imperatywne charakteryzują się tym, Ŝe programista wyraŝa w nich czynności (w postaci rozkazów), które komputer ma w pewnej kolejności wykonywać. Program jest wiec listą rozkazów do wykonania, stad nazwa imperatywne ( rozkazowe ). W językach deklaratywnych jest inaczej. Tutaj programista pisząc program podaje (deklaruje) komputerowi pewne zaleŝności oraz cele, które program ma osiągnąć. Nie podaje się jednak wprost sposobu osiągnięcia wyników. Innymi słowy, języki imperatywne mówią komputerowi, jak ma osiągnąć wynik, (choć samego wyniku nie określają wprost), natomiast języki deklaratywne opisują, co ma być osiągnięte, (choć nie podają na to bezpośredniego sposobu). Ten podział przedstawia Rysunek 1. Rysunek 1. Podział głównych paradygmatów programowania Na rysunku 1 widać takŝe dalszy, drobniejszy, podział wspomnianych wyŝej dwóch głównych paradygmatów programowania. W programowaniu imperatywnym jak wyŝej to wspomnieliśmy program jest po prostu listą instrukcji (mniej lub bardziej elementarnych), które maja być wykonywane kolejno. JednakŜe, siła maszyn liczących jest umiejętność wielokrotnego powtarzania pewnych czynności zapisanych raz, czyli wykonywania pętli. śeby było to moŝliwe, musimy mieć do dyspozycji rozkaz zaburzający zapisaną sekwencje poleceń, a podstawową i pierwotnie stosowaną, pełniącą tę funkcję instrukcją jest rozkaz!skoku. Zestaw instrukcji zawierający elementarne rozkazy operacji na pewnych danych wraz z rozkazami skoków bezwarunkowych i warunkowych stanowi trzon kaŝdego z kodów maszynowych. Jest to teŝ najbardziej naturalny i pierwotny język (czy teŝ rodzina języków: kody maszynowe) dla wszelkiego rodzaju komputerów (i podobnych maszyn), bowiem są one budowane począwszy od ich powstania do dziś na bazie abstrakcyjnej architektury von Neumanna (lub architektur blisko pokrewnych).

2 Opracował: mgr inŝ. Zbigniew JANIK Strona 2/7 Architektura von Neumanna zakłada w uproszczeniu, Ŝe: maszyna składa się z pamięci oraz jednostki centralnej, która wykonuje rozkazy (procesora); rozkazy oraz dane zapisane są w tej samej pamięci w ten sam sposób; rozkazy są kolejno z pamięci wczytywane do jednostki centralnej i wykonywane; kaŝdy rozkaz powoduje zmianę stanu maszyny rozumianego, jako zawartość całej pamięci włącznie z rejestrami i znacznikami procesora; rozkazy mogą wiec zmieniać wewnętrzne ustawienie jednostki centralnej, w tym miejsce, z którego biedzie czytany następny rozkaz. W praktyce komputery budowane są (i działają) właśnie tak (choć z pewnymi drobnymi modyfikacjami). W związku z tym trzeba wyraźnie powiedzieć, Ŝe Rysunek 2. Architektura von Neumanna najbardziej naturalnym paradygmatem dla maszyny jest paradygmat imperatywny. Innymi słowy: maszyna musi dostać kolejne kroki do wykonania, Ŝeby mogła coś zrobić. Z drugiej strony, dla człowieka duŝo wygodniejszym sposobem komunikowania poleceń jest podanie, co ma być osiągnięte, bez wdawania się w szczegóły wykonania a wiec paradygmat deklaratywny. System komputerowy zbudowany w oparciu o architekturę von Neumanna powinien: mieć skończoną i funkcjonalnie pełną listę rozkazów mieć moŝliwość wprowadzenia programu do systemu komputerowego poprzez urządzenia zewnętrzne i jego przechowywanie w pamięci w sposób identyczny jak danych dane i instrukcje w takim systemie powinny być jednakowo dostępne dla procesora informacja jest tam przetwarzana dzięki sekwencyjnemu odczytywaniu instrukcji z pamięci komputera i wykonywaniu tych instrukcji w procesorze. Podane warunki pozwalają przełączać system komputerowy z wykonania jednego zadania (programu) na inne bez fizycznej ingerencji w strukturę systemu, a tym samym gwarantują jego uniwersalność. Tabela 1. Języki programowania a główne paradygmaty Języki asemblery, stary BASIC, stary Fortran imperatywny stary Pascal, C C++, Object Pascal, Ada Smalltalk, C#, Java Lisp, Scheme, Logo, ML, OCaml Haskell Planner, Prolog Python, Ruby SQL Paradygmaty Proceduralny Imperatywny, proceduralny, strukturalny Imperatywny, proceduralny, strukturalny, obiektowy Obiektowy Proceduralny, funkcyjny Czysto funkcyjny Logiczny Proceduralny, strukturalny, obiektowy, funkcyjny Deklaratywny (ale ani ściśle funkcyjny, ani ściśle logiczny)

3 Opracował: mgr inŝ. Zbigniew JANIK Strona 3/7 Inne paradygmaty Warto na koniec wymienić jeszcze kilka bardziej niszowych paradygmatów, o których jednak wypadałoby słyszeć. Większość z poniŝszych to miniparadygmaty, w tym sensie, ze raczej współistnieją z obszerniejszymi paradygmatami (jak wymienione poprzednio) niŝ same stanowią rdzeń jakiegokolwiek języka programowania. Programowanie modularne jest pośrednie miedzy programowaniem obiektowym a proceduralnym. W tym paradygmacie główna jednostka planowania programu i jego tworzenia jest moduł (pakiet) zawarty zwykle w osobnym pliku i w wielu aspektach traktowany jako obiekt. Przykłady języków: Ada, Haskell, Python. Programowanie aspektowe jest blisko związane z paradygmatem modularnym, bowiem jego celem jest ścisły podział problemu na jak najbardziej niezaleŝne logicznie części i ograniczenie ich liczby styków oraz ścisłe kontrolowanie kaŝdego z nich. Przykłady języków: AspectJ. Programowanie komponentowe to kolejny paradygmat związany z modularyzacją programów, a jednocześnie z programowaniem obiektowym. Tutaj komponenty to jak najbardziej samodzielne obiekty wyposaŝone w ściśle wyspecyfikowany interfejs, wykonujące pewne określone usługi. Zwykle paradygmat ten związany jest ściśle z programowaniem zdarzeniowym. Przykłady języków: Eiffel, Oberon. Programowanie agentowe moŝna uznać za nieco bardziej abstrakcyjną formę programowania obiektowego. Tutaj jednostką podstawowa jest oczywiście agent, czyli wyspecjalizowany i odporny na błędy i niepowodzenia, a jednocześnie samodzielny obiekt, który w pewnym środowisku (często rozległym lub heterogenicznym, jak siec komputerowa) moŝe pracować sam, a w potrzebie komunikować sie z innymi agentami. Działający w sieci agenci często dublują swoje czynności, po to, by zapewnić maksymalną odporność na błędy i utratę wyników. Nie bez znaczenia jest tez ewentualna moŝliwość samo replikacji agentów w odpowiednim środowisku i warunkach. Przykłady języków: JADE (Framework Javy). Programowanie zdarzeniowe (inaczej: sterowane zdarzeniami ) to takie, gdy program składa sie z wielu niezaleŝnych podprogramów, których kolejność wykonania nie jest określona z góry przez program główny, lecz które są uruchamiane w reakcji na zaistnienie pewnych zdarzeń. Oprócz wspomnianych związków tego paradygmatu z komponentowym, obiektowym czy agentowym widać go w systemach operacyjnych, które działają praktycznie w oparciu o ten paradygmat. W reszcie, obsługa wyjątków w róŝnych językach ma charakter programowania zdarzeniowego. Programowanie kontraktowe jest ściśle związane z paradygmatem obiektowym (ale mogłoby mieć równieŝ swoje miejsce jako rozszerzenie programowania strukturalnego) i polega na takim pisaniu kodu, by mógł być on automatycznie sprawdzony (pod względem zgodności ze specyfikacją) i ewentualnie przetestowany. Przykłady języków: Eiffel, interfejsy w Javie. Programowanie generyczne (inaczej: uogólnione, rodzajowe) umoŝliwia tworzenie jednostek (klas, obiektów, funkcji, typów) parametrycznych, lub inaczej mówiąc polimorficznych, uogólnionych, które staja sie pełnoprawnymi jednostkami w chwili ich dookreślenia, co moŝe zostać odłoŝone do momentu skorzystania z ich definicji w gotowym programie. Przykłady języków: Ada, C++, Haskell. Programowanie refleksyjne pozwala na pisanie programów samo modyfikujących się. Oznacza to, Ŝe program sam moŝe oglądać własny kod, ale co waŝniejsze, moŝe tez go modyfikować. Przykładem dość popularnego języka posiadającego mechanizm refleksji jest Python. Inne przykłady takich języków: Lisp, Scheme. Programowanie sterowane przepływem danych polega na konstruowaniu programów nie w oparciu o ustalona kolejność czynności, lecz o dostępność danych i wykonywanie na nich czynności w czasie, gdy dane staną się dostępne. Przykłady tego paradygmatu to praca arkusza kalkulacyjnego (który przelicza dane, gdy tylko sie zmienia) oraz przetwarzanie potokowe dobrze znane z Uniksowych systemów operacyjnych. Przykłady języków: Linda. Programowanie współbieŝne, równoległe, rozproszone to trzy ściśle ze sobą związane (choć nietoŝsame) paradygmaty, bliskie takŝe programowaniu sterowanemu przepływem danych. Problemy tego paradygmatu związane są z podziałem czasu jednostki wykonującej rozkazy (lub jednostek) pomiędzy procesy, synchronizacja procesów, synchronizacja ich dostępów do pamięci wspólnej, przesyłaniem komunikatów pomiędzy procesami.

4 Opracował: mgr inŝ. Zbigniew JANIK Strona 4/7 Składowe języka Trzy podstawowe elementy kaŝdego języka to: syntaktyka semantyka pragmatyka Syntaktyka (składnia) to opis reguł konstrukcji języka pozwalających na zbudowanie wszystkich zdań uznanych za poprawne dla tego języka. Reguły syntaktyczne moŝemy podzielić na: formujące pozwalają określić sposoby poprawnego tworzenia wyraŝeń transformujące pozwalają określić sposoby poprawnego przekształcania wyraŝeń tak, aby zachowana była pewna wyróŝniona własność wyraŝenia. Semantyka to opis znaczenia przypisywanego zdaniom poprawnym, czyli odniesienie wygenerowanych zdań do rzeczywistości. Semantyka bada takŝe relacje pomiędzy podstawowym znaczeniem wyrazu a jego uŝyciem w konkretnej wypowiedzi. Dla danego języka jako zbioru zdań uznanych za poprawne moŝemy przygotować wiele róŝnych opisów znaczeń. Pragmatyka to zespół reguł i zaleceń mówiących o tym, jak stosować składnię i semantykę języka. Bada relacje pomiędzy językiem i jego uŝytkownikami, pozwala na tworzenie róŝnych form lingwistycznych o zbliŝonym znaczeniu semantycznym i mówi, które z tych form lepiej jest wybrać. Innymi słowy, pragmatyka bada sposoby posługiwania się językiem przez ludzi, w szczególności rozumienie i interpretowanie wypowiedzi w zaleŝności od kontekstu, w którym są uŝyte. Składnia i semantyka Składnia to zbiór reguł, mówiących jak wygląda poprawny program w danym języku, czyli np.: Jak tworzy się polecenia i wyraŝenia. Jaką postać mają struktury sterowania (if, while, for itp.). Jak zapisuje się deklaracje. Jak widać z powyŝszego wyliczenia, jesteśmy tak przywiązani do języków imperatywnych i obiektowych, Ŝe chyba nie bardzo wyobraŝamy sobie język bez poleceń, pętli while, zmiennych... Semantyka to znaczenie wspomnianych wyŝej form, czyli co one robią. Weźmy dla przykładu typową instrukcję warunkową Składnia moŝe wyglądać tak: if "(" wyraŝenie ")" instrukcja Semantyka jest następująca: sprawdź podane wyraŝenie i jeśli jest prawdziwe, to wykonaj podaną instrukcję. Algorytmy programy i dane Na początku wprowadzimy kilka pojęć. Większość z nich jest juŝ prawdo-podobnie Wam znana, ale na wszelki wypadek zapiszę je tu teraz. Algorytmem nazywamy metodę rozwiązania danego problemu. ZauwaŜcie, Ŝe w powyŝszej definicji nie występuje ani słowo o komputerach i programowaniu. Algorytm jest pojęciem bardzo ogólnym, dlatego teŝ algorytmem jest np. przepis w ksiąŝce kucharskiej: Rozgrzej patelnię z odrobiną oleju lub - jeśli wolisz - masła, weź dwa jajka, wbij je na patelnię, dodaj szczyptę soli, mieszając smaŝ, aŝ się nie zetną - i ciesz się jajecznicą. Aby rozwiązać jakiś problem, wykonujemy kolejno pewne czynności, które nazywać będziemy krokami. Krokiem moŝe być zarówno bardzo prosta czynność (wbij jajka), nazywana w programowaniu operacją elementarną, jak i całkiem złoŝona sekwencja prostych czynności, którą będziemy nazywali podprogramem. Podprogramem "kulinarnym" jest na przykład przepis na wykonanie kremu, "wywoływany" w róŝnych wersjach (zrób krem czekoladowy, zrób krem waniliowy itp.) w wielu przepisach na torty. Istotną cechą algorytmu jest jego ogólność, co oznacza, Ŝe nie podaje on metody rozwiązania pojedynczego problemu, lecz całej grupy problemów podobnych (podany algorytm dotyczy zrobienia dowolnej jajecznicy). KaŜdy algorytm moŝna zapisać na wiele sposobów. Występują następujące sposoby przedstawiania algorytmów: 1. Słowny w języku naturalnym - na ogół mało dokładny. 2. Lista kroków. 3. Schemat blokowy. 4. Drzewo algorytmu.

5 Opracował: mgr inŝ. Zbigniew JANIK Strona 5/7 Podany powyŝej przykład został zapisany w języku naturalnym. JednakŜe jak się zapewne domyślacie, przydatność zapisu w języku naturalnym dla komputera jest (przynajmniej na razie) Ŝadna. PoniewaŜ komputery nie myślą, wymagają opisu całkowicie sformalizowanego, aŝ do najdrobniejszych szczegółów - i tym są właśnie języki programowania. Język programowania, podobnie jak język naturalny, takŝe ma swoje słownictwo i składnię. Oczywiście, są one duŝo, duŝo uboŝsze niŝ w językach naturalnych. Teraz juŝ moŝemy wprowadzić definicję programu (w domyśle: programu komputerowego, przeznaczonego do wykonania przez komputer): Programem nazywamy zapis algorytmu w danym języku programowania. Programowanie jest więc procesem zapisu algorytmu na uŝytek komputera; często mówi się, Ŝe programowanie to kodowanie algorytmu. W takim pojęciu osoba pisząca program, czyli programista, nie musi być autorem algorytmu. Częściej jednak termin programowanie oznacza równieŝ sam proces tworzenia algorytmu. A więc programowanie to zazwyczaj nie tylko technika czy inŝynieria programowania, ale równieŝ umiejętność czy wręcz sztuka programowania. KaŜdy algorytm operuje na pewnych danych. W przykładzie z jajecznicą danymi są np. jajka. Algorytm opisuje sposób przetwarzania danych wejściowych (jajka) w celu otrzymania Ŝądanych wyników, czyli danych wyjściowych (jajecznica). Musicie zrozumieć róŝnicę pomiędzy danymi a algorytmem na nich operującym. JuŜ wkrótce zaczniecie pisać pierwsze programy i łatwiej będzie Wam zrozumieć jak one działają, jeśli będziecie pamiętali o wyraźnym rozróŝnieniu pomiędzy danymi a programem. Podkreślmy to wyraźnie: wszystkie dane są w pełni niezaleŝne od programu na nich operującego. Uniwersalność algorytmu i wynikającego zeń programu polega na tym, Ŝe te same polecenia moŝna wykonywać na róŝnych danych zapisanych pod tymi samymi nazwami Mówiąc o danych zwykle myślimy o danych wejściowych, które są pobierane przez komputer w trakcie wykonywania programu; ale jak juŝ wiemy, dane w szerszym pojęciu to równieŝ dane wyjściowe, czyli wyniki generowane przez program. Kod źródłowy, maszynowy i kompilator Kompilacja i wykonanie programu Musimy teraz wyraźnie powiedzieć, Ŝe poziom instrukcji w językach wyŝszego poziomu bardzo róŝni się od poziomu instrukcji zrozumiałych bezpośrednio przez komputer, a ściślej rzecz biorąc przez jego procesor. Procesor rozumie zupełnie inne instrukcje, niŝ te, które dotąd poznaliśmy - tzw. rozkazy maszynowe. O programach i ich rozumieniu przez komputer moŝemy więc myśleć na dwóch poziomach abstrakcji: komputer "rozumie" program napisany w języku wyŝszego poziomu - czyli tzw. program źródłowy, zwany często kodem źródłowym; procesor "rozumie" program napisany w języku procesora - czyli tzw. program lub inaczej kod maszynowy (który jest kompletnie nieczytelny dla większości ludzi)

6 Opracował: mgr inŝ. Zbigniew JANIK Strona 6/7 Aby więc komputer mógł wykonać program napisany w języku źródłowym, musi on zostać jeszcze przetłumaczony na postać zrozumiałą dla procesora, czyli kod maszynowy. Tłumaczenie to moŝe być wykonywane dwojako: przed wykonaniem programu - wtedy proces ten nazywamy kompilacją, a specjalny program dokonujący tłumaczenia - kompilatorem;. na bieŝąco, w trakcie pracy programu - wtedy mamy do czynienia z interpretacją i interpreterem. Obie metody mają swoje wady i zalety, my będziemy wykorzystywali kompilator języka. Zatem Wy, jako programiści, najpierw zapisujecie opracowany algorytm w języku programowania, tworząc tzw. program źródłowy (lub inaczej: kod źródłowy), a następnie nakazujecie kompilatorowi przetłumaczenie go do postaci kodu wynikowego (maszynowego), wykonywanego przez procesor. I jedna i druga postać jest programem, tak więc podczas tego kursu mówiąc ogólnie o programie wykonywanym przez komputer nie będziemy dokonywali rozróŝnienia pomiędzy jego wersją źródłową a maszynową. Popatrzcie uwaŝnie na schemat: Ŝeby program wykonać, trzeba go najpierw skompilować. Jeśli program tylko skompilujemy, ale go nie wykonamy, to nie otrzymamy wyników. Kompilacja programu i wykonanie programu to są dwa osobne procesy. Często mówiąc o wykonaniu programu źródłowego mamy na myśli oba te procesy kolejno: kompilację, a potem wykonanie. KaŜdy z tych procesów moŝe prowadzić do błędów. MoŜemy więc mówić o dwu rodzajach błędów, które mogą się nam przytrafić, a ściślej komputerowi, który próbuje sobie poradzić z naszym programem: błędy kompilacji wynikają z tego, Ŝe kompilator (nasz program tłumaczący) nie rozumie programu źródłowego, bo są w nim błędy składniowe lub ortograficzne, na przykład brakuje nawiasu zamykającego albo napisaliśmy "bgin" zamiast "begin" (znacznie częściej zdarza się "lenght" zamiast "length") błędy wykonania wynikają stąd, Ŝe program źródłowy nie daje się wykonać (mimo Ŝe jest poprawny pod względem formalnym) - na przykład nie moŝe podzielić przez daną, która jest zerem, albo wyznaczyć pierwiastka kwadratowego z danej ujemnej. Błędy wykonania są znacznie trudniejsze do wykrycia, niŝ błędy kompilacji. Najtrudniejsze zaś do wykrycia są błędy, które w ogóle nie są sygnalizowane przez kompilator, czyli: błędy logiczne algorytmu, które powstają w procesie tworzenia algorytmu - wówczas program daje się wykonać, ale robi to źle. Czym jest zintegrowane środowisko programistyczne Po uruchomieniu IDE Delphi ujrzycie na ekranie zintegrowane środowisko programistyczne. Nie jest celem tego wykładu jego dokładne omawianie, niemniej jednak skrótowo opiszemy je tutaj. Aby pisać jakiekolwiek programy, potrzebujecie co najmniej narzędzi wymienionych poniŝej:

7 Opracował: mgr inŝ. Zbigniew JANIK Strona 7/7 Edytor - w końcu gdzieś tekst programu trzeba wprowadzić. Plik z tekstem programu ma strukturę zwykłego pliku tekstowego. MoŜna więc wykorzystywać dowolny edytor tekstowy, zaczynając od Notatnika, a kończąc na Wordzie (pod warunkiem, Ŝe pliki będziemy zapisywali w formacie tekstowym, a nie w typowym formacie Worda). Jednak do programowania wykorzystuje się zwykle specjalizowane edytory ułatwiające pracę programiście. Najbardziej oczywistym z ułatwień jest podświetlanie składni danego języka. Na pewno zauwaŝyliście, Ŝe zamieszczone wcześniej programy są sformatowane w pewien specyficzny sposób. Pewne słowa są wytłuszczone, komentarze pisane są kursywą, niektóre bloki zaczynają się od spacji itd. Taki a nie inny zapis programu ułatwia jego czytanie przez człowieka (dla komputera jest to zupełnie obojętne). W dalszej części kursu opiszemy dokładniej, jakich reguł powinniście się trzymać podczas formatowania tekstu programu. Edytory programistyczne kolorują słowa i konstrukcje danego języka i pomagają w prawidłowym stosowaniu wcięć. Typowymi edytorami do zadań programistycznych są dla Windows edytory wbudowane w Visual Studio firmy Microsoft czy teŝ edytory stosowane w kompilatorach Borlanda, dla Linuxa zaś edytory Emacs czy Nedit Kompilator lub interpreter czyli tłumacz. Jak juŝ wcześniej wspominaliśmy, słuŝą one do przetłumaczenia zapisu algorytmu w danym języku programowania na kod maszynowy moŝliwy do wykonania przez procesor. W przypadku wykorzystywania kompilatora potrzebny jest jeszcze linker zwany bardziej poprawnie konsolidatorem. Jest on pewnego rodzaju "pomocnikiem" kompilatora. Na tym poziomie powinna wystarczyć Wam informacja, Ŝe wynik pracy kompilatora musi zostać jeszcze dodatkowo przetworzony przez konsolidator, aby uzyskać działający program. Obrazuje to następujący schemat: Konsolidator słuŝy do połączenia wyników pracy kompilatora z bibliotekami wykorzystywanych procedur i zapis w formie bezpośrednio wykonywanego programu.

Paradygmaty programowania

Paradygmaty programowania Wg. J. Bylina, B. Bylina Przegląd języków i paradygmatów programowania, UMCS, Lublin 2011 Paradygmaty programowania Paradygmat (gr. Paradeigma) - wzorzec lub przykład Def. słownikowa: przyjęty sposób widzenia

Bardziej szczegółowo

Języki i paradygmaty programowania. I. Wprowadzenie

Języki i paradygmaty programowania. I. Wprowadzenie Języki i paradygmaty programowania I. Wprowadzenie O źródłach wykład został przygotowany w ogromnej części w oparciu o serwis http://wazniak.mimuw.edu.pl/ (zgodnie z licencją serwisu) inne źródła: Wikipedia:

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby

Bardziej szczegółowo

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,

Bardziej szczegółowo

Java EE produkcja oprogramowania

Java EE produkcja oprogramowania Java EE produkcja oprogramowania PPJ PODSTAWY PROGRAMOWANIA W JAVIE PODSTAWY JĘZYKA JAVA 1 Warszawa, 2016Z 2 Ogólna charakterystyka języka Java 3 Java 1/2 Język programowania Java został opracowany przez

Bardziej szczegółowo

Programowanie w języku C++ Podstawowe paradygmaty programowania

Programowanie w języku C++ Podstawowe paradygmaty programowania Programowanie w języku C++ Podstawowe paradygmaty programowania Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra

Bardziej szczegółowo

Programowanie komputerów

Programowanie komputerów Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych

Bardziej szczegółowo

Programowanie w języku C++ Grażyna Koba

Programowanie w języku C++ Grażyna Koba Programowanie w języku C++ Grażyna Koba Kilka definicji: Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i zasad

Bardziej szczegółowo

Programowanie obiektowo zorientowane. Mirosław Głowacki Wykład w języku C++

Programowanie obiektowo zorientowane. Mirosław Głowacki Wykład w języku C++ Programowanie obiektowo zorientowane Mirosław Głowacki Wykład w języku C++ Literatura B. Meyer, Programowanie zorientowane obiektowo, Helion Gliwice, 2005 J. Grębosz, Symfonia C++ Standard, Oficyna Kallimach,

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

Bardziej szczegółowo

Paradygmaty programowania

Paradygmaty programowania Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów

Bardziej szczegółowo

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL Programowanie Pascal - język programowania wysokiego poziomu Klasa 2 Lekcja 9 PASCAL Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy Programowanie w C++ 1.Czym jest programowanie Pisanie programów to wcale nie czarna magia, tylko bardzo logiczna rozmowa z komputerem. Oczywiście w jednym ze specjalnie stworzonych do tego celu języków.

Bardziej szczegółowo

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++ Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu

Bardziej szczegółowo

Wstęp do Informatyki. Program, proces tworzenia programu Środowisko programistyczne Języki programowania

Wstęp do Informatyki. Program, proces tworzenia programu Środowisko programistyczne Języki programowania Wstęp do Informatyki Program, proces tworzenia programu Środowisko programistyczne Języki programowania Program - definicje Program jest przekładem problemu użytkownika na język maszyny Niklaus Wirth:

Bardziej szczegółowo

Programowanie obiektowe - 1.

Programowanie obiektowe - 1. Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która

Bardziej szczegółowo

Podstawy programowania wykład

Podstawy programowania wykład Podstawy programowania wykład WYDZIAŁ ELEKTRONIKI i INFORMATYKI dr inż. Robert Arsoba Politechnika Koszalińska Wydział Elektroniki i Informatyki POLITECHNIKA KOSZALIŃSKA 2009/2010 1 Materiały do wykładu

Bardziej szczegółowo

Technologie informacyjne - wykład 12 -

Technologie informacyjne - wykład 12 - Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski

Bardziej szczegółowo

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej. Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk PROLOG www.agh.edu.pl Pewnego dnia przyszedł na świat komputer Komputery

Bardziej szczegółowo

Modelowanie i Programowanie Obiektowe

Modelowanie i Programowanie Obiektowe Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do

Bardziej szczegółowo

Języki i metodyka programowania

Języki i metodyka programowania Języki i metodyka programowania www.ee.pw.edu.pl/~slawinsm Dr inż. Maciej Sławiński M.Slawinski@ee.pw.edu.pl GE518l Konsultacje: śr. 13 00-13 45 SK201/GE518l pt. 10 15-11 00 GE518l/SK201 Algorytmika Literatura

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Programowanie i techniki algorytmiczne

Programowanie i techniki algorytmiczne Temat 2. Programowanie i techniki algorytmiczne Realizacja podstawy programowej 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych 2) formułuje ścisły opis prostej

Bardziej szczegółowo

Algorytmika i pseudoprogramowanie

Algorytmika i pseudoprogramowanie Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Programowanie Strukturalne i Obiektowe Klasa: druga Dział Dopuszczający Dostateczny Dobry

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

Bardziej szczegółowo

Wstęp do Programowania Obiektowego. Wykład 13 Paradygmaty. Składnia i semantyka.

Wstęp do Programowania Obiektowego. Wykład 13 Paradygmaty. Składnia i semantyka. Wstęp do Programowania Obiektowego Wykład 13 Paradygmaty. Składnia i semantyka. 1 PRZEGLĄD PODSTAWOWYCH PARADYGMATÓW 2 Cztery podstawowe paradygmaty 1. Programowanie imperatywne. 2. Programowanie funkcyjne.

Bardziej szczegółowo

Wstęp do Informatyki dla bioinformatyków

Wstęp do Informatyki dla bioinformatyków Wstęp do Informatyki dla bioinformatyków Wykład 1. Wstęp do Wstępu Bartek Wilczyński bartek@mimuw.edu.pl Po pierwsze - Formalności 2 kolokwia (po 15 pkt) początek XI i koniec XII Dwa programy zaliczeniowe:

Bardziej szczegółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

LEKCJA TEMAT: Zasada działania komputera.

LEKCJA TEMAT: Zasada działania komputera. LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem

Bardziej szczegółowo

Od programowania wizualnego do tekstowego

Od programowania wizualnego do tekstowego Od programowania wizualnego do tekstowego Krzysztof Chechłacz Nowa podstawa programowa z informatyki w świetle reformy oświaty - Konferencja w ramach XII edycji Akademii Technologii Informacyjnej i Komunikacyjnej

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

Bardziej szczegółowo

TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE. Szkoła Podstawowa Nr 5. im. Księcia Mazowieckiego Siemowita IV w Gostyninie.

TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE. Szkoła Podstawowa Nr 5. im. Księcia Mazowieckiego Siemowita IV w Gostyninie. TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE 1. Po uruchomieni programu Greenfoot początkowa scena ma następujące składniki: a. obiekty scenerii i jeden obiekt ruchomy, b. obraz tła, jeden lub więcej

Bardziej szczegółowo

Języki programowania deklaratywnego

Języki programowania deklaratywnego Katedra Inżynierii Wiedzy laborki 1 e-mail: przemyslaw.juszczuk@ue.katowice.pl Konsultacje: na stronie katedry + na stronie domowej Pokój 202c budynek A pjuszczuk.pl Języki deklaratywne - laborki Wprowadzenie

Bardziej szczegółowo

ECDL Podstawy programowania Sylabus - wersja 1.0

ECDL Podstawy programowania Sylabus - wersja 1.0 ECDL Podstawy programowania Sylabus - wersja 1.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu Podstawy programowania. Sylabus opisuje, poprzez efekty uczenia się, zakres wiedzy

Bardziej szczegółowo

Informatyka. Michał Rad

Informatyka. Michał Rad Informatyka Michał Rad 13.10.2016 Co i po co będziemy robić Plan wykładów: Wstęp, historia Systemy liczbowe Co to jest system operacyjny i po co to jest Sprawy związane z tworzeniem i własnością oprogramowania

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

MATERIAŁY DO ZAJĘĆ I. Podstawowe pojęcia. Algorytm. Spis treści Przepis

MATERIAŁY DO ZAJĘĆ I. Podstawowe pojęcia. Algorytm. Spis treści Przepis MATERIAŁY DO ZAJĘĆ I Podstawowe pojęcia Spis treści I. Algorytm II. Schemat blokowy III. Struktury danych IV. Program komputerowy V. Opis środowiska programistycznego VI. Obsługa wejścia wyjścia VII. Przykład

Bardziej szczegółowo

Środowiska i platformy programistyczne

Środowiska i platformy programistyczne Środowiska i platformy programistyczne 1 Rys historyczny lata 80-90: efektywność! Cel: zwiększyć efektywność programisty jedno narzędzie: integracja edytor kodu, funkcje programistyczne (kompilacja, łączenie,

Bardziej szczegółowo

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej. Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.

Bardziej szczegółowo

Podstawy programowania. Wykład 1 Wstęp. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład 1 Wstęp. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład 1 Wstęp Krzysztof Banaś Podstawy programowania 1 Elementy historii informatyki I think there is a world market for maybe five computers. - Thomas Watson, chairman of IBM,

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy

Bardziej szczegółowo

Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji.

Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji. Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji. Maria Górska 9 stycznia 2010 1 Spis treści 1 Pojęcie algorytmu 3 2 Sposób

Bardziej szczegółowo

Informatyczna Wieża Babel, czyli o różnych językach programowania. Informatyczna Wieża Babel, czyli o różnych językach programowania

Informatyczna Wieża Babel, czyli o różnych językach programowania. Informatyczna Wieża Babel, czyli o różnych językach programowania Informatyczna Wieża Babel, czyli o różnych językach programowania Informatyczna Wieża Babel, czyli o różnych językach programowania Wstęp Aplikacje i programy, jakich dziś używamy, ukryte dla nas pod postacią

Bardziej szczegółowo

Historia modeli programowania

Historia modeli programowania Języki Programowania na Platformie.NET http://kaims.eti.pg.edu.pl/ goluch/ goluch@eti.pg.edu.pl Maszyny z wbudowanym oprogramowaniem Maszyny z wbudowanym oprogramowaniem automatyczne rozwiązywanie problemu

Bardziej szczegółowo

Zapisywanie algorytmów w języku programowania

Zapisywanie algorytmów w języku programowania Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym

Bardziej szczegółowo

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop. 2017 Spis treści O autorach 11 Podziękowania 12 Wprowadzenie 13 CZĘŚĆ I ZACZNIJ PROGRAMOWAĆ JUŻ DZIŚ Godzina 1. Praktyczne

Bardziej szczegółowo

ALGORYTMY I PROGRAMY

ALGORYTMY I PROGRAMY ALGORYTMY I PROGRAMY Program to ciąg instrukcji, zapisanych w języku zrozumiałym dla komputera. Ten ciąg instrukcji realizuje jakiś algorytm. Algorytm jest opisem krok po kroku jak rozwiązać problem, czy

Bardziej szczegółowo

Programowanie w C. dr inż. Stanisław Wszelak

Programowanie w C. dr inż. Stanisław Wszelak Programowanie w C dr inż. Stanisław Wszelak Przeszłość i przyszłość składni programowania w C Ken Thompson Denis Ritchie Bjarne Stoustrup Zespoły programistów B C C++ C# 1969 rok Do SO UNIX 1972 rok C++

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Definicja i cechy algorytmów Sieci działań Programowanie strukturalne Witold Marańda maranda@dmcs.p.lodz.pl 1 Literatura 1. iklaus Wirth, Algorytmy + Struktury danych = Programy,

Bardziej szczegółowo

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów przeznaczonych do wykonania w komputerze (ang. software).

Bardziej szczegółowo

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod

Bardziej szczegółowo

Podstawy programowania. Wprowadzenie

Podstawy programowania. Wprowadzenie Podstawy programowania Wprowadzenie Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania znaleźć matematyczne

Bardziej szczegółowo

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga! Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)

Bardziej szczegółowo

Co to jest Lazarus? Jak pobrać bezpłatną wersję Lazarus a Organizacja projektu w Lazarus ie

Co to jest Lazarus? Jak pobrać bezpłatną wersję Lazarus a Organizacja projektu w Lazarus ie Opracował: mgr inŝ. Zbigniew JANIK Strona 1/7 Zakres tematyki: Wprowadzenie. Co to jest Lazarus? Jak pobrać bezpłatną wersję Lazarus a Organizacja projektu w Lazarus ie Język programowania jest tylko narzędziem.

Bardziej szczegółowo

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny Klasa 2 INFORMATYKA dla szkół ponadgimnazjalnych zakres rozszerzony Założone osiągnięcia ucznia wymagania edukacyjne na poszczególne oceny Algorytmy 2 3 4 5 6 Wie, co to jest algorytm. Wymienia przykłady

Bardziej szczegółowo

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,

Bardziej szczegółowo

Wstęp do informatyki Paradygmaty programowania

Wstęp do informatyki Paradygmaty programowania Czym jest paradygmat Wstęp do informatyki Paradygmaty programowania Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Paradygmat to przyjęty sposób widzenia

Bardziej szczegółowo

SPIS TREŚCI Funkcje systemu operacyjnego Zapewnia obsługę dialogu między użytkownikiem a komputerem Nadzoruje wymianę informacji między poszczególnymi urządzeniami systemu komputerowego Organizuje zapis

Bardziej szczegółowo

Paradygmaty Programowania dr inŝ. Cezary Bolek

Paradygmaty Programowania dr inŝ. Cezary Bolek Kontakt Paradygmaty Programowania dr inŝ. Cezary Bolek email: cbolek@ki.uni.lodz.pl Katedra Informatyki Wydział Zarządzania Uniwersytet Łódzki Cezary Bolek Katedra Informatyki UŁ konsultacje (p.142): wtorek:

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.wroc.pl http://www.tjeleniewski.wstt.edu.pl Treści kształcenia: Paradygmaty

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma

Bardziej szczegółowo

Podstawy Informatyki Języki programowania c.d.

Podstawy Informatyki Języki programowania c.d. Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy 2 Makroasembler - założenia Przykład

Bardziej szczegółowo

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Pierwsze kroki Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura Co znaczy

Bardziej szczegółowo

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++ Jednostka prowadząca: Wydział Techniczny Kierunek studiów: Elektronika i telekomunikacja Nazwa przedmiotu: Język programowania C++ Charakter przedmiotu: podstawowy, obowiązkowy Typ studiów: inŝynierskie

Bardziej szczegółowo

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę. Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji

Bardziej szczegółowo

Wstęp do programowania. Wykład 1

Wstęp do programowania. Wykład 1 Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.

Bardziej szczegółowo

Algorytm. Krótka historia algorytmów

Algorytm. Krótka historia algorytmów Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne

Bardziej szczegółowo

Instalacja i opis podstawowych funkcji programu Dev-C++

Instalacja i opis podstawowych funkcji programu Dev-C++ Instalacja i opis podstawowych funkcji programu Dev-C++ Przed rozpoczęciem programowania musimy zainstalować i przygotować kompilator. Spośród wielu dostępnych kompilatorów polecam aplikację Dev-C++, ze

Bardziej szczegółowo

WIADOMOŚCI WSTĘPNE WPROWADZENIE DO JĘZYKA TURBO PASCAL. Klawisze skrótów. {to jest właśnie komentarz, moŝna tu umieścić dowolny opis}

WIADOMOŚCI WSTĘPNE WPROWADZENIE DO JĘZYKA TURBO PASCAL. Klawisze skrótów. {to jest właśnie komentarz, moŝna tu umieścić dowolny opis} 1 WIADOMOŚCI WSTĘPNE Programowanie komputerów najogólniej mówiąc polega na zapisaniu pewniej listy poleceń do wykonania przez komputer w pewnym umownym języku Taką listę poleceń nazywamy programem Program

Bardziej szczegółowo

Język programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/

Język programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/ Język programowania Andrzej Bobyk http://www.alfabeta.lublin.pl www.alfabeta.lublin.pl/jp/ Literatura K. Reisdorph: Delphi 6 dla każdego. Helion, Gliwice 2001 A. Grażyński, Z. Zarzycki: Delphi 7 dla każdego.

Bardziej szczegółowo

Algorytmy od problemu do wyniku

Algorytmy od problemu do wyniku Algorytmy Etapy tworzenia programu: 1) Sformułowanie zadania analiza problemu. 2) Opracowanie algorytmu sposób rozwiązania. 3) Zapisanie algorytmu w języku programowania kodowanie programu. 4) Kompilowanie

Bardziej szczegółowo

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas Analiza i projektowanie obiektowe 2016/2017 Wykład 10: Tworzenie projektowego diagramu klas Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Projektowy

Bardziej szczegółowo

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek Wprowadzenie Organizacja pracy i środowisko programistyczne Mirosław Ochodek Miroslaw.Ochodek@pwsz.pila.pl Miroslaw.Ochodek@cs.put.poznan.pl Dane kontaktowe Mirosław Ochodek E-mail: Miroslaw.Ochodek@pwsz.pila.pl

Bardziej szczegółowo

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów System Szablonów System szablonów System szablonów to biblioteka, która pozwala oddzielić warstwę prezentacji od warstwy logicznej. Aplikacja WWW najpierw pobiera wszystkie dane, przetwarza je i umieszcza

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Elementy algorytmiki C w środowisku.e (C#) dr inż. Grzegorz Zych Copernicanum, pok. 3 lub 206a 1 Minimum programowe reści kształcenia: Pojęcie algorytmu. Podstawowe konstrukcje programistyczne.

Bardziej szczegółowo

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na

Bardziej szczegółowo

Java jako język programowania

Java jako język programowania Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)

Bardziej szczegółowo

Temat 5. Programowanie w języku Logo

Temat 5. Programowanie w języku Logo Temat 5. Programowanie w języku Logo Realizacja podstawy programowej 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych 2) formułuje ścisły opis prostej sytuacji

Bardziej szczegółowo

Programowanie I. Wprowadzenie. Proces programowania

Programowanie I. Wprowadzenie. Proces programowania I. Wprowadzenie. Proces Aleksander Denisiuk Uniwersytet Warmińsko-Mazurski Olsztyn, ul. Słoneczna 54 denisjuk@matman.uwm.edu.pl 6 lutego 2018 1 / 25 Wprowadzenie. Proces Najnowsza wersja tego dokumentu

Bardziej szczegółowo

XII. Warunek wielokrotnego wyboru switch... case

XII. Warunek wielokrotnego wyboru switch... case XII. Warunek wielokrotnego wyboru switch... case 12.1. Gdy mamy więcej niŝ dwie moŝliwości Do tej pory poznaliśmy warunek if... else... Po co nam kolejny? Trudno powiedzieć, ale na pewno nie po to, Ŝeby

Bardziej szczegółowo

Interpreter - EasyCompile

Interpreter - EasyCompile Akademia Podlaska w Siedlcach Siedlce, dn. 20.V.2006r. Wydział Nauk Ścisłych Instytut Informatyki Interpreter - EasyCompile Projekt z SISW Wykonali: Paweł Sawczuk Edwin Tomczuk Krzysztof Pietraszek I Inf.

Bardziej szczegółowo

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 1. Podaj definicję informatyki. 2. W jaki sposób można definiować informatykę? 3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 4. Co to jest algorytm? 5. Podaj neumanowską architekturę

Bardziej szczegółowo

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski Informatyka- wykład Podstawy programowania w Pythonie dr Marcin Ziółkowski Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie 23 listopada 2015 r. JĘZYK PYTHON Język Python jest

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Literatura David Harel. Rzecz o istocie informatyki. Algorytmika. Wydawnictwa Naukowo-Techniczne. Wydanie trzecie. Seria: Klasyka informatyki. Warszawa 2000. Niklaus Wirth. Algorytmy

Bardziej szczegółowo

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą

Bardziej szczegółowo

Podstawy Informatyki Systemy sterowane przepływem argumentów

Podstawy Informatyki Systemy sterowane przepływem argumentów Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Komputer i jego architektura Taksonomia Flynna 2 Komputer i jego architektura Taksonomia Flynna Komputer Komputer

Bardziej szczegółowo

11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym

11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym 1. Instrukcja warunkowa a. słuŝy do wprowadzania danych oraz wprowadzania wyników b. to instrukcja decyzyjna c. to sposób przedstawienia algorytmu 2. Instrukcja, która opisuje wykonanie róŝnych czynności

Bardziej szczegółowo

Programowanie Obiektowe i C++

Programowanie Obiektowe i C++ Programowanie Obiektowe i C++ Marcin Benke 2.10.2006 Dzisiaj Co umiemy Paradygmaty programowania Co będzie na wykładach Zasady zaliczania Programowanie obiektowe Co umiemy Programowałem w C++ Programowałem

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo