Algorytm Euklidesa

Algorytm Euklidesa czyli algorytm wyznaczania  NWD – największego wspólnego dzielnika dwóch liczb całkowitych.

Zadanie:
Wyznacz największy wspólny dzielnik dwóch liczb naturalnych: a,b.

Przeanalizujmy zadanie. Dane mamy dwie liczby oznaczone jako a i b. Musimy odnaleźć liczbę przez którą dzielą się nasze obie liczby, zarówno a i b. Takich liczb może być wiele – my mamy odszukać największą.

Przykłady
Dane mamy dwie liczby: 4 i 6.
Dla tych liczb wspólnym dzielnikiem będą: 1, 2. Zatem największym wspólnym dzielnikiem obu tych liczb jest liczba 2.

Dane:  12, 9
Wynik: 3

Dane: 304, 304
Wynik: 304

Dane: 700, 21
Wynik:  7

Dane: 11, 76
Wynik: 1

Na tym etapie możemy zastanowić jak wyznaczyliśmy wspólny dzielnik i opracować algorytm. Możemy jednak skorzystać z gotowego rozwiązania, które opracował Euklides.

Algorytm Euklidesa

Wyznaczanie NWD, a więc największego wspólnego podzielnika dwóch liczb naturalnych
zrealizujemy za pomocą algorytmu Euklidesa. Opiera się on na
spostrzeżeniu, że jeśli odejmiemy od większej liczby mniejszą, to ta
mniejsza liczba i otrzymana różnica będą miały taki sam największy
wspólny dzielnik jak pierwotne liczby. Jeśli w wyniku kolejnego
odejmowania otrzymamy parę równych liczb, oznacza to, że znaleźliśmy NWD.

 

Algorytm Euklidesa: schemat blokowy

Przedstawimy teraz algorytm w postaci schematu blokowego. Na początku następuje wczytanie dwóch liczb. Następnie sprawdzamy czy są to takie same liczby. Jeśli bowiem liczby są równe to od razu wiemy iż ich wspólnym dzielnikiem jest ta sama liczba (przykład 3).
Jeśli liczby są różne sprawdzamy która z nich jest większa, by od większej liczby odjąć mniejszą.

 

Schemat blokowy algorytmu Euklidesa
Algorytm Euklidesa. Schemat blokowy

—————–
Powyższy materiał pochodzi z pracy „Algorytmika w gimnazjum”, którą wykonałam podczas studiów. Materiały te przez długi czas były dostępne na stronie kasia315.republika.pl. Strona ta obecnie nie istnieje, a cała jej zawartość została przeniesiona tutaj, czyli pod adres kaluska.pl.

 

Algorytmy. Przykłady i zadania

Poznałeś już kilka przykładów algorytmów. Przeanalizuj je ponownie, a następnie przejdź do wykonywania poniższych zadań.

Zachęcam Cię, abyś po przeczytaniu treści zadania zastanowił się nad rozwiązaniem, a następnie przedstawił algorytm w postaci listy (ciągu) kroków oraz zbudował schemat blokowy. Dopiero po samodzielnej pracy porównaj i dokonaj analizy gotowego schematu przedstawionego na stronie.

Zadanie

Opracuj algorytm obliczający sumę 3 wprowadzonych z klawiatury liczb.Przedstawmy najpierw algorytm w postaci ciągu kroków do wykonania:

  1. Podaj pierwszą liczbę
  2. Podaj drugą liczbę
  3. Podaj trzecią liczbę
  4. Dodaj do siebie liczby i wynik zapamiętaj
  5. Wypisz otrzymany wynik


Algorytm dodawania liczb 1


Czy zwróciłeś uwagę na operację Suma := a+b+c ?
Przypomnijmy, iż jest to znak przypisania i oznacza nadanie zmiennej znajdującej się po jego lewej stronie wartości określonej po prawej stronie.


Algorytm dodawania liczb 2



Działanie algorytmu dodawania liczb

Zadanie
Dane są dwie liczby. Opracuj algorytm wybierający większą z nich, w przypadku gdy są równe wypisz stosowny komunikat.Algorytm wyboru większej liczby



ZadanieZbuduj algorytm obliczający sumę 5 kolejnych liczb naturalnych.Algorytm sumujący 5 kolejnych liczb naturalnych

Zadanie:

Wyznacz NWD- największy wspólny podzielnik dwóch liczb naturalnych a,b. Algorytm EuklidesaWyznaczanie największego wspólnego podzielnika dwóch liczb naturalnych zrealizujemy za pomocą algorytmu Euklidesa. Opiera się on na spostrzeżeniu, że jeśli odejmiemy od większej liczby mniejszą, to ta mniejsza liczba i otrzymana różnica będą miały taki sam największy wspólny dzielnik jak pierwotne liczby. Jeśli w wyniku kolejnego odejmowania otrzymamy parę równych liczb, oznacza to, że znalazłeś NWD.Algorytm Euklidesa. Wyznaczanie NWD- największego wspólnego podzielnika dwóch liczb naturalnych

