Sei sulla pagina 1di 183

UNIVERSIDAD CENTROCCIDENTAL

LISANDRO ALVARADO
SISTEMA DE EDUCACIÓN A DISTANCIA
DECANATO DE CIENCIAS Y TECNOLOGÍA

UNIDAD DIDÁCTICA

Elementos básicos del Lenguaje


de Programación
Prof. Margarita Pereira
Barquisimeto, Marzo 2010
UNIVERSIDAD CENTROCCIDENTAL
LISANDRO ALVARADO
SISTEMA DE EDUCACIÓN A DISTANCIA
DECANATO DE CIENCIAS Y TECNOLOGÍA

UNIDAD DIDÁCTICA

Programación

Elaborado por: Prof. Margarita Pereira Revisado y actualizado por:


Correo-e: mpereira@ucla.edu.ve Prof. Margarita Pereira
Fecha Elaboración: Septiembre 2008 Fecha Ultima Revisión: Marzo 2010
Unidad didáctica. Elementos básicos del lenguaje 3

Tabla de Contenidos

Pág.

Introducción. …………………………………………………………………………. 5

Objetivos de Aprendizaje…………………………………………………………….. 6

Contenidos Programáticos de la Unidad……………………………………………… 6

1. Lenguaje de Programación………………………………………………………... 6
1.1. Definición………………………………………………………………......... 6
1.2. Tipos de Lenguajes…………………………………………………………... 6
1.3. Lenguaje C++………………………………………………………………... 7
1.4. Definición de sintaxis………………………………………………………... 8
1.5. Pasos para realizar un programa en un lenguaje de programación…………... 9
2. Estructura básica de un programa en C++………………………………………... 10
2.1. Definiciones y/o Declaraciones……………………………………………… 11
2.1.1. Directivas del Preprocesador…………………………………………. 11
2.1.2. Declaraciones globales………………………………………………... 12
2.2. Función main………………………………………………………………… 13
2.3. Implementación de las funciones definidas por el usuario…………………... 14
3. Elementos de un programa en C++……………………………………………….. 15
3.1. Conjunto de caracteres……………………………………………………….. 15
3.2. Palabras reservadas…………………………………………………………... 16
3.3. Identificadores………………………………………………………………... 16
3.4. Comentarios………...………………………………………………………… 16
3.5. Archivos de Cabecera………………..……………………………………...... 17
4. Datos……………………………………………………………………………… 17
4.1. Definición……………………………………………………………………. 17
4.2. Tipos de datos………………………………………………………………... 17

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 4

4.3. Constantes……………………………………………………………………. 19
4.4. Variables……………………………………………………………………... 19
5. Instrucción de asignación…………………………………………………………. 22
6. Instrucción de entrada y salida……………………………………………………. 22
7. Proceso de creación de un programa ejecutable………………………………….. 26
8. Operadores, Operandos y Expresiones…………………………………………… 26
8.1. Operador de Asignación……………………………………………………... 26
8.2. Operadores unarios (menos unario, sizeof(), coma)…………………………. 33
8.3. Operadores aritméticos………………………………………………………. 34
8.4. Operadores de Incremento y Decremento……………………………………. 36
8.5. Operadores relacionales……………………………………………………… 40
8.6. Operadores lógicos…………………………………………………………… 41
8.7. Prioridad de los operadores…………………………………………………... 42
9. Pruebas y depuración de programas………………………………………………. 42
10. Documentación de Programas……………………………………………………. 42
11. Ejercicios Propuestos……………………………………………………………... 43
Resumen………………………………………………………………………………. 43
Autoevaluación………………………………………………………………………... 47
Respuesta a la Autoevaluación………………………………………………………. 49
Complemento. Ejercicios Propuestos…………………………………………………. 52
Instructivo para la Instalación del Compilador DevCpp……………………………… 54
Fuentes de Información……………………………………………………………….. 67

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 5

Introducción

La programación nace por la necesidad de elaborar programas de computación que


permitan resolver problemas de diversas áreas de la vida como la social, económica,
académica, política, cultural, entre otras. Estos programas de computación deben ser llevados
al computador para poder ver su aplicabilidad. Hasta este momento los programas se han
escrito como un algoritmo (secuencia de pasos, instrucciones) haciendo uso de un
pseudocódigo.

Las computadoras funcionan bien, si tienen programas escritos en algún lenguaje que ellas
puedan interpretar (por supuesto programas lógicos y correctos). Esta es la razón por la que
aparecen los lenguajes de programación.

Esta unidad didáctica pretende que comprendas para que sirven los lenguajes de
programación, así como los pasos que debes seguir para poder utilizarlos. En particular, se
detalla el lenguaje de programación C++, usando el compilador Devcpp que trabaja bajo la
plataforma de Windows. Entre otras cosas se especifican la sintaxis para las instrucciones
básicas, los datos y sus tipos así como los diversos operadores de que dispone el lenguaje.

El objetivo central, no es que memorices los conceptos planteados en este material, sino
que los lleves a la práctica desarrollando programas y verificando que producen los resultados
esperados (correctos), es por ello que se muestran algunos ejemplos sencillos y se dejarán
otros propuestos para que los resuelvas.

Puedes imaginarte esta unidad como un mapa que te indicará las rutas que debes seguir
para lograr los objetivos de tu aprendizaje con relación al tema Elementos básicos del
Lenguaje y con ella podrás desarrollar:

 Procesos de reflexión, crítica, duda, cuestionamiento e investigación lo cual te ayudará


a construir tus conocimientos.

 Un diálogo permanente con el saber, con tu facilitador (profesor) y en general con la


realidad que te rodea

 Respuestas sobre el ¿qué?, ¿cómo?, ¿cuándo? a fin de mejorar el aprovechamiento del


tiempo disponible y maximizar el aprendizaje y su aplicación.

Te recuerdo que tu eres el protagonista central en esta historia, así que no tengas miedo,
siempre contaras con mi apoyo, no estas sólo, somos un equipo (tú, tu profesor y tus
compañeros) debemos colaborar unos con otros y así todos lograremos el objetivo que es

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 6

lograr el aprendizaje sobre este tema. Así que ánimo y a comenzar con el tema Elementos
básicos del Lenguaje de Programación.
.

Objetivos de Aprendizaje

Objetivo Terminal
Al finalizar este tema podrás IMPLEMENTAR programas sencillos en lenguaje C++,
aplicando los elementos básicos del lenguaje.

Objetivos Específicos
 Identificar los componentes esenciales de la estructura de un programa de computación.
 Identificar el proceso de edición y compilación para la creación de programas ejecutables.
 Reconocer el término datos como elemento fundamental en la creación de un programa de
computación.
 Diferenciar los diferentes tipos de datos y su aplicación.
 Utilizar los archivos de cabecera.
 Utilizar los diferentes operadores, operandos y expresiones en el desarrollo de un programa de
computación.
 Utilizar instrucciones de asignación.
 Utilizar instrucciones que permitan realizar operaciones de entrada/salida.
 Realizar pruebas efectivas para la producción de programas confiables y de mejor calidad.
 Elaborar programas documentados con el fin de mejorar el mantenimiento de los mismos.
 Utilizar la herramienta de programación DevCpp.
 Asumir responsabilidades individuales y aprender a trabajar en equipo.

Contenidos Programáticos (Proceso de Aprendizaje)

Elementos básicos del lenguaje de Programación


1. Lenguaje de Programación
1.1. Definición: Es una serie de símbolos que se utilizan para escribir instrucciones de
programación (respetando ciertas reglas o sintaxis). Estas instrucciones estarán
ubicadas dentro de programas que serán creados para resolver problemas. La idea es
que estos programas sean ejecutados por un computador.

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 7

1.2. Tipos de lenguajes: Existen muchos lenguajes para programar un computador. Una
primera división podría ser:
 Lenguaje de bajo nivel también conocido como lenguaje de máquina, es el
lenguaje más básico que consiste en una colección de instrucciones muy detalladas
que controlan la circuitería interna del computador, por lo que los
microprocesadores procesan exclusivamente señales electrónicas binarias (en
realidad es una secuencia de ceros y unos); si bien es cierto que el lenguaje de bajo
nivel es el lenguaje natural del computador, también es cierto que no es el lenguaje
que se utiliza con mayor frecuencia para escribir programas de aplicación ya que
no es el más entendible por las personas.

 Lenguajes de alto nivel son los más utilizados para escribir programas de
aplicación ya que son más sencillos y compatibles con la forma de pensar de los
humanos. La mayoría de estos lenguajes son de propósito general, entre ellos
podemos mencionar el Lenguaje C, C++, Pascal, Java, Basic, Fortran, etc. Hay
también lenguajes de propósito especial que están diseñados específicamente para
algún tipo particular de aplicación, como por ejemplo CSMP y SIMAN son
lenguajes propios para desarrollar simulaciones y LISP que es un lenguaje
orientado al tratamiento de listas y se utiliza ampliamente en aplicaciones de
inteligencia artificial.

Para efectos de esta asignatura usaremos el lenguaje C++ y el


compilador Devcpp que trabaja bajo Windows.

Es importante aclarar que el compilador es el encargado de verificar la sintaxis


del lenguaje y producir (generar) el programa objeto (es el programa
que entiende el computador se encuentra en un lenguaje de bajo nivel),
entonces el proceso de compilación consiste en convertir un programa fuente
(el programa que escribimos en lenguaje C++, la extensión de estos
programas es .cpp) en un programa objeto que pueda ser interpretado por el
computador (extensión .exe).

LO MÁS IMPORTANTE INDEPENDIENTEMENTE DEL


LENGUAJE DE PROGRAMACIÓN A UTILIZAR, ES TENER UNA
BUENA LÓGICA DE PROGRAMACIÓN.

1.3. Lenguaje de programación C++: Es un lenguaje de propósito general. Sus


instrucciones constan de términos que se parecen a expresiones algebraicas, además
de ciertas palabras claves como IF, ELSE, FOR, etc. C++ difiere de algunos otros
lenguajes de propósito general ya que tiene características adicionales que permiten su
uso a un nivel más bajo, cubriendo así el vacío entre el lenguaje de máquina y los
lenguajes de alto nivel más convencionales. Esta flexibilidad permite el uso de C++
en la programación de sistemas operativos así como también en la programación de

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 8

aplicaciones. Este lenguaje se caracteriza por hacer posible la redacción de programas


fuentes muy concisos y portables, ya que dispone de:
 Un gran número de operadores.
 Un repertorio propio de instrucciones.
 Numerosas funciones de bibliotecas que mejoran las instrucciones básicas.
 Permite a los usuarios escribir funciones de biblioteca adicionales para su
propio uso. Con esto el usuario fácilmente puede ampliar las características y
capacidades del lenguaje.

Breve reseña histórica de C++: Fue desarrollo por Bjarne Stroustrup en los
laboratorios Bell, este lenguaje se basa en el lenguaje C y por lo tanto todas las
características estándar y básicas de C están disponibles en C++. Sin embargo C++ no
es solo una extensión de C ya que incorpora nuevos fundamentos que constituyen una
base para la programación orientada a objetos (POO) un nuevo paradigma, una
nueva forma de pensar, concebir y resolver los problemas a nivel de programación.
Con este paradigma Bjarne incorpora en el lenguaje la capacidad para el diseño de las
llamadas clases y objetos, conceptos muy en boga en la programación actual. De
clases y objetos basta saber por ahora que consisten en un sistema que pretende acercar
los lenguajes de programación a una comprensión más humana basándose en la
construcción de objetos, con atributos (características) propias y acciones (métodos)
sobre esos atributos. El lenguaje C fue desarrollado originalmente en los años setenta
por Dennis Ritchie en Bell Telephone Laboratories, Inc.

1.4. Definición de Sintaxis: En un lenguaje de programación la sintaxis esta formada por


un conjunto de reglas que determinan si las instrucciones del programa están bien
escritas. Su objetivo es proveer una notación específica que permita la comunicación
entre el programador y el procesador del lenguaje. Dicho de otra forma una gramática
representa la definición formal de la sintaxis de un lenguaje.
Asociemos este concepto con la escritura correcta de un documento en el idioma
(lenguaje) español, ciertamente existen una reglas conocidas como reglas ortográficas
que debemos respetar y seguir al pie de la letra para escribir sin errores, todos
escribimos documentos y luego utilizamos la herramienta del corrector ortográfico que
posee el procesador para verificar que las palabras están sintácticamente correctas;
bueno el compilador viene a comportarse como el corrector de ortografía, claro está el
hecho de no cometer errores ortográficos en el documento no asegura que los párrafos
escritos tenga una idea correcta. Lo mismo pasa con el compilador, el hecho de que tu
programa compile NO quiere decir que funcione correctamente (produzca los
resultados esperados), recuerda el compilador chequea si las instrucciones cumplen
con la sintaxis establecida por el lenguaje de programación.

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 9

1.5. Pasos para realizar un programa en un lenguaje de programación

 LEER detalladamente el enunciado del problema, de tal forma que haya claridad
en lo que se requiere. Este proceso conlleva un análisis exhaustivo del enunciado.

 ESCRIBIR (ó hacer ajustes-modificaciones de) las instrucciones del programa en


el lenguaje de programación haciendo uso de un editor de textos (en nuestro caso
el compilador Devcpp tiene incorporado su propio editor). Grabar el programa en
un medio de almacenamiento secundario. Es importante destacar que la extensión
de los programas fuentes de C++ es .cpp

 COMPILAR el programa fuente. El objetivo de la compilación es chequear la


sintaxis del lenguaje. Si hay errores de compilación se debe regresar al editor
(PASO 2) hacer los ajustes (modificaciones), grabar nuevamente el programa
fuente y volver a compilar (PASO 3). Este proceso se repite hasta que NO
HAYAN ERRORES EN COMPILACIÓN (errores de sintaxis). Aquí se genera un
programa ejecutable temporal.

 ENCADENAR ó enlazar el programa con las bibliotecas (librerías) incluidas en el


programa fuente. Estas bibliotecas pueden ser las que se encuentran predefinidas en
el lenguaje de programación y/ó bibliotecas propias realizadas por el usuario. Aquí
se genera el programa ejecutable final con extensión .exe. Si no localiza las
bibliotecas incluidas en el programa fuente, dará un error. Se debe chequear si no
están disponibles en el medio de almacenamiento secundario, también podría ser
que el proceso de instalación del compilador no se haya realizado correctamente.

 EJECUTAR ó correr el programa. Para ello usted puede escribir a nivel de


consola el nombre del programa y presionar ENTER ó también puede colocarse
sobre el icono del programa ejecutable y presionar CLIC con el ratón. Si el
programa presenta errores de ejecución (errores de lógica) deberá hacer los ajustes
regresando al PASO 2 e inclusive en algunos casos deberá regresar al PASO 1. En
caso de que el programa no presente errores de ejecución ha finalizado
exitosamente el proceso.

Estos pasos se pueden representar gráficamente así:

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 10

INICIO

Leer el Problema

Editar el programa
(Tipear y/o modificar)
Grabar el programa

Compilar programa
y
Enlazar bibliotecas

Errores
de si
Sintaxis

no
Ejecutar programa

Errores
de
si Chequear lógica
del programa
Ejecución

no
FIN

¿ Podríamos asegurar que un programa esta correcto


solo si compila y produce resultados?

Pues la respuesta es NO, muchas veces nos alegramos porque al corregir todos los errores
de compilación (errores sintácticos) y ejecutamos el programa introduciendo datos,
vemos que da unos resultados y pensamos que ya esta resuelto todo; pero la cosa no es
tan simple, debes saber seleccionar los datos de prueba y de antemano saber cuales deben ser
los resultados esperados.

2. Estructura básica de un programa en C++


Todo programa en C++ consta de uno o más módulos llamados funciones. Una de las
funciones se llama main que es la función principal (cuerpo principal del programa,

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 11

donde se encuentra la lógica central). El programa comenzará con la ejecución de esta


función main, la cual puede acceder con la secuencia establecida en las instrucciones
escritas a las demás funciones. Estas funciones adicionales al main deberán realizarse
aparte, bien sea antes ó después de la función main.
Una función en C++ es un subprograma ó subrutina ó módulo ó programa
pequeño que devuelve un único valor, un conjunto de valores ó ningún valor (en este
caso la función realiza alguna tarea específica pero no necesita retornar ningún
valor). Las funciones serán tratadas más adelante en esta guía.
En general un programa en C++ está formado por tres grandes bloques:
 Definiciones y/o Declaraciones.
 Función main.
 Desarrollo (implementación) de las otras funciones definidas por el usuario.
2.1.Definiciones y/o Declaraciones: Todas las definiciones que se elaboren en este
bloque son consideradas como definiciones globales, es decir que pueden ser
utilizadas en cualquier parte del programa. Lo que se encuentra dentro de este
bloque es opcional, usted deberá evaluar el problema que desea resolver y decidir
cuales son las definiciones y declaraciones que necesita. Dentro de este bloque se
encuentra lo siguiente:

2.1.1. Directivas del Preprocesador: Son instrucciones especiales, las cuales son
ejecutadas al principio del proceso de compilación. Comienzan con el
símbolo #. Generalmente aparecen al principio del programa, pero esto no es
obligatorio. De tal forma que la directiva del preprocesador puede aparecer
en cualquier parte del programa.
La directiva será aplicable solo a las instrucciones del programa que están
escritas después de la misma.

Las directivas más usadas son #include y #define.

#include: Sirve para tener acceso a los archivos de biblioteca (archivos de


cabecera), que no son más que librerías las cuales agrupan un conjunto de
funciones que están disponibles para ser usadas en cualquier programa. La
extensión de estos archivos de biblioteca es .h.

Sintaxis: #include nombre_del_archivo_de_biblioteca

#define: Sirve para definir constantes simbólicas dentro de un programa. Una


constante simbólica es un nombre que sustituye una secuencia de caracteres. Los
caracteres pueden representar una constante numérica, una constante de carácter o
una constante de cadena de caracteres. Entonces cuando se compila el programa
automáticamente la constante simbólica es reemplazada por su correspondiente
secuencia de caracteres. Generalmente estas constantes se suelen definir al
comienzo del programa pero esto no es obligatorio.

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 12

Sintaxis:
#define nombre_de_la_constante dato

nombre_de_la_constante: representa un nombre simbólico.


dato: representa la secuencia de caracteres asociada al nombre simbólico.
Estos caracteres pueden ser letras, números o caracteres especiales.
Como se observa en la sintaxis el #define no termina con punto y
coma (;). Si se coloca el ; este carácter formaría parte de la
constante.
Es importante destacar, que las constantes simbólicas no son obligatorias en
los programas, sin embargo en algunos casos se recomienda su utilización ya
que contribuyen al desarrollo de programas claros y ordenados. La idea es
colocar nombres significativos a las constantes simbólicas de tal forma que el
nombre de la constante por si solo nos ubique de a que constante se refiere; esto
se debe a que el ser humano identifica de forma más rápida un nombre que un
valor.

Así por ejemplo, si estamos haciendo un programa que tenga que ver con
notas definitivas de alumnos podríamos definir las siguientes constantes
simbólicas que son numéricas:

#define MAX_NOTA 100


#define MIN_NOTA 0

Otros ejemplos de constantes alfanuméricas:

#define LETRA_ALTA ‘A’


#define AMIGA “maria”

Por otro lado, es mucho más fácil y rápido cambiar el valor de la constante
en una sola línea (la del #define) que cambiar la aparición del valor en varias
líneas del programa.
También se pueden definir macros dentro de un programa. Este punto no es
objetivo de esta asignatura sin embargo mencionaremos que las macros
consisten en definir identificadores simples que son equivalentes a expresiones
ó instrucciones completas (grupos de instrucciones). En este sentido las macros
se parecen a las funciones, pero son definidas y tratadas de forma diferente
durante el proceso de compilación.

2.1.2. Declaraciones globales: En este bloque se pueden definir constantes, tipos de


datos definidos por el usuario, variables y prototipos de funciones. Los detalles
de estas declaraciones serán planteados más adelante en esta guía.

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 13

 ¿Para qué sirven las constantes simbólicas?


 Es necesario (obligatorio) incluirlas en el programa.
 Un programa que no incluya librerías es incorrecto?
Seguramente acertaste en tus respuestas, verifica. Primero, las constantes simbólicas
sirven para sustituir datos (numéricos o caracteres) con un nombre (es un
identificador) de esta manera el compilador asocia el nombre con el dato. No es
obligatorio que existan dentro del programa, debes analizar el problema que vas a
resolver y decidir si se justifica el uso de constantes simbólicas en el mismo. Algo
similar ocurre con el uso de las librerías, las incluyes en tu programa solo si las
necesitas, debes aprender a programar en forma eficiente usando sólo lo que requieras
para el programa que estas desarrollando en un momento dado. Debes trabajar con
eficiencia.

2.2. Función main: Este bloque corresponde al cuerpo principal del programa. Su
estructura es la siguiente:

int main() // Cabecera de la función main


{ // Comienza el programa principal
// bloque de definiciones y/o declaraciones locales al main
inst1;
inst2;
…. // Secuencia lógica de instrucciones
....
instn;
return 0; // Es opcional (resultado de la función)
} // Fin del Programa

 int main() es equivalente a main() por defecto para C++ la función main retorna
un valor entero
 La instrucción return 0 deberá colocarse si la cabecera de main esta escrita
como int main()
 La instrucción return 0 no deberá colocarse si la cabecera de main esta escrita
como main()

¿Qué pasaría si un programa no tiene instrucciones dentro del main?


¿Será que no compila?
¿Será que no se puede ejecutar?
imagínate que tu main es el siguiente
main()
{
}

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 14

Bueno, el hecho de que el programa no tenga instrucciones dentro del main no quiere
decir que no se puede compilar y ejecutar, el detalle es que un programa con su main
(cuerpo principal) vacío no hace nada. Entonces, evidentemente no haríamos
programas así ya que no estamos resolviendo ningún problema. Espero hayas
acertado en tu respuesta.

2.3. Implementación de las funciones definidas por el usuario: En general una función
debe mantener la siguiente estructura:

 Una cabecera de la función


Sintaxis
Tipo_de_dato nombre_de_la_función (lista_de_argumentos)

 La lista de argumentos puede estar vacía pero los paréntesis son


obligatorios
 Cuando la función no retorna ningún valor en el tipo de dato se le
coloca la palabra reservada void

 Definiciones y/o declaraciones locales (es opcional). Aquí se pueden definir


constantes, tipos de datos y declarar variables. La sintaxis de cada una será
detallada más adelante en esta guía.

 Cuerpo principal de la función el cual debe comenzar con llave apertura { y


terminar con llave de cierre }.
{ // Aquí comienza el cuerpo principal de la función
instrucciones;
.......
instrucciones;
return valor;
} // Aquí finaliza la función

NOTA: Dentro del conjunto de instrucciones se define la


lógica y secuencia que debe ejecutar la función, allí
pueden existir instrucciones de entrada, salida,
asignaciones, operaciones matemáticas, instrucciones
selectivas, instrucciones repetitivas, etc.

Es importante aclarar que la implementación (escritura detallada de las


instrucciones de la función) no necesariamente debe ser colocada después de la función
main también pudiese ser escrita antes del main y no hay ningún problema.

Por estandarización para efectos de esta asignatura las funciones


definidas por el usuario serán desarrolladas después de la función main.

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 15

3. Elementos de un programa en C++


3.1. Conjunto de caracteres de C++: Para formar los elementos básicos del programa
(constantes, variables, operadores, expresiones, etc.) se utilizan las letras mayúsculas
(A,B,C,..., Z), las letras minúsculas (a,b,c,..,z), los números (0,1,2,3,..,9) y ciertos
caracteres especiales (+, -, *,/, &,\, !, #, “, <, >, =, {, }, _, espacio en blanco, (, ),
etc.).
Cabe resaltar que C++ utiliza ciertas combinaciones de estos caracteres para
representar elementos especiales. En el siguiente cuadro se presentan algunos
ejemplos:

SECUENCIA DE
CARACTER (lo que produce la secuencia de caracteres)
ESCAPE
\a sonido de alerta
\b retrocede un carácter
\t permite dejar espacios tabulados a nivel horizontal (por línea)
\n avanza a la línea siguiente
\r retorno de carro
\f avanza a la página siguiente
\” escribe el carácter comilla doble “
\’ escribe el carácter comilla simple ‘
\\ escribe el carácter barra invertida \
\0 escribe el carácter nulo

Estas secuencias de caracteres se conocen como secuencias de escape, lo que nos


interesa saber en este momento, es que cada secuencia de escape representa un solo
carácter aun cuando este formada por dos ó más caracteres.
Es de hacer notar que los caracteres en C++ se almacenan internamente
como números, por ello se pueden realizar operaciones aritméticas con datos de tipo
char. Por ejemplo se puede convertir una letra mayúscula en su correspondiente letra
minúscula y viceversa, sólo basta sumarle o restarle el valor 32 a la variable char. En la
tabla ASCII primero aparecen las letras mayúscula y después las minúsculas. Así el
valor ASCII de la letra ‘A’ es 65 y el de la letra ‘a’ es 97. Si al valor 65 se le suma 32
el resultado es 97 que como se puede observar es el valor ASCII de la letra ‘a’
minúscula.
Ejemplos:
char letra = 'M' // asigna a la variable letra el valor M
letra = letra + 32; // ahora letra contiene el valor m
letra = letra + 1; // ahora letra contiene el valor n

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 16

char letra = 'p'; // asigna a la variable letra el valor p


letra = letra - 32; // ahora letra contiene el valor P
letra = letra - 1; // ahora letra contiene el valor O

3.2. Palabras reservadas: En todos los lenguajes de programación existen ciertas


palabras que tienen un significado particular para el compilador. Estas palabras se
conocen como palabras reservadas del lenguaje, ellas sólo pueden ser usadas para el
propósito del cual fueron creadas y no pueden utilizarse para otros fines. De esta
manera las palabras reservadas no pueden usarse para definir identificadores. Ejemplo
de algunas palabras reservadas: main, void, if, else, int, char, float, const, while, enum,
for, return, struct, etc.

3.3. Identificadores: Son nombres que se utilizan para nombrar elementos de un


programa como las constantes, tipos de datos, variables y funciones. La regla general
es que un identificador está formado por una secuencia de letras y/o números y/o
carácter _ en cualquier orden; excepto al comienzo que debe ser una letra o el carácter
_ . La cantidad de caracteres del identificador depende del compilador que se este
usando, en nuestro caso el límite de caracteres para un identificador son 32, si el
identificador es más largo el compilador ignorará los que exceden a 32.

IMPORTANTE: Para C++ las letras mayúsculas son diferentes


a las letras minúsculas.

Así por ejemplo el identificador sueldo es diferente al identificador SUELDO también


es diferente Sueldo y diferente SUeldo y diferente sueldO y así todas las posibles
combinaciones de minúsculas y mayúsculas para ese identificador.
A continuación se presentan una lista de identificadores válidos:
nombre_edadct1, ACUM_TOTAL, TABLALista_de_clase
A continuación se presentan una lista de identificadores NO VÁLIDOS:
4num·xct-3acum total%porcentaje

¿Es válido el siguiente identificador Main?

Pues sí, como la primera letra es mayúscula el identificador Main no representa la


cabecera de la función main, lo que pasa es que no es recomendable usar
identificadores que tengan la misma secuencia de caracteres que las
palabras reservadas del lenguaje, tienden a prestarnos confusión.

3.4. Comentarios: Son instrucciones no ejecutables por el compilador. Estas instrucciones


son utilizadas por el usuario del lenguaje (programador) para hacer aclaratorias de
ciertas partes del programa. Es una buena política de programación comentar cada
función que se programe (es decir escribir una pequeña descripción de lo que hace).
Para C++ existen dos formas de hacer comentarios:

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 17

Comentarios para una sola línea: Colocando al comienzo de la línea dos caracteres
de barra (//)
Ejemplo: // Esta función permite calcular el promedio de la sección de clase
Comentarios que abarquen más de una línea: Colocar al comienzo de la línea los
caracteres /* luego escribir el comentario con la cantidad de líneas que se necesiten y
finalizarlo con los caracteres */
Ejemplo: /* Esta función permite calcular el promedio de la sección de clase de la
asignatura de programación 1 de la carrera de informática */
Es importante destacar que los comentarios son importantes, pero no deben ser
usados en exceso ya que se pierde la esencia del programa.
3.5. Archivos de cabecera: También se conocen como librerías ó unidades ó archivos de
biblioteca. Son archivos especiales que agrupan una serie de funciones, la extensión
de estos archivos es .h (h es la inicial de la palabra header cuya traducción es
cabecera).
El lenguaje tiene predefinido y a disposición de los usuarios programadores una
serie de archivos de cabecera. Para usar las funciones que se encuentren dentro de los
archivos de cabecera, el programador debe incluir en su programa la directiva
#include nombre_del_archivo_de_cabecera

Esta directiva ya fue detallada anteriormente en esta guía.


También es posible que los usuarios programadores puedan realizar sus propios
archivos de cabecera. Deben transcribir las funciones que deseen agrupar en el archivo
de cabecera y grabar este archivo con extensión .h, luego puede ser utilizado por
cualquier otro programa con sólo incluirlo con la directiva #include.

Vamos, es hora de hacer una pausa, dale un descansito a tu cerebro


para que pueda asimilar lo que has leído y así fijar el
conocimiento. Tomate un café, relájate y cuando regreses
comenzamos con el punto 4 de esta unidad.
4. Datos
4.1. Definición: Cabrera, H (1997) señala:
El termino que usamos para describir las señales con las cuales trabaja
computadora es dato; aunque las palabras dato e información muchas
veces son usadas indistintamente, si existe una diferencia importante
entre ellas. En un sentido estricto, los datos son las señales individuales
en bruto y sin ningún significado que manipulan las computadoras para
producir información. (p. s/n)
4.2. Tipos de datos: El tipo de un dato determina su forma de almacenamiento en
memoria y las operaciones que pueden ser efectuadas con él. El lenguaje C++
ofrece diversos tipos de datos, cada uno de los cuales tiene su forma de ser
representado en la memoria del computador.

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 18

A continuación se presenta un cuadro con los tipos de datos básicos, el tamaño


de memoría que ocupa y el rango permisible de valores. Es de hacer notar que el
tamaño de memoria para cada tipo de datos puede variar de un compilador de C++
a otro. Los tamaños de los tipos presentados en el cuadro se corresponden con el
compilador Devcpp. Por otro lado debemos saber que los identificadores de los
tipos asociados deben ser escritos en minúscula:

GRUPO DESCRIPCIÓN TAMAÑO TIPOS RANGO EJEMPLOS


(BYTES) ASOCIADOS VALORES
Enteros Son valores int contador;
numéricos positivos y 4 int -32768 .. +32767
negativos sin
decimales
Coma Son valores float promedio;
flotante numéricos positivos y 4 float -1.E-36 .. +1.E+36
(reales) negativos con
decimales. El carácter
que identifica la parte
decimal es el punto
Coma Son valores double porcentaje;
flotante numéricos positivos y 8 double
de doble negativos con
precisión decimales de doble
(reales) precisión (más cifras
significativas y
mayor valor posible
del exponente)
Carácter Cualquier elemento char letra;
del conjunto de 1 char -128 .. 127
caracteres (en
general conjunto de
caracteres ASCII)
Booleano Es un tipo de dato bool encontrado;
que puede recibir 1 bool Internamente para
solo dos valores: true almacena valor
true, false de 1 y false el valor
de 0

Algunos de estos tipos básicos de datos (enteros, reales, char) se pueden ampliar
utilizando los cualificadores que no son más que modificadores del tipo de dato original; de
esta forma tenemos los siguientes cualificadores: short (corto), long (largo), signed (con
signo) y unsigned (sin signo).
En general con estos cualificadores podríamos tener la siguiente gama de enteros:
Enteros cortos: short int es equivalente a short (2 bytes)
Enteros largos: long int es equivalente a long (4 bytes)
Enteros con signo : signed int (4 bytes)
Enteros sin signo: unsigned int (4 bytes)
Enteros cortos con signo: signed short int es equivalente a signed short (2 bytes)

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 19

Enteros cortos sin signo: unsigned short int es equivalente a unsigned short (2 bytes)
Enteros largos con signo: signed long equivalente a signed long int (4 bytes)
Enteros largos sin signo: unsigned long equivalente a unsigned long int (4 bytes)

Algunos compiladores permiten el cualificador long a los tipos de datos reales


float y double. En el caso de los tipos de datos char podemos tener: char,
unsigned char (1 byte)

4.3. Constantes: En general una constante es un objeto cuyo valor se mantiene fijo (no
puede cambiar, ser modificado) a lo largo de la ejecución del programa. Existen
constantes numéricas (enteras y reales ->coma flotante) y alfanuméricas (carácter
y cadena de caracteres). Estas constantes pueden ser representadas como
constantes simbólicas (#define ya explicado en esta guía) y/o constantes
declaradas.
Sintaxis para las constantes declaradas:

const tipo_de_constante identificador = valor;

donde: const es una palabra reservada


tipo_de_constante es cualquier tipo de dato (ver cuadro
anterior). Si no se coloca nada en tipo_de_constante por
defecto asume que es entero (int).
identificador es el nombre que se le esta colocando a la
constante. Debe cumplir con las especificaciones de
identificador válido.
valor es el dato que se quiere asignar a la constante.
la instrucción debe finalizar con ;
NOTA: el valor debe ser compatible con el tipo de constante

Ejemplos de constantes declaradas:

const int NUMERO_EMPLEADOS = 100; es equivalente


const NUMERO_EMPLEADOS = 100;

const float BONO = 50400.50;


const float REDONDEO = .50;
const char LETRA = ‘A’;

Por estandarización para esta asignatura colocaremos todos


los identificadores de constantes en letras mayúsculas.

4.4. Variables: Una variable es un identificador que se utiliza para representar cierto
tipo de información cuyo dato puede variar (cambiar, modificarse) dentro de una
determinada parte del programa, es decir a una variable se le pueden asignar

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 20

diferentes valores en distintas partes del programa; de esta forma la información


representada puede cambiar durante la ejecución del programa. Sin embargo, el
tipo de datos asociado a la variable no puede cambiar.

Sintaxis

tipo_de_dato identificador; // para una sola variable


// para varias variables del mismo tipo de dato
tipo_de_dato identificador1,identificador2,identificadorn;

donde: tipo_de_dato es cualquier tipo_de_datos bien sea de los que se


encuentran predefinidos en el lenguaje o algún tipo de dato
creado o definido por el usuario (programador) como por
ejemplos arreglos, estructuras, enumerados, entre otros.
identificador es el nombre que se le va a colocar a la variable,
por supuesto debe cumplir con las especificaciones de
identificador válido
La instrucción debe finalizar con punto y coma

Ejemplos de variables:

int contar, total, numero;


char letra;
Float sueldo;

Por estandarización para esta asignatura colocaremos todos


los identificadores de variables en letras minúsculas.

Es importante explicar que con la declaración de una variable se reserva una


dirección (posición) de memoria que será reconocida con el identificador que se
coloco en la declaración de la variable.

Además C++ permite que en la instrucción de declaración se pueda inicializar la


variable si se requiere, de la siguiente forma:

tipo_de_dato identificador = valor_inicial;

valor_inicial es el dato con el que se quiere inicializar la variable, por supuesto


este dato debe ser coherente con el tipo de dato
Ejemplos:
char sexo; // variable de tipo char no inicializada
int contador = 0; // variable de tipo entero inicializada en cero
char letra_obtenida = ‘B’; // variable de tipo char inicializada en caracter B

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 21

bool encontrado = false; // variable de tipo booleano inicializada en false


int contador = 0, acumulador; /* dos variables de tipo entero. La variable
contador se inicializa en cero pero acumulador no se inicializa */
int ct1,ct2,ct3 = 0; /* se declaran tres variables entero y se inicializa con el
valor de cero */

Por otro lado hay un concepto muy importante que es el Ámbito de las variables esto
se refiere al alcance o vida de las variables; es decir dependiendo del lugar donde se
declare la variable, ella tendrá vida (podrá ser utilizada). En general el alcance es
global o local.

 Todo el programa (declaración global)


 En una función en particular (declaración local)
 Incluso en una porción (parte) del programa o en una porción (parte) de una
función. Por ejemplo dentro de una instrucción if (si selectiva) se podría definir una
variable, esta variable solo existe dentro del bloque if, si quisiéramos hacer
referencia a esa variable fuera del if nos daría un error de identificador no
declarado. Esto es posible ya que el lenguaje C++ nos permite declarar variables en
cualquier parte del programa.

Tipos básicos de variables en C++: Podemos distinguir tres grandes grupos de


variables que son: globales, locales y dinámicas.
⇒ Variables Globales: también conocidas como variables externas. Son variables cuyo
ámbito se extiende desde el punto donde se definen hasta el resto del programa; es
decir la variable puede ser usada después de su definición hasta el final del
programa. No podrá ser usada en las instrucciones que estén antes de su definición.

⇒ Variables Locales: también conocidas como variables automáticas, se declaran


siempre dentro de una función y son locales a la función donde han sido declaradas;
es decir su ámbito esta confinado a esa función (solo se pueden usar en la función
donde fueron definidas). Las variables definidas en funciones diferentes serán
independientes unas de otras, incluso si tienen el mismo nombre. Existen ciertas
consideraciones que se deben tener claras para trabajar con las variables locales:
 Las variables locales no pueden ser usadas fuera de la función donde se
definieron.
 Los nombres de las variables no tienen porque ser únicos, pueden haber
variables con el mismo nombre en funciones diferentes; en este caso cada
variable es distinta ya que pertenece a funciones distintas.
 Las variables locales no existen en memoria hasta tanto no se ejecute la
función. Es en el momento en que se ejecuta la función que estas variables
automáticamente se crean en la memoria y desaparecen (liberan) cuando se
termina la ejecución de la función.
⇒ Variables Dinámicas y de Objetos: Estas variables se crean y liberan durante la
ejecución del programa. Existen funciones que permiten solicitar memoria para una

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 22

variable dinámica y también para liberar la memoria ocupada por la variable cuando
ya no se necesite.

¿Te quedó claro cuál es la diferencia entre una constante


y una variable?

Las constantes como su nombre lo indica mantiene un valor fijo en todo el


programa, en cambio las variables sus valores pueden cambiar a lo largo de la
ejecución del mismo.

Vamos, es hora de hacer una pausa, estira las piernas, digiere todo lo referente a la
información de los datos y las cosas que permite hacer nuestro lenguaje C++,
dentro de poco nos tocará probar todo esto, ten un poco de paciencia ya te
sentarás en el computador a programar, recuerda el papel agunta todo pero el
computador no.

5. Instrucción de asignación: El objetivo de este tipo de instrucción (comando o


sentencia) es colocar valores (datos) a variables que se encuentren declaradas
previamente.

Sintaxis nombre_de_la_variable = dato ó expresión ó resultado de una función;

donde nombre_de_la_variable representa el identificador que se coloco para


declarar la variable.
A una variable se le puede asignar:
 Directamente un dato.
 El resultado de una expresión, en este caso primero se
evalúa la expresión y luego el resultado es asignado a la
variable.
 El resultado de una función, en este caso el tipo de dato de la función
NO PUEDE SER VOID.
Es importante que la asignación sea coherente con el tipo de dato de la
variable.
La instrucción debe finalizar con punto y coma

6. Instrucción de Entrada (leer) y Salida (escribir) de datos: Estas instrucciones


permiten la transferencia de información entre el computador y los dispositivos
periféricos (teclado, pantalla, impresora, diskettes, cds, pendrive, entre otros). En C++
la entrada y salida de datos se trabaja con flujos de streams, y las funciones propias
para estas actividades se encuentran dentro de un archivo de cabecera predefinido en el
lenguaje llamado iostream (traducción input output stream, entrada salida de stream).

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 23

Este archivo debe ser incluido dentro del programa haciendo uso de la directiva del
preprocesador #include.

⇒ Entrada de datos: para leer datos se utiliza el flujo de entrada estándar cin (en
realidad es un objeto) normalmente se leen los datos desde el teclado, este flujo
utiliza el operador de extracción que se obtiene escribiendo dos signos mayor
consecutivos así >>. La instrucción debe finalizar con punto y coma.

Sintaxis cin >> nombre_de_la_variable;

Por ejemplo para leer la variable sueldo, las siguientes instrucciones son necesarias:

#include <iostream> // incluye o inserta el archivo de cabecera iostream


using namespace std; /* sirve para usar las declaraciones estándar del espacio
nombrado (consola), esta instrucción es necesaria para
poder utilizar el cin */
float sueldo; // declaración de la variable sueldo de tipo real
......
cin >> sueldo; /* coloca el resultado de la entrada por consola (lo que se escribió en
el teclado) en la variable sueldo, el cin debe ser escrito en
minúscula */
Pero puede ser que necesitemos leer el sueldo, el total de asignaciones y el total de
deducciones, entonces podríamos leer las tres variables con una sola instrucción cin de
la forma siguiente:
cin >> sueldo >> asignaciones >> deducciones;
En general la sintaxis sería:

cin >> nombre_primera_variable >> nombre_segunda >>…>> nombre_última;

⇒ Salida de datos: para sacar o imprimir tanto datos como encabezados se utiliza el
flujo de salida estándar cout (en realidad es un objeto). En principio mostraremos los
resultados de nuestros programas en la pantalla. Este flujo de salida utiliza el
operador de inserción que se obtiene escribiendo dos signos menor consecutivos
así <<. Al igual que la instrucción cin el cout debe terminar con punto y coma y la
palabra reservada cout debe ser escrita en minúscula.

Sintaxis cout << “ literales ó titulos “ << nombre_de_la_variable;

Nótese que en una salida pueden estar presentes dos cosas:

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 24

 La impresión de encabezados, literales o títulos: Para esto debe utilizar las


comillas dobles, es decir encerrar entre comillas dobles los títulos que quiere
mostrar o imprimir.

 La impresión de datos contenidos en variables: En este caso lo único que


debe hacer es colocar el nombre de la variable. Pero también pudiese
imprimir el resultado de una función en este caso debería colocar el
nombre de la función con la lista de sus argumentos (parámetros). Las
funciones y los argumentos serán detalladas más adelante en esta guía.

Por ejemplo necesito leer la variable sueldo_neto, asignaciones y deducciones para


calcular el sueldo total. Este resultado debe mostrarlo en la pantalla. Para satisfacer
este requerimiento las siguientes instrucciones son necesarias:

#include <iostream> // incluye o inserta el archivo de cabecera iostream


using namespace std; /* sirve para usar las declaraciones estándar del espacio
nombrado (consola), al igual que para el cin, sta
instrucción es necesaria para poder utilizar el cout */
float sueldo, asigna, deduce, total; // declaración de las cuatro variables que necesito
......
cout << “Escriba el sueldo base : “ ; /*imprime mensaje a la pantalla para que el
usuario este informado del dato que debe escribir */
cin >> sueldo; /* coloca el resultado de la entrada por consola (lo que se escribió en
el teclado) en la variable sueldo */
cout << “\rEscriba las asignaciones: “; Esta instrucción comienza con
una secuencia de escape \r su
cin >> asigna; efecto es primero retorno de
cout << “\nEscriba las deducciones: “; carro y después escribe el título
Escriba las asignaciones:
cin >> deduce;
total = sueldo + asigna – deduce;
cout << “\n \nEl sueldo total es: “ << total; Esta instrucción comienza con una secuencia de
escape \n su efecto es avanzar a la línea
siguiente y después escribe el título
Escriba las asignaciones:
Esta instrucción comienza con una secuencia de
escape \n \n su efecto es dejar una línea en
blanco y después escribe el título
El sueldo total es:

Es importante recordarte que en esta asignatura resolveremos los problemas


bajo el paradigma de la Programación Orientada a Objetos, pero en este tema lo
que se pretende es que te familiarices con la sintaxis del Lenguaje C++, por eso
es que haremos programas muy cortos sólo para probar las instrucciones de C++.
Pero no te preocupes en la Unidad II nos encargaremos de afianzar los
conocimientos que traes de objetos, aclararemos cualquier duda e indicaremos cual
es la sintaxis de C++ para trabajar con ellos.

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 25

A continuación se muestra el programa completo que permite desarrollar el planteamiento


anterior

// incluye o inserta el archivo de cabecera iostream


#include <iostream>
/* sirve para usar las declaraciones estándar del espacio nombrado (consola), al igual que para el cin, esta instrucción
es necesaria para poder utilizar el cout */
using namespace std;
// declaración de las cuatro variables que necesito
float sueldo, asigna, deduce, total;
int main() // función main
{ // inicio programa
cout << "Escriba el sueldo base : " ; // escribe en pantalla el titulo Escriba el sueldo base:
cin >> sueldo; // coloca el resultado de la entrada por consola en la variable sueldo
cout << "\rEscriba las asignaciones: ";
cin >> asigna;
cout << "\nEscriba las deducciones: ";
cin >> deduce;
total = sueldo + asigna - deduce; /*asigna a variable total el resultado de la formula
matemática */
cout << "\n \nEl sueldo total es: " << total;
return 0;
} // fin del programa

El resultado de este programa es el siguiente:

Escriba el sueldo base : 150000


Escriba las asignaciones: 10000

Escriba las deducciones: 3000

El sueldo total es: 157000

¿Por qué será que en el cuadro anterior que presenta la salida del programa
hay líneas en blanco?
Detalla que después de la palabra base hay un espacio en blanco y
luego los dos puntos. ¿Será que es un error de transcripción?

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 26

Pues el cuadro representa la salida real del programa, las líneas en blanco son debido a las
secuencias de escape que están escritas en las instrucciones cout “\n \r” y lo del espacio en
blanco no es error si observas con detalle esta instrucción cout << "Escriba el sueldo
base : " ; esta escrito el espacio en blanco

7. Proceso de creación de un programa ejecutable: Para poder crear un programa


ejecutable lo primero que debes hacer es instalar el compilador con el que vas a
trabajar. En nuestro es el Devcpp, luego debes leer el problema, analizarlo, plantear la
secuencia de instrucciones que debe llevar (logica), escribir las instrucciones de
acuerdo a la sintaxis del compilador y finalmente ejecutarlo. Toda la información que
requieres para realizar estos pasos se encuentran en un archivo anexo (elaborado por
la coordinación de programación), la cual estará publicada en la sección de
RECURSOS del Curso Programación en http://seducla.ucla.edu.ve.

8. Operadores, operandos y expresiones: Todo programa en C++ consta de uno o más


módulos llamados funciones. Dentro de las funciones puede haber definiciones y/o
declaraciones, instrucciones de lectura y/o escritura, instrucciones selectivas o
alternativas, instrucciones de ciclos repetitivos y expresiones simples y/o expresiones
compuestas.
Las constantes, variables y referencias a funciones (son operandos) se pueden unir
con varios operadores para formar expresiones, entonces una expresión esta formada
por la combinación de constantes, variables, nombres de funciones, paréntesis y
operadores.
C++ posee un gran número de operadores que se pueden agrupar en diferentes
categorías. Para efectos de esta asignatura se estudiarán los siguientes operadores:
Operador de asignación, operadores unarios., operadores aritméticos, operadores de
incremento y decremento, operadores relacionales, operadores lógicos y el operador
coma.

8.1. Operador de asignación: Existen varios operadores de asignación en C++, pero


todos se utilizan para formar expresiones de asignación; que consisten en asignar o
colocar el valor de una expresión (simple ó compuesta) a un identificador. Es
común que a las expresiones de asignación se le llame también instrucciones de
asignación (detalladas en el punto 5 de esta guía). El operador de asignación más
usado es =
Sintaxis:
identificador = expresión;

donde identificador representa generalmente una variable.


expresión puede ser una constante, una variable, una
función o una expresión más compleja
la instrucción debe finalizar con punto y coma

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 27

Ejemplos:

caracter = ‘b’; // variable caracter se le asigna la letra b (b es un dato)


total = cantidad; /* variable total se le asigna el valor contenido en la
variable cantidad */

numero = 3; // variable numero se le asigna el dato 3


/* primero se resuelve la expresión numero * 2 y el
doble = numero * 2;
resultado es colocado en la variable doble */

/* calcular es una función que tiene dos argumentos,


area = calcular(base,altura); primero se ejecuta la función calcular y el resultado
es almacenado en la variable area */

Es importante aclarar que si los dos operandos de una expresión de asignación


son de tipo de datos diferentes, el valor de la expresión de la derecha se
convertirá automáticamente al tipo de datos que posee el identificador de la
izquierda. Estas conversiones automáticas de datos dependen de un compilador a
otro.
Las conversiones automáticas que ejecuta el compilador son las siguientes:
 Una variable char puede recibir un valor entero (recuerde que los char se
almacenan como números de acuerdo al conjunto de caracteres que
use el compilador. En la mayoría de los casos es el conjunto de
caracteres ASCII), Pero una variable char no puede nunca recibir un
valor real.
 Una variable entera puede recibir el valor de una variable char, pero no un
valor real.
 Una variable float y double puede recibir valores char y enteros
El siguiente programa muestra ejemplos de estas conversiones:

#include <iostream>
using namespace std;

int main()
{
char caracter;
int entero;
float real;

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 28

caracter = 'A';
entero = caracter;
real = entero;
cout << "caracter = " << caracter;
cout << "\nentero = " << entero;
cout << "\nreal = " << real;
entero = 98;
caracter = entero; Función predefinida que
cout << "\n\nnuevo entero = " << entero; Imprime el mensaje
cout << "\nnuevo caracter = " << caracter << "\n"; Presione cualquier tecla
system("PAUSE"); para continuar . . .
return 0; luego espera que se presione
} la tecla y continua con la
ejecución de las instrucciones
restante

La salida del programa es la siguiente:

caracter = A
entero = 65
real = 65

nuevo entero = 98
nuevo caracter = b
Presione cualquier tecla para continuar . . .

El uso descuidado de las conversiones de tipo es una fuente


frecuente de errores
Por otro lado el lenguaje C++ también permite realizar asignaciones múltiples.

Por otro lado el lenguaje C++ también permite realizar asignaciones múltiples.

Sintaxis:
identificador1 = identificador2 = .. = expresión;

Las asignaciones se efectúan de derecha a izquierda


La instrucción debe finalizar con punto y coma

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 29

Por ejemplo:

variable1 = variable2 = variable3 = expresión;

ct_alumnos = ct_profesores = ct_obreros = 0;

En este caso las tres variables ct_alumnos, ct_profesores y ct_obreros se les asigna el valor
de cero.

Adicionalmente C++ posee otros cinco operadores de asignación: +=, -=, *=, /=, %=

+= : expresión1 += expresión2;

es equivalente

expresión1 = expresión1 + expresión2;

En este caso a expresión1 se le suma el resultado de expresión2 y el resultado es


almacenado en expresión1. Normalmente expresión1 es un identificador definido
como una variable.

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 30

Ejemplos:

a += b; // a = a + b;
a += b*c; // a = a + b * c;

1 Prioridad de operadores
matemáticos

a += resta(num1,num2); // a = a + resta(num1,num2);

1 1. Ejecución de
la función resta
2. Ejecución de
2 la suma.

a += resta(num1,num2) * 4; // a = a + resta(num1,num2) * 4;

1. Ejecución de la 1
función resta
2. Ejecución de la
2
multiplicación por
prioridad del operador
matemático * sobre 3
operador +
3. Ejecución de la suma

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 31

Realiza la corrida del siguiente programa, indicando el detalle de las


salidas en la ejecución de cada instrucción.

#include <iostream>
using namespace std;

int suma(int num1,int num2);

int main()
{
#define b 2
int a = 1,c;

cout << " valor de a = " << a;


cout << "\n valor de b = " << b;

a += b;
cout << "\n a += b : resultado = " << a;

cout << "\n\n Escribe valor para c: ";


cin >> c;
a += b*c;
cout << "\n a += b * c : resultado = " << a;

a += suma(8,2);
cout << "\n\n a += suma(8,2) : resultado = " << a;

a += suma(8,2) * 4;
cout << "\n\n a += suma(8,2) * 4 : resultado = " << a << "\n\n";

system("PAUSE");
return 0;
}

int suma(int num1, int num2)


{
int resulta;

resulta = num1 + num2;


return resulta;
}

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 32

Compara tu salida con la que presenta el siguiente cuadro:

valor de a = 1
valor de b = 2
a += b : resultado = 3

. Escribe valor para c: 10

a += b * c : resultado = 23

a += suma(8,2) : resultado = 33

a += suma(8,2) * 4 : resultado = 73

Presione una tecla para continuar . .

-= : expresión1 -= expresión2;

es equivalente

expresión1 = expresión1 - expresión2;

En este caso a expresión1 se le resta el resultado de expresión2 y el resultado es


almacenado en expresión1. Normalmente expresión1 es un identificador tal como
una variable. Los ejemplos son similares a los presentados con el operador +=

*= : expresión1 *= expresión2;

es equivalente

expresión1 = expresión1 * expresión2;

En este caso a expresión1 se le multiplica el resultado de expresión2 y el resultado


es almacenado en expresión1. Normalmente expresión1 es un identificador tal como
una variable. Los ejemplos son similares a los presentados con el operador +=
/= : expresión1 /= expresión2;

es equivalente

expresión1 = expresión1 / expresión2;

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 33

En este caso divide el valor de expresión1 entre el valor de la expresión2 y el


resultado es almacenado en expresión1. Normalmente expresión1 es un
identificador tal como una variable. Si expresión1 es una variable real puede
almacenar el valor exacto de la división (la parte entera y decimal); pero si
expresión1 es una variable entera solo almacena la parte entera resultante de la
división. Los ejemplos son similares a los presentados con el operador +=

%= : expresión1 %= expresión2;

es equivalente

expresión1 = expresión1 % expresión2;

En este caso el operador % almacena el resto del resultado de una división.


Entonces expresión1 tendrá como resultado el resto de la división de
expresión1/expresión2. Normalmente expresión1 es un identificador tal como una
variable. Los ejemplos son similares a los presentados con el operador +=
A continuación se presenta un cuadro resumen de todos los operadores de
asignación y sus equivalencias:

Símbolo Ejemplo Descripción Equivalencia


= x=y Asigna el valor de y en x x=y

+= x += y A x le suma el valor de y luego x=x+y


asigna el resultado a la variable x

-= x -= y A x le resta el valor de y luego x=x-y


asigna el resultado a la variable x

*= x *= y A x le multiplica el valor de y luego x=x*y


asigna el resultado a la variable x

/= x /= y Divide x entre el valor de y luego x=x/y


asigna el resultado a la variable x

%= x%=y A la variable x le asigna el resto de x=x%y


la división de x entre y

8.2.Operadores Unarios: Una clase de operadores muy particulares son los


operadores unarios (también conocidos como operadores monarios), se
denominan así porque requieren de un sólo operando para ejecutarse. En algunos
casos estos operadores preceden al operando (el operador se escribe antes del

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 34

operando en formato prefijo) y en otro casos se escriben después del operando


(formato postfijo). En C++ existen tres tipos de operadores unarios:
⇒ Operador de Menos Unario (-): Es un operador que indica el signo de una
constante numérica, variable ó expresión. Su símbolo es -, pero no debe confundirse
con el símbolo de la operación resta que necesita dos operandos.

⇒ Operador sizeof(operando): Devuelve un valor numérico que representa el tamaño


en bytes de su operando, aquí el operando es un parámetro.

⇒ Ejemplo: cout << “\n tamaño bytes de un char = “ << sizeof(char);

⇒ Resultado: tamaño bytes de un char = 1

⇒ Operador coma (,): Permite combinar dos o mas expresiones en una misma línea
separadas por coma.

⇒ Ejemplo: int a,b,c;


a = 5; b = a; b = b * 2;
cout << “valor de a es: “ << a ;
cout << “\n valor de b es: “ << b ;
Las instrucciones anteriores reportan la siguiente salida:
valor de a es 4
valor de b es 10

8.3. Operadores aritméticos: Permiten realizar operaciones matemáticas. C++ dispone de


cinco operadores aritméticos que se muestran en la siguiente tabla.

Símbolo del Operador Operación matemática

+ Suma

- Resta

* Multiplicación

/ División

% Resto de la división (denominado operador


módulo)

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 35

Especificaciones generales:
 Los operandos que trabajan con operadores aritméticos deben ser números. Por lo
tanto pueden ser valores enteros, reales e incluso caracteres (recuerde los char
internamente se almacena en número)
 El operador de resto % requiere que los dos operandos sean enteros y el segundo
operando no puede ser nulo.
 El operador de división / requiere que el segundo operando no sea nulo.
 Si uno o los dos operandos tienen valores negativos, el signo del resultado de la
operación matemática tendrá el valor cuyo signo esta determinado por las reglas
del álgebra. Esto aplica solo para las operaciones suma, resta, multiplicación y
división.
 Para el caso de uno o los dos operandos con signo negativo en la operación del
resto, el signo del resultado en la mayoría de los compiladores es el signo del
primer operando.
 Si existen diferencias de tipos de datos entre los operandos que intervienen en la
operación matemática, puede ser que internamente se realice una conversión de
tipo antes de que la expresión alcance su valor final. Lo cierto es que el resultado
final se expresará con la mayor precisión manteniendo siempre la consistencia
con los tipos de datos de los operandos.
 Como en todos los lenguajes de programación los operadores tienen prioridad al
momento de ser ejecutados. Los paréntesis pueden alterar la prioridad establecida
por defecto.
 Las prioridades por defecto están establecidas de acuerdo el siguiente orden
Prioridad 1: Operadores de signo (operadores unarios) - +
Prioridad 2: Operadores * / %
Prioridad 3: Operadores + -
Si en la expresión a evaluar existen operadores con el mismo nivel de prioridad
se ejecutan de acuerdo a como se presentan en la expresión de izquierda a
derecha. Por ejemplo el resultado de la expresión

-3 + 6 * 2 / ( 5 + 1) es -1

A continuación se muestra la secuencia de pasos en la evaluación de la


expresión

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 36

-3 + 6 * 2 / ( 5 + 1)

1 2 3

3 + 6 * 2 / (5 + 1) Paso 1
3 + 12 / (5 + 1) Paso 2
3 + 12 / 6 Paso 3
3+2 Paso 4
-1 Paso 5. Resultado final

Cuál es el resultado de la siguiente expresión:


10 + (4 - 8) * (10 * (12 + 6) / 6) ?

Si la evaluación que hiciste esta correcta tu respuesta debe ser -230, si no acertaste
revisa la evaluación por pasos que te presento a continuación:
10 - 8 * (10 * (12 + 6) / 6)
10 – 8 * (10 * 18) / 6
10 – 8 * 180 / 6
10 – 1440 / 6
10 – 240
-230

8.4. Operadores de Incremento (++) y Decremento (--): El operador de incremento


hace que su operando se incremente en uno y a su vez el operador de decremento
hace que su operando se decremente en uno.

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 37

Especificaciones generales:
 Si el operador de incremento o decremento se encuentra antes (prefijo) del
operando las acciones en secuencia son que primero se incrementa o
decrementa y después se le asigna el resultado.
 Si el operador se encuentra después del operando (postfijo) primero se le asigna
el valor y después se ejecuta el incremento o decremento.
 Estos operadores pueden estar presentes directamente en instrucciones de
salida ó como parámetros actuales de funciones, en cuyo caso la única variable
que se modifica es la misma que acompaña el operador.
 Si estos operadores se encuentran en instrucciones de asignación, se modificará
tanto la variable que recibe la asignación como la variable que acompaña al
operador.
 ++n es equivalente a n +=1 es equivalente n = n + 1
 --n es equivalente a n -=1 es equivalente n = n – 1
 x = n++ es equivalente a dos instrucciones con la siguiente secuencia:
x = n; n = n + 1;
 x = n-- es equivalente a dos instrucciones con la siguiente secuencia:
x = n; n = n - 1;

Ejemplos:

#include <iostream>
using namespace std;

int main()
{
int a = 5, b, c = 2 ;
1. Se incrementa la variable a
cout << "OPERADOR PREFIJO\n"; 2. Se le asigna el resultado del
incremento a la variable a
cout << "\n\n a = "<< a;
cout << "\n ++a resultado = " << ++a << " valor de a = " << a;

cout << "\n\n b = ++a"; 1. Se incrementa la variable a


cout << "\n valor de a antes de la asignacion = " << a; 2. Se le asigna resultado del
b = ++a; incremento a la variable a
cout << "\n valor de a despues de la asignacion = " << a; 3. El nuevo valor de a se le
cout << "\n valor de b = " << b; asigna a la variable b

cout << "\n\n c = c + ++a";


cout << "\n valor de a antes de la asignacion = " << a;

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 38

cout << "\n valor de c antes de la asignacion = " << c;


1. Se incrementa la variable a
2. Se le asigna resultado del
c = c + ++a; incremento a la variable a
cout << "\n valor de a despues de la asignación = " << a; 3. Se suma el valor de la
cout << "\n valor de c = " << c; variable c con el nuevo valor
de a, el resultado se deposita
// operador de decremento postfijo en c
cout << "\n\n b = a--";
cout << "\n valor de a antes de la asignacion = " << a;
b = a--; 1. El valor de la variable a se
cout << "\n valor de a despues de la asignacion = " << a; asigna a la variable b
cout << "\n valor de b = " << b; 2. Se decrementa el valor de a, el
resultado es asignado a
variable a

// Ejemplo compuesto por operador incremeto y decremento

cout << "\n\n c = --a * ++a";


cout << "\n valor de a antes de la asignacion = " << a;

c = --a * ++a;

cout << "\n valor de a despues de la asignacion = " << a;


cout << "\n valor de c = " << c << "\n\n";

system ("PAUSE");
return 0;
}

Si suponemos que la variable a tiene el valor de 7


¿ Con qué valor queda la variable c en la siguiente expresión?
c = -- a * ++ a;

El resultado correcto de la variable c es 49. Acertaste? Si no es así, revisa la


ejecución siguiente:

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 39

c = --a * ++a;

1 2

Suponemos que la variable a tiene el valor 7


Se decrementa a
Se le asigna el decremento a la variable a (ahora tiene valor de 6)

2 Se incrementa a
Se le asigna el incremento a la variable a (ahora tiene valor de 7)

3
Se multiplica a * a. Como el último valor de a es 7 entonces el resultado
se obtiene de 7 * 7 que es 49

4 El valor 49 es asignado a la variable c

La Salida del Programa anterior es la siguiente:

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 40

OPERADOR PREFIJO

a=5
++a resultado = 6 valor de a = 6

b = ++a
valor de a antes de la asignación = 6
valor de a despues de la asignación = 7
valor de b = 7

c = c + ++a
valor de a antes de la asignación = 7
valor de c antes de la asignación = 2
valor de a despues de la asignación = 8
valor de c = 10

b = a--
valor de a antes de la asignacion = 8
valor de a despues de la asignacion = 7
valor de b = 8

c = --a * ++a
valor de a antes de la asignación = 7
valor de a despues de la asignación = 7
valor de c = 49

Presione una tecla para continuar . . .

8.5. Operadores Relacionales: Son utilizados para escribir condiciones


simples. Es importante que ambos operandos (lado izquierdo y lado
derecho) sean compatibles para poder realizar la comparación. A
continuación se presenta un cuadro con los operadores relacionales que están
disponibles en el lenguaje C++. Se usan normalmente en instrucciones de
selección (if) y de iteración (while, for, do while). Cuando se evalúan los
operadores relacionales el resultado es un valor cero (0) ó uno (1). El cero indica
que la condición es falsa y el valor 1 indica que la condición es verdadera. Así
por ejemplo la instrucción a = 7 > 3, se evalúa primero 7 > 3 esto es verdadero es
decir el resultado es el valor 1 y ese resultado se le asigna a la variable a.
Entonces a queda con el valor 1.

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 41

Símbolo del Significado operador Ejemplo Resultado


Operador
== Igual 5==5 Verdadero

!= Diferente ‘a’ ! = ‘a’ Falso

< Menor que 4<4 Falso

<= Menor o igual que 4 <= 4 Verdadero

> Mayor que ‘A’ > ‘B’ Falso

>= Mayor o igual que (6+2) >= 3 Verdadero

8.6. Operadores Lógicos: Son utilizados para escribir condiciones compuestas. El


resultado de la evaluación de los operadores lógicos es una expresión booleana
que representa alguno de los dos valores Verdadero ó Falso.

Símbolo del Significado operador Resultado de la Evaluación


Operador
and ó && y Verdadero: si todas las condiciones
son verdaderas.
Falso: si por lo menos una condición
es falsa
or ó || o Verdadero: si por lo menos una
condición es verdadera.
Falso: si todas las condiciones son
falsas.
not ó ! negación Verdadera si el valor es falso.
Falso si el valor es verdadero.

El operador not es un operador unario necesita un sólo operando, en cambio el


operador and y el or requieren dos operandos.

Con relación a la prioridad de estos operadores lógicos, el operador not


tiene prioridad mas alta que and, que a su vez tiene mayor prioridad que el

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 42

or. Como siempre los paréntesis alteran la prioridad normal de los operadores y si
existen varios operadores con la misma prioridad se ejecutan de izquierda a derecha.

8.7. Prioridad de los Operadores: Los operadores matemáticos tienen precedencia


sobre los operadores relacionales y a su vez los operadores relacionales tienen
precedencia sobre los operadores lógicos.
Ejemplo: Si (salario < minimo * 0.1 and nrohijos > 0)

1 3

9. Prueba y depuración de programas: La prueba o verificación de un programa consiste en


la ejecución del programa con un conjunto de datos llamados datos de prueba, los cuales
deben ser escogidos previamente y con mucho detalle; de tal forma que se puedan probar
los casos generales (situaciones normales) y los casos excepcionales (situaciones
extremas) y de esta manera asegurar el funcionamiento correcto del programa.
La depuración de programas, consiste en primera instancia encontrar los errores de
compilación, estos errores están relacionados con la sintaxis del lenguaje de programación
y en segundo lugar los errores de ejecución que pueden presentarse de dos maneras:
Primero con instrucciones que sintácticamente están correctas pero el computador no
la puede ejecutar. Como por ejemplo una división por cero, la raíz cuadrada de un número
negativo, entre otras.
Segundo errores lógicos que están relacionados directamente con la lógica impuesta en
la secuencia de instrucciones que tiene el programa. Estos errores provienen desde el
diseño del programa son los más difíciles de encontrar ya que el programa puede correr
pero los resultados reportados no son los esperados (correctos) de acuerdo a los datos de
prueba.

10. Documentación de Programas: La documentación se refiere a todo el material de ayuda


que acompaña un programa. Existen diferentes tipos de documentación una dirigida al
usuario de la aplicación (persona que trabajará con el programa) esta se denomina
documentación externa (porque esta fuera del programa) incluye diagramas, manuales
de usuario en donde se especifiquen las instrucciones para ejecutar y usar el programa. La
otra documentación esta dirigida a los programadores (personas que desarrollan los
programas) que es la documentación interna (se logra escribiendo líneas de comentarios
en el programa). Cada programa tendrá su propia documentación y la misma dependerá de
un programa a otro.

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 43

Debe destacarse la importancia de la documentación de los programas, ya que esta


actividad permite que los programas puedan ser mantenidos (ajustados) y depurados más
fácilmente.
En general, los programas que no presentan documentación o su documentación es
escasa son difíciles de leer, entender, depurar y por su puesto mantener (realizar
modificaciones)

11. Ejercicios Propuestos: Como ya te he dicho en varias ocasiones que la teoría sin la
práctica no es nada, tendrás a tu disposición una lista de ejercicios propuestos
para que adquieras destreza a nivel de programación y además es
recomendable que no te conformes con hacer los programas en papel, debes
transcribirlos en el computador compilarlos y ejecutarlos verificando que las salidas
son las deseadas. Ya sabes ante cualquier duda contáctame por alguna de las vías que
se han planteado en el curso, no tengas pena recuerda que tu principal objetivo es
alcanzar el aprendizaje de la asignatura. Así que, es la hora de tomar el toro por los
cuernos y comenzar a practicar con el compilador recordando la sintaxis de las
instrucciones, para ello tendrás disponible en la sección de recursos del Curso
Programación en http://seducla.ucla.edu.ve una lista de ejercicios.

Resumen
Al finalizar esta unidad temática debes haber aprendido que:
 Los programas son las herramientas que nos permiten comunicarnos con las
computadoras.
 El lenguaje de programación nos permite desarrollar programas útiles para resolver
problemas de diversas índoles académico, social, económico, político, comercial,
científico, de la vida diaria, entre otros.
 Para que un programa de computación pueda ser ejecutado y probado debe ser escrito
en algún lenguaje de programación (en nuestro caso lenguaje C++, con el compilador
Devcpp que trabaja bajo Windows).
 La elaboración de un programa conlleva las siguientes actividades:
1. Leer detenidamente el enunciado del problema para analizarlo.
2. Escribir (o hacer modificaciones) la secuencia de instrucciones que tendrá el
programa. Recuerda grabar.
3. Compilar el programa, para chequear los errores sintácticos (siguiendo las normas
y reglas del lenguaje de programación), si hay errores regresar al paso 2, para
corregirlos.
4. Encadenar el programa, con los archivos de cabecera.
5. Ejecutar el programa. Probar el programa con un conjunto de datos previamente
seleccionados, para verificar que su funcionamiento es correcto. Si no esta
correcto, verificar que tipos de errores presenta para regresar al paso 1 ó al paso 2.

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 44

 A través de los compiladores se convierten las instrucciones de lenguaje de


programación de alto nivel a instrucciones de lenguaje de máquina que es el que
entiende la computadora.
 Un programa esta formado por un bloque de definiciones y/o declaraciones y una
función main que define la lógica central del programa.

 Debes tener cuidado con los identificadores que definas, recuerda que deben comenzar
con una letra o caracter _ seguido por letras o números pero no deben haber espacios
en blanco ni tampoco puedes utilizar las palabras reservadas del lenguaje. MUY
IMPORTANTE, el uso de las mayúsculas y minúsculas. El lenguaje C++ las
diferencia. Conveniente que trabajes con la estandarización que esta propuesta en esta
guía la constantes en letras mayúsculas.
 Dispones de diferentes tipos de datos tales como char, int, double, float, bool, entre
otros. Debes escoger los que necesitas de acuerdo al problema que estas resolviendo.
MUCHO CUIDADO con las conversiones de tipo de datos, esto te podría ocasionar
un gran dolor de cabeza.
 En el bloque de definiciones y/o declaraciones pueden existir:
⇒ Directivas del preprocesador: que son instrucciones especiales ejecutadas al
principio de la compilación, comienzan con el símbolo # son tomadas en cuenta
a partir de la línea donde son colocadas hacía adelante. Aquí dispones de
#define para definir constantes simbólicas y #include para trabajar (incluir) con
archivos de cabecera.
⇒ Definición de constantes. Para definir valores fijos en el programa. Con la
definición de constantes se reserva el espacio de memoria y se coloca un dato
que será fijo para todo el programa.
⇒ Declaración de variables. Para definir direcciones de memoria cuyo contenido
puede variar a lo largo del programa. Con la declaración de la variable se
reserva el espacio de memoria pero su contenido es indefinido (en términos de
computación basura información no entendible), pero puedes declarar la
variable y al mismo tiempo inicializarla, el lenguaje C++ lo permite.
⇒ Implementación de funciones.
 Dentro de la función main o cualquier otra función que desarrolles en tu programa
puedes tener instrucciones de asignación (asignación simple y asignación múltiple),
instrucciones de lectura, instrucciones de escritura, entre otras.
 Tienes a tu disposición un conjunto de operadores que se utilizan en las expresiones,
estos son los que indican las operaciones que deben realizarse sobre los operandos.
⇒ Operador de Asignación: sirven para colocar un valor (puede ser directamente
un dato, o una variable o una expresión o una función) en una variable.
Recuerda que puedes tener asignaciones múltiples.
⇒ Operadores Unarios: trabajan con un solo operando, aquí tenemos el menos
unario (para especificar el símbolo negativo), el sizeof(tipo de dato) te sirve

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 45

⇒ para saber el tamaño en bytes de un tipo de dato y el operador coma para


colocar varias instrucciones en una misma línea.
⇒ Operadores Aritméticos: son útiles para realizar operaciones matemáticas (+, - ,
* , / , %).
⇒ Operadores de Incremento y Decremento: sirven para incrementar y
decrementar en un valor fijo uno(1) una determinada variable. Ellos funcionan
de manera diferentes dependiendo del sitio donde se coloquen. Si se colocan
antes del operando (formato prefijo ++a) primero se asigna la variable y luego
se hace el incremento (se le suma el número 1). En cambio si se colocan
después del operando (formato postfijo a++) primero se hace el incremento y
luego se asigna la variable.
⇒ Operadores Relacionales: te sirven para realizar comparaciones, generalmente
se usan para escribir condiciones simples. Recuerda que ambos operandos
(izquierdo y derecho) deben ser compatibles, el resultado de su evaluación es
uno (1) para indicar que es verdadero y cero (0) para indicar que es falso. Aquí
tienes = = (igual), ! = (diferente), < (menor) , <= (menor o igual), > (mayor),
>= (mayor o igual).
⇒ Operadores Lógicos: para construir condiciones compuestas. Su resultado es un
valor lógico que representa Verdadero (TRUE) ó Falso (FALSE). Aquí tienes
el and ó && (operador y, es verdadero si todas sus condiciones son
verdaderas, falso cuando por lo menos una condición es falsa), or ó ||
(operador o, es verdadero cuando por lo menos una condición es verdadera y
falso cuando todas las condiciones son falsas), por último el operador not ó !
para negar un valor booleano (será verdadero si el valor de la variable es falso,
y falso si el valor de la variable es verdadero).
 Debes darle importancia a la documentación de los programas ya que es el material de
apoyo que acompaña al programa. Recuerda que existe una documentación interna a
nivel de líneas de comentarios dentro del programa que será de utilidad para los
programadores y una documentación externa para el usuario de la aplicación
(programa) formada por manuales y cualquier otra material requerido por el usuario
del programa.
 A continuación se presenta un cuadro con la sintaxis de la instrucciones estudiadas en
esta guía.

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 46

Instrucción Sintaxis
Incluye un archivo de cabecera #include nombre_del_archivo_de_biblioteca

Define una constantes simbólica #define nombre_de_la_constante dato

Define una constante declarada const tipo_de_constante identificador = valor;

Declaración de variables tipo_de_dato identificador; // para una sola variable


// para varias variables del mismo tipo de dato
tipo_de_dato identificador1,identificador2,
identificadorn;

Declaración e inicialización de tipo_de_dato identificador = valor;


variables
Instrucción de asignación nombre_de_la_variable = dato ó expresión ó resultado
de una función;

Instrucción de asignaciones identificador1 = identificador2 = .. = expresión;


múltiples
Instrucción de lectura para una cin >> nombre_de_la_variable;
sola variable

Instrucción de lectura para varias cin >> nombre_primera_variable >> nombre_segunda


variables >>…>> nombre_última;

Instrucción de escritura cout << “ literales ó titulos “ <<


(impresión) nombre_de_la_variable;

Instrucción de comentario // Comentario de una sola línea


/* Comentario de múltiples
líneas */

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 47

Autoevaluación Nro. 1
Ya culminamos la primera unidad y con la finalidad de verificar los conocimientos
que adquiriste en esta sesión de estudios, realiza la autoevaluación Nº 1
presentada a continuación.

PARTE I. Selección simple: A continuación se presenta una tabla con dos columnas debes
colocar en la columna izquierda el número que corresponda a la definición de la columna
derecha.

( ) Errores de Sintaxis 1. Operador de Incremento

( ) sueldo > 1500 2. Secuencia de escape

( ) ++ contador; 3. Instrucción de Escritura

( ) #define max 10 4. Línea de comentario

( ) main() 5. Condición compuesta

( ) int cantidad; 6. Constante simbólica

( ) cin >> cedula; 7. Operación matemática

( ) // Función principal 8. Operador relacional

( ) #include <iostream> 9. Le sirve al programador

( ) cout << “Resultado es: “ << resulta; 10. Instrucción asignación múltiple

( ) sueldo_neto += bono; 11. Declaración de una variable

( ) (A= = B) and (B > C) 12. Instrucción de asignación simple

( ) (a * b) + (c/d) 13. Función principal

( ) ct1 = ct2 = ct3 = 0; 14. Archivo de cabecera

( ) Documentación interna 15. Compilador

( ) \n 16. Instrucción de Lectura

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 48

PARTE II. A continuación se presenta un programa, detecte los posibles errores sintácticos
#include <iostream>
{
int num1,num2;
resultado;
cout << “Escriba el primer numero : “ ;
cin >> num1;
cout << “\nEscriba el segundo numero:;
cin >> num2
cout << “\nEscriba el tercer numero: “;
cin >> num3;
resultado = (num1 + num2) * num3;
cout << “\n El resultado de la suma es: resultado “;
system(“pause”);
}
PARTE III. Desarrollo

1. ¿Qué se obtiene en las variables a1, b1, c1 después de ejecutar las siguientes
instrucciones?

a1 = 3;
b1 = 20;
c1 = a1 + b1;
b1 += a1;
a1 = b1;

2. ¿Cuáles de los siguientes identificadores son válidos?

a) nombre c) 2segundo c) sueldo neto d) ct_1


