Technologia informacyjna

Podobne dokumenty
Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Techniki multimedialne

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Podstawy Informatyki dla Nauczyciela

Wstęp do informatyki- wykład 1

Programowanie komputerów

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

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

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

Opis efektów kształcenia dla modułu zajęć

Technika Cyfrowa i Mikroprocesorowa

PRZEWODNIK PO PRZEDMIOCIE

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

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

KARTA MODUŁU KSZTAŁCENIA

Teoretyczne Podstawy Informatyki

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 1 WSTĘP DO INFORMATYKI

PODSTAWY INFORMATYKI. Informatyka? - definicja

L6.1 Systemy liczenia stosowane w informatyce

PRZEWODNIK PO PRZEDMIOCIE

Systemy liczenia. 333= 3*100+3*10+3*1

Wstęp do Informatyki. dr inż. Paweł Pełczyński

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

SYSTEMY LICZBOWE. SYSTEMY POZYCYJNE: dziesiętny (arabski): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M

1.1. Pozycyjne systemy liczbowe

Pracownia Komputerowa wykład VI

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

PRZEWODNIK PO PRZEDMIOCIE

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Wstęp do informatyki. Pojęcie liczebności. Zapis liczb. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Informatyka. Prowadzący: Dr inż. Sławomir Samolej D102 C, tel: , WWW: ssamolej.prz-rzeszow.

Wstęp do Informatyki dla bioinformatyków

Wstęp do informatyki. Pojęcie liczebności. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

UCHWAŁA NR 46/2013. Senatu Akademii Marynarki Wojennej im. Bohaterów Westerplatte z dnia 19 września 2013 roku

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Informatyka kodowanie liczb. dr hab. inż. Mikołaj Morzy

EFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW

Technologie informacyjne - wykład 12 -

Kodowanie informacji. Przygotował: Ryszard Kijanka

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Programowanie komputerowe. Geodezja i Kartografia I stopień (I stopień / II stopień) akademicki (ogólno akademicki / praktyczny)

Systemy zapisu liczb.

Systemy liczbowe używane w technice komputerowej

Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma studiów: Stacjonarne. audytoryjne. Wykład Ćwiczenia

Efekt kształcenia. Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie algorytmów i ich złożoności obliczeniowej.

Program nauczania informatyki w gimnazjum Informatyka dla Ciebie. Modyfikacja programu klasy w cyklu 2 godzinnym

WSTĘP DO INFORMATYKI. SYLABUS A. Informacje ogólne

Rok akademicki: 2014/2015 Kod: CCB s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Kierunek Informatyka. Specjalność Systemy i sieci komputerowe. Specjalność Systemy multimedialne i internetowe

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2018/2019

Pracownia Komputerowa wyk ad VI

PRZEWODNIK PO PRZEDMIOCIE

INFORMATYKA PLAN STUDIÓW NIESTACJONARNYCH. Podstawy programowania Systemy operacyjne

KATALOG PRZEDMIOTÓW (PAKIET INFORMACYJNY ECTS) KIERUNEK INFORMATYKA STUDIA PIERWSZEGO STOPNIA

Definicje. Algorytm to:

SCENARIUSZ LEKCJI. Autorzy scenariusza: Krzysztof Sauter (informatyka), Marzena Wierzchowska (matematyka)

INFORMATYKA PLAN STUDIÓW NIESTACJONARNYCH (W UKŁADZIE ROCZNYM) STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia. Technologie informacyjne Rodzaj przedmiotu:

PRZEWODNIK PO PRZEDMIOCIE

System Liczbowe. Szesnastkowy ( heksadecymalny)

Wstęp do informatyki- wykład 1 Systemy liczbowe

UCHWAŁA NR 60/2013 Senatu Akademii Marynarki Wojennej im. Bohaterów Westerplatte z dnia 21 listopada 2013 roku

Programowanie komputerowe Computer programming

KOŁO MATEMATYCZNE LUB INFORMATYCZNE - klasa III gimnazjum, I LO

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Urządzenia Techniki. Klasa I TI. System dwójkowy (binarny) -> BIN. Przykład zamiany liczby dziesiętnej na binarną (DEC -> BIN):

