Práctica 1 0

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 12

PRÁCTICA

INTRODUCCIÓN A LA PROGRAMACIÓN

_____________________________________________________________________________

Objetivos

El alumno conocerá las estructuras básicas para el diseño de algoritmos


1. Conocerá las estructuras secuenciales y de decisión para construir algoritmos
2. Diseñará algoritmos utilizando las estructuras para acciones secuenciales y decisión.
3. Conocerá el entorno de la aplicación DFD para el diseño de algoritmos.
________________________________________________________________________________

Introducción

Un algoritmo es el conjunto de operaciones y procedimientos que deben seguirse para


resolver un problema. La palabra "algoritmo" deriva del nombre latinizado del matemático
árabe Mohamed Ibn Moussa Al Kow Rizmi [1].

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

Precisión. El algoritmo debe indicar el orden exacto de ejecución de cada tarea.

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

Las técnicas para la formulación de algoritmos más populares son:

Diagramas de flujo

Pseudocódigo

DIAGRAMAS DE FLUJO

Se basan en la utilización de diversos símbolos para representar operaciones específicas. Se


les llama diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas
para indicar la secuencia de operación.

La simbología utilizada para la elaboración de diagramas de flujo es variable y debe ajustarse


a un patrón definido previamente.

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

Es un lenguaje de especificación de algoritmos. El uso de tal lenguaje hace el paso de


codificación final (esto es, la traducción a un lenguaje de programación) relativamente fácil.

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.

La ventaja del pseudocódigo es que en su uso en la planificación de un programa, el


programador se puede concentrar en la lógica y en las estructuras de control y no preocuparse

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.

PROBLEMA: Cambiar la rueda ponchada de un automóvil teniendo un gato mecánico en


buen estado, una rueda de reemplazo y una llave inglesa.

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

ESTRUCTURA BASICA DE UN ALGORITMO

En esencia un algoritmo está constituido por los siguientes tres elementos:

Datos. Lo que el algoritmo recibe, procesa y entrega como resultado.

Instrucciones. Las acciones o procesos que el algoritmo realiza sobre los datos.

Estructuras de control. Las que determinan el orden en que se ejecutarán las


instrucciones del algoritmo.

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.

PASOS PARA LA ESPECIFICACIÓN DE ALGORITMOS

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.

PROBLEMA 1: Construir un algoritmo que calcule el promedio de 4


calificaciones.

Solución:
Entradas N1,N2,N3,N4 (calificaciones parciales) de tipo Decimal.
Salidas Final (calificación final) de tipo Decimal.
Condiciones
𝑵𝟏 + 𝑵𝟐 + 𝑵𝟑 + 𝑵𝟒
𝑭𝒊𝒏𝒂𝒍 =
𝟒

PROBLEMA 2: Construir un algoritmo que determine el mayor de tres


números enteros

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:

División: En el que a partir de la especificación del algoritmo se divide el proceso (algoritmo


en abstracto) en varios subprocesos hasta llegar al nivel de instrucción.

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

Consiste en subdividir de manera sistemática el proceso en una colección de pasos más


pequeños. Está subdivisión se realiza de manera repetida hasta llegar al nivel de instrucción.
Proceso

Durante el proceso de división se determina la estructura de control adecuada, ya sea,


secuencia, selección, repetición, asignación, lectura o escritura, que se puede asociar con
cada subproceso obtenido. Tanto los pasos intermedios de subdivisión como el resultado final
pueden ser representados por un diagrama de flujo o por pseudo código.

DEFINICIÓN DE ABSTRACCIONES
Identificar que secuencias de pasos se utilizan más de una vez en diferentes partes del
proceso.

Recolectar estas secuencias de pasos en funciones y procedimientos según sea el caso.

Documentar cada función y procedimiento especificando claramente:

o El propósito de la función (o procedimiento).


Realizado por:
Sabino Miranda Jiménez
Obdulia Pichardo Lagunas
o El nombre, tipo y propósito de cada argumento.

o El resultado (o efectos laterales).

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:

Una secuencia de instrucciones es llamada generalmente bloque de instrucciones.

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

La estructura de SELECCION permite la ejecución de un bloque de instrucciones o de


otro dependiendo del valor de una expresión lógica denominada CONDICION. La forma
general de la selección es:

Entrada
si (condición) entonces

<bloque instrucciones 1>


Condición
sino

<bloque de instrucciones 2>


Bloque_1 Bloque_2
fin_si

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

Ejercicio. Calcular el número de años entre dos fechas:


a. Enero 17 de 1972 y Julio 20 de 1973
b. Febrero 2 de 1948 y Agosto 11 de 1966
c. Escribir un algoritmo que sirva para calcular la cantidad de días entre cualquier dos
fechas.

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.

3. Calcular el Volumen y área de una esfera de radio definido por el usuario.


4𝜋𝑟 3
𝑉=
3

𝐴 = 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

También podría gustarte