Algorytm Euklidesa: NWD

Zadanie
Narysuj algorytm sumujący liczby większe od 5 spośród 10 wprowadzonych.


Algorytm sumujący liczby


Zadania

Więcej przykładów i zadań do wykonania znajdziesz tu:

Zadania do samodzielnego wykonania:

  • Opracuj algorytm obliczający kwadrat i sześcian wprowadzonej liczby.
  • Opracuj schemat obliczania średniej n liczb naturalnych.

Rodzaje algorytmów

Rodzaje algorytmów

  • Algorytmy liniowe, czyli  algorytmy sekwencyjne
  • Algorytmy warunkowe, czyli algorytmy z rozgałęzieniami
  • Algorytmy interacyjne, czyli algorytmy z pętlą

Algorytm liniowy, czyli inaczej algorytm sekwencyjny

Algorytm sekwencyjny to algorytm, w którym kolejność wykonywanych czynności jest zawsze taka sama i niezależna od wartości danych wejściowych.

Algorytm warunkowy. Algorytm z rozgałęzieniem

….

Algorytmy. Kurs algorytmiki dla uczniów

Kurs algorytmy dla uczniów, został przygotowany jako wstęp do algorytmiki.

kasia315.republika.pl

Powyższy materiał pochodzi z pracy „Algorytmika w gimnazjum”, którą wykonałam podczas studiów. Materiały te przez długi czas były dostępne na stronie kasia315.republika.pl. Strona ta obecnie nie istnieje, a cała jej zawartość została przeniesiona tutaj, czyli pod adres kaluska.pl.

Kurs zawierał również krókie wizualne prezentacje sposobu wykonania algorytmów (aplety Java). Obecnie większość nowoczesnych przeglądarek domyślnie nie pozwala na  wyświetlenie apletów Java. Jeśi chcesz je zobaczyć i w pełni korzystać ze strony, zmień opcje w swojej przeglądarce.

Kurs algorytmiki dla uczniów

Na kurs składa się kilka lekcji. Całość będzie dostępna już niedługo

Lekcja 1:

 

Sposoby zapisu algorytmu

Algorytmy powinny być tak przedstawiane, aby było możliwe ich jednoznaczne odczytanie i zastosowanie. Niektóre algorytmy można opisać słownie korzystając z języka potocznego. Jest to proste zwłaszcza wtedy, gdy wykonawcą algorytmów ma być człowiek. Pamiętajmy jednak, iż informatyka zajmuje się opracowywaniem algorytmów, których wykonanie powierzone zostaje komputerom.

Z czego składa się algorytm? 
Algorytm zawiera opis danych, opis wyników oraz plan działania, czyli przetworzenia danych. Plan ten można przedstawić w postaci ciągu czynności, które muszą być wykonane w określonej kolejności. Opis czynności występujących w algorytmie nazywamy instrukcjami.

Algorytm =  opis danych+- opis wyników+ plan działania, przetworzenia danych

Sposoby zapisu algorytmów:

  • opis słowny
  • lista kroków
  • pseudojęzyk, pseudokod
  • schemat blokowy
  • drzewo (drzewo algorytmu)
  • język programowania 

Opis słowny

Przykład. Algorytm znajdujący średnią arytmetyczną dwóch liczb rzeczywistych
Weź dwie liczby i dodaj je do siebie. Otrzymany wynik  przez 2.

Lista kroków

Lista kroków  to najprostszy i jednocześnie najbardziej naturalny  sposób zapisywania algorytmu. Polega na opisie reguł postępowania za pomocą kolejnych kroków, punktów. Sposób często stosowany chociażby na lekcjach matematyki, na których nauczyciel podaje schemat rozwiązania zadania danego typu.

Elementem charakterystycznym w tym sposobie zapisu jest numeracja poszczególnych kroków (wierszy).
 
Przykład. Algorytm znajdujący średnią arytmetyczną dwóch liczb rzeczywistych

Krok 1. Pobierz pierwszą liczbę.
Krok 2. Pobierz drugą liczbę.
Krok 3. Dodaj liczby do siebie.
Krok 4. Wynik sumowania podziel przez 2.
Krok 5. Wyświetl wynik.
Krok 6. Zakończ

Powyższy algorytm możemy zapisać również za pomocą listy kroków pomijając słowa krok:
1. Pobierz pierwszą liczbę.
2. Pobierz drugą liczbę.
3. Dodaj liczby do siebie.
4. Wynik sumowania podziel przez 2.
5. Wyświetl wynik.
6. Zakończ

Pseudojęzyk, pseudokod

Pseudojęzyk to sposób  pośredni między listą kroków a językiem programowania. Zwykle zapis podobny jest do któregoś z popularnych jezyków programowania, ale jest mniej formalny.

Schemat blokowy