Programowanie. Technologie Informacyjne

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

Download "Programowanie. Technologie Informacyjne"

Transkrypt

1 Technologie Informacyjne

2 Proces projektowania, tworzenia, testowania i utrzymywania kodu źródłowego programów komputerowych lub urządzeń mikroprocesorowych Kod źródłowy jest napisany w języku programowania wymaga dużej wiedzy i doświadczenia w wielu różnych dziedzinach 2

3 3

4 Język programowania Zbiór zasad składni, instrukcji, dzięki którym powstaje kod źródłowy programu Procesor wykonuje program w kodzie maszynowym Programista używa języka zrozumiałego dla człowieka, który następnie jest kompilowany bądź interpretowany do postaci maszynowej 4

5 Wybór języka programowania Wybór języka programowania najbardziej dostosowanego do rozwiązywanego zadania i ewentualnej istniejącej infrastruktury paradygmat i rodzaj języka przenośność i wydajność kompilatorów dojrzałość oraz dostępność narzędzi i dokumentacji 5

6 History of Programming Languages 6

7 Języki programowania Plankalkü l Asembler y 1957 Fortran 1960 LISP Pierwszy język programowania przedstawiony przez Konrada Zuse Do 1959 roku ok. 200 języków programowania! John Backus, IBM, Fortran II, Fortran IV (1966), Fortran 77 (1977), Fortran 90 (1991) J. McCarthy, MIT, InterLisp, MacLisp, PSL, Common LISP (1984), Scheme (dialekt LISPu) 1960 Algol Algol 60, Algol COBOL główne zmiany 1968 i 1974, ostatnia COBOL APL Ken Iverson (Harvard) APL/PC, APL*PLUS 1962 SIMULA Kristen Nygaard & Ole-Johan Dahl, pierwsza implementacja 1964, SIMULA 67, Simulink (Matlab) 1964 BASIC John G. Kemeny & Thomas E. Kurtz, Dartmouth College, wiele dialektów 1964 PL/I George Radin, dialekty: EPL, PL/S, XPL etc 7

8 Języki programowania 1971 Prolog 1972 C Alain Colmerauer and Phillipe Roussel, Univ. Aix-Marseille, Prolog-2, Prolog++, Prolog-D-Linda Dennis Ritchie, Bell Labs, C* do programów współbieżnych, dialekty: Visual C 1975 Pascal N. Wirth, ETH, dialekty: Pascal Plus, TurboPascal, Pascal/R, wiele innych 1979 Modula-2 N. Wirth, ETH, wersja I z 1977 roku, dialekty: Modula-2+, Modula-3, Modula- P, Modula/R 1980 dbase II wersje późniejsze: dbase III, III+, IV, V Ada Smalltalk- 80 Xerox PARC, pod kierownictwem Alana Kay'a, rozwój od 1970 roku, Smalltalk/V na PC. Jean Ichbiah, CII Honeywell, standard Ada 83, rozszerzenia Ada++, Ada 9X nowy standard 1986 C++ Bjarne Stroustrup, AT&T, liczne implementacje 1988 Mathemati ca 1995 Java SunSoft Steven Wolfram, oparta na języku SMP, ver. 2 8

9 Najpopularniejsze Języki Programowania Ratings Nov ,92% 2,40% 3,49% 4,67% 18,37% 5,35% 8,17% 17,32% 10,00% 10,18% TIOBE Programming Community Index for November 2009 Java C PHP C++ (Visual) Basic C# Python Perl JavaScript Ruby 9

10 Najpopularniejsze Języki Programowania Ratings Nov ,19% 2,47% 1,91% 5,47% 18,51% 5,68% 5,71% 16,72% 7,81% 9,50% TIOBE Programming Community Index for November 2010 Java C C++ PHP C# Python (Visual) Basic Objective-C Perl Ruby 10

11 Najpopularniejsze Języki Programowania Ratings Jan ,17% 2,26% 1,98% 4,75% 5,55% 6,20% 9,14% 10,28% 17,86% 17,42% TIOBE Programming Community Index for November 2010 C Java Objective-C C++ C# PHP (Visual) Basic Python Perl JavaScript 11

12 Najpopularniejsze Języki Programowania 12

13 Najpopularniejsze Języki Programowania Programming Language of the Year Year Winner 2012 Objective-C 2011 Objective-C 2010 Python 2009 Go 2008 C 2007 Python 2006 Ruby 2005 Java 2004 PHP 2003 C++ Category Ratings Jan 2013 Delta Jan 2012 Object-Oriented Languages 58.9% +1.8% Procedural Languages 36.3% -0.6% Functional Languages 3.4% -0.8% Logical Languages 1.4% -0.4% 13

