# data[].attributes.body
Para más información y no alargar más el apartado, te dejo un enlace para obtener más información para retroalimentar.

# data[].attributes.attachment_link.readable_text
La programación modular es una técnica utilizada para el desarrollo de software, donde se divide el programa en muchos componentes o bloques pequeños autónomos llamados módulos, que son manejables, lógicos y funcionales.

El módulo es un bloque de sentencias que resuelve un problema particular. Cada módulo contiene todo lo necesario para cumplir con su propia funcionalidad y se puede editar o modificar sin que se vea afectado el resto del proyecto.

Esta forma de programar se logra manteniendo una interfaz de módulo permanente que usan los demás componentes del software para así poder acceder a las funciones de cada módulo.

Los módulos imponen límites lógicos entre los componentes, mejorando la capacidad de mantenimiento. Se incorporan a través de interfaces, que están diseñadas de tal manera que se minimiza la dependencia entre los diferentes módulos.

Un módulo principal y varios módulos secundarios son los que conforman la programación modular. Desde el módulo principal se realizan las llamadas a las funciones de los módulos auxiliares.

Estos módulos auxiliares existen como archivos ejecutables separados, que se cargan al ejecutarse el módulo principal. Cada módulo tiene un nombre único asignado en la instrucción PROGRAM.

Los equipos de trabajo pueden desarrollar diferentes módulos por separado sin necesidad de conocer todos los módulos del sistema. Cada una de las aplicaciones modulares tienen asociado un número de versión para proporcionar flexibilidad a los desarrolladores en el mantenimiento del módulo.

Una computadora no necesita una versión desglosada del código para poder ejecutarlo. Son las limitaciones cognitivas humanas las que obligan a escribir código en fragmentos más pequeños.

Un programa puede contener otras funciones y también puede referirse a funciones que están en otros archivos. Estas funciones o módulos son conjuntos de sentencias que sirven para realizar una operación o calcular un valor.

Para poder mantener la simplicidad y legibilidad en programas grandes y complejos, se utiliza una función principal corta en conjunto con otras funciones, en lugar de utilizar una función principal larga.

Al separar un programa en grupos de módulos, cada módulo será más fácil de entender, cumpliendo así con las pautas básicas de la programación estructurada.

Una función consiste en una declaración de su definición seguida de comandos y sentencias. La forma general de una función es:

Nombre_de_función(declaración de parámetros) {

sentencias;

retornar expresión;

- La declaración de los parámetros representa la información que se está pasando a la función.

- Se definen en las sentencias las variables adicionales utilizadas específicamente por la función.

- Todas las funciones deben incluir una sentencia de retorno.

Las variables que se declaran dentro de la función principal o en funciones definidas por el usuario se denominan variables locales. Estas tienen un valor cuando se ejecuta la función, pero su valor no se retiene al completarse la función.

Las variables que se declaran externamente al programa principal o a las funciones definidas por el usuario se denominan variables globales. Estas variables se pueden tomar desde cualquier función que se encuentre dentro del programa.

La programación modular es bastante procedimental, ya que se orienta completamente a la escritura de código para funciones, sin tomar en cuenta los datos.

Supongamos una casa que tenga electricidad, con varias tomas de corriente en las paredes. Este sistema permite enchufar varios dispositivos eléctricos, por ejemplo, microondas, lavadora, secadora, etc.

Estos dispositivos están diseñados para realizar su tarea específica al enchufarse y encenderse, independientemente de la casa donde se encuentren.

Los módulos de una aplicación deben seguir esta misma filosofía. Esto significa que solo deben realizar su tarea específica sin importar la parte de la aplicación donde se encuentren, o incluso a cuál aplicación estén conectados.

Además, tal como un dispositivo eléctrico puede desenchufarse fácilmente de la toma de corriente, un módulo debe diseñarse de tal forma que pueda eliminarse fácilmente de una aplicación.

Así como eliminar un dispositivo eléctrico no impacta la funcionalidad de los otros dispositivos conectados, eliminar módulos de una aplicación no debería impactar en la funcionalidad de los otros módulos de esa aplicación.

En Java los módulos se escriben como funciones independientes. Por ejemplo, se puede tener una función o bloque de código para calcular el promedio general de notas de un estudiante según sus calificaciones en todos los cursos que ha tomado.

La función necesita obtener como entrada el listado de calificaciones para luego retornar el promedio de notas calculado:

Esta función se llama CalcularNotaPromedio. Recibe como entrada una lista de notas, utilizando una matriz de tipo de datos double, y retorna el promedio calculado.

En la función, la variable local sum se inicializa a cero y luego, mediante un ciclo for, se agregan a sum todas las calificaciones. Por último, se divide la suma obtenida entre la cantidad de notas, retornando el valor resultante.

Si la matriz de entrada tuviera las notas 3,5, 3,0 y 4,0, después de sumarlas tendría sum el valor de 10,5 y luego se dividiría entre 3, porque hay tres notas. La función retornaría el valor 3,5.

Varios programadores pueden trabajar en el mismo proyecto si está dividido en módulos. Diferentes programadores pueden diseñar de forma independiente distintos módulos del programa, que es lo requerido para un programa grande y complejo.

Los programas se pueden desarrollar más rápidamente, ya que los módulos pequeños e independientes son más fáciles de entender, diseñar y probar que los programas grandes.

El programador puede proveer la entrada necesaria y verificar que el módulo esté correcto examinando su salida.

El código escrito para un programa a menudo es útil en otros. La programación modular permite que estas secciones se guarden para un uso futuro. Debido a que el código es reubicable, los módulos guardados se pueden vincular a cualquier otro programa que cumpla con los requerimientos de entrada y salida.

Con la programación monolítica, tales secciones de código quedan incrustadas dentro del programa y no están disponibles para ser utilizadas por otros programas.

Un módulo es más pequeño que un programa completo, por lo que resulta más fácil probarlo. Cada módulo se puede escribir y probar por separado del resto del programa. Después de que se haya probado un módulo, podrá usarse en un nuevo programa sin tener que probarlo de nuevo.

Cuando se debe modificar un programa, la programación modular simplifica el trabajo. Se pueden vincular módulos nuevos o depurados a un programa existente sin que el resto del programa cambie.

Esta programación utiliza interfaces, que es una idea bastante eficaz. Para aprovechar eso, algunos marcos de trabajo traen consigo un conjunto completo de clases intercambiables. Por ejemplo, para manejar la persistencia, podría haber varias clases que implementen una interfaz de persistencia.

Sin embargo, los entornos de desarrollo integrado (IDE) se confunden con esto. Por ejemplo, se podría estar intentando encontrar la fuente de un método, y el IDE no sabrá qué método se desea ver, mostrando así una larga lista de archivos donde exista un método con ese nombre.

Existe una gran cantidad de módulos que solo contienen una función muy pequeña. Cada módulo requiere un tiempo adicional de análisis y procesamiento, además de su encabezado en el código.

Por tanto, usar muchos módulos pequeños añadirá una sobrecarga al sistema de compilación, aumentando el tamaño del paquete.

Algunos códigos casi nunca cambian. En esos casos puede que no tenga mucho sentido tratar de hacer que se vea más limpio o con una lógica abstracta, si con solo usarlo ya funciona bien.

Hay códigos que no se ven demasiado bonitos y, sin embargo, no han cambiado mucho en los últimos años. No hay ninguna razón para descomponer en módulos un código que nunca ha cambiado y que ya funciona bien.

La programación modular es solo un concepto. Su práctica se puede aplicar en cualquier lenguaje de programación, especialmente los de naturaleza procedimental, que tienen un programa compilado por separado.

Las bibliotecas de componentes construidos a partir de módulos compilados por separado se pueden combinar en un conjunto mediante una herramienta de programación llamada enlazador.

Los nombres de las funciones en los diferentes módulos deben ser únicos para así facilitar su acceso en caso que las funciones utilizadas por el módulo principal se deban exportar.

Entre los lenguajes de programación que admiten el concepto de programación modular se encuentran C, Ada, PL/I, Erlang, Pascal, Algol, COBOL, RPG, Haskell, Python, HyperTalk, IBM/360 Assembler, MATLAB, Ruby, IBM RPG, SmallTalk, Morpho, Java (los paquetes se consideran módulos), Perl, etc.

En lenguaje C se puede aplicar programación modular porque permite remediar una dificultad de gran magnitud separando la misma en varios módulos.

Cada uno de estos módulos resuelve un problema en particular, mientras que el programa principal, que es el conjunto de tales procedimientos, resuelve el problema como un todo.

Cada función definida en C es por defecto accesible globalmente. Esto se puede hacer al incluir un archivo de encabezado, donde se define la implementación de la función.

Como ejemplo, se busca declarar un tipo de datos stack y además que la implementación y la estructura de datos quede oculta para los usuarios.

Esto se puede hacer definiendo primero un archivo público llamado stack.h, que contendrá los datos genéricos con el tipo de datos stack y las funciones soportadas por el tipo de datos stack.

extern stack_var1;

extern int stack_do_something(void);

Ahora se puede crear un archivo llamado stack.c que contiene la implementación del tipo de datos stack:

1. CIO Wiki (2019). Modular Programming. Tomado de: cio-wiki.org.

2. IT Definitions (2020). Modular Programming. Tomado de: defit.org.

3. New Mexico Tech (2020). Modular programming with functions. Tomado de: ee.nmt.edu.

4. Christian Maioli (2020). 3 creative techniques for writing modular code. Tech Beacon. Tomado de: techbeacon.com.

5. Geeks for Geeks (2020). Modular Approach in Programming. Tomado de: geeksforgeeks.org.

6. Study (2020). Modular Programming: Definition & Application in Java. Tomado de: study.com.

# data[].attributes.attachment_link.title
Programación modular: características, ejemplos, ventajas, aplicaciones - Lifeder

# data[].attributes.attachment_link.description
La programación modular es una técnica utilizada para el desarrollo de software, donde se divide el programa en muchos componentes o bloques pequeños autónomos llamados módulos, que son manejables, lógicos y funcionales. El módulo es un bloque de sentencias que resuelve un problema particular.

# data[].attributes.body
Desventajas:

- No se dispone de algoritmos formales de modularidad, por lo que a veces los programadores no tienen claras las ideas de los módulos.
- La programación modular requiere más memoria y tiempo de ejecución.

# data[].attributes.body
Ventajas

- Un programa modular es más fácil de escribir y depurar. Se puede profundizar en las pruebas parciales de cada módulo mucho más de lo que se hace un programa mayor.
- Un programa modular es fácil de mantener y modificar.
- Un programa modular es fácil de controlar. El desglose de un problema en módulos permite encomendar los módulos más complejos a los programadores más experimentados y los más sencillos a los programadores más noveles.
- Posibilita el uso repetitivo de las rutinas en el mismo o en diferentes programas.

# data[].attributes.body
Características

- Modularidad: Una computadora no necesita una versión desglosada del código para poder ejecutarlo. Son las limitaciones cognitivas humanas las que obligan a escribir código en fragmentos más pequeños.
- Definición de función: Una función consiste en una declaración de su definición seguida de comandos y sentencias.
- Alcance de variables: Las variables que se declaran dentro de la función principal o en funciones definidas por el usuario se denominan variables locales.
- Es Procedimental: La programación modular es bastante procedimental, ya que se orienta completamente a la escritura de código para funciones, sin tomar en cuenta los datos.

# data[].attributes.body
Es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible y manejable. Se presenta históricamente como una evolución de la programación estructurada para solucionar problemas de programación más grandes y complejos de lo que ésta puede resolver.

# data[].attributes.body
Para no tardar más, pongo un enlace a un wiki donde hay aún mucha más información para retroalimentar.

# data[].attributes.attachment_link.readable_text
El análisis numérico o cálculo numérico es la rama de las matemáticas que encargada de diseñar algoritmos para, a través de números y reglas matemáticas simples, simular procesos matemáticos más complejos aplicados a procesos del mundo real.

El análisis numérico cobra especial importancia con la llegada de los ordenadores. Los ordenadores son útiles para cálculos matemáticos extremadamente complejos, pero en última instancia operan con números binarios y operaciones matemáticas simples.

Desde este punto de vista, el análisis numérico proporcionará todo el andamiaje necesario para llevar a cabo todos aquellos procedimientos matemáticos susceptibles de expresarse algorítmicamente, basándose en algoritmos que permitan su simulación o cálculo en procesos más sencillos empleando números.

Definido el error, junto con el error admisible, pasamos al concepto de estabilidad de los algoritmos. Muchas de las operaciones matemáticas pueden llevarse adelante a través de la generación de una serie de números que a su vez alimentan de nuevo el algoritmo (feedback). Esto proporciona un poder de cálculo y refinamiento importantísimo a la máquina que a medida que va completando un ciclo va llegando a la solución. El problema ocurre en determinar hasta cuándo deberá continuar con el ciclo, o si nos estamos alejando de la solución del problema.

Finalmente, otro concepto paralelo al análisis numérico es el de la representación, tanto de los números como de otros conceptos matemáticos como los vectores, polinomios, etc. Por ejemplo, para la representación en ordenadores de números reales, se emplea el concepto de coma flotante que dista mucho del empleado por la matemática convencional.

En general, estos métodos se aplican cuando se necesita un valor numérico como solución a un problema matemático, y los procedimientos "exactos" o "analíticos" (manipulaciones algebraicas, teoría de ecuaciones diferenciales, métodos de integración, etc.) son incapaces de dar una respuesta. Debido a ello, son procedimientos de uso frecuente por físicos e ingenieros, y cuyo desarrollo se ha visto favorecido por la necesidad de éstos de obtener soluciones, aunque la precisión no sea completa. Debe recordarse que la física experimental, por ejemplo, nunca arroja valores exactos sino intervalos que engloban la gran mayoría de resultados experimentales obtenidos, ya que no es habitual que dos medidas del mismo fenómeno arrojen valores exactamente iguales.

Problemas

Los problemas de esta disciplina se pueden dividir en dos grupos fundamentales:

Problemas de dimensión finita: aquellos cuya respuesta son un conjunto finito de números, como las ecuaciones algebraicas, los determinantes, los problemas de valores propios, etc.

Problemas de dimensión infinita: problemas en cuya solución o planteamiento intervienen elementos descritos por una cantidad infinita de números, como integración y derivación numéricas, cálculo de ecuaciones diferenciales, interpolación, etc.

Clasificación atendiendo a su naturaleza o motivación

Asimismo, existe una subclasificación de estos dos grandes apartados en tres categorías de problemas, atendiendo a su naturaleza o motivación para el empleo del cálculo numérico:

Problemas de tal complejidad que no poseen solución analítica.

Problemas en los cuales existe una solución analítica, pero ésta, por complejidad u otros motivos, no puede explotarse de forma sencilla en la práctica.

Problemas para los cuales existen métodos sencillos pero que, para elementos que se emplean en la práctica, requieren una cantidad de cálculos excesiva; mayor que la necesaria para un método numérico.

Áreas de estudio

El análisis numérico se divide en diferentes disciplinas de acuerdo con el problema que resolver.

Cálculo de los valores de una función

Uno de los problemas más sencillos es la evaluación de una función en un punto dado. Para polinomios, uno de los métodos más utilizados es el algoritmo de Horner, ya que reduce el número de operaciones a realizar. En general, es importante estimar y controlar los errores de redondeo que se producen por el uso de la aritmética de punto flotante.

La extrapolación es muy similar a la interpolación, excepto que ahora queremos encontrar el valor de la función desconocida en un punto que no está comprendido entre los puntos dados.

La regresión es también similar, pero tiene en cuenta que los datos son imprecisos. Dados algunos puntos, y una medida del valor de la función en los mismos (con un error debido a la medición), queremos determinar la función desconocida. El método de los mínimos cuadrados es una forma popular de conseguirlo.

Resolución de ecuaciones y sistemas de ecuaciones

Otro problema fundamental es calcular la solución de una ecuación o sistema de ecuaciones dado. Se distinguen dos casos dependiendo de si la ecuación o sistema de ecuaciones es o no lineal. Por ejemplo, la ecuación es lineal mientras que la ecuación de segundo grado no lo es.

Mucho esfuerzo se ha puesto en el desarrollo de métodos para la resolución de sistemas de ecuaciones lineales. Métodos directos, i.e., métodos que utilizan alguna factorización de la matriz son el método de eliminación de Gauss, la descomposición LU, la descomposición de Cholesky para matrices simétricas (o hermíticas) definidas positivas, y la descomposición QR. Métodos iterativos como el método de Jacobi, el método de Gauss-Seidel, el método de las aproximaciones sucesivas y el método del gradiente conjugado se utilizan frecuentemente para grandes sistemas.

En la resolución numérica de ecuaciones no lineales algunos de los métodos más conocidos son los métodos de bisección, de la secante y de la falsa posición. Si la función es además derivable y la derivada se conoce, el método de Newton es muy utilizado. Este método es un método de iteración de punto fijo. La linealización es otra técnica para resolver ecuaciones no lineales.

Las ecuaciones algebraicas polinomiales poseen una gran cantidad de métodos numéricos para enumerar:

Método de Gräeffe (o método de Lobachevsky o de Lobachevsky-Dandelin-Gräeffe o del cuadrado de las raíces)

Método de Bairstow (o método de Lin-Bairstow)

Método de Newton-Raphson especializado para polinomios

Método de Richmond especializado para polinomios

Método modificado de Richmond

Método de Richomnd-Horner

Descomposición espectral y en valores singulares

Bastantes problemas importantes pueden ser expresados en términos de descomposición espectral (el cálculo de los vectores y valores propios de una matriz) o de descomposición en valores singulares. Por ejemplo, el análisis de componentes principales utiliza la descomposición en vectores y valores propios.

Optimización

Los problemas de optimización buscan el punto para el cual una función dada alcanza su máximo o mínimo. A menudo, el punto también satisface cierta restricción.

Ejemplos de, problemas de optimización son la programación lineal en que tanto la función objetivo como las restricciones son lineales. Un método famoso de programación lineal es el método simplex.

El método de los multiplicadores de Lagrange puede usarse para reducir los problemas de optimización con restricciones a problemas sin restricciones.

Evaluación de integrales

La integración numérica, también conocida como cuadratura numérica, busca calcular el valor de una integral definida. Métodos populares utilizan alguna de las fórmulas de Newton-Cotes (como la regla del rectángulo o la regla de Simpson) o de cuadratura gaussiana. Estos métodos se basan en una estrategia de "divide y vencerás", dividiendo el intervalo de integración en subintervalos y calculando la integral como la suma de las integrales en cada subintervalo, pudiéndose mejorar posteriormente el valor de la integral obtenido mediante el método de Romberg. Para el cálculo de integrales múltiples estos métodos requieren demasiado esfuerzo computacional, siendo útil el método de Monte Carlo.

Ecuaciones diferenciales

El análisis numérico también puede calcular soluciones aproximadas de ecuaciones diferenciales, bien ecuaciones diferenciales ordinarias, bien ecuaciones en derivadas parciales. Los métodos utilizados suelen basarse en discretizar la ecuación correspondiente. Es útil ver la derivación numérica.

Para la resolución de ecuaciones diferenciales ordinarias los métodos más utilizados son el método de Euler y los métodos de Runge-Kutta.

Las ecuaciones en derivadas parciales se resuelven primero discretizando la ecuación, llevándola a un subespacio de dimensión finita. Esto puede hacerse mediante un método de los elementos finitos.

Otros temas de análisis numérico

Error de aproximación, error absoluto y error relativo

Orden de convergencia

Redondeo

Sistema de numeración

Truncamiento

Referencias

Nick Trefethen (1992), The definition of numerical analysis, SIAM News, noviembre.

Enlaces externos

En español

Artículo sobre análisis numérico en la Enciclopedia libre universal en español

http://docencia.udea.edu.co/ingenieria/analisis-numerico/

http://mat21.etsii.upm.es/matesp/index.htm

Grupo de métodos numéricos en ingeniería (ETS Ingenieros de Caminos de la Universidad de A Coruña)

Notas sobre métodos numéricos básicos para ingeniería

En inglés

wikibooks:Numerical Methods

Numerical analysis DMOZ category

Numerical Recipes Homepage - with free, complete downloadable books

Numerical Analysis Project by John H. Mathews

Alternatives to Numerical Recipes

# data[].attributes.attachment_link.description
El análisis numérico o cálculo numérico es la rama de las matemáticas que encargada de diseñar algoritmos para, a través de números y reglas matemáticas simples, simular procesos matemáticos más complejos aplicados a procesos del mundo real. El análisis numérico cobra especial importancia con la llegada de los ordenadores.

# data[].attributes.body
Clasificación

- Problemas de tal complejidad que no poseen solución analítica.
- Problemas en los cuales existe una solución analítica, pero ésta, por complejidad u otros motivos, no puede explotarse de forma sencilla en la práctica.
- Problemas para los cuales existen métodos sencillos pero que, para elementos que se emplean en la práctica, requieren una cantidad de cálculos excesiva.

# data[].attributes.body
Tipos de problemas

Los problemas de esta disciplina se pueden dividir en dos grupos fundamentales:
- Problemas de dimensión finita: aquellos cuya respuesta son un conjunto finito de números, como las ecuaciones algebraicas, los determinantes, los problemas de valores propios, etc.
- Problemas de dimensión infinita: problemas en cuya solución o planteamiento intervienen elementos descritos por una cantidad infinita de números.

# data[].attributes.body
En general, estos métodos se aplican cuando se necesita un valor numérico como solución a un problema matemático, y los procedimientos "exactos" o "analíticos" (manipulaciones algebraicas, teoría de ecuaciones diferenciales, métodos de integración, etc.) son incapaces de dar una respuesta.

# data[].attributes.body
Diseña algoritmos para, a través de números y reglas matemáticas simples, simular procesos matemáticos más complejos aplicados a procesos del mundo real.

# data[].attributes.body
Te dejo un video explicando todo para que te retroalimentes.

# data[].attributes.body
Estructura

1. Secuencia: La estructura secuencial es la que se da de forma natural en el lenguaje, porque las sentencias se ejecutan en el orden en el que aparecen en el programa.
2. Selección o Condicional: La estructura condicional se basa en que una sentencia se ejecuta según el valor que se le atribuye a una variable booleana.
3. Iteración (ciclo o bucle): La estructura de repetición ejecuta una o un conjunto de sentencias siempre que una variable booleana sea verdadera. Para los bucles o iteraciones, los lenguajes de programación usan las estructuras while y for.

# data[].attributes.body
Características

- Los programas desarrollados con la programación estructurada son más sencillos de entender.
- Los programas resultantes tendrán una estructura clara, gracias a que las sentencias están ligadas y relacionadas entre sí.
- La fase de prueba y depuración de los programas se optimiza, ya que es mucho más sencillo hacer el seguimiento de los fallos y errores y, por tanto, detectarlos y corregirlos.
- El coste del mantenimiento de los programas que usan la programación estructurada es más reducido.
- Al ser más sencillos los programas, son más rápidos de crear y los programadores aumentan su rendimiento.

# data[].attributes.body
Es una teoría orientada a mejorar la claridad, calidad y tiempo de desarrollo utilizando únicamente subrutinas o funciones. Basada en el teorema del programa estructurado propuesto por Böhm y Jacopini, ha permitido desarrollar software de fácil comprensión.

# data[].attributes.body
Nuevamente esta información está limitada, no puedo poner todo pero te dejo dos enlaces por si te interesa saber más sobre este tema. https://www.uaeh.edu.mx/scige/boletin/prepa4/n10/e1.html

# data[].attributes.body
Reglas para la creación de diagramas:

-Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a derecha.
-Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica la dirección que fluye la información procesos, se deben de utilizar solamente líneas de flujo horizontal o verticales.
-Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del diagrama a un sitio distinto, se pudiera realizar utilizando los conectores.
-No deben quedar líneas de flujo sin conectar.
-Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el uso de muchas palabras.
-Todos los símbolos pueden tener más de una línea de entrada, a excepción del símbolo final.
-Solo los símbolos de decisión pueden y deben tener más de una línea de flujo de salida. (unam.mx, s.f.).

# data[].attributes.body
Tipos de diagramas de flujo

1. El diagrama de flujo de Proceso:  es probablemente el más versátil de los cuatro tipos de diagramas de flujo de uso común porque se puede aplicar a prácticamente cualquier cosa.
2. El diagrama de flujo de trabajo: ayuda a comprender cómo fluyen los datos y los documentos dentro de su organización. Un diagrama de flujo de trabajo muestra la forma en que funciona una empresa o un proceso.
3. El diagrama de flujo de carriles: Describe cómo interactúan departamentos, procesos o empleados separados.
4. El diagrama de flujo de datos: Se pueden ver dónde entran y salen los datos de un sistema de información. Un diagrama de flujo de datos muestra la forma en que se procesan los datos.

# data[].attributes.body
Es una representación gráfica de un proceso. Cada paso del proceso se representa por un símbolo diferente que contiene una breve descripción de la etapa de proceso.

Los símbolos gráficos del flujo del proceso están unidos entre sí con flechas que indican la dirección de flujo del proceso.

# data[].attributes.body
Faltan más tipos de variable, pero para no alargar más esta información, te dejo un enlace a una página muy confiable y segura, en donde redacta de mejor manera todo lo relacionado a este tema y más.

# data[].attributes.attachment_link.readable_text
Última actualización 4 de Junio del 2021 Tiempo de lectura: 7 min.

¿Te gustaría aprender de desarrollo web, pero todavía no sabes qué es una variable en programación? 😱 ¡No te preocupes! Hemos venido a sacarte de apuros. Definir qué es una variable en programación es quizá uno de los conceptos más importantes para aprender sobre coding y programación web.

Si estás interesado en dominar el lenguaje del futuro, en el artículo de hoy, te presentaremos qué es una variable en programación y para qué sirve. Asimismo, conocerás sus características, sus tipos y cómo crear una variable en algunos de los lenguajes de programación más importantes del mercado.

¿Comenzamos? 🤩

¿Qué es una variable en programación?

International Business Machines Corporation, conocida mundialmente como IBM, empresa especializada en tecnología y consultoría, propone una cómo definir una variable en programación:
Una variable en programación es un elemento de datos con nombre cuyo valor puede cambiar durante el curso de la ejecución de un programa. El nombre de la variable debe seguir el convenio de denominación de un identificador (carácter alfabético o número y el signo de subrayado). Cuando se define más de una variable en una sola declaración, el nombre debe ir separado por comas. Cada declaración de variable debe finalizar con un signo de punto y coma. Los nombres de variables no pueden coincidir con una palabra reservada.
En palabras más sencillas, si queremos explicar qué es una variable en programación podemos decir qu e es una unidad de almacenamiento y recuperación de datos con valores que pueden cambiar, la cual se identifica con un nombre único en el código del programa.

Si utilizáramos una analogía para describir este concepto, diríamos que una variable en programación es la base de la pirámide, ya que sostiene los componentes fundamentales de todos los programas computacionales.

Todos los tipos de lenguajes de programación tienen variables. Por ejemplo, Sergio Agamez Negrete, profesor de Crehana y experto en programación web, describe qué es una variable en programación en el curso online de Fundamentos de Javascript: una variable en Java es como una caja en donde podemos almacenar lo que queramos, como, por ejemplo, nombres, números, funciones, etc.

Asimismo, recalca que las variables en programación son útiles, sobre todo, para asignar valores complejos y evitar volver a colocar los mismos datos una y otra vez, haciendo el código del programa o aplicación de Javascript más innecesariamente largo.

👉 A propósito, ¿conoces la historia de los lenguajes de programación? ¡Entérate más aquí!

En resumen, ¿para qué sirve una variable de programación? En primera instancia, se puede decir que una variable funciona tanto para guardar datos, así como para asignar y representar valores en una expresión de programación. Sin embargo, el objetivo principal de una variable en programación es facilitar la tarea del programador.

Imagen: Pexels

Ahora que ya sabes qué es una variable en programación y para qué sirve, te contaremos cuáles son sus características.

Características de una variable en programación

La plataforma de investigación, Lifeder, reconoce que las variables en programación cuentan con tres características principales.

1. Asignación de memoria

Cuando definimos qué es una variable de programación, hicimos énfasis en que es un elemento del coding para guardar información, como valores y datos. En la programación, la computadora le asigna a la variable una posición en su memoria, en función al tipo de datos que almacene la misma.

En otras palabras, una variable en programación es un lugar en la memoria del ordenador, ya que, cuando este ejecuta un programa o una aplicación, la variable tendrá acceso a este bloque de memoria.

2. Declaración

Cuando hablamos de cómo declarar una variable, nos referimos a asignarle un nombre y un tipo; de esta manera, el sistema le podrá otorgar una abstracción de la memoria para almacenar los datos y su valor.

Dependerá del tipo de lenguaje de programación para determinar si se necesita declarar la clasificación de la variable antes de usarla. Por ejemplo, en el caso de Javascript y Lenguaje C, si se necesita declarar; sin embargo, en otros lenguajes de programación, como Python, no.

3. Alcance

Según las características de las variables en programación, por medio del alcance se podrá determinar hasta dónde se puede leer o manipular la información o el valor de una variable.

Por ejemplo, en el caso de las variables globales, se tendrá mayor alcance, pues tienen la capacidad de funcionar a lo largo de todo el programa. Por otro lado, en cuanto a las variables locales, el alcance solo llega a su propia función.

Imagen: Pexels

A continuación, hablaremos un poco más a profundidad sobre estos tipos de variables en programación.

Tipos de variables en programación

Una vez que hemos definido qué es una variable en programación, vamos a diferenciar sus diferentes tipos. Aquí te presentaremos dos clasificaciones distintas.

Tipos de valores en variables

En primer lugar, según el concepto de qué es una variable en programación, estos son elementos que se encargan de almacenar datos. Entonces, en el curso online de Fundamentos de Javascript, el profesor Sergio Agamez Negrete, divide las variables en programación según el tipo de valor que contienen.

1. Númerica

Un ejemplo de variables de programación son las numéricas en las que, tal como su nombre lo indica, podemos almacenar números. No necesitas agregar comillas, sólo el dígito. Asimismo, si quieres guardar números decimales, solo necesitas utilizar el punto (.) entre los números enteros y los fraccionados, ya que hay lenguajes de programación en que las comas (,) se usan para añadir otros datos a la variable.

2. Cadena de texto

En el caso de una variable en programación que almacena texto, este necesita estar entre comillas. Pueden ser comillas simples o dobles, pero se recomienda el uso de las sencillas, porque hay momentos en los que las comillas dobles no se pueden utilizar.

Existen dos tipos de cadena de texto: cadena de longitud fija y cadena de longitud variable. En la primera, se estipula cuántos caracteres va a contener, mientras que la segunda no define la extensión.

3. Booleana

¿Qué es una variable en programación con valor booleano? Este término se refiere a un valor lógico, que, en el caso de la programación, representa la dicotomía de verdadero y falso. Usualmente, para representar este valor se coloca " true" o " false ", haciendo alusión en inglés a verdadero y falso, respectivamente.

4. Elementos HTML

También, puedes utilizar una variable en programación para seleccionar elementos dentro del HTML de tu programa o aplicación. Solo necesitas colocarles un identificador (id). Además, en el caso de Javascript, necesitas utilizar un selector para asignar los elementos a la variable. Esto último, depende del lenguaje de programación y el software que utilices.

5. Arreglos

¡Crear estas variables de programación es muy fácil! Un arreglo es, básicamente, una variable donde puedes almacenar más de un elemento, incluyendo otras variables. Solo necesitas redactar la lista entre corchetes [ ] y separar cada elemento con una coma.

Para referirse a un solo elemento del arreglo se debe hacer desde su índice, el cual se le asigna de forma automática. El índice consta de los ítems del arreglo numerados desde el 0. Entonces, si quieres seleccionar solo un elemento de esta variable en programación, necesitas seleccionar el dígito que le corresponde por su posición.

6. Objetos

¿Qué es una variable en programación objeto? ¡Es muy similar a la anterior! La diferencia es que se va a colocar entre llaves { } y dentro de esta se pueden agregar propiedades y valores. Por ejemplo, {color: verde}, en el cual color corresponde a la propiedad y verde al valor.

7. Funciones

Finalmente, una variable en programación también puede almacenar funciones. ¿Qué es una función? Dentro de la disciplina de la programación web, una función se define como una forma en que los algoritmos y expresiones se agrupan en códigos simbólicos para determinar acciones. En este caso, para ejecutar la variable se necesita colocar la palabra reservada .

💻 ¡Cada lenguaje de programación tiene un método para programar funciones. ¿Te gustaría aprender cómo crear funciones en Python? Aquí te enseñamos.

Imagen: Pexels

Variables globales y locales

Por otra parte, IBM presenta otra clasificación de variables en programación. En este caso, se dividen en dos grupos: globales y locales.

1. Variables en programación globales

Las variables globales son aquellas que no están declaradas dentro de la definición de función. Estas están visibles y disponibles para todas las sentencias de un script. Pero, ¿qué es un script?

Según Rootear, portal especializado en programación web, un script "es un código de programación, usualmente sencillo, que contiene comandos u órdenes que se van ejecutando de manera secuencial y, comúnmente, se utilizan para controlar el comportamiento de un programa en específico."

Entonces, una variable en programación global s e puede utilizar en cualquier parte del código de un programa o aplicación, fuera del campo de cualquier función. Usualmente, se colocan al comienzo del programa y todas las funciones que lo componen pueden acceder a esta para leerlas y escribir en ellas.

Cabe mencionar que, no se recomienda usar variables globales, ya que puede generar efectos colaterales, como alteraciones no deseadas en el código, además que atenta contra los principios de la programación.

2. Variables en programación locales

Por otro lado, ¿qué es una variable en programación local? Cualquier variable en programación que se encuentre dentro de las llaves de una función se puede denominar una variable local. Por el contrario de las globales, las variables locales pertenecen al parámetro de una sola función específica y solo se pueden visualizar y utilizar dentro la misma. Asimismo, las variables locales sólo se pueden manipular dentro de la función a la que pertenecen.

Aunque los nombres de variables y sus identificadores deben ser exclusivos, es válido nombrar una variable local con el mismo nombre que una variable local de otra función, así como con el nombre de una variable global.

Imagem: Pexels

Ya que conoces qué es una variable en programación, sus características y sus tipos, te enseñaremos cómo declarar una variable de programación.

¿Cómo crear una variable en programación?

¡Crear una variable es muy simple! Pero, primero, hay que definir cuáles son las partes de una variable en programación.

Una variable está compuesta por un espacio en el sistema de almacenaje, es decir, la memoria, y un nombre simbólico, conocido como identificador.

Como mencionamos previamente, la composición de una variable será distinta según el lenguaje de programación. A continuación, te contaremos cómo declarar una variable en tres de los lenguajes de programación más usados del 2021: Java, Lenguaje C y Python. De la misma manera, te dejaremos algunos ejemplos de variables en programación.

¿Cómo declarar una variable de programación en Java?

En este lenguaje de programación, se coloca la abreviación vab, seguido del símbolo = y continuando con el valor de la variable. Sin embargo, como se estipulo anteriormente, al codificar algunos tipos de variables en programación Java se requiere declarar los valores con comillas, llaves y corchetes. Por ejemplo:

▶ Variable numérica:

▶ Variable de cadena de texto:

▶ Variable de arreglos:

▶ Variable de objetos:

vab = {color: amarillo, tamaño: grande}

¿Cómo declarar una variable de programación en Lenguaje C?

Por otra parte, en el Lenguaje C, definimos qué es una variable en programación con el primer término. Es decir, es importante saber el tipo de la variable, pues de esto dependerá cómo se declare. En el lenguaje de programación C, los siguientes códigos corresponden a las variables propuestas:

▶ int (integer) si quieres trabajar con variables numéricas de valores enteros

▶ float si quieres almacenar variables numéricas con decimales

▶ char si quieres trabajar con un sólo carácter

▶ string si quieres almacenar un texto (varios caracteres)

▶ boolean si quieres guardar valores booleanos, es decir, verdadero ( true) y falso ( false).

¿Cómo crear una variable de programación en Python?

En el caso de este lenguaje de programación, no es necesario colocar qué tipo de datos se van a almacenar en la variable. Por ejemplo:

total_Python = 10

En este ejemplo de variable de programación, se presenta una variable numérica y el valor que almacena es el número entero 10. No obstante, podríamos cambiar el valor por texto o números decimales e igual se visualizará correctamente.

¡Aprender qué es una variable en programación nunca fue tan sencillo! Ahora ya tienes a la mano algunos ejemplos de variables para que empieces tu carrera de programador. 😉

¡Esperamos que el artículo de hoy te haya sido útil! Sabemos que, a simple vista, todos los números, letras y símbolos de la programación web te pueden hacer sentir un poco abrumado. Pero, ahora que conoces qué es una variable en programación, diste el primer paso para iniciar en el mundo del coding y volverte un experto.

Recuerda que cada lenguaje de programación tiene sus propias reglas, a pesar de tener varias similitudes entre sí. Estudia tus favoritos e identifica cuál se adapta mejor a lo que estás buscando.

Si estás interesado en desarrollar tus habilidades como programador, te sugerimos navegar nuestros cursos online de Desarrollo web y tecnología. Ten en cuenta que adquiriendo la membresía premium, tienes acceso a todos estos, así como a nuestro catálogo de más de 600 clases en línea. ¿Te lo vas a perder? 😱

Muchas gracias por leernos, ¡nos vemos en el siguiente artículo! 🙌

# data[].attributes.attachment_link.title
💻 ¿Qué es una variable en programación? [2021]

# data[].attributes.attachment_link.description
Última actualización 4 de Junio del 2021 Tiempo de lectura: 7 min. ¿Te gustaría aprender de desarrollo web, pero todavía no sabes qué es una variable en programación? 😱 ¡No te preocupes! Hemos venido a sacarte de apuros. Definir qué es una variable en programación es quizá uno de los conceptos más importantes para aprender sobre coding y programación web.

# data[].attributes.body
Diferentes tipos de variable

1. Numérica: podemos almacenar números.  No necesitas agregar comillas, sólo el dígito.
2. Cadenas de texto: En el caso de una variable en programación que almacena texto, este necesita estar entre comillas.
3. Booleana: Este término se refiere a un valor lógico, que, en el caso de la programación, representa la dicotomía de verdadero y falso.

# data[].attributes.body
Características de una variable

Asignación de memoria:  la computadora le asigna a la variable una posición en su memoria, en función al tipo de datos que almacene la misma.
Declaración: asignarle un nombre y un tipo; de esta manera, el sistema le podrá otorgar una abstracción de la memoria para almacenar los datos y su valor.
Alcance: por medio del alcance se podrá determinar hasta dónde se puede leer o manipular la información o el valor de una variable.

# data[].attributes.body
¿Cómo funciona?
En primera instancia, se puede decir que una variable funciona tanto para guardar datos, así como para asignar y representar valores en una expresión de programación. Sin embargo, el objetivo principal de una variable en programación es facilitar la tarea del programador.

# data[].attributes.body
Es una unidad de almacenamiento y recuperación de datos con valores que pueden cambiar, la cual se identifica con un nombre único en el código del programa.

Una variable en programación es un elemento de datos con nombre cuyo valor puede cambiar durante el curso de la ejecución de un programa. International Business Machines Corporation, conocida mundialmente como IBM.

# data[].attributes.body
Si un video quieres, te dejo uno.

# data[].attributes.body
Esta información está muy limitada, como todos los conceptos aquí presentados, por lo que dejaré links a páginas donde presentan información mas completa. En el caso de algoritmos dejo el enlace a una página muy confiable de la Universidad Autónoma de Hidalgo.

# data[].attributes.attachment_link.readable_text
ALGORITMOS

Luis Alfredo Gómez Flores

Resumen

Con el objetivo de facilitar el proceso de aprendizaje que permite desarrollar las habilidades lógico - matemáticas el presente ensayo reúne los elementos necesarios para entender el análisis y solución de diversos problemas desde su enfoque matemático haciendo uso de una metodología básica, conceptos básicos e importantes como asignaciones, constantes, variables y formatos propuestos para resolver problemas haciendo uso de algoritmos mediante las herramientas de desarrollo de como lo son los diagramas de flujo y pseudocódigo.

De igual manera se distinguen las etapas del proceso informático, así como los distintos tipos de algoritmos

Palabras clave: Algoritmo, identificador, verificación, operadores, expresiones, variable, constante, estructura secuencial, decisión, repetitiva, diagrama de flujo y pseudocódigo

Abstract

With object to facility the process of learning and allows to develop skills logic mathematic. The present test together elements necessary to understand the analysis and solution of various problems. From his mathematical approach to using a methodology basic, basic concepts and importants, as assingments, constant, variables, and formats proposed for answer problems, using of algorithm through tools of development of diagram of issue and pseudocodigo. Similary distinguish stage of information process, issue different types of algorithm.

Keywords: Algorithm, Identifier, verification, operators, expressions, variable, constant, sequential structure, decision, repetitive, flowchart and pseudocode.

Introducción

"Todo el mundo en este país debería aprender a programar en un ordenador... porque te enseña a pensar." Steve Jobs.

Frase que hace pensar que cualquier persona es capaz de todo, siempre que sepa pensar, a un nivel más abstracto todo el mundo debería saber cómo resolver problemas mediante un algoritmo.

Los seres humanos somos entes pensantes y con capacidades únicas en cada uno de nosotros, capacidades que como sociedad hemos agrupado en diversas ramas del conocimiento con la finalidad de transformar nuestra habilidad en una herramienta para alcanzar metas en nuestro entorno.

Según Gardner todos los seres humanos tenemos un tipo de inteligencia y un método de aprendizaje distinto, entre ellas, destaca la habilidad lógico-matemática, inteligencia considerada como la inteligencia en bruto, es aquella que como su nombre indica es la que vincula a la habilidad ante el razonamiento lógico y la resolución de problemas matemáticos.

Mediante un test de inteligencias múltiples, desarrollado por Gardner, se puede medir el nivel desarrollado de cada inteligencia y el resultado indica que habilidades se tienen más desarrolladas, sin embargo no indica que las habilidades o inteligencias no se pueden desarrollar.

Al explotar cada una de las inteligencias se vuelven en habilidades, por ejemplo un artista que tiene en el la inteligencia musical, en base a ensayos y a un estudio del arte musical logra convertir la inteligencia en una habilidad para apreciar y criticar música, es decir al explotar su inteligencia obtiene una habilidad.

Tener una inteligencia distinta no indica que no pueda desarrollarse una habilidad en otro campo, indica que costará más trabajo obtener la habilidad.

Objetivos

Desarrollar la inteligencia lógico-matemática en realidad no es una tarea difícil, es una tarea que requiere de retar al cerebro a pensar, de encontrar diversos caminos para resolver un problema y principalmente de elegir el indicado.

El presente ensayo reúne definiciones, metodología básica y ejercicios para la resolución de problemas mediante algoritmos.

Algoritmos

Definición

La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX.

Un algoritmo es una serie de pasos organizados, que describe el proceso que se debe seguir, para dar solución a un problema específico. (Fadul, 2004).

Como tal pensar en un algoritmo, es pensar la forma en la que podemos resolver un problema paso a paso, si no se resuelve un paso del problema no se puede pasar al siguiente.

Características

Los algoritmos se caracterizan principalmente porque son:

Precisos: La palabra preciso indica que se distingue con claridad, de igual manera un algoritmo es claro en cada uno de sus pasos.

Definido: El algoritmo está delimitado, solo procesa la información y las operaciones que tiene, no realiza operaciones "fantasma", si se realiza el algoritmo dos o más veces con los mismo datos siempre dará el mismo resultado.

Finito: Refiriéndose esta característica a que un algoritmo siempre va a tener un fin, .

mediante esta característica el algoritmo se culmina la estructura de un algoritmo.

Estructura

Los algoritmos son pilares en la informática así como del desarrollo de sistemas, por lo cual la siguiente estructura no es solo de los algoritmos, es como tal la estructura del tratamiento automático de la información también conocido como procesamiento de datos.

1. Entrada: En los procesos informáticos, la entrada representa todos los datos que necesita el algoritmo para ser procesados, es la alimentación necesaria para que se puedan procesar los datos, pueden ser datos que introduzca el usuario del algoritmo o bien que se obtengan de alguna otra fuente.

2. Proceso: Formalmente un proceso es "Una unidad de actividad que se caracteriza por la ejecución de una secuencia de instrucciones, un estado actual, y un conjunto de recursos del sistema asociados". (Stallings), es decir, un proceso es la ejecución paso a paso de las instrucciones, cabe mencionar que un proceso consiste en un conjunto de pasos y nunca un paso puede saltarse otro.

3. Salida: Son los resultados que se desean obtener en la ejecución del algoritmo, cabe mencionar que aquí debe obtenerse la o las respuestas que resuelvan la problemática planteada para resolver mediante el algoritmo.

Metodología para la descomposición de un algoritmo

Una metodología es un conjunto de métodos utilizados para la investigación científica, en este paradigma, la metodología es la que permite diseñar los algoritmos que servirán para resolver los problemas específicos.

1. Definición del problema: Citando a Einstein, "si tuviera una hora para salvar el mundo, se iba a gastar cincuenta y cinco minutos definiendo el problema, y sólo cinco minutos para encontrar la solución", invertir tiempo en la definición del problema nos ayuda a no gastar tiempo replanteando el algoritmo. Este paso de la metodología debemos plantearnos la pregunta ¿Cuál es el problema en concreto?, visualizar la delimitación del problema, ¿Hasta dónde abarcará la solución del problema? y si es posible resolver el algoritmo o no, se sugiere documentar todo en un formato similar al siguiente

Tabla 1 Definición del Problema

2. Análisis: Una vez identificado y delimitado el problema, esta fase tiene el objetivo de dividir el problema en sus componentes y examinar de qué manera pueden unirse, en esta fase se deben contestar las siguientes preguntas:

a. ¿Qué se necesita para resolver el problema?

b. ¿Qué pasos son necesarios para resolver el problema?

c. ¿Qué se debe obtener para resolver el problema?

Una vez resueltas estas preguntas, es muy útil escribirlas en papel o en un medio electrónico con la finalidad de consultarlas cuando en las siguientes fases de la metodología, se sugiere la siguiente tabla:

Tabla 2 Análisis del Problema

Datos de entrada
(¿Qué necesito para resolver el problema)

Proceso
(¿Qué pasos son necesarios para resolver el problema?)

Salida
(¿Qué se obtiene al resolver el problema)

3. Diseño: El eminente matemático Donald E. Knuth, expresa en su famosa obra: El arte de programar computadoras, lo siguiente: "El proceso de preparar programas para una computadora digital tiene un atractivo especial, no sólo porque puede ser recompensado económica y científicamente, sino también porque puede ser una experiencia estética como la poesía y la música." Haciendo uso de alternativas de solución como lo son diagramas de flujo y pseudocódigo se indican los pasos que deberá seguir el algoritmo para obtener la solución del problema.

4. Verificación: Definido como la acción de comprobar o examinar la verdad de algo, aplicado al tema actual, es la fase que nos permite saber si el algoritmo cumplió o no su objetivo, para realizar la comprobación se le dan variables de entrada al algoritmo y se observan los resultados que arroja, por otra parte y haciendo uso de papel y lápiz se realiza una prueba de escritorio que consiste en realizar las operaciones que el algoritmo debe realizar y se comprueban los resultados obtenidos del algoritmo contra los resultados obtenidos en la prueba de escritorio, en caso de que ambos coincidan, se concluye que el algoritmo funciona para resolver el problema planteado, en caso contrario se debe volver a la fase de definición del problema para buscar el error. Para esta fase se sugiere el siguiente formato:

Tabla 3 Verificación

Variables de entrada

Operaciones Realizadas

Resultado Obtenido

Y responder la pregunta: ¿El resultado de la prueba de escritorio es el mismo que el arrojado por el algoritmo?, en caso de que la respuesta sea positiva, tendremos un algoritmo funcional.

Análisis del Problema

Como se mencionó anteriormente, esta fase tiene la finalidad de dividir el problema en sus componentes y examinar de qué manera pueden unirse, los componentes principales son:

a. Identificadores: Al igual que en algebra, los algoritmos funcionan mediante valores que pueden ser introducidos por los usuarios o valores que pueden contener los procesos, esos valores deben ser nombrados de alguna manera con la finalidad de poder identificados y usarlos, en pocas palabras es el nombre que se la da a las variables y constantes que se usan en el algoritmo.

b. Tipos de datos: Dicho mexicano dice, "Hasta en los perros hay razas" de igual manera en la informática hasta en los valores (variables y constantes) hay tipos, a diferencia de la rama canina, la raza en este caso son tipos y los tipos de datos más comunes son:

a. Numéricos: Son aquellos valores que solo pueden contener números, ya sean enteros, fraccionarios, positivos, negativos, reales o imaginarios con la finalidad de realizar operaciones aritméticas comunes.

b. Alfanumericos: Es una secuencia de caracteres que pueden ser números, letras o signos, estos pueden ser nombres, direcciones y en comparación con los numéricos, no se pueden realizar operaciones aritméticas con estos.

c. Lógicos: Son aquellos que solo pueden tener un valor, cierto o falso, ya que representan el resultado de una comparación de valores.

c. Variables: Son valores que van cambiando durante la ejecución de los procesos del algoritmo, en estas variables se van a guardar las operaciones que el algoritmo realice para resolver el problema. Cada variable tiene un identificador, pues es el nombre con el que se encuentra y un tipo de dato, que indica que datos podrá guardar que pueden ser números, letras o valores cierto o falso.

d. Constantes: Son datos que su valor no va a cambiar durante todo el desarrollo del algoritmo, las constantes pueden tener o no un identificador, pues estos valores pueden escribirse directamente al usar las operaciones o bien asignarle un identificador, las constantes también tienen un tipo de dato.

e. Operadores y expresiones: Son símbolos que tienen una función predefinida (suma, resta, multiplicación etc.) y que recibe sus argumentos de manera infija (luzumisu, s.f.), los operadores más utilizados son:

a. Aritméticos: Son los operadores que permiten realizar operaciones aritméticas y se enlistan en la siguiente tabla:

Ilustración 1 Tabla de Operadores Aritméticos

b. Relacionales: Estos operadores permiten evaluar la relación entre un par de operando (constantes o variables) y permiten devolver valores de cierto o falso.

Ilustración 2 Tabla de Operadores relacionales

c. Lógicos: Son operadores que permiten conectar un par de propiedades, es decir, nos permiten obtener una respuesta lógica de la comparación de dos operaciones.

Ilustración 3 Tabla de Operadores Lógicos

i. Los operadores lógicos tienen un conjunto de reglas llamadas tablas de verdad, las cuales permiten obtener el valor lógico a partir de dos operaciones a continuación se muestran las tablas de verdad de AND, OR Y NOT

Ilustración 4 Tabla de verdad de AND

Ilustración 5 Tabla de verdad de OR

Ilustración 6 Tabla de verdad de NOT

Las T significan "True" por su significado en ingles de Verdadero y F por "False" tomando el valor de falso. Para poner más en contexto las operaciones lógicas, se muestra un ejemplo

Ilustración 7 Ejemplo del uso de tablas de verdad

d. Jerarquía de Operadores: Para realizar operaciones como la anterior, se debe seguir un orden para la realización de operaciones:

Ilustración 8 Jerarquía de Operadores

Primero se realizan las operaciones que se encuentran ente paréntesis, si hay más de una operación dentro de un paréntesis de aplica el mismo criterio para realizar las operaciones en el orden indicado, posteriormente las potencias y raíces, multiplicaciones y divisiones, sumas y restas en ese orden, si un operador se encuentra dos veces, se realiza la operación que se encuentre primero de izquierda a derecha, posteriormente y también de izquierda a derecha se aplican los operadores relacionales y por último los operadores lógicos.

Diseño de Algoritmo (alternativas de solución)

Mediante las herramientas de diseño de algoritmos se pueden desarrollar los mismos, las alternativas de diseño de algoritmos son principalmente dos:

Diagrama de flujo

Representan de forma visual el flujo de los datos a través del tratamiento de información. Los diagramas de flujo describen que operaciones y en que secuencia se requieren para solucionar un problema dado

Los diagramas de flujo se dibujan generalmente usando algunos símbolos estándares. Algunos símbolos estándares, que se requieren con frecuencia para diagramar programas de computadora se muestras a continuación

Ilustración 9 Elementos de un diagrama de flujo

Reglas para la creación de Diagramas

Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a derecha.

Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica la dirección que fluye la información procesos, se deben de utilizar solamente líneas de flujo horizontal o verticales (nunca diagonales).

Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del diagrama a un sitio distinto, se pudiera realizar utilizando los conectores. Se debe tener en cuenta que solo se van a utilizar conectores cuando sea estrictamente necesario.

No deben quedar líneas de flujo sin conectar

Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el uso de muchas palabras.

Todos los símbolos pueden tener más de una línea de entrada, a excepción del símbolo final.

Solo los símbolos de decisión pueden y deben tener más de una línea de flujo de salida (unam.mx, s.f.).

Pseudocódigo

Es una técnica que sirve para escribir programas de computadora en lenguaje natural de tal manera que se facilite la comprensión, prueba y posterior codificación en un lenguaje de programación específico

Ventajas de utilizar un Pseudocódigo a un Diagrama de Flujo

Ocupa menos espacio en una hoja de papel.

Permite representar en forma fácil operaciones repetitivas complejas.

Es muy fácil pasar de pseudocódigo a un programa en algún lenguaje de programación.

Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación.

Prueba de escritorio: Todo algoritmo debe ser probado antes de ser ejecutado para tener la certeza de que lograremos el objetivo. La forma de probarlo es siguiente cada uno de los pasos que indica el algoritmo. A esto le llamaremos prueba de escritorio. En la prueba de escritorio, un algoritmo bien hecho siempre debe funcionar
Al poner en marcha los pasos del algoritmo para determinar si logrará o no el objetivo, tal vez se tengan que hacer algunas modificaciones hasta logar el objetivo esperado. El algoritmo debe ser lo suficientemente detallado para que no exista duda alguna al ejecutarse. (Chehaibar, 2007).

Algoritmos secuenciales

En este tipo de estructura las instrucciones se realizan o se ejecutan una después de la otra y, por lo general, se espera que se proporcione uno o varios datos, los cuales son asignados a variables para que con ellos se produzcan los resultados que representen la solución del problema que se planteó.

Los algoritmos tienen como fin actuar sobre los datos proporcionados por el usuario, a los que se les aplican procesos con el fin de generar la información o un resultado (Delgado).

Actividad de retroalimentación

Se requiere de un algoritmo que calcule el sueldo semanal o mensual de un trabajador de construcción, al empleado le pagan $50 pesos la hora y cada día trabaja durante 8 horas.

Fase 1 Definición del Problema

Tabla 1 Definición del Problema

Nombre del Problema

Sueldo de un trabajador

Delimitación

Obtener el sueldo semanal o mensual a partir del pago por horas y el número de horas trabajadas

Resultado deseado

Sueldo semanal del trabajador

Fase 2 Análisis del Problema

Datos de entrada
(¿Qué necesito para resolver el problema)

Proceso
(¿Qué pasos son necesarios para resolver el problema?)

Salida
(¿Qué se obtiene al resolver el problema)

Pago por hora

Número de horas trabajadas en un día

Número de días trabajados

Sueldo = (Pago por hora*Número de horas trabajadas en un día)*Número de días trabajados

Sueldo Semanal

Fase 3 Diseño del Algoritmo

Fase 4 Verificación

Variables de entrada

Operaciones Realizadas

Resultado Obtenido

Conclusiones

El diseño de algoritmos es realmente un arte que ayuda al desarrollo de la inteligencia lógico matemática, el hecho de resolver problemas no solo de índole lógico matemática permite aclarar el panorama y elegir la mejor opción para resolver la problemática. Las definiciones y metodología aquí mostrada, así como conceptos permiten entender todos los elementos de un algoritmo y que de esta forma se puedan diseñar los propios para resolver prácticamente cualquier problemática bien planteada.

Bibliografía

Chehaibar, C. Z. (2007). Fundamentos y prácticas de programacióin. Educaré.

Delgado, F. J. (s.f.). ALGORITMOS RESUELTOS CON DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO. Aguascalientes: UAA.

Fadul, A. O. (2004). Diseño Estructurado de Algoritmos. Colombia: Sincelejo.

luzumisu. (s.f.). luzumisu. Obtenido de luzumisu: http://luzumisu.over-blog.com/article-28322968.html

Stallings. (s.f.). Stalling. 5º edición.

unam.mx. (s.f.). UNAM. Obtenido de http://depa.fquim.unam.mx/amyd/archivero/Diagramasdeflujo_16845.pdf

Profesor de Investigación de la Escuela Preparatoria Número 4

Compartir en:

# data[].attributes.attachment_link.authors[].name
Universidad Autónoma del Estado de Hidalgo

# data[].attributes.attachment_link.description
Luis Alfredo Gómez Flores Resumen Con el objetivo de facilitar el proceso de aprendizaje que permite desarrollar las habilidades lógico - matemáticas el presente ensayo reúne los elementos necesarios para entender el análisis y solución de diversos problemas desde su enfoque matemático haciendo uso de una metodología básica, conceptos básicos e importantes como asignaciones, constantes, variables y formatos propuestos para resolver problemas haciendo uso de algoritmos mediante las herramientas de desarrollo de como lo son los diagramas de flujo y pseudocódigo.

# data[].attributes.body
Estructura

1. Entrada: En los procesos informáticos, la entrada representa todos los datos que necesita el algoritmo para ser procesados.
2. Proceso: Formalmente un proceso es "Una unidad de actividad que se caracteriza por la ejecución de una secuencia de instrucciones.
3. Salida: Son los resultados que se desean obtener en la ejecución del algoritmo.

# data[].attributes.body
Los algoritmos se caracterizan principalmente porque son:

Precisos: La palabra preciso indica que se distingue con claridad.
Definido: El algoritmo está delimitado, solo procesa la información y las operaciones que tiene.
Finito: Refiriéndose esta característica a que un algoritmo siempre va a tener un fin.

# data[].attributes.body
Un algoritmo es una serie de pasos organizados, que describe el proceso que se debe seguir, para dar solución a un problema específico. (Fadul, 2004).

# data[].attributes.body
Según Gardner todos los seres humanos tenemos un tipo de inteligencia y un método de aprendizaje distinto.

# data[].attributes.body
“Todo el mundo en este país debería aprender a programar en un ordenador… porque te enseña a pensar.” Steve Jobs.

# data[].attributes.body
Si quieres ver un video, también te dejo un link

# data[].attributes.attachment_link.title
Informática Básica: ¿Qué es un programa o aplicación?

# data[].attributes.attachment_link.description
Conoce las funciones principales de las aplicaciones o programas.

# data[].attributes.body
Hay dos tipos de programas computacionales

Programa de Sistema: crean el ecosistema perfecto para que el usuario pueda utilizar todas las funciones del ordenador.

Programa de Aplicación: son aquellos que permiten un control directo sobre los recursos del equipo.

# data[].attributes.body
¿Quieres saber más de este tema? te dejo un link a una página muy confiable donde explica de manera perfecta el tema, esto lo hago para no alargar este apartado.

# data[].attributes.attachment_link.readable_text
Cuando se desarrollaron las primeras computadoras, eran muy pocas las herramientas que se tenían para controlarlas. En aquel entonces se desarrollaron algoritmos para realizar ciertas tareas pero sin poder automatizarlas como tal.

Es ahí cuando nace la necesidad de unir varios algoritmos para crear herramientas más complejas que permiten controlar funciones más potentes de los ordenadores de la época. Estos son conocidos como programas informáticos, y su aparición ayudó a moldear la manera en la que utilizamos las computadoras actualmente.

Con su aparición se aceleró el crecimiento de las tecnologías informáticas, e hizo necesaria la creación de equipos más potentes que a su vez pudieran ejecutar programas más veloces y eficientes. En este artículo aprenderás todo lo que debes saber de ellos.

¿Qué es un programa informático y para qué sirven estas herramientas digitales?

Un programa informático no es más que una secuencia de instrucciones escritas en un lenguaje imperativo o declarativo, que tiene la capacidad de controlar y administrar los recursos de una computadora o dispositivo inteligente.

Los programas son un elemento de software indispensable para el funcionamiento de un ordenador, ya que estos son los que además de permitir diversas funciones, también es un enlace directo para que el usuario pueda utilizar el equipo con total libertad.

Los programas de computadoras son escritos en código matriz o código fuente, que es una secuencia de instrucciones escritas en lo que se conoce como "lenguaje de programación", que no es más que expresiones imperativas o declarativas que van indicando cada acción que el ordenador puede realizar con ellos.

El código fuente de un programa es realizado por programadores informáticos, que son profesionales con años de estudio y experiencia escribiendo todo tipo de software y dominan a la perfección los determinados lenguajes programáticos necesario para la creación de uno.

¿Qué tipos de programas informáticos existen y en qué se caracterizan cada uno?

La programación informática es un mundo muy complejo, pero su clasificación es mucho más simple de lo que piensas. Hasta la fecha se conocen dos tipos de programas de computadora, los cuales son clasificados según su naturaleza.

Estos son los programas más básicos, ya que crean el ecosistema perfecto para que el usuario pueda utilizar todas las funciones del ordenador, así como también permitir que ciertas aplicaciones sean ejecutadas. Estos son conocidos también como sistemas operativo.

Estos son los programas normales con los que interactuamos en nuestro ordenador, son aquellos que permiten un control directo sobre los recursos del equipo. Desde nuestro navegador web, pasando por el editor de texto hasta llegar a nuestro videojuego favorito. Todos aquellos programas ejecutados dentro de un sistema operativo entran en la clasificación de software de aplicación.

¿Cuáles son los elementos más importantes que componen un software?

Los software de computadora son archivos muy complejos, por lo que hay varios elementos importantes involucrados en el funcionamiento de uno.
A continuación te presentamos cuáles son:
Antes de siquiera definir el funcionamiento de un programa, es importante realizar la elección del lenguaje de programación. Esto se debe a que dicha decisión definirá en gran parte qué tan complejo y potente puede llegar a ser nuestro programa.

Esto se debe a que los lenguajes para programar tienen sus niveles de complejidad y sobre todo sus principios, teniendo cada uno determinadas características que lo hacen más o menos potente que otros. Por ejemplo, un lenguaje muy popular es el HTML5. Este es el más utilizado para desarrollar sitios web, pero para la creación de programas más complejos no es tan conveniente, por lo que generalmente en este tipo de proyectos es utilizado como complemento para lenguajes más potentes.

El código fuente es un archivo que contiene todo el código que da estructura a el programa, pues en él se encuentra línea por línea todas las órdenes que el equipo debe ejecutar para funcionar perfectamente. Este a su vez está escrito en algún lenguaje de programación que el desarrollador ha decidido.

El archivo ejecutable es un archivo binario, conectado directamente con el código matriz, que es utilizado por el usuario y el ordenador para iniciar cualquier programa de computadora. En este sentido existen dos tipos de ellos; portables y no portables.

Los ejecutables portables son aquellos que pueden ser ejecutados en varias plataformas sin limitaciones, como los tipo Java. Por su parte, los no portables son aquellos que solo pueden ser iniciados en una plataforma en concreto.

Un compilador es un programa que se utiliza para traducir las instrucciones de un programa escrito en un determinado lenguaje de programación a otro lenguaje. Dicho segundo lenguaje es generalmente de tipo máquina o en bytecode.

Cómo sabrás, los ordenadores sólo entienden un lenguaje, el cual es en código binario. Los lenguajes de programación no entran en esta categoría, y son generalmente útiles para ayudarnos a nosotros los humanos a programar. Sin embargo, después de necesita un elemento que traduzca dichas instrucciones a un código binario, y esa es precisamente la función del compilador.

"ACTUALIZADO ✅ Un programa informático es un conjunto de reglas escritas en código para que sean ejecutadas por un PC ⭐ ENTRA AQUÍ ⭐ y Aprende más del tema"

Los archivos objetos son resultado de la creación de un ejecutable por un compilador. En él se encuentran todas las líneas de código de cada una de las funciones que permite realizar un software, siendo estas consultadas por el equipo cuando el usuario indica realizar alguna de estas funciones en específico.

¿Qué es el ciclo de vida de un software y cómo funciona?

El ciclo de vida de un software es el proceso que incluye todas las fases por las que pasa un programa desde la concepción de su idea hasta su posterior lanzamiento al mercado. Generalmente, se siguen una serie de etapas que deben ser cumplidas para que el desarrollo del programa sea exitoso.

El ciclo de vida de un programa de computadora no es una receta de cómo hacer uno, sino más bien una guía de cuáles son los aspectos más importantes que debemos tener en cuenta al momento de diseñarlo y desarrollarlo. Sin embargo, no existe una sola forma de hacerlo y existen diversas corrientes de pensamiento o paradigmas para ello.
En ese sentido, los modelos más importantes son:

Modelo ágil: el desarrollo ágil de software es un método que minimiza al máximo los procesos y no sigue una línea ordenada para realizarlos, sino que los va cumpliendo según las necesidades del programa a medida que se desarrolla.

Cascada: este fue el primero y el más común y utilizado de todos. Se trata de un modelo en el que se establece una hoja de ruta ordenada de todos los procesos para el desarrollo del programa, que deben ser cumplidos en perfecto orden, siendo imposible comenzar uno sin haber iniciado el anterior.

Espiral: este modelo es muy similar al anterior, con la diferencia de que organiza las fases en ciclos de trabajo, con metas bien definidas. Cuando un ciclo termina, automáticamente inicia otro y así se crea una secuencia de trabajo bien ordenada con poco margen de error.

Orientado a objetos: es un modelo mucho más modular que permite que todas las fases del desarrollo del programa se divida en una serie de "mini-proyectos", los cuales hacen más fácil la consecución de objetivos y reduce los márgenes de error.

Code n fix: este modelo es más extremo que los demás y realmente no sigue un orden específico. En este se inicia inmediatamente a escribir código una vez se establece la intención del software, para luego entrar en una fase de testeo en la que se corrigen los posibles erroes sobre la marcha.

Prototipos: por último se encuentra este modelo que se basa en el desarrollo de prototipos los cuales serán mejorados y potenciados hasta conseguir una versión final y limpia del programa que se desea crear.

Si deseas conocer más sobre el ciclo de vida de un software puedes revisar el artículo que hemos escrito sobre el tema.

Lista de los programas informáticos más importantes y utilizados de la última década

Ahora que conoces todo lo que debes saber sobre los programas de computadora, es momento de refrescar la memoria hablando de los más importantes que han sido desarrollados en las últimas décadas:

Windows es un software de sistema o sistema operativo desarrollado por Microsoft. Desde su lanzamiento a finales del siglo XX, se ha ido actualizando hasta conseguir una versión muy sólida en su actual Windows 10. Sin embargo, a lo largo de su historia se pueden identificar otras versiones muy exitosas en su momento, como Windows XP o Windows 7.

Este es un software de aplicación utilizado para la edición de imágenes en mapa de bits. Si bien lo nombramos específicamente, hay que decir que sus desarrolladores, ADOBE, cuentan con los programas más representativos y potentes de este sector. Programas como Illustrator, Premiere Pro o After Effects son auténticos pilares de la industria audiovisual actualmente.

Otra joya de Microsoft que cambiaría totalmente la manera en la que veíamos los ordenadores en el pasado. Word es un motor de texto que te permite crear todo tipo de documentos en versión digital. El paquete Office al cual este pertenece, también incluye otros programas de ofimática conocidos como Excel, PowerPoint, entre otros.

Solitario es uno de los juegos de computadora más míticos que hay. Fue incluido en versiones de los 90 de Windows, y desde siempre fue uno de los favoritos de los usuarios. Sabemos que hay un millón de juegos mejores que este, pero en cuanto a importancia histórica se refiere, ninguno como el Solitario, por lo que hemos decidido ponerlo a modo de homenaje.

Uno de los navegadores de internet más importantes de la historia. Si bien durante la década pasada sufrió un bullying cataclísmico, nadie puede quitarle lo bailado ya que en su momento fue el más veloz de todos, especialmente en versiones como Windows XP. Actualmente está por detrás de Chrome o Mozilla, pero a nivel histórico siempre estará por encima de ellos.

Si te quedaste con alguna duda, déjalas en los comentarios, te contestaremos lo antes posible, además seguro que será de gran ayuda para más miembros de la comunidad. Gracias! 😉

Temas

# data[].attributes.attachment_link.title
【 Programa Informático 】¿Qué es y Para Qué Sirve? Lista ▷ 2021

# data[].attributes.attachment_link.description
Cuando se desarrollaron las primeras computadoras, eran muy pocas las herramientas que se tenían para controlarlas. En aquel entonces se desarrollaron algoritmos para realizar ciertas tareas pero sin poder automatizarlas como tal. Es ahí cuando nace la necesidad de unir varios algoritmos para crear herramientas más complejas que permiten controlar funciones más potentes de los ordenadores de la época.

# data[].attributes.body
¿Cómo funcionan?
Un programa informático no es más que una secuencia de instrucciones escritas en un lenguaje imperativo o declarativo, que tiene la capacidad de controlar y administrar los recursos de una computadora o dispositivo inteligente.

# data[].attributes.body
Un programa informático no es más que una secuencia de instrucciones escritas en un lenguaje imperativo o declarativo, que tiene la capacidad de controlar y administrar los recursos de una computadora o dispositivo inteligente.

# data[].attributes.headline
Conceptos básicos para Métodos Numéricos 

# data[].attributes.subject
Conceptos básicos para Métodos Numéricos 