SlideShare una empresa de Scribd logo
SISTEMAS UNI

CURSO:ALGORITMOS Y ESRUCTURAS DE DATOS

HORARIO: L-M-V 8:00 – 11:00 am

EVALUACION:PRACTICAS-EXAMEN FINAL

INSTRUCTOR. ITALO YARANGA.

EMAILS:IPYV@HOTMAIL.COM , IYARANGA@SENATI.EDU.PE

TELEFONO:988079217
                                                   1
Algoritmos y Estructura
       de datos




                    2
SISTEMAS UNI




   SESION 1




               3
Sistemas

    Conjunto de elementos dinámicamente relacionados
formando una actividad para alcanzar un objetivo operando
sobre datos, energía y/o materia para proveer información.




                                                        4
Sistemas

• Características de los sistemas
    Sistema es un todo organizado y complejo; un conjunto o
  combinación de cosas o partes que forman un todo complejo
  o unitario. Es un conjunto de objetos unidos por alguna
  forma de interacción o interdependencia.
• Tipos de Sistemas
  •Sistemas físicos o concretos: compuestos por equipos,
  maquinaria, objetos y cosas reales. El hardware.
  •Sistemas abstractos: compuestos por conceptos, planes,
  hipótesis e ideas. Muchas veces solo existen en el
  pensamiento de las personas. Es el software.              5
Sistemas

• Tipos de Sistemas




      Sistema Nervioso o Neurologico   Sistema-operativo




                                                              6
Sistemas

• Elementos de un Sistemas




                                        7
Sistemas

• Sistema de operaciones para una granja
                                                        •Clima
                                                     •Inflación
                                  •Controles gubernamentales
             •Terrenos                       •Fallas en equipo
       •mano de obra
            •Edificios
               •equipo                                               Productos
     •Habilidades del         Proceso de                               •Granos

            •agricultor        conversión                                •leche
                                                                        •Crema
                   •etc                                                     •etc
            Insumos

                                                   •Niveles de inventario
                                            •Eficiencia de mano de obra
                                                     •Volumen de ventas




                                                                                   8
Sistemas

• Sistema de operaciones para una granja
                                                        •Clima
                                                     •Inflación
                                  •Controles gubernamentales
             •Terrenos                       •Fallas en equipo
       •mano de obra
            •Edificios
               •equipo                                               Productos
     •Habilidades del         Proceso de                               •Granos

            •agricultor        conversión                                •leche
                                                                        •Crema
                   •etc                                                     •etc
            Insumos

                                                   •Niveles de inventario
                                            •Eficiencia de mano de obra
                                                     •Volumen de ventas




                                                                                   9
Sistemas de procesamiento
                                  de la información.

• 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 conjunto de datos que tiene realación.
  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
                                                           10
  los datos
Procesamientos de datos

• Operaciones que transforman datos en información

          DATOS                       INFORMACION

          Entrada                         Salida



Es realizado por el procesador el cual ejecuta un conjuntode pasos
previamente definidos (algoritmo)
El procesamiento de datos puede ser:Manual ,Mecanizada(uso de
calculadora, sumadora, etc),Automatizado (uso del computador)
                                                                     11
Procesamientos de datos

                                    Automatizados

          PROCESADOR



DATOS                    INFORMACION

Entrada                    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

 Características
 Tiene que ser preciso.
 Tiene que estar bien definido.
 Tiene que ser finito.




                                            14
Algoritmos

• Medios de expresión de un algoritmo
   Los algoritmos pueden ser expresados de muchas maneras,
  incluyendo al lenguaje natural, pseudocódigo, diagramas
  de flujo y lenguajes de programación.




                                                        15
Algoritmos

• Ejemplo 1
  Suponga que un individuo desea invertir su capital en un banco y desea
  saber cuanto dinero ganara después de un mes si el banco paga a razón
  de 2% mensual.
• Solución:
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 comisión 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.
  Solución:
  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 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

                                                                    18
Algoritmos

• Solución
  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
                                                                         19
  Fin del algoritmo.
Programas
Es una lista de instrucciones que la computadora debe seguir para
procesar datos y convertirlos en información.
Tipos de lenguajes:
  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
                                                                       20
Programas
TIPOS DE PROGRAMAS
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.
Tipos de traductores




                                                                           21
Lenguaje de
                                                  Programación
   Es un conjunto de símbolos junto a un conjunto de reglas para combinar
   dichos símbolos que se usan para expresar programas. Constan de un
   léxico, una sintaxis y una semántica.
  ¿Qué conoces tu por léxico, sintaxis y semántica?
Léxico : Conjunto de símbolos permitidos o vocabulario
Sintaxis: Reglas que indican cómo realizar las construcciones del lenguaje
Semántica: Reglas que permiten determinar el significado de cualquier
  construcción del lenguaje.




                                                                             22
Lenguaje de
Programación




           23
Datos




    24
Tipos de datos
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

                                                                       25
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
Resolución de problemas




                      38
Diseño de Algoritmo




                  39
Diseño de Algoritmo




                  40
Herramientas de
representación de algoritmo




                          41
Herramientas de
representación de algoritmo




                          42
Herramientas de
representación de algoritmo




                          43
Herramientas de
representación de algoritmo




                          44
Herramientas de
representación de algoritmo




                          45
SISTEMAS UNI




   SESION 3




              46
Programas

• Características de los sistemas
    Sistema es un todo organizado y complejo; un conjunto o
  combinación de cosas o partes que forman un todo complejo
  o unitario. Es un conjunto de objetos unidos por alguna
  forma de interacción o interdependencia.
• Tipos de Sistemas
  •Sistemas físicos o concretos: compuestos por equipos,
  maquinaria, objetos y cosas reales. El hardware.
  •Sistemas abstractos: compuestos por conceptos, planes,
  hipótesis e ideas. Muchas veces solo existen en el
  pensamiento de las personas. Es el software.              47
SISTEMAS UNI




   SESION 4




              48
Estructuras de Control de
                                            Programa
• Técnicas de programación
     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 pseudocódigo, en el que vamos a utilizar dos técnicas de
   programación que no se usan por separado, sino que son
   complementarios.
   Estas técnicas son:
• Programación modular: Consiste en dividir el programa en partes
  llamadas módulos, e implementar cada uno de esos módulos por
  separado.
• Programación estructurada: Cuyo objetivo es hacer más legible y lógico
  la estructura del programa utilizando para ello solamente tres tipos de
  estructuras: selectivas, secuenciales (condicionales) y repetitivas.    49
Estructuras de Control de
                                          Programa
• Estructura Secuencial
   Es cuando una instrucción sigue a otra en secuencia, es decir, la salida
  de una instrucción es la entrada de la siguiente.




                                                                         50
Estructuras de Control de
                                          Programa
• Estructura Condicional
  Se evalúa la condición y en función del resultado se ejecuta un conjunto
  de instrucciones u otro. Hay tres tipos de condicional (simple, doble o
  múltiple):
  * Simple: Es la estructura : Sí <cond>
                                   entonces <acciones>
                               fin sí




                                                                        51
Estructuras de Control de
                                                Programa
• Estructura Condicional
  Se evalúa la condición y en función del resultado se ejecuta un conjunto
  de instrucciones u otro. Hay tres tipos de condicional (simple, doble o
  múltiple):
  * 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 expresión, 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 condición




                                                                          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 programación modular es una de las técnicas fundamentales de la
  programación. Se apoya en el diseño descendente y en la filosofía de
  “divide y vencerás”, es decir se trata de dividir el problema dado, en
  problemas más simples en que cada uno de los cuales lo
  implementaremos en un módulo independiente. A cada uno de estos
  módulos es a lo que llamamos subalgoritmos o subprogramas.




                                                                           58
Procedimientos y
                                                Funciones
• Funciones
  Desde el punto de vista matemático, una función es una operación que
  toma uno o varios operandos, y devuelve un resultado. Y desde el punto
  de vista algorítmico, es un subprograma que toma uno o varios
  parámetros como entrada y devuelve a la salida un único resultado.
 Declaración de una función:
 Funcion <nombre_funcion> (n_parametro: tipo, n_parametro: tipo): tipo
 funcion
 Var <variables locales funcion>
  Inicio
   <acciones>
    retorno <valor>
 fin <nombre_funcion>                                                59
Estructuras de Control de
                                          Programa
• Invocación de una función:
  Para llamar a una función se pone el nombre de la función, y entre
  paréntesis los parámetros reales, que podrán ser variables, expresiones,
  constantes,... pero siempre del mismo tipo que los parámetros normales
  asociados
  <nombre_funcion> (parámetros reales)
  Ejemplo de función:
  Una función que calcule la mitad del valor que le paso parámetro.
  Suponemos que es un valor entero.
  Funcion mitad (n: entero): real
   Var m: real
    Inicio
      M  n/2
     Retorno m                                                          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 ningún
  valor asociado a su nombre como en las funciones, sino que si devuelve
  información, lo hace a través de parámetros.
  Nota.
  El inconveniente de una función 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 homogéneos.


Es finito porque tiene un número determinado de elementos.
Homogéneo 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.
En un array unidimensional o vector cada elemento se referencia por un
índice, en un array bidimensional cada elemento se va a referenciar por
2 índices, y ahora la representación lógica ya no va a ser un vector, sino
una matriz.




                                                                       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 colección de unidades
elementales denominadas registros, que son de igual tipo y que a su vez
están formados por otras unidades de nivel más bajo denominados
campos. Todos son del mismo tipo.




                                                                     76
Ficheros o Archivos
  Terminología 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
información, 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 magnética.
Direccionables: Es posible acceder directamente a una dirección concreta
de soporte. El ejemplo es un disco.




                                                                      78
Ficheros o Archivos
   Tipos de organizaciones de ficheros
   Viene determinada por 2 características:
• Método de organización: Técnica que utilizo para colocar la información
  de los registros dentro del dispositivo.
• Método de acceso: Conjunto de programas que me permiten acceder a la
  información que previamente he almacenado y van a depender mucho
  del método de organización:

  Acceso directo: Para acceder a un acceso concreto no hay que pasar por
  los anteriores. El soporte tiene que ser direccionable.

  Acceso secuencial: Para acceder a un registro hay que pasar por todos los
  anteriores, y esto es posible si el soporte es secuencial, aunque también
  puedo hacerlo en uno direccionable.                                     79
Ficheros o Archivos
   Métodos de organización:
    Hay 3 tipos de organización:
• Secuencial
• Directa
• Secuencial indexada
 - Secuencial: Los registros se van grabando en un dispositivo unos detrás
   de otros consecutivamente, sin dejar huecos y según 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 función especial llamada función de
   direccionamiento .                                                      80
Ficheros o Archivos
  Operaciones con Ficheros:
  Creación 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 método de acceso.
   Reorganización 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 sinónimos o
  muchos registros que ya no existen.
  Clasificación 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 organización (SORT).


                                                                            81
Ficheros o Archivos
Operaciones con Ficheros:
Destrucción de un fichero: Destrucción de un fichero: Significa eliminar toda la

 información que contiene el fichero.
Gestión 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 físico 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:




 Fichero de Texto: Son un tipo de ficheros especiales, en cuanto a lo que
 podemos leer de ellos y escribir son cadenas de caracteres. Sin embargo tienen

 significados distintos según el lenguaje, y su objetivo es que podemos trabajar
 con cadenas de caracteres.
 Fichero de texto
 C : Cadena                                                                    83
 escribir (F, C)
F : Fichero de texto
C : Cadena
escribir (F, C)
leer (F, C)


              Ficheros o Archivos




                                84
SISTEMAS UNI




   SESION 9




              85
Métodos de Ordenamiento de
                                                    datos

    Métodos
•   Método de   la burbuja.
•   Método de   inserción.
•   Método de   selección.
•   Método de   Quick Short.


    Búsqueda
• Búsqueda secuencial.
• Búsqueda binaria.



                                                        86
Métodos de Ordenamiento de
                                                datos
    Ordenación
•   Consiste en organizar un conjunto de datos en un orden determinado
  según un criterio.
• La ordenación puede ser interna o externa:
• Interna: La hacemos en memoria con arryas. Es muy rápida.
• Externa: La hacemos en dispositivos de almacenamiento externo con
 ficheros.




                                                                         87
Métodos de Ordenamiento de
                                       datos
Método de la burbuja




                                           88
Métodos de Ordenamiento de
                                       datos
Método de Inserción




                                           89
Métodos de Ordenamiento de
                                       datos
Método de Selección




                                           90
Métodos de Ordenamiento de
                                       datos
Método de QuickShort




                                           91

Más contenido relacionado

La actualidad más candente

Planificacion de CPU FCFS (First Come, First Served)
Planificacion de CPU FCFS (First Come, First Served)Planificacion de CPU FCFS (First Come, First Served)
Planificacion de CPU FCFS (First Come, First Served)
Rodrigo Saraguro
 
Fundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de FlujoFundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de Flujo
José Antonio Sandoval Acosta
 
Fundamentos de Programación - Unidad II: Introducción a la Programación
Fundamentos de Programación - Unidad II: Introducción a la ProgramaciónFundamentos de Programación - Unidad II: Introducción a la Programación
Fundamentos de Programación - Unidad II: Introducción a la Programación
José Antonio Sandoval Acosta
 
Patrones GRASP de tipo de bajo acoplamiento
Patrones GRASP de  tipo de bajo acoplamientoPatrones GRASP de  tipo de bajo acoplamiento
Patrones GRASP de tipo de bajo acoplamiento
Fernando Alfonso Casas De la Torre
 
Compiladores
CompiladoresCompiladores
Compiladores
Calzada Meza
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
mireya2022
 
intro.pptx (1).pdf
intro.pptx (1).pdfintro.pptx (1).pdf
intro.pptx (1).pdf
ANIKULSAIKH
 
