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

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

Download "JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 1"

Transkrypt

1 JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 1 1

2 MTA s1, sem. III Prowadzący: dr hab. inż. Witold Beluch (p. 149) Instytut Mechaniki i Inżynierii Obliczeniowej konsultacje: plan.polsl.pl wykład: 30h, laboratorium: 30h ZAJĘCIA KOŃCZĄ SIĘ EGZAMINEM Ocena końcowa: E - ocena z egzaminu L - ocena z laboratorium O=0.5 E+0.5 L - obydwie oceny muszą być pozytywne! 2

3 KRK 3

4 ZALICZENIE PRZEDMIOTU Wymagania związane z U3: Sprawozdanie w postaci elektronicznej (plik.doc lub.pdf) zawierające: propozycje zadań laboratoryjnych do poszczególnych ćwiczeń. proponowane rozwiązania tychże zadań w postaci kodu źródłowego (możliwego do skompilowania i uruchomienia) pliki.cpp, typowo 1 na zadanie. Szczegóły: W każdej grupie dziekańskiej (wszystkie grupy)!: pierwsze 3 osoby na liście z dziekanatu przygotowują (grupowo) sprawozdanie z propozycjami zadań do Lab2; nie są dopuszczalne grupy jednoosobowe!; następne 3 osoby do Lab3, itd. dotyczy to Lab2-Lab7 oraz Lab8-Lab14 (12 tematów); termin oddania do 14 dni po danym laboratorium; nieoddanie w terminie dodatkowe zadania do zrobienia. 4

5 ZALICZENIE PRZEDMIOTU Szczegóły cd: Plik ze sprawozdaniem ma zawierać: stronę tytułową, w tym: - numer laboratorium, - tematykę laboratorium, - osoby wykonujące zadania, - grupę dziekańską i rok akademicki, - datę zajęć laboratoryjnych. - pełną i precyzyjną treść zadań, w tym: - co dany program ma robić, - co należy wpisać/przypisać/zainicjalizować, - jakie typy zmiennych (jeśli powinno się podać) są wymagane, - co program ma wypisywać na ekran, - ew. inne wymagania związane z tematyką laboratorium. 5

6 ZALICZENIE PRZEDMIOTU rok ak. 2016/17 Dotyczy lab. z dnia:

7 LITERATURA Podstawowa: Dodatkowa: Materiały z internetu, własne notatki... 7

8 LITERATURA dodatkowa: 8 8

9 9

10 TEMATYKA wykładu 1 Zakres wykładu: o Od problemu do programu; o Algorytmy: o pojęcie algorytmu i przykłady; o cechy algorytmów; o złożoność algorytmów; o zapis algorytmów; o klasyfikacja algorytmów 10

11 PROGRAMOWANIE Od PROBLEMU do PROGRAMU Problem Algorytmizacja Algorytm Struktury danych Programowanie Kodowanie Program 11

12 PROGRAMOWANIE Języki programowania o Służą do przedstawiania algorytmów w postaci programów komputerowych. o Tylko algorytm zapisany w postaci programu komputerowego w konkretnym języku programowania może być zrealizowany przez komputer. Struktury danych o Określają sposób uporządkowania informacji w komputerze. o Na strukturach danych operują algorytmy. o np.: tablice (więcej później...) 12

13 ALGORYTMY Pojęcie algorytmu Abu Abdullah Muhammad ibn Musa al-chuwarizmi Perski matematyk, astronom, geograf i kartograf (ok ok. 850). Wikipedia: Urodzony w Chiwie, w latach żył w Bagdadzie. Wszystkie jego dzieła zostały napisane po arabsku. Nosił przydomek pana tablic. Dzięki jego pracom na Bliskim Wschodzie zaczęto stosować pochodzące z Indii dziesiętny system liczenia i pozycyjny system zapisu liczb, które wkrótce dotarły do Europy. Cyfry arabskie wyparły cyfry rzymskie w Europie. Jego prace pozwoliły też wprowadzić i wyjaśnić pojęcia zera, ułamków oraz funkcje trygonometryczne sinus i tangens. Jako pierwszy ułożył tablice funkcji sinus i tangens, wprowadził elementy algebry. Termin algebra pochodzi od tytułu jego dzieła Kitāb al-jabr wa'l-muqābala ("Zasady redukcji i przenoszenia"), zaś algorytm od łacińskiej wersji jego nazwiska (Algorismus). 13

14 ALGORYTMY Algorytm (przykładowe definicje): Skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania Skończony ciąg czynności, przekształcający zbiór danych wejściowych na zbiór danych wyjściowych (wyników) Przykładowy algorytm ( Noc Naukowców 2014 ): 1) Weź jajka. 2) Rozgrzej patelnię. 3) Rozpuść na patelni masło. 4) Wbij jajka. 5) Dodaj sól. 6) Zawartość patelni mieszaj przez około 3 minuty. 7) Jajecznica gotowa. wynik: dane WE 14

