Wykład z Technologii Informacyjnych. Piotr Mika

Podobne dokumenty
ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

TEORETYCZNE PODSTAWY INFORMATYKI

Technologie informacyjne - wykład 12 -

Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Teoretyczne podstawy informatyki

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

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

Algorytm. Krótka historia algorytmów

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

Definicje. Algorytm to:

Algorytmy i schematy blokowe

Temat 20. Techniki algorytmiczne

Wprowadzenie do algorytmiki

1 Wprowadzenie do algorytmiki

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

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

5. Rozwiązywanie układów równań liniowych

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

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

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Technologia informacyjna Algorytm Janusz Uriasz

Algorytm. Krótka historia algorytmów

Programowanie i techniki algorytmiczne

KARTA PRACY UCZNIA. Klasa II

Zad. 3: Układ równań liniowych

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

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Sposoby przedstawiania algorytmów

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

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

Zapis algorytmów: schematy blokowe i pseudokod 1

Wstęp do informatyki- wykład 2

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

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych

METODY NUMERYCZNE. wykład. konsultacje: wtorek 10:00-11:30 środa 10:00-11:30. dr inż. Grażyna Kałuża pokój

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

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

koniec punkt zatrzymania przepływów sterowania na diagramie czynności

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

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

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.

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

POLITECHNIKA OPOLSKA

Wymagania edukacyjne z matematyki dla zasadniczej szkoły zawodowej na poszczególne oceny

METODY OPISU ALGORYTMÓW KOMPUTEROWYCH

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

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

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

POLITECHNIKA OPOLSKA

Co to jest wektor? Jest to obiekt posiadający: moduł (długość), kierunek wraz ze zwrotem.

Podstawy programowania w języku C

Sposoby zapisywania algorytmów

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

Cw.12 JAVAScript w dokumentach HTML

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

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Podstawy Informatyki Systemy sterowane przepływem argumentów

Wstęp do programowania

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

Sortowanie Shella Shell Sort

Definicja algorytmu brzmi:

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

Zapisywanie algorytmów w języku programowania

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

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

UKŁADY RÓWNAŃ LINIOWYCH - Metody dokładne

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Algorytm. a programowanie -

2. Graficzna prezentacja algorytmów

Arytmetyka liczb binarnych

Estymacja wektora stanu w prostym układzie elektroenergetycznym

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

Instrukcje cykliczne (pętle) WHILE...END WHILE

JAVAScript w dokumentach HTML (2)

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Pętle. Programowanie komputerowe

Podstawy Programowania Algorytmy i programowanie

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

Zagadnienia do małej matury z matematyki klasa II Poziom podstawowy i rozszerzony

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY 7SP. V. Obliczenia procentowe. Uczeń: 1) przedstawia część wielkości jako procent tej wielkości;

MATEMATYKA KLASA II LICEUM OGÓLNOKSZTAŁCĄCEGO

FUNKCJE LICZBOWE. Na zbiorze X określona jest funkcja f : X Y gdy dowolnemu punktowi x X przyporządkowany jest punkt f(x) Y.

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

wagi cyfry pozycje

UKŁADY RÓWNAŃ LINIOWYCH -Metody dokładne

Podstawy Programowania C++

Matematyka liczby zespolone. Wykład 1

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Algorytmy komputerowe. dr inŝ. Jarosław Forenc

Katarzyna Bereźnicka Zastosowanie arkusza kalkulacyjnego w zadaniach matematycznych. Opiekun stypendystki: mgr Jerzy Mil

Algorytmy i struktury danych

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

INFORMATYKA

Transkrypt:

Wykład z Technologii Informacyjnych Piotr Mika

Uniwersalna forma graficznego zapisu algorytmów Schemat blokowy zbiór bloków, powiązanych ze sobą liniami zorientowanymi. Jest to rodzaj grafu, którego węzły reprezentowane są przez bloki Bloki reprezentują operacje, które należy wykonać Linie skierowane wskazują drogi i kolejność wykonywania operacji Kształt bloku i treść zapisana we wnętrzu pokazują na rodzaj czynności 2

Operacje Wykonywane bezwarunkowo niezależnie od sytuacji w realizowanym procesie Wykonywane warunkowo zależnie od dynamicznych uwarunkowań 3

Bloki operacyjne (operacje wykonywane bezwarunkowo): wejścia i wyjścia Zmiany wartości wewnątrz algorytmu Startu algorytmu Stopu algorytmu Bloki sterujące (decyzyjne) (operacje wykonywane warunkowo) Bloki komentarzy Bloki łącznikowe 4

Reprezentują operacje bezwarunkowe, np. wejście Obliczenie wyznacznika D macierzy A[n,n] D=detA[n,n] S=S+6 Dodaj do licznika rozkazów 1 lr=lr+1 wyjście Blok w języku naturalnym Blok zorientowany na języki algorytmiczne Blok zorientowany na operacje maszynowe 5

Blok operacyjny może mieć kilka wejść, ale istnieje tylko jedno wyjście S=S+6 S=S+6 6

zmienna = wyrażenie = oznacza znak operacji podstawienia (nie równości!) S=S+6 Nowa wartość S Poprzednia, stara wartość S 7

Wejścia - ilustrują czynność podania z zewnątrz konkretnych wartości, dla których przeprowadzane są obliczenia Wyjścia - ilustrują wyprowadzenie konkretnych wartości, które reprezentują rezultaty obliczeń Mogą posiadać kilka wejść Mają jedno wyjście wejście wyjście wejście Wprowadzanie A, B, C Wyprowadzanie X, Y, Z wyjście 8

Tylko jedno wyjście Jedno lub kilka wejść START STOP STOP 9

zmienna wyrażenie zmienna I I wyrażenie 10

zmienna komentarz wyrażenie 11

Opisują możliwość wykonania rozgałęzienia dróg obliczeń w algorytmie w zależności od spełnienia lub niespełnienia odpowiednich warunków Najczęściej spotykane są bloki sterujące realizujące sprawdzenie drogi 2-wartościowej (prawda lub fałsz) a R b (relacja R spełniona lub niespełniona), np. I+6<k+1 R {=,, <,, >, } a, b wyrażenie arytmetyczne 2 drogi wyjściowe oznaczają, że w zależności od danych wejściowych realizowana jest tylko jedna z dróg 12

TAK a R b Nie Droga 1: relacja zachodzi, a R b prawda Droga 2: relacja nie zachodzi, a R b fałsz P < N+1 TAK (P<N+1) NIE (P>=N+1) 13

W przypadku konieczności zrealizowania rozgałęzienia na więcej niż 2 drogi należy stosować odpowiednią sekwencję bloków sterujących TAK <0 NIE =0 Nie, > 0 Tak, = 0 14

Algorytm wyznaczania pierwiastków rzeczywistych równania stopnia drugiego W schematach nie wyróżniamy bloku ilustrującego skok, przedstawia go odpowiednia linia Blok łącznikowy 1 pokazuje połączenie bloków 4 i 8 15 Rysunki za: Laboratorium podstaw informatyki, wyd. Politechniki Warszawskiej

Ze względu na przejrzystość operacje wykonywane wielokrotnie w podobny sposób ilustruje schemat pętli (cyklu). Zazwyczaj wskazujemy następujące fazy organizacji pętli: Ustalania warunków indeksów początkowych i wartości zmiennych roboczych cyklu Zbiór operacji w pętli 1 lub wiele operacji, które będą wielokrotnie wykonywane dla kolejnych danych Mechanizm pobierania nowych danych zapewnia to zazwyczaj zmiana liczników ustalających kolejne wartości indeksów danych Sprawdzenie warunków zakończenia cyklu zazwyczaj sprawdzenie, czy wszystkie dane zostały już wyczerpane lub czy odpowiednie warunki obliczeń zostały spełnione 16

Liczenie sumy n-wyrazów 17

Pętle nie mogą się przenikać, pętla zewnętrzna musi zawierać pętlę wewnętrzną Pętla o określonej liczbie kroków Pętla nieskończona 18

Do typowych problemów w których pojawia się konstrukcja pętli (cyklu), zaliczamy: Sortowanie i wyszukiwanie danych Operacje na macierzach Działania cykliczne wykonywane na ciągach danych Obliczenia iteracyjne, występujące w trakcie numerycznego wyznaczania rozwiązania Modelowanie i symulacja zjawisk rzeczywistych 19

mnożenie macierzy przez wektor 20

Powierzchnia i objętość prostopadłościanu, kuli, czworościanu Wartość silni Wartość funkcji sin(x), e x, log(x), ln(x) z dokładnością do ε, korzystając z rozwinięcia w szereg Wybór maksymalnego/minimalnego elementu macierzy/wektora z podaniem indeksu tego elementu Posortowanie elementów wektora w porządku malejącym/rosnącym Iloczyn skalarny wektorów Operacje macierzowe dodawanie, odejmowanie, mnożenie macierzy; ślad macierzy, wyznacznik macierzy 21

Najprostszy sposób zapisu to zapis słowny pozwala określić kierunek działań i odpowiedzieć na pytanie, czy zagadnienie jest możliwe do rozwiązania. Bardziej konkretny zapis to lista kroków Staramy się zapisać kolejne operacje w postaci kolejnych kroków które należy wykonać Budowa listy kroków obejmuje następujące elementy sformułowanie zagadnienia (zadanie algorytmu) określenie zbioru danych potrzebnych do rozwiązania zagadnienia (określenie czy zbiór danych jest właściwy) określenie przewidywanego wyniku (wyników): co chcemy otrzymać i jakie mogą być warianty rozwiązania zapis kolejnych ponumerowanych kroków, które należy wykonać, aby przejść od punktu początkowego do końcowego Bardzo wygodny zapis to zapis graficzny Schematy blokowe i grafy 22

Algorytm liniowy Ma postać ciągu kroków które muszą zostać bezwarunkowo wykonane jeden po drugim. Algorytm taki nie zawiera żadnych warunków ani rozgałęzień: zaczyna się od podania zestawu danych, następnie wykonywane są kolejne kroki wykonawcze, aż dochodzimy do wyniku Np. dodanie lub mnożenie dwóch liczb 1. Sformułowanie zadania: oblicz sumę dwóch liczb naturalnych a,b. Wynik oznacz przez S. 2. Dane wejściowe: dwie liczby a i b 3. Cel obliczeń: obliczenie sumy S = a + b 4. Dodatkowe ograniczenia: sprawdzenie warunku dla danych wejściowych np. czy a, b są naturalne. Ale sprawdzenie takiego warunku sprawia że algorytm przestaje być liniowy 23

Algorytm z rozgałęzieniem Większość algorytmów zawiera rozgałęzienia będące efektem sprawdzania warunków. Wyrażenia warunkowe umożliwiają wykonanie zadania dla wielu wariantów danych i rozważanie różnych przypadków. 1. Sformułowanie zadania Znajdź rozwiązanie równania liniowego postaci a x + b = 0. Wynikiem jest wartość liczbowa lub stwierdzenie dlaczego nie ma jednoznacznego rozwiązania. 2. Dane wejściowe Dwie liczby rzeczywiste a i b 3. Cel obliczeń (co ma być wynikiem) Obliczenie wartości x lub stwierdzenie, że równanie nie ma jednoznacznego rozwiązania. gdy a = 0 to sprawdź czy b = 0, jeśli tak to równanie sprzeczne lub tożsamościowe gdy a 0 to oblicz x = -b/a 24

Algorytm z powtórzeniami Powtarzanie różnych działań ma dwojaką postać: liczba powtórzeń jest z góry określona (przed rozpoczęciem cyklu) najczęściej związany z działaniami na macierzach liczba powtórzeń jest nieznana (zależy od spełnienia pewnego warunku) najczęściej związany z obliczeniami typu iteracyjnego 25