Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algoritmo Final
Algoritmo Final
Lima - Per
Queda prohibida cualquier forma de reproduccin, venta, comunicacin pblica y transformacin de esta obra.
El presente material contiene una compilacin de contenidos de obras Algoritmos y Estructura de Datos publicadas lcitamente, resmenes de los temas a cargo del profesor; constituye un material auxiliar de enseanza para ser empleado en el desarrollo de las clases en nuestra institucin. ste material es de uso exclusivo de los alumnos y docentes de la Universidad Tecnolgica del Per, preparado para fines didcticos en aplicacin del Artculo 41 inc. C y el Art. 43 inc. A., del Decreto Legislativo 822, Ley sobre Derechos de Autor.
PRESENTACIN
El presente texto elaborado en el marco de desarrollo de la Ingeniera, es un material de ayuda instruccional, para las carreras de Ingeniera de: Sistemas, Industrial, Electrnica, Mecatrnica y Telecomunicaciones, para la Asignatura de Algoritmos y Estructura de Datos. Plasma la iniciativa institucional de innovacin de la enseanza-aprendizaje educativo universitario, que en acelerada continuidad promueve la produccin de materiales educativos, actualizados en concordancia a las exigencias de estos tiempos. Esta primera edicin apropiadamente recopilada, de diversas fuentes bibliogrficas, de uso frecuente en la enseanza de Algoritmos, est ordenada en funcin del syllabus de la Asignatura, arriba mencionada. La conformacin del texto ha sido posible gracias al esfuerzo y dedicacin acadmica del Profesor Ing. Carlos Parra Terrazos; contiene seis captulos, cuyas descripciones genricas son como sigue: Captulo 1: Conceptos fundamentales. Antes de introducirnos en el contenido de este manual ser necesario conocer los conceptos bsicos que nos ayudaran a tener un panorama general y entender con mayor facilidad los siguientes captulos. Aprenderemos a diferenciar un algoritmo de un programa y de un lenguaje de programacin, as como conocer la importancia de los tipos de datos y los datos para la programacin. Captulo 2: Estructura general de un programa. En este captulo encontraremos el concepto de Programa, las partes que lo conforman e introduciremos al estudiante en el proceso de la programacin a partir de la presentacin de programas en lenguaje C. Tambin se detallarn las instrucciones y sus tipos. Captulo 3: Estructuras de control. Durante un programa existen acciones que cambian el flujo de control de un programa estas estructuras bsicas de acuerdo a la programacin estructurada son: La estructura secuencial, la estructura selectiva o condicional y la estructura repetitiva o de iteracin; necesarias para poder disear algoritmos de cualquier grado de dificultad.
Captulo 4: Subprogramacin. Modularidad es un concepto que tiene aplicaciones en la ciencia de la computacin, particularmente para permitir manejar la complejidad de los programas a partir del concepto de divide y vencers cuya implementacin se lleva a cabo mediante el diseo descendente y refinamientos sucesivos as como su implementacin mediante las funciones y procedimientos. Captulo 5: Recursividad. Este captulo nos detallar la recursividad en Algoritmos, esta herramienta es muy til en la solucin de problemas; ya que transforma a stos en problemas ms sencillos a partir de la llamada de los programas, a si mismos. Captulo 6: Datos estructurados. Los datos se clasifican en datos simples y datos estructurados o estructuras de datos que son una forma de organizar un conjunto de datos para poder manipularlos con mayor facilidad, como si se tratase de uno solo. En esta parte se conocern los arreglos, los registros y las cadenas de caracteres. Finalmente, al cierre de estas lneas, el agradecimiento institucional al profesor Ing. Carlos Parra Terrazos por su contribucin a la elaboracin del presente texto.
Vicerrectorado de Investigacin
NDICE
CAPTULO I: CONCEPTOS FUNDAMENTALES 1.1 CONCEPTO DE ALGORITMO, EL SOFTWARE, LENGUAJES DE PROGRAMACION.............................................................................. 11 1.2 RESOLUCIN DE PROBLEMAS CON COMPUTADORA FASES .................................................................................................. 13 1.3 HERRAMIENTAS DE PROGRAMACIN ....................................... 16 1.4 TIPOS DE DATOS............................................................................... 20 1.5 CONSTANTES, VARIABLES, IDENTIFICADORES, EXPRESIONES, FUNCIONES ........................................................... 23 1.6 PARTE PRCTICA............................................................................. 27 PROBLEMAS PROPUESTOS ............................................................ 27 LABORATORIO N 1......................................................................... 31 CAPTULO II: ESTRUCTURA GENERAL DE UN PROGRAMA 2.1 ESTRUCTURA DE UN PROGRAMA EN C. .................................... 40 2.2 ESTRUCTURA DE ALGORITMO..................................................... 44 2.3 CONTADORES, ACUMULADORES. ............................................... 44 2.4 PARTE PRCTICA............................................................................. 47 PROBLEMAS PROPUESTOS ............................................................ 47 LABORATORIO N 2.......................................................................... 49 CAPTULO III: ESTRUCTURAS DE CONTROL 3.1 PROGRAMACIN ESTRUCTURADA............................................. 59 3.2 ESTRUCTURA DE CONTROL TIPOS........................................... 59 3.3 PARTE PRCTICA............................................................................. 74 PROBLEMAS PROPUESTOS ............................................................ 74 LABORATORIO N 3.......................................................................... 78 CAPTULO IV: SUBPROGRAMACIN 4.1 PROGRAMACIN MODULAR......................................................... 83 4.2 SUBPROGRAMAS TIPOS............................................................... 85 4.2.1 VARIABLES GLOBALES Y LOCALES. ............................ 87 4.2.2 FUNCIONES, PASO DE PARMETROS............................ 89 4.3 PARTE PRCTICA............................................................................. 94 PROBLEMAS PROPUESTOS ............................................................ 94 LABORATORIO N 4.......................................................................... 95
CAPTULO V: RECURSIVIDAD 5.1 RECURSIVIDAD............................................................................... 103 5.2 CARACTERSTICAS........................................................................ 103 5.3 VENTAJAS Y DESVENTAJAS ....................................................... 104 5.4 PELIGROS EN LA RECURSIVIDAD.............................................. 104 5.5 TIPOS DE ALGORITMOS RECURSIVOS...................................... 105 5.6 VERIFICACIN DE FUNCIONES RECURSIVAS ........................ 107 5.7 LA PILA DE RECURSIN ............................................................... 108 5.8 LLAMADA A UNA FUNCIN RECURSIVA ................................ 108 5.9 PARTE PRCTICA........................................................................... 109 PROBLEMAS PROPUESTOS .......................................................... 109 LABORATORIO N 5........................................................................ 110 CAPTULO VI: DATOS ESTRUCTURADOS 6.1 TIPOS ................................................................................................. 113 6.2 ARREGLOS UNIDIMENSIONALES, DECLARACION Y ACCESO............................................................................................. 114 6.3 ARREGLOS BIDIMENSIONALES, DECLARACION Y ACCESO117 6.4 REGISTROS....................................................................................... 122 6.4.1 CONCEPTO ......................................................................... 122 6.4.2 DECLARACION Y ACCESO ............................................. 122 6.4.3 ARREGLO DE REGISTROS .............................................. 124 6.5 CADENAS DE CARACTRES ........................................................ 125 6.6 PARTE PRCTICA........................................................................... 129 PROBLEMAS PROPUESTOS: ......................................................... 129 LABORATORIO N 6........................................................................ 130 BIBLIOGRAFA .......................................................................................... 1389
DISTRIBUCIN TEMTICA
Clase N 1 2 3 4 5 6 7 8 9 10 11 12 13 14 TEMA Conceptos Fundamentales Tipo de datos Estructura general de un programa Estructuras de control Selectiva doble Selectiva mltiple Selectiva de control (SEGN SEA) Iterativa (REPETIR DESDE) Iterativa (REPETIR - MIENTRAS ) Revisin Nivelacin EXAMEN Subprogramacin Procedimientos de paso de parmetros Recursividad Datos Estructurados PARCIAL SEMANA 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Clase N 15 16 17 18 19 20 21
TEMA Arreglos bidimensionales Declaracin y acceso Registros Cadena de caracteres ndices Nivelacin Recuperacin EXAMEN FINAL EXAMEN SUSTITUTORIO
SEMANA 15 16 17 18 19 20 21
10
1.1
CONCEPTO DE ALGORITMO, EL SOFTWARE, LENGUAJES DE PROGRAMACIN a) CONCEPTOS DE ALGORITMO Un algoritmo es un conjunto finito de instrucciones o pasos con una secuencia lgica que sirven para ejecutar una tarea o resolver un problema. De un modo ms formal, un algoritmo es una secuencia lgica finita de operaciones realizables, no ambiguas, cuya ejecucin da una solucin de un problema en un tiempo finito. COMPONENTES DE UN ALGORITMO Entrada : Salida : Procesos : Datos del problema a resolver. El resultado de la resolucin. Paso a seguir en la resolucin.
REPETITIVIDAD Idnticos resultados en las mismas condiciones iniciales. FINITUD EFICIENCIA Solucin en un tiempo finito. Tiempo de ejecucin. Requerimiento de memoria. ALGORITMO VS LENGUAJE DE PROGRAMACIN Un lenguaje de programacin es tan solo un medio para expresar un algoritmo. EJEMPLO N 1 Un cliente efecta un pedido a una compaa, La compaa verifica en su banco de datos la ficha del cliente, si el cliente es solvente entonces la compaa acepta el pedido; en caso 11
contrario, rechazar el pedido. Realizar el algoritmo del ejemplo. Los pasos del algoritmo son: 1. Inicio 2. Leer el pedido 3. Verificar la ficha del cliente 4. Si el cliente es solvente, aceptar pedido; en caso contrario, rechazar pedido. 5. Fin CONCEPTO DE PROGRAMA Un programa es una secuencia de instrucciones de la CPU. Cada instruccin es un conjunto de bytes. Conjunto de instrucciones dado al ordenador para realizar un proceso determinado.
EJEMPLO N 2 1. 2. 3. 4. b) Leer un dato del teclado. Guardar un dato en la memoria. Ejecutar una operacin sobre los datos. Mostrar un dato en la pantalla.
CONCEPTO DE SOFTWARE Es la parte lgica de la computacin. Conjunto de programas que sirven para representar un segmento de la realidad y resolver un problema. Como por ejemplo: el Office, un sistema operativo, C++, Pascal, Java, etc. LENGUAJES DE PROGRAMACIN Son aquellos lenguajes que se utilizan para realizar algoritmos interpretables por la computadora. Caractersticas imprescindibles Estructura de Control. Programacin Modular (funciones). Los principales tipos de lenguajes utilizados antes y en la actualidad son tres: 12
c)
Lenguaje mquina. Lenguaje de bajo nivel (ensamblador). Lenguajes de alto nivel: C, C++, Visual Basic, Java, Pascal, Prolog.
1.2
RESOLUCIN DE PROBLEMAS CON COMPUTADORA FASES Actualmente la resolucin de problemas con computadoras facilita el trabajo del usuario, debido a la gran velocidad de esta herramienta (computadora). El siguiente esquema nos muestra las fases de la resolucin de problemas con computadora.
13
EJEMPLO N 3 Imprimir la hipotenusa, teniendo los lados de un triangulo rectngulo. Variables: LADO1, LADO2 y LADO3 (tipo reales). Entradas: Valores de los lados (variable LADO1 y variable LADO2). Salida: Valor de la hipotenusa (variable LADO3).
14
FASE N 03: SOLUCIN DEL PROBLEMA POR COMPUTADORA Traduccin del algoritmo al lenguaje de programacin. La complejidad depende mucho del lenguaje escogido. Imprescindible: Conocimiento de la sintaxis del lenguaje. Buenos diseos del Algoritmo + Lenguaje estructurado