You are on page 1of 31

CENTRO DE GESTION DE MERCADOS, LOGISTICA Y TEGNOLOGIAS DE LA INFORMACION

GESTION DE REDES DE DATOS 430730 B

REINEL HAMILTON MOSQUERA DIAZ APRENDIZ

25 FEBRERO 2012

INTRODUCCION 1.1 En un sentido amplio, dado un problema y un dispositivo donde resolverlo, es necesario proporcionar un mtodo preciso que lo resuelva, adecuado al dispositivo. A tal mtodo lo denominamos algoritmo. En el presente texto nos vamos a centrar en dos aspectos muy importantes de los algoritmos, como son su diseo y el estudio de su eficiencia.

1.2. LENGUAJE: Es un idioma artificial diseado para expresar procesos que pueden ser llevadas a cabo por mquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento fsico y lgico de una mquina, para expresar algoritmos con precisin, o como modo de comunicacin humana. Est formado por un conjunto de smbolos y reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe se prueba, se depura, se compila y se mantiene el cdigo fuente de un programa informtico se le llama programacin. 1.3 ALGORITMO: En matemticas, ciencias de la computacin, y disciplinas relacionadas, un algoritmo es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad.

1.4 LENGUAJES ALGORITMICOS Un algoritmo se define como un mtodo que se realiza paso a paso para solucionar un problema que termina en un nmero finito de pasos". Las caractersticas fundamentales que debe cumplir todo algoritmo son: Debe ser preciso. e indicar el orden de realizacin de cada paso. Debe ser definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. Debe ser finito. Si se sigue un algoritmo, se debe terminar en algn momento; o sea debe tener un nmero finito de pasos. La definicin de un algoritmo debe describir tres partes : Entrada, Proceso y Salida. Disear un algoritmo para cambiar una llanta a un coche. Inicio. Traer gato. Levantar el coche con el gato.

Aflojar tornillos de las llantas. Sacar los tornillos de las llantas. Quitar la llanta. Poner la llanta de repuesto. Poner los tornillos. Apretar los tornillos. Bajar el gato.

1.6 Metodologa para la solucin de problemas por medio de Computador: es un proceso de resolucin de un problema con una computadora conduce a la escritura de un programa y su ejecucin en la misma. Aunque el proceso de disear programas es esencialmente un proceso creativo, se pueden considerar una serie de fases o pasos comunes, que generalmente deben seguir todos los programadores. Las fases de resolucin de un problema con computadora son: Descripcin del problema, Diseo del algoritmo Codificacin, Compilacin, Ejecucin, Verificacin, Depuracin, Mantenimiento y Documentacin DESCRIPCION DEL PROBLEMA: La primera fase de la resolucin de un problema con computadora es el anlisis del problema. Esta fase requiere una clara

definicin, donde se contemple exactamente lo que debe hacer el programa y el resultado o solucin deseada. 1.7 Definicin del Problema Despus de la definicin del problema y del anlisis de los datos de entrada el proceso contina con el anlisis de las alternativas de solucin. Por lo general la solucin de un problema puede alcanzarse por distintas vas. Es til tratar de plantear la mayor cantidad de alternativas posibles de solucin pues de esta forma las posibilidades aumentan a favor de encontrar la va correcta. Esta fase est dada por el enunciado del problema, el cual requiere una definicin clara y precisa. Es importante que se conozca lo que se desea que realice la computador; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa. 1.8 Anlisis del Problema Un programa Cuando se ejecuta un programa se pueden producir tres tipos de errores: Errores de compilacin. Se producen normalmente por un uso incorrecto de las reglas del lenguaje de programacin y suelen ser errores de sintaxis. Si existe un error de sintaxis, la computadora ni puede comprender la instruccin, no se obtendr el programa objeto y el compilador imprimir una lista de todos los errores encontrados durante la compilacin. Errores de ejecucin. Estos errores se producen por instrucciones que la computadora puede comprender pero no ejecutar. Ejemplos tpicos son: divisin entre

cero y races cuadradas de nmeros negativos. En estos casos se detiene la ejecucin del programa y se imprime un mensaje de error. Errores de lgica. Se producen en la lgica del programa y la fuente del error suele ser el diseo del algoritmo los errores encontrados durante la compilacin. Errores de ejecucin. Estos errores se producen por instrucciones que la computadora puede comprender pero no ejecutar. Ejemplos tpicos son: divisin entre cero y races cuadradas de nmeros negativos. En estos casos se detiene la ejecucin del programa y se imprime un mensaje de error. Errores de lgica. Se producen en la lgica del programa y la fuente del error suele ser el diseo del algoritmo. 1.9 Diseo del Algoritmo Las caractersticas de un buen algoritmo son: Debe tener un punto particular de Inicio. Debe ser definido, no debe permitir dobles interpretaciones. Debe ser general, es decir, soportar la mayora de las variantes que se puedan presentar en la definicin del problema. Debe ser finito en tamao y tiempo de ejecucin 1.10 Codificacin La codificacin es la operacin de escribir la solucin del problema (de acuerdo a la lgica del diagrama de flujo o seudocdigo), en una serie de instrucciones detalladas, en un cdigo reconocible por la computador, la serie de instrucciones detalladas se le conoce como cdigo

fuente, el cual se escribe en un lenguaje de programacin o lenguaje de alto nivel.

1.11 Prueba y Depuracin Los errores humanos dentro de la programacin de computadores son muchos y aumentan considerablemente con la complejidad del problema. El proceso de identificar y eliminar errores, para dar paso a una solucin sin errores se le llama depuracin. Depuracin o prueba resulta una tarea tan creativa como el mismo desarrollo de la solucin, por ello se debe considerar con el mismo inters y entusiasmo. Resulta conveniente observar los siguientes principios al realizar una depuracin, ya que de este trabajo depende el xito de nuestra solucin. 1.12 Documentacin Es la gua o comunicacin escrita es sus variadas formas, ya sea en enunciados, procedimientos, dibujos o diagramas. Se divide en tres partes: Documentacin Interna Documentacin Externa Manual del Usuario Documentacin Interna: Son los comentarios o mensaje que se aaden al cdigo fuente para hacer ms claro el entendimiento de un proceso.

