Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ejercicios Quiz 2-1, Quiz 2-2, Quiz 2-3 y Fin de Capítulo 2
Ejercicios Quiz 2-1, Quiz 2-2, Quiz 2-3 y Fin de Capítulo 2
MATERIA
PROGRAMACIÓN
PRESENTA
Ian Gennaro Güitrón Sagaón
DOCENTE DE LA ASIGNATURA
Alberto Vázquez Martínez
ANTECEDENTES ……………………………………………………………………..… 3
Constantes y Variables …………………………..……………………………… 3
Variables de Tipo Entero ……..…………………………………………………. 3
Variables de Tipo Real ……………………………………..………………….... 3
Variables de tipo Lógico ………………………………………………………… 4
Operadores Aritméticos ………………………………………….……………… 4
Aritmética de Modo Mixto ……………………………………………………….. 5
Operadores Relacionales ……………………………………………………….. 5
Operadores de Lógica Combinatoria …………………………………………... 6
Funciones Intrínsecas ………………………………………………………….... 6
Mapa Mental: Jerarquía de Operaciones ……………………………………… 6
CONTENIDO ……………………………………………………………………………... 7
Quiz 2.1 …………………………………………………………………………… 7
Quiz 2.2 …………………………………………………………………………… 9
Quiz 2.3 ………………………………………………………………………….. 11
Ejercicios de Fin de Capítulo ………………………………………………….. 16
CONCLUSION ………………………………………………………………………….. 19
BIBLIOGRAFIA …………………………………………………………………………. 20
ANTECEDENTES
CONSTANTES Y VARIABLES
Existen cinco tipos de datos intrínsecos en Fortran:
• INTERGER (Números Enteros)
• REAL (Números Reales)
• COMPLEX (Números Complejos)
• LOGICAL (Valores lógicos, verdadero o falso)
• CHARACTER (Caracteres, texto)
Todos estos tipos de datos pueden ser utilizados como constantes o variables
dentro de un programa.
Una variable en Fortran es un objeto, data object, que puede cambiar de valor
durante la ejecución del programa. Dentro de un programa, cada variable se
identifica con un nombre, y el nombre de una variable no puede coincidir con el
nombre del programa. En general, las variables se declaran en las primeras líneas
del programa de modo que cada variable queda asociada con un nombre y un tipo
de dato (sentencia de declaración de tipo). Cuando el compilador encuentra la
declaración de una variable, asocia al nombre de la variable un espacio de memoria,
al que accede el procesador cada vez que se utiliza dicha variable. Para modificar
el valor de una variable se utiliza una instrucción de asignación (=).
Una constante en Fortran es un dato que se fija inicialmente y su valor no cambia
durante la ejecución del programa. El valor de la constante guarda en una posición
de memoria del ordenador a la que accede el procesador cada vez que el programa
usa la constante.
VARIABLES DE TIPO ENTERO
El tipo de datos numérico INTEGER consiste en constantes y variables enteras, es
decir, números sin parte decimal.
Las variables de tipo entero sirven para guardar números enteros. Las variables de
tipo entero se declaran con la instrucción INTEGER.
Una constante entera en un programa es simplemente un número entero, es decir,
un número que no tiene parte decimal. Si el número es positivo, el signo (+) es
opcional. Además, una constante entera no puede incluir comas. A diferencia de las
variables enteras, las constantes enteras no se declaran.
VARIABLES DE TIPO REAL
El tipo de datos numérico REAL consiste en constantes y variables reales, es decir,
números con parte decimal.
Las variables de tipo real guardaran números reales. Las variables de tipo real se
declaran con la instrucción REAL.
Por otra parte, una constante real es simplemente un número que tiene parte
decimal. La parte entera y la parte decimal del número se separan mediante un
punto (.). Es decir, no puede incluir comas. Si el número es positivo, el signo (+) es
opcional. A diferencia de las variables reales, las constantes reales no se declaran.
Las constantes reales pueden expresarse en notación científica. En esta notación,
junto con la mantisa, se incluye el exponente correspondiente a una potencia de 10,
que se expresa con la letra E, seguida del signo + (opcional) ó -, y el valor del
exponente. La mantisa del número debe incluir un punto decimal.
VARIABLES DE TIPO LOGICO
Solo pueden tomar un valor: verdadero (.TRUE.) o falso (.FALSE.). Los operadores
de relación permiten construir expresiones lógicas. Incluyen los puntos a ambos
lados para ser identificadas de la variable.
OPERADORES ARITMETICOS
En matemáticas se dispone de una serie de símbolos que indican determinadas
operaciones. De modo semejante, el lenguaje Fortran utiliza también símbolos,
tomados del conjunto de caracteres especiales, para indicar operaciones.
En expresiones más complejas, hay que tener en cuenta que la conversión sólo se
produce cuando un entero y un real aparecen en la misma operación.
“Para evitar posibles problemas con los resultados inesperados, se
recomienda usar únicamente valores reales para realizar operaciones
aritméticas; excepto en caso de las operaciones exponenciales”.
OPERADORES RELACIONALES
La variable de tipo LOGICAL es una instrucción de declaración de tipo. Declara que
las variables que aparecen en la lista son de ese tipo. Y se emplean en las
expresiones de comparación; las cuales buscan comparar variables, expresiones o
constantes del tipo entre sí.
Si al realizarse una comparación el resultado es cierto, la evaluación de la expresión
dará el valor .TRUE., y si el resultado no es cierto, dará el valor .FALSE.
OPERADORES DE LOGICA COMBINATORIA
Para hacer comparaciones mas complejas, Fortran dispone de otro conjunto de
operadores logicos. Estos operadores permiten realizar operaciones de logica
combinatoria. Las expresiones de comparacion lógicas comparan variables,
expresiones o constantes lógicas. El rsultado del a comparación es una constante
lógica (verdadero o falso).
FUNCIONES INTRINSECAS
Existen funciones de uso común en cálculo científico y técnico que no se pueden
expresar como sumas, restas, multiplicaciones, divisiones o potenciaciones.
Ejemplos de algunas de estas funciones son los logaritmos, las funciones
exponenciales, las raíces cuadradas o las funciones trigonométricas. El lenguaje
Fortran utiliza las funciones para poder hacer este tipo de cálculos. Las funciones
más comunes se incluyen como parte del lenguaje y se denominan intrínsecas.
QUIZ 2.1
EL SIGUIENTE QUIZ PROVEE UNA REVISIÓN RÁPIDA PARA CORROBORAR SI
LOS CONCEPTOS PRESENTADOS EN LA SECCIÓN 2.5 QUEDARON
ENTENDIDOS. SI USTED TIENE ALGÚN PROBLEMA CON EL QUIZ, VUELVA A
LEER LA SECCIÓN, PREGUNTE A SU INSTRUCTOR O DISCUTA EL MATERIAL
CON ALGÚN COMPAÑERO.
LAS PREGUNTAS DEL 1 AL 14 CONSTAN DE UNA LISTA DE CONSTANTES
VALIDAS E INVALIDAS. DECLARE SI CUALQUIERA DE LAS CONSTANTES ES
O NO ES VÁLIDA. SI LA CONSTANTE ES VÁLIDA, ESPECIFIQUE EL TIPO. SI LA
CONSTANTE ES INVALIDA, DIGA PORQUE ES INVALIDA.
1. 10.0
Válida, es una constante de tipo real por el punto decimal.
2. -100,000
El valor es invalido, como el valor es una constante numerica, no
permite o acepta comas.
3. 123E-5
Puede ser aceptado por el compilador, pero la forma correcta es
indicar un punto decimal en los numeros reales.
4. ‘That’s ok!’
Invalido, en el compilador 95 es necesario indicar apertura y cierre de
comillas, fortran no identifica comillas independientes; una forma
correcta seria “that´s it”.
5. -32768
Constante valida, es de tipo entero.
6. 3.14159
Valor valido, variable de tipo real.
7. “Who are you?”
Valor valido, variable de tipo caracter.
8. .TRUE.
Constante valida de tipo logica.
9. ‘3.14159’
Constante valida de tipo constante, esto debido a las comillas que
indican la presencia de texto.
10. ‘Distance =
Invalido, como se menciono antes, las variables de tipo texto o
caracteres deben de estar encerradas entre comillas.
11. “That’s ok!”
Variable de tipo texto o carácter, valida.
12. 17.877E+6
Constante valida de tipo real.
13. FALSE.
Varialbe invalida, las variables de tipo logicas deben de estan
encerradas entre puntos.
14. 13.0^2
Invalido, las variables de tipo real utilizan una e para indicar que eleva
a una exponencial; o en su defecto si se busca indicar una potencia
artimetica se utiliza el simbolo (**).
LAS PREGUNTAS DEL 15 AL 18 CONTIENE DOS CONSTANTES REALES CADA
UNA. INDIQUE SI CADA UNA DE LAS CONSTANTES REPRESENTA O NO EL
MISMO VALOR EN LA COMPUTADORA:
15. 4650.; 4.65E+3
Representa el mismo valor.
16. -12.71; -1.27E1
Representa el mismo valor.
17. 0.0001; 1.0E4
Representan valores diferentes, el segundo numero es 10000.
18. 3.14159E0; 314.159E-3
Los valores son diferentes, el primer falor se queda igual mientras el
segundo queda como 0.314159.
LAS PREGUNTAS DEL 19 AL 20 CONSTAN DE UNA LISTA DE NOMBRES DE
PROGRAMA VALIDOS O INVÁLIDOS FORTRAN 95/2003. DECLARE SI EL
NOMBRE DEL PROGRAMA ES O NO ES VÁLIDO. SI ES INVALIDO, INDIQUE
PORQUE ES INVÁLIDO.
19. PROGRAM new_program
El nombre del programa es válido.
20. PROGRAM 3rd
El nombre no es válido, fortran no permite nombres que no empiecen
con letras.
Las preguntas del 21 al 25 contienen una lista de nombres de variables validos o
inválidos de Fortran 95/2003. Declare si el nombre de la variable es valida o invalida.
Si la variable es válida, especifique su tipo (asuma el tipado por defaul). Si es
invalido, indique porque es invalido.
21. Length
Es un tipo de variable real, es valida (1.85 m es la altura)
22. Distance
Tipo de variable entera, es valida (250m, 85km, etc)
23. 1problem
El tipo de variable es invalido, comenzar por letra.
24. When_does_school_end
Tipo de variable real, valida.
25. _ok
El tipo de variable es invalido, comenzar por letra.
¿SON LAS SIGUIENTES DECLARACIONES PARAMETER CORRECTAS O
INCORRECTAS? SI LA DECLARACIÓN ES INCORRECTA, INDIQUE PORQUE
ES INVALIDA.
26. REAL, PARAMETER BEGIN = -30
la declaración es invalida, las declaraciones deben definirse después
del símbolo de (::)
27. CHARACTER, PARAMETER::NAME = “Steve”
la declaración es válida.
QUIZ 2.2
1. ¿EN QUÉ ORDEN LAS OPERACIONES LÓGICAS Y ARITMÉTICAS
EVALUADAS SI ESTAS APARECEN CON UNA EXPRESIÓN
ARITMÉTICA? ¿CÓMO ES QUE LOS PARÉNTESIS MODIFICAN ESTE
ORDEN?
Los operadores aritméticos se asemejan mucho a las reglas de jerarquía de
operaciones de las matemáticas; el orden de las operaciones aritméticas y
lógicas es la siguiente:
exponentes
multiplicaciones y divisiones
sumas y restas
operadores relacionales (simples y compuestos)
operadores (. Not.)
operadores (.and.)
operadores (.or.)
operadores (.eqv. Y .neqv.)
Los paréntesis tienen mayor prioridad y son evaluados primero, la forma de
orden es de los paréntesis internos a paréntesis externos.
2. ¿SON LAS SIGUIENTES EXPRESIONES LEGALES O ILEGALES? SI SON
LEGALES, INDIQUE SU RESULTADO. SI SON ILEGALES, INDIQUE CUAL
ES EL PROBLEMA EN ELLAS.
a. 37 / 3
Legal, el resultado es 12 como numero entero
b. 37 + 17 / 3
Legal, el resultado es 42 por ser números enteros y la jerarquía de
operación empieza por la división.
c. 28 / 3 / 4
Legal, el resultado es 2, las divisiones y operaciones se resuelven de
izquierda a derecha.
d. (28 / 3) / 4
Legal, el resultado es 2, mismo procedimiento al anterior, solo se
utiliza el paréntesis para facilitar visualmente la jerarquía.
e. 28 / (3 / 4)
Ilegal, debido a que son números enteros, fortran no identifica los
valores decimales, por lo tanto, el resultado de la primera división el
compilador detecta un valor menor a 1 (prácticamente 0), por lo tanto
cualquier número dividido entre cero es un valor no calculable por
matemática convencional.
f. -3. ** 4. / 2.
Legal, de acuerdo con la jerarquía de operaciones, la potencia se
calcula primero, y posteriormente la división; por lo cual el resultado
es -40.5.
g. 3. ** (-4. / 2.)
Es legal, el resultado sería 0.111111 dependiendo el número de
decimales configurado en la declaración de variables.
h. 4. ** -3
Es ilegal, no pueden estar dos símbolos o signos de operación juntos,
se deben de separar por paréntesis.
3. EVALÚE LAS SIGUIENTES EXPRESIONES:
a. 2 + 5 * 2 – 5
Desarrollando la ecuación, 2+(5*2)-5, por lo tanto, el resultado es 7.
b. (2 + 5) * (2 - 5)
Desarrollando la ecuación, (7)*(-3), por lo tanto el resultado es -21.
c. 2 + (5 * 2) – 5
El resultado y desarrollo es el mismo al del primer ejemplo; por lo tanto,
el resultado es 7.
d. (2 + 5) * 2 – 5
Se resuelven primero los resultados del paréntesis, luego la multiplicación
y al final la resta; por lo tanto, el resultado es 9.
4. ¿Son las siguientes expresiones legales o ilegales? ¿Si son legales, cual es
el resultado? ¿Si son ilegales, que error tiene cada uno de ellos?
a. 2. ** 2. ** 3.
Las operaciones son legales, el resultado es el 256.
b. 2. ** (-2.)
Operación legal, el resultado es 0.25.
c. (-2) ** 2
Operación legal, resultado es 4.
d. (-2.) ** (-2.2)
Ilegal, el no se permite elevar un numero negativo a una potencia
negativa.
5. ¿SON LAS SIGUIENTES DECLARACIONES LEGALES O ILEGALES? ¿SI
SON LEGALES, CUÁL ES EL RESULTADO? ¿SI ES ILEGAL, QUE ERROR
PRESENTA?
SM = 1/((1/R1)+(1/R2)+(1/R3)+(1/R4))
T= (2*P) *(SQURT(L/G))
T= (2*P) * ((L/G)**0.5)
Para este caso se busca asignar un valor a cada una de las variables, en
este caso se asignara las mismas que tenemos en la formula:
1 2
𝑑= 𝑎𝑡 + 𝑣0 𝑡 + 𝑥0
2
6. LA FRECUENCIA DE OSCILACION DE UN CIRCUITO RLC
AMORTIGUADO:
1 2
𝐸= 𝐿𝑖
2
8. ¿QUÉ VALORES SE IMPRIMIRAN EN LA PANTALLA CUENDO SE
EJECUTEN LAS SIGUIENTES DECLARACIONES?
LA INFORMACION ES
El programa quiz 2 establece las variables (i, j ,k) como de tipo entero y las
variables (a, b, c) como reales; posteriormente solicita que el usuario inserte
los valores de todas las variables menos de la variable c; posteriormente se
solicita que se realice una operacion aritmetica para calcular c; por lo tanto
los valores impresos serian los siguientes:
I= 1 , j= 3, a=2, b=45, k=17 y c=6.0923e-4
program energia
implicit none
!El siguiente programa busca calcular la energia total a partir de la masa la altura y
la velocidad de un objeto.
!Declaración de Variables
real, parameter :: g=9.81 !Corresponde a la gravedad de la Tierra
real :: m, h, v !Correspondiente a la masa del objeto, su altura y su velocidad
real :: pe, ke, et !Corresponde a las energias cineticas, potenciales y
total
!Solicitud de Datos para el problema
write(*,*) "****************************************************************"
write(*,*) " CALCULO DE ENERGIA TOTAL DE UN OBJETO"
write(*,*) "****************************************************************"
!Operaciones aritmeticas
pe=m*g*h
ke=0.5*m*(v**2)
et=pe + ke
!Impresion de resultados
write(*,*) "****************************************************************"
write(*,*) " CALCULOS E IMPRESION DE RESULTADOS"
write(*,*) "****************************************************************"
write(*,*) " "
write(*,*) "El valor asignado a la gravedad es de 9.81 m/s^2"
write(*,*) " "
write(*,*) "La Energia Pontencial (pe) es..."
write(*,*) "pe=", pe
write(*,*) " "
write(*,*) "La Energia Cinética (ke) es..."
write(*,*) "ke=", ke
write(*,*) " "
write(*,*) "Por lo tanto, la Energia Total (et) equivale a..."
write(*,*) "et=", et
pause
stop "Este es el fin del programa, presione 'enter' para salir"
end program energia
CONCLUSION
En Fortran los tipos de variables son el pináculo conocimiento para poder llevar a
cabo la programación de ecuaciones complejas o ciclos de cálculo donde los valores
pueden ir cambiando constantemente dependiendo de la naturaleza del problema;
para ello se busca que los programadores entiendan la complejidad que implica el
no dominar que tipos de variables utiliza Fortran o las operaciones tanto lógicas,
aritméticas o intrínsecas haría que el programa presentara errores al desarrollarse
o en caso contrario los resultados sean poco veraces o engañosos.