Ir al contenido
wannacode

Tu primer programa

En resumen: Un programa es una serie de órdenes que se ejecutan de arriba abajo: en C# empieza en Main, Console.WriteLine imprime texto y // empieza un comentario.

Problema

La computadora hace exactamente lo que dice

La computadora no adivina lo que quieres. Ejecuta órdenes, una tras otra, exactamente como están escritas. Una secuencia de órdenes así es un programa.

Aquí tienes un programa entero. Imprime dos líneas en la pantalla:

Program.cs
class Program
{
static void Main()
{
Console.WriteLine("¡Bienvenido!");
Console.WriteLine("Este es tu primer programa.");
}
}
Salida
¡Bienvenido!
Este es tu primer programa.

Parece mucho código para dos líneas de texto. La mayor parte es un envoltorio que escribes en todos los programas. Tus órdenes son solo las dos líneas del medio.

La idea

Qué hay en el programa

  • static void Main() es el lugar donde empieza el programa. Lo llamamos Main. La computadora ejecuta sus líneas de arriba abajo.
  • Console.WriteLine(...) imprime el texto que está entre los paréntesis y pasa a una línea nueva.
  • El texto va entre comillas dobles: "¡Bienvenido!". Las comillas no se imprimen.
  • Cada orden termina en ;.
  • Las llaves { y } agrupan las líneas que van juntas.

class Program es el envoltorio de todo programa. Qué significa lo verás en el módulo «Clases y objetos». Por ahora lo copias y escribes tu código dentro de Main. Más adelante, en las lecciones, mostramos solo las líneas de Main.

Más precisamente, para curiosos
  • Las mayúsculas y las minúsculas importan. console.writeline no es lo mismo que Console.WriteLine, y el programa no compilará.
  • La orden dotnet new console crea Program.cs con una sola línea: Console.WriteLine("Hello, World!");. Es una forma corta de escribir lo mismo. El compilador añade por su cuenta class Program y Main alrededor. Aquí escribimos la forma completa, para que veas dónde va cada cosa.
  • En código más antiguo verás using System; arriba del todo. Indica de dónde viene Console. En los proyectos nuevos esta línea se añade sola.

La idea

Imprimir con y sin salto de línea

A veces quieres varios trozos de texto en una misma línea. Para eso hay una segunda orden: Console.Write. Imprime el texto y se queda en la misma línea.

Console.Write("Pedido ");
Console.Write("n.º 1024");
Console.WriteLine(" está confirmado.");
Console.WriteLine("Envío: mañana");
Salida
Pedido n.º 1024 está confirmado.
Envío: mañana

Las dos primeras líneas del código usan Write, por eso «Pedido», «n.º 1024» y «está confirmado.» salen juntos. Después de WriteLine el texto siguiente empieza en una línea nueva.

Fíjate en los espacios. Están dentro de las comillas, porque la computadora no pone un espacio por su cuenta.

Sigue el cursor: el texto sale siempre donde está él.

Console.Write("Pedido ");
Console.Write("n.º 1024");
Console.WriteLine(" está confirmado.");
Console.WriteLine("Envío: mañana");
Paso a paso, en palabras
  1. Write imprime «Pedido » y el cursor se queda en la misma línea.
  2. Write imprime «n.º 1024» y el cursor se queda en la misma línea.
  3. WriteLine imprime « está confirmado.» y el cursor pasa a una línea nueva.
  4. WriteLine imprime «Envío: mañana» y el cursor pasa a una línea nueva.
  5. Los espacios están dentro de las comillas: la computadora no pone un espacio por su cuenta.

Pruébalo

¿En cuántas líneas?

¿Qué imprimirá el programa?

Console.Write("Tren ");
Console.WriteLine("8:15");
Console.Write("Andén ");
Console.Write("3");
Console.WriteLine();
Respuesta

La idea

Comentarios: notas para las personas

A veces quieres dejar una nota en el código: por qué está así o qué viene después. La escribes como un comentario. La computadora se salta los comentarios.

  • // empieza un comentario que llega hasta el final de la línea.
  • /* y */ rodean un comentario de varias líneas.
