BME Villamosmérnöki és Informatikai Kar
Műszaki informatika szak
Nappali tagozat
2003/2004. tanév, őszi félév

Deklaratív programozás

1. SML kis házi feladat

2003. november 17.

A kis házi feladat beadása nem kötelező.

A feladat

Nevezzünk rámpának egy balról jobbra haladva egyesével növekvő, legalább kételemű számsorozatot.

Írjon SML függvényt nemRampa néven, amelynek

  1. egyetlen argumentuma egy egészekből álló lista
  2. eredménye az argumentumban található rámpához nem tartozó egészek száma


	(*
	nemRampa : int list -> int
	nemRampa xs = a rámpához nem tartozó egészek száma xs-ben
	*)
Segédfüggvényt (fejkommenttel!) definiálhat.

Példák


- nemRampa([]);
> val it = 0 : int
- nemRampa([1]);
> val it = 1 : int
- nemRampa([3,1]);
> val it = 2 : int
- nemRampa([2,3,1]);
> val it = 1 : int
- nemRampa([~1,0,2,3,1]);
> val it = 1 : int
- nemRampa([~1,1,2,3,1]);
> val it = 2 : int
- nemRampa([1,2,3,5,6]);
> val it = 0 : int
- nemRampa([1,2,3,5,6,8]);
> val it = 1 : int
- nemRampa([1,2,7,3,5,6,8]);
> val it = 3 : int
- nemRampa([8,1,2,7,3,5,6,8]);
> val it = 4 : int

Beadás, tudnivalók

A programot az Elektronikus Tanársegéd segítségével Weben keresztül lehet beadni, a HF beadás menüpont alatt. Ez az első SML kis házi feladat, ezért khf-ml1.sml néven kell beküldeni a megoldást. A névben meg kell különböztetni a kis- és nagybetűket.

A programok készülhetnek MS DOS vagy MS Windows alatt is, de Linux operációs rendszer alatt is működniük kell. A beadási határidő november 25., kedd 24:00.

A vizsgaosztályzat megállapításakor a határidőre beadott, helyesen megoldott kis házi feladatért plusz 1 pont jár (a 100 pontból).