Вы находитесь на странице: 1из 44

FUNDAMENTOS DE PROGRAMACIN

INGENIERO: Alfonso Agama Chico

Algoritmo
1
!l lat"n# dixit algorithmus $ !l mat!m%tico &!rsa '!n(orrio) !s *na lista +i!n !fini a# or !na a $ finita ! o&!racion!s ,*! &!rmit! hallar la sol*ci-n a *n &ro+l!ma

2
Da o *n !sta o inicial $ *na !ntra a# a tra(.s ! &asos s*c!si(os $ +i!n !fini os s! ll!ga a *n !sta o final# o+t!ni!n o *na sol*ci-n

3
M.to o &ara r!sol(!r *n &ro+l!ma# m! iant! la com+inaci-n ! &asos ,*! s! r!ali/an !n !t!rmina o or !n ! forma &r!cisa

DIMARE NIVEL III Fundamentos de Programacin

R!sol*ci-n ! *n Pro+l!ma
Diseo Diseodel del Algoritmo Algoritmo Programa Programade de Computadora Computadora

Problema Problema

1. Diseo del algoritmo que describe la secuencia ordenada de pasos -sin ambigedades- que conducen a la solucin de un problema dado. (Anlisis del problema y desarrollo del algoritmo.) 2. E presar el algoritmo como un programa en un lengua!e de programacin adecuado. (Fase de codificacin.) 3. Ejec cin y !alidacin del programa por la computadora.

DIMARE NIVEL III Fundamentos de Programacin

Caract!r"stica ! los Algoritmos


1. "n algoritmo debe ser preciso e indicar el orden de reali#acin de cada paso. 2. "n algoritmo debe estar definido. $i se sigue un algoritmo dos %eces& se debe obtener el mismo resultado cada %e#. 3. "n algoritmo debe ser finito. $i se sigue un algoritmo& se debe terminar en alg'n momento( o sea& debe tener un n'mero )inito de pasos. "n algoritmo debe describir tres partes* Entrada, Proceso $ Salida. En el algoritmo de receta de cocina se tendr+* Entrada: ingredientes , utensilios empleados. Proceso: elaboracin de la receta en la cocina. Salida: terminacin del plato -por e!emplo& cordero..
DIMARE NIVEL III Fundamentos de Programacin

E0!m&lo ! Algoritmo
"n cliente ejec ta n pedido en na fbrica. #a fbrica e$amina en s banco de datos la fic%a del cliente& si el cliente es sol!ente entonces la empresa acepta el pedido' en caso contrario& rec%a(ar el pedido. 1./nicio. 2.0eer el pedido. 3.E aminar la )ic1a del cliente. 2.$i el cliente es sol%ente aceptar pedido( en caso contrario& rec1a#ar el pedido. 3.4in.

DIMARE NIVEL III Fundamentos de Programacin

E0!m&lo ! Algoritmo
)eali(ar la s ma de todos los n*meros pares entre + y 1,,,. 1./nicio. 2.Establecer $"5A a 6. 3.Establecer 7"5E86 a 2. 2.$umar 7"5E86 a $"5A. El resultado ser+ el nue%o %alor de la suma -$"5A.. 3./ncrementar 7"5E86 en 2 unidades. 9.$i 7"5E86 :; 1<<< bi)urcar al paso 2 ( en caso contrario& escribir el 'ltimo %alor de $"5A , terminar el proceso. =.4in.

DIMARE NIVEL III Fundamentos de Programacin

1!ng*a0! ! &rogramaci-n
1
con0*nto ! s"m+olos $ r!glas sint%cticas $ s!m%nticas ,*! !fin!n s* !str*ct*ra $ !l significa o ! s*s !l!m!ntos $ !2&r!sion!s

2
Es *tili/a o &ara controlar !l com&ortami!nto f"sico $ l-gico ! *na m%,*ina

3
&!rmit! al &rograma or !s&!cificar ! manera precisa sobre qu atos !+! o&!rar *na com&*ta ora# c-mo !+!n s!r almac!na os o transmiti os $ las accion!s !+! tomar +a0o *na (aria a gama ! circ*nstancias3
DIMARE NIVEL III Fundamentos de Programacin

1!ng*a0!s ! &rogramaci-n

Programar Plantear solucin a un problema mediante un 0engua!e de Programacin. Los lenguajes de programacin facilitan la tarea de programacin, ya que disponen de formas adecuadas que permiten ser ledas y escritas por personas, a su vez resultan independientes del modelo de computador a utilizar.

DIMARE NIVEL III Fundamentos de Programacin

1!ng*a0!s ! &rogramaci-n
1. Lenguajes de Mquina 2. Lenguajes nsam!ladores ". Lenguajes de #lto $ivel

DIMARE NIVEL III Fundamentos de Programacin

1!ng*a0!s ! M%,*ina
s el lenguaje natural de una computadora particular. Consisten de cadenas de n'meros $on dependientes de la m+quina $on di)>ciles de mane!ar por los seres 1umanos
45677789::8 45877;<685< 459779:879:
DIMARE NIVEL III Fundamentos de Programacin

1!ng*a0!s Ensam+la or!s


%tiliza a!reviaturas similares al &ngl's %n Ensamblador convierte un programa de lenguaje ensam!lador a lenguaje mquina

+sf $?A?"$&8P< clrf P68?@ mo(l= < 44 mo(=f P68?A +cf $?A?"$&8P<
DIMARE NIVEL III Fundamentos de Programacin

1!ng*a0!s ! Alto Ni(!l


(e desarrollaron para acelerar el proceso de programacin %n Compilador convierte los programas de lenguaje de alto nivel al lenguaje de mquina S*ma > N*m?a 4 N*m?+@
Total > S*ma A BE,*i( C 9;)@

DIMARE NIVEL III Fundamentos de Programacin

Programa
1
s!c*!ncia no am+ig*a# finita $ or !na a ! instr*ccion!s ,*! han ! s!g*irs! &ara r!sol(!r *n &ro+l!ma

2
s*!l!n s*+ i(i irs! !n &art!s m!nor!s Bm- *los)# as" la com&l!0i a algor"tmica ! ca a *na ! las &art!s s!a m!nor ,*! la !l &rograma com&l!to

3
t.cnicas ! &rogramaci-n
Aprogramacin estructurada Aprogramacin modular Aprogramacin orientada a ob!etos -P66. Aprogramacin declarati%a

DIMARE NIVEL III Fundamentos de Programacin

Fas!s ! !sarrollo ! *n &rograma


=. Documentacin 1. An+lisis del problema

9. Depuracin

4ases

2. Diseo del algoritmo

3. Beri)icacin

3. Compilacin 2. E!ecucin

DIMARE NIVEL III Fundamentos de Programacin

Com*nicaci-n !ntr! !l &rograma or $ !l *s*ario Us*ario conoc! !l &ro+l!ma &!ro no la sol*ci-n inform%tica

Programa or conoc! la t!cnolog"a &!ro no !l &ro+l!ma D!finir !l &ro+l!ma con !l m%2imo &osi+l! ! !tall! D!finir claram!nt! las !ntra as $ sali as !l &rograma

53 An%lisis !l &ro+l!ma
Creati%idad Atencin m+ ima a los requerimientos del usuario
DIMARE NIVEL III Fundamentos de Programacin

D!t!rminar c-mo hac! !l &rograma lo ,*! s! r!,*i!r! Di(i ir !l &ro+l!ma !n s*+&ro+l!mas

I !ntificar las o&!racion!s

93 Dis!Do
Di%isin del problema en subproblemas De)inir orden lgico de operaciones
DIMARE NIVEL III Fundamentos de Programacin

D!finir los o+0!tos B atos# informaci-n) Programaci-n mo *lar# is!Do !sc!n !nt!# or !n l-gico

Tra *cci-n a c- igo f*!nt!

Consiste en generar el cdigo ob!eto equi%alente al programa )uente "tili#a un intDrprete de lengua!e $u ob!eti%o es generar un arc1i%o e!ecutable a partir de lo programado $lo se genera cdigo ob!eto cuando el programa )uente est+ libre de errores de an+lisis

63 Com&ilaci-n
?raduccin a cdigo )uente Cenera un e!ecutable

