Anda di halaman 1dari 38

UNIVERSIDAD DE PAMPLONA

TCNICO PROFESIONAL EN INSTRUMENTACIN Y CONTROL DE PROCESOS INDUSTRIALES

ALGORITMOS Y ESTRUCTURAS DE DATOS (ST221)


Profesora: ING. Miguel Posada Haddad 2013-II

GENERALIDADES
DATO Es la representacin simblica de un hecho, atributo o caracterstica de una entidad. Ejm: nota de un alumno, nombre de un docente, color de un carro, etc.

INFORMACION Es un dato til. Ejm. El promedio final de un alumno para un curso, nmero de aprobados en un examen, nombre de los primeros alumnos de cada especialidad por cada ciclo. La informacin se obtiene mediante el procesamiento de los datos

PROCESAMIENTO DE DATOS
Operaciones que transforman datos en informacin

DATOS Entrada

Procesador

INFORMACION Salida

Algoritmo

Es realizado por el procesador el cual ejecuta un conjunto de


pasos previamente definidos (algoritmo)

El procesamiento de datos puede ser: Manual Mecanizada (uso de calculadora, sumadora, etc) Automatizado (uso del computador)

PROCESAMIENTO DE DATOS AUTOMATIZADO

Procesador DATOS Entrada

INFORMACION Salida

Programa Algoritmo

Elementos del Computador

HARDWARE (elem.fsicos)

SOFTWARE (programa)

HARDWARE (componentes fsicos)

Unidades Perifricas De Entrada Ejem. Teclado Mouse Escaner, etc

UNIDAD CENTRAL DE PROCESO Unidad de Control Unidad Aritmtica Y Lgica

Unidades Perifricas De Salida Ejm. Impresora Monitor, Parlantes, etc.

Memoria Principal RAM y ROM

Unidades de Almacenamiento. Ejem. Disquete, Discos compactos, Discos duros, etc.

SOFTWARE (Conjunto de Programas)

TIPOS DE SOFTWARE:

Programa 1

Programa 2

- Sistemas operativos

Ejm. DOS, Windows, Linux, etc.


Programa 3

- Aplicaciones de uso general Ejm. Word, Excel, Power Point, etc. - Aplicaciones de uso especfico Ejm. sistema de notas, sistema de facturacin, etc)

MEMORIA RAM

FASES PARA LA CONSTRUCCION DE UN PROGRAMA


Algoritmo

Datos

SOLUCION DEL PROBLEMA

IMPLEMENTACION EN LA COMPUTADORA
Codificacin del algoritmo (programa)

Programa (Software)

Anlisis del problema

Diseo del algoritmo Verificacin Error de del algoritmo lgica OK Algoritmo

Ejecucin del Error programa sintaxis Verificacin del programa

OK
Programa

ALGORITMO Secuencia ordenada de pasos (acciones) para resolver un problema. Se expresa en lenguaje natural PROGRAMA Es el algoritmo escrito en un lenguaje de programacin para ser ejecutado por el computador. Tipos de lenguajes de Programacin: Lenguaje de alto nivel: lenguaje similar al lenguaje natural. Son fciles de escribir. Es el mas usado por los programadores. Ejm. C++, Pascal, Basic, Prolog, Java, etc Lenguaje de bajo nivel: lenguaje mnemotcnico. Ejm. ADD M, N, P Lenguaje de mquina: lenguaje binario (0 y 1) entendible directamente por el computador. Ejm. 0110 1001 1010 1011

TIPOS DE PROGRAMAS (segn el Lenguaje de Programacin) PROGRAMA FUENTE (PF) Programa escrito en lenguaje de alto o bajo nivel. PROGRAMA OBJETO (PO): Programa escrito en lenguaje de mquina. Es el que ejecuta el computador.

TRADUCTORES DE LENGUAJE Programas que traducen programas fuente a lenguaje de mquina.


Tipos de Traductores: Compiladores e Intrpretes Programa Fuente Compilador Programa Objeto

Ejecucin del Programa


Ejecucin de la Instruccin

Programa Fuente

instruccin

Intrprete

Instruccin en leng.mq.

DATOS

Tipos de Datos (reconocidos por el computador):

DATOS

BASICOS

COMPUESTOS

Numricos -Enteros -Reales

Caracter

Lgico

Esttico -Arreglos -Registros -Archivos

Dinmico -Listas -Arboles -Grafos

DATOS SIMPLES O DATOS BASICOS

DATOS NUMERICOS Enteros y Reales El rango y precisin de los datos numricos depende del lenguaje de programacin que se utilice.

DATOS TIPO CARACTER Conjunto de caracteres que el computador reconoce. Se encuentran normalizados bajo el cdigo ASCII o EBCDIC Se tienen: Caracteres alfabticos: A - Z ; a - z Caracteres numricos: 0 - 9 Caracteres especiales: *, / , +, >, <, =, etc.

DATOS TIPO LOGICO Conjunto formado por dos valores lgicos: verdad, falso

Operaciones con los datos

OPERACIONES

