Está en la página 1de 12

| Programación - IQ | Unidad 1 |

Programación - IQ
Unidad 1 - Antecedentes y algoritmos.
Competencia específica a desarrollar:
 Emplear las tecnologías, ambientes operativos, diagramación y pruebas de escritorio en la solución de
problemas, mediante las tecnologías de información.

1.1 - Introducción al uso de las tecnologías de información en las ingenierías.


La tecnología de la información es una de las disciplinas que rápidamente han pasado del plano
estrictamente científico al mundo cotidiano. Cada vez y con mayor frecuencia el hombre incorpora a su vida
cotidiana una serie de instrumentos de naturaleza electrónica que tienen como referencia obligada el
acopio, procesamiento o uso de datos, en su campo vital.
El más conocido de estos equipos, es la computadora y sus elementos periféricos como las impresoras, el
mouse, el lápiz óptico, las tablas digitalizadoras, los escáner, entre otros.
Ahora las computadoras se han transformado e incorporan en sus procesos herramientas que permiten la
comunicación no tan sólo de datos, sino de sonido, imagen y movimiento.
1. La computadora es el representante físico de la modernidad, la eficiencia y del cambio tecnológico y en
su desarrollo ha generado una serie de fenómenos en las organizaciones actuales.
2. Los cambios sufridos por las computadoras obedecieron en gran medida a transformaciones
simultáneas en los procesos decisorios desarrollados en las organizaciones. Apoyando en un primer
momento a la centralización y en años recientes a los procesos de descentralización.
3. La computadora y sus periféricos han cambiado las formas de comunicación humana. Este cambio
implica la extensión de las actividades organizacionales de naturaleza global.
4. La interlocución entre el hombre y la computadora se ha transformado e implica procesos de naturaleza
óptica que se materializan en imágenes. El usuario ya no requiere aprender el manejo de un código
alfanumérico ya que ahora éste es de naturaleza icónica.
5. La conjugación de imagen, sonido y movimiento ha abierto una amplia gama de alternativas para la
aplicación de las computadoras en los distintos niveles de la organización desde el individual hasta el
social. Involucrando a éstos "chismes modernos" en la integración de equipos de mayor complejidad
como los robots.
6. Las implicaciones sociales de estos nuevos equipos electrónicos se encuentran en la mesa de las
discusiones, existen argumentaciones en favor y en contra. Pero lo que es un hecho es que la vida
cotidiana de los seres humanos ya no podrá escapar a la interacción cada vez más frecuente con las
computadoras y sus periféricos.
7. Las organizaciones se han transformado en entidades sociales que trascienden el tiempo y el espacio
incorporándose a un mundo virtual, a una hiper-realidad que difumina y acelera los hechos alejándolos
en este proceso de su esencia original.
Tipos de Tecnología de Información
 TIs sensoriales
Son aquellas que permiten introducir información al sistema computacional. La información debe ser
digitalizada para poder utilizarla.
La información puede ser tomada como temperatura, distancia, movimiento, sonido, luz e incluso calor.
Ejemplo: ratón de computadora, teclado, scanners, cámaras web
 TIs despliegue
Son aquellas que permiten mostrar la información del sistema computacional. La información debe ser
convertida a un formato apropiado para los humanos, animales o cualquier otro receptor.
La información puede ser mostrada como texto, gráficas, video, animación, olor, sonido
M@lonso - 1
| Programación - IQ | Unidad 1 |

Ejemplos típicos son: la impresora, el monitor, plotters, bocinas, etc.


 TIs análisis
Son aquellas que permiten transformar la información del sistema computacional.
La información se puede clasificar, totalizar, sumarizar, calcular
Ejemplos típicos son las calculadoras, CPU, softwares (hojas de cálculo, procesadores de palabras,
manejadores de correo electrónico)
 TIs almacenamiento
Son aquellos que permiten guardar la información del sistema computacional. La información debe ser
convertida a un formato apropiado para el medio de almacenamiento.
La información puede ser guardada en formato impreso, óptico, magnético.
Ejemplos son las memorias, disco duro, diskettes, cintas magnéticas.
 TIs comunicación
Son aquellas que permiten transmitir la información del sistema computacional. La información debe ser
convertida a un formato apropiado para el medio de comunicación.
La información puede ser comunicada a través de ondas de radiofrecuencia, luz infrarroja, señales
eléctricas, sonido.
Como ejemplos los módems, satélites, puertos infrarrojos, bluetooth, etc.
Una TI puede pertenecer a varias clasificaciones al mismo tiempo, pero debe elegirse el uso principal que
se le dará. Esto permite quitar ambigüedades sobre todo en aquellas TIs que son multiusos. Para trabajar
con esta clasificación es necesario tomar en cuenta el contexto donde la TI es utilizada. Recuerde que
siempre debe ser información digitalizada.
Cambios que la Tecnología ha tenido en la Sociedad: Aspectos sociales, culturales y profesionales
La información es el eje promotor de los cambios sociales, económicos, culturales y por supuesto
profesionales. La información ha hecho que los acontecimientos a nivel mundial, o nacional nos resulten
más cercanos, y podamos hablar de globalidad.
Los avances tecnológicos en temas como medicina, biología, agricultura, biónica y otros han sido
fundamentales en algunos casos para mejorar condiciones de vida para muchos pueblos. Anteriormente se
ocupaba muchísimo tiempo recopilando, organizando y procesando la información, buscando nuevas
fuentes y entendiendo el entorno externo, en este momento hay disponibilidad de información sin importar
en que parte del mundo se encuentre. El Internet incorpora las capacidades más potentes de información y
comunicación, posibilitando el acceso a información que tiene implicaciones importantes para la
enseñanza, la evaluación y la investigación.
Las transformaciones de más relevancia en el ámbito social y cultural en las últimas décadas se han
originado en la telefonía móvil y en Internet. Antes el intercambio de información era solamente nacional,
ahora se realizan intercambios y relaciones sociales internacionales, de manera que vivimos a expensas
de lo que suceda en el mundo. El Internet, las comunicaciones móviles, la banda ancha, los satélites, los
microondas, están produciendo cambios significativos en la estructura económica y social, y en el conjunto
de las relaciones sociales.
Los estudiantes deben dominar cada vez nuevas competencias de las TICs puesto que las nuevas formas
de Tecnología de la Información y la Comunicación (TICs) están redefiniendo periódicamente la naturaleza
del Alfabetismo.
Tecnología en ingeniería química
Los tecnólogos en ingeniería química suelen trabajar en industrias que producen productos farmacéuticos,
químicos y petrolíferos, entre otros. Trabajan en laboratorios y plantas de procesamiento. Ayudan a
formular nuevos productos y procesos químicos, probar instrumentación y equipo de procesamiento,
recopilar datos y supervisar la calidad.

M@lonso - 2
| Programación - IQ | Unidad 1 |

1.2 - Ambientes operativos (Windows, Mac, Unix, Linux y otros).


Sistema operativo.- Es un software de sistema, es decir, un conjunto de programas de computadora
destinado a permitir una administración eficaz de sus recursos.
Un ambiente operativo (Sistema Operativo - SO) es un software que actúa de interfaz entre los dispositivos
de hardware y los programas usados por el usuario para manejar una computadora. Es el responsable de
gestionar, coordinar las actividades y llevar a cabo el intercambio de los recursos y actúa como estación
para las aplicaciones que se ejecutan en la máquina.
Clasificación de Sistema Operativo
a. Monousuario. Son aquellos que nada más puede atender a un solo usuario.
b. Multiusuario. Permite que dos o más usuarios puedan ejecutar programas al mismo tiempo. Algunos
sistemas operativos permiten cientos o aún miles de usuarios.
c. Multiprocesamiento. Permite ejecutar un programa en más de un CPU.
d. Multitarea. Permite ejecutar más de un programa a la vez.
El Sistema Operativo proporciona una plataforma en el cual, el software de aplicación pueda operar.
Existen diferentes tipos de sistemas operativos que pueden ser instalados en computadoras personales;
actualmente los de mayor difusión son: Windows, Macintosh, Unix y Linux.
1.2.1 - Familia Windows.
Microsoft Windows es el nombre de una familia de sistemas operativos no libres desarrollados por la
empresa de software Microsoft Corporation. Todos ellos tienen en común el estar basados en una interfaz
gráfica de usuario basada en el paradigma de ventanas (de ahí su nombre en inglés). Las versiones de
Windows que existen hasta el momento se basan en dos líneas separadas de desarrollo que finalmente
convergen en una sola con la llegada de Windows 8 y después Windows 10.
La primera de esas líneas conformaban la apariencia de un Sistema Operativo, aunque realmente
requerían otro sobre el que ejecutarse (MS DOS). Todos los Sistemas Operativos, desde Windows 1.0 a
Windows ME necesitaban tener MS DOS instalado, aunque desde la aparición de Windows 95, podía
instalarse Windows sobre un disco duro vacío, ya que durante su propia instalación, se instalaba además
una versión reducida de MS DOS. La arquitectura de Windows comenzó siendo de 16 bits, hasta Windows
95, donde pasó a funcionar bajo una arquitectura de 32 bits, aunque manteniendo bastantes módulos de
16 bits por razones de compatibilidad, y finalmente surge la arquitectura de 64 bits.
La segunda línea de desarrollo (NT) se basaba en emplear desde el origen un sistema operativo en modo
gráfico y con una arquitectura de 32 y 64 bits. Éste Sistema Operativo no requiere tener instalado ningún
otro previamente. Incluye en todas sus versiones, un emulador de consola en modo texto.
1.2.2 - Arquitectura Macintosh (Mac).
Mac OS X es la última versión de Mac OS, el sistema operativo de la familia de computadoras Macintosh.
Mac OS X fue comercializado por primera vez en el año 2001 y está basado en BSD y Mach microkernel, y
proviene directamente de NextStep. Su núcleo se llama Darwin y cualquier persona puede aportar
contribuciones encaminadas a mejorar la plataforma. Mac OS X pertenece a la familia de los sistemas
operativos multiusuario, y dispone de una interfaz gráfica de usuario GUI denominada Aqua, desarrollada
por Apple.
Mac OS X incorpora diferentes tecnologías, Quartz, OpenGL y Quicktime. Las aplicaciones de Mac OS X,
están divididas en tres familias: Cocoa para aplicaciones nativas, Carbon para aplicaciones modificadas a
Mac OS X desde los anteriores sistemas de Macintosh, y Classic, que ejecuta las aplicaciones de los
anteriores sistemas directamente en Mac OS X mediante un emulador del Mac OS antiguo.

M@lonso - 3
| Programación - IQ | Unidad 1 |

1.2.3 - Unix.
El inicio del desarrollo de este sistema operativo (que se cree es uno de los más influyentes en la historia
de la computación) fue muy particular, pues nadie habría predicho el éxito de UNIX después de su primera
aparición.
A finales de los años sesenta, en el Instituto Tecnológico de Massachusetts, los laboratorios Bell de AT&T
y General Electric trabajaban en un sistema operativo experimental llamado Multics (Multiplexed
Information and Computing System), desarrollado para ejecutarse en una computadora central (mainframe)
modelo GE-645. El objetivo del proyecto era desarrollar un sistema operativo interactivo que contase con
muchas innovaciones, entre ellas mejoras en las políticas de seguridad.
Ken Thompson escribió nuevamente el programa, con ayuda de Dennis Ritchie, en lenguaje ensamblador,
para que se ejecutara en una computadora DEC PDP-7.
Thompson y Ritchie lideraron un grupo de programadores, entre ellos a Rudd Canaday, en los laboratorios
Bell, para desarrollar tanto el sistema de archivos como el sistema operativo multitarea en sí. A lo anterior,
agregaron un intérprete de órdenes (o intérprete de comandos) y un pequeño conjunto de programas. El
proyecto fue bautizado UNICS, como acrónimo de Uniplexed Information and Computing System, pues
sólo prestaba servicios a dos usuarios. La autoría de esta sigla se le atribuye a Brian Kernighan, como un
chiste o hack relativo a Multics. Dada la popularidad que tuvo un juego de palabras que consideraba a
UNICS un sistema MULTICS castrado (pues eunuchs, en inglés, es un homófono de UNICS), se cambió el
nombre a UNIX, dando origen al legado que llega hasta nuestros días.
En 1973 se tomó la decisión de escribir nuevamente UNIX, pero esta vez en el lenguaje de programación
C. Este cambio significaba que UNIX podría ser fácilmente modificado para funcionar en otras
computadoras (de esta manera, se volvía portátil) y así otras variaciones podían ser desarrolladas por otros
programadores. Ahora, el código era más conciso y compacto, lo que se tradujo en un aumento en la
velocidad de desarrollo de UNIX. AT&T puso a UNIX a disposición de universidades y compañías.
1.3.4 - Linux.
Linux es un sistema operativo y un núcleo. Es uno de los paradigmas del desarrollo de software libre (y de
código abierto), donde el código fuente está disponible públicamente y cualquier persona puede libremente
usarlo, modificarlo y/o redistribuirlo
El término "Linux" estrictamente se refiere al núcleo Linux, pero es más comúnmente utilizado para
describir al sistema operativo tipo Unix, que utiliza primordialmente filosofía y metodologías libres, también
conocido como GNU/Linux, que está formado mediante la combinación del núcleo Linux con las bibliotecas
y herramientas del proyecto GNU y de muchos otros proyectos/grupos de software (libre o no).
Los sistemas Linux funcionan sobre más de 20 diferentes plataformas de hardware, entre ellas las más
comunes son las de los sistemas compatibles con PC, computadoras Macintosh, procesadores PowerPC,
Sparc y MIPS.
Una distribución Linux, o distribución GNU/Linux es un conjunto de aplicaciones reunidas por un grupo,
empresa o persona para permitir instalar fácilmente un sistema Linux (también llamado GNU/Linux).
Existen numerosas distribuciones Linux. Cada una de ellas puede incluir cualquier número de software
adicional (libre o no), como algunos que facilitan la instalación del sistema y una enorme variedad de
aplicaciones, entre ellos, entornos gráficos, suites ofimáticas, servidores web, servidores de correo,
servidores FTP, etcétera.
Algunos ejemplos de Sistemas Operativos (SO) son:
Familia Windows Familia Macintosh Familia UNIX Familia Linux
1. Windows 95 1. Mac OS 7 1. AIX 1. Debian
2. Windows 98 2. Mac OS 8 2. AMIX 2. Slackware
3. Windows NT 3. Mac OS 9 3. GNU/Linux 3. Fedora Core
4. Windows 2000 4. Mac OS X 4. GNU / Hurd 4. Ubuntu
M@lonso - 4
| Programación - IQ | Unidad 1 |

5. Windows XP 5. HP-UX 5. Kubuntu


6. Windows Server 2003 6. Irix 6. Gnoppix
7. Windows CE 7. Minix 7. Slackware
8. Windows Mobile 8. System V 8. White Box
9. Windows Vista 9. Solaris 9. Mandrake
10. Windows 7 10. UnixWare 10. Red Hat
11. Windows Server 2012
12. Windows 8 y 10
Tabla 1.1 – Ejemplos de Sistemas Operativos
1.3 - Fundamentos de algoritmos.
Algoritmo: Se define como una lista de instrucciones bien definida y ordenada, que se realiza paso a paso
para solucionar un problema y obtener un cierto resultado, y que termina en un número finito de pasos.
Las características fundamentales que debe cumplir todo algoritmo son:
 Debe ser preciso e indicar el orden de realización de cada paso.
 Debe ser definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada
vez.
 Debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento o sea debe tener un
número finito de pasos.
La definición de un algoritmo debe contener tres partes: Entrada, Proceso y Salida.
Algunos ejemplos de algoritmos son:
Ejemplo 1 - Diseñar un algoritmo para cambiar una llanta a un coche.
Pasos del algoritmo:
1. Inicio.
a. Traer gato.
b. Levantar el coche con el gato.
c. Aflojar tornillos de las llantas.
d. Sacar los tornillos de las llantas.
e. Quitar la llanta.
f. Poner la llanta de repuesto.
g. Poner los tornillos.
h. Apretar los tornillos.
i. Bajar el gato.
2. Fin
Ejemplo 2 - Un cliente realiza un pedido a una fábrica. La fábrica examina en su banco de datos la ficha del
cliente, si el cliente es solvente entonces la empresa acepta el pedido, en caso contrario rechazar el
pedido.
Pasos del algoritmo:
1. Inicio
a. Leer el pedido
b. Examinar ficha del cliente
c. Si el cliente es solvente aceptar pedido, en caso contrario rechazar pedido
2. Fin
Ejemplo 3 - Determinar el mayor de tres números enteros.
Pasos del algoritmo:
1. Comparar el primero y el segundo entero, deduciendo cuál es el mayor.
2. Comparar el mayor anterior con el tercero y deducir cuál es el mayor. Este será el resultado.

M@lonso - 5
| Programación - IQ | Unidad 1 |

Los pasos anteriores se pueden descomponer en otros pasos más simples en los que se denomina
refinamiento del algoritmo.
Ejemplo: Para determinar el mayor de tres números enteros.
1. Obtener el primer número (entrada), denominado NUM1
2. Obtener el segundo número (entrada), denominado NUM2
3. Compara NUM1 con NUM2 y seleccionar el mayor; si los dos enteros son iguales, seleccionar
NUM1. Llamar a este número MAYOR.
4. Obtener el tercer número (entrada), y se denomina NUM3.
5. Compara MAYOR con NUM3 y seleccionar el mayor; si los dos enteros son iguales, seleccionar
el MAYOR. Denominar a este número MAYOR.
6. Presentar el valor MAYOR (salida).
7. Fin
1.4 - Métodos para solución de problemas con algoritmos.
Qué se entiende por problema:
Según el diccionario, problema es: a) una cuestión que se trata de aclarar, b) proposición o dificultad de
solución dudosa y c) conjunto de hechos o circunstancias que dificultan la consecución de algún fin.
Según L. Doval y A. Gay problema es algo que preocupa; implica un interrogante cuya respuesta es
desconocida y que, en nuestro caso, se busca obtener.
Qué se entiende por método:
Según el diccionario método es: modo de decir o hacer con orden una cosa.
Según Quintanilla método es:
“Un método es un procedimiento –una sucesión de operaciones- para resolver un problema. Si el problema
es de tipo práctico, las operaciones necesarias serán en su mayoría acciones concretas sobre cosas
concretas, y el método constituirá una técnica en sentido estricto. Si el problema es puramente conceptual,
las operaciones pueden ser estrictamente conceptuales o abstractas.”
La solución de problemas:
Para la resolución de un problema es conveniente aplicar un método. Un método es, fundamentalmente,
una actitud, una estrategia, una filosofía, que frente a una situación problemática orienta en la búsqueda de
una solución.
A continuación se plantean las diferentes etapas de un método, aplicables a la solución de problemas
tecnológicos.
1. Reconocimiento del problema.
Las personas individualizan la situación problemática, vinculada al quehacer tecnológico, que despierta
su curiosidad o interés, destacando las implicaciones de orden técnico, científico, cultural, económico o
social presentes en el caso.
2. Formulación y análisis del problema.
Formulan en término de problema el caso individualizado en la etapa anterior. Esta formulación debe
ser clara: explicitando los aspectos tecnológicos del problema, precisando los objetivos a alcanzar,
buscando información y analizando el problema y las soluciones existentes. En este punto es
importante investigar las técnicas distintas que se han utilizado para resolver el mismo problema o
similares.
3. Búsquedas de alternativas de solución
Generar alternativas para solucionar el problema, partiendo de los conocimientos con que cuentan o
con los que pueden adquirir (nueva información, pruebas, contrastación de datos, etc.).

M@lonso - 6
| Programación - IQ | Unidad 1 |

4. Selección de la solución.
Seleccionan la solución que mejor se adapte a los objetivos planteados, teniendo en cuenta el marco
económico y social en el que está inserto el problema.
5. Evaluación de la solución.
Verificar el comportamiento de la solución en un contexto global y ajustar su funcionamiento,
optimizándola.
6. Presentación de la solución.
Detallan la solución, el proceso que siguieron para lograrla, sus características técnicas
(especificaciones, rendimiento, etc.) y justifican las ventajas que presenta.
El método presentado no se sigue siempre en forma lineal, sino que entre las etapas hay retroalimentación
que permite ir y venir entre cada una de ellas.
Los programas de computadora tienen como finalidad resolver problemas específicos y el primer paso
consiste en definir con precisión el problema hasta lograr la mejor comprensión posible. Una forma de
realizar esta actividad se basa en formular claramente el problema, especificar los resultados que se
desean obtener, identificar la información disponible (datos), determinar las restricciones y definir los
procesos necesarios para convertir los datos disponibles (materia prima) en la información requerida
(resultados).

Figura 1.1 – Fases para elaborar un programa.


1.5 - Estructuras algorítmicas.
Un algoritmo puede adoptar una de las estructuras siguientes
o combinaciones de ellas: lineal o secuencial, alternativa o
selectiva y repetitiva o cíclica.
La más sencilla de las tres es la lineal, también llamada
secuencial que se caracteriza porque todos los pasos del
algoritmo se realizan en secuencia, es decir, se suceden unos
a otros.
Un ejemplo de esta estructura es el algoritmo para calcular la
densidad de un cuerpo a partir de los datos de masa y
volumen, mostrada a continuación a través de un diagrama de
flujo, como se muestra en la Figura 1.2.
Las tareas en la estructura secuencial (lineal), se suceden de
tal modo que la salida de una es la entrada de la siguiente y
así sucesivamente hasta el fin del proceso. La estructura Figura 1.3 – Estructura
secuencial tiene una entrada y una salida. Su representación secuencial
Figura 1.2 - Ejemplo de
un algoritmo gráfica se muestra en la Figura 1.3.

M@lonso - 7
| Programación - IQ | Unidad 1 |

Los algoritmos pueden describirse utilizando diversos lenguajes. Cada uno de estos lenguajes permiten
describir los pasos con mayor o menor detalle.
La clasificación de los lenguajes para algoritmos puede enunciarse de la siguiente manera:
1. Lenguaje Natural.
2. Lenguaje de Diagrama de Flujo.
3. Lenguaje Natural de Programación.
4. Lenguaje de Programación de Algoritmos.
Lenguaje Natural.- Es aquél que describe en español, para nuestro caso, los pasos a seguir utilizando un
vocabulario cotidiano. Se le conoce como lenguaje jerga cuando se utilizan términos especializados de
una determinada ciencia, profesión o grupo.
Lenguaje de Diagrama de Flujo.- Es aquél que se vale de diversos símbolos para representar las ideas o
acciones a desarrollar. Es útil para organizar las acciones o pasos de un algoritmo pero requiere de etapas
posteriores para implementarse en un sistema de cómputo.
Lenguaje Natural de Programación.- Son aquéllos que están orientados a la solución de problemas que
se definen de una manera precisa. Generalmente son aplicados para la elaboración de fórmulas o métodos
científicos.
Lenguaje de Programación de Algoritmos.- Es aquél que se utiliza para introducir en la computadora un
algoritmo específico. Se les conoce también como Lenguaje de Programación.
Lenguaje de Programación: Es un conjunto de palabras, símbolos y reglas sintácticas mediante los
cuales puede indicarse a la computadora los pasos a seguir para resolver un problema.
Pseudocódigo: Es un lenguaje intermedio entre el lenguaje natural y cualquier lenguaje de programación
específico. No existe una notación formal o estándar de pseudocódigo, sino que, cada programador puede
utilizar la suya propia.
Los métodos de diseño presentados anteriormente, permiten un diseño global del algoritmo, pero
ocasionalmente pueden desatender detalles específicos de este, para lo cual se usan también algunas
técnicas de representación (formulación) para presentar los detalles específicos de un algoritmo.
Las tres técnicas de formulación de algoritmos más populares son:
1. Diagrama de flujo
2. Pseudocódigo
3. Diagramas estructurados

M@lonso - 8
| Programación - IQ | Unidad 1 |

1.6 - Diagramación.
Diagrama de flujo: Es la representación gráfica de un algoritmo y se le conoce también como
ordinogramas.
Los diagramas de flujo se utilizan principalmente en programación,
economía y procesos industriales, pasando también a partir de estas
disciplinas a formar parte fundamental de otras, como la psicología
cognitiva.
Se basan en la utilización de diversos símbolos para representar
operaciones específicas. Se les llama diagramas de flujo porque los
símbolos utilizados se conectan por medio de flechas para indicar la
secuencia de operación.
La simbología utilizada para la elaboración de diagramas de flujo es
variable y debe ajustarse a un patrón definido previamente.
Un ejemplo del uso de un diagrama de flujo se muestra en la figura 1.4.

Figura 1.4 - Diagrama de flujo sencillo con los pasos a seguir si una lámpara no funciona.

Los símbolos o figuras que pueden ser utilizados en los diagramas de flujo son:
Terminal. Representa el Inicio y el Final de un programa. Puede representar
también una parada o interrupción programada que sea necesario realizar en
un programa.
Entrada/Salida. Utilizada para cualquier tipo de introducción de datos

Proceso. Cualquier tipo de operación que pueda originar cambio de valor,


formato o posición de la información almacenada en la memoria u
operaciones matemáticas.
Decisión. Indica operaciones lógicas o de comparación entre datos
(normalmente dos) y en función del resultado de la misma determina cual de
los distintos caminos alternativos del programa se debe de seguir.

Conector. Sirve para enlazar dos partes cualesquiera de un diagrama a


través de un conector en la salida y otro conector en la entrada.

Indicador de dirección o línea de flujo. Indica el sentido de ejecución de las


operaciones.

Tabla 1.2 - Simbología utilizada en los diagramas de flujo

M@lonso - 9
| Programación - IQ | Unidad 1 |

Ejemplo 1: Calcular el salario neto de un Ejemplo 2: Realizar un diagrama de flujo que permita mostrar
trabajador en función del número de horas en pantalla un mensaje de mayoría o minoría de edad según
trabajadas, precio de la hora de trabajo y sea el caso para un nombre específico.
considerando unos descuentos fijos al
salario bruto en concepto de impuestos
(20%).

M@lonso - 10
| Programación - IQ | Unidad 1 |

1.7 - Pruebas de escritorio.


Prueba de escritorio: Es la comprobación lógica de un algoritmo, para saber si está bien hecho y funciona
correctamente.
Los errores humanos dentro de la programación de computadoras, mediante el uso de algoritmos, son
muchos y aumentan considerablemente con la complejidad del problema. El proceso de identificar y
eliminar errores, para dar paso a una solución sin errores se le llama depuración o prueba de escritorio si
se hace manualmente.
La tarea de pruebas y depuración de algoritmos (prueba de escritorio), consiste básicamente en explorar el
algoritmo, ejecutándolo (darle seguimiento) paso a paso y comparando en todo momento los valores que
van tomando las distintas variables con los valores esperados. Es necesario, por tanto, haber analizado
con anterioridad algunos casos de prueba que permitan anticipar en todo momento los valores que deben
tomar las variables y saber si la progresión del algoritmo es correcta o no.
Los algoritmos, para llegar a ser tales deben reunir ciertas características. Una de ellas es que los pasos
que deben seguirse deben estar estrictamente descritos, cada acción debe ser precisa, y debe ser general,
es decir, que pueda ser aplicable a todos los elementos de una misma clase.
La prueba de escritorio, es la etapa más importante en el desarrollo de un programa, ya que al realizar la
prueba de escritorio nos permite saber:
1. Si el programa hace lo que debería hacer
2. Si no hace lo que debería hacer, nos permitirá detectar errores como ser:
 Si algún paso o instrucción no está en el orden correcto
 Si falta algo
 Si algo esta demás
 Si los pasos o instrucciones que se repiten lo hacen más o menos veces de lo debido
 Si las instrucciones están en un orden apropiado
 Otros errores que pueden presentarse
3. Elegir los datos apropiados para la prueba
La prueba de escritorio no es más que efectuar un proceso de simulación con el algoritmo desarrollado (ver
que haría la computadora). Este trabajo se realiza en base a una tabla cuyos encabezados son las
variables que se usan en el algoritmo y debajo de cada una de ellas se van colocando los valores que van
tomando, paso a paso y siguiendo el flujo indicado por el algoritmo, hasta llegar al final.
Ejemplo:
1. C=0
2. S=0
3. C=C+1
4. S=S+C
5. Si C < 10 Entonces Ir a 3
6. Mostrar “La suma es: “, S
7. FIN
La prueba de escritorio para este ejercicio empieza con hacer una lista de las variables, C y S en el
ejemplo.

M@lonso - 11
| Programación - IQ | Unidad 1 |

Los números que se ven resaltados, son los que se generan en cada paso (3 y luego 4). Cada variable
tiene vigente solo el último valor. En este momento el paso 3 cambió el valor de C de 0 a 1, de igual forma
que el paso 4 cambio el de S de 0 a 1. Luego están vigentes los nuevos valores y se perdieron los
anteriores.
Prosiguiendo, en el paso 5 al evaluar el contenido de C que es 1 se deduce que la condición se cumple,
por lo que se va al paso 3 y se produce lo siguiente (nuevamente pasos 3 y 4):

Y así sucesivamente, hasta que el condicional que obliga a la repetición ya no cumpla la condición, luego
entonces ejecutar los pasos 6 y 7, para luego terminar.
En la prueba, se puede advertir que las sumas se van haciendo correctamente, por lo que se deduce que
se terminará con la suma correcta. Solo bastara verificar si termina apropiadamente.
Un punto a evaluar debe ser el verificar si la repetición se hace el numero esperado de veces, una vez
más, o una menos, que es lo que frecuentemente ocurre con los condicionales que hacen la repetición en
los algoritmos.
En la prueba de escritorio, si hay repeticiones, es suficiente probar un numero razonable de veces (5 o 10).
Así por ejemplo, si el ejercicio pide calcular el promedio de 1000 números leídos, no será necesario probar
con los 1000, será suficiente probar con 5 o 10.
La prueba de escritorio consistirá en 2 etapas:
 La primera, en probar inicialmente que el programa funcione correctamente, para lo que se elegirán
algunos datos fáciles de probar, cosa que siempre es posible.
 La segunda, si se prueba que ya funciona, se buscaran otros datos (si los hay) que hagan que falle
el algoritmo, en cuyo caso se habrán de detectar otros errores. Si el algoritmo no falla, podemos
concluir que el programa está terminado y revisado, por lo tanto correcto.
Otro ejemplo de prueba de escritorio seria:
Programa (Seudocódigo)

M@lonso - 12

También podría gustarte