Anda di halaman 1dari 25

26/04/2011

Programacin en C++
Gilberto Hernndez Herrera gilberto@itesm.mx Informtica Industrial

Pasos para resolver un problema por computadora

Planteamiento y definicin del problema


Se propone el problema Se delimita (que abarcara nuestra solucin)

Identificacin de variables de entrada y salida


Identificacin de variables de entrada (parmetros de entrada que debemos considerar) Identificacin de salida (resultados que debe proporcionar el programa)

Redactar un algoritmo usando seudo cdigo


Se realiza una redaccin en un lenguaje coloquial todo lo que iremos realizando para obtener el objetivo

Dibujar el diagrama de flujo


El algoritmo se lleva a una forma grafica la cual es ms sencilla de visualizar y de esta manera entender que operaciones se estarn realizando

Programar (Cdigo en cualquier lenguaje de programacin)


Pasar el diagrama de flujo a cualquier lenguaje de programacin

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

Uso de Operadores Aritmticos

26/04/2011

Uso de Operadores de Asignacin

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)

Conceptos y Funciones bsicas


printf ( ) (pag. 19) aritmetica en C (pag. 23) seudocdigo (pag. 28) algoritmo (pag. 29) diagramas de Flujo (pag. 31) control de un Programa (pag. 40)
scanf("%d",&usuario);

If () (pag. 45) If..else (46)

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,

Algoritmos empleando seudocdigo


Algoritmo de un da de trabajo. 1. despertar en la maana 2. levantarse de la cama 3. baarse, vestirse y arreglarse 4. desayunar 5. dirigirse al trabajo (transporte) 6. llegar a trabajar

26/04/2011

Algoritmo para realizar la operacin:

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

Cada accin puede reemplazarse por una estructura de control

Programacin
Cada accin se convierte en una o ms instrucciones de programacin

12

26/04/2011

Seleccin

if ( condicin ) then Accin ;

if ( condicin ) then { Accin 1; Accin 2; }

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) ;

do x =x while (x < 100);

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); };

for (i=0 ; i<= 2; i++) for (j=0 ; j<= 3 ; j++) { printf( %d , %d , i , j ); };

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

Programacin en C++ Condiciones y Ciclos


Informtica Industrial
MR 1001
Gilberto Hernndez Herrera gilberto@itesm.mx

Operador > < >= <= == !=

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

Programar en lenguaje C++ los algoritmos de:


Multiplicacin Factorial Potencia
PROBARLOS CON 2 NMEROS

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

N ON = 1 SI N M=0 O CM = CF M=M+F F=F CF CM =x CM 1 N CM = 0 O SI F=M CF = CF 1 N O CF = 0 SI FIN

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

Anda mungkin juga menyukai