Sunteți pe pagina 1din 33

Cdigo

UNIVERSIDAD DEL CARIBE


Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

Septiembre, 2007

GDE-INF-319

Programacin Lineal

Versin No. 1
______________________
Pgina 1 de 33

Escuela de Informtica
Gua de Estudio
Nombre de la asignatura

: Programacin Lineal

Carga acadmica

: 4 crditos

Modalidad

: Semipresencial

Clave

: INF-319

Pre-requisito

: INF-214

Fecha de elaboracin

: Septiembre, 2007

Responsable de elaboracin

: Lic: Jos Uribe

Revisin

: Lic. Martha Escao

Directora de Produccin de Medios


: Lic. Jos Uribe
Director Escuela de Informtica
Modificaciones:
1: Fecha:
Responsable:
2: Fecha: ____________ Responsable:
3: Fecha : ____________ Responsable: ______________________
Septiembre, 2007

*Gua en Proceso de Revisin.

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

GDE-INF-319

Programacin Lineal

Septiembre, 2007
Versin No. 1
______________________
Pgina 2 de 33

Saludos Presidente del Consejo.

El Modelo Educativo de Unicaribe (MEDUC), fundamentado en una educacin abierta


y a distancia, demanda el uso de diversas herramientas

para el aprendizaje,

principalmente para estimular y orientar el estudio independiente. Esta gua de estudio


es una de esas herramientas. No tiene pretensiones de sustituir al docente, sino de
complementar su labor. La gua de estudio tampoco limita el espacio de bsqueda del
estudiante, sino que le sirve de apoyo en esa bsqueda y le facilita el acceso al
conocimiento a partir de un conjunto de actividades que le propone. Por esta razn,
considero que la implementacin de este instrumento ser de gran ayuda para el y la
estudiante y contribuir a un aprendizaje de mayor calidad.

Dr. Jos Andrs Aybar Snchez


Presidente del Consejo.

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

Septiembre, 2007

GDE-INF-319

Programacin Lineal

Versin No. 1
______________________
Pgina 3 de 33

Mensaje a los y las Estudiantes

Esta Gua de Estudio de la asignatura Programacin Lineal, se ha elaborado


pensando en ustedes, estudiantes de UNICARIBE. He tratado de organizar
actividades con sus orientaciones para facilitar el aprendizaje en la metodologa
semipresencial y a distancia. Es necesario entender que este documento solo
puede convertirse en una Gua para el aprendizaje, si es asumido como tal por
ustedes.

Para lograr los aprendizajes esperados

es obligatoria la realizacin de las

actividades indicadas en el desarrollo de esta gua, para lo cual se requiere del


manejo de las fuentes que se recomiendan en el programa de la asignatura y en
cada una de las unidades.

Lic. Jos Uribe

ndice

Prof. Ing. Francisco V. Fliz Vallejo


Marzo, 2005

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

GDE-INF-319

Programacin Lineal

Septiembre, 2007
Versin No. 1
______________________
Pgina 4 de 33

ndice
Saludos Presidente del Consejo2
Saludos a los Estudiantes.3
Indce4
Caracterstica de la Gua...6
Descripcin de la Materia 7
Justificacin .7
Objetivo ...8
Habilidades y Destrezas que se logran con la materia 8
Relacin con las dems Materias.9
Contenidos...9
UNIDAD I: Fundamentos del Lenguaje C.
Propsitos Especficos.10
Contenidos...10
Actividad Preliminar11
Actividad para el Aprendizaje..11
Actividades Complementaria12
UNIDAD II: Arreglo.
Propsitos Especficos..13
Contenidos13
Actividad Preliminar.13
Actividad para el Aprendizaje..14
Actividades Complementarias..14
UNIDAD III: Archivos.
Propsitos Especficos..16
Contenidos16
Actividad Preliminar.16
Actividad para el Aprendizaje..16
Actividades Complementarias..17

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

GDE-INF-319

Programacin Lineal

Septiembre, 2007
Versin No. 1
______________________
Pgina 5 de 33

UNIDAD IV: Tcnicas de Ordenacin, Bsqueda e Intercelacin.


Propsitos Especficos..18
Contenidos18
Actividad Preliminar.18
Actividad para el Aprendizaje..18
Actividades Complementarias..18

UNIDAD V: Uso de Estructuras de Datos Lineales y no Lineales.


Propsitos Especficos..20
Contenidos20
Actividad Preliminar.20
Actividad para el Aprendizaje..21
Actividades Complementarias..21
Programacin...23
Metodologa.24
Tutora en un Campo Virtual...24
Bibliografa Bsica...25
Bibliografa Complementaria...27
Prcticas...27
Autoevaluacin28
Programa..29

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

Septiembre, 2007

GDE-INF-319

Programacin Lineal

Versin No. 1
______________________
Pgina 6 de 33

Caracterizacin de la Gua
Esta Gua de Estudio est dirigida a los y las estudiantes de UNICARIBE que cursan la
asignatura Programacin Lineal. Su propsito es ayudar en el proceso de aprendizaje,
mediante la organizacin y orientacin de actividades que propicien aprendizajes
significativos. No sustituye al docente-acompaante, a los libros ni al programa, sino
que se convierte en una herramienta al servicio de stos.
La Gua est organizada por unidades de acuerdo con el programa de la asignatura. En
cada unidad se incluyen las siguientes secciones:
-

