Está en la página 1de 11

1.

Introducción a algoritmos y diagramas de


flujo
1.1 Algoritmos
1.2 Estructuras de control
1.2.1. Secuencia
1.2.2. Decisión
1.2.3. Repetición
1.3 Diagramas de flujo
1.4 Pseudocódigo
1.5 Subalgoritmos
1.6 Algoritmos básicos
1.6.1. Métodos de ordenación
1.6.2. Búsqueda
1.7 Recursividad

Figura 2. Question (Geralt, 2015).

¿Alguna vez has programado?, o te has preguntado ¿qué es la programación?,


¿cómo escribir un programa?, ¿qué necesitas para hacerlo?

Concepto Clave

Un programa es un conjunto de instrucciones que le indican a la computadora


qué pasos debe realizar para resolver un problema, situación o para llevar a cabo
alguna acción.
Figura 3. Female working on laptop (Imagerymajestic & Freedigitalphotos.net, 2012).

Este conjunto de instrucciones le permiten (aunque tú no lo veas) al usuario


comunicarse con la computadora (chips, memoria, disco duro); por ejemplo:
cuando quieres escribir un documento en Microsoft Word, necesitas abrir el
programa y al hacerlo empezarás a escribir tu documento; sin embargo si quieres
guardarlo, debes darle a la computadora esa instrucción, y para ello presionas el
botón Guardar. Este programa fue desarrollado por un grupo de expertos que
traducen tus indicaciones a un conjunto de comandos que le dirán a la
computadora que guarde el documento.

Para poder desarrollar o crear programas computacionales que permitan esta


interacción entre el usuario y la computadora se requiere del uso de un lenguaje
de programación, al cual se le agregarán este conjunto de instrucciones. Aunque
suene fácil, para desarrollar un programa se necesita que se lleven a cabo las
siguientes fases:

Haz clic en cada uno de los círculos para que ahondes en las fases del
desarrollo de un programa.

Figura 4. Fases del desarrollo de un programa.


Introducción
¿Y para qué saber sobre los lenguajes de programación?

Figura 1. The source (Fris, 2003).

En la actualidad, con la creciente necesidad de tecnología en software que requiere


de desarrollos en los diversos lenguajes de programación es de gran relevancia
tener una sólida base, tanto de conceptos, como de competencias en el tema; por
ello es necesario que cuentes con un panorama general de los lenguajes de
programación, sus características y potencialidades.

El Ingeniero en Gestión de Tecnologías de Información debe poseer la


capacidad de elegir de manera exitosa el lenguaje de programación que le permita
brindar de forma satisfactoria una asesoría y/o realizar la implementación de un
desarrollo tecnológico que involucre programas computacionales; por ello es
necesario que cuentes con un panorama general de los lenguajes de
programación, sus características y potencialidades.

1. Lenguajes de programación
1.1 Evolución de los lenguajes de computadora
1.1.1 Lenguaje máquina
1.1.2 Lenguajes simbólicos
1.1.3 Lenguaje de alto nivel
1.1.4 Lenguajes naturales
1.2 Categorías de lenguajes (de acuerdo al método que
utilizan para resolver un problema)
1.2.1 Lenguajes procedurales (imperativos)
1.2.2 Lenguajes orientados a objetos
1.2.3 Lenguajes funcionales
1.2.4 Lenguajes declarativos
1.2.5 Lenguajes especiales
Lee con atención lo siguiente:

Situación

En el gobierno de tu ciudad desean realizar un sistema de información que pueda


mantener el registro del impuesto del pago del agua por cada contribuyente y con
ello establecer un historial con base en tres clasificaciones:

 Contribuyente responsable.
 Contribuyente regular.
 Contribuyente moroso.

Figura 2. Paper work (Thomaidis, 2007).

El contribuyente responsable es aquel que siempre cumple con sus cuotas sin
ningún atraso y por lo que aprovecha los descuentos que la administración le
brinda; el contribuyente regular es el que no tiene un criterio definido, en algunas
ocasiones paga en tiempo y en otras se demora; finalmente, el contribuyente
moroso, es quien por lo general siempre está demorado en sus pagos.

Este sistema de información será utilizado por las personas que laboran en el área
de cajas, por lo que debe tener una interfaz amigable y de utilización sencilla,
además de ser rápido en las búsquedas de información.

Con base en esta pequeña lista de características, al analizar el contenido de esta


Lección, te podrá brindar una justificación del lenguaje de programación que más
se adapte a las necesidades de la administración local.

¿Cómo se lleva a cabo la asesoría y recomendar el lenguaje de programación que


se necesita utilizar? Bien, lo primero es conocer los lenguajes de programación,
sus características y usos más comunes.

Lectura

Para ello revisa con mucha atención la siguiente Lectura:

 Lenguajes de programación
NOTA: es importante que revises esta Lectura para poder realizar la Evidencia de
Aprendizaje.

2. Estructura de un programa
2.1 Concepto de programa
2.2 Estructura de un programa
2.2.1 Escritura y edición
2.2.2 Compilación
2.2.3 Ligador
2.2.4 Ejecución
Ahora que tienes un contexto de lo que son los lenguajes de programación y cómo
han evolucionado, sabes que los lenguajes están hechos para crear programas.

Aunque se escuche sencillo para escribir o crear un programa, se requiere que


lleves a cabo las siguientes fases:

 “Escribir y editar el programa.


 Compilar el programa.
 Vincular el programa con los módulos de biblioteca requeridos” (Forouzan, 2003,
p.169).

Lectura

Para conocer a detalle cada una de las fases anteriormente mencionadas revisa la
siguiente Lectura:

 Conceptualización y descripción de un programa

NOTA: es importante que revises esta Lectura para poder realizar los Controles de
lectura y la Evidencia de Aprendizaje.

Enlace

Con el fin de fortalecer tus conocimientos sobre lenguajes de programación y


programas informáticos, te invito a revisar el contenido de los enlaces que podrás
encontrar en el siguiente Recurso:

 Buscador UVEG

Posteriormente, realiza los Controles de lectura los cuales te servirán para


reafirmar los conocimientos adquiridos en las Lecturas correspondientes a esta
Lección.
Cierre
A lo largo de esta Lección se logró conceptualizar y ejemplificar de forma abstracta
las diferentes metodologías utilizadas por los lenguajes de programación para
resolver un problema, los cuales son los siguientes:

 Lenguaje máquina que es el lenguaje de programación de más bajo nivel


porque únicamente utiliza secuencias de bits. El lenguaje mnemotécnico fue el
segundo lenguaje de programación utilizado por los programadores en los años
50, también considerado como de bajo nivel. Fue en la década de l960 cuando
empezaron a surgir los famosos lenguajes de alto nivel que hasta nuestros
días siguen utilizándose, aunque con metodologías muy particulares como lo son
la imperativa, funcional, lógica, orientada a objetos y aquellas que son sin
categoría específica.

Todos los lenguajes de programación tienen como su propósito principal el generar


programas, los cuales de acuerdo Beekman (2005) son “un conjunto de
instrucciones informáticas diseñadas para resolver un problema” (p. 123).
Además, considera que:

Concepto clave

Un programa bien diseñado es el encargado de indicarle a la computadora


que ejecute una secuencia de operaciones sencillas que, tomadas en
conjunto, imprimen un informe, organizan las notas de los alumnos de una
escuela o simulan un vuelo espacial (Beekman, 2005, p. 125).

Notas

Imprimir
1. Escribir un programa
1.1. Identificadores
1.2. Tipos de datos
1.3. Declaración y definición de variables
1.4. Constantes
1.5. Entrada
1.6. Salida
1.7. Operadores
1.8. Instrucciones
1.9. Funciones
1.9.1. Declaración
1.9.2. Definición
1.9.3. Llamada
1.10. Selección
1.11. Repetición
1.12. Cíclicos
Lee con atención la siguiente situación:

Situación

Una empresa del sector privado requiere de los servicios de un Ingeniero en


Gestión de Tecnologías de Información (IGTI) para realizar una reingeniería
a un software que posee, ya que éste no lleva a cabo de manera correcta el
trabajo para el cual fue comprado. Después de analizar la problemática y
factibilidad, se obtuvieron los siguientes aspectos.
Figura 2. Flowchart diagram (Sheelamohan & Freedigitalphotos.net, 2011).

La empresa cuenta con:

 Diagrama de flujo del software actual


 Código fuente del software actual
 Presupuesto para la reingeniería

El IGTI plantea lo que le correspondería realizar para llevar a buen término el


proyecto propuesto por la empresa privada:

 Es necesario optimizar el código fuente actual, debido a que consume


