Professional Documents
Culture Documents
TELEFONO:
1
Algoritmos y Estructura
de datos
SISTEMAS UNI
SESION 1
Sistemas
Conjunto de elementos dinmicamente relacionados
formando una actividad para alcanzar un objetivo operando
sobre datos, energa y/o materia para proveer informacin.
Sistemas
Caractersticas de los sistemas
Sistema es un todo organizado y complejo; un conjunto o
combinacin de cosas o partes que forman un todo complejo
o unitario. Es un conjunto de objetos unidos por alguna
forma de interaccin o interdependencia.
Tipos de Sistemas
Sistemas
Tipos de Sistemas
Sistema-operativo
Sistemas
Elementos de un Sistemas
Sistemas
Sistema de operaciones para una granja
Terrenos
mano de obra
Edificios
equipo
Habilidades del
agricultor
etc
Clima
Inflacin
Controles gubernamentales
Fallas en equipo
Proceso de
conversin
Productos
Granos
leche
Crema
etc
Insumos
Niveles de inventario
Eficiencia de mano de obra
Volumen de ventas
Sistemas
Sistema de operaciones para una granja
Terrenos
mano de obra
Edificios
equipo
Habilidades del
agricultor
etc
Clima
Inflacin
Controles gubernamentales
Fallas en equipo
Proceso de
conversin
Productos
Granos
leche
Crema
etc
Insumos
Niveles de inventario
Eficiencia de mano de obra
Volumen de ventas
Sistemas de procesamiento
de la informacin.
DATO
Es la representacin simblica de un hecho, atributo o
caracterstica de una entidad.
Ejm: nota de un alumno, nombre de un docente, color de un
carro, etc.
INFORMACION
Es un conjunto de datos que tiene realacin.
Ejm. El promedio final de un alumno para un curso, nmero
de aprobados en un examen, nombre de los primeros
alumnos de cada especialidad por cada ciclo.
La informacin se obtiene mediante el procesamiento de
10
los datos
Procesamientos de datos
Operaciones que transforman datos en informacin
DATOS
Entrada
INFORMACION
Salida
Procesamientos de datos
Automatizados
PROCESADOR
DATOS
Entrada
INFORMACION
Salida
12
Algoritmos
Un algoritmo es un grupo de instrucciones que definen la
secuencia de operaciones a realizar para resolver una clase
de problema.
Secuencia ordenada de pasos que nos sirve para resolver un
problema.
13
Algoritmos
Caractersticas
Tiene que ser preciso.
Tiene que estar bien definido.
Tiene que ser finito.
14
Algoritmos
Medios de expresin de un algoritmo
Los algoritmos pueden ser expresados de muchas maneras,
incluyendo al lenguaje natural, pseudocdigo, diagramas
de flujo y lenguajes de programacin.
15
Algoritmos
Ejemplo 1
Suponga que un individuo desea invertir su capital en un banco y desea
saber cuanto dinero ganara despus de un mes si el banco paga a razn
de 2% mensual.
Solucin:
1 Inicio
2 Leer cap_inv
3 gan = cap_inv * 0.02
4 Imprimir gan
5 Fin
16
Algoritmos
Ejemplo 2
Un vendedor recibe un sueldo base mas un 10% extra por comisin de sus
ventas, el vendedor desea saber cuanto dinero obtendr por concepto de
comisiones por las tres ventas que realiza en el mes y el total que
recibir en el mes tomando en cuenta su sueldo base y comisiones.
Solucin:
Inicio
Leer sb, v1, v2, v3
tot_vta = v1 + v2 + v3
com = tot_vta * 0.10
tpag = sb + com
Imprimir tpag, com
Fin
17
Algoritmos
Ejemplo 3
Se cuenta con las notas del EP, EF y PP de un alumno.
Se sabe que el promedio final (PF) se calcula con la frmula:
PF=(EP+ PP+2EF)/4
Si el alumno cumple con la siguiente condicin: PP>6.1 y
PF> 6.1 tiene opcin 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
tambin el PF
18
Algoritmos
Solucin
Anlisis
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 frmula:
PF = (EP + 2EF + PP)/4
Si cumple la condicin PP> 6.1 y PF>6.1entonces mostrar
el mensaje Puede rendir el ES
Si no cumple la condicin entonces mostrar el mensaje No
19
Programas
Es una lista de instrucciones que la computadora debe seguir para
procesar datos y convertirlos en informacin.
Tipos de lenguajes:
Lenguaje de alto nivel: lenguaje similar al lenguaje natural. Son
fciles de escribir. Es el mas usado por los programadores.
Ejm. C++, Pascal, Basic, Prolog, Java, etc.
Lenguaje de bajo nivel: lenguaje mnemotcnico.
Ejm. ADD M, N, P
Lenguaje de mquina: lenguaje binario (0 y 1) entendible
directamente por el computador.
Programas
TIPOS DE PROGRAMAS
PROGRAMA FUENTE (PF): Programa escrito en lenguaje de alto o bajo nivel.
PROGRAMA OBJETO (PO): Programa escrito en lenguaje de mquina. Es el que
ejecuta el computador.
TRADUCTORES DE LENGUAJE
21
Lenguaje de
Programacin
Es un conjunto de smbolos junto a un conjunto de reglas para combinar
dichos smbolos que se usan para expresar programas. Constan de un
lxico, una sintaxis y una semntica.
Qu conoces tu por lxico, sintaxis y semntica?
Lxico : Conjunto de smbolos permitidos o vocabulario
Sintaxis: Reglas que indican cmo realizar las construcciones del lenguaje
Semntica: Reglas que permiten determinar el significado de cualquier
construccin del lenguaje.
22
Lenguaje de
Programacin
23
Datos
24
Tipos de datos
DATOS NUMERICOS
Enteros y
Reales
El rango y precisin de los datos numricos depende del lenguaje de
programacin que se utilice.
DATOS TIPO CARACTER
Tipos de datos
26
Tipos de datos
27
Variable
28
Variable
29
Variables
30
Constantes
31
Expresiones
32
Expresiones
33
Expresiones
34
Expresiones
35
Funciones
36
SISTEMAS UNI
SESION 2
37
Resolucin de problemas
38
Diseo de Algoritmo
39
Diseo de Algoritmo
40
Herramientas de
representacin de algoritmo
41
Herramientas de
representacin de algoritmo
42
Herramientas de
representacin de algoritmo
43
Herramientas de
representacin de algoritmo
44
Herramientas de
representacin de algoritmo
45
SISTEMAS UNI
SESION 3
46
Programas
Caractersticas de los sistemas
Sistema es un todo organizado y complejo; un conjunto o
combinacin de cosas o partes que forman un todo complejo
o unitario. Es un conjunto de objetos unidos por alguna
forma de interaccin o interdependencia.
Tipos de Sistemas
47
SISTEMAS UNI
SESION 4
48
Estructuras de Control de
Programa
Tcnicas de programacin
El programar con flujogramas o diagramas NS resulta muy lioso en el
momento en que el programa se complica, por eso vamos a utilizar
siempre el pseudocdigo, en el que vamos a utilizar dos tcnicas de
programacin que no se usan por separado, sino que son
complementarios.
Estructuras de Control de
Programa
Estructura Secuencial
Es cuando una instruccin sigue a otra en secuencia, es decir, la salida
de una instruccin es la entrada de la siguiente.
50
Estructuras de Control de
Programa
Estructura Condicional
Se evala la condicin y en funcin del resultado se ejecuta un conjunto
de instrucciones u otro. Hay tres tipos de condicional (simple, doble o
mltiple):
* Simple: Es la estructura : S <cond>
entonces <acciones>
fin s
51
Estructuras de Control de
Programa
Estructura Condicional
Se evala la condicin y en funcin del resultado se ejecuta un conjunto
de instrucciones u otro. Hay tres tipos de condicional (simple, doble o
mltiple):
* Doble: Es la estructura :
S <cond>
entonces <acciones_v>
sino
entonces <acciones_v>
fin s
52
Estructuras de Control de
Programa
Estructura Selectivas
El valor con el que se compara la expresin, va a depender de los
lenguajes, de lo que sea ese valor. En general ese valor puede ser un
valor constante, un rango de valores o incluso otra condicin
53
Estructuras de Control de
Programa
Estructura Selectivas
54
Estructuras de Control de
Programa
Estructura Repetitiva
55
Estructuras de Control de
Programa
Estructura Repetitiva
56
SISTEMAS UNI
SESION 5
57
Procedimientos y
Funciones
Procedimientos y Funciones
La programacin modular es una de las tcnicas fundamentales de la
programacin. Se apoya en el diseo descendente y en la filosofa de
divide y vencers, es decir se trata de dividir el problema dado, en
problemas ms simples en que cada uno de los cuales lo
implementaremos en un mdulo independiente. A cada uno de estos
mdulos es a lo que llamamos subalgoritmos o subprogramas.
58
Procedimientos y
Funciones
Funciones
Desde el punto de vista matemtico, una funcin es una operacin que
toma uno o varios operandos, y devuelve un resultado. Y desde el punto
de vista algortmico, es un subprograma que toma uno o varios
parmetros como entrada y devuelve a la salida un nico resultado.
Estructuras de Control de
Programa
Invocacin de una funcin:
Para llamar a una funcin se pone el nombre de la funcin, y entre
parntesis los parmetros reales, que podrn ser variables, expresiones,
constantes,... pero siempre del mismo tipo que los parmetros normales
asociados
<nombre_funcion> (parmetros reales)
Ejemplo de funcin:
Una funcin que calcule la mitad del valor que le paso parmetro.
Suponemos que es un valor entero.
Funcion mitad (n: entero): real
Var m: real
Inicio
M n/2
Retorno m
Fin mitad
60
Procedimientos y
Funciones
Procedimientos
Un procedimiento es un subprograma o un subalgoritmo que ejecuta una
determinada tarea, pero que tras ejecutar esa tarea no tienen ningn
valor asociado a su nombre como en las funciones, sino que si devuelve
informacin, lo hace a travs de parmetros.
Nota.
El inconveniente de una funcin es que solo puede devolver un nico
valor, por lo que s nos interesa devolver 0 o N valores, aunque puedo
usarlo para devolver un solo valor, debo usar un procedimiento.
61
Procedimientos y
Funciones
Sintaxis
Procedimiento <nombre_proc> (<tipo_paso_par> <nombre_par>:
tipo_par,...)
Var <variables locales>: tipo
Inicio
<sentencias>
fin <nombre_proc>
62
SISTEMAS UNI
SESION 6
63
SISTEMAS UNI
SESION 6
64
Arreglo de datos
Un array unidimensional, o lineal, o vector, es un conjunto finito y
ordenado de elementos homogneos.
Es finito porque tiene un nmero determinado de elementos.
Homogneo porque todos los elementos almacenados van a ser del
mismo tipo. Ordenado porque vamos a poder acceder a cada elemento
del array de manera independiente porque va a haber una
65
Arreglo de datos
Sintaxis.
66
Arreglo de datos
Recorrido o acceso secuencial de un array.
67
Arreglo de datos
Arrays bidimensionales o matrices.
68
Arreglo de datos
Arrays bidimensionales o matrices.
69
Arreglo de datos
Mnejo de matrices.
70
SISTEMAS UNI
SESION 7
71
Registro de datos
El tipo registro de datos es un tipo estructurado de datos. Un tipo
registro va a estar formado por datos que pueden ser de diferentes
tipos..
La sintaxis que usaremos para definir un tipo registro es la siguiente:
Tipo <nom_tipo_registro> = registro
<campo1>: <tipo>
<campo2>: <tipo>
<campo3>: <tipo>
fin registro
72
Registro de datos
Una vez definida una estructura de tipo registro, ya puede pasar a
declarar variables de ese tipo.
Var
<nom_var>: <nom_tipo_registro>
tipo alumno = registro
DNI: array [1..8] de caracteres
Nombre: array [1..100] de caracteres
Nota: real
Fin registro
Var
A1,A2: alumno
73
Registro de datos
Tipo cliente = registro
DNI: array [1..8] de caracteres
Nombre: Cadena
Saldo: Real
Fin registro
Var
C: cliente
Borrar (c.nombre,3,5)
C.saldo 5+3*8000
74
SISTEMAS UNI
SESION 8
75
Ficheros o Archivos
Fichero
Es un conjunto de datos estructurados en una coleccin de unidades
elementales denominadas registros, que son de igual tipo y que a su vez
estn formados por otras unidades de nivel ms bajo denominados
campos. Todos son del mismo tipo.
76
Ficheros o Archivos
Terminologa con ficheros
Campo, Registro,Archivo o fichero,Clave de un fichero,
77
Ficheros o Archivos
Tipos de Soporte
Los soportes de almacenamiento secundario son en los que almaceno la
informacin, y pueden ser de 2 tipos:
Secuenciales: Para acceder a un registro o dato concreto dentro de l,
tengo que pasar previamente por todos los registros anteriores a l. El
ejemplo es una cinta magntica.
Direccionables: Es posible acceder directamente a una direccin concreta
de soporte. El ejemplo es un disco.
78
Ficheros o Archivos
Tipos de organizaciones de ficheros
Viene determinada por 2 caractersticas:
Mtodo de organizacin: Tcnica que utilizo para colocar la informacin
de los registros dentro del dispositivo.
Mtodo de acceso: Conjunto de programas que me permiten acceder a la
informacin que previamente he almacenado y van a depender mucho
del mtodo de organizacin:
Acceso directo: Para acceder a un acceso concreto no hay que pasar por
79
Ficheros o Archivos
Mtodos de organizacin:
Hay 3 tipos de organizacin:
Secuencial
Directa
Secuencial indexada
- Secuencial: Los registros se van grabando en un dispositivo unos detrs
de otros consecutivamente, sin dejar huecos y segn el orden en que son
grabados o guardados. Al final para determinar el fin de fichero se usa la
marca EOF (End Of File).
- Directa: Se puede acceder a un registro directamente. Para ello son
necesarias 2 cosas:
1) Que cada registro tenga asociada una clave que lo identifique.
2) Tiene que existir una funcin especial llamada funcin de
direccionamiento .
80
Ficheros o Archivos
Operaciones con Ficheros:
Creacin o carga de un fichero: Consiste en meter los datos por primera
vez en un fichero que no existe. Para ello hay que determinar el espacio
que hay que reservar para el fichero y el mtodo de acceso.
Reorganizacin de un fichero: Consiste en crear un fichero nuevo a partir
de uno que ya existe. Conviene reorganizarlo cuando ya resulta
ineficiente su uso porque hay demasiadas colisiones de sinnimos o
muchos registros que ya no existen.
Clasificacin de un fichero:
Consiste en ordenar los registros por uno o varios campos. En los sistemas
grandes, el propio sistema operativo ya soporta operaciones que realizan
la organizacin (SORT).
81
Ficheros o Archivos
Operaciones con Ficheros:
Destruccin de un fichero: Destruccin de un fichero: Significa eliminar toda la
informacin que contiene el fichero.
Gestin de un fichero: Para trabajar con un fichero lo primero que tengo que
hacer es crearlo. Para crear un fichero tengo que dar un nombre que es con el
que le va a guardar en el dispositivo. Pero para manejar ese fichero dentro de un
programa tendr que asignarle una variable de tipo de fichero que luego tendr
que asociar con el nombre fsico del fichero para poder trabajar con l.
Sintaxis
Abrir (<nom_fich>,nom_real,<modo_apert>)
Ejemplo
Abrir (F,c:\estudiantes.dat,<modo>)
82
F : Fichero de texto
C : Cadena
escribir (F, C)
leer (F, C)
Ficheros o Archivos
Operaciones con Ficheros:
Tratamiento de ficheros Secuenciales:
F : Fichero de texto
C : Cadena
escribir (F, C)
leer (F, C)
Ficheros o Archivos
84
SISTEMAS UNI
SESION 9
85
Mtodos de Ordenamiento de
datos
Mtodos
Mtodo de la burbuja.
Mtodo de insercin.
Mtodo de seleccin.
Mtodo de Quick Short.
Bsqueda
Bsqueda secuencial.
Bsqueda binaria.
86
Mtodos de Ordenamiento de
datos
Ordenacin
Consiste en organizar un conjunto de datos en un orden determinado
segn un criterio.
La ordenacin puede ser interna o externa:
Interna: La hacemos en memoria con arryas. Es muy rpida.
Externa: La hacemos en dispositivos de almacenamiento externo con
ficheros.
87
Mtodos de Ordenamiento de
datos
Mtodo de la burbuja
88
Mtodos de Ordenamiento de
datos
Mtodo de Insercin
89
Mtodos de Ordenamiento de
datos
Mtodo de Seleccin
90
Mtodos de Ordenamiento de
datos
Mtodo de QuickShort
91