e) main f) Calcular g) boNificacion h) function

3. Realice un programa en lenguaje C++ que teniendo como entrada dos números enteros
permita realizar las siguientes operaciones matemáticas: suma, resta y multiplicación. Su
programa debe estar elaborado con funciones.

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 49

Respuesta a la Autoevaluación

PARTE I. Selección simple

( 15 ) Errores de Sintaxis 1. Operador de Incremento


( 8) sueldo > 1500 2. Secuencia de escape
(1 ) ++ contador; 3. Instrucción de Escritura
(6 ) #define max 10 4. Línea de comentario
(13 ) main() 5. Condición compuesta
(11 ) int cantidad; 6. Constante simbólica
(16 ) cin >> cedula; 7. Operación matemática
( 4 ) // Función principal 8. Operador relacional
(14 ) #include <iostream> 9. Le sirve al programador
(3 ) cout << “Resultado es: “ << resulta; 10. Instrucción asignación múltiple
(12 ) sueldo_neto += bono; 11. Declaración de una variable
(5 ) (A= = B) and (B > C) 12. Instrucción de asignación simple
(7 ) (a * b) + (c/d) 13. Función principal
(10 ) ct1 = ct2 = ct3 = 0; 14. Archivo de cabecera
( 9 ) Documentación interna 15. Compilador
(2 ) \n 16. Instrucción de Lectura

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 50

PARTE II. A continuación se presenta un programa, detecte los posibles errores sintácticos.
Los errores serán colocados en azul

#include <iostream>
using namespace std
int main()
{
int num1,num2, num3;
int resultado;
cout << “Escriba el primer numero : “ ;
cin >> num1;
cout << “\nEscriba el segundo numero:”;
cin >> num2;
cout << “\nEscriba el tercer numero: “;
cin >> num3;
resultado = (num1 + num2) * num3;
// en la instrucción siguiente no imprime el valor de resultado
cout << “\n El resultado de la suma es: resultado “;
// deberia ser cout << “\n El resultado de la suma es: “ << resultado “;
system(“pause”);
}

PARTE III. Desarrollo

1. Las variables quedan con los siguientes valores:

a1 b1 c1
23 23 22

2. Los identificadores válidos son a) d) f) g).


El identificador b) no es válido porque comienza con un número
El identificador c) no es válido porque tiene un espacio en blanco
El identificador e) y h) no son válidos porque son palabras reservadas del leguaje

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 51

3. /* Programa en lenguaje C++ que teniendo como entrada dos números enteros permite
realizar las operaciones matemáticas de suma, resta y multiplicación. */

#include <iostream>
using namespace std;
int Suma(int n1, int n2);
int Resta(int n1, int n2);
int Multiplicacion(int n1, int n2);

int main()
{
int num1,num2;
system ("cls"); // blanquea la pantalla
cout << "\Tipee el primer numero: ";
cin >> num1;
cout << "\Tipee el segundo numero: ";
cin >> num2;
cout << "\n\n La suma es: " << Suma(num1,num2);
cout << "\n\n La resta es: " << Resta(num1,num2);
cout << "\n\n La multiplicacion es: " << Multiplicacion(num1,num2) << "\n";
system("pause"); // espera hasta que se presione tecla para finalizar
return 0;
}

// Funcion que permite sumar los dos numeros


int Suma(int n1, int n2)
{
return n1 + n2;
}
// Funcion que permite restar los dos numeros
int Resta(int n1, int n2)
{
return n1 - n2;
}
// Funcion que permite multiplicar los dos numeros
int Multiplicacion(int n1, int n2)
{
return n1* n2;
}

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 52

Complemento. Ejercicios Propuestos.


A continuación te presento una serie de ejercicios que fueron elaborados por la
Coordinación de la Asignatura de Programación (integrada por los profesores:
Rosa Díaz, Olga Palma, María Auxiliadora Pérez, Glennys Clemant, Margarita
Pereira y Giovanni Torrealba-Coordinador). El objetivo es que con ellos
termines de ejercitar para reforzar y complementar todo el conocimiento adquirido a lo largo
de esta unidad.
Se abrirá un foro para preguntas/respuestas de estos ejercicios, así que ya sabes ante
cualquier duda no dudes en preguntar todos estaremos disponibles para ayudarnos
mutuamente, lo importante es culminar la unidad sin lagunas con claridad total para así
arrancar con pie firme la segunda unidad.

1. Determinar cuáles de los siguientes son identificadores válidos. Si no son válidos, explicar
por qué.

a) registro1
b) 1registro
c) archivo_3
d) return
e) $impuesto
f) ocupación
g) nombre y direccion
h) nombre_y_direccion
i) nombre-y-direccion
j) 123-45-6789
2. Mencionar las reglas referentes a los nombres de los identificadores.
3. ¿Son equivalentes las letras mayúsculas a las minúsculas en un identificador?
4. ¿Se pueden incluir dígitos en un identificador?
5. ¿Se puede incluir cualquier carácter especial en un identificador?
6. ¿Cuántos caracteres puede tener un identificador?
7. ¿Son todos los caracteres significativos en igual forma en un identificador?
8. ¿Qué es una palabra reservada en C++?
9. Mencionar y describir cuatro tipos básicos de datos en C++.
10. Nombrar y describir tres tipos básicos de constantes en C++.
11. ¿Qué es una variable?
12. ¿Se deben declarar todas las variables que aparecen en un programa en C++?

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 53

13. ¿Cómo se les puede asignar valores iniciales a las variables en una declaración de tipo?
14. Supongamos que la versión de C++ puede reconocer sólo los ocho primeros caracteres del
nombre de un identificador, aunque los nombres de los identificadores puedan ser de
longitud arbitraria. ¿Cuáles de los siguientes pares de nombres de identificadores se
considerarán como idénticos y cuáles se distinguirán?
a) nombre, nombres
b) direccion, Direccion
c) identificador_1, identificador_2
d) lista1, lista2
e) respuesta, RESPUESTA
f) cari, car_1
15. Escribir declaraciones apropiadas y asignar los valores iniciales dados para cada grupo de
variables:
a) Variables en coma flotante: a = -8.2, b = 0.005
b) Variables enteras: x = 129, y = 87, z = -22
c) Variables de carácter: c1 = 'w', c2 = '&‘
d) Variable entera larga: grande =123456789
e) Variable de carácter: eol = carácter de nueva línea
16. Resuelva las siguientes asignaciones declarando sus variables:
a) Asigne 20 a una variable entera llamada nota
b) Asigne ‘F’ a una variable char llamada sexo
c) Asigne 1 a una variable bool llamada bisiesto
d) Asigne 123.456 a una variable float llamada valor
17. Resuelva las siguientes operaciones declarando sus variables:
a) Asigne la suma de a más b a una variable entera llamada a
b) Asigne la resta de a menos b a una variable float llamada a
c) Asigne la multiplicación de a por b a una variable entera llamada a
d) Asigne la división de a entre b a una variable float llamada a
e) Asigne la división entera de a entre b a una variable entera llamada a
18. Resuelva las siguientes operaciones con expresiones abreviadas
a) Asigne la suma de a más b a una variable entera llamada c

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 54

b) Asigne la resta de a menos b a una variable float llamada c


c) Asigne la multiplicación de a por b a una variable entera llamada c
d) Asigne la división de a entre b a una variable float llamada c
e) Asigne la división entera de a entre b a una variable entera llamada c
19. Resuelva las siguientes operaciones con expresiones abreviadas
a) x = x + 1
b) y = y – 1
c) x = x + 1 + y – 1
d) y = y – 1 + x + 1
e) x = x + 1 - y – 1
f) y = y – 1 - x + 1
20. Dados a = 1, b = 2 y c = 3, determine el valor final de las variables a, b y c en cada
expresión independiente
a) a = ++b + ++a
b) b = b – c++
c) c = --c – b++
d) a = b > c
e) b = c > b and a < b
f) c = a * 2 > c or b * 2 > c

Instructivo para la Instalación del compilador DevCpp


A continuación te presento un instructivo muy sencillo y fácil de seguir para que
puedas instalar el compilador con el que vamos a trabajar en esta asignatura. Lo puedes seguir
paso a paso como si fuera una receta de cocina es muy fácil así que anímate e inténtalo.
Este instructivo fue realizado por la Coordinación de la Asignatura de Programación
(integrada por los profesores: Rosa Díaz, Olga Palma, María Auxiliadora Pérez, Glennys
Clemant, Margarita Pereira y Giovanni Torrealba-Coordinador).
Debes saber que este instructivo también será publicado al comienzo de la asignatura en la
sección de RECURSOS del Curso Programación en: http://seducla.ucla.edu.ve.

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 55

Universidad Centroccidental “Lisandro Alvarado”


Decanato de Ciencias y Tecnología
Lapso 2008-I

Programación I

Instructivo para la clase 1


Elementos Básicos de C++

Coordinación del Área de Programación

Contenido del Instructivo de la Unidad I

 Instalación del compilador DevC++


 Configuración del compilador DevC++
 Primer programa en C++
 Almacenamiento de los programas
 Pasos para realizar los programas
 Otras reglas a seguir
 Ejercicios propuestos

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 56

Instalación del compilador DevC++

1. Ejecute el programa
de instalación

2. No instale sobre una


versión pre-existente (si
ya había instalado antes)

3. Escoja el lenguaje a
usar durante la
instalación

Instalación del compilador DevC++

4. Si está en acuerdo con


los términos de la
licencia, Acepte

5. El tipo de instalación
es FULL

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 57

Instalación del compilador DevC++

6. Los archivos del compilador


se instalarán en la carpeta
C:\Dev-Cpp

7. La instalación está en
progreso

Instalación del compilador DevC++

8. Permita que todos los


usuarios en el equipo tengan
acceso al compilador

9. Ha terminado con la
instalación

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 58

Configuración del compilador DevC++


Al ejecutar por primera vez el compilador DevC++, observará los
siguientes mensajes y opciones de configuración... En caso de ya
tenerlo instalado también puede configurarlo... Revise la información
en estos diálogos para saber qué menú se lo permite...
1. Notificación de versión beta...

2. Seleccione el lenguaje Español


(Latino América), de manera que
toda la información del compilador
se muestre en castellano

Configuración del compilador DevC++

3. Indique que SI desea instalar


la información de los headers
files (esto le será de ayuda
oportunamente)

4. YES... Ahora se creará un caché


para optimizar el rendimiento del
compilador

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 59

Configuración del compilador DevC++

5. Ha terminado de configurar
el compilador DevC++...
Presione el botón OK

6. Esto es lo que verá...


Es la interfaz de desarrollo integrado (IDE):
• Puede escribir los programas
• Compilarlos y correrlos
• Probarlos y depurarlos
• Organizarlos
... todo eso es la integración (IDE)

Prim er programa en C++

Este primer programa lo que hace es pedir 4 notas parciales de un


estudiante y calcular la nota final (la suma de las notas parciales)

Análisis del problema


Entradas: las 4 notas (N1, N2, N3, N4)
Proceso: Acumulación (suma)
Salidas: la nota final (NF)
Ejemplo:
Sean las notas N1=20, N2=15, N3=20, N4=10
El proceso es NF=20+15+20+10
La nota final será 65

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 60

Primer programa en C++

Este primer programa lo que hace es pedir 4 notas parciales de un


estudiante y calcular la nota final (la suma de las notas parciales)

Use este botón (Nuevo código fuente) para crear


el archivo donde escribirá su programa

Escriba el código del programa

Prim er programa en C++

El mismo programa anterior pero documentado con notas


explicativas, bien sea una nota de sólo 1 línea (comienzan con //),
o de múltiples líneas (encerradas entre los caracteres /* y */)

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 61

Primer programa en C++


Compile su programa...
Entonces podrá observar si presenta errores de compilación...
La lista de errores aparece en la parte inferior del DevC++.
Una vez que no hayan errores de compilación, quedan por revisar los
errores de ejecución, o errores de lógica...
Botón para compilar

D eliberadamente se quitó la llave


del comienzo del bloque main ()

Observe en esta sección el reporte que


presenta D evC++ en relación al error...
Mientras no esté familiarizado con cada
tipo de error, deberá leer
detenidamente estas instrucciones

Prim er programa en C++


Compile su programa...
Ahora se ha corregido el error mostrado en la lámina anterior...
El compilador DevC++ muestra el diálogo indicando Done (HECHO)...

Botón para compilar

Se colocó la llave que estaba


faltando

Cuando ya no hay errores


de compilación, se
muestra este diálogo que
indica que está HECHA
(Done) la compilación

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 62

Primer programa en C++


Corra su programa...
Una vez que su programa no tiene errores de compilación, puede
ejecutarlo... Ahora deberá revisar que no hayan errores de
ejecución (de lóg ica)

Botón para Ejecutar el programa

En este caso no hay errores de ejecución...


¿Cómo saber que no hay errores de ejecución?
R. Ya no hay errores cuando la salida es la misma
que se planeó en el análisis del problema!

Para asegurarse que su programa está


definitivamente correcto, deberá:
PROBAR SU PROGRAMA CON DISTINTOS CASOS
PARA EL MISMO PROBLEMA

Prim er programa en C++


Ejemplo del programa con errores de ejecución...
Se ha introducido un error (multiplicar en lugar de sumar)...
El programa compila y corre, pero NO FUNCIONA CORRECTAMENTE ...

Hay un error en el proceso...


Esto no impide que el programa se
compile correctamente...
Lo que producirá será un error en la
ejecución... Un error en la lógica...

La consecuencia de los errores de


ejecución, o errores de lógica, es
que la salida NO ES LA
ESPERADA...
Tenga a la mano el análisis y el
ejemplo del problema para que
verifique la salida de su programa...

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 63

Almacenamiento de los programas

 Prepare la carpeta donde guardará los archivos de los programas


(en su pen-drive, o disco duro).
 La carpeta debe llamarla Prog1, en la carpeta raiz
 Suponga su pen-drive en la unidad F:, entonces cree la carpeta
F:\Prog1
 Destine una carpeta para los ejercicios de cada clase
 Llámela Clase01 (ej. para la clase 1), dentro de la carpeta Prog1
 Entonces tendrá la carpeta F:\Prog1\Clase01
 Note que cada semana será una clase
 Denomine convenientemente cada ejercicio
 Use el prefijo “Ej_01”, más la secuencia semana-ejercicio...
 P.ej. El ejercicio 1 llámelo “Ej01-01.cpp” (ejercicio 1 de la
semana 1); “Ej01-02.cpp” es el segundo de la semana 1.
 El prefijo “Dm” significa “Demo”; estos los da el profesor
 Documente su programa
 Escriba en comentarios el planteamiento del ejercicio
 Escriba también, sintéticamente, un ejemplo del problema

Pasos para realizar los programas

 Realice un análisis del problema planteado


 Identifique las entradas, los procesos y las salidas
 Haga un ejemplo de la corrida del programa
 Asigne valores a las entradas definidas
 Muestre los resultados que deberán producirse
 Considere var iantes que puedan afectar la lógica planteada
 Establezca restr icciones al alcance de la solución planteada
 Afine su anális is
 Revise y haga los ajustes necesarios a las entradas, procesos y
salidas planteadas
 Tenga en consideración que el anális is de los problemas
constituye el 25% de la nota en esta as ignatura
 Escriba su programa en C++ (con la IDE de DevC++)
 Ahora sí debe proceder a transcr ib ir el programa
 Escribir el programa en C++ significa explicarle al computador
lo que debe hacer, pero usando las reglas de C++
 Compile, ejecute y depure su programa
 Deberá revisar y corregir su programa hasta tanto la salida
corresponda con lo planteado en el anális is

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 64

Otras reglas a seguir


Algunas reglas de los programas básicos en C++
 Todo programa requiere la función main
 Las variables deben ser declaradas con su tipo respectivo
 Puede declarar múltiples variables del mismo tipo en una misma línea
 Todas las instrucciones terminan en punto y coma “;”
 Use las llaves para encerrar bloques de instrucciones “{“ – “}”
 Los comandos e identificadores son sensibles a las mayúsculas –
minúsculas; p.ej. La variable “Nota” no es la misma que “nota”

Otras reglas a seguir


Reglas del estilo de programación
 Los programas deben escribirse ordenadamente
 Escriba el planteamiento del problema al comienzo de su programa
 Esto es el estilo, o métricas de programación, el orden que deben
llevar las instrucciones del programa
 Un programa con estilo correcto: a) se ve mejor, b) se entiende más
fácil, c) lo entienden mejor los compañeros del equipo de trabajo, d)
no resta nota al ser evaluado por el profesor
 Evite dejar líneas en blanco
 Use un espacio en blanco para separar comandos, operadores e
identificadores
 Escriba sólo una instrucción por línea
 Use sangría a 3 espacios para escr ib ir las instrucciones de cada
bloque

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 65

Otras reglas a seguir

Ejemplo de un programa con estilo de programación correcto


El programa que hemos revisado está correcto en cuanto a estilo de
programación... Note lo siguiente:
 La sangría a 3 espacios para el bloque main
 Los espacios entre comandos, identificadores, operadores...
 El enunciado del problema

Otras reglas a seguir


Ejemplo de un programa con estilo de programación INCORRECTO
Se trata del mismo programa que hemos revisado... Igualmente
compila y funciona... Observe que ahora está todo desordenado:
 No usa sangrías
 Los comandos y las fórmulas tienen las var iables y operadores sin
espacios, lo que dificulta su comprensión (situación que sería más
resaltante en programas largos... más tarde en este curso...)
 El programa tiene líneas en blanco (innecesarias)

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 66

 Cómo verás tienes toda la información a la mano. Así que


vamos a trabajar con todos los hierros. Estoy segura que
lograrás los objetivos que se plantearon al comenzar esta
unidad.

 No se te olvide, instala el compilador y ejercita la


sintaxis de todas las instrucciones.

 Por supuesto, ante cualquier duda pregunta somos un


equipo y te recuerdo nuestro lema

Prof. Margarita Pereira


Unidad didáctica. Elementos básicos del lenguaje 67

Fuentes de Información

Cabrera, H. (1997). Glosario de términos de computación. Monografías.com


Disponible en: http://www.monografias.com/trabajos/gloscompu/gloscompu.shtml.
[Consulta 2008, Octubre 2]

Dorrego, E. (2006). Educación a Distancia y Evaluación del Aprendizaje. RED.


Revista de Educación a Distancia, número M6 (Número especial dedicado a la evaluación
en entornos virtuales de aprendizaje). Disponible en:
http://www.um.es/ead/red/M6/dorrego.pdf. [Consulta 2008, Septiembre 19]

Lopez, G. (2003). Educación a Distancia: Evaluación. Disponible en:


http://www.ucv.ve/ead/html/educacion_a_distancia__evaluac.html. [Consulta 2008,
Septiembre 19]

Milán, M y Otros. (1997). Dimensiones del proceso de Evaluación. Monografías.com.


Disponible en: http://www.monografias.com/trabajos42/evaluacion-como-
proceso/evaluacion-como-proceso2.shtml.[Consulta 2008, Septiembre 24]

Milán, M. (s/a.) La Evaluación como un proceso participativo. Parte IV. Espacio


logopédico.com. Disponible en:
http://www.espaciologopedico.com/articulos2.php?Id_articulo=1358. [Consulta 2008,
Septiembre 28]

Parede, R. (2005). Autoevaluación y Coevaluación. Disponible en:


http://boards4.melodysoft.com/app?ID=2005AAV0101&msg=96&DOC=21. [Consulta
2008, Septiembre 22]

Rivera, G. (1997). La Educación a Distancia Vs. Nuevas tecnologías.


Monografías.com. Disponible en:
http://www.monografias.com/trabajos5/nutec/nutec.shtml. [Consulta 2008, Septiembre
24]

Prof. Margarita Pereira


UNIDAD DIDÁCTICA EN LÍNEA
“ELEMENTOS BÁSICOS DEL LENGUAJE”
PARA LA ENSEÑANZA DE LA ASIGNATURA PROGRAMACIÓN

MARGARITA PEREIRA RODRIGUEZ

UNIVERSIDAD CENTROCCIDENTAL “LISANDRO ALVARADO”


BARQUISIMETO, 2010
UNIDAD DIDÁCTICA EN LÍNEA
“ELEMENTOS BÁSICOS DEL LENGUAJE”
PARA LA ENSEÑANZA DE LA ASIGNATURA PROGRAMACIÓN

Por
Margarita Pereira Rodríguez

Trabajo de Ascenso presentado para optar


a la Categoría de Asociado en el escalafón
del Personal Docente y de Investigación de la UCLA

UNIVERSIDAD CENTROCCIDENTAL “LISANDRO ALVARADO”


Decanato de Ciencias y Tecnología
BARQUISIMETO, 2010
UNIDAD DIDÁCTICA EN LÍNEA
“ELEMENTOS BÁSICOS DEL LENGUAJE”
PARA LA ENSEÑANZA DE LA ASIGNATURA PROGRAMACIÓN

Por
Margarita Pereira Rodríguez

Trabajo aprobado

___________________________

________________________ ________________________

BARQUISIMETO, 2010
DEDICATORIA

A los seres que más amo en este mundo:


Mi Rey (mi querido esposo Mauricio)
Mi Papi y mi Mami (Antonio y Zina)
Mis Hermanos incondicionales (Zita, Luis, Toni y Conce)
Mis bellos y adorables Sobrinos
(Verónica, Alexandra, Ruth, mi princesa Catherine, Guillermo,
Jesús Antonio, José David, José Antonio)

Una vez mas gracias por ser mi Familia

iv
AGRADECIMIENTO

En primer lugar a mi Padre Celestial Dios y su Madre la Virgen María por


regalarme el don de la vida, y darme consuelo en los momentos difíciles, nunca me
fallan y me han demostrado que a través de los acontecimientos de mi vida siempre
están presentes.
Mi esposo Mauricio apoyo incondicional en todo momento Gracias por ser mi
Rey. La vida a tu lado es especial. Te amo.
Mis padres Antonio y Zina que han sido personas integras, honestas y con un
gran corazón, además de ser los mejores padres, con todo el cariño y apoyo que me
han dado a lo largo de mi vida me han hecho llevar una vida llena de satisfacciones,
siendo la más grande el honor de ser su hija.
Mi hermanita Zita, cariñosa y adorable sin tu ayuda y ánimo no habría podido
culminar este trabajo. Mil Gracias.
Mi hermano Luis y Toni siempre están ahí atentos y dispuestos a todo por
ayudarme.
Mi hermana Conce, aunque estás lejos siempre estamos juntas.
Mis Sobrinos uds. han sido fuente de mucha alegría en mi vida, cada uno con
sus ocurrencias Los quiero.
Mis amigos incondicionales Luis Mathinson y Alfredo no tengo palabras para
agradecerles su amistad.
A mis amigas María Auxiliadora, Olgita, Karlita y a los chicos de
reproducción por la colaboración prestada en este trabajo.
Al Prof. Alirio Dávila por su enseñanza, dedicación y motivación cuando
participe en el Diplomado de Docencia Interactiva en Entornos Virtuales. Ese fue el
inicio de este trabajo.
A todos mis compañeros de trabajos y a mis alumnos que de alguna manera
aportaron su granito de arena.
A todos MIL GRACIAS

v
UNIVERSIDAD CENTROCCIDENTAL “LISANDRO ALVARADO”
DECANATO DE CIENCIAS Y TECNOLOGIA

UNIDAD DIDÁCTICA EN LÍNEA


“ELEMENTOS BÁSICOS DEL LENGUAJE”
PARA LA ENSEÑANZA DE LA ASIGNATURA PROGRAMACIÓN

Autora: Margarita Pereira R.


Año: 2010

RESUMEN

La incorporación de nuevas tecnologías y la aparición de Internet, ha cambiado


fundamentalmente el proceso educativo, en todos sus sentidos, dicho de otra forma el saber
hacer, conocer, ser, vivir y convivir de cada uno de sus miembros: docentes, alumnos,
administrativos y en general de la institución, cuando se ofertan distintas modalidades de
educación (presencial, a distancia o en línea) para aprender, cada una ajustada a la necesidad
del individuo que la asume. No obstante, el uso de la tecnología (multimedia: video, sonido,
imágenes, textos) mas Internet (información y comunicación) han marcado la pauta en los
aprendizajes basados en entornos virtuales, es decir la educación en línea o virtual, la cual
favorece una población de estudiantes no atendida por razones personales, laborales,
institucionales, económicas, entre otras. Sin embargo, los cursos en línea dictados
virtualmente, requieren de adiestramiento y conocimiento por parte de los docentes
(facilitadores/tutores) que imparten dichas cursos, en lo que se refiere al manejo de la
plataforma que lo soporta (Moodle en el caso de estudio) y a la elaboración de materiales de
apoyo específicamente guías y unidades didácticas (caso de estudio). En efecto la elaboración
de éstas unidades es clave para la formación, continuidad y finalización exitosa de los
individuos (estudiantes) que deciden cursar estudios bajo ésta modalidad, por eso el objetivo
de ésta investigación es Elaborar la unidad didáctica en línea “Elementos Básicos del
Lenguaje para la enseñanza de la asignatura Programación de la carrera de Análisis de
Sistemas del Decanato de Ciencias y Tecnología de la Universidad Centroccidental Lisandro
Alvarado (UCLA). El estudio se ubica en una investigación Documental de tipo Estudio de
Desarrollo Teórico bajo la modalidad de Proyecto Especial. El diseño de la unidad didáctica
está dirigida a los estudiantes de la carrera de Análisis de Sistema que cursan la asignatura de
Programación, el procedimiento utilizado fue la revisión bibliográfica y el diseño se basó en
el modelo assure, bajo la plataforma MOODLE y la hermenéutica de la autora para condensar
y elaborar el material. Se recomienda publicarla en la plataforma MOODLE y evaluar los
resultados de su aplicación.