15 ALGORYTMY o przepis kucharski zawiera obiekty (składniki), ich początkowe wartości (miary) oraz opis działań dających w efekcie potrawę; o instrukcja montażu mebla, urządzenia, klocków zawiera ryciny obrazujące kolejne fazy powstawania składanego obiektu. Elementy (obiekty składowe) i ich liczba (wartości) są również umieszczane w takiej instrukcji; o zapis nutowy określa wysokości i względne czasy trwania nut i pauz między nimi. Obiekty to określenia instrumentów, dane początkowe to np. metrum czy dynamika poszczególnych części; o opisy dojazdu; o opisy układów choreograficznych; o scenopisy przedstawień; o... Zbiór przepisów kulinarnych Stanisława Czernieckiego Compedium ferculorum albo zebranie potraw, Kraków,

16 ALGORYTMY Pierwsze opisy, które później nazwano algorytmami, dotyczyły rozwiązań zadań matematycznych. Pierwszy nietrywialny i nadal używany algorytm: Algorytm Euklidesa wyznaczania największego wspólnego dzielnika dwóch dodatnich liczb całkowitych (wrócimy do tego...) Euklides (ok ok. 300 r. p.n.e.) Grecki matematyk pochodzący z Aten, przez większość życia działający w Aleksandrii. Elementy - traktat arytmetyczny i geometryczny w 13 księgach, podstawa nauki geometrii na świecie przez kilkanaście wieków. 16

17 ALGORYTMY Cechy algorytmu: o o o o Skończoność Musi zapewnić osiągnięcie rozwiązania w skończonej liczbie kroków (zatem w skończonym czasie). Dokładna liczba kroków nie musi być znana a priori. Komunikat o błędzie lub braku rozwiązania jest jednym z możliwych poprawnych zakończeń realizacji algorytmu. Często - warunek zakończenia (np. kryterium dokładności) by algorytm nie wykonywał się w nieskończoność. o o Kompletność Musi uwzględnić wszystkie możliwe przypadki które mogą wystąpić w trakcie realizacji. Dopuszcza wystąpienia błędów (numerycznych i logicznych ) i posiada system reakcji na nie (komunikaty o błędach, stosowne zakończenie działania). 17

18 ALGORYTMY o o Jednoznaczność Te same dane wejściowe zawsze te same wyniki działania algorytmu. Jest niezależny od momentu jego uruchomienia, wpływu innych programów, sprzętu, kodowania znaków, itp. Algorytm jest poprawny, jeżeli: o o algorytm zatrzymuje się po skończonej liczbie kroków (posiada własność stopu). dla danych spełniających warunek początkowy (WP), algorytm generuje dane spełniające warunek końcowy (WK). 18

19 ALGORYTMY Algorytm Euklidesa znajdowania największego wspólnego dzielnika: o gdy mniejsza z liczb jest równa zero, to NWD jest równy drugiej z nich; o gdy obie są dodatnie, to NWD jest równy największemu wspólnemu dzielnikowi ich różnicy oraz mniejszej z nich (84,36) =>(48,36)=>(12,36)=>(36,12)=>(24,12)=>(12,12)=>(0,12)=>(12,0)=>12 zapis w pseudokodzie (o tym później...) 19

20 ALGORYTMY Spróbujmy dobrać złośliwe dane wejściowe, np.: a = 10 30, b = 1 Liczba pętli algorytmu: Może istnieć kilka przepisów, które dają te same wyniki: Dla a = 10 30, b = 1 liczba pętli < 150. Tu już nie tak oczywiste będzie dobranie kłopotliwych danych; więcej: 20

21 ALGORYTMY Złożoność algorytmu: Ilość zasobów komputerowych niezbędna do wykonania algorytmu. Mierzona wymaganiami czasowymi T i pamięciowymi S. W jakich jednostkach? o o Dla złożoności czasowej: wykonanie jednej tzw. operacji dominującej (złożoność czasowa powinna być określana w oderwaniu od możliwości sprzętowych czy języka programowania). Dla złożoności pamięciowej: zwykle słowo pamięci maszyny. Operacja dominująca to np.: dla sortowania: porównanie 2 elementów w ciągu wejściowym, dla wyznaczania wartości wielomianu operacje +, -, /, *. dla znajdowania najkrótszej drogi przejście między dwoma węzłami (miastami). 21

22 ALGORYTMY Rzędy złożoności (najczęściej spotykane): o 1 stała; o log n logarytmiczna; o n liniowa; o n log n liniowo-logarytmiczna; o n 2 kwadratowa; o n c wielomianowa; o 2 n, n! wykładnicza. n wielkość danych algorytmu, np.: - dla sortowania liczba elementów w ciągu wejściowym; - dla wyznaczania wartości wielomianu jego stopień; - dla znajdowania najkrótszej drogi liczba węzłów. Na złożoność czasową składają się dwie wartości: o złożoność pesymistyczna (taka, która charakteryzuje najgorszy przypadek); o złożoność oczekiwana (dla typowych danych wejściowych). 22

