.: Men� :.

Made in Ecuador
:: Home :.
:: Programaci�n :.
 Introducci�n
 Soluci�n de un problema
 Objetivos de la Programaci�n
 Herramientas para Programar
 Programaci�n Estructurda
 Otras T�cnicas
:: Principiante :.
 �Que es Turbo Pascal?
 Estructura de un programa
 Declaraci�n de Variables
 Definici�n de Tipos
 Operadores
 Expresiones
 Instrucciones
 Procedimientos Entrada/Salida
 Mi primer Programa
 Ejercicios Propuestos
:: Medio :.
:: Estructuras de Control :.
   :: Selecci�n :.
 If...Then...Else
 Case...of...Else
   :: Bucles :.
 While...Do
 Repeat...Until
 For...to...Do
:: Tipos Estructurados :.
 Cadenas
 Vectores
 Matrices
 Registros
 Ejercicios Propuestos
:: Avanzado :.
 Archivos
 Punteros
 Modo Grafico
 Modo Print
 Ejercicios Propuestos
:: Experto :.
 Librerias
 Compiladores
 Manejo de Puertos LPT
 Base de Datos en Codigo
 Ejercicios Propuestos
:: Varios :.
 Codigo Fuente
 Resultado Ejercicios Propuestos
 Autor Pagina Web

Enviame un e-mail



Procedimientos Entrada/Salida

