Está en la página 1de 18

GUÍA DE APRENDIZAJE

SEMANA N° 08
CURSO: Programación de Ingeniería
DOCENTE: Ing. Frans Fuentes Maza

Jaén – Perú, octubre 2022


Facultad de Ingeniería

Escuela Profesional de Ingeniería


Mecánica y Eléctrica
ÍNDICE
1. INTRODUCCIÓN ........................................................................................................................... 3
2. OBJETIVOS EDUCACIONALES Y RESULTADOS DEL ESTUDIANTE ............................... 4
3. DESARROLO ................................................................................................................................. 4
3.1. Estructura general de un programa ............................................................................................... 4
4. ACTIVIDADES Y EVALUACIÓN.............................................................................................. 16
ACTIVIDAD 1:.............................................................................................................................. 16
EVALUACIÓN 1: ......................................................................................................................... 16
5. GLOSARIO ................................................................................................................................... 18
5.1. Glosario de términos ............................................................................................................. 18
6. REFERENCIAS ............................................................................................................................ 18

2
SEMANA N° 08 – Programación de Ingeniería
Facultad de Ingeniería

Escuela Profesional de Ingeniería


Mecánica y Eléctrica
1. INTRODUCCIÓN

En el mundo de la ingeniería a menudo se emplea ciertas metodologías para la solución de los problemas en
lugar de actuar de forma improvisada, siendo una característica relevante el análisis de los mismos. Las
personas de forma natural lo emplean en su vida diaria en ciertas conductas que son rutinarias, siguiendo un
orden una secuencia y pretenden alcanzar un objetivo.

Es importante señalar que en el ámbito de la programación antes de resolver un problema mediante la


computadora se recomienda realizar primero el algoritmo, ya que es aquí donde se encuentra la solución
universal de la problemática en cuestión. Para resolver un problema se pueden desarrollar diversos algoritmos,
existen en ocasiones múltiples soluciones, pero dentro de ellas existen las que son más eficientes y es aquí
donde la habilidad del desarrollador juega un papel importante

Los algoritmos de pueden representar mediante Diagramas de flujo de datos y Pseudocódigo y estos serán
programados en un determinado lenguaje de programación, como se muestran en la figura 1:

Figura 1. DFDs y Pseudocódigo

INICIO
DECLARAR “cm” y “Pulg”
INGRESAR “cm”
Pulg = cm / 2.54
MOSTRAR “Pulg”
FIN

En la semana ocho veremos los siguientes contenidos: Estructura general de un programa, palabras reservadas y
representación de datos básicos

En consecuencia, además del guía de aprendizaje semanal, contarán con materiales complementarios como
actividades planteados, que servirán para reforzar el aprendizaje.

3
SEMANA N° 08 – Programación de Ingeniería
Facultad de Ingeniería

Escuela Profesional de Ingeniería


Mecánica y Eléctrica
2. OBJETIVOS EDUCACIONALES Y RESULTADOS DEL ESTUDIANTE

El graduado de la Carrera Profesional de Ingeniería Mecánica y Eléctrica de la Universidad Nacional


de Jaén cumplirá los siguientes Objetivos Educacionales:
N° Objetivo Educacional
Se desempeña profesionalmente de forma competente para gestionar, mediante la
planificación, el diseño, la construcción, el mantenimiento y/o el mejoramiento,
OE1
sistemas energéticos y electromecánicos.
Se desempeña con profesionalismo, para Desarrollar Investigación científica y
0E2 tecnológica con carácter innovador, para el desarrollo y la solución de problemas
con énfasis en las diversas áreas de la Ingeniería Mecánica y Eléctrica.
Se desempeña profesionalmente de forma competente para formular proyectos
0E3 sostenibles en el ámbito de la Ingeniería Mecánica Eléctrica con responsabilidad
social y principios éticos y humanistas.

Esta semana la guía de aprendizaje contribuye con el logro de capacidades correspondiente al


resultado:

RE-I01: Conocimientos de Ingeniería: La capacidad de aplicar conocimientos de


matemáticas, ciencias e ingeniería en la solución de problemas complejos de ingeniería.

