Vous êtes sur la page 1sur 15

PROGRAMACION LPP

Jessica Andrea Herrera Pacheco

SENA GESTION DE REDES DE DATOS BOGOTA DC 430730B

Capitulo 1 1.1 Introduccin La computadora no solamente es una maquina que puede realizar procesos para darnos resultados, sin que tengamos la nocin exacta de las operaciones que realiza para llegar a esos resultados. Con la computadora adems de lo anterior tambin podemos disear soluciones a la medida, de problemas especficos que se nos presenten. Ms aun, si estos involucran operaciones matemticas complejas y/o repetitivas, o requieren del manejo de un volumen muy grande de datos. A las soluciones creadas por computadora se les conoce como programas y no son ms que una serie de operaciones que realiza la computadora para llegar a un resultado, con un grupo de datos especficos. 1.2 Definicin de Lenguaje Lenguaje: Es una serie de smbolos que sirven para transmitir uno o ms mensajes (ideas) entre dos entidades diferentes. A la transmisin de mensajes se le conoce comnmente como comunicacin. Lenguaje De Programacin: Un lenguaje de programacin es aquel elemento dentro de la informtica que nos permite crear programas mediante un conjunto de instrucciones, operadores y reglas de sintaxis; que pone a disposicin del programador para que este pueda comunicarse con los dispositivos hardware y software existentes. Tipos Segn su nivel de abstraccin Lenguajes Maquina Lenguajes de bajo nivel Lenguajes de medio nivel Lenguajes de alto nivel Segn la forma de ejecucin Lenguajes compilados Lenguajes interpretad 1.3 Definicin de Algoritmo: es un conjunto ordenado y finito de operaciones que permite hallar la solucin de un problema. Mtodo y notacin en las distintas frmulas del clculo. El algoritmo constituye un mtodo para resolver un problema mediante una secuencia de pasos a seguir. Dicha secuencia puede ser expresada en forma de diagrama de flujo con el fin de seguirlo de una forma ms sencilla. De acuerdo con el concepto anterior, el algoritmo podra estar incluido en la definicin de programa de ordenador de la Ley de Propiedad Intelectual (TRLPI), al referirse a ste como toda secuencia de instrucciones o indicaciones destinadas a ser utilizadas, directa o indirectamente, en un sistema informtico para realizar una funcin o una tarea o para obtener un resultado determinado, cualquiera que fuere su forma de expresin y fijacin. 1.4 algoritmos cotidianos: Problema: Cambiar llanta ponchada a un auto. Entrada: 1 gato hidrulico 1 llanta de refaccin 1 llave de cruz 1 llanta ponchada Algoritmo 1.-Se le quita el tapn de la llanta. 2.-Se pone el gato hidrulico detrs de la llanta. 3.-Aflojar las tuercas con la llave 4.-Levantar el auto con el gato hidrulico por 15 centmetros. 5.-Quitar la turcas completamente

6.-Se retira la llanta. 7.-Se acomoda la llanta de refaccin. 8.-Se le pone las tuercas no completamente. 9.-Se baja el auto del gato. 10.-Apretar las tuercas completamente con la llave. Salida: Llanta reparada

Problema: cambiar paal a un beb. Entrada: 1 paal 1 beb Talco para beb Toallitas hmedas Algoritmo: 1.-Acostar al beb boca arriba en una cama. 2.-Quitarle el pantaln al beb. 3.-Con cuidado despegar la cinta adhesiva de paal 4.-Tomar al beb de los pies y alzarlo para poder quitar el paal 5.-Tomar las toallitas hmedas y limpiar al beb. 6.-Tirar e paal sucio en la basura. 7.-Nuevamente alzar al beb para poner el talco en los pompis de beb. 8.-Acomodar el paal y pegar las extremidades. 9.-Ponerle el pantaln al beb. Salida: Un beb limpio

Problema: Lavar ropa (utilizando lavadora) Entrada: Ropa. 1 lavadora. 120gr de jabn. 80 litros de agua Algoritmo 1.-Separar la ropa por color la blanca de la obscura. 2.-Se abra la tapa de la lavadora .3.-Sele echa el agua hasta el lmite. 4.-Se le pone el jabn. 5.-Se le echa la ropa blanca y se pone a funcionar la lavadora. 6.-Se tapa la lavadora .7.-Cuando ya haya terminado de lavar se saca el agua atreves de la manguera de la lavadora. 8.-Se vuelve a echar a la lavadora .9.-Se le pone a la lavadora la accin de enjuagar. 10.-Se pone a exprimir en la lavadora. 11.-Se saca la ropa de la lavadora y se tiende en el tendedero hasta que este seca .Salida: Ropa limpia y seca

