Está en la página 1de 14

GUIA DE ALGORITMIA

PRESENTADO A: Instructor: Henry Alfonso Garzn Snchez.

PRESENTADO POR: Diana Carolina Gonzlez

TELEIMFORMATICA

2013

1. CONCEPTOS BASICOS Y METODOLOGIA PARA LA SOLUCION DE PROBLEMAS POR MEDIO DE COMPUTADORES

Introduccin: Es una seccin inicial cuyo propsito principal es contextualizar el texto fuente o reseado que est expuesto. En la introduccin normalmente se describe el alcance del documento, y se da una breve explicacin o resumen del mismo. Tambin puede explicar algunos antecedentes que son importantes para el posterior desarrollo del tema central. Un lector al leer la introduccin debera poder hacerse una idea sobre el contenido del texto, antes de comenzar su lectura propiamente dicha. Definicin de lenguaje: El concepto de lenguaje puede ser entendido como un recurso que hace posible la comunicacin y le brinda la posibilidad al hombre de seleccionar, citar, coordinar y combinar conceptos de diversa complejidad. No obstante, a todo ello hay que aadir el hecho de que existen muchas maneras de lenguaje. Definicin de Algoritmos La palabra algoritmo se deriva de la traduccin al latn de la palabra rabe alkhowarizmi, nombre de un matemtico y astrnomo rabe que escribi un tratado sobre manipulacin de nmeros y ecuaciones en el siglo IX. Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solucin a un problema especfico. existen dos tipos y son llamados as por su naturaleza: Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras. Cuantitativos: Son aquellos en los que se utilizan clculos numricos para definir los pasos del proceso. Algoritmos Cotidianos Se refiere a todos aquellos algoritmos que nos ayudan a resolver problemas diarios, y que los hacemos casi sin darnos cuenta de que estamos siguiendo una metodologa para resolverlos. Definicin de lenguajes Algortmicos

Un Lenguaje algortmico es una serie de smbolos y reglas que se utilizan para describir de manera explcita un proceso. Tipos de Lenguajes Algortmicos Grficos: Es la representacin grfica de las operaciones que realiza un algoritmo (diagrama de flujo).

No Grficos: Representa en forma operaciones que debe realizar un algoritmo (pseudocdigo).

descriptiva

las

INICIO Edad: Entero ESCRIBA cual es tu edad? Lea Edad SI Edad >=18 entonces ESCRIBA Eres mayor de Edad FINSI ESCRIBA fin del algoritmo FIN

Metodologa para la solucin de problemas por medio de computadora La solucin de un problema por computadora, 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

Es el enunciado del problema, el cual debe ser claro y completo. Es fundamental conocer y delimitar por completo el problema, saber que es lo se desea realice la computadora, mientras esto no se conozca del todo, no tiene caso continuar con el siguiente paso. 2. Anlisis del Problema Una vez que se ha comprendido lo que se desea del computador, 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 prctica es el que nos pongamos en el lugar del computador y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir los resultados esperados.

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

4. 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 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. 5. 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. 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. 6. 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). 7. Mantenimiento Se lleva acabo 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. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS Tipos de datos En un sentido amplio, un tipo de datos define un conjunto de valores y las operaciones sobre estos valores.1 Casi todos los lenguajes de programacin explcitamente incluyen la notacin del tipo de datos, aunque lenguajes diferentes pueden usar terminologas diferente y. La mayor parte de los lenguajes de programacin permiten al programador definir tipos de datos adicionales, normalmente combinando mltiples elementos de otros tipos y definiendo las operaciones del nuevo tipo de dato. Por ejemplo, un programador puede crear un nuevo tipo de dato llamado "Persona" que especifica que el dato interpretado como Persona incluir, por ejemplo, un nombre y una fecha de nacimiento. Un tipo de dato puede ser tambin visto como una limitacin impuesta en la interpretacin de los datos en un sistema de tipificacin, describiendo la representacin, la interpretacin y la estructura de los valores u objetos almacenados en la memoria del ordenador. El sistema de tipificacin usa informacin de los tipos de datos para comprobar la verificacin de los programas que acceden o manipulan los datos. Es el conjunto de valores que puede tomar durante el programa. Si se le intenta dar un valor fuera del conjunto se producir un error. La asignacin de tipos a los datos tiene dos objetivos principales:

Por un lado, detectar errores en las operaciones Por el otro, determinar cmo ejecutar estas operaciones

Los tipos de datos son: Simples: Como su nombre indica son los tipos bsicos en Pascal. Son los ms sencillos y los ms fciles de aprender. Por todo esto, sern en los que nos centremos. Los tipos simples ms bsicos son: entero, lgico, carcter y real. Y la mayora de los lenguajes de programacin los soportan, no como ocurre con los estructurados que pueden variar de un lenguaje a otro. Estructurados: Mientras que una variable de un tipo simple slo referencia a un elemento, los estructurados se refieren a colecciones de elementos. Las colecciones de elementos que aparecen al hablar de tipos estructurados son muy variadas: tenemos colecciones ordenadas que se representan mediante el tipo array, colecciones sin orden mediante el tipo conjunto, e incluso colecciones que contienen otros tipos, son los llamados registros.

Expresiones En programacin, una expresin es una combinacin de constantes, variables o funciones, que es interpretada de acuerdo a las normas particulares de precedencia y asociacin para un lenguaje de programacin en particular. Como en matemticas, la expresin es su valor evaluado, es decir, la expresin es una representacin de ese valor. Ejemplos de expresiones:

