fundamentos basicos de algoritmos

9
Universidad Católica los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Algoritmos y Programación Una computadora no tiene capacidad para solucionar problemas más que cuando se le proporcionan los pasos sucesivos a realizar, para ello elaboramos un algoritmo. ¿Qué es un algoritmo? Es un método para resolver un problema mediante una secuencia de instrucciones, cada una de las cuales especifica las operaciones que debe realizar la computadora. Características de un algoritmo Las características fundamentales que debe cumplir todo algoritmo son: Debe ser preciso e indicar el orden de realización de cada paso. Debe estar definido. Si se sigue un algoritmo dos o más veces, con los mismos valores iniciales se debe obtener el mismo resultado. Debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento, es decir, debe tener un número finito de pasos. También hay que tener en cuenta en un algoritmo: El algoritmo sirve de base para generar un programa, pero no es el programa en sí. El algoritmo no es inteligible directamente por el ordenador. El mismo algoritmo puede ser implementado de forma distinta en diversos programas, es decir, dos programadores pueden obtener distintos códigos fuente a partir del mismo algoritmo. El proceso de un algoritmo La definición de un algoritmo debe describir tres partes: Entrada, proceso y salida. La información proporcionada al algoritmo constituye su entrada, el procedimiento para la solución del problema constituye su proceso y la información producida por el algoritmo constituye su salida. A continuación ejemplos de algoritmos para un mejor entendimiento: Ejemplo 01: Leer la base y altura de un paralelogramo. Calcular su área. Datos de Entrada ---> base y altura Proceso ---> área = base x altura Datos de Salida ---> El área del paralelogramo 1 Entrada Salida Proceso FUNDAMENTOS BÁSICOS DE ALGORITMOS

Upload: peter-sandoval

Post on 14-Nov-2015

15 views

Category:

Documents


0 download

DESCRIPTION

Que es un algoritmo?Esta, es una de las primeras preguntas que se enfrentan los que deciden iniciarse en la programación informática.En este PDF voy a tratar de definir y que es un algoritmo, y como se relaciona con la programación informática.

