miércoles, 25 de octubre de 2017

Cómo trabajar con arreglos unidimensionales - vectores. (Working with one-dimensional arrays - vectors).

En programación comúnmente necesitamos usar variables, definimos su nombre, su tipo y listo podemos asignarle valores y hacer operaciones con ellas, pero que pasa cuando requerimos un conjunto de datos que sean comunes entre sí, es decir mismo tipo y para procesos semejantes.

Para esos casos los lenguajes de programación implementan un tipo de variables que pueden tener más de un espacio para almacenar valores, los llamamos Arreglos (Arrays).

La diferencia consiste en que una variable independiente reserva un único espacio de memoria para almacenar sus valores y el arreglo reserva los espacios de memoria solicitados mediante un entero especificado típicamente entre corchetes ( variable [ n ] ), donde cada espacio será identificado con el mismo nombre de variable pero con un índice de acceso a cada dato.

Un arreglo de datos puede almacenar una serie de números o letras o palabras, es decir, datos del mismo tipo.

El complemento para trabajar eficientemente con arreglos de datos, son las estructuras de ciclos, usualmente la instrucción FOR. El número de índice que identifica cada valor en el arreglo es gestionado en una variable que el ciclo ira modificando para recorrer el vector.

Al usar un arreglo y una estructura de ciclo, es posible transitar entre los valores de modo ascendente, descendente y puntos intermedios, dando la posibilidad al programa de generar resultados más complejos con menos líneas de código.

Usar una variable en el indice de acceso a los datos, permite también hacer cálculos con esa variable por tanto ese indice puede ser el producto de una suma, resta o multiplicación, siempre que el resultado sea un entero dentro del rango establecido.

Algunos lenguajes permiten cambiar el tamaño del arreglo en tiempo de ejecución del programa.

Dentro de un programa se pueden implementar tantos arreglos como sean necesarios.

En la imagen vemos un ejemplo que muestra la diferencia de usar 10 números empleando variables independientes e implementando un arreglo de 10 espacios.



La conveniencia más clara de implementar un arreglo, viene cuando se incrementa la cantidad de valores a usar, por ejemplo: 80, 120, 190, etc. La idea de usar 190 variables independientes es poco práctica.

Aquí vídeos con ejemplos básicos de cómo usar esta estructura de datos. 

lunes, 23 de octubre de 2017

Como usar la sentencia IF (How to use the IF statement in programming)

Ejemplo basado en la sintaxis del lenguaje Visual Basic.

Estructura de sentencia IF - THEN - ELSE

La sentencia IF se utiliza para decidir que líneas del código del programa serán ejecutadas y cuáles no, esta decisión es tomada de acuerdo a una condición que define una salida verdadera o falsa típicamente, necesaria para realizar un cálculo o proceso que nos lleve al resultado esperado.

  • IF  es donde definimos la condición o condiciones a evaluar para obtener una respuesta positiva o negativa, se requiere una variable o más de una para hacer las comparaciones, generando un resultado que nos indique que líneas de código se deberán ejecutar a continuación.

  • ELSE se usa como una instrucción que separa las dos condiciones, verdadera o falsa, de modo que podemos definir si el resultado de la condición no fue positivo, es decir, SI NO, se tome el resultado negativo de la condición para ser ejecutadas las instrucciones definidas en ese bloque.

  • ENDIF define donde se termina la condición.


IF puede definirse con una sola condición o con varias, agrupadas por un AND o un OR de forma lógica de modo que IF - ENDIF  forman un bloque y toda instrucción que se encuentre dentro de éste bloque será ejecutada u omitida de acuerdo al resultado de la condición evaluada.

Hay lenguajes que en su sintaxis no incluyen la instrucción THEN y ENDIF, por lo que es necesario investigar cómo se escribe y se define el bloque de instrucciones a ejecutar.

Si no se crea un bloque de instrucciones, IF ejecuta únicamente la instrucción inmediata siguiente si la condición es positiva.

