Podstawy programowania
|
|
- Michalina Kalinowska
- 8 lat temu
- Przeglądów:
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 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ółowoPodstawy 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ółowoPRYWATNA 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ółowoProgramowanie 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ółowoWykł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ółowoJę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ółowoJę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ółowoPodstawy 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ółowoAlgorytmika i pseudoprogramowanie
Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Programowanie Strukturalne i Obiektowe Klasa: druga Dział Dopuszczający Dostateczny Dobry
Bardziej szczegółowoProgramowanie 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ółowoTechnologie informacyjne - wykład 12 -
Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski
Bardziej szczegółowoTemat 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ółowoAlgorytm. 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ółowoPodstawy 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ółowoPodstawy 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ółowoJę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ółowo1. 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ółowoJę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ółowoElż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ółowoProgramowanie 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ółowoINFORMATYKA, 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ółowoPRYWATNA 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ółowoWstę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ółowoWykł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ółowoDariusz 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ółowoJAVA. 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ółowoAlgorytmy od problemu do wyniku
Algorytmy Etapy tworzenia programu: 1) Sformułowanie zadania analiza problemu. 2) Opracowanie algorytmu sposób rozwiązania. 3) Zapisanie algorytmu w języku programowania kodowanie programu. 4) Kompilowanie
Bardziej szczegółowoAlgorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji.
Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji. Maria Górska 9 stycznia 2010 1 Spis treści 1 Pojęcie algorytmu 3 2 Sposób
Bardziej szczegółowoWykł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ółowoPodstawy 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ółowoKurs 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ółowoProgramowanie. 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ółowoAnaliza leksykalna 1. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki
Analiza leksykalna 1 Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Kod źródłowy (ciąg znaków) Analizator leksykalny SKANER Ciąg symboli leksykalnych (tokenów)
Bardziej szczegółowoProgramowanie obiektowe - 1.
Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która
Bardziej szczegółowoProgramowanie 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ółowoPodstawy 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ółowoAlgorytmy i struktury danych. Wykład 4
Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych
Bardziej szczegółowoAnaliza leksykalna 1. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki
Analiza leksykalna 1 Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Kod źródłowy (ciąg znaków) Analizator leksykalny SKANER Ciąg symboli leksykalnych
Bardziej szczegółowoPodstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
Podstawy programowania Wykład: 13 Rekurencja 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Rekurencja - pojęcie 2 Rekurencja - pojęcie Rekurencja (rekursja) wywołanie
Bardziej szczegółowoJę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ółowoKONSTRUKCJA 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ółowoWstę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ółowoParadygmaty 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ółowoJava 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ółowoProgramowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści
Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop. 2017 Spis treści O autorach 11 Podziękowania 12 Wprowadzenie 13 CZĘŚĆ I ZACZNIJ PROGRAMOWAĆ JUŻ DZIŚ Godzina 1. Praktyczne
Bardziej szczegółowoPodstawy 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ółowoMetodyki 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ółowoWstęp do informatyki- wykład 2
MATEMATYKA 1 Wstęp do informatyki- wykład 2 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy
Bardziej szczegółowoMetodyki 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ółowoAlgorytmy 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ółowoMetody Kompilacji Wykład 1 Wstęp
Metody Kompilacji Wykład 1 Wstęp Literatura: Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman: Compilers: Princiles, Techniques, and Tools. Addison-Wesley 1986, ISBN 0-201-10088-6 Literatura: Alfred V. Aho,
Bardziej szczegółowoKurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017
Wykład 12 7 czerwca 2017 Czym jest UML? UML składa się z dwóch podstawowych elementów: notacja: elementy graficzne, składnia języka modelowania, metamodel: definicje pojęć języka i powiazania pomiędzy
Bardziej szczegółowoProgramowanie 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ółowoWykł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ółowoInformatyka 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ółowoJę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ółowo1 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ółowoZapisywanie algorytmów w języku programowania
Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym
Bardziej szczegółowoCzym 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ółowoProgramowanie 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ółowoPodczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.
Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.
Bardziej szczegółowoKomputer 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ółowoInformatyka 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ółowoJę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ółowoPodstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Rodzaje plików Dane przechowywane w pliku mogą mieć reprezentację binarną (taką samą, jak
Bardziej szczegółowoJak 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ółowoTechniki 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ółowoPodstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Tablica znaków w językach C i C++ (oraz pochodnych) łańcuch znaków przechowywany jest jako
Bardziej szczegółowoPodstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
Bardziej szczegółowoPascal - wprowadzenie
Pascal - wprowadzenie Ogólne informacje o specyfice języka i budowaniu programów Filip Jarmuszczak kl. III c Historia Pascal dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego
Bardziej szczegółowoMETODY 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ółowoPodstawy 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ółowoProgramowanie i techniki algorytmiczne
Temat 2. Programowanie i techniki algorytmiczne Realizacja podstawy programowej 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych 2) formułuje ścisły opis prostej
Bardziej szczegółowoWstęp do informatyki- wykład 1
MATEMATYKA 1 Wstęp do informatyki- wykład 1 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy
Bardziej szczegółowoAlgorytm. 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ółowoJava 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ółowoProgramowanie 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ółowoProgramowanie 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ółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
Bardziej szczegółowo2.8. Algorytmy, schematy, programy
https://app.wsipnet.pl/podreczniki/strona/38766 2.8. Algorytmy, schematy, programy DOWIESZ SIĘ co oznaczają pojęcia: algorytm, schemat blokowy, język programowania, jakie są sposoby obliczania największego
Bardziej szczegółowoJeś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ółowoPodstawy 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ółowoZadanie analizy leksykalnej
Analiza leksykalna 1 Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Przykład: We: COST := ( PRICE + TAX ) * 0.98 Wy: id 1 := ( id 2 + id 3 ) * num 4 Tablica symboli:
Bardziej szczegółowoPierwsze 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ółowoForPascal 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ółowoPodstawy Programowania
Podstawy Programowania Monika Wrzosek Instytut Matematyki Uniwersytet Gdański Matematyka 2017/18 Monika Wrzosek (IM UG) Podstawy Programowania 1 / 119 Sprawy organizacyjne E-mail: mwrzosek@mat.ug.edu.pl
Bardziej szczegółowoAlgorytmy i struktury danych. wykład 2
Plan wykładu: Pojęcie algorytmu. Projektowanie wstępujące i zstępujące. Rekurencja. Pojęcie algorytmu Pojęcie algorytmu Algorytm skończony zbiór operacji, koniecznych do wykonania zadania z pewnej klasy
Bardziej szczegółowoKlasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny
Klasa 2 INFORMATYKA dla szkół ponadgimnazjalnych zakres rozszerzony Założone osiągnięcia ucznia wymagania edukacyjne na poszczególne oceny Algorytmy 2 3 4 5 6 Wie, co to jest algorytm. Wymienia przykłady
Bardziej szczegółowoXQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
Bardziej szczegółowoPodstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
programowania Wykład: 4 Instrukcje sterujące, operatory 1 programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe ; instrukcja_krok ) tresc_petli ; instrukcja_ini
Bardziej szczegółowoTeraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.
Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Grażyna Koba MIGRA 2019 Spis treści (propozycja na 2*32 = 64 godziny lekcyjne) Moduł A. Wokół komputera i sieci komputerowych
Bardziej szczegółowoPo uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
Bardziej szczegółowoElektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) Niestacjonarne (stacjonarne / niestacjonarne)
Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Informatyka 2 Nazwa modułu w języku angielskim Computer science 2 Obowiązuje
Bardziej szczegółowoModelowanie 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ółowoPraktyka 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ółowoWprowadzenie 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ółowoProgramowanie 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ółowoAutor: dr inż. Katarzyna Rudnik
Bazy danych Wykład 2 MS Access Obiekty programu, Reprezentacja danych w tabeli, Indeksy, Relacje i ich sprzężenia Autor: dr inż. Katarzyna Rudnik Obiekty programu MS ACCESS Obiekty typu Tabela są podstawowe
Bardziej szczegółowoNiniejszy 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ółowo1 Wprowadzenie do algorytmiki
Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności
Bardziej szczegółowo