Algorytmy z przykladami tp 7 0

background image

Algorytmy z przykładami

w Turbo Pascal 7.0

background image

Zagadnienia

Co to jest algorytm ?

Etapy rozwiązywania problemów.

Zapis algorytmu w postaci graficznej – schematy

blokowe.

Sytuacje warunkowe.

Iteracja, czyli działanie w pętli.

Przykład schematu blokowego.

Wstęp do programowania.

Prezentacja algorytmu w języku programowania.

Zakończenie.

background image

Co to jest algorytm ?

Na lekcjach matematyki czy fizyki większość zadań
rozwiązujemy według pewnych schematów ( wypisanie
danych, sprecyzowanie, które wartości trzeba wyliczyć,
czyli określenie „szukanych” ).Wypisujemy wzory
łączące dane z szukanymi lub szukamy twierdzenia ,
które można by zastosować. Rozwiązanie staramy się
opisać w możliwie jasny sposób.
Na lekcjach z informatyki również określaliśmy w
zadaniach dane i warunki, które muszą one spełniać,
np. czy ma to być tekst, liczba ( jej format ), data …

background image

Co to jest algorytm ?

Określaliśmy też wyniki, które chcemy otrzymać, a także
warunki, jakie powinny one spełniać. Rozpoczynaliśmy
jednak od sformułowania zadania.

Opisanie zadania, czyli szukanie związku, jaki zachodzi
między danymi a wynikami, nazywamy specyfikacją
zadania
.

Przedstawienie rozwiązania zadania w sposób
uporządkowany (tj. wyszczególnienie kolejnych czynności)
nazywamy algorytmem.

background image

Etapy rozwiązywania problemów

1.

Sformułowanie zadania.

2.

Określenie danych wejściowych.

3.

Określenie celu, czyli wyniku.

4.

Poszukiwanie metody rozwiązania, czyli algorytmu.

5.

Przedstawienie algorytmu w postaci:
- opisu słownego
- listy kroków
- schematu blokowego
- jednego z języków programowania

6.

Analiza poprawności rozwiązania.

7.

Testowanie rozwiązania dla różnych danych.

background image

Zapis algorytmu w postaci

graficznej – schematy blokowe

Sposoby rozwiązania zadań, czyli algorytmy, można prezentować
w postaci graficznej jako schematy blokowe.

W schemacie blokowym poszczególne operacje przedstawione są
za pomocą odpowiednio połączonych skrzynek (klocków,
bloków). Połączenia określają kolejność i sposób wykonywania
operacji realizujących dany algorytm. Schemat blokowy jest więc
niczym innym , jak graficznym przedstawieniem ciągu kroków
algorytmu.

W literaturze informatycznej przyjęto pewne standardowe
oznaczenia poszczególnych działań (są to figury geometryczne).

background image

Zapis algorytmu w postaci

graficznej – schematy blokowe

Oznaczenie miejsca rozpoczęcia
(begin);, zakończenia (end) lub
przerwania działania programu.

Wykonywanie róznych działań,
np. sumowania.

Operacje wprowadzania (read),
wyprowadzania (write) danych

do,

z pamięci operacyjnej

komputera.

Start

Z := A + B

Wprowadź Z

background image

Zapis algorytmu w postaci

graficznej – schematy blokowe

Operacja warunkowa (if),
określająca wybór jednej z

dwóch

możliwych dróg działania.

Proces określony poza
programem i z tego powodu nie
wymagający zdefiniowania w
rozpatrywanym programie
(podprogram).

Określa kierunek przepływu
danych lub kolejności
wykonywania zadań.

Z > 0

f1

background image

Sytuacje warunkowe

Z sytuacjami warunkowymi stykamy się w każdej dziedzinie

wiedzy i życia codziennego. Na pytanie: „Czy pada deszcz ?”

odpowiedź może brzmieć „tak” lub „nie”. W zależności od

tego czy warunek jest spełniony czy nie , wybieramy inne

rozwiązanie.
Z sytuacją warunkową mamy więc do czynienia wówczas,

gdy wynik lub dalsze działanie zależy od spełnienia warunku.

Czy

pada

deszcz ?

Tak

Tak

Nie

Zostaję w domu

.

Idę na spacer.

background image

Iteracja, czyli działanie w pętli

Czasem trzeba wykonać te same operacje na wielu
liczbach. W takich przypadkach nie jest konieczne
wielokrotne opisywanie takich samych działań. Stosujemy
wówczas iterację. Działania te wykonywane są w pętli.
Liczba powtórzeń tych samych działań może być z góry
określona lub zależeć od spełnienia warunku.

Start

Czytaj N (2)

S := 0

L := N (2)

Czy

L > 0

?

S := S + L (2)

L := L - 1 (1)

Tak

S := S + L (3)

L := L – 1 (0)

Nie

Pisz S

Koniec

background image

Przykład schematu blokowego

Start

Czytaj x

Czy

x >= 0

?

Nie

Pisz -x

Koniec

Pisz x

Koniec

Tak

background image

Wstęp do programowania

Do tej pory tworzyliśmy własne dokumenty – rysunki, teksty,