DIMARE NIVEL III Fundamentos de Programacin

Ti!m&o ! !0!c*ci-n -) ntime en inglDs. inter%alo de tiempo en el que un programa se e!ecuta en un sistema operati%o $e debe dar seguimiento a las tareas que debe reali#ar %s resultados en e!ecucin
!ntorno ! !0!c*ci-n -r ntime en!ironment en inglDs. es un estado que suministra ser%icios de so)tEare para procesos o programas mientras se est+ e!ecutando Cierta depuracin de programas slo puede reali#arse -o ser m+s e)iciente o precisa. cuando se reali#a en e!ecucin

83 E0!c*ci-n
Programa que se e!ecuta en el computador Dar seguimiento a resultados reales %s. esperados
DIMARE NIVEL III Fundamentos de Programacin

Com&ro+ar ,*! !l algoritmo r!alic! las tar!as &lan!a as E0!c*ci-n man*al# incl*so !n &a&!l

Tomar rango ! atos significati(os

;3 E!rificaci-n
Comprobacin del algoritmo Prueba o testing

0abor de prueba o testing Ferramientas* Diagramas de )lu!o de datos& pseudocdigo& 7assi-$c1neiderman -C1apin.

DIMARE NIVEL III Fundamentos de Programacin

D!&*raci-n ! &rogramas es el proceso de identi)icar , corregir errores de programacin s! l! conoc! como debugging# $a ,*! s! as!m!0a a la !liminaci-n ! bichos Bbugs)
e isten tDcnicas para la re%isin sistem+tica del cdigo )uente , medios para la deteccin de errores -deb ggers. ?ambiDn e isten )acilidades integradas en los sistemas lo-er .A/E , en los ambientes de desarrollo integrado

F3 D!&*raci-n
Ferramientas para depuracin , re%isin sistem+tica del cdigo )uente 8equiere paciencia& imaginacin e intuicin
DIMARE NIVEL III Fundamentos de Programacin

$igue siendo una acti%idad manual& que desa)>a la paciencia& la imaginacin , la intuicin del programador

S! i(i ! !n int!rna $ !2t!rna

1a int!rna incl*$! !l c- igo !l &rograma# $ los com!ntarios

1a !2t!rna incl*$! lista o !l &rograma f*!nt!


Tam+i.n !2&licacion!s ! c%lc*los $ !s&!cificaci-n ! atos#

:3 Doc*m!ntaci-n
/nterna , e terna Documento de gu>a para )uturas actuali#aciones o desarrollos del sistema
DIMARE NIVEL III Fundamentos de Programacin

5anual de usuario& mantenimiento& descripcin del problema& D4D& Bariables& etc.

El!m!ntos ! *n Programa
1. 2. ". ,. /. 1. 4. )ala!ras reservadas Li!reras y *unciones +omentarios -ipos de .atos +onstantes y 0aria!les 2peradores y 3presiones +onversin de .atos

DIMARE NIVEL III Fundamentos de Programacin

Pala+ras R!s!r(a as
$on caracter>sticas del 0engua!e de Programacin 7o pueden ser utili#ados como identi)icadores
Asm A*to Gr!a' Cas! Char const En*m Est!rn Float For Goto if Sign! Si/!of Static Str*ct S=itch t$&! !f

DIMARE NIVEL III Fundamentos de Programacin

1i+r!r"as $ F*ncion!s
0as 0ibrer>as son con!untos de )unciones 0as 4unciones son un con!unto de comandos , operaciones que se reali#an para obtener un %alor que se retorna al programa principal.

DIMARE NIVEL III Fundamentos de Programacin

Com!ntarios

DIMARE NIVEL III Fundamentos de Programacin

Ti&os ! Datos

DIMARE NIVEL III Fundamentos de Programacin

Ti&os ! Datos

DIMARE NIVEL III Fundamentos de Programacin

Constant!s $ Earia+l!s
"na %ariable es una posicin con nombre en memoria donde se almacena un %alor de un cierto tipo de dato. 0as %ariables pueden almacenar todo tipo de datos* cadenas& n'meros , estructuras. Puede tener un %alor inicial , a la %e# ser modi)icado en el programa. E isten Bariables 0ocales , Clobales "na constante es una %ariable cu,o %alor no puede ser modi)icado.

DIMARE NIVEL III Fundamentos de Programacin

O&!ra or!s $ E2&r!sion!s

DIMARE NIVEL III Fundamentos de Programacin

O&!ra or!s $ E2&r!sion!s

DIMARE NIVEL III Fundamentos de Programacin

Con(!rsi-n ! Datos

DIMARE NIVEL III Fundamentos de Programacin

S"m+olos +%sicos ! iagramas ! fl*0o

Proceso

EntradaG$alida

Decisin

?erminal

Conector misma p+gina

Conector en p+gina distinta

DIMARE NIVEL III Fundamentos de Programacin

Estr*ct*ras ! S!l!cci-n
$entencia IF

E E presin presin Berdadera Accin Accin1 1 4alsa Accin Accin2 2

DIMARE NIVEL III Fundamentos de Programacin

Estr*ct*ras ! S!l!cci-n
$entencia IF

DIMARE NIVEL III Fundamentos de Programacin

Estr*ct*ras ! S!l!cci-n
Berdadero Caso CasoA A 4also Caso Caso@ @ 4also Berdadero Caso CasoH H 4also Accin Accinpor por omisin omisin
DIMARE NIVEL III Fundamentos de Programacin

$entencia SWIT !
breaI breaI

Accin AccinA A Berdadero Accin Accin@ @

breaI breaI

Accin AccinH H

breaI breaI

Estr*ct*ras ! S!l!cci-n
$entencia SWIT !

DIMARE NIVEL III Fundamentos de Programacin

Estr*ct*ras ! Control
$entencia F"#

Contador Contador; ;1 1

Berdadero Contador Contador :; :;1< 1< 4also Accin Accin ContadorJJ ContadorJJ

DIMARE NIVEL III Fundamentos de Programacin

Estr*ct*ras ! Control
$entencia F"#

DIMARE NIVEL III Fundamentos de Programacin

Estr*ct*ras ! Control
$entencia W!I$E

Berdadero Condicin Condicin 4also Accin Accin

DIMARE NIVEL III Fundamentos de Programacin

Estr*ct*ras ! Control
$entencia W!I$E

DIMARE NIVEL III Fundamentos de Programacin

FUNCIONES
En lengua!e C se conocen como 5dulos Es un miniprograma dentro de un programa Permiten al programador modulari#ar un programa Contienen %arias sentencias ba!o un solo nombre El programa puede utili#ar estas )unciones una o m+s %eces 4acilitan la programacin ?odo lengua!e de programacin posee una biblioteca de )unciones

DIMARE NIVEL III Fundamentos de Programacin

ESTRUCTURA DE UNA FUNCIN

tipo-de-retorno tipo-de-retorno nombre4uncin nombre4uncin -listaDePar+metros. -listaDePar+metros. K K sentencias sentencias L L

int int suma suma -c1ar -c1ar num1& num1& c1ar c1ar num2. num2. K K )loat )loat resp( resp( resp resp ; ; num1 num1 J J num2( num2( L L

DIMARE NIVEL III Fundamentos de Programacin

ARREG1OS
"n A88AM almacena muc1os elementos del mismo tipo $e enumeran consecuti%amente <&1&2&3&N E!emplo* A88AM a de 9 elementos

a[0] a[1] a[2] a[3] a[4] a[5] 25.1 34.2 5.24 7.45 6.09 7.54
DIMARE NIVEL III Fundamentos de Programacin

DEC1ARACIN DE UN ARRAH
tipo tipo nombreArra, nombreArra, On'meroDeElementosP( On'meroDeElementosP(

float float salarios salarios O23P O23P ((

GG GGDeclara Declara n n array array de de +0 +0 elementos elementos )loat. )loat.

char char palabra palabra O2P O2P ;QA@CQ( ;QA@CQ( GG GG1 1 arda arda los los caracteres caracteres A2. A2. en en el el array array palabra palabra

DIMARE NIVEL III Fundamentos de Programacin