Anda di halaman 1dari 16

INTRODUCCION

En ingenieria estudiamos el mundo real, desde la perspectiva propia de la disciplina


(bien se trate de Ing quimica, ing mecanica, ing civil, ing electrica, ing de alimentos,
etc), por eso los planes de estudio de cada ingenieria incluyen cursos basicos de
isica, quimica y/o biologia, que son ciencas exactas; esos estudios se expresan en el
lenguaje universal de las matematicas y por ello el plan de estudios incluye cursos
de algebra, geometria, trigonometria, calculo y matematicas.
Cada plan de estudios en la universidad incluye cursos propios del area disciplinar,
(balance de materia, transferencia de calor, procesos industriales, biotecnologia,
etc), donde se trabaja construyendo modelos abstractos, que representan aspectos
del mundo real, la mayoria de las veces utilizando un lenguaje matematico. Esos
modelos son bastante utiles ya que sirven para analizar situaciones concretas y
tambien para hacer predicciones a traves de multiples simulaciones y esta es la
razon de ser de cada Ingenieria.
Habra casos donde se require calculos numericos largos, dispendiosos, para lo cual
nos debemos apoyar en la computadora y esa es la razon por la cual el Programa de
Ingenieria incluye los cursos de Introduccion a la Programacion. La mejor
utilizacion de la computadora es cuando hacemos simulaciones del comportamiento
de un proceso en el diseo de alimentos, compuestos quimicos, puentes, estructuras
metalicas o de concreto, circuitos, etc.
El software esta enmarcado en el llamado Sistema de Informacion, el cual tiene
cuatro componentes:
1. Datos: Partimos de que existen unos datos que se deben procesar, lo cual es
un relejo o representacion de una parte del mundo real. Ejemplo, la base de
datos o conjunto de datos del extracto bancario de Pedro Perez durante el
mes de febrero de 2015.
2. Procedimiento: Es el orden y las reglas que deben seguir las personas al
elegir, iltrar, convalidar e ingresar a la computadora los datos respectivos a
procesar, y la manera de interpretar los resultados. Los procedimientos
deben estar escritos, y ojala publicados en la web o en un manual,
conviertiendose en la documentacion del sistema (manual de usuario), muy
importante para consulta cuando hay dudas o para entrenar personal nuevo
en un puesto de trabajo. Debe ser escrito pensando mas en la persona que va
a manejar los datos que en el computador o el programa.
3. Hardware: es la computadora y la red de internet o sea la infraestructura que
almacena, transporta y procesa los datos.

4. Software: son los programas o conjunto de instrucciones que le ordenan a la


computadora que hacer con los datos. Ej: Windows, ORACLE (el manejador de
la base de datos), programa de usuario para hacer retiros bancarios, por
ejemplo.

MODELOS
Un modelo es una representacion abstracta (mental, escrita, graica, matematica,
una maqueta, un globo terraqueo, etc) de un objeto del mundo real. Un modelo
graico es muy didactico, mientras que un modelo matematico es exacto. Utilizamos
modelos para estudiar, analizar predecir e interpretar el mundo real, utilizando un
tipo de modelo dependiendo del proposito del estudio.
En el proceso de resolver un problema en la computadora se siguen unas etapas
logicas:
1-Establecimiento del problema. Ante una situacion problemica debemos ser
capaces de entender y dominar el problema, lo cual se cumple si soy capaz de
escribir o verbalizar el problema, utilizando un lenguaje preciso y conciso, (sin
ambigedades). Debemos dominar el tema antes de continuar con el proceso. Ej:
Preguntele a un aborigen esquimal si un estudiante aprueba un curso de espaol.
Si no dominamos el tema, debemos hacer una REVISION BIBLIOGRAFICA en este
caso del Reglamento Estudiantil que dice:
las notas van en el rango de 0 a 5,
que se deben sacar por lo menos 3 notas en el semestre,
que la nota deinitiva es el promedio de ellas ND= (N1+N2+N3)/3 y
que el curso se aprueba con nota 3.

4. MODELANDO EL MUNDO REAL, TEJIENDO EXPRESIONES EN UN


PROGRAMA.

