You are on page 1of 8

ESCUELA COLOMBIANA DE INGENIERA Asignatura: Programacin imperativa bsica (PIMB-1), Ingeniera de Sistemas Profesora: Ingeniera Patricia Salazar Perdomo

Fecha: 23 de enero de 2012 Ref.: Tarea No. 2


Nota: A lo largo de la tarea utilizar los siguientes smbolos: El admiracin igual (!=) indica diferente. El mayor que seguido de igual (>=) indica mayor o igual. El menor que seguido de igual (<=) indica menor o igual. Gracias. Estudiante: _Carlos Antonio Pinzn Henao______

1. Construir en lenguaje algortmico sendas soluciones para los siguientes problemas:


a.

Calcular y escribir la calificacin definitiva de un estudiante en el curso Programacin imperativa bsica, sabiendo que los pesos de los tercios son 30, 30 y 40%, respectivamente. Tambin debe decir si la calificacin es aprobatoria (pertenece a [3.0, 5.0]) o no (pertenece a [0, 3.0)). Los mensajes deben ser claros y concisos. "Calculo_definitiva" empiece escriba "Calculo la calificacin definitiva del curso Programacin imperativa bsica, e informo si aprueba o no." real nota1, nota2, total escriba "Nota del primer tercio = " lea nota1 escriba "Nota del segundo tercio = " lea nota2 escriba "Nota del tercer tercio = " lea total escriba "Las notas ingresadas fueron: ", nota1,", ",nota2,", y ", total," para cada perodo respectivamente." nota1 nota1 + nota2 total nota1*.3 + total*.4 si (total >= 0 y total <= 5) entonces escriba "Su nota definitiva es ", total, ", es decir, " si (total >=3) entonces escriba "aprob." si_no escriba "reprob." fin_si si_no escriba "Revise las calificaciones ingresadas, debe haber un error." fin_si escriba "Fin." parev

termine
b. Dados los datos de un rectngulo (base y altura) y los de un tringulo (base y altura),

averiguar si el rectngulo puede contener al tringulo. El usuario debe ser informado del resultado de manera clara y concisa. Ejemplos:

"Trian_en_rect" empiece escriba "Indico si un tringulo puede estar contenido en un rectngulo a partir de la base y la altura de cada uno." real b1, b1, h1, h2 escriba "Base del rectngulo = " lea b1 escriba "Altura del rectngulo = " lea h1 escriba "Base del tringulo = " lea b2 escriba "Altura del tringulo = " lea h2 escriba "Usted ingres: Rectngulo de base ", b1, " y altura ", h1,"; y tringulo de base ", b2, " y altura ", h2,"." si (b1>0 y b2>0 y h1>0 y h2>0) entonces si (b1>=b2 y h1>=h2) entonces escriba "Si se puede, coloque la base del tringulo en la base del rectngulo." si_no si (b1>=h2 y h1>=b1) entonces escriba "Si se puede, coloque la base del tringulo en el lado derecho o izquierdo del rectngulo." si_no escriba "No se puede inscribir dicho tringulo en el rectngulo dado." **En realidad es posible que el tringulo pueda estar inscrito en el rectngulo colocndolo en posicin diagonal; pero de todas formas, no es la intencin del ejercicio extenderse tanto. fin_si fin_si si_no escriba "Revise los datos ingresados, debe haber un error." fin_si escriba "Fin." pare termine

c. Pedir a un usuario los cuatro vrtices de un rectngulo que tiene una porcin en cada cuadrante de un plano cartesiano y calcular y escribir su rea. En el resultado hay que escribir tambin la base y la altura del rectngulo.

EJEMPLO 1.
8 6 V2 4 2 0 -2 V3 -4 -6 V4 V1

EJEMPLO 2.
8 6 4 V2 2 0 -2 -4 V3 V4 V1

Vrtices del rectngulo 1: (4,5) (-3,5) (-3,-2) (4,-2) Vrtices del rectngulo 2: (5,2) (-1,2) (-1,-1) (5,-1)

-6

-4

