Podstawy Informatyki dla Nauczyciela

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

Download "Podstawy Informatyki dla Nauczyciela"

Transkrypt

1 Podstawy Informatyki dla Nauczyciela Bożena Woźna-Szcześniak Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład 11 1 / 39

2 Języki porgramowania Co to jest? Język programowania jest sztucznym językiem pozwalajacym na zapisywanie algorytmów i innych zadań jakie komputer ma wykonać. Język programowania jest językiem komunikacji człowiek - komputerem. Język programowania jest zestawem poleceń dla komputera, których odpowiednie połaczenie tworzy zorganizowany program. Język programowania posiada swoja gramatykę czyli zasady określajace jego użycie. (tzw. Składnia). Język programowania posiada swoja semantykę czyli zasady jego interpretacji. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład 11 2 / 39

3 Elementy języka Gramatyka - Składnia Składnia to zbiór reguł określajacy formalnie poprawne konstrukcje językowe. Składnia jest głównym elementem, za pomoca którego rozróżnia się języki programowania. Dla przykładu operator przypisania w języku Pascal ma postać: := a w języku C++ ma postać =. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład 11 3 / 39

4 Elementy języka Gramatyka - Składnia BNF Składnia to zbiór reguł określajacy formalnie poprawne konstrukcje językowe. Składnia jest głównym elementem, za pomoca którego rozróżnia się języki programowania. Dla przykładu operator przypisania w języku Pascal ma postać: := a w języku C++ ma postać =. Składnia języków programowania (formalnych) jest zapisywana w tzw. notacji Backusa-Naura (ang. Backus-Naur form). Została ona wymyślona przez Johna Backusa w latach 50. w czasie praca nad językiem Fortran, a następnie zmodyfikowana przez Petera Naura i użyta do zdefiniowania składni języka Algol. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład 11 3 / 39

5 Gramatyki bezkontekstowe Alfabet V = {v 0,..., v n } - dowolny skończony i niepusty zbiór symboli (liter), z których będa zestawiane słowa języka. Słowo nad alfabetem V - wszystkie skończone, uporzadkowane ciagi złożone z elementów alfabetu. Słowo puste, e - słowo nie majace żadnej litery. Język uniwersalny V - zbiór wszystkich słów nad alfabetem V. Język - dowolny podzbiór języka uniwersalnego V nad V. Gramatyka formalna nazywamy sposób opisu języka formalnego, czyli podzbioru zbioru wszystkich słów skończonej długości nad danym alfabetem. Przykład: Jeśli V = {a, b}, to V = {e, a, b, aa, ab, bb, aaa, aab,...}. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład 11 4 / 39

6 Gramatyki bezkontekstowe Formalnie gramatyka to krotka G = (V, T, P, S), gdzie: V - zbiór symboli terminalnych - skończony, niepusty zbiór symboli końcowych, z których budowane sa słowa generowane przez gramatykę (zwany czasem alfabetem końcowym), T - zbiór symboli nieterminalnych - skończony, niepusty zbiór symboli pomocniczych, P - lista produkcji - reguły gramatyki, S - symbol startowy (aksjomat) - jest to wyróżniony symbol pomocniczy, z niego wyprowadzane sa wszystkie generowane przez gramatyk G słowa. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład 11 5 / 39

7 Gramatyki bezkontekstowe Przykład: Reguły definiujace język postaci V = {1, 11, 111,...}, sa następujace: Symbol poczatkowy: S Produkcje (reguły zastępowania): 1: S 1 2: S S 1 Wywód: 1:= S := S 2 S1 2 S Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład 11 6 / 39

8 BNF Przykład Gramatyka (bezkontekstowa) generujaca liczby binarne: <liczba binarna> ::=<liczba binarna><cyfra> <liczba binarna> ::=<cyfra> <cyfra> ::= 0 1 Gramatyka ma więc następujac a postać ogólna G = (V, T, P, S): V = {0, 1}, T = {< liczbabinarna >, < cyfra >}, P = {< liczbabinarna >::=< liczbabinarna >< cyfra >; < liczbabinarna >::=< cyfra >; < cyfra >::= 0 1}, S =< liczbabinarna >. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład 11 7 / 39

9 BNF Przykład Gramatyka (bezkontekstowa) generujaca liczbę naturalna: <zero>::= 0 Przykład wartości: 0 <cyfra niezerowa>::= Przykład wartości: 1, 2, 3 <cyfra>::= <zero> <cyfra niezerowa> Przykład wartości: 0, 1, 2, 3 <ciąg cyfr>::= <cyfra> <cyfra><ciąg cyfr> Przykład wartości: 0, 1, 01, 23, 99, 10023, <liczba naturalna>::= <cyfra> <cyfra niezerowa><ciąg cyfr> Przykład wartości: 0, 1, 2, 3456, 406, Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład 11 8 / 39

