Sunteți pe pagina 1din 4

Tarea_2

1. En el listado que se muestra a continuacin determine los errores existentes y


clasifquelos en sintcticos y semnticos.

class Peso()
{
double libras;
Peso(real unPesoLibras)
{
libras == unPesoLibras;
}
double gramos()
{
const string librasGramos = 0.453592
return libras * librasGramos;
}
double Kilogramos()
{
return Gramos() / 1000;
}
}

2. Determine cules de las siguientes cadenas de smbolos pueden constituir
expresiones aritmticas sintcticamente vlidas en C#:
a) A + ( B * 2 )
b) +( A + ( A + A ))
c) X
d) A* - B
e) PiSobre2
f) ( A/ B) (C /D * E)


3. Desarrolle los rboles de evaluacin y evale las siguientes expresiones aritmticas:
a) ( A / B) ( C / ( D * E ))
b) A / B ( C / ( D * E ))
c) A / B ( C / D * E )
d) (A + B*C) / (( D * E ) ( A * C ))
e) A + ( B*C ) / ( D * E ) ( A * C )

4. Seleccione algunos de los listados del presente captulo y determine bloques de
cdigo, identificadores, palabras reservadas, comentarios, declaraciones de
variables, constantes, tipos de datos bsicos y expresiones.

5. Evale las expresiones que se muestran a continuacin a travs de sus
correspondientes rboles de evaluacin.
{
double dres, d1 = 1, d2 = 2;
int ires, i1 = 1, i2 = 2;
dres = d1 + d2 / i2 * i1;
dres = d1 + d2 / (i2 * i1);
dres = d1 + d2 / i2 * i1 * 13 / 5;
dres = d1 + d2 / (i2 * i1 * 13 / 5);
dres = d1 + d2 / (i2 * i1 * 13 / 5.0);

6. En el listado que se muestra seguidamente determine qu elementos del estilo de
cdigo propuesto en I.2.7 han sido ignorados.
class C
{
int ArrancEn;
int P;
void arranca()
{
ArrancEn = Environment.TickCount;
}
void Para()
{
P=Environment.TickCount;
}
long tiempo()
{
return P-ArrancEn;
}
}
7. Refine la clase Circunferencia del presente captulo con la incorporacin de
un constructor.
8. Disee e implemente una clase que dado un nmero de milisegundos entre 0 y 106,
obtiene el equivalente en horas, minutos, segundos y centsimas de segundos.
9. Refine la clase Cronmetro de forma tal que el tiempo transcurrido se pueda
mostrar en el formato horas, minutos, segundos y centsimas de segundos (auxliese
de la clase definida en el ejercicio anterior).
10. Refine la clase Cronmetro de forma tal que ahora se le pueda agregar una
funcionalidad Continuar, que permita parar y luego seguir acumulando el tiempo
(idea original en [24])..
11. La nota final de una asignatura se calcula a partir de las notas de los tres exmenes
parciales, calculando la parte entera de la media de dichas notas. Disee e
implemente una clase que permita representar asignaturas con su respectivo nombre,
las tres notas de los parciales y la nota final.
12. Disee e implemente una clase que permita representar puntos de R2 , al menos
garantice responsabilidades para mover dichos puntos y para determinar la distancia
entre dos puntos.
13. Disee e implemente una clase que permita representar vectores de R3 , al menos
garantice responsabilidades para las operaciones suma, producto por un escalar,
producto escalar y producto vectorial.
14. Disee e implemente una clase que permita representar matrices cuadradas de orden
2, al menos garantice responsabilidades para las operaciones suma, producto y
producto por un escalar.
15. Disee e implemente una clase que permita representar cuadrilteros, al menos
garantice responsabilidades para calcular rea, permetro, longitud de las diagonales.
Incorpore un mtodo constructor y al menos una sobrecarga de este.
16. Disee e implemente una clase que permita representar tringulo, garantice al menos
responsabilidades para calcular rea, permetro. Incorpore un mtodo constructor y
al menos una sobrecarga de este.
17. Disee e implemente una clase que permita representar rectas de la forma y = mx
+ n, garantice al menos responsabilidades para evaluar un valor, hallar su cero,
calcular la pendiente de una recta perpendicular a esta. Incorpore un mtodo
constructor y al menos una sobrecarga de este.
18. Disee e implemente una clase que permita representar medidas (expresadas en
metros), garantice al menos responsabilidades necesarias para conocer el
equivalente en km, cm, mm. Defina un mtodo constructor para la misma.
19. Disee e implemente una clase que permita representar ecuaciones de segundo
grado, garantice responsabilidades para calcular el determinante, calcular una de sus
raices y obtener el resultado de evaluar un valor. Defina un mtodo constructor para
la misma.
20. Dadas las definiciones de las clases siguientes:
class Persona
{
string nombre;
int aoNacimiento;
Persona (string nombre,int aoNacimiento)
{
this.nombre = nombre;
this.aoNacimiento = aoNacimiento;
}
int Edad ( int unAo)
{
return unAo - aoNacimiento;
}
}


class A
{
int x,y;
A (int unX, int unY)
{
x = unX;
y = unY;
}
int Producto ()
{
return x*y;
}
int Suma ()
{
return x+y;
}
}



class B
{
string s1,s2;
string Suma ()
{
return s1 + + s2;
}
}

a) De las instrucciones que se listan a continuacin Cuales son correctas son
correctas y cules no?. Justifique en cada caso.
{
Persona juan = new Persona( juan, 1970), p , j;
p.nombre = paco;
A valor1 = new A();
j = juan;
string s1 = valor1.Producto();
B valor2 = new B(hola, bien);
B v1 = new B();
v1.s1 = v1.s2 = hola;
j.nombre = pepe;
Persona p1 = j;
j = new Persona(juan, 1780);
j.aoNacimiento = 1910;
p1.aoNacimiento = j.aoNacimiento ;
v1.suma = cadena;
}

b) Tomando en cuenta el listado anterior Qu resultado devuelve las instrucciones
siguientes?
juan.Edad();
juan.nombre;

S-ar putea să vă placă și