Vous êtes sur la page 1sur 100

INSTITUTO UNIVERSITARIO PUEBLA

ANTONIO ALVAREZ DE LA CRUZ


MAESTRO EN ADMINISTRACIÓN DE TECNOLOGÍA DE LA INFORMACIÓN
INGENIERO EN SISTEMAS COMPUTACIONALES

MATERIA:
PROGRAMACION Y MANEJO DE SOFTWARE PARA INGENIERIA.
FORMA DE EVALUACIÓN

1.- Examen 40%


2.- Investigación 20%
3.- Participación 10%
4.- Practica 20%
5.- Asistencia 10%
Total: 100%
PROGRAMACION Y SOFTWARE

LA PROGRAMACIÓN
Se define como programación al proceso de dotar a la computadora
de un método para resolver un problema tipo y entregar un resultado.

Se dice también que un programa esta compuesto de dos partes:

• El código, que consiste en el conjunto de acciones a ejecutar, en programación a


cada acción básica se la denomina genéricamente como instrucción. Cada
instrucción podrá estar compuesta de un conjunto de elementos los cuales
estudiaremos mas adelante.

• La estructura de datos que consiste en la disposición de memoria elegida para


almacenar los datos necesarios para resolver el problema, ya sea los parámetros o
datos de entrada, los resultados intermedios o datos de proceso y la información
resultante o datos de salida. A estos datos en programación se los denomina
genéricamente como variables.
Para comprenderlo mas organizadamente, podemos decir que este
proceso de programación se divide en las siguientes tareas:

1. Comprensión del problema.

2. Idear una solución que sea lo mas general posible.

3. Enunciar un algoritmo de resolución.

4. Codificarlo en un lenguaje de programación.

5. Implementarlo, o dicho de otra manera, hacer que la maquina pueda traducirlo a


su propio código binario.

6. En forma paralela a los pasos anteriores, preparar un lote de prueba.

7. Ejecutar el programa y validarlo mediante el lote de prueba, si se encuentran


errores lógicos, corregirlos, o sea, volver al punto 3 o 4 según el nivel de error.
CODIGO:
El código podemos verlo como un texto que describe la receta que se debe aplicar
para realizar una tarea compleja de procesamiento de datos. Pero....Con que
objetivo se define este texto?

SINTAXIS:
Se define un conjunto de palabras reservadas que en algunos lenguajes son
denominadas tokens. Estas palabras solo pueden utilizarse en un único sentido, el
que se asigne como definición en el lenguaje.
Las palabras reservadas y su significado son:
En los lenguajes de programación hay multitud de comandos pero en el
pseudocódigo vamos a enfocarnos solamente en tres ya mencionados:

• Escribir
• Leer
• <- (asignar)

Sentencias

Son oraciones declarativas que sirven para dividir la secuencia de


ejecución en bloques que incluyan instrucciones u otras sentencias (a
estas se las denomina sentencias anidadas) que se ejecutaran en
forma grupal, delimitando donde comienza y donde termina este
bloque.
Las sentencias son:

• Proceso … / finProceso
• Si … Entonces / Sino /finSi
• Mientras ... Hacer / finMientras
• Repetir / Hasta que ...
• Para … <- … Hasta ... Hacer / finPara
• Segun … Hacer / deOtroModo: /
finSegun
Estructura de datos:
La estructura de datos esta formada por el conjunto de datos variables que
requiere el programa. Los datos constantes no forman parte de la estructura de
datos ya que estos, por el mismo hecho de ser constantes, se almacenan como
parte del código.
Los lenguajes de programación definen su propias reglas para la definición de las
estructuras de datos, pero en el caso del pseudocódigo resumiremos esas reglas
en la siguientes:
Las variables se definen por un nombre y un tipo primitivo.
Respecto al nombre, cada variable debe poseer un nombre único.
Respecto a los tipos primitivos de datos, existen tan solo tres:

• El tipo lógico o booleano, el cual representa un dato que puede tener solo dos
posibles valores: verdadero o falso.
• El tipo numérico, el cual representa un dato que puede operarse
matemáticamente, por ejemplo una medida, el resultado de un calculo, etc. este
valor debe pertenece al conjunto de números reales o entero.
• El tipo alfanumérico, el cual representa un dato que no es matemático, por
ejemplo un nombre, una denominación, un código, etc. a los alfanuméricos
también se los conoce como strings o cadenas de texto.
Expresiones
Consiste en el resultado de un calculo, una expresión esta compuesta por datos
afectados por operadores y/o funciones..
Un operador es un símbolo que representa una operación entre datos. Algunos son
muy conocidos como por ejemplo + y - (la suma y la resta), pero hay muchos mas.

Una función es un proceso definido que se hace con uno o varios datos y del cual
se obtiene un único resultado. Por ejemplo las funciones trigonométricas seno(),
coseno(), etc.
Operadores:
Los operadores pueden ser de los siguientes tipos: matemáticos, relacionales,
lógicos y por ultimo un operador llamado concatenación.

• Operadores matemáticos son la suma ( + ), la resta ( - ), la división ( / ), la


multiplicación ( * ), la potenciación ( ^ ) y el modulo o resto de la división ( % ). El
resultado de una operación matemática es un tipo numérico.
• Operadores relacionales son: el mayor ( > ), menor ( < ) e igual ( = ) y sus
operaciones complementarias: menor o igual ( <= ), mayor o igual ( >= ) y distinto (
<> ) respectivamente. El resultado es un tipo lógico ya que nos dice si la relación
es verdadera o falsa.
• Operadores lógicos: se utilizan para unir subexpresiones de tipo lógico, ellas son
la conjunción AND ( & ) la disyunción OR ( | ) y el complemento NOT ( ~ ), el
resultado es un tipo lógico siguiendo las reglas de las tablas de verdad del algebra
de booleano.
• Operador de concatenación: es el único operador que permite operar entre si
dos datos de tipo alfanumérico, el resultado es una cadena de texto que contiene
las dos cadenas unidas una continuación de la otra.
Reglas de precedencia:

1. Potenciación (^).
2. Multiplicación (*), división (/), y el resto de la división (%).
3. sumas y restas.
4. operadores relacionales.
5. operador lógico ~ (not).
6. operador lógico & (and).
7. operador lógico | (or).
Comenzando a programar:
Algoritmo de suma:

Se necesita confeccionar un programa que sume dos números y nos muestre el


resultado.

Calcular el área de un triángulo conociendo el largo de los 3 lados.

Área = (base x altura) / 2.

Registrar las 5 calificaciones de un alumno y calcular el promedio final.

Calcular la siguiente ecuación de dos incógnita:


Z = 3X2 + 2Y - 5
Ejercicios

• Se necesita hacer un programa que lea un valor entero, lo doble, se multiplique


por 25 y visualice el resultado.

• Diseñar un programa que lea cuatro variables y calcule e imprima su producto,


su suma, y su promedio.

• Diseñar un programa que le el peso de un hombre en libras y nos devuelva su


peso en kilogramos y gramos (Nota: una libra equivale a0.453592 kilogramos)

• Calcular el sueldo de un empleado por horas.

• Programar la siguiente expresión aritmética:

𝑥+𝑦
• N=
𝑦−1
• Hacer un algoritmo para calcular el promedio de calificaciones de un
estudiante. Los datos disponibles son el Nombre y las cuatro calificaciones de
los exámenes. Las la información requerida es el nombre y el promedio de las
calificaciones.

• Similar al anterior, con la diferencia de que en lugar del promedio se obtiene


una calificación final multiplicado las calificaciones 1, 2, 3 y 4 por los
porcentajes 30,20, 10 y 40%, respectivamente y sumando los productos.
SOFTWARE
Programas de ordenador y la documentación asociada. Los productos de
software se puede desarrollar para algún cliente en particular o para un
mercado en general.
Solución de Sistemas de Ecuaciones
Lineales.

Subtema: Sistemas de Ecuaciones Lineales.

•Gauss,
•Gauss-Jordan,
•Descomposición LU
•Matriz Inversa
MATLAB

MATLAB es un entorno de computación y desarrollo de aplicaciones


totalmente integrado orientado para llevar a cabo proyectos en donde
se encuentren implicados elevados cálculos matemáticos y la
visualización gráfica de los mismos. MATLAB integra análisis
numérico, cálculo matricial, proceso de señal y visualización gráfica en
un entorno completo donde los problemas y sus soluciones son
expresados del mismo modo en que se escribirían tradicionalmente,
sin necesidad de hacer uso de la programación tradicional.
EJEMPLO DE UN PROGRAMA: MESA