Propsitos Especficos
Contenidos
Actividades Preliminares
Actividades de Aprendizaje
Actividades Complementarias

En este documento se presenta, adems,

una programacin de los encuentros, la

descripcin de la metodologa para desarrollar los encuentros, una bibliografa bsica y


una complementaria para toda la asignatura, las practicas y una autoevaluacin.

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

GDE-INF-319

Programacin Lineal

Septiembre, 2007
Versin No. 1
______________________
Pgina 7 de 33

Descripcin de la materia
La materia Programacin Lineal (clave INF-319) ofrece un panorama sobre las tcnicas
de programacin, las estructuras de datos lineales y no lineales, el manejo de archivo y
los mtodos de ordenacin, bsqueda e intercalacin tanto en memoria como en disco;
esta asignatura busca estimular al estudiante sobre los aspectos, conceptos y la
implementacin de estos conocimientos en el lenguaje C. Adems, se aprender a
programar en el lenguaje C.

Justificacin
La potencia y flexibilidad de un lenguaje de programacin estn directamente
relacionadas con las estructuras de datos que puede manejar. Cuando una aplicacin
particular requiere una estructura de datos no soportada por el lenguaje de
programacin, se torna complicado el trabajo de programacin; esta es la razn por la
que se hace necesario el aprendizaje de un lenguaje de programacin como C y adems,
estudiar las implementaciones de estructuras de datos y algoritmos en l.

El estudiante esta encargado de construir su conocimiento teniendo como recursos la


bibliografa bsica y complementaria, tutoriales, apuntes colgados en el campus virtual
y los ejercicios que se asignarn durante el transcurso de la asignatura para alcanzar un
aprendizaje a partir de una sucesin de experiencias que permitan contrastar sus propias
ideas y modificar los conocimientos iniciales. Por el contrario, el profesor dirige el
proceso de aprendizaje planificando actividades que despierten el inters del estudiante
as como motivarle durante todo el trayecto.
Es difcil establecer un patrn de enseanza comn para todos los estudiantes ya que
cada uno asimila las ideas y las enlaza segn la destreza y rapidez del ritmo propio para
captar las ideas.
Esta gua est diseada para que el estudiante aprenda a su ritmo, pero en el transcurso
de la misma se asignarn trabajos, que deben ser entregados en la fecha establecida por
el profesor.

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

GDE-INF-319

Programacin Lineal

Septiembre, 2007
Versin No. 1
______________________
Pgina 8 de 33

Objetivos
Aprender a utilizar la metodologa de la programacin en modo texto para la
creacin de aplicaciones de propsito particular y general.

Desarrollar la capacidad para practicar una conducta investigativa

en la

adquisicin de conocimientos para la resolucin de problemas utilizando un


computador y un lenguaje de programacin como C.

Habilidades y destrezas que se lograrn con la materia

Aprender las caractersticas fundamentales del lenguaje C.

Cmo crear aplicaciones con el lenguaje C.

Utilizar las tcnicas de ordenacin e implementarlas en el lenguaje C.

Comprender el manejo dinmico de memoria en el lenguaje C.

Comprender la forma de crear programas que manejen archivos en C.

Aprender a escribir programas de aplicacin en C.

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

Septiembre, 2007
Versin No. 1
______________________
Pgina 9 de 33

GDE-INF-319

Programacin Lineal

Relacin con las dems materias


La materia Programacin Lineal se imparte en el Sexto cuatrimestre del programa de la
carrera de informtica, consta de 4 crditos (3 tericos y 1 prctico).
Al impartirse esta asignatura en el sexto cuatrimestre, debe asumirse que la misma es
pre-requisito obligatorio (aunque no esta especificado explcitamente en el pensum) de
las dems asignaturas del rea de conocimiento especializado de la carrera y que sern
estudiadas con posterioridad a ella, ver tabla 1.
Materia
Cuatrimestre
Programacin I
Sptimo
Base de datos
Octavo
Programacin II
Octavo
Inteligencia artificial
Octavo
Programacin III
Noveno
Programacin IV
Dcimo
Seminario de informtica
Dcimo segundo
Tabla 1. Materias relacionadas con Programacin Lineal

Crditos
3
3
3
3
4
4
4

Contenidos:
En esta seccin se detalla el contenido de clase de esta gua para la materia
Programacin Lineal. El programa est organizado en cinco unidades. En la primera
unidad se estudian los fundamentos del lenguaje C.
En la unidad dos se tratan los arreglos; la unidad tres ofrece un panorama sobre el
manejo de archivos; la unidad cuatro trata sobre las tcnicas de ordenacin y bsqueda y
la ltima unidad trata sobre las estructuras de datos lineales y no lineales.

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

GDE-INF-319

Programacin Lineal

Septiembre, 2007
Versin No. 1
______________________
Pgina 10 de 33

Unidad 1. Fundamentos del Lenguaje C.


En esta unidad se motiva al estudio y aprendizaje de la materia Programacin Lineal,
aqu se estudian los conceptos fundamentales del Lenguaje C.

