Vous êtes sur la page 1sur 31

Ao de la consolidacin del Mar de Grau

UNIVERSIDAD
NACIONAL
"SAN LUIS GONZAGA"
DE ICA
FACULTAD:

INGENIERIA DE SISTEMAS
TEMA:

PLATAFORMAS TECNOLOGICAS, TECNICAS DE


PROGRAMACION
CURSO

INGENIERA DE INFORMACIN

DOCENTE:

ING.JHON ROMERO

ALUMNOS:

BAUTISTA LINARES ANTONY

CULI GABRIEL WILLIAM


HUACAHUASI MACHACA CARLOS
VARA MARQUES FRANK
CICLO

ICA - PERU
2016

AGRADECIMIENTO

Agradecemos a dios por darnos la


fortaleza para enfrentar todos los
obstculos y la sabidura para
tomar

la

mejor

decisin,

la

inteligencia y la salud para la


elaboracin este trabajo.
Agradecemos a nuestros padres
quienes

siempre

nos

moralmente

durante

nuestra

apoyan

econmicamente
carrera

universitaria y siempre estuvieron


pendientes

de

lo

que

yo

necesitaba adems de siempre


brindarme su amor y su confianza

DEDICATORIA

Este trabajo lo dedicamos con


mucho amor y cario a Dios por
darnos la oportunidad de vivir y
regalarnos una gran familia. Por
darnos las ganas y voluntad de
luchar da a da.

Contenido
Ao de la consolidacin del Mar de Grau...................................................1
AGRADECIMIENTO...............................................................................2
DEDICATORIA.....................................................................................3
PLATAFORMA TECNOLGICA................................................................6
1.

CONCEPTOS PLATAFORMA TECNOLGICA......................................6

2.

TIPOS DE PLATAFORMA TECNOLGICAS.........................................6

3.

OBJETIVOS DE UNA PLATAFORMA TECNOLOGICA...........................10

4.

PRINCIPALES PLATAFORMAS TECNOLOGICAS................................10

5.

SERVICIOS DE UNA PLATAFORMA TECNOLOGICA............................11

6.

EMPRESAS LIDERES EN PLATAFORMA TECNOLOGICA.....................14

TECNICAS DE PROGRAMACION............................................................17
1.

QU ES PROGRAMACIN MODULAR?..........................................17

3.

LAS VARIABLES GLOBALES Y LOCALES........................................20

4.

LAS FUNCIONES PREDEFINIDAS...................................................22

5.

PROGRAMACIN ESTRUCTURADA................................................24

6.

PROGRAMACION ORIENTADA A OBJETOS......................................27

TABLA DE FIGURAS

Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura

1..............................................................................................8
2..............................................................................................8
3.............................................................................................13
4.............................................................................................14
5.............................................................................................15
6.............................................................................................15
7.............................................................................................16
8.............................................................................................17

PLATAFORMA TECNOLGICA
1. CONCEPTOS PLATAFORMA TECNOLGICA.

El conjunto de software, hardware y de las aplicaciones que se pueden realizar

con ellos.
Inicialmente las plataformas tecnolgicas eran simplemente una coleccin de

pginas estticas, documentos, etc., que podan consultarse o descargarse.


Una plataforma tecnolgica es un sitio Web cuyo objetivo es ofrecer al usuario,
de forma fcil e integrada, el acceso a una serie de recursos y de servicios,
entre los que suelen encontrarse buscadores, foros, documentos, aplicaciones,
compra electrnica.

2. TIPOS DE PLATAFORMA TECNOLGICAS


De acuerdo a su funcionamiento, pueden ser Educativas, Comerciales y
Empresariales.
-

Plataforma tecnolgica educativa: son programas que permite a los


Docentes la elaboracin de sus propios contenidos digitales. Un programa
sirve para la creacin de contenidos en la computadora, mientras una
plataforma para la creacin de contenidos directamente de Internet.
Plataformas tecnolgicas educativas se engloba amplio rango de aplicaciones
informticas instaladas en un servidor cuya funcin es la de facilitar al
profesorado la creacin, administracin, gestin y distribucin de cursos a
travs de INTERNET.
Se entiende por tecnologa educativa al acercamiento cientfico basado en la
teora de sistemas que proporciona al educador las herramientas de planeacin
y desarrollo, as como la tecnologa, que busca mejorar el proceso de
enseanza-aprendizaje a travs del logro de los objetivos educativos y
buscando la efectividad del aprendizaje.

Caractersticas de las plataformas


Para poder cumplir las funciones que se esperan, las plataformas deben
poseer unas aplicaciones mnimas, que se agrupan en:
Herramientas de distribucin de contenidos: que permite al profesorado
poner a disposicin del alumno, informacin en forma de archivos.

Herramientas de comunicacin y colaboracin sncronas y asncronas:


como foros de debate e intercambios de informacin, mensajera interna del
curso con posibilidades de enviar mensajes individuales o grupales, chats etc.
Herramientas de seguimiento y evaluacin: cuestionarios editables por el
profesorado, para evaluacin del alumnado y de auto evaluacin para los
mismos.
Herramientas de administracin y asignacin de permisos: se realiza al
usuario generalmente mediante autenticacin con nombre de usuario y
contrasea de usuarios registrados.
Herramientas complementarias: portafolio, blogs de notas sistemas de
bsqueda de contenidos del curso y foros.
El uso de estas plataformas tecnolgicas nos presenta como ventajas:
Enriquecimiento del proceso formativo, aumentar la motivacin por el
aprendizaje, facilitar el proceso de comunicacin entre los agentes y tener un
mayor seguimiento del proceso de enseanza-aprendizaje.
Moodle es una de las plataformas de cdigo abierto ms utilizadas, por lo cual
existen amplia cantidad de desarrolladores que trabajan con esta plataforma,
tambin en internet podemos encontrar gran cantidad de tutoriales, manuales,
video tutoriales y cursos que ayudan al uso de la misma.

