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, aby specjalny program - kompilator przeczytał tekst i przekształcił go do postaci kodu komputerowego, a ten jest wykonywany przez procesor komputera. Napisanie programu 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 stosować tylko do swojej klasy danych. Możliwe 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. Algorytm Euklidesa 2 dla liczb orzeka następująco: 1 Leitner R., Żakowski W., 1967: Matematyka. Kurs przygotowawczy na wyższe uczelnie techniczne. Warszawa: WNT 2 Encyklopedia Powszechna PWN 1

2 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, 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. 2

3 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. Ilość informacji przechowywanej w danej oceniamy po stopniu zmniejszenia nieokreśloności zajścia możliwego zdarzenia. Jednostką informacji jest bit. Jeden bit, jako jednostka informacji zmniejsza do zera nieokreśloność zajścia jednego z dwóch zdarzeń jednakowego prawdopodobieństwa. Inaczej mówiąc, jeden bit informacji wystarczy do wyboru między dwoma wartościami jednakowo prawdopodobnymi. 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. 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. 3

4 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 BorlandC++ Builder 3, Delphi 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 ). Ż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 Obecnie środowiska RAD C++Builder oraz Delphi przejęła firma Embarcadero Technologies 4

5 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 zwykle 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++. Ź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. 5

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

7 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 kategorie składniowe są zapisywane w nawiasach 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 symbolów leksykalnych 0, 1,..., 9 : Cyfra_dziesiętna = 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ć. 7

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

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 Kernighan 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ądarki 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 czysz- 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 9

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

11 Środowiska programowania W celu zwiększenia wydajności pracy programisty powstały systemy programowania. System programowania tworzą redaktor tekstów w języku programowania, kompilator, konsolidator, wykrywacz błędów (ang. debugger) oraz biblioteki z gotowymi komponentami. Kompilator przekształca tekst programu w formę pośrednią, która nazywa się w większości języków kodem obiektowym, a w języku Java - kodem klasowym. Konsolidator łączy między sobą kody obiektowe projektu aplikacji oraz dołącza biblioteki z kodami obiektowymi i przekształca kod obiektowy do postaci kodu komputerowego (maszynowego). Do kodu komputerowego (maszynowego) konsolidator dodaje nagłówek. System operacyjny korzystając z informacji zapisanej w nagłówku ładuje kod komputerowy (maszynowy) do pamięci komputera i uruchamia aplikacje przekazując sterowanie do pierwszej instrukcji. Kod klasowy języka Java jest interpretowany wirtualną maszyną Javy (ang. Java Virtual Machine) Programista przygotowuje program w zintegrowanym środowisku programowania (ang. Integrated Development Environment - IDE), które łączy programistę z komponentami systemu programowania oraz zawiera liczne funkcje serwisowe (na przykład, wyświetla innym kolorem słowa kluczowe, komentarzy itp.). Zintegrowane środowisko programowania zawierają zazwyczaj podsystem pomocy. Najnowsze z wersji zintegrowanych środowisk programowania pomagają programować pokazując możliwe warianty następnego fragmentu tekstu, na przykład listę atrybutów i metod klasy obiektu programowego. Rozpatrzymy systemy programowania z językami C++, Java, Visual Basic, Object Pascal. 1. System programowania Borland C++ Builder System programowania Borland C++ Builder ma na celu tworzenie wszystkich rodzajów aplikacji, napisanych w języku ANSI C++, tj. w takim dialekcie języka, który odpowiada standardowi ANSI. System Borland C++ Builder zawiera rozwiniętą bibliotekę VCL (skrót od Visual Component Library). W bibliotece VCL znajdują się komponenty zorientowane na system operacyjny Windows. Z systemu Borland C++ Builder można skorzystać też do przygotowywania aplikacji dla systemu operacyjnego Linux. System Borland C++ Builder (w wersji 6.0) zawiera bibliotekę CLX (skrót dla Borland Component Library for Cross-Platform). Komponenty biblioteki CLX są "uniwersalnymi", tj. mogą być wykorzystane w aplikacjach tak dla Windows, jak i dla Linux. 2. System programowania Visual Studio 2005 System programowania Visual Studio 2005 jest zbiorem narzędzi do tworzenia aplikacji ekranowych (ang. desktop applications), ASP - aplikacji internetowych (ang. ASP Web applications, skrót ASP od Active Server Pages), XML - aplikacji internetowych obsługujących klientów serwera (ang. XML Web services), oraz aplikacji dla urządzeń mobilnych (tj. komórek itp.) (ang. mobile applications). 11