Expresin aritmtica: 3+2, x+1,... Expresin lgica: x OR y, NOT x,... Expresin con predicados: P(a) AND Q(b),...

Operadores y operandos Operadores Aritmticos Los operadores aritmticos permiten la realizacin de operaciones matemticas con los valores (variables y constantes). Los operadores aritmticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real.

Identificadores como localidades de memoria En los lenguajes informticos, los identificadores son elementos textuales que nombra entidades del lenguaje. Algunas de las variables, las constantes, los tipos de dato, las etiquetas, las subrutinas (procedimientos y funciones) y los paquetes. En muchos lenguajes algunas secuencias tienen la forma lxica de un identificador pero son conocidos como palabras clave. Lo habitual es que si un identificador se corresponde con una palabra clave o reservada, este ya no puede utilizarse para referirse a otro tipo de identidades como variables o constantes. Los lenguajes informticos normalmente ponen restricciones en que caracteres pueden aparecer en un identificador. Por ejemplo, en las primeras versiones de Cy C++, los

identificadores estn restringidos para que sean una secuencia de una o mas letras ASCIL, dgitos numricos y barras bajas.

3. TECNICAS DE DISEO

Top-down y Bottom-up Son estrategias de procesamiento de informacin caractersticas de las ciencias de la informacin, especialmente en lo relativo al software Por extensin se aplican tambin a otras ciencias sociales y exactas. En el modelo Top-down se formula un resumen del sistema, sin especificar detalles. Cada parte del sistema se refina diseando con mayor detalle. En el diseo Bottom-up las partes individuales se disean con detalle y luego se enlazan para formar componentes ms grandes, que a su vez se enlazan hasta que se forma el sistema completo.

4. TECNICAS PARA LA FORMULACION DE ALGORITMOS

Diagrama de flujo

Es aquel que se vale de diversos smbolos para representar las ideas o acciones a desarrolla. Es til para organizar las acciones o pasos de un algoritmo pero requiere de etapas posteriores para implementarse en un sistema de cmputo.

Pseudocdigo

Es una descripcin informal de alto nivel de un algoritmo informtico de programacin, compacto e informal, que utiliza las convenciones estructurales de un lenguaje de programacin verdadero, pero que est diseado para la lectura humana en lugar de la lectura mediante mquina, y con independencia de cualquier otro lenguaje de programacin.

Diagrama Estructurado

Tambin conocido como N-S (nassi-schneiderman) o tambin 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 pueden escribir en cajas sucesivas y como en los diagramas e flujo, se pueden escribir acciones en una caja.

5. ESTRUCTURAS ALGORITMICAS Secuenciales Es aqulla 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. La estructura secuencial tiene una entrada y una salida.

Inicio Accin 1 Accin 1 . . AccinN Fin

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.

Condicionales simples Las estructuras condicionales simples se le conocen como tomas de decisin. Estas de tomas de decisin tienen la siguiente forma:

Si <condicin> entonces Instruccin (es) Fin-Si

Condicionales Mltiples Las estructuras de comparacin mltiples, son tomas de decisin especializadas que permiten comparar una variable contra distintos posibles resultados, ejecutando para cada una serie de instrucciones especficas. La forma comn es la siguiente:

Si <condicin> entonces Instruccin (es) Si no Si <condicin> entonces Instruccin (es) Si no..VARIAS CONDICIONES

6. ARREGLOS 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 partculas del vector.

Matrices Es un arreglo de M * N elemento organizado en dos dimensiones donde M es el nmero de filas o renglones y N el nmero de columnas. Para representar una matriz se necesita un nombre de matriz acompaado de dos ndices.

Manejo de cadenas de caracteres Es una secuencia ordenada de longitud arbitraria (aunque finita) de elementos que pertenecen a un cierto lenguaje formal o alfabeto anlogas a una frase o a una oracin. En general, una cadena de caracteres es una sucesin de caracteres (letras, nmeros u otros signos o smbolos).

7. MANEJO DE MODULOS

Definicin, Funcin y Manipulacin Un problema complejo se puede dividir en pequeos subproblemas ms sencillo. Estos subproblemas se conocen como mdulos y su complementacin en un lenguaje se llama subprograma (procedimiento y funciones). Un subprograma realiza las mismas acciones que un programa, sin embargo, utiliza solamente un programa para un propsito especfico.

Funcin Una funcin es un conjunto de lneas de cdigo que realizan una tarea especfica y puede retomar un valor. Las funciones pueden tomar parmetros que modifiquen su funcionamiento. Las funciones son utilizadas para descomponer grandes problemas en tareas simples y para implementar operaciones que son comnmente utilizadas durante un programa y de esta manera reducir la cantidad del cdigo.

SOLUCION DE EJERCICIOS

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.

/*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 Suelbasi,ventas, porventas,comiven, total

Inicio

Escriba "sueldo base es: " lea Suelbasi llamar nueva_linea

Escriba "ventas del mes: " lea ventas llamar nueva_linea

porventas<-(ventas*10) comiven<-(porventas/100) total<-Suelbasi+comiven

Escriba "comision por ventas del mes: ",porventas/100 llamar nueva_linea

Escriba "Ingresos totales en el mes : ",Suelbasi+comiven llamar nueva_linea

Fin

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.

/* 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 Valcom,descu,Valfi

Inicio

Escriba " valor total de la compra ? " lea Valcom

Valfi<-Valcom*15 descu<-Valfi/100

Escriba " Valor a pagar con el descuento : " ,Valcom-descu

Fin