informática - con todas las voces · en las últimas semanas del 10mo semestre aprendimos sobre el...

78
283 Informática 11er. Semestre Educación Media Técnica También tuviste la oportunidad de utilizar las herramientas y diferentes dispositivos para el diseño e instalación de una red de área local (LAN) y te paseaste por diversos conceptos bá- sicos de programación, algoritmos, diagramas de flujo y pseudocódigo, entre otros. En este semestre vas a tener la posibilidad de profundizar en otros temas, tales como: len- guajes de programación, estructura de datos y base de datos, para completar los tres mó- dulos que conforman la mención Informática de la especialidad de Comercio y servicios administrativos. Queda de tu parte profundizar en cada uno de estos temas, para consolidar las competen- cias que te permitirán desenvolverte de una manera efectiva en el ejercicio de tu profesión, en el campo laboral o si decides avanzar a nivel de estudios superiores. Te damos la bienvenida a este nuevo semestre, donde continuarás aprendiendo a utilizar las herramientas de la informática para resolver problemas de la cotidianidad. En los semestres anteriores aprendiste a manipular los componentes de las computadoras, su reparación, mantenimiento preventivo y correctivo.

Upload: vokiet

Post on 27-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

283

Informática 11er. Semestre

Educación Media Técnica

También tuviste la oportunidad de utilizar las herramientas y diferentes dispositivos para el diseño e instalación de una red de área local (LAN) y te paseaste por diversos conceptos bá-sicos de programación, algoritmos, diagramas de flujo y pseudocódigo, entre otros.

En este semestre vas a tener la posibilidad de profundizar en otros temas, tales como: len-guajes de programación, estructura de datos y base de datos, para completar los tres mó-dulos que conforman la mención Informática de la especialidad de Comercio y servicios administrativos.

Queda de tu parte profundizar en cada uno de estos temas, para consolidar las competen-cias que te permitirán desenvolverte de una manera efectiva en el ejercicio de tu profesión, en el campo laboral o si decides avanzar a nivel de estudios superiores.

Te damos la bienvenida a este nuevo semestre, donde continuarás aprendiendo a utilizar las herramientas de la informática para resolver problemas de la cotidianidad. En los semestres anteriores aprendiste a manipular los componentes de las computadoras, su reparación, mantenimiento preventivo y correctivo.

284

285

Semana 1Los algoritmosSemana 1 Los algoritmos

¡Empecemos!

¿Qué sabes de...?

Estimado participante, bienve-nido a este nuevo semestre en el que esperamos mucha dedica-ción y apertura de tu parte para enfrentar los nuevos retos que se te presentan. A estas alturas del partido, como diríamos en el béisbol, son muchas las co-sas que dominas del tema sobre programación.

En las últimas semanas del 10mo semestre aprendimos sobre el concepto de algoritmo con sus respectivos diagramas de flujo y cómo elaborarlos a par-tir de problemas sencillos de la cotidianidad. Esta semana vamos a repasar los conceptos y procedimientos respectivos.

¿Qué significa la palabra algoritmo?, ¿has realizado alguno?, ¿lo has repre-sentado gráficamente? Para entender de programación, es importante que manejes esto.

Antes de entrar de lleno en el tema de los algoritmos y su representación gráfica, te invitamos a realizar algunos ejercicios que te permitirán tener un acercamiento al tema.

Diariamente estamos realizando actividades, cuyos procesos desarrollamos de manera automática; por ejemplo, asistir al trabajo, ir al mercado, ir el día sábado al CCA, etc. Para ello, no anotamos los pasos que vamos a dar, pues ya están grabados en nuestra mente. En vista de esto, te proponemos que esco-jas un problema tomado de tus actividades cotidianas y realices, junto a tus compañeros, una lista ordenada de los pasos para lograr la solución.

El reto es...

286

Los algoritmosSemana 1

Vamos al grano

Para entender bien lo que es un algoritmo y aprender a representarlo gráficamente, anímate a revisar el concepto en varias fuentes y a ejercitarte permanentemente.

En el diccionario de la Real Academia Española (http://www.rae.es/) encontramos la siguiente definición de algoritmo:

1.m. Conjunto ordenado y finito de operaciones que permite hallar la solu-ción de un problema.

2.m. Método y notación en las distintas formas del cálculo.

Por su parte, en WordReference.com (http://li.co.ve/zbd) se define algorit-mo como:

1.m. Conjunto ordenado y finito de operaciones que permiten hallar la so-lución de un problema: por el algoritmo de Euclides se calcula el máximo co-mún divisor de dos números.

2. Método y notación en las distintas formas del cálculo:

“ax2 + bx + c = 0” es un algoritmo.

En ambos casos, nos hablan de pasos ordenados y finitos para resolver un problema. Entonces, si nos planteamos, por ejemplo, exponer el tema sobre algorit-mos, deberíamos cumplir con los pasos siguientes: revisar el tema relacionado con los algo-ritmos; preguntarme si lo que sé sobre algoritmos es suficiente para lo que voy a exponer; si es suficiente, continúo con los pa-sos siguientes; si no, me tocará investigar lo que no domino; preparar la exposición, exponer y finalizar.

¿Foco quemado?

La lámpara no funciona

Comprar nueva lámpara

Reemplazar el foco

¿Está enchufada? Enchufarla

NO

NO

SI

SI

287

Semana 1Los algoritmos

¿Será suficiente con esta definición para entender y elaborar un algoritmo? A simple vista pareciera que sí, pero ampliemos el concepto.

Un algoritmo es un conjunto finito de instrucciones o pasos que sir-ven para ejecutar una tarea o resolver un problema. De un modo más formal, un algoritmo es una secuencia finita de operaciones realiza-bles, no ambiguas, cuya ejecución da una solución de un problema.

Cuando se habla de pasos finitos, sencillamente se refiere a una cantidad de pasos definidos, que podemos contar; por ejemplo, para ir al banco a reti-rar dinero hacemos lo siguiente:

1. Vamos al banco

2. Llenamos la planilla o forma

3. Hacemos la cola

4. Entregamos la planilla o forma

5. Retiramos el dinero

6. Fin del proceso

Como el problema era retirar el dinero del banco, lo que suceda de allí en adelante, será parte de otro u otros procesos.

Por otro lado, las instrucciones no son ambiguas, no dejan dudas para su ejecución; por ejemplo, para sacar dinero del banco, no hay dudas acerca de que debo dirigirme a la taquilla y esperar la entrega del efectivo para retirar-me de la misma.

Cabe destacar que algunos algoritmos no necesariamente tienen que ter-minar o resolver un problema en particular.

En general, los algoritmos tienen tres propiedades, siempre y cuando no consideremos algoritmos paralelos.

1. Tiempo secuencial: un algoritmo funciona en tiempo discreto –paso a paso–, definiendo así una secuencia de estados “computacionales” por cada entrada válida (la entrada son los datos que se le suministran al algoritmo antes de comenzar).

2. Estado abstracto: cada estado computacional puede ser descrito for-malmente utilizando una estructura de primer orden y cada algoritmo es independiente de su implementación (los algoritmos son objetos abstractos) de manera que, en un algoritmo, las estructuras de primer orden son invariantes bajo isomorfismo.

3. Exploración acotada: la transición de un estado al siguiente queda completamente determinada por una descripción fija y finita; es decir,

288

Los algoritmosSemana 1

entre cada estado y el siguiente solamente se puede tomar en cuenta una cantidad fija y limitada de términos del estado actual.

Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programa-ción, entre otros. Las descripciones en lenguaje natural tienden a ser ambi-guas y extensas. Mientras que, usar pseudocódigos y diagramas de flujo, evita muchas ambigüedades propias del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se man-tienen independientes de un lenguaje de programación específico.

En resumen, un algoritmo es cualquier cosa que funcione paso a paso, don-de cada paso se pueda describir sin ambigüedad y sin hacer referencia a una computadora en particular y, además, debe tener un límite fijo en cuanto a la cantidad de datos que se pueden leer/escribir en un solo paso. Esta am-plia definición abarca, tanto los algoritmos prácticos como aquellos que solo funcionan en teoría; por ejemplo, el método de Newton y la eliminación de Gauss-Jordan funcionan, al menos en principio, con números de precisión in-finita; sin embargo, no es posible programar la precisión infinita en una com-putadora, y no por ello dejan de ser algoritmos.

Para saber más…

Para profundizar en el interesante tema de esta semana, anímate a con-sultar otras fuentes, como libros de texto y/o diferentes sitios web, entre los que te recomendamos los siguientes:

http://li.co.ve/zDz http://li.co.ve/zD0 http://li.co.ve/zbc

Disfruta el video “Qué es un algoritmo” disponible en esta dirección web: http://li.co.ve/zDy

Para poner en práctica lo aprendido, te proponemos las siguientes actividades:

1. Elabora un algoritmo para cada una de las actividades listadas a conti-nuación.

a) Investiga en internet un tema relacionado con los algoritmos.

b) Elabora una presentación en cualquiera de las aplicaciones existen-tes para explicar el tema sobre algoritmos.

c) Escoge una actividad que realices de forma cotidiana y elabora su algoritmo.

Aplica tus saberes

289

Semana 1Los algoritmos

Comprobemos y demostremos que…

2. ¡Pon a prueba tus saberes y diviértete con el multimedia de este semestre!

a) Identifica en la sopa de letras las palabras relacionadas con el tema de algoritmos.

b) Completa el algoritmo, colocando en la secuencia el paso faltante.

1. Elabora un informe donde se refleje lo siguiente:

a) Problemática presentada en la sección “El reto es …”

b) Proceso utilizado para llegar a la solución del problema.

c) Resultados.

2. Elabora una presentación de tu informe y exponlo en el CCA.

290

Diagramas de flujo y pseudocódigosSemana 2Semana 2Diagramas de flujo y pseudocódigos

¡Empecemos!

¡Bienvenidos! Estamos en una fase de repaso de lo estudiado en las últimas semanas del 10mo semestre, sólo con la intención de reafirmar los saberes y refres-car los principios básicos de pro-gramación, tópico que comen-zaremos a estudiar a partir de la semana 3. Esta semana vamos a seguir repasando los algoritmos, específicamente su representación gráfica.

¿Alguna vez has realizado un diagrama de flujo? ¿Sabes lo que son pseudocódigos?

Con tus saberes y experiencia de vida, te invitamos a idear un sistema de símbolos que te permita graficar un algoritmo. Para esto debes, en primer lu-gar, escoger una actividad rutinaria de la cotidianidad familiar, laboral o del CCA y elegir los símbolos a utilizar; pueden ser figuras geométricas o imáge-nes, siempre y cuando tengan cierta afinidad.

¿Qué sabes de...?

El reto es...

S A+B

Inicio Comienzo del diagrama

Fin del diagramaFin

Entrada de datos a la computadora desde el exterior

Salida de datos a la computadora desde el exterior

Operaciones hechas por la computadora

A, B

S

291

Semana 2Diagramas de flujo y pseudocódigos

Vamos al grano

Un diagrama de flujo o flujograma, como también se conoce, es sencilla-mente un dibujo que indica, mediante símbolos, la dirección del flujo de la información y la secuencia de pasos de un algoritmo; por eso se habla de la representación gráfica del mismo. Este sistema de símbolos está regido por la Organización Internacional de Estandarización ISO.

Cada una de las instrucciones de un algoritmo representan acciones dife-rentes; por ejemplo, hay instrucciones que representan lectura de datos, es-critura de datos o toma de decisiones, entre otras. Estas acciones se ubican de forma secuencial, según el orden del algoritmo, en un gráfico denominado diagrama de flujo, que permite ver con mayor precisión cada una de las ac-ciones. Los símbolos utilizados son una convención aceptada por todos los desarrolladores de programas (ver tabla 1).

Tabla 1

Representa el inicio y el fin del proceso.

Representa la realización de una actividad en el proce-so; ejemplos: llenar la forma para retirar dinero, asignar un valor inicial, realizar una suma.

Representa entrada de datos: leer número, leer una fórmula.

Representa salida de datos, resultados, sumas, áreas, etc.

Representa la continuidad del diagrama de flujo en otra página.

Representa la dirección del flujo de información.

Representa una acción consistente en la toma de deci-siones cerradas, cuyas opciones sean sí o no.

Aplicando estos símbolos al ejemplo de ir al banco a retirar dinero, podría-mos hacer un diagrama como el que se muestra (ver figura 1).

292

Diagramas de flujo y pseudocódigosSemana 2

Figura 1

En el diagrama de la izquierda el algoritmo está bien diagramado, se entiende que el banco está en funcionamiento. En el de la derecha, introducimos una duda que com-plejiza el procedimiento, pues hay que to-mar una decisión antes de continuar con el proceso. Estos cambios también los pue-des introducir a modo de ejercicio, para ver qué sucede; lo que sí debe estar claro es que, a la hora de la traducción al lenguaje informático, no haya ambigüedades.

El pseudocódigoPara ir avanzando hacia la comprensión de los algoritmos como elementos

básicos de programación, introducimos el pseudocódigo, un “pre-lenguaje” para establecer la comunicación con la computadora.

El pseudocódigo consiste en una serie de instrucciones escritas, ya no en lenguaje natural, sino combinando este con algunas estructuras informáticas.

Ir al banco

Hacer la cola

Entregar la forma

Retirar efectivo

Inicio

Fin

Ir al banco

Hacer la cola

Entregar la forma

Ir a otro banco

Retirar efectivo

Inicio

Fin

¿El banco está laborando?

Al diagrama de la izquierda le podemos introducir una acción de deci-sión; por ejem-plo, ¿el perso-nal del banco está laboran-do? usando el símbolo respectivo.

293

Semana 2Diagramas de flujo y pseudocódigos

Se trata de una traducción previa entendible de un algoritmo; por ejemplo, para hallar el área (A) de un triángulo rectángulo de base igual 9cm (B = 9cm) y altura 5cm (h = 5cm) se escribe el algoritmo, tal como se muestra en la tabla 2.

Tabla 2

Algoritmo Diagrama de flujo Pseudocódigo Interpretación

1. Inicio

2. Leer la base (B)

3. Leer la altura (h)

4. Leer el área (A)

5. Escribir el área (A)

6. Fin.

h 5

Inicio

Fin

B 9

A B*h/2

A

Inicio

B 9

h 5

A B*h/2

A

Fin

Inicio

B 9 (se asigna el valor 9 a B)

h 5 (se asigna al valor 5 a h)

A B*h/2 (se lee la fórmula para calcular el área)

A (se escribe el área calculada)

Fin

Para saber más…

Te invitamos a ver dos interesantes videos para profundizar en el tema de esta semana, disponibles en las siguientes direcciones web:

http://li.co.ve/zHp http://li.co.ve/zHr

También puedes revisar las semanas 13 y 14 del 10mo semestre.

1. Elabora un algoritmo con su respectivo diagrama de flujo del proceso de estudiar la mención de Informática.