1.5 Definicin de Lenguajes Algortmicos: Los algoritmos pueden describirse utilizando diversos lenguajes. Cada uno de estos lenguajes permiten describir los pasos con mayor o menor detalle. La clasificacin de los lenguajes para algoritmos puede enunciarse de la siguiente manera: Lenguaje Natural. Lenguaje de Diagrama de Flujo. Lenguaje Natural de Programacin.

1.6 Metodologa para solucin de problemas por medio de un computador: requiere de siete pasos, dispuestos de tal forma que cada uno es dependiente de los anteriores, lo cual indica que se trata de un proceso complementario y por lo tanto cada paso exige el mismo cuidado en su elaboracin. Los siete pasos de la metodologa son los siguientes: 1. Definicin del problema 2. Anlisis de la solucin 3. Diseo de la solucin 4. Codificacin 5. Prueba y Depuracin 6. Documentacin 7. Mantenimiento

1.7 Definicin del problema: 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 computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa. 1.8 Anlisis del Problema: Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir: Los datos de entrada. Cul es la informacin que se desea producir (salida) Los mtodos y frmulas que se necesitan para procesar los datos. Una recomendacin muy practica es el que nos pongamos en el lugar de la computadora y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir los resultados esperados. 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.9 Diseo de algoritmo: En ingeniera del software, el diseo de algoritmos es un mtodo especfico para poder crear un modelo matemtico en base a un problema y poder resolverlo. El diseo de algoritmos es una teora de la Investigacin de operaciones. Existen varias tcnicas de diseo de algoritmos que permiten desarrollar la solucin al problema planteado, algunas de ellas son: Voraces (greedy) Paralelos Probabilsticos

Determinsticos Divide y vencers Metaheursticas Programacin dinmica Ramificacin y acotacin Vuelta Atrs (Back tracking). 1.10 Codificacin: La codificacin es la operacin de escribir la solucin del problema (de acuerdo a la lgica del diagrama de flujo o pseudocdigo), en una serie de instrucciones detalladas, en un cdigo reconocible por la computadora, 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 computadoras 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. La 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. A menudo un programa escrito por una persona, es usado por otra. Por ello la documentacin sirve para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento). La documentacin se divide en tres partes: 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 pseudocdigo) 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. Capitulo 2 ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS 2.1 Tipos de datos: Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carcter, tal como b, un valor entero tal como 35. El tipo de dato determina La naturaleza del conjunto de valores que puede tomar una variable. Datos Numricos: Permiten representar valores escalares de forma numrica, esto incluye a los nmeros enteros y los reales. Este tipo de datos permiten realizar operaciones aritmticas comunes. Datos Lgicos: Son aquellos que solo pueden tener dos valores (cierto o falso) ya que representan el resultado de una comparacin entre otros datos (numricos o alfanumricos).

Datos Alfanumricos (String): Es una secuencia de caracteres alfanumricos que permiten representar valores identificables de forma descriptiva, esto incluye nombres de personas, direcciones, etc. Es posible representar nmeros como alfanumricos, pero estos pierden su propiedad matemtica, es decir no es posible hacer operaciones con ellos. Este tipo de datos se representan encerrados entre comillas. Ejemplo: Universidad de los Andes 2008 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 Cada expresin toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecucin de las operaciones indicadas. Una expresin consta de operadores y operandos. Segn sea el tipo de datos que manipulan, se clasifican las expresiones en: - Aritmticas - Relacinales - Lgicas 2.3 Operadores y Operandos 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. Tipos de Operadores Aritmticos Relacinales Lgicos 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 de la computadora, que nos permite accesar a su contenido. Ejemplo: Nombre Num_hrs Calif2 Reglas para formar un Identificador Debe comenzar con una letra (A a Z, maysculas o minsculas) y no deben contener espacios en blanco. Letras, dgitos y caracteres como la subraya (_) estn permitidos despus del primer carcter. La longitud de identificadores puede ser de hasta 8 caracteres.

Capitulo 3 TECNICAS DE DISEO 3.1 Top Down Tambin conocida como de arriba-abajo y consisten 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.

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.

CAPITULO 4 TECNICAS PARA LA FORMULACION DE ALGORITMOS

