Semantyka i Weryfikacja Programów - Laboratorium 2 Działania na ułamkach, krotki i rekordy



Podobne dokumenty
Semantyka i Weryfikacja Programów - Laboratorium 7

Co można zrobić za pomocą maszyny Turinga? Wszystko! Maszyna Turinga potrafi rozwiązać każdy efektywnie rozwiązywalny problem algorytmiczny!

5. Zadania tekstowe.

Podstawy programowania obiektowego

G i m n a z j a l i s t ó w

Równania i nierówności kwadratowe z jedną niewiadomą

1 Ułamki zwykłe i dziesiętne

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego. best in training PRE TEST

WYZNACZANIE OGNISKOWEJ SOCZEWEK CIENKICH ZA POMOCĄ ŁAWY OPTYCZNEJ

ZADANIA Z ZAKRESU SZKOŁY PODSTAWOWEJ, GIMNAZJUM I SZKOŁY ŚREDNIEJ

WYZNACZNIKI. . Gdybyśmy rozważali układ dwóch równań liniowych, powiedzmy: Takie układy w matematyce nazywa się macierzami. Przyjmijmy definicję:

Wymagania na ocenę dopuszczającą z matematyki klasa II Matematyka - Babiański, Chańko-Nowa Era nr prog. DKOS /02

Z INFORMATYKI RAPORT

2. Funktory TTL cz.2

RBD Relacyjne Bazy Danych

Rozwiązania maj 2017r. Zadania zamknięte

Zadania. I. Podzielność liczb całkowitych

KARTA WZORÓW MATEMATYCZNYCH. (a + b) c = a c + b c. p% liczby a = p a 100 Liczba x, której p% jest równe a 100 a p

Minimalizacja automatu

Oznaczenia: K wymagania konieczne; P wymagania podstawowe; R wymagania rozszerzające; D wymagania dopełniające; W wymagania wykraczające

Regionalne Koło Matematyczne

FUNKCJA KWADRATOWA. RÓWNANIA I NIERÓWNOŚCI DRUGIEGO STOPNIA.

zestaw DO ĆWICZEŃ z matematyki

Wektor kolumnowy m wymiarowy macierz prostokątna o wymiarze n=1 Wektor wierszowy n wymiarowy macierz prostokątna o wymiarze m=1

Kodowanie liczb. Kodowanie stałopozycyjne liczb całkowitych. Niech liczba całkowita a ma w systemie dwójkowym postać: Kod prosty

Sprawozdanie z pomocy doraźnej i ratownictwa medycznego za 2010 r.

Temat lekcji Zakres treści Osiągnięcia ucznia

LISTA02: Projektowanie układów drugiego rzędu Przygotowanie: 1. Jakie własności ma równanie 2-ego rzędu & x &+ bx&

Wymagania edukacyjne matematyka klasa 2 zakres podstawowy 1. SUMY ALGEBRAICZNE

usuwa niewymierność z mianownika wyrażenia typu

Propozycja przedmiotowego systemu oceniania wraz z określeniem wymagań edukacyjnych (zakres podstawowy)

ZD-4 Sprawozdanie z pomocy doraźnej i ratownictwa medycznego za 2013 r.

2. FUNKCJE WYMIERNE Poziom (K) lub (P)

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY VIII w roku szkolnym 2015/2016

ZD-4 Sprawozdanie z pomocy doraźnej i ratownictwa medycznego za 2011 r.

Pasek narzędziowy Symbolic [View Toolbars Math Symbolic] Pasek narzędziowy Modifier [Symbolic Modifiers]

Jest błędem odwołanie się do zmiennej, której nie przypisano wcześniej żadnej wartości.

Iloczyn skalarny

Wymagania edukacyjne matematyka klasa 2b, 2c, 2e zakres podstawowy rok szkolny 2015/ Sumy algebraiczne

Połączenie (1) Optymalizacja poleceń SQL Część 3. Algorytm nested loops. Połączenie (2)

Wymagania kl. 2. Uczeń:

Weryfikacja modelowa jest analizą statyczną logiki modalnej

Wymagania edukacyjne z matematyki Klasa IIB. Rok szkolny 2013/2014 Poziom podstawowy

, 0 Informatyka w Zarządzaniu - test zaliczeniowy Zarządzanie III rok NS 7 Kwietnia 2013

Klasa druga: II TK1, II TK2 Poziom podstawowy 3 godz. x 30 tyg.= 90 nr programu DKOS /07 I. Funkcja kwadratowa