INTERVIENEN OPERADORES
Aritmticos

RESULTADO

ARITMETICAS

Datos Numricos Datos del mismo tipo

+, - , *, /,
resto, entero Relacionales >, <, >=, <=, =

Dato Numrico Dato Lgico

DE COMPARACION

LOGICAS

Datos lgicos

Lgicos No, Y, O

Dato lgico

IMPORTANTE: En operaciones aritmticas: Muchos lenguajes cuentan con operadores adicionales a los conocidos como los operadores para datos enteros: entero (a/b): divisin entera de a/b resto (a/b): resto de la divisin entera de a/b Ejm. 10+ resto(5/3) Resultado: 12 En operaciones de Comparacin: En la comparacin de datos tipo carcter se tiene: 0<1<2<..<9<A<B<<Z<a<b<..<z En datos tipo lgico: falso < verdad

Expresin de los datos


Un dato puede venir expresado como: constantes, variables, expresiones, funciones, etc.

CONSTANTE Es un dato (de cualquier tipo) cuyo valor no cambia durante la ejecucin del algoritmo o programa.

Tipos de constantes: Literal: es un valor expresado en forma explcita. Ejm. 3.1416


Simblica: viene expresado bajo un nombre que guarda su valor Ejm. Pi (Previamente se debe definir que Pi = 3.1416)

VARIABLE
Es un objeto (porcin de memoria) que almacena un dato Para definir una variable es necesario: - Darle un Nombre - Indicar el tipo de dato que va almacenar OJO: El valor de una variable puede cambiar durante la ejecucin del algoritmo. Tipos de variables: Entero: Ejm. nota, edad, examen, Real: Ejm. promedio, sueldo, talla Carcter: Ejm. seccin, sexo, Lgica: Ejm. Fin, encontrado, vale

Operador de asignacin Se utiliza para almacenar un dato en una variable, perdindose cualquier otro valor previamente almacenado en ella.

Se representa con el smbolo Ejem. Nota 12.3 Nota Nota +2

Memoria RAM
Nota 12.3 14.3

EXPRESIONES Es una combinacin de operandos y operadores Tipos: Expresiones aritmticas Operando: constantes, variables y expres. numr. Operadores: aritmticos Resultado: numrico Ejm. (EP + 2*EF + PP)/4 Expresiones lgicas Operando: constantes, variables y expres. lgicas Operadores: lgicos y relacionales Resultado: lgico Ejm. (PP>6.1 y PF>6.1)

FUNCIONES Son programas predefinidas que: - Tienen un nombre con el cual se les invoca y - Aceptan datos y devuelven un resultado.

Generalmente los lenguajes de programacin poseen funciones matemticas, de cadenas y otros. Ejm. En C++ Abs(X): devuelve el valor absoluto del nmero entero X Sqrt(X): devuelve la raiz cuadrada del nmero X (X>=0)
Identificadores Son los nombres que se le dan a las constantes simblicas, variables, funciones y otros. Constan de una cadena de caracteres que debe empezar con una letra. Deben ser significativos sugiriendo lo que representa.

VARIABLES IMPORTANTES ACUMULADOR Es una variable cuyo valor aumenta o disminuye en una cantidad variable cada vez que se produce un determinado suceso o accin. Debe ser inicializado Ejm. Se desea acumular las notas de prcticas de un alumno Sum 0 (el valor de sum es 0) sum sum + 13 (el valor de sum es 13) sum sum + 10 (el valor de sum es 23) CONTADOR Es un acumulador cuyo valor aumenta o disminuye en una cantidad constante cada vez que se produce un determinado suceso o accin. Se usa para contar sucesos. Ejm. Contar nmero de aprobados

DISEO DE ALGORITMOS

ALGORITMO Secuencia ordenada de pasos o acciones o instrucciones que se debe ejecutar para realizar una tarea o para resolver un problema. Es expresado en lenguaje natural utilizando herramientas estandarizadas.
Caractersticas de un algoritmo Preciso: El algoritmo debe indicar el orden en que se debe realizar cada paso. Finito: El algoritmo tiene un nmero finito de pasos y debe terminar en algn momento. Bien definido: Si el algoritmo se prueba dos veces con los mismos datos de entrada, se debe obtener el mismo resultado.

TECNICA DE PROGRAMACION ESTRUCTURADA Conjunto de tcnicas para desarrollar algoritmos fciles de escribir, leer, verificar y modificar. Diseo Modular ( Top-down ) En problemas grandes y complejos: dividir el problema en subproblemas y disear un subprograma para resolver cada uno de ellos Descomposicin del programa en recursos abstractos Descompone una accin compleja en acciones simples capaces de ser ejecutadas por un computador ( instrucciones )

Estructuras de control bsicas Un programa se escribe utilizando 3 estructuras de control: EC Secuenciales, EC Selectivas, EC Repetitivas

INSTRUCCIONES Son las acciones que van a ser ejecutadas por el computador para resolver el problema. TIPOS : Instrucciones de Inicio/Fin : Indica el Inicio y el Fin del algoritmo

