martes, 10 de marzo de 2009

Ejercicios de C#

Instrucciónes


En esta sección, encontrará diversos ejercicios que hiré agregando para afianzar los conocimientos del lenguaje.

1. Cree un programa que le pida el ingreso de 3 numeros y determine cual de ellos es el mayor, e indique si hay dos o tres que sean iguales.

2. Cree un programa que pida el ingreso de una cantidad y retorne su valor en letras (evaluar números de 1 a 10 ) y al estar un numero fuera de rango muestre el mensaje FUERA DE RANGO.

3. Cree un programa que pida el ingreso de una letra, y luego se la muestre en minúscula o mayúscula sea el caso, si ingresó la letra a muestre un mensaje que diga A, si ingresa R, me muestre r. y luego un mensaje que diga "Conversión Terminada".

4. Cree un programa que pida el ingreso de una letra, si esta es una A muyúscula imprima el mensaje "Calificación Excelente", sinó imprima un mensaje que diga, "Alumno Promedio".

5. Cree un programa que pida el ingreso de un numero y muestre las tablas de multiplicar de este desde el uno al 15. Ejemplo, si ingreso el 3 tiene que mostrar, 3 x1 = 3, 3 x 2 = 6 , 3 x 3 = 9, si ingresa el 4 mostraría, 4 x 1=4, 4 x 2=8, 4 x 3 = 12, hasta el 4 x 15.

6. Cree un programa que pida el ingreso de un string luego lo recorra por completo y lo convierta de minuscula a mayuscula y viceversa.(Sin usar los Métodos ToUpper y ToLower)

7. Cree un programa de Encriptación, que ingrese una palabra y la retorne en un conjunto de numeos, ejemplo GABRIELA =946374041, o caracteres cualquiera $%^#@$, pero que al ingresar los mismo caracteres retorne la palabra original.

8. Creee un programa que pida el ingreso de una frase, verifique si es palindrome y la escriba al revez. ejemplo Anita lava la tina.

9. Cree un programa que pida el ingreso de un caracter y retorne el codigo ASCII correspondiente para este, y que al ingresar un numero, le retorne lo que significa en ASCII.
Ejemplo al ingresar el simbolo de @ nos retorna 64, y en el otro caso al ingresar el numero 92 nos retorne el simbolo \.

10. Cree un programa que pida el ingreso de un numero de hasta tres cifras y le muestre este numero en letras, ojo, que el anterior solo utilizaba de una cifra, no traten de hacer 999 comparaciones, busquen una forma de hacerlo mas corto, observen que los numeros tienden a repetirse, partan el numero y evaluen cada cifra y de ahi hagan las instrucciones.

11. Cree un programa que le pida el ingreso de un numero de cedula cualquiera 0501197403549
y luego se lo de muestre en un TextBox con el formto de guiones 0501-1974-03549.

12. Cree un programa que pida el ingreso de una frase, como la sigueiente "Instituto Tecnico de San Pedro Sula", y por cada letra tengo asignado un numoer y cree una subcadena que genere una palabra hecha por numeros Ejemplo

A=01
B=02
C=03
D=04
E=05
F=06
G=07
H=08
I=09
J=10
K=11
L=12
M=13
N=14
Ñ=15
O=16
P=17
Q=18
R=19
S=20
T=21
U=22
V=23
W=24
X=25
Y=26
Z=27

Entonces, ELVIN SE escribiria 0512230914, y si escriben el numero 07010226, daria como resultado GABY.

13. Cree un programa que al precionar un boton genere una lista de numeros de 1 al valor que usted le indique desde el formulario y los ingrese dentro de un Combo Box, recuerde que para esto necesita manipular la propiedad ITEMS del combo. Puede tener un TextBox donde ingrese la cantidad de elementos que agregará y el combo a otro lado, recuerde que al generar una nueva lista, se debe borrar la lista anterior.

14. Cree un programa que limpie que, a travéz de un ciclo, limpie todos los textbox en un formularios, sin hacerlo uno por uno, debe ser para cualquier cantidad de TextBox. Utilice un For earch.

15. Cree un programa que al ingresar un número en un TextBox, cargue en un ListBox todos los factoriales del numero ingresado.

Ejemplo:

Si ingresan 3.