Systemy liczbowe. Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz

Technologie Informacyjne

Algorytmy, reprezentacja algorytmów.

Odniesienie do efektów kształcenia dla obszaru nauk EFEKTY KSZTAŁCENIA Symbol

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2014/2015

PRZEWODNIK PO PRZEDMIOCIE

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

PRZEWODNIK PO PRZEDMIOCIE

Kod U2 Opracował: Andrzej Nowak

INFORMATYKA. PLAN STUDIÓW STACJONARNYCH INŻYNIERSKICH 1-go STOPNIA STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM 2019/2020.

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa i multimedia

Informatyka. Michał Rad

INFORMATYKA. PLAN STUDIÓW NIESTACJONARNYCH 1-go STOPNIA STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM 2016/17. zajęć w grupach A K L S P

PRZEWODNIK PO PRZEDMIOCIE

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych

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

Zakładane efekty kształcenia dla kierunku Wydział Telekomunikacji, Informatyki i Elektrotechniki

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

9 10 = U1. Przykład dla liczby dziesiętnej ( 9): negacja 1001= =10110 U1. Podsumowując: w zapisie dziesiętnym

Podstawy Programowania Algorytmy i programowanie

Karta (sylabus) modułu/przedmiotu Transport Studia I stopnia

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia. Technologie informacyjne Rodzaj przedmiotu:

Jednostki miar stosowane w sieciach komputerowych. mgr inż. Krzysztof Szałajko

Technologie informacyjne Information technologies

Kierunek Informatyka stosowana Studia stacjonarne Studia pierwszego stopnia

Transkrypt:

Technologia informacyjna dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018

Wykładowca E-mail: a.czerepicki@wt.pw.edu.pl WWW: http://www2.wt.pw.edu.pl/~a.czerepicki Zakład Systemów Informatycznych i Mechatronicznych w Transporcie (SIMT), pok. 221 Kierownik Zespołu Informatyki w zakładzie SIMT Opiekun naukowy studenckiego koła naukowego KNEST Dyżury dla studentów: będą inf. na stronie WWW Wykształcenie: wyższe informatyczne Specjalizacja: programowanie, bazy danych, technologie sieciowe, aplikacje internetowe, etc. 2

Cele przedmiotu Zdobycie wiedzy z zakresu podstaw budowy oraz funkcjonowania systemów komputerowych, w tym architektury oraz elementów sprzętowych komputera, oprogramowania systemowego i użytkowego, zasad funkcjonowania sieci komputerowych, sieci Internet oraz relacyjnych baz danych Nabycie praktycznych umiejętności w zakresie posługiwania się edytorem tekstowym, arkuszem kalkulacyjnym, przygotowania prezentacji, korzystania z usług sieci Internet 3

Tematyka wykładów Algorytmy, programy i dane Architektura oraz elementy budowy komputerów Oprogramowanie systemowe i użytkowe Podstawy sieci komputerowych Sieć Internet, usługi oraz protokoły Wstęp do baz danych Bezpieczeństwo systemów informatycznych 4

Sprawy organizacyjne Harmonogram zajęć Regulamin zajęć Efekty kształcenia KRK Warunki zaliczenia przedmiotu 5

Harmonogram zajęć Wykłady: 1 7 tydzień Zaliczenie wykładów Podejście 1 na koniec wykładów Podejście 2 na koniec semestru / sesja Podejście 3 w sesji poprawkowej Laboratoria: 8 14 tydzień Zaliczenie lab. : 14 tydzień Poprawy: 15 tydzień 6

Regulamin zajęć Jest dostępny na stronie WWW wykładowcy Liczba godzin: 15 + 15 Skala ocen: od 51% (3.0) do 91% (5.0) co 10% Dwa kolokwium (zaliczeniowe + poprawkowe) Laboratoria muszą być zaliczone przed sesją (!), nie ma poprawy lab. w sesji wrześniowej Możliwość korzystania z materiałów pomocniczych podczas zaliczeń: Wykładów nie można korzystać ż żadnych pomocy Laboratoriów wg ustalenia z prowadzącymi Zakaz użytkowania urządzeń elektronicznych Zasady odpracowania nieobecności na zajęciach 7

Efekty kształcenia KRK - wiedza Student zdobywa wiedzę o podstawach komputerowego przetwarzania danych w formatach binarnych z wykorzystaniem układów elektronicznych rozumie parametry charakteryzujące komputery i sieci komputerowych i rozumie operowanie komputerami w środowisku systemu operacyjnego Windows zna zasady pracy głównych aplikacji Internetu i sposoby adresowania protokołu komunikacyjnego IP potrafi posługiwać się pakietami oprogramowania aplikacyjnego ogólnego dostępu w zakresie przetwarzania tekstu i obliczeń w tabelach i sporządzania wykresów z uzyskanymi wynikami ma umiejętność samodzielnego budowania elementarnych relacyjnych baz danych i prezentacji graficznych 8

Efekty kształcenia KRK umiejętności i kompetencje Student.. posiada merytoryczną biegłość w wykorzystaniu komputerów i sieci komputerowych do podstawowych zastosowań potrafi wykorzystać zdobytą wiedzę w posługiwaniu się Internetem a zwłaszcza WWW rozumie potrzebę podnoszenia wiedzy informatycznej przez całe życie, przede wszystkim z uwagi na niezwykle szybki postęp rozwoju informatyki i jej zastosowań 9

Warunki zaliczenia przedmiotu Ocena W zaliczenie wykładów Ocena L zaliczenie laboratoriów Oceny są niezależne (!) Ocena końcowa z przedmiotu = ocena średnia arytmetyczna z dwóch pozytywnych ocen Wszystkie oceny są wpisywane do WD W celu zaliczenia przedmiotu należy zaliczyć W + L Ocenę z laboratoriów wystawia prowadzący lab. 10

Wykład 1. Wstęp do technologii informacyjnej Pojęcie Informatyki oraz Technologii Informacyjnej Algorytmy, programy i dane Sposoby reprezentacji danych w komputerze. Języki programowania 11

Informatyka a Technologia informacyjna

Definicja Informatyki Informatyka (ang. Computer Science) nauka o metodach oraz technologiach pozyskania, przechowywania oraz przetwarzania informacji Informacja + Automatyka 1957 na świecie 1968 w Polsce 13

Geneza informatyki Matematyka Elektronika Inne nauki Informatyka 1970 Uznanie za samodzielną dyscyplinę 14

Dziedziny informatyki Teoretyczna (metody) Informatyka Stosowana (technologie) Kierunek nauczania 15

Informatyka jako dyscyplina naukowa Algorytmika itp. Teoria informacji Modelowanie systemów informatycznych Sztuczna inteligencja Teoria programowania Architektura komputerów 16

Informatyka jako dyscyplina stosowana Programowanie itp. Technologie sieciowe i internetowe Administrowanie systemami informatycznymi Grafika komputerowa Sprzęt komputerowy Wytwarzanie systemów informacyjnych 17

Technologia informacyjna IT (ang. Information Technology) = zagadnienia, metody, narzędzia oraz środki przetwarzania informacji Sprzęt Programy Informacja Przetwarzanie Prezentacja Bezpieczeństwo 18

Zagadnienia IT omawiane w ramach wykładów Podstawy algorytmiki. Algorytmy i dane. System binarny. Języki programowania. Architektura komputerów Oprogramowanie Technologie sieciowe Internet i WWW Bazy danych Bezpieczeństwo systemów IT 19

Algorytmy, programy i dane 20

Definicja oraz cechy algorytmu Algorytm lista kroków (czynności) mających na celu rozwiązanie określonego zadania Zadanie musi być wykonalne (warunki, wykonawca) Lista czynności musi być skończona Każdy algorytm działa na danych wejściowych (argumenty) oraz generuje dane wyjściowe (wynik) 21

Przykłady algorytmów Powszechne Instrukcja montażu mebli Przepisy kulinarne Pobranie gotówki z bankomatu Zakup biletu w biletomacie Etc. Specjalistyczne Wyszukiwanie najkrótszej ścieżki w grafie Sortowanie elementów w tablicy Wyszukiwanie wzorca w tekście Porównanie dużych zbiorów Etc. 22

