Algoritmos y Programacin Clase 6 - PowerPoint PPT Presentation

1 / 74
About This Presentation
Title:

Algoritmos y Programacin Clase 6

Description:

Lectura: desde cualquier medio de entrada (teclado, archivo, etc) ... PROCESO DE LECTURA DESDE EL TECLADO. L: n mero de fila. K: n mero de columna. ... – PowerPoint PPT presentation

Number of Views:121
Avg rating:3.0/5.0
Slides: 75
Provided by: peterulric
Category:

less

Transcript and Presenter's Notes

Title: Algoritmos y Programacin Clase 6


1
Algoritmos y ProgramaciónClase 6
  • TDU (Tipos de datos Definidos por el Usuario)
  • Manejo de Matrices

2
Repaso Tipos de Datos
  • Las variables son marcadores de posición que se
    utilizan para almacenar valores tienen un nombre
    y un tipo de dato.
  • El tipo de dato determina la clase de datos que
    pueden almacenar las variables numéricos (Byte,
    Integer, Long, Single, Double, Currency),
    alfanuméricos (String), lógicos (Boolean), otros
    (Variant, Date, Object, etc.).
  • Una variable Variant es capaz de almacenar todos
    los tipos de datos definidos en el sistema.

3
Repaso Tipos de Datos
  • De forma predeterminada, si no se proporciona un
    tipo de dato o no se declara, la variable toma el
    tipo de dato Variant.
  • El valor por defecto de una variable del tipo
    Variant es Empty
  • Las variables de tipo String pueden ser de
    longitud variable o de longitud fija
  • Dim variable As String ? Longitud variable
  • Dim variable As Stringtamaño ? Longitud fija

4
Repaso Tipos de Datos
  • Para evitar problemas al equivocarse de nombre en
    las variables, puede estipular que Visual Basic
    le avise siempre que encuentre un nombre que no
    se haya declarado explícitamente como una
    variable incluyendo en la sección Declaraciones
    del módulo de formulario o estándar la
    instrucción
  • Option Explicit
  • Es este caso, VB generará un error cuando
    encuentre una variable no declarada.

5
Crear tipos de datos TDU
  • Se pueden combinar variables de varios tipos
    diferentes para crear tipos definidos por el
    usuario (conocidos como TDU).
  • Los tipos definidos por el usuario son útiles si
    se quiere crear una única variable que registre
    varias unidades de información relacionadas.
  • Para crear un TDU se utiliza la instrucción Type
    en la sección Declaraciones del módulo.

6
Crear tipos de datos TDU
  • La sintaxis de la instrucción Type es
  • Alcance Type NombreTDU
  • Elemento1 As Tipo
  • Elemento2 As Tipo
  • ...
  • ElementoN As Tipo
  • End Type
  • Alcance Opcional. Es el alcance del tipo de
    dato. Puede ser Private o Public. Si no se
    especifica se asume Public.

7
Crear tipos de datos TDU
  • NombreTDU Requerido. Es el nombre del tipo de
    dato.
  • Elemento1, Elemento2, , ElementoN Son los
    nombres de los elementos del TDU. Debe existir al
    menos uno.
  • Tipo Corresponde a un tipo de dato del sistema u
    otro TDU previamente definido.
  • Si un TDU tiene un alcance privado (Private),
    sólo se puede utilizar en el módulo donde está
    definido.

8
Crear tipos de datos TDU
  • Si un TDU tiene un alcance público (Public), se
    puede utilizar en cualquier parte.
  • Los módulos de formulario (archivos .frm) sólo
    pueden tener declaraciones TDU y variables TDU
    privadas.
  • Los módulos estándar (archivos .bas) pueden
    tener declaraciones TDU y variables TDU privadas
    o públicas.
  • Los elementos del TDU pueden ser variables
    normales, arreglos u otro TDU.

9
Crear tipos de datos TDU
  • Para acceder a un elemento de un TDU se usa el
    operador punto
  • variableTDU.elemento
  • Asignar y recuperar los valores de los elementos
    de una variable TDU es similar a establecer y
    obtener propiedades
  • variableTDU.elemento valor
  • También puede asignar una variable a otra si
    ambas son del mismo TDU
  • variable1TDU variable2TDU

10
Crear tipos de datos TDU
  • Una vez que se define un TDU, éste entra a formar
    parte de los tipos de datos disponibles en el
    proyecto

11
Ejemplo 1
  • Para un conjunto de puntos (x, y), contar cuántos
    están sobre el origen, el eje x, el eje y, el
    primer cuadrante, el segundo cuadrante, el tercer
    cuadrante y el cuarto cuadrante.

12
Ejemplo 1 Definición de variables
  • Datos de entrada
  • N ? Número de puntos
  • Pi ? Elemento i-ésimo del vector de puntos.
  • Cada punto tiene un valor X y un valor Y
  • Datos de salida
  • Origen ? Número de puntos sobre el origen
  • EjeX ? Número de puntos sobre el eje X
  • EjeY ? Número de puntos sobre el eje Y

13
Ejemplo 1 Definición de variables
  • Cuad1 ? Número de puntos sobre el primer
  • cuadrante
  • Cuad2 ? Número de puntos sobre el
  • segundo cuadrante
  • Cuad3 ? Número de puntos sobre el tercer
  • cuadrante
  • Cuad4 ? Número de puntos sobre el cuarto
  • cuadrante

14
Ejemplo 1 Código fuente
  • '(en General-Declaraciones)
  • Option Explicit 'Requerir declaración de
    variables
  • 'Declaración del TDU Punto
  • Private Type Punto
  • X As Single
  • Y As Single
  • End Type
  • 'Declaración de variables
  • Dim N As Integer, P() As Punto
  • Dim I As Integer, Origen As Integer
  • Dim EjeX As Integer, EjeY As Integer
  • Dim Cuad1 As Integer, Cuad2 As Integer
  • Dim Cuad3 As Integer, Cuad4 As Integer

15
Ejemplo 1 Código fuente
  • '(en el evento Click de un CommandButton)
  • 'Inicialización de variables
  • Origen 0
  • EjeX 0 EjeY 0
  • Cuad1 0 Cuad2 0
  • Cuad3 0 Cuad4 0
  • 'Lectura de datos
  • N Val(InputBox("Ingrese el número de Puntos"))
  • ReDim P(1 To N)
  • For I 1 To N
  • P(I).X Val(InputBox("X(" I ") "))
  • P(I).Y Val(InputBox("Y(" I ") "))
  • Next I

16
Ejemplo 1 Código fuente
  • 'Cálculos
  • For I 1 To N
  • If P(I).X 0 And P(I).Y 0 Then
  • Origen Origen 1
  • ElseIf P(I).Y 0 Then
  • EjeX EjeX 1
  • ElseIf P(I).X 0 Then
  • EjeY EjeY 1
  • ElseIf P(I).X gt 0 And P(I).Y gt 0 Then
  • Cuad1 Cuad1 1
  • ElseIf P(I).X lt 0 And P(I).Y gt 0 Then
  • Cuad2 Cuad2 1
  • ElseIf P(I).X lt 0 And P(I).Y lt 0 Then
  • Cuad3 Cuad3 1
  • Else
  • Cuad4 Cuad4 1
  • End If
  • Next I

17
Ejemplo 1 Código fuente
  • 'Mostrar resultados
  • Dim Aux As String
  • Aux Aux "Origen " Origen vbCrLf
  • Aux Aux "EjeX " EjeX vbCrLf
  • Aux Aux "EjeY " EjeY vbCrLf
  • Aux Aux "Cuad1 " Cuad1 vbCrLf
  • Aux Aux "Cuad2 " Cuad2 vbCrLf
  • Aux Aux "Cuad3 " Cuad3 vbCrLf
  • Aux Aux "Cuad4 " Cuad4 vbCrLf
  • Text1.Text Aux

18
Ejemplo 2
  • El archivo Datos.txt contiene varios registros
    con los siguientes datos de estudiantes sexo
    (M, F), edad (14, 35), código de la comuna
    donde vive (1, 16).
  • Elaborar un programa en VB que efectúe los
    siguientes procesos
  • Leer todos los registros de datos.
  • Calcular el total y el porcentaje de mujeres y de
    hombres.
  • Calcular el total y el porcentaje de los mayores
    de edad y de los menores de edad.
  • Determinar el porcentaje de los estudiantes que
    viven en las comunas de código impar pero
    distinto de 3.

19
Ejemplo 2 Definición de variables
  • Datos de entrada
  • Ei ? Registro i-ésimo de un estudiante.
  • Cada registro tiene
  • - Un elemento Sexo de tipo String
  • - Un elemento Edad de tipo Integer
  • - Un elemento CodComuna de tipo Integer
  • Datos de salida
  • NumH ? Número total de Hombres
  • NumM ? Número total de Mujeres
  • PorcH ? Porcentaje de Hombres
  • PorcM ? Porcentaje de Mujeres

20
Ejemplo 2 Definición de variables
  • MenE ? Número de menores de edad
  • MayE ? Número de mayores de edad
  • PorcMenE ? Porcentaje de menores de edad
  • PorcMayE ? Porcentaje de mayores de edad
  • PorcImpar ? Porcentaje de estudiantes que viven
    en comunas de código impar y distinto de 3.
  • Variables auxiliares
  • N ? Contador de estudiantes
  • NumImpar ? Número de estudiantes que viven en
    comunas de código impar y distinto de 3.

21
Ejemplo 2 Código fuente
  • '(en un módulo estándar)
  • 'Requerir declaración de variables
  • Option Explicit
  • 'Declaración del TDU Estudiante
  • Public Type Estudiante
  • Sexo As String 1
  • Edad As Integer
  • CodComuna As Integer
  • End Type
  • 'Declaración de variables globales
  • Dim N As Integer, E() As Estudiante, NumH As
    Integer
  • Dim NumM As Integer, PorcH As Single, PorcM As
    Single
  • Dim MenE As Integer, MayE As Integer
  • Dim PorcMenE As Single, PorcMayE As Single
  • Dim PorcImpar As Single, NumImpar As Integer

22
Ejemplo 2 Código fuente
  • '(en el evento Click de un CommandButton)
  • ChDrive App.Path 'Cambiamos el drive actual
  • ChDir App.Path 'Cambiamos el directorio actual
  • 'Abrimos el archivo
  • Dim NumArch As Integer
  • NumArch FreeFile()
  • Open "Datos.txt" For Input As NumArch
  • 'Leer datos mientras no sea el final del archivo
  • N 0
  • Do While Not EOF(NumArch)
  • N N 1
  • ReDim Preserve E(1 To N)
  • Input NumArch, E(N).Sexo, E(N).Edad,
    E(N).CodComuna
  • Loop
  • Close NumArch

23
Ejemplo 2 Código fuente
  • 'Cálculos
  • NumH 0 NumM 0 MenE 0 MayE 0 NumImpar
    0
  • Dim I As Integer
  • For I 1 To N
  • If E(I).Sexo "M" Then NumH NumH 1
  • Else NumM NumM 1 End If
  • If E(I).Edad lt 18 Then MenE MenE 1
  • Else MayE MayE 1 End If
  • If E(I).CodComuna Mod 2 1 And _
  • E(I).CodComuna ltgt 3 Then NumImpar NumImpar
    1
  • Next I
  • PorcH NumH / N PorcM NumM / N
  • PorcMenE MenE / N PorcMayE MayE / N
  • PorcImpar NumImpar / N

24
Ejemplo 2 Código fuente
  • 'Mostrar resultados
  • Dim Aux As String
  • Aux Aux "NumH " NumH vbCrLf
  • Aux Aux "NumM " NumM vbCrLf
  • Aux Aux "PorcH " PorcH vbCrLf
  • Aux Aux "PorcM " PorcM vbCrLf
  • Aux Aux "MenE " MenE vbCrLf
  • Aux Aux "MayE " MayE vbCrLf
  • Aux Aux "PorcMenE " PorcMenE vbCrLf
  • Aux Aux "PorcMayE " PorcMayE vbCrLf
  • Aux Aux "PorcImpar " PorcImpar vbCrLf
  • I FreeFile()
  • Open "Resultados.txt" For Output As I
  • Print I, Aux
  • Close I

25
Tarea
  • Tomar o crear un archivo de datos y calcularle
    los principales estadísticos (media, desviación
    estándar, otros).

