Etiquetas

BIENVENIDOS. AQUI ENCONTRARAS DIFERENTES CONTENIDOS

Todos como hijo de la tierra estamos destinados a protegerla. valora cada espacio en el que habitats, siembra conciencia en los demas y haz parte del cambio.

PIENSA

"La tierra proporciona lo suficiente para satisfacer las necesidades de cada hombre, pero no la codicia de cada hombre"-Gandhi.

ACTUA

"Todo lo que le ocurra a la tierra, le ocurrirá a los hijos de la tierra" Jefe indio Seattle.

ACTUALIDAD AMBIENTAL

"Temas relacionados con las problematicas ambientales del dia a dia - Distintos puntos de vistas."

CONCIENCIA

"El que nos encontremos tan a gusto en plena naturaleza proviene de que ésta no tiene opinión sobre nosotros - Jordi Bigues."

INGENIERIA AMBIENTAL

"Teorias, modelacion ambiental, articulos, alternativas de desarrollo sostenible - Desde la academia."

ARTICULOS ALGORITMO Y PROGRAMACION

Escritos sobre temas de programacion basica.

MUSICA

"Remixes, mix, remix, loops, y todo tipo de genero - DJ EL ESPECTRO."

INNOVACION Y TECNOLOGIA

"ESCRITOS Y DOCUMENTALES CON TEMAS QUE NOS INTERESAN SOBRE EL FUTURO DEL MUNDO TECNOLOGICO - ENLACES DE INTERES."

TEMAS DE INTERES GENERAL

"Diferentes tematicas que despiertan curiosidades - ENLACES DE INTERES."

miércoles, 29 de abril de 2015

9.Ciclo para (FOR)

Como hemos visto en el artículo anterior, los ciclos, pueden presentar estructuras complejas así como simples dependiendo del problema que se pretenda programar, también se evidencia que dentro de un mismo ciclo podemos encontrar otras estructuras de algoritmo que a esto también le podemos llamar ciclo anidados ya que dentro del mismo algoritmo en ciclos encontramos otros ciclos inmersos con acumuladores y contadores guiados por un controlador. Para continuar con los ciclos en este escrito estudiaremos el ciclo para.
El ciclo for o para en español, es un ciclo repetitivo donde el usuario decide cuantas veces quiere que repita una pregunta en el algoritmo. Es uno de los más usados para repetir una secuencia de instrucciones, sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instrucción simple o compuesta.
Este ciclo al igual que los demás, permite ejecutar repetidas veces una instrucción o un grupo de ellas, pero a diferencia de otras instrucciones de repetición, esta maneja el valor inicial, el valor de incremento o decremento y el valor final de la variable de control como parte de la instrucción. Cuando al ejecutar un algoritmo se encuentra una instrucción para la variable de control (contador) toma el valor inicial, se verifica que el valor inicial no sobrepase al valor final y luego se ejecutan las instrucciones del ciclo. Al encontrar la instrucción fin para, se produce el incremento y se vuelve a verificar que la variable de control no haya superado el límite admitido, y se vuelven a ejecutar las instrucciones que están dentro del ciclo, y así sucesivamente tantas veces como sea necesario hasta que supere el valor final establecido. El ciclo para termina en el momento en que la variable de control (Contador) sobrepasa el valor final; es decir, que la igualdad está permitida y las instrucciones se ejecutan cuando el contador es igual al valor final