Ejemplos de construccion de expresiones que modelan situaciones conocidas.

Situacion problemica

Expresion

Las notas por reglamento acadmico son validas si


estn en el rango entre 0 y 5.

precondicion = nota>=0 &&


nota<=5

Una asignatura se aprueba si la nota definitiva esta


entre los topes 3 y 5.

aprueba = notaDef >= 3 && nota


Def <=5

Dado un polinomio de 2 grado a X 2 + b X = c,


calcular el valor de las raices

X = ( b (b2 4 *a * c))/2/a

una persona debe presentar declaracin de renta si sus Declara=Ingresos >= 37'000000 ||
ingresos anuales fueron superiores a los $37000.000 patrimonio>=120000.000
o a dic 31 del ao anterior tuvo un patrimonio
superior a los $120000.000.
Calculo del precio de venta PV de un producto,
conociendo el costo de adquisicion y el % de utilidad
deseado pU

PV=costo/(1- pU/100)

La pension de un hombre es el 75 % del sueldo,


siempre que sea mayor a 62 aos y lleve laborando
mas de 23 aos. La pension de una mujer es similar,
solo que la edad sea mayor a 57 aos. Asumir
genero=1 para hombres y 0 para mujeres.

Pension = (aosLaborados>=23
&& ((edad>=62 && genero==1)
||(edad>=57 && genero==0)))
*0.75*sueldo

Dados tres numeros distintos a,b, c, escribir una


expresion para hallar el numero mayor

mayor=a*(a>b && a>b)+b*(b>a


&& b>c)+c*(c>a && c>b)

Conocidos los tres lados de un triangulo, determine su


respectivo tipo 3:equilatero (3 lados iguales),

tipo=1*(a~=b && a~=c &&


b~=c)+ 3*(a==b && a==c) + 2
*((a==b && a~=c)||(b==c &&
b~=a)||(c==a && c~=b ))

2:isoceles (2 lados iguales),

1:escaleno (ningun lado igual a otro)


Haga una expresion que devuelva el nro de dias que
tiene el mes m (30 dias trae nov con abril, junio y
septiembre, de 28 solo 1, los demas de 31)

diasMes=30*(m==11||m==4||
m==6 ||m==9) + 28*(m==2) +
31*(m==1||m==3||m==5||m==7||
m==8||m==10||m==12)

Decir si un nro entero m es exactamente divisible entre divisible=mod(m,n) == 0


otro nro entero n. 1 significa que si es divisible, 0 que
no lo es.
Determine si un ao es bisiesto, 1: si es bisiesto, 0: no
lo es
Un ao es bisiesto si es divisible entre 4, pero no es
divisible entre 100, o es divisible entre 400
Determine el valor total de una factura a partir del
costo del producto, el porcentaje de utilidad deseado,
la cantidad de items comprados, un descuento del 5%
si el valor bruto > 5000000, un recargo del 2% del
valor bruto si forma de pago es a credito y agregue el
valor del IVA del 16%. (fp=1 si es a credito, 0 si es de
contado)

bisiesto=mod(ao,4)==0 &&
~(mod(ao,100)==0) ||
mod(ao,400)

PrecioV=costo/(1- pU/100)
ValorBruto: VB=cant*costo
Total=(VB0.05*VB*
(VB>5000000&&~fp)
+fp*0.02*VB)*1.16

2-Analisis: Analizar es descomponer problemas complejos en sus partes


constitutivas; historicamente ha sido comun y ha dado excelentes resultados,
utilizar la estrategia llamada DIVIDIR Y CONQUISTAR, es decir, un problema
grande lo parto en subproblemas que pueda atacar facilmente, por que
individualmente los domino, los modulos de un problema los expreso mediante la
arquitectura del programa.
Insertar diagr jerarquico

en nuestro caso, es conveniente descomponer nuestros calculos en dos etapas:


primero calcular la nota deinitiva y luego tomar la decision de si aprueba al
relacionar la nota deinitiva con el punto de referencia que es 3.0 ; o sea que en este
caso tenemos dos subprocesos.

