Podstawy Informatyki dla Nauczyciela
|
|
- Daniel Białek
- 7 lat temu
- Przeglądów:
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
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ółowoWPROWADZENIE 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ółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
Bardziej szczegółowoJava 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ółowoCzym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa
1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko
Bardziej szczegółowoPoczą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ółowoINFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE
Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby
Bardziej szczegółowoPodstawy 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ółowoWykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki
Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,
Bardziej szczegółowoPodstawy 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ółowoProgramowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++
Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu
Bardziej szczegółowoJę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ółowoProgramowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
Bardziej szczegółowoPodstawy programowania wykład
Podstawy programowania wykład WYDZIAŁ ELEKTRONIKI i INFORMATYKI dr inż. Robert Arsoba Politechnika Koszalińska Wydział Elektroniki i Informatyki POLITECHNIKA KOSZALIŃSKA 2009/2010 1 Materiały do wykładu
Bardziej szczegółowoProgramowanie I. 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ółowoJava EE produkcja oprogramowania
Java EE produkcja oprogramowania PPJ PODSTAWY PROGRAMOWANIA W JAVIE PODSTAWY JĘZYKA JAVA 1 Warszawa, 2016Z 2 Ogólna charakterystyka języka Java 3 Java 1/2 Język programowania Java został opracowany przez
Bardziej szczegółowoProgramowanie 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ółowoJAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.
JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod
Bardziej szczegółowoPodstawy 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ółowoProgramowanie obiektowe. Wprowadzenie
1 Programowanie obiektowe Wprowadzenie 2 Programowanie obiektowe Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
Bardziej szczegółowoWstęp do programowania. Wykład 1
Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.
Bardziej szczegółowoGRAMATYKI 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ółowoProgramowanie 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ółowoJę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ółowoProgramowanie 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ółowoWstę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ółowoTworzenie 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ółowoProgramowanie 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ółowoProgramowanie 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ółowoWstę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ółowoSpis 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ółowoProgramowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
Bardziej szczegółowoProgramowanie komputerów
Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych
Bardziej szczegółowoJAVA. 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ółowoJę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ółowoPaostwowa 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ółowoProgramowanie w języku C++ Grażyna Koba
Programowanie w języku C++ Grażyna Koba Kilka definicji: Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i zasad
Bardziej szczegółowoWstę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ółowoProgramowanie 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ółowoTemat 1: Podstawowe pojęcia: program, kompilacja, kod
Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,
Bardziej szczegółowoWprowadzenie. 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ółowoJęzyki programowania zasady ich tworzenia
Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie
Bardziej szczegółowoKurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016
Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal
Bardziej szczegółowoJę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ółowoWykł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ółowo1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.
1. Pierwszy program // mój pierwszy program w C++ #include using namespace std; cout
Bardziej szczegółowoProgramowanie 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ółowoProgramowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!
Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)
Bardziej szczegółowoWykł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ółowoLaboratorium 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ółowoWykł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 1 Rys historyczny lata 80-90: efektywność! Cel: zwiększyć efektywność programisty jedno narzędzie: integracja edytor kodu, funkcje programistyczne (kompilacja, łączenie,
Bardziej szczegółowoZaję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ółowoJęzyk ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Bardziej szczegółowoMetodologie 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ółowoProgramowanie 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ółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoPodstawy 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 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ółowoJę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ółowoZadanie 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ółowoWprowadzenie 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ółowoProgramowanie 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ółowoHistoria 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ółowoJę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ółowoProgramowanie w języku Python. Grażyna Koba
Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i
Bardziej szczegółowoSprzę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ółowoMATERIAŁ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ółowoMetody Kompilacji Wykład 1 Wstęp
Metody Kompilacji Wykład 1 Wstęp Literatura: Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman: Compilers: Princiles, Techniques, and Tools. Addison-Wesley 1986, ISBN 0-201-10088-6 Literatura: Alfred V. Aho,
Bardziej szczegółowoJę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ółowoTworzenie 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ółowoProgramowanie 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ółowoPodstawy 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ółowoPodstawy 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ółowoLaboratorium 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ółowoWstę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ółowoKomputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy
Programowanie w C++ 1.Czym jest programowanie Pisanie programów to wcale nie czarna magia, tylko bardzo logiczna rozmowa z komputerem. Oczywiście w jednym ze specjalnie stworzonych do tego celu języków.
Bardziej szczegółowoPodstawy Programowania
Podstawy Programowania Monika Wrzosek Instytut Matematyki Uniwersytet Gdański Matematyka 2017/18 Monika Wrzosek (IM UG) Podstawy Programowania 1 / 119 Sprawy organizacyjne E-mail: mwrzosek@mat.ug.edu.pl
Bardziej szczegółowoInformatyka 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ółowoJDK 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ółowoWstę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ółowoPodstawy 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ółowoProgramowanie. 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ółowoKONSTRUKCJA KOMPILATORÓW
KONSTRUKCJA KOMPILATORÓW WYKŁAD Robert Plebaniak PLATFORMA PROGRAMOWA LINUX (może nie zawierać LLgen, wówczas instalacja ze strony http://tack.sourceforge.net); WINDOWS (używa się wtedy programu Cygwin,
Bardziej szczegółowoInformatyka 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ółowoAlgorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Bardziej szczegółowoInformatyczna 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ółowoWPROWADZENIE 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ółowoPodstawy programowania. Wprowadzenie
Podstawy programowania Wprowadzenie Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania znaleźć matematyczne
Bardziej szczegółowoInformatyka- 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ółowoPodstawy 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ółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoJava. 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ółowo1.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ółowoPodstawy 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ółowoPodstawy 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ółowoProgramowanie 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ółowoPodstawy 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ółowoC# /.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ółowoPodstawy 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