10 Zadanie Przykład Dany jest język L(G) nad gramatyka G =< V, T, P, S >, gdzie V = {a, b}, T = {S, A}, P = { (1) S aas; (2) S a; (3) A SbA; (4) A SS; (5) A ba; }. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład 11 9 / 39

11 Zadanie Przykład Dany jest język L(G) nad gramatyka G =< V, T, P, S >, gdzie V = {a, b}, T = {S, A}, P = { (1) S aas; (2) S a; (3) A SbA; (4) A SS; (5) A ba; }. Czy słowo aabbaa należy do języka? TAK Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład 11 9 / 39

12 Zadanie Przykład Dany jest język L(G) nad gramatyka G =< V, T, P, S >, gdzie V = {a, b}, T = {S, A}, P = { (1) S aas; (2) S a; (3) A SbA; (4) A SS; (5) A ba; }. Czy słowo aabbaa należy do języka? TAK Uzasadnienie: aabbaa := S 1 aas 3 asbas 2 aabas 5 aabbas 2 aabbaa. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład 11 9 / 39

13 Zadanie Przykład Dany jest język L(G) nad gramatyka G =< V, T, P, S >, gdzie V = {a, b}, T = {S, A, B}, P = { (1) S asb; (2) S aas; (3) S abs; (4) S Sba; (5) S ab; (6) A aa; (7) B bb; }. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

14 Zadanie Przykład Dany jest język L(G) nad gramatyka G =< V, T, P, S >, gdzie V = {a, b}, T = {S, A, B}, P = { (1) S asb; (2) S aas; (3) S abs; (4) S Sba; (5) S ab; (6) A aa; (7) B bb; }. Czy słowa aababbabb, aaaaabbb należa do języka? Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

15 Zadanie Przykład Dany jest język L(G) nad gramatyka G =< V, T, P, S >, gdzie V = {a, b}, T = {S, A, B}, P = { (1) S asb; (2) S aas; (3) S abs; (4) S Sba; (5) S ab; (6) A aa; (7) B bb; }. Czy słowa aababbabb, aaaaabbb należa do języka? aababbabb := S 1 asb 7 asbb 3 aabsbb 4 aabsbabb 5 aababbabb: TAK Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

16 Zadanie Przykład Dany jest język L(G) nad gramatyka G =< V, T, P, S >, gdzie V = {a, b}, T = {S, A, B}, P = { (1) S asb; (2) S aas; (3) S abs; (4) S Sba; (5) S ab; (6) A aa; (7) B bb; }. Czy słowa aababbabb, aaaaabbb należa do języka? aababbabb := S 1 asb 7 asbb 3 aabsbb 4 aabsbabb 5 aababbabb: TAK aaaaabbb := S 2 aas 6 aaas 1 aaaasb 7 aaaasbb 5 aaaaabbb: TAK Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

17 Zadanie Podaj przykład gramatyki G generujacej język L(G) = {a n b n : n N} Odpowiedź: G =< V, T, P, S > jest postaci V = {a, b}, T = {S}, P = { (1) S e; (2) S asb; }. Przykładowe słowo: aabb := S 2 asb 2 aasbb 1 aaebb = aabb. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

18 Zadanie Podaj przykład gramatyki G generujacej język L(G) = {w : w {a, b} w = w R }, który jest językiem wszystkich palindromów (wyrazów, które wygladaj a tak samo niezależnie od tego, czy czytamy je normalnie, czy od tyłu) nad alfabetem {a, b}. Odpowiedź: G =< V, T, P, S > jest postaci V = {a, b}, T = {S}, P = { (1) S e; (2) S asa; (3) S bsb; (2) S a; (2) S b; }. Przykładowe słowo: abaaba := S 2 asa 3 absba 2 abasaba 1 abaeaba = abaaba. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

19 Elementy języka Semantyka Definiuje ona znaczenie poszczególnych symboli i funkcji. Najczęściej definiuje się ja słownie ze względu na zrozumiałość dla ludzi. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

20 Elementy języka Semantyka Definiuje ona znaczenie poszczególnych symboli i funkcji. Najczęściej definiuje się ja słownie ze względu na zrozumiałość dla ludzi. Typy danych Każdy język operuje na danych. Z tego względu niezbędne jest podzielenie ich na różne typy. Na przykład: typ całkowity typ rzeczywisty (liczby zmiennoprzecinkowe) typ logiczny (false/true) typ łańcuchowy (ciag znaków) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

21 Elementy języka Standardowe Biblioteki Biblioteka zawiera funkcje i procedury pozwalajace realizować różnego rodzaju zadania. Na przykład: Obsługa wejścia-wyjścia. Obsługa plików. Zarzadzanie pamięcia. Operacje na ciagach tekstowych. Obsługa wielowatkowości. itp. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

22 Języki porgramowania Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla 17 Nauczyciela Wykład / 39 Obecnie na świecie istnieje wiele języków programowania i ciagle powstaja nowe. Najpopularniejsze języki programowania (kolejność zgodna z paperinfo/tpci/index.html) 1 C 2 Java 3 C++ 4 Objective-C 5 C# 6 PHP 7 Visual Basic 8 Python 9 Perl 10 JavaScript 11 Ruby 12 Visual Basic.NET 13 PL/SQL 14 Delphi/Object Pascal 15 Lisp 16 Logo

23 Historia C i C++ w wielkim skrócie Przed C++ istniał język C. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

24 Historia C i C++ w wielkim skrócie Przed C++ istniał język C. Język C został zaprojektowany przez Dennisa Ritchie ego w laboratoriach Bella, w latach 70-tych XX wieku, a jego poprzednikiem był interpretowany język B, który Ritchie rozwinał właśnie w język C. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

25 Historia C i C++ w wielkim skrócie Przed C++ istniał język C. Język C został zaprojektowany przez Dennisa Ritchie ego w laboratoriach Bella, w latach 70-tych XX wieku, a jego poprzednikiem był interpretowany język B, który Ritchie rozwinał właśnie w język C. Język C przeznaczony był głównie do pisania platform operacyjnych oraz aplikacji niższego rzędu. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

26 Historia C i C++ w wielkim skrócie Przed C++ istniał język C. Język C został zaprojektowany przez Dennisa Ritchie ego w laboratoriach Bella, w latach 70-tych XX wieku, a jego poprzednikiem był interpretowany język B, który Ritchie rozwinał właśnie w język C. Język C przeznaczony był głównie do pisania platform operacyjnych oraz aplikacji niższego rzędu. Pierwszy okres rozwoju języka C to lata W szczególności w roku 1973 w języku C udało się zaimplementować jadro (ang. kernel) systemu operacyjnego Unix. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

27 Historia C i C++ w wielkim skrócie Przed C++ istniał język C. Język C został zaprojektowany przez Dennisa Ritchie ego w laboratoriach Bella, w latach 70-tych XX wieku, a jego poprzednikiem był interpretowany język B, który Ritchie rozwinał właśnie w język C. Język C przeznaczony był głównie do pisania platform operacyjnych oraz aplikacji niższego rzędu. Pierwszy okres rozwoju języka C to lata W szczególności w roku 1973 w języku C udało się zaimplementować jadro (ang. kernel) systemu operacyjnego Unix. W roku 1978 Brian Kernighan i Dennis Ritchie opublikowali dokumentację języka: The C Programming Language (wydanie polskie, Język ANSI C). Englewood Cliffs, NJ: Prentice Hall. ISBN Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

28 Historia C i C++ w wielkim skrócie Wersja języka C opisana w The C Programming Language często nazywana jest K&R C (od nazwisk autorów), aby odróżnić ja od późniejszego standardu C89 wprowadzonego w roku 1989, nazywanego dziś ANSI C lub też Standard C. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

29 Historia C i C++ w wielkim skrócie Wersja języka C opisana w The C Programming Language często nazywana jest K&R C (od nazwisk autorów), aby odróżnić ja od późniejszego standardu C89 wprowadzonego w roku 1989, nazywanego dziś ANSI C lub też Standard C. W roku 1990 standard ANSI C został zmodyfikowany i nazwany C90. W roku 1999 standard C90 został zmodyfikowany i nazwany C99. W roku 2007 ogłoszono pracę nad nowym standardem C1X. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

30 Historia C i C++ w wielkim skrócie Wersja języka C opisana w The C Programming Language często nazywana jest K&R C (od nazwisk autorów), aby odróżnić ja od późniejszego standardu C89 wprowadzonego w roku 1989, nazywanego dziś ANSI C lub też Standard C. W roku 1990 standard ANSI C został zmodyfikowany i nazwany C90. W roku 1999 standard C90 został zmodyfikowany i nazwany C99. W roku 2007 ogłoszono pracę nad nowym standardem C1X. W latach , w laboratoriach Bella, język C został udoskonalony przez Bjarne Stroustrupa i nazwany językiem C++; C++ wzbogacił C o możliwość programowania obiektowego. C++ stał się językiem programowania powszechnego użytku, a jego wielka zaleta jest zgodność jego kodu źródłowego z kodem źródłowym języka C. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

31 Historia C i C++ w wielkim skrócie W październiku 1985 roku po raz pierwszy wydano komercyjna wersję języka C++. W tym samym roku Bjarne Stroustrup opublikował ksiażkę: The C++ Programming Language. Mimo uniwersalności języka C++, dopiero w latach 90-tych XX wieku został uznany jako jeden z najbardziej popularnych języków ogólnego użytku. C++ poczatkowo był głównie przeznaczony dla systemów UNIX. Wciaż język ten jest udoskonalany - wprowadzane sa poprawki ułatwiajace prace informatyków, a obecnie obowiazujacy stndard to: ISO/IEC 14882:2011. Oficjalna strona THE C++ STANDARDS COMMITTEE: Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

