miércoles, 16 de febrero de 2011

Programacion trayecto 1 trimestre 3

CONTENIDO ANALÍTICO

Unidad Curricular: ALGORÍTMICA Y PROGRAMACIÓN Trayecto Trimestre Código Unidades de Crédito
1 3 PIAP134 4
Módulo 3: PROGRAMACIÓN II

Horas de Trabajo del Estudiante Acompañado (HTEA) Horas de Trabajo de Estudio Independiente (HTEI) Total Horas de Trabajo del Estudiante (THTE)
6 semanal 72 trimestral 4 semanal 48 trimestral 10 semanal 120 trimestral

SABERES ESTRATEGIAS RECURSOS EVALUACIÓN
UNIDAD 1: IMPLEMENTACIÓN DE PROGRAMAS CON ESTRUCTURAS DE DATOS DINÁMICAS

UNIDAD 2: LISTAS ENLAZADAS.
o Concepto y clasificación
o Listas simplemente enlazadas: fundamentos teóricos, clasificación, operaciones básicas:
 Declaración, punteros de cabecera y cola, operador de selección, inserción, búsqueda y eliminación de elementos)
o Listas doblemente enlazadas y Circulares:
o Declaración, recorrido, inserción y eliminación de elementos.

UNIDAD 3: PILAS.
o Definición, especificaciones y tipo de pilas implementadas con arreglos y punteros.

UNIDAD 4.: COLAS.
o Definición, especificaciones y Tipo de colas implementadas con arreglos.

UNIDAD 5: ÁRBOLES.
o Árboles Generales y binarios.
o Estructura y representación de un árbol binario.
o Árboles de expresión.
o Recorrido de un árbol.
o Árboles binario de búsqueda: operaciones El programa de teoría se basará en clases semanales, en las que se incluyen las explicaciones de los temas y seminarios de problemas. El programa de prácticas se articula habitualmente en sesiones semanales de cuatro horas, y estará orientado a practicar en los laboratorios de computación, de la manera más directa posible, los temas explicados en las clases teóricas. También se dedican clases teóricas y prácticas a la introducción y discusión de ejercicios de mayor complejidad.

El horario prevee dos horas semanales de teoría y dos grupos de laboratorio con cuatro horas de prácticas. La teoría se inicia con temas relacionados con la especificación y la verificación de algoritmos, paralelamente en las prácticas se desarrolla los conceptos de programación básicos.
Pizarra
Marcadores
Material Instruccional
Laboratorios de computación
Se sugiere:

• Dos pruebas individuales en donde se incluya parte teórica y parte práctica de la materia.
• La parte práctica en laboratorio se evaluará mediante dos mecanismos:
1.- seguimiento de trabajo de prácticas mediante la entrega de algunos de los ejercicios propuestos en clase
2.- un mini-proyecto de programación a entregar al final de trimestre

El plagio de trabajos será evaluado con la puntuación de 0 en la prueba a todos los implicados.

ejercicios

uno

#include
main()
{
float *pf;
float nf;
nf=5;
printf("\n%f nf= 5 ",nf);
pf=&nf;
printf("\n%f *pf pf=&nf ",*pf);
*pf=10.4;
printf("\n%f *pf pf=10.4", *pf);
printf("\n%f nf ", nf);
printf("\n%f nf ", &nf);
}

dos

#include
main()
{
int *puntero;
int variable;

printf("\ningrese un variable");
scanf("%d",&variable);
printf("\n---------------------");
printf("\ningrese un puntero");
scanf("%d",&puntero);
printf("\n---------------------");

printf("\n%d ", variable);
printf("\n%d ", &variable);
printf("\n---------------------");
printf("\n%d ", puntero);
printf("\n%d ", &puntero);

}

tres

#include
main()
{
int *puntero;
int variable;
int intercambio;

printf("\ningrese un variable");
scanf("%d",&variable);
printf("\n---------------------");
printf("\ningrese un puntero");
scanf("%d",&puntero);
printf("\n---------------------");

printf("\n%d ", variable);
printf("\n%d ", &variable);
printf("\n---------------------");
printf("\n%d ", puntero);
printf("\n%d ", &puntero);
printf("\n---------------------");
printf("\n---------------------");

intercambio= variable;
variable=puntero;
puntero=intercambio;

printf("\n%d ", variable);
printf("\n%d ", &variable);
printf("\n---------------------");
printf("\n%d ", puntero);
printf("\n%d ", &puntero);

}

cuatro

#include
#include
#include

int main()
{
int nfilas, i, n;
nfilas=3;
char nom[nfilas][50];

i=1;
printf("\n ingrese el total:");
scanf("%d",&n);

do {
printf("\n ingrese nombre:");
scanf("%s",&nom[i]);

i=i+1;
} while(i<=n); i=1; do { printf("\n %s ",nom[i]); printf("\n"); i=i+1; } while(i<=n); do { printf("\n ingrese posicion:"); scanf("%d",&n); printf("\n %s ",nom[n]); printf("\n"); i=i+1; } while(i<=n); } ********************************************************** Pueden visitar el siguiente enlace CURSO DE C

*********************************************************
A CONTINUACION MAS EJERCICIOS

#include
void main()
{
char letra;
printf( "Introduce una letra: " );
fflush( stdout );
gets(&letra);
printf("\n has introducido la letra :%c", letra );
}

*********************************************************
#include
int main(void)
{
char cadena[20];
printf("Introduce una cadena:");
fflush(stdout);
gets(cadena);
printf("has escrito: %s",cadena);
return 0;
}

*********************************************************
traer para clase los siguientes programas

#include

struct _cuenta
{
char cliente[20];
char monto[10];
float redultado[10];
struct _cuenta *siguiente
};


struct _cuenta *primero, *ultimo;

int main() {
char opcion;
primero = (struct _cuenta *) NULL;
ultimo = (struct _cuenta *) NULL;
/* empezamos aqui */
do {
struct _cuenta *nuevo;

nuevo = (struct _cuenta *) malloc (sizeof(struct _cuenta));
if (nuevo==NULL) printf( "No hay memoria disponible!\n");
system("clear");
printf("\n D A T O S N U E V O :\n");
printf("\n Cliente: "); fflush(stdout);
gets(nuevo->cliente);
printf("\n Monto: "); fflush(stdout);
gets(nuevo->monto);
nuevo->siguiente = NULL;

if (primero==NULL) {
printf( "Primer elemento\n");
primero = nuevo;
ultimo = nuevo;

}
else {
/* el que hasta ahora era el último tiene que apuntar al nuevo */
ultimo->siguiente = nuevo;
/* hacemos que el nuevo sea ahora el último */
ultimo = nuevo;
}
printf("\n dese salir 's' ");
scanf("%s ",&opcion);

}while (opcion!='s');
{
struct _cuenta *auxiliar; /* lo usamos para recorrer la lista */
int i;
system("clear");
i=0;
auxiliar = primero;
printf("\nMostrando la lista completa:\n");
while (auxiliar!=NULL) {
printf( "Nombre: %s, monto %s\n",auxiliar->cliente,auxiliar->monto);


auxiliar = auxiliar->siguiente;
i++;
}
if (i==0) printf( "\nLa lista está vacía!!\n" );
}



}


****************************************************

#include

struct _agenda {
char nombre[20];
char telefono[12];
struct _agenda *siguiente;
};
int opcion;

struct _agenda *primero, *ultimo;

void mostrar_menu() {

printf("\n\n Menú:\n =====\n\n");
printf(" 1.- Añadir elementos\n");
printf(" 2.- Borrar elementos\n");
printf(" 3.- Mostrar lista\n");
printf(" 4.- Salir\n\n");
printf(" Escoge una opción: ");fflush(stdout);
}

/* Con esta función añadimos un elemento al final de la lista */
void anadir_elemento() {
struct _agenda *nuevo;

/* reservamos memoria para el nuevo elemento */
nuevo = (struct _agenda *) malloc (sizeof(struct _agenda));
if (nuevo==NULL) printf( "No hay memoria disponible!\n");
system("clear");
printf("\nNuevo elemento:\n");
printf("Nombre: "); fflush(stdout);
gets(nuevo->nombre);
printf("Teléfono: "); fflush(stdout);
gets(nuevo->telefono);

/* el campo siguiente va a ser NULL por ser el último elemento
de la lista */
nuevo->siguiente = NULL;

/* ahora metemos el nuevo elemento en la lista. lo situamos
al final de la lista */
/* comprobamos si la lista está vacía. si primero==NULL es que no
hay ningún elemento en la lista. también vale ultimo==NULL */
if (primero==NULL) {
printf( "Primer elemento\n");
primero = nuevo;
ultimo = nuevo;
}
else {
/* el que hasta ahora era el último tiene que apuntar al nuevo */
ultimo->siguiente = nuevo;
/* hacemos que el nuevo sea ahora el último */
ultimo = nuevo;
}
}

void mostrar_lista() {
struct _agenda *auxiliar; /* lo usamos para recorrer la lista */
int i;
system("clear");
i=0;
auxiliar = primero;
printf("\nMostrando la lista completa:\n");
while (auxiliar!=NULL) {
printf( "Nombre: %s, Telefono: %s\n",
auxiliar->nombre,auxiliar->telefono);
auxiliar = auxiliar->siguiente;
i++;
}
if (i==0) printf( "\nLa lista está vacía!!\n" );
}

int main() {
char opcion;

primero = (struct _agenda *) NULL;
ultimo = (struct _agenda *) NULL;
do {
mostrar_menu();
scanf("%i",&opcion);
switch ( opcion ) {
case 1: anadir_elemento();
break;
case 2: printf("No disponible todavía!\n");
break;
case 3: mostrar_lista(primero);
break;
case 4: break;
default: printf( "Opción no válida\n" );
break;
}
} while (opcion!=4);
}
*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/
TRABAJO FINAL

Desarrollar el sistema de inventario que muestre

añadir
mostrar
y Eliminar (por desarrollar)

Entregar: el trabajo con la codificacion y el CD con la informacion
Copia del trabajo de proyecto

el desarrollo del sistema tendra un peso de 25%
el trabajo codificado y el CD 20%
la copia del proyecto 5%
y la asistencia 5%
...........................
a partir de ahora las clase seran solo asesorias jueves y viernes a las 8 am

No hay comentarios:

Publicar un comentario