Está en la página 1de 24

SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

INTRODUCCIÓN A LA PROGRAMACIÓN

SEMANA 3
Principios de programación estructurada

Todos los derechos de autor son de la exclusiva propiedad de IACC o de los otorgantes de sus licencias. No está
permitido copiar, reproducir, reeditar, descargar, publicar, emitir, difundir, poner a disposición del público ni
utilizar los contenidos para fines comerciales de ninguna clase.
IACC
1
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

RESULTADO DE APRENDIZAJE
Determinar el paradigma de la programación
estructurada distinguiendo sus herramientas
básicas.

IACC
2
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

RESULTADO DE APRENDIZAJE ............................................................................................................. 2


INTRODUCCIÓN ................................................................................................................................... 4
1. EL PARADIGMA DE LA PROGRAMACIÓN ESTRUCTURADA.......................................................... 5
1.1. CARACTERÍSTICAS FUNDAMENTALES ................................................................................. 8
1.2. POTENCIALIDADES ............................................................................................................ 10
1.3. FUNCIONALIDADES ........................................................................................................... 12
1.4. VENTAJAS Y DESVENTAJAS ................................................................................................ 12
2. HERRAMIENTAS BÁSICAS DE LA PROGRAMACIÓN ESTRUCTURADA ........................................ 13
2.1. LENGUAJE DE PROGRAMACIÓN ........................................................................................ 13
2.2. ALGORITMO ...................................................................................................................... 13
2.3. DIAGRAMA DE FLUJO ........................................................................................................ 14
2.4. PSEUDOCÓDIGO ................................................................................................................ 19
COMENTARIO FINAL.......................................................................................................................... 22

IACC
3
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

INTRODUCCIÓN
Conocer los fundamentos de la necesario dominar las diferentes
programación es una herramienta herramientas para representar estos
fundamental en la actualidad. La algoritmos, ya sean diagramas de flujo,
programación intenta resolver problemas pseudolenguaje o programas en un lenguaje
que surgen a diario por medio de la de programación.
automatización de tareas, pero basándose
en ciertas metodologías o paradigmas que Lo indispensable en este tema no es apenas
sustenten la implementación lógica y el aprender a desarrollar programas de
procesamiento electrónico de los datos. computador, sino poder plantear problemas,
organizar su solución y estructurar una
El concepto de un algoritmo es fundamental secuencia lógica de pasos que sea entendible
a la hora de comprender el funcionamiento y y permita tomar decisiones. Solo con esto se
la operación de un computador, por esto, es refuerza y se logra un pensamiento lógico.

Fuente: https://goo.gl/uA1WL4

“Hay dos formas de construir un diseño de software. Una


forma es hacerlo tan simple que es obvio que no hay deficiencias.
Y la otra es hacerlo tan complicado que no hay deficiencias
obvias”

C.A.R. Hoare

IACC
4
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

1. EL PARADIGMA DE LA PROGRAMACIÓN ESTRUCTURADA


De acuerdo con Vaca (2011), un paradigma de programación en general indica el método que se
utiliza para realizar los cómputos y la manera en que se deben estructurar y organizar las tareas
para llevar a cabo un programa.

La siguiente imagen describe que un código informático o programa puede estar compuesto por
módulos, procedimientos, control de flujos de datos y acciones elementales como operaciones
aritméticas y lógicas. Todas estas estructuras deben relacionarse con los datos para lograr el
procesamiento electrónico, sin embargo el método que ha de seguir el programador deberá
contar con una estructura en función del tipo de programación que este utilice. En estas
metodologías se pueden mencionar:

 El paradigma modular, procedimental y el estructurado. De tipo imperativos.


 El paradigma orientado a objetos, o a eventos.
 El paradigma de programación genérica y el paradigma de programación concurrente.

Figura 1. Los paradigmas de programación


Fuente: https://goo.gl/jatStU (p. 4)

IACC
5
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

Se recomienda revisar el siguiente enlace para conocer detalles y


ejemplos de los paradigmas mencionados:

https://goo.gl/EUvb4j