FIGURA 1
Blackboard, es el lder en el sector de soluciones de e-learning para el sector
educativo, atendiendo el 72% de las 200 universidades ms grandes del
mundo. Se fundamenta en el desarrollo y la implementacin de soluciones

integrales que apoyan las labores acadmicas desde programas 100%


virtuales, hasta aquellos que utilizan la tecnologa como complemento de las
actividades presenciales. Cognos OnLine y Blackboard en alianza estratgica
trabajamos junto a nuestros clientes en el desarrollo e implementacin de
tecnologas para perfeccionar cada aspecto del proceso educativo requerido
dentro de sus organizaciones.

FIGURA 2
-

Plataforma tecnolgica Comercial:


Son herramientas que han evolucionado rpidamente en su complejidad ante
el crecimiento del mercado de actividades formativas a travs de internet. En
general, todas han mejorado en operatividad y han generado suscesivas
versiones que incorporan herramientas y aplicaciones cada vez ms verstiles,
completas y complejas que permiten una mayor facilidad en el seguimiento de
un curso virtual y en la consecucin de los objetivos que pretende, tanto
acadmicas como administrativos y de comunicacin.
En principio, las plataformas comerciales pueden parecer la mejor opcin para
poner en funcionamiento acciones formativas de e-learnig en una institucin
educativa, por varias razones:
a. Suelen ser fciles de instalar y estar bien documentadas.
b. El servicio de asistencia tcnica suele ser agil y rpido.
c. Suelen estar muy testeadas por departamentos de control de calidad
que llevan a cabo muchas pruebas.
d. Ofrecen derecho a actualizaciones competitivas o a la adquisicin del
producto de por vida.
e. Dan alta fiabilidad.
f. Hay empresas que disean y desarrollan mdulos especficos que
mejoran, apoyan o extienden los servicios prestados por las que tienen
ms penetracin en el mercado.

g. A medida que se han ido asentado han aumentado el precio de las


licencias.
-

Plataforma tecnolgica Empresarial: La creciente presencia de las


tecnologas Internet en las compaas est provocando un fuerte aumento de
la demanda de soluciones que posibiliten su adaptacin a los mercados de la
nueva economa.
El dinamismo de la industria del software y el hardware, su heterogeneidad y el
sorprendente ritmo de aparicin de nuevos dispositivos de acceso a servicios e
informacin, dificultan la eleccin de estas soluciones.
Por esta razn, es necesario contar con una plataforma tecnolgica que
permita incorporar fcilmente nuevas soluciones independientemente de su
origen tecnolgico, integrar fcilmente aplicaciones y servicios ya existentes en
la empresa, y desarrollar, implantar y gestionar nuevas aplicaciones de
negocio.
Los requisitos funcionales que debera contemplar una plataforma tecnologca
empresariales podramos destacar los siguientes:
a. Cuando el acceso a un sistema es ininterrumpido y 24 horas al da, la
fiabilidad debe ser una caracterstica inherente al sistema.
b. En aquellas transacciones que manejen informacin crtica del negocio, que
se realicen desde BBC (Browser Based Clients) y sean atendidas por
servidores web, se debe garantizar que ningn proceso comprendido en
una transaccin fallida acte sobre el sistema.
c. Si se necesitan sistemas de encriptacin, se recomienda un sistema
basado en mecanismos de claves pblicas.
d. Soporte para autentificacin de firmas digitales.

3. OBJETIVOS DE UNA PLATAFORMA TECNOLOGICA


Pueden servir como un mecanismo de orientacin y estructuracin de algn

sector.
Mostrar un gran nmero de funciones (fruto de las presiones de los usuarios,
las continuas tablas comparativas entre ellas...) en lugar de diferenciarse por

estructuras y conceptos distintos.


Las plataformas tecnolgicas pueden contribuir de una manera importante al
desarrollo de algn tema de Investigacin.
Accesibilidad completa a los involucrados a una plataforma con la ventaja de
la no presencia, en otras palabras uno puede acceder a esta plataforma
tecnolgica de cualquier Terminal o computador.
4. PRINCIPALES PLATAFORMAS TECNOLOGICAS

Plataformas Tecnolgicas CRM :


CRM (Customer Relationship Management) (Gestin de la Relacin con los
Clientes) Iniciativa Tecnolgica orientada a personas y procesos, enfocada a la
mejora de la atencin de los clientes con el objetivo de impulsar las ventas en
la nueva era.
Plataformas Tecnolgicas ERP:
ERP (Enterprise Resource Planning)

(Planificacin

de

Recursos

Empresariales) Sistemas de gestin de informacin que automatizan muchas


de las prcticas de negocio asociadas con los aspectos operativos o
productivos de una empresa
Plataformas Tecnolgicas SCM:
SCM (Supply Chain Management) (Gestin de la Cadena de Suministros)
Proceso de planificacin, puesta en ejecucin y control de las operaciones de
la red de suministro con el propsito de satisfacer las necesidades del cliente
con tanta eficacia como sea posible
Plataformas Tecnolgicas DM:
DM (Data Mining) (Minera de Datos) Anlisis automtico y sistematizado de los
datos numricos de la empresa, permitiendo detectar patrones, segmentacin,
desviaciones y prever tendencias
Plataformas Tecnolgicas BI:
BI (Business Intelligence) (Inteligencia de Negocios o Inteligencia Empresarial)
Conjunto de estrategias y herramientas enfocadas a la administracin y
creacin de conocimiento, mediante el anlisis de datos existentes en una
organizacin o empresa
Plataformas Tecnolgicas PLM:
PLM (Product Lifecycle Management) (Gestin del Ciclo de Vida del Producto)
Solucin informtica que permite gestionar de manera integral toda la
informacin relacionada con el producto, desde la primer idea pasando por su
lanzamiento, servicio hasta su eliminacin.

5. SERVICIOS DE UNA PLATAFORMA TECNOLOGICA


FORO (INTERNET).
Los foros en Internet son tambin conocidos como foros de mensajes, de
opinin o foros de discusin y son una aplicacin web que le da soporte a
discusiones en lnea. Son los descendientes modernos de los sistemas de

noticias BBS (Bulletin Board System) y Usenet, muy populares en los aos
1980 y 1990. Por lo general los foros en
Internet existen como un complemento a un sitio web invitando a los usuarios a
discutir o compartir informacin relevante a la temtica del sitio, en discusin
libre e informal, con lo cual se llega a formar una comunidad en torno a un
inters comn. Las discusiones suelen ser moderadas por un coordinador o
dinamizador quien generalmente introduce el tema, formula la primera
pregunta,

estimula

gua,

sin

presionar,

otorga

la

palabra,

pide

fundamentaciones y explicaciones y sintetiza lo expuesto antes de cerrar la


discusin.

BLOG:
Un blog, tambin conocido como weblog o cuaderno de bitcora (listado de
sucesos),

es

un

sitio

Web

peridicamente actualizado

que

recopila

cronolgicamente textos o artculos de uno o varios autores, apareciendo


primero el ms reciente, donde el autor conserva siempre la libertad de dejar
publicado lo que crea pertinente. Habitualmente, en cada artculo, los lectores
pueden escribir sus comentarios y el autor darles respuesta, de forma que es
posible establecer un dilogo. El uso o temtica de cada weblog es particular,
los hay de tipo personal, periodstico, empresarial o corporativo, tecnolgico,
educativo (edublogs), etc.
WIKIS.
Este artculo o seccin necesita fuentes o referencias que aparezcan en una
publicacin acreditada, como libros de texto u otras publicaciones
especializadas en el tema. Un (o una) wiki (del hawaiano wiki wiki, rpido)
es un sitio web colaborativo que puede ser editado por varios usuarios. Los
usuarios de una wiki pueden as crear, editar, borrar o modificar el contenido
de una pgina web, de una forma interactiva, fcil y rpida; dichas facilidades
hacen de una wiki una herramienta efectiva para la escritura colaborativa.
La tecnologa wiki permite que pginas web alojadas en un servidor pblico (las
pginas wiki) sean escritas de forma colaborativa a travs de un navegador,
utilizando una notacin sencilla para dar formato, crear enlaces, etc.,
conservando un historial de cambios que permite recuperar de manera sencilla
cualquier estado anterior de la pgina. Cuando alguien edita una pgina wiki,
sus cambios aparecen inmediatamente en la web, sin pasar por ningn tipo de

revisin previa. Wiki tambin se puede referir a una coleccin de pginas


hipertexto, que pueden ser visitadas y editadas por cualquier persona.
COMERCIO ELECTRONICO.
El comercio electrnico (en ingls Electronic Commerce, E-Commerce,
ecommerce o EC) consiste principalmente en la distribucin, compra, venta,
mercadotecnia y suministro de informacin complementaria para productos o
servicios a travs de redes informticas como Internet u otras. La industria de
la tecnologa de la informacin podra verlo como una aplicacin informtica
dirigida a realizar transacciones comerciales. Una definicin alternativa lo vera
como la conduccin de

comunicaciones de negocios comerciales y su

direccin a travs de mtodos electrnicos como intercambio electrnico de


datos y sistemas automticos de recoleccin de datos. El comercio electrnico
tambin incluye la transferencia de informacin entre empresas (EDI).

FIGURA 3
PORTAL DE INTERNET.
Un portal de Internet es un sitio web cuyo objetivo es ofrecer al usuario, de
forma fcil e integrada, el acceso a una serie de recursos y de servicios, entre
los que suelen encontrarse buscadores, foros, documentos, aplicaciones,
compra electrnica, etc.
Principalmente estn dirigidos a resolver necesidades especficas de un grupo
de personas o de acceso a la informacin y servicios de una institucin pblica
o privada.

Un portal debe ofrecer otros servicios adicionales:


Servicios de bsqueda que incluye mecanismos de bsqueda, directorios y
pginas amarillas para localizar negocios o servicios.
Contenidos, es decir, informacin de varios tpicos como noticias, deportes,
pronsticos de clima, listas de eventos locales, mapas, opciones de
entretenimiento, juegos, ligas a estaciones de radio y a otros sitios con
contenido especial en ciertas reas de inters como coches, viajes salud entre
otros.
Facilidades para construir comunidades virtuales tales como chat, servicios de
mensajera,

aplicaciones

para

intercambio

de

fotografas,

anuncios

clasificados, posibilidad de construir pginas web personales.

FIGURA 4

6. EMPRESAS LIDERES EN PLATAFORMA TECNOLOGICA


