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;
}