Diagramas de-flujo.
-
Upload
uriel-lopez -
Category
Documents
-
view
197 -
download
2
Transcript of Diagramas de-flujo.
Algoritmos y
Programación
Por: Uriel López Martínez
Marzo del 2012
Objetivos
Planeamiento y solución de Problemas
Algoritmo
Datos y Tipos de Datos
Constantes y Variables
Tipo de Operaciones
Precedencia de Operadores
Diagramas de Flujo
Contenido
Objetivos
Comprender los conceptos básicos para el
análisis de problemas.
Comprender las diferentes operaciones para
solucionar problemas.
Manejar adecuadamente las estructuras básicas
de un diagrama de flujo.
Planeamiento y solución de
problemas La solución de un problema representado en un
programa de computadora consta de 2 etapas fundamentales:
Fase de Solución:
Concentra la atención en el diseño de un algoritmo que resuelva el problema propuesto.
En esta fase se analiza el problema, requiriendo concentración, imaginación y creatividad.
Se debe identificar que tipo de información se
necesita obtener y que dudas hay en el
problema para obtener una mejor solución.
Fase de Construcción:
Una vez formulado un algoritmo adecuado, se
entrara en los detalles de implementación de
este algoritmo en algún lenguaje de
programación.
Un problema bien definido es resultado de un
análisis exhaustivo y requiere una descripción
precisa de las especificaciones de entrada y
salida para poder conseguir una solución
efectiva y eficaz.
Problema
Solución:
Algoritmo
Solucion del Problema:
Programa
Fase de solución
Fase de construcción
Paso Difícil
Algoritmo
Se define como una secuencia ordenada de pasos carente de ambigüedades que lleva a la solución de un problema.
Las características de un algoritmo son:
Ordenado (los pasos deben estar ordenados).
Definido ( varios algoritmos para un mismo problema deben arrojar el mismo resultado).
Finito (debe terminar en algún momento).
Un algoritmo esta constituido por 3 partes:
Entrada: Es la información dada al algoritmo.
Proceso: Son los cálculos necesarios.
Salida: Son los resultados dadas por el algoritmo.
Como ejemplo se diseñara un algoritmo para cambiar un foco quemado del techo de una habitación. Se comienza por identificar las tareas más importantes hacer ejecutadas y disponerla en el orden en que serán ejecutadas.
Proceso:
1. Retirar el foco quemado.
2. Colocar el foco nuevo.
Normalmente estos pasos son incompletos, por consiguiente detallaremos mas esos dos pasos anteriores
Proceso:
1. Situar una escalera debajo del foco.
2. Elegir el foco remplazante.
3. Subir la escalera hasta alcanzar el foco.
4. Girar en sentido antihorario hasta que el foco este suelto.
5. Colocar el nuevo foco en el mismo lugar.
6. Girar el foco en sentido horario hasta que ajuste.
7. Bajar la escalera.
Pero podemos ver que varios de los pasos de este
algoritmo implican operaciones mas detalladas , por
ejemplo:
Proceso:
1. Situar la escalera debajo del foco.
2. Elegir un posible remplazante . Si la potencia no es
igual ala antigua, repetir lo siguiente hasta que la
potencia sea igual ala antigua :
2.1. Descartar el foco elegido
2.2. Elegir uno nuevo
3. Repetir el sgte. procedimiento hasta que se alcance
el foco quemado.
3.1. Subir un peldaño tras otro de la escalera.
4. Repetir el sgte. procedimiento hasta que el foco
este suelto.
4.1. Girar el foco en sentido antiorario.
5. Colocar el nuevo foco en el mismo lugar.
6. Repetir el sgte. procedimiento hasta que el foco
este ajustado
6.1.Enroscar el foco en sentido horario
7. Bajar de la escalera.
Aquí aparecen 2 conceptos importantes:
El concepto de decisión y el concepto de repetición.
La decisión permitirá elegir que camino seguir según una condición dada, en el ejemplo visto si la potencia del foco es la misma se saltara al paso 3 sino se entrara en un ciclo repetitivo hasta encontrar una potencia igual ala del anterior foco.
La repetición es un ciclo que se repite una y otra vez hasta cumplir una cierta condición.
Muchas personas no comprenden la necesidad de realizar un algoritmo y saltan de frente ala codificación del programa pensando que así ahorraran tiempo, esto parece razonable pero no es así, la experiencia demuestra que el proceso de solución de un problema con las 2 fases enunciadas simplifican la solución y reduce el tiempo.
Datos Tipos de datos
Datos: Los algoritmos están diseñados para manipular datos. Los datos pueden ser las cifras de ventas mensuales de un supermercado, la nómina del personal de una empresa ó la fecha de nacimiento de los alumnos de un salón.
Tipos de datos: Todos los datos tienen un tipo asociado a ellos q determina el conjunto de todos los posibles valores q un dato puede tener. Los distintos tipos se representan en forma diferente en la computadora y puede ser simple ó estructurada. Los datos simples también son conocidos como datos primitivos y se clasifican en numéricos, caracteres, y lógicos
1. Tipos Numérico: Los datos numéricos pueden representarse como números enteros y números reales.
Los enteros corresponden a los números que no tienen componente fraccionario (decimales), pueden ser (-) ó (+) los sgts. son ejemplos de datos enteros: 13, -6, 8988, 24
Los Reales son números de parte entera y parte decimal q tienen siempre un punto decimal, los sgtes. son ejemplos de números reales: 36.7; -9.54; 0.0; 9.0; 0.1
2. Tipo Carácter: Esta formado por todos los caracteres o símbolos de los q dispone la computadora.
Caracteres alfabéticos mayúsculas A,B,C,D,...Z.
Caracteres alfabéticos minúsculas a,b,c,d,…z.
Caracteres dígitos 0,1,2,…,9.
Caracteres especiales $,%,-,+,>,?
Un dato tipo carácter es un solo carácter.
Los caracteres se organizan en cadenas. Una cadena de caracteres una secuencia de caracteres, por ejemplo: Maria 1957 07-08-2008
3. Tipo Lógico: Los datos de tipo lógico ó booleano pueden tomar solo dos valores posibles
True (verdadero) ó false (falso).
Constantes y Variables
En todo programa de computadora existen algunos
elementos con un determinado valor. Estos elementos
pueden ser constantes ó variables.
Constantes: Las const son objetos cuyo valor
permanece invariable a lo largo de ejecución del
programa, ejemplos: pi=3.14154 e=2.71828
utilizara un nombre (identificador) cada vez q se
necesite usarlo.
Variables: Las variables son objetos q pueden
cambiar su valor mediante la ejecución de un
programa, utilizaran un nombre para identificarlo.
Tipo de Operaciones
Aritmeticas
^ Potenciación: 2^3=8
* Multiplicación: 2*3=6
/ División: 7/2 = 7.0/2 = 7/2.0 = 7.0/2.0 =3.5
div División entera: 7 div 2=3
mod Resto de division entera: 7 mod 2=1
Relacionales
= Igual
!= ó <> Distinto
>= Mayor igual que
<= Menor igual que
> Mayor
< Menor
Lógicas:
no negación
y conjunción
o disyunción
Asignación: La operación asignación es una manera muy elemental de especificar que una variable debe tener un valor dado. Se denota como para indicar que el valor situado a su derecha se almacena en la variable situada a la izquierda. Por ejemplo:
A 3 significa ala variable A se le asigna el valor 3.
El operación de asignación es una operación
destructiva porque remplaza el valor de una variable
por un nuevo valor cuando se ejecuta el algoritmo
(programa).
A 16
A -27
A 9
La variable tiene 16 como valor inicial, al ejecutarse
las dos instrucciones siguientes la variable A guardara
el valor 9.
Otras Operaciones:
ABSC(x): arroja el valor absoluto de un entero ó real.
ABSC(15)=15, ABSC(-69)=69
SQR(x): arroja x*x de un entero o real .
SQR(5)=25
SQRT(x): arroja la raiz cuadrada de un entero o real >=0.
SQRT(81)=9
TRUNC(x): Arroja el mayor entero T, se debe cumplir que T<=x, por ejemplo:
TRUNC(3.2)=3 TRUNC(-4.5)=-4
ROUND(x):Arroja el mayor entero T, tal que se cumpla T<=X+0.5
ROUND(3.2)=3
Reglas de evaluación de
expresiones Primero se evalúan todas las subexpresiones entre
paréntesis. Las subexpresiones con paréntesis anidados se evalúan de adentro hacia fuera.
Segundo se evaluara la prioridad de las siguientes operaciones:
*, /, div, mod
+, -
Los operadores en una misma expresión o subexpresion con igual nivel de prioridad (*, /) se evaluaran de izquierda a derecha.
Diagramas de Flujo
Es una representación grafica de la solución de un
problema y por ende de un algoritmo
Es una técnica que describe gráficamente los pasos
que tienen los algoritmos.
Algunos elementos esenciales del mismo son:
El comienzo del algoritmo.
Las operaciones.
La secuencia en que se realiza.
El final del algoritmo.