Descriptores: Universidad, Unidad didáctica, Educación en Línea, Programación.

vi
ÌNDICE GENERAL

p.p.
DEDICATORIA…………………………………………………………… iv
AGRADECIMIENTO……………………………………………………... v
RESUMEN…………………………………………………………………. vi
LISTA DE FIGURAS……………………………………………………… ix
INTRODUCCIÓN…………………………………………………………. 1
CAPITULO
I. EL PROBLEMA……………………………………………………... 3
Planteamiento del Problema………………………………………... 3
Obetivos……………………………………………………………. 8
Objetivo General……………………………………………….. 8
Objetivos Específicos…………………………………………... 8
Justificación e Importancia………………………………………… 9
Alcances……………………………………………………………. 11
Limitaciones………………………………………………………... 12
II. MARCO TEÓRICO………………………………………………… 13
Antecedentes de la Investigación…………………………………... 13
Bases Teóricas……………………………………………………… 16
Las Instituciones de Educación Superior y sus retos hacia la
virtulización……………………………………………………. 16

Modalidades de la Educación Superior en las Universidades….. 20


Educación Presencial……………………………………... 21
Educación a Distancia…………………………………….. 22
Educación Virtual o en Linea……………………………... 26
Materiales Didácticos digitalizados para los Cursos en
línea…………………………………………………………….. 27

vii
Sistema de Educación a Distancia (SEDUCLA), Diseño
Instruccional y Plataforma Tecnológica que publica los cursos 31
en Línea: UCLA………………………………………………...
Modelos y Teorías de aprendizaje a considerar en la
elaboración de materiales didácticos…………………………… 35
Unidad didáctica en línea hacia la construcción de los saberes... 39
Bases Legales………………………………………………………. 41
III. MARCO METODOLÓGICO……………………………………… 45
Tipo de Investigación……………………………………………… 45
Procedimiento para el Diseño y Elaboración de la Unidad
Didáctica…………………………………………………………… 46
IV. PROPUESTA DE UNA UNIDAD DIDÁCTICA…………………. 47
Especificaciones Generales…….…………………………………... 48
Unidad Didáctica “Elementos Básicos de Lenguaje” para la
enseñanza de programación………………………………………... 79
V. CONCLUSIONES Y RECOMENDACIONES…………………….. 148
Conclusiones……………………………………………………….. 148
Recomendaciones…………………………………………………... 150
REFERENCIAS BIBLIOGRÁFICAS…………………………………. 152
ANEXOS………………………………………………………………. 158
A. Programa de la Asignatura Programación..................................... 159
B. Pensum de estudio de la carrera Análisis de Sistemas.................. 169
C. Estructura organizativa vicerrectorado académico........................ 171
D. La UCLA hacia la virtualización………...................................... 173

viii
LISTA DE FIGURAS

Figura p.p
1 Estructura del Sector Universitario............................................................ 17
2 Objetivos y Principios de la Educación a Distancia…………………….. 23
3 Componentes y Ventajas de la Educación a Distancia………………….. 25
4 Significado de las siglas ASSURE………………………………………. 33
5 Modelos de Zimmerman y Garrison ……………………………………. 36
6 Teoría del Aprendizaje Social (Adaptado de Pogiolli, 2007)…………… 38

ix
INTRODUCCIÓN

Una de las áreas que ha sido mayormente afectada en la historia por los
cambios tecnológicos ha sido la educación, es por ello que todo ser humano dedicado
a la misión educadora, ha utilizado todas las herramientas tecnológicas a su alcance y
sigue buscando nuevas herramientas y materiales que le permitan enriquecer el
proceso educativo y transmitir eficazmente el conocimiento.
Es así como la Universidad Centroccidental Lisandro Alvarado (UCLA),
haciendo uso de las nuevas tecnologías de información, comunicación, mediados por
recursos de multimedia y del conocimiento y formación de todo su talento humano,
posibilitan la construcción de un nuevo espacio social-virtual, quiere decir
complementar los entornos reales (instituciones existentes) con plataformas digitales
(redes) que permitan desarrollar los procesos educativos en entornos virtuales, a
través del diseño y elaboración de materiales didácticos en línea, siguiendo un
modelo y plataforma específica dictaminada por la institución.
La presente investigación surge por la necesidad de elaborar la unidad didáctica
en línea “Elementos Básicos del Lenguaje” para la enseñanza de la asignatura
Programación de la carrera de Análisis de Sistemas de la Universidad Centroccidental
Lisandro Alvarado (UCLA). Barquisimeto Estado Lara, con el fin de incorporar los
avances tecnológicos y comunicaciones en la educación, a través de la elaboración de
materiales didácticos en línea para hacer frente a los retos que demandan los nuevos
modelos educativos, acortando espacios y tiempo.
Este trabajo esta conformado por cinco (5) capítulos que se mencionan a
continuación:
El Capítulo I, se refiere al planteamiento del problema, junto con los objetivos
de la investigación (general y específicos) que definirán este trabajo, la justificación,
los alcances y limitaciones del estudio.
El Capítulo II, está conformado por el marco teórico, en el que se encuentran

1
2

los antecedentes del estudio, las bases teóricas y las bases legales.
El Capítulo III, expone al marco metodológico, estructurado por el tipo de
investigación y el procedimiento llevado a cabo para el diseño y elaboración de la
Unidad Didáctica.
El Capítulo IV, está constituido por la propuesta que incluye todo un preámbulo
(especificaciones que debe considerar el alumno para poder cursar la asignatura de
Programación en línea) y seguidamente la elaboración de la unidad didáctica.
El Capítulo V, se presentan las conclusiones y se manifiestan las
recomendaciones de dicha investigación.
Por último, las referencias bibliográficas como apoyo de la investigación, que
fueron tomadas para el fundamento teórico y la ejecución del trabajo y finalmente los
anexos que son un aporte para sustentar la investigación.
CAPÍTULO I
EL PROBLEMA

Planteamiento del Problema

La modernidad y el vertiginoso avance tecnológico y comunicacional a nivel


mundial, obliga a todas las organizaciones e instituciones de carácter público y/o
privado, educativo y no educativo, introducirse en ésta nueva tendencia, que ha traído
consigo numerosas opciones de: estudios, recreación, investigación, comunicación,
diversión, comercialización, entre otros, cada día con más alternativas y
oportunidades en todos los ámbitos, con la posibilidad de conectarse a diferentes
lugares del mundo.
Esta tendencia que algunos le llaman espacio cibernético, otros le llaman vía
digital o conexión en línea, cualquiera que sea el nombre, abre un abanico de
oportunidades, donde millones de personas hoy día conectan sus computadoras
personales con el fin de estar en línea, haciendo uso de cualquiera de los servicios que
éste mundo virtual ofrece.
Es bueno señalar que cuando se habla de virtual se habla de un espacio ficticio,
no real, donde convergen, emergen y divergen opiniones, ideas, temas, foros,
conferencias, negocios, convenios, estudios formales, entre otros. Desde el punto de
vista informático Virtual, significa “…'algo simulado', creado por el ordenador para
llevar a cabo determinado fin. La Realidad Virtual es considerada en muchos aspectos
como el interface definitivo entre los seres humanos y el ordenador”. (Twiggyr_6,
p.1)
En otras palabras, que existe sólo aparentemente y no es real, es decir para
designar a todo aquello que tiene existencia dentro de una simulación informática,
haciendo uso de imágenes, sonido, movimiento, de tal manera que los usuarios se
sientan y perciban el universo presentado y sean transportados al otro lado de la

3
4

pantalla, haciendo uso de herramientas de informática y telemática para todos los


usuarios desde cualquier punto de vista, proporcionando una representación de
cualquier circunstancia imaginable, que no se distinga del mundo real.
Es por ello que uno de los servicios y beneficios que ofrece la virtualidad es la
formación profesional y académica de todo individuo que así lo requiera. Tanto así
que las Instituciones de Educación Superior, Tecnológicos y Universidades, han
tenido que apropiarse de dicha tecnología y ampliar su red de servicios interna
(administrativamente: convocatorias, información, comunicación, solicitudes, entre
otras) y sobre todo externamente (ofertas en cursos, diplomados, carreras de
pregrado, postgrado, doctorado y post doctorado), aperturando nuevas modalidades
de estudio para incorporar y satisfacer una demanda no atendida.
Existen diversas modalidades en la educación venezolana como es la presencial
(tradicional), a distancia y en línea que a su vez puede ser semipresencial (bimodal) o
totalmente virtual. Todo esto con el fin de incluir e integrar una posible población
estudiantil, donde el alumno será el actor principal, clave, independiente,
autodidáctico y responsable de su aprendizaje y la universidad el ente impulsor de los
mismos, manteniendo la calidad de todos sus recursos (económicos, tecnológicos y
financieros), su talento humano (personal administrativo, docente y obrero, y
estudiantes) y sus programas.
Un programa es definido por (Huget 1978 citado en Candiz e Inciarte 2006)
como “una carta descriptiva que expresa el por qué del curso, lo que se requiere
lograr, la manera como se va a llevar a la práctica, los criterios, los medios y la forma
como será revisada su efectividad” (p.1), es decir, donde se definen los objetivos de
cada unidad o tema (objetivo general, objetivos específicos), sus principios,
fundamentación, contenido especifico por unidad, estrategias a aplicar por
contenidos, entre otros, claro está que en un programa virtual las estrategias utilizadas
para la enseñanza-aprendizaje de los puntos a tratar de la unidad por supuesto
diferirán de los programas presenciales.
Lo cierto es que los programas tienen un doble propósito: para los docentes,
5

sirven de orientación y guía sobre los contenidos a dictar, las estrategias utilizadas
para que dichos contenidos se cumplan y la evaluación que deberá conducir, y para
los estudiantes les informa sobre temas que vivirá en la asignatura, la forma de
evaluación y los recursos utilizados, además que constituye un desafío en el saber ser,
conocer, hacer, vivir y convivir, de los temas previstos por unidad y por asignatura.
Un ejemplo de ello es el programa de la asignatura de Programación que se dicta en
la carrera de Análisis de Sistemas en la UCLA (ver anexo A).
No obstante, la Universidad Centroccidental “Lisandro Alvarado” (UCLA)
creada el 7 de Noviembre de 1.967, como la Universidad de la Región Centro
Occidental y el 2 de Abril de 1.979 por decreto N° 55 le da a la Universidad la
eponomía de Don Lisandro Alvarado, está conformada por siete (7) Decanatos a
saber: Medicina, Ingeniería Agronómica, Ciencias Veterinarias, Administración y
Contaduría, Ingeniería Civil, Ciencias y Tecnología, Humanidades y Artes, cada uno
ofrece distintas carreras en diferentes áreas, que contribuyen al desarrollo de la región
y del país.
Actualmente, en el Decanato de Ciencias y Tecnología se dictan cuatro (4)
carreras de las cuales tres (3) son carreras de cinco (5) años, Ingeniería en
Informática, Licenciatura en Matemática e Ingeniería de Producción y una (1) es
carrera corta o técnica de tres (3) años denominada Análisis de Sistemas, ésta última
cuenta con un pensum de estudios de 30 asignaturas distribuidas en seis (6) semestres
(ver anexo B).
Dentro de esas asignaturas se tiene la cátedra de Programación (C4), que
pertenece al eje curricular de computación y se dicta en el segundo semestre, siendo
Introducción a la Computación (C1, ubicada en el primer semestre) la asignatura que
requiere como pre-requisito y a su vez Programación es pre-requisito de Organización
de Archivos y Programación (C5 perteneciente al cuarto semestre) siendo a u vez
Organización de Archivos y Programación (C5) pre-requisito de Estructuras de datos
(C6 ubicada en el quinto semestre) por lo que se observa que Programación es una
asignatura base para la carrera, puesto que constituye parte de la columna vertebral
6

en la línea de lógica de programación; por otro lado Programación también se


relaciona con otras materias como análisis y diseño de sistemas, sistemas de
computación, métodos estadísticos, programación lineal, entre otros, es decir el
objetivo clave es, desarrollar en el estudiante habilidades y destrezas en la resolución
de problemas para construir soluciones ante la situaciones planteadas, en definitiva
enseñar al estudiante la lógica de programación bajo un lenguaje específico (en
nuestro caso lenguaje C++) y el paradigma orientado a objeto (POO), que es muy
aplicado al diseño de programas en cualquiera de las asignaturas contenidas en dicho
pensum.
Es bueno señalar que los programas que dicta la UCLA, hoy en día, lo hace
bajo dos (2) modalidades de educación, la presencial y la semipresencial en línea. La
semipresencial en línea se da, en algunas asignaturas de la carrera de Ingeniería en
Informática y en la carrera de Licenciatura en Matemática, y se adoptó desde sus
inicios en la carrera de Ingeniería de Producción (aperturada recientemente en el año
2007), las tres citadas anteriormente se dictan en el turno diurno (mañana y tarde),
dejando para la carrera de Análisis de Sistemas la modalidad presencial bajo la cual
nació y aún permanece, señalando que sus clases son dictadas en el turno nocturno
únicamente.
Es por ello que el Decanato de Ciencias y Tecnología (DCYT) en pro de abrirse
a otros horizontes, tiene como reto ofertar la carrera de Análisis de Sistemas bajo la
modalidad en línea (en un comienzo semipresencial y una vez destruidos los muros de
los errores ofertarla completamente virtual) procurando incorporar individuos con
compromisos laborales y turnos obligatorios que cumplir, para eso se debe preparar
con cursos y adiestramiento, a todo el talento humano que intervendrá en el proceso
como a los administrativos, docentes y estudiantes en ésta nueva visión.
Además de disponer de una infraestructura que lo soporte como una serie de
recursos físicos (red tecnológica, equipos de computación, entre otros), recursos
económicos (disponibles para ser invertidos), recursos técnicos y cursos en línea
donde se oferten todas sus asignaturas y por ende sus carreras, que brinden
7

oportunidades de crecimiento personal y profesional.


Y precisamente es en la carrera de Análisis de Sistemas donde se evidencia la
ausencia de cátedras en línea, mencionando como columna vertebral de dicha carrera
las asignaturas de lógica de programación como lo son: Introducción a la
Computación, Programación (caso de estudio), Organización de Archivos y
Programación, Estructura de Datos, entre otras, hecho que ocupa a la dirección de
programa de Análisis de Sistema, al Decanato de Ciencias y Tecnología (DCYT) y a
las autoridades universitarias.
Por tal motivo el Decanato de Ciencias brinda el diplomado virtual a distancia,
e invita a todos sus docentes a incorporarse y preparase para la universidad del futuro,
ésta invitación fue aceptada por la autora y en vista de la ausencia de materiales
didácticos en línea para la asignatura de Programación (específicamente la Unidad I
“Elementos Básicos del Lenguaje”), de la carrera de Análisis de Sistema, la autora
asume el desafío de ésta investigación, considerando además, las necesidades y
exigencias del entorno, entonces propone diseñar una unidad didáctica en línea,
donde el profesor se hace presente como guía, acompañador, facilitador y orientador
desde que inicia la asignatura hasta que finaliza, con una serie de actividades,
evaluaciones y autoevaluaciones bien diseñadas y planificadas, con el fin de adquirir
y construir conocimientos, además que permita al estudiantado disponer de su tiempo
y espacio para cursar dicha cátedra.
Es conveniente acotar que la asignatura de Programación, no cuenta con un
texto guía que contenga todos los temas de la materia bajo la modalidad de educación
a distancia en línea, se recuerda que en la educación a distancia la presencia del
profesor-facilitador es mediada en gran parte a través de los materiales didácticos,
puesto que los existentes están diseñados bajo una concepción tradicional no cumple
con las exigencias que exige las tendencias de la educación en línea que incentive la
reflexión y auto reflexión, el autoaprendizaje, el pensamiento crítico, el trabajo en
equipo, entre otros.
Así mismo, ésta modalidad permitirá atender a una mayor número de
8

estudiantes que aún no logran ingresar a la universidad, bien sea por actividades
laborales, obligaciones personales y tiempo que no se lo permiten, o por no aparecer
en el listado de ingreso puesto que la capacidad física no lo admite, por lo tanto, a la
modalidad presencial se le haría difícil de cubrir, en cambio la modalidad de
educación en línea permite optimizar recursos tanto físicos como financieros y muy
importante el tiempo, brindando la oportunidad a todos aquellos que asumen el reto
bajo este tipo de estudio de culminar exitosamente la asignatura y más aún la carrera
de Análisis de Sistemas.
De existir la asignatura de Programación en línea de la carrera de Análisis de
Sistema, se podrá proyectar, planificar, redireccionar, redimensionar, el programa de
la asignatura y el pensum en general de la carrera. De lo antes expuesto se desprenden
las siguientes interrogantes:
¿El diseño de la unidad didáctica en línea “Elementos básicos del Lenguaje”
para la asignatura de Programación cubrirá los contenidos de dicha unidad?
¿A través de la elaboración de la unidad didáctica se contribuirá con un material
importante para la asignatura de Programación?
La presente investigación tiene como fin, dar respuestas a esas interrogantes,
orientadas al diseño de la Unidad didáctica; es decir que ésta investigación sirva de
base metodológica a otras asignaturas y a otros programas de la carrera y de otras
carreras.

Objetivos

Objetivo General

Elaborar la unidad didáctica en línea “Elementos Básicos del Lenguaje” para la


enseñanza de la asignatura Programación de la carrera de Análisis de Sistemas de la
Universidad Centroccidental Lisandro Alvarado (UCLA). Barquisimeto Estado Lara.
9

Objetivos Específicos

Diagnosticar la situación actual de los materiales existentes y utilizados en línea


para la Unidad I “Elementos Básicos del Lenguaje”, de la asignatura de Programación
de la carrera de Análisis de Sistemas de la Universidad Centroccidental Lisandro
Alvarado (UCLA). Barquisimeto Estado Lara.
Determinar el diseño de la unidad didáctica en línea “Elementos Básicos del
Lenguaje”, para la enseñanza de la asignatura de Programación de la carrera de
Análisis de Sistemas de la UCLA.
Elaborar la unidad didáctica en línea “Elementos Básicos del Lenguaje” para la
enseñanza de la asignatura de Programación de la carrera de Análisis de Sistemas de
la UCLA.

Justificación e Importancia

Las condiciones iniciales de la educación están cambiando día a día, puesto que
las exigencias del entorno (globalización, la tecnología de información y
comunicación (TIC)) y la reducción de los recursos, se hace cada vez más latente y
presente en la sociedad, organizaciones e instituciones de educación superior, más
aún cuando se habla de las universidades públicas venezolanas como la Universidad
Centroccidental Lisandro Alvarado (UCLA) donde su presupuesto se ve mermado
año tras año.
Es por ello, que reinventarse una nueva universidad, involucra cambiar su
modalidad tradicional por una modalidad en línea, en otras palabras el espacio físico
será sustituido por un espacio virtual a través del acceso a las redes de comunicación
(Internet, Sistema de Educación a Distancia (SEDUCLA), entre otros) que favorece
la apertura de nuevas oportunidades de estudio, que llegue a las personas de todos los
estratos de las sociedades y permita mejorar la calidad de vida de su población, en un
ambiente colaborativo, cooperativo e interactivo, para conseguir un desarrollo
integral y sostenible de los individuos.
10

Sin embargo se requiere disponer de materiales didácticos en línea que vayan a


la par con los nuevos cambios que necesita la UCLA, específicamente para la
asignatura de Programación de la carrera de Análisis de Sistemas dictada en el
DCYT, donde la barrera del tiempo y la distancia se acortan por medio de la conexión
en línea a través de la Internet u otras redes que permiten la comunicación virtual
(SEDUCLA), es decir que las barreras sean traspasadas y la presencia de problemas se
minorisen, con materiales que cubran los objetivos, la ausencia del facilitador,
incorporen elementos motivacionales y estrategias que se adapten al nuevo cambio y
tipo de educación.
Frente a estas afirmaciones se propone elaborar la unidad didáctica en línea
“Elementos Básicos del Lenguaje” para la enseñanza de la asignatura de
Programación de la carrera de Análisis de Sistemas de la UCLA, puesto que “en la
educación a distancia siempre es preferible utilizar materiales propios, desarrollados
especialmente para la actividad educativa específica. Es que no se trata solo de
transmitir contenidos, sino que los mismos deben estar mediados pedagógicamente”,
Asinsten (s/año, p.27).
Es decir, debe estar impregnada en el contenido del material la presencia del
profesor que refuerza positivamente cada actividad (práctica/teórica), entusiasta,
animoso y guía al estudiante autodirigido y autorregulado, con el fin de crear lazos de
amistad, pertinencia, honestidad, sinceridad, diálogo, entre otros, entre el docente
(facilitador) y el alumno (aprendiz), y como bien se sabe cada docente tiene su estilo,
semántica y manera de tratar y llegar a sus estudiantes, además de cumplir con los
objetivos académicos y personales de los mismos, como es finalizar con éxito dicha
unidad y desarrollarles las competencias que requieren para la siguiente unidad y para
la asignatura en general.
La consecuencia de este estudio desde el punto de vista académico, se traduce
en un gran aporte para la Dirección de la Carrera de Análisis de Sistemas y el
Consejo de Decanato, puesto que se materializa el hecho, al presentar el contenido de
la Unidad I “Elementos Básicos del Lenguaje” de la asignatura de Programación de
11

la carrera de Análisis de Sistemas virtualmente, y por lo tanto servirá de inicio para


las actividades académicas en línea.
Teórica y metodológicamente hablando, servirá de base para otras unidades de
la misma asignatura, de otras asignaturas, otras carreras de la UCLA y en general de
otras universidades tanto públicas como privadas, las cuales aprovecharán el avance
de este estudio para ponerlo en práctica.
Así mismo, permitirá incorporar la carrera de Análisis de Sistemas a las nuevas
corrientes de la globalización y tendencias educativas actuales (virtualidad), y desde
el punto de vista gerencial se cubre la intención hacia la construcción de
conocimientos individuales y grupales, y extensión al abarcar una demanda
insatisfecha por los mecanismos tradicionales que tiene el sistema educativo, aún
vigentes para muchas universidades.

Alcances

El estudio de ésta investigación consiste en realizar una unidad didáctica en


línea, que abarque todo el contenido programático de la Unidad I de la asignatura de
Programación, llamada “Elementos Básicos del Lenguaje”, en ésta unidad se
plantearán éstos contenidos de una manera distinta, de fácil comprensión, para los
estudiantes y flexible para ser utilizado por redes humanas.
Además su diseño se ajustó a la plataforma con la que trabaja la UCLA para
montar los cursos en línea mejor conocida como plataforma MOODLE (Module
Object-Oriented Dynamic Learning Environment es decir Entorno Modular de
Aprendizaje Dinámico Orientado a Objetos), bajo el acceso de la red de SEDUCLA
con la que cuenta la universidad y al diseño instruccional siguiendo las pautas
emanadas por el modelo ASSURE. (Análisis de los estudiantes, Establecimiento de
objetivos, Selección de métodos instruccionales, medios y materiales, Utilización de
medios y materiales, Requiere la participación del estudiante, Evaluación y revisión).
Es bueno señalar, que ésta investigación solo propondrá el diseño y la
12

elaboración de la unidad didáctica más no su evaluación o puesta en prueba, dando


apertura a otra investigación.
Por otra parte este trabajo proporcionará un aporte académico en relación al
diseño y elaboración de la unidad didáctica a otras universidades u organismos
educativos con características similares al objeto de estudio.

Limitaciones

Una limitación que se presentó fue la ausencia de material didáctico en línea


para la Unidad I “Elementos Básicos del Lenguaje” de la asignatura de Programación
de la carrera de Análisis de Sistemas, aunado a la inexistencia de libros y guías
didácticas en línea, que se adapten de manera efectiva al contenido programático de
la unidad antes mencionada y para un buen comienzo se tomó únicamente la Unidad I
de dicha asignatura.
CAPÍTULO II
MARCO TEÓRICO

Antecedentes de la Investigación

En la actualidad no se han realizado trabajos directamente relacionados con la


investigación, sin embargo existen trabajos relacionados con el objeto de estudio,
entre ellos tenemos los siguientes:
López (2009) en su trabajo titulado “Algoritmos y Programación (Guía para
docentes)” propone una guía didáctica pero esta vez dirigida hacia los docentes, con
el fin de que los mismos dedicados al área de enseñanza de la programación,
internalicen y analicen los conceptos y algoritmos para luego enseñar a los alumnos
mediante conceptos mas sencillos y actividades.
De tal manera que su objetivo principal es el de proponer al docente que al
terminar la instrucción de algoritmos y programación con los estudiantes, el mismo
debe estar en capacidad de utilizar metodologías y estructuras secuenciales, selectivas
y repetitivas, diseñar algoritmos, traducir algoritmos a un lenguaje de programación y
depurar los procedimientos resultantes.
El trabajo concluyó, que el contenido de la guía didáctica para docentes debe
dividirse en dos periodos, el primero haciendo énfasis en las definiciones de
“Desarrollo de Habilidades para el Pensamiento” dando paso a los Algoritmos con
sus conceptos básicos, para luego entrar a Estructuras Básicas y sus desarrollos.
No obstante, ésta unidad didáctica posee conceptos y material visual muy
atractivo, dinámico e informativo, además de ser participativo con el docente al
colocarle actividades para que el proceso de aprendizaje sea didáctico.
Este estudio se relaciona con el trabajo antes mencionado puesto que, la idea es
enseñar, analizar casos identificando elementos claves, estructuras y procesos, para
proponer una serie de pasos que den solución a lo planteado, en otras palabras es
desarrollar el pensamiento y proponer un algoritmo, para luego ser traducido a un

13
14

lenguaje de programación que en el caso de estudio es C++.


Por supuesto que todo éste aprendizaje ambos autores lo proponen en forma
interactiva y dinámica, haciendo uso de gráficas, mapas conceptuales, actividades,
con una metodología sencilla que pueda llegar a todo aquel que quiera conocer y
aprender sobre lógica de programación haciendo uso de un lenguaje de programación
de alto nivel.
Para González y Zanfrillo (2007) en su investigación titulada “Entornos de
aprendizaje colaborativos para el desarrollo de estudios de posgrado”, señala que a
partir del empleo progresivo de herramientas de interacción, su incorporación a los
procesos de enseñanza y de aprendizaje contribuyen al desplazamiento del enfoque
centrado en la enseñanza y el docente, hacia el aprendizaje centrado en el grupo,
haciendo uso de las tecnologías de información y comunicación.
Por ello, se establece el marco teórico en el que se sustenten los proyectos de
unidades didácticas y generar a partir de allí propuestas de diseño para actividades
académicas, donde el aprendizaje se centra en el alumno.
Estos nuevos entornos constituyen un ambiente de aprendizaje potenciado por
la tecnología, donde el propósito consiste en la mejora de la efectividad en los
procesos de enseñanza y aprendizaje, puesto que se quiere elevar la tasa de
graduandos que en la modalidad presencial se hace cada vez más pequeña.
Esta investigación se relaciona con el trabajo antes expuesto, puesto que ambos
trabajos enfocan la educación bajo la modalidad a distancia, que por más está decir,
dicha modalidad está asumiendo un rol importante, interesante, clave y central como
medio para la formación de todos aquellos estudiantes que requieren prepararse y
formarse en un área o carrera específica.
Es así, que para muchos la ubicación geográfica representa un obstáculo,
aunado a los compromisos laborales que tienen en su mayoría los estudiantes de la
carrera de Análisis de Sistemas y por demás la inseguridad en las horas nocturnas,
puesto que dicha carrera se dicta en el turno de la noche desde las 6:00 pm hasta las
10:35 pm.
15

También, se genera una propuesta de diseño para el diseño de unidades


didácticas, cuyas pautas pueden servir de ayuda y orientación para el diseño de la
unidad que propone ésta investigación. Ambos trabajos coinciden en el aprendizaje
colaborativo o grupal donde las asignaciones y dudas son compartidas entre el grupo,
superando y ayudando a superar problemáticas, por supuesto con el apoyo del
facilitador y la ayuda de unidades didácticas bien estructuradas y de fácil manejo, así
mismo se comparten logros y conocimientos individuales a partir de su interacción
con el grupo, facilitados a través del entorno tecnológico.
Torres y Useche (2006) en su trabajo titulado “Construcción de ayudas
didácticas para la enseñanza de Programación Orientada a Objetos usando Java 5.0”
presentan la creación de materiales de apoyo didácticos para ayudar al entendimiento
de la metodología de la Programación Orientada a Objetos en Java 5.0.
En su investigación tiene como base proveer una serie de herramientas
didácticas dirigidas a los estudiantes de Ingeniería de Sistemas de la
Universidad El Bosque. Estas ayudas, buscan brindar una nueva alternativa
metodológica de aprendizaje, que permita entender de una manera mucho más
fácil los diferentes estilos de programación de alto nivel que han estado presentes a
lo largo de estos últimos veinte años, tales como la Programación Orientada a
Objetos (POO).
Es así, que entre sus objetivos se encuentra crear ayudas didácticas que
permitan aplicar los conceptos estudiados en las materias Informática III y Estructura
de Datos II, concluyendo que las ayudas que se desarrollaron facilitan el aprendizaje
de la Programación Orientada a Objetos utilizando el lenguaje JAVA; sin embargo lo
más importante es que a través de la adaptación de los conceptos de dicha
programación, y con el desarrollo de un material didáctico completo y diverso en
contenidos, explicaciones y ejemplos, el estudiante podrá afianzar mucho mejor
sus conocimientos en el campo de la programación y específicamente,
comprender la filosofía que se describe sobre el lenguaje de programación
JAVA™.
16

La investigación descrita se relaciona con la antes mencionada, puesto que


diseña una serie de herramientas didácticas generales para aprender a programar bajo
el lenguaje de programación JAVA, que es una extensión del lenguaje manejado en la
asignatura objeto de estudio (lenguaje C++); además va dirigido a estudiantes de
sistemas, que es una carrera a fin a la que pertenece la asignatura programación de la
carrera Análisis de Sistemas, todo esto con el fin de facilitar el proceso de aprehender
(aprender, desaprender y reaprender).
Tanto así, que la propuesta de sus materiales didácticos no nace solamente con
la finalidad de servir como material de apoyo, o mejor dicho, de ser un material
auxiliar al docente, sino que en un momento determinado el estudiante pueda
actualizar sus conocimientos en forma autodidacta.
Además especifica los pasos a seguir para la realización de materiales
didácticos, que pueden servir de sugerencia para el producto de esta investigación,
que es la elaboración de la unidad didáctica en línea.
No obstante, según la metodología implementada para que esta unidad didáctica
pueda ser efectiva en su totalidad el estudiante debe realizar todas las actividades
propuestas, ya que a través del auto-aprendizaje el estudiante puede alcanzar de forma
individual el conocimiento, con lo cual quiere decir que es posible aprender solo, pero
con ayuda de un material de apoyo fácil de manejar.

Bases Teóricas

Con el propósito de respaldar el marco teórico de la presente investigación se


han tomado los siguientes planteamientos para mejorar el entendimiento y/o
compresión conceptual del estudio.

Las Instituciones de Educación Superior y sus retos hacia la Virtualización

Las Instituciones de Educación Superior, son academias dedicadas a la


enseñanza o adiestramiento de los ciudadanos que deseen incorporarse y obtener un
17

título académico que tenga validez oficial y legal, el cual les permita ejercer una
profesión en tiempos futuros, estas instituciones constituyen el nivel de enseñanza
que continúa después de la primaria y bachillerato, por tal motivo recibe el nombre de
nivel superior.
Pereira, Z (2009) señala que:

Entre las instituciones de Educación Superior se pueden citar los


Tecnológicos, Colegios Universitarios, Pedagógicos y las Universidades
privadas y públicas, entre otros y conforma lo que se llama el Sector
Universitario. A continuación se mostrará un mapa conceptual detallado
de éste Sector. (p.17)

Figura 1. Estructura del Sector Universitario

Sector Universitario

Universidades Institutos Colegios Universitarios Institutos Militares


Universitarios

Público
Autónomas Público Politécnicos Privado
Experimentales
Privadas Público
Pedagógicos
Privado

Público Tecnológicos
Privado

Público Institutos
Privado Especiales

Fuente: Pereira, Z (2009: p.17)

Entre esos Institutos de educación superior se encuentran las universidades, que


no son más que recintos o casas de estudios, donde se forman profesionales en
distintas áreas y marcan una tercera etapa de estudios avanzados dentro de la
18

estructura del sistema educativo.


Entonces, González, O (s/año), define la Universidad como “un lugar en que se
enseña el conocimiento universal… compleja y plural” (p. s/n), y es así puesto que
cada individuo es un mundo, con valores, conocimientos propios y realidades
distintas, por lo tanto cada estudiante y docente es único en el saber conocer, saber
ser, saber hacer, saber vivir y saber convivir.
No obstante, en las universidades se otorgan títulos en carreras largas las
cuales tienen una duración de cuatro (4) a cinco (5) años como: Medicina,
Arquitectura, Derecho, Ingeniería, entre otros, asimismo se otorgan títulos en carreras
cortas en un tiempo de tres (3) años como: Análisis de Sistemas, Técnico Superior en
Contabilidad, Técnico Superior en Mecánica, entre otros y es así como se puede
mencionar la Universidad Centroccidental Lisandro Alvarado (UCLA) en la que se
oferta ambos tipos de carrera.
En efecto, cada carrera dispone de un pensum académico o plan de estudio y
Teruel (2000) lo define como:

…una descripción de algunos de los requerimientos que se necesitan


satisfacer para obtener un grado universitario en un área del saber. Estos
requerimientos incluyen… conjunto de asignaturas que la universidad
considera obligatorias en el área…y electivas, según los criterios de la
universidad. (p.s/n)

En otras palabras, es una malla curricular donde se especifican todas las


asignaturas que se cursan en una carrera, donde se señalan: el semestre, código de la
asignatura, unidades de créditos, número de horas teóricas y prácticas, además de los
prerrequisitos de unas cátedras con respecto a otras, desde el primer semestre hasta el
último, que cuando son carreras cortas se refiere a seis (6) semestres, tal es el caso de
la carrera de Análisis de Sistemas de la UCLA (ver anexo B); todo esto orientado a
que el alumno desarrolle plenamente sus habilidades y destrezas que se traducirían
en sus competencias.
Evidentemente cada asignatura, tiene un contenido programático, especificado
19