UNIDAD IV - Mapa conceptual metodos de busqueda
UNIDAD IV - Mapa conceptual metodos de busquedaUNIDAD IV - Mapa conceptual metodos de busqueda
UNIDAD IV - Mapa conceptual metodos de busquedaMaiky Kobatakane
 
Fundamentos del Diseño de Software
Fundamentos del Diseño de SoftwareFundamentos del Diseño de Software
Fundamentos del Diseño de Software
Nelson Guanipa
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas Operativos
Emmanuel Fortuna
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
Francisco Gómez
 
Introduccion a python 3
Introduccion a python 3Introduccion a python 3
Introduccion a python 3
Diego Camilo Peña Ramirez
 
Planificacion del procesador
Planificacion del procesadorPlanificacion del procesador
Planificacion del procesadorManuel Ceron
 
Unidad 3 gestion de procesos en linux
Unidad 3 gestion de procesos en linuxUnidad 3 gestion de procesos en linux
Unidad 3 gestion de procesos en linuxjcfarit
 
S.O windows, Android, Linux y Mac OS
S.O  windows, Android, Linux y Mac OSS.O  windows, Android, Linux y Mac OS
S.O windows, Android, Linux y Mac OS
Jhossuar Escorcia Gomez
 
Algoritmo Secuenciales
Algoritmo SecuencialesAlgoritmo Secuenciales
Algoritmo Secuenciales
Slims Colmenarez
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
YESENIA CETINA
 
Procesos de los sistemas operativos
Procesos de los sistemas operativosProcesos de los sistemas operativos
Procesos de los sistemas operativos
Deivis Romero
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
Alvaro Enrique Ruano
 
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
Manuel Fernandez Barcell
 

La actualidad más candente (20)

Planificacion de CPU FCFS (First Come, First Served)
Planificacion de CPU FCFS (First Come, First Served)Planificacion de CPU FCFS (First Come, First Served)
Planificacion de CPU FCFS (First Come, First Served)
 
Fundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de FlujoFundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de Flujo
 
Fundamentos de Programación - Unidad II: Introducción a la Programación
Fundamentos de Programación - Unidad II: Introducción a la ProgramaciónFundamentos de Programación - Unidad II: Introducción a la Programación
Fundamentos de Programación - Unidad II: Introducción a la Programación
 
Patrones GRASP de tipo de bajo acoplamiento
Patrones GRASP de  tipo de bajo acoplamientoPatrones GRASP de  tipo de bajo acoplamiento
Patrones GRASP de tipo de bajo acoplamiento
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
intro.pptx (1).pdf
intro.pptx (1).pdfintro.pptx (1).pdf
intro.pptx (1).pdf
 
UNIDAD IV - Mapa conceptual metodos de busqueda
UNIDAD IV - Mapa conceptual metodos de busquedaUNIDAD IV - Mapa conceptual metodos de busqueda
UNIDAD IV - Mapa conceptual metodos de busqueda
 
Fundamentos del Diseño de Software
Fundamentos del Diseño de SoftwareFundamentos del Diseño de Software
Fundamentos del Diseño de Software
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas Operativos
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Introduccion a python 3
Introduccion a python 3Introduccion a python 3
Introduccion a python 3
 
Planificacion del procesador
Planificacion del procesadorPlanificacion del procesador
Planificacion del procesador
 
Unidad 3 gestion de procesos en linux
Unidad 3 gestion de procesos en linuxUnidad 3 gestion de procesos en linux
Unidad 3 gestion de procesos en linux
 
S.O windows, Android, Linux y Mac OS
S.O  windows, Android, Linux y Mac OSS.O  windows, Android, Linux y Mac OS
S.O windows, Android, Linux y Mac OS
 
Algoritmo Secuenciales
Algoritmo SecuencialesAlgoritmo Secuenciales
Algoritmo Secuenciales
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Procesos de los sistemas operativos
Procesos de los sistemas operativosProcesos de los sistemas operativos
Procesos de los sistemas operativos
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
 
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
 

Similar a Algoritmos y estructura de datos

PresentacionSgemMarkelMoreno
PresentacionSgemMarkelMorenoPresentacionSgemMarkelMoreno
PresentacionSgemMarkelMorenoMarkel Moreno
 
AYUD. 4.pptx
AYUD. 4.pptxAYUD. 4.pptx
AYUD. 4.pptx
MarlynElizabeth
 
hardware y software
hardware y softwarehardware y software
hardware y softwarechelosblues
 
Es una aplicación de software que automatiza e integra tanto los procesos de...
Es una aplicación de software que  automatiza e integra tanto los procesos de...Es una aplicación de software que  automatiza e integra tanto los procesos de...
Es una aplicación de software que automatiza e integra tanto los procesos de...
Yaskelly Yedra
 
Machine Learning en Inversiones 20210414
Machine Learning en Inversiones 20210414Machine Learning en Inversiones 20210414
Machine Learning en Inversiones 20210414
Gerard Alba
 
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...Abstracta
 