tabele arkusza kalkulacyjnego, proste bazy danych –

korzystając z gotowych programów komputerowych. Własne

programy piszemy posługując się językami programowania,

takimi jak Pascal, język C, Basic. Do programowania służą

programy – specjalne edytory wchodzące w skład środowiska

programowania, zawierające zwykle oprócz edytora

kompilator i inne narzędzia wspomagające programowanie,

np.: Turbo Pascal, C++, Visual Basic, Delphi.

Program jest to ciąg instrukcji wykonujący określony

algorytm. Aby zatem napisać własny program, musimy

poznać nie tylko instrukcje danego języka programowania,

ale przede wszystkim metody programowania.

background image

Prezentacja algorytmu w języku

programowania

Aby przedstawić algorytm w postaci programu, trzeba go
napisać jako ciąg instrukcji języka programowania. Każda
instrukcja podobnie jak skrzynka w schemacie blokowym
odpowiada określonej operacji, dlatego też kolejność
występowania instrukcji w programie określa kolejność
wykonywania operacji.

Nauka programowania nie polega jednak na nauczeniu się
na pamięć instrukcji danego języka, ale na zrozumieniu
zasad ich działania oraz na umiejętnym ich zastosowaniu.

background image

Prezentacja algorytmu w języku

programowania

Struktura programu.

Instrukcje wyjścia (write i writeln).

Instrukcje wejścia (read i readln).

Zmienne i najczęściej stosowane typy
.

Warunkowa instrukcja If.

Pętla For.

background image

Struktura programu

Poprawny program w Turbo Pascalu ma określoną strukturę.
Wygląda ona następująco:

Program nazwa_programu;

{ blok deklaracji }

Begin

{ blok instrukcji }

End.

W bloku deklaracji znajdują się deklaracje zmiennych.
Blok instrukcji zawiera ciąg instrukcji przeznaczonych do

wykonania

przez program, oddzielonych od siebie średnikami.
Komentarze zaznaczamy nawiasami klamrowymi {…..}.

background image

Instrukcje wyjścia (write i writeln)

Write() - powoduje wypisanie wartości
wyrażenia zawartego w nawiasie.

Writeln() - powoduje wypisanie wartości
wyrażenia zawartego w nawiasie i
przejście do nowego wiersza.

background image

Instrukcje wyjścia (write i writeln)

Program wypisuje imię i nazwisko w pierwszym wierszu a w
drugim adres osoby.

Algorytm

Kod źródłowy

Uruchomienie programu

background image

Program obrazujący instrukcje

wyjścia

Start

Pisz imię

i nazwisko

Przejście do

nowego wiersza

Pisz adres

Koniec

background image

Program obrazujący instrukcje

wyjścia

Program Dane;
{ Program wypisuje imię i nazwisko w pierwszym wierszu }
{ a w drugim adres osoby.

}

Begin

Writeln (‘Marek Pawlak’);
Writeln (‘ul. Ptasia 7, 68-300 Lubsko’);

End.

background image

Instrukcje wejścia (read i readln)

Bardzo często zdarza się taka sytuacja, że chcielibyśmy, aby
użytkownik podał dane, które następnie będą przez program
przetwarzane. Służą do tego instrukcje read i readln.

Read - powoduje odczytanie danych z klawiatury w takiej liczbie, ile
miała argumentów i takich typów, jakie dla nich zadeklarowano.
Wpisywanie danych musi zostać zakończone wciśnięciem klawisza
Enter.

Readln – jak powyżej tylko po wykonaniu instrukcji powoduje

przejście

do nowego wiersza.

background image

Instrukcje wejścia (read i

readln)

Program wczytuje dwie liczby i wypisuje ich sumę.

Algorytm

Kod źródłowy

Uruchomienie programu

background image

Program obrazujący instrukcje

wejścia

Start

Czytaj 1 liczbę

Czytaj 2 liczbę

Suma := 1 liczba + 2 liczba

Wypisz Suma

Koniec

background image

Program obrazujący instrukcje

wejścia

Program Sumowanie;
{ Program wczytuje dwie liczby i wypisuje ich sumę. }
Var
Liczba1, Liczba2, Suma : Integer;
Begin

Write (‘Podaj pierwsza liczbe: ‘);
Readln (Liczba1);
Write (‘Podaj drugą liczbe: ‘);
Readln (Liczba2);
Suma := Liczba1 + Liczba2;
Writeln (‘Podales ‘,Liczba1, ‘ i ‘,Liczba2,’. Ich suma to: ‘,Suma);

End.

background image

Zmienne i najczęściej stosowane

typy

Zmienne można sobie wyobrazić jako pojemniki, przechowujące

dane

w trakcie wykonania programu. Zmienne posiadają swoje nazwy,
poprzez które można odwoływać się do ich zawartości. Muszą zostać
zadeklarowane w bloku deklaracji w sekcji Var. Po tym słowie
kluczowym można je definiować, posługując się postacią nazwa :
typ
.
Kolejne deklaracje należy oddzielać średnikami.

Przykład:

Program Przykład;
Var
A : Integer;
B : String;