Instrucciones de lectura: Solicita al usuario el ingreso de datos desde un dispositivo de entrada por ejemplo el teclado. Instrucciones de escritura: Muestra los resultados a travs de un dispositivo de salida por ejemplo la pantalla, impresora, etc.

Instrucciones de asignacin: Almacena un valor en una variable, perdindose cualquier otro valor almacenado en ella.

Instrucciones selectivas: Permiten ejecutar unas u otras tareas de acuerdo al resultado de una expresin condicional Instrucciones repetitivas: Permiten la repeticin de un grupo de instrucciones, generando un bucle (lazo o loop).

EJEMPLO DE ALGORITMO

Se cuenta con las notas del EP, EF y PP de un alumno. Se sabe que el promedio final (PF) se calcula con la frmula: PF=(EP+ PP+2EF)/4 Si el alumno cumple con la siguiente condicin: PP>6.1 y PF> 6.1 tiene opcin a rendir un examen sustitutorio (ES) Escriba un algoritmo reciba las notas del alumno y luego muestre un mensaje indicando si el alumno puede rendir o no puede rendir el ES. En el caso que ya no pueda rendir el ES, debe mostrar tambin el PF

Anlisis Datos de entrada: Salida:

EP, EF, PP mensaje y PF (si no puede rendir ES)

Algoritmo Inicio del algoritmo Ingresar las notas del alumno: EP, EF y PP Calcular PF con la siguiente frmula: PF = (EP + 2EF + PP)/4 Si cumple la condicin PP> 6.1 y PF>6.1entonces mostrar el mensaje Puede rendir el ES Si no cumple la condicin entonces mostrar el mensaje No puede rendir ES y mostrar PF Fin del algoritmo.

HERRAMIENTAS PARA LA REPRESENTACION DE ALGORITMOS


Para representar los algoritmos en forma estandarizada, existen herramientas como: Diagrama de flujo Tcnica tipo grfico Pseudocdigo Lenguaje de especificacin (palabras reservadas) en lenguaje natural Diagrama de Nassi-Scheneiderman Es una combinacin de las dos anteriores

DIAGRAMA DE FLUJO Smbolos Significado


Inicio / Fin
Lectura / Escritura Proceso

PSEUDOCODIGO Palabras reservadas


Inicio / Fin Leer / Escribir

+-*/ Si - entonces Mientras/ desde/Repetir

Selectiva

Proceso repetitivo
Direccin o flujo

El algoritmo en Diagrama de Flujo


Inicio
Leer EP,EF, PP

PF=(EP+PP+2*EF)/4

PP>6.1 y PF>6.1

Escribir No puede rendir ES Escribir La nota final es: , PF

Escribir Puede rendir ES

Fin

Escritura de un algoritmo en pseudocdigo


aAlgoritmo nombre del algoritmo
Constantes Variables CABECERA Contiene el nombre del algoritmo (opcional) BLOQUE DE DECLARACIONES Se utilizan para asignar espacios en la RAM Se declaran: Constantes (opcional), Variables (obligatorio), Otros definidos por el usuario (opc.) BLOQUE DE INSTRUCCIONES Inicio/Fin Lectura Leer ( lista de variables) Escritura Escribir ( resultado) Asignacin

Nombre-constante = valor Tipo-dato: nombre de variables

Inicio

instrucciones

nombre de la variable valor expresin


Fin Comentarios (no se ejecutan) Sirven para escribir informacin interna para facilitar el mantenimiento del algoritmo. Formato: // comentario

El algoritmo en Pseudocdigo
Algoritmo PROMEDIO
Cabecera del algoritmo

Variables entero: EP, EF Bloque de declaraciones real: PP, PF Inicio Leer (EP, EF, PP) PF (EP+PP+2*EF)/4 // Calcula PF Si (PP>6.1 y PF>6.1) Escribir ( Puede rendir el ES) Bloque de sino Instrucciones Escribir (No puede rendir el ES) Escribir (La nota final es: , PF) Fin-si Fin

ESTRUCTURAS DE CONTROL

Un algoritmo debe ser escrito utilizando tres estructuras de control:

E.C. Secuencial Simple Doble Mltiple Desde Mientras Repetir - hasta

E.C. Selectiva

E.C. Mltiple

Estructura SECUENCIAL

Las acciones del algoritmo se ejecutan en el orden que se encuentran escritos.


accin 1 accin 2 accin 3 ------------accin n

Estructuras Selectivas
La ejecucin de las acciones dependen del resultado de una condicin. Se tienen tres tipos de estructuras selectivas:
1. SELECTIVA SIMPLE Las acciones se ejecutan si la condicin es verdadera . Pseudocdigo

Si (condicin)
accin1 accin 2 accin n fin-si

condicin

V
acciones

2. SELECTIVA DOBLE Si la condicin es Verdadera se ejecutan unas acciones. Si la condicin es Falsa se ejecutan otras acciones

Pseudocdigo condicin Si (condicin) acciones 1 Sino acciones 2 Fin-si Acciones-F Acciones-V

Anda mungkin juga menyukai