Języki i paradygmaty programowania. I. Wprowadzenie
|
|
- Łukasz Stefański
- 7 lat temu
- Przeglądów:
Transkrypt
1 Języki i paradygmaty programowania I. Wprowadzenie
2 O źródłach wykład został przygotowany w ogromnej części w oparciu o serwis (zgodnie z licencją serwisu) inne źródła: Wikipedia: niektóre przykłady fragmentów programów: Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-2
3 O przedmiocie prowadzący: dr Jarosław Bylina www: 15 godzin wykładu (brak ćwiczeń) 5 spotkań po 3 godziny lekcyjne na każdym spotkaniu (poza pierwszym) krótki teścik z poprzedniego wykładu wyniki testów stanowią podstawę zaliczenia Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-3
4 Cel przedmiotu Uświadomienie istotnej różnorodności języków programowania Zrozumienie sposobu działania implementacji języków programowania Nauczenie podejmowania lepszych decyzji co do wyboru języka programowania odpowiedniego do postawionego problemu Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-4
5 Paradygmat? słowo nadużywane przez filozofów, lingwistów, informatyków... SJP PWN: przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp. zespół form fleksyjnych (deklinacyjnych lub koniugacyjnych), właściwy danemu typowi wyrazów; wzorzec, model deklinacyjny lub koniugacyjny Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-5
6 Paradygmat? z greckiego: παράδειγμα (parádeigma) wzorzec przykład Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-6
7 Paradygmat? Nie chodzi o typowy, wzorcowy sposób pisania programów! Chodzi raczej o zbiór mechanizmów, jakich programista używa, pisząc program, i o to, jak ów program jest następnie wykonywany przez komputer Jest to ogół oczekiwań programisty wobec języka programowania i komputera, na którym będzie działał program Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-7
8 Wielcy John von Neumann Niklaus E. Wirth Donald E. Knuth Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-8
9 Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-9
10 Paradygmaty programowania Programowanie imperatywne opisujemy kolejne czynności, które wykonawca (komputer) ma wykonać, by osiągnąć cel w tym rodzaju programowaniu programista opisuje, jak komputer ma działać Programowanie deklaratywne opisujemy cel, który wykonawca (komputer) ma osiągnąć w tym rodzaju programowaniu programista opisuje, co komputer ma osiągnąć Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-10
11 I. Programowanie imperatywne Najbardziej pierwotny sposób programowania, w którym program postrzegany jest jako ciąg poleceń dla komputera Obliczenia rozumiemy tu jako sekwencję poleceń zmieniających krok po kroku stan maszyny, aż do uzyskania oczekiwanego wyniku Stan maszyny należy z kolei rozumieć jako zawartość całej pamięci oraz rejestrów i znaczników procesora Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-11
12 I. Programowanie imperatywne Ten sposób patrzenia na programy związany jest ściśle z budową sprzętu komputerowego o architekturze von Neumanna, w którym poszczególne instrukcje (w kodzie maszynowym) to właśnie polecenia zmieniające ów globalny stan Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-12
13 I. Programowanie imperatywne Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-13
14 I. Programowanie imperatywne Języki wyższego (w stosunku do asemblera i kodu maszynowego) poziomu takie jak Fortran, Algol, Pascal, Ada lub C posługują się pewnymi abstrakcjami, ale wciąż odpowiadają paradygmatowi programowania imperatywnego Instrukcje podstawienia działają na danych pobranych z pamięci i umieszczają wynik w tejże pamięci, zaś abstrakcją komórek pamięci są zmienne Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-14
15 Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-15
16 Ia. Programowanie proceduralne Podział zadania programistycznego na podzadania i ich niezależna (od siebie nawzajem) implementacja w postaci podprogramów (procedur) Niezalecanie korzystania z efektów ubocznych (rozumianych w sensie tradycyjnym, jako zmiana wartości zmiennych globalnych), lecz przekazywanie danych i wyników w parametrach procedur Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-16
17 Ia. Programowanie proceduralne Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-17
18 Ia. Programowanie proceduralne metodologia programowania bottom-up Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-18
19 Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-19
20 Ib. Programowanie strukturalne używanie prostych, dobrze zdefiniowanych struktur (konstrukcji programistycznych): sekwencja selekcja (instrukcja warunkowa) iteracja (pętla) wywołanie podprogramu unikanie skoków (wręcz ich zakaz!) Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-20
21 Ib. Programowanie strukturalne Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-21
22 Ib. Programowanie strukturalne metodologia programowania top-down Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-22
23 Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-23
24 Ic./II. Programowanie obiektowe Program to zbiór porozumiewających się ze sobą obiektów, czyli jednostek zawierających pewne dane i umiejących wykonywać na nich pewne operacje Programowanie obiektowe jest do pewnego stopnia rozszerzeniem paradygmatu programowania proceduralnego i strukturalnego Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-24
25 Ic./II. Programowanie obiektowe Ważną cechą jest tu powiązanie danych (czyli stanu) z operacjami na nich (czyli poleceniami) w całość, stanowiącą odrębną jednostkę obiekt Bardzo ważną cechą jest też mechanizm dziedziczenia, czyli możliwość definiowania nowych, bardziej złożonych obiektów, na bazie obiektów już istniejących Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-25
26 Ic./II. Programowanie obiektowe Inne ważne cechy programowania obiektowego to: wysoki stopień abstrakcji danych enkapsulacja danych polimorfizm Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-26
27 Ic./II. Programowanie obiektowe Zwolennicy programowania obiektowego uważają, że ten paradygmat dobrze odzwierciedla sposób, w jaki ludzie myślą o świecie Nawet jeśli pogląd ten uznamy za przejaw pewnej egzaltacji, to niewątpliwie programowanie obiektowe zdobyło ogromną popularność i wypada je uznać za paradygmat obecnie dominujący Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-27
28 Ic./II. Programowanie obiektowe Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-28
29 Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-29
30 III. Programowanie funkcyjne Program to po prostu złożona funkcja (w sensie matematycznym), która otrzymawszy dane wejściowe wylicza pewien wynik Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-30
31 III. Programowanie funkcyjne Zasadniczą różnicą w stosunku do poprzednich paradygmatów jest brak dostępu do stanu maszyny Nie ma zmiennych A co za tym idzie, nie ma żadnych efektów ubocznych (rozumianych w sensie tradycyjnym, jako zmiana wartości zmiennych) Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-31
32 III. Programowanie funkcyjne Nie ma tradycyjnie rozumianych pętli (imperatywnych z natury) Tradycyjne pętle wymagają bowiem zwykle (poza przypadkami zdegenerowanymi, jak pętle nieskończone) zmiennych (lub innego dostępu do stanu maszyny) do sterowania ich przebiegiem Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-32
33 III. Programowanie funkcyjne Konstruowanie programów to składanie funkcji Zazwyczaj z istotnym wykorzystaniem rekurencji (rekursji) (tam, gdzie w programowaniu imperatywnym wykorzystujemy pętle) Charakterystyczne jest również definiowanie funkcji wyższego rzędu, czyli takich, dla których argumentami i których wynikami mogą być funkcje (a nie tylko proste dane jak liczby lub napisy) Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-33
34 III. Programowanie funkcyjne Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-34
35 Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-35
36 IV. Programowanie logiczne Na program składa się zbiór zależności (przesłanek) oraz pewne stwierdzenie/pytanie (cel) Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-36
37 IV. Programowanie logiczne Wykonanie programu to próba udowodnienia celu w oparciu o podane przesłanki Obliczenia wykonywane są niejako przy okazji dowodzenia celu Podobnie jak w programowaniu funkcyjnym, nie wydajemy rozkazów, a jedynie opisujemy, co wiemy i co chcemy uzyskać Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-37
38 IV. Programowanie logiczne Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-38
39 IV. Programowanie logiczne Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-39
40 IV. Programowanie logiczne Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-40
41 Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-41
42 Inne paradygmaty Programowanie na poziomie wartości Programowanie na poziomie funkcji Programowanie skalarne Programowanie wektorowe/macierzowe Programowanie zdarzeniowe Programowanie z własnym wątkiem sterowania Programowanie aspektowe Programowanie uogólnione Programowanie równoległe/współbieżne/rozproszone Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-42
43 Języki a paradygmaty asemblery, stary BASIC p. imperatywne (proceduralne?) stary Pascal, C, Fortran p. imperatywne, proceduralne, strukturalne C++, Object Pascal, Ada p. imperatywne, proceduralne, strukturalne, obiektowe Smalltalk, C#, Java p. obiektowe Lisp, Scheme, Logo, ML, Haskell p. funkcyjne Planner, Prolog p. logiczne Python p. proceduralne, strukturalne, obiektowe, funkcyjne SQL p. deklaratywne (ani ściśle funkcyjne, ani ściśle logiczne) Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-43
44 Architektura von Neumanna Na razie wszystkie komputery działają w oparciu o imperatywną architekturę von Neumanna Tak więc każdy program, który chcemy uruchomić, musi być najpierw przetłumaczony do ciągu rozkazów w języku wewnętrznym konkretnej maszyny Różne paradygmaty mogą wymagać skomplikowanych metod tłumaczenia; różna jest też ich efektywność Jarosław Bylina :: Języki i paradygmaty programowania :: Wprowadzenie I-44
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ółowoProgramowanie 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ółowoParadygmaty programowania
Wg. J. Bylina, B. Bylina Przegląd języków i paradygmatów programowania, UMCS, Lublin 2011 Paradygmaty programowania Paradygmat (gr. Paradeigma) - wzorzec lub przykład Def. słownikowa: przyjęty sposób widzenia
Bardziej szczegółowoWstęp do Programowania Obiektowego. Wykład 13 Paradygmaty. Składnia i semantyka.
Wstęp do Programowania Obiektowego Wykład 13 Paradygmaty. Składnia i semantyka. 1 PRZEGLĄD PODSTAWOWYCH PARADYGMATÓW 2 Cztery podstawowe paradygmaty 1. Programowanie imperatywne. 2. Programowanie funkcyjne.
Bardziej szczegółowoWykład 1 Informacje Podstawowe
Paradygmaty i języki programowania Wykład 1 Informacje Podstawowe Nieliniowej, WMiI UŁ 1 Czym jest paradygmat? Paradygmat to przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp. Zespół
Bardziej szczegółowoWykład 1 Informacje Podstawowe
Paradygmaty i języki programowania Wykład 1 Informacje Podstawowe Nieliniowej, WMiI UŁ 1 Czym jest paradygmat? Paradygmat to przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp. Zespół
Bardziej szczegółowoParadygmaty i języki programowania. Wprowadzenie. dr Robert Kowalczyk, Katedra Analizy Nieliniowej, WMiI UŁ 1
Paradygmaty i języki programowania Wprowadzenie Nieliniowej, WMiI UŁ 1 Czym jest paradygmat? Paradygmat to przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp. Zespół form fleksyjnych
Bardziej szczegółowoDariusz 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ółowoParadygmaty 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ółowoJęzyki programowania deklaratywnego
Katedra Inżynierii Wiedzy laborki 1 e-mail: przemyslaw.juszczuk@ue.katowice.pl Konsultacje: na stronie katedry + na stronie domowej Pokój 202c budynek A pjuszczuk.pl Języki deklaratywne - laborki Wprowadzenie
Bardziej szczegółowoProgramowanie komputerów
Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych
Bardziej szczegółowoWstę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ółowoParadygmaty 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ółowoInŜynieria oprogramowania. Język UML
InŜynieria oprogramowania Język UML 1 Jak podaje Słownik języka polskiego PWN, paradygmat to «przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp.» lub «zespół form fleksyjnych (deklinacyjnych
Bardziej szczegółowoInformatyka II stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)
KARTA MODUŁU / KARTA PRZEDMIOTU Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. Kod modułu Nazwa modułu Programowanie imperatywne, obiektowe i deklaratywne Nazwa modułu w języku
Bardziej szczegółowoProgramowanie Obiektowe i C++
Programowanie Obiektowe i C++ Marcin Benke 2.10.2006 Dzisiaj Co umiemy Paradygmaty programowania Co będzie na wykładach Zasady zaliczania Programowanie obiektowe Co umiemy Programowałem w C++ Programowałem
Bardziej szczegółowoProgramowanie obiektowe - 1.
Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która
Bardziej szczegółowoWykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki
Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,
Bardziej szczegółowoWykład 0 Informacje Podstawowe
Paradygmaty Programowania Wykład 0 Informacje Podstawowe Nieliniowej, WMiI UŁ 1 Informacje Ogólne (22 luty 2013) Wykłady: piątek, 10.00-12.00, D103 Wykłady: 1 wprowadzający +10 wykładów głównych Zaliczenie
Bardziej szczegółowoModelowanie i Programowanie Obiektowe
Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do
Bardziej szczegółowoJęzyki programowania deklaratywnego
Katedra Inżynierii Wiedzy laborki 14 Języki deklaratywne Główne różnice między paradygmatem deklaratywnym a imperatywnym Omów główne cechy paradygmatu programowania w logice na przykładzie Prologa Główne
Bardziej szczegółowoHistoria 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ółowoProgramowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++
Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu
Bardziej szczegółowoWykład 1 Informacje Podstawowe
Paradygmaty i języki programowania Wykład 1 Informacje Podstawowe Czym jest paradygmat? Paradygmat to przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp. Zespół form fleksyjnych
Bardziej szczegółowoProgramowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL
Programowanie Pascal - język programowania wysokiego poziomu Klasa 2 Lekcja 9 PASCAL Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany
Bardziej szczegółowoParadygmaty i języki programowania. Wprowadzenie. dr Robert Kowalczyk, Katedra Analizy Nieliniowej, WMiI UŁ 1
Paradygmaty i języki programowania Wprowadzenie Nieliniowej, WMiI UŁ 1 Czym jest paradygmat? Paradygmat to przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp. Zespół form fleksyjnych
Bardziej szczegółowoJęzyki i paradygmaty programowania
Języki i paradygmaty programowania Instytut Teleinformatyki ITI PK Kraków marzec 2012 Sprawy Organizacyjne Dane kontaktowe: e-mail: tchmaj@pk.edu.pl konsultacje: wtorki 14:45 15:45 budynek Houston, p.102,
Bardziej szczegółowo4 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ółowoJęzyki programowania imperatywnego
Katedra Inżynierii Wiedzy laborki 1 e-mail: przemyslaw.juszczuk@ue.katowice.pl Konsultacje: na stronie katedry + na stronie domowej Pokój 202c budynek A pjuszczuk.pl Języki imperatywne Wykład - 15 godzin;
Bardziej szczegółowoProgramowanie Obiektowe i C++ Marcin Benke
Programowanie Obiektowe i C++ Marcin Benke Dzisiaj Co umiemy Paradygmaty programowania Co będzie na wykładach Zasady zaliczania Programowanie obiektowe Co umiemy Programowałem w C++ Programowałem w języku
Bardziej szczegółowoWykład 1 Wiadomości wstępne
Paradygmaty Programowania Wykład 1 Wiadomości wstępne Nieliniowej, WMiI UŁ 1 Czym jest paradygmat? Paradygmat to przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp. Zespół form fleksyjnych
Bardziej szczegółowoInformatyczna Wieża Babel, czyli o różnych językach programowania. Informatyczna Wieża Babel, czyli o różnych językach programowania
Informatyczna Wieża Babel, czyli o różnych językach programowania Informatyczna Wieża Babel, czyli o różnych językach programowania Wstęp Aplikacje i programy, jakich dziś używamy, ukryte dla nas pod postacią
Bardziej szczegółowoWstę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ółowoProgramowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
Bardziej szczegółowoAlgorytm. Krótka historia algorytmów
Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne
Bardziej szczegółowoWstę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ółowoINFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE
Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby
Bardziej szczegółowoJęzyki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18
Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18 Literatura Języki i paradygmaty programowania Wykład 2 1. C. S. Horstman, G. Cornell, core Java 2 Podstawy, Helion 2003
Bardziej szczegółowoZapisywanie 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ółowoRok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -
Nazwa modułu: Programowanie obiektowe Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3 Wydział: Zarządzania Kierunek: Informatyka i Ekonometria Specjalność: - Poziom studiów: Studia I stopnia
Bardziej szczegółowoProgramowanie w języku Python. Grażyna Koba
Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i
Bardziej szczegółowoJę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ółowoJę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ółowoWstęp do programowania obiektowego. Wykład 1 Algorytmy i paradygmaty Podstawowe pojęcia PO
Wstęp do programowania obiektowego Wykład 1 Algorytmy i paradygmaty Podstawowe pojęcia PO 1 Cele przedmiotu Zapoznanie z podstawowymi pojęciami oraz technikami programowania obiektowego na przykładzie
Bardziej szczegółowoPodstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
Bardziej szczegółowoProgramowanie obiektowe
Wykład 1 21 lutego 2019 Plan wykładu 1 Opis wykładu Zaliczenie i egzamin Literatura 2 3 Modelowanie obiektowe Abstrakcja Hermetyzacja Dziedziczenie Polimorfizm 4 Opis wykładu Zaliczenie i egzamin Literatura
Bardziej szczegółowoKomputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy
Programowanie w C++ 1.Czym jest programowanie Pisanie programów to wcale nie czarna magia, tylko bardzo logiczna rozmowa z komputerem. Oczywiście w jednym ze specjalnie stworzonych do tego celu języków.
Bardziej szczegółowoPodstawy programowania. 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ółowoPodstawy 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ółowoGUI - projektowanie interfejsów cz. II
Katedra Inżynierii Wiedzy, Uniwersytet Ekonomiczny w Katowicach Wykład 2 Java Foundations Classes przyciski; pola tekstowe; panele; okna dialogowe; biblioteka Swing. Metodyka (paradygmat) programowania
Bardziej szczegółowoTechnologie informacyjne - wykład 12 -
Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski
Bardziej szczegółowoPodstawy 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ółowoWstę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ółowoPRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S
PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH ZATWIERDZAM Prorektor ds. dydaktyki i wychowania S Y L A B U S 1 Tytuł (stopień) naukowy oraz imię i nazwisko wykładowcy: dr hab.,
Bardziej szczegółowoProgramowanie w języku C++ Grażyna Koba
Programowanie w języku C++ Grażyna Koba Kilka definicji: Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i zasad
Bardziej szczegółowodr 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ółowoPodstawy programowania
Podstawy programowania Elementy algorytmiki C w środowisku.e (C#) dr inż. Grzegorz Zych Copernicanum, pok. 3 lub 206a 1 Minimum programowe reści kształcenia: Pojęcie algorytmu. Podstawowe konstrukcje programistyczne.
Bardziej szczegółowoMetodyka i Technika Programowania 1
Metodyka i Technika Programowania 1 Pytania zaliczeniowe z wykładu mgr inż. Leszek Ciopiński Wykład I 1. Wprowadzenie 1.1. Programowanie imperatywne polega na: 1.2. Czy w programowaniu imperatywnym programista
Bardziej szczegółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych, moduł kierunkowy ogólny Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK
Bardziej szczegółowoWYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++
Jednostka prowadząca: Wydział Techniczny Kierunek studiów: Elektronika i telekomunikacja Nazwa przedmiotu: Język programowania C++ Charakter przedmiotu: podstawowy, obowiązkowy Typ studiów: inŝynierskie
Bardziej szczegółowoJęzyk programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/
Język programowania Andrzej Bobyk http://www.alfabeta.lublin.pl www.alfabeta.lublin.pl/jp/ Literatura K. Reisdorph: Delphi 6 dla każdego. Helion, Gliwice 2001 A. Grażyński, Z. Zarzycki: Delphi 7 dla każdego.
Bardziej szczegółowoSYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017
Załącznik nr 4 do Uchwały Senatu nr 430/01/2015 SYLABUS DOTYCZY CYKLU KSZTAŁCENIA 2016-2020 realizacja w roku akademickim 2016/2017 1.1. Podstawowe informacje o przedmiocie/module Nazwa przedmiotu/ modułu
Bardziej szczegółowoJęzyki i paradygmaty programowania
Języki i paradygmaty programowania Paweł Dudzik, Adrian Guzik AGH Kraków Kraków, 5 lipca 2011 Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca 2011 1 / 53 Plan
Bardziej szczegółowoStyle programowania - krótki przeglad
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 programowania obiektowego.
Bardziej szczegółowoProgramowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.
Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to
Bardziej szczegółowoProgramowanie obiektowe Wykład 1. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20
Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 O mnie prowadzący wykład: Dariusz Wardowski pokój: A334 dyżur: środa, godz. 10.00 12.00 e-mail: wardd@math.uni.lodz.pl
Bardziej szczegółowoTranslacja i translatory Translacja
Translacja i translatory Translacja Program w języku niskiego poziomu ciąg instrukcji wykonywany bezpośrednio przez procesor lub maszynę cyfrową Program w języku wysokiego poziomu wymaga przetłumaczenia
Bardziej szczegółowoKurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016
Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal
Bardziej szczegółowoJęzyki 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ółowoWprowadzenie. 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ółowoMyśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści
Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop. 2017 Spis treści Przedmowa 11 1. Jak w programie 21 Czym jest program? 21 Uruchamianie interpretera języka Python 22 Pierwszy
Bardziej szczegółowoJęzyki programowania wprowadzenie
Języki programowania wprowadzenie Prof. dr hab. inż. Mariusz J. Giergiel KRiDM AGH dr hab. inż.. Mariusz Giergiel, prof. n. AGH Pok. 412, VIp, D-1 konsultacje czwartek 10:00 11:00 giergiel@agh.edu.pl Telefon
Bardziej szczegółowoProgramowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne
Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne dr inż. Marcin Szlenk Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych m.szlenk@elka.pw.edu.pl Paradygmaty
Bardziej szczegółowoTechnologie i usługi internetowe cz. 2
Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,
Bardziej szczegółowoProgramowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści
Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop. 2017 Spis treści O autorach 11 Podziękowania 12 Wprowadzenie 13 CZĘŚĆ I ZACZNIJ PROGRAMOWAĆ JUŻ DZIŚ Godzina 1. Praktyczne
Bardziej szczegółowoProgramowanie 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ółowoECDL 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ółowoAlgorytmy, reprezentacja algorytmów.
Algorytmy, reprezentacja algorytmów. Wprowadzenie do algorytmów Najważniejszym pojęciem algorytmiki jest algorytm (ang. algorithm). Nazwa pochodzi od nazwiska perskiego astronoma, astrologa, matematyka
Bardziej szczegółowoXQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
Bardziej szczegółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych, moduł kierunkowy ogólny Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK
Bardziej szczegółowoINTUICJE. Zespół norm, wzorców, reguł postępowania, które zna każdy naukowiec zajmujący się daną nauką (Bobrowski 1998)
PARADYGMAT INTUICJE Zespół norm, wzorców, reguł postępowania, które zna każdy naukowiec zajmujący się daną nauką (Bobrowski 1998) PIERWSZE UŻYCIA językoznawstwo: Zespół form deklinacyjnych lub koniugacyjnych
Bardziej szczegółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Algorytmy i programowanie Algorithms and Programming Kierunek: Zarządzanie i Inżynieria Produkcji Rodzaj przedmiotu: kierunkowy Poziom studiów: studia I stopnia forma studiów: studia
Bardziej szczegółowoKARTA 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ółowoMetody Programowania
POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Metody Programowania www.pk.edu.pl/~zk/mp_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 15: Klasyczne techniki
Bardziej szczegółowoAlgorytmy 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ółowoElektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)
Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Programowanie komputerów 2 Nazwa modułu w języku angielskim Computer programming
Bardziej szczegółowoProgramowanie I. Wprowadzenie. Proces programowania
I. Wprowadzenie. Proces Aleksander Denisiuk Uniwersytet Warmińsko-Mazurski Olsztyn, ul. Słoneczna 54 denisjuk@matman.uwm.edu.pl 6 lutego 2018 1 / 25 Wprowadzenie. Proces Najnowsza wersja tego dokumentu
Bardziej szczegółowoSYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017
Załącznik nr 4 do Uchwały Senatu nr 430/01/2015 SYLABUS DOTYCZY CYKLU KSZTAŁCENIA 2014-2018 realizacja w roku akademickim 2016/2017 1.1. PODSTAWOWE INFORMACJE O PRZEDMIOCIE/MODULE Nazwa przedmiotu/ modułu
Bardziej szczegółowo2.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ółowoPodstawy programowania wykład
Podstawy programowania wykład WYDZIAŁ ELEKTRONIKI i INFORMATYKI dr inż. Robert Arsoba Politechnika Koszalińska Wydział Elektroniki i Informatyki POLITECHNIKA KOSZALIŃSKA 2009/2010 1 Materiały do wykładu
Bardziej szczegółowoJęzyki programowania do zastosowań biomedycznych
Języki programowania do zastosowań biomedycznych Prowadzący Witold Dyrka Agnieszka Kazimierska Michał Placek Założenia Państwo: mają uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe
Bardziej szczegółowoKurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017
Wykład 12 7 czerwca 2017 Czym jest UML? UML składa się z dwóch podstawowych elementów: notacja: elementy graficzne, składnia języka modelowania, metamodel: definicje pojęć języka i powiazania pomiędzy
Bardziej szczegółowoprzedmiot kierunkowy (podstawowy / kierunkowy / inny HES) obowiązkowy (obowiązkowy / nieobowiązkowy) polski semestr I
KARTA MODUŁU / KARTA PRZEDMIOTU Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2012/1013
Bardziej szczegółowoPODSTAWY ALGORYTMIKI
1 PODSTAWY ALGORYTMIKI Algorytm sposób rozwiązania danego problemu Może być opisany słownie, może być przedstawiony wzorem matematycznym lub za pomocą schematów blokowych. Programowanie jest to metoda
Bardziej szczegółowoWykład 1. Projektowanie efektywnych algorytmów przetwarzania danych w sieciowych systemach usług, rzeczy i multimediów.
Wykład 1. Projektowanie efektywnych algorytmów przetwarzania danych w sieciowych systemach usług, rzeczy i multimediów. Paweł Świątek Agenda 1. Sprawy organizacyjne 2. Zasady zaliczenia 3. Cele kursu 4.
Bardziej szczegółowoPodstawy 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ółowoPARADYGMATY PROGRAMOWANIA
Opracował: mgr inŝ. Zbigniew JANIK Strona 1/7 PARADYGMATY PROGRAMOWANIA I Wstęp Co znaczy uŝyte w nazwie wykładu słowo paradygmat? Pochodzi z języka greckiego, w którym słowo παραδειγµα (paradeigma) oznacza
Bardziej szczegółowoINFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227
INFORMATYKA W SZKOLE Dr inż. Grażyna KRUPIŃSKA grazyna@fis.agh.edu.pl D-10 pokój 227 Podyplomowe Studia Pedagogiczne 2 Algorytmy Nazwa algorytm wywodzi się od nazwiska perskiego matematyka Muhamed ibn
Bardziej szczegółowoWprowadzenie do programowania paradygmaty programowania. dr hab. inż. Mikołaj Morzy
Wprowadzenie do programowania paradygmaty programowania dr hab. inż. Mikołaj Morzy plan wykładu wprowadzenie do języków programowania generacje języków programowania translacja, interpretacja, kompilacja
Bardziej szczegółowo