Kamienie milowe historii algorytmów Algorytmy pojawiły się o wiele wcześniej od komputerów Euklides: obliczenie NWD jeden z pierwszych niebanalnych algorytmów używany do dziś (RSA) IX wiek: Muhammed Al Chuwarizmi reguły wykonania operacji matematycznych, pojęcie zera w matematyce XVIII wiek: pierwszy sprzęt programowalny krosno tkackie Charles Babbage projekt maszyny analitycznej programowalnej za pomocą kartek Ada Lovelace pierwszy program dla ww. maszyny XX wiek: Fundamentalne prace nad teorią algorytmów Alan Turing koncepcja uniwersalnej maszyny obliczeniowej Pierwsze komputery i programy 23

Formy reprezentacji algorytmu W jakiej postaci zapisać algorytm? Lista kroków (postać tekstowa) Schemat blokowy (postać graficzna) Kod źródłowy programu (postać sformalizowana) 24

Zapis algorytmu w formie listy kroków Przykład: algorytm obliczenia silni liczby N! = N (N 1) N 2 2 1 1) Wprowadź liczbę całkowitą dodatnią N 2) zapamiętaj jako S wartość N 3) zmniejsz N o 1 4) pomnóż S przez N i zapisz nową wartość do S 5) jeśli N większe od 1 to przejdź do pkt. 3 6) wyświetl wartość S jako wynik 25

Zapis algorytmu w postaci schematu blokowego Początek algorytmu początek Wprowadzenie danych N Blok instrukcji S := N koniec Koniec algorytmu N := N 1 S := S * N print S Wyprowadzanie danych Przejście tak N > 1? nie warunek 26

Bazowe elementy schematu blokowego Początek / koniec Instrukcja / Blok instrukcji / Proces Podprogram Dokument Decyzja Objaśnienie Łączniki Dane Dysk twardy 27

Zapis algorytmu w postaci kodu źródłowego programu Algorytm obliczenia silni liczby N w języku Java 28

Program komputerowy Program komputerowy = zapis algorytmu w postaci zbioru instrukcji należących do określonego języka programowania Instrukcja pojedyncza czynność Język programowania - zbiór wszystkich dozwolonych instrukcji oraz zasad posługiwania się nimi Algorytm Program 29

Programowanie Programowanie proces implementacji algorytmu Programista osoba realizująca przełożenie algorytmu na kod źródłowy Algorytm proces Programowanie Programista Kod źródłowy programu 30

Dane Dane zbiór uporządkowanych informacji zapisanych w określonym formacie w celu przetwarzania w komputerze Dane wejściowe: argumenty (parametry) algorytmu Dane wewnętrzne: lokalne dane pomocnicze Dane wyjściowe: wynik działania algorytmu Dane wejściowe Komputer Dane lokalne Dane wyjściowe 31

Definicja programu wg prof. Niklausa Wirtha Algorytm Dane Program Algorytm jest uniwersalny Program komputerowy jest ściśle związany z wybranym językiem programowania 32

Sposoby reprezentacji danych w komputerze 33

Reprezentacja danych w komputerze Dane w komputerach są reprezentowane w postaci binarnej (syn. zerojedynkowej) Komputer jest urzadzeniem elektronicznym Dane są reprezentowane za pomocą sygnałów System binarny pozwala na analizę ilościową (jest napięcie czy nie) zamiast jakościowej (jaki poziom napięcia odpowiada danej liczbie?) U Sygnał Informacja 1 0 0 1 1 1 1 t 34

Systemy liczbowe System liczbowy jest zbiorem zasad jednolitego zapisu oraz nazewnictwa liczb Skończony zbiór znaków np. 0... 9 Nieskończona ilość liczb... + System liczbowy pozycyjny można opisać poprzez wzór n k a b k =0 k gdzie a k { 0,... b 1} b nazywamy bazą systemu 35

System dziesiętny (DEC) Baza = 10, alfabet = { 0, 1,. 9 } Naturalny dla ludzi, w komputerach istnieje tylko na poziomie języków programowania, przeważnie wysokiego poziomu Próby stworzenia komputera opartego na dziesiętnym systemie miały miejsce na samym początku epoki komputerów; komputery te jednak zostały wkrótce wyparte przez komputery z systemem binarnym 36

System liczbowy dwójkowy BIN (syn. binarny) Alfabet systemu: { 0, 1 } Baza: 2 Każda liczba może być zapisana w postaci k k n k a 2 0 = } {0,1 a k, 2 0 1 2 3 4 5 6 7 8 9 10 10 11111011001 2 1 2 0 2 0 2 1 2 1 2 0 2 1 2 1 2 1 2 1 2 1 2009 = + + + + + + + + + + + + = 37

System szesnastkowy (HEX) Baza = 16, alfabet = { 0, 1, 9, A, B, C, D, E, F } Praktyczną wartość uzyskał w zastosowaniach komputerowych jako kompaktowa forma zapisu dużych liczb 8-znakową liczbę binarną można zapisać 2 cyframi w systemie szesnastkowym Jest również nazywany systemem heksadecymalnym 38

Zapis liczb w różnych systemach DEC BIN HEX 0 0 0 1 1 1 2 10 2 3 11 3 4 100 4 5 101 5 6 110 6 7 111 7 8 1000 8 DEC BIN HEX 9 1001 9 10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F 16 10000 10 17 10001 11 39

Algorytm konwersji liczb BIN->DEC 1) Mamy liczbę B zapisaną w systemie binarnym 2) Ustawiamy wartość liczby D w systemie dziesiętnym równą 0 3) Ustawiamy indeks znaku N w skrajnej prawej pozycji ( N = 0 ) 4) ustawiamy mnożnik M = 1 5) Dla każdego pozycji N liczby B powtarzamy póki N<B: o jeśli znak liczby B w pozycji N równa się 1 to dodaj do D wartość M o zwiększ wartość N o 1 o zwiększ wartość M dwukrotnie 6) Wyświetl D jako wynik konwersji 40

Algorytm konwersji liczb DEC->BIN 1) Mamy liczbę D zapisaną w systemie dziesiętnym 2) Ciąg znaków reprezentujących liczbę B w systemie dwójkowym jest pusty 3) Obliczamy liczbę całkowitą R jako resztę z dzielenia D przez 2 4) Obliczamy liczbę całkowitą W jako wynik z dzielenia D przez 2 4) R dopisujemy do ciągu znaków B z lewej (!) strony 5) Przypisujemy do D wartość W 6) jeśli D > 0, przechodzimy do pkt. 3 7) wynikiem konwersji jest ciąg znaków B 41

Kierunek odczytu wyniku Przykład konwersji liczb pomiędzy systemem binarnym a dziesiętnym 1 0 1 1 0 1x16 + 0x8 + 1x4 + 1x2 + 0x1 = 22 MOD reszta z dzielenia DIV operacja dzielenia liczb całkowitych 22 MOD 2 = 0 22 DIV 2 = 11 11 MOD 2 = 1 11 DIV 2 = 5 5 MOD 2 = 1 5 DIV 2 = 2 2 MOD 2 = 0 2 DIV 2 = 1 1 MOD 2 = 1 1 DIV 2 = 0 42

Bit jednostka informacji Bit (ang. Binary Digit) najmniejsza jednostka informacji przyjmująca jedną z dwóch wartości 0 lub 1 Bit jest oznaczany małą literą 'b' Przykład: prędkość połączenia sieciowego jest mierzona obecnie w gigabitach na sekundę, skrót Gb/s (nie GB/s!) 43

Zdjęcie zapisane w formacie 1 bit = 1 piksel 44

Bajt Bajt (ang. Byte) najmniejsza adresowana jednostka informacji w komputerze Składa się z 8 bitów Forma skrócona - duża literą B Bajt (B) Kilobajt (KB) Megabajt (MB) Gigabajt (GB) Terabajt (TB) 8 b 1024 B 1024 KB 1024 MB 1024 GB 45

Bit vs Bajt Najbardziej znaczący bit Najmniej znaczący bit 46

Wszystko w komputerze jest liczbą! Liczba całkowita wynika z definicji Ułamek dwie części całkowite oddzielone przecinkiem Symbol (znak alfabetu) poprzez jego kod (np. spacja ma kod 32) Tekst zbiór znaków alfabetu Data i czas liczba dni/godzin/min./sek. (najczęściej liczonych od godziny zero - 1 stycznia 1900 r.) etc. 47

