ZAAWANSOWANEJĘZYKI PROGRAMOWANIA

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

Download "ZAAWANSOWANEJĘZYKI PROGRAMOWANIA"

Transkrypt

1 Stefan Sokołowski ZAAWANSOWANEJĘZYKI PROGRAMOWANIA Inst. Informatyki, UG Gdańsk, 2016/2017

2 Zaawansowane Języki Programowania Wykład1,str.1 Na stefan/dydaktyka/zaawjezprog będą się stopniowo pojawiać: slajdy do wykładów szkicowy plan wykładu zadania z laboratorium spis literatury itd.

3 Zaawansowane Języki Programowania Wykład1,str.1 Na stefan/dydaktyka/zaawjezprog będą się stopniowo pojawiać: slajdy do wykładów szkicowy plan wykładu zadania z laboratorium spis literatury itd. Uwaga: przeczytanie tych materiałów nie wystarczy do zaliczenia!

4 Zaawansowane Języki Programowania Wykład1,str.2 Wymagania wstępne: zaliczone Języki programowania z I roku st. lic.(lub równoważne); obycie z programowaniem i biegłość w uruchamianiu programów.

5 Zaawansowane Języki Programowania Wykład1,str.2 Wymagania wstępne: zaliczone Języki programowania z I roku st. lic.(lub równoważne); obycie z programowaniem i biegłość w uruchamianiu programów. Wymagania na zaliczenie: zaliczyć laboratorium przez sprawdziany(łatwa droga), lub sprawdziany+rozbójnik pod koniec semestru(trudniejsza droga), lub zaliczenie poprawkowe(bardzo trudna droga) naconajmniej51% procenty ocena p<51% % p< % p< % p< % p< % p 5.0

6 Zaawansowane Języki Programowania Wykład1,str.2 Wymagania wstępne: zaliczone Języki programowania z I roku st. lic.(lub równoważne); obycie z programowaniem i biegłość w uruchamianiu programów. Wymagania na zaliczenie: zaliczyć laboratorium przez sprawdziany(łatwa droga), lub sprawdziany+rozbójnik pod koniec semestru(trudniejsza droga), lub zaliczenie poprawkowe(bardzo trudna droga) na co najmniej 51%; zdać egzamin w sesji podstawowej lub poprawkowej. procenty ocena p<51% % p< % p< % p< % p< % p 5.0

7 Tradycyjne dziedziny zastosowań Wykład1,str.3 Nauka(fizyka, astronomia, technika...) proste struktury danych(tablice), dużo obliczeń na liczbach rzeczywistych. Fortran,Algol60,...

8 Tradycyjne dziedziny zastosowań Wykład1,str.3 Nauka(fizyka, astronomia, technika...) proste struktury danych(tablice), dużo obliczeń na liczbach rzeczywistych. Fortran,Algol60,... Biznes sporządzanie skomplikowanych zestawień i sprawozdań. Cobol.

9 Tradycyjne dziedziny zastosowań Wykład1,str.3 Nauka(fizyka, astronomia, technika...) proste struktury danych(tablice), dużo obliczeń na liczbach rzeczywistych. Fortran,Algol60,... Biznes sporządzanie skomplikowanych zestawień i sprawozdań. Cobol. Sztucznainteligencja działania na symbolach(listy), elastyczność. Lisp, Prolog.

10 Tradycyjne dziedziny zastosowań Wykład1,str.3 Nauka(fizyka, astronomia, technika...) proste struktury danych(tablice), dużo obliczeń na liczbach rzeczywistych. Fortran,Algol60,... Biznes sporządzanie skomplikowanych zestawień i sprawozdań. Cobol. Sztucznainteligencja działania na symbolach(listy), elastyczność. Lisp, Prolog. Programowaniesystemowe dostęp do cech niskiego poziomu(dla efektywności). PL/I,C,...

11 Tradycyjne dziedziny zastosowań Wykład1,str.3 Nauka(fizyka, astronomia, technika...) proste struktury danych(tablice), dużo obliczeń na liczbach rzeczywistych. Fortran,Algol60,... Biznes sporządzanie skomplikowanych zestawień i sprawozdań. Cobol. Sztucznainteligencja działania na symbolach(listy), elastyczność. Lisp, Prolog. Programowaniesystemowe dostęp do cech niskiego poziomu(dla efektywności). PL/I,C,... Internet niezależność od platformy, wymagania bezpieczeństwa. PHP,JavaScript,...

12 Wykład1,str.4 Człowiek kulturalny zamienia się w bestię w trzech przypadkach:...

13 Wykład1,str.4 Człowiek kulturalny zamienia się w bestię w trzech przypadkach: kiedysiadazakierownicęsamochodu,...

14 Wykład1,str.4 Człowiek kulturalny zamienia się w bestię w trzech przypadkach: kiedy siada za kierownicę samochodu, kiedyjegodrużynagraważnymecz,...

15 Wykład1,str.4 Człowiek kulturalny zamienia się w bestię w trzech przypadkach: kiedy siada za kierownicę samochodu, kiedyjegodrużynagraważnymecz, kiedy dyskutuje o wyższości jednego języka programowania nadinnym.

16 Wykład1,str.5 czytelność programów

17 Wykład1,str.5 czytelność programów pisalność (łatwość pisania) programów

18 Wykład1,str.5 czytelność programów pisalność (łatwość pisania) programów niezawodność programów

19 Wykład1,str.5 czytelność programów pisalność (łatwość pisania) programów niezawodność programów koszty

20 Wykład1,str.6 Czytelność programów rozumienie kodu praca wspólna pielęgnacja

21 Wykład1,str.6 Czytelność programów rozumienie kodu praca wspólna pielęgnacja prostota języka: wiele konstruktów podstawowych dłuższa nauka programiści często znają tylko podzbiór, każdy inny

22 Wykład1,str.6 Czytelność programów rozumienie kodu praca wspólna pielęgnacja prostota języka: wiele konstruktów podstawowych dłuższa nauka programiści często znają tylko podzbiór, każdy inny wiele sposobów powiedzenia tego samego czytanie programów wymaga staranniejszej analizy n=n+1; n+=1;

23 Wykład1,str.6 Czytelność programów rozumienie kodu praca wspólna pielęgnacja prostota języka: wiele konstruktów podstawowych dłuższa nauka programiści często znają tylko podzbiór, każdy inny wiele sposobów powiedzenia tego samego czytanie programów wymaga staranniejszej analizy wiele sposobów powiedzenia prawie tego samego jeszcze gorzej n=n+1; n+=1; n++; ++n;

24 Wykład1,str.6 Czytelność programów rozumienie kodu praca wspólna pielęgnacja prostota języka: wiele konstruktów podstawowych dłuższa nauka programiści często znają tylko podzbiór, każdy inny wiele sposobów powiedzenia tego samego czytanie programów wymaga staranniejszej analizy wiele sposobów powiedzenia prawie tego samego jeszcze gorzej n=n+1; n+=1; n++; ++n; wieloznaczności w języku(np. w C:& ma dwa różne znaczenia) bardzo zmniejszają czytelność

25 Wykład1,str.6 Czytelność programów rozumienie kodu praca wspólna pielęgnacja prostota języka: wiele konstruktów podstawowych dłuższa nauka programiści często znają tylko podzbiór, każdy inny wiele sposobów powiedzenia tego samego czytanie programów wymaga staranniejszej analizy wiele sposobów powiedzenia prawie tego samego jeszcze gorzej n=n+1; n+=1; n++; ++n; wieloznaczności w języku(np. w C: & ma dwa różne znaczenia) bardzo zmniejszają czytelność ALE języki bardzo proste wymagają długich programów, co zmniejsza czytelność.

26 Wykład1,str.7 Czytelność programów rozumienie kodu praca wspólna pielęgnacja ortogonalność pojęć ogólne zasady, stosowalne w ten sam sposób do wszystkiego

27 Wykład1,str.7 Czytelność programów rozumienie kodu praca wspólna pielęgnacja ortogonalność pojęć ogólne zasady, stosowalne w ten sam sposób do wszystkiego Przykład: (ortogonalność) M w C elementy struktury mogą mieć dowolny typ, również tablicowy w C elementy tablicy mogą mieć dowolny typ, również strukturowy tablicewewnątrzstruktur,zawartewtablicach,...itp.sąok tablice i struktury są ortogonalne

28 Wykład1,str.7 Czytelność programów rozumienie kodu praca wspólna pielęgnacja ortogonalność pojęć ogólne zasady, stosowalne w ten sam sposób do wszystkiego Przykład: (ortogonalność) M w C elementy struktury mogą mieć dowolny typ, również tablicowy w C elementy tablicy mogą mieć dowolny typ, również strukturowy tablicewewnątrzstruktur,zawartewtablicach,...itp.sąok tablice i struktury są ortogonalne Przykład: (nieortogonalność) MwCwartośćoddawanaprzezfunkcjęmożemiećdowolnytypzwyjątkiem tablicowego typy i funkcje nie są ortogonalne

29 Wykład1,str.8 Czytelność programów rozumienie kodu praca wspólna pielęgnacja ortogonalność pojęć ogólne zasady, stosowalne w ten sam sposób do wszystkiego

30 Wykład1,str.8 Czytelność programów rozumienie kodu praca wspólna pielęgnacja ortogonalność pojęć ogólne zasady, stosowalne w ten sam sposób do wszystkiego Przykład: (ortogonalność) M w języku wewn. minikomputerów VAX: dodawanie komórki do rejestru ozn. ADDL rejestr komórka dodawanie rejestru do rejestru ozn. ADDL rejestr rejestr można w ten sposób dodać wszystko do wszystkiego

31 Wykład1,str.8 Czytelność programów rozumienie kodu praca wspólna pielęgnacja ortogonalność pojęć ogólne zasady, stosowalne w ten sam sposób do wszystkiego Przykład: (ortogonalność) M w języku wewn. minikomputerów VAX: dodawanie komórki do rejestru ozn. ADDL rejestr komórka dodawanie rejestru do rejestru ozn. ADDL rejestr rejestr można w ten sposób dodać wszystko do wszystkiego Przykład: (nieortogonalność) M w języku wewn. dużych komputerów IBM: dodawanie komórki do rejestru ozn. A rejestr komórka dodawanie rejestru do rejestru ozn. AR rejestr rejestr w żaden sposób nie można dodać niczego do komórki pamięci

32 Wykład1,str.9 Czytelność programów rozumienie kodu praca wspólna pielęgnacja ortogonalność pojęć ogólne zasady, stosowalne w ten sam sposób do wszystkiego

33 Wykład1,str.9 Czytelność programów rozumienie kodu praca wspólna pielęgnacja ortogonalność pojęć ogólne zasady, stosowalne w ten sam sposób do wszystkiego ALE zbyt dużo ortogonalności może zmniejszyć czytelność.

34 Wykład1,str.9 Czytelność programów rozumienie kodu praca wspólna pielęgnacja ortogonalność pojęć ogólne zasady, stosowalne w ten sam sposób do wszystkiego ALE zbyt dużo ortogonalności może zmniejszyć czytelność. Przykład: MW Algolu 68 wyrażenia warunkowe i inne rzeczy mogą występować po obu stronach przypisania: ifa<bthenaelsebfi := 0

35 Wykład1,str.10 Czytelność programów szczegóły składni: język C x=arg; nizej=0; wyzej=x+1; while(wyzej-nizej > 1) { srodek =(nizej+wyzej)/2; if(srodek*srodek <= x) { nizej = srodek; } else { wyzej = srodek; } } printf(" sqrt(%i) =%i\n", x,nizej);

36 Wykład1,str.10 Czytelność programów szczegóły składni: język C x=arg; nizej=0; wyzej=x+1; while(wyzej-nizej > 1) { srodek =(nizej+wyzej)/2; if(srodek*srodek <= x) { nizej = srodek; } else { wyzej = srodek; } } printf(" sqrt(%i) =%i\n", x,nizej); język Bash x=$1 nizej=0; wyzej=x+1 while[$[wyzej-nizej]-gt1] do srodek=$[(nizej+wyzej)/2] if[$[srodek*srodek]-le$x] then nizej=$srodek else wyzej=$srodek fi done echo" sqrt($x) =$nizej"

37 Wykład1,str.10 Czytelność programów szczegóły składni: język C x=arg; nizej=0; wyzej=x+1; while(wyzej-nizej > 1) { srodek =(nizej+wyzej)/2; if(srodek*srodek <= x) { nizej = srodek; } else { wyzej = srodek; } } printf(" sqrt(%i) =%i\n", x,nizej); gorzej:identyczneklamry {...} język Bash x=$1 nizej=0; wyzej=x+1 while[$[wyzej-nizej]-gt1] do srodek=$[(nizej+wyzej)/2] if[$[srodek*srodek]-le$x] then nizej=$srodek else wyzej=$srodek fi done echo" sqrt($x) =$nizej" lepiej:słowakluczoweif...fi do...done

38 Wykład1,str.11 Łatwość pisania programów prostota i ortogonalność: duża liczba gotowych konstrukcji trudno się ich nauczyć i łatwo użyć błędnie