Katalog wymagań programowych na poszczególne stopnie szkolne. Matematyka. Poznać, zrozumieć

Semantyka i Weryfikacja Programów - Laboratorium 3

I. DZIAŁANIA W ZBIORZE LICZB RZECZYWISTYCH ZBIORY LICZBOWE: liczby całkowite C : C..., 3, 2, 1,

WYMAGANIA NA OCENĘ DOPUSZCZAJĄCĄ DLA UCZNIÓW KLASY Ia TECHNIKUM

Jest błędem odwołanie się do zmiennej, której nie przypisano wcześniej żadnej wartości.

ZADANIA ZAMKNIĘTE. Zadanie 1 (1p). Ile wynosi 0,5% kwoty 120 mln zł? A. 6 mln zł B. 6 tys. zł C. 600 tys. zł D. 60 tys. zł

PODSTAWY BAZ DANYCH Wykład 3 2. Pojęcie Relacyjnej Bazy Danych

Temat: Do czego służą wyrażenia algebraiczne?

Trapez. w trapezie przynamniej jedna para boków jest równoległa δ γ a, b podstawy trapezu. c h d c, d - ramiona trapezu α β h wysokość trapezu

Załącznik nr 2 LISTA SPRAWDZAJĄCA DO WERYFIKACJI ADMINISTRACYJNEJ WNIOSKU O PŁATNOŚĆ

WYMAGANIA I KRYTERIA OCENIANIA DO EGZAMINU POPRAWKOWEGO MATEMATYKA. Zakresie podstawowym i rozszerzonym. Klasa II rok szkolny 2011/2012

a a a ; ; ; (1.2) przez [ a ij ], czyli zbiór elementów w i-tym wierszu i w j-tej kolumnie. Wymiary ( n m) stanowią stopień macierzy.

STYLE. TWORZENIE SPISÓW TREŚCI

WYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE IIc ZAKRES PODSTAWOWY I ROZSZERZONY

Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie

RÓWNOWAGA CHEMICZNA. Reakcje chemiczne: nieodwracalne ( praktycznie nieodwracalne???) reakcje wybuchowe, np. wybuch nitrogliceryny: 2 C H 2

Wymagania na poszczególne oceny z matematyki w Zespole Szkół im. St. Staszica w Pile. Kl. II poziom podstawowy

Legenda. Optymalizacja wielopoziomowa Inne typy bramek logicznych System funkcjonalnie pełny

Gdyńskim Ośrodkiem Sportu i Rekreacji jednostka budżetowa


Wykªad 8. Pochodna kierunkowa.

a) b) Rys Schemat ideowo-konstrukcyjny układu do przykładu 6.1 a) i jego schemat blokowy

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

PODSTAWY ALGEBRY MACIERZY. Operacje na macierzach

Algebra Boola i podstawy systemów liczbowych. Ćwiczenia z Teorii Układów Logicznych, dr inż. Ernest Jamro. 1. System dwójkowy reprezentacja binarna

Rys Wyrównanie spostrzeżeń zawarunkowanych jednakowo dokładnych C. KRAKOWIANY

Elementy znajdujące się w opakowaniu mogą różnić się w zależności od kraju, w którym zakupiono urządzenie. Przewód zasilający do gniazdka ściennego

Podstawy układów logicznych

4.3. Przekształcenia automatów skończonych

1 klasyfikacja trójkątów twierdzenie o sumie miar kątów w trójkącie

4. RACHUNEK WEKTOROWY

Technikum Nr 2 im. gen. Mieczysława Smorawińskiego w Zespole Szkół Ekonomicznych w Kaliszu

WYMAGANIA I KRYTERIA OCENIANIA Z MATEMATYKI W 3 LETNIM LICEUM OGÓLNOKSZTAŁCĄCYM

Spis treści: PODSTAWY TEORETYCZNE I CEL BADAŃ... 3 ANALIZA MATERIAŁU BADAWCZEGO... 6 TEST ZAINTERESOWAŃ NAUKAMI ŚCISŁYMI... 16

Klucz odpowiedzi do zadań zamkniętych i schemat oceniania zadań otwartych

i na matematycznej wyspie materiały dla ucznia, pakiet 89, s. KARTA:... Z KLASY:...

PRÓBNA MATURA Z MATEMATYKI Z OPERONEM LISTOPAD ,0. 3x 6 6 3x 6 6,

FUNKCJA KWADRATOWA. Moduł - dział -temat Lp. Zakres treści. z.p. z.r Funkcja kwadratowa - powtórzenie PLANIMETRIA 1

Wspomaganie obliczeń za pomocą programu MathCad

4.6. Gramatyki regularne

< f g = fg. f = e t f = e t. U nas: e t (α 1)t α 2 dt = 0 + (α 1)Γ(α 1)

WYMAGANIA EDUKACYJNE NIEZBĘDNE DO UZYSKANIA POSZCZEGÓLNYCH ŚRÓDROCZNYCH I ROCZNYCH OCEN KLASYFIKACYJNYCH Z MATEMATYKI POZIOM PODSTAWOWY KLASA 2

WYMAGANIA DLA UCZNIÓW KLAS DRUGICH LICEUM OGÓLNOKSZTAŁCĄCEGO

Szczegółowe wymagania edukacyjne z matematyki, klasa 2C, poziom podstawowy

Wyk lad 1 Podstawowe wiadomości o macierzach

Podstawa badania: VDE 0660 część 500/IEC Przeprowadzone badanie: Znamionowa wytrzymałość na prąd udarowy I pk. Ip prąd zwarciowy udarowy [ka]

Projektas Standartizuotų mokinių pasiekimų vertinimo ir įsivertinimo įrankių bendrojo lavinimo mokykloms kūrimas, II etapas

Analiza matematyczna i algebra liniowa

Zacznij tutaj. a b. Podręcznik szybkiej obsługi DCP-J140W OSTRZEŻENIE UWAGA OSTRZEŻENIE

Poniżej przedstawiony został podział wymagań na poszczególne oceny szkolne:

WYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE Ib ZAKRES PODSTAWOWY

H. Dąbrowski, W. Rożek Próbna matura, grudzień 2014 r. CKE poziom rozszerzony 1. Zadanie 15 różne sposoby jego rozwiązania

Macierzy rzadkie symetryczne

METODY KOMPUTEROWE 11

Laboratorium z metod numerycznych.

Transkrypt:

Semntyk i Weryfikj Progrmów - Lortorium Dziłni n ułmkh, krotki i rekory Cz. I. Dziłni n ułmkh Prolem. Oprowć zestw funkji o ziłń rytmetyznyh n ułmkh zwykłyh posti q, gzie, są lizmi łkowitymi i 0. Rozwiąznie Anliz prolemu wzory nlityzne + +,,, gzie 0, gy Ułmek jest lej zpisywny jko uporząkown pr (krotk) liz łkowityh, np. (,3) interpretujemy jko ułmek 3 Relizj progrmu Do relizji olizeń n lizh łkowityh nleży ołązyć iliotekę Int lo "Int"; Definij nzwy typu reprezentująego ułmek w posti pry liz jest nstępują:. type ulm int*int; (* ulmek jko pr (,), gzie <>0 *) Definij wyjątku ęzie potrzeny o relizji rozszerzeń prezentownyh funkji. Powinny one przerywć olizeni w przypku wystąpieni lizy 0 w minowniku ułmk (rugim elemenie pry). exeption DzieleniePrzezZero; Definij opertorów infiksowyh (eklrje zpowijąe). Określn jest łązność (lew), priorytet i sposó występowni opertorów pomięzy rgumentmi, zgonie ze stnrmi przyjętymi w mtemtye. infix 6 ++ (* stnrowy priorytet *) infix 6 -- infix 7 ** infix 7 // infix 4 Deklrj włśiwyh funkji relizująyh olizeni ez sprwzni poprwnośi rgumentu. fun (,) ++ (,) (* + *, *); - 1 -