12 Języki Visual Basic, Visual C++, Visual C#, oraz Visual J# systemu programowania Visual Studio 2005 są dostępne w jedynym zintegrowanym środowisku programowania. Zintegrowane środowisko daje możliwość tworzenia "mieszanej" aplikacji, której fragmenty są napisane w różnych językach. Wskazane języki są wsparte przez platformę.net Framework, która jest niezbędna do wykonywania ASP - aplikacji oraz XML - aplikacji. 3. System programowania Borland Delphi System programowania Borland Delphi pomaga stworzyć w języku Dephi, który opiera się o język Object Pascal, aplikacje z graficznym interfejsem użytkownika (ang. GUI applications, skrót GUI od Graphical User Interface), aplikacje konsolowe (ang. console applications), aplikacje obsługujące klientów serwera (ang. service applications), biblioteki dynamiczne (ang. DLLs, skrót od Dynamic-link Libraries) oraz pakiety Delphi, które są rodzajem bibliotek dynamicznych. Jedne z wersji systemu programowania Borland Delphi dają możliwość programowania dla platformy Linux. System programowania Delphi podobnie jak system C++ Builder zawiera dwie biblioteki: bibliotekę VCL (skrót od Visual Component Library) z komponentami zorientowanymi na system operacyjny Windows i bibliotekę CLX (skrót dla Borland Component Library for Cross-Platform) z "uniwersalnymi" komponentami tak dla Windows, jak i dla Linux. 4. Systemy programowania dla języka Java Najpopularniejszy system programowania dla języka Java to JavaBeans. Środowisko JavaBeans zawiera kompilator, konsolidator, interpretator, przeglądarkę apletów oraz wykrywacz błędów. Oprócz systemu JavaBeans istnieje system programowania "w częściach": pakiet JDK i środowisko JRE. Instalacja pakietu JDK (ang. Java Development Kit) dostarcza biblioteczne procedury, a także środowisko JRE (ang. Java Runtime Environment) do wykonania aplikacji oraz apletów. Instalacja środowiska JCreator firmy Xinox Software jako jednego ze środowisk programowania dla Java daje możliwość pracy z tekstem programu i uruchomienia aplikacji lub apletu. Środowisko JCreator zawiera kompilator, konsolidator, interpretator, przeglądarkę apletów oraz wykrywacz błędów. 12

13 Konstrukcje języka programowania 1. Zmienne Zmienna programowa jest obszarem pamięci komputera, którego rozmiar zależy od wskazanego lub ustawionego domyślnie typu zmiennej. Nazwa zmiennej jest identyfikatorem obszaru pamięci przydzielonego przez kompilator. Wyznaczając w programie typ zmiennej informujemy kompilator nie tylko o rozmiarze miejsca w pamięci wymaganego do umieszczenia wartości zmiennej, no i o możliwych operacjach z tą zmienną. Nazwę zmiennej wybiera programista przy następujących ograniczeniach: - nazwa musi rozpoczynać się od litery, lub od znaku _, lub znaku "$", - nazwa nie może być dłuższa niż 255 znaków lub 31 znaków w zależności od kompilatora, - nazwa nie może być jednym z kluczowych słów języka programowania. W tzw. notacji węgierskiej jest zalecane rozpoczynać nazwę od liter - skrótów od typu zmiennej, co daje programiście możliwość samokontroli typów danych. Na przykład przedrostkami mogą być litery: n lub "i" (od ang. integer) w nazwach zmiennych typu całkowitego, b (od ang. boolean) w nazwach zmiennych typu logicznego, x, "y" w nazwach współrzędnych, "s" (od ang. string) w nazwach tablic tekstowych, "sz" (od ang. string, zero) w nazwach tablic tekstowych ze znakiem "zero" na koncu, "p" (od ang. pointer) w nazwach zmiennych typu wskaźnikowego, "pfn" (od ang. pointer on function) w nazwach wskaźników na funkcji, itp. Duże i mały litery rozróżnia się w języku C/C++, Java i nie rozróżnia się w językach Object Pascal i Visual Basic.NET Deklaracje zmiennych Deklaracje zmiennych zawierają informacji o typie i nazwie zmiennej. Typ zmiennej należy wybierać w zależności od rodzaju danych i oczekiwanych wartości zmiennej (tab. 1). Typ Decimal w języku Visual Basic.NET ma na celu reprezentację danych finansowych. Typ decimal (Decimal) posiada niezwykłe wielki zakres wartości. 128-bitowa (16-bajtowa) reprezentacja typu Decimal składa się z 96-bitowej mantysy i 32- bitowego słowa, w którym zakodowany jest czynnik skalujący oraz znak mantysy. Czynnik skalujący ma zakres od 0 do 28 i wskazuje na liczbę miejsc dziesiętnych po przecinku. Jeżeli czynnik równa się 0 to typ Decimal stosuje się do liczb całkowitych ze znakiem. Typ Decimal opiera się na specjalnej, dziesiętną arytmetyce, dzięki czemu osiągnięta jest idealna dokładność dla liczb zmiennoprzecinkowych dziesiętnych. Na przykład liczba 0,01 nie może być dokładne reprezentowana przez typy Single lub Double, ale przez typ Decimal jak najbardziej. 13

