1. Classificare le sottofasi del progetto di un AdtNel realizzare un nuovo ADT si seguono le tre fasi di stesura delle proprietà stesura della specifica implementazione.
Classifica l'appartenenza ad esse di ciascuna delle seguenti sottofasi:
Codifica | Dominio | Esempi d'uso | Insieme delle operazioni | Tipologia degli elementi | Interfaccia | Prerequisiti | Rappresentazione fisica | Effetti | Scelta del linguaggio | Struttura relazionale | |
(Consulta gli appunti del prof. oppure il testo di Cupini-Ghesini)
C. Codifica | A. Dominio | B. Esempi d'uso | A. Insieme delle operazioni | A. Tipologia degli elementi | B. Interfaccia | B. Prerequisiti | C. Rappresentazione fisica | B. Effetti | C. Scelta del linguaggio | A. Struttura relazionale | |
2. Specifica del Reciproco di un razionaleCompleta le 4 parti della specifica dell'operazione "reciproco di un razionale"
| Interfaccia |
| Effetti |
| Prerequisiti |
| Esempi d'uso |
Interfaccia | Procedure RecR (Var R: Raz); {un parametro in/out…} |
---|
Effetti | restituisce in R il suo reciproco |
---|
Prerequisiti | R <> 0, altrimenti divisione per zero! |
---|
Esempi d'uso | se A = 2/3 allora dopo RecR(A) risulta A = 3/2 |
---|
3. MyNandA partire dalle operazioni presenti nella specifica di un ADT LOGICO: myAnd(), myOr(), myNot(), myXor() realizza la procedura o funzione myNand() A Nand B = Not (A And B)... = MyNot(MyAnd(A, B))
Function myNand(A, B: Logico): Logico;
Begin
myNand:=myNot(myAnd(A, B));
End; |
4. Palindroma?A partire dalle operazioni presenti nella specifica di un ADT STRINGA: lun(S), svuota(S), appendi(S, c), cancella(S, i), preleva(S, i), uguale(S, T) realizza la procedura o funzione La stringa S è palindroma? (aba, a, abba, …) Sia L la lunghezza di S, allora deve essere S(1)=S(L), S(2)=S(L-1), S(3)=S(L-2), ... finché non si raggiunge la metà della stringa.
Function Palindroma(S: Stringa): Boolean;
Var
I, L: Integer; {non sono strettamente necessarie}
begin {ma semplificano il codice... }
L:=lun(S);
I:=1;
While(I < L) And (Preleva(S, I) = Preleva(S, L)) Do
begin
Inc(I);
Dec(L);
end;
Palindroma:=(I >= L);
End; |
|