Podstawy programowania

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

Download "Podstawy programowania"

Transkrypt

1 Podstawy programowania Pojęcia bazowe 1. Programowanie Pod terminem "programowanie" będziemy rozumieć napisanie tekstu programu w specjalnym języku, tzw. języku programowania. Piszemy tekst programu w języku programowania w tym celu, żeby specjalny program-kompilator mógł przeczytać tekst i przekształcić go do postaci kodu komputerowego, który już może być wykonany przez system operacyjny komputera. Napisanie kodu bezpośrednio w kodzie komputerowym jest pracą żmudną i czasochłonną. 2. Algorytm Algorytmem nazywamy ciąg czynności do rozwiązywania określonego zadania. Czynności muszą być wykonywane kolejno; nie rozpoczynamy nowej czynności dopóty, dopóki nie jest zakończona poprzednia. Czynności algorytmu nazywamy operacjami. Złożoność każdej operacji nie ma znaczenia, ale w momencie wykonywania algorytmu każda z operacji powinna mieć jasną treść. Operacja może być algorytmem. Operacje algorytmu rozpoczynamy wykonywać na danych wejściowych, w końcu działania algorytmu otrzymujemy dane wyjściowe, każda operacja algorytmu może produkować dane pośrednie. W przypadku wielokrotnego korzystania z algorytmu dla różnych danych wejściowych i wielokrotnego produkowania odpowiednich danych wyjściowych mówimy o wejściowym i wyjściowym strumieniach danych. Opis algorytmu musi zawierać opis klasy (typu) danych wejściowych i wyjściowych. Każdy algorytm można przystosowywać tylko do swojej klasy danych. Możliwie jest stosowanie jako operacji tego samego algorytmu, do którego należy operacja. W takim przypadku mówimy o algorytmie rekurencyjnym. 3. Formy zapisu algorytmu Na zapisywanie algorytmu istnieje wiele sposobów, do których należą formy tekstowe w języku zwyczajnym lub specjalnym, formy graficzne, wyrażenia matematyczne. Dla przykładu opiszemy w formie tekstowej algorytm obliczenia największego wspólnego podzielnika (NWP) dwóch liczb całkowitych. Szkolny algorytm obliczenia największego wspólnego podzielnika (NWP) dwóch liczb całkowitych polega na rozkładaniu liczb na czynniki pierwsze. Następnie wybieramy czynniki wspólne i mnożymy je 1. Ten algorytm nigdy nie był realizowany w komputerze, ponieważ wymaga dużo więcej czasu niż inne algorytmy do obliczenia NWP. Do obliczenia największego wspólnego podzielnika (NWP) dwóch liczb całkowitych, dwóch wielomianów, jak też wspólnej miary dwóch odcinków, w komputerach stosuje się algorytm Euklidesa. 1 Leitner R., Żakowski W., 1967: Matematyka. Kurs przygotowawczy na wyższe uczelnie techniczne. Warszawa: WNT

2 Algorytm Euklidesa 2 dla liczb orzeka następująco: Krok 1. Weź liczby A i B, oznacz przez M większą, a przez N mniejszą z nich. Krok 2. Oblicz resztę R z dzielenia M na N. Krok 3. Gdy reszta R jest zerem, wówczas N jest szukanym największym wspólnym podzielnikiem i zakończ algorytm. Krok 4. Jeżeli reszta R nie jest równa zeru, wówczas w miejsce M weź N, w miejsce N weź R, po czym kontynuuj obliczanie reszty od kroku 2, tj. z dzielenia nowych wartości M i N, aż któraś z kolei reszta R będzie równa zeru. Należy przyznać, że najlepszą formą zapisu algorytmu jest forma graficzna. Diagramy czynności graficzno-tekstowego języka UML (Unified Modeling Language) w porównaniu ze schematami blokowymi (czynnościowymi) zajmują mniej miejsca. Reguły rysowania diagramów czynności ilustruje rys. 2, gdzie jest pokazany diagram czynności algorytmu Euklidesa do obliczenia największego wspólnego podzielnika dwóch liczb całkowitych. Na diagramie czynności rys. 2 kółko czarne jest początkiem algorytmu, kółko czarne w kółku - końcem algorytmu. Operacje algorytmu są wpisane wewnątrz tzw. stanów akcji. Stan akcji jest narysowany w formie podłużnej tabletki, w której krawędzie dolna i górna są równoległe, a boczne są półkolami. Rys. 2. Diagram czynności algorytmu Euklidesa Rozgałęzienie zaznacza się małym pustym rombem. Warunki rozgałęzienia zapisuje się w nawiasach kwadratowych na liniach przejść rozpoczynających się od rombu. Przykładem zapisu algorytmu w postaci formuły może służyć algorytm obliczenia funkcji wykładniczej n! na bazie wzorca: n! = n ( n 1)! dla n > 1 dla n = 0 lub 1 1, 2 Encyklopedia Powszechna PWN

