RESUMENES S
RESUMENES S
CAPITULO 2.
En primer lugar vamos a dirigirnos hacia los aspectos importantes de la
programación en este capítulo. Para la realización de este se requiere saber hacia
dónde dirigirse, puesto que el aspecto más importante hablando de programación
es, sin duda, su diseño, con el r fin de proyectar una idea, mientras que el
siguiente más importante es la prueba exhaustiva del programa. También este
capítulo nos habla sobre La codificación real del programa, por importante que
sea, es relativamente sencillo al momento de hacer una comparación. Al
momento de realizar un problema lo primero que debemos hacer es analizar dicho
problema, una vez finalizado, podríamos seguir a resolver el problema de manera
sencilla ya echo los dos pasos mencionados anteriormente, finalizamos con la
programación del ejercicio a realizar. Sim embargo cabe destacar que al analiza
algunos de los principios más importantes de diseño del programa e introduce una
técnica, conocida como plan de estructura, por ayudar a crear programas bien
diseñados, esta técnica es ilustrado por referencia a un problema simple, una
solución Fortran 90 para que se usa para presentar algunos de los conceptos
fundamentales de Fortran 90 programas Algunos de los aspectos clave de las
pruebas del programa también son breves discutido, aunque el espacio no permite
una cobertura completa de este Aspecto importante de la programación.
Volveremos a este tema en el Intermedio entre las partes I y II de este libro.
Finalmente, la diferencia entre la antigua forma de escritura de forma fija
Programas Fortran, que debieron su origen a las tarjetas perforadas, y el Se
presenta un enfoque alternativo de forma libre introducido en Fortran 90. Solo se
usará el nuevo formulario en este libro, pero el formulario anterior también
perfectamente aceptable, aunque no muy deseable en nuevos programas.
El programa escrito en el ejemplo 2.1 es muy simple, pero contiene
Muchos de los componentes básicos y conceptos que se aplican a todos los
Fortran 90
Programas Por lo tanto, lo examinaremos cuidadosamente línea por línea para
establecer estos
Conceptos antes de continuar para ver el lenguaje en sí mismo en detalle. Antes
de hacerlo, sin embargo, debemos enfatizar que el código que se muestra en el
ejemplo 2.1 no es todo el programa, ya que el procedimiento Calculate3ircle
también es parte del Mismo programa Lo que se muestra es simplemente el
programa principal o, más correctamente, La unidad principal del programa.
Tendremos más que decir sobre los otros tipos de programa la unidad más tarde.
CAPITULO 3.
Tipos de datos. Un tipo de datos es la propiedad de un valor que determina su
dominio (qué valores puede tomar), qué operaciones se le pueden aplicar y cómo
es representado internamente por el computador. Todos los valores que aparecen
en un programa tienen un tipo.
Todo esto va dado de una definición muy simple: El tipo de un dato es el conjunto
de valores que puede tomar durante la realización de un programa. Si se le
intenta dar un valor fuera del conjunto se producirá un error.
La asignación de tipos a los datos tiene dos objetivos principales: Por un lado,
detectar errores en las operaciones y por el otro, determinar cómo ejecutar estas
operaciones De Pascal se dice que es un lenguaje fuertemente tipeado. Esto
quiere decir que todos los datos deben de tener un tipo declarado explícitamente,
y además que existen ciertas restricciones en las expresiones en cuanto a los
tipos de datos que en ellas intervienen. Una ventaja de los lenguajes fuertemente
tipeados es que se gasta mucho menos esfuerzo en depurar (corregir) los
programas gracias a la gran cantidad de errores que detecta el compilador. Los
tipos de datos, como casi todos los objetos de Pascal, se pueden declarar.
La declaración de tipos ya se comentó en el tema correspondiente a la estructura
de un programa. Respectivamente. Casi todas las computadoras funcionan de
manera similar a esto, aunque cuando se usa el sistema binario el efecto es que si
el primer dígito binario (o bit) es uno, entonces el número es negativo, mientras
que si es cero, el número es positivo.
En ciencias de la computación, un tipo de dato informático o simplemente tipo, es
un atributo de los datos que indica al ordenador (y/o al
programador/programadora) sobre la clase de datos que se va a manejar. Esto
incluye imponer restricciones en los datos, como qué valores pueden tomar y qué
operaciones se pueden realizar.
Los tipos de datos más comunes son: números enteros, números con signo
(negativos), números de coma flotante (decimales) Toda la cuestión del
almacenamiento de diferentes tipos de información en una computadora puede,
Se vuelve bastante complicado, y volveremos a este tema varias veces a medida
que desarrollar una comprensión más completa del poder y la flexibilidad del
Fortran
En el capítulo 4 se presenta el concepto de un procedimiento para ayudar en la
solución de tales subproblemas, y muestra cómo los dos tipos de Fortran de
procedimientos, funciones y subrutinas, se utilizan como el edificio principal,
bloques en programas bien diseñados.
Otra instalación de encapsulación, conocida como módulo, también es introducido
en este capítulo como un medio para proporcionar acceso controlado a datos
globales, y también se muestra como una herramienta esencial en el uso de tipos
de datos derivados (o definidos por el usuario). Los módulos también se
recomiendan como un medio de empaquetar grupos de procedimientos
relacionados, para facilitar la manipulación, como un medio de proporcionar
seguridad adicional y simplificar el uso de algunas de las potentes funciones de
Fortran 90 que se cumplirán en capítulos posteriores.
Los subprogramas facilitan la utilización de técnicas de diseño descendente para
la construcción de programas.
Los subprogramas: Facilitan la modularidad y estructuración de los algoritmos.
Facilitan la lectura e inteligibilidad de los algoritmos. Permiten una economización
del esfuerzo del programador al poder escribir código reutilizable en muchas
partes de un mismo algoritmo. Facilitan la depuración y mantenimiento de los
programas. Los subprogramas pueden ser funciones y subrutinas.
Las funciones son subrutinas con 0 ó más argumentos y que devuelven un único
valor de retorno.
Las funciones pueden formar parte de expresiones o aparecer en la parte derecha
de una sentencia de asignación pero nunca pueden constituir una sentencia
aislada o aparecer en la parte izquierda de una asignación.
Las funciones son invocadas mediante su nombre seguido de los argumentos
entre paréntesis.
Existen dos tipos de funciones: intrínsecas y definidas por el usuario: Las
funciones intrínsecas son funciones de uso muy común: raíz cuadrada, logaritmos,
funciones trigonométricas, etc.
Las funciones definidas por el usuario deben describirse dentro del algoritmo
principal; la sintaxis de la definición de funciones en la notación algorítmica y en
FORTRAN es la siguiente:
Tipo función nombre función (arg1 ∈ tipo1, ..., argN ∈ tipoN)
Inicio
sentencia1
sentencia2
...
sentenciaN
fin
tipo función nombre_funcion (arg1, ..., argN)
Declaración arg1
...
Declaración argN
sentencia1
sentencia2
...
sentenciaN
end
Los argumentos y variables declaradas dentro del cuerpo de una función (o
subrutina) se denominan variables locales, las variables declaradas dentro del
programa principal son variables globales. Los subprogramas tienen acceso a las
variables globales aunque en el caso de que una variable local se denomine igual
que una variable global tiene preferencia la primera.
Las subrutinas son subprogramas que no devuelven ningún resultado; sin
embargo, gracias a la utilización de los efectos laterales es posible su utilización
para permitir el “retorno” de varios resultados.
La sintaxis de la definición de subrutinas o procedimientos en la notación
algorítmica y en FORTRAN es la que sigue:
acción nombre_subrutina ([ent|sal|ent sal] arg1∈tipo1, ..., [ent|sal|ent sal]
argN∈tipoN)
Inicio
sentencia1
sentencia2
...
sentenciaN
fin
subroutine nombre_subrutina (arg1, ..., argN)
inicio
declaración arg1
...
declaración argN
sentencia1
...
sentenciaN
Una expresión lógica únicamente puede tomar dos valores que son: true o false
Este tipo de expresiones permiten crear estructuras de control dentro del
programa FORTRAN que dependiendo de los valores obtenidos por la expresión
se bifurcan y recorren caminos alternativos.
A la hora de construir una expresión lógica FORTRAN cuenta con una serie de
operadores lógicos que se aplican siempre entre dos elementos del mismo tipo,
bien numéricos o bien tipo carácter. Una vez construida la expresión esta
únicamente puede tomar dos valores cierto o falso
Ejercicio capítulo 2 al 4
Sean:
a=8.0 b=4.0 c=3.0 (Reales)
i=8 j=4 k=3 (Enteros)
El resultado de:
• a/b 2.0 (real)
• j/a 0.5 (real)
• i/j 2 (entero)
• b/c 1.33333... (real)
• a/c 2.66667 (real)
• j/k 1 (entero)
• j/i 0 (entero)
• j/c 1.33333... (real)
• Dado que la división entera puede producir resultados inesperados, los enteros
deberían ser usados únicamente para cosas que son enteras intrínsecamente por
naturaleza, como los contadores y los índices.
• Debido a la longitud de palabra finita de un computador, algunos números reales
no pueden representarse exactamente. Por ejemplo, la representación de 1./3.
puede ser 0.333333 y, como resultado, algunas cantidades que son teóricamente
iguales no lo son al ser evaluadas en un computador: 3.*(1./3.)≠ 1.
Si i es una variable entera:
i = 3./2. ! i se le asigna el valor 1
i=i+1 ! Incrementa en una unidad el valor de i
PROGRAM cap1_2
INTEGER :: a
REAL :: b1,b2,sueldo_del_ultimo_mes
LOGICAL :: d1,d2
COMPLEX :: e
CHARACTER (LEN=18) :: pal
CHARACTER (LEN=180) :: frase_larga
a=-123
b1=-2.98
b2=0.9E-8
sueldo_del_ultimo_mes=2850.75
d1=.true.
d2=.false.
e=(2.3,3.7)
pal='CONSTANTE CARACTER'
frase_larga='"CONSTANTE CARACTER dividida en dos lineas usando & &el
caracter & al final de la primera y al principio de la siguiente"'
WRITE (*,*) 'CONSTANTE ENTERA',a
WRITE (*,*) 'CONSTANTES REALES (NOTAC NORMAL Y EXPON)',b1,b2
WRITE (*,*) 'IDENTIFICADOR DE VARIABLE REAL (MAX. 31 letras)',&
sueldo_del_ultimo_mes,'EUROS'
WRITE (*,*) 'CONSTANTES LOGICAS',d1,d2
WRITE (*,*) 'CONSTANTE COMPLEJA',e
WRITE (*,*) pal !OBSERVAR QUE NO SALEN LOS APOSTROFES
WRITE (*,*) frase_larga !AQUI SI SALEN LAS COMILLAS DOBLES
END PROGRAM cap1_2
-El programa presenta declaraciones de todos los tipos de variables Fortran. Se
usan sentencias de asignación para asignar valores a esas variables,
mostrándolos a continuación por monitor.
−
La capacidad de un programa de computadora para elegir cuál de dos o más
secuencias alternativas de declaraciones obedecer es un factor importante para
hacer que las computadoras sean herramientas tan poderosas. Lo que hace que
las computadoras sean tan poderosas, es su capacidad para variar el orden de
ejecución de las declaraciones de acuerdo con criterios lógicos que no se
determinan hasta después de que el programa ha comenzado la ejecución. Este
nos hace referencia de cómo usar el bloque declaración IF, ELSE, THEN, BUT; La
construcción de bloque IF y la construcción CASE proporcionan los medios para
que un programa seleccione uno de varios cursos de acción alternativos. La
instrucción IF lógica proporciona una alternativa más simple a la construcción IF
de bloque en un número limitado de casos, todo esto consiste en un nuevo tipo de
expresión: una expresión lógica, el cual dirige a la computadora tomas decisiones
a la hora de enfrentarse; el criterio de decisión de Fortran también es una
afirmación que es verdadera o falsa; el decir verdadera o false aquí, trata de las
expresiones lógicas y algunas de sus formas más simple son aquellas que
expresan relación entre dos valores numéricos, Una vez que podemos declarar
variables lógicas, la siguiente pregunta es cómo podemos escribir los dos posibles
valores lógicos, verdadero y falso en Fortran, al igual que con los operadores
aritméticos, es importante que las prioridades relativas de los distintos operadores
lógicos se entiendan. Los operadores relacionales se utilizan para derivar valores
lógicos de una comparación. Los operadores lógicos se utilizan para combinar dos
valores lógicos y, por lo tanto, para permitir comparaciones más complejas. Las
variables lógicas toman uno de dos valores: TRUE. o FALSE. La declaración de
toma de decisiones más poderosa en Fortran fue la declaración lógica IF, que
tomó la forma IF (expresión lógica) Declaración en Fortran esto es exactamente
equivalente a un bloque IF con un bloque que consiste en una sola declaración, en
particular, esto es una forma de declaración extremadamente útil en el control de
bloques de declaraciones que deben repetirse varias veces, un requisito de
programación muy común. En la sección 5.5 nos dicen que el problema principal
es establecer la relación entre letras mayúsculas y minúsculas, de modo que las
conversiones se puedan hacer fácilmente. Allí usan el código ASCII para obtener
buenos resultados debido a la existencia de los dos fondos intrínsecos IACHAR y
ACHAR. Las expresiones de caracteres se pueden comparar usando la secuencia
de clasificación ASCII usando funciones intrínsecas especiales. El primero de
estos proporciona la posición de su argumento de carácter en la secuencia de
clasificación ASCII, mientras que el segundo devuelve el carácter en una posición
especificada en esa secuencia, en algunas situaciones, es necesario tener una
ordenación integrada en la decisión sobre qué opción tomar porque existe una
superposición entre "algunos de los
posibles criterios de decisión"; Antes de escribir el programa real, se nota que a
pesar del hecho de que el problema parece ser adecuado para una declaración
CASE, la incomodidad en calcular un valor adecuado para usarlo como selector de
casos podría hacer uso de un bloque SI construye más apropiado. En este caso.
El tema repitiendo pasos, tratado en la unida seis nos habla de la capacidad de
repetir secuencias de enunciados, ya sea un número predeterminado de veces o
hasta que se cumpla alguna condición, El cual tiene Fortran y trata de una
instalación muy poderosa pero simple de usar para ir controlando la repetición de
bloques de código; Fortran contiene una serie de declaraciones que nos ayudan
en ciertos casos y a la vez por su naturaleza, tales declaraciones interrumpen el
flujo normal de control a través del programa y deben usarse con cuidado si no
van a conducir a otros problemas, la mayoría de estos programas consisten en
una serie de instrucciones que se ejecutan en secuencia solo una vez lo que nos
lleva a conclusión de que sería más útil si pudiera repetirse con diferentes
conjuntos, dándonos una serie de pasos como por ejemplo: el primero trata
simplemente de establecer el proceso que debe repetirse un número
predeterminado de veces. Ahora bien, hablaremos del DO, se pueden nombrar
construcciones de DO de bloque, construcciones de IF de bloque y construcciones
de CASE la construcción DO proporciona los medios para controlar la repetición
de declaraciones dentro de un ciclo, en un ciclo DO controlado por conteo, la
variable DO se incrementa en cada pasada a través del ciclo las dos primeras
alternativas definen un ciclo DO controlado por conteo en el que se utiliza una
variable entera, conocida como la variable DO, para determinar cuántas veces se
debe ejecutar el bloque de declaraciones. Hay muchas situaciones en las que no
es posible determinar este número de antemano, por ejemplo, en un cálculo
matemático que se terminará cuando algún valor sea inferior a un valor
predeterminado. En esta situación, podemos usar la tercera forma de la
declaración de DO, junto con una nueva declaración, EXIT, que provoca una
transferencia de control a la declaración que sigue inmediatamente a la
declaración de END DO. Como esta declaración, cuando se ejecuta, hará que se
omitan todas las declaraciones restantes en el bucle, se deduce que siempre se
usa en asociación con una de las declaraciones de control, sin embargo, el uso de
esta forma de la declaración DO conlleva el riesgo de que nunca se cumpla la
condición de obedecer la declaración EXIT. Es una buena práctica de
programación, ya que permite al programador controlar la lógica del programa
mucho más fácilmente de lo que sería de otro modo. Sin embargo,
ocasionalmente hay situaciones en las cuales esto es inconveniente o dificulta la
programación, y existen tres declaraciones adicionales para
Ayudarnos en estas situaciones excepcionales. La primera de estas declaraciones
simplemente finaliza la ejecución sin la necesidad de encontrar una manera de
llegar a la declaración END de la unidad principal del programa. Fortran 90
contiene una serie de declaraciones y construcciones que se incluyen para la
compatibilidad con versiones anteriores de Fortran, pero que no deben usarse en
nuevos programas, una tercera variación, que era la única posibilidad estándar
antes de Fortran 90, usa cualquiera de las dos primeras formas anteriores como la
declaración inicial del ciclo, pero en lugar de una declaración END DO, la
declaración final del ciclo puede ser una de una amplia gama de declaraciones de
Fortran. También debemos saber que la instrucción STOP provoca una
terminación inmediata de la ejecución del programa, podemos usar una etiqueta
de declaración para identificar una declaración.
Ejemplo del capítulo 5 y 6
[Un programa para resolver una ecuación cuadrática usando un CASO
Declaración para distinguir entre los tres casos
! Declaración constante
REAL, PARÁMETRO :: epsilon = lE-6
! Declaraciones variables
REAL :: a, b, c, d, sqrt_d, x1, x2
~ INTEGER :: selector
! Leer coeficientes
PRINT *, "Escriba los tres coeficientes a, banda c"
LEER *, a, b, c
! Calcule b ** 2-4 * a * c y el selector de casos resultante
d = b ** 2 - 4.0 * a * c
selector = d / epsilon
! Calcular e imprimir raíces, si las hay
SELECCIONE CASO (selector)
CASO 1:)
! Dos raíces
sqrt_d = SQRT (d)
xl = (-b + sqrt_d) / (a + a)
x2 = (-b-sqrt_d) / (a + a)
PRINT *, "La ecuación tiene dos raíces:", xl "y", x2
CASO (0)
! Una raíz
xl = -b / (a + a)
PRINT *, "La ecuación tiene una raíz:", xl
CASO 1)
! Sin raíces
PRINT *, "La ecuación no tiene raíces reales"
FIN SELECCIONAR
(b) Usando una construcción IF
PROGRAMA quadratic_by_block_IF
IMPLÍCITO NINGUNO
! Un programa para resolver una ecuación cuadrática usando un bloque IF
! declaración para distinguir entre los tres casos
! Declaraciones constantes
REAL, PARÁMETRO :: epsilon = lE-6
! Declaraciones variables
REAL :: a, b, c, d, sqrt_d, x1, x2
! Leer coeficientes
PRINT *, "Escriba los tres coeficientes a, banda c"
LEER *, a, b, c
[10:52 p. m., 5/6/2020] Yisela Corpas: PROGRAMA examen_marca
IMPLÍCITO NINGUNO
Este programa imprime estadísticas sobre un conjunto de resultados de
exámenes.
! Declaraciones variables
INTEGER :: i, número, marca y
suma = O, máximo =-ENORME (l), mínimo = ENORME (l)
REAL :: promedio
! Leer el número de marcas y luego las marcas
PRINT *, "¿Cuántas marcas hay?"
LEER *, número
PRINT *, "Por favor escriba", número, "marcas:"
! Bucle para leer y procesar marcas
DO i = l, número
LEER *, marcar
! En cada pase, suma de actualización, máximo y mínimo
suma = suma + marca
IF (marca> máximo) máximo = marca
IF (marca <mínimo) mínimo = marca
END DO
! Calcule la calificación promedio y los resultados de salida
promedio = REAL (suma) / número
PRINT *, "La marca más alta es", máximo
PRINT *, "La marca más baja es", mínimo
PRINT *, "La nota promedio es", promedio
FIN DEL PROGRAMA examen_marca