Algorytmy i struktury danych
Laboratorium 1
Wprowadzenie do algorytmów
Przykład 1. Algorytm gotowania jajka na miękko.
Start
Krok 1
. Włóż jajko do gotującej się wody.
Krok 2
. Zanotuj czas początkowy t
0
.
Krok 3
. Oczytaj czas aktualny t.
Krok 4
. Oblicz t = t - t
0
.
Krok 5
. Jeśli t < 3 min., to przejdź do kroku 3.
Krok 6
. Wyjmij jajko z gotującej się wody.
Stop
Przykład 2. Algorytm ......................................................................... (Uzupełnij nazwę
algorytmu)
Reguły i sposoby rysowania schematów blokowych
1) Każda operacja, relacja lub informacja umieszczona jest w skrzynce.
2) Kolejność wykonywania operacji wyznaczają połączenia między skrzynkami.
3) Każde połączenie jest zaczepione początkiem do skrzynki, a końcem do innej skrzynki
lub innego połączenia; żadne połączenie nie rozdziela się.
4) Skrzynki przybierają kształty: prostokąta, rombu (lub sześciokąta), równoległoboku,
okręgu lub owalu.
5) Każdy schemat blokowy musi mieć tylko jeden element startowy oraz co najmniej
jeden element końca algorytmu.
START
Czytaj x
x = = 0
x > 0
STOP
Wypisz „Liczba
równa zero”
Wypisz „Liczba
dodatnia”
Wypisz „Liczba
ujemna”
N
N
N
T
T
Algorytmy i struktury danych
Laboratorium 1
Wprowadzenie do algorytmów
W
Instrukcja 1
W
Instrukcja 1
Instrukcja 2
Schematy blokowe są zbudowane ze strzałek oraz niżej przedstawionych elementów:
Element
Opis
Skrzynki graniczne START i STOP
Skrzynka operacyjna.
Skrzynka
wprowadzania
i
wyprowadzania informacji
Skrzynka warunkowa (decyzyjna)
Skrzynka łącznikowa
Skrzynka komentarza
Instrukcje warunkowe
Kod w C++
Schemat blokowy
if(wyrażenie warunkowe W)
{
//instrukcje 1
}
if(wyrażenie warunkowe W)
{
//instrukcje 1
}
else
{
//instrukcje 2
}
N
T
N
T
Algorytmy i struktury danych
Laboratorium 1
Wprowadzenie do algorytmów
ZADANIA
1. Zdefiniować pojęcie algorytmu.
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
2. Wymienić sposoby przedstawiania algorytmów:
1) ..............................................................................................................
2) ..............................................................................................................
3) ..............................................................................................................
4) ..............................................................................................................
3. Wymienić cechy algorytmów
1) ..............................................................................................................
2) ..............................................................................................................
3) ..............................................................................................................
4) ..............................................................................................................
4. Narysować schemat blokowy obliczania pola kwadratu przy danym jego boku. Bok
kwadratu jest podawany przez użytkownika. Obliczone pole kwadratu jest
wyświetlane na konsolę.
5. Narysować schemat blokowy sprawdzający, czy suma dwóch liczb podanych przez
użytkownika jest równa sto, czy nie. Jeśli tak, wyświetlana jest informacja „ suma
liczb jest równa sto”, jeśli nie, wyświetlana jest informacja ”suma liczb różna od
liczby sto”.
6. Zaproponować schemat blokowy algorytmu sprawdzania, czy podana liczba,
wczytana z klawiatury jest parzysta, czy nieparzysta. Wykorzystać w tym celu
operator % (reszta z dzielenia).
Przykład wykorzystania operatora %: 5%2 = 1, 7%4 = 3.
7.
Narysować schemat blokowy i napisać program w języku C++ rozwiązywania
równania kwadratowego
c
bx
ax
2
, gdzie a, b i c są dowolnymi stałymi
podawanymi przez użytkownika.
8. Zapisz algorytmy z zadania 4, 5, 6 i 7 w postaci pseudokodu.