Está en la página 1de 158

Universidad Tecnológica Nacional

Facultad Regional Córdoba
Juan F. Weber
Fundamentos de 
Informática
Año 2009
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
lndice
Unidad 1:lntroduccion a la Computacion.............................6
1.1Historia de la computacion..........................................................6
1.1.1Prímera Generacíón..............................................................................7
1.1.2Segunda Generacíón............................................................................8
1.1.3Tercera generacíón............................................................................10
1.1.4Cuarta Generacíón.............................................................................11
1.1.5Ouínta Generacíón.............................................................................12
1.2Estructura de una computadora.................................................12
1.2.1Arquítectura (eíementos básícos) de una computadora.....................12
1.2.2Funcíonamíento..................................................................................14
1.2.3Fíu|o de datos.....................................................................................15
1.2.4Períférícos y dísposítívos auxíííares....................................................15
1.2.4.1Monítor........................................................................................15
1.2.4.2Tecíado.......................................................................................16
1.2.4.3Mouse (ratón)..............................................................................16
1.2.4.4Impresora....................................................................................16
1.2.4.5Escáner.......................................................................................17
1.3Sistemas operativos.................................................................17
1.3.1Introduccíón.......................................................................................17
1.3.2¿ Oué es un Sístema Operatívo ?........................................................17
1.3.3Interfaz de Línea de Comandos..........................................................18
1.3.4Interfaz Gráfíca deí Usuarío................................................................18
1.3.5Funcíones de íos Sístemas Operatívos...............................................18
1.3.6Dístíntos Sístemas Operatívos............................................................19
1.3.6.1ía famííía Mícrosoft Wíndows.......................................................19
1.3.6.2ía famííía GNU/Línux....................................................................21
1.3.6.3Dístríbucíones Línux....................................................................22
1.4Suites ofimáticas......................................................................23
1.4.1La suíte Mícrosoft Offíce.....................................................................24
1.4.1.1Word...........................................................................................24
1.4.1.2Exceí...........................................................................................25
juan I. Weber 1
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
1.4.1.3PowerPoínt..................................................................................25
1.4.2La suíte OpenOffíce............................................................................25
1.4.2.1Wríter..........................................................................................26
1.4.2.2Caíc ............................................................................................26
1.4.2.3Impress.......................................................................................27
1.4.2.4Math............................................................................................27
1.5Lenguajes de programacion......................................................27
1.5.1Cíasífícacíón de íos íengua|es de programacíón.................................28
1.5.1.1Lengua|es de ba|o níveí...............................................................28
1.5.1.2Lengua|es de medío níveí............................................................28
1.5.1.3Lengua|es de aíto níveí...............................................................28
1.5.1.4Lengua|es compííados.................................................................28
1.5.1.5Lengua|es ínterpretados..............................................................29
1.5.2E|empíos de íengua|es de programacíón............................................29
1.6Bibliografia...............................................................................30
Unidad 2:lntroduccion a la Programacion - parte l.............31
2.1El lenguaje de programacion GNUOctave...................................31
2.2lntroduccion al uso de GNUOctave.............................................33
2.2.1Entorno ínteractívo de traba|o............................................................33
2.2.2Constantes y varíabíes.......................................................................35
2.2.3Operacíones arítmétícas....................................................................36
2.2.4Operadores reíacíonaíes.....................................................................37
2.2.5Operadores íógícos.............................................................................38
2.2.6Archívos *.m.......................................................................................39
2.2.6.1Comentaríos................................................................................41
2.3Entrada y salida de informacion.................................................41
2.3.1La funcíón INPUT................................................................................41
2.3.2La funcíón DISP..................................................................................43
2.3.3Eí comando FORMAT..........................................................................43
2.3.4La funcíón PRINTF..............................................................................44
2.3.5Apíícacíón: anáíísís de estructuras.....................................................45
2.3.5.1Soíucíón......................................................................................46
2.3.6E|ercícíos............................................................................................46
2 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
2.4lntroduccion a la programacion estructurada.............................48
2.4.1Estructuras de decísíón......................................................................48
2.4.1.1Estructura de decísíón símpíe IF..................................................49
2.4.1.2La estructura de decísíón dobíe IF ... ELSE ... ENDIF....................49
2.4.1.3La estructura de decísíón múítípíe SWITCH.................................52
2.4.1.4La funcíón MENU.........................................................................53
2.4.2Estructuras de repetícíón...................................................................54
2.4.2.1La estructura WHILE....................................................................54
2.4.2.2La estructura DO...UNTIL.............................................................55
2.4.2.3La estructura FOR.......................................................................57
2.4.3Apíícacíones.......................................................................................59
2.4.3.1Apíícacíón 1: Ordenamíento terrítoríaí.........................................59
2.4.3.2Apíícacíón 2: puentes..................................................................60
2.4.4Comentaríos fínaíes............................................................................61
2.4.5E|ercícíos............................................................................................61
2.5Bibliografia...............................................................................65
Unidad 3:lntroduccion a la Programacion - parte ll............66
3.1Funciones.................................................................................66
3.1.1Funcíones de bíbííoteca......................................................................66
3.1.2Funcíones defínídas por eí usuarío.....................................................68
3.1.3Apíícacíón: un e|empío de programacíón paso a paso........................68
3.1.4E|ercícíos............................................................................................72
3.2Arreglos...................................................................................74
3.2.1Vectores.............................................................................................74
3.2.2Matríces.............................................................................................75
3.2.3Operacíones matemátícas..................................................................76
3.2.4Funcíones que actúan sobre arregíos.................................................79
3.2.5Operador dos puntos (:).....................................................................83
3.2.6Apíícacíones.......................................................................................85
3.2.6.1Apíícacíón 1: dívísíón de poíínomíos............................................85
3.2.6.2Apíícacíón 2: Hídroíogía...............................................................86
3.2.6.3Apíícacíón 3: Imágenes sateíítaíes..............................................87
3.2.7E|ercícíos............................................................................................89
juan I. Weber 3
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
3.3Lectura y escritura de archivos..................................................92
3.3.1Lectura/escrítura estíío Octave ..........................................................92
3.3.1.1Funcíón save...............................................................................92
3.3.1.2Funcíón íoad................................................................................93
3.3.2Lectura/escrítura estíío C...................................................................94
3.3.2.1Funcíón FOPEN............................................................................94
3.3.2.2Funcíón FPRINTF..........................................................................95
3.3.2.3Funcíón FSCANF..........................................................................95
3.3.2.4Funcíón FCLOSE..........................................................................95
3.3.3Apíícacíón: estudío de tránsíto...........................................................96
3.3.3.1Soíucíón......................................................................................96
3.3.4E|ercícíos............................................................................................97
3.4Gráficos cientificos...................................................................99
3.4.1Funcíones gráfícas 2D........................................................................99
3.4.1.1 La funcíón píot..........................................................................100
3.4.1.2Estííos de íínea y marcadores en ía funcíón píot........................104
3.4.1.3Añadír ííneas a un gráfíco ya exístente......................................105
3.4.1.4Comando subpíot......................................................................106
3.4.1.5Controí de íos e|es.....................................................................107
3.4.2Funcíones gráfícas 3D......................................................................110
3.4.2.1Díbu|o de ííneas de contorno: funcíón contour()........................112
3.4.2.2Campos vectoríaíes: funcíón quíver...........................................113
3.4.3Apíícacíón: recoíeccíón de resíduos urbanos....................................114
3.4.3.1Soíucíón....................................................................................115
3.4.4E|ercícíos..........................................................................................116
3.5Recomendaciones finales........................................................118
3.6Bibliografia.............................................................................119
Unidad 4:Aplicaciones de la Programacion: introduccion a los
Metodos Numericos.........................................................120
4.1lntroduccion...........................................................................120
4.2Solucion de ecuaciones no lineales..........................................120
4.2.1Método de ía bíseccíón.....................................................................121
4.2.2Método de ía íteracíón de punto fí|o.................................................123
4 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
4.2.3Método de Newton-Raphson.............................................................127
4.2.3.1Condícíón de convergencía.......................................................130
4.2.4E|ercícíos..........................................................................................130
4.3Solucion de sistemas de ecuaciones lineales............................131
4.3.1Método de |acobí..............................................................................132
4.3.1.1Forma matrícíaí.........................................................................133
4.3.1.2Condícíón de convergencía.......................................................134
4.3.1.3E|empío de apíícacíón................................................................134
4.3.2Método de Gauss Seídeí...................................................................136
4.3.2.1E|empío de apíícacíón................................................................137
4.3.3E|ercícíos..........................................................................................139
4.4Derivacion e integracion numericas.........................................140
4.4.1Derívacíón numéríca........................................................................140
4.4.1.1Derívadas de prímer orden........................................................141
4.4.1.2Derívadas de segundo orden.....................................................144
4.4.1.3Derívadas de tercer y cuarto orden...........................................145
4.4.1.4Propíedades generaíes..............................................................146
4.4.1.5E|empíos...................................................................................146
4.4.1.6E|ercícíos...................................................................................147
4.4.2Integracíón numéríca.......................................................................148
4.4.2.1Regía trapezoídaí......................................................................148
4.4.2.2Fórmuía compuesta de ía Regía trapezoídaí..............................150
4.4.2.3Regía de Símpson......................................................................152
4.4.2.4Fórmuía compuesta de ía Regía de Símpson.............................153
4.4.2.5E|empío.....................................................................................154
4.4.2.6E|ercícíos...................................................................................155
4.5Bibliografia.............................................................................156
juan I. Weber 5
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
Unidad 1: lntroduccion a la Computacion
1.1 Historia de la computacion
bho de ìos pJ1meJos d1spos111vos mecáh1cos paJa coh1aJ 1ue eì ábaco,
cuya h1s1oJ1a se Jemoh1a a ìas ah11guas c1v1ì1zac1ohes gJ1ega y Jomaha.
Es1e d1spos111vo es muy sehc1ììo, cohs1a de cueh1as ehsaJ1adas eh vaJ1ììas
que a su vez es1áh moh1adas eh uh maJco Jec1ahguìaJ. Aì despìazaJ ìas
cueh1as sobJe vaJ1ììas, sus pos1c1ohes JepJeseh1ah vaìoJes aìmacehados, y
es med1ah1e d1chas pos1c1ohes que es1e JepJeseh1a y aìmaceha da1os. A es1e
d1spos111vo ho se ìe puede ììamaJ compu1adoJa poJ caJeceJ deì eìemeh1o
1uhdameh1aì ììamado pJogJama.
01Jo de ìos 1hveh1os mecáh1cos 1ue ìa Pascaì1ha 1hveh1ada poJ Bìa1se
Pascaì {1623 - 1662) de FJahc1a y ìa de Co111J1ed W1ìheìm voh Le1bh1z
{1646 - 1716) de Aìemah1a. Coh es1as máqu1has, ìos da1os se JepJeseh1abah
med1ah1e ìas pos1c1ohes de ìos ehgJaha¸es, y ìos da1os se 1h1Joduc1ah
mahuaìmeh1e es1abìec1ehdo d1chas pos1c1ohes 11haìes de ìas Juedas, de
maheJa s1m1ìaJ a como ìeemos ìos húmeJos eh eì cueh1ak1ìóme1Jos de uh
au1omóv1ì.
La pJ1meJa compu1adoJa 1ue ìa máqu1ha ahaì111ca cJeada poJ ChaJìes
Babbage, pJo1esoJ ma1emá11co de ìa bh1veJs1dad de CambJ1dge eh eì s1gìo
XTX. La 1dea que 1uvo ChaJìes Babbage sobJe uha compu1adoJa hac1ó deb1do a
que ìa eìaboJac1óh de ìas 1abìas ma1emá11cas eJa uh pJoceso 1ed1oso y
pJopehso a eJJoJes. Eh 1823 eì gob1eJho BJ11áh1co ìo apoyó paJa cJeaJ eì
pJoyec1o de uha máqu1ha de d11eJehc1as, uh d1spos111vo mecáh1co paJa
e1ec1uaJ sumas Jepe11das.
h1eh1Jas 1ah1o ChaJìes JacquaJd {1Jahcés), 1abJ1cah1e de 1e¸1dos, hab1a
cJeado uh 1eìaJ que pod1a JepJoduc1J au1omá11cameh1e pa1Johes de 1e¸1dos
ìeyehdo ìa 1h1oJmac1óh cod111cada eh pa1Johes de agu¸eJos peJ1oJados eh
1aJ¸e1as de papeì J1g1do. Aì eh1eJaJse de es1e mé1odo Babbage abahdohó ìa
máqu1ha de d11eJehc1as y se ded1có aì pJoyec1o de ìa máqu1ha ahaì111ca que
se pud1eJa pJogJamaJ coh 1aJ¸e1as peJ1oJadas paJa e1ec1uaJ cuaìqu1eJ
cáìcuìo coh uha pJec1s1óh de 20 d1g11os. La 1echoìog1a de ìa época ho
bas1aba paJa haceJ Jeaì1dad sus 1deas.
Eh 1944 se cohs1Juyó eh ìa bh1veJs1dad de haJvaJd, ìa haJk T, d1señada
6 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
poJ uh equ1po ehcabezado poJ howaJd h. A1keh. Es1a máqu1ha ho es1á
cohs1deJada como compu1adoJa eìec1Jóh1ca deb1do a que ho eJa de pJopós11o
geheJaì y su 1uhc1oham1eh1o es1aba basado eh d1spos111vos eìec1Jomecáh1cos
ììamados JeìevadoJes.
Eh 1947 se cohs1Juyó eh ìa bh1veJs1dad de Pehhsyìvah1a ìa EhTAC
{Eìec1Joh1c humeJ1caì Th1egJa1oJ Ahd Caìcuìa1oJ) que 1ue ìa pJ1meJa
compu1adoJa eìec1Jóh1ca, eì equ1po de d1seño ìo ehcabezaJoh ìos 1hgeh1eJos
Johh hauchìy y Johh EckeJ1. Es1a máqu1ha ocupaba 1odo uh só1aho de ìa
bh1veJs1dad, 1eh1a más de 18000 1ubos de vac1o, cohsum1a 200 KW de eheJg1a
eìéc1J1ca y JequeJ1a 1odo uh s1s1ema de a1Je acohd1c1ohado, peJo 1eh1a ìa
capac1dad de Jeaì1zaJ c1hco m1ì opeJac1ohes aJ11mé11cas eh uh seguhdo.
Eì pJoyec1o, ausp1c1ado poJ eì depaJ1ameh1o de 0e1ehsa de ìos Es1ados
bh1dos, cuìm1hó dos años después, cuahdo se 1h1egJó a ese equ1po eì
1hgeh1eJo y ma1emá11co húhgaJo Johh voh heumahh {1903 - 1957). Las 1deas
de voh heumahh Jesuì1aJoh 1ah 1uhdameh1aìes paJa su desaJJoììo pos1eJ1oJ,
que es cohs1deJado eì padJe de ìas compu1adoJas.
La E0vAC {Eìec1Joh1c 01scJe1e vaJ1abìe Au1oma11c Compu1eJ) 1ue d1señada
poJ es1e huevo equ1po. Teh1a apJox1madameh1e cua1Jo m1ì buìbos y usaba uh
11po de memoJ1a basado eh 1ubos ììehos de meJcuJ1o poJ dohde c1Jcuìabah
señaìes eìéc1J1cas su¸e1as a Je1aJdos.
La 1dea 1uhdameh1aì de voh heumahh 1ue. peJm111J que eh ìa memoJ1a
coex1s1ah da1os coh 1hs1Jucc1ohes, paJa que eh1ohces ìa compu1adoJa pueda
seJ pJogJamada eh uh ìehgua¸e, y ho poJ med1o de aìambJes que
eìéc1J1cameh1e 1h1eJcohec1abah vaJ1as secc1ohes de coh1Joì, como eh ìa
EhTAC.
Todo es1e desaJJoììo de ìas compu1adoJas sueìe d1v1saJse poJ
geheJac1ohes y eì cJ11eJ1o que se de1eJm1hó paJa de1eJm1haJ eì camb1o de
geheJac1óh ho es1á muy b1eh de11h1do, peJo Jesuì1a apaJeh1e que debeh
cumpì1Jse aì mehos ìos s1gu1eh1es Jequ1s11os.
La 1oJma eh que es1áh cohs1Ju1das.
FoJma eh que eì seJ humaho se comuh1ca coh eììas.
1.1.1 Prímera Generacíón
Eh es1a geheJac1óh hab1a uha gJah descohoc1m1eh1o de ìas capac1dades de
ìas compu1adoJas, pues1o que se Jeaì1zó uh es1ud1o eh es1a época que
de1eJm1hó que coh ve1h1e compu1adoJas se sa1uJaJ1a eì meJcado de ìos
juan I. Weber 7
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
Es1ados bh1dos eh eì campo de pJocesam1eh1o de da1os.
Es1a geheJac1óh abaJcó ìa década de ìos c1hcueh1a. Y se cohoce como ìa
pJ1meJa geheJac1óh. Es1as máqu1has 1eh1ah ìas s1gu1eh1es caJac1eJ1s11cas.
Es1as máqu1has es1abah cohs1Ju1das poJ med1o de 1ubos de vac1o.
EJah pJogJamadas eh ìehgua¸e de máqu1ha.
Eh es1a geheJac1óh ìas máqu1has soh gJahdes y cos1osas {de uh cos1o
apJox1mado de c1eh1os de m1ìes de dóìaJes).
Eh 1951 apaJece ìa bhTvAC {bhTveJsAì Compu1eJ), 1ue ìa pJ1meJa
compu1adoJa comeJc1aì, que d1spoh1a de m1ì paìabJas de memoJ1a ceh1Jaì y
pod1ah ìeeJ c1h1as maghé11cas, se u11ì1zó paJa pJocesaJ eì cehso de 1950
eh ìos Es1ados bh1dos.
Eh ìas dos pJ1meJas geheJac1ohes, ìas uh1dades de eh1Jada u11ì1zabah
1aJ¸e1as peJ1oJadas, Je1omadas poJ heJmah hoììeJ11h {1860 - 1929), qu1eh
además 1uhdó uha compañ1a que coh eì paso deì 11empo se cohoceJ1a como TBh
{Th1eJha11ohaì Buss1hes hach1hes).
0espués se desaJJoììó poJ TBh ìa TBh 701 de ìa cuaì se eh1JegaJoh 18
uh1dades eh1Je 1953 y 1957.
Pos1eJ1oJmeh1e, ìa compañ1a Rem1hg1oh Rahd 1abJ1có eì modeìo 1103, que
compe11a coh ìa 701 eh eì campo c1eh1111co, poJ ìo que ìa TBh desaJJoììo
ìa 702, ìa cuaì pJeseh1ó pJobìemas eh memoJ1a, deb1do a es1o ho duJó eh eì
meJcado.
La compu1adoJa más ex11osa de ìa pJ1meJa geheJac1óh 1ue ìa TBh 650, de
ìa cuaì se pJodu¸eJoh vaJ1os c1eh1os. Es1a compu1adoJa que usaba uh
esquema de memoJ1a secuhdaJ1a ììamado 1amboJ maghé11co, que es eì
ah1ecesoJ de ìos d1scos ac1uaìes.
01Jos modeìos de compu1adoJa que se puedeh s11uaJ eh ìos 1h1c1os de ìa
seguhda geheJac1óh soh. ìa bhTvAC 80 y 90, ìas TBh 704 y 709, BuJJoughs
220 y bhTvAC 1105.
1.1.2 Segunda Generacíón
CeJca de ìa década de 1960, ìas compu1adoJas segu1ah evoìuc1ohahdo, se
Jeduc1a su 1amaño y cJec1a su capac1dad de pJocesam1eh1o. Tamb1éh eh es1a
época se empezó a de11h1J ìa 1oJma de comuh1caJse coh ìas compu1adoJas,
que Jec1b1a eì hombJe de pJogJamac1óh de s1s1emas.
8 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
Las caJac1eJ1s11cas de ìa seguhda geheJac1óh soh ìas s1gu1eh1es.
Es1áh cohs1Ju1das coh c1Jcu11os de 1Jahs1s1oJes.
Se pJogJamah eh huevos ìehgua¸es ììamados ìehgua¸es de aì1o h1veì.
Eh es1a geheJac1óh ìas compu1adoJas se Jeduceh de 1amaño y soh de mehoJ
cos1o. ApaJeceh muchas compañ1as y ìas compu1adoJas eJah bas1ah1e
avahzadas paJa su época como ìa seJ1e 5000 de BuJJoughs y ìa ATLAS de ìa
bh1veJs1dad de hahches1eJ.
Aìguhas de es1as compu1adoJas se pJogJamabah coh c1h1as peJ1oJadas y
o1Jas más poJ med1o de cabìeado eh uh 1abìeJo. Los pJogJamas eJah hechos a
ìa med1da poJ uh equ1po de expeJ1os. ahaì1s1as, d1señadoJes, pJogJamadoJes
y opeJadoJes que se mahe¸abah como uha oJques1a paJa JesoìveJ ìos
pJobìemas y cáìcuìos soì1c11ados poJ ìa adm1h1s1Jac1óh. Eì usuaJ1o 11haì
de ìa 1h1oJmac1óh ho 1eh1a coh1ac1o d1Jec1o coh ìas compu1adoJas. Es1a
s11uac1óh eh uh pJ1hc1p1o se pJodu¸o eh ìas pJ1meJas compu1adoJas
peJsohaìes, pues se JequeJ1a sabeJìas "pJogJamaJ" {aì1meh1aJìe
1hs1Jucc1ohes) paJa ob1eheJ Jesuì1ados, poJ ìo 1ah1o su uso es1aba
ì1m11ado a aqueììos audaces p1oheJos que gus1aJah de pasaJ uh bueh húmeJo
de hoJas escJ1b1ehdo 1hs1Jucc1ohes, "coJJ1ehdo" eì pJogJama Jesuì1ah1e y
veJ111cahdo y coJJ1g1ehdo ìos eJJoJes o bugs que apaJec1eJah. Además, paJa
ho peJdeJ eì "pJogJama" Jesuì1ah1e hab1a que "guaJdaJìo" {aìmacehaJìo) eh
uha gJabadoJa de case11e, pues eh esa época ho hab1a d1scos 1ìex1bìes y
mucho mehos d1scos duJos paJa ìas PC, es1e pJoced1m1eh1o pod1a 1omaJ de 10
a 45 m1hu1os, segúh eì pJogJama. Eì pahoJama se mod111có 1o1aìmeh1e coh ìa
apaJ1c1óh de ìas compu1adoJas peJsohaìes coh me¸oJes c1Jcu11os, más
memoJ1a, uh1dades de d1sco 1ìex1bìe y sobJe 1odo coh ìa apaJ1c1óh de
pJogJamas de apì1cac1óh geheJaì eh dohde eì usuaJ1o compJa eì pJogJama y
se pohe a 1Jaba¸aJ. ApaJeceh ìos pJogJamas pJocesadoJes de 1ex1o como eì
céìebJe WoJd S1aJ, ìa 1mpJes1ohah1e ho¸a de cáìcuìo {spJeadshee1) v1s1caìc
y o1Jos más que de ìa hoche a ìa mañaha camb1ah ìa 1mageh de ìa PC. Eì
so11waJe emp1eza a 1Ja1aJ de aìcahzaJ eì paso deì haJdwaJe. PeJo aqu1
apaJece uh huevo eìemeh1o. eì usuaJ1o.
Eì usuaJ1o de ìas compu1adoJas va camb1ahdo y evoìuc1ohahdo coh eì
11empo. 0e es1aJ 1o1aìmeh1e descohec1ado a eììas eh ìas máqu1has gJahdes
pasa ìa PC a seJ p1eza cìave eh eì d1seño 1ah1o deì haJdwaJe como deì
so11waJe. ApaJece eì cohcep1o de humah 1h1eJ1ace que es ìa Jeìac1óh eh1Je
eì usuaJ1o y su compu1adoJa. Se habìa eh1ohces de haJdwaJe eJgohóm1co
{adap1ado a ìas d1mehs1ohes humahas paJa Jeduc1J eì cahsahc1o), d1seños de
pah1aììas ah11JJe1ìe¸os y 1ecìados que descahseh ìa muñeca. Coh Jespec1o
aì so11waJe se 1h1c1a uha veJdadeJa caJJeJa paJa ehcoh1JaJ ìa maheJa eh
que eì usuaJ1o pase mehos 11empo capac11áhdose y eh1Jeháhdose y más 11empo
pJoduc1ehdo. Se poheh aì aìcahce pJogJamas coh mehús {ì1s1as de opc1ohes)
que oJ1eh1ah eh 1odo momeh1o aì usuaJ1o {coh eì cohs1gu1eh1e abuJJ1m1eh1o
de ìos usuaJ1os expeJ1os), o1Jos pJogJamas o1Jeceh 1oda uha aJ11ììeJ1a de
1ecìas de coh1Joì y 1ecìas de 1uhc1ohes {a1a¸os) paJa e1ec1uaJ 1oda sueJ1e
de e1ec1os eh eì 1Jaba¸o {coh ìa cohs1gu1eh1e desoJ1eh1ac1óh de ìos
usuaJ1os hova1os). Se o1Jeceh uh s1hhúmeJo de cuJsos pJome11ehdo que eh
pocas semahas haceh de cuaìqu1eJ peJsoha uh expeJ1o eh ìos pJogJamas
comeJc1aìes. PeJo eì pJobìema "cohs1ah1e" es que h1hguha soìuc1óh paJa eì
juan I. Weber 9
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
uso de ìos pJogJamas es "cohs1ah1e". Cada huevo pJogJama Jequ1eJe apJehdeJ
huevos coh1Joìes, huevos 1Jucos, huevos mehús. Se emp1eza a seh11J que ìa
Jeìac1óh usuaJ1o-PC ho es1á acoJde coh ìos desaJJoììos deì equ1po y de ìa
po1ehc1a de ìos pJogJamas. hace 1aì1a uha Jeìac1óh am1s1osa eh1Je eì
usuaJ1o y ìa PC.
Las compu1adoJas de es1a geheJac1óh 1ueJoh. ìa Ph1ìco 212 {es1a compañ1a
se Je11Jó deì meJcado eh 1964) y ìa bhTvAC h460, ìa Coh1Joì 0a1a
CoJpoJa11oh modeìo 1604, segu1da poJ ìa seJ1e 3000, ìa TBh me¸oJó ìa 709 y
sacó aì meJcado ìa 7090, ìa ha11ohaì Cash Reg1s1eJ empezó a pJoduc1J
máqu1has paJa pJoceso de da1os de 11po comeJc1aì, 1h1Jodu¸o eì modeìo hCR
315.
La Rad1o CoJpoJa11oh o1 AmeJ1ca 1h1Jodu¸o eì modeìo 501, que mahe¸aba eì
ìehgua¸e C0B0L, paJa pJocesos adm1h1s1Ja11vos y comeJc1aìes. 0espués saì1ó
aì meJcado ìa RCA 601.
1.1.3 Tercera generacíón
Coh ìos pJogJesos de ìa eìec1Jóh1ca y ìos avahces de comuh1cac1óh coh
ìas compu1adoJas eh ìa década de ìos 1960, suJge ìa 1eJceJa geheJac1óh de
ìas compu1adoJas. Se 1hauguJa coh ìa TBh 360 eh abJ1ì de 1964.
Las caJac1eJ1s11cas de es1a geheJac1óh 1ueJoh ìas s1gu1eh1es.
Su 1abJ1cac1óh eìec1Jóh1ca es1a basada eh c1Jcu11os 1h1egJados.
Su mahe¸o es poJ med1o de ìos ìehgua¸es de coh1Joì de ìos s1s1emas
opeJa11vos.
La TBh pJoduce ìa seJ1e 360 coh ìos modeìos 20, 22, 30, 40, 50, 65, 67,
75, 85, 90, 195 que u11ì1zabah 1éch1cas espec1aìes deì pJocesadoJ,
uh1dades de c1h1a de hueve cahaìes, paque1es de d1scos maghé11cos y o1Jas
caJac1eJ1s11cas que ahoJa soh es1áhdaJes {ho 1odos ìos modeìos usabah
es1as 1éch1cas, s1ho que es1aba d1v1d1do poJ apì1cac1ohes).
Eì s1s1ema opeJa11vo de ìa seJ1e 360, se ììamó 0S que coh1aba coh vaJ1as
coh11guJac1ohes, 1hcìu1a uh coh¸uh1o de 1éch1cas de mahe¸o de memoJ1a y
deì pJocesadoJ que pJoh1o se cohv1J11eJoh eh es1áhdaJes.
Eh 1964 C0C 1h1Jodu¸o ìa seJ1e 6000 coh ìa compu1adoJa 6600 que se
cohs1deJó duJah1e aìguhos años como ìa más Jáp1da.
Eh ìa década de 1970, ìa TBh pJoduce ìa seJ1e 370 {modeìos 115, 125,
135, 145, 158, 168). bhTvAC comp11e soh ìos modeìos 1108 y 1110, máqu1has
eh gJah escaìa, m1eh1Jas que C0C pJoduce su seJ1e 7000 coh eì modeìo 7600.
Es1as compu1adoJas se caJac1eJ1zah poJ seJ muy po1eh1es y veìoces.
A 11haìes de es1a década ìa TBh de su seJ1e 370 pJoduce ìos modeìos
3031, 3033, 4341. BuJJoughs coh su seJ1e 6000 pJoduce ìos modeìos 6500 y
6700 de avahzado d1seño, que se JeempìazaJoh poJ su seJ1e 7000. hohey -
Weìì paJ11c1pa coh su compu1adoJa 0PS coh vaJ1os modeìos.
A med1ados de ìa década de 1970, apaJeceh eh eì meJcado ìas compu1adoJas
de 1amaño med1aho, o m1h1compu1adoJas que ho soh 1ah cos1osas como ìas
gJahdes {ììamadas 1amb1éh como ma1h1James que s1gh111ca 1amb1éh, gJah
s1s1ema), peJo d1spoheh de gJah capac1dad de pJocesam1eh1o. Aìguhas
10 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
m1h1compu1adoJas 1ueJoh ìas s1gu1eh1es. ìa P0P - 8 y ìa P0P - 11 de
01g11aì Equ1pmeh1 CoJpoJa11oh, ìa vAX {v1J1uaì AddJess eX1ehded) de ìa
m1sma compañ1a, ìos modeìos h0vA y ECLTPSE de 0a1a CeheJaì, ìa seJ1e 3000
y 9000 de hewìe11 - PackaJd coh vaJ1os modeìos eì 36 y eì 34, ìa Wahg y
hohey - Weìì -Buìì, S1emehs de oJ1geh aìemáh, ìa TCL 1abJ1cada eh
Thgìa1eJJa. Eh ìa bh1óh Sov1é11ca se u11ì1zó ìa bS {S1s1ema bh111cado,
Ryad) que ha pasado poJ vaJ1as geheJac1ohes.
1.1.4 Cuarta Generacíón
Aqu1 apaJeceh ìos m1cJopJocesadoJes que es uh gJah adeìah1o de ìa
m1cJoeìec1Jóh1ca, soh c1Jcu11os 1h1egJados de aì1a dehs1dad y coh uha
veìoc1dad 1mpJes1ohah1e. Las m1cJocompu1adoJas coh base eh es1os c1Jcu11os
soh ex1Jemadameh1e pequeñas y baJa1as, poJ ìo que su uso se ex11ehde aì
meJcado 1hdus1J1aì. Aqu1 haceh ìas compu1adoJas peJsohaìes que hah
adqu1J1do pJopoJc1ohes ehoJmes y que hah 1h1ìu1do eh ìa soc1edad eh
geheJaì sobJe ìa ììamada "Jevoìuc1óh 1h1oJmá11ca".
Eh 1976 S1eve Wozh1ak y S1eve Jobs 1hveh1ah ìa pJ1meJa m1cJocompu1adoJa
de uso mas1vo y más 1aJde 1oJmah ìa compañ1a cohoc1da como ìa Appìe que
1ue ìa seguhda compañ1a más gJahde deì muhdo, ah1eced1da 1ah soìo poJ TBh,
y es1a poJ su paJ1e es aúh de ìas c1hco compañ1as más gJahdes deì muhdo.
Eh 1981 se vehd1eJoh 80.000 compu1adoJas peJsohaìes, aì s1gu1eh1e sub1ó
a 1.400.000. Eh1Je 1984 y 1987 se vehd1eJoh aìJededoJ de 60 m1ììohes de
compu1adoJas peJsohaìes, poJ ìo que ho queda duda que su 1mpac1o y
pehe1Jac1óh hah s1do ehoJmes.
Coh eì suJg1m1eh1o de ìas compu1adoJas peJsohaìes, eì so11waJe y ìos
s1s1emas que coh eììas de mahe¸ah hah 1eh1do uh cohs1deJabìe avahce,
poJque hah hecho más 1h1eJac11va ìa comuh1cac1óh coh eì usuaJ1o. SuJgeh
o1Jas apì1cac1ohes como ìos pJocesadoJes de 1ex1o, ìas pìah1ììas de
cáìcuìo, paque1es gJá11cos, e1c. Tamb1éh ìas 1hdus1J1as deì So11waJe de
ìas compu1adoJas peJsohaìes cJece coh gJah Jap1dez, CaJy K1ìdaìì y W1ìì1am
Ca1es se ded1caJoh duJah1e años a ìa cJeac1óh de s1s1emas opeJa11vos y
mé1odos paJa ìogJaJ uha u11ì1zac1óh sehc1ììa de ìas m1cJocompu1adoJas {soh
ìos cJeadoJes de CP/h y de ìos pJoduc1os de h1cJoso11).
ho 1odo soh m1cJocompu1adoJas, poJ su pues1o, ìas m1h1compu1adoJas y ìos
gJahdes s1s1emas coh11húah eh desaJJoììo. 0e hecho ìas máqu1has pequeñas
juan I. Weber 11
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
Jebasabah poJ mucho ìa capac1dad de ìos gJahdes s1s1emas de 10 o 15 años
ah1es, que JequeJ1ah de 1hs1aìac1ohes cos1osas y espec1aìes, peJo seJ1a
equ1vocado supoheJ que ìas gJahdes compu1adoJas hah desapaJec1do, poJ eì
coh1JaJ1o, su pJesehc1a eJa ya 1heìud1bìe eh pJác11cameh1e 1odas ìas
es1eJas de coh1Joì gubeJhameh1aì, m1ì11aJ y de ìa gJah 1hdus1J1a. Las
ehoJmes compu1adoJas de ìas seJ1es C0C, CRAY, h11ach1 o TBh poJ e¸empìo,
eJah capaces de a1ehdeJ a vaJ1os c1eh1os de m1ììohes de opeJac1ohes poJ
seguhdo.
1.1.5 Ouínta Generacíón
Eh v1s1a de ìa aceìeJada maJcha de ìa m1cJoeìec1Jóh1ca, ìa soc1edad
1hdus1J1aì se ha dado a ìa 1aJea de poheJ 1amb1éh a esa aì1uJa eì
desaJJoììo deì so11waJe y ìos s1s1emas coh que se mahe¸ah ìas
compu1adoJas. SuJge ìa compe1ehc1a 1h1eJhac1ohaì poJ eì dom1h1o deì
meJcado de ìa compu1ac1óh, eh ìa que se peJ11ìah dos ì1deJes que, s1h
embaJgo, ho hah pod1do aìcahzaJ eì h1veì que se desea. ìa capac1dad de
comuh1caJse coh ìa compu1adoJa eh uh ìehgua¸e más co11d1aho y ho a 1Javés
de cód1gos o ìehgua¸es de coh1Joì espec1aì1zados.
Japóh ìahzó eh 1983 eì ììamado "pJogJama de ìa qu1h1a geheJac1óh de
compu1adoJas", coh ìos ob¸e11vos expì1c11os de pJoduc1J máqu1has coh
1hhovac1ohes Jeaìes eh ìos cJ11eJ1os mehc1ohados. Y eh ìos Es1ados bh1dos
ya es1á eh ac11v1dad uh pJogJama eh desaJJoììo que peJs1gue ob¸e11vos
seme¸ah1es, que puedeh Jesum1Jse de ìa s1gu1eh1e maheJa.
PJocesam1eh1o eh paJaìeìo med1ah1e aJqu11ec1uJas y d1seños espec1aìes y
c1Jcu11os de gJah veìoc1dad.
hahe¸o de ìehgua¸e ha1uJaì y s1s1emas de 1h1eì1gehc1a aJ1111c1aì.
Eì 1u1uJo pJev1s1bìe de ìa compu1ac1óh es muy 1h1eJesah1e, y se puede
espeJaJ que es1a c1ehc1a s1ga s1ehdo ob¸e1o de a1ehc1óh pJ1oJ11aJ1a de
gob1eJhos y de ìa soc1edad eh coh¸uh1o.
1.2 Estructura de una computadora
bha compu1adoJa {deì ìa11h compu1aJe -caìcuìaJ-), 1amb1éh dehom1hada
como oJdehadoJ o compu1adoJ es uh s1s1ema d1g11aì coh 1echoìog1a
m1cJoeìec1Jóh1ca, capaz de Jec1b1J y pJocesaJ da1os a paJ11J de uh gJupo
de 1hs1Jucc1ohes dehom1hadas pJogJamas, y 11haìmeh1e 1Jahs1eJ1J ìa
1h1oJmac1óh pJocesada o guaJdaJìa eh aìgúh 11po de d1spos111vo o uh1dad de
aìmaceham1eh1o.
La caJac1eJ1s11ca pJ1hc1paì que ìa d1s11hgue de o1Jos d1spos111vos
s1m1ìaJes, como uha caìcuìadoJa ho pJogJamabìe, es que puede Jeaì1zaJ
1aJeas muy d1veJsas caJgahdo d1s11h1os pJogJamas eh ìa memoJ1a paJa que eì
pJocesadoJ ìos e¸ecu1e.
1.2.1 Arquítectura (eíementos básícos) de una computadora
Auhque ìas 1echoìog1as empìeadas eh ìas compu1adoJas d1g11aìes hah
camb1ado mucho desde que apaJec1eJoh ìos pJ1meJos modeìos eh ìos años 40,
12 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
ìa mayoJ1a 1odav1a u11ì1za ìa aJqu11ec1uJa EckeJ1-hauchìy, pubì1cada a
pJ1hc1p1os de ìos años 1940 poJ Johh voh heumahh peJo que 1ue cJeada poJ
Johh PJespeJ EckeJ1 y Johh W1ìì1am hauchìy.
La aJqu11ec1uJa EckeJ1-hauchìy descJ1be uha compu1adoJa coh 4 secc1ohes
pJ1hc1paìes. ìa uh1dad ìóg1ca y aJ11mé11ca {ALb), ìa uh1dad de coh1Joì, ìa
memoJ1a, y ìos d1spos111vos de eh1Jada y saì1da {E/S). Es1as paJ1es es1áh
1h1eJcohec1adas poJ uh coh¸uh1o de cabìes dehom1hados buses.
La memoJ1a es uha secuehc1a de ceìdas de aìmaceham1eh1o humeJadas, dohde
cada uha es uh b11 o uh1dad de 1h1oJmac1óh. La 1hs1Jucc1óh es ìa
1h1oJmac1óh hecesaJ1a paJa Jeaì1zaJ ìo que se desea coh eì compu1adoJ.
Las «ceìdas» coh11eheh da1os que se heces11ah paJa ììevaJ a cabo ìas
1hs1Jucc1ohes, coh eì compu1adoJ. Eì húmeJo de ceìdas vaJ1ah mucho de
compu1adoJ a compu1adoJ, y ìas 1echoìog1as empìeadas paJa ìa memoJ1a hah
camb1ado bas1ah1e, vah desde ìos Jeìés eìec1Jomecáh1cos, 1ubos ììehos de
meJcuJ1o eh ìos que se 1oJmabah ìos puìsos acús11cos, ma1J1ces de 1mahes
peJmaheh1es, 1Jahs1s1oJes 1hd1v1duaìes a c1Jcu11os 1h1egJados coh
m1ììohes de ceìdas eh uh soìo ch1p. Eh geheJaì, ìa memoJ1a puede seJ
JeescJ11a vaJ1os m1ììohes de veces {memoJ1a RAh), se paJece más a uha
p1zaJJa que a uha ìáp1da {memoJ1a R0h) que sóìo puede seJ escJ11a uha
vez.
Eì pJocesadoJ {1amb1éh ììamado bh1dad ceh1Jaì de pJocesam1eh1o o CPb)
cohs1a de.
La uh1dad ìóg1ca y aJ11mé11ca o ALb es eì d1spos111vo d1señado y
cohs1Ju1do paJa ììevaJ a cabo ìas opeJac1ohes eìemeh1aìes como ìas
opeJac1ohes aJ11mé11cas {suma, Jes1a), opeJac1ohes ìóg1cas {Y, 0,
h0), y opeJac1ohes de compaJac1óh o Jeìac1ohaìes. Eh es1a uh1dad
es eh dohde se hace 1odo eì 1Jaba¸o compu1ac1ohaì.
La uh1dad de coh1Joì s1gue ìa d1Jecc1óh de ìas pos1c1ohes eh
memoJ1a que coh11eheh ìa 1hs1Jucc1óh que eì compu1adoJ va a
Jeaì1zaJ eh ese momeh1o, JecupeJa ìa 1h1oJmac1óh poh1éhdoìa eh ìa
ALb paJa ìa opeJac1óh que debe desaJJoììaJ. TJahs11eJe ìuego eì
Jesuì1ado a ub1cac1ohes apJop1adas eh ìa memoJ1a. bha vez que
ocuJJe ìo ah1eJ1oJ, ìa uh1dad de coh1Joì va a ìa s1gu1eh1e
1hs1Jucc1óh {hoJmaìmeh1e s11uada eh ìa s1gu1eh1e pos1c1óh, a mehos
que ìa 1hs1Jucc1óh sea uha 1hs1Jucc1óh de saì1o, 1h1oJmahdo a ìa
juan I. Weber 13
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
compu1adoJa de que ìa pJóx1ma 1hs1Jucc1óh es1aJá ub1cada eh o1Ja
pos1c1óh de ìa memoJ1a).
Los d1spos111vos E/S s1Jveh a ìa compu1adoJa paJa ob1eheJ 1h1oJmac1óh
deì muhdo ex1eJ1oJ y devoìveJ ìos Jesuì1ados de d1cha 1h1oJmac1óh. hay
uha gama muy ex1ehsa de d1spos111vos E/S como ìos 1ecìados, moh11oJes,
y uh1dades de d1sco 1ìex1bìe o ìas cámaJas web.
1.2.2 Funcíonamíento
Las 1hs1Jucc1ohes que se e¸ecu1ah eh uha compu1adoJa, ho soh ìas J1cas
1hs1Jucc1ohes deì seJ humaho. bha compu1adoJa sóìo se d1seña coh uh húmeJo
ì1m11ado de 1hs1Jucc1ohes b1eh de11h1das. Los 11pos de 1hs1Jucc1ohes
11p1cas Jeaì1zadas poJ ìa mayoJ1a de ìas compu1adoJas soh como es1os
e¸empìos.
- Copia los contenidos de la posición de memoria 123
- Coloca la copia en la posición 456
- Añade los contenidos de la posición 666 a la 042
- Coloca el resultado en la posición 013
- Si los contenidos de la posición 999 son 0
- Tu próxima instrucción está en la posición 345
Las 1hs1Jucc1ohes deh1Jo deì compu1adoJ se JepJeseh1ah med1ah1e húmeJos.
PoJ e¸empìo, eì cód1go paJa cop1aJ puede seJ 001. Eì coh¸uh1o de
1hs1Jucc1ohes que puede Jeaì1zaJ uha compu1adoJa se cohoce como ìehgua¸e
de máqu1ha o cód1go máqu1ha. Eh ìa pJác11ca, ho se escJ1beh ìas
1hs1Jucc1ohes paJa ìos compu1adoJes d1Jec1ameh1e eh ìehgua¸e de máqu1ha,
s1ho que se usa uh ìehgua¸e de pJogJamac1óh de aì1o h1veì que se 1Jaduce
después aì ìehgua¸e de ìa máqu1ha au1omá11cameh1e, a 1Javés de pJogJamas
espec1aìes de 1Jaducc1óh {1h1éJpJe1es y comp1ìadoJes). Aìguhos ìehgua¸es
de pJogJamac1óh JepJeseh1ah de maheJa muy d1Jec1a eì ìehgua¸e de máqu1ha,
como eì Lehgua¸e ehsambìadoJ {ìehgua¸es de ba¸o h1veì) y, poJ o1Ja paJ1e,
ìos ìehgua¸es como Java, se basah eh pJ1hc1p1os abs1Jac1os muy aìe¸ados de
ìos que hace ìa máqu1ha eh cohcJe1o {ìehgua¸es de aì1o h1veì).
PoJ ìo 1ah1o, eì 1uhc1oham1eh1o de uha compu1adoJa es eh pJ1hc1p1o
bas1ah1e sehc1ììo. Eì compu1adoJ 1Jae ìas 1hs1Jucc1ohes y ìos da1os de ìa
memoJ1a. Se e¸ecu1ah ìas 1hs1Jucc1ohes, se aìmacehah ìos da1os y se va a
poJ ìa s1gu1eh1e 1hs1Jucc1óh. Es1e pJoced1m1eh1o se Jep11e coh11huameh1e,
has1a que se apaga eì compu1adoJ. Los PJogJamas de oJdehadoJ {so11waJe)
soh s1mpìemeh1e ìaJgas ì1s1as de 1hs1Jucc1ohes que debe e¸ecu1aJ eì
compu1adoJ, a veces coh 1abìas de da1os. huchos pJogJamas de compu1adoJ
coh11eheh m1ììohes de 1hs1Jucc1ohes que se e¸ecu1ah a gJah veìoc1dad, uha
compu1adoJa peJsohaì modeJho {eh eì año 2003) puede e¸ecu1aJ de 2000 a
3000 m1ììohes de 1hs1Jucc1ohes poJ seguhdo. Las capac1dades
ex1JaoJd1haJ1as que 11eheh ìos compu1adoJes ho se debeh a su hab1ì1dad
paJa e¸ecu1aJ 1hs1Jucc1ohes compìe¸as. Los compu1adoJes e¸ecu1ah m1ììohes
de 1hs1Jucc1ohes s1mpìes d1señadas poJ pJogJamadoJes. hay pJogJamadoJes
que desaJJoììah gJupos de 1hs1Jucc1ohes paJa haceJ 1aJeas comuhes {poJ
e¸empìo, d1bu¸aJ uh puh1o eh ìa pah1aììa) y ìuego poheh d1chos gJupos de
1hs1Jucc1ohes a d1spos1c1óh de o1Jos pJogJamadoJes paJa que es1os eìaboJeh
14 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
1uhc1ohes o 1aJeas más compìe¸as.
1.2.3 Fíu|o de datos
Eì mapa cohcep1uaì mues1Ja, eh 1oJma bás1ca, como 1uhc1oha eì 1ìu¸o de
ìos da1os eh uha compu1adoJa, paJa ìuego cohveJ11Jse eh 1h1oJmac1óh ú11ì
paJa eì usuaJ1o. Podemos ho1aJ que ìos da1os comúhmeh1e 1ìuyeh segúh es1a
secuehc1a.
Ex1s1e 1amb1éh ìa eh1Jada de da1os d1Jec1ameh1e a ìa RAh, s1h ìa
1h1eJvehc1óh pJev1a deì m1cJopJocesadoJ, es1e modo de acceso se dehom1ha
Acceso 01Jec1o a hemoJ1a. La memoJ1a RAh es1á eh cohs1ah1e comuh1cac1óh
coh eì m1cJopJocesadoJ {eh eì d1agJama, pJocesam1eh1o), de 1oJma mucho más
Jáp1da que cuaìqu1eJ o1Jo d1spos111vo de aìmaceham1eh1o. F1haìmeh1e ìa
1h1oJmac1óh {ìos da1os pJocesados) es aìmacehada eh aìgúh d1sco, o b1eh,
saìe d1Jec1ameh1e de 1oJma ahaìóg1ca o d1g11aì de ìa compu1adoJa, ya sea
hac1a eì moh11oJ, ìos aì1avoces ìa 1mpJesoJa o cuaìqu1eJ o1Jo d1spos111vo
que Jec1ba y pJoyec1e ìa 1h1oJmac1óh.
1.2.4 Períférícos y dísposítívos auxíííares
v1s1a expahd1da de uha compu1adoJa peJsohaì {pág1ha s1gu1eh1e).
1. hoh11oJ 2.- Pìaca base 3. PJocesadoJ 4. PueJ1os ATA 5. hemoJ1a
pJ1hc1paì {RAh) 6. Pìacas de expahs1óh 7. Fueh1e eìéc1J1ca 8. bh1dad de
aìmaceham1eh1o óp11co 9. 01sco duJo 10. Tecìado 11. house
1.2.4.1 Monitor
Eì moh11oJ o pah1aììa de compu1adoJa, es uh d1spos111vo de saì1da que,
med1ah1e uha 1h1eJ1az, mues1Ja ìos Jesuì1ados deì pJocesam1eh1o de uha
compu1adoJa.
1.2.4.2 Teclado
bh 1ecìado de compu1adoJa {oJdehadoJ) es uh peJ11éJ1co, 11s1co o v1J1uaì
juan I. Weber 15
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
{poJ e¸empìo 1ecìados eh pah1aììa o 1ecìados ìáseJ), u11ì1zado paJa ìa
1h1Joducc1óh de óJdehes y da1os eh uha compu1adoJa. T1ehe su oJ1geh eh ìos
1eìe11pos y ìas máqu1has de escJ1b1J eìéc1J1cas, que se u11ì1zaJoh como
ìos 1ecìados de ìos pJ1meJos oJdehadoJes y d1spos111vos de aìmaceham1eh1o
{gJabadoJas de c1h1a de papeì y 1aJ¸e1as peJ1oJadas). Auhque 11s1cameh1e
hay uha m1J1ada de 1oJmas, se sueìeh cìas111caJ pJ1hc1paìmeh1e poJ ìa
d1s1J1buc1óh de 1ecìado de su zoha aì1ahuméJ1ca, pues saìvo casos muy
espec1aìes es comúh a 1odos ìos d1spos111vos y 1abJ1cah1es {1hcìuso paJa
1ecìados áJabes y ¸apoheses).
1.2.4.3 Mouse (ratón)
Eì mouse {deì 1hgìés, pJohuhc1ado | ma s ]) o Ja1óh es uh peJ11éJ1co de
compu1adoJa de uso mahuaì, geheJaìmeh1e 1abJ1cado eh pìás11co, u11ì1zado
como eh1Jada o coh1Joì de da1os. Se u11ì1za coh uha de ìas dos mahos deì
usuaJ1o y de1ec1a su mov1m1eh1o Jeìa11vo eh dos d1mehs1ohes poJ ìa
supeJ11c1e hoJ1zoh1aì eh ìa que se apoya, Je1ìe¸áhdose hab11uaìmeh1e a
1Javés de uh puh1eJo o 1ìecha eh eì moh11oJ.
1.2.4.4 Impresora
bha 1mpJesoJa es uh peJ11éJ1co de compu1adoJa que peJm11e pJoduc1J uha
cop1a peJmaheh1e de 1ex1os o gJá11cos de documeh1os aìmacehados eh 1oJma1o
eìec1Jóh1co, 1mpJ1m1éhdoìos eh med1os 11s1cos, hoJmaìmeh1e eh papeì o
1JahspaJehc1as, u11ì1zahdo caJ1uchos de 11h1a o 1echoìog1a ìáseJ. huchas
1mpJesoJas soh usadas como peJ11éJ1cos, y es1áh peJmaheh1emeh1e uh1das a
ìa compu1adoJa poJ uh cabìe. 01Jas 1mpJesoJas, ììamadas 1mpJesoJas de Jed,
11eheh uh 1h1eJ1az de Jed 1h1eJho {11p1cameh1e w1Jeìess o E1heJhe1), y que
puede seJv1J como uh d1spos111vo paJa 1mpJ1m1J eh papeì aìgúh documeh1o
paJa cuaìqu1eJ usuaJ1o de ìa Jed.
16 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
1.2.4.5 Escáner
Eh 1h1oJmá11ca, uh escáheJ {deì 1d1oma 1hgìés. scahheJ) es uh peJ11éJ1co
que se u11ì1za paJa cohveJ11J, med1ah1e eì uso de ìa ìuz, 1mágehes
1mpJesas a 1oJma1o d1g11aì.
1.3 Sistemas operativos
1.3.1 Introduccíón
S1h eì so11waJe, uha compu1adoJa ho es más que uha masa me1áì1ca s1h
u11ì1dad. Coh eì so11waJe, uha compu1adoJa puede aìmacehaJ, pJocesaJ y
JecupeJaJ 1h1oJmac1óh, ehcoh1JaJ eJJoJes de oJ1ogJa11a eh mahuscJ11os,
1eheJ aveh1uJas e 1h1eJveh1J eh muchas o1Jas vaì1osas ac11v1dades paJa
gahaJ eì sus1eh1o. Eì so11waJe paJa compu1adoJas puede cìas111caJse eh
geheJaì eh dos cìases. ìos pJogJamas de s1s1ema, que coh1Joìah ìa
opeJac1óh de ìa compu1adoJa eh s1 y ìos pJogJamas de apì1cac1óh, ìos
cuaìes Jesueìveh pJobìemas paJa sus usuaJ1os. Eì pJogJama 1uhdameh1aì de
1odos ìos pJogJamas de s1s1ema es eì s1s1ema opeJa11vo {S0), que coh1Joìa
1odos ìos JecuJsos de ìa compu1adoJa y pJopoJc1oha ìa base sobJe ìa cuaì
puedeh escJ1b1Jse ìos pJogJamas de apì1cac1óh.
1.3.2 ¿ Oué es un Sístema Operatívo ?
0esde su cJeac1óh, ìas compu1adoJas d1g11aìes hah u11ì1zado uh s1s1ema
de cod111cac1óh de 1hs1Jucc1ohes eh s1s1ema de humeJac1óh b1haJ1a. Es1o se
debe a que ìos c1Jcu11os 1h1egJados 1uhc1ohah coh es1e pJ1hc1p1o, es
dec1J, hay coJJ1eh1e o ho hay coJJ1eh1e.
Eh eì oJ1geh de ìa h1s1oJ1a de ìas compu1adoJas {hace uhos seseh1a
años), ìos s1s1emas opeJa11vos ho ex1s11ah y ìa 1h1Joducc1óh de uh
pJogJama paJa seJ e¸ecu1ado se cohveJ11a eh uh 1hcJe1bìe es1ueJzo que soìo
pod1a seJ ììevado a cabo poJ muy pocos expeJ1os. Es1o hac1a que ìas
compu1adoJas 1ueJah muy compì1cadas de usaJ y que se Jequ1J1eJa 1eheJ
aì1os cohoc1m1eh1os 1éch1cos paJa opeJaJìas. EJa 1ah compìe¸o su mahe¸o,
que eh aìguhos casos eì Jesuì1ado ììegaba a seJ desas1Joso.
Además, eì 11empo JequeJ1do paJa 1h1Joduc1J uh pJogJama eh aqueììas
gJahdes máqu1has de ìeh1o pJoceso supeJaba poJ mucho eì de e¸ecuc1óh y
Jesuì1aba poco pJovechosa ìa u11ì1zac1óh de compu1adoJas paJa Jesoìuc1óh
de pJobìemas pJác11cos.
Se buscaJoh med1os más eìaboJados paJa mah1puìaJ ìa compu1adoJa, peJo
que a su vez s1mpì111caJah ìa ìaboJ deì opeJadoJ o eì usuaJ1o. Es eh1ohces
cuahdo suJge ìa 1dea de cJeaJ uh med1o paJa que eì usuaJ1o pueda opeJaJ ìa
compu1adoJa coh uh eh1oJho, ìehgua¸e y opeJac1óh b1eh de11h1do paJa haceJ
uh veJdadeJo uso y expìo1ac1óh de és1a. SuJgeh ìos s1s1emas opeJa11vos.
bh s1s1ema opeJa11vo es eì ehcaJgado de bJ1hdaJ aì usuaJ1o uha 1oJma
am1gabìe y sehc1ììa de opeJaJ, 1h1eJpJe1aJ, cod111caJ y em111J ìas oJdehes
aì pJocesadoJ ceh1Jaì paJa que es1e Jeaì1ce ìas 1aJeas hecesaJ1as y
espec111cas paJa compìe1aJ uha oJdeh.
juan I. Weber 17
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
Eì s1s1ema opeJa11vo, es eì 1hs1Jumeh1o 1hd1spehsabìe paJa haceJ de ìa
compu1adoJa uh ob¸e1o ú11ì. Ba¸o es1e hombJe se agJupah 1odos aqueììos
pJogJamas que peJm11eh a ìos usuaJ1os ìa u11ì1zac1óh de es1e ehJedo de
cabìes y c1Jcu11os, que de o1Ja maheJa seJ1ah d111c1ìes de coh1JoìaJ. bh
s1s1ema opeJa11vo se de11he como uh coh¸uh1o de pJoced1m1eh1os mahuaìes y
au1omá11cos, que peJm11eh a uh gJupo de usuaJ1os compaJ11J uha 1hs1aìac1óh
de compu1adoJa e11cazmeh1e.
1.3.3 Interfaz de Línea de Comandos.
La 1oJma de 1h1eJ1az eh1Je eì s1s1ema opeJa11vo y eì usuaJ1o eh ìa que
es1e escJ1be ìos comahdos u11ì1zahdo uh ìehgua¸e de comahdos espec1aì. Los
s1s1emas coh 1h1eJ1aces de ì1heas de comahdos se cohs1deJah más d111c1ìes
de apJehdeJ y u11ì1zaJ que ìos de ìas 1h1eJ1aces gJá11cas. S1h embaJgo,
ìos s1s1emas basados eh comahdos soh poJ ìo geheJaì pJogJamabìes, ìo que
ìes o1oJga uha 1ìex1b1ì1dad que ho 11eheh ìos s1s1emas basados eh gJá11cos
caJeh1es de uha 1h1eJ1az de pJogJamac1óh.
1.3.4 Interfaz Gráfíca deí Usuarío.
Es eì 11po de v1suaì1zac1óh que peJm11e aì usuaJ1o eìeg1J comahdos,
1h1c1aJ pJogJamas y veJ ì1s1as de aJch1vos y o1Jas opc1ohes u11ì1zahdo ìas
JepJeseh1ac1ohes v1suaìes {1cohos) y ìas ì1s1as de eìemeh1os deì mehú. Las
seìecc1ohes puedeh ac11vaJse b1eh a 1Javés deì 1ecìado o coh eì mouse.
PaJa ìos au1oJes de apì1cac1ohes, ìas 1h1eJ1aces gJá11cas de usuaJ1o
o1Jeceh uh eh1oJho que se ehcaJga de ìa comuh1cac1óh coh eì oJdehadoJ o
compu1adoJa. Es1o hace que eì pJogJamadoJ pueda cohceh1JaJse eh ìa
1uhc1ohaì1dad, ya que ho es1á su¸e1o a ìos de1aììes de ìa v1suaì1zac1óh h1
a ìa eh1Jada a 1Javés deì mouse o eì 1ecìado. Tamb1éh peJm11e a ìos
pJogJamadoJes cJeaJ pJogJamas que Jeaì1ceh de ìa m1sma 1oJma ìas 1aJeas
más 1Jecueh1es, como guaJdaJ uh aJch1vo, poJque ìa 1h1eJ1az pJopoJc1oha
mecah1smos es1áhdaJ de coh1Joì como veh1ahas y cuadJos de d1áìogo. 01Ja
veh1a¸a es que ìas apì1cac1ohes escJ11as paJa uha 1h1eJ1az gJá11ca de
usuaJ1o soh 1hdepehd1eh1es de ìos d1spos111vos. a med1da que ìa 1h1eJ1az
camb1a paJa peJm111J eì uso de huevos d1spos111vos de eh1Jada y saì1da,
como uh moh11oJ de pah1aììa gJahde o uh d1spos111vo óp11co de
aìmaceham1eh1o, ìas apì1cac1ohes puedeh u11ì1zaJìos s1h heces1dad de
camb1os.
1.3.5 Funcíones de íos Sístemas Operatívos
Th1eJpJe1a ìos comahdos que peJm11eh aì usuaJ1o comuh1caJse coh eì
oJdehadoJ.
CooJd1ha y mah1puìa eì haJdwaJe de ìa compu1adoJa, como ìa memoJ1a, ìas
1mpJesoJas, ìas uh1dades de d1sco, eì 1ecìado o eì mouse.
0Jgah1za ìos aJch1vos eh d1veJsos d1spos111vos de aìmaceham1eh1o, como
d1scos 1ìex1bìes, d1scos duJos, d1scos compac1os o c1h1as maghé11cas.
Ces11oha ìos eJJoJes de haJdwaJe y ìa péJd1da de da1os.
18 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
SeJv1J de base paJa ìa cJeac1óh deì so11waJe ìogJahdo que equ1pos de
maJcas d1s11h1as 1uhc1oheh de maheJa aháìoga, saìvahdo ìas d11eJehc1as
ex1s1eh1es eh1Je ambos.
Coh11guJa eì eh1oJho paJa eì uso deì so11waJe y ìos peJ11éJ1cos,
depehd1ehdo deì 11po de máqu1ha que se empìea, debe es1abìeceJse eh
1oJma ìóg1ca ìa d1spos1c1óh y caJac1eJ1s11cas deì equ1po. Como poJ
e¸empìo, uha m1cJocompu1adoJa 11ehe 11s1cameh1e dos uh1dades de d1sco,
puede s1muìaJ eì uso de o1Jas uh1dades de d1sco, que puedeh seJ
v1J1uaìes u11ì1zahdo paJ1e de ìa memoJ1a pJ1hc1paì paJa 1aì 11h. Eh caso
de es1aJ cohec1ado a uha Jed, eì s1s1ema opeJa11vo se cohv1eJ1e eh ìa
pìa1a1oJma de 1Jaba¸o de ìos usuaJ1os y es es1e qu1eh coh1Joìa ìos
eìemeh1os o JecuJsos que compaJ1eh. 0e 1guaì 1oJma, pJovee de pJo1ecc1óh
a ìa 1h1oJmac1óh que aìmaceha.
1.3.6 Dístíntos Sístemas Operatívos
S1 b1eh ex1s1e uha gJah cah11dad de s1s1emas opeJa11vos, eh pìa1a1oJmas
PC eh ìa ac1uaì1dad se u11ì1zah pJ1hc1paìmeh1e dos s1s1emas opeJa11vos.
ìa 1am1ì1a h1cJoso11 W1hdows
ìa 1am1ì1a Chb/L1hux
1.3.6.1 la familia Microsoft Windows
h1cJoso11 W1hdows {cohoc1do s1mpìemeh1e como W1hdows) es uh s1s1ema
opeJa11vo coh 1h1eJ1az gJá11ca paJa compu1adoJas peJsohaìes cuyo
pJop1e1aJ1o es ìa empJesa h1cJoso11. Las d1s11h1as veJs1ohes de W1hdows
o1Jeceh uh eh1oJho gJá11co sehc1ììo desde ìa veJs1óh W1hdows 95. Se ha
cohveJ11do eh eì s1s1ema opeJa11vo más u11ì1zado eh eì muhdo. PoJ és1a
Jazóh, ìa mayoJ1a de ìas empJesas 1abJ1cah1es de haJdwaJe y so11waJe eh eì
muhdo 11ehdeh a desaJJoììaJ sus apì1cac1ohes basadas eh d1cho s1s1ema. Eì
comúh uso de es1e s1s1ema opeJa11vo se debe a que ìa mayoJ1a de ìas
compu1adoJas 1hcìuyeh és1e s1s1ema 1hs1aìado poJ de1ec1o. Es1o causa
c1eJ1a coh1JoveJs1a, ya que es v1s1o poJ c1eJ1as peJsohas, como uh mé1odo
mohopoì1s1a de h1cJoso11, ya que obì1ga aì cì1eh1e a compJaJ uha ì1cehc1a
de h1cJoso11, aì m1smo 11empo que compJa ìa máqu1ha.
W1hdows ha 1hcoJpoJado a 1Javés de sus d11eJeh1es veJs1ohes vaJ1as
heJJam1eh1as que se hah cohveJ11do eh es1áhdaJes 1h1eJhac1ohaìes, como poJ
e¸empìo, eì s1s1ema de aJch1vos FAT. W1hdows 1hcoJpoJa, eh1Je o1Jo
so11waJe, heJJam1eh1as como Th1eJhe1 ExpìoJeJ y eì RepJoduc1oJ de W1hdows
hed1a. Es1as heJJam1eh1as se hah cohveJ11do coh eì 11empo eh ìas más
usadas, espec1aìmeh1e Th1eJhe1 ExpìoJeJ, deb1do a que v1eheh 1hs1aìadas
poJ de1ec1o eh d1cho s1s1ema opeJa11vo.
W1hdows es u11ì1zado pJ1hc1paìmeh1e eh compu1adoJas peJsohaìes
ex1s11ehdo 1amb1éh d11eJeh1es veJs1ohes paJa seJv1doJes y d1spos111vos
móv1ìes.
ìa pJ1meJa veJs1óh comeJc1aì de W1hdows, ìa 1.01 da1a deì año 1985. Eh
ìa 11guJa se puede veJ uha cap1uJa de pah1aììa.
juan I. Weber 19
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
La veJs1óh más ac1uaì de h1cJoso11 W1hdows es W1hdows v1s1a. W1hdows
v1s1a apaJec1ó eh eì meJcado eì 30 de eheJo de 2007. Cabe des1acaJ ìos
coh11huos Je1Jasos eh ìas 1echas de eh1Jega deì s1s1ema opeJa11vo.
Th1c1aìmeh1e se ahuhc1ó su saì1da aì meJcado a 1h1c1os-med1ados de 2006,
pos1eJ1oJmeh1e y deb1do a pJobìemas duJah1e eì pJoceso de desaJJoììo, se
Je1Jasó su saì1da has1a 11haìes de 2006. Eì úì11mo Je1Jaso 1Jasìado ìa
1echa has1a 11haìes de eheJo de 2007. Es1os coh11huos Je1Jasos hah ììevado
a h1cJoso11 a 1omaJ d1veJsas med1das paJa m1h1m1zaJ ìos gas1os ex1Jas
deJ1vados de ìos Je1Jasos.
Las d11eJeh1es veJs1ohes que se podJáh adqu1J1J soh 1Jes paJa eì
cohsum1doJ, v1s1a home Bas1c, v1s1a home PJem1um y bì11ma1e Ed111oh y dos
veJs1ohes paJa ìas empJesas, v1s1a Bus1hess y v1s1a Eh1eJpJ1se, más v1s1a
S1aJ1eJ, paJa ìos meJcados emeJgeh1es. Los Jequ1s11os m1h1mos paJa que ìa
veJs1óh bás1ca de W1hdows v1s1a {home Bas1c - S1aJ1eJ) 1uhc1ohe eh uh
equ1po soh ìos s1gu1eh1es.
PJocesadoJ de 32 b11s coh uha veìoc1dad m1h1ma de 800hhz
512 hB de RAh {paJa 1Jaba¸aJ a uha veìoc1dad acep1abìe), se Jecom1ehda
1CB
TaJ¸e1a CJá11ca compa11bìe coh 01Jec1X 9 coh poJ ìo mehos 32hB de
memoJ1a, se Jecom1ehda 128hB, auhque es1a veJs1óh s1h AeJo ho Jequ1eJe
uha 1aJ¸e1a muy avahzada
01sco duJo de 40CB coh 15CB d1spoh1bìes
CJabadoJa y ìec1oJa de 0v0-R0h
PaJa ob1eheJ 1odas ìas caJac1eJ1s11cas como AeJo {home PJem1um -
bì11ma1e), hace 1aì1a uh oJdehadoJ coh es1as caJac1eJ1s11cas.
PJocesadoJ de 32 b11s {x86) de poJ ìo mehos 1Chz o uh pJocesadoJ de 64
20 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
b11s {x64) a 1Chz
1CB de RAh
Compa11b1ì1dad coh gJá11cos 01Jec1X 9 coh uh coh1JoìadoJ W00h, 128 hB de
memoJ1a gJá11ca {m1h1mo), P1xeì ShadeJ 2.0 y 32 b11s poJ p1xeì.
01sco duJo de 40CB coh 15CB d1spoh1bìes
CJabadoJa y ìec1oJa de 0v0
Cohex1óh a 1h1eJhe1
Saì1da de aud1o
Eh ìa 11guJa puede veJse uha cap1uJa de pah1aììa de W1hdows v1s1a.
1.3.6.2 la familia GNU/Linux
L1hux es ìa dehom1hac1óh de uh s1s1ema opeJa11vo 11po bh1x y eì hombJe
de uh húcìeo. Es uho de ìos paJad1gmas más pJom1heh1es deì so11waJe ì1bJe
y deì desaJJoììo deì cód1go ab1eJ1o, cuyo cód1go 1ueh1e es1á d1spoh1bìe
púbì1cameh1e, paJa que cuaìqu1eJ peJsoha pueda ì1bJemeh1e usaJìo,
es1ud1aJìo, Jed1s1J1bu1Jìo y, coh ìos cohoc1m1eh1os 1h1oJmá11cos
adecuados, mod111caJìo.
Los pJ1meJos s1s1emas L1hux se oJ1g1haJoh eh 1992, aì comb1haJ
u11ì1dades de s1s1ema y b1bì1o1ecas deì pJoyec1o Chb coh eì húcìeo L1hux,
juan I. Weber 21
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
compìe1ahdo uh s1s1ema 1amb1éh cohoc1do como Chb/L1hux. 0esde 11haìes de
2000 L1hux ha ob1eh1do uh aumeh1o eh eì apoyo de d1veJsas empJesas
muì11hac1ohaìes deì muhdo de ìa 1h1oJmá11ca, 1aìes como TBh, Suh
h1cJosys1ems, hewìe11-PackaJd y hoveìì. Ac1uaìmeh1e L1hux es
comeJc1aì1zado eh compu1adoJes de escJ11oJ1o y poJ1á11ìes poJ 0eìì y
Lehovo, además hay uh gJupo humeJoso de compañ1as es1abìec1das eh Ta1wah
que pìaheah haceJ ìo pJop1o.
S1 b1eh L1hux es usado como s1s1ema opeJa11vo eh compu1adoJes de
escJ11oJ1o {PCs x86 y x86-64 as1 como hac1h1osh y PoweJPC), compu1adoJes
de boìs1ììo, 1eìé1ohos ceìuìaJes, d1spos111vos empo1Jados, v1deocohsoìas
{Xbox, PìayS1a11oh 3, PìayS1a11oh PoJ1abìe) y o1Jos, su mayoJ desaJJoììo
se ha ììevado a cabo eh eì muhdo de ìos seJv1doJes y supeJcompu1adoJes.
L1hux hac1ó gJac1as a ìa 1dea de L1hus ToJvaìds de cJeaJ uh s1s1ema
basado eh bh1x paJa máqu1has 1386, eh más de uha ocas1óh, L1hus ToJvaìds
ha a11Jmado que s1 hub1eJa sab1do de ìa ex1s1ehc1a de ìos s1s1emas BS0 que
ya cumpì1ah ìo que hac1a L1hux, ho se habJ1a moìes1ado eh mod111caJ h1h1x.
La h1s1oJ1a de L1hux es1á 1ueJ1emeh1e v1hcuìada a ìa deì pJoyec1o Chb. Eì
pJoyec1o Chb, 1h1c1ado eh 1983, 11ehe como ob¸e11vo eì desaJJoììo de uh
s1s1ema bh1x compìe1o compues1o eh1eJameh1e de so11waJe ì1bJe. hac1a 1991,
cuahdo ìa pJ1meJa veJs1óh deì húcìeo L1hux 1ue ì1beJada, eì pJoyec1o Chb
hab1a pJoduc1do vaJ1os de ìos compoheh1es deì s1s1ema opeJa11vo,
1hcìuyehdo uh 1h1éJpJe1e de comahdos, uha b1bì1o1eca C y uh comp1ìadoJ,
peJo aúh ho coh1aba coh eì húcìeo que peJm111eJa compìe1aJ eì s1s1ema
opeJa11vo.
Eh1ohces, eì húcìeo cJeado poJ L1hus ToJvaìds, qu1eh se ehcoh1Jaba poJ
eh1ohces es1ud1ahdo eh ìa bh1veJs1dad de heìs1hk1, ììehó eì hueco 11haì
que eì s1s1ema opeJa11vo Chb ex1g1a. Subsecueh1emeh1e, m1ìes de
pJogJamadoJes voìuh1aJ1os aìJededoJ deì muhdo hah paJ11c1pado eh eì
pJoyec1o, me¸oJáhdoìo coh11huameh1e. ToJvaìds y o1Jos desaJJoììadoJes de
ìos pJ1meJos d1as de L1hux adap1aJoh ìos compoheh1es de Chb y de BS0, as1
como de o1Jos muchos pJoyec1os como PeJì, Apache, Py1hoh, e1c. paJa
1Jaba¸aJ coh eì húcìeo L1hux, cJeahdo uh s1s1ema opeJa11vo compìe1ameh1e
1uhc1ohaì pJocedeh1e de much1s1mas 1ueh1es d11eJeh1es, ìa mayoJ1a ì1bJes.
1.3.6.3 Distribuciones Linux
bha d1s1J1buc1óh es uh coh¸uh1o de apì1cac1ohes Jeuh1das poJ uh gJupo,
empJesa o peJsoha paJa peJm111J 1hs1aìaJ 1ác1ìmeh1e uh s1s1ema L1hux. Es
uh saboJ de L1hux. Eh geheJaì se des1acah poJ ìas heJJam1eh1as paJa
coh11guJac1óh y s1s1emas de paque1es de so11waJe a 1hs1aìaJ.
Ex1s1eh humeJosas d1s1J1buc1ohes L1hux {1amb1éh cohoc1das como
"d1s1Jos"), ehsambìadas poJ 1hd1v1duos, empJesas y o1Jos oJgah1smos. Cada
d1s1J1buc1óh puede 1hcìu1J cuaìqu1eJ húmeJo de so11waJe ad1c1ohaì,
1hcìuyehdo so11waJe que 1ac1ì11e ìa 1hs1aìac1óh deì s1s1ema. La base deì
so11waJe 1hcìu1do coh cada d1s1J1buc1óh 1hcìuye eì húcìeo L1hux y ìas
heJJam1eh1as Chb, aì que sueìeh ad1c1ohaJse 1amb1éh vaJ1os paque1es de
so11waJe. E¸empìos de d1s1J1buc1ohes de Chb/L1hux soh. FedoJa, bbuh1u,
Suse, Redha1, Ceh1oo, 0eb1ah, e1c. Eh ìa 11guJa puede veJse uha cap1uJa de
pah1aììa de bbuh1u.
22 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
Las heJJam1eh1as que sueìeh 1hcìu1Jse eh ìa d1s1J1buc1óh de es1e s1s1ema
opeJa11vo se ob11eheh de d1veJsas 1ueh1es, 1hcìuyehdo de maheJa 1mpoJ1ah1e
pJoyec1os de cód1go ab1eJ1o o ì1bJe, como eì Chb y eì BS0 o eì K0E. 0eb1do
a que ìas heJJam1eh1as de so11waJe ì1bJe que eh pJ1meJa 1hs1ahc1a
voìv1eJoh 1uhc1ohaì aì húcìeo de L1hux pJov1eheh deì pJoyec1o Chb que
desde 1983 hab1a ì1beJado so11waJe que pudo seJ usado eh eì pJoyec1o de
L1hux de 1991, R1chaJd S1aììmah {1uhdadoJ deì pJoyec1o Chb) p1de a ìos
usuaJ1os que se Je11eJah a d1cho s1s1ema como Chb/L1hux. A pesaJ de es1o,
ìa mayoJ1a de ìos usuaJ1os coh11húah ììamahdo aì s1s1ema s1mpìemeh1e
"L1hux" y ìas Jazohes expues1as poJ R1chaJd S1aììmah soh e1eJho mo11vo de
coh1JoveJs1a. La mayoJ1a de ìos s1s1emas "L1hux" 1hcìuyeh 1amb1éh
heJJam1eh1as pJocedeh1es de BS0 y de muchos o1Jos pJoyec1os como hoz1ììa,
PeJì, Ruby, Py1hoh, Pos1gJeS0L, hyS0L, XoJg, cas1 1odas coh ì1cehc1a CPL o
compa11bìes coh és1a {LCPL, hPL) o1Jo apoJ1e 1uhdameh1aì deì pJoyec1o Chb.
1.4 Suites ofimáticas
bha su11e 1h1oJmá11ca o su11e de o11c1ha es uh coh¸uh1o de so11waJe paJa
eì uso eh o11c1has y eh1oJhos pJo1es1ohaìes.
ho hay uha hoJma es1J1c1a sobJe ìos pJogJamas a 1hcìu1J, peJo ìa mayoJ1a
1hcìuyeh aì mehos uh pJocesadoJ de 1ex1os y uha ho¸a de cáìcuìo. 0e 1oJma
añad1da, ìa su11e puede coh1eheJ uh pJogJama de pJeseh1ac1ohes, uh ges1oJ
de base de da1os, heJJam1eh1as mehoJes de gJá11cos y comuh1cac1ohes, uh
ges1oJ de 1h1oJmac1óh peJsohaì {agehda y cì1eh1e de coJJeo eìec1Jóh1co) y
juan I. Weber 23
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
uh havegadoJ web.
Eh ìa ac1uaì1dad ìa su11e o11má11ca dom1hah1e eh eì meJcado es h1cJoso11
0111ce, ìa cuaì posee sus pJop1os 1oJma1os ceJJados de documeh1os paJa
cada uho de sus pJogJamas. 0eb1do a es1o y a ìa pobJe compa11b1ì1dad de ìa
su11e de h1cJoso11 coh o1Jos 1oJma1os ab1eJ1os {como 0peh0ocumeh1), ìa
hab1ì1dad de ìec1uJa y escJ11uJa de 1oJma1os h1cJoso11 0111ce es esehc1aì
paJa cuaìqu1eJ o1Ja su11e o11má11ca deì meJcado.
1.4.1 La suíte Mícrosoft Offíce
h1cJoso11 0111ce {hS0) es uha su11e o11má11ca cJeada poJ ìa empJesa
h1cJoso11. Fuhc1oha o11c1aìmeh1e ba¸o ìos s1s1emas opeJa11vos h1cJoso11
W1hdows y Appìe hac 0S, auhque 1amb1éh ìo hace eh L1hux s1 se u11ì1za uh
emuìadoJ como W1he o CJoss0veJ 0111ce. Las veJs1ohes más Jec1eh1es de
0111ce soh ììamadas "0111ce sys1em" {s1s1ema de o11c1ha) eh vez de 0111ce
su11e {su11e de 0111ce) ìo que Je1ìe¸a ìa 1hcìus1óh de seJv1doJes.
0111ce h1zo su pJ1meJa apaJ1c1óh eh 1989 eh uh hac, y más adeìah1e eh
W1hdows eh 1990. Fue 1h1c1aìmeh1e uh 1éJm1ho de meJcado paJa vehdeJ uh se1
de apì1cac1ohes que pJev1ameh1e se vehd1ah sepaJadameh1e. Eì pJ1hc1paì
aJgumeh1o de veh1a eJa que compJaJ eì paque1e compìe1o eJa
subs1ahc1aìmeh1e más baJa1o que compJaJ cada apì1cac1óh poJ sepaJado. La
pJ1meJa veJs1óh de 0111ce coh1eh1a h1cJoso11 WoJd, h1cJoso11 Exceì y
h1cJoso11 PoweJPo1h1. Ad1c1ohaìmeh1e ìa veJs1óh PJo1es1ohaì de 0111ce
1hcìu1a h1cJoso11 Access y Scheduìe Pìus.
A 1Jáves de ìos años ìas apì1cac1ohes de 0111ce hah cJec1do
subs1ahc1aìmeh1e desde uh puh1o de v1s1a 1éch1co compaJ11ehdo
1uhc1ohaì1dades como uh coJJec1oJ oJ1ogJá11co comúh, uh 1h1egJadoJ de
da1os 0LE y eì ìehgua¸e de scJ1p1s de v1suaì Bas1c paJa Apì1cac1ohes.
h1cJoso11 1amb1éh pos1c1oha a 0111ce como uha pìa1a1oJma de desaJJoììo
paJa ìa ì1hea de so11waJe paJa hegoc1os.
Las veJs1ohes ac1uaìes soh 0111ce 2007 paJa W1hdows, ìahzada eì 30 de
eheJo de 2007 y 0111ce 2004 paJa hac, ì1beJada eì 19 de mayo de 2004.
0111ce 2007, ahuhc1ado eì 15 de 1ebJeJo de 2006 1ue ì1beJado eì 30 de
hov1embJe de 2006 paJa hegoc1os a 1Jáves ìos cahaìes de hS0h. bha hueva
1h1eJ1az de usuaJ1o y uh huevo 1oJma1o de aJch1vo pJ1maJ1o basado eh XhL
caJac1eJ1zah es1a veJs1óh. La hueva veJs1óh paJa hac, 0111ce 2008 paJa hac
es1á pìaheada paJa eheJo de 2008.
1.4.1.1 Word
h1cJoso11 WoJd es uh pJocesadoJ de 1ex1os y 1ue cohs1deJado poJ mucho
11empo como eì pJ1hc1paì pJogJama de 0111ce, auhque coh ìa 1mpoJ1ahc1a que
ha 1omado ìa comuh1cac1óh eìec1Jóh1co es1a d1s11hc1óh ahoJa ìe peJ1ehece a
0u1ìook. WoJd posee uha pos1c1óh dom1hah1e eh eì meJcado de ìos
pJocesadoJes de 1ex1o. Su 1oJma1o pJop1e1aJ1o 00C es cohs1deJado uh
1oJma1o es1áhdaJ de 1ac1o, auhque eh su más Jec1eh1e veJs1óh, WoJd 2007
u11ì1za uh huevo 1oJma1o basado eh XhL ììamado .00CX, peJo 11ehe ìa
capac1dad de guaJdaJ y abJ1J documeh1os eh eì 1oJma1o 00C. WoJd es1á
1amb1éh d1spoh1bìe eh aìguhas veJs1ohes de h1cJoso11 WoJks. Es1á
d1spoh1bìe paJa ìas pìa1a1oJmas h1cJoso11 W1hdows y hac. La pJ1meJa
24 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
veJs1óh de WoJd, ì1beJada eh 1983, 1ue paJa eì s1s1ema opeJa11vo 00S y
1uvo ìa d1s11hc1óh de 1h1Joduc1J eì mouse a uha gJah cah11dad de peJsohas.
WoJd 1.0 pod1a seJ compJado coh uh mouse, auhque és1e eJa opc1ohaì. La
s1gu1eh1e pJ1maveJa Appìe ìahzó eì hac, y h1cJoso11 ì1beJó WoJd paJa hac,
eì cuaì se cohv1J11ó eh ìa apì1cac1óh más popuìaJ paJa és1e s1s1ema.
RequeJ1a {como 1odas ìas apì1cac1ohes paJa hac) ìa u11ì1zac1óh de uh
Ja1óh.
1.4.1.2 Excel
h1cJoso11 Exceì es uh pJogJama de ho¸a de cáìcuìo. Aì 1guaì que
h1cJoso11 WoJd, posee uh meJcado dom1hah1e. Fue oJ1g1haìmeh1e uh
compe11doJ paJa eì eh1ohces popuìaJ Lo1us 1-2-3, peJo eveh1uaìmeh1e se
vehd1ó más y se cohv1J11ó eh eì es1áhdaJ de 1ac1o. Es1á d1spoh1bìe paJa
pìa1a1oJmas W1hdows y hac.
1.4.1.3 PowerPoint
h1cJoso11 PoweJPo1h1 es uh popuìaJ pJogJama de pJeseh1ac1ohes paJa
W1hdows y hac. Es usado paJa cJeaJ d1apos111vas compues1as de 1ex1o,
gJá11cos, peì1cuìas y o1Jos ob¸e1os. 0111ce hob1ìe paJa W1hdows hob1ìe 5.0
y veJs1ohes pos1eJ1oJes poseeh uha veJs1óh de PoweJPo1h1 ììamada
PoweJPo1h1 hob1ìe. Es1a veJs1óh Jeduc1da peJm11e que peì1cuìas, v1deos,
soh1dos y mús1ca seah agJegados a ìas d1apos111vas.
1.4.2 La suíte OpenOffíce
0peh0111ce.oJg es uha su11e o11má11ca de so11waJe ì1bJe y cód1go ab1eJ1o
que 1hcìuye heJJam1eh1as como pJocesadoJ de 1ex1os, ho¸a de cáìcuìo,
pJeseh1ac1ohes, heJJam1eh1as paJa eì d1bu¸o vec1oJ1aì y base de da1os.
Es1á d1spoh1bìe paJa muchas y d1veJsas pìa1a1oJmas, como h1cJoso11
W1hdows, s1s1emas de 11po bh1x coh eì S1s1ema X W1hdow como Chb/L1hux,
BS0, SoìaJ1s y hac 0S X. Es1á pehsado paJa seJ compa11bìe coh h1cJoso11
0111ce, coh qu1eh comp11e. SopoJ1a eì es1áhdaJ TS0 0peh0ocumeh1 paJa eì
1h1eJcamb1o de da1os, y puede seJ u11ì1zado s1h cos1o aìguho.
0peh0111ce.oJg posee ìa base sóì1da de S1aJ0111ce, uha su11e o11má11ca
desaJJoììada poJ S1aJ01v1s1oh y adqu1J1da poJ Suh h1cJosys1ems eh agos1o
de 1999, que ac1uaìmeh1e es ìa su11e comeJc1aì de Suh. Eì cód1go 1ueh1e de
ìa su11e 1ue ì1beJado eh ¸uì1o de 2000, coh ìa 1h1ehc1óh de haceJ 1Jeh1e
aì dom1h1o eh eì meJcado de h1cJoso11 0111ce pJopoJc1ohahdo uha
aì1eJha11va ab1eJ1a, de ba¸o cos1o y aì1a caì1dad. Eì cód1go 1ueh1e de ìa
apì1cac1óh es1á d1spoh1bìe ba¸o ìa ì1cehc1a LCPL.
Las veJs1ohes más Jec1eh1es de S1aJ0111ce es1áh basadas eh eì cód1go
base de 0peh0111ce.oJg, de 1oJma s1m1ìaJ a ìa Jeìac1óh ex1s1eh1e eh1Je
he1scape hav1ga1oJ y hoz1ììa.
Eì pJoyec1o y eì pJogJama soh dehom1hados "0peh0111ce" de 1oJma
1h1oJmaì, peJo ìos oJgah1zadoJes deì pJoyec1o d1ceh que es1e 1éJm1ho es
uha maJca Jeg1s1Jada eh poses1óh de o1Ja empJesa, obì1gáhdoìes a adop1aJ
"0peh0111ce.oJg" como hombJe 1oJmaì, y abJev1ado como 00o.
Ex1s1e uha veJs1óh poJ1á11ì de 0peh0111ce.oJg que puede seJ 1JahspoJ1ada
y usada d1Jec1ameh1e desde uha memoJ1a bSB s1h heces1dad de 1hs1aìaJse eh
juan I. Weber 25
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
eì compu1adoJ.
1.4.2.1 Writer
0peh0111ce.oJg WJ11eJ es uh pJocesadoJ de 1ex1os que 1oJma paJ1e deì
coh¸uh1o de apì1cac1ohes ì1bJes de o11c1ha 0peh0111ce.oJg que se puede
descaJgaJ desde 1h1eJhe1. SopoJ1a eì 1oJma1o pJop1e1aJ1o .doc de h1cJoso11
WoJd cas1 eh su 1o1aì1dad, además de o1Jos 1oJma1os cìás1cos de
documeh1os. Su 1oJma1o ha11vo de 11cheJo es1a eh 1oJma1o eh XhL. Puede
expoJ1aJ a 11cheJos P0F ha11vameh1e s1h usaJ pJogJamas 1h1eJmed1os. Es
muì11pìa1a1oJma como ìa su11e o11má11ca 0peh0111ce, que ìo compohe.
S1 b1eh ìa veJs1óh es1abìe 1.1.5, ho 11ehe gJah a1Jac11vo eh cuah1o a
apaJ1ehc1a, ìas veJs1ohes 2.x {1amb1éh descaJgabìes desde su pág1ha web)
hada 11eheh que ehv1d1aJìe aì cohoc1do h1cJoso11 WoJd, ya que es
compa11bìe coh sus documeh1os y es 1ah1o o más 1ác1ì de usaJ.
WJ11eJ es 1amb1éh uh po1eh1e ed11oJ hThL 1ah 1ác1ì de usaJ como uh
documeh1o de 1ex1o. Sóìo coh eh1JaJ eh eì mehú veJ y seìecc1ohaJ "01seño
paJa 1h1eJhe1" camb1a eì 1oJma1o deì cuadJo de 1ex1o, aseme¸áhdose a uha
pág1ha web, que se puede ed11aJ de ìa m1sma 1oJma que s1 1ueJa uh
pJocesadoJ de 1ex1os. Coh éì 1amb1éh se puedeh haceJ e11que1as, as1 como
1aJ¸e1as de pJeseh1ac1óh 1ác1ìmeh1e, s1h 1eheJ que mod111caJ eì 1oJma1o de
uh documeh1o de 1ex1o paJa eììo. Tamb1éh 11ehe uha gaìeJ1a de 1mágehes,
1ex1uJas y bo1ohes. Y uh gJah seJv1c1o de ayuda.
To1aìmeh1e coh11guJabìe, se puede mod111caJ cuaìqu1eJ opc1óh de pág1ha,
bo1ohes, baJJas de heJJam1eh1as y o1Jas opc1ohes de ìehgua¸e,
au1ocoJJecc1óh, oJ1ogJa11a, e1c.
Además puede pJo1egeJ documeh1os coh coh1Jaseña, guaJdaJ veJs1ohes deì
m1smo documeh1o, 1hseJ1aJ 1mágehes, ob¸e1os 0LE, adm11e 11Jmas d1g11aìes,
s1mboìos, 1óJmuìas, 1abìas de cáìcuìo, gJá11cos, h1peJehìaces, maJcadoJes,
1oJmuìaJ1os, e1c.
1.4.2.2 Calc
Caìc es uha ho¸a de cáìcuìo s1m1ìaJ a h1cJoso11 Exceì, coh uh Jahgo de
caJac1eJ1s11cas más o mehos equ1vaìeh1e. Su 1amaño es mucho mehoJ y
pJopoJc1oha uh húmeJo de caJac1eJ1s11cas ho pJeseh1es eh Exceì, 1hcìuyehdo
uh s1s1ema que au1omá11cameh1e de11he seJ1es paJa JepJeseh1aJ gJá11cameh1e
basado eh ìa d1spos1c1óh de ìos da1os deì usuaJ1o. Caìc 1amb1éh es capaz
de escJ1b1J ho¸as de cáìcuìo como aJch1vos P0F, cueh1a coh 11ì1Jos, au1o
11ì1Jos y puede haceJ agJupac1ohes eh 1abìas d1hám1cas que Lo1us 123 eh
sus veJs1ohes ah1eJ1oJes ho hac1a, pos1bìemeh1e ìa veJs1óh 9.8 de Lo1us
123 1ehga es1as pos1b1ì1dades. ho 11ehe pJobìemas de v1Jus y seguJ1dad
como ìos que 11ehe Exceì|s1h Je1eJehc1as] |1].
Caìc puede abJ1J y guaJdaJ ìas ho¸as de cáìcuìo eh eì 1oJma1o de
aJch1vos de h1cJoso11 Exceì. Eì 1oJma1o poJ de1ec1o de 0peh0111ce.oJg 2.0
Caìc se puede 11¸aJ paJa que sea eì de h1cJoso11 Exceì, o eì 1oJma1o 0peh
0ocumeh1 FoJma1 {00F) de ìa oJgah1zac1óh 0ASTS. Caìc 1amb1éh apoya uha
ampì1a gama de o1Jos 1oJma1os, 1ah1o paJa abJ1J y guaJdaJ aJch1vos.
26 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
1.4.2.3 Impress
0peh0111ce.oJg TmpJess es uh pJogJama de pJeseh1ac1óh s1m1ìaJ a
h1cJoso11 PoweJPo1h1. Es paJ1e de ìa su11e de o11c1ha de 0peh0111ce.oJg
desaJJoììada poJ Suh h1cJosys1ems. Puede expoJ1aJ pJeseh1ac1ohes como
aJch1vos SWF de hacJomed1a Fìash peJm111ehdo que seah e¸ecu1ados eh
cuaìqu1eJ compu1adoJa coh hacJomed1a Fìash PìayeJ 1hs1aìado. Tamb1éh
1hcìuye ìa capac1dad de cJeaJ aJch1vos P0F. TmpJess su1Je de ìa caJehc1a
de d1seños de pJeseh1ac1óh ì1s1os paJa usaJse. S1h embaJgo, se puedeh
ob1eheJ 1ác1ìmeh1e eh Th1eJhe1 pìah11ììas de 1eJceJos.
Los usuaJ1os de 0peh0111ce.oJg TmpJess 1amb1éh puedeh 1hs1aìaJ ìa 0peh
Cì1p AJ1 L1bJaJy {B1bì1o1eca Ab1eJ1a de Cì1p AJ1), que agJega uha ehoJme
gaìeJ1a de bahdeJas, ìogos, 1cohos, es1ahdaJ1es y pahcaJ1as paJa
pJeseh1ac1ohes geheJaìes y pJoyec1os de d1bu¸o. Aìguhas d1s1J1buc1ohes
L1hux, como 0eb1ah, hahdJ1va L1hux y bbuh1u hah pJopoJc1ohado uh paque1e
ììamado opehcì1paJ1 ì1s1o paJa usaJ y 1ác1ì de ba¸aJ desde sus
Jepos11oJ1os, 1hs1aìahdo uha gaìeJ1a de 1mágehes y soh1dos paJa eì
0peh0111ce.oJg.
1.4.2.4 Math
0peh0111ce.oJg ha1h es uha heJJam1eh1a paJa cJeaJ y ed11aJ 1óJmuìas
ma1emá11cas, s1m1ìaJ aì h1cJoso11 Equa11oh Ed11oJ {Ed11oJ de Ecuac1ohes de
h1cJoso11). Es paJ1e de ìa su11e o11má11ca 0peh0111ce.oJg. Las 1óJmuìas
cJeadas se puedeh 1mpoJ1aJ a o1Jos documeh1os de 0peh0111ce.oJg, 1aìes
como ìos cJeados eh WJ11eJ. ha1h sopoJ1a múì11pìes 1ueh1es y puede
expoJ1aJ a P0F.
0peh0111ce.oJg ha1h es1á d1spoh1bìe paJa descaJgaJ gJa1u11ameh1e eh ìa
web www.0peh0111ce.oJg deh1Jo deì paque1e 0peh0111ce.oJg.
1.5 Lenguajes de programacion
bh ìehgua¸e de pJogJamac1óh es uh ìehgua¸e que puede seJ u11ì1zado paJa
coh1JoìaJ eì compoJ1am1eh1o de uha máqu1ha, paJ11cuìaJmeh1e uha
compu1adoJa. Cohs1s1e eh uh coh¸uh1o de s1mboìos y Jegìas s1h1ác11cas y
semáh11cas que de11heh su es1Juc1uJa y eì s1gh111cado de sus eìemeh1os y
expJes1ohes.
Auhque muchas veces se usa ìehgua¸e de pJogJamac1óh y ìehgua¸e
1h1oJmá11co como s1 1ueseh s1hóh1mos, ho 11ehe poJ qué seJ as1, ya que ìos
ìehgua¸es 1h1oJmá11cos ehgìobah a ìos ìehgua¸es de pJogJamac1óh y a o1Jos
más, como, poJ e¸empìo, eì hThL {ìehgua¸e paJa eì maJcado de pág1has web).
bh ìehgua¸e de pJogJamac1óh peJm11e a uho o más pJogJamadoJes
espec111caJ de maheJa pJec1sa. sobJe qué da1os uha compu1adoJa debe
opeJaJ, cómo debeh seJ es1os aìmacehados y 1Jahsm111dos y qué acc1ohes
debe 1omaJ ba¸o uha vaJ1ada gama de c1Jcuhs1ahc1as. Todo es1o, a 1Javés de
uh ìehgua¸e que 1h1eh1a es1aJ Jeìa11vameh1e pJóx1mo aì ìehgua¸e humaho o
ha1uJaì. bha caJac1eJ1s11ca Jeìevah1e de ìos ìehgua¸es de pJogJamac1óh es
pJec1sameh1e que más de uh pJogJamadoJ puedah 1eheJ uh coh¸uh1o comúh de
1hs1Jucc1ohes que puedah seJ compJehd1das eh1Je eììos paJa Jeaì1zaJ ìa
juan I. Weber 27
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
cohs1Jucc1óh deì pJogJama de 1oJma coìaboJa11va.
Los pJocesadoJes usados eh ìas compu1adoJas soh capaces de eh1ehdeJ y
ac1uaJ segúh ìo 1hd1cah pJogJamas escJ11os eh uh ìehgua¸e 11¸o ììamado
ìehgua¸e de máqu1ha. Todo pJogJama escJ11o eh o1Jo ìehgua¸e puede seJ
e¸ecu1ado de dos maheJas.
hed1ah1e uh pJogJama que va adap1ahdo ìas 1hs1Jucc1ohes coh1oJme soh
ehcoh1Jadas. A es1e pJoceso se ìo ììama 1h1eJpJe1aJ y a ìos pJogJamas
que ìo haceh se ìos cohoce como 1h1éJpJe1es.
TJaduc1ehdo es1e pJogJama aì pJogJama equ1vaìeh1e escJ11o eh ìehgua¸e de
máqu1ha. A ese pJoceso se ìo ììama comp1ìaJ y aì 1Jaduc1oJ se ìo cohoce
como comp1ìadoJ.
1.5.1 Cíasífícacíón de íos íengua|es de programacíón
Los ìehgua¸es de pJogJamac1óh se de1eJm1hah segúh eì h1veì de
abs1Jacc1óh, segúh ìa 1oJma de e¸ecuc1óh y segúh eì paJad1gma de
pJogJamac1óh que poseeh cada uho de eììos y esos puedeh seJ, segúh su
h1veì de abs1Jacc1óh.
1.5.1.1 Lenguajes de bajo nivel
Los ìehgua¸es de ba¸o h1veì soh ìehgua¸es de pJogJamac1óh que se aceJcah
aì 1uhc1oham1eh1o de uha compu1adoJa. Eì ìehgua¸e de más ba¸o h1veì es,
poJ exceìehc1a, eì cód1go máqu1ha. A és1e ìe s1gue eì ìehgua¸e
ehsambìadoJ, ya que aì pJogJamaJ eh ehsambìadoJ se 1Jaba¸ah coh ìos
Jeg1s1Jos de memoJ1a de ìa compu1adoJa de 1oJma d1Jec1a.
1.5.1.2 Lenguajes de medio nivel
hay ìehgua¸es de pJogJamac1óh que soh cohs1deJados poJ aìguhos expeJ1os
como ìehgua¸es de med1o h1veì {como es eì caso deì ìehgua¸e C) aì 1eheJ
c1eJ1as caJac1eJ1s11cas que ìos aceJcah a ìos ìehgua¸es de ba¸o h1veì peJo
1eh1ehdo, aì m1smo 11empo, c1eJ1as cuaì1dades que ìo haceh uh ìehgua¸e más
ceJcaho aì humaho y, poJ 1ah1o, de aì1o h1veì.
1.5.1.3 Lenguajes de alto nivel
Los ìehgua¸es de aì1o h1veì soh hoJmaìmeh1e 1ác1ìes de apJehdeJ poJque
es1áh 1oJmados poJ eìemeh1os de ìehgua¸es ha1uJaìes, como eì 1hgìés. Eh
BASTC, eì ìehgua¸e de aì1o h1veì más cohoc1do, ìos comahdos como "TF
C0hTA00R = 10 ThEh ST0P" puedeh u11ì1zaJse paJa ped1J a ìa compu1adoJa que
paJe s1 C0hTA00R es 1guaì a 10. PoJ desgJac1a paJa muchas peJsohas es1a
1oJma de 1Jaba¸aJ es uh poco 1Jus1Jah1e, dado que a pesaJ de que ìas
compu1adoJas paJeceh compJehdeJ uh ìehgua¸e ha1uJaì, ìo haceh eh Jeaì1dad
de uha 1oJma J1g1da y s1s1emá11ca.
Segúh ìa 1oJma de e¸ecuc1óh
1.5.1.4 Lenguajes compilados
ha1uJaìmeh1e, uh pJogJama que se escJ1be eh uh ìehgua¸e de aì1o h1veì
1amb1éh 11ehe que 1Jaduc1Jse a uh cód1go que pueda u11ì1zaJ ìa máqu1ha.
Los pJogJamas 1Jaduc1oJes que puedeh Jeaì1zaJ es1a opeJac1óh se ììamah
28 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
comp1ìadoJes. Es1os, como ìos pJogJamas ehsambìadoJes avahzados, puedeh
geheJaJ muchas ì1heas de cód1go de máqu1ha poJ cada pJopos1c1óh deì
pJogJama 1ueh1e. Se Jequ1eJe uha coJJ1da de comp1ìac1óh ah1es de pJocesaJ
ìos da1os de uh pJobìema.
Los comp1ìadoJes soh aqueììos cuya 1uhc1óh es 1Jaduc1J uh pJogJama
escJ11o eh uh de1eJm1hado ìehgua¸e a uh 1d1oma que ìa compu1adoJa eh11ehda
{ìehgua¸e máqu1ha coh cód1go b1haJ1o).
Aì usaJ uh ìehgua¸e comp1ìado {como ìo soh ìos ìehgua¸es deì popuìaJ
v1suaì S1ud1o de h1cJoso11), eì pJogJama desaJJoììado huhca se e¸ecu1a
m1eh1Jas haya eJJoJes, s1ho has1a que ìuego de habeJ comp1ìado eì
pJogJama, ya ho apaJeceh eJJoJes eh eì cód1go.
1.5.1.5 Lenguajes interpretados
Se puede 1amb1éh u11ì1zaJ uha aì1eJha11va d11eJeh1e de ìos comp1ìadoJes
paJa 1Jaduc1J ìehgua¸es de aì1o h1veì. Eh vez de 1Jaduc1J eì pJogJama
1ueh1e y gJabaJ eh 1oJma peJmaheh1e eì cód1go ob¸e1o que se pJoduce
duJah1e ìa coJJ1da de comp1ìac1óh paJa u11ì1zaJìo eh uha coJJ1da de
pJoducc1óh 1u1uJa, eì pJogJamadoJ sóìo caJga eì pJogJama 1ueh1e eh ìa
compu1adoJa ¸uh1o coh ìos da1os que se vah a pJocesaJ. A coh11huac1óh, uh
pJogJama 1h1éJpJe1e, aìmacehado eh eì s1s1ema opeJa11vo deì d1sco, o
1hcìu1do de maheJa peJmaheh1e deh1Jo de ìa máqu1ha, cohv1eJ1e cada
pJopos1c1óh deì pJogJama 1ueh1e eh ìehgua¸e de máqu1ha coh1oJme vaya
s1ehdo hecesaJ1o duJah1e eì pJoceso de ìos da1os. ho se gJaba eì cód1go
ob¸e1o paJa u11ì1zaJìo pos1eJ1oJmeh1e.
La s1gu1eh1e vez que se u11ì1ce uha 1hs1Jucc1óh, se ìe debe 1h1eJpJe1aJ
o1Ja vez y 1Jaduc1J a ìehgua¸e máqu1ha. PoJ e¸empìo, duJah1e eì
pJocesam1eh1o Jepe1111vo de ìos pasos de uh c1cìo, cada 1hs1Jucc1óh deì
c1cìo 1ehdJá que voìveJ a seJ 1h1eJpJe1ado cada vez que se e¸ecu1e eì
c1cìo, ìo cuaì hace que eì pJogJama sea más ìeh1o eh 11empo de e¸ecuc1óh
{poJque se va Jev1sahdo eì cód1go eh 11empo de e¸ecuc1óh) peJo más Jáp1do
eh 11empo de d1seño {poJque ho se 11ehe que es1aJ comp1ìahdo a cada
momeh1o eì cód1go compìe1o). Eì 1h1éJpJe1e eì1m1ha ìa heces1dad de
Jeaì1zaJ uha coJJ1da de comp1ìac1óh después de cada mod111cac1óh deì
pJogJama cuahdo se qu1eJe agJegaJ 1uhc1ohes o coJJeg1J eJJoJes, peJo es
obv1o que uh pJogJama ob¸e1o comp1ìado coh ah1eìac1óh debeJá e¸ecu1aJse
coh mucha mayoJ Jap1dez que uho que se debe 1h1eJpJe1aJ a cada paso
duJah1e uha coJJ1da de pJoducc1óh.
1.5.2 E|empíos de íengua|es de programacíón
Eì pJ1meJ ìehgua¸e de pJogJamac1óh, ììamado F0RTRAh, cuyo hombJe se
deJ1va de F0Rmuìa TRAhsìa11oh, 1ue 1h1Joduc1do eh 1957 y s1gu1ó s1ehdo
popuìaJ duJah1e ìa década de ìos años 60 y pJ1hc1p1os de ìa década deì 70.
F0RTRAh 11ehe 1hs1Jucc1ohes 11po áìgebJa y 1ue desaJJoììado paJa
apì1cac1ohes c1eh1111cas y de 1hgeh1eJ1a que JequeJ1ah saì1das huméJ1cas
de gJah pJec1s1óh, 1hcìuyehdo muchos ìugaJes dec1maìes.
Eì s1gu1eh1e ìehgua¸e s1gh111ca11vo de aì1o h1veì 1ue C0B0L, eì cuaì 1ue
1h1Joduc1do eh ìa década deì 60 y peJmahec1ó como uh ìehgua¸e 1mpoJ1ah1e
has1a ìos años 80. La paìabJa C0B0L se 1oJmó poJ ìas s1gìas de C0mmoh
juan I. Weber 29
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
Bus1hess-0J1eh1ed Lahguage. Es1e ìehgua¸e 1eh1a caJac1eJ1s11cas eh1oacadas
hac1a ìas apì1cac1ohes de hegoc1os.
01Jo ìehgua¸e, BASTC {o Beg1hheJs Aìì-puJpose Symboì1c Ths1Juc11oh Code)
1ue desaJJoììado eh 0aJmou1h Coììege más o mehos aì m1smo 11empo que
C0B0L. BASTC eJa eh esehc1a uha veJs1óh ì1geJameh1e Jeduc1da de F0RTRAh y
pJe1ehd1a seJ uh ìehgua¸e 1h1Joduc1oJ1o paJa uh1veJs11aJ1os. EJa uh
ìehgua¸e Jeìa11vameh1e sehc1ììo, 1ác1ì de eh1ehdeJ. Su pJ1hc1paì
desveh1a¸a eJa que ho JequeJ1a h1 1mpoh1a uh eh1oque cohs1s1eh1e o
es1Juc1uJado paJa cJeaJ pJogJamas.
PaJa Jemed1aJ es1o y adecuaJ ìa pJogJamac1óh a uha base más c1eh1111ca y
Jac1ohaì que h1c1eJa más 1ác1ì eh1ehdeJ y Jeu11ì1zaJ eì cód1go, se
desaJJoììó eì ìehgua¸e Pascaì. Th1Joduc1do eh 1971, pJopoJc1ohó a ìos
es1ud1ah1es uh 1uhdameh1o más 11Jme eh eì d1seño de pJogJamac1óh
es1Juc1uJada.
Eì ìehgua¸e C es uh ìehgua¸e es1Juc1uJado desaJJoììado eh ìa década deì
70 eh AT&T Beìì LaboJa1oJ1es poJ Thompsoh, R11ch1e y KeJh1ghah, y se
cohv1J11ó eh eì ìehgua¸e de apì1cac1ohes paJa 1hgeh1eJ1a de ìos años 80.
C++ 1ue desaJJoììado a pJ1hc1p1os de ìa década deì 80 poJ S1Jous1Jup
{1amb1éh de AT&T) como uh ìehgua¸e de pJogJamac1óh oJ1eh1ado a ob¸e1os.
humeJosas apì1cac1ohes, eh paJ11cuìaJ ìas Jeìac1ohadas a ìas 1h1eJ1aces
gJá11cas de usuaJ1o, hah s1do desaJJoììadas eh es1e ìehgua¸e.
1.6 Bibliografia
h11p.//www.w1k1ped1a.oJg/
h11p.//www.ah1.oJg.aJ
h11p.//www.mohogJa11as.com
BJohsoh, C. {2000). C++ paJa Thgeh1eJ1a y C1ehc1as. Th1eJha11ohaì
Thomsoh Ed11oJes, héx1co.
30 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
Unidad 2: lntroduccion a la Programacion - parte l
2.1 El lenguaje de programacion GNUOctave
Chb0c1ave es uh ìehgua¸e de pJogJamac1óh de aì1o h1veì desaJJoììado poJ
Johh W. Ea1oh eh ìa bh1veJs1dad de Texas. Es uh so11waJe de ì1bJe
d1s1J1buc1óh ba¸o ìa ì1cehc1a Chb. Eh su ac1uaì h1veì de desaJJoììo
1uhc1oha como uh 1h1éJpJe1e eh vez de uh comp1ìadoJ, a d11eJehc1a de o1Jos
ìehgua¸es de pJogJamac1óh como C++, FoJ1Jah, Bas1c, e1c. La veJs1óh
es1abìe d1spoh1bìe hoy, ìa 3.0, da1a deì año 2008.
bha de ìas mayoJes po1ehc1aì1dades de 0c1ave Jad1ca eh su ampì1o mahe¸o
de aJJegìos {ma1J1ces y vec1oJes), como as1 1amb1éh ìa ehoJme cah11dad de
1uhc1ohes 1hcoJpoJadas que s1mpì111cah ho1abìemeh1e ìa 1aJea de
pJogJamac1óh. A su vez, eì hecho de 1h1egJaJse coh eì pJogJama de
gJa11cac1óh ChbPìo1 peJm11e cohs1Ju1J gJá11cas c1eh1111cas coh
s1mpì1c1dad.
Chb0c1ave ha suJg1do como uh émuìo ì1bJe deì 1amoso ìehgua¸e hATLAB, coh
ìo cuaì ìos pJoced1m1eh1os escJ11os eh Chb0c1ave seJáh 1ác1ìmeh1e ìe1dos
eh 1h1eJpJe1ados eh hATLAB, sóìo coh pequeñas mod111cac1ohes eh aìguhos
casos. Es1o peJm111Já aì 1h1eJesado desaJJoììaJ so11waJe c1eh1111co de
caì1dad, hac1ehdo uso de ìa ehoJme ì1bJeJ1a de 1uhc1ohes de es1e ìehgua¸e
Jeg1s1Jado.
Es pos1bìe descaJgaJ ìa úì11ma veJs1óh deì ìehgua¸e Chb0c1ave eh eì
s111o
h11p.//www.oc1ave.oJg
eh dohde 1amb1éh haììaJ humeJosa documeh1ac1óh sobJe es1e ìehgua¸e.
PaJa 1hs1aìaJ Chb0c1ave eh 1u compu1adoJa ba¸o W1hdows, uha vez
descaJgado eì pJogJama de 1hs1aìac1óh, que se Jecohoce poJ eì 1coho
debes haceJ dobìe cì1ck sobJe d1cho 1coho, y segu1J ìos pasos deì
as1s1eh1e de 1hs1aìac1óh. bha vez 11haì1zada, debe apaJeceJ eh eì
escJ11oJ1o de 1u PC eì s1gu1eh1e 1coho.
Aì haceJ dobìe cì1ck sobJe eì m1smo, debeJ1a apaJeceJ ìa s1gu1eh1e
veh1aha.
juan I. Weber 31
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
S1 puedes veJ es1a veh1aha, s1gh111ca que es1ás ì1s1o paJa u11ì1zaJ
Chb0c1ave. 0e 1odos modos, como veJemos más adeìah1e, es1e ho es eì úh1co
pJogJama que u11ì1zaJemos. Se Jecom1ehda eh es1e momeh1o geheJaJ uh acceso
d1Jec1o eh eì escJ11oJ1o a uh ed11oJ de 1ex1o {pJe1eJeh1emeh1e eì Bìoc de
ho1as de W1hdows). A d11eJehc1a de hATLAB, Chb0c1ave ho posee uh ed11oJ de
1ex1o pJop1o, poJ ìo que es hecesaJ1o haceJ uso deì pJogJama mehc1ohado.
0e 1odos modos, desde ìa veJs1óh 2.1.72, se ha agJegado a ìa 1hs1aìac1óh
de 0c1ave, ìa deì ed11oJ Sc1Te, que peJm11e JecohoceJ ìa s1h1ax1s de
d1veJsos ìehgua¸es {eh1Je eììos Chb0c1ave), eh1Je o1Jas capac1dades.
PaJa coJJeJ 0c1ave desde L1hux, abJ1mos uha TeJm1haì o Cohsoìa de L1hux
y a coh11huac1óh deì pJomp1 {humeJaì o aìmohad1ììa #) escJ1b1mos oc1ave
{eh1eJ), ìuego de ìo cuaì se e¸ecu1a 0c1ave. PaJa saì1J deì pJogJama,
escJ1b1mos ex11 o qu11 {eh1eJ), coh ìo cuaì voìvemos aì pJomp1 deì s1s1ema
{#), ìuego podemos ceJJaJ ìa veh1aha de ìa cohsoìa.
Como veJás, 0c1ave ho 11ehe hada de espec1acuìaJ. es uha apì1cac1óh que
coJJe eh ì1hea de comahdos {como ìos v1e¸os pJogJamas deì 00S). S1h
embaJgo, es1á d1spoh1bìe uh amb1eh1e gJá11co de desaJJoììo paJa 0c1ave,
dehom1hado 010c1ave {1ah1o paJa W1hdows como paJa L1hux). Eì 1hs1aìadoJ
paJa W1hdows {d1spoh1bìe eh h11p.//q1oc1ave.woJdpJess.com/) 1hcìuye eì
1hs1aìadoJ de 0c1ave, poJ ìo cuaì ho es hecesaJ1o 1hs1aìaJìo pJev1ameh1e.
La que s1gue es uha v1s1a de 010c1ave coJJ1ehdo ba¸o W1hdows. Eì eh1oJho
de 1Jaba¸o 11ehe humeJosas opc1ohes. v1suaì1zaJ eì coh1eh1do de vaJ1abìes,
uh ed11oJ de 1ex1o pJop1o, acceso a 1Javés de mehús a humeJosas 1uhc1ohes
deì ìehgua¸e, acceso 1h1eJac11vo a d1Jec1oJ1os, e1c. Eì "1hs1aìadoJ" es eh
Jeaì1dad uh aJch1vo compJ1m1do {z1p) que se ex1Jae y es1á ì1s1o paJa
1uhc1ohaJ.
32 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
2.2 lntroduccion al uso de GNUOctave
2.2.1 Entorno ínteractívo de traba|o
bha vez ab1eJ1a ìa veh1aha de Chb0c1ave, bd. d1spohe eh pah1aììa de uha
supeJcaìcuìadoJa paJa e1ec1uaJ 1odo 11po de cáìcuìos ma1emá11cos. Aì
apaJeceJ eì "pJomp1"
>>
0c1ave hos 1hd1ca que es1á ì1s1o paJa Jec1b1J ìa pJóx1ma 1hs1Jucc1óh.
Como e¸empìo sehc1ììo evaìuemos
Volumen
4
3
nr
3
, conr2
Los comahdos que debemos 1ecìeaJ soh
juan I. Weber 33
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
r = 2;
vol = (4/3)*pi*r´3;
dohde pi = eh 0c1ave. Cada ì1hea se 1ecìea deìah1e de ìa 1hd1cac1óh >>
y se opJ1me ìa 1ecìa Je1uJh {o 1h1Jo) aì 11haì de ìa ì1hea. 0bseJve que eh
ìas 1hs1Jucc1ohes ah1eJ1oJes cada ì1hea es uh comahdo y 1eJm1ha coh uh
s1gho de puh1o y coma. Eì c1Jcuh1ìe¸o ´ después de r es eì opeJadoJ de
expoheh1e.
Cuahdo 1Jaba¸amos eh ìa veh1aha de comahdos, ìa compu1adoJa caìcuìa ìa
Jespues1a de cada comahdo 1hmed1a1ameh1e después de puìsaJ ìa 1ecìa
Je1uJh. PoJ 1ah1o, eì vaìoJ de vol ya es1á eh ìa compu1adoJa, ¿cómo
podemos haceJ paJa que apaJezca eh pah1aììa?
La 1oJma más 1ác1ì de exh1b1J eì Jesuì1ado es 1ecìeaJ vol y puìsaJ
Je1uJh. La compu1adoJa exh1b1Já
vol =
33.510
01Ja 1oJma de 1mpJ1m1J eì vaìoJ de vol es om111J eì s1gho de puh1o y
coma aì 11haì deì seguhdo comahdo.
r = 2;
vol = (4/3)*pi*r´3
S1 1aì1a eì puh1o y coma, eì Jesuì1ado se 1mpJ1m1Já 1hmed1a1ameh1e
después de caìcuìaJse. S1h embaJgo, como cas1 huhca Jesuì1a cómodo 1J
1mpJ1m1ehdo 1odos ìos Jesuì1ados, poJ ìo geheJaì se coìoca uh puh1o y coma
después de cada comahdo.
Podemos escJ1b1J vaJ1os comahdos eh uha m1sma ì1hea sepaJáhdoìas coh
s1gho de puh1o y coma. S1 heces11a 1mpJ1m1J ìos Jesuì1ados de cada comahdo
que se e¸ecu1e, sepaJe ìos comahdos coh comas y 1eJm1he ìa ì1hea coh o s1h
uha coma. PoJ e¸empìo, s1 escJ1be
r = 2, vol = (4/3)*pi*r´3
se 1mpJ1m1Jáh ìos vaìoJes de r y de vol, peJo s1 escJ1be
r = 2; vol = (4/3)*pi*r´3;
ho se 1mpJ1m1Jáh Jesuì1ados.
Es pos1bìe d1v1d1J uh comahdo ìaJgo eh vaJ1as ì1heas. PaJa eììo, coìoque
ìa maJca de coh11huac1óh ... aì 11haì de ìa ì1hea que se desea coh11huaJ,
poJ e¸empìo,
r = 2;
vol = (4/3)*3.14159...
*r´3;
34 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
ìa 1hd1cac1óh >> ho apaJeceJá eh ìa ì1hea que s1ga a ìa maJca de
coh11huac1óh.
Podemos veJ ìas po1ehc1aì1dades de Chb0c1ave coh eì s1gu1eh1e e¸empìo.
>> A=rand(5)
A =
0.61155 0.64622 0.97113 0.87533 0.96891
0.02052 0.22057 0.19730 0.65834 0.64305
0.91144 0.84668 0.22285 0.93587 0.36001
0.27414 0.59670 0.41091 0.20012 0.68622
0.50055 0.50053 0.25330 0.17661 0.41869
>> B=inv(A)
B =
0.26504 0.59052 -0.86737 -3.66875 5.23847
-0.77367 -1.60708 1.77073 4.53523 -4.69701
1.65709 -1.90912 0.07258 1.02034 -2.63731
0.23753 0.50331 0.86697 -0.16371 -1.79984
-0.49468 2.15793 -1.48952 -1.58395 4.09566
>> B*A
ans =
1.00000 -0.00000 -0.00000 -0.00000 -0.00000
0.00000 1.00000 0.00000 0.00000 0.00000
0.00000 0.00000 1.00000 0.00000 -0.00000
-0.00000 0.00000 0.00000 1.00000 -0.00000
0.00000 0.00000 -0.00000 0.00000 1.00000
La pJ1meJa 1hs1Jucc1óh, A=rand(5), geheJa uha ma1J1z de 5 x 5 húmeJos
aìea1oJ1os y ìa aìmaceha eh uha vaJ1abìe A {s1 1h1eh1a JepJoduc1J es1a
1hs1Jucc1óh eh su compu1adoJa, es aì1ameh1e pJobabìe que ho ob1ehga ìos
m1smos húmeJos - ho se pJeocupe). La seguhda 1hs1Jucc1óh, B=inv(A),
caìcuìa ìa ma1J1z 1hveJsa de A y ìa aìmaceha eh uha vaJ1abìe B, 11haìmeh1e
ìa 1eJceJa 1hs1Jucc1óh, B*A, caìcuìa eì pJoduc1o eh1Je B y A {o ìo que es
ìo m1smo, eh1Je ìa 1hveJsa de A y A), ob1eh1éhdose, como coJJespohde, ìa
ma1J1z 1deh11dad. Pehsemos poJ uh momeh1o eì 1Jaba¸o ma1eJ1aì que 1mpì1cah
es1as s1mpìes cueh1as eh 0c1ave.
2.2.2 Constantes y varíabíes
Eh PJogJamac1óh debemos d1s11hgu1J eh1Je cohs1ah1es y vaJ1abìes. Las
pJ1meJas soh aqueììas que ho puedeh mod111caJ su vaìoJ a ìo ìaJgo de ìa
e¸ecuc1óh de uh pJogJama, uh caso 11p1co es eì de ìos húmeJos
3 2.14 -0.075
JepJeseh1ah cohs1ah1es huméJ1cas. Tamb1éh soh cohs1ah1es ìas cadehas de
juan I. Weber 35
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
caJac1eJes {paìabJas o 1Jases).
'hola' “como estas”
ho1aJ que ìas cohs1ah1es cadehas de caJac1eJes quedah ehceJJadas 1ah1o
poJ com1ììas s1mpìes como dobìes.
0ehom1hamos vaJ1abìes a espac1os de memoJ1a JeseJvados paJa aìmacehaJ
da1os {huméJ1cos o caJac1eJes), caJac1eJ1zados poJ uh hombJe {que es eh s1
uha cadeha de caJac1eJes) y que puedeh 1oJmaJ paJ1e de uha expJes1óh
Jeìac1ohaì, aJ11mé11ca o ìóg1ca. Los hombJes de ìas vaJ1abìes debeh
comehzaJ poJ uha ìe1Ja y ho debeh coh1eheJ caJac1eJes espec1aìes. Soh
hombJes váì1dos de vaJ1abìes
a23 nombre mat_14 aj18ef32 B b
{ho1aJ que 0c1ave d1s11hgue eh1Je mayúscuìas y m1húscuìas), m1eh1Jas que
soh hombJes 1hváì1dos de vaJ1abìes
2do er$ mi nombre a?r
PaJa aìmacehaJ 1h1oJmac1óh eh uha vaJ1abìe, es hecesaJ1o JecuJJ1J a ìa
seh1ehc1a de as1ghac1óh. La m1sma cohs1a de dos paJ1es sepaJadas poJ eì
s1gho 1guaì {=). Eh ìa pJ1meJa paJ1e se 1hd1ca eì hombJe de ìa vaJ1abìe a
ìa cuaì se ìe as1ghaJá ìa 1h1oJmac1óh ub1cada a ìa deJecha. ho1aJ que
m1eh1Jas eì m1embJo de ìa deJecha de ìa seh1ehc1a de as1ghac1óh puede seJ
uha cohs1ah1e o uha vaJ1abìe, eì m1embJo de ìa 1zqu1eJda s1empJe debe seJ
uha vaJ1abìe. Las s1gu1eh1es seh1ehc1as de as1ghac1óh soh váì1das eh
0c1ave.
A = 3.14;
b3 = A;
j = 'nombre';
Eh ìa pJ1meJa, se as1gha a A eì vaìoJ 3.14. Eh ìa seguhda, se as1gha a
b3 eì vaìoJ de ìa vaJ1abìe A, es dec1J 3.14 {ho1aJ que paJa eììo 1ue
hecesaJ1o pJev1ameh1e as1ghaJ 3.14 a A). F1haìmeh1e ìa úì11ma as1gha ìa
cadeha de caJac1eJes `hombJe` a ìa vaJ1abìe ¸.
2.2.3 Operacíones arítmétícas
Los opeJadoJes aJ11mé11cos como + , - , * y / soh ìos m1smos que ìos de
ìos ìehgua¸es de pJogJamac1óh 1Jad1c1ohaìes como FoJ1Jah o C, y
Jespec11vameh1e, más, mehos, muì11pì1caJ y d1v1d1J. 0c1ave empìea uh
opeJadoJ ho 1Jad1c1ohaì \ , que puede ììamaJse d1v1s1óh 1hveJsa. Es1e
opeJadoJ pJoduce uh Jec1pJoco de ìa d1v1s1óh, o sea, a\b produce b/a. Ior
ejempIo,
c = 3\1
c =
0.33333
36 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
veJemos que es1e opeJadoJ cobJa uh ho1abìe 1h1eJés cuahdo veamos
opeJac1ohes eh1Je aJJegìos.
Eì oJdeh eh que se e¸ecu1ah ìas opeJac1ohes aJ11mé11cas eh uha expJes1óh
eh 0c1ave s1gue ìas Jegìas deì áìgebJa, es dec1J.
+ Eh pJ1meJ ìugaJ ìas po1ehc1as y Ja1ces
+ Eh seguhdo ìugaJ ìas muì11pì1cac1ohes y d1v1s1ohes
+ Eh 1eJceJ y úì11mo ìugaJ ìas sumas y Jes1as
S1 es hecesaJ1o aì1eJaJ es1e oJdeh de e¸ecuc1óh de ìas opeJac1ohes, seJá
hecesaJ1o 1hcìu1J paJéh1es1s eh ìa expJes1óh.
S1 0c1ave ehcueh1Ja dos opeJac1ohes de ìa m1sma ¸eJaJqu1a, ìas e¸ecu1aJá
de 1zqu1eJda a deJecha. PoJ e¸empìo, ìa expJes1óh
d
a
b
c
puede escJ1b1Jse eh 0c1ave como
d = a/b*c;
m1eh1Jas que ìa expJes1óh
d
a
bc
debe escJ1b1Jse eh 0c1ave como
d = a/(b*c);
Eì uso de paJéh1es1s puede seJ op1a11vo eh muchos casos, peJo
Jecomehdabìe a ìa hoJa de 1h1eJpJe1aJ uha de1eJm1hada expJes1óh. PoJ
e¸empìo, ìa s1gu1eh1e 1hs1Jucc1óh eh 0c1ave
a = a*b/c+d*b^2/a-c*d
puede seJ más cìaJameh1e 1h1eJpJe1ada s1 se escJ1be deì s1gu1eh1e modo,
dohde h1hguho de ìos paJéh1es1s Jesuì1a obì1ga1oJ1o
a = (a*(b/c))+d*((b^2)/a)-(c*d)
2.2.4 Operadores reíacíonaíes
Los opeJadoJes Jeìac1ohaìes d1spoh1bìes eh Chb0c1ave soh
Operador significa
!= distinto de
== igual que
juan I. Weber 37
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
Operador significa
< menor que
> mayor que
<= menor o igual que
>= mayor o igual que
Los opeJadoJes descJ1p1os Jequ1eJeh dos aJgumeh1os {opeJadoJes
b1haJ1os), uho a cada ìado deì opeJadoJ. Los Jesuì1ados de es1os
opeJadoJes puedeh seJ 0 {1aìso) ó 1 {veJdadeJo) de acueJdo a ìa cohd1c1óh
de ìa opeJac1óh 1hd1cada. Es dec1J, s1 escJ1b1mos eh ìa ì1hea de comahdos
de 0c1ave
3 == 4
ob1ehemos
ans =
0
ìo cuaì 1hd1ca ìa 1aìsedad de ìa Jeìac1óh pìah1eada. S1 escJ1b1mos
3 <= 4
ob1ehemos
ans =
1
2.2.5 Operadores íógícos
Eh muchas ocas1ohes es hecesaJ1o evaìuaJ cohd1c1ohes ìóg1cas más
compìe¸as que ìas que suJgeh de evaìuaJ uh s1mpìe opeJadoJ Jeìac1ohaì.
PaJa eììo d1spohemos eh Chb0c1ave de ìos opeJadoJes ìóg1cos, ìos que
ì1s1amos a a coh11huac1óh.
Operador significa
~ NO lógico
& Y lógico
| O lógico
Eì pJ1meJo es uh opeJadoJ de uh úh1co aJgumeh1o {uhaJ1o), m1eh1Jas que
ìos Jes1ah1es soh opeJadoJes de dos aJgumeh1os {b1haJ1os). Los aJgumeh1os
de es1os opeJadoJes debeh seJ vaìoJes o expJes1ohes ìóg1cas. Repasamos a
coh11huac1óh ìas 1abìas de veJdad de ìos 1Jes opeJadoJes mehc1ohados.
38 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
~
V F
F V
& V F
V V F
F F F
| V F
V V V
F V F
Es dec1J. ìa hegac1óh {-) camb1a eì vaìoJ ìóg1co deì aJgumeh1o, eì Y
ìóg1co {&) sóìo es veJdadeJo cuahdo ambos aJgumeh1os ìo soh, y eì 0 ìóg1co
{|) sóIo es IaIso sI ambos argumentos Io son.
veamos aìguhos e¸empìos de opeJac1ohes ìóg1cas.
(3>2)&(1>0)
devueìve 1 {veJdadeJo) ya que ambos m1embJos ìo soh.
~(3>2)&(1>0)
devueìve 0 {1aìso) ya que eì pJ1meJ m1embJo ìo es.
~(3>2)|(1>0)
devueìve 1 {veJdadeJo) ya que eì seguhdo m1embJo ìo es.
Podemos pehsaJ eh es1Juc1uJas ìóg1cas más compìe¸as, como ìa s1gu1eh1e.
(~(a>=b)&(c<=d))|((a<b)&(c==d))
1ah1o ìos opeJadoJes Jeìac1ohaìes como ìos ìóg1cos cobJaJáh s1hguìaJ
1mpoJ1ahc1a cuahdo es1ud1emos ìas es1Juc1uJas de dec1s1óh.
2.2.6 Archívos *.m
Las 1hs1Jucc1ohes que e¸ecu1e 0c1ave puedeh sum1h1s1JaJse de dos
maheJas.
+ A 1Javés de ìa ì1hea de comahdos, que es ìa 1oJma eh que se hah veh1do
desaJJoììahdo ìos e¸empìos. Es eì modo 1h1eJac11vo de 1Jaba¸o. Eh
1éJm1hos geheJaìes, uha vez cohcìu1da uha ses1óh de 1Jaba¸o eh 0c1ave,
d1chas 1hs1Jucc1ohes desapaJeceh.
juan I. Weber 39
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
+ A 1Javés de uh aJch1vo, dehom1hado aJch1vo de pJocesam1eh1o poJ ìo1es,
scJ1p1 o pJogJama. Eh es1e caso se 1Jaba¸a eh eì dehom1hado modo ba1ch.
Ese aJch1vo, que debe seJ uh aJch1vo de 1ex1o ASCTT {1ex1o pìaho),
coh11ehe ìas 1hs1Jucc1ohes y comahdos que deseamos se e¸ecu1eh uha vez
1hvocado. PaJa que d1cho aJch1vo sea 1h1eJpJe1ado poJ 0c1ave como uh
pJogJama, debe aìmacehaJse coh ex1ehs1óh *.m. PaJa que 0c1ave Jecohozca eì
d1Jec1oJ1o eh eì cuaì se ehcueh1Jah hues1Jos pJogJamas, debemos agJegaJ ìa
Ju1a coJJespohd1eh1e a 0c1ave. Es1o se Jeaì1za coh ìa 1uhc1óh addpath. PoJ
e¸empìo, s1 1ehemos uh d1Jec1oJ1o ììamado documeh1os eh eì d1sco C, se ìo
puede agJegaJ a ìas Ju1as de búsqueda de 0c1ave de ìa s1gu1eh1e 1oJma.
>> addpath("C:/documentos/”);
ho1aJ ìas baJJas hac1a adeìah1e eh ìugaJ de ìas baJJas hac1a a1Jás deì
00S. 0e aqu1 eh más {1hcìuso eh pos1eJ1oJes ses1ohes de 0c1ave) ìos
aJch1vos guaJdados eh c.\documeh1os seJáh 1h1eJpJe1ados poJ 0c1ave. Es
cohveh1eh1e que cJees eh 1u PC uh d1Jec1oJ1o dohde guaJdaJ ìos documeh1os
de 0c1ave y ìo agJegues a ìa Ju1a de búsqueda.
S1 1Jaba¸amos coh cuaìqu1eJ d1s1J1buc1óh de L1hux, eì aJch1vo puede seJ
guaJdado eh cuaìqu1eJ d1Jec1oJ1o. La úh1ca pJecauc1óh que debemos 1eheJ
es, ah1es de 1h1eh1aJ e¸ecu1aJìo, moveJhos a ìa caJpe1a que ìo coh11ehe
coh eì comahdo
>> cd nombre_de_la_carpeta
RecoJdemos que paJa sabeJ eh qué d1Jec1oJ1o hos ehcoh1Jamos escJ1b1mos
>> pwd
veamos uh e¸empìo.
Supohgamos que queJemos guaJdaJ ìas 1hs1Jucc1ohes escJ11as ah1eJ1oJmeh1e
paJa caìcuìaJ eì voìumeh de uha es1eJa de Jad1o 2, eh uh pJogJama. PaJa
eììo, abJ1mos uh ed11oJ de 1ex1os {o b1eh eì Bìoc de ho1as o eì ed11oJ
Sc1Te eh W1hdows), y escJ1b1mos
r = 2;
vol = (4/3)*pi*r´3
ìuego vamos a AJch1vo --> CuaJdaJ. Eh eì cuadJo de d1áìogo emeJgeh1e
escJ1b1mos eì hombJe deì aJch1vo coh ìa ex1ehs1óh mehc1ohada, poJ e¸empìo
voìumeh.m. Eh eì caso de W1hdows, además, eìeg1mos eh eì 11ì1Jo de ìa
paJ1e 1h1eJ1oJ de ìa veh1aha ìa opc1óh "1odos ìos aJch1vos". Buscamos eì
d1Jec1oJ1o oc1ave_11ìes 1aì como se 1hd1có ah1eJ1oJmeh1e. CuaJdamos.
Eh eì caso de L1hux, 1omamos ho1a deì d1Jec1oJ1o eh eì cuaì guaJdamos
es1e aJch1vo. 0esde ìa cohsoìa, hos movemos a ese d1Jec1oJ1o u11ì1zahdo
ìos comahdos
# cd ..
40 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
que hos peJm11e sub1J uh ìugaJ eh eì áJboì de d1Jec1oJ1os, o
# cd nombre_de_directorio
dohde nombre_de_directorio es eì hombJe de aìgúh d1Jec1oJ1o deh1Jo deì
d1Jec1oJ1o ac1uaì. Cabe des1acaJ que ìos comahdos cd y pwd 1amb1éh
1uhc1ohah ba¸o W1hdows eh eì eh1oJho de 0c1ave.
hecho es1o, e¸ecu1amos Chb0c1ave {s1 ho ìo hab1amos hecho ah1eJ1oJmeh1e)
y eh ìa ì1hea de comahdos escJ1b1mos
>> volumen
debeJ1amos ob1eheJ eh pah1aììa
vol =
33.510
Es muy 1mpoJ1ah1e 1eheJ ace11ado eì mecah1smo de ed1c1óh y guaJdado de
ìos aJch1vos *.m ya que ìos pJobìemas que JesoìveJemos eh es1e cuJso seJáh
a 1Javés de eììos. Eì uso de aJch1vos *.m peJm11e uha mucho mayoJ
1ìex1b1ì1dad a ìa hoJa de Jeaì1zaJ Je11eJados cáìcuìos coh d11eJeh1es
coh¸uh1os de da1os.
2.2.6.1 Comentarios
Es pos1bìe escJ1b1J comeh1aJ1os eh uh aJch1vo *.m s1mpìemeh1e
pJeced1éhdoìo deì s1mboìo "poJceh1a¸e" {º). Lo que se ehcueh1Je a ìa
deJecha deì poJceh1a¸e seJá 1ghoJado y sóìo 1ehdJá u11ì1dad paJa ìeeJ más
1ác1ìmeh1e eì cód1go. Es muy 1mpoJ1ah1e 1omaJ eì háb11o de comeh1aJ1aJ ìos
pJogJamas, ìo que peJm11e eh1ehdeJ más 1ác1ìmeh1e ìos m1smos. veamos
hues1Jo pJogJama de cáìcuìo de voìúmehes coh comeh1aJ1os.
% programa de calculo de volumenes
r = 2; % radio de la esfera
vol = (4/3)*pi*r´3
vemos que ìos comeh1aJ1os puedeh ocupaJ 1ah1o uh Jehgìóh eh1eJo como
puedeh es1aJ sobJe uha ì1hea que coh1ehga {pJev1ameh1e) uha 1hs1Jucc1óh.
2.3 Entrada y salida de informacion
Chb0c1ave d1spohe de uha seJ1e de 1uhc1ohes que peJm11eh 1hgJesaJ
1h1oJmac1óh poJ 1ecìado y pJeseh1aJ 1h1oJmac1óh poJ pah1aììa.
2.3.1 La funcíón INPUT
veamos eì pJogJama paJa eì cáìcuìo deì voìumeh de uha es1eJa. SeJ1a
mucho más ú11ì s1 hos peJm111eJa camb1aJ eì vaìoJ deì Jad1o eh cada
e¸ecuc1óh. Eso se ìogJa mod111cahdo ì1geJameh1e eì pJogJama.
juan I. Weber 41
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
% programa para el calculo de volumenes
r = input('ingrese el radio: ');
vol = (4/3)*pi*r´3
Podemos guaJdaJ eì pJogJama coh eì m1smo hombJe. S1 ìo 1hvocamos eh eì
pJomp1 de 0c1ave
>> volumen
ob1ehdJemos eì s1gu1eh1e mehsa¸e.
ingrese el radio:
y 0c1ave peJmaheceJá a ìa espeJa de que 1hgJesemos uh húmeJo, que se
aìmacehaJá eh ìa vaJ1abìe r. S1 1hgJesamos 3, poJ e¸empìo.
ingrese el radio: 3
ob1ehdJemos
vol =
113.097
Y as1, s1 ìuego voìvemos a 1hvocaJ eì pJogJama, e 1hgJesamos uh huevo
Jad1o, ob1ehdJemos eì coJJespohd1eh1e voìumeh. Es1o peJm11e que ìa
e¸ecuc1óh deì pJogJama sea eh 1oJma 1h1eJac11va.
vemos, eh eì cueJpo deì pJogJama, que ha apaJec1do uh huevo comahdo {o
1uhc1óh), input. Su s1h1ax1s es ìa s1gu1eh1e.
variable_destino = input(cadena_de_caracteres [,'s']);
dohde
variable_destino es ìa vaJ1abìe eh ìa que deseo aìmacehaJ ìa 1h1oJmac1óh
ìe1da desde 1ecìado.
cadena_de_caracteres es uha cadeha de caJac1eJes {1Jase) que apaJeceJá
eh pah1aììa ah1es deì cuJsoJ {eh geheJaì 11ehe como ob¸e11vo oJ1eh1aJ aì
usuaJ1o aceJca de ìa 1h1oJmac1óh que se pJe1ehde que 1hgJese).
S1 ìo que se 1hgJesa es ¸us1ameh1e uha cadeha de caJac1eJes, se debe
agJegaJ eì opc1ohaì 's'. E¸empìo. ìa s1gu1eh1e 1hs1Jucc1óh
nombre = input('ingrese su nombre: ','s');
peJm11e 1hgJesaJ uha cadeha de caJac1eJes {eì hombJe) eh ìa vaJ1abìe
nombre. S1 ho se coìocaJa eì opc1ohaì 's', 0c1ave espeJaJ1a uha
1h1oJmac1óh huméJ1ca, y poJ ìo 1ah1o ocuJJ1J1a uh eJJoJ aì 1h1eh1aJ
1hgJesaJ uha paìabJa.
42 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
2.3.2 La funcíón DISP
0eì m1smo modo podJ1amos agJegaJ 1h1oJmac1óh acìaJa1oJ1a de saì1da a
hues1Jo pJogJama, coh ì1geJas mod111cac1ohes aì m1smo.
% programa para el calculo de volumenes
r = input('ingrese el radio: ');
vol = (4/3)*pi*r´3;
disp('el volumen es');
disp(vol);
Eh es1e caso, s1 e¸ecu1amos eì pJogJama eh 0c1ave, ob1ehdJemos
ingrese el radio: 3
El volumen es
113.097
La 1uhc1óh 0TSP peJm11e pJeseh1aJ eh pah1aììa 1ah1o cohs1ah1es como
vaJ1abìes, huméJ1cas o de caJac1eJes.
ho1aJ que 0TSP sóìo adm11e uh úh1co aJgumeh1o, ìuego ho es pos1bìe
cohca1ehaJ eh uhas soìa 1Jase eì mehsa¸e "eì voìumeh es" y eì húmeJo
113.097. PaJa eììo es hecesaJ1o JecuJJ1J a o1Ja 1uhc1óh.
2.3.3 Eí comando FORMAT
PoJ de1ec1o, Chb0c1ave pJeseh1a eh pah1aììa ìos vaìoJes huméJ1cos coh 5
c11Jas s1gh111ca11vas, de hecho s1 escJ1b1mos
disp(pi)
ob1ehemos
3.1416
Eh ocas1ohes pJe1ehdemos mos1JaJ uh húmeJo mehoJ de c11Jas dec1maìes. S1
escJ1b1mos eh ìa ì1hea de comahdos
format short
disp(pi)
ob1ehdJemos
3.142
es dec1J, coh sóìo 3 c11Jas dec1maìes. S1 ahoJa escJ1b1mos
format long
disp(pi)
ob1ehdJemos
juan I. Weber 43
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
3.141592653589793
es dec1J, coh 16 c11Jas. S1 queJemos voìveJ a ìa s11uac1óh oJ1g1haì,
11peamos
format
S1 pJe1ehdemos 1eheJ uh mayoJ coh1Joì aceJca deì 1oJma1o de saì1da de
ìos vaìoJes huméJ1cos eh 0c1ave, 1ehdJemos que u11ì1zaJ o1Ja 1uhc1óh.
2.3.4 La funcíón PRINTF
0c1ave heJeda es1a 1uhc1óh deì ìehgua¸e C, poJ ìo 1ah1o aquéì que es1é
1am1ì1aJ1zado coh ese ìehgua¸e de pJogJamac1óh ho1aJá ìa m1sma s1h1ax1s eh
su uso.
PoJ e¸empìo, pJe1ehdemos que hues1Jo pJogJama de cáìcuìo deì voìumeh de
ìa es1eJa pJeseh1e eì Jesuì1ado coh uha c11Ja dec1maì, eh uha m1sma 1Jase
coh eì comeh1aJ1o 1hd1cado pJev1ameh1e.
Reaì1zamos uha ìeve mod111cac1óh aì pJogJama.
% programa para el calculo de volumenes
r = input('ingrese el radio: ');
vol = (4/3)*pi*r´3;
printf('el volumen es: %.1f\n',vol);
0b1ehdJemos
ingrese el radio: 2
el volumen es: 33.5
0bseJve que eì ìugaJ deì Jesuì1ado es1á ocupado eh eì aJgumeh1o de ìa
1uhc1óh pJ1h11 poJ ìa pìah11ììa de 1oJma1o %.1f. Eì poJceh1a¸e {º) 1hd1ca
a 0c1ave que se 1Ja1a de uha pìah11ììa de 1oJma1o de es11ìo C, ìa ìe1Ja f
11haì 1hd1ca que se 1Ja1a de uh húmeJo dec1maì {11po 1ìoa1), y eì .1
1h1eJmed1o 1hd1ca que se mues1Je uh soìo dec1maì. La secuehc1a de
caJac1eJes \n 1hd1ca a 0c1ave que eì pJomp1 deì s1s1ema se pJeseh1e eh eì
Jehgìóh s1gu1eh1e,
ingrese el radio: 2
el volumen es: 33.5
>>
m1eh1Jas que s1 se hub1eJa escJ11o
% programa para el calculo de volumenes
r = input('ingrese el radio: ');
vol = (4/3)*pi*r´3;
printf('el volumen es: %.1f',vol);
44 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
hub1éJamos ob1eh1do
ingrese el radio: 2
el volumen es: 33.5>>
ìo cuaì ho es ìo que hoJmaìmeh1e pJe1ehdemos. ho1aJ que ìa 1uhc1óh 0TSP
ho heces11a d1cha comb1hac1óh de caJac1eJes. voìv1ehdo a ìa pìah11ììa de
1oJma1o, 1amb1éh ìas hay paJa húmeJos eh1eJos
%d
y paJa cadehas de caJac1eJes
%s
ho1aJ que ìa pìah11ììa de 1oJma1o 1oJma paJ1e de ìa cadeha de caJac1eJes
que es s1empJe eì pJ1meJ aJgumeh1o de ìa 1uhc1óh pJ1h11 {es1á deh1Jo de
ìas com1ììas). Eì s1gu1eh1e aJgumeh1o es ìa vaJ1abìe cuyo vaìoJ se
pJeseh1aJá eh pah1aììa.
bha 1uhc1óh pJ1h11 puede pJeseh1aJ vaJ1os Jesuì1ados eh uh m1smo
Jehgìóh, u11ì1zahdo vaJ1as pìah11ììas de 1oJma1o. Eh ese caso, ìos
suces1vos aJgumeh1os de pJ1h11 seJáh ìas vaJ1abìes de saì1da eh eì m1smo
oJdeh eh que se pJeseh1ah eh ìa cadeha de caJac1eJes, poJ e¸empìo, ìa
s1gu1eh1e 1hs1Jucc1óh es 1o1aìmeh1e váì1da eh 0c1ave.
printf(“El volumen es %.1f y su numero es %d\n”,vol,nro);
Eh ese caso se espeJa que vol coh1ehga uh húmeJo dec1maì y nro uha
cah11dad eh1eJa.
2.3.5 Apíícacíón: anáíísís de estructuras
EscJ1b1J uh pJogJama eh Chb0c1ave paJa caìcuìaJ y mos1JaJ eì momeh1o
1ìexoJ máx1mo h de uha v1ga, ìa cuaì es1á apoyada eh ambos ex1Jemos. La
1óJmuìa paJa eì momeh1o 1ìexoJ máx1mo es
MX W
( L-X )
L
dohde X es ìa d1s1ahc1a deì ex1Jemo de ìa v1ga eh dohde se coìoca uh
peso W, y L es eì ìaJgo de ìa v1ga. Es1os vaìoJes debeh seJ 1hgJesados poJ
eì usuaJ1o. Eì máx1mo momeh1o 1ìexoJ debeJá seJ mos1Jado coh 4 dec1maìes
eh pah1aììa.
juan I. Weber 45
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
2.3.5.1 Solución
Eì s1gu1eh1e pJogJama eh Chb0c1ave Jesueìve eì pJobìema.
% analisis estructural – programa 01
% ingreso de datos
L = input(“Ingrese la longitud de la viga (en m): “);
W = input(“Ingrese el paso (en N): “);
X = input(“Ingrese la posición del peso (en m): “);
% calculo del momento maximo
M = X*W*(L-X)/L;
% presentacion de resultados
printf(“El momento flexor máximo es de %.4f N.m\n”, M);
% fin del programa
2.3.6 E|ercícíos
1 Eì áJea de uha eì1pse es1á dada poJ ìa 1óJmuìa
Ana b
bsahdo es1a 1óJmuìa, escJ1ba uh pJogJama eh Chb0c1ave que peJm11a aì
usuaJ1o 1hgJesaJ ìos sem1e¸es a y b y caìcuìe eì áJea de ìa eì1pse.
2 EscJ1ba uh pJogJama que peJm11a 1hgJesaJ ìos ìados de uh Jec1áhguìo, y
pJeseh1e eh pah1aììa eì peJ1me1Jo y eì áJea de d1cho Jec1áhguìo.
3 EscJ1ba uh pJogJama que soì1c11e aì usuaJ1o que 1h1Joduzca dos húmeJos e
1mpJ1ma ìa suma, eì pJoduc1o, ìa d11eJehc1a y eì coc1eh1e eh1Je ìos dos
húmeJos.
4 La Jes1s1ehc1a comb1hada de 1Jes Jes1s1ehc1as comb1hadas eh paJaìeìo,
como se mues1Ja eh ìa 11guJa, es1á dada poJ ìa ecuac1óh
R
1
1
R
1
+
1
R
2
+
1
R
3
EscJ1ba uh pJogJama eh Chb0c1ave que peJm11a 1hgJesaJ ìas Jes1s1ehc1as
R
1
, R
2
y R
3
y mues1Je eì vaìoJ de ìa Jes1s1ehc1a comb1hada {eh ohm1os).
46 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
5 EscJ1ba uh pJogJama eh Chb0c1ave paJa caìcuìaJ y mos1JaJ eì vaìoJ de ìa
pehd1eh1e de ìa ì1hea que cohec1a dos puh1os cuyas cooJdehadas debeJá
1hgJesaJ eì usuaJ1o. Eì vaìoJ de ìa pehd1eh1e de ìa ì1hea que uhe dos
puh1os {x
1
, y
1
) , {x
2
, y
2
) v1ehe dada poJ
S
y
2
-y
1
x
2
-x
1
6 EscJ1ba uh pJogJama eh Chb0c1ave paJa caìcuìaJ y mos1JaJ ìas cooJdehadas
deì puh1o med1o de ìa ì1hea que cohec1a dos puh1os cuyas cooJdehadas
debeJá 1hgJesaJ eì usuaJ1o. Las cooJdehadas deì puh1o med1o de ìa ì1hea
que uhe dos puh1os {x
1
, y
1
) , {x
2
, y
2
) v1eheh dadas poJ
x
m

1
2
( x
1
+x
2
) , y
m

1
2
( y
1
+y
2
)
7 EscJ1ba uh pJogJama eh Chb0c1ave que caìcuìe y mues1Je eì vaìoJ deì
poì1hom1o de seguhdo oJdeh
a x
2
+b x+c
paJa vaìoJes 1h1Joduc1dos poJ eì
usuaJ1o de ìos coe11c1eh1es a, b, c y ìa vaJ1abìe x.
8 PaJa eì c1Jcu11o eh seJ1e mos1Jado eh ìa 11guJa, ìa ca1da de voì1a¸e v
2
a
1Javés de ìa Jes1s1ehc1a R
2
y ìa po1ehc1a P
2
sum1h1s1Jada es1áh dadas poJ
ìa ecuac1ohes V
2
I R
2
y P
2
I V
2
, dohde
I
E
R
1
+R
2
EscJ1ba uh pJogJama eh Chb0c1ave que 1hd1que aì usuaJ1o que 1hgJese ìos
vaìoJes de E, R
1
y R
2
y caìcuìe ìa ca1da de voì1a¸e y ìa po1ehc1a cohsum1da
poJ ìa Jes1s1ehc1a R
2
.
juan I. Weber 47
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
2.4 lntroduccion a la programacion estructurada
Eh muchas ocas1ohes, es hecesaJ1o aì1eJaJ ìa e¸ecuc1óh secuehc1aì de uh
pJogJama eh 1uhc1óh de de1eJm1hadas cohd1c1ohes que se evaìuaJáh sobJe ìa
m1sma e¸ecuc1óh. Eh o1Jas s11uac1ohes, uh coh¸uh1o de 1hs1Jucc1ohes se
Jepe11Já uha cah11dad cohoc1da o descohoc1da de veces. Eh 1odos ìos casos,
es1amos aì1eJahdo eì 1ìu¸o ha1uJaì de e¸ecuc1óh deì pJogJama, que se
supohe es ì1hea a ì1hea. Es1amos eh pJesehc1a de ìas dehom1hadas
es1Juc1uJas de coh1Joì.
Ex1s1eh dos 11pos de es1Juc1uJas de coh1Joì. ìas de dec1s1óh y ìas de
Jepe11c1óh. veamos ìas pJ1meJas.
2.4.1 Estructuras de decísíón
S1gu1ehdo coh hues1Jo pJogJama de cáìcuìo de voìúmehes, supohgamos que
s1 eì Jad1o 1hgJesado es mehoJ a 1 hos p1deh pJeseh1aJ eh pah1aììa uh
mehsa¸e ad1c1ohaì, "eì voìumeh es pequeño". Reaì1zamos ìas s1gu1eh1es
mod111cac1ohes aì pJogJama
% programa para el calculo de volumenes
r = input('ingrese el radio: ');
vol = (4/3)*pi*r´3;
printf('el volumen es: %.2f\n',vol);
if r < 1
disp('el volumen es pequeño');
endif
has1a ìa cuaJ1a ì1hea de cód1go 1ehemos eì pJogJama oJ1g1haì, coh ìo
cuaì eh 1odos ìos casos se 1hgJesa eì Jad1o y se pJeseh1a eì voìumeh.
Cuahdo ììegamos a ìa qu1h1a ì1hea
if r < 1
0c1ave evaìúa ìa opeJac1óh Jeìac1ohaì {podJ1a seJ uha opeJac1óh ìóg1ca
1amb1éh) que se ehcueh1Ja a coh11huac1óh de ìa paìabJa cìave if, y que en
adeIante denomInaremos condIcIón. S1 eì Jesuì1ado es 1 {veJdadeJo) eh1ohces
e¸ecu1a eì coh¸uh1o de 1hs1Jucc1ohes que coh11húah has1a ìa paìabJa cìave
endif {eh es1e caso, ìa 1hs1Jucc1óh disp) y se pJeseh1aJá eh pah1aììa ìa
1Jase el volumen es pequeño. Como ìuego deì endif ho hay más 1hs1Jucc1ohes
a cumpì1J, 11haì1za ìa e¸ecuc1óh deì pJogJama.
Eh eì caso eh que ìa cohd1c1óh sea 1aìsa, eì coh1Joì de e¸ecuc1óh deì
pJogJama se 1Jahs11eJe a ìa ì1hea s1gu1eh1e aì endif {eh es1e caso, ìa
11haì1zac1óh deì pJogJama), coh ìo que eì bìoque de 1hs1Jucc1ohes 1hcìu1do
eh ìa es1Juc1uJa if .... endif ho se e¸ecu1a.
Se pJeseh1ah dos saì1das 11p1cas de ìa e¸ecuc1óh de es1e pJogJama.
ingrese el radio: 2
el volumen es: 33.51
48 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
ingrese el radio: 0.5
el volumen es: 0.52
el volumen es pequeño
ho1aJ que eh eì pJogJama ah1eJ1oJ, ìa ì1hea húmeJo 6 se haììa despìazada
hac1a ìa deJecha {1abuìac1óh). Es1o se dehom1ha 1hdeh1aJ eì cód1go y es
uha saha pJác11ca de pJogJamac1óh ya que peJm11e v1suaì1zaJ Jáp1dameh1e
ìas es1Juc1uJas de coh1Joì pJeseh1es eh uh pJogJama.
2.4.1.1 Estructura de decisión simple IF
La s1h1ax1s geheJaì de uha es1Juc1uJa de dec1s1óh if es ìa s1gu1eh1e.
if (condición)
instrucción1
[instrucción2
....]
endif
dohde condición JepJeseh1a cuaìqu1eJ vaìoJ que pueda seJ evaìuado como 0
{1aìso) o d1s11h1o de 0 {veJdadeJo). Eh geheJaì, sueìe seJ uha opeJac1óh
Jeìac1ohaì o ìóg1ca, peJo podJ1a seJ cuaìqu1eJ vaìoJ huméJ1co.
Instrucción1 es uha 1hs1Jucc1óh que se e¸ecu1aJá cuahdo condición 1ome uh
vaìoJ d1s11h1o de 0 {veJdadeJo). Y como vemos coh ìos coJche1es, es
pos1bìe 1hcìu1J cuaìqu1eJ húmeJo de 1hs1Jucc1ohes deh1Jo deì bìoque TF.
Eì d1agJama de 1ìu¸o es
2.4.1.2 La estructura de decisión doble IF ... ELSE ... ENDIF
Eh aìguhas ocas1ohes es hecesaJ1o e¸ecu1aJ de1eJm1hadas 1hs1Jucc1ohes
juan I. Weber 49
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
cuahdo ìa cohd1c1óh deì if sea veJdadeJa, y o1Jo coh¸uh1o de 1hs1Jucc1ohes
cuahdo ìa cohd1c1óh deì if sea 1aìsa. S1 b1eh es1e pJobìema puede
JesoìveJse coh dos 1hs1Jucc1ohes if cohsecu11vas, ìa 1oJma más adecuada de
JesoìveJìo es poJ med1o de ìa es1Juc1uJa de dec1s1óh if... else.
La s1h1ax1s de ìa es1Juc1uJa if... else es
if (condición)
instrucción1_if
[instrucción2_if
....]
else
instrucción1_else
[instrucción2_else
....]
endif
veamos uh e¸empìo. S1gu1ehdo coh hues1Jo pJogJama de cáìcuìo de voìumeh,
supohgamos que s1 eì Jad1o 1hgJesado es mayoJ a 1, se pJeseh1aJá eì
mehsa¸e "eì voìumeh es gJahde". Eì pJogJama queda ahoJa como
% programa para el calculo de volumenes
r = input('ingrese el radio: ');
vol = (4/3)*pi*r´3;
printf('el volumen es: %.2f\n',vol);
if r < 1
disp('el volumen es pequeño');
else
disp('el volumen es grande');
endif
Se pJeseh1ah dos saì1das 11p1cas de ìa e¸ecuc1óh de es1e pJogJama.
ingrese el radio: 2
el volumen es: 33.51
el volumen es grande
ingrese el radio: 0.5
el volumen es: 0.52
el volumen es pequeño
Eh es1e caso eì coh1Joì deì pJogJama pasa poJ aìguha de ìas dos
aì1eJha11vas. eì if o eì else.
Cabe des1acaJ que es pos1bìe ah1daJ suces1vas es1Juc1uJas if... else a
1Javés de ìa paìabJa cìave elseif.
if (condicion1)
....
elseif (condicion2)
....
50 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
elseif (condicion3)
....
....
else
....
endif
que equ1vaìe, eh 1oJma más Jesum1da, a
if (condicion1)
....
else
if (condicion2)
....
else
if (condicion3)
....
else
....
endif
endif
endif
Eì d1agJama de 1ìu¸o de ìa es1Juc1uJa 11...eìse es eì s1gu1eh1e.
como e¸empìo se pJeseh1a eì d1agJama de 1ìu¸o de uha es1Juc1uJa ah1dada
11...eìse11...eìse...ehd11.
juan I. Weber 51
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
2.4.1.3 La estructura de decisión múltiple SWITCH
Eh eì caso eh eì cuaì sea hecesaJ1o Jeaì1zaJ d11eJeh1es acc1ohes segúh
ìos vaìoJes {eh geheJaì eh1eJos) que 1ome uha vaJ1abìe eh cues11óh, es
pJe1eJ1bìe u11ì1zaJ ìa 1hs1Jucc1óh SWTTCh que veJemos a coh11huac1óh, a ìa
aì1eJha11va de uha suces1óh de es1Juc1uJas TF...ELSETF....
ELSETF...ELSETF..... La s1h1ax1s es
switch variable
case valor_1
instrucciones_valor_1;
...
case valor_2
instrucciones_valor_1;
...
case ...
...
otherwise
instrucciones_otherwise;
endswitch
eh ìo ah1eJ1oJ, vaJ1abìe es eì hombJe de uha vaJ1abìe cuyo vaìoJ seJá
chequeado poJ ìa 1hs1Jucc1óh sw11ch. Valor_1, Valor_2, ... soh ìos vaìoJes
que puede 1omaJ ìa vaJ1abìe, depehd1ehdo de ìos cuaìes eì pJogJama
e¸ecu1aJá d11eJeh1es 1hs1Jucc1ohes. instrucciones_valor_1,
instrucciones_valor_2, ... soh ìas 1hs1Jucc1ohes que eì pJogJama e¸ecu1aJá
cuahdo vaJ1abìe 1ome ìos vaìoJes vaìoJ_1, vaìoJ_2, ..., Jespec11vameh1e.
1hs1Jucc1ohes_o1heJw1se soh ìas 1hs1Jucc1ohes que eì pJogJama e¸ecu1aJá eh
eì caso que vaJ1abìe h0 1ome h1hguho de ìos vaìoJes vaìoJ_1, vaìoJ_2, ...
Eh geheJaì, ìa es1Juc1uJa SWTTCh es u11ì1zada paJa eì coh1Joì deì 1ìu¸o
deì pJogJama eh eì caso de que eì m1smo d1spohga de mehús 1h1eJac11vos
paJa eì usuaJ1o {dohde eì m1smo hoJmaìmeh1e dec1de eh1Je vaJ1as opc1ohes).
52 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
Lo usuaì es que d1chas opc1ohes es1éh JepJeseh1adas poJ húmeJos eh1eJos.
Eh ese caso, es deseabìe que ìa es1Juc1uJa SWTTCh se u11ì1ce eh coh¸uh1o
coh ìa 1uhc1óh hEhb.
Eì d1agJama de 1ìu¸o es eì s1gu1eh1e.
2.4.1.4 La función MENU
PeJm11e seìecc1ohaJ eh1Je vaJ1as opc1ohes, cuyos Jó1uìos soh 1hgJesados
poJ eì pJogJamadoJ. S1 eì mehú a aJmaJ 11ehe h opc1ohes, ìa 1uhc1óh hEhb
1ehdJá h+1 aJgumeh1os, 1odos eììos cadehas de caJac1eJes. eì pJ1meJo es eì
111uìo geheJaì, y ìos s1gu1eh1es soh ìos Jó1uìos de cada opc1óh, que soh
humeJados coJJeìa11vameh1e a paJ11J deì 1.
La 1uhc1óh hEhb debe 1oJmaJ paJ1e de uha seh1ehc1a de as1ghac1óh, eh ìa
cuaì eì m1embJo de ìa 1zqu1eJda debe seJ ìa vaJ1abìe des11ho eh ìa cuaì se
aìmacehaJá eì vaìoJ 1hgJesado poJ eì usuaJ1o. S1h1ax1s.
variable_destino=menu(“titulo”,”opcion1”,”opcion2”....);
bh e¸empìo acìaJaJá eì uso de ìa 1uhc1óh hEhb eh coh¸uh1o coh ìa
es1Juc1uJa SWTTCh. Eì s1gu1eh1e pJogJama peJm11e aì usuaJ1o v1suaì1zaJ eì
húmeJo coh d1s11h1as cah11dades de c11Jas dec1maìes.
n=menu("Cantidad de decimales para mostrar pi:",...
"dos","cuatro","seis","ocho");
switch n
case 1
printf("pi = %.2f\n",pi);
case 2
printf("pi = %.4f\n",pi);
case 3
printf("pi = %.6f\n",pi);
juan I. Weber 53
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
otherwise
printf("pi = %.8f\n",pi);
endswitch
ho1aJ que aì e¸ecu1aJ eì pJogJama, ìa 1uhc1óh hEhb 1mp1de 1hgJesaJ
cuaìqu1eJ o1Jo húmeJo que ho sea 1, 2, 3 ó 4. 0e aìì1 que eh ìa es1Juc1uJa
SWTTCh eì case 4 1ue Jeempìazado poJ otherwise.
2.4.2 Estructuras de repetícíón
Eh ocas1ohes es hecesaJ1o Jepe11J ìa e¸ecuc1óh de c1eJ1a poJc1óh de
cód1go uha cah11dad cohoc1da o descohoc1da de veces. PaJa eììo coh1amos
coh ìas es1Juc1uJas de Jepe11c1óh. Se cìas111cah, segúh se descohozca o se
cohozca a pJ1oJ1 ìa cah11dad de Jepe11c1ohes a e1ec1uaJ, eh 1hde11h1das y
de11h1das Jespec11vameh1e.
Eh1Je ìas es1Juc1uJas de Jepe11c1óh 1hde11h1das veJemos.
e ìa es1Juc1uJa while
e ìa es1Juc1uJa do ... until
Y eh1Je ìas de11h1das veJemos
e ìa es1Juc1uJa for
2.4.2.1 La estructura WHILE
While peJm11e Jepe11J ìa e¸ecuc1óh de uh 1Jozo de cód1go m1eh1Jas se
evaìúe como veJdadeJa c1eJ1a cohd1c1óh. Eh geheJaì, ìa vaJ1abìe pJeseh1e
eh es1a cohd1c1óh se mod111ca a ìo ìaJgo de ìa e¸ecuc1óh, coh ìo que a
pJ1oJ1 ho es pos1bìe cohoceJ ìa cah11dad de veces que se e¸ecu1aJá es1e
bìoque. veamos uh e¸empìo.
Supohgamos que queJemos que hues1Jo pJogJama paJa eì cáìcuìo de voìumeh
se e¸ecu1e Jepe11dameh1e has1a que eì usuaJ1o dec1da 1eJm1haJ ìa e¸ecuc1óh
deì pJogJama. bha pos1b1ì1dad seJ1a 1omaJ como Je1eJehc1a eì pJop1o vaìoJ
deì Jad1o 1hgJesado. s1 se 1hgJesa uh vaìoJ hega11vo {1mpos1bìe paJa eì
pJobìema eh cues11óh) 11haì1zaJá ìa e¸ecuc1óh deì pJogJama). bha pos1bìe
soìuc1óh seJ1a
% programa para el calculo de volumenes
r = input('ingrese el radio (-1 para terminar): ');
while (r != -1)
vol = (4/3)*pi*r´3;
printf('el volumen es: %.2f\n',vol);
r = input('ingrese el radio (-1 para terminar): ');
endwhile
Eh ìa seguhda ì1hea se ìee eì pJ1meJ vaìoJ deì Jad1o. Luego, eh eì
while, se ìo compaJa coh -1 {es1e vaìoJ eh PJogJamac1óh se dehom1ha
ceh11heìa). S1 eì Jad1o es d1s11h1o a -1, ìa cohd1c1óh eh1Je paJéh1es1s se
evaìúa veJdadeJa y poJ ìo 1ah1o se e¸ecu1a eì bìoque deh1Jo deì while.
ho1aJ que hemos 1eh1do que dupì1caJ ìa seh1ehc1a
54 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
r = input('ingrese el radio (-1 para terminar): ');
ya que ah1es de evaìuaJ ìa cohd1c1óh deì wh1ìe es hecesaJ1o coh1aJ coh
uh vaìoJ 1hgJesado paJa J. ho1aJ además que eveh1uaìmeh1e eì bìoque wh1ìe
podJ1a ho habeJse e¸ecu1ado huhca, s1 de eh1Jada hub1éJamos 1hgJesado eì
vaìoJ -1.
La s1h1ax1s es ìa s1gu1eh1e.
while (condición)
....
endwhile
Eì d1agJama de 1ìu¸o es eì s1gu1eh1e.
2.4.2.2 La estructura DO...UNTIL
Eh eì caso de es1a es1Juc1uJa de coh1Joì, ìa cohd1c1óh se coìoca aì
11haì deì bìoque, de modo que eì m1smo se e¸ecu1a aì mehos uha vez. La
s1h1ax1s es ìa s1gu1eh1e.
do
instruccion1;
instruccion2;
....
until (condición)
Eh es1e caso, eì bìoque de 1hs1Jucc1ohes coh1oJmado poJ
instruccion1;
instruccion2;
....
se Jepe11Já has1a que condición se evaìúe como veJdadeJa {ho1aJ ìa
d11eJehc1a coh ìa es1Juc1uJa while). PaJa mayoJ cìaJ1dad, veamos que eì
1Jozo de cód1go
juan I. Weber 55
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
....
while (a<1)
...
endwhile
es equ1vaìeh1e a
....
do
...
until (a>=1)
Eh eì caso de hues1Jo pJogJama paJa cáìcuìo de voìúmehes, podJ1amos
JeescJ1b1Jìo hac1ehdo uso de ìa es1Juc1uJa do...until deì s1gu1eh1e modo.
% programa para el calculo de volumenes
r = input('ingrese el radio (-1 para terminar): ');
do
vol = (4/3)*pi*r´3;
printf('el volumen es: %.2f\n',vol);
r = input('ingrese el radio (-1 para terminar): ');
until (r == -1)
Eh es1e caso, asum1mos que eì cáìcuìo deì voìumeh se Jeaì1zaJá aì mehos
uha vez {es dec1J, ho se espeJa que eì pJ1meJ vaìoJ deì Jad1o sea -1).
Eh ìa 11guJa se 1hd1ca eì d1agJama de 1ìu¸o de ìa es1Juc1uJa do...
uh11ì.
2.4.2.3 La estructura FOR
Eh aìguhos casos cohocemos de ah1emaho ìa cah11dad de Jepe11c1ohes a
56 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
e1ec1uaJ, eh ese caso u11ì1zamos ìa es1Juc1uJa for. Su s1h1ax1s es ìa
s1gu1eh1e.
for variable = valores_de_la_variable
instruccion1;
[instruccion2;
...]
endfor
dohde valores_de_la_variable JepJeseh1a eì coh¸uh1o de vaìoJes que puede
asum1J ìa vaJ1abìe de Jepe11c1óh. S1 d1chos vaìoJes se ehumeJah eh 1oJma
1hd1v1duaì, se ì1s1ah ehceJJados eh1Je coJche1es {como ìuego veJemos, es1o
cohs111uye uh aJJegìo - de hecho uh vec1oJ-). E¸empìo,
for i = [3 5 9]
disp(i+1);
endfor
pJeseh1a eh pah1aììa
4
6
10
Coh 1Jecuehc1a ìos vaìoJes que 1oma ìa vaJ1abìe es1áh equ1espac1ados. Eh
es1e caso, es cohveh1eh1e u11ì1zaJ eì opeJadoJ dos puh1os {.). PoJ
e¸empìo, eh ìugaJ de escJ1b1J
for i = [1 2 3 4 5 6 7 8 9 10]
....
endfor
podJ1amos escJ1b1J eh 1oJma más compac1a,
for i = 1:10
...
endfor
Eì opeJadoJ dos puh1os {.) ìe 1hd1ca a 0c1ave que JecoJJa ìos vaìoJes de
1 desde 1 has1a 10, 1hcJemeh1áhdose de a 1. La s1h1ax1s de for, coh eì uso
deì opeJadoJ ., es ìa s1gu1eh1e.
for variable = valor_inicial:[paso:]valor_final
....
endfor
dohde vaìoJ_1h1c1aì JepJeseh1a eì vaìoJ 1h1c1aì de ìa vaJ1abìe,
vaìoJ_11haì es eì vaìoJ 11haì de ìa vaJ1abìe. S1 ho se 1hd1ca eì paso
{como eh eì e¸empìo pJecedeh1e) se asume que eì m1smo es +1, y poJ ìo
1ah1o es hecesaJ1o que vaìoJ_1h1c1aì sea mehoJ a vaìoJ_11haì. S1 se 1hd1ca
juan I. Weber 57
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
eì paso, eh1ohces a paJ11J deì vaìoJ_1h1c1aì eì vaìoJ de ìa vaJ1abìe se
1hcJemeh1a {s1 eì paso es pos111vo) o se decJemeh1a {s1 eì paso es
hega11vo) has1a aìcahzaJ eì vaìoJ_11haì.
La 11guJa mues1Ja uh d1agJama de 1ìu¸o de ìa es1Juc1uJa 1oJ.
E¸empìos,
for i = 1:3
disp(i);
endfor
pJoduce
1
2
3
m1eh1Jas que
for i = 1:2:7
disp(i);
endfor
pJoduce
1
3
5
7
eh 1ah1o que
58 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
for i=4:-1:1
disp(i);
endfor
pJoduce
4
3
2
1
Thcìuso ho es hecesaJ1o que eì ì1m11e supeJ1oJ se aìcahce exac1ameh1e.
for i = 1:2:8
disp(i);
endfor
pJoduce
1
3
5
7
ya que eì s1gu1eh1e vaìoJ de ìa vaJ1abìe, 9, supeJa aì ì1m11e supeJ1oJ.
2.4.3 Apíícacíones
2.4.3.1 Aplicación 1: Ordenamiento territorial
bh muh1c1p1o ha dec1d1do ehcaJaJ uh pìah de oJdeham1eh1o 1eJJ11oJ1aì eh
Jeìac1óh aì húmeJo de p1sos peJm111dos eh ìa cohs1Jucc1óh de 1u1uJos
ed111c1os. La c1udad se d1v1de eh 3 zohas, dehom1hadas zoha 1 {ceh1Jo),
zoha 2 {baJJ1os ceJcahos aì ceh1Jo) y zoha 3 {baJJ1os aìe¸ados), eh es1as
zohas se peJm11eh uh máx1mo de 15, 10 y 5 p1sos Jespec11vameh1e. PaJa
1ac1ì11aJ ìas cohsuì1as, se debeJá desaJJoììaJ uh pJogJama que peJm11a
1hgJesaJ ìa zoha y eì húmeJo de p1sos a cohs1Ju1J, ìuego de ìo cuaì eì
pJogJama pJeseh1aJá uh mehsa¸e adecuado eh pah1aììa.
Soìuc1óh. Eì s1gu1eh1e cód1go eh Chb0c1ave peJm11e JesoìveJ eì pJobìema.
% ordenamiento territorial – programa 02
zona = input("Ingrese número de zona (1,2 o 3): ");
pisos = input("Ingrese número de pisos: ");
if (zona == 1) & (pisos <= 15)
disp("Construcción permitida");
elseif (zona == 2) & (pisos <= 10)
disp("Construcción permitida");
elseif (zona == 3) & (pisos <= 5)
disp("Construcción permitida");
juan I. Weber 59
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
else
disp("Construcción prohibida");
endif
% fin del programa
Es1e m1smo pJogJama podJ1a habeJse escJ11o de uha 1oJma más s1h1é11ca
{peJo 1aì vez mehos cìaJa) as1.
% ordenamiento territorial – programa 03
zona = input("Ingrese número de zona (1,2 o 3): ");
pisos = input("Ingrese número de pisos: ");
if (zona == 1) & (pisos <= 15) | (zona == 2) & (pisos <= 10) | ...
(zona == 3) & (pisos <= 5)
disp("Construcción permitida");
else
disp("Construcción prohibida");
endif
% fin del programa
2.4.3.2 Aplicación 2: puentes
La expahs1óh de uh pueh1e de aceJo coh1oJme se caì1eh1a has1a uha
1empeJa1uJa 11haì T
1
, desde uha 1empeJa1uJa 1h1c1aì T
0
, puede apJox1maJse
usahdo ìa 1óJmuìa
AaI(T
I
-T
0
)
dohde a es eì coe11c1eh1e de expahs1óh {eì cuaì paJa eì aceJo es 11.7 x
10
-6
) y L es eì ìaJgo deì pueh1e a 1empeJa1uJa T
0
. bsahdo es1a 1óJmuìa,
escJ1ba uh pJogJama eh 0c1ave que despì1egue uha 1abìa de ìohg11udes de
expahs1óh paJa uh pueh1e de aceJo que 11ehe 7365 m de ìaJgo a 0 °C,
coh1oJme ìa 1empeJa1uJa 1hcJemeh1a a 40 °C eh 1hcJemeh1os de 5 °C.
Soìuc1óh. Eì s1gu1eh1e cód1go eh Chb0c1ave Jesueìve eì pJobìema.
% accion termica sobre puentes – programa 04
a = 11.7e-6; L = 7365; T0 = 0; %constantes del problema
disp("Acción térmica sobre puentes");
printf("\n%15s%15s\n","Temperatura (ºC)","Expansión (m)");
for T=0:5:40
delta = a*L*(T-T0);
printf("%15d%15.2f\n",T,delta);
endfor
%fin del programa
hó1ese ìos ahchos de campo {1ah1o eh eì ehcabezado como eì eì cueJpo de
ìa 1abìa) de 15 caJac1eJes que peJm11eh daJìe a ìa saì1da 1oJma1o de
1abìa.
2.4.4 Comentaríos fínaíes
Eì apJehdeJ a pehsaJ eh 1oJma aìgoJ11m1ca, es1o es, pìah1eaJ ìa soìuc1óh
60 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
a ìos pJobìemas eh 1éJm1hos de es1Juc1uJas de coh1Joì, ho es 1aJea 1ác1ì
paJa qu1eh huhca ìo ha hecho. Eh es1o ìa pJogJamac1óh se paJece más a uh
aJ1e que a uha c1ehc1a. uho puede ìeeJ y JeìeeJ sobJe pJogJamac1óh, veJ
como o1Jos Jesueìveh pJobìemas, peJo has1a 1ah1o uho m1smo ho pìah1ee ìa
soìuc1óh {y s1 ìo puede compJobaJ escJ1b1ehdo uh pJogJama y e¸ecu1áhdoìo
eh uha compu1adoJa, me¸oJ!) ìas 1deas ho se 11¸aJáh. Aqu1 vaìe ìa 1amosa
1Jase. ìa pJác11ca hace aì maes1Jo.
bho de ìos s1h1omas más cìaJos de ho ìogJaJ cap1aJ ìa 1dea de ìa
pJogJamac1óh es1Juc1uJada es eì quedaJse deìah1e de uha ho¸a {o uh
moh11oJ) eh bìahco, espeJahdo que ìa soìuc1óh ììegue mág1cameh1e vaya uho
a sabeJ poJ qué med1o... Los pJogJamas que se puedeh veJ eh ìos ì1bJos
{como és1e) ho suJgeh poJ geheJac1óh espoh1áhea s1ho coh es1ueJzo,
1Jaba¸o, pJueba y eJJoJ. Lìevah 11empo, 1ah1o mehos cuah1o más pJobìemas
uho haya Jesueì1o pJev1ameh1e. Es1o se ììama expeJ1ehc1a. Y ho se
1Jahsm11e, s1mpìemeh1e uho m1smo ìa desaJJoììa {coh ded1cac1óh).
2.4.5 E|ercícíos
1 EscJ1ba uh pJogJama que soì1c11e aì usuaJ1o que escJ1ba dos húmeJos, y a
coh11huac1óh pJeseh1e eh pah1aììa eì húmeJo mayoJ segu1do de ìa 1Jase es
mayoJ que y segu1do deì húmeJo mehoJ. E¸empìo. s1 se 1hgJesaJoh ìos
húmeJos 2 y 4, eì pJogJama pJeseh1aJá eh pah1aììa ìa 1Jase 4 es mayoJ
que 2. S1 ìos húmeJos soh 1guaìes, se pJeseh1aJá eh pah1aììa eì mehsa¸e
soh 1guaìes.
2 EscJ1ba uh pJogJama que peJm11a 1hgJesaJ 3 húmeJos, y a coh11huac1óh
pJeseh1e eh pah1aììa eì mayoJ de eììos, coh uha 1Jase 1hd1ca11va.
3 bha c1eJ1a ohda es de 0 voì11os paJa uh 11empo mehoJ que 2 seguhdos y de
3 voì11os paJa uh 11empo mayoJ o 1guaì que 2 seguhdos {es1as ohdas se
cohoceh como 1uhc1óh de paso). EscJ1ba uh pJogJama eh 0c1ave que acep1e
eì 11empo como vaJ1abìe de eh1Jada y mues1Je eì voì1a¸e apJop1ado.
4 bha pJueba de a1sìam1eh1o paJa uh cabìe Jequ1eJe que eì a1sìam1eh1o
Jes1s1a aì mehos 600 voì11os. EscJ1ba uh pJogJama eh 0c1ave que acep1e
uha pJueba de voì1a¸e e 1mpJ1ma eì mehsa¸e "PJueba de voì1a¸e apJobada"
o eì mehsa¸e "PJueba de voì1a¸e ho apJobada" segúh eì caso.
5 bha 1ábJ1ca pequeña geheJa su pJop1a eheJg1a coh uh geheJadoJ de 20 kW y
uh geheJadoJ de 50 kW. Eì geJeh1e de ìa pìah1a 1hd1ca cuáì geheJadoJ se
Jequ1eJe aì 1h1Joduc1J uh cód1go de caJac1eJes. EscJ1ba uh pJogJama eh
0c1ave que acep1e es1e cód1go como eh1Jada. S1 se 1h1Joduce eì cód1go
"s" debeJá despìegaJse uh mehsa¸e que ìe 1hd1que aì capa1az de ìa pìah1a
que use eì geheJadoJ más pequeño, de ìo coh1JaJ1o debeJá 1mpJ1m1J que
use eì geheJadoJ más gJahde.
6 EscJ1ba uh pJogJama eh 0c1ave que acep1e uh áhguìo, eh gJados, y
despì1egue eì 11po de áhguìo coJJespohd1eh1e a ìos gJados 1h1Joduc1dos
{agudo, Jec1o u ob1uso).
7 EscJ1ba uh pJogJama eh 0c1ave que acep1e uh húmeJo y ìuego uha ìe1Ja. S1
ìa ìe1Ja es "1", eì pJogJama 1Ja1aJá aì húmeJo 1h1Joduc1do como uha
1empeJa1uJa eh gJados FahJehhe11, cohveJ11Já eì húmeJo a ìos gJados
Ceìs1us equ1vaìeh1es y despìegaJá uh mehsa¸e adecuado. S1 ìa ìe1Ja es
juan I. Weber 61
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
"c", eì pJogJama 1Ja1aJá aì húmeJo 1h1Joduc1do como uha 1empeJa1uJa eh
gJados Ceìs1us, cohveJ11Já eì húmeJo a ìos gJados FahJehhe11
equ1vaìeh1es y despìegaJá uh mehsa¸e adecuado. S1 ìa ìe1Ja ho es h1 "1"
h1 "c", eì pJogJama 1mpJ1m1Já uh mehsa¸e que ìos da1os 1h1Joduc1dos soh
1hcoJJec1os y 1eJm1haJá. bse ìas 1óJmuìas de cohveJs1óh.
CeIsIus
5
9
( IahrenheIt-32) , IahrenheIt
9
5
CeIsIus+32
8 EscJ1ba uh pJogJama eh Chb0c1ave que peJm11a 1hgJesaJ ìas cooJdehadas
{x,y) de uh puh1o y pJeseh1e eh pah1aììa uh mehsa¸e 1hd1cahdo eh qué
cuadJah1e se ehcueh1Ja.
9 Eh eì ¸uego deì 21 {BìackJack) eì vaìoJ de ìas caJ1as deì 2 aì 10 es eì
que 11ehe 1mpJeso, s1h 1mpoJ1aJ de qué paìo seah. Las 11guJas {so1a,
Je1ha y Jey) se cueh1ah como 10, y eì as cueh1a como 1 u 11, depehd1ehdo
de ìa suma de 1odas ìas caJ1as eh uha maho. Eì as se cueh1a como 11 sóìo
s1 eì vaìoJ 1o1aì Jesuì1ah1e de 1odas ìas caJ1as eh uha maho ho excede
de 21, de ìo coh1JaJ1o se cueh1a como 1. bsahdo es1a 1h1oJmac1óh,
escJ1ba uh pJogJama eh 0c1ave que acep1e ìos vaìoJes de 3 caJ1as como
eh1Jadas {uh 1 coJJespohde a uh as, uh 2 a uh dos, e1c.), caìcuìe eì
vaìoJ 1o1aì de ìa maho eh 1oJma apJop1ada y despì1egue eì vaìoJ de ìa
maho coh uh mehsa¸e 1mpJeso.
10 EscJ1ba uh pJogJama que peJm11a 1hgJesaJ uha cah11dad descohoc1da de
húmeJos y pJeseh1e eh pah1aììa su suma.
11 hod111caJ eì pJogJama ah1eJ1oJ de modo que además pJeseh1e eì pJomed1o
eh1Je ìos húmeJos 1hgJesados.
12 EscJ1ba uh pJogJama que peJm11a 1hgJesaJ uha cah11dad descohoc1da de
húmeJos y pJeseh1e eh pah1aììa eì mehoJ de eììos.
13 Se d1spohe de uh coh¸uh1o de ¸uegos de da1os. Cada ¸uego es1á 1oJmado
poJ dos vaìoJes que soh. ìa absc1sa y ìa oJdehada de uh puh1o, ambos
d1s11h1os de 0. Eì úì11mo paJ de da1os es 1guaì a 0, y sóìo 1hd1ca 11h
de da1os. Se p1de, ìeyehdo uh ¸uego poJ vez, de1eJm1haJ cuáh1os puh1os
caeh eh cada cuadJah1e.
14 EscJ1ba uh pJogJama paJa cohveJ11J uh1dades de ìohg11ud deì s1s1ema
1hgìés aì mé1J1co y v1ceveJsa. Eì pJogJama debeJá peJm111J ìas
s1gu1eh1es cohveJs1ohes.
a)de m a p1es y v1ceveJsa
b)de cm a puìgadas y v1ceveJsa
c)de km a m1ììas y v1ceveJsa
Eì pJogJama se debe coh11huaJ e¸ecu1ahdo has1a que eì usuaJ1o dec1da
1eJm1haJ.
15 EscJ1ba uh pJogJama que peJm11a 1hgJesaJ uha cah11dad descohoc1da de
ho1as {deì 1 aì 10) y pJeseh1e eì poJceh1a¸e de apJobados {ho1as mayoJes
o 1guaìes a 4) y eì poJceh1a¸e de pJomov1dos {ho1as mayoJes o 1guaìes a
7).
16 Además deì pJomed1o aJ11mé11co de uh coh¸uh1o de húmeJos, se puede
62 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
caìcuìaJ uha med1a geomé1J1ca y uha med1a aJmóh1ca. La med1a geomé1J1ca
de uh coh¸uh1o de h húmeJos se de11he como
¯ x
g

n
.
x
1
x
2
... x
n
(x
1
x
2
... x
n
)
1
n
y ìa med1a aJmóh1ca como
¯ x
a

n
1
x
1
+
1
x
2
+...+
1
x
n
bsahdo es1as 1óJmuìas, escJ1ba uh pJogJama eh 0c1ave que coh11húe
acep1ahdo húmeJos has1a que se 1h1Joduzca eì húmeJo 999 y ìuego caìcuìe y
despì1egue 1ah1o ìa med1a geomé1J1ca como ìa med1a aJmóh1ca eh1Je ìos
húmeJos 1h1Joduc1dos.
17 EscJ1ba uh pJogJama que peJm11a 1hgJesaJ uh húmeJo eh1eJo h y pJeseh1e
eh pah1aììa ìa 11guJa s1gu1eh1e {eh es1e caso, paJa h = 4).
****
****
****
****
18 EscJ1ba uh pJogJama que peJm11a 1hgJesaJ uh húmeJo eh1eJo h y pJeseh1e
eh pah1aììa ìa 11guJa s1gu1eh1e {eh es1e caso, paJa h = 4).
$$$$
$$$
$$
$
19 EscJ1ba uh pJogJama que peJm11a 1hgJesaJ uh húmeJo eh1eJo h y pJeseh1e
eh pah1aììa ìa 11guJa s1gu1eh1e {eh es1e caso, paJa h = 4).
$$$$
$$$#
$$##
$###
20 EscJ1ba uh pJogJama que peJm11a 1hgJesaJ uh húmeJo eh1eJo h y pJeseh1e
eh pah1aììa ìa 11guJa s1gu1eh1e {eh es1e caso, paJa h = 4).
$$$$
$ $
$ $
$$$$
21 EscJ1ba uh pJogJama que peJm11a 1hgJesaJ uh húmeJo eh1eJo h y pJeseh1e
eh pah1aììa eì 1ac1oJ1aì de d1cho húmeJo. Eì 1ac1oJ1aì de uh húmeJo
ha1uJaì h se de11he como
n!n(n-1)(n-2)...3.2.1
22 hod111que eì pJogJama ah1eJ1oJ de modo que s1 eì usuaJ1o 1hgJesaJa uh
juan I. Weber 63
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
húmeJo hega11vo, eì pJogJama pJeseh1e uh mehsa¸e adecuado y peJm11a aì
usuaJ1o 1hgJesaJ uh huevo húmeJo.
23 EscJ1ba uh pJogJama que pJeseh1e eh pah1aììa uha 1abìa coh ìos vaìoJes
de ìos húmeJos ha1uJaìes deì 1 aì 10, sus cuadJados y sus cubos.
24 EscJ1ba uh pJogJama que peJm11a caìcuìaJ eì vaìoJ de ìa cohs1ah1e
ma1emá11ca e, u11ì1zahdo ìa 1óJmuìa
e1+
1
1!
+
1
2 !
+
1
3!
+...
Eì usuaJ1o debeJá 1hgJesaJ eì húmeJo de 1éJm1hos coh ìos que caìcuìaJ ìa
expJes1óh ah1eJ1oJ.
25 hod111que eì pJogJama ah1eJ1oJ de 1oJma que eì usuaJ1o 1hgJese eì húmeJo
de c11Jas dec1maìes s1gh111ca11vas a ob1eheJ. {Ayuda. s1 poJ e¸empìo eì
usuaJ1o desea ob1eheJ 3 c11Jas dec1maìes paJa e, ìa d11eJehc1a eh1Je dos
vaìoJes cohsecu11vos caìcuìados de e, eh vaìoJ absoìu1o, debeJá seJ
mehoJ a 0,001, es dec1J 1x10
-3
).
26 EscJ1ba uh pJogJama que peJm11a caìcuìaJ eì vaìoJ de ìa cohs1ah1e
ma1emá11ca , u11ì1zahdo ìa 1óJmuìa
n4-
4
3
+
4
5
-
4
7
+
4
9
-....
Eì usuaJ1o debeJá 1hgJesaJ eì húmeJo de 1éJm1hos coh ìos que caìcuìaJ ìa
expJes1óh ah1eJ1oJ.
27 EscJ1b1J uh pJogJama que peJm11a.
a)ThgJesaJ uh moh1o 1h1c1aì C
0
, uh peJ1odo h {eh años) y uha 1asa de
1h1eJés J poJ 1ecìado.
b)CaìcuìaJ y pJeseh1aJ eh pah1aììa uha 1abìa que coh1ehga. eh ìa pJ1meJa
coìumha, eì año {desde 0 a h) y eh ìa seguhda coìumha, eì moh1o
cap11aì1zado año a año caìcuìado a 1Javés de ìa 1óJmuìa deì 1h1eJés
compues1o.
CC
0
(1+r)
n
28 EscJ1b1J uh pJogJama que peJm11a.
a)ThgJesaJ uh húmeJo ha1uJaì h poJ 1ecìado.
b)PJeseh1aJ eh pah1aììa ìos pJ1meJos h húmeJos de F1bohacc1. Los húmeJos
de F1bohacc1 F{1) se de11heh como. F{0)=0, F{1)=1, F{2)=F{0)+F{1)=1, ...
F{1)=F{1-1)+F{1-2).
29 bha peìo1a de goì1 es soì1ada desde uh av1óh. La d1s1ahc1a, d, que cae
ìa peìo1a eh 1 seguhdos es1á dada poJ ìa ecuac1óh
d
1
2
gt
2
dohde g es ìa aceìeJac1óh deb1da a ìa gJavedad. bsahdo es1a 1h1oJmac1óh,
escJ1ba uh pJogJama eh 0c1ave que despì1egue ìa d1s1ahc1a que cae ìa
peìo1a eh cada 1h1eJvaìo de 1 seguhdo paJa 10 seguhdos y ìa d1s1ahc1a
64 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
1o1aì que cae ìa peìo1a aì 11haì de cada 1h1eJvaìo.
30 EscJ1b1J uh pJogJama que caìcuìe y despì1egue vaìoJes paJa z cuahdo
z
xy
x-y
Su pJogJama debeJá caìcuìaJ z paJa vaìoJes de x que vaJ1ah eh1Je 1 y 5 y
vaìoJes de y que vaJ1ah eh1Je 2 y 6, ambos eh 1hcJemeh1os de a 1. Su
pJogJama debeJá pJeseh1aJ ìos Jesuì1ados eh uha 1abìa, mos1Jahdo "???" eh
eì ìugaJ dohde x e y soh 1guaìes.
31 0ado uh húmeJo h, y uha apJox1mac1óh paJa su Ja1z cuadJada, puede
ob1eheJse uha apJox1mac1óh más ceJcaha a ìa Ja1z cuadJada Jeaì
u11ì1zahdo ìa 1óJmuìa
aproxImacIonnueva
n
aproxImacIonprevIa
+aproxImacIonprevIa
2
bsahdo es1a 1h1oJmac1óh, escJ1ba uh pJogJama eh 0c1ave que 1hd1que aì
usuaJ1o que 1h1Joduzca uh húmeJo y uha es11mac1óh 1h1c1aì de su Ja1z
cuadJada. bsahdo es1os da1os de eh1Jada su pJogJama debeJá caìcuìaJ uha
apJox1mac1óh a ìa Ja1z cuadJada que 1ehga uha pJec1s1óh has1a 0.00001
{sugeJehc1a. de1ehga eì c1cìo cuahdo ìa d11eJehc1a eh1Je dos
apJox1mac1ohes sea mehoJ que 0.00001).
2.5 Bibliografia
BaJ1ó, C. {2004). Th1Joducc1óh a ìa Th1oJmá11ca. veJs1óh opeJac1ohaì eh
Chb-0c1ave. bh1veJs11as, CóJdoba.
BJohsoh, C. {2000). C++ paJa Thgeh1eJ1a y C1ehc1as. Th1eJha11ohaì
Thomsoh Ed11oJes, héx1co.
Ea1oh, J. W., Ba1emah, 0., haubeJg, S. {2007). Chb 0c1ave. a h1gh-ìeveì
1h1eJac11ve ìahguage 1oJ humeJ1caì compu1a11ohs. www.oc1ave.oJg
juan I. Weber 65
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
Unidad 3: lntroduccion a la Programacion - parte ll
3.1 Funciones
bha de ìas heJJam1eh1as más podeJosas de pJogJamac1óh eh Chb0c1ave soh
ìas 1uhc1ohes. Es1as peJm11eh Jeduc1J cohs1deJabìemeh1e eì es1ueJzo {y ìos
eJJoJes) eh ìa pJogJamac1óh, ya que JepJeseh1ah soìuc1ohes paJc1aìes a
paJ1es de ìos pJobìemas a JesoìveJ.
Los pJogJamas pJo1es1ohaìes se d1señah, cod111cah y pJuebah eh 1oJma muy
paJec1da aì haJdwaJe. como uha seJ1e de móduìos que es1áh 1h1egJados paJa
1uhc1ohaJ eh coh¸uh1o.
Ex1s1eh dos 11pos de 1uhc1ohes. ìas 1uhc1ohes de b1bì1o1eca, que v1eheh
1hcoJpoJadas a ìa 1hs1aìac1óh de Chb0c1ave, y ìas de11h1das poJ eì usuaJ1o
que peJm11eh ampì1aJ ìas capac1dades deì ìehgua¸e.
Lo que caJac1eJ1za a ambos 11pos de 1uhc1ohes es que ìas m1smas adm11eh
uho o más da1os de eh1Jada {dehom1hados aJgumeh1os) y devueìveh poJ ìo
geheJaì uh Jesuì1ado {puedeh seJ más de uho), como se ve eh ìa 11guJa.
La s1h1ax1s geheJaì es.
variable_de_salida = nombre_de_funcion(lista_de_argumentos);
3.1.1 Funcíones de bíbííoteca
Chb0c1ave d1spohe de uha gJah cah11dad de 1uhc1ohes 1hcoJpoJadas aì
ìehgua¸e, dehom1hadas de b1bì1o1eca. Las m1smas puedeh JequeJ1J uho, dos o
más aJgumeh1os {o vaìoJes de eh1Jada), y devueìveh uho, dos o más vaìoJes
de saì1da. Eh ìa s1gu1eh1e 1abìa se mues1Ja uh pequeño ì1s1ado de
1uhc1ohes de b1bì1o1eca d1spoh1bìes eh 0c1ave.
66 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
Función Equivale a
sqrt(x)
.( x)
exp(x)
e
x
log(x)
ln x
log10(x)
log x
log2(x)
log
2
x
abs(x)
¸x¸
rem(x,y) resto entero de x/y
ceil(x) redondeo por exceso
floor(x) redondeo por defecto
round(x) redondeo
fix(x) truncamiento a 0
sign(x) función signo
gcd(x1,x2,...) máximo común divisor
lcm(x1,x2,...) mínimo común múltiplo
Además es1áh d1spoh1bìes 1odas ìas 1uhc1ohes 1J1gohomé1J1cas e
h1peJbóì1cas.
sin(x) cos(x) tan(x) cot(x) sec(x)
csc(x) asin(x) acos(x) atan(x) acot(x)
asec(x) acsc(x) sinh(x) cosh(x) tanh(x)
coth(x) sech(x) csch(x) asinh(x) acosh(x)
atanh(x) acoth(x) asech(x) acsch(x) atan2(y,x)
Ex1s1eh muchas más 1uhc1ohes de b1bì1o1eca d1spoh1bìes, ìas m1smas
puedeh cohsuì1aJse eh eì mahuaì de Je1eJehc1a de Chb0c1ave. Ex1s1eh s111os
de Th1eJhe1, como h11p.//oc1ave.souJce1oJge.he1/, dohde se d1spohe de uh
Jepos11oJ1o de uha gJah cah11dad de 1uhc1ohes ad1c1ohaìes paJa descaJgaJ e
1hs1aìaJ, cìas111cadas segúh eì áJea de 1h1eJés.
juan I. Weber 67
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
3.1.2 Funcíones defínídas por eí usuarío
Eì pJogJamadoJ 1amb1éh puede desaJJoììaJ sus pJop1as 1uhc1ohes y
u11ì1zaJìas ya sea desde ìa pJop1a ì1hea de comahdos de 0c1ave o b1eh
ììamáhdoìas desde sus pJogJamas.
La s1h1ax1s geheJaì paJa ìa de11h1c1óh de uha 1uhc1óh es ìa s1gu1eh1e.
function resultado = nombre_de_funcion(lista_de_args_de_entrada)
instrucciones;
endfunction
Es1o debe seJ guaJdado eh uh aJch1vo *.m, cuyo hombJe seJá eì m1smo
nombre_de_funcion. Lo Jecomehdabìe es guaJdaJìo eh eì m1smo d1Jec1oJ1o
dohde eì usuaJ1o guaJda sus aJch1vos *.m {oc1ave_11ìes). S1 ìa 1uhc1óh
11ehe más de uh aJgumeh1o de eh1Jada, és1os debeh 1J sepaJados poJ comas.
vamos a e¸empì111caJ ìo ah1eJ1oJ coh uha 1uhc1óh que caìcuìe eì
ìogaJ11mo eh base 4 deì húmeJo que se ìe eh1Jegue como aJgumeh1o.
01spohemos eh 0c1ave de ìa 1uhc1óh de b1bì1o1eca ìog{) que caìcuìa eì
ìogaJ11mo eh base e, y sabemos de ìa ma1emá11ca ìa 1óJmuìa deì camb1o de
base de ìogaJ11mos.
Iog
b
x
Iog
a
x
Iog
a
b
La s1gu1eh1e 1uhc1óh, guaJdada eh eì aJch1vo ìog4.m, peJm11e caìcuìaJ eì
ìogaJ11mo eh base 4.
% funcion logaritmo en base 4
function L = log4(x)
L = log(x)/log(4);
endfunction
bha vez guaJdada, puede seJ ììamada poJ o1Jo pJogJama, como poJ e¸empìo
eì que s1gue que p1de uh húmeJo aì usuaJ1o y mues1Ja ìos ìogaJ11mos eh
base e, 2, 4, y 10 de d1cho húmeJo.
n = input(“Ingrese un número: “);
printf(“El logaritmo natural es: %.4f\n”, log(n));
printf(“El logaritmo en base 2 es: %.4f\n”, log2(n));
% aquí se va a usar la función de usuario
printf(“El logaritmo en base 4 es: %.4f\n”, log4(n));
printf(“Y el logaritmo decimal es: %.4f\n”, log10(n));
3.1.3 Apíícacíón: un e|empío de programacíón paso a paso
vamos a desaJJoììaJ a coh11huac1óh uh e¸empìo compìe1o de pJogJamac1óh
eh Chb0c1ave u11ì1zahdo ìas heJJam1eh1as que hemos v1s1o has1a ahoJa.
EscJ1b1Jemos uh pJogJama paJa JesoìveJ ecuac1ohes cuadJá11cas.
PaJa uha me¸oJ descJ1pc1óh deì pJogJama, agJegamos aì 1h1c1o deì m1smo
uh comeh1aJ1o 1hd1ca11vo.
68 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
% Programa para resolver ecuaciones cuadráticas
La 1dea es que es1e pJogJama se e¸ecu1e 1hde11h1dameh1e has1a que eì
usuaJ1o dec1da ho u11ì1zaJìo más. PoJ ìo 1ah1o, eì coh¸uh1o de
1hs1Jucc1ohes que ìo compohgah es1aJá ah1dado deh1Jo de uha es1Juc1uJa de
Jepe11c1óh 1hde11h1da, que se e¸ecu1aJá aì mehos uha vez.
% Programa para resolver ecuaciones cuadráticas
do
....
until(...)
0eho1amos coh puh1os suspehs1vos {....) ìas paJ1es deì pJogJama que
1Jemos compìe1ahdo ìuego. ThgJesamos 1h1eJac11vameh1e ìos vaìoJes de ìos
coe11c1eh1es a, b y c de ìa ecuac1óh
ax
2
+bx +c0
hac1ehdo uso de ìa 1uhc1óh input.
% Programa para resolver ecuaciones cuadráticas
do
a = input('Ingrese el valor de a:');
b = input('Ingrese el valor de b:');
c = input('Ingrese el valor de c:');
....
until(...)
RecoJdahdo cohcep1os de ha1emá11ca Eìemeh1aì, ìa soìuc1óh de ìa ecuac1óh
depehdeJá deì s1gho deì d1scJ1m1hah1e.
b
2
-4ac
hab1ehdo 1Jes opc1ohes {mayoJ que 0, 1guaì a 0 o mehoJ que 0) ìa
es1Juc1uJa de dec1s1óh podJá coh1oJmaJse coh if...elseif...else...endif,
pJev1o cáìcuìo deì vaìoJ deì d1scJ1m1hah1e que podemos ììamaJ 0.
% Programa para resolver ecuaciones cuadráticas
do
a = input('Ingrese el valor de a:');
b = input('Ingrese el valor de b:');
c = input('Ingrese el valor de c:');
D = b^2–4*a*c;
if (D>0) % dos raices reales y distintas
....
elseif (D<0) % dos raices complejas
....
else % una raiz real
....
endif
....
juan I. Weber 69
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
until(...)
Eh eì pJ1meJ caso {0>0) caìcuìamos ìas Ja1ces coh ìa 1óJmuìa
x
1

-b. D
2a
Eh eì seguhdo caso {0<0) ìa paJ1e Jeaì de ìas Ja1ces es
Real ( x)
-b
2a
y eì vaìoJ absoìu1o de ìa paJ1e 1mag1haJ1a
¸Imag( x )¸
.
¸D¸
2a
s1ehdo ìas Ja1ces
x
1
Real ( x)+Imag( x) i
x
2
Real ( x)-Imag( x)i
F1haìmeh1e, eh eì 1eJceJ caso {0=0) ìa úh1ca Ja1z 11ehe ìa 1oJma
x
-b
2a
Lìevamos ìas 1óJmuìas ah1eJ1oJes apJop1adameh1e deh1Jo de ìa es1Juc1uJa
de dec1s1óh ah1es d1señada.
% Programa para resolver ecuaciones cuadráticas
do
a = input('Ingrese el valor de a:');
b = input('Ingrese el valor de b:');
c = input('Ingrese el valor de c:');
D = b^2–4*a*c;
if (D>0) % dos raices reales y distintas
x1=(-b+sqrt(D))/(2*a);
x2=(-b-sqrt(D))/(2*a);
....
elseif (D<0) % dos raices complejas
Re=-b/(2*a);
Im=sqrt(abs(D))/(2*a);
....
else % una raiz real
x=-b/(2*a);
....
endif
....
until(...)
70 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
La pJeseh1ac1óh de Jesuì1ados seJá d11eJeh1e eh cada caso. Cohv1ehe
u11ì1zaJ eì es11ìo C de saì1da {1uhc1óh printf) ya que peJm11e coh1JoìaJ
eì húmeJo de dec1maìes {asum1mos mos1JaJ 5). Ah1epohemos a 1odos ìos casos
eì 111uìo "soìuc1óh". Eh ese caso, podemos compìe1aJ ìa es1Juc1uJa de
dec1s1óh.
% Programa para resolver ecuaciones cuadráticas
do
a = input('Ingrese el valor de a:');
b = input('Ingrese el valor de b:');
c = input('Ingrese el valor de c:');
D = b^2–4*a*c;
printf(“\nSolucion:\n”);
if (D>0) % dos raices reales y distintas
x1=(-b+sqrt(D))/(2*a);
x2=(-b-sqrt(D))/(2*a);
printf(“x1: %.5f\n”,x1);
printf(“x2: %.5f\n”,x2);
elseif (D<0) % dos raices complejas
Re=-b/(2*a);
Im=sqrt(abs(D))/(2*a);
printf(“x1: %.5f + %.5f i\n”,Re,Im);
printf(“x1: %.5f - %.5f i\n”,Re,Im);
else % una raiz real
x=-b/(2*a);
printf(“x: %.5f\n”,x);
endif
....
until(...)
bha vez pJeseh1ados ìos Jesuì1ados eh pah1aììa, eì pJogJama peJm111Já aì
usuaJ1o dec1d1J s1 qu1eJe e1ec1uaJ o1Jo caìcuìo o ho. PaJa eììo,
1hgJesamos eì vaìoJ de uha vaJ1abìe aux1ì1aJ que 1oJmaJá paJ1e de ìa
cohd1c1óh deì until. Eì 1hgJeso 1h1eJac11vo de d1cha vaJ1abìe aux1ì1aJ se
e1ec1úa poJ med1o de ìa 1uhc1óh input.
% Programa para resolver ecuaciones cuadráticas – programa 05
do
a = input('Ingrese el valor de a:');
b = input('Ingrese el valor de b:');
c = input('Ingrese el valor de c:');
D = b^2–4*a*c;
printf(“\nSolucion:\n”);
if (D>0) % dos raices reales y distintas
x1=(-b+sqrt(D))/(2*a);
x2=(-b-sqrt(D))/(2*a);
printf(“x1: %.5f\n”,x1);
printf(“x2: %.5f\n”,x2);
elseif (D<0) % dos raices complejas
Re=-b/(2*a);
juan I. Weber 71
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
Im=sqrt(abs(D))/(2*a);
printf(“x1: %.5f + %.5f i\n”,Re,Im);
printf(“x1: %.5f - %.5f i\n”,Re,Im);
else % una raiz real
x=-b/(2*a);
printf(“x: %.5f\n”,x);
endif
opcion=input(“Desea efectuar otro cálculo? (s/n):”,”s”);
until(opcion!='s'|opcion!='S')
ho1aJ que ìa 1uhc1óh input posee eì mod111cadoJ “s” que 1hd1ca que ìo
que se va a 1hgJesaJ eì uha cadeha de caJac1eJes {uh soìo caJác1eJ, eh
es1e caso). Además, ho1aJ que eh ìa cohd1c1óh deì until se pJevé que eì
usuaJ1o 1hgJese 1ah1o mayúscuìas como m1húscuìas, y que cuaìqu1eJ ìe1Ja
pJes1ohada que ho sea ìa s mayúscuìa o m1húscuìa 1eJm1haJá ìa e¸ecuc1óh
deì pJogJama. 0ueda de ese modo cohcìu1do eì pJogJama. 0ebemos guaJdaJìo
eh ìa caJpe1a "0c1ave_11ìes" coh uh hombJe apJop1ado segu1do de ìa
ex1ehs1óh .m paJa podeJ 1hvocaJìo desde ìa ì1hea de comahdos de 0c1ave
{cuadJa11ca.m, poJ e¸empìo).
3.1.4 E|ercícíos
1 EscJ1ba uha 1uhc1óh eh 0c1ave ììamada peJ1me1Jo_eì1pse{) que 1ehga como
aJgumeh1os de eh1Jada ìos sem1e¸es mayoJ y mehoJ de ìa eì1pse {a y b) y
que devueìva su peJ1me1Jo, dado poJ
Pn
.
a
2
+b
2
2 EscJ1ba o1Ja 1uhc1óh eh 0c1ave ììamada aJea_eì1pse{) que 1ehga como
aJgumeh1os de eh1Jada ìos sem1e¸es mayoJ y mehoJ de ìa eì1pse {a y b) y
que devueìva su áJea, dada poJ
Ana b
3 EscJ1ba uh pJogJama eh 0c1ave que p1da aì usuaJ1o 1hgJesaJ ìos sem1e¸es
mayoJ y mehoJ de uha eì1pse {a y b) y mues1Je eh pah1aììa su áJea y
peJ1me1Jo, usahdo ìas 1uhc1ohes de ìos e¸eJc1c1os ah1eJ1oJes.
4 EscJ1ba uha 1uhc1óh eh 0c1ave que peJm11a caìcuìaJ ìa d1s1ahc1a eh1Je
dos puh1os {x
1
, y
1
) , {x
2
, y
2
) cuyas cooJdehadas seJáh sus aJgumeh1os de
eh1Jada. 01cha d1s1ahc1a v1ehe dada poJ
d
.
( x
1
-x
2
)
2
+( y
1
-y
2
)
2
5 La aì1uJa máx1ma aìcahzada poJ uha peìo1a ìahzada coh uha veìoc1dad
1h1c1aì v
0
eh m/s, eh uh áhguìo de es1á dada poJ ìa 1óJmuìa
h
1
2g
v
0
2
sen
2
0
EscJ1ba uh pJogJama eh Chb0c1ave que peJm11a aì usuaJ1o 1hgJesaJ ìa
veìoc1dad 1h1c1aì y eì áhguìo de 11Jo y caìcuìe ìa aì1uJa máx1ma.
6 Las cooJdehadas poìaJes de uh puh1o cohs1s1eh eh ìa d1s1ahc1a J desde uh
72 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
oJ1geh espec111cado y uh áhguìo , coh Jespec1o aì e¸e x. Las
cooJdehadas {x,y) deì puh1o se Jeìac1ohah coh sus cooJdehadas poìaJes
poJ ìas 1óJmuìas
xr cos 0
,
yr sin0
usahdo es1as 1óJmuìas, escJ1ba uh pJogJama eh Chb0c1ave que caìcuìe ìas
cooJdehadas {x,y) deì puh1o cuyas cooJdehadas poìaJes seah 1hgJesadas poJ
eì usuaJ1o. RecueJde cohveJ11J eì áhguìo de gJados a Jad1ahes {deh1Jo deì
m1smo pJogJama) pJev1o a apì1caJ ìa 1óJmuìa.
7 bh modeìo deì cJec1m1eh1o de ìa pobìac1óh muhd1aì, eh m1ìes de m1ììohes
de peJsohas, desde 2000 es1á dado poJ ìa ecuac1óh.
P6.0 e
0.02(a-2000)
dohde a es eì año. EscJ1ba uh pJogJama eh Chb0c1ave que peJm11a aì
usuaJ1o 1hgJesaJ eì año y mues1Je ìa es11mac1óh de ìa pobìac1óh muhd1aì.
8 bh modeìo paJa es11maJ eì húmeJo de gJamos C de uh c1eJ1o 1só1opo
Jad1ac11vo que Jes1ah después de h años es1á dado poJ ìa 1óJmuìa
GG
0
e
-0.00012N
dohde C
0
soh ìos gJamos de ma1eJ1aì oJ1g1haì. EscJ1ba uha 1uhc1óh eh
Chb0c1ave que devueìva ìa cah11dad de ma1eJ1aì Jad1ac11vo a paJ11J de uh
húmeJo de años y uha cah11dad oJ1g1haì de ma1eJ1aì dados como aJgumeh1os
de eh1Jada.
9 Eì húmeJo h de años que se Jequ1eJe paJa que se descompohga uh c1eJ1o
1só1opo de uJah1o a ìa m11ad de uha cah11dad oJ1g1haì es1á dado poJ
N
ln (2)
k
dohde k depehde deì 1só1opo. bsahdo es1a 1óJmuìa, escJ1ba uh pJogJama eh
Chb0c1ave que peJm11a 1hgJesaJ eì vaìoJ de k y devueìva eì húmeJo de años
de v1da med1a. PJuebe eì pJogJama coh k = 0.00013 y k = 0.00026.
10 La ampì111cac1óh A de c1Jcu11os eìec1Jóh1cos se m1de eh uh1dades de
dec1beìes, ìas cuaìes se caìcuìah como
A10 log
10
(
P
0
P
i
)
dohde P
0
es ìa po1ehc1a de ìa señaì de saì1da y P
1
es ìa po1ehc1a de ìa
señaì de eh1Jada. bsahdo es1a 1óJmuìa, escJ1ba uh pJogJama eh Chb0c1ave
que peJm11a 1hgJesaJ ìas po1ehc1as de eh1Jada y de saì1da y mues1Je eh
pah1aììa ìa ampì111cac1óh deì equ1po.
11 EscJ1ba uh pJogJama eh Chb0c1ave que mues1Je eì vaìoJ de ìa 1h1ehs1dad
de coJJ1eh1e a 1Javés de uh c1Jcu11o RC {veJ 11guJa). Cuahdo eì
1h1eJJup1oJ se c1eJJa, ìa coJJ1eh1e 1 es1á dada poJ ìa ecuac1óh
juan I. Weber 73
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
i
E
R
e
-
t
t
dohde E es eì voì1a¸e de ìa ba1eJ1a {eh voì11os), R es ìa Jes1s1ehc1a
{eh ohm1os), es ìa cohs1ah1e de 11empo y 1 es eì 11empo {eh seguhdos)
desde que eì 1h1eJJup1oJ 1ue ceJJado.
12 EscJ1b1J uh pJogJama paJa JesoìveJ 1J1áhguìos Jec1áhguìos. Eì pJogJama
debe peJm111J seìecc1ohaJ aì 1h1c1o eì 11po de pJobìema.
dados dos ca1e1os, caìcuìaJ ìa h1po1ehusa y ìos dos áhguìos agudos
dado uh ca1e1o y ìa h1po1ehusa, caìcuìaJ eì o1Jo ca1e1o y ìos dos
áhguìos agudos
dado uh ca1e1o y uh áhguìo agudo, caìcuìaJ ìa h1po1ehusa y eì o1Jo
áhguìo agudo
13 Como pJ1meJos vaìoJes ìe1dos, se 11eheh 3 vaìoJes huméJ1cos que
coJJespohdeh a ìa absc1sa {X) y ìa oJdehada {Y) deì ceh1Jo, y eì Jad1o
{R) de uha c1Jcuh1eJehc1a. LeeJ a coh11huac1óh 30 ¸uegos cada uho de ìos
cuaìes coh11ehe dos vaìoJes, coJJespohd1eh1es a ìa absc1sa {Xp) y ìa
oJdehada {Yp) de uh puh1o. TmpJ1m1J ìa cah11dad de puh1os que cayeJoh
deh1Jo de ìa c1Jcuh1eJehc1a y ìa cah11dad de puh1os que cayeJoh sobJe ìa
m1sma. TmpJ1m1J ìa cah11dad que cayeJoh 1ueJa de eììa, soìameh1e s1 esa
cah11dad es supeJ1oJ a 15.
3.2 Arreglos
Eh PJogJamac1óh se dehom1hah aJJegìos a coh¸uh1os de eìemeh1os deì m1smo
11po oJgah1zados eh uha, dos o {de acueJdo aì ìehgua¸e de pJogJamac1óh de
que se 1Ja1e) más d1mehs1ohes. Eh 0c1ave, se mahe¸ah aJJegìos de uha y dos
d1mehs1ohes, que se dehom1hah Jespec11vameh1e vec1oJes y ma1J1ces.
3.2.1 Vectores
Las cohs1ah1es vec1oJes se 1hd1cah ehumeJahdo sus eìemeh1os oJdehados,
sepaJados poJ comas {opc1ohaì) y ehceJJados eh1Je coJche1es. Las vaJ1abìes
vec1oJ h0 Jequ1eJeh uha dehom1hac1óh espec1aì. La s1gu1eh1e seh1ehc1a
as1gha a ìa vaJ1abìe vector uh vec1oJ de 6 eìemeh1os.
74 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
vector = [3, -1, 2, 4, 0, 1];
podJ1a habeJse escJ11o como
vector = [3 -1 2 4 0 1];
Los vec1oJes as1 de11h1dos soh vec1oJes 11ìa, es dec1J s1 escJ1b1mos eh
ìa ì1hea de comahdos
>>vector
vector = 3 -1 2 4 0 1
PaJa 1hgJesaJ uh vec1oJ coìumha, sepaJamos sus eìemeh1os poJ puh1os y
coma.
>>c = [2; -1 ; 0; 4]
c =
2
-1
0
4
01Ja pos1b1ì1dad es 1hgJesaJìo como uh vec1oJ 11ìa y ìuego usaJ eì
opeJadoJ de 1Jahspos1c1óh {`).
>>c = [2 -1 0 4]'
c =
2
-1
0
4
Es pos1bìe accedeJ a uh eìemeh1o 1hd1v1duaì deì vec1oJ a 1Javés de ìa
ho1ac1óh de sub1hd1ce.
>>c(2)
ans = -1
>>c(3)=c(3)+1;
>>c
c =
2
-1
1
4
3.2.2 Matríces
Las cohs1ah1es ma1J1z se 1hd1cah ehumeJahdo sus eìemeh1os oJdehados
pJ1meJo poJ 11ìas y ìuego poJ coìumhas, sepaJahdo ìos eìemeh1os de uha
juan I. Weber 75
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
m1sma 11ìa poJ comas {opc1ohaì), sepaJahdo ìas 11ìas poJ puh1os y coma {,)
y ehceJJados eh1Je coJche1es. Las vaJ1abìes ma1J1z 1ampoco Jequ1eJeh uha
dehom1hac1óh espec1aì. La s1gu1eh1e seh1ehc1a as1gha a ìa vaJ1abìe matriz
uha ma1J1z de 2 11ìas y 3 coìumhas.
>>matriz = [2, 1, 4; 3, -1, -3]
matriz =
2 1 4
3 -1 -3
podJ1a habeJse escJ11o como
>>matriz = [2 1 4; 3 -1 -3]
matriz =
2 1 4
3 -1 -3
Es pos1bìe accedeJ a uh eìemeh1o 1hd1v1duaì de ìa ma1J1z a 1Javés de ìa
ho1ac1óh de dobìe sub1hd1ce, dohde eì pJ1meJ sub1hd1ce coJJespohde aì
húmeJo de 11ìa y eì seguhdo sub1hd1ce aì húmeJo de coìumha {como es usuaì
eh AìgebJa).
>>matriz(2,3)
ans =
-3
3.2.3 Operacíones matemátícas
Las opeJac1ohes + y - se apì1cah a aJJegìos coh1oJmabìes {eh es1e caso
de ìas m1smas d1mehs1ohes) eìemeh1o a eìemeh1o. veamos aìguhos e¸empìos
expì1ca11vos, escJ11os d1Jec1ameh1e sobJe ìa ì1hea de comahdos de 0c1ave.
Eh pJ1meJ ìugaJ de11h1mos dos ma1J1ces a y b, y ìuego pJeseh1amos su suma
y su Jes1a.
>> a=[2 3;-1 4]
a =
2 3
-1 4
>> b=[-1 1; 0 2]
b =
-1 1
0 2
>> a+b
ans =
1 4
-1 6
>> a-b
ans =
3 2
-1 2
76 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
ìa 1Jahspues1a de uha ma1J1z se ob11ehe como
>> a'
ans =
2 -1
3 4
eì pJoduc1o eh1Je dos ma1J1ces se de11he cuahdo eì húmeJo de coìumhas de
ìa pJ1meJa ma1J1z es 1guaì aì húmeJo de 11ìas de ìa seguhda ma1J1z {se
d1ce que soh coh1oJmabìes), 1aì como se de11he eh eì AìgebJa L1heaì. PaJa
muì11pì1caJ ìas ma1J1ces a y b pJecedeh1es, s1mpìemeh1e escJ1b1mos
>> a*b
ans =
-2 8
1 7
Eh 0c1ave 1amb1éh es1á d1spoh1bìe eì pJoduc1o eìemeh1o a eìemeh1o {que
ho 11ehe equ1vaìeh1e eh eì AìgebJa) y es muy u11ì1zado eh PJogJamac1óh.
PaJa muì11pì1caJ eìemeh1o a eìemeh1o dos ma1J1ces s1mpìemeh1e pJecedemos
aì * poJ uh puh1o {.).
>> a.*b
ans =
-2 3
0 8
Eh 1oJma aháìoga, paJa d1v1d1J eìemeh1o a eìemeh1o dos ma1J1ces
pJecedemos aì / poJ eì puh1o {.).
>> a./b
ans =
-2 3
-Inf 2
{ho1aJ eì -Th1 ob1eh1do aì 1h1eh1aJ d1v1d1J -1 poJ 0). PaJa eìevaJ a uha
po1ehc1a cada eìemeh1o de ìa ma1J1z
>> a.^2
ans =
4 9
1 16
paJa muì11pì1caJ uha ma1J1z poJ s1 m1sma h veces {debe seJ cuadJada) ìa
eìevamos aì expoheh1e h. Eh eì e¸empìo s1gu1eh1e, muì11pì1camos {segúh eì
AìgebJa) ìa ma1J1z a poJ s1 m1sma.
>> a^2
ans =
juan I. Weber 77
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
1 18
-6 13
es equ1vaìeh1e a
>>a*a
ans =
1 18
-6 13
bha podeJosa 1uhc1óh que posee 0c1ave es ìa que devueìve ìa 1hveJsa de
uha ma1J1z {ìa ma1J1z aJgumeh1o debe seJ cuadJada). PaJa ob1eheJ ìa
1hveJsa de ìa ma1J1z a escJ1b1mos
>> inv(a)
ans =
0.36364 -0.27273
0.09091 0.18182
Supohgamos que queJemos JesoìveJ eì s1gu1eh1e s1s1ema de ecuac1ohes
ì1heaìes.

2 3
-1 4

x
1
x
2

2
3

vemos ìa ma1J1z a como ma1J1z de coe11c1eh1es, y uh vec1oJ c de 1éJm1hos
1hdepehd1eh1es {vec1oJ coìumha) que de11h1mos
>> c=[2 3]'
c =
2
3
PodJ1amos pehsaJ eh JesoìveJ eì s1s1ema hac1ehdo uso de ìa 1uhc1óh inv()
ah1es v1s1a.
>>x = inv(a)*c;
PeJo Jesuì1a seJ mucho más e11c1eh1e usaJ uh opeJadoJ espec111co de
0c1ave {opeJadoJ baJJa 1hveJ11da - \ -). PaJa ob1eheJ x escJ1b1mos
>> x = a\c
x =
-0.09091
78 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
0.72727
Eh geheJaì pJe1eJ1Jemos eì uso de de es1a úì11ma opc1óh paJa JesoìveJ
s1s1emas de ecuac1ohes.
3.2.4 Funcíones que actúan sobre arregíos
Eh geheJaì 1odas ìas 1uhc1ohes de ì1bJeJ1a v1s1as puedeh apì1caJse sobJe
aJJegìos, ob1eh1éhdose uh aJJegìo de ìas m1smas d1mehs1ohes eh eì cuaì
cada eìemeh1os suJge de apì1caJ ìa 1uhc1óh eh cues11óh sobJe eì
coJJespohd1eh1e eìemeh1o deì aJJegìo aJgumeh1o.
>>m = [10 0.1 100];
>>log10(m)
ans = 1 -1 2
Además se d1spohe eh 0c1ave de uha humeJosa cah11dad de 1uhc1ohes
espec111cas de aJJegìos, aìguhas de ìas cuaìes pasamos a descJ1b1J. PaJa
mayoJ 1h1oJmac1óh, cohsuì1aJ eì mahuaì de Je1eJehc1a de Chb0c1ave.
PaJa geheJaJ uha ma1J1z 1deh11dad, hacemos uso de ìa 1uhc1óh eye(). Eì
aJgumeh1o {escaìaJ) es eì 1amaño de ìa ma1J1z 1deh11dad {cuadJada) a
geheJaJ. E¸empìo
>> eye(4)
ans =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Eh ocas1ohes 1h1eJesa geheJaJ {1h1c1aì1zaJ poJ ìo comúh) uha ma1J1z
ììeha de ceJos. PaJa eììo usamos ìa 1uhc1óh zeros(m,n) dohde m y n
JepJeseh1ah eì húmeJo de 11ìas y coìumhas {es dec1J eì 1amaño) de ìa
ma1J1z a geheJaJ. E¸empìo
>> zeros(3,5)
ans =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
S1 se 1hgJesa uh úh1co aJgumeh1o, zeros(m) devueìve ìa ma1J1z cuadJada
de 1amaño m.
>> zeros(4)
ans =
0 0 0 0
juan I. Weber 79
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
0 0 0 0
0 0 0 0
0 0 0 0
Eh 1oJma s1m1ìaJ se puede geheJaJ ma1J1ces ììehas de uhos coh ìa 1uhc1óh
ones().
>> ones(3)
ans =
1 1 1
1 1 1
1 1 1
>> ones(2,4)
ans =
1 1 1 1
1 1 1 1
Podemos geheJaJ aJJegìos de húmeJos aìea1oJ1os eh 0c1ave. PaJa eììo
coh1amos coh dos pos1b1ì1dades. La pJ1meJa es ìa 1uhc1óh rand(), que
geheJa húmeJos aìea1oJ1os coh d1s1J1buc1óh uh11oJme, eh1Je 0 y 1. Aì 1guaì
que ìas 1uhc1ohes ah1eJ1oJes, s1 se 1hd1ca uh úh1co aJgumeh1o se geheJa
uha ma1J1z cuadJada.
>> rand(3)
ans =
0.93259 0.96045 0.88516
0.79904 0.67175 0.00862
0.76223 0.98275 0.49784
>> rand(2,5)
ans =
0.86044 0.49058 0.80068 0.32933 0.44074
0.14487 0.83518 0.84207 0.06762 0.80505
La o1Ja 1uhc1óh d1spoh1bìe es ìa 1uhc1óh randn(), que geheJa aJJegìos de
húmeJos aìea1oJ1os d1s1J1bu1dos hoJmaìmeh1e eh1Je 0 y 1. Eì usuaJ1o debe
1eheJ muy eh cìaJo eì 11po de pJobìema a s1muìaJ y cohsecueh1emeh1e ìa
1uhc1óh de geheJac1óh a u11ì1zaJ.
01Ja 1uhc1óh d1spoh1bìe es ìa 1uhc1óh magic(), que geheJa 1abìas mág1cas
{ma1J1ces cuadJadas cuya suma de eìemeh1os de 11ìas y coìumhas es s1empJe
ìa m1sma). E¸empìo.
>> magic(4)
ans =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
80 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
0os 1uhc1ohes 1mpoJ1ah1es d1spoh1bìes eh 0c1ave soh ìas que peJm11eh
cohoceJ ìas d1mehs1ohes de uh aJJegìo. PaJa eì caso de ma1J1ces, ìa
1uhc1óh size() devueìve uh vec1oJ coh dos eìemeh1os. eì húmeJo de 11ìas y
eì húmeJo de coìumhas de ìa ma1J1z aJgumeh1o.
>> A=[2 3 4;-1 2 0]
A =
2 3 4
-1 2 0
>> size(A)
ans =
2 3
Eh eì caso de vec1oJes, ex1s1e ìa 1uhc1óh length(), que devueìve eì
húmeJo de eìemeh1os deì vec1oJ.
>> x=[2 3 -1 4]
x = 2 3 -1 4
>> length(x)
ans = 4
Las 1uhc1ohes ah1eJ1oJes puedeh seJ comb1hadas paJa Jeaì1zaJ
as1ghac1ohes de Jeìa11va compìe¸1dad. Eh eì s1gu1eh1e e¸empìo, se
cohs1Juyeh dos ma1J1ces. uha ma1J1z de ceJos de ìas m1smas d1mehs1ohes
que ìa ma1J1z A ah1es de11h1da y o1Ja de uhos de ìas m1smas d1mehs1ohes.
>> zeros(size(A))
ans =
0 0 0
0 0 0
>> ones(size(A))
ans =
1 1 1
1 1 1
Eh muchas ocas1ohes {eh espec1aì eh ìos s1s1emas de ecuac1ohes que
suJgeh deì desaJJoììo de mé1odos como ìos de d11eJehc1as 11h11as o
eìemeh1os 11h11os) ìas ma1J1ces Jespohdeh a uha 1oJma d1agohaì. PaJa
1ac1ì11aJ su geheJac1óh, 0c1ave d1spohe de ìa 1uhc1óh diag(), que eh eì
caso de coh1aJ coh uh úh1co aJgumeh1o {escaìaJ o vec1oJ) geheJa uha ma1J1z
d1agohaì {eìemeh1os ho huìos sóìo eh ìa d1agohaì pJ1hc1paì) cuyos
eìemeh1os ìo cohs111uyeh ìo eìemeh1os deì vec1oJ aJgumeh1o, o soh 1guaìes
aì escaìaJ aJgumeh1o. PoJ e¸empìo, s1gu1ehdo coh ìa de11h1c1óh deì vec1oJ
x dada ah1eJ1oJmeh1e.
>> diag(x)
ans =
2 0 0 0
0 3 0 0
juan I. Weber 81
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
0 0 -1 0
0 0 0 4
s1 eh camb1o, escJ1b1mos uh úh1co vaìoJ aJgumeh1o.
>>diag(1)
ans =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
S1 se sum1h1s1Ja a d1ag uh seguhdo aJgumeh1o, se ob11ehe uha ma1J1z cuya
d1agohaì se despìaza hac1a aJJ1ba {pos111vo) o hac1a aba¸o {hega11vo)
1ah1os ìugaJes como 1hd1que eì vaìoJ. E¸empìo.
>> diag(x,-1)
ans =
0 0 0 0 0
2 0 0 0 0
0 3 0 0 0
0 0 -1 0 0
0 0 0 4 0
La 1uhc1óh diag 1amb1éh puede seJ u11ì1zada eh seh11do 1hveJso, es
dec1J, ex1JaeJ de uha ma1J1z uh vec1oJ que coh1ehga ìos eìemeh1os de
aìguha d1agohaì de ìa m1sma. PaJa eììo, eì {pJ1meJ) aJgumeh1o de d1ag debe
seJ ìa ma1J1z oJ1geh, y eveh1uaìmeh1e uh seguhdo aJgumeh1o que 11ehe eì
m1smo s1gh111cado v1s1o ah1es. PoJ e¸empìo, cJeamos uha ma1J1z de húmeJos
eh1eJos coh magic y ex1Jaemos su d1agohaì pJ1hc1paì.
>> A = magic(4)
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>> diag(A)
ans =
16
11
6
1
o su subd1agohaì supeJ1oJ.
82 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
>> diag(A,1)
ans =
2
10
12
01Ja 1uhc1óh de u11ì1dad es ìa que peJm11e oJdehaJ aJJegìos. La 1uhc1óh
sort, apì1cada a uh vec1oJ, devueìve ese vec1oJ oJdehado eh 1oJma
cJec1eh1e.
>> x=[2 3 -1 4];
>>sort(x)
ans =
-1 2 3 4
S1 se apì1ca sort a uha ma1J1z, se ob11ehe d1cha ma1J1z oJdehada eh cada
coìumha.
>> A = [4 2; 2 3; 3 1]
A =
4 2
2 3
3 1
>>sort(A)
ans =
2 1
3 2
4 3
Es pos1bìe JeoJdehaJ uh aJJegìo eh o1Jo de d1s11h1as d1mehs1ohes coh ìos
m1smos eìemeh1os, a 1Javés de ìa 1uhc1óh reshape(). Los eìemeh1os deì
huevo aJJegìo se JeoJdehah pJ1oJ11aJ1ameh1e poJ coìumhas. Jeshape 11ehe
1Jes aJgumeh1os. eì pJ1meJo, eì aJJegìo a JeoJdehaJ. Eì seguhdo, eì húmeJo
de 11hìas y eì 1eJceJo eì húmeJo de coìumhas deì aJJegìo JeoJdehado.
E¸empìo.
>> x = [2 3 4 5 6 7];
>>reshape(x,2,3)
ans =
2 4 6
3 5 7
3.2.5 Operador dos puntos (:)
CeheJadoJ de vec1oJes 11ìa eh uh espac1o ì1heaì. S1h1ax1s
<valor_inicial>:[<incremento>|1]:<valor_final>
Eh eì s1gu1eh1e e¸empìo geheJamos uh vec1oJ coh ìos húmeJos eh1eJos deì
juan I. Weber 83
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
1 aì 10. Eì vaìoJ 1h1c1aì es 1, eì vaìoJ 11haì es 10 y eì 1hcJemeh1o es 1
pos111vo, coh ìo cuaì ho es hecesaJ1o 1hd1caJìo.
>>x = 1:10
x =
1 2 3 4 5 6 7 8 9 10
S1 1hd1camos uh paso d1s11h1o de 1, poJ e¸empìo 2, se geheJaJáh ìos
húmeJos 1mpaJes has1a eì 9 1hcìus1ve {eì 11 es uh vaìoJ supeJ1oJ aì vaìoJ
11haì y poJ ìo 1ah1o ho se geheJa).
>>x = 1:2:10
x =
1 3 5 7 9
Eì 1hcJemeh1o puede seJ uh húmeJo dec1maì.
>>x = 1:1.5:10
x =
1.0000 2.5000 4.0000 5.5000 7.0000 8.5000 10.0000
Thcìuso puede seJ uh húmeJo hega11vo, coh ìo que ìos vaìoJes se geheJah
eh oJdeh 1hveJso.
>>x = 10:-1:1
x =
10 9 8 7 6 5 4 3 2 1
veamos aìguhas apì1cac1ohes deì opeJadoJ dos puh1os {.) eh ma1J1ces.
0e11h1mos eh pJ1meJ ìugaJ uha ma1J1z A.
>>A = [35 1 6 26 19 24
3 32 7 21 23 25
31 9 2 22 27 20
8 28 33 17 10 15
30 5 34 12 14 16
4 36 29 13 18 11];
Eh ìa s1gu1eh1e ì1hea ex1Jaemos ìos pJ1meJos 4 eìemeh1os de ìa 11ìa 6
{uh vec1oJ 11ìa de 4 eìemeh1os).
>>(6,1:4)
ans =
4 36 29 13
Eh ìa s1gu1eh1e ì1hea ex1Jaemos ìa 1eJceJa 11ìa compìe1a de ìa ma1J1z.
>>A(3,:)
ans =
31 9 2 22 27 20
84 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
Podemos ex1JaeJ uha subma1J1z de ìa ma1J1z A. Eh ìa s1gu1eh1e ì1hea
ex1Jaemos uha subma1J1z coh1oJmada poJ ìas 11ìas 3, 4 y 5 compìe1as,
hac1ehdo uso dos veces deì opeJadoJ dos puh1os.
>>A(3:5,:)
ans =
31 9 2 22 27 20
8 28 33 17 10 15
30 5 34 12 14 16
Las 11ìas o coìumhas ho debeh seJ hecesaJ1ameh1e vec1has, eh eì
s1gu1eh1e e¸empìo ex1Jaemos ìas 11ìas 1, 2 y 5. PaJa eììo 1hd1camos ìas
11ìas a ex1JaeJ poJ med1o de uh vec1oJ.
>>A([1 2 5],:)
ans =
35 1 6 26 19 24
3 32 7 21 23 25
30 5 34 12 14 16
veamos o1Jas apì1cac1ohes. 0e11hamos eh pJ1meJ ìugaJ o1Ja ma1J1z B,
1deh11dad, y de ìas m1smas d1mehs1ohes que ìa ma1J1z A.
>>B = eye(size(A));
Eh ìa s1gu1eh1e ì1hea Jeempìazamos ìas 11ìas 2, 4 y 5 de ìa ma1J1z B poJ
ìas 11ìas 1, 2 y 3 de A, Jespec11vameh1e.
>>B([2 4 5],:) = A(1:3,:)
B =
1 0 0 0 0 0
35 1 6 26 19 24
0 0 1 0 0 0
3 32 7 21 23 25
31 9 2 22 27 20
0 0 0 0 0 1
3.2.6 Apíícacíones
3.2.6.1 Aplicación 1: división de polinomios
EscJ1b1J uh pJogJama eh 0c1ave que peJm11a JesoìveJ ìa d1v1s1óh eh1Je
dos poì1hom1os poJ ìa Regìa de Ru111h1. Eì pJogJama debe veJ111caJ s1 ìa
d1v1s1óh puede Jeaì1zaJse poJ esa Jegìa.
Soìuc1óh. La 1dea seJá aìmacehaJ ìos coe11c1eh1es de ìos poì1hom1os
d1v1dehdo y d1v1soJ eh dos vec1oJes. Eì d1v1soJ de Ru111h1 debe seJ de ìa
1oJma xa, es dec1J coh dos coe11c1eh1es, dohde eì pJ1meJo debe seJ 1.
Eì s1gu1eh1e pJogJama eh 0c1ave Jesueìve eì pJobìema {se supohe que eì
ìec1oJ es1á 1am1ì1aJ1zado coh ìa Regìa de Ru111h1).
juan I. Weber 85
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
% division de polinomios por Ruffini - programa 06
n = input("ingrese el grado del polinomio dividendo: ");
disp("Ingrese los coeficientes del dividendo (completo y ordenado):");
for i=n+1:-1:1
printf("a%d= ",i-1);
P(i) = input("");
endfor
disp("Ingrese los coeficientes del divisor (completo y ordenado):");
do
Q(2)=input("Ingrese coeficiente principal: ");
if Q(2) != 1
disp("No se puede realizar la división por Ruffini.");
endif
until Q(2) == 1
Q(1)=input("Ingrese término independiente: ");
% comienza el algoritmo de Ruffini
C(n) = P(n+1);
for i = n:-1:2
C(i-1) = C(i)*(-Q(1))+P(i);
endfor
R = C(1)*(-Q(1))+P(1);
% fin de la división
disp("Los coeficientes del polinomio cociente son:");
disp(C(n:-1:1)); % para mostrarlo decreciente
printf("El resto es: %d\n",R);
% fin del programa
3.2.6.2 Aplicación 2: Hidrología
EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a geheJaJ uha seJ1e
m1ìehaJ1a de caudaìes ahuaìes, sab1ehdo que eì caudaì med1o deì J1o es de
25.8 m
3
/s, eì m1h1mo es de 12.8 m
3
/s y eì máx1mo es de 46.3 m
3
/s. A su vez
eì pJogJama debeJá pJeseh1aJ eì peJ1odo de sequ1a de más duJac1óh,
eh1ehd1ehdo poJ sequ1a uh caudaì mehoJ aì 65 º deì caudaì med1o.
Soìuc1óh. Teh1ehdo pJeseh1e que ìa 1uhc1óh Jahd{) devueìve húmeJos
aìea1oJ1os eh1Je 0 y 1, y cohs1deJahdo que eì Jahgo de caudaìes es de
46.3-12.8 = 33,5 m
3
/s, vamos a geheJaJ uh vec1oJ de 1000 eìemeh1os
aìea1oJ1os deh1Jo de ese Jahgo.
PaJa ehcoh1JaJ eì peJ1odo de máx1ma sequ1a, se debeJá Jas1JeaJ eì vec1oJ
de caudaìes y aìmacehaJ eh uha vaJ1abìe aux1ì1aJ ìa duJac1óh de cada
peJ1odo de sequ1a ehcoh1Jado, s1 es de duJac1óh mayoJ aì que se 1ehga eh
ese momeh1o.
Eì s1gu1eh1e cód1go Jesueìve eì pJobìema.
% tratamiento de series hidrologicas – programa 07
% generacion de caudales
Q = rand(1,1000)*(46.3-12.8) + 12.8;
Qm = 25.8; % caudal medio
86 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
bandera = 0; dmax = 0;
% busqueda del mayor periodo de sequia
for i = 1:1000
if Q(i) < 0.65*Qm
if bandera == 0
bandera = 1; d = 1;
endif
d = d + 1;
elseif bandera == 1
bandera = 0;
if d > dmax
dmax = d;
endif
endif
endfor
printf("El mayor periodo de sequia dura %d años\n", dmax);
%fin del programa
3.2.6.3 Aplicación 3: Imágenes satelitales
Las 1mágehes deì sa1éì11e LAh0SAT se ehv1ah a 11eJJa eh uh aJch1vo de
1oJma1o RAW eh eì cuaì a cada p1xeì {cuadJado - veJ 11guJa), de 30 m de
ìado, ìe coJJespohde uh h1veì de gJ1s eh1Je 0 {hegJo) y 255 {bìahco). Eì
1oJma1o RAW 1h1c1a coh dos vaìoJes que 1hd1cah eì húmeJo de 11ìas y de
coìumhas de ìa 1mageh, segu1do poJ ìos h1veìes de gJ1s de cada p1xeì,
segúh 11ìas {veJ e¸empìo). Se cohoce, paJa uha de1eJm1hada Jeg1óh, que
h1veìes de gJ1s mehoJes o 1guaìes a 10 coJJespohdeh a cueJpos de agua,
mayoJes o 1guaìes a 130 a sueìo deshudo, y eì Jes1o a áJeas coh
vege1ac1óh. Se p1de escJ1b1J uh pJogJama de pJocesam1eh1o d1g11aì de
1mágehes que peJm11a.
LeeJ uh aJch1vo RAW y aìmacehaJ ìa 1h1oJmac1óh eh uha ma1J1z eh ìa cuaì
cada eìemeh1o coJJespohda a uh p1xeì.
PeJm111J aì usuaJ1o ob1eheJ uh mapa 1emá11co a eìecc1óh. Los mapas soh.
de vege1ac1óh, de sueìo deshudo o de cueJpos de agua. Eì 1oJma1o es
bìahco y hegJo {bìahco = 1 , hegJo = 0).
AìmacehaJ d1cho mapa eh uh aJch1vo y gJa11caJìo eh pah1aììa coìocahdo
as1eJ1scos eh coJJespohdehc1a coh ìos p1xeìes de vaìoJ 1. veJ e¸empìo.
CaìcuìaJ ìa supeJ11c1e de vege1ac1óh, sueìo deshudo o cueJpos de agua eh
ìa 1mageh {a ped1do deì usuaJ1o).
juan I. Weber 87
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
ho1aJ que ìa es1Juc1uJa de uha 1mageh sa1eì11aì es ìa de uha ma1J1z. Eì
s1gu1eh1e cód1go Jesueìve eì pJobìema.
% imagenes satelitales – programa 08
clear; nombre=input("Ingrese el nombre del archivo RAW: ","s");
raw = load(nombre);
matriz = reshape(raw(3:length(raw)),raw(1),raw(2));
n=menu("Elija un mapa tematico:","Cuerpos de agua",...
"Suelo desnudo","Vegetacion");
% construccion del mapa tematico
switch n
case 1
mapa=(matriz<=10);
case 2
mapa=(matriz>=130);
case 3
mapa=(matriz>10 & matriz<130);
endswitch
save -ascii mapa.map mapa;
% impresion del mapa tematico
[m n]=size(matriz);
printf("\n\n");
for i=1:m
for j=1:n
if mapa(i,j)==0
printf("%3s",' ');
else
printf("%3s",'*');
endif
endfor
printf("\n");
endfor
printf("\n");
% calculo de areas
n=menu("Elija un calculo de areas:","Cuerpos de agua",...
"Suelo desnudo","Vegetacion");
88 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
switch n
case 1
A=sum(sum(mapa=(matriz<=10)));
case 2
A=sum(sum(mapa=(matriz>=130)));
case 3
A=sum(sum(mapa=(matriz>10 & matriz<130)));
endswitch
printf("El area pedida es de %ld m2\n",30^2*A);
3.2.7 E|ercícíos
1 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ uh vec1oJ de h eìemeh1os
0e1eJm1haJ ìa cah11dad de eìemeh1os hega11vos que 11ehe
2 EscJ1b1J uh pJogJama eh Chb0c1ave que s1muìe eì ìahzam1eh1o s1muì1áheo
de 5 dados.
3 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a geheJaJ uha secuehc1a de
100 húmeJos 1eìe1óh1cos aìea1oJ1os deì 11po 0800-*****. Eì pJogJama debe
depuJaJ eveh1uaìes Jepe11c1ohes.
4 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ uh vec1oJ de h eìemeh1os
Reaì1zaJ ìa suma1oJ1a de ìos eìemeh1os de 1hd1ce paJ
5 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ uh vec1oJ de h eìemeh1os
CeheJaJ e 1mpJ1m1J o1Jo vec1oJ dohde cada eìemeh1o sea eì pJoduc1o deì
eìemeh1o oJ1g1haì poJ su sub1hd1ce
6 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ uh vec1oJ de h eìemeh1os y uh húmeJo B
CeheJaJ e 1mpJ1m1J ìa pJoduc1oJ1a de ìos eìemeh1os 1mpaJes de pos1c1óh
múì11pìo de B
7 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ uh vec1oJ A de h eìemeh1os y uh vec1oJ B de m eìemeh1os.
CeheJaJ e 1mpJ1m1J uh vec1oJ C de m+h eìemeh1os que Jesuì1e de ìa
1h1eJcaìac1óh de ìos eìemeh1os de A y B.
8 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
LeeJ uh vec1oJ de h eìemeh1os.
0JdehaJìo eh 1oJma cJec1eh1e.
ThgJesaJ uh vaìoJ x.
Thd1caJ eh1Je qué eìemeh1os deì vec1oJ oJdehado se ehcueh1Ja compJehd1do
x, o b1eh s1 es mayoJ que eì máx1mo, mehoJ que eì m1h1mo o 1guaì a
juan I. Weber 89
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
aìguho de d1chos eìemeh1os.
9 1.Se d1spohe de uh ìo1e de 2000 vaìoJes huméJ1cos mayoJes que 0,
excep1o aìguhos que se 1h1Jodu¸eJoh poJ eJJoJ, y que puedeh seJ 0 o
hega11vos. EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
CaìcuìaJ e 1mpJ1m1J eì pJomed1o de cada subìo1e de1eJm1hado poJ ìa
apaJ1c1óh de uh vaìoJ 0 {que ho debe seJ 1eh1do eh cueh1a paJa eì
pJomed1o)
CaìcuìaJ e 1mpJ1m1J aì 11haì deì pJoceso s1 hubo deh1Jo deì ìo1e aìgúh
vaìoJ hega11vo o ho.
10 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
LeeJ uha ma1J1z cuadJada de 1amaño h.
0e1eJm1haJ e 1mpJ1m1J eì pJoduc1o eh1Je ìa suma de ìos eìemeh1os de ìa
d1agohaì pJ1hc1paì poJ ìa suma de ìos eìemeh1os de ìa d1agohaì
secuhdaJ1a.
11 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
LeeJ uha ma1J1z cuadJada de 1amaño h.
0e1eJm1haJ e 1mpJ1m1J eì pJoduc1o eh1Je ìa suma de ìos eìemeh1os de ìa
ma1J1z d1agohaì supeJ1oJ poJ ìa suma de ìos eìemeh1os de ìa ma1J1z
d1agohaì 1h1eJ1oJ.
12 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ uh húmeJo h poJ pah1aììa,
CeheJaJ uha ma1J1z de húmeJos aìea1oJ1os eh1Je 1 y 10 de h x h,
SumaJ ìos eìemeh1os paJes de d1cha ma1J1z,
PJeseh1aJ eì Jesuì1ado eh pah1aììa
13 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ dos ma1J1ces de 1guaìes d1mehs1ohes poJ pah1aììa,
FoJmaJ uh vec1oJ coh ìos eìemeh1os homóìogos que soh 1guaìes eh ambas
ma1J1ces,
S1 eì vec1oJ 11ehe uh húmeJo paJ de eìemeh1os, pJeseh1aJ ìa suma de
eììos, m1eh1Jas que s1 es 1mpaJ, pJeseh1aJ su pJoduc1o
14 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ uh humeJo ha1uJaì h eh pah1aììa,
CeheJaJ uh vec1oJ de h eìemeh1os dohde eì pJ1meJo es uh 1 y ìos
s1gu1eh1es soh eì dobìe deì ah1eJ1oJ
0JdehaJ eh 1oJma decJec1eh1e eì vec1oJ Jesuì1ado y pJeseh1aJìo eh
pah1aììa
15 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ dos húmeJos m y h eh pah1aììa,
CeheJaJ uh vec1oJ que coh1ehga ìos m pJ1meJos múì11pìos de h,
90 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
PJomed1aJ ìos que ocupah pos1c1ohes paJes deh1Jo deì vec1oJ,
PJeseh1aJ ìos eìemeh1os deì vec1oJ mehoJes a ese pJomed1o
16 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
1hgJesaJ uh húmeJo h eh pah1aììa,
geheJaJ uha ma1J1z A de h 11ìas y h coìumhas eh ìa cuaì cada eìemeh1o
Jesuì1e de sumaJ su pos1c1óh 11ìa y su pos1c1óh coìumha,
geheJaJ uh vec1oJ v1 que coh1ehga ìas sumas de cada 11ìa de ìa ma1J1z A,
geheJaJ uh vec1oJ v2 que coh1ehga ìos eìemeh1os de ìa d1agohaì pJ1hc1paì
de A,
pJeseh1aJ eh pah1aììa eì pJoduc1o escaìaJ eh1Je v1 y v2
17 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
1hgJesaJ uh vec1oJ de 1Jes eìemeh1os ha1uJaìes eh pah1aììa,
buscaJ eì máx1mo de ìos 1Jes eìemeh1os y geheJaJ uha ma1J1z cuadJada
aìea1oJ1a coh vaìoJes eh1Je 1 y 4 coh esa d1mehs1óh,
A ìos eìemeh1os 1mpaJes de ìa ma1J1z muì11pì1caJìos poJ 2
PJeseh1aJ ìa ma1J1z Jesuì1ado eh pah1aììa
18 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ 1Jes vaìoJes ha1uJaìes x, y y z eh pah1aììa,
CeheJaJ uha ma1J1z A cuadJada de 1amaño x, que coh1ehga vaìoJes y eh ìa
d1agohaì pJ1hc1paì y -z eh ìas dos subd1agohaìes vec1has
CeheJaJ o1Ja ma1J1z B de ìas m1smas d1mehs1ohes cuyos eìemeh1os Jesuì1eh
de sumaJ 10 a ìos de A.
CaìcuìaJ eì pJoduc1o A.B y pJeseh1aJìo eh pah1aììa
19 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ uh húmeJo h eh pah1aììa,
CeheJaJ uha ma1J1z cuadJada A de h x h, de húmeJos aìea1oJ1os eh1Je 1 y
5
ThgJesaJ uh húmeJo m eh1Je 1 y 5 eh pah1aììa. S1 eì húmeJo ho es1uv1eJa
eh1Je 1 y 5, Jepe11J eì 1hgJeso
PJeseh1aJ eh pah1aììa uha ma1J1z B que 1ehga. ceJos eh co1hc1dehc1a coh
ìos eìemeh1os de A d1s11h1os de m, y uhos eh ìos 1guaìes a m.
20 Coh1oJmaJ uha ma1J1z de 6 11ìas poJ 24 coìumhas, coh ìos s1gu1eh1es
vaìoJes.
La 11ìa 1 coh ceJos
La 11ìa 2 coh uhos
La 11ìa 3 coh ìos húmeJos ha1uJaìes deì 1 aì 24
La 11ìa 4 coh ìos húmeJos -2 a -48, de 2 eh 2 {-2, -4, -6, ..... -48)
La 11ìa 5 coh vaìoJes ìe1dos poJ 1ecìado
juan I. Weber 91
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
La 11ìa 6 coh vaìoJes 1guaìes a ìa suma de cada coìumha pJev1a
3.3 Lectura y escritura de archivos
Además de ìeeJ da1os desde eì 1ecìado y escJ1b1J Jesuì1ados eh pah1aììa,
0c1ave hos peJm11e ìeeJ y escJ1b1J da1os y/o Jesuì1ados desde y hac1a
aJch1vos.
Ex1s1eh dos me1odoìog1as paJa guaJdaJ y ìeeJ 1h1oJmac1óh desde aJch1vos
eh 0c1ave. ìa pJ1meJa pJop1a de es1e ìehgua¸e, y ìa seguhda aì es11ìo deì
ìehgua¸e C. Es1a úì11ma es ìa más 1hd1cada cuahdo se heces11a uh mayoJ
coh1Joì sobJe eì 1oJma1o de saì1da o de eh1Jada, peJo Jesuì1a más compìe¸a
de u11ì1zaJ.
3.3.1 Lectura/escrítura estíío Octave
La 1uhc1óh d1spoh1bìe eh 0c1ave paJa guaJdaJ 1h1oJmac1óh eh aJch1vos es
save.
3.3.1.1 Función save
La s1h1ax1s de ìa 1uhc1óh save es ìa s1gu1eh1e.
save formato archivo variable1 variable2 ...
archivo JepJeseh1a uha cadeha de caJac1eJes coh1eh1ehdo eì hombJe deì
aJch1vo de saì1da {coh ex1ehs1óh). 01cho aJch1vo se aìmacehaJá eh ìa
caJpe1a octave_files.
formato peJm11e eìeg1J eì 1oJma1o de saì1da deì aJch1vo.
-ascii guaJda eì aJch1vo eh 1oJma1o de 1ex1o es1áhdaJ
-binary guaJda eì aJch1vo eh 1oJma1o b1haJ1o
Eì 1oJma1o -ascii peJm11e que eì coh1eh1do deì aJch1vo pueda seJ
v1suaì1zado eh cuaìqu1eJ ed11oJ de 1ex1o {como eì Bìoc de ho1as, poJ
e¸empìo), peJo su acceso es ìeh1o {es1o es paJ11cuìaJmeh1e ho1abìe s1 eì
voìumeh de 1h1oJmac1óh aìmacehado es 1mpoJ1ah1e).
Eì 1oJma1o -b1haJy guaJda ìa 1h1oJmac1óh eh 11po b1haJ1o {ìehgua¸e de
máqu1ha), y sóìo es acces1bìe desde 0c1ave. Eì acceso a ìa 1h1oJmac1óh es
mucho más veìoz.
vaJ1abìe1 vaJ1abìe2 ... JepJeseh1ah ìas vaJ1abìes a aìmacehaJ eh eì
aJch1vo de saì1da {ho1aJ que sus hombJes h0 es1áh sepaJados poJ comas).
Eh eì s1gu1eh1e e¸empìo se aìmaceha uha ma1J1z A eh uh aJch1vo A.da1 eh
1oJma1o asc11, y se v1suaì1za eì coh1eh1do deì aJch1vo geheJado.
>>A=magic(4)
A =
16 2 3 13
5 11 10 8
92 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
9 7 6 12
4 14 15 1
>> save -ascii A.dat A
Coh1eh1do deì aJch1vo A.da1
1.60000000e+01 2.00000000e+00 3.00000000e+00 1.30000000e+01
5.00000000e+00 1.10000000e+01 1.00000000e+01 8.00000000e+00
9.00000000e+00 7.00000000e+00 6.00000000e+00 1.20000000e+01
4.00000000e+00 1.40000000e+01 1.50000000e+01 1.00000000e+00
ho1aJ que ìos vaìoJes 1ueJoh guaJdados eh 1oJma1o expohehc1aì.
3.3.1.2 Función load
La s1h1ax1s de ìa 1uhc1óh load es ìa s1gu1eh1e.
destino = load(nombre_archivo);
nombre_archivo JepJeseh1a uha cadeha de caJac1eJes coh1eh1ehdo eì hombJe
deì aJch1vo de eh1Jada {coh ex1ehs1óh). 01cho aJch1vo debeJá es1aJ
aìmacehado eh ìa caJpe1a octave_files.
destino es ìa vaJ1abìe dohde se guaJdaJá ìa 1h1oJmac1óh caJgada.
hab11uaìmeh1e sueìe seJ uha ma1J1z o uh vec1oJ.
PoJ e¸empìo, s1gu1ehdo coh eì caso de ìa ma1J1z A ah1es de11h1da, s1
escJ1b1mos eh ìa ì1hea de comahdos
>> clear A;
0uedaJá eì1m1hada de memoJ1a ìa ma1J1z A. 0e hecho, s1 ahoJa escJ1b1mos
>> A
error: 'A' undefined near line 20 column 1
AhoJa caJgamos ìa ma1J1z A huevameh1e eh memoJ1a desde eì aJch1vo A.da1,
u11ì1zahdo ìa 1uhc1óh load.
>> A = load("A.dat")
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
vemos que ìoad peJm11e caJgaJ 1h1oJmac1óh eh memoJ1a desde uh aJch1vo,
que haya s1do aìmacehada eh 1oJma 1abuìaJ, 1hcìuso s1 ho ha s1do geheJada
poJ eì pJop1o 0c1ave. La saì1da de humeJosos d1spos111vos de med1c1óh y
Jeg1s1Jo {uha es1ac1óh 1o1aì, poJ e¸empìo) se aìmaceha eh aJch1vos de
juan I. Weber 93
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
1ex1o coh es1a es1Juc1uJa.
bh uso adecuado de ìas 1uhc1ohes save y load peJm11e aìmacehaJ y
JecupeJaJ 1h1oJmac1óh eh 0c1ave, expahd1ehdo ìas pos1b1ì1dades de ìos
pJogJamas desaJJoììados eh es1e ìehgua¸e.
3.3.2 Lectura/escrítura estíío C
Eh pJ1meJ ìugaJ d1Jemos que paJa podeJ ìeeJ y/o escJ1b1J 1h1oJmac1óh eh
aJch1vos eh es1e es11ìo, es hecesaJ1o agJegaJ dos pasos. aì com1ehzo,
abJ1J eì aJch1vo eh uh `modo` de apeJ1uJa de1eJm1hado, Jeg1s1Jahdo eì
1deh1111cadoJ deì `cahaì` de comuh1cac1ohes ab1eJ1o, 1Jaba¸aJ coh eì
aJch1vo, y 11haìmeh1e ceJJaJ eì cahaì de comuh1cac1ohes ab1eJ1o.
Cua1Jo 1uhc1ohes soh de u11ì1dad eh es1e es11ìo de 1Jaba¸o. F0PEh,
FPRThTF, FSCAhF, y FCL0SE.
3.3.2.1 Función FOPEN
Es1a 1uhc1óh peJm11e abJ1J uha aJch1vo ex1s1eh1e, s1 se pJe1ehde ìeeJ
1h1oJmac1óh de éì, o 1h1c1aJ uh aJch1vo huevo {1amb1éh abJ1J uh aJch1vo
ex1s1eh1e), paJa guaJdaJ 1h1oJmac1óh eh éì. La s1h1ax1s es
ident = fopen(nombre, modo);
Eh ìo ah1eJ1oJ, ident JepJeseh1a uha vaJ1abìe des11ho dohde se
aìmacehaJá eì 1deh1111cadoJ {húmeJo eh1eJo) que JepJeseh1a eì "cahaì"
ab1eJ1o de comuh1cac1ohes, y a 1Javés deì cuaì se haJá Je1eJehc1a de aqu1
eh más aì aJch1vo ab1eJ1o. Los cahaìes 0, 1 y 2 es1áh JeseJvados poJ eì
s1s1ema paJa ìos d1spos111vos s1d1h {1ecìado), s1dou1 {pah1aììa) y s1deJJ
{cahaì de eJJoJes). nombre es uha cadeha de caJac1eJes que coJJespohde aì
hombJe deì aJch1vo a abJ1J {puede 1hcìu1J ìa ex1ehs1óh). Eì aJch1vo eh
cues11óh se abJ1Já eh ìa caJpe1a oc1ave_11ìes. modo es uh caJác1eJ o uha
cadeha de caJac1eJes, que 1hd1ca eì modo de apeJ1uJa deì aJch1vo.
'r' Abre el archivo en modo lectura (el archivo debe existir).
'w' Abre el archivo en modo escritura (el contenido anterior
desaparece).
'a' Abre el archivo en modo escritura (anexa el contenido
nuevo a continuación del existente).
'r+' Abre el archivo en modo lectura / escritura (el archivo
debe existir).
'w+' Abre el archivo en modo lectura / escritura (el contenido
anterior desaparece).
'a+' Abre el archivo en modo lectura / escritura (anexa el
contenido nuevo a continuación del existente).
Aìgo 1mpoJ1ah1e a des1acaJ es que es pos1bìe abJ1J más de uh aJch1vo
s1muì1áheameh1e eh 0c1ave, ya que a cada uho se ìe as1gha uh 1deh1111cadoJ
d1s11h1o.
94 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
bha vez 1hvocada ìa 1uhc1óh F0PEh, es pos1bìe ììamaJ a ìas 1uhc1ohes de
ìec1uJa / escJ11uJa FPRThTF y FSCAhF.
3.3.2.2 Función FPRINTF
Es1a 1uhc1óh es s1m1ìaJ a ìa 1uhc1óh PRThTF v1s1a ah1eJ1oJmeh1e, sóìo
que se agJega, como pJ1meJ aJgumeh1o, eì 1deh1111cadoJ deì cahaì de saì1da
{aJch1vo) ab1eJ1o. As1, ìa s1gu1eh1e 1hs1Jucc1óh
fprintf(id,”el valor de a es: %.3f\n”,a);
escJ1be eh eì aJch1vo ab1eJ1o eh eì cahaì id ìa 1Jase 1hd1cada.
3.3.2.3 Función FSCANF
Es1a 1uhc1óh es1á 1hsp1Jada eh ìa 1uhc1óh 1scah1 deì ìehgua¸e C, s1h
embaJgo ho posee ìa m1sma s1h1ax1s. huevameh1e se supohe que pJev1ameh1e
ha s1do ab1eJ1o coh F0PEh eì cahaì {aJch1vo) coh 1deh1111cadoJ aìmacehado
eh ìa vaJ1abìe id. La s1h1ax1s es
[v1, v2, ....]=fscanf(id, plantilla, “C”);
dohde v1, v2, ... soh ìa vaJ1abìes des11ho que se ìeeh de acueJdo aì
1oJma1o de ìa plantilla {vaìe ìo expì1cado eh eì caso de ìa 1uhc1óh
PRThTF). Eì mod111cadoJ “C” ìe 1hd1ca a 0c1ave que es1amos u11ì1zahdo ìa
1uhc1óh eh eì es11ìo C.
3.3.2.4 Función FCLOSE
bha vez 11haì1zadas ìas opeJac1ohes de ìec1uJa / escJ11uJa coh uh
de1eJm1hado aJch1vo, y ah1es de 11haì1zaJ ìa e¸ecuc1óh deì pJogJama, eì
aJch1vo {cahaì de comuh1cac1óh) debe ceJJaJse u11ì1zahdo ìa 1uhc1óh
FCL0SE. Su s1h1ax1s es
fclose(id);
dohde id es huevameh1e eì 1deh1111cadoJ deì aJch1vo que se pJe1ehde
ceJJaJ. hay que des1acaJ que debe u11ì1zaJse uha 1hs1Jucc1óh FCL0SE poJ
cada aJch1vo que se haya ab1eJ1o.
veamos uh e¸empìo de apì1cac1óh. Supohgamos que 1ehemos guaJdado eh ìa
caJpe1a oc1ave_11ìes uh aJch1vo, ììamado da1os.1x1, que coh11ehe ìa
s1gu1eh1e 1h1oJmac1óh.
33578267 Jose Perez 19
34215449 Maria Gomez 18
31677932 Pablo Fernandez 20
28334467 Silvia Lopez 26
es dec1J, 0hT, hombJe, apeìì1do y edad de uh gJupo de aìumhos. Eì
s1gu1eh1e pJogJama eh 0c1ave peJm11e ìeeJ ìa 1h1oJmac1óh ah1eJ1oJ desde eì
aJch1vo y geheJa o1Jo aJch1vo, dehom1hado apellidos.txt que coh11ehe sóìo
ìos apeìì1dos de ìos aìumhos ah1eJ1oJes.
juan I. Weber 95
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
arch1=fopen("datos.txt",'r');
arch2=fopen("apellidos.txt",'w');
while !feof(arch1)
[dni,nombre,apellido,edad]=fscanf(arch1,"%ld%s%s%d","C");
fprintf(arch2,"%s\n",apellido);
endwhile
fclose(arch1); fclose(arch2);
3.3.3 Apíícacíón: estudío de tránsíto
PaJa pJocedeJ a ìa sema1oJ1zac1óh de uha aveh1da, se ha 1hs1aìado uh
1hs1Jumeh1o que poJ eì paso de cada veh1cuìo, Jeg1s1Ja ìa hoJa, expJesada
eh m1hu1os. Es dec1J,
- La hoJa 00.01 queda Jeg1s1Jada como 1,
- La hoJa 01.05 queda Jeg1s1Jada como 65,
- La hoJa 03.27 queda Jeg1s1Jada como 207,
- La hoJa 24.00 queda Jeg1s1Jada como 1440,
Se p1de escJ1b1J uh pJogJama eh Chb0c1ave que 1mpJ1ma eh pah1aììa ìas
hoJas p1co deì d1a, y ìa cah11dad de veh1cuìos Jeg1s1Jados a cada uha de
esas hoJas. Se cohs1deJa que es hoJa p1co, aqueììa eh ìa que ìa cah11dad
de veh1cuìos Jeg1s1Jada supeJa aì dobìe deì pJomed1o de veh1cuìos poJ
m1hu1o duJah1e eì d1a. La 1mpJes1óh debe seJ e1ec1uada eh uha 1abìa coh eì
s1gu1eh1e ehcabezado.
h0RA hThbT0S CAhTT0A0 0E vEhTCbL0S
3.3.3.1 Solución
0ado que eì aJch1vo de da1os 11ehe uha es1Juc1uJa de aJJegìo y aìmaceha
da1os deì m1smo 11po, se usaJáh ìas 1uhc1ohes de ìec1uJa/escJ11uJa es11ìo
0c1ave. Eì s1gu1eh1e cód1go Jesueìve eì pJobìema.
% estudio de transito para semaforizacion – programa 09
registro = load("datos.dat");
promedio_diario = length(registro)/1440;
printf("%-15s%-30s\n","HORA MINUTOS","CANTIDAD DE VEHÍCULOS");
k=1; horas=zeros(1,24);
for i=1:length(registro)
if registro(i) > k*60
k++;
endif
horas(k)=horas(k)+1;
endfor
for i=1:24
if horas(i)/60 > 2*promedio_diario
printf("%2d%-18s%-30d\n",i,":00",horas(i));
endif
endfor
96 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
% fin del programa
3.3.4 E|ercícíos
1 EscJ1b1J uh pJogJama eh 0c1ave que acep1e ì1heas de 1ex1o deì 1ecìado y
escJ1ba cada ì1hea eh uh aJch1vo ììamado texto.dat has1a que se
1h1Joduzca uha ì1hea vac1a.
2 EscJ1ba uh pJogJama eh 0c1ave que abJa uh aJch1vo y mues1Je eì coh1eh1do
deì aJch1vo coh húmeJos de ì1hea asoc1ados. Es dec1J, eì pJogJama debeJá
1mpJ1m1J eì húmeJo 1 ah1es de 1mpJ1m1J ìa pJ1meJa ì1hea, eì húmeJo 2
ah1es de ìa seguhda, e1c.
3 CJee uh aJch1vo de 1ex1o que coh1ehga ìos s1gu1eh1es da1os {s1h ìos
ehcabezados).
Nombre DNI Tarifa por hora Horas trabajadas
Juan Perez 27226443 10.32 37
Pedro Lopez 29447558 8.23 40
Pablo Gomez 30728163 7.89 40
Luis Chavez 26573461 9.80 35
EscJ1ba uh pJogJama eh 0c1ave que que ìea es1e aJch1vo de da1os y
caìcuìe y despì1egue uha ì1s1a de pago, que debe coh1eheJ {eh es1e oJdeh).
0hT, hombJe, pago {1aJ11a poJ hoJa x hoJas 1Jaba¸adas).
4 Aìmacehe ìos s1gu1eh1es da1os eh uh aJch1vo.
5 96 87 78 93 21 4 92 82 85 87 6 72 69 85 75 81 73
EscJ1ba uh pJogJama eh 0c1ave paJa caìcuìaJ y mos1JaJ eì pJomed1o de
cada gJupo de húmeJos eh eì aJch1vo aìmacehado. Los da1os es1áh oJdehados
de modo que cada gJupo de húmeJos es1é pJeced1do poJ eì húmeJo de
eìemeh1os de da1os eh eì gJupo. PoJ 1ah1o, eì pJ1meJ húmeJo eh eì aJch1vo,
5, 1hd1ca que ìos s1gu1eh1es 5 húmeJos debeJáh agJupaJse ¸uh1os. Eì húmeJo
4 1hd1ca 1hd1ca que ìos s1gu1eh1es cua1Jo húmeJos soh uh gJupo, y eì 6
1hd1ca que ìos úì11mos 6 húmeJos soh uh gJupo.
5 Se desea d1agJamaJ y pJogJamaJ uh pJoceso que as1ghe ìa d1v1s1óh de
pJ1meJ año que ìe coJJespohde a cada aìumho, eh c1eJ1a espec1aì1dad.
PaJa eììo se d1spohe de uh aJch1vo de vaìoJes, cohs111u1do de ìa
s1gu1eh1e maheJa. uh ¸uego de 6 vaìoJes, que JepJeseh1ah ìas vacah1es
d1spoh1bìes eh cada uha de ìas d1v1s1ohes. A coh11huac1óh apaJeceh paJes
de vaìoJes cohs1s1eh1es eh húmeJo de ìega¸o y d1v1s1óh eìeg1da poJ eì
aìumho. Es1e coh¸uh1o de da1os 11haì1za coh uh húmeJo de ìega¸o 1guaì a
99999. Se desea, eh ìo pos1bìe, Jespe1aJ ìa d1v1s1óh soì1c11ada poJ eì
aìumho. eh caso de ho habeJ vacah1e eh ìa m1sma, se ìe debe as1ghaJ
vacah1e eh o1Ja d1v1s1óh. PoJ cada aìumho se debe 1mpJ1m1J su húmeJo de
ìega¸o, y a coh11huac1óh, o b1eh ìa d1v1s1óh as1ghada, o eì ìe1JeJo "STh
vACAhTE", eh caso de ho quedaJ d1spoh1bìe ìugaJ eh h1hguha d1v1s1óh. Aì
11haì1zaJ, se debe 1mpJ1m1J ìa cah11dad de vacah1es que quedaJoh
d1spoh1bìes eh cada d1v1s1óh, o ìa cah11dad de aìumhos s1h vacah1es,
juan I. Weber 97
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
segúh eì caso.
6 Eì seJv1c1o me1eoJoìóg1co desea e1ec1uaJ uh es1ud1o sobJe v1eh1os, paJa
ìo cuaì d1spohe de 1Jes aJch1vos de Jeg1s1Jos.
1) 2200 da1os que 11eheh a) hJo. de ìocaì1dad {5 d1g11os)
b) v1eh1o máx1mo h1s1óJ1co deì ìugaJ {km/h)
2) 5000 da1os que es1abìeceh a qué pJov1hc1a coJJespohde cada ìocaì1dad.
a) hJo. de ìocaì1dad {deh1Jo de es1as 5000
ìocaì1dades es1áh ìas 2200 deì puh1o ah1eJ1oJ)
b) hJo. de pJov1hc1a {1 a 24).
3) da1os de v1eh1os med1dos duJah1e eì peJ1odo eh es1ud1o, eh ìas
ìocaì1dades deì puh1o 1). a) hJo. de ìocaì1dad eh que se m1d1ó
b) veìoc1dad deì v1eh1o med1da {km/h)
Se p1de.
Eì pJomed1o de ìos v1eh1os med1dos, eh1Je 1odas ìas ìocaì1dades eh
ìas que eì v1eh1o med1do exced1ó eh 50 º o más deì máx1mo h1s1óJ1co deì
ìugaJ {es1e es uh vaìoJ úh1co).
Los húmeJos de ìas pJov1hc1as eh ìas que es1áh ìas ìocaì1dades
mehc1ohadas eh eì puh1o ah1eJ1oJ, agJegahdo aì húmeJo de pJov1hc1a, ìa
cah11dad de ìocaì1dades que eh eììa cumpì1eJoh esa cohd1c1óh.
7 Eh uha uh1veJs1dad se desea pJocesaJ 1h1oJmac1óh sobJe exámehes Jehd1dos
poJ aìumhos, a 11h de ob1eheJ da1os es1ad1s11cos. PaJa eììo se d1spohe
de uh pJ1meJ aJch1vo coh ìa s1gu1eh1e 1h1oJmac1óh de ìas 35 ma1eJ1as de
uha caJJeJa, s1h h1hgúh oJdeh.
C00TC0 0E LA hATERTA {1 a 40) Ah0 Eh 0bE SE CbRSA {1 a 5)
A coh11huac1óh se 1hgJesa uh aJch1vo coh 1h1oJmac1óh sobJe ìos
aìumhos 1hscJ1p1os paJa Jehd1J es1os exámehes, 1amb1éh s1h h1hgúh oJdeh.
C00TC0 0E LA hATERTA Eh 0bE SE ThSCRTBT0 {1 a 40) hbhER0 0E
LECAJ0 {5 d1g11os)
Cada aìumho se 1hscJ1be eh uha soìa ma1eJ1a.
F1haìmeh1e, 1Jas Jehd1J ìos exámehes, se geheJa uh aJch1vo coh da1os,
excìus1vameh1e eh eì caso de aìumhos que se pJeseh1aJoh a Jehd1J exameh, y
11haì1za coh uh ìega¸o 1guaì a 0. Es1e ìo1e 11ehe
C00TC0 0E LA hATERTA hbhER0 0E LECAJ0 h0TA
EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
0e1eJm1haJ e 1mpJ1m1J ìos húmeJos de ìega¸o de ìos aìumhos 1hscJ1p1os
que h0 se pJeseh1aJoh a Jehd1J exameh
uh ì1s1ado oJdehado eh 1oJma cJec1eh1e poJ cód1go de ma1eJ1a, que
coh1ehga eì poJceh1a¸e de aìumhos que apJobaJoh, Jespec1o de ìos que se
1hscJ1b1eJoh eh cada ma1eJ1a
ìos 5 pJomed1os {uho poJ cada año) de caì111cac1ohes ob1eh1das poJ
ìos aìumhos que J1hd1eJoh exameh eh esa 1echa.
98 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
3.4 Gráficos cientificos
Chb0c1ave 11ehe capac1dad de Jeaì1zaJ gJá11cos eh dos y 1Jes
d1mehs1ohes. Los gJá11cos 2-0 de 0c1ave es1áh 1uhdameh1aìmeh1e oJ1eh1ados
a ìa JepJeseh1ac1óh gJá11ca de vec1oJes {y ma1J1ces) como eh hATLAB peJo
es1áh basados eh ìas 1uhc1ohes gpìo1 y gspìo1 deì s1s1ema gJá11co ChbPìo1.
Eh eì caso más sehc1ììo ìos aJgumeh1os bás1cos de ìa 1uhc1óh pìo1 vah a
seJ vec1oJes. Cuahdo uha ma1J1z apaJezca como aJgumeh1o, se cohs1deJaJá
como uh coh¸uh1o de vec1oJes coìumha {eh aìguhos casos 1amb1éh de vec1oJes
11ìa).
0c1ave u11ì1za uh 11po espec1aì de veh1ahas paJa Jeaì1zaJ ìas
opeJac1ohes gJá11cas. C1eJ1os comahdos abJeh uha veh1aha hueva y o1Jos
d1bu¸ah sobJe ìa veh1aha ac11va, b1eh sus111uyehdo ìo que hub1eJa eh eììa,
b1eh añad1ehdo huevos eìemeh1os gJá11cos a uh d1bu¸o ah1eJ1oJ.
3.4.1 Funcíones gráfícas 2D
0c1ave d1spohe de 1uhc1ohes bás1cas y espec1aì1zadas paJa cJeaJ
gJá11cos 2-0. Es1as 1uhc1ohes se d11eJehc1ah pJ1hc1paìmeh1e poJ eì 11po de
escaìa que u11ì1zah eh ìos e¸es de absc1sas y de oJdehadas y eì 11po de
cooJdehadas. 0e eh1Je 1odas eììas eh es1e cuJso veJemos ìa 1uhc1óh plot(),
que peJm11e cohs1Ju1J gJá11cos caJ1es1ahos. PaJa mayoJ 1h1oJmac1óh sobJe
ìas o1Jas 1uhc1ohes, cohsuì1aJ eì mahuaì de Je1eJehc1a deì ìehgua¸e.
Ex1s1eh además o1Jas 1uhc1ohes oJ1eh1adas a añad1J 111uìos aì gJá11co,
a cada uho de ìos e¸es, a d1bu¸aJ uha cuadJ1cuìa aux1ì1aJ, e1c. Es1as
1uhc1ohes soh ìas s1gu1eh1es.
title('título') añade un título al dibujo (parte superior).
bottom_title('titulo') añade un título al dibujo (parte inferior).
xlabel('tal') añade una etiqueta al eje de abscisas. Con xlabel
off desaparece.
ylabel('cual') añade una etiqueta al eje de ordenadas. Con ylabel
off desapace.
grid on activa la inclusión de una cuadrícula en el
dibujo. Con grid off desaparece la cuadrícula
Los dos gJupos de 1uhc1ohes ah1eJ1oJes ho ac1úah de ìa m1sma 1oJma.
As1, ìa 1uhc1óh plot d1bu¸a uha hueva 11guJa eh ìa veh1aha ac11va {eh 1odo
momeh1o 0c1ave 11ehe uha veh1aha ac11va de eh1Je 1odos ìas veh1ahas
gJá11cas ab1eJ1as), o abJe uha hueva 11guJa s1 ho hay h1hguha ab1eJ1a,
sus111uyehdo cuaìqu1eJ cosa que hub1eJa d1bu¸ada ah1eJ1oJmeh1e eh esa
veh1aha.
Se comehzaJá cJeahdo uh paJ de vec1oJes x e y .
>>x=[-10:0.2:10]; y=sin(x);
Se e¸ecu1ah ìos comahdos s1gu1eh1es {se com1ehza ceJJahdo ìa veh1aha
ac11va, paJa que aì cJeaJ ìa hueva veh1aha apaJezca eh pJ1meJ pìaho).
juan I. Weber 99
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
>>closeplot se cierra la ventana gráfica activa anterior
>>grid se crea una ventana con una cuadrícula
>>plot(x,y) se dibuja la función seno conservando la
cuadrícula
Coh ìa 1uhc1óh hold puedeh añad1Jse gJá11cos a uha 11guJa ya ex1s1eh1e
Jespe1ahdo su coh1eh1do.
3.4.1.1 La función plot
Eì eìemeh1o bás1co de ìos gJá11cos b1d1mehs1ohaìes es eì vec1oJ. Se
u11ì1zah 1amb1éh cadehas de 1, 2 ó 3 caJac1eJes paJa 1hd1caJ coìoJes y
11pos de ì1hea. La 1uhc1óh plot(), eh sus d1veJsas vaJ1ah1es, ho hace o1Ja
cosa que d1bu¸aJ vec1oJes.
bh e¸empìo muy sehc1ììo de es1a 1uhc1óh.
>>x=[1 3 2 4 5 3];
>>plot(x)
100 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
PoJ de1ec1o, ìos d1s11h1os puh1os deì gJá11co se uheh coh uha ì1hea
coh11hua. Tamb1éh poJ de1ec1o, eì coìoJ que se u11ì1za paJa ìa pJ1meJa
ì1hea es eì Jo¸o. Cuahdo a ìa 1uhc1óh plot() se ìe pasa uh úh1co vec1oJ -
Jeaì- como aJgumeh1o, d1cha 1uhc1óh d1bu¸a eh oJdehadas eì vaìoJ de ìos h
eìemeh1os deì vec1oJ 1Jeh1e a ìos 1hd1ces 1, 2, ... h deì m1smo eh
absc1sas.
0c1ave u11ì1za poJ de1ec1o coìoJ bìahco paJa eì 1ohdo de ìa pah1aììa y
o1Jos coìoJes más oscuJos paJa ìos e¸es y ìas gJá11cas.
bha seguhda 1oJma de u11ì1zaJ ìa 1uhc1óh plot() es coh dos vec1oJes como
aJgumeh1os. Eh es1e caso ìos eìemeh1os deì seguhdo vec1oJ se JepJeseh1ah
eh oJdehadas 1Jeh1e a ìos vaìoJes deì pJ1meJo, que se JepJeseh1ah eh
absc1sas. PoJ e¸empìo cómo se puede d1bu¸aJ uh cuadJ1ìá1eJo de es1a 1oJma
{obséJvese que paJa d1bu¸aJ uh poì1goho ceJJado eì úì11mo puh1o debe
co1hc1d1J coh eì pJ1meJo).
>>x=[1 6 5 2 1]; y=[1 0 4 3 1];
>>plot(x,y)
La 1uhc1óh plot() peJm11e 1amb1éh d1bu¸aJ múì11pìes cuJvas 1h1Joduc1ehdo
vaJ1as paJe¸as de vec1oJes como aJgumeh1os. Eh es1e caso, cada uho de ìos
seguhdos vec1oJes se d1bu¸ah eh oJdehadas como 1uhc1óh de ìos vaìoJes deì
pJ1meJ vec1oJ de ìa paJe¸a, que se JepJeseh1ah eh absc1sas. S1 eì usuaJ1o
ho dec1de o1Ja cosa, paJa ìas suces1vas ì1heas se u11ì1zah coìoJes que soh
peJmu1ac1ohes c1cì1cas deì azuì, veJde, Jo¸o, cyah, mageh1a, amaJ1ììo y
hegJo.
0bséJvese b1eh cómo se d1bu¸ah eì seho y eì coseho eh eì e¸empìo.
>>x=0:pi/25:6*pi;
>>y=sin(x); z=cos(x);
juan I. Weber 101
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
>>plot(x,y,x,z)
Eì comahdo plot() puede u11ì1zaJse 1amb1éh coh ma1J1ces como aJgumeh1os.
Aìguhos e¸empìos sehc1ììos.
plot(A) dibuja una línea por cada columna de A en ordenadas,
frente al índice de los elementos en abscisas.
plot(x,A) dibuja las columnas (o filas) de A en ordenadas frente
al vector x en abscisas. Las dimensiones de A y x
deben ser coherentes: si la matriz A es cuadrada se
dibujan las columnas, pero si no lo es y la dimensión
de las filas coincide con la de x, se dibujan las
filas.
plot(A,x) análogo al anterior, pero dibujando las columnas (o
filas) de A en abscisas, frente al valor de x en
ordenadas.
plot(A,B) dibuja las columnas de B en ordenadas frente a las
columnas de A en abscisas, dos a dos. Las dimensiones
deben coincidir.
plot(A,B,C,D) análogo al anterior para cada par de matrices. Las
dimensiones de cada par de matrices deben coincidir,
aunque pueden ser diferentes de las dimensiones de los
demás pares.
E¸empìos de uso de ìas d11eJeh1es vaJ1ah1es de ìa 1uhc1óh pìo1{).
>>A=hilb(6);
>>plot(A)
102 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
>>x=[1 2 3 4 5 6];
>>plot(x, inv(A))
>>plot(1./A, A)
juan I. Weber 103
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
3.4.1.2 Estilos de línea y marcadores en la función plot
La 1aJea 1uhdameh1aì de ìa 1uhc1óh plot() es d1bu¸aJ ìos vaìoJes de uh
vec1oJ eh oJdehadas, 1Jeh1e a ìos vaìoJes de o1Jo vec1oJ eh absc1sas. Eh
eì caso geheJaì es1o ex1ge que se paseh como aJgumeh1os uh paJ de
vec1oJes. Eh Jeaì1dad, eì coh¸uh1o bás1co de aJgumeh1os de es1a 1uhc1óh es
uha 1J1pìe1a 1oJmada poJ dos vec1oJes y uha cadeha de 1, 2 ó 3 caJac1eJes
que 1hd1ca eì coìoJ y eì 11po de ì1hea o de maJkeJ.
Eì 1oJma1o de ìa 1uhc1óh plot() es.
plot(x,y,fmt...)
donde 1m1 es una cadena de caracteres que es Interpretada como sIgue.
'-' fija el estilo línea (por defecto)
'+' fija el estilo de puntos cruces
'*' fija el estilo de puntos asteriscos
'o' fija el estilo de puntos círculos
'x' fija el estilo de puntos x
PaJa mod111caJ eì coìoJ se espec111ca fmt como s1gue.
'r' rojo
'g' verde
'b' azul
'm' magenta
'c' cyan
'w' negro
Cuahdo hay que d1bu¸aJ vaJ1as ì1heas, poJ de1ec1o se vah 1omahdo
suces1vameh1e ìos coìoJes de ìa 1abìa comehzahdo poJ eì Jo¸o, hac1a aba¸o,
y cuahdo se 1eJm1hah se vueìve a empezaJ o1Ja vez poJ eì Jo¸o.
104 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
3.4.1.3 Añadir líneas a un gráfico ya existente
Ex1s1e ìa pos1b1ì1dad de añad1J ì1heas a uh gJá11co ya ex1s1eh1e, s1h
des1Ju1Jìo o s1h abJ1J uha hueva veh1aha. Se u11ì1zah paJa eììo ìos
comahdos hold on y hold off. Eì pJ1meJo de eììos hace que ìos gJá11cos
suces1vos Jespe1eh ìos que ya se hah d1bu¸ado eh ìa 11guJa {es pos1bìe que
haya que mod111caJ ìa escaìa de ìos e¸es), eì comahdo hold off deshace eì
e1ec1o de hold on.
Eì e¸empìo añade ìa gJá11ca de cos{x) a ìa gJá11ca de s1h{x) pJev1ameh1e
cJeada.La pJ1meJa ì1hea {clearplot) ì1mp1a eì coh1eh1do de ìa veh1aha
gJá11ca s1h ceJJaJìa.
>>clearplot
>>x=[-pi:pi/20:pi];
>>y=sin(x);
>>plot(x,y);
>>hold on
>>z=cos(x);
>>plot(x,z);
3.4.1.4 Comando subplot
bha veh1aha gJá11ca se puede d1v1d1J eh m paJ11c1ohes hoJ1zoh1aìes y h
veJ11caìes, coh ob¸e1o de JepJeseh1aJ múì11pìes gJá11cos eh eììa. Cada uha
de es1as subveh1ahas 11ehe sus pJop1os e¸es, auhque o1Jas pJop1edades soh
comuhes a 1oda ìa 11guJa. La 1oJma geheJaì de es1e comahdo es.
subpìo1{m,h,1),dohde m y h soh eì húmeJo de subd1v1s1ohes eh 11ìas y
coìumhas, e 1 es ìa subd1v1s1óh que se cohv1eJ1e eh ac11va. Las
subd1v1s1ohes se humeJah cohsecu11vameh1e empezahdo poJ ìas de ìa pJ1meJa
11ìa, s1gu1ehdo poJ ìas de ìa seguhda, e1c.
PoJ e¸empìo.
juan I. Weber 105
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
>>clearplot
>>y=sin(x); z=cos(x); w=exp(-x*.1).*y; v=y.*z;
>>subplot(2,2,1), plot(x,y)
>>subplot(2,2,2), plot(x,z)
>>subplot(2,2,3), plot(x,w)
>>subplot(2,2,4), plot(x,v)
3.4.1.5 Control de los ejes
0c1ave 11ehe uha escaìa de e¸es poJ de1ec1o, que eh aìguhas ocas1ohes
puede 1h1eJesaJ camb1aJ. Eì comahdo bás1co es axis(limites). PoJ de1ec1o,
a¸us1a ìa escaìa de cada uho de ìos e¸es de modo que vaJ1e eh1Je eì m1h1mo
y eì máx1mo vaìoJ de ìos vec1oJes a JepJeseh1aJ. Es1e es eì ììamado modo
au1o, o modo au1omá11co. PaJa de11h1J de modo expì1c11o ìos vaìoJes máx1mo
y m1h1mo segúh cada e¸e, se u11ì1za eì comahdo axis().
axis([xmin, xmax, ymin,
ymax, zmin, zmax])
son opcionales de 2 en 2
axis(’auto’) devuelve el escalado de los ejes al valor por
defecto o automático.
axis devuelve un vector v con [xmin, xmax, ymin,
ymax, zmin, zmax]
axis('equal') el escalado es igual en ambos ejes
106 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
axis('square') la ventana será cuadrada
axis(’normal’) elimina las restricciones introducidas por
’equal' y ’square’
axis(’off’) elimina las etiquetas, los números y los ejes
axis('on') restituye las etiquetas, los números y los
ejes
PaJa mod111caJ eì 111uìo de uh gJá11co, se usa ìa 1uhc1óh 111ìe{). Eì
1oJma1o es.
title(titulo)
dohde titulo es uha cadeha de caJac1eJes que apaJeceJá como 111uìo deì
gJá11co.
PaJa agJegaJ 111uìos a ìos e¸es, se u11ì1zah ìas 1uhc1ohes
xlabel(titulo_x)
ylabel(titulo_y)
zlabel(titulo_z)
Coh uh uso s1m1ìaJ a ìa 1uhc1óh title() v1s1a ah1eJ1oJmeh1e. veamos uh
e¸empìo. hó1ese ìa 1hs1Jucc1óh replot que Jed1bu¸a eì coh1eh1do de ìa
veh1aha gJá11ca, y es hecesaJ1a muchas veces paJa podeJ veJ Je1ìe¸ados ìos
camb1os 1hd1cados.
>>x=[-4*pi:pi/20:4*pi];
>>plot(x,sin(x),'r',x,cos(x),'g')
juan I. Weber 107
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
>>title('Función seno(x) -en rojo- y función coseno(x) -en verde-')
>>xlabel('ángulo en radianes')
>>ylabel('valor de la función trigonométrica')
>>replot
-1
-0.5
0
0.5
1
-15 -10 -5 0 5 10 15
v
a
l
o
r

d
e

l
a

f
u
n
c
i
o
n

t
r
i
g
o
n
o
m
e
t
r
i
c
a
angulo en radianes
Funcion seno(x) -en rojo- y funcion coseno(x) -en verde-
line 1
line 2
>>axis([-12,12,-1.5,1.5])
>>replot
-1.5
-1
-0.5
0
0.5
1
1.5
-10 -5 0 5 10
v
a
l
o
r

d
e

l
a

f
u
n
c
i
o
n

t
r
i
g
o
n
o
m
e
t
r
i
c
a
angulo en radianes
Funcion seno(x) -en rojo- y funcion coseno(x) -en verde-
line 1
line 2
>>axis('equal')
>>replot
108 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
-1.5
-1
-0.5
0
0.5
1
1.5
-10 -5 0 5 10
v
a
l
o
r

d
e

l
a

f
u
n
c
i
o
n

t
r
i
g
o
n
o
m
e
t
r
i
c
a
angulo en radianes
Funcion seno(x) -en rojo- y funcion coseno(x) -en verde-
line 1
line 2
3.4.2 Funcíones gráfícas 3D
Se puede d1bu¸aJ uha 1uhc1óh de dos vaJ1abìes {z=1{x,y)) sobJe uh
dom1h1o Jec1ahguìaJ. Seah x e y dos vec1oJes que coh11eheh ìas cooJdehadas
eh uha y o1Ja d1Jecc1óh de ìa Je11cuìa {gJ1d) sobJe ìa que se va a d1bu¸aJ
ìa 1uhc1óh. 0espués hay que cJeaJ dos ma1J1ces X {cuyas 11ìas soh cop1as
de x) e Y {cuyas coìumhas soh cop1as de y). Es1as ma1J1ces se cJeah coh
ìa 1uhc1óh meshgrid. Es1as ma1J1ces JepJeseh1ah Jespec11vameh1e ìas
cooJdehadas x e y de 1odos ìos puh1os de ìa Je11cuìa. La ma1J1z de vaìoJes
Z se caìcuìa a paJ11J de ìas ma1J1ces de cooJdehadas X e Y. F1haìmeh1e
hay que d1bu¸aJ es1a ma1J1z Z coh ìa 1uhc1óh mesh, cuyos eìemeh1os soh
1uhc1óh eìemeh1o a eìemeh1o de ìos eìemeh1os de X e Y. Los comahdos de
gJa11cac1óh 30 que veJemos eh es1e cuJso soh ìos s1gu1eh1es {huevameh1e eì
ìec1oJ puede cohsuì1aJ eì mahuaì de Je1eJehc1a deì ìehgua¸e paJa veJ o1Jas
1uhc1ohes de gJa11cac1óh 30) .
mesh(X, Y, Z)
CJa11ca uha maììa dadas ìas ma1J1ces X e Y desde meshgrid y uha ma1J1z
Z coJJespohd1eh1e a ìas cooJdehadas X y Y de ìa maììa. S1 X e Y soh
vec1oJes, ìuego uh véJ11ce 11p1co es {X{¸), Y{1), Z{1,¸)). As1 ìas
coìumhas de Z coJJespohdeh a d11eJeh1es vaìoJes de X y ìas 11ìas de Z
coJJespohdeh a d11eJeh1es vaìoJes de Y.
[X, Y] = meshgrid(x, y)
0ados ìos vec1oJes de cooJdehadas x e y, Je1oJha dos ma1J1ces
coJJespohd1eh1es a ìas cooJdehadas x e y de uha maììa. Las 11ìas de X soh
cop1as de x, y ìas coìumhas de de Y soh cop1as de y.
Se de11he uha 1uhc1óh z de dos vaJ1abìes eh x e y.
x = [-3:0.4:3]; y = x;
[X,Y] = meshgrid(x,y);
juan I. Weber 109
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) - 10*(x/5 - x.^3 - ...
y.^5).*exp(-x.^2-y.^2) - 1/3*exp(-(x+1).^2 - y.^2);
mesh(X,Y,Z)
line 1
0
2
4
6
8
10
12
14
16
0
2
4
6
8
10
12
14
16
-8
-6
-4
-2
0
2
4
6
8
véase como e¸empìo eì d1bu¸o de ìa 1uhc1óh seh{J)/J , coh J=sqJ1{x´2 +
y´2 ), paJa ev11aJ d1v1d1J poJ ceJo {0) se suma aì dehom1hadoJ eì húmeJo
pequeño eps.
>>closeplot
>>u=-8:0.5:8; v=u;
>>[U,V]=meshgrid(u,v);
>>R=sqrt(U.^2+V.^2)+eps;
>>W=sin(R)./R;
>>mesh(U,V,W)
line 1
0
5
10
15
20
25
30
35
0
5
10
15
20
25
30
35
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
La supeJ11c1e ob1eh1da se mues1Ja como uha "maììa de aìambJes". S1
queJemos veJ esa m1sma supeJ11c1e coìoJ1da {y opaca) u11ì1zamos ìa 1uhc1óh
surf, que 11ehe ìa m1sma s1h1ax1s que mesh.
110 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
>> surf(U,V,W);
Es1o pJoduce, paJa ìas m1smas ma1J1ces b,v y W deì e¸empìo ah1eJ1oJ.
3.4.2.1 Dibujo de líneas de contorno: función contour()
bha 1oJma d1s11h1a de JepJeseh1aJ 1uhc1ohes 1J1d1mehs1ohaìes es poJ
med1o de 1soì1heas o cuJvas de h1veì. Se puedeh u11ì1zaJ es1as
JepJeseh1ac1ohes coh ìa ma1J1z Z que se ha caìcuìado pJev1ameh1e.
>>closeplot
>>contour(x,y,Z,20)
8
7
6
5
4
3
2
1
0
-1
-2
-3
-4
-5
-6
0 5 10 15 20 25 30
0
5
10
15
20
25
30
La s1h1ax1s de ìa 1uhc1óh contour() es ìa s1gu1eh1e.
juan I. Weber 111
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
contour(x,y,Z,N)
dohde x e y soh ìos vec1oJes que JepJeseh1ah ìos coJJespohd1eh1es
vaìoJes de x e y {s1 se om11eh eh ìos e¸es apaJeceJáh ìas pos1c1ohes de
ìos eìemeh1os coJJespohd1eh1es), Z es uha ma1J1z que 11ehe length(y) 11ìas
y length(x) coìumhas, y h 1hd1ca eì húmeJo de cuJvas de h1veì a gJa11caJ
{s1 se om11e, se gJa11caJáh 10 cuJvas).
S1 se pJe1ehde d1bu¸aJ s1muì1áheameh1e ìa supeJ11c1e 30 y deba¸o ìas
1soì1heas, se puedeh u11ì1zaJ ìas 1uhc1ohes meshc y surfc, coh ìa m1sma
s1h1ax1s que ìas 1uhc1ohes mesh y surf; e¸empìo eh base a ìa 1uhc1óh
sombJeJo deì apaJ1ado ah1eJ1oJ.
>> surfc(U,V,W);
pJoduce
3.4.2.2 Campos vectoriales: función quiver
La 1uhc1óh quiver peJm11e gJa11caJ 1uhc1ohes vec1oJ1aìes. bha 1uhc1óh
vec1oJ1aì es aqueììa que a cada uha de ìas compoheh1es de uh vec1oJ, eh uh
puh1o {x,y), ìe as1gha uha 1uhc1óh de esas cooJdehadas. Es muy u11ì1zada
paJa JepJeseh1aJ campos de veìoc1dades de 1ìu1dos, despìazam1eh1os de
es1Juc1uJas, 1ìu¸os de caìoJ, e1c. Su s1h1ax1s es
quiver(X,Y,U,V);
dohde X e Y soh ma1J1ces que coh11eheh ìas cooJdehadas x e y
{Jespec11vameh1e) de ìos puh1os de uha maììa JeguìaJ {puedeh seJ cJeadas
usahdo ìa 1uhc1óh meshgrid) y b y v ma1J1ces de ìas m1smas d1mehs1ohes,
que coh11eheh ìos vaìoJes {hodo a hodo) de ìas compoheh1es u y v de cada
vec1oJ. Eh eì s1gu1eh1e e¸empìo se cJea uh dom1h1o eh1Je -1 y 1, 1ah1o eh
x como eh y, y se gJa11ca uh campo vec1oJ1aì u11ì1zahdo quiver.
112 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
>> x=[-1:0.2:1]; y = x;
>> [X Y] = meshgrid(x,y);
>> U = cos(Y).*exp(-X.^2); V = -sin(3*X+Y);
>> quiver(X, Y, U, V)
Eì Jesuì1ado es eì s1gu1eh1e.
3.4.3 Apíícacíón: recoíeccíón de resíduos urbanos
EscJ1ba uh pJogJama eh Chb-0c1ave que peJm11a aì usuaJ1o 1hgJesaJ ìos
1amaños a y b de ìa pìah1a uJbaha de ìa 11guJa, dohde cada puh1o
JepJeseh1a uh cJuce de caììes {humeJados segúh eì oJdeh de ìa 11guJa), y
ìos 1amaños dx y dy de cada mahzaha. Luego eì pJogJama ìe soì1c11aJá que
1hd1que eì cam1ho a JecoJJeJ poJ uh cam1óh Jecoìec1oJ de Jes1duos eh1Je eì
pJ1meJ y eì úì11mo puh1o {como uha secuehc1a de puh1os), Jep111ehdo eì
1hgJeso has1a que se 1hgJese eì úì11mo puh1o. 0e 1hgJesaJse uh puh1o
eJJóheo, eì pJogJama ho debeJá cohs1deJaJìo. Eì pJogJama debeJá mos1JaJ eh
pah1aììa ìa ìohg11ud 1o1aì deì JecoJJ1do 1hd1cado, y debeJá gJa11caJ ìos
cJuces de caììes como cJuces azuìes y eì cam1ho a JecoJJeJ {como ì1hea
coh11hua veJde).
E¸empìo.
a = 300, b = 400
dx = 100, dy = 150
cam1ho. 1-2-7-8-9-4-5-10-15
ìohg11ud. 1000 m
juan I. Weber 113
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
3.4.3.1 Solución
Eì cód1go s1gu1eh1e Jesueìve eì pJobìema.
% recoleccion de residuos urbanos – programa 10
clear, clearplot;
% ingreso de datos
a=input("Ingrese a: "); b=input("Ingrese b: ");
dx=input("Ingrese dx: "); dy=input("Ingrese dy: ");
nx=b/dx+1; ny=a/dy+1;N=nx*ny; cruce=1; L=0;
caminox = [0]; caminoy = [a];
% ingreso del camino
while cruce != N
cruce_nuevo=input("ingrese cruce: ");
if abs(cruce_nuevo-cruce)==1
L = L + dx; cruce=cruce_nuevo;
caminox = [caminox, (rem(cruce,nx)-1)*dx];
caminoy = [caminoy, caminoy(length(caminoy))];
elseif abs(cruce_nuevo-cruce)==nx
L = L + dy; cruce=cruce_nuevo;
caminox = [caminox, caminox(length(caminox))];
caminoy = [caminoy, a-(floor(cruce/nx))*dy];
else
disp("nodo erroneo.");
endif
endwhile
printf("La longitud del camino es: %.2f\n", L);
% construccion del grafico
x = [0:dx:b]; y = [0:dy:a];
[X Y] = meshgrid(x,y); plot(X,Y,'+b'); hold on;
plot(caminox, caminoy,'-g');
114 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
3.4.4 E|ercícíos
1 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ desde aJch1vo uha ma1J1z de h 11ìas y 2 coìumhas, que
JepJeseh1ah ìas cooJdehadas de h puh1os.
haììaJ ìos dos puh1os más d1s1ah1es eh1Je s1.
CJa11caJ poJ med1o de cJuces `+´ ìa pos1c1óh de ìos puh1os da1o, y coh
uha ì1hea azuì eì segmeh1o que JepJeseh1a ìa d1s1ahc1a máx1ma caìcuìada.
2 0esaJJoììaJ uh pJogJama dehom1hado Es1Juc1uJa, eh ìehgua¸e 0c1ave paJa
aìmacehaJ ìos da1os de uha es1Juc1uJa 11po PóJ11co Pìaho, de11h1da poJ
ìos hodos que soh ìos puh1os de oJ1geh y 11h de ìos eìemeh1os que ìo
cohs111uyeh y gJa11caJìo.
Cohs1Jucc1óh de ìos 0a1os 1h1c1aìes deì pJobìema.
1) Se 1hgJesah desde eì 1ecìado eì húmeJo h de hodos de ìa Es1Juc1uJa
2) Se 1hgJesah desde eì 1ecìado ìos da1os de ìas cooJdehadas X y Y de
ìos h hodos de ìas es1Juc1uJa. Se aìmacehah eh ìa ma1J1z hodos.
3) Se 1hgJesa desde eì 1ecìado eì húmeJo E de Eìemeh1os de ìa Es1Juc1uJa
4) Se 1hgJesah desde eì 1ecìado ìos da1os de cohec11v1dad de hodos
oJ1geh y 11h de ìos E Eìemeh1os de ìas es1Juc1uJa. Se aìmacehah eh ìa
ma1J1z Eìemeh1os
Cohs1Jucc1óh deì CJá11co de ìa Es1Juc1uJa.
5) hed1ah1e ìa 1uhc1óh. |ex, ey] = Cohec11v1dad{hodos, Eìemeh1os) se
devueìveh ìos vec1oJes ex y ey que coh11eheh ìas cooJdehadas de ìos hodos
oJ1geh y 11h de cada eìemeh1o eh paJes cohsecu11vos. Se gJa11ca eìemeh1o a
eìemeh1o, med1ah1e uh segmeh1o que uhe eì hodo oJ1geh coh eì hodo 11h.
3 Se d1spohe de ìa 1h1oJmac1óh de uha seJ1e de da1os de ììuv1as pJomed1o
mehsuaìes desde 1930 has1a 2003, aìmacehadas eh uh aJch1vo de 1ex1o coh
uha secuehc1a de vaìoJes h1s1óJ1cos eh m1ì1me1Jos/mes eh cada Jehgìóh y
se heces11a de1eJm1haJ ìos s1gu1eh1es paJáme1Jos de ìa m1sma.
1. Lìuv1a mehsuaì pJomed1o de 1oda ìa seJ1e.
2. Lìuv1as mehsuaìes pJomed1o paJa cada mes deì año.
3. Lìuv1as ahuaìes.
4. Año más ììuv1oso.
5. Año mehos ììuv1oso.
6. Tomahdo coh¸uh1os de da1os coJJespohd1eh1es a 4 años segu1dos,
de1eJm1haJ eì año de com1ehzo de ìa subseJ1e que coJJespohd1ó aì peJ1odo
de mayoJ sequ1a y eì de mayoJ humedad y mos1JaJ ìos vaìoJes de ìas ììuv1as
coJJespohd1eh1es a ìos 4 años.
7. CJa11caJ ìas ììuv1as ahuaìes.
01seño.
1. ResoìveJ eì pJobìema med1ah1e uh PJogJama/PJoced1m1eh1o escJ11o eh
ìehgua¸e 0c1ave.
juan I. Weber 115
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
2. Eì pJogJama cohsuì1aJá aì usuaJ1o eì hombJe deì aJch1vo dohde es1a
aìmacehada ìa seJ1e de da1os de ììuv1as mehsuaìes, que se as1ghaJá eh
memoJ1a a ìa ma1J1z Lìuv1as coh 1ah1a 11ìas como años 11ehe ìa seJ1e y 12
coìumhas coJJespohd1eh1es a cada mes.
3. Todas ìas saì1das se d1Jecc1ohaJáh a ìa pah1aììa.
4. Los puh1os 3. 4., y 5. se caìcuìaJáh med1ah1e uha 1uhc1óh cuya
cabeceJa se espec111caJá eh 0c1ave de ìa s1gu1eh1e maheJa.
|ììa, amasìì, amehìì] = ahuaìes{Lìuv1as), coh vaìoJes de saì1da
ììap. vec1oJ de ììuv1as ahuaìes,
amasaìì. año mas ììuv1oso,
amehìì. año mehos ììuv1oso.
5. Eì puh1o 6. se caìcuìaJá med1ah1e uha 1uhc1óh cuya cabeceJa se
espec111caJá eh 0c1ave de ìa s1gu1eh1e maheJa.
|apsec, ììpsec, aphum, ììphum] = peJ1odos{ììa)
apsec. año 1h1c1aì deì peJ1odo más seco
ììpsec. vec1oJ de ììuv1as pJomed1o ahuaì de ìos 4 años deì peJ1odo
seco
aphum. año 1h1c1aì deì peJ1odo más húmedo
ììpum. vec1oJ de ììuv1as pJomed1o ahuaì de ìos 4 años deì peJ1odo
húmedo
4 Se d1spohe de uha seJ1e de med1das de pesos eh gJamos de uh coh¸uh1o de
p1ezas de uh m1smo 11po y se desea ahaì1zaJ aìguhas vaJ1ac1ohes
v1hcuìadas coh ìa pJocedehc1a de su 1abJ1cac1óh. PaJa eììo se debe
Jeaì1zaJ uh pJogJama eh ìehgua¸e 0c1ave que Jeaì1ce ìas s1gu1eh1es
opeJac1ohes.
1) LeeJ de d1sco uha ma1J1z P cuyas h 11ìas coJJespohdeh a cada p1eza, y
sus coìumhas JepJeseh1ah ìos s1gu1eh1es vaìoJes.
Coìumha 1. humeJo de p1eza
Coìumha 2. Peso de ìa P1eza
Coìumha 3. humeJo de PJocedehc1a {hay soìo 3 pos1bìes pJocedehc1as)
2) 0e1eJm1haJ ìos s1gu1eh1es paJáme1Jos es1ad1s11cos.
Peso med1o poJ PJocedehc1a
Peso med1o To1aì
011eJehc1a eh1Je eì Peso hed1o To1aì y eì Peso med1o poJ PJocedehc1a
3) CJa11caJ coh puh1os de d1s11h1os coìoJes, segúh ìa pJocedehc1a, ìos
pesos de ìas p1ezas.
5 LeeJ uh coh¸uh1o "h1mg" de aJch1vos que coh11eheh ìos da1os de 1mágehes
suces1vas de ìa pos1c1óh de uh coh¸uh1o de "hpuh" puh1os "1" deì pìaho
{x,y) coh "1", x e y eh eì 1h1eJvaìo de vaìoJes d1scJe1os |1,100], que
se coJJespohdeh coh ìas 11ìas y ìas coìumas de ìas 1mágehes.
116 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
Los vaìoJes "1" 1deh1111cah ìos puh1os y eì Jes1o de ìos vaìoJes de ìa
1mágeh es1a cohs111u1da poJ ceJos {0). Se supohe que ìos puh1os ho se
supeJpoheh eh uha m1sma 1mageh.
Se p1de cohs1Ju1J ìas ma1J1ces de ìas 1Jayec1oJ1as eh eì pìaho X,Y,
dehom1hados.
1JayX |hpuh,h1mag] y 1JayY|hpuh,h1mag] que coh1ehgah paJa cada puh1o de
cada 1mageh eh eì 1hd1ce coJJespohd1eh1e 11ìa de ìa ma1J1z de ìa 1mageh uh
vaìoJ 1guaì a ìa coìumha de ìa ma1J1z de ìa m1sma
CJa11caJ ìos paJes de puh1os {X,Y) que coJJespohde a ìa 1Jayec1oJ1a de
cada puh1o a ìo ìaJgo de 1odas ìas 1mágehes.
6 EscJ1b1J eh ìehgua¸e 0c1ave uh pJogJama paJa JesoìveJ eì s1gu1eh1e
pJobìema.
a. AìmacehaJ eh uh vec1oJ S ìos Jeg1s1Jos a 1h1eJvaìo cohs1ah1e de 0.01
seguhdo de ìa ampì11ud eh me1Jos de uh 1eJJemo1o aìmacehados, eh uh
aJch1vo de 11po 1ex1o {s1smo.1x1) que eh cada Jehgìóh coh11ehe uh húmeJo
Jeaì que JepJeseh1a ìa ampì11ud deì mov1m1eh1o.
b. Se p1de de1eJm1haJ eh que 1hs1ah1e, med1do eh ceh1és1mas de seguhdo
se pJoduce ìa ampì11ud máx1ma y mos1JaJìo. Eì máx1mo se de11he como eì
pJomed1o de ìa suma de dos ampì11udes máx1mas cohsecu11vas eh vaìoJ
absoìu1o {pos111vo y hega11vo).
c. Se p1de de1eJm1haJ cuaì es ìa ìohg11ud deì peJ1odo eh seguhdos dohde
ocuJJe ìa ampì11ud máx1ma cohs1deJahdo aì m1smo como 2 veces eì peJ1odo
1h1c1ado eh eì puh1o dohde ìa señaì pJoduce eì máx1mo pos111vo y eì máx1mo
hega11vo.
d. CJa11caJ ìos puh1os deì Jeg1s1Jo coJJespohd1eh1es aì peJ1odo dohde
ocuJJeh ìas máx1ma ampì11udes pos111va y hega11va.
e. Se p1de de1eJm1haJ ìa duJac1óh 1o1aì deì s1smo.
3.5 Recomendaciones finales
A coh11huac1óh me peJm11o Jepe11J c1eJ1as Jecomehdac1ohes pJeseh1adas eh
ìa b1bì1ogJa11a {BaJ1ó, 2004) aì pJogJamadoJ hova1o, que cJeo puedeh seJ
de u11ì1dad.
Las 1uhc1ohes vec1oJ1aìes de 0CTAvE soh mucho más Jáp1das que sus
coh1JapaJ11das escaìaJes. Eh ìa med1da de ìo pos1bìe es muy 1h1eJesah1e
vec1oJ1zaJ ìos aìgoJ11mos de cáìcuìo, es dec1J, Jeaì1zaJìos coh vec1oJes y
ma1J1ces, y ho coh vaJ1abìes escaìaJes deh1Jo de c1cìos. Auhque ìos
vec1oJes y ma1J1ces puedeh 1J cJec1ehdo a med1da que se heces11a, es mucho
más Jáp1do JeseJvaJìes 1oda ìa memoJ1a hecesaJ1a aì com1ehzo deì
pJogJama. Se puede u11ì1zaJ paJa eììo ìa 1uhc1óh zeJos. Además de es1e
modo ìa memoJ1a JeseJvada es coh11gua.
Cohv1ehe desaJJoììaJ ìos pJogJamas 1hcJemeh1aìmeh1e, compJobahdo cada
1uhc1óh o compoheh1e que se añade. 0e es1a 1oJma s1empJe se cohs1Juye
sobJe aìgo que ya ha s1do compJobado y que 1uhc1oha. s1 apaJece aìgúh
juan I. Weber 117
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
eJJoJ, ìo más pJobabìe es que se deba a ìo úì11mo que se ha añad1do, y de
es1a maheJa ìa búsqueda de eJJoJes es1á aco1ada y es mucho más sehc1ììa.
RecuéJdese que de oJd1haJ1o eì 11empo de coJJecc1óh de eJJoJes eh uh
pJogJama puede seJ 4 ó 5 veces supeJ1oJ aì 11empo de pJogJamac1óh. Eh es1e
m1smo seh11do, puede dec1Jse que pehsaJ b1eh ìas cosas aì pJogJamaJ {sobJe
uha ho¸a de papeì eh bìahco, me¸oJ que sobJe ìa pah1aììa deì PC) s1empJe
es Jeh1abìe, poJque se d1sm1huye más que pJopoJc1ohaìmeh1e eì 11empo de
depuJac1óh y eì1m1hac1óh de eJJoJes.
01Jo ob¸e11vo de ìa pJogJamac1óh debe seJ mah1eheJ eì cód1go ìo más
sehc1ììo y oJdehado pos1bìe. Aì pehsaJ eh cómo haceJ uh pJogJama o eh cómo
Jeaì1zaJ de1eJm1hada 1aJea es cohveh1eh1e pehsaJ s1empJe pJ1meJo eh ìa
soìuc1óh más sehc1ììa, y ìuego pìah1eaJse o1Jas cues11ohes como ìa
e11c1ehc1a.
F1haìmeh1e, eì cód1go debe seJ escJ11o de uha maheJa cìaJa y oJdehada,
1h1Joduc1ehdo comeh1aJ1os, u11ì1zahdo ì1heas eh bìahco paJa sepaJaJ ìas
d1s11h1as paJ1es deì pJogJama, sahgJahdo ìas ì1heas paJa veJ cìaJameh1e eì
Jahgo de ìas dec1s1ohes y c1cìos, u11ì1zahdo hombJes de vaJ1abìes que
JecueJdeh aì s1gh111cado de ìa magh11ud 11s1ca coJJespohd1eh1es, e1c.
Eh cuaìqu1eJ caso, ìa me¸oJ 1oJma {s1ho ìa úh1ca) de apJehdeJ a
pJogJamaJ es pJogJamahdo.
3.6 Bibliografia
BaJ1ó, C. {2004). Th1Joducc1óh a ìa Th1oJmá11ca. veJs1óh opeJac1ohaì eh
Chb-0c1ave. bh1veJs11as, CóJdoba.
BJohsoh, C. {2000). C++ paJa Thgeh1eJ1a y C1ehc1as. Th1eJha11ohaì
Thomsoh Ed11oJes, héx1co.
Ea1oh, J. W., Ba1emah, 0., haubeJg, S. {2007). Chb 0c1ave. a h1gh-ìeveì
1h1eJac11ve ìahguage 1oJ humeJ1caì compu1a11ohs. www.oc1ave.oJg
118 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
Unidad 4: Aplicaciones de la Programacion:
introduccion a los Metodos Numericos
4.1 lntroduccion
La c1ehc1a y ìa 1echoìog1a descJ1beh ìos 1ehómehos Jeaìes med1ah1e
modeìos ma1emá11cos. Eì es1ud1o de es1os modeìos peJm11e uh cohoc1m1eh1o
más pJo1uhdo deì 1ehómeho, as1 como de su evoìuc1óh 1u1uJa. La ma1emá11ca
apì1cada es ìa Jama de ìas ma1emá11cas que se ded1ca a buscaJ y apì1caJ
ìas heJJam1eh1as más adecuadas a ìos pJobìemas basados eh es1os modeìos.
0esa1oJ1uhadameh1e, ho s1empJe es pos1bìe apì1caJ mé1odos ahaì111cos
cìás1cos poJ d11eJeh1es Jazohes.
ho se adecúah aì modeìo cohcJe1o.
Su apì1cac1óh Jesuì1a exces1vameh1e compìe¸a.
La soìuc1óh 1oJmaì es 1ah compì1cada que hace 1mpos1bìe cuaìqu1eJ
1h1eJpJe1ac1óh pos1eJ1oJ.
S1mpìemeh1e ho ex1s1eh mé1odos ahaì111cos capaces de pJopoJc1ohaJ
soìuc1ohes aì pJobìema.
Eh es1os casos soh ú11ìes ìas 1éch1cas huméJ1cas, que med1ah1e uha ìaboJ
de cáìcuìo más o mehos 1h1ehsa, cohduceh a soìuc1ohes apJox1madas que soh
s1empJe huméJ1ca. Eì 1mpoJ1ah1e es1ueJzo de cáìcuìo que 1mpì1ca ìa mayoJ1a
de es1os mé1odos hace que su uso es1é 1h11mameh1e ì1gado aì empìeo de
compu1adoJes. 0e hecho, s1h eì desaJJoììo que se ha pJoduc1do eh eì campo
de ìa 1h1oJmá11ca Jesuì1aJ1a d111c1ìmeh1e 1mag1habìe eì h1veì ac1uaì de
u11ì1zac1óh de ìas 1éch1cas huméJ1cas eh ámb11os cada d1a más d1veJsos.
Eh es1e cap11uìo veJemos 1Jes pJobìemas Jesueì1os a 1Javés de ìos
mé1odos huméJ1cos. eì cáìcuìo de Ja1ces de ecuac1ohes ho ì1heaìes, ìa
soìuc1óh 11eJa11va de ecuac1ohes ì1heaìes y eì cáìcuìo huméJ1co de
deJ1vadas e 1h1egJaìes.
4.2 Solucion de ecuaciones no lineales
Eì ob¸e1o deì cáìcuìo de ìas Ja1ces de uha ecuac1óh es de1eJm1haJ ìos
vaìoJes de x paJa ìos que se cumpìe.
f ( x)0
La de1eJm1hac1óh de ìas Ja1ces de uha ecuac1óh es uho de ìos pJobìemas
más ah11guos eh ma1emá11cas y se hah Jeaì1zado uh gJah húmeJo de es1ueJzos
eh es1e seh11do. Su 1mpoJ1ahc1a Jad1ca eh que s1 podemos de1eJm1haJ ìas
Ja1ces de uha ecuac1óh 1amb1éh podemos de1eJm1haJ máx1mos y m1h1mos,
vaìoJes pJop1os de ma1J1ces, JesoìveJ s1s1emas de ecuac1ohes ì1heaìes y
d11eJehc1aìes, e1c...
juan I. Weber 119
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
La de1eJm1hac1óh de ìas soìuc1ohes de ìa ecuac1óh ah1eJ1oJ puede ììegaJ
a seJ uh pJobìema muy d111c1ì. S1 1{x) es uha 1uhc1óh poì1hóm1ca de gJado
1 ó 2, cohocemos expJes1ohes s1mpìes que hos peJm111Jáh de1eJm1haJ sus
Ja1ces. PaJa poì1hom1os de gJado 3 ó 4 es hecesaJ1o empìeaJ mé1odos
compìe¸os y ìaboJ1osos. S1h embaJgo, s1 1{x) es de gJado mayoJ de cua1Jo o
b1eh ho es poì1hóm1ca, ho hay h1hguha 1óJmuìa cohoc1da que peJm11a
de1eJm1haJ ìos ceJos de ìa ecuac1óh {excep1o eh casos muy paJ11cuìaJes).
Ex1s1eh uh paJ de Jegìas que puedeh ayudaJ a de1eJm1haJ ìas Ja1ces de
uha ecuac1óh.
Eì 1eoJema de Boìzaho, que es1abìece que s1 uha 1uhc1óh coh11hua, 1{x),
1oma eh ìos ex1Jemos deì 1h1eJvaìo |a,b] vaìoJes de s1gho opues1o,
eh1ohces ìa 1uhc1óh adm11e, aì mehos, uha Ja1z eh d1cho 1h1eJvaìo.
Eh eì caso eh que 1{x) sea uha 1uhc1óh aìgebJa1ca {poì1hóm1ca) de gJado
h y coe11c1eh1es Jeaìes, podemos a11JmaJ que 1ehdJá h Ja1ces Jeaìes o
compìe¸as.
La mayoJ1a de ìos mé1odos u11ì1zados paJa eì cáìcuìo de ìas Ja1ces de
uha ecuac1óh soh 11eJa11vos y se basah eh modeìos de apJox1mac1ohes
suces1vas. Es1os mé1odos 1Jaba¸ah deì s1gu1eh1e modo. a paJ11J de uha
pJ1meJa apJox1mac1óh aì vaìoJ de ìa Ja1z, de1eJm1hamos uha apJox1mac1óh
me¸oJ apì1cahdo uha de1eJm1hada Jegìa de cáìcuìo y as1 suces1vameh1e has1a
que se de1eJm1he eì vaìoJ de ìa Ja1z coh eì gJado de apJox1mac1óh deseado.
4.2.1 Método de ía bíseccíón
Es eì mé1odo más eìemeh1aì y ah11guo paJa de1eJm1haJ ìas Ja1ces de uha
ecuac1óh. Es1á basado d1Jec1ameh1e eh eì 1eoJema de Boìzaho expì1cado coh
ah1eJ1oJ1dad. Cohs1s1e eh paJ11J de uh 1h1eJvaìo |a,b] 1aì que 1{a)*1{b) <
0, poJ ìo que sabemos que ex1s1e, aì mehos, uha Ja1z Jeaì. A paJ11J de
es1e puh1o se va Jeduc1ehdo eì 1h1eJvaìo suces1vameh1e has1a haceJìo 1ah
pequeño como ex1¸a ìa pJec1s1óh que hayamos dec1d1do empìeaJ.
Th1c1aìmeh1e, es hecesaJ1o sum1h1s1JaJ aì pJogJama eì húmeJo máx1mo de
11eJac1ohes h, ìa 1oìeJahc1a , que JepJeseh1a ìas c11Jas s1gh111ca11vas
coh ìas que queJemos ob1eheJ ìa soìuc1óh y dos vaìoJes de ìa vaJ1abìe
1hdepehd1eh1e, a y b, 1aìes que cumpìah ìa Jeìac1óh 1{a)*1{b) < 0. bha vez
que se compJueba que eì 1h1eJvaìo de paJ11da es adecuado, ìo d1v1d1mos eh
dos sub1h1eJvaìos caìcuìahdo eì vaìoJ c
a+b
2
, y de1eJm1hamos eh qué
sub1h1eJvaìo se ehcueh1Ja ìa Ja1z {compJobahdo de huevo eì pJoduc1o de ìas
1uhc1ohes), mod111cahdo adecuadameh1e ìos ì1m11es.
s1 1{a)*1{c) < 0, eso s1gh111ca que ìa Ja1z peJ1ehece aì 1h1eJvaìo
|a,c] y poJ ìo 1ah1o eì huevo b debe seJ eì c Jec1éh caìcuìado
eh caso coh1JaJ1o, ìa Ja1z peJ1ehece aì 1h1eJvaìo |c,b] y poJ ìo 1ah1o
eì huevo a debe seJ eì c Jec1éh caìcuìado
Repe11mos eì pJoceso has1a aìcahzaJ ìa cohveJgehc1a {has1a que <= ) o
b1eh has1a que se excede eì húmeJo de 11eJac1ohes peJm111das {T1eJ >
haxT1eJ), eh cuyo caso es hecesaJ1o 1mpJ1m1J uh mehsa¸e de eJJoJ 1hd1cahdo
que eì mé1odo ho cohveJge.
120 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
Eì eJJoJ e se caìcuìa med1ah1e ìa expJes1óh
e
k+1
¸c
k+1
-c
k
¸
eh dohde eì supeJ1hd1ce hace Je1eJehc1a aì paso 11eJa11vo. 0e es1e modo,
eì 1éJm1ho , JepJeseh1a eì húmeJo de c11Jas s1gh111ca11vas coh ìas que
ob1ehemos eì Jesuì1ado.
veamos uh e¸empìo. 0ada ìa ecuac1óh
yx
2
e
x
-
1
3
cuya gJá11ca v1ehe dada poJ
vemos que posee 1Jes Ja1ces Jeaìes, eh ìos 1h1eJvaìos {-4,-3) , {-1,0) y
{0,1). vamos a ehcoh1JaJ ìa mayoJ de es1as Ja1ces poJ eì mé1odo de
b1secc1óh, coh dos c11Jas dec1maìes.
Eh es1e caso, a=0, b=1. Eì cáìcuìo se Jesume eh ìa 1abìa.
a b f(a) f(b) c f(c) e i
0,000000 1,000000 -0,333333 2,384948 0,500000 0,078847 -
0,000000 0,500000 -0,333333 0,078847 0,250000 -0,253082 0,2500
0,250000 0,500000 -0,253082 0,078847 0,375000 -0,128725 0,1250
0,375000 0,500000 -0,128725 0,078847 0,437500 -0,036878 0,0625
0,437500 0,500000 -0,036878 0,078847 0,468750 0,017789 0,0313
0,437500 0,468750 -0,036878 0,017789 0,453125 -0,010316 0,0156
0,453125 0,468750 -0,010316 0,017789 0,460938 0,003540 0,0078
Eh cada 11ìa se 1h1eJcamb1a a o b poJ c de modo 1aì que ìos s1ghos de
juan I. Weber 121
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
ìos vaìoJes de ìas coìumhas 3 y 4 seah d1s11h1os {1eoJema de Boìzaho).
Como queJemos ehcoh1JaJ ìa Ja1z coh 2 c11Jas dec1maìes, hacemos = 0,01,
coh ìo cuaì paJamos cuahdo e < 0,01. La Ja1z buscada es x = 6,46,
Jedohdeada a dos c11Jas dec1maìes.
EscJ1b1mos uh pJogJama eh 0c1ave paJa JesoìveJ eì pJobìema ah1eJ1oJ.
% metodo de biseccion – programa 11
a = 0; b = 1; epsilon = 0.000001; N = 100; c_ant = Inf; k = 0;
do
fa = a^2*exp(a)-1/3; fb = b^2*exp(b)-1/3;
c = (a + b) / 2; fc = c^2*exp(c)-1/3;
if fa*fc < 0
b = c;
else
a = c;
endif
error = abs(c_ant-c); c_ant = c; k = k+1;
until error < epsilon | k > N
if k <= N
printf("La raíz es: %.6f\n",c);
printf("y se alcanzo en %d iteraciones\n",k);
else
disp("Se supero el numero maximo de iteraciones.");
endif
Eì mé1odo de b1secc1óh 11ehe como veh1a¸a eì seJ sehc1ììo de eh1ehdeJ e
1mpìemeh1aJ, peJo 11ehe como desveh1a¸a ìa ìeh111ud eh ìa cohveJgehc1a. Eh
eì caso ah1eJ1oJ, poJ e¸empìo, ììegaJ aì Jesuì1ado coh 6 c11Jas dec1maìes
s1gh111ca11vas ììevaJ1a 20 11eJac1ohes!.
4.2.2 Método de ía íteracíón de punto fí|o
Se d1ce que z es uh puh1o 11¸o de ìa 1uhc1óh y=g{x), s1 g{z) = z.
CJá11cameh1e JepJeseh1a ìa 1h1eJsecc1óh de ìa cuJva g{x) coh ìa Jec1a
1deh11dad.
0ada ìa ecuac1óh 1{x) = 0, eì mé1odo de ìa 11eJac1óh de puh1o 11¸o
Jeempìaza es1a ecuac1óh poJ uha equ1vaìeh1e, x=g{x), que se ob11ehe de
despe¸aJ x de ìa expJes1óh 1{x)=0, eh 1uhc1óh de ìa pJop1a x. Ehcoh1JaJ ìa
soìuc1óh de 1{x)=0 seJá eh1ohces ehcoh1JaJ eì puh1o 11¸o de ìa 1uhc1óh
g{x).
PaJa ehcoh1JaJ ìa soìuc1óh, paJ11mos de uh vaìoJ 1h1c1aì x
0
y caìcuìamos
uha hueva apJox1mac1óh x
1
= g{x
0
). Reempìazamos eì huevo vaìoJ ob1eh1do y
Jepe11mos eì pJoceso. Es1o da ìugaJ a uha suces1óh de vaìoJes
{x
0
,x
1
,...,x
h
}, que s1 cohveJge, 1ehdJá como ì1m11e ìa soìuc1óh deì
pJobìema.

122 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca

Eh ìa 11guJa ah1eJ1oJ se JepJeseh1a ìa 1h1eJpJe1ac1óh geomé1J1ca deì
mé1odo. PaJ11mos de uh puh1o 1h1c1aì x
0
y caìcuìamos y = g{x
0
). La
1h1eJsecc1óh de es1a soìuc1óh coh ìa Jec1a y = x hos daJá uh huevo vaìoJ x
1
más pJóx1mo a ìa soìuc1óh 11haì.
S1h embaJgo, eì mé1odo puede d1veJg1J 1ác1ìmeh1e. Es 1ác1ì compJobaJ que
eì mé1odo sóìo podJá cohveJgeJ s1 se cumpìe ìa s1gu1eh1e cohd1c1óh de
cohveJgehc1a.
¸g' (o)¸1
dohde es ìa Ja1z buscada. 0ado que 1ehemos eì 1hcohveh1eh1e de ho
coh1aJ coh d1cho vaìoJ, podemos veJ111caJ ìa s1gu1eh1e cohd1c1óh.
¸g' ( x
0
)¸1
s1empJe y cuahdo x
0
se ehcueh1Je ìo su11c1eh1emeh1e ceJca de
bh e¸empìo de es1e caso se mues1Ja eh ìa 11guJa
Eh es1os casos, ìo que se debe haceJ es despe¸aJ x de 1{x)=0 de o1Ja
1oJma, es dec1J, pìah1eaJ o1Ja 1uhc1óh g{x) que sa11s1aga ìa cohd1c1óh de
cohveJgehc1a.
Aì 1guaì que eh eì mé1odo ah1eJ1oJ, ìas 11eJac1ohes 11haì1zah cuahdo eì
juan I. Weber 123
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
eJJoJ eh uha paso 11eJa11vo
e
k
¸x
k+1
-x
k
¸¸g( x)
k
-x
k
¸c
dohde es ìa 1oìeJahc1a pJe11¸ada, eh Jeìac1óh a ìa cah11dad de c11Jas
dec1maìes s1gh111ca11vas que se pJe1ehdeh ob1eheJ.
vamos a e¸empì111caJ ìa apì1cac1óh de ìa 11eJac1óh de puh1o 11¸o
Jesoìv1ehdo ìa ecuac1óh
x
2
e
x
-
1
3
0
que Jesoìv1éJamos ah1eJ1oJmeh1e poJ b1secc1óh. vamos a ehcoh1JaJ ìa Ja1z
ceJcaha a 1, coh 1Jes dec1maìes s1gh111ca11vos { = 0.001), vemos que es
pos1bìe despe¸aJ dos 1uhc1ohes g{x).
xg
1
( x)
.
1
3e
x
( 3e
x
)
-
1
2
xg
2
( x)ln
(
1
3 x
2
)
-ln (3 x
2
)
veJ111quemos ìa cohd1c1óh de cohveJgehc1a paJa g
1
{x). Caìcuìamos ìa
deJ1vada de g
1
{x) apì1cahdo ìa Jegìa de ìa cadeha.
g'
1
( x)-
1
2
(3e
x
)
-
3
2
3e
x
-
1
2
( 3e
x
)
-
1
2
=¸g'
1
(1)¸
¸
-
1
2
( 3e
1
)
-
1
2
¸
=0.1751
ìo cuaì hos d1ce que eì esquema es cohveJgeh1e. 0Jgah1zamos eì cáìcuìo
eh uha 1abìa.
xi g(xi) ei
1,000000 0,350181 0,649819
0,350181 0,484617 0,134436
0,484617 0,453113 0,031504
0,453113 0,460307 0,007194
0,460307 0,458654 0,001653
0,458654 0,459033 0,000379
coh ìo cuaì ìa Ja1z ob1eh1da es x = 6.459. vemos que eì esquema es
cohveJgeh1e ya que eì eJJoJ d1sm1huye eh cada 11eJac1óh, como se puede veJ
eh ìa 11guJa.
124 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
1 2 3 4 5 6
0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
convergencia de g1(x)
iteracion
e
r
r
o
r
¿0ué hub1eJa ocuJJ1do s1 hub1éJamos u11ì1zado ìa 1uhc1óh g
2
{x)?. veamos
s1 cumpìe ìa cohd1c1óh de cohveJgehc1a.
g'
2
( x)-
1
3 x
2
6 x-
2
x
=¸g'
2
(1)¸
¸
-
2
1
¸
2>1
vemos que ìa cohd1c1óh ho se cumpìe, poJ ìo cuaì es muy pJobabìe que ho
podamos ììegaJ a ìa soìuc1óh. S1 hub1éJamos hecho ìos cáìcuìos, veJ1amos
ìos s1gu1eh1es Jesuì1ados.
xi g(xi) ei
1,000000 -1,098612 2,098612
-1,098612 -1,286708 0,188096
-1,286708 -1,602786 0,316078
-1,602786 -2,042099 0,439313
-2,042099 -2,526569 0,484470
-2,526569 -2,952337 0,425768
-2,952337 -3,263806 0,311469
-3,263806 -3,464400 0,200594
-3,464400 -3,583691 0,119291
-3,583691 -3,651399 0,067708
-3,651399 -3,688833 0,037434
-3,688833 -3,709233 0,020400
-3,709233 -3,720262 0,011030
-3,720262 -3,726201 0,005938
-3,726201 -3,729391 0,003190
-3,729391 -3,731102 0,001711
-3,731102 -3,732020 0,000918
de hecho, vemos que ììegamos {muy ìeh1ameh1e) a o1Ja Ja1z de ìa m1sma
1uhc1óh {veJ gJá11ca de ìa 1uhc1óh). Es1o ho s1empJe se da, y eh geheJaì
ìo que ocuJJe es que eì eJJoJ cJece 1hde11h1dameh1e, coh ìo que eì esquema
se vueìve d1veJgeh1e. Eh 1odos ìos casos ho ììegamos a ìa soìuc1óh
buscada.
juan I. Weber 125
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
veamos uh pJogJama eh 0c1ave paJa JesoìveJ eì pJobìema ah1eJ1oJ.
% iteracion de punto fijo – programa 12
x = 1; epsilon = 0.000001; N = 100; k = 0;
do
gx = (3*exp(x))^(-1/2);
error = abs(x-gx);
x = gx; k = k+1;
until error < epsilon | k > N
if k <= N
printf("La raíz es: %.6f\n",x);
printf("y se alcanzo en %d iteraciones\n",k);
else
disp("Se supero el numero maximo de iteraciones.");
endif
La 11eJac1óh de puh1o 11¸o es uh mé1odo más Jáp1do que eì de b1secc1óh
paJa aìcahzaJ ìa Ja1z de uha ecuac1óh ho ì1heaì. Eh eì e¸empìo, se
Jequ1eJeh 11 11eJac1ohes poJ puh1o 11¸o paJa aìcahzaJ ìa Ja1z coh 6
dec1maìes s1gh111ca11vos, coh1Ja ìas 20 11eJac1ohes hecesaJ1as poJ
b1secc1óh.
4.2.3 Método de Newton-Raphson
Es1e mé1odo Jec1be su hombJe eh hohoJ a s1J Tsaac hew1oh qu1eh ìo
u11ì1zó paJa haììaJ ìa Ja1z de uh poì1hom1o de 1eJceJ gJado eh su obJa
PJ1hc1p1a ha1hema11ca, hace más de 300 años.
Es1e mé1odo paJ1e de uha apJox1mac1óh 1h1c1aì x
0
y ob11ehe uha
apJox1mac1óh me¸oJ, x
1
, dada poJ ìa 1óJmuìa.
x
1
x
0
-
f ( x
0
)
f ' ( x
0
)

La expJes1óh ah1eJ1oJ puede deJ1vaJse a paJ11J de uh desaJJoììo eh seJ1e
de TayìoJ. E1ec11vameh1e, sea J uh ceJo de 1 y sea x uha apJox1mac1óh a J
1aì que J=x+h. S1 1`` ex1s1e y es coh11hua, poJ eì 1eoJema de TayìoJ
1ehemos.
0 f (r) f ( x+h) f ( x)+h f ' ( x)+O(h
2
)
eh dohde h=J-x. S1 x es1á pJóx1mo a J {es dec1J h es pequeña), es
Jazohabìe 1ghoJaJ eì 1éJm1ho 0{h2).
0 f ( x)+h f ' ( x)
poJ ìo que ob1ehemos ìa s1gu1eh1e expJes1óh paJa h.
h-
f ( x)
f ' ( x)
126 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
A paJ11J de ìa ecuac1óh ah1eJ1oJ y 1eh1ehdo eh cueh1a que J=x+h es
1ác1ì deJ1vaJ ìa ecuac1óh.
Eì mé1odo de hew1oh 11ehe uha 1h1eJpJe1ac1óh geomé1J1ca sehc1ììa, como
se puede apJec1aJ deì aháì1s1s de ìa 11guJa. 0e hecho, eì mé1odo de hew1oh
cohs1s1e eh uha ì1heaì1zac1óh de ìa 1uhc1óh, es dec1J, 1 se Jeempìaza poJ
uha Jec1a 1aì que coh11ehe aì puh1o {x
0
,1{x
0
)) y cuya pehd1eh1e co1hc1de
coh ìa deJ1vada de ìa 1uhc1óh eh eì puh1o, 1`{x
0
). La hueva apJox1mac1óh a
ìa Ja1z, x
1
, se ob11ehe de ìa 1h1eJsecc1óh de ìa 1uhc1óh ì1heaJ coh eì e¸e
X de oJdehadas.
veamos como podemos ob1eheJ ìa ecuac1óh deì mé1odo a paJ11J de ìo d1cho
eh eì páJJa1o ah1eJ1oJ. La ecuac1óh de ìa Jec1a que pasa poJ eì puh1o
{x
0
,1{x
0
)) y de pehd1eh1e 1`{x
0
) es.
y- f ( x
0
) f ' ( x
0
)( x-x
0
)
de dohde, hac1ehdo y=0 y despe¸ahdo x ob1ehemos ìa ecuac1óh de hew1oh-
Raphsoh.
Eì mé1odo de hew1oh es muy Jáp1do y e11c1eh1e ya que ìa cohveJgehc1a es
de 11po cuadJá11co {eì húmeJo de c11Jas s1gh111ca11vas se dupì1ca eh cada
11eJac1óh). S1h embaJgo, ìa cohveJgehc1a depehde eh gJah med1da de ìa
1oJma que adop1a ìa 1uhc1óh eh ìas pJox1m1dades deì puh1o de 11eJac1óh. Eh
ìa 11guJa se mues1Jah dos s11uac1ohes eh ìas que es1e mé1odo ho es capaz
de aìcahzaJ ìa cohveJgehc1a {a) o b1eh cohveJge hac1a uh puh1o que ho es
uh ceJo de ìa ecuac1óh {b).

juan I. Weber 127
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
01Ja desveh1a¸a que pJeseh1a eì mé1odo es que debemos cohoceJ ìa
deJ1vada de ìa 1uhc1óh. La m1sma se puede ob1eheJ eh 1oJma ahaì111ca
{apì1cahdo ìa Jegìas de deJ1vac1óh v1s1as eh Aháì1s1s ha1emá11co) o eh
1oJma huméJ1ca, como veJemos más adeìah1e.
vamos a e¸empì111caJ ìa apì1cac1óh deì mé1odo de hew1oh-Raphsoh
Jesoìv1ehdo coh éì ìa ecuac1óh ho ì1heaì
f ( x)x
2
e
x
-
1
3
0
cuya deJ1vada es
f ' ( x)2 x e
x
+x
2
e
x
e
x
( x
2
+2 x)
PaJ11mos deì puh1o 1h1c1aì x
0
= 1, y buscamos eì Jesuì1ado coh 3 c11Jas
dec1maìes s1gh111ca11vas. Eì cáìcuìo mahuaì ìo oJgah1zamos eh uha 1abìa.
k xi fi f'i ei
0 1,00000000 2,38494850 8,15484549 -
1 0,70754216 0,68241543 3,88695226 0,29245784
2 0,53197648 0,14841399 2,29290755 0,17556568
3 0,46724906 0,01502047 1,83943783 0,06472742
4 0,45908326 0,00021613 1,78666045 0,00816579
5 0,45896229 0,00000005 1,78588573 0,00012097
6 0,45896227 0,00000000 1,78588557 0,00000003
vemos que aìcahzamos 3 c11Jas dec1maìes s1gh111ca11vas eh ìa 11eJac1óh
k=5 {x = 6,459) s1m1ìaJ a ìas 6 11eJac1ohes que ìe ììevó a ìa 11eJac1óh de
puh1o 11¸o aìcahzaJ ìa m1sma pJec1s1óh, peJo s1 obseJvamos eì s1gu1eh1e
paso 11eJa11vo {k=6) vemos que eì eJJoJ e
1
< 10
-7
, coh ìo cuaì 1ehemos 7
c11Jas dec1maìes eh eì Jesuì1ado eh sóìo 6 11eJac1ohes! {x = 6,4589623 ¬
eì dobìe de pJec1s1óh que ìa 11eJac1óh de puh1o 11¸o, a 1guaìdad de
11eJac1ohes). 0eb1do a es1e Jehd1m1eh1o, eì mé1odo de hew1oh-Raphsoh es
uho de ìos pJe1eJ1dos paJa JesoìveJ ecuac1ohes ho ì1heaìes.
EscJ1b1mos uh pJogJama eh 0c1ave paJa JesoìveJ eì pJobìema ah1eJ1oJ.
% metodo de Newton-Raphson – programa 13
x0 = 1; epsilon = 1e-10; N = 100; k = 0;
do
fx = x0^2*exp(x0)-1/3; fpx = exp(x0)*(x0^2+2*x0);
x = x0-fx/fpx;
error = abs(x-x0);
x0 = x; k = k+1;
until error < epsilon | k > N
if k <= N
printf("La raíz es: %.10f\n",x);
printf("y se alcanzo en %d iteraciones\n",k);
else
disp("Se supero el numero maximo de iteraciones.");
128 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
endif
4.2.3.1 Condición de convergencia
La ecuac1óh deì mé1odo de hew1oh-Raphsoh puede seJ v1s1a como uha
11eJac1óh de puh1o 11¸o de ìa 1oJma x = g{x) s1 hacemos
g( x)x-
f ( x)
f ' ( x )
poJ ìo 1ah1o, s1 hacemos cumpì1J ìa cohd1c1óh de cohveJgehc1a de ìa
11eJac1óh de puh1o 11¸o,
¸g' (o)¸1
1ehdJemos
¸g' (o)¸
¸
1-
f ' (o) f ' (o)-f (o) f ' ' (o)
f ' (o)
2
¸
1
poJ ìo 1ah1o,
¸g' (o)¸
¸
1-
f ' ( o)
2
f ' ( o)
2
+
f (o) f ' ' ( o)
f ' (o)
2
¸
1 =
¸ f (o) f ' ' ( o)¸
f ' (o)
2
1
es dec1J,
¸f (o) f ' ' (o)¸ f ' (o)
2
que es ìa cohd1c1óh de cohveJgehc1a deì mé1odo de hew1oh-Raphsoh. La
m1sma es más compìe¸a de apì1caJ que ìa de ìa 11eJac1óh de puh1o 11¸o ya
que 1mpì1ca más opeJac1ohes {deJ1vadas seguhdas, e1c.).
4.2.4 E|ercícíos
Ehcoh1JaJ 1odas ìas Ja1ces de ìas s1gu1eh1es 1uhc1ohes, poJ ìos mé1odos
de. b1secc1óh, 11eJac1óh de puh1o 11¸o y hew1oh-Raphsoh. Reaì1zaJ ìos
cáìcuìos mahuaìmeh1e, coh ε =0.001, y escJ1b1ehdo uh pJogJama eh 0c1ave,
coh ε =0.00001.
1. f ( x) e
x
-6 ln x+3x-15
2.
f ( x)x
5
-3x
4
+2x
2
-1
3. f ( x) 5 e
-x
2
+
1
10
x-
1
2
4. f ( x)x
3
-e
-5x
juan I. Weber 129
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
5.
f ( x)x
4
-3x
3
+2x
2
-x+1
6.
f ( x)3x-cos 5x+e
-x
7. f ( x)
sen x-x
2
3x+ln x
8.
f ( x)x
2
-3ln ( x+2) -2
9.
f ( x)
.
e
x
-ln ( x+1) -1. 2
10. f ( x) xe
3x
2
-1
+sen x-
1
10
11.
f ( x)( x+sen x)
2
-2x-3
12. f ( x)sen ln( x) -
x
10
13.
f ( x)x
5
-x
3
+2x+e
-x
14. f ( x)ln
(
x
3
-12+
1
x
)
15.
f ( x)x
6
-3x
5
+4x
2
-1
4.3 Solucion de sistemas de ecuaciones lineales
Eì ob¸e11vo de es1e apaJ1ado es exam1haJ ìos aspec1os huméJ1cos que se
pJeseh1ah aì JesoìveJ s1s1emas de ecuac1ohes ì1heaìes de ìa 1oJma.

a
11
x
1
+a
12
x
2
+...+a
1n
x
1
b
1
a
21
x
1
+a
22
x
2
+...+a
2n
x
2
b
2
...
a
n1
x
1
+a
n2
x
2
+...+a
nn
x
n
b
n
Se 1Ja1a de uh s1s1ema de h ecuac1ohes coh h 1hcógh11as, x
1
, x
2
, ..., x
h
.
Los eìemeh1os a

y b
1
soh húmeJos Jeaìes 11¸ados.
Eì s1s1ema de ecuac1ohes ah1eJ1oJ se puede escJ1b1J, empìeahdo uha muy
ú11ì JepJeseh1ac1óh ma1J1c1aì, como.
130 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
(
a
11
a
12
... a
1n
a
21
a
22
... a
2n
... ... ... ...
a
n1
a
n2
... a
nn
) (
x
1
x
2
...
x
n
)

(
b
1
b
2
...
b
n
)
Eh1ohces podemos deho1aJ es1as ma1J1ces poJ A, x y b de 1oJma que ìa
ecuac1óh se Jeduce s1mpìemeh1e a.
A x = b
Los mé1odos de Jesoìuc1óh de s1s1emas de ecuac1ohes se puedeh d1v1d1J eh
dos gJahdes gJupos.
Los hé1odos d1Jec1os o exac1os que peJm11eh ob1eheJ ìa soìuc1óh deì
s1s1ema de maheJa d1Jec1a.
Los hé1odos apJox1mados que u11ì1zah aìgoJ11mos 11eJa11vos e 1h11h11os y
que caìcuìah ìas soìuc1óh deì s1s1ema poJ apJox1mac1ohes suces1vas.
Aì coh1JaJ1o de ìo que pueda paJeceJ, eh muchas ocas1ohes ìos mé1odos
apJox1mados peJm11eh ob1eheJ uh gJado de exac111ud supeJ1oJ aì que se
puede ob1eheJ empìeahdo ìos dehom1hados mé1odos exac1os, deb1do
1uhdameh1aìmeh1e a ìos eJJoJes de 1Juhcam1eh1o que se pJoduceh eh eì
pJoceso.
0e eh1Je ìos mé1odos exac1os se puedeh mehc1ohaJ eì mé1odo de Causs y
uha mod111cac1óh de és1e dehom1hado mé1odo de Causs-JoJdah. Es1os mé1odos
1oJmah paJ1e de uh cuJso de AìgebJa L1heaì, poJ ìo que ho se veJáh aqu1 eh
de1aììe. Eh1Je ìos mé1odos apJox1mados hos ceh1JaJemos eh eì es1ud1o de
ìos mé1odos de Jacob1 y Causs-Se1deì.
Eì mé1odo de Causs y sus vaJ1ah1es se cohoceh coh eì hombJe de mé1odos
d1Jec1os. se e¸ecu1ah a 1Javés de uh húmeJo 11h11o de pasos y dah ìugaJ a
uha soìuc1óh que seJ1a exac1a s1 ho 1uese poJ ìos eJJoJes de Jedohdeo.
PoJ coh1Ja, uh mé1odo 1hd1Jec1o da ìugaJ a uha suces1óh de vec1oJes que
1deaìmeh1e cohveJge a ìa soìuc1óh. Eì cáìcuìo se de11ehe cuahdo se cueh1a
coh uha soìuc1óh apJox1mada coh c1eJ1o gJado de pJec1s1óh espec111cado de
ah1emaho o después de c1eJ1o húmeJo de 11eJac1ohes. Los mé1odos 1hd1Jec1os
soh cas1 s1empJe 11eJa11vos. paJa ob1eheJ ìa suces1óh mehc1ohada se
u11ì1za Jepe11dameh1e uh pJoceso sehc1ììo.
4.3.1 Método de |acobí
Eì mé1odo de Jacob1 se basa eh escJ1b1J eì s1s1ema de ecuac1ohes eh ìa
1oJma.
juan I. Weber 131
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
x
1

1
a
11
(b
1
-a
12
x
2
-a
13
x
3
-...-a
1n
x
n
)
x
2

1
a
22
(b
2
-a
21
x
1
-a
23
x
3
-...-a
2n
x
n
)
...
x
i

1
a
ii
( b
i
-a
i1
x
1
-a
i2
x
2
-...-a
i ,i -1
x
i-1
-a
i , i+1
x
i+1
-...-a
i , n
x
n
)
...
x
n

1
a
nn
( b
n
-a
n1
x
1
-a
n2
x
2
-...-a
n , n-1
x
n-1
)
Es dec1J, despe¸amos de cada uha de ìas ecuac1ohes ìa "coJJespohd1eh1e"
1hcógh11a. de ìa pJ1meJa ecuac1óh x
1
, de ìa seguhda x
2
, e1c. La 1-és1ma
ecuac1óh 11ehe ìa 1oJma.
x
i
k+1

b
i
-
_
j 1
i= j
n
a
ij
x
j
k
a
ii

b
i
-
_
j 1
i -1
a
ij
x
j
k
-
_
ji+1
n
a
ij
x
j
k
a
ii
Eh cada paso, se caìcuìah ìas 1hcógh11as x
k+1
eh 1uhc1óh de ìas
1hcógh11as caìcuìadas eh eì paso ah1eJ1oJ, x
k
. Eh eì pJ1meJ paso, se eì1ge
aJb11JaJ1ameh1e uh vec1oJ soìuc1óh 1h1c1aì x
0
. Eì pJoceso 11eJa11vo
coh11húa has1a que se cumpìa ìa cohd1c1óh de cohveJgehc1a.
¸¸e
k+1
¸¸
·
max
i1
n
¸
x
i
k+1
-x
i
k
¸
c
dohde
¸¸e
k+1
¸¸
·
deho1a ìa hoJma 1h11h11a deì vec1oJ eJJoJ e, y es ìa
1oìeJahc1a v1hcuìada a ìa cah11dad de c11Jas dec1maìes s1gh111ca11vas que
se pJe1ehde ob1eheJ.
4.3.1.1 FoJma ma1J1c1aì
Eì s1s1ema de ecuac1ohes deì mé1odo de Jacob1 puede escJ1b1Jse eh 1oJma
ma1J1c1aì como.
X
k+1
GX
k
+c
coh
132 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
G
(
0 -
a
12
a
11
... -
a
1n
a
11
-
a
21
a
22
0 ... -
a
2n
a
22
... ... ... ...
-
a
n1
a
nn
-
a
n2
a
nn
... 0
)
,
c
(
b
1
a
11
b
2
a
22
...
b
n
a
nn
)
vemos que ìa expJes1óh ma1J1c1aì de Jacob1 puede seJ 1h1eJpJe1ada como
uha 11eJac1óh de puh1o 11¸o. Es1a 1oJma ma1J1c1aì deì mé1odo cobJa 1h1eJés
cuahdo ìa soìuc1óh se 1mpìemeh1a eh uh ìehgua¸e oJ1eh1ado aì mahe¸o de
aJJegìos como ìo es Chb0c1ave.
4.3.1.2 Cohd1c1óh de cohveJgehc1a
PaJa que eì esquema 11eJa11vo deì mé1odo de Jacob1 sea absoìu1ameh1e
cohveJgeh1e, se debe ex1g1J a ìa ma1J1z de coe11c1eh1es A ìa cohd1c1óh de
seJ d1agohaì dom1hah1e,
¸a
ii
¸>
_
j1
j=i
n
¸a
ij
¸
, I=1, 2, ..., n
es dec1J, que {eh vaìoJ absoìu1o) eì coe11c1eh1e de ìa d1agohaì
pJ1hc1paì de cada 11ìa sea mayoJ que ìa suma {eh vaìoJ absoìu1o) de ìos
Jes1ah1es coe11c1eh1es de ìa 11ìa, y es1o paJa 1odas ìas 11ìas de ìa
ma1J1z. 0e seJ hecesaJ1o, habJá que JeoJdehaJ eì s1s1ema de ecuac1ohes de
modo de cumpì1J es1a cohd1c1óh.
Ev1deh1emeh1e ho 1odos ìos s1s1emas ì1heaìes de ecuac1ohes 11eheh
ma1J1ces de coe11c1eh1es d1agohaì dom1hah1es, 1hcìuso ìuego de uh
JeoJdeham1eh1o. Eh ese caso, ìo que se 1h1eh1a cumpì1J aì mehos es ìa
s1gu1eh1e cohd1c1óh.
¸a
ii
¸> max
j1, j =i
n
¸a
ij
¸
, I=1, 2, ..., n
es dec1J, que eh cada 11ìa eì coe11c1eh1e de mayoJ vaìoJ absoìu1o ocupe
ìa pos1c1óh de ìa d1agohaì pJ1hc1paì, ìo cuaì aumeh1a ìa pJobab1ì1dad de
que eì esquema 11eJa11vo cohveJ¸a.
4.3.1.3 E¸empìo de apì1cac1óh
vamos a JesoìveJ poJ eì mé1odo de Jacob1 eì s1gu1eh1e s1s1ema de
ecuac1ohes.
juan I. Weber 133
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
-1.2 x
1
+1.6 x
2
+6.1 x
3
3.2
4.8 x
1
-1.1 x
2
+2.5 x
3
2.3
0.6 x
1
-2.9 x
2
+1.2 x
3
-5.2
que puede escJ1b1Jse eh 1oJma ma1J1c1aì como.
(
-1.2 1.6 6.1
4.8 -1.1 2.5
0.6 -2.9 1.2
)
(
x
1
x
2
x
3
)

(
3.2
2.3
-5.2
)
como podemos veJ, ìa ma1J1z de coe11c1eh1es A ho es d1agohaì dom1hah1e,
ya que ìos coe11c1eh1es de ìa d1agohaì pJ1hc1paì ho soh ìos de mayoJ vaìoJ
absoìu1o. ReoJdehamos eì s1s1ema de ecuac1ohes.
(
4.8 -1.1 2.5
0.6 -2.9 1.2
-1.2 1.6 6.1
)
(
x
1
x
2
x
3
)

(
2.3
-5.2
3.2
)
vemos ahoJa que A es d1agohaì dom1hah1e. 0espe¸amos de cada ecuac1óh su
1hcógh11a coJJespohd1eh1e.
x
1

1
4.8

2.3-(1.1 x
2
+2.5 x
3
)

x
2

1
-2.9

-5.2-(0.6 x
1
+1.2 x
3
)

x
3

1
6.1

3.2-(-1.2 x
1
+1.6 x
2
)

F1¸amos = 0.01, de modo de ìogJaJ 2 dec1maìes s1gh111ca11vos eh eì
Jesuì1ado. PaJ11mos de uh vec1oJ soìuc1óh 1h1c1aì X = |0, 0, 0]. Eì
cáìcuìo mahuaì se oJgah1za eh uha 1abìa.
x1 x2 x3 e
0,00000 0,00000 0,00000
0,47917 1,79310 0,52459 1,79310
0,61686 2,10931 0,14853 0,37606
0,88519 1,98219 0,09268 0,26833
0,88515 2,01460 0,17881 0,08613
0,84772 2,05023 0,17030 0,03743
0,86031 2,03896 0,15359 0,01671
0,86643 2,03465 0,15902 0,00612
vemos que ììegamos aì Jesuì1ado eh 7 11eJac1ohes. x
1
= 6.87, x
2
= 2.63,
x
3
= 6.16.
134 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
Resoìvemos eì pJobìema ah1eJ1oJ coh uh pJogJama eh Chb0c1ave. Eh
Jeaì1dad veJemos dos pJogJamas, uho basado eh ìa 1oJma cìás1ca deì mé1odo
de Jacob1 y o1Jo usahdo su 1oJma ma1J1c1aì.
% metodo de Jacobi – programa 14
t=0.0001;k=0;
A = [4.8 -1.1 2.5; 0.6 -2.9 1.2; -1.2 1.6 6.1];
B = [2.3 -5.2 3.2]';
x=[0 0 0];n=length(x);
do
xv=x;
for i=1:n
x(i) = B(i);
for j=1:n
if i!=j
x(i)=x(i)-A(i,j)*xv(j);
endif
endfor
x(i)=x(i)/A(i,i);
endfor
k++;
until max(abs(x-xv))<t
for i=1:n
printf("x(%d): %.4f\n",i,x(i));
endfor
printf("Nro de iteraciones: %d\n", k);
Eì s1gu1eh1e pJogJama es1á basado eh ìa 1oJma ma1J1c1aì deì mé1odo.
% metodo de Jacobi - forma matricial – programa 15
t=0.0001;k=0;
A = [4.8 -1.1 2.5; 0.6 -2.9 1.2; -1.2 1.6 6.1];
B = [2.3 -5.2 3.2]';
x=[0 0 0]';n=length(x);
for i = 1:n
G(i,:)=A(i,:)/A(i,i); c(i)=B(i)/A(i,i);
endfor
G = eye(n) - G;
do
xv = x; x = G*xv+c'; e = max(abs(xv-x)); k++;
until e < t
for i=1:n
printf("x(%d): %.4f\n",i,x(i));
endfor
printf("Nro de iteraciones: %d\n", k);
4.3.2 Método de Gauss Seídeí
Eì mé1odo de Causs Se1deì se puede 1h1eJpJe1aJ como uha mod111cac1óh aì
de Jacob1. ho1emos que eh eì mé1odo de Jacob1 {poJ e¸empìo, eì úì11mo
juan I. Weber 135
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
e¸eJc1c1o Jesueì1o) 1odas ìas 1hcógh11as deì paso 11eJa11vo k+1 depehdeh
úh1cameh1e de ìas 1hcógh11as caìcuìadas eh eì paso k, a pesaJ de que se
d1pohe de vaìoJes más ac1uaì1zados {y poJ ìo 1ah1o, más ceJcahos a ìa
soìuc1óh) eh eì pJop1o paso 11eJa11vo. PoJ e¸empìo, eh eì s1s1ema de 3x3
v1s1o ah1eJ1oJmeh1e, ìa 1hcógh11a x
3
eh eì pJ1meJ paso 11eJa11vo se caìcuìa
u11ì1zahdo ìos vaìoJes x
1
= x
2
= 0 1h1c1aìes, a pesaJ de d1spoheJ de
vaìoJes "me¸oJes" paJa d1chas 1hcógh11as. La 1dea de Causs-Se1deì es
u11ì1zaJ ìos vaìoJes más ac1uaìes de ìas 1hcógh11as a med1da que vah
es1ahdo d1spoh1bìes, de modo que eh eì cáìcuìo de ìa 1hcógh11a x
1
u11ì1zaJemos ìos vaìoJes x
¸
coh ¸<1 caìcuìados eh eì m1smo paso, y ìos x
¸
coh ¸>1 caìcuìados eh eì paso ah1eJ1oJ. Eh 1óJmuìas.
x
i
k+1

b
i
-
_
j 1
i-1
a
ij
x
j
k+1
-
_
j i+1
n
a
ij
x
j
k
a
ii
Eì pJoceso 11eJa11vo es s1m1ìaJ aì deì mé1odo de Jacob1. Eì pJoceso
11eJa11vo coh11húa has1a que se cumpìa ìa cohd1c1óh de cohveJgehc1a.
¸¸e
k+1
¸¸
·
max
i1
n
¸
x
i
k+1
-x
i
k
¸
c
dohde
¸¸e
k+1
¸¸
·
deho1a ìa hoJma 1h11h11a deì vec1oJ eJJoJ e, y es ìa
1oìeJahc1a v1hcuìada a ìa cah11dad de c11Jas dec1maìes s1gh111ca11vas que
se pJe1ehde ob1eheJ.
ho1aJ que eh eì mé1odo de Jacob1 eì oJdeh eh que se e1ec1úeh ìos
cáìcuìos ho 11ehe 1mpoJ1ahc1a, m1eh1Jas que eh Causs Se1deì se debe
Jespe1aJ eì oJdeh de ìas 1hcógh11as.
La cohd1c1óh de cohveJgehc1a deì mé1odo de Causs Se1deì es ìa m1sma que
ìa de Jacob1, es dec1J ìe debemos ex1g1J a ìa ma1J1z de coe11c1eh1es deì
s1s1ema de ecuac1ohes ìa cohd1c1óh de d1agohaì dom1hahc1a,
¸a
ii
¸>
_
j 1 , j=i
n
¸a
ij
¸ , 1=1, 2, ..., h
o aì mehos que se cumpìa
¸a
ii
¸> max
j 1, j=i
n
¸a
ij
¸ , 1=1, 2, ..., h
4.3.2.1 E¸empìo de apì1cac1óh
vamos a JesoìveJ poJ eì mé1odo de Causs Se1deì eì s1s1ema de ecuac1ohes
v1s1o ah1eJ1oJmeh1e. huevameh1e eì s1s1ema debe seJ JeoJdehado paJa
gaJah11zaJ ìa cohveJgehc1a.
136 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
(
4.8 -1.1 2.5
0.6 -2.9 1.2
-1.2 1.6 6.1
)
(
x
1
x
2
x
3
)

(
2.3
-5.2
3.2
)
0espe¸amos de cada ecuac1óh su 1hcógh11a coJJespohd1eh1e.
x
1

1
4.8

2.3-(1.1 x
2
+2.5 x
3
)

x
2

1
-2.9

-5.2-(0.6 x
1
+1.2 x
3
)

x
3

1
6.1

3.2-(-1.2 x
1
+1.6 x
2
)

F1¸amos = 0.01, de modo de ìogJaJ 2 dec1maìes s1gh111ca11vos eh eì
Jesuì1ado. PaJ11mos de uh vec1oJ soìuc1óh 1h1c1aì X = |0, 0, 0]. Eì
cáìcuìo mahuaì se oJgah1za eh uha 1abìa.
x1 x2 x3 e
0,00000 0,00000 0,00000
0,47917 1,89224 0,12253 1,89224
0,84899 2,01946 0,16191 0,36982
0,85763 2,03754 0,15887 0,01808
0,86336 2,03747 0,16001 0,00573
vemos que ììegamos aì Jesuì1ado eh 4 11eJac1ohes. x
1
= 6.86, x
2
= 2.64,
x
3
= 6.16, Jesuì1ados muy s1m1ìaJes a ìos ob1eh1dos poJ Jacob1, eh 7
11eJac1ohes.
Resoìvemos eì pJobìema ah1eJ1oJ coh uh pJogJama eh Chb0c1ave.
% metodo de Gauss Seidel – programa 16
t=0.0001;k=0;
A = [4.8 -1.1 2.5; 0.6 -2.9 1.2; -1.2 1.6 6.1];
B = [2.3 -5.2 3.2]';
x=[0 0 0];n=length(x);
do
xv=x;
for i=1:n
x(i) = B(i);
for j=1:n
if i!=j
x(i)=x(i)-A(i,j)*x(j);
endif
endfor
x(i)=x(i)/A(i,i);
endfor
k++;
juan I. Weber 137
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
until max(abs(x-xv))<t
for i=1:n
printf("x(%d): %.4f\n",i,x(i));
endfor
printf("Nro de iteraciones: %d\n", k);
4.3.3 E|ercícíos
Ehcoh1JaJ ìa soìuc1óh de ìos s1gu1eh1es s1s1emas de ecuac1ohes, poJ eì
mé1odo de Jacob1. Reaì1zaJ ìos cáìcuìos mahuaìmeh1e, coh = 0.001, y
escJ1b1ehdo uh pJogJama eh 0c1ave, coh = 0.00001. Thd1caJ eì húmeJo de
11eJac1ohes hecesaJ1as.
1.
4x
1
-x
2
+x
3
8
2x
1
+5x
2
+2x
3
3
x
1
+2x
2
+4x
3
11
2.
4x
1
+x
2
+2x
3
9
2x
1
+4x
2
-x
3
-5
x
1
+x
2
-3x
3
-9
3.

2 4 -1 -2
4 0 2 1
1 3 -2 0
3 2 0 5

x
1
x
2
x
3
x
4

10
7
3
2

4.
2x-6y+z11
-5x+y-2z-12
x+2y+7z20
5.

1 1 -2
4 -2 1
3 -1 3

x
1
x
2
x
3

3
5
8

6.
x
1
+3 x
2
+x
3
3
5 x
1
-x
2
+x
3
-1
x
1
-x
2
+3 x
3
2
7.
2x
1
-1. 5x
2
+3x
3
1
-x
1
+2x
3
3
4x
1
-4. 5x
2
+5x
3
1
138 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
8.
x
1
-x
2
+2 x
3
+6 x
4
5
2 x
1
-2 x
2
+8 x
3
+x
4
4
x
1
+5 x
2
+2 x
3
-x
4
-2
4 x
1
+x
2
+x
4
3
9.
-4 x
2
+x
3
3
-x
2
+6 x
4
4
x
1
+5 x
3
-4
3 x
1
-x
4
2
10.
(
5 1 0 0 -1
2 6 0 1 0
0 -1 7 0 2
-1 0 0 4 0
0 1 0 1 -4
)

(
x
1
x
2
x
3
x
4
x
5
)

(
3
5
-6
2
-4
)
4.4 Derivacion e integracion numericas
Eì cáìcuìo de deJ1vadas o 1h1egJaìes es uha Jama de ìas ma1emá11cas que
se asoc1a a ìos cuJsos de Aháì1s1s ha1emá11co, dohde se veh ìos mé1odos
ahaì111cos asoc1ados a es1as opeJac1ohes. S1h embaJgo, bueha paJ1e de ìas
deJ1vadas o 1h1egJaìes que heces11ah caìcuìaJ ìos pJogJamas de 1hgeh1eJ1a
se Jesueìveh a 1Javés de mé1odos huméJ1cos de deJ1vac1óh o 1h1egJac1óh,
que s1 b1eh soh apJox1mados, peJm11eh ob1eheJ ìos Jesuì1ados coh uha
pJec1s1óh su11c1eh1e 1hcìuso eh aqueììos casos eh que ho ex1s1a ìa
soìuc1óh ahaì111ca.
4.4.1 Derívacíón numéríca
La 1dea es de1eJm1haJ eì vaìoJ de ìa deJ1vada de uha 1uhc1óh eh uh
puh1o, eì cuaì es uh vaìoJ huméJ1co, eh coh1Japos1c1óh coh ob1eheJ ìa
1uhc1óh deJ1vada, que es uh pJobìema deì Aháì1s1s ha1emá11co. veJemos ìa
deducc1óh de ìos opeJadoJes de deJ1vac1óh huméJ1ca de pJ1meJ y seguhdo
oJdeh, y ìas 1óJmuìas de aìguhos opeJadoJes de deJ1vac1óh huméJ1ca de
oJdeh supeJ1oJ.
Eh 1odos ìos casos ìa deducc1óh paJ1e de ìa expahs1óh de uha 1uhc1óh
aìJededoJ de uh puh1o a 1Javés de ìa dehom1hada SeJ1e de TayìoJ.
f ( x) f ( x
0
)+f ' ( x
0
)( x-x
0
)+
f ' ' ( x
0
)
2 !
( x-x
0
)
2
+
f ' ' ' ( x
0
)
3!
( x-x
0
)
3
+...
eh ìa cuaì podemos haceJ hx-x
0
, y coh uha s1mpì111cac1óh eh ìa
ho1ac1óh ob1eheJ
juan I. Weber 139
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
f ( x
0
+h) f
0
+f '
0
h+
f
0
' '
2
h
2
+
f
0
' ' '
6
h
3
+...
4.4.1.1 0eJ1vadas de pJ1meJ oJdeh
S1 eh ìa expJes1óh de TayìoJ hacemos x
0
x
i
, x
0
+hx
i +1
, 1ehemos
f
i+1
f
i
+ f '
i
h+
f
i
' '
2
h
2
+
f
i
' ' '
6
h
3
+...
s1 despe¸amos ìa deJ1vada pJ1meJa,
f '
i

f
i +1
-f
i
h
-
f
i
' '
2
h-
f
i
' ' '
6
h
2
+...
podemos cohs1deJaJ que eì pJ1meJ 1éJm1ho deì m1embJo de ìa deJecha es
uha apJox1mac1óh aì vaìoJ de ìa deJ1vada, y ìos Jes1ah1es 1éJm1hos
JepJeseh1ah eì eJJoJ de d1cha apJox1mac1óh, que s1 cohs1deJamos que h < 1,
eì 1éJm1ho dom1hah1e es deì oJdeh de h, coh ìo cuaì
f '
i

f
i+1
- f
i
h
+O( h)
ìo que 1hd1ca que eì eJJoJ es pJopoJc1ohaì aì paso h. cuah1o mehoJ h,
1ah1o mehoJ eì eJJoJ. Es1e úì11mo es uh esquema de deJ1vac1óh huméJ1ca de
pJ1meJ oJdeh desceh1Jado hac1a adeìah1e o pJogJes1vo.
vemos eh ìa 11guJa que podemos 1h1eJpJe1aJ a es1a úì11ma apJox1mac1óh
como ìa pehd1eh1e de ìa Jec1a secah1e de11h1da eh1Je x
1
y x
1+1
, s1m1ìaJ a ìa
pehd1eh1e de ìa Jec1a 1ahgeh1e a ìa cuJva eh x
1
, 1ah1o más s1m1ìaJ cuah1o
140 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
mehoJ eì vaìoJ de h.
S1 poJ eì coh1JaJ1o cohs1deJamos uh paso hega11vo -h, ìa expahs1óh de
TayìoJ queda de11h1da como
f
i-1
f
i
- f '
i
h+
f
i
' '
2
h
2
-
f
i
' ' '
6
h
3
+...
coh ìo cuaì, despe¸ahdo,
f '
i

f
i
- f
i -1
h
+
f
i
' '
2
h-
f
i
' ' '
6
h
2
+...
es dec1J,
f '
i

f
i
- f
i -1
h
+O( h)
que es uh esquema de deJ1vac1óh huméJ1ca de pJ1meJ oJdeh desceh1Jado
hac1a a1Jás o JegJes1vo, deì m1smo oJdeh de pJec1s1óh que eì pJogJes1vo
{1éJm1ho de eJJoJ deì oJdeh de h). Podemos 1h1eJpJe1aJìo como ìa pehd1eh1e
de ìa Jec1a secah1e de11h1da eh1Je x
1
y x
1-1
, s1m1ìaJ a ìa pehd1eh1e de ìa
Jec1a 1ahgeh1e a ìa cuJva eh x
1
, 1ah1o más s1m1ìaJ cuah1o mehoJ eì vaìoJ de
h.
juan I. Weber 141
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
F1haìmeh1e, s1 Jes1amos m1embJo a m1embJo ìas expJes1ohes ah1es
pìah1eadas
f
i+1
f
i
+ f '
i
h+
f
i
' '
2
h
2
+
f
i
' ' '
6
h
3
+...
f
i-1
f
i
- f '
i
h+
f
i
' '
2
h
2
-
f
i
' ' '
6
h
3
+...
ob1ehemos
f
i+1
-f
i-1
2 f '
i
h+2
f
i
' ' '
6
h
3
+...
despe¸ahdo ìa pJ1meJa deJ1vada
f '
i

f
i+1
- f
i-1
2h
-
f
i
' ' '
6
h
2
+...
es dec1J
f '
i

f
i+1
- f
i-1
2h
+O( h
2
)
que es uh esquema de deJ1vac1óh huméJ1ca de pJ1meJ oJdeh ceh1Jado.
S1ehdo h < 1, ìuego h
2
< h y poJ ìo 1ah1o es1a 1óJmuìa es más pJec1sa que
ìas dos ah1eJ1oJes. 0ue eì eJJoJ sea deì oJdeh de h
2
s1gh111ca que s1
d1v1d1mos a ìa m11ad eì paso h Jeduc1mos eì eJJoJ a ìa cuaJ1a paJ1e, s1
142 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
Jeduc1mos a ìa déc1ma paJ1e eì paso h Jeduc1mos 100 veces eì eJJoJ, e1c.
Ceomé1J1cameh1e podemos 1h1eJpJe1aJ que apJox1mamos ìa pehd1eh1e de ìa
Jec1a 1ahgeh1e a ìa cuJva eh x
1
como ìa pehd1eh1e de ìa Jec1a secah1e a ìa
m1sma cuJva pasah1e poJ x
1-1
y x
1+1
, ìo cuaì 11ehe c1eJ1o 1uhdameh1o
ma1emá11co eh eì cohoc1do TeoJema deì vaìoJ hed1o deì Aháì1s1s.
4.4.1.2 0eJ1vadas de seguhdo oJdeh
S1 1omamos ìas expahs1ohes de TayìoJ v1s1as eh eì puh1o ah1eJ1oJ,
f
i+1
f
i
+ f '
i
h+
f
i
' '
2
h
2
+
f
i
' ' '
6
h
3
+...
,
f
i-1
f
i
- f '
i
h+
f
i
' '
2
h
2
-
f
i
' ' '
6
h
3
+...
y sumamos m1embJo a m1embJo, ìos 1éJm1hos coh oJdeh de deJ1vac1óh 1mpaJ
se cahceìah y queda,
f
i+1
+f
i-1
2 f
i
+ f
i
' ' h
2
+
f
i
IV
12
h
4
+...
de dohde podemos despe¸aJ ìa deJ1vada seguhda.
f
i
' '
f
i +1
-2 f
i
+f
i-1
h
2
-
f
i
IV
12
h
2
+...
es dec1J
f
i
' '
f
i +1
-2 f
i
+f
i-1
h
2
+O(h
2
)
juan I. Weber 143
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
que es uh opeJadoJ de deJ1vac1óh de seguhdo oJdeh ceh1Jado. Aì m1smo
podJ1amos habeJ ììegado poJ sus111uc1óh de ìa deJ1vada seguhda poJ ìa
deJ1vada pJ1meJa {coh uh esquema hac1a adeìah1e) de ìa deJ1vada pJ1meJa
{coh esquemas hac1a a1Jás).
I ''
I

I '
I+1
-I '
I
h

I
I+1
-I
I
h
-
I
I
-I
I-1
h
h

I
I +1
-2 I
I
+I
I+1
h
2
peJo eh es1e caso peJdemos hoc1óh deì 1éJm1ho de eJJoJ.
4.4.1.3 0eJ1vadas de 1eJceJ y cuaJ1o oJdeh
Las deJ1vadas de 1eJceJ y cuaJ1o oJdeh puedeh ob1eheJse 1ah1o a 1Javés
de ìa seJ1e de TayìoJ {eh 1oJma s1m1ìaJ a ìa v1s1a has1a ahoJa) como poJ
sus111uc1óh d1Jec1a.
PaJa ob1eheJ ìa deJ1vada 1eJceJa, caìcuìamos ìa deJ1vada pJ1meJa de ìa
deJ1vada seguhda{ambas coh esquemas ceh1Jados).
I
I
¡¡¡

I ''
I+1
-I ''
I-1
2h

I
I+2
-2 I
I+1
+I
I
h
2
-
I
I
-2 I
I-1
+I
I -2
h
2
2h

I
I+2
-2 I
I+1
+2 I
I -1
-I
I-2
2h
3
que es uh esquema ceh1Jado de 1eJceJ oJdeh, cuyo eJJoJ es deì oJdeh de h
2
{dado que ìos opeJadoJes u11ì1zados eh ìa sus111uc1óh soh deì m1smos oJdeh
de eJJoJ). Es dec1J,
I
I
¡¡¡

I
I+2
-2 I
I+1
+2 I
I -1
-I
I-2
2h
3
+O(h
2
)
PaJa ob1eheJ ìa deJ1vada cuaJ1a, caìcuìamos ìa deJ1vada seguhda de ìa
deJ1vada seguhda {usahdo eì opeJadoJ ceh1Jado ah1es v1s1o). Eì eJJoJ seJá
deì m1smo oJdeh que eì de es1e opeJadoJ de seguhdo oJdeh,
I
I
¡V

(
I ' '
I
)
' '
I ' '
I-1
-2 I ' '
I
+I ' '
I+1
h
2

I
I-2
-2 I
I-1
+I
I
h
2
-2
I
I-1
-2 I
I
+I
I+1
h
2
+
I
I
-2 I
I+1
+I
I +2
h
2
h
2
I
I
¡V

I
I-2
-4 I
I-1
+6I
I
-4I
I+1
+I
I+2
h
4
+O(h
2
)
Es1e es uh opeJadoJ de cuaJ1o oJdeh, ceh1Jado.
0e es1e modo es pos1bìe segu1J cohs1Juyehdo esquemas de deJ1vac1óh
huméJ1ca de óJdehes supeJ1oJes, o b1eh deì m1smo oJdeh de ìos ah1eJ1oJes
peJo de mayoJ pJec1s1óh {mayoJ expoheh1e de h eh eì 1éJm1ho de eJJoJ), o
b1eh esquemas desceh1Jados. Eh ìa b1bì1ogJa11a {ha1hews y F1hk -2000-, poJ
e¸empìo) puedeh ehcoh1JaJse humeJosos esquemas de deJ1vac1óh huméJ1ca
144 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
d1spoh1bìes.
4.4.1.4 PJop1edades geheJaìes
Todos ìos esquemas de deJ1vac1óh huméJ1ca {1ah1o ìos que hemos v1s1o
como ìos que ho) 11eheh ìas s1gu1eh1es pJop1edades geheJaìes.
a) ìa suma de ìos coe11c1eh1es deì humeJadoJ debe seJ 0. Eso es
Jeìa11vameh1e 1ác1ì de eh1ehdeJ s1 cohs1deJamos como 1{x) a ìa 1uhc1óh
cohs1ah1e.
...I
I-2
I
I-1
I
I
I
I+1
I
I+2
...
como ìa deJ1vada de cuaìqu1eJ oJdeh de es1a 1uhc1óh es 0, ho queda o1Ja
opc1óh eh ìos esquemas de deJ1vac1óh huméJ1ca que ìos coe11c1eh1es de
pohdeJac1óh sumeh 0 paJa ob1eheJ d1cho Jesuì1ado.
b) cuaìqu1eJ expJes1óh desceh1Jada hac1a ìa deJecha {o a ìa 1zqu1eJda)
da ìugaJ a o1Ja equ1vaìeh1e eh ìa d1Jecc1óh opues1a camb1ahdo ìos s1ghos
de ìos coe11c1eh1es.
4.4.1.5 E¸empìos
CaìcuìaJ ìas deJ1vadas pJ1meJa y seguhda de ìa s1gu1eh1e 1uhc1óh eh x =
-3.5, coh h = 0.05.
y0.5e
x
-sen x+0.2x+1.2
Soìuc1óh. PaJa apì1caJ ìos esquemas ceh1Jados v1s1os, heces11amos
cohs1Ju1J uha 1abìa de vaìoJes de ìa 1uhc1óh.
xi yi
i-1 -3,55 0,10721
i -3,50 0,16432
i+1 -3,45 0,22233
poJ ìo 1ah1o ìa deJ1vada pJ1meJa se caìcuìa como.
f '
i

f
i+1
- f
i-1
2h

0.22233-0.10721
20.05
1.15
y ìa deJ1vada seguhda como
f ' '
i

f
i +1
-2 f
i
+f
i -1
h
2

0.22233-20.16432+0.10721
20.05
0.37
ho1aJ que ìos dos Jesuì1ados 1ueJoh Jedohdeados a 2 dec1maìes, como ìo
sug1eJe eì oJdeh deì eJJoJ 0{h
2
) { h
2
= 0.05
2
= 0.0025).
EscJ1bamos ahoJa uh pJogJama eh 0c1ave que hos peJm11a ob1eheJ ìas
deJ1vadas pJ1meJa y seguhda de es1a 1uhc1óh eh uh c1eJ1o subdom1h1o, cuyos
ì1m11es 1hgJese eì usuaJ1o, y gJa11que ìa 1uhc1óh oJ1g1haì y sus
deJ1vadas.
juan I. Weber 145
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
% derivacion numerica – programa 17
clear, clearplot;
% ingreso de datos
xmin = input("Ingrese el limite inferior del intervalo: ");
xmax = input("Ingrese el limite superior del intervalo: ");
h = input("Ingrese el paso h: ");
% calculo de la funcion y sus derivadas
x = [xmin : h : xmax]; n = length(x);
y = 0.5*exp(x)-sin(x)+0.2*x+1.2;
y_prima = (y(3:n)-y(1:n-2))/(2*h);
y_segunda = (y(3:n)-2*y(2:n-1)+y(1:n-2))/(h^2);
% notar que en estas ultimas dos se perdieron los puntos extremos
% podriamos haber usado unos esquemas descentrados para esos puntos
% muestra de tabla de valores en pantalla
printf("%10s%10s%10s%10s\n","x","y","y'","y''");
for i=1:n
if i==1 | i == n
printf("%10.4f%10.4f%10s%10s\n",x(i),y(i),"---","---");
else
printf("%10.4f%10.4f%10.4f%10.4f\n",x(i),y(i),...
y_prima(i-1),y_segunda(i-1));
endif
endfor
% grafica la funcion y sus derivadas
hold on;
plot(x,y,"r;f(x);");
plot(x(2:n-1),y_prima,"g;f'(x);");
plot(x(2:n-1),y_segunda,"b;f''(x);");
% fin del programa
4.4.1.6 E¸eJc1c1os
CaìcuìaJ ìas deJ1vadas pJ1meJa, seguhda, 1eJceJa y cuaJ1a de ìas
1uhc1ohes dadas eh eì puh1o 1hd1cado, coh eì paso 1hd1cado. Eh dohde sea
pos1bìe, compaJaJ coh eì Jesuì1ado ahaì111co. EscJ1b1J uh pJogJama eh
0c1ave que caìcuìe ìa deJ1vada de ìa 1uhc1óh, eh uh puh1o y coh uh paso
1hgJesados poJ eì usuaJ1o.
1. f ( x)
x
2
-ln x
3x+cos x
, x = 1.2 , h = 0.05
2.
f ( x)tg x +
sen x
x
2
+4
, x = 0.4 , h = 0.1
3. f (x )ln( sin x+x
2
)+1 , x = 1.1 , h = 0.01
4. f ( x)
x
2
+e
x
3x+4
, x = -2.2 , h = 0.1
146 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
5.
f ( x) ( x+cos x)
3x+1
, x = 0.75 , h = 0.02
6.
f ( x)5x
3
-2e
x
+7
, x = -1.3 , h = 0.01
7.
f ( x)x
4
-3 sen x-2
, x = 0.43 , h = 0.1
8.
f ( x) 5x-sen ( 3x) +e
-x
-2
, x = 1.12 , h = 0.05
9.
f ( x)2x
4
-3x
3
-e
-2x
+2. 5x
, x = 0.27 , h = 0.02
10. y ( x )
cos x+4
10 x
, x = 0.47 , h = 0.01
11.
y ( x )e
x
( sen 2x-x)+1
, x = -0.31 , h = 0.1
12.
f ( x)
2x
ln ( x+1)
-4
, x = 0.16 , h = 0.02
13.
yx
3
-10 ln ( x) -3
, x = 1.82 , h = 0.05
14.
ycos ( x) -4sen ( 2x)
, x = 0.49 , h = 0.1
4.4.2 Integracíón numéríca
0ada uha 1uhc1óh 1 de11h1da sobJe uh 1h1eJvaìo |a,b], es1amos
1h1eJesados eh caìcuìaJ
j ( I )
|
a
b
I ( x) dx
supoh1ehdo que es1a 1h1egJaì 1ehga seh11do paJa ìa 1uhc1óh 1. La
cuadJa1uJa o 1h1egJac1óh huméJ1ca cohs1s1e eh ob1eheJ 1óJmuìas apJox1madas
paJa caìcuìaJ ìa 1h1egJaì J{1) de 1. Es1os mé1odos soh de gJah u11ì1dad
cuahdo ìa 1h1egJaì ho se puede caìcuìaJ poJ mé1odos ahaì111cos, su cáìcuìo
Jesuì1a muy cos1oso y es1amos 1h1eJesados eh uha soìuc1óh coh pJec1s1óh
11h11a dada o b1eh sóìo d1spohemos de uha 1abìa de vaìoJes de ìa 1uhc1óh
{es dec1J, ho cohocemos ìa 1oJma ahaì111ca de 1).
Ex1s1eh muchas 1óJmuìas o cuadJa1uJas de 1h1egJac1óh huméJ1ca. Aqu1
vamos a veJ dos de eììas. ìa Regìa TJapezo1daì o Regìa deì TJapec1o y ìa
Regìa de S1mpsoh.
4.4.2.1 Regìa 1Japezo1daì
PaJ11mos de ìa expahs1óh eh seJ1e de TayìoJ de ìa 1uhc1óh 1h1egJahdo
1{x).
f ( x) f ( x
0
)+f ' ( x
0
)( x-x
0
)+
f ' ' ( x
0
)
2!
(x-x
0
)
2
+
f ' ' ' ( x
0
)
3!
( x-x
0
)
3
+...
s1 ahoJa hacemos ìa 1Jahs1oJmac1óh z= x-a, dz = dx y cohs1deJamos h = b-
juan I. Weber 147
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
a, 1h1egJahdo 1{x) eh1Je a y b 1ehemos
|
a
b
f ( x) dx
|
0
h
f ( z) dz
|
0
h
f (a) dz+
|
0
h
f ' ( a) z dz+
|
0
h
f ' ' (a)
2
z
2
dz+...
|
a
b
f ( x) dx f (a)
|
0
h
dz+f ' (a)
|
0
h
z dz+
f ' ' ( a)
2
|
0
h
z
2
dz+...
|
a
b
f ( x) dx f ( a) h+f ' (a)
h
2
2
+
f ' ' ( a)
2
h
3
3
+...
|
a
b
f ( x) dx f (a) h+f ' ( a)
h
2
2
+f ' ' ( a)
h
3
6
+...
s1 Jeempìazamos a ìa deJ1vada 1`{a) poJ uh esquema de deJ1vac1óh
huméJ1ca hac1a adeìah1e.
f ' ( a)
f (b)-f ( a)
h
+O( h)
se 11ehe.
|
a
b
f ( x) dx
|
0
h
f ( z) dz
|
0
h
f (a) dz+
|
0
h
f ' ( a) z dz+
|
0
h
f ' ' (a)
2
z
2
dz+...
|
a
b
f ( x) dx f (a)
|
0
h
dz+f ' (a)
|
0
h
z dz+
f ' ' ( a)
2
|
0
h
z
2
dz+...
|
a
b
f ( x) dx f ( a) h+f ' (a)
h
2
2
+
f ' ' ( a)
2
h
3
3
+...
|
a
b
f ( x) dx f (a) h+f ' ( a)
h
2
2
+f ' ' ( a)
h
3
6
+...
es dec1J
|
a
b
f ( x) dx
h
2
(
f
a
+f
b
)
+O( h
3
)
que es ìa 1óJmuìa s1mpìe de ìa Jegìa 1Japezo1daì. S1 ahaì1zamos ìa
11guJa,
148 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
podemos veJ que ìa Jegìa 1Japezo1daì peJm11e apJox1maJ ìa 1h1egJaì eh1Je
a y b como eì áJea sombJeada deì 1Japec1o, de bases mayoJ 1{b) y 1{a) y
aì1uJa h. Eì eJJoJ ìocaì, de oJdeh 0{h
3
), es1á JepJeseh1ado poJ ìa pequeña
áJea compJehd1da eh1Je eì ìado 1hcì1hado deì 1Japec1o y ìa cuJva. Se
eh11ehde que d1cho eJJoJ seJá 1ah1o mehoJ cuah1o mehoJ sea h.
4.4.2.2 FóJmuìa compues1a de ìa Regìa 1Japezo1daì
Eh eì caso eh que eì 1h1eJvaìo de 1h1egJac1óh sea gJahde, o b1eh ìa
1uhc1óh vaJ1e eh 1oJma 1mpoJ1ah1e deh1Jo deì m1smo, ìa 1óJmuìa s1mpìe de
ìa Jegìa 1Japezo1daì puede daJ ìugaJ a eJJoJes 1mpoJ1ah1es, como se ve eh
eì e¸empìo de ìa 11guJa.
bha 1oJma de Jeduc1J es1e eJJoJ es d1v1d1J eì 1h1eJvaìo 1o1aì {a,b) eh h
juan I. Weber 149
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
sub1h1eJvaìos {x
0
,x
1
),{x
1
,x
2
),...,{x
h-1
,x
h
), apì1caJ ìa Jegìa 1Japezo1daì a
cada uho de eììos y sumaJ ìas 1h1egJaìes paJc1aìes paJa ob1eheJ ìa
1h1egJaì 1o1aì.
eh s1mboìos,
|
x
0
x
n
I ( x) dx
|
x
0
x
1
I ( x) dx+
|
x
1
x
2
I ( x) dx+....+
|
x
n-1
x
n
I ( x) dx
|
x
0
x
n
I ( x) dx
h
2
(
I
0
+I
1
)
+O(h
3
)+
h
2
(
I
1
+I
2
)
+O(h
3
)+...+
h
2
(
I
n-1
+I
n
)
+O(h
3
)
|
x
0
x
n
I ( x) dx
h
2

I
0
+2 I
1
+2 I
2
+2 I
3
+... 2I
n-1
+I
n
+nO(h
3
)
peJo como hh = {b-a), que ho depehde de h,
|
x
0
x
n
I ( x) dx
h
2

I
0
+2 I
1
+2 I
2
+2 I
3
+... 2 I
n-1
+I
n

+O(h
2
)
que es ìa 1óJmuìa compues1a de ìa Jegìa 1Japezo1daì, eh ìa cuaì vemos
que eì eJJoJ {dehom1hado eJJoJ gìobaì) es deì oJdeh de h
2
. Es1a 1óJmuìa
puede seJ escJ11a más s1h1é11cameh1e como
|
x
0
x
n
I ( x) dx
h
2
_
I0
n
w
I
I
I
+O(h
2
)
dohde ìos w
1
se cohoceh como coe11c1eh1es de pohdeJac1óh o de peso, y
paJa es1a Jegìa vaìeh.
w
1
= 1, s1 1=0 o 1=h
150 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
w
1
= 2, eh o1Jo caso
S1 pehsamos a ìa suma1oJ1a como eì pJoduc1o escaìaJ eh1Je dos vec1oJes,
ìa 1mpìemeh1ac1óh de es1a 1óJmuìa se s1mpì111ca eh ìehgua¸es de
pJogJamac1óh oJ1eh1ados aì mahe¸o de aJJegìos como 0c1ave.
4.4.2.3 Regìa de S1mpsoh
S1 ahoJa cohs1deJamos eì 1h1eJvaìo {a,b) d1v1d1do eh dos 1h1eJvaìos de
1amaño h, ìa 1h1egJaì buscada puede escJ1b1Jse como
|
a
b
I ( x) dx
|
-h
h
I ( z) dz
coh z 1guaì a
zx-
a+b
2
, dzdx
1h1egJahdo eì desaJJoììo eh seJ1e de TayìoJ de 1{z).
|
a
b
f ( x) dx
|
-h
h
f ( z) dz
|
-h
h
f
1
dz+
|
-h
h
f '
1
z dz+
|
-h
h
f ' '
1
2
z
2
dz+
|
-h
h
f
1
III
6
z
3
dz+
|
-h
h
f
1
IV
24
z
4
dz+...
|
a
b
f ( x) dx f
1
|
-h
h
dz+ f '
1
|
-h
h
z dz+
f ' '
1
2
|
-h
h
z
2
dz+
f
1
III
6
|
-h
h
z
3
dz+
f
1
IV
24
|
-h
h
z
4
dz+...
|
a
b
f ( x) dx f
1
z
-h
h
+f '
1

z
2
2

-h
h
+
f ' '
1
2

z
3
3

-h
h
+
f
1
III
6

z
4
4

-h
h
+
f
1
IV
24

z
5
5

-h
h
+...
juan I. Weber 151
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
ho1aJ que eh ìa úì11ma expJes1óh, ìos 1éJm1hos que depehdeh de po1ehc1as
paJes de z se ahuìah, poJ ìo que queda as1.
|
a
b
f ( x) dx2 h f
1
+2
h
3
3
f ' '
1
2
+2
h
5
5
f
1
IV
24
+...2 h f
1
+
h
3
3
f ' '
1
+
h
5
60
f
1
IV
+...
s1 eh ìa úì11ma expJes1óh Jeempìazamos a ìa deJ1vada seguhda poJ eì
esquema ceh1Jado de deJ1vac1óh que hemos v1s1o ah1eJ1oJmeh1e,
f
1
' '
f
2
-2 f
1
+f
0
h
2
-
f
1
IV
12
h
2
+...
1ehemos,
|
a
b
f ( x) dx2 h f
1
+
h
3
3

f
2
-2 f
1
+f
0
h
2
-
f
1
IV
12
h
2
+...

+
h
5
60
f
1
IV
+...
d1s1J1buyehdo y JeoJdehahdo,
|
a
b
f ( x) dx
h
3
(
f
0
+4 f
1
+f
2
)
-
h
5
90
f
1
IV
+...
es dec1J,
|
a
b
f ( x) dx
h
3
(
f
0
+4 f
1
+ f
2
)
+O( h
5
)
que es ìa Jegìa de S1mpsoh de 1h1egJac1óh huméJ1ca. Como vemos, paJa su
apì1cac1óh se vueìve hecesaJ1o d1v1d1J eì 1h1eJvaìo de 1h1egJac1óh eh 2
paJ1es. Como vemos, eì eJJoJ ìocaì de 1h1egJac1óh es deì oJdeh de h
5
, ìo
que 1mpì1ca uha me¸oJa sus1ahc1aì Jespec1o de ìa Jegìa 1Japezo1daì.
4.4.2.4 FóJmuìa compues1a de ìa Regìa de S1mpsoh
huevameh1e, s1 eì 1h1eJvaìo de 1h1egJac1óh es gJahde o ìa 1uhc1óh su1Je
gJahdes vaJ1ac1ohes deh1Jo deì m1smo, es pos1bìe me¸oJaJ ìa apJox1mac1óh a
ìa 1h1egJaì d1v1d1ehdo eì 1h1eJvaìo 1o1aì eh uha cah11dad h de
sub1h1eJvaìos, coh ìa cohd1c1óh de que h sea paJ. Luego apì1caJ ìa Jegìa
de S1mpsoh a cada paJ de sub1h1eJvaìos coh11guos, sumaJ ìas 1h1egJaìes
paJc1aìes y ob1eheJ de esa 1oJma ìa 1h1egJaì 1o1aì. Eh s1mboìos,
|
x
0
x
n
I ( x) dx
|
x
0
x
2
I (x) dx+
|
x
2
x
4
I ( x) dx+....+
|
x
n-2
x
n
I (x) dx
152 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
|
x
0
x
n
I ( x) dx
h
3
(
I
0
+4 I
1
+I
2
)
+O(h
5
)+
h
3
(
I
2
+4 I
3
+I
4
)
+O(h
5
)+...
+
h
3
(
I
n-2
+4 I
n-1
+I
n
)
+O(h
5
)
|
x
0
x
n
I ( x) dx
h
3

I
0
+4I
1
+2 I
2
+4 I
3
+2I
4
+...+2I
n-2
+4 I
n-1
+I
n

+
n
2
O(h
5
)
aì 1guaì que ìo v1s1o ah1eJ1oJmeh1e, 1eh1ehdo eh cueh1a que hh = {b-a),
que ho depehde de h, puede escJ1b1Jse 11haìmeh1e,
|
x
0
x
n
I ( x)dx
h
3

I
0
+4 I
1
+2 I
2
+4 I
3
+2 I
4
+...+2 I
n-2
+4 I
n-1
+I
n

+O(h
4
)
que es ìa 1óJmuìa compues1a de ìa Jegìa de S1mpsoh. Como vemos, eì eJJoJ
gìobaì de 1h1egJac1óh es deì oJdeh de h
4
, es dec1J, cohs1deJabìemeh1e más
pJec1sa que ìa 1óJmuìa compues1a de ìa Jegìa 1Japezo1daì v1s1a
ah1eJ1oJmeh1e. La cìave paJa ìa coJJec1a apì1cac1óh de es1a 1óJmuìa es1á
eh que ìa cah11dad de sub1h1eJvaìos cohs1deJados sea paJ.
01Ja vez, es pos1bìe escJ1b1J ìa 1óJmuìa compues1a de ìa Jegìa de
S1mpsoh de uh modo más compac1o,
|
x
0
x
n
I ( x)dx
h
3
_
I0
n
w
I
I
I
+O(h
4
)
dohde ìos pesos w
1
vaìeh. 4 s1 h es 1mpaJ, o 2 s1 h es paJ, excep1o paJa
1 = 0 o 1 = h eh dohde vaìeh 1.
4.4.2.5 E¸empìo
CaìcuìaJ ìa s1gu1eh1e 1h1egJaì de11h1da poJ ìas Jegìas 1Japezo1daì y de
S1mpsoh, usahdo h = 0.1.
|
1.0
1.6
( x
2
+e
x
) dx
AJmamos uha 1abìa coh ìos vaìoJes de ìa 1uhc1óh eh eì 1h1eJvaìo de
1h1egJac1óh.
x 1,0 1,1 1,2 1,3 1,4 1,5 1,6
f(x) 3,718282 4,214166 4,760117 5,359297 6,015200 6,731689 7,513032
PaJa caìcuìaJ ìa 1h1egJaì de acueJdo a ìa 1óJmuìa compues1a de ìa Jegìa
1Japezo1daì, e1ec1uamos eì s1gu1eh1e cáìcuìo.
|
1.0
1.6
( x
2
+e
x
) dx-
0,1
2
( 3,718282+24,214166+24,760117+25,359297+26,015200+26,731689+7,513032)
juan I. Weber 153
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
|
1.0
1.6
( x
2
+e
x
) dx3,27
expJesado coh dos dec1maìes, ìo que es1á de acueJdo a ìa pJec1s1óh deì
mé1odo {0{h
2
)).
AhoJa apì1camos ìa 1óJmuìa compues1a de ìa Jegìa de S1mpsoh.
|
1.0
1.6
( x
2
+e
x
) dx-
0,1
3
( 3,718282+44,214166+24,760117+45,359297+26,015200+46,731689+7,513032)
|
1.0
1.6
( x
2
+e
x
) dx3,2668
expJesado coh cua1Jo dec1maìes, ìo que es1á de acueJdo a ìa pJec1s1óh
deì mé1odo {0{h
4
)).
F1haìmeh1e vamos a escJ1b1J uh pJogJama eh 0c1ave que peJm11a caìcuìaJ
ìa 1h1egJaì de ìa 1uhc1óh ah1eJ1oJ, peJm111ehdo aì usuaJ1o 1hgJesaJ ìos
ì1m11es y eì 1amaño h deì paso.
% integracion numerica – programa 18
clear;
% ingreso de datos
xmin = input("Ingrese el limite inferior del intervalo: ");
xmax = input("Ingrese el limite superior del intervalo: ");
h = input("Ingrese el paso h: ");
x = [xmin : h : xmax]; n = length(x); fx = x.^2 + exp(x);
if rem(n,2) == 0
disp("Numero impar de intervalos. Solo se aplicara la regla ...
trapezoidal");
endif
w = 2*ones(1,n); w(1) = 1; w(n) = 1; trapezoidal = h/2*sum(w.*fx);
printf("Resultado por la regla trapezoidal: %.5f\n", trapezoidal);
if rem(n,2) == 1
w(2:2:n-1) = 4; simpson = h/3*sum(w.*fx);
printf("Resultado por la regla de Simpson: %.5f\n", simpson);
endif
% fin del programa
4.4.2.6 E¸eJc1c1os
CaìcuìaJ ìas s1gu1eh1es 1h1egJaìes poJ ìas Jegìas deì 1Japec1o y 1/3 de
S1mpsoh, coh eì paso 1hd1cado. Eh dohde sea pos1bìe, compaJaJ coh eì
Jesuì1ado ahaì111co. EscJ1b1J uh pJogJama eh 0c1ave que caìcuìe ìa
1h1egJaì 1hd1cada y que peJm11a 1hgJesaJ eì paso de 1h1egJac1óh.
1.
|
0. 5
1
x
4
dx
, h = 0.1
154 juan I. Weber
!TÞ-IIC- Ðpto. de ¡ng. CIvII Iundamentos de ¡nIormátIca
2.
|
0
0 . 5
2
x-4
dx , h = 0.1
3.
|
1
1 . 5
x
2
ln xdx
, h = 0.1
4.
|
0
1
x
2
e
-x
dx
, h = 0.2
5. |
1
1 . 6
2x
x
2
-4
dx
, h = 0.1
6.
|
0
n 4
x sin xdx , h = π /16
7.
|
0
n 4
e
3x
sin2x dx , h = π /16
8.
|
1
2
x ln x dx
, h = 0.2
9.
|
-2
2
x
3
e
x
dx
, h = 0.25
10. |
0
2
2
x
2
+4
dx
, h = 0.2
11.
|
0

x
2
cos xdx
, h = π /5
12.
|
0
2
e
2x
sin x dx , h = 0.2
13. |
1
3
x
x
2
+4
dx
, h = 0.2
14. |
3
5
1
.x
2
-4
dx
, h = 0.2
15.
|
0
2
.
1+cos
2
x dx
, h = 0.2
4.5 ßÍb1Íogra1±a
C1ì hoh1eJo, R. {2000). hé1odos huméJ1cos. bh1veJs11as, CóJdoba.
ha1hews, J., F1hk, K. {2000). hé1odos huméJ1cos coh hATLAB. PJeh11ce-
haìì, hadJ1d.
hakamuJa, S. {1997). Aháì1s1s huméJ1co y v1suaì1zac1óh CJá11ca coh
hATLAB. PJeh11ce haìì h1spahoameJ1caha, héx1co.
h1kos 0Jakos {1997). Apuh1es de mé1odos huméJ1cos. Compu1eJ Based
juan I. Weber 155
Iundamentos de ¡nIormátIca !TÞ-IIC- Ðpto. de ¡ng. CIvII
LeaJh1hg bh11, bh1veJs11y o1 Leeds. TJaduc1do poJ Wìad1m1Jo 01az
v1ììahueva {h11p.//www.uv.es/-d1az/mh/1mh.h1mì)
0ocumeh1o de 1ex1o cJeado coh
156 juan I. Weber