7
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA DIVISIÓN DE INGENIERÍA MECÁNICA E INDUSTRIAL TÉCNICAS DE PROGRAMACIÓN Profr. Jorge Armando Rodríguez Vera Tarea 2. Tipos de datos, manejo de variables y estructuras de control Objetivo: Identificar los tipos de datos, manipular variables y realizar programas que ocupen estructuras de control Seguir las siguientes instrucciones: PARTE I 1.- Indicar cuáles son los atributos, las variables locales, además identifique a qué clase pertenece cada uno y desde dónde pueden ser accedidas. using System; namespace transporte { public class Agencia { static int peso; public class autos { protected int num_motores; public class Compactos { private int num_motor = 4; public void Enumera() { autos obj_autos = new autos(); Console.WriteLine("El número de motores en un auto compacto es: {0} ",obj_autos.num_motores=num_motor ); } } public class Deportivos { private int num_motores = 8;

Tarea2-2016-I

  • Upload
    dan

  • View
    213

  • Download
    0

Embed Size (px)

DESCRIPTION

C#

Citation preview

Page 1: Tarea2-2016-I

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO

FACULTAD DE INGENIERÍA

DIVISIÓN DE INGENIERÍA MECÁNICA E INDUSTRIAL TÉCNICAS DE PROGRAMACIÓN

Profr. Jorge Armando Rodríguez Vera

Tarea 2. Tipos de datos, manejo de variables y estructuras de control

Objetivo: Identificar los tipos de datos, manipular variables y realizar programasque ocupen estructuras de control

Seguir las siguientes instrucciones:

PARTE I

1.- Indicar cuáles son los atributos, las variables locales, además identifique a qué clase pertenece cada uno y desde dónde pueden ser accedidas.

using System;

namespace transporte{ public class Agencia { static int peso;

public class autos { protected int num_motores; public class Compactos {

private int num_motor = 4;

public void Enumera() { autos obj_autos = new autos(); Console.WriteLine("El número de motores en un auto compacto es: {0} ",obj_autos.num_motores=num_motor ); } } public class Deportivos { private int num_motores = 8;

Page 2: Tarea2-2016-I

public int Enumera() { autos obj_autos = new autos(); obj_autos.num_motores = num_motores; return obj_autos.num_motores; }

} }

class Camiones { private int peso = 2; //Toneladas public void peso_camiones() { Camiones obj_peso = new Camiones();

peso = obj_peso.peso; Console.WriteLine(" El peso promedio de un camion es de {0} toneladas", peso); }

}

class Motos { private int velocidad = 300; //Kilometros por hora

}

static void Main() { // Características de los vehículos de transporte int capacidad;

Console.WriteLine("El valor por defecto de un atributo tipo entero es: {0}", peso); autos.Compactos obj_autos_compactos = new autos.Compactos(); autos.Deportivos obj_autos_Deportivos = new autos.Deportivos(); Camiones obj_camiones = new Camiones(); Aviones.Civiles obj_aviones_civiles = new Aviones.Civiles(); Aviones.Militares obj_aviones_militares = new Aviones.Militares();

obj_autos_compactos.Enumera(); capacidad = obj_autos_Deportivos.Enumera(); Console.WriteLine(" El número de motores en un auto deportivo es: {0}", capacidad); obj_camiones.peso_camiones(); obj_aviones_civiles.recorrido(); obj_aviones_militares.recorrido(); } }

class Aviones {

Page 3: Tarea2-2016-I

public class Civiles { static int distancia = 5600; //Kilometros que puede recorrer public void recorrido() { Console.WriteLine("La distancia que puede recorrer un avión comercial es {0} Kilómetros", distancia); }

} public class Militares { static int distancia = 13300; //Kilometros que recorre public void recorrido() { Console.WriteLine("La distancia que puede recorrer un avión militar es {0} Kilómetros", distancia); } } }}

2.- Verifique en cada inciso si la conversión es posible e indique si es implícita o explícita

a)sbyte a = 127;long b;b = a; //Verificar conversión

b) char car= 'a';ushort uscar;uscar = car; //Verificar conversión

c) ulong nsign = 23;decimal signo;signo = nsign; //Verificar conversión

d) long vlong = 92;char car2;car2 = (char)vlong; //Verificar conversión

e) double vard = 2.123458F;sbyte vsbyte;vsbyte = (sbyte)vard;

Page 4: Tarea2-2016-I

PARTE II

Transcriba el siguiente código fuente a C#, no copie y pegue para que le sean más claros los conceptos:

using System;

namespace transporte{ public class Agencia { static int peso;

public class autos { protected int num_motores; public class Compactos {

private int num_motor = 4;

public void Enumera() { autos obj_autos = new autos(); Console.WriteLine("El número de motores en un auto compacto es: {0} ",obj_autos.num_motores=num_motor ); } } public class Deportivos { private int num_motores = 8;

public int Enumera() { autos obj_autos = new autos(); obj_autos.num_motores = num_motores; return obj_autos.num_motores; }

} }

class Camiones { private int peso = 2; //Toneladas public void peso_camiones() { Camiones obj_peso = new Camiones();

peso = obj_peso.peso; Console.WriteLine(" El peso promedio de un camion es de {0} toneladas", peso); }

}

Page 5: Tarea2-2016-I

class Motos { private int velocidad = 300; //Kilometros por hora

}

static void Main() { // Características de los vehículos de transporte int capacidad;

Console.WriteLine("El valor por defecto de un atributo tipo entero es: {0}", peso); autos.Compactos obj_autos_compactos = new autos.Compactos(); autos.Deportivos obj_autos_Deportivos = new autos.Deportivos(); Camiones obj_camiones = new Camiones(); Aviones.Civiles obj_aviones_civiles = new Aviones.Civiles(); Aviones.Militares obj_aviones_militares = new Aviones.Militares();

obj_autos_compactos.Enumera(); capacidad = obj_autos_Deportivos.Enumera(); Console.WriteLine(" El número de motores en un auto deportivo es: {0}", capacidad); obj_camiones.peso_camiones(); obj_aviones_civiles.recorrido(); obj_aviones_militares.recorrido(); } }

class Aviones { public class Civiles { static int distancia = 5600; //Kilometros que puede recorrer public void recorrido() { Console.WriteLine("La distancia que puede recorrer un avión comercial es {0} Kilómetros", distancia); }

} public class Militares { static int distancia = 13300; //Kilometros que recorre public void recorrido() { Console.WriteLine("La distancia que puede recorrer un avión militar es {0} Kilómetros", distancia); } } }}

1. ¿Cuál es la diferencia entre el método Enumera de la subclase Compactos y el método del mismo nombre contenido en la subclase Deportivos?

2. En la subclase Camiones ¿A cuál atributo se está accediendo desde Console.WriteLine, al que pertenece a la clase Agencia o al que pertenece a dicha subclase?

Page 6: Tarea2-2016-I

3. Dentro del método Main, indique cuáles son las subclases a las que se está accediendo.4. ¿Qué está sucediendo en la siguiente línea de código contenida dentro del método Main()?

capacidad = obj_autos_Deportivos.Enumera();5. ¿Por qué no fue necesario crear referencias de los atributos dentro de los métodos

recorrido tanto de la subclase Civiles y la subclase Militares?6. ¿Por qué la subclase Civiles y la subclase Militares contienen un método respectivamente

del mismo nombre?7. Dentro del Método Main ¿A qué clase pertenece el atributo peso?8. Agregue la siguiente línea de código después de la declaración de “int capacidad;”

Console.WriteLine("Las variables locales no son inicializadas por defecto {0}", capacidad);

Intente compilar el programa y anote sus observaciones.

9. De acuerdo a los ejemplos mostrados, crear un método dentro de la subclase Motos que permita acceder al atributo velocidad y que muestre su valor en pantalla. Para ello agregue todas las líneas que sean necesarias.

10. Comente sus observaciones sobre la siguiente línea de código: Console.WriteLine("El valor por defecto de un atributo tipo entero es: {0}", peso);

11. Redacte sus conclusiones

PARTE III

1. - En lenguaje C es posible asignarle dos o más variables a un bucle for. Por ejemplo:

for( i=0, j=2, k=4; i < 10 , j < 7 , k < 19 ; i +=2, j++, k+=3)

{Bloque de instrucciones . . .

}

En lenguaje de C# lo anterior no es posible. Ocupando un ciclo while escriba el código necesario para simular el ciclo for mostrado en el ejemplo anterior.

2. - Para el siguiente código fuente indicar las salida que muestra: int i = 0; while ( i < 1000) { if (i == 20) break; Console.WriteLine(" {0} ", i); i++;

}

3. - ¿Cuál es la salida que imprimirá el siguiente código?

int i;

Page 7: Tarea2-2016-I

for (i = 0; i <= 1000; i++) { if ( i < 998) continue;

Console.WriteLine(" {0} " ,i);

}

4. - Escriba la salida del siguiente código:

for (int i = 0; i < (20 / 2); i += 2) { Console.WriteLine(i); }

Se le resalta al equipo de alumnos la necesidad de reportar la explicación de losresultados y por último las conclusiones obtenidas.

Fecha de entrega: 3 de Septiembre de 2015