Ilustración 1 diagrama de flujo ciclo mientras (tomado de http://www.virtual.unal.edu.co)
De la definición de ciclo para se puede inferir que el bloque de acciones no se ejecuta alguna vez si el límite inferior es mayor al límite superior y que si el límite superior es mayor o igual al límite superior, el número de veces que el conjunto de acciones se ejecutará es igual a uno más el límite superior menos el límite inferior. La forma general del ciclo para es la siguiente: Donde <variable> es la variable contadora del ciclo, la cual debe ser de tipo entero, <lim inf >es el valor inicial que toma la variable contadora, <lim sup> es el valor final que puede tomar la variable contadora y <bloque>es el bloque de acciones que es ejecutado en cada iteración, mientras la variable contadora no sobrepase el límite superior. En cada iteración, después de ejecutar el bloque, la variable contadora es incrementada (1).[1]
A continuación revisaremos un ejemplo de cómo es un ciclo para simple. Un algoritmo que permita ingresar N datos correspondientes al género de N, número de personas y determine el porcentaje de hombres y mujeres que hay.
INICIO
ENTEROS:N,i,SEXO
REALES:M,F
ESCRIBA(“DIGITE N° DE PERSONAS”)
LEA(N)
M=0
F=0
PARA(i,1,N,1)
ESRIBA(“DIGITE SEXO 1 MASCULINO, 2 PARA FEMENINO”)
LEA(SEXO)
SI (SEXO=1)
M=M+1
DE_LO_CONTRARIO
F=F+1
FIN (PARA)
F=(F*100)/N
M=(M*100)/N
ESCRIBA(“EL PORSENTAJE DE MUJERES ES: “,F)
ESCRIBA(“EL PORSENTAJE DE HOMBRES ES: “,M)
FIN
Si quiere ver algoritmos más interesantes, estructuras más complejas y así como sus pruebas de escritorio te invito a que te pases por esta página.
http://www.virtual.unal.edu.co/cursos/ingenieria/2001839/modulo3/cap_04/leccion_4.html

Chequéate el siguiente video para que aprendas a ejecutar ciclos para en Matlab.

 Camilo Borja © 2015 All rights reserved.


Fuentes consultadas

Programación de computadoras. ciclo para. dirección nacional de innovación académica. UN.2015. http://www.virtual.unal.edu.co/cursos/ingenieria/2001839/modulo3/cap_04/leccion_4.html

The Lantrox. Programando en Matlab | Bucle For. 2014. https://www.youtube.com/watch?v=ISs5PSjmPHg






[1] Tomado: http://www.virtual.unal.edu.co/cursos/ingenieria/2001839/modulo3/cap_04/leccion_4.html

domingo, 19 de abril de 2015

8. Análisis sobre el ciclo mientras con introducción a los anidados

Siguiendo con la estructura del ciclo mientras, debemos de tener en cuenta que el algoritmo debe de seguir una secuencia que es controlada a través de los acumuladores y contadores, en este escrito se enfocara a cómo desarrollar  estas estructuras dentro del algoritmo ya que es muy importante comprender el concepto de: Contador = contador + constante  y acumulador = acumulador + variable si nos devolvemos  a los artículos anterior definimos que era una variable que es un espacio de memoria que se reserva en la computadora cuyo contenido puede cambiar a lo largo de la ejecución de un programa, así pues, un contador es un tipo de variable que incrementa o disminuye su contenido en un valor constante. Cuando decimos que incrementa significa que estamos sumando por  ejemplo: numero = numero + 1 como se observa, a la variable número, se le está incrementando un valor constante (1), lo que significa que su contenido le sumas el valor y se vuelve a guardar en la misma variable. Observando las estructuras de los algoritmos se pueden identificar cuándo una variable es un contador; ahora cuando decimos disminuye significa que estamos restando, por ejemplo: cantidad = cantidad - 10 como se observa  a la variable cantidad, le estás disminuyendo su un valor constante (10), lo que significa, que al contenido se le resta el valor y se vuelve a guardar en la misma variable. El valor con el que se inicie el contador, dependerá del problema a resolver.
Un acumulador es una variable que incrementa o disminuye su contenido en cantidades variables; Cuando decimos “incrementa” significa que estamos sumando, por ejemplo: sueldo= sueldo+ comisiones Como puedes observar, a la variable sueldo, le estás incrementando una cantidad variable, es decir, a su contenido le sumas la cantidad y se vuelve a guardar en la misma variable
Cuando decimos “disminuye significa que estamos restando, por ejemplo total = total - deuda Como puedes observar, a la variable total, le estás disminuyendo una cantidad variable, es decir, a su contenido le restas el valor y se vuelve a guardar en la misma variable; El valor con el que se inicie el acumulador, dependerá del problema a resolver
Para verificar si un algoritmo en ciclos no contiene errores es muy importante realizar una prueba de escritorio, donde se identificará los contadores, acumuladores así como variables auxiliares dentro del algoritmo, La prueba de escritorio no es más que efectuar un proceso de simulación con el algoritmo desarrollado para ver qué haría la computadora. Este trabajo se realiza en base a una tabla cuyos encabezados son las variables que se usan en el algoritmo y debajo de cada una de ellas se van colocando los valores que van tomando, paso a paso y siguiendo el flujo indicado por el algoritmo, hasta llegar al final. Si quiere aprender a realizar pruebas de escritorio efectivas pásate por esta página http://aztlek.org/2014/08/11/como-hacer-una-prueba-de-escritorio/ del profesor aztlek.
Además del análisis anterior se va entrar un poco en la introducción  a los llamados ciclos  anidados que es un ciclo que contiene otro ciclo, para esto se introduce en un ciclo mientras o otro ciclo mientras, para entender mejor esto se hará a través de un ejemplo.

Ejemplo de un algoritmo mientras con ciclos anidados y la respectiva prueba de escritorio.

Te invito a que veas el video introductorio de ciclos anidados de Zonaudearroba Facultad de Ingeniería de la universidad de Antioquia, allí puedes entender un poco más del tema tratado de una forma visual. Chequéalo

POR CAMILO BORJA © 2015 ALL RIGHTS RESERVED.

Fuentes consultadas
Juan G. Rivera Berrío. Ciclos o bucles anidados.2014 Descartesjs.http://descartesjs.org/documentacion/?p=2169

Aztlek. Cómo hacer una prueba de escritorio.2014
zonaudearroba-faculta de ingeniería universidad de Antioquia. Algoritmia básica (Lógica y representación I) - Módulo 16. Ciclos anidados.(2015)
https://www.youtube.com/watch?v=V13nFnqq_5s

domingo, 12 de abril de 2015

7.Estructura de Ciclos (mientras)

Dentro las diferentes tipos de estructuras que podemos encontrar en los algoritmos hay una que es muy usual por sus características y son los procesos cíclicos donde existen combinación de otras estructuras. Un ciclo es una estructura que nos permite representar un conjunto de instrucciones que debe repetirse una cantidad limitada de veces, normalmente dependiente de una condición o de una cantidad determinada de repeticiones o iteraciones.

Los ciclos permiten iterar todo un proceso tantas veces como el programador (ó el usuario) lo determine. Es común, que en la solución de muchos problemas algorítmicos, se requiera realizar la repetición de cierto bloque de instrucciones, con el fin de obtener el objetivo buscado por el algoritmo. Para implementar repetición de bloques de instrucciones se utilizan las estructuras de control llamadas ciclos o estructuras repetitivas.

Un ciclo puede definirse en forma general como una estructura que nos permite repetir o iterar un conjunto de instrucciones. Existe una variedad de ciclos como ciclo for (Para o Desde) y ciclo do / while, pero en este escrito nos enfocaremos en ciclo while (Mientras).
El ciclo de instrucción  mientras representa el esquema general de trabajo para todos los ciclos, esto quiere decir que si se entiende claramente la lógica de funcionamiento de este ciclo se facilita entender no solo los otros ciclos .La instrucción Mientras es una de las alternativas para la repetición de procesos a través del ordenador. La estructura general viene dada por:
Mientras (condición)
                      Instrucciones que se ejecutan mientras la condición es verdadera
FIN (mientras)

Dentro del cuerpo de ciclo mientras se pueden reconocer conceptos que se deben de tener en cuenta para la buena elaboración del mismo. El bucle que en  programación, es un tipo de estructura de control que permite repetir una o más sentencias múltiples veces.
El Contador que es una variable cuyo valor incrementa o decremento en una cantidad fija que se utiliza en los siguientes casos: Para contabilizar el número de veces que se desea una operación o grupo de operaciones y un contador toma un valor inicial antes de empezar sus funciones y se debe codificar como eje i=i+1 donde i es el nombre de la variable contadora.
El Acumulador se encarga de almacenar en una variable el resultado de una o varias operaciones matemáticas que se encuentran dentro de una sentencia repetitiva, para obtener un total acumulado. Un acumulador se debe inicializar a cero (0) en caso de suma y en uno (1) en caso de producto y se codifica bajo el siguiente forma acum=acum+variable y acum=acum*variable, Donde: acum es el nombre de tu variable acumulador.
En general, el control del bucle se realizará a través de variables existiendo distintas alternativas como: Contadores, acumuladores,  interruptores. Señaleros, entradas controladas por el usuario, final de archivo y salida directa.
Ejemplo de un algoritmo
Algoritmo que permita obtener el promedio de la cantidad de números que el usuario desee digitar, preguntando además si desea continuar o no.
INICIO
Entero: Suma, Contador, N
Cadena: Decisión
Decisión = 'SI'
Suma= 0
Contador=0
Mientras (decisión = 'SI') haga
ESCRIBA ('digite un numero')
LEA(N)
Suma= suma+N
Contador=contador+1
ESCRIBA ('desea continuar')
LEA (decisión)
FIN (mientras)
Promedio=suma/contador
ESCRIBA ('el promedio es:', promedio)
FIN

Características a tener en cuenta de las estructuras en ciclos:
El conjunto de instrucciones a repetir dentro del ciclo debe ser finito, la cantidad de veces que se repita dicho conjunto de instrucciones también debe ser finita, en algunos casos esta cantidad de veces va a depender de una condición explícita y en otros casos va a depender de una condición implícita. Una condición es explícita cuando depende solamente de la misma ejecución del programa sin que sea importante la participación del usuario. Asimismo una condición es implícita cuando depende solamente de la voluntad del usuario y por lo tanto la cantidad de iteraciones o repeticiones del ciclo podría llegar a ser diferente cada vez pues sería posible que cambiara con cada usuario. Deben estar claramente demarcados el inicio y el fin del ciclo. En los casos en los cuales solo exista una instrucción a iterar, no serán necesarias dichas marcas. Dentro de un ciclo podrá ir cualquiera de las otras estructuras, incluyendo otros ciclos.

En el siguiente video puedes ver otro ejemplo del ciclo mientras. Chequéalo…




POR CAMILO BORJA © 2015 ALL RIGHTS RESERVED.

Fuentes consultadas:


Definición bucle. Alegsa(diccionario).2014

Instrucción mientras - hacer (while – do). Pseudocódigo y diagramas de flujo. (CU00155A). . Mario R. Rancel. aprendiendo a programar

CURSO DE PROGRAMACION EN C++ Y JAVA. ESTRUCTURA REPETITIVA: MIENTRAS QUE (while).(2011)

Horacio Hernandez. ALGORITMO. CICLO MIENTRAS. 4001. https://www.youtube.com/watch?v=VPoCzw5jLKk