14 Tabela 1 Typy zmiennych w zależności od rodzaju danych i oczekiwanych wartości Rodzaj danych i zakres wartości Język Typ Przykład Liczba całkowita ze znakiem od -128 do +127 C/C++ signed char int8 signed char ii; int8 ii; VB.NET - - Liczba całkowita bez znaku od 0 do 255 C/C++ unsigned char unsigned int8 unsigned char jj; unsigned int8 jj; Liczba całkowita ze znakiem od do Liczba całkowita bez znaku od 0 do Liczba całkowita ze znakiem od do Liczba całkowita bez znaku od 0 do Liczba całkowita ze znakiem od do Liczba całkowita bez znaku od 0 do VB.NET Byte Dim symb As Byte C/C++ short short kk; int16 int16 kk; VB.NET Short Dim kk As Short C/C++ unsigned short unsigned int16 VB.NET - - C/C++ int long int32 unsigned short rodz; unsigned int16 rodz; int rozm; long rozm; int32 rozm; VB.NET Integer Dim rozm As Integer C/C++ unsigned long unsigned int32 unsigned long NN; unsigned int32 NN; VB.NET - - C/C++ int64 int64 ind; VB.NET Long Dim ind As Long C/C++ unsigned int64 unsigned int64 ui6; VB.NET - - Liczba zmienno-przecinkowa z dokładnością C/C++ float float flo; 7 cyfr dziesiętnych VB.NET Single Dim flo As Single Liczba zmienno-przecinkowa z dokładnością C/C++ double double doub; 15 cyfr dziesiętnych VB.NET Double Dim doub As Double Liczba zmienno-przecinkowa z dokładnością C/C++ long double long double d18; 18 cyfr dziesiętnych VB.NET - - Liczba stało-przecinkowa z dokładnością C/C cyfr dziesiętnych VB.NET Decimal Dim dec28 As Deci- mal 1.2. Nadanie zmiennym wartości początkowych Wartości zmiennym, w tym wartości początkowe, nadajemy operatorem przypisania. Lewa część operatora przypisania zawiera nazwę zmiennej, a prawa - literał. Nadanie zmiennym wartości początkowych można połączyć z deklaracją. Język C/C++ i Java Przykłady: int rozm = 175; double doub = 3.74; 14

15 Język Visual Basic.NET Przykłady: Dim rozm As Integer = 175 Dim doub As Double = Bloki programowe Bloki programowe są wprowadzone w celu ograniczenia zakresu widzialności zmiennych. Blok programowy daje programiście możliwość korzystania w różnych blokach z jednakowych nazw zmiennych i jednakowych nazw innych konstrukcji językowych. Granicy bloków są zaznaczane specjalnymi symbolami - separatorami lub granicami deklaracji konstrukcji programowej. Granicami bloku mogą być początek i koniec pliku. W językach C/C++ i Java granicy bloków są zaznaczane nawiasami figurowymi { i }. Słowa kluczowe begin i end są granicami bloku w języku Object Pascal. W języku Visual Basic.NET granicami bloku służą granicy konstrukcji programowej. Koniec konstrukcji programowej często jest pokazywany słowem kluczowym End razem z nazwą konstrukcji programowej, na przykład, End Structure, End While itp. Bloki mogą być włożone jeden w drugi bez ograniczeń (oprócz wyczerpania pamięci operacyjnej). Blok największego rozmiaru odpowiada całemu programu i nie jest zaznaczony nawiasami lub innymi symbolami. Obiekt (zwykle zmienna) zdefiniowany w bloku nazywa się obiektem lokalnym (zmienną lokalnej). Obiekt zdefiniowany w największym bloku, tj. w granicach programu, ale poza włożonymi blokami, nazywa się obiektem globalnym (zmienna globalnej). Modułem nazywamy grupę plików dotyczących autonomicznego obiektu, a mianowicie aplikacji, biblioteki dynamicznej (DLL) itp. Jednostką programowej (unit) nazywamy grupę plików dotyczących okna graficznego. W środowisku Borland Delphi do jednostki programowej należą plik implementacji z rozszerzeniem.pas, plik z opisaniem formularza z rozszerzeniem.dfm i plik resursów z rozszerzeniem.res. W środowisku Borland C++ Builder do jednostki programowej należą plik nagłówkowy z rozszerzeniem.h, plik implementacji z rozszerzeniem.cpp, plik z opisaniem formularza z rozszerzeniem.dfm i plik resursów z rozszerzeniem.res. 3. Zmienne globalne i lokalne Zmienne mogą być globalne i lokalne. Jeżeli programista planuje posługiwać się adresem komórki pamięci zmiennej w zasięgu całego programu, to on definiuje zmienną jako globalną. Miejsce w pamięci, w którym jest rozmieszczona globalna zmienna nie zmienia się w trakcie wykonywania programu. Mówimy, że globalna zmienna ma zasięg całego programu. Jeżeli zmienna jest potrzebna tylko w części programu, to należy zdefiniować zmienną jako lokalną. Miejsce, w którym jest rozmieszczona lokalna zmienna, może być wykorzystane przez system operacyjny w innych częściach programu do rozmieszczenia innych zmiennych. Zdarza się, że w przypadku powtórzenia fragmentu 15

16 programu system operacyjny zmienia miejsce rozmieszczenia tej samej zmiennej lokalnej. Lokalna zmienna ma zasięg bloku, w którym ona jest zdefiniowana. Języki C i C++ Przykład deklaracji zmiennych globalnych: int rozm = 175; double doub = 3.74; void main(void) {... } Przykład deklaracji zmiennych lokalnych: void main(void) { int rozm = 175; double doub = 3.74;... } Język Visual Basic.NET Przykład deklaracji zmiennych globalnych: Dim rozm As Integer = 175 Dim doub As Double = 3.74 Sub Main()... End Sub Przykład deklaracji zmiennych lokalnych: Sub Main() Dim rozm As Integer = 175 Dim doub As Double = End Sub 4. Deklaracje zmiennych importowanych Jeżeli tekst programu jest rozdzielony na pliki i pewna globalna zmienna jest wykorzystana nie tylko w tym pliku, w którym ona jest zdefiniowana, to zmienna powinna być zadeklarowana jako importowana w miejscu jej wykorzystania. Deklaracja zmiennej importowanej zawiera modyfikator importu: słowo extern, lub import, itp. W deklaracji zmiennej importowanej nie można wskazywać początkowe wartości. Deklaracje zmiennych importowanych najwygodniej zapisywać do odrębnych plików nazywanych plikami nagłówkowymi. 16