Diapositivas de Optimizacion
Diapositivas de OptimizacionDiapositivas de Optimizacion
Diapositivas de OptimizacionNileidys_16
 
Estimación temprana de proyectos software #pmot #pmlat
Estimación temprana de proyectos software #pmot #pmlatEstimación temprana de proyectos software #pmot #pmlat
Estimación temprana de proyectos software #pmot #pmlat
Alfonso Tienda Braulio MBA, PRINCE2®, PMP®, LION
 
Software OpenERP & Metodología ERP
Software OpenERP & Metodología ERPSoftware OpenERP & Metodología ERP
Software OpenERP & Metodología ERP
Gustavo González
 
El proceso de programación y algoritmo c3. p1.
El proceso de programación y algoritmo c3. p1.El proceso de programación y algoritmo c3. p1.
El proceso de programación y algoritmo c3. p1.
DENIRAMIREZANDRADE
 
Sistemas de informacion v0.06
Sistemas de informacion v0.06Sistemas de informacion v0.06
Sistemas de informacion v0.06
Beymar Jimenez Ruiz
 
Evento CDA Abstracta - Perú 2015 - Testing de performance y testing automátic...
Evento CDA Abstracta - Perú 2015 - Testing de performance y testing automátic...Evento CDA Abstracta - Perú 2015 - Testing de performance y testing automátic...
Evento CDA Abstracta - Perú 2015 - Testing de performance y testing automátic...
Federico Toledo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
AbiJimenez4
 
ERP eficiente y eficaz
ERP eficiente y eficazERP eficiente y eficaz
ERP eficiente y eficaz
Honorio Alvarez
 
PRESENTACION 1.pptx
PRESENTACION 1.pptxPRESENTACION 1.pptx
PRESENTACION 1.pptx
EdwinChoqueLopez
 
Descripción y selección ERP
Descripción y selección ERPDescripción y selección ERP
Descripción y selección ERP
Iñaki Santos
 
CICLO DE VIDA DE SISTEMAS.pptx
CICLO DE VIDA DE SISTEMAS.pptxCICLO DE VIDA DE SISTEMAS.pptx
CICLO DE VIDA DE SISTEMAS.pptx
WilverHancco2
 

Similar a Algoritmos y estructura de datos (20)

Elementos de un sistema
Elementos de un sistemaElementos de un sistema
Elementos de un sistema
 
Elemesist
ElemesistElemesist
Elemesist
 
PresentacionSgemMarkelMoreno
PresentacionSgemMarkelMorenoPresentacionSgemMarkelMoreno
PresentacionSgemMarkelMoreno
 
AYUD. 4.pptx
AYUD. 4.pptxAYUD. 4.pptx
AYUD. 4.pptx
 
hardware y software
hardware y softwarehardware y software
hardware y software
 
Es una aplicación de software que automatiza e integra tanto los procesos de...
Es una aplicación de software que  automatiza e integra tanto los procesos de...Es una aplicación de software que  automatiza e integra tanto los procesos de...
Es una aplicación de software que automatiza e integra tanto los procesos de...
 
Machine Learning en Inversiones 20210414
Machine Learning en Inversiones 20210414Machine Learning en Inversiones 20210414
Machine Learning en Inversiones 20210414
 
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
 
Optimizacion
OptimizacionOptimizacion
Optimizacion
 
Diapositivas de Optimizacion
Diapositivas de OptimizacionDiapositivas de Optimizacion
Diapositivas de Optimizacion
 
Estimación temprana de proyectos software #pmot #pmlat
Estimación temprana de proyectos software #pmot #pmlatEstimación temprana de proyectos software #pmot #pmlat
Estimación temprana de proyectos software #pmot #pmlat
 
Software OpenERP & Metodología ERP
Software OpenERP & Metodología ERPSoftware OpenERP & Metodología ERP
Software OpenERP & Metodología ERP
 
El proceso de programación y algoritmo c3. p1.
El proceso de programación y algoritmo c3. p1.El proceso de programación y algoritmo c3. p1.
El proceso de programación y algoritmo c3. p1.
 
Sistemas de informacion v0.06
Sistemas de informacion v0.06Sistemas de informacion v0.06
Sistemas de informacion v0.06
 
Evento CDA Abstracta - Perú 2015 - Testing de performance y testing automátic...
Evento CDA Abstracta - Perú 2015 - Testing de performance y testing automátic...Evento CDA Abstracta - Perú 2015 - Testing de performance y testing automátic...
Evento CDA Abstracta - Perú 2015 - Testing de performance y testing automátic...
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
ERP eficiente y eficaz
ERP eficiente y eficazERP eficiente y eficaz
ERP eficiente y eficaz
 
