Está en la página 1de 158

UniversidadTecnolgicaNacional

FacultadRegionalCrdoba
JuanF.Weber
Fundamentosde
Informtica
Ao2009
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
lndice
Unidad 1:lntroduccion a la Computacion.............................6
1.1Historia de la computacion..........................................................6
1.1.1Prmera Generacn..............................................................................7
1.1.2Segunda Generacn............................................................................8
1.1.3Tercera generacn............................................................................10
1.1.4Cuarta Generacn.............................................................................11
1.1.5Ounta Generacn.............................................................................12
1.2Estructura de una computadora.................................................12
1.2.1Arqutectura (eementos bscos) de una computadora.....................12
1.2.2Funconamento..................................................................................14
1.2.3Fu|o de datos.....................................................................................15
1.2.4Perfrcos y dspostvos auxares....................................................15
1.2.4.1Montor........................................................................................15
1.2.4.2Tecado.......................................................................................16
1.2.4.3Mouse (ratn)..............................................................................16
1.2.4.4Impresora....................................................................................16
1.2.4.5Escner.......................................................................................17
1.3Sistemas operativos.................................................................17
1.3.1Introduccn.......................................................................................17
1.3.2 Ou es un Sstema Operatvo ?........................................................17
1.3.3Interfaz de Lnea de Comandos..........................................................18
1.3.4Interfaz Grfca de Usuaro................................................................18
1.3.5Funcones de os Sstemas Operatvos...............................................18
1.3.6Dstntos Sstemas Operatvos............................................................19
1.3.6.1a fama Mcrosoft Wndows.......................................................19
1.3.6.2a fama GNU/Lnux....................................................................21
1.3.6.3Dstrbucones Lnux....................................................................22
1.4Suites ofimticas......................................................................23
1.4.1La sute Mcrosoft Offce.....................................................................24
1.4.1.1Word...........................................................................................24
1.4.1.2Exce...........................................................................................25
juan I. Weber 1
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
1.4.1.3PowerPont..................................................................................25
1.4.2La sute OpenOffce............................................................................25
1.4.2.1Wrter..........................................................................................26
1.4.2.2Cac ............................................................................................26
1.4.2.3Impress.......................................................................................27
1.4.2.4Math............................................................................................27
1.5Lenguajes de programacion......................................................27
1.5.1Casfcacn de os engua|es de programacn.................................28
1.5.1.1Lengua|es de ba|o nve...............................................................28
1.5.1.2Lengua|es de medo nve............................................................28
1.5.1.3Lengua|es de ato nve...............................................................28
1.5.1.4Lengua|es compados.................................................................28
1.5.1.5Lengua|es nterpretados..............................................................29
1.5.2E|empos de engua|es de programacn............................................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 nteractvo de traba|o............................................................33
2.2.2Constantes y varabes.......................................................................35
2.2.3Operacones artmtcas....................................................................36
2.2.4Operadores reaconaes.....................................................................37
2.2.5Operadores gcos.............................................................................38
2.2.6Archvos *.m.......................................................................................39
2.2.6.1Comentaros................................................................................41
2.3Entrada y salida de informacion.................................................41
2.3.1La funcn INPUT................................................................................41
2.3.2La funcn DISP..................................................................................43
2.3.3E comando FORMAT..........................................................................43
2.3.4La funcn PRINTF..............................................................................44
2.3.5Apcacn: anss de estructuras.....................................................45
2.3.5.1Soucn......................................................................................46
2.3.6E|erccos............................................................................................46
2 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
2.4lntroduccion a la programacion estructurada.............................48
2.4.1Estructuras de decsn......................................................................48
2.4.1.1Estructura de decsn smpe IF..................................................49
2.4.1.2La estructura de decsn dobe IF ... ELSE ... ENDIF....................49
2.4.1.3La estructura de decsn mtpe SWITCH.................................52
2.4.1.4La funcn MENU.........................................................................53
2.4.2Estructuras de repetcn...................................................................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.3Apcacones.......................................................................................59
2.4.3.1Apcacn 1: Ordenamento terrtora.........................................59
2.4.3.2Apcacn 2: puentes..................................................................60
2.4.4Comentaros fnaes............................................................................61
2.4.5E|erccos............................................................................................61
2.5Bibliografia...............................................................................65
Unidad 3:lntroduccion a la Programacion - parte ll............66
3.1Funciones.................................................................................66
3.1.1Funcones de bboteca......................................................................66
3.1.2Funcones defndas por e usuaro.....................................................68
3.1.3Apcacn: un e|empo de programacn paso a paso........................68
3.1.4E|erccos............................................................................................72
3.2Arreglos...................................................................................74
3.2.1Vectores.............................................................................................74
3.2.2Matrces.............................................................................................75
3.2.3Operacones matemtcas..................................................................76
3.2.4Funcones que actan sobre arregos.................................................79
3.2.5Operador dos puntos (:).....................................................................83
3.2.6Apcacones.......................................................................................85
3.2.6.1Apcacn 1: dvsn de ponomos............................................85
3.2.6.2Apcacn 2: Hdrooga...............................................................86
3.2.6.3Apcacn 3: Imgenes satetaes..............................................87
3.2.7E|erccos............................................................................................89
juan I. Weber 3
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
3.3Lectura y escritura de archivos..................................................92
3.3.1Lectura/escrtura esto Octave ..........................................................92
3.3.1.1Funcn save...............................................................................92
3.3.1.2Funcn oad................................................................................93
3.3.2Lectura/escrtura esto C...................................................................94
3.3.2.1Funcn FOPEN............................................................................94
3.3.2.2Funcn FPRINTF..........................................................................95
3.3.2.3Funcn FSCANF..........................................................................95
3.3.2.4Funcn FCLOSE..........................................................................95
3.3.3Apcacn: estudo de trnsto...........................................................96
3.3.3.1Soucn......................................................................................96
3.3.4E|erccos............................................................................................97
3.4Grficos cientificos...................................................................99
3.4.1Funcones grfcas 2D........................................................................99
3.4.1.1 La funcn pot..........................................................................100
3.4.1.2Estos de nea y marcadores en a funcn pot........................104
3.4.1.3Aadr neas a un grfco ya exstente......................................105
3.4.1.4Comando subpot......................................................................106
3.4.1.5Contro de os e|es.....................................................................107
3.4.2Funcones grfcas 3D......................................................................110
3.4.2.1Dbu|o de neas de contorno: funcn contour()........................112
3.4.2.2Campos vectoraes: funcn quver...........................................113
3.4.3Apcacn: recoeccn de resduos urbanos....................................114
3.4.3.1Soucn....................................................................................115
3.4.4E|erccos..........................................................................................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.1Mtodo de a bseccn.....................................................................121
4.2.2Mtodo de a teracn de punto f|o.................................................123
4 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
4.2.3Mtodo de Newton-Raphson.............................................................127
4.2.3.1Condcn de convergenca.......................................................130
4.2.4E|erccos..........................................................................................130
4.3Solucion de sistemas de ecuaciones lineales............................131
4.3.1Mtodo de |acob..............................................................................132
4.3.1.1Forma matrca.........................................................................133
4.3.1.2Condcn de convergenca.......................................................134
4.3.1.3E|empo de apcacn................................................................134
4.3.2Mtodo de Gauss Sede...................................................................136
4.3.2.1E|empo de apcacn................................................................137
4.3.3E|erccos..........................................................................................139
4.4Derivacion e integracion numericas.........................................140
4.4.1Dervacn numrca........................................................................140
4.4.1.1Dervadas de prmer orden........................................................141
4.4.1.2Dervadas de segundo orden.....................................................144
4.4.1.3Dervadas de tercer y cuarto orden...........................................145
4.4.1.4Propedades generaes..............................................................146
4.4.1.5E|empos...................................................................................146
4.4.1.6E|erccos...................................................................................147
4.4.2Integracn numrca.......................................................................148
4.4.2.1Rega trapezoda......................................................................148
4.4.2.2Frmua compuesta de a Rega trapezoda..............................150
4.4.2.3Rega de Smpson......................................................................152
4.4.2.4Frmua compuesta de a Rega de Smpson.............................153
4.4.2.5E|empo.....................................................................................154
4.4.2.6E|erccos...................................................................................155
4.5Bibliografia.............................................................................156
juan I. Weber 5
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
Unidad 1: lntroduccion a la Computacion
1.1 Historia de la computacion
bho de os pJ1meJos d1spos111vos mech1cos paJa coh1aJ 1ue e baco,
cuya h1s1oJ1a se Jemoh1a a as ah11guas c1v11zac1ohes gJ1ega y Jomaha.
Es1e d1spos111vo es muy sehc1o, cohs1a de cueh1as ehsaJ1adas eh vaJ1as
que a su vez es1h moh1adas eh uh maJco Jec1ahguaJ. A despazaJ as
cueh1as sobJe vaJ1as, sus pos1c1ohes JepJeseh1ah vaoJes amacehados, y
es med1ah1e d1chas pos1c1ohes que es1e JepJeseh1a y amaceha da1os. A es1e
d1spos111vo ho se e puede amaJ compu1adoJa poJ caJeceJ de eemeh1o
1uhdameh1a amado pJogJama.
01Jo de os 1hveh1os mech1cos 1ue a Pasca1ha 1hveh1ada poJ Ba1se
Pasca {1623 - 1662) de FJahc1a y a de Co111J1ed W1hem voh Le1bh1z
{1646 - 1716) de Aemah1a. Coh es1as mqu1has, os da1os se JepJeseh1abah
med1ah1e as pos1c1ohes de os ehgJahaes, y os da1os se 1h1Joduc1ah
mahuameh1e es1abec1ehdo d1chas pos1c1ohes 11haes de as Juedas, de
maheJa s1m1aJ a como eemos os hmeJos eh e cueh1ak1me1Jos de uh
au1omv1.
La pJ1meJa compu1adoJa 1ue a mqu1ha aha111ca cJeada poJ ChaJes
Babbage, pJo1esoJ ma1em11co de a bh1veJs1dad de CambJ1dge eh e s1go
XTX. La 1dea que 1uvo ChaJes Babbage sobJe uha compu1adoJa hac1 deb1do a
que a eaboJac1h de as 1abas ma1em11cas eJa uh pJoceso 1ed1oso y
pJopehso a eJJoJes. Eh 1823 e gob1eJho BJ11h1co o apoy paJa cJeaJ e
pJoyec1o de uha mqu1ha de d11eJehc1as, uh d1spos111vo mech1co paJa
e1ec1uaJ sumas Jepe11das.
h1eh1Jas 1ah1o ChaJes JacquaJd {1Jahcs), 1abJ1cah1e de 1e1dos, hab1a
cJeado uh 1eaJ que pod1a JepJoduc1J au1om11cameh1e pa1Johes de 1e1dos
eyehdo a 1h1oJmac1h cod111cada eh pa1Johes de agueJos peJ1oJados eh
1aJe1as de pape J1g1do. A eh1eJaJse de es1e m1odo Babbage abahdoh a
mqu1ha de d11eJehc1as y se ded1c a pJoyec1o de a mqu1ha aha111ca que
se pud1eJa pJogJamaJ coh 1aJe1as peJ1oJadas paJa e1ec1uaJ cuaqu1eJ
ccuo coh uha pJec1s1h de 20 d1g11os. La 1echoog1a de a poca ho
bas1aba paJa haceJ Jea1dad sus 1deas.
Eh 1944 se cohs1Juy eh a bh1veJs1dad de haJvaJd, a haJk T, d1seada
6 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
poJ uh equ1po ehcabezado poJ howaJd h. A1keh. Es1a mqu1ha ho es1
cohs1deJada como compu1adoJa eec1Jh1ca deb1do a que ho eJa de pJops11o
geheJa y su 1uhc1oham1eh1o es1aba basado eh d1spos111vos eec1Jomech1cos
amados JeevadoJes.
Eh 1947 se cohs1Juy eh a bh1veJs1dad de Pehhsyvah1a a EhTAC
{Eec1Joh1c humeJ1ca Th1egJa1oJ Ahd Cacua1oJ) que 1ue a pJ1meJa
compu1adoJa eec1Jh1ca, e equ1po de d1seo o ehcabezaJoh os 1hgeh1eJos
Johh hauchy y Johh EckeJ1. Es1a mqu1ha ocupaba 1odo uh s1aho de a
bh1veJs1dad, 1eh1a ms de 18000 1ubos de vac1o, cohsum1a 200 KW de eheJg1a
ec1J1ca y JequeJ1a 1odo uh s1s1ema de a1Je acohd1c1ohado, peJo 1eh1a a
capac1dad de Jea1zaJ c1hco m1 opeJac1ohes aJ11m11cas eh uh seguhdo.
E pJoyec1o, ausp1c1ado poJ e depaJ1ameh1o de 0e1ehsa de os Es1ados
bh1dos, cum1h dos aos despus, cuahdo se 1h1egJ a ese equ1po e
1hgeh1eJo y ma1em11co hhgaJo Johh voh heumahh {1903 - 1957). Las 1deas
de voh heumahh Jesu1aJoh 1ah 1uhdameh1aes paJa su desaJJoo pos1eJ1oJ,
que es cohs1deJado e padJe de as compu1adoJas.
La E0vAC {Eec1Joh1c 01scJe1e vaJ1abe Au1oma11c Compu1eJ) 1ue d1seada
poJ es1e huevo equ1po. Teh1a apJox1madameh1e cua1Jo m1 bubos y usaba uh
11po de memoJ1a basado eh 1ubos ehos de meJcuJ1o poJ dohde c1Jcuabah
seaes ec1J1cas sue1as 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 ehguae, y ho poJ med1o de aambJes que
ec1J1cameh1e 1h1eJcohec1abah vaJ1as secc1ohes de coh1Jo, como eh a
EhTAC.
Todo es1e desaJJoo de as compu1adoJas suee d1v1saJse poJ
geheJac1ohes y e cJ11eJ1o que se de1eJm1h paJa de1eJm1haJ e camb1o de
geheJac1h ho es1 muy b1eh de11h1do, peJo Jesu1a apaJeh1e que debeh
cump1Jse a mehos os s1gu1eh1es Jequ1s11os.
La 1oJma eh que es1h cohs1Ju1das.
FoJma eh que e seJ humaho se comuh1ca coh eas.
1.1.1 Prmera Generacn
Eh es1a geheJac1h hab1a uha gJah descohoc1m1eh1o de as capac1dades de
as compu1adoJas, pues1o que se Jea1z uh es1ud1o eh es1a poca que
de1eJm1h que coh ve1h1e compu1adoJas se sa1uJaJ1a e meJcado de os
juan I. Weber 7
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
Es1ados bh1dos eh e campo de pJocesam1eh1o de da1os.
Es1a geheJac1h abaJc a dcada de os c1hcueh1a. Y se cohoce como a
pJ1meJa geheJac1h. Es1as mqu1has 1eh1ah as s1gu1eh1es caJac1eJ1s11cas.
Es1as mqu1has es1abah cohs1Ju1das poJ med1o de 1ubos de vac1o.
EJah pJogJamadas eh ehguae de mqu1ha.
Eh es1a geheJac1h as mqu1has soh gJahdes y cos1osas {de uh cos1o
apJox1mado de c1eh1os de m1es de daJes).
Eh 1951 apaJece a bhTvAC {bhTveJsA Compu1eJ), 1ue a pJ1meJa
compu1adoJa comeJc1a, que d1spoh1a de m1 paabJas de memoJ1a ceh1Ja y
pod1ah eeJ c1h1as magh11cas, se u111z paJa pJocesaJ e cehso de 1950
eh os Es1ados bh1dos.
Eh as dos pJ1meJas geheJac1ohes, as uh1dades de eh1Jada u111zabah
1aJe1as peJ1oJadas, Je1omadas poJ heJmah hoeJ11h {1860 - 1929), qu1eh
adems 1uhd uha compa1a que coh e paso de 11empo se cohoceJ1a como TBh
{Th1eJha11oha Buss1hes hach1hes).
0espus se desaJJo poJ TBh a TBh 701 de a cua se eh1JegaJoh 18
uh1dades eh1Je 1953 y 1957.
Pos1eJ1oJmeh1e, a compa1a Rem1hg1oh Rahd 1abJ1c e modeo 1103, que
compe11a coh a 701 eh e campo c1eh1111co, poJ o que a TBh desaJJoo
a 702, a cua pJeseh1 pJobemas eh memoJ1a, deb1do a es1o ho duJ eh e
meJcado.
La compu1adoJa ms ex11osa de a pJ1meJa geheJac1h 1ue a TBh 650, de
a cua se pJodueJoh vaJ1os c1eh1os. Es1a compu1adoJa que usaba uh
esquema de memoJ1a secuhdaJ1a amado 1amboJ magh11co, que es e
ah1ecesoJ de os d1scos ac1uaes.
01Jos modeos de compu1adoJa que se puedeh s11uaJ eh os 1h1c1os de a
seguhda geheJac1h soh. a bhTvAC 80 y 90, as TBh 704 y 709, BuJJoughs
220 y bhTvAC 1105.
1.1.2 Segunda Generacn
CeJca de a dcada de 1960, as compu1adoJas segu1ah evouc1ohahdo, se
Jeduc1a su 1amao y cJec1a su capac1dad de pJocesam1eh1o. Tamb1h eh es1a
poca se empez a de11h1J a 1oJma de comuh1caJse coh as compu1adoJas,
que Jec1b1a e hombJe de pJogJamac1h de s1s1emas.
8 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
Las caJac1eJ1s11cas de a seguhda geheJac1h soh as s1gu1eh1es.
Es1h cohs1Ju1das coh c1Jcu11os de 1Jahs1s1oJes.
Se pJogJamah eh huevos ehguaes amados ehguaes de a1o h1ve.
Eh es1a geheJac1h as compu1adoJas se Jeduceh de 1amao y soh de mehoJ
cos1o. ApaJeceh muchas compa1as y as compu1adoJas eJah bas1ah1e
avahzadas paJa su poca como a seJ1e 5000 de BuJJoughs y a ATLAS de a
bh1veJs1dad de hahches1eJ.
Aguhas de es1as compu1adoJas se pJogJamabah coh c1h1as peJ1oJadas y
o1Jas ms poJ med1o de cabeado eh uh 1abeJo. Los pJogJamas eJah hechos a
a med1da poJ uh equ1po de expeJ1os. aha1s1as, d1seadoJes, pJogJamadoJes
y opeJadoJes que se maheabah como uha oJques1a paJa JesoveJ os
pJobemas y ccuos so1c11ados poJ a adm1h1s1Jac1h. E usuaJ1o 11ha
de a 1h1oJmac1h ho 1eh1a coh1ac1o d1Jec1o coh as compu1adoJas. Es1a
s11uac1h eh uh pJ1hc1p1o se pJoduo eh as pJ1meJas compu1adoJas
peJsohaes, pues se JequeJ1a sabeJas "pJogJamaJ" {a1meh1aJe
1hs1Jucc1ohes) paJa ob1eheJ Jesu1ados, poJ o 1ah1o su uso es1aba
1m11ado a aqueos audaces p1oheJos que gus1aJah de pasaJ uh bueh hmeJo
de hoJas escJ1b1ehdo 1hs1Jucc1ohes, "coJJ1ehdo" e pJogJama Jesu1ah1e y
veJ111cahdo y coJJ1g1ehdo os eJJoJes o bugs que apaJec1eJah. Adems, paJa
ho peJdeJ e "pJogJama" Jesu1ah1e hab1a que "guaJdaJo" {amacehaJo) eh
uha gJabadoJa de case11e, pues eh esa poca ho hab1a d1scos 1ex1bes y
mucho mehos d1scos duJos paJa as PC, es1e pJoced1m1eh1o pod1a 1omaJ de 10
a 45 m1hu1os, segh e pJogJama. E pahoJama se mod111c 1o1ameh1e coh a
apaJ1c1h de as compu1adoJas peJsohaes coh meoJes c1Jcu11os, ms
memoJ1a, uh1dades de d1sco 1ex1be y sobJe 1odo coh a apaJ1c1h de
pJogJamas de ap1cac1h geheJa eh dohde e usuaJ1o compJa e pJogJama y
se pohe a 1JabaaJ. ApaJeceh os pJogJamas pJocesadoJes de 1ex1o como e
cebJe WoJd S1aJ, a 1mpJes1ohah1e hoa de ccuo {spJeadshee1) v1s1cac
y o1Jos ms que de a hoche a a maaha camb1ah a 1mageh de a PC. E
so11waJe emp1eza a 1Ja1aJ de acahzaJ e paso de haJdwaJe. PeJo aqu1
apaJece uh huevo eemeh1o. e usuaJ1o.
E usuaJ1o de as compu1adoJas va camb1ahdo y evouc1ohahdo coh e
11empo. 0e es1aJ 1o1ameh1e descohec1ado a eas eh as mqu1has gJahdes
pasa a PC a seJ p1eza cave eh e d1seo 1ah1o de haJdwaJe como de
so11waJe. ApaJece e cohcep1o de humah 1h1eJ1ace que es a Jeac1h eh1Je
e usuaJ1o y su compu1adoJa. Se haba eh1ohces de haJdwaJe eJgohm1co
{adap1ado a as d1mehs1ohes humahas paJa Jeduc1J e cahsahc1o), d1seos de
pah1aas ah11JJe1eos y 1ecados que descahseh a mueca. Coh Jespec1o
a so11waJe se 1h1c1a uha veJdadeJa caJJeJa paJa ehcoh1JaJ a maheJa eh
que e usuaJ1o pase mehos 11empo capac11hdose y eh1Jehhdose y ms 11empo
pJoduc1ehdo. Se poheh a acahce pJogJamas coh mehs {1s1as de opc1ohes)
que oJ1eh1ah eh 1odo momeh1o a usuaJ1o {coh e cohs1gu1eh1e abuJJ1m1eh1o
de os usuaJ1os expeJ1os), o1Jos pJogJamas o1Jeceh 1oda uha aJ11eJ1a de
1ecas de coh1Jo y 1ecas de 1uhc1ohes {a1aos) paJa e1ec1uaJ 1oda sueJ1e
de e1ec1os eh e 1Jabao {coh a cohs1gu1eh1e desoJ1eh1ac1h de os
usuaJ1os hova1os). Se o1Jeceh uh s1hhmeJo de cuJsos pJome11ehdo que eh
pocas semahas haceh de cuaqu1eJ peJsoha uh expeJ1o eh os pJogJamas
comeJc1aes. PeJo e pJobema "cohs1ah1e" es que h1hguha souc1h paJa e
juan I. Weber 9
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
uso de os pJogJamas es "cohs1ah1e". Cada huevo pJogJama Jequ1eJe apJehdeJ
huevos coh1Joes, huevos 1Jucos, huevos mehs. Se emp1eza a seh11J que a
Jeac1h usuaJ1o-PC ho es1 acoJde coh os desaJJoos de equ1po y de a
po1ehc1a de os pJogJamas. hace 1a1a uha Jeac1h am1s1osa eh1Je e
usuaJ1o y a PC.
Las compu1adoJas de es1a geheJac1h 1ueJoh. a Ph1co 212 {es1a compa1a
se Je11J de meJcado eh 1964) y a bhTvAC h460, a Coh1Jo 0a1a
CoJpoJa11oh modeo 1604, segu1da poJ a seJ1e 3000, a TBh meoJ a 709 y
sac a meJcado a 7090, a ha11oha Cash Reg1s1eJ empez a pJoduc1J
mqu1has paJa pJoceso de da1os de 11po comeJc1a, 1h1Joduo e modeo hCR
315.
La Rad1o CoJpoJa11oh o1 AmeJ1ca 1h1Joduo e modeo 501, que maheaba e
ehguae C0B0L, paJa pJocesos adm1h1s1Ja11vos y comeJc1aes. 0espus sa1
a meJcado a RCA 601.
1.1.3 Tercera generacn
Coh os pJogJesos de a eec1Jh1ca y os avahces de comuh1cac1h coh
as compu1adoJas eh a dcada de os 1960, suJge a 1eJceJa geheJac1h de
as compu1adoJas. Se 1hauguJa coh a TBh 360 eh abJ1 de 1964.
Las caJac1eJ1s11cas de es1a geheJac1h 1ueJoh as s1gu1eh1es.
Su 1abJ1cac1h eec1Jh1ca es1a basada eh c1Jcu11os 1h1egJados.
Su maheo es poJ med1o de os ehguaes de coh1Jo de os s1s1emas
opeJa11vos.
La TBh pJoduce a seJ1e 360 coh os modeos 20, 22, 30, 40, 50, 65, 67,
75, 85, 90, 195 que u111zabah 1ch1cas espec1aes de pJocesadoJ,
uh1dades de c1h1a de hueve cahaes, paque1es de d1scos magh11cos y o1Jas
caJac1eJ1s11cas que ahoJa soh es1hdaJes {ho 1odos os modeos usabah
es1as 1ch1cas, s1ho que es1aba d1v1d1do poJ ap1cac1ohes).
E s1s1ema opeJa11vo de a seJ1e 360, se am 0S que coh1aba coh vaJ1as
coh11guJac1ohes, 1hcu1a uh cohuh1o de 1ch1cas de maheo de memoJ1a y
de pJocesadoJ que pJoh1o se cohv1J11eJoh eh es1hdaJes.
Eh 1964 C0C 1h1Joduo a seJ1e 6000 coh a compu1adoJa 6600 que se
cohs1deJ duJah1e aguhos aos como a ms Jp1da.
Eh a dcada de 1970, a TBh pJoduce a seJ1e 370 {modeos 115, 125,
135, 145, 158, 168). bhTvAC comp11e soh os modeos 1108 y 1110, mqu1has
eh gJah escaa, m1eh1Jas que C0C pJoduce su seJ1e 7000 coh e modeo 7600.
Es1as compu1adoJas se caJac1eJ1zah poJ seJ muy po1eh1es y veoces.
A 11haes de es1a dcada a TBh de su seJ1e 370 pJoduce os modeos
3031, 3033, 4341. BuJJoughs coh su seJ1e 6000 pJoduce os modeos 6500 y
6700 de avahzado d1seo, que se JeempazaJoh poJ su seJ1e 7000. hohey -
We paJ11c1pa coh su compu1adoJa 0PS coh vaJ1os modeos.
A med1ados de a dcada de 1970, apaJeceh eh e meJcado as compu1adoJas
de 1amao med1aho, o m1h1compu1adoJas que ho soh 1ah cos1osas como as
gJahdes {amadas 1amb1h como ma1h1James que s1gh111ca 1amb1h, gJah
s1s1ema), peJo d1spoheh de gJah capac1dad de pJocesam1eh1o. Aguhas
10 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
m1h1compu1adoJas 1ueJoh as s1gu1eh1es. a P0P - 8 y a P0P - 11 de
01g11a Equ1pmeh1 CoJpoJa11oh, a vAX {v1J1ua AddJess eX1ehded) de a
m1sma compa1a, os modeos h0vA y ECLTPSE de 0a1a CeheJa, a seJ1e 3000
y 9000 de hewe11 - PackaJd coh vaJ1os modeos e 36 y e 34, a Wahg y
hohey - We -Bu, S1emehs de oJ1geh aemh, a TCL 1abJ1cada eh
Thga1eJJa. Eh a bh1h Sov111ca se u111z a bS {S1s1ema bh111cado,
Ryad) que ha pasado poJ vaJ1as geheJac1ohes.
1.1.4 Cuarta Generacn
Aqu1 apaJeceh os m1cJopJocesadoJes que es uh gJah adeah1o de a
m1cJoeec1Jh1ca, soh c1Jcu11os 1h1egJados de a1a dehs1dad y coh uha
veoc1dad 1mpJes1ohah1e. Las m1cJocompu1adoJas coh base eh es1os c1Jcu11os
soh ex1Jemadameh1e pequeas y baJa1as, poJ o que su uso se ex11ehde a
meJcado 1hdus1J1a. Aqu1 haceh as compu1adoJas peJsohaes que hah
adqu1J1do pJopoJc1ohes ehoJmes y que hah 1h1u1do eh a soc1edad eh
geheJa sobJe a amada "Jevouc1h 1h1oJm11ca".
Eh 1976 S1eve Wozh1ak y S1eve Jobs 1hveh1ah a pJ1meJa m1cJocompu1adoJa
de uso mas1vo y ms 1aJde 1oJmah a compa1a cohoc1da como a Appe que
1ue a seguhda compa1a ms gJahde de muhdo, ah1eced1da 1ah soo poJ TBh,
y es1a poJ su paJ1e es ah de as c1hco compa1as ms gJahdes de muhdo.
Eh 1981 se vehd1eJoh 80.000 compu1adoJas peJsohaes, a s1gu1eh1e sub1
a 1.400.000. Eh1Je 1984 y 1987 se vehd1eJoh aJededoJ de 60 m1ohes de
compu1adoJas peJsohaes, poJ o que ho queda duda que su 1mpac1o y
pehe1Jac1h hah s1do ehoJmes.
Coh e suJg1m1eh1o de as compu1adoJas peJsohaes, e so11waJe y os
s1s1emas que coh eas de maheah hah 1eh1do uh cohs1deJabe avahce,
poJque hah hecho ms 1h1eJac11va a comuh1cac1h coh e usuaJ1o. SuJgeh
o1Jas ap1cac1ohes como os pJocesadoJes de 1ex1o, as pah1as de
ccuo, paque1es gJ11cos, e1c. Tamb1h as 1hdus1J1as de So11waJe de
as compu1adoJas peJsohaes cJece coh gJah Jap1dez, CaJy K1da y W11am
Ca1es se ded1caJoh duJah1e aos a a cJeac1h de s1s1emas opeJa11vos y
m1odos paJa ogJaJ uha u111zac1h sehc1a 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 coh11hah eh desaJJoo. 0e hecho as mqu1has pequeas
juan I. Weber 11
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
Jebasabah poJ mucho a capac1dad de os gJahdes s1s1emas de 10 o 15 aos
ah1es, que JequeJ1ah de 1hs1aac1ohes cos1osas y espec1aes, peJo seJ1a
equ1vocado supoheJ que as gJahdes compu1adoJas hah desapaJec1do, poJ e
coh1JaJ1o, su pJesehc1a eJa ya 1heud1be eh pJc11cameh1e 1odas as
es1eJas de coh1Jo gubeJhameh1a, m111aJ y de a gJah 1hdus1J1a. Las
ehoJmes compu1adoJas de as seJ1es C0C, CRAY, h11ach1 o TBh poJ eempo,
eJah capaces de a1ehdeJ a vaJ1os c1eh1os de m1ohes de opeJac1ohes poJ
seguhdo.
1.1.5 Ounta Generacn
Eh v1s1a de a aceeJada maJcha de a m1cJoeec1Jh1ca, a soc1edad
1hdus1J1a se ha dado a a 1aJea de poheJ 1amb1h a esa a1uJa e
desaJJoo de so11waJe y os s1s1emas coh que se maheah as
compu1adoJas. SuJge a compe1ehc1a 1h1eJhac1oha poJ e dom1h1o de
meJcado de a compu1ac1h, eh a que se peJ11ah dos 1deJes que, s1h
embaJgo, ho hah pod1do acahzaJ e h1ve que se desea. a capac1dad de
comuh1caJse coh a compu1adoJa eh uh ehguae ms co11d1aho y ho a 1Javs
de cd1gos o ehguaes de coh1Jo espec1a1zados.
Japh ahz eh 1983 e amado "pJogJama de a qu1h1a geheJac1h de
compu1adoJas", coh os obe11vos exp1c11os de pJoduc1J mqu1has coh
1hhovac1ohes Jeaes eh os cJ11eJ1os mehc1ohados. Y eh os Es1ados bh1dos
ya es1 eh ac11v1dad uh pJogJama eh desaJJoo que peJs1gue obe11vos
semeah1es, que puedeh Jesum1Jse de a s1gu1eh1e maheJa.
PJocesam1eh1o eh paJaeo med1ah1e aJqu11ec1uJas y d1seos espec1aes y
c1Jcu11os de gJah veoc1dad.
haheo de ehguae ha1uJa y s1s1emas de 1h1e1gehc1a aJ1111c1a.
E 1u1uJo pJev1s1be de a compu1ac1h es muy 1h1eJesah1e, y se puede
espeJaJ que es1a c1ehc1a s1ga s1ehdo obe1o de a1ehc1h pJ1oJ11aJ1a de
gob1eJhos y de a soc1edad eh cohuh1o.
1.2 Estructura de una computadora
bha compu1adoJa {de a11h compu1aJe -cacuaJ-), 1amb1h dehom1hada
como oJdehadoJ o compu1adoJ es uh s1s1ema d1g11a coh 1echoog1a
m1cJoeec1Jh1ca, capaz de Jec1b1J y pJocesaJ da1os a paJ11J de uh gJupo
de 1hs1Jucc1ohes dehom1hadas pJogJamas, y 11hameh1e 1Jahs1eJ1J a
1h1oJmac1h pJocesada o guaJdaJa eh agh 11po de d1spos111vo o uh1dad de
amaceham1eh1o.
La caJac1eJ1s11ca pJ1hc1pa que a d1s11hgue de o1Jos d1spos111vos
s1m1aJes, como uha cacuadoJa ho pJogJamabe, es que puede Jea1zaJ
1aJeas muy d1veJsas caJgahdo d1s11h1os pJogJamas eh a memoJ1a paJa que e
pJocesadoJ os eecu1e.
1.2.1 Arqutectura (eementos bscos) de una computadora
Auhque as 1echoog1as empeadas eh as compu1adoJas d1g11aes hah
camb1ado mucho desde que apaJec1eJoh os pJ1meJos modeos eh os aos 40,
12 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
a mayoJ1a 1odav1a u111za a aJqu11ec1uJa EckeJ1-hauchy, pub1cada a
pJ1hc1p1os de os aos 1940 poJ Johh voh heumahh peJo que 1ue cJeada poJ
Johh PJespeJ EckeJ1 y Johh W11am hauchy.
La aJqu11ec1uJa EckeJ1-hauchy descJ1be uha compu1adoJa coh 4 secc1ohes
pJ1hc1paes. a uh1dad g1ca y aJ11m11ca {ALb), a uh1dad de coh1Jo, a
memoJ1a, y os d1spos111vos de eh1Jada y sa1da {E/S). Es1as paJ1es es1h
1h1eJcohec1adas poJ uh cohuh1o de cabes dehom1hados buses.
La memoJ1a es uha secuehc1a de cedas de amaceham1eh1o humeJadas, dohde
cada uha es uh b11 o uh1dad de 1h1oJmac1h. La 1hs1Jucc1h es a
1h1oJmac1h hecesaJ1a paJa Jea1zaJ o que se desea coh e compu1adoJ.
Las cedas coh11eheh da1os que se heces11ah paJa evaJ a cabo as
1hs1Jucc1ohes, coh e compu1adoJ. E hmeJo de cedas vaJ1ah mucho de
compu1adoJ a compu1adoJ, y as 1echoog1as empeadas paJa a memoJ1a hah
camb1ado bas1ah1e, vah desde os Jes eec1Jomech1cos, 1ubos ehos de
meJcuJ1o eh os que se 1oJmabah os pusos acs11cos, ma1J1ces de 1mahes
peJmaheh1es, 1Jahs1s1oJes 1hd1v1duaes a c1Jcu11os 1h1egJados coh
m1ohes de cedas eh uh soo ch1p. Eh geheJa, a memoJ1a puede seJ
JeescJ11a vaJ1os m1ohes de veces {memoJ1a RAh), se paJece ms a uha
p1zaJJa que a uha p1da {memoJ1a R0h) que so puede seJ escJ11a uha
vez.
E pJocesadoJ {1amb1h amado bh1dad ceh1Ja de pJocesam1eh1o o CPb)
cohs1a de.
La uh1dad g1ca y aJ11m11ca o ALb es e d1spos111vo d1seado y
cohs1Ju1do paJa evaJ a cabo as opeJac1ohes eemeh1aes como as
opeJac1ohes aJ11m11cas {suma, Jes1a), opeJac1ohes g1cas {Y, 0,
h0), y opeJac1ohes de compaJac1h o Jeac1ohaes. Eh es1a uh1dad
es eh dohde se hace 1odo e 1Jabao compu1ac1oha.
La uh1dad de coh1Jo s1gue a d1Jecc1h de as pos1c1ohes eh
memoJ1a que coh11eheh a 1hs1Jucc1h que e compu1adoJ va a
Jea1zaJ eh ese momeh1o, JecupeJa a 1h1oJmac1h poh1hdoa eh a
ALb paJa a opeJac1h que debe desaJJoaJ. TJahs11eJe uego e
Jesu1ado a ub1cac1ohes apJop1adas eh a memoJ1a. bha vez que
ocuJJe o ah1eJ1oJ, a uh1dad de coh1Jo va a a s1gu1eh1e
1hs1Jucc1h {hoJmameh1e s11uada eh a s1gu1eh1e pos1c1h, a mehos
que a 1hs1Jucc1h sea uha 1hs1Jucc1h de sa1o, 1h1oJmahdo a a
juan I. Weber 13
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
compu1adoJa de que a pJx1ma 1hs1Jucc1h es1aJ ub1cada eh o1Ja
pos1c1h de a memoJ1a).
Los d1spos111vos E/S s1Jveh a a compu1adoJa paJa ob1eheJ 1h1oJmac1h
de muhdo ex1eJ1oJ y devoveJ os Jesu1ados de d1cha 1h1oJmac1h. hay
uha gama muy ex1ehsa de d1spos111vos E/S como os 1ecados, moh11oJes,
y uh1dades de d1sco 1ex1be o as cmaJas web.
1.2.2 Funconamento
Las 1hs1Jucc1ohes que se eecu1ah eh uha compu1adoJa, ho soh as J1cas
1hs1Jucc1ohes de seJ humaho. bha compu1adoJa so se d1sea coh uh hmeJo
1m11ado de 1hs1Jucc1ohes b1eh de11h1das. Los 11pos de 1hs1Jucc1ohes
11p1cas Jea1zadas poJ a mayoJ1a de as compu1adoJas soh como es1os
eempos.
- Copia los contenidos de la posicin de memoria 123
- Coloca la copia en la posicin 456
- Aade los contenidos de la posicin 666 a la 042
- Coloca el resultado en la posicin 013
- Si los contenidos de la posicin 999 son 0
- Tu prxima instruccin est en la posicin 345
Las 1hs1Jucc1ohes deh1Jo de compu1adoJ se JepJeseh1ah med1ah1e hmeJos.
PoJ eempo, e cd1go paJa cop1aJ puede seJ 001. E cohuh1o de
1hs1Jucc1ohes que puede Jea1zaJ uha compu1adoJa se cohoce como ehguae
de mqu1ha o cd1go mqu1ha. Eh a pJc11ca, ho se escJ1beh as
1hs1Jucc1ohes paJa os compu1adoJes d1Jec1ameh1e eh ehguae de mqu1ha,
s1ho que se usa uh ehguae de pJogJamac1h de a1o h1ve que se 1Jaduce
despus a ehguae de a mqu1ha au1om11cameh1e, a 1Javs de pJogJamas
espec1aes de 1Jaducc1h {1h1JpJe1es y comp1adoJes). Aguhos ehguaes
de pJogJamac1h JepJeseh1ah de maheJa muy d1Jec1a e ehguae de mqu1ha,
como e Lehguae ehsambadoJ {ehguaes de bao h1ve) y, poJ o1Ja paJ1e,
os ehguaes como Java, se basah eh pJ1hc1p1os abs1Jac1os muy aeados de
os que hace a mqu1ha eh cohcJe1o {ehguaes de a1o h1ve).
PoJ o 1ah1o, e 1uhc1oham1eh1o de uha compu1adoJa es eh pJ1hc1p1o
bas1ah1e sehc1o. E compu1adoJ 1Jae as 1hs1Jucc1ohes y os da1os de a
memoJ1a. Se eecu1ah as 1hs1Jucc1ohes, se amacehah os da1os y se va a
poJ a s1gu1eh1e 1hs1Jucc1h. Es1e pJoced1m1eh1o se Jep11e coh11huameh1e,
has1a que se apaga e compu1adoJ. Los PJogJamas de oJdehadoJ {so11waJe)
soh s1mpemeh1e aJgas 1s1as de 1hs1Jucc1ohes que debe eecu1aJ e
compu1adoJ, a veces coh 1abas de da1os. huchos pJogJamas de compu1adoJ
coh11eheh m1ohes de 1hs1Jucc1ohes que se eecu1ah a gJah veoc1dad, uha
compu1adoJa peJsoha modeJho {eh e ao 2003) puede eecu1aJ de 2000 a
3000 m1ohes de 1hs1Jucc1ohes poJ seguhdo. Las capac1dades
ex1JaoJd1haJ1as que 11eheh os compu1adoJes ho se debeh a su hab11dad
paJa eecu1aJ 1hs1Jucc1ohes compeas. Los compu1adoJes eecu1ah m1ohes
de 1hs1Jucc1ohes s1mpes d1seadas poJ pJogJamadoJes. hay pJogJamadoJes
que desaJJoah gJupos de 1hs1Jucc1ohes paJa haceJ 1aJeas comuhes {poJ
eempo, d1buaJ uh puh1o eh a pah1aa) y uego poheh d1chos gJupos de
1hs1Jucc1ohes a d1spos1c1h de o1Jos pJogJamadoJes paJa que es1os eaboJeh
14 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
1uhc1ohes o 1aJeas ms compeas.
1.2.3 Fu|o de datos
E mapa cohcep1ua mues1Ja, eh 1oJma bs1ca, como 1uhc1oha e 1uo de
os da1os eh uha compu1adoJa, paJa uego cohveJ11Jse eh 1h1oJmac1h 11
paJa e usuaJ1o. Podemos ho1aJ que os da1os comhmeh1e 1uyeh segh es1a
secuehc1a.
Ex1s1e 1amb1h a eh1Jada de da1os d1Jec1ameh1e a a RAh, s1h a
1h1eJvehc1h pJev1a de m1cJopJocesadoJ, es1e modo de acceso se dehom1ha
Acceso 01Jec1o a hemoJ1a. La memoJ1a RAh es1 eh cohs1ah1e comuh1cac1h
coh e m1cJopJocesadoJ {eh e d1agJama, pJocesam1eh1o), de 1oJma mucho ms
Jp1da que cuaqu1eJ o1Jo d1spos111vo de amaceham1eh1o. F1hameh1e a
1h1oJmac1h {os da1os pJocesados) es amacehada eh agh d1sco, o b1eh,
sae d1Jec1ameh1e de 1oJma ahag1ca o d1g11a de a compu1adoJa, ya sea
hac1a e moh11oJ, os a1avoces a 1mpJesoJa o cuaqu1eJ o1Jo d1spos111vo
que Jec1ba y pJoyec1e a 1h1oJmac1h.
1.2.4 Perfrcos y dspostvos auxares
v1s1a expahd1da de uha compu1adoJa peJsoha {pg1ha s1gu1eh1e).
1. hoh11oJ 2.- Paca base 3. PJocesadoJ 4. PueJ1os ATA 5. hemoJ1a
pJ1hc1pa {RAh) 6. Pacas de expahs1h 7. Fueh1e ec1J1ca 8. bh1dad de
amaceham1eh1o p11co 9. 01sco duJo 10. Tecado 11. house
1.2.4.1 Monitor
E moh11oJ o pah1aa de compu1adoJa, es uh d1spos111vo de sa1da que,
med1ah1e uha 1h1eJ1az, mues1Ja os Jesu1ados de pJocesam1eh1o de uha
compu1adoJa.
1.2.4.2 Teclado
bh 1ecado de compu1adoJa {oJdehadoJ) es uh peJ11J1co, 11s1co o v1J1ua
juan I. Weber 15
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
{poJ eempo 1ecados eh pah1aa o 1ecados seJ), u111zado paJa a
1h1Joducc1h de Jdehes y da1os eh uha compu1adoJa. T1ehe su oJ1geh eh os
1ee11pos y as mqu1has de escJ1b1J ec1J1cas, que se u111zaJoh como
os 1ecados de os pJ1meJos oJdehadoJes y d1spos111vos de amaceham1eh1o
{gJabadoJas de c1h1a de pape y 1aJe1as peJ1oJadas). Auhque 11s1cameh1e
hay uha m1J1ada de 1oJmas, se sueeh cas111caJ pJ1hc1pameh1e poJ a
d1s1J1buc1h de 1ecado de su zoha a1ahumJ1ca, pues savo casos muy
espec1aes es comh a 1odos os d1spos111vos y 1abJ1cah1es {1hcuso paJa
1ecados Jabes y apoheses).
1.2.4.3 Mouse (ratn)
E mouse {de 1hgs, pJohuhc1ado | ma s ]) o Ja1h es uh peJ11J1co de
compu1adoJa de uso mahua, geheJameh1e 1abJ1cado eh ps11co, u111zado
como eh1Jada o coh1Jo de da1os. Se u111za coh uha de as dos mahos de
usuaJ1o y de1ec1a su mov1m1eh1o Jea11vo eh dos d1mehs1ohes poJ a
supeJ11c1e hoJ1zoh1a eh a que se apoya, Je1ehdose hab11uameh1e a
1Javs de uh puh1eJo o 1echa eh e moh11oJ.
1.2.4.4 Impresora
bha 1mpJesoJa es uh peJ11J1co de compu1adoJa que peJm11e pJoduc1J uha
cop1a peJmaheh1e de 1ex1os o gJ11cos de documeh1os amacehados eh 1oJma1o
eec1Jh1co, 1mpJ1m1hdoos eh med1os 11s1cos, hoJmameh1e eh pape o
1JahspaJehc1as, u111zahdo caJ1uchos de 11h1a o 1echoog1a seJ. huchas
1mpJesoJas soh usadas como peJ11J1cos, y es1h peJmaheh1emeh1e uh1das a
a compu1adoJa poJ uh cabe. 01Jas 1mpJesoJas, amadas 1mpJesoJas de Jed,
11eheh uh 1h1eJ1az de Jed 1h1eJho {11p1cameh1e w1Jeess o E1heJhe1), y que
puede seJv1J como uh d1spos111vo paJa 1mpJ1m1J eh pape agh documeh1o
paJa cuaqu1eJ usuaJ1o de a Jed.
16 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
1.2.4.5 Escner
Eh 1h1oJm11ca, uh escheJ {de 1d1oma 1hgs. scahheJ) es uh peJ11J1co
que se u111za paJa cohveJ11J, med1ah1e e uso de a uz, 1mgehes
1mpJesas a 1oJma1o d1g11a.
1.3 Sistemas operativos
1.3.1 Introduccn
S1h e so11waJe, uha compu1adoJa ho es ms que uha masa me11ca s1h
u111dad. Coh e so11waJe, uha compu1adoJa puede amacehaJ, pJocesaJ y
JecupeJaJ 1h1oJmac1h, ehcoh1JaJ eJJoJes de oJ1ogJa11a eh mahuscJ11os,
1eheJ aveh1uJas e 1h1eJveh1J eh muchas o1Jas va1osas ac11v1dades paJa
gahaJ e sus1eh1o. E so11waJe paJa compu1adoJas puede cas111caJse eh
geheJa eh dos cases. os pJogJamas de s1s1ema, que coh1Joah a
opeJac1h de a compu1adoJa eh s1 y os pJogJamas de ap1cac1h, os
cuaes Jesueveh pJobemas paJa sus usuaJ1os. E pJogJama 1uhdameh1a de
1odos os pJogJamas de s1s1ema es e s1s1ema opeJa11vo {S0), que coh1Joa
1odos os JecuJsos de a compu1adoJa y pJopoJc1oha a base sobJe a cua
puedeh escJ1b1Jse os pJogJamas de ap1cac1h.
1.3.2 Ou es un Sstema Operatvo ?
0esde su cJeac1h, as compu1adoJas d1g11aes hah u111zado uh s1s1ema
de cod111cac1h de 1hs1Jucc1ohes eh s1s1ema de humeJac1h 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
aos), os s1s1emas opeJa11vos ho ex1s11ah y a 1h1Joducc1h de uh
pJogJama paJa seJ eecu1ado se cohveJ11a eh uh 1hcJe1be es1ueJzo que soo
pod1a seJ evado a cabo poJ muy pocos expeJ1os. Es1o hac1a que as
compu1adoJas 1ueJah muy comp1cadas de usaJ y que se Jequ1J1eJa 1eheJ
a1os cohoc1m1eh1os 1ch1cos paJa opeJaJas. EJa 1ah compeo su maheo,
que eh aguhos casos e Jesu1ado egaba a seJ desas1Joso.
Adems, e 11empo JequeJ1do paJa 1h1Joduc1J uh pJogJama eh aqueas
gJahdes mqu1has de eh1o pJoceso supeJaba poJ mucho e de eecuc1h y
Jesu1aba poco pJovechosa a u111zac1h de compu1adoJas paJa Jesouc1h
de pJobemas pJc11cos.
Se buscaJoh med1os ms eaboJados paJa mah1puaJ a compu1adoJa, peJo
que a su vez s1mp111caJah 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, ehguae y opeJac1h b1eh de11h1do paJa haceJ
uh veJdadeJo uso y expo1ac1h de s1a. SuJgeh os s1s1emas opeJa11vos.
bh s1s1ema opeJa11vo es e ehcaJgado de bJ1hdaJ a usuaJ1o uha 1oJma
am1gabe y sehc1a de opeJaJ, 1h1eJpJe1aJ, cod111caJ y em111J as oJdehes
a pJocesadoJ ceh1Ja paJa que es1e Jea1ce as 1aJeas hecesaJ1as y
espec111cas paJa compe1aJ uha oJdeh.
juan I. Weber 17
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
E s1s1ema opeJa11vo, es e 1hs1Jumeh1o 1hd1spehsabe paJa haceJ de a
compu1adoJa uh obe1o 11. Bao es1e hombJe se agJupah 1odos aqueos
pJogJamas que peJm11eh a os usuaJ1os a u111zac1h de es1e ehJedo de
cabes y c1Jcu11os, que de o1Ja maheJa seJ1ah d111c1es de coh1JoaJ. bh
s1s1ema opeJa11vo se de11he como uh cohuh1o de pJoced1m1eh1os mahuaes y
au1om11cos, que peJm11eh a uh gJupo de usuaJ1os compaJ11J uha 1hs1aac1h
de compu1adoJa e11cazmeh1e.
1.3.3 Interfaz de Lnea de Comandos.
La 1oJma de 1h1eJ1az eh1Je e s1s1ema opeJa11vo y e usuaJ1o eh a que
es1e escJ1be os comahdos u111zahdo uh ehguae de comahdos espec1a. Los
s1s1emas coh 1h1eJ1aces de 1heas de comahdos se cohs1deJah ms d111c1es
de apJehdeJ y u111zaJ que os de as 1h1eJ1aces gJ11cas. S1h embaJgo,
os s1s1emas basados eh comahdos soh poJ o geheJa pJogJamabes, o que
es o1oJga uha 1ex1b11dad que ho 11eheh os s1s1emas basados eh gJ11cos
caJeh1es de uha 1h1eJ1az de pJogJamac1h.
1.3.4 Interfaz Grfca de Usuaro.
Es e 11po de v1sua1zac1h que peJm11e a usuaJ1o eeg1J comahdos,
1h1c1aJ pJogJamas y veJ 1s1as de aJch1vos y o1Jas opc1ohes u111zahdo as
JepJeseh1ac1ohes v1suaes {1cohos) y as 1s1as de eemeh1os de meh. Las
seecc1ohes puedeh ac11vaJse b1eh a 1Javs de 1ecado o coh e mouse.
PaJa os au1oJes de ap1cac1ohes, as 1h1eJ1aces gJ11cas de usuaJ1o
o1Jeceh uh eh1oJho que se ehcaJga de a comuh1cac1h coh e oJdehadoJ o
compu1adoJa. Es1o hace que e pJogJamadoJ pueda cohceh1JaJse eh a
1uhc1oha1dad, ya que ho es1 sue1o a os de1aes de a v1sua1zac1h h1
a a eh1Jada a 1Javs de mouse o e 1ecado. Tamb1h peJm11e a os
pJogJamadoJes cJeaJ pJogJamas que Jea1ceh de a m1sma 1oJma as 1aJeas
ms 1Jecueh1es, como guaJdaJ uh aJch1vo, poJque a 1h1eJ1az pJopoJc1oha
mecah1smos es1hdaJ de coh1Jo como veh1ahas y cuadJos de d1ogo. 01Ja
veh1aa es que as ap1cac1ohes escJ11as paJa uha 1h1eJ1az gJ11ca de
usuaJ1o soh 1hdepehd1eh1es de os d1spos111vos. a med1da que a 1h1eJ1az
camb1a paJa peJm111J e uso de huevos d1spos111vos de eh1Jada y sa1da,
como uh moh11oJ de pah1aa gJahde o uh d1spos111vo p11co de
amaceham1eh1o, as ap1cac1ohes puedeh u111zaJos s1h heces1dad de
camb1os.
1.3.5 Funcones de os Sstemas Operatvos
Th1eJpJe1a os comahdos que peJm11eh a usuaJ1o comuh1caJse coh e
oJdehadoJ.
CooJd1ha y mah1pua e haJdwaJe de a compu1adoJa, como a memoJ1a, as
1mpJesoJas, as uh1dades de d1sco, e 1ecado o e mouse.
0Jgah1za os aJch1vos eh d1veJsos d1spos111vos de amaceham1eh1o, como
d1scos 1ex1bes, d1scos duJos, d1scos compac1os o c1h1as magh11cas.
Ces11oha os eJJoJes de haJdwaJe y a pJd1da de da1os.
18 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
SeJv1J de base paJa a cJeac1h de so11waJe ogJahdo que equ1pos de
maJcas d1s11h1as 1uhc1oheh de maheJa ahoga, savahdo as d11eJehc1as
ex1s1eh1es eh1Je ambos.
Coh11guJa e eh1oJho paJa e uso de so11waJe y os peJ11J1cos,
depehd1ehdo de 11po de mqu1ha que se empea, debe es1abeceJse eh
1oJma g1ca a d1spos1c1h y caJac1eJ1s11cas de equ1po. Como poJ
eempo, uha m1cJocompu1adoJa 11ehe 11s1cameh1e dos uh1dades de d1sco,
puede s1muaJ e uso de o1Jas uh1dades de d1sco, que puedeh seJ
v1J1uaes u111zahdo paJ1e de a memoJ1a pJ1hc1pa paJa 1a 11h. Eh caso
de es1aJ cohec1ado a uha Jed, e s1s1ema opeJa11vo se cohv1eJ1e eh a
pa1a1oJma de 1Jabao de os usuaJ1os y es es1e qu1eh coh1Joa os
eemeh1os o JecuJsos que compaJ1eh. 0e 1gua 1oJma, pJovee de pJo1ecc1h
a a 1h1oJmac1h que amaceha.
1.3.6 Dstntos Sstemas Operatvos
S1 b1eh ex1s1e uha gJah cah11dad de s1s1emas opeJa11vos, eh pa1a1oJmas
PC eh a ac1ua1dad se u111zah pJ1hc1pameh1e dos s1s1emas opeJa11vos.
a 1am11a h1cJoso11 W1hdows
a 1am11a Chb/L1hux
1.3.6.1 la familia Microsoft Windows
h1cJoso11 W1hdows {cohoc1do s1mpemeh1e como W1hdows) es uh s1s1ema
opeJa11vo coh 1h1eJ1az gJ11ca paJa compu1adoJas peJsohaes cuyo
pJop1e1aJ1o es a empJesa h1cJoso11. Las d1s11h1as veJs1ohes de W1hdows
o1Jeceh uh eh1oJho gJ11co sehc1o desde a veJs1h W1hdows 95. Se ha
cohveJ11do eh e s1s1ema opeJa11vo ms u111zado eh e muhdo. PoJ s1a
Jazh, a mayoJ1a de as empJesas 1abJ1cah1es de haJdwaJe y so11waJe eh e
muhdo 11ehdeh a desaJJoaJ sus ap1cac1ohes basadas eh d1cho s1s1ema. E
comh uso de es1e s1s1ema opeJa11vo se debe a que a mayoJ1a de as
compu1adoJas 1hcuyeh s1e s1s1ema 1hs1aado poJ de1ec1o. Es1o causa
c1eJ1a coh1JoveJs1a, ya que es v1s1o poJ c1eJ1as peJsohas, como uh m1odo
mohopo1s1a de h1cJoso11, ya que ob1ga a c1eh1e a compJaJ uha 1cehc1a
de h1cJoso11, a m1smo 11empo que compJa a mqu1ha.
W1hdows ha 1hcoJpoJado a 1Javs de sus d11eJeh1es veJs1ohes vaJ1as
heJJam1eh1as que se hah cohveJ11do eh es1hdaJes 1h1eJhac1ohaes, como poJ
eempo, e s1s1ema de aJch1vos FAT. W1hdows 1hcoJpoJa, eh1Je o1Jo
so11waJe, heJJam1eh1as como Th1eJhe1 ExpoJeJ y e RepJoduc1oJ de W1hdows
hed1a. Es1as heJJam1eh1as se hah cohveJ11do coh e 11empo eh as ms
usadas, espec1ameh1e Th1eJhe1 ExpoJeJ, deb1do a que v1eheh 1hs1aadas
poJ de1ec1o eh d1cho s1s1ema opeJa11vo.
W1hdows es u111zado pJ1hc1pameh1e eh compu1adoJas peJsohaes
ex1s11ehdo 1amb1h d11eJeh1es veJs1ohes paJa seJv1doJes y d1spos111vos
mv1es.
a pJ1meJa veJs1h comeJc1a de W1hdows, a 1.01 da1a de ao 1985. Eh
a 11guJa se puede veJ uha cap1uJa de pah1aa.
juan I. Weber 19
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
La veJs1h ms 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.
Th1c1ameh1e se ahuhc1 su sa1da a meJcado a 1h1c1os-med1ados de 2006,
pos1eJ1oJmeh1e y deb1do a pJobemas duJah1e e pJoceso de desaJJoo, se
Je1Jas su sa1da has1a 11haes de 2006. E 11mo Je1Jaso 1Jasado a
1echa has1a 11haes 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 podJh adqu1J1J soh 1Jes paJa e
cohsum1doJ, v1s1a home Bas1c, v1s1a home PJem1um y b11ma1e Ed111oh y dos
veJs1ohes paJa as empJesas, v1s1a Bus1hess y v1s1a Eh1eJpJ1se, ms v1s1a
S1aJ1eJ, paJa os meJcados emeJgeh1es. Los Jequ1s11os m1h1mos paJa que a
veJs1h bs1ca de W1hdows v1s1a {home Bas1c - S1aJ1eJ) 1uhc1ohe eh uh
equ1po soh os s1gu1eh1es.
PJocesadoJ de 32 b11s coh uha veoc1dad m1h1ma de 800hhz
512 hB de RAh {paJa 1JabaaJ a uha veoc1dad acep1abe), se Jecom1ehda
1CB
TaJe1a CJ11ca compa11be coh 01Jec1X 9 coh poJ o mehos 32hB de
memoJ1a, se Jecom1ehda 128hB, auhque es1a veJs1h s1h AeJo ho Jequ1eJe
uha 1aJe1a muy avahzada
01sco duJo de 40CB coh 15CB d1spoh1bes
CJabadoJa y ec1oJa de 0v0-R0h
PaJa ob1eheJ 1odas as caJac1eJ1s11cas como AeJo {home PJem1um -
b11ma1e), hace 1a1a 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 nIormtIca
b11s {x64) a 1Chz
1CB de RAh
Compa11b11dad coh gJ11cos 01Jec1X 9 coh uh coh1JoadoJ W00h, 128 hB de
memoJ1a gJ11ca {m1h1mo), P1xe ShadeJ 2.0 y 32 b11s poJ p1xe.
01sco duJo de 40CB coh 15CB d1spoh1bes
CJabadoJa y ec1oJa de 0v0
Cohex1h a 1h1eJhe1
Sa1da de aud1o
Eh a 11guJa puede veJse uha cap1uJa de pah1aa de W1hdows v1s1a.
1.3.6.2 la familia GNU/Linux
L1hux es a dehom1hac1h de uh s1s1ema opeJa11vo 11po bh1x y e hombJe
de uh hceo. Es uho de os paJad1gmas ms pJom1heh1es de so11waJe 1bJe
y de desaJJoo de cd1go ab1eJ1o, cuyo cd1go 1ueh1e es1 d1spoh1be
pb1cameh1e, paJa que cuaqu1eJ peJsoha pueda 1bJemeh1e usaJo,
es1ud1aJo, Jed1s1J1bu1Jo y, coh os cohoc1m1eh1os 1h1oJm11cos
adecuados, mod111caJo.
Los pJ1meJos s1s1emas L1hux se oJ1g1haJoh eh 1992, a comb1haJ
u111dades de s1s1ema y b1b1o1ecas de pJoyec1o Chb coh e hceo L1hux,
juan I. Weber 21
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
compe1ahdo uh s1s1ema 1amb1h cohoc1do como Chb/L1hux. 0esde 11haes de
2000 L1hux ha ob1eh1do uh aumeh1o eh e apoyo de d1veJsas empJesas
mu11hac1ohaes de muhdo de a 1h1oJm11ca, 1aes como TBh, Suh
h1cJosys1ems, hewe11-PackaJd y hove. Ac1uameh1e L1hux es
comeJc1a1zado eh compu1adoJes de escJ11oJ1o y poJ111es poJ 0e y
Lehovo, adems hay uh gJupo humeJoso de compa1as es1abec1das eh Ta1wah
que paheah 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 bos1o, 1e1ohos ceuaJes, d1spos111vos empo1Jados, v1deocohsoas
{Xbox, PayS1a11oh 3, PayS1a11oh PoJ1abe) y o1Jos, su mayoJ desaJJoo
se ha evado a cabo eh e muhdo de os seJv1doJes y supeJcompu1adoJes.
L1hux hac1 gJac1as a a 1dea de L1hus ToJvads de cJeaJ uh s1s1ema
basado eh bh1x paJa mqu1has 1386, eh ms de uha ocas1h, L1hus ToJvads
ha a11Jmado que s1 hub1eJa sab1do de a ex1s1ehc1a de os s1s1emas BS0 que
ya cump1ah o que hac1a L1hux, ho se habJ1a moes1ado eh mod111caJ h1h1x.
La h1s1oJ1a de L1hux es1 1ueJ1emeh1e v1hcuada a a de pJoyec1o Chb. E
pJoyec1o Chb, 1h1c1ado eh 1983, 11ehe como obe11vo e desaJJoo de uh
s1s1ema bh1x compe1o compues1o eh1eJameh1e de so11waJe 1bJe. hac1a 1991,
cuahdo a pJ1meJa veJs1h de hceo L1hux 1ue 1beJada, e pJoyec1o Chb
hab1a pJoduc1do vaJ1os de os compoheh1es de s1s1ema opeJa11vo,
1hcuyehdo uh 1h1JpJe1e de comahdos, uha b1b1o1eca C y uh comp1adoJ,
peJo ah ho coh1aba coh e hceo que peJm111eJa compe1aJ e s1s1ema
opeJa11vo.
Eh1ohces, e hceo cJeado poJ L1hus ToJvads, qu1eh se ehcoh1Jaba poJ
eh1ohces es1ud1ahdo eh a bh1veJs1dad de hes1hk1, eh e hueco 11ha
que e s1s1ema opeJa11vo Chb ex1g1a. Subsecueh1emeh1e, m1es de
pJogJamadoJes vouh1aJ1os aJededoJ de muhdo hah paJ11c1pado eh e
pJoyec1o, meoJhdoo coh11huameh1e. ToJvads y o1Jos desaJJoadoJes 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
1JabaaJ coh e hceo L1hux, cJeahdo uh s1s1ema opeJa11vo compe1ameh1e
1uhc1oha pJocedeh1e de much1s1mas 1ueh1es d11eJeh1es, a mayoJ1a 1bJes.
1.3.6.3 Distribuciones Linux
bha d1s1J1buc1h es uh cohuh1o de ap1cac1ohes Jeuh1das poJ uh gJupo,
empJesa o peJsoha paJa peJm111J 1hs1aaJ 1c1meh1e uh s1s1ema L1hux. Es
uh saboJ de L1hux. Eh geheJa se des1acah poJ as heJJam1eh1as paJa
coh11guJac1h y s1s1emas de paque1es de so11waJe a 1hs1aaJ.
Ex1s1eh humeJosas d1s1J1buc1ohes L1hux {1amb1h cohoc1das como
"d1s1Jos"), ehsambadas poJ 1hd1v1duos, empJesas y o1Jos oJgah1smos. Cada
d1s1J1buc1h puede 1hcu1J cuaqu1eJ hmeJo de so11waJe ad1c1oha,
1hcuyehdo so11waJe que 1ac111e a 1hs1aac1h de s1s1ema. La base de
so11waJe 1hcu1do coh cada d1s1J1buc1h 1hcuye e hceo L1hux y as
heJJam1eh1as Chb, a que sueeh ad1c1ohaJse 1amb1h vaJ1os paque1es de
so11waJe. Eempos de d1s1J1buc1ohes de Chb/L1hux soh. FedoJa, bbuh1u,
Suse, Redha1, Ceh1oo, 0eb1ah, e1c. Eh a 11guJa puede veJse uha cap1uJa de
pah1aa de bbuh1u.
22 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
Las heJJam1eh1as que sueeh 1hcu1Jse eh a d1s1J1buc1h de es1e s1s1ema
opeJa11vo se ob11eheh de d1veJsas 1ueh1es, 1hcuyehdo de maheJa 1mpoJ1ah1e
pJoyec1os de cd1go ab1eJ1o o 1bJe, como e Chb y e BS0 o e K0E. 0eb1do
a que as heJJam1eh1as de so11waJe 1bJe que eh pJ1meJa 1hs1ahc1a
vov1eJoh 1uhc1oha a hceo de L1hux pJov1eheh de pJoyec1o Chb que
desde 1983 hab1a 1beJado so11waJe que pudo seJ usado eh e pJoyec1o de
L1hux de 1991, R1chaJd S1amah {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 coh11hah amahdo a s1s1ema s1mpemeh1e
"L1hux" y as Jazohes expues1as poJ R1chaJd S1amah soh e1eJho mo11vo de
coh1JoveJs1a. La mayoJ1a de os s1s1emas "L1hux" 1hcuyeh 1amb1h
heJJam1eh1as pJocedeh1es de BS0 y de muchos o1Jos pJoyec1os como hoz1a,
PeJ, Ruby, Py1hoh, Pos1gJeS0L, hyS0L, XoJg, cas1 1odas coh 1cehc1a CPL o
compa11bes coh s1a {LCPL, hPL) o1Jo apoJ1e 1uhdameh1a de pJoyec1o Chb.
1.4 Suites ofimticas
bha su11e 1h1oJm11ca o su11e de o11c1ha es uh cohuh1o de so11waJe paJa
e uso eh o11c1has y eh1oJhos pJo1es1ohaes.
ho hay uha hoJma es1J1c1a sobJe os pJogJamas a 1hcu1J, peJo a mayoJ1a
1hcuyeh a mehos uh pJocesadoJ de 1ex1os y uha hoa de ccuo. 0e 1oJma
aad1da, a su11e puede coh1eheJ uh pJogJama de pJeseh1ac1ohes, uh ges1oJ
de base de da1os, heJJam1eh1as mehoJes de gJ11cos y comuh1cac1ohes, uh
ges1oJ de 1h1oJmac1h peJsoha {agehda y c1eh1e de coJJeo eec1Jh1co) y
juan I. Weber 23
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
uh havegadoJ web.
Eh a ac1ua1dad a su11e o11m11ca 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 compa11b11dad de a
su11e de h1cJoso11 coh o1Jos 1oJma1os ab1eJ1os {como 0peh0ocumeh1), a
hab11dad de ec1uJa y escJ11uJa de 1oJma1os h1cJoso11 0111ce es esehc1a
paJa cuaqu1eJ o1Ja su11e o11m11ca de meJcado.
1.4.1 La sute Mcrosoft Offce
h1cJoso11 0111ce {hS0) es uha su11e o11m11ca cJeada poJ a empJesa
h1cJoso11. Fuhc1oha o11c1ameh1e bao os s1s1emas opeJa11vos h1cJoso11
W1hdows y Appe hac 0S, auhque 1amb1h o hace eh L1hux s1 se u111za uh
emuadoJ como W1he o CJoss0veJ 0111ce. Las veJs1ohes ms Jec1eh1es de
0111ce soh amadas "0111ce sys1em" {s1s1ema de o11c1ha) eh vez de 0111ce
su11e {su11e de 0111ce) o que Je1ea a 1hcus1h de seJv1doJes.
0111ce h1zo su pJ1meJa apaJ1c1h eh 1989 eh uh hac, y ms adeah1e eh
W1hdows eh 1990. Fue 1h1c1ameh1e uh 1Jm1ho de meJcado paJa vehdeJ uh se1
de ap1cac1ohes que pJev1ameh1e se vehd1ah sepaJadameh1e. E pJ1hc1pa
aJgumeh1o de veh1a eJa que compJaJ e paque1e compe1o eJa
subs1ahc1ameh1e ms baJa1o que compJaJ cada ap1cac1h poJ sepaJado. La
pJ1meJa veJs1h de 0111ce coh1eh1a h1cJoso11 WoJd, h1cJoso11 Exce y
h1cJoso11 PoweJPo1h1. Ad1c1ohameh1e a veJs1h PJo1es1oha de 0111ce
1hcu1a h1cJoso11 Access y Schedue Pus.
A 1Jves de os aos as ap1cac1ohes de 0111ce hah cJec1do
subs1ahc1ameh1e desde uh puh1o de v1s1a 1ch1co compaJ11ehdo
1uhc1oha1dades como uh coJJec1oJ oJ1ogJ11co comh, uh 1h1egJadoJ de
da1os 0LE y e ehguae de scJ1p1s de v1sua Bas1c paJa Ap1cac1ohes.
h1cJoso11 1amb1h pos1c1oha a 0111ce como uha pa1a1oJma de desaJJoo
paJa a 1hea de so11waJe paJa hegoc1os.
Las veJs1ohes ac1uaes 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 1Jves os cahaes de hS0h. bha hueva
1h1eJ1az de usuaJ1o y uh huevo 1oJma1o de aJch1vo pJ1maJ1o basado eh XhL
caJac1eJ1zah es1a veJs1h. La hueva veJs1h paJa hac, 0111ce 2008 paJa hac
es1 paheada 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 comuh1cac1h eec1Jh1co es1a d1s11hc1h ahoJa e peJ1ehece a
0u1ook. WoJd posee uha pos1c1h dom1hah1e eh e meJcado de os
pJocesadoJes de 1ex1o. Su 1oJma1o pJop1e1aJ1o 00C es cohs1deJado uh
1oJma1o es1hdaJ de 1ac1o, auhque eh su ms Jec1eh1e veJs1h, WoJd 2007
u111za uh huevo 1oJma1o basado eh XhL amado .00CX, peJo 11ehe a
capac1dad de guaJdaJ y abJ1J documeh1os eh e 1oJma1o 00C. WoJd es1
1amb1h d1spoh1be eh aguhas veJs1ohes de h1cJoso11 WoJks. Es1
d1spoh1be paJa as pa1a1oJmas h1cJoso11 W1hdows y hac. La pJ1meJa
24 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
veJs1h de WoJd, 1beJada eh 1983, 1ue paJa e s1s1ema opeJa11vo 00S y
1uvo a d1s11hc1h 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 Appe ahz e hac, y h1cJoso11 1beJ WoJd paJa hac,
e cua se cohv1J11 eh a ap1cac1h ms popuaJ paJa s1e s1s1ema.
RequeJ1a {como 1odas as ap1cac1ohes paJa hac) a u111zac1h de uh
Ja1h.
1.4.1.2 Excel
h1cJoso11 Exce es uh pJogJama de hoa de ccuo. A 1gua que
h1cJoso11 WoJd, posee uh meJcado dom1hah1e. Fue oJ1g1hameh1e uh
compe11doJ paJa e eh1ohces popuaJ Lo1us 1-2-3, peJo eveh1uameh1e se
vehd1 ms y se cohv1J11 eh e es1hdaJ de 1ac1o. Es1 d1spoh1be paJa
pa1a1oJmas W1hdows y hac.
1.4.1.3 PowerPoint
h1cJoso11 PoweJPo1h1 es uh popuaJ pJogJama de pJeseh1ac1ohes paJa
W1hdows y hac. Es usado paJa cJeaJ d1apos111vas compues1as de 1ex1o,
gJ11cos, pe1cuas y o1Jos obe1os. 0111ce hob1e paJa W1hdows hob1e 5.0
y veJs1ohes pos1eJ1oJes poseeh uha veJs1h de PoweJPo1h1 amada
PoweJPo1h1 hob1e. Es1a veJs1h Jeduc1da peJm11e que pe1cuas, v1deos,
soh1dos y ms1ca seah agJegados a as d1apos111vas.
1.4.2 La sute OpenOffce
0peh0111ce.oJg es uha su11e o11m11ca de so11waJe 1bJe y cd1go ab1eJ1o
que 1hcuye heJJam1eh1as como pJocesadoJ de 1ex1os, hoa de ccuo,
pJeseh1ac1ohes, heJJam1eh1as paJa e d1buo vec1oJ1a y base de da1os.
Es1 d1spoh1be paJa muchas y d1veJsas pa1a1oJmas, como h1cJoso11
W1hdows, s1s1emas de 11po bh1x coh e S1s1ema X W1hdow como Chb/L1hux,
BS0, SoaJ1s y hac 0S X. Es1 pehsado paJa seJ compa11be coh h1cJoso11
0111ce, coh qu1eh comp11e. SopoJ1a e es1hdaJ TS0 0peh0ocumeh1 paJa e
1h1eJcamb1o de da1os, y puede seJ u111zado s1h cos1o aguho.
0peh0111ce.oJg posee a base s1da de S1aJ0111ce, uha su11e o11m11ca
desaJJoada poJ S1aJ01v1s1oh y adqu1J1da poJ Suh h1cJosys1ems eh agos1o
de 1999, que ac1uameh1e es a su11e comeJc1a de Suh. E cd1go 1ueh1e de
a su11e 1ue 1beJado eh u1o de 2000, coh a 1h1ehc1h de haceJ 1Jeh1e
a dom1h1o eh e meJcado de h1cJoso11 0111ce pJopoJc1ohahdo uha
a1eJha11va ab1eJ1a, de bao cos1o y a1a ca1dad. E cd1go 1ueh1e de a
ap1cac1h es1 d1spoh1be bao a 1cehc1a LCPL.
Las veJs1ohes ms Jec1eh1es de S1aJ0111ce es1h basadas eh e cd1go
base de 0peh0111ce.oJg, de 1oJma s1m1aJ a a Jeac1h ex1s1eh1e eh1Je
he1scape hav1ga1oJ y hoz1a.
E pJoyec1o y e pJogJama soh dehom1hados "0peh0111ce" de 1oJma
1h1oJma, peJo os oJgah1zadoJes de pJoyec1o d1ceh que es1e 1Jm1ho es
uha maJca Jeg1s1Jada eh poses1h de o1Ja empJesa, ob1ghdoes a adop1aJ
"0peh0111ce.oJg" como hombJe 1oJma, y abJev1ado como 00o.
Ex1s1e uha veJs1h poJ111 de 0peh0111ce.oJg que puede seJ 1JahspoJ1ada
y usada d1Jec1ameh1e desde uha memoJ1a bSB s1h heces1dad de 1hs1aaJse eh
juan I. Weber 25
Iundamentos de nIormtIca !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
cohuh1o de ap1cac1ohes 1bJes de o11c1ha 0peh0111ce.oJg que se puede
descaJgaJ desde 1h1eJhe1. SopoJ1a e 1oJma1o pJop1e1aJ1o .doc de h1cJoso11
WoJd cas1 eh su 1o1a1dad, adems de o1Jos 1oJma1os cs1cos de
documeh1os. Su 1oJma1o ha11vo de 11cheJo es1a eh 1oJma1o eh XhL. Puede
expoJ1aJ a 11cheJos P0F ha11vameh1e s1h usaJ pJogJamas 1h1eJmed1os. Es
mu11pa1a1oJma como a su11e o11m11ca 0peh0111ce, que o compohe.
S1 b1eh a veJs1h es1abe 1.1.5, ho 11ehe gJah a1Jac11vo eh cuah1o a
apaJ1ehc1a, as veJs1ohes 2.x {1amb1h descaJgabes desde su pg1ha web)
hada 11eheh que ehv1d1aJe a cohoc1do h1cJoso11 WoJd, ya que es
compa11be coh sus documeh1os y es 1ah1o o ms 1c1 de usaJ.
WJ11eJ es 1amb1h uh po1eh1e ed11oJ hThL 1ah 1c1 de usaJ como uh
documeh1o de 1ex1o. So coh eh1JaJ eh e meh veJ y seecc1ohaJ "01seo
paJa 1h1eJhe1" camb1a e 1oJma1o de cuadJo de 1ex1o, asemehdose a uha
pg1ha web, que se puede ed11aJ de a m1sma 1oJma que s1 1ueJa uh
pJocesadoJ de 1ex1os. Coh 1amb1h se puedeh haceJ e11que1as, as1 como
1aJe1as de pJeseh1ac1h 1c1meh1e, s1h 1eheJ que mod111caJ e 1oJma1o de
uh documeh1o de 1ex1o paJa eo. Tamb1h 11ehe uha gaeJ1a de 1mgehes,
1ex1uJas y bo1ohes. Y uh gJah seJv1c1o de ayuda.
To1ameh1e coh11guJabe, se puede mod111caJ cuaqu1eJ opc1h de pg1ha,
bo1ohes, baJJas de heJJam1eh1as y o1Jas opc1ohes de ehguae,
au1ocoJJecc1h, oJ1ogJa11a, e1c.
Adems puede pJo1egeJ documeh1os coh coh1Jasea, guaJdaJ veJs1ohes de
m1smo documeh1o, 1hseJ1aJ 1mgehes, obe1os 0LE, adm11e 11Jmas d1g11aes,
s1mboos, 1Jmuas, 1abas de ccuo, gJ11cos, h1peJehaces, maJcadoJes,
1oJmuaJ1os, e1c.
1.4.2.2 Calc
Cac es uha hoa de ccuo s1m1aJ a h1cJoso11 Exce, coh uh Jahgo de
caJac1eJ1s11cas ms o mehos equ1vaeh1e. Su 1amao es mucho mehoJ y
pJopoJc1oha uh hmeJo de caJac1eJ1s11cas ho pJeseh1es eh Exce, 1hcuyehdo
uh s1s1ema que au1om11cameh1e de11he seJ1es paJa JepJeseh1aJ gJ11cameh1e
basado eh a d1spos1c1h de os da1os de usuaJ1o. Cac 1amb1h es capaz
de escJ1b1J hoas de ccuo como aJch1vos P0F, cueh1a coh 111Jos, au1o
111Jos y puede haceJ agJupac1ohes eh 1abas d1hm1cas que Lo1us 123 eh
sus veJs1ohes ah1eJ1oJes ho hac1a, pos1bemeh1e a veJs1h 9.8 de Lo1us
123 1ehga es1as pos1b11dades. ho 11ehe pJobemas de v1Jus y seguJ1dad
como os que 11ehe Exce|s1h Je1eJehc1as] |1].
Cac puede abJ1J y guaJdaJ as hoas de ccuo eh e 1oJma1o de
aJch1vos de h1cJoso11 Exce. E 1oJma1o poJ de1ec1o de 0peh0111ce.oJg 2.0
Cac se puede 11aJ paJa que sea e de h1cJoso11 Exce, o e 1oJma1o 0peh
0ocumeh1 FoJma1 {00F) de a oJgah1zac1h 0ASTS. Cac 1amb1h apoya uha
amp1a gama de o1Jos 1oJma1os, 1ah1o paJa abJ1J y guaJdaJ aJch1vos.
26 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
1.4.2.3 Impress
0peh0111ce.oJg TmpJess es uh pJogJama de pJeseh1ac1h s1m1aJ a
h1cJoso11 PoweJPo1h1. Es paJ1e de a su11e de o11c1ha de 0peh0111ce.oJg
desaJJoada poJ Suh h1cJosys1ems. Puede expoJ1aJ pJeseh1ac1ohes como
aJch1vos SWF de hacJomed1a Fash peJm111ehdo que seah eecu1ados eh
cuaqu1eJ compu1adoJa coh hacJomed1a Fash PayeJ 1hs1aado. Tamb1h
1hcuye a capac1dad de cJeaJ aJch1vos P0F. TmpJess su1Je de a caJehc1a
de d1seos de pJeseh1ac1h 1s1os paJa usaJse. S1h embaJgo, se puedeh
ob1eheJ 1c1meh1e eh Th1eJhe1 pah11as de 1eJceJos.
Los usuaJ1os de 0peh0111ce.oJg TmpJess 1amb1h puedeh 1hs1aaJ a 0peh
C1p AJ1 L1bJaJy {B1b1o1eca Ab1eJ1a de C1p AJ1), que agJega uha ehoJme
gaeJ1a de bahdeJas, ogos, 1cohos, es1ahdaJ1es y pahcaJ1as paJa
pJeseh1ac1ohes geheJaes y pJoyec1os de d1buo. Aguhas d1s1J1buc1ohes
L1hux, como 0eb1ah, hahdJ1va L1hux y bbuh1u hah pJopoJc1ohado uh paque1e
amado opehc1paJ1 1s1o paJa usaJ y 1c1 de baaJ desde sus
Jepos11oJ1os, 1hs1aahdo uha gaeJ1a de 1mgehes y soh1dos paJa e
0peh0111ce.oJg.
1.4.2.4 Math
0peh0111ce.oJg ha1h es uha heJJam1eh1a paJa cJeaJ y ed11aJ 1Jmuas
ma1em11cas, s1m1aJ a h1cJoso11 Equa11oh Ed11oJ {Ed11oJ de Ecuac1ohes de
h1cJoso11). Es paJ1e de a su11e o11m11ca 0peh0111ce.oJg. Las 1Jmuas
cJeadas se puedeh 1mpoJ1aJ a o1Jos documeh1os de 0peh0111ce.oJg, 1aes
como os cJeados eh WJ11eJ. ha1h sopoJ1a m11pes 1ueh1es y puede
expoJ1aJ a P0F.
0peh0111ce.oJg ha1h es1 d1spoh1be paJa descaJgaJ gJa1u11ameh1e eh a
web www.0peh0111ce.oJg deh1Jo de paque1e 0peh0111ce.oJg.
1.5 Lenguajes de programacion
bh ehguae de pJogJamac1h es uh ehguae que puede seJ u111zado paJa
coh1JoaJ e compoJ1am1eh1o de uha mqu1ha, paJ11cuaJmeh1e uha
compu1adoJa. Cohs1s1e eh uh cohuh1o de s1mboos y Jegas s1h1c11cas y
semh11cas que de11heh su es1Juc1uJa y e s1gh111cado de sus eemeh1os y
expJes1ohes.
Auhque muchas veces se usa ehguae de pJogJamac1h y ehguae
1h1oJm11co como s1 1ueseh s1hh1mos, ho 11ehe poJ qu seJ as1, ya que os
ehguaes 1h1oJm11cos ehgobah a os ehguaes de pJogJamac1h y a o1Jos
ms, como, poJ eempo, e hThL {ehguae paJa e maJcado de pg1has web).
bh ehguae de pJogJamac1h peJm11e a uho o ms pJogJamadoJes
espec111caJ de maheJa pJec1sa. sobJe qu da1os uha compu1adoJa debe
opeJaJ, cmo debeh seJ es1os amacehados y 1Jahsm111dos y qu acc1ohes
debe 1omaJ bao uha vaJ1ada gama de c1Jcuhs1ahc1as. Todo es1o, a 1Javs de
uh ehguae que 1h1eh1a es1aJ Jea11vameh1e pJx1mo a ehguae humaho o
ha1uJa. bha caJac1eJ1s11ca Jeevah1e de os ehguaes de pJogJamac1h es
pJec1sameh1e que ms de uh pJogJamadoJ puedah 1eheJ uh cohuh1o comh de
1hs1Jucc1ohes que puedah seJ compJehd1das eh1Je eos paJa Jea1zaJ a
juan I. Weber 27
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
cohs1Jucc1h de pJogJama de 1oJma coaboJa11va.
Los pJocesadoJes usados eh as compu1adoJas soh capaces de eh1ehdeJ y
ac1uaJ segh o 1hd1cah pJogJamas escJ11os eh uh ehguae 11o amado
ehguae de mqu1ha. Todo pJogJama escJ11o eh o1Jo ehguae puede seJ
eecu1ado 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 1h1JpJe1es.
TJaduc1ehdo es1e pJogJama a pJogJama equ1vaeh1e escJ11o eh ehguae de
mqu1ha. A ese pJoceso se o ama comp1aJ y a 1Jaduc1oJ se o cohoce
como comp1adoJ.
1.5.1 Casfcacn de os engua|es de programacn
Los ehguaes de pJogJamac1h se de1eJm1hah segh e h1ve de
abs1Jacc1h, segh a 1oJma de eecuc1h y segh e paJad1gma de
pJogJamac1h que poseeh cada uho de eos y esos puedeh seJ, segh su
h1ve de abs1Jacc1h.
1.5.1.1 Lenguajes de bajo nivel
Los ehguaes de bao h1ve soh ehguaes de pJogJamac1h que se aceJcah
a 1uhc1oham1eh1o de uha compu1adoJa. E ehguae de ms bao h1ve es,
poJ exceehc1a, e cd1go mqu1ha. A s1e e s1gue e ehguae
ehsambadoJ, ya que a pJogJamaJ eh ehsambadoJ se 1Jabaah coh os
Jeg1s1Jos de memoJ1a de a compu1adoJa de 1oJma d1Jec1a.
1.5.1.2 Lenguajes de medio nivel
hay ehguaes de pJogJamac1h que soh cohs1deJados poJ aguhos expeJ1os
como ehguaes de med1o h1ve {como es e caso de ehguae C) a 1eheJ
c1eJ1as caJac1eJ1s11cas que os aceJcah a os ehguaes de bao h1ve peJo
1eh1ehdo, a m1smo 11empo, c1eJ1as cua1dades que o haceh uh ehguae ms
ceJcaho a humaho y, poJ 1ah1o, de a1o h1ve.
1.5.1.3 Lenguajes de alto nivel
Los ehguaes de a1o h1ve soh hoJmameh1e 1c1es de apJehdeJ poJque
es1h 1oJmados poJ eemeh1os de ehguaes ha1uJaes, como e 1hgs. Eh
BASTC, e ehguae de a1o h1ve ms cohoc1do, os comahdos como "TF
C0hTA00R = 10 ThEh ST0P" puedeh u111zaJse paJa ped1J a a compu1adoJa que
paJe s1 C0hTA00R es 1gua a 10. PoJ desgJac1a paJa muchas peJsohas es1a
1oJma de 1JabaaJ es uh poco 1Jus1Jah1e, dado que a pesaJ de que as
compu1adoJas paJeceh compJehdeJ uh ehguae ha1uJa, o haceh eh Jea1dad
de uha 1oJma J1g1da y s1s1em11ca.
Segh a 1oJma de eecuc1h
1.5.1.4 Lenguajes compilados
ha1uJameh1e, uh pJogJama que se escJ1be eh uh ehguae de a1o h1ve
1amb1h 11ehe que 1Jaduc1Jse a uh cd1go que pueda u111zaJ a mqu1ha.
Los pJogJamas 1Jaduc1oJes que puedeh Jea1zaJ es1a opeJac1h se amah
28 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
comp1adoJes. Es1os, como os pJogJamas ehsambadoJes avahzados, puedeh
geheJaJ muchas 1heas de cd1go de mqu1ha poJ cada pJopos1c1h de
pJogJama 1ueh1e. Se Jequ1eJe uha coJJ1da de comp1ac1h ah1es de pJocesaJ
os da1os de uh pJobema.
Los comp1adoJes soh aqueos cuya 1uhc1h es 1Jaduc1J uh pJogJama
escJ11o eh uh de1eJm1hado ehguae a uh 1d1oma que a compu1adoJa eh11ehda
{ehguae mqu1ha coh cd1go b1haJ1o).
A usaJ uh ehguae comp1ado {como o soh os ehguaes de popuaJ
v1sua S1ud1o de h1cJoso11), e pJogJama desaJJoado huhca se eecu1a
m1eh1Jas haya eJJoJes, s1ho has1a que uego de habeJ comp1ado e
pJogJama, ya ho apaJeceh eJJoJes eh e cd1go.
1.5.1.5 Lenguajes interpretados
Se puede 1amb1h u111zaJ uha a1eJha11va d11eJeh1e de os comp1adoJes
paJa 1Jaduc1J ehguaes de a1o h1ve. Eh vez de 1Jaduc1J e pJogJama
1ueh1e y gJabaJ eh 1oJma peJmaheh1e e cd1go obe1o que se pJoduce
duJah1e a coJJ1da de comp1ac1h paJa u111zaJo eh uha coJJ1da de
pJoducc1h 1u1uJa, e pJogJamadoJ so caJga e pJogJama 1ueh1e eh a
compu1adoJa uh1o coh os da1os que se vah a pJocesaJ. A coh11huac1h, uh
pJogJama 1h1JpJe1e, amacehado eh e s1s1ema opeJa11vo de d1sco, o
1hcu1do de maheJa peJmaheh1e deh1Jo de a mqu1ha, cohv1eJ1e cada
pJopos1c1h de pJogJama 1ueh1e eh ehguae de mqu1ha coh1oJme vaya
s1ehdo hecesaJ1o duJah1e e pJoceso de os da1os. ho se gJaba e cd1go
obe1o paJa u111zaJo pos1eJ1oJmeh1e.
La s1gu1eh1e vez que se u111ce uha 1hs1Jucc1h, se e debe 1h1eJpJe1aJ
o1Ja vez y 1Jaduc1J a ehguae mqu1ha. PoJ eempo, duJah1e e
pJocesam1eh1o Jepe1111vo de os pasos de uh c1co, cada 1hs1Jucc1h de
c1co 1ehdJ que voveJ a seJ 1h1eJpJe1ado cada vez que se eecu1e e
c1co, o cua hace que e pJogJama sea ms eh1o eh 11empo de eecuc1h
{poJque se va Jev1sahdo e cd1go eh 11empo de eecuc1h) peJo ms Jp1do
eh 11empo de d1seo {poJque ho se 11ehe que es1aJ comp1ahdo a cada
momeh1o e cd1go compe1o). E 1h1JpJe1e e1m1ha a heces1dad de
Jea1zaJ uha coJJ1da de comp1ac1h despus de cada mod111cac1h de
pJogJama cuahdo se qu1eJe agJegaJ 1uhc1ohes o coJJeg1J eJJoJes, peJo es
obv1o que uh pJogJama obe1o comp1ado coh ah1eac1h debeJ eecu1aJse
coh mucha mayoJ Jap1dez que uho que se debe 1h1eJpJe1aJ a cada paso
duJah1e uha coJJ1da de pJoducc1h.
1.5.2 E|empos de engua|es de programacn
E pJ1meJ ehguae de pJogJamac1h, amado F0RTRAh, cuyo hombJe se
deJ1va de F0Rmua TRAhsa11oh, 1ue 1h1Joduc1do eh 1957 y s1gu1 s1ehdo
popuaJ duJah1e a dcada de os aos 60 y pJ1hc1p1os de a dcada de 70.
F0RTRAh 11ehe 1hs1Jucc1ohes 11po gebJa y 1ue desaJJoado paJa
ap1cac1ohes c1eh1111cas y de 1hgeh1eJ1a que JequeJ1ah sa1das humJ1cas
de gJah pJec1s1h, 1hcuyehdo muchos ugaJes dec1maes.
E s1gu1eh1e ehguae s1gh111ca11vo de a1o h1ve 1ue C0B0L, e cua 1ue
1h1Joduc1do eh a dcada de 60 y peJmahec1 como uh ehguae 1mpoJ1ah1e
has1a os aos 80. La paabJa C0B0L se 1oJm poJ as s1gas de C0mmoh
juan I. Weber 29
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
Bus1hess-0J1eh1ed Lahguage. Es1e ehguae 1eh1a caJac1eJ1s11cas eh1oacadas
hac1a as ap1cac1ohes de hegoc1os.
01Jo ehguae, BASTC {o Beg1hheJs A-puJpose Symbo1c Ths1Juc11oh Code)
1ue desaJJoado eh 0aJmou1h Coege ms o mehos a m1smo 11empo que
C0B0L. BASTC eJa eh esehc1a uha veJs1h 1geJameh1e Jeduc1da de F0RTRAh y
pJe1ehd1a seJ uh ehguae 1h1Joduc1oJ1o paJa uh1veJs11aJ1os. EJa uh
ehguae Jea11vameh1e sehc1o, 1c1 de eh1ehdeJ. Su pJ1hc1pa
desveh1aa eJa que ho JequeJ1a h1 1mpoh1a uh eh1oque cohs1s1eh1e o
es1Juc1uJado paJa cJeaJ pJogJamas.
PaJa Jemed1aJ es1o y adecuaJ a pJogJamac1h a uha base ms c1eh1111ca y
Jac1oha que h1c1eJa ms 1c1 eh1ehdeJ y Jeu111zaJ e cd1go, se
desaJJo e ehguae Pasca. Th1Joduc1do eh 1971, pJopoJc1oh a os
es1ud1ah1es uh 1uhdameh1o ms 11Jme eh e d1seo de pJogJamac1h
es1Juc1uJada.
E ehguae C es uh ehguae es1Juc1uJado desaJJoado eh a dcada de
70 eh AT&T Be LaboJa1oJ1es poJ Thompsoh, R11ch1e y KeJh1ghah, y se
cohv1J11 eh e ehguae de ap1cac1ohes paJa 1hgeh1eJ1a de os aos 80.
C++ 1ue desaJJoado a pJ1hc1p1os de a dcada de 80 poJ S1Jous1Jup
{1amb1h de AT&T) como uh ehguae de pJogJamac1h oJ1eh1ado a obe1os.
humeJosas ap1cac1ohes, eh paJ11cuaJ as Jeac1ohadas a as 1h1eJ1aces
gJ11cas de usuaJ1o, hah s1do desaJJoadas eh es1e ehguae.
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, hx1co.
30 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
Unidad 2: lntroduccion a la Programacion - parte l
2.1 El lenguaje de programacion GNUOctave
Chb0c1ave es uh ehguae de pJogJamac1h de a1o h1ve desaJJoado poJ
Johh W. Ea1oh eh a bh1veJs1dad de Texas. Es uh so11waJe de 1bJe
d1s1J1buc1h bao a 1cehc1a Chb. Eh su ac1ua h1ve de desaJJoo
1uhc1oha como uh 1h1JpJe1e eh vez de uh comp1adoJ, a d11eJehc1a de o1Jos
ehguaes de pJogJamac1h como C++, FoJ1Jah, Bas1c, e1c. La veJs1h
es1abe d1spoh1be hoy, a 3.0, da1a de ao 2008.
bha de as mayoJes po1ehc1a1dades de 0c1ave Jad1ca eh su amp1o maheo
de aJJegos {ma1J1ces y vec1oJes), como as1 1amb1h a ehoJme cah11dad de
1uhc1ohes 1hcoJpoJadas que s1mp111cah ho1abemeh1e a 1aJea de
pJogJamac1h. A su vez, e hecho de 1h1egJaJse coh e pJogJama de
gJa11cac1h ChbPo1 peJm11e cohs1Ju1J gJ11cas c1eh1111cas coh
s1mp1c1dad.
Chb0c1ave ha suJg1do como uh muo 1bJe de 1amoso ehguae hATLAB, coh
o cua os pJoced1m1eh1os escJ11os eh Chb0c1ave seJh 1c1meh1e e1dos
eh 1h1eJpJe1ados eh hATLAB, so coh pequeas mod111cac1ohes eh aguhos
casos. Es1o peJm111J a 1h1eJesado desaJJoaJ so11waJe c1eh1111co de
ca1dad, hac1ehdo uso de a ehoJme 1bJeJ1a de 1uhc1ohes de es1e ehguae
Jeg1s1Jado.
Es pos1be descaJgaJ a 11ma veJs1h de ehguae Chb0c1ave eh e
s111o
h11p.//www.oc1ave.oJg
eh dohde 1amb1h haaJ humeJosa documeh1ac1h sobJe es1e ehguae.
PaJa 1hs1aaJ Chb0c1ave eh 1u compu1adoJa bao W1hdows, uha vez
descaJgado e pJogJama de 1hs1aac1h, que se Jecohoce poJ e 1coho
debes haceJ dobe c1ck sobJe d1cho 1coho, y segu1J os pasos de
as1s1eh1e de 1hs1aac1h. bha vez 11ha1zada, debe apaJeceJ eh e
escJ11oJ1o de 1u PC e s1gu1eh1e 1coho.
A haceJ dobe c1ck sobJe e m1smo, debeJ1a apaJeceJ a s1gu1eh1e
veh1aha.
juan I. Weber 31
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
S1 puedes veJ es1a veh1aha, s1gh111ca que es1s 1s1o paJa u111zaJ
Chb0c1ave. 0e 1odos modos, como veJemos ms adeah1e, es1e ho es e h1co
pJogJama que u111zaJemos. Se Jecom1ehda eh es1e momeh1o geheJaJ uh acceso
d1Jec1o eh e escJ11oJ1o a uh ed11oJ de 1ex1o {pJe1eJeh1emeh1e e Boc 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 veJs1h 2.1.72, se ha agJegado a a 1hs1aac1h
de 0c1ave, a de ed11oJ Sc1Te, que peJm11e JecohoceJ a s1h1ax1s de
d1veJsos ehguaes {eh1Je eos Chb0c1ave), eh1Je o1Jas capac1dades.
PaJa coJJeJ 0c1ave desde L1hux, abJ1mos uha TeJm1ha o Cohsoa de L1hux
y a coh11huac1h de pJomp1 {humeJa o amohad1a #) escJ1b1mos oc1ave
{eh1eJ), uego de o cua se eecu1a 0c1ave. PaJa sa1J de pJogJama,
escJ1b1mos ex11 o qu11 {eh1eJ), coh o cua vovemos a pJomp1 de s1s1ema
{#), uego podemos ceJJaJ a veh1aha de a cohsoa.
Como veJs, 0c1ave ho 11ehe hada de espec1acuaJ. es uha ap1cac1h que
coJJe eh 1hea de comahdos {como os v1eos pJogJamas de 00S). S1h
embaJgo, es1 d1spoh1be uh amb1eh1e gJ11co de desaJJoo paJa 0c1ave,
dehom1hado 010c1ave {1ah1o paJa W1hdows como paJa L1hux). E 1hs1aadoJ
paJa W1hdows {d1spoh1be eh h11p.//q1oc1ave.woJdpJess.com/) 1hcuye e
1hs1aadoJ de 0c1ave, poJ o cua ho es hecesaJ1o 1hs1aaJo pJev1ameh1e.
La que s1gue es uha v1s1a de 010c1ave coJJ1ehdo bao W1hdows. E eh1oJho
de 1Jabao 11ehe humeJosas opc1ohes. v1sua1zaJ e coh1eh1do de vaJ1abes,
uh ed11oJ de 1ex1o pJop1o, acceso a 1Javs de mehs a humeJosas 1uhc1ohes
de ehguae, acceso 1h1eJac11vo a d1Jec1oJ1os, e1c. E "1hs1aadoJ" es eh
Jea1dad uh aJch1vo compJ1m1do {z1p) que se ex1Jae y es1 1s1o paJa
1uhc1ohaJ.
32 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
2.2 lntroduccion al uso de GNUOctave
2.2.1 Entorno nteractvo de traba|o
bha vez ab1eJ1a a veh1aha de Chb0c1ave, bd. d1spohe eh pah1aa de uha
supeJcacuadoJa paJa e1ec1uaJ 1odo 11po de ccuos ma1em11cos. A
apaJeceJ e "pJomp1"
>>
0c1ave hos 1hd1ca que es1 1s1o paJa Jec1b1J a pJx1ma 1hs1Jucc1h.
Como eempo sehc1o evauemos
Volumen
4
3
nr
3
, conr2
Los comahdos que debemos 1eceaJ soh
juan I. Weber 33
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
r = 2;
vol = (4/3)*pi*r3;
dohde pi = eh 0c1ave. Cada 1hea se 1ecea deah1e de a 1hd1cac1h >>
y se opJ1me a 1eca 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 c1Jcuh1eo despus de r es e opeJadoJ de
expoheh1e.
Cuahdo 1Jabaamos eh a veh1aha de comahdos, a compu1adoJa cacua a
Jespues1a de cada comahdo 1hmed1a1ameh1e despus de pusaJ a 1eca
Je1uJh. PoJ 1ah1o, e vaoJ de vol ya es1 eh a compu1adoJa, cmo
podemos haceJ paJa que apaJezca eh pah1aa?
La 1oJma ms 1c1 de exh1b1J e Jesu1ado es 1eceaJ vol y pusaJ
Je1uJh. La compu1adoJa exh1b1J
vol =
33.510
01Ja 1oJma de 1mpJ1m1J e vaoJ de vol es om111J e s1gho de puh1o y
coma a 11ha de seguhdo comahdo.
r = 2;
vol = (4/3)*pi*r3
S1 1a1a e puh1o y coma, e Jesu1ado se 1mpJ1m1J 1hmed1a1ameh1e
despus de cacuaJse. S1h embaJgo, como cas1 huhca Jesu1a cmodo 1J
1mpJ1m1ehdo 1odos os Jesu1ados, poJ o geheJa se cooca uh puh1o y coma
despus de cada comahdo.
Podemos escJ1b1J vaJ1os comahdos eh uha m1sma 1hea sepaJhdoas coh
s1gho de puh1o y coma. S1 heces11a 1mpJ1m1J os Jesu1ados de cada comahdo
que se eecu1e, sepaJe os comahdos coh comas y 1eJm1he a 1hea coh o s1h
uha coma. PoJ eempo, s1 escJ1be
r = 2, vol = (4/3)*pi*r3
se 1mpJ1m1Jh os vaoJes de r y de vol, peJo s1 escJ1be
r = 2; vol = (4/3)*pi*r3;
ho se 1mpJ1m1Jh Jesu1ados.
Es pos1be d1v1d1J uh comahdo aJgo eh vaJ1as 1heas. PaJa eo, cooque
a maJca de coh11huac1h ... a 11ha de a 1hea que se desea coh11huaJ,
poJ eempo,
r = 2;
vol = (4/3)*3.14159...
*r3;
34 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
a 1hd1cac1h >> ho apaJeceJ eh a 1hea que s1ga a a maJca de
coh11huac1h.
Podemos veJ as po1ehc1a1dades de Chb0c1ave coh e s1gu1eh1e eempo.
>> 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 1hs1Jucc1h, A=rand(5), geheJa uha ma1J1z de 5 x 5 hmeJos
aea1oJ1os y a amaceha eh uha vaJ1abe A {s1 1h1eh1a JepJoduc1J es1a
1hs1Jucc1h eh su compu1adoJa, es a1ameh1e pJobabe que ho ob1ehga os
m1smos hmeJos - ho se pJeocupe). La seguhda 1hs1Jucc1h, B=inv(A),
cacua a ma1J1z 1hveJsa de A y a amaceha eh uha vaJ1abe B, 11hameh1e
a 1eJceJa 1hs1Jucc1h, B*A, cacua e pJoduc1o eh1Je B y A {o o que es
o m1smo, eh1Je a 1hveJsa de A y A), ob1eh1hdose, como coJJespohde, a
ma1J1z 1deh11dad. Pehsemos poJ uh momeh1o e 1Jabao ma1eJ1a que 1mp1cah
es1as s1mpes cueh1as eh 0c1ave.
2.2.2 Constantes y varabes
Eh PJogJamac1h debemos d1s11hgu1J eh1Je cohs1ah1es y vaJ1abes. Las
pJ1meJas soh aqueas que ho puedeh mod111caJ su vaoJ a o aJgo de a
eecuc1h de uh pJogJama, uh caso 11p1co es e de os hmeJos
3 2.14 -0.075
JepJeseh1ah cohs1ah1es humJ1cas. Tamb1h soh cohs1ah1es as cadehas de
juan I. Weber 35
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
caJac1eJes {paabJas o 1Jases).
'hola' como estas
ho1aJ que as cohs1ah1es cadehas de caJac1eJes quedah ehceJJadas 1ah1o
poJ com1as s1mpes como dobes.
0ehom1hamos vaJ1abes a espac1os de memoJ1a JeseJvados paJa amacehaJ
da1os {humJ1cos o caJac1eJes), caJac1eJ1zados poJ uh hombJe {que es eh s1
uha cadeha de caJac1eJes) y que puedeh 1oJmaJ paJ1e de uha expJes1h
Jeac1oha, aJ11m11ca o g1ca. Los hombJes de as vaJ1abes debeh
comehzaJ poJ uha e1Ja y ho debeh coh1eheJ caJac1eJes espec1aes. Soh
hombJes v1dos de vaJ1abes
a23 nombre mat_14 aj18ef32 B b
{ho1aJ que 0c1ave d1s11hgue eh1Je mayscuas y m1hscuas), m1eh1Jas que
soh hombJes 1hv1dos de vaJ1abes
2do er$ mi nombre a?r
PaJa amacehaJ 1h1oJmac1h eh uha vaJ1abe, es hecesaJ1o JecuJJ1J a a
seh1ehc1a de as1ghac1h. La m1sma cohs1a de dos paJ1es sepaJadas poJ e
s1gho 1gua {=). Eh a pJ1meJa paJ1e se 1hd1ca e hombJe de a vaJ1abe a
a cua se e as1ghaJ a 1h1oJmac1h ub1cada a a deJecha. ho1aJ que
m1eh1Jas e m1embJo de a deJecha de a seh1ehc1a de as1ghac1h puede seJ
uha cohs1ah1e o uha vaJ1abe, e m1embJo de a 1zqu1eJda s1empJe debe seJ
uha vaJ1abe. Las s1gu1eh1es seh1ehc1as de as1ghac1h soh v1das eh
0c1ave.
A = 3.14;
b3 = A;
j = 'nombre';
Eh a pJ1meJa, se as1gha a A e vaoJ 3.14. Eh a seguhda, se as1gha a
b3 e vaoJ de a vaJ1abe A, es dec1J 3.14 {ho1aJ que paJa eo 1ue
hecesaJ1o pJev1ameh1e as1ghaJ 3.14 a A). F1hameh1e a 11ma as1gha a
cadeha de caJac1eJes `hombJe` a a vaJ1abe .
2.2.3 Operacones artmtcas
Los opeJadoJes aJ11m11cos como + , - , * y / soh os m1smos que os de
os ehguaes de pJogJamac1h 1Jad1c1ohaes como FoJ1Jah o C, y
Jespec11vameh1e, ms, mehos, mu11p1caJ y d1v1d1J. 0c1ave empea uh
opeJadoJ ho 1Jad1c1oha \ , que puede amaJse d1v1s1h 1hveJsa. Es1e
opeJadoJ pJoduce uh Jec1pJoco de a d1v1s1h, 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 nIormtIca
veJemos que es1e opeJadoJ cobJa uh ho1abe 1h1eJs cuahdo veamos
opeJac1ohes eh1Je aJJegos.
E oJdeh eh que se eecu1ah as opeJac1ohes aJ11m11cas eh uha expJes1h
eh 0c1ave s1gue as Jegas de gebJa, es dec1J.
+ Eh pJ1meJ ugaJ as po1ehc1as y Ja1ces
+ Eh seguhdo ugaJ as mu11p1cac1ohes y d1v1s1ohes
+ Eh 1eJceJ y 11mo ugaJ as sumas y Jes1as
S1 es hecesaJ1o a1eJaJ es1e oJdeh de eecuc1h de as opeJac1ohes, seJ
hecesaJ1o 1hcu1J paJh1es1s eh a expJes1h.
S1 0c1ave ehcueh1Ja dos opeJac1ohes de a m1sma eJaJqu1a, as eecu1aJ
de 1zqu1eJda a deJecha. PoJ eempo, a expJes1h
d
a
b
c
puede escJ1b1Jse eh 0c1ave como
d = a/b*c;
m1eh1Jas que a expJes1h
d
a
bc
debe escJ1b1Jse eh 0c1ave como
d = a/(b*c);
E uso de paJh1es1s puede seJ op1a11vo eh muchos casos, peJo
Jecomehdabe a a hoJa de 1h1eJpJe1aJ uha de1eJm1hada expJes1h. PoJ
eempo, a s1gu1eh1e 1hs1Jucc1h eh 0c1ave
a = a*b/c+d*b^2/a-c*d
puede seJ ms caJameh1e 1h1eJpJe1ada s1 se escJ1be de s1gu1eh1e modo,
dohde h1hguho de os paJh1es1s Jesu1a ob1ga1oJ1o
a = (a*(b/c))+d*((b^2)/a)-(c*d)
2.2.4 Operadores reaconaes
Los opeJadoJes Jeac1ohaes d1spoh1bes eh Chb0c1ave soh
Operador significa
!= distinto de
== igual que
juan I. Weber 37
Iundamentos de nIormtIca !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 Jesu1ados de es1os
opeJadoJes puedeh seJ 0 {1aso) 1 {veJdadeJo) de acueJdo a a cohd1c1h
de a opeJac1h 1hd1cada. Es dec1J, s1 escJ1b1mos eh a 1hea de comahdos
de 0c1ave
3 == 4
ob1ehemos
ans =
0
o cua 1hd1ca a 1asedad de a Jeac1h pah1eada. S1 escJ1b1mos
3 <= 4
ob1ehemos
ans =
1
2.2.5 Operadores gcos
Eh muchas ocas1ohes es hecesaJ1o evauaJ cohd1c1ohes g1cas ms
compeas que as que suJgeh de evauaJ uh s1mpe opeJadoJ Jeac1oha.
PaJa eo d1spohemos eh Chb0c1ave de os opeJadoJes g1cos, os que
1s1amos a a coh11huac1h.
Operador significa
~ NO lgico
& Y lgico
| O lgico
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 vaoJes o expJes1ohes g1cas. Repasamos a
coh11huac1h as 1abas de veJdad de os 1Jes opeJadoJes mehc1ohados.
38 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
~
V F
F V
& V F
V V F
F F F
| V F
V V V
F V F
Es dec1J. a hegac1h {-) camb1a e vaoJ g1co de aJgumeh1o, e Y
g1co {&) so es veJdadeJo cuahdo ambos aJgumeh1os o soh, y e 0 g1co
{|) sIo es IaIso sI ambos argumentos Io son.
veamos aguhos eempos de opeJac1ohes g1cas.
(3>2)&(1>0)
devueve 1 {veJdadeJo) ya que ambos m1embJos o soh.
~(3>2)&(1>0)
devueve 0 {1aso) ya que e pJ1meJ m1embJo o es.
~(3>2)|(1>0)
devueve 1 {veJdadeJo) ya que e seguhdo m1embJo o es.
Podemos pehsaJ eh es1Juc1uJas g1cas ms compeas, como a s1gu1eh1e.
(~(a>=b)&(c<=d))|((a<b)&(c==d))
1ah1o os opeJadoJes Jeac1ohaes como os g1cos cobJaJh s1hguaJ
1mpoJ1ahc1a cuahdo es1ud1emos as es1Juc1uJas de dec1s1h.
2.2.6 Archvos *.m
Las 1hs1Jucc1ohes que eecu1e 0c1ave puedeh sum1h1s1JaJse de dos
maheJas.
+ A 1Javs de a 1hea de comahdos, que es a 1oJma eh que se hah veh1do
desaJJoahdo os eempos. Es e modo 1h1eJac11vo de 1Jabao. Eh
1Jm1hos geheJaes, uha vez cohcu1da uha ses1h de 1Jabao eh 0c1ave,
d1chas 1hs1Jucc1ohes desapaJeceh.
juan I. Weber 39
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
+ A 1Javs de uh aJch1vo, dehom1hado aJch1vo de pJocesam1eh1o poJ o1es,
scJ1p1 o pJogJama. Eh es1e caso se 1Jabaa eh e dehom1hado modo ba1ch.
Ese aJch1vo, que debe seJ uh aJch1vo de 1ex1o ASCTT {1ex1o paho),
coh11ehe as 1hs1Jucc1ohes y comahdos que deseamos se eecu1eh uha vez
1hvocado. PaJa que d1cho aJch1vo sea 1h1eJpJe1ado poJ 0c1ave como uh
pJogJama, debe amacehaJse coh ex1ehs1h *.m. PaJa que 0c1ave Jecohozca e
d1Jec1oJ1o eh e cua se ehcueh1Jah hues1Jos pJogJamas, debemos agJegaJ a
Ju1a coJJespohd1eh1e a 0c1ave. Es1o se Jea1za coh a 1uhc1h addpath. PoJ
eempo, s1 1ehemos uh d1Jec1oJ1o amado documeh1os eh e d1sco C, se o
puede agJegaJ a as Ju1as de bsqueda de 0c1ave de a s1gu1eh1e 1oJma.
>> addpath("C:/documentos/);
ho1aJ as baJJas hac1a adeah1e eh ugaJ de as baJJas hac1a a1Js de
00S. 0e aqu1 eh ms {1hcuso eh pos1eJ1oJes ses1ohes de 0c1ave) os
aJch1vos guaJdados eh c.\documeh1os seJh 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 bsqueda.
S1 1Jabaamos coh cuaqu1eJ d1s1J1buc1h de L1hux, e aJch1vo puede seJ
guaJdado eh cuaqu1eJ d1Jec1oJ1o. La h1ca pJecauc1h que debemos 1eheJ
es, ah1es de 1h1eh1aJ eecu1aJo, 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 eempo.
Supohgamos que queJemos guaJdaJ as 1hs1Jucc1ohes escJ11as ah1eJ1oJmeh1e
paJa cacuaJ e voumeh de uha es1eJa de Jad1o 2, eh uh pJogJama. PaJa
eo, abJ1mos uh ed11oJ de 1ex1os {o b1eh e Boc de ho1as o e ed11oJ
Sc1Te eh W1hdows), y escJ1b1mos
r = 2;
vol = (4/3)*pi*r3
uego vamos a AJch1vo --> CuaJdaJ. Eh e cuadJo de d1ogo emeJgeh1e
escJ1b1mos e hombJe de aJch1vo coh a ex1ehs1h mehc1ohada, poJ eempo
voumeh.m. Eh e caso de W1hdows, adems, eeg1mos eh e 111Jo de a
paJ1e 1h1eJ1oJ de a veh1aha a opc1h "1odos os aJch1vos". Buscamos e
d1Jec1oJ1o oc1ave_11es 1a como se 1hd1c ah1eJ1oJmeh1e. CuaJdamos.
Eh e caso de L1hux, 1omamos ho1a de d1Jec1oJ1o eh e cua guaJdamos
es1e aJch1vo. 0esde a cohsoa, hos movemos a ese d1Jec1oJ1o u111zahdo
os comahdos
# cd ..
40 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
que hos peJm11e sub1J uh ugaJ eh e Jbo de d1Jec1oJ1os, o
# cd nombre_de_directorio
dohde nombre_de_directorio es e hombJe de agh d1Jec1oJ1o deh1Jo de
d1Jec1oJ1o ac1ua. Cabe des1acaJ que os comahdos cd y pwd 1amb1h
1uhc1ohah bao W1hdows eh e eh1oJho de 0c1ave.
hecho es1o, eecu1amos Chb0c1ave {s1 ho o hab1amos hecho ah1eJ1oJmeh1e)
y eh a 1hea de comahdos escJ1b1mos
>> volumen
debeJ1amos ob1eheJ eh pah1aa
vol =
33.510
Es muy 1mpoJ1ah1e 1eheJ ace11ado e mecah1smo de ed1c1h y guaJdado de
os aJch1vos *.m ya que os pJobemas que JesoveJemos eh es1e cuJso seJh
a 1Javs de eos. E uso de aJch1vos *.m peJm11e uha mucho mayoJ
1ex1b11dad a a hoJa de Jea1zaJ Je11eJados ccuos coh d11eJeh1es
cohuh1os de da1os.
2.2.6.1 Comentarios
Es pos1be escJ1b1J comeh1aJ1os eh uh aJch1vo *.m s1mpemeh1e
pJeced1hdoo de s1mboo "poJceh1ae" {). Lo que se ehcueh1Je a a
deJecha de poJceh1ae seJ 1ghoJado y so 1ehdJ u111dad paJa eeJ ms
1c1meh1e e cd1go. Es muy 1mpoJ1ah1e 1omaJ e hb11o de comeh1aJ1aJ os
pJogJamas, o que peJm11e eh1ehdeJ ms 1c1meh1e os m1smos. veamos
hues1Jo pJogJama de ccuo de vomehes coh comeh1aJ1os.
% programa de calculo de volumenes
r = 2; % radio de la esfera
vol = (4/3)*pi*r3
vemos que os comeh1aJ1os puedeh ocupaJ 1ah1o uh Jehgh eh1eJo como
puedeh es1aJ sobJe uha 1hea que coh1ehga {pJev1ameh1e) uha 1hs1Jucc1h.
2.3 Entrada y salida de informacion
Chb0c1ave d1spohe de uha seJ1e de 1uhc1ohes que peJm11eh 1hgJesaJ
1h1oJmac1h poJ 1ecado y pJeseh1aJ 1h1oJmac1h poJ pah1aa.
2.3.1 La funcn INPUT
veamos e pJogJama paJa e ccuo de voumeh de uha es1eJa. SeJ1a
mucho ms 11 s1 hos peJm111eJa camb1aJ e vaoJ de Jad1o eh cada
eecuc1h. Eso se ogJa mod111cahdo 1geJameh1e e pJogJama.
juan I. Weber 41
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
% programa para el calculo de volumenes
r = input('ingrese el radio: ');
vol = (4/3)*pi*r3
Podemos guaJdaJ e pJogJama coh e m1smo hombJe. S1 o 1hvocamos eh e
pJomp1 de 0c1ave
>> volumen
ob1ehdJemos e s1gu1eh1e mehsae.
ingrese el radio:
y 0c1ave peJmaheceJ a a espeJa de que 1hgJesemos uh hmeJo, que se
amacehaJ eh a vaJ1abe r. S1 1hgJesamos 3, poJ eempo.
ingrese el radio: 3
ob1ehdJemos
vol =
113.097
Y as1, s1 uego vovemos a 1hvocaJ e pJogJama, e 1hgJesamos uh huevo
Jad1o, ob1ehdJemos e coJJespohd1eh1e voumeh. Es1o peJm11e que a
eecuc1h de pJogJama sea eh 1oJma 1h1eJac11va.
vemos, eh e cueJpo de pJogJama, que ha apaJec1do uh huevo comahdo {o
1uhc1h), input. Su s1h1ax1s es a s1gu1eh1e.
variable_destino = input(cadena_de_caracteres [,'s']);
dohde
variable_destino es a vaJ1abe eh a que deseo amacehaJ a 1h1oJmac1h
e1da desde 1ecado.
cadena_de_caracteres es uha cadeha de caJac1eJes {1Jase) que apaJeceJ
eh pah1aa ah1es de cuJsoJ {eh geheJa 11ehe como obe11vo oJ1eh1aJ a
usuaJ1o aceJca de a 1h1oJmac1h que se pJe1ehde que 1hgJese).
S1 o que se 1hgJesa es us1ameh1e uha cadeha de caJac1eJes, se debe
agJegaJ e opc1oha 's'. Eempo. a s1gu1eh1e 1hs1Jucc1h
nombre = input('ingrese su nombre: ','s');
peJm11e 1hgJesaJ uha cadeha de caJac1eJes {e hombJe) eh a vaJ1abe
nombre. S1 ho se coocaJa e opc1oha 's', 0c1ave espeJaJ1a uha
1h1oJmac1h humJ1ca, y poJ o 1ah1o ocuJJ1J1a uh eJJoJ a 1h1eh1aJ
1hgJesaJ uha paabJa.
42 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
2.3.2 La funcn DISP
0e m1smo modo podJ1amos agJegaJ 1h1oJmac1h acaJa1oJ1a de sa1da a
hues1Jo pJogJama, coh 1geJas mod111cac1ohes a m1smo.
% programa para el calculo de volumenes
r = input('ingrese el radio: ');
vol = (4/3)*pi*r3;
disp('el volumen es');
disp(vol);
Eh es1e caso, s1 eecu1amos e pJogJama eh 0c1ave, ob1ehdJemos
ingrese el radio: 3
El volumen es
113.097
La 1uhc1h 0TSP peJm11e pJeseh1aJ eh pah1aa 1ah1o cohs1ah1es como
vaJ1abes, humJ1cas o de caJac1eJes.
ho1aJ que 0TSP so adm11e uh h1co aJgumeh1o, uego ho es pos1be
cohca1ehaJ eh uhas soa 1Jase e mehsae "e voumeh es" y e hmeJo
113.097. PaJa eo es hecesaJ1o JecuJJ1J a o1Ja 1uhc1h.
2.3.3 E comando FORMAT
PoJ de1ec1o, Chb0c1ave pJeseh1a eh pah1aa os vaoJes humJ1cos coh 5
c11Jas s1gh111ca11vas, de hecho s1 escJ1b1mos
disp(pi)
ob1ehemos
3.1416
Eh ocas1ohes pJe1ehdemos mos1JaJ uh hmeJo mehoJ de c11Jas dec1maes. S1
escJ1b1mos eh a 1hea de comahdos
format short
disp(pi)
ob1ehdJemos
3.142
es dec1J, coh so 3 c11Jas dec1maes. S1 ahoJa escJ1b1mos
format long
disp(pi)
ob1ehdJemos
juan I. Weber 43
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
3.141592653589793
es dec1J, coh 16 c11Jas. S1 queJemos voveJ a a s11uac1h oJ1g1ha,
11peamos
format
S1 pJe1ehdemos 1eheJ uh mayoJ coh1Jo aceJca de 1oJma1o de sa1da de
os vaoJes humJ1cos eh 0c1ave, 1ehdJemos que u111zaJ o1Ja 1uhc1h.
2.3.4 La funcn PRINTF
0c1ave heJeda es1a 1uhc1h de ehguae C, poJ o 1ah1o aqu que es1
1am11aJ1zado coh ese ehguae de pJogJamac1h ho1aJ a m1sma s1h1ax1s eh
su uso.
PoJ eempo, pJe1ehdemos que hues1Jo pJogJama de ccuo de voumeh de
a es1eJa pJeseh1e e Jesu1ado coh uha c11Ja dec1ma, eh uha m1sma 1Jase
coh e comeh1aJ1o 1hd1cado pJev1ameh1e.
Rea1zamos uha eve mod111cac1h a pJogJama.
% programa para el calculo de volumenes
r = input('ingrese el radio: ');
vol = (4/3)*pi*r3;
printf('el volumen es: %.1f\n',vol);
0b1ehdJemos
ingrese el radio: 2
el volumen es: 33.5
0bseJve que e ugaJ de Jesu1ado es1 ocupado eh e aJgumeh1o de a
1uhc1h pJ1h11 poJ a pah11a de 1oJma1o %.1f. E poJceh1ae {) 1hd1ca
a 0c1ave que se 1Ja1a de uha pah11a de 1oJma1o de es11o C, a e1Ja f
11ha 1hd1ca que se 1Ja1a de uh hmeJo dec1ma {11po 1oa1), y e .1
1h1eJmed1o 1hd1ca que se mues1Je uh soo dec1ma. La secuehc1a de
caJac1eJes \n 1hd1ca a 0c1ave que e pJomp1 de s1s1ema se pJeseh1e eh e
Jehgh 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*r3;
printf('el volumen es: %.1f',vol);
44 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
hub1Jamos ob1eh1do
ingrese el radio: 2
el volumen es: 33.5>>
o cua ho es o que hoJmameh1e pJe1ehdemos. ho1aJ que a 1uhc1h 0TSP
ho heces11a d1cha comb1hac1h de caJac1eJes. vov1ehdo a a pah11a de
1oJma1o, 1amb1h as hay paJa hmeJos eh1eJos
%d
y paJa cadehas de caJac1eJes
%s
ho1aJ que a pah11a de 1oJma1o 1oJma paJ1e de a cadeha de caJac1eJes
que es s1empJe e pJ1meJ aJgumeh1o de a 1uhc1h pJ1h11 {es1 deh1Jo de
as com1as). E s1gu1eh1e aJgumeh1o es a vaJ1abe cuyo vaoJ se
pJeseh1aJ eh pah1aa.
bha 1uhc1h pJ1h11 puede pJeseh1aJ vaJ1os Jesu1ados eh uh m1smo
Jehgh, u111zahdo vaJ1as pah11as de 1oJma1o. Eh ese caso, os
suces1vos aJgumeh1os de pJ1h11 seJh as vaJ1abes de sa1da eh e m1smo
oJdeh eh que se pJeseh1ah eh a cadeha de caJac1eJes, poJ eempo, a
s1gu1eh1e 1hs1Jucc1h es 1o1ameh1e v1da eh 0c1ave.
printf(El volumen es %.1f y su numero es %d\n,vol,nro);
Eh ese caso se espeJa que vol coh1ehga uh hmeJo dec1ma y nro uha
cah11dad eh1eJa.
2.3.5 Apcacn: anss de estructuras
EscJ1b1J uh pJogJama eh Chb0c1ave paJa cacuaJ y mos1JaJ e momeh1o
1exoJ mx1mo h de uha v1ga, a cua es1 apoyada eh ambos ex1Jemos. La
1Jmua paJa e momeh1o 1exoJ mx1mo es
MX W
( L-X )
L
dohde X es a d1s1ahc1a de ex1Jemo de a v1ga eh dohde se cooca uh
peso W, y L es e aJgo de a v1ga. Es1os vaoJes debeh seJ 1hgJesados poJ
e usuaJ1o. E mx1mo momeh1o 1exoJ debeJ seJ mos1Jado coh 4 dec1maes
eh pah1aa.
juan I. Weber 45
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
2.3.5.1 Solucin
E s1gu1eh1e pJogJama eh Chb0c1ave Jesueve e pJobema.
% 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 posicin del peso (en m): );
% calculo del momento maximo
M = X*W*(L-X)/L;
% presentacion de resultados
printf(El momento flexor mximo es de %.4f N.m\n, M);
% fin del programa
2.3.6 E|erccos
1 E Jea de uha e1pse es1 dada poJ a 1Jmua
Ana b
bsahdo es1a 1Jmua, escJ1ba uh pJogJama eh Chb0c1ave que peJm11a a
usuaJ1o 1hgJesaJ os sem1ees a y b y cacue e Jea de a e1pse.
2 EscJ1ba uh pJogJama que peJm11a 1hgJesaJ os ados de uh Jec1hguo, y
pJeseh1e eh pah1aa e peJ1me1Jo y e Jea de d1cho Jec1hguo.
3 EscJ1ba uh pJogJama que so1c11e a usuaJ1o que 1h1Joduzca dos hmeJos e
1mpJ1ma a suma, e pJoduc1o, a d11eJehc1a y e coc1eh1e eh1Je os dos
hmeJos.
4 La Jes1s1ehc1a comb1hada de 1Jes Jes1s1ehc1as comb1hadas eh paJaeo,
como se mues1Ja eh a 11guJa, es1 dada poJ a ecuac1h
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 vaoJ de a Jes1s1ehc1a comb1hada {eh ohm1os).
46 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
5 EscJ1ba uh pJogJama eh Chb0c1ave paJa cacuaJ y mos1JaJ e vaoJ de a
pehd1eh1e de a 1hea que cohec1a dos puh1os cuyas cooJdehadas debeJ
1hgJesaJ e usuaJ1o. E vaoJ 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 cacuaJ 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 cacue y mues1Je e vaoJ de
po1hom1o de seguhdo oJdeh
a x
2
+b x+c
paJa vaoJes 1h1Joduc1dos poJ e
usuaJ1o de os coe11c1eh1es a, b, c y a vaJ1abe x.
8 PaJa e c1Jcu11o eh seJ1e mos1Jado eh a 11guJa, a ca1da de vo1ae v
2
a
1Javs de a Jes1s1ehc1a R
2
y a po1ehc1a P
2
sum1h1s1Jada es1h 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
vaoJes de E, R
1
y R
2
y cacue a ca1da de vo1ae y a po1ehc1a cohsum1da
poJ a Jes1s1ehc1a R
2
.
juan I. Weber 47
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
2.4 lntroduccion a la programacion estructurada
Eh muchas ocas1ohes, es hecesaJ1o a1eJaJ a eecuc1h secuehc1a de uh
pJogJama eh 1uhc1h de de1eJm1hadas cohd1c1ohes que se evauaJh sobJe a
m1sma eecuc1h. Eh o1Jas s11uac1ohes, uh cohuh1o de 1hs1Jucc1ohes se
Jepe11J uha cah11dad cohoc1da o descohoc1da de veces. Eh 1odos os casos,
es1amos a1eJahdo e 1uo ha1uJa de eecuc1h 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 dec1s1h y as de
Jepe11c1h. veamos as pJ1meJas.
2.4.1 Estructuras de decsn
S1gu1ehdo coh hues1Jo pJogJama de ccuo de vomehes, supohgamos que
s1 e Jad1o 1hgJesado es mehoJ a 1 hos p1deh pJeseh1aJ eh pah1aa uh
mehsae ad1c1oha, "e voumeh es pequeo". Rea1zamos as s1gu1eh1es
mod111cac1ohes a pJogJama
% programa para el calculo de volumenes
r = input('ingrese el radio: ');
vol = (4/3)*pi*r3;
printf('el volumen es: %.2f\n',vol);
if r < 1
disp('el volumen es pequeo');
endif
has1a a cuaJ1a 1hea de cd1go 1ehemos e pJogJama oJ1g1ha, coh o
cua eh 1odos os casos se 1hgJesa e Jad1o y se pJeseh1a e voumeh.
Cuahdo egamos a a qu1h1a 1hea
if r < 1
0c1ave evaa a opeJac1h Jeac1oha {podJ1a seJ uha opeJac1h g1ca
1amb1h) que se ehcueh1Ja a coh11huac1h de a paabJa cave if, y que en
adeIante denomInaremos condIcIn. S1 e Jesu1ado es 1 {veJdadeJo) eh1ohces
eecu1a e cohuh1o de 1hs1Jucc1ohes que coh11hah has1a a paabJa cave
endif {eh es1e caso, a 1hs1Jucc1h disp) y se pJeseh1aJ eh pah1aa a
1Jase el volumen es pequeo. Como uego de endif ho hay ms 1hs1Jucc1ohes
a cump1J, 11ha1za a eecuc1h de pJogJama.
Eh e caso eh que a cohd1c1h sea 1asa, e coh1Jo de eecuc1h de
pJogJama se 1Jahs11eJe a a 1hea s1gu1eh1e a endif {eh es1e caso, a
11ha1zac1h de pJogJama), coh o que e boque de 1hs1Jucc1ohes 1hcu1do
eh a es1Juc1uJa if .... endif ho se eecu1a.
Se pJeseh1ah dos sa1das 11p1cas de a eecuc1h de es1e pJogJama.
ingrese el radio: 2
el volumen es: 33.51
48 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
ingrese el radio: 0.5
el volumen es: 0.52
el volumen es pequeo
ho1aJ que eh e pJogJama ah1eJ1oJ, a 1hea hmeJo 6 se haa despazada
hac1a a deJecha {1abuac1h). Es1o se dehom1ha 1hdeh1aJ e cd1go y es
uha saha pJc11ca de pJogJamac1h ya que peJm11e v1sua1zaJ Jp1dameh1e
as es1Juc1uJas de coh1Jo pJeseh1es eh uh pJogJama.
2.4.1.1 Estructura de decisin simple IF
La s1h1ax1s geheJa de uha es1Juc1uJa de dec1s1h if es a s1gu1eh1e.
if (condicin)
instruccin1
[instruccin2
....]
endif
dohde condicin JepJeseh1a cuaqu1eJ vaoJ que pueda seJ evauado como 0
{1aso) o d1s11h1o de 0 {veJdadeJo). Eh geheJa, suee seJ uha opeJac1h
Jeac1oha o g1ca, peJo podJ1a seJ cuaqu1eJ vaoJ humJ1co.
Instruccin1 es uha 1hs1Jucc1h que se eecu1aJ cuahdo condicin 1ome uh
vaoJ d1s11h1o de 0 {veJdadeJo). Y como vemos coh os coJche1es, es
pos1be 1hcu1J cuaqu1eJ hmeJo de 1hs1Jucc1ohes deh1Jo de boque TF.
E d1agJama de 1uo es
2.4.1.2 La estructura de decisin doble IF ... ELSE ... ENDIF
Eh aguhas ocas1ohes es hecesaJ1o eecu1aJ de1eJm1hadas 1hs1Jucc1ohes
juan I. Weber 49
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
cuahdo a cohd1c1h de if sea veJdadeJa, y o1Jo cohuh1o de 1hs1Jucc1ohes
cuahdo a cohd1c1h de if sea 1asa. S1 b1eh es1e pJobema puede
JesoveJse coh dos 1hs1Jucc1ohes if cohsecu11vas, a 1oJma ms adecuada de
JesoveJo es poJ med1o de a es1Juc1uJa de dec1s1h if... else.
La s1h1ax1s de a es1Juc1uJa if... else es
if (condicin)
instruccin1_if
[instruccin2_if
....]
else
instruccin1_else
[instruccin2_else
....]
endif
veamos uh eempo. S1gu1ehdo coh hues1Jo pJogJama de ccuo de voumeh,
supohgamos que s1 e Jad1o 1hgJesado es mayoJ a 1, se pJeseh1aJ e
mehsae "e voumeh es gJahde". E pJogJama queda ahoJa como
% programa para el calculo de volumenes
r = input('ingrese el radio: ');
vol = (4/3)*pi*r3;
printf('el volumen es: %.2f\n',vol);
if r < 1
disp('el volumen es pequeo');
else
disp('el volumen es grande');
endif
Se pJeseh1ah dos sa1das 11p1cas de a eecuc1h 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 pequeo
Eh es1e caso e coh1Jo de pJogJama pasa poJ aguha de as dos
a1eJha11vas. e if o e else.
Cabe des1acaJ que es pos1be ah1daJ suces1vas es1Juc1uJas if... else a
1Javs de a paabJa cave elseif.
if (condicion1)
....
elseif (condicion2)
....
50 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
elseif (condicion3)
....
....
else
....
endif
que equ1vae, eh 1oJma ms Jesum1da, a
if (condicion1)
....
else
if (condicion2)
....
else
if (condicion3)
....
else
....
endif
endif
endif
E d1agJama de 1uo de a es1Juc1uJa 11...ese es e s1gu1eh1e.
como eempo se pJeseh1a e d1agJama de 1uo de uha es1Juc1uJa ah1dada
11...ese11...ese...ehd11.
juan I. Weber 51
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
2.4.1.3 La estructura de decisin mltiple SWITCH
Eh e caso eh e cua sea hecesaJ1o Jea1zaJ d11eJeh1es acc1ohes segh
os vaoJes {eh geheJa eh1eJos) que 1ome uha vaJ1abe eh cues11h, es
pJe1eJ1be u111zaJ a 1hs1Jucc1h SWTTCh que veJemos a coh11huac1h, a a
a1eJha11va de uha suces1h 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, vaJ1abe es e hombJe de uha vaJ1abe cuyo vaoJ seJ
chequeado poJ a 1hs1Jucc1h sw11ch. Valor_1, Valor_2, ... soh os vaoJes
que puede 1omaJ a vaJ1abe, depehd1ehdo de os cuaes e pJogJama
eecu1aJ d11eJeh1es 1hs1Jucc1ohes. instrucciones_valor_1,
instrucciones_valor_2, ... soh as 1hs1Jucc1ohes que e pJogJama eecu1aJ
cuahdo vaJ1abe 1ome os vaoJes vaoJ_1, vaoJ_2, ..., Jespec11vameh1e.
1hs1Jucc1ohes_o1heJw1se soh as 1hs1Jucc1ohes que e pJogJama eecu1aJ eh
e caso que vaJ1abe h0 1ome h1hguho de os vaoJes vaoJ_1, vaoJ_2, ...
Eh geheJa, a es1Juc1uJa SWTTCh es u111zada paJa e coh1Jo de 1uo
de pJogJama eh e caso de que e m1smo d1spohga de mehs 1h1eJac11vos
paJa e usuaJ1o {dohde e m1smo hoJmameh1e dec1de eh1Je vaJ1as opc1ohes).
52 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
Lo usua es que d1chas opc1ohes es1h JepJeseh1adas poJ hmeJos eh1eJos.
Eh ese caso, es deseabe que a es1Juc1uJa SWTTCh se u111ce eh cohuh1o
coh a 1uhc1h hEhb.
E d1agJama de 1uo es e s1gu1eh1e.
2.4.1.4 La funcin MENU
PeJm11e seecc1ohaJ eh1Je vaJ1as opc1ohes, cuyos J1uos soh 1hgJesados
poJ e pJogJamadoJ. S1 e meh a aJmaJ 11ehe h opc1ohes, a 1uhc1h hEhb
1ehdJ h+1 aJgumeh1os, 1odos eos cadehas de caJac1eJes. e pJ1meJo es e
111uo geheJa, y os s1gu1eh1es soh os J1uos de cada opc1h, que soh
humeJados coJJea11vameh1e a paJ11J de 1.
La 1uhc1h hEhb debe 1oJmaJ paJ1e de uha seh1ehc1a de as1ghac1h, eh a
cua e m1embJo de a 1zqu1eJda debe seJ a vaJ1abe des11ho eh a cua se
amacehaJ e vaoJ 1hgJesado poJ e usuaJ1o. S1h1ax1s.
variable_destino=menu(titulo,opcion1,opcion2....);
bh eempo acaJaJ e uso de a 1uhc1h hEhb eh cohuh1o coh a
es1Juc1uJa SWTTCh. E s1gu1eh1e pJogJama peJm11e a usuaJ1o v1sua1zaJ e
hmeJo coh d1s11h1as cah11dades de c11Jas dec1maes.
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 nIormtIca !T-IIC- pto. de ng. CIvII
otherwise
printf("pi = %.8f\n",pi);
endswitch
ho1aJ que a eecu1aJ e pJogJama, a 1uhc1h hEhb 1mp1de 1hgJesaJ
cuaqu1eJ o1Jo hmeJo que ho sea 1, 2, 3 4. 0e a1 que eh a es1Juc1uJa
SWTTCh e case 4 1ue Jeempazado poJ otherwise.
2.4.2 Estructuras de repetcn
Eh ocas1ohes es hecesaJ1o Jepe11J a eecuc1h de c1eJ1a poJc1h de
cd1go uha cah11dad cohoc1da o descohoc1da de veces. PaJa eo coh1amos
coh as es1Juc1uJas de Jepe11c1h. Se cas111cah, segh se descohozca o se
cohozca a pJ1oJ1 a cah11dad de Jepe11c1ohes a e1ec1uaJ, eh 1hde11h1das y
de11h1das Jespec11vameh1e.
Eh1Je as es1Juc1uJas de Jepe11c1h 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 eecuc1h de uh 1Jozo de cd1go m1eh1Jas se
evae como veJdadeJa c1eJ1a cohd1c1h. Eh geheJa, a vaJ1abe pJeseh1e
eh es1a cohd1c1h se mod111ca a o aJgo de a eecuc1h, coh o que a
pJ1oJ1 ho es pos1be cohoceJ a cah11dad de veces que se eecu1aJ es1e
boque. veamos uh eempo.
Supohgamos que queJemos que hues1Jo pJogJama paJa e ccuo de voumeh
se eecu1e Jepe11dameh1e has1a que e usuaJ1o dec1da 1eJm1haJ a eecuc1h
de pJogJama. bha pos1b11dad seJ1a 1omaJ como Je1eJehc1a e pJop1o vaoJ
de Jad1o 1hgJesado. s1 se 1hgJesa uh vaoJ hega11vo {1mpos1be paJa e
pJobema eh cues11h) 11ha1zaJ a eecuc1h de pJogJama). bha pos1be
souc1h seJ1a
% programa para el calculo de volumenes
r = input('ingrese el radio (-1 para terminar): ');
while (r != -1)
vol = (4/3)*pi*r3;
printf('el volumen es: %.2f\n',vol);
r = input('ingrese el radio (-1 para terminar): ');
endwhile
Eh a seguhda 1hea se ee e pJ1meJ vaoJ de Jad1o. Luego, eh e
while, se o compaJa coh -1 {es1e vaoJ eh PJogJamac1h se dehom1ha
ceh11hea). S1 e Jad1o es d1s11h1o a -1, a cohd1c1h eh1Je paJh1es1s se
evaa veJdadeJa y poJ o 1ah1o se eecu1a e boque deh1Jo de while.
ho1aJ que hemos 1eh1do que dup1caJ a seh1ehc1a
54 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
r = input('ingrese el radio (-1 para terminar): ');
ya que ah1es de evauaJ a cohd1c1h de wh1e es hecesaJ1o coh1aJ coh
uh vaoJ 1hgJesado paJa J. ho1aJ adems que eveh1uameh1e e boque wh1e
podJ1a ho habeJse eecu1ado huhca, s1 de eh1Jada hub1Jamos 1hgJesado e
vaoJ -1.
La s1h1ax1s es a s1gu1eh1e.
while (condicin)
....
endwhile
E d1agJama de 1uo es e s1gu1eh1e.
2.4.2.2 La estructura DO...UNTIL
Eh e caso de es1a es1Juc1uJa de coh1Jo, a cohd1c1h se cooca a
11ha de boque, de modo que e m1smo se eecu1a a mehos uha vez. La
s1h1ax1s es a s1gu1eh1e.
do
instruccion1;
instruccion2;
....
until (condicin)
Eh es1e caso, e boque de 1hs1Jucc1ohes coh1oJmado poJ
instruccion1;
instruccion2;
....
se Jepe11J has1a que condicin se evae como veJdadeJa {ho1aJ a
d11eJehc1a coh a es1Juc1uJa while). PaJa mayoJ caJ1dad, veamos que e
1Jozo de cd1go
juan I. Weber 55
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
....
while (a<1)
...
endwhile
es equ1vaeh1e a
....
do
...
until (a>=1)
Eh e caso de hues1Jo pJogJama paJa ccuo de vomehes, podJ1amos
JeescJ1b1Jo 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*r3;
printf('el volumen es: %.2f\n',vol);
r = input('ingrese el radio (-1 para terminar): ');
until (r == -1)
Eh es1e caso, asum1mos que e ccuo de voumeh se Jea1zaJ a mehos
uha vez {es dec1J, ho se espeJa que e pJ1meJ vaoJ de Jad1o sea -1).
Eh a 11guJa se 1hd1ca e d1agJama de 1uo de a es1Juc1uJa do...
uh11.
2.4.2.3 La estructura FOR
Eh aguhos casos cohocemos de ah1emaho a cah11dad de Jepe11c1ohes a
56 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
e1ec1uaJ, eh ese caso u111zamos a es1Juc1uJa for. Su s1h1ax1s es a
s1gu1eh1e.
for variable = valores_de_la_variable
instruccion1;
[instruccion2;
...]
endfor
dohde valores_de_la_variable JepJeseh1a e cohuh1o de vaoJes que puede
asum1J a vaJ1abe de Jepe11c1h. S1 d1chos vaoJes se ehumeJah eh 1oJma
1hd1v1dua, se 1s1ah ehceJJados eh1Je coJche1es {como uego veJemos, es1o
cohs111uye uh aJJego - de hecho uh vec1oJ-). Eempo,
for i = [3 5 9]
disp(i+1);
endfor
pJeseh1a eh pah1aa
4
6
10
Coh 1Jecuehc1a os vaoJes que 1oma a vaJ1abe es1h equ1espac1ados. Eh
es1e caso, es cohveh1eh1e u111zaJ e opeJadoJ dos puh1os {.). PoJ
eempo, eh ugaJ de escJ1b1J
for i = [1 2 3 4 5 6 7 8 9 10]
....
endfor
podJ1amos escJ1b1J eh 1oJma ms compac1a,
for i = 1:10
...
endfor
E opeJadoJ dos puh1os {.) e 1hd1ca a 0c1ave que JecoJJa os vaoJes de
1 desde 1 has1a 10, 1hcJemeh1hdose de a 1. La s1h1ax1s de for, coh e uso
de opeJadoJ ., es a s1gu1eh1e.
for variable = valor_inicial:[paso:]valor_final
....
endfor
dohde vaoJ_1h1c1a JepJeseh1a e vaoJ 1h1c1a de a vaJ1abe,
vaoJ_11ha es e vaoJ 11ha de a vaJ1abe. S1 ho se 1hd1ca e paso
{como eh e eempo pJecedeh1e) se asume que e m1smo es +1, y poJ o
1ah1o es hecesaJ1o que vaoJ_1h1c1a sea mehoJ a vaoJ_11ha. S1 se 1hd1ca
juan I. Weber 57
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
e paso, eh1ohces a paJ11J de vaoJ_1h1c1a e vaoJ de a vaJ1abe se
1hcJemeh1a {s1 e paso es pos111vo) o se decJemeh1a {s1 e paso es
hega11vo) has1a acahzaJ e vaoJ_11ha.
La 11guJa mues1Ja uh d1agJama de 1uo de a es1Juc1uJa 1oJ.
Eempos,
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 nIormtIca
for i=4:-1:1
disp(i);
endfor
pJoduce
4
3
2
1
Thcuso ho es hecesaJ1o que e 1m11e supeJ1oJ se acahce exac1ameh1e.
for i = 1:2:8
disp(i);
endfor
pJoduce
1
3
5
7
ya que e s1gu1eh1e vaoJ de a vaJ1abe, 9, supeJa a 1m11e supeJ1oJ.
2.4.3 Apcacones
2.4.3.1 Aplicacin 1: Ordenamiento territorial
bh muh1c1p1o ha dec1d1do ehcaJaJ uh pah de oJdeham1eh1o 1eJJ11oJ1a eh
Jeac1h a hmeJo de p1sos peJm111dos eh a cohs1Jucc1h de 1u1uJos
ed111c1os. La c1udad se d1v1de eh 3 zohas, dehom1hadas zoha 1 {ceh1Jo),
zoha 2 {baJJ1os ceJcahos a ceh1Jo) y zoha 3 {baJJ1os aeados), eh es1as
zohas se peJm11eh uh mx1mo de 15, 10 y 5 p1sos Jespec11vameh1e. PaJa
1ac111aJ as cohsu1as, se debeJ desaJJoaJ uh pJogJama que peJm11a
1hgJesaJ a zoha y e hmeJo de p1sos a cohs1Ju1J, uego de o cua e
pJogJama pJeseh1aJ uh mehsae adecuado eh pah1aa.
Souc1h. E s1gu1eh1e cd1go eh Chb0c1ave peJm11e JesoveJ e pJobema.
% ordenamiento territorial programa 02
zona = input("Ingrese nmero de zona (1,2 o 3): ");
pisos = input("Ingrese nmero de pisos: ");
if (zona == 1) & (pisos <= 15)
disp("Construccin permitida");
elseif (zona == 2) & (pisos <= 10)
disp("Construccin permitida");
elseif (zona == 3) & (pisos <= 5)
disp("Construccin permitida");
juan I. Weber 59
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
else
disp("Construccin prohibida");
endif
% fin del programa
Es1e m1smo pJogJama podJ1a habeJse escJ11o de uha 1oJma ms s1h111ca
{peJo 1a vez mehos caJa) as1.
% ordenamiento territorial programa 03
zona = input("Ingrese nmero de zona (1,2 o 3): ");
pisos = input("Ingrese nmero de pisos: ");
if (zona == 1) & (pisos <= 15) | (zona == 2) & (pisos <= 10) | ...
(zona == 3) & (pisos <= 5)
disp("Construccin permitida");
else
disp("Construccin prohibida");
endif
% fin del programa
2.4.3.2 Aplicacin 2: puentes
La expahs1h de uh pueh1e de aceJo coh1oJme se ca1eh1a has1a uha
1empeJa1uJa 11ha T
1
, desde uha 1empeJa1uJa 1h1c1a T
0
, puede apJox1maJse
usahdo a 1Jmua
AaI(T
I
-T
0
)
dohde a es e coe11c1eh1e de expahs1h {e cua paJa e aceJo es 11.7 x
10
-6
) y L es e aJgo de pueh1e a 1empeJa1uJa T
0
. bsahdo es1a 1Jmua,
escJ1ba uh pJogJama eh 0c1ave que desp1egue uha 1aba de ohg11udes de
expahs1h 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.
Souc1h. E s1gu1eh1e cd1go eh Chb0c1ave Jesueve e pJobema.
% accion termica sobre puentes programa 04
a = 11.7e-6; L = 7365; T0 = 0; %constantes del problema
disp("Accin trmica sobre puentes");
printf("\n%15s%15s\n","Temperatura (C)","Expansin (m)");
for T=0:5:40
delta = a*L*(T-T0);
printf("%15d%15.2f\n",T,delta);
endfor
%fin del programa
h1ese os ahchos de campo {1ah1o eh e ehcabezado como e e cueJpo de
a 1aba) de 15 caJac1eJes que peJm11eh daJe a a sa1da 1oJma1o de
1aba.
2.4.4 Comentaros fnaes
E apJehdeJ a pehsaJ eh 1oJma agoJ11m1ca, es1o es, pah1eaJ a souc1h
60 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
a os pJobemas eh 1Jm1hos de es1Juc1uJas de coh1Jo, ho es 1aJea 1c1
paJa qu1eh huhca o ha hecho. Eh es1o a pJogJamac1h se paJece ms a uh
aJ1e que a uha c1ehc1a. uho puede eeJ y JeeeJ sobJe pJogJamac1h, veJ
como o1Jos Jesueveh pJobemas, peJo has1a 1ah1o uho m1smo ho pah1ee a
souc1h {y s1 o puede compJobaJ escJ1b1ehdo uh pJogJama y eecu1hdoo
eh uha compu1adoJa, meoJ!) as 1deas ho se 11aJh. Aqu1 vae a 1amosa
1Jase. a pJc11ca hace a maes1Jo.
bho de os s1h1omas ms caJos de ho ogJaJ cap1aJ a 1dea de a
pJogJamac1h es1Juc1uJada es e quedaJse deah1e de uha hoa {o uh
moh11oJ) eh bahco, espeJahdo que a souc1h egue mg1cameh1e vaya uho
a sabeJ poJ qu med1o... Los pJogJamas que se puedeh veJ eh os 1bJos
{como s1e) ho suJgeh poJ geheJac1h espoh1hea s1ho coh es1ueJzo,
1Jabao, pJueba y eJJoJ. Levah 11empo, 1ah1o mehos cuah1o ms pJobemas
uho haya Jesue1o pJev1ameh1e. Es1o se ama expeJ1ehc1a. Y ho se
1Jahsm11e, s1mpemeh1e uho m1smo a desaJJoa {coh ded1cac1h).
2.4.5 E|erccos
1 EscJ1ba uh pJogJama que so1c11e a usuaJ1o que escJ1ba dos hmeJos, y a
coh11huac1h pJeseh1e eh pah1aa e hmeJo mayoJ segu1do de a 1Jase es
mayoJ que y segu1do de hmeJo mehoJ. Eempo. s1 se 1hgJesaJoh os
hmeJos 2 y 4, e pJogJama pJeseh1aJ eh pah1aa a 1Jase 4 es mayoJ
que 2. S1 os hmeJos soh 1guaes, se pJeseh1aJ eh pah1aa e mehsae
soh 1guaes.
2 EscJ1ba uh pJogJama que peJm11a 1hgJesaJ 3 hmeJos, y a coh11huac1h
pJeseh1e eh pah1aa e mayoJ de eos, coh uha 1Jase 1hd1ca11va.
3 bha c1eJ1a ohda es de 0 vo11os paJa uh 11empo mehoJ que 2 seguhdos y de
3 vo11os paJa uh 11empo mayoJ o 1gua que 2 seguhdos {es1as ohdas se
cohoceh como 1uhc1h de paso). EscJ1ba uh pJogJama eh 0c1ave que acep1e
e 11empo como vaJ1abe de eh1Jada y mues1Je e vo1ae apJop1ado.
4 bha pJueba de a1sam1eh1o paJa uh cabe Jequ1eJe que e a1sam1eh1o
Jes1s1a a mehos 600 vo11os. EscJ1ba uh pJogJama eh 0c1ave que acep1e
uha pJueba de vo1ae e 1mpJ1ma e mehsae "PJueba de vo1ae apJobada"
o e mehsae "PJueba de vo1ae ho apJobada" segh e caso.
5 bha 1bJ1ca pequea geheJa su pJop1a eheJg1a coh uh geheJadoJ de 20 kW y
uh geheJadoJ de 50 kW. E geJeh1e de a pah1a 1hd1ca cu geheJadoJ se
Jequ1eJe a 1h1Joduc1J uh cd1go de caJac1eJes. EscJ1ba uh pJogJama eh
0c1ave que acep1e es1e cd1go como eh1Jada. S1 se 1h1Joduce e cd1go
"s" debeJ despegaJse uh mehsae que e 1hd1que a capa1az de a pah1a
que use e geheJadoJ ms pequeo, de o coh1JaJ1o debeJ 1mpJ1m1J que
use e geheJadoJ ms gJahde.
6 EscJ1ba uh pJogJama eh 0c1ave que acep1e uh hguo, eh gJados, y
desp1egue e 11po de hguo coJJespohd1eh1e a os gJados 1h1Joduc1dos
{agudo, Jec1o u ob1uso).
7 EscJ1ba uh pJogJama eh 0c1ave que acep1e uh hmeJo y uego uha e1Ja. S1
a e1Ja es "1", e pJogJama 1Ja1aJ a hmeJo 1h1Joduc1do como uha
1empeJa1uJa eh gJados FahJehhe11, cohveJ11J e hmeJo a os gJados
Ces1us equ1vaeh1es y despegaJ uh mehsae adecuado. S1 a e1Ja es
juan I. Weber 61
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
"c", e pJogJama 1Ja1aJ a hmeJo 1h1Joduc1do como uha 1empeJa1uJa eh
gJados Ces1us, cohveJ11J e hmeJo a os gJados FahJehhe11
equ1vaeh1es y despegaJ uh mehsae adecuado. S1 a e1Ja ho es h1 "1"
h1 "c", e pJogJama 1mpJ1m1J uh mehsae que os da1os 1h1Joduc1dos soh
1hcoJJec1os y 1eJm1haJ. bse as 1Jmuas de cohveJs1h.
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 pah1aa uh mehsae 1hd1cahdo eh qu
cuadJah1e se ehcueh1Ja.
9 Eh e uego de 21 {BackJack) e vaoJ de as caJ1as de 2 a 10 es e
que 11ehe 1mpJeso, s1h 1mpoJ1aJ de qu pao 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 so
s1 e vaoJ 1o1a Jesu1ah1e de 1odas as caJ1as eh uha maho ho excede
de 21, de o coh1JaJ1o se cueh1a como 1. bsahdo es1a 1h1oJmac1h,
escJ1ba uh pJogJama eh 0c1ave que acep1e os vaoJes de 3 caJ1as como
eh1Jadas {uh 1 coJJespohde a uh as, uh 2 a uh dos, e1c.), cacue e
vaoJ 1o1a de a maho eh 1oJma apJop1ada y desp1egue e vaoJ de a
maho coh uh mehsae 1mpJeso.
10 EscJ1ba uh pJogJama que peJm11a 1hgJesaJ uha cah11dad descohoc1da de
hmeJos y pJeseh1e eh pah1aa su suma.
11 hod111caJ e pJogJama ah1eJ1oJ de modo que adems pJeseh1e e pJomed1o
eh1Je os hmeJos 1hgJesados.
12 EscJ1ba uh pJogJama que peJm11a 1hgJesaJ uha cah11dad descohoc1da de
hmeJos y pJeseh1e eh pah1aa e mehoJ de eos.
13 Se d1spohe de uh cohuh1o de uegos de da1os. Cada uego es1 1oJmado
poJ dos vaoJes que soh. a absc1sa y a oJdehada de uh puh1o, ambos
d1s11h1os de 0. E 11mo paJ de da1os es 1gua a 0, y so 1hd1ca 11h
de da1os. Se p1de, eyehdo uh uego poJ vez, de1eJm1haJ cuh1os puh1os
caeh eh cada cuadJah1e.
14 EscJ1ba uh pJogJama paJa cohveJ11J uh1dades de ohg11ud de s1s1ema
1hgs a m1J1co y v1ceveJsa. E pJogJama debeJ peJm111J as
s1gu1eh1es cohveJs1ohes.
a)de m a p1es y v1ceveJsa
b)de cm a pugadas y v1ceveJsa
c)de km a m1as y v1ceveJsa
E pJogJama se debe coh11huaJ eecu1ahdo 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 poJceh1ae de apJobados {ho1as mayoJes
o 1guaes a 4) y e poJceh1ae de pJomov1dos {ho1as mayoJes o 1guaes a
7).
16 Adems de pJomed1o aJ11m11co de uh cohuh1o de hmeJos, se puede
62 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
cacuaJ uha med1a geom1J1ca y uha med1a aJmh1ca. La med1a geom1J1ca
de uh cohuh1o de h hmeJos se de11he como
x
g

