Académique Documents
Professionnel Documents
Culture Documents
Contenido
Introducción a Visual Studio 2013 ........................................................................................7
Algoritmos en C# ...............................................................................................................7
Algoritmos en C# ......................................................................................................................7
Qué es un programa? ...........................................................................................................7
Algoritmo .............................................................................................................................7
Diagrama de flujo .................................................................................................................7
Lenguaje de Programación ...................................................................................................8
Pseudocódigo .......................................................................................................................9
Matrices en C# .................................................................................................................10
Matrices en C# .......................................................................................................................10
Declaración de una Matriz en C# ......................................................................................11
Ejercicios Resueltos de Matrices en C# ..............................................................................12
Ejemplo Básico en C# ..................................................................................................14
Ejemplo Básico en C# ..........................................................................................................14
Comentarios en C# ...........................................................................................................15
Método Principal ..............................................................................................................15
Crear un Proyecto en C# .............................................................................................16
Codificación del problema con el lenguaje C#. ..............................................................17
Consideraciones a tener en cuenta en cada proyecto. ....................................................17
Pasos a Seguir para crear un proyecto en C# .................................................................17
Ejercicios Resueltos de Estructura Secuencial en C# .........................................19
Ejercicios Resueltos de Estructura Secuencial en C# ........................................................19
Estructura Secuencial en C# ......................................................................................23
Estructura Secuencial en C#................................................................................................23
Ejercicios Resueltos de Estructura Secuencial en C# ....................................................23
Estructuras Condicionales en C# ..............................................................................24
Estructuras Condicionales en C# ........................................................................................24
Estructura Condicional if - else en c# .............................................................................25
Estructura condicional simple. ........................................................................................25
Ejemplos de Estructura Secuencial en c# ...............................................................26
Ejemplos de Estructura Secuencial en c# ...........................................................................26
Operadores Aritméticos en C# ......................................................................................28
Operadores Aritméticos en C# ...............................................................................................28
Do en C# .............................................................................................................................65
Tabla de Multiplicar en C# ..............................................................................................66
Tabla de Multiplicar en C# ......................................................................................................66
Ejemplo de Do While en C# ...........................................................................................67
Ejemplo de Do While en C# ....................................................................................................67
Ejercicios de la Estructura Do While en C# .................................................................69
Ejercicios Resueltos de Estructura Repetitiva Do While en C# ...............................................69
Ejercicios con Cadena de Caracteres en C# ...............................................................71
Ejercicios con Cadena de Caracteres en C# ............................................................................71
Cadena de Caracteres en C# ........................................................................................73
Cadena de Caracteres en C# ...................................................................................................73
Ejercicios Resueltos de Cadena de Caracteres en C# ..........................................................75
Ejercicios Resueltos de Clases en C# ..........................................................................76
Ejercicios Resueltos de Clases en C# ......................................................................................76
Clases en C# ....................................................................................................................81
Clase en C# .............................................................................................................................81
Definición de un Método en C# ..............................................................................................82
Estructura de una Clase en C# ................................................................................................82
Objetos en C# ..................................................................................................................82
Declaración de Objetos en C# ................................................................................................82
Declaración de una clase y un Objeto ....................................................................................82
Declaración de varios Objetos dentro de un Clase .................................................................83
Ejemplos de Clases en C# .............................................................................................85
Ejemplos de Clases en C# .......................................................................................................85
Arreglos en C# .................................................................................................................89
Arreglos en C# ........................................................................................................................89
Como Declarar e Inicializar un Arreglo en C# .........................................................................89
Declaración de un Arreglo de tipo Vector en C# ....................................................................89
Ejercicios con Objetos en C# .........................................................................................90
Ejercicios Resueltos de Objetos en C# ....................................................................................90
Ejercicios Resueltos de Arreglos en C# .......................................................................94
Ejercicios Resueltos de Arreglos en C# ...................................................................................94
Arreglos Multi-dimensionales en C# .............................................................................98
Arreglos Multi-dimensionales ................................................................................................98
Ejercicios de Arreglos Multi-dimensionales en C# ......................................................99
Matrices en C Sharp......................................................................................................178
Declaración de una Matriz en C# .........................................................................................179
Constructores en C# .....................................................................................................180
Constructores en C# .............................................................................................................180
Búsqueda Binaria en C# ...............................................................................................182
Búsqueda Binaria en C# ........................................................................................................182
Búsqueda Binaria en C# ....................................................................................................183
Ejercicios con Clases en C# ........................................................................................186
Ejercicios con Clases en C# ...................................................................................................186
Ejercicios Resueltos de Constructores en C# ...........................................................189
Ejercicios Resueltos de Constructores en C# ........................................................................189
Algoritmos en C#
Algoritmos en C#
Qué es un programa?
Programa: Conjunto de instrucciones que entiende un ordenador para realizar
una actividad.
Todo programa tiene un objetivo bien definido: un procesador de texto es un
programa que permite cargar, modificar e imprimir textos, un programa de
ajedrez permite jugar al ajedrez contra el ordenador u otro contrincante humano.
La actividad fundamental del programador es resolver problemas empleando el
ordenador como herramienta fundamental.
Para la resolución de un problema hay que plantear un algoritmo.
Algoritmo
un algoritmo, es un conjunto preescrito de instrucciones o reglas bien definidas,
ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos
que no generen dudas a quien deba realizar dicha actividad. Dados un estado
inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se
obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia.
Diagrama de flujo
Un diagrama de flujo es la representación gráfica de un ALGORITMO.
Los símbolos gráficos a utilizar para el planteo de diagramas de flujo son:
Lenguaje de Programación
Un lenguaje de programación es un idioma artificial diseñado para expresar
procesos que pueden ser llevados a cabo por máquinas como las computadoras.
Pueden usarse para crear programas que controlen el comportamiento físico y
lógico de una máquina, para expresar algoritmos con precisión, o como modo de
comunicación humana.1
Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que
definen su estructura y el significado de sus elementos y expresiones. Al proceso
por el cual se escribe, se prueba, se depura, se compila (de ser necesario) y se
mantiene el código fuente de un programa informático se le llama programación.
También la palabra programación se define como el proceso de creación de un
programa de computadora, mediante la aplicación de procedimientos lógicos, a
través de los siguientes pasos:
El desarrollo lógico del programa para resolver un problema en particular.
Pseudocódigo
En ciencias de la computación, y análisis numérico el pseudocódigo (o falso
lenguaje) es una descripción informal1 de alto nivel de un algoritmo informático
de programación, compacto e informal, que utiliza las convenciones estructurales
de un lenguaje de programación verdadero2 , pero que está diseñado para la
lectura humana en lugar de la lectura mediante máquina, y con independencia
de cualquier otro lenguaje de programación. Normalmente, el pseudocódigo
omite detalles que no son esenciales para la comprensión humana del algoritmo,
tales como declaraciones de variables, código específico del sistema y algunas
subrutinas. El lenguaje de programación se complementa, donde sea
conveniente, con descripciones detalladas en lenguaje natural, o con notación
matemática compacta. Se utiliza pseudocódigo pues este es más fácil de entender
para las personas que el código de lenguaje de programación convencional, ya
que es una descripción eficiente y con un entorno independiente de los principios
fundamentales de un algoritmo. Se utiliza comúnmente en los libros de texto y
publicaciones científicas que se documentan varios algoritmos, y también en la
planificación del desarrollo de programas informáticos, para esbozar la estructura
del programa antes de realizar la efectiva codificación. No existe una sintaxis
estándar para el pseudocódigo, aunque los ocho IDE's que manejan
pseudocódigo tengan su sintaxis propia. Aunque sea parecido, el pseudocódigo
no debe confundirse con los programas esqueleto que incluyen código ficticio,
que pueden ser compilados sin errores. Los diagramas de flujo y UML pueden ser
considerados como una alternativa gráfica al pseudocódigo, aunque sean más
amplios en papel.
Matrices en C#
Matrices en C#
Una matriz es una estructura de datos que permite almacenar un conjunto de datos
del mismo tipo.
Con un único nombre se define la matriz y por medio de DOS sub índices hacemos
referencia a cada elemento de la misma (componente)
Hemos graficado una matriz de 3 filas y 5 columnas. Para hacer referencia a cada
elemento debemos indicar primero la fila y luego la columna, por ejemplo en la
componente 1,4 se almacena el valor 97.
Las filas y columnas comienzan a numerarse a partir de cero, similar a los vectores.
Matrices unidimensionales:
int[] numbers;
string[,] names;
byte[][] scores;
Matrices unidimensionales:
int[] numbers = new int[5];
También se pueden utilizar matrices más grandes. Por ejemplo, se puede utilizar
una matriz rectangular de tres dimensiones:
int[][,,][,] numbers;
Crear una matriz de 3 filas por 4 columnas con elementos de tipo int, ingresar sus
posiciones y luego imprimirlas.
C# admite matrices de una dimensión, matrices multidimensionales (matrices
rectangulares) y matrices de matrices (matrices escalonadas). El siguiente ejemplo
muestra cómo declarar diferentes tipos de matrices:
Ejemplo 1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Matriz
class Matriz
string linea;
linea = Console.ReadLine();
mat[f, c] = int.Parse(linea);
Console.WriteLine();
Console.ReadKey();
ma.Ingresar();
ma.Imprimir();
Ejemplo Básico en C#
Ejemplo Básico en C#
El procedimiento siguiente crea una versión de C# del programa tradicional de
“Hola Mundo”. El programa muestra la cadena Hola Mundo!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Primer_Proyecto
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hola Mundo!");
// continuar al presonar una tecla
Console.WriteLine("Presione Enter para salir");
Console.ReadKey();
}
}
}
Elija la tecla F5 para ejecutar el proyecto. Aparecerá una ventana del símbolo del
sistema con la línea Hola Mundo!
Comentarios en C#
La primera línea contiene un comentario. Los caracteres // convierten el resto de
la línea en un comentario.
// comentarios en c#
en una clase Main, Puede declararse el método Main de una de las maneras
siguientes:
El parámetro del método Main, args, es una matriz de tipo string que contiene los argumentos de la línea
de comandos utilizados para llamar al programa. A diferencia de C++, la matriz no incluye el nombre del
archivo ejecutable (exe). Para obtener más información sobre cómo utilizar argumentos de la línea de
comandos, vea los ejemplos de Main() y argumentos de línea de comandos (Guía de programación de C#)
y Cómo: Crear y utilizar ensamblados desde la línea de comandos (C# y Visual Basic). La llamada a
ReadKey al final del método Main impide que la ventana de la consola se cierre antes de que pueda leer el
resultado al ejecutar el programa en modo de depuración presionando F5.
Crear un Proyecto en C#
Realizar la carga del lado de un cuadrado, mostrar por pantalla el perímetro del
mismo (El perímetro de un cuadrado se calcula multiplicando el valor del lado
por cuatro)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PerimetroCuadrado
{
class Program
{
static void Main(string[] args)
{
int lado, perimetro;
string linea;
Console.Write("Ingrese el lado del cuadrado:");
linea = Console.ReadLine();
lado = int.Parse(linea);
perimetro = lado * 4;
Console.Write("El perímetro del cuadrado es:");
Console.Write(perimetro);
Console.ReadKey();
}
}
}
Ejemplo 2
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SumaProductos4Numeros
{
class Program
{
static void Main(string[] args)
{
int num1, num2, num3, num4, suma, producto;
string linea;
Console.Write("Ingrese primer valor:");
linea = Console.ReadLine();
num1 = int.Parse(linea);
Console.Write("Ingrese segundo valor:");
linea = Console.ReadLine();
num2 = int.Parse(linea);
Console.Write("Ingrese tercer valor:");
linea = Console.ReadLine();
num3 = int.Parse(linea);
Console.Write("Ingrese cuarto valor:");
linea = Console.ReadLine();
num4 = int.Parse(linea);
suma = num1 + num2;
producto = num3 * num4;
Console.Write("La suma de los dos primero valores es:");
Console.WriteLine(suma);
Console.Write("El producto del tercer y cuarto valor es:");
Console.Write(producto);
Console.ReadKey();
}
}
}
Ejemplo 3
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SumaPromedio
{
class Program
{
static void Main(string[] args)
{
int num1, num2, num3, num4, suma, promedio;
string linea;
Console.Write("Ingrese primer valor:");
linea = Console.ReadLine();
num1 = int.Parse(linea);
Console.Write("Ingrese segundo valor:");
linea = Console.ReadLine();
num2 = int.Parse(linea);
Console.Write("Ingrese tercer valor:");
linea = Console.ReadLine();
num3 = int.Parse(linea);
Console.Write("Ingrese cuarto valor:");
linea = Console.ReadLine();
num4 = int.Parse(linea);
suma = num1 + num2 + num3 + num4;
promedio = suma / 4;
Console.Write("La suma de los cuatro valores es:");
Console.WriteLine(suma);
Console.Write("El promedio es:");
Console.Write(promedio);
Console.ReadKey();
}
}
Ejemplo 4
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CostoCompra
{
class Program
{
static void Main(string[] args)
{
int cantidad;
float precio, importe;
string linea;
Console.Write("Ingrese la cantidad de artículos a llevar:");
linea = Console.ReadLine();
cantidad = int.Parse(linea);
Console.Write("Ingrese el valor unitario del producto:");
linea = Console.ReadLine();
precio = float.Parse(linea);
importe = precio * cantidad;
Console.Write("El importe total a pagar es:");
Console.Write(importe);
Console.ReadKey();
}
}
}
Estructura Secuencial en C#
Estructura Secuencial en C#
Cuando en un problema sólo participan operaciones, entradas y salidas se la
denomina una estructura secuencial.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SumaProductoNumeros
{
class Program
{
static void Main(string[] args)
{
int num1, num2, suma, producto;
string linea;
Console.Write("Ingrese primer valor:");
linea = Console.ReadLine();
num1 = int.Parse(linea);
Console.Write("Ingrese segundo valor:");
linea = Console.ReadLine();
num2 = int.Parse(linea);
suma = num1 + num2;
producto = num1 * num2;
Console.Write("La suma de los dos valores es:");
Console.WriteLine(suma);
Console.Write("El producto de los dos valores es:");
Console.WriteLine(producto);
Console.ReadKey();
}
}
}
Recordemos que tenemos que seguir todos los pasos vistos para la creación de un
proyecto.
Algunas cosas nuevas que podemos notar:
Podemos definir varias variables en la misma línea: int num1, num2,
suma, producto;
Si llamamos a la función WriteLine en lugar de Write, la impresión
siguiente se efectuará en la próxima línea: Console.WriteLine(suma);
Estructuras Condicionales en C#
Estructuras Condicionales en C#
Hemos visto hasta ahora que los programas van ejecutando las líneas de código
con orden. Sin embargo, hay muchas situaciones en las que es preciso alterar ese
orden, o bien puede ocurrir que sea necesario que se efectúen una serie de
operaciones que pueden ser distintas en otras circunstancias. Por ejemplo, si el
programa pide una clave de acceso, deberá continuar con la ejecución normal en
caso de que la clave introducida por el usuario sea correcta, y deberá salir del
mismo en caso contrario. Pues bien: para todas estas cuestiones que, por otra parte,
son muy frecuentes, tenemos las estructuras de control de flujo.
En C# contamos con varias de estas estructuras, así que las iremos explicando con
calma una a una, empezando en esta entrega con las estructuras condicionales. De
ING. VLADIMIR FLOREZ TINTA 24
HERRAMIENTAS DE DESARROLLO DE SOFTWARE
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SumaPromedio
{
class Program
{
Ejemplo 2
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CostoCompra
{
class Program
{
static void Main(string[] args)
{
int cantidad;
Operadores Aritméticos en C#
Operadores Aritméticos en C#
En una condición deben disponerse únicamente variables, valores constantes y
operadores relacionales.
Operadores Relacionales:
> (mayor)
< (menor)
>= (mayor o igual)
<= (menor o igual)
== (igual)
!= (distinto)
Operadores Matemáticos
+ (más)
- (menos)
* (producto)
/ (división)
% (resto de una división) Ej.: x=13%5; {se guarda 3}
Hay que tener en cuenta que al disponer una condición debemos seleccionar que
operador relacional se adapta a la pregunta.
Ejemplos:
Se ingresa un número multiplicarlo por 10 si es distinto a 0. (!=)
Se ingresan dos números mostrar una advertencia si son iguales. (==)
Los problemas que se pueden presentar son infinitos y la correcta elección del
operador sólo se alcanza con la práctica intensiva en la resolución de problemas.
Ejemplo 1
Realizar un programa que solicite ingresar dos números distintos y muestre por
pantalla el mayor de ellos.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraCondicionalCompuesta1
class Program
string linea;
linea = Console.ReadLine();
num1 = int.Parse(linea);
linea = Console.ReadLine();
num2 = int.Parse(linea);
Console.Write(num1);
else
Console.Write(num2);
Console.ReadKey();
Etiquetas: c# paso a paso, ejemplos c#, ejemplos con operadores en c#, Ejercicios C#, if else en
c#,operadores aritmeticos en c#, operadores en c#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraCondicionalCompuesta1
class Program
string linea;
linea = Console.ReadLine();
num1 = int.Parse(linea);
linea = Console.ReadLine();
num2 = int.Parse(linea);
Console.Write(num1);
else
Console.Write(num2);
Console.ReadKey();
Ejemplo 2
Realizar un programa que solicite ingresar dos números distintos y muestre por
pantalla el mayor de ellos.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraCondicionalCompuesta1
class Program
string linea;
linea = Console.ReadLine();
num1 = int.Parse(linea);
linea = Console.ReadLine();
num2 = int.Parse(linea);
Console.Write(num1);
else
Console.Write(num2);
Console.ReadKey();
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraCondicionalSimple2
class Program
string linea;
linea = Console.ReadLine();
nota1 = int.Parse(linea);
linea = Console.ReadLine();
nota2 = int.Parse(linea);
linea = Console.ReadLine();
nota3 = int.Parse(linea);
int promedio;
if (promedio >= 7)
Console.Write("Promocionado");
Console.ReadKey();
Ejemplos de If - Else en C#
Ejemplos de If - Else en C#
Ejemplo 1
Realizar un programa que lea por teclado dos números, si el primero es mayor al
segundo informar su suma y diferencia, en caso contrario informar el producto y
la división del primero respecto al segundo.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraCondicionalCompuesta2
class Program
string linea;
linea = Console.ReadLine();
num1 = int.Parse(linea);
linea = Console.ReadLine();
num2 = int.Parse(linea);
Console.WriteLine(suma);
Console.WriteLine(diferencia);
else
Console.WriteLine(producto);
Console.WriteLine(division);
Console.ReadKey();
Ejemplo 2
Se ingresa por teclado un número positivo de uno o dos dígitos (1..99) mostrar
un mensaje indicando si el número tiene uno o dos dígitos.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraCondicionalCompuesta3
class Program
int num;
string linea;
linea = Console.ReadLine();
num = int.Parse(linea);
Console.Write("Tiene un dígito");
else
Console.ReadKey();
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraCondicionalAnidada1
class Program
string linea;
linea = Console.ReadLine();
nota1 = int.Parse(linea);
linea = Console.ReadLine();
nota2 = int.Parse(linea);
linea = Console.ReadLine();
nota3 = int.Parse(linea);
Console.Write("Aprobado");
else
if (promedio > 7)
Console.Write("Desaprobado");
else
Console.Write("Reprobado");
Console.ReadKey();
Ejemplo 2
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraCondicionalAnidada2
class Program
string linea;
linea = Console.ReadLine();
num1 = int.Parse(linea);
linea = Console.ReadLine();
num2 = int.Parse(linea);
linea = Console.ReadLine();
num3 = int.Parse(linea);
else
else
else
Console.ReadKey();
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraCondicionalAnidada1
class Program
string linea;
linea = Console.ReadLine();
nota1 = int.Parse(linea);
linea = Console.ReadLine();
nota2 = int.Parse(linea);
linea = Console.ReadLine();
nota3 = int.Parse(linea);
Console.Write("Aprobado");
else
if (promedio > 7)
Console.Write("Desaprobado");
else
Console.Write("Reprobado");
Console.ReadKey();
||, &&, ?
z = (a>b) ? a : b;
if (a > b)
z = a;
else
z = b;
El uso del operador ? para reemplazar las sentencias if ... else no se restringe sólo
a asignaciones, como en el ejemplo anterior. Se pueden ejecutar una o más
llamadas de función usando el operador ? poniéndolas en las expresiones que
forman los operandos.
Publicado por Yhonatan Robles Vega No hay comentarios:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraCondicionalAnidada4
class Program
int num;
string linea;
linea = Console.ReadLine();
num = int.Parse(linea);
else
else
else
Console.ReadKey();
Ejemplo 2
Realizar un programa que pida ingresar por el teclado un numero entero, y que
indique si el número es positivo, nulo o negativo.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraCondicionalAnidada3
class Program
int num;
string linea;
Console.Write("Ingrese un numero:");
linea = Console.ReadLine();
num = int.Parse(linea);
if (num == 0)
else
if (num > 0)
else
Console.ReadKey();
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraRepetitivaWhile
class Program
int x;
x = 1;
Console.Write(x);
Console.Write(" , ");
x = x + 1;
Console.ReadKey();
Ejemplo 2
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraRepetitivaWhile
class Program
int n, x;
string linea;
linea = Console.ReadLine();
n = int.Parse(linea);
x = 1;
while (x <= n)
Console.Write(x);
Console.Write(" , ");
x = x + 1;
Console.ReadKey();
Etiquetas: bucles en c#, C#, c# básico, ejercicios resueltos de c#, ejercicios while en
c#, Estructura repetitiva while en c#, problemas while en c#, while en c#
La variable x debe estar inicializada con algún valor antes que se ejecute la
operación x=x + 1 en caso de no estar inicializada aparece un error de
compilación.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraRepetitivaWhile
class Program
int mult;
mult = 3;
Console.Write(mult);
Console.Write(", ");
mult = mult + 3;
Console.ReadKey();
Ejemplo 2
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraRepetitivaWhile
class Program
int fac=1,x,n;
string linea;
x = 1;
linea = Console.ReadLine();
n = int.Parse(linea);
while (x <= n)
fac = fac * x;
x = x + 1;
Console.ReadKey();
Etiquetas: bucles en c#, C#, ejemplos c#, ejercicios resueltos de c#, Estructura repetitiva while
en c#, Estructura While en C#, problemas while en c#, while en c#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraRepetitivaWhile
class Program
string linea;
x = 1;
suma = 0;
while (x <= 8)
linea = Console.ReadLine();
valor = int.Parse(linea);
x = x + 1;
promedio = suma / 8;
Console.WriteLine(suma);
Console.Write(promedio);
Console.ReadKey();
Ejemplo 2
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraRepetitivaWhile
class Program
string linea;
x = 1;
pares = 0;
impares = 0;
linea = Console.ReadLine();
n = int.Parse(linea);
while (x <= n)
linea = Console.ReadLine();
valor = int.Parse(linea); ;
if (valor % 2 == 0)
pares = pares + 1;
else
impares = impares + 1;
x = x + 1;
Console.Write("Cantidad de pares:");
Console.WriteLine(pares);
Console.Write("Cantidad de impares:");
Console.Write(impares);
Console.ReadKey();
En su forma más típica y básica, esta estructura requiere una variable entera que
cumple la función de un contador de vueltas. En la sección indicada como
"inicialización contador", se suele colocar el nombre de la variable que hará de
contador, asignándole a dicha variable un valor inicial. En la sección de
"condición" se coloca la condición que deberá ser verdadera para que el ciclo
continúe (en caso de un falso, el ciclo se detendrá). Y finalmente, en la sección de
"incremento contador" se coloca una instrucción que permite modificar el valor
de la variable que hace de contador (para permitir que alguna vez la condición
sea falsa)
Las variables a utilizar en el bucle for pueden ser cualquiera.
Ahora para entender mas sobre las estructuras repetitivas for vamos a ver
algunos ejemplos que nos ayudaran a entender mejor el tema.
Publicado por Yhonatan Robles Vega No hay comentarios:
Etiquetas: algoritmo en c#, bucle for en c#, bucles en c#, C#, c# paso a paso, ejercicios for en
c#,ejercicios resueltos de c#, Estructura repetitiva For en C#, For en C#
Factorial de un Numero en C#
Realizar un programa que nos imprima la factorial de un numero dado desde el
teclado
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraRepetitivaWhile
class Program
int fac=1,x,n;
string linea;
x = 1;
linea = Console.ReadLine();
n = int.Parse(linea);
while (x <= n)
fac = fac * x;
x = x + 1;
Console.ReadKey();
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraRepetitivaWhile
class Program
int n;
string linea;
linea = Console.ReadLine();
n = int.Parse(linea);
Console.ReadKey();
Ejemplo 2
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraRepetitivaWhile
class Program
int n,valor,positivos,negativos,pares,impares;
positivos = 0;
negativos = 0;
pares = 0;
impares = 0;
string linea;
linea = Console.ReadLine();
n = int.Parse(linea);
linea = Console.ReadLine();
valor = int.Parse(linea);
if (valor > 0)
positivos++;
else
if (valor < 0)
negativos++;
if (valor % 2 == 0)
pares++;
else
if (valor % 2 != 0)
impares++;
Console.ReadKey();
Etiquetas: algoritmo en c#, bucle for en c#, bucles en c#, ejemplos c#, Ejercicios C#, ejercicios
for en c#, Estructura repetitiva For en C#, For en C#, introducción a c#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraRepetitivaWhile
class Program
int fac=1,n;
string linea;
linea = Console.ReadLine();
n = int.Parse(linea);
fac = fac * i;
Console.ReadKey();
Ejemplo 2
Realizar un programa que permita imprimir por pantalla los números múltiplos
de 5, establecer el rango por el teclado
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraRepetitivaWhile
class Program
int n;
string linea;
linea = Console.ReadLine();
n = int.Parse(linea);
Console.Write("\n");
if (i % 5 == 0)
Console.Write(i+", ");
Console.ReadKey();
Do en C#
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.
ING. VLADIMIR FLOREZ TINTA 65
HERRAMIENTAS DE DESARROLLO DE SOFTWARE
Etiquetas: bucle do while en c#, bucles en c#, c sharp, C#, do while en c#, ejercicios de do while
en c#, ejercicios de estructuras condicionales en c#, ejercicios resueltos de c#
Tabla de Multiplicar en C#
Tabla de Multiplicar en C#
Desarrollar un programa que muestre la tabla de multiplicar de un numero
ingresado por el teclado del 1 al 15
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraRepetitivaWhile
class Program
int n;
string linea;
linea = Console.ReadLine();
n = int.Parse(linea);
Console.ReadKey();
Ejemplo de Do While en C#
Ejemplo de Do While en C#
En un banco se procesan datos de las cuentas corrientes de sus clientes. De cada
cuenta corriente se conoce: número de cuenta y saldo actual. El ingreso de datos
debe finalizar al ingresar un valor negativo en el número de cuenta.
Se pide realizar un programa que lea los datos de las cuentas corrientes e
informe:
a)De cada cuenta: número de cuenta y estado de la cuenta según su saldo,
sabiendo que:
Estado de la cuenta 'Acreedor' si el saldo es >0.
'Deudor' si el saldo es <0.
'Nulo' si el saldo es =0.
b) La suma total de los saldos acreedores.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraRepetitivaDoWhile
class Program
int cuenta;
string linea;
suma = 0;
do
linea = Console.ReadLine();
cuenta = int.Parse(linea);
if (cuenta >= 0)
Console.Write("Ingrese saldo:");
linea = Console.ReadLine();
saldo = float.Parse(linea);
if (saldo > 0)
Console.WriteLine("Saldo Acreedor.");
else
if (saldo < 0)
Console.WriteLine("Saldo Deudor.");
else
Console.WriteLine("Saldo Nulo.");
Console.Write(suma);
Console.ReadKey();
Etiquetas: bucle do while en c#, bucles en c#, c sharp, C#, do while en c#, ejercicios de do while
en c#, ejercicios de estructuras condicionales en c#, ejercicios resueltos de c#
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraRepetitivaDoWhile
class Program
string linea;
suma = 0;
cant = 0;
do
linea = Console.ReadLine();
valor = int.Parse(linea);
if (valor != 0)
cant++;
if (cant != 0)
Console.Write(promedio);
else
Console.ReadLine();
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CadenaDeCaracteres
class Program
String linea;
nombre1 = Console.ReadLine();
linea = Console.ReadLine();
edad1 = int.Parse(linea);
nombre2 = Console.ReadLine();
linea = Console.ReadLine();
edad2 = int.Parse(linea);
else
Console.ReadKey();
Ejemplo 2
Realizar un programa que permita el ingreso del apellido, nombre y edad de dos
personas. Mostrar el nombre de la persona con mayor edad.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CadenaDeCaracteres
class Program
string linea;
apenom1 = Console.ReadLine();
linea = Console.ReadLine();
edad1 = int.Parse(linea);
apenom2 = Console.ReadLine();
linea = Console.ReadLine();
edad2 = int.Parse(linea);
Console.Write(apenom1);
else
Console.Write(apenom2);
Console.ReadKey();
Cadena de Caracteres en C#
Cadena de Caracteres en C#
ING. VLADIMIR FLOREZ TINTA 73
HERRAMIENTAS DE DESARROLLO DE SOFTWARE
string s1 = "orange";
string s2 = "red";
s1 += s2;
s1 = s1.Substring(2, 5);
Los objetos de cadena son inmutables, lo que significa que no se pueden cambiar
una vez creados. Los métodos que actúan sobre las cadenas, devuelven los
nuevos objetos de cadena. En el ejemplo anterior, cuando el contenido de s1 y s2
se concatenan para formar una sola cadena, las dos cadenas que contienen
"orange" y "red" no se modifican.
El operador += crea una nueva cadena que contiene el contenido combinado.
Como resultado, s1 ahora hace referencia a una cadena totalmente diferente.
Todavía existe una cadena que sólo contiene "orange" , pero deja de hacerse
referencia a ella cuando se concatena s1.
Tenga cuidado cuando cree referencias a cadenas. Si crea una referencia a una
cadena y después "modifica" la cadena, la referencia seguirá señalando al objeto
original y no al nuevo objeto que se creó cuando se modificó la cadena.
Carácter de escape
Los caracteres de escape como "\n" y (nueva línea) y "\t" (tabulador) se pueden
incluir en cadenas. La línea:
string hello = "Hola\nMundo!";
equivale a:
Hola
Mundo!
ToString()
Al igual que todos los objetos derivados de Object, las cadenas proporcionan el
método ToString, que convierte un valor en una cadena. Este método se puede
utilizar para convertir valores numéricos en cadenas de la siguiente manera:
por ahora solo nos interesa la mecánica para trabajar con cadenas de caracteres.
Para ello veremos algunos ejemplos para el uso de cadena de caracteres
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CadenaDeCaracteres
class Program
nombre1 = Console.ReadLine();
nombre2 = Console.ReadLine();
if (nombre1 == nombre2)
else
Console.ReadKey();
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaClase
class Triangulo
//Metodo inicializar
string linea;
linea = Console.ReadLine();
lado1 = int.Parse(linea);
linea = Console.ReadLine();
lado2 = int.Parse(linea);
linea = Console.ReadLine();
lado3 = int.Parse(linea);
Console.Write("Lado mayor:");
Console.WriteLine(lado1);
else
Console.WriteLine(lado2);
else
Console.WriteLine(lado3);
//Metodo es equilatero
else
triangulo1.Inicializar();
triangulo1.LadoMayor();
triangulo1.EsEquilatero();
Console.ReadKey();
Este problema requiere definir tres atributos de tipo entero donde almacenamos
los valores de los lados del triángulo:
Console.ReadKey();
Ejemplo 2
Realizar un programa que tenga una clase que permita ingresar el nombre y la
edad de una persona. Mostrar los datos ingresados. Imprimir un mensaje si es
mayor de edad (edad>=18)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaClase
class Persona
//Método Inicializar()
Console.Write("Ingrese nombre:");
nombre = Console.ReadLine();
string linea;
Console.Write("Ingrese edad:");
linea = Console.ReadLine();
edad = int.Parse(linea);
//Método Imprimir()
Console.Write("Nombre:");
Console.WriteLine(nombre);
Console.Write("Edad:");
Console.WriteLine(edad);
//Método es EsMayorEdad()
else
Console.ReadKey();
Clases en C#
La programación orientada a objetos se basa en la programación de clases; a
diferencia de la programación estructurada, que está centrada en las funciones.
Clase en C#
Una clase es un molde del que luego se pueden crear múltiples objetos, con
similares características.
Una clase es una plantilla (molde), que define atributos (variables) y métodos
(funciones)
La clase define los atributos y métodos comunes a los objetos de ese tipo, pero
luego, cada objeto tendrá sus propios valores y compartirán las mismas
funciones.
Debemos crear una clase antes de poder crear objetos (instancias) de esa clase.
Al crear un objeto de una clase, se dice que se crea una instancia de la clase o un
objeto propiamente dicho.
Definición de un Método en C#
Un método es un conjunto de instrucciones a las que se les asocia un nombre de
modo que si se desea ejecutarlas basta referenciarlas a través de dicho nombre en
vez de tener que escribirlas. Dentro de estas instrucciones es posible acceder con
total libertad a la información almacenada en los campos pertenecientes a la clase
dentro de la que el método se ha definido, los métodos permiten manipular los
datos almacenados en los objetos.
Objetos en C#
Declaración de Objetos en C#
Cuando uno plantea una clase en lugar de especificar todo el algoritmo en un
único método (lo que hicimos en los primeros pasos de este tutorial) es dividir
todas las responsabilidades de las clase en un conjunto de métodos.
Ejemplo:
Definir tres clases llamada tren, avión y barco, luego definir una clase llamada
transporte y en ella definir los objetos de las clases anteriores.
Ejemplos de Clases en C#
Ejemplos de Clases en C#
Ejemplo 1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaClase
class Cuadrado
//método Inicializar()
string linea;
linea = Console.ReadLine();
lado = int.Parse(linea);
//Método ImprimirPerimetro()
int perimetro;
perimetro = lado * 4;
//Método ImprimirSuperficie()
int superficie;
cuadrado1.ImprimirPerimetro(); //Llamando
al método ImprimirPerimetro();
cuadrado1.ImprimirSuperficie(); //Llamando
al método ImprimirSuperficie();
Console.ReadKey();
Ejemplo 2
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaClase
class Operaciones
// Método Inicializar()
string linea;
linea = Console.ReadLine();
valor1 = int.Parse(linea);
linea = Console.ReadLine();
valor2 = int.Parse(linea);
// Método Sumar()
int suma;
//Método Restar()
int resta;
// Método Multiplicar()
int multiplicacion;
//Método Dividir()
int division;
Console.ReadKey();
Arreglos en C#
Arreglos en C#
Los arreglos en C# (también conocidos como Arrays) al igual que en C/C++, son
indexados iniciando en cero (0). La forma de trabajo es muy similar a la mayoría
de lenguajes pero hay lagunas diferencias que notarán.
int valores[];
//Declaración valida
int[] valores;
Etiquetas: algoritmo en c#, arreglos en c#, arreglos y vectores en c#, declaración de un vector
en c#, ejercicios con vectores en c#, ejercicios resueltos de vectores en c#, vectores en c#
Desarrollar una clase que permita ingresar tres valores por teclado. Luego
mostrar el mayor y el menor.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EspacioMayorMenor
class MayorMenor
string linea;
linea = Console.ReadLine();
linea = Console.ReadLine();
linea = Console.ReadLine();
int m;
m = v1;
else
m = v2;
else
m = v3;
return m;
int m;
m = v1;
else
m = v2;
else
m = v3;
return m;
mm.cargarValores();
Console.ReadKey();
Ejemplo 2
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace clases
class MayorMenor
Name = name;
Age = age;
class Program
person2.Name = "Elisa";
person2.Age = 16;
Console.ReadKey();
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector1
class PruebaVector1
String linea;
linea = Console.ReadLine();
Console.Write("["+sueldos[f]+"] ");
Console.ReadKey();
//main principal
pv.Cargar();
pv.Imprimir();
Ejemplo 2
Una empresa tiene dos turnos (mañana y tarde) en los que trabajan 8 empleados
(4 por la mañana y 4 por la tarde)
Desarrollar un programa que permita almacenar los sueldos de los empleados
agrupados por turno.
Imprimir los gastos en sueldos de cada turno.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
class PruebaVector3
string linea;
linea = Console.ReadLine();
linea = Console.ReadLine();
float man = 0;
float tar = 0;
Console.ReadKey();
pv.Cargar();
pv.CalcularGastos();
Etiquetas: arreglos en c#, arreglos y vectores en c#, declaración de un vector en c#, ejercicios
con vectores en c#, ejercicios resueltos de vectores en c#, vectores en c#, Visual Studio
Arreglos Multi-dimensionales en C#
Arreglos Multi-dimensionales
En C# también podemos declarar arreglos multi-dimensionales, aquí unos
ejemplos:
//Arreglos multidimensionales
//Arreglo de arreglos
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector2
class PruebaVector2
alturas[f] = float.Parse(linea);
float suma;
suma = 0;
promedio = suma / 5;
may = 0;
men = 0;
may++;
else
men++;
Console.ReadKey();
pv2.Cargar();
pv2.CalcularPromedio();
pv2.MayoresMenores();
Etiquetas: arreglos en c#, arreglos y vectores en c#, declaración de un vector en c#, ejercicios
con vectores en c#, ejercicios resueltos de vectores en c#, vectores en c#, while en c#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector6
class PruebaVector6
string linea;
linea = Console.ReadLine();
quimica[f] = int.Parse(linea);
string linea;
linea = Console.ReadLine();
fisica[f] = int.Parse(linea);
int suma1 = 0;
int suma2 = 0;
else
Console.ReadKey();
pv.Cargar();
pv.CalcularPromedios();
Suma de vectores en C#
Suma de vectores en C#
Realizar un programa que sume dos vectores y los almacene en un tercer
vector
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
class PruebaVector
string linea;
linea = Console.ReadLine();
int n = int.Parse(linea);
A = new int[n];
B = new int[n];
C = new int[n];
linea = Console.ReadLine();
A[i] = int.Parse(linea);
linea = Console.ReadLine();
B[j] = int.Parse(linea);
C[i]=A[i]+B[i];
Console.Write("["+C[i]+"] ");
Console.ReadLine();
pv.Cargar();
pv.Visualizar();
Etiquetas: arreglos y vectores en c#, ejemplos c#, Ejercicios C#, ejercicios con vectores en
c#,ejercicios resueltos de vectores en c#, suma en c#, sumar dos vectores en c#, vectores en c#
Ejemplo 1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
class PruebaVector
nombres[f] = Console.ReadLine();
string linea;
linea = Console.ReadLine();
sueldos[f] = float.Parse(linea);
float mayor;
int pos;
mayor = sueldos[0];
pos = 0;
mayor = sueldos[f];
pos = f;
Console.ReadKey();
pv.Cargar();
pv.MayorSueldo();
Ejemplo 2
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
class PruebaVector
string linea;
linea = Console.ReadLine();
int n = int.Parse(linea);
linea = Console.ReadLine();
vec[f] = int.Parse(linea);
menor = vec[0];
menor = vec[f];
int cant = 0;
if (vec[f] == menor)
cant++;
if (cant > 1)
else
Console.ReadLine();
pv.Cargar();
pv.MenorElemento();
pv.RepiteMenor();
Matrices en C#
Matrices en C#
Este también es un tipo de dato estructurado, que está compuesto por n
dimensiones. Para hacer referencia a cada componente del arreglo es necesario
utilizar n índices, uno para cada dimensión.
Conceptos básicos
Donde:
Tipo indica el tipo correspondiente a los elementos del arreglo,Identificador es el
nombre del arreglo, y el par de corchetes, la coma y las diéresis,[ , ...], representan
las dimensiones del arreglo. Los corchetes encierran todas las comas necesarias
para separar las dimensiones del arreglo.
Ejemplos:
Observe que, en la declaración, el espacio entre los corchetes está vacío. Esto se
debe a que, durante dicha operación, no se reserva espacio en la memoria.
Creación
La creación de un arreglo multidimensional consiste en reservar espacioen la
memoria para todos sus elementos, utilizando la siguiente sintaxis:
Donde:
Resta de Vectores en C#
Resta de Vectores en C#
Realizar un programa que Reste dos vectores y los almacene en un tercer vector
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
{
class PruebaVector
{
private int[] A;//Declaramos un vector A
private int[] B;//Declaramos un vector B
private int[] C;//Declaramos un vector C
public void Cargar()
{
Console.Write("Ingrese la longitud de los vectores a restar: ");
string linea;
linea = Console.ReadLine();
int n = int.Parse(linea);
A = new int[n];
B = new int[n];
C = new int[n];
Console.WriteLine("Ingresando valores al vector A");
for (int i = 0; i< A.Length; i++)
{
Console.Write("Ingrese componente [" + ( i + 1 ) +"]: ");
linea = Console.ReadLine();
A[i] = int.Parse(linea);
}
Console.WriteLine("Ingresando valores al vector B");
for (int j = 0; j< B.Length; j++)
{
Console.Write("Ingrese componente [" + (j + 1) + "]: ");
linea = Console.ReadLine();
B[j] = int.Parse(linea);
}
for (int i = 0; i< A.Length; i++)
{
C[i]=A[i]-B[i];
}
}
public void Visualizar()
{
Console.WriteLine("La resta de los vecores es: ");
for (int i = 0; i< A.Length; i++)
{
Console.Write("["+C[i]+"] ");
}
Console.ReadLine();
}
static void Main(string[] args)
{
PruebaVector pv = new PruebaVector();
pv.Cargar();
pv.Visualizar();
}
}
}
Ejemplo de Matrices en C#
Ejemplo de Matrices en C#
Realizar un programa que permita imprimir la siguiente serie:
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
class PruebaVector
if (i==j)
serie[i, j] = 1;
else
serie[i, j] = 0;
Console.Write("\n");
Console.Write(serie[i,j]+" ");
Console.ReadKey();
pv.Cargar();
pv.visualizar();
Etiquetas: arreglos multidimensionales en c#, arreglos y vectores en c#, ejemplo con matrices
en c#, ejercicios de matrices en C#, matrices en c#
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector10
class PruebaVector
nombres[f] = Console.ReadLine();
string linea;
linea = Console.ReadLine();
edades[f] = int.Parse(linea);
Console.WriteLine(nombres[f]);
Console.ReadKey();
pv.Cargar();
pv.MayoresEdad();
Ejemplo 2
Realizar un programa que permita imprimir la siguiente serie:
1 0 1 0 1 0
1 0 1 0 1 0
1 0 1 0 1 0
1 0 1 0 1 0
1 0 1 0 1 0
1 0 1 0 1 0
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
class PruebaVector
if (j % 2 == 0)
serie[i, j] = 0;
else
serie[i, j] = 1;
Console.Write("\n");
Console.Write(serie[i,j]+" ");
Console.ReadKey();
pv.Cargar();
pv.visualizar();
Vectores y Matrices en C#
Vectores y Matrices en C#
Un array (matriz o vector) es un conjunto finito y ordenado de elementos
homogéneos. La propiedad “ordenado” significa que el elemento primero, segundo
y tercero,…, enésimo de un array puede ser identificado. Los elementos del array
son homogéneos, es decir, del mismo tipo de datos. Los array también se conocen
como matrices-en matemáticas- y tablas- en cálculos financieros.
Matrices en C#
Suma de Matrices en C#
Suma de Matrices en C#
ING. VLADIMIR FLOREZ TINTA 120
HERRAMIENTAS DE DESARROLLO DE SOFTWARE
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
{
class PruebaVector
{
private int[,] MatrizA;
private int[,] MatrizB;
private int[,] MatrizC;
public void Cargar()
{
MatrizA = new int[10,10];
MatrizB = new int[10, 10];
MatrizC = new int[10, 10];
Console.WriteLine("Ingresando datos al matriz A");
for (int i = 1; i<= 3; i++)
{
for (int j = 1; j <= 3; j++)
{
Console.Write("Ingrese posicion [" + i + "," + j + "]: ");
string linea;
linea = Console.ReadLine();
MatrizA[i, j] = int.Parse(linea);
}
}
Console.WriteLine("Ingresando datos al matriz B");
for (int i = 1; i <= 3; i++)
{
for (int j = 1; j <= 3; j++)
{
Console.Write("Ingrese posicion [" + i + "," + j + "]: ");
string linea;
linea = Console.ReadLine();
MatrizB[i, j] = int.Parse(linea);
}
}
//Sumamos la matrizA y la MatrizB
for (int i = 1; i< = 3; i++)
{
for (int j = 1; j <= 3; j++)
{
MatrizC[i,j]=MatrizA[i,j]+MatrizB[i,j];
}
}
}
// visualizamos la suma de las matrices
public void visualizar()
{
Console.WriteLine("La suma de la MatrizA y MatrizB es :");
for (int i = 1; i< = 3; i++)
{
Console.Write("\n");
for (int j = 1; j <= 3; j++)
{
Console.Write(MatrizC[i,j]+" ");
}
}
Console.ReadKey();
}
static void Main(string[] args)
{
PruebaVector pv = new PruebaVector();
pv.Cargar();
pv.visualizar();
}
}
}
Al ejecutar el código muestra el siguiente resultado
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Matriz
{
class Matriz
{
private string[] paises;
private int[,] tempmen;
private int[] temptri;
public void Cargar()
{
paises = new String[4];
tempmen = new int[4, 3];
for (int f = 0; f< paises.Length; f++)
{
Console.Write("Ingrese el nombre de la provincia "+(f+1)+": ");
paises[f] = Console.ReadLine();
for (int c = 0; c < tempmen.GetLength(1); c++)
{
Console.Write("Ingrese temperatura mensual " + (c + 1) + ":
");
string linea = Console.ReadLine();
tempmen[f, c] = int.Parse(linea);
}
}
}
public void ImprimirTempMensuales()
{
for (int f = 0; f< paises.Length; f++)
{
Console.Write("Provincia:" + paises[f] + ":");
for (int c = 0; c < tempmen.GetLength(1); c++)
{
Console.Write(tempmen[f, c] + " ");
}
Console.WriteLine();
}
}
public void CalcularTemperaturaTri()
{
temptri = new int[4];
for (int f = 0; f< tempmen.GetLength(0); f++)
{
int suma = 0;
for (int c = 0; c < tempmen.GetLength(1); c++)
{
suma = suma + tempmen[f, c];
}
temptri[f] = suma / 3;
}
}
public void ImprimirTempTrimestrales()
{
Console.WriteLine("Temperaturas trimestrales.");
for (int f = 0; f< paises.Length; f++)
{
Console.WriteLine(paises[f] + " " + temptri[f]);
}
}
public void PaisMayorTemperaturaTri()
{
int may = temptri[0];
string nom = paises[0];
for (int f = 0; f< paises.Length; f++)
{
if (temptri[f] > may)
{
may = temptri[f];
nom = paises[f];
}
}
Console.WriteLine("Provincia con temperatura trimestral mayor es " +
nom + " que tiene una temperatura de " + may);
}
static void Main(string[] args)
{
Matriz ma = new Matriz();
ma.Cargar();
ma.ImprimirTempMensuales();
ma.CalcularTemperaturaTri();
ma.ImprimirTempTrimestrales();
ma.PaisMayorTemperaturaTri();
Console.ReadKey();
}
}
}
Al ejecutar el código muestra el siguiente resultado
· Nombres de 4 operarios.
· Ingresos en concepto de sueldo, cobrado por cada operario, en los últimos 3
meses.
Realizar un programa para:
1. Realizar el ingreso de la información mencionada.
2. Generar un vector que contenga el ingreso acumulado en sueldos en
los últimos 3 meses para cada operario.
3. Mostrar por pantalla el total pagado en sueldos a todos los operarios
en los últimos 3 meses
4. Obtener el nombre del operario que tuvo el mayor ingreso acumulado
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Matriz
{
class Matriz
{
private string[] empleados;
private int[,] sueldos;
private int[] sueldostot;
public void Cargar()
{
empleados = new String[4];
sueldos = new int[4, 3];
for (int f = 0; f< empleados.Length; f++)
{
Console.Write("Ingrese el nombre del operario "+(f+1)+": ");
empleados[f] = Console.ReadLine();
for (int c = 0; c < sueldos.GetLength(1); c++)
{
Console.Write("Ingrese sueldo " + (c + 1) + ": ");
string linea;
linea = Console.ReadLine();
sueldos[f, c] = int.Parse(linea);
}
}
}
public void CalcularSumaSueldos()
{
sueldostot = new int[4];
for (int f = 0; f< sueldos.GetLength(0); f++)
{
int suma = 0;
for (int c = 0; c < sueldos.GetLength(1); c++)
{
suma = suma + sueldos[f, c];
}
sueldostot[f] = suma;
}
}
public void ImprimirTotalPagado()
{
Console.WriteLine("Total de sueldos pagados por Operario.");
for (int f = 0; f< sueldostot.Length; f++)
{
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
class PruebaVector
string linea;
linea = Console.ReadLine();
int cant;
cant = int.Parse(linea);
linea = Console.ReadLine();
vector[f] = int.Parse(linea);
int auxili;
int j;
auxili = vector[i];
j = i - 1;
vector[j + 1] = vector[j];
j--;
vector[j + 1] = auxili;
Console.Write(vector[f]+" ");
Console.ReadKey();
pv.Cargar();
pv.InsercionDirecta();
pv.Imprimir();
Etiquetas: burbuja en c#, ejercicios con métodos de ordenamiento en c#, inserción binaria en
C#,inserción directa en c#, merge sort en c#, quick sort en c#, shaker sort en c#, shell sor en c#
Métodos de Ordenamiento en C#
Métodos de Ordenamiento en C#
En computación un algoritmo de ordenamiento es un algoritmo que pone
elementos de una lista o un vector en una secuencia dada por una relación de
orden, es decir, el resultado de salida ha de ser una permutación o
reordenamiento de la entrada que satisfaga la relación de orden dada. Las
relaciones de orden más usadas son el orden numérico y el orden lexicográfico.
Ordenamientos eficientes son importantes para optimizar el uso de otros
algoritmos (como los de búsqueda y fusión) que requieren listas ordenadas para
una ejecución rápida.
Ejemplo
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
class PruebaVector
string linea;
linea = Console.ReadLine();
int cant;
cant = int.Parse(linea);
linea = Console.ReadLine();
vector[f] = int.Parse(linea);
int auxili;
int j;
auxili = vector[i];
j = i - 1;
vector[j + 1] = vector[j];
j--;
vector[j + 1] = auxili;
Console.Write(vector[f]+" ");
Console.ReadKey();
pv.Cargar();
pv.InsercionDirecta();
pv.Imprimir();
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
class PruebaVector
string linea;
linea = Console.ReadLine();
int cant;
cant = int.Parse(linea);
linea = Console.ReadLine();
vector[f] = int.Parse(linea);
int salto = 0;
int sw = 0;
int auxi = 0;
int e = 0;
salto = vector.Length / 2;
sw = 1;
while (sw != 0)
sw = 0;
e = 1;
sw = 1;
e++;
salto = salto / 2;
Console.Write(vector[f]+" ");
Console.ReadKey();
pv.Cargar();
pv.Shell();
pv.Imprimir();
Etiquetas: burbuja en c#, ejercicios con métodos de ordenamiento en c#, inserción binaria en
C#,inserción directa en c#, merge sort en c#, quick sort en c#, shaker sort en c#, shell sor en c#
int q;
int izqui;
int dere;
auxiliar = numeros[i];
izqui = 0;
dere = i - 1;
dere = q - 1;
else
izqui = q + 1;
j = i - 1;
numeros[j + 1] = numeros[j];
j = j - 1;
numeros[izqui] = auxiliar;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Burbuja
{
class Burbuja
Console.WriteLine("Metodo de Burbuja");
string linea;
linea = Console.ReadLine();
int cant;
cant = int.Parse(linea);
linea = Console.ReadLine();
vector[f] = int.Parse(linea);
int t;
t = vector[b - 1];
vector[b - 1] = vector[b];
vector[b] = t;
Console.Write(vector[f]+" ");
Console.ReadKey();
pv.Cargar();
pv.MetodoBurbuja();
pv.Imprimir();
Etiquetas: burbuja en c#, ejercicios con métodos de ordenamiento en c#, inserción binaria en
C#,inserción directa en c#, merge sort en c#, quick sort en c#, shaker sort en c#, shell sor en c#
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace quicksort
{
class Class
int n;
n = Int32.Parse(Console.ReadLine());
class llenar
int h;
int[] vector;
public llenar(int n)
h = n;
vector[i] = Int32.Parse(Console.ReadLine());
quicksort(vector, 0, h - 1);
mostrar();
int i, j, central;
double pivote;
pivote = vector[central];
i = primero;
j = ultimo;
do
if (i <= j)
int temp;
temp = vector[i];
vector[i] = vector[j];
vector[j] = temp;
i++;
j--;
if (primero < j)
if (i < ultimo)
quicksort(vector, i, ultimo);
Console.ReadLine();
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MergeSort
class Program
string linea;
linea = Console.ReadLine();
int cant;
cant = int.Parse(linea);
linea = Console.ReadLine();
nums[f] = int.Parse(linea);
MergeSort(nums);
Console.ReadLine();
//Condicion de parada
if (desde == hasta)
return;
int a = desde1;
int b = desde2;
if (b != x.Length)
result[i] = x[b];
b++;
result[i] = x[a];
a++;
result[i] = x[b];
b++;
else
result[i] = x[a];
a++;
else
if (a <= hasta1)
result[i] = x[a];
a++;
return result;
Etiquetas: burbuja en c#, ejercicios con métodos de ordenamiento en c#, inserción binaria en
C#,inserción directa en c#, merge sort en c#, quick sort en c#, shaker sort en c#, shell sor en c#
int izq = 1;
int k = n;
int aux;
int der = n;
do
numeros[i - 1] = numeros[i];
numeros[i] = aux;
k = i;
izq = k + 1;
numeros[i - 1] = numeros[i];
numeros[i] = aux;
k = 1;
der = k - 1;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
class PruebaVector
nombre[f] = Console.ReadLine();
string aux;
aux = nombre[f];
nombre[f + 1] = aux;
Console.WriteLine(nombre[f]);
Console.ReadKey();
pv.Cargar();
pv.Ordenar();
pv.Imprimir();
Ejemplo 3
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
class PruebaVector
string linea;
linea = Console.ReadLine();
int cant;
cant = int.Parse(linea);
linea = Console.ReadLine();
vector[f] = int.Parse(linea);
int aux;
aux = vector[f];
vector[f + 1] = aux;
Console.Write(vector[f]+" ");
Console.ReadKey();
pv.Cargar();
pv.Ordenar();
pv.Imprimir();
Ordenar Vectores en C#
Ordenar Vectores en C#
El ordenamiento de un vector se logra intercambiando las componentes de
manera que:
vec[0] <= vec[1] <= vec[2] ..<=vec[n]
El contenido de la componente vec[0] sea menor o igual al contenido de la
componente vec[1] y así sucesivamente.
Si se cumple lo dicho anteriormente decimos que el vector está ordenado de
menor a mayor. Igualmente podemos ordenar un vector de mayor a menor.
Se puede ordenar tanto vectores con componentes de tipo int, float como string.
En este último caso el ordenamiento es alfabético.
Veamos algunos ejemplos de ordenamiento de vectores, ya que podemos
ordenar ascendente o decentemente los valores de un vector.
Ejercicios de Ordenamiento en C#
Ejemplo 1
Realizar un programa que dado un vector y que almacene 5 números para luego
ordenar los números acendentemente.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
class PruebaVector
numeros[f] = int.Parse(linea);
int aux;
aux = numeros[f];
numeros[f + 1] = aux;
Console.WriteLine("Ordenado Ascendentemante");
Console.Write(numeros[f]+" ");
Console.ReadKey();
pv.Cargar();
pv.Ordenar();
pv.Imprimir();
3. Repetimos el mismo proceso sobre el área con la que nos quedamos, hasta
que dicha área sea nula.
int q;
int izqui;
int dere;
auxiliar = numeros[i];
izqui = 0;
dere = i - 1;
dere = q - 1;
else
izqui = q + 1;
j = i - 1;
numeros[j + 1] = numeros[j];
j = j - 1;
numeros[izqui] = auxiliar;
Se desean ordenarse las siguientes clave del arreglo A: 15, 67, 08, 16, 44, 27, 12,
35
Primera pasada
A[2] < A[1] 67 < 15 No hay intercambio
Segunda pasada
A[3] < A[2] 08 < 67 Si hay intercambio
A[2] < A[1] 08 < 15 Si hay
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
class PruebaVector
string linea;
linea = Console.ReadLine();
int cant;
cant = int.Parse(linea);
linea = Console.ReadLine();
vector[f] = int.Parse(linea);
int auxili;
int j;
auxili = vector[i];
j = i - 1;
vector[j + 1] = vector[j];
j--;
vector[j + 1] = auxili;
Console.Write(vector[f]+" ");
Console.ReadKey();
pv.Cargar();
pv.InsercionDirecta();
pv.Imprimir();
Ejemplo:
A: 15,67,08,16,44,27,12,35
Se selecciona A[i] x=15
(IZQ-DER)
A[2] < = X 67 < = 15 Si hay intercambio
A:12,15,08,16,44,27,67,35
x16
(DER-IZQ)
A[8]>=x No hay intercambio
A[7]>=x No hay intercambio
A[6]>=x No hay intercambio
A[5]>=x No hay intercambio
A: 12, 08, 15, 16, 44, 27, 67, 35
xß44
(DER-IZQ)
A[8]>= x Si hay intercambio
A: 12, 08, 15, 16, 35, 27, 67, 44
(IZQ-DER)
A[6] < = x No hay intercambio
A[7] < = x Si hay intercambio
12, 08, 15, 16, 35, 27, 44, 67
12, 08, 15, 16, 35, 27, 44, 67
35, 27, 44, 67
xß35
(DER-IZQ)
A[8] >= x No hay intercambio
A[7] >= x No hay intercambio
A[6] >= x Si hay intercambio
12, 08, 15, 16, 27, 35, 44, 67
12,08
xß12
(DER-IZQ)
A[2]>=x Si hay intercambio
EL VECTOR ORDENADO:
08,12,15,16,27,35,44,67
vector[i] = Int32.Parse(Console.ReadLine());
}
quicksort(vector, 0, h - 1);
mostrar();
}
private void quicksort(int[] vector, int primero, int ultimo)
{
int i, j, central;
double pivote;
central = (primero + ultimo) / 2;
pivote = vector[central];
i = primero;
j = ultimo;
do
{
while (vector[i] < pivote) i++;
while (vector[j] > pivote) j--;
if (i <= j)
{
int temp;
temp = vector[i];
vector[i] = vector[j];
vector[j] = temp;
i++;
j--;
}
} while (i <= j);
if (primero < j)
{
quicksort(vector, primero, j);
}
if (i < ultimo)
{
quicksort(vector, i, ultimo);
}
}
private void mostrar()
{
Console.WriteLine("Vector ordenados en forma ascendente");
for (int i = 0; i < h; i++)
{
Console.Write("{0} ", vector[i]);
}
Console.ReadLine();
}
}
}
Al ejecutar el código muestra el siguiente resultado
El ShellSort es una mejora del método de inserción directa que se utiliza cuando
el número de elementos a ordenar es grande. El método se denomina “shell” –en
honor de su inventor Donald Shell – y también método de inserción con
incrementos decrecientes.
En el método de clasificación por inserción, cada elemento se compara con los
elementos contiguos de su izquierda, uno tras otro. Si el elemento a insertar es más
pequeño - por ejemplo -, hay que ejecutar muchas comparaciones antes de
colocarlo en su lugar definitivamente. Shell modifico los saltos contiguos
resultantes de las comparaciones por saltos de mayor tamaño y con eso se
conseguía la clasificación más rápida. El método se basa en fijar el tamaño de los
saltos constantes, pero de más de una posición.
13 14 94 33 82
25 59 94 65 23
45 27 73 25 39
10
10 14 73 25 23
13 27 94 33 39
25 59 94 65 82
45
[ 10 14 73 25 23 13 27 94 33 39 25 59 94 65 82 45 ]
while (sw != 0)
{
sw = 0;
e = 1;
while (e <= (vector.Length - salto))
{
if (vector[e - 1] > vector[(e - 1) + salto])
{
auxi = vector[(e - 1) + salto];
vector[(e - 1) + salto] = vector[e - 1];
vector[(e - 1)] = auxi;
sw = 1;
}
e++;
}
}
salto = salto / 2;
}
}
public void Imprimir()
{
Console.WriteLine("Vector ordenados en forma ascendente");
for (int f = 0; f < vector.Length; f++)
{
Console.Write(vector[f]+" ");
}
Console.ReadKey();
}
static void Main(string[] args)
{
PruebaVector pv = new PruebaVector();
pv.Cargar();
pv.Shell();
pv.Imprimir();
}
}
}
Al ejecutar el código muestra el siguiente resultado
Esta vez estaremos hablando de Ordenación por Mezcla (Merge Sort), otro
algoritmo recursivo bastante eficiente para ordenar un array, que tiene un orden de
complejidad O(nlogn) al igual que Quick Sort. Fue desarrollado en 1945 por John
Von Neumann según wikipedia.
Estrategia de Merge Sort
Merge Sort está basado en la técnica de diseño de algoritmos Divide y Vencerás,
de la cual se habló aquí mismo hace un tiempo. Recordando un poco, esta técnica
consiste en dividir el problema a resolver en sub problemas del mismo tipo que a
su vez se dividirán, mientras no sean suficientemente pequeños o triviales.
Veamos una panorámica de la estrategia que sigue este algoritmo para ordenar una
secuencia S de n elementos:
else:
return A
end
function merge(array A1[0..n1], array A2[0..n2])
begin
integer p1 := 0
integer p2 := 0
array R[0..(n1 + n2 + 2)]//suponiendo que n1 y n2 son las posiciones
//del array y no el length de este mismo, de otro modo seria (n1 + n2)
while (p1 <= n1 or p2 <= n2):
if (p1 <= n1 and A1[p1] <= A2[p2]):
R[p1 + p2] := A1[p1]
p1 := p1 + 1
else
if (p2 <= n2 and A1[p1] > A2[p2]):
R[p1 + p2] := A2[p2]
p2 := p2 + 1
return R
end
Ejemplo del Método de Ordenamiento Merge Sort en C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MergeSort
{
class Program
{
static void Main(string[] args)
{
int[] nums = new int[40];
Console.WriteLine("Metodo de Merge Sort");
Console.Write("Cuantos longitud del vector: ");
string linea;
linea = Console.ReadLine();
int cant;
cant = int.Parse(linea);
nums = new int[cant];
for (int f = 0; f < nums.Length; f++)
{
Console.Write("Ingrese elemento " + (f + 1) + ": ");
linea = Console.ReadLine();
nums[f] = int.Parse(linea);
}
MergeSort(nums);
Console.WriteLine("Vector Ordenado Ascendentemente");
for (int i = 0; i < nums.Length; i++)
Console.Write(nums[i] + " ");
Console.ReadLine();
}
//Método portal que llama al método recursivo inicial
public static void MergeSort(int[] x)
{
MergeSort(x, 0, x.Length - 1);
}
static private void MergeSort(int[] x, int desde, int hasta)
{
//Condicion de parada
if (desde == hasta)
return;
//Calculo la mitad del array
int mitad = (desde + hasta) / 2;
//Voy a ordenar recursivamente la primera mitad
//y luego la segunda
MergeSort(x, desde, mitad);
MergeSort(x, mitad + 1, hasta);
//Mezclo las dos mitades ordenadas
int[] aux = Merge(x, desde, mitad, mitad + 1, hasta);
Array.Copy(aux, 0, x, desde, aux.Length);
}
//Método que mezcla las dos mitades ordenadas
static private int[] Merge(int[]
x, int desde1, int hasta1, int desde2, int hasta2)
{
int a = desde1;
int b = desde2;
int[] result = new int[hasta1 - desde1 + hasta2 - desde2 + 2];
for (int i = 0; i < result.Length; i++)
{
if (b != x.Length)
{
if (a > hasta1 && b <= hasta2)
{
result[i] = x[b];
b++;
}
if (b > hasta2&& a <= hasta1)
{
result[i] = x[a];
a++;
}
if (a <= hasta1&& b <= hasta2)
{
if (x[b] <= x[a])
{
result[i] = x[b];
b++;
}
else
{
result[i] = x[a];
a++;
}
}
}
else
{
if (a <= hasta1)
{
result[i] = x[a];
a++;
}
}
}
return result;
}
}
}
Al ejecutar el código muestra el siguiente resultado
Crear una matriz de 3 filas por 4 columnas con elementos de tipo int, ingresar
sus posiciones y luego imprimirlas.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Matriz
class Matriz
string linea;
linea = Console.ReadLine();
mat[f, c] = int.Parse(linea);
Console.WriteLine();
Console.ReadKey();
ma.Ingresar();
ma.Imprimir();
Ejemplo 2
Crear una matriz de 3 filas por 4 columnas e ingresar valores enteros, imprimir
la primer fila. Imprimir la última fila e imprimir la primer columna
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Matriz
class Matriz
string linea;
linea = Console.ReadLine();
mat[f, c] = int.Parse(linea);
Console.WriteLine("\nPrimer columna:");
ma.Cargar();
ma.PrimerFila();
ma.UltimaFila();
ma.PrimerColumna();
Console.ReadKey();
Matrices en C Sharp
Una matriz es una estructura de datos que permite almacenar un conjunto de
datos del mismo tipo.
Con un único nombre se define la matriz y por medio de DOS sub índices hacemos
referencia a cada elemento de la misma (componente)
Hemos graficado una matriz de 3 filas y 5 columnas. Para hacer referencia a cada
elemento debemos indicar primero la fila y luego la columna, por ejemplo en la
componente 1,4 se almacena el valor 97.
Matrices unidimensionales:
int[] numbers;
Matrices multidimensionales:
string[,] names;
Matrices unidimensionales:
int[] numbers = new int[5];
Matrices multidimensionales:
string[,] names = new string[5,4];
También se pueden utilizar matrices más grandes. Por ejemplo, se puede utilizar
una matriz rectangular de tres dimensiones:
int[][,,][,] numbers;
Constructores en C#
Constructores en C#
Cada vez que se crea una clase o estructura, se llama a su constructor. Una clase
o estructura puede tener varios constructores que toman argumentos diferentes.
Los constructores permiten al programador establecer valores predeterminados,
limitar la creación de instancias y escribir código flexible y fácil de leer.
En C# podemos definir un método que se ejecute inicialmente y en forma
automática. Este método se lo llama constructor.
El constructor tiene las siguientes características:
Tiene el mismo nombre de la clase.
Es el primer método que se ejecuta.
Se ejecuta en forma automática.
No puede retornar datos.
Se ejecuta una única vez.
Un constructor tiene por objetivo inicializar atributos.
Sintaxis de un Constructor en C#
Modificador NombredelaClase (Parámetros)
{
Instrucciones
}
Veamos un Ejemplo de un constructor en C#
using System;
namespace constructores
class EjConstructor
int a;
int b;
//declaramos el constructor
a = x;
b = y;
return a + b;
return a - b;
class Principal
Console.ReadKey();
Etiquetas: C#, c# constructores, clases en c#, clases y constructores en c#, constructor de una
clase en c#, constructores en c#, operaciones con vectores en c#, ordenar en c#
Búsqueda Binaria en C#
Búsqueda Binaria en C#
El algoritmo de búsqueda binaria es un excelente método para buscar datos
dentro de una estructura(generalmente un arreglo unidimensional). Se le da el
nombre de búsqueda binaria por que el algoritmo divide en dos el arreglo,
aludiendo al concepto de bit, el cual puede tener dos estados.
La única condición para usar este algoritmo es que los datos dentro del arreglo
estén ordenados de menor a mayor.
La solución mas fácil para realizar una búsqueda es por fuerza bruta, pero este
método puede resultar bastante ineficiente cuando se tiene una gran cantidad
de datos, ya que habría que buscar posición por posición hasta encontrar el dato
que queremos.
5. Volvemos al paso 2.
Si cuando ya no se cumpla la condición del ciclo y no se encontró el dato
retornamos -1
indicando que el dato no se encuentra en el arreglo.
Búsqueda Binaria en C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BusquedaBinaria
class Busqueda
Console.WriteLine("Busqueda Binaria");
Console.WriteLine("Ingrese 10 Elementos");
string linea;
linea = Console.ReadLine();
vector[f] = int.Parse(linea);
int l = 0, h = 9;
int m = 0;
m = (l + h) / 2;
if (vector[m] == num)
found = true;
h = m - 1;
else
l = m + 1;
if (found == false)
else
pv.Cargar();
pv.Imprimir();
pv.busqueda(num);
Console.ReadKey();
Banco
atributos
3 Cliente (3 objetos de la clase Cliente)
métodos
constructor
Operar
DepositosTotales
Solución en C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EjerciciosconClases
class Cliente
nombre = nom;
monto = 0;
monto = monto + m;
monto = monto - m;
return monto;
class Banco
public Banco()
cliente1.Depositar(100);
cliente2.Depositar(150);
cliente3.Depositar(200);
cliente3.Extraer(150);
int t = cliente1.RetornarMonto() +
cliente2.RetornarMonto() +
cliente3.RetornarMonto();
cliente1.Imprimir();
cliente2.Imprimir();
cliente3.Imprimir();
banco1.Operar();
banco1.DepositosTotales();
Console.ReadKey();
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaConstructor
class Operarios
public Operarios()
sueldos[f] = int.Parse(linea);
Console.WriteLine(sueldos[f]);
Console.ReadKey();
op.Imprimir();
Explicación:
Como la clase se llama Operarios el constructor tiene el mismo nombre, no
disponemos la palabra clave void ya que el constructor no puede retornar datos.
La ventaja de plantear un constructor en lugar de definir un método con cualquier
nombre es que se llamará en forma automática cuando se crea un objeto de esta
clase:
Operarios op = new Operarios();
Ejemplo 2
Plantear una clase llamada Alumno y definir como atributos su nombre y su edad.
En el constructor realizar el ingreso de datos. Definir otros dos métodos para
imprimir los datos ingresados y un mensaje si es mayor o no de edad (edad >=18)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaConstructor
class Alumno
public Alumno()
Console.Write("Ingrese nombre:");
nombre = Console.ReadLine();
Console.Write("Ingrese edad:");
edad = int.Parse(linea);
Console.WriteLine("Nombre:" + nombre);
Console.WriteLine("Edad:" + edad);
else
alumno1.Imprimir();
alumno1.EsMayorEdad();
Console.ReadKey();
Explicación: