1 Wprowadzenie do algorytmiki

Podobne dokumenty
Wprowadzenie do algorytmiki

Algorytm. a programowanie -

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

Definicja algorytmu brzmi:

Definicje. Algorytm to:

Zapis algorytmów: schematy blokowe i pseudokod 1

Podstawy i języki programowania

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

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

POLITECHNIKA OPOLSKA

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

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

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.

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

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

Algorytmy i schematy blokowe

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

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

ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu:

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

METODY OPISU ALGORYTMÓW KOMPUTEROWYCH

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

ALGORYTMY I PROGRAMY

POLITECHNIKA OPOLSKA

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

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

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

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Wstęp do informatyki- wykład 2

Warunki logiczne instrukcja if

Algorytmy. Programowanie Proceduralne 1

Algorytm. Krótka historia algorytmów

Algorytm. Algorytmy Marek Pudełko

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

Algorytmy komputerowe. dr inŝ. Jarosław Forenc

Podstawy algorytmiki Dariusz Piekarz

WHILE (wyrażenie) instrukcja;

Technologie informacyjne - wykład 12 -

Wykład z Technologii Informacyjnych. Piotr Mika

Metodyki i techniki programowania

2.8. Algorytmy, schematy, programy

TEMAT: Podejmowanie decyzji w programie instrukcja warunkowa (IF).

Język ludzki kod maszynowy

Schematy blokowe. Algorytmy Marek Pudełko

Algorytmy. Programowanie Proceduralne 1

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

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

Wstęp do Programowania Lista 1

INFORMATYKA. Algorytmy.

WHILE (wyrażenie) instrukcja;

Algorytmy i struktury danych. wykład 2

Programowanie od pierwszoklasisty do maturzysty. Grażyna Koba

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

Podstawy programowania 2. Temat: Funkcje i procedury rekurencyjne. Przygotował: mgr inż. Tomasz Michno

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

Podstawy Programowania Algorytmy i programowanie

Poprawność semantyczna

Programowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Algorytmy, reprezentacja algorytmów.

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

Algorytmy i struktury danych

Programowanie w Turbo Pascal

KARTA PRACY UCZNIA. Klasa II

2. Graficzna prezentacja algorytmów

Metodyki i techniki programowania

FUNKCJA REKURENCYJNA. function s(n:integer):integer; begin if (n>1) then s:=n*s(n-1); else s:=1; end;

Lekcja 3: Pierwsze kroki z Pythonem. Pętle

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

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

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

Programowanie i techniki algorytmiczne

Scenariusz lekcji. Obliczanie NWD- algorytm Euklidesa.

Podstawy Informatyki. Algorytmy i ich poprawność

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

Podstawy Programowania

Wykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu

Sposoby zapisywania algorytmów

Sposoby przedstawiania algorytmów

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych

Język programowania PASCAL

Cw.12 JAVAScript w dokumentach HTML

ECDL Podstawy programowania Sylabus - wersja 1.0

Technologia informacyjna Algorytm Janusz Uriasz

Wykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu Tablice (wstęp) Rzut okiem na języki programowania

Algorytmika i pseudoprogramowanie

Programowanie w języku Python. Grażyna Koba

Pzetestuj działanie pętli while i do...while na poniższym przykładzie:

Kilka prostych programów

Zadanie 1. Test (6 pkt) Zaznacz znakiem X w odpowiedniej kolumnie P lub F, która odpowiedź jest prawdziwa, a która fałszywa.

Algorytmy i struktury danych

Algorytmy i struktury danych

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

1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci:

Wstęp do informatyki

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

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

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

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

Transkrypt:

Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności koniecznych do wykonania pewnego zadania. 2. Zestaw instrukcji do przetworzenia danych wejściowych na dane wyjściowe w określony sposób. 3. Algorytmem możemy nazwać algorytm Euklidesa znajdowania największego wspólnego dzielnika liczb, wyznaczanie podziału kąta na dwie równe części za pomocą cyrkla i linijki. Algorytmem możemy także nazwać procedurę wymiany uszkodzonego dysku twardego w komputerze. 4. Przykład algorytmu jako listy kroków w języku opisowym, za pomocą którego można obliczyć i wyświetlić średnią arytmetyczną dwóch liczb: 1) Pobierz pierwszą liczbę. 2) Pobierz drugą liczbę. 3) Dodaj pierwszą liczbę do drugiej. 4) Sumę podziel przez dwa. 5) Wyświetl iloraz. Cechy poprawnego algorytmu: 1. Kompletność: Algorytm uwzględnia wszystkie możliwe przypadki mogące wystąpić w trakcie rozwiązywania wyznaczonego problemu. Algorytm przewiduje wystąpienia błędów (numerycznych, logicznych i innych) oraz posiada wbudowane sposoby reagowania na nie (komunikaty, odpowiednie zakończenie swego działania, itd.). 2. Skończoność: Algorytm umożliwia osiągnięcie rozwiązania w skończonej liczbie kroków, tzn. w skończonym czasie. Dokładna liczba kroków nie jest jednak znana. Algorytm posiada warunek zakończenia. 1

3. Jednoznaczność: Algorytm musi dawać zawsze te same wyniki dla tych samych danych wejściowych. Algorytm musi być niezależny od momentu uruchomienia od innych programów, sprzętu oraz zmiennych środowiskowych. 4. Stabilność: Algorytm powinien dawać poprawne wyniki dla wprowadzonych dowolnych danych zgodnych z wcześniej zdefiniowanym rodzajem i typem. Algorytm to sformalizowany opis pewnej procedury. W celu uniknięcia nieporozumień co znaczenia pewnych słów, które spowodowałyby interpretację algorytmu, Wprowadzono umowne metody zapisu algorytmu. Najczęściej stosowane sposoby zapisu algorytmu: 1. Lista kroków (opis słowny). 2. Pseudo-język, pseudokod. 3. Konkretny język programowania. 4. Zapis graficzny (schemat blokowy). 1.2 Pseudokod Pseudokod jest jednym ze sposobów zapisu algorytmów. Jest to zastosowanie pseudojęzyka programowania. Zaletą takiego podejścia jest bardzo łatwa późniejsza implementacja za pomocą konkretnie wybranego języka programowania, np języka C. Dzieje się tak ponieważ większość konstrukcji podstawowych takich jak warunek, czy pętla, mają podobną postać w różnych językach. Poniżej przedstawiono typowe operacje używane do opisu algorytmu za pomocą omawianej metody. 1.2.1 Przypisanie s a + b 1.2.2 Zamiana a b 2

1.2.3 Porównanie równe: a = b większe: a > b mniejsze: a < b większe lub równe: a b mniejsze lub równe: a b różne: a! = b, lub a <> b 1.2.4 Wypisanie PRINT a 1.2.5 Instrukcja warunkowa if if a = b then PRINT a jest równa b else if a < b then PRINT a jest mniejsza od b else PRINT a jest większa od b end if end if 1.2.6 Pętla f or for i 1 to n do PRINT i end for 1.2.7 Pętla while while i < n do PRINT i i i + 1 end while 1.2.8 Pętla do while repeat PRINT i i i + 1 3

until i < n Algorytm w postaci pseudokodu, za pomocą którego można obliczyć i wyświetlić średnią arytmetyczną dwóch liczb: Algorithm 1 Obliczenie i wyświetlenie średniej arytmetycznej dwóch liczb całkowitych. INPUT a INPUT b s a + b sr s/2 PRINT sr 1.3 Schemat blokowy Schemat blokowy przedstawia algorytm za pomocą symboli graficznych z podziałem na operacje wejścia/wyjścia, operacje arytmetyczne, logiczne w odpowiedniej kolejności. Poniżej zaprezentowano najczęściej spotykane symbole graficzne używane do konstrukcji schematów blokowych: Rysunek 1: Bloki graniczne Bloki graniczne oznaczają początek i koniec algorytmu. Oba mają kształt owalu. Dochodzi do nich tylko jeden łącznik (wyjaśnienie tego terminu poniżej). Każdy schemat blokowy może posiadać dokładnie jeden blok START oraz co najmniej jeden blok STOP. Rysunek 2: Łącznik Łącznik łączy poszczególne bloki. Określa on kierunek przepływu danych lub kolejność wykonywanych operacji; często nazywany jest także ścieżką sterującą. Rysunek 3: Blok kolekcyjny Blok kolekcyjny łączy w jedną kilka ścieżek algorytmu. 4

Rysunek 4: Blok operacyjny Blok operacyjny symbolizuje operację lub grupę operacji, w wyniku których np. ulega zmianie wartość zmiennej. Tu - przypisanie wartości liczby całkowitej 10 zmiennej X. Bloki operacyjne mają kształt prostokąta. Wychodzi z niego jeden łącznik i wychodzi z niego także jeden. Rysunek 5: Blok wejścia/wyjścia Blok wyjścia/wejścia oznaczający operacje wprowadzania i wyprowadzania danych, wyników i komunikatów. Blok ma kształt równoległoboku; wchodzi i wychodzi z niego jeden łącznik. Rysunek 6: Blok decyzyjny Blok decyzyjny określa wybór jednej z dwóch możliwości postępowania; ma kształt rombu lub sześciokąta; wchodzi do niego jeden łącznik a wychodzą dwa: TAK, gdy zdefiniowany warunek jest spełniony, NIE, gdy nie jest on spełniony. Można wybrać jeden z dwóch dostępnych kształtów bloku decyzyjnego. Używając przedstawionych symboli graficznych możemy dowolny algorytm przedstawić w postaci schematu blokowego. 5

Rysunek 7: Schemat blokowy: algorytm obliczenia i wyświetlenia średniej arytmetycznej dwóch liczb. 1.4 Przykładowe zadania do wykonania Napisać w pseudokodzie i przedstawić za pomocą schematu blokowego następujące algorytmy: 1. Wczytujący dwie liczby i wypisujący ich sumę. 2. Wczytujący dwie liczby i wypisujący większą z nich. 3. Liczący wartość bezwzględną podanej liczby. 4. Liczący silnię (iteracyjnie) podanej liczby. 5. Algorytm Eukildesa znajdujący NWD dwóch liczb. 6. Algorytm Eukildesa znajdujący NWD dwóch liczb (z wykorzystaniem modulo). 7. Wczytujący trzy liczby i wypisujący największą z nich. 8. Liczący różnicę dwóch liczb i wypisujący jej wartość bezwzględną. 6