ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Podobne dokumenty
Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Gimnazjum w Tęgoborzy - Algorytmika Strona 1 z 22 mgr Zofia Czech

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Definicje. Algorytm to:

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci:

Algorytm. a programowanie -

1 Wprowadzenie do algorytmiki

START. Wprowadź (v, t) S:=v*t. Wyprowadź (S) KONIEC

do instrukcja while (wyrażenie);

Wprowadzenie do algorytmiki

Pzetestuj działanie pętli while i do...while na poniższym przykładzie:

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Algorytmy. dr Dariusz Banaś (UJK) Seminarium w ramach projektu Fascynujący Świat Nauki dla uczniów gimnazjów. wersja 0.9. Start.

Podstawy Programowania C++

Informatyka wprowadzenie do algorytmów (II) dr hab. inż. Mikołaj Morzy

if (wyrażenie ) instrukcja

ALGORYTMY I PROGRAMY

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Algorytmy i struktury danych. Wykład 4

WHILE (wyrażenie) instrukcja;

Spis treści. Część I Metody reprezentowania informacji oraz struktury danych...9. Wprowadzenie Rozdział 1. Reprezentacja liczb całkowitych...

WHILE (wyrażenie) instrukcja;

Programowanie w Baltie klasa VII

PROGRAMOWANIE W C++ ZADANIA

11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym

Wykład z Technologii Informacyjnych. Piotr Mika

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

Podstawy Programowania Podstawowa składnia języka C++

6. Pętle while. Przykłady

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]

Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji.

EGZAMIN MATURALNY 2012 INFORMATYKA

Luty 2001 Algorytmy (7) 2000/2001

Technologia informacyjna Algorytm Janusz Uriasz

INFORMATYKA POZIOM PODSTAWOWY

Podstawy Programowania Algorytmy i programowanie

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

LISTA 5. C++ PETLE for, while, do while

Warunki logiczne instrukcja if

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Zadanie 1. Potęgi (14 pkt)

Język C część 2. Podejmowanie decyzji w programie. if else. switch

4. Postęp arytmetyczny i geometryczny. Wartość bezwzględna, potęgowanie i pierwiastkowanie liczb rzeczywistych.

1. Liczby naturalne, podzielność, silnie, reszty z dzielenia

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Laboratorium nr 1. i 2.

Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu,

Algorytmika i programowanie. dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu:

2.8. Algorytmy, schematy, programy

I. Podstawy języka C powtórka

Zapis algorytmów: schematy blokowe i pseudokod 1

Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1

PętlaforwOctave. Roman Putanowicz 13 kwietnia 2008

Cw.12 JAVAScript w dokumentach HTML

Algorytm. Krótka historia algorytmów

wagi cyfry pozycje

Rekurencja (rekursja)

Temat 20. Techniki algorytmiczne

Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL

EGZAMIN MATURALNY Z INFORMATYKI. 10 maja 2017 POZIOM ROZSZERZONY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I

lekcja 8a Gry komputerowe MasterMind

INSTRUKCJE ITERACYJNE

Programowanie i techniki algorytmiczne

EGZAMIN MATURALNY Z INFORMATYKI WYBRANE: ... (system operacyjny) ... (program użytkowy) ... (środowisko programistyczne)

1 Powtórzenie wiadomości

LibreOffice Calc VBA

EGZAMIN MATURALNY Z INFORMATYKI 13 MAJA 2019 POZIOM PODSTAWOWY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I WYBRANE: Czas pracy: 75 minut

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

Instrukcje sterujące

Zapisywanie algorytmów w języku programowania

Programowanie w języku C++ Grażyna Koba

for (inicjacja_warunkow_poczatkowych; wyrazenie_warunkowe; wyrazenie_zwiekszajace) { blok instrukcji; }

Język C, tablice i funkcje (laboratorium)

1. LICZBY DZIAŁ Z PODRĘCZNIKA L.P. NaCoBeZu kryteria sukcesu w języku ucznia

Algorytmika i pseudoprogramowanie

Zestaw 1-1 Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.cpp)!!!

for (inicjacja_warunkow_poczatkowych(końcowych); wyrazenie_warunkowe; wyrazenie_zwiekszajace(zmniejszające)) { blok instrukcji; }

W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. for (w1;w2;w3) instrukcja

Liczby całkowite i rzeczywiste

Scenariusz zajęć. Moduł VI. Projekt Gra logiczna zgadywanie liczby

Programowanie obiektowe - zadania

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