Como hemos citado antes, hay que tomar en cuenta que tenemos en la actualidad
plataformas informativas, educativas, gubernamentales, entretenimiento, laborales,
entre otras, cada una con sus objetivos a realizar que es brindar los mejores
servicios y aplicaciones a los usuarios. Tambin hay que tomar en cuenta como un
gran punto de apoyo las empresas que laboran en el mbito de las
telecomunicaciones que se encargan a travs de las redes transmitir toda
informacin que contienen las plataformas. Las compaas de mayor perfil con
mayor importancia son:

Google:
Es la pgina web ms importante del mundo; y a su vez es el buscador ms
utilizado en la actualidad. Basado en la bsqueda de informacin, archivos
pginas web, contenido multimedia, etc. Ofrece servicios como correo
electrnico, creacin de pginas web a travs de sites.google.com, entre otras
aplicaciones. Fundadores ( Larry Page y Sergey Brin).

FIGURA 5
Apple :

Empresa lder en ventas de hardware en la actualidad innovando con su


dispositivos celulares "IPhone", dispositivos porttiles "IPad" y "IPod", adems
el "software de Apple se encuentran el sistema operativo Mac OS X, el sistema
operativo IO,

el

explorador

de

contenido

multimedia iTunes,

la

suite iLife (software de creatividad y multimedia), la suite iWork (software de


productividad), Final Cut Studio (una suite de edicin de vdeo profesional),
Logic Studio (software para edicin de audio en pistas de audio), Xsan
(software para el intercambio de datos entre servidores), Aperture (software
para

editar

Imgenes

RAW),y

el

es.wikipedia.org/wiki/Apple).

FIGURA 6
Microsoft:

navegador

web

Safari".(Fuente:

Microsoft Corporation es una compaa que se dedica al desarrollo,


fabricacin, otorgamiento de licencias y produccin de software y hardware
electrnico.

Su

producto

reconocido

por

excelencia

es

el sistema

operativo Microsoft Windows en sus diversas versiones, junto con el paquete


de software Microsoft Office. Ambos ocupan una gran parte de la cuota del
mercado, a pesar de tener fuertes competidores como los desarrollados por la
empresa Apple o el software libre y de cdigo abierto que tuvo su auge en los
ltimos aos. Fundadores Bill Gates y Paul Allen.

FIGURA 7

TECNICAS DE PROGRAMACION
PROGRAMACION MODULAR
1. QU ES PROGRAMACIN MODULAR?
Uno de los mtodos ms conocidos para resolver un problema es dividirlo en
problemas ms pequeos, llamados subproblemas. De esta manera, en lugar
de resolver una tarea compleja y tediosa, resolvemos otras ms sencillas y a
partir de ellas llegamos a la solucin. Esta tcnica se usa mucho en
programacin ya que programar no es ms que resolver problemas, y se le
suele llamar diseo descendente,

metodologa del divide y vencers o

programacin top-down.
Es evidente que si esta metodologa nos lleva a tratar con subproblemas,
entonces tambin tengamos la necesidad de poder crear y trabajar
con subprogramas para resolverlos. A estos subprogramas se les suele
llamar mdulos,

de

En Pascal disponemos

ah
de

viene

el

dos

tipos

nombre
de

de programacin

mdulos:

modular.

los procedimientos y

las funciones.
Veamos un ejemplo de cmo emplear el diseo descendente para resolver un
problema. Supongamos que un profesor quiere crear un programa para
gestionar las notas de sus alumnos. Quiere que dicho programa le permita
realizar tareas tales como asignar notas, cambiar notas, ver las notas segn
distintas calificaciones, etc. A continuacin tines un esquema que representa
una de las posibles divisiones del problema en mdulos.

FIGURA 8

2. LOS PROCEDIMIENTOS
Un procedimiento es un subprograma que realiza una tarea especfica.
Para invocarlo, es decir, para hacer que se ejecute, basta con escribir
su nombre en el cuerpo de otro procedimiento o en el programa principal.
Pero, hay que tener muy en cuenta que su declaracin debe hacerse antes de
que sea llamado por otro mdulo.
Una vez que has construido varios programillas en Pascal, crear un
procedimiento no es nada complicado, pues tiene prcticamente la misma
estructura que un programa. Veamos las secciones que comparten y no
comparten un procedimiento y un programa principal:

Mientras que en el programa la cabecera consta de la palabra


reservada program seguida
procedimiento

se

del

compone

nombre
de

la

del

programa,

en

un

palabra procedure seguida

del nombre del procedimiento y una lista de parmetros que es


opcional.

Las secciones de declaracin de constantes (const), de tipos (type) y de


variables (var) tambin pueden aparecer en la estructura de cualquier
procedimiento.

Respecto al cuerpo del procedimiento, decir que al igual que el de un


programa se delimita por las palabras reservadas begin y end, y en su
interior puede contener sentencias simples o estructuradas.

Por ltimo, comentar que ambos difieren en el signo de puntuacin que


marca su final, ya que en un programa es el punto y en un
procedimiento es el punto y coma.

Todas estas diferencias y similitudes que hemos comentado, puedes


apreciarlas en los siguientes esquemas que representan las estructuras de un
programa y de un procedimiento:
program nombre_programa;
const declarar_ctes;
type declarar_tipos;

procedure nombre
(lista_parametros);

const declarar_ctes;
var declarar_vars;
type declarar_tipos;
var declarar_vars;
(*aqu iran los subprogramas*)

(*aqu iran los subprogramas*)