background image

Typy zmiennych

Cechą nieodłącznie związaną z każdą zmienną jest jej typ,
czyli rodzaj danych, które może pamiętać. Typ zmiennej należy

określić

już przy jej deklaracji i nie można go zmieniać.
Najczęściej stosowane typy to:

Byte - Liczba stałoprzecinkowa z zakresu 0.255.
Integer - Liczba stałoprzecinkowa z zakresu -32768…32767.
Char - Pojedynczy znak ASCII.
String – Łańcuch znaków (czyli tekst), nie dłuższy niż 255

znaków.

Real – Liczba zmiennoprzecinkowa.
Boolean – Wartość logiczna.

background image

Warunkowa instrukcja IF

Działa w ten sposób, że sprawdzana jest wartość warunku.

Jeżeli jest

on prawdziwy wykonywany jest blok instrukcji 1, a jeżeli nie –
blok instrukcji 2.

Przykład:

If Warunek Then

{ blok instrukcji 1 }

Else

{ blok instrukcji 2 }

background image

Warunkowa instrukcja If

Program wczytuje dwie liczby i wypisuje największą z nich.

Algorytm

Kod źródłowy

Uruchomienie programu

background image

Program obrazujący instrukcję If

Program Warunek;
{ Program wczytuje dwie liczby i wypisuje największą z nich. }
Var
Liczba1, Liczba2 : Integer;
Begin

Write (‘Podaj pierwsza liczbę: ‘);
Readln (Liczba1);
Write (‘Podaj drugą liczbę: ‘);
Readln (Liczba2);
If (Liczba1>Liczba2) Then
Writeln (‘Największa z liczb to: ‘,Liczba1);
Else
Writeln (‘Największa z liczb to: ‘,Liczba2);
Readln;

End.

background image

Program obrazujący instrukcję If

Start

Czytaj 1 liczbę

Czytaj 2 liczbę

Wypisz 2 liczba

Koniec

If 1 liczba > 2

liczba

Nie

Tak

Wypisz 1 liczba

Koniec

background image

Pętla For

Często zdarza się w programie, że jakąś czynność chcemy wykonać
wiele razy. Pascal oferuje nam kilka możliwości „zapętlenia”,
czyli wielokrotnego wykonywania bloku instrukcji. Najprostszą jest

pętla

for. Ma ona postać:

For zmienna := początek To koniec Do

{ blok instrukcji }

Cóż oznacza taki zapis ? Otóż blok instrukcji będzie wykonywany
wielokrotnie, dla zmiennej przyjmującej kolejno każdą wartość od
początek do koniec.
Zmienna, której wartość jest sprawdzana w pętli, nosi nazwę

zmiennej

sterującej.

background image

Pętla For

Program wypisuje na ekranie liczby od 1 do 10.

Algorytm

Kod źródłowy

Uruchomienie programu

background image

Program obrazujący instrukcję For

Program Petla;
{ Program wypisuje liczby od 1 do 10. }
Var
i : Byte;
Begin

For i := 1 To 10 Do

write (i, ‘ ‘);

Writeln;
Readln;

End.

background image

Program obrazujący instrukcję For

Start

Koniec

i = 10

Nie

Wypisz wartość

liczby i

i=i+1

Tak

background image

Zakończenie

Obecnie istnieje mnóstwo innych języków programowania - w tej chwili
bardzo popularnych, o których dużo się pisze, i w których dużo się
pisze. Kto dzisiaj pisze prawdziwe programy w Turbo Pascalu ?
Odpowiedź brzmi – nikt. Pascal jest jednak najlepszym sposobem
opisu rozwiązywania problemów informatycznych ( czyli prezentacji
algorytmów ). Jego trzon powstał właśnie w tym celu i ciągle do nauki
podstaw programowania jest niezastąpiony. Naukę tego języka
programowania należy traktować jedynie jako środek do nauki
myślenia programistycznego, a nie jako cel sam w sobie. Znając ten
język, nauka innych nie będzie dla Ciebie dużym problemem, a metody
rozwiązywania postawionych zadań będą podobne.


Document Outline


Wyszukiwarka

Podobne podstrony:
EC2 słup algorytm, przykłady
algorytmy przyklady
ŚCINANIE algorytm i przykład obliczania
Algorytm genetyczny – przykład zastosowania
4 algorytmy grafowe z przykladami
6 6 Zagadnienie transportowe algorytm transportowy przykład 3
Algorytmy i struktury?nych przykl zad
pierwsze przyklady algorytmow
Algorytmy i struktury danych przykład zadań
6 6 Zagadnienie transportowe algorytm transportowy przykład 2
Sciaga Przykladowe Zadania, !!!Uczelnia, wsti, materialy, II SEM, algorytmy struktury danych
6 6 Zagadnienie transportowe algorytm transportowy przykład 1
Algorytm genetyczny – przykład zastosowania
tp w 1 Języki algorytmiczne Tworzenie i eksploatacja programu
Algorytm wyjaśnij na dowolnym przykładzie
Co to jest algorytm wyjaśnij na przykładzie 2

więcej podobnych podstron