n
.
x
1
x
2
... x
n
(x
1
x
2
... x
n
)
1
n
y a med1a aJmh1ca como
x
a

n
1
x
1
+
1
x
2
+...+
1
x
n
bsahdo es1as 1Jmuas, escJ1ba uh pJogJama eh 0c1ave que coh11he
acep1ahdo hmeJos has1a que se 1h1Joduzca e hmeJo 999 y uego cacue y
desp1egue 1ah1o a med1a geom1J1ca como a med1a aJmh1ca eh1Je os
hmeJos 1h1Joduc1dos.
17 EscJ1ba uh pJogJama que peJm11a 1hgJesaJ uh hmeJo eh1eJo h y pJeseh1e
eh pah1aa a 11guJa s1gu1eh1e {eh es1e caso, paJa h = 4).
****
****
****
****
18 EscJ1ba uh pJogJama que peJm11a 1hgJesaJ uh hmeJo eh1eJo h y pJeseh1e
eh pah1aa a 11guJa s1gu1eh1e {eh es1e caso, paJa h = 4).
$$$$
$$$
$$
$
19 EscJ1ba uh pJogJama que peJm11a 1hgJesaJ uh hmeJo eh1eJo h y pJeseh1e
eh pah1aa a 11guJa s1gu1eh1e {eh es1e caso, paJa h = 4).
$$$$
$$$#
$$##
$###
20 EscJ1ba uh pJogJama que peJm11a 1hgJesaJ uh hmeJo eh1eJo h y pJeseh1e
eh pah1aa a 11guJa s1gu1eh1e {eh es1e caso, paJa h = 4).
$$$$
$ $
$ $
$$$$
21 EscJ1ba uh pJogJama que peJm11a 1hgJesaJ uh hmeJo eh1eJo h y pJeseh1e
eh pah1aa e 1ac1oJ1a de d1cho hmeJo. E 1ac1oJ1a de uh hmeJo
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 nIormtIca !T-IIC- pto. de ng. CIvII
hmeJo hega11vo, e pJogJama pJeseh1e uh mehsae adecuado y peJm11a a
usuaJ1o 1hgJesaJ uh huevo hmeJo.
23 EscJ1ba uh pJogJama que pJeseh1e eh pah1aa uha 1aba coh os vaoJes
de os hmeJos ha1uJaes de 1 a 10, sus cuadJados y sus cubos.
24 EscJ1ba uh pJogJama que peJm11a cacuaJ e vaoJ de a cohs1ah1e
ma1em11ca e, u111zahdo a 1Jmua
e1+
1
1!
+
1
2 !
+
1
3!
+...
E usuaJ1o debeJ 1hgJesaJ e hmeJo de 1Jm1hos coh os que cacuaJ a
expJes1h ah1eJ1oJ.
25 hod111que e pJogJama ah1eJ1oJ de 1oJma que e usuaJ1o 1hgJese e hmeJo
de c11Jas dec1maes s1gh111ca11vas a ob1eheJ. {Ayuda. s1 poJ eempo e
usuaJ1o desea ob1eheJ 3 c11Jas dec1maes paJa e, a d11eJehc1a eh1Je dos
vaoJes cohsecu11vos cacuados de e, eh vaoJ absou1o, debeJ seJ
mehoJ a 0,001, es dec1J 1x10
-3
).
26 EscJ1ba uh pJogJama que peJm11a cacuaJ e vaoJ de a cohs1ah1e
ma1em11ca , u111zahdo a 1Jmua
n4-
4
3
+
4
5
-
4
7
+
4
9
-....
E usuaJ1o debeJ 1hgJesaJ e hmeJo de 1Jm1hos coh os que cacuaJ a
expJes1h ah1eJ1oJ.
27 EscJ1b1J uh pJogJama que peJm11a.
a)ThgJesaJ uh moh1o 1h1c1a C
0
, uh peJ1odo h {eh aos) y uha 1asa de
1h1eJs J poJ 1ecado.
b)CacuaJ y pJeseh1aJ eh pah1aa uha 1aba que coh1ehga. eh a pJ1meJa
coumha, e ao {desde 0 a h) y eh a seguhda coumha, e moh1o
cap11a1zado ao a ao cacuado a 1Javs de a 1Jmua de 1h1eJs
compues1o.
CC
0
(1+r)
n
28 EscJ1b1J uh pJogJama que peJm11a.
a)ThgJesaJ uh hmeJo ha1uJa h poJ 1ecado.
b)PJeseh1aJ eh pah1aa os pJ1meJos h hmeJos de F1bohacc1. Los hmeJos
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 peo1a de go1 es so1ada desde uh av1h. La d1s1ahc1a, d, que cae
a peo1a eh 1 seguhdos es1 dada poJ a ecuac1h
d
1
2
gt
2
dohde g es a aceeJac1h deb1da a a gJavedad. bsahdo es1a 1h1oJmac1h,
escJ1ba uh pJogJama eh 0c1ave que desp1egue a d1s1ahc1a que cae a
peo1a eh cada 1h1eJvao de 1 seguhdo paJa 10 seguhdos y a d1s1ahc1a
64 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
1o1a que cae a peo1a a 11ha de cada 1h1eJvao.
30 EscJ1b1J uh pJogJama que cacue y desp1egue vaoJes paJa z cuahdo
z
xy
x-y
Su pJogJama debeJ cacuaJ z paJa vaoJes de x que vaJ1ah eh1Je 1 y 5 y
vaoJes de y que vaJ1ah eh1Je 2 y 6, ambos eh 1hcJemeh1os de a 1. Su
pJogJama debeJ pJeseh1aJ os Jesu1ados eh uha 1aba, mos1Jahdo "???" eh
e ugaJ dohde x e y soh 1guaes.
31 0ado uh hmeJo h, y uha apJox1mac1h paJa su Ja1z cuadJada, puede
ob1eheJse uha apJox1mac1h ms ceJcaha a a Ja1z cuadJada Jea
u111zahdo a 1Jmua
aproxImacIonnueva
n
aproxImacIonprevIa
+aproxImacIonprevIa
2
bsahdo es1a 1h1oJmac1h, escJ1ba uh pJogJama eh 0c1ave que 1hd1que a
usuaJ1o que 1h1Joduzca uh hmeJo y uha es11mac1h 1h1c1a de su Ja1z
cuadJada. bsahdo es1os da1os de eh1Jada su pJogJama debeJ cacuaJ uha
apJox1mac1h a a Ja1z cuadJada que 1ehga uha pJec1s1h has1a 0.00001
{sugeJehc1a. de1ehga e c1co cuahdo a d11eJehc1a eh1Je dos
apJox1mac1ohes sea mehoJ que 0.00001).
2.5 Bibliografia
BaJ1, C. {2004). Th1Joducc1h a a Th1oJm11ca. veJs1h opeJac1oha eh
Chb-0c1ave. bh1veJs11as, CJdoba.
BJohsoh, C. {2000). C++ paJa Thgeh1eJ1a y C1ehc1as. Th1eJha11oha
Thomsoh Ed11oJes, hx1co.
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 nIormtIca !T-IIC- pto. de ng. CIvII
Unidad 3: lntroduccion a la Programacion - parte ll
3.1 Funciones
bha de as heJJam1eh1as ms podeJosas de pJogJamac1h eh Chb0c1ave soh
as 1uhc1ohes. Es1as peJm11eh Jeduc1J cohs1deJabemeh1e e es1ueJzo {y os
eJJoJes) eh a pJogJamac1h, ya que JepJeseh1ah souc1ohes paJc1aes a
paJ1es de os pJobemas a JesoveJ.
Los pJogJamas pJo1es1ohaes se d1seah, cod111cah y pJuebah eh 1oJma muy
paJec1da a haJdwaJe. como uha seJ1e de mduos que es1h 1h1egJados paJa
1uhc1ohaJ eh cohuh1o.
Ex1s1eh dos 11pos de 1uhc1ohes. as 1uhc1ohes de b1b1o1eca, que v1eheh
1hcoJpoJadas a a 1hs1aac1h de Chb0c1ave, y as de11h1das poJ e usuaJ1o
que peJm11eh amp1aJ as capac1dades de ehguae.
Lo que caJac1eJ1za a ambos 11pos de 1uhc1ohes es que as m1smas adm11eh
uho o ms da1os de eh1Jada {dehom1hados aJgumeh1os) y devueveh poJ o
geheJa uh Jesu1ado {puedeh seJ ms de uho), como se ve eh a 11guJa.
La s1h1ax1s geheJa es.
variable_de_salida = nombre_de_funcion(lista_de_argumentos);
3.1.1 Funcones de bboteca
Chb0c1ave d1spohe de uha gJah cah11dad de 1uhc1ohes 1hcoJpoJadas a
ehguae, dehom1hadas de b1b1o1eca. Las m1smas puedeh JequeJ1J uho, dos o
ms aJgumeh1os {o vaoJes de eh1Jada), y devueveh uho, dos o ms vaoJes
de sa1da. Eh a s1gu1eh1e 1aba se mues1Ja uh pequeo 1s1ado de
1uhc1ohes de b1b1o1eca d1spoh1bes eh 0c1ave.
66 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
Funcin 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) funcin signo
gcd(x1,x2,...) mximo comn divisor
lcm(x1,x2,...) mnimo comn mltiplo
Adems es1h d1spoh1bes 1odas as 1uhc1ohes 1J1gohom1J1cas e
h1peJb1cas.
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 ms 1uhc1ohes de b1b1o1eca d1spoh1bes, as m1smas
puedeh cohsu1aJse 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 ad1c1ohaes paJa descaJgaJ e
1hs1aaJ, cas111cadas segh e Jea de 1h1eJs.
juan I. Weber 67
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
3.1.2 Funcones defndas por e usuaro
E pJogJamadoJ 1amb1h puede desaJJoaJ sus pJop1as 1uhc1ohes y
u111zaJas ya sea desde a pJop1a 1hea de comahdos de 0c1ave o b1eh
amhdoas desde sus pJogJamas.
La s1h1ax1s geheJa paJa a de11h1c1h de uha 1uhc1h 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 Jecomehdabe es guaJdaJo eh e m1smo d1Jec1oJ1o
dohde e usuaJ1o guaJda sus aJch1vos *.m {oc1ave_11es). S1 a 1uhc1h
11ehe ms de uh aJgumeh1o de eh1Jada, s1os debeh 1J sepaJados poJ comas.
vamos a eemp111caJ o ah1eJ1oJ coh uha 1uhc1h que cacue e
ogaJ11mo eh base 4 de hmeJo que se e eh1Jegue como aJgumeh1o.
01spohemos eh 0c1ave de a 1uhc1h de b1b1o1eca og{) que cacua e
ogaJ11mo eh base e, y sabemos de a ma1em11ca a 1Jmua de camb1o de
base de ogaJ11mos.
Iog
b
x
Iog
a
x
Iog
a
b
La s1gu1eh1e 1uhc1h, guaJdada eh e aJch1vo og4.m, peJm11e cacuaJ 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 eempo
e que s1gue que p1de uh hmeJo a usuaJ1o y mues1Ja os ogaJ11mos eh
base e, 2, 4, y 10 de d1cho hmeJo.
n = input(Ingrese un nmero: );
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 funcin 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 Apcacn: un e|empo de programacn paso a paso
vamos a desaJJoaJ a coh11huac1h uh eempo compe1o de pJogJamac1h
eh Chb0c1ave u111zahdo as heJJam1eh1as que hemos v1s1o has1a ahoJa.
EscJ1b1Jemos uh pJogJama paJa JesoveJ ecuac1ohes cuadJ11cas.
PaJa uha meoJ descJ1pc1h de pJogJama, agJegamos a 1h1c1o de m1smo
uh comeh1aJ1o 1hd1ca11vo.
68 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
% Programa para resolver ecuaciones cuadrticas
La 1dea es que es1e pJogJama se eecu1e 1hde11h1dameh1e has1a que e
usuaJ1o dec1da ho u111zaJo ms. PoJ o 1ah1o, e cohuh1o de
1hs1Jucc1ohes que o compohgah es1aJ ah1dado deh1Jo de uha es1Juc1uJa de
Jepe11c1h 1hde11h1da, que se eecu1aJ a mehos uha vez.
% Programa para resolver ecuaciones cuadrticas
do
....
until(...)
0eho1amos coh puh1os suspehs1vos {....) as paJ1es de pJogJama que
1Jemos compe1ahdo uego. ThgJesamos 1h1eJac11vameh1e os vaoJes de os
coe11c1eh1es a, b y c de a ecuac1h
ax
2
+bx +c0
hac1ehdo uso de a 1uhc1h input.
% Programa para resolver ecuaciones cuadrticas
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 ha1em11ca Eemeh1a, a souc1h de a ecuac1h
depehdeJ de s1gho de d1scJ1m1hah1e.
b
2
-4ac
hab1ehdo 1Jes opc1ohes {mayoJ que 0, 1gua a 0 o mehoJ que 0) a
es1Juc1uJa de dec1s1h podJ coh1oJmaJse coh if...elseif...else...endif,
pJev1o ccuo de vaoJ de d1scJ1m1hah1e que podemos amaJ 0.
% Programa para resolver ecuaciones cuadrticas
do
a = input('Ingrese el valor de a:');
b = input('Ingrese el valor de b:');
c = input('Ingrese el valor de c:');
D = b^24*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 nIormtIca !T-IIC- pto. de ng. CIvII
until(...)
Eh e pJ1meJ caso {0>0) cacuamos as Ja1ces coh a 1Jmua
x
1

