Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
LISANDRO ALVARADO
SISTEMA DE EDUCACIÓN A DISTANCIA
DECANATO DE CIENCIAS Y TECNOLOGÍA
UNIDAD DIDÁCTICA
UNIDAD DIDÁCTICA
Programación
Tabla de Contenidos
Pág.
Introducción. …………………………………………………………………………. 5
Objetivos de Aprendizaje…………………………………………………………….. 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
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
Introducción
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:
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
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.
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.
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.
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.
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
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.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.
Sintaxis:
#define nombre_de_la_constante dato
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:
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.2. Función main: Este bloque corresponde al cuerpo principal del programa. Su
estructura es la siguiente:
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()
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:
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
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
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)
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)
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:
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
Sintaxis
Ejemplos de variables:
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.
variable dinámica y también para liberar la memoria ocupada por la variable cuando
ya no se necesite.
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.
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.
Por ejemplo para leer la variable sueldo, las siguientes instrucciones son necesarias:
⇒ 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.
¿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?
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
Ejemplos:
#include <iostream>
using namespace std;
int main()
{
char caracter;
int entero;
float real;
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
caracter = A
entero = 65
real = 65
nuevo entero = 98
nuevo caracter = b
Presione cualquier tecla para continuar . . .
Por otro lado el lenguaje C++ también permite realizar asignaciones múltiples.
Sintaxis:
identificador1 = identificador2 = .. = expresión;
Por ejemplo:
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
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
#include <iostream>
using namespace std;
int main()
{
#define b 2
int a = 1,c;
a += b;
cout << "\n a += b : 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;
}
valor de a = 1
valor de b = 2
a += b : resultado = 3
a += b * c : resultado = 23
a += suma(8,2) : resultado = 33
a += suma(8,2) * 4 : resultado = 73
-= : expresión1 -= expresión2;
es equivalente
*= : expresión1 *= expresión2;
es equivalente
es equivalente
%= : expresión1 %= expresión2;
es equivalente
⇒ Operador coma (,): Permite combinar dos o mas expresiones en una misma línea
separadas por coma.
+ Suma
- Resta
* Multiplicación
/ División
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
-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
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
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;
c = --a * ++a;
system ("PAUSE");
return 0;
}
c = --a * ++a;
1 2
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
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
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.
1 3
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.
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
Instrucción Sintaxis
Incluye un archivo de cabecera #include nombre_del_archivo_de_biblioteca
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.
( ) cout << “Resultado es: “ << resulta; 10. Instrucción asignación múltiple
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;
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.
Respuesta a la Autoevaluación
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”);
}
a1 b1 c1
23 23 22
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;
}
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++?
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
Programación I
1. Ejecute el programa
de instalación
3. Escoja el lenguaje a
usar durante la
instalación
5. El tipo de instalación
es FULL
7. La instalación está en
progreso
9. Ha terminado con la
instalación
5. Ha terminado de configurar
el compilador DevC++...
Presione el botón OK
Fuentes de Información
Por
Margarita Pereira Rodríguez
Por
Margarita Pereira Rodríguez
Trabajo aprobado
___________________________
________________________ ________________________
BARQUISIMETO, 2010
DEDICATORIA
iv
AGRADECIMIENTO
v
UNIVERSIDAD CENTROCCIDENTAL “LISANDRO ALVARADO”
DECANATO DE CIENCIAS Y TECNOLOGIA
RESUMEN
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
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
3
4
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
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
Objetivos Específicos
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
Alcances
Limitaciones
Antecedentes de la Investigación
13
14
Bases Teóricas
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:
Sector Universitario
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
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
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
Educación Presencial
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.
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.
• 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
Los materiales didácticos digitalizados, son todos aquellos medios que sirven
28
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
R Equiere
learner Estimular la respuesta de
response los estudiantes
E valuate
Evaluación
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:
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
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.
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
A -> Acompañador
F -> Facilitador
O -> Orientador
ELEMENTOS:
Auto-Evaluación
Auto-Reflexión
AFECTIVAS SENTIMIENTOS
ACCIONES
HABILIDADES
Bases Legales
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
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:
45
46
47
48
ESPECIFICACIONES GENERALES
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.
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.
Objetivos de Aprendizaje
EVALUAR los programas para chequear que realizan las tareas para las que
fueron diseñados, es decir producen los resultados correctos y esperados.
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.
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.
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
a. Si b. No
6. Te gusta la Programación. a. Si b. No
ASPECTOS COMPUTACIONALES
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
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
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
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 )
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
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)
_____________________________________________________________________________________________
_____________________________________________________________________________________________
_____________________________________________________________________________________________
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:
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
⇒ Dinámica de participación.
⇒ Solución de ejercicios.
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.
También se aplicará:
El aprendizaje se construye uno con todos y todos con todos. Cada quién
aportará su granito de arena al grupo.
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.
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
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:
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
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...
º
• No dejes para mañana lo que puedas hacer hoy. Debes ser precavido tener
siempre una alternativa adicional para cualquier eventualidad.
Autoaprendizaje Autoreflexión
Las siguientes imágenes (sugeridas por la Prof. Keyla Cañizales) representan acciones
específicas que debes realizar:
Observaciones importantes
UNIDAD DIDÁCTICA
1
4
2
CAPÍTULO V
CONCLUSIONES Y RECOMENDACIONES
Conclusiones
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
REFERENCIAS BIBLIOGRÁFICAS
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
Dávila (2006). Las Unidades y Guías Didácticas. Unidad didáctica II (Parte II).
Barquisimeto. Venezuela.
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/
Márquez (2007). Los Medios Didácticos y los Recursos educativos. Disponible en:
http://www.pangea.org/peremarques/medios.htm. [Consulta: 2010, Enero]
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
ANEXOS
159
ANEXO A
PROGRAMA INSTRUCCIONAL
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.
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
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
ANEXO B
ANEXO C
ESTRUCTURA ORGANIZATIVA
VICERRECTORADO ACADÉMICO
173
ANEXO D