temario quinto

Upload: dilan-miranda

Post on 03-Mar-2018

234 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 Temario Quinto

    1/104

    VISUAL BASIC.NET Formularios de WindowsUn formulario Windows representa la conocida ventana utilizada en los Sistemas Operativos de tipo Windows.Por otra parte, un control es aquel elemento situado dentro de una ventana o formulario y que permite alusuario de la aplicacin Windows interactuar con la misma, para introducir datos o recuperar informacin.Dentro de .!", las ventanas cl#sicas Windows reci$en la denominacin de Windows %orms o Win%orms.&os formularios Windows %orms y sus controles proporcionan una arquitectura m#s e'tensi$le y comple(apara el desarrollo de aplicaciones $asadas en Windows) sin em$ar*o, +ay al*unas diferencias entre losformularios y los controles de Windows %orms, y los formularios y controles de isual -asic ./. &os temassi*uientes se +an conce$ido para ayudarle a comprender las diferencias.!n isual -asic ./ 0y en todas las versiones anteriores de isual -asic1, las aplicaciones $asadas enWindows se crea$an mediante formularios que forma$an parte del motor en tiempo de e(ecucin de isual-asic. !n isual -asic 2//3, las aplicaciones $asadas en Windows se crean utilizando formularios Windows%orms proporcionados por .!" %ramewor4.

    Controles5omo ya se +a comentado anteriormente, los controles proporcionan el 6nico medio por el cual un usuariopuede interactuar con una aplicacin Windows %orms, con nuestro formulario en este caso.El Cuadro de Herramientas!l 5uadro de 7erramientas es el componente de isual -asic .!" a trav8s del cual podremos crear einsertar todo tipo de controles en nuestra aplicacin de una forma r#pida y sencilla.

    Propiedades de los controles"odos los controles, de la misma forma que ocurre con los formularios, disponen de multitud de par#metrosconfi*ura$les que permiten darle una forma o comportamiento determinado y personalizado a cada uno deellos. "odo eso se +ace a trav8s de la ventana Propiedades que nos informa acerca de esas propiedades parael control o formulario que +ayamos preseleccionado con el ratn. De esa manera podremos consultar ymodificar las propiedades de cada uno de los controles para adaptarlos a nuestras necesidades.Controles ms comunes9 continuacin, se van a comentar $revemente los controles m#s +a$ituales en aplicaciones Windows %orms. -utton &a$el "e't-o'

    &ist-o' 5om$o-o' 5+ec4-o' :adio-utton ;roup-o'

    Eventos sobre controles&os eventos son sucesos provocados por los controles cuando un usuario act6a so$re ellos, y que pueden sercapturados para asociar cdi*o a los mismos, de manera que cada vez que se produzca una accindeterminada del usuario 0pulsar un $otn1 se producir# un evento 05lic4, en este caso1 y el pro*ramador podr#escri$ir cdi*o asociado a ese evento. &o que se consi*ue es que cuando un usuario pulse so$re un $otn selleven a ca$o una serie de acciones en el pro*rama 0mostrar un te'to en el caso m#s sencillo1.

    9+ora, se va a mostrar un e(emplo de implementacin de eventos so$re controles, en concreto so$re uncontrol de tipo -utton. o de isual Studio. De esta manera, se nos implementa la ca$ecera del evento m#s com6n de esecontrol. 9s?, $astar# simplemente con escri$ir el cdi*o que queramos que se e(ecute cada vez que seproduzca ese evento. !n el caso que se +a e'puesto, quedar?a como si*ue@Private Su$ $otonA5lic40-yal sender 9s System.O$(ect, -yal e 9s System.!vent9r*s1 7andles $oton.5lic4=essa*e-o'.S+ow0B9ca$as de pulsar este $otnC1!nd Su$Eventos sobre formularios

  • 7/26/2019 Temario Quinto

    2/104

    "am$i8n es posi$le, asociar cdi*o a eventos so$re formularios. Por e(emplo, al evento que lanza unformulario cuando el usuario cierra el mismo. !ste evento se llama 5losin* y puede ser capturado ypro*ramado para realizar al*una accin, por e(emplo, la de confirmar el cierre del formulario 0o aplicacin1@Private Su$ %ormA5losin*0-yal sender 9s O$(ect, -yal e 9s System.5omponent=odel.5ancel!vent9r*s17andles =y-ase.5losin*

  • 7/26/2019 Temario Quinto

    3/104

    valores 0&ist-o'1 pero visualmente parece ser un "e't-o'. 9 diferencia de este 6ltimo, si pulsamos so$re 8ldesple*ar# la lista de los valores que almacena.Condiciones en )B

    isual -asic permite pro$ar condiciones y realizar diferentes operaciones en funcin de los resultados de laprue$a.Puede compro$ar si una condicin es verdadera o falsa, los distintos valores de una e'presin o las diferentese'cepciones que se *eneran al e(ecutar una serie de instrucciones.

    !n el si*uiente e(emplo se muestra una estructura de decisin que prue$a si el valor de una condicin es true y

    emprende distintas acciones en funcin del resultado.

    5ondicin

  • 7/26/2019 Temario Quinto

    4/104

    "am$i8n es posi$le encadenar varias acciones derivadas de un "+en o de un !lse en una sola l?nea. Sinem$ar*o, recomendamos usar la opcin de sinta'is en una sola l?nea e'clusivamente para desarrollossencillos como puede ser una instruccin en caso de que se cumpla la condicin y otra en caso de que no secumpla. Si intervienen varias instrucciones, siempre resultar# m#s le*i$le usar el formato de $loque.E*emplo$

  • 7/26/2019 Temario Quinto

    5/104

    5iclos

    Un ciclo es una estructura de control que nos ayuda a repetir un con(unto de instrucciones un n6mero deveces.&as estructuras de $ucles de isual -asic permiten e(ecutar una o varias l?neas de cdi*o de forma repetitiva. Puederepetir las instrucciones de una estructura de $ucles +asta que una condicin sea True, una condicin sea False, unn6mero de veces especificado o una vez para cada o$(eto de una coleccin.

    !n el si*uiente e(emplo se muestra una estructura de $ucle que e(ecuta un con(unto de instrucciones +asta que unacondicin se convierta en verdadera.

    W+ile@!(ecuta una serie de instrucciones siempre que una condicin dada sea "rue 0verdadera1.W+ile si*nifica mientras. Si condition es "rue, se e(ecutan todas las statements +asta que se encuentra lainstruccin !nd W+ile!l 5ontrol se devuelve a W+ile el fra*mento, y condition se comprue$a de nuevo.Sicondition a6n es "rue, se repite el proceso.Si es %alse, el control que se va a e'traer que si*ue el fra*mentode !nd W+ile .Utilice una estructura W+ile...!nd W+ile si desea repetir un con(unto de instrucciones un n6mero indefinido deveces, siempre que una condicin sea "rue.

    W+ileinde' MH / Write0inde'."oStrin* Q 1 inde' RH !ndW+ile

    Write&ine01 salida@ / 2 J T N L 3 /

    %or@&a construccin %or...e't e(ecuta el $ucle un n6mero fi(o de veces.Utiliza una varia$le de control de $ucle,tam$i8n denominada contador para realizar el se*uimiento de las repeticiones.!specifica los valores de inicio

    y fin de este contador, y puede especificar opcionalmente la cantidad en la que se incrementa de unarepeticin a la si*uiente.Ga el codi*o dentro del form seria este@

    Pu$lic 5lass %orm Private Su$ -uttonA5lic40-yal sender 9s System.O$(ect, -yal e 9s System.!vent9r*s1 7andles-utton.5lic4Dim i 9s

  • 7/26/2019 Temario Quinto

    6/104

    !nd Su$!nd 5lass

    %or !ac+&a construccin %or !ac+...e't e(ecuta un con(unto de instrucciones una vez para cada elemento de unacoleccin.!specifica la varia$le de control de $ucle pero no tiene que determinar los valores de inicio y fin paraella.

    Do W+ile

    &a construccin Do...&oop le permite pro$ar una condicin al comienzo o al final de una estructura de$ucle."am$i8n puede especificar si repite el $ucle mientras la condicin si*ue siendo "rue o +asta que seconvierta en "rue.

    %rre4los 5 vectores

    &os 9rre*los se utilizan para almacenar un con(unto de varia$les, que sean del mismo tipo de dato, y todasestas $a(o un mismo nom$re.Por e(emplo tenemos 2/ varia$les de tipo Strin* que almacenan nom$res 0nom$re, nom$re2, etc..1. si yoa+ora quisiera pasar todas estas cadenas a min6sculas tendr?a que utilizar la funcin &case con cada varia$lenom$re H &case0nom$re1, nom$re2 H &case0nom$re21, etc..

    !n cam$io si utilizara un arre*lo solucionar?a mi pro$lema solo a esto

    Dim nom$res0J/1 9s Strin* %or ' H / "o J/

    nom$res0'1 H &5ase0nom$res0'11 e't

    Si*uiendo el e(emplo anterior@ en vez de escri$ir la sentencia &case J/ veces para cada varia$le, +emosutilizado un arre*lo llamado nom$res con un n6mero de ?ndice J/ , es decir que almacena J/ datos de tipoStrin*.

    Declaracin de los arre*los en el cdi*o@

  • 7/26/2019 Temario Quinto

    7/104

    Para crear un arre*lo se de$e en primer lu*ar declararlo como cualquier otra varia$le, la 6nica diferencia esque de$emos indicar la cantidad de elementos que contendr# el arre*lo, colocando el n6mero de ?ndice entrepar8ntesis.&o si*uiente crea un arre*lo de N elementos o datos de tipo inte*er

    Dim mi9rre*lo 0 to N1 as inte*er

    !sto crea un arre*lo de elementos o datos de tipo Strin*

    Dim empleados 0/1 as Strin*Declaracin e inicializacin del vector con los nom$res de los meses, de tipo strin*

    Dim =eses01 9s Strin* H !nero, %e$rero, =arzo, A

    9$ril, =ayo, Xunio, A

    Xulio, 9*osto, Septiem$re, A

    Octu$re, oviem$re, Diciem$reY

    Dim mes as o, los arrays por principio no, aunque enmuc+os len*ua(es se dispone de instrucciones para cam$iar su tama>o en tiempo de e(ecucin.!n cuanto a la discrepancia entre listas o arrays, es una +istoria a$surda, lo adecuado es tener claro elfuncionamiento de am$as estructuras y utilizarlas cada una en el momento adecuado, pero para ello +ay quetener un criterio a$ierto, o no +ay que cerrarse en $anda, i*ual que con los len*ua(es de pro*ramacin.6atrices

    &as matrices son arre*los de m#s de dimensin 02 o m#s1, a diferencia de los vectores que poseen una soladimensin.Podemos ima*inar una matriz $idimensional 02 dimensiones1, como una cuadr?cula con filas y columnas,donde las filas representar?an las coordenadas ' y las columnas las coordenadas y.

    9 una matriz de J dimensiones o tridimensional se la puede ima*inar con las coordenadas ', y, z, y esta esideal para representar fi*uras en el espacio por e(emplo.&as matrices se declaran en el cdi*o de manera i*ual que los vectores, con la diferencia que de$emosindicar m#s su$?ndices de acuerdo a la cantidad de dimensiones que posea la matriz. Por lo *eneral no sesuele utilizar matrices de m#s de J dimensiones..

    !(emplo de matriz de 2 dimensiones@

    =atriz $idimensional de ' 3 0de 2 dimensiones1.!(emplo@

    Dim personas 0 to , to 31 as strin*

    Si no se declara el tipo de varia$le el array ser# tipo ariant u O$(ect 0se*6n la versin de isual -asic queutilicemos1 por defecto. 5onviene tener cuidado con esto y se*uir las mismas pautas que +emos indicado paralas varia$les. &a declaracin de una matriz tradicional de m ' n elementos podr?a ser@

    Dim 90J, 21 9s

  • 7/26/2019 Temario Quinto

    8/104

    !l n6mero de elementos declarados se calcula teniendo en cuenta que la numeracin de los ?ndices empiezaen cero, aunque ya +emos comentado que en al*unas versiones e'iste una cl#usula denominada Option -aseque permite fi(ar como primer ?ndice de los arrays el uno. !n las versiones m#s recientes de isual -asic 0ocon Option -ase fi(ado en cero1 tendremos una fila cero y una columna cero para la matriz declarada, con loque el n6mero de elementos ser# de T ' J H 2. Decimos que +ay T filas que son /, , 2, J y tres columnasque son /, , y 2. Si la versin de isual -asic lo permite y fi(amos Option -ase en uno, la matriz ser# de Jfilas 0, 2 y J1 y dos columnas 0 y 21 siendo por tanto el n6mero de elementos J ' 2 H

    amos a definir una matriz, array o arre*lo de dos dimensiones a modo de e(emplo@ queremos almacenar enuna matriz el n6mero de alumnos con que cuenta una academia ordenados en funcin del nivel y del idiomaque se estudia. "endremos J filas que representar#n ivel $#sico, medio o de perfeccionamiento y Tcolumnas que representar#n los idiomas 0 H

  • 7/26/2019 Temario Quinto

    9/104

    !sta 6ltima invitacin conlleva a tener en cuenta otra serie de factores que *eneralmente se omiten cuandouno comienza a desarrollar Ben formaC@. !l cdi*o metido entre try, catc+ se e(ecuta muy lento. 5onsume muc+os recursos. 9s? que slo mane(emose'cepciones cuando realmente se necesite. 5u#ndo es esoF&as e'cepciones est#n construidas para mane(ar condiciones que no se pueden controlar con la l*ica de laaplicacin. Por e(emplo que se cae la cone'in con el servidor, o que el disco est# lleno, o que el +ardwarefall]

    9ntes de lanzar e'cepciones por todo, fi(8monos si realmente es necesario. !vitemos tam$i8n poner muc+ocdi*o en el try) solo afectemos con el try el cdi*o que realmente puede fallar. Por e(emplo es preferi$le@if 0conn.State ^H 5onnectionState.5losed1

    conn.5lose01)Ya@try conn.5lose01)Ycatc+ 0

  • 7/26/2019 Temario Quinto

    10/104

  • 7/26/2019 Temario Quinto

    11/104

  • 7/26/2019 Temario Quinto

    12/104

  • 7/26/2019 Temario Quinto

    13/104

  • 7/26/2019 Temario Quinto

    14/104

  • 7/26/2019 Temario Quinto

    15/104

  • 7/26/2019 Temario Quinto

    16/104

  • 7/26/2019 Temario Quinto

    17/104

  • 7/26/2019 Temario Quinto

    18/104

  • 7/26/2019 Temario Quinto

    19/104

    5ompartir este post

    MensDos tipos de men6, el que podemos encontrarnos en el formulario principal de la aplicacin en la $arra demen6, y el que se o$tiene a partir del $otn secundario del ratn.!l primero es *en8rico para toda la aplicacin, el se*undo es personalizado para el o$(eto que se crea,podr?amos decir que es una forma m#s r#pida de acceder a las mismas opciones.N/.T. 5reacin del men6 cl#sico.

    9rrancaremos de la ventana principal de la aplicacin, el formulario =Do deformularios y en el mismo formulario, le daremos un nom$readecuado despu8s, en el e(emplo -arra=enu

    5olocado el o$(eto en el formulario, la forma m#s sencilla de crear el men6, es la de ir escri$iendo en la zonaque 8l mismo +a$ilita cuando est# seleccionado.5omo podemos ver en la ima*en, al colocar el ratn para escri$ir nos aparece inmediatamente la opcin de

    poder escri$ir posteriormente en la parte inferior o en la lateral.De esta forma lo que +acemos es ir escri$iendo los distintos elementos quecomponen el men6.

  • 7/26/2019 Temario Quinto

    20/104

    Pero eso es la parte visi$le, a+ora +ay que conectar esa opcin del men6 con nuestros pro*ramas.&o m#s sencillo es +acer do$le clic en la opcin que deseemos, de esa forma el entorno de -, nosvisualizar# la ventana de cdi*o con el evento clic del o$(eto seleccionado disponi$le para escri$ir nuestrocdi*o.Private Su$ Proc"oolStrip=enu

  • 7/26/2019 Temario Quinto

    21/104

    Sin em$ar*o el men6 del e(emplo es m?nimo, para de verdad poder ver las caracter?sticas me(or uno +ec+o, ypara ello podemos seleccionar la opcin deProyecto K 9*re*ar Windows %ormG seleccionar la opcin de %ormulario Primario =Dadiendo o$(etos a la coleccin deelementos del men6. Para ello en la ventana de parametrizacin +ay que ir a la propiedad DropDown

  • 7/26/2019 Temario Quinto

    22/104

    !n la ventana de parametrizacin, o personalizacin como deseemos llamarla, podemos encontrar la formade a>adir o quitar al*unas caracter?sticas.

    9si*nar teclas de acceso r#pido.S+ort5ut_eys Definir las teclas de acceso r#pidoS+owS+ort5ut_eys 9ctivar o no su visualizacinS+ort5ut_eysDisplayStrin* !l te'to que se visualiza para informar de las teclas"e'to de ayuda en formato de *lo$o,"ool"ip"e't !l te'to que se desea visualizar

    9uto"ool"ip Si se activa o no.Si deseamos visualizar un vise de c+ec4ed en la opcin.5+ec4ed Si se visualiza o no el vise del c+ec4ed5+ec4State !l estado por defecto del c+ec4ed.!sta opcin depender# del valor de la propiedad DisplayStyle, pues si est# en el modo te'to e ima*en, no sevisualiza el c+ec4ed, y al rev8s.Si deseamos visualizar un icono con la opcin, si se activa +ay que asi*nar que ima*en se visualiza.DisplayStyle Dispone de varios valores, te'to, te'to ima*en, ima*en y nada.

  • 7/26/2019 Temario Quinto

    23/104

    5reado el men6 el si*uiente paso es asi*narlo al o$(eto de la ventana con el cualqueremos interactuar.Para ello seleccionamos el o$(eto en cuestin y acudimos a la propiedad5onte't=enuStrip, al seleccionar la propiedad y desple*ar el com$o podremos ver elnom$re que le +emos asi*nado a nuestro o$(eto, lo seleccionamos.!(ecutamos el pro*rama y cuando +a*amos clic con el $otn secundario en el o$(eto que le +emos asi*nado

    el men6, 8ste se desple*ar#.

    9+ora +emos de asi*narle a cada opcin del men6 el cdi*o correspondiente, para ellosolo $asta que seleccionemos el o$(eto en la $arra inferior de o$(etos en la vista de dise>ode formulario, y +acer do$le clic, aparecer# el evento y a+? asi*namos nuestro cdi*o.Private Su$ 9ltaA5lic40-yal sender 9s System.O$(ect, A

    -yal e 9s System.!vent9r*s1 7andles 9lta.5lic4 =s*-o'0!ure4a, funciona, =s*-o'Style.

  • 7/26/2019 Temario Quinto

    24/104

    &a forma de asi*narle cdi*o a cada uno de los o$(etos de la $arra es id8ntica que en el caso del men6,podemos +acer do$le clic en el o$(eto y nos aparecer# en la ventana de cdi*o el evento del o$(eto encuestin.Private Su$ Save"oolStrip-uttonA5lic40-yal sender 9s System.O$(ect, A

    -yal e 9s System.!vent9r*s1 A 7andles Save"oolStrip-utton.5lic4!nd Su$

    G solo queda colocar el cdi*o adecuado.5omo +a$r# o$(etos que tendr#n un equivalente en la $arra de men6, en funcin del tipo depro*rama, lo adecuado es que la accin a realizar este al$er*ada en un procedimiento y se llame a dic+oprocedimiento desde am$os eventos.Formularios de Interfaz

    %ormularios de

  • 7/26/2019 Temario Quinto

    25/104

  • 7/26/2019 Temario Quinto

    26/104

  • 7/26/2019 Temario Quinto

    27/104

  • 7/26/2019 Temario Quinto

    28/104

    o.3, y de esta manera podremos a*re*ar la cantidad de men6 tanto como sean necesarios para llamar otodos los formularios que ten*amos en la aplicacin.

  • 7/26/2019 Temario Quinto

    29/104

    7i(o , +acemos do$le clic so$re este y una vez en la ventana de cdi*o a*re*amos las si*uientes l?neas decdi*o, ver ima*eno./Dim f 9s ew frm7i(obDeclaramos una nueva varia$le se*6n el formulario a utilizarf.=diParent H =eb

  • 7/26/2019 Temario Quinto

    30/104

    De esta manera +emos aprendido a %rre4los en )isual BasicUn arre*lo es un elemento del len*ua(e que nos permite a*rupar un con(unto de valores del mismo tipo yacceder a ellos a trav8s de una misma varia$le o identificador.!n visual $asic los arre*los son equivalentes a los vectores o matrices en matem#ticas, estos pueden serunidimensionales o multidimensionales. &os arre*los se definen +aciendo uso de la 5&9S! 9::9G la cualest# contenida en el espacio de nom$res System y es una de las muc+as clases incluidas en el .!"%ramewor4 que est# a disposicin de los pro*ramadores para efectuar operaciones con estas.&os arre*los se pueden declarar de diferentes formas, desde la tradicional usada en isual -asic ./ +asta laforma orientada a o$(etos que posee isual -asic 2//3.

    (intaxis para declarar un arre4lo en visualbasic

    !n el cdi*o se puede ver que loselementos parten desde el ?ndice /, as? cuando decimos aom$res0n1, donde n es el n6mero de elementos,

    estamos +a$lando que se crear#n nR elementos. aom$res021 crea 2R H J elementos, sus indices ser#n/, y 2 respectivamente.

    3tra forma de declarar un arre4lo es asi4nar los valores al arra5 al mismo tiempo 9ue se declara

    9l i*ual que la primera forma, los elementos quedan asi*nados en la forma en que fueron declarados, es deciraom$res0/1 ser# i*ual a =ar?a, y as? respectivamente.

    5omo los arre*lo sen visual $asic son una clase, al +acer la declaracin de la varia$le con la sentencia Dim, laclase +ereda todas sus propiedades al o$(eto creado, en este caso a la varia$le aom$res. 9l*unas de estaspropiedades son@

    Propiedades de los arre4los$Len4th$ Devuelve la cantidad de elementos que contiene el array.

    Se o$tendr# elvalor L, que sonla cantidad de

    elementos que contiene el arre*lo.9+ora $ien, que pasa si se quiere imprimir la cantidad de elementos del arre*lopodemos +acer la si*uiente rutina.

    5omo puede o$servarse el ciclo comienza desde / porque es el ?ndice inicial de los arre*los en visual $asic.!l ciclo finaliza cuando el arre*lo lle*a al indice , es decir al elemento L, es por eso que se resta a lapropiedad.

    Colecciones en )B&as colecciones son como una enumeracin, a la que se le pueden a>adir o quitar elementos.Podr?amos definirlas como un array que en lu*ar de ser est#tico en el n6mero de elementos, permite laadicin y la eliminacin de elementos, o sea que es din#mico, y que adem#s esos elementos pueden sero$(etos. Desde el momento en que podemos declarar un array del tipo de un o$(eto determinado, un array esmuy similar a una coleccin.

  • 7/26/2019 Temario Quinto

    31/104

    !n - las clases que *estionan colecciones son@

    %rra5 (5stem:Collections$&a clase array para la *estin con matrices.&a clase 5ollections dispone de dos clases a su vez@"eneric(peciali;ed&os m8todos para una coleccin son los necesarios para la *estin de la misma, y dado que no disponemosde un ?ndice propiamente dic+o, la *estin se $asa en su recorrido, adicin y eliminacin.&as colecciones disponen de un !numerador que es un o$(eto que recorre en iteracin su coleccin asociada.

    "odas las colecciones pueden copiarse en una matriz usando el m8todo 5opy"o, sin em$ar*o, el orden de loselementos de la nueva matriz se $asar# en la secuencia en la que los devuelve el enumerador.&a matriz resultante siempre es unidimensional, vector, y su l?mite inferior es cero.9l*unas clases 5ollections tienen capacidades de ordenacin y la mayor parte est#n inde'adas.&a administracin de la memoria se controla autom#ticamente y la capacidad de una coleccin se e'pande sies necesario.&as clases System 5ollections pueden dividirse en tres tipos@Colecciones utili;adas normalmente:Son las variaciones +a$ituales de las colecciones de datos, como ta$las +as+, colas, pilas, diccionarios ylistas. &as colecciones que su usan +a$itualmente tienen versiones *en8ricas y no *en8ricas.Colecciones de bits:Se trata de colecciones cuyos elementos son indicadores de $its. Se comportan de forma li*eramente

    diferente de las dem#s.

    Colecciones especiali;adas:Se trata de colecciones con fines muy espec?ficos, normalmente para tratar un tipo concreto de elemento,como Strin*Dictionary.&os tipos de colecciones a utilizar se $asan en la forma en la que se realiza el acceso.Lista (ecuencial en la 9ue se descarta el miembro tras su recuperaci/n:Snac4, Pilas,uieue, 5olas(i se desea acceder por un as.Creaci/n de Colecciones&a definicin de una coleccin es como si*ue.7im Coleccion %s (5stem:Collections:(ortedList&a forma de a>adir elementosColeccion:add&2=>1?6esas?'

  • 7/26/2019 Temario Quinto

    32/104

    5onviene que realice la creacin de la coleccin con distintos tipos de coleccin y o$serve el cam$io de losm8todos disponi$les en la misma en funcin del tipo ele*ido.7im Coleccion %s (5stem:Collections:@ueue!n este tipo de coleccin el insertar un elemento tiene una sinta'is distinta.7im %l4o as 8ew 3b*ect7im 3b*etos %s 8ew (5stem:Collections:@ueue3b*etos:En9ueue&%l4o'Se est# utilizando una cola, una lista."odo esto va en*lo$ado despu8s en una estructura repetitiva en la cual se crea la coleccin para tratarlaposteriormente.Pero el uso de una coleccin no se limita al uso de al*o tan sencillo como un strin*.Podemos utilizar o$(etos en una coleccin.Podemos +acer 8ste otro uso en una coleccin@

    5reamos una clase de la que instanciar lue*o o$(etos.

    Public Class 7atos Public 8ombre %s (trin4Public (ub 8ew&'

    End (ubEnd ClassPara despu8s realizar al*o parecido a lo si*uiente@=odule =odule (ub 6ain&' Console:WriteLine&?Car4a colecci/n de ob*etos:?'

    7im Coleccion %s (5stem:Collections:"eneric:List&3f 7atos'

    7im #tem %s 8ew 7atos

    #tem:8ombre A ?(illa? Coleccion:%ddtem'

    #tem A 8ew 7atos&' #tem:8ombre A ?8aran*a? Coleccion:%ddtem' End (ubEnd 6odule

    !l e(emplo anterior funciona correctamente tal como se descri$e, sin em$ar*o como prue$a de lo que a vecesla l*ica te puede llevar a +acer, conviene pro$arlo comentando la si*uiente l?nea.#tem A new 7atos&'

    !l resultado es que al recorrer la coleccin, se muestra solo el 6ltimo valor introducido en la misma.

  • 7/26/2019 Temario Quinto

    33/104

    os de propiedades, m8todos y eventos estrec+amente relacionados)esto reduce los pro$lemas de compati$ilidad porque se pueden desarrollar implementaciones me(oradas para lasinterfaces sin comprometer el cdi*o e'istente.!n cualquier momento se pueden a*re*ar nuevas caracter?sticasmediante el desarrollo de implementaciones e interfaces adicionales.7ay otras razones por las que se podr?an usar las interfaces en vez de la +erencia de clases@&as interfaces se adaptan me(or a situaciones en las que las aplicaciones necesitan que muc+os tipos de o$(etos

    posi$lemente no relacionados proporcionen una funcionalidad determinada.&as interfaces son m#s fle'i$les que las clases $ase porque puede definir una 6nica implementacin que puedeimplementar interfaces m6ltiples.&as interfaces son me(ores en situaciones en las que no es necesario +eredar una implementacin de una clase $ase.&as interfaces son 6tiles cuando no se puede usar la +erencia de clases.Por e(emplo, las estructuras no pueden +eredarde clases, pero pueden implementar interfaces.

    Declarar interfaces&as definiciones de interfaz se encuentran dentro de las instrucciones #nterfacey End #nterface.

  • 7/26/2019 Temario Quinto

    34/104

    Su$Su$0-yali9s

  • 7/26/2019 Temario Quinto

    35/104

  • 7/26/2019 Temario Quinto

    36/104

    Dimcalc9sew5alculadora Declaramos una varia$le del tipo del dele*ado !n el constructor le pasamos la referencia al m8todo al que queremos referenciar Dimmetodo9sew"uOperacionDeSuma09ddressOf=iOperacionDeSuma1 &lamamos a Sumar y le pasamos nuestra varia$le del tipo "uOperacionDeSuma !s decir, le pasamos la operacin con la que podr# Sumar calc.Sumar0N, N, metodo1 !ndSu$:especto a este cdi*o ca$e aclarar que en -.!" la forma de o$tener una referencia a un m8todo es conel operadorAddressOf:!n realidad1AddressOfes a6n m#s vers#til 0oen!a#a$bobosse*6n se mire1 y podr?amos +a$er escrito esteotro cdi*o que ser?a equivalente@ Su$=ain01 Dimcalc9sew5alculadora calc.Sumar0N, N,9ddressOf=iOperacionDeSuma1 !ndSu$Si nos fi(amos, aqu? no +emos declarado una varia$le del tipo%uOperacion&eSuma, sino que simplemente+emos utilizadoAddressOf. !sto es porqueAddressOfcrea de forma impl?cita una instancia deldele*ado%uOperacion&eSumay le pasa la referencia al m8todo'iOperacion&eSuma.%inalmente, un dele*adopermite pasar como par#metro un m8todo a otro m8todo, y que este 6ltimo e(ecute em8todo suministrado, o dic+o de otro modo,un dele*ado es un o$(eto que permite llamar a m8todos de otros

    o$(etos.Un dele*ado no es lo mismo que un evento, pero los eventos se $asan en dele*ados para su correctofuncionamiento. Di*o esto porque siempre que se +a$la de dele*ados tam$i8n aparecen los eventos en laconversacin, pero +ay tener claro que no son lo mismo.Un e(emplo de una clase con un evento en -@Pu$lic5lass5alculadora Declarar evento Pu$lic!ventPrevioSumar0-yalresultadoPrevio9s

  • 7/26/2019 Temario Quinto

    37/104

    EG si un evento no es un dele*ado porque siempre aparece la pala$ra evento cuando +a$lamos dedele*adosF Pues porque los eventos y en concreto los editores, tienen que mantener una lista de m8todos desus suscriptores a los que llamar cuando se lance el evento y (ustamente esa lista de m8todos a los quellamar, se mantiene con dele*ados, es decir,los e(entos utili)an dele!ados para notificar el e(ento a sussuscriptoresE5mo sino podr?a un editor e(ecutar m8todos en sus suscriptoresF!l pro$lema est# en que 0como de costum$re1, -.!" nos a$strae de todo esto y no podemos ver que pasarealmente cuando utilizamosAdd*andler, estamos simplemente utilizando un ata(o para asi*nar un dele*ado.

    Add*anldernos pide un evento 0en nuestro casocalc.Pre(ioSumar1 y un dele*ado. !l dele*ado loconse*uimos conAddressOf0que recuerda crea$a de forma impl?cita un dele*ado del tipo adecuado1, peroEu8 dele*adoF Go slo declar8 un evento]Si a$rimos el e'plorador de o$(etos para $uscar un dele*ado de tipoPre(ioSumaro al*o parecido, vemos queno aparece por nin*una parte pero, sin em$ar*o, te prometo que est# por a+? esperando que al*uien lodescu$ra.E5mo descu$rirloF Pues es sencillo si compilamos la clase+alculadoraen un ensam$lado 0li$rer?a declases1 y a+ora creamos un nuevo proyecto en 5 de tipo consola y a*re*amos la referencia a nuestroensam$lado+alculadora. De este modo,+, nos iluminar- el camino

    &o cierto es que a veces -.!" me saca un poco de mis casillas. 5on el e'plorador de o$(etos en -.!"no aparecer?a nada pero en 5 aparece como por arte de ma*ia el dele*adoPre(ioSumarE(ent*andler. &odeE(ent*andleres porque todos los eventos +eredan de'ulticast&ele!ate0para poder mantener una lista dedele*ados y no slo uno1 y adem#s el dele*ado que se crea para el evento siempre tiene elnom$re/E(entoE(ent*andler.

    crear una aplicacin de tipo =Dado para el entorno empresarial. S& Server se e(ecuta en "S& 0"ransact S&1, un con(unto dee'tensiones de pro*ramacin de Sy$ase y =icrosoft que a>aden varias caracter?sticas a S& est#ndar,incluyendo control de transacciones, e'cepcin y mane(o de errores, procesamiento fila, as? como varia$lesdeclaradas.!s un sistema clienteIservidor, por lo que permite tra$a(ar como servidor multiusuario y de su$procesamientom6ltiple, o sea, cada vez que se crea una cone'in con el servidor, el pro*rama servidor esta$lece un procesopara mane(ar la solicitud del cliente, controlando as? el acceso simult#neo de un *ran n6mero de usuarios alos datos y ase*urando el acceso a usuarios autorizados solamente. !s uno de los sistemas *estores de$ases de datos m#s utilizado en la actualidad, utilizado por *randes corporaciones como Ga+oo^ %inance,;oo*le, =otorola, entre otras.!l cdi*o ori*inal de S& Server +a sido desarrollado por Sy$ase) a finales de 3/, =icrosoft, Sy$ase y

    9s+ton"ate cola$oraron para producir la primera versin del producto, S& Server T.2 para OSI2.

  • 7/26/2019 Temario Quinto

    38/104

    Posteriormente, tanto Sy$ase como =icrosoft ofrecieron productos de S& Server. Sy$ase cam$i despu8s elnom$re de su producto a 9daptive Server !nterprise.S& Server es un sistema *estor de $ase de datos relacionales producido por =icrosoft. !s un sistemaclienteIservidor que funciona como una e'tensin natural del sistema operativo Windows. !ntre otrascaracter?sticas proporciona inte*ridad de datos, optimizacin de consultas, control de concurrencia y $ac4up yrecuperacin.

    (istema mane*ador de base de datos:"am$i8n es un sistema para la *estin de $ases de datos producido por =icrosoft $asado en el modelorelacional. Sus len*ua(es para consultas son "S& y 9S< S&. 5onstituye la alternativa de =icrosoft a otrospotentes sistemas *estores de $ases de datos como son Oracle o =yS&. G posee al*unas caracter?sticastales como Soporte de transacciones, !scala$ilidad, esta$ilidad y se*uridad, Soporta procedimientosalmacenados, entre otras.T(@L$"ransactS& 0"S&1 es una e'tensin al S& de =icrosoft y Sy$ase. S&, que frecuentemente se dice serun &en*ua(e de -6squedas !structurado 0por sus si*las en in*l8s1, es un len*ua(e de cmputo estandarizado,desarrollado ori*inalmente por

  • 7/26/2019 Temario Quinto

    39/104

    !l tipo de datos sqlAvariant funciona de la misma manera que el tipo de datos variant en =icrosoft isual-asic. !l tipo de datos sqlAvariant permite que una columna, una par#metro o una varia$le almacenen valoresde datos de distintos tipos. Por e(emplo, una columna sqlAvariant puede contener valores int, decimal, c+ar,$inary y nc+ar. 5ada instancia de una columna sqlAvariant re*istra el valor de los datos y la informacin demetadatos. !stos datos incluyen el tipo de datos $ase, el tama>o m#'imo, la escala, la precisin y laintercalacin.!n el si*uiente e(emplo, el valor de ariant5ol est# esta$lecido en U&& sin nin*6n tipo de datos asociado,aunque el valor U&& ven*a de una varia$le int@

    D!5&9:!

  • 7/26/2019 Temario Quinto

    40/104

    =uc+os pro*ramadores utilizan el count0V1 para ver si un re*istro e'iste en la $ase de datos, pero una formam#s eficiente de +acerlo es con !'ists. 5uando 8ste encuentra un re*istro detiene la $6squeda del mismo.J: so de 3!7E! BKUsar O:D!: -G en las U!:o f?sico1 de las columnas a ordenar al m?nimoOrdenar columnas con datos num8ricos 0O tipos de datos car#cter15uando usemos cualquier mecanismo de ordenacin en "ransact \S&, de$emos tener en mente todas estasrecomendaciones para la me(ora del rendimiento.Si se +a de ordenar por una columna a menudo, de$emos considerar el realizar un B5lustered

  • 7/26/2019 Temario Quinto

    41/104

    7ELETE$-orra filas de una ta$la. Se corresponde con la BDC.E*emplo$&ELE%E ;O' 3nombre4tabla3>*EE 3condiciDn39Consulta de datos

    9+ora nos vamos a centrar en la B:C de 5:UD, es decir, en cmo recuperar la informacin que nos interesade dentro de una $ase de datos, usando para ello el len*ua(e de consulta o S&. Ga nos preocuparemoslue*o de cmo lle*amos a introducir los datos primeramente.

    Para realizar consultas so$re las ta$las de las $ases de datos disponemos de la instruccin S!&!5". 5on ellapodemos consultar una o varias ta$las. !s sin duda el comando m#s vers#til del len*ua(e S&.!'isten muc+as cl#usulas asociadas a la sentencia S!&!5" 0;:OUP -G, O:D!:, 79I%* &I;O &EP%O5 A7JSALA5 E'P+O8%6 AS SELE+% O%*ES.>OK&EP%5 A7JO%*ES.SALA65 +O8%:6 ;O' E'PLOEE O%*ES JO8P H O%*ES.>OK&EP% 65 &I;O'A AS

    SELE+% 'AA7JSALA6 AS A7J'A ;O' &I;O6SELE+% %*IS4E'P.E'PO5 %*IS4E'P.SALA5 &I;O.A7JSALA5 &I;O.E'P+O8%5 &I;O'A.A7J'A ;O' E'PLOEE %*IS4E'P5 &I;O5 &I;O'A >*EE %*IS4E'P.BOH < ?SALESEP? A& %*IS4E'P.>OK&EP% < &I;O.&EP%OF!36:!sta cl#usula permite indicar las ta$las o vistas de las cuales vamos a o$tener la informacin. De momentoveremos e(emplos para o$tener informacin de una sola ta$la.5omo se +a indicado anteriormente, tam$i8n se pueden renom$rar las ta$las usando la instruccin B9SC.E*emplo$SELE+% :

    ;O' Personas>*EE ombre

  • 7/26/2019 Temario Quinto

    42/104

    Son e'presiones l*icas a compro$ar para la condicin de filtro, que tras su resolucin devuelven para cadafila ":U! o %9&S!, en funcin de que se cumplan o no. Se puede utilizar cualquier e'presin l*ica y en ellautilizar diversos operadores como@

    V K 0=ayor1V KH 0=ayor o i*ual1V M 0=enor1V MH 0=enor o i*ual1V H 0o de un *rupo.E*emplo$SELE+% 'inJastos6 AS El'in ;O' Pedidos >*EE Pais < ?Espa#a?9

    6%N$=uestra el valor m#'imo de todo el con(unto de re*istros a*rupados. E*emplo$

  • 7/26/2019 Temario Quinto

    43/104

    SELE+% 'a@Jastos6 AS El'a@ ;O' Pedidos >*EE Pais < ?Espa#a?9

    %)E!%"E$5alcula la media de todos los valores seleccionados. E*emplo$SELE+% A(!Jastos6 AS Promedio ;O' Pedidos >*EE Jastos 1009

    "roup b5$5om$ina los re*istros con valores id8nticos, en la lista de campos especificados, en un 6nicore*istro. Para cada re*istro se crea un valor sumario si se incluye una funcin S& a*re*ada, como pore(emplo Sum o 5ount, en la instruccin S!&!5". E*emplo$SELE+% campos ;O' tabla >*EE criterio JO8P H campos del !rupo

    U

  • 7/26/2019 Temario Quinto

    44/104

    ;O

    7ere is t+e simple union.US! 9dventureWor4s2/2);OS!&!5" Product=odel

  • 7/26/2019 Temario Quinto

    45/104

    5reate ;loves ta$le.S!&!5" Product=odel

  • 7/26/2019 Temario Quinto

    46/104

    Para crear un inicio de sesin $asado en una entidad de se*uridad de Windows, seleccione %utenticaci/n deWindows.!sta es la seleccin predeterminada.Para crear un inicio de sesin que se *uarde en una $ase de datos de S& Server, seleccione %utenticaci/nde (@L (erver.!n el cuadro de di#lo*o Tipo de re4la, seleccione Puerto, y lue*o pulse en (i4uiente. uelva a escri$ir lacontrase>a en el cuadro Confirmar contrasea.

    9l cam$iar una contrase>a e'istente, seleccione Especificar contrasea anteriory escri$a la contrase>aanterior en el cuadroContrasea anterior.Para aplicar las opciones de la directiva de contrase>as a efectos de comple(idad y e'i*encia,seleccione Exi4ir directivas de contraseas.Para o$tener m#s informacin, vea Directiva de contrase>as.!sta es una opcin predeterminada cuando se selecciona%utenticaci/n de (@L (erver.Para aplicar las opciones de la directiva de contrase>as a efectos de e'piracin, seleccione Exi4ir expiraci/nde contrasea.De$e seleccionar la opcin Exi4ir directivas de contraseaspara +a$ilitar esta casilla.!staes una opcin predeterminada cuando se selecciona %utenticaci/n de (@L (erver.Para o$li*ar al usuario a crear una nueva contrase>a despu8s de utilizarse el inicio de sesin por primera vez,seleccione El usuario debe cambiar la contrasea en el si4uiente inicio de sesi/n.De$e seleccionar laopcin Exi4ir expiraci/n de contraseapara +a$ilitar esta casilla.!sta es una opcin predeterminadacuando se selecciona %utenticaci/n de (@L (erver.Para asociar el inicio de sesin a un certificado de se*uridad independiente, seleccione %si4nado acertificadoy seleccione el nom$re de un certificado e'istente de la lista.Para asociar el inicio de sesin a una clave asim8trica independiente, seleccione %si4nado a clave

    asimOtricay seleccione el nom$re de una clave e'istente de la lista.Para asociar el inicio de sesin a una credencial de se*uridad, active la casilla de %si4nado a credencialyseleccione una credencial e'istente de la lista o +a*a clic en %4re4arpara crear una nueva credencial.Paraquitar una asi*nacin a una credencial de se*uridad del inicio de sesin, seleccione la credencialen Credenciales asi4nadasy +a*a clic en @uitar.Para o$tener m#s informacin so$re las credenciales en*eneral, vea 5redenciales 0motor de $ase de datos1.!n la lista Base de datos predeterminada, seleccione una $ase de datos predeterminada para el inicio desesin. 6aestraes el valor predeterminado para esta opcin.!n la lista #dioma predeterminado, seleccione un idioma predeterminado para el inicio de sesin.7a*a clic en %ceptar.3pciones adicionales!l cuadro de di#lo*o #nicio de sesi/n 8uevotam$i8n ofrece opciones en cuatro p#*inas adicionales@ !oles

    de servidor, %si4naci/n de usuario, Elementos prote4iblesy Estado.!oles de servidor&a p#*ina !oles de servidorenumera todos los roles posi$les que se pueden asi*nar al nuevo inicio desesin.&as si*uientes opciones est#n disponi$les@5asilla buladminSolo los miem$ros del rol fi(o de servidor buladminpueden e(ecutar la instruccin -U&_

  • 7/26/2019 Temario Quinto

    47/104

    &os miem$ros del rol fi(o de servidor serveradminpueden cam$iar opciones de confi*uracin en el servidor ycerrar el servidor.5asilla setupadmin&os miem$ros del rol fi(o de servidor setupadminpueden a*re*ar y quitar servidores vinculados, y e(ecutaral*unos procedimientos almacenados del sistema.5asilla s5sadmin&os miem$ros del rol fi(o de servidor s5sadminpueden realizar cualquier actividad en el =otor de $ase dedatos.%si4naci/n de usuarios&a p#*ina %si4naci/n de usuariosenumera todas las $ases de datos posi$les y las pertenencias al rol de$ase de datos en esas $ases de datos que se pueden aplicar al inicio de sesin.&as $ases de datosseleccionadas determinan las pertenencias a roles disponi$les para el inicio de sesin.!n esta p#*ina est#ndisponi$les las opciones si*uientes@suarios asi4nados a este inicio de sesi/nSelecciona las $ases de datos a las que se puede o$tener acceso con este inicio de sesin.5uando seseleccione una $ase de datos, sus roles de $ases de datos v#lidos se mostrar#n en el panel 6iembros delrol de base de datos para$database4name.6apaPermite que el inicio de sesin o$ten*a acceso a las $ases de datos que se muestran a continuacin.Base de datos=uestra las $ases de datos disponi$les en el servidor.

    suario!specifica el usuario de $ase de datos que se va a asi*nar al inicio de sesin.De forma predeterminada, elnom$re del usuario de $ase de datos coincide con el inicio de sesin.Es9uema predeterminado!specifica el esquema predeterminado del usuario.5uando se crea un usuario por primera vez, el esquemapredeterminado es dbo.!s posi$le especificar un esquema predeterminado que a6n no e'iste.o puedeespecificar un esquema predeterminado para un usuario asi*nado a un *rupo, un certificado o una claveasim8trica de Windows.Cuenta de invitado habilitada para$ database4name

    9tri$uto de solo lectura que indica si la cuenta de invitado est# +a$ilitada en la $ase de datosseleccionada.Utilice la p#*ina Estadodel cuadro de di#lo*o Propiedades de inicio de sesi/nde la cuentade invitado para +a$ilitarla o des+a$ilitarla.

    6iembros del rol de base de datos para$ database4nameSelecciona los roles para el usuario en la $ase de datos especificada."odos los usuarios son miem$ros delrol publicde todas las $ases de datos, y no pueden eliminarse.Para o$tener m#s informacin acerca de losroles de $ase de datos, vea :oles de nivel de $ase de datos.Elementos prote4ibles&a p#*ina Elementos prote4iblesmuestra todos los elementos prote*i$les posi$les y los permisos en esoselementos prote*i$les que se pueden conceder al inicio de sesin.!n esta p#*ina est#n disponi$les lasopciones si*uientes@Cuadr

  • 7/26/2019 Temario Quinto

    48/104

    !n el cuadro de di#lo*o Tipo de re4la, seleccione Puerto, y lue*o pulse en (i4uiente. 7a*a clicen %ceptar.!n Escribir los nombres de ob*eto para seleccionar &e*emplos', +a*a clic en Examinar.!n el cuadro de di#lo*o Tipo de re4la, seleccione Puerto, y lue*o pulse en (i4uiente.!n el cuadro de di#lo*o Tipo de re4la, seleccione Puerto, y lue*o pulse en (i4uiente.Si selecciona Todos los ob*etos de los tipos:::, en el cuadro de di#lo*o (eleccionar tipos de ob*eto,seleccione al*uno o todos los tipos de o$(eto si*uientes@ Extremos, #nicios de sesi/n, (ervidores, "ruposde disponibilidady !oles de servidor. 7a*a clic en %ceptar.8ame!l nom$re de cada entidad de se*uridad o elemento prote*i$le que se a*re*a a la cuadr?cula.TipoDescri$e el tipo de cada elemento.Pestaa Expl

  • 7/26/2019 Temario Quinto

    49/104

    Para crear un inicio de sesi/n utili;ando la autenticaci/n de (@L (erver!n el Explorador de ob*etos, con8ctese a una instancia del =otor de $ase de datos.!n la $arra !st#ndar, +a*a clic en 8ueva consulta.5opie y pe*ue el si*uiente e(emplo en la ventana de consulta y +a*a clic en E*ecutar. 5reates t+e user s+cooper for S& Server usin* t+e security credential :estricted%aculty "+e user lo*in starts wit+ t+e password -azn*a, $ut t+at password must $e c+an*ed after t+e first lo*in.

    5:!9"! &O;

  • 7/26/2019 Temario Quinto

    50/104

    5:!9"! D9"9-9S! SalesO0 9=! H SalesAdat, %

  • 7/26/2019 Temario Quinto

    51/104

    8ota

    spA+elp devuelve como lon*itud de los tipos de datos de valores *randes y xml.

    8umOricos exactos

    $i*int numeric

    $it smallint

    decimal smallmoney

    int tinyint

    money

    8umOricos aproximados

    float real

    Fecha 5 hora

    date datetimeoffset

    datetime2 smalldatetime

    datetime time

    Cadenas de caracteres

    c+ar varc+ar

    te't

    Cadenas de caracteres nicodenc+ar nvarc+ar

    nte't

    Cadenas binarias

    $inary var$inary

    ima*e

    3tros tipos de datos

    cursor timestamp

    +ierarc+yid uniqueidentifier

    sqlAvariant 'ml

    ta$la "ipos espaciales

    https://msdn.microsoft.com/es-es/library/ms187745(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187746(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms177603(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187745(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187746(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms179882(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187745(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms179882(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms173773(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/bb630352(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/bb630289(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/bb677335(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms182418(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187819(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/bb677243(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms176089(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187993(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms186939(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187993(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms188362(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187993(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms190498(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms182776(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/bb677290(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187942(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms173829(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187339(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms175010(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ff848797(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187745(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187746(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms177603(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187745(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187746(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms179882(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187745(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187745(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms179882(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms173773(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms173773(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/bb630352(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/bb630289(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/bb677335(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms182418(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187819(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/bb677243(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms176089(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms176089(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187993(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms186939(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms186939(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187993(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms188362(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms188362(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187993(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms190498(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms182776(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/bb677290(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187942(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms173829(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms187339(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ms175010(v=sql.120).aspxhttps://msdn.microsoft.com/es-es/library/ff848797(v=sql.120).aspx
  • 7/26/2019 Temario Quinto

    52/104

    Datos Unicode&a especificacin Unicode define un esquema de codificacin 6nico para la mayor parte de los caracteresusados con m#s frecuencia en todo el mundo. "odos los equipos traducen de forma co+erente los patrones de$its de los datos Unicode a caracteres, con la especificacin 6nica de Unicode. !sto ase*ura que el mismopatrn de $its se convierte siempre al mismo car#cter en todos los equipos. &os datos se pueden transferirli$remente de unas $ases de datos o unos equipos a otros, sin preocuparse de que el sistema que los reci$atraduzca los patrones de $its de forma incorrecta.Un pro$lema con los tipos de datos que usan un $yte para codificar cada car#cter es que el tipo de datos slopuede representar 2N caracteres distintos. !sto e'i*e varias especificaciones de codificacin, o p#*inas decdi*os, para distintos alfa$etos, como los europeos, que son relativamente peque>os. "ampoco se puedenadministrar sistemas como el alfa$eto 4an(i (apon8s o el +an*ul coreano, que tienen miles de caracteres.5ada intercalacin de =icrosoft S& Server dispone de una p#*ina de cdi*os que define los patrones de $itsque representan cada car#cter en los valores char, varchary text. !s posi$le asi*nar una p#*ina de cdi*osdiferente a constantes de caracteres y columnas individuales. &os equipos cliente usan la p#*ina de cdi*osasociada a la confi*uracin re*ional del sistema operativo para interpretar los patrones de $its de caracteres.!'iste un *ran n6mero de p#*inas de cdi*os diferentes y al*unos caracteres aparecen en al*unas p#*inas,pero no en otras. 9l*unos caracteres se definen con un patrn de $its en al*unas p#*inas de cdi*os y con unpatrn de $its distinto en otras. 5uando se crean sistemas internacionales que de$en mane(ar distintosidiomas, resulta dif?cil ele*ir p#*inas de cdi*os para todos los equipos que cumplan los requisitos de losidiomas de varios pa?ses y re*iones. 9simismo, es dif?cil ase*urar que cada equipo realiza las traduccionescorrectas cuando interact6an con un sistema que utiliza una p#*ina de cdi*os distinta.

    &a especificacin Unicode resuelve este pro$lema al utilizar 2 $ytes para codificar cada car#cter. 7aysuficientes patrones distintos 0N.NJ1 en 2 $ytes para esta$lecer una 6nica especificacin que a$arque lamayor parte de los idiomas comerciales comunes. Dado que todos los sistemas Unicode usan de formaco+erente los mismos patrones de $its para representar todos los caracteres, se resuelve el pro$lema queplantea el +ec+o de que los caracteres se pudieran convertir de forma incorrecta al pasarlos de un sistema aotro. Puede minimizar los pro$lemas de la conversin de caracteres si utiliza tipos de datos Unicode en susistema.!n S& Server, 8stos son los tipos de datos que admiten datos Unicode@ncharnvarcharntext

    8ota

    !l prefi(o n de estos tipos de datos procede del est#ndar o m#'imo de las columnas nvarchar, si se utiliza el especificador ma', es de 2jJ $ytes. Parao$tener m#s informacin acerca de nvarchar&max', vea Usar tipos de datos de valores *randes.&as constantes Unicode se especifican con una a la izquierda@ 5adena Unicode.

    "odos los datos Unicode utilizan el (ue*o de caracteres definido por la norma Unicode. &as intercalacionesUnicode que se utilizan en las columnas Unicode se $asan en atri$utos como la distincin de may6sculas ymin6sculas, la distincin de acentos, la distincin de tipos de 4ana, la distincin de anc+o y los $inarios.

    Tipos de datos 8umOricos

  • 7/26/2019 Temario Quinto

    53/104

    &os tipos de datos num8ricos, en S& Server, son los que utilizamos para almacenar cantidades num8ricascon las cuales tenemos la posi$ilidad de realizar operaciones aritm8ticas y l*icas.&os datos num8ricos se dividen en 2, que son um8ricos e'actos y num8ricos apro'imados, dentro de loscuales se encuentran las si*uientes variaciones@

    um8ricos e'actos

    um8ricos apro'imados

    float real

    Para almacenar valores U=!:

  • 7/26/2019 Temario Quinto

    54/104

    real T u 3

    E*emplo$Para declarar como tipo num8rico a un campo de nuestra ta$la, a la par de nuestro nom$re del campo,colocamos nuestro tipo de dato, veamos el cdi*o@

    5:!9"! "9-&! d$o.=y"a$le0=y-i*

  • 7/26/2019 Temario Quinto

    55/104

    smalldatetime

    9999==DD++@mm@ss

    De ////a 2/L//

    minuto T o o

    datetime 9999==DD++@mm@ssZ. nnn[

    De LNJ//a 2J

    /,//JJJse*undos

    3 o o

    datetime2 9999==DD++@[email protected][

    De ///////@//@//./////// a 2J2J@N@N.

    //nanose*undos

    De a 3 Si o

    datetimeoffset

    9999==DD++@[email protected][ ZRg[++@mm

    De ///////@//@//./////// a 2J2J@N@N. 0en U"51

    //nanose*undos

    De 3 a / Si Si

    8ota

    !l tipo de datosrowversionde "ransactS& no es un tipo de datos de fec+a y +ora. timestampes unsinnimo desusado de rowversion.

    %unciones de fec+a y +ora!n las ta$las si*uientes se enumeran las funciones de fec+a y +ora de "ransactS&.Funciones 9ue obtienen valores de fecha 5 hora del sistema"odos los valores de fec+a y +ora del sistema se derivan del sistema operativo del equipo en el que se e(ecutala instancia de S& Server.%nciones de fec&a ' &ora del sistema de precisi!n ele$adaS& Server 2/T o$tiene los valores de fec+a y +ora utilizando la 9P< de

    Windows "et(5stemTime%sFileTime&'. &a e'actitud depende del +ardware del equipo y de la versin deWindows en las que la instancia de S& Server se est8 e(ecutando. &a precisin de esta 9P< se fi(a en //nanose*undos. &a precisin se puede determinar mediante la 9P< deWindows "et(5stemTime%d*ustment&'.

    Funci/n (intaxis )alor devueltoTipo de datosdevuelto

    7eterminismo

    SGSD9"!"

  • 7/26/2019 Temario Quinto

    56/104

    Server se est#e(ecutando. !l a(uste dezona +oraria est#incluido.

    SGSU"5D9"!"

  • 7/26/2019 Temario Quinto

    57/104

    D9"!9DD

    D9"!9DD0datepart,number , date1

    Devuelve un nuevovalor datetimea*re*ando un intervaloal datepartespecificado del dateindicado.

    !l tipo de datos delar*umento date.

    Determin?stico

    !O=O"7

    !O=O"70start4dateZ,montM4to4add[ 1

    Devuelve el 6ltimo d?adel mes que contiene

    la fec+a especificada,con un desplazamientoopcional.

    !l tipo de valor devueltoes start4dateodatetime=

    &,'.

    Determin?stico

    "ipos de datos -inarios

    Son los que utilizamos para el almacenamiento de re*istros con $inarios en nuestras $ases de datos, e'istendos tipos@

    binar5Z 0 n1 [Datos $inarios de lon*itud fi(a con una lon*itud de n$ytes, donde nes un valor que oscila entre y 3.///. !ltama>o de almacenamiento es de n$ytes.varbinar5Z 0 ng max1 [Datos $inarios de lon*itud varia$le. npuede ser un valor de a 3.///. maxindica que el tama>o m#'imo dealmacenamiento es de 2jJ $ytes. !l tama>o de almacenamiento es la lon*itud real de los datosespecificados R 2 $ytes. &os datos especificados pueden tener una lon*itud de / $ytes. !l sinnimo de 9So de 5RR prima lavelocidad1.

    8ot@ !l operando e'presioncast 0que puede ser una e'presin que se eval6a a un resultado es convertido atipo $ool, con lo que solo puede ser uno de los valores ciertoIfalso. 9 continuacin el operador cam$ia suvalor@ Si es cierto es convertido a falso y viceversa.C3668#TK 6%8%"E!:Un 5ommunity =ana*er o Social =edia =ana*er es la persona encar*ada de *estionar, construir y moderarcomunidades en torno a una marca en ?aF, Equ8 contenidos est#n m#spredispuestos a compartir con otros usuariosF, Econocen realmente la marcaF, Equi8nes son los principalesBinfluencersC con los que la empresa de$er?a desarrollar una relacin a lar*o plazoF 9simismo, el communitymana*er est# o$li*ado a investi*ar so$re las diversas +erramientas de automatizacin disponi$les en elmercado y estar al tanto de la actualidad *enerada por la tecnolo*?a, el mar4etin* y la industria de la marcapara la que tra$a(a.J. Hacer crecer la comunidad&os community mana*ers de$en +acer crecer las comunidades para la que tra$a(an interactuando todos losd?as con sus miem$ros tanto en plataformas online 0redes sociales, $lo*s y foros1 como en platformas offline0eventos, conferencias y encuentros1. 9l mismo tiempo, de$en preocuparse de pu$licar actualizaciones deestado, posts y tweets en los que la calidad sea siempre la principal se>a de identidad del contenido. Su la$or

    es incrementar la cantidad y la calidad de la comunidad de usuarios de la marca en las redes sociales. =ilami*os en %ace$oo4 procedentes de la industria equivocada son definitivamente menos valiosos que 2/ami*os influyentes con las cone'iones adecuadas en esta red social.T. 7istribuir contenido!l comunity mana*er promociona el contenido *enerado por la marca en la We$ Social con el o$(etivo deconectar con el p6$lico o$(etivo de la compa>?a y +acer que 8sta *ane nuevos clientes. Para conse*uirlo, suprincipal arma son los di#lo*os, no los monlo*os.N. (umarse a la conversaci/n!sta la$or implica responder a pre*untas y comentarios online de manera inmediata, poner rostro a la marcaen las plataformas sociales y enta$lar relaciones con los clientes potenciales de la compa>?a. !l communitymana*er es la voz de la empresa en las redes sociales, pero de$e ser capaz tam$i8n de trasladar al cliente su

  • 7/26/2019 Temario Quinto

    86/104

    propia personalidad individual. De lo contrario, su voz ser?a perci$ida por el consumidor como impostada yartificial.

    Principales responsabilidades de todo Communit5 6ana4er o C6:=onitoreo:espuestaDifusin-randin*

    9n#lisis9 su vez, estas responsa$ilidades implican que d?a a d?a el 5ommunity =ana*er asuma los si*uientesroles para cumplir con los o$(etivos pautados@7etectiveSu funcin de monitoreo, implica que a diario investi*ue por fuera de su propia comunidad, so$re lo que seest# diciendo acerca de la marca o sus productos. 9dem#s de que act6e, ya sea respondiendo en nom$re dela empresa o poniendo en alerta a sus directivos.TerapeutaDentro de su propia comunidad, los 5=s sacan a relucir a diario su empat?a y capacidad de respuesta antereclamos y conflictos relativos a tus productos y servicios, $rindando soluciones y evitando que el malestar sepropa*ue +acia otros usuarios y afecte tu ima*en de marca.7omador&as redes sociales se prestan para que al*unos p?caros quieran de(ar mal parada a tu empresa en $usca de

    al*6n $eneficio o por el slo +ec+o de molestar. !stamos +a$lando de los oportunistas y los trolls. !n talsentido, otro de los roles del 5ommunity =ana*er ser# detectarlos, mantenerlos a raya y el m#s dif?cil@ poderevan*elizarlos.Fan 80mero 2!l 5ommunity =ana*er es la cara visi$le de tu marca en las redes, por lo cual de$er#mantener su nivel deentusiasmo al // a la +ora de compartir contenidos y promociones, estimulando constantementeel en*a*ement de la comunidad.%nalistaOtros de los roles cotidianos del 5= implica analizar los resultados que van *enerando los diferentes contenidosy acciones de promocin pu$licadas en las redes. 9 partir de estas m8tricas, de$er# *enerar reportes y su*eriacciones e ideas al Social =edia =ana*er que procuren alcanzar los o$(etivos previstos.7iplomtico

    Situaciones tales como una falla en el servicio o un pro$lema en la distri$ucin de tu producto, +ar#n que tu5ommunity =ana*er requiera de toda su +a$ilidad para comunicar esta situacin y evitar que un contratiempose convierta en una crisis.!edactorUn 5ommunity =ana*er escri$e y muc+o. Pu$licaciones en el muro, posts en $lo*s, tweets, etc. Por lo tanto,de$er# mantener su mente siempre alerta y a$ierta para poderser creativo y evitar la repeticin. G tener susdedos en $uena forma^

    Herramientas para facilitar el traba*o del Communit5 6ana4erLecturas para Communit5 6ana4ers

    Una lista actualizada de art?culos so$re las funciones, responsa$ilidades y +#$ilidades que de$e desarrollartodo *estor de comunidades.G administradores socialesDescu$re al*unas +erramientas *ratuitas que te permiten la administracin de diversos perfiles en redessociales y optimiza tu tiempo como 5ommunity =ana*er.7ootsuite@ administrar m6ltiples fan pa*e en %ace$oo4$!s un administrador de redes sociales, cuenta con laopcin de in*resar varios perfiles de diferentes redes sociales como@ "witter, %ace$oo4, &in4ed

  • 7/26/2019 Temario Quinto

    87/104

    7ellot't@ actualiza tu perfil desde dispositivos mviles !sta es otra opcin de administracin de redes sociales, seinte*ra con We$, funciona en dispositivos mviles, permite el acceso a correo, c+at y cuenta con unaaplicacin para instalar en la computadora. 9dem#s, su servicios es *ratuito y cuenta con un 9P< ydocumentacin por si te interesa se*uir desarrollando.Pin*.fm@ actualiza desde el ;"al4 !s una de las opciones de administracin de redes sociales m#s populares enel medio, al i*ual que las anteriores permite a*re*ar todas las redes sociales a su servicio, funciona paradispositivos mviles, administra correos y te permite c+atear_azle@ administra m#s de N perfiles sociales !s una plataforma que te permite administrar las m6ltiples redessociales, su panel es muy f#cil de utilizar e instalar. !s un servicio *ratuito y al i*ual que las opcionesanteriores facilita la actualizacin de informacin de las cuentas sociales de una empresa, marca o persona.&a comunicacin a trav8s de ol que te permite la $6squeda de $lo*s tem#ticos y medios.-oardreader@ un servicio que te permite $uscar informacin espec?fica en@ foros, $lo*s, redes sociales y m#s.

    9le'a@ uno de los servicio m#s populares para realizar el an#lisis de sitios, $lo*s y contenido. 5on 6tilesestad?sticas para evaluar sitios.

    9lianzo@ un servicio disponi$le en J idiomas, que te permite $uscar informacin de $lo*s, adem#s teproporciona un ran4in* en $lo*s y redes sociales.-randfo@ con este servicio podr#s revisar la reputacin de una persona, empresa o marca en l?nea. "e permite+acer una $6squeda de todo lo que se +a dic+o o escrito de manera espec?fica.

    %nlisis en redes sociales e influencia de marca!l monitoreo y an#lisis del contenido que se mane(a en las redes sociales es la la$or m#s comple(a del5omunity =ana*er, el cruce de datos y sacar reportes. :evisa estar +erramientas que te facilitar#n la tarea."witter;rader@ una opcin que permite medir el nivel de influencia que tiene un usuario en "witter, con 6tilesdatos y par#metros de resultados."rendistic@ te permite analizar la frecuencia con la que se +a mencionado una marca en los medios di*itales,tam$i8n puedes in*resar el nom$re o U:&.;oo*le "rends@ realiza la $6squeda de informacin a trav8s de *r#ficas con un par#metro de tiempo yfrecuencia.-lo*Pulse@ toma el pulso de tu $lo*, un $uscador que te permite revisar los enlaces a tu $lo*, ran4in*s y$6squedas en otros $lo*s. 5on opciones $#sicas y avanzadas.Stat$rain@ ofrece un m8todo diferentes de an#lisis de datos de un $lo* o sitio we$. Utiliza el n6mero de visitas y

    el :an4in* de 9le'a como referencias..

    %dministraci/n de contenido 5 productividadPasar tanto tiempo en l?nea puede +acer que nuestro tra$a(o se estanque, mantener actualizados los perfilesy administrar la comunicacin en l?nea puede ser a$rumado. 9prende a utilizar +erramientas que permitanoptimizar tu tiempo y te +a*an productivo.;mail Priority

  • 7/26/2019 Temario Quinto

    88/104

    9dministradores de redes sociales@ una serie de +erramientas que te permiten la *estin de varias cuentassociales de personas, productos, servicios o marcas.!vernote@ la aplicacin m#s popular para realizar recordatorios, una +erramienta que se caracteriza por suconectividad con dispositivos mviles y aplicaciones.Ofim#tica@ no dupliques contenido, revisa estas opciones en l?nea para la administracin de tus documentosdi*itales.

    "oo4le en )an4uardia&a condicin innovadora, la fi*uracin capaz de asumir *lo$almente en el len*ua(e de las formasarquitectnicas las diferentes novedades t8cnicas que puedan producirse y las nuevas ideas de or*anizacintipol*ica que la van*uardia ensaye, constituye el modo de operar propio de los *rupos de van*uardia.=G$ lle4a "mail1 el correo de "oo4le:

    !l N de a$ril de 2//T ;oo*le lanza la versin de prue$a de su servicio de correo electrnico, ;mail. Poco apoco se van a>adiendo otras funciones como;oo*le "al4, ;oo*le Docs 0que a+ora se llama ;oo*le Drive1o;oo*le 5alendar. Oc+o a>os despu8s, a finales de 2/2, un estudio de la consultara 5omScore constata que

    ;mail es el servidor de correo electrnico m#s usado del mundo con 232 millones de usuarios, por delante deotros como 7otmail, Outloo4 o Ga+oo^ =ail. 0%oto@ Wi4ipedia1G En =. "oo4le compra %ndroid

    9ndroid es un sistema operativo para bsmartp+onesk. ;oo*le lo compra en 2//N, aunque tarda unos a>os ensalir al mercado. !l primer tel8fono 9ndroid fue el 7"5 Dream, que se puso a la venta en octu$re de 2//3.!sto supone el inicio de la competencia con otros dispositivos como iP+one o -lac$erry.. 5 en = KouTube:

    Gou"u$e es una plataforma bonlinek de v?deos. &a *ente puede su$ir sus *ra$aciones y al mismo tiempo verlas de usuarios de todo el mundo. %ue creada por un *rupo de tres particulares en 2//N, y en 2// ;oo*le lacompra. =D$ lle4a "oo4le Chrome:

    De $uscador a nave*ador. !n septiem$re de 2//3 ;oo*le lanza;oo*le 5+rome,un nave*ador. Presenta undise>o limpio y sencillo y funciona con muc+a rapidez. Pronto se convierte en el competidor de *randesnave*adores como

  • 7/26/2019 Temario Quinto

    89/104

    !l 23 de (unio de 2/ ;oo*le se convierte en red social. !sta es la fec+a en la que nace ;oo*leR, quepretende competir de forma directa con %ace$oo4. &a plataforma presenta un dise>o innovador. &oscontactosse a*rupan en c?rculos que se clasifican cate*or?as@ ami*os, familia, conocidos, etc. Otras funcionesatractivas son la posi$ilidad de crear *ifks animados o incluso crearcomunidades tem#ticas.

    7ominios de alto nivel&os dominios de alto nivel *en8ricos tienen tres o m#s letras y su or*anizacin y *estin +a sido modificadamuy recientemente.Desde el comienzo del "5PI

    o 2/// +u$o slo siete dominios *en8ricos de alto nivel@

    Primeros dominios 4enOricos de alto nivel%ctualmente4estionados por

    .com para empresas

    )eri(i4n "lobal !e4istr5 (ervices.net para *randes redes

    .or* para or*anizaciones sin fines de lucro

    .edu para instituciones educativas acreditadas en US9 Educause

    .*ov para el *o$ierno US9 ( "eneral (ervices %dministration

    .mil para las fuerzas armadas de US9 ( 7o7 8etwor #nformation Center

    .int para or*anizaciones internacionales #%8% :int 7omain !e4istr5

    7ominios 4enOricos de reciente creaci/n%ctualmente4estionados por

    .aero para la industria de transporte aero (#T%

    .$iz para empresas en *eneral 8euLevel1 #nc:

    .coop para empresas cooperativas 7ot Cooperation LLC:

    .info sin orientacin espec?fica %filias Limited:

    .museum para museos 6useum 7omain 6ana4ement %ssociation:

    .name para individuos "lobal 8ame !e4istr5

    !obotica&a ro$tica es la rama de la in*enier?a mec#nica,in*enier?a el8ctrica,in*enier?a electrnica y ciencias de lacomputacin que se ocupa del dise>o, construccin, operacin, disposicin estructural, manufactura y aplicacin delos ro$ots. 2

    &a ro$tica com$ina diversas disciplinas como son@ la mec#nica,la electrnica,la inform#tica, la inteli*enciaartificial, la in*enier?a de control y laf?sica.J Otras #reas importantes en ro$tica son el #l*e$ra, los autmataspro*rama$les, la animatrnica y las m#quinas de estados.

    !l t8rminoro$ot se populariz con el 8'ito de la o$ra:.U.:. 0:o$ots Universales :ossum1,escrita por _arel ape4en 2/. !n la traduccin al in*l8s de dic+a o$ra, la pala$ra c+eca ro$ota , que si*nifica tra$a(os forzados , fuetraducida al in*l8s como ro$ot.T

    G:] "eneraci/n::o$ots inteli*entes. Son similares a los anteriores, pero adem#s poseen sensores que env?an informacin a lacomputadora de control so$re el estado del proceso. !sto permite una toma inteli*ente de decisiones y elcontrol del proceso en tiempo real..:] H

  • 7/26/2019 Temario Quinto

    90/104

    %ctualidad del software

    &a capacidad de un software de ser comprendido, aprendido, usado y ser atractivo para el usuario, encondiciones espec?ficas de uso. !n la actualidad, *racias a los avances de la

  • 7/26/2019 Temario Quinto

    91/104

    Su$ 5opia5olumnas01Dim miran*o 9s :an*eDim col 9s :an*eDim ueva7o(a 9s Wor4s+eetDim i 9s

  • 7/26/2019 Temario Quinto

    92/104

    %daptaci/n del pa9uete$ !l o$(etivo principal de esta fase es entender de una manera detallada elfuncionamiento del paquete, esto tiene como finalidad *arantizar que el paquete pueda ser utilizado en sum#'imo rendimiento, tanto para ne*ocios o recursos. "odos los elementos que componen el paquete soninspeccionados de manera detallada para evitar errores y entender me(or todas las caracter?sticas delpaquete.7esarrollo de unidades de diseo de interactivas$ !n esta fase se realizan los procedimientos que see(ecutan por un di#lo*o usuariosistema. &os procedimientos de esta fase tienen como o$(etivo principal@!sta$lecer espec?ficamente las acciones que de$e efectuar la unidad de dise>o.&a creacin de componentes para sus procedimientos.!(ecutar prue$as unitarias y de inte*racin en la unidad de dise>o.7esarrollo de unidades de diseo batch$ !n esta fase se utilizan una serie de com$inacin de t8cnicas,como dia*rama de flu(o, dia*ramas de estructuras, ta$las de decisiones, etc. 5ualquiera a utilizar ser#$eneficioso para plasmar de manera clara y o$(etiva las especificaciones y que as? el pro*ramador ten*amayor comprensin a la +ora de pro*ramar y pro$ar los pro*ramas que le corresponden.

    )#(#^8 "E8E!%L 7EL P!3CE(3 7E 7E(%!!3LL3 7E (3FTW%!E

    )#(#^8 "E8E!%L 7EL P!3CE(3 7E 7E(%!!3LL3 7E (3FTW%!E

    !s proceso es afectado por la creatividad y (uicio de las personas involucradas. !n el desarrollo de software+ay una serie de desaf?os adicionales, relativos esencialmente a la naturaleza del producto o$tenido. Unproceso de desarrollo de software tiene como propsito la produccin eficaz y eficiente de un productosoftware que re6na los requisitos del cliente.

    !s actividades requeridas para desarrollar un sistema de software de alta calidad y proporciona el marco detra$a(o desde el cual se puede esta$lecer un plan detallado para el desarrollo del software. 9ctividades@Dise>o, validacin, evolucin, especificacin.

    Proceso de software

    &a meta de la in*enier?a de software es construir productos de software, o me(orar los e'istentes) enin*enier?a de procesos, la meta es desarrollar o me(orar procesos.Un proceso de desarrollo de software es un con(unto de personas, estructuras de or*anizacin, re*las,pol?ticas, actividades y sus procedimientos, componentes de software, metodolo*?as, y +erramientas utilizadaso creadas espec?ficamente para definir, desarrollar, ofrecer un servicio, innovar y e'tender un producto desoftware.Un proceso de software efectivo +a$ilita a la or*anizacin a incrementar su productividad al desarrollarsoftware@ Permite estandarizar esfuerzos, promover re6so, repeticin y consistencia entre proyectos. Provee la oportunidad de introducir me(ores pr#cticas de la industria. Permite entender que las +erramientas de$en ser utilizadas para soportar un proceso.

    !sta$lece la $ase para una mayor consistencia y me(oras futuras.Un proceso de software me(ora los esfuerzos de mantenimiento y soporte@ Define cmo mane(ar los cam$ios y li$eraciones a sistemas de software e'istentes. Define cmo lo*rar la transicin del software a la operacin, y cmo e(ecutar los esfuerzos de operacin ysoporte.

    EL 637EL3 7!%

    !s un modelo de proceso de software incremental que resalta un ciclo de desarrollo corto. !s una adaptacinde alta velocidad del modelo de cascada. !l proceso de D:9 permite que un equipo de desarrollo cree unsistema completamente funcional dentro de un periodo muy corto de / a / d?as.

    https://es.wikipedia.org/wiki/Diagrama_de_flujohttps://es.wikipedia.org/wiki/Diagrama_de_flujohttps://es.wikipedia.org/wiki/Diagrama_de_flujo
  • 7/26/2019 Temario Quinto

    93/104

    !l desarrollo r#pido de aplicaciones o :9D 0:apid 9pplication Development1 es un proceso de desarrollo desoftware, D:9 es una adaptacin de9lta velocidad en el que se lo*ra el desarrollo r#pido utilizando unenfoque de construccin $asado en componentes. Si se comprenden $ien los requisitos y se limita el #m$itodel proyecto, el proceso D:9 permite al equipo de desarrollo crear un sistema completamente funcionaldentro de periodos cortos de tiempo.

    Fases

    6odelado de "esti/n$!l flu(o de informacin entre las funciones de *estin se modela de forma que responda a las si*uientespre*untas@ Eu8 informacin conduce el proceso de *estinF Eu8 informacin se *eneraF Eui8n la*eneraF E9 dnde va la informacinF Eui8n la procesoF..6odelado de 7atos$ !l flu(o de informacin definido como parte de la fase de modelado de *estin se refinacomo un con(unto de o$(etos de datos necesarios para apoyar la empresa. Se definen las caracter?sticas0llamadas atri$utos1 de cada uno de los o$(etos y las relaciones entre estos o$(etos.

    6odelado de Procesos$&os o$(etos de datos definidos en la fase de modelado de datos quedan transformados para lo*rar el flu(o deinformacin necesario para implementar una funcin de *estin. &as descripciones del proceso se crean paraa>adir, modificar, suprimir, o recuperar un o$(eto de datos. !s la comunicacin entre los o$(etos.

    "eneraci/n de %plicaciones$!l D:9 asume la utilizacin de t8cnicas de cuarta *eneracin. !n lu*ar de crear software con len*ua(es depro*ramacin de tercera *eneracin, el proceso D:9 tra$a(a para volver a utilizar componentes de pro*ramasya e'istentes 0cuando es posi$le1 o a crear componentes reutiliza$les 0cuando sea necesario1.Pruebas de Entre4a

    5omo el proceso D:9 enfatiza la reutilizacin, ya se +an compro$ado muc+os de los componentes de lospro*ramas. !sto reduce tiempo de prue$as.Sin em$ar*o, se de$en pro$ar todos los componentes nuevos y se de$en e(ercitar todas las interfaces afondo.

    637EL3 E)3LT#)3&os evolutivos son modelos iterativos, permiten desarrollar versiones cada vez m#s completas y comple(as,+asta lle*ar al o$(etivo final deseado) incluso evolucionar m#s all#, durante la fase de operacin. &os modelosB

  • 7/26/2019 Temario Quinto

    94/104

    Desarrollo !'ploratorio@ !l o$(etivo de este enfoque es e'plorar con el usuario los requisitos +asta lle*ara un sistema final. !l desarrollo comienza con las partes que se tiene m#s claras. !l sistema evolucionaconforme se a>aden nuevas caracter?sticas propuestas por el usuario. !nfoque utilizando prototipos@ !l o$(etivo es entender los requisitos del usuario y tra$a(ar para me(orar lacalidad de los requisitos. 9 diferencia del desarrollo e'ploratorio, se comienza por definir los requisitos que noest#n claros para el usuario y se utiliza un prototipo para e'perimentar con ellos. !l prototipo ayuda a terminarde definir estos requisitos.7esarrollo basado en componentes&a in*enier?a de software $asada en componentes 05-S!1, tam$i8n conocida como desarrollo $asado encomponentes 05-D1, es una rama de la in*enier?a de software que enfatiza la separacin de asuntos, por lo quese refiere a la funcionalidad de amplio ran*o disponi$le a trav8s de un sistema de software dado. !s unacercamiento $asado en la reutilizacin para definir, implementar, y componer componentes desoftware d8$ilmente acoplados en sistemas. !sta pr#ctica persi*ue un amplio *rado de $eneficios tanto en elcorto como el lar*o plazo, para el software en s? mismo y para las or*anizaciones que patrocinan tal software.Un componente de software individual es un paquete de software, un servicio we$, oun mdulo que encapsula un con(unto de funciones relacionadas 0o de datos1.5on respecto a la coordinacin a lo lar*o del sistema, los componentes se comunican uno con el otro pormedio de interfaces.

    5uando un componente ofrece servicios al resto del sistema, este adopta una interfaz proporcionada queespecifica los servicios que otros componentes pueden utilizar, y cmo pueden +acerlo. !sta interfaz puede

    ser vista como una firma del componente el cliente no necesita sa$er so$re los funcionamientos internos delcomponente 0su implementacin1 para +acer uso de ella. !ste principio resulta en componentes referidoscomo encapsulados. &as ilustraciones U=& de este art?culo representan a las interfaces proporcionadas, con uns?m$olo lollipop unido al $orde e'terno del componente.TEC8#C%( 7E C%!T% "E8E!%C#38

    &as t8cnicas de cuarta *eneracin son un con(unto muy diverso de m8todos y +erramientas que tienen poro$(eto el de facilitar el desarrollo del software, facilitan al que desarrolla el software la propiedad de especificaral*unas caracter?sticas del mismo a alto nivel, mas tarde, la +erramienta *enera autom#ticamente el cdi*ofuente a partir de esta especificacin.&os tipos m#s comunes de *eneradores de cdi*o cu$ren uno o varios de los si*uientes aspectos@

    .9cceso a $ase de datos@ utilizando len*ua(es de consulta de alto nivel.;eneradores de cdi*os@ a partir de una especificacin de los requisitos se *enera autom#ticamente toda laaplicacin

    2.;eneracin de pantallas@ permitiendo dise>ar la pantalla di$u(#ndola directamente, incluyendo adem#s elcontrol del cursor y la *estin de los errores de los datos de entrada.

    J.;estin de entornos *r#ficos.

    T.;eneracin de informes.@5omo otros paradi*mas, "T; comienza con el paso de recoleccin derequerimientos. !n el me(or de los casos el cliente de$er?a descri$ir los requerimientos y 8stos traducirsedirectamente a un prototipo operacional pero en *eneral esto no es as?. !l cliente puede no estar se*uro de lo

    que necesita, puede ser am$i*uo en la especificacin de +ec+os que son conocidos y puede ser incapaz o nodesear especificar la informacin en la forma que una +erramienta "T; puede construirla, adem#s las+erramientas actuales "T; no son lo suficientemente sofisticadas para acomodar realmente len*ua(e natural yno lo ser#n por al*6n tiempo.

    Estructura de datos

    https://es.wikipedia.org/w/index.php?title=Separaci%C3%B3n_de_asuntos&action=edit&redlink=1https://es.wikipedia.org/w/index.php?title=Separaci%C3%B3n_de_asuntos&action=edit&redlink=1https://es.wikipedia.org/wiki/Componente_de_softwarehttps://es.wikipedia.org/wiki/Componente_de_softwarehttps://es.wikipedia.org/wiki/Componente_de_softwarehttps://es.wikipedia.org/w/index.php?title=D%C3%A9bilmente_acoplado&action=edit&redlink=1https://es.wikipedia.org/w/index.php?title=D%C3%A9bilmente_acoplado&action=edit&redlink=1https://es.wikipedia.org/wiki/Programaci%C3%B3n_modularhttps://es.wikipedia.org/wiki/Programaci%C3%B3n_modularhttps://es.wikipedia.org/wiki/Encapsulamiento_(programaci%C3%B3n_orientada_a_objetos)https://es.wikipedia.org/wiki/Encapsulamiento_(programaci%C3%B3n_orientada_a_objetos)https://es.wikipedia.org/wiki/Encapsulamiento_(programaci%C3%B3n_orientada_a_objetos)https://es.wikipedia.org/wiki/Encapsulamiento_(programaci%C3%B3n_orientada_a_objetos)https://es.wikipedia.org/wiki/UMLhttps://es.wikipedia.org/wiki/UMLhttps://es.wikipedia.org/w/index.php?title=Separaci%C3%B3n_de_asuntos&action=edit&redlink=1https://es.wikipedia.org/wiki/Componente_de_softwarehttps://es.wikipedia.org/wiki/Componente_de_softwarehttps://es.wikipedia.org/w/index.php?title=D%C3%A9bilmente_acoplado&action=edit&redlink=1https://es.wikipedia.org/wiki/Programaci%C3%B3n_modularhttps://es.wikipedia.org/wiki/Encapsulamiento_(programaci%C3%B3n_orientada_a_objetos)https://es.wikipedia.org/wiki/Encapsulamiento_(programaci%C3%B3n_orientada_a_objetos)https://es.wikipedia.org/wiki/UML
  • 7/26/2019 Temario Quinto

    95/104

    !n pro*ramacin, una estructura de datos es una forma particular de or*anizar datos en una computadorapara que pueda ser utilizado de manera eficiente.Diferentes tipos de estructuras de datos son adecuados para diferentes tipos de aplicaciones, y al*unos sonaltamente especializados para tareas espec?ficas.&as estructuras de datos son un medio para mane(ar *randes cantidades de datos de manera eficiente parausos tales como *randes $ases de datos y servicios de indizacin de ar al*oritmos eficientes. 9l*unos m8todos formales de dise>o ylen*ua(es de pro*ramacin destacan las estructuras de datos, en lu*ar de los al*oritmos, como el factor clavede or*anizacin en el dise>o de software.

    %!B3L B#8%!#3Un #r$ol $inario es una estructura de datos en la cual cada nodo puede tener un +i(o izquierdo y un +i(oderec+o. o pueden tener m#s de dos +i(os 0de a+? el nom$re $inario1. Si al*6n +i(o tiene como referencia anull, es decir que no almacena nin*6n dato, entonces este es llamado un nodo e'terno. !n el caso contrario el+i(o es llamado un nodo interno. Usos comunes de los #r$oles $inarios son los #r$oles $inarios de $6squeda,los mont?culos $inarios y 5odificacin de 7uffman.Un #r$ol $inario es un #r$ol en el que nin*6n nodo puede tener m#s de dos su$#r$oles. !n un #r$ol $inariocada nodo puede tener cero, uno o dos +i(os 0su$#r$oles1. Se conoce el nodo de la izquierda como +i(oizquierdo y el nodo de la derec+a como +i(o derec+o.3peraciones bsicasUna tarea muy com6n a realizar con un #r$ol es e(ecutar una determinada operacin con cada uno de los

    elementos del #r$ol. !sta operacin se considera entonces como un par#metro de una tarea m#s *eneral quees la visita de todos los nodos o, como se denomina usualmente, del recorrido del #r$ol.Si se considera la tarea como un proceso secuencial, entonces los nodos individuales se visitan en un ordenespec?fico, y pueden considerarse como or*anizados se*6n una estructura lineal. De +ec+o, se simplificaconsidera$lemente la descripcin de muc+os al*oritmos si puede +a$larse del proceso del si*uiente elementoen el #r$ol, se*6n un cierto orden su$yacente.7ay dos formas $#sicas de recorrer un #r$ol@ !l recorrido en amplitud y el recorrido en profundidad.

    TE3!#% 7E "!%F3(!n teor?a de *rafos, un #r$ol es un *rafo en el que cualesquiera dos v8rtices est#n conectados pore'actamente un camino. Un $osque es una unin dis(unta de #r$oles. Un #r$ol a veces reci$e el nom$re de#r$ol li$re.

    Un #r$ol es un *rafo simple no diri*ido ; que satisface@. ; es cone'o y no tiene ciclos .2. ; no tiene ciclos y, si se a>ade al*una arista se forma un ciclo.J. ; es cone'o y si se le quita al*una arista de(a de ser cone'o.T. ; es cone'o y el *rafo completo de J v8rtices no es un menor de ;.N. Dos v8rtices cualquiera de ; est#n conectados por un 6nico camino simple.&as condiciones anteriores son todas equivalentes, es decir, si se cumple una de ellas otras tam$i8n secumplen. Para #r$oles finitos adem#s se cumple que@ Si un #r$ol ; tiene un n6mero finito de v8rtices, n,entonces tiene n aristas.

    Clasificaci/n de _rboles Binarios

    !'isten cuatro tipos de #r$ol [email protected]. -. Distinto.9. -. Similares.9. -. !quivalentes.9. -. 5ompletos.9 continuacin se +ar# una $reve descripcin de los diferentes tipos de #r$ol $inario as? como un e(emplo decada uno de ellos.

    9. -. D

  • 7/26/2019 Temario Quinto

    96/104

    9. -. S

  • 7/26/2019 Temario Quinto

    97/104

    T. :ealice la operacin postordendonde n es el n6mero de nodos +i(os. Dependiendo del pro$lema actual, las operaciones de preorden, inorden o postorden pueden ser vac?as 0void1, o usted puede querer visitar solamente un nodo de +i(oespec?fico, as? que estas operaciones pueden ser consideradas opcionales. "am$i8n, en la pr#ctica, m#s deuna de las operaciones de preorden, inorden y postorden pueden ser requeridas. Por e(emplo, al insertar enun #r$ol ternario, una operacin de preorden es realizada comparando elementos. Una operacin de postorden puede lue*o ser necesitada para re$alancear el #r$ol.

    !ecorridos en Pre orden!n este tipo de recorrido se realiza cierta accin 0quiz#s simplemente imprimir por pantalla el valor de la clavede ese nodo1 so$re el nodo actual y posteriormente se trata el su$#r$ol izquierdo y cuando se +aya concluido,el su$#r$ol derec+o. Otra forma para entender el recorrido con este m8todo seria se*uir el orden@ nodo ra?z,nodo izquierda, nodo derec+a.Para recorrer un #r$ol $inario no vac?o en pre orden, +ay que realizar las si*uientes operacionesrecursivamente en cada nodo, comenzando con el nodo de ra?z 0ra?z, izquierdo, derec+o1@. isite la ra?z2. 9traviese el su$#r$ol izquierdoJ. 9traviese el su$#r$ol derec+o

    Pre orden@ 9-D;!7

  • 7/26/2019 Temario Quinto

    98/104

    &as dos operaciones $#sicas, son las de almacenamiento y la de recuperacin, que se llaman pus+ 0la dealmacenamiento 1 y pop 0la de recuperacin1, para implementar una pila se necesitan las dos operacionesmencionadas con anterioridad y una zona de memoria para utilizarla como pila, se puede utilizar un array, ouna zona asi*nada mediante asi*nacin din#mica de memoria. 9l i*ual que en las colas, la funcin derecuperacin elimina el valor de la lista, y si este no se almacena en al*6n lu*ar, este se destruye.&a varia$le top es el ?ndice de la si*uiente posicin li$re de la pila. 5uando se implementan estas funciones, lom#s importante es evitar el des$ordamiento de la pila por los dos e'tremos, si top H/ la pila esta vac?a y si topKque la ultima posicin de almacenamiento la pila est# llena.

    &istas enlazadas

    9l contrario que las pilas y las colas las listas enlazadas pueden acceder a una zona de memoria de formaaleatoria, ya que cada trozo de informacin lleva un enlace al si*uiente elemento de la cadena. Una listaenlazada requiere una estructura de datos comple(a, al contrario que las colas o las pilas, que pueden operarcon elementos simples o comple(os, adem#s una operacin de recuperacin en una lista enlazada no eliminani destruye el elemento de la lista. Para poder eliminar un elemento de una lista es necesario utilizar unaoperacin especifica de eliminacin.

    &as listas enlazadas se utilizan principalmente para dos propsitos, crear arrays de un tama>o desconocidoen memoria, y los arc+ivos de almacenamiento en disco para $ases de datos, las listas enlazadas permiten

    insertar y eliminar nuevos elementos.

    &as listas pueden ser simplemente enlazadas o do$lemente enlazadas, las simplemente enlazadas contienenun enlace al elemento si*uiente, las do$lemente enlazadas tanto al si*uiente elemento como al elementoanterior del la lista.

    &istas simplemente enlazadas

    Una lista simplemente enlazada necesita que cada elemento conten*a un enlace con el si*uiente elemento,cada elemento consiste en una estructura de campos de informacin a punteros de enlace.

    !'isten dos formas de construir una lista simplemente enlazada , la primera es a>adir un nuevo elemento al

    principio o al final de la lista, la otra a>ade los elementos en un punto especifico de la lista.

    Si la lista ya esta ordenada, es conveniente mantenerla as?, insertando los nuevos elementos en su lu*arapropiado para lo cual se e'plora la lista de forma secuencial +asta encontrar el lu*ar apropiado, la nuevadireccin se inserta en ese punto y los enlaces se vuelven a colocar como sea necesario.

    Se pueden dar tres posi$les situaciones al insertar un elemento en una lista enlazada.

    Primero @ !l elemento se puede convertir en el primer elemento.

    Se*undo @ Puede ser insertado entre otros dos elementos.

    "ercero@ Se puede convertir en el ultimo elemento de la lista.

    "ener en cuenta que al cam$iar el primer elemento +ay que actualizar el punto de entrada en al*una parte delpro*rama, tam$i8n se puede utilizar un centinela, que no esm#s que el primer elemento no cam$ia nunca con un valor especial, con lo que siempre ser# el primerelemento de la lista pero se necesita una posicin m#s de memoria. Para recuperar un elemento de la lista escomo se*uir una cadena, una rutina $asada en el campo nom$re. Para $orrar un elemento al i*ual que parainsertar un elemento se pueden dar los mismos tres casos, si se $orra el primer elemento de la lista el punteroprevio +a de +acerse nulo, y la funcin tiene que devolver un puntero al comienzo de la lista para que cuandose $orre el primer elemento de la lista, el pro*rama conozca la direccin del nuevo primer elemento de la lista.

  • 7/26/2019 Temario Quinto

    99/104

    &as listas simplemente enlazadas solo se pueden recorrer en sentido ascendente y no en sentidodescendente, para lo cual se pueden utilizar las listas do$lemente enlaza