RE-I03: Diseño y Desarrollo de Soluciones: La capacidad de diseñar soluciones para


problemas complejos de ingeniería y diseñar sistemas, componentes o procesos para satisfacer
necesidades deseadas dentro de restricciones realistas en los aspectos de salud pública y
seguridad, cultural, social, económico y ambiental.

RE-I05: Uso de Herramientas Modernas: La capacidad de crear, seleccionar y utilizar


técnicas, habilidades, recursos y herramientas modernas de la ingeniería y las tecnologías de
la información, incluyendo la predicción y el modelamiento, con la comprensión de sus
limitaciones.

3. DESARROLO
3.1. Estructura general de un programa
3.1.1. Programa
Un programa es la secuencia de instrucciones lógicamente ordenadas que pueden ser ejecutadas en una
computadora. El proceso de escritura o codificación de un programa se denomina programación y es realizado en
un lenguaje de programación.
4
SEMANA N° 08 – Programación de Ingeniería
Facultad de Ingeniería

Escuela Profesional de Ingeniería


Mecánica y Eléctrica
3.1.2. Bloque de Instrucciones
Constituido por un conjunto de operaciones y la secuencia de instrucciones que se han de realizar para la obtención
de los resultados deseados. Dentro de éste bloque se diferencian tres partes fundamentales:
– Entrada de datos: instrucciones que toman datos de un dispositivo externo.
– Proceso: instrucciones que modifican/procesan los datos.
– Salida de resultados: instrucciones que toman los datos finales de la memoria central y los envía a
dispositivos externos.
Ejemplo
Inicio
Definir variables E, KW, P
Ingresar: "Ingrese la cantidad energía eléctrica consumida en (Kw)"
Leer E
Ingresar "Ingrese el costo de cada (Kw)"
Leer KW
P=E*KW
Mostrar “El monto a pagar por el consumo de ENERGÍA ELÉCTRICA es
de: ", P " nuevos soles"
Fin

Lo que está en color verde son el bloque de instrucciones

Elementos de un programa

- Palabras reservadas (inicio, fin, si-entonces..., etc.),


- identificadores (nombres de variables esencialmente, procedimientos, funciones, nombre del programa,
etc.),
- caracteres especiales (coma, apóstrofo, etc.),
- constantes,
- variables,
- expresiones,
- instrucciones.
Además de estos elementos básicos, existen otros elementos que forman parte de los programas, cuya
comprensión y funcionamiento será vital para el correcto diseño de un algoritmo y naturalmente la codificación
del programa.Estos elementos son:
- bucles,
- contadores,
5
SEMANA N° 08 – Programación de Ingeniería
Facultad de Ingeniería

Escuela Profesional de Ingeniería


Mecánica y Eléctrica
- acumuladores,
- interruptores,
- estructuras:

✓ secuenciales,

✓ selectivas,

✓ repetitivas
La metodología consta de un conjunto de fases que se deben realizar al momento de solucionar un problema
mediante el computador.

Estas fases son:

1. Análisis del problema.


Análisis del problema Esta fase se desarrolla con el propósito de comprender el problema y saber exactamente qué
es lo que se desea obtener como resultado

2. Diseño del algoritmo.


Clarificado lo anterior, corresponde ahora diseñar el algoritmo de solución, en otras palabras, se debe pensar en el
proceso y las acciones que este debe contener, para conseguir la solución al problema

3. Codificación en un Lenguaje de programación.


La representación de algoritmos se realiza usando lenguajes específicos para tal propósito.

4. Compilación y ejecución.
Se realiza en el lenguaje de programación elegido

5. Verificación y depuración.
Se verifica si el algoritmo diseñado es correcto

Estructuras de control
Podemos utilizar estructuras selectivas que pueden ser:

- simples,
- dobles,
- anidadas y múltiples

También podemos utilizar estructuras repetitivas:

- FOR
- DO WHILE
6
SEMANA N° 08 – Programación de Ingeniería
Facultad de Ingeniería

Escuela Profesional de Ingeniería


Mecánica y Eléctrica
- WHILE

Matlab

MATLAB (abreviatura de MATrix LABoratory, «laboratorio de matrices») es un sistema de cómputo