/* El recibo de la cafetería.
Los precios están en euros. */
Console.WriteLine("Café 2,50 €");
// Console.WriteLine("Cruasán 1,80 €");
Console.WriteLine("Total 2,50 €"); // no quedan cruasanes
Salida
Café 2,50 €
Total 2,50 €

La línea del cruasán es código, pero está detrás de //, así que no se ejecuta. Así desactivas una línea por un tiempo sin borrarla.

Un buen comentario dice por qué, no qué. El propio código muestra lo que hace.

Pruébalo

¿Qué saldrá?

¿Qué imprimirá el programa?

Console.WriteLine("9:00 Matemáticas");
// Console.WriteLine("10:00 Física");
Console.WriteLine("11:00 Historia"); // luego, el almuerzo
Respuesta

Problema

El programa no arranca

Has escrito el programa, lo ejecutas y ni siquiera empieza. En lugar de la salida recibes un mensaje:

Program.cs
class Program
{
static void Main()
{
Console.WriteLine("¡Bienvenido al curso!")
Console.WriteLine("Empezamos.");
}
}
Mensaje del compilador
Program.cs(5,51): error CS1002: ; expected

Antes de ejecutarse, el programa pasa por el compilador. El compilador traduce el código para la computadora y comprueba que esté escrito según las reglas. Si no lo está, se detiene y no ejecuta nada. Esto se llama error de compilación (compile error).

La idea

Cómo leer el mensaje

El mensaje te dice tres cosas: el archivo, la línea y qué está mal.

Program.cs(5,51) significa el archivo Program.cs, línea 5, carácter 51 desde el principio de la línea. ; expected significa «esperaba un ;». CS1002 es el número del error. Con él puedes buscarlo en la documentación.

Los errores más comunes al principio:

  • falta un ; al final de una orden;
  • una comilla o un paréntesis se abre, pero no se cierra;
  • una minúscula en lugar de una mayúscula: console.WriteLine.

Corrige primero el primer error de la lista. Una sola comilla que falta puede confundir al compilador y mostrar varios errores más abajo, que desaparecen junto con ella.

Más precisamente, para curiosos
  • El compilador te dice dónde notó el problema. A veces el error está un poco más arriba: si olvidaste cerrar una }, se entera solo al final del archivo.
  • También hay errores que nadie detecta: el programa arranca, pero hace otra cosa distinta de la que quieres. Los cazaremos en casi todas las lecciones.

Pruébalo

Encuentra el error

El programa debe imprimir el horario del examen. No compila. ¿En qué línea está el error?

Elige la línea con el error.

Ejercicio

Tus primeros programas

Resuelve las tareas en tu editor. Cada una es un programa aparte. Compara tu salida con la del ejemplo, carácter por carácter.

1. Hello World. El primer programa tradicional. Imprime:

Salida
Hello, World!

2. Tarjeta de visita. Imprime una tarjeta de visita de tres líneas: nombre, profesión y correo electrónico. Puedes usar los tuyos.

Salida de ejemplo
María López
desarrolladora web
maria@example.com

3. Marco. Imprime el menú de hoy del comedor dentro de un marco de asteriscos. Cuida los espacios para que el lado derecho salga recto.

Salida
*************
* Hoy: sopa *
* 5,40 € *
*************

Más tareas

  • Una frase en tres partes. Con tres órdenes Write y una WriteLine, imprime en una sola línea «La tienda abre de 9:00 a 19:00.»
  • Un horario con un comentario. Imprime un horario de cuatro clases. Después desactiva la tercera línea con //, sin borrarla, y añade un comentario que diga por qué.
  • Un error a propósito. Quita el ; de una línea de la tarea 1 y luego quita también una comilla. Lee lo que dice el compilador cada vez.

Test

Ponte a prueba

1. ¿Dónde empieza a ejecutarse el programa?
2. ¿Qué diferencia hay entre Write y WriteLine?
3. ¿Qué hace la computadora con un comentario?
4. El compilador dice que falta un ; en la línea 3. ¿Qué significa?
5. ¿Cuál compilará?

Creado por Ivo Gergov como parte de la campaña de Evo Tech por una educación accesible en programación ·