Beruflich Dokumente
Kultur Dokumente
INGENIERA
RamiroDiezZaera
3. Introduccinala
programacin
1.
2.
3.
4.
5.
Lenguajesdeprogramacin
Procesodeprogramacin
Flujodecontroldelprograma
Algoritmos
Codificacin,PruebasyDepuracin
1.Lenguajesdeprogramacin
Loslenguajesdeprogramacinson
aplicacionesespecficasdiseadasparacrear
otrasaplicacionesoprogramas.Son
programasparacrearprogramas.
Unlenguajedeprogramacintieneun
conjuntodeinstruccionesbsicas:un
vocabularioyunasintaxisquepermite
elaborarconjuntosdeinstruccionescomo
tareasosubprogramas.
Existenmuchoslenguajesdeprogramacin
Programa
Unprograma esunconjuntodeinstrucciones
convenientementeordenadasescritasenun
lenguajedeprogramacindeterminado,yque
indicanalordenadorqutareasdebeseguir.
Losprogramasescritosenunlenguajede
programacindeterminadodebentraducirse
paraqueseaninterpretables(ointeligibles)porel
ordenador.
Unprogramabienhechodebeser:
Exacto
Claro
Portable
1.Lenguajesdeprogramacin
Loslenguajesdeprogramacinseclasificanen:
Lenguajemquina
Lenguajedebajonivel(ensamblador)
Lenguajesdealtonivel
Lenguajemquina
Esellenguajenativodelasmquinas.
Cadaprocesador(ofamilia)tienesupropio
lenguaje.
EllenguajemquinadelosprocesadoresdeInteles
diferentedellenguajemquinadelosdeMotorola.
Ejemplodeprogramaencdigomquina
Esteesunejemplodeprogramaen
Hexadecimal,quealejecutarloimprimepor
pantallaelmensajeHola,Mundo
1E31C050BA0C01B409CD21C3486F6C
61206D756E646F2121210D0A24
Lenguajeensamblador
Ellenguajeensambladorsurgecomoherramientapara
simplificarlaprogramacinenlenguajemquina.
Sedaalasinstruccionesnombres(eningls)quenos
indicanyrecuerdanlaoperacinqueserealiza.
Ejemplo:ADD,SUB,SHIFT,etc.
Estosnombressellamanmnemnicos ysonms
sencillosderecordarquesusequivalentesencdigo
mquina.
Unprogramaescritoenlenguajeensambladorno
puedeserejecutadodirectamenteporlacomputadora,
sinoquerequiereunafasedetraduccinallenguaje
mquina
Ejemplodeprogramaenensambladorparalos
procesadoresIntel
EsunprogramaenEnsambladordel8086que
imprimeelmensajeHola,Mundoporpantalla
mov ah,9
mov dx,108
int 21
ret
db Hola,Mundo$
mov ax,ac00
int 21
Lenguajeensamblador
Ventajas:
Loslenguajesensambladorespresentanlaventajafrentea
loslenguajesmquinadesufacilidaddecodificacin.
Inconvenientes:
Dependendemuchodelamquina(Nohayportabilidad
delosprogramas).
Laprogramacinenensambladorescompleja.
Elprogramadordebeconocerlaestructuradelamquina,
(susregistros,organizacindelamemoria,etc.)
Lenguajesdealtonivel
Permitenalosprogramadoresescribirsus
programasdeunmodomsfciltodavaquelos
lenguajesensambladores
Elvocabulariodeloslenguajesdealtoniveles
similarallenguajehumano(Read,Write,Open,
etc.)
Losprogramasescritosenunlenguajedealto
nivelsonindependientesdelamquina
Losleguajesmsutilizados:COBOL,FORTRAN,
PASCAL,ADA,C/C++,JAVA,etc.
EjemplodeprogramaenC
ProgramaqueimprimeelmensajeHola,
Mundoporpantallaescritoenunlenguajede
altonivel(lenguajeC):
#include <stdio.h>
void main()
{
printf(Hola, mundo);
}
Lenguajesdealtonivel
Inconvenientes:
Losejecutablessondemasiadosgrandesyrequierenmsmemoria
parasuejecucin.
Eltiempodeejecucindelosprogramasesmuchomayor.
Losprogramasfuentetienenquesertraducidosparalaobtencinde
uncdigoejecutable.
TraductoresdeLenguajes:
Sonprogramasquetraducenunprogramafuenteescritoenun
lenguajedealtonivelacdigomquina.
Hay2tiposdetraductores:
compiladores
interpretes
Compiladores
Uncompiladoresunprogramaquetraduceun
programafuenteescritoenlenguajedealtonivel
acdigomquina.
Lacompilacinsueletenervariasfases:
Procesamientodelcdigofuente:
Eliminacindecomentarios,lneasenblanco,etc.
inclusindelosficheros,etc.
Compilacindelcdigopreprocesado.
Verificarycorregirerroresdecompilacin
Obtencindelprogramaobjeto.
Elmontaje(enlazadoolinkado)
juntaelprogramaobjetoconlasbibliotecasdelsistemapara
obtenerelejecutable
Intrpretes
Unintrpreteesuntraductorquetomaun
archivofuente,traduceyejecutalas
instruccionesunaporuna,hastallegaralfinal.
Uninterpretechequealoserroresenfasede
ejecucin.
Noseproduceningncdigoejecutable.
Unlenguajeconuntraductordetipointrprete
sedenominalenguajeinterpretado.
Haymuchoslenguajesinterpretados:Matlab,
Matemtica,Perl,JAVA,etc.
DiferenciasenteCompiladoreseInterpretes
Unejecutable(unprogramacompilado)
Esunprogramaautocontenido ysepuedeejecutar
porssolo
Solofuncionasobrelaplataforma porlaquehasido
creado(mquinaysusistemaoperativo).
Unprogramainterpretable(comounprograma
deMatlab)
Requiereuninterpreteparasuejecucin(Matlab)
Sonindependientesdelasplataformas.
Lavelocidaddeejecucindeunprograma
compiladoesmsrpido(de10a20veces)que
ladeunarchivointerpretable.
2.Procesodeprogramacin
Laprogramacineselprocesodeconstruccinde
unprogramaparasolucionarunproblema
determinado.
Obtenerlasolucindeunproblemacomprende:
Unanlisisdetalladodelproblema.
Labsquedadeestrategiasqueconduzcanala
solucin
Codificarestainformacinenunlenguajede
programacindeterminado.
Realizarpruebassobreelprograma.
2.Procesodeprogramacin
Proceso de la
Programacin
Etapa 1
de
Programacin
Fase 1:
Definicin del
Problema
Etapa 2
de
Programacin
Fase 2:
Fase 3:
Anlisis
del Problema
Diseo
Algoritmo
Diagrama de Flujo
Prueba de Escritorio
Fase 4
Fase 5
Fase 6
Codificacin
Depuracin
Mantenimiento
del programa
2.Procesodeprogramacin
Fase1:Definicindelproblema
Elproblematienequeestardefinidoycomprendidoclaramente.
Ejemplos:
Determinarsiunestudianteaprobosuspendilaasignaturade
matemticas.Tomarcomobaseelpromediodesus3notas.El
promediodebesermayoroiguala5.
Calcularelpromediodelacotizacindeldlardelosltimos20
das.
LapoblacinestudiantildelaUEMseincrementaarazndeun3%
anual.Silapoblacinactualesde8000alumnos.Calcularla
poblacinquetendrdentrode10aos
2.Procesodeprogramacin
Fase2:Anlisisdelproblema
Consisteenanalizarpuntoporpuntoel
problemaquesepresenta.
Pensarenlasoperacionesquesenecesitan
pararesolverlo,lostiposdedatosquesevana
manejardentrodelprograma.
Sedebenespecificarlosdatosdeentrada,
procesoysalida.
2.Procesodeprogramacin
Fase2:Anlisisdelproblema
ENTRADA
Cal1
Cal2
Cal3
Dolar
Poblacin
estudiantil actual:
PE
PROCESO
P=(Cal1+Cal2+Cal3) / 3
SALIDA
Calificacin de :
Aprobado o Suspenso y el
Promedio: P
Imprimir el da y su cotizacin
Promedio de las 20
cotizaciones
Poblacin estudiantil
dentro de 10 aos: PE
2.Procesodeprogramacin
Tiposdedatos
Tipos de Datos
Variables
Constantes
Numricas
Alfanumricas
Representan el valor
numrico especificado.
se puede realizar
operaciones aritmticas.
Ejemplo: 3, 100 ,Pi
Numricas
Almacenan datos
numricos: Trabajo,
Contador, .
Ejemplo: SUMA= A+B
Alfanumricas
Almacenan letras,
nmeros y caracteres
especiales.
Ejemplo: A$= Espaa
RESULTADO = Aprobado
2.Procesodeprogramacin
Operadores:
Tipos de Operadores
Permiten realizar operaciones
aritmticas, lgicas o de
comparacin con los diferentes
tipos de datos
Aritmticos:
+-*/
Comparacin
= < > >= <=
Lgicos:
NOT Negacin
AND Conjuncin
OR Disyuncin
2.Procesodeprogramacin
Fase3:Diseo
Consisteendesarrollarelprocedimiento(paso
apaso)pararesolverelproblema
EnestafasesediseaelAlgoritmo,Diagrama
deFlujoysellevaacabolaPrueba
2.Procesodeprogramacin
Algoritmo:
Eselconjuntodepasosordenadosdeforma
lgicaquedescribenlasolucindeunproblema
oparallevaracabounatareadeterminada.
Debencontarconlassiguientescaractersticas:
Tenerprincipioyfin
Contarconunacantidadfinitadepasos
Lospasosdebenestarordenadoslgicamente
Lospasosdebenbuscarsolucionarelproblemade
maneralgica
2.Procesodeprogramacin
TiposdeAlgoritmos:
Secuenciales:Lospasosseejecutandeprincipio
afinsinsaltos,brincosnibifurcaciones.
Condicionales:Setienelanecesidaddetomar
decisionesenalgunosdelospasosdebidoa
condicionesopreguntasquenosllevena
responderverdaderoofalsooseguirporun
caminouotro.
Cclicosoprocesosrepetitivos:Sonaquellos
dondehayaccionesqueserepitenhastaqueuna
condicinsecumpla.
2.Procesodeprogramacin.Algoritmos
Ejemplo1:Promediodelasnotas(condicional)
1. Inicio
2. Pedirnotas
3. Calcularelpromedio
4. Sipromedio esmayoroiguala5,entonces
imprimeAprobado,elpromedio yvaalpaso6
5. Sipromedio noesmayoroiguala5,entonces
imprimeSuspenso,yelPromedio
6. Fin
2.Procesodeprogramacin.Algoritmos
Ejemplo2:CotizacionesdelDlar(Cclico)
1. Inicio
2. Inicializarelcontadordedasa1
3. Preguntarsielcontadordedasesmayora20
4. S:
a)
b)
calcularelpromediodelascotizacionesdelosltimos20das
Imprimirelpromedio,iralpaso6
5. No:
a)
b)
c)
d)
Pedirlacotizacindelsiguienteda
Acumularlacotizacin(S=S+Cotizacin)
Incrementarelcontadordedasenuno(i=i+1)
Iralpaso3
6. Fin
2.Procesodeprogramacin.Algoritmos
Ejemplo3:Poblacinestudiantil(Cclico)
1. Inicio
2. Determinarlapoblacinactual
3. Inicializara1elcontadordeaos
4. Preguntarsielcontadoresmenorque10
5. S:
a) calcularlapoblacinestudiantil
b) incrementaren1elcontadordeaos
c) iralpaso4
6. No:ImprimirlaPoblacinestudiantil
7. Fin
3.Flujodecontroldelprograma
OrganigramasoDiagramasdeflujo
Sondibujosquerepresentandemaneragrfica
enqueconsistenlastareasarealizarycmo
estnorganizadasdichastareas.
Lastareasserepresentanmedianterectngulos,
rombos,romboides,etc.yelflujodetareas
medianteflechasqueenlazanlasdiferentes
tareas.
3.Flujodecontroldelprograma
Inicio o Fin
Proceso
Decisin
Comparacin lgica
Datos
Resultado
Ciclos
Flujo
3.Flujodecontroldelprograma
Ejemplo:Organigramade
unprogramaquecalcula
elpermetroyelreade
unrectngulo:
3.Flujodecontroldelprograma
Ejemplosanteriores
Inicio
Inicio
Inicio
Cal1
Cal2
Cal3
SI
I=1
Prom= Acum/20
I>20
I= I + 1
PE = 8000
Prom
NO
Fin
AO = 1
Cotiza
P=(Cal1+Cal2+Cal3)/3
NO
SI
AO <=10
I, Cotiza
SI
P>=5?
NO
PE
Aprobado
P
Suspenso P
Acum=Acum + Cotiza
Fin
Fin
PE=PE+(PE*.03)
AO=AO + 1
Pseudocdigo
Elpseudocdigoesunatcnicaderepresentacinno
grficadelosalgoritmos.
Permitedescribirunalgoritmomedianteunlenguaje
intermedioentreellenguajenatural(elespaol)yun
lenguajedeprogramacin.
Lasestructurasylasintaxissonmslibresqueenun
lenguajedeprogramacinconcreto.
Esindependientedeloslenguajesdeprogramacin.
Fcildeentender,corregirymodificar.
Seutilizaparabuscarunaprimeraaproximacinal
diseodelosprogramas
3.Flujodecontroldelprograma
Inicio
tarea1
tarea2
...
tarean
Fin
Si(condicin)entonces
acciones
Fin_si
Si(condicin)entonces
acciones1
sino
acciones2
Fin_si
4.Codificacin,PruebasyDepuracin
Pruebas: consistenendarvaloralasvariableseneldiagramade
flujoycomprobarsielresultadoobtenidoeselesperado
Ejemplo Promedio
Prueba de Escritorio
Pedir las calificaciones
Promedio=(Cal1 +Cal2+Cal3)/3
Prueba 1
Promedio = 4.5
4.5 >=5
NO
Imprime Suspenso 4,5
Prueba 2
Promedio = 5
5 >=5
SI
Imprime Aprobado 5
Prueba 3
Promedio = 5.5
5,5>=5
SI
Imprime Aprobado 5.5
Ejemplo Cotizaciones
Prueba de Escritorio
I=1
Prueba 1: 1 > = 20
NO. Pedir la cotizacin (cotiza)
Imprimir I y la cotizacin (cotiza)
Acum=Acum +Cotiza
I=I+1
I=2
2>20
NO. Pedir la cotizacin (cotiza)
Imprimir I y la cotizacin (cotiza)
Acum=Acum +Cotiza
I=I+1
.
.
Prueba 2
I = 21
21>20
SI. Prom= Acum/20
Imprime Prom
Procesodeprogramacin
Fase4:Codificacin
Eslatraduccindelalgoritmoaunlenguajede
programacindeacuerdoalasreglasgramaticalesode
sintaxisdelmismo.
Fase5:Depuracin
Enestafaseseverificaqueelprogramahayasido
codificadocorrectamente.Elprogramasedejalibrede
errorestantodesintaxiscomodelgica.
Fase6:Mantenimiento
Elprogramatienequeserrevisadoperidicamentepara
quitaroagregaroperacionesquelohagamsefectivo.