por unidades o temas y a su vez cada uno señala sus objetivos, las estrategias de
enseñanza y los medios utilizados para lograr el aprendizaje requerido.
La materias o asignaturas son específicas por carrera y por ello se afirma que
forman parte del pensum de estudio. Como ejemplo se puede citar la materia de
Programación que se dicta en la carrera de Análisis de Sistemas de la UCLA, cuyo
contenido se distribuye en IV unidades, la primera llamada Elementos Básicos del
Lenguaje (caso de estudio), la segunda Estructuras de Control de un Programa, la
tercera Introducción a la Programación Orientada a Objetos (P.O.O.) y la cuarta y
última Técnicas de Modelado y Programación de Objetos (ver anexo A); en conjunto
estas cuatro (4) unidades permitirán al alumno el análisis, diseño e implementación de
programas bajo el lenguaje de programación C++ que den solución a problemas
planteados, y en general a la construcción de conocimientos en el área de
programación.
Es bueno señalar que la UCLA como universidad venezolana y de la región
centroccidental ha dirigido sus esfuerzos en “…la renovación de las metodologías
educativas en lo que se suele referir como una sustitución de un “modelo centrado en
la enseñanza” por otro “centrado en el aprendizaje y en el estudiante”” (Organización
de Estados Iberoamericanos, 2009. p.1); quiere decir que éstas casas de estudios a
nivel superior, deben adaptarse a las exigencias del entorno y a los recursos tangibles
e intangibles con los que cuenta y pueden conseguir, también con respecto a la
incorporación de herramientas tecnológicas, nuevas estrategias de enseñanza-
aprendizaje y nuevas modalidades de estudios.
Las universidades con el fin de cubrir las necesidades y adentrarse a las
corrientes de la modernización en este siglo XXI, han procurado adaptarse para
construir y reconstruir modelos de educación diferentes a los que se impartían en el
pasado.
Se trata de ofrecer diferentes modelos en la educación basados en un proceso de
auto reflexión, calidad, ética, estudio de mercado, entre otros, considerando el lugar,
tiempo perfecto y las nuevas alternativas de la educación superior (virtual), como una
20

magnifica oportunidad para replantear la temática de las metodologías educativas.

Modalidades de la Educación Superior en las Universidades

En vista de la necesidad sentida de cambio que deben sufrir las universidades


para permanecer en el sistema educativo, se tienen transformaciones, mejoras y
alternativas en el proceso de enseñanza – aprendizaje. Una transformación que
persiga eficiencia, eficacia y efectividad en todos sus procesos.
Por supuesto para que ese proceso se dé, se requiere la participación activa de
los docentes y estudiantes (romper paradigmas en el saber hacer del día a día), y la
universidad como tal, dispuesta a invertir en tecnología, cursos, infraestructura y en
todo lo que fuese necesario.

Se trata de propiciar esa transformación y tener aliados puesto que:

…ninguna renovación puede tener éxito “si se plantea en contra” de


profesores y estudiantes o si acaba suscitando el “rechazo” de alguno de
estos dos colectivos, “o si no se establecen los medios que garanticen la
“formación” y el “compromiso” de los profesores universitarios. (MEC:
Ministerio de Educación y Ciencia, 2006: p.84 y 90).

Por ello, todos deben remar en un mismo sentido para que las energías no se
dispersen sino que se concentren y persigan el mismo fin bajo el lema GANAR
TODOS.
Evidentemente que la renovación consiste en ofrecer diversas formas de
estudiar, a una población estudiantil que tiene deseo de ingresar a la universidad para
superarse y tener mejor calidad de vida, sin dejar de mencionar que la universidad ha
evolucionado a lo largo del tiempo conservando principios de democratización de la
enseñanza y justicia social frente a las desigualdades educativas.
En este sentido, la idea es ofrecer y proveer oportunidades de estudio a una
población que por diversas razones no ha tenido acceso a la universidad por la vía
convencional o educación presencial o tradicional, y esto se presenta a través de las
21

diferentes modalidades en educación que brindan hoy en día la mayoría de las


universidades en Venezuela y en el mundo.
Las modalidades de la educación que persiguen las universidades para adquirir
el conocimiento consisten en las nuevas formas para crearlo, comunicarlo y trasferirlo
en un marco de desarrollo sustentable en un ambiente de respeto y tolerancia.
Es así como el proyecto de la Ley Orgánica de Educación con su Reglamento
(2001) en su artículo 43 expresa que:

La diversificación de los modelos de educación superior y de las


modalidades y los criterios de contratación, es indispensable para
responder a la tendencia internacional de masificación de la demanda y a
la vez para dar acceso a distintos modos de enseñanza y ampliar el acceso
a grupos públicos cada vez más diversos, con miras a la educación, a lo
largo de toda la vida, lo cual supone que se puede ingresar en el sistema
de educación superior. (p. s/n)

Las nuevas modalidades en la educación superior se convierten en alternativas


para la formación y actualización de los profesionales, claro está se incorporan las
nuevas tecnologías de información y comunicación como herramienta instruccional,
lo cual favorece la formación de las nuevas generaciones a través de un aprendizaje
interactivo, sin limitación de lugar, tiempo, ni ocupación, a través de vías que no
requieren una relación presencial.

Educación Presencial

Es un tipo de educación donde se identifica claramente los elementos básicos


que lo conforman como lo son: El aula, pizarrón, tiza y educador. Hommy y Otros
(1999), señalan que el proceso tradicional de enseñanza se caracteriza “…por tener a
la escuela como un ente mediador a donde acuden educadores y estudiantes en forma
presencial a trasmitir y recibir conocimientos respectivamente” (p.14).
Dicho de otro modo, la educación está centrada en el educador que es quien
suministra la información a un conjunto de individuos en un aula, espacio y tiempo
22

determinado, apoyándose en texto o algún otro material impreso y por supuesto


siguiendo un programa curricular con la aplicación de metodologías y estrategias de
enseñanza, con el fin de lograr los objetivos propuestos.
Es un tipo de modalidad que se puede decir que más o menos ha dado buenos
resultados en lo formal, pero que ha seguido patrones conductistas en un 100%, bajo
un modelo expositivo-memorístico, que para una época se consideró dio buenos
resultados. Con esto no se quiere decir que éste tipo de educación no funciona, por
supuesto que para muchos si y para otros no, todo depende del individuo (actitud –
aptitud), métodos de estudios, ocupaciones, retos, entre otros.
Este tipo de educación presencial sigue funcionando a todos los niveles de
educación (preescolar, básica, media diversificada, técnica y superior) en unos
institutos más que en otros, pero que a medida que se sube de nivel, él mismo se va
debilitando, puesto que las exigencias, necesidades y obligaciones van cambiando en
la formación de los ciudadanos, así mismo la madurez, las bases del conocimiento y
la visión de cada uno de ellos difiere en cuanto a la construcción del conocimiento y
uso de las tecnologías de la información y de la comunicación.
El caso es, que la sociedad del siglo XXI reclama otras formas de conocer y de
hacer que la educación presencial no tiene como responder y es por ello que surgen
otras maneras de aprender y enseñar, como la educación a distancia.

Educación a Distancia

Quevedo (s/año) define la educación a distancia como:

La educación a distancia es una estrategia educativa basada en el uso


intensivo de las nuevas tecnologías, estructuras operativas flexibles y
métodos pedagógicos altamente eficientes en el proceso enseñanza-
aprendizaje, que permiten que las condiciones de tiempo espacio,
ocupación o edad de los estudiantes no sean factores limitantes o
condicionantes para el aprendizaje. (p. s/n)

Entonces se habla de una alternativa educativa diferente, con una estructura,


23

objetivos propios y principios que viene a facilitar la superación, actualización y


mejoramiento de la población con o sin títulos profesionales, donde las distancias se
acortan y el uso de la tecnología es cada vez mayor.
A continuación, se presenta un mapa conceptual con los objetivos y principios
que busca la educación a distancia:

Figura 2. Objetivos y Principios de la Educación a Distancia

PERSONALIZACIÓN
Desarrollo de capacidades estudiantiles.

AUTONOMÍA
Autogestión y Autocontrol del estudiantes.
Facilitar la comunicación interactiva entre los
participantes a través de foros, chats, correo
electrónico, diálogos,
INTEGRALIDAD
Aspectos Científicos, humanísticos, tecnológicos y sociales

PERMANENCIA
Aspectos Científicos, humanísticos, tecnológicos y sociales.

Publicar contenidos o materiales didácticos


INTEGRACIÓN
Vincula Teoría-Práctica.
(para los estudiantes) Situacs reales Vida-Trabajo.

DIFRENCIALIDAD
Caracs individuales c/estudiante.

FLEXIBILIDAD
Adecua a necesidades de c/estudiante.
Facilitar actividades para que el estudiante
logre los objetivos del aprendizaje y
AUTOEVALUACIÓN
alcance las metas propuestas Desarrolla capacidad de c/estudiante.

INTERACTIVIDAD
Intercambio – interrelaciones.

CALIDAD E INNOVACIÓN
Garantiza estándares de calidad.

Fuente: Dávila y Francisco (2008,4-6). Elaboración Propia.


24

En efecto, la educación siempre ha existido y existirá con programas más o


menos flexibles y en donde se han observado claramente tres (3) entidades
interrelacionadas entre si como lo es la escuela (ente mediador que oferta y
promueve: cursos, carreras, programas y procesa: procedimientos académicos y
administrativos), el estudiante y el educador, lo que ha variado es el enfoque ajustado
a la época que lo reclama.
Por consiguiente, adaptando sus componentes a la época y a ésta investigación
se tiene que, la escuela se materializa en la Universidad (UCLA, caso de estudio)
como institución de educación superior que promueve este tipo de educación, el
estudiante y el educador se resumen en grupos de aprendizaje, puesto que se habla de
grupos colaborativos donde la comunicación y el aprendizaje es multidireccional,
aprender todos, sin dejar de mencionar que el papel del profesor-tutor es ser “GAFO”
en otras palabras, Guía, Asesor, Facilitador y Orientador, sin olvidar que también
debe ser motivador y evaluador y por último los recursos tecnológicos: textos,
direcciones electrónicas en general materiales de apoyo, como se puede observar en
la siguiente figura.
25

Figura 3. Componentes y Ventajas de la Educación a Distancia

• Una Institución que la UCLA


promueva.
Democratizar el acceso a la
Estudiantes (nuevo rol educación.
autoaprendizaje, grupos
colaborativo)
•Grupos de aprendizaje
Propiciar un aprendizaje autónomo y
Profesores (rol de tutor, ligado a la experiencia.
orientador, motivar,
asesorar, evaluar)

Impartir una enseñanza innovadora y


•Comunicación entre los grupos de calidad.
Asincrónica (foros,….) Sincrónica (chats,….)

• Recursos Tecnológicos en
General Fomentar la educación permanente
o Permiten la comunicación sin obstáculos de espacio.
o Presentación de materiales (
programa de la asignatura, guías
de estudios, textos, bases de
datos electrónicas…)
Reducir costos.
o Pruebas de Evaluación

Fuente: Dávila y Francisco (2008,4-6). Elaboración Propia.

Este tipo de educación es también llamada educación abierta y reside en las


universidades convencionales, puesto que los docentes que la imparten son los
mismos que trabajan en la educación presencial, lo que varía un poco son: sus
programas, planificaciones, actividades: formativas y sumativas y sus materiales
26

didácticos. Sin dejar de mencionar que el pensamiento de docentes como estudiantes


también difieren de la educación tradicional, en el saber hacer de dichas actividades.
Este tipo de educación a distancia se puede decir que es semi presencial puesto
que el estudiante retira sus materiales de apoyo, programas y cronogramas de
evaluación en la institución donde se inscribió y tiene su metodología en el proceso
de aprender, pero con respecto a las evaluaciones el alumno acude según el
cronograma en la fecha y en la sede donde debe presentar sus exámenes, como
ejemplo de este tipo de educación se tiene en el estado Lara la Universidad Nacional
Abierta (UNA).
Ahora bien ¿Qué sucede si las distancias son el obstáculo para trasladarse de
una región a otra?, debe existir otra modalidad que supere dicho obstáculo, y es así,
como la educación sigue experimentado cambios y da origen a la educación virtual o
en línea.

Educación Virtual o en Línea

Nace por una necesidad sentida de atender una población geográficamente


dispersa o imposibilitada para optar por estudios escolarizados, además de mencionar
la limitación del espacio físico y la disminución de costos y gastos, pero con una
ventaja significativa para la época cuando se habla de los avances tecnológicos que
han generado cambios que se ajustan a las posibilidades de los individuos.
Camacho (2005) señala que la educación virtual:

Es una estrategia educativa, basada en el uso intensivo de las nuevas


tecnologías, estructuras operativas flexibles y métodos pedagógicos
altamente eficientes en el proceso enseñanza-aprendizaje, que permite que
las condiciones de tiempo, espacio, ocupación o edad de los estudiantes
no sean factores limitantes o condicionantes para el aprendizaje. (p.s/n)

La evolución de la educación será continua y permanente puesto que la


sociedad así lo requiere, es una evolución que se da en individuos, instituciones de
educación, metodologías pedagógicas, sin duda diversos campos de actividad se han
27

acogido a la nueva tecnología para proyectarse y expandirse, puesto que Internet es


un medio eficaz para garantizar la comunicación, la interacción, el transporte de
información y, consecuentemente, el aprendizaje, en lo que se denomina enseñanza
virtual.
Evidentemente, el aprendizaje en este tipo de educación tiene su esencia y
centro en el estudiante por tanto es él quien construye su propio conocimiento bien
por estar en presencia de un estudiante autorregulado o autodirigido, lo cierto es que
el profesor-tutor simplemente proporcionará herramientas que faciliten y guíen su
aprendizaje.
Con esta nueva modalidad se quiere intención y extensión de la educación, por
supuesto haciendo uso de la telemática, informática y una participación activa y
colaboradora de todos sus miembros en la construcción y co-construcción de
conocimientos que aseguran un aprendizaje significativo (aprender a aprender) y con
una filosofía de educación para toda la vida como parte misma de la evolución del
hombre hacia el nuevo milenio.
De este modo las instituciones de educación superior deben adaptarse a los
nuevos espacios (virtuales-aula sin paredes), nuevos escenarios, instrumentos y
métodos para los procesos educativos, replantearse profundamente la organización de
las actividades educativas (complementarias a las ya existentes), mediante un sistema
educativo en el entorno virtual.
De esta manera, es bueno especificar los elementos que intervienen en dicho
sistema como son: aula virtual, tutor o profesor, programas académicos, tecnología y
materiales didácticos digitalizados, éstos últimos deben considerar en su diseño y
elaboración los factores y condicionantes de cada materia o curso en línea, que mejor
se ajuste a ellas.

Materiales didácticos digitalizados para los Cursos en Línea

Los materiales didácticos digitalizados, son todos aquellos medios que sirven
28

para facilitar los procesos de enseñanza y aprendizaje, además de desarrollar


habilidades cognitivas en sus estudiantes o usuarios, reconociendo la separación física
entre docente y estudiante, por ello su elaboración debe ser cuidadosa y reunir una
serie de condiciones que faciliten dicha comunicación.
Bolaños (citado en Aguilar, 2005), manifiesta lo siguiente:

Los materiales educativos constituyen instrumentos mediadores del


conocimiento y por lo mismo debería provocar una interacción entre el
profesor que escribe, el estudiante y el sistema, de este modo todo
material, objeto de aprendizaje, se constituye en un soporte tecnológico
portador de un mensaje intencional con miras a lograr transformaciones
en el estudiante, el mensaje por su naturaleza debe ser organizador
pedagógico, debe favorecer la construcción del conocimiento científico
estructurado intencionalmente que facilite la autoorganización y la
aprobación del conocimiento, es decir un texto científico de la naturaleza
didáctica, mediador del aprendizaje y que permita los procesos de
comprensión (p. 33).

En efecto, los materiales educativos deben ser diseñados bajo un enfoque


orientado al aprendizaje, con una estructura específica, planificada y codificada en un
lenguaje y una semántica sencilla acorde al área o a la materia para la cual se diseña,
de alguna manera debe desarrollar la relación, vinculación y articulación del
conocimiento por parte del estudiante dentro de la cátedra y entre cátedras, se
recuerda que nada es aislado y que este mundo complejo no estudia objetos
incomunicados sino el comportamiento del mismo en su sistema.
En definitiva todo material didáctico y más aún si es digitalizado (en línea) se
corresponde a una realidad concreta basada en contenidos, objetivos, características
de los estudiantes y del contexto y de las estrategias didácticas, quiere decir “…en
qué medida sus características específicas (contenidos, actividades, tutorización…)
están en consonancia con determinados aspectos curriculares de nuestro contexto
educativo” (Márquez 2005, p.1).
Entre los materiales didácticos digitalizados, mas usados se pueden mencionar
las guías y las unidades didácticas, sin el fin de menospreciar ni descalificar uno u
29

otro material, simplemente se adaptarán a las situaciones que se presenten, por lo


tanto se hace necesario una distinción entre ellas.
Vanegas 1999 (citado en Dávila 2006) presenta la siguiente definición de guía
didáctica:

La guía didáctica es un instrumento impreso con orientación técnica para


el estudiante, que incluye toda la información necesaria para el correcto
uso y manejo provechoso del libro texto, para integrarlo al complejo de
actividades de aprendizaje para el estudio independiente de los contenidos
de un curso. (p.2)

Entonces, la guía didáctica es un material que sirve de apoyo y orientación al


estudiante, donde se hacen referencias a textos o direcciones electrónicas para
reforzar o construir conocimiento y lograr el objetivo previsto.
Con respecto a la unidad didáctica García 1997 (citado en Dávila 2006) expresa
que es:

Un conjunto integrado, organizado y secuencial de los elementos básicos


que conforman el proceso de enseñanza-aprendizaje (motivación,
relaciones con otros conocimientos, objetivos, contenidos, método y
estrategias, actividades y evaluación) con sentido propio, unitario y
completo que permite a los estudiantes, tras sus estudio apreciar el
resultado de sus trabajo y el logro de los objetivos de aprendizaje. (p.19)

En otras palabras, la unidad didáctica es autosuficiente y se utiliza cuando no


existe un libro texto que cubra el contenido de la unidad o de la asignatura como tal,
además su diseño lleva consigo la originalidad de quien la diseño (profesor-tutor), de
allí la importancia de elaborar materiales propios, como es el caso de esta
investigación.
Sin duda alguna, las guías y las unidades didácticas son materiales utilizados en
la educación a distancia, que pueden ser semipresencial o en línea, en éste caso de
estudio se considerará las unidades didácticas en línea donde se ubicarán en una
dirección determinada que pertenece a una institución y a un curso específico.
30

Es bueno considerar, en la elaboración de unidades didácticas los siguientes


elementos:
Sistema de símbolos: Se refiere al uso de multimedia (imágenes, sonido, video,
texto, música), es decir material didáctico.
Contenido del material: Se refiere a la estructura y orden de presentación de la
información y sus actividades formativas, sumativas y evaluativas, los recursos
utilizados, su presentación y el estilo, “incluso tratando el mismo tema, dos
materiales didácticos pueden diferir por su mayor o menor estructuración, por los
ejemplos y anécdotas que incluyen, por los ejercicios que proponen, etc” (Márquez
2007: p.s/n)
Plataforma tecnológica: Medio por la cual se puede acceder al material, en el
caso de la UCLA se cuenta con SEDUCLA (Sistema de Ecuación a Distancia de la
UCLA) el cual se encuentra desarrollado totalmente sobre la plataforma Moodle,
versión 1.8 (entorno virtual de aprendizaje en la categoría de software libre).
Entorno de comunicación con el usuario: Se propicia a través de los
materiales como sistemas de mediación en los procesos de enseñanza y aprendizaje.
(Márquez op.cit: p. s/n)
La idea es, considerar todos los elementos que aseguren el éxito de los cursos
en línea, Delgado y Otros (2001) señalan: Justificación de la modalidad (razón por la
cual se debe desarrollar un curso en línea), población estudiantil (a quien va dirigido),
contenido: (estructurar la temática en unidades o módulos), diseño instruccional
(apegados algún formato o normativa existente en la institución que lo promueve o
seguidas por lineamientos generales de educación), exigencias de tiempo (actividades
acorde a los contenidos y tiempos establecidos para su realización), realimentación
(individual y colectiva), participación y modelación docente (agrega mayor
credibilidad) y la evaluación (debe ser especifico y seguir el cronograma de
actividades establecidos). (p. 31 y 32)
De lo antes mencionado se pretende enfatizar sobre el diseño instruccional y la
plataforma tecnológica utilizada en el desarrollo de la unidad didáctica en línea,
31

siguiendo las pautas que sugiere la UCLA.

Sistema de Educación a Distancia (SEDUCLA), Diseño Instruccional y Plataforma


Tecnológica que publica los cursos en Línea: UCLA

Las instituciones de educación superior (universidades, tecnológicos, colegios),


la globalización, y la presencia ilimitada de las tecnologías de la información y
comunicación han producido cambios significativos en sus casas de estudios, de allí
la necesidad de reinventarse nuevas modalidades de educación que permitan ampliar
las oportunidades de estudio para la sociedad “…a miles de bachilleres sin cupo,
excluidos del subsistema de educación superior de Venezuela….” Sistema de
Educación a Distancia SEDUCLA, 2007: p.s/n, y por ende la reestructuración física
con la creación de unidades de apoyo por decanato, escuelas o dependencias, que
permitan mantenerse y evolucionar en cuanto a educación a distancia se refiere.
La UCLA en pro de brindar un mejor servicio y apoyo a éste tipo de modalidad
de educación a distancia en línea (semipresencial y virtual totalmente) crea el Centro
de Innovación, Desarrollo y Transferencia de Tecnologías Educativas en el Decanato
de Ciencias y Tecnología, centro que será pilar fundamental para el desarrollo de la
educación en línea (semipresencial y virtual totalmente), y trabajará a través del
Sistema de Educación a Distancia que recibe por nombre SEDUCLA (ver Anexo C).
No obstante SEDUCLA, “Es el sistema académico, tecnológico y
administrativo encargado de la implementación, gestión y desarrollo de la modalidad
de Educación a Distancia (EaD) en la UCLA, con el objetivo de convertirla en una
universidad bimodal” (Dirección de Educación a Distancia UCLA, 2009. p.s/n), es
decir brinda oportunidades de formación a docentes y estudiantes, además de dar
soporte en cuanto a las transferencias de tecnologías educativas que se requieren, para
el desarrollo de tal educación, su misión es “contribuir con el desarrollo nacional de
la EaD con el propósito de fomentar la democratización e inclusión social, ampliando
las oportunidades de estudio de la sociedad” según SEDUCLA (2009: p.4)
32

Dentro de esta formación se encuentra el manejo de la plataforma tecnológica


y el diseño instruccional, que por supuesto cada universidad o institución de
educación tiene la opción y potestad de regirse por modelos preestablecidos ya
probados y evaluados en su aplicación, o establecer sus propias normativas o
condiciones para elaborar sus materiales educativos, claro está, que el diseño de
dichos materiales, debe obedecer a un diseño instruccional sugerido por algún modelo
adaptado a éste tipo de educación. Entre los modelos se tienen Briggs y Gagné, Dick
y Carey, ADDIE, ASSURE, 4D/Componentes, entre otros.
No obstante la UCLA orienta el diseño de cursos virtuales y la elaboración de
sus materiales didácticos a distancia en línea seguido por el modelo ASSURE que
es“…un ejemplo de un modelo que guía la selección, utilización, aplicación y
compra de medios y materiales didácticos”, (Yukavetsky 2005: p.6), para responder a
una situación didáctica en particular, y elegir el medio mas adecuado para evitar el
rezago de ciertos estudiantes en el área académica, además de discernir las
preferencias de los tipos de medios a utilizar para el grupo de alumnos y cuales serán
sus efectos.
Es bueno detallar que el modelo ASSURE, es un Sistema de Diseño
instruccional usado por docentes-tutores en un aula virtual, donde lo primero que se
hace es analizar a la audiencia, es decir analizar las características de los estudiantes,
posteriormente se definen los objetivos siguiendo una serie de sugerencias y
recomendaciones para su elaboración, una vez redactado los objetivos se procede a
seleccionar que tipo de material didáctico (guía o unidad) se debe diseñar para ser
utilizado por el docente (diseñador) o por otros docentes, claro está, que el diseño del
material debe ser motivador e inducir un accionar en el estudiante que motive su
participación, cooperación, colaboración y aprendizaje que por último debe ser
evaluado formativa y sumativamente. El siguiente mapa conceptual muestra el
desglose del significado de las siglas del modelo ASSURE.
33

Figura 4. Significado de las siglas ASSURE

Analizar la característica de
A nalyze
los estudiantes

Objetivo
S tate objectives
Definir los objetivos

Unid

S
ad

elect didá
ctica Seleccionar, elegir, modificar o
diseñar materiales

U tilize materials Utilizar materiales

R Equiere
learner Estimular la respuesta de
response los estudiantes

E valuate
Evaluación

Fuente: Heinich (1993, p. 67-116). Elaboración Propia

Entonces se siguen los pasos y se construye un ambiente adecuado y cercano al


ganar-todos (estudiantes-tutores) con el fin de que los objetivos y metas se alcancen,
a través de la dedicación completa del profesor-tutor, las ayudas de la informática que
son importantes a tiempo, el diseño de materiales didácticos adecuados, (unidad
34

didáctica caso de estudio, asunto que será tratado con detalle en el punto siguiente)
y los equipos e instalaciones de la universidad a la vanguardia, es decir una
infraestructura tecnológica que lo soporte.
Zamora (2009) señala que la infraestructura tecnológica es:

La que sustenta el sistema "virtual" de educación a distancia. Incorpora


una gran variedad de medios que de forma integrada, inmediata y
oportuna, permiten que los estudiantes de las aulas remotas tengan la
sensación de "estar ahí" en el escenario de intervención de un proceso
educativo, anulando las distancias y promoviendo un encuentro "cara a
cara" en tiempo real.(p.s/n)

En este caso incorpora una serie de elementos físicos (hardware), a través de


programas (software) que permiten la simulación y modelado de una realidad física o
presencial en tiempo real, es por ello que ambos elementos deben trabajar en forma
integrada a través de una comunicación asincrónica y sincrónica, por lo que se
considera una herramienta invaluable de comunicación, ya que constituyen la forma
de interactuar a distancia que más se aproxima a la realidad.
Se debe considerar que cada plataforma tecnológica que soporta la educación
virtual: cursos y desarrollo de materiales (unidad didáctica), tendrá requerimientos
propios-particulares que hay considerar a la hora de diseñarlos.
Por otra parte, existe un sinfín de plataformas que apoyan todas las modalidades
de la educación (presencial, a distancia, y virtual ó en línea), puesto que unas
instituciones la utilizan como herramienta auxiliar y complementaria a las clases, y
otras la emplean como herramientas para ofrecer cursos y programas, lo cierto es que
el objetivo de las plataformas en general es más o menos igual para todas, se podría
concluir que se engloba bajo un amplio rango de aplicaciones informáticas, instaladas
en un servidor cuya función es la de facilitar al profesorado la creación,
administración, gestión y distribución de cursos y al estudiante, el aprendizaje
autoindependiente, autónomo, cooperativo y compartido a través de Internet.
La UCLA opera con una plataforma tecnológica llamada MOODLE, ésta
35

también es denominada por Educación 2.0 (2009) como “…Learning Management


System (LMS), consiste en un paquete de software libre para la creación y gestión de
cursos a través de Internet, formando comunidades de aprendizaje en línea” (p.s/n).
Visto de ésta forma, no es más que una plataforma virtual interactiva, adaptada
a la formación y empleada como complemento o apoyo a la tarea docente en multitud
de centros de enseñanza en todo el mundo, tanto así que es una plataforma concebida
bajo software libre (gratuito), cuyo beneficio redunda en la adaptación-modificación
(código abierto) que puede hacerse según la institución que así lo precise.
Por lo tanto, es una herramienta pedagógica, basada en las teorías del
construccionismo y constructivismo social, que ayuda a los profesores-educadores a
crear comunidades de aprendizaje en línea, un aprendizaje constructivo y
colaborativo, considerando los modelos y las teorías de aprendizaje que deben estar
presentes en el diseño de materiales didácticos en línea como guías o unidades

Modelos y teorías de aprendizaje a considerar en la


elaboración de materiales didácticos

Es bueno señalar, que existen teorías que se deben considerar cuando se asume
el reto y la responsabilidad de diseñar materiales didácticos, en éste caso de estudio la
unidad didáctica en línea, puesto que debe llevar implícito elementos claves para el
aprendizaje independiente por parte del estudiante, quiere decir que la integración del
querer, del saber y del poder deben estar articulados, para que lo aprendido sea para
toda la vida.
Entre los modelos que se pueden mencionar se tiene el modelo de Zimmerman
y Garrison, que ubica un tipo y estilo de estudiante: activo, reflexivo, teórico y/o
pragmático, cada uno con una forma de aprender particular, que pudiese depender
de su naturaleza como persona (positivista, fenomenológica, crítica, entre otros),
del grado de madurez o simplemente de circunstancias de la vida.
Sucede pues, que el modelo de Zimmerman va dirigido a estudiantes
36

autoregulados y el de Garrison a estudiantes autodirigidos, ambos modelos tienen


diferencias y semejanzas que se logran visualizar en el siguiente mapa
conceptual.

Figura 5. Modelos de Zimmerman y Garrison

Estudiante:
• Motivación intrínseca alta. Estudiante:
•Dominio y Control de sí mismo. • Motivación intrínseca débil.
•Sabe lo que quiere y realiza acciones
para lograrlo •Trabaja de manera colaborativa,
se les debe acompañar y hacer
• Grado de Madurez alta. Prof es tutor/asesor
sugerencias: en su ritmo de
•Altamente organizado y trabajo, enfoques de aprendizaje
planificado. y formulación de preguntas
Motivación retadoras.
•Es previsivo.
•El prof. es el que da realimentación
•Proceso de aprendizaje en cualquier etapa del proceso.
independiente. Procesos cognitivos y
metacognitivas para • Requiere mayor motivación
•Toda sus actividades son conscientes. Alcanzar competencias
externa.
•Ejecuta las acciones meramente
• Proceso de aprendizaje
necesarias (distribución
Existe AutoEvaluación dependiente ( mayor intervención
equitativa de sus energías).
y AutoReflexión del tutor para dirigirlo).
•El estudiante es quien realiza su
proceso de realimentación.
•Requiere tener a su disposición
•Es emprendedor. todos los recursos y materiales
•El aprendizaje está basado en su necesarios.
progreso y no en su competición.

Fuente: Francisco y Dávila (2008,1-5). Elaboración Propia.

Sin embargo, es bueno señalar que existen estudiantes con metas claras,
centrados y con un alto grado de madurez, capaces de dirigir su propio aprendizaje,
37

son organizados y toman sus propias decisiones, se autoevaluan y corrigen sus


acciones en función de las metas trazadas (son autorregulados), con estos estudiantes
se aplicaría el modelo de Zimmerman, reduciendo esfuerzos por parte del
profesor/tutor, puesto que son estudiantes que tienen una alta motivación interna.
En cambio, existen otro tipo de estudiante que también tienen sus metas, pero
hay que orientarlos, dirigirlos y canalizar sus acciones, ya que pueden decaer
fácilmente ante un acontecimiento no exitoso, entonces hay que ayudarlos a superar
los obstáculos, teniendo presente que el esfuerzo, dedicación y seguimiento por parte
del facilitador es mayor para lograr desarrollar en ellos las competencias y el
autoaprendizaje, es decir que tomen la iniciativa de su aprendizaje, éste tipo de
alumno requiere la aplicación del modelo de Garrison (autodirigido).
Bien, como docente-facilitador se debe estar preparado y considerar las
características de ambos estudiantes, para que de una u otra manera estén presentes en
la elaboración de los materiales didácticos en línea, en cualquiera de los modelos el
profesor/tutor debe hacer el papel de:
G -> Guía

A -> Acompañador

F -> Facilitador

O -> Orientador

En vista de que el aprendizaje en línea debe ser participativo, colaborativo,


compartido y cooperativo, en una red social de aprendizaje, considerando que los
participantes son talento humano con sentimientos, emociones, conocimiento y
habilidades, no se puede dejar de hablar del modelo adaptado de Pogiolli, que se
presenta a través de la siguiente figura:
38

Figura 6. Teoría del Aprendizaje Social (Adaptado de Pogiolli)

ELEMENTOS:
Auto-Evaluación
Auto-Reflexión

AFECTIVAS SENTIMIENTOS

Posee Control de:

Estudiante COGNITIVA PENSAMIENTO

ACCIONES
HABILIDADES

Fuente: Francisco y Dávila (2008,5). Elaboración Propia.

Es evidente, que los seres humanos son un todo (integrados-holísticos) y que no


se debe fragmentar al individuo en partes, puesto que se estaría incurriendo en el
modelo de educación tradicional, por lo contrario, diseñar materiales y en ellos
estrategias donde el estudiante, a través de las instrucciones y actividades de la
unidad o guía didáctica sienta y perciba, sentimental y emocionalmente apoyo del
facilitador y porque no del resto de sus compañeros o red social de aprendizaje donde
39

él es participativo, claro está induciendo en el estudiante un proceso autoreflexivo y


autoevaluativo de todas sus acciones, con el fin de modificar, mantener y/o redirigir
su comportamiento y métodos aplicados.
En definitiva, la integración, relación y vinculación de cada uno de los
elementos que forman parte de los modelos y la teoría de la educación en línea hacen
un todo, y son indispensables, para que todo el sistema funcione, lo interesante es la
revisión constante y actualización de todos los elementos, especialmente los
materiales didácticos de apoyo que se elaboran (guías y unidades), se recuerda que se
está en presencia de una sociedad globalizada, tecnificada que reclama nuevos
modelos y pensamientos educativos, de allí la actualización permanente de un
material eficiente que llegue a cada estudiante con su estilo propio de aprendizaje,
atemperándose a las necesidades cognitivas, emocionales, personales, y sociales de
los mismos, con el fin de que cada uno de ellos construya sus propios conocimientos
y saberes.

Unidad didáctica en línea hacia la construcción de los saberes

El diseño y la elaboración de una unidad didáctica en línea, requiere un


