1. Algorytmy Składniki algorytmu Podstawowymi elementami każdego algorytmu są dane oraz operacje Metody opisu algorytmu

Podobne dokumenty
1. Algorytmy Składniki algorytmu Podstawowymi elementami każdego algorytmu są dane oraz operacje Metody opisu algorytmu

1. Algorytmy Składniki algorytmu Podstawowymi elementami każdego algorytmu są dane oraz operacje Metody opisu algorytmu

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

Wprowadzenie do algorytmiki

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Wykład z Technologii Informacyjnych. Piotr Mika

Definicje. Algorytm to:

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Algorytm. a programowanie -

Proste programy w C++ zadania

Algorytm. Krótka historia algorytmów

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

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

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

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

Algorytm. Krótka historia algorytmów

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

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

1 Wprowadzenie do algorytmiki

Wstęp do informatyki

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

WHILE (wyrażenie) instrukcja;

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

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

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

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

Technologia informacyjna Algorytm Janusz Uriasz

Algorytmy i struktury danych. Wykład 4

WHILE (wyrażenie) instrukcja;

1 Podstawy c++ w pigułce.

Definicja algorytmu brzmi:

Podstawy Programowania Algorytmy i programowanie

Algorytmy i schematy blokowe

WYRAŻENIA ALGEBRAICZNE

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

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

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

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

Rekurencja (rekursja)

Analiza algorytmów zadania podstawowe

KURS WSPOMAGAJĄCY PRZYGOTOWANIA DO MATURY Z MATEMATYKI ZDAJ MATMĘ NA MAKSA. przyjmuje wartości większe od funkcji dokładnie w przedziale

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

Obliczenia na stosie. Wykład 9. Obliczenia na stosie. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303

Języki programowania zasady ich tworzenia

Luty 2001 Algorytmy (7) 2000/2001

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

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

Wstęp do Programowania Lista 1

do instrukcja while (wyrażenie);

Zaprojektować i zaimplementować algorytm realizujący następujące zadanie.

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

5. Rozwiązywanie układów równań liniowych

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

Algorytmy, reprezentacja algorytmów.

Instrukcje sterujące

Poprawność semantyczna

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Uwaga: Funkcja zamień(a[j],a[j+s]) zamienia miejscami wartości A[j] oraz A[j+s].

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2

Technologie informacyjne - wykład 12 -

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

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

Podstawy Programowania C++

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

Metody numeryczne Laboratorium 2

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

Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych klasa druga zakres rozszerzony

Język ludzki kod maszynowy

Zapis algorytmów: schematy blokowe i pseudokod 1

Algorytmy i struktury danych. wykład 2

I. Podstawy języka C powtórka

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

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

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

Macierze. Rozdział Działania na macierzach

PRÓBNA NOWA MATURA z WSiP. Matematyka dla klasy 2 Poziom podstawowy. Zasady oceniania zadań

