Unidad 4. Introducción a la programación.
4.1. Introducción.
4.2. Algoritmos.
4.3. Diagramas de flujo.
4.4. Estructuras lineales.
4.5. Estructuras selectivas.
4.6. Estructuras repetitivas.
4.1. Introducción.
Constantemente en nuestra vida diaria hacemos una gran
cantidad de actividades, y quizá sin darnos cuenta realizamos
los mismos pasos para poder realizar dichas actividades, entre
las que están cruzar una calle o una avenida, trasladarnos de
nuestra casa a la escuela, etc.
4.2 Algoritmos.
El nombre de algoritmo proviene de Mohammed al-
Khowarizmi, persa que vivió durante el siglo IX y alcanzó gran
popularidad por el enunciado de las reglas paso a paso para
sumar, restar, dividir y multiplicar números decimales; la
traducción al latín del apellido es la palabra algorismus. Esto
derivó posteriormente en la palabra algoritmo.
Euclides gran matemático griego (del siglo IV a.c.) que
inventó un método para encontrar en máximo común divisor
de dos números, se considera junto con Mohammed al-
Khowarizmi, el otro gran padre de la ciencia de los algoritmos.
El profesor Niklaus Wirth tituló uno de sus libros
“Algoritmos + Estructuras de datos = Programas”, significando
que, solo se puede llegar a realizar un buen programa con el
diseño de un algoritmo y una correcta estructura de datos.
Conceptos básicos
1) Un algoritmo es un método para resolver un
problema.
2) Es un conjunto de pasos que especifican la secuencia
de operaciones a realizar, para resolver un sistema específico o
clase de problema.
3) El conjunto ordenado y finito de operaciones que
permite encontrar la solución de un problema.
4) Es la fórmula para la resolución del problema.
Nota: El concepto de algoritmo, aunque similar y
obviamente relacionado no debe de confundirse con el
concepto de programa. El primero es la especificación de pasos
(operaciones, instrucciones, ordenes) orientados a la
resolución de un problema, el segundo es ese conjunto de
operaciones especificadas en un determinado lenguaje de
programación, susceptible a ser ejecutado (compilado o
interpretado).
Características de los algoritmos.
1) Un algoritmo debe ser preciso e indicar el orden de
realización de cada paso.
2) Un algoritmo debe estar definido. Si se sigue un
algoritmo dos o más veces, se debe obtener siempre el mismo
resultado.
3) Un algoritmo debe ser finito. Si se sigue un algoritmo,
se debe terminar en algún momento.
Ejemplo: Realizar un algoritmo que represente la suma de
dos números enteros.
Solución
Algoritmo: Suma de 2 números enteros
1. Inicio
2. Enteros a, b, resultado
3. Leer valores de a y b
4. resultado a+b
5. Imprimir resultado en la pantalla
6. Fin
Actividad 1: Realizarlos en su libreta
Elabore un algoritmo para:
1. Trasladarse de su casa a la escuela.
2. Inscribirse al siguiente semestre.
Análisis de problemas.
La resolución de problemas se puede dividir en tres fases
importantes:
1. Análisis del problema
2. Diseño del
algoritmo
3. Resolución del
problema con la
computadora
Fase 1: Análisis del Problema
Exige una lectura previa del problema a fin de obtener una
idea general de lo que se solicita. La segunda lectura deberá
servir para responder a las preguntas: ¿Qué información debe
proporcionar la resolución del problema?, ¿Qué datos se
necesitan para resolver el problema?; comprendiendo las
siguientes etapas:
Definición del Especificaciones Especificaciones
Problema de Entrada de Salida
Ejemplo
Calcular el área de un círculo. (Definición del problema)
Análisis.
Variables a usar: radio, areaCirculo
Especificaciones de Entradas: Radio del círculo
(variable radio)
Especificaciones de Salidas: Área del círculo
(variable areaCirculo)
La información proporcionada al algoritmo constituye
la entrada y la información que genera es la salida.
Fase 2: Diseño del Algoritmo
La computadora no tiene capacidad para solucionar
problemas, solo cuando se le proporcionan los pasos sucesivos
a realizar, a estos pasos como ya se definió anteriormente, se
denomina “Algoritmo”. El diseño de la solución implica las
siguientes etapas:
Diseño Refinamiento por Herramientas de
descendente pasos programación
Para el diseño de algoritmos se utilizan algunas técnicas
como los diagramas N-S (Nassi-Schneiderman), los diagramas
de flujo (DF).
Los DF son considerados como una técnica de
representación de algoritmos la cual utiliza símbolos estándar
para representar los pasos de un algoritmo.
Y usa la siguiente simbología:
Símbolo Descripción
Terminal: Representa el
comienzo (Inicio) y el Final (Fin)
de un programa.
Entrada: Representa
cualquier tipo de introducción de
datos en la memoria desde los
periféricos, así como el registro
de la información procesada.
Proceso: Representa
cualquier tipo de operación que
pueda originar cambio de valor,
formato o posición de la
información almacenada en
memoria, operaciones
aritméticas, de transferencia, etc
Conectores: Sirven para
enlazar dos partes cualesquiera de
un diagrama de flujo, ya sea en
una misma página o diferente.
Salida a: Pantalla,
Impresora, Disco Auxiliar:
Representa cualquier tipo de
registro de salida de información
hacia los diferentes dispositivos
periféricos, así como el registro
de la información procesada.
Decisión: Indica operaciones
lógicas o de comparación, que
implican una decisión
Indicador de dirección o
línea de flujo: Indican el sentido
de ejecución de cada operación,
sentencia o instrucción que se
componga la solución del
problema.
Reglas para la creación de Diagramas de Flujos.
1) Los Diagramas de flujo deben escribirse de arriba
hacia abajo, y/o de izquierda a derecha.
2) Los símbolos se unen con líneas, las cuales tienen en
la punta una flecha que indica la dirección que fluye la
información procesos, se deben de utilizar solamente líneas de
flujo horizontal o verticales (nunca diagonales).
3) Se debe evitar el cruce de líneas, para lo cual se
quisiera separar el flujo del diagrama a un sitio distinto, se
pudiera realizar utilizando los conectores. Se debe tener en
cuenta que solo se van utilizar conectores cuando sea
estrictamente necesario.
4) No deben quedar líneas de flujo sin conectar.
5) Todo texto escrito dentro de un símbolo debe ser
legible, preciso, evitando el uso de muchas palabras.
6) Todos los símbolos pueden tener más de una línea de
entrada, a excepción del símbolo final.
7) Solo los símbolos de decisión pueden y deben tener
más de una línea de flujo de salida.
Ejemplos.
Ejemplo 1. Elabore un DF que calcule el área de un
círculo. (Definición del problema).
Paso 1. Análisis del problema.
Primero necesitamos conocer la fórmula que calcule el
área de un círculo:
𝑎𝑟𝑒𝑎𝐶𝑖𝑟𝑐𝑢𝑙𝑜 = 𝜋 ∗ 𝑟 2
¿Qué variables se van a utilizar? areaCirculo y el radio.
Identificar los valores de entrada (especificaciones de
entrada): radio.
Realizar el proceso, es decir:
areaCirculo = 3.14 * radio ^ 2
Y obtener la salida: Imprimir areaCirculo.
Paso 2. Diseño del algoritmo. Para ello utilizaremos un
DF.
Nótese que en el DF (Figura 1:) no se usan los símbolos
de potencia (^) y el del pi (π), esto es porque en algunos
lenguajes de programación, estos símbolos no están
permitidos.
Inicio
Variables a utilizar
areaCirculo, radio
“Proporciona el
radio”, radio
areaCirculo = 3.14 * (radio*radio)
areaCirculo
fin
Figura 1. Ejemplo 1. DF que imprime el área de un círculo
Fase 3: Resolución del problema con la computadora
Una vez diseñada la solución al problema planteado, se procede a su comprobación por medio
de la computadora, contemplando las siguientes etapas:
Codificación Ejecución del Comprobación
del1.programa programa del programa
4.3 Estructuras lineales.
Los algoritmos, representados como diagramas de flujo y
pseudocódigos, pueden tener distintas estructuras que
dependen de la complejidad del plan para que la computadora
resuelva el problema. Las principales estructuras son: las
lineales, de decisión o selectivas y repetitivas.
En la estructura lineal aparecen los elementos básicos de
la programación: es decir; entrada de datos, procedimiento
de ellos y obtención del resultado (salida).
Un diagrama de flujo lineal siempre tiene una secuencia
descendente y organizada verticalmente. Por ejemplo el DF de
la figura 1.
Actividad 2.
1) Elabore un DF que calcule el área de un triángulo.
2) Elabore un DF que calcule el área de un rombo.
3) Elabore un DF que calcule el área de un trapecio.
4) Elabore un DF que transforme a metros una distancia dada
en km. (1km=1000m)