23 ALGORYTMY Np. sortowanie n obiektów: o o o sprawdzenie wszystkich możliwości: O(n!) wykładnicza; algorytm bąbelkowy: O(n 2 ) kwadratowa; algorytm szybki - O(n log n) - liniowo-logarytmiczna. O(. ) patrz: następny slajd... Dopiero znalezienie algorytmu o niższym rzędzie złożoności jest istotnym ulepszeniem rozwiązania danego zadania algorytmicznego. Najlepszym sposobem przyspieszania komputerów jest obarczanie ich mniejszą liczbą działań (szybszymi algorytmami). [Ralf Gomory, IBM] 23

24 ALGORYTMY Notacja O(. ): Mówimy, że funkcja f(n) złożoności algorytmu jest co najwyżej rzędu O(g(n)) i zapisujemy: f(n) =O(g(n)) jeśli istnieją: stała rzeczywista c > 0 oraz stała naturalna n 0 takie, że dla każdego n n 0 zachodzi nierówność: np.: n 2 + 2n = O(n 2 ) gdyż dla każdego naturalnego n: Inne notacje: f(n) c g(n) n 2 + 2n 3n 2 - f(n) = (g(n)) f jest co najmniej rzędu g - f(n) = (g(n)) f jest dokładnie rzędu g 24

25 ALGORYTMY Np.: jeśli jedna operacja trwa 1 ms: Typ złożoności Oznaczenie n logarytmiczna logn s s s liniowa n s s s liniowologarytmiczna n logn s s s kwadratowa n s s 0.01 s wielomianowa n k ; k= s s 1 s wykładnicza 2 n s 35.6 lat lat wykładnicza n! 3.6 s lat lat 25

26 ALGORYTMY Cykl Eulera (zadanie łatwe ): cykl w grafie, który przechodzi przez każdą krawędź niezorientowanego grafu dokładnie jeden raz (przez węzły może przechodzić wielokrotnie). Cykl Hamiltona (zadanie trudne ): cykl w grafie, w którym każdy wierzchołek grafu występuje dokładnie jeden raz. (znalezienie cyklu Hamiltona o minimalnej sumie wag krawędzi jest równoważne rozwiązaniu problemu komiwojażera). William R. Hamilton ( ): 26

27 ALGORYTMY Zadanie (problem) komiwojażera Znajdź najkrótszą drogę między danymi miastami (węzłami), przy czym: o należy odwiedzić wszystkie miasta; o każde miasto można odwiedzić tylko jeden raz; o należy wrócić do miasta początkowego; o kolejność odwiedzanych miast jest dowolna. 4 miasta: 3 możliwości 9 miast: możliwości 10 miast: możliwości... Liczba możliwych tras: n 2 1! jeśli 100 miast 1 minuta, to: 101 ok. 2 godzin dni lata... 27

28 Rekordy: ALGORYTMY o rok 1954: 49 miast o rok 1980: 318 miast o rok 1998: miast w USA o rok 2001: miast w Niemczech o rok 2004: miast w Szwecji Jak sprawdzić, czy nie istnieje krótsza trasa? 28

29 ALGORYTMY Np.: Znaleźć najkrótszą trasę dla Bardzo Ważnego Polityka (BWP) przez wszystkie miasta wojewódzkie. o start: Warszawa. 15! o możliwości jest: 2 o podział administracyjny : 48!

30 Na superkomputerze o mocy 1 PFLOPS o o ALGORYTMY 15!/2 => ok sek. 48!/2 => ok. 1.5*10 38 lat FLOPS (ang. FLoating point Operations Per Second) liczba operacji zmiennoprzecinkowych na sekundę. PFLOPS petaflops: FLOPS Prometheus ( ) PFLOPS informatyka w pierwszej + 30 na świecie 30 30

31 ALGORYTMY Poszukuje się skutecznych algorytmów przybliżonych szukania rozwiązań, jak np. metody inteligencji obliczeniowej (algorytmy ewolucyjne, sztuczne systemy immunologiczne, algorytmy mrówkowe itp.). ale to już temat na zupełnie inny wykład... 31

32 ZAPIS ALGORYTMU 1. Opis słowny (zwykle jako lista kroków) - proste zdania (lub równoważniki zdań) w trybie rozkazującym. 1) Weź jajka. 2) Rozgrzej patelnię.... Dla algorytmu Euklidesa np.: 32

33 ZAPIS ALGORYTMU 2. Zapis graficzny (schemat blokowy, sieć działań) o zestaw symbolicznych elementów odpowiadających czynnościom; o elementarne czynności oznaczone blokami (węzły), kolejność wyznaczona przez linie łączące węzły; o struktura algorytmu niezależna od maszyny i rodzaju kodowania liczb; o można w ten sposób zapisać każdy algorytm; o każdy algorytm można zapisać za pomocą różnych schematów blokowych 33

