---
name: verifica-in-range
description: Usare quando l'utente deve verificare se un numero è compreso in un range di valori (inclusivo).
---

# Verifica In Range

Questa skill verifica se un numero è compreso tra un valore minimo e massimo, inclusivi. Formula: min ≤ numero ≤ max. Utile per validazione di input numerici, filtri e condizioni, algoritmi con limiti, calcoli con intervalli.

## Procedura

1. **Verificare il range**: Usare `verificaInRange(numero, min, max)`
2. **Passare i parametri**: numero, min e max devono essere numeri
3. **Gestire il risultato**: Restituisce true o false

## Regole

- `numero`, `min` e `max` devono essere numeri (interi o decimali)
- Il range è **inclusivo**: sia min che max sono compresi
- Restituisce true se min ≤ numero ≤ max
- Restituisce false altrimenti
- L'ordine dei parametri è: numero, min, max

## Esempi

### Esempio 1: Verificare se un numero è in un range

```javascript
const inRange = verificaInRange(5, 1, 10);
console.log(inRange); // true (1 ≤ 5 ≤ 10)
```

### Esempio 2: Validazione di input

```javascript
const eta = 25;
const adult = verificaInRange(eta, 18, 99);
console.log(adult); // true
```

### Esempio 3: Filtrare numeri in un range

```javascript
const numeri = [5, 15, 25, 35, 45];
const inRange = numeri.filter(n => verificaInRange(n, 10, 30));
console.log(inRange); // [15, 25]
```

### Esempio 4: Verificare limiti inclusivi

```javascript
console.log(verificaInRange(10, 1, 10));  // true (limite inferiore incluso)
console.log(verificaInRange(1, 1, 10));   // true (limite superiore incluso)
console.log(verificaInRange(15, 1, 10));  // false (fuori range)
```

### Esempio 5: Range con numeri negativi

```javascript
console.log(verificaInRange(-5, -10, -1)); // true
console.log(verificaInRange(0, -5, 5));    // true
console.log(verificaInRange(10, -5, 5));   // false
```

## Dettagli Aggiuntivi

- **Formula**: min ≤ numero ≤ max
- **Implementazione**: `numero >= min && numero <= max`
- **Efficienza**: O(1) - tempo costante
- **Casi limite**:
  - verificaInRange(5, 1, 10) → true
  - verificaInRange(15, 1, 10) → false
  - verificaInRange(10, 1, 10) → true (inclusivo)
  - verificaInRange(1, 1, 10) → true (inclusivo)
- **Tipi**: Funziona con numeri interi e decimali