-b. D
2a
Eh e seguhdo caso {0<0) a paJ1e Jea de as Ja1ces es
Real ( x)
-b
2a
y e vaoJ absou1o 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
F1hameh1e, eh e 1eJceJ caso {0=0) a h1ca Ja1z 11ehe a 1oJma
x
-b
2a
Levamos as 1Jmuas ah1eJ1oJes apJop1adameh1e deh1Jo de a es1Juc1uJa
de dec1s1h ah1es d1seada.
% Programa para resolver ecuaciones cuadrticas
do
a = input('Ingrese el valor de a:');
b = input('Ingrese el valor de b:');
c = input('Ingrese el valor de c:');
D = b^24*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 nIormtIca
La pJeseh1ac1h de Jesu1ados seJ d11eJeh1e eh cada caso. Cohv1ehe
u111zaJ e es11o C de sa1da {1uhc1h printf) ya que peJm11e coh1JoaJ
e hmeJo de dec1maes {asum1mos mos1JaJ 5). Ah1epohemos a 1odos os casos
e 111uo "souc1h". Eh ese caso, podemos compe1aJ a es1Juc1uJa de
dec1s1h.
% Programa para resolver ecuaciones cuadrticas
do
a = input('Ingrese el valor de a:');
b = input('Ingrese el valor de b:');
c = input('Ingrese el valor de c:');
D = b^24*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 Jesu1ados eh pah1aa, e pJogJama peJm111J a
usuaJ1o dec1d1J s1 qu1eJe e1ec1uaJ o1Jo cacuo o ho. PaJa eo,
1hgJesamos e vaoJ de uha vaJ1abe aux11aJ que 1oJmaJ paJ1e de a
cohd1c1h de until. E 1hgJeso 1h1eJac11vo de d1cha vaJ1abe aux11aJ se
e1ec1a poJ med1o de a 1uhc1h input.
% Programa para resolver ecuaciones cuadrticas 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^24*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 nIormtIca !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 clculo? (s/n):,s);
until(opcion!='s'|opcion!='S')
ho1aJ que a 1uhc1h input posee e mod111cadoJ s que 1hd1ca que o
que se va a 1hgJesaJ e uha cadeha de caJac1eJes {uh soo caJc1eJ, eh
es1e caso). Adems, ho1aJ que eh a cohd1c1h de until se pJev que e
usuaJ1o 1hgJese 1ah1o mayscuas como m1hscuas, y que cuaqu1eJ e1Ja
pJes1ohada que ho sea a s mayscua o m1hscua 1eJm1haJ a eecuc1h
de pJogJama. 0ueda de ese modo cohcu1do e pJogJama. 0ebemos guaJdaJo
eh a caJpe1a "0c1ave_11es" coh uh hombJe apJop1ado segu1do de a
ex1ehs1h .m paJa podeJ 1hvocaJo desde a 1hea de comahdos de 0c1ave
{cuadJa11ca.m, poJ eempo).
3.1.4 E|erccos
1 EscJ1ba uha 1uhc1h eh 0c1ave amada peJ1me1Jo_e1pse{) que 1ehga como
aJgumeh1os de eh1Jada os sem1ees mayoJ y mehoJ de a e1pse {a y b) y
que devueva su peJ1me1Jo, dado poJ
Pn
.
a
2
+b
2
2 EscJ1ba o1Ja 1uhc1h eh 0c1ave amada aJea_e1pse{) que 1ehga como
aJgumeh1os de eh1Jada os sem1ees mayoJ y mehoJ de a e1pse {a y b) y
que devueva su Jea, dada poJ
Ana b
3 EscJ1ba uh pJogJama eh 0c1ave que p1da a usuaJ1o 1hgJesaJ os sem1ees
mayoJ y mehoJ de uha e1pse {a y b) y mues1Je eh pah1aa su Jea y
peJ1me1Jo, usahdo as 1uhc1ohes de os eeJc1c1os ah1eJ1oJes.
4 EscJ1ba uha 1uhc1h eh 0c1ave que peJm11a cacuaJ a d1s1ahc1a eh1Je
dos puh1os {x
1
, y
1
) , {x
2
, y
2
) cuyas cooJdehadas seJh sus aJgumeh1os de
eh1Jada. 01cha d1s1ahc1a v1ehe dada poJ
d
.
( x
1
-x
2
)
2
+( y
1
-y
2
)
2
5 La a1uJa mx1ma acahzada poJ uha peo1a ahzada coh uha veoc1dad
1h1c1a v
0
eh m/s, eh uh hguo de es1 dada poJ a 1Jmua
h
1
2g
v
0
2
sen
2
0
EscJ1ba uh pJogJama eh Chb0c1ave que peJm11a a usuaJ1o 1hgJesaJ a
veoc1dad 1h1c1a y e hguo de 11Jo y cacue a a1uJa mx1ma.
6 Las cooJdehadas poaJes de uh puh1o cohs1s1eh eh a d1s1ahc1a J desde uh
72 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
oJ1geh espec111cado y uh hguo , coh Jespec1o a ee x. Las
cooJdehadas {x,y) de puh1o se Jeac1ohah coh sus cooJdehadas poaJes
poJ as 1Jmuas
xr cos 0
,
yr sin0
usahdo es1as 1Jmuas, escJ1ba uh pJogJama eh Chb0c1ave que cacue as
cooJdehadas {x,y) de puh1o cuyas cooJdehadas poaJes seah 1hgJesadas poJ
e usuaJ1o. RecueJde cohveJ11J e hguo de gJados a Jad1ahes {deh1Jo de
m1smo pJogJama) pJev1o a ap1caJ a 1Jmua.
7 bh modeo de cJec1m1eh1o de a pobac1h muhd1a, eh m1es de m1ohes
de peJsohas, desde 2000 es1 dado poJ a ecuac1h.
P6.0 e
0.02(a-2000)
dohde a es e ao. EscJ1ba uh pJogJama eh Chb0c1ave que peJm11a a
usuaJ1o 1hgJesaJ e ao y mues1Je a es11mac1h de a pobac1h muhd1a.
8 bh modeo paJa es11maJ e hmeJo de gJamos C de uh c1eJ1o 1s1opo
Jad1ac11vo que Jes1ah despus de h aos es1 dado poJ a 1Jmua
GG
0
e
-0.00012N
dohde C
0
soh os gJamos de ma1eJ1a oJ1g1ha. EscJ1ba uha 1uhc1h eh
Chb0c1ave que devueva a cah11dad de ma1eJ1a Jad1ac11vo a paJ11J de uh
hmeJo de aos y uha cah11dad oJ1g1ha de ma1eJ1a dados como aJgumeh1os
de eh1Jada.
9 E hmeJo h de aos que se Jequ1eJe paJa que se descompohga uh c1eJ1o
1s1opo de uJah1o a a m11ad de uha cah11dad oJ1g1ha es1 dado poJ
N
ln (2)
k
dohde k depehde de 1s1opo. bsahdo es1a 1Jmua, escJ1ba uh pJogJama eh
Chb0c1ave que peJm11a 1hgJesaJ e vaoJ de k y devueva e hmeJo de aos
de v1da med1a. PJuebe e pJogJama coh k = 0.00013 y k = 0.00026.
10 La amp111cac1h A de c1Jcu11os eec1Jh1cos se m1de eh uh1dades de
dec1bees, as cuaes se cacuah como
A10 log
10
(
P
0
P
i
)
dohde P
0
es a po1ehc1a de a sea de sa1da y P
1
es a po1ehc1a de a
sea de eh1Jada. bsahdo es1a 1Jmua, escJ1ba uh pJogJama eh Chb0c1ave
que peJm11a 1hgJesaJ as po1ehc1as de eh1Jada y de sa1da y mues1Je eh
pah1aa a amp111cac1h de equ1po.
11 EscJ1ba uh pJogJama eh Chb0c1ave que mues1Je e vaoJ de a 1h1ehs1dad
de coJJ1eh1e a 1Javs de uh c1Jcu11o RC {veJ 11guJa). Cuahdo e
1h1eJJup1oJ se c1eJJa, a coJJ1eh1e 1 es1 dada poJ a ecuac1h
juan I. Weber 73
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
i
E
R
e
-
t
t
dohde E es e vo1ae de a ba1eJ1a {eh vo11os), 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 JesoveJ 1J1hguos Jec1hguos. E pJogJama
debe peJm111J seecc1ohaJ a 1h1c1o e 11po de pJobema.
dados dos ca1e1os, cacuaJ a h1po1ehusa y os dos hguos agudos
dado uh ca1e1o y a h1po1ehusa, cacuaJ e o1Jo ca1e1o y os dos
hguos agudos
dado uh ca1e1o y uh hguo agudo, cacuaJ a h1po1ehusa y e o1Jo
hguo agudo
13 Como pJ1meJos vaoJes e1dos, se 11eheh 3 vaoJes humJ1cos que
coJJespohdeh a a absc1sa {X) y a oJdehada {Y) de ceh1Jo, y e Jad1o
{R) de uha c1Jcuh1eJehc1a. LeeJ a coh11huac1h 30 uegos cada uho de os
cuaes coh11ehe dos vaoJes, 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 ea, soameh1e s1 esa
cah11dad es supeJ1oJ a 15.
3.2 Arreglos
Eh PJogJamac1h se dehom1hah aJJegos a cohuh1os de eemeh1os de m1smo
11po oJgah1zados eh uha, dos o {de acueJdo a ehguae de pJogJamac1h de
que se 1Ja1e) ms d1mehs1ohes. Eh 0c1ave, se maheah aJJegos de uha y dos
d1mehs1ohes, que se dehom1hah Jespec11vameh1e vec1oJes y ma1J1ces.
3.2.1 Vectores
Las cohs1ah1es vec1oJes se 1hd1cah ehumeJahdo sus eemeh1os oJdehados,
sepaJados poJ comas {opc1oha) y ehceJJados eh1Je coJche1es. Las vaJ1abes
vec1oJ h0 Jequ1eJeh uha dehom1hac1h espec1a. La s1gu1eh1e seh1ehc1a
as1gha a a vaJ1abe vector uh vec1oJ de 6 eemeh1os.
74 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
vector = [3, -1, 2, 4, 0, 1];
podJ1a habeJse escJ11o como
vector = [3 -1 2 4 0 1];
Los vec1oJes as1 de11h1dos soh vec1oJes 11a, es dec1J s1 escJ1b1mos eh
a 1hea de comahdos
>>vector
vector = 3 -1 2 4 0 1
PaJa 1hgJesaJ uh vec1oJ coumha, sepaJamos sus eemeh1os poJ puh1os y
coma.
>>c = [2; -1 ; 0; 4]
c =
2
-1
0
4
01Ja pos1b11dad es 1hgJesaJo como uh vec1oJ 11a y uego usaJ e
opeJadoJ de 1Jahspos1c1h {`).
>>c = [2 -1 0 4]'
c =
2
-1
0
4
Es pos1be accedeJ a uh eemeh1o 1hd1v1dua de vec1oJ a 1Javs de a
ho1ac1h de sub1hd1ce.
>>c(2)
ans = -1
>>c(3)=c(3)+1;
>>c
c =
2
-1
1
4
3.2.2 Matrces
Las cohs1ah1es ma1J1z se 1hd1cah ehumeJahdo sus eemeh1os oJdehados
pJ1meJo poJ 11as y uego poJ coumhas, sepaJahdo os eemeh1os de uha
juan I. Weber 75
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
m1sma 11a poJ comas {opc1oha), sepaJahdo as 11as poJ puh1os y coma {,)
y ehceJJados eh1Je coJche1es. Las vaJ1abes ma1J1z 1ampoco Jequ1eJeh uha
dehom1hac1h espec1a. La s1gu1eh1e seh1ehc1a as1gha a a vaJ1abe matriz
uha ma1J1z de 2 11as y 3 coumhas.
>>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 pos1be accedeJ a uh eemeh1o 1hd1v1dua de a ma1J1z a 1Javs de a
ho1ac1h de dobe sub1hd1ce, dohde e pJ1meJ sub1hd1ce coJJespohde a
hmeJo de 11a y e seguhdo sub1hd1ce a hmeJo de coumha {como es usua
eh AgebJa).
>>matriz(2,3)
ans =
-3
3.2.3 Operacones matemtcas
Las opeJac1ohes + y - se ap1cah a aJJegos coh1oJmabes {eh es1e caso
de as m1smas d1mehs1ohes) eemeh1o a eemeh1o. veamos aguhos eempos
exp1ca11vos, 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 nIormtIca
a 1Jahspues1a de uha ma1J1z se ob11ehe como
>> a'
ans =
2 -1
3 4
e pJoduc1o eh1Je dos ma1J1ces se de11he cuahdo e hmeJo de coumhas de
a pJ1meJa ma1J1z es 1gua a hmeJo de 11as de a seguhda ma1J1z {se
d1ce que soh coh1oJmabes), 1a como se de11he eh e AgebJa L1hea. PaJa
mu11p1caJ as ma1J1ces a y b pJecedeh1es, s1mpemeh1e escJ1b1mos
>> a*b
ans =
-2 8
1 7
Eh 0c1ave 1amb1h es1 d1spoh1be e pJoduc1o eemeh1o a eemeh1o {que
ho 11ehe equ1vaeh1e eh e AgebJa) y es muy u111zado eh PJogJamac1h.
PaJa mu11p1caJ eemeh1o a eemeh1o dos ma1J1ces s1mpemeh1e pJecedemos
a * poJ uh puh1o {.).
>> a.*b
ans =
-2 3
0 8
Eh 1oJma ahoga, paJa d1v1d1J eemeh1o a eemeh1o 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 eevaJ a uha
po1ehc1a cada eemeh1o de a ma1J1z
>> a.^2
ans =
4 9
1 16
paJa mu11p1caJ uha ma1J1z poJ s1 m1sma h veces {debe seJ cuadJada) a
eevamos a expoheh1e h. Eh e eempo s1gu1eh1e, mu11p1camos {segh e
AgebJa) a ma1J1z a poJ s1 m1sma.
>> a^2
ans =
juan I. Weber 77
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
1 18
-6 13
es equ1vaeh1e a
>>a*a
ans =
1 18
-6 13
bha podeJosa 1uhc1h que posee 0c1ave es a que devueve 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 JesoveJ e s1gu1eh1e s1s1ema de ecuac1ohes
1heaes.

2 3
-1 4

x
1
x
2

2
3

vemos a ma1J1z a como ma1J1z de coe11c1eh1es, y uh vec1oJ c de 1Jm1hos


1hdepehd1eh1es {vec1oJ coumha) que de11h1mos
>> c=[2 3]'
c =
2
3
PodJ1amos pehsaJ eh JesoveJ e s1s1ema hac1ehdo uso de a 1uhc1h inv()
ah1es v1s1a.
>>x = inv(a)*c;
PeJo Jesu1a seJ mucho ms 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 nIormtIca
0.72727
Eh geheJa pJe1eJ1Jemos e uso de de es1a 11ma opc1h paJa JesoveJ
s1s1emas de ecuac1ohes.
3.2.4 Funcones que actan sobre arregos
Eh geheJa 1odas as 1uhc1ohes de 1bJeJ1a v1s1as puedeh ap1caJse sobJe
aJJegos, ob1eh1hdose uh aJJego de as m1smas d1mehs1ohes eh e cua
cada eemeh1os suJge de ap1caJ a 1uhc1h eh cues11h sobJe e
coJJespohd1eh1e eemeh1o de aJJego aJgumeh1o.
>>m = [10 0.1 100];
>>log10(m)
ans = 1 -1 2
Adems se d1spohe eh 0c1ave de uha humeJosa cah11dad de 1uhc1ohes
espec111cas de aJJegos, aguhas de as cuaes pasamos a descJ1b1J. PaJa
mayoJ 1h1oJmac1h, cohsu1aJ e mahua de Je1eJehc1a de Chb0c1ave.
PaJa geheJaJ uha ma1J1z 1deh11dad, hacemos uso de a 1uhc1h eye(). E
aJgumeh1o {escaaJ) es e 1amao de a ma1J1z 1deh11dad {cuadJada) a
geheJaJ. Eempo
>> eye(4)
ans =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Eh ocas1ohes 1h1eJesa geheJaJ {1h1c1a1zaJ poJ o comh) uha ma1J1z
eha de ceJos. PaJa eo usamos a 1uhc1h zeros(m,n) dohde m y n
JepJeseh1ah e hmeJo de 11as y coumhas {es dec1J e 1amao) de a
ma1J1z a geheJaJ. Eempo
>> 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) devueve a ma1J1z cuadJada
de 1amao m.
>> zeros(4)
ans =
0 0 0 0
juan I. Weber 79
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
0 0 0 0
0 0 0 0
0 0 0 0
Eh 1oJma s1m1aJ se puede geheJaJ ma1J1ces ehas de uhos coh a 1uhc1h
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 aJJegos de hmeJos aea1oJ1os eh 0c1ave. PaJa eo
coh1amos coh dos pos1b11dades. La pJ1meJa es a 1uhc1h rand(), que
geheJa hmeJos aea1oJ1os coh d1s1J1buc1h 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 1uhc1h d1spoh1be es a 1uhc1h randn(), que geheJa aJJegos de
hmeJos aea1oJ1os d1s1J1bu1dos hoJmameh1e eh1Je 0 y 1. E usuaJ1o debe
1eheJ muy eh caJo e 11po de pJobema a s1muaJ y cohsecueh1emeh1e a
1uhc1h de geheJac1h a u111zaJ.
01Ja 1uhc1h d1spoh1be es a 1uhc1h magic(), que geheJa 1abas mg1cas
{ma1J1ces cuadJadas cuya suma de eemeh1os de 11as y coumhas es s1empJe
a m1sma). Eempo.
>> 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 nIormtIca
0os 1uhc1ohes 1mpoJ1ah1es d1spoh1bes eh 0c1ave soh as que peJm11eh
cohoceJ as d1mehs1ohes de uh aJJego. PaJa e caso de ma1J1ces, a
1uhc1h size() devueve uh vec1oJ coh dos eemeh1os. e hmeJo de 11as y
e hmeJo de coumhas 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 1uhc1h length(), que devueve e
hmeJo de eemeh1os de vec1oJ.
>> x=[2 3 -1 4]
x = 2 3 -1 4
>> length(x)
ans = 4
Las 1uhc1ohes ah1eJ1oJes puedeh seJ comb1hadas paJa Jea1zaJ
as1ghac1ohes de Jea11va compe1dad. Eh e s1gu1eh1e eempo, 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 desaJJoo de m1odos como os de d11eJehc1as 11h11as o
eemeh1os 11h11os) as ma1J1ces Jespohdeh a uha 1oJma d1agoha. PaJa
1ac111aJ su geheJac1h, 0c1ave d1spohe de a 1uhc1h diag(), que eh e
caso de coh1aJ coh uh h1co aJgumeh1o {escaaJ o vec1oJ) geheJa uha ma1J1z
d1agoha {eemeh1os ho huos so eh a d1agoha pJ1hc1pa) cuyos
eemeh1os o cohs111uyeh o eemeh1os de vec1oJ aJgumeh1o, o soh 1guaes
a escaaJ aJgumeh1o. PoJ eempo, s1gu1ehdo coh a de11h1c1h de vec1oJ
x dada ah1eJ1oJmeh1e.
>> diag(x)
ans =
2 0 0 0
0 3 0 0
juan I. Weber 81
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
0 0 -1 0
0 0 0 4
s1 eh camb1o, escJ1b1mos uh h1co vaoJ 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 despaza hac1a aJJ1ba {pos111vo) o hac1a abao {hega11vo)
1ah1os ugaJes como 1hd1que e vaoJ. Eempo.
>> 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 1uhc1h diag 1amb1h puede seJ u111zada eh seh11do 1hveJso, es
dec1J, ex1JaeJ de uha ma1J1z uh vec1oJ que coh1ehga os eemeh1os de
aguha d1agoha de a m1sma. PaJa eo, e {pJ1meJ) aJgumeh1o de d1ag debe
seJ a ma1J1z oJ1geh, y eveh1uameh1e uh seguhdo aJgumeh1o que 11ehe e
m1smo s1gh111cado v1s1o ah1es. PoJ eempo, cJeamos uha ma1J1z de hmeJos
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 nIormtIca
>> diag(A,1)
ans =
2
10
12
01Ja 1uhc1h de u111dad es a que peJm11e oJdehaJ aJJegos. La 1uhc1h
sort, ap1cada a uh vec1oJ, devueve ese vec1oJ oJdehado eh 1oJma
cJec1eh1e.
>> x=[2 3 -1 4];
>>sort(x)
ans =
-1 2 3 4
S1 se ap1ca sort a uha ma1J1z, se ob11ehe d1cha ma1J1z oJdehada eh cada
coumha.
>> A = [4 2; 2 3; 3 1]
A =
4 2
2 3
3 1
>>sort(A)
ans =
2 1
3 2
4 3
Es pos1be JeoJdehaJ uh aJJego eh o1Jo de d1s11h1as d1mehs1ohes coh os
m1smos eemeh1os, a 1Javs de a 1uhc1h reshape(). Los eemeh1os de
huevo aJJego se JeoJdehah pJ1oJ11aJ1ameh1e poJ coumhas. Jeshape 11ehe
1Jes aJgumeh1os. e pJ1meJo, e aJJego a JeoJdehaJ. E seguhdo, e hmeJo
de 11has y e 1eJceJo e hmeJo de coumhas de aJJego JeoJdehado.
Eempo.
>> 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 11a eh uh espac1o 1hea. S1h1ax1s
<valor_inicial>:[<incremento>|1]:<valor_final>
Eh e s1gu1eh1e eempo geheJamos uh vec1oJ coh os hmeJos eh1eJos de
juan I. Weber 83
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
1 a 10. E vaoJ 1h1c1a es 1, e vaoJ 11ha es 10 y e 1hcJemeh1o es 1
pos111vo, coh o cua ho es hecesaJ1o 1hd1caJo.
>>x = 1:10
x =
1 2 3 4 5 6 7 8 9 10
S1 1hd1camos uh paso d1s11h1o de 1, poJ eempo 2, se geheJaJh os
hmeJos 1mpaJes has1a e 9 1hcus1ve {e 11 es uh vaoJ supeJ1oJ a vaoJ
11ha y poJ o 1ah1o ho se geheJa).
>>x = 1:2:10
x =
1 3 5 7 9
E 1hcJemeh1o puede seJ uh hmeJo dec1ma.
>>x = 1:1.5:10
x =
1.0000 2.5000 4.0000 5.5000 7.0000 8.5000 10.0000
Thcuso puede seJ uh hmeJo hega11vo, coh o que os vaoJes se geheJah
eh oJdeh 1hveJso.
>>x = 10:-1:1
x =
10 9 8 7 6 5 4 3 2 1
veamos aguhas ap1cac1ohes 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 eemeh1os de a 11a 6
{uh vec1oJ 11a de 4 eemeh1os).
>>(6,1:4)
ans =
4 36 29 13
Eh a s1gu1eh1e 1hea ex1Jaemos a 1eJceJa 11a compe1a de a ma1J1z.
>>A(3,:)
ans =
31 9 2 22 27 20
84 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
Podemos ex1JaeJ uha subma1J1z de a ma1J1z A. Eh a s1gu1eh1e 1hea
ex1Jaemos uha subma1J1z coh1oJmada poJ as 11as 3, 4 y 5 compe1as,
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 11as o coumhas ho debeh seJ hecesaJ1ameh1e vec1has, eh e
s1gu1eh1e eempo ex1Jaemos as 11as 1, 2 y 5. PaJa eo 1hd1camos as
11as 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 ap1cac1ohes. 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 Jeempazamos as 11as 2, 4 y 5 de a ma1J1z B poJ
as 11as 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 Apcacones
3.2.6.1 Aplicacin 1: divisin de polinomios
EscJ1b1J uh pJogJama eh 0c1ave que peJm11a JesoveJ a d1v1s1h eh1Je
dos po1hom1os poJ a Rega de Ru111h1. E pJogJama debe veJ111caJ s1 a
d1v1s1h puede Jea1zaJse poJ esa Jega.
Souc1h. La 1dea seJ amacehaJ os coe11c1eh1es de os po1hom1os
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 Jesueve e pJobema {se supohe que e
ec1oJ es1 1am11aJ1zado coh a Rega de Ru111h1).
juan I. Weber 85
Iundamentos de nIormtIca !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 divisin por Ruffini.");
endif
until Q(2) == 1
Q(1)=input("Ingrese trmino 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 divisin
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 Aplicacin 2: Hidrologa
EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a geheJaJ uha seJ1e
m1ehaJ1a de caudaes ahuaes, 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 mx1mo es de 46.3 m
3
/s. A su vez
e pJogJama debeJ pJeseh1aJ e peJ1odo de sequ1a de ms duJac1h,
eh1ehd1ehdo poJ sequ1a uh cauda mehoJ a 65 de cauda med1o.
Souc1h. Teh1ehdo pJeseh1e que a 1uhc1h Jahd{) devueve hmeJos
aea1oJ1os eh1Je 0 y 1, y cohs1deJahdo que e Jahgo de caudaes es de
46.3-12.8 = 33,5 m
3
/s, vamos a geheJaJ uh vec1oJ de 1000 eemeh1os
aea1oJ1os deh1Jo de ese Jahgo.
PaJa ehcoh1JaJ e peJ1odo de mx1ma sequ1a, se debeJ Jas1JeaJ e vec1oJ
de caudaes y amacehaJ eh uha vaJ1abe aux11aJ a duJac1h de cada
peJ1odo de sequ1a ehcoh1Jado, s1 es de duJac1h mayoJ a que se 1ehga eh
ese momeh1o.
E s1gu1eh1e cd1go Jesueve e pJobema.
% 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 nIormtIca
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 aos\n", dmax);
%fin del programa
3.2.6.3 Aplicacin 3: Imgenes satelitales
Las 1mgehes de sa111e 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 {bahco). E
1oJma1o RAW 1h1c1a coh dos vaoJes que 1hd1cah e hmeJo de 11as y de
coumhas de a 1mageh, segu1do poJ os h1vees de gJ1s de cada p1xe,
segh 11as {veJ eempo). Se cohoce, paJa uha de1eJm1hada Jeg1h, que
h1vees de gJ1s mehoJes o 1guaes a 10 coJJespohdeh a cueJpos de agua,
mayoJes o 1guaes a 130 a sueo deshudo, y e Jes1o a Jeas coh
vege1ac1h. Se p1de escJ1b1J uh pJogJama de pJocesam1eh1o d1g11a de
1mgehes que peJm11a.
LeeJ uh aJch1vo RAW y amacehaJ a 1h1oJmac1h eh uha ma1J1z eh a cua
cada eemeh1o coJJespohda a uh p1xe.
PeJm111J a usuaJ1o ob1eheJ uh mapa 1em11co a eecc1h. Los mapas soh.
de vege1ac1h, de sueo deshudo o de cueJpos de agua. E 1oJma1o es
bahco y hegJo {bahco = 1 , hegJo = 0).
AmacehaJ d1cho mapa eh uh aJch1vo y gJa11caJo eh pah1aa coocahdo
as1eJ1scos eh coJJespohdehc1a coh os p1xees de vaoJ 1. veJ eempo.
CacuaJ a supeJ11c1e de vege1ac1h, sueo deshudo o cueJpos de agua eh
a 1mageh {a ped1do de usuaJ1o).
juan I. Weber 87
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
ho1aJ que a es1Juc1uJa de uha 1mageh sa1e11a es a de uha ma1J1z. E
s1gu1eh1e cd1go Jesueve e pJobema.
% 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 nIormtIca
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|erccos
1 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ uh vec1oJ de h eemeh1os
0e1eJm1haJ a cah11dad de eemeh1os hega11vos que 11ehe
2 EscJ1b1J uh pJogJama eh Chb0c1ave que s1mue e ahzam1eh1o s1mu1heo
de 5 dados.
3 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a geheJaJ uha secuehc1a de
100 hmeJos 1ee1h1cos aea1oJ1os de 11po 0800-*****. E pJogJama debe
depuJaJ eveh1uaes Jepe11c1ohes.
4 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ uh vec1oJ de h eemeh1os
Rea1zaJ a suma1oJ1a de os eemeh1os de 1hd1ce paJ
5 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ uh vec1oJ de h eemeh1os
CeheJaJ e 1mpJ1m1J o1Jo vec1oJ dohde cada eemeh1o sea e pJoduc1o de
eemeh1o oJ1g1ha poJ su sub1hd1ce
6 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ uh vec1oJ de h eemeh1os y uh hmeJo B
CeheJaJ e 1mpJ1m1J a pJoduc1oJ1a de os eemeh1os 1mpaJes de pos1c1h
m11po de B
7 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ uh vec1oJ A de h eemeh1os y uh vec1oJ B de m eemeh1os.
CeheJaJ e 1mpJ1m1J uh vec1oJ C de m+h eemeh1os que Jesu1e de a
1h1eJcaac1h de os eemeh1os de A y B.
8 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
LeeJ uh vec1oJ de h eemeh1os.
0JdehaJo eh 1oJma cJec1eh1e.
ThgJesaJ uh vaoJ x.
Thd1caJ eh1Je qu eemeh1os de vec1oJ oJdehado se ehcueh1Ja compJehd1do
x, o b1eh s1 es mayoJ que e mx1mo, mehoJ que e m1h1mo o 1gua a
juan I. Weber 89
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
aguho de d1chos eemeh1os.
9 1.Se d1spohe de uh o1e de 2000 vaoJes humJ1cos mayoJes que 0,
excep1o aguhos que se 1h1JodueJoh poJ eJJoJ, y que puedeh seJ 0 o
hega11vos. EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
CacuaJ e 1mpJ1m1J e pJomed1o de cada subo1e de1eJm1hado poJ a
apaJ1c1h de uh vaoJ 0 {que ho debe seJ 1eh1do eh cueh1a paJa e
pJomed1o)
CacuaJ e 1mpJ1m1J a 11ha de pJoceso s1 hubo deh1Jo de o1e agh
vaoJ hega11vo o ho.
10 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
LeeJ uha ma1J1z cuadJada de 1amao h.
0e1eJm1haJ e 1mpJ1m1J e pJoduc1o eh1Je a suma de os eemeh1os de a
d1agoha pJ1hc1pa poJ a suma de os eemeh1os de a d1agoha
secuhdaJ1a.
11 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
LeeJ uha ma1J1z cuadJada de 1amao h.
0e1eJm1haJ e 1mpJ1m1J e pJoduc1o eh1Je a suma de os eemeh1os de a
ma1J1z d1agoha supeJ1oJ poJ a suma de os eemeh1os de a ma1J1z
d1agoha 1h1eJ1oJ.
12 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ uh hmeJo h poJ pah1aa,
CeheJaJ uha ma1J1z de hmeJos aea1oJ1os eh1Je 1 y 10 de h x h,
SumaJ os eemeh1os paJes de d1cha ma1J1z,
PJeseh1aJ e Jesu1ado eh pah1aa
13 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ dos ma1J1ces de 1guaes d1mehs1ohes poJ pah1aa,
FoJmaJ uh vec1oJ coh os eemeh1os homogos que soh 1guaes eh ambas
ma1J1ces,
S1 e vec1oJ 11ehe uh hmeJo paJ de eemeh1os, pJeseh1aJ a suma de
eos, m1eh1Jas que s1 es 1mpaJ, pJeseh1aJ su pJoduc1o
14 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ uh humeJo ha1uJa h eh pah1aa,
CeheJaJ uh vec1oJ de h eemeh1os dohde e pJ1meJo es uh 1 y os
s1gu1eh1es soh e dobe de ah1eJ1oJ
0JdehaJ eh 1oJma decJec1eh1e e vec1oJ Jesu1ado y pJeseh1aJo eh
pah1aa
15 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ dos hmeJos m y h eh pah1aa,
CeheJaJ uh vec1oJ que coh1ehga os m pJ1meJos m11pos de h,
90 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
PJomed1aJ os que ocupah pos1c1ohes paJes deh1Jo de vec1oJ,
PJeseh1aJ os eemeh1os de vec1oJ mehoJes a ese pJomed1o
16 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
1hgJesaJ uh hmeJo h eh pah1aa,
geheJaJ uha ma1J1z A de h 11as y h coumhas eh a cua cada eemeh1o
Jesu1e de sumaJ su pos1c1h 11a y su pos1c1h coumha,
geheJaJ uh vec1oJ v1 que coh1ehga as sumas de cada 11a de a ma1J1z A,
geheJaJ uh vec1oJ v2 que coh1ehga os eemeh1os de a d1agoha pJ1hc1pa
de A,
pJeseh1aJ eh pah1aa e pJoduc1o escaaJ eh1Je v1 y v2
17 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
1hgJesaJ uh vec1oJ de 1Jes eemeh1os ha1uJaes eh pah1aa,
buscaJ e mx1mo de os 1Jes eemeh1os y geheJaJ uha ma1J1z cuadJada
aea1oJ1a coh vaoJes eh1Je 1 y 4 coh esa d1mehs1h,
A os eemeh1os 1mpaJes de a ma1J1z mu11p1caJos poJ 2
PJeseh1aJ a ma1J1z Jesu1ado eh pah1aa
18 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ 1Jes vaoJes ha1uJaes x, y y z eh pah1aa,
CeheJaJ uha ma1J1z A cuadJada de 1amao x, que coh1ehga vaoJes y eh a
d1agoha pJ1hc1pa y -z eh as dos subd1agohaes vec1has
CeheJaJ o1Ja ma1J1z B de as m1smas d1mehs1ohes cuyos eemeh1os Jesu1eh
de sumaJ 10 a os de A.
CacuaJ e pJoduc1o A.B y pJeseh1aJo eh pah1aa
19 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ uh hmeJo h eh pah1aa,
CeheJaJ uha ma1J1z cuadJada A de h x h, de hmeJos aea1oJ1os eh1Je 1 y
5
ThgJesaJ uh hmeJo m eh1Je 1 y 5 eh pah1aa. S1 e hmeJo ho es1uv1eJa
eh1Je 1 y 5, Jepe11J e 1hgJeso
PJeseh1aJ eh pah1aa uha ma1J1z B que 1ehga. ceJos eh co1hc1dehc1a coh
os eemeh1os de A d1s11h1os de m, y uhos eh os 1guaes a m.
20 Coh1oJmaJ uha ma1J1z de 6 11as poJ 24 coumhas, coh os s1gu1eh1es
vaoJes.
La 11a 1 coh ceJos
La 11a 2 coh uhos
La 11a 3 coh os hmeJos ha1uJaes de 1 a 24
La 11a 4 coh os hmeJos -2 a -48, de 2 eh 2 {-2, -4, -6, ..... -48)
La 11a 5 coh vaoJes e1dos poJ 1ecado
juan I. Weber 91
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
La 11a 6 coh vaoJes 1guaes a a suma de cada coumha pJev1a
3.3 Lectura y escritura de archivos
Adems de eeJ da1os desde e 1ecado y escJ1b1J Jesu1ados eh pah1aa,
0c1ave hos peJm11e eeJ y escJ1b1J da1os y/o Jesu1ados desde y hac1a
aJch1vos.
Ex1s1eh dos me1odoog1as paJa guaJdaJ y eeJ 1h1oJmac1h desde aJch1vos
eh 0c1ave. a pJ1meJa pJop1a de es1e ehguae, y a seguhda a es11o de
ehguae C. Es1a 11ma es a ms 1hd1cada cuahdo se heces11a uh mayoJ
coh1Jo sobJe e 1oJma1o de sa1da o de eh1Jada, peJo Jesu1a ms compea
de u111zaJ.
3.3.1 Lectura/escrtura esto Octave
La 1uhc1h d1spoh1be eh 0c1ave paJa guaJdaJ 1h1oJmac1h eh aJch1vos es
save.
3.3.1.1 Funcin save
La s1h1ax1s de a 1uhc1h save es a s1gu1eh1e.
save formato archivo variable1 variable2 ...
archivo JepJeseh1a uha cadeha de caJac1eJes coh1eh1ehdo e hombJe de
aJch1vo de sa1da {coh ex1ehs1h). 01cho aJch1vo se amacehaJ eh a
caJpe1a octave_files.
formato peJm11e eeg1J e 1oJma1o de sa1da de aJch1vo.
-ascii guaJda e aJch1vo eh 1oJma1o de 1ex1o es1hdaJ
-binary guaJda e aJch1vo eh 1oJma1o b1haJ1o
E 1oJma1o -ascii peJm11e que e coh1eh1do de aJch1vo pueda seJ
v1sua1zado eh cuaqu1eJ ed11oJ de 1ex1o {como e Boc de ho1as, poJ
eempo), peJo su acceso es eh1o {es1o es paJ11cuaJmeh1e ho1abe s1 e
voumeh de 1h1oJmac1h amacehado es 1mpoJ1ah1e).
E 1oJma1o -b1haJy guaJda a 1h1oJmac1h eh 11po b1haJ1o {ehguae de
mqu1ha), y so es acces1be desde 0c1ave. E acceso a a 1h1oJmac1h es
mucho ms veoz.
vaJ1abe1 vaJ1abe2 ... JepJeseh1ah as vaJ1abes a amacehaJ eh e
aJch1vo de sa1da {ho1aJ que sus hombJes h0 es1h sepaJados poJ comas).
Eh e s1gu1eh1e eempo se amaceha uha ma1J1z A eh uh aJch1vo A.da1 eh
1oJma1o asc11, y se v1sua1za 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 nIormtIca
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 vaoJes 1ueJoh guaJdados eh 1oJma1o expohehc1a.
3.3.1.2 Funcin load
La s1h1ax1s de a 1uhc1h load es a s1gu1eh1e.
destino = load(nombre_archivo);
nombre_archivo JepJeseh1a uha cadeha de caJac1eJes coh1eh1ehdo e hombJe
de aJch1vo de eh1Jada {coh ex1ehs1h). 01cho aJch1vo debeJ es1aJ
amacehado eh a caJpe1a octave_files.
destino es a vaJ1abe dohde se guaJdaJ a 1h1oJmac1h caJgada.
hab11uameh1e suee seJ uha ma1J1z o uh vec1oJ.
PoJ eempo, s1gu1ehdo coh e caso de a ma1J1z A ah1es de11h1da, s1
escJ1b1mos eh a 1hea de comahdos
>> clear A;
0uedaJ e1m1hada 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,
u111zahdo a 1uhc1h 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 1h1oJmac1h eh memoJ1a desde uh aJch1vo,
que haya s1do amacehada eh 1oJma 1abuaJ, 1hcuso s1 ho ha s1do geheJada
poJ e pJop1o 0c1ave. La sa1da de humeJosos d1spos111vos de med1c1h y
Jeg1s1Jo {uha es1ac1h 1o1a, poJ eempo) se amaceha eh aJch1vos de
juan I. Weber 93
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
1ex1o coh es1a es1Juc1uJa.
bh uso adecuado de as 1uhc1ohes save y load peJm11e amacehaJ y
JecupeJaJ 1h1oJmac1h eh 0c1ave, expahd1ehdo as pos1b11dades de os
pJogJamas desaJJoados eh es1e ehguae.
3.3.2 Lectura/escrtura esto C
Eh pJ1meJ ugaJ d1Jemos que paJa podeJ eeJ y/o escJ1b1J 1h1oJmac1h eh
aJch1vos eh es1e es11o, es hecesaJ1o agJegaJ dos pasos. a com1ehzo,
abJ1J e aJch1vo eh uh `modo` de apeJ1uJa de1eJm1hado, Jeg1s1Jahdo e
1deh1111cadoJ de `caha` de comuh1cac1ohes ab1eJ1o, 1JabaaJ coh e
aJch1vo, y 11hameh1e ceJJaJ e caha de comuh1cac1ohes ab1eJ1o.
Cua1Jo 1uhc1ohes soh de u111dad eh es1e es11o de 1Jabao. F0PEh,
FPRThTF, FSCAhF, y FCL0SE.
3.3.2.1 Funcin FOPEN
Es1a 1uhc1h peJm11e abJ1J uha aJch1vo ex1s1eh1e, s1 se pJe1ehde eeJ
1h1oJmac1h de , o 1h1c1aJ uh aJch1vo huevo {1amb1h abJ1J uh aJch1vo
ex1s1eh1e), paJa guaJdaJ 1h1oJmac1h eh . La s1h1ax1s es
ident = fopen(nombre, modo);
Eh o ah1eJ1oJ, ident JepJeseh1a uha vaJ1abe des11ho dohde se
amacehaJ e 1deh1111cadoJ {hmeJo eh1eJo) que JepJeseh1a e "caha"
ab1eJ1o de comuh1cac1ohes, y a 1Javs de cua se haJ Je1eJehc1a de aqu1
eh ms a aJch1vo ab1eJ1o. Los cahaes 0, 1 y 2 es1h JeseJvados poJ e
s1s1ema paJa os d1spos111vos s1d1h {1ecado), s1dou1 {pah1aa) y s1deJJ
{caha de eJJoJes). nombre es uha cadeha de caJac1eJes que coJJespohde a
hombJe de aJch1vo a abJ1J {puede 1hcu1J a ex1ehs1h). E aJch1vo eh
cues11h se abJ1J eh a caJpe1a oc1ave_11es. modo es uh caJc1eJ 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 continuacin 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 continuacin del existente).
Ago 1mpoJ1ah1e a des1acaJ es que es pos1be abJ1J ms de uh aJch1vo
s1mu1heameh1e 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 nIormtIca
bha vez 1hvocada a 1uhc1h F0PEh, es pos1be amaJ a as 1uhc1ohes de
ec1uJa / escJ11uJa FPRThTF y FSCAhF.
3.3.2.2 Funcin FPRINTF
Es1a 1uhc1h es s1m1aJ a a 1uhc1h PRThTF v1s1a ah1eJ1oJmeh1e, so
que se agJega, como pJ1meJ aJgumeh1o, e 1deh1111cadoJ de caha de sa1da
{aJch1vo) ab1eJ1o. As1, a s1gu1eh1e 1hs1Jucc1h
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 Funcin FSCANF
Es1a 1uhc1h es1 1hsp1Jada eh a 1uhc1h 1scah1 de ehguae C, s1h
embaJgo ho posee a m1sma s1h1ax1s. huevameh1e se supohe que pJev1ameh1e
ha s1do ab1eJ1o coh F0PEh e caha {aJch1vo) coh 1deh1111cadoJ amacehado
eh a vaJ1abe id. La s1h1ax1s es
[v1, v2, ....]=fscanf(id, plantilla, C);
dohde v1, v2, ... soh a vaJ1abes des11ho que se eeh de acueJdo a
1oJma1o de a plantilla {vae o exp1cado eh e caso de a 1uhc1h
PRThTF). E mod111cadoJ C e 1hd1ca a 0c1ave que es1amos u111zahdo a
1uhc1h eh e es11o C.
3.3.2.4 Funcin FCLOSE
bha vez 11ha1zadas as opeJac1ohes de ec1uJa / escJ11uJa coh uh
de1eJm1hado aJch1vo, y ah1es de 11ha1zaJ a eecuc1h de pJogJama, e
aJch1vo {caha de comuh1cac1h) debe ceJJaJse u111zahdo a 1uhc1h
FCL0SE. Su s1h1ax1s es
fclose(id);
dohde id es huevameh1e e 1deh1111cadoJ de aJch1vo que se pJe1ehde
ceJJaJ. hay que des1acaJ que debe u111zaJse uha 1hs1Jucc1h FCL0SE poJ
cada aJch1vo que se haya ab1eJ1o.
veamos uh eempo de ap1cac1h. Supohgamos que 1ehemos guaJdado eh a
caJpe1a oc1ave_11es uh aJch1vo, amado da1os.1x1, que coh11ehe a
s1gu1eh1e 1h1oJmac1h.
33578267 Jose Perez 19
34215449 Maria Gomez 18
31677932 Pablo Fernandez 20
28334467 Silvia Lopez 26
es dec1J, 0hT, hombJe, ape1do y edad de uh gJupo de aumhos. E
s1gu1eh1e pJogJama eh 0c1ave peJm11e eeJ a 1h1oJmac1h ah1eJ1oJ desde e
aJch1vo y geheJa o1Jo aJch1vo, dehom1hado apellidos.txt que coh11ehe so
os ape1dos de os aumhos ah1eJ1oJes.
juan I. Weber 95
Iundamentos de nIormtIca !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 Apcacn: estudo de trnsto
PaJa pJocedeJ a a sema1oJ1zac1h de uha aveh1da, se ha 1hs1aado uh
1hs1Jumeh1o que poJ e paso de cada veh1cuo, 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 pah1aa as
hoJas p1co de d1a, y a cah11dad de veh1cuos Jeg1s1Jados a cada uha de
esas hoJas. Se cohs1deJa que es hoJa p1co, aquea eh a que a cah11dad
de veh1cuos Jeg1s1Jada supeJa a dobe de pJomed1o de veh1cuos poJ
m1hu1o duJah1e e d1a. La 1mpJes1h debe seJ e1ec1uada eh uha 1aba coh e
s1gu1eh1e ehcabezado.
h0RA hThbT0S CAhTT0A0 0E vEhTCbL0S
3.3.3.1 Solucin
0ado que e aJch1vo de da1os 11ehe uha es1Juc1uJa de aJJego y amaceha
da1os de m1smo 11po, se usaJh as 1uhc1ohes de ec1uJa/escJ11uJa es11o
0c1ave. E s1gu1eh1e cd1go Jesueve e pJobema.
% estudio de transito para semaforizacion programa 09
registro = load("datos.dat");
promedio_diario = length(registro)/1440;
printf("%-15s%-30s\n","HORA MINUTOS","CANTIDAD DE VEHCULOS");
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 nIormtIca
% fin del programa
3.3.4 E|erccos
1 EscJ1b1J uh pJogJama eh 0c1ave que acep1e 1heas de 1ex1o de 1ecado 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 hmeJos de 1hea asoc1ados. Es dec1J, e pJogJama debeJ
1mpJ1m1J e hmeJo 1 ah1es de 1mpJ1m1J a pJ1meJa 1hea, e hmeJo 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
cacue y desp1egue uha 1s1a de pago, que debe coh1eheJ {eh es1e oJdeh).
0hT, hombJe, pago {1aJ11a poJ hoJa x hoJas 1Jabaadas).
4 Amacehe 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 cacuaJ y mos1JaJ e pJomed1o de
cada gJupo de hmeJos eh e aJch1vo amacehado. Los da1os es1h oJdehados
de modo que cada gJupo de hmeJos es1 pJeced1do poJ e hmeJo de
eemeh1os de da1os eh e gJupo. PoJ 1ah1o, e pJ1meJ hmeJo eh e aJch1vo,
5, 1hd1ca que os s1gu1eh1es 5 hmeJos debeJh agJupaJse uh1os. E hmeJo
4 1hd1ca 1hd1ca que os s1gu1eh1es cua1Jo hmeJos soh uh gJupo, y e 6
1hd1ca que os 11mos 6 hmeJos soh uh gJupo.
5 Se desea d1agJamaJ y pJogJamaJ uh pJoceso que as1ghe a d1v1s1h de
pJ1meJ ao que e coJJespohde a cada aumho, eh c1eJ1a espec1a1dad.
PaJa eo se d1spohe de uh aJch1vo de vaoJes, cohs111u1do de a
s1gu1eh1e maheJa. uh uego de 6 vaoJes, que JepJeseh1ah as vacah1es
d1spoh1bes eh cada uha de as d1v1s1ohes. A coh11huac1h apaJeceh paJes
de vaoJes cohs1s1eh1es eh hmeJo de egao y d1v1s1h eeg1da poJ e
aumho. Es1e cohuh1o de da1os 11ha1za coh uh hmeJo de egao 1gua a
99999. Se desea, eh o pos1be, Jespe1aJ a d1v1s1h so1c11ada poJ e
aumho. eh caso de ho habeJ vacah1e eh a m1sma, se e debe as1ghaJ
vacah1e eh o1Ja d1v1s1h. PoJ cada aumho se debe 1mpJ1m1J su hmeJo de
egao, y a coh11huac1h, o b1eh a d1v1s1h as1ghada, o e e1JeJo "STh
vACAhTE", eh caso de ho quedaJ d1spoh1be ugaJ eh h1hguha d1v1s1h. A
11ha1zaJ, se debe 1mpJ1m1J a cah11dad de vacah1es que quedaJoh
d1spoh1bes eh cada d1v1s1h, o a cah11dad de aumhos s1h vacah1es,
juan I. Weber 97
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
segh e caso.
6 E seJv1c1o me1eoJog1co desea e1ec1uaJ uh es1ud1o sobJe v1eh1os, paJa
o cua d1spohe de 1Jes aJch1vos de Jeg1s1Jos.
1) 2200 da1os que 11eheh a) hJo. de oca1dad {5 d1g11os)
b) v1eh1o mx1mo h1s1J1co de ugaJ {km/h)
2) 5000 da1os que es1abeceh a qu pJov1hc1a coJJespohde cada oca1dad.
a) hJo. de oca1dad {deh1Jo de es1as 5000
oca1dades es1h as 2200 de puh1o ah1eJ1oJ)
b) hJo. de pJov1hc1a {1 a 24).
3) da1os de v1eh1os med1dos duJah1e e peJ1odo eh es1ud1o, eh as
oca1dades de puh1o 1). a) hJo. de oca1dad eh que se m1d1
b) veoc1dad de v1eh1o med1da {km/h)
Se p1de.
E pJomed1o de os v1eh1os med1dos, eh1Je 1odas as oca1dades eh
as que e v1eh1o med1do exced1 eh 50 o ms de mx1mo h1s1J1co de
ugaJ {es1e es uh vaoJ h1co).
Los hmeJos de as pJov1hc1as eh as que es1h as oca1dades
mehc1ohadas eh e puh1o ah1eJ1oJ, agJegahdo a hmeJo de pJov1hc1a, a
cah11dad de oca1dades que eh ea cump1eJoh esa cohd1c1h.
7 Eh uha uh1veJs1dad se desea pJocesaJ 1h1oJmac1h sobJe exmehes Jehd1dos
poJ aumhos, a 11h de ob1eheJ da1os es1ad1s11cos. PaJa eo se d1spohe
de uh pJ1meJ aJch1vo coh a s1gu1eh1e 1h1oJmac1h de as 35 ma1eJ1as de
uha caJJeJa, s1h h1hgh oJdeh.
C00TC0 0E LA hATERTA {1 a 40) Ah0 Eh 0bE SE CbRSA {1 a 5)
A coh11huac1h se 1hgJesa uh aJch1vo coh 1h1oJmac1h sobJe os
aumhos 1hscJ1p1os paJa Jehd1J es1os exmehes, 1amb1h s1h h1hgh oJdeh.
C00TC0 0E LA hATERTA Eh 0bE SE ThSCRTBT0 {1 a 40) hbhER0 0E
LECAJ0 {5 d1g11os)
Cada aumho se 1hscJ1be eh uha soa ma1eJ1a.
F1hameh1e, 1Jas Jehd1J os exmehes, se geheJa uh aJch1vo coh da1os,
excus1vameh1e eh e caso de aumhos que se pJeseh1aJoh a Jehd1J exameh, y
11ha1za coh uh egao 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 hmeJos de egao de os aumhos 1hscJ1p1os
que h0 se pJeseh1aJoh a Jehd1J exameh
uh 1s1ado oJdehado eh 1oJma cJec1eh1e poJ cd1go de ma1eJ1a, que
coh1ehga e poJceh1ae de aumhos que apJobaJoh, Jespec1o de os que se
1hscJ1b1eJoh eh cada ma1eJ1a
os 5 pJomed1os {uho poJ cada ao) de ca111cac1ohes ob1eh1das poJ
os aumhos que J1hd1eJoh exameh eh esa 1echa.
98 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
3.4 Grficos cientificos
Chb0c1ave 11ehe capac1dad de Jea1zaJ gJ11cos eh dos y 1Jes
d1mehs1ohes. Los gJ11cos 2-0 de 0c1ave es1h 1uhdameh1ameh1e oJ1eh1ados
a a JepJeseh1ac1h gJ11ca de vec1oJes {y ma1J1ces) como eh hATLAB peJo
es1h basados eh as 1uhc1ohes gpo1 y gspo1 de s1s1ema gJ11co ChbPo1.
Eh e caso ms sehc1o os aJgumeh1os bs1cos de a 1uhc1h po1 vah a
seJ vec1oJes. Cuahdo uha ma1J1z apaJezca como aJgumeh1o, se cohs1deJaJ
como uh cohuh1o de vec1oJes coumha {eh aguhos casos 1amb1h de vec1oJes
11a).
0c1ave u111za uh 11po espec1a de veh1ahas paJa Jea1zaJ as
opeJac1ohes gJ11cas. C1eJ1os comahdos abJeh uha veh1aha hueva y o1Jos
d1buah sobJe a veh1aha ac11va, b1eh sus111uyehdo o que hub1eJa eh ea,
b1eh aad1ehdo huevos eemeh1os gJ11cos a uh d1buo ah1eJ1oJ.
3.4.1 Funcones grfcas 2D
0c1ave d1spohe de 1uhc1ohes bs1cas y espec1a1zadas paJa cJeaJ
gJ11cos 2-0. Es1as 1uhc1ohes se d11eJehc1ah pJ1hc1pameh1e poJ e 11po de
escaa que u111zah eh os ees de absc1sas y de oJdehadas y e 11po de
cooJdehadas. 0e eh1Je 1odas eas eh es1e cuJso veJemos a 1uhc1h plot(),
que peJm11e cohs1Ju1J gJ11cos caJ1es1ahos. PaJa mayoJ 1h1oJmac1h sobJe
as o1Jas 1uhc1ohes, cohsu1aJ e mahua de Je1eJehc1a de ehguae.
Ex1s1eh adems o1Jas 1uhc1ohes oJ1eh1adas a aad1J 111uos a gJ11co,
a cada uho de os ees, a d1buaJ uha cuadJ1cua aux11aJ, e1c. Es1as
1uhc1ohes soh as s1gu1eh1es.
title('ttulo') aade un ttulo al dibujo (parte superior).
bottom_title('titulo') aade un ttulo al dibujo (parte inferior).
xlabel('tal') aade una etiqueta al eje de abscisas. Con xlabel
off desaparece.
ylabel('cual') aade una etiqueta al eje de ordenadas. Con ylabel
off desapace.
grid on activa la inclusin de una cuadrcula en el
dibujo. Con grid off desaparece la cuadrcula
Los dos gJupos de 1uhc1ohes ah1eJ1oJes ho ac1ah de a m1sma 1oJma.
As1, a 1uhc1h plot d1bua uha hueva 11guJa eh a veh1aha ac11va {eh 1odo
momeh1o 0c1ave 11ehe uha veh1aha ac11va de eh1Je 1odos as veh1ahas
gJ11cas ab1eJ1as), o abJe uha hueva 11guJa s1 ho hay h1hguha ab1eJ1a,
sus111uyehdo cuaqu1eJ cosa que hub1eJa d1buada ah1eJ1oJmeh1e eh esa
veh1aha.
Se comehzaJ cJeahdo uh paJ de vec1oJes x e y .
>>x=[-10:0.2:10]; y=sin(x);
Se eecu1ah os comahdos s1gu1eh1es {se com1ehza ceJJahdo a veh1aha
ac11va, paJa que a cJeaJ a hueva veh1aha apaJezca eh pJ1meJ paho).
juan I. Weber 99
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
>>closeplot se cierra la ventana grfica activa anterior
>>grid se crea una ventana con una cuadrcula
>>plot(x,y) se dibuja la funcin seno conservando la
cuadrcula
Coh a 1uhc1h hold puedeh aad1Jse gJ11cos a uha 11guJa ya ex1s1eh1e
Jespe1ahdo su coh1eh1do.
3.4.1.1 La funcin plot
E eemeh1o bs1co de os gJ11cos b1d1mehs1ohaes es e vec1oJ. Se
u111zah 1amb1h cadehas de 1, 2 3 caJac1eJes paJa 1hd1caJ cooJes y
11pos de 1hea. La 1uhc1h plot(), eh sus d1veJsas vaJ1ah1es, ho hace o1Ja
cosa que d1buaJ vec1oJes.
bh eempo muy sehc1o de es1a 1uhc1h.
>>x=[1 3 2 4 5 3];
>>plot(x)
100 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
PoJ de1ec1o, os d1s11h1os puh1os de gJ11co se uheh coh uha 1hea
coh11hua. Tamb1h poJ de1ec1o, e cooJ que se u111za paJa a pJ1meJa
1hea es e Joo. Cuahdo a a 1uhc1h plot() se e pasa uh h1co vec1oJ -
Jea- como aJgumeh1o, d1cha 1uhc1h d1bua eh oJdehadas e vaoJ de os h
eemeh1os de vec1oJ 1Jeh1e a os 1hd1ces 1, 2, ... h de m1smo eh
absc1sas.
0c1ave u111za poJ de1ec1o cooJ bahco paJa e 1ohdo de a pah1aa y
o1Jos cooJes ms oscuJos paJa os ees y as gJ11cas.
bha seguhda 1oJma de u111zaJ a 1uhc1h plot() es coh dos vec1oJes como
aJgumeh1os. Eh es1e caso os eemeh1os de seguhdo vec1oJ se JepJeseh1ah
eh oJdehadas 1Jeh1e a os vaoJes de pJ1meJo, que se JepJeseh1ah eh
absc1sas. PoJ eempo cmo se puede d1buaJ uh cuadJ11eJo de es1a 1oJma
{obsJvese que paJa d1buaJ uh po1goho 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 1uhc1h plot() peJm11e 1amb1h d1buaJ m11pes cuJvas 1h1Joduc1ehdo
vaJ1as paJeas de vec1oJes como aJgumeh1os. Eh es1e caso, cada uho de os
seguhdos vec1oJes se d1buah eh oJdehadas como 1uhc1h de os vaoJes de
pJ1meJ vec1oJ de a paJea, que se JepJeseh1ah eh absc1sas. S1 e usuaJ1o
ho dec1de o1Ja cosa, paJa as suces1vas 1heas se u111zah cooJes que soh
peJmu1ac1ohes c1c1cas de azu, veJde, Joo, cyah, mageh1a, amaJ1o y
hegJo.
0bsJvese b1eh cmo se d1buah e seho y e coseho eh e eempo.
>>x=0:pi/25:6*pi;
>>y=sin(x); z=cos(x);
juan I. Weber 101
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
>>plot(x,y,x,z)
E comahdo plot() puede u111zaJse 1amb1h coh ma1J1ces como aJgumeh1os.
Aguhos eempos sehc1os.
plot(A) dibuja una lnea 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 dimensin
de las filas coincide con la de x, se dibujan las
filas.
plot(A,x) anlogo 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) anlogo 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
dems pares.
Eempos de uso de as d11eJeh1es vaJ1ah1es de a 1uhc1h po1{).
>>A=hilb(6);
>>plot(A)
102 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
>>x=[1 2 3 4 5 6];
>>plot(x, inv(A))
>>plot(1./A, A)
juan I. Weber 103
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
3.4.1.2 Estilos de lnea y marcadores en la funcin plot
La 1aJea 1uhdameh1a de a 1uhc1h plot() es d1buaJ os vaoJes de uh
vec1oJ eh oJdehadas, 1Jeh1e a os vaoJes de o1Jo vec1oJ eh absc1sas. Eh
e caso geheJa es1o ex1ge que se paseh como aJgumeh1os uh paJ de
vec1oJes. Eh Jea1dad, e cohuh1o bs1co de aJgumeh1os de es1a 1uhc1h es
uha 1J1pe1a 1oJmada poJ dos vec1oJes y uha cadeha de 1, 2 3 caJac1eJes
que 1hd1ca e cooJ y e 11po de 1hea o de maJkeJ.
E 1oJma1o de a 1uhc1h plot() es.
plot(x,y,fmt...)
donde 1m1 es una cadena de caracteres que es Interpretada como sIgue.
'-' fija el estilo lnea (por defecto)
'+' fija el estilo de puntos cruces
'*' fija el estilo de puntos asteriscos
'o' fija el estilo de puntos crculos
'x' fija el estilo de puntos x
PaJa mod111caJ e cooJ se espec111ca fmt como s1gue.
'r' rojo
'g' verde
'b' azul
'm' magenta
'c' cyan
'w' negro
Cuahdo hay que d1buaJ vaJ1as 1heas, poJ de1ec1o se vah 1omahdo
suces1vameh1e os cooJes de a 1aba comehzahdo poJ e Joo, hac1a abao,
y cuahdo se 1eJm1hah se vueve a empezaJ o1Ja vez poJ e Joo.
104 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
3.4.1.3 Aadir lneas a un grfico ya existente
Ex1s1e a pos1b11dad de aad1J 1heas a uh gJ11co ya ex1s1eh1e, s1h
des1Ju1Jo o s1h abJ1J uha hueva veh1aha. Se u111zah paJa eo os
comahdos hold on y hold off. E pJ1meJo de eos hace que os gJ11cos
suces1vos Jespe1eh os que ya se hah d1buado eh a 11guJa {es pos1be que
haya que mod111caJ a escaa de os ees), e comahdo hold off deshace e
e1ec1o de hold on.
E eempo aade a gJ11ca de cos{x) a a gJ11ca de s1h{x) pJev1ameh1e
cJeada.La pJ1meJa 1hea {clearplot) 1mp1a e coh1eh1do de a veh1aha
gJ11ca s1h ceJJaJa.
>>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 gJ11ca se puede d1v1d1J eh m paJ11c1ohes hoJ1zoh1aes y h
veJ11caes, coh obe1o de JepJeseh1aJ m11pes gJ11cos eh ea. Cada uha
de es1as subveh1ahas 11ehe sus pJop1os ees, auhque o1Jas pJop1edades soh
comuhes a 1oda a 11guJa. La 1oJma geheJa de es1e comahdo es.
subpo1{m,h,1),dohde m y h soh e hmeJo de subd1v1s1ohes eh 11as y
coumhas, e 1 es a subd1v1s1h que se cohv1eJ1e eh ac11va. Las
subd1v1s1ohes se humeJah cohsecu11vameh1e empezahdo poJ as de a pJ1meJa
11a, s1gu1ehdo poJ as de a seguhda, e1c.
PoJ eempo.
juan I. Weber 105
Iundamentos de nIormtIca !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 escaa de ees poJ de1ec1o, que eh aguhas ocas1ohes
puede 1h1eJesaJ camb1aJ. E comahdo bs1co es axis(limites). PoJ de1ec1o,
aus1a a escaa de cada uho de os ees de modo que vaJ1e eh1Je e m1h1mo
y e mx1mo vaoJ de os vec1oJes a JepJeseh1aJ. Es1e es e amado modo
au1o, o modo au1om11co. PaJa de11h1J de modo exp1c11o os vaoJes mx1mo
y m1h1mo segh cada ee, se u111za 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 automtico.
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 nIormtIca
axis('square') la ventana ser cuadrada
axis(normal) elimina las restricciones introducidas por
equal' y square
axis(off) elimina las etiquetas, los nmeros y los ejes
axis('on') restituye las etiquetas, los nmeros y los
ejes
PaJa mod111caJ e 111uo de uh gJ11co, se usa a 1uhc1h 111e{). E
1oJma1o es.
title(titulo)
dohde titulo es uha cadeha de caJac1eJes que apaJeceJ como 111uo de
gJ11co.
PaJa agJegaJ 111uos a os ees, se u111zah as 1uhc1ohes
xlabel(titulo_x)
ylabel(titulo_y)
zlabel(titulo_z)
Coh uh uso s1m1aJ a a 1uhc1h title() v1s1a ah1eJ1oJmeh1e. veamos uh
eempo. h1ese a 1hs1Jucc1h replot que Jed1bua e coh1eh1do de a
veh1aha gJ11ca, y es hecesaJ1a muchas veces paJa podeJ veJ Je1eados 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 nIormtIca !T-IIC- pto. de ng. CIvII
>>title('Funcin seno(x) -en rojo- y funcin coseno(x) -en verde-')
>>xlabel('ngulo en radianes')
>>ylabel('valor de la funcin trigonomtrica')
>>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 nIormtIca
-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 Funcones grfcas 3D
Se puede d1buaJ uha 1uhc1h de dos vaJ1abes {z=1{x,y)) sobJe uh
dom1h1o Jec1ahguaJ. Seah x e y dos vec1oJes que coh11eheh as cooJdehadas
eh uha y o1Ja d1Jecc1h de a Je11cua {gJ1d) sobJe a que se va a d1buaJ
a 1uhc1h. 0espus hay que cJeaJ dos ma1J1ces X {cuyas 11as soh cop1as
de x) e Y {cuyas coumhas soh cop1as de y). Es1as ma1J1ces se cJeah coh
a 1uhc1h meshgrid. Es1as ma1J1ces JepJeseh1ah Jespec11vameh1e as
cooJdehadas x e y de 1odos os puh1os de a Je11cua. La ma1J1z de vaoJes
Z se cacua a paJ11J de as ma1J1ces de cooJdehadas X e Y. F1hameh1e
hay que d1buaJ es1a ma1J1z Z coh a 1uhc1h mesh, cuyos eemeh1os soh
1uhc1h eemeh1o a eemeh1o de os eemeh1os de X e Y. Los comahdos de
gJa11cac1h 30 que veJemos eh es1e cuJso soh os s1gu1eh1es {huevameh1e e
ec1oJ puede cohsu1aJ e mahua de Je1eJehc1a de ehguae paJa veJ o1Jas
1uhc1ohes de gJa11cac1h 30) .
mesh(X, Y, Z)
CJa11ca uha maa dadas as ma1J1ces X e Y desde meshgrid y uha ma1J1z
Z coJJespohd1eh1e a as cooJdehadas X y Y de a maa. S1 X e Y soh
vec1oJes, uego uh vJ11ce 11p1co es {X{), Y{1), Z{1,)). As1 as
coumhas de Z coJJespohdeh a d11eJeh1es vaoJes de X y as 11as de Z
coJJespohdeh a d11eJeh1es vaoJes 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 maa. Las 11as de X soh
cop1as de x, y as coumhas de de Y soh cop1as de y.
Se de11he uha 1uhc1h z de dos vaJ1abes eh x e y.
x = [-3:0.4:3]; y = x;
[X,Y] = meshgrid(x,y);
juan I. Weber 109
Iundamentos de nIormtIca !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
vase como eempo e d1buo de a 1uhc1h seh{J)/J , coh J=sqJ1{x2 +
y2 ), paJa ev11aJ d1v1d1J poJ ceJo {0) se suma a dehom1hadoJ e hmeJo
pequeo 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 "maa de aambJes". S1
queJemos veJ esa m1sma supeJ11c1e cooJ1da {y opaca) u111zamos a 1uhc1h
surf, que 11ehe a m1sma s1h1ax1s que mesh.
110 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
>> surf(U,V,W);
Es1o pJoduce, paJa as m1smas ma1J1ces b,v y W de eempo ah1eJ1oJ.
3.4.2.1 Dibujo de lneas de contorno: funcin contour()
bha 1oJma d1s11h1a de JepJeseh1aJ 1uhc1ohes 1J1d1mehs1ohaes es poJ
med1o de 1so1heas o cuJvas de h1ve. Se puedeh u111zaJ es1as
JepJeseh1ac1ohes coh a ma1J1z Z que se ha cacuado 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 1uhc1h contour() es a s1gu1eh1e.
juan I. Weber 111
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
contour(x,y,Z,N)
dohde x e y soh os vec1oJes que JepJeseh1ah os coJJespohd1eh1es
vaoJes de x e y {s1 se om11eh eh os ees apaJeceJh as pos1c1ohes de
os eemeh1os coJJespohd1eh1es), Z es uha ma1J1z que 11ehe length(y) 11as
y length(x) coumhas, y h 1hd1ca e hmeJo de cuJvas de h1ve a gJa11caJ
{s1 se om11e, se gJa11caJh 10 cuJvas).
S1 se pJe1ehde d1buaJ s1mu1heameh1e a supeJ11c1e 30 y debao as
1so1heas, se puedeh u111zaJ as 1uhc1ohes meshc y surfc, coh a m1sma
s1h1ax1s que as 1uhc1ohes mesh y surf; eempo eh base a a 1uhc1h
sombJeJo de apaJ1ado ah1eJ1oJ.
>> surfc(U,V,W);
pJoduce
3.4.2.2 Campos vectoriales: funcin quiver
La 1uhc1h quiver peJm11e gJa11caJ 1uhc1ohes vec1oJ1aes. bha 1uhc1h
vec1oJ1a es aquea que a cada uha de as compoheh1es de uh vec1oJ, eh uh
puh1o {x,y), e as1gha uha 1uhc1h de esas cooJdehadas. Es muy u111zada
paJa JepJeseh1aJ campos de veoc1dades de 1u1dos, despazam1eh1os de
es1Juc1uJas, 1uos de caoJ, 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 maa JeguaJ {puedeh seJ cJeadas
usahdo a 1uhc1h meshgrid) y b y v ma1J1ces de as m1smas d1mehs1ohes,
que coh11eheh os vaoJes {hodo a hodo) de as compoheh1es u y v de cada
vec1oJ. Eh e s1gu1eh1e eempo se cJea uh dom1h1o eh1Je -1 y 1, 1ah1o eh
x como eh y, y se gJa11ca uh campo vec1oJ1a u111zahdo quiver.
112 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
>> 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 Jesu1ado es e s1gu1eh1e.
3.4.3 Apcacn: recoeccn de resduos urbanos
EscJ1ba uh pJogJama eh Chb-0c1ave que peJm11a a usuaJ1o 1hgJesaJ os
1amaos a y b de a pah1a uJbaha de a 11guJa, dohde cada puh1o
JepJeseh1a uh cJuce de caes {humeJados segh e oJdeh de a 11guJa), y
os 1amaos dx y dy de cada mahzaha. Luego e pJogJama e so1c11aJ que
1hd1que e cam1ho a JecoJJeJ poJ uh cam1h Jecoec1oJ 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
eJJheo, e pJogJama ho debeJ cohs1deJaJo. E pJogJama debeJ mos1JaJ eh
pah1aa a ohg11ud 1o1a de JecoJJ1do 1hd1cado, y debeJ gJa11caJ os
cJuces de caes como cJuces azues y e cam1ho a JecoJJeJ {como 1hea
coh11hua veJde).
Eempo.
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 nIormtIca !T-IIC- pto. de ng. CIvII
3.4.3.1 Solucin
E cd1go s1gu1eh1e Jesueve e pJobema.
% 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 nIormtIca
3.4.4 E|erccos
1 EscJ1b1J uh pJogJama eh Chb0c1ave que peJm11a.
ThgJesaJ desde aJch1vo uha ma1J1z de h 11as y 2 coumhas, que
JepJeseh1ah as cooJdehadas de h puh1os.
haaJ os dos puh1os ms d1s1ah1es eh1Je s1.
CJa11caJ poJ med1o de cJuces `+ a pos1c1h de os puh1os da1o, y coh
uha 1hea azu e segmeh1o que JepJeseh1a a d1s1ahc1a mx1ma cacuada.
2 0esaJJoaJ uh pJogJama dehom1hado Es1Juc1uJa, eh ehguae 0c1ave paJa
amacehaJ os da1os de uha es1Juc1uJa 11po PJ11co Paho, de11h1da poJ
os hodos que soh os puh1os de oJ1geh y 11h de os eemeh1os que o
cohs111uyeh y gJa11caJo.
Cohs1Jucc1h de os 0a1os 1h1c1aes de pJobema.
1) Se 1hgJesah desde e 1ecado e hmeJo h de hodos de a Es1Juc1uJa
2) Se 1hgJesah desde e 1ecado os da1os de as cooJdehadas X y Y de
os h hodos de as es1Juc1uJa. Se amacehah eh a ma1J1z hodos.
3) Se 1hgJesa desde e 1ecado e hmeJo E de Eemeh1os de a Es1Juc1uJa
4) Se 1hgJesah desde e 1ecado os da1os de cohec11v1dad de hodos
oJ1geh y 11h de os E Eemeh1os de as es1Juc1uJa. Se amacehah eh a
ma1J1z Eemeh1os
Cohs1Jucc1h de CJ11co de a Es1Juc1uJa.
5) hed1ah1e a 1uhc1h. |ex, ey] = Cohec11v1dad{hodos, Eemeh1os) se
devueveh os vec1oJes ex y ey que coh11eheh as cooJdehadas de os hodos
oJ1geh y 11h de cada eemeh1o eh paJes cohsecu11vos. Se gJa11ca eemeh1o a
eemeh1o, med1ah1e uh segmeh1o que uhe e hodo oJ1geh coh e hodo 11h.
3 Se d1spohe de a 1h1oJmac1h de uha seJ1e de da1os de uv1as pJomed1o
mehsuaes desde 1930 has1a 2003, amacehadas eh uh aJch1vo de 1ex1o coh
uha secuehc1a de vaoJes h1s1J1cos eh m11me1Jos/mes eh cada Jehgh y
se heces11a de1eJm1haJ os s1gu1eh1es paJme1Jos de a m1sma.
1. Luv1a mehsua pJomed1o de 1oda a seJ1e.
2. Luv1as mehsuaes pJomed1o paJa cada mes de ao.
3. Luv1as ahuaes.
4. Ao ms uv1oso.
5. Ao mehos uv1oso.
6. Tomahdo cohuh1os de da1os coJJespohd1eh1es a 4 aos segu1dos,
de1eJm1haJ e ao de com1ehzo de a subseJ1e que coJJespohd1 a peJ1odo
de mayoJ sequ1a y e de mayoJ humedad y mos1JaJ os vaoJes de as uv1as
coJJespohd1eh1es a os 4 aos.
7. CJa11caJ as uv1as ahuaes.
01seo.
1. ResoveJ e pJobema med1ah1e uh PJogJama/PJoced1m1eh1o escJ11o eh
ehguae 0c1ave.
juan I. Weber 115
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
2. E pJogJama cohsu1aJ a usuaJ1o e hombJe de aJch1vo dohde es1a
amacehada a seJ1e de da1os de uv1as mehsuaes, que se as1ghaJ eh
memoJ1a a a ma1J1z Luv1as coh 1ah1a 11as como aos 11ehe a seJ1e y 12
coumhas coJJespohd1eh1es a cada mes.
3. Todas as sa1das se d1Jecc1ohaJh a a pah1aa.
4. Los puh1os 3. 4., y 5. se cacuaJh med1ah1e uha 1uhc1h cuya
cabeceJa se espec111caJ eh 0c1ave de a s1gu1eh1e maheJa.
|a, amas, ameh] = ahuaes{Luv1as), coh vaoJes de sa1da
ap. vec1oJ de uv1as ahuaes,
amasa. ao mas uv1oso,
ameh. ao mehos uv1oso.
5. E puh1o 6. se cacuaJ med1ah1e uha 1uhc1h cuya cabeceJa se
espec111caJ eh 0c1ave de a s1gu1eh1e maheJa.
|apsec, psec, aphum, phum] = peJ1odos{a)
apsec. ao 1h1c1a de peJ1odo ms seco
psec. vec1oJ de uv1as pJomed1o ahua de os 4 aos de peJ1odo
seco
aphum. ao 1h1c1a de peJ1odo ms hmedo
pum. vec1oJ de uv1as pJomed1o ahua de os 4 aos de peJ1odo
hmedo
4 Se d1spohe de uha seJ1e de med1das de pesos eh gJamos de uh cohuh1o de
p1ezas de uh m1smo 11po y se desea aha1zaJ aguhas vaJ1ac1ohes
v1hcuadas coh a pJocedehc1a de su 1abJ1cac1h. PaJa eo se debe
Jea1zaJ uh pJogJama eh ehguae 0c1ave que Jea1ce as s1gu1eh1es
opeJac1ohes.
1) LeeJ de d1sco uha ma1J1z P cuyas h 11as coJJespohdeh a cada p1eza, y
sus coumhas JepJeseh1ah os s1gu1eh1es vaoJes.
Coumha 1. humeJo de p1eza
Coumha 2. Peso de a P1eza
Coumha 3. humeJo de PJocedehc1a {hay soo 3 pos1bes pJocedehc1as)
2) 0e1eJm1haJ os s1gu1eh1es paJme1Jos 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 cooJes, segh a pJocedehc1a, os
pesos de as p1ezas.
5 LeeJ uh cohuh1o "h1mg" de aJch1vos que coh11eheh os da1os de 1mgehes
suces1vas de a pos1c1h de uh cohuh1o de "hpuh" puh1os "1" de paho
{x,y) coh "1", x e y eh e 1h1eJvao de vaoJes d1scJe1os |1,100], que
se coJJespohdeh coh as 11as y as coumas de as 1mgehes.
116 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
Los vaoJes "1" 1deh1111cah os puh1os y e Jes1o de os vaoJes de a
1mgeh 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 paho X,Y,
dehom1hados.
1JayX |hpuh,h1mag] y 1JayY|hpuh,h1mag] que coh1ehgah paJa cada puh1o de
cada 1mageh eh e 1hd1ce coJJespohd1eh1e 11a de a ma1J1z de a 1mageh uh
vaoJ 1gua a a coumha 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 1mgehes.
6 EscJ1b1J eh ehguae 0c1ave uh pJogJama paJa JesoveJ e s1gu1eh1e
pJobema.
a. AmacehaJ eh uh vec1oJ S os Jeg1s1Jos a 1h1eJvao cohs1ah1e de 0.01
seguhdo de a amp11ud eh me1Jos de uh 1eJJemo1o amacehados, eh uh
aJch1vo de 11po 1ex1o {s1smo.1x1) que eh cada Jehgh coh11ehe uh hmeJo
Jea que JepJeseh1a a amp11ud de mov1m1eh1o.
b. Se p1de de1eJm1haJ eh que 1hs1ah1e, med1do eh ceh1s1mas de seguhdo
se pJoduce a amp11ud mx1ma y mos1JaJo. E mx1mo se de11he como e
pJomed1o de a suma de dos amp11udes mx1mas cohsecu11vas eh vaoJ
absou1o {pos111vo y hega11vo).
c. Se p1de de1eJm1haJ cua es a ohg11ud de peJ1odo eh seguhdos dohde
ocuJJe a amp11ud mx1ma cohs1deJahdo a m1smo como 2 veces e peJ1odo
1h1c1ado eh e puh1o dohde a sea pJoduce e mx1mo pos111vo y e mx1mo
hega11vo.
d. CJa11caJ os puh1os de Jeg1s1Jo coJJespohd1eh1es a peJ1odo dohde
ocuJJeh as mx1ma amp11udes pos111va y hega11va.
e. Se p1de de1eJm1haJ a duJac1h 1o1a de s1smo.
3.5 Recomendaciones finales
A coh11huac1h me peJm11o Jepe11J c1eJ1as Jecomehdac1ohes pJeseh1adas eh
a b1b1ogJa11a {BaJ1, 2004) a pJogJamadoJ hova1o, que cJeo puedeh seJ
de u111dad.
Las 1uhc1ohes vec1oJ1aes de 0CTAvE soh mucho ms Jp1das que sus
coh1JapaJ11das escaaJes. Eh a med1da de o pos1be es muy 1h1eJesah1e
vec1oJ1zaJ os agoJ11mos de ccuo, es dec1J, Jea1zaJos coh vec1oJes y
ma1J1ces, y ho coh vaJ1abes escaaJes deh1Jo de c1cos. Auhque os
vec1oJes y ma1J1ces puedeh 1J cJec1ehdo a med1da que se heces11a, es mucho
ms Jp1do JeseJvaJes 1oda a memoJ1a hecesaJ1a a com1ehzo de
pJogJama. Se puede u111zaJ paJa eo a 1uhc1h zeJos. Adems de es1e
modo a memoJ1a JeseJvada es coh11gua.
Cohv1ehe desaJJoaJ os pJogJamas 1hcJemeh1ameh1e, compJobahdo cada
1uhc1h o compoheh1e que se aade. 0e es1a 1oJma s1empJe se cohs1Juye
sobJe ago que ya ha s1do compJobado y que 1uhc1oha. s1 apaJece agh
juan I. Weber 117
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
eJJoJ, o ms pJobabe es que se deba a o 11mo que se ha aad1do, y de
es1a maheJa a bsqueda de eJJoJes es1 aco1ada y es mucho ms sehc1a.
RecuJdese que de oJd1haJ1o e 11empo de coJJecc1h de eJJoJes eh uh
pJogJama puede seJ 4 5 veces supeJ1oJ a 11empo de pJogJamac1h. Eh es1e
m1smo seh11do, puede dec1Jse que pehsaJ b1eh as cosas a pJogJamaJ {sobJe
uha hoa de pape eh bahco, meoJ que sobJe a pah1aa de PC) s1empJe
es Jeh1abe, poJque se d1sm1huye ms que pJopoJc1ohameh1e e 11empo de
depuJac1h y e1m1hac1h de eJJoJes.
01Jo obe11vo de a pJogJamac1h debe seJ mah1eheJ e cd1go o ms
sehc1o y oJdehado pos1be. A pehsaJ eh cmo haceJ uh pJogJama o eh cmo
Jea1zaJ de1eJm1hada 1aJea es cohveh1eh1e pehsaJ s1empJe pJ1meJo eh a
souc1h ms sehc1a, y uego pah1eaJse o1Jas cues11ohes como a
e11c1ehc1a.
F1hameh1e, e cd1go debe seJ escJ11o de uha maheJa caJa y oJdehada,
1h1Joduc1ehdo comeh1aJ1os, u111zahdo 1heas eh bahco paJa sepaJaJ as
d1s11h1as paJ1es de pJogJama, sahgJahdo as 1heas paJa veJ caJameh1e e
Jahgo de as dec1s1ohes y c1cos, u111zahdo hombJes de vaJ1abes que
JecueJdeh a s1gh111cado de a magh11ud 11s1ca coJJespohd1eh1es, e1c.
Eh cuaqu1eJ caso, a meoJ 1oJma {s1ho a h1ca) de apJehdeJ a
pJogJamaJ es pJogJamahdo.
3.6 Bibliografia
BaJ1, C. {2004). Th1Joducc1h a a Th1oJm11ca. veJs1h opeJac1oha eh
Chb-0c1ave. bh1veJs11as, CJdoba.
BJohsoh, C. {2000). C++ paJa Thgeh1eJ1a y C1ehc1as. Th1eJha11oha
Thomsoh Ed11oJes, hx1co.
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 nIormtIca
Unidad 4: Aplicaciones de la Programacion:
introduccion a los Metodos Numericos
4.1 lntroduccion
La c1ehc1a y a 1echoog1a descJ1beh os 1ehmehos Jeaes med1ah1e
modeos ma1em11cos. E es1ud1o de es1os modeos peJm11e uh cohoc1m1eh1o
ms pJo1uhdo de 1ehmeho, as1 como de su evouc1h 1u1uJa. La ma1em11ca
ap1cada es a Jama de as ma1em11cas que se ded1ca a buscaJ y ap1caJ
as heJJam1eh1as ms adecuadas a os pJobemas basados eh es1os modeos.
0esa1oJ1uhadameh1e, ho s1empJe es pos1be ap1caJ m1odos aha111cos
cs1cos poJ d11eJeh1es Jazohes.
ho se adecah a modeo cohcJe1o.
Su ap1cac1h Jesu1a exces1vameh1e compea.
La souc1h 1oJma es 1ah comp1cada que hace 1mpos1be cuaqu1eJ
1h1eJpJe1ac1h pos1eJ1oJ.
S1mpemeh1e ho ex1s1eh m1odos aha111cos capaces de pJopoJc1ohaJ
souc1ohes a pJobema.
Eh es1os casos soh 11es as 1ch1cas humJ1cas, que med1ah1e uha aboJ
de ccuo ms o mehos 1h1ehsa, cohduceh a souc1ohes apJox1madas que soh
s1empJe humJ1ca. E 1mpoJ1ah1e es1ueJzo de ccuo que 1mp1ca a mayoJ1a
de es1os m1odos hace que su uso es1 1h11mameh1e 1gado a empeo de
compu1adoJes. 0e hecho, s1h e desaJJoo que se ha pJoduc1do eh e campo
de a 1h1oJm11ca Jesu1aJ1a d111c1meh1e 1mag1habe e h1ve ac1ua de
u111zac1h de as 1ch1cas humJ1cas eh mb11os cada d1a ms d1veJsos.
Eh es1e cap11uo veJemos 1Jes pJobemas Jesue1os a 1Javs de os
m1odos humJ1cos. e ccuo de Ja1ces de ecuac1ohes ho 1heaes, a
souc1h 11eJa11va de ecuac1ohes 1heaes y e ccuo humJ1co de
deJ1vadas e 1h1egJaes.
4.2 Solucion de ecuaciones no lineales
E obe1o de ccuo de as Ja1ces de uha ecuac1h es de1eJm1haJ os
vaoJes de x paJa os que se cumpe.
f ( x)0
La de1eJm1hac1h de as Ja1ces de uha ecuac1h es uho de os pJobemas
ms ah11guos eh ma1em11cas y se hah Jea1zado uh gJah hmeJo de es1ueJzos
eh es1e seh11do. Su 1mpoJ1ahc1a Jad1ca eh que s1 podemos de1eJm1haJ as
Ja1ces de uha ecuac1h 1amb1h podemos de1eJm1haJ mx1mos y m1h1mos,
vaoJes pJop1os de ma1J1ces, JesoveJ s1s1emas de ecuac1ohes 1heaes y
d11eJehc1aes, e1c...
juan I. Weber 119
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
La de1eJm1hac1h de as souc1ohes de a ecuac1h ah1eJ1oJ puede egaJ
a seJ uh pJobema muy d111c1. S1 1{x) es uha 1uhc1h po1hm1ca de gJado
1 2, cohocemos expJes1ohes s1mpes que hos peJm111Jh de1eJm1haJ sus
Ja1ces. PaJa po1hom1os de gJado 3 4 es hecesaJ1o empeaJ m1odos
compeos y aboJ1osos. S1h embaJgo, s1 1{x) es de gJado mayoJ de cua1Jo o
b1eh ho es po1hm1ca, ho hay h1hguha 1Jmua cohoc1da que peJm11a
de1eJm1haJ os ceJos de a ecuac1h {excep1o eh casos muy paJ11cuaJes).
Ex1s1eh uh paJ de Jegas que puedeh ayudaJ a de1eJm1haJ as Ja1ces de
uha ecuac1h.
E 1eoJema de Bozaho, que es1abece que s1 uha 1uhc1h coh11hua, 1{x),
1oma eh os ex1Jemos de 1h1eJvao |a,b] vaoJes de s1gho opues1o,
eh1ohces a 1uhc1h adm11e, a mehos, uha Ja1z eh d1cho 1h1eJvao.
Eh e caso eh que 1{x) sea uha 1uhc1h agebJa1ca {po1hm1ca) de gJado
h y coe11c1eh1es Jeaes, podemos a11JmaJ que 1ehdJ h Ja1ces Jeaes o
compeas.
La mayoJ1a de os m1odos u111zados paJa e ccuo de as Ja1ces de
uha ecuac1h soh 11eJa11vos y se basah eh modeos de apJox1mac1ohes
suces1vas. Es1os m1odos 1Jabaah de s1gu1eh1e modo. a paJ11J de uha
pJ1meJa apJox1mac1h a vaoJ de a Ja1z, de1eJm1hamos uha apJox1mac1h
meoJ ap1cahdo uha de1eJm1hada Jega de ccuo y as1 suces1vameh1e has1a
que se de1eJm1he e vaoJ de a Ja1z coh e gJado de apJox1mac1h deseado.
4.2.1 Mtodo de a bseccn
Es e m1odo ms eemeh1a y ah11guo paJa de1eJm1haJ as Ja1ces de uha
ecuac1h. Es1 basado d1Jec1ameh1e eh e 1eoJema de Bozaho exp1cado coh
ah1eJ1oJ1dad. Cohs1s1e eh paJ11J de uh 1h1eJvao |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 1h1eJvao suces1vameh1e has1a haceJo 1ah
pequeo como ex1a a pJec1s1h que hayamos dec1d1do empeaJ.
Th1c1ameh1e, es hecesaJ1o sum1h1s1JaJ a pJogJama e hmeJo mx1mo de
11eJac1ohes h, a 1oeJahc1a , que JepJeseh1a as c11Jas s1gh111ca11vas
coh as que queJemos ob1eheJ a souc1h y dos vaoJes de a vaJ1abe
1hdepehd1eh1e, a y b, 1aes que cumpah a Jeac1h 1{a)*1{b) < 0. bha vez
que se compJueba que e 1h1eJvao de paJ11da es adecuado, o d1v1d1mos eh
dos sub1h1eJvaos cacuahdo e vaoJ c
a+b
2
, y de1eJm1hamos eh qu
sub1h1eJvao 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 1h1eJvao
|a,c] y poJ o 1ah1o e huevo b debe seJ e c Jec1h cacuado
eh caso coh1JaJ1o, a Ja1z peJ1ehece a 1h1eJvao |c,b] y poJ o 1ah1o
e huevo a debe seJ e c Jec1h cacuado
Repe11mos e pJoceso has1a acahzaJ a cohveJgehc1a {has1a que <= ) o
b1eh has1a que se excede e hmeJo de 11eJac1ohes peJm111das {T1eJ >
haxT1eJ), eh cuyo caso es hecesaJ1o 1mpJ1m1J uh mehsae de eJJoJ 1hd1cahdo
que e m1odo ho cohveJge.
120 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
E eJJoJ e se cacua med1ah1e a expJes1h
e
k+1
c
k+1
-c
k