14 Języki programowania Języki niskiego i wysokiego poziomu Języki kompilowane, interpretowane, kompilowanointerpretowany Języki pierwszej, drugiej, trzeciej, czwartej generacji 14

15 Języki pierwszej generacji Języki maszynowe, czyli języki procesorów Instrukcje są w nich zapisywane w postaci liczb binarnych

16 Języki drugiej generacji Języki symboliczne, asemblery. języki niskiego poziomu, pod względem składni tożsame z językiem maszynowym zamiast liczb używa się łatwiejszych do zapamiętania mnemoników (jmp, mov) jmp ffff:0 mov ax, bx add ax, 1 16

17 Języki trzeciej generacji Języki wysokiego poziomu Jedna instrukcja programu jest tłumaczona na kilka instrukcji procesora (5-10) Pierwszym językiem tego typu był ALGOL języki nie: FORTH, BASIC języki : Pascal, C, FORTRAN języki zorientowane obiektowo: C++, Java if(!x) printf("nie wolno dzielić przez zero\n"); return 1; 17

18 Języki czwartej generacji 4GL Języki bardzo wysokiego poziomu Języki zapytań do baz danych SQL Generatory raportów / stron Mathematica Przetwarzanie danych, analiza i raportowanie Tworzenie GUI Języki zorientowane problemowo, ang. task oriented languages Syntaktyka wielu języków czwartej generacji przypomina składnię języka naturalnego SELECT Nazwa FROM "Faktura.db" WHERE Cena >

19 Języki piątej generacji Języki sztucznej inteligencji Języki systemów ekspertowych Języki najbardziej zbliżone do języka naturalnego Przykładem języka piątej generacji jest PROLOG?- polaczenie(sf, ny, Odlot, Przylot), Odlot > 900. Odlot = 930, Przylot = 2200? ; no 19

20 Paradygmat programowania proceduralne funkcyjne imperatywne uogólnione zdarzeniowe logiczne (np. Prolog) aspektowe (np. AspectJ) deklaratywne 20

21 Paradygmat programowania Category Ratings Nov 2009 Delta Nov 2008 Object-Oriented Languages 54.4% -3.2% Procedural Languages 41.6% +2.8% Functional Languages 2.8% +0.2% Logical Languages 1.3% +0.1% Category Ratings Nov 2010 Delta Nov 2009 Object-Oriented Languages 56.7% +2.4% Procedural Languages 38.0% -3.5% Functional Languages 3.6% +0.7% Logical Languages 1.7% +0.4% 21

22 programowanie imperatywne najbardziej pierwotny sposób programowania, program postrzegany jest jako ciąg poleceń dla komputera Fortran, Algol, Pascal, Ada, C instrukcje podstawienia działają na danych pobranych z pamięci, wynik również umieszczają w pamięci, abstrakcją komórek pamięci są zmienne 22

23 programowanie zbiór porozumiewających się ze sobą obiektów, czyli jednostek zawierających pewne dane i umiejących wykonywać na nich pewne operacje powiązanie danych (czyli stanu) z operacjami na nich (czyli poleceniami) w całość, stanowiącą odrębną jednostkę obiekt 23

24 programowanie funkcyjne program to po prostu złożona funkcja (w sensie matematycznym), która otrzymawszy dane wejściowe wylicza pewien wynik brak stanu maszyny, nie ma zmiennych 24

25 Języki programowania Wieloparadygmatowe Ada C++ Common Lisp D Fortran Icon JavaScript Nemerle Perl Python Ruby PHP Snobol Proceduralne i AWK C COBOL Forth Modula-2 Oberon Pascal PL/SQL REXX Lib Sh Obiektowe C# Eiffel Java Object Pascal Objective-C Smalltalk VB.NET Funkcyjne Erlang F# Haskell Lisp ML Ocaml Scheme Logiczne Prolog 25

26 Podstawy programowania 26

27 Zmienne Zmienne stanowią abstrakcję komórek pamięci Nazwa dozwolone znaki, liczba znaków Adres Wartość zawartość komórki pamięci związanej z daną zmienną Typ zbiór dopuszczalnych wartości, precyzja 27

28 Zmienne typy skalarne Deklaracja Nazwa zmiennej Wartość początkowa typ identyfikator = inicjalizator; Definicja char x = A ; // typ char 1 bajt, // kod ASCII lub liczba całkowita int y = 5; // typ int 4 bajty // liczba całkowita 28