4.2 Diagrama de flujo: El diagrama de flujo es la representacin grfica de un algoritmo; para ello se utiliza un
conjunto de smbolos estndares mundialmente utilizados y desarrollados por organizaciones tales como ANSI (American Nacional Institute) e ISO (International Standard Organization para la elaboracin de diagramas de flujo; en el diagrama cada smbolo representa una accin en concreto; y cada instruccin del algoritmo se visualiza dentro del smbolo adecuado. Los smbolos se conectan con flechas para indicar el orden en que se ejecutan las instrucciones. Por ejemplo, el siguiente diagrama de flujo corresponde al algoritmo para calcular el rea del rectngulo

4.2Pseudocdigo Es un lenguaje simplificado para describir un algoritmo utilizando una mezcla de frases en lenguaje comn, y palabras claves que indican el inicio y el fin del algoritmo y las instrucciones especficas a realizar. Por ejemplo, el siguiente pseudocdigo corresponde al algoritmo para calcular el rea del rectngulo: el algoritmo calcula el rea (a) de un rectngulo cualquiera, si se le suministra la longitud de de la base (b) y la longitud de la altura (h).

Las palabras subrayadas se llaman palabras reservadas, se deben utilizar sangras que facilitan la lectura del algoritmo Las instrucciones en pseudocdigo son fciles de codificar en un lenguaje de programacin. 4.3 Diagrama estructurado (nassi-schneiderman) El diagrama N-S de Nassi-Schneiderman, tambin conocido como diagrama de Chapin, es como un diagrama de flujo en el que se omiten las flechas de unin y las cajas son contiguas. Las acciones sucesivas se

escriben en cajas sucesivas, y, como en los diagramas de flujo, se pueden escribir diferentes acciones en una caja. Los Diagramas Estructurados, son una tcnica que permite formular algoritmos mediante una representacin geomtrica y de asignacin de espacios de un bloque especfico. Un algoritmo se representa de la manera siguiente:

Una estructura condicional en N-S se representa de la siguiente manera:

Capitulo 5 ESTRTURAS ALGORITMICAS 5.1 Secuenciales: La estructura secuencial 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. En Pseudocdigo una Estructura Secuencial se representa de la siguiente forma:

Asignacin La asignacin consiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona ser reconocida con el nombre de la variable que recibe el valor. La asignacin se puede clasificar de la siguiente forma:

Simples: Consiste en pasar un valor constante a una variable (a 15) Contador: Consiste en usarla como un verificador del nmero de veces que se realiza un proceso (a Acumulador: Consiste en usarla como un sumador en un proceso (a a + b)

a + 1)

De trabajo: Donde puede recibir el resultado de una operacin matemtica que involucre muchas variables (a c + b*2/4). En general el formato a utilizar es el siguiente: < Variable > El smbolo <valor o expresin > debe leerse asigne.

Escritura o salida de datos Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje. Esta instruccin presenta en pantalla el mensaje escrito entre comillas o el contenido de la variable. Este proceso se representa as como sigue:

Lectura o entrada de datos La lectura o entrada de datos consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor o dato. Este dato va a ser almacenado en la variable que aparece a continuacin de la instruccin. Esta operacin se representa as:

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. Cabe mencionar que la comparacin se puede hacer contra otra variable o contra una constante, segn se necesite. Existen tres tipos bsicos, las simples, las dobles y las mltiples. Simples: Las estructuras condicionales simples se les conoce como Tomas de decisin. Estas tomas de decisin tienen la siguiente forma:

Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en funcin del cumplimiento o no de una determinada condicin. Se representa de la siguiente forma:

Donde: Si: Indica el comando de comparacin Condicin: Indica la condicin a evaluar Entonces: Precede a las acciones a realizar cuando se cumple la condicin Instruccin(es): Son las acciones a realizar cuando se cumple o no la condicin si no: Precede a las acciones a realizar cuando no se cumple la condicin Dependiendo de si la comparacin es cierta o falsa, se pueden realizar una o ms acciones.

Mltiples: Las estructuras de comparacin 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:

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. Esta cantidad puede ser fija (previamente determinada por el programador) o puede ser variable (estar en funcin de algn dato dentro del programa). Capitulo 6 ARREGLOS 6.1 Vectores: En programacin, un arreglo, llamado habitualmente vector si tiene una sola dimensin o matriz si tiene dos, llamados en ingls arrays, es una zona de almacenamiento continuo, que contiene una serie de elementos del mismo tipo, los elementos de la matriz. Desde el punto de vista lgico una matriz se puede ver como un conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos dimensiones). 6.2 Matrices: Es un arreglo de M * N elementos organizados en dos dimensiones donde M es el numero de filas o reglones y N el numero de columnas. Para representar una matriz se necesita un nombre de matriz se necesita un nombre de matriz acompaado de dos ndices. Mat [R, C] Donde R indica el rengln y C indica la columna, donde se encuentra almacenado el dato. Llenado de una matriz

