Tema 5.- BASES DE DATOS Y GESTIÓN DE LA INF. PARA EL MARKETING.pdf
Programación
1. 1[Fecha]
PROGRAMACIÓN
AUTORA: Fara Garcia Dipas
INTRODUCCION
Programación informática, acortada como programación, es el proceso de escribir un lenguaje de
programaciónelcódigofuentede un software Un términomás ampliodeprogramaciónpuedeincluirno
sólo depurar ymantener el código programado.
Se conocecomo programaciónde computadoras a la implementación de un algoritmo en determinado
lenguajedeprogramación,conformadounprograma.Mientras queunalgoritmoseejecutaenunamaquina
abstractaquenotienelimitacionesdememoriaotiempo,unprogramaseejecutaenunamaquinareal,que
si tiene limitaciones. El lenguaje de programación puede ser de alto nivel, medio nivel o bajo nivel, en
función del grado de abstracción.
Se conocecomoprogramadoresaaquelloencargadosdedesarrollarestecódigoconinstruccionesparael
software se comporte de una u otra manera de acuerdo con las ordenes que reciba. El lenguaje de
programación es, por otro lado, la serie de parámetros y códigos de los que el programador se vale para
desarrollar software. Existen distintos tipos de lenguajes, como el C, BASIC o RUBY.
Típicamente, para programar un software o aplicación, el programador debe en principio reconocer el
principalproblemaotareaala quesedestinaraelprograma,definirlosrequisitosytipo defuncionamiento,
diseñar la arquitectura, implementar el programa, implantarlo o instalarlo y, luego perfeccionarlo sobre la
base de pruebas yerrores.
DESARROLLO DEL TEMA
¿QUE ES PROGRAMACION?
Es el procesodediseñar,codificar,depurarymantenerel códigofuente deprogramascomputacionales.
El códigofuentees escrito enun lenguajedeprogramación.Elpropósitodela programaciónescrear
programasqueexhibanuncomportamientodeseado.Elprocesodeescribircódigorequiere
frecuentementeconocimientosenvariasáreas distintas, ademásdeldominiodellenguajeautilizar,
algoritmosespecializadosylógicaformal.Programarnoinvolucranecesariamenteotrastareas tales
comoelanálisisydiseñode la aplicación(perosí eldiseñodelcódigo),aunquesí suelenestar
fusionadasenel desarrollodepequeñasaplicaciones.
2. 2[Fecha]
1
Delprocesodeprogramaciónsurgeloquecomúnmenteseconocecomo software (conjuntode
2programas),aunqueestrictamente estaúltima abarcamuchomásquesólolaprogramación.
PROGRAMACIÓN Y ALGORITMO
Un algoritmo esunasecuencianoambigua,finitay ordenadadeinstruccionesquehandeseguirsepara
resolver un problema.Unprogramanormalmenteimplementa(traduceaunlenguajedeprogramación
concreto)unoomásalgoritmos.Unalgoritmopuedeexpresarsededistintasmaneras:enformagráfica,
comoun diagramadeflujo,enformade códigocomoen pseudocódigo ounlenguajedeprogramación,
en formaexplicativa,etc.
Los programassuelensubdividirseenpartesmenores,llamadasmódulos,demodoquelacomplejidad
algorítmicadecadaunadelaspartes sea menorqueladel programacompleto,locualayudaal
desarrollodelprograma.Estaes una prácticamuyutilizaday se conocecomo"refinoprogresivo".
Según NiklausWirth, unprogramaestáformadopor los algoritmosy laestructurade datos.
Se hanpropuestodiversas técnicasde programación cuyoobjetivoes mejorartanto elprocesode
creaciónde softwarecomosumantenimiento.Entreellas,se puedenmencionarlassiguientes:
programacióndeclarativa
programaciónestructurada
programaciónmodular
programaciónorientadaaobjetos
OBJETIVOSDE LA PROGRAMACIÓN
La programacióndebeperseguirlaobtencióndeprogramasdecalidad.Paraellose estableceunaserie
de factoresquedeterminanlacalidaddeunprograma.Algunosdelos factoresde calidadmás
importantessonlos siguientes:
CORRECTITUD.-Unprogramaescorrectosihaceloquedebehacertal y comoseestablecióenlas
fases previas a su desarrollo.Para determinarsiunprogramahaceloquedebe,es muyimportante
especificarclaramentequédebehacerelprogramaantesdesu desarrolloy, unavez acabado,
compararloconloquerealmentehace.
1 Codificar:reunir leyes o normas en un código
2 Ambigua: que actúa con poca decisión,firmeza o seguridad
Algoritmos: método que evalúa el proceso de solución deun problema
3. 3[Fecha]
CLARIDAD. Es muyimportantequeelprogramasealo másclaroylegibleposible,parafacilitartanto
su desarrollocomosuposteriormantenimiento.Al elaborarunprogramasedebeintentar quesu
estructurasea sencillaycoherente,así comocuidarelestilodeprogramación.Deesta formase ve
facilitadoeltrabajodel programador,tantoen lafase de creacióncomoenlasfasesposterioresde
correccióndeerrores,ampliaciones,modificaciones,etc.Fasesquepuedenserrealizadas incluso
por otro programador,conlocuallaclaridadesaúnmásnecesariaparaqueotrosp3uedancontinuar
el trabajofácilmente.Algunosprogramadoreslleganinclusoautilizar Arte ASCII paradelimitar
seccionesdecódigo;unaprácticacomúnesrealizaraclaracionesenelcódigofuente
utilizando líneas decomentarios. Contrariamente,algunospordiversióno paraimpedirleunanálisis
cómodoaotrosprogramadores,recurrenalusode códigoofuscado.
EFICIENCIA. Se trata deque el programa,ademásderealizaraquelloparaloquefue creado(es
decir,quesea correcto),lohagagestionandodelamejorformaposiblelosrecursosqueutiliza.
Normalmente,alhablardeeficienciadeunprograma,sesuelehacerreferenciaaltiempoquetarda
en realizar latarea parala que hasido creadoya la cantidaddememoriaquenecesita,perohay
otros recursosquetambiénpuedenserdeconsideraciónparamejorarla eficiencia deunprograma,
dependiendodesunaturaleza(espacioendiscoqueutiliza, tráficoen la redque genera,etc.).
PORTABILIDAD. Un programaesportablecuandotienelacapacidaddepoderejecutarseenuna
plataforma,ya sea hardware o software, diferentea aquéllaenla quese desarrolló.La portabilidad
es unacaracterísticamuydeseableparaunprograma,ya quepermite,por ejemplo,aun programa
quese ha elaboradoparaelsistema GNU/Linuxejecutarsetambiénenlafamiliadesistemas
operativos Windows.Esto permitequeelprogramapuedallegaramásusuariosmásfácilmente.
CICLO DE VIDA DELSOFTWARE
El término ciclodevidadelsoftware describeeldesarrollodesoftware, desdela fase inicialhastalafase
final, incluyendosuestadofuncional.Elpropósitoes definirlas distintasfases intermediasquese
requierenparavalidarel desarrollodela aplicación, esdecir,paragarantizar queel software cumplalos
requisitosparala aplicaciónyverificacióndelosprocedimientosdedesarrollo:seaseguraquelos
métodosutilizadosson apropiados.Estosmétodosse originanenel hechodequees muycostoso
rectificarloserroresquese detectantarde dentrode la fase de implementación(programación
propiamentedicha),opeor aún, durantela fase funcional.Elmodelodeciclodevidapermitequelos
erroresse detectenloantes posibleypor lo tanto, permitea los desarrolladoresconcentrarseenla
calidaddelsoftware,en los plazos deimplementaciónyen los costosasociados.Elciclodevidabásico
de unsoftware constade, al menos,lossiguientesprocedimientos:
3 Linux: es un término que se usa para referirsea la combinación del núcleo
4. 4[Fecha]
Definicióndeobjetivos:definirel resultadodelproyecto y su papelen laestrategia global.
Análisis de losrequisitosy su viabilidad:recopilar,examinaryformularlos requisitosdelclientey
examinarcualquierrestricciónquesepuedaaplicar.
Diseñogeneral:requisitosgeneralesdela arquitecturadelaaplicación.
Diseñoen detalle:definiciónprecisadecadasubconjuntodelaaplicación.
4
Programación(programacióneimplementación):esla implementaciónenunlenguajede
programaciónparacrearlasfuncionesdefinidasdurantelaetapadediseño.
Pruebade unidad:pruebaindividualdecadasubconjuntodelaaplicaciónparagarantizarquese
implementarondeacuerdoconlasespecificaciones.
Integración:paragarantizar quelos diferentes módulosysubprogramasseintegrenconla
aplicación.Éstees elpropósitode la pruebade integraciónquedebeestarcuidadosamente
documentada.
Pruebabeta (o validación),paragarantizarque el softwarecumpleconlasespecificaciones
originales.
Documentación:sedocumentacontodalainformaciónnecesaria,seafuncionalfinalparalos
usuariosdelsoftware (manualdelusuario),y de desarrolloparafuturasadaptaciones,ampliacionesy
correcciones.
Mantenimiento:paratodoslos procedimientoscorrectivos(mantenimientocorrectivo)ylas
actualizacionessecundariasdelsoftware(mantenimiento continuo).
El ordeny lapresenciadecadaunodeestos procedimientosenelciclodevidade unaaplicación
dependendel tipode modelodeciclodevidaacordadoentreel cliente yel equipodedesarrollador
COPILACIÓN.
El programaescritoenun lenguajedeprogramación (fácilmentecomprensibleporel programador)es
llamado programafuente yno se puedeejecutardirectamenteenunacomputadora.Laopciónmás
comúnescompilarelprogramaobteniendounmóduloobjeto,aunquetambiénpuedeejecutarseenforma
másdirectaa través deun intérpreteinformático.
El códigofuentedel programa sedebesometera un procesodetraducción paraconvertirloalenguaje
máquinaobiena uncódigointermedio,generandoasíunmódulodenominado"objeto".A este proc eso
se le llama compilación.
4 Código fuente: es un conjunto de líneas que son las instrucciones quedebe ser la computadora
Compilar : Reunir en una misma obra partes o extractos procedentes de otros varios libros o
documentos
5. 5[Fecha]
Habitualmentelacreacióndeunprograma ejecutable (untípico.exepara MicrosoftWindowsoDOS)
conllevadospasos. El primerpasose llamacompilación(propiamentedicho)ytraduceelcódigofuente
escritoen un lenguajedeprogramación almacenadoenunarchivodetexto a códigoenbajonivel
(normalmenteencódigoobjeto,nodirectamentealenguajemáquina).Elsegundopasose
llama enlazado enelcualseenlaza el códigodebajonivelgeneradodetodos los ficherosy
subprogramasquesehanmandadocompilary se añadeelcódigodelas funcionesquehayenlas
bibliotecasdelcompiladorparaqueelejecutablepuedacomunicarsedirectamenteconelsistema
operativo, traduciendoasífinalmenteel códigoobjeto acódigomáquina,ygenerandounmódulo
ejecutable.
Estos dos pasos se puedenhacerporseparado,almacenandoelresultadodelafase de compilaciónen
archivosobjetos(un típico.objparaMicrosoftWindows,DOSo para Unix);para enlazarlosen fases
posteriores,o creardirectamenteelejecutable;conloquela fase de compilaciónsealmacenasólo
temporalmente.Unprogramapodríatenerpartes escritasenvarios lenguajes,por
ejemplo,Java,C, C++ y ensamblador,quesepodríancompilardeformaindependienteyluegoenlazar
juntaspara formarun únicomódulo ejecutable.
CONCLUSIÓN
En conclusión laprogramaciónesun procesopor el cualse escribese prueba,se depura se mantieneel
código fuente de un programa informático, también se podría decir que es un gran mecanismo para
desarrollarelpensamientocomputacional.Esun conjuntoinfinitodeinstruccionesopasosquesirven para
resolver unproblemayutilizamosalgoritmosparacualquieractividaddenuestravidacotidiana,porejemplo
al realizar una receta entre otras cosas. Son herramientas que nos permiten crear programas ysoftware,
los lenguajes de programación se conocen como lenguaje máquina además los lenguajes son
independientes de las computadoras a utilizar y algunos lenguajes utilizan compiladores. Se caracteriza
por definido, finito, por tener cero o más entradas, por tener una o más salidas yser efectiva.
Los lenguajes de programación están divididos por tipos; un compilador es un programa que permite
traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel intermedio
Elfin últimodelaprogramaciónescrearprogramasosoftware,queluegoseráejecutadoporotroprograma
o directamente por el hardware de la computadora. La programación es una parte del ciclo de vida del
software; los modelos de análisis y desarrollo general de software son estudiados por la ingeniería del
software.
Garcia Dipas Zarela Fara de la carrera de ing. De sistemas informática y computación quien hace
presente el ensayo del tema de las características que debe portar para Programación,
asesorado por DAVID AURIS VILLEGAS Magister por la ciudad de la Habana-Cuba