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