Sei sulla pagina 1di 9

TICII 1.

Fundamentosdeprogramacin

1.Fundamentosdeprogramacin

1.Laprogramacin
Si nos fijamos en la segunda
acepcindeldiccionariosobreel
significado de programar, vemos
que se refiere a una tcnica de
ordenacin de las acciones que
hayquerealizarparallevarade
lantecualquiertipodeproyecto.

Laprogramacin,genricamente,tieneusoenprcticamentetodaslasdisciplinas.Eneducacin,
porejemplo,esprecisoprogramaruncursoantesdellevarloacabo.Esdecir,hayquedecidirqu
contenidossevanaimpartiryenquorden,qumediosdeevaluacinsevanautilizar,qucrite
riosdecalificacinsevanautilizar,etc.

Porello,independientementedequehablemosdeprogramacininformticaono,nosvamosa
quedarconlaideadequelaprogramacinesunmtodoparaorganizarideas.

2.Algoritmos
Sedefineporalgoritmoalconjuntoordenadoylimitadodeinstruccionesqueresuelvenunproble
maotipodeproblema.

Ejemplo.Algoritmodelasuma
Tomarlacifrasqueseencuentrenmsaladerechadetodoslossumandos
Mientras(hayacifras):
Sumarlascifrasquesehantomado
Elresultadoesmenorde10?
S:
Escribirelresultadobajolascifrassumadas
No:
Escribirlaunidaddelresultadobajolascifrassumadas
Escribirladecenadelresultadosobrelascifrasqueseencuentranalaizquierdadelassumadas
Tomarlascifrasqueseencuentrenalaizquierdadelassumadas
Finmientras

Laalgoritmiaformapartedellgebramatemticoyestamosacostumbradosautilizarlaconbas
tanteasiduidad.

Esta obra est protegida por Octavio M. Ruiz Garca mediante Licencia Creative Commons Atribucin-CompartirIgual 4.0 Internacional
Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/4.0/deed.es_CO
1
TICII 1.Fundamentosdeprogramacin

3.Pseudocdigo
Unadelasformasmshabitualesdeescribiralgoritmoseslautilizacindepseudocdigos.

Elpseudocdigoesunaformadeescribirlasinstruccionesempleandounlenguajecercanoano
sotrosporloqueresultamuyfcildeentender.Peseaello,debenseguirseciertasreglasparaque
elpseudocdigopuedaserentendidosinsubjetividadesporcualquierpersona.

Estasreglaslasiremosviendosegnlasnecesitemosduranteelcurso.Demomento,solovamosa
verlasiguientes:

Debeiniciarseconlainstruccin:Inicioseguidadelnombredelalgoritmo.Elnombredel
algoritmoloeligeelprogramadorolevendrdadoporlasinstruccionesquerecibapor
partedequienleasigneeltrabajo

Debefinalizarseconlainstruccin:Finseguidadelnombredelalgoritmo

Lasinstruccionesseescribendeformaordenada

Ejemplo.Pseudocdigodelalgoritmodelasuma
Iniciosuma
Tomarlacifrasqueseencuentrenmsaladerechadetodoslossumandos
Mientras(hayacifras):
Sumarlascifrasquesehantomado
Elresultadoesmenorde10?
S:
Escribirelresultadobajolascifrassumadas
No:
Escribirlaunidaddelresultadobajolascifrassumadas
Escribirladecenadelresultadosobrelascifrasqueseencuentranalaizquierdadelassumadas
Tomarlascifrasqueseencuentrenalaizquierdadelassumadas
Finmientras
Finsuma

4.Diagramasdeflujo
Unatcnicagrficaderepresentarprogramaseslautilizacindediagramasdeflujooflujogramas
flowchart.Estosdiagramassecomponendeunaseriedesmbolos,conindicacionesensuinte
rior,interconectadosmedianteflechasqueindicanelcaminodelprograma.

Algunosdelossmbolosson:

Indicaelinicioofinaldelalgoritmo
Terminal
Simbolizalasaccionesarealizarporpartedelequipoprogramado.
Proceso

Esta obra est protegida por Octavio M. Ruiz Garca mediante Licencia Creative Commons Atribucin-CompartirIgual 4.0 Internacional
Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/4.0/deed.es_CO
2
TICII 1.Fundamentosdeprogramacin