La instrucción IF puede contener otra sentencia IF dentro, a esto se le llama IF anidado, los IF anidados pueden ser también más de uno, definir varios IF anidados hace más complejo para el programador definir los resultados de salida de la condición.

Este ejemplo compara cuál es el mayor de dos números 5 y 3 mediante la instrucción IF, el 5 asignado a la variable Num1 y el 3 Asignado al variable Num2, al comparar si Num1(5) es mayor que Num2(3), la respuesta será positiva, por lo que lo que muestra el mensaje mediante MSGBOX que Num1(5) Es mayor, si cambiamos los valores, donde Num2 sea mayor se ejecutaría la línea después de la instrucción ELSE, respuesta negativa omitiendo la línea anterior al ELSE.


El ejemplo anterior no puede valorar el caso cuando los números son iguales, pues la respuesta sería negativa ya que un número no será mayor que el otro.

En base al ejemplo anterior se describe como resolver para el caso de que los números sean iguales, se emplea una condición IF anidada para encontrar la solución, usando las variables NumA y NumB.



Solución usando tres sentencias IF independientes para llegar al resultado.


Aquí 2 vídeos con ejemplos en pseudocódigo de la sentencia IF. 




sábado, 14 de octubre de 2017

Cómo usar la sentencia WHILE en programación (How to use the WHILE statement in programming)

Ejemplo basado en la sintaxis del lenguaje Visual Basic.

Estructura del Ciclo condicionado WHILE

WHILE se utiliza para hacer ciclos con condición, es cuando necesitamos que se cumpla una condición para definir las vueltas que necesitamos para realizar un cálculo o proceso, la instrucción consta de dos partes.
  • DO WHILE  es donde definimos la condición requerida para la cantidad de vueltas a realizar, se requiere una variable que almacene un valor que será comparado a cada vuelta, no existe un conteo automático del valor. La instrucción DO no se escribe en algunos otros lenguajes.
  • LOOP define donde se termina el ciclo.


La sentencia WHILE requiere de una condición que permita el final de los ciclos, de lo contrario las vueltas nunca terminaran, generando un ciclo infinito que no producirá ningún resultado funcional.

La condición WHILE puede definirse al inicio o al final del ciclo de acuerdo a la necesidad.

De modo que WHILE puede forman un bloque y toda instrucción que se encuentre dentro de éste bloque será ejecutada tantas veces como la condición se cumpla.

Hay lenguajes que en su sintaxis no incluyen la instrucción LOOP, por lo que es necesario investigar cómo se define el bloque de instrucciones a ejecutar.

La instrucción DO-WHILE puede contener otra sentencia DO-WHILE dentro, a esto se le llama ciclo anidado, los ciclos anidados pueden ser también más de uno, dependiendo el resultado que deseamos obtener.

Este ejemplo define mediante la instrucción WHILE un ciclo de 20 vueltas, donde se ejecutan 2 instrucciones, que son, el incremento en 1 de la variable CONT y la función MSGBOX para mostrar cada valor que ira tomando la variable CONT, iniciando con el número 1 y terminando con el número 20. La condición es que MIENTRAS la variable CONT tenga un valor menor a 20, los ciclos se ejecutaran, si el valor de CONT en mayor o igual a 20 antes de ejecutar la instrucción WHILE, éste no realizará ninguna vuelta y saltara una línea después de la instrucción LOOP.

DIM es la instrucción que nos permite definir las variables.

Cont = Cont  + 1 es la sintaxis típica para incrementar el valor de una variable, pudiendo ser el incremento en más de 1.


En éste ejemplo el programa realiza la misma operación que en ejercicio anterior, con la diferencia que esta vez, la condición se evalúa al final del ciclo lo que permite ejecutar las 2 instrucciones dentro del bloque al menos una vez sin importar el valor inicial de la variable CONT.



Aquí un vídeo con ejemplos en pseudocódigo de ciclo WHILE,  Vídeo

jueves, 12 de octubre de 2017

Programación informática, cómo iniciar (Computer programming, how to start)

Existen una gran variedad de lenguajes de programación y esto nos puede complicar el decidir sobre cual lenguaje me conviene aprender, en lo particular considero más importante primero comprender las estructuras básicas de programación y desarrollar la lógica de resolución de problemas mediante una serie de pasos bien definidos.

Conocer las estructuras básicas de programación y saber dónde insertarlas dentro de los pasos a realizar para llegar al resultado, es un excelente inicio para ser un programador, existen infinidad de sitios y videos en la red que muestran cómo conseguir éste objetivo, en éste Blog me permito escribir mi propia experiencia para exponer una explicación de cómo funcionan éstas estructuras.

La forma que yo diría es la mejor para desarrollar la lógica de cómo programar, es haciendo muchos ejercicios de programación, iniciando desde los más simples hasta los más complejos; Claro que cometer errores está completamente permitido es parte de la misma experiencia, hasta llegar al punto de poder imaginar desde el momento mismo que se nos plantea un problema, los pasos a seguir para llegar a la solución adecuada.


Saber usar y cómo funcionan las estructuras básicas de programación nos permite aprender a programar y sobre todo nos facilita el poder entender cómo hacer código en otros lenguajes, sólo hará falta instruirse en la forma en la que se escribe el código en tal lenguaje, a lo que llamamos sintaxis.

La modalidad de programar con bloques parece una buena opción para iniciar sin tener que aprender mucho sobre cómo se comporta el código dentro de un programa de cómputo, es cierto que desarrollar programas de éste modo nos permite no sentir que debemos aprender a escribir líneas y líneas de código, sin embargo la programación en bloques está basada en el mismo principio, es necesario conocer al menos como usar y para qué sirve cada bloque.


Personalmente me gusta mucho ésta modalidad, pero he visto que algunos afirman que no es necesario saber programar para poder hacer aplicaciones, tal vez en algo tengan razón, pero hacer programas más complejos con los bloques requiere de conocimientos más sólidos y experimentados.

Algunas propuestas en la web para programar en bloques son:


miércoles, 11 de octubre de 2017

Como usar la sentencia FOR en programación (How to use the FOR statement in programming)

Ejemplo basado en la sintaxis del lenguaje Visual Basic.

Estructura del Ciclo FOR

La sentencia FOR se utiliza para hacer ciclos definidos y con conteo automático, es cuando sabemos anticipadamente cuantas vueltas necesitamos para realizar un cálculo o proceso, la instrucción consta de dos partes.
  • FOR  es donde definimos la cantidad de vueltas a realizar, se requiere una variable que almacene la cuenta de cada vuelta, generando un conteo automático del valor.
  • NEXT define donde se termina el ciclo.



FOR puede definirse de forma ascendente o descendente,  por ejemplo: (del 1 al 15  o  del 15 al 1)
De modo que FOR - NEXT  forman un bloque y toda instrucción que se encuentre dentro de éste bloque será ejecutada tantas veces como el ciclo sea definido.

Hay lenguajes que en su sintaxis no incluyen la instrucción NEXT, por lo que es necesario investigar cómo se define el bloque de instrucciones a ejecutar.

Si no se crea un bloque de instrucciones, FOR ejecuta únicamente la instrucción inmediata siguiente las veces que fue definido el ciclo.

La instrucción FOR puede contener otra sentencia FOR dentro, a esto se le llama ciclo anidado, los ciclos anidados pueden ser también más de uno, dependiendo el resultado que deseamos obtener.

Este ejemplo define mediante la instrucción FOR un ciclo de 20 vueltas, donde se ejecuta una sola instrucción, que es la función MSGBOXpara mostrar cada valor que ira tomando la variable CONT, iniciando con el número 1 y terminando con el número 20.
DIM es la instrucción que nos permite definir las variables.




Aquí un vídeo con ejemplos en pseudocódigo de cómo usar la instrucción FOR. Vídeo



Artículo Reciente

Como generar la serie de Fibonacci. (How to generate the Fibonacci numbers)

En el artículo se describe como generar la serie de Fibonacci; en materias de estudio como: algoritmos, diagramas de flujo y programación, ...

Artículos