SlideShare una empresa de Scribd logo
M.C Ivan
Rivalcoba
PROGRAMACIÓN
ORIENTADA A OBJETOS
C# & .NET
1. FUNDAMENTOS POO (OOP)
SALIDA CON FORMATO Y
FLUJOS DE ENTRADA
SALIDA CON FORMATO
 La sintaxis de llaves “{}” para la salida estándar
permite realizar un formateo mas preciso sobre la
salida.
 Esto se logra anexando dos puntos y una letra
correspondiente al tipo de formato que se desea, un
ejemplo se presenta a continuación:
“{I,A:#P}”
 Donde
 I: Indice A: Alineamiento, #: Código P:Presición
SALIDA CON FORMATO
 Para la salida estándar de números se tienen los
siguientes ejemplos:
 Para mas información:
http://msdn.microsoft.com/en-
us/library/txafckwd(v=vs.110).aspx
SALIDA CON FORMATO
 Se puede especificar un alineamiento en cierto
número de columnas, ejemplo:
SALIDA CON FORMATO
 Ejercicio: Para una lista exhaustiva de todas las
posibilidades del formateo con cadenas codificar el
siguiente código:
SALIDA CON FORMATO
SALIDA CON FORMATO
SALIDA CON FORMATO
SALIDA CON FORMATO
 La salida debiera mostrar el siguiente resultado:
FLUJO DE ENTRADA
 El .Net Framework class library (FCL) dispone de dos
métodos que permiten la lectura de datos desde la
entrada estándar usando para ese propósito un
buffer de entrada.
 Por defecto ese buffer es llenado usando el teclado,
ambos métodos pertenecen a la clase Console
misma que pertenece al espacio de nombres System.
FLUJO DE ENTRADA
 Las firmas (signatures) de dichos métodos se
presentan a continuación:
1. public static int Read()
2. public static string ReadLine()
 El método “ReadLine()” lee toda una línea hasta
encontrar un fin de línea (“rn”).
 A pesar de que lee hasta el carácter de fin de línea,
solo retorna la cádena hasta antes del fin de línea.
 El proceso de lectura de un ReadLine se describe a
continuación.
MÉTODO “READLINE()”
 El sistema Abre un buffer (memoria) y permite la
escritura de dicho buffer desde la entrada estándar
(por defecto el teclado).
 El usuario ingresa caracteres desde el teclado, la
operación termina hasta que el usuario ingresa el
carácter de fin de línea (Enter o 0D+0A o “rn”).
 El método ReadLine lee todo el buffer y retorna
todo lo escrito hasta antes de los caracteres de fin
de línea.
MÉTODO “READLINE()”
MÉTODO “READLINE()”
THIS IS A MESSAGErn
MÉTODO “READLINE()”
THIS IS A MESSAGErn
“THIS IS A MESSAGE”
 A continuación un ejemplo de uso.
MÉTODO “READLINE()”
 ¿Qué pasaría si en vez de cadena requerimos de
datos numéricos?.
 Un hecho es que ReadLine retorna una cadena de
caracteres, una cadena no puede ser trabajada
aritméticamente.
 Cada tipo numérico de C# permite la conversión de
una cadena de caracteres a su correspondiente
valor en el tipo numérico, esta operación es
llamada PARSEO.
 A continuación un ejemplo:
MÉTODO “READLINE()”
 Uso del Parseo.
MÉTODO “READLINE()”
 Resultado.
MÉTODO “READLINE()”
 El programa anterior se puede simplificar de la
siguiente manera:
MÉTODO “READLINE()”
MÉTODO “READ()”
 El método Read simplemente lee caracteres
individuales desde el teclado.
 Devuelve un entero correspondiente al código en
ASCII del carácter leído.
 O en su caso devuelve un valor negativo si se
encuentra con el fin de flujo esto es rn.
MÉTODO “READ()”
 Ejercicio 1: Crear un programa que lea un carácter
desde el teclado, El programa deberá imprimir
“Indique su sexo [H/M]: ” si el carácter es M o m que
imprima “Bienvenida bella dama” si es H o h que
imprima “Bienvenido honorable caballero”, En caso
contrario que imprima “Opción no valida”.
MÉTODO “READ()”
 Resultara importante contar con la tabla ASCII
MÉTODO “READ()”
 Ejercicio 1: Código
MÉTODO “READ()”
 Ejercicio 1: Código
 El siguiente código no funciona como se
espera, ¿Por qué será?
MÉTODO “READ()”
 Se debe de tener mucho cuidado, ya que si el buffer
esta lleno con mas de un carácter la siguiente
lectura tomara el carácter formado en el buffer.
MÉTODO “READ()”
 El proceso de lectura de Read() sucede de la
siguiente manera:
 El sistema Abre un buffer (memoria) y permite la
escritura de dicho buffer desde la entrada estándar (por
defecto el teclado).
 El usuario ingresa caracteres desde el teclado, la
operación termina hasta que el usuario ingresa el
carácter de fin de línea (Enter o 0D+0A o “rn”).
 El método Read lee el primer carácter del buffer y lo
retorna en su equivalente ASCII, el tipo que regresa es
entero.
MÉTODO “READ()”
MÉTODO “READ()”
THIS IS A MESSAGErn
MÉTODO “READ()”
THIS IS A MESSAGErn
T
 Es importante notar que el Buffer se queda con la
información restante, por lo que si se vuelve a
invocar el método Read, el método retornaría el
equivalente ASCII del siguiente carácter en el buffer
en este caso “H”.
MÉTODO “READ()”
HIS IS A MESSAGErn
 Una forma de evitar que el buffer se quede con
información es utilizando el método ReadLine().
 Este método lee toda una línea hasta encontrar un
fin de línea (“rn”).
 Esto provoca una limpieza de Buffer, el código
corregido queda de la siguiente manera.
MÉTODO “READ()”
 Código con limpieza de buffer.
MÉTODO “READ()”
 Para poder redireccionar la entrada estándar se
realiza la siguiente invocación.
 C:>programa.exe < input.txt
 Ejemplo:
REDIRECCIONAMIENTO
 En donde estará localizado el ejecutable de dicho
archivo agregar un archivo llamado input.txt.
REDIRECCIONAMIENTO
 Desde la consola mandar a llamar el programa así:
 La entrada la tomara desde el archivo input.txt,
provocando la siguiente salida:
REDIRECCIONAMIENTO
 También se puede redireccionar entrada y salida de
la siguiente manera:
REDIRECCIONAMIENTO
 Esta sentencia no provocará ninguna salida en el
monitor pero sí en un archivo:
REDIRECCIONAMIENTO

Más contenido relacionado

La actualidad más candente

Tipos de datos_para_c_
Tipos de datos_para_c_Tipos de datos_para_c_
Tipos de datos_para_c_
oscar020615
 
Practicas Lenguaje ensamblador
Practicas Lenguaje ensambladorPracticas Lenguaje ensamblador
Practicas Lenguaje ensamblador
Jorge Pulido
 
Variables, constantes y tipos de datos en C
Variables, constantes y tipos de datos en CVariables, constantes y tipos de datos en C
Variables, constantes y tipos de datos en C
Ronny Parra
 
03 - Entrada y salida en lenguaje C
03 - Entrada y salida en lenguaje C03 - Entrada y salida en lenguaje C
03 - Entrada y salida en lenguaje C
Diego Andrés Alvarez Marín
 
Apuntes generación de codigo intermedio
Apuntes generación de codigo intermedioApuntes generación de codigo intermedio
Apuntes generación de codigo intermedio
Humano Terricola
 
Elementos de programación variables ctes_sist de almacenamiento
Elementos de programación variables ctes_sist de almacenamientoElementos de programación variables ctes_sist de almacenamiento
Elementos de programación variables ctes_sist de almacenamiento
Johnny Montenegro Molina
 
Tipos de datos_de_virtual_c_
Tipos de datos_de_virtual_c_Tipos de datos_de_virtual_c_
Tipos de datos_de_virtual_c_
CARLOS EDUARDO BALDIT MARTINEZ
 
Tipos de datos ok
Tipos de datos okTipos de datos ok
Tipos de datos ok
Tensor
 
CUESTIONARIO DE PROGRAMACION I
CUESTIONARIO DE PROGRAMACION  ICUESTIONARIO DE PROGRAMACION  I
CUESTIONARIO DE PROGRAMACION I
anthonypillajo
 
Castillo
CastilloCastillo
Trabajo 2
Trabajo 2Trabajo 2
Trabajo 2
22191027
 
Funciones de entrada y salida
Funciones de entrada y salidaFunciones de entrada y salida
Funciones de entrada y salida
Margarita Zambrano
 
Operaciones de Entrada / Salida en C++
Operaciones de Entrada / Salida en C++Operaciones de Entrada / Salida en C++
Operaciones de Entrada / Salida en C++
ivanjvic
 
Tipos de datos en C
Tipos de datos en CTipos de datos en C
Tipos de datos en C
McGuix Bermeo
 
2.4 tipo de dato entero
2.4 tipo de dato entero2.4 tipo de dato entero
2.4 tipo de dato entero
SNPP
 
Introduccion al lenguaje c
Introduccion al lenguaje cIntroduccion al lenguaje c
Introduccion al lenguaje c
Maylin25
 
Lenguaje c compu 2
Lenguaje c compu 2Lenguaje c compu 2
Lenguaje c compu 2
luiseldrumer
 
Tipos de datos_para_c_
Tipos de datos_para_c_Tipos de datos_para_c_
Tipos de datos_para_c_
HUGOJAREDSANCHEZMARTINEZ
 
Cadena De Caracteres_adrian
Cadena De Caracteres_adrianCadena De Caracteres_adrian
Cadena De Caracteres_adrian
Adrian Sanchez
 
Lenguaje de programacion c#
Lenguaje de programacion c#Lenguaje de programacion c#
Lenguaje de programacion c#
mercedes1019
 

La actualidad más candente (20)

Tipos de datos_para_c_
Tipos de datos_para_c_Tipos de datos_para_c_
Tipos de datos_para_c_
 
Practicas Lenguaje ensamblador
Practicas Lenguaje ensambladorPracticas Lenguaje ensamblador
Practicas Lenguaje ensamblador
 
Variables, constantes y tipos de datos en C
Variables, constantes y tipos de datos en CVariables, constantes y tipos de datos en C
Variables, constantes y tipos de datos en C
 
03 - Entrada y salida en lenguaje C
03 - Entrada y salida en lenguaje C03 - Entrada y salida en lenguaje C
03 - Entrada y salida en lenguaje C
 
Apuntes generación de codigo intermedio
Apuntes generación de codigo intermedioApuntes generación de codigo intermedio
Apuntes generación de codigo intermedio
 
Elementos de programación variables ctes_sist de almacenamiento
Elementos de programación variables ctes_sist de almacenamientoElementos de programación variables ctes_sist de almacenamiento
Elementos de programación variables ctes_sist de almacenamiento
 
Tipos de datos_de_virtual_c_
Tipos de datos_de_virtual_c_Tipos de datos_de_virtual_c_
Tipos de datos_de_virtual_c_
 
Tipos de datos ok
Tipos de datos okTipos de datos ok
Tipos de datos ok
 
CUESTIONARIO DE PROGRAMACION I
CUESTIONARIO DE PROGRAMACION  ICUESTIONARIO DE PROGRAMACION  I
CUESTIONARIO DE PROGRAMACION I
 
Castillo
CastilloCastillo
Castillo
 
Trabajo 2
Trabajo 2Trabajo 2
Trabajo 2
 
Funciones de entrada y salida
Funciones de entrada y salidaFunciones de entrada y salida
Funciones de entrada y salida
 
Operaciones de Entrada / Salida en C++
Operaciones de Entrada / Salida en C++Operaciones de Entrada / Salida en C++
Operaciones de Entrada / Salida en C++
 
Tipos de datos en C
Tipos de datos en CTipos de datos en C
Tipos de datos en C
 
2.4 tipo de dato entero
2.4 tipo de dato entero2.4 tipo de dato entero
2.4 tipo de dato entero
 
Introduccion al lenguaje c
Introduccion al lenguaje cIntroduccion al lenguaje c
Introduccion al lenguaje c
 
Lenguaje c compu 2
Lenguaje c compu 2Lenguaje c compu 2
Lenguaje c compu 2
 
Tipos de datos_para_c_
Tipos de datos_para_c_Tipos de datos_para_c_
Tipos de datos_para_c_
 
Cadena De Caracteres_adrian
Cadena De Caracteres_adrianCadena De Caracteres_adrian
Cadena De Caracteres_adrian
 
Lenguaje de programacion c#
Lenguaje de programacion c#Lenguaje de programacion c#
Lenguaje de programacion c#
 

Destacado

Datos Numéricos parte 1
Datos Numéricos parte 1Datos Numéricos parte 1
Datos Numéricos parte 1
José Manuel González Padilla
 
Power point s.xvii
Power point s.xvii Power point s.xvii
Power point s.xvii
Pablo Ferradal
 
Constructor Y Destructor
Constructor Y DestructorConstructor Y Destructor
Constructor Y Destructor
Tecnologico
 
DISEÑO DE SALIDA DE SISTEMAS
DISEÑO DE SALIDA DE SISTEMAS DISEÑO DE SALIDA DE SISTEMAS
DISEÑO DE SALIDA DE SISTEMAS
passodobles115
 
La monarquía hispánica. Siglo XVII
La monarquía hispánica. Siglo XVIILa monarquía hispánica. Siglo XVII
La monarquía hispánica. Siglo XVII
A. Casas
 
Europa en el siglo XVIII
Europa en el siglo XVIIIEuropa en el siglo XVIII
Europa en el siglo XVIII
Rosa Lara
 

Destacado (6)

Datos Numéricos parte 1
Datos Numéricos parte 1Datos Numéricos parte 1
Datos Numéricos parte 1
 
Power point s.xvii
Power point s.xvii Power point s.xvii
Power point s.xvii
 
Constructor Y Destructor
Constructor Y DestructorConstructor Y Destructor
Constructor Y Destructor
 
DISEÑO DE SALIDA DE SISTEMAS
DISEÑO DE SALIDA DE SISTEMAS DISEÑO DE SALIDA DE SISTEMAS
DISEÑO DE SALIDA DE SISTEMAS
 
La monarquía hispánica. Siglo XVII
La monarquía hispánica. Siglo XVIILa monarquía hispánica. Siglo XVII
La monarquía hispánica. Siglo XVII
 
Europa en el siglo XVIII
Europa en el siglo XVIIIEuropa en el siglo XVIII
Europa en el siglo XVIII
 

Similar a 2 poo u1 10 salida con formato y flujos de entrada

Fpr Tema 4 www.fresymetal.com
Fpr Tema 4 www.fresymetal.comFpr Tema 4 www.fresymetal.com
Fpr Tema 4 www.fresymetal.com
FresyMetal
 
Introduccion a c++
Introduccion a c++Introduccion a c++
Introduccion a c++
guestab91474
 
Librerias de dev c++
Librerias de dev c++Librerias de dev c++
Librerias de dev c++
fredyorellana7
 
1 entrada y salida estandar(1)
1 entrada y salida estandar(1)1 entrada y salida estandar(1)
1 entrada y salida estandar(1)
Arely Ramirez Mar
 
El primer objetivo de un programa informático es el manejo de datos
El primer objetivo de un programa informático es el manejo de datosEl primer objetivo de un programa informático es el manejo de datos
El primer objetivo de un programa informático es el manejo de datos
Rolando Azcorra Medina
 
Guia De Practica 3
Guia De Practica 3Guia De Practica 3
Guia De Practica 3
louis
 
Escuela
EscuelaEscuela
Escuela
judithely
 
Escuela
EscuelaEscuela
Escuela
judithely
 
cap7.pdf
cap7.pdfcap7.pdf
cap7.pdf
Gonzalo Fano
 
Entrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de textoEntrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de texto
Andres Bedoya Tobon
 
DATOS LENGUAJE C
DATOS LENGUAJE CDATOS LENGUAJE C
DATOS LENGUAJE C
KAREN HERNANDEZ
 
El lenguaje c
El lenguaje cEl lenguaje c
El lenguaje c
Grisell d?z
 
El lenguaje c
El lenguaje cEl lenguaje c
El lenguaje c
Grisell d?z
 
Sesion12.pdf
Sesion12.pdfSesion12.pdf
Sesion12.pdf
AXELWALDYRPILLACALOB
 
Estructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacionEstructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacion
andreinagracielarojasadam
 
Entrada y salida de datos en c
Entrada y salida de datos en cEntrada y salida de datos en c
Entrada y salida de datos en c
Denisse C
 
ENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVAENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVA
Gabriel Suarez
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacion
Ysaac Ruiz
 
manual de turbo c ++.pdf, para programar
manual de turbo c ++.pdf, para programarmanual de turbo c ++.pdf, para programar
manual de turbo c ++.pdf, para programar
EsauReyesGonzalez3
 
Evaluacion
EvaluacionEvaluacion
Evaluacion
Santiago Sandoval
 

Similar a 2 poo u1 10 salida con formato y flujos de entrada (20)

Fpr Tema 4 www.fresymetal.com
Fpr Tema 4 www.fresymetal.comFpr Tema 4 www.fresymetal.com
Fpr Tema 4 www.fresymetal.com
 
Introduccion a c++
Introduccion a c++Introduccion a c++
Introduccion a c++
 
Librerias de dev c++
Librerias de dev c++Librerias de dev c++
Librerias de dev c++
 
1 entrada y salida estandar(1)
1 entrada y salida estandar(1)1 entrada y salida estandar(1)
1 entrada y salida estandar(1)
 
El primer objetivo de un programa informático es el manejo de datos
El primer objetivo de un programa informático es el manejo de datosEl primer objetivo de un programa informático es el manejo de datos
El primer objetivo de un programa informático es el manejo de datos
 
Guia De Practica 3
Guia De Practica 3Guia De Practica 3
Guia De Practica 3
 
Escuela
EscuelaEscuela
Escuela
 
Escuela
EscuelaEscuela
Escuela
 
cap7.pdf
cap7.pdfcap7.pdf
cap7.pdf
 
Entrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de textoEntrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de texto
 
DATOS LENGUAJE C
DATOS LENGUAJE CDATOS LENGUAJE C
DATOS LENGUAJE C
 
El lenguaje c
El lenguaje cEl lenguaje c
El lenguaje c
 
El lenguaje c
El lenguaje cEl lenguaje c
El lenguaje c
 
Sesion12.pdf
Sesion12.pdfSesion12.pdf
Sesion12.pdf
 
Estructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacionEstructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacion
 
Entrada y salida de datos en c
Entrada y salida de datos en cEntrada y salida de datos en c
Entrada y salida de datos en c
 
ENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVAENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVA
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacion
 
manual de turbo c ++.pdf, para programar
manual de turbo c ++.pdf, para programarmanual de turbo c ++.pdf, para programar
manual de turbo c ++.pdf, para programar
 
Evaluacion
EvaluacionEvaluacion
Evaluacion
 

Más de Jorge Ivan Rivalcoba Rivas

2 poo u1 8 sentencias condicionales
2 poo u1 8 sentencias condicionales2 poo u1 8 sentencias condicionales
2 poo u1 8 sentencias condicionales
Jorge Ivan Rivalcoba Rivas
 
2 poo u1 7 variables y operaciones booleanas
2 poo u1 7 variables y operaciones booleanas2 poo u1 7 variables y operaciones booleanas
2 poo u1 7 variables y operaciones booleanas
Jorge Ivan Rivalcoba Rivas
 
2 poo u1 6 operaciones de asignacion y casteo
2 poo u1 6 operaciones de asignacion y casteo2 poo u1 6 operaciones de asignacion y casteo
2 poo u1 6 operaciones de asignacion y casteo
Jorge Ivan Rivalcoba Rivas
 
2 poo u1 5 operaciones
2 poo u1 5 operaciones2 poo u1 5 operaciones
2 poo u1 5 operaciones
Jorge Ivan Rivalcoba Rivas
 
2 poo u1 4 datos
2 poo u1 4 datos2 poo u1 4 datos
2 poo u1 4 datos
Jorge Ivan Rivalcoba Rivas
 
2 poo u1 3 Salida estandar
2 poo u1 3 Salida estandar2 poo u1 3 Salida estandar
2 poo u1 3 Salida estandar
Jorge Ivan Rivalcoba Rivas
 
2 poo u1 2 Hola mundo
2 poo u1 2 Hola mundo2 poo u1 2 Hola mundo
2 poo u1 2 Hola mundo
Jorge Ivan Rivalcoba Rivas
 
2 poo u1 1 Introduccion
2 poo u1 1 Introduccion2 poo u1 1 Introduccion
2 poo u1 1 Introduccion
Jorge Ivan Rivalcoba Rivas
 

Más de Jorge Ivan Rivalcoba Rivas (8)

2 poo u1 8 sentencias condicionales
2 poo u1 8 sentencias condicionales2 poo u1 8 sentencias condicionales
2 poo u1 8 sentencias condicionales
 
2 poo u1 7 variables y operaciones booleanas
2 poo u1 7 variables y operaciones booleanas2 poo u1 7 variables y operaciones booleanas
2 poo u1 7 variables y operaciones booleanas
 
2 poo u1 6 operaciones de asignacion y casteo
2 poo u1 6 operaciones de asignacion y casteo2 poo u1 6 operaciones de asignacion y casteo
2 poo u1 6 operaciones de asignacion y casteo
 
2 poo u1 5 operaciones
2 poo u1 5 operaciones2 poo u1 5 operaciones
2 poo u1 5 operaciones
 
2 poo u1 4 datos
2 poo u1 4 datos2 poo u1 4 datos
2 poo u1 4 datos
 
2 poo u1 3 Salida estandar
2 poo u1 3 Salida estandar2 poo u1 3 Salida estandar
2 poo u1 3 Salida estandar
 
2 poo u1 2 Hola mundo
2 poo u1 2 Hola mundo2 poo u1 2 Hola mundo
2 poo u1 2 Hola mundo
 
2 poo u1 1 Introduccion
2 poo u1 1 Introduccion2 poo u1 1 Introduccion
2 poo u1 1 Introduccion
 

2 poo u1 10 salida con formato y flujos de entrada

  • 1. M.C Ivan Rivalcoba PROGRAMACIÓN ORIENTADA A OBJETOS C# & .NET 1. FUNDAMENTOS POO (OOP) SALIDA CON FORMATO Y FLUJOS DE ENTRADA
  • 2. SALIDA CON FORMATO  La sintaxis de llaves “{}” para la salida estándar permite realizar un formateo mas preciso sobre la salida.  Esto se logra anexando dos puntos y una letra correspondiente al tipo de formato que se desea, un ejemplo se presenta a continuación: “{I,A:#P}”  Donde  I: Indice A: Alineamiento, #: Código P:Presición
  • 3. SALIDA CON FORMATO  Para la salida estándar de números se tienen los siguientes ejemplos:  Para mas información: http://msdn.microsoft.com/en- us/library/txafckwd(v=vs.110).aspx
  • 4. SALIDA CON FORMATO  Se puede especificar un alineamiento en cierto número de columnas, ejemplo:
  • 5. SALIDA CON FORMATO  Ejercicio: Para una lista exhaustiva de todas las posibilidades del formateo con cadenas codificar el siguiente código:
  • 9. SALIDA CON FORMATO  La salida debiera mostrar el siguiente resultado:
  • 10. FLUJO DE ENTRADA  El .Net Framework class library (FCL) dispone de dos métodos que permiten la lectura de datos desde la entrada estándar usando para ese propósito un buffer de entrada.  Por defecto ese buffer es llenado usando el teclado, ambos métodos pertenecen a la clase Console misma que pertenece al espacio de nombres System.
  • 11. FLUJO DE ENTRADA  Las firmas (signatures) de dichos métodos se presentan a continuación: 1. public static int Read() 2. public static string ReadLine()
  • 12.  El método “ReadLine()” lee toda una línea hasta encontrar un fin de línea (“rn”).  A pesar de que lee hasta el carácter de fin de línea, solo retorna la cádena hasta antes del fin de línea.  El proceso de lectura de un ReadLine se describe a continuación. MÉTODO “READLINE()”
  • 13.  El sistema Abre un buffer (memoria) y permite la escritura de dicho buffer desde la entrada estándar (por defecto el teclado).  El usuario ingresa caracteres desde el teclado, la operación termina hasta que el usuario ingresa el carácter de fin de línea (Enter o 0D+0A o “rn”).  El método ReadLine lee todo el buffer y retorna todo lo escrito hasta antes de los caracteres de fin de línea. MÉTODO “READLINE()”
  • 15. MÉTODO “READLINE()” THIS IS A MESSAGErn “THIS IS A MESSAGE”
  • 16.  A continuación un ejemplo de uso. MÉTODO “READLINE()”
  • 17.  ¿Qué pasaría si en vez de cadena requerimos de datos numéricos?.  Un hecho es que ReadLine retorna una cadena de caracteres, una cadena no puede ser trabajada aritméticamente.  Cada tipo numérico de C# permite la conversión de una cadena de caracteres a su correspondiente valor en el tipo numérico, esta operación es llamada PARSEO.  A continuación un ejemplo: MÉTODO “READLINE()”
  • 18.  Uso del Parseo. MÉTODO “READLINE()”
  • 20.  El programa anterior se puede simplificar de la siguiente manera: MÉTODO “READLINE()”
  • 21. MÉTODO “READ()”  El método Read simplemente lee caracteres individuales desde el teclado.  Devuelve un entero correspondiente al código en ASCII del carácter leído.  O en su caso devuelve un valor negativo si se encuentra con el fin de flujo esto es rn.
  • 22. MÉTODO “READ()”  Ejercicio 1: Crear un programa que lea un carácter desde el teclado, El programa deberá imprimir “Indique su sexo [H/M]: ” si el carácter es M o m que imprima “Bienvenida bella dama” si es H o h que imprima “Bienvenido honorable caballero”, En caso contrario que imprima “Opción no valida”.
  • 23. MÉTODO “READ()”  Resultara importante contar con la tabla ASCII
  • 26.  El siguiente código no funciona como se espera, ¿Por qué será? MÉTODO “READ()”
  • 27.  Se debe de tener mucho cuidado, ya que si el buffer esta lleno con mas de un carácter la siguiente lectura tomara el carácter formado en el buffer. MÉTODO “READ()”
  • 28.  El proceso de lectura de Read() sucede de la siguiente manera:  El sistema Abre un buffer (memoria) y permite la escritura de dicho buffer desde la entrada estándar (por defecto el teclado).  El usuario ingresa caracteres desde el teclado, la operación termina hasta que el usuario ingresa el carácter de fin de línea (Enter o 0D+0A o “rn”).  El método Read lee el primer carácter del buffer y lo retorna en su equivalente ASCII, el tipo que regresa es entero. MÉTODO “READ()”
  • 31.  Es importante notar que el Buffer se queda con la información restante, por lo que si se vuelve a invocar el método Read, el método retornaría el equivalente ASCII del siguiente carácter en el buffer en este caso “H”. MÉTODO “READ()” HIS IS A MESSAGErn
  • 32.  Una forma de evitar que el buffer se quede con información es utilizando el método ReadLine().  Este método lee toda una línea hasta encontrar un fin de línea (“rn”).  Esto provoca una limpieza de Buffer, el código corregido queda de la siguiente manera. MÉTODO “READ()”
  • 33.  Código con limpieza de buffer. MÉTODO “READ()”
  • 34.  Para poder redireccionar la entrada estándar se realiza la siguiente invocación.  C:>programa.exe < input.txt  Ejemplo: REDIRECCIONAMIENTO
  • 35.  En donde estará localizado el ejecutable de dicho archivo agregar un archivo llamado input.txt. REDIRECCIONAMIENTO
  • 36.  Desde la consola mandar a llamar el programa así:  La entrada la tomara desde el archivo input.txt, provocando la siguiente salida: REDIRECCIONAMIENTO
  • 37.  También se puede redireccionar entrada y salida de la siguiente manera: REDIRECCIONAMIENTO
  • 38.  Esta sentencia no provocará ninguna salida en el monitor pero sí en un archivo: REDIRECCIONAMIENTO

Notas del editor

  1. Buscar como “Composite Formatting”