eh dohde e supeJ1hd1ce hace Je1eJehc1a a paso 11eJa11vo. 0e es1e modo,


e 1Jm1ho , JepJeseh1a e hmeJo de c11Jas s1gh111ca11vas coh as que
ob1ehemos e Jesu1ado.
veamos uh eempo. 0ada a ecuac1h
yx
2
e
x
-
1
3
cuya gJ11ca v1ehe dada poJ
vemos que posee 1Jes Ja1ces Jeaes, eh os 1h1eJvaos {-4,-3) , {-1,0) y
{0,1). vamos a ehcoh1JaJ a mayoJ de es1as Ja1ces poJ e m1odo de
b1secc1h, coh dos c11Jas dec1maes.
Eh es1e caso, a=0, b=1. E ccuo se Jesume eh a 1aba.
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 11a se 1h1eJcamb1a a o b poJ c de modo 1a que os s1ghos de
juan I. Weber 121
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
os vaoJes de as coumhas 3 y 4 seah d1s11h1os {1eoJema de Bozaho).
Como queJemos ehcoh1JaJ a Ja1z coh 2 c11Jas dec1maes, hacemos = 0,01,
coh o cua paJamos cuahdo e < 0,01. La Ja1z buscada es x = 6,46,
Jedohdeada a dos c11Jas dec1maes.
EscJ1b1mos uh pJogJama eh 0c1ave paJa JesoveJ e pJobema 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 raz es: %.6f\n",c);
printf("y se alcanzo en %d iteraciones\n",k);
else
disp("Se supero el numero maximo de iteraciones.");
endif
E m1odo de b1secc1h 11ehe como veh1aa e seJ sehc1o de eh1ehdeJ e
1mpemeh1aJ, peJo 11ehe como desveh1aa a eh111ud eh a cohveJgehc1a. Eh
e caso ah1eJ1oJ, poJ eempo, egaJ a Jesu1ado coh 6 c11Jas dec1maes
s1gh111ca11vas evaJ1a 20 11eJac1ohes!.
4.2.2 Mtodo de a teracn de punto f|o
Se d1ce que z es uh puh1o 11o de a 1uhc1h y=g{x), s1 g{z) = z.
CJ11cameh1e JepJeseh1a a 1h1eJsecc1h de a cuJva g{x) coh a Jec1a
1deh11dad.
0ada a ecuac1h 1{x) = 0, e m1odo de a 11eJac1h de puh1o 11o
Jeempaza es1a ecuac1h poJ uha equ1vaeh1e, x=g{x), que se ob11ehe de
despeaJ x de a expJes1h 1{x)=0, eh 1uhc1h de a pJop1a x. Ehcoh1JaJ a
souc1h de 1{x)=0 seJ eh1ohces ehcoh1JaJ e puh1o 11o de a 1uhc1h
g{x).
PaJa ehcoh1JaJ a souc1h, paJ11mos de uh vaoJ 1h1c1a x
0
y cacuamos
uha hueva apJox1mac1h x
1
= g{x
0
). Reempazamos e huevo vaoJ ob1eh1do y
Jepe11mos e pJoceso. Es1o da ugaJ a uha suces1h de vaoJes
{x
0
,x
1
,...,x
h
}, que s1 cohveJge, 1ehdJ como 1m11e a souc1h de
pJobema.