Representalaentradadedatosdesdeelexterioralequipoprogramadoola
Entrada salida
Salida

Se utiliza cuando es necesario tomar decisiones que impliquen la


realizacindediferentesinstrucciones
Decisin

Representan el principio y el final de un bucle. Dentro de un bucle se


Inicio de
encuentranlas instruccionesque debenrepetirse mientrasse d alguna
bucle condicin

Fin de
bucle
Losconectoresseutilizanparaunirpartesdelprogramaquenoquepanen
la pgina en la que se est realizando la representacin del algoritmo.
Conector Dentro del conector se suele indicar una letra mayscula que debe
coincidirenlasdospartesqueestnunidas.

5.Subprogramas
Unadelasaccionesmstilesquehayquereali
zaralahoradedisearcualquiertipodeprogra
maesladesubdividirelproblemaenproblemas
ms sencillos, de forma que pueda resolverse
comounasucesindepequeosproblemas.

Paraello,serealizaelpseudocdigodecadauno
delossubprogramasy,desdeelprogramaprinci
pal,sevallamandoacadaunodelossubprogra
mas.Unsubprogramapuedecontener,asuvez,
llamadasaotrossubprogramas.

Las llamadas a subprogramas se simbolizan en


flujogramasmedianteelsmbolosiguiente:

Subprograma

6.Variables
Esbastantehabitualquenecesitemosqueelpro
gramaguardeciertainformacindurantesueje
cucin.Paraelloseutilizanlasvariables.
Ejemplo.Flujogramadelalgoritmodelasuma
Existen diferentes tipos de variables en funcin

Esta obra est protegida por Octavio M. Ruiz Garca mediante Licencia Creative Commons Atribucin-CompartirIgual 4.0 Internacional
Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/4.0/deed.es_CO
3
TICII 1.Fundamentosdeprogramacin

deltipodeinformacinquesenecesiteconservar(variablesdetexto,denmerosenteros,den
merosbinarios,denmerosencomaflotante,vectores,etc).

Laasignacindelvaloralavariablesesuelerealizarenpseudocdigoutilizandoelsmboloigualy
esposibleoperarconellas.

Ejemplo.Algoritmoquesumalosnmerosdel1al9

Iniciosuma1.9
i=1,r=0
Mientras(i<10):
r=r+i
i=i+1
Finmientras
Muestraenpantallaelvalorder
Finsuma1.9

Lossubprogramaspuedenrecibirdatosenvariablesyenviarresultadosparaqueseanutilizados
enotraspartesdeunprograma.

Enpseudocdigo,sevaautilizarunparntesisenelqueseindicalasvariablesquerecibeelsub
programa,ascomoelordenenelquelasrecibe.

Paraindicarelenvodelresultadovamosautilizarlainstruccindevuelve.

Ejemplo:subprogramaquecalculaelreadeunrectngulo

InicioareaRect(a,b)
r=a*b
Devuelver
FinareaRect

Noesnecesarioqueelprogramayelsubprogramautilicenelmismonombredevariables,yaque
estosfuncionanindependientemente.

Esta obra est protegida por Octavio M. Ruiz Garca mediante Licencia Creative Commons Atribucin-CompartirIgual 4.0 Internacional
Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/4.0/deed.es_CO
4
TICII 1.Fundamentosdeprogramacin

Ejemplo:subprogramaquecalculaelreadeuntringulo
apartirdelsubprogramaanterior

InicioareaTriang(a,b)
a=areaRect(a,b)
r=a/2
Devuelvea
FinareaTriang

Vamosautilizarlosprogramasanterioresparaintentarentendercmoseutilizanlasvariables.
Imaginemosquellamamosdesdeunprogramaconlainstruccinarea=areaTriang(3,4).

ElsubprogramaareaTriangvaameterelnmero3dentrodesuvariableayelnmero4dentro
deb.Despus,vaallamaraareaRectutilizandoestasdosvariables(a=areaRect(a,b)).

ElsubprogramaareaRectrecibeloqueareaTriangtenaen a deareaTriang ylometeen a de


areaRect.Delmismomodo,recibeloqueareaTriangtenaensu b ylometeenlasuya(daos
cuentadequeaunquelasvariablestenganelmismonombre,alestarendistintosubprograma,se
guardanendistintossitiosdelamemoriadelordenador).

Acto seguido, areaRect introduce en su variable r el resultado de multiplicar sus a y b


(r=a*b=3*4=12)ydevuelveestevaloraquienlehizolallamada(enestecasoareaTriang).

areaTriangintroduceensuvariableaelresultadoobtenidoalllamaraareaRect(machacandoel
valorquetenaanteriormente,porloqueapasadevaler3avaler12),einmediatamente,divideel
valorquehabaen a entredosguardndoloen r (r=a/2=12/2=6).Porltimo,devuelveelresul
tadoaquienlehizolallamada.

7.Programacinestructurada
Desdefinalesdelosaos1970,surgeunaformadeprogramarquedabalugaraprogramasfia
blesyeficientes,yquesehamantenidohastalaactualidad.

Laprogramacinestructuradatieneunaseriedereglassencillasydividelaprogramacinenuna
seriedebloquesoestructurasdeprogramacinqueserepitenycombinanparaformarcualquier
tipodeprograma.

Deestaforma,paraprogramarsolovamosautilizartrestiposdeestructurasdeinstrucciones:

Secuencia:instruccionessucesivas(unadetrsdeotra)
Seleccin: se establecen instrucciones que se ejecutan cuando se cumple (o no) una
determinadacondicin
Iteracin:conjuntodeinstruccionesqueserepitenmientrassecumplaunadeterminada
condicin

Esta obra est protegida por Octavio M. Ruiz Garca mediante Licencia Creative Commons Atribucin-CompartirIgual 4.0 Internacional
Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/4.0/deed.es_CO
5
TICII 1.Fundamentosdeprogramacin

7.1.Tiposdeestructurasdecontrol

Estructurasecuencial
Secuencia Conjunto de instrucciones que se
ejecutansecuencialmente(unadetrs
deotra)

Estructurasdeseleccin
Seleccin Haydosconjuntosdeinstruccionesa
simple seguir en funcin del valor de una
solucinaunadecisindetipos/no

Seleccin Existen diferentes conjuntos de


mltiple instruccionesaseguirenfuncinde
la respuesta a una decisin que
puedetenermltiplessoluciones

Esta obra est protegida por Octavio M. Ruiz Garca mediante Licencia Creative Commons Atribucin-CompartirIgual 4.0 Internacional
Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/4.0/deed.es_CO
6
TICII 1.Fundamentosdeprogramacin

Estructurasiterativas
Iteracintipo Se da un nmero de vueltas
ForNext concretas a un conjunto de
instrucciones utilizando un contador
yunacondicinparavolverarepetir.
En cada vuelta se actualiza el valor
delcontador.

Enelejemplo
se le otorga valor cero a la
variablei(contador)
las instrucciones se repiten
mientrasivalgamenosde10
en cada vuelta i aumenta su
valor sumndole 1 al valor

anterior

Iteracintipo Se da un nmero de vueltas a un


While conjuntodeinstruccionesmientrasse
cumplaunadeterminadacondicin

teracin tipo Se da una primera vuelta a un


DoWhile conjuntodeinstruccionesyserepite
mientrassecumplaunadeterminada
condicin

Losprogramassecomponendeunacombinacindelasestructurasanteriores.Lasestructuras
sepuedenencontrarunadetrsdeotraounadentrodeotra,formandotodotipodecombinacio
nes.

Esta obra est protegida por Octavio M. Ruiz Garca mediante Licencia Creative Commons Atribucin-CompartirIgual 4.0 Internacional
Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/4.0/deed.es_CO
7
TICII 1.Fundamentosdeprogramacin

8.Programacinorientadaaobjetos(POO)
Desdemediadosdelosaos1980comienzaunanuevaformadeprogramarquesemantiene
hastahoyenda.Enesta,seconsideraobjetoaloquesequiereprogramarytieneunenfoque
bastantemscercanoanuestroentendimientoquelosmtodosanteriores.

Laprogramacinorientadaaobjetostiene,adems,supropianormagrficapararepresentarlos
programasensuconjunto,llamadaUML(UnifiedModelingLanguage).

8.1.ConceptosdelaPOO
Clase
Unaclasecontienelaspropiedadesyelcomportamientodeuntipodeobjetoconcreto.Lasclases
tienenlosatributos(variables)quedebenecesitaelobjetoylosmtodosquedichoobjetopuede
realizar(enPOO,hablardeprocedimientoesequivalenteahablardesubprograma).