begin
cuerpo_programa
begin
end .
cuerpo_procedimiento
end;

Los parmetros (argumentos) Como habrs observado, con los procedimientos


nos llega un concepto nuevo, el de los parmetros. A los parmetros tambin
se les conoce como argumentos y tienen la misin de comunicar al
procedimiento con el programa que lo llama. Por ejemplo, si quieres hacer un
subprograma que multiplique dos nmeros, lo ms cmodo es que al llamar al
procedimiento le pases los valores que participarn en la operacin. Podra ser
algo como:
procedure producto (a,b : integer; var rdo : integer) ;
(* resto del procedimiento *)

En el ejemplo anterior se observan las dos clases de argumentos que existen


en Pascal:

Los parmetros por valor

Los parmetros por referencia

Los parmetros por valor tiene dicho nombre porque lo que recibe el
subprograma no son ms que copias de los valores de los datos que el
programa invocador le pasa. Por tanto si en el procedimiento modificamos

alguno de estos valores, los datos originales permaneceran inalterados. En


el ejemplo, son a y b.
En cambio, en los parmetros por referencia lo que se pasa al procedimiento
son los datos en s. Y si ste los modifica, los cambios permanecern una vez
que la ejecucin vuelva al mdulo que invoc al procedimiento. Se utilizan para
obtener valores de los clculos que haga un subprograma, y en el
anterior ejemplo es rdo.
Cmo se especifica que un parmetro es por valor o por referencia?
Pues es tan sencillo como anteponer la palabra reservada var cuando quieres
que un argumento sea considerado como referencia. Esto se observa
claramente con el parmetro rdo del ejemplo.
3. LAS VARIABLES GLOBALES Y LOCALES
Despus de estudiar los procedimientos de Pascal y las diferencias entre
parmetros por valor y por referencia, es hora de tratar otro aspecto clave en la
programacin modular: la distincin entre variables globales y locales.
Veamos un ejemplo que, como siempre, nos ayudar en la explicacin de estos
nuevos conceptos:
program varsGlobalesLocales;
var
vGlobal : integer;

procedure nombreProc(param : integer);


var
vLocal : integer;
begin
vLocal := 2 * param;
vGlobal := vLocal
end;

(*cuerpo principal del programa*)


begin
vGlobal := 1;
nombreProc(4);
writeln('vGlobal vale : ',vGlobal)
end.

Una variable local es una variable que est declarada dentro de un


subprograma, y se dice que es local al subprograma. Y lo que la caracteriza es
que su valor slo est disponible mientras se ejecuta el subprograma. Dicho de
otra manera, el programa principal no tiene conocimiento alguno de las
variables locales de sus procedimientos y funciones.
Las variables declaradas en la seccin correspondiente a esta labor en el
programa principal se denominan variables globales. Y a diferencia de las
locales, su valor est disponible tanto en el cuerpo del programa principal como
en el de cualquiera de los subprogramas declarados.
En el ejemplo anterior se declara una variable local llamada vLocal, y si se
intentase usarla en el cuerpo del programa principal, por ejemplo para asignarle
un valor, recibiramos un error del compilador. Tambin se declara una variable
global (vGlobal), cuyo valor se cambia en el cuerpo del procedimiento, y este
cambio permanece despus de ejecutarlo, pues el resultado que se mostrara
en pantalla sera: vGlobal vale : 8.
nota: aunque en el ejemplo se hace, no es una buena prctica en programacin
tratar con variables globales en los subprogramas, porque pueden aparecer
errores debidos a algn cambio no previsto en una de estas variables. Este tipo
de errores son conocidos como efectos laterales y se evitan usando
los parmetros en la comunicacin de un programa con sus procedimientos.
Un ejemplo con los procedimientos

Despus de hablar de procedimientos, parmetros por valor y por referencia


y variables globales y locales, es la hora de presentarte un ejemplo con el que
puedas reforzar lo que hemos visto. Con l se pretende que queden
absolutamente claros estos conceptos porque son fundamentales en la
programacin.
En el ejemplo, tienes a la izquierda el cdigo de un programa en el que hay un
procedimiento. A la derecha, tienes tres casillas en las que debes
introducir nmeros enteros para variables que participan en el programa.
Despus de dar los valores, deberas examinar el cdigo y determinar qu
salida crees que se producir. Por ltimo, pulsando el botn puedes ver la
salida real y compararla con la que tenas en mente.

4. LAS FUNCIONES PREDEFINIDAS


Este

tema

trata

de

la

programacin

modular,

como

ya

hemos

dicho, Pascal nos ofrece dos tipos de mdulos. Uno ya lo hemos comentado,
los procedimientos, y el otro, es el que vamos a tratar ahora, lasfunciones.
La divisin a ms alto nivel que se suele hacer con las funciones, es la que las
divide segn quien sea el autor de las mismas. As tenemos funciones
predifinidas o estndar, y funciones de usuario. Las de usuario las trataremos
ms adelante. Ahora nos centraremos en las predefinidas.
Las funciones predefinidas, tambin llamadas estndar, son las que el propio
lenguaje Pascal pone a disposicin del programador. Por ejemplo, si necesitas
calcular el valor absoluto de un nmero, no es necesario que construyas la
funcin, pues ya se dispone de una que lo hace.
Dependiendo del tipo de compilador de Pascal que uses, dispondrs de ms o
menos funciones estndar, pero siempre tendrs un grupo bsico que
comparten todos. A continuacin se citan unas cuantas funciones de
las bsicas:
sin(x:real)

seno de x

