Schemat blokowy M START KONIEC

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

Sortowanie przez scalanie
Algorytmy sortowania i porządkowania
Algorytmy sortowania i przeszukiwania
Rekurencja 1 Podprogram lub strukturę danych nazywamy rekurencyjną, (recursive subprogram, recursive data structure) jeżeli częściowo składa się z samej.
CIĄGI.
Grażyna Mirkowska PJWSTK 15 listopad 2000
Programowanie w języku Visual Basic
Metoda simpleks Simpleks jest uniwersalną metodą rozwiązywania zadań programowania liniowego. Jest to metoda iteracyjnego poprawiania wstępnego rozwiązania.
Filip Andrzejewski Remigiusz Chiluta
Języki programowania C++
PROGRAMOWANIE STRUKTURALNE
ALGORYTM Co to jest algorytm?
algorytm znajdowania największego wspólnego dzielnika (NWD)
ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH
Materiały pochodzą z Platformy Edukacyjnej Portalu
Materiały pochodzą z Platformy Edukacyjnej Portalu
Materiały pochodzą z Platformy Edukacyjnej Portalu
Materiały pochodzą z Platformy Edukacyjnej Portalu
Materiały pochodzą z Platformy Edukacyjnej Portalu
Materiały pochodzą z Platformy Edukacyjnej Portalu
Materiały pochodzą z Platformy Edukacyjnej Portalu
ZŁOŻONOŚĆ OBLICZENIOWA
ALGORYTMY GEOMETRYCZNE.
Turbo pascal – instrukcje warunkowe, iteracyjne,…
Pisemne dzielenie liczb naturalnych
Metoda simpleks opracowanie na podstawie „Metody wspomagające podejmowanie decyzji w zarządzaniu” D. Witkowska, Menadżer Łódź Simpleks jest uniwersalną.
Instrukcja skoku GO TO etykieta Np. GO TO 100 ….. 100WRITE (*,*) Przeskok do instrukcji 100 Uwaga! NIE WOLNO skakać do wnętrzna złożonych instrukcji warunkowych.
Wstęp do interpretacji algorytmów
Dr Anna Kwiatkowska Instytut Informatyki
ALGORYTMY Opracowała: ELŻBIETA SARKOWICZ
Podstawy programowania
Algorytmy i struktury danych
Zbiór do posortowania mieści się w pamięci
TABLICE C++.
Algorytmy i struktury danych
Centrum Kształcenia Ustawicznego im. St. Staszica w Koszalinie
PHP: warunki, pętle, switch, break, continue
Materiały pochodzą z Platformy Edukacyjnej Portalu
Materiały pochodzą z Platformy Edukacyjnej Portalu
Elżbieta Fiedziukiewicz
Tablice w Turbo Pascalu.
Początek, koniec lub przerwanie algorytmu
Sortowanie tablic jednowymiarowych
Czego nauczyliśmy się na lekcjach informatyki w XXX LO
Pisemne dzielenie liczb naturalnych.
Spis treści W świecie algortmów -Budowa algorytmu
Algorytmika Iteracje autor: Tadeusz Lachawiec.
Algorytmy i Struktury Danych
Algorytm blokowy Delta Nilu .
LISTY HTML. Listy s ą definiowane za pomoc ą znacznika podstawowego innego dla ka ż dego rodzaju list Specyfikacja XHTML, zawiera specjalne znaczniki.
Temat 8: Pętle.
Algorytmy- Wprowadzenie do programowania
opracowała: Anna Mikuć
Algorytmy.
Zagadnienie i algorytm transportowy
METODY REPREZENTOWANIA IFORMACJI
Wstęp do interpretacji algorytmów
Pętle – instrukcje powtórzeń
ALGORYTMY I STRUKTURY DANYCH
Algorytmy. Co to jest algorytm? Przepis prowadzący do rozwiązania zadania.
Algorytmy, sposoby ich zapisu.1 Algorytm to uporządkowany opis postępowania przy rozwiązywaniu problemu z uwzględnieniem opisu danych oraz opisu kolejnych.
1.problem próbkowania (sampling problem) dobór charakterystycznych punktów powierzchni w celu uzyskania najlepszego efektu przy minimalizacji ilości danych.
Sposoby zapisu algorytmu
Rozdział 5 REKURENCJA.
Listy.
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH
Zapis prezentacji:

