domingo, 24 de octubre de 2010

Lenguajes funcionales

Entrada para la materia de Lenguajes de Programación
Y de nuevo R

Hacer un programa que muestre los N primeros términos de la serie. 1, 2, 4, 8, 16, 32, 64, 128, ? N es un valor que va ha de entrar desde el teclado.

En este programa hice uso del for, if/else, pero no es igual que mis programas hechos anteriormente ya que este lo realicé en un archivo.R es decir, fuera del terminal

Primero que nada abrí mi archivo en emacs que llamé serie.R y escribí:

n <- scan() #leo cuantos numeros se quieren ver de la serie
numeros[1]<-1
for(i in 1:n){ #estructura for
if(i == 1){ numeros[i] <- 1} #estructura if
else {numeros[i] <- numeros[i-1]*2}
}

Ahora guardo mi archivo y escribo R en el terminal, luego escribo source("serie.R") para ejecutar las ordenes que vienen en ese archivo:
> source("serie.R")
1: 10
2:
Read 1 item
Luego se van a escribir las salidas en un archivo aparte con la extensión.lis y enseguida escribo las variables que quiero que aparezcan en el archivo (yo escribí números):
> sink("serie.lis")
> numeros

y este es mi archivo serie.lis:

El ejercicio lo obtuve de una página en la que proponen ejercicios simples en C.

Espero que les sea útil esta entrada, batalle en hallar como se podían escribir las instrucciones en un archivo.r, es decir con la forma de ejecutarse, si alguien encontrara otra forma más simple agradecería sus comentarios, saludos a todos.

1 comentario: