Está en la página 1de 86

Colegio de Estudios Científicos y Tecnológicos del

Estado de Coahuila
Plantel John F. Kennedy

Modulo I Desarrolla Software de Aplicación con


Programación Estructurada.
Submódulo 1
Construye Algoritmos para la Solución de Problemas

Cuadernillo de Apuntes

Lic. Martha Magdalena Dáguer Barboza.

Nombre del Alumno: _________________________________________Grupo: ________

Monclova Coahuila a 16 de Enero del 2023

Lic. Martha Magdalena Dáguer Barboza. 1


Primer Parcial
Desarrollo de solución de problemas
✓ Introducción al proceso de programación
✓ Herramientas de programación modelo de solución.
✓ Algoritmos
✓ Diagramas de flujo

Conceptos Básicos
Computadora
Hardware
Software
Icono
Programa
Programación
Dispositivo de entrada
Dispositivo de salda
Dispositivo de almacenamiento
Algoritmo
Diagrama de flujo
Pseudocódigo
Firmware
Office
Windows
Software educativo

Lic. Martha Magdalena Dáguer Barboza. 2


INTRODUCCIÓN A LA PROGRAMACIÓN
Se llama Programación a la implementación de un algoritmo en un determinado lenguaje
de programación en una computadora, para realizar un programa.

Algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de


seguirse para resolver un problema. Un algoritmo tiene las siguientes características
importantes: - Debe ser definido, si se sigue las instrucciones dos veces se debe obtener el
mismo resultado - Debe ser preciso, debe indicar claramente los pasos y el orden en el que
se debe ejecutar - Debe tener un fin - Debe ser simple, fácil de entender por cualquier
persona.

Programa (Software en inglés) es una secuencia de instrucciones que una computadora


puede interpretar y ejecutar.

El proceso de creación de software es materia de la ingeniería del software (es una de las
ramas de las ciencias de la computación que estudia la creación de software confiable y
de calidad, basándose en métodos y técnicas de ingeniería, y brindando soporte
operacional y de mantenimiento), una de las ramas propias de la Ingeniería Informática (es
la rama de la ingeniería que aplica los fundamentos de la ciencia de la computación,
la ingeniería en computadores, la ingeniería de sistemas de información, la ingeniería
de software, ingeniería de datos, inteligencia artificial y la ingeniería de redes y
comunicaciones, para el desarrollo de soluciones integrales de cómputo y
comunicaciones, capaces de procesar información de manera automática).

Según Niklaus Wirth un programa está formado por algoritmos y estructura de datos.

Se han propuesto diversas técnicas de programación, cuyo objetivo es mejorar tanto el


proceso de creación de software como su mantenimiento. Entre ellas se pueden mencionar
las programaciones lineales, estructurada, modular y orientada a objetos.

Lenguajes de Programación
Lenguaje de programación es el idioma utilizado para controlar el comportamiento de una
máquina, particularmente una computadora. Consiste en un conjunto de símbolos y reglas
sintácticas y semánticas que definen su estructura y el significado de sus elementos y
expresiones.

Hay muchos lenguajes de programación, pero para programar no es necesario conocer


todos los lenguajes, es igual que cuando hablamos, podemos comunicarnos en español,
aunque no sepamos alemán. Aunque la palabra debería ser idioma ya que lenguaje
realmente abarca todos los idiomas, pero en computación equivocadamente se usa el
término lenguaje cuando el término correcto es idiomas de programación.

Lic. Martha Magdalena Dáguer Barboza. 3


En la actualidad los lenguajes de programación están escritos para ser comprensibles por el
ser humano, a este código se le llama código fuente, pero no es comprendido por la
máquina ya que esta solo maneja el lenguaje ensamblador (en inglés assembler).

La compilación es el proceso de traducir un programa en código fuente a programa


en código objeto (que usa el lenguaje binario), el programa encargado de compilar se
llama compilador. La mayoría de software de programación trae su propio compilador.

Tipos de lenguajes de programación


Lenguajes de programación de alto nivel y lenguajes de bajo nivel. Los lenguajes de alto
nivel permiten que con pocas palabras se logre hacer lo mismo que se logra con un lenguaje
de bajo nivel.

Ejemplos de lenguajes de alto nivel: C++,Java,Python

Ejemplos de lenguaje de bajo nivel: assembler

Por la forma como se ejecutan

Hay lenguajes compilados e interpretados.

Los lenguajes compilados necesitan de un programa especial que lea el código fuente y cree
un archivo binario ejecutable para una plataforma específica. Ejm: C++, Pascal.

Los lenguajes interpretados necesitan de un programa que traduzca en directo el código


fuente escrito a instrucciones de la plataforma en la que se ejecutan. Ejm: Python, Visual
Basic, Script.

Los primeros son más rápidos, mientras que los segundos son más lentos, esto debido a que
al compilar un programa las ordenes son más entendibles para la computadora, mientras
que al interpretarlo la máquina primero debe leer el código y convertir al paso las
instrucciones a instrucciones de máquina entendibles para ella.

Entorno de Desarrollo Integrado


Entorno de Desarrollo Integrado (en inglés Integrated Development Environment 'IDE'): Es
un programa compuesto por un conjunto de herramientas para un programador. Estos IDE
son programas que sirven para programar, ya sea en un lenguaje de programación o en
varios lenguajes. Los IDE que permiten crear programas en muchos lenguajes de
programación permiten usar un solo programa para trabajar en varios lenguajes de
programación, es decir no limitan al programador.

Lic. Martha Magdalena Dáguer Barboza. 4


HERRAMIENTAS DE PROGRAMACIÓN
Los dispositivos inteligentes de los que nos hemos rodeado, y que consideramos
indispensables, bien sea un computador, un smartphone, un reloj inteligente o cualquier
dispositivo moderno que posea un micro procesador, no funcionan por arte de magia, sino
que se ejecutan gracias a las herramientas de programación.
Sin las herramientas de programación, dichos dispositivos no servirían para mucho más que
pisapapeles o en algunos casos, como pantallas led. De igual forma, los programas y
aplicaciones simplemente no podrían existir. Cosas como las redes sociales, la página
de Amazon o las plataformas de streaming desaparecían… algo que parece difícil de creer
tomando en cuenta la cantidad de funciones que estos pueden realizar y el uso que les
damos casi diariamente.

Son estas utilidades las que hacen necesarias dichas herramientas, y mientras más complejo
sea un dispositivo más herramientas necesitará para que actúen como su cerebro.

Características de las herramientas de programación

Las herramientas de programación, o herramienta de desarrollo de software, son


programas informáticos que los desarrolladores de software utilizan para crear, depurar,
mantener, encontrar solución de errores, o apoyar programas y aplicaciones.

El término se refiere a la implementación de programas relativamente sencillos, que se


pueden combinar para realizar una tarea, así como cuando una persona utiliza varias
herramientas de mano para arreglar un objeto físico. La capacidad de utilizar una variedad
de herramientas de forma productiva y sin que presente problemas es una característica de
una buena formación de auxiliar de odontología.

En esencia, las herramientas más básicas con las que cuenta un programador son las de un
editor de código fuente y un compilador o intérprete, que se utilizan de forma ubicua y
continua. También se utilizan otras herramientas de programación dependiendo
del lenguaje, la metodología y el nivel de desarrollo, así como del ingeniero.

TIPOS DE PROGRAMACIÓN Y SUS HERRAMIENTAS


Programación funcional
La palabra “función” en “programación funcional” se refiere a funciones en el sentido
matemático (es decir, las asignaciones o asociaciones entre la entrada y la salida), algo que
es muy fácil de confundir con la noción de procedimientos.

La programación funcional, en resumidas palabras, se trata de las características que


ejecuta el programa y que determinan su utilidad. Si sus características se mantienen,

Lic. Martha Magdalena Dáguer Barboza. 5


también lo hará el programa. En la práctica, la programación funcional es un método útil
para el modelado de sistemas complejos, y permite mantener una base de código
autodocumentado fácil de probar.

Entre las herramientas de programación funcional más comunes, encontramos:

o LISP.
o ML.
o Haskell.
o OCaml.
o F#
o Erlang.
o Clojure.
o Scala.

Programación concurrente

Consiste en una técnica en la que dos o más procesos de inicio se ejecutan en un


entrelazado a través del cambio de contexto, y se completan en una superposición del
tiempo por medio de la gestión de acceso a los recursos compartidos, por ejemplo, en un
solo núcleo de CPU.

Cualquier lenguaje funcional que hace hincapié en la inmutabilidad va a ser un buen ajuste
para la programación concurrente. En su forma más simple, estas herramientas
concurrentes pueden hacer varios hilos/tareas a la vez.

Algunas herramientas de programación concurrente más usadas:

o Haskell.
o Clojure.
o Elixir/Erlang.
o Semaphor.
o CyclicBarrier.
o CountDownLatch.

Estas son especialmente adecuadas para el mencionado tipo de programa porque tienen
reglas estrictas que rigen dónde la mutación puede tener lugar, lo que hace menos probable
que se cree una condición de carrera.

Además de proporcionar un fuerte aislamiento desde el sistema operativo basado en el


proceso de concurrencia de las arquitecturas, puede optimizar procesos de concurrencia de
forma bastante limpia.

Lic. Martha Magdalena Dáguer Barboza. 6


Programación modular
La programación modular es el proceso de subdividir un programa de ordenador en
distintos subprogramas.

Un módulo es un componente de software que a menudo puede ser utilizado en una


variedad de aplicaciones y funciones con los otros componentes del sistema, estas
funciones que son similares se agrupan en la misma unidad de código de programación y
separan las funciones que son desarrolladas como unidades aparte del código, para que el
mismo pueda ser reutilizado por otras aplicaciones.

La programación modular también permite a los programadores dividir el trabajo y la


depuración de las piezas del programa de forma independiente.

Como principales referentes encontramos:

o formación de auxiliar de odontología.


o C++.

Programación estructurada (PE)


La formación de auxiliar de odontología surge como un concepto formalizado en el año
1966 por Corrado Böhm y Giuseppe Jacopini, quiénes conformaron el equipo teórico que
demostró el diseño del programa a través de los lazos y las secuencias de decisiones.

En esa misma década (1960-1970), Edsger W. Dijkstra desarrolló procesos los estructurales
de la programación de la funcionalidad, que más tarde se convertiría en un método
ampliamente utilizado, en el que un programa se divide en varias secciones con varias
salidas y un punto de acceso.

La programación estructurada es un paradigma que tiene como objetivo hacer los


programas más fáciles de comprender, esto se hace mediante la linearising que se relaciona
con el flujo de control a través de un programa. En la programación estructurada la
ejecución sigue el orden de escritura de código y es por esto que se le considera el antecesor
de la programación orientada a objetos.

Algunas herramientas de programación estructurada son:

o ALGOL.
o Pascal.
o PL/I.
o Ada.

Lic. Martha Magdalena Dáguer Barboza. 7


