Programacin en C++
Gilberto Hernndez Herrera gilberto@itesm.mx Informtica Industrial
26/04/2011
Por qu C?
Ventajas Diseado para programacin arriba abajo Diseado para ser estructurado Permite el diseo Un lenguaje eficiente Transportable Control de computador Flexibilidad Lo que esto significa para usted Su programa ser ms fcil de disear Su programa ser ms fcil de leer y comprender Mejora la apariencia de los programas, de forma que otros puedan seguirlos y modificarlos fcilmente. Hace ms fcil la depuracin Programas ms compactos y ms rpidos Un programa escrito en un tipo de computador servir en otro tipo con pocos, o ningn cambio Usted tiene un control casi absoluto sobre su computador Se pueden crear fcilmente otros lenguajes y sistemas operativos
Secuencia de un programa
26/04/2011
26/04/2011
Jerarqua de Operadores
26/04/2011
Introduccin a C
ANTOLOGA
Entorno de C (pg. 12 ) Errores (pg. 15) Partes de un programa (pg. 17) Estructura de un programa (pg. 18)
26/04/2011
Declaracin de variables
Para declarar una variable, primero se especifica el tipo y posteriormente una lista de variables, terminando en ";". La sintaxis es:
<tipo> <lista de variables>; Tipos: int int, , char, char, float, float, double, double void, void, enum. enum
enum tipohoras { uno=1, dos, tres, cuatro, cinco, seis, siete, ocho, nueve, diez, once, doce, trece=1, catorce, quince, dieciseis, diecisiete, dieciocho, diecinueve, veinte, ventiuna, ventidos, ventitres, venticuatro = 0};
ALGORITMOS
Informtica Industrial
MR 1001
Gilberto Hernndez Herrera gilberto@itesm.mx
26/04/2011
Seudocdigo
o Es un lenguaje informal que ayuda a los programadores a desarrollar los algoritmos. o Es til para desarrollar algoritmos que debern ser convertidos en programas estructurados de C. o Es similar al lenguaje coloquial; cmodo y amigable o No es un lenguaje de programacin de computadoras o Los programas en seudocdigo no son ejecutables en computadoras. o Slo ayudan al programador a pensar un programa, antes de escribirlo en un lenguaje de programacin como C.
Seudocdigo
o Es un lenguaje informal que ayuda a los programadores a desarrollar algoritmos. o Es til para desarrollar algoritmos que debern ser convertidos en programas estructurados de C. o Es similar al lenguaje coloquial; cmodo y amigable o No es un lenguaje de programacin de computadora o Slo ayudan a pensar un programa, antes de escribirlo en un lenguaje de programacin como C.
26/04/2011
algoritmo
Es un conjunto de instrucciones generalmente muy precisas para realizar una tarea determinada.
Cualquier persona experimentada en armar rompecabezas desarrolla una especie de algoritmo para hacerlo un libro de recetas es una coleccin de algoritmos Los algoritmos matemticos no son ms que recetas mediante las cuales se realizan operaciones como la adicin y la multiplicacin,
26/04/2011
1. pedir valores de x, w, t y r 2. realizar la multiplicacin de x por x 3. sumarle el valor de w 4. restarle el valor de t 5. guardar el resultado en R1 6. restar x a r 7. multiplicar por 8 8. guardar en R2 9. dividir el resultado R1 entre R2 10. presentar el resultado
DIAGRAMAS DE FLUJO
Estructuras de control Todos los programas pueden ser escritos en trminos de tres estructuras de control: - la estructura de secuencia, - la estructura de seleccin - la estructura de repeticin. Ejecucin secuencial: En un programa los enunciados son ejecutados uno despus del otro, en el orden en que aparecen escritos.
26/04/2011
diagrama de flujo
Representacin grfica de un algoritmo o de una porcin de un algoritmo. Se trazan con smbolos como: rectngulos, diamantes, valos y pequeos crculos Los smbolos estn conectados entre s por flechas, conocidas como lneas de flujo.
Secuencia
10
26/04/2011
Seleccin
Repeticin
11
26/04/2011
Programacin
Cada accin se convierte en una o ms instrucciones de programacin
12
26/04/2011
Seleccin
Seleccin
if ( condicin ) then Accin1 ; else Accin 2 ; if ( condicin ) then { Accin ; Accin ; } else { Accin ; }
13
26/04/2011
Repeticin
While (condicin) { ... sentencias .... }; while (x < 100) x =x +1; while (x++ < 100) ;
Repeticin
do { sentencia1 ; sentencia2 ; } while (condicin) ;
14
26/04/2011
Repeticin
for ( variable = valor inicial ; condicin ; incremento ) { ... sentencias... }
for ( i =0 ; i <= 10 ; i++ ) { printf( %d ,i ); };
i=0
i<= 2
printf
i=i+1
Repeticin
for (cont =0 ; cont <= 10 ; cont++) { printf( %d ,cont); };
15
26/04/2011
Repeticin
for ( i=0 ; i<= 2; i++ ) for ( j=0 ; j<= 3 ; j++ ) for ( k=0 ; k<= 3 ; k++ ) { printf(%d,%d,%d,i ,j ,k ); }
Inicializacin de arreglos
int n[10] = 0; Inicia todos los elementos de n a cero. Podemos declarar los valores de los arreglos como: int n[10] = {32, 27, 64, 18, 95, 14, 90, 70, 60, 37}; Si de un a declaracin con una lista con los valores iniciales del arreglo se omite el tamao, el nmero de elementos en el arreglo ser el nmero de elementos incluidos en la lista. int n[ ] = {1, 2, 3, 4, 5}
16
26/04/2011
Relaciones Mayor que Menor que Mayor o igual que Menor o igual que Igual que Distinto que
Operador
Precedencia
Mayor
() ++, - *, /, % +, -
Menor
17
26/04/2011
18
26/04/2011
19
26/04/2011
20
26/04/2011
TAREA:
1. Descargar e instalar algn compilador freeware de C C++ que funcione en tu computadora Dev C++ Visual C Turbo C 2. Descargar de Blackboard la antologa de programacin de C
21
26/04/2011
TAREA
Programacin en C++
Inicio X,Y CM = Y X=0 NO Y=0 NO M=M+X CM = CM 1 NO CM = 0 SI FIN SI M=0 SI
Multiplicacin
M=XxY
22
26/04/2011
Programacin en C++
Inicio X,Y CM = Y X=0 NO Y=0 NO M=M+X CM = CM 1 NO CM = 0 SI FIN SI M=0 SI
Multiplicacin
Programacin en C++
Inicio N CF = N-1 , F = N N=0 NO N=1 NO F = F x CF CF = CF 1 NO CF = 0 SI FIN SI F=1 SI
Factorial
F=N!
5! = 5 x 4 x 3 x 2 x 1
23
26/04/2011
Inicio N CF = N -1 , F = N N=0 SI
Programacin en C++
F=N!
F=1
Factorial
Programacin en C++
Inicio X Y CP = Y , P = 1 Y=0 NO X=0 NO P=PxX CP = CP 1 NO CP = 0 SI FIN SI P=0 SI
Potencia
P=X
32 = 3 x 3
23 = 2 x 2 x 2
33 = 3 x 3 x 3
24
26/04/2011
Proyecto * ** *** **** Generar un programa ***** **** que presente pirmides *** de asteriscos ** * 1. 1.- que pregunte cuantas pirmides 2. 2.- que pregunte la lnea mxima de * ** la pirmide *** **** ***** **** *** ** *
Programacin en C++
Gilberto Hernndez Herrera gilberto@itesm.mx Informtica Industrial
25