Podstawy Informatyki. Inżynieria Ciepła, I rok. Iteracja warunkowadopóki(while) Blok instrukcji. Pascal: begin instrukcja1; C: { end;

1 Podstawy c++ w pigułce.

Algorytmika i pseudoprogramowanie

Treść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów

Algorytmy komputerowe. dr inŝ. Jarosław Forenc

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 7 Algorytmy

INFORMATYKA. Algorytmy.

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

Wstęp do informatyki- wykład 2

Wstęp do programowania

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA I GIMNAZJUM Małgorzata Janik

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Laboratorium nr 1. i 2.

Wstęp do programowania

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

Model odpowiedzi i schemat oceniania do arkusza II

Jarosław Wróblewski Matematyka Elementarna, lato 2012/13. Czwartek 28 marca zaczynamy od omówienia zadań z kolokwium nr 1.

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Zajęcia nr 1 (1h) Dwumian Newtona. Indukcja. Zajęcia nr 2 i 3 (4h) Trygonometria

Transkrypt:

1. Algorytmy ZADAIE (warunki wejsciowe) Dane wejscio we OPERACJE Dane wyjsciowe Struktura i funkcjonowanie algorytmu Zadanie wykonane Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi z IX w. ne. Pierwszym znanym algorytmem jest algorytm Euklidesa (IV w. pne). Algorytm jest to skończony ciąg reguł służący do przekształcenia zbiorów danych wejściowych w inny zbiór danych wyjściowych (wyniki, rezultaty procesu przetwarzania). Każdy algorytm charakteryzuje się następującymi cechami: jednoznaczność algorytm nie może pozostawiać wątpliwości co do wyboru kolejnych operacji skończoność - dla każdego zestawu poprawnych danych wejściowych algorytm powinien dać wyniki po skończonej liczbie operacji uniwersalność algorytm powinien rozwiązywać nie jedno szczególne zadanie lecz całą klasę zadań poprawność, tzn. dla każdego poprawnego zestawu danych, po wykonaniu skończonej liczby czynności, prowadzi do poprawnych wyników. określoność, tzn każda instrukcja jest na tyle szczegółowo opisana aby była wykonalna dla użytkownika 1.1. Składniki algorytmu Podstawowymi elementami każdego algorytmu są dane oraz operacje 1.1.1. Dane ajogólniej dane dzielimy na wejściowe i wyjściowe ale każde z nich ma określoną strukturę. Struktura danych jest takim sposobem przechowywania danych w komputerze aby ułatwiać ich wykorzystanie. Wyróżniamy: typ liczbowy (np. całkowity, zmiennoprzecinkowy, stałoprzecinkowy) typ znakowy (znaki alfanumeryczne) typ logiczny tablice słownik zbiór rekord plik kolejkę stos drzewo 1.1.2. Operacje Operacje są ciągami jednorodnych czynności wykonywanych przez algorytm. W algorytmach wyróżnia się operacje: arytmetyczne - składające się z działań arytmetycznych, takich jak dodawanie, pierwiastkowanie itd. logiczne - działania porównania, ustalania wartości logicznej, koniunkcji, negacji, alternatywy itp. sterujące - umożliwiają poruszanie się po algorytmie stosownie do aktualnych wartości danych parametrycznych i argumentów branych pod uwagę operacji 1.2. Metody opisu algorytmu Algorytmy można opisać m. in. za pomocą: języka naturalnego, schematu blokowego, pseudojęzyka lub formalnego języka programowania

1.2.1. Schemat blokowy Schematy blokowe są tzw. metajęzykiem. Oznacza to, że jest to język bardzo ogólny, służy do opisywania algorytmów w taki sposób, by na jego podstawie można było je zaimplementować w każdym języku. Schematy blokowe zalicza się również do grupy języków" graficznych. W schemacie blokowym można wyróżnić następujące grupy elementów: Strzałki określają połączenie elementów oraz kierunek przepływu danych. Operandy charakteryzuję wszystkie operacje, instrukcje bez wyrażeń warunkowych. Blok WEJŚCIA / WYJŚCIA - służy do wprowadzania i wyprowadzania danych do/z programu Blok OPERACYJY zawiera instrukcje, w wyniku których następuje zmiana wartości, postaci lub miejsca zapisu zmiennych/danych. Predykaty charakteryzuję wyłącznie wyrażenie decyzyjne. Blok WARUKOWY- określa wybór jednej z dwóch możliwych dróg działania Instrukcja warunkowa po podstawieniu zmiennych jest zdaniem logicznym jest prawdą lub fałszem. Blok SELEKCJI- określa wybór jednej z możliwych dróg działania. Zbiory wartości występujące w instrukcji wyboru powinny być rozłączne i dawać w sumie zbiór wszystkich wartości, które może przyjmować zmienna. Etykiety charakteryzują początek i koniec programu. Do grupy etykiet zalicza się również elementy przeniesienia do innego miejsca danego schematu lub odwołanie do innego schematu. Blok GRAICZY oznacza początek lub koniec działania algorytmu ŁĄCZIK WEWĘRZY - służy do łączenia różnych części schematu znajdujących się na tej samej stronie. ŁĄCZIK ZEWĘRZY - służy do łączenia różnych części schematu znajdujących się na różnych stronach. Zasady zapisu schematu blokowego Schemat ma tylko jeden blok SAR i przynajmniej jeden blok SOP Bloki połączone są strzałkami wyznaczającymi kolejność instrukcji Do każdego bloku prowadzić może kilka linii Z każdego bloku (z wyjątkiem PREDYKAU i SOPU) wychodzi dokładnie jedna linia Z WARUKU wychodzą dokładnie 2 drogi (ozn. AK i IE), ze SOPU nie wychodzi żadna droga. Linie mogą sie łączyć, a punkt połączenia nazywa sie punktem zbiegu W danym bloku są wykonywane wszystkie instrukcje albo żadna Relacje większości, równości, operacje dodawania, mnożenia, koniunkcji, alternatywy, itd. zapisywane są za pomocą powszechnie używanych w matematyce symboli. Przypisanie wartości do pewnej zmiennej oznaczane jest za pomocą operatora := SAR CZYAJ a Programik wyznaczający moduł z liczby a. apisany jest w schemacie blokowym i pseudojęzyku. Ma:=a a 0 Pisz Ma Ma:=-a Programe Moduł BEGI read a if ( a 0) then Ma:=a else Ma:=-a write Moduł z liczby a = Ma ED SOP

1.2.2. Pseudojęzyk Konwencja notacyjna z pogranicza języka naturalnego i języka programowania. Zwykle forma zapisu przypomina jeden z wielu występujących dziś języków programowania, stanowiąc mieszaninę konstrukcji zapożyczonych z wielu z nich. (Pseudojęzyk używany na zajęciach opiera się głównie na Pascalu) Podstawowe instrukcje: Instrukcje blokujące Begin ciąg instrukcji bloku End Instrukcja wejścia/wyjścia READ a; WRIE Równanie nie ma rozwiązania Instrukcja podstawiania - B:=a; waga:=40.4; Instrukcje warunkowe IF if warunek blok instrukcji I else blok instrukcji II endif blok instrukcji I warunek blok instrukcji II Instrukcje pętli FOR for i:=wart.początkowa to wart.końcowa step krok do blok instrukcji for i in nazwa kolejki, słownika, zbioru step krok do blok instrukcji i:=wart.początkowa i wart.końcowawa i:=i+krok blok instrukcji Instrukcje pętli WHILE while warunek do blok instrukcji warunek blok instrukcji Instrukcje pętli DO WHILE do blok instrukcji while warunek blok instrukcji warunek

Podprogram - to wydzielona część programu wykonująca jakieś operacje. Podprogramy stosuje się, aby uprościć program główny i zwiększyć czytelność kodu. Podobnie jak w Pascalu i Adzie podprogramy podzielimy na funkcje i procedury: o Funkcja wykonuje obliczenia i zwracać jakąś wartość, nie powinna natomiast mieć żadnego innego wpływu na działanie programu (np. funkcja wyznaczająca max w podanej tablicy). Dane są wprowadzane jako parametry. o Procedura nie zwraca żadnej wartości, zamiast tego wykonuje pewne instrukcje (np. procedura wprowadzania danych) 1.3. Rodzaje algorytmów: Algorytmy sekwencyjne (liniowe) to algorytmy, w których wszystkie kroki wykonuje się w kolejności takiej, w jakiej zostały zapisane. Przykładem jest algorytm wyznaczanie pola kwadratu: 1. Podaj bok kwadratu a 2. Oblicz P=a^2 3. apisz: Pole kwadratu wynosi P Algorytmy rozgałęzione to algorytmy które dopuszczają alternatywność danego zadania w zależności od spełnienia określonych warunków. Przykładem jest algorytm wyznaczanie wartości bezwzględnej liczby: 1. Podaj liczbę a 2. Jeżeli a>=0 to Ma:= a 3. Jeżeli nie jest spełniony warunek a>=0 to Ma:=-a 4. Pisz: Moduł z liczby a wynosi Ma. Algorytmy iteracyjne charakteryzują się występowaniem bloku czynności, które są powtarzane aż do uzyskania jakiegoś celu; w programowaniu takie postępowanie nazywamy pętlą. Iteracje występują w dwóch podstawowych odmianach: o iteracja z określoną liczbą powtórzeń : wykonuj czynność dokładnie razy. p. wyznaczanie n-tego wyrazu ciągu arytmetycznego o pierwszym wyrazie a1 i różnicy r: 1. Podaj wyraz początkowy ciągu a1 2. Podaj różnicę r 3. Podaj liczbę n 4. Podstaw an:=a1 5. Powtórz n-1 razy instrukcje A A. Podstaw an:=an+r 1. Pisz: n-ty wyraz ciągu arytmetycznego o pierwszym wyrazie a1 i różnicy r wynosi an o iteracja warunkowa: wykonaj czynność, dopóki jest spełniony warunek. p. wyznaczanie iteracyjne n silni dla n wg. wzoru: n!=1 2... (n-1) n: 1. Podaj liczbę n 2. Podstaw s:=1 3. Podstaw i:=1 4. Dopóki i<=n wykonuj instrukcję A i B A. Podstaw s:=s i B. Podstaw i:=i+1 5. Pisz: n! wynosi s Algorytmy rekurencyjne to algorytmy, w których występuje funkcja/procedura wywołująca samą siebie. Wywoływanie takie kończy się spełnieniem warunku zatrzymania rekurencji. Każda procedura rekurencyjna poza warunkiem zatrzymana rekurencji ma określoną zależność rekurencyjną oraz określony poziom rekurencji. p. wyznaczanie n silni dla n wg. wzoru: n!= n!=n (n-1)! gdy n>0 0!=1 gdy n=0 FUCIO silniaier(n) BEGI s:=1 for i:=1 to n step 1 do s:=s i return s ED FUCIO silniarek(n) BEGIn if n=0 then s:=1 else s:=n silniarek(n-1) return s ED

Zadania z algorytmów instrukcja warunkowa, funkcje matematyczne 1.1. Określ, jakie wartości zwracają poniższe funkcje, dla argumentu x=-2 a jakie dla x=4. arysuj schematy blokowe. a) Function wa (x) BEGI w:=0 if x>0 then w:=x 2 w:=w+1 return w ED b) Function wb (x) BEGI w:=0 if x>0 then w:=x 2 w:=w+1 return w ED c) Function wc (x) BEGI w:=0 if x>0 then w:=x 2 else w:=w+1 return w ED 1.2. apisz algorytm: a) rozwiązujący równanie postaci ax+b=0 (o podanych przez użytkownika współczynnikach). b) rozwiązujący równanie kwadratowe (postaci ax 2 +bx+c=0) o podanych przez użytkownika współczynnikach. c) obliczający - w zależności od wyboru użytkownika - pole powierzchni lub objętość kuli o promieniu podanym przez użytkownika. d) który pobiera od użytkownika trzy liczby oznaczające długości odcinków. Jeśli z podanych odcinków można zbudować trójkąt, to program oblicza pole tego trójkąta (ze wzoru Herona: pole trójkąta o bokach a,b,c to pierwiastek z liczby p(p-a)(p-b)(p-c), gdzie p - połowa sumy boków). W przeciwnym razie pojawia się komentarz, że podane liczby nie mogą być bokami trójkąta. e) sprawdzający, czy podany przez użytkownika rok jest rokiem przestępnym (rok przestępny [liczbowo] spełnia następujące warunki: jest podzielny przez 4, ale nie jest podzielny przez 100, chyba że jest podzielny przez 400). f) pobierający od użytkownika wysokość rocznego dochodu, a następnie obliczający należny podatek. W przypadku gdy dochód jest mniejszy niż 37024 zł podatek to 19% dochodu minus 493 zł 32 gr, w przypadku gdy dochód wynosi co najmniej 37024 zł ale mniej niż 74048 zł podatek to 6541 zł 24 gr + 30% nadwyżki ponad 37024 zł, dla dochodu wynoszącego co najmniej 74048 zł podatek to 17648 zł 44 gr + 40% nadwyżki ponad 74048 zł. 1.3. Określ, co realizują poniższe algorytmy. Czy te schematy można uprościć. apisz pseudokody. a) SAR SAR Czytaj a,b,c Czytaj a,b,c c>a a>b z:=a a:=b b:=z Pisz c (a,b] c=b c<b Pisz c (a,b] b>c z:=b b:=c c:=z Pisz c (a,b] Pisz c (a,b] a>b z:=a a:=b b:=z SOP Pisz a,b,c SOP