Software que es utilizado para la exploración sísmica, para los puntos


de perforación
El programa MESA es una poderosa herramienta para el diseño y
análisis de un estudio 3D, bien sea en ambientes terrestres, marinos o
transicionales. Las herramientas de gestión de imágenes, líneas de
contornos y archivos DXF permiten un mejor manejo de los obstáculos o
problemas de permisos en la etapa de planeación, reduciendo de esta
forma el tiempo y costo de la adquisición en campo.
PROGRAMACION EN MATLAB
Operaciones Aritméticas:

Operadores Relacionales
Operadores Lógicos:

Combinaciones:
Caracteres Especiales:
OPERADOR DE ASIGNACION

EN MATLAB, símbolo = se llama operador de asignación. Este


operador asigna un valor a una variable.

nombre-_de_variable = valor numérico o expresión computable


Otro ejemplo de utilización de variables previamente definidas para
crear nuevas variables.
Así, si repetimos el ultimo ejemplo utilizando punto y coma
Uso básico de MATLAB
Manejo de variables:
Manejo de expresiones:
Manejo de comandos:

Comandos básicos de programación


Para la estructura de programación en MATLAB se requiere conocer por lo
menos los siguientes comandos:

Comando END

Determina hasta cual orden llega el efecto de if, for, y while. (Para ejemplos de su
uso ver if, while y for)

Comando IF
Verifica si se cumple cierta condición, y de acuerdo a si se cumple o no realiza
la acción que se desee.
La sintaxis de la orden es:
if (condición), (ordenes 1) [else, (ordenes 2)] end;
Donde las ordenes entre [ ] son opcionales.

(ordenes 1) son las ordenes que se realizarán si (condición) se cumple.


(ordenes 2) son las ordenes que se realizarán si (condición) NO se cumple.
(condición) Puede ser:

• a == b (verifica si a es igual a b)
• a < b (verifica si a es menor que b)
• a > b (verifica si a es mayor que b)
• a <= b (verifica si a es menor o igual que b)
• a >= b (verifica si a es menor o igual que b)
• a ~= b (verifica que a y b sean diferentes
El siguiente ejemplo ilustra el uso de if:
%Ejemplo de uso de if.
n=0;
if n==0,
n % al escribir una expresión sin punto y coma final, MATLAB escribe
% su resultado en pantalla.
else,
n=1
end;

n = 2;
if n == 0,
n
else,
n =1
end;
La salida que se obtiene con el programa anterior es la siguiente:
n=
0
n=
1
Donde el 0 (cero) proviene de entrar al primer if, y el 1 (uno), de entrar al else del
segundo if.
Sistemas de Ecuaciones Lineales

Los sistemas de ecuaciones lineales se utilizan para resolver muchos


problemas de la ciencia y la ingeniería.

La solución numérica de dichos sistemas la forman una gran variedad


de algoritmos, como eliminación de Gauss, Gauss-Jordan, Gauss-
Seidel, Montante, Jacobi, Lu y Cholesky entre otros, que de una
manera u otra resuelven el sistema de ecuaciones lineales (si tiene
solución).
ECUACIONES
Ecuaciones entera de primer grado.
Igualdad: es la expresión de que dos cantidades o expresiones
algebraica tiene el mismo valor.
Ejemplo: a = b + c 3X2 = 4x + 15
Ecuación: es una igualdad en la que hay una o varias cantidades
desconocidas llamadas incógnitas y que solo se verifica o es
verdadera para determinados valores de las incógnitas.

Las incógnitas se representan por las ultimas letras del alfabeto:

X, Y, Z, U , V

Así 5X + 2 = 17

Es una ecuación, porque es una igualdad en la que hay una incógnita,


la X, Y ésta igualdad solo se verifica, o sea que solo es verdadera,
para el valor X = 3.
ENUNCIADO DEL PROBLEMA.

Aplicación de los comandos y funciones MatLab para la solución numérica de


sistemas de ecuaciones lineales en ingeniería y su implementación, así como
el empleo de las funciones gráficas de MatLab para representar
geométricamente dichos sistemas.

Por sistema de ecuaciones lineales se entiende un conjunto de ecuaciones


que deben resolverse simultáneamente y que presentan la siguiente
estructura:
El sistema de M ecuaciones algebraicas lineales con N incógnitas puede escribirse
en forma matricial como:

La matriz de coeficientes A se llama matriz del sistema. La matriz formada por A, a


la que se le ha agregado el vector de términos independientes B como última
columna, se le llama la matriz ampliada o matriz aumentada del sistema de
ecuaciones, que se representa por [A | B] y X es el vector de incógnitas.
Antes de proceder a resolver un sistema de ecuaciones es necesario
determinar si dicho sistema tiene o no solución y, en caso de tenerla,
cuántas posibles soluciones tiene. A continuación se presentan las
diversas alternativas:
Si el vector de términos independientes B del sistema dado es diferente
de cero se dice que el sistema de ecuaciones es no homogéneo y en
caso contrario el sistema es homogéneo.

Sistema compatible o consistente. Es aquél que tiene solución y en


este caso se cumple que (Teorema de Rouché-Frobenius):

rango[A] = rango [ A | B ]

El rango de una matriz es el número de columnas linealmente


independientes. También es el orden de determinante no nulo de
mayor orden que puede obtenerse de esa matriz.

Sistema incompatible o inconsistente. Es aquél que no tiene solución y


cumple la relación:

rango[A] < rango [ A | B ]


Sistema determinado. Es un sistema compatible que presenta solución
única y en este caso se verifica que:

rango[A] = número de incógnitas

Un sistema homogéneo que es determinado tiene únicamente la


solución trivial X=0.

Un sistema compatible que presenta infinidad de soluciones se conoce


como sistema indeterminado y se caracteriza por:

rango[A] < número de incógnitas


COMANDOS Y FUNCIONES MATLAB PARA SOLUCIÓN NUMÉRICA DE LOS
SISTEMAS DE ECUACIONES LINEALES.
La siguiente tabla muestra las funciones y comandos empleados en MatLab para
la solución numérica de sistemas de ecuaciones lineales, valores característicos
(eigenvalores) y vectores característicos (eigenvectores) de una matriz no singular.
COMANDOS Y FUNCIONES MATLAB PARA SOLUCIÓN NUMÉRICA DE LOS
SISTEMAS DE ECUACIONES LINEALES.
COMANDOS Y FUNCIONES MATLAB PARA SOLUCIÓN NUMÉRICA DE LOS
SISTEMAS DE ECUACIONES LINEALES.
Operadores Aritmética en MATLAB
COMO INICAR EN MATLAB
COMO PRINCIPIAR A TRABAJAR CON MATLAB
Suma y División
sqrt
Método de Eliminación de Gauss.
El software MatLab encuentra la solución de ecuaciones algebraicas lineales
simultáneas, dadas en (3.1), mediante el método de eliminación de Gauss usando
la forma dada en el sistema (3.2) mediante la operación: X = A \ B. Es decir, usa el
operador aritmético “ \ “ (División izquierda de la matriz).

Ejemplo 1. Resuelve el siguiente sistema de ecuaciones lineales por el método de


eliminación de Gauss:
Solución:
Escribiendo el sistema de matrices dado en forma de vectorial, tenemos:
Con ayuda de MatLab podemos visualizar el comportamiento gráfico del sistema
de ecuaciones lineales dado en X, Y y Z Usando el comando surf para graficar,
tenemos;
Método de la Matriz Inversa
Es aplicable si el sistema tiene igual número de ecuaciones que de incógnitas
(matriz cuadrada) y el determinante de la matriz de coeficientes A es distinto de
cero. Es decir, resuelve sistemas compatibles determinados (no-homogéneos). Por
medio de MatLab, la solución del sistema se hace mediante la operación X =
inv(A)*B. Se fundamenta en:

Ejemplo 4. Resuelve los sistemas dados en (3), (4) y (5) por el método de la matriz
inversa.
Solución:
Escribiendo las instrucciones de MatLab tenemos:
Método de Gauss-Jordan
Es una variante del método de Gauss y resulta ser más simple al final del proceso,
ya que no es necesario despejar las variables, pues la solución se obtiene
directamente. Se basa en diagonalizar la matriz de coeficientes, esto es, obtener la
matriz identidad, que consiste en hacer 1 la diagonal principal y 0 los demás
elementos de la matriz (Matriz escalonada) . MatLab calcula la solución del sistema
mediante el comando X=rref([A,B]).

Ejemplo 5. Resuelve los sistemas dados en (3), (4) y (5) por el método de Gauss-
Jordan.

Solución:

MatLab encuentra la solución convirtiendo la matriz A en matriz identidad I y la


última columna es el vector solución del sistema.

Utilizando el comando rref para resolver los sistemas mencionados, tenemos:


Métodos de Descomposición (Factorización)
Descomposición LU
Cuando tenemos un sistema de ecuaciones con incógnitas Ax = b , donde A es la
matriz de coeficientes (cuadrada de orden NxN), sabemos que el sistema tiene
solución única si y sólo si el determinante de la matriz es no nulo, esto es, la matriz
es invertible. Entonces, para resolver el sistema hay que multiplicar ambos lados
de la ecuación, por la inversa de la matriz A. Sin embargo, calcular la inversa de la
matriz es un proceso tedioso manualmente, en lugar de eso, introduciremos el
concepto de factorización triangular.

Entonces, para encontrar la solución del sistema de ecuaciones lineales, la


descomposición LU se reescribe como:

Para llevar a cabo la descomposición (factorización) LU de una matriz no singular


A, MatLab usa el comando lu(A) y obtiene la solución del sistema de ecuaciones
lineales mediante la operación: X = U \ ( L\ B).
Ejemplo 7. Resuelve los sistemas dados en (3), (4) y (5) usando la
descomposición LU.

Solución:
Escribiendo las instrucciones en la ventana de comandos de MatLab tenemos:
Ejercicio 1. Uso del Método de Eliminación de Gauss,

Resuelva el siguiente sistema de ecuaciones lineales con tres incógnitas

6X1 + 3X2 + 6X3 = 30


2X1 + 3X2 + 3X3 = 17
X1+ 2X2 + 2X3 = 11

usando el método de eliminación de Gauss, matriz inversa, método de gauss-


jordan y el método de descomposición LU
Vectores fila
La introducción de vectores fila en MATLAB es muy fácil. Introdúzcase el siguiente
comando en la pantalla de MATLAB:

>> v=[1 2 3]

Hay una serie de ideas a destacar en este comando. Para introducir un vector, se
escribe una apertura de corchete, los elementos del vector separados por espacios
y un cierre de corchete. Se pueden usar también comas para delimitar las
componentes del vector

>> v=[1,2,3]

El signo = es el operador de asignación de MATLAB. Se usa este operador para


asignar valores a variables. Para comprobar que el vector fila [1,2,3] ha sido
asignado a la variable v introdúzcase el siguiente comando en el indicador de
MATLAB.
>> v
Rangos.
Algunas veces es necesario introducir un vector con componentes a intervalos
regulares. Esto se realiza fácilmente con MATLAB con la estructura inicio:
incremento: fin. Si no se proporciona un incremento, MATLAB asume que es 1.

>> x1=0:10

Se puede seleccionar el propio incremento.

>> x2=0:2:10
Se puede ir incluso hacia atrás.

>> x3=10:-2:1

O se le puede echar imaginación.

>> x4=0:pi/2:2*pi
PROGRAMACION EN MATLAB
Un programa de ordenador es una secuencia de comandos, también denominado
instrucciones. En un programa sencillo los comando se ejecutan uno de tras de
otro en el orden que son tecleado. Hasta ahora todos los programas que se han
presentado , tanto en ficheros script como en ficheros de función, son por lo
general programa muy sencillo.

Operaciones relacionales y lógicas


Los operadores relacionales en MATLAB son:
Ejemplos:
GRAFICAS BIDIMENCIONALES EN MATLAB

Las graficas son herramientas muy utilizadas para presentar todo tipo de
información; información que puede proceder en cualquier campo del
conocimiento. Las graficas se pueden personalizar para que tengan las apariencias
deseadas.
COMANDO PLOT

El comando PLOT se utiliza para crear graficas bidimensionales. La forma mas


sencilla de utilizar este comando es la siguiente:

Plot( x y ) Vector x, vector y


Realizar el ejercicio de esta gráfica
Tarea :

Utilización de comandos line y ejemplo

Vous aimerez peut-être aussi