Pętle. Dodał Administrator niedziela, 14 marzec :27

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki

Algorytmy komputerowe. dr inŝ. Jarosław Forenc

WYRAŻENIA ALGEBRAICZNE

Wstęp do Informatyki

Proste programy w C++ zadania

INSTRUKCJE WARUNKOWE. Zadanie nr 1. Odpowiedź. schemat blokowy

Pętla for. Wynik działania programu:

Transkrypt:

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 danych oraz opisu kolejnych czynności prowadzących do jego rozwiązania w skończonym czasie. Każdy program komputerowy realizuje jakiś algorytm zapisany w zrozumiałym dla komputera języku programowania. Istnieją zadania niealgorytmiczne, dla których nie można opracować algorytmu rozwiązania. Algorytm musi być: poprawny (dla każdego poprawnego zestawu danych otrzymujemy poprawny wynik) jednoznaczny (dla tych samych danych uzyskujemy ten sam wynik) szczegółowy (aby jego wykonawca rozumiał opisane czynności i potrafił je wykonać) uniwersalny (ogólny, aby służył do rozwiązywania pewnej grupy zadań, a nie tylko jednego zadania np. sumy dwóch dowolnych liczb naturalnych, a nie tylko 3+2) inne cechy algorytmu to: skończoność - dla każdego zestawu poprawnych danych wejściowych, algorytm powinien dawać wyniki w skończonej liczbie kroków efektywność (sprawność) powinien prowadzić do rozwiązania problemu jak najniższym kosztem, czyli w jak najmniejszej liczbie kroków. ależy zoptymalizować pamięć zajętą przez struktury danych wykorzystywane w algorytmie oraz doprowadzić do optymalizacji złożoności obliczeniowej, czyli liczby wykonanych operacji. Algorytm może być zadany: opisem słownym wypunktowaną listą kroków schematem blokowym (czyli zapisem graficznym, przy użyciu odpowiednich bloków) pseudokodem, pseudojęzykiem ( kroki od danych wejściowych do wyników, np. czytaj(a), czytaj(b) s:=a+b, pisz(s)) określonym językiem programowania (czyli językiem zrozumiałym dla komputera, służącym do zapisywania programów i komunikowania się człowieka z komputerem) Specyfikacja algorytmu - obejmuje podanie: danych wejściowych (czyli nazwy używanych zmiennych i ich typ np. liczba całkowita, rzeczywista, wartość logiczna) wyniku, który algorytm powinien otrzymać zmiennych pomocniczych niezbędnych do realizacji programu. Uniwersalny algorytm operuje nie na liczbach, a na zmiennych (czyli pojemnikach na dane oznaczonych dowolną literą lub łańcuchem znaków). Rodzaje algorytmów: liniowy (nie ma w nim żadnych warunków, kolejne czynności są wykonywane jedna po drugiej) warunkowy (wykonanie instrukcji uzależnione jest od spełnienia lub niespełnienia warunku; jeśli warunek jest spełniony to, a jeśli nie to ) iteracyjny (czyli z pętlą, polegającą na wielokrotnym powtarzaniu instrukcji. Liczba powtórzeń może być z góry określona - tzw. pętla for ; dana instrukcja jest powtarzana aż do spełnienia jakiegoś określonego warunku tzw. pętla do while ; najpierw jest sprawdzany warunek a jego spełnienie umożliwia wykonanie instrukcji tzw. pętla while do )