26
Algoritmos y ProgramaciónClase 6 Segunda Parte
  • MATRICES

27
Contenido
1. Repaso Matrices (variables tipo tabla). 2.
Iteración definida con matrices (índices). 3.
Ejemplos de aplicación. 4. Actividades extraclase
(Tareas).
28
1. Matrices
Una matriz es un arreglo de datos, organizados en
filas y columnas.
n columnas
a11 a12 ... a1j ... a1n a21
a22 ... a2j ... a2n ai1 ai2 ...
aij ... ain am1 am2 ... amj ... amn
A
m filas
29
1. Matrices
  • En VB una matriz (o arreglo) requiere
  • Un NOMBRE, que ha de ajustarse a la sintaxis de
    nombres del lenguaje. Ej A, Tabla_Uno, X, XY,
    etc.
  • Una DECLARACIÓN (Dim) en la cual se especifique
    el tipo de datos y el número de filas y columnas.

30
1. Matrices - Declaración
  • Declaración de matrices Se hace con la
    instrucción
  • Dim
  • Puede ser ESTÁTICA o DINÁMICA.
  • Declaración ESTÁTICA. Ejemplo
  • Dim A(20,10) As Single
  • El número de filas (20) y columnas (10) es
    definido.

31
1. Matrices - Declaración
  • Declaración DINÁMICA. Ejemplo
  • Dim A() As Single
  • El número de filas y columnas se sabrá a tiempo
    de ejecución (tiempo dinámico).
  • Luego, con M y N conocidos, se redimensiona la
    matriz
  • ReDim A(M,N)

32
1. Matrices - Declaración
  • Si se desea modificar el tamaño de la matriz
    preservando los valores que ésta contiene, se
    puede redimensionar nuevamente sólo cambiando el
    número de elementos de el último subíndice.
  • Ejemplo
  • ReDim Preserve A(M,T)

33
1. Matrices - Elementos
  • Por convención,
  • A(i, j) es el elemento de la i-ésima fila y
    j-ésima columna de la matriz A.
  • el primer subíndice (i) se refiere al subíndice
    de las filas.
  • el segundo subíndice (j) se refiere al subíndice
    de las columnas.
  • Ej A(3,4) representa el elemento de la fila 3,
    columna 4 de la matriz A.

34
Matrices - Procesos
  • Procesos con matrices
  • Lectura desde cualquier medio de entrada
    (teclado, archivo, etc).
  • Cálculos y Relaciones Lógicas Los elementos de
    la matriz pueden intervenir en operaciones
    lógicas y matemáticas como cualquier variable.
  • Salida de resultados hacia cualquier medio de
    salida (pantalla, archivo, etc).

35
Iteración Definida/1
PROCESO DE LECTURA DESDE EL TECLADO
  • L número de fila.
  • K número de columna.
  • La matriz se recorre por filas.
  • Se asigna valor a la fila L y se recorren sus
    elementos internos (columnas K).
  • Luego se mueve a la siguiente fila L.

For L 1 To M For K 1 To N X(L, K)
InputBox(Xlk ) Next K Next L
36
Iteración Definida/2
PROCESO DE LECTURA DESDE UN ARCHIVO
Nom App.Path \MAT.txt Redim X(M,N) OPEN Nom
FOR INPUT As7 For L 1 To M For K 1 To N
Input7, X(L,K) Next K Next L CLOSE7
  • Se abre el archivo de datos.
  • Se recorren todos los elementos de la matriz, y
    se llenan los datos.
  • Se cierra el archivo de datos.