Programación orientada a objetos (POO)
Es un paradigma de programación que se basa en el concepto de clases y objetos, este
organiza el software de diseño alrededor de los datos o los objetos, en lugar de las funciones
y la lógica. A su vez, un objeto puede ser definido como un campo de datos que tiene
atributos únicos de comportamiento.

La programación orientada a objetos se centra en los objetos que los desarrolladores


quieren manipular en lugar de la lógica necesaria para manipularlos. Este enfoque de la
programación es muy adecuado para los programas que son grandes, complejos y
activamente se están actualizando o manteniendo.

Hay mucha formación de auxiliar de odontología y herramientas de


programación orientadas a objetos, entre ellas están:

o JavaScript.
o C++.
o Python.
o Gcc.
o JTest.
o PHP.
o Ruby.

Estas herramientas de programación se adaptan y hacen que el método sea beneficioso


para el desarrollo colaborativo donde los proyectos se dividen en grupos.

Programación reactiva
La programación reactiva es relativamente un nuevo estilo de programación que sirve para
lidiar con los “eventos”, apoyado por las bibliotecas para varias herramientas de
programación, incluyendo:

o RxJS.
o Bacon.js.
o Rx.NET.
o RxJava.

Esta una de las herramientas más exitosas en cuanto a la orientación en torno a los flujos
de datos y la propagación de cambio, lque significa que debe ser posible expresar estática
o dinámica de los flujos de datos con facilidad en los lenguajes de programación utilizados,
y de que en la ejecución del modelo se propaga automáticamente los cambios a través del
flujo de datos.

Esta herramienta de programación ha sido propuesta como una forma de simplificar la


creación de interfaces de usuario interactivas y en tiempo casi real sistema de animación.

Lic. Martha Magdalena Dáguer Barboza. 8


Programación de recursos
Es una de las metodologías más utilizadas, ya que representan una colección de técnicas
utilizadas para analizar los recursos requeridos para producir el trabajo y para saber cuándo
se necesitan.

Algunas herramientas de programación de recursos son:

o Celoxis.
o PSOhub.
o GanttPRO.
o TeamGantt.
o MS Projects.
o Harvest Forecast

Herramientas para aprender a programar


Según estadísticas del año 2019 elaboradas por empresas de software dedicadas a la
evaluación y seguimiento de la calidad de los programas informáticos, se ha contemplado
un nuevo ranking referido a las mejores herramientas de programación para empezar o
incursionar en este mundo

Dentro de esta lista de herramientas gratuitas encontramos nombres:

o Python.
o Scratch.
o Tynker.
o Code.org.
o CodeAcademy.

Son de acceso libre (gratuitas), muy fáciles de utilizar y son compatibles con la mayoría de
los dispositivos.

Si buscas otras herramientas de programación más eficientes y con mayor alcance, pero
bajo licencia (no accesible para todos los usuarios), encontramos:

o GitHub.
o IntelliJ IDEA.
o Jira.
o Docker.
o Java.
o Jenkins.

Lic. Martha Magdalena Dáguer Barboza. 9


¿Qué es un Algoritmo Informático?
Un algoritmo informático es un conjunto de instrucciones definidas, ordenadas y
acotadas para resolver un problema, realizar un cálculo o desarrollar una tarea. Es
decir, un algoritmo es un procedimiento paso a paso para conseguir un fin. A partir
de un estado e información iniciales, se siguen una serie de pasos ordenados para
llegar a la solución de una situación.

En programación, un algoritmo supone el paso previo a ponerse a escribir el código.


Primero debemos encontrar la forma de obtener la solución al problema (definir el
algoritmo informático), para luego, a través del código, poder indicarle a la máquina
qué acciones queremos que lleve a cabo. De este modo, un programa informático no
sería más que un conjunto de algoritmos ordenados y codificados en un lenguaje de
programación para poder ser ejecutados en un ordenador.

No obstante, los algoritmos no son algo exclusivo de los ámbitos de las matemáticas,
la lógica y la computación. Utilizamos numerosos algoritmos para resolver problemas
en nuestra vida cotidiana. Algunos de los ejemplos más habituales son los manuales
de instrucciones o las recetas de cocina.

Partes de un algoritmo informático

Las tres partes de un algoritmo son:


1. Input (entrada). Información que damos al algoritmo con la que va a
trabajar para ofrecer la solución esperada.
2. Proceso. Conjunto de pasos para que, a partir de los datos de
entrada, llegue a la solución de la situación.
3. Output (salida). Resultados, a partir de la transformación de los
valores de entrada durante el proceso.

De este modo, un algoritmo informático parte de un estado inicial y de unos valores


de entrada, sigue una serie de pasos sucesivos y llega a un estado final en el que ha
obtenido una solución.

Características de los algoritmos


Asimismo, los algoritmos presentan una serie de características comunes. Son:
• Precisos. Objetivos, sin ambigüedad.
• Ordenados. Presentan una secuencia clara y precisa para poder llegar
a la solución.
• Finitos. Contienen un número determinado de pasos.
• Concretos. Ofrecen una solución determinada para la situación o
problema planteados.
• Definidos. El mismo algoritmo debe dar el mismo resultado al recibir
la misma entrada.
Lic. Martha Magdalena Dáguer Barboza. 10
Tipos de algoritmos y ejemplos
Existen diversas clasificaciones de algoritmos, en función de diferentes criterios.
Según su sistema de signos (cómo describen los pasos a seguir), se distingue entre
algoritmos cuantitativos y cualitativos, si lo hacen a través de cálculos matemáticos
o secuencias lógicas. Asimismo, si requieren o no el empleo de un ordenador para su
resolución, se clasifican en computacionales y no computacionales.

Pero, si nos fijamos en su función (qué hace) y su estrategia para llegar a la solución
(cómo lo hace), encontramos muchos más tipos de algoritmos. Destacamos los
siguientes cinco tipos de algoritmos informáticos:

Infografía de tipos de algoritmos informáticos.

Lic. Martha Magdalena Dáguer Barboza. 11


Algoritmos de búsqueda

Los algoritmos de búsqueda localizan uno o varios elementos que presenten una
serie de propiedades dentro de una estructura de datos.

Ejemplos de algoritmos de búsqueda

Existen diversos tipos de búsquedas, entre las que sobresalen:


• Búsqueda secuencial. En la que se compara el elemento a localizar con
cada elemento del conjunto hasta encontrarlo o hasta que hayamos
comparado todos.
• Búsqueda binaria. En un conjunto de elementos ordenados, hace una
comparación con el elemento ubicado en el medio y, si no son iguales,
continúa la búsqueda en la mitad donde puede estar. Y así
sucesivamente en intervalos cada vez más pequeños de elementos.

Algoritmos de ordenamiento
Reorganizan los elementos de un listado según una relación de orden. Las más
habituales son el orden numérico y el orden lexicográfico. Un orden eficiente
optimiza el uso de algoritmos como los de búsqueda y facilitan la consecución de
resultados legibles por personas y no solo máquinas.

Ejemplos de algoritmos de ordenamiento

Algunos algoritmos de ordenamiento son:


• Ordenamiento de burbuja. Compara cada elemento de la lista a
ordenar con el siguiente e intercambia su posición si no están en el
orden adecuado. Se revisa varias veces toda la lista hasta que no se
necesiten más intercambios.
• Ordenamiento por selección. Vamos colocando el elemento más
pequeño disponible en cada una de las posiciones de la lista de forma
consecutiva.
• Ordenamiento rápido. Elegimos un elemento del conjunto (pivote) y
reubicamos el resto a cada uno de sus lados, en función de si son
mayores o menores que el elemento que estamos tomando como
referencia. Repetimos el procedimiento en cada subconjunto.

Lic. Martha Magdalena Dáguer Barboza. 12


Algoritmos voraces

Los algoritmos voraces consisten en una estrategia de búsqueda que sigue una
heurística en la que se elige la mejor opción óptima en cada paso local con el
objetivo de llegar a una solución general óptima. Es decir, en cada paso del proceso
escogen el mejor elemento (elemento prometedor) y comprueban que pueda formar
parte de una solución global factible. Normalmente se utilizan para
resolver problemas de optimización.
Ejemplos de algoritmos voraces

En ocasiones, estos algoritmos no encuentran la solución global óptima, ya que al


tomar una decisión solo tienen en cuenta la información de las decisiones que han
tomado hasta el momento y no las futuras que puede adoptar. Algunos casos en los
que los algoritmos voraces alcanzan soluciones óptimas son:

• Problema de la mochila fraccional (KP). Disponemos de una colección


de objetos (cada uno de ellos con un valor y un peso asociados) y
debemos determinar cuáles colocar en la mochila para lograr
transportar el valor máximo sin superar el peso que puede soportar.
• Algoritmo de Dijkstra. Utilizado para determinar el camino más corto
desde un vértice origen hasta los demás vértices de un grafo, que tiene
pesos en cada arista.
• Codificación Huffman. Método de compresión de datos sin perder
información, que analiza la frecuencia de aparición de caracteres de un
mensaje y les asigna un código de longitud variable. Cuanto mayor sea
la frecuencia le corresponderá un código más corto.

Programación dinámica

La programación dinámica es un método de resolución de problemas en el que


dividimos un problema complejo en subproblemas y calculamos y almacenamos sus
soluciones, para que no haga falta volver a calcularlas más adelante para llegar a la
solución del problema. La programación dinámica reduce el tiempo de ejecución de
un algoritmo al optimizar la recursión.

Eso sí, para poder aplicarse a un problema, éste debe tener subestructuras
óptimas y subproblemas superpuestos. Es decir, que en él se puedan usar soluciones
óptimas de subproblemas para encontrar la solución óptima del problema en su
conjunto y que el problema se pueda dividir en subproblemas que se reutilizan para
ofrecer el resultado global.

Lic. Martha Magdalena Dáguer Barboza. 13


Usos de programación dinámica

Algunos casos en los que se utiliza son:


• La serie de Fibonacci. Sucesión de números que comienza con “0” y
“1” y, a partir de ellos, cada número es resultado de la suma de los
dos que le preceden. La relación de recurrencia la define.
• Problema de la mochila.

Algoritmos probabilísticos

Es una técnica que usa una fuente de aleatoriedad como parte de su lógica. Mediante
un muestreo aleatorio de la entrada llega a una solución que puede no ser
totalmente óptima, pero que es adecuada para el problema planteado.
Se utiliza en situaciones con limitaciones de tiempo o memoria y cuando se puede
aceptar una buena solución de media, ya que a partir de los mismos datos se pueden
obtener soluciones diferentes y algunas erróneas. Para que sea más probable ofrecer
una solución correcta, se repite el algoritmo varias veces con diferentes submuestras
aleatorias y se comparan los resultados.

Tipos de algoritmos probabilísticos

Existen dos tipos principales de algoritmos probabilísticos:


• Algoritmo de Montecarlo. Dependiendo de la entrada, hay una
pequeña probabilidad de que no acierte o no llegue a una solución. Se
puede reducir la probabilidad de error aumentando el tiempo de
cálculo.
• Algoritmo de Las Vegas. Se ejecuta en un periodo de tiempo concreto.
Si encuentra una solución en ese tiempo ésta será correcta, pero es
posible que el tiempo se agote y no encuentre ninguna solución.

Ejemplo real de algoritmo informático

A continuación, vamos a ver un ejemplo de algoritmo informático que utilizamos


este año para resolver un enigma que os planteamos en nuestras redes sociales para
celebrar el Día del Programador.
El reto o situación de partida que os proponíamos era el siguiente: «Si Java es Ñfaf
y Javascript es Ñfafxhwnuy, resuelve a través de la rueda de cifrado la siguiente frase
con tu solución programada: KJPNE INF IJ PTX UWTLWFQFITWJX».

Lic. Martha Magdalena Dáguer Barboza. 14


Situación de partida para el algoritmo.

Para conseguir descifrar el mensaje oculto, diseñamos un algoritmo informático,


un conjunto de instrucciones o pasos para resolver el enigma:
function decoded(encodedTxt) {
let alphabet = "abcdefghijklmnñopqrstuvwxyz".split("");
let decodedTxt = "";
encodedTxt.toLowerCase().split("").forEach(item => {
if (item === " ") {
decodedTxt += item;
}
else if (alphabet.indexOf(item) != -1) {
if (alphabet.indexOf(item) >= 5) {
decodedTxt += alphabet[(alphabet.indexOf(item) - 5)];
}
else if (alphabet.indexOf(item) <= 4) {
decodedTxt += alphabet[alphabet.length + alphabet.indexOf(item) - 5];
}
}
});
console.log(decodedTxt.toUpperCase());
}
const txtEncrypted = 'KJPNE INF IJ PTX UWTLWFQFITWJX';
decoded(txtEncrypted);
Finalmente, nuestro algoritmo nos proporcionó la solución que buscábamos: el
mensaje FELIZ DIA DE LOS PROGRAMADORES.

Lic. Martha Magdalena Dáguer Barboza. 15


Conclusión
Como hemos visto, un algoritmo informático no es más que un conjunto de
instrucciones para conseguir un fin. Los algoritmos están muy presentes en el ámbito
de la informática, pero también en nuestra vida cotidiana. Existen numerosos tipos
y ejemplos de algoritmos y, dependiendo de la situación en que nos encontremos,
unos u otros nos ayudarán a llegar a la solución que necesitemos.

DIAGRAMA DE FLUJO
Un diagrama de flujo, también llamado Flujograma de Procesos o Diagrama de Procesos,
representa la secuencia o los pasos lógicos (ordenados) para realizar una tarea mediante
unos símbolos.

Dentro de los símbolos se escriben los pasos a seguir.

Los diagramas de flujo representan la secuencia lógica o los pasos que tenemos que
dar para realizar una tarea mediante unos símbolos y dentro de ellos se describen los pasos
a realizar.
Un diagrama de flujo debe proporcionar una información clara, ordenada y concisa de todos
los pasos a seguir.
Por lo dicho anteriormente, podríamos decir que: "Un diagrama de flujo es una
representación gráfica o simbólica de un proceso".

El proceso o pasos que representa el diagrama de flujo puede ser de cualquier tipo, desde
los pasos para freír un huevo, como luego veremos, hasta los pasos para realizar un enorme
programa informático.

Muchas veces antes de realizar un diagrama de flujo se realiza un "Algoritmo" del problema
o proceso a desarrollar.
Un algoritmo describe una secuencia de pasos escritos para realizar una tarea.
El Diagrama de Flujo es su representación esquemática.

Algoritmo: Escribir los pasos ordenados a realizar para solucionar el problema.


Diagrama de Flujo: Representación mediante un esquema con símbolos del algoritmo.

Lic. Martha Magdalena Dáguer Barboza. 16


Los diagramas de flujo son una excelente herramienta para resolver
problemas, comprender el proceso a seguir, así como para identificar posibles
errores antes del desarrollo final de la tarea.

Cómo Hacer un Diagrama de Flujo


Normalmente para realizar un diagrama de flujo primero se hace el algoritmo.

Un ejemplo para cocinar un huevo para otra persona sería:

- Pregunto si quiere el huevo frito.


- Si me dice que si, lo frio, si me dice que no, lo hago hervido.
- Una vez cocinado le pregunto si quiere sal en el huevo.
- Si me dice que no, lo sirvo en el Plato, si me dice que si, le hecho sal y después lo sirvo
en el plato.

Si te fijas los pasos no pueden cambiar su posición.

Sería imposible preguntarle si lo quiere frito después de haberlo hervido, por ejemplo.

Es muy importante que los pasos sean una secuencia lógica y ordenada.

Ahora que ya sabemos todos los pasos, mediante el algoritmo, podemos hacer un
esquema con estos pasos a seguir.

Este esquema será el Diagrama de Flujo.

Lic. Martha Magdalena Dáguer Barboza. 17


Si uno tiene experiencia puede prescindir del algoritmo escrito, pero siempre tendremos
que tenerlo en mente para hacer el diagrama de flujo sin equivocarnos.

¿Para Qué se Usan los Diagramas de Flujo?


Se usan para hacer un programa informático, para analizar lo que tiene que hacer un robot,
en los procesos industriales, etc.

Un diagrama de flujo es útil en todo aquello que se necesite una previa organización antes
de su desarrollo.

En la realización de un programa informático es imprescindible primero realizar el diagrama


de flujo, independientemente del lenguaje de programación que usemos después.

Una vez que tenemos nuestro diagrama de flujo solo tendremos que conocer las órdenes
del lenguaje que realizan esas tareas que se especifican en el diagrama

Reglas y Símbolos Para la Construcción de un Diagrama de Flujo

1. Todos los símbolos han de estar conectados

2. A un símbolo de proceso pueden llegarle varias líneas

3. A un símbolo de decisión pueden llegarle varias líneas, pero sólo saldrán dos (Si o No,
Verdadero o Falso).

4. A un símbolo de inicio nunca le llegan líneas.

5. De un símbolo de fin no parte ninguna línea.

Los símbolos que se usan para realizar los diagramas de flujo son los siguientes:

Lic. Martha Magdalena Dáguer Barboza. 18


- En el Símbolo de decisión puede tomar los valores de salida SI o NO o también
VERDADERO o FALSO.

- El símbolo de Inicio o Final del Diagrama puedes ser un cuadrado con los bordes
redondeados o una elipse.

- Se pueden utilizar colores para lo símbolos.

Ejemplos de Diagramas de Flujo

Veamos un primer ejemplo muy sencillo.


Queremos hacer un programa informático que nos sume dos números y nos dé el resultado
en pantalla.
Solución del ejemplo:

El símbolo de resultado es un símbolo usado en los diagramas para soluciones con el


ordenador.

Es el símbolo de salida del resultado por la pantalla del ordenador.

Lic. Martha Magdalena Dáguer Barboza. 19


En el ejercicio tenemos el inicio y el fin, una entrada de datos, para meter los 2 números,
una operación a realizar, la suma, y un resultado a mostrar.
Cada uno de esos pasos con su símbolo correspondiente en el diagrama.
Otro ejemplo de un diagrama de flujo para una operación sencilla.
Imaginemos que tenemos una lámpara o bombilla y queremos hacer el diagrama de flujo
para saber qué hacer cuando la lámpara no funciona.

El siguiente algoritmo nos muestra el resultado del área de un triángulo en pantalla.

Como ves, en este ni siquiera hemos puesto las operaciones dentro de los símbolos, ya que
con la forma del símbolo ya se entiende.

Lic. Martha Magdalena Dáguer Barboza. 20


No hemos usado mucho el símbolo de tomar una decisión, por eso vamos hacer uno en el
que nos diga si el número es par o impar:

La palabra "mod" significa dividir, por lo tanto "mod 2" es dividir entre 2.
Como ya debes saber si divido un número entre 2 y el resto es 0 el número es par, en caso
contrario sería impar.
Hay tenemos la decisión.
¿Al dividirlo entre 2 el resto es 0? Hay 2 posibilidades.
Si lo es, se ve en pantalla "Si es par", si no lo es, se ve en pantalla "No es par".
Eso es la toma de decisiones.
Toma una salida en función del resultado de la entrada.
Además, los diagramas de flujo no solo valen para informática, incluso podemos hacer uno
para cocinar un huevo, como vimos al principio.

Lic. Martha Magdalena Dáguer Barboza. 21


Tenemos que hacer un diagrama de flujo para mostrar la suma de los 50 primeros
números.

Lo primero es poner a cero la suma y dar el primer número a sumar que será el 0.

Fíjate que el diagrama acaba cuando N, que es el número en cada momento, es 50.
Mientras no sea 50 el programa vuelve a la tercera secuencia que será sumarle un número
al anterior N = N + 1.

Lic. Martha Magdalena Dáguer Barboza. 22


Segundo Parcial

Realiza Pseudocódigos
✓ Elementos para diseñar algoritmos en Pseudocódigo.
✓ Resolución de problemas por medio de algoritmos.
✓ Uso de software educativo para ejecutar pseudocodigos.
✓ Aplicación de estructuras de control simple y doble.

ELEMENTOS PARA DISEÑAR ALGORITMOS EN PSEUDOCODIGO


Todo Pseudocódigo tiene estos tres elementos:

• Datos
• Operaciones primitivas elementales
• Estructuras de control

EJEMPLOS DE DIAGRAMAS DE FLUJO


Hacer el Diagrama de Flujo para sumar dos números.

EJEMPLOS

Lic. Martha Magdalena Dáguer Barboza. 23


1. Hacer un diagrama de flujo que permita leer 2 números diferentes y nos diga cual
es el mayor de los 2 números.

El pseudocódigo para este diagrama sería:

Lic. Martha Magdalena Dáguer Barboza. 24


3. Crear un diagrama de flujo de procesos en el que se almacenen 3 números en 3 variables
A, B y C. El diagrama debe decidir cuál es el mayor y cuál es el menor

4. Realizar el diagrama de flujo para que nos calcule la hipotenusa de un triángulo


rectángulo, conocidos sus dos catetos.

Lic. Martha Magdalena Dáguer Barboza. 25


5. Diagrama de Flujo para sumar 100 números leídos por teclado.

Explicación:

- En I contamos los números que quedan por sumar.


- En S calculamos la suma.
- A se emplea para leer temporalmente cada número.

Vamos a ver paso a paso cómo funciona. Supongamos que los datos son: 7, -1, 8, 5, ...

(1) I=100 (números a sumar)


(2) S=0 (suma, inicialmente 0) (3) Leer A. El primero es 7, luego A=7 (4) S=S+A=0+7=7
(5) I=I-1=100-1=99 (6) ¿I=0? ® NO
(3) Leer A, ahora A=-1
(4) S=S+A=7-1=6
(5) I=I-1=99-1=98
(6) ¿I=0? ® NO

Cuando I=0 habremos sumado los 100 números y pasaremos a: (7) Escribir S que será la
suma.

Lic. Martha Magdalena Dáguer Barboza. 26


6. Modificar el anterior para que permita sumar N números. El valor de N se debe leer
previamente por teclado.

7. Hacer un diagrama de flujo que permita escribir los 100 primeros pares.

Lic. Martha Magdalena Dáguer Barboza. 27


Explicación de la solución:

P: Variable para contener el siguiente par que se debe escribir.

I: Contador de pares que quedan por escribir.

El proceso es similar al anterior. Necesitamos un bucle para contar 100 veces y dentro de
él escribimos el par e incrementamos para obtener el siguiente.

8. Hacer el diagrama de flujo para sumar los N primeros impares. Realizar después uno
que haga lo mismo con los pares y otro con los múltiplos de 3.

Lic. Martha Magdalena Dáguer Barboza. 28


9. Hacer un diagrama de flujo que simule un reloj.

Lic. Martha Magdalena Dáguer Barboza. 29


10. Hacer un organigrama que lea N números, calcule y escriba la suma de los pares y el
producto de los impares.

Lic. Martha Magdalena Dáguer Barboza. 30


11. Calcular el máximo de N números leídos desde teclado.

Explicación del Ejemplo de Diagrama:

Vamos a almacenar en M el máximo de los números que se hayan leído, el primero va


directamente a M y los N-1 restantes los leemos en A, comparamos con M y si son
mayores cambiamos el máximo temporal.

Al final se escribe el resultado.

Vamos a ejecutarlo paso a paso para N=4, empleando como datos: 2, 3, -1, 7.
Lic. Martha Magdalena Dáguer Barboza. 31
(1) Leer N ® N=4
(2) Leer M ® M=2
(3) I=N-1=3
(4) Leer A ® A=3 (5) ¿A>M? ® SI (6) M=A=3
(7) I=I-1=3-I=2
(8) ¿I=0? ® NO (4) Leer A ® A=-1

12. Un año es bisiesto si es múltiplo de 4, exceptuando los múltiplos de 100, que sólo son
bisiestos cuando son múltiplos además de 400, por ejemplo, el año 1900 no fue bisiesto,
pero el año 2000 si lo será. Hacer un organigrama que dado un año A nos diga si es o no
bisiesto.

Lic. Martha Magdalena Dáguer Barboza. 32


13. Dados dos números enteros positivos N y D, se dice que D es un divisor de N si el resto
de dividir N entre D es 0. Se dice que un número N es perfecto si la suma de sus divisores
(excluido el propio N) es N. Por ejemplo 28 es perfecto, pues sus divisores (excluido elv28)
son: 1, 2, 4, 7 y 14 y su suma es 1+2+4+7+14=28. Hacer un organigrama que dado un número
N nos diga si es o no perfecto.

Lic. Martha Magdalena Dáguer Barboza. 33


14. Realiza el diagrama de flujo que simule una caja registradora.

Lic. Martha Magdalena Dáguer Barboza. 34


El pseudocódigo para esta caja registradora es:

SOFTWARE EDUCATIVO
El software educativo es una herramienta o programa informático que ayuda a integrar las
diferentes áreas de gestión dentro de un centro educativo: el área de facturación,
financiera, contable y administrativa, el área de comunicación y atención al cliente, la
organización escolar del centro, los sistemas de calificación.
Es decir, se trata de un software ideado para unificar las diferentes áreas de gestión del
centro para, de esta forma, poder hacer una gestión más eficaz y coordinada de todos los
departamentos necesarios para el buen funcionamiento del centro escolar al igual se
utilizará para la computadora.

Lic. Martha Magdalena Dáguer Barboza. 35


Tipos de software educativo: formar y gestionar en el ámbito digital

Existen esencialmente dos grandes tipos de software educativo:

• Plataformas de gestión de centros educativos. Se trata de programas informáticos que


ofrecen todo tipo de herramientas diseñadas específicamente para la gestión de estas
entidades.
Así, por ejemplo, pueden utilizarse como base de datos del alumnado y personal del centro,
para la gestión de matrículas, el control de suministros, la gestión de comunicaciones
internas y externas, la gestión económica, etc.
• Software educativo destinado a la enseñanza y aprendizaje. En esta categoría incluimos
todos aquellos programas que tienen como objetivo facilitar el proceso de enseñanza-
aprendizaje.
Por tanto, podemos mencionar aquí las distintas herramientas de e-learning para el
aprendizaje autónomo o asistido, plataformas de formación online, entornos de simulación
o realidad virtual, etc.

Ventajas de la utilización de software educativo: gestión y aprendizaje

Para analizar las principales ventajas que ofrece contar con algún tipo de software educativo,
analizaremos por separado las dos grandes tipologías que acabamos de mencionar:

1. Software de gestión educativa:

ventajas

En relación con este tipo de programas, las ventajas más destacadas son las siguientes:

• Permiten mejorar la productividad en tareas de gestión administrativa. Al centralizar y


ordenar las distintas áreas en un entorno compartido, estandarizando procedimientos y
automatizando tareas, pueden ahorrar tiempo y facilitar la reducción de errores,
aumentando la productividad.
• Facilitan el seguimiento de las comunicaciones, de forma similar a como lo hace el
software CRM en el ámbito empresarial.

Lic. Martha Magdalena Dáguer Barboza. 36


• Mejoran la conexión entre las distintas partes implicadas (profesores, personal de
administración, alumnado, padres y madres), que pueden relacionarse en un entorno
virtual compartido.

2. Ventajas del software educativo destinado al aprendizaje

Si nos centramos en el software educativo más directamente destinado a enseñar o aprender, las
ventajas serían las siguientes:

• Permiten el aprendizaje autónomo, ya que el estudiante puede acceder libremente a


todo tipo de materiales sin necesidad de supervisión.
• Facilitan la enseñanza no presencial. Sin duda, el sector del e-learning es uno de los que
más han crecido en los últimos años. Parte de este éxito se debe a la radical mejora de las
plataformas y herramientas que permiten impartir clases online, que son cada vez más
eficientes e interactivas.
• Añaden diversidad en el proceso de aprendizaje. La posibilidad de incorporar materiales
escritos y audiovisuales, clases grabadas o en directo, ejercicios y test interactivos, etc.,
permiten que el estudio sea más entretenido e incluya distintos tipos de estímulos para
mejorar el aprendizaje.
• Facilitan el seguimiento individualizado por parte de los profesores. En este sentido,
existen muchas herramientas de software educativo que permiten el seguimiento
detallado y en tiempo real del rendimiento de cada alumno. De este modo pueden
detectarse problemas de aprendizaje de forma inmediata e incorporar las soluciones que
sean precisas en cada caso.

Mejor software educativo: herramientas de gestión y aprendizaje

Sin duda, hoy en día existe una gran oferta de software educativo que puede adecuarse
perfectamente a cualquier tipo de institución educativa y a cada necesidad específica.

Así, algunas de las herramientas que nos parecen más interesantes son las siguientes:

1. Software para la gestión integral de centros educativos

Este tipo de software educativo incluye todas aquellas soluciones informáticas globales que
permiten gestionar los distintos aspectos de un centro educativo de forma centralizada.

Lic. Martha Magdalena Dáguer Barboza. 37


Así, entre otras cuestiones, facilitan la gestión de matrículas, la coordinación de horarios,
comunicaciones, gestión económica, evaluaciones, etc.

Como ejemplos de estas plataformas para la gestión de centros educativos, podemos citar Esemtia
(de Edebé), Aula1, Gescola, Phidias, etc.

2. Plataformas integrales de e-learning

En este apartado incluimos aquellas soluciones de software educativo que permiten desarrollar e
impartir cursos en línea o MOOCs (cursos masivos online).

Sin duda, en esta especialidad destaca Moodle, que es uno de los LMS (Learning Management
Systems) más utilizados en el mundo. Además, es un software de código abierto, totalmente
gratuito, apoyado por una comunidad muy activa.

Como alternativas a Moodle podemos citar Google Classroom, DokeOS, SWAD o Sakai.

3. Aplicaciones de aprendizaje específicas

Para tareas de aprendizaje en áreas específicas, existen diversas aplicaciones o plataformas online
que pueden integrarse en una gran variedad de contextos educativos.

Así, por ejemplo:

• Para el aprendizaje de matemáticas, destaca la plataforma gratuita de Khan Academy.


• En el área de idiomas, puede resultar muy útil la aplicación web de Duolingo.
• Para aprender programación informática con un enfoque práctico, Codecademy es la
mejor opción gratuita.

Además, para abordar tareas específicas, hay infinidad de herramientas disponibles online. Por
ejemplo, para elaborar presentaciones de diapositivas, generar encuestas o formularios, compartir
archivos, etc.

Lic. Martha Magdalena Dáguer Barboza. 38


4. Herramientas de firma electrónica

Finalmente, aunque no se trate de software educativo en sentido estricto, hay que destacar el papel
que pueden desempeñar las aplicaciones de firma electrónica en este ámbito.

Así, dentro de la gestión educativa digital, la pervivencia de las firmas manuscritas y las
comunicaciones en papel supone un importante cuello de botella que puede ralentizar todo el
proceso. Por tanto, solo se podría alcanzar una verdadera transformación digital en la educación
superior si se abordasen también estos obstáculos.

De este modo, una herramienta de firma electrónica para centros de formación profesional o
universitaria como la que ofrece Signaturit, puede ser la mejor opción para mantener todas las
gestiones dentro del dominio digital.

En definitiva, gracias al software educativo y otras herramientas complementarias, es posible


realizar una gestión más eficiente de cualquier institución educativa.

Además, la gran variedad de aplicaciones diseñadas expresamente para el aprendizaje online facilita
el acceso a una educación de calidad y ofrecen una enorme variedad de recursos para los
estudiantes en cualquier parte del mundo.

Ejemplos de Software Educativo

Hablemos del software educativo informática ya que con un crecimiento laboral


prometedor y salarios iniciales más altos que el promedio, la informática se ha convertido
en una especialización más popular entre los estudiantes universitarios en los últimos años.

Los estudiantes de hoy están expuestos a áreas en crecimiento dentro del campo, que
incluyen inteligencia artificial, seguridad, interacción entre humanos y computadoras,
lenguajes de programación y mucho más.

¿Qué tipos de software educativos existen?

• Software educativo de tutorial


• Software educativo de simulación
• Programa educativo de práctica y simulación
• Software de juego educativo
• Programas de resolución de problemas

Lic. Martha Magdalena Dáguer Barboza. 39


Los tipos de software educativos puede catalogarse según el formato de contenido que
priorizan. De esta forma, hay herramientas digitales pensadas para aprender jugando, o
herramientas que permiten diseñar un tutorial completo que funciona como un curso
presencial.

Software educativo de tutorial

El software educativo de tutorial busca generar contenidos que se asemejen a la clase de


un profesor, no priorizan necesariamente la interacción en tiempo real, ya que funcionan
como un curso empaquetado que puede compartirse por diversos canales y en diferentes
momentos.

De forma general, se diseñan para que el alumno pueda seguir una serie de pasos
secuenciados, y volver atrás siempre que lo necesite. Un software educativo enfocado en
tutoriales, contará con herramientas para la organización de la clase, la carga de contenidos,
el diseño y formato de la clase y diferentes posibilidades para compartirlo.

Software educativo de simulación

Los primeros antecedentes educativos del uso de simulaciones por realidad virtual y
realidad aumentada, ocurrieron en el año 1993. En ese momento se utilizó realidad virtual
mediante un prototipo de laboratorio de física aplicada.

Desde ese entonces, estos tipos de software educativos, ha crecido exponencialmente, y


hoy son muchos el software educativo de simulación que permiten acceder y percibir
elementos que son imposibles a través de la presencialidad.

Un ejemplo de este tipo de tecnología, se puede ver en los mapas estelares. Estos recrean
situaciones, elementos y movimientos del Sistema Solar, para permitirle al alumno
explorarlo, sin moverse de su casa.

Utilizan realidad virtual y realidad aumentada, para que los usuarios experimenten lugares,
hechos y momentos naturales, físicos o históricos a los que no pueden acceder de forma
presencial.

Software educativo de práctica y ejercitación

Uno de los tipos de software educativos más usados es el software educativo de práctica y
ejercitación. Está dividido en diferentes lecciones, y cada una posee una parte teórica y una
práctica. En este tipo de herramientas educativas digitales, hay mayor interacción entre el
profesor y los alumnos, ya que están estructurados para brindar lecciones, para luego
evaluar lo que se ha retenido en la memoria-

Lic. Martha Magdalena Dáguer Barboza. 40


Este es el método de enseñanza tradicional didáctico, pero aplicado al mundo digital. Se
trata de uno de los softwares educativos más utilizados por profesores, ya que permite
mantener una evaluación constante y un monitoreo de las acciones realizadas por los
alumnos.

Software de juegos educativos

Sin duda que una de las mayores ventajas de un software educativo es la posibilidad de
aprender jugando, en interactuando constantemente. Los softwares de juegos educativos
están pensados para recompensar al alumno a medida que aumenta su nivel, haciendo el
aprendizaje mucho más dinámico.

Este tipo de herramientas capta de forma muy efectiva el interés del estudiante. Los juegos
permiten acceder a alumnos de diferentes categorías y edades, para aprender sobre
diferentes materias.

Programas de resolución de problemas

Los programas de resolución de problemas, presentan enigmas y desafíos puntuales para


que el alumno deba explorar su capacidad analítica. El estudiante irá probando diferentes
salidas para llegar hasta la solución del conflicto.

Algunas herramientas de este tipo, permiten explorar posibilidades, plantear hipótesis y


seguir una serie de pasos para llegar al resultado.

Un ejemplo de este tipo de software educativo puede darse con un programa que invite a
resolver una reacción química, donde el estudiante debe probar diferentes elementos y
cantidades hasta dar con el correcto. Son softwares realmente interactivos, y que
despiertan la atención del estudiante.

Conclusión

Los tipos de software educativos presentan todo un abanico de posibilidades: Software


educativo de tutorial, Software educativo de simulación, de práctica y ejercitación y juegos
educativos. Con tanta diversidad de opciones es conveniente realizar un análisis de las
herramientas profesionales más usadas, como EvolCampus, Google Classroom o Neo LMS.

Todas estas herramientas permiten realizar una gestión de la clase, diseñar los contenidos,
evaluar a los estudiantes, monitorearlos y mantener una comunicación constante, con
alertas y correos automáticos.

Lic. Martha Magdalena Dáguer Barboza. 41


PSEUDOCÓDIGO
Una de las mejores formas de aprender a programar es empezar por los diagramas de flujo
y el pseudocódigo. Ambos facilitan al estudiante su inmersión en la resolución de
problemas mediante algoritmos.

El pseudocódigo es una forma de expresar los distintos pasos que va a realizar un programa,
de la forma más parecida a un lenguaje de programación. Su principal función es la de
representar por pasos la solución a un problema o algoritmo, de la forma más detallada
posible, utilizando un lenguaje cercano al de programación. El pseudocódigo no puede
ejecutarse en un ordenador ya que entonces dejaría de ser pseudocódigo, como su propio
nombre indica, se trata de un código falso (pseudo = falso), es un código escrito para que lo
entienda el ser humano y no la máquina.

Aprender a escribir pseudocódigo para la resolución de un problema permite hacer mucho


más sencilla su programación en un lenguaje convencional, por lo que si estás interesado
en comenzar tu formación como programador y no tienes conocimientos previos, resulta
muy recomendable y conveniente formarse en pseudocódigo antes de empezar a estudiar
cualquier lenguaje de programación.

Podemos considerar al pseudocódigo como un lenguaje intermedio, que se encuentra en


medio de nuestro propio lenguaje y el lenguaje de programación que entiende el
ordenador.

Principales características del pseudocódigo

Para comprender qué es el pseudocódigo podemos utilizar un símil: los planos de una casa
sería el pseudocódigo y la casa en sí el programa.

Su principal característica es la de representar un método que facilita la programación y


solución del algoritmo del programa. También se caracteriza por ser una forma de
representación, fácil de utilizar y de manipular, que simplifica el paso del programa, al
lenguaje de programación.

Lic. Martha Magdalena Dáguer Barboza. 42


Otra característica que tiene el pseudocódigo es su independencia al código en el que se
va a escribir el programa, proporcionando un método que facilita la posterior
programación y la resolución del algoritmo del programa.

Ventajas y desventajas del pseudocódigo

Las tareas más complejas o repetitivas pueden representarse de forma más sencilla ya que
está escrito en un lenguaje sencillo y no estructurado que permite una transición sencilla
al lenguaje de programación, más complejo y estructurado. Tener un programa escrito en
pseudocódigo facilita la tarea de programar en un lenguaje formal y mejora la calidad en la
resolución de problemas, además de reducir el espacio necesario a la hora de desarrollar
un problema.

El pseudocódigo llega donde el diagrama de flujo no lo hace. La solución de un diagrama


de flujo suele ser la ideal, pero no suele ser fácil de implementar al crear el programa. El
pseudocódigo permite que el diseño del programa y su implementación sean muy
parecidos.

La curva de aprendizaje del pseudocódigo es baja por lo que facilitan enormemente el


aprendizaje de la programación y la iniciación a lenguajes de programación más avanzados
y complejos. Por lo tanto, se trata de una herramienta educativa interesante.

El pseudocódigo, al ser independiente del lenguaje de programación, permite que su uso se


pueda aplicar utilizando diferentes lenguajes y permitiendo que el programador no tenga
que ser la misma persona que escribió el pseudocódigo.

Una de las desventajas del uso de pseudocódigo es la falta de normas, que puede hacer
que la lógica de un programa, resulte complicada de ver por el programador que va a
implementar este pseudocódigo. Además, en el caso de problemas muy extensos, puede
llegar a ser difícil de entender.

Componentes y sintaxis del pseudocódigo

Para escribir programas utilizando pseudocódigo es necesario seguir unas pautas o


normas de sintaxis para que puedan ser leídos y comprendidos por los programadores a
la hora de pasarlos a un lenguaje de programación. Es muy útil utilizar herramientas que

Lic. Martha Magdalena Dáguer Barboza. 43


faciliten esta escritura de pseudocódigo, como es el caso de PSeInt, que asiste con un
simple e intuitivo pseudolenguaje en español y que además incluye un editor de
diagramas de flujo.

Un programa escrito en pseudocódigo debe permitir instrucciones primitivas, de proceso,


de control, de descripción y compuestas.

Opciones del lenguaje (perfiles)

El lenguaje que utilizamos para construir el pseudocódigo no es estándar. Podemos añadir


o eliminar algunas reglas de sintaxis sin ningún problema. En la opción Configurar-
Opciones del Lenguaje (perfiles), podemos escoger las características del pseudocódigo
que vamos a utilizar. Tenemos tres alternativas:

• Escoger un perfil que define un pseudocódigo utilizado en distintos centros


educativos y universidades.
• Perfil flexible: Está escogido por defecto, y no es muy exigente con las reglas que
hay que utilizar para escribir el pseudocódigo.
• Perfil estricto: Estable ce una reglas que hacen que el pseudocódigo se parezca
más a un lenguaje de programación: se debe definir las variables y sus tipos, las
instrucciones deben terminar en punto y coma,…

Estructura de un algoritmo en pseudocódigo

Todo algoritmo en pseudocódigo tiene la siguiente estructura general:

Proceso SinTitulo
acción 1;
acción 2;
...
acción n;
FinProceso

• Comienza con la palabra clave Proceso (o alternativamente Algoritmo, son


sinónimos) seguida del nombre del programa.
• Le sigue una secuencia (Estructura de control secuencial) de instrucciones. Una
secuencia de instrucciones es una lista de una o más instrucciones y/o estructuras
de control.
• Finaliza con la palabra FinProceso (o FinAlgoritmo).

Lic. Martha Magdalena Dáguer Barboza. 44


• La identación no es significativo, pero se recomienda para que el código sea más
legible.
• No se diferencia entre mayúsculas y minúsculas. Preferible las minúsculas, aunque
a veces se añaden automáticamente los nombres con la primera letra en
mayúsculas.

Comentarios

Se pueden introducir comentarios luego de una instrucción, o en líneas separadas,


mediante el uso de la doble barra ( // ). Todo lo que precede a //, hasta el fin de la línea,
no será tomado en cuenta al interpretar el algoritmo.

Nuestro primer programa

Leer el radio de un círculo y calcular e imprimir su superficie y su circunferencia.

El pseudocódigo podría ser:

//Leer el radio de un círculo y calcular e imprimir su superficie y su


circunferencia.
//Análisis
//Entradas: Radio del círculo (Variable RADIO).
//Salidas: Superficie del círculo (Variable SUPERFICIE) y Circunferencia del
círculo (Variable PERIMETRO)
//Variables: RADIO, SUPERFICIE, PERIMETRO de tipo REAL

Proceso Circulo
Definir radio,superficie,perimetro como Real;
Escribir "Introduce el radio de la circunferencia:";
Leer radio;
superficie <- PI * radio ^ 2;
perimetro <- 2 * PI * radio;
Escribir "La superficie es ",superficie;
Escribir "El perímetro es ",perimetro;
FinProceso

Lic. Martha Magdalena Dáguer Barboza. 45


Y el diagrama de flujo:

ESTRUCTURAS DE CONTROL
En lenguajes de programación, las estructuras de control permiten modificar el flujo de
ejecución de las instrucciones de un programa.
Las estructuras de selección o condicionales son estructuras lógicas que permiten
controlar la ejecución de aquellas acciones que requieren de ciertas condiciones para su
realización.

Lic. Martha Magdalena Dáguer Barboza. 46


De acuerdo con dichas condiciones se “selecciona” si las acciones se ejecutan o no.

Las condiciones se pueden clasificar esencialmente 3 tipos:

• Simples
• Dobles
• Anidadas
• Múltiples

Esta clasificación se basa en si hay: una, dos o más de dos alternativas de acción.

Estructura de condición simple

Permite controlar la ejecución de una o más acciones cuando sólo existe una opción
(ejecutar las acciones o no ejecutarlas).

Se utiliza cuando una o varias acciones se encuentran condicionadas para que se lleven a
cabo, pero no se tiene una opción alterna.

Las estructuras condicionales simples se representan en diagrama de flujo de forma similar


a las imágenes que se muestran a continuación.

Lic. Martha Magdalena Dáguer Barboza. 47


Observe el siguiente enunciado de un problema y su posible solución usando una estructura
condicional simple.

Enunciado

Indique si una persona es mayor de edad, para ello debe solicitarle su edad.

Tablas de datos

Datos de entrada

Concepto Identificador Tipo de dato Valor inicial Dominio

Edad de la edad int 0 Todos los números positivos


persona

Datos de salida

Concepto Identificador Tipo de dato Valor inicial Dominio

Mayor de mayor_edad boolean false {false, true}


edad

Lic. Martha Magdalena Dáguer Barboza. 48


Diagrama de flujo

Código en python

edad = int(input('Ingrese el valor: '))

mayor_edad = False

if edad >= 18:

#Camino del sí

Lic. Martha Magdalena Dáguer Barboza. 49


mayor_edad = True

#Tabulación, sangría, indentación

print('La condición de mayoría de edad es: ' , mayor_edad)

Estructura condicional doble

La estructura condicional doble permite establecer acciones tanto cuando una condición se
cumple, como cuando no se cumple, de esta manera se dice que hay acciones o
instrucciones que se ejecutan en cada uno de los escenarios.

Las estructuras condicionales dobles se representan en diagrama de flujo de la siguiente


forma.

Observe el siguiente ejercicio y la solución para comprender mejor este tipo de estructuras
de condición.

Enunciado

Indique si una persona es mayor o menor de edad, si es mayor de edad debe devolver el
mensaje ‘Mayor de edad’, si es menor de edad debe devolver el mensaje ‘Menor de edad’.

Lic. Martha Magdalena Dáguer Barboza. 50


Tablas de datos

Datos de entrada

Valor
Concepto Identificador Tipo de dato inicial Dominio

Edad de la edad int 0 Todos los números positivos


persona

Tabla de salidas

Concepto Identificador Tipo de dato Valor inicial Dominio

Mensaje msj String » { ‘Mayor de edad’, ‘Menor de edad’ }

A continuación, se presenta otro enunciado de un ejercicio con estructuras condicionales


dobles.

Código en python

edad = int(input('Ingrese el valor: '))

msj = ''

if edad >= 18:

#camino del si o if

msj = 'Mayor de edad'

else:

#camino del no o else

msj = 'Menor de edad'

Lic. Martha Magdalena Dáguer Barboza. 51


print('Usted es: ', msj)

Enunciado

Un cliente se hospeda varias noches en un hotel, el precio por noche es de 100 dólares.

Si el usuario se hospeda más de 3 noches se le aplica un porcentaje de descuento del 5% y


si no se aplica un porcentaje de descuento del 0%.

Devuelva el monto total que debe pagar el cliente, sabiendo que él indica cuántas noches
se va a hospedar.

Tablas de datos

Datos entrada

Concepto Identificador Tipo de dato Valor inicial Dominio

Cantidad de noches int 0 Todos los números positivos


noches

Datos establecidos

Tipo de Valor
Concepto Identificador dato inicial Dominio

Precio por noche precio int 100 {100}

Porcentaje de porc_descuento float 0 {0.05, 0}


descuento

Lic. Martha Magdalena Dáguer Barboza. 52


Datos intermedios

Concepto Identificador Tipo de dato Valor inicial Dominio

Subtotal del hospedaje subtotal int 0 Todos los números positivos

Descuento a aplicar descuento float 0 Todos los números positivos

Datos de salida

Concepto Identificador Tipo de dato Valor inicial Dominio

Monto total de total float 0 Todos los números positivos


hospedaje

Lic. Martha Magdalena Dáguer Barboza. 53


Lic. Martha Magdalena Dáguer Barboza. 54
LENGUAJE MÁQUINA
El lenguaje de máquina o código máquina es el sistema de códigos directamente
interpretable por un circuito micro programable, como el microprocesador de
una computadora o el microcontrolador de un autómata. Este lenguaje está compuesto
por un conjunto de instrucciones que determinan acciones a ser tomadas por la máquina.
Un programa consiste en una cadena de estas instrucciones más un conjunto cual se
trabaja. Estas instrucciones son normalmente ejecutadas en secuencia, con eventuales
cambios de flujo causados por el propio programa o eventos externos. El lenguaje de
máquina es específico de la arquitectura de la máquina, aunque el conjunto de
instrucciones disponibles pueda ser similar entre arquitecturas distintas.
Los circuitos micro programables son digitales, lo que significa que trabajan con dos únicos
niveles de tensión. Dichos niveles, por abstracción, se simbolizan con los números 0 y 1, por
eso el lenguaje de máquina solo utiliza dichos signos. Esto permite el empleo de las teorías
del álgebra booleana y del sistema binario en el diseño de este tipo de circuitos y en su
programación.
Claude Elwood Shannon, en su libro Analysis of Relay and Switching Circuits, y con sus
experiencias en redes de conmutación, sentó las bases para la aplicación del álgebra de
Boole a las redes de conmutación. Una red de conmutación es un circuito de interruptores
eléctricos que al cumplir ciertas combinaciones booleanas con las variables de entrada,
define el estado de la salida. Este concepto es el núcleo de las puertas lógicas, las cuales
son, por su parte, los ladrillos con que se construyen sistemas lógicos cada vez más
complejos. Shannon utilizaba el relé como dispositivo físico de conmutación en sus redes,
dado que el relé, a igual que una lámpara eléctrica, posee dos estados: activado (encendido)
o (apagado).
El desarrollo tecnológico ha permitido evolucionar desde las redes de relés
electromagnéticos a circuitos con tubos de vacío, luego a redes transistorizadas, hasta
llegar a los modernos circuitos integrados, en cuya cúspide se encuentran los circuitos micro
programados.
El llamado código máquina consistía en introducir la programación de la máquina mediante
unos y ceros. cualquier programa de ordenador debe, finalmente, ser convertido a este
código para que un ordenador pueda ejecutar las instrucciones de dicho programa.
Los ordenadores solo leen este tipo de lenguaje, en donde la combinación de números logra
convertirse en acciones. Dada su complejidad existen los lenguajes de programación
como JavaScript para programar páginas web o C++ para programar videojuegos entre
muchos otros.

Lic. Martha Magdalena Dáguer Barboza. 55


SUMA BINARIA
¿Cómo sumar números binarios?

La suma de dos números binarios sigue la misma mecánica que la suma entre números
decimales. Simplemente hay que tener en cuenta las siguientes reglas:

0+0 = 0

0+1 = 1

1+0 = 1

1+1 = 0 (y llevamos 1)

En el caso de la suma binaria, llevamos una siempre que sumemos 1+1. Dicho de otra forma,
en este caso deberemos sumar 1 a la columna que queda a la izquierda.

¿Cómo restar números binarios?

Para restar dos números binarios podemos utilizar una mecánica muy similar a la que
utilizamos para restar números decimales. En este caso hay que tener en cuenta las
siguientes reglas:

0-0 = 0

0-1 = 1 (y llevamos 1)

1-0 = 1

1-1 = 0

Lic. Martha Magdalena Dáguer Barboza. 56


En el caso de la resta binaria, siempre que restemos 1 a 0 deberemos sumar 1 a la columna
izquierda del sustraendo para seguir con la resta. Puedes ver un ejemplo de ello en la
siguiente imagen:

¿Cómo multiplicar números binarios?

Multiplicación binaria es un circuito electrónico utilizado en electrónica digital, como una


computadora, para multiplicar dos números binarios. Está construido usando sumadores
binarios.

¿Cómo dividir números binarios?

La división binaria es una de las operaciones más importantes de la aritmética binaria. Un


sistema numérico binario o base-dos es una técnica de conteo que utiliza dos dígitos: 0 y 1,
y representa el número con la base 2.

Lic. Martha Magdalena Dáguer Barboza. 57


Tercer Parcial

Realiza Pseudocódigos
✓ Aplicación de estructuras de control simples.
✓ Aplicación de estructuras de control repetitivas.

ESTRUCTURA DE CONTROL MÚLTIPLE


Concepto Básico.
La estructura lógicas selectivas se encuentran en la solución algorítmica de casi todo tipo
de problemas. Las utilizamos cuando en el desarrollo de la solución de un problema
debemos tomar una decisión, para establecer un proceso o señalar un camino alternativo
a seguir.
Esta toma de decisión se basa en la evaluación de una o más condiciones que nos señalarán
como alternativa o consecuencia, la rama a seguir.
Hay situaciones en las que la toma de decisiones se realiza en cascada. Es decir se toma una
decisión, se marca la rama correspondiente a seguir, se vuelve a tomar una decisión y así
sucesivamente. Por lo que para alcanzar la solución de este problema o subproblema
debemos aplicar prácticamente un árbol de decisión.

ESTRUCTURA SELECTIVA IF.


Permite que el flujo siga un camino especifico si se cumple una condición o un conjunto de
varias conclusiones cuando evaluamos la condición y el resultado, se ejecuta (n) a ciertas
operaciones y continua el proceso normal. Además, se utiliza para operaciones
condicionadas.

if: Ejecuta una sentencia si una condición especificada es evaluada como verdadera. Si la
condición es evaluada como falsa, otra sentencia puede ser ejecutada.
Es un estamento que se utiliza para probar si una determinada condición se ha alcanzado,
como por ejemplo averiguar si un valor analógico está por encima de un cierto número, y
ejecutar una serie de declaraciones (operaciones) que se escriben dentro de llaves, si es
verdad. Si es falso (la condición no se cumple) el programa salta y no ejecuta las operaciones
que están dentro de las llaves.

Lic. Martha Magdalena Dáguer Barboza. 58


FORMATO:
IF condición entonces
Operación (es)
{fin de condición}

1. condición: Una expresión que puede ser evaluada como verdadera o falsa.
2. sentencia1: Sentencia que se ejecutará si condición es evaluada como verdadera.
Puede ser cualquier sentencia, incluyendo otras sentencias if anidadas. Para
ejecutar múltiples sentencias, use una sentenciablock ({ ... }) para agruparlas.

ESTRUCTURA SELECTIVA IF, ELSE.


Permite que el flujo se divida por dos ramas diferentes en el punto de la toma de decisión.
Si cuando evaluamos la condición o condiciones el resultado es verdadero se ejecuta 8n)
cierta (as) operación (es), pero si el resultado es falso se sigue por otro camino y se ejecuta
(n) otras (s) operación (es).

En otros casos luego de ejecutarse (s) operación (es) indicada (s) se confirma normalmente.
NOTA: estos son mutuamente excluyentes

FORMATO:
If condición
Entonces
Hacer operación 1
Else
Hacer operación 2
{ fin de la condicional}

Lic. Martha Magdalena Dáguer Barboza. 59


1. condición: Una expresión que puede ser evaluada como verdadera o falsa.
2. sentencia1: Sentencia que se ejecutará si condición es evaluada como verdadera.
Puede ser cualquier sentencia, incluyendo otras sentencias if anidadas. Para
ejecutar múltiples sentencias, use una sentenciablock ({ ... }) para agruparlas.
3. sentencia2: Sentencia que se ejecutará si condición se evalúa como falsa, y exista
una cláusula else. Puede ser cualquier sentencia, incluyendo sentencias block y otras
sentencias if anidadas.

A continuación aremos unos ejemplos:

1) Programa que calcule que numero es mayor.

- Comenzaremos capturando el texto y declarando las variables que iremos a utilizar, y


capturaremos un mensaje que nos diga que ingresemos los numero, y que nos convierta
de cadena de texto a números entero y nos capture los datos de la variable.

- Como siguiente paso aremos la función if y else.


Nota: Cuando vinculamos dos o más condiciones con el operador “&&”, las dos condiciones
deben ser verdaderas para que el resultado de la condición compuesta de Verdadero y
continúe por la rama del verdadero de la estructura condicional.

Lic. Martha Magdalena Dáguer Barboza. 60


La utilización de operadores lógicos permite en muchos casos plantear algoritmos más
cortos y comprensibles.

-Así se nos vera el programa completo.

Lic. Martha Magdalena Dáguer Barboza. 61


- Al ejecutar el código muestra el siguiente resultado.

2)Programa que me muestra si el numero ingresado es positivo o negativo o neutro.

-Comenzaremos Capturando y mostrando el nombre del programa, declararemos la


variable que en este caso sería número, lo convertimos de cadena de texto a número
entero y capturamos las variables.

Lic. Martha Magdalena Dáguer Barboza. 62


- Como siguiente paso aremos la función if y else.

- Al ejecutar el código muestra el siguiente resultado.

Lic. Martha Magdalena Dáguer Barboza. 63


ESTRUCTURA SWITCH.

Permita que le flujo del proceso se bifurque por varias ramas en el punto de la toma de
decisiones, además el selector toma el valor 1 se ejecutara la acción 1, si toma le valor 2 se
ejecutara la acción 2, si toma el valor “n” se realizara la acción “n” y si toma un valor
diferente entre los valores comprendidos entre 1 y n, se continuara con flujo normal
realizando al acción n+1.

FORMATO:
SWITCH
Case 1: hacer acción 1
Case 2: hacer acción 2
Case 3: hacer acción 3
·
·
·
Case n: hacer acción n
Final del condicional

1. Condición: Una expresión que se evalúa antes de cada paso del bucle. Si esta
condición se evalúa como verdadera, se ejecuta sentencia. Cuando la condición se
evalúa como false, la ejecución continúa con la sentencia posterior al bucle while.
2. Sentencia: Una sentencia que se ejecuta mientras la condición se evalúa como
verdadera. Para ejecutar múltiples sentencias dentro de un bucle, utiliza una
sentencia block ({ .. }) para agrupar esas sentencias.

A continuación veremos un ejemplo de switch


1) Programa que ingrese un número del 1 al 10 y me los de en inglés

-Comenzaremos capturando el texto y mostrándolo en pantalla (El nombre del programa y


la petición de un numero), Declararemos la variable que en este caso seria num, la
capturamos en pantalla y la convertimos en número entero.

Lic. Martha Magdalena Dáguer Barboza. 64


- Ahora aremos el proceso de switch, entre paréntesis viene la expresión o el valor que va
hacer procesado la cual sería num.
Nota: Esta palabra clave es parte del cambio. Usamos esta palabra clave para hacer
coincidir los valores constantes en los conmutadores. Case especifica una constante a
igualar en la declaración de selección de conmutación.

-Vendría el primer caso el case 1 cuando elijamos el numero 1 la variable num va a ser
igual a one.

- case 2 cuando elijamos el numero 2 la variable num va a ser igual a Two.


Después ponemos un break.

- case 3 cuando elijamos el numero 3 la variable num va a ser igual a Three.


Después ponemos un break.

- case 4 cuando elijamos el numero 4 la variable num va a ser igual a Four.


Después ponemos un break.

- case 5 cuando elijamos el numero 5 la variable num va a ser igual a Five.


Después ponemos un break.

- case 6 cuando elijamos el numero 6 la variable num va a ser igual a Six.


Después ponemos un break.

- case 7 cuando elijamos el numero 7 la variable num va a ser igual a Seven.


Después ponemos un break.

- case 8 cuando elijamos el numero 8 la variable num va a ser igual a Eigth.


Después ponemos un break.

- case 9 cuando elijamos el numero 9 la variable num va a ser igual a Nine.


Después ponemos un break.

- case 10 cuando elijamos el numero 10 la variable num va a ser igual a Ten.


Después ponemos un break.

Lic. Martha Magdalena Dáguer Barboza. 65


Nota: La break instrucción finaliza el bucle cerrado más cercano o la instrucción switch en
la que aparece. El control se pasa a la declaración que sigue a la declaración terminada, si
corresponde.

Lic. Martha Magdalena Dáguer Barboza. 66


- Al ejecutar el código muestra el siguiente resultado.

CICLOS REPETITIVOS
Los ciclos repetitivos también llamados lazos o bucles permiten repetir una operación o
secuencia de operaciones en función de ciertas condiciones. Es un segmento de un
algoritmo o programa cuyas instrucciones se repiten un número determinado de veces
mientras se cumpla una determinada condición.
Dentro de los ciclos se utilizan contadores y acumuladores, que regulan que el ciclo llegue
a su fin.

Un bucle es una sentencia que ejecuta repetidas veces un trozo de código, hasta que la
condición asignada a dicho bucle deja de cumplirse.

A. Contador: Es un tipo de variable que incrementa o decrementa su valor en un valor


constante Cuando decimos incrementa estamos sumando.
Ejemplo: Veces = Veces + 1

Como se puede observar a la variable veces se le está incrementando un valor constante


(1); es decir a su contenido le sumas el valor y se vuelve a guardar en la misma variable.

B. Acumulador: Es una variable que incrementa o decremento su contenido en


cantidades variables.

Lic. Martha Magdalena Dáguer Barboza. 67


• For: Este ciclo repite un bucle de instrucciones un número de veces previamente
establecido, se controla mediante una variable que inicia en determinado valor y avanza o
retrocede en uno hasta el valor límite, este ciclo se emplea cuando se conoce exactamente
el número de interaciónes que se necesitan, es decir, el número de veces que se desea
repetir.

Se representa mediante la sentencia para-hasta (for) y funciona de la siguiente forma:

For (vi;condición;incremento)

{
argumento
}

Continuación veremos un ejercicio con el ciclo repetitivo

Programa que da los numero impares del 1 al 20


(Debemos de tomar en cuenta que el programa lo aremos con el ciclo repetitivo for.)

- Comenzaremos capturando el texto y mostrándolo en pantalla, al mismo tiempo


declararemos las variables que en este caso sería x.

Lic. Martha Magdalena Dáguer Barboza. 68


-A continuación trabajaremos con el ciclo for, aremos que el ciclo for que nos repita la
secuencia del 1 al 20 para sacar los numero impares, y eso lo aremos sumándole 2 a cada
secuencia del ciclo for, lo aremos de la siguiente manera.

- Al ejecutar el código muestra el siguiente resultado.

-Como vemos los números de x se le suman dos número para sacra los impares.

Lic. Martha Magdalena Dáguer Barboza. 69


ESTRUCTURAS DE CONTROL REPETITIVAS
¿Qué es una estructura repetitiva?

Las estructuras repetitivas se utilizan cuando se quiere que un conjunto de instrucciones se


ejecuten un cierto número finito de veces, por ejemplo, escribir algo en pantalla cierta
cantidad de veces, mover un objeto de un punto a otra cierta cantidad de pasos, o hacer
una operación matemática cierta cantidad de veces. Se les llama bucle o ciclo a todo
proceso que se repite cierto número de veces dentro de un pseudocódigo o un programa y
las estructuras repetitivas nos permiten hacerlo de forma sencilla.

Desde o para (for)

Esta estructura ejecuta las acciones del cuerpo del bucle un número especificado de veces,
y de modo automático controla el número de iteraciones o pasos.

Desde i=0 hasta 100

Acción_1

Acción_2

Acción_3

Acción_n

Fin_desde

Segmento del diagrama de flujo correspondiente a sentencia Desde

Lic. Martha Magdalena Dáguer Barboza. 70


CICLO WHILE (Mientras)

El CICLO MIENTRAS ejecuta un bloque de acciones ‘mientras’ que una condición dada se
cumpla, es decir, cuando la condición evalúa a verdadero. La condición es evaluada antes
de ejecutar el bloque de acciones y si la condición no se cumple, el bloque no se ejecuta. De
esta manera es que el número de repeticiones del bloque de acciones sea cero, pues, si la
condición la primera vez evalúa a falso, el bloque no será ejecutado alguna vez.
SINTAXIS:
mientras condición
haga instrucciones…
fin mientras

El ciclo mientras se utiliza cuando se quiere ejecutar repetidamente un bloque de


instrucciones basado en una condición, el ciclo se repite mientras la condición se cumple.

Un proceso es la ejecución de un programa, es decir, los datos e instrucciones están


cargados en la memoria principal, ejecutándose o esperando a hacerlo.

CICLO DO WHILE: En este ciclo se inicia con el proceso y se utiliza un condicional como un
ciclo (igual que el otro) y al igual que el anterior en el momento que no se cumpla una
condición se sale del ciclo y hay termina el algoritmo.

Los ciclos do-while son una estructura de control cíclica, los cuales nos permiten ejecutar
una o varias líneas de código de forma repetitiva sin necesidad de tener un valor inicial e
incluso a veces sin siquiera conocer cuando se va a dar el valor final, hasta aquí son similares
a los ciclos while, sin embargo el ciclo do-while nos permite añadir cierta ventaja adicional
y esta consiste que nos da la posibilidad de ejecutar primero el bloque de instrucciones
antes de evaluar la condición necesaria, de este modo los ciclos do-while, son más efectivos
para algunas situaciones específicas. En resumen, un ciclo do-while, es una estructura de
control cíclica que permite ejecutar de manera repetitiva un bloque de instrucciones sin
evaluar de forma inmediata una condición especifica, sino evaluándola justo después de
ejecutar por primera vez el bloque de instrucción.

Lic. Martha Magdalena Dáguer Barboza. 71


A continuación, veremos ejemplos de while.

1) Programa que saca el múltiplo de 3 al 200

- Comenzaremos capturando el texto y mostrándolo en pantalla, al mismo tiempo


declararemos la variables que en este caso sería num.

- A continuación trabajaremos con el ciclo while, aremos una sentencia que nos muestre
los múltiplos de 3 al 200 y lo aremos sumando de tres en tres.

Lic. Martha Magdalena Dáguer Barboza. 72


- Al ejecutar el código muestra el siguiente resultado.

2) Programa que muestra los numero de uno en uno hasta el 100.

- Comenzaremos capturando el texto y mostrándolo en pantalla, al mismo tiempo


declararemos las variables que en este caso sería x.

Lic. Martha Magdalena Dáguer Barboza. 73


- Aremos la función while le diremos que nos muestre los numero del 1 al 100 de uno en
uno.

- Al ejecutar el código muestra el siguiente resultado.

Lic. Martha Magdalena Dáguer Barboza. 74


Repetir hasta (do while)

La estructura repetir cumple la misma función que la estructura mientras. La diferencia está
en que la estructura mientras comprueba la condición al inicio y repetir lo hace al final. Es
por ello que la estructura repetir se ejecuta por lo menos una vez.

Hacer

Acción_1

Acción_2

Acción_3

Acción_n

Mientras condición

Segmento del diagrama de flujo correspondiente a sentencia Repetir

Lic. Martha Magdalena Dáguer Barboza. 75


INTRODUCCIÓN A PSEINT
PseInt (Pseudo Intérprete) es un Entorno de Desarrollo Integrado (IDE, por sus siglas en
inglés) para Pseudocódigo. Es decir, PseInt es un editor e intérprete de programas escritos
en pseudocódigo. Su interfaz gráfica permite crear, almacenar, ejecutar y corregir
fácilmente programas en pseudocódigo. PseInt después de haber realizado el pseudocódigo
puede crear el diagrama de flujo. Dicho software es sencillo de usar y es por ello que es
considerado ideal para la enseñanza de la programación. Permite la construcción de
programas con instrucciones condicionales (Si-Entonces Si no, Según) y ciclos (Mientras,
Hasta Que, Para), y también usar valores numéricos (números decimales), lógicos,
caracteres y arreglos. Permite la concatenación de cadenas de caracteres. También provee
funciones de entrada/salida y algunas funciones matemáticas. PseInt ofrece un sistema de
ayuda integrado acerca del pseudocódigo y el uso del programa, es Software libre y
multiplataforma (para Windows, GNU/Linux y Mac OS X).

Entorno de PSeint

Lic. Martha Magdalena Dáguer Barboza. 76


Lic. Martha Magdalena Dáguer Barboza. 77
6.- Después de haber seleccionado Nuevo archivo, escriba el siguiente pseudocódigo

7.- Ahora, se podrá ejecutar el algoritmo, para verifivar si los resultados que da son los
que se espera. Para ello existen varias formas de ejecutarlo que son las siguientes.

Lic. Martha Magdalena Dáguer Barboza. 78


• A través de la barra de menú elegir el menú
Ejecutar y selecciona la opción Ejecutar
como se muestra en la figura

• A través de la barra de acceso rápido,

selecciona el icono

8.- Observa la corrida del Algoritmo, al


ejecutar con la función F9 o bien con el icono

, si no tienes pide el valor de los grados


centígrados.

9. Presione el icono o la función F7 y


podrá obtener el diagrama de flujo si el
seudocódigo que escribió esta bien

Lic. Martha Magdalena Dáguer Barboza. 79


ANEXOS
MAPA MENTAL

Un mapa mental (mind map en inglés) es una representación gráfica, un diagrama, de ideas
o conceptos relacionados entre sí y que te ayudarán a organizar y entender mejor la
información relacionada con un tema principal. Una de las características más reconocibles
de un mapa mental es que es una representación gráfica radial. Es decir, verás el tema o
idea principal en el centro del diagrama que se ramifica en otros subtemas o temas
secundarios alrededor de éste en distintos niveles.

La elaboración del mapa mental es además sencilla. Basta con elegir el concepto principal
o tema principal e ir extrayendo subtemas que se irán ramificando hasta obtener una
especie de anillo de ideas.

Ejemplos:

Lic. Martha Magdalena Dáguer Barboza. 80


MAPA CONCEPTUAL
El mapa conceptual es un diagrama que ayuda a entender un tema en específico al visualizar
las relaciones entre las ideas y conceptos. Por lo general, las ideas son representadas en
nodos estructurados jerárquicamente y se conectan con palabras de enlace sobre las líneas
para explicar las relaciones.
Ejemplo:

Lic. Martha Magdalena Dáguer Barboza. 81


CUADRO SINOPTICO
Un cuadro sinóptico es una representación gráfica de ideas o conceptos. Se puede hacer
un cuadro sinóptico sobre algún tema específico que se quiere analizar de manera acotada,
utilizando palabras clave recuadradas y conectadas mediante líneas y conectores.
Gráficamente es como un árbol: comienza con una palabra inicial de la cual surgen varias
otras.
Un cuadro sinóptico es normalmente implementado como una estrategia para
organizar conocimientos de una manera simple y clara. Se basa en una temática en
particular y sus diversas relaciones.

Los cuadros sinópticos resultan muy útiles para analizar un tema o una teoría, ya que
contrastan y relacionan variables al encontrar semejanzas y diferencias entre ellas.

Ejemplo:

Lic. Martha Magdalena Dáguer Barboza. 82


ENSAYO
El ensayo es un tipo de texto en prosa, generalmente expositivo-argumentativo, en el cual
un autor reflexiona, diserta, evalúa o analiza un tema a elección. Es un género literario, que
aborda subjetivamente una temática y tiene un formato libre, en el que el autor se vale de
información rigurosa y chequeada para formular sus argumentos.

Los ensayos pueden tratar sobre una gran diversidad de temas, en disciplinas
como literatura, filosofía y economía. También es usual que en el ámbito académico se
realice la escritura de ensayos, los ensayos académicos suelen adherir a estándares de
objetividad, rigurosidad metodológica y formatos más o menos establecidos; dentro del
ámbito científico o humanístico.

RESUMEN
Cuando se habla de un resumen, se hace referencia a un texto de extensión variable,
tendiendo siempre a lo breve, en el que se sintetiza o se abrevian las ideas de un texto de
mayor tamaño y/o mayor complejidad. Se estila que un resumen sea un 25% del tamaño
del original.

Los resúmenes son formas condensadas de un texto o un discurso, lo cual significa la


selección de su material más central, vital o importante, y el descarte de todo aquello que
sea superfluo, decorativo o suplementario. Normalmente se realizan con la intención de:

• Brindar una muestra o un abreboca del contenido de un libro cualquiera (como


los textos de las contratapas).
• Permitir al investigador enterarse de los puntos principales de un artículo (como
los abstracts de los artículos académicos).
• Resumir la información de un texto en una serie de apuntes para
su lectura posterior (como en los cuadernos de clase).

Lic. Martha Magdalena Dáguer Barboza. 83


• Brindar el núcleo de la información generada durante un período de
tiempo extenso (como en los resúmenes de cuenta de los bancos).
• Comprobar, como ejercicio, la capacidad lectora de los alumnos de la escuela.

De igual manera, la elaboración de resúmenes suele ser una técnica de estudio


fundamental: nos permite comprobar que entendimos el texto a cabalidad, ya que
podemos elegir cuáles son sus ideas principales y cuáles son ideas descartables.

LINEA DEL TIEMPO


Una línea del tiempo es una representación gráfica de una secuencia cronológica de los
eventos de una historia, proceso o narración. Las líneas del tiempo, que se presentan en
formato horizontal o vertical, les brinda a los usuarios un medio simplificado para
comprender cómo los distintos eventos, personas y acciones desempeñaron un rol, o lo
desempeñarán, en un proceso o período determinado. Las líneas del tiempo también se
pueden combinar con texto y gráficos para producir infografías, que sirven para presentar
fácilmente estadísticas, eventos históricos y otra información.

Lic. Martha Magdalena Dáguer Barboza. 84


Tipos de líneas del tiempo

Puedes seleccionar entre muchas distintas opciones y formatos de líneas del tiempo para
decidir la mejor manera de visualizar tu información. Estos son algunos de los tipos de líneas
del tiempo más comunes entre los cuales puedes elegir:

Línea del tiempo horizontal: Las líneas del tiempo horizontales presentan la información
en orden cronológico, desde la izquierda a la derecha de la página.

Línea del tiempo vertical: En las líneas del tiempo verticales, la información se presenta
cronológicamente con el primer evento en la parte superior de la página y el último en la
parte inferior. Los eventos y la demás información se añaden utilizando ramas horizontales
que se desprenden de cada lado de la línea del tiempo.

Lic. Martha Magdalena Dáguer Barboza. 85


Línea del tiempo cronológica: Las líneas del tiempo cronológicos presentan un orden
específico de eventos, usualmente a partir del posible primer evento a la izquierda y el
último a la derecha. Son más efectivos para visualizar eventos históricos.

Cronograma de diagrama de Gantt: El cronograma del diagrama de Gantt es un gráfico de


barras horizontales que se emplea para controlar gráficamente el avance de un proyecto a
lo largo del tiempo. Es ideal para gestionar proyectos de cualquier tamaño, además de para
coordinar tareas, la duración de las tareas, las fechas y los recursos.

Línea del tiempo dinámica: Las líneas del tiempo dinámicas permiten que el usuario se
mueva entre las fechas y las manipule en tiempo real. Son los mejores para visualizar y
analizar grandes cantidades de datos, posiblemente durante un largo período de tiempo.

Línea del tiempo estática: Tanto las líneas del tiempo cronológicos como las líneas del
tiempo con gráficos de barras verticales son ejemplos de líneas del tiempo estáticas. Todos
los datos se presentan simultáneamente en un plano estático, y la información no cambia
ni se mueve.

Línea del tiempo con gráfico de barras verticales: Una línea del tiempo con gráfico de
barras verticales se puede emplear para controlar el tiempo en comparación con
cantidades, por ejemplo, dinero o crecimiento de una compañía. Su movimiento
ascendente brinda una rápida visualización de las ganancias y las pérdidas, por lo que son
ideales para los analistas de negocios y los equipos de finanzas.

Componentes de una línea del tiempo

Las líneas del tiempo están conformadas por cuatro componentes básicos:

• Fechas: Marcar cuando un evento específico tiene lugar en una línea del tiempo.

• Descripciones: Describir un evento determinado.

• Encabezados (opcionales): Aportan más contexto en una línea del tiempo cuando
se los agrega junto con una descripción.

• Imágenes (optativas): Añaden interés gráfico e información adicional.

Lic. Martha Magdalena Dáguer Barboza. 86

También podría gustarte