29 Zmienne typy tablicowe char wydzial[8] = WEiA,PG ; //tablica znakowa 8 elementów typu char //zdefiniowano 7 znaków i kod zakończenia ciągu \0 Adres w pamięci wydzial[0] W E i A, P G \ Kod zakończenia int dane[4] = 32, 47, 25, 58; //definicja tablicy liczbowej 4 elementów typu int 29

30 Instrukcja przypisania 30

31 Instrukcja warunkowa 31

32 Instrukcja warunkowa Instrukcja grupująca Czy warunek jest spełniony? Tak Nie //sekwencja na Tak //sekwencja na Nie 32

33 Instrukcja warunkowa #include <iostream.h> int main (void) double x = 0; cout << ocena = ; cin >> x; if (x >= 3.0) cout << zaliczenie << endl; else cout << poprawka << endl; return 0; Instrukcja cout wyprowadza na monitor komunikat ocena=. Instrukcja cin pozwala wprowadzić dane z klawiatury pod zmienną x. Jeśli x>=3 to instrukcja cout wyprowadzi na monitor (konsolę) komunikat o zaliczeniu. Jeśli x<3 to instrukcja cout wyprowadzi na monitor (konsolę) komunikat o poprawce. Do wyprowadzania informacji tekstowej na monitor stosuje się operator <<. Do wprowadzania informacji z klawiatury stosuje się operator >>. 33

34 case param = wartosc param=c1? Nie false Tak true //gałąź pierwsza c1 Inicjalizacja parametru break Instrukcja przerwania nakazuje zakończenie instrukcji decyzyjnej. case param=c2? Tak true //gałąź druga c2 break Nie false case param=c3? Tak true //gałąź trzecia c3 break Nie false default //instrukcja domyslna 34

35 param = wartosc Inicjalizacja parametru case param=c1? Nie false case param=c2? Tak true Tak true //gałąź pierwsza c1 //gałąź druga c2 break break Gałąź pierwsza realizowana, gdy warunek porównania jest na true. Przy braku instrukcji przerwania badany jest warunek w gałęzi 2. Nie false case param=c3? Tak true //gałąź trzecia c3 break Nie false default //instrukcja domyslna 35

36 param = wartosc Inicjalizacja parametru case param=c1? Nie false Tak true //gałąź pierwsza c1 break case param=c2? Nie false case param=c3? Tak true Tak true //gałąź druga c2 //gałąź trzecia c3 break break Warunek true w gałęzi drugiej powoduje jej realizację. Gdy jest instrukcja przerwania, to następuje zakończenie. Jeśli nie, to badany jest warunek w gałęzi trzeciej. Nie false default //instrukcja domyslna 36

37 param = wartosc Inicjalizacja parametru case param=c1? Nie false Tak true //gałąź pierwsza c1 break case param=c2? Tak true //gałąź druga c2 break Nie false case param=c3? Nie default false Tak true //gałąź trzecia c3 break Jeśli warunek w gałęzi trzeciej jest na true, to jest ona realizowana. Podobny scenariusz dotyczy następnych gałęzi jeśli występują. //instrukcja domyslna 37

38 param = wartosc Inicjalizacja parametru case param=c1? Nie false Tak true //gałąź pierwsza c1 break case param=c2? Tak true //gałąź druga c2 break Nie false case param=c3? Nie default false Tak true //instrukcja domyslna //gałąź trzecia c3 break Gdy żaden warunek nie jest spełniony, to realizowana jest sekwencja instrukcji w sekcji default. 38

39 Instrukcja warunkowa #include <iostream.h> int main() char symbol = 'N'; cout << "Wybierz element <R,L,C>: "; cin >> symbol; switch (symbol) case 'R':cout Wyprowadzenie << "Rezystor" komunikatu << endl; na break; monitor i case 'L':cout oczekiwanie << "Cewka" na << wprowadzenie endl; break; danej z klawiatury case 'C':cout << "Kondensator" << endl; break; default:cout << "Inny element" << endl; return 0; 39

40 Instrukcja warunkowa Instrukcja switch zawiera 4 gałęzie. Trzy w sekcji case i jedną w sekcji default. Gałęzie w sekcji case zawierają instrukcje przerwania break, co oznacza, że #include <iostream.h> przyporządkowanie symbolu do nazwy elementu jest int main() jednoznaczne. char symbol = 'N'; cout << "Wybierz element <R,L,C>: "; cin >> symbol; switch (symbol) case 'R':cout << "Rezystor" << endl; break; case 'L':cout << "Cewka" << endl; break; case 'C':cout << "Kondensator" << endl; break; default:cout << "Inny element" << endl; return 0; 40