Documentacin Externa : Se define en un documento escrito los siguientes puntos: Descripcin del Problema Nombre del Autor Algoritmo (diagrama de flujo o seudocdigo Diccionario de Datos Cdigo Fuente (programa) Manual del Usuario: Describe paso a paso la manera cmo funciona el programa, con el fin de que el usuario obtenga el resultado deseado.

1.13 Mantenimiento Se lleva a cabo despus de terminado el programa, cuando se detecta que es necesario hacer algn cambio, ajuste o complementacin al programa para que siga trabajando de manera correcta. Para poder realizar este trabajo se requiere que el programa este correctamente documentado.

2.1 Tipos De Datos

El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable. 2.2 Expresiones Las expresiones son combinaciones de constantes, variables, smbolos de operacin, Parntesis y nombres de funciones especiales. Por ejemplo:

a + (b + 3) / c Una expresin consta de operadores y operando. Segn sea el tipo de datos que Manipulan, se clasifican las expresiones en: Aritmticas Relacinales Lgicas 2.3 Operadores y Operando Operadores: Son elementos que relacionan de forma diferente, los valores de una o ms variables y/o constantes. Es decir, los operadores nos permiten manipular valores. Aritmticos Relacinales Lgicos

Tipos de Operadores

Operadores Aritmticos + Suma - Resta * Multiplicacin / Divisin Modo Modulo (residuo de la divisin entera) Operadores Relacinales

> Mayor que < Menor que > = Mayor o igual que < = Menor o igual que < > Diferente = Igual Operadores Lgicos And Y Or O Nota Negacin

Prioridad de los Operadores Lgicos Nota And Or

Prioridad de los Operadores en General 1. - ( ) 2. - ^ 3. - *, /, Modo, Nota

4. - +, -, And 5. - >, <, > =, < =, < >, =, Or

2.4 Identificadores Los identificadores representan los datos de un programa (constantes, variables, tipos de Datos). Un identificador es una secuencia de caracteres que sirve para identificar una posicin en la memoria del computador, que nos permite acceder a su contenido. Ejemplo: Edad Primer Nombre

Tcnicas de diseo 3.1 Top Down Tambin conocida como de arriba-abajo y consiste en establecer una serie de niveles de Mayor a menor complejidad (arriba-abajo) que den solucin al problema. Consiste en efectuar una relacin entre las etapas de la estructuracin de forma que una etapa jerrquica y su inmediato inferior se relacionen mediante entradas y salidas de informacin.

Este diseo consiste en una serie de descomposiciones sucesivas del problema inicial, que recibe el re finamiento progresivo del repertorio de instrucciones que van a formar parte del programa. 3.2 Bottom Up El diseo ascendente se refiere a la identificacin de aquellos procesos que necesitan Computarizarse con forme vayan apareciendo, su anlisis como sistema y su codificacin, o bien, la adquisicin de paquetes de software para satisfacer el problema inmediato. Cuando la programacin se realiza internamente y haciendo un enfoque ascendente, es Difcil llegar a integrar los sub sistemas al grado tal de que el desempeo global, sea fluido. Los problemas de integracin entre los subsistemas son sumamente costosos y muchos de ellos no se solucionan hasta que la programacin alcanza la fecha limite para la integracin total del sistema. En esta fecha, ya se cuenta con muy poco tiempo, presupuesto o paciencia de los usuarios, como para corregir aquellas delicadas interfaces, que en un principio, se ignoran. Aunque cada subsistema parece ofrecer lo que se requiere, cuando se contempla al sistema como una entidad global, adolece de ciertas limitaciones por haber tomado un enfoque ascendente. Uno de ellos es la duplicacin de esfuerzos para

acceder el software y ms an al introducir los datos. Otro es, que se introducen al sistema muchos datos carentes de valor. Un tercero y tal vez el ms serio inconveniente del enfoque ascendente, es que los objetivos globales de la organizacin no fueron considerados y en consecuencia no se satisfacen. Tcnicas Para La Formulacin De Algoritmos 4.1 Diagrama de Flujo Un diagrama de flujo es la representacin grfica de un algoritmo. Tambin se puede decir que es la representacin detallada en forma grfica de cmo deben realizarse los pasos en el computador para producir resultados. Esta representacin grfica se da cuando varios smbolos (que indican diferentes Procesos en la computador), se relacionan entre si mediante lneas que indican el orden en que se deben ejecutar los procesos. Los smbolos utilizados han sido normalizados por el instituto norteamericano de Normalizacin (ANSI).

4.2 Seudocdigo Mezcla de lenguaje de programacin y espaol (o ingls o cualquier otro idioma) que se emplea, dentro de la programacin estructurada, para realizar el diseo de un programa. En esencial, el seudocdigo se puede definir como un lenguaje de especificaciones de algoritmos. Es la representacin narrativa de los pasos que debe seguir un algoritmo para dar solucin a un problema determinado. El seudocdigo utiliza palabras que indican el proceso a realizar.

4.3 Diagramas estructurados (NassiSchneiderman) El diagrama estructurado N-S tambin conocido como diagrama de chapn es como un Diagrama de flujo en el que se omiten las flechas de unin y las cajas son contiguos. Las Acciones sucesivas se pueden escribir en cajas sucesivas y como en los diagramas de flujo, se pueden escribir diferentes acciones en una caja. Un algoritmo se represente en la siguiente forma: Inicio. Accion1 Accion2 ... Fin. Inicio.

Estructuras Algortmicas 5.1. Secuenciales Es aquella en la que una accin (instruccin) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y as sucesivamente hasta el fin del proceso. Una estructura secuencial se representa de la Siguiente forma:

Inicio. Accion1 Accion2 . . Accin Fin

Asignacin: La asignacin consiste, en el paso de valores o resultados a una zona de la Memoria Entrada: La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor. Salida: Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje. 5.2 Condicionales Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que en base al resultado de esta comparacin, se siga un curso de accin dentro del programa. - Simples: Las estructuras condicionales simples se les conoce como Tomas de decisin. Estas tomas de decisin tienen la siguiente forma:

Si <condicin> entonces Accin(es) Fin.-si - Mltiples: son tomas de decisin especializada que permiten comparar una variable contra distinta posibles resultados, ejecutando para cada caso una serie de instrucciones especficas. La forma comn es la siguiente: Si <condicin> entonces Accin(es) Si no Si <condicin> entonces Accin(es) Si no Varias condiciones

5.3 Repeticin fila condicional Se llaman problemas repetitivos o cclicos a aquellos en cuya solucin es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad especfica de veces. La forma de esta estructura es la Siguiente: Hacer para V.C L.I a L.S Accion1

Accion2 . .F . Accin Fin.-para Dnde: V.C Variable de control del ciclo L.I Limite inferir L.S Lmite superior Ciclos con un Nmero Indeterminado de Iteraciones (Hacer-Mientras, Repetir-Hasta) Son aquellos en que el nmero de iteraciones no se conoce con exactitud, ya que esta dado en funcin de un dato dentro del programa. Hacer-Mientras: Esta es una estructura que repetir un proceso durante N veces, donde N puede ser fijo o variable. Para esto, la instruccin se vale de una condicin que es la que debe cumplirse para que se siga ejecutando. Cuando la condicin ya no se cumple, entonces ya no se ejecuta el proceso. La forma de esta estructura es la siguiente: Hacer mientras <condicin>

Accion1 Accion2 Accin N Fin-mientras Repetir-Hasta: Esta es una estructura similar en algunas caractersticas, a la anterior. Repite un proceso una cantidad de veces, pero a diferencia del Hacer-Mientras, el Repetir-Hasta lo hace hasta que la condicin se cumple y no mientras, como en el HacerMientras. Por otra parte, esta estructura permite realizar el proceso cuando menos una vez, ya que la condicin se evala al final del proceso, mientras que en el Hacer-Mientras puede ser que nunca llegue a entrar si la condicin no se cumple desde un principio. La forma de esta estructura es la siguiente: Repetir Accion1 Accion2 Accin N Hasta <condicin>

Arreglos

Un Arreglo es una estructura de datos que almacena bajo el mismo nombre (variable) a una coleccin de datos del mismo tipo.

Tipo de Arreglos (Vectores)

Unidimensionales

Bidimensionales (Matrices)

6.1. Vectores Es un arreglo de N elementos organizados en una dimensin donde N recibe el nombre de longitud o tamao del vector. Para hacer referencia a un elemento del vector se usa el nombre del mismo, seguido del ndice (entre corchetes), el cual indica una posicin en particular del vector. Por ejemplo: Vector[x] Donde: Vector Nombre del arreglo x Numero de datos que constituyen el arreglo

6.2 Matriz

Es un arreglo de m * n elementos organizados en dos dimensiones donde m es el nmero de filas o reglones y n el nmero de columnas. Para representar una matriz se necesita un nombre de matriz acompaado de dos ndices. Matriz [m, n]

Manejo de mdulos 7.1 Definicin Una funcin se declara de la siguiente manera: Funcin nombre funcin parametro1, parametro2,, parmetro N Inicio Bloque de instrucciones Fin Dnde: Funcin Es la palabra clave que nos indica una definicin de funcin.

Nombre_funcion Es el identificador con el cual se reconoce a la funcin en el cuerpo del algoritmo principal. Parametro1, parametro2,, parmetro n Es el grupo de parmetros que define a la funcin. 7.2 Funcin Se define como un proceso que recibe valores de entrada (llamados argumentos) y el cual retorna un valor resultado.

7.3 Manipulacin Una funcin puede ser llamada de la siguiente forma:

Nombre_funcion (lista de parmetros actuales)

Nombre_funcion funcin que llama Lista de parmetros actuales: constantes, variables y expresiones.

Ejercicios en LPP

1. Suponga que un individuo desea invertir su capital en un banco y desea saber cunto dinero ganara despus de un mes si el banco paga a razn de 2% mensual.

2. Un vendedor recibe un sueldo base ms un 10% extra por comisin de sus ventas, el vendedor desea saber cunto dinero obtendr por concepto de comisiones por las tres ventas que realiza en el mes y el total que recibir en el mes tomando en cuenta su sueldo base y comisiones.

3. Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cunto deber pagar finalmente por su compra.

4. Un alumno desea saber cul ser su calificacin final en la materia de Algoritmos. Dicha calificacin se compone de los siguientes porcentajes: 55% del promedio de sus tres calificaciones parciales. 30% de la calificacin del examen final. 15% de la calificacin de un trabajo final.

You might also like