Desde el punto de vista del hardware, las instrucciones de entrada y salida le ayudan al programa a comunicarse con un perif�rico de la computadora tal como una terminal, una impresora o un disco. Las instrucciones de entrada est�ndar, sirven para leer car�cteres desde el teclado, y las instrucciones de salida est�ndar despliegan car�cteres en la pantalla. En Pascal todas las operaciones de entrada/salida se realizan ejecutando unidades de programa especiales denominados procedimientos de entrada/salida que forman parte del compilador y sus nombres son identificadores est�ndar: Procedimientos de entrada Read ReadLn Procedimientos de salida Write WriteLn Procedimientos Read y Readln Los procedimientos predefinidos Read y ReadLn (contracci�n de Read Line), constituyen la base para las instrucciones de entrada est�ndar. Las instrucciones de entrada proporcionan datos durante la ejecuci�n de un programa. Las instrucciones para llamar a los procedimientos Read y ReadLn son de la siguiente forma : Read(lista_de_variables); ReadLn(lista_de_variables); donde : lista_de_variables : es una lista de identificadores de variables separados por comas,los datos que se pueden leer son : enteros, caracteres, o cadenas. No se puede leer un boolean o un elemento de tipo enumerado. Los datos estructurados , arrays, registros o conjuntos, no se pueden leer globalmente y se suele recurrir a dise�ar procedimientos espec�ficos. La acci�n de la instrucci�n es obtener, del teclado, tantos valores de datos como elementos hay en lista_de_variables. Los datos deber�n ser compatibles con los tipos de las variables correspondientes en la lista. Cada valor entero o real en el flujo de entrada puede ser representado como una secuencia de caracteres en alguna de las formas permitidas para tales n�meros, y puede estar inmediatamente precedido por un signo m�s o un signo menos. Cada valor entero o real puede ser precedido por cualquier cantidad de caracteres blancos o fines de l�nea, pero no deber� haber blancos o fines de l�nea entre el signo y el n�mero. La diferencia entre las instrucciones Read y ReadLn consiste en que Read permite que la siguiente instrucci�n contin�e leyendo valores en la misma l�nea; mientras que, con ReadLn la siguiente lectura se har� despu�s de que se haya tecleado el car�cter de fin de l�nea. Cuando se tienen datos de tipo char en una instrucci�n Read, los caracteres blancos y los de fin de l�nea son considerados en el conteo de los elementos de las cadenas de caracteres mientras no se complete el total especificado para cada una de ellas. Cada fin de l�nea es tratado como un car�cter, pero el valor asignado a la variable ser� un car�cter blanco. Es aconsejable que cada cadena de caracteres se lea en una instrucci�n Read o ReadLn por separado, para evitar el tener que ir contando hasta completar la cantidad exacta de caracteres que forman la cadena ( o de lo contrario se tendr�n resultados sorpresivos y frustrantes al verificar los datos le�dos ). Ejemplo: Var nombre :string[30] ; edad :integer; estatura :real; . . . ReadLn(nombre); ReadLn(edad); ReadLn(estatura); Procedimientos Write Y Writeln La salida est�ndar se realiza en base a estos procedimientos predefinidos, y las instrucciones para invocarlos toman las siguientes formas : Write(lista_de_salida); WriteLn(lista_de_salida); donde : lista_de_salida es una lista de variables, expresiones y/o constantes, cuyos valores van a ser desplegados en la pantalla. El procedimiento Write permite que la siguiente instrucci�n se realice en la misma l�nea , mientras que WriteLn alimenta una nueva l�nea, antes de finalizar. Por ejemplo, las instrucciones : Write ('! HOLA '); WriteLn('AMIGOS !'); producir�n la salida : ! HOLA AMIGOS ! cursor en la siguiente l�nea. Mientras que : Write('TECLEE F PARA FINALIZAR ==> '); desplegar� : TECLEE F PARA FINALIZAR ==> CURSOR Para producir un rengl�n en blanco, se debe escribir : WriteLn ; Un valor booleano desplegar� cualquiera de las cadenas : TRUE o FALSE, as� : Write('20 + 30 = ', 20 + 30 ,' ES ', 20 + 30 = 50); producir� : 20 + 30 = 50 ES TRUE dejando el cursor en la misma l�nea, al final de TRUE. Cuando un valor de salida se escribe sin una especificaci�n de longitud de campo, se utilizar� la especificaci�n de campo por omisi�n. La especificaci�n de longitud de campo por omisi�n depender� del tipo de valor de salida y de la implementaci�n de Pascal. As� tenemos que, para todas las implementaciones : La especificaci�n de longitud de campo por omisi�n para los valores de tipo char es 1 Si el valor a ser desplegado requiere menos del n�mero de caracteres especificado, se imprimir�n tantos caracteres blancos como sean necesarios para completar dicho n�mero. Si el valor a ser desplegado requiere un n�mero de caracteres mayor que el especificado,se usa la m�nima especificaci�n de longitud de campo que se requiera para representar un valor de tipo real o entero, pero las cadenas ser�n truncadas ajust�ndolas al campo especificado y desechar� los caracteres en exceso que se encuentren m�s a la derecha. En el caso de valores de tipo real, se puede utilizar una especificaci�n de longitud de fracci�n. Por omisi�n en Turbo Pascal, los valores de tipo real se desplegar�n en formato de punto flotante (tambi�n llamado exponencial), as� : Para el caso de valores positivos ( R >= 0.0 ), el formato es: bbn.nnnnnnnnnnEsnn Para valores negativos ( R < 0.0 ), el formato es : b-n.nnnnnnnnnnEsnn donde : b = blanco n = n�mero ( 1-9 ) s = signo ( + � - ) E = letra "E" para exponente La especificaci�n de campo m�nima aceptada es : para R >= 0.0 , SIETE caracteres. para R < 0.0 , OCHO caracteres. Ejemplos: Sentencias Resultados WriteLn ('Hola Mundo'); Hola Mundo WriteLn('22' + '20'); 2220 WriteLn(pi); 3.1415926536E+00 WriteLn(3.0); 3.0000000000E+00 Debido a que Pascal alinea (justifica) las impresiones hacia la derecha del campo correspondiente, cuando es necesario acomodar tabularmente los caracteres de cadenas que no ocupan la totalidad de columnas especificadas. Por ejemplo, suponiendo que nombre es un identificador de tipo string[20] (cadena con formato de 20 caracteres), para que la impresi�n de todos los valores de nombre empiece en la misma columna, podemos utilizar la instrucci�n : WriteLn(numero,'.- ',nombre, ' ':20-length(nombre),calif:3); y, al ejecutar el programa se tendr� algo parecido a : 1.- JUAN FLORES 90 (N�tese la justificaci�n de los nombres 2.- EGRID L. CASTRO 100 hacia la izquierda y los n�meros hacia 3.- RAMON RAMIREZ 99 la derecha) Formatos de salida Formato 1 : WriteLn (�tem:anchura...); Anchura: Expresi�n entera (literal, constante, variable o llamada a funci�n) que especif�ca la anchura total del campo en que se escribe �tem. Formato 2 : WriteLn (�tem:anchura:d�gitos ...); D�gitos: d�gitos decimales de un n�mero real Anchura: Total de d�gitos del n�mero real contando parte entera, punto decimal y d�gitos decimales. Ejemplos: Valor:= 25.0776; Sentencias Resultados Comentario WriteLn (Valor); 2.5077600000E+01 WriteLn(Valor:2); 2.5E+01 WriteLn(Valor:2:1); 25.1 Notese el redondeo WriteLn(Valor:2:4); 25.0776 WriteLn(Valor:2:8); 25.07760000 WriteLn('Tec':1); Tec WriteLn('Tec':3); Tec WriteLn('Tec':5); _ _ Tec Espacios vacios _

CopyRight© 2003/2004, Diego Castillo. Todos los Derechos Reservados
Catamayo - Loja - Ecuador | Resoluci�n Minima 800x600
Estadisticas

Hosted by www.Geocities.ws

1