-2

-6

-6

-4

-2

RESULTADO:
El rea del rectngulo de base 7 y altura 7 es 49 unidades cuadradas .

RESULTADO:
El rea del rectngulo de base 6 y altura 3 es 18 unidades cuadradas.

"Vert_rect_area" empiece escriba "Calculo el rea de un rectngulo a partir de sus vertices." real v11, v12, v21, v22, v31, v32, v41, v42 escriba "Coordenada x del vrtice superior derecho = " lea v11 escriba "Coordenada y del vrtice superior derecho = " lea v12 escriba "Coordenada x del vrtice superior izquierdo = " lea v21 escriba "Coordenada y del vrtice superior izquierdo = " lea v22 escriba "Coordenada x del vrtice inferior derecho = " lea v31 escriba "Coordenada y del vrtice inferior derecho = " lea v32 escriba "Coordenada x del vrtice inferior izquierdo = " lea v41 escriba "Coordenada y del vrtice inferior izquierdo = " lea v42 escriba "Usted ingres: V1 = ( ",v11 , " , ", v12, " ) ; V2 = ( ",v21 , " , ", v22, " ) ; V3 = ( ",v31 , " , ", v32, " ) ; V4 = ( ",v41 , " , ", v42, " ) ; "." si (v11=v41 y v21=v41 y v12=v22 y v32=v42 y v11>v21 y v12>v42) entonces escriba "El rea del rectngulo de base ", v11-v21, " y altura ", v12-v42, " es ", (v11-v21)*(v12-v42), " unidades cuadradas." si_no escriba "Revise los datos ingresados, debe haber un error." fin_si

escriba "Fin." pare termine

2. Hacer una prueba de escritorio a la solucin dada al siguiente problema con una ecuacin
cuyas races sean complejas. No hay razn para que ms de una tarea tenga la misma prueba. Ilustre el efecto en el entorno de memoria y en la pantalla. Una ecuacin cuadrtica es de la forma ax 2 + bx + c = 0; a, b, c R, a 0. La solucin de una ecuacin de stas, es decir, los valores que la satisfacen, se puede obtener utilizando la ecuacin b b 2 4ac x= 2a 2 donde b 4ac es llamado el discriminante. El valor del discriminante define el tipo de soluciones que tiene la ecuacin:
Valor del discriminante Cantidad y tipo de soluciones de la ecuacin ax 2 + bx + c = 0;

b 4ac
2

Positivo Negativo 0

Dos (2) soluciones reales y diferentes. Dos (2) soluciones complejas (de la forma m ni ; m, n R. ) Dos (2) soluciones reales e iguales.

Ejemplo:
Ecuacin ingresada
x 2 3 x + 2.5 = 0; x 2 x 2 = 0; x 2 4 x + 4 = 0;

Cantidad y tipo de las soluciones 2 complejas. (discriminante negativo) 2 reales y diferentes. (discriminante positivo) 2 reales e iguales. (discriminante cero)

Valor de las soluciones x1 = 1.5 + 0.5i , x 2 = 1.5 0.5i

x1 = 2 , x 2 = 1 x1 = 2 , x 2 = 2

Construya un algoritmo que permita solucionar una ecuacin cuadrtica dada por un usuario. En el resultado debe especificarse claramente cantidad, tipo y valor de las soluciones que tiene la ecuacin.
Suponga que
EXMENES.

u se expresa como es lo mismo que

u ^ 0.5.

LA EXISTENCIA DEL OPERADOR ^ ES VLIDA SLO

EN ESTE EJERCICIO O CUANDO AS SE ESPECIFIQUE EN LOS ENUNCIADOS DE LAS TAREAS, EJERCICIOS, PRUEBAS CORTAS O

Solucin

solucion_ec_cuadratica empiece real a, b, c, disc

