1 / 201

O AUTORACH

E. L. I. Elbox. Laboratorium. Informatyki. Multimedialny podręcznik dla Policealnego Studium Technicznego – Zarządzanie bazami danych. O AUTORACH. >. ZAKOŃCZ. SPIS TREŚCI. 1. I WSTĘP II CEL PRACY III ELI Wiadomości wstępne Algorytm Edycja klocka Paleta klocków

ayasha
Télécharger la présentation

O AUTORACH

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. E L I Elbox Laboratorium Informatyki Multimedialny podręcznik dla Policealnego Studium Technicznego – Zarządzanie bazami danych O AUTORACH > ZAKOŃCZ

  2. SPIS TREŚCI 1 I WSTĘP II CEL PRACY III ELI Wiadomości wstępne Algorytm Edycja klocka Paleta klocków Tablica Taśma Projekt Dostępne okna Interfejs i czujniki Skróty klawiaturowe Pasek narzędzi Wprowadzenie do budowania algorytmów Algorytm liniowy - obliczanie sumy dwóch liczb Algorytm rozgałęziony - sprawdzanie warunku Algorytm rozwiązania równania kwadratowego Obliczenie wartości średniej Znajdowanie największej z podanych liczb Największy wspólny dzielnik - algorytm Euklidesa Dzielenie liczb całkowitych (pętla DOPÓKI) Pierwiastek kwadratowy (pętla POWTARZAJ) Sumowanie liczb nieparzystych (pętla DLA) Zgadnij liczbę Projekty Sumowanie ułamków Wykresy funkcji Rozkład liczby naturalnej na czynniki Tabliczka mnożenia Z systemu dziesiętnego na dowolny Porządkowanie ciągów Wyszukiwanie liczby Znajdowanie największej liczby Sortowanie ciągu Rozwiązywanie równania metodą połowienia Rekurencja Wprowadzenie do rekurencji Rekurencja pełna Odwracanie ciągu Zmiana rekurencji na iterację Kombinacje Ciąg Fibonacciego Sortowanie przez scalanie Przykładowy projekt < > >> ZAKOŃCZ

  3. SPIS TREŚCI 2 IV GRAFIKA Wiadomości wstępne Tryby graficzne Podprogramy graficzne Struktura programu w C++ Tworzenie animacji przy użyciu strony kart graficznych Style tekstu w trybie graficznym Funkcja getimage i putimage Tworzenie linii użytkownika Przerwania – wykorzystanie Przykładowy projekt V ZARZĄDZANIE BAZAMI DANYCH Stałe - liczby, znaki i ciągi znaków, nazwy, słowa kluczowe Typy danych – typy zmiennych Wyprowadzenie danych na ekran Wczytywanie danych z klawiatury Operatory 2 – argumentowe Operator warunkowy Kolejność wykonywania działań Instrukcje Pętle Funkcje Rekurencja Zmienne globalne i lokalne Tablice Wskaźniki Struktura Unia Wskaźniki do struktur Dołączenie pliku # include Praca z plikami (zapis, odczyt) Przykładowy projekt Najczęstsze błędy podczas pisania programów w języku C++ Uwagi i wnioski Bibliografia < > ZAKOŃCZ

  4. I WSTĘP 3 Zadaniem pracy dyplomowej było zrobienie prezentacji do nauczania programowania , w której zawarte są wszystkie programy z „ ELI ” i „ C++ ”.Pierwszym krokiem było zgromadzenie potrzebnych materiałów, czyli wszystkich programów. Cała praca składa się z 200 stron i podzielona jest na trzy działy: ·        ELI ·        GRAFIKA ·        ZARZĄDZANIE BAZAMI DANYCH Cała praca została umieszczona na płycie CD-ROM i dołączona do pracy dyplomowej. SPIS TREŚCI < > ZAKOŃCZ

  5. II CEL PRACY 4 Prezentację tę stworzono z myślą o uczniach Policealnego Studium Technicznego, umieszczając w niej ogólne wiadomości oraz przykładowe programy mogące pomóc im opanować materiał nauczania obowiązujący w tej klasie. Zawarty w niej opis działania programu ELI ( Elbox Laboratorium Informatyki ) służy do tworzenia algorytmów przy wykorzystaniu środowiska Windows, natomiast język C++ umożliwia pisanie rzeczywistych programów użytkowych i rozbudowywaniu systemów. Pracata może być doskonałym narzędziem do nauki programowania. SPIS TREŚCI < > ZAKOŃCZ

  6. III ELI 5 Program ELI jest oprogramowaniem edukacyjnym, przeznaczonym do wspomagania nauczania o algorytmach, czyli pomocą w wyrabianiu algorytmicznego myślenia. Został wykonany nowoczesnymi środkami informatycznymi o najpopularniejszym środowisku oprogramowania, jakim jest obecnie system Windows. Program ten służy do budowania algorytmów postaci schematów składający się z klocków, w których z kolei są zawarte podstawowe kroki algorytmów, elementarne i bardziej złożone. Klocki są tutaj jedynie formą reprezentowania działań i nie ograniczają rozważań. Program Eli może być pomocny w nauczaniu algorytmicznego myślenia, którego wybranie jest jednym z głównych celów nauczania informatyki. Osobie sięgającej po program ELI, forma zapisu algorytmu tworzonego przez ten program może się skojarzyć ze schematem blokowym. Jest to dobre skojarzenie, jednak nie należy ograniczać programu ELI do schematów blokowych w ich tradycyjnej postaci. Możliwości programu wykraczają daleko poza klasyczne schematy blokowe – ich realizację osiągnięto dzięki skorzystaniu z możliwości środowiska programowego Windows.Dotychczas schematy blokowe (lub schematy działań) były wykorzystywane najczęściej do zapisywania jedynie kolejnych kroków algorytmów wraz ze wskazaniem ich kolejności wykonywania. Gdy stosowano do tego komputer, było możliwe symulowanie działania algorytmu dla różnych wartości danych. Wymieńmy najważniejsze cechy programu ELI, w kontekście nauczania algorytmicznego myślenia: ● Budowanie algorytmu bez programowania – najważniejszą zaletą programu jest jego możliwość wykorzystania go do nauki budowania algorytmów, a następnie śledzenia ich działania bez konieczności zapisania algorytmu w postaci programu komputerowego jakimś języku programowania. Zarówno dla nauczyciela jak i ucznia nabycie umiejętności posługiwania się tym programem może być sprawdzianem umiejętności algorytmicznego myślenia. ● Pomoc w nauce zapisywania algorytmów języku programowania – program ELI może być również przydatny w nauce metod programowania, rozumiany jako wykorzystywanie języka programowania wyższego rzędu do zapisywania algorytmów w postaci zrozumiałej dla komputera. SPIS TREŚCI < > >> ZAKOŃCZ

  7. III ELI 6 W tym przypadku można najpierw objaśnić i zobrazować znaczenie i działanie podstawowych konstrukcji programistycznych, takich jak instrukcje iteracyjne ( FOR, WHILE, REPEAT) i warunkowe (IF) układając dla nich odpowiednie algorytmy. Gdy podstawowe instrukcje są już uczniom znane – można posługiwać się programem ELI, gdy chcemy poznać dokładniej działanie algorytmu, być może już zaprogramowanego, śledząc kolejne jego kroki i zmiany zachodzące w wartościach zmiennych i w innych strukturach danych dla różnych wartości danych wejściowych dla algorytmu. Program ELI został wykonany nowoczesnymi narzędziami programistycznymi i jest wykorzystywany w środowisku systemu Windows. Znajomość tego środowiska nie jest jednak konieczna by korzystać z programu, chociaż przydaje się i przyspiesza nabycie sprawności w posługiwaniu się nim i znajomość sposobu poruszania się w tym środowisku. SPIS TREŚCI << < > >> ZAKOŃCZ

  8. III ELI Wiadomości wstępne Algorytm 7 Algorytm Jest to opis, krok po kroku jak rozwiązać damy problem. Opis ten powinien być dokładny i nie pozostawiać wątpliwości co do wykonania algorytmu. Jednym ze sposobów przedstawiania algorytmów są schematy blokowe. Takie schematy blokowe budujemy z klocków. Każdy klocek ma precyzyjnie określone zadanie. W ELI istnieje podstawowa i rozszerzona paleta klocków. Na planszy układa się algorytm, a następnie symulować jego działanie. Każdy algorytm musi mieć punkt startu (tylko jeden). Powinien mieć również co najmniej jeden klocek końca. W ciągu klocków pomiędzy punktem startu i końca nie może być dziur - przerw w połączeniach między klockami. Układanie klocków Za pomocą myszy można podnieść klocek z palety (wskazując go kursorem myszy i naciskając lewy przycisk) i położyć na planszy (wciskając przycisk myszy kiedy klocek znajdzie się nad wybranym miejscem). W podobny sposób można przenieść klocek na nowe miejsce na planszy. Klocek można skopiować wskazując go kursorem myszy, naciskamy klawisz Shift oraz lewy przycisk myszy i przenieść duplikat klocka na inne miejsce. Przeniesienie klocka poza górną krawędź planszy lub naciśnięcie klawisza Delete (przy zaznaczonym klocku) powoduje jego skasowanie. PrawidłoweNieprawidłowe SPIS TREŚCI << < > >> ZAKOŃCZ

  9. Wiadomości wstępne Edycja klocka / Paleta klocków 8 III ELI Edycja klocka Większość klocków ma wewnętrzne pola, które trzeba wypełnić, by określić co będzie się działo podczas wykonywania klocka. Wskazujemy klocek kursorem myszy, naciskamy prawy przycisk myszy i otwieramy okno dialogowe charakterystyczne dla klocka. Po jego wypełnieniu i wybieramy przycisk OK (jeśli chcemy zatwierdzić to co wpisaliśmy) lub Anuluj (jeśli chcemy zrezygnować). Można również wybrać Pomoc w celu uzyskania informacji o wypełnianiu realizacji klocka.  Paleta klocków Podstawową paletą klocków można rozszerzyć o dwa zestawy klocków przez wywołanie z menu Opcje/Paleta klocków. Po zaznaczaniu odpowiedniego zestawu w palecie będą dostępne klocki: . Dodatkowe - pozwalają korzystać z procedur i obiektów; . Interfejsowe - obsługują czujniki. Klocki podstawowe Początek algorytmu Miejsce startu algorytmu. Od tego miejsca rozpoczyna się wykonywanie algorytmu. Może być tylko jeden taki klocek na planszy. W przypadku używania projektu może być tylko jeden taki klocek w całym projekcie. Koniec algorytmu Zakończenie działania algorytmu. Klocek, na którym kończy się wykonanie algorytmu. Może być kilka takich klocków. SPIS TREŚCI << < > >> ZAKOŃCZ

  10. Wiadomości wstępne Paleta klocków 9 III ELI Wprowadzenie danej Przypisanie zmiennej pobranej wartości. Komunikat - dowolny tekst (trzy linie) wyświetlany w specjalnym okienku dialogowym. Nazwa zmiennej - nazwa zmiennej, której będzie przypisana wartość wyrażenia wprowadzona przy wykonywaniu klocka. Brak nazwy zmiennej powoduje błąd wykonania. Wyprowadzenie wyniku Wyprowadzenie wyników obliczeń. Wartość wyświetlana - dowolne wyrażenie, którego wynik będzie i wyświetlonyw chwili wykonania. Brak wartości nie powoduje błędu wykonania. SPIS TREŚCI << < > >> ZAKOŃCZ

  11. Wiadomości wstępne Paleta klocków 10 III ELI Wykonanie obliczeń Wykonanie operacji arytmetycznych i logicznych. Lista operacji - lista, której linie mają postać nazwa _zmiennej := wyrażenie. Możliwe jest wprowadzenie 32 linii tekstu (przejście do nowej linii odbywa się przez wciśnięcie Ctrl+Enter). Każda linia stanowi oddzielną operację.Nazwa_ zmiennej nie może przekroczyć 16 znaków, zaczynający się od litery, zawierający litery, cyfry i znaki '-', '@'. Wyrażenie jest to zapis wykonywanej operacji dopuszczający operatory arytmetyczne '+', '-', '*', 'I', nawiasy ( ), oraz funkcje. Funkcje Definicja funkcji składa się z nazwy :funkcji i bezpośrednio po niej argument w nawiasach okrągłych, np. sin(a1fa). Argumentem funkcji może być dowolne wyrażenie. Zdefiniowane są następujące funkcje standardowe: sin sinus cos cosinus tg tangens log logarytm dziesiętny ln logarytm naturalny sqrt pierwiastek kwadratowy arcsin arcus sinus arccos arcus cosinus arctg arcus tangens pow funkcja wykładnicza 10 do potęgi exp funkcja wykładnicza e do potęgi SPIS TREŚCI << < > >> ZAKOŃCZ

  12. Wiadomości wstępne Paleta klocków 11 III ELI Sprawdzenie warunku Sprawdzenie warunku powoduje rozgałęzienie algorytmu, w zależności od warunku algorytm przejdzie w lewo albo w prawo. Jest sześć relacji zgodnych z notacją Pascala:<, >, <=, >=, =, <> lub języka C: <, >, <=, >=, =, !::= SPIS TREŚCI << < > >> ZAKOŃCZ

  13. Wiadomości wstępne Tablica 12 III ELI Tablica Tablica służy do przechowywania danych i ma budowę podobną do tabeli - zawiera wiersze i kolumny. Element tablicy można znaleźć znając numer jego wiersza i kolumny ­czyli adres w tablicy. Program ELI oferuje dwa rodzaje tablic: jednowymiarowe - składające sięz jednej kolumny i dwuwymiarowe - o dowolnej liczbie kolumn i wierszy. Otwórzmy okno tablicy (Okno/Tablica) i zobaczmy jak jest ona zbudowana. Wiersze i kolumny są ponumerowane od zera. Do dowolnego pola można wstawić wartość - należy w tym celu wskazać kursorem myszki to pole, nacisnąć lewy przycisk myszy, by je wybrać (wybrane pole ma niebieską obwódkę), wreszcie wcisnąć prawy przycisk myszy - pojawi się okno edycji pola tablicy, w którym można wpisać liczbę. Po jego zatwierdzeniu (OK) w wybranym polu pojawi się wpisana wartość. Klocek Zapis do tablicy użyty w algorytmie powoduje ten sam efekt, natomiast klocek Odczyt z tablicy powoduje pobranie wartości z podanego pola tablicy. Tablicę można zapisać na dysku (Edycja/Zapisz Tablicę) w postaci pliku z rozszerzeniem ATA oraz odczytać z dysku (Edycja/Odczytaj Tablicę). Wypełnioną tablicę łatwo zamienić na wykres. Wystarczy przejść do okna tablicy, nacisnąć klawisz Shift i prawy przycisk myszy (lub nacisnąć klawisz" 5" na klawiaturze numerycznej, przy wyłączonym Num Lock). Otworzy się okno konfiguracyjne tablicy, w którym należy wybrać Wykres wg tablicy jednowymiarowej lub Wykres wg tablicy dwuwymiarowej w zależności od rodzaju używanej tablicy. Klocki obsługujące tablicę z zestawu Zaawansowane: Zapis do tablicy Wpisanie wartości do pola tablicy. Pozycja - adres (indeks) określający pole tablicy. W przypadku tablicy dwuwymiarowej współrzędne należy oddzielić przecinkiem. Brak lub niewłaściwa ilość parametrów określających adres powoduje błąd wykonania. Wartość zapisywana - dowolne wyrażenie, którego wynik będzie obliczony i umieszczony w polu określonym przez adres. Brak wartości powoduje błąd wykonania. SPIS TREŚCI << < > >> ZAKOŃCZ

  14. Wiadomości wstępne Tablica 13 III ELI Odczyt z tablicy Przypisanie zmiennej wartości odczytanej z pola tablicy. Pozycja - adres (indeks) określający pole tablicy. W przypadku tablicy dwuwymiarowej współrzędne należy oddzielić przecinkiem. Brak lub niewłaściwa ilość parametrów określających adres powoduje błąd wykonania. Nazwa zmiennej - nazwa zmiennej, której będzie przypisana wartość odczytana z pola tablicy. Brak nazwy zmiennej powoduje błąd wykonania. SPIS TREŚCI << < > >> ZAKOŃCZ

  15. Wiadomości wstępne Taśma 14 III ELI Taśma Taśma dobrze się nadaje do przechowywania ciągu liczb, jest ona rodzajem pojemnika na dane o budowie liniowej. Jest wyposażona we wskaźnik - operacje zapisu na taśmie i odczytu z niej dotyczą wskazywanego pola. Otwórzmy okno taśmy(Okno/Taśma) i zobaczmy jak jest ona zbudowana. Kolejne pola są ponumerowane od zera. Do dowolnegoz nich możemy wstawić wartość - należy w tym celu wskazać kursorem myszki pozycję, nacisnąć lewy przycisk myszy, by wybrać pozycję (wybrana pozycja ma niebieską obwódkę), wreszcie nacisnąć prawy przycisk myszy - pojawi się okno, w którym można wpisać wartość. Po zatwierdzeniu (OK) w wybranym polu pojawia się wpisana liczba. Klocek Zapis na taśmę użyty w algorytmie powoduje ten sam efekt, natomiast klocek Odczyt z taśmy powoduje pobranie wartości z bieżącej pozycji taśmy. Taśmę można zapisać na dysku (Edycja/Zapisz Taśmę) w postaci pliku z rozszerzeniem .ATT oraz odczytać z dysku (Edycja/Odczytaj Taśmę). W zestawie klocków Zaawansowane znajdują się 4 klocki odnoszące się do taśmy: Zapis nas taśmę Zapisanie wartości wyrażenia do taśmy na bieżącej - wskazywanej pozycji. Wartość zapisywana - dowolne wyrażenie, którego wynik będzie obliczony i umieszczony w polu aktualnie wskazywanym przez wskaźnik taśmy, po tej operacji wskaźnik taśmy przesuwany jest automatycznie na następne pole. Brak wartości powoduje błąd wykonania. SPIS TREŚCI << < > >> ZAKOŃCZ

  16. Wiadomości wstępne Taśma 15 III ELI Odczyt z taśmy Przypisanie zmiennej wartości odczytanej z taśmy. Odczytywana jest wartość ze wskazywanej - bieżącej pozycji taśmy. Nazwa zmiennej - nazwa zmiennej, do której będzie podstawiona wartość odczytana z pozycji taśmy aktualnie wskazywanej przez wskaźnik, po tej operacji wskaźnik taśmy przesuwany jest automatycznie na następne pole. Brak nazwy zmiennej powoduje błąd wykonania. Przesuń wskaźnik na początek taśmy Ustawia wskaźnik taśmy na początek (pozycja O). Brak pól do edycji. Przesuń wskaźnik na określoną pozycję taśmy Wskazywane pole staje się polem bieżącym, do którego będą się odnosić operacje odczytu i zapisu. Pozycja - wyrażenie określające pozycję, na którą zostanie przesunięty wskaźnik taśmy. Brak wyrażenia w tym polu powoduje błąd wykonania. SPIS TREŚCI << < > >> ZAKOŃCZ

  17. Wiadomości wstępne Projekt 16 III ELI Projekt Można zbudować algorytm składający się z kilku plansz, zawierających procedury. Należy w tym celu najpierw otworzyć projekt (Projekt/Otwórz projekt). Procedura musi zaczynać się od klocka Początek procedury, a kończyć na klocku - Koniec procedury. Może być ona budowana na tej samej planszy co główny algorytm, ale wskazane jest, by każda procedura była umieszczona na osobnej planszy. Aby procedura była funkcją, czyli przekazywała wartość, w klocku ją wywołującym trzeba wpisać podstawienie: nazwaZmiennej := nazwaProcedury. Projekt można zapisać na dysku (Projekt/Zachowaj)w postaci pliku opisującego jego konfigura<1:ję o rozszerzeniu .A TP oraz odczytać z dysku (Projekt/Otwórz). Oprócz tego powinny być zapisane wszystkie plansze składające się na projekt (Plik/Zachowaj lub Plik/Zachowaj jako...) W zestawie klocków Zaawansowane znajdują się 3 klocki obsługujące procedury: Wywołanie procedury do wykonania Przekazanie sterowania do procedury. Klocek ten może być użyty wtedy gdy jest otwarty projekt.Nazwa procedury - nazwa wywoływanej procedury lub w przypadku funkcji przekazującej wartość wyrażenie postaci NazwaZmiennej := NazwaFunkcji Parametry aktualne - lista parametrów wywołania procedury oddzielonych spacjami. Mogą tu występować nazwy zmiennych i liczby. SPIS TREŚCI << < > >> ZAKOŃCZ

  18. Wiadomości wstępne Projekt 17 III ELI Początek procedury - rozpoczyna wykonanie procedury Nazwa procedury - identyfikator funkcji (nazwa). Parametry formalne - lista zmiennych lokalnych, którym zostaną przypisane wartości parametrów wywołania. Różna ilość parametrów w klockach Wywołania procedury i Początku procedury powoduje błąd wykonania, podobnie jak wystąpienie innego wyrażenia niż nazwa zmiennej w liście parametrów. Koniec procedury Kończy wykonanie procedury i powoduje powrót do planszy, z której został wywołany. Może być kilka takich klocków. Wartość zwracana - wartość zwracana przez funkcję, jeżeli procedura nieprzekazuje wartości pozostaje nie wypełnione. Wartością zwracaną może być dowolne wyrażenie. W przypadku braku wartości pomimo przypisania przywywołaniu procedury sygnalizowany jest błąd wykonania. SPIS TREŚCI << < > >> ZAKOŃCZ

  19. Wiadomości wstępne Dostępne okna 18 III ELI Dostępne okna Okno komentarza Każdy klocek można wyposażyć w komentarz - by to zrobić należy wskazać klocek i nacisnąć prawy przycisk myszy oraz klawisz SHIFT. Pojawi się okno, w którym można wpisać krótki tekst. Jeśli chcemy, żeby pojawiał się on w trakcie wykonywania algorytmu, należy przed uruchomieniem algorytmu otworzyć okno komentarza (Okno/Komentarz). Okno - plansza algorytmu Na planszy można układać algorytm z klocków dostępnych w palecie a następnie symulować jego działanie. Plansza ma wielkość 64 klocki (w poziomie) na 48 klocków(w pionie). Jednocześnie może być otwartych kilka plansz. Okno zmiennych Otwierając okno zmiennych możemy uzyskać przegląd zmiennych i ich wartości(polecenie z menu Okno/Zmienne). Okno można przesunąć w dowolne miejsce ekranu(najprościej wywołać Okno/Uporządkuj okna). W trakcie wykonania algorytmu pojawiają się w nim informacje o kolejnych zmiennych: . nazwa zmiennej, . aktualna jej wartość (znak? oznacza, że wartość nie jest określona), . nazwa planszy, na której zmienna występuje, . poziom wywołania. SPIS TREŚCI << < > >> ZAKOŃCZ

  20. Wiadomości wstępne Interfejs i czujniki 19 III ELI Interfejs i czujniki Podłączenie interfejsu polega na połączeniu go kablem (bez dodatkowych kart) z portem szeregowym (RS232) komputera. W menu Opcje/Interfejs trzeba wybrać numer portu, do którego podłączony jest interfejs (COM l lub COM2) i zaznaczyć, że interfejs jest włączony. Należy również włączyć zasilacz interfejsu. Włączenie interfejsu sygnalizuje zielona dioda w jego obudowie. Żółta dioda znajdująca się obok zapala się gdy uruchomimy algorytm. Trzy czujniki pozwalają mierzyć temperaturę, natężenie światła i poziom dźwięku. Łączymy je z interfejsem: najbliżej zielonej diody - mikrofon, do kolejnego wejścia ­termistor, a do ostatniego - fototranzystor. Dwa ostatnie czujniki są zabezpieczone kapturkami, które przed pomiarem należy zdjąć. Interfejs jest obsługiwany przez program - do algorytmu wstawiamy klocek odczytu z interfejsu i wybieramy, który z czujników będzie używany. Odczyt z interfejsu Przypisanie zmiennej wartości odczytanej z interfejsu. Odczyt dokonywany jest z jednego z trzech czujników: temperatury, światła lub dźwięku. Zmienna – nazwa zmiennej, której będzie przypisana wartość odczytana z interfejsu. Brak nazwy zmiennej powoduje błąd wykonania. Okno śladu Otwierając okno śladu (Okno/Ślad) można uzyskać dokładną relację z przebiegu wykonania algorytmu - listę wykonywanych przez algorytm działań. Okno można przesunąć w dowolne miejsce ekranu (najprościej wywołać Okno/Uporządkuj okna). Jeśli teraz uruchomimy algorytm, to jego kolejne kroki zostaną zapisane w oknie śladu. Pojawia się w nim: - poziom wywołania, - nazwa planszy, która jest wykonywana, - wynik wykonania klocka, - opis klocka. Ślad algorytmu możemy zachować na dysku (Edycja/Zapisz ślad) w postaci pliku tekstowego. SPIS TREŚCI << < > >> ZAKOŃCZ

  21. Wiadomości wstępne Skróty klawiaturowe 20 III ELI Skróty klawiaturowe CTRL+F9 - uruchomienie wykonania algorytmu F9 - wykonanie ciągłe algorytmu F8 - wykonanie tylko jednego klocka algorytmu F7 - zakończenie wykonania algorytmu W oknie algorytmu F2 - ustawienie pułapki W oknie tablicy INS - edycja pola tablicy 5 z pola numerycznego - zmiana sposobu wyświetlania tablicy W oknie taśmy INS - edycja pola taśmy SPIS TREŚCI << < > >> ZAKOŃCZ

  22. Wiadomości wstępne Pasek narzędzi 21 III ELI Pasek narzędzi Pasek narzędzi umieszczony na górze ekranu pod głównym menu umożliwia szybkiewywołanie najczęściej używanych poleceń. Ikony menu SPIS TREŚCI << < > >> ZAKOŃCZ

  23. Wprowadzenie do budowania.. Algorytm liniowy- obliczanie sumy dwóch liczb 22 III ELI Algorytm liniowy - obliczanie sumy dwóch liczb Pracę w ELI zaczynany otwierając projekt, a w nim planszę, na której będziemy budowali algorytm. Wybieramy z menu polecenie Plik/Nowy Projekt w oknie które się otwiera wpisujemy jego nazwę (np. suma) i zaznaczamy, co chcemy utworzyć: ◊ nową planszę, ◊ tablicę, ◊ taśmę. Pojawia się zielona plansza i zestaw klocków z lewej strony. Aby zbudować algorytm należy przenieść klocek z palety na planszę. Spróbujmy zbudować algorytm obliczający sumę dwóch liczb, a oto plan algorytmu. 1. Start. 2. Wczytanie dwóch liczb 3. Obliczenie sumy tych liczb 4. Wyprowadzenie wyniku 5. Zakończenie algorytmu Każdy algorytm musi mieć punkt startu (tylko jeden) , jest on pierwszym klockiem w algorytmie. Następnymklockiem będzie wprowadzenie danych , aby wczytać dwieliczby musimy ustawić dwa takie klocki, w pierwszym wpisujemy liczbę 1 a w drugim liczba2 w polu nazwa zmiennej. Obliczeń dokonujemy w klocku obliczenia gdzie wpisujemysuma=liczbal +liczba2. Pozostaje jeszcze wyprowadzenie wyniku na ekran i zakończenie pracy . SPIS TREŚCI << < > >> ZAKOŃCZ

  24. Wprowadzenie do budowania.. Algorytm liniowy- obliczanie sumy dwóch liczb 23 III ELI Przykładowy algorytm sumujący dwie liczby. Poniżej są przedstawione pola edycyjne poszczególnych klocków (edycje dokonujemy wciskając prawy przycisk myszki na wybranym klocku ) SPIS TREŚCI << < > >> ZAKOŃCZ

  25. Wprowadzenie do budowania.. Algorytm rozgałęziony- sprawdzanie warunku 24 III ELI Algorytm rozgałęziony - sprawdzanie warunku Algorytmy liniowe nie zawsze da się zastosować, często zachodzi konieczność sprawdzenia pewnego warunku i dopiero potem wykonujemy określone zadanie(np. znalezienie większej liczby). Zbudujmy algorytm który znajdzie większą z dwóch wczytanych liczb. Plan działania: 1. Start 2. Wczytać pierwszą liczbę 3 . Wczytać drugą liczbę 4. Sprawdzenie czy większa jest pierwsza liczba a. Jeśli tak, to wypisujemy ją z objaśnieniem że jest większa od drugiej b. Jeśli nie, to wypisujemy drugą liczbę z objaśnieniem że jest większa od pierwszej 5. Zakończenie algorytmu Przykład algorytmu W klockach startu i wczytania danych postępujemy jak w poprzednimprzykładzie. Klocek warunku musi zostać wypełniony i w tym celu edytujemy go i wpisujemy warunek liczba1>liczba2.Uzupełnienia wymagają jeszcze dwa klocki wyprowadzenia wyniku . Jeżeli warunek będzie prawdziwy algorytm przejdzie do lewego klocka wyprowadzenia wyniku, jeśli fałszywy do prawego (literka N w warunku oznacza niespełniony warunek). Zadanie Zbuduj algorytm który rozpozna przypadek gdy liczby są równe i wyświetli odpowiedni komunikat. SPIS TREŚCI << < > >> ZAKOŃCZ

  26. Wprowadzenie do budowania.. Algorytm rozwiązania równania kwadratowego 25 III ELI Algorytm rozwiązania równania kwadratowego Równanie kwadratowe ma postać ax2 + bx + c = O gdzie a,b,c są współczynnikami liniowymi a ≠ O. Aby istniało rozwiązanie wyróżnik ∆ > 0, wtedy możemy skorzystać ze wzorów - b - √∆ - b + √∆ X1 = ———— X2 = ———— 2 * a 2 * a Plan działania 1. Start 2. Wczytanie 3 współczynników 3. Obliczenie wyróżnika 4. Sprawdzenie czy wyróżnik jest dodatni jeśli tak to ◊ Obliczyć pierwiastki ◊ Wyświetlić oba pierwiastki ◊ Koniec algorytmu jeśli nie to ◊ Wypisujemy deltę i komunikat brak rozwiązań ◊ Koniec algorytmu Przykład algorytmu SPIS TREŚCI << < > >> ZAKOŃCZ

  27. Wprowadzenie do budowania.. Obliczanie wartości średniej 26 III ELI Obliczenie wartości średniej Wartość średnią często wykorzystuje się do pomiarów tego samego czynnika, który odbiegają od siebie np. średnia opadów w lipcu, średnia temperatura, średnia płaca itp. Obliczenie wartości średniej należy zacząć od określenia ilości elementów z których będziemy liczyć średnią. Kolejnym krokiem jest dodanie poszczególnych elementów. Wartość sumy będziemy przechowywać w zmiennej suma, a numer kolejnego elementuw liczniku L Zmienne te powinny być wyzerowane na początku algorytmu.Sumowanie zaczniemy od dodania do sumy pierwszego elementu i tak kolejno aż do ostatniego, umieszczenie warunku pozwoli na sprawdzenie czy wszystkie elementy zostały dodane. Zostaje jedynie podzielenie sumy przez ilość elementów aby uzyskać średnią. Plan algorytmu 1. Wczytanie ilości elementów n 2. Wyzerowanie zmiennej suma i licznika i 3. Sprawdzenie czy wszystkie elementy zostały wczytane i<n jeśli nie to ◊ wczytanie następnego elementu ◊ dodanie do sumy ◊ zwiększenie licznika i ◊ przejście do punktu 3 jeśli tak to ◊ obliczenie średniej ◊ wyświetlenie wyniku ◊ koniec algorytmu Przykład algorytmu Zadania 1. Zmodyfikuj algorytm tak aby nie było konieczne z góry określenie ilości danych elementów np. wprowadzenie O kończy wczytywanie elementów. 2. Oblicz średnie odchylenie standardowe. SPIS TREŚCI << < > >> ZAKOŃCZ

  28. Wprowadzenie do budowania.. Znajdowanie największej z podanych liczb 27 III ELI Znajdowanie największej z podanych liczb W tym przypadku nie wiemy ile będzie podanych liczb do porównywania dlatego musimy określić sposób zakończenia algorytmu. Najprościej umówić się że wczytanie liczby ujemnej kończy algorytm. Przykładem może być np. określenie najwyższego ucznia w klasie. Algorytm powinniśmy zacząć od wyzerowania zmiennej przechowującej wartość max, następnie sprawdzamy czy to już wszystkie elementy do wczytania jeśli tak to kończymy algorytm, jeśli nie to sprawdzamy czy aktualna liczba jest większa od max jeśli tak to zapamiętujemy aktualną wartość jako max. Plan działania 1. Start 2. Określenie wartości max = 0 3. Wczytanie kolejnej liczby 4. Sprawdzenie czy jest to liczba dodatnia jeśli tak to ◊ Sprawdzenie czy liczba ta jest większa od max jeśli tak to podstawienie pod max aktualnej liczby powrót do pkt.3 jeśli nie to przejście do p.3 jeśli nie to ◊ Wyświetlenie wartości max ◊ Koniec algorytmu Przykład algorytmu Zadania 1. Zbuduj algorytm znajdujący wartość min 2. Zbuduj algorytm znajdujący jednocześnie wartość max i min SPIS TREŚCI << < > >> ZAKOŃCZ

  29. Wprowadzenie do budowania.. Największy wspólny dzielnik – algorytm Euklidesa 28 III ELI Największy wspólny dzielnik - algorytm Euklidesa Sposób ten daje szybko wynik co jest bardzo pomocne przy dużych liczbach podczasskracania ułamków. Pomysł opiera się na fakcie że jeśli od większej liczby odejmiemy mniejszą to ta mniejsza liczba i otrzymana różnica będą miały taki sam największy wspólny dzielnik jak pierwotne liczby. Jeśli po kolejnych odejmowaniach otrzymamy takie same liczby to znaczy że mamy NWD. Plan działania 1. Start 2. Wczytać dwie liczby a i b 3. Sprawdzić czy te liczby są różne jeśli tak to ◊ Sprawdzić czy a>b jeśli tak to a=a-b jeśli nie to b=b-a ◊ Powrót do punktu 3 jeśli nie to 4. Wyświetl wartość a 5. Koniec algorytmu Przykład algorytmu Zadanie 1. Zabezpiecz algorytm przed błędnymi danymi np. a=0 2. Zbuduj algorytm skracający ułamki właściwe SPIS TREŚCI << < > >> ZAKOŃCZ

  30. Wprowadzenie do budowania.. Dzielenie liczb całkowitych (pętla DOPÓKI) 29 III ELI Dzielenie liczb całkowitych (pętla DOPÓKI) Poprzednie algorytmy zawierały fragment, w którym cześć algorytmu chodziła w kółko wykonując wielokrotnie ten sam fragment, taki fragment nazywa się pętlą. Pokazana pętla Dopóki (WHILE) wykona się jeśli warunek jest prawdziwy. Zadaniem algorytmu będzie podzielenie dwóch liczb a i b uzyskując iloraz i resztę. Dzielenie musimy wykonać poprzez kolejneodejmowania i sprawdzanie czy dzielna jest mniejsza od dzielnika, ilość odejmowań określi iloraz a wynik ostatniego odejmowania resztą. Plan działania 1. Start 2. Wczytanie dzielnej i dzielnika 3. Określenie warunków początkowych r =a największa możliwa reszta jest równa dzielnej i =0 na początku iloraz jest równy 0 4. Dopóki r >=b wykonuj r =r- b i =i+ 1 5. Wyświetl iloraz i resztę W języku C taką pętlę zapisujemy WHILE (warunek) {instrukcje} Przykład algorytmu Zadania 1. Zbuduj algorytm odporny na błędne dane np. a=0, a=-3 2. Zapisać do tablicy ciąg liczb dodatnich na końcu wstawić liczbę ujemną, zbudować algorytm który obliczy średnią z liczb dodatnich. 3. Zbuduj algorytm skracający ułamki i wyświetlający stan początkowy i końcowy SPIS TREŚCI << < > >> ZAKOŃCZ

  31. Wprowadzenie do budowania.. Pierwiastek kwadratowy (pętla POWTARZAJ) 30 III ELI Pierwiastek kwadratowy (pętla POWTARZAJ) Zadaniem algorytmu jest obliczenie pierwiastka kwadratowego z liczby dodatniejz zadaną dokładnością. Aby było zabawniej załóżmy że nie mamy do dyspozycji funkcji pierwiastka. Przepis na obliczenie pierwiastka podał Newton, polega on na kolejnych przybliżeniach, jako pierwsze bierzemy wartość 1, następne wynosi' średnią arytmetycznąz poprzedniego przybliżenia i liczby podzielnej przez poprzednie przybliżenie. Koniec obliczeń następuje gdy względna dokładność jest mniejsza niż 1. Plan działania 1. Wczytać liczbę i dokładność 2. xn= 1 pierwsze przybliżenie 3. wykonanie obliczeń xs=xn xn=( xs+liczba/xs )/2 dx=abs( xn-xs )/ ε 4. dx<l jeśli fałsz to skocz do punktu 3 jeśli prawda to wyświetl xn 5. koniec algorytmu Przykład algorytmu Zadania 1. Zbuduj algorytm odporny na błędne dane np. liczba = - 4 SPIS TREŚCI << < > >> ZAKOŃCZ

  32. Wprowadzenie do budowania.. Sumowanie liczb nieparzystych (pętla DLA) 31 III ELI Sumowanie liczb nieparzystych (pętla DLA) Zadaniem algorytmu jest sumowanie liczb nieparzystych. Liczbę nieparzystą możemy określić ustawiając wartość początkową na 1 i dodawaniu do niej 2 co da kolejne liczby. Innym sposobem jest obliczanie według wzoru L=2*L – l co da też liczbę nieparzystą. Spróbujmy pierwszego sposobu w tym celu musimy określić zakres sumowanych liczb min=l i max. Plan działania 1. Wczytać wartość końcową 2. Nadanie zmiennym sterującym obliczone wartości 3. Sprawdzenie czy uzyskaliśmy wartość końcową zmiennej sterującej jeśli nie to ◊ dodanie do sumy 2 ◊ zwiększenie zmiennej sterującej jeśli tak to 4. Wyświetl sumę 5. Zakończ algorytm Przykład algorytmu Zastosowana tu pętla DLA (FOR) wykonuje się ściśle określoną ilość razy co różni ją od poprzednich gdzie ilość okrążeń była zależna od spełnienia warunku. W pętli DOPÓKI (WHILE) najpierw zostaje sprawdzony warunek a dopiero później wykonuje się obliczenia w skrajnym przypadku może się nie wykonać ani razu. Pętla POWTARZAJ (DO...WHILE) również nie ma z góry określonej ilości iteracji lecz warunek sprawdzany jest po obliczeniach co ją różni od poprzedniej pętli w skrajnym przypadku wykona się przynajmniej raz. Zadanie 1. Przerobić algorytm tak aby sumować liczby od dowolnej wartości początkowej 2. Zbuduj algorytm który wyświetli dowolną linijkę z tabliczki mnożenia SPIS TREŚCI << < > >> ZAKOŃCZ

  33. Wprowadzenie do budowania.. Zgadnij liczbę 32 III ELI Zgadnij liczbę Algorytm ten będzie generował liczbę z zakresu od O do 50 a my mamy ją odgadnąć przy jak najmniejszej ilości prób. Funkcja generująca liczby random(n) zwróci liczbę pseudo losową z przedziału od O do n - l. Abyśmy mieli szansę odgadnąć komputer będzie podawał informacje czy nasza liczba jest za duża czy za mała. Plan działania 1. Wygenerowanie liczby przez komputer 2. Ustawienie licznika prób na 1 3. Wczytanie liczby 4. sprawdzenie czy podana liczba jest trafna jeśli tak to ◊ gratulacje ◊ koniec algorytmu jeśli nie to ◊ sprawdzenie czy podana liczba jest za duża jeśli tak to wyświetlenie "za duża" jeśli nie to wyświetlenie "za mała" ◊ zwiększenie licznika prób o 1 ◊ powrót do punktu 4 Przykład algorytmu Zadania 1. Zbuduj algorytm z samodzielnym wyborem zakresu zgadywanych liczb 2. Zbuduj algorytm w którym komputer zgaduje liczbę SPIS TREŚCI << < > >> ZAKOŃCZ

  34. Projekty Sumowanie ułamków 33 III ELI Sumowanie ułamków Sumowanie ułamków wymaga kolejno: 1. Obliczenia wspólnego mianownika 2. Zsumowania pomnożonych przez odpowiednie współczynniki liczników 3. Skrócenie otrzymanego ułamka Przykład 5 3 ― + ― = ? 6 8 Musimy obliczyć wspólny mianownik czyli najmniejszą wspólną wielokrotność (nww), do tego będzie potrzebny najmniejszy wspólny dzielnik (nwd), nwd=2, a nww obliczamy ze wzoru nww=6 *8/nwd=24  Kolejnym krokiem jest obliczenie poszczególnych liczników, dla pierwszego obliczamy Licznik1 =5 *nww/6=5 *24/6=20 Licznik2=3 *nww/8=3 *24/8=9 Nasz ułamek przyjmie postać. Obliczamy nwd dla nowego mianownika i nowego licznika, nwd dla 29 i 24 wynosi nwd=l, licznik i mianownik dzielimy przez nwd i wypisujemy nowe wartości. W naszym przypadku nie zmieni to wyniku. 20 + 9 ==29 24 24 Plan algorytmu 1. Wczytanie czterech liczb 2. Obliczenie nwd 3. Obliczenie: a. Wspólnego mianownika nww b. Liczników c. Sumy liczników 4. Wypisanie wspólnego mianownika 5. Obliczenie nwd nowego licznika i nww 6. Skrócenie licznika i mianownika (podzielenie przez nwd) 7. Wypisanie licznika i mianownika SPIS TREŚCI << < > >> ZAKOŃCZ

  35. Projekty Sumowanie ułamków 34 III ELI W czasie wykonywania algorytmu dwukrotnie zostaje obliczany nwd, można zastosować procedurę którą dwa razy wywołamy. Przykład algorytmu Zadanie 1. Zbuduj algorytm obliczający nwd i nww dla dwóch dowolnych liczb naturalnych, zastosuj procedurę 2. Zbuduj algorytm dodający trzy ułamki SPIS TREŚCI << < > >> ZAKOŃCZ

  36. Projekty Wykresy funkcji 35 III ELI Wykresy funkcji Aby uzyskać dowolny wykres należy dane umieścić w tablicy. W kolumnie zerowej umieszczamy wartości argumentu x, a w kolejnych wartości funkcji. Wstawianie danych do tablicy najlepiej zrealizować za pomocą pętli for w której umieszczamy klocek zapis do tablicy. Przykład algorytmu wpisującego dane do tablicy Plan działania 1. Start 2. Wczytanie wartości początkowej xpocz 3. Wczytanie wartości końcowej xkon 4. Wczytanie liczby kroków n 5. Obliczenie przyrostu argumentu dx=(xkon-xpocz)/n 6. Sprawdzenie czy x jest większe od xkon jeśli tak to koniec jeśli nie to obliczenie f(x) wpisanie x i y do tablicy zwiększenie x o dx i numeru wiersza o 1 powrót do początku pętli SPIS TREŚCI << < > >> ZAKOŃCZ

  37. Projekty Wykresy funkcji 36 III ELI Algorytm zapisze dane do tabelki w dwóch kolumnach, można te liczby przedstawić w postaci wykresu. Na polu tablicy wciskamy prawy przycisk myszki i wybieramy sposób prezentacji. Zaznaczamy układ prostokątny i wciskamy OK. Jeżeli wybierzemy sposób prezentacji mamy możliwość wyboru rodzaju osi i rodzaju wykresu. Zadania l. Zbuduj algorytm wyświetlający funkcję y=ax+b 2. Zbuduj algorytm wyświetlający funkcję y =ax2+bx+c 3. Zbuduj algorytm wyświetlający funkcje trygonometryczne 4. Sprawdź poprawność równania sin2(x)+cos2(x)=1 SPIS TREŚCI << < > >> ZAKOŃCZ

  38. Projekty Rozkład liczby naturalnej na czynniki 37 III ELI Rozkład liczby naturalnej na czynniki Algorytm ma rozkładać dowolną liczbę naturalną na czynniki pierwsze. Sposób postępowania jest następujący, bierzemy najmniejszy czynnik 2, dopóki liczba jest większa od czynnika sprawdzamy, czy liczba jest podzielna przez czynnik, jeśli tak to wypisujemy czynnik i sprawdzamy dalej dla liczby podzielnej przez czynnik, jeśli nie to zwiększamy czynnik o 1. Plan działania 1. Wczytanie liczby 2. Przypisanie czynnikowi wartości 2 3. Sprawdzenie, czy czynnik jest większy od liczby jeśli tak to zapisanie liczby i zakończenie działania jeśli nie to sprawdzenie czy reszta z dzielenia całkowitego jest równa O jeśli tak to zapisanie czynnika i przypisanie liczbie wartości liczba/czynnik jeśli nie to zwiększenie czynnika o 1 4. Powrót do punktu 3 Przykład algorytmu Zadanie 1. Zbuduj algorytm sprawdzający czy podana liczba jest liczbą pierwszą. 2. Zbuduj algorytm wypisujący wszystkie podzielniki podanej liczby SPIS TREŚCI << < > >> ZAKOŃCZ

  39. Projekty Tabliczka mnożenia 38 III ELI Tabliczka mnożenia Tabliczka mnożenia jest typową tablicą. Chcemy, by nasz algorytm wpisywałw odpowiednie pola wyniki mnożeń kolejnych liczb. Wypełnienie jednego wiersza tablicy wymaga jednej pętli DLA. Wypełnienie kolejnych wierszy wymaga zastosowania pętli zewnętrznej w stosunku do pierwszej. Taka konstrukcja nazywa się pętlą w pętli. Plan działania 1. Start 2. Wczytanie liczby od której zaczniemy wpisywać tabliczkę mnożenia 3. Wczytanie liczby, na której skończymy wpisywanie 4. Przypisanie zmiennej sterującej wypisywaniem wierszy i zmiennej sterującej wypisywaniem kolumn wczytanej wartości początkowej Zewnętrzna pętla 5. Sprawdzenie warunku, czy bieżąca wartość zmiennej sterującej wier jest mniejsza lub równa wartości końcowej jeśli tak to przejście do wypisywania wiersza wewnętrzna pętla a.  Sprawdzenie warunku, czy bieżąca wartość zmiennej sterującej kol jest mniejsza lub równa wartości końcowej jeśli tak to wpisanie iloczynu wier*kol do pola tablicy w wierszu wier-pocz+ 1 i kolumnie kol-pocz+ 1 zwiększenie o 1 zmiennej kol powrót do początku wewnętrznej pętli jeśli nie to, koniec wypełniania wiersza a więc zwiększenie o 1 zmiennej wier powrót do początku zewnętrznej pętli jeśli nie to b. Wypełnienie nagłówków wiersza 0 i kolumny 0 c. Koniec  W przypadku trudności z budową algorytmu, należy zacząć od wypełnienia tylko jednego wiersza przy użyciu pojedynczej pętli DLA. SPIS TREŚCI << < > >> ZAKOŃCZ

  40. Projekty Tabliczka mnożenia 39 III ELI Przykład algorytmu Zadania 1. Zbuduj algorytm wypełniający jedynie główną przekątną 2. Zbuduj algorytm wypełniający tablicę iloczynami liczb nieparzystych SPIS TREŚCI << < > >> ZAKOŃCZ

  41. Projekty Z systemu dziesiętnego na dowolny 40 III ELI Z systemu dziesiętnego na dowolny Przeliczenie z dowolnego systemu na dziesiętny jest następujące: liczba dziesiętna=w0 * pods0 + w1 * pods1 + ...+ wn * podsn gdzie wi jest współczynnikiem przy i-tej potędze podstawy systemu. Odwrotną czynnością jest przeliczenie z systemu dziesiętnego na dowolny, w tym celu liczbę dziesiętną dzielimy przez podstawę danego systemu. Przykład Zamieńmy liczbę 6 z systemu dziesiętnego na system dwójkowy. Dzielimy całkowicie (bez ułamków) liczbę 6 przez 2 i zapisujemy resztę. 6/2=3 i 0 - reszty, następnie otrzymany wynik przez 2 i zapisujemy resztę 3/2=1 i 1 reszty możemy to zapisać w postaci : 2 6 │ 0 3 │ 1 1 │ 1 Odczytujemy liczby od dołu, co nam daje liczbę w systemie dwójkowym 110 równą 6 w systemie dziesiętnym. Sprawdzenie polega na wykorzystaniu wzoru z początku rozdziału. 0 * 2 0 + 1 * 21 + 1 * 2 2 = 0+2+4=6 Plan działania 1. Wczytanie liczby i podstawy 2. Przewinięcie na początek taśmy, na której będziemy zapisywać współczynniki 3. Sprawdzenie czy liczba jest równa 0 jeśli tak to a. Zakończenie działania jeśli nie to a. Obliczenie reszty z dzielenia liczby przez podstawę i ilorazu całkowitego b. Zapisanie na taśmie reszty z dzielenia c. Przypisanie liczbie wartości ilorazu d. Powrót do punktu 3 SPIS TREŚCI << < > >> ZAKOŃCZ

  42. Projekty Z systemu dziesiętnego na dowolny 41 III ELI Przykład algorytmu Zadania 1. Zbuduj algorytm przeliczający z dowolnego systemu na dziesiętny 2. Zbuduj algorytm zamieniający ułamek dziesiętny na postać dwójkowa SPIS TREŚCI << < > >> ZAKOŃCZ

  43. Porządkowanie ciągów Wyszukiwanie liczby 42 III ELI Wyszukiwanie liczby Zadanie polega na stwierdzeniu, czy wśród zapisanych liczb na taśmie znajduje się podana liczba. Jeśli nic nie wiemy o liczbach zapisanych na taśmie, to musimy przejrzeć je pokolei porównując z zadaną liczbą. Można na dwa sposoby rozwiązać ten problem: ◊ Ze sprawdzeniem czy wszystkie liczby zostały sprawdzone ◊ Z wartownikiem, specjalną liczb ustawioną na końcu ciągu liczb może to być np. 0 Plan działania 1.      Start 2.      Wczytanie poszukiwanej liczby 3.      Wczytanie elementów ciągu i zapis na taśmę 4.      Wczytanie którą metodę wybieramy 5.      Sprawdzenie czy wybrano metodę 1 ▪ Jeśli tak to wywołanie procedury szukajdlan ▪ Jeśli nie to wywołanie procedury szukajwart 6. Zakończenie działania W punkcie 3 należy zastosować procedurę która podane dane zapisze na taśmę, jejschemat może być następujący. 1. Przewinąć taśmę na początek 2. dla i od 1 do n wykonuj wczytaj liczbę, zapisz liczbę na taśmę  Procedura szukajdlan ma dwa parametry X - poszukiwana liczba N - liczba elementów do przeszukiwania Jej schemat działania jest następujący: 1. przewinięcie taśmy na początek 2. dla i od 0 do n-l ◊ wczytanie elementu z taśmy ◊ sprawdzenie czy element jest poszukiwaną liczbą jeśli tak to przerwanie działania w pętli - przestawienie wskaźnika taśmy na pozycję i - wyprowadzenie komunikatu o znalezieniu liczby i jej pozycji - zakończenie procedury jeśli nie to pętla działa dalej 3. wyprowadzenie komunikatu o braku poszukiwanej liczby 4. zakończenie procedury SPIS TREŚCI << < > >> ZAKOŃCZ

  44. Porządkowanie ciągów Wyszukiwanie liczby 43 III ELI Procedura szukajwart również posiada dwa parametry X - poszukiwana liczba N - liczba elementów do przeszukiwania Jej schemat działania jest następujący: 1. Przesunięcie wskaźnika na pozycję n (za ostatnim elementem ciągu) 2. Wpisanie na taśmę poszukiwanej liczby 3. Przewinięcie taśmy na początek 4. Przypisanie numerowi i na taśmie wartości 0 5. Powtarzanie ◊ Odczytu z taśmy i - tego elementu ◊ Zwiększenie numeru i o 1 aż do momentu gdy wczytany element będzie równy poszukiwanej liczbie 6. Sprawdzenie czy ostatni wczytany element (i-l) ma numer równy n (jest wartownikiem) jeśli tak to ◊ Wyprowadzenie komunikatu o braku poszukiwanej liczby ◊ Zakończenie procedury jeśli nie to ◊ Przestawienie wskaźnika taśmy na pozycję i-l ◊ Wyprowadzenie komunikatu o znalezieniu liczby i jej pozycji (i-l) ◊ Zakończenie procedury Przykład algorytmu Zadania 1. Przebuduj procedurę szukajdlan tak aby nie zawierała przerwania pętli po znalezieniu liczby 2. Zbuduj algorytm szukający określonej danej w uporządkowanym ciągu liczb zapisanych na taśmie. Algorytm powinien wyświetlać komunikat czy znaleziono liczbę i jeśli tak to na której pozycji. SPIS TREŚCI << < > >> ZAKOŃCZ

  45. Porządkowanie ciągów Znajdowanie największej liczby 44 III ELI Znajdowanie największej liczby Załóżmy, że wpisane liczby na taśmie są nieujemne, a pierwsza liczba ujemna nie jestjuż elementem ciągu, lecz oznacza ona koniec tzw. strażnik. Plan działania 1. Start 2. Przesunięcie wskaźnika taśmy na początek 3 . Wczytanie pierwszego elementu z taśmy 4. Przyjęcie tej wartości za max i ustawienie numeru liczby na taśmie na 0 5. Sprawdzenie czy wczytana liczba jest większa lub równa 0 jeśli tak, to: ` a. Sprawdzenie czy wczytana liczba jest większa od bieżącego maksimum jeśli tak, to przypisanie maksimum wartości wczytanej liczby i zapamiętanie jej numeru w ciągu b. Wczytanie kolejnej liczby z taśmy c. Zwiększenie licznika elementów o 1 d. Powrót do punktu 5 jeśli nie, to: a. Wyprowadzenie największej liczby i przestawienie jej na początek (procedura) b. Zakończenie Procedurę należy zbudować według podanego przepisu 1. Początek procedury 2. Sprawdzamy czy max jest nieujemne jeśli tak to a. Wyprowadzenie max b. Przewijanie taśmy na pozycję nrpocz c. Wpisanie max d. Przewijanie taśmy na pozycję nrmax e. Wpisujemy pierwszy element f. Kończymy procedurę jeśli nie to a. Ciąg musiał być pusty, sygnał dźwiękowy b. Koniec procedury SPIS TREŚCI << < > >> ZAKOŃCZ

  46. Porządkowanie ciągów Znajdowanie największej liczby 45 III ELI Przykład algorytmu Zadania 1. Zbuduj algorytm znajdujący najmniejszą liczbę 2. Zbuduj algorytm szukający jednocześnie min i max 3. Zbuduj algorytm wyszukujący medianę SPIS TREŚCI << < > >> ZAKOŃCZ

  47. Porządkowanie ciągów Sortowanie ciągu 46 III ELI Sortowanie ciągu Algorytm sortowania bąbelkowego ciągu liczb zapisanych na taśmie polega na porównaniu parami kolejnych elementów ciągu i przestawieniu ich jeśli są w niewłaściwej kolejności. Należy dokonać kilku przebiegów aby posortować cały ciąg. Zakładamy że liczby są nieujemne a ujemna kończy ciąg. Plan działania 1. Start 2. Przypisanie liczbie przestawień wartości 1początek pętli sortowania 3. Sprawdzenie czy liczba przestawień wynosi 0 jeśli tak to 4. Zakończenie algorytmu jeśli nie to a. Ustawienie liczby przestawień na 0 i numeru elementu na 0 b. Przesunięcie wskaźnika taśmy na początekpoczątek pętli przestawień c. Przesunięcie wskaźnika taśmy na pozycję o aktualnym numerze d. Wczytanie bieżącego elementu taśmy e. Sprawdzenie czy to element ciągu jeśli tak to wykonanie procedury przestaw i nadanie liczbie przestawień wartości zwracanej przez procedurę zwiększenie o 1 numeru pozycji na taśmie powrót do początku pętli przestawień jeśli nie to Powrót do początku głównej pętli Procedura przestaw 1. Start procedury 2. Wczytanie z taśmy nowego elementu ciągu 3. Sprawdzenie czy nowy element ciągu jest większy od tego który jest argumentem procedury jeśli tak to dokonanie przestawienia a. Zwiększenie licznika przestawień o 1 b. Przestawienie wskaźnika taśmy na pozycję poprzednio wczytanego elementu c. Zapis na taśmę ostatnio wczytanego nowego elementu d. Zapis na taśmę poprzednio wczytanego elementu e. Koniec procedury jeśli nie to elementy są w dobrej kolejności następuje koniec procedury SPIS TREŚCI << < > >> ZAKOŃCZ

  48. Porządkowanie ciągów Sortowanie ciągu 47 III ELI Przykład algorytmu Zadania 1. Zbuduj algorytm sortujący od najmniejszej do największej liczby 2. Zbuduj algorytm sortujący poprzez znalezienie największej liczby i przestawienie jej na początek itd. SPIS TREŚCI << < > >> ZAKOŃCZ

  49. Porządkowanie ciągów Rozwiązywanie równania metodą połowienia 48 III ELI Rozwiązywanie równania metodą połowienia Często nie istnieje dokładne rozwiązanie równania f(x)=0dlatego też stosuje się rozwiązana przybliżone. Jedną z takich metod jest metoda bisekcji. Wymaga ona znajomości przedziału ( a, b) w którym znajduje się rozwiązanie oraz funkcja na końcach przedziału musi mieć różne znaki. Zasada polega na dzieleniu przedziału na pół i sprawdzeniu w której części znajduje się rozwiązanie tzn. funkcja ma różne znaki itd. Aż przedział będzie mniejszy od zadanej dokładności. Plan działania 1. Start 2. Wczytanie danych i sprawdzenie czy spełnione są założenia (procedura) 3. Obliczenie wartości funkcji dla dolnej granicy i połowy przedziału 4. Sprawdzenie czy y=O czyli znamy rozwiązanie jeśli tak to wypisanie rozwiązania i zakończenie * jeśli nie to sprawdzenie czy różnica między końcami przedziału jest mniejsza niż dokładność jeśli tak to wypisanie rozwiązania i koniec jeśli nie to sprawdzenie znaków funkcji w dolnej połowie przedziału, jeśli znaki są takie same to wybranie górnej połowy przedziału jeśli znaki są różne to wybór dolnej połowy przedziału obliczenie nowej granicy w połowie przedziału i wartości funkcji dla niej określenie znaku funkcji dla nowej granicy powrót do * W metodzie połowienia trzeba wielokrotnie obliczać wartość funkcji dla różnych argumentów dlatego też istnieje potrzeba skonstruowania procedury obliczającej wartość zadanej funkcji. Plan działania procedury funkcja 1. obliczenie wartości funkcji dla x 2. zwrócenie tej wartości do głównego algorytmu SPIS TREŚCI << < > >> ZAKOŃCZ

  50. Porządkowanie ciągów Rozwiązywanie równania metodą połowienia 49 III ELI Przykład algorytmu Zadania 1. Zbuduj algorytm obliczający miejsce zerowe funkcji f(x) =x3 -3x2+ l2x-34 SPIS TREŚCI << < > >> ZAKOŃCZ

More Related