39 Wykład1,str.11 Łatwość pisania programów prostota i ortogonalność: duża liczba gotowych konstrukcji trudno się ich nauczyć i łatwo użyć błędnie mała liczba gotowych konstrukcji i reguły do ich łączenia łatwo(po minimalnej nauce) wymyślić dobry program

40 Wykład1,str.11 Łatwość pisania programów prostota i ortogonalność: duża liczba gotowych konstrukcji trudno się ich nauczyć i łatwo użyć błędnie mała liczba gotowych konstrukcji i reguły do ich łączenia łatwo(po minimalnej nauce) wymyślić dobry program ALE przesadna ortogonalność, kiedy każda kombinacja symboli coś dla kompilatora znaczy, utrudnia wykrycie błędu

41 Wykład1,str.12 Łatwość pisania programów abstrakcja możliwość definiowania złożonych danych i operacji i używania ich bez pamiętania szczegółów definicji

42 Wykład1,str.12 Łatwość pisania programów abstrakcja możliwość definiowania złożonych danych i operacji i używania ich bez pamiętania szczegółów definicji abstrakcja procesu: np. podprogram(funkcja), którego wywołania mogą być używane jak predefiniowane operacje

43 Wykład1,str.12 Łatwość pisania programów abstrakcja możliwość definiowania złożonych danych i operacji i używania ich bez pamiętania szczegółów definicji abstrakcja procesu: np. podprogram(funkcja), którego wywołania mogą być używane jak predefiniowane operacje abstrakcja danych: np. definicja drzewa binarnego... jeśli możemy zdefiniować wierzchołki drzewa: jeśli drzewo musimy implementować w tablicach:

44 Wykład1,str.13 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń.

45 Wykład1,str.13 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład: M dla każdego elementu tablicy wydrukować jego indeks i wartość język C for(int i=0; i<dlug TABL; i++) printf("%i:%lf\n", i,tabl[i]);

46 Wykład1,str.13 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład: M dla każdego elementu tablicy wydrukować jego indeks i wartość język C for(int i=0; i<dlug TABL; i++) printf("%i:%lf\n", i,tabl[i]); język PHP foreach($tabl as $ind => $wart) echo" $ind: $wart\n";

47 Wykład1,str.13 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład: M dla każdego elementu tablicy wydrukować jego indeks i wartość język C for(int i=0; i<dlug TABL; i++) printf("%i:%lf\n", i,tabl[i]); gorzej: obliczenie język PHP foreach($tabl as $ind => $wart) echo" $ind: $wart\n"; lepiej: wyrażone wprost

48 Wykład1,str.14 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń.

49 Wykład1,str.14 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład: M zaprogramować wieże Hanoi mamy przełożyć wszystkie krążki z pałeczki 1 na pałeczkę 3, używając pomocniczo pałeczki 2, na raz wolno przełożyć tylko jeden krążek, nigdy nie wolno kłaść krążka większego na mniejszy.

50 Wykład1,str.14 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład: M zaprogramować wieże Hanoi mamy przełożyć wszystkie krążki z pałeczki 1 na pałeczkę 3, używając pomocniczo pałeczki 2, na raz wolno przełożyć tylko jeden krążek, nigdy nie wolno kłaść krążka większego na mniejszy.

51 Wykład1,str.14 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład: M zaprogramować wieże Hanoi mamy przełożyć wszystkie krążki z pałeczki 1 na pałeczkę 3, używając pomocniczo pałeczki 2, na raz wolno przełożyć tylko jeden krążek, nigdy nie wolno kłaść krążka większego na mniejszy.

52 Wykład1,str.14 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład: M zaprogramować wieże Hanoi mamy przełożyć wszystkie krążki z pałeczki 1 na pałeczkę 3, używając pomocniczo pałeczki 2, na raz wolno przełożyć tylko jeden krążek, nigdy nie wolno kłaść krążka większego na mniejszy.

53 Wykład1,str.14 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład: M zaprogramować wieże Hanoi mamy przełożyć wszystkie krążki z pałeczki 1 na pałeczkę 3, używając pomocniczo pałeczki 2, na raz wolno przełożyć tylko jeden krążek, nigdy nie wolno kłaść krążka większego na mniejszy.

54 Wykład1,str.14 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład: M zaprogramować wieże Hanoi mamy przełożyć wszystkie krążki z pałeczki 1 na pałeczkę 3, używając pomocniczo pałeczki 2, na raz wolno przełożyć tylko jeden krążek, nigdy nie wolno kłaść krążka większego na mniejszy.

55 Wykład1,str.14 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład: M zaprogramować wieże Hanoi mamy przełożyć wszystkie krążki z pałeczki 1 na pałeczkę 3, używając pomocniczo pałeczki 2, na raz wolno przełożyć tylko jeden krążek, nigdy nie wolno kłaść krążka większego na mniejszy.

56 Wykład1,str.14 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład: M zaprogramować wieże Hanoi mamy przełożyć wszystkie krążki z pałeczki 1 na pałeczkę 3, używając pomocniczo pałeczki 2, na raz wolno przełożyć tylko jeden krążek, nigdy nie wolno kłaść krążka większego na mniejszy.

57 Wykład1,str.14 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład: M zaprogramować wieże Hanoi mamy przełożyć wszystkie krążki z pałeczki 1 na pałeczkę 3, używając pomocniczo pałeczki 2, na raz wolno przełożyć tylko jeden krążek, nigdy nie wolno kłaść krążka większego na mniejszy.

58 Wykład1,str.14 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład: M zaprogramować wieże Hanoi mamy przełożyć wszystkie krążki z pałeczki 1 na pałeczkę 3, używając pomocniczo pałeczki 2, na raz wolno przełożyć tylko jeden krążek, nigdy nie wolno kłaść krążka większego na mniejszy.

59 Wykład1,str.14 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład: M zaprogramować wieże Hanoi mamy przełożyć wszystkie krążki z pałeczki 1 na pałeczkę 3, używając pomocniczo pałeczki 2, na raz wolno przełożyć tylko jeden krążek, nigdy nie wolno kłaść krążka większego na mniejszy.

60 Wykład1,str.14 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład: M zaprogramować wieże Hanoi mamy przełożyć wszystkie krążki z pałeczki 1 na pałeczkę 3, używając pomocniczo pałeczki 2, na raz wolno przełożyć tylko jeden krążek, nigdy nie wolno kłaść krążka większego na mniejszy.