cos(x:real)

coseno de x

sqr(x:real)

cuadrado de x

sqrt(x:real)

raz cuadrada de x

abs(x:real)

valor absoluto de x ln(x:real)

int(x:real)

parte entera de x

frac(x:real)

logaritmo neperiano
de x
parte decimal de x

pred(x:tipo
ordinal)

predecesor de x

pi (*no

valor de la

args.*)

constante pi

succ(x:tipo
ordinal)

sucesor de x

odd(x:integer) si x es o no impar

Funciones definidas por el usuario


Las funciones de usuario son, como su nombre indica, las que el propio usuario
declara, de igual manera que declara procedimientos. Las funciones nacen con
el propsito de ser subprogramas que siempre tienen que devolver algn valor.
Las dos principales diferencias entre procedimientos y funciones son:

Las funciones siempre devuelven un valor al programa que las invoc.

Para llamar a un procedimiento se escribe su nombre en el cuerpo del


programa, y si los necesita, se incluyen los parmetros entre parntesis.
Para invocar una funcin es necesario hacerlo en una expresin.

Veamos el esqueleto bsico que comparten las funciones:


function nombre [(p1,p2,...)] : tipo;
const lista_ctes;
type lista_tipos;
var lista_vars;
(*declaracion de subprogramas*)
begin
(* cuerpo de la funcin *)
nombre := valor_devuelto
end;

Comentemos la sintaxis de una funcin que aparece en el cuadro anterior:

La lista de parmetros (p1,p2,...) est encerrada entre corchetes porque


es opcional como en los procedimientos.

tipo es el tipo del dato que devolver la funcin. As podemos dividir las
funciones en lgicas (boolean), enteras (integer), reales (real) y de carcter
(char)

Y al final del cuerpo de la funcin es obligatorio asignarle un valor del tipo


devuelto al nombre de la funcin, porque como ya hemos dicho una funcin
siempre devuelve un valor.

5. PROGRAMACIN ESTRUCTURADA
En el apartado anterior se ha visto cmo la programacin modular es una
filosofa de la programacin en la que se dan una serie de consejos para la
realizacin de programas por descomposicin en mdulos.
Sin embargo, para programar cada mdulo individual es necesario aplicar
tambin tcnicas que nos faciliten la labor y nos aseguren al mximo la
correccin y adecuacin del producto final. Los mdulos deben estar dotados
de una estructura interna slida y se deben minimizar al mximo los errores
humanos.
Este es el objetivo de la programacin estructurada, presentndose por tanto
como el complemento ideal al diseo modular. Es difcil dar una definicin de lo
que es en s pero podramos hablar de una:
Tcnica de construccin de programas que utilizan al mximo los recursos del
lenguaje, limitan el nmero de estructuras aplicables a la construccin de
algoritmos y presenta una serie de reglas que coordinan el desarrollo de las
diferentes fases de la programacin.
Si bien la definicin en s es un poco abstracta, lo que s podemos concretar
son los siguientes conceptos, presentes en todas las obras de tericos de la
programacin al respecto (Dijkstra, Hoare, Knuth...):

Estructuras bsicas aplicables

Recursos Abstractos

Diseo descendente top-down

5.1 Estructuras bsicas de control


Existe un teorema enunciado por Bohm y Jacopini en 1966
denominado teorema de la estructura que dice lo siguiente:

Un programa propio puede ser escrito utilizando solamente tres tipos de


estructuras de control, siendo stas las siguientes:

Secuencial

Selectiva o bifurcacin

Iterativa o bucle

Adems, se considera un programa propio a aquel que cumple las siguientes


caractersticas:

Posee un nico punto de entrada y otro de salida

Todos los caminos desde la entrada hasta la salida que se pueden


seguir

Todas las instrucciones son ejecutables y no existen bucles infinitos

La asuncin del teorema anterior llev a Dijkstra a enunciar la siguiente


sentencia:
La estructura GOTO es perjudicial para la programacin
El motivo de esta afirmacin fue que se haba demostrado por una parte que no
era necesaria, y por otra, que propiciaba malos hbitos de programacin. Pero
en Ensamblador y cdigo mquina sigue siendo imprescindible.
Casi todos los lenguajes de alto nivel actuales la conservan, aunque su uso
est muy restringido (y mal visto).
Sobre las estructuras de control bsicas permitidas, no cabe ningn
comentario, pues han sido ya convenientemente tratadas en los temas
anteriores.
5.2 Recursos Abstractos
El proceso de obtencin de diferentes pasos hasta encontrar la solucin de un
problema es un proceso abstracto.
Disear o concebir un problema en trminos abstractos consiste en no tener en
cuenta la mquina que lo va a resolver, ni el lenguaje de programacin que se
va a utilizar.

En este punto, por tanto, se insiste en la necesidad del diseo de un algoritmo