En forma complementaria, debemos tener claro cuales son las variables de salida,
tambien llamadas variables dependientes; asi mismo queremos saber cuales son las
variables de entrada al proceso o variables independientes, ya que estas pueden
variar libremente, mientras que las variables dependientes o de salida, estan ligadas
a los valores que tomen las variables independientes.
Parte del analisis esta en las precondiciones y poscondiciones. Las precondiciones
se reieren a las condiciones que deben cumplir las variables de entrada, mientras
que las poscondiciones se reiere a las condiciones que deben cumplir las variables
de salida. Ej: Variables de entrada: nota de cada uno de los 3 cortes, n1, n2 y n3.
Precondiciones: las 3 notas deben ser numeros comprendidos en el rango entre 0 y
5, lo cual en lenguaje matematico se expresa asi: 0n15 &&0n25 &&0n35
Variable de salida: Aprueba, una variable de tipo logico que puede ser verdadera o
falsa y que equivale a 1 o 0. Poscondicion: la variable de salida debe cumplir que:
aprueba= ( 0.3*n1+0.35*n2+0.35*n3) 3.
Chequee si la expresion es correcta. Es mas facil mirar esto como dos subprocesos:
primer subproceso, calculamos la nota deinitiva, ND= 0.3*n1+0.35*n2+0.35*n3 y
segundo subproceso, decidir si el estudiante aprueba, donde mi variable de salida
aprueba=( ND 3).
Observe que durante la etapa de analisis estamos esclareciendo de QUE se trata el
problema y QUE se debe hacer, tal como lo ve un general del ejercito.
3-Diseo: Se reiere a COMO se resuelve el problema; para lo anterior cada
ingeniero debe tener una estrategia a seguir, tal como lo haria el sargento o
comandante de un grupo militar.
Es comun visualizar un programa como un proceso, que a partir de unos insumos, o
o datos de entrada produce unos resultados o salida.
El diseo se plasma basicamente como un algoritmo, el cual es una secuencia de
etapas a seguir, que da una solucion CORRECTA al problema planteado -en un
tiempo inito. Debe ser:
1. Preciso (debe indicar el orden preciso de ejecucion de cada paso),
2. Deinido (si se sigue un algoritmo dos o mas veces, debe conducir al mismo
resultado) y
3. Finito (al ejecutar el algoritmo, este debe terminar en algun momento);
En el ejemplo, la secuencia mas obvia seria:

1. ingresar el valor de las variables independientes, e inicializar las constantes.


2. chequear las precondiciones,
2a. si se cumplen, entonces desarrollo las poscondiciones; y muestro
resultados, ya que un programa que no muestre resultados es inutil.
2b.Si las precondiciones no se satisfacen, despliego un mensaje que avisa
sobre el error en los datos de entrada.
3. Fin.
Conceptualmente, un algoritmo debe cumplir con el Teorema de BOHM y JACOPINI
que dice: para que la programacion sea estructurada, los programas deben ser
propios, esto es, deben cumplir con las siguientes caracteristicas:

Tener un solo punto de entrada y un solo punto de salida.

Cualquier accion del algoritmo debe ser accessible, es decir, existe al menos un
camino o secuencia de instrucciones que va desde el inicio hasta el in del
algoritmo, que al seguirlo pasa a traves de dicha accion.

No posee lazos o bucles ininitos, ya que no terminaria.


El diseo se suele mostrar en un lenguaje, como es el Diagrama de Flujo o
alternativamente en pseudo-codigo. Nuestro ejemplo en pseudo-codigo:
INICIO
Inicializo referencia =3.0
Ingresar n1
Ingresar n2
Ingresar n3
Si n1<0 || n1 >5 || n2<0 || n2 >5 || n3<0 || n3 >5
Mostrar (Error: Sorry! Dato fuera de rango)
Sino ND=0.3*n1+0.35*n2+0.35*n3
Mostrar ND
Si ND >= referencia
Mostrar: Aprobo
Sino Mostrar: Reprobo

insi
inSi
FIN

4.Codiicacion: Es el proceso de pasar el algoritmo a un lenguaje escogido,


