Podstawy Informatyki
|
|
- Artur Dudek
- 7 lat temu
- Przeglądów:
Transkrypt
1 Podstawy Informatyki Bożena Woźna-Szcześniak Jan Długosz University, Poland Wykład 6 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 1 / 59
2 Algorytmika Najstarsza dziedzina informatyki, która zajmuje się badaniem algorytmów, ich własnościami, projektowaniem i analiza. (Dawid Harel: Rzecz o istocie informatyki algorytmika.) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 2 / 59
3 Algorytmika Najstarsza dziedzina informatyki, która zajmuje się badaniem algorytmów, ich własnościami, projektowaniem i analiza. (Dawid Harel: Rzecz o istocie informatyki algorytmika.) W informatyce algorytmika jest nieodłacznie zwiazana z algorytmami przetwarzania struktur danych. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 2 / 59
4 Potoczne rozumienie pojęcia algorytm Potocznie algorytm jest rozumiany jako pewien przepis na wykonanie jakiegoś zestawu czynności, prowadzacych do osiagnięcia oczekiwanego i z góry określonego celu. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 3 / 59
5 Potoczne rozumienie pojęcia algorytm Potocznie algorytm jest rozumiany jako pewien przepis na wykonanie jakiegoś zestawu czynności, prowadzacych do osiagnięcia oczekiwanego i z góry określonego celu. Mówi się również, że algorytm jest pewna ściśle określona procedura obliczeniowa, która dla zestawu właściwych danych wejściowych produkuje żadane dane wyjściowe. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 3 / 59
6 Potoczne rozumienie pojęcia algorytm Potocznie algorytm jest rozumiany jako pewien przepis na wykonanie jakiegoś zestawu czynności, prowadzacych do osiagnięcia oczekiwanego i z góry określonego celu. Mówi się również, że algorytm jest pewna ściśle określona procedura obliczeniowa, która dla zestawu właściwych danych wejściowych produkuje żadane dane wyjściowe. Przykłady algorytmów: przepisy kulinarne, intrukcje montażu, procedury prowadzenia badań naukowych, czy też procedura wymiany koła w samochodzie, itp. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 3 / 59
7 Algorytm Słowo ALGORYTM wywodzi się od nazwiska perskiego astronoma i matematyka Abu Ja far Muhammad ibn Musa al-chorezmi (spotykana też pisownia al-khawarizmy) pisanego po łacinie jako Algorismus. Żył on na przełomie VIII i IX wieku naszej ery na terenach obecnego Uzbekistanu i przypisuje się mu podanie reguł dodawania, odejmowania, mnożenia i dzielenia liczb dziesiętnych. Dzisiejsze, uogólnione znaczenie słowa algorytm zastosowano w zasadzie dopiero w 20-tym stuleciu, kiedy to algorytm zaczał być rozumiany jako: zbiór reguł postępowania, umożliwiajacych rozwiazanie określonego zadania w skończonej liczbie kroków i w skończonym czasie Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 4 / 59
8 Parzenie kawy po polsku : 1 zagotować wodę, 2 wsypać zmielona kawę do filiżanki, 3 zalać kawę wrzac a woda, 4 poczekać 5 min. 5 osłodzić do smaku. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 5 / 59
9 Algorytm - definicje formalne Encyklopedia PWN: Algorytm to (...) przepis na rozwiazanie określonego zadania podany jako zbiór kolejnych poleceń; jego wykonawca może być człowiek lub urzadzenie automatyczne (np. komputer); (...)zapisany w jakimś języku programowania - program. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 6 / 59
10 Algorytm - definicje formalne Encyklopedia PWN: Algorytm to (...) przepis na rozwiazanie określonego zadania podany jako zbiór kolejnych poleceń; jego wykonawca może być człowiek lub urzadzenie automatyczne (np. komputer); (...)zapisany w jakimś języku programowania - program. Formalna definicja algorytmu została podana w 1936 roku przez Alonzo Churcha i Alana Turinga. W szczególnoiści: Church zastosował rachunek λ. Turing zastosował własna strukturę zwana dziś Maszyna Turinga. Wykazano potem, że obydwie definicje sa równoważne. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 6 / 59
11 Użyteczność algorytmu Algorytm jako pewna określona procedura obliczeniowa posiada cechy, które określaja jej użyteczność: poprawność złożoność obliczeniowa: Złożoność obliczeniowa algorytmu to ilość zasobów systemu liczacego (np. komputera) potrzebna do jego wykonania. Podstawowymi zasobami sa: czas procesora (ZŁOŻONOŚĆ CZASOWA) i obszar pamięci (ZŁOŻONOŚĆ PAMIECIOWA). Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 7 / 59
12 Podstawowe cechy algorytmu 1. Posiada określony stan poczatkowy, czyli operację od której zaczyna się jego realizacja. 2. Powinien zwracać prawidłowe wyniki dla każdego zestawu poprawnych danych (warunek poprawności). 2. Ilość operacji potrzebnych do zakończenia pracy musi być skończona (warunek dyskretności). 3. Musi dać się zastosować do rozwiazywania całej klasy zagadnień, a nie jednego konkretnego zadania (warunek uniwersalności). 4. Interpretacja poszczególnych etapów wykonania musi być jednoznaczna (warunek jednoznaczności). 5. Cel musi być osiagnięty w akceptowalnym czasie (warunek efektywności). 6. Musi posiadać wyróżniony koniec. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 8 / 59
13 Etapy rozwiazywania problemów Sformułowanie zadania. Specyfikacja zadania, czyli określenie danych wejściowych oraz celu (wyniku). Poszukiwanie metody rozwiazania, czyli algorytmu. Przedstawienie algorytmu w postaci: opisu słownego, listy kroków, schematu blokowego, pseudokodu, języka programowania, Analiza poprawności rozwiazania. Testowanie rozwiazanie dla różnych danych. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 9 / 59
14 Metody opisu algorytmów Ograniczony podzbiór języka naturalnego (opis słowny, lista kroków). Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 10 / 59
15 Metody opisu algorytmów Ograniczony podzbiór języka naturalnego (opis słowny, lista kroków). Schemat blokowy uniwersalna i dajaca odpowiedni stopień ogólności forma graficznego zapisu algorytmu. Cechuje go przy tym duża przejrzystość i czytelność. Schemat ten odzwierciedla dobrze strukturę algorytmu w tym takie elementy jak rozgałęzienia (punkty decyzyjne). Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 10 / 59
16 Metody opisu algorytmów Ograniczony podzbiór języka naturalnego (opis słowny, lista kroków). Schemat blokowy uniwersalna i dajaca odpowiedni stopień ogólności forma graficznego zapisu algorytmu. Cechuje go przy tym duża przejrzystość i czytelność. Schemat ten odzwierciedla dobrze strukturę algorytmu w tym takie elementy jak rozgałęzienia (punkty decyzyjne). Pseudokod Umowny, zwykle nie istniejacy i bardzo uproszczony język programowania, w którym opisany jest algorytm działania programu. Definiuje podstawowe pętle, warunki i typy danych. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 10 / 59
17 Klasyfikacja algorytmów Rozważać będziemy następujace rodzaje algorytmów: algorytmy sekwencyjne algorytmy z rozgałęzieniem (algorytm wykonuje różne obliczenia w zależnśoci od tego jaki warunek jest spełniony) algorytmy iteracyjne (algorytm wykonuje obliczenia w pętli dopóki nie zostanie spełniony określony warunek) algorytmy rekurencyjne (algorytm w kolejnych krokach wywołuje sam siebie dla nowych wartości parametrów wykonania) Oczywiście istnieje jeszcze wiele innych rodzajów algorytmów: Algorytmy zachłanne, współbieżne, równoległe, genetyczne, z powrotami, probabilistyczne itd... Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 11 / 59
18 Algorytm sekwencyjny (liniowy) Definicja Ma postać ciagu kroków, które musza zostać bezwarunkowo wykonane jeden po drugim. Algorytm taki nie zawiera żadnych warunków ani rozgałęzień. Zaczyna się od podania zestawu danych, następnie wykonywane sa kolejne kroki wykonawcze, aż dochodzimy do wyniku. Przykład: Dodanie lub mnożenie dwóch liczb: 1 Sformułowanie zadania: oblicz sumę dwóch liczb naturalnych a i b. Wynik oznacz przez S. 2 Dane wejściowe: dwie liczby a i b. 3 Cel obliczeń: obliczenie sumy S = a + b. 4 Dodatkowe ograniczenia: sprawdzenie warunku dla danych wejściowych np. czy a, b sa naturalne. Jednak sprawdzenie takiego warunku sprawia, że algorytm przestaje być liniowy. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 12 / 59
19 Lista kroków - przykład 1 Problem: Przedstaw w postaci listy kroków algorytm obliczania średniej arytmetycznej trzech dowolnych liczb rzeczywistych. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 13 / 59
20 Lista kroków - przykład 1 Problem: Przedstaw w postaci listy kroków algorytm obliczania średniej arytmetycznej trzech dowolnych liczb rzeczywistych. Dane: dowolne nieujemne liczby rzeczywiste a, b, c Wynik: wartość średniej arytmetycznej liczb a, b, c równa Srednia Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 13 / 59
21 Lista kroków - przykład 1 Problem: Przedstaw w postaci listy kroków algorytm obliczania średniej arytmetycznej trzech dowolnych liczb rzeczywistych. Dane: dowolne nieujemne liczby rzeczywiste a, b, c Wynik: wartość średniej arytmetycznej liczb a, b, c równa Srednia Krok 0: Rozpocznij algorytm. Krok 1: Wprowadź wartości trzech liczb: a, b, c. Krok 2: Oblicz wartość wyrażenia: Suma := a + b + c. Krok 3: Oblicz wartość wyrażenia: Srednia := Suma/3. Krok 4: Wyprowadź wynik: Srednia. Krok 5: Zakończ algorytm. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 13 / 59
22 Pseudokod - przykład 1 Problem: Przedstaw w postaci pseudokodu algorytm obliczania średniej arytmetycznej trzech dowolnych liczb rzeczywistych. Dane: dowolne nieujemne liczby rzeczywiste a, b, c Wynik: wartość średniej arytmetycznej liczb a, b, c równa Srednia begin read(a,b,c); Suma:= a + b + c; Srednia:= Suma/3; write(srednia). end. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 14 / 59
23 Elementy schematu blokowego Start 1 2 End 1 Komponenty określajace moment startu i końca. 2 Zapis danych (lub ich odczyt) na nośniki informacji. Wyjście Wejście Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 15 / 59
24 Elementy schematu blokowego Instrukcja 1 2 yes Warunek no 1 Blok instrukcji, które maja być wykonane. 2 Blok warunkowy; służy do reprezentacji instrukcji warunkowej (np. if-else) i pętli (np. for, while). Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 16 / 59
25 Schemat blokowy - suma dwóch dowolnych liczb rzeczywistych Start Podaj: a,b Suma:=a+b; Pisz: Suma Koniec Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 17 / 59
26 Schemat blokowy - kwadrat danej liczby Start Podaj: a Kwadrat:=a*a; Pisz: Kwadrat Koniec Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 18 / 59
27 Schemat blokowy - objętość prostopadłościanu, którego podstawa ma wymiar axba a wysokość c Start Podaj: a,b,c V:=a*b*c; Pisz: V Koniec Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 19 / 59
28 Schemat blokowy - średnia arytmetyczna trzech dowolnych liczb rzeczywistych Start Podaj: a,b,c Suma:=a+b+c; Koniec Srednia := Suma/3; Pisz: Srednia Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 20 / 59
29 Algorytmy z rozgałęzieniem Instrukcje warunkowe (rozgałęzienia warunkowe) maja następujac a postać: Jeżeli warunek M to, wykonaj czynność N Lub Jeżeli warunek M, to wykonaj czynność N, w przeciwnym razie wykonaj czynność P. W językach programowanie (C/C++/Java/C#/PHP) to instrukcje: if, if - else, switch-case. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 21 / 59
30 Lista kroków - przykład 2 Problem: Przedstaw w postaci listy kroków algorytm obliczania wartości bezwzględnej dowolnej liczby rzeczywistej. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 22 / 59
31 Lista kroków - przykład 2 Problem: Przedstaw w postaci listy kroków algorytm obliczania wartości bezwzględnej dowolnej liczby rzeczywistej. Dane: dowolna nieujemna liczba rzeczywista a. Wynik: wartość bezwzględna z liczby a równa w Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 22 / 59
32 Lista kroków - przykład 2 Problem: Przedstaw w postaci listy kroków algorytm obliczania wartości bezwzględnej dowolnej liczby rzeczywistej. Dane: dowolna nieujemna liczba rzeczywista a. Wynik: wartość bezwzględna z liczby a równa w Krok 0: Rozpocznij algorytm. Krok 1: Wprowadź wartość liczby a. Krok 2: Jeśli a >= 0 to w := a w przeciwnym wypadku w := a. Krok 3: Wyprowadź wynik: w. Krok 4: Zakończ algorytm. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 22 / 59
33 Pseudokod - przykład 2 Problem: Przedstaw w postaci pseudokodu algorytm obliczania wartości bezwzględnej dowolnej liczby rzeczywistej. Dane: dowolna nieujemna liczba rzeczywista a. Wynik: wartość bezwzględna liczby a równa w begin read(a); if (a>=0) then w:= a; else w:=-a; write(w); end. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 23 / 59
34 Schemat blokowy - wartość bezwględna danej liczby Start Koniec Podaj: a Koniec Pisz: -a no a >= 0 yes Pisz: a Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 24 / 59
35 Lista kroków - przykład 3 Problem: 1 if x < 0 Oblicz wartość funkcji charakterystycznej f (x) = 0 if x = 0 1 if x > 0 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 25 / 59
36 Lista kroków - przykład 3 Problem: 1 if x < 0 Oblicz wartość funkcji charakterystycznej f (x) = 0 if x = 0 1 if x > 0 Dane: Dowolna liczba rzeczywista x. Wynik: warność funkcji charakterystycznej f (x) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 25 / 59
37 Lista kroków - przykład 3 Problem: 1 if x < 0 Oblicz wartość funkcji charakterystycznej f (x) = 0 if x = 0 1 if x > 0 Dane: Dowolna liczba rzeczywista x. Wynik: warność funkcji charakterystycznej f (x) Krok 0: Rozpocznij algorytm. Krok 1: Wprowadź wartość liczby x. Krok 2: Jeśli x < 0, to f (x) = 1. Krok 3: Jeśli x = 0, to f (x) = 0. Krok 4: Jeśli x > 0, to f (x) = 1. Krok 5: Wyprowadź wynik: f (x). Krok 4: Zakończ algorytm. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 25 / 59
38 Pseudokod - przykład 3 Problem: 1 if x < 0 Oblicz wartość funkcji charakterystycznej f (x) = 0 if x = 0 1 if x > 0 Dane: Dowolna liczba rzeczywista x. Wynik: warność funkcji charakterystycznej f (x) begin write("podaj liczbe rzeczywistą"); read(x); if (x < 0) then w:= -1; else if (x = 0) then w:= 0; else if (x > 0) then w:= 1; write("f(x) = "); write(w); end. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 26 / 59
39 Schemat blokowy - przykład 3 Problem: 1 if x < 0 Oblicz wartość funkcji charakterystycznej f (x) = 0 if x = 0 1 if x > 0 Zadanie na ćwiczenia! Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 27 / 59
40 Pseudokod - sprawdzanie parzystości danej liczby całkowitej Dane: Dowolna liczba całkowita a. Wynik: Odpowiedź czy a jest parzysta, czy też nie. begin write("podaj liczbe całkowitą"); read(a); if (a mod 2 = 0) then write("jest parzysta."); else write("nie jest parzysta."); end. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 28 / 59
41 Schemat blokowy - sprawdzanie parzystości danej liczby całkowitej Start Podaj: a Koniec Koniec Pisz: nieparzysta no a mod 2 = 0 yes Pisz: parzysta Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 29 / 59
42 Reguły tworzenia schematu blokowego - sieci działań 1 Schemat blokowy składa się z bloków połaczonych zorientowanymi liniami. 2 Bloki obrazuja ciag operacji. 3 W bloku wykonywane sa albo wszystkie instrukcje albo żadna. 4 Dalsze operacje nie zależa od poprzednich wariantów, chyba że zależności te zostały przekazane za pomoca danych. 5 Kolejność wykonania operacji jest ścisle określona przez zorientowane linie łacz ace poszczególne bloki. 6 Do każdego bloku może prowadzić co najwyżej jedna linia. 7 Linie moga się łaczyć, a punkty takiego połaczenia określane sa jako punkty zbiegu. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 30 / 59
43 Laboratorium Informatyki Eli Laboratorium Informatyki ELI 2.0 jest oprogramowaniem edukacyjnym służacym do nauczania informatyki, a także podstaw automatyki i robotyki. ELI jest programem komputerowym umożliwiajacym budowanie dowolnych algorytmów poprzez wybór z palety odpowiednich klocków - piktogramów, symbolizujacych elementy i realizujacych podstawowe działania informatyczne. Producentem programu jest firma ELBOX. Po kliknięciu na link strony producenta: produkt/itemid,93/id,40/prod_id,39/ można zobaczyć ofertę firmy i zakupić pełna wersję ELI. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 31 / 59
44 Przykładowy ekran programu ELI Po ułożeniu klocków definiujacych nasz algorytm, aby go uruchomić wybieramy polecenie Wykonanie - Uruchom, albo stosujemy skrót klawiszowy Ctrl+F9 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 32 / 59
45 Dostępne klocki podstawowe Źródło: Konspekt-lekcji-Algorytmy-z-petla-kl-II-LO Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 33 / 59
46 Wersja demonstracyjna ELI 2.0 Wersja demonstracyjna programu ELI dostępna jest na stronie WSiP: pliki/kluby/8//eli-2-1.zip Wersja demonstracyjna nie daje możliwości zapisu pliku i wydruku, funkcjonuje jednak na tyle dobrze, że można ja polecić użytkownikom. WSiP jest wydawca podręcznika Algorytmy Macieja Sysło, a wersja demonstracyjna oprogramowania ELI jest integralna częścia podręcznika. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 34 / 59
47 Instrukcje iteracyjne (z powtórzeniami) Spotykamy się często z takim sytuacjami, w których musimy wykonywać pewna czynność aż do momentu, gdy odniesiemy sukces, np. zrób dziesięć pompek; będziesz tak długo czytać wiersz, aż nauczysz się go na pamięć; dopóki będziesz siedzieć cicho, nie zapytam cię. Z tego wynika, że możemy spotkać się z dwoma sytuacjami: gdy musimy wykonać czynność badź zadana ilość razy, badź do momentu spełnienia warunku. Zatem powtarzanie różnych działań ma dwojaka postać: liczba powtórzeń jest z góry określona (przed rozpoczęciem cyklu). liczba powtórzeń jest nieznana (zależy od spełnienia pewnego warunku). Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 35 / 59
48 Schemat blokowy - druk liczb z zakresu Start i := 1; Koniec no i 9 yes Pisz: i; i := i +1; Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 36 / 59
49 Pseudokod - druk liczb z zakresu begin write("liczby z zakresu 1..9"); i:= 1; while (i <= 9) do begin write(i); i := i+1; end; end. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 37 / 59
50 Schemat blokowy - druk liczb z zakresu 1... n. Start Podaj: n; i := 1; Koniec no i n yes Pisz: i; i := i +1; Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 38 / 59
51 Pseudokod - druk liczb z zakresu 1... n. begin write("liczby z zakresu 1..n"); write("podaj liczbe n = "); read (n); i:= 1; while (i <= n) do begin write(i); i := i+1; end; end. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 39 / 59
52 Lista kroków - algorytm Euklidesa Algorytm Euklidesa: Algorytm ten jest najstarszym algorytmem (ma ponad 2000 lat) i przeznaczony jest do znajdowania największego wspólnego dzielnika (NWD) dla dwóch liczb naturalnych, tj. NWD(5,25) = 5, NWD(15,25) = 5, NWD(22,24) = 2. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 40 / 59
53 Lista kroków - algorytm Euklidesa Algorytm Euklidesa: Algorytm ten jest najstarszym algorytmem (ma ponad 2000 lat) i przeznaczony jest do znajdowania największego wspólnego dzielnika (NWD) dla dwóch liczb naturalnych, tj. NWD(5,25) = 5, NWD(15,25) = 5, NWD(22,24) = 2. Dane: dowolne dwie liczby naturalne a i b. Wynik: NWD(a, b) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 40 / 59
54 Lista kroków - algorytm Euklidesa Algorytm Euklidesa: Algorytm ten jest najstarszym algorytmem (ma ponad 2000 lat) i przeznaczony jest do znajdowania największego wspólnego dzielnika (NWD) dla dwóch liczb naturalnych, tj. NWD(5,25) = 5, NWD(15,25) = 5, NWD(22,24) = 2. Dane: dowolne dwie liczby naturalne a i b. Wynik: NWD(a, b) Krok 0: Rozpocznij algorytm. Krok 1: Wprowadź wartości dla liczb a i b. Krok 2: Oblicz c jako resztę z dzielenia a przez b. Krok 3: Zastap a przez b, zaś b przez c. Krok 4: Jeżeli b = 0, to szukane NWD(a, b) wynosi a, w przeciwnym wypadku przejdź do 2. Krok 5: Wyprowadź wynik: NWD(a, b). Krok 4: Zakończ algorytm. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 40 / 59
55 Lista kroków - algorytm Euklidesa Dane: dowolne dwie liczby naturalne a i b. Wynik: NWD(a, b) Krok 0: Rozpocznij algorytm. Krok 1: Wprowadź wartości dla liczb a i b. Krok 2: Oblicz c jako resztę z dzielenia a przez b. Krok 3: Zastap a przez b, zaś b przez c. Krok 4: Jeżeli b = 0, to szukane NWD(a, b) wynosi a, w przeciwnym wypadku przejdź do 2. Krok 5: Wyprowadź wynik: NWD(a, b). Krok 4: Zakończ algorytm. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 41 / 59
56 Lista kroków - algorytm Euklidesa Dane: dowolne dwie liczby naturalne a i b. Wynik: NWD(a, b) Krok 0: Rozpocznij algorytm. Krok 1: Wprowadź wartości dla liczb a i b. Krok 2: Oblicz c jako resztę z dzielenia a przez b. Krok 3: Zastap a przez b, zaś b przez c. Krok 4: Jeżeli b = 0, to szukane NWD(a, b) wynosi a, w przeciwnym wypadku przejdź do 2. Krok 5: Wyprowadź wynik: NWD(a, b). Krok 4: Zakończ algorytm. Przykład obliczenia NWD(1000, 32): 1 a = 1000, b = 32, c = 1000 mod 32 = 8 2 a = 32, b = 8, c= 32 mod 8 = 0 3 a = 8, b = 0 = NWD(1000, 32) = 8 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 41 / 59
57 Schemat blokowy - algorytm Euklidesa Start Koniec Podaj: a, b Pisz: a no b!= 0 yes c := a mod b; a := b; b := c; Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 42 / 59
58 Pseudokod - algorytm Euklidesa Dane: dowolne dwie liczby naturalne a i b. Wynik: NWD(a, b) begin write("podaj dwie liczby naturalne"); read(a,b); while (b!= 0) do begin {reszta z dzielenia a przez b } c := a mod b; a := b; b := c end NWD := a write(nwd); end. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 43 / 59
59 Pseudokod - algorytm Euklidesa Dane: dowolne dwie liczby naturalne a i b. Wynik: NWD(a, b) begin write("podaj dwie liczby naturalne"); read(a,b); while (a!= b) do begin if (a < b) b:=b-a; else a:=a-b; end NWD := a write(nwd); end. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 44 / 59
60 Liczby trójkatne Nazwa liczby trójkatne pochodzi stad, że każda taka liczba o numerze n jest liczba np. kół jednakowej wielkości, z których można ułożyć trójkat równoboczny o boku zbudowanym z n kół. Liczby trójkatne to liczby postaci: t n = n (n + 1) 2 gdzie n jest liczba naturalna. = n Przykłady liczb trójkatnych: t 1 = 1, t 2 = 3, t 3 = 6, t 4 = 10. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 45 / 59
61 Schemat blokowy - obliczanie sumy suma = n i=1 i. Start Podaj: n Koniec i := 1 ; suma := 0; Pisz: suma no i n yes suma := suma +i; i := i+1; Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 46 / 59
62 Pseudokod - obliczanie sumy suma = n i=0 i. begin write("podaj liczbe n = "); read (n); i:= 1; suma := 0; while (i <= n) do begin suma := suma + i; i := i+1; end; end. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 47 / 59
63 Schemat blokowy - funkcja silnia n! = n Start Podaj: n Koniec i := 1 ; silnia := 1; Pisz: silnia no i n yes silnia := silnia * i ; i := i+1; Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 48 / 59
64 Pseudokod - funkcja silnia n! = n. begin write("podaj liczbe n = "); read (n); i:= 1; silnia := 1; while (i <= n) do begin silnia := silnia * i; i := i+1; end; write(silnia); end. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 49 / 59
65 Suma n liczb wprowadzonych z klawiatury Start Podaj: n Koniec i := 1 ; suma := 0; Pisz: suma no i n yes Pisz: Podaj liczbe: ; Podaj: a; suma := suma + a; i := i+1; Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 50 / 59
66 Suma n liczb wprowadzonych z klawiatury begin write("podaj liczbe n = "); read (n); i:= 1; suma := 0; while (i <= n) do begin write("podaj liczbe: "); read (a); suma := suma + a; i := i+1; end; write(suma); end. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 51 / 59
67 Suma ciagu liczb wprowadzonego z klawiatury i zakończonego zerem Start Podaj: a Koniec suma := 0; Pisz: suma no a!= 0 yes suma := suma + a; Pisz: Podaj liczbe: ; Podaj: a; Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 52 / 59
68 Suma ciagu liczb wprowadzonego z klawiatury i zakończonego zerem begin write("podaj liczbe: "); read (a); suma := 0; while (a!= 0) do begin suma := suma + a; write("podaj liczbe: "); read (a); end; write(suma); end. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 53 / 59
69 Suma ciagu liczb parzystych wprowadzonego z klawiatury i zakończonego zerem begin write("podaj liczbe: "); read (a); suma := 0; while (a!= 0) do begin if (a mod 2 = 0) then suma := suma + a; write("podaj liczbe: "); read (a); end; write(suma); end. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 54 / 59
70 Suma ciagu liczb podzielnych przez 5, wprowadzonego z klawiatury i zakończonego zerem begin write("podaj liczbe: "); read (a); suma := 0; while (a!= 0) do begin if (a mod 5 = 0) then suma := suma + a; write("podaj liczbe: "); read (a); end; write(suma); end. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 55 / 59
71 Iloczyn ciagu liczb nieujemnych, wprowadzonego z klawiatury i zakończonego zerem begin write("podaj liczbe: "); read (a); iloczyn := 1; while (a!= 0) do begin if (a > 0) then iloczyn := iloczyn * a; write("podaj liczbe: "); read (a); end; write(iloczyn); end. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 56 / 59
72 Iloczyn ciagu liczb nieujemnych, parzystych, wprowadzonego z klawiatury i zakończonego zerem begin write("podaj liczbe: "); read (a); iloczyn := 1; while (a!= 0) do begin if ((a > 0) and (a mod 2 = 0)) then iloczyn := iloczyn * a; write("podaj liczbe: "); read (a); end; write(iloczyn); end. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 57 / 59
73 Wybór algorytmu Reguła jest, że należy implementować najprostsze algorytmy, które wykonuja określone zadanie. Prosty algorytm to: łatwiejsza implementacja, czytelniejszy kod, łatwość testowania łatwość pisania dokumentacji,... Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 58 / 59
74 Zadania Skonstruuj schemat blokowy do następujacego zadania: 1 Wprowadź dwie liczby a i b. Skonstruuj algorytm porównania tych liczb i wyprowadzania na wyjściu większej z nich. W przypadku liczb równych wyprowadź napis liczby równe. 2 Sprawdzić czy dana liczba dzieli się przez 3. 3 Sprawdzić czy suma dwóch liczb podanych przez użytkownika jest parzysta. 4 Zamienić dana liczne w systemie o podstawie n, na liczbę w systemie o podstawie m; 5 Dane sa liczby dwa pojemniki A i B. W pojemniku A znajduje się ser, a w pojemniku B mak. Zaprojektuj algorytm, który przeniesie ser do pojemnika B, a mak do pojemnika A. Pamiętaj jednak o tym, ze nigdy nie może być tak, że ser i mak znajda się w tym samym pojemniku. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 6 59 / 59
Wstęp do Informatyki
Wstęp do Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 6 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 6 1 / 1 Algorytmika Najstarsza dziedzina
Bardziej szczegółowoWstęp do Informatyki
Wstęp do Informatyki dr hab. Bożena Woźna-Szcześniak, prof. AJD bwozna@gmail.com Jan Długosz University, Poland Wykład 8 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 8 1 / 32 Instrukcje iteracyjne
Bardziej szczegółowoWykład z Technologii Informacyjnych. Piotr Mika
Wykład z Technologii Informacyjnych Piotr Mika Uniwersalna forma graficznego zapisu algorytmów Schemat blokowy zbiór bloków, powiązanych ze sobą liniami zorientowanymi. Jest to rodzaj grafu, którego węzły
Bardziej szczegółowoWykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL
Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL 1 Część 1 Pojęcie algorytmu 2 I. Pojęcie algorytmu Trochę historii Pierwsze
Bardziej szczegółowoAlgorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny
Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu danych
Bardziej szczegółowoAlgorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Bardziej szczegółowoDefinicje. Algorytm to:
Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi
Bardziej szczegółowoWykład z Podstaw Informatyki dla I roku BO. Piotr Mika
Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Napisanie programu komputerowego: Zasada rozwiązania zadania Stworzenie sekwencji kroków algorytmu Przykłady algorytmów z życia codziennego (2/1 6)
Bardziej szczegółowoINFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227
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
Bardziej szczegółowo1 Wprowadzenie do algorytmiki
Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności
Bardziej szczegółowoAlgorytmy komputerowe. dr inŝ. Jarosław Forenc
Rok akademicki 2009/2010, Wykład nr 8 2/24 Plan wykładu nr 8 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2009/2010
Bardziej szczegółowoALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny
ALGORYMY Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu
Bardziej szczegółowo2.8. Algorytmy, schematy, programy
https://app.wsipnet.pl/podreczniki/strona/38766 2.8. Algorytmy, schematy, programy DOWIESZ SIĘ co oznaczają pojęcia: algorytm, schemat blokowy, język programowania, jakie są sposoby obliczania największego
Bardziej szczegółowoALGORYTMY. 1. Podstawowe definicje Schemat blokowy
ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności
Bardziej szczegółowo1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.
Temat: Technologia informacyjna a informatyka 1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji. Technologia informacyjna (ang.) Information Technology, IT jedna
Bardziej szczegółowoPodstawy Programowania Algorytmy i programowanie
Podstawy Programowania Algorytmy i programowanie Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Algorytm Algorytm w matematyce, informatyce, fizyce, itp. lub innej dziedzinie życia,
Bardziej szczegółowoWstęp do informatyki
Wstęp do informatyki Algorytmy i struktury danych Piotr Fulmański Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska 30 października 2009 Spis treści 1 Algorytm 2 Przetwarzane informacje 3 Struktury
Bardziej szczegółowoWprowadzenie do algorytmiki
Wprowadzenie do algorytmiki Pojecie algorytmu Powszechnie przyjmuje się, że algorytm jest opisem krok po kroku rozwiązania postawionego problemu lub sposób osiągnięcia jakiegoś celu. Wywodzi się z matematyki
Bardziej szczegółowoAlgorytm. Krótka historia algorytmów
Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne
Bardziej szczegółowoWstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan wykładów (1) Algorytmy i programy Proste typy danych Rozgałęzienia
Bardziej szczegółowoKOŁO MATEMATYCZNE LUB INFORMATYCZNE - klasa III gimnazjum, I LO
Aleksandra Nogała nauczycielka matematyki w Gimnazjum im. Macieja Rataja w Żmigrodzie olanog@poczta.onet.pl KONSPEKT ZAJĘĆ ( 2 godziny) KOŁO MATEMATYCZNE LUB INFORMATYCZNE - klasa III gimnazjum, I LO TEMAT
Bardziej szczegółowoElżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki
Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,
Bardziej szczegółowoAlgorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji.
Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji. Maria Górska 9 stycznia 2010 1 Spis treści 1 Pojęcie algorytmu 3 2 Sposób
Bardziej szczegółowoOpis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1
Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1 Etapy rozwiązywania problemu PROBLEM wybór metody rozwiązania ALGORYTM 1.
Bardziej szczegółowoZa pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).
Algorytmy definicja, cechy, złożoność. Algorytmy napotykamy wszędzie, gdziekolwiek się zwrócimy. Rządzą one wieloma codziennymi czynnościami, jak np. wymiana przedziurawionej dętki, montowanie szafy z
Bardziej szczegółowoWHILE (wyrażenie) instrukcja;
INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while
Bardziej szczegółowoALGORYTMY. 1. Podstawowe definicje Schemat blokowy
ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności
Bardziej szczegółowoWHILE (wyrażenie) instrukcja;
INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while
Bardziej szczegółowoMETODY OPISU ALGORYTMÓW KOMPUTEROWYCH
Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni z przedmiotu Podstawy Informatyki Kod przedmiotu: TS1C 100 003 Ćwiczenie pt. METODY OPISU ALGORYTMÓW KOMPUTEROWYCH
Bardziej szczegółowoAlgorytmy. Programowanie Proceduralne 1
Algorytmy Programowanie Proceduralne 1 Przepis Warzenie piwa Brunświckiego Programowanie Proceduralne 2 Przepis Warzenie piwa Brunświckiego składniki (dane wejściowe): woda, słód, itd. wynik: beczka piwa
Bardziej szczegółowoWykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu
Podstawy programowania Wykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu 1 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD Część 1 Dlaczego system binarny?
Bardziej szczegółowoWykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu Tablice (wstęp) Rzut okiem na języki programowania
Podstawy programowania Wykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu Tablice (wstęp) Rzut okiem na języki programowania 1 dr Artur Bartoszewski - Podstawy programowania,
Bardziej szczegółowoZadanie 1. Potęgi (14 pkt)
2 Egzamin maturalny z informatyki Zadanie 1. otęgi (14 pkt) W poniższej tabelce podane są wartości kolejnych potęg liczby 2: k 0 1 2 3 4 5 6 7 8 9 10 2 k 1 2 4 8 16 32 64 128 256 512 1024 Ciąg a=(a 0,
Bardziej szczegółowoProgramowanie w Baltie klasa VII
Programowanie w Baltie klasa VII Zadania z podręcznika strona 127 i 128 Zadanie 1/127 Zadanie 2/127 Zadanie 3/127 Zadanie 4/127 Zadanie 5/127 Zadanie 6/127 Ten sposób pisania programu nie ma sensu!!!.
Bardziej szczegółowo11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym
1. Instrukcja warunkowa a. słuŝy do wprowadzania danych oraz wprowadzania wyników b. to instrukcja decyzyjna c. to sposób przedstawienia algorytmu 2. Instrukcja, która opisuje wykonanie róŝnych czynności
Bardziej szczegółowoSposoby przedstawiania algorytmów
Temat 1. Sposoby przedstawiania algorytmów Realizacja podstawy programowej 5. 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych problemów; 2) formułuje ścisły
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 1 - wprowadzenie do przedmiotu mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 16 października 2017 1 / 25 mgr inż. Krzysztof Szwarc Podstawy i
Bardziej szczegółowoProgramowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++
Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu
Bardziej szczegółowodo instrukcja while (wyrażenie);
Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie
Bardziej szczegółowoPodstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
Bardziej szczegółowoAlgorytmy. Programowanie Proceduralne 1
Algorytmy Programowanie Proceduralne 1 Przepis Warzenie piwa Brunświckiego Programowanie Proceduralne 2 Przepis Warzenie piwa Brunświckiego składniki (dane wejściowe): woda, słód, itd. wynik: beczka piwa
Bardziej szczegółowoAlgorytmy, reprezentacja algorytmów.
Algorytmy, reprezentacja algorytmów. Wprowadzenie do algorytmów Najważniejszym pojęciem algorytmiki jest algorytm (ang. algorithm). Nazwa pochodzi od nazwiska perskiego astronoma, astrologa, matematyka
Bardziej szczegółowoAlgorytm. Algorytmy Marek Pudełko
Algorytm Algorytmy Marek Pudełko Definicja Algorytm to skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania. Algorytm ma przeprowadzić system z pewnego
Bardziej szczegółowoZapisywanie algorytmów w języku programowania
Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym
Bardziej szczegółowoAlgorytmika i programowanie. dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie
Algorytmika i programowanie dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie Algorytmy i sposoby ich przedstawiania Algorytm - informatyczny opis planu rozwiązania zadania Sposoby
Bardziej szczegółowoPodstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 7 Algorytmy
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 7 Algorytmy Programowanie Sformułowanie problemu. Opracowanie metodyki rozwiązania. Opracowanie algorytmu. Napisanie kodu źródłowego (zakodowanie) w
Bardziej szczegółowoZapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych
Temat 2. Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych Cele edukacyjne Usystematyzowanie podstawowych pojęć: algorytm z warunkami, iteracja, algorytm iteracyjny, zmienna sterująca.
Bardziej szczegółowoEfektywność algorytmów
Efektywność algorytmów Algorytmika Algorytmika to dział informatyki zajmujący się poszukiwaniem, konstruowaniem i badaniem własności algorytmów, w kontekście ich przydatności do rozwiązywania problemów
Bardziej szczegółowoTechnologie informacyjne - wykład 12 -
Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski
Bardziej szczegółowoPodstawy Informatyki dla Nauczyciela
Podstawy Informatyki dla Nauczyciela Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 2 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład 2 1 / 1 Informacja
Bardziej szczegółowoIteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.
Iteracje Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony. Iteracja inaczej zwana jest pętlą i oznacza wielokrotne wykonywanie instrukcji. Iteracje
Bardziej szczegółowoa[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76
. p. 1 Algorytmem nazywa się poddający się interpretacji skończony zbiór instrukcji wykonania zadania mającego określony stan końcowy dla każdego zestawu danych wejściowych W algorytmach mogą występować
Bardziej szczegółowoDefinicja algorytmu brzmi:
1.1. Definicja algorytmu Często w życiu stajesz przed koniecznością rozwiązania jakiegoś zadania. Na lekcji matematyki musisz na przykład rozwiązać równanie i w tym celu wykonujesz szereg czynności: od
Bardziej szczegółowoLuty 2001 Algorytmy (1) 2000/2001 1
Algorytm jest przepisem opisującym krok po kroku rozwiązanie problemu lub osiągnięcie jakiegoś celu. Korzystanie z gotowego rozwiązania. Próba samodzielnego rozwiązania problemu. Słowo algorytm pochodzi
Bardziej szczegółowoKARTA PRACY UCZNIA. Klasa II
Dobrze widzi się tylko sercem. Najważniejsze jest niewidoczne dla oczu. KARTA PRACY UCZNIA Klasa II Temat: Budowanie schematu blokowego realizującego prosty algorytm. Czynności: 1. Uruchom komputer, a
Bardziej szczegółowoSTART. Wprowadź (v, t) S:=v*t. Wyprowadź (S) KONIEC
GRUPA I Co to jest algorytm, a czym jest program komputerowy? Algorytm: uporządkowany i uściślony sposób rozwiązywania problemu, zawierający szczegółowy opis wykonywanych czynności. Program komputerowy:
Bardziej szczegółowoProste programy w C++ zadania
Proste programy w C++ zadania Zbiór zadao do samodzielnego rozwiązania stanowiący powtórzenie materiału. Podstawy C++ Budowa programu w C++ Dyrektywy preprocesora Usunięcie dublujących się nazw Częśd główna
Bardziej szczegółowoALGORYTMY I PROGRAMY
ALGORYTMY I PROGRAMY Program to ciąg instrukcji, zapisanych w języku zrozumiałym dla komputera. Ten ciąg instrukcji realizuje jakiś algorytm. Algorytm jest opisem krok po kroku jak rozwiązać problem, czy
Bardziej szczegółowoAlgorytmy i struktury danych. wykład 2
Plan wykładu: Pojęcie algorytmu. Projektowanie wstępujące i zstępujące. Rekurencja. Pojęcie algorytmu Pojęcie algorytmu Algorytm skończony zbiór operacji, koniecznych do wykonania zadania z pewnej klasy
Bardziej szczegółowoCo to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu,
wprowadzenie Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu, w przepisie tym podaje się opis czynności, które trzeba wykonać, oraz dane, dla których algorytm będzie określony.
Bardziej szczegółowoWykład 1 Dr Bożena Woźna-Szcześniak bwozna@gmail.com
Wykład 1 Dr Bożena Woźna-Szcześniak bwozna@gmail.com Język programowania jest środkiem umożliwiającym zapis algorytmów w postaci zrozumiałej dla człowieka, a równocześnie przetwarzalnej do postaci zrozumiałej
Bardziej szczegółowoInstrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal
Instrukcja wyboru, pętle 2 wykład. Podstawy programowania - Paskal Tematy Instrukcja wyboru jeden z wielu wariantów: case Pętle while repeat for Instrukcje sterowania pętli break continue goto Instrukcja
Bardziej szczegółowoTemat 20. Techniki algorytmiczne
Realizacja podstawy programowej 5. 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych problemów; 2) formułuje ścisły opis prostej sytuacji problemowej, analizuje
Bardziej szczegółowoAlgorytmy i schematy blokowe
Algorytmy i schematy blokowe Algorytm dokładny przepis podający sposób rozwiązania określonego zadania w skończonej liczbie kroków; zbiór poleceń odnoszących się do pewnych obiektów, ze wskazaniem porządku,
Bardziej szczegółowoKlasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny
Klasa 2 INFORMATYKA dla szkół ponadgimnazjalnych zakres rozszerzony Założone osiągnięcia ucznia wymagania edukacyjne na poszczególne oceny Algorytmy 2 3 4 5 6 Wie, co to jest algorytm. Wymienia przykłady
Bardziej szczegółowoAlgorytmy. dr Dariusz Banaś (UJK) Seminarium w ramach projektu Fascynujący Świat Nauki dla uczniów gimnazjów. wersja 0.9. Start.
Seminarium w ramach projektu Fascynujący Świat Nauki dla uczniów gimnazjów dr Dariusz Banaś (UJK) read a,b,c read r Tak a>b Nie max:=a max:=b pole:=3.14*r*r obwod:=2*3.14*r read a Nie a==0 Tak Tak c>max
Bardziej szczegółowoJęzyk C część 2. Podejmowanie decyzji w programie. if else. switch
Język C część 2 Podejmowanie decyzji w programie if else Instrukcja warunkowa umożliwia wykonanie pewnej instrukcji w zależności od wartości wyrażenia. Wszystkie wartości różne od 0, są w języku C traktowane
Bardziej szczegółowo1. Liczby wymierne. x dla x 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba)
1. Liczby wymierne. - wartość bezwzględna liczby. dla 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba) - dla < 0 ( wartością bezwzględną liczby ujemnej jest liczba do niej przeciwna) W interpretacji
Bardziej szczegółowoALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu:
ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu: Rys1 Ćwiczenie 2 Podaj jaki ciąg znaków zostanie wypisany po wykonaniu
Bardziej szczegółowoTEMAT: Podejmowanie decyzji w programie instrukcja warunkowa (IF).
INFORMATYKA kl. II gimnazjum Krzysztof Gładkowski TEMAT: Podejmowanie decyzji w programie instrukcja warunkowa (IF). Czas: 2godz. Przygotowanie środowiska. Pomoce dydaktyczne. Oprogramowanie środowisko
Bardziej szczegółowo3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.
1. Podaj definicję informatyki. 2. W jaki sposób można definiować informatykę? 3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 4. Co to jest algorytm? 5. Podaj neumanowską architekturę
Bardziej szczegółowoMetodyki i techniki programowania
Metodyki i techniki programowania dr inż. Maciej Kusy Katedra Podstaw Elektroniki Wydział Elektrotechniki i Informatyki Politechnika Rzeszowska Elektronika i Telekomunikacja, sem. 2 Plan wykładu Sprawy
Bardziej szczegółowoAlgorytmika i pseudoprogramowanie
Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Programowanie Strukturalne i Obiektowe Klasa: druga Dział Dopuszczający Dostateczny Dobry
Bardziej szczegółowoGimnazjum w Tęgoborzy - Algorytmika Strona 1 z 22 mgr Zofia Czech
ALGORYMY Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu
Bardziej szczegółowoAlgorytm. Krótka historia algorytmów
Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne
Bardziej szczegółowoProgramowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni. Wykład 3. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Co to jest algorytm? Zapis algorytmów Algorytmy
Bardziej szczegółowoPodstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
Podstawy programowania Wykład: 13 Rekurencja 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Rekurencja - pojęcie 2 Rekurencja - pojęcie Rekurencja (rekursja) wywołanie
Bardziej szczegółowoAlgorytmy i struktury danych. Wykład 4
Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych
Bardziej szczegółowoProgramowanie i techniki algorytmiczne
Temat 2. Programowanie i techniki algorytmiczne Realizacja podstawy programowej 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych 2) formułuje ścisły opis prostej
Bardziej szczegółowoWykład 4. Określimy teraz pewną ważną klasę pierścieni.
Wykład 4 Określimy teraz pewną ważną klasę pierścieni. Twierdzenie 1 Niech m, n Z. Jeśli n > 0 to istnieje dokładnie jedna para licz q, r, że: m = qn + r, 0 r < n. Liczbę r nazywamy resztą z dzielenia
Bardziej szczegółowoLuty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl
System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy
Bardziej szczegółowoPodstawy Informatyki. Inżynieria Ciepła, I rok. Iteracja warunkowadopóki(while) Blok instrukcji. Pascal: begin instrukcja1; C: { end;
Podstawy Informatyki Inżyria Ciepła, I rok Wykład 8 Algorytmy, cd Instrukcja decyzyjna wybierz Zda wybierz służy do wyboru jednej z kilku możliwości Ma ono postać: wybierz przełącznik z wartość_1: zda_1
Bardziej szczegółowoTechnologia informacyjna Algorytm Janusz Uriasz
Technologia informacyjna Algorytm Janusz Uriasz Algorytm Algorytm - (łac. algorithmus); ścisły przepis realizacji działań w określonym porządku, system operacji, reguła komponowania operacji, sposób postępowania.
Bardziej szczegółowoInformatyka wprowadzenie do algorytmów (II) dr hab. inż. Mikołaj Morzy
Informatyka wprowadze do algorytmów (II) dr hab. inż. Mikołaj Morzy plan wykładu cechy algorytmów sposoby zapisu algorytmów klasyfikacja algorytmów przykłady algorytmów sumowa przeszukiwa ciągu liczb sortowa
Bardziej szczegółowonapisać konstrukcję instrukcji decyzyjnej If wraz z jej rozwinięciem Else i ElseIf; podać definicję algorytmu z rozgałęzieniami;
1 TEMAT LEKCJI: Algorytmy z rozgałęzieniami. 2 CELE WYRAŻONE OPERACYJNIE: 2.1 Wiadomości: Uczeń potrafi: napisać konstrukcję instrukcji decyzyjnej If wraz z jej rozwinięciem Else i ElseIf; podać definicję
Bardziej szczegółowoKONSPEKT ZAJĘĆ KOŁA INFORMATYCZNEGO LUB MATEMATYCZNEGO W KLASIE III GIMNAZJUM LUB I LICEUM ( 2 GODZ.)
Joanna Osio asiaosio@poczta.onet.pl Nauczycielka matematyki w Gimnazjum im. Macieja Rataja w Żmigrodzie KONSPEKT ZAJĘĆ KOŁA INFORMATYCZNEGO LUB MATEMATYCZNEGO W KLASIE III GIMNAZJUM LUB I LICEUM ( 2 GODZ.)
Bardziej szczegółowoProgramowanie od pierwszoklasisty do maturzysty. Grażyna Koba
Programowanie od pierwszoklasisty do maturzysty Grażyna Koba Krąg trzydziestolecia nauki programowania C++, Java Scratch, Baltie, Logo, Python? 2017? Informatyka SP, GIMN, PG 1987 Elementy informatyki
Bardziej szczegółowoMetodyki i techniki programowania
Metodyki i techniki programowania dr inż. Maciej Kusy Katedra Podstaw Elektroniki Wydział Elektrotechniki i Informatyki Politechnika Rzeszowska Elektronika i Telekomunikacja, sem. 2 Plan wykładu Sprawy
Bardziej szczegółowoZadanie 1. Test (6 pkt) Zaznacz znakiem X w odpowiedniej kolumnie P lub F, która odpowiedź jest prawdziwa, a która fałszywa.
2 Egzamin maturalny z informatyki Zadanie 1. Test (6 pkt) Zaznacz znakiem X w odpowiedniej kolumnie lub, która odpowiedź jest prawdziwa, a która fałszywa. a) rzeanalizuj poniższy algorytm (:= oznacza instrukcję
Bardziej szczegółowoAlgorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.
Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne
Bardziej szczegółowoMETODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH
METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH ĆWICZENIE NR 9 WYRAŻENIA LOGICZNE, INSTRUKCJE WARUNKOWE I INSTRUKCJE ITERACYJNE W PROGRAMIE KOMPUTEROWYM MATLAB Dr inż. Sergiusz Sienkowski ĆWICZENIE NR
Bardziej szczegółowoZapis algorytmów: schematy blokowe i pseudokod 1
Zapis algorytmów: schematy blokowe i pseudokod 1 Przed przystąpieniem do napisania kodu programu należy ten program najpierw zaprojektować. Projekt tworzącego go algorytmu może być zapisany w formie schematu
Bardziej szczegółowoWstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer
Realizacja algorytmu przez komputer Wstęp do informatyki Wykład UniwersytetWrocławski 0 Tydzień temu: opis algorytmu w języku zrozumiałym dla człowieka: schemat blokowy, pseudokod. Dziś: schemat logiczny
Bardziej szczegółowoPodstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Bardziej szczegółowoPodstawy Informatyki. Metalurgia, I rok niestacjonarne. Wykład 2 Algorytmy
Podstawy Informatyki Metalurgia, I rok niestacjonarne Wykład 2 Algorytmy Programowanie Sformułowanie problemu. Opracowanie metodyki rozwiązania. Opracowanie algorytmu. Napisanie kodu źródłowego (zakodowanie)
Bardziej szczegółowoFUNKCJA REKURENCYJNA. function s(n:integer):integer; begin if (n>1) then s:=n*s(n-1); else s:=1; end;
Rekurencja Wykład: rekursja, funkcje rekurencyjne, wywołanie samej siebie, wyznaczanie poszczególnych liczb Fibonacciego, potęgowanie, algorytm Euklidesa REKURENCJA Rekurencja (z łac. recurrere), zwana
Bardziej szczegółowoINFORMATYKA. Algorytmy.
INFORMATYKA Algorytmy http://www.infoceram.agh.edu.pl ALGORYTM ALGORYTM to skończony ciąg jasno zdefiniowanych czynności, wskazujący kolejność operacji koniecznych do rozwiązania zadanego problemu. Słowo
Bardziej szczegółowoJęzyk ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Bardziej szczegółowoTreść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów
Treść wykładu Pierścienie wielomianów. Definicja Niech P będzie pierścieniem. Wielomianem jednej zmiennej o współczynnikach z P nazywamy każdy ciąg f = (f 0, f 1, f 2,...), gdzie wyrazy ciągu f są prawie
Bardziej szczegółowoPodstawy Informatyki. Algorytmy i ich poprawność
Podstawy Informatyki Algorytmy i ich poprawność Błędy Błędy: językowe logiczne Błędy językowe Związane ze składnią języka Wykrywane automatycznie przez kompilator lub interpreter Prosty sposób usuwania
Bardziej szczegółowo