SOFTWARE PARA INGENIERÍA (EL120

)
Tarea No. 1 – Operaciones condicionales
2014-01


Ecuaciones cuadráticas
La fórmula de una ecuación cuadrática tal vez sea la más familiar para generaciones de
estudiantes:

ax
2
+ bx + c = 0

Un plan estructurado de un algoritmo completo para encontrar una solución(es), dado los
valores de a, b y c, s involucra los siguientes pasos descritos en el siguiente seudocódigo
(es decir, un código de programación libre):




















Figura 1.1- Plan estructurado para resolver una ecuación quadrática

Tarea 1: Escriba una archivo script llamado qsolve.m que siga el plan estructurado anterior.
Puede utilizar el seudocódigo anterior como referencia para luego cambiar las instrucciones
libres con instrucciones de MATLAB o puede utilizar las líneas anteriores como
comentarios. El script tiene que contemplar todos los posibles valores para a, b y c. Intente
con los siguientes valores:
1. Inicio
2. Ingresardatos(a,b,c)
3. Siaesiguala0,entonces
Sibesiguala0,entonces
Sicesiguala0,entonces
Mostrar“SoluciónIndeterminada”
delocontrario
Mostrar“Nohaysolución”
delocontrario
x=-c/b
Mostrarx(solounaraíz,laecuaciónnoeslineal)
delocontrariosib
2
<4ac,entonces
Mostrar“Raícescomplejas”
delocontrariosib
2
=4ac,entonces
x=-b/(2a)
Mostrarx(raícesiguales)
delocontrario
x
1
=(-b+√(b2–4ac))/(2a)
x
2
=(-b-√(b2–4ac))/(2a)
Mostrarx
1
,x
2

4. Fin


a) 1, 1, 1 (raíces complejas)
b) 2, 4, 2 (raíces iguales de -1.0)
c) 2, 2, -12 (raíces de 2.0 y -3.0)

El plan estructurado de la Figura 1.1 es válido para lenguajes de programación que no
pueden manejar números complejos: MATLAB si puede. Ajuste el archivo script de forma
que también pueda manejar raíces complejas. Pruebe con el caso (a): las raíces son -0.5 ±
0.866i.

Solución estructurada con funciones
Otra forma de resolver este problema es utilizando una función. De forma tal que el script
tenga los siguientes pasos:

1. Ingresar los datos
2. Encontrar y mostrar la solución
3. Fin

Utilizando una función llamada quadratica.m para que haga el trabajo sucio y así incluirlo
posteriormente en un script.

Tarea 2: Escriba la siguiente función:

function [x1, x2, flag] = quadratica(a, b, c)

Esta función debe de retornar resultados equivalentes al script anterior, pero debe de
retornar los resultados en los argumentos de salida (x1, x2 y flag). Los argumentos de
entrada a, b y c son los coeficientes de la ecuación cuadrática; x1 y x2 son las raíces (si es
que estas existen), que pueden ser iguales. El argumento de salida flag debe de retornar
los siguientes valores, de acuerdo con el número y tipo de raíces:

0 no hay solución (a = b = 0, c ≠ 0)
1 una raíz real (a = 0, b ≠ 0, así que la raíz será –c/b)
2 dos raíces reales o complejas (que pueden ser iguales si son reales)
99 cualquier x es una solución (a = b = c = 0)

Pruebe la función con los valores de prueba anteriores.

Ecuaciones simultáneas
MATLAB tiene una forma de resolver sistemas de ecuaciones simultáneas utilizando
operaciones matriciales. Sin embargo, para desarrollar las habilidades de programación es
buena idea encontrar alguna solución algebraica con todas sus consecuencias.

Tarea 3: Desarrolle un plan estructurado (seudocódigo) como el mostrado en la Figura 1.1
que resuelva un sistema de dos ecuaciones simultáneas (es decir, las ecuaciones de dos
rectas). Su algoritmo debe de ser capaz de manejar todas las posibles situaciones: esto es,
que las líneas se intersecten, que sean paralelas o que sean coincidentes.
Escriba una función que implemente su algoritmo pruébelo en algunos sistemas de
ecuaciones para las que sepa de antemano la solución, como:

x + y = 3
2x – y = 3

(x = 2, y = 1). Consejo: Empiece derivando una formula algebraica para solucionar un
sistema del tipo:

ax + bc = c
dx + ey = f

Defina su función de la forma:

function [x, y] = solve2eq(a, b, c, d, e, f)




PRESENTACION
Estas reglas se deben de respetar rigurosamente para que la tarea sea considerada como
válida.

- La tarea es individual.
- Se debe de entregar un archivo tarea1.zip que contenga los archivos qsolve.m,
quadratica.m y solve2eq.m.
- Se debe de agregar un informe el formato electrónico tarea1.pdf que contenga
los seudocódigos, los resultados de sus pruebas, derivación de fórmulas o
explicaciones teóricas.