Algoritmos Y Estructuras de Datos: Escuela Superior Politécnica de Chimborazo
Algoritmos Y Estructuras de Datos: Escuela Superior Politécnica de Chimborazo
ALGORITMOS Y
ESTRUCTURAS DE DATOS
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.
DATOS INFORMACION
Procesador
Entrada Salida
Algoritmo
Procesador
DATOS INFORMACION
Entrada Salida
Programa
Algoritmo
Elementos del Computador
+
HARDWARE (componentes físicos)
Unidades de
Almacenamiento.
Ejem. Disquete,
Discos compactos,
Discos duros, etc.
SOFTWARE (Conjunto de Programas)
TIPOS DE SOFTWARE:
Programa 1 Programa 2
- Sistemas operativos
Ejm. DOS, Windows, Linux, etc.
Codificación
Análisis del
del algoritmo
problema
(programa)
Algoritmo Programa
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.
TRADUCTORES DE LENGUAJE
Programas que traducen programas fuente a lenguaje de máquina.
Programa Programa
Compilador Ejecución del
Fuente Objeto
Programa
Programa instrucción
Instrucción Ejecución de la
Fuente Intérprete en leng.máq. Instrucción
DATOS
Tipos de Datos (reconocidos por el computador):
DATOS
BASICOS COMPUESTOS
DATOS NUMERICOS
Enteros y Reales
El rango y precisión de los datos numéricos depende del
lenguaje de programación que se utilice.
Aritméticos
ARITMETICAS Datos +, - , *, /, Dato
Numéricos resto, entero Numérico
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
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
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.
Memoria RAM
Se representa con el símbolo
Ejem.
Nota
Nota 12.3
12.3
14.3
Nota Nota +2
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.
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.
VARIABLES IMPORTANTES
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
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
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.
TIPOS :
Instrucciones de Inicio/Fin :
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
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
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
Proceso
+-*/
Selectiva Si - entonces
Proceso Mientras/
repetitivo desde/Repetir
Dirección o flujo
El algoritmo en Diagrama de Flujo
Inicio
Leer EP,EF, PP
PF=(EP+PP+2*EF)/4
PP>6.1 y PF>6.1
Fin
Escritura de un algoritmo en pseudocódigo
CABECERA
aAlgoritmo nombre del algoritmo Contiene el nombre del algoritmo (opcional)
BLOQUE DE DECLARACIONES
Constantes Se utilizan para asignar espacios en la RAM
Nombre-constante = valor Se declaran: Constantes (opcional),
Variables Variables (obligatorio),
Tipo-dato: nombre de variables Otros definidos por el usuario (opc.)
BLOQUE DE INSTRUCCIONES
• Inicio/Fin
Inicio • Lectura
Leer ( lista de variables)
• Escritura
instrucciones Escribir ( resultado)
• Asignación
nombre de la variable valor ó expresión
Variables
entero: EP, EF Bloque de declaraciones
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”) Bloque de
sino Instrucciones
Escribir (“No puede rendir el ES”)
Escribir (“La nota final es: “, PF)
Fin-si
Fin
ESTRUCTURAS DE CONTROL
E.C. Secuencial
Simple
E.C. Selectiva Doble
Múltiple
Desde
E.C. Múltiple Mientras
Repetir - hasta
Estructura SECUENCIAL
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 .
Pseudocódigo
condición
Si (condición)
acción1 V F
acción 2
acciones
………
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
Pseudocódigo
condición
Si (condición) F V
acciones 1
Acciones-F Acciones-V
Sino
acciones 2
Fin-si