Oprogramowanie komputerów wer. 9

Podobne dokumenty
Oprogramowanie komputerów

Architektura mikroprocesorów TEO 2009/2010

Technologie Informacyjne Wykład 2

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

Technologie informacyjne wykład 2 wer. 1.2

Technologie Informacyjne Wykład 3

Procesor i jego architektura (CISC, RISC, 32/64 bity). Systemy wieloprocesorowe. wer Wojciech Myszka 16 pa«zdziernika 2008

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Witold Komorowski: RISC. Witold Komorowski, dr inż.

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

Mój pierwszy program. wer. 3 z drobnymi modyfikacjami! Wojciech Myszka :58:

Przetwarzanie potokowe pipelining

Budowa komputera Komputer computer computare

Architektura komputerów

Podstawy Informatyki Systemy sterowane przepływem argumentów

Projektowanie. Projektowanie mikroprocesorów

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Podstawy Techniki Mikroprocesorowej

Algorytm. a programowanie -

Obliczenia Wysokiej Wydajności

Architektura systemów komputerowych

2.8. Algorytmy, schematy, programy

Architektura mikroprocesorów z rdzeniem ColdFire

Architektura potokowa RISC

, " _/'--- " ~ n\l f.4e ' v. ,,v P-J.. ~ v v lu J. ... j -:;.",II. ,""", ",,> I->~" re. dr. f It41I r> ~ '<Q., M-c 'le...,,e. b,n '" u /.

Wydajność obliczeń a architektura procesorów

Architektura systemów komputerowych. dr Artur Bartoszewski

Budowa Mikrokomputera

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Logiczny model komputera i działanie procesora. Część 1.

Organizacja typowego mikroprocesora

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Wstęp do Informatyki

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

Programowanie Niskopoziomowe

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Architektura systemów komputerowych. Przetwarzanie potokowe I

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

SYSTEM OPERACYJNY. Monika Słomian

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu:

Budowa i zasada działania komputera. dr Artur Bartoszewski

Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53:

16. Taksonomia Flynn'a.

Programowanie i techniki algorytmiczne

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Struktura systemów komputerowych

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

Technologie Informacyjne Mechatronika 2012/2013 Algorytmy. Podstawy programowania

Architektura von Neumanna. Jak zbudowany jest współczesny komputer? Schemat architektury typowego PC-ta. Architektura PC wersja techniczna

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Zadanie 1. Potęgi (14 pkt)

Architektura systemów komputerowych. Konstrukcja i zasada działania mikroprocesora

Algorytmy i struktury danych. Wykład 4

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

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Magistrala systemowa (System Bus)

Architektura komputerów

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Architektura komputerów

System mikroprocesorowy i peryferia. Dariusz Chaberski

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

architektura komputerów w. 4 Realizacja sterowania

System komputerowy. System komputerowy

Mikroprocesory rodziny INTEL 80x86

Programowanie w C++ 1 Opis procesora Sextium II. Opis procesora Sextium. materiały dydaktyczne udostępnione przez Tomasza Wierzbickiego

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Procesory firmy ARM i MIPS

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

Programowanie w Baltie klasa VII

Architektura Systemów Komputerowych. Architektura potokowa Klasyfikacja architektur równoległych

Podstawy technologii informacyjnej. Beata Kuźmińska

Temat 20. Techniki algorytmiczne

Architektura komputerów wer. 7

Paweł Skrobanek. C-3, pok pawel.skrobanek.staff.iiar.pwr.wroc.pl

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Architektura komputerów

Największy wspólny dzielnik Algorytm Euklidesa (także rozszerzony) WZAiP1: Chińskie twierdzenie o resztach

Technologia informacyjna. Urządzenia techniki komputerowej

Wykład 2. Mikrokontrolery z rdzeniami ARM

Metody optymalizacji soft-procesorów NIOS

Architektury komputerów Architektury i wydajność. Tomasz Dziubich

Rekurencja (rekursja)

