You are on page 1of 15

Nayeli Yoselin De La Torre Gmez 10231291 Archivos Secuenciales En Diferentes Lenguajes De Programacin

Archivos secuenciales
En estos archivos, la informacin slo puede leerse y escribirse empezando desde el principio del archivo. Los archivos secuenciales tienen algunas caractersticas que hay que tener en cuenta: y La escritura de nuevos datos siempre se hace al final del archivo. y Para leer una zona concreta del archivo hay que avanzar siempre, si la zona est antes de la zona actual de lectura, ser necesario "rebobinar" el archivo. y Los ficheros slo se pueden abrir para lectura o para escritura, nunca de los dos modos a la vez.

C#
La sintaxis bsica de CSharp (C#) deriva de los lenguajes C/C++, Utiliza un modelo similar a Java. Este lenguaje de programacin est enfocado a objetos siendo tambin un lenguaje multiplataforma. Los tipos de datos se pueden dividir en tipos de valor y tipos de referencia. En este lenguaje las constantes se denominan como literales. Estas se alojan dependiendo de su tamao, donde las enteras son int y las flotantes son double. Las constantes se pueden conocer por sufijos, l para lona, ul para ulong, f para float y m para decimal. C# cuenta tambin con secuencias de escape, estos elementos representan objetos que careceran de representacin visual, tales como \a para alerta, \b para retroceso \f para avance de pgina etc.. Estos elementos no deben de ser incluidos en las cadenas de texto, estas pueden iniciarse con el smbolo de @ seguido por comillas. Las variables se declaran de la siguiente manera: tipo nombre_variable; donde para asignar un valor se utiliza el comando nombre_variable=valor; C# tambin hace uso de comandos que permiten transformar un cierto tipo de dato numrico a otro con distintas caractersticas o bien de una cadena a un valor. En este lenguaje tambin se encuentran los operadores tradicionales como son por ejemplo, +, -,*,/, %,++, etcW En este lenguaje los operadores funciona de una manera muy similar a C/C++; Las instructions de control son iguanas a c/c++. El comando if/else

y Sintaxis bsica de C#

funciona de la misma manera, el switch se diferencia que todos los comandos deben de topar con un break o con un goto antes de poder abrir otro switch. Los mtodos de while , do while, break, continues y for son iguales a los lenguajes de c/c++. Sin embargo las instrucciones de foreach la sintaxis es: foreach(tipo de variable n coleccion) lo que permite realizar ciclos en elementos de un grupo.

namespace archivosSecuenciales { class Program { static void Main(string[] args) { try {

y Archivos secuenciales dentro de c#

TextReader trs = new StreamReader(@"C:\test.txt"); //Lectura una linea de texto en archivos secuenciales while (trs.Peek() >=0 ) // NO MODIFICA NI ALTERA EL ORDEN */ { Console. riteLine(trs.ReadLine()); } trs.Close(); } catch (Exception e) { Console. riteLine(e.Message); } Console. riteLine("Presione cualquier tecla para continuar...");

Console.ReadKey(); } } }

PHP
PHP es un lenguaje interpretado que se introduce dentro del HTML, como JavaScript, pero con una gran diferencia, el PHP se interpreta en el servidor y JavaScript el la maquina del cliente. Mediante PHP podemos trabajar con formularios, cookies y su mayor potencia es el trabajo con Bases de Datos, aparte de numerosas caracteristicas como el trabajo con sockets y distitos protocolos como el manejo de emails.

y Sintaxis
Veamos un poco la sintaxis basica, primero y principal debemos diferenciar el codigo HTML del codigo PHP y para realizar esta diferencia tenemos que abrir el codigo PHP con la etiqueta <?php y cerrarlo con ?>, tambien existen otros metodos pero para esto hay configurar una serie de parametros y eso lo veremos en otros articulos sobre PHP. Ahora veamos un breve ejemplo de codigo PHP. Noten que al finalizar cada instruccion se debe agregar el caracterer ';' como en JavaScript. <?php echo "Esto es una prueba";?> Como todo lenguaje tiene la posibilidad de agregar comentarios a continuacion veremos las formas de realizar los comenterios <?php echo "Hola a Todos!!!"; // Esto es un comentario tipo c++ /* Comentario multilnea para varias lineas de codigo*/ echo "Chau!!!"; echo "Saludos!!!"; # Comentario estilo shell de unix

?>
y

Variables

Las variables no tienen un tipo definido, si queres forzar a que una variable tenga un tipo de datos especifico tenes que utilizar la funcion settype() que sirve para establecer el tipo de una variable. La forma de escribir una variable es mediante el signo '$' seguido del nombre de la variable, veamos una ejemplo: <?php $numero = 4; $cadena = "hola a todos";
?>

y Archivos secuenciales con php


<?

function negrita($path,$cadena) { //Iniciamos la variable $texto = ""; //Abrimos el archivo en modo lectura $fp = fopen($path,"r"); //Leemos linea por linea el contenido del archivo while ($linea= fgets($fp,1024)) { //Sustituimos las ocurrencias de la cadena que buscamos $linea = str_replace($cadena,"<b>$cadena</b>",$linea); //Anadimos la linea modificada al texto $texto .= $linea; } return $texto; } //Definimos el path y la cadena $path="escribe el camino de acceso a tu archivo"; $cadena = "escribe tu cadena"; //Llamamos la funcion $texto = negrita ($path,$cadena); //Mostramos el texto

echo $texto; ?>

JAVA
y sintaxis de Java
Esto quiere decir, como se debe escribir en el lenguaje Java, como debes escribir las lineas de codigo, operadores y un poco de la estructura. Primeramente explicare unas simples reglas que debes seguir al escribir en Java y seguir una sintaxis correcta sin cometer errores y escribir de la manera correcta. -Todas las instrucciones (OJO una instruccin no es lo mismo que una linea, ya que en Java puedes dejar espacios entre lineas y no haber terminado la instruccin) de codigo en Java deben terminar con un signo punto y coma " ; " ej: System.out.println("Hola mundo" ); //notese que la isntruccion se divide en dos lineas pero al terminar se utiliza ";" -Todas las variables al igual que en otros lenguajes deben iniciar con una letra mas no con un numero o caracter especial, pueden iniciar con una letra y posteriormente usar numeros para nombrarlas. ej: String hola; //correcto Integer Numero1; //correcto Double 23numero; //incorrecto -Otra regla importante es que para llevar una estructura correcta, todo programa en Java debe tener minimo una clase, las cuales deben tener metodos, las clases se crean de la siguiente manera: public class Nombredeclase /*aqui se declara una clase, notese que comienza con mayusculas la cual es la forma correcta de nombrar una clase*/ { public static void main(String args[ ]){}/* este es el metodo principal de la clase, dentro de este se escriben instrucciones*/ } Comprender la estructura de un programa en Java puede ser dificil si no se tiene mucha experiencia, pero la mejor manera de comprender como funciona es programando, puedes utilizar

programas ya hechos , ejecutarlos y asi mismo estudiar su codigo fuente para que comprendas su funcionamiento. Operadores numericos: Continuemos con los operadores numericos, los operadores numericos basicos son los siguientes: * multiplicacin + suma resta / division % modulo o residuo(regresa el residuo de una division) Operadores condicionales > mayor que < menor que >= mayor o igual <= menor o igual == igual //para comparar igualdad se puede utilizar el metodo .equals() para comparar objetos, asi como cadenas String y otras clases de objetos ! diferente != diferente de Asignacin = el simbolo " = " igual se utiliza para asignar un valor a una variable, es por esto que no debe ser utilizado como condicin. Ej: Variablenumerica = 25; //uso correcto ya que se asigna un valor numerico a un numero if(variable1=variable2) //uso incorrecto Para practicar mas, revisa la seccin de codigo fuente y estudia algunos programas, podras encontrar algunos programas donde se utilizen estos operadores para que los analices y comprendas su funcionamiento.

y Archivos secuenciales en Java


Se creara un archivo con registros de numero de matricula, nombre y pedir 3 calificaciones para despus calcular el promedio. import java.io.*; import java.util.Scanner; public class Archivos{ public static void main( String args[] )throws IOException{ Scanner leer = new Scanner(System.in); DataOutputStream Archi = null; int i;

int matricula=0; String nombre=new String( ); int calif1; int calif2; int calif3; double promedio; try{ for (i=0; i<5; i++){ Archi = new DataOutputStream( new FileOutputStream( ../Archivo.dat ,true) ); System.out.println( Escribe la matricula: ); matricula = leer.nextInt(); System.out.println( Escribe Nombre: ); nombre = leer.next(); System.out.println( Ingrese Calificacion 1: ); calif1 = leer.nextInt(); System.out.println( Ingrese Califiacin 2 ); calif2 = leer.nextInt(); System.out.println( Ingrese Calificacion 3 ); calif3 = leer.nextInt(); Archi.writeInt(matricula); Archi.writeUTF(nombre); Archi.writeInt(calif1); Archi.writeInt(calif2); Archi.writeInt(calif3); Archi.close(); } } catch(FileNotFoundException fnfe) {} catch (IOException ioe) {} } }

DELPHI y Archivos secuenciales Delphi


1. unit Unit1; 2. interface 3. uses 4. indows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 5. Dialogs, StdCtrls; 6. type 7. TForm1 = class(TForm) 8. Memo: TMemo; 9. archivo: TEdit; 10. Button1: TButton; 11. Button2: TButton; 12. Button3: TButton; 13. Button4: TButton; 14. Label1: TLabel; 15. Label2: TLabel; 16. Label3: TLabel; 17. Label4: TLabel; 18. Label5: TLabel; 19. Label6: TLabel; 20. letras: TLabel; 21. digitos: TLabel; 22. blancos: TLabel; 23. caracteres: TLabel; 24. consonantes: TLabel; 25. vocales: TLabel; 26. procedure Button4Click(Sender: TObject); 27. procedure Button3Click(Sender: TObject); 28. procedure Button1Click(Sender: TObject); 29. procedure Button2Click(Sender: TObject); 30. private 31. { Private declarations } 32. public 33. { Public declarations } 34. end; 35. var 36. Form1: TForm1; 37. implementation 38. {$R *.dfm} 39. procedure TForm1.Button4Click(Sender: TObject); 40. begin 41. form1.close

42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86.

end; procedure TForm1.Button3Click(Sender: TObject); begin archivo.Text:=''; letras.caption:=''; digitos.caption:=''; blancos.caption:=''; caracteres.caption:=''; vocales.caption:=''; consonantes.caption:=''; memo.Text:=''; memo.SetFocus; end; procedure TForm1.Button1Click(Sender: TObject); begin memo.Lines.LoadFromFile(archivo.text); end; procedure TForm1.Button2Click(Sender: TObject); var l,d,b,v,c,ce,a,band:integer; x:char; begin l:=0; d:=0; b:=0; v:=0; c:=0; ce:=0; a:=0; while a<>length(memo.Text) do begin band:=0; a:=a+1; x:=memo.text[a]; if x in ['A'..'Z','a'..'z','','','','','','','','','','','',''] then begin l:=l+1; band:=1; end; if x in ['0'..'9'] then begin d:=d+1; band:=1; end; if x=' ' then

87. 88. 89. 90. 91.

begin b:=b+1; band:=1; end;

if x in ['a','e','i','o','u','A','E','I','O','U','','','','','','','','','',''] the n 92. begin 93. v:=v+1; 94. band:=1; 95. end; 96. if band=0 then 97. ce:=ce+1; 98. end; 99. letras.caption:=inttostr(l); 100. digitos.caption:=inttostr(d); 101. blancos.caption:=inttostr(b); 102. vocales.caption:=inttostr(v); 103. consonantes.caption:=inttostr(l-v); 104. caracteres.caption:=inttostr(ce); 105. end; 106. end.

XML
y Sintaxis bsica para XML
Se refiere al procesamiento de los registros, no importa el orden en que sehaga, para eso los registros estn organizados en forma de una lista yrecuperarlos y procesarlos uno por uno de principio a fin.Rudimentos de los archivos Secuenciales; dependiendo del dispositivo dealmacenamiento utilizado el archivo se puede mostrar el usuario como si fueraun sistema secuencial. Al finalizar un archivo secuencial se denota con una marca de fin de archivo.(End end-of-file)El usuario de un archivo secuencial puede ver los registros en un ordensecuencial simple.La nica forma de recuperar registros es comenzar al principio y extraerlos enel orden contemplado.< xml="true" ns="urn:schemas-microsoftcom:office:office" prefix="o"namespace="">Los archivos secuenciales se denominan de esta manera por que la forma deescribir y leer los

datos en un archivo es, desde el principio hasta el fin delarchivo, es decir, si yo quisiera acceder a un determinado dato del archivo y este dato se encuentra en la mitad del archivo, para llegar a ese dato necesitopasar por todos los dems datos, de forma secuencial. Por lo general se suelenutilizar los archivos secuenciales, para trabajar con archivos que contenganuna estructura de datos no muy compleja. Append: esta sentencia se utiliza para agregar informacin a un archivo detexto.Input: la sentencia Input se utiliza para leer datos de un archivo de texto, leetodo el contenido del archivo de una sola vez.Output: esta sentencia se utiliza para crear un archivo de texto y grabar datos.sentencia rite: escribe datos en un archivo separados por comas.Line Input: lee un archivo de texto lnea por lnea.Print : para escribir datos en archivos de texto.tos en archivos de texto

y ARCHIVOS SECUENCIALES EN XML


Como primer paso debemos tener un archivo XML que nos sirva para probar nuestra aplicacin.Podemos crearlo con el cdigo detallado abajo con el nombre de XMLPrueba.xml. Debemos crear este archivo en un editor como el NotePad, ya que necesitamos un archivo sin caracteres extraos. Texto Plano <?xml version="1.0" encoding="UTF8"?><usuarios><name codigo="mtorres"><nombre>Maria </nombre><apellido>Torres </apellido></name><name codigo="cortiz"><nombre>Carlos </nombre><apellido>Ortiz </apellido></name></usuarios>Luego de tener nuestro archivo XML creado podremos crear nuestro cdigo en VB.NETUtilizando el XMLTextReader Este formato es muy sencillo y para leer el achivo XML debemos hacerlo secuencialmente, lneapor lnea. Texto Plano VB.NE T :

Imports System.IOImports System.XmlModule ParsingUsingXmlTextReader Sub Main()Dim m_xmlr As XmlTextReader 'Creamos el XML Reader m_xmlr = New XmlTextReader("C:\XMLPrueba.xml") 'Desabilitamos las lineas en blanco,

'ya no las necesitamos m_xmlr. hiteSpaceHandling = hiteSpaceHandling.NONE Leemos el archivo y avanzamos al tag de usuarios m_xmlr.Read() 'Leemos el tag usuarios m_xmlr.Read() 'Creamos la secuancia que nos permite 'leer el archivo hile Not m_xmlr.EOF 'Avanzamos al siguiente tag m_xmlr.Read() 'si no tenemos el elemento inicial 'debemos salir del ciclo If Not m_xmlr.IsStartElement() ThenExit hileEnd If 'Obtenemos el elemento codigo Dim mCodigo = m_xmlr.GetAttribute("codigo") 'Read elements firstname and lastname m_xmlr.Read() 'Obtenemos el elemento del Nombre del Usuario Dim mNombre = m_xmlr.ReadElementString("nombre") 'Obtenemos el elemento del Apellido del Usuario Dim mApellido = m_xmlr.ReadElementString("apellido") 'Escribimos el resultado en la consola, 'pero tambien podriamos utilizarlos en 'donde deseemos

'ya no las necesitamos m_xmlr. hiteSpaceHandling =

hiteSpaceHandling.NONE

Console. riteLine("Codigo usuario: " & mCodigo _ & " Nombre: " & mNombre _ & " Apellido: " & mApellido)Console. rite(vbCrLf)End hile 'Cerramos la lactura del archivo m_xmlr.Close() End Sub End Module

Utilizando el XmlDocumentEste formato es mas complejo y nos permite recorrer los nodos sin tener que utilizar una lecturasecuencial. Definitivamente este formato es ms eficiente qu e el anterior principalmente paradocumentos XML muy grandes. T exto Plano VB.NE T : Imports System.IOImports System.XmlModule ParsingUsingXmlDocumentSub Main()TryDim m_xmld As XmlDocumentDim m_nodelist As XmlNodeListDim m_node As XmlNode 'Creamos el "XML Document" m_xmld = New XmlDocument() 'Cargamos el archivo m_xmld.Load("C:\XMLPrueba.xml") 'Obtenemos la lista de los nodos "name" m_nodelist = m_xmld.SelectNodes("/usuarios/name") 'Iniciamos el ciclo de lectura For Each m_node In m_nodelist 'Obtenemos el atributo del codigo Dim mCodigo = m_node.Attributes.GetNamedItem("codigo").Value 'Obtenemos el Elemento nombre Dim mNombre = m_node.ChildNodes.Item(0).InnerText 'Obtenemos el Elemento apellido Dim mApellido = m_node.ChildNodes.Item(1).InnerText 'Escribimos el resultado en la consola, 'pero tambien podriamos utilizarlos en 'donde deseemos

Console. rite("Codigo usuario: " & mCodigo _ & " Nombre: " & mNombre _ & " Apellido: " & mApellido)Console. rite(vbCrLf) NextCatch ex As Exception 'Error trapping Console. rite(ex.ToString()) End TryEnd SubEnd

You might also like