[ Foro de C# ]
¡Hola!
A continuación indico algunas cuestiones o errores que me han surgido durante el estudio de los apuntes.
Párrafo 2.1- ¿Hay un tipo de entero denominado 'char' tal como aparece en la tabla de tipos?
Párrafo 2.2.2- Una entrada por teclado la convertimos en 'float' con 'Convert.ToSingle' y en 'double' con 'Convert.ToDouble'. El 'decimal' es con ¿'Convert.ToDecimal'? Convendría indicarlo.
Párrafo 3.1.2- Después del Ejemplo 11 se dice "En este caso, si el número es 'negativo' ......" y debe decir 'positivo'.
Párrafo 3.1.4- En esta página cuando se le da a 'Siguiente' no pasa a la siguiente página sino que vuelve a la misma.
Párrafo 3.1.5- Aquí se indica, después de explicar lo que significan los operadores 'De modo que podremos escribir cosas como (-Fichero no encontrado)-'. Falta el ejemplo.
A medida que encuentre otras cosillas, las indicaré por lotes.
Saludos.
Gracias, Jesús. Los apunto para corregirlos en la próxima versión, que será pronto, porque quiero proponer algún ejercicio más de ficheros, y añadir un apartado sobre la librería gráfica SDL.
¡Hola!
Aquí van otras pocas anotaciones:
1.- Ejemplo 22 y otros. Se utiliza Console.Write en vez de Console.Writeline, sin explicar la diferencia entre ambas.
2.- Ejemplo 36. Sobra System en Convert.ToInt32 y en Console.ReadLine().
3.- Ejemplo 37. El primer comentario //2 bloques de 10 datos debe ser //2 bloques de 2 datos. Y, poniéndome un poco tiquismiquis, en los Console.WriteLine quitar la 's' del plural a 'grupos'.
4.- En los Ejercicios del 4.2 Arrays bidimensionales, se piden trabajos con arrays de caracteres sin haber puesto ningún ejemplo, como se hace en los apuntes de 'C' en 5.4.
Saludos.
¡Hola!
Sigo con el recuento de pequeños deslices.
Ejemplo 41. Creo que tras 'struct fechaNacimiento {....};' se podría omitir el ';'.
En 4.3 'Estructuras o registros' se comienza a usar el sufijo 'f' tras los literales, sin explicación previa. Convendría comentar algo al respecto.
En 4.4.4 Si omito el segundo número en 'Substring' el compilador me da el error 'an argument is missing'.
4.6 Método de Burbuja. En el segundo método entiendo que 'i debe descender de i=n a i=2' y que en vez de 'A[j]' hay que poner 'A[i]'.
Método de selección directa: al lado del símbolo '<>' pondría (o quizá lo sustituiría por) '!='.
5. Introducción a funciones. Si en esta página pincho en 'Anterior' me voy a '4.5' en vez de a '4.6'.
Si en estos comentarios hay algo en lo que esté equivocado, me lo indican por favor.
¡Hola!
Apunto algunas cosillas más.
4.4.8. Este número de párrafo está duplicado. A 'Recorriendo con foreach' habría que ponerle el 4.4.9.
4.6. En el Ejemplo en C# denomina a éste como 'ordenar.cs' y en public class como 'Ejemplo43c'. Este último nombre ya lo tenía el Ejemplo del '4.4.7 Ordenación de Cadenas'. Pienso que se podría cambiar a 'Ejemplo46a'.
5.4. En el último párrafo 'Podemos hacer una función....' pone 'public static int float mayor(....)', Creo que sobra 'int'.
5.5 En el Ejemplo50 sobran todos los System, ya que se ha puesto 'using System'.
5.9.1. En Ejercicios propuestos 'Mejorar el programa del ahorcado...en 4.4.8....' En 4.4.8 NO está el programa citado. Se podría cambiar el párrafo a 'Adivinar una palabra que se escogerá al azar de un array de palabras prefijadas (por ejemplo, nombres de ciudades).'
Saludos.
Párrafo 2.1- ¿Hay un tipo de entero denominado 'char' tal como aparece en la tabla de tipos?
Cierto, no está bien explicado. Los creadores del lenguaje catalogan todos esos tipos como "integral types", no como "integer types". Una traducción libre pero algo más fiel serÃa "tipos simples". Quito el "char" de ahÃ, porque se trata en el 2.3. Puedes ver la lista de "integral types" en: http://msdn.microsoft.com/en-us/library/exx3b86w%28VS.71%29.aspxPárrafo 2.2.2- Una entrada por teclado la convertimos en 'float' con 'Convert.ToSingle' y en 'double' con 'Convert.ToDouble'. El 'decimal' es con ¿'Convert.ToDecimal'? ConvendrÃa indicarlo.
Efectivamente. Ya lo he indicado.Párrafo 3.1.2- Después del Ejemplo 11 se dice "En este caso, si el número es 'negativo' ......" y debe decir 'positivo'.
Corregido también.Párrafo 3.1.4- En esta página cuando se le da a 'Siguiente' no pasa a la siguiente página sino que vuelve a la misma.
SÃ, ya está corregido el enlacePárrafo 3.1.5- Aquà se indica, después de explicar lo que significan los operadores 'De modo que podremos escribir cosas como (-Fichero no encontrado)-'. Falta el ejemplo.
Cierto, un error en el formato interno del curso. Ya está corregido también. Y lo mismo ocurrÃa en el 3.1.7.Ejemplo 22 y otros. Se utiliza Console.Write en vez de Console.Writeline, sin explicar la diferencia entre ambas.
Es verdad. Ya está explicado en 3.1.9, justo después de utilizarlo por primera vez.Ejemplo 36. Sobra System en Convert.ToInt32 y en Console.ReadLine().
Cierto. Es lo malo de reutilizar fuentes del principio. No hace que no funcione, pero en innecesario desde el momento en el que se utiliza "using System;"Ejemplo 37. El primer comentario //2 bloques de 10 datos debe ser //2 bloques de 2 datos. Y, poniéndome un poco tiquismiquis, en los Console.WriteLine quitar la 's' del plural a 'grupos'.
Me parece perfecto que seas tiquismiquis. :-) Ya está corregido también.4.- En los Ejercicios del 4.2 Arrays bidimensionales, se piden trabajos con arrays de caracteres sin haber puesto ningún ejemplo, como se hace en los apuntes de 'C' en 5.4.
No exactamente: es un array de cadenas, no de caracteres, y las cadenas de texto en C# (al contrario que en C) son casi tan fáciles de manejar como los números enteros. Aun asÃ, pongo una nota recordatoria. Lo que sà ocurre es que esos ejemplos no son de arrays bidimensionales, por lo que no deberÃan estar en ese apartado sino en el anterior, y deberÃa incluir alguno que sà sea de arrays de dos dimensiones. Después de contestarte lo dejo hecho.Ejemplo 41. Creo que tras 'struct fechaNacimiento {....};' se podrÃa omitir el ';'.
Cierto, ya está corregido.En 4.3 'Estructuras o registros' se comienza a usar el sufijo 'f' tras los literales, sin explicación previa. ConvendrÃa comentar algo al respecto.
Hecho. De paso, he añadido otro ejercicio propuesto (muy similar al de 4.3.2, pero con un solo struct, en vez de un array).En 4.4.4 Si omito el segundo número en 'Substring' el compilador me da el error 'an argument is missing'.
No deberÃa. Si conservas sólo el primer argumento (eliminando el segundo y la coma), deberÃa funcionar. Mira la refencia oficial: http://msdn.microsoft.com/es-es/library/system.string.substring.aspx5. Introducción a funciones. Si en esta página pincho en 'Anterior' me voy a '4.5' en vez de a '4.6'.
Corregido.4.4.8. Este número de párrafo está duplicado. A 'Recorriendo con foreach' habrÃa que ponerle el 4.4.9.
Cierto. En la versión PDF ya estaba solucionado, porque el Ãndice ayuda a detectar esos problemas, pero no recordé pasarlo a la versión Web. Eso me recuerda que aún no he dejado el PDF disponible para todo el mundo. Quiero ampliar un par de cosas, y espero poder hacerlo en una semana o menos.4.6. En el Ejemplo en C# denomina a éste como 'ordenar.cs' y en public class como 'Ejemplo43c'. Este último nombre ya lo tenÃa el Ejemplo del '4.4.7 Ordenación de Cadenas'. Pienso que se podrÃa cambiar a 'Ejemplo46a'.
Lo he llamado Ordenar, por homogeneizar el nombre de la clase con el del fuente (aunque C# no obliga a que sea asÃ).5.4. En el último párrafo 'Podemos hacer una función....' pone 'public static int float mayor(....)', Creo que sobra 'int'.
Cierto... :-D5.5 En el Ejemplo50 sobran todos los System, ya que se ha puesto 'using System'.
Corregido. De paso, he aprovechado para tabularlo un poco mejor... ;-) Ya queda poco para ponerme al dÃa con tus dudas... ;-)4.6 Método de Burbuja. En el segundo método entiendo que 'i debe descender de i=n a i=2' y que en vez de 'A[j]' hay que poner 'A[i]'.
Descender hasta 1 en el bucle exterior es innecesario, cierto, ya que el interior comienza en 2 (por eso de que comparas cada elemento con su anterior). Pero sÃ, serÃa A[j] porque el bucle exterior es el que controla el número de pasadas, pero el interior es el que realmente hace que cada número se compare con su anterior.Método de selección directa: al lado del sÃmbolo '<>' pondrÃa (o quizá lo sustituirÃa por) '!='.
En pseudocódigo se suele usar esa notación, en vez de !=, pero tienes razón, serÃa interesante aclararlo.5.9.1. En Ejercicios propuestos 'Mejorar el programa del ahorcado...en 4.4.8....' En 4.4.8 NO está el programa citado. Se podrÃa cambiar el párrafo a 'Adivinar una palabra que se escogerá al azar de un array de palabras prefijadas (por ejemplo, nombres de ciudades).'
¡Vaya! Una nueva inconsistencia. En la versión PDF sà está, pero lo añadà después de haber publicado la versión inicial de ese apartado en la web, y se me pasó añadirlo en ella cuando amplié el PDF. En un momento lo dejo hecho.¡Hola!
Sigo con estas cosillas:
5.10 Recursividad. En el Ejemplo57 sobran los System.
6.3 La herencia. Visibilidad.
Ejemplo60. En el segundo apartado de 'Main()' se escribe 'Vamos a bloquear y abrir...' y debe decir 'Vamos a bloquear...' o se le añade 'p.Abrir()'.
7.10 Leer bloques de datos de un fichero binario.
En el Ejemplo78 debe poner Ficheros binarios (2).
Saludos.
¡Hola!
Estoy repasando el Tema 6, que lo había visto demasiado deprisa.
6.2 Ejercicio propuesto al final del apartado. Está duplicado.
6.3 Tras el primer párrafo se define la clase 'Porton: Puerta'. Falta el paréntesis '}' de cierre de la clase.
6.3 Ejercicios propuestos. En ambos se escribe 'Esta clase deberá sólo la función Main'. Supongo que querrías poner 'Esta clase deberá contener sólo la función Main'.
En el segundo Ejercicio se escribe 'Se clase PersonaInglesa' y debería poner 'La clase PersonaInglesa'.
Saludos.
Gracias, Jesús. Ya están corregidas tus seis últimas aportaciones, y actualizada la versión PDF de los apuntes (a la 0.94) para reflejarlo, junto con algo más de contenido (SDL para hacer juegos, instalación de Visual Studio, más sobre fecha y hora...)
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)