ALGORÍTMICA Clase Mayor Inicio Método Principal Inicio Leer num1, num2, num3 Si (num1 > num2) and (num1 > num3) entonces mayor = num1 si no Si (num2 > num1) and (num2 > num3) entonces mayor = num2   si no mayor = num3 fin-si fin-si Imprimir mayor Fin  \\Método Fin\\ Clase M.T.E. María Luisa Velasco Ramírez
CONCEPTO BÁSICOS M.T.E. María Luisa Velasco Ramírez
OBJETIVO: El estudiante: Identificará la terminología  relacionada con los algoritmos. Describirá la metodología  de programación en cada una de sus etapas. Identificará  las reglas para cambiar formulas matemáticas a expresiones validas para la computadora, además de diferenciar constantes e identificadores y tipos de datos simples.
A las soluciones creadas por computadora se les conoce como: PROGRAMAS
Computadora: Es un dispositivo electrónico utilizado para procesar información y obtener resultados.
Proceso de información en la computadora Programa COMPUTADORA Datos de Entrada Datos de Salida
Programa Es el conjunto de instrucciones escritas de algún lenguaje de programación y que ejecutadas secuencialmente resuelven un problema especifico.
Lenguaje de programación Es un conjunto de símbolos, caracteres y reglas  que les permiten a las personas comunicarse con la computadora
Los lenguajes de programación se clasifican en: Máquina Bajo Nivel Alto Nivel
Algorítmo Un algoritmo es el  conjunto de operaciones y procedimientos que deben seguirse para resolver un problema.   Mohamed Ibn Moussa Al Kow Rizmi   Fibonacci introdujo la palabra Algoritmi dicit
Diferencia entre el lenguaje algorítmico y el informático. El  lenguaje  algorítmico  es  aquel  por  medio del cual se realiza un  análisis previo del  problema a resolver  y se encuentra un método que permita resolverlo.
El lenguaje  informático es aquel  por medio del  cual dicho algoritmo se codifica  a un sistema comprensible por la computadora.
Tipos de Lenguajes Algoritmicos Gráficos:  Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).
No Gráficos:  Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocódigo).
  Metodología para la solución de problemas por medio de computadora
Definición del problema Análisis del problema Diseño del Algoritmo Codificación Prueba y Depuración Documentación Mantenimiento
La  documentación  se divide en tres partes: Documentación Interna : Son los comentarios o mensajes que se añaden al código fuente para hacer mas claro el entendimiento de un proceso.
Documentación Externa : Se define en un documento escrito los siguientes puntos: Descripción del Problema Nombre del Autor Algoritmo (diagrama de flujo o pseudocodigo) Diccionario de Datos Código Fuente (programa)
Manual del Usuario : Describe paso a paso la manera como funciona el programa, con el fin de que el usuario obtenga el resultado deseado.
Tipos de datos Simples Estructurados Numéricos Lógicos Alfanuméricos Arreglos (vectores, matrices) Registros Archivos Apuntadores
Expresiones: Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Por ejemplo: a+(b + 3)/c
Clasificación de las expresiones: Aritméticas Relaciónales Lógicas
Operadores Aritméticos   +  Suma -  Resta *  Multiplicación /  División   Mod  Modulo  (residuo de la división entera  )
Prioridad o Precedencia  de los Operadores Aritméticos Todas las expresiones entre paréntesis se evalúan primero. Las expresiones con paréntesis anidados se evalúan de adentro hacia afuera, es decir, el paréntesis más interno se evalúa primero. Dentro de una misma expresión los operadores se evalúan en el siguiente orden.
1.- ** Exponenciación 2.- *, /, mod, div Multiplicación, división,  modulo, división entera. 3.- +, - Suma y resta. Los operadores en una misma expresión con igual nivel de prioridad se evalúan de izquierda a derecha.
Ejemplos 4 + 2 * 5 = 14   3 + 5 * (10 - (2 + 4)) = 23   2.1 * (1.5 + 3.0 * 4.1) = 28.98
Ejercicios propuestos a)        9+7 *8 – 36 / 5 b)        7*5**3/4 div 3 c)        7* 8 * (160 mod 3**3) div 5 * 13 – 28 d)    15/ 2 * (7+ (68-15*33 + (45 ** 2 /16)/3)/15) + 19
Operadores Relaciónales:   O  Se utilizan para establecer una relación entre dos valores. O  Compara estos valores entre si y esta comparación produce un resultado de certeza o falsedad (verdadero o falso). O  Los operadores relaciónales comparan valores del mismo tipo (numéricos o cadenas) o   Tienen el mismo nivel de prioridad en su evaluación. O  Los operadores relaciónales tiene menor prioridad que los aritméticos.  
> Mayor que < Menor que > = Mayor o igual que < =  Menor o igual que < > Diferente = Igual
Ejemplo: Si a = 10   b = 20 c = 30   a + b > c Falso a - b < c Verdadero a - b = c Falso a * b < > c Verdadero
Ejercicios propuestos: a)  Si  a=5 y b=16 cuál es el resultado de la siguiente expresión: (A**2) > (B*2) b)  Si x=6 y b=7.8 cuál es el resultado de la siguiente expresión: (x*5+b**3/4) <= (x** 3 div b) c) ((1580 mod 6 * 2 **7) > (7+8 * 3 ** 4)
Operadores Lógicos: Estos operadores se utilizan para establecer relaciones entre valores lógicos. Estos valores pueden ser resultado de una expresión relacional. Operadores: And Y Or O Not  Negación  
Operador AND Operando1 Operador Operando2 Resultado T And T T T F F F T F F F F
Operador Or Operando1 Operador Operando2 Resultado T Or T T T F T F T F F F F
Operador Not Operando  Resultado T F F T
Ejemplo: a=10 b=20   c=30   (a < b) and (b < c) (10<20) and (20<30)   T  and  T     T  
Prioridad de los Operadores en General   1.-  ( ) 2.-  ** 3.-  *, /, Mod, div 4.-  +, -,  5.-  >, <, > =, < =, < >, =,  Not, And, Or
Ejemplos: a = 10 b = 12 c = 13 d =10   1) ((a > b)or(a < c)) and ((a = c) or (a > = b))   F   T   F   F T   F   F        
    ((a > = b) or (a < d)) and (( a > = d) and (c > d))   F   F   T   T F     T F