fun (,) -- (,) (* - *, *); fun (,) ** (,) (*, *); fun (,) // (,) (,) ** (,); fun (,) (,) (* *); Olizeni sprwzjąe 1. Oliz wpisują ez użyi nwisów wrtość wyrżeni: 1/ + /3 * 3/4.. Oliz wrtość nstępująego wyrżeni: 1/ + /3 + 3/4. Uprszznie liznik i minownik Jk możn zuwżyć, w rezultie olizeń otrzymuje się wynik nie zwsze reprezentująy ułmek prwiłowy. Zrówno liznik jk i minownik możn pozielić przez njwyższy wspólny pozielnik. Do wyznzeni njwiększego wspólnego pozielnik służy pon niżej funkj NWD zrelizown n postwie lgorytmu Euklies: (* njwiekszy wspolny zielnik *) fun NWD(0,n) n NWD(m,n) NWD(n mo m, m); (* tylko lizy nturlne *) Skróenie wyniku wykonywne jest przez funkję i skro (zwróć uwgę n eklrję wyrżeń loklnyh w konstrukji let...in...en ). (* skroenie ulmk *) fun skro(l,m) let vl znk if l*m<0 then ~1 else 1 vl l s l vl m s m vl NWD(l,m) in (znk * (l iv ), m iv ) en; Poniższ funkj umożliwi przeksztłenie pry w elu jej lepszej wizulizji n opowijąy jej łńuh. (* zmin ulmk n string *) fun nstring(l,m) let vl znk if l*m<0 then "~" else ""(* eklrje wewnetrzne *) vl l s l (* wrt.ezw. liz nt. *) vl m s m vl NWD(l, m) in znk ^ (Int.toString(l iv )) ^ "/" ^ (Int.toString(m iv )) en; Pln testów. Powinno się sprwzić wszystkie głęzie, przez które przehozi progrm. Przypek Funkj Głąź Uwgi 1 3 4 5 6 ++ -- ** // nstring not p*q<0 - -

7 8 9 nstring NWD NWD p*q<0 (0,n) (m,n) Znk ujemny Wrtość końow Wywołnie rekursywne Testy Dl przeprowzeni testów zeklrowno w ułmki : vl q1 (~,3); vl q (5,~10); Przykłowe wywołni zwrte są w teli. Nleży sprwzić poprwność rezulttów. Lp. Przypek Test Spoziewny wynik 1 3 4 5 6 7 1 3 4 5 6 7 vl q3 q1 ++ q q1 -- q vl q4 q **q3 vl q5 q4 // q3 q1 q nstring q4 nstring q5 vl q3 (~35,30): int * int vl it (~5,30): int * int vl q4 (~175,~300): int * int vl q5 (~550,10500) int * int vl it flse: ool vl it 7/1 : string vl it ~1/ : string Cz. II. Rekory Prolem. Zrelizowć rekor zwierjąy zrówno ne smohou (mrk, roznik, pojemność) jk i kierowy (imię, res i rok urozeni). 1. Deklrj typu rekoru zwierjąego ne smohou. type smoho {mrk : string, roznik : int, pojemnos : rel}; Przykłowe wrtośi: vl sien { mrk "FIAT", roznik 1997, pojemnos 1586.0}; vl mluh { mrk "FIAT", roznik 1987, pojemnos 648.0}; Funkj sprwzją, zy pojz jest młolitrżowy (ozyt pol rekoru) fun mlolitrzowy(x:smoho) #pojemnos x <900.0; Przykłowe wywołnie: mlolitrzowy mluh; Ozyt informji z pominięiem niepotrzenyh nyh: (* ignorownie zenyh pol *) vl {roznik,...} mluh;. Rekor zwierjąy ne o osoie: type oso {imie : string, urozony:int, res:string}; - 3 -

Przykłowe wrtośi (kolejność nie jest istotn): vl kier1 {imie"am", res "Rzeszow", urozony 1960}; vl kier {imie"olek", res "Jslo", urozony 1986}; Funkj porównują, zy pierwszy kierow jest strszy: fun strszy(k1:oso,k:oso) #urozony k1 < #urozony k; 3. Włśiwe ne rejestryjne rekor zwierjąy zeklrowne wyżej typy nyh. type rej {pojz : smoho, posiz: oso}; Wrtośi zmiennyh i przykłowy ozyt nyh z wewnętrznego rekoru: vl sm1:rej { pojz sien, posiz kier1}; vl sm:rej {pojz mluh, posiz kier}; (* ozyt wrtośi z wewnetrznego rekoru *) # roznik (#pojz sm1); Porównnie pojemnośi pojzów: fun wiekszpojemnos( s1: rej, s :rej) # pojemnos (#pojz s1) > # pojemnos (#pojz s1); - 4 -

Zni o smozielnego rozwiązni pozs zjęć ( o wyoru przez prowząego) 1. Zmoyfikuj funkje operująe n ułmkh tk, y wykluzły wystąpienie zer w minowniku. Wskzówk: zstosuj instrukję if...then...else i zstosuj wyjątek exeption DzieleniePrzezZero.. Zeklruj typ nyh umożliwijąy reprezentję ułmków w posti rekorów. Poj efinije opowienih funkji. 3. Zmoyfikuj funkje operująe n ułmkh tk, y nstępowło kżorzowe skrnie wynikowego ułmk (liznik i minownik). Użyj funkji skro. 4. Ułmki: zmoyfikuj funkję nstring tk, y ułmek ył wyświetlny w posti włśiwej, zyli zęść łkowit i ułmkow. Wskzówk: po wyznzeniu wrtośi ezwzgl. liznik i minownik wyziel zęść łkowitą przez zielenie iv i pozostły liznik reszt z zieleni, opertor mo. 5. Zeklruj i przetestuj ziłnie funkji rekurenyjnej sum typu : int*int int, gzie sum(m,n)m+(m+1)+(m+)+...+(m+(n-1))+(m+n), m 0, n 0. Wsk.: zpisz w wrunki l (m,0) i (m,n). 6. Zeklruj smozielnie infiksową funkję potęgowni ^^, wskzówk: zstosuj w wrinty - m^^n m * m^^(n-1), m^^01 7. Opruj zestw funkji rytmetyznyh l liz zespolonyh (++,--,**,// - zo. Wykł Przykły progrmów). Sprwź ziłnie tyh funkji n kilku przykłh. Uzupełnij zestw o funkję sqrt olizjąą pierwistki lizy zespolonej A+j B. Wsk.: Kży pierwistek +j musi spełnić równnie (+j ) (+j )(A+j B) 8. Npisz funkję olizjąą ułmek o potęgi łkowitej nieujemnej n. Npisz funkję pomonizą ponosząą lizę o potęgi z wom wrintmi: - m**n m * m**(n-1), m**01 9. ) Zeklruj i przetestuj ziłnie funkji test:int*int*int ool, tką że niepozielne(,) n niepozielne( + 1,)... n niepozielne(,) test(,,) l jest wrtośią logizną powyższego wyrżeni. Ztem test(,,) sprwz, zy lizy w przezile (,) nie są pozielne przez. ) Zeklruj infiksowy opertor równowżnośi i sprwź jego ziłnie. 10. Zeklruj i przetestuj ziłnie funkji pierwsz: int ool, gzie pierwsz (n)true wtey i tylko wtey, gy n jest liz pierwszą. Wsk.: Liz pierwsz to tk, - 5 -

której pozielnikmi są tylko 1 i on sm. Skonstruuj funkję pomonizą pierwsz z wom wrintmi (końząym rekurenję) pierwsz (n,) i pierwsz (n,k) wywoływną przez zsnizą: fun pierwsz n pierwsz' (n,n-1); 11. Zeklruj i przetestuj ziłnie funkji pozielnodo(o,o,zielnik): int*int*int int, wyszukująej njmniejszą lizę z przeziłu o...o pozielną przez zielnik. 1. Utwórz nstępująe funkje: 1) mnożeni ułmk przez lizę; ) zieleni ułmk przez lizę; 3) pierwistkowni ułmk. Npisz funkję zwrjąą owrotność ułmk. 13. Zeklruj i przetestuj ziłnie funkji wystoigo:string*int*hr int, gzie wystoigo (str,i,h)liz występowni znku h n pozyjh j w stringu str, gzie j i. Wsk.: Funkj l i size str powinn zwrć 0. Zstosuj String.su. 14. Zeklruj funkję tylkomlelitery: string->ool jąą, zy wszystkie znki w ponym stringu są młymi litermi. N przykł: tylkomlelitery true tylkomlelitery A flse Wsk.: Wykorzystj funkję iliotezną String.su. Npisz funkję pomonizą tylkomle(st,i) wywoływną przez zsnizą funkję: tylkomlelitery(st) tylkomle(st, size st 1). 15. Zrelizuj funkję mrn wykonująą mnożenie liz łkowityh poprzez rekurenyjne ownie wykorzystują zleżnośi: m*n m*0 0; l n0 m*n m*1 m; l n1 m*n m+ m*(n-1) l n>0 Sprwź jej ziłnie l otnih i ujemnyh rgumentów. Spróuj zmoyfikowć funkję wzorują się n efiniji funkji silni. 16. Zeklruj kilk rekorów zwierjąyh ne osoy: imię, nzwisko i numer telefonu. Npisz funkję sprwzjąą, zy wie osoy mją to smo nzwisko. 17. Zeklruj kilk rekorów zwierjąyh ne książki: tytuł, nzwisko utor, rok wyni, en. Npisz funkję zmienijąą enę w ponym rekorzie n nową, jeżeli poprzenio ył wpisn wrtość większ niż pon. - 6 -