pętle i instrukcje warunkowe 1.4. apisz algorytm w postaci schematu blokowego i funkcji, której parametrem jest n liczba naturalna oraz tab tablica n - elementowa indeksowana od 1 do n o wyrazach rzeczywistych dodatnich, który: a) zwraca średnią arytmetyczną z elementów tablicy; b) zwraca średnią geometryczną z elementów tablicy. 1.5. apisz algorytm (z wykorzystaniem pętli for) w postaci schematu blokowego i funkcji, której parametrem jest n liczba, który: a) zwraca n!; b) zwraca n-ty element ciągu o wyrazie ogólnym an=3+5n c) zwraca n-ty element ciągu o wyrazie ogólnym an=3 5 n 1.6. apisz algorytm (z wykorzystaniem pętli for) w postaci schematu blokowego i funkcji, której parametrem jest n liczba naturalna oraz tab tablica n - elementowa indeksowana od 1 do n o wyrazach rzeczywistych, który: a) zwraca sumę elementów tablicy tab, które są większe niż 3; b) zwraca iloczyn elementów tablicy tab, które nie są podzielne przez 3; c) zwraca liczbę elementów tablicy tab, które są podzielne przez 3; 1.7. apisz algorytm (z wykorzystaniem pętli for) w postaci schematu blokowego i funkcji, której parametrem jest n liczba naturalna, x - liczba rzeczywista oraz tab tablica n- elementowa indeksowana od 1 do n o wyrazach rzeczywistych, który: a) określa, czy element x jest elementem tablicy tab; b) zwraca liczbę elementów tablicy większych niż x; 1.8. Danymi w poniższych algorytmach są liczba naturalna n oraz tab - tablica n elementowa indeksowana od 1 do n, o wyrazach rzeczywistych. Określ, co realizują poniższe algorytmy. apisz pseudokody. a) b) SAR SAR n, tab n, tab u:=0 m:=tab[1] k:=1 i:=1 i:=1 i:=i+1 i<=n tab[i]<0 u:=u+1 i:=i+1 i =n m>tab[i] m:=tab[i] k:=1 m=tab[i k:=k+1 m,k SOP u SOP str. 2

1.9. Współczynniki wielomianu w(x) = a[0] + a[1] x + a[2] x 2 + a[3] x 3 + + a[n] x n można zapisać w postaci tablicy. W poniższych algorytmach parametrami są: n liczba naturalna, x liczba całkowita oraz a tablica współczynników wielomianu o n+1 elementach indeksowanych od 0 do n. Czy poniższe algorytmy realizują identyczne zadanie? Określ liczbę dodawań, mnożeń, potęgowań. Który algorytm jest wydajniejszy? Znajdź informację o algorytmie Hornera wyznaczania wartości wielomianu. a) Function f1 (n,x,a) BEGI f:=a[0] for (i:=1; i<=n; i:=i+1) f := f + x i a[i] return f ED b) Function f2 (n,x,a) BEGI f:=a[n] for i:=n-1; i>=0; i:=i-1 f := x f + a[i] return f ED 1.10. Algorytmy z zadania 1.9 zapisz w postaci pętli while 1.11. W poniższych algorytmach danymi są liczby naturalne a,b, takie że a<b. Który z poniższych algorytmów można zapisać przy użyciu pętli for? arysuj schematy blokowe. Określ, co realizują te algorytmy a) Function g1 (a,b) BEGI f:=0 i:=a while (i<=b) f := f + i i:=i+1 return f ED b) Function g2 (a,b) BEGI while (b 0) r:= a mod b a:=b b:=r return a ED 1.12. apisz algorytm jako funkcję, której parametrem jest liczba naturalna G. Funkcja ma zwracać liczbę oznaczającą ile kolejnych liczb naturalnych należy dodać, aby otrzymać najmniejszą liczbę nie mniejszą niż G. 1.13. apisz algorytm jako funkcję, której parametrami są liczby naturalne a,b stanowiące krańce pewnego przedziału domkniętego. Funkcja ma zwracać ilość liczb podzielnych przez 3 należących do tego przedziału 1.14. apisz algorytm jako funkcję, której parametrami są liczby naturalne a,b stanowiące krańce pewnego przedziału domkniętego. Funkcja ma zwracać sumę liczb podzielnych przez 3 należących do tego przedziału 1.15. Smok Podwawelski to wielki żarłok: wczoraj porwał i pożarł jedną owcę, a dziś powiększył swoje menu o jedną sztukę kradnąc dwie owce. Smok postanowił, że każdego następnego dnia zje tyle owiec ile zjadł dnia poprzedniego i dodatkowo będzie dokładał sobie o jedną sztukę więcej, niż dołożył w dniu poprzednim - a więc jutro pożre cztery owce, a pojutrze siedem. apisać algorytm jako funkcję, której parametrem jest liczba naturalna, oznaczająca liczbę dni owczej diety smoka. Algorytm ma zwrócić liczbę owiec, jaką zje smok w -tym dniu oraz łączną liczbę owiec zjedzonych przez smoka przez te dni. 1.16. apisz algorytm w postaci funkcji, której parametrem jest n liczba naturalna oraz tab tablica n - elementowa indeksowana od 1 do n o wyrazach rzeczywistych, który dokonuje przesunięcia zawartości tej tablicy cyklicznie o jedną pozycję (pierwszy element na miejsce drugiego, drugi na miejsce trzeciego,..., ostatni na miejsce pierwszego). 1.17. apisz algorytm w postaci funkcji, której parametrem jest n liczba naturalna oraz tab tablica n - elementowa indeksowana od 0 do n-1 o wyrazach rzeczywistych, który przekształca tablicę tak, że w miejsce elementów dodatnich tablicy podstawiana jest podłoga elementu a w miejsce elementów ujemnych sufit. Znajdź informacje na temat funkcji podłoga i sufit. 1.18. apisz algorytm określający czy dana przez użytkownika liczba naturalna jest liczbą złożoną, czy liczbą pierwszą.

