Documente Academic
Documente Profesional
Documente Cultură
Ejemplo
Condicional else
if aninado
default case
En una instrucción switch, el caso opcional default es ejecutado cuando ninguno de los casos
anteriores es encontrado.
Ejemplo:
2.1.2 Estructuras Repetitivas
Ciclo for
Los operadores aritméticos compuestos pueden utilizarse para controlar más iteraciones del
bucle.
Por ejemplo:
Los Estados init y el incremento pueden ser declarados afuera del for, pero recuerda que el
punto y coma es obligatorio.
Por ejemplo:
Ciclo do while
Un ciclo do-while es similar al ciclo while, excepto que do-while se ejecutará al menos una
vez.
Por ejemplo:
do-while vs while
Si la condición del do-while se evalúa como false, la declaración se ejecutará una vez:
break
Otro uso de break es en los bucles: cuando se encuentra la instrucción break dentro de un
bucle, el bucle se termina inmediatamente.
Por ejemplo:
Continue
Con todos los operadores puedes unir tantas condiciones como quieras.
Operador AND
Operador OR
Es True si al menos una condición es verdadera
Operador NOT
el operador logico NOT (!) revierte el estado lógico de una condición. Así, si una condición es
true el operador la hace falsa y viceversa.
2.2. Arreglos
En C# llamamos arreglo a una colección de objetos, dicha colección tiene longitud definida y
esta no puede cambiar con el flujo del programa, esto podrá sonar limitante, pero al trabajar
con arreglos se obtiene un mejor desempeño que con cualquier otra colección. Usando el
lenguaje podemos crear, recorrer y manipular arreglos de cualquier tipo de objeto.
Comenzando por lo más básico, los arreglos unidimensionales son colecciones lineales, que
nos pueden ayudar a representar una secuencia numérica, letras del alfabeto o un
cromosoma dentro de un programa de algoritmos genéticos, entre muchas otras otras.
Instanciación
Para crear un arreglo haremos uso de la palabra reservada new y los corchetes cuadrados [ ],
también es necesario conocer el tamaño que necesitaremos, puesto que como ya lo
mencioné, no es posible cambiar el tamaño una vez creado:
Si creamos arreglos de esa manera, cada posición tendrá el valor por default del tipo de dato
del arreglo… bueno, mejor usamos nuestro ejemplo:
como podemos ver, tenemos varias opciones para inicializar arreglos unidimensionales:
1. new char[5] { ..., nos permite indicar el tamaño y el tipo explícitamente y posteriormente
indicar los valores, si cambiáramos el 5 por un 7sin aumentar la cantidad de valores
obtendríamos un error de compilación.
2. new int[] { 1, 2, ..., nos permite indicar solamente el tipo de dato de los elementos, la
cantidad es inferida por el compilador, en este caso podemos incrementar o reducir la
cantidad de elementos al momento de inicializar sin ningún problema.
3. { "3", 1, 99.99 }, al inicializar de esta manera estamos dejandole al compilador la tarea de
inferir tanto el tipo de dato del arreglo como la cantidad de elementos que contiene. Dicho
sea de paso, el declarar un arreglo así puede resultar un poco confuso de leer.
Una vez instanciado, podemos acceder a los elementos del arreglo usando nuevamente los
corchetes cuadrados [ ] y el índice del elemento al que queremos acceder. Nota importante
los arreglos están indizados en 0 es decir, el primer elemento de un arreglo está en el índice
0.
Retomemos los arreglos del ejemplo pasado. Para acceder a la a dentro del arreglo vocales
debemos acceder a la posición 0:
Propiedades y métodos
A pesar de que los arreglos implementan la interfaz IList, con todo y sus propiedades, la única
rescatable para los arreglos unidimensionales es la propiedad Length (o LongLength si
metemos más de 2^32-1 elementos en el arreglo), que nos devuelve la longitud del arreglo:
Posdata
Sin importar su contenido, los arreglos siempre son tipos por referencia, por lo que es posible
tener las siguientes líneas de código:
2.2.2 Arreglos Bidimensionales
Los arreglos escalonados (o jagged arrays) son los tipos de arreglos multidimensionales más
conocidos, y es que también son comunes en otros lenguajes de programación. Un arreglo
escalonado no es más que un arreglo de arreglos.
Instanciación
Para crear estos arreglos de arreglos, tenemos una sintaxis similar a la creación de arreglos
unidimensionales, con [ ] para cada dimensión:
Con los arreglos escalonados no hay nada que nos prohíba crear arreglos internos de
dimensiones iguales a la de arreglo que las contiene, es más, podemos crear arreglos
internos de distintos tamaños en la misma dimensión, hagamos algo con nuestro
arreglo escalera:
Con estos arreglos de arreglos también podemos usar la instanciación de colecciones:
De nueva cuenta, y por tratarse de arreglos, usaremos los [ ] para acceder a los
elementos de nuestros arreglos, de tal manera que es posible escribir algo como esto:
En C# tenemos 4 tipos:
1. Los procedimientos que ejecutan un código a petición sin devolver ningún resultado.
2. Las funciones que ejecutan un código y devuelven el resultado al código que las llamó.
3. Los procedimientos de propiedades que permiten manejar las propiedades de los objetos
creados.
4. Los procedimientos de operador utilizados para modificar el funcionamiento de un
operador cuando se aplica a una clase o una estructura.
2.3.1 Que son las funciones
La función devuelve un resultado al código invocante. La ejecución de return provoca la
salida de la función.
Programa que permite hacer conversión de monedas digitando una cantidad en dólares,
utilizando funciones.
1. static void Main(string[] args)
2. {
3. //Inicia el programa principal
4. Console.ForegroundColor = ConsoleColor.Black;
5. Console.BackgroundColor = ConsoleColor.White;
6. Console.Clear();
7. Console.Title = "Ejemplo utilizando la sintaxis de funciones";
8. Double x,p,r;
9. Console.WriteLine("Digitar la cantidad en dólares:");
10. x = Double.Parse(Console.ReadLine());
11. // llamadas a las funciones
12. p = euros(x);
13. Console.WriteLine("Los {0} dolares son {1} euros ", x, p);
14. r = libras(x);
15. Console.WriteLine("Los {0} dolares son {1} libras ", x, r);
16. Console.WriteLine("\n");
17. Console.WriteLine("-->Fin del programa");
18. Console.ReadKey();
19. }
20.
21. static Double euros(Double a)
22. {
23. Double g;
24. g = a * 1.15;
25. return g;
26. }
27. static Double libras(Double a)
28. {
29. Double v;
30. v = a * 3.15;
31. return v;
32. }
2.3.2. Que son los Procedimientos
La visibilidad de un procedimiento viene determinada por la declaración private, public o
internal. Por defecto si no se indica nada se entiende que es public.
Programa que permite digitar un número entero positivo y me diga si es par o impar.
1 static void Main(string[] args)
2 {
3 //Inicio del programa principal
4 Console.ForegroundColor = ConsoleColor.Black;
5 Console.BackgroundColor = ConsoleColor.White;
6 Console.Clear();
7 Console.Title = "Uso de un procedimiento";
8 int num;
9 Console.WriteLine("Digitar un numero entero positivo:");
10 num = Convert.toInt32(Console.ReadLine());
11 Par(num);
12 Console.WriteLine("\n");
13 Console.WriteLine("-->Fin del programa");
14 Console.ReadKey();
15 }
16 //Aqui termina el programa principal
17 static void Par(int a)
18 {
19 int x;
20 x = (a % 2);
21 if (x == 0)
22 {
23 Console.WriteLine("\nEs par");
24 }
25 Else
26 {
27 Console.WriteLine("\nEs impar");
28 }
29 }
Ejercicios para Desarrollar
Ejemplos de Arreglos
1. Generar 50 numeros almacenarlos en un arreglo y debe mostrar en pantalla los pares al
lado izquierdo y los impares al lado derecho(no debe permitir 0)
2. Almacenar en un arreglo las vocales y en otro las consonantes y debe elegir en un menú Si
hace clic en 1. Debe elegir aleatoriamante una vocal(desde la a hasta la u) y luego la opción
2 para elegir aleatoriamente una consonante y asi sucesivamente hasta mostrar un
nombre aleatoriamente.
Menú crear nombre
1. Variable
2. Consonante
3. Ver nombre
4. salir
3. generar un arreglo de n numeros y debe ver el siguiente menú
Menu
1. Generar arreglo
2. ver lista de arreglos
3. ver y buscar un numero de la lista
4. salir
4. Crear un arreglo n frutas y debe generar en una cadena todas las frutas en una sola línea
5. Generar 3 arreglos con las siguientes
Menu
1. Arreglo 1 numeros menores a 20
2. Arrelgo 2 numeros entre 20 a 50
3. Arreglo 3 numeros entre 30 a 60
4. Mostrar la unión del 2 y3
5. Mostrar la intersección 1 y 2
6. Mostrar la suma de 1 y 3
7. salir
1. Crear un programa que solicite el año de nacimiento de una persona y retorne la edad
haciendo uso de procedimientos.
2. Desarrollar un programa que implemente una función para convertir coordenadas polares a
rectangulares. Debe tener en cuenta lo siguiente: x = rcos(θ) ; y = rsen(θ)
3. Cree un programa que contenga el siguiente menú:
a) Dividir.
b) Obtener cubo.
c) Cálculo de IMC (Índice de Masa Corporal).
d) Salir.
4. Escribir un programa que lea dos números desde teclado (x y n) e implemente una función
para calcular la siguiente progresión:
1 + X + X2+ X3+... + Xn
5. Escribir un programa que permita al usuario elegir el cálculo del área de cualquiera de las
figuras geométricas: circulo, cuadrado, rectángulo o triangulo, mediante procedimientos o
funciones. No se le olvide presentarlo en un menú
6. El usuario introducirá un primer número entero positivo (de no más de 6 cifras) que indicará
la cantidad de casos de prueba. Después seguirán varias líneas, cada una con un número
entero positivo (de no más de 15 cifras). Para cada uno de esos casos de prueba, tu
programa debe mostrar el número, un espacio en blanco, un signo de igualdad, otro espacio
en blanco y los factores primos de ese número (repetidos si es el caso), cada uno de ellos con
un espacio en blanco a continuación.
7. El mínimo común múltiplo de varios números es el menor número que es múltiplo de todos
ellos a la vez.
El usuario introducirá tres números enteros (positivos, de no más de 5 cifras), uno en cada
línea. Tu programa debe mostrar el mínimo común múltiplo de esos tres números.