independiente como paso previo a la codificacin en un lenguaje concreto, por
lo que el trabajo realizado en esta fase de abstraccin, podra amortizarse
tambin al trasladarlo a diferentes implementaciones concretas sin necesidad
de reiniciar el proceso completo en cada caso.
Para realizar este diseo abstracto, se pueden utilizar recursos tradicionales
tales como organigramas, pseudocdigo, tablas de decisin, etc. Pero sobre
todo, aparece un nuevo concepto de diseo que es el presentado a
continuacin:
5.3 Metodologa descendente: top-down
La metodologa o diseo descendente tambin conocida como diseo top-down
consiste en refinar un mdulo de programa en niveles de menor a mayor
complejidad que den solucin al problema.
Si nos fijamos, consiste en llevar los principios macroscpicos del diseo
modular de programas hasta el interior de que cada mdulo, terminando el
proceso al llegar a las instrucciones simples.
Cuando se considera una solucin modular para cualquier problema, pueden
formularse muchos niveles de abstraccin. En el nivel superior de abstraccin,
se establece una solucin en trminos amplios. En los niveles inferiores de
abstraccin se toma una orientacin ms procedimental. Por ltimo, en el nivel
ms bajo de abstraccin, se
establece la solucin de forma que pueda implementarse directamente.
Esencialmente consiste en crear una estructura jerrquica de tipo arbrea, en
la que los niveles superiores prximos a la raz enuncian el problema a groso
modo, mientras que segn vamos descendiendo por la estructura, vamos
entrando en mayor detalle, hasta llegar a las hojas del rbol, que representan
las instrucciones simples en que se descompone el problema.
5.4 Ejemplo de diseo top-down
A continuacin vamos a desarrollar un ejemplo de esto. Supongamos que
debemos programar un mdulo que controle el flujo de informacin y
documentos de un almacn. Lo primero que hacemos es descomponer la
gestin en las tres tareas bsicas del almacn:

compras

manejo diario de existencias

ventas

6. PROGRAMACION ORIENTADA A OBJETOS


INTRODUCCION
En los ltimos aos la frase orientado (a) a objetos, se ha vuelto muy
popular, escuchndose a cada momento frases como sistemas operativos
orientados a objetos, lenguajes orientados a objetos, programacin
orientada a objetos (POO), etc. Sin embargo, el concepto ya tiene un tiempo
de aproximadamente 25 aos, cuando se dio su nacimiento con la creacin
del lenguaje Simula. Su redescubrimiento y reciente popularidad se deben a
C++, lenguaje que fue creado por Stroustrup y fue basado en un lenguaje que
es usado ampliamente como C. En esta parte se dar a conocer los
principales conceptos ms ntimamente relacionados con la POO, as como la
forma de implementarlos en C++.
Se har mencin de los conceptos generales ms utilizados en el modelo
orientado a objetos, los cuales son: abstraccin, encapsulacin y
modularidad. Y con respecto a programacin, son: objeto, clase, mtodo,
envo y recepcin de mensajes, herencia y polimorfismo.

1. ABSTRACCION:
Es una descripcin o especificacin simplificada de un sistema que
hace nfasis en algunos detalles significativos y suprime los
irrelevantes.
La abstraccin debe enfocarse ms en qu es un objeto y qu hace
antes, de pensar en la implementacin.
Por ejemplo, un automvil puede abstraerse como un objeto que sirve
para desplazarse a mayor velocidad, sin importar cmo lo haga.
Una caracterstica de la abstraccin es que un objeto puede abstraerse
de diversas formas, dependiendo del observador. As, el automvil que

se mencionaba puede ser visto como un objeto de coleccin por un


coleccionista, una herramienta de trabajo por un corredor profesional,
una mercanca por un vendedor, etc.
2. ENCAPSULAMIENTO:
Tpicamente, la informacin acerca de un objeto est encapsulada por
su comportamiento. Esto significa que un objeto mantiene datos acerca
de cosas del mundo real a las que representa en su sentido verdadero.
Tpicamente a un objeto se le debe pedir o decir que cambie sus
propios datos con un mensaje, en vez de esperar que tales datos de
procesos extremos cambien la naturaleza de un objeto.
Al encapsular u ocultar informacin se separan los aspectos externos de
un objeto (los accesibles para todos) de los detalles de implementacin
(los accesibles para nadie). Con esto se trata de lograr que al tener
algn cambio en la implementacin de un objeto no se tengan que
modificar los programas que utilizan tal objeto.
Siguiendo con el ejemplo del automvil, se sabe que existen diversos
mecanismos para que funcione ste, en particular se tiene el sistema de
frenado que todo mundo sabe que sirve para detener el auto al pisar el
pedal de freno, pero slo el mecnico sabe los detalles de la
implementacin. Por otro lado, si en algn momento se cambia, para el
conductor es transparente.
3. MODULARIDAD
La modularidad consiste en dividir un programa en partes llamadas
mdulos, los cuales pueden trabajarse por separado. En trminos de
programacin, los mdulos pueden compilarse por separado y la
divisin no depende de cierto nmero de lneas sino es una divisin en
trminos de integrar en un mdulo un conjunto de procedimientos
relacionados entre s, junto con los datos que son manipulados por tales
procedimientos. El objetivo de la modularidad es reducir el costo de
elaboracin de programas al poder dividir el trabajo entre varios
programadores.
Por ejemplo, un automvil est constituido por un conjunto de mdulos
tales como un sistema elctrico, uno mecnico y uno de frenado. Cada
mdulo se trabaja por separado y el especialista slo conoce la forma