41 Instrukcja pętli 41

42 Instrukcja pętli #include <iostream.h> int main() double oceny[5] = 3,4,5,2,3.5; double suma = 0; for(int i=0; i<5; i++) suma = suma + oceny[i]; double srednia = suma/5; cout << "srednia = " << srednia << endl; return 0; Definicja tablicy oceny typu double o rozmiarze 5. Definicja zmiennej suma o wartości 0. 42

43 Instrukcja pętli #include <iostream.h> int main() double oceny[5] = 3,4,5,2,3.5; double suma = 0; for(int i=0; i<5; i++) suma = suma + oceny[i]; double srednia = suma/5; cout << "srednia = " << srednia << endl; return 0; Instrukcja for wykonuje 5 cykli. Zmienna sterująca i rozpoczyna proces od wartości 0 i pod koniec cyklu jest zwiększana o 1 (i++). W każdej iteracji kolejny element tablicy jest dodawany do zmiennej suma. 43

44 Instrukcja pętli #include <iostream.h> int main() double oceny[5] = 3,4,5,2,3.5; double suma = 0; for(int i=0; i<5; i++) suma = suma + oceny[i]; double srednia = suma/5; cout << "srednia = " << srednia << endl; return 0; Definicja zmiennej srednia inicjowanej do wartości średniej z sumy ocen. Wyprowadzenie informacji o średniej na monitor 44

45 Podstawy Programowania 45

46 Języki programowania go Simula 67 Smalltalku 80 C++ Java 46

47 Podejście int main() //kod funkcji glownej //wymiary 1 wieloscianu double a1 = 1; double b1 = 2; double c1 = 3; //... //wymiary 2 wieloscianu double a2 = 4; double b2 = 5; double c2 = 6; //... return 0; Program wykonuje obliczenia na wielobokach o wymiarach: szerokość a, długość b, wysokość c Niewygodny i nieczytelny kod programu, w którym zmienne są deklarowane dla n wieloboków 47

48 Podejście cd. //struktura o nazwie Box struct Box double a; double b; double c; int main() //definicja zmiennej box1 Box box1 = 1,2,3; //definicja zmiennej box2 Box box2 = 4,5,6; //... return 0; Uporządkowanie kody wykorzystując strukturę o nazwie Box Możliwość prostego tworzenia n wieloboków wykorzystując tablice zmiennych strukturowych Box 48

49 Podejście cd. Następnym zadaniem programistycznym jest obliczenie objętości każdego zdefiniowanego prostopadłościanu. Należy stworzyć metodę (funkcję) wykonującą ten proces 49

50 struct Box double a; double b; double c; //struktura o nazwie Box //definicja funkcji Volume double Volume (double u, double v, double w) return u*v*w; int main() 50 //funkcja glowna main //definicja zmiennej box1 Box box1 = 1,2,3; double V1 = Volume(box1.a, box1.b, box1.c); //definicja zmiennej box2 Box box2 = 4,5,6; double V2 = Volume(box2.a, box2.b, box2.c); //... return 0; Dodanie funkcji Volume liczącej objętość figury

51 class CBox //klasa o nazwie Cbox public: double m_a; double m_b; double m_c; int main() //funkcja glowna main //definicja obiektu box1 CBox box1; box1.m_a = 1; //inicjalizacja pola m_a box1.m_b = 2; //inicjalizacja pola m_b box1.m_c = 3; //inicjalizacja pola m_c //definicja obiektu box2 CBox box2; //... return 0; Zamiast struktury Box wprowadzono klasę CBox 51

52 class CBox //klasa o nazwie Cbox public: double m_a; double m_b; double m_c; int main() //funkcja glowna main //definicja obiektu box1 CBox box1; box1.m_a = 1; //inicjalizacja pola m_a box1.m_b = 2; //inicjalizacja pola m_b box1.m_c = 3; //inicjalizacja pola m_c //definicja obiektu box2 CBox box2; //... return 0; Zmienna typu klasy nazywa się obiektem 52

53 class CBox //klasa o nazwie Cbox public: double m_a; double m_b; double m_c; int main() //funkcja glowna main //definicja obiektu box1 CBox box1; box1.m_a = 1; //inicjalizacja pola m_a box1.m_b = 2; //inicjalizacja pola m_b box1.m_c = 3; //inicjalizacja pola m_c //definicja obiektu box2 CBox box2; //... return 0; W tym przykładzie wymagany jest operator bezpośredniego dostępu do własności: nazwa_obiektu.własność_obiektu operator bezpośredniego dostępu - kropka 53

