• Nie Znaleziono Wyników

Poprawno´s´c semantyczna

N/A
N/A
Protected

Academic year: 2021

Share "Poprawno´s´c semantyczna"

Copied!
3
0
0

Pełen tekst

(1)

Krak´ow 25.10.2013

Algorytmy i struktury danych I

Poprawno´s´c semantyczna

• Zadanie 1 (tablicowe:omawiamy w trakcie ´cwicze´n) Sprawd´z poprawno´s´c specyfikacji:

/* x >= 0 */ (warunek wstepny) x = x+1

/* x >= 1 */ (warunek ko´ncowy)

• Zadanie 2 (tablicowe:omawiamy w trakcie ´cwicze´n)

Sprawd´z poprawno´s´c specyfikacji dla sekwencyjnego wykonania instrukcji /* x >= 1 */ (warunek wste

pny)

y = x

/* y >= 1 */ (warunek ko´ncowy) /* y >= 1 */ (warunek wste

pny)

y = y+1

/* y >= 2 */ (warunek ko´ncowy)

• Zadanie 3 (tablicowe:omawiamy w trakcie ´cwicze´n)

Udowodnij poprawno´s´c warunku ko´ncowego dla nastepujacego kodu.

/**/ (warunek wste

pny)

if( x>=0 ) y=y+x else y = y-x

/* y = y0 + |x0| */(warunek ko´ncowy)

• Zadanie 4

Podaj niezmiennik dla poni˙zszej petli i udowodnij jego poprawno´s´c:

/* 1 <= b */ (warunek wste

pny)

i=1; c=1;

while ( i<= b) { c = c * a ; i++};

• Zadanie 5 (tablicowe:omawiamy w trakcie ´cwicze´n)

Udowodnij poprawno´s´c warunku ko´ncowego dla nastepujacego kodu:

/*x >= 100 */

if( x >= y ) m = x;

else m = y;

/* m >= 100 */

1

(2)

• Zadanie 6

Napisz kr´otki program, kt´ory wczytuje cia

g liczb dodatnich, zako´nczony przez -1, oblicza i wypisuje najwieksza z wczytanych liczb dodatnich. Jaki jest niezmiennik dla petli w Twoim programie? wypisuj jego warto´s´c.

• Zadanie 7

Napisz kr´otki program kt´ory wczytuje ciag 100 liczb dodatnich, oblicza i wypisuje najwieksza z wczytanych liczb dodatnich. Jaki jest niezmiennik dla petli w Twoim programie? wyp- isuj jego warto´s´c.

• Zadanie 8

Napisz krotkie programy realizuja

ce naste

puja

ce zadania, postaraj sie

znale´s´c algorytm o z lo˙zono´sci lepszej od z lo˙zono´sci kwadratowej.

– Szukanie przyw´odcy ciagu: Przywdca ciagu jest element, ktry wystpuje w ciagu wiecej razy ni˙z po lowa d lugo´sci tego cia

gu. Naszym problemem jest policzenie przy- wdcy cia

gu w tablicy A[1..n]. Dla uproszczenia przyjmijmy, e w tym cia

gu jest przyw´odca. Latwo zmodyfikowa´c algorytm tak, by sprawdza l istnienie przywdcy.

– Szukanie sumy: Mamy dane dwie tablice posortowane rosnaco A,B i liczbe x, pytamy, czy istniej a ∈ A, b ∈ B takie, ˙ze x=a+b.

– Szukanie maksymalnego segmentu: Dla tablicy A[1..n] liczymy maksymalna warto z zera i ze wszystkich liczb Pjk=i A[k], gdzie 1 ≤ i ≤ j ≤ n.

– Szukanie najd lu˙zszego maleja

cego podcia

gu: Niech A[1], A[2] ... A[n] be

dzie

ciagiem n dodatnich liczb. Oblicz dugo´s´c najd lu˙zszego maleja

cego podcia

gu (w kole- jno´sci od lewej do prawej strony).

2

(3)

Z lo˙zono´s´c obliczeniowa

Zadania tekstowe przygotowujemy w postaci documentu: plik.pdf (u˙zywamy latex, word albo scan z re

cznego pisma) i umieszczamy w systemie Pegaz.

• Zadanie 1 (tekstowe)

Uporzadkuj podane ni˙zej funkcje wg. asymptotycznego stopnia z lo˙zono´sci tak, aby ka˙zda funkcja by la asymptotycznie mniejsza od nastepujacych po niej:

51n+101, 7lgn37n, nlgn2+2, (√n+ 1)3, lgnn , lgnn ,Pnk=0k√ k.

• Zadanie 2 (tekstowe) Korzystaja

c z twierdzenia o rekursji uniwersalnej oszacuj rza

d wielko´sci funkcji T zadanej r´ownaniem rekurencyjnym:

– T(n) = 4T (n2) + n – T(n) = 4T (n2) + n2 – T(n) = 4T (n2) + n2lg2n – T(n) = 4T (n2) + n3 – T(n) = T (n2) + c

• Zadanie 3

Wykorzystaj program z zestawu 2 (implementacja szybkiego algorytmu sortuja

cego).

Zliczaj ilo´s´c wykonywanych por´owna´n. Wpisz tabelke

lub narysuj wykres zale˙zno´sci iloci por´owna´n od iloci element´ow N sortowanego ciagu liczb. Jak wyglada r´ownanie rekuren- cyjne dla zaimplementowanego algorytmu. Czy ilo´s´c por´owna

n zachowuje sie´

tak jak przewiduje rozwia

zanie r´ownania rekurencyjnego dla tego algorytmu?

3

Cytaty

Powiązane dokumenty

Z konstrukcji tabeli wynika, »e oba jej skladniki nale»¡ do U(n 0 ) ⊆ U, czyli warunek drugi te» jest speªniony.. Trzeci przypadek

Dziedzina nas nie interesuje, bo przykªadowo wªasno±ci liczb naturalnych s¡ prawdziwe.. Poprawno±¢ reguªy konsekwencji wynika z poprawno±ci

pecorum nie była stwierdzana w wymazach z worka spojówkowego (41, 48, 49), rzad- ko jej obecność wykazywana była też w nasieniu i kale knurów (38) lub w koinfekcji

[r]

53.[...] Prorok powiedział: „Modlitwa zbiorowa jest dwadzieścia pięć razy więcej warta niż modlitwa w domu lub w czasie pracy.. [...] Prorok powiedział: „W Dniu Sądu odpowie

Bardzo prosimy o napisanie rozwia , zania ka˙zdego zadania na oddzielnej, czytelnie podpisanej kartce..

Przez ka»d¡ par¦ s¡siednich punktów

Nast¦pnie liczy¢ I caªkuj¡c iteracyjnie