Programación Logica

28
Programación Lógica

Transcript of Programación Logica

Page 1: Programación Logica

Programación Lógica

Page 2: Programación Logica

UNIDAD I

INTRODUCCION A LA PROGRAMACION

2008

Page 3: Programación Logica

DESCRIPCION ESQUEMATICA DE UNA COMPUTADORA

Unidad Central de Proceso (CPU ó UPC) Unidades de Entrada Unidades de Salida

Físicamente podemos describirlas en tres unidades:

A continuación se hace una breve descripción de cada unidad

2008

Page 4: Programación Logica

BREVE DESCRIPCION DE CADA UNIDAD

UNIDAD CENTRAL DE PROCESO

Unidad Central de Proceso (CPU): es elsistema principal de un microcomputador, ya quees el elemento capaz de interpretar las instruccionesy coordinar su ejecución. Se encuentra constituidapor tres subsistemas:

UAL

UNIDAD ARITMETICO-LOGICA: es el elementocalculador del sistema, capaz de realizar operacionesaritméticas y lógicas

UNIDAD DE CONTROL: se encarga de controlar el flujo de información (instrucciones y datos) en el sistema. Algunas de sus funciones son: búsqueda de instrucciones en memoria; decodificación, interpretación y ejecución de instrucciones; control de la secuencia de ejecución; etc.

UC

MEMORIA: es el lugar donde se almacenan datos y las instrucciones que hacen uso de esos datos. Podemos pensar en la memoria como un conjunto de celdas, cada una de ellas identificadas con una dirección. A esta dirección suele llamársela posición de memoria.

MEMORIA CENTRAL

MEMORIA AUXILIAR

2008

Page 5: Programación Logica

BREVE DESCRIPCION DE CADA UNIDAD

UNIDADES DE ENTRADA-SALIDA: son dispositivos electromecánicos que permiten introducir datos y extraer resultados. También llamados periféricos. Algunas de sus funciones son:cargar y/o seleccionar programasintroducir y/o extraer datoscomunicarse con el operador

2008

Page 6: Programación Logica

PERIFERICOS DEENTRADA

PERIFERICOS DESALIDA

UNIDAD CENTRAL DE PROCESO

UALUC

MEMORIA CENTRAL

MEMORIA AUXILIAR

BREVE DESCRIPCION DE CADA UNIDAD

Permiten introducirInformación a laCPU (pulsadores,llaves, teclados,lectores de cinta dePapel, lectores detarjeta, etc.)

Permiten extraerinformación de laCPU (monitores,Impresoras)

PERIFERICOS DE ENTRADA/SALIDA: permiten introducir información en la CPU o extraerla de ella(lectoras-grabadoras de cintas magnéticas, módem, discos rígidos, diskettes, pen drives, etc.)

2008

Page 7: Programación Logica

CONCEPTOS FUNDAMENTALES

DEFINICION DE ALGORITMOSecuencia ordenada de pasos, de forma tal que al seguirlos se obtenga el resultado deseado. Tiene 3 características: Secuencia ordenada de pasos (debe ser preciso) General pero no ambiguo (si se sigue dos veces el

algoritmo, debo obtener el mismo resultado cada vez)

Finito en tiempo (número definido de pasos) Ejemplo:

Un cliente realiza un pedido a una fábrica. La fábrica verifica la ficha del cliente, si es solvente entonces la empresa acepta el pedido, en caso contrario lo rechazará.

2008

Page 8: Programación Logica

CONCEPTOS FUNDAMENTALES

La resolución posible para el ejemplo sería:

3) Inicio4) Leer el pedido5) Examinar la ficha del cliente6) Si el cliente es solvente, aceptar el pedido;

sino rechazar el pedido7) Fin

2008

Page 9: Programación Logica

CONCEPTOS FUNDAMENTALES

DEFINICION DE DIAGRAMA DE FLUJO

Es la representación gráfica de un algoritmo a través de figuras geométricas. Este permite mayor legibilidad en la solución de problemas.

2008

Page 10: Programación Logica

CONCEPTOS FUNDAMENTALES

SINOCOMIENZO Y/O FIN

OPERACIONES

INGRESO DE DATOS

RUTINAS

DECISION SIMPLE

IMPRESION

CONECTOR DE HOJA O LINEA

SIMBOLOGIALos símbolos que se utilizan para realizar los diagramas de flujo son:

CICLO MIENTRAS/VARIARDECISION MULTIPLE

2008

Page 11: Programación Logica

CONCEPTOS FUNDAMENTALES

NORMAS PARA LA DIAGRAMACIONSe debe tener en cuenta: Todo diagrama debe indicar claramente cual es su inicio

y cual es su finalización Los símbolos se escriben de arriba hacia abajo y de

