Tema1 - WordPress.com

Anuncio
Tema1:Controles de Programas
estructurados
1)Estructuras Hacer mientras (Do While),
2)Ejercicios. Estructuras Mientras
(Repeat),
3)Ejercicios. Estructuras Desde/Para (For),
Entrada y salida de datos
Los programas de C# utilizan normalmente los servicios de entrada y
salida que ofrece la biblioteca en tiempo de ejecución de .NET
Framework. La instrucción System.Console.WriteLine("Hello World!");
utiliza el método WriteLine, que es uno de los métodos de salida de la
clase Console de la biblioteca en tiempo de ejecución. Muestra el
parámetro cadena en la secuencia de salida estándar seguido por
una nueva línea. Otros métodos de Console se utilizan para otras
operaciones de entrada y salida. Si incluye la directiva using System;
al principio del programa, puede utilizar directamente las clases y
métodos de System sin escribir el nombre completo. Por ejemplo,
puede llamar en su lugar Console.WriteLine, sin especificar
System.Console.Writeline:
4)Ejercicios.
ENTRADA Y SALIDA DE DATOS
●
●
Frecuentemente un programa necesitará
obtener nformación desde un origen o
enviar información a un destino.
La comunicación entre el origen de cierta
información y el destino, se realiza
mediante un flujode información (en inglés
stream).
Un flujoes un objeto que hace de
intermediario entre el programa y el origen
o destino de la información.
ENTRADA Y SALIDA
FLUJOS DE ENTRADA
- Dos métodos tienen un especial interés porque permiten a un
programa leer datos de la entrada estándar son:
public static int Read()
public static string ReadLine()
- Read:simplemente lee caracteres individuales del flujo de entrada
estándar; concretamente lee el siguiente carácter disponible.
Devuelve un entero correspondiente al código del carácter leídoo un
valor negativoque indica el final del
flujo.
 Ejemplo:
char car;
car = (char)Console.Read();
ENTRADA Y SALIDA
ReadLine lee una línea del flujo vinculado
con la entrada estándar; concretamente
lee la siguiente línea disponible. Devuelve
una referencia a un objeto stringque
envuelve la línea leída, o bien un valor null
cuando no haya datos disponibles.
Una línea está definida como una
secuencia de caracteres seguidos por ‘\r’,
‘\n’, o bien por ‘\r\n’. La cadena devuelta
no contiene el carácter o caracteres de
terminación.
Entrada y salida
FLUJOS DE SALIDA
Dos métodos tienen un especial interés, porque permiten a un programa escribir datos en la
salida estándar, son:
public static void Write([arg]);
public static void WriteLine([arg]);
Los métodos Writey WriteLineson esencialmente los mismos; ambos escriben su argumento en
el flujo de salida. La única diferencia entre ellos es que WriteLine añade un carácter ‘\n’ al
final de su salida, y Write no.
ENTRADA Y SALIDA
using System;
using System.Collections.Generic;
using System.Text;
namespace FlujoEntrada
{
class Program
{
static void Main(string[] args)
{
string sDato; //Variable para almacenar una
//línea de texto.
Console.Write("Introduzca un texto: ");
sDato = Console.ReadLine(); //Leer una línea de texto.
Console.WriteLine(sDato); //Escribir la línea leída.
Console.Read();
}
}
}
ENTRADA Y SALIDA
using System;
using System.Collections.Generic;
using System.Text;
namespace FlujoSalida
{
class Program
{
static void Main(string[] args)
{
string sCadena = "Lenguaje C#";
int dato_int = 4;
long dato_long = long.MinValue;
float dato_float = float.MaxValue;
double dato_double = Math.PI;
bool dato_bool = true;
Console.WriteLine(sCadena);
Console.WriteLine(dato_int);
Console.WriteLine(dato_long);
Console.WriteLine(dato_float);
Console.WriteLine(dato_double);
Console.WriteLine(dato_bool);
Estructuras Hacer mientras(Do While).
Estructuras Hacer mientras(Do While).
Hacer
HACER
A++
MIENTRAS A<B
Proceso 1
intruccion1
intruccion2
intruccion3
mientras condicion
V
Condicion
F
Proceso 2
Estructuras Hacer mientras(Do While).
public class TestDoWhile
{
public static void Main ()
{
int x = 0;
/*La instrucción do ejecuta una
instrucción o un bloque de instrucciones
entre {} repetidamente hasta que una
expresión especificada se evalúe como
false.*/do
{
Console.WriteLine(x);
x++;
} while (x < 5);
}
}
A diferencia de la instrucción while, un bucle do-while se
ejecuta una vez antes de que se evalúe la expresión
condicional.
Estructura MIENTRAS
WHILE condicion
instruccion1
instruccion2
instruccion3
END WHILE
Diagrama de Flujo de While
MIENTRAS A<B
A++
Proceso 1
V
Condicion
WHILE(MIENTRAS)
class WhileTest
{
static void Main()
{
int n = 1;
while (n < 6)
{
Console.WriteLine("El Valor que toma n es{0}", n);
n++;/*sentencia de codigo que imcrementa en 1 el
de n*/
}
}
}
La instrucción while ejecuta una instrucción o un bloque de
instrucciones repetidamente hasta que una expresión especificada
se evalúa como false.
F
Proceso
FOR(desde para)
Estructura desde/para diagrama de flujo
A
PARA i=0 hasta 4 con INCREMENTO+1
ESCRIBIR “el valor de i es” i
FIN PARA
●
Estructura del FOR
INICIALIZAR
CONDICION
FOR inicializar;condicion;incremento
instrucciones
END FOR
INTRUCCIONES
INCREMENTO
B
Codificación del FOR
for(int i=0;i<10;i++)
{
//Esta instrucción se repetira siempre que
Sea menor que 10
}
●
While
Ejemplos
public static void Main(string[] args)
{
int i=0,j=1;
while (i<=3)
{
System.Console.Write("para i="+i+":");
while(j<=4)//mientras jsea menor o igual que
{
System.Console.Write("j="+j+".");
j++; //aumenta j en una unidad
}
System.Console.Write("\n");//avanzar una nueva linea
i++;//aumentar i en una unidad
j=1;//iniciar j de nuevo a 1
}
}
●
While
Ejemplos
using System;
public class Test
{
public static void Main(string[] args)
{
char car = '\0';
Console.Write("\nDesea continuar s/n (Si o no) ");
car = (char)Console.Read();
// Eliminar los caracteres disponibles en el flujo de
entrada
Console.ReadLine();
while (car != 's' && car != 'n')
{
Console.Write("\nDesea continuar s/n (si o no) ");
car = (char)Console.Read();
Console.ReadLine();
}
}
}
Ejemplos de do while
using System;
public class CRaizCuadrada
{
// Raテュz cuadrada. Mテゥtodo de Newton.
public static void Main(string[] args)
{
double n;
// nテコmero
double aprox;
// aproximaciテウn a la raテュz cuadrada
double antaprox; // anterior aproximaci テウn a la raテュz
cuadrada
double epsilon; // coeficiente de error
do
{
Console.Write("Nテコmero: ");
n=System.Console.Read();
}
while ( n < 0 );
do
{
Console.Write("Raテュz cuadrada aproximada: ");
aprox = System.Console.Read();
}
Pag. 146 del libro Lenguaje de programacion c#
Ejemplo estructura del for
Ejemplos
do
{
Console.Write("Coeficiente de error: ");
epsilon = System.Console.Read();
}
while ( epsilon <= 0 );
do
{
antaprox = aprox;
aprox = (n/antaprox + antaprox) / 2;
}
while (Math.Abs(aprox - antaprox) >= epsilon);
Console.WriteLine("La raテュz cuadrada de {0:F2} es {1:F2}", n, aprox);
}
}
// Ejemplo de implementacion del form para pintar un tablero de ajedres
using System;
public class CAjedrez
{
// Imprimir un tablero de ajedrez.
public static void Main(string[] args)
{
int falfil, calfil; // posiciテウn inicial del alfil
int fila, columna; // posiciテウn actual del alfil
Console.WriteLine("Posiciテウn del alfil:");
Console.Write(" fila
"); falfil = Int32.Parse(Console.ReadLine());
Console.Write(" columna "); calfil = Int32.Parse(Console.ReadLine());
Console.WriteLine(); // dejar una lテュnea en blanco
// Pintar el tablero de ajedrez
for (fila = 1; fila <= 8; fila++)
{
for (columna = 1; columna <= 8; columna++)
{
if ((fila + columna == falfil + calfil) ||
(fila - columna == falfil - calfil))
Console.Write("* ");
else if ((fila + columna) % 2 == 0)
Console.Write("B ");
else
Console.Write("N ");
}
Console.WriteLine(); // cambiar de fila
}
}
Bibliografia
●
El Lenguaje de programacion C#
Francisco Javier Ceballos
●
La biblia de c#
Francisco Javier Ceballos.
}
Descargar