You are on page 1of 19

Informatyka

Obliczanie NWD- algorytm Euklidesa

Informatyka – szkoła ponadgimnazjalna – Scholaris - © DC Edukacja


Cele lekcji

Podczas tej lekcji nauczysz się:


– jak odnaleźć NWD za pomocą algorytmu Euklidesa;
– zapisać algorytm Euklidesa w różnych wariantach za pomocą listy
kroków i schematu blokowego;
– jak utworzyć aplikacje obliczającą NED w VB .Net.

Informatyka – szkoła ponadgimnazjalna – Scholaris - © DC Edukacja


Przegląd zagadnień

• Algorytm Euklidesa z odejmowaniem.


• Algorytmy Euklidesa z dzieleniem.
• Rekurencyjna wersja algorytmu Euklidesa.
• Realizacja algorytmu Euklidesa w VB .NET.
• Przykłady zastosowań algorytmu Euklidesa.

Informatyka – szkoła ponadgimnazjalna – Scholaris - © DC Edukacja


Algorytm Euklidesa

• Algorytm Euklidesa uważany jest za pierwszy znany i zapisany


algorytm. Służy do obliczenia największego wspólnego dzielnika
dwóch liczb (NWD).
• Jak wskazuje nazwa, został on zaprezentowany przez Euklidesa,
żyjącego w w latach około 365 - 300 r. p.n.e. greckiego
matematyka, w jego podstawowym dziele pt. Elementy.
• Co ciekawe, algorytmu nie wymyślił Euklides, a Eudoksos z Knidos,
Euklides zaś jedynie algorytm ten zawarł w swoim dziele Elementy.

• Istnieją dwie wersje tego algorytmu – jedna, oparta na


odejmowaniu, druga natomiast na reszcie z dzielenia.

Informatyka – szkoła ponadgimnazjalna – Scholaris - © DC Edukacja


Algorytm Euklidesa z odejmowaniem – lista kroków

Informatyka – szkoła ponadgimnazjalna – Scholaris - © DC Edukacja


Algorytm Euklidesa z odejmowaniem
– schemat blokowy

Informatyka – szkoła ponadgimnazjalna – Scholaris - © DC Edukacja


Algorytm Euklidesa z dzieleniem – lista kroków

W algorytmie
z dzieleniem
obliczamy resztę
z dzielenia dwóch
liczb.

Warunkiem
poprawności działania
tego algorytmu jest to,
że pierwsza liczba
musi być większa lub
równa od drugiej.

Informatyka – szkoła ponadgimnazjalna – Scholaris - © DC Edukacja


Algorytm Euklidesa z dzieleniem – schemat blokowy

Informatyka – szkoła ponadgimnazjalna – Scholaris - © DC Edukacja


Rekurencyjna definicja obliczania NWD

• Algorytm Euklidesa można także obliczyć za pomocą zależności


rekurencyjnej.

Informatyka – szkoła ponadgimnazjalna – Scholaris - © DC Edukacja


Algorytm Euklidesa – zapisany w wersji rekurencyjnej

Informatyka – szkoła ponadgimnazjalna – Scholaris - © DC Edukacja


Realizacja algorytmu Euklidesa w VB .NET

• Implementacja algorytmu z odejmowaniem

Informatyka – szkoła ponadgimnazjalna – Scholaris - © DC Edukacja


Realizacja algorytmu Euklidesa w VB .NET

• Implementacja algorytmu z dzieleniem

Informatyka – szkoła ponadgimnazjalna – Scholaris - © DC Edukacja


Realizacja algorytmu Euklidesa w VB .NET

• Implementacja algorytmu rekurencyjnego

Informatyka – szkoła ponadgimnazjalna – Scholaris - © DC Edukacja


Przykłady zastosowań algorytmu Euklidesa

• Przelewanie wody
• Skracanie ułamka

Informatyka – szkoła ponadgimnazjalna – Scholaris - © DC Edukacja


Przelewanie wody

• Jest wiele zastosowań algorytmu


Euklidesa. Jednym z nich jest
łamigłówka dotycząca przelewania
wody.
– Dysponując dwoma czerpakami
o pojemności x i y litrów, pustym
pojemnikiem o nieograniczonej
pojemności i nieograniczoną
ilością wody, napełnij pojemnik
k litrami wody przy założeniu, że
wodę można wlewać lub wylewać
z pojemnika tylko pełnymi
czerpakami.
– W przykładzie k = 3, pojemniki
mają 21 oraz 12 litrów.

Informatyka – szkoła ponadgimnazjalna – Scholaris - © DC Edukacja


Przelewanie wody - rozwiązanie

• Wlewamy 12 litrów wody. • Ponownie nalewamy 12 litrów


• W zbiorniku mamy: 12 litrów. wody.
• W zbiorniku mamy: 24 litry.

Informatyka – szkoła ponadgimnazjalna – Scholaris - © DC Edukacja


Przelewanie wody - rozwiązanie

• Z pomocą drugiego czerpaka


wylewamy 21 litrów wody.
• W zbiorniku mamy odmierzone
3 litry.

Informatyka – szkoła ponadgimnazjalna – Scholaris - © DC Edukacja


Skracanie ułamka

• Innym wykorzystaniem NWD jest skracanie ułamka do postaci


zwykłej.
• Liczbę mającą postać x/y nazywamy ułamkiem zwykłym, gdy
x i y są liczbami względnie pierwszymi, tj. gdy ułamka nie można
skrócić.

Informatyka – szkoła ponadgimnazjalna – Scholaris - © DC Edukacja


Podsumowanie

• Algorytm Euklidesa z odejmowaniem.


• Algorytmy Euklidesa z dzieleniem.
• Rekurencyjna wersja algorytmu Euklidesa.
• Realizacja algorytmu Euklidesa w VB .NET.
• Przykłady zastosowań algorytmu Euklidesa.

Informatyka – szkoła ponadgimnazjalna – Scholaris - © DC Edukacja

You might also like