escribiendo un programa.
Un programa es un conjunto de instrucciones que le ordena a la computadora que
accion debe tomar, que datos debe procesar, como procesarlos, que valor se debe
dar como respuesta, etc.
Desde el punto de vista de los programas, los datos hay cuatro operaciones basicas:
Los datos se pueden:
ingresar (almacenar),
consultar(desplegar),
modiicar y
borrar.
Pero ademas, los datos se pueden:
compartir,
transportar,
ordenar, y
se puede operar con ellos (en forma aritmetica y logica)

PROBLEMA
Supongamos que se tiene un problema, digamos, hallar el valor del seno de un
angulo.
Para construir la solucion debemos seguir unas etapas: 1 nos debemos ilustrar si
existe alguna solucion practica. Haciendo REVISION BIBLIOGRAFICA, para el caso
nos encontramos que el valor del seno(x) = x x3/3! + x5/5! x7/7!+

2 planteamos el analisis: (analizar es descomponer el todo en sus partes


constitutivas)
variable de entrada: x;
precondiciones: x debe estar en radianes entre 0 y 2*pi; que equivale en
grados entre 0 y 360
variable de salida: S;
poscondiciones: S = x x3/3! + x5/5! x7/7!+
3 Diseo: Plantemos el llamado algoritmo, o sea el procedimiento que
consiste en la secuencia ordenada de etapas a seguir, generalmente tiene la
vision de proceso: un proceso tiene entrada, una caja negra que hace el
proceso y salida; el algoritmo generico es:
inicio

inicializo las constantes, si las hay


ingreso las variables de entrada,
chequeo las precondiciones,
si no se cumplen, muestro un mensaje de error y termino el
programa
si se cumplen las precondiciones, entonces
desarrollo las poscondiciones,
muestro los resultados y
termino

Ejemplo del algoritmo para el calculo del seno de un angulo


iniciar

pi=3.1416; % inicializo constantes,


grados=input('Ingrese el angulo en grados: '); % ingreso variable de
entrada,
si

(grados <= 0 && grados >= 360) %chequeo precondiciones


mostrar 'Error en los datos'; exit

sino
x=grados*pi/180;% convierto grados en radianes
x2=x^2;
x3=x2*x;
x5=x3*x2;
x7=x5*x2;
x9=x7*x2;
x11=x9*x2;
S=xx3/3!+x5/5!x7/7!+x9/9!x11/11!;
mostrar S
terminar

La codiicacion se basa en la Programacion estructurada, es decir, para saber


programar se debe dominar tres estructuras de programacion, que son:
ESTRUCTURA

SIGNIFICADO

Sequencia

signiica que las instrucciones de un programa de computador


tienen un orden especiico importante que se debe respetar.

Seleccion

signiica que a partir del valor de una variable, el programa ordena


al computador que se siga procesando un conjunto de intrucciones
u otro dependiendo de dicho valor.

Repeticion

signiica que un conjunto de instrucciones se debe procesar un nro


conocido de veces o hasta que se cumpla una condicion.

En particular, Matlab es un lenguaje predilecto para calculos numericos, soporta


programas grandes y pesados, el lenguaje es robusto, agil, practico, orientado al
usuario, que maneja facilmente las matrices y vectores de uso comun en ingenieria.
Posee varios grupos de librerias especializadas para diferentes areas disciplinares, o
ToolBox.
5.Pruebas: El programa se debe probar con varios conjuntos de datos, para
garantizar que el programa es correcto, que funciona para cualquier dato y que por
lo tanto es robusto.
6.Mantenimiento: Todo programa se puede ampliar, mejorar para hacerlo mas
rapido, ponerle titulos adecuados, corregirle problemas, etc.
Estas tapas conjuntamente, se denominan CICLO DE VIDA DEL SOFTWARE.