en que se relaciona el mdulo con los otros, pero no tiene por qu saber
los detalles de funcionamiento de otros mdulos o sistema.
Estos conceptos no son exclusivos de la POO, pues se han
desarrollado desde la programacin estructurada, slo que en sta se
pueden omitir, desde luego bajo responsabilidad del programador, pues
hacerlo, lleva a tener grandes programas en un solo archivo y sin
estructura alguna, lo cual causa grandes prdidas de tiempo al desear
modificar tal programa. La POO no puede lograrse sin hacer uso de los
mecanismos mencionados.
4. CLASES Y OBJETOS
A pesar de que el punto central en esta nueva metodologa de
programacin es el concepto de objeto, resulta difcil tratar de definirlo.
En un diccionario se puede encontrar la siguiente definicin:
Un objeto es cualquier cosa que se ofrece a la vista y afecta los
sentidos. Es una entidad tangible que exhibe algn comportamiento
bien definido.
En trminos de programacin, un objeto no es necesariamente algo
tangible (por ejemplo: un proceso). Lo que s puede decirse de todo
objeto es que tiene estado, comportamiento e identidad.
El estado de un objeto abarca todas las propiedades o caractersticas
distintivas del mismo y los valores de cada una de estas propiedades.
En trminos de programacin, puede decirse que las propiedades son
las variables que sirven para describir tal objeto.
El comportamiento es la forma como acta o reacciona un objeto en
trminos de cambio de estado, envo y recepcin de mensajes. Est
formado

por

la

definicin

de

las

operaciones

(funciones

procedimientos) que puede realizar este objeto. Los tipos ms comunes


de operaciones, o en POO mtodos, son: modificar, seleccionar, iterar,
construir y destruir. El conjunto de operaciones que un objeto puede
realizar sobre otro, se conoce como protocolo.
Identidad es la propiedad de un objeto que lo distingue de todos los
dems. Es un programa, normalmente se trata de un identificador.
En resumen, un objeto es un conjunto de localidades en memoria con

un conjunto de subprogramas (en POO se conocen como mtodos) que


definen su comportamiento y un identificador asociado. Lo ms comn
es que el programa tenga ms de un objeto con

5. HERENCIA
La herencia es la contribucin ms importante de la POO, pues
mediante este mecanismo es posible lograr la principal meta de la POO
que es la reutilizacin de cdigo.
La herencia permite proporcionar una jerarqua de clases. En tal
jerarqua, algunas clases son subordinadas a otras llamadas subclases,
o

como

en

C++,

clases

derivadas.

Una

subclase

define

el

comportamiento de un conjunto de objetos que heredan algunas de las


caractersticas de la clase padre, pero adquieren caractersticas
especiales no compartidas por el padre, en este sentido se dice que la
subclase es una especializacin de la clase padre.
La herencia define relaciones entre clases, donde una clase comparte la
estructura o comportamiento definidos en una o ms clases.
Por ejemplo, si se desea crear un sistema que maneje datos de

Persona:

Profesor:

char*ap_paterno;
char*ap_materno;
char*nombre;
char*calle_num;
char*ciudad;
char*edo;
char*cp;

char*ap_paterno;
char*ap_materno;
char*nombre;
char*calle_num;
char*ciudad;
char*edo;
char*cp;
char*depto;
float sueldo;

estudiantes y de profesores, es fcil notar que independientemente de


que sean alumnos o profesores todos son personas y por tanto tienen
nombre y direccin.
6. POLIMORFISMO

Otro de los mecanismos aportados por la POO es el de polimorfismo, el


cual es la capacidad de tener mtodos con el mismo nombre pero que
su implementacin sea diferente. En la vida diaria se presenta el
siguiente ejemplo de polimorfismo: al tratar de frenar un vehculo
siempre se debe oprimir el pedal del lado izquierdo y el vehculo se
detendr sin importar si los frenos son de tambor o de disco.
Una forma de polimorfismo en POO se da al usar un operador para
aplicarlo a elementos de diferente tipo. Por ejemplo, al pretender sumar
enteros, reales o complejos, se emplea el mismo smbolo +, esto se
conoce como sobrecarga de operadores. En este caso el compilador se
encarga de determinar cul es el mtodo que se est invocando de
acuerdo a los objetos involucrados en la operacin. Se presenta
nuevamente el ejemplo inicial del contador, slo que ahora usando
sobrecarga de operadores en lugar de inventar nombres para las
operaciones:
class contador {
private:
unsigned
int valor; public:
contador ( ) ;
void operator +
+ ( ) ; void
operator -- ( ) ;
unsigned int
operator ( ) ( ) ; El
operador ( )

BIBLIOGRAFA
Plataformas Tecnologicas

https://redesgarciaa2010.wikispaces.com/Plataformas+tecnol
%C3%B3gicas+empresariales
http://portal.uc3m.es/portal/page/portal/investigacion/parque_cientifico/Platafor
mas_tecnologicas
https://sites.google.com/site/plataformasdetecnologia/home/webgrupales/pagina-web
http://www.idi.mineco.gob.es/portal/site/MICINN/menuitem.6f2062042f6a5bc43b3f
6810d14041a0/?vgnextoid=844cb292d3ff4410VgnVCM1000001d04140aRCRD
http://ri.ufg.edu.sv/jspui/bitstream/11592/7136/3/005.8-C355u-Capitulo%20II.pdf
Fundamentos de Programacin.
Luis Joyanes Aguilar.
McGRAW HILL/INTERAMERICANA DE ESPAA S.A.
Lenguajes de Programacin Diseo e Implementacin.
Terrece W. Pratt and Marvin V. Zelkwitz A Simon & Schuster Company
Booch, Grady. Object Oriented Design with applications.
The Benjamin/Cummings Publishing Company, Inc. 1991.
Meyer Bertran.
Happy 25 Anniversary Objects SIGSPublications. 1989.
Pohl, Ira. C++ for C Programmers.
TheBenjamin/Cummings Publishing Company, Inc. 1989.
Stroustrup, Bjarne.
The C++ Programming Language. Addison
WesleyPublishing Company. 1987.

Vous aimerez peut-être aussi