numérico que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programación propio
(lenguaje M). Está disponible para las plataformas Unix, Windows, macOS y GNU/Linux.

Las aplicaciones de MATLAB se desarrollan en un lenguaje de programación propio. Este lenguaje es


interpretado, y puede ejecutarse tanto en el entorno interactivo, como a través de un archivo de script
(archivos *.m). Este lenguaje permite operaciones de vectores y matrices, funciones y programación
orientada a objetos.

Un programa de MATLAB no es más que una sucesión de ordenes (sentencias) guardadas en un fichero
con extensión *.mat, al teclear el nombre del fichero (lo que en MATLAB se conoce como un script)
todas sus sentencias se ejecutan secuencialmente. Por tal motivo presentamos los principales elementos
que nos permitirán construir nuestros primeros programas en Matlab:
1. Variables (etiquetas que permiten acceder a los datos)
2. Entrada / salida en la ventana de comandos.
3. Operadores (aritméticos, lógicos, comparaciones)
4. Sentencias de control de flujo del programa: condiciones y bucles.
Variables
Una variable es un espacio en memoria para almacenar un valor de un determinado tipo de dato dentro
de un programa. El valor de la variable puede ser modificado durante la ejecución del programa. Los
nombres de las variables pueden contener letras y números.

Las variables en cualquier lenguaje de programación son etiquetas que se asignan a un dato (o tabla de
datos) y nos permiten acceder a su contenido, operar con él, modificarlo, etc.

Al contrario que C o Pascal, MATLAB no precisa una declaración previa de las variables que vamos a
usar al principio del programa.

En cualquier momento podemos inicializar una nueva variable que precisemos simplemente asignándole
un valor.

Si intentamos usar una variable no inicializada, MATLAB da error. Las variables creadas dentro de la
ventana de comandos pueden observarse en el workspace y están siempre disponibles a menos que se
eliminen con el comando clc. 7
SEMANA N° 08 – Programación de Ingeniería
Facultad de Ingeniería

Escuela Profesional de Ingeniería


Mecánica y Eléctrica

> x=2; y=3; z=[l:l0]


>
> clc z; % Elimina variable z
>
> clc % Elimina todas las variables
> pueden observar, no es necesario declarar el tipo de datos que contiene la variable x. A menos que
Como
se indique lo contrario, Matlab trabaja por defecto con arreglos.
Entrada de datos
Para introducir datos durante la ejecución de un programa se puede usar el comando input que nos
permite pedir al usuario que introduzca un valor, acompañándolo de una pequeña descripción:

>> temp=input ('Introduzca la temperatura (Celsius) ');

>> Introduzca la temperatura (Celsius) 27

Al llegar a la sentencia MATLAB nos muestra el texto y espera a que introduzcamos una respuesta. Tras
presionar Enter el dato introducido es asignado a la variable que hallamos usado. Si MATLAB no
entiende lo que escribimos vuelve a preguntarnos. Sin embargo, MATLAB no verifica que el tipo de
dato sea el esperado. Esto es responsabilidad del usuario usando funciones como isnumeric, ischar,
isletter, etc.
Salida de datos (fprintf)
Omitiendo el punto y coma MATLAB vuelca el contenido de una variable a la ventana de comandos.

- El formato de esta salida, como por ejemplo nº de decimales, etc se cambia con el comando
format.

- En la práctica un control más preciso de la salida se consigue con el comando fprintf, que además
nos permite además mezclar valores de variables (de todo tipo) y un texto descriptivo en la salida.

- Los argumentos básicos fprintf consisten en una cadena de texto de formato y la lista de variables a
volcar.
>> fprintf(formato, varl,var2,var3,...)

- La cadena formato se delimita con comillas simple e incluye texto descriptivo e instrucciones
(precedidas por %) sobre como formatear cada variable.

- En la salida los valores de las variables (cada una con un formato propio) se intercalan con el
texto descriptivo apareciendo en loslugares donde insertamos su descripción de formato.
8
SEMANA N° 08 – Programación de Ingeniería
Facultad de Ingeniería

Escuela Profesional de Ingeniería