61 Wykład1,str.14 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład: M zaprogramować wieże Hanoi mamy przełożyć wszystkie krążki z pałeczki 1 na pałeczkę 3, używając pomocniczo pałeczki 2, na raz wolno przełożyć tylko jeden krążek, nigdy nie wolno kłaść krążka większego na mniejszy.

62 Wykład1,str.14 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład: M zaprogramować wieże Hanoi mamy przełożyć wszystkie krążki z pałeczki 1 na pałeczkę 3, używając pomocniczo pałeczki 2, na raz wolno przełożyć tylko jeden krążek, nigdy nie wolno kłaść krążka większego na mniejszy.

63 Wykład1,str.14 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład: M zaprogramować wieże Hanoi mamy przełożyć wszystkie krążki z pałeczki 1 na pałeczkę 3, używając pomocniczo pałeczki 2, na raz wolno przełożyć tylko jeden krążek, nigdy nie wolno kłaść krążka większego na mniejszy.

64 Wykład1,str.14 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład: M zaprogramować wieże Hanoi mamy przełożyć wszystkie krążki z pałeczki 1 na pałeczkę 3, używając pomocniczo pałeczki 2, na raz wolno przełożyć tylko jeden krążek, nigdy nie wolno kłaść krążka większego na mniejszy.

65 Wykład1,str.15 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład: M zaprogramować wieże Hanoi zrekursją void Hanoi(int n, inta,intb,intc) { /*nkrążków zpałeczkianapałeczkęc*/ if(n>0) { Hanoi(n-1, a, c, b); przełóżkrążekzanac; Hanoi(n-1, b, a, c); } }

66 Wykład1,str.15 Łatwość pisania programów ekspresywność łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład: M zaprogramować wieże Hanoi zrekursją void Hanoi(int n, inta,intb,intc) { /*nkrążków zpałeczkianapałeczkęc*/ if(n>0) { Hanoi(n-1, a, c, b); przełóżkrążekzanac; Hanoi(n-1, b, a, c); } } rekursja poprawia ekspresywność bez rekursji skomplikowane operacje na stosie

67 Wykład1,str.16 Niezawodność sprawdzanie typu

68 Wykład1,str.16 Niezawodność sprawdzanie typu: Przykład: M printf("witam!\n"+1); bez sprawdzania typów: itam! ze sprawdzaniem typów: sygnał błędu

69 Wykład1,str.16 Niezawodność sprawdzanie typu: Przykład: M printf("witam!\n"+1); bez sprawdzania typów: itam! ze sprawdzaniem typów: sygnał błędu Przykład: M printf("%i\n",10.0); bez sprawdzania typów: (C daje ostrzeżenie) ze sprawdzaniem typów: sygnał błędu

70 Wykład1,str.17 Niezawodność reakcja na wyjątki(błędy wykonania)

71 Wykład1,str.17 Niezawodność reakcja na wyjątki(błędy wykonania): Przykład: M double srednia(int N, double tab[n]) { doublesuma=0.0; for(inti=0;i<n;i++) suma+=tab[i]; return suma/n; }

72 Wykład1,str.17 Niezawodność reakcja na wyjątki(błędy wykonania): Przykład: M double srednia(int N, double tab[n]) { doublesuma=0.0; for(inti=0;i<n;i++) suma+=tab[i]; return suma/n; } Co zmienić, żeby program sensownie reagował na sytuację, gdy N = 0?

73 Wykład1,str.17 Niezawodność reakcja na wyjątki(błędy wykonania): Przykład: M double srednia(int N, double tab[n]) { doublesuma=0.0; for(inti=0;i<n;i++) suma+=tab[i]; return suma/n; } Co zmienić, żeby program sensownie reagował na sytuację, gdy N = 0? bez obsługi wyjątków: przebudować funkcję srednia, albo zgodzić się, że program czasem padnie

74 Wykład1,str.17 Niezawodność reakcja na wyjątki(błędy wykonania): Przykład: M double srednia(int N, double tab[n]) { doublesuma=0.0; for(inti=0;i<n;i++) suma+=tab[i]; return suma/n; } Co zmienić, żeby program sensownie reagował na sytuację, gdy N = 0? bez obsługi wyjątków: przebudować funkcję srednia, albo zgodzić się, że program czasem padnie z obsługą wyjątków: zaprogramować własną reakcję

75 Wykład1,str.18 Niezawodność unikanie aliasów

76 Wykład1,str.18 Niezawodność unikanie aliasów: Przykład: M inta;int b=&a; a=0; b=1; printf("a==%i\n",a);

77 Wykład1,str.18 Niezawodność unikanie aliasów: Przykład: M inta;int b=&a; a=0; b=1; printf("a==%i\n",a); Drukuje: 1, chociaż wartość zmiennej a nie została jawnie zmieniona.

78 Wykład1,str.18 Niezawodność unikanie aliasów: Przykład: M inta;int b=&a; a=0; b=1; printf("a==%i\n",a); Drukuje: 1, chociaż wartość zmiennej a nie została jawnie zmieniona. Aliasy pozwalają na niejawną zmianę wartości, a to prowadzi do błędów.

79 Wykład1,str.19 Koszt stworzenia programu pielęgnacji niezawodności

80 Wykład1,str.19 Koszt stworzenia programu pielęgnacji niezawodności koszt każdorazowego wykonania programu(zależy od natury zagadnienia i jakości stosowanego algorytmu)

81 Wykład1,str.19 Koszt stworzenia programu pielęgnacji niezawodności koszt każdorazowego wykonania programu(zależy od natury zagadnienia i jakości stosowanego algorytmu) koszt kompilacji programu(zależy od prostoty języka i jakości kompilatora)

82 Wykład1,str.19 Koszt stworzenia programu pielęgnacji niezawodności koszt każdorazowego wykonania programu(zależy od natury zagadnienia i jakości stosowanego algorytmu) koszt kompilacji programu(zależy od prostoty języka i jakości kompilatora) koszt napisania programu(zależy od łatwości pisania)

83 Wykład1,str.19 Koszt stworzenia programu pielęgnacji niezawodności koszt każdorazowego wykonania programu(zależy od natury zagadnienia i jakości stosowanego algorytmu) koszt kompilacji programu(zależy od prostoty języka i jakości kompilatora) koszt napisania programu(zależy od łatwości pisania) koszt pielęgnacji programu(zależy od czytelności)

84 Wykład1,str.19 Koszt stworzenia programu pielęgnacji niezawodności koszt każdorazowego wykonania programu(zależy od natury zagadnienia i jakości stosowanego algorytmu) koszt kompilacji programu(zależy od prostoty języka i jakości kompilatora) koszt napisania programu(zależy od łatwości pisania) koszt pielęgnacji programu(zależy od czytelności) koszt zawodności programu

85 Wykład1,str.19 Koszt stworzenia programu pielęgnacji niezawodności koszt każdorazowego wykonania programu(zależy od natury zagadnienia i jakości stosowanego algorytmu) koszt kompilacji programu(zależy od prostoty języka i jakości kompilatora) koszt napisania programu(zależy od łatwości pisania) koszt pielęgnacji programu(zależy od czytelności) koszt zawodności programu koszt nauczenia się języka(zależy od jego prostoty i ortogonalności)

86 Co kształtuje języki programowania? Wykład1,str.20 Architektura komputera(bardzo uproszczona)

87 Co kształtuje języki programowania? Wykład1,str.20 Architektura komputera(bardzo uproszczona) PAMIĘĆ n 1 Komputer von Neumanna: bierna pamięć adresowana(numerowana); w niej rozkazy i dane

88 Co kształtuje języki programowania? Wykład1,str.20 Architektura komputera(bardzo uproszczona) PAMIĘĆ PROCESOR licz. rozkazów rejestr arytm. n 1 Komputer von Neumanna: bierna pamięć adresowana(numerowana); w niej rozkazy i dane; czynnyprocesor

89 Co kształtuje języki programowania? Wykład1,str.20 Architektura komputera(bardzo uproszczona) PAMIĘĆ PROCESOR 0 licz. rozkazów rejestr arytm. 4 5 n 1 Komputer von Neumanna: bierna pamięć adresowana(numerowana); w niej rozkazy i dane; czynnyprocesor: licznik rozkazów wskazuje adres rozkazu do wykonania

90 Co kształtuje języki programowania? Wykład1,str.20 Architektura komputera(bardzo uproszczona) PAMIĘĆ PROCESOR 0 licz. rozkazów rejestr arytm..... n 1 Komputer von Neumanna: bierna pamięć adresowana(numerowana); w niej rozkazy i dane; czynnyprocesor: licznik rozkazów wskazuje adres rozkazu do wykonania, działania wykonują się między rejestrem a komórką pamięci.

91 Co kształtuje języki programowania? Wykład1,str.20 Architektura komputera(bardzo uproszczona) PAMIĘĆ PROCESOR licz. rozkazów.. rejestr arytm..... WEJŚCIE/WYJŚCIE n 1 Komputer von Neumanna: bierna pamięć adresowana(numerowana); w niej rozkazy i dane; czynnyprocesor: licznik rozkazów wskazuje adres rozkazu do wykonania, działania wykonują się między rejestrem a komórką pamięci.

92 Co kształtuje języki programowania? Wykład1,str.21 Architektura komputera(bardzo uproszczona) Komputer von Neumanna: inicjalizuj licznik rozkazów; while(prawda) { /*czylibezkońca*/ pobierz instrukcję spod adresu w liczn.rozk.; zwiększ liczn.rozk. o 1; wykonaj pobraną instrukcję; }

93 Co kształtuje języki programowania? Wykład1,str.21 Architektura komputera(bardzo uproszczona) Komputer von Neumanna: inicjalizuj licznik rozkazów; while(prawda) { /*czylibezkońca*/ pobierz instrukcję spod adresu w liczn.rozk.; zwiększ liczn.rozk. o 1; wykonaj pobraną instrukcję; } Taka architektura powoduje, że programowanie imperatywne(rozkazy dla komputera, jeden po drugim) jest bardziej naturalne dla komputera chociaż nie dla człowieka.

ZAAWANSOWANE JĘZYKI PROGRAMOWANIA

ZAAWANSOWANE JĘZYKI PROGRAMOWANIA Stefan Sokołowski ZAAWANSOWANE JĘZYKI PROGRAMOWANIA Inst Informatyki, UG Gdańsk, 2016/2017 Zaawansowane Języki Programowania Wykład1,str1 Na http://infugedupl/ stefan/dydaktyka/zaawjezprog będą się stopniowo

Bardziej szczegółowo

ZAAWANSOWANE JĘZYKI PROGRAMOWANIA

ZAAWANSOWANE JĘZYKI PROGRAMOWANIA Stefan Sokołowski ZAAWANSOWANE JĘZYKI PROGRAMOWANIA Inst. Informatyki, UG Gdańsk, 2015/2016 Zaawansowane Języki Programowania Wykład1,str.1 Na http://sigma.ug.edu.pl/ stefan/dydaktyka/zaawjezprog będą

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA

JĘZYKI PROGRAMOWANIA Stefan Sokołowski JĘZYKI PROGRAMOWANIA Inst Informatyki UG, Gdańsk, 2014/2015 Wykład1OGÓLNEINFORMACJEOC,str1 JĘZYKI PROGRAMOWANIA reguły gry Zasadnicze informacje: http://infugedupl/ stefan/dydaktyka/jezprog

Bardziej szczegółowo

ZASADY PROGRAMOWANIA KOMPUTERÓW

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

Bardziej szczegółowo

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ; Ogólna postać definicji tablicy: TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ; np. int tablica [ 10 ]; // 10-cio elementowa tablica liczb całkowitych char tekst

Bardziej szczegółowo

Funkcje. Funkcje. liczba rzeczywista r punkt, w którym wartość wielomianu nas interesuje. Szukane: liczba rzeczywista

Funkcje. Funkcje. liczba rzeczywista r punkt, w którym wartość wielomianu nas interesuje. Szukane: liczba rzeczywista Funkcje Przykład: (wartość wielomianu w punkcie) M Dane: liczba naturalna N liczba współczynników wielomianu (= stopień wielomianu +1) tablicaliczbrzeczywistycha 0,a 1,a 2,...,a N 1 współczynnikiwielomianu

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Stefan Sokołowski JĘZYKIPROGRAMOWANIA. Inst. Informatyki UG, Gdańsk, 2012/2013

Stefan Sokołowski JĘZYKIPROGRAMOWANIA. Inst. Informatyki UG, Gdańsk, 2012/2013 Stefan Sokołowski JĘZYKIPROGRAMOWANIA Inst Informatyki UG, Gdańsk, 2012/2013 Wykład1OGÓLNEINFORMACJEOC,str1 JĘZYKI PROGRAMOWANIA reguły gry Zasadnicze informacje: http://infugedupl/ stefan/dydaktyka/jezprog

Bardziej szczegółowo

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 1. Podaj definicję informatyki. 2. W jaki sposób można definiować informatykę? 3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 4. Co to jest algorytm? 5. Podaj neumanowską architekturę

Bardziej szczegółowo

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa Struktura

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Tablice wielowymiarowe C umożliwia definiowanie tablic wielowymiarowych najczęściej stosowane

Bardziej szczegółowo

Rekurencja. Przygotowała: Agnieszka Reiter

Rekurencja. Przygotowała: Agnieszka Reiter Rekurencja Przygotowała: Agnieszka Reiter Definicja Charakterystyczną cechą funkcji (procedury) rekurencyjnej jest to, że wywołuje ona samą siebie. Drugą cechą rekursji jest jej dziedzina, którą mogą być

Bardziej szczegółowo

Wstęp do Informatyki dla bioinformatyków

Wstęp do Informatyki dla bioinformatyków Wstęp do Informatyki dla bioinformatyków Wykład 12 - Programowanie w BASHu Trochę bardziej zaawansowane Bartek Wilczyński 25.1.2016 Organizacyjne Bardzo proszę o wypełnienie ankiet w USOS Szczególnie zależy

Bardziej szczegółowo

tablica: dane_liczbowe

tablica: dane_liczbowe TABLICE W JĘZYKU C/C++ tablica: dane_liczbowe float dane_liczbowe[5]; dane_liczbowe[0]=12.5; dane_liczbowe[1]=-0.2; dane_liczbowe[2]= 8.0;... 12.5-0.2 8.0...... 0 1 2 3 4 indeksy/numery elementów Tablica

Bardziej szczegółowo

Zapisywanie algorytmów w języku programowania

Zapisywanie algorytmów w języku programowania Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym

Bardziej szczegółowo

Paradygmaty programowania

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

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

JĘZYKIFORMALNE IMETODYKOMPILACJI

JĘZYKIFORMALNE IMETODYKOMPILACJI Stefan Sokołowski JĘZYKIFORMALNE IMETODYKOMPILACJI Inst. Informatyki Stosowanej, PWSZ Elbląg, 2009/2010 JĘZYKI FORMALNE reguły gry Wykład1,2X2009,str.1 Zasadnicze informacje: http://iis.pwsz.elblag.pl/

Bardziej szczegółowo

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24 Wymagania proceduralnych języków wysokiego poziomu ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH modele programowe procesorów ASK MP.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad.

Bardziej szczegółowo

typ_zwracanej_wartości nazwa_funkcji(lista deklaracji argumentów) { ciało(treść) funkcji return Val; //zwracana wartość }

typ_zwracanej_wartości nazwa_funkcji(lista deklaracji argumentów) { ciało(treść) funkcji return Val; //zwracana wartość } Języki i paradygmaty programowania studia stacjonarne 208/9 Lab 3. Funkcje, argumenty funkcji, wskaźniki, adresy.. Podstawowe pojęcia: Funkcja w C (czasami nazywana podprogramem, rzadziej procedurą) to

Bardziej szczegółowo

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++ Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Chemia, poziom pierwszy Sylabus modułu: Laboratorium programowania (0310-CH-S1-019) Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania

Bardziej szczegółowo

Języki i paradygmaty programowania. I. Wprowadzenie

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

Bardziej szczegółowo

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

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

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

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Technologie cyfrowe Artur Kalinowski Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.pl Semestr letni 2014/2015 Zadanie algorytmiczne: wyszukiwanie dane wejściowe:

Bardziej szczegółowo

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania Celem ćwiczenia jest zapoznanie studentów z najprostszą dynamiczną strukturą

Bardziej szczegółowo

1. Liczby i w zapisie zmiennoprzecinkowym przedstawia się następująco

1. Liczby i w zapisie zmiennoprzecinkowym przedstawia się następująco 1. Liczby 3456.0012 i 0.000076235 w zapisie zmiennoprzecinkowym przedstawia się następująco a) 0.34560012 10 4 i 0.76235 10 4 b) 3.4560012 10 3 i 7.6235 10 5 c) 3.4560012 10 3 i 7.6235 10 5 d) po prostu

Bardziej szczegółowo

JĘZYKI FORMALNE I METODY KOMPILACJI

JĘZYKI FORMALNE I METODY KOMPILACJI Stefan Sokołowski JĘZYKI FORMALNE I METODY KOMPILACJI Inst Informatyki Stosowanej, PWSZ Elbląg, 2015/2016 JĘZYKI FORMALNE reguły gry Wykład1,str1 Zasadnicze informacje: http://iispwszelblagpl/ stefan/dydaktyka/jezform

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

zmienne stanowią abstrakcję komórek pamięci: programista może przechowywać dane w pamięci, nie martwiąc się o techniczne szczegóły (np.

zmienne stanowią abstrakcję komórek pamięci: programista może przechowywać dane w pamięci, nie martwiąc się o techniczne szczegóły (np. ZMIENNE 39 zmienne stanowią abstrakcję komórek pamięci: programista może przechowywać dane w pamięci, nie martwiąc się o techniczne szczegóły (np. przydział pamięci). 40 Nazewnictwo zmiennych Dozwolone

Bardziej szczegółowo

Podstawy programowania. Wykład 3 Konstrukcje sterujące. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład 3 Konstrukcje sterujące. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład 3 Konstrukcje sterujące Krzysztof Banaś Podstawy programowania 1 Kod źródłowy i wykonanie programu Kod źródłowy w języku programowania zawiera przepis wykonania programu

Bardziej szczegółowo

Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną)

Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną) 1 Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną) Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion,

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

kiedy znowu uzyska sterowanie, to podejmuje obliczenie od miejsca, w którym poprzednio przerwała, i z dotychczasowymi wartościami zmiennych,

kiedy znowu uzyska sterowanie, to podejmuje obliczenie od miejsca, w którym poprzednio przerwała, i z dotychczasowymi wartościami zmiennych, Korutyny Wykład13,str1 tak działa podprogram: PROGRAM GŁÓWNY wywołanie PODPROGRAM tak działają korutyny: KORUTYNA A resume B resume B KORUTYNA B resume A Korutyny Wykład13,str2 Korutyny mają zwykle więcej

Bardziej szczegółowo

4. Funkcje. Przykłady