LA ESTRUCTURA DE SELECCION
if, quiere decir si condicional, esto es, si una condicion se satisface, el resultado
puede ser verdadero o puede ser falso. Si el resultado es verdadero se ejecuta un
cuerpo de instrucciones, si es falso, se ejecuta otro cuerpo de instrucciones distinto.
Es potestad del programador determinar el cuerpo de instrucciones apropiadas a
ejecutar en cada caso.
En caso de ser falso, el cuerpo de instrucciones se antecede con la palabra else, que
en espaol signiica, sino. Esto es para un if doble, ya que hay dos cuerpos de
instrucciones; pero, si el cuerpo de instrucciones para falso no existe, es decir, es
vacio, se trata de un if sencillo, y no lleva la palabra else. De todos modos la
instruccion if termina siempre con la instruccion end. El programa continua la
secuencia de ejecucion, con las instrucciones que prosigan a continuacion del end.
Ejemplo de un programa que determina si un numero n es par, muestra 1 si es
verdadero, 0 en caso contrario.
n=input('in grese n: ');
if mod(n,2) == 0
es_par=1;
else
es_par=0;
end

display(es_pa r)

Este es un ejemplo de if doble, ya que hay cuerpo de instrucciones tanto para la


salida verdadera como para la salida falsa. Cuando el cuerpo de instrucciones para la
salida falsa es vacio, se trata de un if sencillo.
IF anidados
Dentro del cuerpo de instrucciones para cualquiera de los casos verdadero o falso,
se puede incluir otro u otros if, que se denominan if anidados, es decir hay un if
externo y hay otro u otros if internos. Tenga en cuenta que el if interno se cierra
primero con la palabra clave end.
IF en cascada
Se trata de una estructura de seleccion if con tres o mas cuerpos. Ejemplo de un
programa que calcula el perimetro, el area y al factor de esbeltez, el programa pide
se ingrese el codigo de la igura, asi: 1.circulo;
2.rectangulo;
3.triangulo
rectangulo

Programa:
ig=input('ingrese 1 para circulo, 2 para rectangulo, 3 para triangulo rectangulo: ');
if ig == 1
r=input('ingrese el radio: ');
perim=2*pi*r;
area=pi*r^2;
fe=1;
elseif ig==2
b=input('ingrese la base del rectangulo: ');
h=input('ingrese la altura del rectangulo: ');
perim=2*b+2*h;
area=b*h;
fe=h/b;
elseif ig == 3
b=input('ingrese la base del triangulo: ');
h=input('ingrese la altura del triangulo: ');
perim=b+h + sqrt(b^2+h^2);
area=b*h/2;
fe=h/b;
else
display('Figura desconocida')
end
display(perim)
display(area)
display(fe)

PROBLEMAS PARA MODELAR


Cada estudiante hara una exposicion en clase, tomara un ejercicio de la siguiente
lista de ejercicios (en orden alfabetico por apellido) y construira una presentacion
en Power Point que contenga:
a) Revision bibliograica,
b)Ejemplo numerico,
c)Analisis (Descomposicion en subprocesos y por cada subproceso, sus variables de
entrada, precondiciones, variables de salida y poscondiciones)
d)Diagrama de lujo.
1.Conocidos los lados de un triangulo, decir si este es equilatero, isoceles o escaleno.
2.Convertir segundos a dias, horas, minutos y segundos.
3.Determinar si un numero m es divisible exactamente entre otro nro n.
4.Elaborar un programa para chequear si una fecha dada es valida, incluye aos
bisiestos.
5.Calcular la altura H de un ediicio, si un observador que mide h mts, situado a D
metros del ediicio, mide un angulo de elevacion de cuando mira a lo alto del
mismo. (Trigonometria)
6.Dado un numero, determinar si es impar o par.
7.Convertir peso dado en kilos a libras (sin decimales) y el resto onzas (sistema
ingles a sistema metrico) o viceversa.
8.Convertir metros a pies y el resto a pulgadas (Sistema Ingles a sist metrico) o
viceversa.
9.Dados tres numeros distintos, hallar el nro mayor.
10.Convertir coordenadas rectangulares a coordenadas polares o viceversa.
11.Calcular la cuota mensual constante para pagar un credito a n meses conociendo
la tasa de interes. (Matematica inanciera)
12.Conocer la distancia recorrida por un objeto acelerado uniformemente que parte
con una velocidad inicial Vo. (Fisica mecanica)

13.Predecir en nro de bacterias presente en un alimento, sabiendo que estas se


