Oprogramowanie komputerów - wer. 6 z drobnymi modyfikacjami!

Transkrypt

Oprogramowanie komputerów - wer. 6 z drobnymi modyfikacjami!
Oprogramowanie komputerów
wer. 6 z drobnymi mody kacjami!
Wojciech Myszka
2013-11-14 10:39:52 +0100
Od czego zalezy szybko±¢ komputerów?
Od czego zalezy szybko±¢ komputerów?
1. Cz¦sto±¢ zegara.
Od czego zalezy szybko±¢ komputerów?
1. Cz¦sto±¢ zegara.
2. Szybko±¢ pami¦ci.
Od czego zalezy szybko±¢ komputerów?
1. Cz¦sto±¢ zegara.
2. Szybko±¢ pami¦ci.
3. Dªugo±¢ sªowa:
Od czego zalezy szybko±¢ komputerów?
1. Cz¦sto±¢ zegara.
2. Szybko±¢ pami¦ci.
3. Dªugo±¢ sªowa:
I
krótkie skowo
Od czego zalezy szybko±¢ komputerów?
1. Cz¦sto±¢ zegara.
2. Szybko±¢ pami¦ci.
3. Dªugo±¢ sªowa:
I
krótkie skowo
I
prostsza budowa
Od czego zalezy szybko±¢ komputerów?
1. Cz¦sto±¢ zegara.
2. Szybko±¢ pami¦ci.
3. Dªugo±¢ sªowa:
I
krótkie skowo
I
I
prostsza budowa
szybsze przesyªanie do pami¦ci
Od czego zalezy szybko±¢ komputerów?
1. Cz¦sto±¢ zegara.
2. Szybko±¢ pami¦ci.
3. Dªugo±¢ sªowa:
I
krótkie skowo
I
I
I
prostsza budowa
szybsze przesyªanie do pami¦ci
dªuzsze operacja na dªugich liczbach
Od czego zalezy szybko±¢ komputerów?
1. Cz¦sto±¢ zegara.
2. Szybko±¢ pami¦ci.
3. Dªugo±¢ sªowa:
I
krótkie skowo
I
I
I
I
prostsza budowa
szybsze przesyªanie do pami¦ci
dªuzsze operacja na dªugich liczbach
dªugie sªowo
Od czego zalezy szybko±¢ komputerów?
1. Cz¦sto±¢ zegara.
2. Szybko±¢ pami¦ci.
3. Dªugo±¢ sªowa:
I
krótkie skowo
I
I
I
I
prostsza budowa
szybsze przesyªanie do pami¦ci
dªuzsze operacja na dªugich liczbach
dªugie sªowo
I
bardziej zªozona budowa
Od czego zalezy szybko±¢ komputerów?
1. Cz¦sto±¢ zegara.
2. Szybko±¢ pami¦ci.
3. Dªugo±¢ sªowa:
I
krótkie skowo
I
I
I
I
prostsza budowa
szybsze przesyªanie do pami¦ci
dªuzsze operacja na dªugich liczbach
dªugie sªowo
I
I
bardziej zªozona budowa
czasami marnotrawstwo zasobów
Od czego zalezy szybko±¢ komputerów?
1. Cz¦sto±¢ zegara.
2. Szybko±¢ pami¦ci.
3. Dªugo±¢ sªowa:
I
krótkie skowo
I
I
I
I
prostsza budowa
szybsze przesyªanie do pami¦ci
dªuzsze operacja na dªugich liczbach
dªugie sªowo
I
I
I
bardziej zªozona budowa
czasami marnotrawstwo zasobów
szybkie wykonywanie operacji na dªugich liczbach
Od czego zalezy szybko±¢ komputerów?
1. Cz¦sto±¢ zegara.
2. Szybko±¢ pami¦ci.
3. Dªugo±¢ sªowa:
I
krótkie skowo
I
I
I
I
prostsza budowa
szybsze przesyªanie do pami¦ci
dªuzsze operacja na dªugich liczbach
dªugie sªowo
I
I
I
bardziej zªozona budowa
czasami marnotrawstwo zasobów
szybkie wykonywanie operacji na dªugich liczbach
4. Wewn¦trzna konstrukcja komputera
Od czego zalezy szybko±¢ komputerów?
1. Cz¦sto±¢ zegara.
2. Szybko±¢ pami¦ci.
3. Dªugo±¢ sªowa:
I
krótkie skowo
I
I
I
I
prostsza budowa
szybsze przesyªanie do pami¦ci
dªuzsze operacja na dªugich liczbach
dªugie sªowo
I
I
I
bardziej zªozona budowa
czasami marnotrawstwo zasobów
szybkie wykonywanie operacji na dªugich liczbach
4. Wewn¦trzna konstrukcja komputera
I
liczba jednostek arytmetycznych
Od czego zalezy szybko±¢ komputerów?
1. Cz¦sto±¢ zegara.
2. Szybko±¢ pami¦ci.
3. Dªugo±¢ sªowa:
I
krótkie skowo
I
I
I
I
prostsza budowa
szybsze przesyªanie do pami¦ci
dªuzsze operacja na dªugich liczbach
dªugie sªowo
I
I
I
bardziej zªozona budowa
czasami marnotrawstwo zasobów
szybkie wykonywanie operacji na dªugich liczbach
4. Wewn¦trzna konstrukcja komputera
I
I
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
Przetwarzanie potokowe
Pipeline + dwa procesory
IF pobieranie instrukcji, ID
do pami¦ci
dekodowanie instrukcji, EX
wykonanie, MEM
zapis wyników (cache), WB
zapis
Od czego zalezy jeszcze szybko±¢?
Procesory wektorowe
1. Procesor wektorowy (tablicowy) to CPU skonstruowane w
taki sposób, ze zawiera polecenia wykonania operacji
matematycznej na wielu elementach danych.
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.
Rózne akronimy
1. CISC
Rózne akronimy
1. CISC Complex Instruction Set Computer
2. RISC
Rózne akronimy
1. CISC Complex Instruction Set Computer
2. RISC Reduced Instruction Set Computer
3. VLIW
Rózne akronimy
1. CISC Complex Instruction Set Computer
2. RISC Reduced Instruction Set Computer
3. VLIW Very Long Instruction Word
4. EPIC
Rózne akronimy
1. CISC Complex Instruction Set Computer
2. RISC Reduced Instruction Set Computer
3. VLIW Very Long Instruction Word
4. EPIC Explicitly Parallel Instruction Computing
Rózne akronimy
1. x86
Rózne akronimy
1. x86 Najpopularniejsza architektura komputerów PC
2. x86-64
Rózne 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 zeby komputer dziaªaª?
1. Co to jest komputer?
Co trzeba zeby komputer dziaªaª?
1. Co to jest komputer?
2. Rodzaj kalkulatora (ma arytmometr/procesor).
Co trzeba zeby komputer dziaªaª?
1. Co to jest komputer?
2. Rodzaj kalkulatora (ma arytmometr/procesor).
3. Ma pami¦¢. . .
Co trzeba zeby 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 zeby 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 zeby 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 zeby 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 uzytkowe.
BIOS
Programy
I
Oprogramowanie (i jego jako±¢) wpªywa bardzo mocno na
efektywn¡ szybko±¢ komputerów.
I
Na czym polega programowanie komputera?
Przykªadowy program
C
i n t main ( )
{
i n t a =1;
i n t b =2;
int c ;
c=a+b ;
return 0 ;
}
Przykªadowy program
Assembler
. file
. text
. globl
. type
"p.c "
main
main , @function
main :
. LFB0 :
. cfi_startproc
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
. cfi_def_cfa_register 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
. cfi_def_cfa 7, 8
ret
. cfi_endproc
. LFE0 :
. size
main , .−main
. i d e n t " GCC: ( Ubuntu/ L i n a r o 4.6.3−1 ubuntu5 ) 4 . 6 . 3 "
. section
. note .GNU−stack , " " , @ pr o gb it s
Czy umiej¦tno±¢ programowania jest wazna?
J¦zyki programowania
Proste zadania
Suma liczb
Zadanie polega na tym, ze mamy doda¢, powiedzmy, 1000 liczb
(dostarczonych na papierku). Jak to robi¢:
Proste zadania
Suma liczb
Zadanie polega na tym, ze mamy doda¢, powiedzmy, 1000 liczb
(dostarczonych na papierku). Jak to robi¢:
I
r¦cznie
Proste zadania
Suma liczb
Zadanie polega na tym, ze mamy doda¢, powiedzmy, 1000 liczb
(dostarczonych na papierku). Jak to robi¢:
I
r¦cznie
I
r¦cznie z uzyciem kalkulatora
Proste zadania
Suma liczb
Zadanie polega na tym, ze mamy doda¢, powiedzmy, 1000 liczb
(dostarczonych na papierku). Jak to robi¢:
I
r¦cznie
I
r¦cznie z uzyciem kalkulatora
I
za pomoc¡ gotowego programu
Proste zadania
Suma liczb
Zadanie polega na tym, ze mamy doda¢, powiedzmy, 1000 liczb
(dostarczonych na papierku). Jak to robi¢:
I
r¦cznie
I
r¦cznie z uzyciem kalkulatora
I
za pomoc¡ gotowego programu
I
za pomoc¡ programu napisanego przez siebie
Bardziej zaawansowany program techniczny
Okres drga« wahadªa matematycznego
s
T = 2π
l
g
Bardziej zaawansowany program techniczny
Okres drga« wahadªa matematycznego
s
T = 2π
I
l
g
Mamy, powiedzmy, 100 warto±ci l
Bardziej zaawansowany program techniczny
Okres drga« wahadªa matematycznego
s
T = 2π
I
l
g
Mamy, powiedzmy, 100 warto±ci l
I
r¦cznie?? (bez kalkulatora b¦dzie trudno)
Bardziej zaawansowany program techniczny
Okres drga« wahadªa matematycznego
s
T = 2π
I
l
g
Mamy, powiedzmy, 100 warto±ci l
I
I
r¦cznie?? (bez kalkulatora b¦dzie trudno)
pisa¢ program?
Bardziej zaawansowany program techniczny
Okres drga« wahadªa matematycznego
s
T = 2π
I
l
g
Mamy, powiedzmy, 100 warto±ci l
I
I
I
r¦cznie?? (bez kalkulatora b¦dzie trudno)
pisa¢ program?
skorzysta¢ z gotowca (arkusz kalkulacyjny)
Bardziej zaawansowany program techniczny
Okres drga« wahadªa matematycznego
s
T = 2π
I
l
g
Mamy, powiedzmy, 100 warto±ci l
I
I
I
I
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
I
mamy labirynt (najprostszy)
Labirynt
Postawienie problemu
I
mamy labirynt (najprostszy)
I
mamy wej±cie
Labirynt
Postawienie problemu
I
mamy labirynt (najprostszy)
I
mamy wej±cie
I
jest jedno wyj±cie
Labirynt
Postawienie problemu
I
mamy labirynt (najprostszy)
I
mamy wej±cie
I
jest jedno wyj±cie
I
trzeba znale¹¢ drog¦ prowadz¡c¡ do wyj±cia
Bardziej zªozony 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. . .
I
I
Mozna korzysta¢ on-line:
http://code.google.com/p/blockly/
Mozna ±ci¡gn¡¢ na komputer
http://xeon4.immt.pwr.wroc.pl/~myszka/blockly.zip
I
I
rozpakowa¢ w jakiej± kartotece
znale¹¢ w tej kartotece plik
/blockly-read-only/demos/index.html i otworzy¢ go w
przegl¡darce refox (z innymi nie bardzo dziaªa lokalnie).
Szczegóªowa instrukcja instalacji:
http://code.google.com/p/blockly/wiki/Installation
Labirynt
Jak rozwi¡za¢?
I
Prosty program (przykªad w Blockly)
Labirynt
Jak rozwi¡za¢?
I
Prosty program (przykªad w Blockly)
I
Losowe ruchy: id¹ do skrzyzowania i podejmij losow¡
decyzj¦ w któr¡ stron¦ skr¦ci¢.
Labirynt
Jak rozwi¡za¢?
I
Prosty program (przykªad w Blockly)
I
Losowe ruchy: id¹ do skrzyzowania i podejmij losow¡
decyzj¦ w któr¡ stron¦ skr¦ci¢.
I
Zadanie domowe: jak zaprogramowa¢ w Blockly?
Labirynt
Jak rozwi¡za¢?
I
Prosty program (przykªad w Blockly)
I
Losowe ruchy: id¹ do skrzyzowania i podejmij losow¡
decyzj¦ w któr¡ stron¦ skr¦ci¢.
I
Zadanie domowe: jak zaprogramowa¢ w Blockly?
I
Reguªa lewej/prawej r¦ki: posuwaj si¦, zeby mie¢ ±cian¦
zawsze po lewej/prawej stronie (Przykªad w Blockly)
Najwi¦kszy Wspólny Dzielnik
postawienie problemu
I
Mamy dwie liczby caªkowite, dodatnie i rózne od zera m i n.
Najwi¦kszy Wspólny Dzielnik
postawienie problemu
I
Mamy dwie liczby caªkowite, dodatnie i rózne od zera m i n.
I
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 de nicji
I
znajd¹ wszystkie podzielniki pierwszej liczby,
Najwi¦kszy Wspólny Dzielnik
prosty algorytm z de nicji
I
znajd¹ wszystkie podzielniki pierwszej liczby,
I
znajd¹ wszystkie podzielniki drugiej liczby,
Najwi¦kszy Wspólny Dzielnik
prosty algorytm z de nicji
I
znajd¹ wszystkie podzielniki pierwszej liczby,
I
znajd¹ wszystkie podzielniki drugiej liczby,
I
znajd¹ wszystkie wspólne podzielniki,
Najwi¦kszy Wspólny Dzielnik
prosty algorytm z de nicji
I
znajd¹ wszystkie podzielniki pierwszej liczby,
I
znajd¹ wszystkie podzielniki drugiej liczby,
I
znajd¹ wszystkie wspólne podzielniki,
I
znajd¹ najwi¦kszy w±ród nich.
Znajdowanie wszystkich podzielników
I
czy liczba n dzieli si¦ przez 1
I
czy liczba n dzieli si¦ przez 2
I
...
I
czy liczba n dzieli si¦ przez n − 1
Znajdowanie wszystkich podzielników
czy mozna to upro±ci¢?
I
Wystarczy startowa¢ od dwójki (wszystkie liczby dziel¡ si¦
przez 1)
Znajdowanie wszystkich podzielników
czy mozna to upro±ci¢?
I
Wystarczy startowa¢ od dwójki (wszystkie liczby dziel¡ si¦
przez 1)
I
Kiedy sko«czy¢?
Znajdowanie wszystkich podzielników
czy mozna to upro±ci¢?
I
Wystarczy startowa¢ od dwójki (wszystkie liczby dziel¡ si¦
przez 1)
I
Kiedy sko«czy¢?
I
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. Jezeli 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. Jezeli tak
zapisz w zbiorze wynikowym.
4. Jezeli 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? jezeli nie
KONIEC
Szukanie warto±ci najwi¦kszej
1. we¹ pierwszy element: b¦dzie wzorem
2. czy zostaª jaki± element w zbiorze? jezeli nie
3. we¹ nast¦pny element ze zbioru
KONIEC
Szukanie warto±ci najwi¦kszej
1. we¹ pierwszy element: b¦dzie wzorem
2. czy zostaª jaki± element w zbiorze? jezeli nie
3. we¹ nast¦pny element ze zbioru
4. czy wi¦kszy od wzoru?
KONIEC
Szukanie warto±ci najwi¦kszej
1. we¹ pierwszy element: b¦dzie wzorem
2. czy zostaª jaki± element w zbiorze? jezeli nie
3. we¹ nast¦pny element ze zbioru
4. czy wi¦kszy od wzoru?
5. jezeli nie
przejd¹ do punktu 2
KONIEC
Szukanie warto±ci najwi¦kszej
1. we¹ pierwszy element: b¦dzie wzorem
2. czy zostaª jaki± element w zbiorze? jezeli nie
3. we¹ nast¦pny element ze zbioru
4. czy wi¦kszy od wzoru?
5. jezeli nie
przejd¹ do punktu 2
6. jezeli tak
wstaw w miejsce wzoru
KONIEC
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. Jezeli r = 0 koniec
Algorytm Euklidesa
E1. Niech r b¦dzie reszt¡ z dzielenia m przez n
E2. Jezeli r = 0 koniec
E3. W przeciwnym razie
m=n
n=r
przejd¹ do E1
NWD
Program w Blockly
NWD
Program w Blockly
Zadanie domowe
I
Znale¹¢ inne warianty algorytmu Euklidesa
I
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ózne 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 6= 0 to wró¢ do kroku 3.
W przeciwnym razie algorytm zatrzymuje si¦ z wynikiem
u · 2k .
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 niz 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.

Podobne dokumenty