3 4. Rodzaje algorytmów Algorytmy można klasyfikować według struktury. Mówimy o algorytmach liniowych, z rozgałęzieniami, z powtórzeniami, rekurencyjnych, współbieżnych. Algorytm liniowy jest prostym ciągiem operacji. W algorytmie z rozgałęzieniem jest zawsze operacja sprawdzania warunku. W algorytmie z powtórzeniem poza operacją sprawdzania warunku ma miejsce przejście na powtórzenie już wykonanej części algorytmu. Przykładem algorytmu z powtórzeniem jest algorytm pokazany na rys. 2.. Jeżeli operacją algorytmu jest ten sam algorytm, to mówimy o algorytmie rekurencyjnym. Realizacja algorytmu rekurencyjnego jest możliwa, ponieważ w przypadku algorytmu rekurencyjnego w pamięci komputera rozmieszczane są kopie kodu komputerowego odpowiadającego algorytmowi. Liczba kopii równa się głębokości rekurencji i może być bardzo duża, ale ograniczona. Jeżeli chcemy opisać ciąg współbieżnych czynności, to mówimy o specjalnym rodzaju algorytmów - algorytmach współbieżnych. Algorytm współbieżny zawiera wykonywane jednocześnie (współbieżnie) algorytmy, które od czasu do czasu współdziałają przez wspólne dane. 5. Operacje algorytmu i operacje komputerowe Algorytm realizowany w komputerze jest ciągiem operacji z zestawu operacji procesora i innych bloków komputera. W procesie przygotowywania algorytmu do realizacji w komputerze pierwotne operacje algorytmu są zamieniane na operacje z zestawu operacji komputera. Algorytm z operacjami komputera, który (algorytm) jest otrzymany w wyniku przekształcenia pierwotnego algorytmu, nazywamy interpretacją algorytmu w komputerze. Program jest interpretacją komputerową algorytmu. Oprócz przekształcenia operacji potrzebna jest interpretacja danych pierwotnych danymi komputerowymi, tj. danymi zachowywanymi w uporządkowanych obszarach pamięci komputera. Algorytm z operacjami procesora jest kodem komputerowym. Zapisywanie algorytmu bezpośrednio w kodzie komputerowym jest pracochłonne i lepiej korzystać z pewnego systemu programowania, który pomaga wyprodukować kod komputerowy. 6. Dane Daną nazywamy istotę, która zachowuje informację. Dane wprowadzane do komputera mogą być liczbami, znakami, wyrazami, rysunkami lub mieć inne postacie. Informacją jest coś, co daje możliwość zmniejszenia nieokreśloności pewnej wielkości losowej. Jednostką informacji jest bit. Jeden bit jako jednostka informacji zmniejsza do zera nieokreśloność dwójkowej wielkości losowej. Innymi słowami jeden bit informacji wystarczy do wyboru między dwoma równego prawdopodobieństwa wartościami wielkości losowej. Konkretna wartość 1 lub 0 jednej dwójkowej cyfry w dwójkowej postaci liczby jest wykazem niewidocznej jednostki informacji (bitu). Z powodu tego dwójkowa cyfra często jest nazywana bitem, co formalnie nie jest poprawne. Bajtem nazywamy 8 cyfr dwójkowych. Jasne, że bajt przechowuje 8 bitów informacji.

4 7. Typy danych Poprawne i szybkie programowanie nie jest możliwe bez dobrej znajomości programowych typów danych wybranego języka programowania. Programowym typem danych nazywamy fragment tekstu programu, informujący kompilator o właściwościach obiektu programowego. Wyznaczając w programie typ danych pewnego obiektu informujemy kompilator o rozmiarze miejsca wymaganego do umieszczenia obiektu w pamięci oraz o ograniczeniach w operacjach z nim. Nazwa typu danych ma postać słowa kluczowego lub złożonej konstrukcji syntaktycznej języka programowania. Typy danych można podzielić na dwie grupy: - typy podstawowe (inne nazwy: typy standardowe, typy proste, typy zwykłe), - typy pochodne (inne nazwy: typy niestandardowe, typy strukturalne). Typem pochodnym nazywamy typ, który jest złożeniem innych typów. Liczba typów danych w jednym programie jest nieograniczona i nie tylko dla typów pochodnych, lecz również dla typów podstawowych, dlatego że prawie każdy język programowania daje możliwość definiowania przez programistę własnych typów danych. W językach C++, C# (czytaj C szarp lub Cis ) poprzez funkcję sizeof(), a w języku Object Pascal poprzez funkcję SizeOf(), można uzyskać informację o rozmiarze pamięci (liczbę bajtów) przydzielaną przez kompilator do rozmieszczenia danych. Do typów podstawowych zaliczamy typ liczbowy, znakowy, logiczny, okrojony. Za pomocą typów podstawowych można deklarować zmienne, stałe i tablice. W przypadku deklaracji stałych kompilator może sam wybierać odpowiedni typ danych. Do deklarowania typów pochodnych w językach programowania wykorzystuje się specjalne konstrukcje syntaktyczne, z których najważniejszymi są tablice, w tym tablice dynamiczne, oraz struktury, unie, klasy, interfejsy. Projektowanie programów 1. Wytwarzanie programu Aby stworzyć program w języku typu kompilacyjnego należy: 1) napisać tekst w języku programowania według ścisłych reguł, 2) wykonać kompilację tekstu do postaci pliku obiektowego za pomocą programu - kompilatora, 3) konsolidować plik obiektowy lub grupę plików obiektowych do postaci pliku wykonywalnego za pomocą programu - konsolidatora. W graficznych środowiskach Borland C++ Builder, Delphi 3 oraz Microsoft Visual Studio program - kompilator i program - konsolidator mogą być połączone wewnątrz systemu programowania. System programowania może od razu produkować plik wykonywalny z rozszerzeniem exe. Oprócz pliku wykonywalnego system programowania może produkować dodatkowe pliki: plik biblioteki importu z funkcjami programu (plik z rozszerzeniem lib ), plik dla wykrywacza usterek (ang. debugger) z informacją o nazwach i typach zmiennych i funkcji (plik z rozszerzeniem tds ). 3 Obecnie środowiska RAD C++Builder oraz Delphi przejęła firma Embarcadero Technologies

5 Żeby stworzyć i wywołać program w języku typu interpretacyjnego należy: 1) napisać tekst w języku programowania według ścisłych reguł, 2) wykonać kompilację tekstu za pomocą programu - kompilatora do postaci pliku interpretacyjnego ("pliku klasowego" w języku Java), 3) interpretować plik interpretacyjny razem z plikami bibliotecznymi za pomocą programu - interpretatora. W pierwszych językach interpretacyjnych (np. w pierwszych BASIC'ach) tekst programu był interpretowany "od razu" linia po linii bez etapu kompilacji (etapu 2). 2. Metody programowania Przy napisaniu programu można korzystać z jednej z trzech metod: metody uściśleń (zstępującej) nazywaną też metodą od ogółu do szczegółu, według której najpierw rozpatrujemy algorytm jako ciąg wielkich operacji do rozwiązywania zagadnienia i piszemy program jako ciąg wywołań podprogramów, a późnej piszemy podprogramy odpowiadające każdej z operacji algorytmu, metody wstępującej (rozszerzającej) nazywanej też metodą od szczegółu do ogółu, według której najpierw programujemy niewielkie operacje opisujące małe grupy czynności do rozwiązywania zagadnienia, a późnej dodajemy łączące fragmenty, metody mieszanej (metody kolejnych ulepszeń), według której programujemy na zmianę tak wielkie, jak i niewielkie operacje. Trudno powiedzieć, jaka metoda jest lepsza. 3. Programowanie zorientowane obiektowo W ostatnich latach aktywnie rozwijało się tzw. programowanie zorientowane obiektowo. Programowanie zorientowane obiektowo to napisanie programu z taką strukturą, w której zmienne i funkcje należące do jednego obiektu, koncentrują się w jednym miejscu programu w postaci językowych konstrukcji, zwanych zwykłe klasami. Skoncentrowanie zmiennych i funkcji daje możliwość programiście budować obiekty programowe jako odpowiedniki obiektów z przestrzeni przedmiotowej, a to pozwala na lepsze rozumienie współdziałania obiektów programu. Klasy programu opisują strukturę i zachowanie obiektów programu. Obiekt programu jest interpretowany jako egzemplarz klasy. Obiekt, o którym często się mówi w programowaniu zorientowanym obiektowo, jest czymś, co ma określone granice, stan charakteryzujący jego jednoznaczne i widoczne własne zachowanie w formie pewnego ciągu stanów. Programowanie zorientowane obiektowo wywarło wielki wpływ na metodologie procesu projektowania. Pojawiło się projektowanie zorientowane obiektowo jako projektowanie, w którego trakcie jest budowana obiektowa dekompozycja przestrzeni przedmiotowej, a stworzona struktura nie zmienia się w procesie projektowania. Przez projektowanie pewnego systemu technicznego będziemy rozumieć przekształcenie pierwotnego opisu systemu w zadaniu technicznym na jego opis końcowy w postaci dokumentacji technicznej (tj. dokumentacji, na której podstawie można stworzyć system) poprzez opisy pośrednie, wśród których może się znajdować projekt wstępny, projekt szkicowy, projekt techniczny itp. Pośród języków zorientowanych obiektowo najlepsze możliwości opracowania szybkich i złożonych aplikacji ma język C++.

6 Źródłem zalet programowania zorientowanego obiektowo jest zwiększenie strukturalności programu. Korzystanie z klas oraz nierzadko z hierarchii klas, nieuchronnie doprowadzi do zaistnienia w programie strukturalnych komponentów (modułów itp.). Zwiększenie strukturalności pomaga programiście lepiej rozumieć swój program, a to zmniejsza liczbę błędów i skraca czas projektowania. Ważną zaletą programowania zorientowanego obiektowo jest to, że klasy można wykorzystać ponownie w innych projektach, co też wpływa pozytywne na czas projektowania. Autonomiczność klasy doprowadzi do tego, że w przypadku modernizacji programu, aby na przykład zwiększyć szybkość działania, nierzadko można ograniczać się do miejscowej korekty kluczowych metod (podprogramów) klasy i uniknąć ogólnych zmian niebezpiecznych dla projektu. W literaturze o programowaniu zorientowanym obiektowo rzadko pisze się o jego wadach. Programowanie zorientowane obiektowo ma jednak wady i w niektórych przypadkach mogą one wykluczyć zastosowanie programowania zorientowanego obiektowo. Główną wadą programowania zorientowanego obiektowo jest zmniejszenie szybkości programu. Szybkość zmniejsza się z powodu trzech przyczyn: w programie zorientowanym obiektowo występuje więcej wywołań podprogramów niż w równoważnym mu programie bez klas ; w przypadku dziedziczenia klas adres podprogramu może zależeć lokalnie od nazwy klasy. Adres podprogramu znany jest wówczas tylko przy wywołaniu programu, a to pociąga dodatkowe nakłady czasu dla formowania adresu podprogramu; przy programowaniu zorientowanym obiektowo każda klasa zapisuje się z reguły w odrębnym pliku, a typowy konsolidator umieszcza kod odpowiadający każdemu plikowi w odrębnym segmencie pamięci. Wobec czego w przypadku zwykłego stronicowania pamięci komputera przy między klasowych wywołaniach podprogramów potrzebne są dodatkowe nakłady czasu do przełączenia w procesorze rejestru segmentów. Należy zaznaczyć, że języki zorientowane obiektowo mają konstrukcje składniowe zezwalające programować nieobiektowo tj. bez klas. Języki programowania 1. Elementy języka programowania Język programowania jest opisywany dwoma gramatykami: leksykalną (ang. lexical grammar) i syntaktyczną (ang. syntactic grammar). Gramatyka leksykalna (ang. lexical grammar) opisuje jak znaki języka są łączone w elementy leksykalne - leksemy (ang. form tokens). Leksemami są słowa kluczowe, symbole operatorów, separatory, identyfikatory itd. Gramatyka syntaktyczna (ang. syntactic grammar) opisuje jak leksemy (ang. form tokens) mogą być łączone w programach. Leksemy są połączone w kategorie składniowe. Opis języka zawiera nie tylko listy standardowych kategorii składniowych, ale i reguły tworzenia kategorii składniowych, które definiuje programista. Zdania języka programowania zbudowane są z leksem i kategorii składniowych połączonych według reguł języka. Słowa kluczowe (symboli terminalne) są zawsze wypisane w opisie języka. Przykłady słów kluczowych: for, define, begin, end. Symbole operatorów w

7 większości są pobrane z matematyki, na przykład +, -, *. Separatory służą do rozdzielenia kategorii składniowych. Do separatorów należą: odstęp (spacja), przecinek, średnik itd. 2. Meta - język Do opisania każdego języka jest potrzebny meta - język. Meta - język jest nad językiem, ponieważ zasadniczo jest niemożliwe opisać kategorie języka korzystając tylko z samego języka. Często język programowania jest opisywany w języku naturalnym. W standardach z opisem języka programowania na początku standardu definiuje się meta - język. Jako meta - język standardu często wykorzystywana jest zmodyfikowana notacja Backusa - Naura (MBNF) oraz diagramy syntaktyczne Zmodyfikowana notacja Backusa - Naura Zmodyfikowana notacja Backusa - Naura jest zestawem reguł językowych w postaci: Nazwa_definiowanej_kategorii_składniowej = Meta-wyrażenie W niezmodyfikowanej notacji Backusa - Naura zamiast znaku "=" jest wykorzystana konstrukcja "::=". Obydwa warianty znaków należy czytać jako "to jest". W prawej części reguły w meta-wyrażeniu są wykorzystywane słowa kluczowe, wcześniej zdefiniowane kategorie składniowe i następujące operatory: konkatenacja, alternatywa, powtórzenie, opcja. Operatorowi konkatenacji nie odpowiada specjalny symbol. Konkatenacja jest realizowana za pomocą bezpośredniego zapisu znak za znakiem. Przykład definicji kategorii Ułamek_dziesiętny za pomocą operatora konkatenacji: Ułamek_dziesiętny =.Liczba_dziesiętna_całkowita_bez_znaku W przykładzie w meta-wyrażeniu widzimy znak." (kropka) i kategorię składniową Liczba_dziesiętna_całkowita_bez_znaku. W celu rozdzielenia kategorii składniowych meta-wyrażenie może zawierać nieznaczące spacji. W niezmodyfikowanej notacji Backusa - Naura kategorii składniowe są stosowane nawiasy ze znaków "<" i ">", na przykład: <Ułamek_dziesiętny> ::=.<Liczba_dziesiętna_całkowita_bez_znaku> Operator alternatywy jest zaznaczany symbolem i ma znaczenie lub wariant zapisany za symbolem. Przykład definicji kategorii Cyfra_dziesiętna za pomocą symbolu alternatywy i słów kluczowych 0, 1,..., 9 : Cyfra_dziesiętna =

8 Operator powtórzenia jest zaznaczany nawiasami klamrowymi. Zawartość nawiasów może występować w kategorii dowolną ilość razy, w tym zero razy, tj. w ogóle nie wystąpić. Przykład definicji kategorii Liczba_dziesiętna_całkowita_bez_znaku za pomocą operatora powtórzenia i kategorii Cyfra_dziesiętna : Liczba_dziesiętna_całkowita_bez_znaku = Cyfra_dziesiętna{Cyfra_dziesiętna} Operator opcji jest zaznaczany nawiasami kwadratowymi. Zawartość nawiasów może nie występować w kategorii. Przykład definicji kategorii Liczba_dziesiętna_całkowita za pomocą operatora opcji i kategorii Liczba_dziesiętna_calkowita_bez_znaku : Liczba_dziesiętna_całkowita = [+ -] Liczba_dziesiętna_calkowita_bez_znaku Definicja kategorii może być rekurencyjną. Przykład: Nazwa = Litera Nazwa Litera Nazwa Liczba Przedstawiona rekurencyjna definicja kategorii Nazwa wymusza, że nazwa może rozpoczynać się tylko od litery Diagramy syntaktyczne Diagramy syntaktyczne są graficzną formą dokładnego opisu języka programowania. Na diagramach syntaktycznych lepiej widać powtórzenia kategorii lub warianty budowanych kategorii. Każdy diagram ma nazwę definiowanej kategorii składniowej. Żeby przeczytać diagram syntaktyczny trzeba przechodzić w wyobraźni wzdłuż linii strumieniowych z lewej strony diagramu na prawu stronę. Trzeba wybierać wszystkie z możliwych wariantów przechodzenia. Leksemy (symbole terminalne) zapisują się w kółkach, a wcześniej zdefiniowane kategorie składniowe - w prostokątach. Na przykład definicja kategorii Cyfra_dziesiętna przez diagram syntaktyczny wygląda następująco: Przykład definicji kategorii Liczba_dziesiętna_całkowita_bez_znaku : Przykład definicji kategorii Liczba_dziesiętna_całkowita :

9 Przykład definicji kategorii Ułamek_dziesiętny : Przykład definicji kategorii Nazwa Należy zwrócić uwagę, że tym razem definicja kategorii Nazwa jest definicją bez rekurencji (bez jawnej rekurencji). 3. Przegląd języków programowania zorientowanego obiektowo 3.1. Język C++ Język C++ 4 stworzony przez Bjarna Stroustrupa jest często nazywany C z klasami, ponieważ w warstwie proceduralnej był osadzony w notacji języka C, którego zaproponowali Brian Kernigan i Denis M. Ritchie. Autor języka C++ Bjarn Stroustrup zapożyczył z języka Simula 67 koncepcję klasy. Analiza języka C++ ujawnia również wpływ na ten język języka Algol 68. Istnieją liczne kompilatory języka C++ znanych firm Borland, Microsoft, Watcom. Rozszerzone wersje języka C++ są włączone w szeroko znane systemy oprogramowania (środowiska) Borland C++ Builder oraz Visual C++ (część Visual Studio firmy Microsoft). Język C++ jest standaryzowany od 1994 komisją ISO/ANSI, standard z ostateczną korektą - standard ANSI roku. Język C++ jest najszerzej używanym językiem. Język C++ wywarł wielki wpływ na inne języki Język Java Język Java 5 jest językiem niezależnym od platformy i przystosowanym do zdalnego sterowania w Internecie. Kompilator języka Java produkuje tak zwany plik klasowy (ang. class file). Plik klasowy zawiera kod bajtowy Javy (ang. byte code) - instrukcje tak zwanej wirtualnej maszyny Javy (Java Virtual Machine). Wirtualna maszyna Javy jest aplikacją do implementacji na danym komputerze wyprodukowanego przez kompilator pliku klasowego i dołączonych bibliotek. Wirtualna maszyna i kompilator tworzą interpretator języka Java. Za pomocą języka Javy można stworzyć aplikację autonomiczną lub tzw. aplet (ang. applet). Samodzielne programy w języku Java są nazywane aplikacjami, a programy, które są wykonywane przeglądarkami internetowymi - apletami. Aplet jest pobierany na żądanie, podobnie jak bitmapa, plik dźwiękowy, itp. Istniejące przeglądar- 4 Stroustrup B.,1994: The Design and Evolution of C++. Addision Wesley. Kisilewicz J., 2002: Język C++: programowanie obiektowe. Wrocław: Oficyna Wydawnicza Politechniki Wrocławskiej. 5 Morgan M., 1999: Poznaj język JAVA 1.2. Warszawa: Wydawnictwo MIKOM

10 ki internetowe mają wbudowane interpretatory apletów języka Java i mogą wykonywać aplety Javy. Język Java pochodzi od języka C++. Język Java ma w porównaniu z C++ dużo mniejsze możliwości. W języku Java nie ma jawnych wskaźników, tylko referencje (odwołania). Brak jawnych wskaźników wyklucza możliwość programowego czyszczenia sterty pamięci z niepotrzebnych obiektów dynamicznych. Dla rozwiązania problemu z czyszczeniem wirtualna maszyna Javy ma moduł śmieciarza, który od czasu do czasu czyści pamięć Język Object Pascal Popularny język programowania Pascal powstał w 1971 roku. Autor języka Niklaus Wirth szeroko znany ze swoich publikacji zorientował Pascal na strukturalne programowanie metodą z góry na dół. Język Pascal zmieniał się wiele razy. W końcu lat siedemdziesiątych firma Apple zbudowała język Object Pascal, w którym zjawiły się pierwsze konstrukcje obiektowe. Firma Borland twórczo przerobiła język Object Pascal i w 1983 roku zbudowała system programowania (środowisko) Turbo Pascal, który zawiera oprócz kompilatora redaktor tekstu i narzędzie wykrywania usterek (debugowania). W 1989 roku pojawiła się wersja Turbo Pascal 5.5, w której język Object Pascal zawiera konstrukcje składniowe potrzebne do programowania zorientowanego obiektowo. Znacznym krokiem w rozwoju programowania stało się ukazanie środowiska programowego Delphi 6 w języku Object Pascal z rozwiniętą biblioteką klas graficznych obiektów Język Visual Basic Język Visual Basic 7 powstał w firmie Microsoft w 1991 roku. Słowo Basic w nazwie języka przypomina o języku Basic (Beginners All - Purpose Symbolic Instruction Code), który ma zbiór słów kluczowych jasnych dla szerokiego grona osób. Firma Microsoft prawie, co rok wypuszczała na rynek następne środowiska Visual Basic z nową wersją języka. Od pierwszej wersji samo środowisko Visual Basic było oprogramowane obiektowo, ale programista mógł tylko brać obiekty z wbudowanej biblioteki graficznych obiektów lub podłączać obiekty ActiveX. Dla zbudowania obiektów według technologii ActiveX trzeba było kupić dodatkowy program. Od wersji 5.0 Visual Basic można uważać za język zorientowany obiektowo. Uwieńczeniem rozwoju języka Visual Basic stało się najnowsze środowisko Visual Basic.NET, w którym język jest gęsto przeplatany z biblioteką klas i elementami środowiska. Program w języku Visual Basic.NET można wywołać tylko za pomocą platformy.net Framework firmy Microsoft. 6 Kwasowiec W., 2002: Wprowadzenie do Object Pascal i Delphi. Warszawa: Wydawnictwo MIKOM 7 Halvorson M. Microsoft Visual Basic Professional 6.0 krok po kroku. Wydawnictwo RM Sp. z o.o., Warszawa 1998

Podstawy programowania

Podstawy programowania Podstawy programowania Pojęcia bazowe 1. Programowanie Pod terminem "programowanie" będziemy rozumieć napisanie tekstu programu w specjalnym języku, tzw. języku programowania. Piszemy tekst programu w

Bardziej szczegółowo

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH ZATWIERDZAM Prorektor ds. dydaktyki i wychowania S Y L A B U S 1 Tytuł (stopień) naukowy oraz imię i nazwisko wykładowcy: dr hab.,

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

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

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio Podstawy programowania Ćwiczenie Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio Tematy ćwiczenia algorytm, opis języka programowania praca ze środowiskiem, formularz, obiekty

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 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

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH ZATWIERDZAM Prorektor ds. dydaktyki i wychowania S Y L A B U S 1 Tytuł (stopień) naukowy oraz imię i nazwisko wykładowcy: dr hab.,

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

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

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

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

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

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

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

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016 Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal

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

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

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

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 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

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

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

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

Praktyka Programowania

Praktyka Programowania Praktyka Programowania Dariusz Dereniowski Materiały udostępnione przez Adriana Kosowskiego Katedra Algorytmów i Modelowania Systemów Politechnika Gdańska deren@eti.pg.gda.pl Gdańsk, 2010 strona przedmiotu:

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Algorytmy i schematy blokowe

Algorytmy i schematy blokowe Algorytmy i schematy blokowe Algorytm dokładny przepis podający sposób rozwiązania określonego zadania w skończonej liczbie kroków; zbiór poleceń odnoszących się do pewnych obiektów, ze wskazaniem porządku,

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

Metodyki i techniki programowania

Metodyki i techniki programowania Metodyki i techniki programowania dr inż. Maciej Kusy Katedra Podstaw Elektroniki Wydział Elektrotechniki i Informatyki Politechnika Rzeszowska Elektronika i Telekomunikacja, sem. 2 Plan wykładu Sprawy

Bardziej szczegółowo

Zacznij Tu! Poznaj Microsoft 2012. Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

Zacznij Tu! Poznaj Microsoft 2012. Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska Zacznij Tu! Poznaj Microsoft 2012 Visual Basic Michael Halvorson Przekład: Joanna Zatorska APN Promise, Warszawa 2013 Spis treści Wstęp...................................................................vii

Bardziej szczegółowo

Niniejszy ebook jest własnością prywatną. Został zakupiony legalnie w serwisie Netpress.pl, będącym oficjalnym Partnerem Wydawcy.

Niniejszy ebook jest własnością prywatną. Został zakupiony legalnie w serwisie Netpress.pl, będącym oficjalnym Partnerem Wydawcy. Niniejszy ebook jest własnością prywatną. Został zakupiony legalnie w serwisie Netpress.pl, będącym oficjalnym Partnerem Wydawcy. Niniejsza publikacja, ani żadna jej część, nie może być kopiowana, ani

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

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

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

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

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

ForPascal Interpreter języka Pascal

ForPascal Interpreter języka Pascal Akademia Podlaska w Siedlcach Wydział Nauk Ścisłych Instytut Informatyki ForPascal Interpreter języka Pascal Przedmiot: Sieci i Systemy Wirtualne Informatyka IV Prowadzący: dr Krzysztof Trojanowski Grupa:

Bardziej szczegółowo

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Jak napisać program obliczający pola powierzchni różnych figur płaskich? Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy

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

Cw.12 JAVAScript w dokumentach HTML

Cw.12 JAVAScript w dokumentach HTML Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane

Bardziej szczegółowo

Programowanie obiektowe W1 Wprowadzenie. Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki

Programowanie obiektowe W1 Wprowadzenie. Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki Programowanie obiektowe W1 Wprowadzenie Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki Ogólna charakterystyka języka C++ C++ jest obiektowym językiem programowania,

Bardziej szczegółowo

Techniki multimedialne

Techniki multimedialne Techniki multimedialne Digitalizacja podstawą rozwoju systemów multimedialnych. Digitalizacja czyli obróbka cyfrowa oznacza przetwarzanie wszystkich typów informacji - słów, dźwięków, ilustracji, wideo

Bardziej szczegółowo

Podstawy programowania 2. Temat: Funkcje i procedury rekurencyjne. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Temat: Funkcje i procedury rekurencyjne. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 6 Podstawy programowania 2 Temat: Funkcje i procedury rekurencyjne Przygotował: mgr inż. Tomasz Michno Wstęp teoretyczny Rekurencja (inaczej nazywana rekursją, ang. recursion)

Bardziej szczegółowo

Podstawy Programowania 2

Podstawy Programowania 2 Podstawy Programowania 2 Laboratorium 7 Instrukcja 6 Object Pascal Opracował: mgr inż. Leszek Ciopiński Wstęp: Programowanie obiektowe a programowanie strukturalne. W programowaniu strukturalnym, któremu

Bardziej szczegółowo

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI Arytmetyka komputera Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka Opracował: Kamil Kowalski klasa III TI Spis treści 1. Jednostki informacyjne 2. Systemy liczbowe 2.1. System

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych: Zmienna i typ Pascal typy danych Zmienna to obiekt, który może przybierać różne wartości. Typ zmiennej to zakres wartości, które może przybierać zmienna. Deklarujemy je w nagłówku poprzedzając słowem kluczowym

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.

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

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami 1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.

Bardziej szczegółowo

Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym

Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym S t r o n a 1 Bożena Ignatowska Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym Wprowadzenie W artykule zostaną omówione zagadnienia związane z wykorzystaniem funkcji tekstowych w arkuszu

Bardziej szczegółowo

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych;

Bardziej szczegółowo

UML w Visual Studio. Michał Ciećwierz

UML w Visual Studio. Michał Ciećwierz UML w Visual Studio Michał Ciećwierz UNIFIED MODELING LANGUAGE (Zunifikowany język modelowania) Pozwala tworzyć wiele systemów (np. informatycznych) Pozwala obrazować, specyfikować, tworzyć i dokumentować

Bardziej szczegółowo

Algorytmika i Programowanie VBA 1 - podstawy

Algorytmika i Programowanie VBA 1 - podstawy Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy

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

SZYBKO ZROZUMIEĆ VISUAL BASIC 2012 Artur Niewiarowski -

SZYBKO ZROZUMIEĆ VISUAL BASIC 2012 Artur Niewiarowski - S t r o n a 2 SZYBKO ZROZUMIEĆ VISUAL BASIC 2012 Artur Niewiarowski - Copyright by Artur Niewiarowski 2013 ISBN: 978-83-937802-0-4 - Artur Niewiarowski Self-Publishing - All rights reserved. Wszelkie prawa

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

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje. Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using

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

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

PASCAL. Etapy pisania programu. Analiza potrzeb i wymagań (treści zadania) Opracowanie algorytmu Kodowanie Kompilacja Testowanie Stosowanie

PASCAL. Etapy pisania programu. Analiza potrzeb i wymagań (treści zadania) Opracowanie algorytmu Kodowanie Kompilacja Testowanie Stosowanie PASCAL Język programowania wysokiego poziomu Opracowany przez Mikołaja Wirtha na początku lat 70 XX wieku Prosty, z silną kontrolą poprawności Stosowany prawie wyłącznie na uczelniach do nauki programowania

Bardziej szczegółowo

Języki i paradygmaty programowania - 1

Języki i paradygmaty programowania - 1 doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.edu.pl http://www.tjeleniewski.wstt.edu.pl Cele przedmiotu Umiejętność zastosowania i oceny przydatności paradygmatów

Bardziej szczegółowo

Wprowadzenie do programowania

Wprowadzenie do programowania do programowania ITA-104 Wersja 1 Warszawa, Wrzesień 2009 ITA-104 do programowania Informacje o kursie Zakres tematyczny kursu Opis kursu Kurs przeznaczony jest do prowadzenia przedmiotu do programowania

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

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

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

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. PYTHON Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. Aby program napisany w danym języku mógł być wykonany, niezbędne

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

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości

Bardziej szczegółowo

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język

Bardziej szczegółowo

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie

Bardziej szczegółowo

Polcode Code Contest PHP-10.09

Polcode Code Contest PHP-10.09 Polcode Code Contest PHP-10.09 Przedmiotem konkursu jest napisanie w języku PHP programu, którego wykonanie spowoduje rozwiązanie zadanego problemu i wyświetlenie rezultatu. Zadanie konkursowe Celem zadania

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

Podstawy programowania (1)

Podstawy programowania (1) Podstawy programowania (1) doc. dr inż. Tadeusz Jeleniewski Konsultacje pokój 19 Poniedziałki, godz. 9:45 11:20 e-mail: tadeusz.jeleniewski@neostrada.pl Podstawy programowania (1) - wykład 1. Wprowadzenie

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

ETAP I SZKOLNY. Czas rozwiązywania testu 30 minut. Za każdą poprawną odpowiedź otrzymujesz 1pkt. POWODZENIA!!

ETAP I SZKOLNY. Czas rozwiązywania testu 30 minut. Za każdą poprawną odpowiedź otrzymujesz 1pkt. POWODZENIA!! TEST (max. 25 pkt.) Przed rozpoczęciem rozwiązywania testu wpisz swoje dane na karcie odpowiedzi. Następnie przeczytaj uważnie pytania. W każdym pytaniu jest tylko jedna poprawna odpowiedź. Poprawne odpowiedzi

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

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów Aplikacje internetowe KL. III Rok szkolny: 011/01 Nr programu: 31[01]/T,SP/MENIS/004.06.14 Okres kształcenia: łącznie ok. 180 godz. lekcyjne Wojciech Borzyszkowski Zenon Kreft Moduł Bok wprowadzający Podstawy

Bardziej szczegółowo

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy

Bardziej szczegółowo

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II Rozkład wymagający

Bardziej szczegółowo

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Rozkład zgodny

Bardziej szczegółowo

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz

Bardziej szczegółowo

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można

Bardziej szczegółowo

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego

Bardziej szczegółowo

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx 1. WPROWADZENIE Program AutoCAD ma wielu użytkowników i zajmuje znaczące miejsce w graficznym

Bardziej szczegółowo

Podstawy programowania.

Podstawy programowania. Kod przedmiotu: PPR Podstawy programowania. Rodzaj przedmiotu: kierunkowy; obowiązkowy Wydział: Informatyki Kierunek: Informatyka Specjalność (specjalizacja): - Poziom studiów: pierwszego stopnia Profil

Bardziej szczegółowo

Podstawy programowania - 1

Podstawy programowania - 1 Podstawy programowania - 1 doc. dr inż. Tadeusz Jeleniewski Wykład: sobota B, godz. 10.30 12.55 sala 12 Laboratorium: sobota B, godz. 13.00 15.25 sala 2 sobota B, godz. 15.30-17.55 sala 2 e-mail: tadeusz.jeleniewski@pwr.wroc.pl

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

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora. 1. Podstawy matematyki 1.1. Geometria analityczna W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora. Skalarem w fizyce nazywamy

Bardziej szczegółowo

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Opracował: Zbigniew Rudnicki Powtórka z poprzedniego wykładu 2 1 Dokument, regiony, klawisze: Dokument Mathcada realizuje

Bardziej szczegółowo

Król Łukasz Nr albumu: 254102

Król Łukasz Nr albumu: 254102 Król Łukasz Nr albumu: 254102 Podstawy o Delphi Język programowania, którego można używać w środowiskach firmy Borland, Embarcadero, Microsoft (Delphi Prism), oraz w środowisku Lazarus. Narzędzia te są

Bardziej szczegółowo

Diagramy klas. WYKŁAD Piotr Ciskowski

Diagramy klas. WYKŁAD Piotr Ciskowski Diagramy klas WYKŁAD Piotr Ciskowski przedstawienie statyki systemu graficzne przedstawienie statycznych, deklaratywnych elementów dziedziny przedmiotowej oraz związków między nimi obiekty byt, egzemplarz

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych

Bardziej szczegółowo

Szablony funkcji i szablony klas

Szablony funkcji i szablony klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Algorytmy zapisywane w pseudojęzyku programowania. Klasa 2 Lekcja 6

Algorytmy zapisywane w pseudojęzyku programowania. Klasa 2 Lekcja 6 Algorytmy zapisywane w pseudojęzyku programowania Klasa 2 Lekcja 6 Dlaczego stosujemy pseudojęzyk? Każdy język j programowania określa pewną notację,, służąs żącą do zapisywania tekstu programu. Zanim

Bardziej szczegółowo

1.1. Pozycyjne systemy liczbowe

1.1. Pozycyjne systemy liczbowe 1.1. Pozycyjne systemy liczbowe Systemami liczenia nazywa się sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach. Dla dowolnego

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA Instrukcja pomocnicza do laboratorium z przedmiotu Programowalne Struktury

Bardziej szczegółowo

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład I - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Zaliczenie przedmiotu Do zaliczenia przedmiotu niezbędne jest

Bardziej szczegółowo