PDF de programación - Introducción a la programación con Python

Introducción a la programación con Pythongráfica de visualizaciones

Publicado el 15 de Enero del 2017
2.883 visualizaciones desde el 15 de Enero del 2017
7,4 MB
434 paginas
Creado hace 14a (22/10/2009)
ntroducción
a la programación
con Python

Andrés Marzal
sabel Gracia

Departamento De lenguajes y sistemas informáticos

Codis d’assignatura 04 i G04



Andrés Marzal/sabel Gracia - SBN: 978-84-692-5869-9



ntroducción a la programación con Python - UJ

Introducción a la programación

con Python

Andrés Marzal

Isabel Gracia

Departamento de Lenguajes y Sistemas Informáticos

Universitat Jaume I

Edita: Publicacions de la Universitat Jaume I. Servei de Comunicació i Publicacions
Campus del Riu Sec. Edifici Rectorat i Serveis Centrals. 12071 Castelló de la Plana
http://www.tenda.uji.es

e-mail: [email protected]

Col·lecció Sapientia, 23
www.sapientia.uji.es

ISBN: 978-84-692-5869-9


Aquest text està subjecte a una llicència Reconeixement-NoComercial-CompartirIgual de
Creative Commons, que permet copiar, distribuir i comunicar públicament l’obra sempre
que especifique l’autor i el nom de la publicació i sense objectius comercials, i també per-
met crear obres derivades, sempre que siguen distribuïdes amb aquesta mateixa llicència.
http://creativecommons.org/licenses/by-nc-sa/2.5/es/deed.ca

Andrés Marzal/Isabel Gracia - ISBN: 978-84-692-5869-9

II

Introducción a la programación con Python - UJI

Prefacio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

Andrés Marzal/sabel Gracia - SBN: 978-84-692-5869-9



ntroducción a la programación con Python - UJ

Andrés Marzal/sabel Gracia - SBN: 978-84-692-5869-9

V

ntroducción a la programación con Python - UJ

Andrés Marzal/sabel Gracia - SBN: 978-84-692-5869-9

V

ntroducción a la programación con Python - UJ

Andrés Marzal/sabel Gracia - SBN: 978-84-692-5869-9

V

ntroducción a la programación con Python - UJ

Prefacio

Andrés Marzal/sabel Gracia - SBN: 978-84-692-5869-9

1

ntroducción a la programación con Python - UJ