6.3 Manejo se cadenas de caracteres Las cadenas de caracteres (string) son arreglos que se componen de caracteres alfanumricos. El final de una cadena se indica con un carcter especial, ste es un byte compuesto por 8 ceros binarios, es decir 0x00. Void main () { Char cad [10]; }

El tamao de la cadena debe ser lo suficientemente grande para contener dicho carcter inclusive. Una cadena declarada como cad [10], podr contener como mximo 9 caracteres, el ltimo ser ocupado por 0x00. El archivo de cabecera string.h string.h proporciona una serie de funciones que permiten el manejo de cadenas de caracteres. No existen operadores que permitan comparar cadenas o copiar una cadena en otra, por lo que se debe hacer uso de las funciones definidas en string.h.

Capitulo 7 MANEJO DE Modulo 7.1 Definicin: Un problema complejo se puede dividir en pequeos subproblemas ms sencillos. Estos subproblemas se conocen como Mdulos y su complementacin en un lenguaje se llama subprograma (procedimientos y funciones). Un subprograma realiza las mismas acciones que un programa, sin embargo, un subprograma lo utiliza solamente un programa para un propsito especifico. 7.2 Funcin: Una funcin en matemticas, es una operacin que toma un o mas valores (argumentos) y devuelve un resultado (valor de la funcin para los argumentos dados). Por ejemplo: F(X) = X / (1+X ) Donde: F.. X.
2

Nombre de la funcin Es el argumento (tambin conocido como parmetro formal)

Definicin de funciones: Una definicin de funcin se presenta de la siguiente manera: Funcin nombre funcin (p1, p2,, pn) Inicio Bloque de instrucciones Fin Donde: Funcin Nombre funcin. principal. P1, p2,, pn...

Es la palabra clave que nos indica una definicin de funcin. Es el identificador con el cual se reconoce a la funcin en el cuerpo del algoritmo

Es el grupo de parmetros que define a la funcin.

Cuando definimos una funcin solo le indicamos al algoritmo que esta funcin existe, pero una definicin de funcin no implica la realizacin de las instrucciones que la constituyen. Para hacer uso de una funcin, el algoritmo principal la debe llamar. Por ejemplo:

Funcin F(X) Inicio F = X / (1 + X^2) Fin Inicio Imprimir Este es el algoritmo principal Leer N R = F(N) llamado de la funcin Imprimir El resultado de la funcin es:, R Fin

Ejercicio 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. Entero inversion,inversion2,total inicio escriba "monto a invertir " lea inversion inversion2 <- (inversion*2)/100 total <-(inversion+inversion2) llamar nueva_linea escriba "su ganacia mensual es ", total fin

Ejercicio 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.

real sueldoA,sueldoB,ventas,comision,total inicio escriba "su sueldo base es " lea sueldoA llamar nueva_linea escriba "numero de ventas " lea ventas sueldoB<- (sueldoA*10)/100 comision<-(sueldoB*ventas) total<-(sueldoA+comision) llamar nueva_linea escriba "usted cuenta con un sueldo de ", total fin

Ejercicio 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.

Real compra,descuento,total inicio escriba "valor total de la compra es " lea compra descuento<-(compra*15)/100 total<-(compra-descuento) llamar nueva_linea escriba "el total a pagar de su compra es ", total fin

Ejercicio 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

real parcialA,parciaLB,parcialC,examen,trabajoF,notafinal inicio escriba "cual es la nota de su parcial 1 " lea parcialA llamar nueva_linea escriba "cual es la nota de su parcial 2 " lea parcialB llamar nueva_linea escriba "cual es la nota de su parcial 3 " lea parcialC Llamar nueva_linea escriba "cual es la calificacion de su examen final " lea examen llamar nueva_linea escriba "cual es la calificacin de su trabajo final " lea trabajoF notafinal<- ((parcialA+parcialB+parcialC)*0.55)+(examen*0.30)+(trabajoF*0.15) llamar nueva_linea escriba "Su notal final es de",notafinal fin

Vous aimerez peut-être aussi