MATERIA:
PROGRAMACION LOGICA Y FUNCIONAL
INVESTIGACION
PROFESOR:
ING. DANIEL PEA LOPEZ
ALUMNO:
LUIS ANTONIO JAIMES CUEVAS
SEMESTRE:
OCTAVO
INTRODUCCION
Es importante que conozcamos los orgenes del PSP y cmo, en conjunto con
TSP y CMMI, forman una disciplina organizacional que te permitir realizar
software en un menor tiempo, optimizar costos y sobre todo con calidad.
El CMMI es un producto desarrollado por el Software Engineering Institute (SEI) y
se basa en la mejora continua de los procesos.
Pretende incrementar la capacidad administrativa de las organizaciones para
controlar los costos, tiempos y productividad en general.
Por otra parte, el objetivo de TSP es adiestrar a los ingenieros de software en el
desarrollo de equipos y llegar en menos tiempo a niveles altos de desempeo por
medio de la prctica del proceso personal del software de cada uno de sus
integrantes el cual nace como un acercamiento estructurado y disciplinado para el
desarrollo de software proporcionando al ingeniero de software un conjunto de
formularios, guas y estndares que les ayudan a estimar y planificar su trabajo.
Trabajando todo en conjunto y, de manera efectiva, es muy factible poder cumplir
con todos los niveles de CMMI.
Es importante entender que PSP es una disciplina personal, sin embargo en
conjunto con TSP y CMMI se pueden lograr varios beneficios para la organizacin.
FORTRAN
Las funciones en Fortran son bastante similares a las funciones matemticas:
ambas toman un conjunto de variables de entrada (parmetros) y regresan un
valor de algn tipo. Al inicio de la seccin se comento de los subprogramas
definidas por el usuario, pero Fortran 77 tiene tambin funciones incorporadas.
Un ejemplo simple muestra cmo usar una funcin:
x = cos(pi/3.0)
En este caso la funcin coseno cos de 60, asignar a la variable x el valor de 0.5
(si pi ha sido definido correctamente; Fortran 77 no tiene constantes
3
valor absoluto
valor mnimo
valor mximo
raz cuadrada
seno
coseno
tangente
arco tangente
exponencial (natural)
logaritmo (natural)
Una funcin es un fragmento de cdigo que realiza una tarea bien definida. Por
ejemplo, la funcin printf imprime por la salida estndar los argumentos que le
pasamos. Al igual que esta funcin, existen otras funciones que realizan diversas
tareas ya definidas en el estndar ANSI C y que pueden ser utilizadas por el
programador. Este tipo de funciones predefinidas son denominadas funciones de
biblioteca. Sin embargo, cada programador puede definir sus propias funciones de
acuerdo a sus necesidades. Las funciones que define el programador son
conocidas como funciones de usuario.
La utilizacin de funciones nos permite dividir un programa extenso en pequeos
segmentos que realizan tareas concretas. Probablemente, dentro de un mismo
programa se realicen las mismas tareas varias veces, lo que se facilita mediante
la utilizacin de funciones. . Sin embargo, es probable que ciertas funciones no
sean reutilizables, pero al usarlas se mejora la legibilidad del programa.
Con el propsito de permitir un manejo eficiente de los datos, las funciones en C
no se pueden anidar. En otras palabras, una funcin no se puede declarar dentro
de otra funcin , por lo que todas las funciones son globales o externas, lo que
hace que puedan llamarse desde cualquier parte de un programa.
Cuando se accede a una funcin desde un determinado punto del programa, se le
puede pasar informacin mediante unos identificadores especiales conocidos
como argumentos (tambin denominados parmetros). Una vez que la funcin
procesa esta informacin, devuelve un valor mediante la instruccin return.
La estructura general de una funcin en C es la siguiente:
tipo_de_retorno nombre_de_la_funcin (lista_de_parmetros)
{
cuerpo_de_la_funcin
return expresin
}
Donde:
tipo_de_retorno: es el tipo del valor devuelto por la funcin, o, en caso de que la
funcin no devuelva valor alguno, la palabra reservada void.
nombre_de_la_funcin: es el nombre o identificador asignado a la funcin.
lista_de_parmetros: es la lista de declaracin de los parmetros que son
pasados a la funcin. stos se separan por comas. Debemos tener en cuenta que
pueden existir funciones que no utilicen parmetros.
cuerpo_de_la_funcin: est compuesto por un conjunto de sentencias que llevan
a cabo la tarea especfica para la cual ha sido creada la funcin.
5
pagina.println("</HTML>");
pagina.close();
}; // termina dopost
public int funcion1(int a, int b){return a+b;};
public void destroy(){super.destroy();};
}// termina class
11
FORTRAN
Los tipos de datos permitidos son los siguientes:
Logical: Las variables lgicas solo pueden tener dos valores verdadero y falso.
Integer: Valores enteros guardados en 4 bytes. Se indican como nmeros sin
punto decimal: 1, 2, -3, 25, etc.
Real: Valores reales guardados en 4 bytes y con 8 cifras signicativas. Se indican
con punto decimal, y de ser necesario el exponente de la potencia de 10 despus
de una E: 1., -3.1416, 6.25E-10, etc.
Doubl: Valores reales de doble precisin guardados en 8 bytes y con 16 cifras
signicativas, tambin se denotan por real (8). Se indican con punto decimal y el
exponente de la potencia de 10 despus de una D: 1.D0, -3.1416D0, 6.25D-10,
etc. Son muy tiles en clculos numricos largos, donde los errores de redondeo
pueden hacer que las ultimas 4 o 5 cifras signicativas de un numero real sean
basura.
Cudruple: Valores reales de cudruple precisin guardados en 16 bytes y con
32cifras signicativas, tambin se denotan por real (16). Se indican con punto
decimal y el exponente de la potencia de 10 despus de una Q: 1.Q0, -3.1416Q0,
6.25Q-10, etc.
Complex: Dos valores reales formando un par y que en operaciones matemticas
Se tratan como la parte real e imaginaria de un numero complejo: (1.,-2.), (1.0E0,2.0E0). Tambin existen versiones de doble y cudruple precisin.
Character: Variables que corresponden a cadenas de caracteres. Al declarar una
variable de este tipo se debe especicar cuantos caracteres puede tener. Estas
variables deben estar contenidas en comillas: hola, abcdfe, Me llamo Luis,
128.3, etc.
__________________________________________________________________
C
Hay dos clases de tipos de datos: tipos fundamentales y tipos derivados.
nicamente vamos a ver los tipos de datos fundamentales.
Tipo entero: representa nmeros enteros con o sin signo, que estarn
compuestos por los dgitos del 0 al 9, pudiendo ser precedidos por los signos + o -.
Algunos ejemplo de datos enteros son: 0, 23, -176, -1, etc.
Tipo real: Se emplean para representar nmeros reales (con decimales).
12
__________________________________________________________________
JAVA
Los tipos de datos primitivos que soporta Java son:
Tipo de
Representacin
dato
Tamao
Rango de Valores
Valor
(Bytes)
por
Clase
Asociada
defecto
byte
Numrico Entero
-128 a 127
Byte
-32768 a 32767
Short
-2147483648
Integer
Long
con signo
short
Numrico Entero
con signo
Int
Numrico Entero
a 2147483647
con signo
long
Numrico Entero
a 9223372036854775807
con signo
float
-9223372036854775808
3.4x10-38 a 3.4x1038
0.0
Float
1.8x10-308 a 1.8x10308
0.0
Double
Carcter Unicode
\u0000 a \uFFFF
\u0000
Character
Dato lgico
true false
false
Boolean
Void
Numrico
en Coma flotante
de precisin
simple Norma
IEEE 754
double
Numrico
en Coma flotante
de precisin
doble Norma
IEEE 754
char
boolean
void
Por ejemplo:
Probablemente el paradigma de programacin que actualmente es el ms usado a
todos los niveles es la orientacin a objeto. El ncleo central de este paradigma es
la unin de datos y procesamiento en una entidad llamada "objeto", relacionable a
su vez con otras entidades "objeto".
Tradicionalmente datos y procesamiento se han separado en reas diferente del
diseo y la implementacin de software. Esto provoc que grandes desarrollos
tuvieran problemas de fiabilidad, mantenimiento, adaptacin a los cambios y
escalabilidad. Con la orientacin a objetos y caractersticas como el encapsulado,
polimorfismo o la herencia se permiti un avance significativo en el desarrollo de
software a cualquier escala de produccin.
La orientacin a objeto parece estar ligado en sus orgenes con lenguajes como
Lisp y Simula aunque el primero que acuo el ttulo de programacin orientada a
objetos fue Smaltalk
Programacin Imperativa
La programacin imperativa, en contraposicin a la programacin declarativa es
un paradigma de programacin que describe la programacin en trminos del
estado del programa y sentencias que cambian dicho estado. Los programas
imperativos son un conjunto de instrucciones que le indican al computador cmo
realizar una tarea.
La implementacin de hardware de la mayora de computadores es imperativa;
prcticamente todo el hardware de los computadores est diseado para ejecutar
cdigo de mquina, que es nativo al computador, escrito en una forma imperativa.
Esto se debe a que el hardware de los computadores implementa el paradigma de
las Mquinas de Turing. Desde esta perspectiva de bajo nivel, el estilo del
programa est definido por los contenidos de la memoria, y las sentencias son
15
Programacin lgica
La programacin lgica consiste en la aplicacin del corpus de conocimiento sobre
lgica para el diseo de lenguajes de programacin; no debe confundirse con la
disciplina de la lgica computacional.
La programacin lgica es un tipo de paradigmas de programacin dentro del
paradigma de programacin declarativa. El resto de los subparadigmas de
programacin dentro de la programacin declarativa son: programacin funcional,
programacin basada en restricciones, programas DSL (de dominio especfico) e
hbridos. La programacin lgica gira en torno al concepto de predicado, o relacin
entre elementos. La programacin funcional se basa en el concepto de funcin
(que no es ms que una evolucin de los predicados), de corte ms matemtico.
Programacin funcional
En ciencias de la computacin, la programacin funcional es un paradigma de
programacin declarativa basado en la utilizacin de funciones aritmticas que no
maneja datos mutables o de estado. Enfatiza la aplicacin de funciones, en
contraste con el estilo de programacin imperativa, que enfatiza los cambios de
estado. La programacin funcional tiene sus races en el clculo lambda, un
sistema formal desarrollado en los 1930s para investigar la definicin de funcin,
la aplicacin de las funciones y la recursin. Muchos lenguajes de programacin
funcionales pueden ser vistos como elaboraciones del clculo lambda.
Los lenguajes de programacin funcional, especialmente los que son puramente
funcionales, han sido enfatizados en el ambiente acadmico principalmente y no
16
Programacin declarativa
La Programacin Declarativa, es un paradigma de programacin que est basado
en el desarrollo de programas especificando o "declarando" un conjunto de
condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o
transformaciones que describen el problema y detallan su solucin. La solucin es
obtenida mediante mecanismos internos de control, sin especificar exactamente
cmo encontrarla (tan slo se le indica a la computadora que es lo que se desea
obtener o que es lo que se est buscando). No existen asignaciones destructivas,
y las variables son utilizadas con Transparencia referencial
Programacin estructurada
La programacin estructurada es una forma de escribir programas de ordenador
(programacin de computadora) de manera clara. Para ello utiliza nicamente tres
estructuras: secuencia, seleccin e iteracin; siendo innecesario el uso de la
instruccin o instrucciones de transferencia incondicional (GOTO, EXIT
FUNCTION, EXIT SUB o mltiples RETURN).
18
Programacin modular
La programacin modular es un paradigma de programacin que consiste en
dividir un programa en mdulos o subprogramas con el fin de hacerlo ms legible
y manejable.
Se presenta histricamente como una evolucin de la programacin estructurada
para solucionar problemas de programacin ms grandes y complejos de lo que
sta puede resolver.
Al aplicar la programacin modular, un problema complejo debe ser dividido en
varios subproblemas ms simples, y estos a su vez en otros subproblemas ms
simples. Esto debe hacerse hasta obtener subproblemas lo suficientemente
simples como para poder ser resueltos fcilmente con algn lenguaje de
programacin. sta tcnica se llama refinamiento sucesivo, divide y vencers
anlisis descendente (Top-Down).
Un mdulo es cada una de las partes de un programa que resuelve uno de los
subproblemas en que se divide el problema complejo original. Cada uno de estos
mdulos tiene una tarea bien definida y algunos necesitan de otros para poder
operar. En caso de que un mdulo necesite de otro, puede comunicarse con ste
mediante una interfaz de comunicacin que tambin debe estar bien definida.
Si bien un mdulo puede entenderse como una parte de un programa en
cualquiera de sus formas y variados contextos, en la prctica es comn
representarlos con procedimientos y funciones. Adicionalmente, tambin pueden
considerarse mdulos las libreras que pueden incluirse en un programa o, en
programacin orientada a objetos, la implementacin de un tipo de dato abstracto.
21
CONCLUSIONES
22
23