Sie sind auf Seite 1von 7

UNIVERSIDAD NACIONAL AUTNOMA DE MXICO

FACULTAD DE INGENIERA
DIVISIN DE INGENIERA MECNICA E INDUSTRIAL
TCNICAS DE PROGRAMACIN
Profr. Jorge Armando Rodrguez 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 cules son los atributos, las variables locales, adems identifique a qu clase
pertenece cada uno y desde dnde 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 nmero 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);

}
class Motos
{
private int velocidad = 300; //Kilometros por hora
}
static void Main()
{
// Caractersticas de los vehculos 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 nmero 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 avin comercial es {0}
Kilmetros", distancia);
}
}
public class Militares
{
static int distancia = 13300; //Kilometros que recorre
public void recorrido()
{
Console.WriteLine("La distancia que puede recorrer un avin militar es {0}
Kilmetros", distancia);
}
}
}
}

2.- Verifique en cada inciso si la conversin es posible e indique si es implcita o explcita


a)sbyte a = 127;
long b;
b = a; //Verificar conversin
b) char car= 'a';
ushort uscar;
uscar = car; //Verificar conversin
c) ulong nsign = 23;
decimal signo;
signo = nsign; //Verificar conversin
d) long vlong = 92;
char car2;
car2 = (char)vlong; //Verificar conversin
e) double vard = 2.123458F;
sbyte vsbyte;
vsbyte = (sbyte)vard;

PARTE II
Transcriba el siguiente cdigo fuente a C#, no copie y pegue para que le sean ms 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 nmero 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);

class Motos
{
private int velocidad = 300; //Kilometros por hora
}
static void Main()
{
// Caractersticas de los vehculos 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 nmero 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 avin comercial es {0}
Kilmetros", distancia);
}
}
public class Militares
{
static int distancia = 13300; //Kilometros que recorre
public void recorrido()
{
Console.WriteLine("La distancia que puede recorrer un avin militar es {0}
Kilmetros", distancia);
}
}
}
}

1.
2.

Cul es la diferencia entre el mtodo Enumera de la subclase Compactos y el mtodo del


mismo nombre contenido en la subclase Deportivos?
En la subclase Camiones A cul atributo se est accediendo desde Console.WriteLine, al
que pertenece a la clase Agencia o al que pertenece a dicha subclase?

3. Dentro del mtodo Main, indique cules son las subclases a las que se est accediendo.
4. Qu est sucediendo en la siguiente lnea de cdigo contenida dentro del mtodo Main()?
capacidad = obj_autos_Deportivos.Enumera();
5. Por qu no fue necesario crear referencias de los atributos dentro de los mtodos
recorrido tanto de la subclase Civiles y la subclase Militares?
6. Por qu la subclase Civiles y la subclase Militares contienen un mtodo respectivamente
del mismo nombre?
7. Dentro del Mtodo Main A qu clase pertenece el atributo peso?
8. Agregue la siguiente lnea de cdigo despus de la declaracin 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 mtodo dentro de la subclase Motos que
permita acceder al atributo velocidad y que muestre su valor en pantalla. Para ello
agregue todas las lneas que sean necesarias.
10. Comente sus observaciones sobre la siguiente lnea de cdigo:
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 ms 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 cdigo necesario para
simular el ciclo for mostrado en el ejemplo anterior.

2. - Para el siguiente cdigo fuente indicar las salida que muestra:


int i = 0;
while ( i < 1000)
{
if (i == 20)
break;
Console.WriteLine(" {0} ", i);
i++;
}
3. - Cul es la salida que imprimir el siguiente cdigo?
int i;

for (i = 0; i <= 1000; i++)


{
if ( i < 998)
continue;
Console.WriteLine(" {0} " ,i);
}
4. - Escriba la salida del siguiente cdigo:
for (int i = 0; i < (20 / 2); i += 2)
{
Console.WriteLine(i);
}

Se le resalta al equipo de alumnos la necesidad de reportar la explicacin de los


resultados y por ltimo las conclusiones obtenidas.
Fecha de entrega: 3 de Septiembre de 2015

Das könnte Ihnen auch gefallen