Escolar Documentos
Profissional Documentos
Cultura Documentos
discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/27286780
Article
Source: OAI
CITATIONS READS
0 75
1 author:
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Luis Eduardo Mathison Bonaguro on 05 October 2015.
BARQUISIMETO, 1997
LENGUAJES DE PROGRAMACION
Y
CALIDAD DE SOFTWARE
Por
Barquisimeto, 1997
Dedico este trabajo a mi esposa Yaya
y en especial a mis hijos Luis y
Stephanie.
AGRADECIMIENTO
iii
LENGUAJES DE PROGRAMACION
Y
CALIDAD DE SOFTWARE
Resumen
iv
configuraciones personales y transportando los fuentes para su
posterior traducción en el equipo grande.
v
INDICE
RESUMEN ......................................................................................................... IV
INDICE ............................................................................................................... VI
INDICE DE ILUSTRACIONES........................................................................... IX
I. INTRODUCCION ......................................................................................... 10
vi
1. Expresiones Aritméticas Simples ....................................................... 33
2. Expresiones Booleanas ...................................................................... 34
E. Proposiciones ........................................................................................ 34
1. Proposiciones de Asignación ............................................................. 35
2. Proposición de Bifurcación ................................................................. 36
3. Proposición de Prueba y Decisión o Condicional ............................... 36
vii
e. Reducción de Potencia ................................................................... 70
f. Reducción de Frecuencias ................................................................. 70
4. Optimización de la Matriz de Formas Intermedias.............................. 71
E. Asignación de Almacenamiento............................................................. 73
1. Función............................................................................................... 73
2. Bases de Datos .................................................................................. 74
F. Generación de Código ........................................................................... 74
1. Función............................................................................................... 74
2. Definición de un Código Ensamble Ilustrativo .................................... 74
3. Optimización Dependiente ................................................................. 76
4. Contenido del programa objeto .......................................................... 78
G. Análisis Semántico ................................................................................ 78
1. Función............................................................................................... 78
H. Manejador de Errores de Compilación .................................................. 78
1. Función............................................................................................... 78
2. Tipos de Errores ................................................................................. 79
I. Otras Salidas del Compilador ................................................................... 79
J. Pases del Compilador ............................................................................ 79
viii
INDICE DE ILUSTRACIONES
Página
ix
I. INTRODUCCION
10
11
Análisis
Madurez y Fases de
Diseño
Mantenimiento Investigación
Implementación
1. Naturales
13
14
2. Lenguajes de Computación
1. Bajo Nivel
Lenguaje C
Assembler
2. Alto Nivel
a. Lenguajes Declarativos
Científico.
Procesamiento de Datos.
Procesamiento de Texto.
Inteligencia Artificial.
Programación de Sistemas.
Conocimiento Complejidad
información
Datos
Números
Capacidad
1950 1960 1970 1980 1990 2000
a. Científico
b. Procesamiento de Datos
c. Procesamiento de Texto
d. Inteligencia Artificial
e. Programación de Sistemas
ejecutándose asincronamente.
AREA DE
PROCESO APLICACION LENGUAJES
Párrafos Proposiciones
Oraciones Expresiones
Caracteres Caracteres
24
25
A. Caracteres
Palabras Delimitadas:
.EQ., .NE.,.LT., .LE., .GT., .GE.,.TRUE., .FALSE. ,
.AND., .OR., .NOT.
1. Valores
a. Valores Numéricos
o -.
Ejemplos:
ENTEROS: 40 +25 -1232
REALES: 1.555 +0.0001 25 E+45 .34 D-10
COMPLEJOS: (1.55, 2.3)
Ejemplos:
Numéricas: 100 4.46 -8.97 +78 +0.99
No Numéricas: "Barquisimeto"
Ejemplo:
WORKING-STORAGE SECTION.
77 TOTAL-SUMA PIC 999 VALUE ZERO.
77 LINEA-PUNTO PIC X(20) VALUE IS ALL ".".
01 ENCABEZADO.
02 FILLER PIC X(10) VALUE SPACES.
02 SUELDO PIC ZZ9V99.
b. Valores Lógicos
Ejemplo de identificadores:
3. Etiquetas
4. Cadenas
COBOL:
"CADENA EN COBOL"
Se cuenta con:
a) Medios para nombrar las variables.
b) Medios para escribir las constantes.
D. Expresiones
2. Expresiones Booleanas
Ejemplos:
A .LT. B (FORTRAN)
A < B (FORTRAN versiones recientes)
A IS GREATER THAN B (COBOL)
A GREATER THAN B (COBOL)
A IS GREATER B (COBOL) las tres son equivalentes.
E. Proposiciones
especificas:
1. Proposiciones de Asignación
Ejemplos:
PASCAL B := X + Y - Z * K;
FORTRAN B=X+Y-Z*K
COBOL COMPUTE A = X + Y - Z * K.
36
2. Proposición de Bifurcación
COBOL. 11111111112
..8901234567890... Posición (Margen)
ETIQUETA.
COMPUTE W = A + B - C - D.
GO TO ETIQUETA.
FORTRAN 1111
1234567890123... Posición (Margen)
45 W=B+C-D
GO TO 45
FORTRAN:
a) IF ARITMETICO: IF (A-B) 10,100,20
COBOL:
38
39
A. Compiladores
1. Funciones de un Compilador
B. Interpretadores
1. Pasos de un Interpretador
2. Interpretadores VS Compiladores
fase de producción.
C. Ensambladores
1. Pasos de un Ensamblador
Componente Léxico
Programa ANALIZADOR ANALIZADOR
Fuente LEXICO Siguiente Componente SINTACTICO
Léxico
TABLA DE
SIMBOLO
A. Análisis Léxico
1. Función
50
51
2. Base de Datos
Tabla Indice
3. Algoritmo
B. Análisis Sintáctico
1. Función
2. Bases de Datos
3. Reconocedores
N
<IDN> <LETRA> | <LETRA><LETRA_DIGITO>
1
<LETRA> A | B | C | D | E | F | G | H | ... | X | Y | Z
<OP> + | - | * | / | ** | =
c. Arboles Sintácticos
S S
c A d c A d
a B a B
b e
1. Función
2. Bases de Datos
b. Arbol Analítico
/
a = b * (c + d e)
a =b* +
c / operando2
c + operando2
d e
d/e
63
a= *
b + operando3
b * operando3
c /
c + operando2
d e
a * operando4
a = operando4
b +
c / b*operando3
RESULTADO FINAL
d e
a = b * (c + d / e)
a = b * (c + t1) t1 = d / e
a = b * t2 t2 = c + t1
a = t3 t3 = b * t2 (paso no necesario)
1 M1 d e / 2 0
2 M2 c M1 + 3 1
3 M3 b M2 * 4 5
4 a M3 = 0 3
D. Optimización
1. Función
2. Tipos de Optimización
d. Eliminación de Redundancia
e. Reducción de Potencia
Ejemplo: b = c ** 2 b=c*c
c2
f. Reducción de Frecuencias
A=C+2
B=D+5
HAGA PARA M = 1 HASTA 30
N = (L * M) / 2
ESCRIBE( N )
FIN DEL HAGA
1 M1 d c * 2 0
2 M2 M1 b + 3 1
3 M3 c d * 4 2
4 M4 M3 M2 * 5 3
5 M5 4 3 * 6 4
6 M6 M4 M5 - 7 5
7 a M6 = 0 6
72
1 M1 d c * 2 0
2 M2 M1 b + 3 1
3 M3 c d * 4 2
4 M4 M3 M2 * 6 3
5
6 M6 M4 12 - 7 4
7 a M6 = 0 6
1 M1 d c * 2 0
2 M2 M1 b + 4 1
3
4 M4 M1 M2 * 6 2
5
6 M6 M4 12 - 7 4
7 a M6 = 0 6
E. Asignación de Almacenamiento
1. Función
2. Bases de Datos
F. Generación de Código
1. Función
L R1, operando1
operación (A, R, M, D) R1 o R0 (según el caso), operando2
S R1, resultado
L R1, M1
S R1, A
1 M1 d e / 2 0
2 M2 c M1 + 3 1
3 M3 b M2 * 4 2
4 a M3 = 0 3
76
L R1, d
D R0, e M1 = d / e
S R1, M1
L R1, c
A R1, M1 M2 = c + M1
S R1, M2
L R1, b
M R0, M2 M3 = b * M2
S R1, M3
L R1, M3
S R1, a a = M3
3. Optimización Dependiente
G. Análisis Semántico
1. Función
1. Función
2. Tipos de Errores
a.- Léxico.
b.- Sintáctico.
c.- Semántico.
d.- Carga (revisión interfaz con subprogramas).
e.- Ejecución.
81
82
Análisis
Diseño
Codificación
Comprobación
Mantenimiento
Análisis
Diseño
Codificación
Comprobación
Mantenimiento
sistema.
ESFUERZO
SITUACION REAL
Demasiado
Esfuerzo
Rango
deseable
de esfuerzo
Mínimo
Esfuerzo
ESFUERZO
Rango
deseable
de esfuerzo
Mínimo
Esfuerzo
ENTRADAS SALIDAS
PROCESO
(Datos) (programa) (Información)
86
87
A. Técnicas de Programación
Procedimiento 1
Procedimiento 2 DATOS
Procedimiento 3
DATOS DATOS
Métodos Métodos
OBJETO OBJETO
DATOS DATOS
Métodos Métodos
OBJETO OBJETO
B. Algoritmos
1. Análisis de Algoritmo
N Log(N) N log(N) N2
10 3 30 100
100 6 600 10.000
1.000 9 9.000 1.000.000
10.000 13 130.000 100.000.000
100.000 16 1.600.000 10 mil millones
1.000.000 19 19.000.000 un billón
4. Implementación de Algoritmos
5. Selección de un Algoritmo
6. Análisis Empírico
7. Optimización de un Programa
C. Estándares
1. Identificadores y Literales
3. Pantallas
4. Otras Estandarizaciones
114
115
1
B/D : Sistemas de bases de datos.
2
PG: Propósito general; es decir, puede ser utilizado prácticamente en cualquier tipo de
aplicación.
116
118
119
126
127