4. Funkcje. Przykłady 4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Rekurencja, metoda dziel i zwyciężaj Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk(Wydział Fizyki) WP w. VIII Jesień 2014 1 / 27 Rekurencja Recursion See Recursion. P. Daniluk(Wydział

Bardziej szczegółowo

Programowanie komputerowe. Zajęcia 3

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

Bardziej szczegółowo

Język C++ zajęcia nr 2

Język C++ zajęcia nr 2 Język C++ zajęcia nr 2 Inicjalizacja Definiowanie obiektu może być połączone z nadaniem mu wartości początkowej za pomocą inicjalizatora, który umieszczany jest po deklaratorze obiektu. W języku C++ inicjalizator

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

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p. Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Abstrakcja funkcyjna Struktury Klasy hermetyzacja

Bardziej szczegółowo

Laboratorium nr 1. i 2.

Laboratorium nr 1. i 2. Laboratorium nr 1. i 2. Celem laboratorium jest zapoznanie się ze zintegrowanym środowiskiem programistycznym, na przykładzie podstawowych aplikacji z obsługą standardowego wejścia wyjścia, podstawowych

Bardziej szczegółowo

Wstęp do programowania

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

Bardziej szczegółowo

12. Rekurencja. UWAGA Trzeba bardzo dokładnie ustalić <warunek>, żeby mieć pewność, że ciąg wywołań się zakończy.

12. Rekurencja. UWAGA Trzeba bardzo dokładnie ustalić <warunek>, żeby mieć pewność, że ciąg wywołań się zakończy. 12. Rekurencja. Funkcja rekurencyjna funkcja, która wywołuje samą siebie. Naturalne postępowanie: np. zbierając rozsypane pionki do gry podnosi się zwykle pierwszy, a potem zbiera się resztę w ten sam

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wieczorowe Studia Licencjackie Wrocław, Wykład nr 6 (w oparciu o notatki K. Lorysia, z modyfikacjami) Sito Eratostenesa

Wieczorowe Studia Licencjackie Wrocław, Wykład nr 6 (w oparciu o notatki K. Lorysia, z modyfikacjami) Sito Eratostenesa Wieczorowe Studia Licencjackie Wrocław, 7.11.2006 Wstęp do programowania Wykład nr 6 (w oparciu o notatki K. Lorysia, z modyfikacjami) Sito Eratostenesa Zaprezentujemy teraz algorytm na wyznaczanie wszystkich

Bardziej szczegółowo

Personal Home Page PHP: Hypertext Preprocessor

Personal Home Page PHP: Hypertext Preprocessor Języki, które już znacie Wykład9PodstawyPHP,str1 język polski język angielski język C język preprocesora C język bash-a język HTML kolejny język: PHP Język PHP Wykład9PodstawyPHP,str2 Personal Home Page

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 4 Tryby adresowania i formaty Tryby adresowania Natychmiastowy Bezpośredni Pośredni Rejestrowy Rejestrowy pośredni Z przesunięciem stosowy Argument natychmiastowy Op Rozkaz

Bardziej szczegółowo

KARTA PRZEDMIOTU. Egzamin / zaliczenie. Egzamin / zaliczenie. ocenę*

KARTA PRZEDMIOTU. Egzamin / zaliczenie. Egzamin / zaliczenie. ocenę* WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI Zał. nr 4 do ZW 33/01 KARTA PRZEDMIOTU Nazwa w języku polskim: Programowanie w języku C Nazwa w języku angielskim C language programming Kierunek studiów (jeśli

Bardziej szczegółowo

Programowanie w C++ Wykład 3. Katarzyna Grzelak. 12 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35

Programowanie w C++ Wykład 3. Katarzyna Grzelak. 12 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35 Programowanie w C++ Wykład 3 Katarzyna Grzelak 12 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35 Zakres ważności obiektów K.Grzelak (Wykład 1) Programowanie w C++ 2 / 35 Zakres ważności obiektów

Bardziej szczegółowo

Podstawy programowania w języku C

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

Bardziej szczegółowo

Algorytmika i pseudoprogramowanie

Algorytmika i pseudoprogramowanie Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Programowanie Strukturalne i Obiektowe Klasa: druga Dział Dopuszczający Dostateczny Dobry

Bardziej szczegółowo

Opisy efektów kształcenia dla modułu

Opisy efektów kształcenia dla modułu Karta modułu - Metodyki i techniki programowania 1 / 5 Nazwa modułu: Metodyki i techniki programowania Rocznik: 2012/2013 Kod: RIA-1-103-s Punkty ECTS: 7 Wydział: Inżynierii Mechanicznej i Robotyki Poziom

Bardziej szczegółowo

Proste algorytmy w języku C

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

Bardziej szczegółowo

Podstawy Programowania

Podstawy Programowania Podstawy Programowania dr Elżbieta Gawrońska gawronska@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej dr Elżbieta Gawrońska (ICIS) Podstawy Programowania 14 1 / 9 Plan wykładu 1 Sesja egzaminacyjna

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 4

PARADYGMATY PROGRAMOWANIA Wykład 4 PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

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

Bardziej szczegółowo

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

Wstęp do programowania

Wstęp do programowania wykład 10 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Przesyłanie argumentów - cd Przesyłanie argumentów do funkcji - tablice wielowymiarowe Przekazywanie tablic wielowymiarowych

Bardziej szczegółowo

DYNAMICZNE PRZYDZIELANIE PAMIECI

DYNAMICZNE PRZYDZIELANIE PAMIECI DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne

Bardziej szczegółowo

Jerzy Nawrocki, Wprowadzenie do informatyki

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

Bardziej szczegółowo

KARTA KURSU. Wstęp do programowania

KARTA KURSU. Wstęp do programowania KARTA KURSU Nazwa Nazwa w j. ang. Wstęp do programowania Introduction to Programming Kod Punktacja ECTS* 6 Koordynator dr inż. Magdalena Andrzejewska Zespół dydaktyczny: dr inż. Magdalena Andrzejewska

Bardziej szczegółowo

Laboratorium 5: Tablice. Wyszukiwanie binarne

Laboratorium 5: Tablice. Wyszukiwanie binarne Wojciech Myszka Laboratorium 5: Tablice. Wyszukiwanie binarne 2016-05-07 09:02:17 +0200 1. Tablice Do tej pory nie było potrzeby odwoływać się do zmiennych złożonych. Programy były bardzo proste i korzystały

Bardziej szczegółowo

1 Wskaźniki. 1.1 Główne zastosowania wskaźników

1 Wskaźniki. 1.1 Główne zastosowania wskaźników 1 Wskaźniki Wskaźnik (ang. pointer) jest obiektem (zmienną) przechowującym adres pamięci. Definiowanie wskaźników: typ *nazwa wskaznika; np.: int *wsk na x;, double *xxx;, char *znak;. Aby można było pracować

Bardziej szczegółowo

JĘZYKI FORMALNE I METODY KOMPILACJI

JĘZYKI FORMALNE I METODY KOMPILACJI Stefan Sokołowski JĘZYKI FORMALNE I METODY KOMPILACJI Inst Informatyki Stosowanej, PWSZ Elbląg, 2018/2019 JĘZYKI FORMALNE reguły gry Wykład1,str1 Zasadnicze informacje: http://iispwszelblagpl/ stefan/dydaktyka/jezform

Bardziej szczegółowo

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej. Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk PROLOG www.agh.edu.pl Pewnego dnia przyszedł na świat komputer Komputery

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

Podstawy Informatyki Języki programowania c.d.

Podstawy Informatyki Języki programowania c.d. Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy 2 Makroasembler - założenia Przykład

Bardziej szczegółowo

Wykład 8. Rekurencja. Iterować jest rzeczą ludzką, wykonywać rekursywnie boską. L. Peter Deutsch

Wykład 8. Rekurencja. Iterować jest rzeczą ludzką, wykonywać rekursywnie boską. L. Peter Deutsch Wykład 8 Iterować jest rzeczą ludzką, wykonywać rekursywnie boską. Smok podsuszony zmok (patrz: Zmok). Zmok zmoczony smok (patrz: Smok). L. Peter Deutsch Stanisław Lem Wizja lokalna J. Cichoń, P. Kobylański

Bardziej szczegółowo

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++ Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu

Bardziej szczegółowo

Programowanie w języku C++ Podstawowe paradygmaty programowania

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

Bardziej szczegółowo

Programowanie Komponentowe WebAPI

Programowanie Komponentowe WebAPI Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Praktyka Programowania

Praktyka Programowania Praktyka Programowania Dariusz Dereniowski Materiały udostępnione przez Adriana Kosowskiego Katedra Algorytmów i Modelowania Systemów Politechnika Gdańska deren@eti.pg.gda.pl Gdańsk, 2010 strona przedmiotu:

Bardziej szczegółowo

Jerzy Nawrocki, Wprowadzenie do informatyki

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

Bardziej szczegółowo

7. Pętle for. Przykłady

7. Pętle for. Przykłady . Pętle for Przykłady.1. Bez użycia pętli while ani rekurencji, napisz program, który wypisze na ekran kolejne liczby naturalne od 0 do pewnego danego n. 5 int n; 6 cin >> n; 8 for (int i = 0; i

Bardziej szczegółowo

Programowanie Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 11: Procedury zaawansowane Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wstęp Ramki stosu Rekurencja INVOKE, ADDR, PROC,

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

Języki formalne i techniki translacji

Języki formalne i techniki translacji Języki formalne i techniki translacji Laboratorium - Projekt Termin oddania: ostatnie zajęcia przed 17 stycznia 2016 Wysłanie do wykładowcy: przed 23:59 28 stycznia 2016 Używając BISON-a i FLEX-a napisz

Bardziej szczegółowo

Rok akademicki: 2013/2014 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Rok akademicki: 2013/2014 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne Nazwa modułu: Programowanie proceduralne Rok akademicki: 2013/2014 Kod: JFT-1-201-s Punkty ECTS: 5 Wydział: Fizyki i Informatyki Stosowanej Kierunek: Fizyka Techniczna Specjalność: Poziom studiów: Studia

Bardziej szczegółowo

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,

Bardziej szczegółowo

ECDL Podstawy programowania Sylabus - wersja 1.0

ECDL Podstawy programowania Sylabus - wersja 1.0 ECDL Podstawy programowania Sylabus - wersja 1.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu Podstawy programowania. Sylabus opisuje, poprzez efekty uczenia się, zakres wiedzy

Bardziej szczegółowo

KARTA PRZEDMIOTU. Programowanie niskopoziomowe, C2. Low Level Programming Informatyka

KARTA PRZEDMIOTU. Programowanie niskopoziomowe, C2. Low Level Programming Informatyka KARTA PRZEDMIOTU. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia: Profil kształcenia: Forma studiów:

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

Bardziej szczegółowo

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

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

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów Operatory są elementami języka C++. Istnieje zasada, że z elementami języka, takimi jak np. słowa kluczowe, nie można dokonywać żadnych zmian, przeciążeń, itp. PRZECIĄŻANIE OPERATORÓW Ale dla operatorów

Bardziej szczegółowo

Stefan Sokołowski SZTUCZNAINTELIGENCJA. Inst. Informatyki UG, Gdańsk, 2009/2010

Stefan Sokołowski SZTUCZNAINTELIGENCJA. Inst. Informatyki UG, Gdańsk, 2009/2010 Stefan Sokołowski SZTUCZNAINTELIGENCJA Inst. Informatyki UG, Gdańsk, 2009/2010 Wykład1,17II2010,str.1 SZTUCZNA INTELIGENCJA reguły gry Zasadnicze informacje: http://inf.ug.edu.pl/ stefan/dydaktyka/sztintel/

Bardziej szczegółowo

KARTA PRZEDMIOTU. 1. NAZWA PRZEDMIOTU: Algorytmizacja i programowanie. 2. KIERUNEK: Matematyka. 3. POZIOM STUDIÓW: I stopnia

KARTA PRZEDMIOTU. 1. NAZWA PRZEDMIOTU: Algorytmizacja i programowanie. 2. KIERUNEK: Matematyka. 3. POZIOM STUDIÓW: I stopnia KARTA PRZEDMIOTU 1. NAZWA PRZEDMIOTU: Algorytmizacja i programowanie 2. KIERUNEK: Matematyka 3. POZIOM STUDIÓW: I stopnia 4. ROK/ SEMESTR STUDIÓW: II/3 5. LICZBA PUNKTÓW ECTS: 5 6. LICZBA GODZIN: 30 wykład

Bardziej szczegółowo

KARTA PRZEDMIOTU. Programowanie niskopoziomowe, C1

KARTA PRZEDMIOTU. Programowanie niskopoziomowe, C1 KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia: Profil kształcenia: Forma studiów:

Bardziej szczegółowo

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia Podstawy informatyki Elektrotechnika I rok Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia Katedra Energoelektroniki i Automatyki Systemów Przetwarzania Energii AGH Kraków 2017 Tematyka

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

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

Architektura mikroprocesorów TEO 2009/2010

Architektura mikroprocesorów TEO 2009/2010 Architektura mikroprocesorów TEO 2009/2010 Plan wykładów Wykład 1: - Wstęp. Klasyfikacje mikroprocesorów Wykład 2: - Mikrokontrolery 8-bit: AVR, PIC Wykład 3: - Mikrokontrolery 8-bit: 8051, ST7 Wykład

Bardziej szczegółowo

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4 Dr inż. Dariusz JĘDRZEJCZYK Wskaźniki Dynamiczna alokacja pamięci Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Wskaźnik to

Bardziej szczegółowo