izquierda a derecha Se aconseja un símbolo por acción Dentro de los símbolos no se debe especificar

instrucciones propias de un lenguaje de programación A todos los símbolos llega una y solo una línea de

conexión Cuando un diagrama ocupa más de una carilla u hoja, se

utilizan los conectores, tratando que sean la menor cantidad posible

El diagrama de flujo en conjunto debe guardar una simetría

2008

Page 12: Programación Logica

CONCEPTOS FUNDAMENTALES

DEFINICION DE PROGRAMASon las instrucciones en un lenguaje entendible por el programador y decodificable por la computadora, habitualmente llamado lenguaje fuente u origen. Una vez escrito el programa en lenguaje fuente, para que la computadora lo pueda ejecutar, con un programa traductor lo transforma en lenguaje de máquina u objeto.

PROGRAMAFUENTE TRADUCTOR

PROGRAMAOBJETO

2008

Page 13: Programación Logica

ETAPAS EN LARESOLUCION DE PROBLEMAS

RESOLUCIONDE UN PROBLEMA

DISEÑO DELALGORITMO

RESOLUCIONDEL PROBLEMA EN

COMPUTADORA

ANALISIS DELPROBLEMA

CODIFICACIONDEL PROGRAMA

EJECUCIONDEL PROGRAMA

COMPROBACIONDEL PROGRAMA

2008

Page 14: Programación Logica

ETAPAS EN LARESOLUCION DE PROBLEMAS

ANALISIS DEL PROBLEMA: consiste en estudiar el problema planteado para obtener una idea clara sobre los datos de entrada, procesos y salidas.

DISEÑO DEL ALGORITMO: es indicar en forma clara la sucesión de pasos a ejecutar y luego representarlo gráficamente a través de los diagramas de flujo.

Una vez realizadas estas dos etapas se puedepasar a la resolución del problema con lacomputadora.

2008

Page 15: Programación Logica

ETAPAS EN LARESOLUCION DE PROBLEMAS

CODIFICACION DEL PROBLEMA: es la conversión del algoritmo y/o diagrama de flujo a un lenguaje de programación.

EJECUCION DEL PROGRAMA: permite ver en la computadora el programa en funcionamiento.

COMPROBACION DEL PROGRAMA: permite verificar la correcta ejecución del mismo, teniendo en cuenta los diferentes tipos de errores (lógicos y de sintaxis). Una comprobación sucesiva del programa permitirá localizar , verificar y corregir los posibles errores, con lo que se conforma la puesta a punto del programa.

2008

Page 16: Programación Logica

Por último y una vez que todas las etapas precedentes se encuentran finalizadas se debe realizar la documentación del programa.

ETAPAS EN LARESOLUCION DE PROBLEMAS

DOCUMENTACIONDEL PROGRAMA

DOCUMENTACIONEXTERNA

DOCUMENTACIONINTERNA

Comentarios (nombre delprograma, qué realiza,programador, versión, etc.)Presentación: forma en quese encuentra codificado elprograma (legible por cualquier persona)

Constituida entre otras cosas por el manual del usuario, manual del operador, manual de mantenimiento del programa, especificaciones del programa, datos de prueba, algoritmos y diagramas de flujo, etc.

2008

Page 17: Programación Logica

OTROS CONCEPTOS

VARIABLESEs una dato cuyo valor puede ser modificado durante la ejecución de un proceso. Cuando nos referimos a una variable, lo que hacemos es referencia a una posición de la memoria principal donde se va a guardar un valor. Si este valor se modifica en algún momento, el nuevo valor sustituirá al que existía anteriormente.Todas las variables se componen de: Un nombre, elegido por el programador y que

generalmente indica el contenido Un tipo, que define que clase de dato va a contener la

variable Un contenido, es el valor que está almacenado en las

posiciones de memoria.

2008

Page 18: Programación Logica

OTROS CONCEPTOS

CONSTANTE

Es una dato cuyo valor no se modifica durante la ejecución de un proceso.

OPERADORESSon aquellos símbolos que permiten enlazar cada uno de los argumentos que intervienen en un operación.Ellos son: ARITMETICOS LOGICOS RELACIONALES

2008

Page 19: Programación Logica

OTROS CONCEPTOS

OPERADORES ARITMETICOSJunto con las variables numéricas formas expresiones aritméticas. Ellos son:

22 MOD 5 = 2MODULOMOD

22 \ 5 = 4DIV. ENTERA\

-(1.5) = -1.5NEGATIVOS-

2 ^ 3 = 8POTENCIACION^

2 / 3 = 0.666DIVISION/

5 * 2 = 10MULTIPLICACION*

5 – 2 = 3RESTA-

4 + 1 = 5SUMA+

EJEMPLOSIGNIFICADOSIMBOLO

2008

Page 20: Programación Logica

OTROS CONCEPTOS

OPERADORES LOGICOSPermiten generar expresiones lógicas más complejas que una igualdad u orden.

!NOT (NEGACION)

v (OR – DISYUNCION)

^ (AND – CONJUNCION)

SIMBOLO

No es de díaAfecta a la expresión cambiando su estado lógico

Estudiamos o vamos al cineLa expresión es cierta

cuando al menos uno de sus argumentos es cierto

Es de día y hay sol

La expresión es cierta cuando ambos argumentos son ciertos al mismo tiempo

EJEMPLOSIGNIFICADO

2008

Page 21: Programación Logica

OTROS CONCEPTOS

OPERADORES RELACIONALESPermiten obtener, en una comparación, un resultado verdadero o falso. Ellos son:

<>

=

<=

>=

<

>

SIMBOLO

FALSO13 <> 13DISTINTO

VERDADERO13 = 13IGUAL

FALSO5 <= 4MENOR-IGUAL

VERDADERO22 >= 22MAYOR-IGUAL

FALSO22 < 5MENOR

VERDADERO22 > 5MAYOR

RESULTADOEJEMPLOSIGNIFICADO

2008

Page 22: Programación Logica

OTROS CONCEPTOS

CONTADOREs una variable destinada a contener diferentes valores que se van incrementando o disminuyendo en forma constante.En forma general se lo puede definir como:

VAR= VAR ± K Ejemplo:

Para contar la cantidad de goles que realiza un equipo de fútbol durante un encuentro, la operación sería:

GOL = GOL + 1Cada vez que el equipo realiza un gol, la variable se incrementa con el valor 1.

2008

Page 23: Programación Logica

OTROS CONCEPTOS

ACUMULADOREs una variable que permite guardar un valor que se incrementa o disminuye en cantidad no constantes.En forma general se lo puede definir como:

VAR= VAR ± VAR2 Ejemplo:

Para conocer la recaudación de un almacén al final del día, la operación sería:

RECAUDACION = RECAUDACION + IMPORTE_VENTA

Cada vez que se realiza una venta, la variable recaudación se incrementa con el valor de la variable importe_venta.

2008

Page 24: Programación Logica

OTROS CONCEPTOS

ESTRUCTURASSe pueden definir 3 estructuras básicas. ESTRUCTURA SECUENCIAL: formada por un grupo

de acciones que se realizan todas y en el orden en que están escritas, sin posibilidad de omitir ninguna de ellas. Por ejemplo:

Acción-1

Acción-2

Acción-n

2008

Page 25: Programación Logica

OTROS CONCEPTOS

ESTRUCTURA CONDICIONAL: permite la evaluación de una o más condiciones y en función del resultado se realiza una acción u otra. Este tipo de estructura puede ser: CONDICIONAL SIMPLE: obliga solo a realizar las

acciones si se cumple la condición. Por ejemplo:

Acción-1

Acción-n

condiciónSI

NO

2008

Page 26: Programación Logica

OTROS CONCEPTOS

CONDICIONAL DOBLE: permite que el diagrama se bifurque en 2 ramas diferentes. Si al evaluar la condición el resultado es verdadero entonces se sigue por un camino específico y se ejecutan ciertas acciones; si el resultado es falso entonces se sigue por otro camino y se ejecutan otras acciones. Por ejemplo:

Acción-1

Acción-1n

condiciónSI

Acción-2

Acción-2n

NO

2008

Page 27: Programación Logica

OTROS CONCEPTOS

ESTRUCTURA REPETITIVA: permite la reiteración de una o varias instrucciones un número de veces determinado. También son conocidas como bucles o ciclos, y al hecho de repetir una secuencia de acciones se lo denomina iteración. MIENTRAS: se los denominan bucles controlados por

condición, debido a que necesitan de una condición determinada para finalizar. Suelen utilizarse cuando no se conoce el número de veces que hay que repetir una tarea.

VARIAR o REPETIR: se los denominan bucles controlados por contador debido a que necesitan una variable numérica que actúa como contador y que se incrementa o disminuye en un valor constante a partir de un valor inicial, después de cada iteración del bucle.

Todas estas estructuras suelen usarse entremezcladas ya sean del mismo tipo o no. Por ejemplo: un bucle puede contener una estructura condicional y ésta a su vez una secuencial; un bucle puede formar parte de otro; etc.

2008

Page 28: Programación Logica

BIBLIOGRAFIA

Fundamentos de Programación Luis Joyanes Aguilar

Programación en QuickBasic Luis Joyanes Aguilar

Páginas de Internet Metodología de la Programación

M. Angel Rodriguez Almeida Metodología de la Programación

M. Dolores Alonso - Silvia Rumeu Informática Básica

Eduardo Alcalde – Miguel García

2008