** Directorio de variables ** a, b, c: Coeficientes de la ecuacin cuadrtica. ** disc: Valor del discriminante (b^2-4ac) ** Esta solucin, no documentada, fue escrita por Patricia Salazar Perdomo. ** Se parte de la suposicin de que los datos corresponden a una ecuacin cuadrtica ** y por eso no se validan. escriba Hola! Yo soluciono ecuaciones cuadrticas (ax^2+bx+c=0). Intntalo con una. escriba Valor de los coeficientes: escriba a = lea a escriba b = lea b escriba c = lea c disc b^2-4*a*c escriba Su ecuacin tiene si (disc < 0) entonces escriba 2 soluciones complejas: escriba x1 = ,-b/(2*a), + ,(-disc)^0.5/(2*a),i escriba x2 = ,-b/(2*a), - ,(-disc)^0.5/(2*a),i si_no si (disc > 0) entonces escriba 2 soluciones reales y diferentes: escriba x1 = ,(-b + disc^0.5)/(2*a) escriba x2 = ,(-b - disc^0.5)/(2*a) si_no escriba 2 soluciones reales e iguales: escriba x1 = x2 = ,-b/(2*a) fin_si fin_si escriba Hasta luego. pare termine PRUEBA Variabl Tipo e a real b real
DE ESCRITORIO MEMORIA

ENTORNO DE Contenido 1.0 2.0

c disc

real real

3.0 -4.0

PANTALLA Hola! Yo soluciono ecuaciones cuadrticas (ax^2+bx+c=0). Intntalo con una. Valor de los coeficientes: a=1 b=2 c=2 Su ecuacin tiene 2 soluciones complejas: x1 = -1 + 1i x2 = -1 - 1i Hasta luego.

3. Estudiar de la pgina 41 a la 53 del libro Aprendiendo a programar a partir de cero1. Informarme por correo electrnico, a ms tardar el lunes al medioda, lo que no le qued claro. Tendr en cuenta la netiqueta y el uso correcto de la lengua materna. 4. Mejore el diseo de los siguientes segmentos de cdigo y justifquelo.
4.1
si (a>0) entonces escriba Dame tu nombre lea nombre escriba Cuntos hijos tienes? lea numhijos si_no escriba Dame tu nombre lea nombre escriba Cuntos hermanos tienes? lea numher fin_si

Desarrollo: Se puede preguntar el nombre una sola vez: escriba Dame tu nombre lea nombre si (a>0) entonces escriba Cuntos hijos tienes? lea numhijos
1

Salazar Perdomo, Patricia. Aprendiendo a programar a partir de cero. Cuarta versin preliminar, Editorial de la Escuela Colombiana de Ingeniera. Bogot D. C., agosto de 2010.

si_no escriba Cuntos hermanos tienes? lea numher fin_si 4.2


si (p = d y j < 0) entonces k1 escriba Caso 1 escriba Iniciando proceso si_no k -1 escriba Caso 2 escriba Iniciando proceso fin_si

Desarrollo: Se puede decir Iniciando proceso una sola vez: si (p = d y j < 0) entonces k1 escriba Caso 1 si_no k -1 escriba Caso 2 fin_si escriba Iniciando proceso 4.3
si (valor = a) escriba valor, = , a si (valor > a) escriba valor, > , a si (valor < a) escriba valor, < , a

Desarrollo: Considero que est bien, empero, se puede evitar preguntar tantas veces sobre a: (Se podra hacer tambin escribiendo valor al inicio y a al final, pero quedara en distintas lneas, lo cual daa la apariencia del programa.) si (valor = a) entonces escriba valor, = , a si_no si (valor > a) entonces escriba valor, > , a si_no escriba valor, < , a fin_si fin_si

4.4
si (m = 0 y a = 1) entonces si (m = 0) h -1 si_no si (a = 1) h 0 fin_si

Desarrollo: Supongo que el cdigo quiere saber si m = 0 o a = 1, en cuyo caso sera: si (m = 0 o a = 1) entonces si (m = 0) h -1 si_no si (a = 1) h 0 fin_si Si no es esa la intencin, es tonto asignar a h -1 para luego asignarle 0, luego el cdigo quedara resumido as: si (m = 0 y a = 1) h 0

You might also like