54 class Cbox //klasa o nazwie Cbox public: double m_a; double m_b; double m_c; CBox(double a, double b, double c) m_a=a; m_b=b; m_c=c; int main() //definicja obiektu box1 CBox box1 = CBox(1,2,3); //definicja obiektu box2 CBox box2 = CBox(4,5,6); return 0; //funkcja glowna main Definicja konstruktora klasy Definicja obiektu klasy z inicjacją zmiennych obiektu wykorzystując konstruktor 54

55 class CBox //klasa o nazwie CBox public: double m_a; double m_b; double m_c; CBox(double a, double b, double c) m_a=a; m_b=b; m_c=c; double Volume() return m_a*m_b*m_c; int main() //funkcja glowna main //definicja obiektu box1 CBox box1 = CBox(1,2,3); //operacja obliczenia objetosci i przypisania do V1 double V1 = box1.volume(); //... return 0; 55 Dodanie funkcji liczącej objętość do sekcji publicznej klasy CBox Wywołanie przez obiekt box1 swojej metody Volume() i przypisanie wartości zwróconej przez tę metodę zmiennej V1

56 class CBox public: Języki programowania //klasa o nazwie Cbox //sekcja publiczna CBox(double a, double b, double c) m_a=a; m_b=b; m_c=c; double Volume() return m_a*m_b*m_c; protected: //sekcja chroniona private: //sekcja prywatna Zasoby sekcji prywatnej nie mogą być double m_a; double m_b; dziedziczone, sekcji chronionej tak double m_c; //... box1.m_a; //bledna operacja zasob prywatny //... 56

57 struct Języki programowania Box class CBox public: double a; CBox(double a, double b, double c) double b; double c; m_a=a; m_b=b; m_c=c; double Volume (double u, double v, double w) double Volume() return m_a*m_b*m_c; return u*v*w; protected: int main() private: double m_a; double m_b; Box box1 = 1,2,3; double m_c; Box box2 = 4,5,6; double int main() V1 = Volume(box1.a, box1.b, box1.c); CBox box1 = CBox(1,2,3); double CBox box2 = CBox(3,4,5); V2 = Volume(box2.a, box2.b, box2.c); double V1 = box1.volume(); double V2 = box2.volume(); return 0; return 0; 57 dr inż. Michał Michna

58 Dziedziczenie chronione class Klasa_B : protected Klasa_A Klasa A Public Protected Private Klasa B Public Protected Private 58

59 Dziedziczenie prywatne class Klasa_B : private Klasa_A Klasa A Public Protected Private Klasa B Public Protected Private 59

60 Obiektowy PHP class nazwaklasy var $zmienna1; function construct($param) echo Konstruktor wywołany z parametrem $param <br /> ; public $zmienna2 protected function operacja1() echo Wykonano opracje1 60

61 61

62 Proces programowania Sformułowanie problemu (specyfikacja) Analiza problemu i znalezienie metody jego rozwiązania (opracowanie algorytmu) Zakodowanie algorytmu (napisanie programu) Uruchomienie i przetestowanie programu Konserwacja oprogramowania 62

63 CASE, UML Upper-CASE wspomaganie fazy określania wymagań i analizy (modelowania), nie wspomagając procesu implementacji nie są związane z żadnym środowiskiem programistycznym Lower-CASE stosowane do etapów projektowania i implementacji, w związku z czym na ogół są jednoznacznie związane z środowiskiem lub językiem programowania 63

64 CASE, UML 64

65 CASE, UML 65

66 CASE, UML 66

67 Edytory Debugery Kompilatory Generatory dokumentacji IDE RAD (Rapid Application Development) 67

68 68

69 69

70 70

71 71

72 Elektrotechnika 72

73 Procesory sygnałowe (DSP) Assembler C 73

74 Sterowniki programowalne (PLC) lista instrukcji (IL), język strukturalny (ST) Schemat drabinkowy (LD) Schemat blokowy (FBD) Graf sekwencji (SFC) 74

75 Programy CAD AutoCAD VisualLISP ObjectARX Visual Basic for Application 75

76 zastosowania Układy pomiarowe i akwizycji danych LabView 76

77 Modelowanie matematyczne MATLAB/Simulink 77

78 Modelowanie matematyczne Wolfram/Mathematica 78

79 Modelowanie matematyczne Wolfram/Mathematica 79

80 zastosowania Obwody elektryczne SPICE, MAST Urządzenia elektryczne VHDL 80

81 Literatura wania

Programowanie. Technologie Informacyjne

Programowanie. Technologie Informacyjne Programowanie Technologie Informacyjne Programowanie Proces projektowania, tworzenia, testowania i utrzymywania kodu źródłowego programów komputerowych lub urządzeń mikroprocesorowych Kod źródłowy jest

Bardziej szczegółowo

Krótka historia języków programowania

Krótka historia języków programowania Krótka historia języków programowania Rok Język Twórca, wersje, dialekty, uwagi 1952 asemblery 1957 Fortran 1960 LISP 1960 Algol Algol 60, Algol 68 1960 COBOL 1962 APL 1962 SIMULA 1964 BASIC Do 1959 roku

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

Programowanie I. Wprowadzenie. Proces programowania

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Języki i paradygmaty programowania. I. Wprowadzenie

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

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

Bardziej szczegółowo

Podstawy Programowania. Języki programowania

Podstawy Programowania. Języki programowania Podstawy Programowania Wykład XII Języki programowania Robert Muszyński ZPCiR ICT PWr Zagadnienia: generacje języków progamowania, kod maszynowy, asembler, drzewo genealogiczne języków wysokiego poziomu,

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

Podstawy Programowania Obiektowego

Podstawy 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ółowo

Technologie cyfrowe semestr letni 2018/2019

Technologie cyfrowe semestr letni 2018/2019 Technologie cyfrowe semestr letni 2018/2019 Tomasz Kazimierczuk Wykład 7 (08.04.2019) Wikipedia Programowanie komputerów proces projektowania, tworzenia, testowania i utrzymywania kodu źródłowego programów

Bardziej szczegółowo

Podstawy programowania wykład

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

dr inż. Paweł Myszkowski Wykład nr 5 (16.03.2016)

dr inż. Paweł Myszkowski Wykład nr 5 (16.03.2016) dr inż. Paweł Myszkowski Politechnika Białostocka Wydział Elektryczny Elektronika i Telekomunikacja, semestr II, studia stacjonarne I stopnia Rok akademicki 2015/2016 Wykład nr 5 (16.03.2016) Plan prezentacji:

Bardziej szczegółowo

Programowanie obiektowe, wykład nr 6. Klasy i obiekty

Programowanie obiektowe, wykład nr 6. Klasy i obiekty Dr hab. inż. Lucyna Leniowska, prof. UR, Zakład Mechatroniki, Automatyki i Optoelektroniki, IT Programowanie obiektowe, wykład nr 6 Klasy i obiekty W programowaniu strukturalnym rozwój oprogramowania oparto

Bardziej szczegółowo

Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18

Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18 Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18 Literatura Języki i paradygmaty programowania Wykład 2 1. C. S. Horstman, G. Cornell, core Java 2 Podstawy, Helion 2003

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

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

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

Bardziej szczegółowo

Technologie informacyjne - wykład 12 -

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

Bardziej szczegółowo

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ęzyki i paradygmaty programowania

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

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Wykład 1 21 lutego 2019 Plan wykładu 1 Opis wykładu Zaliczenie i egzamin Literatura 2 3 Modelowanie obiektowe Abstrakcja Hermetyzacja Dziedziczenie Polimorfizm 4 Opis wykładu Zaliczenie i egzamin Literatura

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Programowanie w języku C++ Podstawowe paradygmaty programowania

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

Bardziej szczegółowo

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

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

Programowanie obiektowe Wykład 1. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20

Programowanie obiektowe Wykład 1. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 O mnie prowadzący wykład: Dariusz Wardowski pokój: A334 dyżur: środa, godz. 10.00 12.00 e-mail: wardd@math.uni.lodz.pl

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Języki i metodyka programowania

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

Bardziej szczegółowo

Języki programowania - podstawy

Języki programowania - podstawy Języki programowania - podstawy Andrzej Dudek Wydział Techniczno Informatyczny W Jeleniej Górze Dudek A. Informatyka przemysłowa tendencje i wyzwania 26.10.2015 1 /24 Algorytm określony sposób rozwiązania

Bardziej szczegółowo

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu Programowanie V Dariusz Skibicki Wydział Inżynierii Mechanicznej Uniwersytet Technologiczno-Przyrodniczy im. Jana i Jędrzeja Śniadeckich w Bydgoszczy dariusz.skibicki(at)utp.edu.pl Programowanie Projektowanie