17 Języki C i C++ Przykłady deklaracji zmiennych: #include <stdio.h> //import pliku nagłówkowego z nazwą "stdio-.h" extern int rozm; extern double doub; void main(void) { doub = rozm * ;... } Język Visual Basic.NET Przykład deklaracji zmiennych: Import Windows Dim rozm As Integer Dim doub As Double 5. Rodzaje zmiennych lokalnych Dla zmiennej lokalnej można zadać jeden z następujących rodzajów: automatyczna, statyczna lub rejestrowa. Zmienna automatyczna jest alokowana i inicjowana przy każdym wykonywaniu instrukcji bloku. Po zakończeniu instrukcji bloku wartość zmiennej automatycznej nie jest zachowywana. Zmienna statyczna jest alokowana i inicjowana tylko przy pierwszym wykonywaniu instrukcji bloku. Po zakończeniu instrukcji bloku wartość zmiennej statycznej jest przechowywana. Zmienna rejestrowa mieści się w jednym z rejestrów komputera, co powoduje szybkie wykonywanie operacji z tą zmiennej. Po zakończeniu instrukcji bloku wartość zmiennej rejestrowej będzie stracona. Jeżeli w bloku programowym zdefiniowano za dużo zmiennych rejestrowych kompilator zamienia zbędne zmienne rejestrowe na zmienne automatyczne. Języki C i C++ Przykład deklaracji zmiennych lokalnych: void main(void) { static licznik = 0; // zmienna statyczna register int indeks = 0; // zmienna rejestrowa double pi = ; //zmienna automatyczna... } Język Visual Basic.NET W języku Visual Basic.NET wszystkie zmienne są automatyczne. Przykład deklaracji zmiennych lokalnych: Sub Main() Dim rozm As Integer =

18 Dim doub As Double = End Sub 6. Stałe Stałą można zdefiniować na dwa sposoby. Po pierwsze, można wykorzystać zmienną z początkowej wartością, która nie jest zmieniana. Można poinformować kompilator o niezbędności śledzenia, aby instrukcje programu nie zmienili wartość zmiennej. W tym celu w językach C, C++ i Object Pascal jest wykorzystane słowo kluczowe const. Przykłady w językach C i C++: const int rozm = 175; const char litera = A ; const char autor[] = Autor ; Po drugiej, można zadeklarować nazwę stałej i jej wartość. W tym przypadku kompilator decyduje o poprawnym rozmieszczeniu stałej i wybiera typ w zależności od wartości stałej. Języki C i C++ W językach C i C++ należy wykorzystać deklarację define, na przykład: #define rozm 175 lub słowo kluczowe const, na przykład: const litera = A ; Język Visual Basic.NET W języku Visual Basic.NET można zadeklarować stałą wykorzystując słowo kluczowe Const Przykład w języku Visual Basic.NET: Const rozm = Tablice programowe Tablice programowe opisują kolejno rozmieszczone w pamięci elementy jednakowego typu. Tablice definiowane są zawsze przez typ elementu tablicy. Język C++ W deklaracji tablicy w języku C++ powinny być wskazane typ danych elementu tablicy i liczba elementów tablicy lub liczba elementów w każdym wymiarze, jeżeli tablica jest wielowymiarowa.. Przykłady deklaracji tablic programowych w języku C++: int tabl1[5];//tablica na 5 elementów typu int unsigned int tabl2[7][10];//tablica z 7*10 elementów typu unsigned int Kompilator języka C++ rozmieszcza w pamięci elementy tablicy wielowymiarowej w kolejnych komórkach pamięci w ten sposób, aby z dwóch sąsiadujących indeksów tablicy indeks z prawej strony zmienia się prędzej. 18

19 Język Visual Basic.NET W języku Visual Basic.NET nietrudno zdefiniować zarówno tablicę jednowymiarową, jak i wielowymiarową. Niezwykłą regułą języka jest wskazanie w deklaracji nie liczby elementów, lecz największej wartości indeksów w każdym wymiarze. Najmniejsza wartość indeksu równa się 0. Kompilator języka Visual Basic.NET rozmieszcza elementy tablicy wielowymiarowej w takie kolejności, że indeks prawy zmienia się szybciej niż indeks lewy. Przykłady deklaracji tablic w języku Visual Basic.NET: Dim tabl1(4) As Integer deklaracja tablicy na 5 elementów typu Integer Dim tabl2(6,9) As Double deklaracja tablicy na 7*10 elementów typu Double 19

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

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

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Temat 1: Podstawowe pojęcia: program, kompilacja, kod Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,

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

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

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści Język programowania DELPHI / Andrzej Marciniak. Poznań, 2012 Spis treści Przedmowa 11 Przyjęta notacja 13 Rozdział 1. Wprowadzenie 15 1.1. Ogólne zasady programowania zorientowanego obiektowo 15 1.2. Historia

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

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

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

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 programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. Podstawy programowania Programowanie wyrażeń 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. W językach programowania są wykorzystywane

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

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

