ALGORITMOS  Y ESTRUCTURAS  DE  DATOS Profesor: Ing. Luis Vaca 2009 Escuela Superior Politécnica de Chimborazo Facultad de Ingeniería Mecánica Escuela de Industrial  Area de Ciencias Básicas
GENERALIDADES DATO Es la representación simbólica de un hecho, atributo o característica de una entidad. Ejm : nota de un alumno, nombre de un docente, color de un carro, etc. INFORMACION Es un  dato  útil. Ejm. El promedio final de un alumno para un curso, número de aprobados en un examen, nombre de los primeros alumnos de cada especialidad por cada ciclo. La información se obtiene mediante el procesamiento de los datos
Procesador Entrada Salida Algoritmo DATOS INFORMACION  Es realizado por el   procesador   el cual  ejecuta un conjunto de pasos previamente definidos ( algoritmo )  El procesamiento de datos puede ser:   Manual    Mecanizada  (uso de calculadora, sumadora, etc)   Automatizado  (uso del computador) PROCESAMIENTO DE DATOS Operaciones que transforman  datos  en  información
PROCESAMIENTO DE DATOS AUTOMATIZADO Entrada DATOS Salida INFORMACION Programa Algoritmo Procesador
Elementos del Computador + HARDWARE (elem.físicos) SOFTWARE (programa)
HARDWARE  (componentes físicos) Unidades  Periféricas De Entrada Ejem. Teclado Mouse Escaner, etc Unidades Periféricas De Salida Ejm. Impresora Monitor, Parlantes, etc. Unidades de Almacenamiento . Ejem. Disquete, Discos compactos, Discos duros, etc.  Unidad de Control   Unidad Aritmética Y Lógica Memoria Principal RAM  y  ROM UNIDAD CENTRAL DE PROCESO
SOFTWARE  (Conjunto de Programas) TIPOS DE SOFTWARE : Sistemas operativos   Ejm. DOS, Windows, Linux, etc. Aplicaciones de uso general   Ejm. Word, Excel, Power Point, etc. Aplicaciones de uso específico   Ejm.  sistema de notas,  sistema de facturación, etc) Programa 1 Programa 2 Programa 3 MEMORIA RAM
FASES  PARA  LA  CONSTRUCCION  DE  UN  PROGRAMA SOLUCION DEL  PROBLEMA IMPLEMENTACION EN  LA  COMPUTADORA Datos Algoritmo Programa (Software) Análisis del  problema Diseño del  algoritmo Verificación  del algoritmo Error de lógica OK Codificación  del algoritmo  ( programa ) Ejecución del  programa Verificación del  programa Programa  Error sintaxis OK Algoritmo
ALGORITMO  Secuencia ordenada de pasos (acciones) para resolver un problema.  Se expresa en lenguaje natural PROGRAMA Es el algoritmo   escrito en un  lenguaje de programación  para ser ejecutado por el computador. Tipos de lenguajes de Programación:      Lenguaje de alto nivel :  lenguaje similar al lenguaje natural. Son fáciles de escribir. Es el mas usado por los programadores. Ejm. C++, Pascal, Basic, Prolog, Java, etc    Lenguaje de bajo nivel : lenguaje mnemotécnico. Ejm. ADD  M, N, P    Lenguaje de máquina : lenguaje binario (0 y 1) entendible directamente por el computador. Ejm. 0110 1001 1010 1011
TIPOS DE PROGRAMAS  (según el Lenguaje de Programación) PROGRAMA FUENTE (PF) Programa escrito en lenguaje de alto o bajo nivel.  PROGRAMA OBJETO (PO) :   Programa escrito en lenguaje de máquina. Es el que ejecuta el computador. TRADUCTORES DE LENGUAJE Programas que traducen programas fuente a lenguaje de máquina. Programa Fuente Compilador ProgramaObjeto  Programa Fuente Intérprete Ejecución del Programa Instrucción en leng.máq. Ejecución de  la Instrucción Tipos de Traductores:  Compiladores e Intérpretes instrucción
D A T O S
Tipos de Datos  (reconocidos por el computador) : DATOS BASICOS COMPUESTOS Numéricos Caracter Lógico Estático Dinámico -Arreglos  -Registros  -Archivos -Listas  -Arboles  -Grafos -Enteros -Reales
DATOS SIMPLES O DATOS BASICOS DATOS NUMERICOS Enteros  y  Reales El rango y precisión de los datos numéricos depende del lenguaje de programación que se utilice. DATOS TIPO CARACTER Conjunto de caracteres que el computador reconoce. Se encuentran normalizados bajo el código ASCII o EBCDIC Se tienen: Caracteres alfabéticos: A - Z ; a - z Caracteres numéricos: 0 - 9 Caracteres especiales: *, / , +, >, <, =,  etc. DATOS TIPO LOGICO Conjunto formado por dos valores lógicos: verdad, falso
Operaciones con los datos Dato Numérico Aritméticos +, - , *, /,   resto, entero Datos Numéricos ARITMETICAS Dato lógico Lógicos No, Y, O Datos lógicos LOGICAS Dato Lógico Relacionales >, <, >=, <=, = Datos del mismo tipo DE COMPARACION RESULTADO OPERADORES INTERVIENEN OPERACIONES
IMPORTANTE: En operaciones aritméticas : Muchos lenguajes cuentan con operadores adicionales a los conocidos como los operadores para datos enteros: entero  (a/b): división entera de a/b  resto  (a/b): resto de la división entera de a/b Ejm . 10+ resto(5/3) Resultado: 12 En operaciones de Comparación : En la comparación de datos tipo carácter se tiene: ‘ 0’<‘1’<‘2’<..<’9’<‘A’<‘B’<…<‘Z’<‘a’<‘b’<..<‘z’ En datos tipo lógico:    falso < verdad
Expresión de los datos Un dato puede venir expresado como: constantes, variables, expresiones, funciones, etc. CONSTANTE Es un dato (de cualquier tipo) cuyo valor no cambia durante la ejecución del algoritmo o programa. Tipos de constantes:      Literal :  es un valor expresado en forma explícita.  Ejm.  3.1416      Simbólica : viene expresado bajo un nombre que guarda su valor Ejm.  Pi  (Previamente se debe definir que  Pi = 3.1416 )
VARIABLE    Es un objeto (porción de memoria) que almacena un dato    Para definir una variable es necesario:   -  Darle un Nombre    -  Indicar el tipo de dato que va almacenar OJO :  El valor de una variable puede cambiar  durante la ejecución del algoritmo. Tipos de variables : Entero: Ejm. nota, edad, examen,  Real: Ejm. promedio, sueldo, talla Carácter: Ejm. sección, sexo,  Lógica: Ejm. Fin, encontrado, vale
Operador de asignación Se utiliza para  almacenar un dato en una variable,  perdiéndose cualquier otro valor  previamente almacenado en ella. Se representa con el símbolo    Ejem .  Nota      12.3      Nota    Nota +2  12.3 Nota Memoria RAM 14.3
EXPRESIONES Es una combinación de operandos y operadores Tipos:      Expresiones aritméticas  Operando:  constantes, variables y expres. numér. Operadores:  aritméticos Resultado: numérico Ejm.  (EP + 2*EF + PP)/4      Expresiones lógicas Operando: constantes, variables y expres. lógicas Operadores: lógicos y relacionales Resultado: lógico Ejm. (PP>6.1 y PF>6.1)
FUNCIONES Son programas predefinidas que: - Tienen un  nombre  con el cual se les invoca y - Aceptan datos y devuelven un resultado. Generalmente los lenguajes de programación poseen funciones matemáticas, de cadenas y otros. Ejm. En C++ Abs (X): devuelve el valor absoluto del número entero X Sqrt (X): devuelve la raiz cuadrada del número X (X>=0) Identificadores Son los  nombres  que se le dan a las constantes simbólicas, variables, funciones y otros. Constan de una cadena de caracteres que debe empezar con una letra. Deben ser significativos sugiriendo lo que representa.
ACUMULADOR Es una variable cuyo valor aumenta o disminuye en una  cantidad variable  cada vez que se produce un determinado suceso o acción. Debe ser inicializado  Ejm. Se desea acumular las notas de prácticas de un alumno Sum   0 (el valor de sum es 0) sum    sum + 13 (el valor de sum es 13) sum    sum + 10  (el valor de sum es 23) CONTADOR Es un acumulador  cuyo valor aumenta o disminuye en una  cantidad constante  cada vez que se produce un determinado suceso o acción. Se usa para contar sucesos. Ejm. Contar número de aprobados VARIABLES IMPORTANTES
DISEÑO  DE  ALGORITMOS
ALGORITMO Secuencia ordenada de pasos o acciones o instrucciones  que se debe ejecutar para realizar una tarea o para resolver un problema. Es expresado en lenguaje natural utilizando herramientas estandarizadas. Características de un algoritmo Preciso:  El algoritmo debe indicar el orden en que se debe realizar cada paso. Finito : El algoritmo tiene un número finito de pasos y debe terminar en algún momento. Bien definido : Si el algoritmo se prueba dos veces con los mismos datos de entrada, se debe obtener el mismo resultado.
TECNICA DE PROGRAMACION ESTRUCTURADA   Conjunto de  técnicas para desarrollar algoritmos fáciles de escribir, leer, verificar y modificar.       Diseño Modular ( Top-down   )   En problemas grandes y complejos: dividir el problema  en  subproblemas y diseñar un subprograma  para  resolver cada uno de ellos      Descomposición del programa en recursos abstractos Descompone una acción compleja en acciones simples  capaces de ser ejecutadas por un computador  (   instrucciones )      Estructuras de control básicas Un programa se escribe utilizando 3 estructuras de  control: EC Secuenciales, EC Selectivas, EC Repetitivas
INSTRUCCIONES Son las acciones que van a ser ejecutadas por el computador para resolver el problema. TIPOS  : Instrucciones de Inicio/Fin   :  Indica el Inicio y el Fin del algoritmo Instrucciones de lectura :  Solicita al usuario el ingreso de datos desde un dispositivo de entrada por ejemplo el teclado. Instrucciones de escritura :  Muestra los resultados a través de un dispositivo de salida por ejemplo la pantalla, impresora, etc.
Instrucciones de asignación :  Almacena un valor en una variable, perdiéndose cualquier otro valor almacenado en ella. Instrucciones selectivas :  Permiten ejecutar unas u otras tareas de acuerdo al resultado de una expresión condicional Instrucciones repetitivas :   Permiten la repetición de un grupo de instrucciones, generando un bucle (lazo o loop).
EJEMPLO DE ALGORITMO Se cuenta con las notas del EP, EF y PP de un alumno.  Se sabe que el promedio final (PF) se calcula con la fórmula:  PF=(EP+ PP+2EF)/4  Si el alumno cumple con la siguiente condición:  PP>6.1 y   PF> 6.1 tiene opción a rendir un examen sustitutorio (ES) Escriba un algoritmo reciba las notas del alumno y luego muestre un mensaje indicando si el alumno  puede  rendir o  no puede rendir  el ES.  En el caso que ya no pueda rendir el ES, debe mostrar también el PF
Análisis Datos de entrada : EP, EF, PP Salida: mensaje y PF (si no puede rendir ES) Algoritmo Inicio del algoritmo   Ingresar las notas del alumno: EP, EF y PP   Calcular PF con la siguiente fórmula:   PF = (EP + 2EF + PP)/4   Si cumple la condición PP> 6.1 y PF>6.1entonces mostrar   el mensaje “Puede rendir el ES”   Si no cumple la condición entonces mostrar el mensaje “No   puede rendir ES” y mostrar  PF Fin del algoritmo .
HERRAMIENTAS PARA LA  REPRESENTACION DE ALGORITMOS Para representar los algoritmos en forma estandarizada, existen herramientas como:      Diagrama de flujo Técnica tipo gráfico      Pseudocódigo Lenguaje de especificación (palabras reservadas) en  lenguaje natural       Diagrama de Nassi-Scheneiderman Es una combinación de las dos anteriores
DIAGRAMA DE FLUJO PSEUDOCODIGO Símbolos Significado Palabras reservadas Inicio / Fin Lectura / Escritura Proceso Selectiva Proceso repetitivo Inicio / Fin Dirección o flujo Leer / Escribir Si - entonces + - * /   Mientras/ desde/Repetir
El algoritmo en Diagrama de Flujo Inicio Leer EP,EF, PP   PF=(EP+PP+2*EF)/4 PP>6.1 y PF>6.1 Escribir   “Puede  rendir   ES” Escribir   “No puede  rendir   ES” Fin Escribir “La nota final  es: “ , PF
Escritura de un algoritmo en pseudocódigo CABECERA Contiene el nombre del algoritmo (opcional) Constantes Nombre-constante = valor Variables Tipo-dato: nombre de variables BLOQUE DE DECLARACIONES   Se utilizan para asignar espacios en la RAM Se declaran:   Constantes  (opcional),   Variables  (obligatorio),     Otros   definidos por el usuario (opc.) BLOQUE DE INSTRUCCIONES Inicio/Fin Lectura Leer  ( lista de variables) Escritura Escribir  ( resultado) Asignación nombre de la variable    valor ó expresión Comentarios  (no se ejecutan) Sirven para escribir información interna para facilitar el mantenimiento del algoritmo.  Formato:  // comentario  a Algoritmo  nombre del algoritmo Inicio instrucciones Fin
El algoritmo en Pseudocódigo Algoritmo  PROMEDIO Variables entero: EP, EF real: PP, PF Inicio Leer (EP, EF, PP) PF    (EP+PP+2*EF)/4  // Calcula PF Si (PP>6.1 y PF>6.1)   Escribir ( “Puede rendir el ES”) sino   Escribir (“No puede rendir el ES”)   Escribir (“La nota final es: “, PF) Fin-si Fin Cabecera del algoritmo Bloque de declaraciones Bloque de Instrucciones
ESTRUCTURAS DE CONTROL Un algoritmo debe ser escrito utilizando tres estructuras  de control: E.C. Secuencial Simple E.C. Selectiva Doble Múltiple  Desde E.C. Múltiple Mientras Repetir - hasta
Estructura SECUENCIAL Las acciones del algoritmo se ejecutan en el orden que se encuentran escritos. acción 1 acción 2 acción 3       -------       ------- acción n
Estructuras Selectivas La ejecución de las acciones dependen del resultado de una  condición. Se tienen tres tipos de estructuras selectivas: 1.  SELECTIVA SIMPLE Las acciones se ejecutan si la condición es verdadera . condición acciones V F Pseudocódigo Si ( condición) acción1 acción 2 ……… acción n fin-si
2. SELECTIVA DOBLE Si la condición es  Verdadera  se ejecutan unas acciones.  Si la condición es  Falsa   se ejecutan otras acciones  condición Acciones-F Acciones-V V F Pseudocódigo Si  (condición) acciones 1 Sino acciones 2 Fin-si
 

Algoritmosconeptosbasicos 1

  • 1.
    ALGORITMOS YESTRUCTURAS DE DATOS Profesor: Ing. Luis Vaca 2009 Escuela Superior Politécnica de Chimborazo Facultad de Ingeniería Mecánica Escuela de Industrial Area de Ciencias Básicas
  • 2.
    GENERALIDADES DATO Esla representación simbólica de un hecho, atributo o característica de una entidad. Ejm : nota de un alumno, nombre de un docente, color de un carro, etc. INFORMACION Es un dato útil. Ejm. El promedio final de un alumno para un curso, número de aprobados en un examen, nombre de los primeros alumnos de cada especialidad por cada ciclo. La información se obtiene mediante el procesamiento de los datos
  • 3.
    Procesador Entrada SalidaAlgoritmo DATOS INFORMACION Es realizado por el procesador el cual ejecuta un conjunto de pasos previamente definidos ( algoritmo ) El procesamiento de datos puede ser: Manual Mecanizada (uso de calculadora, sumadora, etc) Automatizado (uso del computador) PROCESAMIENTO DE DATOS Operaciones que transforman datos en información
  • 4.
    PROCESAMIENTO DE DATOSAUTOMATIZADO Entrada DATOS Salida INFORMACION Programa Algoritmo Procesador
  • 5.
    Elementos del Computador+ HARDWARE (elem.físicos) SOFTWARE (programa)
  • 6.
    HARDWARE (componentesfísicos) Unidades Periféricas De Entrada Ejem. Teclado Mouse Escaner, etc Unidades Periféricas De Salida Ejm. Impresora Monitor, Parlantes, etc. Unidades de Almacenamiento . Ejem. Disquete, Discos compactos, Discos duros, etc. Unidad de Control Unidad Aritmética Y Lógica Memoria Principal RAM y ROM UNIDAD CENTRAL DE PROCESO
  • 7.
    SOFTWARE (Conjuntode Programas) TIPOS DE SOFTWARE : Sistemas operativos Ejm. DOS, Windows, Linux, etc. Aplicaciones de uso general Ejm. Word, Excel, Power Point, etc. Aplicaciones de uso específico Ejm. sistema de notas, sistema de facturación, etc) Programa 1 Programa 2 Programa 3 MEMORIA RAM
  • 8.
    FASES PARA LA CONSTRUCCION DE UN PROGRAMA SOLUCION DEL PROBLEMA IMPLEMENTACION EN LA COMPUTADORA Datos Algoritmo Programa (Software) Análisis del problema Diseño del algoritmo Verificación del algoritmo Error de lógica OK Codificación del algoritmo ( programa ) Ejecución del programa Verificación del programa Programa Error sintaxis OK Algoritmo
  • 9.
    ALGORITMO Secuenciaordenada de pasos (acciones) para resolver un problema. Se expresa en lenguaje natural PROGRAMA Es el algoritmo escrito en un lenguaje de programación para ser ejecutado por el computador. Tipos de lenguajes de Programación:  Lenguaje de alto nivel : lenguaje similar al lenguaje natural. Son fáciles de escribir. Es el mas usado por los programadores. Ejm. C++, Pascal, Basic, Prolog, Java, etc  Lenguaje de bajo nivel : lenguaje mnemotécnico. Ejm. ADD M, N, P  Lenguaje de máquina : lenguaje binario (0 y 1) entendible directamente por el computador. Ejm. 0110 1001 1010 1011
  • 10.
    TIPOS DE PROGRAMAS (según el Lenguaje de Programación) PROGRAMA FUENTE (PF) Programa escrito en lenguaje de alto o bajo nivel. PROGRAMA OBJETO (PO) : Programa escrito en lenguaje de máquina. Es el que ejecuta el computador. TRADUCTORES DE LENGUAJE Programas que traducen programas fuente a lenguaje de máquina. Programa Fuente Compilador ProgramaObjeto Programa Fuente Intérprete Ejecución del Programa Instrucción en leng.máq. Ejecución de la Instrucción Tipos de Traductores: Compiladores e Intérpretes instrucción
  • 11.
    D A TO S
  • 12.
    Tipos de Datos (reconocidos por el computador) : DATOS BASICOS COMPUESTOS Numéricos Caracter Lógico Estático Dinámico -Arreglos -Registros -Archivos -Listas -Arboles -Grafos -Enteros -Reales
  • 13.
    DATOS SIMPLES ODATOS BASICOS DATOS NUMERICOS Enteros y Reales El rango y precisión de los datos numéricos depende del lenguaje de programación que se utilice. DATOS TIPO CARACTER Conjunto de caracteres que el computador reconoce. Se encuentran normalizados bajo el código ASCII o EBCDIC Se tienen: Caracteres alfabéticos: A - Z ; a - z Caracteres numéricos: 0 - 9 Caracteres especiales: *, / , +, >, <, =, etc. DATOS TIPO LOGICO Conjunto formado por dos valores lógicos: verdad, falso
  • 14.
    Operaciones con losdatos Dato Numérico Aritméticos +, - , *, /, resto, entero Datos Numéricos ARITMETICAS Dato lógico Lógicos No, Y, O Datos lógicos LOGICAS Dato Lógico Relacionales >, <, >=, <=, = Datos del mismo tipo DE COMPARACION RESULTADO OPERADORES INTERVIENEN OPERACIONES
  • 15.
    IMPORTANTE: En operacionesaritméticas : Muchos lenguajes cuentan con operadores adicionales a los conocidos como los operadores para datos enteros: entero (a/b): división entera de a/b resto (a/b): resto de la división entera de a/b Ejm . 10+ resto(5/3) Resultado: 12 En operaciones de Comparación : En la comparación de datos tipo carácter se tiene: ‘ 0’<‘1’<‘2’<..<’9’<‘A’<‘B’<…<‘Z’<‘a’<‘b’<..<‘z’ En datos tipo lógico: falso < verdad
  • 16.
    Expresión de losdatos Un dato puede venir expresado como: constantes, variables, expresiones, funciones, etc. CONSTANTE Es un dato (de cualquier tipo) cuyo valor no cambia durante la ejecución del algoritmo o programa. Tipos de constantes:  Literal : es un valor expresado en forma explícita. Ejm. 3.1416  Simbólica : viene expresado bajo un nombre que guarda su valor Ejm. Pi (Previamente se debe definir que Pi = 3.1416 )
  • 17.
    VARIABLE  Es un objeto (porción de memoria) que almacena un dato  Para definir una variable es necesario: - Darle un Nombre - Indicar el tipo de dato que va almacenar OJO : El valor de una variable puede cambiar durante la ejecución del algoritmo. Tipos de variables : Entero: Ejm. nota, edad, examen, Real: Ejm. promedio, sueldo, talla Carácter: Ejm. sección, sexo, Lógica: Ejm. Fin, encontrado, vale
  • 18.
    Operador de asignaciónSe utiliza para almacenar un dato en una variable, perdiéndose cualquier otro valor previamente almacenado en ella. Se representa con el símbolo  Ejem . Nota  12.3 Nota  Nota +2 12.3 Nota Memoria RAM 14.3
  • 19.
    EXPRESIONES Es unacombinación de operandos y operadores Tipos:  Expresiones aritméticas Operando: constantes, variables y expres. numér. Operadores: aritméticos Resultado: numérico Ejm. (EP + 2*EF + PP)/4  Expresiones lógicas Operando: constantes, variables y expres. lógicas Operadores: lógicos y relacionales Resultado: lógico Ejm. (PP>6.1 y PF>6.1)
  • 20.
    FUNCIONES Son programaspredefinidas que: - Tienen un nombre con el cual se les invoca y - Aceptan datos y devuelven un resultado. Generalmente los lenguajes de programación poseen funciones matemáticas, de cadenas y otros. Ejm. En C++ Abs (X): devuelve el valor absoluto del número entero X Sqrt (X): devuelve la raiz cuadrada del número X (X>=0) Identificadores Son los nombres que se le dan a las constantes simbólicas, variables, funciones y otros. Constan de una cadena de caracteres que debe empezar con una letra. Deben ser significativos sugiriendo lo que representa.
  • 21.
    ACUMULADOR Es unavariable cuyo valor aumenta o disminuye en una cantidad variable cada vez que se produce un determinado suceso o acción. Debe ser inicializado Ejm. Se desea acumular las notas de prácticas de un alumno Sum  0 (el valor de sum es 0) sum  sum + 13 (el valor de sum es 13) sum  sum + 10 (el valor de sum es 23) CONTADOR Es un acumulador cuyo valor aumenta o disminuye en una cantidad constante cada vez que se produce un determinado suceso o acción. Se usa para contar sucesos. Ejm. Contar número de aprobados VARIABLES IMPORTANTES
  • 22.
    DISEÑO DE ALGORITMOS
  • 23.
    ALGORITMO Secuencia ordenadade pasos o acciones o instrucciones que se debe ejecutar para realizar una tarea o para resolver un problema. Es expresado en lenguaje natural utilizando herramientas estandarizadas. Características de un algoritmo Preciso: El algoritmo debe indicar el orden en que se debe realizar cada paso. Finito : El algoritmo tiene un número finito de pasos y debe terminar en algún momento. Bien definido : Si el algoritmo se prueba dos veces con los mismos datos de entrada, se debe obtener el mismo resultado.
  • 24.
    TECNICA DE PROGRAMACIONESTRUCTURADA Conjunto de técnicas para desarrollar algoritmos fáciles de escribir, leer, verificar y modificar.  Diseño Modular ( Top-down ) En problemas grandes y complejos: dividir el problema en subproblemas y diseñar un subprograma para resolver cada uno de ellos  Descomposición del programa en recursos abstractos Descompone una acción compleja en acciones simples capaces de ser ejecutadas por un computador ( instrucciones )  Estructuras de control básicas Un programa se escribe utilizando 3 estructuras de control: EC Secuenciales, EC Selectivas, EC Repetitivas
  • 25.
    INSTRUCCIONES Son lasacciones que van a ser ejecutadas por el computador para resolver el problema. TIPOS : Instrucciones de Inicio/Fin : Indica el Inicio y el Fin del algoritmo Instrucciones de lectura : Solicita al usuario el ingreso de datos desde un dispositivo de entrada por ejemplo el teclado. Instrucciones de escritura : Muestra los resultados a través de un dispositivo de salida por ejemplo la pantalla, impresora, etc.
  • 26.
    Instrucciones de asignación: Almacena un valor en una variable, perdiéndose cualquier otro valor almacenado en ella. Instrucciones selectivas : Permiten ejecutar unas u otras tareas de acuerdo al resultado de una expresión condicional Instrucciones repetitivas : Permiten la repetición de un grupo de instrucciones, generando un bucle (lazo o loop).
  • 27.
    EJEMPLO DE ALGORITMOSe cuenta con las notas del EP, EF y PP de un alumno. Se sabe que el promedio final (PF) se calcula con la fórmula: PF=(EP+ PP+2EF)/4 Si el alumno cumple con la siguiente condición: PP>6.1 y PF> 6.1 tiene opción a rendir un examen sustitutorio (ES) Escriba un algoritmo reciba las notas del alumno y luego muestre un mensaje indicando si el alumno puede rendir o no puede rendir el ES. En el caso que ya no pueda rendir el ES, debe mostrar también el PF
  • 28.
    Análisis Datos deentrada : EP, EF, PP Salida: mensaje y PF (si no puede rendir ES) Algoritmo Inicio del algoritmo Ingresar las notas del alumno: EP, EF y PP Calcular PF con la siguiente fórmula: PF = (EP + 2EF + PP)/4 Si cumple la condición PP> 6.1 y PF>6.1entonces mostrar el mensaje “Puede rendir el ES” Si no cumple la condición entonces mostrar el mensaje “No puede rendir ES” y mostrar PF Fin del algoritmo .
  • 29.
    HERRAMIENTAS PARA LA REPRESENTACION DE ALGORITMOS Para representar los algoritmos en forma estandarizada, existen herramientas como:  Diagrama de flujo Técnica tipo gráfico  Pseudocódigo Lenguaje de especificación (palabras reservadas) en lenguaje natural  Diagrama de Nassi-Scheneiderman Es una combinación de las dos anteriores
  • 30.
    DIAGRAMA DE FLUJOPSEUDOCODIGO Símbolos Significado Palabras reservadas Inicio / Fin Lectura / Escritura Proceso Selectiva Proceso repetitivo Inicio / Fin Dirección o flujo Leer / Escribir Si - entonces + - * /  Mientras/ desde/Repetir
  • 31.
    El algoritmo enDiagrama de Flujo Inicio Leer EP,EF, PP PF=(EP+PP+2*EF)/4 PP>6.1 y PF>6.1 Escribir “Puede rendir ES” Escribir “No puede rendir ES” Fin Escribir “La nota final es: “ , PF
  • 32.
    Escritura de unalgoritmo en pseudocódigo CABECERA Contiene el nombre del algoritmo (opcional) Constantes Nombre-constante = valor Variables Tipo-dato: nombre de variables BLOQUE DE DECLARACIONES Se utilizan para asignar espacios en la RAM Se declaran: Constantes (opcional), Variables (obligatorio), Otros definidos por el usuario (opc.) BLOQUE DE INSTRUCCIONES Inicio/Fin Lectura Leer ( lista de variables) Escritura Escribir ( resultado) Asignación nombre de la variable  valor ó expresión Comentarios (no se ejecutan) Sirven para escribir información interna para facilitar el mantenimiento del algoritmo. Formato: // comentario a Algoritmo nombre del algoritmo Inicio instrucciones Fin
  • 33.
    El algoritmo enPseudocódigo Algoritmo PROMEDIO Variables entero: EP, EF real: PP, PF Inicio Leer (EP, EF, PP) PF  (EP+PP+2*EF)/4 // Calcula PF Si (PP>6.1 y PF>6.1) Escribir ( “Puede rendir el ES”) sino Escribir (“No puede rendir el ES”) Escribir (“La nota final es: “, PF) Fin-si Fin Cabecera del algoritmo Bloque de declaraciones Bloque de Instrucciones
  • 34.
    ESTRUCTURAS DE CONTROLUn algoritmo debe ser escrito utilizando tres estructuras de control: E.C. Secuencial Simple E.C. Selectiva Doble Múltiple Desde E.C. Múltiple Mientras Repetir - hasta
  • 35.
    Estructura SECUENCIAL Lasacciones del algoritmo se ejecutan en el orden que se encuentran escritos. acción 1 acción 2 acción 3 ------- ------- acción n
  • 36.
    Estructuras Selectivas Laejecución de las acciones dependen del resultado de una condición. Se tienen tres tipos de estructuras selectivas: 1. SELECTIVA SIMPLE Las acciones se ejecutan si la condición es verdadera . condición acciones V F Pseudocódigo Si ( condición) acción1 acción 2 ……… acción n fin-si
  • 37.
    2. SELECTIVA DOBLESi la condición es Verdadera se ejecutan unas acciones. Si la condición es Falsa se ejecutan otras acciones condición Acciones-F Acciones-V V F Pseudocódigo Si (condición) acciones 1 Sino acciones 2 Fin-si
  • 38.