32 Program w języku C Program w C to plik (zbiór) tekstowy, który zawiera instrukcje języka C (czyli ciagi znaków), zgodne z obowiazuj acym standardem tego języka (obecnie c99). Pliki z programami źródłowymi w języku C powinny mieć rozszerzenie c. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

33 Kompilacja programu w C Podstawowym (i najprostszym) poleceniem kompilacji pliku o nazwie plik.c jest gcc plik.c które w przypadku pomyślnym generuje plik wykonywalny o nazwie a.out umieszczony w tym samym katalogu, zaś w przypadku niepomyślnym wyświetla listę komunikatów o błędach. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

34 Kompilacja programu w C Jeśli chcemy, żeby plik wynikowy miał dowolna inna ustalona przez nas nazwę (rozszerzenie out nie jest obowiazkowe), możemy użyć polecenia postaci: gcc plik.c -o nazwa Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

35 Kompilacja programu w C Jeśli chcemy, żeby plik wynikowy miał dowolna inna ustalona przez nas nazwę (rozszerzenie out nie jest obowiazkowe), możemy użyć polecenia postaci: gcc plik.c -o nazwa Polecenie gcc umożliwia również jednoczesna kompilację i połaczenie w całość kilku plików źródłowych zawierajacych różne fragmenty (ale nie dowolne) jednego programu. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

36 Kompilacja programu w C Aby kompilować programy zgodne z najnowszym standardem c99 należy użyć następujacego polecenia: gcc -std=c99 plik.c -o nazwa Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

37 Kompilacja programu w C Aby kompilować programy zgodne z najnowszym standardem c99 należy użyć następujacego polecenia: gcc -std=c99 plik.c -o nazwa Aby kompilator gcc traktował ostrzeżenia jako błędy należy użyć następujacego polecenia: gcc -std=c99 -Wall plik.c -o nazwa Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

38 Kompilacja programu w C Aby kompilować programy zgodne z najnowszym standardem c99 należy użyć następujacego polecenia: gcc -std=c99 plik.c -o nazwa Aby kompilator gcc traktował ostrzeżenia jako błędy należy użyć następujacego polecenia: gcc -std=c99 -Wall plik.c -o nazwa Do przeprowadzania bardziej skomplikowanych kompilacji i łaczeń zalecany jest program make współpracujacy z zawierajacym polecenia dla niego plikiem Makefile. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

39 Kompilacja programu w C W przypadku pomyślnego przebiegu kompilacji kompilator gcc nie wyświetla żadnego komunikatu, zwraca jedynie sterowanie do linii poleceń. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

40 Kompilacja programu w C W przypadku pomyślnego przebiegu kompilacji kompilator gcc nie wyświetla żadnego komunikatu, zwraca jedynie sterowanie do linii poleceń. W przypadku błędów kompilator gcc wyprowadza na standardowe wyjście błędów (czyli zazwyczaj na ekran) od razu cała listę wykrytych błędów wraz z podanymi numerami linii programu, w których występuja. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

41 Prawie najprostszy program w C #include <stdio.h> int main(void) { printf("hello World!\n"); return 0; } Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

42 Przykładowy program w C Operatory arytmetyczne #include <stdio.h> int main (void) { int a = 100, b = 2, c =25, d = 4, result; result = a - b; // odejmowanie printf ("a - b = %i\n", result); result = b * c; // mnożenie printf ("b * c = %i\n", result); result = a / c; // dzielenie printf ("a / c = %i\n", result); result = a + b * c; // priorytety printf ("a + b * c = %i\n", result); printf ("a * b + c * d = %i\n", a * b + c * d); return 0; } Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

43 Przykładowy program w C #include <stdio.h> #include <stdlib.h> int main() { int n, cyfra, suma = 0; printf("n = "); scanf("%d", &n); printf("liczba: %d\n", n); do { cyfra = n%10; suma += cyfra; n /= 10; } while (n > 0); printf("suma cyfr: %d\n", suma); return 0; } Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

44 Kompilacja programu w C++ Program w C++ to zbiór funkcji, a każda funkcja to zbiór instrukcji. Program w C++ to plik (zbiór) tekstowy, który zawiera instrukcje języka C++ (czyli ciagi znaków), zgodne z obowiazuj acym standardem tego języka. Plik zawierajacy program w jezyku C++ powinien mieć rozszerzenie cpp (typowe dla kompilatorów firmy Microsoft, Borland) lub CC (typowe dla kompilatorów firmy Sun) lub cc. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

45 Prawie najprostszy program w C #include<iostream> int main() { std::cout << "Hello World!\n"; return 0; } Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

46 Prawie najprostszy program w C #include<iostream> using namespace std; int main() { cout << "Hello World!\n"; return 0; } Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

47 Przykładowy program w C++ #include <iostream> int main() { int n, cyfra, suma = 0; std::cout << "n = "; std::cin >> n; do { cyfra = n%10; suma += cyfra; n /= 10; } while (n > 0); std::cout << "Suma cyfr: " << suma << "\n"; return 0; } Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

