Zadanie 1

Podaj przykłady algorytmów związanych z życiem codziennym lub innymi - poza informatyką - przedmiotami szkolnymi

Odpowiedź

  • Gotowanie jajka na twardo
  • Rozpalanie w piecu
  • Robienie kiślu
  • Robienie budyniu
  • Wiązanie butów
  • Zrobienie kanapki
  • Pieczenie ciasta
  • Stworzenie obrazu
  • Rozpalenie ogniska
  • Rozwiązywanie równań matematycznych
I wiele innych...

Zadanie 2

Podaj specyfikację zadania i skonstruuj algorytm gotowania jajka na twardo w postaci listy kroków.

Specyfikacja

Wejście: Jajko, woda, garnek, kuchenka elektryczna
Wyjście: Jajko na twardo

Lista kroków

Krok 1. Położyć garnek na kuchence i włączyć ją.
Krok 2. Wlać wodę do garnka i włożyć jajko do niej.
Krok 3. Gotować jajko przez 8 min.
Krok 4. Gorącą wodę wylać i wlać zimną wodę do garnka, by ostudzić jajka.
Krok 5 Zakończ algorytm.

Zadanie 3

Pracownik pewnej firmy (na dzień pierwszy stycznia danego roku) otrzymuje miesięczne wynagrodzenie w wysokości k złotych. Dodatkowo co dwa miesiące uzyskuje premię w wysokości 10% miesięcznej płacy podstawowej. Wynagrodzenie zasadnicze wzrasta co trzy miesiące o 5%. Jaką płacę pracownik uzyska pracownik po sześciu miesiącach i po roku? Podaj specyfikację i opisz sposób (czyli podaj algorytm w formie opisowej) obliczenia wynagrodzenia pracownika.

Specyfikacja

Wejście: Liczba rzeczywista dodatnia k- miesięczne wynagrodzenie zasadnicze
Wyjście: Liczby rzeczywiste dodatnie: W1- wysokość wynagrodzenia po 6 miesiącach, W2- wysokość wynagrodzenia po roku

Opis słowny

Wczytanie danej wejsciowej k.

  • 1 miesiąc- k
  • 2 miesiąc- 1,1 * k
  • 3 miesiąc- 1,05 * k
  • 4 miesiąc- 1,1 * 1,05 * k
  • 5 miesiąc- 1,05 * k
  • 6 miesiąc- 1,1 * 1,05 * 1,05 * k
  • 7 miesiąc- 1,05 * 1,05 * k
  • 8 miesiąc- 1,1 * 1,05 * 1,05 * k
  • 9 miesiąc- 1,05 * 1,05 * 1,05 * k
  • 10 miesiąc- 1,1 * 1,05 * 1,05 * 1,05 * k
  • 11 miesiąc- 1,05 * 1,05 * 1,05 * k
  • 12 miesiąc- 1,1 * 1,05 * 1,05 * 1,05 * 1,05 * k
Przypisać W1 = 1,21275 * k i wyprowadzić wynik W1.
Przypisać W2 = 1,337056875 * k i wyprowadzić wynik W2.


Zadanie 4

Podaj specyfikację zadania i skonstruuj algorytm w postaci listy kroków obliczania ile litrów wody spada na plac o powierzchni P m2, jeśli pokryła go warstwa wody h mm.

Specyfikacja

Wejście: Liczby rzeczywiste dodatnie P [m2] i h [mm]
Wyjście: Liczba rzeczywista dodatnia L- określająca ilość wody w litrach

Lista kroków

Krok 0. Wczytaj wartości danych P [m2] i h [mm]
Krok 1. Przypisz P [m2]= 100 P [dm2]
Krok 2. Przypisz h [mm] = 0,01 h [dm]
Krok 3. Przypisz L = P * d
Krok 4 Wypisz wynik L i zakończ algorytm.

Zadanie 5

Podaj specyfikację zadania i skonstruuj algorytm rozwiązujący równanie liniowe ax+b=0

Specyfikacja

Wejście: Dowolne liczby rzeczywiste: a, b
Wyjście: Wartość rzeczywista pierwiastka równania liniowego:x lub komunikat informujący o braku rozwiązania bądź uzyskaniu nieskończenie wielu rozwiązań.


Rozwiązania

Opis słowny

Opis słowny polega na podaniu czynności, które należy podjąć, by uzyskać oczekiwany efekt. Musi być zrozumiały dla odbiorcy.

Po wczytaniu danych wejściowych sprawdzić czy a=0. Jeśli a≠0 to oblicz "x= -b / a" i wyprowadź wynik "x", a jeśli a=0 to sprawdzić czy b=0. Jeśli b=0 to wyprowadzić komunikat "nieskończenie wiele rozwiązań", w przeciwnym wypadku wyprowadzić komunikat "równanie sprzeczne".

Lista kroków

Lista kroków algorytmu to uporządkowany opis wszelkich czynności, jakie mają być wykonane w ramach algorytmu. Na liście kroków nie ma obowiązku umieszczania kroku 0., który zawiera wczytanie danych wejściowych niezbędnych do realizacji algorytmu. Ta informacja zawarta jest już w specyfikacji algorytmu.

Krok 0. Wczytaj wartości danych a i b
Krok 1. Jeśli a≠0, to oblicz "x= -b / a", wypisz wynik "x" i zakończ algorytm
Krok 2. (W tym przypadku a=0) Jeśli b=0, wypisz komunikat "nieskończenie wiele rozwiązań", w przeciwnym wypadku wypisz komunikat "równanie sprzeczne". Zakończ algorytm

Pseudokod

Pseudokod to uproszczona wersja typowego języka programowania.

Start
Wczytaj (a,b)
Jeżeli a≠0
To wykonaj "x:= -b / a" i wypisz "x"
W przeciwnym wypadku jeżeli b=0
To wypisz komunikat "nieskończenie wiele rozwiązań"
W przeciwnym wypadku wypisz komunikat "równanie sprzeczne"
Stop

Schemat blokowy

Schemat blokowy to narzędzie służące do przedstawienia kolejnych czynności w projektowanym algorytmie. Jest to diagram, na którym procedura, system lub program komputerowy są reprezentowane przez opisane figury geometryczne połączone wektorami zgodnie z kolejnością wykonywania czynności wynikających z przyjętego algorytmu rozwiązania zadania.

center

Program w języku programowania

Zbiór zasad określających, kiedy ciąg symboli tworzy program komputerowy oraz jakie obliczenia opisuje.


Program w języku C++

#include <iostream>
using namespace std;
main()
{
  double a, b, x;
  cout<<"podaj a, b"<<endl;
  cin>>a>>b;
  if (a!=0) {x=-b/a; cout<<"x = "<<x<<endl;}
  else if (b==0) cout<<"nieskończenie wiele rozwiązań"<<endl;
	else cout<<"równanie sprzeczne"<<endl;
return 0;
} 

Program w języku Pascal

program rownanie_liniowe
var a, b, x: real
begin
  writeln('podaj a, b:');
  readln(a,b);
if a<>0 then begin x:=-b/a; writeln('x = ',x) end
else if b=0 then writeln('nieskończenie wiele rozwiązań')
     else writeln('równanie sprzeczne')
end. 

Drzewo algorytmu

Drzewo jest strukturą danych zbudowaną z elementów, które nazywamy węzłami. Dane przechowuje się w węzłach drzewa. Węzły są ze sobą powiązane w sposób hierarchiczny za pomocą krawędzi, które zwykle przedstawia się za pomocą strzałki określającej hierarchię.

center