1.1 Propsitos Especficos.


1.1.1
1.1.2
1.1.3
1.1.4
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
1.1.10
1.1.11
1.1.12
1.1.13

Aprender a utilizar variables para almacenar datos en los programas.


Aprender a utilizar variables y operadores para manipular los datos
Conocer los diferentes tipos de datos
Aprender como capturar y desplegar informacin
Utilizar funciones y operadores matemticos en formulas
Escribir expresiones condicionales
Usar la instruccin if para controlar el flujo de ejecucin del programa basado en
una condicin
Usar la instruccin switch para seleccionar una opcin de varias condiciones
Usar la instruccin for para ejecutar instrucciones un nmero determinado de
veces
Usar la instruccin while para ejecutar instrucciones mientras se cumple una
condicin.
Utilizar las tcnicas de programacin estructurada y crear mdulos o
subprogramas y definir procedimientos y funciones.
Aumentar la eficiencia de programacin para crear funciones y procedimientos.
Utilizar argumentos para pasar valores a las funciones y procedimientos

1.2 Contenidos.
1.2.1
1.2.2
1.2.3
1.2.4
1.2.5
1.2.6

Breve historia del lenguaje C.


Variables, constantes y tipos de datos.
Operadores.
Instrucciones de Entrada y Salida
Estructuras de control
Procedimientos y funciones

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

Septiembre, 2007

GDE-INF-319

Programacin Lineal

Versin No. 1
______________________
Pgina 11 de 33

1.3 Actividad preliminar.


1.3.1

Conseguir el compilador de Turbo C.

1.4 Actividades para el aprendizaje.


1.4.1

Con la lectura de los Captulos 3, 4 y 5 de la bibliografa bsica: Joyanes, Luis y


Zahonero Martnez, Ignacio: Programacin en C, realice las siguientes
actividades:

1. Explica la estructura de un programa en C.


2. Explica la importancia de la funcin main.
3. Explica cmo se utilizan las funciones definidas por el usuario.
4. Explica las diferentes formas de poner comentarios dentro de un programa en C.
5. Explica el proceso completo para crear un programa en C.
6. Explica los distintos errores que pueden ocurrir en el desarrollo de un programa en
C.
7. Explica en qu consisten las directivas del preprocesador.
8. Explica qu son las declaraciones globales.
9. Hacer un resumen de las siguientes palabras claves:
asm
auto
break
case
char
const
continue
default
do
double
else

Enum
Extern
Float
For
Goto
If
Int
Long
Register
Return
Short

signed
sizeof
static
struct
switch
typedef
union
unsigned
void
volatile
while

10. Explica las diferentes reglas de sintaxis del lenguaje C.

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

GDE-INF-319

Programacin Lineal

Septiembre, 2007
Versin No. 1
______________________
Pgina 12 de 33

1.5 Actividades complementarias:


1.5.1

Hacer un programa en C que genere e imprima los nmeros de fibbonaci del 1 al


100.

1.5.2

Hacer un programa en C que calcule la media de una lista de nmeros positivos,


terminados con un nmero negativo

1.5.3

Hacer un programa en C que acepte un numero por teclado y determine si el


numero es primo.

1.5.4 Cul es la salida del siguiente segmento de programa?


for(cuenta=1; cuenta<5; cuenta++)
printf(%d , (2 * cuenta));
1.5.5

Escribir un programa que dibuje el rectngulo siguiente:

***********
*
*
*
*
*
*
***********
1.5.6

La relacin entre los lados (a,b) de un tringulo y la hipotenusa (h) viene dada
por la frmula a2 + b2 = h2

1.5.7

Escribir un programa que lea la longitud de los lados y calcule la hipotenusa.

1.5.8 Calcular el rea de un tringulo mediante la frmula:


rea = (p(p-a)(p-b)(p-c))1/2
Donde p es el semipermetro, p=(a + b +c) / 2, siento a, b, c los tres lados del
tringulo.
1.5.9 Construir un programa que calcule e imprima el producto, cociente entero y
resto de dos nmeros de tres cifras.

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

GDE-INF-319

Programacin Lineal

Septiembre, 2007
Versin No. 1
______________________
Pgina 13 de 33

Unidad 2. Arreglos.
En esta unidad se trata el tema del manejo de los arreglos, los tipos de arreglos y las
operaciones que se pueden realizar sobre los mismos en el lenguaje C.
2.1
2.1.1
2.1.2
2.1.3
2.1.4
2.1.5

Propsitos Especficos:
Estudiar los arreglos: concepto, tipos, uso e importancia en el procesamiento de
datos.
Analizar soluciones a problemas utilizando arreglos.
Comprender el manejo de arreglo en el lenguaje C.
Aprender las instrucciones en C para declarar e inicializar arreglos.
Aprender las estructuras de control para procesar arreglos.

2.2 Contenidos.
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5
2.2.6

Conceptos de Arreglos y tipos


Arreglos unidimensionales: los vectores
Operaciones con vectores
Arreglos de varias dimensiones (Matrices / Tablas)
Arreglos multidimensionales
Almacenamiento de los arreglos en memoria

2.3 Actividad preliminar:


2.3.1

Identificar los campos contenido en la cdula de identidad y electoral.

2.3.2

Identificar los campos del formulario de inscripcin.

Cdigo
GDE-INF-319

UNIVERSIDAD DEL CARIBE


Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

Programacin Lineal

Septiembre, 2007
Versin No. 1
______________________
Pgina 14 de 33

2.4 Actividades para el aprendizaje:


2.4.1

1.
2.
3.
4.
5.
6.

Con la lectura del Captulos 6, 7 y 9 de la bibliografa bsica: Joyanes, Luis y


Zahonero Martnez, Ignacio: Programacin en C, realice las siguientes
actividades:

Explica cmo se manejan los arreglos en C y cul es la sintaxis para declararlos.


Explica en qu consiste el uso de arreglos como parmetros.
Explica en qu consiste el algoritmo de la burbuja
Explica cmo se define una estructura en C y cul es su importancia
Explica la sintaxis para acceder y almacenar datos en una estructura.
Explica el uso de estructura como parmetros.

2.5 Actividades complementarias:


2.5.1

Hacer las respectivas estructuras de las actividades preliminares de esta unidad.

2.5.2

Escribir un programa que lea el arreglo


4
2
3

7
0
1

1
6
2

3
9
6

5
7
4

Y lo escriba
4
7
1
3
5

2.5.3

2
0
6
9
7

3
1
2
6
4

Dado el siguiente arreglo

4
7
-5 4
9
0
3
-2 6
-2
1
2
4
1
1
6
1
0
3
-4
Escribir un programa que encuentre la suma de todos los elementos que no
pertenecen a la diagonal principal.
2.5.4 Escribir una funcin que invierta el contenido de n nmeros enteros. El primero
se vuelve el ltimo; el segundo, el penltimo, y as sucesivamente.

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

2.5.5

GDE-INF-319

Programacin Lineal

Septiembre, 2007
Versin No. 1
______________________
Pgina 15 de 33

Escribir una funcin a la cual se le pasa una fecha (da, mes y ao), as como un
nmero de das para ser sumados a esta fecha. La funcin calcula la nueva fecha
y la visualiza.

2.5.6

Los resultados de las ltimas elecciones para sindico del distrito han sido los
siguientes:
Colegio
Candidato A
Candidato B
Candidato C
Candidato D
1
194
48
206
45
2
180
20
320
16
3
221
90
140
20
4
432
50
821
14
5
820
61
946
18
Escribir un programa que haga las siguientes tareas:

2.5.7

Imprimir la tabla anterior con cabeceras incluidas

2.5.8

Calcular e imprimir el nmero total de votos recibidos por cada candidato y el


porcentaje del total de votos emitidos. Asimismo, visualizar el candidato ms
votado.

2.5.9

Si algn candidato recibe ms del 50 por ciento de los votos, el programa


imprimir un mensaje declarndole ganador.

2.5.10 i ningn candidato recibe ms del 50 por ciento de los datos, el programa debe
imprimir el nombre de los dos candidatos ms votados, que sern los que pasen
a la segunda vuelta de las elecciones.
2.5.11 Escribir un programa que lea una lnea de caracteres, y visualice la lnea de tal
forma que las vocales sean sustituidas por el carcter que ms veces se repite en
la lnea.
2.5.12 Escribir un programa que lea un nmero y lo imprima en letras, por ejemplo: si
el nmero introducido es: 251; el programa debe imprimir: Doscientos cincuenta
y uno.

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

Septiembre, 2007

GDE-INF-319

Programacin Lineal

Versin No. 1
______________________
Pgina 16 de 33

Unidad 3. Archivos
En esta unidad se estudia el manejo de archivos en el lenguaje C.
3.1 Propsitos Especficos:
3.1.1
3.1.2
3.1.3
3.1.4

Repasar los conceptos fundamentales de los archivos.


Comprender el manejo de archivos en C.
Aprender las instrucciones para procesar archivos en C.
Aprender a crear programas en C que utilicen archivos para procesar datos.

3.2 Contenidos:
3.2.1
3.2.2
3.2.3
3.2.4
3.2.5
3.2.6
3.2.7
3.2.8

Introduccin al manejo de archivos


Organizacin de archivos
Operaciones con archivos
Gestin de archivos
Mantenimiento de archivos
Procesamiento de archivos secuenciales
Procesamiento de archivos directos
Procesamiento de archivos secuenciales indexados

3.3 Actividad preliminar:


Hacer un listado de todos los campos que se encuentran en el documento CEDULA DE
IDENTIDAD
3.4 Actividades para el aprendizaje:
3.4.1

Con la lectura del Capitulo 14 y 15 de la bibliografa bsica: Joyanes, Luis y


Zahonero Martnez, Ignacio: Programacin en C, realice las siguientes
actividades:

1. Hacer un resumen de los siguientes conceptos:


Archivo
Nombre lgico
Campo
Bloque
Organizacin directa

Organizacin
secuencial
Nombre fsico
Registro
Buffer
Organizacin directa

Tipos de acceso
Base de datos
Clave
Soporte
Organizacin
secuencial indexada

2. Explica cada una de las operaciones que se pueden hacer sobre los archivos en C.

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

GDE-INF-319

Programacin Lineal

Septiembre, 2007
Versin No. 1
______________________
Pgina 17 de 33

3.5 Actividades complementarias:


3.5.1 Con las actividades preliminares de la unidad 2 hacer los siguientes programas:
Un programa con men en C que tenga las siguientes opciones:
1 Entrada de datos
2 Consulta de datos.
3 Salir
Se debe hacer un programa por cada actividad.
3.5.2 Una seccin tiene 20 estudiantes y cada estudiante tiene tres calificaciones por
encuentro. Almacenar los datos en un archivo, dejando espacio para dos notas
ms (dos encuentros restantes). Incluir un men de opciones, para agregar ms
estudiantes, desplegar los datos de un estudiante, introducir nuevas notas y
calcular la nota final.
3.5.3 Se desea escribir una carta de felicitacin navidea a los empleados de una
empresa X. El texto de la carta se encuentra en el archivo CARTA.TXT. El
nombre y direccin de los empleados se encuentran en el archivo binario
EMPLEADO.DAT, como una secuencia de registros con los campos nombre,
direccin, etc. Escribir un programa que genere un archivo de texto por cada
empleado, la primera lnea contienen el nombre, la segunda est en blanco, la
tercera la direccin y en la quinta empieza el texto contenido en el archivo
CARTA.TXT.

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

GDE-INF-319

Programacin Lineal

Septiembre, 2007
Versin No. 1
______________________
Pgina 18 de 33

Unidad 4. Tcnicas de Ordenacin, Bsqueda e Intercalacin.


En esta unidad se estudian las tcnicas de ordenacin, bsqueda e intercalacin y su
implementacin en el lenguaje C.
4.1 Propsitos Especficos:
4.1.1
4.1.2
4.1.3
4.1.4

Estudiar y aprender los diferentes mtodos de ordenacin de datos.


Estudiar y aprender las tcnicas de bsquedas.
Implantar los diferentes algoritmos de ordenacin en C.
Implantar las tcnicas de bsquedas en C.

4.2 Contenidos:
4.2.1
4.2.2
4.2.3
4.2.4
4.2.5
4.2.6
4.2.7
4.2.8
4.2.9

Introduccin.
Ordenacin.
Bsqueda.
Intercalacin.
Fusin externa.
Archivos ordenados.
Fusin de archivos.
Particin de archivos.
Clasificacin de archivos

4.3Actividad preliminar:
4.3.1

Investigar los diferentes algoritmos de ordenacin y determinar cul es el ms


rpido

4.4Actividades para el aprendizaje:


4.4.1

1.
2.
3.
4.
5.
6.
7.

Con la lectura del Capitulo 10 de la bibliografa bsica: Joyanes, Luis y


Zahonero Martnez, Ignacio: Programacin en C, realice las siguientes
actividades:

Explica en qu consiste el algoritmo de bsqueda secuencial


Explica cmo funciona el algoritmo de ordenacin de la burbuja.
Explica cmo funciona el algoritmo de ordenacin por insercin.
Explica cmo funciona el algoritmo de ordenacin QuickSort.
Explica cmo funciona el algoritmo de ordenacin HeapSort.
Explica cmo funciona el algoritmo de ordenacin Shell.
Explica cmo funciona el algoritmo de intercalacin.

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

GDE-INF-319

Programacin Lineal

Septiembre, 2007
Versin No. 1
______________________
Pgina 19 de 33

4.5 Actividades complementarias:


4.5.1

Escribir una funcin sort que ordene un conjunto de n cadenas en orden


alfabtico.

4.5.2

Hacer un programa en C que acepte de entrada un arreglo de N elementos


enteros y lo ordene utilizando el algoritmo de la burbuja. El programa debe
imprimir el arreglo antes de ordenarlo y el arreglo ya ordenado.

4.5.3

Hacer un programa en C que acepte de entrada un arreglo de N elementos


enteros y lo ordene utilizando el algoritmo de insercin. El programa debe
imprimir el arreglo antes de ordenarlo y el arreglo ya ordenado.

4.5.4

Hacer un programa en C que acepte de entrada un arreglo de N elementos


enteros y lo ordene utilizando el algoritmo Quicksort. El programa debe
imprimir el arreglo antes de ordenarlo y el arreglo ya ordenado.

4.5.5

Hacer un programa en C que acepte de entrada un arreglo de N elementos


enteros y lo ordene utilizando el algoritmo HeapSort. El programa debe
imprimir el arreglo antes de ordenarlo y el arreglo ya ordenado.

4.5.6

Hacer un programa en C que acepte de entrada un arreglo de N elementos


enteros y lo ordene utilizando el algoritmo Shell. El programa debe imprimir el
arreglo antes de ordenarlo y el arreglo ya ordenado.

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

GDE-INF-319

Programacin Lineal

Septiembre, 2007
Versin No. 1
______________________
Pgina 20 de 33

Unidad 5. Uso de Estructuras de datos Lineales y no lineales.