37
Ejemplos de aplicación
Suma de dos matrices
38
Ejemplos de aplicación
Suma de dos matrices
For i 1 To m For j 1 To n C(i,j)
A(i,j) B(i,j) Next j Next i
Este ejemplo trabaja por filas. También se puede
hacer por columnas
39
Ejemplos de aplicación
Calcular la suma y el promedio de cada fila de la
matriz X
For i 1 To M SF(i) 0.0 For j 1 To
N SF(i) SF(i) X(i,j) Next j
PF(i) SF(i) / N Next I
40
Ejemplo de aplicación
Calcular el mayor y el menor de cada fila de la
matriz X
For i 1 To M MaxF(i) X(i,1) MinF(i)
X(i,1) For j 2 To N If(X(i,j) gt
MaxF(i))Then MaxF(i) X(i,j)
ElseIf(X(i,j) lt MinF(i))Then MinF(i)
X(i,j) End if Next j Next i
41
Ejemplo de aplicación Multiplicar un vector
columna por un vector fila para formar una matriz
42
Cmxn am x btn
bt1xn
amx1
Cmxn
Cijaibj i 1,,m , j1,,n
43
Algoritmo para C a x bt
  • Lectura de datos.
  • Se redimensiona la matriz.
  • Se fija una fila para la matriz C.
  • Se fija una columna de la matriz C.
  • Se multiplica término a término ab.
  • Fin
  • Redim C(m,n)
  • For i1 to m
  • For j1 to n
  • C(i,j) a(i)b(j)
  • Next j
  • Next i

44
Transpuesta de una matriz Amn ? Atnm
A
AT
45
Características del algoritmo
  • Se requieren dos procesos iterativos para
    recorrer las dos dimensiones de la matriz A.
  • AT(j,i) ? A(i,j) i1,,m j1,,n
  • La dimensión de la matriz transpuesta
  • A(m,n) ? AT(n,m)

46
El Algoritmo
  • dimensión de la matriz transpuesta.
  • Se posiciona en la fila i de la matriz A que será
    la columna i de la matriz AT.
  • Se posiciona en la columna j de la matriz A que
    será la fila j de la matriz AT.
  • Se le asignan los valores a la matriz AT.
  • Lee n, m, A
  • Dim AT(n,m)
  • For i1 to m
  • For j1 to n
  • AT(j,i) A(i,j)
  • Next j
  • Next i

47
Ejercicio de matrices
  • Hacer un programa que permita identificar si una
    matriz es identidad o no.

Verdadero (True)
Falso (False)
48
El Algoritmo
EsIdentidad True For i 1 To n For j 1
To n If (i j And matriz(i, j) ltgt 1)
Then EsIdentidad False Exit
For End If If (i ltgt j And
matriz(i, j) ltgt 0) Then EsIdentidad
False Exit For End If
Next j Next i
49
Listado de ejercicios
  • Dada una matriz A de orden mxn, calcular otra
    matriz B de orden mxn de tal manera que cada
    elemento de B contenga la suma de los vecinos del
    correspondiente elemento de A.
  • Calcular el producto escalar de las dos
    diagonales de una matriz.

50
Algoritmos y ProgramaciónFin Clase 6
51
Algoritmos y ProgramaciónClase 6
  • Anexos

52
Manejo de Archivos
  • Un archivo es un conjunto de datos relacionados
    ubicados en un disco.
  • Dependiendo del tipo de datos que contiene el
    archivo, se usa el tipo de acceso apropiado. En
    VB hay tres tipos de acceso a archivos
  • Secuencial para leer y escribir archivos de
    texto en bloques continuos.
  • Aleatorio para leer y escribir archivos binarios
    de texto o estructurados como registros de
    longitud fija.
  • Binario para leer y escribir archivos
    estructurados de forma arbitraria.

53
Manejo de Archivos
  • El tipo de acceso a archivos que se utilizará en
    este curso es el tipo de acceso secuencial.
  • El acceso secuencial está diseñado para usarlo
    con archivos de texto normales como los archivos
    creados con un editor de textos típico (como el
    Bloc de Notas).
  • Un archivo abierto para acceso secuencial
    permite
  • Leer datos desde el archivo (Input)
  • Escribir datos en el archivo (Output)
  • Anexar datos en el archivo (Append)

54
Instrucción Open
  • Para abrir un archivo para acceso secuencial, se
    usa la instrucción Open.
  • Sintaxis
  • Open archivo For modo As numArchivo
  • archivo Requerido. Expresión de cadena que
    especifica un nombre de archivo puede incluir el
    directorio o carpeta y la unidad de disco.
  • modo Requerido. Palabra clave que especifica el
    modo de archivo Input (Lectura), Output
    (Escritura), Append (Escritura, agregando datos)