48 Historia języka JAVA w wielkim skrócie Bill Joy w raporcie Further sugeruje firmie Sun Microsystems stworzenie środowiska obiektowego na bazie C W ramach projektu Green powstaje język OAK - Object Application Kernel (kerownik: James Gosling), przeznaczony dla aplikacji w elektronice powszechnego użytku zmiana nazwy na JAVA ze względu na zastrzeżenie nazwy OAK Pojawia się Netscape zgodny z Java 1.0, Sun propaguję darmowe środowisko JDK Java 2 Nowe oblicze Javy. Java jest językiem tworzenia programów źródłowych kompilowanych do kodu bajtowego, czyli postaci wykonywanej przez maszynę wirtualna. Jego podstawowe koncepcje zostały przejęte z języka Smalltalk (maszyna wirtualna, zarzadzanie pamięcia) oraz z języka C++ (duża część składni i słów kluczowych). Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

49 Platformy JAVY JSE (Java Standard Edition) dostarcza środowiska programistycznego do tworzenia aplikacji desktopowych oraz apletów na strony WWW, JEE (Java Enterprise Edition) dostarcza środowiska programistycznego do tworzenia rozbudowanych biznesowych aplikacji, stanowi rozszerzenie platformy JSE, JME (Java Micro Edition) dostarcza środowiska programistycznego do tworzenia aplikacji na niewielkie urzadzenia typu telefony komórkowe, Java Card technology dostarcza środowiska programistycznego do tworzenia oprogramowania dla inteligentnych kart (np. kart bankomatowych) o bardzo małej pamięci i niewielkiej mocy obliczeniowej. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

50 Platformy JAVY Firma Sun dostarcza dwa rodzaje platform JSE. Najbardziej rozpowszechniona, jest JRE. JRE (Java Runtime Environment) środowisko zawierajace niezbędne biblioteki oraz JVM czyli Wirtualna Maszynę Javy. JRE znajduje się na większości komputerów osobistych, jest bowiem niezbędne dla uruchamiania aplikacji Java w systemie. JDK (Java Development Kit) środowisko zawierajace JRE oraz dodatkowo narzędzia programistyczne, takie jak kompilator i debuger. JDK umożliwia pisanie własnych aplikacji. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

51 Jak działa Java? Program w języku Java to plik tekstowy zawierajacy program zapisany w języku Java. Zwyczajowo program zapisuje się w plikach z rozszerzeniem.java, np. hello.java. Kod źródłowy, czyli nasz plik z rozszerzeniem *.java kompilowany jest przez kompilator (javac) do kodu wynikowego plik *.class. Ten natomiast interpretowany jest przy pomocy interpretera (java) i uruchamiany w maszynie wirtualnej Javy. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

52 Prawie najprostszy program w C public class z1 { public static void main(string[] args) { System.out.println("Witaj w swiecie JAVY"); } } Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

53 Prawie najprostszy program w C import java.util.scanner; public class z2 { public static void main(string[] args) { int n=34, cyfra, suma = 0; System.out.print("n="); Scanner in = new Scanner(System.in); n = in.nextint(); do { cyfra = n%10; suma += cyfra; n /= 10; } while (n > 0); System.out.println("Suma cyfr: "+suma); } } Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

54 Krótka historia języka Python Python to interpretowany, interaktywny, skryptowy język programowania stworzony przez Guido van Rossuma w Język został tak nazwany w ślad za programem telewizyjnym BBC Latajacy cyrk Monty Pythona. Obecnie Python rozwijany jest jako projekt Open Source, zarzadzany przez Python Software Foundation, będac a organizacja non-profit. 3 grudnia 2008 roku został wydany Python 3.0. W stosunku do wcześniejszych wersji języka Python w wersji 3.0 wprowadzono wiele istotnych zmian, które spowodowały brak zgodności wstecz. Najnowsza wersja języka Python jest wersja 3.2.3, która została wydana 11 kwietniu 2012 roku. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

55 Krótka historia języka Python Python posiada w pełni dynamiczny system typów i automatyczne zarzadzanie pamięcia, jest zatem podobny do takich języków, jak Tcl, Perl, Scheme czy Ruby. Do zarzadzania pamięcia stosuje się architekturę garbage collection podobnie jak w języku Ruby czy Java. Python posiada wbudowane abstrakcyjne typy danych takie jak np. listy, krotki, zbiory i słowniki. W Pythonie możliwe jest programowanie obiektowe, programowanie strukturalne i programowanie funkcyjne. Cecha wyróżniajac a Pythona spośród innych jezyków jest stosowanie wcięć do wydzielania bloków kodu. Program napisany w jezyku Python najpierw kompilowany jest do postaci pośredniej, która następnie wykonywana jest przez Wirtualna Maszyne Pythona (PVM) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