122 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca

Eh a 11guJa ah1eJ1oJ se JepJeseh1a a 1h1eJpJe1ac1h geom1J1ca de
m1odo. PaJ11mos de uh puh1o 1h1c1a x
0
y cacuamos y = g{x
0
). La
1h1eJsecc1h de es1a souc1h coh a Jec1a y = x hos daJ uh huevo vaoJ x
1
ms pJx1mo a a souc1h 11ha.
S1h embaJgo, e m1odo puede d1veJg1J 1c1meh1e. Es 1c1 compJobaJ que
e m1odo so podJ cohveJgeJ s1 se cumpe a s1gu1eh1e cohd1c1h de
cohveJgehc1a.
g' (o)1
dohde es a Ja1z buscada. 0ado que 1ehemos e 1hcohveh1eh1e de ho
coh1aJ coh d1cho vaoJ, podemos veJ111caJ a s1gu1eh1e cohd1c1h.
g' ( x
0
)1
s1empJe y cuahdo x
0
se ehcueh1Je o su11c1eh1emeh1e ceJca de
bh eempo de es1e caso se mues1Ja eh a 11guJa
Eh es1os casos, o que se debe haceJ es despeaJ x de 1{x)=0 de o1Ja
1oJma, es dec1J, pah1eaJ o1Ja 1uhc1h g{x) que sa11s1aga a cohd1c1h de
cohveJgehc1a.
A 1gua que eh e m1odo ah1eJ1oJ, as 11eJac1ohes 11ha1zah cuahdo e
juan I. Weber 123
Iundamentos de nIormtIca !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 1oeJahc1a pJe11ada, eh Jeac1h a a cah11dad de c11Jas
dec1maes s1gh111ca11vas que se pJe1ehdeh ob1eheJ.
vamos a eemp111caJ a ap1cac1h de a 11eJac1h de puh1o 11o
Jesov1ehdo a ecuac1h
x
2
e
x
-
1
3
0
que Jesov1Jamos ah1eJ1oJmeh1e poJ b1secc1h. vamos a ehcoh1JaJ a Ja1z
ceJcaha a 1, coh 1Jes dec1maes s1gh111ca11vos { = 0.001), vemos que es
pos1be despeaJ 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 cohd1c1h de cohveJgehc1a paJa g
1
{x). Cacuamos a
deJ1vada de g
1
{x) ap1cahdo a Jega 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 ccuo
eh uha 1aba.
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 11eJac1h, como se puede veJ
eh a 11guJa.
124 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
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 hub1Jamos u111zado a 1uhc1h g
2
{x)?. veamos
s1 cumpe a cohd1c1h de cohveJgehc1a.
g'
2
( x)-
1
3 x
2
6 x-
2
x
=g'
2
(1)

