Wstęp do informatyki. Język asemblera. Język maszynowy. Programowanie komputerów PC. Cezary Bolek

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

Download "Wstęp do informatyki. Język asemblera. Język maszynowy. Programowanie komputerów PC. Cezary Bolek"

Transkrypt

1 Program komputera Wstęp do informatyki Programowanie komputerów PC Komputer jest maszyną wykonującą polecenia odczytywane z pamięci operacyjnej (instrukcje procesora kod programu) Instrukcje procesora dotyczą prostych operacji na rejestrach wewnętrznych oraz odczycie i zapisie komórek pamięci. Interakcja maszyny z uŝytkownikiem odbywa się poprzez urządzenia we/wy, które zamieniają sygnały wysyłane przez człowieka i zamieniają je na postać cyfrową i odwrotnie. Cezary Bolek cbolek@ki.uni.lodz.pl ROM, RAM CPU ALU Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki In/Out Rejestry procesora Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 2 Pamięć operacyjna ROM + RAM np Język maszynowy 48 h 08 h CA h 0B h FE h Instrukcja procesora (kod programu) w pamięci zapisane są w postaci liczb dwójkowych. Zapis programu za pomocą liczb, które mogą być bezpośrednio wykonywane przez maszyną nazywa się językiem maszynowym., 48, 08, CA, 0B, FE, Pisanie programów w języku maszynowym przez człowieka jest bardzo Ŝmudne, ale było stosowane do programowania komputerów I i II generacji. Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 3 Język asemblera KaŜdej instrukcji procesora (która moŝe zajmować jeden lub więcej bajtów) moŝna przypisać skrót literowy (mnemonik), a kaŝdemu rejestrowi nazwę. Zapis programu za pomocą mnemoników nazywa się językiem asemblera, który jest znacznie łatwiejszy do opanowania przez człowieka. np. 48 h 08 h CA h 0B h FE h BL,8 ADD BL,B INC BL BL,8 ADD BL,B INC BL Program zapisany w języku asemblera nie moŝe być wykonywany bezpośrednio przez komputer i wymaga tłumaczenia na kod maszynowy za pomocą programu zwanego asemblerem. PoniewaŜ istnieje ścisły związek pomiędzy mnemonikami a instrukcjami maszynowymi, proces tłumaczenia (asemblacja) jest stosunkowo prosty. Proces odwrotny nazywa się deasemblacją (za pomocą disasemblera). BL,8 ADD BL,B INC BL Asembler, 48, 08, CA, 0B, FE, Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 4 1