esfuerzo personal y profesional por parte del docente y “…una extensa planeación y
evaluación formativa del material y de los cursos” InfoMed (1998, p.s/n), es decir
deben ser capacitados y formados para que el producto de su recurso didáctico sea de
calidad.
InfoMed (op.cit) apunta que “Los alumnos rinden mejor cuando el programa y
los materiales de la clase están bien presentados. El uso de imágenes y gráficas, así
como interactividad contribuye a la comprensión por los alumnos del curso.” (p.s/n),
ésto no es más, que la planeación, organización y elaboración de materiales acorde a
los objetivos y metas del curso o de el tema a desarrollar en una unidad didáctica,
además de hacer uso racional de imágenes, audio, video, textos, entre otros, que
sostenga la atención, la concentración y la participación de los estudiantes (usuarios)
40

sin desviar el objetivo inicial que es aprehender (aprender, desaprender y


reaprender) y contribuir a un aprendizaje significativo de quienes acceden a estas
opciones de educación superior.
Por supuesto, un aprehender individual, que se trata de un autoaprendizaje en el
estudiante, además de un coaprendizaje compartido entre estudiantes-estudiantes
(aprendizaje colaborativo y cooperativo) y entre estudiantes-profesor (realimentación
y refuerzos a tiempo), a través de una comunicación sincrónica y asincrónica, según
lo establecido y acordado en la unidad didáctica, de allí la responsabilidad del
profesor-tutor en el diseño y desarrollo de la unidad, puesto que el éxito o fracaso del
estudiante, se deberá en gran medida al diseño de la unidad, su claridad y que tan
explicito se exprese su contenido y las actividades a realizarse de manera justa y no
rebuscada.
Lo cierto es, que el aprendizaje es autónomo por parte del estudiante, pues es
quién organiza su tiempo, espacio y selecciona la técnica de estudio que se adapta a
su naturaleza y su saber conocer, es él quien toma la decisión de enfrentarse a un
nuevo reto y una nueva aventura bajo una alternativa de educación virtual.
De modo pues, que tanto el estudiante como el profesor-tutor son co-
responsables del aprendizaje, y una autorreflexión de ambas partes lleva a determinar
sus fortalezas y debilidades en el manejo de las herramientas tecnológicas (TIC) y de
la comunicación (Internet).
Cabe considerar que el mercado laboral cada vez es más competitivo y adquirir
nuevas habilidades y conocimientos, sin duda alguna ampliará su visión como
estudiante o profesional y potenciará su perfil laboral, con la oportunidad que se le
brinda al estudiante de formarse con libertad en su tiempo, su lugar y su ritmo,
siempre acompañado por el docente (tutor) y el equipo de compañeros que sin duda
alguna ayudarán a construir el conocimiento.
41

Bases Legales

En líneas generales puede decirse que las investigaciones deben sustentarse en


un basamento legal.
Curci (2003) en un Diagnóstico de la Educación Superior Virtual en Venezuela
y con la participación de todas las Instituciones de Educación Superior, muy
especialmente de las Universidades tanto oficiales como privadas, y con la
participación de sus Vicerrectores Académicos y/o encargados o coordinadores de la
educación, realizó un informe donde se señala que:

En Venezuela no existe una ley de Educación Superior y mucho menos de


Educación Superior Virtual. Existe la Ley Orgánica de Educación…Estas
incluyen la educación tradicional presencial…Todas las universidades
incluidas en este estudio se guían por las normas propias de la modalidad
presencial, ya que no existe un marco específico en la actualidad para la
modalidad virtual e internamente se rigen por políticas y procedimientos
definidos por la propia institución. (p.49)

Por consiguiente, en esta investigación se considerará el Reglamento de la


Educación a Distancia de la UCLA (2009), en todo lo que se citará posteriormente.
En su Título I de la Educación a Distancia en la UCLA Capítulo I de las
Disposiciones Generales, en el artículo 1, establece que:

La UCLA adopta la modalidad de Educación a Distancia (EaD) para


ampliar sus oportunidades de estudio, diversificar su modelo educativo,
aumentar su matrícula, y operacionalizar el principio constitucional de
que la educación superior es un derecho para todos los ciudadanos, sin
más limitaciones que las derivadas de sus aptitudes, vocaciones y
aspiraciones. (p.1)

El mismo Reglamento en el Capítulo I de las Disposiciones Generales, en el


artículo 2, señala que:

La UCLA abre sus espacios académicos y administrativos, y toda su


estructura organizativa para cumplir con el mandato constitucional
42

ineludible de promover una educación democrática, incluyente y al


alcance de todos los venezolanos aptos para seguir estudios superiores.
(p.1)

La presente investigación se relaciona con los artículos antes mencionados,


puesto que la UCLA en su afán de incorporarse a nuevas corrientes de mercado y
modernización, está en procesos de cambios, para ofertar una nueva modalidad de
educación diferente a la tradicional como lo es la educación a distancia
semipresencial y virtual en un futuro próximo, en la formación de los profesionales y
en la preparación de materiales didácticos, con el fin de incorporar a una masa
estudiantil que aún no ingresa a la universidad por distintas razones.
Y considerando, que la educación es un derecho de todos y para todos los
ciudadanos la UCLA adopta ésta modalidad de educación a distancia, extendiendo
sus ofertas académicas a un sinfín de individuos interesados en ingresar a éste recinto
universitario, derribando los muros de los espacios geográficos, tiempo, técnica de
estudios, entre otros, cumpliendo con el compromiso de la equidad y justicia social.
El Reglamento citado en su Título I de la Educación a Distancia en la UCLA en
el Capítulo I de las Disposiciones Generales, en el artículo 3, expresa:

Las disposiciones contenidas en este Reglamento proporcionarán los


fundamentos normativos internos para planificar, desarrollar y ejecutar
programas académicos bajo la modalidad de EaD en perfecta coexistencia
con programas similares ofrecidos en el marco del modelo educativo
presencial de la Institución. (p.1)

El presente trabajo se relaciona con el artículo anterior, puesto que toda las
instituciones de educación superior debe regirse por leyes y/o normas en su saber ser
y hacer, es así como la UCLA establece un reglamento interno, producto de las
experiencias de otras universidades que en ésta tarea presentan un avance mayor, y a
opiniones de expertos en la materia. Esto le permite impartir educación bajo la
modalidad a distancia y ofrecer diversos programas académicos bajo un sustento
legal, asegurando su éxito y calidad, por supuesto alineados con la ley orgánica de
43

educación, la ley de universidades y la constitución de la República Bolivariana de


Venezuela.
En el Título II del Sistema de EaD en la UCLA (SEDUCLA) Capítulo IV de la
Estructura y Organización del SEDUCLA, el artículo 13 parágrafo J indica que una
de las funciones del consejo de EaD de SEDUCLA es: “Brindar apoyo metodológico
para la gestión de la EaD, mediante la definición de programas de formación y
capacitación del recurso humano para la EaD en la UCLA. (p.5)
La presente investigación se relaciona con el artículo antes mencionado, puesto
que el Decanato de Ciencias y Tecnología de la UCLA, promueve curso de formación
a todo su personal docente a través del Diplomado Docencia Interactiva en Entornos
Virtuales de Aprendizaje, diplomado que se dicta en línea en forma semipresencial,
con el fin de incorporar a todos sus docentes en la universidad del siglo XXI.
En el artículo 13 parágrafo P del Capítulo IV, del citado reglamento, de la
Estructura y Organización del SEDUCLA, señala que otra de las funciones del
consejo de EaD de SEDUCLA es:

Establecer y aprobar lineamientos para la producción de materiales


didácticos como recursos de apoyo para los estudiantes de los cursos o
programas a distancia, y pronunciarse sobre el cumplimiento o no de los
requisitos establecidos para la elaboración de los mismos, otorgando el
aval o veto correspondiente para su distribución. Todos los materiales
didácticos deberán ser sometidos a aprobación, en primera instancia por
las Comisiones de EaD en cada Decanato, y en última instancia por el
Consejo de EaD (p.6)

El presente trabajo se relaciona con el artículo anterior, puesto que la UCLA a


través de su diplomado a distancia de docencia interactiva en entornos virtuales de
aprendizaje, provee lineamientos en lo que respecta a la elaboración de materiales
didácticos guías o unidades (caso de estudio), siguiendo las pautas del Modelo
ASSURE para su elaboración y publicación en la plataforma tecnológica MOODLE.
Tal es el caso del desarrollo de ésta unidad didáctica en línea para la asignatura de
Programación de la carrera de Análisis de Sistemas, la cual fue diseñada bajo estos
44

lineamientos.
Del Reglamento de la Educación a Distancia en la UCLA (op.cit) en su Título
V del personal docente en el Capítulo X de los Facilitadores, en el artículo 45 trata,
que de las atribuciones de los facilitadores se tiene en el parágrafo c lo siguiente:
“Elaborar materiales didácticos para facilitar el estudio de las Asignaturas u otras
Unidades Curriculares que administra”. (p.17).
Así mismo, en el Capítulo XIX de los Materiales Instruccionales en el artículo
88 en el parágrafo segundo dictamina que “El diseño y la elaboración de los
materiales instruccionales tendrán como principio rector el desarrollo de una
educación centrada en el aprendizaje y no en la enseñanza, en el estudiante y no en el
profesor, donde se facilite el aprendizaje autónomo, autorregulado y colaborativo de
los estudiantes” (p.30)
Los artículos antes mencionado se relacionan con el objeto de estudio, pues es
tarea del docente-facilitador diseñar y elaborar materiales didácticos para las
unidades, temas ó cátedras que imparte, siguiendo por supuesto los lineamientos
establecidos por SEDUCLA y considerando en el desarrollo de dicho material las
teorías, refuerzos, aprendizajes, plan de actividades evaluativas: formativas y
sumativas que se consignen, bajo un ambiente participativo y colaborativo, en un
ganar todos, como es el caso de la unidad desarrollada en ésta investigación.
CAPÍTULO III
MARCO METODOLÓGICO

Tipo de Investigación
Se realizó una investigación Documental de tipo, Estudio de Desarrollo Teórico
bajo la modalidad de Proyecto Especial. Las “Normas para la Presentación de Trabajo
de Grado” de la Universidad “Fermín Toro” (2001) entiende que la investigación
documental es:

El estudio de problemas, con el propósito de ampliar y profundizar el


conocimiento de su naturaleza, con apoyo, principalmente, en trabajos
previos, información y datos divulgados por medios impresos,
audiovisuales o electrónicos. La originalidad del estudio se refleja en el
enfoque, criterios, conceptualizaciones, reflexiones, conclusiones y
recomendaciones y en general, en el pensamiento del autor. (p.19)

Por otra parte, es Estudio de Desarrollo Teórico, puesto que “consisten en la


presentación de nuevas teorías, conceptualizaciones o modelos interpretativos
originales del autor, a partir del análisis crítico de la información empírica y teorías
existentes” (p.19) según las Normas para la Presentación de Trabajo de Grado de la
Universidad “Fermín Toro” (op.cit)
Y de modalidad especial, según las “Normas para la Presentación de Trabajo de
Grado” de la Universidad “Fermín Toro” (op.cit) lo señala como:

“La demostración de la necesidad de la creación o de la importancia del


aporte… susceptibles de ser utilizadas como soluciones a problemas
demostrados, o que respondan a necesidades… puedan producir un
aporte significativo”. (p.21).

Por lo tanto, la investigación a realizar consiste en Elaborar la Unidad Didáctica


en línea “Elementos básicos del Lenguaje” para la enseñanza de la Unidad I del
contenido programático de la asignatura de programación de la carrera de Análisis de
Sistemas de la Universidad Centroccidental Lisandro Alvarado (UCLA).
Barquisimeto Estado Lara.

45
46

Procedimiento para el Diseño y Elaboración de la Unidad Didáctica

Para realizar el diseño y propiamente la elaboración de la Unidad Didáctica


cuyo objetivo central es lograr el aprendizaje independiente de los estudiantes que
decidan cursar bajo la modalidad semipresencial la asignatura de Programación de la
carrera de Análisis de Sistemas de la Universidad Centroccidental Lisandro Alvarado
(UCLA), se tomo como base el programa instruccional actual (ver anexo A) y se
realizaron las siguientes actividades:
 Revisión y selección de literaturas en cuanto al contenido programático de la
asignatura Programación, modelos de diseño y plataforma tecnológica.
 Revisión de las características de la educación a distancia.
 Revisión de las características y principios que deben tomarse en cuenta para el
diseño y elaboración de materiales didácticos utilizados en la educación a
distancia.
 Revisión y comprensión del esquema de planificación sugerido por el Modelo
ASSURE.
 Revisión de unidades didácticas utilizadas para la modalidad de Educación a
Distancia.
 Revisión de los lineamientos para elaboración de unidades didácticas según
estándares propuestos por la Dirección de Educación a Distancia (SEDUCLA) de
la Universidad Centroccidental “Lisandro Alvarado”.
 La experiencia y el análisis (hermenéutica) crítico de la autora.
CAPÍTULO IV

PROPUESTA DE UNA UNIDAD DIDÁCTICA

Construyendo conocimiento con ingenio propio


Margarita Pereira

El siguiente material, ha sido producto de revisiones bibliográficas y más que


eso de mi experiencia de trabajo de muchos años dedicadas a la docencia, en el
ámbito de la computación específicamente en él área de programación y de la
inteligencia artificial, además de mis conocimientos en los que asumo aciertos y
errores en un proceso reflexivo, coconstruido en el intercambio de conceptos y
opiniones con mis colegas y porque no, con mis estudiantes a lo largo de mi ejercicio
profesional como docente, ingeniero y magíster en el área de inteligencia artificial.
Mi idea fue elaborar un material didáctico, plenamente integrado en las nuevas
tecnologías de la educación, ameno, divertido, jocoso, agradable, fácil de entender y
manejar, en un lenguaje sencillo y por sobre todo, manteniendo la motivación y mi
presencia (no estando presente), donde el estudiante perciba y sienta el respaldo con
todos los refuerzos que yo pueda darle a lo largo del material presentado.
Espero que este material cubra las expectativas a quienes quieran seguirlo, y
adquieran los conocimientos y objetivos esperados. Por ello, considerando que la
Unidad Didáctica propuesta en este trabajo corresponde a la Unidad I (Elementos
básicos del Lenguaje) del contenido programático de la asignatura de Programación
de la carrera de Análisis de Sistemas, la cual fue concebida para ser montada en la
plataforma de SEDUCLA en el proyecto de la carrera de Análisis de Sistemas en
modalidad semipresencial (bimodal), es necesario definir una serie de aspectos
generales referentes a la asignatura, así como también indagar sobre los
conocimientos previos, habilidades y destrezas que debe poseer el estudiante para
cursar esta asignatura en línea y además como factor indispensable darle al estudiante
unas orientaciones generales para el estudio independiente y de esta manera asegurar

47
48

el autoaprendizaje por parte del propio alumno.

ESPECIFICACIONES GENERALES

A continuación se presentan las especificaciones generales que debe tomar en


cuenta el alumno para cursar la asignatura de Programación en línea.
49

Datos Generales de la Unidad Curricular y de los


Facilitadores

Datos Generales de la Unidad Curricular


Nombre Programación
Carrera a la que pertenece Análisis de Sistemas
Decanato Ciencia y Tecnología
Departamento Sistemas
Código C4
Semestre II
Nro. de Créditos 4
Pre – requisitos C1
Prelaciones C5
Coordinador (a) de la Unidad Curricular
Nombre y Apellido Teléfonos Correo Electrónico
Prof. Giovanni Torrealba 0414-5229063 g_torrealba@ucla.edu.ve
Profesores o Tutores que Administran la Unidad Curricular
Nombre y Apellido Teléfonos Correo Electrónico
Prof. Margarita Pereira 0414-3507227 mpereira@ucla.edu.ve
Prof. Rosa Díaz 0414-5228989 rosad@ucla.edu.ve
Prof. Olga Palma 0416-6577253 olgapalma@ucla.edu.ve
Prof. María A. Pérez 0416-6570056 marperez@ucla.edu.ve
Prof. Glennys Clemant 0416-2564733 gclemant@ucla.edu.ve
Prof. Giovanni Torrealba 0414-5229063 g_torrealba@ucla.edu.ve
Autor de la Guía Didáctica
Nombre y Apellido Teléfonos Correo Electrónico
Prof. Margarita Pereira 0414-3507227 mpereira@ucla.edu.ve
50

Introducción. Justificación de la Asignatura

En el mundo actual, se observa una creciente evolución en materia de


tecnología, a esta realidad no escapa el manejo de la información haciendo uso del
computador. Esta evolución trae consigo la comercialización masiva de productos
tecnológicos, cuyo objetivo es mejorar los procesos, obteniéndose así rapidez y
precisión en los resultados. En general, el estudio de la informática se fundamenta en
el tratamiento automático de la información, la forma de representarla internamente y
su procesamiento, esto conlleva al análisis, diseño, desarrollo (implementación) y
verificación (comprobación) de programas de computación que permitan resolver
problemas de cualquier ámbito (académico, social, económico, político, comercial,
científico, de la vida diaria, entre otros) en forma efectiva.

Es por ello, que esta asignatura debe propiciar una sólida preparación
profesional expresada en una mejor calidad, preparación y actitud ante la aparición
continua de nuevas herramientas de programación, diseñadas en función de nuevos
enfoques y metodologías para el análisis y resolución de problemas; además de la
estandarización de procesos y las tendencias al uso de herramientas tecnológicas que
obligan tanto al estudiante (participante) como al profesor (facilitador) a que se
encuentren en una constante revisión y actualización.

La asignatura de Programación es de carácter teórico-práctico, persiguiéndose


simultáneamente el análisis y resolución de problemas con la sistematización de
principios y conceptos propios de la informática, que acople el desarrollo del
pensamiento lógico y la formación integral de los profesionales que trabajaran en ésta
área. Por otra parte, esta asignatura es básica del eje curricular de computación, se
encuentra articulada verticalmente con “Introducción a la Computación” (ubicada
en el 1er. semestre) como pre-requisito y prelación de la asignatura “Organización
de Archivos y Programas” (ubicada en el 3er. semestre).

La asignatura esta estructurada de manera que el estudiante podrá ser capaz de


desarrollar programas que resuelvan problemas de cualquier índole, aplicando una
metodología bajo el paradigma de la Programación Orientada a Objetos, haciendo uso
del patrón de diseño “Modelo-Vista-Controlador” para finalmente ser implementados
en algún lenguaje de programación.

Desde esta perspectiva, es indispensable que el estudiante de la carrera de


Análisis de Sistemas, a través de la secuencia de asignaturas de programación,
desarrolle progresivamente habilidades para analizar, diseñar (haciendo uso de
alguna metodología), implementar (con algún lenguaje de programación) y probar
programas eficientes utilizando tecnologías de punta. Es importante destacar, que las
actividades de analizar, diseñar, construir ó implementar y probar programas
51

constituyen en su conjunto uno de los pilares fundamentales en la formación del


“Analista de Sistemas”.

Es importante resaltar que la programación es...


 Un arte que requiere de creatividad cuyo resultado es el nacimiento de algo nuevo, en
realidad es la base de la auto-expresión. Esta expresión proviene de todas nuestras
experiencias, sueños, educación y deseos.
 Un trabajo práctico que se basa en una serie de técnicas y herramientas con un objetivo
particular y que requiere talento, creatividad, imaginación y en algunos casos mucha práctica
y paciencia.
 Una actividad dedicada que requiere detalle, tienes que saber escuchar, interpretar, analizar
para encontrar la mejor manera de resolver los problemas y en algunos casos realizar
pequeños milagros. Si bien es cierto que existen diversas maneras de resolver un problema
algunas más o menos complejas, elegantes, rápidas, fáciles, entre otras, eres tú el encargado
de decidir de que manera resolverás el problema. Aranda, C. (2007, p.s/n)

Muchos aseguran que el “programador nace” y “no se hace”, en realidad


considero que hay dos tipos de programador: el primero es el innato nace con esa
destreza no le cuesta sencillamente tiene el don de la programación “éste es el
programador que nace”, el segundo es el que debe dedicarse, invertir más tiempo,
estudiar un poco más, pero una vez que comprende e internaliza los procesos lógicos
involucrados en el desarrollo de un programa de computación, ya esta listo “éste es el
programador que se hace”; precisamente es el que necesita algún tipo de “empujón”
ó “ayuda” de tal forma que disfrute la programación.

El secreto de la programación esta en la lógica.


El concepto es simple hacer que la computadora haga lo que quieras que
haga

El contenido programático de la asignatura esta dividido en cuatro unidades:


⇒ Unidad I trata de los elementos básicos de un lenguaje de programación.
⇒ Unidad II se hablará sobre las diversas estructuras de control de un programa.
⇒ Unidad III contempla todo lo relacionado con la introducción a la programación
orientada a objetos.
⇒ Unidad IV aprenderás sobre las técnicas de modelado y programación de objetos.
52

En general, los materiales didácticos que se presentarán a lo largo de la


asignatura te servirán de orientación para promover tu autoaprendizaje y
autoevaluación. Por lo tanto, no tengas miedo, siempre te estaré apoyando, recuerda
que no estas sólo, somos un equipo (tú, tu profesor y tus compañeros) que trabajará
en forma colaborativa, pero no olvides que debes tener tu propio control por lo que
debes diseñar tu propia estrategia de aprendizaje planificando racionalmente tu
tiempo, elaborando tus propios esquemas de conocimiento para alcanzar el
aprendizaje a partir de la sucesión de experiencias, que te permitan contrastar tus
propias ideas y modificar tus conocimientos cuando sea necesario y además debes
estar pendiente y revisar al menos dos veces por semana las actividades de evaluación
(formativa y sumativa) que se presentarán en cada unidad de estudio. Debes
considerar la importancia que tienen las evaluaciones formativas, que si bien es cierto
ellas no suman puntos para tu calificación final pero te ayudarán a reforzar y aclarar
dudas de los conocimientos adquiridos y esto te servirá para autoevaluarte.

Estoy segura que puedes lograr el éxito en esta asignatura, recuerda tu rol en
este proceso, en donde tú eres el actor principal, pero la práctica constante a base de
prueba y error te permitirá ir perfeccionando tus técnicas, mejorar y desarrollar tus
habilidades. No olvides que debes llevar la asignatura al día, revisando los materiales,
interactuando en los foros, chats que se programen a lo largo del curso, con estos
podremos intercambiar opiniones, aclarar dudas, presentar posibles soluciones o
ayudar a resolver o responder dudas de tus compañeros. Es muy importante que
mantengas siempre una actitud positiva, activa y participativa.

No olvides que somos un equipo y nuestro lema será:

El objetivo final es que cada uno aportará su granito de arena y todos


aprenderemos de todos, así que es hora de calentar los motores y comenzar con esta
aventura de la PROGRAMACIÓN.
53

Objetivos de Aprendizaje

Al finalizar esta asignatura podrás realizar las siguientes actividades que


te ayudarán a la solución de problemas de cualquier ámbito académico, social,
económico, político, comercial, científico y de la vida diaria entre otros.

 ANALIZAR los problemas identificando las ENTRADAS, PROCESO Y


SALIDAS que permitan alcanzar la solución de los mismos.

 DISEÑAR solución a problemas, aplicando la metodología de modelado


unificado UML y el patrón de diseño MVC (Modelo Vista Controlador).

 ELABORAR programas aplicando el paradigma de la PROGRAMACIÓN


ORIENTADA A OBJETOS, incluyendo la documentación de los mismos.

 UTILIZAR un lenguaje de programación para la implementación de los


programas.

 EVALUAR los programas para chequear que realizan las tareas para las que
fueron diseñados, es decir producen los resultados correctos y esperados.

 GENERAR tu propio estilo de programación, realizando estándares en los


programas en lo que se refiere a los identificadores de variables, constantes,
nombres de funciones, identación y comentarios.

 DESARROLLAR actitudes investigadoras que fomenten el aprendizaje


autónomo.

 VALORAR la utilidad de la programación como herramienta que apoya y


facilita el trabajo de otras áreas.

 VALORAR la importancia de la claridad y legibilidad de los programas para


facilitar su mantenimiento.

 POTENCIAR el hábito del trabajo en equipo.


 RESPETAR el trabajo, ideas y opiniones de los demás.
54

Conocimientos Previos y Habilidades

Como esta asignatura pertenece al eje curricular de computación y requiere


que hayas cursado y aprobado la asignatura de “Introducción a la Computación”
del 1er. semestre de la carrera de Análisis de Sistemas, debes dominar los siguientes
aspectos:

 CONCEPTOS BÁSICOS: Computador, programa, instrucción, lenguaje de


programación, componentes físicos y lógicos de un sistema de computación.
Te recuerdo que los componentes físicos están relacionados con el hardware,
es importante saber para que sirve la unidad central de procesamiento y cuales
son los dispositivos periféricos de que dispone un sistema de computación.
Los componentes lógicos se refieren al software (programas) aquí se
encuentran los sistemas operativos, los traductores de lenguajes y los
programas de aplicación.

 ALGORITMOS: Para que sirven, cuales son sus características y la forma de


representarlos.
Debes saber:
⇒ Desarrollar algoritmos usando un pseudocódigo que tenga establecidas sus
estandarizaciones. Por supuesto, en el algoritmo debes identificar cuando
se justifica el uso de constantes y variables aplicando nombres
(identificadores) válidos, reconocer las expresiones aritméticas, lógicas y
relacionales,
⇒ Utilizar las estructuras secuenciales, selectivas o alternativas (si condición
entonces acción ..... de lo contrario acción ....) y repetitivas (repita
mientras una condición, repita hasta condición, haga desde valor inicial
hasta un valor final).
⇒ Construir condiciones simples y compuestas necesarias en las estructuras
selectivas y repetitivas, tener claridad en lo que representa un dato
centinela y la iteración con el usuario para finalizar la secuencia de datos.
⇒ Para que sirven las instrucciones de entrada y salida.
⇒ Identificar cuando debes usar contadores y/o acumuladores.
 PARADIGMA ORIENTADO A OBJETO PARA LA RESOLUCIÓN DE
PROBLEMAS: Saber cuales son los fundamentos de la programación
55

orientada a objetos, reconocer que son los objetos y que representan los
atributos y métodos dentro de los mismos, a que se refieren las clases de
objetos (son plantillas) y las instancias (son las que permiten la creación de
los objetos), de esta manera te recuerdo que con una clase se puede crear
diferentes instancias de objetos. Por ejemplo, definimos la clase persona con
sus atributos y métodos, entonces Margarita puede ser una instancia de la
clase persona, pero también Luis y Antonio son instancias de la clase persona,
cada uno con sus datos propios (estado interno) dentro de los atributos. Debes
estar en capacidad de crear algoritmos lógicos en pseudocódigo usando el
enfoque orientado a objetos para resolver problemas sencillos.

En esta nueva asignatura de Programación, podrás convertir tus algoritmos de


pseudocódigo a un programa en algún lenguaje de programación (en estos momentos
estamos trabajando con lenguaje C++, usando específicamente el compilador
Devcpp), de esta manera veras ejecutándose los programas que habías hecho en
papel y podrás autoevaluar tus conocimientos, verificando los resultados de los
programas. Entonces, como ahora trabajaras en el computador debes tener habilidad
en el uso del computador en lo que se refiere a crear carpetas, editar, copiar y
renombrar archivos, manejo básico de Internet y correo electrónico.

No obstante, debo hacerte énfasis en que debes tener internalizada una buena
lógica de programación, con ella aseguraras el éxito en esta asignatura.

Pero es indispensable que tanto tú como yo, estemos ubicados de cuales son
tus saberes previos, expectativas, preferencias e intereses, para ello se diseño una
PRUEBA DIAGNOSTICA INTERACTIVA con realimentación automática, que
estará disponible en el curso de “PROGRAMACIÓN” en la página de SEDUCLA;
es una prueba netamente informativa y confidencial. Es de suma importancia, que tu
primera actividad en este asignatura sea realizar la prueba diagnóstica antes que
cualquier otra cosa, de esta manera dependiendo de las debilidades presentadas en la
misma podríamos fijar algunas actividades remédiales y así lograrías nivelar tus
conocimientos previos, para poder comenzar esta asignatura con todos los hierros
teniendo confianza en ti mismo.

A continuación se presenta la prueba diagnóstica:


UNIVERSIDAD CENTROCCIDENTAL
“LISANDRO ALVARADO”
DECANATO DE CIENCIA Y TECNOLOGÍA
DEPARTAMENTO DE SISTEMAS

PRUEBA EXPLORATORIA PARA ANÁLISIS DE LA AUDIENCIA


Apreciado Estudiante:
Eres importante en este proceso educativo, el siguiente instrumento tiene como objetivo conocer tu
formación general, destrezas académicas, habilidades en el uso de la tecnología computacional y tu nivel de
motivación con el fin de ayudarte, darte orientación y apoyarte para que puedas lograr con éxito la meta de
tu aprendizaje. Recuerda, que la información suministrada aquí es confidencial y sólo será
utilizada para mejorar la estrategia, metodología y evaluación de la asignatura.
GANAR - GANAR
Por ello se requiere que respondas con honestidad, sinceridad, objetividad y conciencia las preguntas
que se presentan a continuación.
Instrucciones:
Marca con una X las respuestas según tu criterio

DATOS GENERALES
1. Nombres:__________________________ Apellidos:_____________________________ 2. Edad: ______
3. Sexo: F M 4. Estado Civil: Soltero Casado Viudo Divorciado
5. Tlf:_________________________ 6. Vives con tu familia: Si No
7. Tienes Hermanos: Si (¿Cuántos?)_____ No (pase a la preg. 9)
8. Dentro del grupo de hermanos que número de hijo eres:______
9. Trabajas: Si No (pase a preg. 12)
10. Turno: Diurno Nocturno Diurno/Nocturno 11. Cuantas horas a la semana:________
12. ¿Cuáles de las siguientes actividades adicionales al estudio realizas? (puedes macar varias opciones)
a. Religiosa b. Cultural c. Deportiva
e. Cursos: (Especifique) ___________________________ f. Otros: (Especifique)__________________________
13. ¿Cuál fue tu forma de ingreso a la carrera?
a. CNU b. CENSO c. Acta Convenio d. Equivalencia e. Cultura f. Deporte

FACTORES MOTIVACIONALES

1. ¿Por qué seleccionaste ésta carrera?


a. Iniciativa Propia (me gusta) b. Por mi familia c. Por ser carrera corta
d. Esta de moda e. No tuve otra alternativa f. Otra (Especifique) ________________________
2. Te gusta trabajar con el computador. Si No (pase a la preg. 4)
3. ¿Cómo te sientes trabajando con el computador?

a. Me Encanta b. Bien c. Me da fastidio .

d. Lo hago porque no tengo alternativa e. Otra (Especifique) __________________________________


4. Si tienes algún problema en el uso del computador ¿Qué harías?

a. Investigar y tratar de resolverlo por mi cuenta b. Buscar ayuda


c. Que otro lo resuelva d. Otra (Especifique)____________________________________________________

5. Te gustaría actualizarte en lo que se refiere al trabajo con el computador (tecnología computacional)

a. Si b. No

6. Te gusta la Programación. a. Si b. No

7. ¿Cómo te sientes para cursar esta asignatura?

a. Con mucho entusiasmo b. Cómodo c. Indiferente


d. Lo hago porque no me queda otra alternativa e. Agobiado (es un dolor de cabeza)

8. Te animarías a cursar esta asignatura en línea. a. Si (pase a la preg. 10) b. No

9. ¿Por qué no? (pase a Aspectos Computacionales)


____________________________________________________________________________________________
____________________________________________________________________________________________

10. ¿Cómo te gustaría cursarla?


a. A distancia utilizando las TIC b. Semipresencial utilizando las TIC

ASPECTOS COMPUTACIONALES

1. Manejas el computador. a. Si b. No (pase a la preg. 5)

2. Consideras que tu manejo del computador es: a. Excelente b. Suficiente c. Deficiente

3. En qué lugar trabajas con el computador. (puedes macar varias opciones)

a. En mi domicilio b. Casa de un familiar/amigo c. Trabajo d. Universidad

e. Cyber (centro computación privado) f. Otro (Especifique)____________________________________________

4. Con qué frecuencia trabajas en el computador.

a. Diario b. Interdiario c. Semanal d. Quincenal e. Mensual

5. Consideras que el computador para el desarrollo de tus actividades es:

a. Imprescindible b. Me ayuda en ciertas ocasiones

c. No me hace falta d. Otras (Especifique)____________________________________________________

6. Sabes trabajar las instrucciones (comandos) del Sistema Operativo: a. Si b. No (pase a la preg. 8)
7. Selecciona cuál (es) y a qué nivel.
Instrucción ó Nivel
Comando Excelente Suficiente Deficiente
Crear Carpetas
Buscar archivos
Copiar archivos
Mover archivos
Renombrar archivos
Eliminar archivos
Imprimir archivos
Editar archivos

8. Has trabajado con herramientas computacionales: a. Si b. No (pase a la preg. 10)

9. Selecciona cuál (es) y a qué nivel.


Herramientas Nivel
Computacionales Excelente Suficiente Deficiente
Procesador de Palabras
Hoja de Cálculo
Presentaciones
Manejador Base Datos
Editores de Texto

10. Tienes correo electrónico: a. Si b. No (pase a la preg. 13 )

11. ¿Cuál es tu email? ________________________________

12. ¿Con qué frecuencia lo usas?

a. Diario b. Interdiario c. Semanal d. Quincenal e. Mensual f. Nunca

13. Conoces INTERNET: a. Si b. No (pase a la preg. 16 )

14. ¿Cuál (es) de las siguientes actividades sabes hacer y a qué nivel? (puedes macar varias opciones)
Nivel
Actividades Excelente Suficiente Deficiente
Buscar información
Copiar información
Usar correo electrónico
Chatear
Participar en Foros
15. Tienes INTERNET en tu domicilio: a. Si b. No

16. Has trabajado con algún Lenguaje de Programación: a. Si b. No (pase a la preg. 18 )

17. Indique cuál(es): ______________________________________________________________________________

18. Has oído hablar de la Educación a Distancia. a. Si b. No (pase a la preg. 24 )


19. Conoces las ventajas que te ofrece la Educación a Distancia. a. Si b. No (pase a la preg. 21 )

20. Menciona las ventajas que conoces.

____________________________________________________________________________________________

____________________________________________________________________________________________

