Práctica 1 0
Práctica 1 0
Práctica 1 0
INTRODUCCIÓN A LA PROGRAMACIÓN
_____________________________________________________________________________
Objetivos
Introducción
Un ALGORITMO es una secuencia finita ‘bien definida’ de tareas ‘bien definidas’, cada
una de las cuales se puede realizar con una cantidad de recursos finitos.
Se dice que una tarea esta ‘bien definida’, si se sabe de manera precisa las acciones requeridas
para su realización. Aunque los recursos que debe utilizar cada tarea deben ser finitos estos
no están limitados, es decir, si una tarea bien definida requiere una cantidad inmensa (pero
finita) de algún recurso para su realización, dicha tarea puede formar parte de un algoritmo.
Además, se dice que una secuencia de tareas esta ‘bien definida’ si se sabe el orden exacto
de ejecución de cada una de las mismas. Las características que debe poseer una secuencia
de tareas para considerarse algoritmo son: precisión, determinismo y finitud
Determinismo. Si se sigue el algoritmo dos o más veces con los mismos datos de entrada,
se deben obtener los mismos datos de salida.
Realizado por:
Sabino Miranda Jiménez
Obdulia Pichardo Lagunas
Finitud. El algoritmo debe terminar en algún momento y debe usar una cantidad de recursos
finita.
TECNICAS PARA LA FORMULACION DE ALGORITMOS
Diagramas de flujo
Pseudocódigo
DIAGRAMAS DE FLUJO
Realizado por:
Sabino Miranda Jiménez
Obdulia Pichardo Lagunas
SIMBOLOGIA UTILIZADA EN LOS DIAGRAMAS DE FLUJO
Realizado por:
Sabino Miranda Jiménez
Obdulia Pichardo Lagunas
PSEUDOCODIGO
El pseudocódigo nació como un lenguaje similar al lenguaje natural y era un medio para
representar básicamente las estructuras de control de programación estructurada. Se
considera un primer borrador, dado que el pseudocódigo tiene que traducirse posteriormente
a un lenguaje de programación.
Realizado por:
Sabino Miranda Jiménez
Obdulia Pichardo Lagunas
de las reglas de un lenguaje específico. Es también fácil modificar el pseudocódigo si se
descubren errores o anomalías en la lógica del programa, además de todo esto es fácil su
traducción a lenguajes como C, Pascal o Basic.
El pseudocódigo utiliza para representar las acciones sucesivas palabras reservadas (similares
a sus homónimos en los lenguajes de programación), tales como inicio, fin, si entonces- sino,
mientras, repita-hasta, etc.
ALGORITMO
Inicio
PASO 0. Sacar herramienta para cambiar llanta (llanta de repuesto, llave inglesa y gato mecánico).
PASO 1. Aflojar los birlos de la llanta ponchada con la llave inglesa.
PASO 2. Colocar el gato mecánico en su sitio.
PASO 3. Levantar el gato hasta que la llanta ponchada pueda girar libremente.
PASO 4. Quitar los birlos y la rueda ponchada.
PASO 5. Poner la llanta de repuesto y los birlos.
PASO 6. Bajar el gato hasta que se pueda liberar.
PASO 7. Sacar el gato de su sitio.
PASO 8. Apretar los birlos con la llave inglesa.
PASO 9. Guardar la herramienta y llanta ponchada.
Fin
Instrucciones. Las acciones o procesos que el algoritmo realiza sobre los datos.
Se tiene un problema cuando se desea encontrar uno o varios objetos desconocidos (ya sean
estos números, diagramas, figuras, demostraciones, decisiones, posiciones, algoritmos, u
Realizado por:
Sabino Miranda Jiménez
Obdulia Pichardo Lagunas
otras cosas), que cumplen condiciones y/o relaciones, previamente definidas, respecto a uno
o varios objetos conocidos. De esta manera, solucionar un problema es encontrar los objetos
desconocidos de dicho problema.
Especificar Entradas Las entradas corresponden a los objetos conocidos. Se debe indicar
claramente la descripción, cantidad y tipo de las mismas.
Especificar Salidas Las salidas corresponden a los objetos desconocidos del problema. Se
debe indicar claramente la cantidad, descripción y tipo de las mismas.
Especificar Condiciones Se describe claramente como dependen las salidas de las entradas,
se puede usar lenguaje matemático o informal.
Solución:
Entradas N1,N2,N3,N4 (calificaciones parciales) de tipo Decimal.
Salidas Final (calificación final) de tipo Decimal.
Condiciones
𝑵𝟏 + 𝑵𝟐 + 𝑵𝟑 + 𝑵𝟒
𝑭𝒊𝒏𝒂𝒍 =
𝟒
Realizado por:
Sabino Miranda Jiménez
Obdulia Pichardo Lagunas
DISEÑO ESTRUCTURADO DE ALGORITMOS
La fase de diseño del algoritmo, es decir, la fase en la que se construye el algoritmo que
permitirá encontrar la solución al problema, está dividida en dos pasos importantes:
Abstracción: En el que se revisa que porciones del algoritmo se repiten o son muy utilizadas
y con las cuales se construyen funciones y/o procedimientos.
DIVISIÓN
DEFINICIÓN DE ABSTRACCIONES
Identificar que secuencias de pasos se utilizan más de una vez en diferentes partes del
proceso.
Resultado final
Diagrama de flujo (o pseudo código) final incluyendo las funciones y
procedimientos.
ESTRUCTURAS BASICAS
SECUENCIA
Dada una lista de instrucciones <instrucción 1> <instrucción 2> ... <instrucción n> la
estructura de SECUENCIA permite la ejecución de dicha lista en el orden en que aparecen
las instrucciones, es decir, se ejecuta primero la instrucción <instrucción 1> luego la
instrucción <instrucción 2>, y por último se ejecuta la instrucción <instrucción n> La forma
general de la secuencia es:
Entrada
<instrucción1>
Instrucción 1 <instrucción2>
.
Instrucción 2
.
.
Instrucción 3
<instrucción n>
Salida
Realizado por:
Sabino Miranda Jiménez
Obdulia Pichardo Lagunas
SELECCIÓN
Entrada
si (condición) entonces
Salida
APLICACIÓN DFD
El DFD es un editor e intérprete de diagramas de flujo. Su interfaz gráfica facilita en gran
medida la creación de diagramas de flujo (DFD) para la representación de algoritmos que
solucionan problemas por computadora. Dichos diagramas pueden ser guardados en disco,
recuperados de disco y pueden ser impresos en diferentes tamaños sin importar el tipo de
impresora [2,6]
Ejemplo1.
Calcular el salario neto de un trabajador en función del número de horas trabajadas, precio de la
hora de trabajo y considerando unos descuentos fijos al salario bruto en concepto de impuestos
(20%). Ver Figura 1.
Realizado por:
Sabino Miranda Jiménez
Obdulia Pichardo Lagunas
Figura 1. Algoritmo de ejemplo 1
Ejemplo2.
Realizar un diagrama de flujo que permita mostrar en pantalla un mensaje de mayoría o
minoría de edad según sea el caso para un nombre específico
Realizado por:
Sabino Miranda Jiménez
Obdulia Pichardo Lagunas
Figura 2. Algoritmo ejemplo 2
Realizado por:
Sabino Miranda Jiménez
Obdulia Pichardo Lagunas
Ejercicios Propuestos
Realizar los diagramas de flujo para resolver los siguientes problemas.
1. Calcular la media aritmética (x) de cuatro números capturados por el usuario. Se define
como sigue:
∑𝑛𝑖=1 𝑎𝑖 𝑎1 + 𝑎2 + ⋯ 𝑎𝑛
𝑥⃗ = =
𝑛 𝑛
2. Dados 3 números de entrada obtener el número mayor de los tres e imprimirlo al final.
𝐴 = 4𝜋𝑟 2
4. Calcular la media armónica H de cinco valores capturados por el usuario. Se define
𝒏 𝒏
𝑯= =
𝟏 𝟏 𝟏 𝟏
∑𝒏𝒊=𝟏 (𝒂 + 𝒂 … 𝒂 )
𝒂𝒊 𝟏 𝟐 𝒏
Referencias
[1] Algorítmica. En línea [Consulta: 10/08/2009]
http://www.ulpgc.es/otros/tutoriales/mtutor/indice.html
[2] Software DFD. En línea [Consulta: 1/08/2009]
http://www.expage.com/page/softwaredfd
[3] Sabino Miranda Jiménez. En línea [Consulta: 1/08/2009]
http://www.paginasprodigy.com/miranda333/
[4] Programa Universidad Virtual. En línea [Consulta: 1/08/2009]
http://www.virtual.unal.edu.co/cursos/ingenieria/2001839/index.html
[5] Descargar DFD. En línea [Consulta: 1/08/2010]
http://wiki.freaks-unidos.net/freedfd/index
Realizado por:
Sabino Miranda Jiménez
Obdulia Pichardo Lagunas