Zmienne, stałe i operatory

Zmienne, stałe i operatory Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe

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

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

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu

Bardziej szczegółowo

Języki i metodyka programowania. Wprowadzenie do języka C

Języki i metodyka programowania. Wprowadzenie do języka C Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia

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

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ Podstawy programowania Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ 1 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD Część I Wstęp do struktur danych: Tablice 2

Bardziej szczegółowo

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania 1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja nie ma parametru i zwraca wartość na zewnątrz. nie ma parametru i nie zwraca wartości na zewnątrz. ma parametr o nazwie void i zwraca

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

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

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

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

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Wykład 8: klasy cz. 4

Wykład 8: klasy cz. 4 Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD

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

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

Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Wykład: 12 Struktury, unie, pola bitowe 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Struktury 2 Struktury Struktury to złożone typy danych

Bardziej szczegółowo

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD Języki C i C++ Wykład: 2 Wstęp Instrukcje sterujące 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe

Bardziej szczegółowo

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Tablice (jedno i wielowymiarowe), łańcuchy znaków Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie

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

Język C zajęcia nr 11. Funkcje

Język C zajęcia nr 11. Funkcje Język C zajęcia nr 11 Funkcje W języku C idea podprogramów realizowana jest wyłącznie poprzez definiowanie i wywołanie funkcji. Każda funkcja musi być przed wywołaniem zadeklarowana. Deklaracja funkcji

Bardziej szczegółowo

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

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

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje

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

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy

Bardziej szczegółowo

Wykład 1

Wykład 1 Wstęp do programowania 1 Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Wprowadzenie Cel wykładów z programowania proceduralnego Wykład jest poświęcony językowi C i jego

Bardziej szczegółowo

Wykład 9: Polimorfizm i klasy wirtualne

Wykład 9: Polimorfizm i klasy wirtualne Programowanie obiektowe Wykład 9: i klasy wirtualne 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD Programowanie obiektowe i metody wirtualne 2 W programowaniu obiektowym polimorfizm

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

ZASADY PROGRAMOWANIA KOMPUTERÓW

ZASADY PROGRAMOWANIA KOMPUTERÓW POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.

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

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

( wykł. dr Marek Piasecki )

( wykł. dr Marek Piasecki ) INE 1007 Informatyka 1 Język programowania C++ ( wykł. dr Marek Piasecki ) Literatura: dowolny podręcznik do języka C++ (na laboratoriach Borland C++ 3.1) Robert Lafore Jerzy Grębosz Andrzej Zalewski Programowanie

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

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

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard

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

Proste algorytmy w języku C

Proste algorytmy w języku C Proste algorytmy w języku C Michał Rad AGH Laboratorium Maszyn Elektrycznych 2016-12-01 Outline Język C Zadanie pierwsze - obliczanie miejsc zerowych wielomianu Zadanie drugie - znajdowanie największego

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ĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6 JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona

Bardziej szczegółowo

Podstawy programowania. Wykład 6 Wskaźniki. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład 6 Wskaźniki. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład 6 Wskaźniki Krzysztof Banaś Podstawy programowania 1 Adresy zmiennych Język C pozwala na operowanie adresami w pamięci stąd, między innymi, kwalifikowanie C jako języka relatywnie

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania

Bardziej szczegółowo

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem. Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -

Bardziej szczegółowo

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku

Bardziej szczegółowo

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static), Tworzenie obiektów Dostęp do obiektów jest realizowany przez referencje. Obiekty w języku Java są tworzone poprzez użycie słowa kluczowego new. String lan = new String( Lancuch ); Obszary pamięci w których

Bardziej szczegółowo

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++ Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard

Bardziej szczegółowo

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania Wykład: 5 Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania w C++ Instrukcje sterujące 2 dr Artur Bartoszewski

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

Typy danych, zmienne i tablice. Tomasz Borzyszkowski

Typy danych, zmienne i tablice. Tomasz Borzyszkowski Typy danych, zmienne i tablice Tomasz Borzyszkowski Silne typy Javy Java jest językiem wyposażonym w silny system typów. Wywodzi się stąd siła i bezpieczeństwo tego języka. Co to znaczy silny system typów?

Bardziej szczegółowo

Programowanie Komputerów

Programowanie Komputerów Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 17 1. Typy i zmienne Jak wiemy, komputer

Bardziej szczegółowo

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa Język C część 1 Literatura [1] Brian W. Kernighan, Dennis M. Ritchie: Język ANSI C, Wydawnictwa Naukowo Techniczne, Warszawa 2003 [2] Anna Strudzioska-Walczak, Krzysztof Walczak, Nakuka programowania dla

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

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

KONSTRUKCJA KOMPILATORÓW

KONSTRUKCJA KOMPILATORÓW KONSTRUKCJA KOMPILATORÓW WYKŁAD Robert Plebaniak PLATFORMA PROGRAMOWA LINUX (może nie zawierać LLgen, wówczas instalacja ze strony http://tack.sourceforge.net); WINDOWS (używa się wtedy programu Cygwin,

Bardziej szczegółowo

Programowanie RAD Delphi

Programowanie RAD Delphi Programowanie RAD Delphi Dr Sławomir Orłowski Zespół Fizyki Medycznej, Instytut Fizyki, Uniwersytet Mikołaja Kopernika w Toruniu Pokój: 202, tel. 611-32-46, e-mial: bigman@fizyka.umk.pl Delphi zasoby Aplikacje

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

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

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor

Bardziej szczegółowo

Programowanie strukturalne język C - wprowadzenie

Programowanie strukturalne język C - wprowadzenie Programowanie strukturalne język C - wprowadzenie Dr inż. Sławomir Samolej D102 C, tel: 865 1766, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl Cechy programowania strukturalnego Możliwość

Bardziej szczegółowo

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia

Bardziej szczegółowo

Wykład 5: Klasy cz. 3

Wykład 5: Klasy cz. 3 Programowanie obiektowe Wykład 5: cz. 3 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD - podstawy Konstruktor i destruktor (część I) 2 Konstruktor i destruktor KONSTRUKTOR Dla przykładu

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

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

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

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO Rozdział 1. Wybór i instalacja kompilatora języka Pascal 1.1. Współczesne wersje kompilatorów Pascala 1.2. Jak zainstalować

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

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop. 2010 Spis treści Wstęp 11 Część I PASCAL - wprowadzenie do programowania strukturalnego

Bardziej szczegółowo

Struktura programu. Projekty złożone składają się zwykłe z różnych plików. Zawartość każdego pliku programista wyznacza zgodnie z jego przeznaczeniem.

Struktura programu. Projekty złożone składają się zwykłe z różnych plików. Zawartość każdego pliku programista wyznacza zgodnie z jego przeznaczeniem. Struktura programu Projekty złożone składają się zwykłe z różnych plików. Zawartość każdego pliku programista wyznacza zgodnie z jego przeznaczeniem. W ostatnich latach najbardziej używanym stylem oprogramowania

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)

Bardziej szczegółowo

Podstawy programowania w języku C

Podstawy programowania w języku C Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu

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

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

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

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h> Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch

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

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje:

Bardziej szczegółowo

Lab 9 Podstawy Programowania

Lab 9 Podstawy Programowania Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany

Bardziej szczegółowo

Struktury, unie, formatowanie, wskaźniki

Struktury, unie, formatowanie, wskaźniki Struktury, unie, formatowanie, wskaźniki 1. Napisz aplikację, która na wejściu dostaje napis postaci W Roku Pańskim 1345, władca Henryk 12, na rzecz swoich 143209 poddanych uchwalił dekret o 20 procentowej

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

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 programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan wykładów (1) Algorytmy i programy Proste typy danych Rozgałęzienia

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

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu. Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą

Bardziej szczegółowo