____________________________________________________________________________________________

21. Has tenido la oportunidad de realizar algún(os) estudios en la modalidad de Educación a Distancia.

a. Si b. No (pase a la preg. 23 )

22. Menciona cuál(es).

____________________________________________________________________________________________

____________________________________________________________________________________________

23. ¿Qué opinas de la Educación a Distancia?

____________________________________________________________________________________________

____________________________________________________________________________________________

____________________________________________________________________________________________

24. ¿Cuál es tu condición en esta asignatura?

a. Cero (pase a Conocimientos Previos Asignatura) b. Uno c. Dos d. Tres e. Mayor de tres

25. ¿Cuál(es) han sido las razones por las que no ha podido aprobar la asignatura? (sea objetivo y sincero)

_____________________________________________________________________________________________
_____________________________________________________________________________________________
_____________________________________________________________________________________________

CONOCIMIENTOS PREVIOS A LA ASIGNATURA


1. Realice la corrida de la siguiente función.
real Calcular (real ↓ a, real ↓ b, real ↓ c)
INICIO Datos de Prueba
real aux;
entero i; a=3
aux ← 0;
HAGA desde i ← 0 Hasta 2 b= a+7
aux ← aux + (a * b); c = 100
FIN DEL HAGA
aux ← aux + c;
retorna aux ;
FIN de la función
2. Resuelva el siguiente CRUCIGRAMA.

HORIZONTAL
1. Read Only Memory
2. Dispositivo Periférico de Salida
3. Computadora Personal
4. Dispositivo Periférico de Entrada
5. Pantalla en la que se ve la información

VERTICAL
1. Memoria de acceso aleatorio
2. Máquina capaz de procesar información
3. Unidad mínima de almacenamiento
4. Dispositivo que permite mover el cursor en la
pantalla
5. Medio de almacenamiento Secundario

3. Selección Simple.
Ubique en la columna izquierda la letra del término asociado para la columna derecha
A. Función ( ) si sexo = ‘F’ entonces ESCRIBIR “es mujer”
B. Definición de constante ( ) ct ← ct + 1
C. Acumulador ( ) LEER (sueldo)
D. Condición Simple ( ) cédula = ‘*’
E. Operador Relacional ( ) ac ← ac + valor
F. Ciclo repetitivo ( ) ESCRIBIR (ac)
G. Asignación ( ) real sueldo
H. Salida ( ) (nro > 5) and ( letra = ‘B’)
I. Identificador ( ) true
J. Condición compuesta ( ) repita mientras hay_datos = ‘S’
K. Contador ( ) tipo_articulo
L. Dato Centinela ( ) bono ← 150
M. Operador Lógico
N. Entrada
O. Declaración de variable
P. Operador Matemático
Q. Instrucción Selectiva
R. Cabecera
S. Dato booleano
4. Una venta de Repuestos Automotrices requiere hacer una evaluación sobre los artículos que venden.
Para ello se dispone de la siguiente información de entrada:

CODIGO VENDEDOR: variable de tipo alfanumérico (cadena).


SEXO: variable de tipo caracter (valores ‘F’→ femenino, ‘M’→ masculino)
TIPO ARTICULO: variable tipo caracter (valores ‘I’ → importado, ‘N’ → nacional)
CANTIDAD VENDIDA: variable entera
Se necesita obtener los siguientes resultados:
Total de artículos importados que se vendieron: xxx
Total de artículos nacionales que se vendieron: xxx
Porcentaje de mujeres vendedoras: xxxx
Porcentaje de hombres vendedores: xxxx
Qué tipo de artículo prefieren los clientes (el nacional o el importado): xxxx
NOTA: Recuerde la mayor preferencia se obtiene tomando en cuenta las cantidades vendidas,
además no se sabe cuantos vendedores tiene la venta de repuestos.

Se le solicita que Ud.:


a) Analice el enunciado del problema tomando como base el enfoque de Programación
Orientado a Objetos.
b) Con los siguientes datos de prueba indique cuales serían los resultados

Código Sexo Tipo Artículo Cantidad


A01 M N 8
A05 F N 7
B03 F I 10
C02 F N 5
C05 M I 3

c) Elabore un algoritmo en pseudocódigo utilizando objetos.

Muchas Gracias por tu información

Profesora Margarita Pereira


62
Sin embargo, si consideras que quieres reforzar tus conocimientos previos podrías consultar
la siguiente fuente de información:

 Joyanes Aguilar Luis (2003). Fundamentos de programación. Algoritmos, Estructuras


de datos y Objetos. Tercera Edición. Universidad Pontificia de Salamanca, Madrid.
McGraw-Hill. Capitulo 1. Computadoras y lenguajes de programación. Capitulo 2. La
resolución de problemas con computadoras y herramientas de programación. Capitulo 3.
Estructura general de un programa. Capítulo 15. Introducción a la Programación Orientada
a Objetos.

 Joyanes Aguilar Luis, Luis Rodríguez Baena, Matilde Fernández Azuela (2003). Libro de
problemas. Fundamentos de programación. Algoritmos, Estructuras de datos y
Objetos. Segunda Edición. Universidad Pontificia de Salamanca, Madrid. McGraw-Hill.
Capitulo 1. Algoritmos y Programas, Capitulo 2. La resolución de Problemas con
computadoras y las herramientas de programación. Capitulo 3. Estructura general de un
programa. Capítulo 15. Introducción a la Programación Orientada a Objetos.

 El siguiente enlace esta muy completo presenta un curso de diseño de algoritmos con
todos los detalles, una gran cantidad de ejercicios resueltos, definición de términos básicos
y también un curso de lenguaje C.

http:///www.carlospes.com/

aprender
Contenidos Programáticos

Las estrategias de enseñanza-aprendizaje que se aplicarán para todas las unidades


programáticas son:

⇒ Dinámica de participación.

⇒ Exposición e ilustración de la temática.

⇒ Definición, representación e ilustraciones.

⇒ Solución de ejercicios.

⇒ Asignaciones prácticas a los estudiantes con el apoyo del profesor-facilitador.

⇒ Actividades interactivas en línea (foros, chat, cuestionarios, entre otras)


63

UNIDAD I. Elementos básicos del lenguaje de Programación


Objetivos Terminales
 Utilizar adecuadamente los elementos de un programa de computación.
 Aplicar los conceptos básicos en un programa de computación.
 Traducir un programa escrito en pseudocódigo a un lenguaje de programación.
Duración: 8 horas
Ponderación: 12,50%

Objetivos Específicos Contenido

 Identificar los componentes esenciales de la  Definición de Lenguaje de


estructura de un programa de computación. Programación.
 Identificar el proceso de edición y  Estructura básica de un programa de
compilación para la creación de programas computación.
ejecutables.  Proceso de creación de un programa
 Reconocer el término datos como elemento ejecutable.
fundamental en la creación de un programa  Datos: Definición, tipos de datos
de computación. primitivos, identificadores,
 Diferenciar los diferentes tipos de datos y su constantes y variables; su
aplicación. almacenamiento y representación en
 Utilizar los archivos de cabecera. la memoria principal.
 Archivos de Cabecera.
 Utilizar los diferentes operadores,
operandos y expresiones en el desarrollo de  Operadores, operandos y
un programa de computación. expresiones. Prioridad de los
 Utilizar instrucciones de asignación. operadores y evaluación de las
expresiones.
 Utilizar instrucciones que permitan realizar
operaciones de entrada/salida.  Instrucciones de asignación, entrada
y salida.
 Realizar pruebas efectivas para la
producción de programas confiables y de  Pruebas y depuración de programas
mejor calidad. de computación.

 Elaborar programas documentados con el  Documentación de programas de


fin de mejorar el mantenimiento de los computación.
mismos.  Pasos necesarios para la instalación y
configuración de la herramienta
 Utilizar la herramienta de programación DevCpp.
DevCpp.
 Ejercicios prácticos.
 Asumir responsabilidades individuales y
aprender a trabajar en equipo.
64

UNIDAD II. Estructuras de control de un programa


Objetivos Terminales
 Identificar las diferentes estructuras de control.
 Aplicar adecuadamente las estructuras de control dentro de los programas.
 Realizar funciones en la construcción de los programas.
Duración: 16 horas
Ponderación: 25,00%
Objetivos Específicos Contenido

 Identificar las estructuras de control  Estructura de control secuencial,


secuenciales y condicionales como definición y bloque constructivo.
elementos para el desarrollo de un programa
de computación.  Estructura de control condicionadas:
definición, representación y
 Aplicar las estructuras de control funcionamiento, valores de verdad
secuenciales y condicionales en la (TRUE, FALSE), bifurcaciones
elaboración de los programas de condicionales y sentencias SINO en
computación. los programas de computación.
 Identificar las diferentes estructuras de  Estructuras de decisión lógica
control repetitivas como elemento para el anidadas. Selección múltiple o
desarrollo de un programa de computación. CASO (definición, representación y
funcionamiento).
 Aplicar las estructuras de control repetitivas
en la elaboración de los programas de  Estructura de control repetitivas:
computación. Ciclo MIENTRAS, ciclo PARA y
ciclo REPITA (para cada uno
 Realizar funciones como mecanismo de definición, representación y
organización y reutilización del código. funcionamiento).
 Asumir responsabilidades individuales y  Funciones: Conceptualización y uso.
aprender a trabajar en equipo. Parámetros.
 Ejercicios prácticos.
65

UNIDAD III. Programación orientada a objeto (P.O.O.)


Objetivos Terminales
 Aplicar los conceptos básicos de la programación orientada a objetos en la
resolución de problemas.
Duración: 28 horas
Ponderación: 43,75%
Objetivos Específicos Contenido

 Identificar los conceptos básicos de la  Conceptos básicos de P.O.O.: Clases,


P.O.O. instancias (objeto), atributos,
métodos, mensajes.
 Identificar las propiedades de la P.O.O.
 Propiedades de la P.O.O:
 Utilizar las propiedades de la P.O.O. en la Encapsulamiento y ocultamiento de
elaboración de programas de aplicación. información, abstracción de datos,
 Identificar las relaciones entre clases y herencia.
objetos.  Estado y comportamiento de un
 Elaborar programas de aplicación utilizando objeto.
los conceptos básicos de la P.O.O.  Relaciones entre clases y objetos
 Aplicar la reusabilidad en los programas de (herencia, asociación, agregación,
aplicación. composición).

 Asumir responsabilidades individuales y  Declaración de una clase en C++.


aprender a trabajar en equipo.  Constructores.
 Reusabilidad de las clases.
 Corrida y prueba de programas.
 Ejercicios prácticos.
66

UNIDAD IV. Técnicas de modelado y programación de objetos


Objetivos Terminales
 Aplicar una metodología de modelado de objetos para la solución de problemas.
Duración: 12 horas
Ponderación: 18,75%
Objetivos Específicos Contenido

 Identificar los componentes básicos de un  Lenguaje de modelado unificado:


diagrama de clases. Definición de UML, tipos de
 Aplicar una técnica de modelado del mundo diagramas, diagramas de clases y
real mediante objetos, para la resolución de relaciones entre los objetos.
problemas, usando notación UML.  Patrón de diseño “Modelo-Vista-
 Identificar los elementos que componen el Controlador” (estructura y
patrón de diseño MVC (modelo, vista y funcionamiento).
controlador).  Metodología para el desarrollo de
 Usar el patrón MVC para plantear programas orientados a objetos
soluciones a problemas de aplicación. (análisis del problema, diseño
orientado a objetos, codificación del
 Elaborar los diagramas de clases para un programa en un lenguaje de
problema planteado. programación C++).
 Desarrollar la solución de casos prácticos
utilizando la metodología para el desarrollo
de programas orientados a objetos.
 Asumir responsabilidades individuales y
aprender a trabajar en equipo.
 Apreciar el trabajo bien hecho.
67

Evaluación de los Aprendizajes

Cuando oímos la palabra “evaluar” automáticamente nos preocupamos, nos entra un susto
algo así como que nos imaginamos que estamos sentados en el banquillo de los acusados y
nos van a someter a un interrogatorio a ver cuales fueron nuestras acciones (buenas o malas),
verificar nuestro comportamiento. En realidad este concepto ha venido cambiando, debemos
considerar la evaluación como un proceso que nos sirve para reflexionar y dimensionar el
aprendizaje que hemos adquirido, también es cierto que a través de la evaluación podemos
saber las competencias que hemos logrado, nuestro progreso en el “saber”, por ello es
importante que asumamos la evaluación como un proceso formativo, ético y responsable.

Para efectos de esta asignatura, haremos que la evaluación sea participativa


¿Cómo?, Realizando las siguientes actividades:

⇒ Autoevaluación: Será una evaluación interna que tú debes realizar, a través de un


proceso de revisión dirigida por la que vas a comprobar tu nivel de conocimiento sobre
temas particulares. Su objetivo es convertir tus debilidades en fortalezas con lo que estarás
mejorando continuamente en tu aprendizaje.

⇒ Coevaluación: Donde estará involucrado el grupo de estudiantes, es decir evaluar al


estudiante a través de sus propios compañeros; la idea es lograr que cada estudiante sea
espontáneo para realizar críticas constructivas al resto, debes recordar que las opiniones
que tengas en relación al trabajo de tus compañeros deben estar argumentadas, es
importante como las trasmites (trata de ser creativo), además de mantener también una
actitud abierta para recibir las opiniones de los demás para ello debemos mantener un
clima de respeto, tolerancia y trabajo colaborativo NO de individualismo o competencia
que conlleva a crear roces, desgaste en el grupo y reduce las posibilidades de aprender
unos de otros. Yo, también tengo responsabilidad en esta evaluación como profesor
(facilitador) debo actuar de intermediario encauzando las fallas y virtudes de cada uno.

También se aplicará:

⇒ Evaluación Diagnóstica: Una sola al comienzo de la asignatura, con realimentación


por parte de tu profesor, su objetivo es netamente informativo para conocer cuales son tus
conocimientos previos y promover actividades remédiales cuando sea necesario (te servirá de
autoevaluación).

⇒ Evaluación Formativa: Con el propósito de obtener información acerca de tu progreso


como estudiante. Estas evaluaciones tendrán realimentación y de esta manera conocerás los
resultados de las mismas, los cuales nos ayudarán a mejorar las estrategias tanto de
aprendizaje (para el estudiante) como de enseñanza (para el profesor) y así serán más
68
efectivas. Este tipo de evaluación será en línea y utilizaremos la coevaluación y la
autoevaluación.

⇒ Evaluación Sumativa: Su objetivo es darle una puntuación a los trabajos y


exámenes escritos que realices, para valorar cuantitativamente los logros y méritos que has
alcanzado en cada una de las unidades de la asignatura.

El aprendizaje se construye uno con todos y todos con todos. Cada quién
aportará su granito de arena al grupo.

La evaluación de esta asignatura se hará en escala de 100 puntos, distribuida de


la siguiente manera:

Evaluación Porcentaje Temas a evaluar Modalidad Tipo de


Evaluación
Parcial I 25 Unidad I, II, III
Presencial Sumativa
Prácticas 5 Unidad I, II, III
Presencial y Sumativa
En línea
Parcial II 30 Unidad III y IV Presencial Sumativa
Prácticas 5 Unidad III y IV Presencial y Sumativa
En línea
Parcial III 15% Unidad III y IV Presencial Sumativa
Proyecto 15% Unidad I hasta Presencial y Formativa y
Unidad IV En línea Sumativa
Evaluación 5% Unidad I hasta Presencial y en Sumativa
Continua Unidad IV línea

En las prácticas se realizarán tareas de evaluación auténticas, es decir la realización de


programas que están relacionados con problemas de la vida real, de esta manera verás la
aplicabilidad de los mimos.

Con relación al proyecto será en equipo (máximo 3 personas), la evaluación esta basada en
un proyecto donde se presentará un problema que debes analizar y resolver. En primera
instancia se realizará una evaluación formativa (autoevaluativa y coevalutiva), luego el
equipo hará los ajustes y entregará el proyecto nuevamente para su evaluación sumativa.

En el proyecto se evaluarán los siguientes aspectos:

 Claridad, legibilidad, completitud y correctitud (resultados correctos y confiables) de los


programas.
69
 Aplicación de la metodología UML así como el patrón de diseño MVC (Modelo-Vista-
Controlador) para el diseño del problema.
 Aplicación del paradigma de la programación orientada a objetos en el programa
desarrollado.
 Utilización de los archivos de cabecera (herramientas predefinidas en el lenguaje).
 Documentación del programa haciendo comentarios significativos concisos y legibles.
 Al comenzar la asignatura se definirá en que consistirá la evaluación continúa y además
las fechas de las evaluaciones serán mostradas en el curso de “Programación” en
http://seducla.ucla.edu.ve

Fuentes de Información

BIBLIOGRAFÍA BÁSICA

 Guías de estudio por cada unidad de la asignatura que serán publicadas en la sección de
RECURSOS del Curso Programación en: http://seducla.ucla.edu.ve
⇒ Unidad didáctica I. Elementos básicos del lenguaje de Programación. Prof. Margarita
Pereira. (2010). Estará publicada en la sección de RECURSOS del Curso Programación en
http://seducla.ucla.edu.ve
⇒ Guía de ejercicios propuestos para cada unidad temática. Elaboradas por la coordinación
de Programación. Estarán publicada en la sección de RECURSOS del Curso Programación
en http://seducla.ucla.edu.ve
⇒ Es importante destacar, que para esta asignatura no usaremos un libro de texto
guía, por lo tanto nos regiremos por los materiales didácticos de estudio que se
publicaran para cada unidad temática en la página del curso de programación
http://seducla.ucla.edu.ve
Los libros y direcciones electrónicas que se mencionan a continuación serán
utilizados como complementos.

 Joyanes A., Luis. (2000). Programación en C++. Algoritmos, estructuras de datos y objetos.
McGraw Hill. Madrid. Aquí encontraras información de utilidad que servirá para
complementar tu conocimiento. Capitulo 2: Elementos básicos de un programa, capitulo 3:
Operadores y expresiones, capitulo 4: Instrucciones selectivas (alternativas), capitulo 5:
Estructuras de control repetitivas, capitulo 6: Funciones, capitulo 13: Clases y objetos,
capitulo 16: Plantillas, capitulo 23: Conceptos de programación orientada a objetos, capitulo
24: Herencia y clases derivadas, capitulo 25: Bibliotecas de plantillas estándar. Lo
encuentras en la biblioteca del Decanato de Ciencias y tecnología UCLA.
70
 Joyanes A. Luis y Sánchez G. Lucas (2006). Programación en C++. Un enfoque práctico.
Serie Schaum. McGraw Hill. Madrid. Capitulo 2: Conceptos básicos, capitulo 3: Operadores
y expresiones, capitulo 4: Estructuras de control selectivas, capitulo 5: Estructuras de control
repetitivas, capitulo 6: Funciones, capitulo 13: Clases y objetos, capitulo 14: Herencia.

BIBLIOGRAFÍA COMPLEMENTARIA

 Anónimo. s/a. Manual básico de programación en C++. Apoyo a la investigación C.PD.


Servicios Informáticos U.C.M. Disponible en: http://www.sisoft.ucm.es/Manuales/C++.pdf
[Consulta 2008, Septiembre 29]

 Balagurusamy, E (2007). Programación Orientada a Objetos con C++. 3era Edición.


McGraw Hill.
 Bustamante, P y Otros. 2004. Aprenda C++ básico como si estuviera en primero.
TECNUM. Campus Tecnológico de la Universidad de Navarra. Disponible en:
http://www.tecnun.es/asignaturas/Informat1/ayudainf/aprendainf/Cpp/basico/cppbasico.pdf.
[Consulta 2008, Septiembre 30]

 Castro, J y Otros. 1998. Tutorial de lenguaje C++. Instituto Tecnológico de la Paz,


Departamento de Sistemas y Computación. Disponible en:
http://sistemas.itlp.edu.mx/tutoriales/tutorc/index.htm. [Consulta 2008, Septiembre 29]
 Curso en línea de C++. Disponible en: http://www.zator.com/Cpp/index.htm. [Consulta
2008, Septiembre 29]

 Permuy, Fernando Bellas. El lenguaje de programación C++. Departamento de


Tecnologías de la Información y las Comunicaciones (TIC). Universidade Da Coruña.
Disponible en: http://www.tic.udc.es/~fbellas/teaching/cpp/CPP.pdf. [Consulta 2010,
Marzo 10]

 Salvador Pozo, salvador@conclase.net. Curso de C++. Septiembre de 2000 - Agosto de


2009. Disponible en: http://c.conclase.net/curso/index.php.[Consulta 2010, Marzo 10]

 Schildt H., (1996). C++ para programadores. Serie McGraw-HILL. Madrid

Orientaciones Generales Para el Estudio

Para poderte dirigir, orientar o encaminar en el estudio de la asignatura debes tener claro
cuales son tus objetivos (metas que quieres alcanzar). Entonces, debes responder a esta pregunta:

¿ Para qué inscribí la asignatura Programación ?


71
Al tener una respuesta, estarás en la disposición para escuchar, creer y poner en práctica las
actividades, recomendaciones, estrategias, indicaciones y consejos que te daré para que puedas
abordar la asignatura con éxito y no sea un dolor de cabeza para ti.

Te invito a que revises el archivo que contiene las orientaciones generales, allí encontraras el
detalle de todas las orientaciones que te propongo para el estudio independiente de la asignatura,
debes leerlo con detenimiento e internalizarlo. Me imagino que en alguna oportunidad de tu vida
has oído el dicho que dice: “Más sabe el diablo por viejo que por diablo”, te recomiendo que
evalúes las orientaciones propuestas y las pongas en práctica.

Recuerda que eres el responsable de tu aprendizaje, por ello debes asumirlo con madurez,
conciencia, compromiso, dedicación y lo más importante debes

A continuación se presentan las Orientaciones Generales sugeridas para el estudio de esta


asignatura:
ORIENTACIONES GENERALES PARA ESTUDIO A DISTANCIA
ASIGNATURA PROGRAMACIÓN I

AUTORA: Profesora MARGARITA PEREIRA – UCLA

Hola como estas, yo soy la Profesora Margarita Pereira, seré tu


guía y tutora en esta gran experiencia de cursar la asignatura
de Programación I en la modalidad de Educación a Distancia.
Estoy segura de antemano que lograremos juntos este gran
reto.
La clave para lograrlo es que te montes en este
auto y des un paseo guiado y organizado por los
temas de la asignatura.
Es importante que sepas que cuentas con:
* CONTIGO (Estudiante) en primer lugar, eres el corazón la parte
esencial y fundamental para este proceso.

* CONMIGO (Profesor/tutor) Yo, como tu profesora/tutora trataré de darle


FORMA a tu aprendizaje.

Facilitándote los mecanismos que te ayudarán a descubrir nuevos


saberes.
Orientándote en el ¿Qué debes hacer? Y ¿Cuáles son los pasos
que debes seguir?
Respondiendo tus preguntas.
Motivándote constantemente para que no flaquees.
Acompañándote ante las dificultades que se te presenten en
tu aprendizaje.

* GRUPO (Tus compañeros): Al comienzo haremos una fase de


socialización para conocernos todos y ayudarnos mutuamente.
Nuestro lema será “hoy por ti mañana por mí”.

* MATERIAL DIDÁCTICO DE APOYO (para el


contenido y las evaluaciones)
UCLA
* NUESTRA CASA DE ESTUDIOS LA UCLA
Para aclarar dudas, hacer comentarios y por qué no para compartir chistes y
mensajes disponemos de dos formas básicas de comunicación:

 Asincrónica:
 Correo Electrónico
 Foro de Dudas, aportes y comentarios generales (lo que aquí se coloque
será del conocimiento para todos los participantes). Aquí también
tendrás la posibilidad de adjuntar archivos; en general cualquier
integrante del grupo puede intervenir y hacer sus aportes o
comentarios. Nuestra comunicación debe ser respetuosa y cordial.
 Sincrónica:
 Secciones de Chat (se planificarán al comienzo del curso, de tal forma
que todos podamos participar y aquí se podrán aclarar dudas de
inmediato, es decir funciona como una consulta en línea).
 Vía Telefónica. Mi teléfono es 0414-3507227. Te recuerdo debemos
ser organizados con todas nuestras actividades y definir las horas de
dedicación a cada una.
 Algunos encuentros presénciales que serán definidos al comienzo.
Debes estar consciente que tú eres una RAMA de un gran árbol.

Responsable
De esta rama
depende gran Alta motivación
parte de tu
Madurez
éxito.
Actitud positiva y activa
RECOMENDACIONES:
• Planifica, organiza tu tiempo y define el lugar y la cantidad de horas
que dedicaras para el estudio de la asignatura.
• Es importante que al inicio de cada semana copies el material y lo
imprimas si lo consideras necesario.
• Debes leer detenidamente los materiales (no te conformes con el
material que se te presenta en el curso, busca otras fuentes de
información, así tu aprendizaje será más completo). Recuerda esta es
una asignatura práctica que requiere la comprensión y análisis de
problemas para alcanzar la solución de los mismos. NO LA
MEMORIZACIÓN (caletre). Ningún programa de computación es igual
a otro.
El éxito de un Programador esta en los detalles
• Si tienes alguna duda pregúntala de inmediato, ya que
el conocimiento de esta asignatura es acumulativo (el
contenido de una semana lo necesitas para las
restantes).
• Si preguntas algo y no comprendes la respuesta, hazlo saber, pues
entre todos buscaremos la manera de aclararlo. La experiencia nos dice
que si dejas acumular dudas al final te encontrarás perdido en una gran
sabana y lo más probable es que no encuentres el camino para
regresar...

Recuerda que PENA son sólo cuatro letras, tú debes asegurar tu


aprendizaje, ese debe ser tu objetivo central.

• Aunque no tengas dudas, es conveniente que te conectes con el curso por lo


menos tres veces por semana (si es ínter diario mejor), así estarás informado de
todo lo que ocurre y además podrás ayudar a algún compañero que lo necesite.
Además debes estar atento de las novedades, avisos, mensajes y el calendario
que te recordará las fechas de las actividades pendientes.
• Debes practicar, hacer programas utilizando la herramienta (lenguaje de
programación) con la que estamos trabajando en la asignatura. No debes
conformarte con hacer los programas en papel. Recuerda el papel aguanta todo,
debes transcribir tus programas en el lenguaje compilarlos y correrlos. Estoy
segura que cuando veas corriendo tus programas tendrás una gran satisfacción.
Ah y muy importante, verifica que los resultados de la corrida de tus programas
sean coherentes con los datos de prueba.
• Para la presentación de tus trabajos, puedes hacer uso de las herramientas
computaciones con las que cuentas, trata de ser creativo, original, desarrolla tu
ingenio debes aprovecharlo.

No te PREOCUPES, OCUPATE se ha demostrado que el preocuparse


involucra tiempo que se pierde y que podría ser aprovechado
resolviendo los problemas.

• Si te equivocas, no te desanimes, te recuerdo un sabio proverbio que dice


“Errar es de humano y reconocer es de sabios”

º
• No dejes para mañana lo que puedas hacer hoy. Debes ser precavido tener
siempre una alternativa adicional para cualquier eventualidad.

Finalmente tú eres el responsable de conducir


este AUTO
Autonomía Autoevaluación

Autoaprendizaje Autoreflexión

Él ira a la velocidad que tu lo lleves.


Así que calienta los motores y arranca
ese auto.

Autora: Profesora Margarita Pereira.


76

Los Medios o Recursos Generales de Apoyo

Para facilitar el aprendizaje en la asignatura, tendrás a tu disposición un conjunto de


materiales, medios, recursos y vías de comunicación que se agruparán de la siguiente manera:
 Audiovisuales:
Módulos de autoinstrucción:
⇒ Unidades didácticas para cada unidad temática. Unidad didáctica I. Elementos básicos
del lenguaje para la enseñanza de Programación. Prof. Margarita Pereira. (2010). Estará
publicada en la sección de RECURSOS del Curso Programación en
http://seducla.ucla.edu.ve.
⇒ Material Multimedia para cada unidad temática. Elaborado por la Coordinación de
Programación. Estará publicada en la sección de RECURSOS del Curso Programación
en http://seducla.ucla.edu.ve.
⇒ Guía de ejercicios propuestos para cada unidad temática. Elaborado por la coordinación
de Programación. Estará publicada en la sección de RECURSOS del Curso
Programación en http://seducla.ucla.edu.ve.
⇒ Instructivo para la Unidad I. Elaborado por la Coordinación de Programación. Estará
publicada en la sección de RECURSOS del Curso Programación en
http://seducla.ucla.edu.ve
⇒ Libros de Texto indicados anteriormente en la bibliografía básica y complementaria.
 Institucional:
⇒ Biblioteca del Decanato de Ciencia y Tecnología de la UCLA.
⇒ Laboratorios de computación ubicados en el Decanato de Ciencia y Tecnología de la
UCLA.
⇒ Plataforma seducla. En donde localizaras todo lo necesario para la secuencia de las
unidades temáticas de aprendizaje en la sección de recursos, actividades y evaluaciones.
 Interacción con tu profesor y tus compañeros:
⇒ En el sitio Web del curso de Programación que estará disponible en
http://seducla.ucla.edu.ve. Allí tendrás acceso a la lista de los profesores y participantes
del curso, en donde encontrarás la información de cada uno y a través de que vía puedes
contactarlos.
⇒ Se realizarán algunas actividades interactivas en línea tales como foros de dudas y
comentarios, sesiones de chat, cuestionarios entre otras. A lo largo del curso se irá
publicando en la página de http://seducla.ucla.edu.ve cuales serán las actividades que se
desarrollarán. Con estas actividades podrás hacer preguntas, aclarar dudas, colocar tus
aportes, en general interactuar en línea con tu profesor y compañeros.
⇒ Podrás realizar consultas presenciales, para ello estará un profesor un día a la semana
77
en el Decanato de Ciencia y Tecnología, al comienzo del curso se indicará el día, lugar
y horario.
⇒ Mi número telefónico es 0414-3507227 y mi correo electrónico mpereira@ucla.edu.ve,
con esta información podrás hacer consultas telefónicas y por correo electrónico (serán
respondidas en un máximo de 24 horas). Así que no tengas pena ante cualquier duda o
eventualidad contáctame a través de algunos de los medios disponibles.
⇒ Evaluaciones presenciales y en línea las cuales serán fijadas al comienzo de la
asignatura.

Simbología de imágenes predefinidas

Las siguientes imágenes (sugeridas por la Prof. Keyla Cañizales) representan acciones
específicas que debes realizar:

Icono Interpretación para el Estudiante

Indica que realices los ejercicios de refuerzo.

Indica que debes realizar una Autoevaluación.

Indica que debes hacer una pausa en la lectura,


con la intención de analizar el contenido.

Se usa para llamar tu atención sobre un detalle


importante que no debes olvidar.

Indica que debes consultar alguna bibliografía


adicional, para complementar.

Indica que debes resolver los ejercicios


propuestos.
78

Indica que debes recordar, o memorizar la


información se sigue a continuación, es para
hacer énfasis en algo.

Y las siguientes son sugeridas por mi persona (Prof. Margarita Pereira)

Icono Interpretación para el Estudiante

Indica que debes responder preguntas

OJO con este detalle.

Observaciones importantes

Una vez culminada las especificaciones que regirán la asignatura de Programación de


la carrera de Análisis de Sistemas en modalidad semipresencial, proseguiré a presentar la
Unidad Didáctica I correspondiente al tema Elementos Básicos del Lenguaje.
UNIVERSIDAD CENTROCCIDENTAL
LISANDRO ALVARADO
SISTEMA DE EDUCACIÓN A DISTANCIA
DECANATO DE CIENCIAS Y TECNOLOGÍA

UNIDAD DIDÁCTICA
1

4
2

Elementos básicos del Lenguaje


de Programación
Prof. Margarita Pereira
Barquisimeto, Marzo 2010
147

Una vez presentada la propuesta termino diciendo:

“Este material no corresponde a un fin,


simplemente a una unidad que he abordado, por lo
que es un tema abierto, en desarrollo, en
construcción (hermeneusis), por eso repito es sólo un paso, un buen
inicio, sin creer que es la última palabra, ni cerrando el cerco que
apenas comienzan a entreabrirse, simplemente por ahora es lo que
tenemos, y si nos sirve para mejorar y abrir un abanico de
oportunidades para todo aquel interesado en aprender y construir
conocimiento haciendo uso de ésta unidad didáctica en línea bajo la
modadlidad de educación virtual, habrá servido…Nos vemos en el
cyberespacio.”

Prof. Margarita Pereira


148

CAPÍTULO V

CONCLUSIONES Y RECOMENDACIONES

Conclusiones

Tomando en consideración las exigencias y los retos de los cambios que el


entorno le exige a las universidades siendo una de las prioridades la implementación
de sistemas de educación virtual, en este trabajo se señala con respecto al objetivo
general que dicha unidad en línea permitió presentar un material didáctico, que
involucra una serie de elementos presentes en teorías sociales de aprendizaje como la
adaptada de Pogiolli y modelos basados en las teorías de Zimmerman y Garrison,
donde la educación se centra en el estudiante, todo alineado a los contenidos
programáticos de la asignatura, abriendo espacios virtuales de comunicación
interactiva entre facilitador-alumnos; alumnos-alumnos y alumnos-universidad,
propiciando espacios de construcción y generación de conocimientos en el área de
programación en forma cooperativa y colaborativa, que serán preponderantes y
significantes en las siguientes unidades y asignaturas del pensum de la carrera de
Análisis de Sistemas.
En lo referente al objetivo específico, Diagnosticar la situación actual de los
materiales existentes utilizados en línea para la Unidad I “Elementos Básicos del
Lenguaje”, de la asignatura de Programación, se tiene que: A sabiendas que la
asignatura de Programación, solo se imparte de manera presencial y aún no está
publicada y menos evaluada bajo la modalidad de educación a distancia en línea, la
presente investigación denota la preocupación y ocupación por parte de la
Universidad, específicamente del Decanato de Ciencias y Tecnología (DCYT) en
ofertar dicha carrera y asignatura virtualmente, como resultado de las nuevas
exigencias gubernamentales y de una población en crecimiento que cada día demanda
el uso de nuevas tecnologías de información y comunicación.
149

Sin embargo, el DCYT en pro de mejorar su plataforma tecnológica y su


logística de educación a distancia a través de SEDUCLA, está formando y preparando
a todo el talento humano como docentes, administrativos y estudiantes que
intervendrá en el proceso, para adaptarse a las corrientes de modernización que exige
la Universidad del siglo XXI. En tal sentido el programa de Especialización de
Educación a Distancia en la UCLA tiene como propósito “…formar profesionales
universitarios para el ejercicio de su rol como facilitadores, gestores y tutores en la
modalidad de educación a distancia” González (2010: p. C4) (ver anexo D). En un
comienzo éste programa atenderá los docentes de la UCLA y posteriormente se
extenderá a docentes de otras instituciones de la región y del país.
Con respecto al objetivo específico Determinar el diseño de la unidad didáctica
en línea “Elementos Básicos del Lenguaje” para la enseñanza de la asignatura de
Programación. La UCLA orienta el diseño de cursos virtuales y la elaboración de sus
materiales didácticos en línea de acuerdo con el modelo ASSURE que es un Sistema
de Diseño Instruccional usado por docentes-tutores en un aula virtual, donde el
diseño debe orientarse y centrarse en el alumno como ente activo y protagonista del
proceso, para desarrollar en él, autoaprendizaje, autoevaluación, construcción de
conocimientos y la realimentación por parte del facilitador, finalizando por supuesto
en una evaluación.
Y para terminar con el último objetivo específico Elaborar la unidad didáctica
en línea “Elementos Básicos del Lenguaje” para la enseñanza de la asignatura de
Programación. Se consolidó una unidad didáctica en línea, adaptada al programa
actual de la asignatura, con el fin de cumplir los objetivos propuestos.
La Unidad Didáctica en línea “Elementos Básicos del Lenguaje”, esta diseñada
de manera simple, sencilla, divertida, jocosa y muy amigable con el propósito de que
el estudiante se sienta atraído y despierte su interés en el aprender para la vida bajo el
lema “aprender haciendo” no como simple requisito de la asignatura sino como
filosofía de vida, por supuesto guiado y orientado por el facilitador.
150

Está estructurada con una parte informativa y cognitiva, con ejemplos propios
de la autora, reflexiones, preguntas, observaciones importantes, énfasis en los
detalles, referencias a direcciones electrónicas para ampliar el conocimiento, al
finalizar un resumen y una autoevaluación con sus respuestas, una serie de ejercicios
propuestos con lo cual el estudiante podrá reforzar y auoevaluar el conocimiento
adquirido a lo largo de la misma.

Recomendaciones

Implementar, ejecutar y evaluar la Unidad didáctica en línea de la asignatura de


Programación, en los estudios virtuales de la carrera de Análisis de Sistemas de la
UCLA.
Formar, preparar y motivar al personal docente que dicta la asignatura de
Programación, hacia el diseño y elaboración de materiales didácticos en línea, de
otras unidades del programa de la asignatura, para publicar y ofertar dicha asignatura
en su totalidad cumpliendo con lo establecido en los objetivos y postulados de la
educación a distancia en la UCLA, cuando especifica “…ampliar sus oportunidades
de estudio, diversificar su modelo educativo, aumentar su matrícula, y operacionalizar
el principio constitucional de que la educación superior es un derecho para todos los
ciudadanos”. Reglamento de la Educación a Distancia de la UCLA, en su artículo 1
(op.cit: p.1)
Popularizar la educación a distancia entre toda la comunidad universitaria, con
el fin de investigar, diseñar y producir materiales didácticos adaptados a dicha
modalidad, cuyo objetivo sea despertar el interés en todos aquellos estudiantes que
aspiran cursar sus estudios superiores bajo la modalidad de educación a distancia
virtual, teniendo como “…principio rector el desarrollo de una educación centrada en
el aprendizaje y no en la enseñanza, en el estudiante y no en el profesor, donde se
facilite el aprendizaje autónomo, autorregulado y colaborativo de los estudiantes”.
Articulo 88, parágrafo segundo del Reglamento de la Educación a Distancia de la
151

UCLA (op.cit: p.30)


Conocimientos mínimos por parte de los estudiantes, en el manejo de la
plataforma tecnológica (MOODLE) y paquetes básicos de Office (Word, Powerpoint)
y software de comunicación como Internet o Mozilla, además de tener acceso a un
computador con una arquitectura tecnológica básica.
Vincular la educación básica con la superior para que el estudiantado posea
conocimientos básicos de Internet y office en general (Word, Powerpoint)
152

REFERENCIAS BIBLIOGRÁFICAS

Aguilar (2006). La Guía Didáctica, un material educativo para promover el


aprendizaje Autónomo. Evaluación y mejoramiento de su calidad en la
modalidad abierta y a distancia de la UTPL. Disponible en:
http://www.utpl.edu.ec/files/image/stories/publi_cientificas/guia_didactica.pdf
[Consulta: 2009, Octubre]

Anónimo. s/a. Manual básico de programación en C++. Apoyo a la investigación


C.PD. Servicios Informáticos U.C.M. Disponible en:
http://www.sisoft.ucm.es/Manuales/C++.pdf [Consulta 2008, Septiembre 29]

Asinsten (s/año). Producción de Contenidos para Educación Virtual. Disponible


en: http://www.virtualeduca.org/documentos/manual_del_contenidista.pdf .
[Consulta: 2010, 12 Enero]

Balagurusamy, E (2007). Programación Orientada a Objetos con C++. 3era


Edición. McGraw Hill.

Bustamante, P y Otros. 2004. Aprenda C++ básico como si estuviera en primero.


TECNUM. Campus Tecnológico de la Universidad de Navarra. Disponible en:
http://www.tecnun.es/asignaturas/Informat1/ayudainf/aprendainf/Cpp/basico/cppba
sico.pdf. [Consulta 2008, Septiembre 30]

Cabrera, H. 1997. Glosario de términos de computación. Monografías.com


Disponible en:
http://www.monografias.com/trabajos/gloscompu/gloscompu.shtml. [Consulta
2008, Octubre 2]

Camacho (2005). Educación Virtual. Disponible en:


http://www.monografias.com/trabajos24/educacion-virtual/educacion-
virtual.shtml#concep. [Consulta: 2009, Septiembre]

Candiz e Inciarte (2006). Diseño de las unidades curriculares dentro del enfoque
de Currículo por Competencias. Disponible en: http://www.upel.edu.ve/info-
general/eventos/Pregrado/Archivos/DiseoProgramas.pdf

Castro, J y Otros. 1998. Tutorial de lenguaje C++. Instituto Tecnológico de la Paz,


Departamento de Sistemas y Computación. Disponible en:
http://sistemas.itlp.edu.mx/tutoriales/tutorc/index.htm. [Consulta 2008, Septiembre
29]
153

Curci (2003). Diagnóstico de la Educación Superior Virtual en Venezuela.


Universidad Metropolitana. Caracas. Disponible en:
http://www.ruvae.edu.ve/unesco/UNESCO_EDUCACIONVIRTUAL_VENEZUE
LA.pdf . [Consulta: 2010 Enero].

Millán (2010). Curso de C++. Disponible en:


http://www.zator.com/Cpp/index.htm. [Consulta 2008, Septiembre 29]

Dávila (2006). Las Unidades y Guías Didácticas. Unidad didáctica II (Parte II).
Barquisimeto. Venezuela.

Dávila (2008). Introducción al marco teórico de la EaD. Módulo I – Lectura 01.


Diplomado a Distancia. Docencia en Entornos Virtuales de Aprendizaje. (UCLA).
Barquisimeto. Estado Lara.

Delgado y Otros (2001). De la modalidad Presencial a la Semipresencial.


Licenciatura en Computación Facyt-UC. 3 rd International Conferece on
Multimedia and ICTs in education. Disponible en:
http://formatex.org/micte2005/154.pdf. [Consulta: 2006, Octubre]

Dirección de Educación a Distancia UCLA (2009). Misión y Visión de SEDUCLA.


Disponible en: http://padme.ucla.edu.ve/index.php/seducla/Quienes-
Somos/Mision-y-Vision-de-SEDUCLA. [Consulta: 2010, Enero]

Dorrego, E. 2006. Educación a Distancia y Evaluación del Aprendizaje. RED.


Revista de Educación a Distancia, número M6 (Número especial dedicado a la
evaluación en entornos virtuales de aprendizaje). Disponible en:
http://www.um.es/ead/red/M6/dorrego.pdf. [Consulta 2008,
Septiembre 19]

Educación 2.0 (2009). MOODLE: La Plataforma LMS LIBRE más usada en el


mundo. Disponible en: http://educ2cero.blogspot.com/2009/01/moodle-la-
plataforma-lms-libre-ms-usada.html. [Consulta: 2010, Enero 11]

Francisco (2008). El tutor en la Educación a Distancia. Módulo 1. Diplomado a


Distancia. Docencia en Entornos Virtuales de Aprendizaje. (UCLA). Barquisimeto.
Estado Lara.

González, O (s/año). El concepto de Universidad. Universidad Autónoma


Metropolitana Azcapotzalco. Disponible en:
http://www.anuies.mx/servicios/p_anuies/publicaciones/revsup/res102/txt3.htm#1.
7. [Consulta: 2008, Agosto 20].
154

González y Zanfrillo (2007). Entornos de aprendizaje colaborativos para el


desarrollo de estudios de posgrado. Disponible en:
http://www.inpeau.ufsc.br/wp/wp-content/BD_documentos/2145.pdf. [Consulta:
2009, Octubre]

Heinich, y otros (1993). Insturctional media and the new teschnologies of


instruction (4th ed.). New York: Macmillan

Hernández (2007). Guía Didáctica Programación Orientada A Objetos – POO.


Trabajo de investigación de la Universidad Nacional Abierta Y A Distancia
(UNAD). Facultad de Ciencias Básicas e Ingeniería Pereira – Colombia.

Hommy, R y Otros (1999). Material instruccional basado en la WEB. Impacto de


ambientes educativos. Enfoque Candidus. La revista educativa para el debate y
la transformación. Centro de recursos de información educativa. CERINED.
Primera edición 1999. [Consulta: 2009, Junio]

InfoMed (1998). Apoyo a la Educación. Disponible en:


http://www.sld.cu/libros/distancia/cap1.html. [Consulta: 2010 Enero]

Joyanes Aguilar Luis (2003). Fundamentos de programación. Algoritmos,


Estructuras de datos y Objetos. Tercera Edición. Universidad Pontificia de
Salamanca, Madrid. McGraw-Hill.

Joyanes Aguilar Luis, Luis Rodríguez Baena, Matilde Fernández Azuela (2003).
Libro de problemas. Fundamentos de programación. Algoritmos, Estructuras
de datos y Objetos. Segunda Edición. Universidad Pontificia de Salamanca,
Madrid. McGraw-Hill. http:///www.carlospes.com/

Joyanes A. Luis y Sánchez G. Lucas (2006). Programación en C++. Un enfoque


práctico. Serie Schaum. McGraw Hill. Madrid.

Ley Orgánica de Educación (2001). Proyecto de Ley Orgánica de Educación.


Disponible en:
http://www.analitica.com/bitblio/asamblea_nacional/proyecto_ley_educ.asp.
[Consulta: 2009, Agosto]

López (2009). Algoritmos Y Programación (Guía Para Docentes). Segunda


Edición. Disponible en:
http://www.eduteka.org/pdfdir/AlgoritmosProgramacion.pdf. [Consulta: 2009,
Octubre]
155

López, G. (2003). Educación a Distancia. Evaluación. Disponible en:


http://www.ucv.ve/ead/html/educacion_a_distancia__evaluac.html. [Consulta
2008, Septiembre 19]

Márquez (2005). Selección de materiales didácticos y Diseño de intervenciones


educativas. Disponible en: http://www.pangea.org/peremarques/orienta.htm.
[Consulta: 2010, Enero]

Márquez (2007). Los Medios Didácticos y los Recursos educativos. Disponible en:
http://www.pangea.org/peremarques/medios.htm. [Consulta: 2010, Enero]

MEC: Ministerio de Educación y Ciencia (2006). Propuesta para la renovación de


las metodologías educativas en la universidad. Madrid: Secretaría General
Técnica.

Milán, M y Otros. (1997). Dimensiones del proceso de Evaluación.


Monografías.com. Disponible en:
http://www.monografias.com/trabajos42/evaluacion-como-proceso/evaluacion-
como-proceso2.shtml.[Consulta 2008, Septiembre 24]

Milán, M. (s/a). La Evaluación como un proceso participativo. Parte IV.


Espacio logopédico.com. Disponible en:
http://www.espaciologopedico.com/articulos2.php?Id_articulo=1358. [Consulta
2008, Septiembre 28]

Organización de los Estados Iberoamericanos (2009). Concepto y


Determinantes de la Calidad de la Educación Superior. Un Sondeo de Opinión
entre Profesores de Universidades Españolas. Disponible en:
http://www.oei.es/noticias/spip.php?article5080. [Consulta: 2009, Junio]

Parede, R. (2005). Autoevaluación y Coevaluación. Disponible en:


http://boards4.melodysoft.com/app?ID=2005AAV0101&msg=96&DOC=21.
[Consulta 2008, Septiembre 22]

Pereira (2009). Rendimiento estudiantil en los tres primeros lapsos vs. Formas de
ingreso universitario de las cohortes 2003-2, 2004-1, 2004-2, 2005-1, 2006-1,
2006-2, de los alumnos de la carrera de Análisis de Sistemas de la Universidad
Centroccidental “Lisandro Alvarado” (UCLA). Barquisimeto Estado Lara.
Trabajo de Ascenso presentado para optar a la Categoría de Agregado en el
escalafón del Personal Docente y de Investigación de la UCLA. Universidad
Centroccidental “Lisandro Alvarado”. Barquisimeto, Venezuela.
156

Permuy, Fernando Bellas. El lenguaje de programación C++. Departamento


de Tecnologías de la Información y las Comunicaciones (TIC).
Universidade Da Coruña. Disponible en:
http://www.tic.udc.es/~fbellas/teaching/cpp/CPP.pdf [Consulta 2010, Marzo
10]

Proyecto de Ley Orgánica de Educación (2001). Diversificación de la Educación


Superior. Disponible en:
http://ulaweb.adm.ula.ve/ula_sea/Documentos/Normativa/Nacional.PDF.
[Consulta: 2010, Enero]

Quevedo (s/año). Proyectos de educación a distancia en Venezuela. Disponible en:


http://neutron.ing.ucv.ve/revista-e/No5/MQuevedo.htm. [Consulta: 2010, Enero]

Rivera, G. 1997. La Educación a Distancia Vs. Nuevas tecnologías.


Monografías.com. Disponible en:
http://www.monografias.com/trabajos5/nutec/nutec.shtml. [Consulta 2008,
Septiembre 24]

Salvador Pozo, salvador@conclase.net. Curso de C++. Septiembre de 2000 - Agosto


de 2009. Disponible en: http://c.conclase.net/curso/index.php.[Consulta 2010,
Marzo 10]

SEDUCLA (2007). Sistema de Educación a Distancia. Disponible en:


http://pide.files.wordpress.com/2007/10/pned_ucla.pdf#17. [Consulta: 2010, Enero
11]

SEDUCLA (2009). Reglamento de la Educación a Distancia en la UCLA.


Barquisimeto.

Schildt H., (1996). C++ para programadores. Serie McGraw-HILL. Madrid


Teruel (2000). Justificaciones del diseño de Delta Pensum 1.x: Las clases Pensum,
Calendario Curricular. Disponible en:
http://www.ldc.usb.ve/~teruel/ci4712/dp/dp1x/whyPensum.html. [Consulta: 2009,
Octubre 19]

Torres y Useche (2006). Construcción de Ayudas Didácticas para la enseñanza de


Programación Orientada a Objetos Java 5.0. Disponible en:
http://www.unbosque.edu.co/files/Archivos/TesisTorresUseche.pdf. [Consulta:
2009 Diciembre].
157

twiggyr_6 (2009). Concepto de realidad virtual. Disponible en:


http://www.monografias.com/trabajos11/realitual/realitual.shtml. [Consulta: 2009,
Septiembre].

Universidad Fermín Toro. (1996). Normas para la Presentación del Trabajo de


Grado. Cabudare. Lara.

Yukavetsky (2005). Tecnología Educativa y Comunicación en el Currículo.


Disponible en: http://comu.uprh.edu/iconos/Iconos-XXI-
Art%C3%ADculos/Iconos-XXI-Tecnolog%C3%ADa%20Educativa%20y.pdf.
[Consulta: 2010, Febrero]

Zamora (2009). Modelos educativos, métodos y técnicas didácticas para la


educación en los sistemas abiertos y a distancia. Disponible en:
http://portal.educar.org/edgar-zamora-carrillo/modelos-educativos-metodos-y-
tecnicas-didacticas-para-la-educacion-en-los-sist. [Consulta: 2010, Enero]
158

ANEXOS
159

ANEXO A

PROGRAMA DE LA ASIGNATURA PROGRAMACIÓN


Universidad Centroccidental "Lisandro Alvarado"
Decanato de Ciencias y Tecnología
Departamento de Sistemas

PROGRAMA INSTRUCCIONAL

PROGRAMA: ANÁLISIS DE SISTEMAS DEPARTAMANTO: SISTEMAS

ASIGNATURA: PROGRAMACION AREA COORDINACIÓN: PROGRAMACIÓN

AREA CURRICULAR: CONOCIMIENTOS EJE CURRICULAR: COMPUTACION

CODIGO: C4 SEMESTRE: II CARÁCTER: OBLIGATORIA

HORAS TEORICAS: 2 HORAS PRACTICAS: 2 PRE-REQUISITOS: C3


CREDITOS: 4

PROFESORES: COORDINADOR: GIOVANNI TORREALBA


ROSA DIAZ
GIOVANNI TORREALBA
MARGARITA PEREIRA
OLGA PALMA
MARIA AUXILIADORA PEREZ
GLENNYS CLEMANT

AUXILIAR DOCENTE:
TULIO LEON

FECHA DE ELABORACION: 05-2008 FECHA ULTIMA REVISION: 01-2010 LAPSO ACADEMICO: 2010-I
FUNDAMENTACIÓN

El objetivo general de la Programación es capacitar al estudiante para construir programas correctos, eficientes, legibles, bien
documentados, fáciles de mantener y reutilizar. En este orden de ideas, la Programación Orientada a Objetos proporciona los
conceptos y las herramientas para modelar de estudio de la informática es el tratamiento automático de la información, sus
formas de representación y procesamiento, así como el diseño y desarrollo de programas de computación. La mayoría de los
conceptos y problemas importantes en el campo de la informática no pueden apreciarse, a menos que se tenga un buen
entendimiento de lo que es un programa y de cómo escribir uno. Siendo el análisis y desarrollo de sistemas informáticos, uno
de los principales roles del Analista de Sistemas, los conceptos adquiridos en la asignatura son esenciales para el perfil del
egresado. Programación como asignatura básica del eje curricular de computación, se encuentra articulada verticalmente con
Introducción a la Computación como pre-requisito, siendo prelación de la asignatura Organización de Archivos y
Programación, tiene como principal propósito desarrollar en el estudiante las competencias básicas necesarias para el análisis,
diseño e implementación de programas, utilizando herramientas tecnológicas para su construcción de forma eficiente.

OBJETIVO GENERAL

Aplicar el paradigma de la Programación Orientada a Objetos para el desarrollo de programas, utilizando una metodología
para el modelado de los problemas a resolver, implementándolos en algún lenguaje de programación.
UNIDAD I:
OBJETIVO TERMINAL:
ELEMENTOS BÁSICOS DEL LENGUAJE
Utilizar los elementos y conceptos básicos de un programa de
Duración:8 horas
computación.
Ponderación:12,50%
ESTRATEGIAS DE ENSEÑANZA -
OBJETIVOS ESPECÍFICOS CONTENIDO
APRENDIZAJE
Identificar los componentes esenciales de la Estructura Básica de un Programa
Exposición por parte del Docente.
estructura de un programa.

Proceso de Creación de un Ejecutable Discusión Grupal.


Comprender el proceso de edición y compilación
para la creación de programas ejecutables. Uso de multimedia
Conceptualizar el término Datos como elemento Datos:
fundamental en la creación de un programa.  Definición
 Tipos de datos primitivos
 Identificadores
 Almacenamiento y representación
Utilizar los diferentes operadores, operandos y de memoria.
expresiones en el desarrollo de un programa Operadores, Operandos y Expresiones.
de computación. Prioridad de operadores y evaluación
de expresiones.
Promover pruebas efectivas para la producción de
programas confiables y de mejor calidad. Pruebas y Depuración de Programas

Valorar la documentación de programas como


herramienta que mejora el mantenimiento de Documentación de Programas
los programas.
UNIDAD II:
OBJETIVO TERMINAL:
ESTRUCTURAS DE CONTROL DE UN PROGRAMA
Lograr las destrezas necesarias para el uso de las diferentes estructuras
Duración:16 horas
de control y las funciones en la construcción de programas.
Ponderación:25,00%

ESTRATEGIAS DE ENSEÑANZA -
OBJETIVOS ESPECÍFICOS CONTENIDO
APRENDIZAJE
 Exposición por parte del
Identificar las estructuras secuenciales, Estructura secuencial.
Docente.
condicionales y repetitivas como elementos  Definición y bloque constructivo  Discusión Grupal.
para el desarrollo de un programa.  Instrucción de Asignación  Uso de multimedia
 Instrucción de entrada de datos
 Instrucción de salida de datos
Aplicar estructuras de control secuenciales,
Estructura de control condicionadas
condicionales y repetitivas en la elaboración (definición, representación y
de algoritmos. funcionamiento)
 Valores de verdad TRUE y FALSE
 Bifurcaciones condicionales y
Utilizar funciones como mecanismo de sentencias SINO en algoritmos
 Estructuras de decisión lógica
organización y reutilización de código.
anidadas
Estructuras de control repetitivas
 Ciclo MIENTRAS (definición,
representación y funcionamiento)
 Selección múltiple o CASO (Definición,
representación y funcionamiento)
 Ciclo PARA (Definición, representación
y funcionamiento)
 Ciclo REPITA (Definición,
representación y funcionamiento)
Funciones
 Conceptualización y uso
 Parámetros
UNIDAD III:
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A
OBJETIVO TERMINAL:
OBJETOS (POO)
Aplicar los conceptos básicos de la POO en la resolución de problemas.
Duración:28 horas
Ponderación:43,75%
ESTRATEGIAS DE ENSEÑANZA -
OBJETIVOS ESPECÍFICOS CONTENIDO
APRENDIZAJE
 Exposición por parte del
Identificar los conceptos básicos de la 1. Conceptos Básicos de POO
Docente
Programación Orientada a Objetos (POO).
1.1.Programación orientada a objetos  Discusión Grupal
1.2.Clases  Uso de multimedia
1.3.Instancias  Ejercicios de Implementación
1.4.Atributos  Asignación práctica
1.5.Métodos
1.6.Mensajes
Identificar las propiedades de la POO. 1.7.Diseño orientado a objetos

2. Propiedades de POO
2.1.Herencia
2.2.Encapsulamiento de información
Aplicar las abstracciones fundamentales de 2.3.Ocultamiento de la información
programación orientada a objetos para 2.4.Abstracción de datos
modelar y resolver problemas utilizando un 2.5.Reusabilidad
lenguaje de programación
Modelar e implementar diversos tipos de 3. Estado y Comportamiento de un
relaciones y jerarquías entre clases y objetos, Objeto.
tales como: herencia, asociación, agregación y 3.1.Atributos y métodos
composición. 3.2.Programación de métodos

4.Relaciones entre clases y objetos


4.1.Herencia
4.2.Asociación
4.3.Agregación
4.4.Composición
UNIDAD IV:
TÉCNICAS DE MODELADO Y PROGRAMACIÓN DE OBJETIVO TERMINAL:
OBJETOS Aplicar una metodología de modelado para la solución de problemas y
Duración:12 horas desarrollar las soluciones respectivas.
Ponderación:18,75%

ESTRATEGIAS DE ENSEÑANZA -
OBJETIVOS ESPECÍFICOS CONTENIDO
APRENDIZAJE
 Exposición por parte del
Identificar los componentes básicos de un 1. Lenguaje de Modelado Unificado.
Docente
diagrama de clases.
1.1.Definición de UML  Discusión Grupal
Usar la notación UML para definir la arquitectura 1.2.Tipos de Diagramas.  Uso de multimedia
de una aplicación. 1.3.Diagrama de Clases.
1.4.Relaciones entre Objetos.
Identificar los elementos que componen el
modelo, la vista y el controlador. 2. Patrón de Diseño “Modelo-Vista-
Usar el patrón MVC para reutilizar código y Controlador”
estructurar las aplicaciones correctamente. 2.1.Estructura MVC
2.1.1.El Modelo
2.1.2.La Vista
Desarrollar la solución de los casos prácticos 2.1.3.El Controlador
utilizando la metodología para el desarrollo de 2.2.Funcionamiento MVC
programas orientados a objetos.
3. Metodología para el desarrollo de
programas orientados a objetos.
3.1.Análisis del problema
3.2.Diseño orientado a objetos
3.3.Codificación del programa en un
lenguaje de programación
PLAN DE EVALUACIÓN

ESTRATEGIAS DE EVALUACION PONDERACION


C
UNIDAD OBJETIVO TECNICAS INSTRUMENTOS ACTIVIDADES TIPO DE CORTE 1
O
EVALUACION 25%
R I: 1 al 5
I, II Prueba Escrita Prueba Escrita Aplicación de la Sumativa 20%
T II: 1 al 3
Prueba
E I: 1 al 5
I, II Prueba Ejercicios en el Implementar solución Sumativa 5%
II: 1 al 3
Práctica/Evaluación Computador al caso de estudio
I
Continua

C ESTRATEGIAS DE EVALUACION PONDERACION


O UNIDAD OBJETIVO TECNICAS INSTRUMENTOS ACTIVIDADES TIPO DE CORTE 2
R EVALUACION 35%
T III 1 al 4 Prueba Escrita Prueba Escrita Aplicación de la Sumativa 30%
E Prueba
III 1 al 4 Prueba Ejercicios en el Implementar solución Sumativa 5%
I Práctica/Evaluación Computador al caso de estudio
I Continua

C ESTRATEGIAS DE EVALUACION PONDERACION


O UNIDAD OBJETIVO TECNICAS INSTRUMENTOS ACTIVIDADES TIPO DE CORTE 3
R EVALUACION 40%
IV, V IV: 1 al 4 Prueba Escrita Prueba Escrita Aplicación de la Sumativa 15%
T V: 1 al 3
E Prueba
I,II,III,IV, I: 1 al 5 Proyecto Computador Defensa de Proyecto Sumativa 25%
II: 1 al 3
I V III: 1 al 4
I IV: 1 al 3
I V: 1 al 3
BIBLIOGRAFÍA
 JOYANES AGUILAR L. (2000) Programación en c++. Algoritmos, estructuras de datos y objetos. Mc.Graw Hill/Interamericana de España: Madrid.
 Advanced C Primer ++ Prata, Stephen Howard W. Sams & Company, Indianapolis, ESTADOS UNIDOS
 Aplique Turbo C++ Para Windows Turbo C++ for Windows Inside and Out Schildt, Herbert Jimenez Ferry, Eduardo (Traductor); Vaquero Zanchez,
Antonio (Revisor) Osborne/McGraw-HiII , Berkeley, ESTADOS UNIDOS
 Aprende C con Turbo Borland C++ Delannoy, Claude
 Borland C ++ Manual de Referencia Schildt, Herbert Becerra T., Antonio (Traductor); Guirado C., Rafael (Traductor); Iribarne M., Luis F.
(Traductor); Túnez R., Samuel (Revisor); Vaquero S., Antonio (Revisor) Osborne/McGraw-Hill , Madrid, ESPAÑA
 Borland C++ Developeris Bible Peterson, Mark WAITE GROUP PRESS, California, ESTADOS UNIDOS
 Borland C++ Power Programming Walnum, Clayton Que Corporation, Carmel, ESTADOS UNIDOS
 Borland C++ Programming for Windows Version 3.0 Norton, Peter; Yao, Paul Bantam Books , Toronto, CANADA
 Borland C++3 Object-Oriented Programming Faisan, Ted Sams, Indiana, ESTADOS UNIDOS
 C++ a su Alcance: Un Enfoque Orientado a Objetos Joyanes AguiJar, Luis McGraw-HiII, México, MEXICO
 C++ Components and AIgorithms Ladd, Scott Robert M&T Publishing Inc, Redwood City, ESTADOS UNIDOS.
 C++ Guía de autoenseñanza Teach Yourself C++ Schildt, Herbert Cervigon Ruckauer, Carlos (Traductor); Sánchez Vaquero, Antonio (Revisor)
Osborne/McGraw-Hill, Madrid, ESPAÑA
 C++ Manual de Bolsillo Joyanes Aguilar, Luis McGraw-HiII , Madrid, ESPAÑA
 C++ para Ingeniería y Ciencias Bronson, Gary J. International Thomson Editores, México, MEXICO
 C++ para Programadores Schildt, Herbert Jimenez Ferry, Eduardo (Traductor) Osborne/McGraw-Hill, Madrid, ESPAÑA
 C++ Primer: The Expert Tutorial and Reference for C++ Programmers Swan, Toro Sams, Indiana, ESTADOS UNIDOS
 Conquering C++ Pointers Traister, Robert J. Academic Press Professional. Inc, Boston, ESTADOS UNIDOS
 Estructuras de Datos con C y C++ Tenenbaum, Aaron M.; Augenstein, Moshe J.; Langsam, Yedidyah, 2.a ed
 Manual de Borland C++ 4.0 Pappas, Chris H.; Murray, William H. Osborne/McGraw-Hill, Madrid, ESPAÑA Microsoft Visual C++ 6.0 Zaratian,
BeckQuijada Arteaga, Maria del Pilar (Traductor); Sánchez Vaquero, Antonio (Revisor) McGraw-HiII , Madrid, ESPAÑA
 Microsoft Visual C++ Funciones y Aplicaciones Microsoft Henández Y., Luis (Revisor); Ruiz-Andino I., Alvaro (Traductor); Sánchez Vaquero,
Antonio (Revisor) McGraw-HiII/lnteramericana de España, Madrid, ESPAÑA
 Object Oriented Programming With Borland C++4 Walnum, Clayton Que Corporation, Carmel, ESTADOS UNIDOS
 Object Windows for C++: A Shortcut to Windows Programming Traister, Robert J. AP Professional, Boston, ESTADOS UNIDOS
 Object-Oriented Programming with C++ Ege, Raimund K. AP Professional, Boston, ESTADOS UNIDOS, 2da ed.
 Programación Avanzada con Microsoft Visual C++ Programming Microsoft Visual C++ Kruglinski, David J.; Wingo, Scot; Shepherd, George
Herralde, Ricardo de Cordoba (Traductor); Varquero Sanchez, Antonio (Revisor) McGraw-HiII , Madrid, ESPAÑA
 Programación Avanzada con Visual C ++ 5 Kruglinski, David J. Córdoba Herralde de, Ricardo (Traductor); Domingo Ajenjo, Alberto (Traductor);
Fernández Manjón, Baltazar (Revisor); Sánchez Vaquero, Antonio (Revisor) McGraw-HiII/lnteramericana de España, Madrid, ESPAÑA
 Programación de Graficos en Turbo C++ Graphics Prograrnming in Turbo C++ Ezzell, Ben Joyanes, Luis (Revisor); Reus Hungria, Antonio
(Traductor) Addison Weslev/Diaz de Santos, Buenos Aires, ARGENTINA
 Programación en C y C ++ en Windows 95 Schildt' s windows 95 Programming in Cand C++ Schildt, Herbert Castillo Sobrino Del, María D.
(Traductor); Hernández Y., Luis (Revisor); Saenz P., Fernando (Traductor); Vaquero S., Antonio (Revisor) Osborne/McGraw-Hill , Madrid, ESPAÑA
 Secrets of the Borland C++ Masters Mitchell, Ed. Sams Publishing, Carmel Indiana, ESTADOS UNIDOS
169

ANEXO B

PENSUM DE ESTUDIO DE LA CARRERA


ANÁLISIS DE SISTEMAS
UNIVERSIDAD CENTROCCIDENTAL
LISANDRO ALVARADO
DECANATO DE CIENCIAS Y TECNOLOGIA
REGISTRO ACADEMICO

PENSUM DE ESTUDIO DE LA CARRERA ANÁLISIS DE SISTEMAS

SEMESTRE CODIGO ASIGNATURA T P C PRE-REQUISITO


I A1 Administración de Empresas 3 0 3 --------
C1 Introducción a la Computación 2 2 3 --------
M1 Estructuras Discretas 2 2 3 --------
M2 Introducción al Calculo Diferencial 2 2 3 --------
O2 Inglés I 2 1 2 --------
II A3 Elementos de Contabilidad 2 2 3 A1
A2 Organización y Métodos 2 0 2 A1
C4 Programación 2 2 3 C1
M3 Introducción al Calculo Integral 2 2 3 M2
O3 Inglés II 2 1 2 O2
III A4 Sistemas Contables 2 2 3 A3
C7 Lenguajes de Programación 0 4 2 C4
C5 Organización de Archivos y Programación 2 2 3 C4
M4 Álgebra Lineal 2 2 3 M1
M5 Elementos de Estadística 2 2 3 --------
IV ------ Electiva I 3 0 3 --------
S1 Análisis y Diseño de Sistemas 3 3 4 A2-C5
C6 Estructura de Datos 2 2 3 M1-C5
C2 Sistemas de Computación 2 2 3 C4
M6 Métodos Estadísticos 2 2 3 C4-M3-M5
V ------ Electiva II 3 0 3 --------
S2 Proceso Automático de Datos 2 2 3 S1
O4 Técnicas de la Comunicación 2 0 2 S1
C3 Sistemas de Programación 2 2 3 C2-C6
M7 Programación Lineal 3 2 4 M4-C4
VI S5 Sistemas de Base de Datos 2 2 3 S2-C6
S3 Sistemas de Información 2 2 3 S2
O1 Cibernética y Sociedad 3 0 3 S2
S4 Sistemas de Transmisión de Datos 2 2 3 C3
M8 Optimización de Datos 3 2 4 M6-M7
171

ANEXO C

ESTRUCTURA ORGANIZATIVA
VICERRECTORADO ACADÉMICO
173

ANEXO D

LA UCLA HACIA LA VIRTUALIZACIÓN

Potrebbero piacerti anche