34 ZAPIS ALGORYTMU Reguły tworzenia: o Schemat blokowy składa się z bloków połączonych zorientowanymi liniami; o Bloki obrazują ciąg operacji; o Zawsze wykonywane są albo wszystkie instrukcje w bloku albo żadna; o Dalsze operacje nie zależą od poprzednich wariantów, chyba że zależności te zostały przekazane za pomocą danych; o Kolejność wykonania operacji jest ściśle określona przez zorientowane linie łączące poszczególne bloki; o Do każdego bloku może prowadzić co najwyżej jedna linia; o Linie mogą się łączyć ale nie mogą się rozdzielać (bez bloku decyzyjnego). 34

35 ZAPIS ALGORYTMU Bloki (nie wszystkie...): - blok startu jedno WY oznaczające początek algorytmu start - blok stopu jedno WE oznaczające koniec algorytmu stop - blok operacyjny (obliczeniowy) jedno WE i jedno WY: realizacja elementarnej czynności operacja - blok decyzyjny (warunkowy) jedno WE i dwa (lub więcej) WY: miejsce rozgałęziania programu w zależności od spełnienia warunku warunek wartość 2 wartość 1 - blok wejścia-wyjścia jedno WE i jedno WY: miejsce wymiany danych ze światem zewnętrznym dane 35

36 ZAPIS ALGORYTMU Dla algorytmu Euklidesa np.: 36

37 ZAPIS ALGORYTMU Każdy algorytm można zapisać za pomocą różnych schematów blokowych: za: Witold Marańda, Politechnika Łódzka, Algorytmy i struktury danych, 37

38 ZAPIS ALGORYTMU A B? Optymalizacja schematu blokowego polega na znalezieniu schematu najlepszego dla określonego kryterium (rozmiaru, szybkości, możliwości rozbudowy). 38

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

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

Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL

Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL 1 Część 1 Pojęcie algorytmu 2 I. Pojęcie algorytmu Trochę historii Pierwsze

Bardziej szczegółowo

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2 Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl OBLICZENIA EWOLUCYJNE LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2 opracował:

Bardziej szczegółowo

Algorytmy komputerowe. dr inŝ. Jarosław Forenc

Algorytmy komputerowe. dr inŝ. Jarosław Forenc Rok akademicki 2009/2010, Wykład nr 8 2/24 Plan wykładu nr 8 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2009/2010

Bardziej szczegółowo

Algorytm. Algorytmy Marek Pudełko

Algorytm. Algorytmy Marek Pudełko Algorytm Algorytmy Marek Pudełko Definicja Algorytm to skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania. Algorytm ma przeprowadzić system z pewnego

Bardziej szczegółowo

Algorytm. Krótka historia algorytmów

Algorytm. 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ółowo

Efektywność algorytmów

Efektywność algorytmów Efektywność algorytmów Algorytmika Algorytmika to dział informatyki zajmujący się poszukiwaniem, konstruowaniem i badaniem własności algorytmów, w kontekście ich przydatności do rozwiązywania problemów

Bardziej szczegółowo

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie Więcej o sprawności algorytmów Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie Załóżmy, że możemy wykonać dane zadanie przy użyciu dwóch algorytmów: jednego o złożoności czasowej

Bardziej szczegółowo

Wykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu

Wykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu Podstawy programowania Wykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu 1 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD Część 1 Dlaczego system binarny?

Bardziej szczegółowo

Podstawy Informatyki. Sprawność algorytmów

Podstawy Informatyki. Sprawność algorytmów Podstawy Informatyki Sprawność algorytmów Sprawność algorytmów Kryteria oceny oszczędności Miara złożoności rozmiaru pamięci (złożoność pamięciowa): Liczba zmiennych + liczba i rozmiar struktur danych

Bardziej szczegółowo

Technologie Informacyjne

Technologie Informacyjne POLITECHNIKA KRAKOWSKA - WIEiK - KATEDRA AUTOMATYKI Technologie Informacyjne www.pk.edu.pl/~zk/ti_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 3: Wprowadzenie do algorytmów i ich

Bardziej szczegółowo

Informatyka wprowadzenie do algorytmów (II) dr hab. inż. Mikołaj Morzy

Informatyka wprowadzenie do algorytmów (II) dr hab. inż. Mikołaj Morzy Informatyka wprowadze do algorytmów (II) dr hab. inż. Mikołaj Morzy plan wykładu cechy algorytmów sposoby zapisu algorytmów klasyfikacja algorytmów przykłady algorytmów sumowa przeszukiwa ciągu liczb sortowa

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

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa). Algorytmy definicja, cechy, złożoność. Algorytmy napotykamy wszędzie, gdziekolwiek się zwrócimy. Rządzą one wieloma codziennymi czynnościami, jak np. wymiana przedziurawionej dętki, montowanie szafy z

Bardziej szczegółowo

Definicja algorytmu brzmi:

Definicja algorytmu brzmi: 1.1. Definicja algorytmu Często w życiu stajesz przed koniecznością rozwiązania jakiegoś zadania. Na lekcji matematyki musisz na przykład rozwiązać równanie i w tym celu wykonujesz szereg czynności: od

Bardziej szczegółowo

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu danych

Bardziej szczegółowo

Wprowadzenie do algorytmiki

Wprowadzenie do algorytmiki Wprowadzenie do algorytmiki Pojecie algorytmu Powszechnie przyjmuje się, że algorytm jest opisem krok po kroku rozwiązania postawionego problemu lub sposób osiągnięcia jakiegoś celu. Wywodzi się z matematyki

Bardziej szczegółowo

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

INFORMATYKA 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ół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

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

METODY OPISU ALGORYTMÓW KOMPUTEROWYCH

METODY OPISU ALGORYTMÓW KOMPUTEROWYCH Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni z przedmiotu Podstawy Informatyki Kod przedmiotu: TS1C 100 003 Ćwiczenie pt. METODY OPISU ALGORYTMÓW KOMPUTEROWYCH

Bardziej szczegółowo

Technologie informacyjne - wykład 12 -

Technologie 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ółowo

Programowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Programowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni. Wykład 3. Karol Tarnowski A-1 p. Programowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Co to jest algorytm? Zapis algorytmów Algorytmy

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie

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

Informatyka 1. Złożoność obliczeniowa

Informatyka 1. Złożoność obliczeniowa Informatyka 1 Wykład XI Złożoność obliczeniowa Robert Muszyński ZPCiR ICT PWr Zagadnienia: efektywność programów/algorytmów, sposoby zwiększania efektywności algorytmów, zasada 80 20, ocena efektywności

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wprowadzenie do złożoności obliczeniowej

Wprowadzenie do złożoności obliczeniowej problemów Katedra Informatyki Politechniki Świętokrzyskiej Kielce, 16 stycznia 2007 problemów Plan wykładu 1 2 algorytmów 3 4 5 6 problemów problemów Plan wykładu 1 2 algorytmów 3 4 5 6 problemów problemów

Bardziej szczegółowo

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott Struktury danych i złozoność obliczeniowa Prof. dr hab. inż. Jan Magott Formy zajęć: Wykład 1 godz., Ćwiczenia 1 godz., Projekt 2 godz.. Adres strony z materiałami do wykładu: http://www.zio.iiar.pwr.wroc.pl/sdizo.html

Bardziej szczegółowo

Algorytm. Krótka historia algorytmów

Algorytm. 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ółowo

Złożoność algorytmów. Wstęp do Informatyki

Złożoność algorytmów. Wstęp do Informatyki Złożoność algorytmów Złożoność pamięciowa - liczba i rozmiar struktur danych wykorzystywanych w algorytmie Złożoność czasowa - liczba operacji elementarnych wykonywanych w trakcie przebiegu algorytmu Złożoność

Bardziej szczegółowo

Algorytmy i schematy blokowe

Algorytmy i schematy blokowe Algorytmy i schematy blokowe Algorytm dokładny przepis podający sposób rozwiązania określonego zadania w skończonej liczbie kroków; zbiór poleceń odnoszących się do pewnych obiektów, ze wskazaniem porządku,

Bardziej szczegółowo

Wykład z Technologii Informacyjnych. Piotr Mika

Wykład z Technologii Informacyjnych. Piotr Mika Wykład z Technologii Informacyjnych Piotr Mika Uniwersalna forma graficznego zapisu algorytmów Schemat blokowy zbiór bloków, powiązanych ze sobą liniami zorientowanymi. Jest to rodzaj grafu, którego węzły

Bardziej szczegółowo

Projektowanie i Analiza Algorytmów

Projektowanie i Analiza Algorytmów POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI I TECHNIK INFORMACYJNYCH Projektowanie i Analiza Algorytmów www.pk.edu.pl/~zk/piaa_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład

Bardziej szczegółowo

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

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 13. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 13 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Złożoność algorytmów czy to istotne, skoro

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej  Wydział Mechaniczny Technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium

Bardziej szczegółowo

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

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 13. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 13 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Złożoność algorytmów czy to istotne, skoro

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 3 2 Złożoność obliczeniowa algorytmów Notacja wielkie 0 Notacja Ω i Θ Algorytm Hornera Przykłady rzędów

Bardziej szczegółowo

Technologie informacyjne Wykład VII-IX

Technologie informacyjne Wykład VII-IX Technologie informacyjne -IX A. Matuszak 19 marca 2013 A. Matuszak Technologie informacyjne -IX Rekurencja A. Matuszak (2) Technologie informacyjne -IX Gotowanie jajek na miękko weż czysty garnek włóż

Bardziej szczegółowo

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 7 Algorytmy

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 7 Algorytmy Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 7 Algorytmy Programowanie Sformułowanie problemu. Opracowanie metodyki rozwiązania. Opracowanie algorytmu. Napisanie kodu źródłowego (zakodowanie) w

Bardziej szczegółowo

Podstawy programowania. Podstawy C# Przykłady algorytmów

Podstawy programowania. Podstawy C# Przykłady algorytmów Podstawy programowania Podstawy C# Przykłady algorytmów Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Letnie Warsztaty Matematyczno-Informatyczne Algorytmy i struktury danych Mariusz Różycki University of Cambridge Zajęcia będą mieć formę wykładową. Slajdy można znaleźć na stronie kursu: http://lw.mi.edu.pl/informatyka/algorytmy.

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Algorytm 1. Termin algorytm jest używany w informatyce

Bardziej szczegółowo

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne. 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ółowo

Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Napisanie programu komputerowego: Zasada rozwiązania zadania Stworzenie sekwencji kroków algorytmu Przykłady algorytmów z życia codziennego (2/1 6)

Bardziej szczegółowo

Podstawy Programowania

Podstawy Programowania Podstawy Programowania Monika Wrzosek Instytut Matematyki Uniwersytet Gdański Matematyka 2017/18 Monika Wrzosek (IM UG) Podstawy Programowania 1 / 119 Sprawy organizacyjne E-mail: mwrzosek@mat.ug.edu.pl

Bardziej szczegółowo

Podstawy Informatyki. Algorytmy i ich poprawność

Podstawy Informatyki. Algorytmy i ich poprawność Podstawy Informatyki Algorytmy i ich poprawność Błędy Błędy: językowe logiczne Błędy językowe Związane ze składnią języka Wykrywane automatycznie przez kompilator lub interpreter Prosty sposób usuwania

Bardziej szczegółowo

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 1 - wprowadzenie do przedmiotu mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 16 października 2017 1 / 25 mgr inż. Krzysztof Szwarc Podstawy i

Bardziej szczegółowo

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Adam Wosatko Ewa Pabisek Reprezentacja

Bardziej szczegółowo

Metodyki i techniki programowania

Metodyki i techniki programowania Metodyki i techniki programowania dr inż. Maciej Kusy Katedra Podstaw Elektroniki Wydział Elektrotechniki i Informatyki Politechnika Rzeszowska Elektronika i Telekomunikacja, sem. 2 Plan wykładu Sprawy

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyka dyskretna. Andrzej Łachwa, UJ, /14 Matematyka dyskretna Andrzej Łachwa, UJ, 2012 andrzej.lachwa@uj.edu.pl 2/14 Funkcji podłogi z logarytmu można użyć do wyliczenia liczby cyfr liczby naturalnej k (k>0): w układzie dziesiętnym log 10 (k)

Bardziej szczegółowo

Algorytmy, reprezentacja algorytmów.

Algorytmy, 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ółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca

Bardziej szczegółowo

Algorytmy i złożoność obliczeniowa. Wojciech Horzelski

Algorytmy i złożoność obliczeniowa. Wojciech Horzelski Algorytmy i złożoność obliczeniowa Wojciech Horzelski 1 Tematyka wykładu Ø Ø Ø Ø Ø Wprowadzenie Poprawność algorytmów (elementy analizy algorytmów) Wyszukiwanie Sortowanie Elementarne i abstrakcyjne struktury

Bardziej szczegółowo

Jeszcze o algorytmach

Jeszcze o algorytmach Jeszcze o algorytmach Przykłady różnych, podstawowych algorytmów 11.01.2018 M. Rad Plan Powtórka Znajdowanie najmniejszego elementu Segregowanie Poszukiwanie przez połowienie Wstawianie Inne algorytmy

Bardziej szczegółowo

1. Analiza algorytmów przypomnienie

1. Analiza algorytmów przypomnienie 1. Analiza algorytmów przypomnienie T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein Wprowadzenie do algorytmów, rozdziały 1-4 Wydawnictwa naukowo-techniczne (2004) Jak mierzyć efektywność algorytmu?

Bardziej szczegółowo

INFORMATYKA SORTOWANIE DANYCH.

INFORMATYKA SORTOWANIE DANYCH. INFORMATYKA SORTOWANIE DANYCH http://www.infoceram.agh.edu.pl SORTOWANIE Jest to proces ustawiania zbioru obiektów w określonym porządku. Sortowanie stosowane jest w celu ułatwienia późniejszego wyszukania

Bardziej szczegółowo

Złożoność Obliczeniowa Algorytmów

Złożoność Obliczeniowa Algorytmów Algorytmów Pożądane cechy dobrego algorytmu Dobry algorytm mający rozwiązywać jakiś problem powinien mieć 2 naturalne cechy: 1 (poprawność) zwracać prawidłowy wynik (dokładniej: zgodność z warunkiem końcowym

Bardziej szczegółowo

POLITECHNIKA OPOLSKA

POLITECHNIKA OPOLSKA POLITECHNIKA OPOLSKA WYDZIAŁ MECHANICZNY Katedra Technologii Maszyn i Automatyzacji Produkcji Laboratorium Podstaw Inżynierii Jakości Ćwiczenie nr 2 Temat: Schemat blokowy (algorytm) procesu selekcji wymiarowej

Bardziej szczegółowo

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009 Informatyka 1 zajęcia nr 1 Elektrotechnika, semestr II rok akademicki 2008/2009 mgr inż.. Paweł Myszkowski Plan dzisiejszych zajęć 1. Organizacja laboratorium przedmiotu 2. Algorytmy i sposoby ich opisu

Bardziej szczegółowo

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer Realizacja algorytmu przez komputer Wstęp do informatyki Wykład UniwersytetWrocławski 0 Tydzień temu: opis algorytmu w języku zrozumiałym dla człowieka: schemat blokowy, pseudokod. Dziś: schemat logiczny

Bardziej szczegółowo

Technologia informacyjna Algorytm Janusz Uriasz

Technologia informacyjna Algorytm Janusz Uriasz Technologia informacyjna Algorytm Janusz Uriasz Algorytm Algorytm - (łac. algorithmus); ścisły przepis realizacji działań w określonym porządku, system operacji, reguła komponowania operacji, sposób postępowania.

Bardziej szczegółowo

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Grażyna Koba MIGRA 2019 Spis treści (propozycja na 2*32 = 64 godziny lekcyjne) Moduł A. Wokół komputera i sieci komputerowych

Bardziej szczegółowo

Teoria obliczeń i złożoność obliczeniowa

Teoria obliczeń i złożoność obliczeniowa Teoria obliczeń i złożoność obliczeniowa Kontakt: dr hab. inż. Adam Kasperski, prof. PWr. pokój 509 B4 adam.kasperski@pwr.wroc.pl materiały + informacje na stronie www. Zaliczenie: Egzamin Literatura Problemy

Bardziej szczegółowo

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH Transport, studia I stopnia rok akademicki 2012/2013 Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Adam Wosatko Ewa Pabisek Pojęcie

Bardziej szczegółowo

POLITECHNIKA OPOLSKA

POLITECHNIKA OPOLSKA POLITECHNIKA OPOLSKA WYDZIAŁ MECHANICZNY Katedra Technologii Maszyn i Automatyzacji Produkcji Laboratorium Podstaw Inżynierii Jakości Ćwiczenie nr 2 Temat: Schemat blokowy (algorytm) procesu selekcji wymiarowej

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

KARTA MODUŁU KSZTAŁCENIA

KARTA MODUŁU KSZTAŁCENIA KARTA MODUŁU KSZTAŁCENIA I. Informacje ogólne I. 1 Nazwa modułu kształcenia Podstawy informatyki i architektury systemów komputerowych 2 Nazwa jednostki prowadzącej moduł Instytut Informatyki Zakład Informatyki

Bardziej szczegółowo

Metodyki i techniki programowania

Metodyki i techniki programowania Metodyki i techniki programowania dr inż. Maciej Kusy Katedra Podstaw Elektroniki Wydział Elektrotechniki i Informatyki Politechnika Rzeszowska Elektronika i Telekomunikacja, sem. 2 Plan wykładu Sprawy

Bardziej szczegółowo

Zasady analizy algorytmów

Zasady analizy algorytmów Zasady analizy algorytmów A więc dziś w programie: - Kilka ważnych definicji i opisów formalnych - Złożoność: czasowa i pamięciowa - Kategorie problemów - Jakieś przykłady Problem: Zadanie możliwe do rozwiązania

Bardziej szczegółowo

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych. Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą

Bardziej szczegółowo

Podstawy Programowania. Złożoność obliczeniowa

Podstawy Programowania. Złożoność obliczeniowa Podstawy Programowania Wykład X Złożoność obliczeniowa Robert Muszyński Katedra Cybernetyki i Robotyki, PWr Zagadnienia: efektywność programów/algorytmów, sposoby zwiększania efektywności algorytmów, zasada

Bardziej szczegółowo

Wykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu Tablice (wstęp) Rzut okiem na języki programowania

Wykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu Tablice (wstęp) Rzut okiem na języki programowania Podstawy programowania Wykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu Tablice (wstęp) Rzut okiem na języki programowania 1 dr Artur Bartoszewski - Podstawy programowania,

Bardziej szczegółowo

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew 1. ( pkt) Dany jest algorytm, który dla dowolnej liczby naturalnej n, powinien wyznaczyd sumę kolejnych liczb naturalnych mniejszych od n. Wynik algorytmu jest zapisany w zmiennej suma. Algorytm i=1; suma=0;

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

Komputery, obliczenia, algorytmy Tianhe-2 (MilkyWay-2), system Kylin Linux, 33862.7 Tflops, 17808.00 kw

Komputery, obliczenia, algorytmy Tianhe-2 (MilkyWay-2), system Kylin Linux, 33862.7 Tflops, 17808.00 kw Komputery, obliczenia, algorytmy Tianhe-2 (MilkyWay-2), system Kylin Linux, 33862.7 Tflops, 17808.00 kw Michał Rad 08.10.2015 Co i po co będziemy robić Cele zajęć informatycznych: Alfabetyzacja komputerowa

Bardziej szczegółowo

Podstawy programowania

Podstawy 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ółowo

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane

Bardziej szczegółowo

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

Opis efektów kształcenia dla modułu zajęć Nazwa modułu: Formalne podstawy informatyki Rok akademicki: 2013/2014 Kod: EIB-1-220-s Punkty ECTS: 2 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Kierunek: Inżynieria Biomedyczna

Bardziej szczegółowo

Podstawy Programowania

Podstawy Programowania Podstawy Programowania Wykład X Złożoność obliczeniowa Robert Muszyński ZPCiR ICT PWr Zagadnienia: efektywność programów/algorytmów, sposoby zwiększania efektywności algorytmów, zasada 80 20, ocena efektywności

Bardziej szczegółowo

Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski

Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski Modele Obliczeń Wykład 1 - Wprowadzenie Marcin Szczuka Instytut Matematyki, Uniwersytet Warszawski Wykład fakultatywny w semestrze zimowym 2014/2015 Marcin Szczuka (MIMUW) Modele Obliczeń 2014/2015 1 /

Bardziej szczegółowo

Algorytmy komputerowe. dr inż. Jarosław Forenc

Algorytmy komputerowe. dr inż. Jarosław Forenc Rok akademicki 2010/2011, Wykład nr 9/10 2/38 Plan wykładu nr 9/10 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki

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

Algorytmy i Struktury Danych

Algorytmy i Struktury Danych Algorytmy i Struktury Danych Podstawowe informacje Prowadzący: Jan Tuziemski Email: jan.tuziemski@pg.edu.pl Konsultacje: pokój 412 GB (do ustalenia 412 GB) Podstawowe informacje literatura K. Goczyła Struktury

Bardziej szczegółowo

Wstęp do informatyki

Wstęp do informatyki Wstęp do informatyki Algorytmy i struktury danych Piotr Fulmański Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska 30 października 2009 Spis treści 1 Algorytm 2 Przetwarzane informacje 3 Struktury

Bardziej szczegółowo

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie. Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy

Bardziej szczegółowo

EGZAMIN MATURALNY 2011 INFORMATYKA

EGZAMIN MATURALNY 2011 INFORMATYKA Centralna Komisja Egzaminacyjna w Warszawie EGZAMIN MATURALNY 2011 INFORMATYKA POZIOM PODSTAWOWY MAJ 2011 2 Zadanie 1. a) (0 1) Egzamin maturalny z informatyki poziom podstawowy CZĘŚĆ I Obszar standardów

Bardziej szczegółowo

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji. Temat: Technologia informacyjna a informatyka 1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji. Technologia informacyjna (ang.) Information Technology, IT jedna

Bardziej szczegółowo

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne. Algorytm znaczenie informatyczne 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ółowo

Podstawy Programowania. Złożoność obliczeniowa

Podstawy Programowania. Złożoność obliczeniowa Podstawy Programowania Wykład X Złożoność obliczeniowa Robert Muszyński Katedra Cybernetyki i Robotyki, PWr Zagadnienia: efektywność programów/algorytmów, sposoby zwiększania efektywności algorytmów, zasada

Bardziej szczegółowo

Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1

Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1 Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1 Etapy rozwiązywania problemu PROBLEM wybór metody rozwiązania ALGORYTM 1.

Bardziej szczegółowo

Piotr Chrząstowski-Wachtel Uniwersytet Warszawski. Al Chwarizmi i trzy algorytmy Euklidesa

Piotr Chrząstowski-Wachtel Uniwersytet Warszawski. Al Chwarizmi i trzy algorytmy Euklidesa Piotr Chrząstowski-Wachtel Uniwersytet Warszawski Al Chwarizmi i trzy algorytmy Euklidesa Algorytmika Najważniejsza część informatyki Opisuje jak rozwiązywać problemy algorytmiczne, jakie struktury danych

Bardziej szczegółowo

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład 5 Prof. dr hab. inż. Jan Magott DMT rozwiązuje problem decyzyjny π przy kodowaniu e w co najwyżej wielomianowym czasie, jeśli dla wszystkich łańcuchów wejściowych

Bardziej szczegółowo

Wstęp do informatyki- wykład 2

Wstęp do informatyki- wykład 2 MATEMATYKA 1 Wstęp do informatyki- wykład 2 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści wspólnych z kierunkiem Matematyka, moduł kierunku obowiązkowy PODSTAWY INFORMATYKI Fundamentals of computer science

Bardziej szczegółowo

ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe

ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe opracował:

Bardziej szczegółowo

Struktura danych. Sposób uporządkowania informacji w komputerze.

Struktura danych. Sposób uporządkowania informacji w komputerze. Struktura danych Sposób uporządkowania informacji w komputerze. Algorytm Skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania. Al-Khwarizmi perski matematyk

Bardziej szczegółowo