El programa en Haskell

module Main where
import System.IO
import Text.Printf

main = do
         a <- pideLimite "inferior" 0   -- rechaza a < 0
         b <- pideLimite "superior" a   -- rechaza b < a
         printf "Suma de raíces de %f a %f: %f.\n"
                a b $ sumaSerieRaices a b
     
sumaSerieRaices a b = sum [sqrt ns | ns <- [a..b]]

pideLimite tipo minimo = do
                           temp <- prompt $ "Introduzca el límite " ++ tipo ++ ": "
                           if temp >= minimo      -- si es mayor o igual al minimo
                                 then return temp -- devuelve el valor introducido
                                 else do limiteErroneo minimo -- o recuerda el mínimo
                                         pideLimite tipo minimo -- y pide otro número

prompt s = putStr s >> hFlush stdout >> readLn :: IO Float

limiteErroneo = printf "El número no puede ser menor a %f\n\n"

El programa en Python

from math import *

# Pedir límites inferior y superior.
a = int(raw_input(’Límite inferior:’))
while a < 0:
    print ’No puede ser negativo’
    a = int(raw_input(’Límite inferior:’))

b = int(raw_input(’Límite superior:’))
while b < a:
    print ’No puede ser menor que %d’ %a
    b = int(raw_input(’Límite superior:’))

# Calcular el sumatorio de la raíz cuadrada de i para i entre a y b.
s = 0.0
for i in range(a, b+1):
    s += sqrt(i)

# Mostrar el resultado.
print ’Sumatorio de raíces’,
print ’de %d a %d: %f’ %(a, b, s)

El programa en C

#include <stdio.h>
#include <math.h>

int main(void)
{
  int a, b, i;
  float s;

  /* Pedir límites inferior y superior. */
  printf("Límite inferior:");
  scanf("%d", &a);
  while (a < 0) {
    printf("No puede ser negativo\n");
    printf("Límite inferior:");
    scanf("%d", &a);
  }

  printf("Límite superior:");
  scanf("%d", &b);
  while (b < a) {
  printf("No puede ser menor que %d\n", a);
  printf("Límite superior:");
  scanf("%d", &b);
  }

  /* Mostrar el resultado */
  printf("Sumatorio de raíces ");
  printf("de %d a %d: %f\n", a, b, s);

  return 0;
}