˂˂IntroducciónalaprogramaciónconPython˃˃e ˂˂IntroducciónalaprogramaciónconC˃˃
desarrollaneltemariodelaasignatura ˂˂Metodologíaytecnologíadelaprogramación˃˃de
lastitulacionesdeIngenieríaInformáticaeIngenieríaTécnicaenInformáticadeGestión
delaUniversitatJaumeI.Enellasepretendeenseñaraprogramary,adiferenciadelo
queesusualencursosintroductoriosalaprogramación,seproponeelaprendizajecon
doslenguajesdeprogramación:PythonyC.
¿Porquédoslenguajesdeprogramación?PythonyCsonbiendiferentes.Elprimero
esunlenguajedemuyaltonivelquepermiteexpresaralgoritmosdeformacasidirecta
(hallegadoaconsiderarse ˂˂pseudocódigoejecutable˃˃)yhemoscomprobadoquesetrata
de un lenguaje particularmente adecuado para la enseñanza de la programación. Esta
impresiónsevecorroboradaporlaadopcióndePythoncomolenguajeintroductorioen
otrasuniversidades.EllenguajeCexigeunagranatenciónamultituddedetallesque
dificultanlaimplementacióndealgoritmosaunestudiantequeseenfrentaporprimera
vezaldesarrollodeprogramas.Noobstante,Csiguesiendounlenguajedeprogramación
dereferenciaydebeformarpartedelcurrículumdetodoinformático:suproximidadal
computadornospermitecontrolarcongranprecisiónelconsumoderecursoscomputacio-
nales.AprenderPythonantesqueCpermiteestudiarlasestructurasdecontrolydedatos
básicasconunaltoniveldeabstraccióny,así,entendermejorquésupone,exactamente,
la mayor complejidad de la programación en C y hasta qué punto es mayor el grado
decontrolquenosotorga.Porejemplo,unavezsehanestudiadolistasenPython,su
implementaciónenCpermitealestudiantenoperderdevistaelobjetivoúltimo:cons-
truirunaentidadconciertoniveldeabstracciónusandounasherramientasconcretas(los
punteros).Deesemodoseevitaunadesafortunadaconfusiónentreestructurasdinámicas
ypunterosqueesfrecuentecuandoéstasseestudianúnicamentealaluzdeunlenguaje
comoC.Enciertomodo,pues,PythonyCsecomplementanenelaprendizajeyofrecen
unavisiónmásricaycompletadelaprogramación.Lassimilitudesydiferenciasentre
ambospermitenalestudianteinferirmásfácilmentequéesfundamentalyquéaccesorio
oaccidentalaldiseñarprogramasenunlenguajedeprogramacióncualquiera.
¿Yporquéotrolibrodetextointroductorioalaprogramación?Ciertamentehaymuchos
libros que enseñan a programar desde cero. Creemos que estos dos libros de texto se
diferenciadeellostantoenelhechodeestudiarsecuencialmentedoslenguajescomoen
laformaenqueseexponenydesarrollanlosconocimientos.Hemosprocuradoadoptar
siempre el punto de vista del estudiante y presentar los conceptos y estrategias para
diseñarprogramasbásicospasoapaso,incrementalmente.Laexperienciadocentenosha
idomostrandotodaunaserielíneasderazonamientoinapropiadas,erroresyviciosen
losquecaenmuchosestudiantes.Eltextotratadeexponer,conmayoromenorfortuna,
esosrazonamientos,erroresyviciosparaqueelestudiantelostengapresentesyprocure
evitarlos.Así,eneldesarrollodealgunosprogramasllegamosaofrecerversioneserróneas
para, acto seguido, estudiar sus defectos y mostrar una versión corregida. Los apuntes
estánrepletosdecuadrosquepretendenprofundizarenaspectosmarginales,llamarla
atención sobre algún extremo, ofrecer algunas pinceladas de historia o, sencillamente,
desviarsedelosustancialconalgunadigresiónquepodríaresultarmotivadoraparael

1