En esta unidad se estudian las estructuras de datos dinmicas lineales y no lineales y la
manera de implantarlos en el lenguaje C.
5.1 Propsitos Especficos:
5.1.1
5.1.2
5.1.3
5.1.4
5.1.5

Comprender como implantar los Punteros, Listas, Pilas y Colas en C.


Usar las estructuras dinmicas para las soluciones de problemas.
Comprender cmo utilizar los rboles en C.
Utilizar los rboles binarios para la organizacin y clasificacin de los datos en
C.
Comprender el concepto de Grafo y cmo programarlo en C.

5.2 Contenidos:
5.2.1
5.2.2
5.2.3
5.2.4
5.2.5
5.2.6
5.2.7
5.2.8
5.2.9

Estructura dinmicas lineales de datos.


Puntero.
Listas.
Pilas.
Colas.
Estructura de datos no lineales.
rboles.
rbol Binario.
Grafos

5.3 Actividad preliminar:


5.3.1

Investigar cmo se pueden aplicar cada uno de los conceptos de esta unidad.

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

Septiembre, 2007

GDE-INF-319

Programacin Lineal

Versin No. 1
______________________
Pgina 21 de 33

5.4Actividades para el aprendizaje:


5.4.1

Con la lectura de la Parte III de la bibliografa bsica: Joyanes, Luis y Zahonero


Martnez, Ignacio: Programacin en C, realice las siguientes actividades:

1. Hacer un resumen de los siguientes conceptos:


Pila
Listas enlazadas
Listas circulares
rbol Binario

Lista
Puntero
Listas
enlazadas
Grafo

Cola
Nodo
doblemente rbol

2. Explica cmo se manejan los punteros en C.

5.5 Actividades complementarias:


5.5.1

Explicar por qu cada una de las siguientes estructuras no es un rbol binario.

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

5.5.2

GDE-INF-319

Programacin Lineal

Considere el rbol siguiente:

a) Cul es su altura?
b) Est el rbol equilibrado? Por qu?
c) Listar todos los nodos hoja.
d) Cul es el predecesor inmediato (padre) del nodo U?
e) Listar los hijos del nodo R.
f) Listar los sucesores del nodo R.

Septiembre, 2007
Versin No. 1
______________________
Pgina 22 de 33

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

Septiembre, 2007
Versin No. 1
______________________
Pgina 23 de 33

GDE-INF-319

Programacin Lineal

Programacin
Programacin Lineal es una materia mensual que consta de 4 crditos: 3 de teora y 1
de prctica. Un crdito equivale a 10 horas de estudio (Garca Aretio, 1997), lo que
implica unas 40 horas de estudio en total a lo largo de los 5 encuentros semanales para
la materia.
Se puede ver la programacin de los encuentros en la tabla 2. Cada encuentro consta de
4 horas continuas y se divide en 3 horas para la exposicin de la teora y 1 hora,
aproximadamente, para la prctica, que se solapa con el estudio de la teora (para
aprovechar mejor los conocimientos impartidos).
5

Horas

Teora
Prctica

de

Desarrollo del trabajo Final

Tabla 2. Programacin de los encuentros

Horas

del

Uso de Estructuras
de datos lineales y
no lineales.

Tcnicas
ordenacin,
bsqueda
intercalacin.
Archivos.

Arreglos.

Fundamentos
lenguaje C.

Tema

Encuentro

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

GDE-INF-319

Programacin Lineal

Septiembre, 2007
Versin No. 1
______________________
Pgina 24 de 33

Metodologa

Investigacin
Exposicin de los contenidos tericos por parte de los estudiantes.
Para cada encuentro los estudiantes deben haber ledo previamente el material de la
bibliografa bsica. Se harn exmenes cortos de control de lectura al inicio de la clase,
y / o de retroalimentacin al final de la clase.
Durante los encuentros se reforzarn los conceptos ledos por el estudiante y se
realizarn algunos ejemplos. Se fomentar la participacin de los estudiantes mediante
la realizacin de preguntas y ejercicios en clase que sern planteados por el docente.
Tutora virtual a travs del campus virtual www.unicaribe.net
Anlisis de informacin accesible en Internet.
Asignacin de trabajos prcticos para ser realizados fuera de los encuentros.
Prcticas en el laboratorio de cmputo.
Presentacin de un trabajo final, incluyendo todos los temas especificados en el
contenido descrito anteriormente.
Tutora en el campus virtual
El acceso se realiza a travs del enlace www.unicaribe.net.
A cada estudiante se le asignar un Usuario y una Clave particular para acceder al
campus, para esto el estudiante necesitar una cuenta de correo electrnico.

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

Septiembre, 2007

GDE-INF-319

Programacin Lineal

Versin No. 1
______________________
Pgina 25 de 33

Bibliografa Bsica
En el caso de una materia como Programacin Lineal, existe una gran variedad de libros
que pueden ser elegidos para el estudio de la misma. En esta asignatura en concreto, han
primado los aspectos metodolgicos, que imponen la utilizacin de un libro en la
enseanza a distancia (EAD) fcil de digerir por el lector, y por ello los libros de texto
escogido son los siguientes:

Joyanes, Luis y Zahonero Martnez, Ignacio:


Programacin en C, McGraw-Hill, Madrid, 2da
Edicin, 2005

El libro est diseado para que sirva de


referencia y gua de estudio para un primer
curso de introduccin a la programacin, con
una segunda parte que puede servir como una
introduccin a las estructuras de datos, todo ello
utilizando C, y, en particular, la versin estndar
ANSI C.En la obra no solamente se busca
describir la sintaxis de C, sino y sobre todo,
mostrar las caractersticas ms sobresalientes
del lenguaje, a la vez que se ensean tcnicas de
programacin estructurada.
Adems este volumen esta editado en espaol y
por una casa editora que garantiza la
distribucin en Repblica Dominicana.
Deshpande, P. S. y Kakde, O. G.: C & Data
Structures, Dreamtech, USA, 2003

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

Septiembre, 2007

GDE-INF-319

Programacin Lineal

Versin No. 1
______________________
Pgina 26 de 33

Este libro trata de manera clara la mayora de


los conceptos del programa de clase. Este libro
contiene muchos ejemplos resueltos sobre los
diferentes temas tratados en la asignatura.
El nico inconveniente es que este libro esta
editado en ingls.

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

GDE-INF-319

Programacin Lineal

Septiembre, 2007
Versin No. 1
______________________
Pgina 27 de 33

Bibliografa Complementaria

Joyanes, Luis y Zahonero Martnez, Ignacio: Programacin en C: Metodologa y


estructura de datos, McGrawHill, Madrid, 2001
Crawford, Tony y Prinz, Peter: C: In a Nutshell, OReally, USA, 2005

Prcticas
La materia requiere la presentacin de un trabajo final que deber ser entregada en el
quinto encuentro. El enunciado del mismo ser dictado por el docente de la materia y
estar disponible en el campus virtual.
Las prcticas deben ser entregada en la fecha especificada y aquellos estudiantes que no
cumplan con este requisito, podrn presentarla ms tarde, pero solo se evaluara la
misma con un sesenta por ciento de su valor (60%).

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

GDE-INF-319

Programacin Lineal

Septiembre, 2007
Versin No. 1
______________________
Pgina 28 de 33

AutoEvaluacin
Materia:
Clave:
Nombre completo:

Programacin Lineal
INF-319

1. Inters demostrado: Lectura (seleccione el que mejor aplique)


He ledo y estudiado plenamente todos los documentos de la materia
(programa, gua y materiales bibliogrficos de la asignatura)
He ledo someramente los documentos
No he ledo aun los documentos
2. Trabajos prcticos
Nombre de la prctica
Problemas
/ Fecha entrega
dificultad

3. Calificacin del aprendizaje y desempeo en la materia segn la siguiente


escala: (1-Muy bueno 2-Bueno 3-Aceptable 4-Regular)
Inters demostrado:
Participacin:
Trabajos prcticos:
4. Observacin

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

Septiembre, 2007

GDE-INF-319

Programacin Lineal

Versin No. 1
______________________
Pgina 29 de 33

Programa de Asignatura
Nombre de la asignatura

: Programacin Lineal

Carga acadmica

: 4 crditos

Modalidad

: Semi-presencial

Clave

: INF-319

Pre-requisito

: INF-214

Fecha de elaboracin

: Julio, 2001

Responsable de elaboracin

: Lic. Rosanny Ramrez

Presentado a

: Lic. Jos Alberto Uribe


Director Escuela de Informtica

Modificaciones:
1: Fecha : Mayo, 2007___ Responsable: Rosanny Ramirez_______
2: Fecha : ____________ Responsable: ______________________
3: Fecha : ____________ Responsable: ______________________

CONTENIDO:
Justificacin
Propsitos
Contenido de unidades
Metodologa
Evaluacin
Bibliografa

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

GDE-INF-319

Programacin Lineal

Septiembre, 2007
Versin No. 1
______________________
Pgina 30 de 33

1. JUSTIFICACIN
La potencia y flexibilidad de un lenguaje de programacin estn directamente
relacionadas con las estructuras de datos que puede manejar. Cuando una aplicacin
particular requiere una estructura de datos no soportada por el lenguaje de
programacin, se torna complicado el trabajo de programacin; esta es la razn por la
que se hace necesario el aprendizaje de un lenguaje de programacin como C y adems,
estudiar las implementaciones de estructuras de datos y algoritmos en l.

2. PROPOSITOS
2.1 Generales
Que el estudiante aprenda los conceptos, uso y tcnicas fundamentales sobre el
manejo de estructuras de datos lineales y no lineales.
Que aprenda a codificar en un lenguaje de medio nivel como lo es C. Aprender a
utilizar los diferentes mtodos de ordenacin.
3. CONTENIDO

Unidad I: Fundamentos del Lenguaje C.


Propsitos Especficos:
Aprender a utilizar variables para almacenar datos en los programas.
Aprender a utilizar variables y operadores para manipular los datos
Conocer los diferentes tipos de datos.
prender como capturar y desplegar informacin
Utilizar funciones y operadores matemticos en formula
Escribir expresiones condicionales.
Usar la instruccin if para controlar el flujo de ejecucin del programa
basado en una condicin.
Usar la instruccin switch para seleccionar una opcin de varias condiciones.
Usar la instruccin for para ejecutar instrucciones un nmero determinado de veces.
Usar la instruccin while para ejecutar instrucciones mientras se cumple una
condicin.
Utilizar las tcnicas de programacin estructurada y crear mdulos o subprogramas
y definir procedimientos y funciones..
Aumentar la eficiencia de programacin para crear funciones y procedimientos.
Utilizar argumentos para pasar valores a las funciones y procedimientos
Contenido.
1.1 Breve historia del lenguaje C.

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

GDE-INF-319

Programacin Lineal

Septiembre, 2007
Versin No. 1
______________________
Pgina 31 de 33

1.2 Variables, constantes y tipos de datos.


1.3 Operadores.
1.4 Instrucciones de Entrada y Salida.
1.5 Estructuras de control.
1.6 Procedimientos y funciones
Unidad II: Arreglos
Propsitos Especficos:
Estudiar los arreglos: concepto, tipos, uso e importancia en el procesamiento de
datos.
Analizar soluciones a problemas utilizando arreglos.
Comprender el manejo de arreglo en el lenguaje C.
Aprender las instrucciones en C para declarar e inicializar arreglos.
Aprender las estructuras de control para procesar arreglos.
Contenido.
Conceptos de Arreglos y tipos.
Arreglos unidimensionales: los vectores.
Operaciones con vectores.
Arreglos de varias dimensiones (Matrices / Tablas)
Arreglos multidimensionales.
Almacenamiento de los arreglos en memoria
Unidad III: Archivos.
Propsitos Especficos:
3.1.1
3.1.2
3.1.3
3.1.4

Repasar los conceptos fundamentales de los archivos.


Comprender el manejo de archivos en C.
Aprender las instrucciones para procesar archivos en C.
Aprender a crear programas en C que utilicen archivos para procesar datos.

Contenidos.
3.1 Introduccin al manejo de archivos.
3.2 Organizacin de archivos.

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

GDE-INF-319

Programacin Lineal

Septiembre, 2007
Versin No. 1
______________________
Pgina 32 de 33

3.3 Operaciones con archivos.


3.4 Gestin de archivos.
3.5 Mantenimiento de archivos.
3.6 Procesamiento de archivos secuenciales.
3.7 Procesamiento de archivos directos.
3.8 Procesamiento de archivos secuenciales indexados.
Unidad IV: Tcnicas de Ordenacin, Bsqueda e Intercalacin
Propsitos Especficos:
4.1.1
4.1.2
4.1.3
4.1.4

Estudiar y aprender los diferentes mtodos de ordenacin de datos.


Estudiar y aprender las tcnicas de bsquedas.
Implantar los diferentes algoritmos de ordenacin en C.
Implantar las tcnicas de bsquedas en C.

Contenido.
4.1 Introduccin.
4.2 Ordenacin.
4.3 Bsqueda.
4.4 Intercalacin.
4.5 Fusin externa.
4.6 Archivos ordenados.
4.7 Fusin de archivos.
4.8 Particin de archivos.
4.9 Clasificacin de archivos.
Unidad V: Uso de Estructuras de datos Lineales y no lineales
Propsitos Especficos:
5.1.1
5.1.2
5.1.3
5.1.4
5.1.5

Comprender como implantar los Punteros, Listas, Pilas y Colas en C.


Usar las estructuras dinmicas para las soluciones de problemas.
Comprender cmo utilizar los rboles en C.
Utilizar los rboles binarios para la organizacin y clasificacin de los datos en
C.
Comprender el concepto de Grafo y cmo programarlo en C.

Contenido.
5.1 Estructura dinmicas lineales de datos.

Cdigo
UNIVERSIDAD DEL CARIBE
Vicerrectora de Desarrollo
Direccin Produccin de
Medios para el Aprendizaje

GDE-INF-319

Programacin Lineal

Septiembre, 2007
Versin No. 1
______________________
Pgina 33 de 33

5.2 Punteros.
5.3 Listas.
5.4 Pilas.
5.5 Colas.
5.6 Estructura de datos no lineales.
5.7 rboles.
5.8 rbol Binario.
5.9 Grafos
4. METODOLOGA
Investigacin. Trabajos prcticos. Exposiciones en el Aula. Prcticas en el laboratorio.
Presentacin de un trabajo final, incluyendo todos los temas especificados en el
contenido descrito anteriormente.
6. EVALUACIN
Asistencia. Trabajos Prcticos. Exposiciones.
6. BIBLIOGRAFA
Joyanes, Luis y Zahonero Martnez, Ignacio: Programacin en C, McGrawHill, Madrid, 2da Edicin, 2005.
Deshpande, P. S. y Kakde, O. G.: C & Data Structures, Dreamtech, USA, 2003
Joyanes, Luis y Zahonero Martnez, Ignacio: Programacin en C: Metodologa y
estructura de datos, McGrawHill, Madrid, 2001
Crawford, Tony y Prinz, Peter: C: In a Nutshell, OReally, USA, 2005
Joyanes Aguilar, Luis: Fundamentos de Programacin Algoritmos y
Estructuras de Datos, McGraw-Hill, Mxico,2da Edicin,1999

S-ar putea să vă placă și