55
Instrucción Open
  • numArchivo Requerido. Un número de archivo
    válido entre 1 y 511 inclusive. El carácter es
    opcional. Para obtener el siguiente número de
    archivo disponible se utiliza la función
    FreeFile.
  • Si la ruta del archivo no se incluye en archivo,
    VB buscará el archivo en el directorio actual.
  • El directorio actual, inicialmente, es la carpeta
    desde donde se ejecuta la aplicación.
  • Para cambiar el directorio actual se utiliza la
    instrucción ChDir.

56
Instrucción Open
  • Cuando se abre un archivo secuencial en modo
    Input, el archivo ya debe existir de lo
    contrario se produce un error.
  • Cuando se abre un archivo que no existe en modo
    Output o Append, la instrucción Open primero crea
    el archivo y luego lo abre.
  • Para cerrar un archivo abierto con la instrucción
    Open se utiliza la instrucción Close.

57
Función FreeFile
  • Devuelve un tipo Integer que indica el siguiente
    número de archivo disponible para su uso en la
    instrucción Open.
  • Sintaxis
  • FreeFile(numIntervalo)
  • numIntervalo Opcional. Un valor entero 0 o 1.
  • Si numIntervalo es 0 (predeterminado), FreeFile
    devuelve un número de archivo entre 1 y 255,
    inclusive.
  • Si numIntervalo es 1, FreeFile devuelve un número
    de archivo entre 256 y 511.

58
Instrucción Close
  • Cierra un archivo secuencial abierto con la
    instrucción Open.
  • Sintaxis
  • Close numArchivo
  • numArchivo Opcional. Es cualquier número de
    archivo válido. El carácter es opcional. Si se
    omite, Close cierra todos los archivos abiertos
    con la instrucción Open.
  • Se pueden cerrar varios archivos separando cada
    numero de archivo con una coma en la misma
    instrucción Close.

59
Instrucción ChDir
  • Cambia el directorio o carpeta actual.
  • Sintaxis
  • ChDir ruta
  • ruta Requerido. Un String que identifica el
    directorio o carpeta que va a ser el nuevo
    directorio o carpeta actual. Si no existe se
    genera un error.
  • La ruta puede incluir la unidad de disco. Si no
    se especifica la unidad, la instrucción ChDir
    cambia el directorio de la unidad actual.

60
Instrucción ChDrive
  • Cambia la unidad de disco actual.
  • Sintaxis
  • ChDrive unidad
  • unidad Requerido. Un String que especifica una
    unidad de disco existente.
  • Si unidad es una cadena de longitud cero (""), la
    unidad de disco actual no cambia.
  • Si unidad no existe se genera un error.

61
App.Path
  • La propiedad Path del objeto App (objeto global
    que guarda información de la aplicación) devuelve
    un String con la ruta de acceso desde donde se
    está ejecutando la aplicación.
  • App.Path especifica la ruta de acceso del archivo
    .vbp de proyecto cuando se ejecuta la aplicación
    desde el entorno de desarrollo, o la ruta de
    acceso del archivo .exe cuando se ejecuta la
    aplicación como un archivo ejecutable.
  • Utilice la instrucción ChDir App.Path para
    cambiar la carpeta actual al directorio de
    ejecución de la aplicación.

62
Lectura y escritura de datos
  • Para leer datos desde un archivo secuencial se
    puede utilizar
  • La instrucción Input
  • La instrucción Line Input
  • La función Input()
  • Para escribir datos en un archivo secuencial se
    puede utilizar
  • La instrucción Print
  • La instrucción Write

63
Instrucción Input
  • Lee datos de un archivo secuencial abierto y
    asigna esos datos a variables.
  • Sintaxis
  • Input numArchivo, listaVariables
  • numArchivo Requerido. Cualquier número de
    archivo válido.
  • listaVariables Requerido. Lista de variables
    delimitada por comas que se le asignan los
    valores que se leen del archivo.

64
Instrucción Input
  • Las variables a leer con la instrucción Input
    no pueden ser una matriz o una variable de
    objeto. Sin embargo, es posible usar variables
    que describen elementos de una matriz o de un
    tipo definido por el usuario.
  • Los elementos de datos de un archivo deben
    aparecer en el mismo orden que tienen las
    variables en listavariables y deben coincidir con
    variables del mismo tipo de datos.