2. Elabora un algoritmo y el pseudocódigo correspondiente para calcular el volumen de un cubo. La fórmula para calcular el volumen de un cubo es V= l3

3. Escribe verdadero (V) o falso (F), según sea el caso, en las siguientes afir-maciones.

Aplica tus saberes

294

Diagramas de flujo y pseudocódigosSemana 2

a) El pseudocódigo es la representación gráfica de un algoritmo ( )

b) Una instrucción en un algoritmo no debe ser ambigua ( )

c) El pseudocódigo es una combinación del lenguaje natural y el in-formático ( )

d) El flujograma nos permite ver con claridad el flujo de la información en un algoritmo ( )

e) La forma rectangular en un diagrama de flujo significa “tomar una decisión” ( )

Con las siguientes actividades elabora una tabla donde se refleje el algorit-mo, el diagrama de flujo y el pseudocódigo.

1. Calcula el monto a pagar por un artículo, cuyo precio es de Bs. 800,00, si se le hace un descuento del 30%.

2. Calcula el promedio de edad de los participantes del 11er semestre. Consulta las edades de tus compañeros y compañeras de clase para rea-lizar esta actividad.

3. Elabora una presentación, en PowerPoint u otra aplicación de tu prefe-rencia, de alguna de las actividades anteriores y exponla en el CCA.

Comprobemos y demostremos que…

295

Semana 2Diagramas de flujo y pseudocódigos

¡Empecemos!

Apreciados participantes, ya hemos avanzado en este nuevo semestre, adentrándonos en el maravilloso mundo de la infor-mática. En la semana 1 y 2 repa-samos el tema sobre algoritmos, su definición y representación gráfica; esta semana estudiare-mos los datos y tipos de datos que se utilizan en programación.

Esperamos de ti toda la disposición y atención que puedas prestar para en-tender este tema fundamental para tu formación como Técnico Medio.

En el proceso formativo de esta semana harás uso de los saberes adquiridos durante el semestre pasado, vinculados con la estructura de datos; así que, muchos de los conceptos que abordaremos te resultarán familiares, pues son parte esencial de la informática y de la programación.

Te invitamos a reflexionar sobre las siguientes cuestiones: ¿Qué es un dato? ¿Qué es el tipo de dato informático? ¿Cuáles son los datos primitivos?

Te invitamos a dar una mirada al entorno del CCA y hacer una lista de los datos que puedes encontrar en él.

Todos conocemos sobre datos, nuestro día a día está lleno de ellos. Por ejemplo, en un partido de futbol, uno de los datos más destacados son los goles que anota cada equipo.

Semana 3Datos

¿Qué sabes de...?

El reto es...

Vamos al grano

296

DatosSemana 3

Los datos son lo que le dan sentido a un programa informático, por cuanto en él entran datos, que luego son procesados, de donde se genera un resulta-do, llamado información.

Los datos son una representación simbólica (numérica, alfabética, algorít-mica, espacial, etc.) de un atributo o variable. Los mismos describen hechos empíricos, sucesos y entidades. Se trata de un valor o referente que recibe el computador por diferentes medios y representa la información que el progra-mador manipula en la construcción de una solución o en el desarrollo de un algoritmo.

Los datos aisladamente pueden no contener información relevante. Sólo cuando un conjunto de datos se examina en un enfoque, hipótesis o teoría, se puede apreciar la información contenida en dichos datos. Los mismos pue-den consistir en números, estadísticas o proposiciones descriptivas.

Los datos se caracterizan por no contener ninguna información. Un dato puede significar un número, una letra, un signo ortográfico o cualquier símbo-lo que represente una cantidad, una medida, una palabra o una descripción.

La importancia de los datos está en su capacidad de asociarse dentro de un contexto para convertirse en información. Por si mismos los datos no tie-nen capacidad de comunicar un significado y, por tanto, no pueden afectar el comportamiento de quien los recibe. Para ser útiles, los datos deben conver-tirse en información, a fin de ofrecer un significado, idea o conclusión.

Hasta el momento, hemos supuesto que los datos que maneja una aplica-ción no son tan voluminosos y, por lo tanto, caben en la memoria. Cuando recurrimos a archivos, se debe a la necesidad de conservar datos después de que termina un programa; por ejemplo, para apagar el computador.

Sin embargo, existen problemas en donde el volumen de datos es tan gran-de que es imposible mantenerlos en la memoria. Entonces, los datos se alma-cenan en un conjunto de archivos, los cuales conforman una base de datos.

1. Tipo de dato informático: es un atributo de una parte de los datos que indica al ordenador y/o al programador algo acerca de la clase de datos sobre los que se va a procesar. Esto incluye imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar.

2. Tipos de datos primitivos: se refieren a tipos de datos básicos o ele-mentales, a partir de los cuales se forman estructuras de datos. Los tipos de datos primitivos considerados en los lenguajes de programación, son: enteros, reales, lógicos y los caracteres.

a) El tipo entero (INTEGER) comprende un subconjunto de números enteros, cuyo tamaño puede variar entre los diversos sistemas de computación. Es un miembro del siguiente conjunto de números:

297

Semana 3Datos

{ . . . , -(n+1), -n, -(n-1),. . . . , -2, -1, 0, 1, 2, . . . ., (n-1), n, (n+1),. . . .}

Si una computadora utiliza n bits para representar un entero en complemento de 2, entonces los valores posibles de x están entre -2n-1 y 2n+1 -1. Las operaciones aritméticas sobre enteros se consi-deran exactas, es decir, el resultado es otro entero.

b) El tipo real (REAL) representa un subconjunto de los números reales, denominado conjunto punto flotante. La aritmética de los números reales no produce resultados exactos, debido a los problemas de redondeo ocasionados por operaciones con números finitos de ci-fras. Para este tipo de datos, son válidas todas las operaciones arit-méticas: suma, resta, multiplicación, división, potencia, etc.

c) El tipo lógico (BOOLEAN) representa un dato que puede tener uno de dos estados posibles: verdadero y falso, si y no, activado y desactivado, etc. Estos valores se representan con las constantes: TRUE y FALSE (verdadero y falso). Las operaciones válidas sobre los datos lógicos o booleano se denominan comparaciones lógicas, las cuales son: conjunción (AND), disyunción (ORA) y negación (NO) lógica.

d) El tipo carácter (Char) comprende un conjunto de caracteres impri-mibles: las letras mayúsculas y minúsculas, los dígitos, el espacio en blanco, los caracteres de puntuación (+ - * / ! @ # $ % ^& _ = ...) y un conjunto de caracteres gráficos.

e) El tipo cadena es una secuencia finita de símbolos tomados del tipo primitivo carácter, incluyendo la cadena nula o vacía. Por lo general, el inicio y el final de una cadena lo delimitaremos con un apóstrofe (’). Cada cadena tiene un atributo, llamado longitud, el cual es el número de caracteres en la misma.

Los datos deben:

• Representarseyalmacenarseenciertaforma,parapoderaccederaellosposteriormente.

• Organizarsedemaneraadecuada,parapoderaccederaellosselectivayeficientemente.

• Procesarseypresentarse,detalmaneraquepuedanapoyareficiente-mente al usuario.

• Protegerseymanejarse,paraquenopierdansuvalor.

298

DatosSemana 3

Un dato por sí mismo no constituye infor-mación, es el procesamiento de los datos lo que proporciona información. Reflexiona sobre esta afirmación y escribe tu interpre-tación de la misma. Luego debate con tus compañeros en el CCA, teniendo presente que en la confrontación de ideas está bue-na parte del aprendizaje.

Para saber más…

Revisa las direcciones web siguientes, para profundizar en el tema de esta semana:

http://definicion.de/datos/ http://li.co.ve/zD1

1. Clasifica la siguiente lista de datos (tabla 3), según los tipos estudiados en esta semana.

Tabla 3

Π (pi) ADS3450,00024x103 66,78 -7678,67 000001&%$?¿## Si, no

2. Escribe verdadero (V) o falso (F), según sea el caso, en las siguientes afir-maciones.

a) Datos es igual a información ( )

b) El valor 5,67 es un dato tipo entero ( )

c) El valor 100000 es un dato de tipo binario ( )

d) Verdadero o Falso son datos tipo Char ( )

e) Los datos primitivos son datos básicos elementales ( )

Aplica tus saberes

299

Semana 3Datos

Comprobemos y demostremos que…

1. De la lista de datos conseguidos en el CCA, clasifícalos según los tipos estudiados con anterioridad.

2. Establece la diferencia entre dato e información con algunos ejemplos.

3. Elabora un informe con lo estudiado esta semana.

300

Estructura de datosSemana 4

¡Empecemos!

Estimados participantes, bien-venidos a esta nueva semana, en la que seguiremos estudiando temas básicos de programación. Veremos específicamente lo que tiene que ver con estructuras de datos, que tiene mucha relación con los procesos estudiados an-teriormente, por cuanto existen para el manejo de datos.

Presta mucha atención, dedícate y sé cons-tante; así lograrás el éxito en cada una de tus metas.

¿Qué es una estructura de datos? Expresa tu opinión al respecto, tomando en cuenta que esta es la base para comprender los temas que vamos a trabajar esta semana y las siguientes.

Construye, a partir de los datos que te puedan suministrar tus compañeros, una estructura de datos en lenguaje natural. Decide libremente sobre qué da-tos vas a trabajar.

En primer lugar recordemos el concepto de dato. ¿Qué es para ti un dato?. Según el Diccionario de la Real Academia Española (DRAE), dato es: (Del lat. datum, lo que se da).

Semana 4Estructura de datos

¿Qué sabes de...?

El reto es...

Vamos al grano

301

Semana 4Estructura de datos

1. m. Antecedente necesario para llegar al conocimiento exacto de algo o para deducir las consecuencias legítimas de un hecho.

2. m. Documento, testimonio, fundamento.

3. m. Inform. Información dispuesta de manera adecuada para su trata-miento por un ordenador.

Como ves, las tres definiciones tienen que ver con información. Por ejemplo, llenar una planilla con tus datos es, sencillamente, vaciar en ella información de tu persona, como, por ejemplo, edad, sexo, altura, nivel de instrucción, can-tidad de hijos, estado civil, etc.

Fíjate ahora que la tercera definición se refiere específicamente al área in-formática, la cual debe estar dispuesta de manera adecuada, pues, de otra manera, no habría comunicación con la computadora. Recuerda el tema de algoritmos, debe haber una secuencia, un orden.

Estructura de datos

Es una forma de organizar un conjunto de datos elementales, con el obje-tivo de facilitar la información que se tiene en un sistema, definiendo la inte-rrelación de estos y un conjunto de operaciones que se pueden realizar sobre los mismos.

Las operaciones básicas son:

1. Alta, significa agregar un valor a la estructura.

2. Baja, significa borrar un valor de la estructura.

3. Búsqueda, significa encontrar un determinado valor en la estructura para realizar una operación con este valor, en forma secuencial o binaria (siempre y cuando los datos estén ordenados).

Otras operaciones:

1. Ordenamiento, significa arreglar ordenadamente los datos.

2. Apareo, significa originar una nueva estructura que contenga las apa-readas.

Cada estructura ofrece ventajas y desventajas en relación a la simplicidad y eficiencia para la realización de cada operación. De esta forma, la elección de la estructura de datos apropiada para cada problema, depende de factores como la frecuencia y el orden en que se realiza cada operación sobre los datos.

Veamos un ejemplo de estructura de datos sencilla y de uso cotidiano en un lenguaje natural (figura 2). Más adelante estudiaremos cómo codificar las estructuras de datos en lenguaje de programación.

302

Estructura de datosSemana 4

CCA Personal Voluntario

Datos Región / Oficina / Estado

II La

pso

11-1

2

I Lap

so 1

2-13

II La

pso

12-1

3

I Lap

so 1

3-14

II La

pso

13-1

4

II La

pso

11-1

2

I Lap

so 1

2-13

II La

pso

12-1

3

I Lap

so 1

3-14

II Lapso 13-14

Región Estado Oficinas (Educación)

F M T

Andes Mérida Mérida 17 18 17 15 12 126 134 141 130 53 34 87

Trujillo Valera 5 6 6 5 5 41 48 39 40 23 11 34

Total Andes 22 24 23 20 17 167 182 180 170 76 45 121

Figura 2

Esta estructura es sencillamente un arreglo con datos numéricos y alfa-béticos, donde aparecen aspectos relacionados con la gestión del Instituto Radiofónico Fe y Alegría en la región Andes, visualizando variables como Estado, oficinas, cantidad de centros, cantidad de voluntarios, además de operaciones que se ejecutan entre ellas. Estas variables se disponen en celdas (direcciones), en las intersecciones de las filas (horizontales) y columnas (verti-cales). En la casilla señalada con la circunferencia de color verde, se define una operación de adición de los valores de las dos casillas superiores; por supues-to, este arreglo es el resultado del procesamiento de la información que hace la computadora, usando el lenguaje correspondiente, lo cual estudiaremos en semanas próximas, y te será útil para el diseño de estructuras sencillas.

Una estructura es, en términos más senci-llos, una forma, una manera de organizar elementos de un sistema. Por ejemplo, 10 personas agrupadas de forma desordena-da en un consultorio médico, no nos dan ninguna información, pero, si les asigna-mos un número a cada una, del 1 al 10, sí nos dice algo. Así entendemos que hay un orden: el que tiene el número 1 será aten-dido en primer lugar y, así hasta el último, identificado con el número 10.

Para saber más…

Encuentra más información acerca de las estructuras de datos en las di-recciones web recomendadas. Si te topas con algunos lenguajes des-conocidos, no te preocupes, pues la próxima semana estudiaremos los lenguajes de programación más utilizados.

http://li.co.ve/zH1 http://li.co.ve/zH2

303

Semana 4Estructura de datos

1. Escribe verdadero (V) o falso (F), según sea el caso, en las siguientes afir-maciones.

a) Una estructura de datos es un conjunto de datos organizados ( )

b) “Alta” significa agregar un valor a la estructura ( )

c) “Baja” significa eliminar una dato de la estructura ( )

2. Define con tus propias palabras lo que es una estructura de datos.

3. Con los datos siguientes elabora una estructura de datos sencilla:

Personas: María, Pedro, José, Juan, Rafael y Josefina.

Edades: 23 años, 45 años, 30 años, 56 años, 31años y 25 años.

1. Elabora un resumen de lo que es una estructura de datos. Hazlo en len-guaje natural, utiliza la siguiente estructura: introducción, definición, ejemplos, datos y tipos, importancia de una estructura de datos, conclu-siones.

2. Elabora una presentación acerca de la estructura de datos, en cualquie-ra de las aplicaciones existentes (PowerPoint, Prezi, etc.) y exponla en el CCA.

Aplica tus saberes

Comprobemos y demostremos que…

304

Tipos de estructuras de datosSemana 5Semana 5Tipos de estructuras de datos

¡Empecemos!

¡Bienvenidos y bienvenidas a esta nueva semana! Teniendo cla-ro lo que es la estructura de datos, lo que son datos y los diferentes tipos que existen, estudiaremos ahora los tipos de estructura de datos, tocando un poco los len-guajes de programación.

Para entender el tema que abordaremos esta semana, es fundamental tener claro qué son datos, su definición, ejemplos, tipos y las estructuras que se pueden configurar con los mismos; por eso te invitamos a volver sobre estos temas y reflexionar acerca de: ¿qué viene a tu mente cuando oyes la palabra “datos”?, ¿con qué otros términos relacionas dicha palabra?, ¿cuáles datos uti-lizas con frecuencia en la cotidianidad?

Elabora una estructura con información de tus compañeros del 11er se-mestre, utilizando datos como, por ejemplo, edad, sexo, estatura, peso, entre otros. Además, indica qué tipo de estructura es.

Para el reto de esta semana, apóyate en lo que has estudiado hasta ahora e indaga en otras fuentes. ¡Tú puedes!

Para tener más claro el concepto de estructura de datos, debemos recordar la definición de conjunto que, como sabes, se refiere a una colección de obje-tos de una misma especie. Estas son estructuras matemáticas y, por lo tanto, informáticas, donde se pueden definir diferentes operaciones.

¿Qué sabes de...?

El reto es...

Vamos al grano

305

Semana 5Tipos de estructuras de datos

Veamos algunos ejemplos de conjuntos: los seres humanos del sexo feme-nino, los participantes del 11er semestre del IRFA, los números naturales, los números enteros, los números binarios, etc.

Para repasar las maneras como se representan y se denotan los conjuntos, busca en tus apuntes de otros semestres, en libros de texto o en internet.

Veamos ahora las diferentes estructuras de datos:

1. Pilas. Una pila (stack en inglés) es una lista ordinal o estructura de datos en la que el modo de acce-so a sus elementos es de tipo LIFO (del inglés Last In First Out: último en entrar, primero en salir) que permite almacenar y recuperar datos. Esta forma se aplica en mul-titud de ocasiones en informática, debido a su simplicidad y ordenación implícita en la propia estructura.

Otra similitud pudiese ser una caja donde introducimos una serie de lá-minas con datos específicos; la ubicación de estas láminas, lógicamente será 1º, 2º, 3º, 4º,…, Nº. Si buscamos el dato 1º (el primero), tendremos que revisar cada uno de los datos que están en ubicaciones contiguas empezando por Nº (el último). ¿Te ha pasado que te toca buscar un documento en una caja y tienes que sacar uno por uno hasta llega al pri-mero? Por eso, la premisa es: “el primero en entrar es el último en salir”.

2. Cola. Colas FIFO (en inglés First In, First Out: primero en entrar primero en salir). Son aquellas que sólo tienen dos operaciones, Push (Inserción) y Pop (Eliminación). Push sólo se puede efectuar por un extremo llamado

Frente y Pop por el extremo llama-do Final. Sin embargo, se le pue-den aplicar todas las operaciones al igual que a las listas.

Esta estructura de datos se compa-ra con una cola en la vida real; por ejemplo, en una cola para realizar una transacción bancaria, el prime-ro que llega es el primero que sale.

En este ejemplo, se pueden crear prioridades, otras colas, por ejemplo, de personas de la tercera edad, personas con discapacidad, etc.

3. Listas. ¿El término “lista” tendrá alguna relación con la palabra ya conoci-da por todos? ¡Claro que sí! Por ejemplo, si queremos hacer una lista de las personas que acuden a un consultorio, sencillamente escribimos sus nombres en forma secuencial: Pedro, María, Rosalba, Blanca, David, etc. Y, si le asignamos un código a cada persona, nos quedaría así: Pedro (01), María (02), Rosalba (03), Blanca (04), David (05).

306

Tipos de estructuras de datosSemana 5

La atención de forma lógica y ordenada sería 01, 02, 03, 04, 05, 06. No se puede atender al 02, si antes no ha pasado el 01; no se puede atender al 03 antes que al 02.

Las listas son secuencias de 0 (cero) o más elementos de un tipo de da-tos almacenados en la memoria. Son estructuras lineales, donde cada elemento tiene un predecesor, a excepción del primero y un sucesor, excepto el último.

La figura 3 muestra la estructura gráfica de una lista simple. Y, de forma general, sería como muestra la figura 4.

Figura 3

Figura 4

3.1. Listas simples enlazadas

La lista enlazada básica es la lista enlazada simple que tiene un en-lace por nodo. Este enlace apunta al siguiente nodo en la lista, o al valor NULL (Nulo) o a la lista vacía, si es el último nodo. Una lista enlazada simple contiene dos valores: el valor actual del nodo y un enlace al siguiente nodo (figura 5).

Figura 5

3.2. Lista doblemente enlazada

Un tipo de lista enlazada más sofisticado es la doblemente enlaza-da o lista enlazada de dos vías. Cada nodo tiene dos enlaces: uno apunta al nodo anterior, al valor NULL o a la lista vacía, si es el pri-mer nodo; y otro apunta al siguiente nodo, al valor NULL o a la lista vacía, si es el último nodo (figura 6).

Figura 6

X Y

01 02 0403 05

12 99 99

379912

307

Semana 5Tipos de estructuras de datos

Una lista doblemente enlazada contiene tres valores: el valor, el link al nodo siguiente y el link al anterior.

En algún lenguaje de muy bajo nivel, se ofrece una vía para imple-mentar listas doblemente enlazadas, usando una sola palabra para ambos enlaces, aunque esta técnica no suele utilizarse.

3.3. Listas enlazadas circulares

En una lista enlazada circular, el primer y el último nodo están uni-dos (figura 7). Esto se puede hacer tanto para listas enlazadas sim-ples como para las doblemente enlazadas. Para recorrer un lista enlazada circular, podemos empezar por cualquier nodo y seguir la lista en cualquier dirección, hasta que se regrese al nodo original. Desde otro punto de vista, las listas enlazadas circulares pueden ser vistas como que no tienen comienzo ni fin. Este tipo de listas es el más usado a fin de dirigir buffers para “ingerir” datos y para visitar todos los nodos de una lista a partir de uno dado.

Figura 7

3.3.1. Listas enlazadas circulares simples

Cada nodo tiene un enlace, similar al de las listas enlazadas sim-ples, excepto que el siguiente nodo del último apunta al prime-ro. Como en una lista enlazada simple, los nuevos nodos pueden ser sólo eficientemente insertados después de uno que ya ten-gamos referenciado. Por esta razón, es usual quedarse con una referencia solamente al último elemento en una lista enlazada circular simple, esto nos permite rápidas inserciones al principio, y también accesos al primer nodo desde el puntero del último nodo.

3.3.2. Lista enlazada doblemente circular

En una lista enlazada doblemente circular, cada nodo tiene dos enlaces similares a los de la lista doblemente enlazada, pero el enlace anterior del primer nodo apunta al último y el enlace si-guiente del último nodo apunta al primero. Como en una lista doblemente enlazada, las inserciones y eliminaciones pueden ser hechas desde cualquier punto con acceso a algún nodo cer-cano. Aunque estructuralmente una lista circular doblemente enlazada no tiene ni principio ni fin, un puntero de acceso exter-no puede establecer el nodo apuntado que está en la cabeza o al nodo cola y así mantener el orden tan bien como en una lista doblemente enlazada.

379912

308

Tipos de estructuras de datosSemana 5

En la cotidianidad existen muchos ejem-plos de tipos de estructuras de datos, que permiten entender cómo es el proceso de entrada y salida en un computador, por-que, en definitiva, el procesamiento de la información se traduce en eso, entrada y salida de datos.

Para saber más…

Para profundizar en los temas que hemos estudiado esta semana, te reco-mendamos revisar esta dirección web: http://li.co.ve/zDx donde encon-trarás una presentación que explica detalladamente ¿qué es una estruc-tura de datos tipo lista?

Define con tus propias palabras cada una de las estructuras de datos estu-diadas durante esta semana y da otros ejemplos de cada una de ellas.

1. Coloca verdadero (V) falso (F) en la siguientes afirmaciones, según sea el caso:

a) En una estructura de datos tipo pila, el primer dato que entra es el primero que sale ( )

b) En una estructura de datos tipo cola, el primer dato que entra es el primer dato que sale ( )

c) Una lista enlazada simple tiene un enlace por nodo ( )

d) En una lista enlazada circular, los nodos primero y último están uni-dos ( )

e) Una lista doblemente enlazada tiene tres valores ( )

2. Toma como ejemplo la fila que se hace para retirar dinero del banco y elabora una estructura de datos, mediante un gráfico, usando el lengua-je natural y determina de qué tipo es.

Toma una muestra de la población de tu CCA, elabora una estructura de datos de cualquier tipo, según lo visto esta semana y establece algunas ope-raciones básicas con los valores de la muestra.

Aplica tus saberes

Comprobemos y demostremos que…

309

Semana 5Tipos de estructuras de datosSemana 6Lenguajes de programación

¡Empecemos!

Queridos participantes, esta se-mana estudiaremos los lengua-jes de programación que existen y su evolución desde el lenguaje máquina hasta los lenguajes de alto nivel.

¿Sabes programar? ¿Qué es un lenguaje de programación? ¿Conoces algún lenguaje de programación?

Durante esta semana vamos a entrar al mundo de los lenguajes informá-ticos. Seguramente ya has escuchado alguna referencia a los mismos, por eso te invitamos a debatir sobre el tema y explicar lo que es el lenguaje de programación.

Un lenguaje de programación es un lenguaje formal diseñado para ex-presar procesos que pueden ser llevados a cabo por máquinas, como las computadoras.

Los mismos pueden emplearse para crear programas que controlen el com-portamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana, mediante el uso de un conjunto de símbolos y reglas sintácticas y semánticas que definen su estruc-tura, así como el significado de sus elementos y expresiones.

Generaciones de lenguaje de programación1era generación: lenguaje máquina.

2da generación: primeros lenguajes ensambladores.

3era generación: primeros lenguajes de alto nivel: Ejemplo: Pascal, Cobol.

¿Qué sabes de...?

El reto es...

Vamos al grano

310

Lenguajes de programaciónSemana 6

4ta generación: lenguajes capaces de generar códigos por si solos; son los llamados RAD, con los cuales se pueden realizar aplicaciones sin ser experto en lenguajes. Aquí también se encuentran los lenguajes orientados a objetos, haciendo posible la reutilización de partes del código para otros programas. Ejemplo: Visual, Natural Adabes.

5ta generación: lenguajes orientados a la inteligencia artificial, los cuales aun están en fase de desarrollo. Ejemplo: LISP.

ElementosVariables: podrían calificarse como contenedores de datos y, por ello, se

diferencian, según el tipo de dato que son capaces de almacenar. En la ma-yoría de lenguajes de programación, se requiere especificar un tipo de varia-ble concreto para guardar un dato preciso. Por ejemplo, en Java, si deseamos guardar una cadena de texto, debemos especificar que la variable es del tipo String. Por otra parte, en lenguajes como el PHP, este tipo de especificación de variables no es necesario. Además, existen variables compuestas por varias variables, llamadas vectores.

• VariablestipoChar: estas variables contienen un único carácter, es decir, una letra, un signo o un número.

• Variablestipo Int: contienen un número entero.

• VariablestipoFloat: contienen un número decimal.

• VariablestipoString: contienen cadenas de texto o, lo que es lo mismo, es un vector con varias variables del tipo Char.

• VariablestipoBoolean: solo pueden contener un 0 o un 1. El cero es con-siderado para muchos lenguajes como el literal False, mientras que el 1 se considera True.

Vectores: no son más que un conjunto de variables consecutivas en memo-ria y del mismo tipo guardadas dentro de una variable contenedor.

Condicionantes: son estructuras de código que indican que, para que cier-ta parte del programa se ejecute, deben cumplirse determinadas premisas; por ejemplo, que dos valores sean iguales, que un valor exista, que un valor sea mayor que otro, etc. Estos condicionantes, por lo general, solo se ejecutan una vez a lo largo del programa. Los condicionantes más conocidos y emplea-dos en programación son:

• If: indica una condición para que se ejecute una parte del programa.

• Else if: siempre va precedido de un “If” e indica una condición para que se ejecute una parte del programa, siempre que no cumpla la condición del if previo y si se cumpla con la que el “else if” especifique.

• Else: siempre precedido de “If” y, en ocasiones, de “Else If”. Indica que debe ejecutarse cuando no se cumplan las condiciones previas.

311

Semana 6Lenguajes de programación

Bucles: son parientes cercanos de los condicionantes, pero ejecutan cons-tantemente un código, mientras se cumpla una determinada condición. Los más frecuentes son:

• For: ejecuta un código mientras una variable se encuentre entre dos de-terminados parámetros.

• While: ejecuta un código mientras se cumpla la condición que solicita.

Hay que decir que, a pesar de que existan distintos tipos de bucles, todos son capaces de realizar exactamente las mismas funciones. El empleo de uno u otro depende, por lo general, del gusto del programador.

Funciones: se crearon para evitar tener que repetir constantemente frag-mentos de código. Una función podría considerarse como una variable que encierra código dentro de sí. Por lo tanto, cuando accedemos a dicha variable (la función), en realidad lo que estamos es diciendo al programa que ejecute un determinado código, predefinido anteriormente.

Todos los lenguajes de programación tienen algunos elementos de forma-ción primitivos para la descripción de los datos y de los procesos o transfor-maciones aplicadas a estos datos (tal como la suma de dos números o la se-lección de un elemento que forma parte de una colección). Estos elementos primitivos son definidos por reglas sintácticas y semánticas que describen su estructura y significado respectivamente.

Programar es diseñar un programa para comunicarnos con un público determina-do y esto lo podemos hacer en un lenguaje natural, es decir, el que usamos a diario, cuando se trata de comunicarnos de tú a tú con el público. Pero, si se trata de un pro-grama informático, utilizamos un lenguaje de programación de los que hemos men-cionado. En ambos procesos, el objetivo es comunicar. Lo que cambia es el lenguaje, por lo que debes aprender otro lenguaje además del que ya conoces y ponerte en la situación de una persona que aprende a leer y escribir por primera vez.

312

Lenguajes de programaciónSemana 6

Para saber más…

En las direcciones web indicadas encontrarás otros puntos de vista acer-ca de los lenguajes de programación. Revísalas y compara con lo que hemos estudiado esta semana.

http://li.co.ve/zHs http://li.co.ve/zHt

1. Explica con tus propias palabras ¿qué es un lenguaje de programación?

2. ¿Qué es para ti una variable?

3. Luego de revisar los materiales recomendados en “Para saber más”, ela-bora una explicación del tema y presenta una exposición en el CCA.

