285 20 31MB
Spanish Pages [225]

ciencia popular
Programación para 1 ] todos 00-J f-f-fff-m
PROGRAMPAL PRINT 10 FORMAT ( 1 OX, ' * C8X,' *******'/8X C14 X, 13('*' },1X,
Este es un Curso Elemental para programación de ordenadores en Fortran que proporciona las nociones básicas, para que cualquiera que posea o tenga acceso a un ordenador, pueda programar.
Editoriai·Mir•Moscú
PROGRAMACION PARA TODOS
A. H . CAJIThiKOB.
r.
JI. CEMAIDKO
llPOI"PAMMHPOBAHHE R3,D.A TEJihCTBO MOCI\BA
~HAY HA>)
,n.n.H BCEX
A. l. Saltykov, G. L. Semashko
Programación para todos
EDITORIAI..I MIR MOSCÚ
'fradutido del ruso por l"} ingeniero Vírgílio LlHramas de la cieneia y do la técnica . Todo lo que se dice en este libro concier ne solame nte a los ordenador~s u niver sales, los que llamare mos en lo suc~si vo simple mente ordena dores, o máquin as. 1.1. tPara qué necesit a la máquin a el progra.,-.at
En much os cuento s orienta les se narra so bre l os podero sos dzinne s * ) capa~es de r ealizar milagro s. E l dzinn sirve su misamente a ~ad a u no que sepa l os con j uros eorresp on~ien tes y pueda p r onun ciarlos bien. Pero si el hombre olvidó o confun dió el conj ur o el dzinn se niega n servirl e. • ) Dzinn (del ár abe), genio, espíritu , demonio en los cuentos árabes y persas. (N. del T.) 13
Lo:s ordenadores moderno~ , en cierto Sentido, se comportan igual que ]os uzinne~. Para ellos los «conjuros>> son los programas, elaborados por las personas (por los pr(>gramado.tes). Las m áquinas cumplen exactamente todas las operaciones ordenadas po;r los programas. Estos últimos se escriben en conformidad rigurosa con determinadas reglas. La mínima infracpión de esta!:l reglas puede llevar a que la m~quina se niegu.e a ejecutar las operaciones necesarias. S61o cumpliendo estrictameq.te todas l as reglas formales de escritur a de programas se puedo obligar nl ordenador a servir lealmente. Lo mismo que los dzinues ~umplían con igt1al disposición la voluntad da su sefior, tanto buena como mala, las máquinas· siguen también pedantemente la8 indicaciones de cualquier programa en el que no existen infr acciones de las reglas formales. L a máqu~n a solamente será ;r: 2, si x ~ ~-
> 1;
Nota. En un bloque no se pormito comprob ar la dosiguuldad doble: 2 > x > 1.
30
Problemf¡ 15. ::;~n ;r. , si x::;;;:; - 4; cosx, si -Z >x> - 4; t~ x, si - 1 > x ;¡¡. - 2;
Y (x) =l {
x •,
si x
~
- 1.
Problema 16. y (x) se da por el gráfico y
3 2
-1
o
2
3
Problema, 17.
Problema; -18 .
o.quí a es un v:o.rámetro , es decir, puedo tener cual-
quier valor.
f .6. Tipos ftlndamentales de algoritmos
Existen algol'itmos lineales, cíclicQs y algoritmos con ramificaciones. 3t
Los algoritmos on los que cnda operación si.e mpro se ejecuta, adomás, ·nna sola vez, son lineales. El esquema e n bloque d e • .algoritmo liuea1 representa. en sí nna cadenitA de roe~ tángulos a cada uno de los, cuaJos conduc~ una sola fl echa.
Ejemplo.
Calcular
Calcu(a r
Imprimir
b - 8+ 1
e " u.+ b
t:
Ej~rcicto 5 . lndiq u"'n c uáles d.o l os algoritmos •l o s oluciones do los problcmn8 1 -+ 18 son lineal eR.
Son dclicos aquellos al goritmos en los quo unas mismas operaciones $e repiten re iteradamente. Las mismas op:e raciones que se repiten forman un ciclo. En los esquemas en bloque 'ele s emejantes ol~oritmos exis te oblignto ria~ente nna Hncp cerrada tle flechas.
32
Ejemp lo.
Eiercic io ;6. Indiq ue c-uáles de los algorlt uws de las ~olu cion u~ dü l os probl e ma~ t - - 18 son cícHco :-~.
El nlogbr itmo que cont.io no c ualqui er condic ión es un a l goritm o con ramific~ io nes. En el ei;squomé\ ou b lo que do someja11te algol'i t.mo h:ay obliga tol'ia m out.e , por l o. m enos, uu blo;quo (bloque condic ión) dcs(lc o l que saJen e d~scrihon los algo~ritmos de solucióu de p•:oh.enuu;, y los otdruwdorcs puodeu ~=A; (A*5)**2; Ejernplo,. A; 5; SIN (X):s:CS (B}; SQRT (C); SIN (Xi!:*2); SIN (X)u.Z Las exP,resiones aritmét..icas corresponden a las ~x prcsiones maternátic.os habituales, cscritQs sogún lns reglas del Jl'()rtn.l.n. Ejercicio: 19. llcsti~uir ()l asp(Jcto univorsalmGnte admitiiuo de lns oxprosiones dol l>j()mplo
anterior.
:
Al escribir expresiones aritmétic~s se debe tenerj en cuenta lo siguiente: a) no s~ pueden poner consecutiVIlment.e dos operac).ones aritméticas, Por e)e~plo , la escritura 2* -3 es inadmisible, y se do be escribir 2llr(-3); b) no s~ puede omitir el signo de Qlultiplicación. : Por ejemplo, el product~ 2a se debo escribir como 2*A; e) cuafquier operación aritmética con dos constahtes enteras o con dos variables enteras da un resultado entero. Ejercicl~ 20. Son admisibles o no las siguientes expre.siones ,aritméticas: a) -B-SQRT(B•2-4AC); b) (-B+SQRT(B..-.2-4•A•C))/2*A
45
Nos detend remos mils cletall'a damen tc é rt lo operac ión do divjs ión do 28. l~scribir los operad() res jlal'a la salida de M.s varinbles A, IB y e, que CO)ltiencn los número! 73. 2.5, - 372.'%, 0,01272.
Además de las especificaciones numéricas lm , ~m.H y Em.n existen las esyeclficacionos de redacción mX, mH, que ~e utili~an par~ onlonar la dísposición de los nú1
57
meros en el p·a pol y acompaña~l~s· con comenta rios. i .ta especificación mX sirve 'para omiti r m posicionBs, es decir, en el pa~cl habr{t m blancos. Por ojemp lo, snpo~gainos que A = - 15., B = 0.45. Estas ¡variab les se pue(le n extrae r con ayuda de lo~ opera dores PRIN T iO, A, B ,
10 FORMAT (5X, F4.0, $X, F4.2) En el papel los númer os so cp1oc~ráo así: uuu uw - 15. uLJ u u u0.45 La especificación mH perm~te trasla dar al papel m símbo los, q\le sigu+n a Ja l etra H . Se obten drá el mismo resul t ado si estos m $ímbolos se toman en apÓstr ofos. Ejem.plo. L os operad ores
PRIN T 10, A, B 1 t0 FORMAT (5X, 2HA = ¡, F4.0, 5X, *2HB =, F4.2) o blen
PRIN T 10, A, B 10 FORMAT (5X, 'A=', F4.0, 5X, *'B = ', F4. 2) impri mirán los númer os A y S, en la forma siguie nte:
u u uuu A = -15. uuU u u B =
= 0./1.5 La lista de las especü ic¡lcio nes jugó sigüie nte papel : 5X - se omi;tie ron 5 poel sicion es; 2HA = - en el papel S() h~Q
trasladado d os símbolos después de la letra H, es decir, A = ; F4.0- so imprimió el valor do A~ 5X - so omi tierou 5 po&iciones; 2HB = - se trasladaron a l papei dos símbolos B = ; F4.2 - se ha imprimido el valor de B.· Utilizando solamente las especificaciones de redácción se pueden hacer snl~ dibujos a la impresora (vóanse ejemplos en el capítulo IV) . Ejemplo. Escribir un programa para el cálculo do~ producto de los números a = = 1,58739,5 6 y b = 3,5. PRO(;.RAM N2A A = ~ .5873956 B = 3.5
C
= A*B
PRINT 2,C 2 FORMAT (10X., 4HA•B =, F10.8)
END En el papel, desde la 11a posición, se imprimirá !lo siguiente: A*B = :5.55588460 EjerciciO. 29. 1. Escribir un progrnmu d o cálcul o del área ~e un triángulo con base a = 1.¡},7328 y altura h -7 0,031289. 2. Escr~bir un pmgrélma de cálcu]o do la sum:1 de los prim~,ros diez términos de una progresión geométrica ~c~de b1 = 1.,135619 y q = 0,999999. 1
En el )"orLran oxisten varios símbolos que ordenan oJ trabajo d el dispositivo impresor cuardo estos símbolos sa ox.traon a la impreso~a en cualquier renglón coqto los
pt~imol'Os . Sorr1ejant~s espec.ifi:Caciones admin~s tradoras
cu (ll Fo1·tran son ¡ varia~:
1UO, omisión de un l'cng 'ón; 1UL sal! o a una pá~ina nueva; 11-14 , ~a lto n la siguie.nt.q mitad de la JHÍgina; 1H5, sallo al siguiente t~rcio do l a página; 1H6, salto al siguienLc CIÚ\rto de l a página ; . 1I-I impresión sin salt~ ·a un renglón nuevo, es decir , superponer l~s símbolos del roi1glón mwvo a los símbolos del renglón viejo; 1HS, bloqueo del salto :automático n una p:'igina nueva durante la impresión del texto. Duranto la impresión t~ene lugar el p[!so ntJtomático de una página a otra desPT~é~ de un número determinado de renglones. Con esto entre las págir:tas se obtiene m~ blanco. Si so hace salir a 14 impresora uu grnfieo o un dihujo, est,o bl::u~co, frccnonternontc, desfigura ol Clwdro. ~n estos casos, nl eomionzo do cada renglón, se extrae el sírnholo S . Señalaremos que los síi,nbolos O, 1, 4, 5, 6, S di.rigen el trabajo do la unidad impresora soJamcnle cuando' son l os primf.ros shnhoJos en e] rengl6n, En osl;e CRSO (~nos mismos no salen impresos. EJ programador debe recordar que los símbolos precitados siempre dirigen la impre-
+.
+.
60
sora si son lQs primeros que salen en el renglón. Por est:o, si on la primera posició:n se extrae un número que comienza por O, 1, 4, 5, 6 o ¡.wr el signo entonces el dispositivo do imprcsió11 reaccionará obligatoriamente al simbolo de salida (por ejemplo, saltará una parte de la página). En estos casos el programador in ex pcrl.fl afi.rma que «la impresora .se ha rotQ>>. Para asegurarse con Lra semeja u Les contrarieda•les fl n nevo renglón debe com~nznr siempre por un blanco , l.:lS decir, al oxü·ner los número~ en la lista del o pera.uor FOB~ MAT dohe figurar e11 primer tórmi no In especificación¡ nX. En el Fo;rtran do las EC hay solamente a símbolos q~e dirigou el trabajo de la in).presora: O, 1 y ~ +· Significan, respectivam~nto, omitir un renglón, saltar a una página nueva e impriiP.ir sin saltar a un renglón nuevo. Perfora~ión de las l.arjetas (richas). El programa éscrito puede ser horadad~ en tarjetas pm;a su introducr.ión en el or~onn dor electró:nico. En la tarjeLa existen 80 columnas Qposiciones). Los operadores del Fortran se !perforan en las columnas 7._72. :Las colum1ia.s 1-5 se asignan j)ara la rp.arc