6317101593

6317101593



zapisany. Wskazówka: funkcja intlnstr będzie posiadała 4 argumenty. Jednym z nich będzie flaga (typu bool) informująca o tym, że rejestr był już zapisywany.

29.    Zmodyfikuj funkcję sprawdzającą poprawny tak, aby precyzyjnie informowała (przynajmniej dla jednego wariantu), która instrukcja jest błędna i z jakich powodów. Zastosuj funkcj e pomocnicze:

fun wypisz_stos ([]:stack) = "nil"A"\n"

| wypisz_stos (xl::xs) = (Real.tostring xl)A" "Awypisz_stos(xs);

fun wypisz_instr ( PUSH x) = "PUSH "A(Real.tostring x)

|    wypisz_instr    (    AA )    =    "    aa "

j    wypisz_instr    (    ADD    )    =    "    ADD    "

j    wypisz_instr    (    SUB    )    =    "    SUB    "

|    wypisz_instr    (    MUL    )    =    "    MUL

30.    Zdefiniuj wielowariantową funkcję intlnstr (drugim argumentem jest dowolna lista il)

za pomocą konstrukcji case. Do wyodrębniania elementów listy użyj instrukcji postaci let val (xl::x2::xs)    = il in...end; Uwzględnij generowanie wyjątków przy

nieprawidłowych wywołaniach funkcji.

31.    Zdefiniuj wielowariantową funkcję wypisz_instr za pomocą konstrukcji case.

Zmodyfikuj intpProg tak, aby zliczała wykonane instrukcje. Teraz funkcja powinna zwracać parę.

32. Zadeklaruj funkcję usunNieparzyste, taką że:

usunNieparzyste^, x2/ x3, x4/ ... ] = [x2, x„, ... ]

33. Podaj deklarację funkcji typu int list -> int option odszukującej najmniejszy element z listy liczb całkowitych.

34. Podaj deklarację funkcji typu int list -> int option odszukującej największy element z listy liczb całkowitych.

35. Zadeklaruj funkcję połącz łączącą elementy listy w pary, tzn. połącz [x1,x2/x3/x4/...]= [(xx2), (x3,x4),...].

36. Zaproponuj deklarację funkcji length wyznaczającej długość listy.

37. Zadeklaruj funkcję krotnosc(x, ys), która podaje ile razy element x występuje na liście ys.

38. Napisz funkcję sprawdzającą, czy na podanej liście występują powtórzenia elementów. Działanie zaprezentuj na przykładzie.

39. Zrealizuj funkcję biblioteczną map typu: ('a -> 'b)->'a list -> 'b list wywołującą



Wyszukiwarka

Podobne podstrony:
Image055 zerojedynkowe zmiennych niezależnych. Ostatnia kolumna jest przeznaczona do zapisania warto
Image056 Jeśli funkcja zależy od wielu argumentów, to tworzenie postaci kanonicznej jest pracochłonn
MG 68 Przeciążone operatory i funkcje konwersji Op«Kj* Typ argumentu a Typ argumentu b Typ
skanuj0086 (34) PHP i MySQL dla każdegoArgumenty funkcji raz jeszczeSposoby przekazywania argumentów
Slajd30 (43) Stwierdzenie to można zapisać jako funkcję A, E i C, f(A, B, C). Przykładowo dla punktó
ETŚT  i.oo %..... Przebiegi funkcji F(t), f(t), R(t), X(t) gdy zmienna T posiada rozkład wykładnic
Af f(x + h)-f(x) Ax ’ h iloraz różnicowy funkcji / w punkcie x przy przyroście argumentu Ax=h / (*
11194608y6003137136136T77931889166220222 o 4 4 • <*!**■> implementację funkcji /. ktdrn Pojmu

więcej podobnych podstron