Ejercicios propuestos: a)   not (15 >= 7 **2) or (43-8*2 div 4 <> 3 * 2 div 2) b)(15 > = 7*3**2 and 8>3 and 15 > 6) or not (7*3 < 5 + 12 * 2 div 3 **2) c)   not ((7*3 div 2 * 4 ) > (15/2 *6 >= 15 * 2 / 17 = 15))
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 posición en la memoria de la computadora, que nos permite acceder a su contenido. Ejemplo: Nombre Num_hrs Calif2
Reglas para formar un Identificador Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no deben contener espacios en blanco. Letras, dígitos y caracteres como la subraya ( _ ) están permitidos después del primer carácter. La longitud de identificadores puede ser de hasta 8 caracteres.
Constante Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.  Ejemplo: pi = 3.1416
Variable Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la ejecución de un proceso, su contenido puede cambiar durante la ejecución del programa.
Clasificación de las variables Variables Por su contenido Por su uso Numéricas Lógicas Alfanuméricas De trabajo Contadores Acumuladores
Numéricas Son aquellas en las cuales se almacenan valores numéricos, positivos o negativos, es decir almacenan números del 0 al 9, signos (+ y -) y el punto decimal. Ejemplo: iva=0.15 pi=3.1416 costo=2500
Lógicas Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el resultado de una comparación  entre otros datos.
Alfanuméricas Esta formada por caracteres alfanuméricos (letras, números y caracteres especiales).  Ejemplo: letra=’a’,apellido=’lopez’,direccion=’Av. Libertad  #190’
De trabajo Variables que reciben el resultado de una operación matemática completa y que se usan normalmente dentro de un programa.  Ejemplo: suma=a+b/c
Contadores Se utilizan para llevar el control del numero de ocasiones en que se realiza una operación o se cumple una condición. Con los incrementos generalmente de uno en uno.
Acumuladores Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente.
Operaciones con variables Asignación: La asignación 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
Lectura La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor. Esta operación se representa en un pseudocodigo como sigue: Leer a, b Donde “a” y “b” son las variables que recibirán los valores
Escritura Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje. Este proceso se representa en un pseudocodigo como sigue: Escribir “El resultado es:”, R
Fuentes Bibliográficas Cairó, O. (2001) Metodología de la Programación. Tomo I Computec. López, L.(2006) Metodología de la Programación Orientada a Objetos. Alfaomega.

Unidad i

  • 1.
    ALGORÍTMICA Clase MayorInicio Método Principal Inicio Leer num1, num2, num3 Si (num1 > num2) and (num1 > num3) entonces mayor = num1 si no Si (num2 > num1) and (num2 > num3) entonces mayor = num2 si no mayor = num3 fin-si fin-si Imprimir mayor Fin \\Método Fin\\ Clase M.T.E. María Luisa Velasco Ramírez
  • 2.
    CONCEPTO BÁSICOS M.T.E.María Luisa Velasco Ramírez
  • 3.
    OBJETIVO: El estudiante:Identificará la terminología relacionada con los algoritmos. Describirá la metodología de programación en cada una de sus etapas. Identificará las reglas para cambiar formulas matemáticas a expresiones validas para la computadora, además de diferenciar constantes e identificadores y tipos de datos simples.
  • 4.
    A las solucionescreadas por computadora se les conoce como: PROGRAMAS
  • 5.
    Computadora: Es undispositivo electrónico utilizado para procesar información y obtener resultados.
  • 6.
    Proceso de informaciónen la computadora Programa COMPUTADORA Datos de Entrada Datos de Salida
  • 7.
    Programa Es elconjunto de instrucciones escritas de algún lenguaje de programación y que ejecutadas secuencialmente resuelven un problema especifico.
  • 8.
    Lenguaje de programaciónEs un conjunto de símbolos, caracteres y reglas que les permiten a las personas comunicarse con la computadora
  • 9.
    Los lenguajes deprogramación se clasifican en: Máquina Bajo Nivel Alto Nivel
  • 10.
    Algorítmo Un algoritmoes el conjunto de operaciones y procedimientos que deben seguirse para resolver un problema. Mohamed Ibn Moussa Al Kow Rizmi Fibonacci introdujo la palabra Algoritmi dicit
  • 11.
    Diferencia entre ellenguaje algorítmico y el informático. El lenguaje algorítmico es aquel por medio del cual se realiza un análisis previo del problema a resolver y se encuentra un método que permita resolverlo.
  • 12.
    El lenguaje informático es aquel por medio del cual dicho algoritmo se codifica a un sistema comprensible por la computadora.
  • 13.
    Tipos de LenguajesAlgoritmicos Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).
  • 14.
    No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocódigo).
  • 15.
    Metodologíapara la solución de problemas por medio de computadora
  • 16.
    Definición del problemaAnálisis del problema Diseño del Algoritmo Codificación Prueba y Depuración Documentación Mantenimiento
  • 17.
    La documentación se divide en tres partes: Documentación Interna : Son los comentarios o mensajes que se añaden al código fuente para hacer mas claro el entendimiento de un proceso.
  • 18.
    Documentación Externa :Se define en un documento escrito los siguientes puntos: Descripción del Problema Nombre del Autor Algoritmo (diagrama de flujo o pseudocodigo) Diccionario de Datos Código Fuente (programa)
  • 19.
    Manual del Usuario: Describe paso a paso la manera como funciona el programa, con el fin de que el usuario obtenga el resultado deseado.
  • 20.
    Tipos de datosSimples Estructurados Numéricos Lógicos Alfanuméricos Arreglos (vectores, matrices) Registros Archivos Apuntadores
  • 21.
    Expresiones: Las expresionesson combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Por ejemplo: a+(b + 3)/c
  • 22.
    Clasificación de lasexpresiones: Aritméticas Relaciónales Lógicas
  • 23.
    Operadores Aritméticos + Suma - Resta * Multiplicación / División Mod Modulo (residuo de la división entera )
  • 24.
    Prioridad o Precedencia de los Operadores Aritméticos Todas las expresiones entre paréntesis se evalúan primero. Las expresiones con paréntesis anidados se evalúan de adentro hacia afuera, es decir, el paréntesis más interno se evalúa primero. Dentro de una misma expresión los operadores se evalúan en el siguiente orden.
  • 25.
    1.- ** Exponenciación2.- *, /, mod, div Multiplicación, división, modulo, división entera. 3.- +, - Suma y resta. Los operadores en una misma expresión con igual nivel de prioridad se evalúan de izquierda a derecha.
  • 26.
    Ejemplos 4 +2 * 5 = 14 3 + 5 * (10 - (2 + 4)) = 23 2.1 * (1.5 + 3.0 * 4.1) = 28.98
  • 27.
    Ejercicios propuestos a)      9+7 *8 – 36 / 5 b)       7*5**3/4 div 3 c)       7* 8 * (160 mod 3**3) div 5 * 13 – 28 d)    15/ 2 * (7+ (68-15*33 + (45 ** 2 /16)/3)/15) + 19
  • 28.
    Operadores Relaciónales: O Se utilizan para establecer una relación entre dos valores. O Compara estos valores entre si y esta comparación produce un resultado de certeza o falsedad (verdadero o falso). O Los operadores relaciónales comparan valores del mismo tipo (numéricos o cadenas) o Tienen el mismo nivel de prioridad en su evaluación. O Los operadores relaciónales tiene menor prioridad que los aritméticos.  
  • 29.
    > Mayor que< Menor que > = Mayor o igual que < = Menor o igual que < > Diferente = Igual
  • 30.
    Ejemplo: Si a= 10 b = 20 c = 30   a + b > c Falso a - b < c Verdadero a - b = c Falso a * b < > c Verdadero
  • 31.
    Ejercicios propuestos: a) Si a=5 y b=16 cuál es el resultado de la siguiente expresión: (A**2) > (B*2) b) Si x=6 y b=7.8 cuál es el resultado de la siguiente expresión: (x*5+b**3/4) <= (x** 3 div b) c) ((1580 mod 6 * 2 **7) > (7+8 * 3 ** 4)
  • 32.
    Operadores Lógicos: Estosoperadores se utilizan para establecer relaciones entre valores lógicos. Estos valores pueden ser resultado de una expresión relacional. Operadores: And Y Or O Not Negación  
  • 33.
    Operador AND Operando1Operador Operando2 Resultado T And T T T F F F T F F F F
  • 34.
    Operador Or Operando1Operador Operando2 Resultado T Or T T T F T F T F F F F
  • 35.
    Operador Not Operando Resultado T F F T
  • 36.
    Ejemplo: a=10 b=20 c=30   (a < b) and (b < c) (10<20) and (20<30) T and T   T  
  • 37.
    Prioridad de losOperadores en General 1.- ( ) 2.- ** 3.- *, /, Mod, div 4.- +, -, 5.- >, <, > =, < =, < >, =, Not, And, Or
  • 38.
    Ejemplos: a =10 b = 12 c = 13 d =10   1) ((a > b)or(a < c)) and ((a = c) or (a > = b)) F T F F T F F        
  • 39.
        ((a> = b) or (a < d)) and (( a > = d) and (c > d)) F F T T F T F
  • 40.
    Ejercicios propuestos: a)  not (15 >= 7 **2) or (43-8*2 div 4 <> 3 * 2 div 2) b)(15 > = 7*3**2 and 8>3 and 15 > 6) or not (7*3 < 5 + 12 * 2 div 3 **2) c) not ((7*3 div 2 * 4 ) > (15/2 *6 >= 15 * 2 / 17 = 15))
  • 41.
    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 posición en la memoria de la computadora, que nos permite acceder a su contenido. Ejemplo: Nombre Num_hrs Calif2
  • 42.
    Reglas para formarun Identificador Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no deben contener espacios en blanco. Letras, dígitos y caracteres como la subraya ( _ ) están permitidos después del primer carácter. La longitud de identificadores puede ser de hasta 8 caracteres.
  • 43.
    Constante Una constantees un dato numérico o alfanumérico que no cambia durante la ejecución del programa. Ejemplo: pi = 3.1416
  • 44.
    Variable Es unespacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la ejecución de un proceso, su contenido puede cambiar durante la ejecución del programa.
  • 45.
    Clasificación de lasvariables Variables Por su contenido Por su uso Numéricas Lógicas Alfanuméricas De trabajo Contadores Acumuladores
  • 46.
    Numéricas Son aquellasen las cuales se almacenan valores numéricos, positivos o negativos, es decir almacenan números del 0 al 9, signos (+ y -) y el punto decimal. Ejemplo: iva=0.15 pi=3.1416 costo=2500
  • 47.
    Lógicas Son aquellasque solo pueden tener dos valores (cierto o falso) estos representan el resultado de una comparación entre otros datos.
  • 48.
    Alfanuméricas Esta formadapor caracteres alfanuméricos (letras, números y caracteres especiales). Ejemplo: letra=’a’,apellido=’lopez’,direccion=’Av. Libertad #190’
  • 49.
    De trabajo Variablesque reciben el resultado de una operación matemática completa y que se usan normalmente dentro de un programa. Ejemplo: suma=a+b/c
  • 50.
    Contadores Se utilizanpara llevar el control del numero de ocasiones en que se realiza una operación o se cumple una condición. Con los incrementos generalmente de uno en uno.
  • 51.
    Acumuladores Forma quetoma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente.
  • 52.
    Operaciones con variablesAsignación: La asignación 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
  • 53.
    Lectura La lecturaconsiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor. Esta operación se representa en un pseudocodigo como sigue: Leer a, b Donde “a” y “b” son las variables que recibirán los valores
  • 54.
    Escritura Consiste enmandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje. Este proceso se representa en un pseudocodigo como sigue: Escribir “El resultado es:”, R
  • 55.
    Fuentes Bibliográficas Cairó,O. (2001) Metodología de la Programación. Tomo I Computec. López, L.(2006) Metodología de la Programación Orientada a Objetos. Alfaomega.