Martínez (2003) señala que el paradigma de programación estructurado tiene por objeto lograr
una definición completa del sistema en términos de funciones. Esto, ya que se realiza un análisis y
una descomposición funcional de procesos en otros de menor nivel.

En este sentido Martínez (2003) destaca los siguientes pasos:

 Definición del problema: esta etapa consiste en el análisis en el cual se planea lo que se
requiere programar. Aquí se determinan los requerimientos del sistema. Se define la
terminología del cliente, se plantean alternativas de solución y los desarrolladores o
programadores plantean la solución más viable para la elaboración del software o sistema.
De acuerdo a lo expresado por Fairley (1990), para definir un problema es necesario:

1) Desarrollar un enunciado claro del problema a resolver. Incluir una descripción


precisa de la situación actual, problemas, limitaciones y restricciones y señalar las
metas que se pretenden lograr. El enunciado del problema debe de realizarse
empleando terminología del cliente (glosario de terminologías).
2) Justificar por qué se debe desarrollar el programa o sistema.
3) Identificar los módulos y las funciones por realizar, las limitaciones y todos los
requerimientos técnicos y operativos.
4) Determinar los objetivos y requisitos en el nivel del sistema para el proceso de
desarrollo y los productos finales.
5) Establecer los criterios de alto nivel para la aceptación del sistema por parte de los
usuarios finales y el cliente.

 Aspecto ambiental (diagrama de contexto): este aspecto se centra en que el desarrollador


conozca el contexto o ambiente del programa a diseñar. Todo sistema tiene un entorno
que lo rodea; su ambiente, por tanto, será un sistema que recibirá entradas y generará
salidas.

IACC
6
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

Ya que los sistemas se construyen para un propósito en específico, las salidas se producen
de acuerdo a estímulos del ambiente, por lo tanto, otro de los aspectos importantes de
este modelado es identificar los acontecimientos que ocurran en el ambiente y a los cuales
el sistema debe responder de algún modo. Una herramienta utilizada en esta etapa es el
diagrama de contexto.

Figura 2. Diagrama de contexto


Fuente: https://goo.gl/aPsamr

El ejemplo del diagrama plantea el diseño de un sistema de cajeros automáticos (ATM), y se


mencionan todos los sistemas que se asocian o se relacionan con el diseño que se plantea, con la
finalidad de conocer el contexto o ambiente que tiene relación con el proyecto a realizar.

 Aspecto de comportamiento (diagrama de flujo de datos, especificación de procesos,


diagrama de transición de estados). Estas representaciones buscan conocer los procesos y
su relación entre ellos. Los diagramas son más complejos y representan relaciones
internas del futuro sistema a diseñar.
 Aspecto de información (diagrama de entidad relación, diccionario de datos): este aspecto
se centra en conocer la estructura y coherencia de los datos, específicamente la relación
entre ellos en función de las reglas establecidas. Un diagrama que permite evaluar estas
relaciones es el modelo entidad relación.

IACC
7
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

Figura 3. Ejemplo de un modelo entidad relación.

Fuente: https://goo.gl/nGCFUZ

El diagrama anterior muestra en un sistema de ventas la relación entre pedidos y clientes.


Además, se puede observar que todo pedido tiene artículos, los cuales se venden por cantidad y
número de serie dentro del pedido.

1.1. CARACTERÍSTICAS FUNDAMENTALES


De acuerdo con Ecured (s.f.), la programación estructurada permite desarrollar algoritmos a través
de módulos, los cuales realizan tareas específicas. Así, el módulo se define una sola vez y se llama
tantas veces como sea necesario, mediante el nombre que lo identifica. La forma gráfica que lo
representa es la siguiente:

Figura 4. Estructura modular de la programación estructurada.

IACC
8
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

Utiliza las siguientes estructuras de control: secuenciación, selección e interacción. Estas


estructuras permiten procesar cualquier tipo de datos.

Algunas características distintivas son: la programación estructurada está compuesta de


segmentos de código o módulos. Cada uno de los segmentos cuenta con entradas y salidas.

Figura 5. Entradas y salidas de los segmentos.

Lo anterior permite que los programas sean leídos de manera estructurada, es decir, de inicio a
fin.

La programación estructurada busca que los programas tengan una secuencia, es decir, que se
pueda evidenciar que existe un orden en las instrucciones de los mismos.

Figura 6. Orden de las instrucciones en un programa.

 Tienen una posibilidad de selección entre instrucciones, esto en función de un proceso


condicional o de toma de decisiones que evalúa una condición.

IACC
9
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

Figura 7. Toma de decisiones en una condición

En la figura 7 se muestra un módulo 1, que de acuerdo a cierta condición puede decidir si se


selecciona el módulo 2 y 3.

 La programación estructurada cuenta con una estructura iterativa o cíclica, es decir,


alguna instrucción puede repetirse de acuerdo a alguna condición evaluada en el
programa.

Figura 8. Estructura cíclica o bucles en programación estructurada

Se ejecutan las instrucciones del módulo 1, luego se avanza al módulo 2 y en el módulo 3 se tiene
una condición que puede llevar al usuario al módulo 4 o regresar, si no cumple la condición, al
módulo 1.

1.2. POTENCIALIDADES
La potencialidad radica en que se utiliza un diseño descendente y además se utilizan recursos de
datos abstractos. Esta abstracción consiste en descomponer una tarea en partes que se puedan
resolver de manera más localizada.

El diseño descendente, de acuerdo con Joyanes (2008), se define como desarrollo TOP.DOWN, que
contempla la división de un problema en componentes de tamaños más manejables, mientras que
el diseño modular implica que las tareas se agrupan de acuerdo a sus funciones.
Así, el diseño descendente relaciona las diferentes etapas o segmentos, lo que hace que un
programa tenga coherencia y jerarquía.

IACC
10
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

Figura 9. Ejemplo de modelo descendente.


Fuente: https://goo.gl/k9u1P8

Lo que define finalmente la potencialidad son las estructuras de control que permiten el manejo
de cualquier relación existente entre los datos (las variables) del programa. Estas estructuras
definidas en las características son: estructuras secuenciales, estructuras selectivas y las
estructuras iterativas o repetitivas.

IACC
11
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

Figura 10. Estructuras de control


Fuente: https://goo.gl/dYaDZH

1.3. FUNCIONALIDADES
La funcionalidad es una técnica muy fácil de ejecutar y genera muchas más ventajas que
problemas al programador. Es funcional también por el tiempo que se invierte en comparación a
otros paradigmas de programación.

1.4. VENTAJAS Y DESVENTAJAS


El autor Joyanes (2008) define las principales ventajas y desventajas de este tipo de programación:

Ventajas Desventajas
 Los programas son más fáciles de  Se obtiene un único bloque del
comprender y de leer ya que son programa que, cuando se hace
leídos de forma secuencial. demasiado grande, puede ser
 La estructura de los programas es problemático para el manejo del
clara y precisa. Las instrucciones se código fuente.
relacionan entre sí.
 Reducción de esfuerzo en las pruebas
por parte del equipo de desarrollo
del programa o programados.
También se simplifica el proceso de
depuración y corrección de errores.
 Se incrementa el rendimiento del

IACC
12
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

programador, esto ya que no


reescribe el código, hace de las líneas
de programación códigos reusables.
 Hay más rapidez en la confección del
programa.

2. HERRAMIENTAS BÁSICAS DE LA PROGRAMACIÓN


ESTRUCTURADA
A continuación se presentan algunas herramientas que permiten resolver problemas bajo el
paradigma de la programación estructurada.

2.1. LENGUAJE DE PROGRAMACIÓN


Un lenguaje de programación es una herramienta de software que permite la elaboración de
programas informáticos por medio de una estructura lógica (sintáctica y semántica) y que utiliza
palabras reservadas que están diseñadas para realizar el procesamiento de electrónico de datos
de un algoritmo. Algunos de estos lenguajes son: C, C++, Java, Pascal, entre muchos otros. Esta
herramienta es la traducción electrónica de un algoritmo, diagrama de flujo o pseudocódigo.

2.2. ALGORITMO
De acuerdo con Avalos (2010), un algoritmo es una secuencia o conjunto de pasos lógicos que son
necesarios para llevar a cabo una tarea específica o para generar una respuesta o salida
determinada, como la solución de un problema. Los algoritmos son independientes del lenguaje
de programación que se seleccione para programarlo, es decir, de la herramienta que se utilice
para programar un algoritmo.

IACC
13
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

Un algoritmo se define como un conjunto de pasos estructurados y


secuencias con el objeto de llegar a una meta u objetivo final. Al
implementar un algoritmo bajo un lenguaje de programación se
obtiene un programa informático. Sin embargo, este concepto es el
más general ya que un algoritmo se puede implementar
gráficamente por medio de un diagrama de flujo, como también a
través de un lenguaje semiestructurado con palabras claves,
utilizando un pseudolenguaje.

2.3. DIAGRAMA DE FLUJO


De acuerdo con el portal web área tecnología (s.f), se puede definir un diagrama de flujo como una
representación que describe un proceso, un sistema o algoritmo informático.

Los diagramas de flujo utilizan figuras como rectángulos, óvalos, rombos y flechas (líneas con
dirección y sentido) que se relacionan con conectores para establecer el flujo y la secuencia, es
decir, mantienen las características de la programación estructurada. Pueden variar desde
diagramas simples y dibujados a mano hasta diagramas complejos creados por un computador y
que describen múltiples pasos y rutas. El portal web área tecnología (s.f)señala que dentro de la
programación estructurada específicamente estos diagramas permiten:

 Demostrar cómo el código está organizado y presentado.


 Visualizar la ejecución de un código dentro de un programa.
 Mostrar la estructura de un sitio web o aplicación.
 Comprender cómo los usuarios utilizarán el programa o sistema.

IACC
14
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

Figura 11. Ejemplo de un diagrama de flujo.

Fuente: https://goo.gl/vJSxtV

A continuación, se presentan algunas reglas para diseñar diagramas de flujo, según el portal web
área tecnología (s.f)

1) Todos los símbolos han de estar conectados, no existen símbolos aislados en el diagrama.
La unión entre los símbolos se debe realizar mediante flechas conectoras.
2) A un símbolo de proceso no pueden llegarle varias líneas. Es decir, un proceso solo puede
tener una entrada.
3) A un símbolo de decisión pueden llegarle varias líneas, pero solo saldrán dos (sí o no,
verdadero o falso). El valor de la salida depende de la evaluación de la condición que se
presente.
4) A un símbolo de inicio nunca le llegan líneas de salida. Hay distinción entre entradas y
salidas.
5) De un símbolo de fin no parte ninguna línea. Es decir, al culminar el algoritmo no puede
continuar su ejecución con otros procesos.

Para profundizar revisar el siguiente enlace:

https://goo.gl/7KHqzu

IACC
15
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

La simbología general para realizar un diagrama de flujo se puede observar en la siguiente imagen:

Figura 12. Simbología de un diagrama de flujo.

Fuente: https://goo.gl/ogTPe7

A continuación, se presentan algunos ejemplos del uso de la simbología en diagramas de flujo:

IACC
16
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

Ejemplo 1: Diagrama de flujo

Fuente: https://goo.gl/3Mw954

En el ejemplo anterior se presenta un algoritmo que comienza y termina con un óvalo que
representa el inicio y el fin. Todo diagrama de flujo debe comenzar con estos símbolos.

Luego se observa un bloque de lectura de datos; en este caso se leen los datos a y b, que son
números que se almacenan en esas variables respectivamente.

Luego se puede identificar un proceso de cálculo, el cual tiene una entrada y una salida en el
diagrama y consiste en asignarle a la variable suma la operación de sumar a + b. Estos datos
sumados se envían a un proceso de salida (que también se puede representar con el símbolo de
lectura). En esta salida se muestra el valor de la suma. Finalmente termina el diagrama.

Como segundo ejemplo, se plantea un diagrama de flujo con una toma de decisiones:

IACC
17
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

Ejemplo 2: Diagrama de flujo- condicional

Fuente: https://goo.gl/Ad8ozp