estudiante.
Hemosderecalcarqueestelibropretendeenseñaraprogramarynoesunmanual
exhaustivo sobre el lenguaje de programación Python. Son particularmente reseñables
dos omisiones: los diccionarios y las clases. No forman parte de esta edición (aunque
posiblementeseincluiránenotraposterior)porquehemospreferidocentrarnosenaquellos
aspectosquetantoPythoncomoCpresentanencomún.Laorientaciónaobjetossepuede
tratar a partir del material expuesto en estos volúmenes, pero hubiera resultado difícil
incluirestoscontenidosenelvolumendePythonynopodertratarlosadecuadamenteen
elvolumendedicadoaC.
Queremosaprovecharparadarunconsejoalosestudiantesquenonoscansamosde
repetir:esimposibleaprenderaprogramarlimitándosealeerunosapuntesoaseguir
pasivamenteunaexplicaciónenclase(especialmentesielperíododeestudioseconcen-
tra en una o dos semanas). Programar al nivel propio de un curso introductorio no es
particularmentedifícil,peroconstituyeunaactividadintelectualradicalmentenuevapara
losestudiantes.Esnecesariodarseunaoportunidadparairasentandolosconocimien-
tosylasestrategiasdediseñodeprogramas(yasí,superarelcurso).Esaoportunidad
requieretiempoparamadurar... ytrabajo,muchotrabajo;poresoeltextoofrecemásde
cuatrocientosochentaejercicios.Sólotrashaberseenfrentadoabuenapartedeellosse
estarápreparadoparademostrarquesehaaprendidolonecesario.
Hay centenares de diferencias entre las dos primeras ediciones (publicadas como
apuntesenlaUniversidadJaumeIyenformatoelectrónicoenInternet)yésta.Nosólo
hemoscorregidoerratas(yerrores),hemosañadidotambiénnuevosejemplos,modificado
otros, preparado nuevos ejercicios, reubicado ejercicios para que aparezcan en lugares
quehemosjuzgadomásapropiados,etc.Losprogramassepresentanconunatipografía
que, creemos,
facilita notablemente la lectura. El documento PDF ofrece, además, la
posibilidaddedescargarcómodamenteeltextodelosprogramas(quesepuedendescargar
de http://ocw.uji.es).Esperamosqueestaposibilidadsetraduzcaenunmayoránimo
delestudianteparaexperimentarconlosprogramas.
Conveniostipográficos
Hemos tratado de seguir una serie de convenios tipográficos a lo largo del texto. Los
programas,porejemplo,semuestranconfondogris,así:
1 print ’!Hola,␣mundo!’
Porreglageneral,laslíneasdelprogramaaparecennumeradasamanoizquierda.Esta
numeracióntieneporobjetofacilitarlareferenciaapuntosconcretosdelprogramayno
debereproducirseenelficherodetextosisecopiaelprograma.
Cuandosequieredestacarelnombredelficheroenelqueresideunprograma,se
disponeesteenunabarraencimadelcódigo:
1 print ’!Hola,␣mundo!’
SisetrabajaconlaversiónelectrónicadellibroenformatoPDF(disponibleenla
páginaweb http://ocw.uji.es)esposibleaccedercómodamentealtextodelospro-
gramas.Paraello,bastacondesempaquetarelfichero programas.tgz(o programas.zip)
enelmismodirectorioenelqueestéubicadoeldocumentoPDF.Losprogramasaccesibles
tienenuniconoquerepresentaundocumentoescritoenlaesquinasuperiorizquierda.
Juntoaliconoapareceelnombrerealdelfichero:comoofrecemosvariasversionesdeun
mismoprograma,noshemosvistoobligadosaseguirunesquemadenumeraciónquemodi-
ficaelpropionombredelfichero.Laprimeraversióndeunficherollamado hola mundo.py
es hola mundo 1.py,lasegunda hola mundo 2.py,yasísucesivamente.
IntroducciónalaprogramaciónconPython

Andrés Marzal/sabel Gracia - SBN: 978-84-692-5869-9

hola mundo.py

2

2

ntroducción a la programación con Python - UJ

cUJI

hola mundo 1.py

hola mundo.py

!Hola, mundo!

hola mundo.py

hola mundo.py

E hola mundo.py E

$ python hola_mundo.py ↱
!Hola, mundo!

1 print ’!Hola,’, ’mundo!’
Si,aunquehayavariasversiones,noapareceunnúmeroalfinaldelnombredelfichero
descargable,seentiendequeesaeslaversióndefinitiva.
1 print ’!Hola,␣mundo!’
Alpincharenelicono,seabreunficherodetextoconelnavegadorweboeditordetextos
queseindiqueenlaspreferenciasdelvisualizadordedocumentosPDF.
Cuandoelprogramacontienealgúnerrorgrave,aparecenunparderayosflanqueando
alnombredelprograma:
1 rint ’!Hola,␣mundo!’
Algunos programas no están completos y, por ello, presentan alguna deficiencia. No
obstante,hemosoptadopornomarcarloscomoerróneoscuandoéstosevolucionabanen
elcursodelaexposición.
Lainformaciónquesemuestraporpantallaaparecesiemprerecuadrada.Elresultado
deejecutar hola mundo.pysemostraráasí:
En ocasiones mostraremos las órdenes que deben ejecutarse en un intérprete de
órdenesUnix.Elpromptdelintérpreteserepresentaráconunsímbolodedólar:
Lapartequedebeteclearelusuariooelprogramadorsemuestrasiempreconunfondo
gris.Elretornodecarroserepresentaexplícitamenteconelsímbolo ↱.
LassesionesinteractivasdelintérpretedePythontambiénsemuestranrecuadradas.
El prompt primario del intérprete Python se muestra con los caracteres ˂˂>>>˃˃ y el
secundariocon ˂˂...˃˃.Lasexpresionesysentenciasquetecleaelprogramadorsedestacan
confondogris.
>>> if ’Hola’ == ’mundo’: ↱
print ’si’ ↱
... e
  • Links de descarga
http://lwp-l.com/pdf1911

Comentarios de: Introducción a la programación con Python (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad