algorytmy i programy -...

28
ALGORYTMY I PROGRAMY

Upload: truonglien

Post on 27-Feb-2019

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

ALGORYTMY I PROGRAMY

Page 2: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

Program to ciąg instrukcji, zapisanych w języku zrozumiałym dla komputera.

Ten ciąg instrukcji realizuje jakiś algorytm.

Algorytm jest opisem krok po kroku jak rozwiązać problem, czy też

jak osiągnąć cel. Opis ten powinien być dokładny i nie pozostawiać

wątpliwości co trzeba wykonać.

Page 3: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

ETAPY ROZWIĄZYWANIA PROBLEMÓW

1. Sformułowanie zadania

2. Określenie danych wejściowych

3. Określenie celu, czyli wyniku

4. Przedstawienie algorytmu w postaci:

Opisu słownego

Listy kroków

Schematu blokowego

Jednego z języków programowania

5. Analiza poprawności rozwiązania

6. Testowanie rozwiązania dla różnych danych – ocena efektywności przyjętej

metody

Page 4: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

Dla algorytmu i programu wspólne są trzy podstawowe własności:

Poprawność – wykonanie algorytmu lub programu dla dowolnych danych

wejściowych przekazuje zawsze poprawne wyniki

Skończoność – wykonanie akcji odbywa się zawsze w skończonej liczbie

kroków

Sprawność – ten algorytm (program) jest lepszy, który szybciej liczy oraz

zajmuje mniej miejsca (pamięci) na dysku.

Page 5: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

Każdy algorytm (program) można podzielić na moduły.

Wydzielenie modułu w algorytmice to inaczej modularyzacja. W programach

moduły to inaczej procedury lub podprogramy.

Budowanie programów z procedur jest istotą programowania strukturalnego.

Page 6: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

ALGORYTM:

Opisany obrazkami – występuje

szeroko w instrukcjach

opisujących sposób montażu

zabawek dla dzieci, modeli do

sklejania, instrukcjach obsługi

Opisany słownie – występuje

we wszystkich instrukcjach

obsługi, na lekcjach wielu

przedmiotów w postaci opisu

doświadczenia, w informatyce

jako element poprzedzający

właściwe programowanie

Opisany schematem blokowym –

występuje głównie w nauczaniu

elementów informatyki i służy do

graficznego prezentowania i

rozwiązywania problemu, powinien

być poprzedzony opisem słownym

Opisany językiem programowania –

(program) występuje w nauczaniu

programowania w wybranym języku

programowania, powinien być

poprzedzony opisem słownym i

schematem blokowym

Page 7: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

Algorytmy można przedstawiać w postaci opisu słownego

lub w postaci schematu.Algorytm otwierania drzwi:naciśnij klamkę i pchnij

jeśli drzwi się otworzą

udało się – koniec.

w przeciwnym razie

włóż do zamka klucz, przekręć go i naciśnij klamkę

jeśli drzwi się otworzą

udało się – koniec.

w przeciwnym razie

nie udało się – koniec.

Algorytm obliczania 5!

1. weź kartkę i ołówek

2. wyznacz miejsce na wynik i liczbę

3. wpisz w miejsce liczby i wyniku jedynki

4. czynności opisane w nawiasie wykonuj, dopóki

liczba będzie mniejsza od 5:

5. {

6. dodaj do liczby jeden

7. pomnóż wynik przez liczę

8. }

9. wypisz wynik

Schemat blokowy obliczania 5!

Wynik 1

Liczba 1

Liczba Liczba + 1

Wynik Wynik * liczba

Liczba < 5tak

nie

Wypisz wynik

Page 8: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

Po napisaniu algorytmu w postaci schematu blokowego lub opisu słownego

można zapisać go w jakimś języku programowania, czyli stworzyć jego kod

źródłowy.

Istnieją takie języki programowania jak np. Java, C, C++, Logo, Pascal, Fortran,

Ada, Basic.

Program komputerowy, który poprawnie zinterpretuje treść programu

w danym języku programowania i przetłumaczy go linijka po linijce, na

język zrozumiały dla komputera to interpreter.

Aby uruchomić program, kod źródłowy należy najpierw skompilować, czyli

stworzyć program wykonywalny. Kod źródłowy umożliwia dokładną analizę

działania programu oraz wprowadzanie zmian.

Page 9: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

Program wykonywalny (inaczej kod maszynowy lub postać binarna) to wynik

kompilacji kodu źródłowego do postaci nadającej się do uruchamiania i używania

programu, ale nie do bezpośredniej analizy jego działania ani też do

wprowadzania zmian czy poprawek.

Kompilacja to zamiana kodu źródłowego na kod maszynowy, wykonywany

przez komputer. Robi to program komputerowy, zwany kompilatorem. Jeśli

kompilator „nie zrozumie” jakiegoś słowa w kodzie źródłowym, np. z powodu

literówki to po prostu odmówi kompilacji.

Page 10: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

SCHEMATY BLOKOWE

Page 11: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

Schematy blokowe buduje się z następujących elementów (klocków):

Klocki graniczne:

STARTUżywany do rozpoczęcia algorytmu (schematu),

może występować tylko jeden raz.

STOPUżywany do zakończenia algorytmu (schematu).

Występuje zwykle jeden, ale można używać kilku.

Page 12: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

Klocki wejścia i wyjścia:

Służy do wprowadzania danych (wartości) z zewnątrz.Podaj

wartość

Służy do wyprowadzania danych (wartości) na zewnątrz.Wyprowadź

wartość

Page 13: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

Klocek wykonawczy

W tym klocku można umieszczać jedną lub kilka

instrukcji. Korzysta się z instrukcji przypisania (:=)

i operatorów arytmetycznych (+, -, *, /, ^)

Instrukcje do

wykonania

Klocek warunkowy

W tym klocku umieszczamy tylko jedno

wyrażenie logiczne. Korzystamy z operatorów

logicznych (=, >, <, <=, >=, <>)

Wyrażenie

logiczne

Page 14: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

PRZYKŁADY ALGORYTMÓW

Page 15: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

RÓŻNICA DWÓCH LICZB

Początek algorytmu Różnica dwóch liczb

wprowadzenie

danej

podaj odjemną oznaczamy

go przez a

wprowadzenie

danej

podaj odjemnik oznaczamy

go przez b

wykonywanie

obliczeńr:=a-b

wyprowadzenie

wynikur

koniec algorytmu koniec programu liczącego sumę dwóch liczb

Page 16: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

BUDOWA ALGORYTMU – SUMA DWÓCH LICZB

Początek algorytmu Suma dwóch liczb

wprowadzenie

danej

podaj pierwszy składnik oznaczamy

go przez a

wprowadzenie

danej

podaj drugi składnik oznaczamy

go przez b

wykonywanie

obliczeńs:=a+b

wyprowadzenie

wynikus

koniec algorytmu koniec programu liczącego sumę dwóch liczb

Page 17: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

BUDOWA ALGORYTMU – ILORAZ DWÓCH LICZB

Początek algorytmu Iloraz dwóch liczb

Wprowadzenie danej podaj dzielną oznaczamy ją przez a

Wprowadzenie danej podaj dzielnik oznaczamy go przez b

Sprawdzenie warunku b=0

Jeżeli tak Jeżeli nie

Koniec algorytmu

Działanie niewykonalne!

Wykonywanie

obliczeń d:=a/b

Wyprowadzenie wyniku d

Koniec algorytmu

Koniec programu liczącego iloraz dwóch liczb

Page 18: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

BUDOWA ALGORYTMU – ŚREDNIA N LICZB

Początek algorytmu Średnia n-liczb

Wprowadzenie danej informujacej ile jest liczb

oznaczonej przez n

Wykonywanie obliczeńLista wykonania suma:=0

licznik:=0

Sprawdzenie warunku i<n

Jeżeli tak Jeżeli nie

Wprowadzenie danej x

Wyprowadzenie wyniku

średniaWykonanie obliczeń:

suma:=suma+x

licznik:=licznik+1

średnia:=suma/n Koniec algorytmu liczącego średnią

wprowadzonych n-liczb

Page 19: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

PRZYKŁADY SCHEMATÓW BLOKOWYCH

Page 20: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:
Page 21: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:
Page 22: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:
Page 23: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:
Page 24: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

ELBOX - LABORATORIUM INFORMATYKI (ELI)

W ELI schematy można budować z gotowych elementów - klocków.

Podstawowa paleta, zawiera kilkanaście klocków, z których buduje się

algorytmy.

Na zielonej planszy można układać algorytm, a następnie symulować jego

działanie.

Każdy algorytm musi mieć punkt startu (tylko jeden). Powinien mieć również

co najmniej jeden klocek, na którym się kończy.

W ciągu klocków pomiędzy punktem startu i końca nie może być dziur -

przerw w połączeniach między klockami.

Page 25: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

1. Otworzyć nowy projekt Plik/Nowy projekt i zaznaczyć w oknie Nowy projekt przycisk Plansza.

2. Bloki przenosimy z palety umieszczonej obok planszy metodą uchwyći upuść.

3. Bloki umieszczone omyłkowo na planszy usuwamy, przenosząc je poza plansze metodą uchwyć i upuść.

4. Aby wpisać operację (komunikaty, nazwy zmiennych, działania) do bloku (klocka), otwieramy okno dialogowe, naciskając prawy klawisz myszy w obszarze danego bloku (klocka).

5. W prostym schemacie połączenie bloków (klocków) realizuje się przez „doklejanie” bloku do bloku.

6. W rozbudowanym schemacie używa się bloków (klocków) połączeń Linie

Aby zbudować schemat blokowy w programie

ELI, należy:

Page 26: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

1. Każda operacja jest umieszczona w bloku (klocku).

2. Schemat rozpoczyna się zawsze blok (klocek). Początek algorytmu

3. Na końcu schematu jest blok (klocek). Koniec algorytmu (musi być

przynajmniej jeden taki blok /klocek/ w danym schemacie)

4. Dane wprowadzamy za pomocą bloku (klocka). Wprowadzenie

danej

5. Obliczenia wpisujemy do bloku (klocka). Wykonanie obliczeń

6. Wyniki obliczeń wyświetla się za pomocą bloku (klocka).

Wyprowadzenie wyniku

7. Bloki (klocki) są ze sobą połączone.

8. Z bloku wychodzi jedno połączenie; wyjątek stanowi blok (klocek)

Koniec algorytmu, z którego nie wychodzi żadne połączenie i blok

(klocek). Sprawdzenie warunku, z którego wychodzą dwa

połączenia.

Tworzenie schematu blokowego algorytmu za pomocą programu

edukacyjnego ELI 2.0

Page 27: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

Początek algorytmu - wyświetla komunikat, rozpoczyna wykonywanie

algorytmu.

Koniec algorytmu - wyświetla wpisany w nim komunikat, kończy wykonanie

algorytmu.

Wykonanie obliczeń - wykonuje kolejno obliczenia (zmienne uzyskują

wartości).

Sprawdzenie warunku - rozgałęzienie algorytmu - kieruje wykonanie lewą lub

prawą stroną.

Wprowadzenie danej - przypisuje zmiennej pobraną wartość.

Wyprowadzenie wyniku - wyświetla komunikat i obliczoną wartość wpisanego

wyrażenia.

Odczytaj z tablicy - przypisuje zmiennej wartość odczytaną z pola tablicy.

Zapisz do tablicy - wpisuje wartość do pola tablicy.

Wywołanie procedury - przejście do wykonywania procedury.

Początek procedury - rozpoczyna wykonanie procedury.

Koniec procedury - kończy procedurę i powoduje powrót do nadrzędnego

algorytmu.

Deklaracja zmiennych globalnych, czyli wspólnych dla różnych plansz

projektu.

Sygnał dźwiękowy i wyświetlenie komunikatu.

Page 28: Algorytmy i programy - swirus.weebly.comswirus.weebly.com/uploads/5/8/0/3/5803808/algorytmy_i_programy.pdf · metody. Dla algorytmu i programu wspólne są trzy podstawowe własności:

WŁAŚCIWE I WADLIWE KONSTRUKCJE Z KLOCKÓW