Języki programowania 48

Definicja Język programowania zbiór zasad konstruowania oraz interpretacji poleceń Istnieje ok. 3 tys. języków programowania 10 popularnych języków programowania (C#, Java, C++, C#, PHP, VB, etc.) stanowią > 90% kodów istniejących programów Języki niskiego oraz wysokiego poziomu Generacje języków programowania 49

Generacje języków programowania I kody maszynowe (010010101001 ) II języki Assemblera ( MOV AX,10 ADD BX) III języki proceduralne C, Fortran, Algol, etc. IV języki obiektowe C++, VB.NET, Java, etc. + rozbudowane narzędzia projektowania aplikacji V brak dokładnego określenia sztuczna inteligencja? nowe metody programowania? budowa aplikacji z klocków? 50

Poziomy języka programowania Języki niskiego poziomu składnia języka jest bliska postaci maszynowej i trudna dla programisty Assembler, kody maszynowe Języki wysokiego poziomu składnia języka opiera się na konstrukcjach języków naturalnych (j. angielski) i jest łatwa do zrozumienia przez człowieka, ale wymaga dodatkowej translacji do postaci maszynowej C/C++, Visual Basic, Java, Ruby, Python, PHP, etc. 51

Języki maszynowe (1G) Kod źródłowy programu jest zapisywany za pomocą zer i jedynek (języki niskiego poziomu) Nie wymaga przełożenia na język komputera Nieczytelny dla człowieka Pisany pod konkretną architekturę komputera Program w kodzie binarnym Program w kodzie szesnastkowym 52

Języki Asemblera (2G) Instrukcje programu są zapisywane za pomocą nazw mnemonicznych (języki niskiego poziomu) np. MOV przenieś, ADD dodaj, JMP - przejdź Nieco wyższy komfort pracy programistów Wysoka wydajność wykonania programu Programy nie przenoszą się na inne platformy 53

Języki wysokiego poziomu (3G) Konstrukcje języka wykorzystują uproszczone słownictwo języka naturalnego Znaczący wzrost wydajności pracy programistów Krótszy kod źródłowy Nieco niższa efektywność działania programu Konieczność posiadania translatora kodu źródłowego na język maszynowy Przenośność na inne platformy (ograniczona) C, C++, Visual Basic, Fortran, Cobol, Algol, Smalltalk, PHP, 54

Języki programowania wizualnego (4G) Zintegrowane środowiska programowania pozwalające na napisanie programów metodą budowania z już gotowych komponentów z minimalnym kodowaniem Ewolucja języków 3G, nie rewolucja Platformy programowania (ang. Frameworks) Microsoft.NET Framework Java Platforms Platformy programowania aplikacji WWW. 55

Języki 5G W latach 80. XX wieku uważano iż kolejna generacja języków programowania będzie się opierała o mechanizmy sztucznej inteligencji (AI), wydawanie poleceń w języku naturalnym itp. Czasami zaliczają tu grupę języków programowania w logice (PROLOG); nie spełniły one oczekiwań i nie są obecnie rozwijane Obecnie nie ma jednolitego zdania co do 5G 56

Popularność języków programowania 57

Język programowania Współczesny język programowania: został zaprojektowany w połowie lat 90. XX wieku Język obiektowy: realizuje sprawdzoną koncepcję programowania obiektowego, co pozwala na budowę dużych oraz stabilnych systemów informatycznych Wieloplatformowy: działa w systemach operacyjnych Windows, Linux, pozwala budować aplikacje WWW, działa na urządzeniach wbudowanych, platformach mobilnych etc. 58

Literatura (uzupełniająca) http://wazniak.mimuw.edu.pl/ przedmiot Wstęp do programowania (tematy Pojęcie algorytmu, Języki formalne oraz Reprezentacja liczb w komputerze wybrane fragmenty) D.E.Knuth. Sztuka programowania (dowolne wydanie), Tom 1 Algorytmy podstawowe Cormen, Thomas H.; Leiserson, etc. Wprowadzenie do algorytmów, wyd. 7, WNT 2007 59