Bardziej szczegółowo

Mechanizm dziedziczenia

Mechanizm dziedziczenia Mechanizm dziedziczenia Programowanie obiektowe jako realizacja koncepcji ponownego wykorzystania kodu Jak przebiega proces dziedziczenia? Weryfikacja formalna poprawności dziedziczenia Realizacja dziedziczenia

Bardziej szczegółowo

Podstawy Programowania Podstawowa składnia języka C++

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

Bardziej szczegółowo

Część 4 życie programu

Część 4 życie programu 1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część

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

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

Podstawy Informatyki Języki programowania

Podstawy Informatyki Języki programowania Podstawy Informatyki Języki programowania alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Wprowadzenie Języki programowania 2 Przykład Wczytywanie programu do pamięci Podsumowanie 3 Przykład

Bardziej szczegółowo

Podstawy Programowania. Wykład 1

Podstawy Programowania. Wykład 1 Podstawy Programowania Wykład 1 Jak się uczyć programowania? Wykład i laboratorium Literatura Jerzy Grębosz Symfonia C++ Bjarne Stroustrup Język C++ Bruce Eckel Thinking in C++ Tony L. Hansen C++ zadania

Bardziej szczegółowo

Algorytmy od problemu do wyniku

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

Bardziej szczegółowo

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

Wykład 4. Algorytmy i programy. Algorytmy + struktury danych = programy. Niklaus Wirth. Algorytm = logika + sterowanie.

Wykład 4. Algorytmy i programy. Algorytmy + struktury danych = programy. Niklaus Wirth. Algorytm = logika + sterowanie. Wykład 4 Algorytmy + struktury danych = programy Niklaus Wirth Algorytm = logika + sterowanie Robert Kowalski J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 80 / 277 algorytm program język

Bardziej szczegółowo

Paradygmaty programowania

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

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r. M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza

Bardziej szczegółowo

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009 Informatyka 1 zajęcia nr 1 Elektrotechnika, semestr II rok akademicki 2008/2009 mgr inż.. Paweł Myszkowski Plan dzisiejszych zajęć 1. Organizacja laboratorium przedmiotu 2. Algorytmy i sposoby ich opisu

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h] 1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie

Bardziej szczegółowo

Wstęp do informatyki Paradygmaty programowania

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

Bardziej szczegółowo

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

Paradygmaty Programowania dr inŝ. Cezary Bolek

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

Bardziej szczegółowo

Języki skryptowe w programie Plans

Języki skryptowe w programie Plans Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów

Bardziej szczegółowo

Jerzy Nawrocki, Wprowadzenie do informatyki

Jerzy Nawrocki, Wprowadzenie do informatyki Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Cel wykładu Programowanie imperatywne i język C Zaprezentować paradygmat programowania imperatywnego

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

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

Szablony funkcji i szablony klas

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

Bardziej szczegółowo

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

Języki programowania

Języki programowania Języki programowania historia Programowanie w języku maszynowym komputera (1-sza generacja) Wprowadzenie nazw mnemonicznych kody operacji, identyfikatory argumenty; ręczne tłumaczenie Asembler program

Bardziej szczegółowo

Technologie cyfrowe semestr letni 2018/2019

Technologie cyfrowe semestr letni 2018/2019 Technologie cyfrowe semestr letni 2018/2019 Tomasz Kazimierczuk Wykład 8 (15.04.2019) Kompilacja Kompilacja programu (kodu): proces tłumaczenia kodu napisanego w wybranym języku na kod maszynowy, zrozumiały

Bardziej szczegółowo

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego Iwona Kochaoska Programowanie Obiektowe Programowanie obiektowe (ang. object-oriented programming) - metodyka tworzenia programów komputerowych,

Bardziej szczegółowo

Algorytm. Definicja i algorytmu METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE

Algorytm. Definicja i algorytmu METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 01 Algorytm Nazwa algorytm wywodzi się od nazwiska perskiego matematyka Muhamed ibn Musy al-chorezmi (z Chorezmu), który ok. 820 r n.e. opisał

Bardziej szczegółowo

Wykład 4: Klasy i Metody

Wykład 4: Klasy i Metody Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to

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

TEMAT : KLASY DZIEDZICZENIE

TEMAT : KLASY DZIEDZICZENIE TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą

Bardziej szczegółowo

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

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Programowanie w C++ Wykład 2 Katarzyna Grzelak 5 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Reprezentacje liczb w komputerze K.Grzelak (Wykład 1) Programowanie w C++ 2 / 41 Reprezentacje