Mecánica y Eléctrica
Formatos básicos de fprintf.

Comando Descripción Comando Descripción

\n Salto de línea \t Inserta espacio (tab)

%d, %i Volcar entero %c Volcar un solo

%x, %X Formato hexadecimal %s carácter


Cadena de texto

%f Volcar double %e, %E Notación científica

Los formatos básicos pueden modificarse fácilmente:

Comando Descripción

%5d Entero con 5 cifras (o espacios hasta completar 5 columnas)

%05d Entero con cinco cifras insertando ceros delante

%7.3f Double con siete espacios, 3 de ellos reservados a decimales.

%+10.5f Double en 10 columnas, volcando signo y 5 decimales.

%12.3e Double en 12 columnas, notación científica, 3 decimales en mantisa.

%04X Formato hexadecimal en 4 columnas, rellenando con ceros

Tipos de datos.
Números: pueden ser enteros (con distintos rangos, dependiendo del tamaño que reservemos en memoria) o
números reales de dos tipos: precisión simple (single) o doble precisión (double).

Tipo Tamaño Signo Rango

uint8 1 byte + [0, 2"8) [0-255]

int8 1 byte -I+ [-(2"7),2"7) [-128,127]

uint16 2 bytes + [0, 2"16) [0-65535]

int16 2 bytes -I+ [-(2"15),2"15) [-32768,32767]

uint32 4 bytes + [0, 2"32)

int32 4 bytes -I+ [-(2"31),2"31)

uint64 8 bytes + [0, 2"64)


9
SEMANA N° 08 – Programación de Ingeniería
Facultad de Ingeniería

Escuela Profesional de Ingeniería


Mecánica y Eléctrica

Tipo Tamaño Mant. Exp. Signo Precisión Rango

single 4 bytes (32 bits) 23 bits 8 bits 1 bit 6I7 cifras 10"38

double 8 bytes (64 bits) 52 bits 11 bits 1 bit 15I16 cifras 10"300

Caracteres: de texto, representados por su código ASCII o UNICODE, que pueden agruparse formando cadenas
de texto.

Booleano: o lógicos. Pueden tomar sólo dos valores: verdadero (1) o falso (0). Son el resultado de comparaciones
y operadores lógicos.

Estructuras: similares a las estructuras de C. Una estructura comprende diferentes campos (fields) que pueden
guardar diferentes tipos de datos. Los campos se etiquetan para un sencillo acceso.

MATLAB comprende tipos de datos más complejos que no estudiaremos, como por ejemplo punteros a funciones
(function handles), o gráficos, celdas (cells), clases de Java, etc. El usuario puede también definir sus propias
clases de datos.

Operadores y expresiones.
Son símbolos que pueden realizar acciones sobre uno o dos operandos. Se clasifican en: Aritméticos: se utilizan
para crear expresiones aritméticas.

Operadores de Matlab Operador Expresión

Suma + N1+N2

Resta - N1-N2

Multiplicación * N1*N2

División / N1/N2

División Invertida \ N1\N2

Potenciación ^ N1^n

Relacionales

Operadores de Matlab Operador Expresión

Mayo que > N1>N2

10
SEMANA N° 08 – Programación de Ingeniería
Facultad de Ingeniería

Escuela Profesional de Ingeniería


Mecánica y Eléctrica

Mayor o igual que >= N1>=N2

Menor que < N1<N2

Menor o igual que <= N1<=N2

De Igualdad

Operadores de Matlab Operador

Igual a ==

No es igual a ~=

Lógicos

Operadores de Matlab Función Operación

& And (x,y) And lógico

| Or (x,y) Or lógico

~ Not (x,y) Not lógico

Xor(x,y) Or exclusivo

Jerarquía de operadores ^ Alta jerarquía

*,/ Media jerarquía

-,+ Baja jerarquía

Estructuras de control Matlab


• Condicionales
If condición
Instrucciones
Instrucciones N..
Else
Instrucciones
Instrucciones N..
End
• Comando While
while condicion 11
SEMANA N° 08 – Programación de Ingeniería
Facultad de Ingeniería

Escuela Profesional de Ingeniería


Mecánica y Eléctrica
Instrucciones
Instrucciones N..
End
• Comando For

For i=1: n

Instrucciones

End

EJEMPLOS

El número de Reynolds es un parámetro adimensional utilizado en mecánica de fluidos para caracterizar


el movimiento de un fluido, usualmente se define como:
𝑣𝐷
𝑅𝑒 =
𝑣
Donde v es la velocidad del fluido, D el diámetro de la tubería a través de la cual circula el fluido y ν la
viscosidad cinemática.
Se desea determinar qué tipo de flujo se tiene según las siguientes condiciones:
• Re < 2100 Flujo turbulento
• 2100 ≤ Re ≤ 3000 Flujo transitorio
• Re > 3000 Flujo turbulento
Pseudocódigo
Donde:

✓ v= Velocidad
✓ d= diámetro de la tubería
✓ vi= viscosidad
INICIO

Declarar “v”, “d”, “vi”,” Re”


Ingresar “v”, “d”,”vi”
Re = (v*d) /(vi)
SI Re>= 2100 && Re <= 3000 entonces
Mostrar: “Flujo transitorio'” 12
SEMANA N° 08 – Programación de Ingeniería
Facultad de Ingeniería

Escuela Profesional de Ingeniería


Mecánica y Eléctrica
Sino
Mostrar: “Flujo turbulento”
FIN
FIN

Código en Matlab
v = input ('Velocidad: ');

d = input ('Diámetro: ');

vi = input ('Viscosidad: ');

Re = (v*d) /(vi);

if Re>= 2100 && Re <= 3000

disp('Flujo transitorio');

else

disp('Flujo turbulento');

end

Realizar el algoritmo para resolver una ecuación de segundo grado, teniendo en cuenta las soluciones complejas.
pseudocódigo:
Inicio

Definir A, B, C como real

Definir D, X1, X2 Como Real

Escribir "Ingrese primera variable (a)"

Leer A

Escribir "Ingrese segunda variable (b)"

Leer B

Escribir "Ingrese tercera variable (c)"

Leer C

D= (B^2)-4*A*C

Si D>=0 entonces

X1= (-B+ (D^ (1/2)))/2*A


13
SEMANA N° 08 – Programación de Ingeniería
Facultad de Ingeniería

Escuela Profesional de Ingeniería


Mecánica y Eléctrica
X2= (-B-(D^ (1/2)))/2*A

Mostrar X1

Mostrar X2

Sino

Escribir " Error ingrese valores Positivos "

Fin
Fin

Código en Matlab
a=input ('Valor a:');

b=input ('Valor b:');

c=input ('Valor c:');

d=(b^2)-4*a*c;

if d>=0

x1= (-b+(d^ (0.5))) /(2*a)

x2= (b+(d^ (0.5))) / (2*a)

else

disp ('Error ingrese valores Positivos');

end

Realizar el algoritmo para calcular la factorial de un número.


pseudocódigo:
Inicio
Declarar i, numero
Declarar factorial
i=1
factorial = 1
ingresar número:
Hacer
factorial = factorial * i
i=i+1
14
SEMANA N° 08 – Programación de Ingeniería
Facultad de Ingeniería

Escuela Profesional de Ingeniería


Mecánica y Eléctrica
Mientras i <= número
Mostrar Factorial
Fin

Código en Matlab
clc; clear all
numero=input('Ingrese numero para calcular el factorial: ');
i=1;
fact=1;
for i=1:1: numero
fact=fact*i;
end
disp('El factorial del número es : ')
fprintf('El factorial de: %d \n', numero )

15
SEMANA N° 08 – Programación de Ingeniería
Facultad de Ingeniería

Escuela Profesional de Ingeniería


Mecánica y Eléctrica
4. ACTIVIDADES Y EVALUACIÓN
ACTIVIDAD 1:
Proponer 06 programas, teniendo en cuenta el seudocódigo, diagrama de flujo de datos y programación aplicando
estructuras condicionales y repetitivas, en lenguaje de programación en MatLAB.

EVALUACIÓN 1:
Desarrollar 06 programas, teniendo en cuenta el seudocódigo, diagrama de flujo de datos y programación
aplicando estructuras condicionales y repetitivas, en lenguaje de programación MatLAB.

Los ejercicios serán resueltos en laboratorio.

16
SEMANA N° 08 – Programación de Ingeniería
Facultad de Ingeniería

Escuela Profesional de Ingeniería


Mecánica y Eléctrica
Rubrica de evaluación
Logro Avanzado Logrado En Desarrollo Inicial PESO
Indicador 4 3 2 1
El estudiante es Es el estudiante es capaz Es el estudiante es capaz Es el estudiante es capaz Es el estudiante no es capaz 20%
capaz de analizar el de analizar el problema de analizar el problema de analizar el problema, de analizar el problema ni
problema y plantea además plantea una además plantea una pero no plantea una plantear una solución inicial.
una solución inicial. solución inicial. solución inicial solución inicial.
incompleta.
El estudiante es El estudiante es capaz de El estudiante es capaz de El estudiante es capaz de El estudiante no es capaz de 20%
capaz de identificar identificar las variables y identificar las variables y identificar las variables, identificar todas las
las variables y los los tipos de datos del algunos tipos de datos del pero no los tipos de datos variables ni los tipos de
tipos de datos del problema. problema. del problema. datos del problema.
problema
El estudiante es El estudiante es capaz de El estudiante es capaz de El estudiante es capaz de El estudiante es capaz de 20%
capaz de identificar identificar las estructuras identificar las estructuras identificar algunas identificar algunas
las estructuras de de datos y las de datos y las algunas estructuras de datos y las estructuras de datos y la
datos y las restricciones del restricciones del problema. algunas restricciones del ninguna restricción del
restricciones del problema. problema. problema.
problema
Estudiante es capaz El estudiante es capaz de El estudiante es capaz de El estudiante es capaz de El estudiante es capaz de 20%
de plantear plantear algoritmos a plantear algoritmos a plantear algoritmos a plantear algoritmos a través
algoritmos a través través de seudocódigo y través de seudocódigo y través de seudocódigo pero de seudocódigo
de seudocódigo y DFD parciamente en DFD. no lo presenta en DFD. parcialmente pero no lo
DFD presenta en DFD.
Estudiante es capaz El estudiante es capaz de El estudiante es capaz de El estudiante es capaz de El estudiante es capaz de 20%
de desarrollar la desarrollar el problema desarrollar el problema por desarrollar el problema por desarrollar el problema por
Solución del por medio de la solución medio de la solución medio de la solución medio de la solución
problema. algorítmica, DFD y algorítmica, DFD y plantea algorítmica, DFD pero no algorítmica, DFD
plantea una simulación una simulación parcial plantea una simulación parcialmente pero no plantea
para validar el algoritmo. para validar el algoritmo. para validar el algoritmo. una simulación para validar
el algoritmo.

17
SEMANA N° 08 – Programación de Ingeniería
Facultad de Ingeniería

Escuela Profesional de Ingeniería


Mecánica y Eléctrica

5. GLOSARIO
5.1. Glosario de términos
- Algoritmo

Un algoritmo es un método para resolver un problema mediante una serie de pasos precisos, definidos y finitos.

- DFD

Es una técnica que permite representar gráficamente las operaciones y estructuras que se van a realizar,
mediante una simbología estándar, con un único punto de inicio y uno de finalización

- Pseudocódigo

Describen un algoritmo de forma similar a un lenguaje de programación, pero sin su rigidez, de forma más
parecida al lenguaje natural. El pseudocódigo no está regido por ningún estándar.

6. REFERENCIAS

Joyanes Aguilar , L. (2008). Fundamentos de Programación. Madrid, España: McGraw-Hill.

MK - Digital. (15 de 04 de 2020). Marketing Lenguajes de Programación. Obtenido de


https://www.marketingandweb.es/marketing/lenguajes-de-programacion-mas-usados/

Ramírez, E. (2014). UNA NOTACIÓN ALGORÍTMICA BASADA EN PSEUDOCÓDIGO.


Telematique, 121. Obtenido de https://www.redalyc.org/pdf/784/78435427007.pdf

18
SEMANA N° 08 – Programación de Ingeniería

También podría gustarte