2 Języki wysokiego poziomu Program zapisany w języku wysokiego poziomu charakteryzuje: Abstrakcja danych programista operuje na zmiennych bez konieczności organizacji wykorzystania rejestrów procesora i lokalizacji liczb w pamięci ZłoŜone struktury danych proste jest deklarowanie i korzystanie ze złoŝonych struktur liczb jak np. tablice (macierze), stosy, kolejki, drzewa, etc. Zaawansowane konstrukcje sterujące określenie kolejności wykonywania programu realizuje się z pomocą intuicyjnych konstrukcji warunkowych typu IF-THEN-ELSE, FOR, DO-WHILE, etc. Dowolność układu zapisu programu programista moŝe zapisywać program w postaci najbardziej dla niego czytelnej i zgodnej z upodobaniami. for (i=1; i<10, i++) { n=10+x*2 }; for (i=1; i<10, i++) { n=10+x*2 }; for (i=1; i<10, i++) { n=10+x*2 }; Kompilacja programów Programy napisane w językach wysokiego poziomu muszą być tłumaczone na język maszynowy za mocą programu zwanego kompilatorem, a proces tłumaczenia nazywa się kompilacją. for (i=1; i<10, i++) { n=10+x*2 }; Kompilator, 48, 08, CA, 0B, FE, BL,8 ADD BL,B INC BL Kompilacja programów jest zadaniem bardzo złoŝonym, ze względu na mnogość moŝliwości realizacji zadania w języku asemblera. Kompilatory są jednymi z najbardziej zaawansowanych i złoŝonych programów dla komputerów osobistych. X = X + Y*Z MUL ADD AL,X BL,Y CL,Z CL,BL lub AL,CL X,AL MUL ADD AL,Y BL,Z AL,BL BL,X AL,BL X,AL MUL ADD lub AL,Z AL,Y CL,X X,AL Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 5 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 6 Przykład - algorytm Euklidesa Znajdowanie największego wspólnego podzielnika Największy Wspólny Dzielnik (NWD) dwóch liczb jest największą liczbą naturalną spośród tych, które dzielą obie te liczby bez reszty Np. NWD(24,18) = 6. Aby znaleźć Największy Wspólny Dzielnik dwóch liczb, to od większej liczby naleŝy odejmować mniejszą dotąd, aŝ obie liczby będą sobie równe. Wynik jest ich największym wspólnym podzielnikiem. Lista kroków Przykład - algorytm Euklidesa K01: Czytaj a,b K02: Dopóki a b: wykonuj krok K03 K03: JeŜeli a > b, to a a - b. Inaczej b b a K04: nwd a K05: Zakończ algorytm Schemat blokowy NWD(24,15) = = 6 Od większej liczby odejmujemy mniejszą. Liczby 24 i 15 przechodzą w 15 i 9. PoniewaŜ nie są one równe, wykonujemy dalej odejmowanie Teraz otrzymujemy parę 9 i 6, która dalej nie składa się z liczb sobie równych, więc kontynuujemy odejmowanie. 9-6 = 3 Para 6 i 3 - odejmujemy dalej 6-3 = 3 Para 3 i 3 - otrzymaliśmy równość, więc liczba 3 jest największym wspólnym podzielnikiem liczb 24 i 15. Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 7 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 8 2