1. Busca un diagrama de flujo cualquiera y exprésalo en lenguaje de pro-gramación.

2. Explica el procedimiento que seguiste y realiza un foro debate con tus compañeros en el CCA.

Aplica tus saberes

Comprobemos y demostremos que…

313

Semana 6Lenguajes de programaciónSemana 7Tipos de lenguajes de programación

¡Empecemos!

Estimados participantes, bien-venidos a esta nueva semana, en la que estudiaremos los lengua-jes de programación más utili-zados. No olvides repasar los te-mas vistos anteriormente, pues son la base para lo que veremos a partir de ahora.

¿Consideras que ya manejas lo que es un lenguaje de programación? Y ¿po-drías definir cuál es su importancia?

Debate con tus compañeros y elabora una lista de los lenguajes de progra-mación más utilizados, para qué sirven y dónde se aplican.

Ya sabemos que el lenguaje de programación es una serie de símbolos que, debidamente codificados, sirve para comunicarnos con las computado-ras, lo que permite, a su vez, resolver algunos problemas en cualquier área disciplinaria.

Existen muchos lenguajes de programación ubicados en tres grandes gru-pos: lenguajes de bajo nivel, lenguajes de nivel medio y lenguajes de alto nivel.

Lenguajes de bajo nivelSon aquellos totalmente dependientes de la máquina, es decir, el programa

que se realiza con este tipo de lenguajes no se puede migrar o utilizar en otras máquinas. Al estar prácticamente diseñados para el hardware, aprovechan al máximo las características del mismo. Dentro de este grupo se encuentran:

¿Qué sabes de...?

El reto es...

Vamos al grano

314

Tipos de lenguajes de programaciónSemana 7

• Lenguajemáquina:ordenaalamáquinalasoperacionesfundamentalespara su funcionamiento. Consiste en la combinación de 0´s y 1´s para formar las órdenes entendibles por el hardware de la máquina. Este len-guaje es mucho más rápido que los de alto nivel. La desventaja es que son bastante difíciles de manejar y usar, además de tener códigos fuen-te enormes, donde encontrar un error es casi imposible.

• Lenguajeensamblador:esunderivadodellenguajemáquinayestáfor-mado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje, se crearon los programas traductores, para poder pasar los programas escritos en lenguaje ensamblador a len-guaje máquina. Como ventaja con respecto al código máquina, los códi-gos fuentes eran más cortos y los programas creados ocupaban menos memoria.

Por ejemplo, la estructura mostrada en la tabla 4 representa un lenguaje de bajo nivel.

Tabla 4

Código de dirección Significado de operación00010101 10000001 a) Cargar contenido de la dirección 129 en

acumulador00010111 10000010 b) Sumar contenido de la dirección 130 al

acumulador00010110 10000011 c) Almacenar contenido del acumulador en la

dirección 131d) 10000011 = 27+21+20 = 131

Recuerda que el sistema binario (sistema numérico de base 2) es el utilizado por las computadoras; está compuesto por cero (0) y uno (1) en sus infinitas combinaciones. La presencia de 0 o 1 indica la ausencia o presencia de un grupo considerado de bits, expresado en forma de potencia en base 2. En la columna de la izquierda de la tabla 4 está la dirección en el sistema binario, cuyo significado se expresa en la columna de la derecha de la misma tabla. El código 10000001 en el sistema binario, expresado en el sistema decimal queda como 129. Así,

10000001 = 27+26+25+24+23+22+21+20 = 128+0+0+0+0+0+0+1 = 129

Como ves, sólo hay dos grupos de bits expresados como 27 y 20. Al sumar ambos, tenemos: 128+1 = 129.

Repasa el tema del sistema de numeración binario y potenciación, para en-tender un poco más el mismo, ya que es el modo rudimentario para comuni-carse con la computadora a nivel de hardware.

Lenguajes de medio nivelEstos lenguajes se encuentran en un punto medio entre los de bajo y los de

alto nivel. Dentro de estos lenguajes podría situarse C, ya que puede acceder

315

Semana 7Tipos de lenguajes de programación

a los registros del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y, a la vez, realizar operaciones de alto nivel.

Bien, ya empiezan a aparecer nombres de lenguajes, como el C, el cual es sencillamente la manera de expresarse para comunicarse con la computado-ra, a nivel de hardware (parte física) y software (programas), no tan elevados como el de alto nivel que veremos posteriormente.

Un algoritmo en lenguaje C, es el siguiente:

Cálculo del promedio de una lista de los números 5, 8, 2, 7, 6

Tabla 5

Instrucciones en Lenguaje C Acción de la computadora

int datos[ ] = { 5, 8, 2, 7, 6, 9 };

1. Define una matriz (datos) de números ente-ros y le asigna los valores 5, 8, 2, 7, 6, 9

int nDatos = 6; 2. Define la variable (nDatos) de tipo entero y le asigna el valor 6.

int promedio () 3. Define la función (promedio) que devuelve un número entero.

{int suma; 4. Define la variable (suma) de tipo entero.int prom; 5. Define la variable (prom) de tipo entero.int cont; 6. Define la variable (cont) de tipo entero.suma = 0; 7. Asigna a suma el valor 0.for (cont=0; cont<nDatos; cont++)

8. Para cada elemento de la matriz datos, aña-de su valor a la variable suma.

{suma += datos [cont];}prom=suma/nDatos; 9. Asigna a prom el resultado de dividir la va-

riable suma por la variable nDatos.return (prom); 10. Devuelve como resultado de la función el

contenido de la variable prom.}

Fíjate que a la izquierda tenemos instrucciones en lenguaje C y, a la derecha, lo que haría la computadora obedeciendo a cada orden.

Las instrucciones son, en su mayoría, en idioma inglés, por lo que te reco-mendamos tener un diccionario Inglés-Español a la mano.

316

Tipos de lenguajes de programaciónSemana 7

Lenguajes de alto nivelSon aquellos que se encuentran más cercanos al lenguaje natural que al

lenguaje máquina. Están dirigidos a solucionar problemas mediante el uso de estructuras dinámicas de datos (EDDs). Estas son estructuras que pueden cambiar de tamaño durante la ejecución del programa y permiten crear es-tructuras de datos que se adapten a las necesidades reales de un programa.

Se trata de lenguajes independientes de la arquitectura del ordenador. Por lo que, en principio, un programa escrito en un lenguaje de alto nivel, lo pue-des migrar de una máquina a otra, sin ningún problema.

Estos lenguajes permiten al programador olvidarse por completo del fun-cionamiento interno de la máquina para la que están diseñando el programa.

Cualquiera sea el tipo de lenguaje que utilices, la máquina siempre enten-derá un lenguaje de bajo nivel, por lo que se necesita un módulo que haga la interpretación y comunique a la computadora las instrucciones, es decir, este módulo actúa como traductor. A este traductor también se le denomina compilador. Ahora, mira esta acotación:

Un programa escrito en un lenguaje de alto nivel, debe ser compilado o interpretado para traducir su código, en otro de bajo nivel (lenguaje máquina). Como ejemplo de lenguajes de alto nivel se tienen: Pascal, BASIC, FORTRAN, COBOL, Java, C y C++.

En los lenguajes de alto nivel las instrucciones son independientes de la máquina, son más fáciles de aprender porque están formadas por elementos de lenguajes naturales (del inglés). En BASIC, comandos como “IF CONTADOR = 10 THEN STOP” son usados para ordenar a la computadora, que pare si CONTADOR es igual a 10. Pero, aunque las computadoras parecieran comprender el lenguaje natural, lo hacen de una manera bastante rígida y sistemática, lo cual podría parecer un poco frustrante e inspira la búsqueda de lenguajes más cercanos aún al natural.

Tomado de: http://li.co.ve/z9n

Analiza el ejemplo de un algoritmo para hallar el mayor de dos números (a y b) codificado en lenguaje C++ (ver tabla 6).

317

Semana 7Tipos de lenguajes de programación

Tabla 6

Pseudocódigo C++

procedimiento principal()

variables

a:entero

b:entero

inicio

escribir (“Digite número:”)

leer (a)

escribir (“Digite número”)

leer (b)

si (a<b) entonces

escribir (“El mayor es:”)

escribir( b)

si no

escribir (“El mayor es:”)

escribir (a)

fin_si

fin_procedimiento

/* para mostrar en pantalla */ #in-clude <iostream.h>

void main(){

int a; /* a es entera */

int b; /* b es entera */

cout <<“Digite número:”;

cin >> a;

cout <<“Digite número:”;

cin >>b;

if( a<b ){

cout <<“El mayor es:”;

cout << b;}

else{

cout <<“El mayor es:”;

cout << a;

}

}

Recuerda el tema sobre pseudocódigo estudiado en el 10mo semestre y en las primeras semanas de este semestre.

Así como existen muchas lenguas o idio-mas para comunicarse en el lenguaje na-tural, existen también diferentes lenguajes de programación. Pero, ¿por qué existen estos? Probablemente por la diversidad de desarrolladores disponibles actualmente y por las investigaciones que apuntan a una comunicación más directa y natural con las máquinas. Y tú, ¿qué piensas?

318

Tipos de lenguajes de programaciónSemana 7

Para saber más…

Te recomendamos visitar las direcciones web indicadas, para profundi-zar en el tema de esta semana.

http://li.co.ve/zHq http://li.co.ve/z9n

1. Escribe verdadero (V) o falso (F), según sea el caso, en las siguientes afir-maciones.

a) Los lenguajes de programación se dividen en bajo nivel, nivel me-dio y alto nivel ( )

b) Los lenguajes de bajo nivel son los que están más cerca del lengua-je natural ( )

c) Los lenguaje de máquina o ensamblador son los encargados de dar instrucciones a la computadora ( )

d) Los lenguajes de alto nivel están dirigidos a resolver problemas uti-lizando estructuras dinámicas ( )

e) El lenguaje máquina se codifica usando el sistema binario ( )

2. Define con tus propias palabras cada uno de los lenguajes de programa-ción estudiados durante esta semana.

3. Identifica las siguientes expresiones en lenguaje de programación de bajo nivel o alto nivel según sea el caso:

Tabla 7

Código Tipo de lenguaje00010111 1000001000010110 10000011int a; /* a es entera */

if( a<b ){

cout << “El mayor es:”;

cout << b;}

Aplica tus saberes

319

Semana 7Tipos de lenguajes de programación

Comprobemos y demostremos que…

1. Elabora un lista de los lenguajes de programación de bajo y alto nivel más utilizados y expresa para qué sirve cada uno.

2. Da al menos dos ejemplos de algoritmos codificados en cualquiera de los lenguajes definidos en la pregunta 1.

3. Lleva a tu CCA el trabajo realizado y presenta una exposición del mismo, de manera creativa.

320

Base de datosSemana 8

Vamos al grano

¡Empecemos!

Bienvenidos a esta nueva se-mana, donde seguiremos pro-fundizando en temas básicos para entender el proceso de pro-gramación. Esta semana estu-diaremos lo qué es una base de datos y tipos de base de datos en el lenguaje natural, o como las vemos a diario.

En las semanas siguientes aprenderás a construir una base de datos, utili-zando las aplicaciones existentes. Sólo se requiere de tu disposición y toda la atención y participación para entender estos nuevos temas.

Reflexiona sobre algunos tópicos relacionados con el tema de esta semana: ¿qué es para ti una base de datos?, ¿en cuáles situaciones cotidianas crees que se utilizan las bases de datos?

Escoge un semestre cualquiera y, con los datos que se puedan obtener, ela-bora una base de datos en lenguaje natural. Las variables que puedes tomar en cuenta son, entre otras, edad, sexo, estatura, salario, gustos, etc.

Una base de datos es un conjunto de datos pertenecientes a un mismo con-texto, que son almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta, en su mayoría, por documentos y textos impresos en papel, indexados para su consulta. Actualmente, debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico; por ende, se ha desarrollado

Semana 8Base de datos

¿Qué sabes de...?

El reto es...

321

Semana 8Base de datos

y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.

Ya no se trata de entregar una ficha de un determinado libro al bibliotecario para que lo busque de forma manual, sino de acceder a un sistema creado que permita acceder a los datos y utilizarlos según el interés que se tenga.

Existen programas denominados Sistemas Gestores de Bases de Datos SGBD (en inglés, DBMS) que permiten almacenar y, posteriormente, acceder a los datos de forma rápida y estructurada. Las propiedades de estos SGBD, así como su utilización y administración, se estudian dentro del ámbito de la informática. Más adelante veremos este tema para la construcción de bases de datos sencillas.

Las aplicaciones más usuales son para la gestión de empresas e institucio-nes públicas, pero también son ampliamente utilizadas en entornos científi-cos con el objeto de almacenar la información experimental.

Tipos de bases de datos

Según su variabilidad1. Bases de datos estáticas

Son bases de datos de solo lec-tura, utilizadas primordialmente para almacenar datos históricos, que posteriormente se pueden utilizar para estudiar el compor-tamiento de un conjunto de da-tos a través del tiempo, realizar proyecciones, tomar decisiones y realizar análisis de datos para inteligencia empresarial.

Por ejemplo, el Censo nacional de vivienda 2011, realizado en Vene-zuela, ofrece datos correspondientes a una etapa en el desarrollo social de la nación, que sirve de referencia para comparaciones posteriores.

2. Bases de datos dinámicas

Éstas son bases de datos donde la información almacenada se modifi-ca con el tiempo, permitiendo operaciones como actualización, borrado y edición de datos, además de los procedimientos fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de información de un supermercado; en una base de este tipo hay una permanente actualización de inventarios y de precios, en-tre otras variables.

Según el contenido1. Bases de datos bibliográficas

Sólo contienen un subrogante (representante) de la fuente primaria, que permite localizarla. Un registro típico de una base de datos biblio-

322

Base de datosSemana 8

gráfica contiene información sobre el autor, fecha de publicación, edi-torial, título, edición, de una determinada publicación. Estas pueden contener un resumen o extracto de la publicación original, pero nunca el texto completo.

2. Bases de datos de texto completo

Almacenan las fuentes primarias como, por ejemplo, todo el conteni-do de todas las ediciones de una colección de revistas científicas o de la prensa escrita (hemeroteca).

3. Directorios

Un ejemplo de directorios son las guías telefónicas en formato electró-nico, donde aparece información de los usuarios de una red telefónica determinada. En el caso de Venezuela, CANTV, además de las páginas amarillas de la misma telefónica, incluye en su directorio todos los co-mercios afiliados, con la finalidad de orientar a los consumidores y usua-rios acerca de los servicios ofrecidos en el ámbito nacional.

4. Bases de datos o “bibliotecas” de información química o biológica

Almacenan diferentes tipos de información, proveniente de la quími-ca, las ciencias de la vida o ciencias médicas.

5. Base de datos orientada a objetos

Es una base de datos que incorpora todos los conceptos importantes del paradigma de objetos:

• Encapsulación,propiedadquepermiteocultarlainformaciónalres-to de los objetos, impidiendo así accesos incorrectos o conflictos.

• Herencia,propiedadatravésdelacuallosobjetosheredancompor-tamientos dentro de una jerarquía de clases.

• Polimorfismo,propiedaddeunaoperaciónmediantelacualpuedeser aplicada a distintos tipos de objetos.

En este tipo de bases de datos, los usuarios pueden definir operaciones sobre los datos como parte de la definición de la base de datos. Una ope-ración (llamada función) se especifica en dos partes. La interfaz (o signatu-ra) de una operación incluye el nombre de la operación y los tipos de da-tos de sus argumentos (o parámetros). La implementación (o método) de la operación se especifica separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicación de los usuarios pueden operar sobre los datos invocando dichas operaciones a través de sus nombres y argumentos, sea cual sea la forma en la que se han implementado. Esto podría denominarse independencia entre programas y operaciones.

Este último tipo de base de datos lo veremos en acción en las semanas finales de este semestre, cuando estudiemos la construcción de páginas web.

323

Semana 8Base de datos

Los temas que hemos trabajado en este semestre se acercan mucho a la realidad, lo cual no es mera coincidencia, ya que la programación informática se utiliza para resolver problemas de la cotidianidad, en cualquiera de las áreas de conocimiento: educación, economía, política, ciencias so-ciales, etc.

Para saber más…

Anímate a profundizar en el tema de esta semana, consultando las si-guientes direcciones web:

http://li.co.ve/zCK http://li.co.ve/zCL http://li.co.ve/zCM

1. Explica con tus propias palabras qué es una base de datos.

2. Escribe al menos dos ejemplos de bases de datos y enumera las varia-bles manejadas.

3. Explica cómo es una base de datos orientada a objetos.

1. Elabora una cartelera descriptiva del tema base de datos y comparte tus saberes en el CCA.

2. De la base de datos construida en la sección “El reto es”, realiza una pre-sentación utilizando PowerPoint o cualquier otra herramienta conocida por ti, para luego hacer una exposición en el CCA.

Aplica tus saberes

Comprobemos y demostremos que…

324

Entidad-relaciónSemana 9

¡Empecemos!

Amigo y amiga participante, ya arribamos a la semana 9, apren-diendo los temas básicos de pro-gramación, manejando lo que son lenguajes de programación y su clasificación, entre otros aspectos importantes. Vamos ahora a seguir echando las ba-ses para aprender a programar, conociendo qué es una entidad, sus atributos y las relaciones que se establecen entre entidades.

Esperamos de ti toda la disposición, interés y participación, para lograr la ad-quisición de las competencias que sobre este tema se requieren.

Antes de entrar a estudiar los temas asignados para esta semana, reflexio-na sobre los siguientes planteamientos: ¿qué es para ti una entidad?, ¿qué son atributos? Explica la expresión “Rafael, tiene 34 años, pertenece al género masculino y pesa 55 kgs”. Debate con tus compañeros al respecto.

Indaga en tu CCA y haz una lista de ejemplos de las entidades que observas allí, abstractas o concretas y menciona los atributos de cada una de ellas.

Un diagrama o modelo entidad-relación, a veces denominado, por sus siglas en inglés, E-R (Entity Relationship), o en español DER (Diagrama de Entidad Relación) es una herramienta para el modelado de datos, que permite repre-sentar las entidades relevantes de un sistema de información, así como sus interrelaciones y propiedades.

Semana 9Entidad-relación

¿Qué sabes de...?

El reto es...

Vamos al grano

325

Semana 9Entidad-relación

Modelo entidad-relación

1. Se elabora el diagrama (o diagramas) entidad-relación.

2. Se completa el modelo con listas de atributos y una descripción de otras restricciones que no se pueden reflejar en el diagrama.

El modelado de datos no acaba con el uso de esta técnica. Son necesarias otras técnicas para lograr un modelo que puede implementarse directamen-te en una base de datos. Brevemente permite mostrar resultados entre otras entidades pertenecientes a las existentes, de manera que se encuentre la nor-matividad de archivos que se almacenarán:

1. Transformación de relaciones múltiples en binarias.

2. Normalización de una base de datos de relaciones (algunas relaciones pueden transformarse en atributos y viceversa).

3. Conversión en tablas (en caso de utilizar una base de datos relacional).

Base teórica conceptual

El modelo de datos entidad-relación está basado en una percepción del mundo real que consta de una colección de objetos básicos, llamados entida-des y de relaciones entre esos objetos.

Entidad

Representa una “cosa” u “objeto” del mundo real con existencia independien-te, es decir, se diferencia unívocamente de otro objeto o cosa, incluso siendo del mismo tipo o una misma entidad.

Veamos algunos ejemplos:

• Unapersonasediferenciadecualquierotrapersona,inclusosiendoge-melos.

• Unautomóvilsediferenciadeotro,aunqueseandelamismamarca,elmismo modelo, etc. Cada uno tendrá sus atributos diferentes, por ejem-plo, el número de chasis.

• Unacasanuncaesexactamenteigualaotra;almenosenladirecciónsediferenciarán.

Una entidad puede ser un objeto con existencia física, como una persona, un animal, una casa, etc. (entidades concretas); o un objeto con existencia conceptual, no palpables, como un puesto de trabajo, una asignatura de cla-ses, un nombre, etc. (entidades abstractas).

326

Entidad-relaciónSemana 9

Una entidad está descrita y se representa por sus características o atributos. Por ejemplo, la entidad “persona” tiene estas características: nombre, apellido, género, estatura, peso, fecha de nacimiento, etc.

Atributos

Los atributos son las características que definen o identifican a una entidad. Como pueden ser muchas, el diseñador sólo utiliza o implementa las que con-sidere más relevantes.

En un conjunto de entidades del mismo tipo, cada una tiene valores espe-cíficos asignados para cada uno de sus atributos; de esta forma, es posible su identificación unívoca. Veamos un ejemplo:

A la colección de entidades “participantes”, con un conjunto de atributos en común (ID, nombre, edad, semestre), pertenecen las entidades:

• (1,Sofía,38años,2)

• (2,Josefa,19años,5)

• (3,Carlos,20años,2)

• ...

Cada una de las entidades pertenecientes a este conjunto se diferencia de las demás por el valor de sus atributos. Nótese que dos o más entidades dife-rentes pueden tener los mismos valores para algunos de sus atributos, pero nunca para todos.

En particular, los atributos identificativos son aquellos que permiten dife-renciar a una instancia de la entidad de otra distinta. Por ejemplo, el atributo identificativo que distingue a un participante de otro es su número de ID.

El ID una identificación única que puede tener una persona dentro de un sistema. Dependiendo del sistema, el ID serán nú-meros, letras, nombre de la persona, núme-ro de documento, etc.

Para cada atributo, existe un dominio del mismo, este hace referencia al tipo de datos que será almacenado o a restricciones en los valores que el atributo puede tomar (cadenas de caracteres, números, solo dos letras, solo números mayores que cero, solo números enteros, etc.).

327

Semana 9Entidad-relación

Cuando algún atributo correspondiente a una entidad, no tiene un valor determinado, recibe el valor nulo, bien sea porque no se conoce, porque no existe o porque no se sabe nada respecto del mismo.

Relación

Describe cierta dependencia entre entida-des o permite la asociación de las mismas. Por ejemplo, si tenemos dos entidades, “cliente” y “habitación”, podemos entender la relación entre ambas al tomar un caso concreto (ocurrencia) de cada una de ellas. Entonces podríamos tener la ocurrencia “habitación 502”, de la entidad “habi-tación” y la ocurrencia “Henry Johnson Mcfly Bogard”, de la entidad “cliente”, de donde es posible relacionar que la habitación 502 se encuentra ocupada por el huésped de nombre Henry Johnson Mcfly Bogar.

O también, teniendo las entidades “participantes” e “IRFA” y las ocurrencias “María Uzcátegui” y “semestre 11ero”, se podría establecer la relación María Uzcátegui estudia en el semestre 11ero del IRFA.

Conjunto de relaciones

Consiste en una colección o conjunto de relaciones de la misma naturaleza. Por ejemplo: dados los conjuntos de entidades “habitación” y “huésped”, to-das las relaciones de la forma habitación-huésped, permiten obtener la infor-mación de los huéspedes y sus respectivas habitaciones.

La dependencia o asociación entre los conjuntos de entidades, es llamada participación. En el ejemplo anterior, los conjuntos de entidades “habitación” y “huésped” participan en el conjunto de relaciones habitación-huésped.

Se llama grado del conjunto de relaciones a la cantidad de conjuntos de entidades participantes en la relación.

No es necesario que te descerebres mucho para identificar una entidad; con hacerte algunas preguntas sobre el ente en cues-tión es suficiente; por ejemplo, ¿puedo to-carlo?, ¿puedo verlo?, ¿puedo sentirlo? Si las respuestas son afirmativas, se trata de entidades concretas (un libro, una persona, un instrumento musical, etc). Pero existen otras entidades abstractas, que no puedes percibir por medio de tus sentidos, pero si a través del intelecto; por ejemplo, un área de conocimiento, una enfermedad, un sen-timiento (amor, odio, etc.), entre otras.

328

Entidad-relaciónSemana 9

Para saber más…

Para conocer otros enfoques acerca del tema de esta semana, te invita-mos a visitar las siguientes direcciones web:

http://li.co.ve/zLc http://li.co.ve/zLb http://li.co.ve/zLa

1. Define con tus propias palabras los términos entidad y atributo.

2. Elabora una tabla, con al menos cinco entidades conocidas y al menos cinco atributos por entidad.

3. Escribe verdadero (V) o falso (F) según sea el caso.

a) Una entidad es una característica que define un objeto ( )

b) El nombre de una persona es un ejemplo de entidad ( )

c) El número de identidad (C.I.) de una persona es un ejemplo de atri-buto ( )

d) El conjunto (5, María, 23 años) son atributos de una entidad ( )

e) Una relación describe cierta dependencia entre entidades ( )

4. Escribe en las celdas o casillas vacías de la tabla 8 la relación que se esta-blece entre las entidades.

Tabla 8

Entidad / ocurrencia Relación Entidad / ocurrencia

Participante / María Pedraza Semestre / 11er semestre

Orientador / Simón Rodríguez Área / Sociedad y Cultura

Hotel VENETUR / habitación 112 Huésped / Carlos Madariaga

Cliente / Manuel Ramírez Comida / Pabellón con baranda

IRFA / CCA San José obrero Estado Mérida / Mérida

5. Realiza la actividad interactiva de clasificación que encontrarás en el dis-co multimedia en la semana respectiva.

Aplica tus saberes

329

Semana 9Entidad-relación

1. Elabora un ensayo del tema estudiado esta semana, donde se resalte lo visto y otros aportes producto de tu investigación. Recuerda que un ensayo es un escrito breve, de no más de dos hojas (o 4 cuartillas).

2. Partiendo del ensayo realizado, elabora una presentación en Power-Point o algún otro programa y compártela en tu CCA.

Comprobemos y demostremos que…

330

Modelo entidad-relaciónSemana 10

Vamos al grano

¡Empecemos!

¡Bienvenidos a la semana 10! Ya conocemos lo que es una entidad, sus atributos y las relaciones entre entidades. Con estos temas toda-vía frescos en tu mente, estudiarás ahora el modelaje o diagramación de las relaciones entre entidades.

¡Concéntrate! Estos son temas abstractos que requieren de tu atención para comprenderlos.

Reflexiona sobre las siguientes cuestiones: ¿qué es una entidad?, ¿existe alguna relación entre entidad y objetos de la vida real?, ¿es posible graficar las diferentes relaciones que se dan en la cotidianidad entre objetos? Propón algunos ejemplos.

Haz una lista de entidades que interactúan en el CCA. Construye y repre-senta relaciones entre ellas, apoyándote en lo que ya sabes sobre el tema. También puedes investigar en textos impresos o en internet.

Ya tenemos claros algunos conceptos relacionados al modelo E-R; ahora va-mos a representarlo gráficamente. Cabe destacar que, para todo proceso de modelado, siempre hay que tener claros los conceptos, para tener el saber ne-cesario y fundamentar nuestro modelo al momento de presentarlo a terceros.

Formalmente, los diagramas E-R son un lenguaje gráfico para describir con-ceptos. Informalmente, son simples dibujos o gráficos que describen infor-mación que trata un sistema de información y el software que lo automatiza.

Semana 10Modelo entidad-relación

¿Qué sabes de...?

El reto es...

331

Semana 10Modelo entidad-relación

Las entidades (ver semana 9) se representan por medio de un rectángulo. Pueden ser de tipo: maestras, transaccionales, históricas y temporales.

Los atributos se representan mediante un círculo o elipse etiquetado con un nombre en su interior. Cuando un atributo es identificativo de la entidad, se suele subrayar dicha etiqueta.

Por motivos de legibilidad, los atributos suelen no aparecer representados en el diagrama entidad-relación, sino descritos textualmente en otros docu-mentos adjuntos.

Las relaciones se representan mediante un rombo etiquetado en su inte-rior con un verbo. Este rombo se debe unir mediante líneas con las entidades (rectángulos) que relaciona, para así saber cuál es la relación que tiene cada uno. Veamos un ejemplo:

1. Se debe realizar un modelo entidad-relación que permita gestionar los datos de una biblioteca, tomando en cuenta los siguientes parámetros:

f ) Las personas socias de la biblioteca (usuarios) disponen de un códi-go de socio y además necesitan almacenar su cédula de identidad, dirección, teléfono, nombre y apellidos.

g) La biblioteca almacena libros que presta a los socios y socias, de los cuales registra su título, su editorial, el año en el que se escribió el libro, el nombre completo del autor (o autores), el año en que se editó, la editorial y el ISBN.

¿Cuáles serían las entidades a tomar en cuenta en este caso? Las entidades que intervienen son: usuario / libros / autores.

¿Cuáles serían las entidades que se relacionan? Usuarios / libros y autores / libros.

Figura 8

AUTORES

Prestar Escribir

Dirección CI Nombres Titulo Editorial

ISBN Edición

ID autor Nombre

Apellidos Código Teléfono

USUARIOS LIBROS

332

Modelo entidad-relaciónSemana 10

Restricciones sobres los tipos de relación

Los tipos de relación suelen tener ciertas restricciones que limitan las po-sibles combinaciones de entidades que pueden participar en los correspon-dientes tipos de relación. Estas restricciones se determinan a partir de la reali-dad, es decir ,del significado que tienen los tipos de entidad y tipos de relación en el mundo real, y no depende de los conjuntos de entidades o relación que, en un momento dado, se puedan estar considerando o almacenando en la base de datos. Por ejemplo, podríamos tener una empresa donde los emplea-dos sólo puedan trabajar para un departamento.

Se pueden distinguir dos tipos de restricciones asociadas a tipos de relación

1. Correspondencia de cardinalidadDado un conjunto de relaciones en el que participan dos o más conjuntos

de entidades, la correspondencia de cardinalidad indica el número de entida-des con las que puede estar relacionada una entidad dada.

Dado un conjunto de relaciones binarias (entre dos entidades) y los conjun-tos de entidades A y B, la correspondencia de cardinalidades puede ser:

a) Uno a Uno: (1:1) Un registro de una entidad A se relaciona con solo un registro en una entidad B. Por ejemplo, sean dos entidades, profesor y departamento, con llaves primarias (característica única que define a la entidad), codigo_profesor y jefe_dpto respectivamente. Un profesor sólo puede ser jefe de un departamento y un departamento solo puede tener un jefe.

b) Uno a varios: (1:N) Un registro en una entidad A se relaciona con cero o muchos registros en una entidad B. Pero los registros de B solamente se relacionan con un registro en A. Por dos entidades, vendedor y ven-tas, con llaves primarias, codigo_vendedor y venta, respectivamente, un vendedor puede tener muchas ventas, pero una venta solo puede tener un vendedor.

c) Varios a Uno: (N:1) Una entidad en A se relaciona exclusivamente con una entidad en B. Pero una entidad en B se puede relacionar con 0 o muchas entidades en A (ejemplo: empleado-centro de trabajo).

d) Varios a Varios: (N:M) Una entidad en A se puede relacionar con 0 o con muchas entidades en B y viceversa. Por ejemplo, asociaciones-ciu-dadanos, donde muchos ciudadanos pueden pertenecer a una misma asociación y cada ciudadano puede pertenecer a muchas asociaciones distintas.

333

Semana 10Modelo entidad-relación

Regresa tu mente unos años atrás y haz un esfuerzo por recordar la teoría de conjun-tos. Seguro tendrás por allí, en un rincón de tu mente, las funciones que relacionan dos o más conjuntos: inyectivas, biyectivas y sobreyectivas.

Recuerda además que los conjuntos se de-nominan con una letra mayúscula y están compuestos por elementos. Repasa estos temas.

2. Restricciones de participaciónDado un conjunto de relaciones R en el cual participa un conjunto de enti-

dades A, dicha participación puede ser de dos tipos:

a) Total: cuando cada entidad en A participa en, al menos, una relación de R.

b) Parcial: cuando, al menos, una entidad en A NO participa en alguna rela-ción de R.

Claves

Es un subconjunto del conjunto de atributos comunes en una colección de entidades, que permite identificar unívocamente cada una de las entidades pertenecientes a dicha colección. Asimismo, permite distinguir entre sí las re-laciones de un conjunto de relaciones.

Dentro de los conjuntos de entidades, existen los siguientes tipos de claves:

1. Superclave: es un subconjunto de atributos que permite distinguir uní-vocamente cada una de las entidades de un conjunto de entidades. Si se añade un atributo al anterior subconjunto, el resultado seguirá sien-do una superclave. Por ejemplo, si tenemos un conjunto “empleados”, el número de cédula, número de seguro social y Registro de Información Fiscal (RIF) del subconjunto de atributos “identidad” es una superclave, ya que no hay dos personas con la misma identidad.

2. Clave candidata: dada una superclave, si ésta deja de serlo, quitando únicamente uno de los atributos que la componen, entonces ésta es una clave candidata.

3. Clave primaria: es una clave candidata, elegida por el diseñador de la base de datos, para identificar unívocamente las entidades en un con-junto de entidades.

334

Modelo entidad-relaciónSemana 10

Los valores de los atributos de una clave, no pueden ser todos iguales para dos o más instancias.

Para poder distinguir unívocamente las relaciones en un conjunto de rela-ciones R, se deben considerar dos casos:

1. R NO tiene atributos asociados: en este caso, se usa como clave primaria de R la unión de las claves primarias de todos los conjuntos de entidades participantes.

2. R tiene atributos asociados: en este caso, se usa como clave primaria de R la unión de los atributos asociados y las claves primarias de todos los conjuntos de entidades participantes.

Si el conjunto de relaciones R, sobre el que se pretende determinar la cla-ve primaria, está compuesto de relaciones binarias, con los conjuntos de entidades participantes A y B, se consideran los siguientes casos, según sus cardinalidades:

1. R es de muchos a uno de A a B, entonces sólo se toma la clave primaria de A, como clave primaria de R.

2. R es de uno a muchos de A a B, entonces se toma sólo la clave primaria de B, como clave primaria de R.

3. R es de uno a uno de A a B, entonces se toma cualquiera de las dos cla-ves primarias, como clave primaria de R.

4. R es de muchos a muchos de A a B, entonces se toma la unión de los atributos que conforman las claves primarias de A y de B, como clave primaria de R.

Para saber más…

Investiga otros tipos de restricciones que se aplican en las bases de da-tos, visitando las siguientes direcciones web:

http://li.co.ve/0fJ http://li.co.ve/0fK

1. Define con tus propias palabras: modelo entidad-relación, restricciones, clave.

2. Qué relaciones de cardinalidad se pueden establecer entre los siguien-tes pares de entidades.

Aplica tus saberes

335

Semana 10Modelo entidad-relación

a) Facilitador(a) - áreas

b) Participante - semestre

c) Trabajador(a) - puesto de trabajo

d) Autobús - pasajero(a)

3. Realiza la sopa de letras que encontrarás en el disco multimedia en la semana respectiva.

Prepara una presentación en PowerPoint con los saberes más significativos de esta semana y realiza un foro o debate con la participación de los demás compañeros.

Comprobemos y demostremos que…

336

Construcción de una base de datos Semana 11Semana 11Construcción de una base de datos

¡Empecemos!

Esta semana estarán a prueba tu disposición, interés y, sobre todo, tu capacidad para resolver situaciones problemáticas, a tra-vés del apoyo que brindan las he-rramientas informáticas. Tendrás la oportunidad de comprobar cómo una base de datos cons-truida por ti puede representar una solución sencilla, permitien-do simplificar un determinado

proceso, traduciéndose esto en el inicio de una sistematización. Confiamos en que podrás superar el reto de esta semana. ¡Éxito!

Una de las principales herramientas de la informática son las bases de datos; por tal razón, es importante que tengas claros dos conceptos claves:

1. Sistematización de información: el ordenamiento y clasificación –bajo determinados criterios, relaciones y categorías– de todo tipo de datos. Por ejemplo, la creación de bases de datos.

2. Automatización de información: es un sistema donde se trasfieren ta-reas de producción, realizadas habitualmente por operadores humanos, a un conjunto de elementos tecnológicos. Por ejemplo, un proceso de inscripción vía web.

Discute con tus compañeros del CCA estos dos conceptos y analicen entre todos en qué situaciones relacionadas con la vida diaria se pueden aplicar (seleccionen por lo menos 4 situaciones).

Repasa lo visto durante la semana anterior, para aplicarlo esta semana.

¿Qué sabes de...?

337

Semana 11Construcción de una base de datos

Vamos al grano

Considerando el análisis de los dos conceptos anteriores y la relación con situaciones cotidianas comunes, te invitamos a poner en práctica tus saberes.

¿Has visto un programa comercial de facturación? Pues eso es una base de datos. Y ¿te gustaría diseñar tu propio programa de facturación, adaptado a tus necesidades e ir mejorándolo, según te vaya haciendo falta, sin necesidad de invertir grandes cantidades de dinero en costosos programas comerciales? Pues eso es Access.

Esto es sólo un ejemplo de lo que puedes hacer. El reto es detectar alguna si-tuación problemática y sistematizarla, a través de la construcción de una base de datos sencilla, utilizando Microsoft Access del paquete de aplicaciones que vienen en Office.

Toda organización, independientemente de su tamaño y naturaleza, necesita tener un control de sus datos. Microsoft Access es una aplicación para manejo de bases de datos que facilita su uso, sin requerir de un conocimiento especializado de pro-gramación; sin embargo, hoy día existen en el mercado otras tantas aplicaciones o programas que permiten hacerlo. Escoger la indicada depende del uso, dominio y ne-cesidades específicas.

Microsoft Access es una de las aplicaciones que vienen incluidas en la suite ofimática Microsoft Office en su versión profesional. Y es una de esas aplica-ciones que, por desconocimiento, la mayoría de las veces no abrimos pero, ¿realmente qué es, para qué sirve y qué podemos hacer con Microsoft Access?

Access es una base de datos, que ejemplificamos de la siguiente forma:

• Lascientosderecetas de cocina que tenemos en casa podemos guardar-las en una base de datos y, con un par de clic, buscar la que necesitemos.

• Elseguimientodeaverías de nuestros vehículos se pueden guardar en una base de datos, para poder analizar rápido los costes de las mis-mas, la rentabilidad del vehículo, etc.

El reto es...

338

Construcción de una base de datos Semana 11

• La gestión de nuestras cuentas bancarias (ingresos, gastos, recibos, préstamos) se pueden guardar en una base de datos, teniendo todo bien organizado, lo cual nos permitirá, de forma cómoda, introducir los datos y visualizar informes de nuestras cuentas.

• El control del almacén (entradas, salidas, stock, facturas) podemos lle-varlo con una base de datos.

• Un centro de estudios puede gestionar los participantes, facilitadores, salones, cursos, evaluaciones, matrículas, recursos, eventos, nóminas, etc., todo desde una base de datos.

Como ves, ese programa que tienes instalado en el computador, acaba de abrirte un abanico de posibilidades casi infinitas pero, ¿qué tan fácil será ha-cer todo esto?

Herramientas de Access

1. Tablas: son el objeto principal de una base de datos, por cuanto alma-cenan los datos de un asunto en particular y se componen de registros y campos. Un registro se denomina normalmente fila o instancia. Un cam-po contiene datos acerca de un aspecto de la tabla, el cual se denomina columna o atributo.

2. Consultas: se utilizan para visualizar, modificar y analizar datos de for-mas diferentes. Permiten dar respuesta a las preguntas que se pueden plantear acerca de los datos almacenados. Existen varios tipos: consul-tas de selección, de parámetros, referencias cruzadas, de acción y SQL.

3. Formularios: se utilizan para introducir, modificar, consultar y borrar re-gistros de una tabla. Es la forma idónea de introducir y editar datos.

Figura 9

339

Semana 11Construcción de una base de datos

Figura 10

4. Informes: se usan para visualizar, formatear y resumir datos; pueden ofrecer detalles sobre registro individuales, resúmenes de varios regis-tros o ambos; también pueden crear etiquetas para correo o afines.

Figura 11

5. Macro: es una herramienta que permite automatizar tareas frecuentes; se puede utilizar en formularios, informes y controles. Una macro consta de acciones, las cuales, en su mayoría, requieren de argumentos.

6. Módulos: es una colección de declaraciones, instrucciones y procedi-mientos escritos en el lenguaje VBA (Visual Basic Application); permiten agregar funcionalidad a la base de datos y son utilizados por formula-

340

Construcción de una base de datos Semana 11

rios, informes, entre otros. Pueden ser módulos de clase o módulos es-tándar.

Figura 12

Para saber más…

Observa varios videos que explican, paso a paso, cómo construir una base de datos:

http://goo.gl/dA7AW1 http://goo.gl/1kA3nb http://goo.gl/rp7COa

Como sabes, existen software propietarios por los que hay que pagar cierta cantidad de dinero para su descarga; entre ellos, Access. Y otros, por los que no desembolsas nada para su utilización. Te invitamos a bus-car en internet algún software libre que te permita construir una base de datos.

1. Determina qué tipo de datos pueden ser los atributos que aparecen en la tabla 9 y argumenta tu respuesta.

Tabla 9

Campo Tipo de dato ArgumentoCINombreApellidoDirecciónSexo

Aplica tus saberes

341

Semana 11Construcción de una base de datos

Estado civilFecha de nacimientoCorreo electrónicoNota 1Nota 2

2. Responde las siguientes preguntas con tus propias palabras:

a) ¿Qué es un registro?

b) ¿Cuál es la diferencia entre un formulario y un informe?

c) ¿Para qué sirven las consultas?

d) ¿Para qué usarías una base de datos?

3. Diviértete con las actividades interactivas (sopa de letras y completa-ción) que encontrarás en el disco multimedia.

Estructura un modelo entidad-relación y luego crea una base de datos en Access que permita a tu amiga, María, manejar un inventario sencillo de su mercancía.

Comprobemos y demostremos que…

342

Métodos de ordenamiento y almacenamientoSemana 12Semana 12Métodos de ordenamiento y almacenamiento

¡Empecemos!

Bienvenidos a una nueva se-mana, en la que estudiaremos los métodos de ordenamiento y almacenamiento, con base en lo visto en semanas anteriores, refe-rente a estructura de datos y sus tipos. Estudiaremos cómo esa in-formación ya estructurada puede ordenarse y almacenarse en una base de datos, según diferentes métodos a utilizar.

Para tener una mejor comprensión del tema de esta semana, debemos te-ner claro: ¿qué es un dato?, ¿qué son las estructuras de datos?, ¿cuáles son los tipos de estructura de datos?

El reto que debes enfrentar esta semana con los demás compañeros y com-pañeras, es trabajar con la base de datos natural que realizaron en la semana 8. Deben escoger un campo clave y ordenar los datos en forma ascendente o descendente.

Debido a que las es-tructuras de datos son utilizadas para almacenar información, a fin de recu-perar esa información de manera eficiente, es im-portante que aquella esté ordenada.

¿Qué sabes de...?

El reto es...

Vamos al grano

No. C.I. APELIDOS Y NOMBRES I CORTE1 19.479.467 SOLORZANO A. ZULEIKA J. 02 0,2 102 19.861.309 RAMOS G. WUENDY J. 03 20.180.532 GALLARDO ANTHONY 20 2 204 20.315.621 DIAZ M. MARYORY A. 05 20.729.531 TORREALBA G. ANDRES J. 10 1 106 23.428.400 LOPEZ D. MARIA DE LOS S. 0

Aprobados 2 3Porcentaje de Aprobados 33,33 50,00Porcentje de Reprobados 66,67 50,00

343

Semana 12Métodos de ordenamiento y almacenamiento

Existen varios métodos para ordenar las diferentes estructuras de datos bá-sicas. En general, dichos métodos no son utilizados con frecuencia; en algunos casos, sólo una vez. Hay métodos muy simples de implementar, muy útiles en los casos dónde el número de elementos a ordenar no es grande (por ejem-plo, menos de 500 elementos). Asimismo, hay métodos sofisticados, más di-fíciles de implementar, pero más eficientes en cuanto a tiempo de ejecución.

Los métodos sencillos, por lo general, requieren de aproximadamente n x n pasos para ordenar n elementos.

Ordenar significa reagrupar o reorganizar un conjunto de datos u objetos en una se-cuencia específica. Ordenar un grupo de datos significa mover los datos o sus refe-rencias para que queden en una secuencia tal que represente un orden, el cual puede ser numérico, alfabético o, incluso, alfanu-mérico, ascendente o descendente.

Tipos de ordenamiento

1. Ascendente (menor a mayor) o

2. Descendente (mayor a menor).

A su vez, los métodos de ordenación se clasifican en dos categorías:

1. Ordenación interna (de arreglos) y

2. Ordenación externa (de archivos).

La ordenación interna o de arreglos, recibe este nombre ya que los elemen-tos o componentes del arreglo se encuentran en la memoria principal de la computadora.

Tipos de ordenamiento

1. Burbuja: es el más simple y consiste en comparar dos elementos adya-centes, para determinar si se realiza un intercambio entre los mismos; esto en caso de que el primero sea mayor que el segundo (forma ascen-dente) o en caso de que el primero sea menor que el segundo (forma descendente).

a) Se debe generar un ciclo que inicie desde uno hasta el número de elementos del arreglo.

b) Se debe generar un segundo ciclo dentro del anterior, que inicie desde cero hasta el número de elementos del arreglo, menos dos.

344

Métodos de ordenamiento y almacenamientoSemana 12

c) Dentro del segundo ciclo debe existir una comparación que deter-mine el tipo de ordenamiento (ascendente o descendente) entre el primer elemento (posición generado por el segundo ciclo) y el segundo elemento (el que le sigue); si la respuesta a la condición es verdadera, se realiza un intercambio entre los dos elementos.

d) Para realizar el intercambio, se genera un almacenamiento tempo-ral, el cual guarda el dato del primer elemento, el segundo elemen-to toma el lugar del primero y, en el lugar del segundo, se coloca lo que contiene el almacenamiento temporal.

Una vez que los ciclos terminan, la estructura debe quedar ordenada de forma ascendente o descendente, pero este procedimiento es considerado como el peor de los casos ya que, si el número de elementos de la estructura es de 100, se tienen que realizar 9900 comparaciones antes de terminar la ejecución del método.

QuickSort

Es una técnica basada en otra conocida con el nombre “divide y vencerás”, que permite ordenar una cantidad de elementos en un tiempo proporcional a n2 en el peor de los casos, o a n log n en el mejor de los casos. El algoritmo original es recursivo, como la técnica en la que se basa.

La descripción del algoritmo para el método de ordenamiento QuickSort es la siguiente:

1. Se debe elegir uno de los elementos del arreglo, al que llamaremos pi-vote.

2. Se deben acomodar los elementos del arreglo a cada lado del pivote, de manera que, del lado izquierdo queden todos los menores al pivote y del lado derecho los mayores al pivote; considera que en este momento el pivote ocupa exactamente el lugar que le corresponderá en el arreglo ordenado.

3. Colocado el pivote en su lugar, el arreglo queda separado en dos suba-rreglos, uno formado por los elementos del lado izquierdo del pivote y, otro, por los elementos del lado derecho del pivote.

4. Se debe repetir este proceso de forma recursiva para cada subarreglo mientras éstos contengan más de un elemento. Una vez terminado este proceso, todos los elementos estarán ordenados.

Para elegir un pivote, se puede aplicar cualquiera de las siguientes opciones:

1. El pivote será el primer elemento del arreglo.

2. El pivote será el elemento que está a la mitad del arreglo, o

345

Semana 12Métodos de ordenamiento y almacenamiento

3. El pivote se elige de entre tres elementos (cualesquiera) del arreglo, los cuales se deben comparar para seleccionar el valor intermedio de los tres y considerarlo como el pivote.

ShellSort

Este método de ordenación es una versión mejorada del método por inser-ción directa, que se utiliza cuando el número de elementos es grande. Este método recibe su nombre gracias a su creador Donald L. Shell y también se conoce con el nombre “inserción con incrementos decrecientes”.

ShellSort compara elementos separados por un espacio de varias posiciones. Esto permite que un elemento haga pasos más grandes hacia la posición que debe ocupar. Los pasos múltiples sobre los elementos se hacen con tamaños de espacio cada vez más pequeños y, el último paso del método, es un sim-ple ordenamiento por inserción directa pero, para entonces, los elementos de arreglo ya casi están ordenados.

Para saber más…

Para profundizar en el tema sobre almacenamiento y ordenamiento de datos, te recomendamos visitar las siguientes direcciones web:

http://goo.gl/CFWnkX http://goo.gl/4TwZeQ http://goo.gl/IINmqS

1. ¿Qué entendiste de los métodos de ordenamiento y almacenamiento?

2. ¿Qué es un vector? Ejemplifica uno.

3. Ordena por el método de la QuickSort, 10 números de cédula que se encuentren desordenados en un vector de cadenas.

4. Ordena por el método ShellSort, 10 nombres que se encuentren desor-denados en un vector de cadenas.

Elabora una cartelera descriptiva del tema de métodos de ordenamiento y almacenamiento, con ejemplos de la vida diaria. Usa cualquier tipo de mate-riales, de manera creativa y exhibe tu cartelera en el CCA.

Comprobemos y demostremos que…

Aplica tus saberes

346

Páginas webSemana 13

Vamos al grano

¡Empecemos!

¡Bienvenidos a una nueva se-sión, llena de aprendizajes! En semanas anteriores estudiamos lo que son bases de datos, estruc-turas de datos y métodos de or-denamientos, todo lo cual es ne-cesario para llegar a comprender lo que son las páginas web.

¿Qué es una página web?, ¿qué conoces al respecto?, ¿sabes crear una pá-gina web?

Esta semana, junto con tus compañeros, crea manualmente una página web, tomando en cuenta los siguientes criterios: ¿qué elementos deseas que tenga? ¿de qué quieres que trate? Todo esto para tener una idea del análisis que se debe realizar, previo a la creación de una página web.

Una página web se define como un documento electrónico, el cual con-tiene información textual, visual y/o sonora, que se encuentra alojado en un servidor al que se puede acceder mediante el uso de navegadores. Cada pá-gina forma parte de una colección de otras páginas, dando lugar a lo que se denomina sitio web, el cual se encuentra identificado bajo el nombre de un dominio, tema que será tratado en la semana 14 con mayor profundidad.

La creación y desarrollo de una página web se realiza bajo un lenguaje de programación (HTML, PHP, ASP, JSP o RUBY), capaz de ser interpretado por los navegadores.

Al inicio de la era de internet accesible, en los años 90, era necesario el cono-cimiento de algún lenguaje de programación para el desarrollo de una web, por lo que resultaba ser una tarea exclusiva de personas con altos conoci-

Semana 13Páginas web

¿Qué sabes de...?

El reto es...

347

Semana 13Páginas web

mientos informáticos. Hoy en día contamos con software especializados, que pueden ser manejados por cualquier persona, como editores de texto, estilo Word, los cuales transforman toda la información en un lenguaje de progra-mación, capaz de ser interpretado por los navegadores.

Programas como Dreamweaver, Amaya, Sharepoint, Designer o Mozilla Composer son, entre otros, los denominados WYSIWYG (acrónimo del inglés “lo que ves, es lo que obtienes”) capaces de crear complejas páginas web con el entorno de un simple editor de texto.

radiofeyalegrianoticias.net

Servidores

Una vez que hemos creado y desarrollado nuestras páginas web, es nece-sario alojarlas en un servidor, el cual se puede definir como un ordenador co-nectado constantemente a internet, cuyo objetivo es poder disponer de la página web a cualquier hora del día. Para acceder al servidor, es necesario el uso de programas denominados clientes FTP (File Transfer Protocol) o proto-colos de transferencia de archivos, los cuales conectan el ordenador personal, donde se ha desarrollado la página, con el servidor donde se alojará; entre otros, se tiene: Filezilla, FileFTP y Cute FTP.

Navegadores

Una vez alojadas las páginas web, estas son accesibles mediante el uso de navegadores, los cuales permiten visualizar correctamente la información alojada y desarrollada. Los más conocidos y utilizados son: Chrome, Mozilla, Internet Explorer y Safari.

348

Páginas webSemana 13

Una página web es, en esencia, una tarjeta de presentación digital, ya sea para empre-sas, organizaciones o personas, así como una tarjeta de presentación de ideas, infor-maciones y de teorías. Y el servidor es una gigantesca biblioteca con capacidad para alojar grandes cantidades de sitios web.

En la revista online sobre tecnología “Tecnomegazine” se afirma lo siguiente:

“Google posee alrededor de 1,8-2,4 millones de servidores en todo el planeta. Ahora bien, si cada uno de estos servidores posee unos 4TB de capacidad, entonces la capacidad total de todos los servidores de Google sería de unos 10EB (Exabytes) aproximadamente.

¿Y cuánto son 10EB? Unos 10TB^6 o 10PB^3. Sí, es una cantidad gigan-tesca, pero no debería sorprendernos que Google tenga tal capacidad, después de todo, la página del buscador es la más visitada del mundo”.

Para entender mejor estas cantidades, expresémoslas en términos de GB que es la unidad más común hasta ahora.

1 EB = 106 TB = 109 GB, luego 10 EB = 1010 GB = 10.000.000.000

Es decir, diez mil millones de GB. Para ser más específicos, es equivalente a 500 millones de discos duros de 500 GB cada uno ¡Dato curioso! ¿No?

Clasificación de las páginas web

Podemos agrupar o clasificar todas las páginas web en dos grandes grupos: estáticas y dinámicas.

Las web estáticas son aquellas cuya información no varía a medio o a corto plazo, también se las reconoce puesto que no interactúan con el usuario, su lenguaje de programación está basado en HTML y están compuestas principal-mente de textos e imágenes.

Estas web fueron el primer tipo que apareció durante el desarrollo y expan-sión de internet. Su creación y desarrollo es relativamente fácil, al disponer de programas estilo editores de texto, que permiten programarlas sin tener cono-cimiento ninguno sobre HTML, lo cual es una de las grandes ventajas que pre-sentan este tipo de páginas. Por otro lado, cada vez que se necesite modificar

349

Semana 13Páginas web

alguna parte de la web, es necesario conectarse al servidor donde está alojada y subir los documentos modificados, cosa que conlleva tiempo y esfuerzo.

Las web dinámicas son aquellas capaces de interactuar con el usuario, dado que están conectadas con bases de datos que permiten el desarrollo de apli-caciones web. Su principal ventaja es la personalización de la web en función del usuario, así como la rapidez de modificación de los contenidos. Este tipo de web están desarrolladas bajo lenguajes de programación como PHP, ASP, JSP o RUBY; el manejo de dichos lenguajes requiere de ciertos conocimientos informáticos.

Foros de opinión, redes sociales, tiendas virtuales, buscadores, gestores de emails o aplicaciones empresariales alojadas en la nube son, entre otros, ejem-plos de web dinámicas.

Estas dos categorías de páginas se clasifican además en privadas y públicas. Las privadas sólo permiten el acceso a un número limitado de personas que puedan ser identificadas y reconocidas por el sistema de acceso, mientras que las públicas son accesibles para cualquier persona que disponga de una co-nexión a internet.

Hoy en día, dentro de un mismo sitio web, existen las cuatro clases de pági-nas descritas anteriormente; por ejemplo, cuando accedemos a nuestra cuenta bancaria, lo hacemos a través de una página dinámica, dado que el saldo dispo-nible cambia instantáneamente cuando realizamos una compra. Pero es muy probable que ahí mismo encontremos páginas estáticas, como direcciones de contacto o información global sobre el sitio. A su vez, se trata de una página privada, por cuanto el acceso a cuentas y determinados servicios está restrin-gido a las personas que puedan autentificarse mediante claves o password. No obstante, también son páginas públicas, en el sentido de que cualquier persona puede visitarlas y ver gran cantidad de información, sin necesidad de introducir contraseñas.

http://www.feyalegria.org/es

350

Páginas webSemana 13

Para saber más…

Profundiza en el tema de esta semana, visitando las siguientes direccio-nes web:

http://li.co.ve/0e5 http://li.co.ve/0e4 http://li.co.ve/0e3

1. Expresa con tus propias palabras las cuestiones que se plantean a conti-nuación:

a) ¿Qué es una página web?

b) ¿Cuál es la diferencia entre una página web dinámica y una estáti-ca?

c) ¿Por qué se dice que una página no es un sitio?

d) Haz una lista de al menos cinco (5) páginas web que hayas visitado la semana pasada e indica el explorador que usaste.

2. Realiza las actividades interactivas que encontrarás en el disco multime-dia en la semana respectiva.

Elabora una lista de 20 páginas web que conoces y clasifícalas en dinámicas o estáticas, según sus características.

Aplica tus saberes

Comprobemos y demostremos que…

351

Semana 13Páginas web

¡Empecemos!

¡Felicitaciones! Hoy, con mucha satisfacción, hacemos un recono-cimiento a tu dedicación, discipli-na y constancia. Sabemos que no ha sido fácil, por eso aplaudimos que hayas llegado hasta aquí. Esta semana trae grandes sorpre-sas, termina un ciclo y comienza otro nuevo. De ti depende hasta dónde llegar. El tema de hoy, aun-que es el cierre del semestre, te abrirá un mundo de posibilidades, al poner en tus manos una forma de generar ingresos a través de los saberes adquiridos.

Repasemos: ¿página web y sitio web son lo mismo?, ¿en qué se parecen o en qué se diferencian?

Esta es una semana de retos, así que, ¡cerremos con broche de oro! En este tema encontrarás mucha terminología nueva y, en muchos casos, en inglés, por lo que te recomendamos generar un glosario de términos y acudir de ma-nera regular a la investigación con los recursos que cuentes, pues de eso de-pende que puedas abordar el reto y cumplirlo con éxito.

Debes hacer una mapa sobre lo que te gustaría que tuviera tu sitio web y precisar sobre qué tema lo desarrollarás. Asimismo, debes definir cuántas pá-ginas web contendrá o si, para empezar, lo estructurarás con una sola página, que bien pudiera ser un blog.

Semana 14Construcción de una página web/blog

¿Qué sabes de...?

El reto es...

352

Construcción de una página web/blogSemana 14

En los blog, los lectores pueden escribir sus comentarios y el autor puede darles res-puesta, por lo que es posible establecer un diálogo. El uso o tema de cada blog es particular; los hay de tipo periodístico, empresarial o corporativo, tecnológico, educativo (edu-blogs), políticos, personales y otros mu-chos temas. Si un tema te apasiona, no im-porta cual sea, ¡ya tienes lo necesario para crear tu propio blog!

Cada sitio web tiene una página de inicio (en inglés, Home Page), que es el primer documento a la vista del usuario cuando entra en el sitio web, ponien-do el nombre del dominio de ese sitio en un navegador. Cada sitio pertenece y es gestionado y por un individuo, una compañía o una organización y, nor-malmente, cada sitio tiene varios documentos (páginas web).

Ahora bien, desglosemos su construcción en siete (7) pasos:

1. Para crear nuestra página o sitio web, debemos elegir un proveedor de alojamiento donde lo almacenaremos. Existen multitud de empresas dedicadas al alojamiento web, que nos brindarán numerosas ofertas; incluso, encontraremos empresas que nos darán alojamiento gratuito.

2. A la hora de elegir el alojamiento que vamos a contratar o usar, debemos tener en cuenta los siguientes factores: espacio web, accesibilidad, tasa de transferencia, así como la reputación y las condiciones de servicio del proveedor. Al respecto, los foros son un buen lugar para encontrar más información sobre la relación calidad-precio de los diferentes ISP de alojamiento.

3. Una vez tengamos seleccionado el alojamiento, debemos pensar el nombre del dominio que utilizaremos para acceder a nuestro dominio (Ejemplo: www.mipaginaweb.com). Es probable que el mismo provee-dor que nos ha ofertado el alojamiento nos permita registrar dominios.

4. Cuando ya tenemos nuestro proveedor de dominio y alojamiento, em-pezamos a crear la página web; para ello, nos ayudaremos de un editor web de los muchos que existen en internet. Hay editores para crear pá-ginas web gratuitas como Fresh HTML, Basic HTML, Netscape Composer, y programas más completos como Dreamweaver, Homesite y Frontpage.

Vamos al grano

353

Semana 14Construcción de una página web/blog

5. Para incorporar imágenes a nuestra web, nos ayudaremos de programas de edición de fotografía y diseño, tales como Photoshop, Fireworks, Corel o algún software gratuito. Estos programas nos servirán para cortar o ajustar las imágenes que utilizaremos en nuestra página web. Los pro-gramas mencionados son útiles también para crear el diseño de nuestra página, que luego exportaremos al editor HTML.

6. Una vez que tengamos creada nuestra página web, tan sólo nos falta publicarla en el alojamiento web que hemos contratado o seleccionado. Para ello, nos ayudaremos de un cliente FTP como Filezilla o Cute FTP, para subir nuestra página web al servidor. No obstante, existen también ISP (proveedores de alojamiento) que tienen su propio sistema de carga de páginas (web FTP), con lo que no necesitaríamos el cliente FTP.

7. Si utilizas el cliente FTP, abre tu programa y accede al alojamiento con los datos que te ha proporcionado tu ISP (dirección, usuario y contra-seña). Accede al directorio de tu página principal (tu ISP le dará esta in-formación.) El directorio “dirección” es por lo general en forma de /pub/nombre de usuario/, /www/, /HTML/, /website/. Ahora, sube cada una de las páginas y gráficos que has incluido en la página web, de acuerdo a las instrucciones específicas del programa de FTP.

Ahora bien, básicamente, los sitios web se componen y estructuran de la siguiente manera:

1. Contenedor: esto es lo que definimos en la regla Body o en algún div, las cuales son sentencias o funciones genéricas de programas orientados a la realización de web, de nuestra estructura, que definen el cuerpo del contenido o divisiones de este. Dentro de este contenedor estarán todos los elementos del sitio: módulos, contenidos, imágenes, etc. Este contenedor puede tener un ancho fijo; el ancho será igual para todos los navegadores y dispositivos, o uno fluido que se adaptará al ancho de nuestra ventana. Si usamos web responsive (adaptable a cualquier dis-positivo móvil, pc y tablet) podemos manejarlo con CSS sin problemas.

2. Logotipo: acá es dónde debemos dejar la imagen de la empresa, que identificará la marca en todo el sitio. Puede ser el logotipo de la empresa o el nombre. Al estar arriba, acompañará la navegación por todo el sitio, ayudando al reconocimiento de la marca o el nombre de su creador.

3. Navegación: la forma más aceptada y fácil para la navegación es el menú horizontal, que siempre tiene “a mano” lo más importante del sitio web. Los menús verticales pueden usarse como complementos o sub menús de los horizontales y siempre cerca de la línea horizontal del menú principal. Asimismo, deben ser visibles en el primer “pantallazo”, al entrar.

4. Contenido: es lo más importante y fundamental de una página. Si el contenido es malo o poco interesante, el usuario abandonará la página en pocos segundos. Para garantizar su calidad, el contenido debe estar

354

Construcción de una página web/blogSemana 14

Comprobemos y demostremos que…

centralizado y enfocado, además de muy accesible. El mejor lugar debe ser para los contenidos. Por ejemplo, para Google, el contenido es el rey.

5. Footer: localizado al final del sitio, abajo generalmente, incluye la infor-mación de Copyright y números legales o menús secundarios. Aunque en los últimos años, este espacio suele usarse para incluir información de redes sociales, direcciones, noticias, entre otros.

6. Espacio negativo: este es tan importante como el espacio positivo. También llamado espacio blanco, es todo lo que no tiene información de ningún tipo, pero que cumple un rol importantísimo para la web; nos ayuda a tener espacios de “respiración”, que equilibran y dan balance a todo el diseño. Si eres novato, o tu cliente es ignorante en la materia, tratará de llenar esos espacios. Pero, ten en cuenta que, la saturación de contenidos, hace a una web ilegible e innavegable.

Para saber más…

Para saber más acerca de los blog y cómo crearlos, te recomendamos visitar las siguientes direcciones web:

http://goo.gl/j9Ms0B https://www.blogger.com http://goo.gl/IQOrXm

Para crear tu página web, anímate a revisar estos enlaces:

http://goo.gl/YHq385 www.webnode.com.ve www.mozello.com http://es.wix.com/ http://goo.gl/h6idgC

1. Realiza un pequeño esquema sobre un sitio web que contenga, por lo menos, tres páginas web.

2. Investiga y responde las siguientes preguntas y da tres (3) ejemplos de cada una:

a) ¿Qué es un Dominio?

b) ¿Qué es una dirección URL?

c) ¿Qué blog has leído?

d) ¿Cuáles son tus páginas web favoritas?

De acuerdo con lo visto durante este semestre, elabora un blog o una pági-na web. Recuerda que puedes hacerlo en forma cooperativa.

Aplica tus saberes

355

Referencias

7mo¿Qué es Canaima GNU/Linux? Consultado el 25 de marzo de 2012, en http://li.co.ve/0hs

¿Qué es el sistema operativo? Consultado el 23 de marzo de 2012, en http://li.co.ve/0hi

¿Qué es el software? Consultado el 23 de marzo de 2012 en http://youtu.be/pegiw2iVUY8

¿Qué es el software? Consultado el 23 de marzo de 2012 en http://li.co.ve/0hp

¿Qué es un virus informático? Consultado el 05 de abril de 2012, en http://you-tu.be/wbUVBZHsUZQ

Clasificación de los Sistemas Operativos. Consultado el 23 de marzo de 2012, en http://youtu.be/hHFDRvyb0Vk

De Suarez, María I. (2004). “Nociones de Informática”. Tercera edición, Caracas, Venezuela.

Drivers o controladores. Consultado el 12 de abril de 2012, en http://li.co.ve/0hn

El Nacional (2006). La enciclopedia del Estudiante N° 04: Tecnología e Informática. Editorial Santillana, Buenos Aires.

El Nacional (2006). La enciclopedia del Estudiante N° 10: Aplicación Informática, Editorial Santillana, Buenos Aires.

Funciones del sistema operativo. Consultado el 23 de marzo de 2012, en http://li.co.ve/0hh

Gaceta Oficial N° 39633 (2011). Resolución 025, sobre el uso obligatorio de Canaima GNU/Linux en los equipos de trabajo en la Administración Pública Nacional, Imprenta Nacional, Caracas, Venezuela.

Instalación de Windows 7, consultado el 15 de abril de 2012, en www.seguri-dadpc.net/instalar_windows.htm

Instalación de Windows 7. Consultado el 30 de marzo de 2006, en http://li.co.ve/0ho

Instalar driver en el Sistema Operativo Windows. Consultado el 12 de abril de 2012, en http://li.co.ve/0hm

Interfaz gráfica de Windows 7. Consultado el 30 de marzo de 2012, en http://youtu.be/rWwhVTCzJU0

Referencias

356

Referencias

Lenguajes de programación. Consultado el 3 de abril de 2012, en http://li.co.ve/0ht

Lenguajes de programación. Consultado el 3 de abril de 2012, en http://li.co.ve/0hu

Los Sistemas operativos. Consultado el 23 de marzo de 20012, en http://youtu.be/NvsdOCawaSQ

Mantenimiento de software. Consultado el 10 de abril de 2012, en http://youtu.be/K6ZkjqlYc8A

Políticas de respaldo de información. Consultado el 10 de abril de 2012, en http://li.co.ve/0hl

Respaldo de información. Consultado el 05 de abril de 2012, en http://li.co.ve/0hq

Sistema operativo CANAIMA. Consultado el 25 de marzo de 2012, en http://you-tu.be/KxuIddGByzo,

Software de aplicación. Consultado el 25 de marzo de 2012, en http://li.co.ve/0hr

Software libre o software propietario: ¿cuál elegir? Consultado el 25 de marzo de 2012, en http://li.co.ve/0hk

Software libre vs Software propietario. Consultado el 25 de marzo de 2012, en http://youtu.be/JjKOZpjhzYo

Software libre vs software propietario. Consultado el 25 de marzo de 2012, en http://li.co.ve/0hj

Tanenbaum, Andrew S. (1997). Sistemas Operativos: Diseño e implementación. Editorial Prentice-Hall Hispanoamérica, México.

Unidad de informática fundación para el desarrollo de la ciencia y tecnología de Yaracuy (2009). Guía: Canaima distribución GNU-Linux. Venezuela.

8voCómo formatear un computador. Consultado el 19 de enero de 2013, en http://li.co.ve/l6E

Mantenimiento correctivo y preventivo. Consultado el 5 de mayo de 2013, en http://li.co.ve/l6D

Planificación. Consultado el 5 de mayo de 2013, en http://li.co.ve/l6G

357

Referencias

Procesamiento digital de señales. Consultado el 19 de enero de 2013, en http://li.co.ve/l6F

9noBarcelo J. (2004). Redes computacionales “Software Libre”. Fundación de la Universidad Oberta de Catalunya. Barcelona.

Cervantes F. (2002). Estudio de los medios de transmisión en redes computacio-nales mixtas alámbrica - inalámbrica). Universidad del Norte. Ibarra.

Cómo crear presentaciones efectivas. Consultado en enero de 2014, en http://li.co.ve/tYV

Configuración de Router Inalámbrico. Consultado en enero de 2014, en http://li.co.ve/tZc

Díaz G. (s/f ). Redes de Computadoras (documento PDF). Universidad de Los Andes, Facultad de Ingeniería, Escuela de Sistemas. Mérida, Venezuela.

Internet protocol. Consultado en enero de 2014, en http://li.co.ve/tYY

Manual sobre redes basadas en el Protocolo Internet (IP) y asuntos conexos. Consultado en enero de 2014, en http://li.co.ve/tYZ

Pingarron R. (s/f ). Redes y comunicaciones de datos. Arquitectura ICP/IP (docu-mento en PDF).

Protocolo TCP/IP. Consultado en enero de 2014, en http://li.co.ve/tZa

¿Qué es un router? Consultado en enero de 2014, en http://li.co.ve/r7W

Router inalámbrico. Consultado en enero de 2014, en http://li.co.ve/tZd

Unión internacional de telecomunicaciones (2005). Manual sobre redes basa-das en el Protocolo Internet (IP) y asuntos conexos.

Varela C. (2002). Redes Inalámbricas. Escuela Técnica Superior de Ingeniería Informática. Universidad de Valladolid.

10moAlgorítmica para programación. Consultado el 14 de marzo de 2014, en http://li.co.ve/w8i

Cómo configurar una impresora por defecto en XP. Consultado en abril de 2014, en http://li.co.ve/w8o

Cómo usar una impresora de red. Consultado en abril de 2014, en http://li.co.ve/w8n

358

Referencias

Configuración de una red doméstica básica. Consultado en abril de 2014, en http://li.co.ve/w8j

Configuración de una red inalámbrica. Consultado en abril de 2014, en http://li.co.ve/w8m

Configuración informática. Consultado en abril de 2014, en http://li.co.ve/w8l

Díaz, Aureliano (2004). Guía práctica para manejar y reparar computadoras red. Imprelibros Cargraphics S.A. Décima edición. Medellín, Colombia.

Grupo Océano (2008). Biblioteca de Aprendizaje Interactivo Mundo Hispano. Tomo 3. Barcelona, España.

Introducción a la programación. Consultado en abril de 2014, en http://li.co.ve/w8t

Manual para configurar una red local en Windows 7. Consultado en abril de 2014, en http://li.co.ve/w8k

Mendoza, Roberth (2001). Manual de cableado estructurado. RMG Consultores. Táchira, Venezuela.

Mendoza, Roberth (2001). Manual de mantenimiento de redes. RMG Consultores. Táchira, Venezuela.

Quintero, María Alejandra (2005). Introducción a la programación. Universidad de los Andes, Facultad de Ciencias Forestales. Mérida, Venezuela.

Redes: montar un servidor FTP en un equipo con Windows 7. Consultado en abril de 2014, en http://li.co.ve/waG

Rodríguez, Miguel Ángel (1991). Metodología de la programación. McGraw-Hill. Madrid, España.

Seguridad de Redes LAN. Consultado en abril de 2014, en http://li.co.ve/w8r

Servidor FTP. Consultado en abril de 2014, en http://servidorftp.es/

Sistemas informáticos multiusuario y en red - UNIDAD 6 C.P.R. Consultado en abril de 2014, en http://li.co.ve/w8g

Vielma, Jesús (2011). Guía reparación de computadoras red informática. Universidad de los Andes. Facultad de Ciencias Forestales. Mérida, Venezuela.

11eroTipos de datos. Consultado en diciembre de 2014, en http://li.co.ve/0DY

359

Referencias

Algoritmos. Consultado en diciembre de 2014, en http://li.co.ve/0DZ

Los algoritmos. Consultado en diciembre de 2014, en http://li.co.ve/wpY

Estructura de datos. Consultado en diciembre de 2014, en http://li.co.ve/zH1

Lenguajes de programación. Consultado en diciembre de 2014, en http://li.co.ve/0Eb

Lenguajes de programación. Consultado en diciembre de 2014, en http://li.co.ve/0Ec

Lenguajes de programación. Consultado en diciembre de 2014, en http://li.co.ve/0Ed

Base de datos. Consultado en diciembre de 2014, en http://li.co.ve/0Ef

Base de datos. Consultado en diciembre de 2014, en http://li.co.ve/zCL

Página web. Consultado en diciembre de 2014, en http://li.co.ve/0Eg

Tipo de datos. Consultado en diciembre de 2014, en http://li.co.ve/0Eh

Métodos de ordenamiento y almacenamiento. Consultado en diciembre de 2014, en http://li.co.ve/0Ei

Notas