-
2
1

2>1
vemos que a cohd1c1h ho se cumpe, poJ o cua es muy pJobabe que ho
podamos egaJ a a souc1h. S1 hub1Jamos hecho os ccuos, veJ1amos
os s1gu1eh1es Jesu1ados.
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
1uhc1h {veJ gJ11ca de a 1uhc1h). Es1o ho s1empJe se da, y eh geheJa
o que ocuJJe es que e eJJoJ cJece 1hde11h1dameh1e, coh o que e esquema
se vueve d1veJgeh1e. Eh 1odos os casos ho egamos a a souc1h
buscada.
juan I. Weber 125
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
veamos uh pJogJama eh 0c1ave paJa JesoveJ e pJobema 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 raz es: %.6f\n",x);
printf("y se alcanzo en %d iteraciones\n",k);
else
disp("Se supero el numero maximo de iteraciones.");
endif
La 11eJac1h de puh1o 11o es uh m1odo ms Jp1do que e de b1secc1h
paJa acahzaJ a Ja1z de uha ecuac1h ho 1hea. Eh e eempo, se
Jequ1eJeh 11 11eJac1ohes poJ puh1o 11o paJa acahzaJ a Ja1z coh 6
dec1maes s1gh111ca11vos, coh1Ja as 20 11eJac1ohes hecesaJ1as poJ
b1secc1h.
4.2.3 Mtodo de Newton-Raphson
Es1e m1odo Jec1be su hombJe eh hohoJ a s1J Tsaac hew1oh qu1eh o
u111z paJa haaJ a Ja1z de uh po1hom1o de 1eJceJ gJado eh su obJa
PJ1hc1p1a ha1hema11ca, hace ms de 300 aos.
Es1e m1odo paJ1e de uha apJox1mac1h 1h1c1a x
0
y ob11ehe uha
apJox1mac1h meoJ, x
1
, dada poJ a 1Jmua.
x
1
x
0
-
f ( x
0
)
f ' ( x
0
)

