Wstęp do Informatyki
|
|
- Leszek Krawczyk
- 8 lat temu
- Przeglądów:
Transkrypt
1 Wstęp do Informatyki Bożena Woźna-Szcześniak Jan Długosz University, Poland Wykład 6 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 6 1 / 1
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) Wstęp do Informatyki Wykład 6 2 / 1
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) Wstęp do Informatyki Wykład 6 2 / 1
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) Wstęp do Informatyki Wykład 6 3 / 1
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) Wstęp do Informatyki Wykład 6 3 / 1
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) Wstęp do Informatyki Wykład 6 3 / 1
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) Wstęp do Informatyki Wykład 6 4 / 1
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) Wstęp do Informatyki Wykład 6 5 / 1
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) Wstęp do Informatyki Wykład 6 6 / 1
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) Wstęp do Informatyki Wykład 6 6 / 1
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) Wstęp do Informatyki Wykład 6 7 / 1
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) Wstęp do Informatyki Wykład 6 8 / 1
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) Wstęp do Informatyki Wykład 6 9 / 1
14 Metody opisu algorytmów Ograniczony podzbiór języka naturalnego (opis słowny, lista kroków). Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 6 10 / 1
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) Wstęp do Informatyki Wykład 6 10 / 1
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) Wstęp do Informatyki Wykład 6 10 / 1
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) Wstęp do Informatyki Wykład 6 11 / 1
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) Wstęp do Informatyki Wykład 6 12 / 1
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) Wstęp do Informatyki Wykład 6 13 / 1
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) Wstęp do Informatyki Wykład 6 13 / 1
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) Wstęp do Informatyki Wykład 6 13 / 1
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) Wstęp do Informatyki Wykład 6 14 / 1
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) Wstęp do Informatyki Wykład 6 15 / 1
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) Wstęp do Informatyki Wykład 6 16 / 1
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) Wstęp do Informatyki Wykład 6 17 / 1
26 Schemat blokowy - kwadrat danej liczby Start Podaj: a Kwadrat:=a*a; Pisz: Kwadrat Koniec Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 6 18 / 1
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) Wstęp do Informatyki Wykład 6 19 / 1
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) Wstęp do Informatyki Wykład 6 20 / 1
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) Wstęp do Informatyki Wykład 6 21 / 1
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) Wstęp do Informatyki Wykład 6 22 / 1
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) Wstęp do Informatyki Wykład 6 22 / 1
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) Wstęp do Informatyki Wykład 6 22 / 1
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) Wstęp do Informatyki Wykład 6 23 / 1
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) Wstęp do Informatyki Wykład 6 24 / 1
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) Wstęp do Informatyki Wykład 6 25 / 1
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) Wstęp do Informatyki Wykład 6 25 / 1
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) Wstęp do Informatyki Wykład 6 25 / 1
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) Wstęp do Informatyki Wykład 6 26 / 1
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) Wstęp do Informatyki Wykład 6 27 / 1
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) Wstęp do Informatyki Wykład 6 28 / 1
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) Wstęp do Informatyki Wykład 6 29 / 1
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) Wstęp do Informatyki Wykład 6 30 / 1
43 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) Wstęp do Informatyki Wykład 6 31 / 1
44 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) Wstęp do Informatyki Wykład 6 32 / 1
45 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) Wstęp do Informatyki Wykład 6 33 / 1
46 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) Wstęp do Informatyki Wykład 6 34 / 1
47 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) Wstęp do Informatyki Wykład 6 35 / 1
48 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) Wstęp do Informatyki Wykład 6 36 / 1
49 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) Wstęp do Informatyki Wykład 6 36 / 1
50 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) Wstęp do Informatyki Wykład 6 36 / 1
51 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) Wstęp do Informatyki Wykład 6 37 / 1
52 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) Wstęp do Informatyki Wykład 6 37 / 1
53 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) Wstęp do Informatyki Wykład 6 38 / 1
54 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) Wstęp do Informatyki Wykład 6 39 / 1
55 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) Wstęp do Informatyki Wykład 6 40 / 1
56 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) Wstęp do Informatyki Wykład 6 41 / 1
57 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) Wstęp do Informatyki Wykład 6 42 / 1
58 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) Wstęp do Informatyki Wykład 6 43 / 1
59 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) Wstęp do Informatyki Wykład 6 44 / 1
60 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) Wstęp do Informatyki Wykład 6 45 / 1
61 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) Wstęp do Informatyki Wykład 6 46 / 1
62 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) Wstęp do Informatyki Wykład 6 47 / 1
63 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) Wstęp do Informatyki Wykład 6 48 / 1
64 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) Wstęp do Informatyki Wykład 6 49 / 1
65 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) Wstęp do Informatyki Wykład 6 50 / 1
66 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) Wstęp do Informatyki Wykład 6 51 / 1
67 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) Wstęp do Informatyki Wykład 6 52 / 1
68 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) Wstęp do Informatyki Wykład 6 53 / 1
69 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) Wstęp do Informatyki Wykład 6 54 / 1
70 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) Wstęp do Informatyki Wykład 6 55 / 1
Wstę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
Podstawy Informatyki
Podstawy 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) Podstawy Informatyki Wykład 6 1 / 59 Algorytmika Najstarsza dziedzina
Wykł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
Wykł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
Algorytm 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
Algorytm. 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
Definicje. 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
Wykł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)
Algorytmy 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
1 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
INFORMATYKA 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
ALGORYTMY 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
Wprowadzenie 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
Wstę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
Podstawy 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,
Elż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,
Za 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
ALGORYTMY. 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
1. 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
WHILE (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
Wstę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
WHILE (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
Opis 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.
Algorytm. 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
ALGORYTMY. 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
METODY 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
Algorytm - 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
Wykł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,
Algorytmy. 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
Wykł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?
Zadanie 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,
do 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
2.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
Iteracje. 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
Podstawy 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
Proste 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
Algorytmy 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
Instrukcja 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
a[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ć
Algorytmy. 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
Programowanie 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!!!.
Algorytmika 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
1. 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
ALGORYTMY 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
Algorytmy, 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
Technologie 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
Efektywność 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
Definicja 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
Podstawy 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:
Programowanie. 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
Podstawy 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
Wykł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
Algorytmy 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,
Informatyka 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
3. 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ę
Gimnazjum 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
Ję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
Podstawy 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
Algorytm. 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
Algorytmy 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
Podstawy 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
Zadanie 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ę
Luty 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
Technologia 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.
11. 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
Podstawy 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
Co 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.
Zapisywanie 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.
Wstę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
Algorytm. 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
START. 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:
Podstawy 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)
FUNKCJA 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
INFORMATYKA. 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
KOŁ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
Treść 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
Zapis 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
Piotr Chrząstowski-Wachtel Uniwersytet Warszawski. Al Chwarizmi i trzy algorytmy Euklidesa
Piotr Chrząstowski-Wachtel Uniwersytet Warszawski Al Chwarizmi i trzy algorytmy Euklidesa Algorytmika Najważniejsza część informatyki Opisuje jak rozwiązywać problemy algorytmiczne, jakie struktury danych
Algorytm. 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
Algorytmy. 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
Luty 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
Rekurencja (rekursja)
Rekurencja (rekursja) Rekurencja wywołanie funkcji przez nią samą wewnątrz ciała funkcji. Rekurencja może być pośrednia funkcja jest wywoływana przez inną funkcję, wywołaną (pośrednio lub bezpośrednio)
Algorytmy i złożoność obliczeniowa. Wojciech Horzelski
Algorytmy i złożoność obliczeniowa Wojciech Horzelski 1 Tematyka wykładu Ø Ø Ø Ø Ø Wprowadzenie Poprawność algorytmów (elementy analizy algorytmów) Wyszukiwanie Sortowanie Elementarne i abstrakcyjne struktury
Podstawy programowania. Podstawy C# Przykłady algorytmów
Podstawy programowania Podstawy C# Przykłady algorytmów Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania
Ję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
Algorytmy w teorii liczb
Łukasz Kowalik, ASD 2004: Algorytmy w teorii liczb 1 Algorytmy w teorii liczb Teoria liczb jest działem matemtyki dotyczącym własności liczb naturalnych. Rozważa się zagadnienia związane z liczbami pierwszymi,
Programowanie 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
4. Postęp arytmetyczny i geometryczny. Wartość bezwzględna, potęgowanie i pierwiastkowanie liczb rzeczywistych.
Jarosław Wróblewski Matematyka dla Myślących, 008/09. Postęp arytmetyczny i geometryczny. Wartość bezwzględna, potęgowanie i pierwiastkowanie liczb rzeczywistych. 15 listopada 008 r. Uwaga: Przyjmujemy,
Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.
Algorytm znaczenie informatyczne 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
Teoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 2: Struktury danych i algorytmy http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-20010 http://kiwi.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 http://th-www.if.uj.edu.pl/~erichter/dydaktyka/dydaktyka2010/tpi-
Algorytmika 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
1. LICZBY DZIAŁ Z PODRĘCZNIKA L.P. NaCoBeZu kryteria sukcesu w języku ucznia
L.P. DZIAŁ Z PODRĘCZNIKA NaCoBeZu kryteria sukcesu w języku ucznia 1. LICZBY 1. Znam pojęcie liczby naturalne, całkowite, wymierne, dodatnie, ujemne, niedodatnie, odwrotne, przeciwne. 2. Potrafię zaznaczyć
Klasa 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
Sposoby zapisywania algorytmów
Sposoby zapisywania algorytmów Algorytmy powinny być tak przedstawiane, aby było moŝliwe ich jednoznaczne odczytanie i zastosowanie. MoŜna prezentować je poprzez: 1. Zapis w postaci ciągu kroków ( języka
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem
5 lekcji o algorytmach - Co to jest algorytm?
5 lekcji o algorytmach - Co to jest algorytm? Aby zająć się pisaniem programów, należy nabyć pewnych umiejętności, do których na pewno trzeba zaliczyć: zdolność logicznego myślenia, jasnego formułowania
Poprawność semantyczna
Poprawność składniowa Poprawność semantyczna Poprawność algorytmu Wypisywanie zdań z języka poprawnych składniowo Poprawne wartościowanie zdań języka, np. w języku programowania skutki wystąpienia wyróżnionych
Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.
Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy
Algorytmika i programowanie. Wykład 2 inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie
Algorytmika i programowanie Wykład 2 inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie Tablice Tablica jest zbiorem elementów tego samego typu. Każdy element jest identyfikowany (numer
EGZAMIN MATURALNY Z INFORMATYKI WYBRANE: ... (system operacyjny) ... (program użytkowy) ... (środowisko programistyczne)
Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu. MIN 2017 KOD UZUPEŁNIA ZDAJĄCY PESEL miejsce na naklejkę EGZAMIN MATURALNY Z INFORMATYKI POZIOM ROZSZERZONY CZĘŚĆ I DATA: 10