En el ejemplo anterior, el algoritmo inicia y finaliza con los óvalos. Se tiene un primer paso en el
cual se lee un dato, el que es evaluado posteriormente en un rombo que representa una decisión.
Esta decisión consiste en aplicar la operación MOD, es decir, una división del número que ingresó
(N)/ 2: si el resto es 0, entonces se cumple la condición y se muestra como salida que el número es
par. De lo contrario, se muestra en el flujo la opción NO, indicando con ello que el número no es
par. En ambos casos finaliza el diagrama de flujo.

IACC
18
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

El siguiente enlace muestra un conjunto de ejercicios resueltos sobre


los diagramas de flujo:

https://goo.gl/qzu3U4

2.4. PSEUDOCÓDIGO
Esta herramienta consiste en escribir algoritmos utilizando un lenguaje común que puede
contener palabras claves en español o en inglés y que hacen referencia a una lógica de
programación. El pseudocódigo permite expresar lo que se quiere hacer o desarrollar, para
posteriormente implementarlo en un lenguaje de programación.

Ejemplo de Pseudocódigo

Fuente: https://goo.gl/w4tQqY

IACC
19
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

En el ejemplo anterior se tiene el pseudocódigo de un proceso que determina cuál es el mayor


entre dos números. Es importante destacar que se tienen los mismos componentes que utilizarían
un programa computacional o un diagrama de flujo. La línea 2 y 4 representan primitivas de salida
(en las cuales se muestran mensajes); las líneas 3 y 5 tienen primitivas de entrada, en las cuales se
guardan los datos en las variables A y B; y luego la línea 6 muestra una estructura condicional
compuesta (Si entonces, sino), donde se comparan los dos números. En caso de que se cumpla la
condición, se indica que A es el número mayor, y en el caso contrario se muestra que B es el
mayor. Luego de ello finaliza el pseudocódigo.

El siguiente enlace muestra ejemplos de pseudocódigo. Se requiere


que el estudiante revise en detalle los ejercicios para comprender esta
representación.

http://www.areatecnologia.com/informatica/pseudocodigo.ht
ml

EJEMPLO DE PSEUDOCÓDIGO

Fuente: https://goo.gl/XG1mWy

IACC
20
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

El ejemplo anterior muestra un algoritmo en pseudocódigo capaz de decidir si una persona es


mayor de edad, conociendo como dato de entrada la edad de esta.

IACC
21
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

COMENTARIO FINAL
El uso de técnicas para representar algoritmos permite al profesional contar con recursos que le
ayudarán a desarrollar productos tecnológicos al margen de las necesidades de los procesos que
maneja. Los diagramas de flujos, los programas informáticos y los algoritmos con pseudolenguaje,
en el marco de la programación estructurada, generan una visión lógica que permitirá establecer
soluciones a situaciones reales de forma fácil y precisa, descomponiendo problemas de manera
modular, siempre con una estructura y una secuencia que permitan la comprensión y una toma de
decisiones asertiva.

Antes de programar y conocer los fundamentos prácticos de la programación, es preciso


comprender este paradigma, que permitirá que el programador pueda secuenciar y ordenar las
ideas que plasmará en un software específico, para ejecutar y realizar sus códigos o programas.

IACC
22
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

REFERENCIAS
Área Tecnología (s.f). ¿Qué es un diagrama de flujo? Recuperado de: https://goo.gl/FTQXL2

Avalos, I. (2010). Introducción a la programación. Recuperado de: https://goo.gl/o4c2eA

Ecured. (s.f.). Programación estructurada. Recuperado de: https://goo.gl/TqnKpY

Fairley, R. (1990). Ingeniería de software. México: McGraw-Hill.

Joyanes L. (2008). Fundamentos de Programación. España: McGraw-Hill Interamericana

Martínez, F. (2003). Paradigma estructurado. Recuperado de: https://goo.gl/qA4r7F

Vaca, C. (2011). Paradigmas de programación. Recuperado de: https://goo.gl/RhzYsA

PARA REFERENCIAR ESTE DOCUMENTO, CONSIDERE:

IACC (2018). Principios de la programación estructurada. Introducción a la

Programación. Semana 3.

IACC
23
SEMANA 3 – INTRODUCCIÓN A LA PROGRAMACIÓN

IACC
24

También podría gustarte