-
Buenas chicos.. necesito que me ayudeis a compilar 4 funciones bajo ADA para HASKEL.. no tengo ni idea de como hacerlas.
Son:
fSUma
fProducto
fNumeroCifrasPares
fSumaCifrasParesLas 2 primeras tratan de sumar o multiplicar todas los digitos de la cifra que le meta:
Ej: 355 –> 3 + 5 + 5 = 13 o 3 * 5 * 5 = 75
La 3ª trata de que me dige cuantos digitos de la cifra son pares:
EJ: 4576 --> el 4 y 6 pro lo tanto 2
Y la 4ª es para que me sume esos digitos de la cifra que sean pares
Alguna sabe? :nono:
Saludos
-
with ada.integer_text_io; use ada.integer_Text_io;
procedure fsuma is
n,m: integer;
begin
put ("introduce un numero: ");
m:=0;
while not end_of_line loop
get(n);
m:=m+n;
end loop;
new_line;
put ("la suma de las cifras es: ");
put (m);
end fsuma;with ada.integer_text_io; use ada.integer_Text_io;
procedure fproducto is
n,m: integer;
begin
put ("introduce un numero: ");
m:=1;
while not end_of_line loop
get(n);
m:=m*n;
end loop;
new_line;
put ("el producto de las cifras es: ");
put (m);
end fproducto;with ada.integer_text_io; use ada.integer_Text_io;
procedure fnumerodecifraspares is
n,m: integer;
begin
put ("introduce un numero: ");
m:=0;
while not end_of_line loop
get(n);
if mod 2 (n)=0 then –esta creo que era así, no me acuerdo mu bien
m:=m+1;
end if;
end loop;
new_line;
put ("En tu numero hay: ");
put (m);
put ("cifras pares.");
end fnumerodecifraspares;with ada.integer_text_io; use ada.integer_Text_io;
procedure fsumacifraspares is
n,m: integer;
begin
put ("introduce un numero: ");
m:=0;
while not end_of_line loop
get(n);
if mod 2 (n)=0 then
m:=m+n;
end if;
end loop;
new_line;
put ("La suma de las cifras pares es: ");
put (m);
end fsumacifraspares;Bueno, pues algo así creo que funcionaria (de lo que no estoy muy seguro es de que el mod funcionara así, pero bueno... Habrá más maneras de hacerlo, pero esta es la primera que se me ha ocurrido.
1 saludo
-
:muerto:
FLIPA:. ni guarra de nada de lo que has puesto
Yo debo hacerlo asi:
fSuma :: Integer -> Integer
–PRE
--fSuma
--POST
fSuma(num) = ....Y asi con las 4... con funciones matematicas... con
div
,mod
.. con otherwise..Vamos algo simple.. te juro que eso ni lo entiendo... :nono:
-
Mmmm, igual no estamos hablando de lo mismo
Lo que tu dices que es? para hacer un package o algo o es q… joder, no entiendo nada :muerto:
Bueno, es igual. A ver si alguien te puede ayudar con lo que pides pues -
¿pero como que "ADAgide para HASKELL"?
el adagide es un editor de ADA, puedes hacer programas de haskell usando cualquier editor…
la 1ª:
355rem
10 + (355div
10)rem
10 + ((355div
10)div
10)rem
10 = 5 + 5 + 3suma (num) = if num == 0 then 0 else num
rem
10 + suma (numdiv
10)la 4ª:
sumapares (n) = if n == 0 then 0
else if even (nrem
10) then (nrem
10) + sumapares (ndiv
10)
else sumapares (ndiv
10)la 3ª hazla tú, que es muy fácil teniendo la 4ª
para empezar con haskell lo mejor es que te mires el prelude.hs y hagas pruebecillas. tu no serás de la FI, ¿no?