56 Kompilacja programu w Python Program (skrypt) w Pythonie to plik tekstowy zawierajacy program zapisany w języku Python. Zwyczajowo skrypty Pythona zapisuje się w plikach z rozszerzeniem.py, np. hello.py. Aby wykonać skrypt hello.py wydajemy w konsoli polecenie: python hello.py Mozemy tez uruchomić skrypt hello.py wydajac w konsoli polecenie:./hello.py o ile w pierwszej linii pliku hello.py znajduje się odwołanie do interpretera: #!/usr/bin/env python3 a ponadto plik hello.py ma ustawiony atrybut wykonywalności. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

57 Prawie najprostszy program w Python #!/usr/bin/env python print("hello World!") Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

58 Prawie najprostszy program w Python #!/usr/bin/env python suma = 0 n = input("n=") cyfra = n%10; suma += cyfra; n /= 10; while (n > 0): cyfra = n%10; suma += cyfra; n /= 10; print("suma cyfr: ", suma) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład / 39

Wykład 1

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

Bardziej szczegółowo

WPROWADZENIE DO JĘZYKA JAVA

WPROWADZENIE DO JĘZYKA JAVA WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Java jako język programowania

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java   1 / 8 Początki Javy Java została pierwotnie zaprojektowana dla telewizji interaktywnej, ale była to zbyt zaawansowaną technologią dla branży cyfrowej telewizji kablowej. James Gosling, Mike Sheridan i Patrick

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 Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Podstawy programowania w Pythonie

Podstawy programowania w Pythonie Podstawy programowania w Pythonie Wykład 1 dr Andrzej Zbrzezny Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 3 października 2012 dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania

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

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

Język JAVA podstawy. wykład 1, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 1 1 Język JAVA podstawy Język Java to jeden z najbardziej popularnych obiektowych języków programowania. Należy do grupy języków programowania bazujących na C i C++.

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Podstawy programowania wykład

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

Bardziej szczegółowo

Programowanie 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

Java EE produkcja oprogramowania

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

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Podstawy języka Java. przygotował: pawel@kasprowski.pl

Podstawy języka Java. przygotował: pawel@kasprowski.pl Podstawy języka Java przygotował: pawel@kasprowski.pl Początki: PDA Star7 (*7) PDA do obsługi urządzeń domowych. (1992) (język OAK) Autorzy Javy Green Team Ojciec Javy: James Gosling Poszukiwanie zastosowania

Bardziej szczegółowo

Programowanie obiektowe. Wprowadzenie

Programowanie obiektowe. Wprowadzenie 1 Programowanie obiektowe Wprowadzenie 2 Programowanie obiektowe Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

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

GRAMATYKI BEZKONTEKSTOWE

GRAMATYKI BEZKONTEKSTOWE GRAMATYKI BEZKONTEKSTOWE PODSTAWOWE POJĘCIE GRAMATYK Przez gramatykę rozumie się pewien układ reguł zadający zbiór słów utworzonych z symboli języka. Słowa te mogą być i interpretowane jako obiekty językowe

Bardziej szczegółowo

Programowanie obiektowe

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

Bardziej szczegółowo

Język JAVA podstawy programowania

Język JAVA podstawy programowania Język JAVA podstawy programowania [43] Na ogół łatwiej daje się człowiek przekonać racjom, do których sam doszedł, niż tym, które nastręczyły się komuś innemu. Myśli Blaise Pascal Jacek Rumiński, 1999

Bardziej szczegółowo

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r. Programowanie w Javie cz. 1 Wstęp Łódź, 24 luty 2014 r. Prawdy i mity o Javie Java jest techniką webową? (tak, platforma Java EE, aplety) Java jest bezpieczna? (tak, aplety, brak operowania na pamięci)

Bardziej szczegółowo

Wstęp do Programowania 2

Wstęp do Programowania 2 Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 1 Literatura Literatura podstawowa: Prata Stephen. Szkoła programowania. Język C++. Wydanie V. Helion,

Bardziej szczegółowo

Tworzenie oprogramowania

Tworzenie oprogramowania Tworzenie oprogramowania dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Tworzenie oprogramowania dla systemów wbudowanych Program wykładu: Tworzenie aplikacji na systemie wbudowanym. Konfiguracja

Bardziej szczegółowo

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38 Programowanie w C++ Wykład 1 Katarzyna Grzelak 25 luty 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38 Dlaczego programowanie? K.Grzelak (Wykład 1) Programowanie w C++ 2 / 38 Umiejętność, która otwiera