65
Instrucción Input
  • Si una variable es numérica y los datos no lo
    son, se asigna un valor cero a esa variable.
  • Si se llega al fin del archivo cuando se está
    leyendo un elemento de datos, se da por terminada
    la entrada y se produce un error.
  • La instrucción Input ignora las comillas dobles
    ("") en la entrada de datos.
  • Esta instrucción reconoce como separador válido
    de datos a la coma (,) y al Enter. Otro separador
    puede producir resultados inesperados.

66
Función EOF
  • Devuelve un tipo Boolean que indica si se llegó
    al final de un archivo abierto.
  • Sintaxis
  • EOF(numArchivo)
  • numArchivo Requerido. Un número de archivo
    válido.
  • La función EOF devuelve True cuando se llega al
    final del archivo en caso contrario devuelve
    False.

67
Instrucción Print
  • Escribe datos en un archivo secuencial.
  • Sintaxis
  • Print numArchivo, exp poscar
  • numArchivo Requerido. Un número de archivo
    válido. El carácter es obligatorio.
  • exp Opcional. La expresión a escribir en el
    archivo.
  • poscar Opcional. Especifica el punto de
    inserción del carácter siguiente. Si se omite, el
    siguiente carácter se imprime en la línea
    siguiente.

68
Instrucción Print
  • Utilice un punto y coma () en poscar para situar
    el punto de inserción inmediatamente a
    continuación del último carácter mostrado.
    Utilice una coma (,) ó Tab para situar el punto
    de inserción al principio de la siguiente zona de
    impresión.
  • La instrucción Print no escribe comillas dobles
    alrededor de una expresión de tipo String.

69
Instrucción Line Input
  • Lee una línea de un archivo secuencial abierto y
    la asigna a una variable String.
  • Sintaxis
  • Line Input numArchivo, variable
  • numArchivo Requerido. Cualquier número de
    archivo válido. El carácter es obligatorio.
  • variable Requerido. Una variable de tipo String.

70
Instrucción Line Input
  • La instrucción Line Input lee un carácter en el
    archivo hasta que encuentra un retorno de carro
    (ASCII 13) o una secuencia retorno de
    carro-avance de línea (ASCII 13 ASCII 10) y
    luego almacena en variable los caracteres leídos.
  • Las secuencias de retorno de carro-avance de
    línea no se tienen en cuenta y no se añaden a la
    cadena de caracteres.

71
Función Input
  • Devuelve un tipo String que contiene caracteres
    de un archivo abierto en modo Input.
  • Sintaxis
  • Input(numCar, numArchivo)
  • numCar Requerido. Un entero correspondiente al
    número de caracteres a leer.
  • numArchivo Requerido. Un número de archivo
    válido. El carácter es opcional.

72
Función Input
  • A diferencia de la instrucción Input , la
    función Input devuelve todos los caracteres que
    lee, incluyendo puntos y coma, retornos de carro,
    avances de línea, comillas y espacios iniciales.
  • Para leer todo el contenido del archivo, utilice
    la función LOF para determinar el número de
    caracteres que tiene el archivo.
  • LOF(numArchivo) ? Devuelve un tipo Long que
    indica el número de caracteres de un archivo
    abierto mediante la instrucción Open.

73
Instrucción Write
  • Escribe datos en un archivo secuencial.
  • Sintaxis
  • Write numArchivo, listaExp poscar
  • numArchivo Requerido. Un número de archivo
    válido. El carácter es obligatorio.
  • listaExp Opcional. Una o varias expresiones
    delimitadas por comas, espacios o puntos y comas
    () que se desean escribir en el archivo. La
    instrucción Write imprime una coma en el
    archivo por cada expresión que se escriba en el
    archivo y comillas dobles alrededor de
    expresiones de tipo String.

74
Instrucción Write
  • poscar Opcional. Especifica el punto de
    inserción del carácter siguiente. Puede ser una
    coma (,) o un punto y coma (). Si se omite, el
    siguiente carácter se imprime en la línea
    siguiente.
  • poscar igual a una coma (,) tiene el mismo efecto
    que poscar igual a un punto y coma () situar el
    punto de inserción inmediatamente a continuación
    del último carácter mostrado, separando los datos
    por una coma en el archivo.
Write a Comment
User Comments (0)
About PowerShow.com