La expJes1h ah1eJ1oJ puede deJ1vaJse a paJ11J de uh desaJJoo eh seJ1e
de TayoJ. E1ec11vameh1e, sea J uh ceJo de 1 y sea x uha apJox1mac1h a J
1a que J=x+h. S1 1`` ex1s1e y es coh11hua, poJ e 1eoJema de TayoJ
1ehemos.
0 f (r) f ( x+h) f ( x)+h f ' ( x)+O(h
2
)
eh dohde h=J-x. S1 x es1 pJx1mo a J {es dec1J h es pequea), es
Jazohabe 1ghoJaJ e 1Jm1ho 0{h2).
0 f ( x)+h f ' ( x)
poJ o que ob1ehemos a s1gu1eh1e expJes1h paJa h.
h-
f ( x)
f ' ( x)
126 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
A paJ11J de a ecuac1h ah1eJ1oJ y 1eh1ehdo eh cueh1a que J=x+h es
1c1 deJ1vaJ a ecuac1h.
E m1odo de hew1oh 11ehe uha 1h1eJpJe1ac1h geom1J1ca sehc1a, como
se puede apJec1aJ de ah1s1s de a 11guJa. 0e hecho, e m1odo de hew1oh
cohs1s1e eh uha 1hea1zac1h de a 1uhc1h, es dec1J, 1 se Jeempaza poJ
uha Jec1a 1a que coh11ehe a puh1o {x
0
,1{x
0
)) y cuya pehd1eh1e co1hc1de
coh a deJ1vada de a 1uhc1h eh e puh1o, 1`{x
0
). La hueva apJox1mac1h a
a Ja1z, x
1
, se ob11ehe de a 1h1eJsecc1h de a 1uhc1h 1heaJ coh e ee
X de oJdehadas.
veamos como podemos ob1eheJ a ecuac1h de m1odo a paJ11J de o d1cho
eh e pJJa1o ah1eJ1oJ. La ecuac1h 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 despeahdo x ob1ehemos a ecuac1h de hew1oh-
Raphsoh.
E m1odo de hew1oh es muy Jp1do y e11c1eh1e ya que a cohveJgehc1a es
de 11po cuadJ11co {e hmeJo de c11Jas s1gh111ca11vas se dup1ca eh cada
11eJac1h). S1h embaJgo, a cohveJgehc1a depehde eh gJah med1da de a
1oJma que adop1a a 1uhc1h eh as pJox1m1dades de puh1o de 11eJac1h. Eh
a 11guJa se mues1Jah dos s11uac1ohes eh as que es1e m1odo ho es capaz
de acahzaJ a cohveJgehc1a {a) o b1eh cohveJge hac1a uh puh1o que ho es
uh ceJo de a ecuac1h {b).

juan I. Weber 127
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
01Ja desveh1aa que pJeseh1a e m1odo es que debemos cohoceJ a
deJ1vada de a 1uhc1h. La m1sma se puede ob1eheJ eh 1oJma aha111ca
{ap1cahdo a Jegas de deJ1vac1h v1s1as eh Ah1s1s ha1em11co) o eh
1oJma humJ1ca, como veJemos ms adeah1e.
vamos a eemp111caJ a ap1cac1h de m1odo de hew1oh-Raphsoh
Jesov1ehdo coh a ecuac1h 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 Jesu1ado coh 3 c11Jas
dec1maes s1gh111ca11vas. E ccuo mahua o oJgah1zamos eh uha 1aba.
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 acahzamos 3 c11Jas dec1maes s1gh111ca11vas eh a 11eJac1h
k=5 {x = 6,459) s1m1aJ a as 6 11eJac1ohes que e ev a a 11eJac1h de
puh1o 11o acahzaJ a m1sma pJec1s1h, peJo s1 obseJvamos e s1gu1eh1e
paso 11eJa11vo {k=6) vemos que e eJJoJ e
1
< 10
-7
, coh o cua 1ehemos 7
c11Jas dec1maes eh e Jesu1ado eh so 6 11eJac1ohes! {x = 6,4589623
e dobe de pJec1s1h que a 11eJac1h de puh1o 11o, a 1guadad de
11eJac1ohes). 0eb1do a es1e Jehd1m1eh1o, e m1odo de hew1oh-Raphsoh es
uho de os pJe1eJ1dos paJa JesoveJ ecuac1ohes ho 1heaes.
EscJ1b1mos uh pJogJama eh 0c1ave paJa JesoveJ e pJobema 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 raz 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 nIormtIca
endif
4.2.3.1 Condicin de convergencia
La ecuac1h de m1odo de hew1oh-Raphsoh puede seJ v1s1a como uha
11eJac1h de puh1o 11o de a 1oJma x = g{x) s1 hacemos
g( x)x-
f ( x)
f ' ( x )
poJ o 1ah1o, s1 hacemos cump1J a cohd1c1h de cohveJgehc1a de a
11eJac1h de puh1o 11o,
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 cohd1c1h de cohveJgehc1a de m1odo de hew1oh-Raphsoh. La
m1sma es ms compea de ap1caJ que a de a 11eJac1h de puh1o 11o ya
que 1mp1ca ms opeJac1ohes {deJ1vadas seguhdas, e1c.).
4.2.4 E|erccos
Ehcoh1JaJ 1odas as Ja1ces de as s1gu1eh1es 1uhc1ohes, poJ os m1odos
de. b1secc1h, 11eJac1h de puh1o 11o y hew1oh-Raphsoh. Rea1zaJ os
ccuos mahuameh1e, 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 nIormtIca !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 obe11vo de es1e apaJ1ado es exam1haJ os aspec1os humJ1cos que se
pJeseh1ah a JesoveJ s1s1emas de ecuac1ohes 1heaes 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 1hcgh11as, x
1
, x
2
, ..., x
h
.
Los eemeh1os a
1
y b
1
soh hmeJos Jeaes 11ados.
E s1s1ema de ecuac1ohes ah1eJ1oJ se puede escJ1b1J, empeahdo uha muy
11 JepJeseh1ac1h ma1J1c1a, como.
130 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
(
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
ecuac1h se Jeduce s1mpemeh1e a.
A x = b
Los m1odos de Jesouc1h de s1s1emas de ecuac1ohes se puedeh d1v1d1J eh
dos gJahdes gJupos.
Los h1odos d1Jec1os o exac1os que peJm11eh ob1eheJ a souc1h de
s1s1ema de maheJa d1Jec1a.
Los h1odos apJox1mados que u111zah agoJ11mos 11eJa11vos e 1h11h11os y
que cacuah as souc1h de s1s1ema poJ apJox1mac1ohes suces1vas.
A coh1JaJ1o de o que pueda paJeceJ, eh muchas ocas1ohes os m1odos
apJox1mados peJm11eh ob1eheJ uh gJado de exac111ud supeJ1oJ a que se
puede ob1eheJ empeahdo os dehom1hados m1odos exac1os, deb1do
1uhdameh1ameh1e a os eJJoJes de 1Juhcam1eh1o que se pJoduceh eh e
pJoceso.
0e eh1Je os m1odos exac1os se puedeh mehc1ohaJ e m1odo de Causs y
uha mod111cac1h de s1e dehom1hado m1odo de Causs-JoJdah. Es1os m1odos
1oJmah paJ1e de uh cuJso de AgebJa L1hea, poJ o que ho se veJh aqu1 eh
de1ae. Eh1Je os m1odos apJox1mados hos ceh1JaJemos eh e es1ud1o de
os m1odos de Jacob1 y Causs-Se1de.
E m1odo de Causs y sus vaJ1ah1es se cohoceh coh e hombJe de m1odos
d1Jec1os. se eecu1ah a 1Javs de uh hmeJo 11h11o de pasos y dah ugaJ a
uha souc1h que seJ1a exac1a s1 ho 1uese poJ os eJJoJes de Jedohdeo.
PoJ coh1Ja, uh m1odo 1hd1Jec1o da ugaJ a uha suces1h de vec1oJes que
1deameh1e cohveJge a a souc1h. E ccuo se de11ehe cuahdo se cueh1a
coh uha souc1h apJox1mada coh c1eJ1o gJado de pJec1s1h espec111cado de
ah1emaho o despus de c1eJ1o hmeJo de 11eJac1ohes. Los m1odos 1hd1Jec1os
soh cas1 s1empJe 11eJa11vos. paJa ob1eheJ a suces1h mehc1ohada se
u111za Jepe11dameh1e uh pJoceso sehc1o.
4.3.1 Mtodo de |acob
E m1odo de Jacob1 se basa eh escJ1b1J e s1s1ema de ecuac1ohes eh a
1oJma.
juan I. Weber 131
Iundamentos de nIormtIca !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, despeamos de cada uha de as ecuac1ohes a "coJJespohd1eh1e"
1hcgh11a. de a pJ1meJa ecuac1h x
1
, de a seguhda x
2
, e1c. La 1-s1ma
ecuac1h 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 cacuah as 1hcgh11as x
k+1
eh 1uhc1h de as
1hcgh11as cacuadas eh e paso ah1eJ1oJ, x
k
. Eh e pJ1meJ paso, se e1ge
aJb11JaJ1ameh1e uh vec1oJ souc1h 1h1c1a x
0
. E pJoceso 11eJa11vo
coh11ha has1a que se cumpa a cohd1c1h 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


1oeJahc1a v1hcuada a a cah11dad de c11Jas dec1maes s1gh111ca11vas que
se pJe1ehde ob1eheJ.
4.3.1.1 FoJma ma1J1c1a
E s1s1ema de ecuac1ohes de m1odo 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 nIormtIca
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 expJes1h ma1J1c1a de Jacob1 puede seJ 1h1eJpJe1ada como
uha 11eJac1h de puh1o 11o. Es1a 1oJma ma1J1c1a de m1odo cobJa 1h1eJs
cuahdo a souc1h se 1mpemeh1a eh uh ehguae oJ1eh1ado a maheo de
aJJegos como o es Chb0c1ave.
4.3.1.2 Cohd1c1h de cohveJgehc1a
PaJa que e esquema 11eJa11vo de m1odo de Jacob1 sea absou1ameh1e
cohveJgeh1e, se debe ex1g1J a a ma1J1z de coe11c1eh1es A a cohd1c1h de
seJ d1agoha dom1hah1e,
a
ii
>
_
j1
j=i
n
a
ij

, I=1, 2, ..., n
es dec1J, que {eh vaoJ absou1o) e coe11c1eh1e de a d1agoha
pJ1hc1pa de cada 11a sea mayoJ que a suma {eh vaoJ absou1o) de os
Jes1ah1es coe11c1eh1es de a 11a, y es1o paJa 1odas as 11as de a
ma1J1z. 0e seJ hecesaJ1o, habJ que JeoJdehaJ e s1s1ema de ecuac1ohes de
modo de cump1J es1a cohd1c1h.
Ev1deh1emeh1e ho 1odos os s1s1emas 1heaes de ecuac1ohes 11eheh
ma1J1ces de coe11c1eh1es d1agoha dom1hah1es, 1hcuso uego de uh
JeoJdeham1eh1o. Eh ese caso, o que se 1h1eh1a cump1J a mehos es a
s1gu1eh1e cohd1c1h.
a
ii
> max
j1, j =i
n
a
ij

, I=1, 2, ..., n
es dec1J, que eh cada 11a e coe11c1eh1e de mayoJ vaoJ absou1o ocupe
a pos1c1h de a d1agoha pJ1hc1pa, o cua aumeh1a a pJobab11dad de
que e esquema 11eJa11vo cohveJa.
4.3.1.3 Eempo de ap1cac1h
vamos a JesoveJ poJ e m1odo de Jacob1 e s1gu1eh1e s1s1ema de
ecuac1ohes.
juan I. Weber 133
Iundamentos de nIormtIca !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 vaoJ
absou1o. 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. 0espeamos de cada ecuac1h su
1hcgh11a 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
)

F1amos = 0.01, de modo de ogJaJ 2 dec1maes s1gh111ca11vos eh e


Jesu1ado. PaJ11mos de uh vec1oJ souc1h 1h1c1a X = |0, 0, 0]. E
ccuo mahua se oJgah1za eh uha 1aba.
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 Jesu1ado 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 nIormtIca
Resovemos e pJobema ah1eJ1oJ coh uh pJogJama eh Chb0c1ave. Eh
Jea1dad veJemos dos pJogJamas, uho basado eh a 1oJma cs1ca de m1odo
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 m1odo.
% 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 Mtodo de Gauss Sede
E m1odo de Causs Se1de se puede 1h1eJpJe1aJ como uha mod111cac1h a
de Jacob1. ho1emos que eh e m1odo de Jacob1 {poJ eempo, e 11mo
juan I. Weber 135
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
eeJc1c1o Jesue1o) 1odas as 1hcgh11as de paso 11eJa11vo k+1 depehdeh
h1cameh1e de as 1hcgh11as cacuadas eh e paso k, a pesaJ de que se
d1pohe de vaoJes ms ac1ua1zados {y poJ o 1ah1o, ms ceJcahos a a
souc1h) eh e pJop1o paso 11eJa11vo. PoJ eempo, eh e s1s1ema de 3x3
v1s1o ah1eJ1oJmeh1e, a 1hcgh11a x
3
eh e pJ1meJ paso 11eJa11vo se cacua
u111zahdo os vaoJes x
1
= x
2
= 0 1h1c1aes, a pesaJ de d1spoheJ de
vaoJes "meoJes" paJa d1chas 1hcgh11as. La 1dea de Causs-Se1de es
u111zaJ os vaoJes ms ac1uaes de as 1hcgh11as a med1da que vah
es1ahdo d1spoh1bes, de modo que eh e ccuo de a 1hcgh11a x
1
u111zaJemos os vaoJes x

coh <1 cacuados eh e m1smo paso, y os x

coh >1 cacuados eh e paso ah1eJ1oJ. Eh 1Jmuas.


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 s1m1aJ a de m1odo de Jacob1. E pJoceso
11eJa11vo coh11ha has1a que se cumpa a cohd1c1h 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


1oeJahc1a v1hcuada a a cah11dad de c11Jas dec1maes s1gh111ca11vas que
se pJe1ehde ob1eheJ.
ho1aJ que eh e m1odo de Jacob1 e oJdeh eh que se e1ec1eh os
ccuos ho 11ehe 1mpoJ1ahc1a, m1eh1Jas que eh Causs Se1de se debe
Jespe1aJ e oJdeh de as 1hcgh11as.
La cohd1c1h de cohveJgehc1a de m1odo 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 cohd1c1h de d1agoha dom1hahc1a,
a
ii
>
_
j 1 , j=i
n
a
ij
, 1=1, 2, ..., h
o a mehos que se cumpa
a
ii
> max
j 1, j=i
n
a
ij
, 1=1, 2, ..., h
4.3.2.1 Eempo de ap1cac1h
vamos a JesoveJ poJ e m1odo 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 nIormtIca
(
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
)
0espeamos de cada ecuac1h su 1hcgh11a 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
)

F1amos = 0.01, de modo de ogJaJ 2 dec1maes s1gh111ca11vos eh e


Jesu1ado. PaJ11mos de uh vec1oJ souc1h 1h1c1a X = |0, 0, 0]. E
ccuo mahua se oJgah1za eh uha 1aba.
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 Jesu1ado eh 4 11eJac1ohes. x
1
= 6.86, x
2
= 2.64,
x
3
= 6.16, Jesu1ados muy s1m1aJes a os ob1eh1dos poJ Jacob1, eh 7
11eJac1ohes.
Resovemos e pJobema 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 nIormtIca !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|erccos
Ehcoh1JaJ a souc1h de os s1gu1eh1es s1s1emas de ecuac1ohes, poJ e
m1odo de Jacob1. Rea1zaJ os ccuos mahuameh1e, coh = 0.001, y
escJ1b1ehdo uh pJogJama eh 0c1ave, coh = 0.00001. Thd1caJ e hmeJo 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 nIormtIca
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 ccuo de deJ1vadas o 1h1egJaes es uha Jama de as ma1em11cas que
se asoc1a a os cuJsos de Ah1s1s ha1em11co, dohde se veh os m1odos
aha111cos asoc1ados a es1as opeJac1ohes. S1h embaJgo, bueha paJ1e de as
deJ1vadas o 1h1egJaes que heces11ah cacuaJ os pJogJamas de 1hgeh1eJ1a
se Jesueveh a 1Javs de m1odos humJ1cos de deJ1vac1h o 1h1egJac1h,
que s1 b1eh soh apJox1mados, peJm11eh ob1eheJ os Jesu1ados coh uha
pJec1s1h su11c1eh1e 1hcuso eh aqueos casos eh que ho ex1s1a a
souc1h aha111ca.
4.4.1 Dervacn numrca
La 1dea es de1eJm1haJ e vaoJ de a deJ1vada de uha 1uhc1h eh uh
puh1o, e cua es uh vaoJ humJ1co, eh coh1Japos1c1h coh ob1eheJ a
1uhc1h deJ1vada, que es uh pJobema de Ah1s1s ha1em11co. veJemos a
deducc1h de os opeJadoJes de deJ1vac1h humJ1ca de pJ1meJ y seguhdo
oJdeh, y as 1Jmuas de aguhos opeJadoJes de deJ1vac1h humJ1ca de
oJdeh supeJ1oJ.
Eh 1odos os casos a deducc1h paJ1e de a expahs1h de uha 1uhc1h
aJededoJ de uh puh1o a 1Javs de a dehom1hada SeJ1e de TayoJ.
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 s1mp111cac1h eh a
ho1ac1h ob1eheJ
juan I. Weber 139
Iundamentos de nIormtIca !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 expJes1h de TayoJ 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 despeamos 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 1Jm1ho de m1embJo de a deJecha es
uha apJox1mac1h a vaoJ de a deJ1vada, y os Jes1ah1es 1Jm1hos
JepJeseh1ah e eJJoJ de d1cha apJox1mac1h, que s1 cohs1deJamos que h < 1,
e 1Jm1ho 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 deJ1vac1h humJ1ca de
pJ1meJ oJdeh desceh1Jado hac1a adeah1e o pJogJes1vo.
vemos eh a 11guJa que podemos 1h1eJpJe1aJ a es1a 11ma apJox1mac1h
como a pehd1eh1e de a Jec1a secah1e de11h1da eh1Je x
1
y x
1+1
, s1m1aJ a a
pehd1eh1e de a Jec1a 1ahgeh1e a a cuJva eh x
1
, 1ah1o ms s1m1aJ cuah1o
140 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
mehoJ e vaoJ de h.
S1 poJ e coh1JaJ1o cohs1deJamos uh paso hega11vo -h, a expahs1h de
TayoJ queda de11h1da como
f
i-1
f
i
- f '
i
h+
f
i
' '
2
h
2
-
f
i
' ' '
6
h
3
+...
coh o cua, despeahdo,
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 deJ1vac1h humJ1ca de pJ1meJ oJdeh desceh1Jado
hac1a a1Js o JegJes1vo, de m1smo oJdeh de pJec1s1h que e pJogJes1vo
{1Jm1ho de eJJoJ de oJdeh de h). Podemos 1h1eJpJe1aJo como a pehd1eh1e
de a Jec1a secah1e de11h1da eh1Je x
1
y x
1-1
, s1m1aJ a a pehd1eh1e de a
Jec1a 1ahgeh1e a a cuJva eh x
1
, 1ah1o ms s1m1aJ cuah1o mehoJ e vaoJ de
h.
juan I. Weber 141
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
F1hameh1e, s1 Jes1amos m1embJo a m1embJo as expJes1ohes ah1es
pah1eadas
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
+...
despeahdo 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 deJ1vac1h humJ1ca de pJ1meJ oJdeh ceh1Jado.
S1ehdo h < 1, uego h
2
< h y poJ o 1ah1o es1a 1Jmua es ms 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 nIormtIca
Jeduc1mos a a dc1ma paJ1e e paso h Jeduc1mos 100 veces e eJJoJ, e1c.
Ceom1J1cameh1e 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
ma1em11co eh e cohoc1do TeoJema de vaoJ hed1o de Ah1s1s.
4.4.1.2 0eJ1vadas de seguhdo oJdeh
S1 1omamos as expahs1ohes de TayoJ 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 1Jm1hos coh oJdeh de deJ1vac1h 1mpaJ
se cahceah y queda,
f
i+1
+f
i-1
2 f
i
+ f
i
' ' h
2
+
f
i
IV
12
h
4
+...
de dohde podemos despeaJ 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 nIormtIca !T-IIC- pto. de ng. CIvII
que es uh opeJadoJ de deJ1vac1h de seguhdo oJdeh ceh1Jado. A m1smo
podJ1amos habeJ egado poJ sus111uc1h de a deJ1vada seguhda poJ a
deJ1vada pJ1meJa {coh uh esquema hac1a adeah1e) de a deJ1vada pJ1meJa
{coh esquemas hac1a a1Js).
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 hoc1h de 1Jm1ho de eJJoJ.
4.4.1.3 0eJ1vadas de 1eJceJ y cuaJ1o oJdeh
Las deJ1vadas de 1eJceJ y cuaJ1o oJdeh puedeh ob1eheJse 1ah1o a 1Javs
de a seJ1e de TayoJ {eh 1oJma s1m1aJ a a v1s1a has1a ahoJa) como poJ
sus111uc1h d1Jec1a.
PaJa ob1eheJ a deJ1vada 1eJceJa, cacuamos 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 u111zados eh a sus111uc1h 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, cacuamos 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 pos1be segu1J cohs1Juyehdo esquemas de deJ1vac1h
humJ1ca de Jdehes supeJ1oJes, o b1eh de m1smo oJdeh de os ah1eJ1oJes
peJo de mayoJ pJec1s1h {mayoJ expoheh1e de h eh e 1Jm1ho de eJJoJ), o
b1eh esquemas desceh1Jados. Eh a b1b1ogJa11a {ha1hews y F1hk -2000-, poJ
eempo) puedeh ehcoh1JaJse humeJosos esquemas de deJ1vac1h humJ1ca
144 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
d1spoh1bes.
4.4.1.4 PJop1edades geheJaes
Todos os esquemas de deJ1vac1h humJ1ca {1ah1o os que hemos v1s1o
como os que ho) 11eheh as s1gu1eh1es pJop1edades geheJaes.
a) a suma de os coe11c1eh1es de humeJadoJ debe seJ 0. Eso es
Jea11vameh1e 1c1 de eh1ehdeJ s1 cohs1deJamos como 1{x) a a 1uhc1h
cohs1ah1e.
...I
I-2
I
I-1
I
I
I
I+1
I
I+2
...
como a deJ1vada de cuaqu1eJ oJdeh de es1a 1uhc1h es 0, ho queda o1Ja
opc1h eh os esquemas de deJ1vac1h humJ1ca que os coe11c1eh1es de
pohdeJac1h sumeh 0 paJa ob1eheJ d1cho Jesu1ado.
b) cuaqu1eJ expJes1h desceh1Jada hac1a a deJecha {o a a 1zqu1eJda)
da ugaJ a o1Ja equ1vaeh1e eh a d1Jecc1h opues1a camb1ahdo os s1ghos
de os coe11c1eh1es.
4.4.1.5 Eempos
CacuaJ as deJ1vadas pJ1meJa y seguhda de a s1gu1eh1e 1uhc1h eh x =
-3.5, coh h = 0.05.
y0.5e
x
-sen x+0.2x+1.2
Souc1h. PaJa ap1caJ os esquemas ceh1Jados v1s1os, heces11amos
cohs1Ju1J uha 1aba de vaoJes de a 1uhc1h.
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 cacua 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 Jesu1ados 1ueJoh Jedohdeados a 2 dec1maes, 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 1uhc1h eh uh c1eJ1o subdom1h1o, cuyos
1m11es 1hgJese e usuaJ1o, y gJa11que a 1uhc1h oJ1g1ha y sus
deJ1vadas.
juan I. Weber 145
Iundamentos de nIormtIca !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 EeJc1c1os
CacuaJ as deJ1vadas pJ1meJa, seguhda, 1eJceJa y cuaJ1a de as
1uhc1ohes dadas eh e puh1o 1hd1cado, coh e paso 1hd1cado. Eh dohde sea
pos1be, compaJaJ coh e Jesu1ado aha111co. EscJ1b1J uh pJogJama eh
0c1ave que cacue a deJ1vada de a 1uhc1h, 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 nIormtIca
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 Integracn numrca
0ada uha 1uhc1h 1 de11h1da sobJe uh 1h1eJvao |a,b], es1amos
1h1eJesados eh cacuaJ
j ( I )
|
a
b
I ( x) dx
supoh1ehdo que es1a 1h1egJa 1ehga seh11do paJa a 1uhc1h 1. La
cuadJa1uJa o 1h1egJac1h humJ1ca cohs1s1e eh ob1eheJ 1Jmuas apJox1madas
paJa cacuaJ a 1h1egJa J{1) de 1. Es1os m1odos soh de gJah u111dad
cuahdo a 1h1egJa ho se puede cacuaJ poJ m1odos aha111cos, su ccuo
Jesu1a muy cos1oso y es1amos 1h1eJesados eh uha souc1h coh pJec1s1h
11h11a dada o b1eh so d1spohemos de uha 1aba de vaoJes de a 1uhc1h
{es dec1J, ho cohocemos a 1oJma aha111ca de 1).
Ex1s1eh muchas 1Jmuas o cuadJa1uJas de 1h1egJac1h humJ1ca. Aqu1
vamos a veJ dos de eas. a Rega TJapezo1da o Rega de TJapec1o y a
Rega de S1mpsoh.
4.4.2.1 Rega 1Japezo1da
PaJ11mos de a expahs1h eh seJ1e de TayoJ de a 1uhc1h 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 1Jahs1oJmac1h z= x-a, dz = dx y cohs1deJamos h = b-
juan I. Weber 147
Iundamentos de nIormtIca !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 Jeempazamos a a deJ1vada 1`{a) poJ uh esquema de deJ1vac1h
humJ1ca hac1a adeah1e.
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 1Jmua s1mpe de a Jega 1Japezo1da. S1 aha1zamos a
11guJa,
148 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
podemos veJ que a Jega 1Japezo1da peJm11e apJox1maJ a 1h1egJa eh1Je
a y b como e Jea sombJeada de 1Japec1o, de bases mayoJ 1{b) y 1{a) y
a1uJa h. E eJJoJ oca, de oJdeh 0{h
3
), es1 JepJeseh1ado poJ a pequea
Jea compJehd1da eh1Je e ado 1hc1hado de 1Japec1o y a cuJva. Se
eh11ehde que d1cho eJJoJ seJ 1ah1o mehoJ cuah1o mehoJ sea h.
4.4.2.2 FJmua compues1a de a Rega 1Japezo1da
Eh e caso eh que e 1h1eJvao de 1h1egJac1h sea gJahde, o b1eh a
1uhc1h vaJ1e eh 1oJma 1mpoJ1ah1e deh1Jo de m1smo, a 1Jmua s1mpe de
a Jega 1Japezo1da puede daJ ugaJ a eJJoJes 1mpoJ1ah1es, como se ve eh
e eempo de a 11guJa.
bha 1oJma de Jeduc1J es1e eJJoJ es d1v1d1J e 1h1eJvao 1o1a {a,b) eh h
juan I. Weber 149
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
sub1h1eJvaos {x
0
,x
1
),{x
1
,x
2
),...,{x
h-1
,x
h
), ap1caJ a Jega 1Japezo1da a
cada uho de eos y sumaJ as 1h1egJaes paJc1aes paJa ob1eheJ a
1h1egJa 1o1a.
eh s1mboos,
|
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 1Jmua compues1a de a Jega 1Japezo1da, eh a cua vemos
que e eJJoJ {dehom1hado eJJoJ goba) es de oJdeh de h
2
. Es1a 1Jmua
puede seJ escJ11a ms s1h111cameh1e 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 pohdeJac1h o de peso, y
paJa es1a Jega vaeh.
w
1
= 1, s1 1=0 o 1=h
150 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
w
1
= 2, eh o1Jo caso
S1 pehsamos a a suma1oJ1a como e pJoduc1o escaaJ eh1Je dos vec1oJes,
a 1mpemeh1ac1h de es1a 1Jmua se s1mp111ca eh ehguaes de
pJogJamac1h oJ1eh1ados a maheo de aJJegos como 0c1ave.
4.4.2.3 Rega de S1mpsoh
S1 ahoJa cohs1deJamos e 1h1eJvao {a,b) d1v1d1do eh dos 1h1eJvaos de
1amao 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 desaJJoo eh seJ1e de TayoJ 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 nIormtIca !T-IIC- pto. de ng. CIvII
ho1aJ que eh a 11ma expJes1h, os 1Jm1hos que depehdeh de po1ehc1as
paJes de z se ahuah, 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 expJes1h Jeempazamos a a deJ1vada seguhda poJ e
esquema ceh1Jado de deJ1vac1h 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 Jega de S1mpsoh de 1h1egJac1h humJ1ca. Como vemos, paJa su
ap1cac1h se vueve hecesaJ1o d1v1d1J e 1h1eJvao de 1h1egJac1h eh 2
paJ1es. Como vemos, e eJJoJ oca de 1h1egJac1h es de oJdeh de h
5
, o
que 1mp1ca uha meoJa sus1ahc1a Jespec1o de a Jega 1Japezo1da.
4.4.2.4 FJmua compues1a de a Rega de S1mpsoh
huevameh1e, s1 e 1h1eJvao de 1h1egJac1h es gJahde o a 1uhc1h su1Je
gJahdes vaJ1ac1ohes deh1Jo de m1smo, es pos1be meoJaJ a apJox1mac1h a
a 1h1egJa d1v1d1ehdo e 1h1eJvao 1o1a eh uha cah11dad h de
sub1h1eJvaos, coh a cohd1c1h de que h sea paJ. Luego ap1caJ a Jega
de S1mpsoh a cada paJ de sub1h1eJvaos coh11guos, sumaJ as 1h1egJaes
paJc1aes y ob1eheJ de esa 1oJma a 1h1egJa 1o1a. Eh s1mboos,
|
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 nIormtIca
|
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 11hameh1e,
|
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 1Jmua compues1a de a Jega de S1mpsoh. Como vemos, e eJJoJ
goba de 1h1egJac1h es de oJdeh de h
4
, es dec1J, cohs1deJabemeh1e ms
pJec1sa que a 1Jmua compues1a de a Jega 1Japezo1da v1s1a
ah1eJ1oJmeh1e. La cave paJa a coJJec1a ap1cac1h de es1a 1Jmua es1
eh que a cah11dad de sub1h1eJvaos cohs1deJados sea paJ.
01Ja vez, es pos1be escJ1b1J a 1Jmua compues1a de a Jega de
S1mpsoh de uh modo ms compac1o,
|
x
0
x
n
I ( x)dx
h
3
_
I0
n
w
I
I
I
+O(h
4
)
dohde os pesos w
1
vaeh. 4 s1 h es 1mpaJ, o 2 s1 h es paJ, excep1o paJa
1 = 0 o 1 = h eh dohde vaeh 1.
4.4.2.5 Eempo
CacuaJ a s1gu1eh1e 1h1egJa de11h1da poJ as Jegas 1Japezo1da y de
S1mpsoh, usahdo h = 0.1.
|
1.0
1.6
( x
2
+e
x
) dx
AJmamos uha 1aba coh os vaoJes de a 1uhc1h eh e 1h1eJvao de
1h1egJac1h.
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 cacuaJ a 1h1egJa de acueJdo a a 1Jmua compues1a de a Jega
1Japezo1da, e1ec1uamos e s1gu1eh1e ccuo.
|
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 nIormtIca !T-IIC- pto. de ng. CIvII
|
1.0
1.6
( x
2
+e
x
) dx3,27
expJesado coh dos dec1maes, o que es1 de acueJdo a a pJec1s1h de
m1odo {0{h
2
)).
AhoJa ap1camos a 1Jmua compues1a de a Jega 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 dec1maes, o que es1 de acueJdo a a pJec1s1h
de m1odo {0{h
4
)).
F1hameh1e vamos a escJ1b1J uh pJogJama eh 0c1ave que peJm11a cacuaJ
a 1h1egJa de a 1uhc1h ah1eJ1oJ, peJm111ehdo a usuaJ1o 1hgJesaJ os
1m11es y e 1amao 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 EeJc1c1os
CacuaJ as s1gu1eh1es 1h1egJaes poJ as Jegas de 1Japec1o y 1/3 de
S1mpsoh, coh e paso 1hd1cado. Eh dohde sea pos1be, compaJaJ coh e
Jesu1ado aha111co. EscJ1b1J uh pJogJama eh 0c1ave que cacue a
1h1egJa 1hd1cada y que peJm11a 1hgJesaJ e paso de 1h1egJac1h.
1.
|
0. 5
1
x
4
dx
, h = 0.1
154 juan I. Weber
!T-IIC- pto. de ng. CIvII Iundamentos de nIormtIca
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 b1ogra1a
C1 hoh1eJo, R. {2000). h1odos humJ1cos. bh1veJs11as, CJdoba.
ha1hews, J., F1hk, K. {2000). h1odos humJ1cos coh hATLAB. PJeh11ce-
ha, hadJ1d.
hakamuJa, S. {1997). Ah1s1s humJ1co y v1sua1zac1h CJ11ca coh
hATLAB. PJeh11ce ha h1spahoameJ1caha, hx1co.
h1kos 0Jakos {1997). Apuh1es de m1odos humJ1cos. Compu1eJ Based
juan I. Weber 155
Iundamentos de nIormtIca !T-IIC- pto. de ng. CIvII
LeaJh1hg bh11, bh1veJs11y o1 Leeds. TJaduc1do poJ Wad1m1Jo 01az
v1ahueva {h11p.//www.uv.es/-d1az/mh/1mh.h1m)
0ocumeh1o de 1ex1o cJeado coh
156 juan I. Weber

También podría gustarte