Bardziej szczegółowo

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28 Programowanie w C++ Wykład 1 Katarzyna Grzelak 26 luty 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28 Dlaczego programowanie? K.Grzelak (Wykład 1) Programowanie w C++ 2 / 28 Umiejętność, która otwiera

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Przemysław Gawroński D-10, p. 234 Wykład 1 8 października 2018 (Wykład 1) Wstęp do programowania 8 października 2018 1 / 12 Outline 1 Literatura 2 Programowanie? 3 Hello World (Wykład

Bardziej szczegółowo

Spis treści. 1 Java T M

Spis treści. 1 Java T M Spis treści 1 Java T M 1 2 Co to jest Platforma Java T M 1 3 Przygotowanie komputera 2 4 Pierwszy program 2 5 Dokumentacja 3 6 Budowa aplikacji. Klasy. 3 7 Pola i metody 4 8 Konstruktory 5 9 Inne proste

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

Programowanie komputerów

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Języki i gramatyki formalne

Języki i gramatyki formalne Języki i gramatyki formalne Języki naturalne i formalne Cechy języka naturalnego - duża swoboda konstruowania zdań (brak ścisłych reguł gramatycznych), duża ilość wyjątków. Języki formalne - ścisły i jednoznaczny

Bardziej szczegółowo

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski dr Dariusz Wardowski, Instytut Matematyki i Informatyki PWSZ w Płocku 1 O mnie prowadzący wykład i laboratoria: Dariusz Wardowski pokój: 102

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

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wprowadzenie. Narzędzia i środowiska programistyczne. Laboratorium 1. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2

Wprowadzenie. Narzędzia i środowiska programistyczne. Laboratorium 1. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2 Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Narzędzia i środowiska programistyczne Laboratorium 1 Wprowadzenie Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy 2 O Sobie Od 2014

Bardziej szczegółowo

Języki programowania zasady ich tworzenia

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wykład 1: Wprowadzenie do technologii Java

Wykład 1: Wprowadzenie do technologii Java Programowanie komputerów Wykład 1: Wprowadzenie do technologii Java dr inż. Walery Susłow walery.suslow@ie.tu.koszalin.pl Czym jest Java? Obiektowy język programowania ogólnego przeznaczenia Opracowany

Bardziej szczegółowo

Programowanie Proceduralne

Programowanie Proceduralne Programowanie Proceduralne Makefile Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 14 Co to jest Makefile Makefile jest plikiem reguł dla programu make. Wykorzystywany jest

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład I I Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Zaliczenie przedmiotu Na laboratorium można zdobyć 100 punktów. Do zaliczenia niezbędne jest

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Środowiska i platformy programistyczne

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

Bardziej szczegółowo

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

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

Metodologie programowania

Metodologie programowania Co kształtuje języki programowania? Wykład2,str.1 Metodologie programowania Koszty obliczeń: 1980 1960:sprzętdrogi,a wysiłek programistów niewielki 1970: sprzęt coraz tańszy, a programowane problemy coraz

Bardziej szczegółowo

Programowanie I. Kornel Warwas. ATH Katedra Matematyki i Informatyki

Programowanie I. Kornel Warwas. ATH Katedra Matematyki i Informatyki Programowanie I Kornel Warwas ATH Katedra Matematyki i Informatyki 2 Algorytm Algorytm skończony, uporządkowany ciąg zdefiniowanych czynności, koniecznych do wykonania określonego zadania w ograniczonej

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

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

Bardziej szczegółowo

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja! Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja! Krzysztof Grudzień kgrudzi@kis.p.lodz.pl! Zbigniew Chaniecki zch@kis.p.lodz.pl 1 program zajęć - wykład Podstawowe pojęcia

Bardziej szczegółowo

Ćwiczenie 1. Przygotowanie środowiska JAVA

Ćwiczenie 1. Przygotowanie środowiska JAVA Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Zadanie 2: Arytmetyka symboli

Zadanie 2: Arytmetyka symboli 1 Cel ćwiczenia Zadanie 2: Arytmetyka symboli Wykształcenie umiejętności abstrahowania operacji arytmetycznych. Zapoznanie się i przećwiczenie mechanizmu tworzenia przeciążeń funkcji operatorowych. Utrwalenie

Bardziej szczegółowo

Wprowadzenie do programowania języki i gramatyki formalne. dr hab. inż. Mikołaj Morzy

Wprowadzenie do programowania języki i gramatyki formalne. dr hab. inż. Mikołaj Morzy Wprowadzenie do programowania języki i gramatyki formalne dr hab. inż. Mikołaj Morzy plan wykładu wprowadzenie gramatyki podstawowe definicje produkcje i drzewa wywodu niejednoznaczność gramatyk hierarchia

Bardziej szczegółowo

Programowanie proceduralne w języku C++ Podstawy

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

Bardziej szczegółowo

Historia i podstawowe koncepcje. Tomasz Borzyszkowski

Historia i podstawowe koncepcje. Tomasz Borzyszkowski Historia i podstawowe koncepcje Tomasz Borzyszkowski Język C W latach 1960-70 trwają intensywne prace nad pierwszymi językami programowania zapewniającymi: Łatwość użycia Efektywność kodu Łatwość rozszerzania

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Metody Kompilacji Wykład 1 Wstęp

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

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

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

Bardziej szczegółowo

Tworzenie aplikacji w języku Java

Tworzenie aplikacji w języku Java Tworzenie aplikacji w języku Java Wykład 1 Piotr Czapiewski Wydział Informatyki ZUT 2 października 2009 Piotr Czapiewski (Wydział Informatyki ZUT) Tworzenie aplikacji w języku Java 2 października 2009

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 1 - wprowadzenie do przedmiotu mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 16 października 2017 1 / 25 mgr inż. Krzysztof Szwarc Podstawy i

Bardziej szczegółowo

Laboratorium Programowania Kart Elektronicznych

Laboratorium Programowania Kart Elektronicznych Laboratorium Programowania Kart Elektronicznych Programowanie JavaCard Marek Gosławski Przygotowanie do zajęć dokumentacja JavaCard i GlobalPlatform środowisko programistyczne karta JavaCard Potrzebne

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy Laboratorium 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Na podstawie: G. Perry, D. Miller, Język C Programowanie dla

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Informatyka I. dr inż. Andrzej Czerepicki.

Informatyka I. dr inż. Andrzej Czerepicki. Informatyka I dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki Politechnika Warszawska Wydział Transportu 2018 Sprawy organizacyjne Harmonogram zajęć Regulamin

Bardziej szczegółowo

JDK można pobrać ze strony http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html

JDK można pobrać ze strony http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html Program napisany w języku Java, w wyniku kompilacji da kod bajtowy, plik z rozszerzeniem.class. Nie jest to plik wykonywalny samodzielnie w systemie operacyjnym tak jak pliki.exe. Uruchomienie gotowego

Bardziej szczegółowo

Wstęp do programowania w języku Java

Wstęp do programowania w języku Java Programowanie obiektowe Wstęp do programowania w języku Java Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Wstęp do programowania

Bardziej szczegółowo

Podstawy programowania - 1

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

Bardziej szczegółowo

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

KONSTRUKCJA KOMPILATORÓW

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

Bardziej szczegółowo

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

Algorytm. a programowanie -

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

Bardziej szczegółowo

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

WPROWADZENIE DO JĘZYKA JAVA

WPROWADZENIE DO JĘZYKA JAVA Naszym mózgom. Za to, że zawsze są na swoim miejscu. W mniejszym lub większym stopniu WPROWADZENIE DO JĘZYKA JAVA podstawowe informacje: zarys historii, zasadnicze cechy i pojęcia Javy, wirtualna maszyna

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

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

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

Bardziej szczegółowo

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe: Podstawy Informatyki Metalurgia, I rok Historia Lata 0-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard Koniec lat 80 standard

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

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

1.Wstęp. 2.Generowanie systemu w EDK

1.Wstęp. 2.Generowanie systemu w EDK 1.Wstęp Celem niniejszego ćwiczenia jest zapoznanie z możliwościami debuggowania kodu na platformie MicroBlaze oraz zapoznanie ze środowiskiem wspomagającym prace programisty Xilinx Platform SDK (Eclipse).

Bardziej szczegółowo

Podstawy programowania w Pythonie

Podstawy programowania w Pythonie Podstawy programowania w Pythonie Wykład 2 dr Andrzej Zbrzezny Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 10 października 2012 dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania

Bardziej szczegółowo

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++ Podstawy Informatyki Metalurgia, I rok Wykład 6 Krótki kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard

Bardziej szczegółowo

Programowanie obiektowe i C++ dla matematyków

Programowanie obiektowe i C++ dla matematyków Programowanie obiektowe i C++ dla matematyków Bartosz Szreder szreder (at) mimuw... 04 X 2011 Wszelkie uwagi, poprawki, braki czy sugestie najlepiej wysyłać na maila. 1. wprowadzenie do Linuksa: kompilacja

Bardziej szczegółowo

Podstawy programowania obiektowego

Podstawy programowania obiektowego Podstawy programowania obiektowego Technologie internetowe Wykład 5 Program wykładu Podejście obiektowe kontra strukturalne do tworzenie programu Pojęcie klasy i obiektu Składowe klasy: pola i metody Tworzenie

Bardziej szczegółowo

C# /.NET. Copyright by 3bird Projects 2018,

C# /.NET. Copyright by 3bird Projects 2018, C# /.NET Copyright by 3bird Projects 2018, http://edukacja.3bird.pl Ogólne Opracowana przez Microsoft platforma programistyczna.net Framework jest odpowiednikiem platformy Java. Obejmuje gotowe biblioteki,

Bardziej szczegółowo

Podstawy Programowania.

Podstawy Programowania. Podstawy Programowania http://www.saltbox.com/img/under_the_hood.png O mnie... dr inż. Łukasz Graczykowski Zakład Fizyki Jądrowej Wydział Fizyki Politechniki Warszawskiej lgraczyk@if.pw.edu.pl www.if.pw.edu.pl/~lgraczyk/wiki

Bardziej szczegółowo