Tarea 1
-
Upload
david-tapia-mtz -
Category
Documents
-
view
217 -
download
0
description
Transcript of Tarea 1
![Page 1: Tarea 1](https://reader036.fdocuments.ec/reader036/viewer/2022081811/563dbb58550346aa9aac564b/html5/thumbnails/1.jpg)
INSTUTITO TECNOLÓGICO DE ESTUDIOS SUPERIORES DE MONTERREY
CAMPUS MONTERREY
Métodos Computacionales en Ingeniería
Tarea No. 1
David Tapia – A01138017Luis Becerra – A00817996
Michel Romero – A00818452
Monterrey, N.L. a 30 de Enero de 2015
![Page 2: Tarea 1](https://reader036.fdocuments.ec/reader036/viewer/2022081811/563dbb58550346aa9aac564b/html5/thumbnails/2.jpg)
Problema 1.- Utilizando media palabra, 2 bytes, expresa los siguientes números con base binaria:
1542010
- 1682010
Nota: Los números negativos se deberán de manejar con el complemento a dos.
Problema 2.- Convierta el número con base decimal, que se presenta a continuación, en número con base binaria, octal y hexadecimal.
960328710
15420 0
7710 0
3855 1
1927 1
963 1
481 1
240 0
120 0
60 0
30 0
15 1
7 1
3 1
1 1
0 0
0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0
0 1 0 0 0 0 0 1 1 0 1 1 0 1 0 01 0 1 1 1 1 1 0 0 1 0 0 1 0 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 1 1 1 1 1 0 0 1 0 0 1 1 0 0
16820-16820
Complemento a 2
15420
![Page 3: Tarea 1](https://reader036.fdocuments.ec/reader036/viewer/2022081811/563dbb58550346aa9aac564b/html5/thumbnails/3.jpg)
Binario
0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 1 0 1 0 1 1 1
Octal
0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 1 0 1 0 1 1 1
Hexadecimal
0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 1 0 1 0 1 1 1
9603287 1
4801643 1
2400821 1
1200410 0
600205 1
300102 0
150051 1
75025 1
37512 0
18756 0
9378 0
4689 1
2344 0
1172 0
586 0
293 1
146 0
73 1
36 0
18 0
9 1
4 0
2 0
1 1
0 0
4 4 5 0 4 3 2 7
9 2 8 8 D 7
![Page 4: Tarea 1](https://reader036.fdocuments.ec/reader036/viewer/2022081811/563dbb58550346aa9aac564b/html5/thumbnails/4.jpg)
Problema 3.- Realice las siguientes operaciones utilizando números con base binaria y compruebe el resultado:
Nota: Los números negativos se deberán de manejar con el complemento a dos.Problema 4.- El compilador de Fortran 95/2003 ofrece los procedimientos intrínsecos que se listan en la Tabla B-1. Para el caso de los logaritmos hay varias opciones. Consultando la tabla, indique el valor de la variable “Y” cuando se efectúan las instrucciones que se muestran a continuación:
PROGRAM EJERCICIO IMPLICIT NONE
REAL, PARAMETER :: PI=3.14159REAL :: X, YE, YOPEN(UNIT=5, FILE='RESUL.TXT', STATUS='UNKNOWN')
7892
5467
Complemento a 2
-5467
-3042
0 0 0 0 1 0 0 1 0 1 1 1 1 0 0 1
0 0 0 1 0 1 0 1 0 1 0 1 1 0 1 1
0 0 0 1 1 1 1 0 1 1 0 1 0 1 0 0
0 0 0 1 0 1 0 1 0 1 0 1 1 0 1 1
1 1 1 0 1 0 1 0 1 0 1 0 0 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 1 1 0 1 0 1 0 1 0 1 0 0 1 0 1
0 0 0 0 1 0 0 1 0 1 1 1 1 0 0 1
1 1 1 0 1 0 1 0 1 0 1 0 0 1 0 1
1 1 1 1 0 1 0 0 0 0 0 1 1 1 1 0
![Page 5: Tarea 1](https://reader036.fdocuments.ec/reader036/viewer/2022081811/563dbb58550346aa9aac564b/html5/thumbnails/5.jpg)
X=-15.0YE=9.0Y=YEIF(.NOT.(10.0 > (SIN(5.0+ALOG(-X**3))**0.3*4.0 &
+ALOG10(ABS(X/2.0)-5.0)*40.0))) Y=PI**5.0WRITE (5,10) X, YE, Y
10 FORMAT (3X, 'X = ', F10.6, /, & 3X, 'YE = ', F10.6, /, & 3X, 'Y = ', F10.6, /) END PROGRAM EJERCICIO
Tomando como referencia lo visto en clase, realizando las operaciones que están dentro de los
paréntesis más internos, se realizó lo siguiente:
SIN(5.0+ALOG(-X**3))**0.3*4.0+ALOG10(ABS(X/2.0)-5.0)*40.0)))
3375 -7.5
8.1241 7.5
13.1241 2.5 0.5292 0.3979 3.3049 15.9176
19.2225
Como 10 no es mayor que 19.2225, por tanto se genera un FALSE, sin embargo el comando “.NOT.”
niega esto y convierte la respuesta de la ecuación en un TRUE, y procede con el cálculo, por tanto el
valor de Y es el siguiente:
Y = (3.1416) * 5 = 306.0232
Problema 5.- Explique qué se obtiene en la variable “Resultado” cuando se realiza la siguiente instrucción:
Resultado=y**x
a) Cuando y=-15.0 y x=3
Por ser Y un valor REAL y X es un valor ENTERO, se realiza un cálculo ordinario de exponencial al
cubo, y el resultado sería el siguiente:
![Page 6: Tarea 1](https://reader036.fdocuments.ec/reader036/viewer/2022081811/563dbb58550346aa9aac564b/html5/thumbnails/6.jpg)
Resultado = (-15) ^ 3 = (-15) * (-15) * (-15) = -3375
b) Cuando y=-15.0 y x=3.01
Por ser tanto Y como X valores REALES, se encuentra una dificultad en la programación y con ello un
error en la ejecución debido a lo siguiente:
Resultado = y ^ x = e ^ (x * ln (y) )
Al no existir el logaritmo natural de un número real negativo, se produce el error en la ejecución.
Nota: Se recomienda ver la sección 2.6.5 Mixed Mode Arithmetic and Exponentiation del libro de texto: “Fortran 95/2003 for Scientists and Engineers” de Stephen J. Chapman.
Problema 6.- A partir de la filmina 75, del material de apoyo de la segunda sesión, aparecen las instrucciones que se usan para el manejo de archivos con datos. Usando el material que viene en la sección 5.5 de la tercera edición del libro: “Fortran 95/2003 for Scientists and Engineers” de Stephen J. Chapman, describa brevemente como se usan las instrucciones OPEN y CLOSE.
Comando Descripción
OPEN
Asocia un archivo específico en disco con una indicación i/o. OPEN (open_list):
UNIT: indica el número i/o asociado al archivo. UNIT=int_expr. FILE: indica el nombre del archivo que debe abrirse. FILE=char_expr. STATUS: indica el estatus del archivo que va a abrirse. STATUS=char_expr. :
OLD, NEW, REPLACE, SCRATCH, o UNKOWN. ACTION: indica si el archivo que se va a abrir sólo para lectura, escritura o ambas.
ACTION=char_expr. : READ, WRITE or READWRITE. IOSTAT: indica el nombre de una variable entera en donde el estatus de la
operación que se está realizando (éxito/error). IOSTAT=int_var. IOMSG (solo 2003): indica el nombre de una variable tipo caracter que va a
contener un mensaje si un error ocurre. IOMSG=chart_var.CLOSE Termina la asociación específica del archivo en disco con una indicación i/o