TRANSCRIPT

  • Universidad Catlica los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas Asignatura: Algoritmos y Programacin

    Una computadora no tiene capacidad para solucionar problemas ms que cuando se le proporcionan los pasos sucesivos a realizar, para ello elaboramos un algoritmo.

    Qu es un algoritmo?Es un mtodo para resolver un problema mediante una secuencia de instrucciones, cada una de las cuales especifica las operaciones que debe realizar la computadora.

    Caractersticas de un algoritmoLas caractersticas fundamentales que debe cumplir todo algoritmo son:

    Debe ser preciso e indicar el orden de realizacin de cada paso. Debe estar definido. Si se sigue un algoritmo dos o ms veces, con los mismos valores

    iniciales se debe obtener el mismo resultado. Debe ser finito. Si se sigue un algoritmo, se debe terminar en algn momento, es decir,

    debe tener un nmero finito de pasos.

    Tambin hay que tener en cuenta en un algoritmo:

    El algoritmo sirve de base para generar un programa, pero no es el programa en s. El algoritmo no es inteligible directamente por el ordenador. El mismo algoritmo puede ser implementado de forma distinta en diversos programas, es

    decir, dos programadores pueden obtener distintos cdigos fuente a partir del mismo algoritmo.

    El proceso de un algoritmoLa definicin de un algoritmo debe describir tres partes: Entrada, proceso y salida.

    La informacin proporcionada al algoritmo constituye su entrada, el procedimiento para la solucin del problema constituye su proceso y la informacin producida por el algoritmo constituye su salida.

    A continuacin ejemplos de algoritmos para un mejor entendimiento:

    Ejemplo 01:Leer la base y altura de un paralelogramo. Calcular su rea.

    Datos de Entrada ---> base y alturaProceso ---> rea = base x alturaDatos de Salida ---> El rea del paralelogramo

    1

    Entrada SalidaProceso

    FUNDAMENTOS BSICOS DE ALGORITMOS

  • Universidad Catlica los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas Asignatura: Algoritmos y Programacin

    Ejemplo 02:Leer el radio de una circunferencia. Calcular su rea y longitud.

    Datos de Entrada ---> Radio de una circunferencia.Proceso ---> rea = r2 y Longitud = 2rDatos de Salida ---> El rea y longitud de una circunferencia.

    Verificacin del algoritmo o prueba de escritorio

    Una vez escrito el algoritmo es necesario asegurarse de que ste realiza las tareas para las que ha sido diseado, y que por lo tanto produce el resultado correcto y esperado.

    El modo ms normal de comprobar un algoritmo es mediante su ejecucin manual usando datos significativos que abarquen todo el posible rango de valores y anotando en una hoja de papel los valores que van tomando en las diferentes fases, los datos de entrada o auxiliares y, por ltimo los valores de los resultados. Este proceso se conoce como prueba del algoritmo o prueba de escritorio.

    Haremos una prueba de escritorio de los dos problemas anteriores:

    Elementos Ejemplo 01 Ejemplo 02Datos de entrada base = 5

    altura = 3 r (radio) = 3 (pi) = 3.14 (Solo tomaremos hasta

    dos decimales)

    Proceso area = base x altura area = 5 x 3

    area = r2 = 3.14 x (3)2

    longitud = 2r = 2 x 3.14 x 3

    Datos de salida area = 15 area = 28.26 longitud = 18.84

    Los elementos bsicos que forman parte esencial o fundamental de un algoritmo o programa son:

    Identificadores. Variables. Constantes. Instrucciones. Palabras reservadas.

    IdentificadoresSon nombres usados para identificar a los objetos y dems elementos de un programa: variables, constantes, operadores, funciones, procedimientos, etc. Existen reglas para construir identificadores validos y son los siguientes:

    El primer carcter debe ser una letra o el carcter subrayado bajo. Los caracteres siguientes pueden ser letras, nmeros o smbolos de subrayado bajo. Las letras maysculas y las letras minsculas se tratan como distintas. As suma, Suma y

    SUMA son tres identificadores distintos. No pueden ser iguales a ninguna palabra reservada.

    2

    Elementos bsicos de un algoritmo

  • Universidad Catlica los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas Asignatura: Algoritmos y Programacin

    VariablesUna variable es un objeto a quien se le asigna un valor y cuyo valor puede cambiar durante el desarrollo del algoritmo o ejecucin del programa. Si una variable est compuesto por dos palabras, stas pueden ser juntas o unidos por el subrayado bajo, guin bajo o subguin _ .

    Nota:No se deben utilizar como nombres de variables (identificadores) palabras reservadas del algoritmo o del lenguaje de programacin.

    Ejemplos: Nota Nombre Apellidos nota_oral

    Apellido_paterno apellido_materno Nota1 Contador1

    precios hora prom pi

    Los nombres de las variables elegidas deben ser significativos y tener relacin con el objeto que representan, como pueden ser los casos siguientes:

    nombre para representar nombres de personas.precios para representar los precios de diferentes artculos.notas para representar las notas de una clase.

    A continuacin se muestra como ejemplos los nombres de variables no adecuados porque tienen otro significado a lo expresado:

    azucar para representar la nota de una clase.pan para representar la edad de una persona.

    ConstantesUna constante toma o recibe un valor que no cambia durante el desarrollo del algoritmo o la ejecucin del programa.

    InstruccionesLas instrucciones especifican las operaciones o acciones que deben ser realizadas o ejecutadas.

    Palabras reservadasPalabras utilizadas por los algoritmos o lenguajes de programacin para representar sentencias, rdenes, etc.

    Ejemplos: inicio. fin. hacer. sientonces-sino. mientras. desde.

    3

    CONCLUSIN DE ELEMENTOS BSICOS DE UN ALGORITMO:

    Del Ejemplo 01, se concluye que existen: V ariables que son: base, altura y area.

    Del Ejemplo 02, se concluye que existen: Varaibles que son: radio, area y longitud. Constantes que son: pi.

  • Universidad Catlica los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas Asignatura: Algoritmos y Programacin

    El primer objetivo de toda computadora es el manejo de la informacin o datos. Estos datos pueden ser las cifras de ventas de una bodega, tickets para un encuentro deportivo, ingreso diario de una empresa o las calificaciones de un saln de clase. Los algoritmos y programas correspondientes operan sobre datos.

    Los tipos de datos definen un conjunto de valores que puede almacenar una variable, junto con un conjunto de operaciones que se pueden realizar sobre esa variable.

    Los tipos de datos simples son los siguientes:

    Numricos (enteros, reales). Lgicos (booleanos). Carcter (char, string).

    Datos numricosEl tipo numrico es el conjunto de los valores numricos. Estos pueden representarse en dos formas distintas:

    Tipo numrico entero (int, integer) Tipo numrico real (float, double)

    Tipo enteroEs el subconjunto finito de los nmeros enteros, no tienen componentes fraccionarios o decimales, y pueden ser negativos o positivos.

    Ejemplos:6 -9-20 115 1915 -116 0

    Tipo realesSubconjunto de los nmeros reales, siempre tiene un punto decimal y pueden ser positivos o negativos. Constan de un entero y una parte decimal.Ejemplos:

    9.9 12.24-123.11 0.89

    1470.274 -0.9954.77 3.0

    Datos lgicosEs aquel dato que solo puede tomar uno de dos valores:

    cierto o verdadero (true) y falso (false)

    Ejemplo:Cuando se le pide si un valor entero es par, la respuesta ser verdadera o falsa, segn sea impar o par.

    4

    Tipos de Datos

  • Universidad Catlica los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas Asignatura: Algoritmos y Programacin

    Datos tipo carcter y tipo cadenaUn dato tipo carcter contiene un solo carcter y se encuentra delimitado por comilla simple.

    Los caracteres que reconocen las diferentes computadoras no son estndar, sin embargo la mayora reconoce los siguiente caracteres alfabticos, numricos y especiales:

    caracteres alfabticos : (a, b, c, ... ,z) (A, B, C, ... ,Z) caracteres numricos : (1, 2, 3, ... ,9 ,0) caracteres especiales : (+,-,*,/,{, }, ... ;,< ,> , ...)

    Una cadena (string) de caracteres es una sucesin de caracteres que se encuentran delimitados por una comilla simple (apostrofo) o dobles comillas.Ejemplos:

    Carcter : a b mp q MZ Y N

    Cadena : Hola Per8 de Octubre de 1879Juan Pablo II

    Datos adicionales para conocer:

    Existe un tipo de representacin denominado notacin exponencial o cientfica y que se utiliza para nmeros muy grandes o muy pequeos.

    Ejemplo: Dado un nmero cualquiera:

    367520100000000000000

    se representa en notacin descomponindolo en grupo de tres dgitos:

    367 520 100 000 000 000 000

    y posteriormente en forma de potencias de 10, es:

    3.675201 x 1020

    Ejemplos:

    2079546000000 = 2.079546 x 1012

    8927645125 = 8.927645 x 109

    0.000000032458 = 3.2458 x 10-8

    0.0000000009284 = 9.284 x 10-10

    5

    CONCLUSIN DE TIPOS DE DATOS:

    Del Ejemplo 01, se concluye que los tipos de datos existentes son: enteros : base, altura y area.

    Del Ejemplo 02, se concluye que los tipos de datos existentes son: entero : radio. real: area, longitud y pi.

  • Universidad Catlica los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas Asignatura: Algoritmos y Programacin

    Son combinaciones de constantes, variables, smbolos de operacin, parntesis y nombres de funciones especiales, que cumplen determinadas reglas.

    Ejemplos: a + ( b * 3 ) / c 5 * a * b / ( c + d)

    1. EXPRESIONES ARITMTICASSon anlogas a las formulas matemticas. Las variables y constantes son numricas (real o entera) y las operaciones son las aritmticas.

    Operadores AritmticosSignificado Operador Algebraico Operador AlgortmicoSuma + +Resta - -Multiplicacin x *Divisin real / /Divisin entera / divExponenciacin **,^Modulo (resto o residuo)

    mod

    Tabla 1: Operadores Aritmticos

    A continuacin se mostrarn las equivalencias que debe conocer entre expresiones algebraicas y expresiones aritmticas.

    Ejemplos:

    Representacin Algebraica Representacin Algortmica12 + 19 12 + 19a b a - b 5 x 7 5 * 76 + c (6 / 4) + c437 3 ^ 7

    Eje rcicio 1: Convertir en expresiones aritmticas algortmicas las siguientes expresiones algebraicas:

    a) 7 ( a + b ) b) 8x + 9y + 3zc) a2 + 2a 3d) x2 y2 e) p + q

    r + s t

    f) a (cd)bb

    6

    Expresiones

  • Universidad Catlica los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas Asignatura: Algoritmos y Programacin

    Nota: Hacer uso de un tiempo de 5 minutos para resolver los incisos del a) al f) del ejercicio 1. Terminado de hacerlo revisar sus respuestas con la solucin que a continuacin se presenta.

    Solucin:

    a) 7 ( a + b ) 7 * (a + b)b) 8x + 9y + 3z 8 * x + 9 * y + 3 * zc) a2 + 2a 3 a ^ 2 + 2 * a - 3d) x2 y2 x ^ 2 y ^ 2e) p + q (p + q) / (r + s / t)

    r + s t

    f) a (cd) a / b * c * db

    Eje rcicio 2 . Resolver las siguientes expresiones aritmticas algortmicas:

    a) 15 + 9 * 2 6 * 2 ^ 2b) -8 / 4 * 6 + 3 ^ 2 * (10 / 5)

    Nota: Para ejecutar los pasos de como resolver estas expresiones aritmticas, debemos primero conocer las reglas de prioridad

    Reglas de prioridadLas expresiones que tienen dos o ms operandos en una expresin se evalan, en general, segn el siguiente orden.

    1. Las operaciones que estn encerradas entre parntesis se evalan primero. Si existen diferentes parntesis anidados (internos unos a otros), las expresiones ms internas se evalan primero.

    2. Las operaciones aritmticas dentro de una expresin suelen seguir el siguiente orden de prioridad.

    a. Operador exponencial (^, o bien **)b. Operadores *, /c. Operadores div y modd. Operadores + , -

    Nota:En caso coincidir varios operadores de igual prioridad en una expresin o subexpresin encerrada entre parntesis, el orden de prioridad en este caso es de izquierda a derecha.

    Solucin del ejercicio 2 :

    a) 15 + 9 * 2 6 * 2 ^ 2 b) -8 / 4 * 6 + 3 ^ 2 * (10 / 5) 15 + 9 * 2 6 * 4 -8 / 4 * 6 + 3 ^ 2 * 2

    15 + 18 - 24 = 9 -8 / 4 * 6 + 9 * 2

    -2 * 6 + 18 = 6

    7

  • Universidad Catlica los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas Asignatura: Algoritmos y Programacin

    Divisin entera (div) Es la accin de dividir dos nmeros enteros uno viene hacer el dividendo y el otro el divisor, el resultado del operador div es el valor del cociente. En esta divisin no es de mucha importancia el residuo. Recuerden que para utilizar el div solo se aplica a divisiones de nmeros enteros, veamos el siguiente ejemplo:

    Ejemplo: 9 div 2 = 4

    Ejemplos:a. 15 div 6 = 2 b. 14 div 2 = 7 c. 0 div 3 = 0d. 7 div 9 = 0 e. 3 div 3 = 1 f. 2 div 5 = 0

    Reglas de la divisin real y entera:Los operandos pueden ser enteros(E) o reales(R).

    Divisin real Divisin enteraE / E = R E div E = EE / R = R E div R = No VlidoR / E = R R div E = No VlidoR / R = R R div R = No Vlido

    operandos

    Residuo (mod)El operador mod se utiliza para obtener el residuo o resto de una divisin entera. Igual que para el operador div, para poder hallar el residuo de una divisin utilizando el operador mod, los operandos deben ser exclusivamente enteros.Reglas del residuo:

    ResiduoE mod E = EE mod R = No VlidoR mod E = No VlidoR mod R = No Vlido

    Ejemplos:a. 15 mod 6 = 3 b. 14 mod 2 = 0 c. 19 mod 3 = 1d. 7 mod 9 = 7 e. 3 mod 3 = 0 f. 2 mod 5 = 2

    Las operaciones que se requieren en los programas exigen en numerosas ocasiones, adems de las operaciones aritmticas bsicas, ya tratadas, un nmero determinado de operadores especiales que se denominan funciones internas, incorporadas o estndar.

    Por ejemplo, la funcin raiz2 calcula la raz cuadrada de un nmero positivo, la funcin abs devuelve el valor absoluto de un nmero, la funcin cuadrado devuelve el valor de un nmero elevado al cuadrado. Existen otras funciones que se utilizan para determinar las funciones trigonomtricas.

    8

    9 28 41

    Dividendo

    Cociente

    Divisor

    Funciones internas

    Residuo

    resultados

    Entero

    Real

  • Universidad Catlica los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas Asignatura: Algoritmos y Programacin

    La siguiente tabla recoge las funciones internas ms usuales en algoritmos, siendo x el argumento de la funcin.

    Las funciones aceptan argumentos reales o enteros y sus resultados dependen de la tarea que realice la funcin:

    Ejemplos:

    Tabla 5: Ejemplos

    9