Losprogramassecomponendeunconjuntodeclases.

Tanto las variables como los procedimientos pueden ser


pblicos(accesiblesdesdecualquierpartedelprograma)o
privados (solo accesibles desde un procedimiento de la
mismaclase).Existenotrotipodeprocedimientos,perono
losvamosautilizar,demomento,enestecurso.

Unejemplodeclasepodraserlaclaseaula.Estaclase
RepresentacinUMLdeunaclase
podra tener una serie de atributos como, por ejemplo:
nmerodemesas,nmerodesillas,nmerodeventanas,sitieneonoproyector,siestlaluz
encendidaoapagada,siestlacalefaccinencendidaoapagada,etc.Comomtodos,podramos
tenerenciendeluz,apagaluz,nombredelalumnox,etc.

Objeto
Losobjetossecreanapartirdelasclasesysepuedetrabajarconellos.Unejemplo,seraaulade
4A.Elobjetoaulade4Aperteneceraalaclaseaula.Todoloprogramadosobrelaclase
aulalotieneelobjetoaulade4Aypuedeutilizarseparacrearcualquierotroobjeto(enPOO,
sedenominainstanciarunobjetodelaclasex).Deestaforma,silaclaseestbienprogramada,
podramosinstanciarotrasaulas,comoaulade2B,aulade3A,cadaunaconsupropio
valordentrodelosatributos(aulade2Bpodratenernmerodemesasconvalor30yaula
de4Aconvalor28,yaquecadaobjetopuedetenersuspropiosvalores).

Unobjetopuedeserunatributodeotraclase.Porejemplo,laclaseinstituto,podratenerun
vectordeobjetosaulas(unvectoresunconjunto).

Herencia
UnadelascaractersticasmstilesdelaPOOeselconceptode herencia.Unaclasepuede
heredardeotra,deformaquetienelosatributosymtodosdelaclasedelaquepartesinnecesi
daddeserprogramados.

Esta obra est protegida por Octavio M. Ruiz Garca mediante Licencia Creative Commons Atribucin-CompartirIgual 4.0 Internacional
Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/4.0/deed.es_CO
8
TICII 1.Fundamentosdeprogramacin

Por ejemplo, la clase aula de informtica puede heredar de la clase


aula.Deestaforma,noesnecesariovolveraprogramarlosmtodosy
atributosqueyaestnenlaclaseaula,sinosololosespecficosdela
claseauladeinformtica(nmerodeordenadores,porejemplo).

As,cuandosecreeunobjetodelaclaseauladeinformtica(porejem
plo,auladeinformtica2)esteobjetoincluirtodoloquesehaprogra
madodentrodeaulayloquesehaprogramadodentrodeaulade
informtica.

EnUMLserepresentalaherenciacomounaflechadesdelaclaseque
heredahastalaclasedelaqueparte(superclaseopadre).

Atributos
Eselconjuntodevariablesquecontieneunaclase.EnUMLserepre RepresentacinUMLdeuna
herencia
sentacomounalistabajoelnombredelaclase.

Mtodos
Conjuntodesubprogramasquecontieneunaclase.EnUMLserepresentacomounalistabajolos
atributos.

Evento
Sedenominaeventoaunaaccinquepuedeejercitarsesobreunaclaseyqueimplicaqueseeje
cuteunmtododelamisma.Laseventosmstpicospuedenserquesepulseunateclaconcreta
delteclado,quesehagaclickenelratn,queuntemporizadorllegueaundeterminadovalor
(porejemplo,quehayapasadountiempodesdequeseinstancilaclase),etc.

8.2.VentajasdelaPOO
LaprincipalventajadelaPOOesqueseprogramaporbloquesindependientes.Unprogramaes
unconjuntodeclasesquepuedenseranalizadasyreprogramadasindependientementealresto
delprograma.Porello,esmuytilcuandosetienenequiposdepersonasprogramando.

Porotrolado,alpoderutilizarlaherencia,sefacilitaenormementelalabordeprogramacinsise
hahechounbuenanlisispreviodelprograma.

Esta obra est protegida por Octavio M. Ruiz Garca mediante Licencia Creative Commons Atribucin-CompartirIgual 4.0 Internacional
Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/4.0/deed.es_CO
9

Potrebbero piacerti anche