duplican cada hora, y que el alimento se agota despues del 5 dia, siendo Po la
poblacion inicial. (Microbiologia)
14.Estimar la poblacion de una ciudad en n aos, si se sabe que el crecimiento anual
es del R % anual y actualmente la poblacion es Po. (Demograia)
15.Calcule la velocidad de una reaccion quimica en funcion de la temperatura, para
un compuesto cuya energia de activacion es de 1E5 Jouls/mol y el factor de
frecuencia es de 7E16. (Ecuacion de Arrhenius).
16. Un gas contenido en un recipiente de volumen constante tendra una presion P
que depende de la temperatura T y el nro de moleculas encerradas. Calcular la
Presion. (Estequiometria)
17. En la biblioteca se prestan libros por 7 dias calendario; utilizar el almanaque
completo, para determinar la fecha de vencimiento del prestamo.
18. Liquidar una factura de venta de un producto ABC, a partir de cantidad pedida,
costo de produccion, % de utilidad, descuento (5%) por compras mayores de un
tope (5000.000), recargo por pago a credito (1%) e IVA del 16% sobre el precio
inal. (Comercio)
19.Hallar las raices de un polinomio de segundo grado (a*X 2 + b*X + c = 0). Revision
bibliograica: la raiz de un polinomio es el valor que toma la variable X, cuando la
variable Y se iguala a cero. Un polinomio de segundo grado tiene 2 raices. Para
hallar X, el polinomio se iguala a 0 y se despeja X.
partiendo de a X2 + b X +c , lo igualo a 0
resto c a ambos lados: a X 2 +b X= c
multiplico *(4a) a ambos lados: 4 a 2 X2 + 4 a b X = 4 a c
le sumo b2 a ambos lados: 4 a2 X2 + 4 a b X +b2 = 4 a c + b2
ahora, el lado derecho es un cuadrado perfecto, asi que lo reemplazo por su
equivalente: (2 a X + b) 2 = b2 4 a c; saco a ambos lados: 2 a X + b = (b 2 4 a c)
resto b a ambos lados: 2 a X = b (b 2 4 a c) y inal/. divido entre (2 a) a ambos
lados: X = ( b (b2 4 a c))/(2 a).
Esta es la poscondicion. Los signos me originan el valor para dos raices, una con el
signo + y la otra con el signo .
Precondiciones: tener presente que hay dos potenciales situaciones de riesgo, una
cuando el denominador es 0 y la otra cuando el valor bajo el radical es negativo,

situaciones que se deben chequear en el programa, para tratarlas adecuadamente y


garantizar que los resultados arrojados son correctos, entonces lograremos un
programa robusto.
20.Hacer una programa para calcular las areas, los perimetros y el factor factor de
esbeltez de una de 4 iguras geometricas, como son: circulo, triangulo equilatero o
isoceles, rectangulo o trapecio. El factor de esbeltez es la relacion de su altura a su
base. (Geometria). Hint: utilice una variable de entrada, llamada igura, que puede
asumir los valores de 1 a 4, segun la tabla:
Codigo

igura

circulo

rectangulo

triangulo

trapecio

21.Determinar los letes de carga, si la tarifa es de $15.000 por kilometro por


tonelada o por metro3; Se atiende segun la disponibilidad de camiones, primero se
atiende a quien primero solicito servicio. Hay un recargo del 30% por servicio
express (si no se quiere esperar su turno). Hay un descuento del 20% por cada
solicitud que llena uno o varios contenedores completos de 30 toneladas o 30 m3.
Ej: un pedido de 44 tons, tiene un precio, hay un descuento en las primeras 30 tons,
pero hay tarifa plena en las 14 tons restante. El servicio paga IVA.
22.Hacer un programa que devuelva un valor dado redondeado a d decimales.
Ejemplo: redondear 3,5466 con 2 decimales=3,55
Hint: Resultado= ix (valor*10^d + 0.5)/10^d
23. Determine el indice de masa corporal de una persona, en funcion de su peso y su
talla: IMC=peso/talla^2.
Analisis

Resultado

IMS 19

Desnutricion

20 < IMS 25

Normal

26 < IMS 29

Sobrepeso

30 < IMS

Obeso

Anda mungkin juga menyukai