PRESENTACION 1.pptx
PRESENTACION 1.pptxPRESENTACION 1.pptx
PRESENTACION 1.pptx
 
Descripción y selección ERP
Descripción y selección ERPDescripción y selección ERP
Descripción y selección ERP
 
CICLO DE VIDA DE SISTEMAS.pptx
CICLO DE VIDA DE SISTEMAS.pptxCICLO DE VIDA DE SISTEMAS.pptx
CICLO DE VIDA DE SISTEMAS.pptx
 

Algoritmos y estructura de datos

  • 1. SISTEMAS UNI CURSO:ALGORITMOS Y ESRUCTURAS DE DATOS HORARIO: L-M-V 8:00 – 11:00 am EVALUACION:PRACTICAS-EXAMEN FINAL INSTRUCTOR. ITALO YARANGA. EMAILS:IPYV@HOTMAIL.COM , IYARANGA@SENATI.EDU.PE TELEFONO:988079217 1
  • 3. SISTEMAS UNI SESION 1 3
  • 4. Sistemas Conjunto de elementos dinámicamente relacionados formando una actividad para alcanzar un objetivo operando sobre datos, energía y/o materia para proveer información. 4
  • 5. Sistemas • Características de los sistemas Sistema es un todo organizado y complejo; un conjunto o combinación de cosas o partes que forman un todo complejo o unitario. Es un conjunto de objetos unidos por alguna forma de interacción o interdependencia. • Tipos de Sistemas •Sistemas físicos o concretos: compuestos por equipos, maquinaria, objetos y cosas reales. El hardware. •Sistemas abstractos: compuestos por conceptos, planes, hipótesis e ideas. Muchas veces solo existen en el pensamiento de las personas. Es el software. 5
  • 6. Sistemas • Tipos de Sistemas Sistema Nervioso o Neurologico Sistema-operativo 6
  • 8. Sistemas • Sistema de operaciones para una granja •Clima •Inflación •Controles gubernamentales •Terrenos •Fallas en equipo •mano de obra •Edificios •equipo Productos •Habilidades del Proceso de •Granos •agricultor conversión •leche •Crema •etc •etc Insumos •Niveles de inventario •Eficiencia de mano de obra •Volumen de ventas 8
  • 9. Sistemas • Sistema de operaciones para una granja •Clima •Inflación •Controles gubernamentales •Terrenos •Fallas en equipo •mano de obra •Edificios •equipo Productos •Habilidades del Proceso de •Granos •agricultor conversión •leche •Crema •etc •etc Insumos •Niveles de inventario •Eficiencia de mano de obra •Volumen de ventas 9
  • 10. Sistemas de procesamiento de la información. • 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 conjunto de datos que tiene realación. 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 10 los datos
  • 11. Procesamientos de datos • Operaciones que transforman datos en información DATOS INFORMACION Entrada Salida Es realizado por el procesador el cual ejecuta un conjuntode pasos previamente definidos (algoritmo) El procesamiento de datos puede ser:Manual ,Mecanizada(uso de calculadora, sumadora, etc),Automatizado (uso del computador) 11
  • 12. Procesamientos de datos Automatizados PROCESADOR DATOS INFORMACION Entrada Salida 12
  • 13. 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
  • 14. Algoritmos  Características  Tiene que ser preciso.  Tiene que estar bien definido.  Tiene que ser finito. 14
  • 15. Algoritmos • Medios de expresión de un algoritmo Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación. 15
  • 16. Algoritmos • Ejemplo 1 Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto dinero ganara después de un mes si el banco paga a razón de 2% mensual. • Solución: 1 Inicio 2 Leer cap_inv 3 gan = cap_inv * 0.02 4 Imprimir gan 5 Fin 16
  • 17. Algoritmos • Ejemplo 2 Un vendedor recibe un sueldo base mas un 10% extra por comisión 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. Solución: Inicio Leer sb, v1, v2, v3 tot_vta = v1 + v2 + v3 com = tot_vta * 0.10 tpag = sb + com Imprimir tpag, com Fin 17
  • 18. 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 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 18
  • 19. Algoritmos • Solución 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 19 Fin del algoritmo.
  • 20. Programas Es una lista de instrucciones que la computadora debe seguir para procesar datos y convertirlos en información. Tipos de lenguajes:  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 20
  • 21. Programas TIPOS DE PROGRAMAS 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. Tipos de traductores 21
  • 22. Lenguaje de Programación Es un conjunto de símbolos junto a un conjunto de reglas para combinar dichos símbolos que se usan para expresar programas. Constan de un léxico, una sintaxis y una semántica. ¿Qué conoces tu por léxico, sintaxis y semántica? Léxico : Conjunto de símbolos permitidos o vocabulario Sintaxis: Reglas que indican cómo realizar las construcciones del lenguaje Semántica: Reglas que permiten determinar el significado de cualquier construcción del lenguaje. 22
  • 24. Datos 24
  • 25. Tipos de datos 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 25
  • 28. Variable 28
  • 29. Variable 29
  • 30. Variables 30
  • 36. Funciones 36
  • 37. SISTEMAS UNI SESION 2 37
  • 46. SISTEMAS UNI SESION 3 46
  • 47. Programas • Características de los sistemas Sistema es un todo organizado y complejo; un conjunto o combinación de cosas o partes que forman un todo complejo o unitario. Es un conjunto de objetos unidos por alguna forma de interacción o interdependencia. • Tipos de Sistemas •Sistemas físicos o concretos: compuestos por equipos, maquinaria, objetos y cosas reales. El hardware. •Sistemas abstractos: compuestos por conceptos, planes, hipótesis e ideas. Muchas veces solo existen en el pensamiento de las personas. Es el software. 47
  • 48. SISTEMAS UNI SESION 4 48
  • 49. Estructuras de Control de Programa • Técnicas de programación 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 pseudocódigo, en el que vamos a utilizar dos técnicas de programación que no se usan por separado, sino que son complementarios. Estas técnicas son: • Programación modular: Consiste en dividir el programa en partes llamadas módulos, e implementar cada uno de esos módulos por separado. • Programación estructurada: Cuyo objetivo es hacer más legible y lógico la estructura del programa utilizando para ello solamente tres tipos de estructuras: selectivas, secuenciales (condicionales) y repetitivas. 49
  • 50. Estructuras de Control de Programa • Estructura Secuencial Es cuando una instrucción sigue a otra en secuencia, es decir, la salida de una instrucción es la entrada de la siguiente. 50
  • 51. Estructuras de Control de Programa • Estructura Condicional Se evalúa la condición y en función del resultado se ejecuta un conjunto de instrucciones u otro. Hay tres tipos de condicional (simple, doble o múltiple): * Simple: Es la estructura : Sí <cond> entonces <acciones> fin sí 51
  • 52. Estructuras de Control de Programa • Estructura Condicional Se evalúa la condición y en función del resultado se ejecuta un conjunto de instrucciones u otro. Hay tres tipos de condicional (simple, doble o múltiple): * Doble: Es la estructura : Sí <cond> entonces <acciones_v> sino entonces <acciones_v> fin sí 52
  • 53. Estructuras de Control de Programa • Estructura Selectivas El valor con el que se compara la expresión, 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 condición 53
  • 54. Estructuras de Control de Programa • Estructura Selectivas 54
  • 55. Estructuras de Control de Programa • Estructura Repetitiva 55
  • 56. Estructuras de Control de Programa • Estructura Repetitiva 56
  • 57. SISTEMAS UNI SESION 5 57
  • 58. Procedimientos y Funciones • Procedimientos y Funciones La programación modular es una de las técnicas fundamentales de la programación. Se apoya en el diseño descendente y en la filosofía de “divide y vencerás”, es decir se trata de dividir el problema dado, en problemas más simples en que cada uno de los cuales lo implementaremos en un módulo independiente. A cada uno de estos módulos es a lo que llamamos subalgoritmos o subprogramas. 58
  • 59. Procedimientos y Funciones • Funciones Desde el punto de vista matemático, una función es una operación que toma uno o varios operandos, y devuelve un resultado. Y desde el punto de vista algorítmico, es un subprograma que toma uno o varios parámetros como entrada y devuelve a la salida un único resultado. Declaración de una función: Funcion <nombre_funcion> (n_parametro: tipo, n_parametro: tipo): tipo funcion Var <variables locales funcion> Inicio <acciones> retorno <valor> fin <nombre_funcion> 59
  • 60. Estructuras de Control de Programa • Invocación de una función: Para llamar a una función se pone el nombre de la función, y entre paréntesis los parámetros reales, que podrán ser variables, expresiones, constantes,... pero siempre del mismo tipo que los parámetros normales asociados <nombre_funcion> (parámetros reales) Ejemplo de función: Una función que calcule la mitad del valor que le paso parámetro. Suponemos que es un valor entero. Funcion mitad (n: entero): real Var m: real Inicio M  n/2 Retorno m 60
  • 61. 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 ningún valor asociado a su nombre como en las funciones, sino que si devuelve información, lo hace a través de parámetros. Nota. El inconveniente de una función 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
  • 62. Procedimientos y Funciones • Sintaxis Procedimiento <nombre_proc> (<tipo_paso_par> <nombre_par>: tipo_par,...) Var <variables locales>: tipo Inicio <sentencias> fin <nombre_proc> 62
  • 63. SISTEMAS UNI SESION 6 63
  • 64. SISTEMAS UNI SESION 6 64
  • 65. Arreglo de datos Un array unidimensional, o lineal, o vector, es un conjunto finito y ordenado de elementos homogéneos. Es finito porque tiene un número determinado de elementos. Homogéneo 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
  • 67. Arreglo de datos Recorrido o acceso secuencial de un array. 67
  • 68. Arreglo de datos Arrays bidimensionales o matrices. En un array unidimensional o vector cada elemento se referencia por un índice, en un array bidimensional cada elemento se va a referenciar por 2 índices, y ahora la representación lógica ya no va a ser un vector, sino una matriz. 68
  • 69. Arreglo de datos Arrays bidimensionales o matrices. 69
  • 70. Arreglo de datos Mnejo de matrices. 70
  • 71. SISTEMAS UNI SESION 7 71
  • 72. 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
  • 73. 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
  • 74. 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
  • 75. SISTEMAS UNI SESION 8 75
  • 76. Ficheros o Archivos Fichero Es un conjunto de datos estructurados en una colección de unidades elementales denominadas registros, que son de igual tipo y que a su vez están formados por otras unidades de nivel más bajo denominados campos. Todos son del mismo tipo. 76
  • 77. Ficheros o Archivos Terminología con ficheros • Campo, Registro,Archivo o fichero,Clave de un fichero, 77
  • 78. Ficheros o Archivos Tipos de Soporte Los soportes de almacenamiento secundario son en los que almaceno la información, 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 magnética. Direccionables: Es posible acceder directamente a una dirección concreta de soporte. El ejemplo es un disco. 78
  • 79. Ficheros o Archivos Tipos de organizaciones de ficheros Viene determinada por 2 características: • Método de organización: Técnica que utilizo para colocar la información de los registros dentro del dispositivo. • Método de acceso: Conjunto de programas que me permiten acceder a la información que previamente he almacenado y van a depender mucho del método de organización: Acceso directo: Para acceder a un acceso concreto no hay que pasar por los anteriores. El soporte tiene que ser direccionable. Acceso secuencial: Para acceder a un registro hay que pasar por todos los anteriores, y esto es posible si el soporte es secuencial, aunque también puedo hacerlo en uno direccionable. 79
  • 80. Ficheros o Archivos Métodos de organización: Hay 3 tipos de organización: • Secuencial • Directa • Secuencial indexada - Secuencial: Los registros se van grabando en un dispositivo unos detrás de otros consecutivamente, sin dejar huecos y según 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 función especial llamada función de direccionamiento . 80
  • 81. Ficheros o Archivos Operaciones con Ficheros: Creación 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 método de acceso. Reorganización 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 sinónimos o muchos registros que ya no existen. Clasificación 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 organización (SORT). 81
  • 82. Ficheros o Archivos Operaciones con Ficheros: Destrucción de un fichero: Destrucción de un fichero: Significa eliminar toda la información que contiene el fichero. Gestión 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 físico del fichero para poder trabajar con él. Sintaxis Abrir (<nom_fich>,”nom_real”,<modo_apert>) Ejemplo Abrir (F,”c:estudiantes.dat”,<modo>) 82
  • 83. F : Fichero de texto C : Cadena escribir (F, C) leer (F, C) Ficheros o Archivos Operaciones con Ficheros: Tratamiento de ficheros Secuenciales: Fichero de Texto: Son un tipo de ficheros especiales, en cuanto a lo que podemos leer de ellos y escribir son cadenas de caracteres. Sin embargo tienen significados distintos según el lenguaje, y su objetivo es que podemos trabajar con cadenas de caracteres. Fichero de texto C : Cadena 83 escribir (F, C)
  • 84. F : Fichero de texto C : Cadena escribir (F, C) leer (F, C) Ficheros o Archivos 84
  • 85. SISTEMAS UNI SESION 9 85
  • 86. Métodos de Ordenamiento de datos Métodos • Método de la burbuja. • Método de inserción. • Método de selección. • Método de Quick Short. Búsqueda • Búsqueda secuencial. • Búsqueda binaria. 86
  • 87. Métodos de Ordenamiento de datos Ordenación • Consiste en organizar un conjunto de datos en un orden determinado según un criterio. • La ordenación puede ser interna o externa: • Interna: La hacemos en memoria con arryas. Es muy rápida. • Externa: La hacemos en dispositivos de almacenamiento externo con ficheros. 87
  • 88. Métodos de Ordenamiento de datos Método de la burbuja 88
  • 89. Métodos de Ordenamiento de datos Método de Inserción 89
  • 90. Métodos de Ordenamiento de datos Método de Selección 90
  • 91. Métodos de Ordenamiento de datos Método de QuickShort 91