Znaczenie klocków. Blok: startowy (rozpoczęcie wykonywania algorytmu) wejścia (wczytywanie danych, przypisywanie ich zmiennym) czytaj.. operacyjny (wykonywanie operacji, konkretnych działań, obliczeń, może tu być więcej niż jedno wyrażenie) :=. warunkowy (tzw. decyzyjny, z dwoma wyjściami: tak jeśli warunek jest spełniony, nie jeśli warunek jest niespełniony).. wyjściowy (wypisanie wyniku, efektu wykonywanych działań) pisz.. końcowy ( stop, koniec działania algorytmu SOP Pojęcia: Iteracja (pętla) powtarzanie danego ciągu operacji. Wymaga zmiennej licznikowej, która sprawdza, ile razy pętla została już powtórzona. Rekurencja ( wywołanie samego siebie ) to sposób wykonywania obliczeń, polegający na tym, że wydzielony podprogram wywołuje siebie samego. ablica to jeden ze strukturalnych typów danych. Pod jedną nazwą zmiennej można umieścić więcej danych. ablica składa się z ustalonej liczby elementów tego samego typu. Za ich pomocą można reprezentować regularne struktury danych, jak np. macierze czy wektory. Dostęp do poszczególnych elementów tablicy uzyskuje się za pomocą indeksów. p. zmienna tablicowa tab ma wartości: 23 1111 10 3 78888 Do kolejnych wartości odwołujemy się używając indeksów. p. wartość 10 wskażemy używając indeks tab[3], wartość 78888 tab[5], itd.. PRZ KŁ R ÓW (specyfikacja, schemat blokowy, pseudokod) Uwaga!!! Oznaczenia operatorów relacyjnych: > większe < mniejsze > = większe bądź równe ( ) < = mniejsze bądź równe ( ) < > różne ( ) : = instrukcja przypisania - przypisywanie zmiennej wartości podanej z prawej strony (np.: y := x*x*x, oznacza, że zmienna ( literka ) y ma teraz wartość x 3 ) Czytaj wczytaj podaj Pisz wypisz Funkcje, operatory: - mod - zwraca resztę z dzielenia całkowitego, np. 5 mod 2 = 1, 4 mod 2 = 0, - div zwraca część całkowitą z dzielenia, np. 5 div 2 = 2, 5 div 3 = 1, - random(n) zwraca losową liczbę naturalną z zakresu 0 do n,

1. Algorytm na podstawie wprowadzonej godziny rozpoznaje czy podana przez użytkownika godzina ( g ) jest przedpołudniowa, czy popołudniowa. Czytaj g g>12 Pisz Po południu Pisz Przed południem SOP Czytaj l, m Pisz nie dziel przez 0!!! m=0 wynik:=l/m Pisz wynik 2. Wykonuje dzielenie dwóch liczb. Jeśli mianownik jest równy 0 wyświetla się komunikat dzielenie przez zero!, w przeciwnym wypadku wyświetla się wynik dzielenia. SOP Czytaj a, b 3. Oblicza pole prostokąta. Rozpoznaje czy prostokąt jest kwadratem. Jeżeli tak wyświetla się komunikat Pole kwadratu wynosi, w przeciwnym wypadku Pole prostokąta wynosi i podaje wynik. Pisz Pole prostokąta Pisz wynik wynik:=a*b a=b Pisz Pole kwadratu Pisz wynik SOP 2

4. Wczytuje dwie liczby i wypisuje je w kolejności malejącej. Jeśli są równe, wyświetla komunikat liczby są równe. Czytaj a, b Pisz liczby są równe Pisz b, a Pisz a, b SOP 5. Wczytuje dwie liczby całkowite i oblicza ich sumę oraz różnicę, następnie w zależności od wyników, wyświetla komunikat suma większa od różnicy lub różnica większa od sumy. Podaj a, b s:=a+b r:=a-b s=r Pisz suma równa różnicy s>r Pisz suma większa od różnicy Pisz różnica większa od sumy SOP 3

6. Wypisuje trzy razy dzień dobry. (algorytm liniowy i z użyciem iteracji, i licznik pętli). i:=0 Pisz Dzień dobry i=3 Pisz Dzień dobry Pisz Dzień dobry SOP SOP Pisz Dzień dobry i:=i+1 7. Wypisuje n razy dzień dobry ( n liczba naturalna podana przez użytkownika, i licznik pętli). Czytaj n i:=0 i>n SOP Pisz Dzień dobry i:=i+1 Czytaj n i:=0 SOP i>n Pisz i 8. Wypisuje liczby parzyste z przedziału 0 do n ( n liczba naturalna podana przez użytkownika). i:=i+2 4

9. Wypisuje liczby z przedziału 0 do n, które są podzielne przez 4. Czytaj n i:=4 i>n SOP Pisz i i:=i+4 i:=1 Czytaj n i>n 10. ABLICA. Wczytuje do tablicy liczby, a następnie wyświetla je w odwrotnej kolejności. Czytaj tab[i] i:=i+1 i:=n i<1 Pisz tab[i] i:=i-1 SOP 5

11. Sześcian liczby (x 3 ) algorytm liniowy Specyfikacja: Dane: x- liczba całkowita podana przez użytkownika Wynik: y- sześcian liczby x czytaj x Pseudokod: Program szescian Zmienne: x, y: całkowite Początek czytaj(x) y:=x*x*x pisz(y) koniec y:=x*x*x pisz y SOP 12. Wybór większej liczby - algorytm warunkowy Specyfikacja: Dane: x, y- liczby całkowita podane przez użytkownika czytaj x Wynik: Większa z podanych liczb czytaj y Pseudokod: Program wieksza Zmienne: x, y: całkowite Początek czytaj(x,y) jeśli x>y to pisz(x) w przeciwnym wypadku pisz(y) koniec pisz y x > y SOP pisz x 6

13. Sumowanie i obliczanie średniej czytaj n nr := 1 s := 0 nr <= n czytaj a nr := nr + 1 s := s + a pisz s/n SOP n ilość liczb, które będziemy sumować nr numer kolejnego obliczenia (kolejnej wprowadzanej liczby) s suma a kolejna liczba s/n - średnia 14. Znajdowanie największej liczby max := 0 czytaj x x > 0 x > max SOP max := x pisz max max zmienna przechowująca aktualnie największą liczbę x kolejna liczba (jak jest ujemna lub równa zero to koniec algorytmu) 7

15. Pętla DOPÓKI. Obliczanie ilorazu całkowitego i reszty z dzielenia liczb naturalnych. czytaj x, y r := x iloraz := 0 r >= y z np.: r := r - y iloraz := iloraz +1 pisz iloraz pisz r SOP x dzielna y - dzielnik r reszta z dzielania (x/y) iloraz część całkowita z dzielenia x y r iloraz 5 3 5 0 2 1 x y r iloraz 8 3 8 5 2 0 1 2 8

16. Pętla DLA. Dodawanie kolejnych liczb nieparzystych. czytaj n pocz := 1 s := 0 i := pocz s := s + i i <= n SOP pisz i pisz s i := i + 2 n - liczba naturalna, nieparzysta, na której ma być koniec obliczeń s - suma kolejnych liczb nieparzystych aż do n-tej i kolejna liczba nieparzysta - licznik (1, 3, 5,, n) 17. Pierwiastek z danej liczby (dwie możliwości zapisu algorytmu) Czytaj a program działa do momentu podania właściwej liczby, czyli nieujemnej (a>=0) Pisz niewłaściwa liczba!!! pierwiastek:= Pisz pierwiastek SOP 9

Czytaj a algorytm bez pętli - program zakończy się po jednokrotnym podaniu liczby Pisz niewłaściwa liczba!!! pierwiastek:= Pisz pierwiastek SOP 18. Mnożenie określonej liczby (n) dowolnych liczb naturalnych (a) (iteracja algorytmu z określoną ilością powtórzeń, for ) i licznik (zmienia się od 1 do n) iloczyn:=1 i:=1 Czytaj n Czytaj a iloczyn:=iloczyn*a i=n i:=i+1 Pisz iloczyn SOP 10

19. Porównywanie trzech liczb (a, b, c trzy liczby) wybór największej. czytaj a, b, c a > b b > c a > c pisz c pisz b pisz c pisz a SOP SOP 20. Wartość bezwzględna liczby (moduł liczby) x, dla x 0 x x, dla x 0 czytaj x x<0 x:=-x pisz x SOP 11

1. KASA. Algorytm ma działać, jak kasa fiskalna, czyli ma sumować (w pętli) zakupione towary. Użytkownik podaje ceny dowolnej ilości towarów. Obliczanie sumy kończy się, gdy podana zostanie liczba 0. Program wyświetla sumę końcową (całkowitą). Ń suma:=0 Czytaj cena suma:=suma+cena cena=0 Pisz suma SOP 12

2. ŚREDIA OCE. Algorytm ma za zadanie obliczanie średniej ocen. Użytkownik na początku podaje ilość ocen (n), których średnią będzie chciał policzyć, a następnie podaje kolejne oceny (ocena). Wprowadzanie ocen kończy się z chwilą podania przez niego 0. Wtedy pojawia się informacja o średniej ocen danego ucznia (średnia). i:=1 suma:=0 średnia:=0 Czytaj n Czytaj ocena suma:=suma+ocena i:=i+1 SUMA POĘG. Algorytm ma obliczać sumę n liczb spełniających regułę: 1, 4, 9, 16, 25, 36, iech n liczba naturalna z zakresu 1-20 oznaczająca ilość liczb, suma suma n liczb (potęg). ilość kolejnych potęg,. Dla n=5 mamy suma=1 2 +2 2+ 3 2 +4 2 +5 2 =1+4+9+16+25=55. Czytaj n suma:=0 suma:=suma+n 2 n=1 n:=n-1 Pisz suma SOP 13

14