algorytmy_zadania_01..
Transkrypt
algorytmy_zadania_01..
WPROWADZENIE DO ALGORYTMÓW ALGORYTM – to precyzyjny opis sposobu rozwiązania określonego zadania lub osiągnięcia jakiegoś celu. Wykonawcą algorytmu może być człowiek lub komputer. Algorytm jest podstawowym pojęciem informatyki. Każdy program komputerowy jest zapisem jakiegoś algorytmu. Algorytm może być zapisany: słownie w postaci listy kroków w postaci graficznej, jako schemat blokowy lub drzewo algorytmu w jednym z języków programowania i wtedy jest zrozumiały dla komputera Schemat blokowy przedstawia algorytm w postaci symboli graficznych. Składa się on z wielu elementów, wśród których podstawowym jest skrzynka (blok): Nazwa skrzynki Wygląd skrzynki START Skrzynka rozpoczynająca i kończąca algorytm STOP a := 5 b := 6 c := a + b Skrzynka przypisania Skrzynka wejścia i wyjścia Skrzynka warunkowa PISZ("Szkoła") PISZ(c) TAK PODAJ(a) PODAJ(x1) NIE I >= 10 3 Skrzynka łącznikowa 3 -1- WPROWADZENIE DO ALGORYTMÓW Ważnym elementem podczas tworzenia algorytmu jest określenie danych z których korzysta algorytm podczas rozwiązywania problemu jak i efekt działania algorytmu, czyli wynik. Opis ten nazywamy specyfikacją problemu algorytmicznego (specyfikacją algorytmu). Oto przykład zapisu algorytmu za pomocą schematu blokowego: Specyfikacja algorytmu: Problem: Dane: Wynik: Obliczanie średniej arytmetycznej dwóch liczb rzeczywistych a, b ∈ R sr ∈ R – średnia liczb a, b START Wprowadź: a, b sr:=(a+b)/2 Wypisz: sr STOP A to przykład algorytmu zapisanego za pomocą listy kroków: Specyfikacja algorytmu: Problem: Dane: Wynik: Zmienna pomocnicza: Krok 1 Krok 2 Obliczanie pola trójkąta o danych długościach boków za pomocą wzoru Herona a, b, c – długości boków trójkąta Pole – pole trójkąta p –połowa długości obwodu Oblicz połowę długości obwodu trójkąta: p:=(a+b+c)/2 Oblicz pole trójkąta wg wzoru: Pole := p( p − a )( p − b)( p − c ) -2- WPROWADZENIE DO ALGORYTMÓW ZADANIA Algorytmy liniowe (sekwencyjne) i algorytmy z rozgałęzieniami 1. Napisz za pomocą schematu blokowego algorytm obliczania pola trójkąta za pomocą wzoru Herona 2. Napisz algorytm za pomocą pseudojęzyka lub schematu blokowego. Algorytm ma obliczać pole powierzchni i obwód koła. 3. Samochód spala 6,5 litra benzyny na 100 km. 1 litr benzyny kosztuje 3,29 zł. Z Zakopanego do Krakowa jest 132 km. Napisz algorytm, który oblicza koszt przejazdu z Zakopanego do Krakowa. 4. Napisz algorytm, który podaną prędkość wyrażoną w m/s przekształca na km/h 5. (Zamiana zmiennych) W dwóch kubeczkach mamy po jednej kulce. Na powierzchni każdej z nich podana jest długość jej promienia. Mamy za zadanie zamienić kulki w tych kubeczkach, w ten sposób że: 1. możemy przekładać kulki tylko do kubeczków 2. mamy do dyspozycji trzeci (pusty) kubeczek 3. w jednym kubeczku może znajdować się co najwyżej jedna kulka. Opracuj algorytm, który wczyta długości promieni dwóch kulek i zamieni je miejscami w kubeczkach wedle podanej powyżej reguły. WSK: Zmienne, służące do zapamiętania długości promieni potraktuj jako kubeczki, zaś ich wartości jako promienie kulek. 6. Babcia powiedziała Bartkowi, że na każde urodziny otrzyma od niej dwa razy więcej złotych niż będzie miał lat, a dziadek powiedział, że od niego dostanie na każde urodziny o 20 złotych więcej niż liczba jego lat. Napisz algorytm, który będzie obliczał ilość pieniędzy jaką otrzyma Bartek od babci i dziadka na x-te urodziny. 7. Kasia ulokowała w banku pewna ilość złotych na okres jednego roku. Oprocentowanie roczne w tym banku wynosi 19,4%. Napisz algorytm, który będzie obliczał ilość pieniędzy na koncie po jednym roku dla dowolnej sumy pieniędzy. 8. Bartek ma w skarbonce 358 złotych. Postanowił kupić na Dzień Matki trzy prezenty: kwiaty, bombonierę i perfumy. Napisz algorytm, który będzie wczytywał z klawiatury wartości trzech towarów oraz obliczał ilość pieniędzy jaka pozostanie Bartkowi na koncie. 9. Pobrano próbkę wody z pewnego morza. Okazało się, że w tej wodzie znajduje się 0,012% wagowych chlorku sodu. Napisz algorytm, który będzie wczytywał masę wody i podawał ile gramów chlorku sodu znajduje się w tej wodzie. -3- WPROWADZENIE DO ALGORYTMÓW 10. Poniżej podano algorytm. Wskaż błąd w tym algorytmie oraz zbuduj treść zadania do tego algorytmu START 11. Masz kilka patyczków (np. do zapałek). Na każdym patyku podana jest jego długość. Wybierasz losowo 3 z nich i budujesz z nich trójkąt. Utwórz algorytm, dzięki któremu można będzie sprawdzić, czy z trzech patyczków o podanej przez PODAJ(a) PODAJ(b) ciebie wielkości można będzie zbudować trójkąt 12. Teraz Twoim zadaniem jest wyznaczenie spośród trzech zadanych patyczków PISZ(a + b) tego, który jest największy. Opracuj algorytm, który dla podanych trzech długości patyczków wyznaczy największy z nich. 13. Napisz algorytm za pomocą pseudojęzyka lub schematów blokowych. Algorytm STOP ma wczytywać z klawiatury dowolne dwie liczby. Zakładamy, że będą to liczby całkowite. Napisz algorytm który ma wyświetlić na ekranie monitora te liczby rys. do zadania 10 w kolejności rosnącej. 14. Dany jest schemat blokowy algorytmu. Podaj jakie wartości otrzymamy na wyjściu, jeśli wprowadzimy odpowiednio: a=4, b-2, c=0 START Podaj: a, b, c NIE NIE TAK a>b TAK a:=b+4 c:=b+2 NIE a>c a:=1+c c:=b TAK a>c a:=a-c b:=b+7 a:=b+c c:=0 Pisz: a, b, c STOP rys. do zadania 14 -4- a:=b-c b:=0