Programación estructurada, 13 Primavera



Curso
  • Clave: 1151038 contenido oficial.
  • Trimestre: 13 Primavera
  • Inicio del curso: 22 de abril de 2013
  • Fin del curso: 8 de julio de 2013
  • Grupo: CTG07
  • Salón de clase: Sala Babbage, Edificio T.
  • Días y hora de clase: Lunes, miércoles y viernes de 13:00-14:30hrs.
  • Asesorías: Martes y jueves de 13:00 a 14:30hrs

Objetivos
  • Describir los conceptos de algoritmo y de programa.
  • Explicar el paradigma de programción estructurada.
  • Explicar, elaborar y representar algoritmos.
  • Implementar programas escritos en lenguaje C, usando el paradigma de programación
    estructurada.
  • Desarrollar los programas usando el ambiente Unix.


Contenido Sintético

1.Algoritmos y programas.
2.Diseño de programas estructurados.
3.Ambiente de desarrollo Unix.
4.Programación modular.
5.Elementos básicos de un programa en lenguaje C.
6.Estructras de decisión.
7.Estructuras de repetición.
8.Arreglos y estructuras.
9.Cadenas de caracteres.
10.Archivos.



Bibliografía

Herramientas de trabajo


Mensajes

Publicado
220413
Inicio de curso                                                                      
260413
Taller de instalación de Linux en USB, VirtualBox: 020513 de 13:00 a 15:00, Sala Ada Byron Edif. T
(por confirmar)
080513
Tarea 1: realizar la prueba de escritorio del algoritmo de ordenamiento bubble-sort.
Fecha de entrega 130513 en la hora de clase.
140613
P2:compara_cadena.c

Dadas las cadenas frase1 y frase2, el programa regresará:
0 (cero) si son iguales en longitud y en cada uno de sus caracteres
-1 (menos uno) si son difrentes en almenos un caracter o si frase2 es de mayor longitud que frase1
1 (uno) si frase1 es de mayor longitud que frase2.
Restricción: el programa deberá ser hecho con un solo ciclo.

Fecha de entrega: 170613 en la hora de clase.
210613
P3:hex2decf.c

El programa recibirá un número hexadecimal de 5 dígitos, por ejemplo 0x1A2b3, y deberá mostrar su valor en decimal.
Descripción:
El número deberá iniciar con 0x (cero y equis [mayúscula o minúscula]).
El número deberá tener máximo 5 dígitos hexadecimales.
Los caracteres alfabéticos podrán ser ingresados en mayúsculas o minúsculas.

Fecha de entrega: 260613 en la hora de clase.
210613
P4:hex2dec.c

El programa recibirá un número hexadecimal de 5 dígitos, por ejemplo 0x1A2b3, y deberá mostrar su valor en decimal.
Descripción:
El número deberá iniciar con 0x (cero y equis [mayúscula o minúscula]).
El número deberá tener máximo 5 dígitos hexadecimales.
Los caracteres alfabéticos podrán ser ingresados en mayúsculas o minúsculas.
Restricciones:
No con excepción de printf y scanf, no utilizar funciones de biblioteca.
Crear las funciones: potencia, eshex, amayuscula y las que sean necesarias.

Fecha de entrega: 010713 en la hora de clase.
280613
P5:suma_args.c

El programa recibirá dos o tres o cuatro o cinco argumentos. Cada argumento representará ya sea un número hexadecimal (por ejemplo, 0x12fa3c ), un número octal (por ejemplo, o45601) o un número decimal (por ejemplo, 12345). Cualquier número podrá tener de uno a cinco dígitos. Los número hexadecimales y octales deberán ser convertidos a decimal. El programa deberá mostrar la suma de los números en decimal. Ejemplos:

./suma_args 0x1 o1 1
la suma en decimal fue: 3

./suma_args 0x1 o2 3 0x4 o5
la suma en decimal fue: 15

./suma_args 0x1fea o77
la suma fue:  8233

El programa deberá probar el formato de cada argumento y verificar que cumpla con las restricciones.

Fecha de entrega: 030713
080713
P6:Calculadora de números complejos


080713
El segundo parcial será el día 10 de julio de 2013 de 13:00 a 14:30 hrs. en la Sala Byron del Edificio T.






Evaluación
  • 1er parcial: 60% examen, 40%  programas.
  • 2do parcial: 50% examen, 50% programas.

Calificaciones parciales

  • Calificaciones. Última modificación 120713.


Calendario

Sem Dia Notas
Códigos
1
220413
01.Introducción al curso
Hola mundo
1
240413 02.Ambiente de trabajo en UNIX/Linux
p2_suma_multiplica:
suma.c,
multiplica.c
1
260413 03.Sistemas numéricos
2
290413 04.Proceso de compilación
compilacion: holaMundo.c, holaMundo.i, holaMundo.s, holaMundo.o, holaMundo
2
010513
Descanso obligatorio

2
030513
05.Algoritmos
06.Laboratorio de ambiente de trabajo en UNIX/Linux
p3_mayor:mayor.c
3
060513
Clase cancelada
Visita CACEI
3
080513
07.Representación de algoritmos
p4_burbuja:burbuja.c
Tarea 1:prueba de escritorio
3
100513
Descanso obligatorio
4
130513
08.Programación estructurada y lenguaje estructurado p5_progEstructurada:
estandarANSI.c,
secuencia.c,
seleccion.c,
iteracion.c,
anidamiento.c,
funciones.c
4
150513
Descanso obligatorio
4
170513
09.Estructura de un programa en lenguaje C
Laboratiorio de estructuras de control

5
200513
10.Variables, tipos de datos y modificadores de tipo
11.Representación de datos
p6_variables:
locales_funcion.c,
locales_bloque.c,
locales_parametros.c,
global.c, tipos.c,
tipos2.c,
modificadores.c,
rango.c
5
220513
12.Operadores p7_operadores:
conversion.c,
sin_casting.c,
con_casting.c,
aritmeticos.c,
incremento.c,
precedencia.c,
relacionales_numeros.c, relacionales_caracteres.c,
logicos.c,
relacionalesylogico.c,
direccion.c 
5
240513
13.Sentencias de control de flujo y sentencias de selección if, if-else, alternativa, switch p8_seleccion:
if_magico1.c,
if_magico_semilla.c,
if-else_magico.c,
if-else_anidado.c,
if-else_escalon.c,
alternativa.c,
alternativa_califica.c,
switch_vocales.c,
switch_vocales_default.c,
switch_vocales_break.c,
octal2bin.c
6
270513
14.Sentencias iterativas p9_iteracion
ciclo_for.c
ciclo_while.c
ciclo_do-while.c
6
290513
15.Programa calculadora

6
310513
1er examen parcial
7
030613
16.Programa días de las semana y rangos de números
temperaturas
7
050613
17.Programa temperaturas
factorial
7
070613
Clase cancelada Amealco
8
100613
19.Arreglos y temperaturas con arreglos p10_arreglos:
dir_char.c,

dir_float.c,
dir_double.c

Tarea: nombre: longitud, vocales y consonantes
8
120613
20.Cadenas p11_cadenas:
long_cadena.c
long_cadena2.c
8
140613
21.Cadenas copia_cadena.c
copia_n_cadena.c
compara_cadena.c
9
170613
22.Arreglos bi-dimensionales p12_arreglos_bidimensionales:
ab_char.c
ab_ini_ope.c
ab_muestra.c
ab_char_ciclo.c
ab_float_ciclo.c
matriz.c
9
190613
23.Arreglos bi-dimensionales potencia.c
multmat.c
9
210613
24.Funciones p13_funciones:
f_hola.c
f_parametro.c
calculadora.c
esdigito10.c
esdigito10_cadena.c
10
240613
25.Funciones de biblioteca stdio.h:
printf, scanf, puts, gets, fgets,getc,getchar,fgets,fgetc,feof,
fopen, fprintf, fscanf, fclose
math.h:
pow, sqrt, sin, cos, tan, log, log10
ctype.h:
isalpha, isdigit, islower, isupper, toupper, tolower, isxdigit
string.h
strlen,strcpy, strncpy, strcmp, strcat

p14_funciones:
hex2dec.c:
long_cadena()
a_minusculas()
prueba_formato()
sonHexa()


10
260613
26.Ejecución de funciones y pila

10
280613
27.Argumentos de la función main
28.Almacenamiento y recuperación de información mediante archivos
argumentos.c
suma_args.c
11
010713
29.Funciones de biblioteca para el almacenamiento y recuperación de información  en archivos p15_archivos:
lee_caracteresEOF.c
lee_linea.c
lee_palabra.c
lee_palabras_a_cadenas.c
lee_palabra2.c
lee_palabras.c
lee_palabras_arg.c
lee_linea2.c
lee_numeros.c
lee_personas.c
escribe_personas.c
plot_char.c
plot_byte.c
leePlot_byte.c
11
030713
30.Programas con archivos
11
050713
31.Estructuras
p16_estructuras:
estruct_mem.c
estruct_var.c
estruct_valores.c
funcion_estruct.c
return_estruct.c
arreglo_personas.c
tipo_persona.c
11-b
080713
32.Programas con estructuras complejos.c


33.Apuntadores



34.Programas con apuntadores