Definicje. Algorytm to:



Podobne dokumenty
Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Algorytm. Krótka historia algorytmów

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Technologia informacyjna Algorytm Janusz Uriasz

Technologie informacyjne - wykład 12 -

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Wprowadzenie do algorytmiki

1 Wprowadzenie do algorytmiki

Spis treści. Część I Metody reprezentowania informacji oraz struktury danych...9. Wprowadzenie Rozdział 1. Reprezentacja liczb całkowitych...

Algorytm. a programowanie -

START. Wprowadź (v, t) S:=v*t. Wyprowadź (S) KONIEC

Algorytm. Krótka historia algorytmów

Algorytm. Definicja i algorytmu METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE

Język ludzki kod maszynowy

Definicja algorytmu brzmi:

Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu,

Programowanie strukturalne

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

POLITECHNIKA OPOLSKA

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

POLITECHNIKA OPOLSKA

Algorytmy. dr Dariusz Banaś (UJK) Seminarium w ramach projektu Fascynujący Świat Nauki dla uczniów gimnazjów. wersja 0.9. Start.

Algorytmika i programowanie. dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym

Podstawy programowania

ALGORYTMY I PROGRAMY

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

Informatyka wprowadzenie do algorytmów (II) dr hab. inż. Mikołaj Morzy

Algorytm. Algorytmy Marek Pudełko

Algorytmy, reprezentacja algorytmów.

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Wykład z Technologii Informacyjnych. Piotr Mika

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 7 Algorytmy

Algorytmy komputerowe. dr inŝ. Jarosław Forenc

Podstawy Programowania Algorytmy i programowanie

Programowanie komputerów

Programowanie w języku C++ Grażyna Koba

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

Wstęp do informatyki- wykład 2

Zapis algorytmów: schematy blokowe i pseudokod 1

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Algorytmy i schematy blokowe

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]

Metodyki i techniki programowania

Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

Zespół Szkół nr 9 Im. Romualda Traugutta Ul. Jedności Koszalin

Schematy blokowe. Algorytmy Marek Pudełko

METODY OPISU ALGORYTMÓW KOMPUTEROWYCH

2. Graficzna prezentacja algorytmów

Podstawy i języki programowania

Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL

Metodyki i techniki programowania

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

Gimnazjum w Tęgoborzy - Algorytmika Strona 1 z 22 mgr Zofia Czech

ZARZĄDZANIE PROJEKTAMI I PROCESAMI. Mapowanie procesów AUTOR: ADAM KOLIŃSKI ZARZĄDZANIE PROJEKTAMI I PROCESAMI. Mapowanie procesów

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

Poprawność semantyczna

2.8. Algorytmy, schematy, programy

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy Informatyki. Algorytmy i ich poprawność

Podstawy Informatyki. Programowanie. Inżynieria Ciepła, I rok. Co to jest algorytm? Istotne cechy algorytmu

Algorytmy i struktury danych

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych

Programowanie w języku Python. Grażyna Koba

Podstawy Informatyki. Metalurgia, I rok niestacjonarne. Wykład 2 Algorytmy

W szkole podstawowej materiał przedstawiony powinien być w następującej kolejności:

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

ECDL Podstawy programowania Sylabus - wersja 1.0

Podstawy programowania w języku C

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

Scenariusz lekcji opartej na programie Program nauczania informatyki w gimnazjum DKW /99

Algorytmy od problemu do wyniku

Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

KARTA PRACY UCZNIA. Klasa II

Zbiór zadañ z informatyki. Nie tylko dla maturzystów

Sposoby przedstawiania algorytmów

ZARZĄDZANIE PROCESAMI I PROJEKTAMI. Zakres projektu. dr inż. ADAM KOLIŃSKI ZARZĄDZANIE PROCESAMI I PROJEKTAMI. Zakres projektu. dr inż.

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

KOŁO MATEMATYCZNE LUB INFORMATYCZNE - klasa III gimnazjum, I LO

Języki programowania zasady ich tworzenia

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Efektywność algorytmów

Informatyka klasa III Gimnazjum wymagania na poszczególne oceny

Zapisywanie algorytmów w języku programowania

TWORZENIE SCHEMATÓW BLOKOWYCH I ELEKTRYCZNYCH

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Programowanie od pierwszoklasisty do maturzysty. Grażyna Koba

Algorytmy i struktury danych. wykład 2

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

if (wyrażenie ) instrukcja

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Algorytmy. Programowanie Proceduralne 1

Transkrypt:

Algorytmy

Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi do rozwiązania danego problemu przepis opisujący krok po kroku rozwiązanie problemu lub osiągnięcie jakiegoś celu

Rodzaje algorytmów Algorytm algebraiczny - przepis (zbiór instrukcji przekształcania) przetwarzania tzw. danych wejściowych krok po kroku według wskazanej instrukcji (reguły) przetwarzania w celu uzyskania wyników przetwarzania, tzw. danych wyjściowych. Dane, które uzyskuje się w kolejnych krokach przetwarzania nazywane są danymi pośrednimi.

Rodzaje algorytmów Algorytm niealgebraiczny - ciąg prostych zdań lub pytań uporządkowanych w logicznej kolejności (od najbardziej ogólnych do najbardziej szczegółowych) w taki sposób, aby trzeba było czytać tylko te zdania, które odnoszą się do danego przypadku. [L. Jung, Podstawy użytkowania komputerów - algorytmy i komputery, WAT 1981]

Algorytmika podstawowy dział informatyki poświęcony poszukiwaniom, konstruowaniu i badaniom algorytmów, zwłaszcza w kontekście ich przydatności do rozwiązywania problemów za pomocą komputerów. autorem nazwy dziedziny jest D. Haral (Spirit of Computing).

Algorytmy wokół nas Przykłady z życia codziennego: przepisy kulinarne instrukcje dotyczące podłączeń określonych urządzeń włączanie komputera uruchamianie samochodu

Algorytm w informatyce schemat postępowania podczas rozwiązania zadania określonego typu zbiór reguł postępowania dzięki, któremu na podstawie informacji wejściowych uzyskujemy efekt w postaci wyników sposób rozwiązania zadania z wykorzystaniem narzędzi informatycznych

Algorytm, jako element procesu programowania Programowanie to zespół czynności umożliwiających rozwiązanie określonego problemu przy pomocy komputera. Obejmuje ono: opracowanie algorytmu zapis algorytmu w postaci zrozumiałej dla komputera - w języku programowania kontrolę poprawności działania programu, testowanie i usuwanie błędów problem algorytm program komputer

Język programowania Język przeznaczony do zapisu algorytmów realizowanych przez komputer Języki programowania dzielimy na dwie grupy: niskiego poziomu (asemblerowe) - instrukcje języka maszynowego są zapisywane za pomocą symboli: jednemu rozkazowi odpowiada jeden symbol; programowanie jest żmudne, ale programy są bardzo szybkie wysokiego poziomu - instrukcje zapisywane są w formie zbliżonej do języka naturalnego (znaki matematyczne+ język angielski); jednej instrukcji odpowiada ciąg rozkazów języka maszynowego, np. Pascal, Logo, C++

Cechy algorytmu Poprawność Skończoność Określoność Efektywność Ogólność

Sposoby zapisu algorytmów Każdy algorytm powinien posiadać specyfikację, w której określamy: dane, z których korzysta algorytm, wyniki, które powinien dawać, zmienne pomocnicze niezbędne do realizacji algorytmu Uniwersalny algorytm operuje na zmiennych. Zmienna to pojemnik na dane, może być oznaczana dowolną literą lub łańcuchem znaków, np. a, bok_a Wyrażenia składają się ze stałych, zmiennych, operatorów (+, -, *, /) i funkcji matematycznych. Budując wyrażenie warunkowe korzystamy z operatorów relacyjnych: =, >, <, <=, >=, <> Instrukcja przypisania (:=), np. a:=b+7 oznacza podstawienie pod zmienną a wartości zmiennej b zwiększonej o 7, jeśli b=5, a=12

Rodzaje sieci działań: proste (sekwencyjne) - nie używa się w nich bloków warunkowych. W takiej sieci działań kolejność realizacji poszczególnych operacji jest ściśle określona i żadna z nich nie może być pominięta ani powtórzona z rozwidleniem - zawiera w sobie wybór jednej z kilku możliwych dróg realizacji danego zadania. Istnieje w nim przynajmniej jeden blok warunkowy z pętlą, często w trakcie realizacji danego zadania konieczne jest powtórzenie niektórych operacji różniących się jedynie zestawem danych. Pętla obejmuje tą część bloków, która ma być powtarzana złożone - będące kombinacją powyższych sieci

Sposoby zapisu Algorytmy można przedstawiać stosując: opis słowny (np. przepisy kulinarne w książce kucharskiej) lista kroków pseudokod schemat blokowy (sieć działań, flow chart, flow diagram) umowny język programowania język programowania wysokiego poziomu, np. Pascal lub C++

Opis słowny polega na logicznym i zrozumiałym dla odbiorcy przedstawieniu kolejnych czynności (akcji), jakie należy wykonać, aby osiągnąć zamierzony efekt przykładami takiego opisu algorytmu mogą być: przepis kulinarny, recepta wykonania leku, metoda rozwiązania zadania

Lista kroków Wczytaj wartość pierwszego boku, zmienna a Wczytaj wartość drugiego boku, zmienna b Oblicz p jako iloczyn a*b Wyświetl p

Pseudokod program kwadrat {nagłówek programu} zmienne a, b: rzeczywiste {deklaracje zmiennych} początek {początek programu właściwego} czytaj (a) {wczytanie danych} czytaj (b) p:=a*b {instrukcja przypisania} pisz (p) {wyświetlenie wyniku} koniec {koniec programu właściwego}

Schemat blokowy Początek sieci działań (schematu). W schemacie może występować tylko jeden taki element.

Blok wejścia-wyjścia - oznacza czynność wprowadzania danych i przyporządkowywania ich zmiennym używanym w dalszej części programu albo czynność wyprowadzania wyników obliczeń. Napis wewnątrz określa rodzaj czynności (np. czytaj, pisz) oraz nazwy zmiennych i stałych.

Element (blok) przetwarzania (obliczeniowy) oznacza wykonanie operacji (lub zbioru operacji). Wewnątrz bloku określa się rodzaj czynności przetwarzania i ich argumenty.

Blok decyzyjny (warunkowy, alternatywny, przełącznik) - oznacza element wyboru jednego z dwóch wariantów dalszego wykonywania programu. Wybór jest dokonywany na podstawie wyniku sprawdzenia warunku (będącego wyrażeniem logicznym) umieszczonego wewnątrz. Blok ten powinien zawsze posiadać dwa wyjścia opisane "T" (Tak, True) i "N" (Nie, False).

Łącznik wewnątrzstronicowy służy do łączenia odrębnych części schematu znajdujących się na tym samym arkuszu. Ułatwia zachowanie przejrzystości schematu.

Zakończenie wykonywania czynności.

Reguły, wg których budujemy schematy blokowe Każdy algorytm ma tylko jeden początek Wszystkie drogi muszą kończyć się na bloku Stop (Koniec) Wszystkie bloki muszą mieć zgodną z ich budową liczbę wejść i wyjść Każda linia musi być opatrzona strzałką informacyjną o kierunku przepływu informacji

Przykład 1 Sformułuj algorytm obliczający pole prostokąta o długościach boków podanych przez użytkownika Specyfikacja algorytmu: Dane: a pierwszy bok prostokąta, liczba rzeczywista większa od 0 b drugi bok prostokąta, liczba rzeczywista większa od 0 Wynik: - p- pole prostokąta

start Wczytaj a Wczytaj b P:=a*b Pisz p koniec

Zadania do samodzielnego wykonania Napisz algorytm (opis słowny), wg którego sporządzisz swoją ulubioną potrawę. Napisz algorytm w postaci schematu blokowego i pseudokodu zwracający wartość bezwzględną liczby podanej przez użytkownika. Napisz algorytm w postaci listy kroków i schematu blokowego informujący, czy liczba podana przez użytkownika jest większa, mniejsza czy równa 0