INFORMATYKA W SZKOLE Dr inż. Grażyna KRUPIŃSKA grazyna@fis.agh.edu.pl D-10 pokój 227 Podyplomowe Studia Pedagogiczne
2 Algorytmy Nazwa algorytm wywodzi się od nazwiska perskiego matematyka Muhamed ibn Musy al-chorezmi (z Chorezmu), który ok. 820 roku n.e. opisał pozycyjny system kodowania dziesiętnego liczb i sztukę liczenia w tym systemie. W XII w. Europie przetłumaczono jego książkę i rozpoczęto wykonywanie obliczeń metodą "pisemną".
Algorytmy 3 Algorytmem nazywamy skończony ciąg instrukcji prowadzących do rozwiązania danego problemu lub zadania. Jest to przepis postępowania prowadzący do osiągnięcia jakiegoś celu. Implementacja to zapis algorytmu w języku programowania.
Algorytmy 4 Algorytmika - podstawowy dział informatyki poświęcony poszukiwaniom, konstruowaniu i badaniom algorytmów, zwłaszcza w kontekście ich przydatności do rozwiązywania problemów za pomocą komputerów. Program komputerowy - to logicznie uporządkowany ciąg instrukcji języka programowania realizujący algorytm.
Algorytmizacja zadania 5 Sformułowanie zadania Określenie danych wejściowych Określenie celu, czyli oczekiwanego wyniku Poszukanie metody rozwiązania, czyli algorytmu Przedstawienie algorytmu w postaci opisu słownego listy kroków schematu blokowego języka programowania Analiza poprawności rozwiązania Testowanie rozwiązania dla różnych danych ocena efektywności przyjętej metody
Cechy algorytmu 6 Skończoność (realizowany ciąg operacji powinien mieć swój koniec). Określoność (zarówno operacje, jak i porządek ich wykonywania powinny być ściśle określone, nie zostawiając miejsca na dowolną interpretację użytkownika). Ogólność (algorytm nie ogranicza się do jednego, pojedynczego, szczegółowego przypadku, ale odnosi się do pewnej klasy zadań). Efektywność (algorytm powinien prowadzi do rozwiązania możliwie najprostszą drogą).
Algorytmy 7 Liniowe - po każdym kroku jako kolejna wykonywana jest zawsze ta sama instrukcja. Algorytm liniowy posiada tylko i wyłącznie instrukcje bezpośredniego następstwa. Są one wykonywane w przewidzianej kolejności bez względu na dane, na których algorytm operuje. liczenie pola powierzchni
Algorytmy 8 Warunkowe (nazywanymi też algorytmami z rozgałęzieniami) może nastąpić kilka alternatywnych ciągów działań. Wybór jednego z nich następuje w zależności od spełnienia (bądź niespełnienia) warunku. sprawdzanie czy liczba jest dodatnia
Algorytmy 9 Iteracyjne występuje powtarzanie danego ciągu operacji. Liczba powtórzeń może być ustalona przed wykonaniem instrukcji lub może zależeć od spełnienia pewnego warunku, który jest sprawdzany w każdej iteracji. Iteracja inaczej zwana jest pętlą. sumowanie kilku kolejnych liczb
Opis słowny 10 Kontrola biletów Dane wejściowe: rok urodzenia Dane wyjściowe: decyzja o wpuszczeniu na seans Każdemu wchodzącemu należy sprawdzić wiek, odejmując od obecnego roku jego rok urodzenia. Jeżeli wchodzący ma 18 lub więcej lat należy go wpuścić do sali, w przeciwnym wypadku nie.
11 Lista kroków Kontrola biletów Dane wejściowe: rok urodzenia Dane wyjściowe: decyzja o wpuszczeniu na seans 1. Podaj rok urodzenia wchodzącego 2. Odejmij od obecnego roku rok urodzenia wchodzącego 3. Jeżeli wynik < 18 nie wpuszczaj do sali 4. Jeżeli wynik 18 wpuść do sali
Schemat blokowy 12 Algorytm w postaci schematu blokowego jest graficzną reprezentacją słownego zapisu algorytmu
Schemat blokowy 13 START STOP Skrzynki graniczne - wskazują początek i koniec wykonywania schematu blokowego. S a + b Skrzynka operacyjna (instrukcji) Wprowadź Wyprowadź Skrzynki wejścia/wyjścia dane lub wyniki.
Schemat blokowy 14 S > 10 Skrzynka warunku jest rombem, w którym umieszcza się warunek decydujący o dalszej kolejności wykonywania operacji.
Start popatrz w lewo czy cos jedzie Przejście przez ulicę przejdź do osi jezdni popatrz w prawo Schemat blokowy iteracyjny (warunkowy) czy cos jedzie Stop przejdź przez jezdnię
Zmienne Zmienna jest synonimem pewnego obszaru pamięci, służącego do przechowywania danych. Posiada trzy podstawowe atrybuty: symboliczną nazwę identyfikator, miejsce przechowywania, wartość; Za pomocą nazwy możemy w kodzie źródłowym odwołać się do zawartości. W programie wartość zmiennej może być odczytywana lub zastępowana nową wartością, tak więc wartość zmiennej może zmieniać się w trakcie wykonywania programu. Nazwa i miejsce przechowywania nie zmieniają się w trakcie istnienia zmiennej
Zmienne Abstrakcja komórek pamięci: programista może przechowywać dane w pamięci, nie martwiąc się o techniczne szczegóły (np. przydział pamięci). Odpowiedniość między zmiennymi, a komórkami pamięci może być bezpośrednia (np. dla zmiennych typu całkowitego) odległa (np. wielowymiarowe tablice).
Zmienna Nazwa Adres liczba 23 Zakres widoczności Okres życia Wartość Typ
Typy danych Typ to pewien ustalony zbiór wartości, które mogą być przyjmowane przez zmienne. Z każdym typem związany jest rozmiar przydzielanej pamięci dla zmiennej danego typu. Z każdym typem związany jest zbiór operacji, które można wykonywać na wartościach z tego typu. Dozwolone operacje to wszystkie operatory, których dziedziną jest typ lub typ z nim zgodny (tu zgodność rozumiana jako zawieranie).
Schemat blokowy - liniowy 20 START Podaj (a) Podaj (b) Obliczanie sumy dwóch liczb S a + b STOP Wypisz S
Schemat blokowy - liniowy 21 START Podaj (a) Pole a * a Obliczanie pola kwadratu Wypisz Pole STOP
Schemat blokowy - warunkowy 22 START Podaj (a) Obliczanie wartości bezwzględnej wynik a a 0 wynik -a STOP Wypisz wynik
Start Czytaj N (2) S 0 L N N 2 S 0 L 2 L > 0 S 2 L 1 S 3 L 0 S S + L L L 1 Pisz S Schemat blokowy Stop iteracyjny (z licznikiem) Obliczanie sumy N-kolejnych liczb naturalnych
Start Czytaj N S 0 N 2 S 0 N 2 N > 0 S 2 N 1 S 3 N 0 S S + N N N 1 Pisz S Schemat blokowy Stop iteracyjny (z licznikiem) Obliczanie sumy N-kolejnych liczb naturalnych
Start Czytaj N S 0 N > 0 S S +N N N 1 Pisz S Schemat blokowy Stop iteracyjny (z licznikiem) Obliczanie sumy N-wczytanych liczb naturalnych
Start Czytaj N S 0 Czytaj Liczba N > 0 S S + Liczba N N 1 Pisz S Stop
Start Czytaj N S 0 Czytaj Liczba N 3 S 0 Liczba 2 S 2 N 2 Liczba 4 Czytaj Liczba N > 0 S 6 N 1 Liczba 4 S 10 N 0 Liczba 5 S S + Liczba N N 1 Pisz S Stop
Start Czytaj N S 0 N 3 S 0 Liczba 2 S 2 N 2 Liczba 4 N 3 S 0 Liczba 2 S 2 N 2 Czytaj Liczba N > 0 S 6 N 1 Liczba 4 S 10 N 0 Liczba 5 Liczba 4 S 6 N 1 Liczba 4 S 10 N 0 S S + Liczba N N 1 Pisz S Stop
Start Czytaj N S 0 Czytaj Liczba S <=30 Wypisz Liczba Pisz S S S + Liczba suma > 30 Stop
Start Czytaj N S 0 Czytaj Liczba Min Liczba S S + Liczba N N 1 Min Liczba N > 0 Czytaj Liczba Pisz S Min > Liczba Pisz Min S S + Liczba N N 1 Stop
Rysowanie wzoru * * * * * * * * * * Start Czytaj N Pisz * N > 0 Stop N N 1
Rysowanie wzoru * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Start Czytaj N Pisz * N > 0 Stop Trzeba powtórzyć trzy razy N N 1
Rysowanie wzoru * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Start Czytaj linia N linia ile 3 N > 0 Pisz \n Pisz * N linia ile ile 1 N N 1 ile > 0 Stop
Rysowanie wzoru * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Start Czytaj ile N ile N > 0 Pisz \n Pisz * N ile ile ile 1 N N 1 ile > 0 Stop
Struktury danych - tablice Tablica jednowymiarowa - to zestaw elementów takiego samego typu. Dostęp do poszczególnych elementów jest poprzez indeksowanie. 6 liczba1 6 tablica[1] 7 liczba2 7 tablica[2] 15 liczba3 15 tablica[3]
Tablica jednowymiarowa Tablica jednowymiarowa - to zestaw elementów takiego samego typu. Dostęp do poszczególnych elementów jest poprzez indeksowanie. 6 liczba1 indeks 1 6 tablica[1]=6 7 liczba2 indeks 2 7 tablica[2] = 7 15 liczba3 indeks 3 15 tablica[3] = 15
Tablica jednowymiarowa Wczytanie zawartości tablicy 3elementowej Start wczytaj tab[1] wczytaj tab[2] Start i 1 i 3 wczytaj tab[3] Stop 6 tablica[1] wczytaj tab[i] 7 tablica[2] 15 tablica[3] i i + 1 Stop
Tablica jednowymiarowa Wczytanie i wypisanie zawartości tablicy 3elementowej Start i 1 i 3 i 1 6 tablica[1] wczytaj tab[i] i i + 1 i 3 wypisz tab[i] 7 15 tablica[2] tablica[3] Stop i i + 1
Tablica jednowymiarowa Start i 1 i 3 i 3 6 tablica[1] wczytaj tab[i] i i + 1 i 1 wypisz tab[i] 7 15 tablica[2] tablica[3] Stop i i - 1
Tablica jednowymiarowa Dane wejściowe : 10-cio elementowa tablica liczb całkowitych Dane wyjściowe: suma elementów tablicy Start wczytaj : A[1],,A[10] Suma 0 licznik 1 TAK licznik <=10 Suma Suma + A[licznik] NIE licznik licznik + 1 Wypisz Suma Stop
Tablica jednowymiarowa Dane wejściowe : 10-cio elementowa tablica liczb całkowitych Dane wyjściowe: najmniejszy elementów tablicy Start wczytaj : A[1],,A[10] Min A[1] licznik 2 NIE A[licznik]< Min TAK TAK licznik <=10 NIE licznik licznik + 1 Min A[licznik] Wypisz Min Stop
Tablica jednowymiarowa Dane wejściowe : 10-cio elementowa tablica liczb całkowitych Dane wyjściowe: najmniejszy elementów tablicy Start wczytaj : A[1],,A[10] Min Min A[1] 1 licznik 2 NIE A[licznik]< A[Min] TAK licznik <=10 TAK NIE licznik licznik + 1 Min Min A[licznik] Wypisz Min Wypisz A[Min] Stop
Tablica jednowymiarowa Dane wejściowe : 10-cio elementowa tablica liczb całkowitych Dane wyjściowe: najmniejszy elementów tablicy Start wczytaj : A[1],,A[10] Min Min A[1] 1 licznik 2 NIE A[licznik]< A[Min] TAK licznik <=10 TAK NIE licznik licznik + 1 Min Min A[licznik] Wypisz Min Wypisz A[Min] Stop