Schemat blokowy M 1 2 3 4 START KONIEC TAK M W pętli nr 1 zerujemy kolejne liczniki Tw [i] . W pętli nr 2 przeglądamy kolejne elementy zbioru, od pierwszego do ostatniego. Dla każdego elementu zwiększamy licznik o numerze równym danym wartościom elementów. Po tej pętli w „kubełkach” znajduje się określona liczba poszczególnych wartości elementów w sortowanym zbiorze. Zmienna j ma za zadanie umieszczać w zbiorze wyjściowym kolejne elementy – zaczynamy od początku zbioru dlatego j->1. W pętli 3 przeglądane są kolejne liczniki. Jeśli jego wartość jest większa od zera, to pętla 4 umieści w zbiorze wyjściowym odpowiednią ilość sortowanych liczb. Po zakończeniu pętli 3 elementy w zbiorze wyjściowym są posortowane. Koniec algorytmu. Tw[ ] - tablica liczników wartości o indeksach od wmin do wmax.

Lista kroków M d[j] ← i j ← j + 1 K01: Dla i = wmin , wmin + 1,...,wmax: wykonuj Tw[i] ← 0 K02: Dla i = 1,2,...,n: wykonuj Tw[ d[i] ] ← Tw[ d[i] ] + 1 K03: j ← 1 K04: Dla i = wmin , wmin + 1,...,wmax: wykonuj K05 K05:     Dopóki lw[i] > 0 wykonuj:        d[j] ← i         lw[i] ← lw[i] - 1         j ← j + 1 K06: Zakończ Tw[ ] - tablica liczników wartości o indeksach od wmin do wmax.

Schemat blokowy algorytmu scalania W tablicy p algorytm będzie zapisywał zbiór tymczasowy, który po scalaniu zostanie przeniesiony do zbioru d[ ], zastępując dwa scalane podzbiory. Poszczególne elementy w podzbiorach zostały oznaczone w następujący sposób: i1 - młodszy podzbiór od pozycji ip do is - 1 oraz i2 - starszy podzbiór od pozycji is do ik. Na początku algorytmu przypisujemy tym zmiennym indeksy pierwszych elementów w każdym podzbiorze. Indeksy elementów wstawianych do tablicy p[ ] są zawarte w zmiennej i . Wewnątrz pętli sprawdzamy, czy indeksy i1 i i2 wskazują elementy podzbiorów. Jeśli któryś z nich wyszedł poza dopuszczalny zakres, to dany podzbiór jest wyczerpany - w takim przypadku do tablicy p przepisujemy elementy drugiego podzbioru. Elementy podzbiorów porównujemy tak długo dopóki jeden z nich nie będzie pusty.

Schemat blokowy algorytmu scalania Do tablicy p[ ] zawsze wpisujemy mniejszy z porównywanych elementów. Dzięki temu elementy są uporządkowane w tworzonym zbiorze wynikowym. Po zapisie elementu w tablicy p[ ], odpowiedni indeks i1 lub i2 jest zwiększany o 1. Rośnie także indeks i, aby kolejny zapisywany element w tablicy p[ ] trafił na następne wolne miejsce. Pętla jest kontynuowana aż do zapełnienia w tablicy p[ ] obszaru o indeksach od ip do ik. W końcowej pętli, zostaje przepisany ten obszar z tablicy p[ ] do tablicy wynikowej d[ ]. Scalane zbiory zostają zapisane zbiorem wynikowym, który jest posortowany rosnąco.

Algorytm scalania Lista kroków algorytmu scalania K01: i1 ← ip;   i2 ← is;   i ← ip K02: Dla i = ip, ip + 1, ..., ik: wykonuj     jeśli (i1 = is) ∨ (i2 ≤ ik  i d[i1] > d[i2]), to         p[i] ← d[i2];   i2 ← i2 + 1     inaczej         p[i] ← d[i1];   i1 ← i1 + 1 K03: Dla i = ip, ip + 1,...,ik: d[i] ← p[i] K04: Koniec

Algorytm sortujący Lista kroków algorytmu sortującego K01: is ←  (ip + ik + 1) div 2 K02: Jeśli is - ip > 1, to podzbiór(ip, is - 1) K03: Jeśli ik - is > 0, to podzbiór(is, ik) K04: Scalaj(ip, is, ik) K05: Koniec 6

Schemat blokowy algorytmu sortującego START Algorytm sortowania przez scalanie, należy do grupy algorytmów rekurencyjnych. Wywołuje się go z określonymi wartościami parametrów ip oraz ik Podczas pierwszego wywołania funkcji indeksy powinny objąć cały zbiór d - zatem ip=1, natomiast ik=n. Aby podzielić sortowany zbiór na dwie części wyznacza się indeks is - dla młodszej połowy elementy od ip do is-1, dla starszej o indeksach elementów od is do ik . Kolejnym krokiem jest sprawdzenie czy w danej części zbioru jest więcej niż jeden element. Jeśli tak, to rekurencyjnie sortujemy ją tym samym algorytmem. Kiedy oba podzbiory zostaną posortowane scalamy je według schematu opisanego w poprzednim punkcie. Is-ip>1 TAK podzbiór (ip , is – 1) Ik-is>0 TAK podzbiór (is ,ik– 1) Scalaj (ip, is ,ik) KONIEC