En este post crearemos un mismo programa usando lenguajes como Java, Elixir, Erlang, Javscript, Perl, Python y otros más.
Ejercicio. Crear tres funciones:
- Función 1 para calcular 1.8 * numero, donde numero es la variable con el valor que introduce el usuario.
- Función 2 para calcular 1000 + (x + y), donde x & y son las variables que contendrán los valores que introducirá el usuario.
- Función 3 para calcular la suma de x+y+z
Código en Perl
funciones.pl
#!/usr/bin/perl use strict; use warnings; use constant MAX => 1000; use constant VALOR => 1.8; my($x,$y,$z); $x=3; $y=2; $z=4; print "Datos:\nx=",$x,", y=",$y,", z=",$z,"\n"; sub func1{ return VALOR * $_[0]; } sub func2{ return MAX +($_[0]+$_[1]); } sub func3{ return $_[0]+$_[1]+$_[2]; } print "Resultado 1: ",func1($x),"\n"; print "Resultado 2: ",func2($y,$z),"\n"; print "Resultado 3: ",func3($x,$y,$z),"\n";
Código en Erlang
funciones.erl
-module(funciones). -author("Codemonkey Junior"). -version("1.0.0"). -export([func1/1,func2/2,func3/3]). -define(MAX,1000). -define(VALOR,1.8). func1(X)-> X*?VALOR. func2(X,Y)-> ?MAX +(X+Y). func3(X,Y,Z)-> X+Y+Z.
Funcionando:
1> c(funciones). {ok,funciones} 2> funciones:func1(3). 5.4 3> funciones:func2(3,9). 1012 4> funciones:func3(3,9,9). 21 5>
Código en Elixir
funciones.exs
defmodule Constante do def mMAX, do: 1000 def mVALOR, do: 1.8 end x=2 y=4 z=5 IO.puts "Datos:\n x= #{x}, y= #{y}, z= #{z}" func1 = fn (num) -> Constante.mVALOR*num end func2 = fn (a,b) -> Constante.mMAX+(a+b) end func3 = fn (a,b,c) -> a+b+c end result1 = func1.(x) result2 = func2.(z,y) result3 = func3.(x,y,z) IO.puts "Resultado 1: #{result1}" IO.puts "Resultado 2: #{result2}" IO.puts "Resultado 3: #{result3}"
Código en C#
Funciones.cs
using System; public class Funciones { public static readonly int MAX = 1000; public static readonly double VALOR = 1.8; public static double Func1(int num) { return VALOR * num; } public static int Func2(int x, int y) { return MAX +(x+y); } public static int Func3(int x, int y, int z) { return x+y+z; } public static void Main() { Console.WriteLine("Resultado 1: {0}",Func1(3)); Console.WriteLine("Resultado 2: {0}",Func2(4,7)); } }
Código en C
funciones.c
#include<stdio.h> #define VALOR 1.8 #define MAX 1000 int func1(int); int func2(int,int); int func3(int,int,int); int func1(int num){ return VALOR*num; } int func2(int x,int y){ return MAX +(x+y); } int func3(int a,int b,int c){ return a+b+c; } int main(int argc, char *argv[]){ printf("Resultado 1:%d\n",func2(4,3)); printf("Resultado 2:%d\n",func1(2)); printf("Resultado 3:%d\n",func3(2,5,6)); return 0; }
Enlaces:
https://es.wikipedia.org/wiki/Kata_(programaci%C3%B3n)