1.19. apisz algorytm w postaci funkcji, której parametrami są: n liczba naturalne oraz tab indeksowana od 0 tablica dwuwymiarowa o n wierszach i n kolumnach o wyrazach rzeczywistych. Algorytm zwraca iloczyn elementów lezących na głównej przekątnej macierzy. 1.20. apisz algorytm w postaci funkcji, której parametrami są: m, n liczby naturalne oraz tab indeksowana od 1 tablica dwuwymiarowa o m wierszach i n kolumnach o wyrazach rzeczywistych. Algorytm zwraca macierz w której zamienione są miejscami wiersz ostatni z wierszem przedostatnim. pętle zagnieżdzone SAR m,n,a 1.21. Schemat przedstawia algorytm, którego argumentem jest tablica A indeksowana od 0 o m wierszach i n kolumnach. Określ, jaki wynik wynik:=1 i:=1 otrzymamy dla tablicy i:=i+1 i<n j:=0 j:=j+2 j<n wynik:=wynik A[i][j] wynik SOP 1.22. apisz algorytm w postaci funkcji, której parametrami są: m, n liczby naturalne oraz tab indeksowana od 0 tablica dwuwymiarowa o m wierszach i n kolumnach o wyrazach rzeczywistych. Algorytm zwraca iloczyn elementów macierzy. arysuj schemat blokowy. 1.23. apisz algorytm w postaci funkcji, której parametrami są: m, n liczby naturalne oraz taba, tabb indeksowane od 1 tablice dwuwymiarowe o m wierszach i n kolumnach o wyrazach rzeczywistych. Algorytm zwraca tablicę będącą różnicą macierzy taba i tabb. arysuj schemat blokowy. 1.24. apisz algorytm w postaci funkcji, której parametrami są: m, n liczby naturalne oraz tab indeksowana od 0 tablica dwuwymiarowa o m wierszach i n kolumnach o wyrazach rzeczywistych. Algorytm zwraca sumę elementów macierzy większych niż 3. arysuj schemat blokowy. 1.25. apisz algorytm w postaci funkcji, której parametrami są: m, n liczby naturalne oraz tab indeksowana od 0 tablica dwuwymiarowa o m wierszach i n kolumnach o wyrazach rzeczywistych. Algorytm zwraca liczbę elementów macierzy większych niż 3. arysuj schemat blokowy. 1.26. apisz algorytm w postaci funkcji, której parametrami są: m, n liczby naturalne oraz tab indeksowana od 1 tablica dwuwymiarowa o m wierszach i n kolumnach o wyrazach rzeczywistych, który przekształca tablicę tak, że w miejsce elementów dodatnich tablicy podstawiana jest podłoga elementu a w miejsce elementów ujemnych sufit. arysuj schemat blokowy. arysuj schemat blokowy. 1.27. apisz algorytm w postaci funkcji, której parametrami są: n liczba naturalne oraz tab indeksowana od 0 tablica dwuwymiarowa o n wierszach i n kolumnach o wyrazach rzeczywistych. Algorytm zwraca sumę elementów macierzy leżących nad lub na przekątnej. arysuj schemat blokowy. 1.28. apisz algorytm w postaci funkcji, której parametrami są: n liczba naturalne oraz tab indeksowana od 0 tablica dwuwymiarowa o n wierszach i n kolumnach o wyrazach rzeczywistych. Algorytm zwraca macierz transponowaną do wprowadzonej. arysuj schemat blokowy. 1.29. apisz algorytm w postaci funkcji, której parametrami są: m, n, k liczby naturalne oraz taba indeksowana od 0 tablica dwuwymiarowa o m wierszach i k kolumnach oraz tabb indeksowana od 0 tablica dwuwymiarowa o k wierszach i n kolumnach. Algorytm zwraca tablicę będącą iloczynem macierzy taba i tabb. arysuj schemat blokowy. 1.30. apisz algorytm w postaci funkcji, której parametrami są: n liczba naturalna oraz tab indeksowana od 0 tablica jednowymiarowa o n elementach. Algorytm zwraca tablicę tab, której elementy są uporządkowane w kolejności rosnącej metodą bąbelkową. arysuj schemat blokowy.