Zadania do samodzielnego rozwiązania

WHILE (wyrażenie) instrukcja;

Wstęp do Programowania Lista 1

Makropolecenia w Excelu

Informatyka kl. 1. Semestr I

Programowanie mikrokontrolerów AVR

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH. Klasyczny cykl pracy procesora sekwencyjnego. współczesne architektury. c Dr inż.

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

1. Liczby wymierne. x dla x 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba)

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Transkrypt:

Oprogramowanie komputerów wer. 9 Wojciech Myszka, Maciej Panek listopad 2014 r.

Od czego zależy szybkość komputerów?

Od czego zależy szybkość komputerów? 1. Częstość zegara.

Od czego zależy szybkość komputerów? 1. Częstość zegara. 2. Szybkość pamięci.

Od czego zależy szybkość komputerów? 1. Częstość zegara. 2. Szybkość pamięci. 3. Długość słowa:

Od czego zależy szybkość komputerów? 1. Częstość zegara. 2. Szybkość pamięci. 3. Długość słowa: krótkie skowo

Od czego zależy szybkość komputerów? 1. Częstość zegara. 2. Szybkość pamięci. 3. Długość słowa: krótkie skowo prostsza budowa

Od czego zależy szybkość komputerów? 1. Częstość zegara. 2. Szybkość pamięci. 3. Długość słowa: krótkie skowo prostsza budowa szybsze przesyłanie do pamięci

Od czego zależy szybkość komputerów? 1. Częstość zegara. 2. Szybkość pamięci. 3. Długość słowa: krótkie skowo prostsza budowa szybsze przesyłanie do pamięci dłuższe operacja na długich liczbach

Od czego zależy szybkość komputerów? 1. Częstość zegara. 2. Szybkość pamięci. 3. Długość słowa: krótkie skowo prostsza budowa szybsze przesyłanie do pamięci dłuższe operacja na długich liczbach długie słowo

Od czego zależy szybkość komputerów? 1. Częstość zegara. 2. Szybkość pamięci. 3. Długość słowa: krótkie skowo prostsza budowa szybsze przesyłanie do pamięci dłuższe operacja na długich liczbach długie słowo bardziej złożona budowa

Od czego zależy szybkość komputerów? 1. Częstość zegara. 2. Szybkość pamięci. 3. Długość słowa: krótkie skowo prostsza budowa szybsze przesyłanie do pamięci dłuższe operacja na długich liczbach długie słowo bardziej złożona budowa czasami marnotrawstwo zasobów

Od czego zależy szybkość komputerów? 1. Częstość zegara. 2. Szybkość pamięci. 3. Długość słowa: krótkie skowo prostsza budowa szybsze przesyłanie do pamięci dłuższe operacja na długich liczbach długie słowo bardziej złożona budowa czasami marnotrawstwo zasobów szybkie wykonywanie operacji na długich liczbach

Od czego zależy szybkość komputerów? 1. Częstość zegara. 2. Szybkość pamięci. 3. Długość słowa: krótkie skowo prostsza budowa szybsze przesyłanie do pamięci dłuższe operacja na długich liczbach długie słowo bardziej złożona budowa czasami marnotrawstwo zasobów szybkie wykonywanie operacji na długich liczbach 4. Wewnętrzna konstrukcja komputera

Od czego zależy szybkość komputerów? 1. Częstość zegara. 2. Szybkość pamięci. 3. Długość słowa: krótkie skowo prostsza budowa szybsze przesyłanie do pamięci dłuższe operacja na długich liczbach długie słowo bardziej złożona budowa czasami marnotrawstwo zasobów szybkie wykonywanie operacji na długich liczbach 4. Wewnętrzna konstrukcja komputera liczba jednostek arytmetycznych

Od czego zależy szybkość komputerów? 1. Częstość zegara. 2. Szybkość pamięci. 3. Długość słowa: krótkie skowo prostsza budowa szybsze przesyłanie do pamięci dłuższe operacja na długich liczbach długie słowo bardziej złożona budowa czasami marnotrawstwo zasobów szybkie wykonywanie operacji na długich liczbach 4. Wewnętrzna konstrukcja komputera liczba jednostek arytmetycznych sposób wykonywania operacji

Przetwarzanie potokowe Pipeline IF pobieranie instrukcji, ID dekodowanie instrukcji, EX wykonanie, MEM zapis wyników (cache), WB zapis do pamięci

Przetwarzanie potokowe Pipeline IF pobieranie instrukcji, ID dekodowanie instrukcji, EX wykonanie, MEM zapis wyników (cache), WB zapis do pamięci

IF pobieranie instrukcji, ID dekodowanie instrukcji, EX wykonanie, MEM zapis wyników (cache), WB zapis do pamięci Przetwarzanie potokowe Pipeline + dwa procesory

Od czego zależy jeszcze szybkość? Procesory wektorowe 1. Procesor wektorowy (tablicowy) to CPU skonstruowane w taki sposób, że zawiera polecenia wykonania operacji matematycznej na wielu elementach danych (w przeciwieństwie do procesora skalarnego). 2. SIMD Single Instruction, Multiple Data 3. Podstawa superkomputerów z lat 80 i 90. 4. W roku 2000 IBM, Toshiba i Sony współpracowały nad stworzeniem procesora Cell zawierającego jeden procesor skalarny (odwrotność procesora wektorowego) i osiem procesorów wektorowych, który znalazł zastosowanie (między innymi) w PlayStation 3.

Od czego zależy jeszcze szybkość? cd. 1. Wieloprogramowość wiele programów może być uruchomionych jednocześnie, instrukcje nie są wykonywane równolegle. 2. Wielowątkowość gdy jeden z wątków pozostawia niewykorzystane zasoby, proces przypisany do drugiego wątku może ich użyć. 3. Wielordzeniowość wiele instrukcji wykonywanych jest jednocześnie. Przykłady: AMD, x86, M68000

Różne akronimy Architektura procesorów 1. CISC

Różne akronimy Architektura procesorów 1. CISC Complex Instruction Set Computer duża liczba rozkazów mała optymalizacja duża liczba cykli procesora złożone specjalistyczne rozkazy operacje bezpośrednio na pamięci np. pobranie z pamięci, operacja arytmetyczna i zapisanie do pamięci duża liczba trybów rozkazów powolne działanie dekodera rozkazów... 2. RISC

Różne akronimy Architektura procesorów 1. CISC Complex Instruction Set Computer duża liczba rozkazów mała optymalizacja duża liczba cykli procesora złożone specjalistyczne rozkazy operacje bezpośrednio na pamięci np. pobranie z pamięci, operacja arytmetyczna i zapisanie do pamięci duża liczba trybów rozkazów powolne działanie dekodera rozkazów... 2. RISC Reduced Instruction Set Computer zredukowana liczba rozkazów do niezbędnego minimum. Ich liczba wynosi kilkadziesiąt (zamiast setek). rozkazy nie mogą operować bezpośrednio na pamięci tylko na rejestrach (do przesyłania danych pomiędzy pamięcią a rejestrami służą instrukcje load i store) redukcja trybów adresowania przetwarzanie potokowe (pipelining) i superskalarność

Różne akronimy Architektura procesorów 1. VLIW Very Long Instruction Word 2. EPIC Explicitly Parallel Instruction Computing

Różne akronimy Architektura procesorów 1. VLIW Very Long Instruction Word 2. EPIC Explicitly Parallel Instruction Computing

Różne akronimy 1. x86

Różne akronimy 1. x86 Najpopularniejsza architektura komputerów PC 2. x86-64

Różne akronimy 1. x86 Najpopularniejsza architektura komputerów PC 2. x86-64 Architektura 64 bitowa wprowadzana przez AMD

NVIDIA CUDA

Zadanie domowe Zapoznać się z wymienionymi skrótowcami.

Co trzeba żeby komputer działał? 1. Co to jest komputer?

Co trzeba żeby komputer działał? 1. Co to jest komputer? 2. Rodzaj kalkulatora (ma arytmometr/procesor).

Co trzeba żeby komputer działał? 1. Co to jest komputer? 2. Rodzaj kalkulatora (ma arytmometr/procesor). 3. Ma pamięć...

Co trzeba żeby komputer działał? 1. Co to jest komputer? 2. Rodzaj kalkulatora (ma arytmometr/procesor). 3. Ma pamięć... 4.... ale co popycha go do działania?

Co trzeba żeby komputer działał? 1. Co to jest komputer? 2. Rodzaj kalkulatora (ma arytmometr/procesor). 3. Ma pamięć... 4.... ale co popycha go do działania? 5. Program

Co trzeba żeby komputer działał? 1. Co to jest komputer? 2. Rodzaj kalkulatora (ma arytmometr/procesor). 3. Ma pamięć... 4.... ale co popycha go do działania? 5. Program

Co trzeba żeby komputer działał? 1. Co to jest komputer? 2. Rodzaj kalkulatora (ma arytmometr/procesor). 3. Ma pamięć... 4.... ale co popycha go do działania? 5. Program?

Włączamy komputer...... i co się dzieje 1. Jak wszystko jest OK procesor automatycznie próbuje wykonać program znajdujący się w ustalonym miejscu pamięci.

Włączamy komputer...... i co się dzieje 1. Jak wszystko jest OK procesor automatycznie próbuje wykonać program znajdujący się w ustalonym miejscu pamięci. 2. W tym miejscu pamięci musi być jakiś program...

Włączamy komputer...... i co się dzieje 1. Jak wszystko jest OK procesor automatycznie próbuje wykonać program znajdujący się w ustalonym miejscu pamięci. 2. W tym miejscu pamięci musi być jakiś program... 3. Zazwyczaj w tym obszarze pamięci znajduje się pamięć stała (Read Only Memory ROM).

Włączamy komputer...... i co się dzieje 1. Jak wszystko jest OK procesor automatycznie próbuje wykonać program znajdujący się w ustalonym miejscu pamięci. 2. W tym miejscu pamięci musi być jakiś program... 3. Zazwyczaj w tym obszarze pamięci znajduje się pamięć stała (Read Only Memory ROM). 4. W tym miejscu znajduje się program zwany BIOS (Basic Input Output System).

Włączamy komputer...... i co się dzieje 1. Jak wszystko jest OK procesor automatycznie próbuje wykonać program znajdujący się w ustalonym miejscu pamięci. 2. W tym miejscu pamięci musi być jakiś program... 3. Zazwyczaj w tym obszarze pamięci znajduje się pamięć stała (Read Only Memory ROM). 4. W tym miejscu znajduje się program zwany BIOS (Basic Input Output System). 5. BIOS sprawdza wszystkie komponenty komputera.

Włączamy komputer...... i co się dzieje 1. Jak wszystko jest OK procesor automatycznie próbuje wykonać program znajdujący się w ustalonym miejscu pamięci. 2. W tym miejscu pamięci musi być jakiś program... 3. Zazwyczaj w tym obszarze pamięci znajduje się pamięć stała (Read Only Memory ROM). 4. W tym miejscu znajduje się program zwany BIOS (Basic Input Output System). 5. BIOS sprawdza wszystkie komponenty komputera. 6. BIOS ładuje z dysku system operacyjny.

Włączamy komputer...... i co się dzieje 1. Jak wszystko jest OK procesor automatycznie próbuje wykonać program znajdujący się w ustalonym miejscu pamięci. 2. W tym miejscu pamięci musi być jakiś program... 3. Zazwyczaj w tym obszarze pamięci znajduje się pamięć stała (Read Only Memory ROM). 4. W tym miejscu znajduje się program zwany BIOS (Basic Input Output System). 5. BIOS sprawdza wszystkie komponenty komputera. 6. BIOS ładuje z dysku system operacyjny. 7. System operacyjny uruchamia aplikacje użytkowe.

BIOS

Programy Oprogramowanie (i jego jakość) wpływa bardzo mocno na efektywną szybkość komputerów. Na czym polega programowanie komputera?

Przykładowy program C i n t main ( ) { i n t a =1; i n t b=2; i n t c ; c=a+b ; return 0; }

Przykładowy program Assembler main :. LFB0 :. LFE0 :. f i l e " p. c ". text. g l o b l main. type main, @function. c f i _ s t a r t p r o c pushq %rbp. c f i _ d e f _ c f a _ o f f s e t 16. c f i _ o f f s e t 6, 16 movq %rsp, %rbp. c f i _ d e f _ c f a _ r e g i s t e r 6 movl $1, 12(%rbp ) movl $2, 8(%rbp ) movl 8(%rbp ), %eax movl 12(%rbp ), %edx addl %edx, %eax movl %eax, 4(%rbp ) movl $0, %eax popq %rbp. c f i _ d e f _ c f a 7, 8 ret. cfi_endproc. s i z e main,. main. ident "GCC: ( Ubuntu/ Linaro 4.6.3 1ubuntu5 ) 4.6.3". section. note.gnu stack, " ", @progbits

Czy umiejętność programowania jest ważna? Języki programowania

Proste zadania Suma liczb Zadanie polega na tym, że mamy dodać, powiedzmy, 1000 liczb (dostarczonych na papierku). Jak to robić:

Proste zadania Suma liczb Zadanie polega na tym, że mamy dodać, powiedzmy, 1000 liczb (dostarczonych na papierku). Jak to robić: ręcznie

Proste zadania Suma liczb Zadanie polega na tym, że mamy dodać, powiedzmy, 1000 liczb (dostarczonych na papierku). Jak to robić: ręcznie ręcznie z użyciem kalkulatora

Proste zadania Suma liczb Zadanie polega na tym, że mamy dodać, powiedzmy, 1000 liczb (dostarczonych na papierku). Jak to robić: ręcznie ręcznie z użyciem kalkulatora za pomocą gotowego programu

Proste zadania Suma liczb Zadanie polega na tym, że mamy dodać, powiedzmy, 1000 liczb (dostarczonych na papierku). Jak to robić: ręcznie ręcznie z użyciem kalkulatora za pomocą gotowego programu za pomocą programu napisanego przez siebie

Bardziej zaawansowany program techniczny Okres drgań wahadła matematycznego l T = 2π g

Bardziej zaawansowany program techniczny Okres drgań wahadła matematycznego l T = 2π g Mamy, powiedzmy, 100 wartości l

Bardziej zaawansowany program techniczny Okres drgań wahadła matematycznego l T = 2π g Mamy, powiedzmy, 100 wartości l ręcznie?? (bez kalkulatora będzie trudno)

Bardziej zaawansowany program techniczny Okres drgań wahadła matematycznego l T = 2π g Mamy, powiedzmy, 100 wartości l ręcznie?? (bez kalkulatora będzie trudno) pisać program?

Bardziej zaawansowany program techniczny Okres drgań wahadła matematycznego l T = 2π g Mamy, powiedzmy, 100 wartości l ręcznie?? (bez kalkulatora będzie trudno) pisać program? skorzystać z gotowca (arkusz kalkulacyjny)

Bardziej zaawansowany program techniczny Okres drgań wahadła matematycznego l T = 2π g Mamy, powiedzmy, 100 wartości l ręcznie?? (bez kalkulatora będzie trudno) pisać program? skorzystać z gotowca (arkusz kalkulacyjny) narysować wykres funkcji (gnuplot)?

Wykres 7 2*3.14*sqrt(x/9.81) 6 5 4 3 2 1 0-10 -5 0 5 10

Labirynt Postawienie problemu mamy labirynt (najprostszy)

Labirynt Postawienie problemu mamy labirynt (najprostszy) mamy wejście

Labirynt Postawienie problemu mamy labirynt (najprostszy) mamy wejście jest jedno wyjście

Labirynt Postawienie problemu mamy labirynt (najprostszy) mamy wejście jest jedno wyjście trzeba znaleźć drogę prowadzącą do wyjścia

Bardziej złożony problem labirynt

Język programowania Google Blockly Dalsze przykłady będę programował w języku Google Jest to visual programming editor...

Język programowania Google Blockly Dalsze przykłady będę programował w języku Google Jest to visual programming editor... Można korzystać on-line: http://code.google.com/p/blockly/ Można ściągnąć na komputer http://xeon4.immt.pwr.wroc.pl/~myszka/blockly.zip rozpakować w jakiejś kartotece znaleźć w tej kartotece plik /blockly-read-only/demos/index.html i otworzyć go w przeglądarce firefox (z innymi nie bardzo działa lokalnie). Szczegółowa instrukcja instalacji: http://code.google.com/p/blockly/wiki/installation

Labirynt Jak rozwiązać? Prosty program (przykład w Blockly)

Labirynt Jak rozwiązać? Prosty program (przykład w Blockly) Losowe ruchy: idź do skrzyżowania i podejmij losową decyzję w którą stronę skręcić.

Labirynt Jak rozwiązać? Prosty program (przykład w Blockly) Losowe ruchy: idź do skrzyżowania i podejmij losową decyzję w którą stronę skręcić. Zadanie domowe: jak zaprogramować w Blockly?

Labirynt Jak rozwiązać? Prosty program (przykład w Blockly) Losowe ruchy: idź do skrzyżowania i podejmij losową decyzję w którą stronę skręcić. Zadanie domowe: jak zaprogramować w Blockly? Reguła lewej/prawej ręki: posuwaj się, żeby mieć ścianę zawsze po lewej/prawej stronie (Przykład w Blockly)

Największy Wspólny Dzielnik postawienie problemu Mamy dwie liczby całkowite, dodatnie i różne od zera m i n.

Największy Wspólny Dzielnik postawienie problemu Mamy dwie liczby całkowite, dodatnie i różne od zera m i n. Szukamy takiej liczby x która jest podzielnikiem i m i n i jest to największa liczba wśród wszystkich takich podzielników.

Największy Wspólny Dzielnik prosty algorytm z definicji znajdź wszystkie podzielniki pierwszej liczby,

Największy Wspólny Dzielnik prosty algorytm z definicji znajdź wszystkie podzielniki pierwszej liczby, znajdź wszystkie podzielniki drugiej liczby,

Największy Wspólny Dzielnik prosty algorytm z definicji znajdź wszystkie podzielniki pierwszej liczby, znajdź wszystkie podzielniki drugiej liczby, znajdź wszystkie wspólne podzielniki,

Największy Wspólny Dzielnik prosty algorytm z definicji znajdź wszystkie podzielniki pierwszej liczby, znajdź wszystkie podzielniki drugiej liczby, znajdź wszystkie wspólne podzielniki, znajdź największy wśród nich.

Znajdowanie wszystkich podzielników czy liczba n dzieli się przez 1 czy liczba n dzieli się przez 2... czy liczba n dzieli się przez n 1

Znajdowanie wszystkich podzielników czy można to uprościć? Wystarczy startować od dwójki (wszystkie liczby dzielą się przez 1)

Znajdowanie wszystkich podzielników czy można to uprościć? Wystarczy startować od dwójki (wszystkie liczby dzielą się przez 1) Kiedy skończyć?

Znajdowanie wszystkich podzielników czy można to uprościć? Wystarczy startować od dwójki (wszystkie liczby dzielą się przez 1) Kiedy skończyć? Wystarczy kontynuować do n

Wspólna część dwu zbiorów 1. Weź pierwszy element ze zbioru N

Wspólna część dwu zbiorów 1. Weź pierwszy element ze zbioru N 2. Sprawdź czy znajduje się w zbiorze M?

Wspólna część dwu zbiorów 1. Weź pierwszy element ze zbioru N 2. Sprawdź czy znajduje się w zbiorze M? 3. Jeżeli tak zapisz w zbiorze wynikowym.

Wspólna część dwu zbiorów 1. Weź pierwszy element ze zbioru N 2. Sprawdź czy znajduje się w zbiorze M? 3. Jeżeli tak zapisz w zbiorze wynikowym. 4. Jeżeli nie przejrzałeś wszystkich elementów w zbiorze N, weź element następny i przejdź do kroku 2

Szukanie wartości największej

Szukanie wartości największej 1. weź pierwszy element: będzie wzorem

Szukanie wartości największej 1. weź pierwszy element: będzie wzorem 2. czy został jakiś element w zbiorze? jeżeli nie KONIEC

Szukanie wartości największej 1. weź pierwszy element: będzie wzorem 2. czy został jakiś element w zbiorze? jeżeli nie KONIEC 3. weź następny element ze zbioru

Szukanie wartości największej 1. weź pierwszy element: będzie wzorem 2. czy został jakiś element w zbiorze? jeżeli nie KONIEC 3. weź następny element ze zbioru 4. czy większy od wzoru?

Szukanie wartości największej 1. weź pierwszy element: będzie wzorem 2. czy został jakiś element w zbiorze? jeżeli nie KONIEC 3. weź następny element ze zbioru 4. czy większy od wzoru? 5. jeżeli nie przejdź do punktu 2

Szukanie wartości największej 1. weź pierwszy element: będzie wzorem 2. czy został jakiś element w zbiorze? jeżeli nie KONIEC 3. weź następny element ze zbioru 4. czy większy od wzoru? 5. jeżeli nie przejdź do punktu 2 6. jeżeli tak wstaw w miejsce wzoru

Algorytm Euklidesa E1. Niech r będzie resztą z dzielenia m przez n

Algorytm Euklidesa E1. Niech r będzie resztą z dzielenia m przez n E2. Jeżeli r = 0 koniec

Algorytm Euklidesa E1. Niech r będzie resztą z dzielenia m przez n E2. Jeżeli r = 0 koniec E3. W przeciwnym razie m = n n = r przejdź do E1

NWD Program w Blockly

NWD Program w Blockly

Zadanie domowe Znaleźć inne warianty algorytmu Euklidesa Zaprogramować w Blockly?

Algorytm B 1. Przyjmij k 0, a następnie powtarzaj operacje: k k + 1, u u/2, v v/2 zero lub więcej razy do chwili gdy przynajmniej jedna z liczb u i v przestanie być parzysta. 2. Jeśli u jest nieparzyste to przyjmij t v i przejdź do kroku 4. W przeciwnym razie przyjmij t u. 3. (W tym miejscu t jest parzyste i różne od zera). Przyjmij t t/2. 4. Jeśli t jest parzyste to przejdź do 3. 5. Jeśli t > 0, to przyjmij u t, w przeciwnym razie przyjmij v t. 6. Przyjmij t u v. Jeśli t 0 to wróć do kroku 3. W przeciwnym razie algorytm zatrzymuje się z wynikiem u 2 k.

Zadanie domowe? Algorytm B w Blockly?

Zadanie domowe? Algorytm B w Blockly? Yyyyy... za trudne

Zadanie domowe? Algorytm B w Blockly? Yyyyy... za trudne Rozwiązać ręcznie dla wybranych u i v (mniejszych niż 1000).

Bibliography MakerFaire. http://code.google.com/p/blockly/wiki/makerfaire, Pa/xdziernik 2012. David B. Suits. Playing with mazes. http://people.rit.edu/dbsgsh/, 1994. David B. Suits. Solving mazes. Playing With Mazes. 1994. http://people.rit.edu/dbsgsh/mazes3.pdf.