3 Algorytm Euklidesa kod maszynowy i asembler b b8 0f b c8 7e 04 2b c8 eb 02 2b c1 3b c8 75 f4 33 c0 c3 b b8 0f b c8 7e 04 2b c8 eb 02 2b c1 3b c8 75 f4 33 c0 c3 mov ecx, 24 mov eax, 15 cmp ecx, eax $L591: jle SHORT $L584 sub ecx, eax jmp SHORT $L585 $L584: sub eax, ecx $L585: cmp ecx, eax jne SHORT $L591 xor eax, eax ret 0 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 9 Od języka wysokiego poziomu do kodu maszynowego program Euclide; var m,n : integer; begin readln(m); readln(n); while m <> n if m > n then m := m n else n := n - m; writeln(m); end. mov ecx, 24 mov eax, 15 cmp ecx, eax $L591: jle SHORT $L584 sub ecx, eax jmp SHORT $L585 $L584: sub eax, ecx $L585: cmp ecx, eax jne SHORT $L591 xor eax, eax ret 0 b b8 0f b c8 7e 04 2b c8 eb 02 2b c1 3b c8 75 f4 33 c0 c3 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 10 with Text_IO; use Text_IO; Algorytm Euklidesa Język C i Ada procedure Euklides is a, b : Integer; begin a := 153; b := 1326; while (a /= b) loop if (a > b) then a := a - b; else b := b - a; end if; end loop; Język ADA Put_Line("Największy wspólny dzielnik (NWD) to: " & Integer'Image(b)); end; Język C int main(int argc, char* argv[]) { int a,b; printf("podaj a.\n"); scanf("%d", &a); printf("podaj b.\n"); scanf("%d", &b); while (a!= b){ if (a > b) a -= b; else b -= a; } printf("nwd to: %d", a); return 0; } Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 11 Kompilatory optymalizujące Kompilator optymalizujący (optimizing compiler) kompilator, który generuje kod maszynowy optymalny pod pewnym względem, np.szybkości działania lub rozmiaru kodu, korygując program, tak aby nie wpływało to na wyniki jego działania. Optymalizacja programu moŝliwa jest równieŝ poprzez optymalne wykorzystanie zasobów procesora (specyficzne instrukcje, tryby adresowania, wykorzystanie rejestrów wewnętrznych, etc.) FOR I:=1 TO 10 DO BEGIN FOR J:=1 TO 10 DO BEGIN A=I / 100; B:=A + J / 100; WRITE(B); END END oryginalny fragment programu FOR I:=1 TO 10 DO BEGIN A=I / 100; FOR J:=1 TO 10 DO BEGIN B:=A + J / 100; WRITE(B) END END przyspieszenie poprzez eliminację niepotrzebnych obliczeń zmiennej A Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 12 3

4 Kompilatory skrośne Kompilator skrośny (cross-compiler) kompilator, który generuje kod maszynowy na inny procesor, niŝ ten na którym jest uruchomiony. Kompilatory skrośne uŝywa się do tworzenia oprogramowania dla systemów komputerowych, w których jest to niemoŝliwe ze względu na rozmiary, zastosowanie czy wygodę pracy: telefony komórkowe palmtopy, notesy elektroniczne, gry elektroniczne, etc. sprzęt Audio-Video komputery wbudowane (sterowniki maszyn, ) Debugging Debugging oznacza proces wykrywania błędów w skompilowanych programach w trakcie ich nadzorowanego uruchamiania. Nadzorowane uruchamianie programów polega na wykonywaniu poszczególnych linii programu (praca krokowa) i sprawdzaniu wartości zmiennych w dowolnym momencie wykonywania. Program do nadzorowanego uruchamiania nazywa się Debugger em np. JavaME (micro edition) kompilator programów w języku Java na telefony komórkowe (java.sun.com) Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 13 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 14 IDE zintegrowane środowisko programistyczne Integrated Develpement Environment (IDE) edytor + syntax highlighting, bracket matching, macros kompilator debugger Biblioteki Biblioteka jest to zebrana razem grupa podprogramów realizujących określone zadania np. funkcje matematyczne. Podprogramy biblioteczne, skompilowane do kodu maszynowego, dołączane są do programu uŝytkownika podczas jego kompilacji. Proces łączenia plików bibliotecznych ze skompilowanym programem uŝytkownika nazywa się konsolidacją (linking). Podprogramy biblioteczne Program w języku wysokiego poziomu korzystający z funkcji bibliotecznych x=b*c a=sin(x) Biblioteka funkcji matemat. Kompilator Konsolidator instr1 instr2 CALL SIN instr4 instr5 STOP instr1 instr2 instr3 powrót Wykonywalny program w języku maszynowym Kompletny skonsolidowany program Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 15 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 16 4

5 Przenośność oprogramowania Oprogramowanie przenośne (portable) to takie, które moŝna skompilować i uruchomić pod róŝnymi systemami operacyjnymi, a jego działanie pozostaje niezmienione (np. Acrobat Reader, Netscape, ) Programy w językach wysokiego poziomu są zwykle przenośne, o ile nie koncentrują się na zaawansowanym wykorzystaniu urządzeń we/wy. Problem przenośności oprogramowania sprowadza się zwykle do istnienia przenośnych bibliotek dla języków wysokiego poziomu. np. - wieloplatformowa biblioteka graficzna dla języka C++ Kompilacja a interpretacja Wykonanie programu napisanego w języku wysokiego poziomu moŝe być realizowane na dwa sposoby: 1. kompilacja całego programu, a następnie jego uruchomienie 2. odczytywanie pojedynczych instrukcji języka, kompilacja w locie i natychmiastowe wykonywanie tzw. interpretacja (przez interpreter) (nigdzie nie jest tworzony kod maszynowy całego programu) Języki programowania moŝna podzielić na dwie kategorie, w zaleŝności od sposobu wykonywania: 1. języki kompilowane: Fortran, C, C++, Pascal, Delphi, Java (częściowo) 2. języki interpretowane: Basic, Java (częściowo), języki skryptowe: Perl, Tcl Zalety kompilacji: duŝa szybkość wykonywania programów, moŝliwość wykonywania się programów bez wspomagania innego oprogramowania. Zalety interpretacji: szybkie testowanie i modyfikowanie programów (brak etapu kompilacji), moŝliwość testowanie niekompletnych programów, znaczna przenośność oprogramowania, istnienie programu tylko w wersji źródłowej. Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 17 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 18 Języki programowania Historia języków programowania 1 Plankalkül (1946, Niemcy) A-O (1951, USA) AutoCode (1952, Wlk.Brytania) FORTRAN I (1957, IBM, USA) pierwszy na świecie język programowania twórca Konrad Zuse, komputer Z3 kmdr. Grace Hopper opracowuje kompilator A-O znany takŝe pod nazwą AT-3 studentka Alick Glennie opracowuje w ramach studiów kompilator AutoCode dla komputera Manchester Mark I rozwinięcie kompilatora A-O; opublikowany pod nazwą Math-Matic; programy numeryczno-modelujące FORTRAN II (1958, IBM, USA) rozwinięcie FORTRAN-u I wprowadzenie podprogramów Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 19 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 20 5

6 Historia języków programowania 2 Historia języków programowania 3 COBOL (1959, USA) LISP (1959, USA) Algol 60 (1960) język dla przetwarzania duŝych zespołów danych w systemach ewidencyjno-zarządczych (skrót: COmmon Business Oriented Language) John McCarthy publikuje specyfikację LISP-u (skrót: LISt Processing) międzynarodowy zespół publikuje specyfikację języka Algol 60 Snobol (1962, Bell Labs, USA) BASIC (1964, USA) PL/I (1964, IBM, USA) język programowania ukierunkowany na przetwarzanie tekstów i wzorców językowych John Kemeny i Thomas Kurtz opracowują język BASIC (skrót: Beginners All-purpose Symbolic Instruction Code) publikacja specyfikacji języka PL/I przeznaczonego do ogólnych zastosowań APL (1961, USA) Keneth Iversson publikuje specyfikację języka APL ukierunkowanego na zagadnienia matematyczne RPG (1964, IBM, USA) publikacja specyfikacji języka RPG przeznaczonego do raportowania baz danych (skrót: Report Program Generator) FORTRAN IV (1962, USA) publikacja specyfikacji czwartej wersji języka FORTRAN LOGO (1966, USA) język wzorowany na LISP-ie, ukierunkowany na nauczanie dzieci i osób poznających programowanie Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 21 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 22 Historia języków programowania 4 Historia języków programowania 5 Simula (1967, Norwegia) język wzorowany na Algolu 60; wprowadzenie pojęcia klasy i obiektu; ukierunkowany na symulacje Smalltalk (1970, XEROX, USA) pierwszy język całkowicie obiektowy PASCAL (1968, Szwajcaria) Niklaus Wirth opracowuje język PASCAL do nauki programowania strukturalnego Icon (1970, USA) język programowania ukierunkowany na przetwarzanie tekstów i wzorców językowych BCPL (1969, Wlk.Brytania) Forth (1970, USA) PROLOG (1970, Francja) język niskiego poziomu zawierający wyłącznie bardzo proste typy danych (skrót: Basic Combined Programming Language) Charles Moore opracowuje język wysokiego poziomu Forth stosujący odwrotną notację polską język wysokiego poziomu stosowany w badaniach nad sztuczną inteligencją (skrót: PROgramming LOGic) B (1970, USA) C (1972, Bell Labs, USA) Tiny BASIC (1975, USA) język bazujący na BCPL opracowany dla komputera PDP-11 Dennis Ritchie opracowuje język C (bazujący na języku B) dla komputera PDP-11 dr Wong opracowuje miniaturową (tylko 2 KB pamięci) wersję BASIC-a dla mikroprocesorów Intela i Ziloga; jest to pierwszy program freeware; w programie uŝyto zastrzeŝeń: All Wrongs Reserved oraz Copyleft Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 23 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 24 6

7 Historia języków programowania 6 Historia języków programowania 7 BASIC (1975, USA) Bill Gates i Paul Allen opracowują własną wersję BASIC-a, którą sprzedają dla firmy MITS produkującej mikrokomputer Altair, w którym stosowany jest mikroprocesor Intel 8080 Modula-2 (1983, Szwajcaria) C++ (1983, Bell Labs, USA) Niklaus Wirth opracowuje ulepszoną wersję języka Modula zespół Bjarne Stroustrupa opracowuje język C++ na bazie rozszerzonego języka C (C z klasami) DSL (1975, USA) ADA (1977, USA) Modula (1977, Szwajcaria) język będący poprzednikiem PostScriptu Jean Ichbiahn wraz z zespołem opracowują język ADA przyjęty później jako standardowy język programowania Ministerstwa Obrony USA Niklaus Wirth opracowuje język stosujący modularyzację i współbieŝność Perl (1987) Java (1995, Sun, USA) C# (2000, Microsoft, USA) udostępniona zostaje wersja 1.0 języka PERL opracowanego przez Larry ego Walla i Randala Schwartza; (skrót: Practical Extract and Report Language) zaprezentowano język programowania i środowisko opracowywane od roku 1991 przez zespół Jamesa Goslinga w Sun Microsystems Microsoft prezentuje język C# dla platformy.net będący kompilacją języków C++ i Java Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 25 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 26 Dlaczego tak duŝo języków programowania? Mnogość języków Ewolucja Osobiste preferencje Specjalne zastosowania Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 27 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 28 7

8 Obszary zastosowań Co czyni język popularnym? Aplikacje naukowe (Fortran, TCE) Aplikacje biznesowe (Cobol) Sztuczna inteligencja (Lisp) Programowanie systemowe (C, C++) Aplikacje sieciowe (Java, C#) Języki bardzo wysokiego poziomu (perl) Języki wysoce specjalizowane (make, sh) Efektywność kodu Łatwość nauki Łatwość implementacji Open Source Dostępność kompilatorów, bibliotek Ekonomia, patronat, inercja Składnia podobna do języka C Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 29 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 30 Który język jest najpopularniejszy? Który język jest najpopularniejszy? Ranking TIOBE porównanie popularności języków programowania Prowadzenie badań w oparciu o róŝne wyszukiwarki i źródła danych (WWW, grupy dyskusyjne, blogi) Nie najlepsza miara powszechności stosowania ale dająca ogólny pogląd. Określa częstość wzmiankowania w Internecie, czyli popularność Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 31 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 32 8

9 Który język jest najpopularniejszy? Paradygmaty programowania Imperatywne (C, Pascal, etc.) Funkcjonalne (Lisp, ML, Haskell) Logiczne (Prolog) Zorientowane obiektowo (C++, Java, CLOS) Wstęp do informatyki Cezary Bolek 33 Wstęp do informatyki Cezary Bolek 34 9

Wstęp do informatyki. Język maszynowy. Programowanie komputerów PC. Cezary Bolek

Wstęp do informatyki. Język maszynowy. Programowanie komputerów PC. Cezary Bolek Wstęp do informatyki Programowanie komputerów PC Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Program komputera Komputer jest maszyną wykonującą polecenia

Bardziej szczegółowo

Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki

Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Komputer jest maszyną wykonującą polecenia odczytywane z pamięci operacyjnej (instrukcje procesora kod programu) Instrukcje procesora

Bardziej szczegółowo

Magistrala danych Magistrala adresowa Magistrala steruj ROM, RAM CPU In/Out CPU RAM CPU Magistrala danych Magistrala adresowa Magistrala steruj

Magistrala danych Magistrala adresowa Magistrala steruj ROM, RAM CPU In/Out CPU RAM CPU Magistrala danych Magistrala adresowa Magistrala steruj System komputerowy -architektura Rozwój nowoczesnych technik obliczeniowych Magistrala systemowa (System Bus) Budowa komputera, algorytmika i języki programowania Cezary Bolek Katedra Informatyki Pamięć

Bardziej szczegółowo

Podstawy Informatyki Języki programowania

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

Bardziej szczegółowo

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

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

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

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót

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

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

Podstawy programowania wykład

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Język programowania PASCAL

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Komputer jest urządzeniem, którego działanie opiera się na wykonywaniu przez procesor instrukcji pobieranych z pamięci operacyjnej

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

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

Języki i metodyka programowania

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

Bardziej szczegółowo

Podstawy programowania. Wykład 1 Wstęp. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład 1 Wstęp. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład 1 Wstęp Krzysztof Banaś Podstawy programowania 1 Elementy historii informatyki I think there is a world market for maybe five computers. - Thomas Watson, chairman of IBM,

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

Programowanie I. Wprowadzenie. Proces programowania

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

Bardziej szczegółowo

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

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C Grzegorz Cygan Wstęp do programowania mikrosterowników w języku C Mikrosterownik Inne nazwy: Microcontroler (z języka angielskiego) Ta nazwa jest powszechnie używana w Polsce. Mikrokomputer jednoukładowy

Bardziej szczegółowo

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,

Bardziej szczegółowo

2.8. Algorytmy, schematy, programy

2.8. Algorytmy, schematy, programy https://app.wsipnet.pl/podreczniki/strona/38766 2.8. Algorytmy, schematy, programy DOWIESZ SIĘ co oznaczają pojęcia: algorytm, schemat blokowy, język programowania, jakie są sposoby obliczania największego

Bardziej szczegółowo

Programowanie w języku C++ Grażyna Koba

Programowanie w języku C++ Grażyna Koba Programowanie w języku C++ Grażyna Koba Kilka definicji: Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i zasad

Bardziej szczegółowo

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

Podstawy Programowania. Języki programowania

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wstęp do informatyki Paradygmaty programowania

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

Bardziej szczegółowo

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy 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

Środowiska i platformy programistyczne

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Paradygmaty Programowania dr inŝ. Cezary Bolek

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

Bardziej szczegółowo

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

Magistrala systemowa (System Bus)

Magistrala systemowa (System Bus) Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki systemowa (System Bus) Pamięć operacyjna ROM, RAM Jednostka centralna Układy we/wy In/Out Wstęp do Informatyki

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

wstęp (podstawowe pojęcia związane z programowaniem, przegląd języków programowania, sieci działań, ogólne zasady programowania zorientowanego

wstęp (podstawowe pojęcia związane z programowaniem, przegląd języków programowania, sieci działań, ogólne zasady programowania zorientowanego wstęp (podstawowe pojęcia związane z programowaniem, przegląd języków programowania, sieci działań, ogólne zasady programowania zorientowanego obiektowo) historia języka Delphi i ogólna charakterystyka

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

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

Tworzenie oprogramowania

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

Bardziej szczegółowo

Wstęp do programowania

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

Bardziej szczegółowo

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

Informatyka. Prowadzący: Dr inż. Sławomir Samolej D102 C, tel: 865 1766, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow. Informatyka Prowadzący: Dr inż. Sławomir Samolej D102 C, tel: 865 1766, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl 1 Program zajęć Wykład: Wprowadzenie Budowa i działanie sprzętu komputerowego

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

Ćwiczenie nr 6. Programowanie mieszane

Ćwiczenie nr 6. Programowanie mieszane Ćwiczenie nr 6 Programowanie mieszane 6.1 Wstęp Współczesne języki programowania posiadają bardzo rozbudowane elementy językowe, co pozwala w większości przypadków na zdefiniowanie całego kodu programu

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wprowadzenie do programowania

Wprowadzenie do programowania Wprowadzenie do programowania Olsztyn 2007-2012 Wojciech Sobieski Podstawowe pojęcia Język - jest to ogólna nazwa zdefiniowanego zbioru znaków i symboli oraz reguł określających sposoby i kolejność ich

Bardziej szczegółowo

Algorytmy od problemu do wyniku

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

ALGORYTMY I PROGRAMY

ALGORYTMY I PROGRAMY ALGORYTMY I PROGRAMY Program to ciąg instrukcji, zapisanych w języku zrozumiałym dla komputera. Ten ciąg instrukcji realizuje jakiś algorytm. Algorytm jest opisem krok po kroku jak rozwiązać problem, czy

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Translacja wprowadzenie

Translacja wprowadzenie Translacja wprowadzenie Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki Literatura 1) Aho A. V., Sethi R., Ullman J. D.: Compilers. Principles, Techniques and Tools, Addison- Wesley, 1986

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Urządzenia wprowadzania danych: klawiatury czytniki urządzenia przetwarzania dokumentów manipulatory Urządzenia wyprowadzania danych: monitory drukarki urządzenia foniczne urządzenia

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

TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE. Szkoła Podstawowa Nr 5. im. Księcia Mazowieckiego Siemowita IV w Gostyninie.

TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE. Szkoła Podstawowa Nr 5. im. Księcia Mazowieckiego Siemowita IV w Gostyninie. TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE 1. Po uruchomieni programu Greenfoot początkowa scena ma następujące składniki: a. obiekty scenerii i jeden obiekt ruchomy, b. obraz tła, jeden lub więcej

Bardziej szczegółowo

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA ALGORYTM. Język programowania PROGRAM. instrukcja-dla. instrukcja-przypisania.

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA ALGORYTM. Język programowania PROGRAM. instrukcja-dla. instrukcja-przypisania. Języki programowania ALGORYTM Język programowania PROGRAM symbole słowa kluczowe składnia semantyka Składnia typowego języka zawiera: warianty kilku struktur sterujących sposoby definiowania rozmaitych

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

Wstęp do Informatyki dla bioinformatyków

Wstęp do Informatyki dla bioinformatyków Wstęp do Informatyki dla bioinformatyków Wykład 1. Wstęp do Wstępu Bartek Wilczyński bartek@mimuw.edu.pl Po pierwsze - Formalności 2 kolokwia (po 15 pkt) początek XI i koniec XII Dwa programy zaliczeniowe:

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania wykład 1 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Jak działa komputer Komputer może być traktowany jako urządzenie służące do

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

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

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

Wstęp do Informatyki i Programowania

Wstęp do Informatyki i Programowania Wstęp do Informatyki i Programowania Jacek Cichoń Przemysław Kobylański Katedra Informatyki W11/K2 Politechnika Wrocławska J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 1 / 356 Plan wykładu

Bardziej szczegółowo

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania 1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja nie ma parametru i zwraca wartość na zewnątrz. nie ma parametru i nie zwraca wartości na zewnątrz. ma parametr o nazwie void i zwraca

Bardziej szczegółowo

1. WSTĘP. Dr inż. Robert Wójcik, p. 313, C-3, tel

1. WSTĘP. Dr inż. Robert Wójcik, p. 313, C-3, tel Dr inż. Robert Wójcik, p. 313, C-3, tel. 320-27-40 Zakład Podstaw Informatyki i Teleinformatyki Instytut Cybernetyki Technicznej (I-6) Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Bardziej szczegółowo

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA I. KARTA PRZEDMIOTU 1. Nazwa przedmiotu: PODSTAWY PROGRAMOWANIA. Kod przedmiotu: Ovi1 3. Jednostka prowadząca: Wydział Mechaniczno-Elektryczny 4. Kierunek: Mechatronika 5. Specjalność: Eksploatacja Systemów

Bardziej szczegółowo

Java EE produkcja oprogramowania

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

Bardziej szczegółowo

Algorytmy. Programowanie Proceduralne 1

Algorytmy. Programowanie Proceduralne 1 Algorytmy Programowanie Proceduralne 1 Przepis Warzenie piwa Brunświckiego Programowanie Proceduralne 2 Przepis Warzenie piwa Brunświckiego składniki (dane wejściowe): woda, słód, itd. wynik: beczka piwa

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Definicja i cechy algorytmów Sieci działań Programowanie strukturalne Witold Marańda maranda@dmcs.p.lodz.pl 1 Literatura 1. iklaus Wirth, Algorytmy + Struktury danych = Programy,

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

Podstawy Programowania Algorytmy i programowanie

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

Bardziej szczegółowo

Wykład 1

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

Bardziej szczegółowo

Programowanie. Oprogramowanie Pojęcia wstępne Programem - sekwencja rozkazów, które instruują komputer, jakie operacje i w jakiej kolejności powinien wykonać, by rozwiązać określony problem. Programowanie

Bardziej szczegółowo

Programowanie RAD Delphi

Programowanie RAD Delphi Programowanie RAD Delphi Dr Sławomir Orłowski Zespół Fizyki Medycznej, Instytut Fizyki, Uniwersytet Mikołaja Kopernika w Toruniu Pokój: 202, tel. 611-32-46, e-mial: bigman@fizyka.umk.pl Delphi zasoby Aplikacje

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Programowanie niskopoziomowe

Programowanie niskopoziomowe Programowanie niskopoziomowe Programowanie niskopoziomowe w systemie operacyjnym oraz poza nim Tworzenie programu zawierającego procedury asemblerowe 1 Programowanie niskopoziomowe w systemie operacyjnym

Bardziej szczegółowo

Algorytmy. Programowanie Proceduralne 1

Algorytmy. Programowanie Proceduralne 1 Algorytmy Programowanie Proceduralne 1 Przepis Warzenie piwa Brunświckiego Programowanie Proceduralne 2 Przepis Warzenie piwa Brunświckiego składniki (dane wejściowe): woda, słód, itd. wynik: beczka piwa

Bardziej szczegółowo

1 Wprowadzenie do algorytmiki

1 Wprowadzenie do algorytmiki Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności

Bardziej szczegółowo

Języki programowania Język programowania Język maszynowy Kod maszynowy

Języki programowania Język programowania Język maszynowy Kod maszynowy Języki programowania Język programowania pozwala programiście na precyzyjne przekazanie maszynie, jakie dane mają ulec obróbce i jakie czynności należy podjąć w określonych warunkach. Język maszynowy język

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

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

Podstawy programowania. Wprowadzenie

Podstawy programowania. Wprowadzenie Podstawy programowania Wprowadzenie Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania znaleźć matematyczne

Bardziej szczegółowo

Historia modeli programowania

Historia modeli programowania Języki Programowania na Platformie.NET http://kaims.eti.pg.edu.pl/ goluch/ goluch@eti.pg.edu.pl Maszyny z wbudowanym oprogramowaniem Maszyny z wbudowanym oprogramowaniem automatyczne rozwiązywanie problemu

Bardziej szczegółowo

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

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

Bardziej szczegółowo

O (o)programowaniu. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

O (o)programowaniu. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski O (o)programowaniu R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski www.il.pw.edu.pl/~rg s-rg@siwy.il.pw.edu.pl Próba klasyfikacji Nie jest możliwa jednoznaczna klasyfikacja oprogramowania! Oto jedna

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny Klasa 2 INFORMATYKA dla szkół ponadgimnazjalnych zakres rozszerzony Założone osiągnięcia ucznia wymagania edukacyjne na poszczególne oceny Algorytmy 2 3 4 5 6 Wie, co to jest algorytm. Wymienia przykłady

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

Informatyka na UG... Witold Bołt (ja@hope.art.pl)

Informatyka na UG... Witold Bołt (ja@hope.art.pl) Informatyka na UG... Witold Bołt (ja@hope.art.pl) >> Agenda Co to jest informatyka? Czym zajmuje się informatyk? Czego można nauczyć się na UG? Jak wyglądają studia informatyczne na UG? Co po studiach?

Bardziej szczegółowo

Geneza powstania języka C++

Geneza powstania języka C++ Geneza powstania języka C++ Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat

Bardziej szczegółowo

Programowanie I. Kornel Warwas. ATH Katedra Matematyki i Informatyki

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

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

Bardziej szczegółowo

Wstęp do Informatyki Programowanie komputerów PC c.d.

Wstęp do Informatyki Programowanie komputerów PC c.d. Programowanie komputerów PC c.d. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki PASCAL - struktura blokowa programu Język PASCAL ma strukturę blokową, tzn. dopuszcza zagnieŝdŝanie

Bardziej szczegółowo

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. Podstawy programowania Programowanie wyrażeń 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. W językach programowania są wykorzystywane

Bardziej szczegółowo