POZNA SUPERCOMPUTING AND NETWORKING. Podstawy optymalizacji kodu ródłowego
|
|
- Adrian Szydłowski
- 6 lat temu
- Przeglądów:
Transkrypt
1 Podstawy optymalizacji kodu ródłowego
2 literatura podstawowa [Aho2002] Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman, Kompilatory. Reguły, metody i narzdzia, WNT 2002 (tłum. pierwszego wydania amerykaskiego, 1986). [Aho2001] A.V. Aho, R. Sethi, J.D. Ullman, Compilers: Principles, Techniques, and Tools, Pearson Education
3 literatura uzupełniajca [Bentley2000] Jon Bentley, Perełki oprogramowania, wyd. trzecie, WNT, 2008 (tłum. drugiego wydania amerykaskiego, Pearson Education 2000). [Bentley2007] Jon Bentley, Wicej perełek oprogramowania. Wyznania programisty, WNT 2007 (tłum. pierwszego wydania amerykaskiego, Pearson Education 1988) 3
4 literatura uzupełniajca [Kernigham1999] Brian W. Kernigham, Rob Pike, Lekcja programowania, WNT 2002, (tłum. pierwszego wydania amerykaskiego, Pearson Education 1999). [Oram2008] Andy Oram, Greg Wilson (red.), Pikny kod. Tajemnice mistrzów programowania, Helion 2008, (tłum. wydania amerykaskiego, O Reilly Media Inc. 2007). 4
5 literatura uzupełniajca [Barr2005] Adam Barr, Znajd błd. Sztuka analizowania kodu, Helion 2005 (tłum. wydania amerykaskiego, Pearson Education 2005). 5
6 Plan wprowadzenie (typowa kompilacja) podstawowe ródła optymalizacji optymalizacja bloków bazowych ptle w grafach przepływu globalna analiza przepływu danych iteracyjne rozwizywanie równa przepływu danych 6
7 Plan przekształcenia poprawiajce kod obsługa synonimów analiza przepływu danych w strukturalnych grafach przepływu efektywne algorytmy przepływu danych narzdzia do analizy przepływu danych wykrywanie typów 7
8 Plan symboliczny program uruchomieniowy dla zoptymalizowanego kodu uwagi bibliograficzne 8
9 kompilator czyta kod w jzyku ródłowym i tłumaczy na kod w jzyku wynikowym [Aho2002] 9
10 typowa kompilacja [Aho2002] 10
11 typowa kompilacja program ródłowy w oddzielnych plikach jest składany w cało przez preprocesor, kompilator tworzy kod wynikowy w j. asemblera, tłumaczony nastpnie przez asembler na kod maszynowy i łczony z funkcjami bibliotecznymi 11
12 typowa kompilacja [Aho2002] 12
13 fazy kompilatora [Aho2002] 13
14 fazy kompilatora analiza programu ródłowego generacja kodu poredniego optymalizacja kodu generacja kodu 14
15 analiza programu ródłowego obejmuje trzy fazy: analiz leksykaln (liniow, skanowanie): strumie znaków grupowany w symbole leksykalne (cigi znaków majce znaczenie) analiz składniow (hierarchiczna, syntaktyczna): symbole leksykalne grupowane w wyraenia gramatyczne (drzewa wyprowadzenia) analiz semantyczn: testy dopasowania składników programu co do znaczenia 15
16 analiza programu ródłowego analiza programu ródłowego ma na celu wykrycie błdów w programie ródłowym słu do tego pierwsze trzy fazy kompilatora, wymienione przed chwil po analizie programu ródłowego, nastpuje zazwyczaj faza generacji kodu poredniego 16
17 translacja instrukcji (1) [Aho2002] 17
18 generacja kodu poredniego kod poredni jest to reprezentacja porednia kodu ródłowego, widziana jako program dla pewnej maszyny abstrakcyjnej reprezentacj t daje si łatwo utworzy i przetłumaczy na program wynikowy 18
19 generacja kodu poredniego najprostszy algorytm generuje kod poredni, stosujc jeden rozkaz na kady operator w drzewie składniowym [Aho2002] 19
20 generacja kodu poredniego kod poredni moe mie posta kodu trójadresowego kod trójadresowy to sekwencja rozkazów, z których kady ma co najwyej trzy argumenty 20
21 generacja kodu poredniego własnoci kodu trójadresowego: kady rozkaz oprócz przypisania moe mie co najwyej jeden operator, dlatego kompilator musi ustali kolejno operacji kompilator musi wygenerowa tymczasowe identyfikatory do zapisu wartoci porednich rozkaz moe mie mniej ni trzy argumenty 21
22 generacja kodu poredniego przykład kodu trójadresowego [Aho2002]: 22
23 optymalizacja kodu w fazie tej poprawiamy kod poredni aby stworzy działajcy szybciej kod maszynowy stosuje si tu dwie zasady: konwersja z wartoci całkowitej liczby (np. 60) do rzeczywistej jest wykonana jednorazowo w czasie kompilacji zmienna uywana jednokrotnie w przypisaniu (np. temp3) moe by usunita 23
24 optymalizacja kodu [Aho2002] z postaci: na posta: 24
25 optymalizacja kodu w metodach optymalizacji kodu s due rónice w kompilatorach optymalizujcych, znaczna cz czasu kompilacji powicona jest optymalizacji kodu istniej jednak proste metody optymalizacji, niewiele wydłuajce czas optymalizacji 25
26 generacja kodu ostatni faz kompilacji jest generacja kodu jest to przemieszczalny kod maszynowy albo kod asemblera 26
27 generacja kodu [Aho2002] z postaci: na posta: 27
28 generacja kodu w rozkazach tych wystpuj dwa rejestry R1 i R2 pierwszy argument tych rozkazów to ródło, a drugi to przeznaczenie F w nazwie rozkazu oznacza operacje na wartociach zmiennopozycyjnych znak # oznacza, e 60.0 to stała 28
29 translacja instrukcji (2) [Aho2002] 29
30 optymalizacja kodu byłoby idealnie, gdyby kompilator wytwarzał kod wynikowy tak dobry, jakby był pisany rcznie ale tak nie jest, kompilator moe jedynie optymalizowa kod w trzech kierunkach: aby działał on szybciej, albo aby zajmował mniej miejsca, albo jedno i drugie 30
31 optymalizacja kodu kompilatory optymalizujce = poprawiajce kod optymalizacje niezalene od maszyny (nie uwzgldniajce właciwoci maszyny docelowej), na tym si koncentrujemy 31
32 optymalizacja kodu optymalizacje zalene od maszyny (uwzgldniajce właciwoci maszyny docelowej), to np. alokacja rejestrów i stosowanie specjalnych sekwencji instrukcji maszyny tym zajmiemy si póniej 32
33 optymalizacja kodu maksymalny efekt uzyskuje si, gdy poprawia si efektywno czsto wykonywanych fragmentów programu czsto zachodzi sytuacja, e mały fragment programu jest odpowiedzialny za istotn cz czasu wykonania programu takie fragmenty naley zidentyfikowa 33
34 optymalizacja kodu nie jest to trywialne zadanie, kompilator musi to odgadn (nie majc dostpu do przykładowych danych i programu profilujcego) dobrym fragmentem do poprawienia jest wewntrzna ptla w programie, mona j rozpozna po składni programu albo w wyniku analizy przepływu sterowania 34
35 optymalizacja kodu aby stworzy wydajny program wynikowy, musi istnie współpraca programisty i autora kompilatora opiszemy teraz przekształcenia kodu, poprawiajce wydajno programu obowizuje zasada: najwiksze zyski najmniejszym kosztem 35
36 kryteria stosowania przekształce poprawiajcych kod cechy przekształce obsługiwanych przez kompilator optymalizujcy: przekształcenie powinno zachowa znaczenie programu przekształcenie powinno przyspiesza program przekształcenie musi si opłaca 36
37 zachowanie znaczenia programu przekształcenie nie moe zmienia wyjcia programu dla danego wejcia przekształcenie nie moe wprowadza błdu, tam gdzie go nie było - np. dzielenia przez zero zawsze preferowany jest wybór bezpiecznego podejcia 37
38 przyspieszenie programu dla redniego przypadku nastpuje wymierne przyspieszenie zmniejszenie objtoci generowanego kodu nie dla kadych danych jest przyspieszenie, moe te wystpi spowolnienie 38
39 opłacalno nie ma sensu poprawianie kodu, jeeli wysiłek ten nie jest doceniony podczas wykonywania programu wynikowego nie ma sensu poprawianie kodu, jeeli dany program zostanie uruchomiony jedynie kilka razy 39
40 uzyskiwanie lepszej wydajnoci zmniejszenie czasu wykonania programu z godzin do sekund uzyskuje si poprawiajc program na wszystkich poziomach, od programu ródłowego do kodu wynikowego zmiana algorytmu moe przyspieszy czas wykonania programu wielokrotnie, i to w zalenoci od wielkoci danych (przejcie z programu insertion sort na quicksort) 40
41 uzyskiwanie lepszej wydajnoci kompilator moe zastpi sekwencj operacji inn sekwencj algebraicznie równowan, zmniejszajc czas wykonania programu, szczególnie w programach w jzykach wysokiego poziomu 41
42 uzyskiwanie lepszej wydajnoci [Aho2002] 42
43 kod do dowiadczequicksort [Sedgewick1978], [Aho2002] 43
44 uzyskiwanie lepszej wydajnoci pewnych przekształce poprawiajcych kod nie da si zastosowa na poziomie programu ródłowego mona je jednak wykona na poziomie kodu poredniego programista nie powinien zastpowa kompilatora we wprowadzaniu poprawek do kodu wynikowego 44
45 struktura kompilatora optymalizujcego 45
46 struktura kompilatora optymalizujcego pokaemy przekształcenie kodu poredniego faza poprawiania tego kodu obejmuje: analiz przepływu sterowania, analiz przepływu danych, przekształcenia zakładamy, e kod poredni składa si z instrukcji trójadresowych 46
47 zalety struktury kompilatora optymalizujcego operacje do implementacji konstrukcji wysokiego poziomu s jawne, mona je wic optymalizowa kod poredni jest wzgldnie niezaleny od maszyny docelowej, std niewiele si zmienia, gdy generator kodu dotyczy ju innej maszyny 47
48 kod trójadresowy dla programu quicksort [Aho2002] 48
49 graf przepływu dla programu quicksort [Aho2002] 49
50 graf przepływu dla programu quicksort wszystkie skoki do instrukcji w kodzie trójadresowym zastpiono skokami do bloków, zaczynajcych si od tych instrukcji graf zawiera trzy ptle: B2, B3 oraz B2,B3,B4, B5 50
51 podstawowe ródła optymalizacji przekształcenia poprawiajce kod: przekształcenie lokalne to takie, które wykonuje si rozpatrujc jedynie instrukcje z jednego bloku bazowego przekształcenie globalne to takie, które wykonuje si rozpatrujc instrukcje z wielu bloków bazowych przekształcenia lokalne wykonuje si jako pierwsze 51
52 przekształcenia zachowujce funkcj kompilator zmienia program, nie zmieniajc jego funkcji: usuwanie podwyrae wspólnych propagacja kopii usuwanie kodu martwego zwijanie stałych 52
53 usuwanie podwyrae wspólnych wystpienie wyraenia E jest nazywane podwyraeniem wspólnym, jeeli E było wczeniej obliczone i wartoci zmiennych z E nie zmieniły si po poprzednim obliczeniu unikamy ponownego wyliczenia, mogc uy obliczonej ju wartoci 53
54 lokalne usuwanie podwyrae wspólnych [Aho2002] t6 zamiast t7, t8 zamiast t10 54
55 globalne usuwanie podwyrae wspólnych lokalna i globalna eliminacja podwyrae wspólnych bloków B5 i B6 w grafie przepływu dla programu quicksort obliczenie t4 := 4*tj z bloku B3 mona wykorzysta w bloku B5 podstawiajc: t9 := a[t4]; oraz a[t4] := x, zamiast t8 := 4*tj; t9 := a[t8]; a[t8] := x 55
56 globalne usuwanie podwyrae wspólnych [Aho2002] 56
57 propagacja kopii blok B5 z ostatniego grafu mona poprawi, usuwajc x przy pomocy przekształcenia nazywanego propagacj kopii dotyczy ono przypisaf : = g, zwanych instrukcjami kopiowania lub kopiami kopie te wprowadza przekształcenie usuwania podwyrae wspólnych 57
58 propagacja kopii [Aho2002] gdy podwyraenie wspólne w c:= d + e jest usuwane, algorytm uywa zmiennej t do przechowania wartoci d + e nie moemy jednak zastpic := d + e ani przez c := a, ani przez c := b 58
59 propagacja kopii [Aho2002] propagacja kopii polega na uywaniu g zamiast f po instrukcji f := g na przykład, przypisanie x := t3 w bloku B5 jest kopi dokonujc propagacji kopii otrzymujemy: 59
60 usuwanie kodu martwego zmienna, której warto nie moe by uyta w danym punkcie programu jest martwa analogicznie rozumiemy kod martwy, jako instrukcje wyliczajce wartoci, które nigdy nie zostan wykorzystane 60
61 usuwanie kodu martwego wynikiem propagacji kopii czsto jest to, e instrukcje kopiowania s przekształcane w kod martwy propagacja kopii, a nastpnie eliminacja kodu martwego usuwa przypisanie do x i pozostawia w bloku B5 kod: 61
62 usuwanie kodu martwego podobnie, stwierdzenia podczas kompilacji, e warto wyraenia jest stała, pozwala zastpi wyraenie przez stał nazywa si to zwijaniem (do) stałych 62
63 optymalizacje ptli czas działania programu mona zmniejszy, jeeli zmniejszy si liczb instrukcji w ptli wewntrznej, nawet zwikszajc kod na zewntrz ptli ptle s rozpatrywane od wewntrznych do zewntrznych 63
64 optymalizacje ptli techniki optymalizacji ptli: przemieszczenie kodu eliminacja zmiennych indukcyjnych redukcja mocy 64
65 przemieszczenie kodu przekształcenie to pobiera wyraenie, zwracajce tak sam warto, niezalenie od iloci wykona ptli, i umieszcza je przed ptl obliczenie niezmiennicze, ze wzgldu na ptle 65
66 przemieszczenie kodu wynikiem przemieszczenia kodu jest: 66
67 eliminacja zmiennych indukcyjnych jeeli warto jednej zmiennej pozostaje w okrelonej relacji z wartoci drugiej zmiennej, to s to zmienne indukcyjne w bloku B3 jeeli warto zmiennej j zmniejsza si o 1, to warto zmiennej t4 zmniejsza si o 4 jeeli w ptli s dwie zmienne indukcyjne lub wicej, mona usun wszystkie oprócz jednej 67
68 eliminacja zmiennych indukcyjnych jeeli w ptli s dwie zmienne indukcyjne lub wicej, mona usun wszystkie oprócz jednej moemy zastpit4 := 4*j przez t4 := t4-4 zalenot4 := 4*j musi by spełniona przy wejciu do B3, std rozszerzenie B1 68
69 eliminacja zmiennych indukcyjnych eliminacja zmiennych indukcyjnych skutkuje tzw. redukcj mocy tutaj zastosowano redukcj mocy do 4*j w bloku B3 69
70 redukcja mocy 70
71 redukcja mocy po zastosowaniu redukcji mocy do ptli wokół bloków B2 i B3, i i j słu jedynie do testu w bloku B4 poniewat2 = 4*i, a t4 = 4*j, std test t2 >= t4 to to samo co i >= j wtedy i w bloku B2 i j w bloku B3 s martwe i przypisania do nich mona usun 71
72 graf przepływu po usuniciu zmiennych indukcyjnych 72
73 graf przepływu po usuniciu zmiennych indukcyjnych liczba instrukcji w blokach B2 i B3 zmniejszyła si z 4 do 3, w bloku B5 z 9 do 5, w bloku B6 z 8 do 3 liczba instrukcji w bloku B4 pozostała taka sama (1) bloki B2, B3, B4 i B5 to ptla zewntrzna liczba instrukcji w bloku B1 wzrosła z 4 do 6 (wykonane tylko raz) 73
74 uwagi kocowe na koniec przypomnimy rady dotyczce zwikszenia wydajnoci programu, podane w pracy [Kernigham1999]: zlokalizuj w programie wskie gardła (na przykład dlaczego program wykrywajcy spam nie radzi sobie z analiz przychodzcej poczty) 74
75 uwagi kocowe dalsze rady [Kernigham1999]: zanim przyspieszysz program, pomierz jego czas wykonania i uyj profilatora wykonaj pomiary czasu i profilowanie programu (automatyzuj pomiary czasu, korzystaj z profilatorów, skoncentruj si na gorcych miejscach - popraw algorytm realizujcy funkcj albo napisz nowy program, narysuj obrazek pokazujcy wykres wpływu zmian na przyspieszenie programu) 75
76 uwagi kocowe dalsze rady [Kernigham1999]: uyj lepszego algorytmu lub innej struktury danych włcz optymalizowanie przez kompilator nie optymalizuj tego, co bez znaczenia 76
77 uwagi kocowe dalsze rady [Kernigham1999]: dostrój kod (gromad wspólne podwyraenia, kosztowne operacje zastp taszymi, rozwijaj lub usuwaj ptle, czsto uywane wartoci przechowuj w pamici podrcznej, napisz specjaln funkcj przydzielania pamici, uywaj buforowanego wejcia i wyjcia, specjalne przypadki obsługuj oddzielnie, korzystaj z wczeniej obliczonych wyników, uywaj wartoci przyblionych, napisz fragment od nowa w jzyku niszego poziomu) 77
78 uwagi kocowe dalsze rady [Kernigham1999]: oszczdzaj pami (uywaj jak najmniejszych typów danych, nie odsyłaj do pamici tego co mona łatwo ponownie obliczy) oszacuj czas poszczególnych instrukcji jzyka albo rozkazów maszyny, stwórz model kosztów dla jzyka lub systemu 78
Optymalizacja oprogramowania - wprowadzenie
Optymalizacja oprogramowania - wprowadzenie Poznaskie Centrum Superkomputerowo Sieciowe Projekt jest współfinansowany ze rodków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego
Bardziej szczegółowoMetody Kompilacji Wykład 1 Wstęp
Metody Kompilacji Wykład 1 Wstęp Literatura: Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman: Compilers: Princiles, Techniques, and Tools. Addison-Wesley 1986, ISBN 0-201-10088-6 Literatura: Alfred V. Aho,
Bardziej szczegółowoWprowadzenie do kompilatorów
Wprowadzenie do kompilatorów Czy ja kiedykolwiek napisz jaki kompilator? Jakie zadania ma do wykonania kompilator? Czy jzyk formalny to rodzaj jzyka programowania? Co to jest UML?, Czy ja kiedykolwiek
Bardziej szczegółowoProces tworzenia programu:
Temat 1 Pojcia: algorytm, program, kompilacja i wykonanie programu. Proste typy danych i deklaracja zmiennych typu prostego. Instrukcja przypisania. Operacje wejcia/wyjcia. Przykłady prostych programów
Bardziej szczegółowoGramatyki regularne i automaty skoczone
Gramatyki regularne i automaty skoczone Alfabet, jzyk, gramatyka - podstawowe pojcia Co to jest gramatyka regularna, co to jest automat skoczony? Gramatyka regularna Gramatyka bezkontekstowa Translacja
Bardziej szczegółowoPOZNA SUPERCOMPUTING AND NETWORKING. Zwikszanie efektywnoci programów optymalizacja pamici cz2
Zwikszanie efektywnoci programów optymalizacja pamici cz2 literatura podstawowa [Aho2002] Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman, Kompilatory. Reguły, metody i narzdzia, WNT 2002 (tłum. pierwszego
Bardziej szczegółowoKONSTRUKCJA KOMPILATORÓW
KONSTRUKCJA KOMPILATORÓW WYKŁAD Robert Plebaniak PLATFORMA PROGRAMOWA LINUX (może nie zawierać LLgen, wówczas instalacja ze strony http://tack.sourceforge.net); WINDOWS (używa się wtedy programu Cygwin,
Bardziej szczegółowoProgramowanie Obiektowe
Programowanie Obiektowe dr in. Piotr Zabawa IBM/Rational Certified Consultant pzabawa@pk.edu.pl WYKŁAD 1 Wstp, jzyki, obiektowo Cele wykładu Zaznajomienie słuchaczy z głównymi cechami obiektowoci Przedstawienie
Bardziej szczegółowoProgramowanie C# mgr in. Dariusz Ku. p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus
Programowanie C# mgr in. Dariusz Ku p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus Translacja kodu Kod ródłowy Java, C# Kompilator Kompilator Kod poredni Interpreter Maszyna wirtualna
Bardziej szczegółowoBazy danych. Plan wykładu. Przetwarzanie zapyta. Etapy przetwarzania zapytania. Wykład 12: Optymalizacja zapyta. Etapy przetwarzanie zapytania
Plan wykładu Bazy danych Wykład 12: Optymalizacja zapyta Etapy przetwarzanie zapytania Implementacja wyrae algebry relacji Reguły heurystyczne optymalizacji zapyta Kosztowa optymalizacja zapyta Małgorzata
Bardziej szczegółowoPodstawy programowania.
Kod przedmiotu: PPR Podstawy programowania. Rodzaj przedmiotu: kierunkowy; obowiązkowy Wydział: Informatyki Kierunek: Informatyka Specjalność (specjalizacja): - Poziom studiów: pierwszego stopnia Profil
Bardziej szczegółowoTranslacja 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ółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Stany równoważne Stany p i q są równoważne,
Bardziej szczegółowoPlan wykładu. Kompilatory. Literatura. Translatory. Literatura Translatory. Paweł J. Matuszyk
Plan wykładu (1) Paweł J. Matuszyk AGH Kraków 1 2 tor leksykalny tor syntaktyczny Generator pośredniego Generator wynikowego Hopcroft J. E., Ullman J. D., Wprowadzenie do teorii automatów, języków i obliczeń,
Bardziej szczegółowoBazy danych Podstawy teoretyczne
Pojcia podstawowe Baza Danych jest to zbiór danych o okrelonej strukturze zapisany w nieulotnej pamici, mogcy zaspokoi potrzeby wielu u!ytkowników korzystajcych z niego w sposóbs selektywny w dogodnym
Bardziej szczegółowo.! $ Stos jest list z trzema operacjami: dodawanie elementów na wierzch stosu, zdejmowanie elementu z wierzchu stosu, sprawdzanie czy stos jest pusty.
!"! " #$%& '()#$$ &%$! #$ %$ &%$& &$&! %&'" )$$! *$$&%$! +,- +-.! $ Celem wiczenia jest zapoznanie studenta ze strukturami: lista, stos, drzewo oraz ich implementacja w jzyku ANSI C. Zrozumienie działania
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ółowoPodstawy Informatyki Języki programowania c.d.
Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy 2 Makroasembler - założenia Przykład
Bardziej szczegół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ół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ół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ółowo1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza
165 1) Grafy eulerowskie własnoci algorytmy 2) Problem chiskiego listonosza 166 Grafy eulerowskie Def. Graf (multigraf, niekoniecznie spójny) jest grafem eulerowskim, jeli zawiera cykl zawierajcy wszystkie
Bardziej szczegółowoLekcja 9 - LICZBY LOSOWE, ZMIENNE
Lekcja 9 - LICZBY LOSOWE, ZMIENNE I STAŠE 1 Liczby losowe Czasami spotkamy si z tak sytuacj,»e b dziemy potrzebowa by program za nas wylosowaª jak ± liczb. U»yjemy do tego polecenia: - liczba losowa Sprawd¹my
Bardziej szczegółowoSposoby przekazywania parametrów w metodach.
Temat: Definiowanie i wywoływanie metod. Zmienne lokalne w metodach. Sposoby przekazywania parametrów w metodach. Pojcia klasy i obiektu wprowadzenie. 1. Definiowanie i wywoływanie metod W dotychczas omawianych
Bardziej szczegółowoBazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.
Plan wykładu azy danych Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych. Dokoczenie SQL Zalenoci wielowartociowe zwarta posta normalna Dekompozycja do 4NF Przykład sprowadzanie do
Bardziej szczegółowoInstrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada
Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada Spis treści 1 Wprowadzenie 1 2 Dane i kod 2 3 Wyrażenia 2 3.1 Operacje arytmetyczne i logiczne.................. 2 3.2 Podstawowe
Bardziej szczegółowoTemat: Problem najkrótszych cieek w grafach waonych, cz. I: Algorytmy typu label - setting.
Temat: Problem najkrótszych cieek w grafach waonych, cz. I: Algorytmy typu label - setting.. Oznaczenia i załoenia Oznaczenia G = - graf skierowany z funkcj wagi s wierzchołek ródłowy t wierzchołek
Bardziej szczegółowoProjektowanie algorytmów rekurencyjnych
C9 Projektowanie algorytmów rekurencyjnych wiczenie 1. Przeanalizowa działanie poniszego algorytmu dla parametru wejciowego n = 4 (rysunek 9.1): n i i
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ółowo1. Wprowadzenie do C/C++
Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub
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ółowoPo uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
Bardziej szczegółowoPodstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Bardziej szczegółowo1. Wprowadzenie do C/C++
Podstawy Programowania :: Roman Grundkiewicz :: 014 Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub
Bardziej szczegółowoSzukanie najkrótszych dróg z jednym ródłem
Szukanie najkrótszych dróg z jednym ródłem Algorytm Dijkstry Załoenia: dany jest spójny graf prosty G z wagami na krawdziach waga w(e) dla kadej krawdzi e jest nieujemna dany jest wyróniony wierzchołek
Bardziej szczegółowoMultipro GbE. Testy RFC2544. Wszystko na jednej platformie
Multipro GbE Testy RFC2544 Wszystko na jednej platformie Interlab Sp z o.o, ul.kosiarzy 37 paw.20, 02-953 Warszawa tel: (022) 840-81-70; fax: 022 651 83 71; mail: interlab@interlab.pl www.interlab.pl Wprowadzenie
Bardziej szczegółowoKlonowanie MAC adresu oraz TTL
1. Co to jest MAC adres? Klonowanie MAC adresu oraz TTL Adres MAC (Media Access Control) to unikalny adres (numer seryjny) kadego urzdzenia sieciowego (jak np. karta sieciowa). Kady MAC adres ma długo
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ółowoProgram do konwersji obrazu na cig zero-jedynkowy
Łukasz Wany Program do konwersji obrazu na cig zero-jedynkowy Wstp Budujc sie neuronow do kompresji znaków, na samym pocztku zmierzylimy si z problemem przygotowywania danych do nauki sieci. Przyjlimy,
Bardziej szczegółowoBazy danych. Plan wykładu. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania A B
Plan wykładu Bazy danych Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania Definicja zalenoci funkcyjnych Klucze relacji Reguły dotyczce zalenoci funkcyjnych Domknicie zbioru atrybutów
Bardziej szczegółowoWstp. Warto przepływu to
177 Maksymalny przepływ Załoenia: sie przepływow (np. przepływ cieczy, prdu, danych w sieci itp.) bdziemy modelowa za pomoc grafów skierowanych łuki grafu odpowiadaj kanałom wierzchołki to miejsca połcze
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ółowoElż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ółowoANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15
ANALIZA NUMERYCZNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Metoda Eulera 3 1.1 zagadnienia brzegowe....................... 3 1.2 Zastosowanie ró»niczki...................... 4 1.3 Output do pliku
Bardziej szczegółowo1. Klasa typu sealed. Przykład 1. sealed class Standard{ class NowyStandard:Standard{ // błd!!!
Temat: Klasy typu sealed. Klasy abstrakcyjne. Deklaracja i implementacja interfejsu. Typ Object i operatory is oraz as. Czas ycia obiektu. Destruktory. 1. Klasa typu sealed Przykład 1 Klasa typu sealed
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ółowoPodstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Bardziej szczegółowoPOZNAŃ SUPERCOMPUTING AND NETWORKING. Zwiększanie efektywności programów optymalizacja pamięci część 1
Zwiększanie efektywności programów optymalizacja pamięci część 1 literatura podstawowa [Aho2002] Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman, Kompilatory. Reguły, metody i narzędzia, WNT 2002 (tłum. pierwszego
Bardziej szczegółowoPrzyczyny dwustopniowego tłumaczenia
Generacja kodu pośredniego Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Przyczyny dwustopniowego tłumaczenia Łatwość generowania kompilatorów tego samego języka dla róŝnych platform systemowo-sprzętowych
Bardziej szczegółowoLekcja 9 Liczby losowe, zmienne, staªe
Lekcja 9 Liczby losowe, zmienne, staªe Akademia im. Jana Dªugosza w Cz stochowie Liczby losowe Czasami potrzebujemy by program za nas wylosowaª liczb. U»yjemy do tego polecenia liczba losowa: Liczby losowe
Bardziej szczegółowoWstęp do programowania. Wykład 1
Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.
Bardziej szczegółowoNAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA:
NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA: Podstawy programowania Kod przedmiotu: GS_13 Rodzaj przedmiotu: kierunkowy Wydział: Informatyki Kierunek: Grafika Poziom studiów: pierwszego stopnia VI poziom PRK Profil
Bardziej szczegółowoTemat 1: Podstawowe pojęcia: program, kompilacja, kod
Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,
Bardziej szczegółowoZasady doboru zaworów regulacyjnych przelotowych - powtórka
Trójdrogowe zawory regulacyjne Wykład 5 Zasady doboru zaworów regulacyjnych przelotowych - powtórka Podstaw do doboru rednicy nominalnej zaworu regulacyjnego jest obliczenie współczynnika przepływu Kvs
Bardziej szczegółowoWidoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?
Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz
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ółowoMikrokontroler ATmega32. Tryby adresowania Rejestry funkcyjne
Mikrokontroler ATmega32 Tryby adresowania Rejestry funkcyjne 1 Rozrónia si dwa główne tryby: adresowanie bezporednie i porednie (jeli jeden z argumentów jest stał, ma miejsce take adresowanie natychmiastowe)
Bardziej szczegółowoWprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty. Literatura
Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty Dr inŝ. Janusz Majewski Katedra Informatyki Literatura Aho A. V., Sethi R., Ullman J. D.: Compilers. Principles, Techniques
Bardziej szczegółowostopie szaro ci piksela ( x, y)
I. Wstp. Jednym z podstawowych zada analizy obrazu jest segmentacja. Jest to podział obrazu na obszary spełniajce pewne kryterium jednorodnoci. Jedn z najprostszych metod segmentacji obrazu jest progowanie.
Bardziej szczegółowoPRZYDZIAŁ PAMIĘCI OPERACYJNEJ
PRZYDZIAŁ PAMIĘCI OPERACYJNEJ dr inż. Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Wstęp Pamięć komputera wielka tablica słów (bajtów)
Bardziej szczegółowoWYKŁAD 9. Wzorce projektowe czynnociowe Observer Visitor
WYKŁAD 9 Wzorce projektowe czynnociowe Observer Visitor Behavioral Design Pattern: Observer [obj] Okrela relacj jeden-do-wielu midzy obiektami. Gdy jeden z obiektów zmienia stan, wszystkie obiekty zalene
Bardziej szczegółowoOpera 9.10. Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Opera 9.10. wersja 1.1 UNIZETO TECHNOLOGIES SA
Opera 9.10 Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Opera 9.10 wersja 1.1 Spis treci 1. INSTALACJA WŁASNEGO CERTYFIKATU Z PLIKU *.PFX... 3 2. WYKONYWANIE KOPII BEZPIECZESTWA WŁASNEGO
Bardziej szczegółowoPrzekształcenia widmowe Transformata Fouriera. Adam Wojciechowski
Przekształcenia widmowe Transformata Fouriera Adam Wojciechowski Przekształcenia widmowe Odmiana przekształceń kontekstowych, w których kontekstem jest w zasadzie cały obraz. Za pomocą transformaty Fouriera
Bardziej szczegółowoPrzedmiot : Programowanie w języku wewnętrznym. Ćwiczenie nr 4
Przedmiot : Programowanie w języku wewnętrznym Ćwiczenie nr 4 str. 1. 1. Użycie Asemblera. Polecenie JMP. Polecenie nakazuje procesorowi wykonywanie kodu programu od nowego innego miejsca. Miejsce to jest
Bardziej szczegółowoGeneracja kodu docelowego
Generacja kodu docelowego Zagadnienia związane z generacją kodu Język wejściowy i wynikowy Zarządzanie pamięcią (adresacja) Wybór rozkazów maszynowych (koszty rozkazów) Przydział i wyznaczanie rejestrów
Bardziej szczegółowoKompilacja image z CVS
Kompilacja image z CVS Tworzenie image na Dreamboxa nie jest tajemnic, a opis czynnoci, jakie naley wykona, aby stworzy własny soft mona znale na wikszoci niemieckich stron traktujcych o Dreamboxach. Kto
Bardziej szczegółowoInformacje pomocnicze
Funkcje wymierne. Równania i nierówno±ci wymierne Denicja. (uªamki proste) Wyra»enia postaci Informacje pomocnicze A gdzie A d e R n N (dx e) n nazywamy uªamkami prostymi pierwszego rodzaju. Wyra»enia
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ółowoGramatyki atrybutywne
Gramatyki atrybutywne, część 1 (gramatyki S-atrybutywne Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyki atrybutywne Do przeprowadzenia poprawnego tłumaczenia, oprócz informacji
Bardziej szczegółowoPODSTAWY PROGRAMOWANIA STRUKTURALNEGO (C) SYLABUS A. Informacje ogólne
PODSTAWY PROGRAMOWANIA STRUKTURALNEGO (C) SYLABUS A. Informacje ogólne Elementy składowe sylabusu Nazwa jednostki prowadzącej kierunek Nazwa kierunku studiów Poziom kształcenia Profil studiów Forma studiów
Bardziej szczegółowoLaboratorium elektryczne. Falowniki i przekształtniki - I (E 14)
POLITECHNIKA LSKA WYDZIAŁINYNIERII RODOWISKA I ENERGETYKI INSTYTUT MASZYN I URZDZE ENERGETYCZNYCH Laboratorium elektryczne Falowniki i przekształtniki - I (E 14) Opracował: mgr in. Janusz MDRYCH Zatwierdził:
Bardziej szczegółowoWprowadzenie do algorytmów. START
1 / 15 ALGORYMIKA 2 / 15 ALGORYMIKA Wprowadzenie do algorytmów. SAR 1. Podstawowe okrelenia. Algorytmika dział informatyki, zajmujcy si rónymi aspektami tworzenia i analizowania algorytmów. we: a,b,c delta:=b
Bardziej szczegółowoBash i algorytmy. Elwira Wachowicz. 20 lutego
Bash i algorytmy Elwira Wachowicz elwira@ifd.uni.wroc.pl 20 lutego 2012 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 1 / 16 Inne przydatne polecenia Polecenie Dziaªanie Przykªad
Bardziej szczegółowoTablice (jedno i wielowymiarowe), łańcuchy znaków
Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie
Bardziej szczegółowoMETODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Bardziej szczegół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ółowoSzablony funkcji i szablony klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoRównowano modeli oblicze
Równowano modeli oblicze Interpretacja rachunku 1 2 Twierdzenie Gödla o pełnoci Interpretacja jzyka FOL W 1931 K. Gödel udowodnił, e Jeeli formuła jest prawdziwa, to istnieje dowód tej formuły. Problem
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ółowoBazy danych. Plan wykładu. Definicja zalenoci funkcyjnych. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne.
Plan wykładu Bazy danych Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - funkcje Deficja zalenoci funkcyjnych Klucze relacji Reguły dotyczce zalenoci funkcyjnych Domknicie zbioru atrybutów
Bardziej szczegółowo{Opracowała Małgorzata Roguska} Tematy lekcji:
Pascal {Opracowała Małgorzata Roguska} Tematy lekcji: c) Ogólne omówienie Pascala, d) rodowisko Borland Pascala 7.0 (BP 7.0), e) Struktura programu w Pascalu, a. identyfikatory b. słowa kluczowe c. literały
Bardziej szczegółowoSYLABUS DOTYCZY CYKLU KSZTAŁCENIA Bieżący sylabus w semestrze zimowym roku 2016/17
Załącznik nr 4 do Uchwały Senatu nr 430/01/2015 SYLABUS DOTYCZY CYKLU KSZTAŁCENIA 2016-2018 Bieżący sylabus w semestrze zimowym roku 2016/17 1.1. PODSTAWOWE INFORMACJE O PRZEDMIOCIE/MODULE Nazwa przedmiotu/
Bardziej szczegółowoWstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra
Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2015 Co można zrobić z układem równań... tak, aby jego rozwiazania się nie zmieniły? Rozważam
Bardziej szczegółowoEkonometria. wiczenia 1 Regresja liniowa i MNK. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej
Ekonometria wiczenia 1 Regresja liniowa i MNK (1) Ekonometria 1 / 25 Plan wicze«1 Ekonometria czyli...? 2 Obja±niamy ceny wina 3 Zadania z podr cznika (1) Ekonometria 2 / 25 Plan prezentacji 1 Ekonometria
Bardziej szczegółowoInstrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.
Bardziej szczegółowoW przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby
Część XI C++ W folderze nazwisko36 program za każdym razem sprawdza oba warunki co niepotrzebnie obciąża procesor. Ten problem można rozwiązać stosując instrukcje if...else Instrukcja if wykonuje polecenie
Bardziej szczegółowo7. Pętle for. Przykłady
. Pętle for Przykłady.1. Bez użycia pętli while ani rekurencji, napisz program, który wypisze na ekran kolejne liczby naturalne od 0 do pewnego danego n. 5 int n; 6 cin >> n; 8 for (int i = 0; i
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 6 RSC i CSC Znaczenie terminów CSC Complete nstruction Set Computer komputer o pełnej liście rozkazów. RSC Reduced nstruction Set Computer komputer o zredukowanej liście
Bardziej szczegółowoDefinicje. 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ółowoPlanowanie adresacji IP dla przedsibiorstwa.
Planowanie adresacji IP dla przedsibiorstwa. Wstp Przy podejciu do planowania adresacji IP moemy spotka si z 2 głównymi przypadkami: planowanie za pomoc adresów sieci prywatnej przypadek, w którym jeeli
Bardziej szczegółowoModelowanie procesów współbieżnych
Modelowanie procesów współbieżnych dr inż. Maciej Piotrowicz Katedra Mikroelektroniki i Technik Informatycznych PŁ piotrowi@dmcs.p.lodz.pl http://fiona.dmcs.pl/~piotrowi -> Modelowanie... Literatura M.
Bardziej szczegółowoTemat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury.
Temat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury. Algorytm zachłanny ( ang. greedy algorithm) wykonuje zawsze działanie, które wydaje si w danej chwili
Bardziej szczegółowoTYPY WARTOCI I FORMAT DANYCH W ARKUSZU KALKULACYJNYM MS EXCEL
Jacek URYGA TYPY WARTOCI I FORMAT DANYCH W ARKUSZU KALKULACYJNYM MS EXCEL Streszczenie Jedn z najczstszych czynnoci wykonywanych przez uytkowników Excela jest wprowadzanie danych i formuł do komórek arkusza.
Bardziej szczegółowoSterowniki Programowalne (SP)
Sterowniki Programowalne (SP) Wybrane aspekty procesu tworzenia oprogramowania dla sterownika PLC Podstawy języka funkcjonalnych schematów blokowych (FBD) Politechnika Gdańska Wydział Elektrotechniki i
Bardziej szczegółowo1 Bª dy i arytmetyka zmiennopozycyjna
1 Bª dy i arytmetyka zmiennopozycyjna Liczby w pami ci komputera przedstawiamy w ukªadzie dwójkowym w postaci zmiennopozycyjnej Oznacza to,»e s one postaci ±m c, 01 m < 1, c min c c max, (1) gdzie m nazywamy
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ółowoMetody Kompilacji Wykład 3
Metody Kompilacji Wykład 3 odbywa się poprzez dołączenie zasad(reguł) lub fragmentów kodu do produkcji w gramatyce. Włodzimierz Bielecki WI ZUT 2 Na przykład, dla produkcji expr -> expr 1 + term możemy
Bardziej szczegółowoWykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.
Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych. Denicja Mówimy,»e funkcja
Bardziej szczegółowoPrzetwarzanie potokowe pipelining
Przetwarzanie potokowe pipelining (część A) Przypomnienie - implementacja jednocyklowa 4 Add Add PC Address memory ister # isters Address ister # ister # memory Wstęp W implementacjach prezentowanych tydzień
Bardziej szczegółowoTwoja instrukcja użytkownika PHILIPS JR32RWDVK http://pl.yourpdfguides.com/dref/1003823
Możesz przeczytać rekomendacje w przewodniku, specyfikacji technicznej lub instrukcji instalacji dla PHILIPS JR32RWDVK. Znajdziesz odpowiedź na wszystkie pytania w instrukcji dla PHILIPS JR32RWDVK (informacje,
Bardziej szczegółowo