rekurencja 1.31. Poniżej zdefiniowane są ciągi, których kolejne wyrazy generowane są w sposób rekurencyjny: a) b) c) apisz algorytm rekurencyjny, który znajdzie wartość n-tego wyrazu ciągu. 1.32. apisz algorytmy z zadania 1.32 w postaci iteracyjnej. 1.33. apisać funkcję iteracyjną oraz rekurencyjną, która oblicza n-ty wyraz ciągu o wyrazie ogólnym: a) a n = 4 + 8 + 12 +...+4n, dla n>0 b) b n = 1 + ½ + ⅓ + ¼ +... + 1/n, dla n>0 c) c n = 5 3 n-2, dla n>1 d) d n = 5 + 3 (n-2), dla n>1 1.34. Dana jest funkcja fun: różne Oblicz fun(2,3). Co oblicza funkcja fun? 1.35. apisz algorytm wyznaczający wartość funkcji sgn dla podanej przez użytkownika liczby x. 1.36. apisać algorytm w postaci funkcji której parametrem jest tablica kwadratowa (o n wierszach i n kolumnach) indeksowana od 0. Algorytm ma zwracać ślad macierzy tj. sumę elementów leżących na głównej przekątnej macierzy. 1.37. apisz algorytm w postaci funkcji, której parametrami są: n liczba naturalne oraz tab indeksowana od 0 tablica dwuwymiarowa o n wierszach i n kolumnach o wyrazach rzeczywistych. Algorytm zwraca informację, czy tablica jest symetryczna. arysuj schemat blokowy. 1.38. apisz algorytm w postaci funkcji, której parametrami są: m, k1, k2 liczby naturalne oraz taba indeksowana od 0 tablica dwuwymiarowa o m wierszach i k1 kolumnach oraz tabb indeksowana od 0 tablica dwuwymiarowa o m wierszach i k2 kolumnach. Algorytm zwraca tablicę tabc o m wierszach i k1+k2 kolumnach, w której pierwsze k1 kolumn to kolumny tablicy taba a pozostałe k2 kolumn to kolumny tablicy tabb. arysuj schemat blokowy. 1.39. apisz rekurencyjnie i iteracyjnie algorytm wyznaczania n tego wyrazu ciągu a) arytmetycznego o początkowym wyrazie pocz i różnicy r b) geometrycznego o początkowym wyrazie pocz i ilorazie q 1.40. apisz iteracyjnie i rekurencyjnie algorytm Euklidesa wyznaczania WD liczb naturalnych. Algorytm Euklidesa opiera się na spostrzeżeniu, że WD dwóch liczb całkowitych m i n, m>n, jest równy WD liczb y i x mod y (reszta z dzielenia x przez y).