Bardziej szczegółowo

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()

Bardziej szczegółowo

Programowanie obiektowe - 1.

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

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 2

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 2 JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 2 1 3. Pseudokod (zwykle jako lista kroków) o o o o o o ZAPIS ALGORYTMU Brak standardu. Najczęściej PASCAL pozbawiony informacji dla kompilatora

Bardziej szczegółowo

Algorytmy, reprezentacja algorytmów.

Algorytmy, reprezentacja algorytmów. Algorytmy, reprezentacja algorytmów. Wprowadzenie do algorytmów Najważniejszym pojęciem algorytmiki jest algorytm (ang. algorithm). Nazwa pochodzi od nazwiska perskiego astronoma, astrologa, matematyka

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

Programowanie komputerowe. Zajęcia 1

Programowanie komputerowe. Zajęcia 1 Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program

Bardziej szczegółowo

Programowanie komputerowe. Zajęcia 3

Programowanie komputerowe. Zajęcia 3 Programowanie komputerowe Zajęcia 3 Instrukcje przypisania Poza zwykłą instrukcją przypisania, powodującą ustawienie wartości zmiennej na podane wyrażenie, istnieje wiele innych, np. += dodaj, a+=b jest

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych

Bardziej szczegółowo

Podstawy informatyki (3)

Podstawy informatyki (3) Podstawy informatyki (3) wykład : 15 godz. ćwiczenia : 15 godz. Prowadzący: dr inż. Jacek Piątkowski 1 Języki programowania Języki programowania - dają możliwość zapisu algorytmów w postaci zarówno wygodnej

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

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

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

Bardziej szczegółowo

Wstęp do programowania

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

Bardziej szczegółowo

Szablony funkcji i klas (templates)

Szablony funkcji i klas (templates) Instrukcja laboratoryjna nr 3 Programowanie w języku C 2 (C++ poziom zaawansowany) Szablony funkcji i klas (templates) dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż. Tomasz Kaczmarek Wstęp

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

Opis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja

Opis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja Opis zagadnieo 1-3 Iteracja, rekurencja i ich realizacja Iteracja Iteracja to czynnośd powtarzania (najczęściej wielokrotnego) tej samej instrukcji (albo wielu instrukcji) w pętli. Mianem iteracji określa

Bardziej szczegółowo

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this Wstęp do programowania obiektowego WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this 1 Nazwa typu Rozmiar Zakres Uwagi bool 1 bit wartości true albo false stdbool.h TYPY ZNAKOWE

Bardziej szczegółowo

Podstawy Programowania

Podstawy 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ółowo

Programowanie Obiektowe i C++ Marcin Benke

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

Bardziej szczegółowo

I - Microsoft Visual Studio C++

I - Microsoft Visual Studio C++ I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i

Bardziej szczegółowo

Podstawy Programowania Algorytmy i programowanie

Podstawy Programowania Algorytmy i programowanie Podstawy Programowania Algorytmy i programowanie Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Algorytm Algorytm w matematyce, informatyce, fizyce, itp. lub innej dziedzinie życia,

Bardziej szczegółowo

Paradygmaty programowania

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

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16 M. Trzebiński C++ 1/16 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IFJ PAN 6lipca2015 Uruchomienie maszyny w CC1 M. Trzebiński C++ 2/16

Bardziej szczegółowo

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Zajęcia nr 1 Podstawy programowania dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Ramowy program warsztatów 1. Pierwsze: Podstawy programowania 2. Drugie:

Bardziej szczegółowo

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : class nazwa_klasy prywatne dane i funkcje public: publiczne dane i funkcje lista_obiektów;

Bardziej szczegółowo

Programowanie, algorytmy i struktury danych

Programowanie, algorytmy i struktury danych 1/44 Programowanie, algorytmy i struktury danych materiały do wykładu: http://cez.wipb.pl/moodle/ email: m.tabedzki@pb.edu.pl strona: http://aragorn.pb.bialystok.pl/~tabedzki/ Marek Tabędzki Wymagania

Bardziej szczegółowo

Programowanie Obiektowe i C++

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

Bardziej szczegółowo

Wprowadzenie do języka Java

Wprowadzenie do języka Java WSNHiD, Programowanie 2 Lab. 1 [ część 1 ] Wprowadzenie do języka Java Wprowadzenie Język programowania Java jest obiektowym językiem programowania. Powstał w 1995 i od tej pory był intensywnie rozwijany.

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

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