muchos recursos computacionales y la metodología de programación no es
la idónea para la problemática.
 Se requieren completar varias tareas que necesita el software pero
actualmente no dispone de ellas.
 Tiene bastantes errores en su ejecución debido a que los tipos de datos no
son los correctos y por lo general termina abruptamente la aplicación.
 Es necesario reescribir un gran porcentaje del código fuente actual para
hacerlo más eficiente y menos propenso a fallas.

El IGTI al plantear una propuesta de manera rápida y eficaz, ha mostrado tener los
conocimientos suficientes de programación, análisis y planificación de proyectos
computacionales, los cuales forman parte de los principales pilares de las
Tecnologías de Información; por lo que debido a ello, se perfila como la persona
idónea para desarrollar tal reingeniería.

Figura 3. Balloon cartoon bubble speech communication (OpenClipart-Vectors, 2015).

¿Sientes que serías capaz de trabajar en un proyecto así?


Esto es muy común en los trabajos. ¿Qué crees que necesitarías hacer y
sobre todo, saber hacer?

Para responder estos cuestionamientos y tener un panorama más amplio de lo que


se debe considerar al momento de comenzar a programar, es necesario
comprender que más allá del lenguaje de programación, es importante saber
interpretar un diagrama de flujo y convertirlo a programa.

A fin de que conozcas más al respecto, realiza lo que se pide a continuación:

Lectura

Revisa la siguiente Lectura:

 Escribir programas a partir de un diagrama de flujo

NOTA: es importante que revises esta Lectura para poder realizar el Ejercicio de
control y las Evidencias de Aprendizaje.

Ya que revisaste los pasos o manera en la que se interpreta un diagrama de flujo


(DF), para convertirlo a un programa utilizando la sintaxis de un lenguaje de
programación, revisa la lectura que se presenta a continuación:

Lectura

Revisa la siguiente lectura:

 Sintaxis de los aspectos generales de un lenguaje de program


ación

NOTA: es importante que revises esta Lectura para poder realizar el Ejercicio de
control y realizar las Evidencias de Aprendizaje.

Finalmente revisa la lectura sobre escritura de estructuras de control, las cuales se


requieren para indicarle a la computadora qué acciones debe realizar.

Lectura

Revisa la siguiente lectura:

 Análisis y escritura de las estructuras de control

NOTA: es importante que revises esta Lectura para poder realizar el Ejercicio de
control y realizar las Evidencias de Aprendizaje.
Enlaces

Con el fin de fortalecer tus conocimientos sobre las consideraciones y elementos


que debes tener en cuenta para escribir un programa, te invito a revisar el
contenido de los enlaces que podrás encontrar en el siguiente Recurso:

 Buscador UVEG

Realiza el Ejercicio de control, el cual te servirá para reafirmar los conocimientos


adquiridos en las Lecturas correspondientes a esta Lección.

Problema 2.- Programa que muestra el producto total de 15 datos ingresados por el usuario.
Analiza muy bien el siguiente código incorrecto y responde a las preguntas que aparecerán a
continuación.
Código
#include int main(int argc, char *argv[])
{
int Tabla,prod=0,i;
for (i=0; i < 15)
{
printf("Ingresa el dato %d:", i+1);

}
for (i=0; i< 15;i++)
{
prod *= Tabla;
}
printf("el producto total es: %d\n",Tabla);
system("PAUSE");
return 0;
}
Preguntas
1.- ¿Cuál es la variable que se encuentra mal declarada al inicio del programa?

Tabla

producto
i
dato
Puntúa 0 sobre 1

La respuesta correcta es: Tabla

2.- La variable "prod”, ¿ayuda a resolver lo planteado por el problema?


No
Puntúa 1 sobre 1

La respuesta correcta es: No

3.- ¿Qué sentencia hace falta en el primer for del programa para realizar su tarea
correctamente?

break
secuencia de escape

scanf
printf
Puntúa 1 sobre 1

La respuesta correcta es: scanf

4.- La sentencia que se encuentra dentro del segundo "for”, ¿realiza correctamente su tarea?

No
Puntúa 1 sobre 1

La respuesta correcta es: No

5.- La variable que despliega el total por pantalla, ¿es la correcta?

No
Puntúa 1 sobre 1

La respuesta correcta es: No

También podría gustarte