Los factoriale serian
1
6
9
porque:
3x1 = 1
3x2 = 6
3x3 = 9

------------------------------------------------------------------------------------------------
Todas estas funciones se crearán declaradas publicas en una clase llama Globales.

16. Cree una función con el nombre Mayor que pida el ingreso de dos numeros y retorne el mayor de estos, en el caso de ser iguales que retorne -1.

17. Cree una función llamada Encriptar que pida como argumento un string y un int, esta evalúa el int y si es uno, encripta el texto enviado, si es dos, lo desencripta y si no es ninguno de estos valores retorna un string que contenga "Argumento no valido".
Ejemplo:

Si manda "#$#$&&(/!"#$ y un 2 la desencripta, si manda "GABRIELA CASTELLANOS" y un 1 lo encripta y si manda cualquiera de los dos string anteriores y otro numero que no sea 1 o 2, entonces returna ARGUMENTOS NO VALIDO.


18. Cree una función de nombre Potencia que pida dos números enteros, el primero es la base y el segundo es el exponente y retorne el el numero elevado a la potencia determinada.
Ejemplo:

5 elevado a la 3 =5x5x5 125 la base se multiplica la cantidad de veces que se eleva.


19. Cree una función llamada Palindrome que pida un string y retorne True si es Palindrome y False si no lo es.

20. Cree una función que pida el ingreso de un numero y retorne True si es Par y False, si no lo es, recuerde que los pares se dividen entre 2 y siempre da cero el residuo.

Ejemplo 10/2=5 y sobra cero 9 /2 = 4 y sobra uno,

Busque alguna forma de saber cuanto es el residuo entre esa división para saber si es o no par.

21. Cree una función que ingrese una cantidad entre 1 a 9999 y lo retorne como Letras, recuerde buscar el método mas eficiente para que la función no sea tan larga (No hacer 99999 comparaciones).

22. Cree una función que dado un arreglo y una posición X y una y como argumento, determine si la posición no esté vacía retorne True o False en el caso de estarlo.

-------------------------------------------------------------------------------------------------

23. Cree una aplicacion MDI con un menu Pull Down que llame cada Programa creado anteriormente por parcial, dicho de esta forma seria:


MENU PRIMER PARCIAL

Programa 1

Programa 2

Programa 3...


MENU SEGUNDO PARCIAL

Programa 16

Programa 17

Programa 18

Menu Sistemas

Salir


Cada vez que se abra un programa (un formulario) debe cargar el progressBar y al cerrarlo se debe descargar.


76 comentarios:

  1. hola prof. los 3 ultimos ejercicios me parecen mas faciles de realizar pero el primero, tengo mis dudas.

    ResponderEliminar
  2. Gracias Profesor!!! esta faciles!!!... jajaja!

    ResponderEliminar
  3. Me alegra que los sientan fáciles, eso quiere decir que han comprendido, saludos

    ResponderEliminar
  4. Yo no se k pedo va..!!! jajaja
    estan faciles profe....!!!
    gracias

    saludos

    ResponderEliminar
  5. Hey profesor?? en el 3er ejercicio es con todo el abecedario? o solo con la letra "A" y "R"??

    ResponderEliminar
  6. es too el abecedario. Ezo esta como pegarle una patada a un bolo! jejeje.. mis respeto profe!

    ResponderEliminar
  7. Jajajajaja, No se preocupe Saul, usted siente facil el contenido porque ha captado muy bien, pero me gustaría que retroalimente a sus compañeros que no entiendan para que todos estemos nivelados, felicidades y sigan asi

    ResponderEliminar
  8. ey interesante lo de Linux en SPS... el pasado año yo expuse acerca de Mandriva Linux para la "feria d la tecnologia" ahi en el cole... jeeee me toco solito, casi 2 horas d puro bla bla bla, pro too salio mas bien!

    ResponderEliminar
  9. ***ezte zaull como c lazz zabe todaz..kiiero zer como vozz zaul!!!!///jejej!!

    ResponderEliminar
  10. como que esta dificil el programa numero 3 la verdad si que me a puesto a pensar profesor

    ResponderEliminar
  11. sera con todo el abesedario si es haci esta super dificil de lo contrario esta mamero jejeje!!!

    ResponderEliminar
  12. El Primero que me mande, los primeros cuatro ejercicios terminados a mi correo en C# (formularios separados) para utilizarlos de ejemplo en la clase, se gana un bono de 5 ptos extra.

    Saludos

    PD: Lo de Linux va a estar muy bueno, felicidades Salul, cuento con su apoyo para hacer linux accesible a todos los usuarios

    ResponderEliminar
  13. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  14. ojala q no se m hayan adelantado profe.. m acoste a las 3 AM...

    PD: cuente conmigo profe...

    ResponderEliminar
  15. profesor pero si usted recuerda el default no nos funciono a nosotros en la clase si me puede proporcionar como deberia de ser????????

    ResponderEliminar
  16. Profe otra cosa.. el programa q hicimos en clase no hacia los calculos.. solo la fachada.. nunca llego a mi PC.. para ver eso..

    ResponderEliminar
  17. Ivan

    El problema no fué el default, eso esta bien, el problema radicó en no colocar un break dentro de el dicho de otra forma:

    switch(variable)
    {
    case 1:
    instruccion1
    breack;
    case 2:
    instruccion2
    breack;
    default:
    instruccion
    breack;
    }

    Fue un errror de dedo de mi parte, sorry, no me alcanzó la pizarra y no recorde colocarlo de nuevo, ahora haga el ejercicio y verá que si funciona.

    Saul, voy a subir los ejercicios terminados para que los examine con cuidado.

    Saludos

    ResponderEliminar
  18. 5 y 6 aaa aah! como pegarle otra patada a otro bolo! jeje... pro el 7 y 8 como q si m van a dar guerra!... sobre los ejercicio q va a subir m parece bien.. grazias!

    ResponderEliminar
  19. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  20. Profesor..!!!!!
    Necesito k me explik esto del "for"
    # char *cadena = "HOLA MUNDO";
    # char *cadena2[11];
    # void main() {
    # char caracter;
    # int i,j = 0;
    # for (i = 0;caracter != '\0';i++) {
    # caracter = cadena[i];
    # if (caracter != ' ') { // tambien puedes preguntar si caracter == 32
    # cadena2[j] = caracter;
    # j++;
    # }
    # }
    # }


    mmmmmmmmmm......
    Y esto "i++" es para parar la cadena verdad....
    respuesta rapida.... jejeje ¬¬
    Grax.....

    saludos

    ResponderEliminar
  21. Manuel

    El For lo que hace, es repetir una cantidad N de veces una o un grupo de instrucciones, lo que hace tu programa es recorrer una cadena a travez de su indice, el cual va cambiando porque en vez de una constante le agregaste la variabla de control del for que al colocarle i++ aumenta de uno en uno, o sea que recores de 0 a N la cadena.

    Es excactamente lo que encesitas para hacer varios de los ejercicios planteados.

    NO, i++ es como decir i=i+1, le estas diciendo que el valor que tenia i, va a ser el mismo, pero ahora le vas a agregar uno mas.

    ResponderEliminar
  22. Del codigo que posteo manuel no entiendo 2 cosas:
    char *cadena = "HOLA MUNDO";
    char *cadena2[11];
    void main() {
    char caracter;
    int i,j = 0; <---Esta es Una!!!
    for (i = 0;caracter != '\0';i++) {<--Aqui hay otra!!!
    caracter = cadena[i];
    if (caracter != ' ') { // tambien puedes preguntar si caracter == 32
    cadena2[j] = caracter;
    j++;


    en la primera (int i,j = 0;): se puede hacer eso? de asignarle un valor de 0 a "j"???.

    En la segunda(!= '\0'): que significa eso(!=)??.

    ResponderEliminar
  23. wow profe.... casi ni le entiendo a esto!... le entiendo a uno y no a 4!!! hahah necesito tutoria la verdad!

    ResponderEliminar
  24. profe... necesito su AYUDA! es urgente porq no puede ser q no le entienda y por mas q quiero no logro comprender esto!!..... necesito q me explique profe en serio! estoy realmente preocupada! AYUDEME!

    ResponderEliminar
  25. no entiendo nada..............
    jajajajajajaja..........................

    ResponderEliminar
  26. huy q matador el profe...................
    jajaja.....
    ponga ejersicios mas faciles profe.
    jajaja.................

    ResponderEliminar
  27. Profe!! yo me uno al dilema de rosseling!!
    necesitamos de su tutoria URGENTE!! no keremos reprobar! pliss!!! =S

    y si mañana nos puede decir si no puede ayudar cn nuestro problem!! (me refiero a q nos de tutotia!!)

    bye!!!

    ResponderEliminar
  28. ¬¬ lean ombe!!! no sean araganas!!!!.. ^^

    ResponderEliminar
  29. callate dennis!!!!!!!!!!!!!!!!!!!!
    Profe La mayoria del aula no le entiende...................

    ResponderEliminar
  30. Dennis!! callate q la mayoria cm dijo victor no le entienden!!!...
    cual es tu dolor PRESUMIDO!!!
    que se me hace que mañana nos vas a estar explicando!!!

    ResponderEliminar
  31. ¬¬ parecen brutos uds! creen que yo le entiendo?? ando tan perdido como uds! lo que pasa esq todo lo quieren en la boca!! y no es por presumir pero ya termine el 6to gracias a leer el contenido de los links que el profe posteo! ¬¬

    ResponderEliminar
  32. ssssssssssssssssssss......
    Otro nivel Laura!!!!!!!!!!!!!!!!!
    jajajaja.....

    ResponderEliminar
  33. ojala les bajen puntos por estar peleando!

    ResponderEliminar
  34. tarado no ves q no puedo estar yendo todos lo dias a internet!
    cm vz tenes pisto!!!......
    si no le entiendo no es xq no lea sino por falta de otras cosas!!! no te metas en mi vida DENNIS TE VAS A MORIR!!!
    I JATE U!!!!




    besitos dennis!! cn cariño Naya!!

    ResponderEliminar
  35. YO TAMBIEN TE AMO ROSSY!!! (^.^) Jajajaja!! pero muchacha eso no es una excusa! solo guardas info en tu memoria a morir y la vas a leer a tu casa!! nada dificil

    ResponderEliminar
  36. Hola Chicos ¬¬

    De Toooodos los comentarios escritos, solo dos tienen sentido, no los borro, porque me causa gracia en sierta forma (y desagrado en otro) todo lo que han escrito

    Respondiendo a las preguntas:

    Dennis:

    en la primera (int i,j = 0;): se puede hacer eso? de asignarle un valor de 0 a "j"???.

    Es como tener
    int i;
    int j;
    i=0;
    j=0;

    Lo unico que abrevia ese monton de lineas, es una ventaja de C#

    y con respeto a
    En la segunda(!= '\0'): que significa eso(!=)??.
    La implementación que uso Manuel es un apuntador de cadenas y ese simbolo significa final de archivo
    es como decir, ejecute el for hasta que llegue al final de la cadena, es como sacarle la longitud de ante mano a la cadena y recorrerla de 0 a N.


    vicmanuell
    Podría ser mas especifico al decir a que no le entiende la mayoría?

    Lo que dice Dennis (Aunque no lo crean) es muy sierto, si se tomaran la molestia de leer el contenido tendrian idea de como hacerlo o por lo menos de como empezar, pero dudo que todos hayan entrado en los links o en los tips para ver algo.

    y lo de guardar los datos en la flash es muy sierto

    Saludos, espero sus comentarios en el foro.

    ResponderEliminar
  37. VEN!! yo les dije!!! pero uds jovenes de hoy en dia no quieren escuchar!... burros se van a quedar! jajajaja

    ResponderEliminar
  38. mmm profe good point!! leere.... alli anotare a lo q no le entiende q espero q sea poco y el lunes le aviso pa q me explique!! espero poder ENTENDER a todo!!!

    ResponderEliminar
  39. El siete no lo entendi muy bn podria explicar mejor el problema

    ResponderEliminar
  40. profe.... jummm estube esperando toda la noche pa q pusiera los ejercicios.... no los ponga dificiles porfa... compadezcase!! plz

    ResponderEliminar
  41. Profesor yo opino que ud deberia de explicar como se hacen los programas y despues dejar de tarea un programa similar para que ya tengamos la idea de como se hace y no andar bateando como hemos estado haciendo muchos. Y asi practicar lo que ya nos enseño y no viceversa... Es mi opinion.

    saludos

    ResponderEliminar
  42. Dennis el Prof. nos ha dicho k intentemos...
    Al intentar al final tendremos un monton de preguntas y asi el las contesta y asimilamos todo... pero creo k si seria buena ayuda.... jeje ^^

    saludos

    ResponderEliminar
  43. si estoy de acuerdo! pero que no revice la tarea antes de explicar... sino despues!...

    ResponderEliminar
  44. Hola chicos

    Se que les resulta agobiante y un poco traumatico que les deje esta clase de tareas, pero deben entender que en su carrera profecional van a encontrar problemas que nadie le va a enseñar como resolverlos y tienen quer poder hacerlo por sus propios medios, es parte de mi objetivo, enseñarles que la vida es asi.

    Por los puntos no se preocupen, mañana explico uno, el de las frases palindromes y los demas los hacen ustedes, traten de investigar para hacer preguntas como dice Manuel

    Que tengan buenas noches

    ResponderEliminar
  45. Bueno profesor de parte de Rosseling, manuel, gerson, laura y dennis le queremos decir que algunos programas nos resulto bien faciles despues de 4 horas que estuvimos pensando en como hacerlos. pero no pudimos terminarlos todos, esperamos que mañana nos pueda explicar todas nuestras interrogantes(Son muchas ¬¬)... ahi nos vemos mañana...

    ResponderEliminar
  46. Hola Chicos

    Despues de practicar muchas horas, los ejercicios los van a senitr fáciles, esa es la idea, que desarrollen su lógica y claro, estoy totalmente complacido al respeto y muy pendiente de contestar sus preguntas que me imagino que serán muchas

    Saludos

    ResponderEliminar
  47. Aqui les dejo para que se guien un poco y no digan que no los ayudo! jajajaja...

    http://www.devjoker.com/asp/indice_contenido.aspx?co_grupo=TUCS

    Es un manual bien completo sobre Programacion C#!! a leer se ha dicho!!!

    ResponderEliminar
  48. Dennis Gracias por el tuto....
    Esta full de informacion jejeje Gracias Dennis....
    saludos gente...

    ResponderEliminar
  49. De nada manolin... yo se que a muchos les va a servir!!!... leanlo es bien explicito y complejo!!!

    ResponderEliminar
  50. Gracias Dennis

    Esta bien interesante

    Es un gran aporte a la clase.

    Saludos

    ResponderEliminar
  51. No entiendo que es lo que quiere en el ejercicio 14... Expliquemelo mejor porfavor!!... Saludos a toda la People! XD

    ResponderEliminar
  52. HOLA MUNDO!
    Aki les dejo el "doPDF" para hacer la tarea en formato pdf, viene acompañado d un .txt q indica paso paso todo lo q hay q hacer, y una imagen q muestra los paso d como crear un .pdf, osea todo es sencillo! como pegarle una patada a un bolo!

    http://www.4shared.com/file/95026241/53c99bb9/doPDF_Instalacion_y_Pasos.html

    ResponderEliminar
  53. Dennis

    Normalmente cuando quieres limpiar todos los TexBox en un formulario normalmente harias
    TextBox1.Tex=""
    TextBox2.Tex=""
    TextBox3.Tex=""
    TextBox4.Tex=""
    TextBox5.Tex=""
    TextBox6.Tex=""
    TextBox7.Tex=""
    TextBox8.Tex=""
    TextBox9.Tex=""
    TextBox10.Tex=""

    Imaginate que fueran 50 TextBox seria uno por uno verdad?, vez que lo unico que cambia es el nombre del objeto, pero la accion es la misma, por esa razón se utiliza un ciclo que toma todos los objetos del formulario y si es un TextBox lo limpia, asi es menos codigo y mas eficiente, es un For each

    Espero eso conteste tu pregunta

    ResponderEliminar
  54. Gracias prof. !! ya entendi la idea!!...

    ResponderEliminar
  55. ok Dennis, es importante que trates y que leas y que cuando sientas que no das ni para adealante ni para atras, te relajes y te distraigas y luego vuelvas a intentarlo

    Saludos

    Solo la práctica hace al maestro.

    ResponderEliminar
  56. tiene razon profe !! asi hago intento e intento y no me sale me ralajo y vuelvoa a intertar

    ResponderEliminar
  57. profe en el examen cuantos ejercicios no va a dejar ??

    ResponderEliminar
  58. Jesus:

    Lo mas seguro que unos dos.

    Al nivel del 9 al 11

    Espero despejen sus dudas

    Saludos

    ResponderEliminar
  59. profe como hago q el programa programa q pide un numero de tres cifras yo hago eso de q pida tres cifras pero lo q no se es como hacerlo q me lo convierta a letras porq con message box no creo q sea porq serian como 999

    ResponderEliminar
  60. Hola Abel

    Primero, tomas el numero, capturas los tres caracteres en variables diferentes, luego evaluas unidades, decenas y centenas, de acuerdo a esto haces los Switch y haces los casos especiales para numeros como 15, 14, 13, los demas son iguales, del Diez y seis, en adelante, traen un numero y la palabra y Noventa y uno, ve, esta formado por el noventa la letra y y el uno

    Saludos

    ResponderEliminar
  61. ya entendi mas o menos lo q no entiendo es que como vamos a hacer q se una la lectura de los numeros

    ResponderEliminar
  62. hola
    profe !! queria saber cuanto saque en el examen de progra !! bueno cuidec ok

    ResponderEliminar
  63. hola profe !! ultimamente lo he querido contactar para hacerle algunas preguntas !! bueno cuidece

    ResponderEliminar
  64. profe no entiendo especificamente que es lo que qiere q pida el progrma 8. Podria explicarme con mas claridad?

    ResponderEliminar
  65. Profe el ejercicio al q no le entiendo es al 9 no al 8, me eqiboke............
    jajajajajajaja..............

    ResponderEliminar
  66. hola profe...
    tuve un problema para instalar el C#
    dice q nc han instalado unos componentes
    y sale error...sera pq es vista q nc
    puede instarlar...
    darwin fuentes

    ResponderEliminar
  67. VictorManuell:

    Que no entiendes del ejercicio 9?

    Darwin Fuentes:
    Puede ser que tenga problemas de conpatibilidad, o que falte algun complemento como el frameWorks o como en XP algun Service Pack

    Saludos

    ResponderEliminar
  68. profe pero alli en lo que dise menu del primer parcial seria que hay que presentar los tres primeros ejercicios del primer parcial?????? mire exactamente no entendi eso del menu......

    ResponderEliminar
  69. Ajedrez

    Bueno posteo esta pequeña respuesta a este problema, creo k no solo yo lo he tenido, bueno se refiere al codigo que el profesor puso arriba, cuando se le da copy paste a las funciones globales y al momento de ejecutarlas tira este error: http://i44.tinypic.com/29blg8n.jpg el problema se debe a que la funcion Validar_posicion_peon() dentro de los parentesis no le mandas los argumentos correctamente, puede ser que esta declarado con 5 argumentos y le mandas 6, Imaginemonos que tenemos una funcion declarada asi:

    public int patito(int x, int y, int z)
    {
    int total;
    total=x+y+z;

    return total;

    }
    como pueden ver, la funcion se llama patito y recibe 3 argumento si?? y los retorna sumados

    Ahora bien si al momento de llamarla desde un formulario la llamamos asi:

    Funciones_Globales P=new Funciones_Globales();

    Int valor_total;

    valor_total=P.patito(3,29,5,6);

    Como observas, al momento de invocarlo le mandamos mas de los argumentos que el espera, por esa razón genera un error...

    espero haberles ayudado, yo tambien tube este problemita.
    -creditos: The Wizard

    saludos

    ResponderEliminar
  70. alguien me puede dar la tarea numero 12 es urgente porfavor

    ResponderEliminar
  71. 1.-Cree una clase llamada menu donde tenga los metodos

    Suma con retorno y el cual recibe dos parametros doubles
    Resta sin retorno y sin parametros
    Division con retorno y parametros
    Multiplicacion con retorno y parametros
    y sus constructores

    Crea un objeto en la y atraves de un menu switch realiza las llamadas a los metodos.

    como lo hago!!

    ResponderEliminar
  72. chicos alguno me podria ayudar con el programa numero 10 por favor soy alumno de la carrera de informatica y me dejaron exactamente el mismo ejercicio y la verdad estoy batallando con ese programa por favor

    ResponderEliminar