1 Muraro, Susana Caraballo, Silvina Un enfoque conceptual de las TC 1a ed. - Buenos Aires: Ciclos, 2013. E-Book. SBN 978-987-29809-0-0 CDD 005.3 Prohibida su reproduccin total o parcial sin autorizacin expresa de las autoras Hecho el depsito que marca la ley 11.723 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Silvina Caraballo scaraballo@filo.uba.ar Licenciada en Tecnologa Educativa de la UTN. Especialista Superior en Entornos Virtuales de Aprendizaje por la Escuela de Educacin - Centro de Altos Estudios Universitarios de la rganizacin de Estados !"eroa#ericanos. $ro%esora en &isciplinas !ndustriales por el !NS$T. Especialidades' !n%or#(tica ) *ate#(tica ) *ate#(tica Aplicada. *aestranda por la Universidad Nacional de Crdo"a en $rocesos Educativos *ediados por Tecnologas. Se +a dese#pe,ado co#o docente en el (rea de !n%or#(tica en los niveles pri#ario- #edio ) superior tanto en instituciones de gestin p."lica co#o privada. /a desarrollado %unciones de capacitacin a docentes en la 0urisdiccin del 1o"ierno de la Ciudad de 2uenos Aires a trav3s de acciones ) dispositivos de capacitacin del Ce$A- Centro de $edagogas de Anticipacin Es co-%undadora del 1rupo de Estudio en &id(ctica de la !n%or#(tica 41.E.&.!.5 del Centro de &id(cticas Espec%icas de la Universidad Nacional de San *artn. /a participado ) pu"licado decenas de tra"ajos en Congresos ) 0ornadas nacionales e internacionales en torno a !n%or#(tica ) Educacin. /a pu"licado artculos ) li"ros relativos a la !n%or#(tica co#o disciplina ) a las T!C en educacin. Actual#ente- se dese#pe,a co#o $ro%esora Adjunta de las #aterias !n%or#(tica e !n%or#(tica ) Educacin en la carrera de Ciencias de la Educacin- en la 6acultad de 6iloso%a ) Letras de la Universidad de 2uenos Aires. &esarrolla actividades docentes en el (#"ito de la %or#acin docente- siendo $ro%esora de asignaturas del (rea de !n%or#(tica Educativa en el !nstituto Superior del $ro%esorado 0oa7un V. 1onz(lez ) en el !nstituto de Educacin Superior en Lenguas Vivas 0uan 8a#n 6ern(ndez. Susana Muraro smuraro@filo.uba.ar Co#putadora Cient%ica- %ue $ro%esora Titular rdinaria del &eparta#ento de Educacin 6iloso%a ) Letras-U2A ) de la- Universidad Nacional de Luj(n responsa"le del (rea de !n%or#(tica ) Educacin 9:;<=->??<@. Actual#ente- #ie#"ro del Co#it3 Acad3#ico ) docente de la *aestra en Tecnologa Educativa A U2A- 6acultad de 6iloso%a ) Letras. Coordinadora ) responsa"le del e7uipo t3cnico de !n%or#(tica de la &ireccin de Currcula. 1o"ierno de la Ciudad de 2s As5. Coordinadora de la capacitacin en B!n%or#(ticaC en la Escuela de Capacitacin-Ce$A. 1o"ierno de la Ciudad de 2s As. !nvestigadora $rogra#a para el *ejora#iento de la Ense,anza de la Ciencia en la Escuela Secundaria 4CN!CET-$8*EC-SENC5. *ie#"ro por la Argentina del grupo de !n%or#(tica ) Educacin de la CDTE&-& 4Ciencia ) Tecnologa en &esarrollo-V Centenario. Espa,a5 responsa"le de la construccin de un pro)ecto so"re E!n%or#(tica EducativaE de car(cter i"eroa#ericano 7ue pro#ueva ciencia "(sica ) aplicada de tecnologas in%or#(ticas en educacin. 8esponsa"le del dise,o ) coordinacin del pro)ecto de !ncorporacin de la Co#putacin a las escuelas de nivel pri#ario ) #edio. Escuela 8T. &eparta#ento de Educacin Creativa. !nvestigadora so"re te#as de !n%or#(tica Educativa en el Centro Latinoa#ericano de !nvestigaciones en Co#putadoras para la Educacin 4CLA!CE-U2A5. Coordinadora de la produccin de #ateriales del Centro Nacional para la Ense,anza de la Co#putacin 4CENE!- CNET5. $u"lic tra"ajos en universidades- la revista 8ueda -8ed Universitaria de Educacin a &istancia- ) revistas especializadas de Colo#"ia ) Espa,a- ) el li"ro BUna !ntroduccin a la !n%or#(tica en el aulaC 6ondo de Cultura Econ#icaC ) teFtos de *ate#(tica destinados a alu#nos ) docentes- editorial Ai7ue. Nuestro agradeci#iento a Lic. Adriana 1audiani ) al Sr. Al%redo $3rez.- tanto por la ri7ueza de las discusiones conceptuales #antenidas a lo largo de la ela"oracin de este li"ro co#o por sus lecturas ) aportes al #is#o. _________________________________________________________________________ Silvina Caraballo Susana Muraro v INDICE Enfoque y Propsito. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G El abora!e is"iplinar e las TIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H Deli#ita"in el "a#po "on"eptual e las TIC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . < Infor#$ti"a o Cien"ia e la Co#puta"in. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :? Un re"orrio "on"eptual a la estru"tura e la "o#putaora. . . . . . . . . . . . . . . . :G &ispositivo de propsito general. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :G &ispositivo deter#inista . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . := &ispositivo algort#ico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :H &ispositivo si#"lico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :H &ispositivo de tecnologa discreta "inaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :I !nteraccin entre el +ardJare ) el so%tJare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :< Los di%erentes niveles de descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :; Siste#a de co#ponentes en per#anente interaccin. . . . . . . . . . . . . . . . . . . . . . . . . . >: Siste#a de co#ponentes en per#anente evolucin. . . . . . . . . . . . . . . . . . . . . . . . . . . >K Siste#a a"ierto al entorno. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . >G Las dos #e#orias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . >= La auto#atizacin de los procesos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . >< Un re"orrio "on"eptual a la estru"tura el soft%are. . . . . . . . . . . . . . . . . . . . . . . . >; 8elacin entre la #(7uina de propsito general ) el so%tJare. . . . . . . . . . . . . . . . . . . . >; El progra#a- solucin de un pro"le#a eFpresado en lenguaje de progra#acin. . . . . . K: Los lenguajes de progra#acin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K> &iversidad de los lenguajes de progra#acin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G: El Siste#a perativo- algo #(s 7ue ad#inistrador de los recursos del +ardJare. . . . . . =: Las !nter%aces de Co#unicacin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . =H Un re"orrio "on"eptual a la resolu"in infor#$ti"a e proble#as. . . . . . . . . . . . =; Los proble#as y sus #oeli&a"iones' . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H? *odelos algort#icos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H> Estructura de los algorit#os. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HG *odelos %uncionales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I: *odelos declarativos o lgicos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IG *odelos orientados a o"jetos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IH (etoolo)*as e "onstru""in e #oelos infor#$ti"os. . . . . . . . . . . . . . . . . . . . <? E7uivalencia de #odelos in%or#(ticos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <H Las t3cnicas de representacin de las #odelizaciones. . . . . . . . . . . . . . . . . . . . . . . . . <; UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ La validacin de #odelos in%or#(ticos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ;= Los atos+ sus or)ani&a"iones y for#as e representa"in. . . . . . . . . . . . . . . . . . ;I Los tipos de datos ) sus al#acena#ientos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ;; 8elacin entre los "its ) las celdas de la #e#oria 8A*. . . . . . . . . . . . . . . . . . . . . . . . :?< Las operaciones de los tipos de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :?< Las Estru"turas e Datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ::? Las di%erentes estructuras de datos ) sus operaciones. . . . . . . . . . . . . . . . . . . . . . . . . ::: Las di%erentes estructuras de datos ) sus procesa#ientos. . . . . . . . . . . . . . . . . . . . . . ::> Estructuras de datos residentes en la 8A* durante su procesa#iento. . . . . . . . . . . . . ::> Cadena de Caracteres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ::> Arreglos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ::G Listas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ::< 8edes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :>? Estructuras de datos cu)o procesa#iento i#plica la interaccin #e#oria de procesa#iento-#e#oria #asiva. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :>: Arc+ivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :>: 2ase de &atos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :>= /iperteFtos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :>I Estructura de datos a"stractos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :>; Un re"orrio "on"eptual a las "o#uni"a"iones en las TIC. . . . . . . . . . . . . . . . . . . :K: Las co#unicaciones entre co#putadoras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :K> Estru"tura infor#$ti"a e Internet+ ori)en y e,olu"in. . . . . . . . . . . . . . . . . . . . . . :K< Estru"tura infor#$ti"a e la -eb. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :G: .iblio)raf*a. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :GG ANE/O0 Una #iraa a los planes e estuios e ni,el Superior en Cien"ias e la Co#puta"in1Infor#$ti"a. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :GI _________________________________________________________________________ Silvina Caraballo Susana Muraro 3 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ ENFOQUE Y PROPSITO Este trabajo tiene su origen en el deseo de entablar un dilogo entre los docentes que abordan a las Tecnologas de la nformacin y de la Comunicacin (TC) como espacio de conocimiento disciplinar enseables o como base de un cmulo de materiales educativos de empleo en una variedad de actividades escolares. Adherimos a un enfoque centrado en los conceptos y desarrollos cientficos-tecnolgicos de las TC, consecuentemente sostenemos que es necesario otorgar un espacio centrado en su propia identidad disciplinar; no limitado exclusivamente a una apropiacin operativa de las herramientas de uso social actual. Aun ms, consideramos que no hay una apropiacin operativa de las TC sin un adecuado marco conceptual, y es este marco el que establece los fundamentos y elementos que permiten a las persona alimentar su autonoma frente a los desarrollos tecnolgicos al tiempo que habilita una mirada crtica sobre ellos. Por lo expuesto, el contenido de este texto est pensado para docentes, especialistas en currculo, formadores de formadores, estudiantes de los profesorados y hasta alumnos de las escuelas medias. Nos mueve el propsito de ofrecer elementos en torno al entramado conceptual y metodolgico de las TC, as como los desarrollos que constituyen su marco disciplinar No es un texto tcnico-informtico, es un texto que aproxima conceptualmente a la nformtica desplegando al lector las construcciones que se fueron sucediendo desde el nacimiento de la nformtica-TC y que atraviesan un vasto conjunto de actividades socialmente extendidas. Nuestra meta es plantear un enfoque conceptual que sustenta a las TC y que haga visible su raz cientfico-tecnolgica, con el objetivo de significar qu son, hacia dnde tienden, porqu modifican nuestro entorno y su relacin con el mundo y con nosotros mismos y los otros. Perpetundose la actual tendencia innegablemente (educativa y comercial), esta tecnologa estar cada vez ms inmersa en nuestras actividades personales y profesionales pero, al mismo tiempo, nos encontraremos ms lejos de su comprensin transformndose cada vez ms en una caja negra de conocimientos. La nica forma en que se puede desmitificar una tecnologa con: alto poder de penetracin en la sociedad, altos compromisos humanos en sus usos y abusos, alta incidencia sobre nuestras conductas, que impactan sobre nuestra economa personal y social, alto encapsulamiento tecnolgico que deja afuera de su lgica a una gran parte de la poblacin, es abordando su sustrato y nacimiento desde los inicios de la Ciencia de la Computacin o la nformtica (segn el marco histrico-geogrfico sobre el que se basa el anlisis) para llegar a la actualidad donde la nformtica y las Comunicaciones se fusionaron en una nueva entidad denominada "TC. Para apropiarse crticamente de las TC es imprescindible apoyarse en los conceptos propiamente informticos que las sostienen. Es este tipo de abordaje el que permite ubicarnos _________________________________________________________________________ Silvina Caraballo Susana Muraro 4 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ como productores "de" y "con" estas tecnologas. Un abordaje exclusivamente procedimental reduce a los seres humanos a ser usuarios, con alta posibilidad de ser no-crticos. Por otro lado, el nivel de encriptamiento que poseen las tecnologas de la comunicacin nos ubica en el rol de consumidores, pero una mirada conceptual sobre ellas permite significar las comunicaciones en forma amplia. Hemos decidido abordar la construccin epistemolgica de la TC en forma narrativa, dado que: La narracin envuelve al lector desde una construccin social, sin un peso excesivo en lo tcnico pero manteniendo la calidad conceptual. Todas nuestras vivencias del mundo se asientan en relatos. El relato tiene la virtud de poder ser abordado con una variedad de matices y perspectivas a la luz de diferentes contextos y miradas. La narracin permite ofrecer a los lectores una mirada sistmica de esta ciencia- tecnologa apoyada en sucesivas jerarquas de conceptos, proponiendo una mirada integral que vaya envolviendo sus conceptos a partir de los diferentes niveles de agregacin con que se los abordan. Estos diferentes niveles de agregacin son los que a su vez conforman diferentes niveles de apropiacin conceptual. La narrativa brinda la posibilidad de un abordaje comunicativo y pedaggicamente pertinente, que apoya la construccin disciplinar de las TC. En resumen, consideramos que el tratamiento disciplinar de las TC debe esclarecer y precisar a la nformtica, hacerla conceptualmente comprensible, mostrando sus enlace como ciencia, como tecnologa y como objeto de empleo social. Si se analiza el cmulo histrico de conocimientos curriculares que lograron ocupar el lugar de "imprescindibles, cuya apropiacin por parte de los estudiantes contina tomndose como una medida fundamental de calidad educativa; veremos que las TC no han logrado un lugar como disciplina "necesaria. La generacin que transit por la E (nformtica Educativa), se vio inmersa en una cantidad considerable de decisiones pedaggicas que partieron especialmente de adoptar a la nformtica como un "recurso didctico o como "soporte de materiales educativos, e incluso considerarla como propiciadora de los aprendizajes cooperativos, colaborativos, en red, educacin virtual. Sin embargo, paralelo a esta variedad de propuestas educativas se diluyeron las responsabilidades institucionales de otorgar un espacio curricular propio a una disciplina que: posee una fuerte formacin cientfica-tecnolgica, cada vez est ms afianzada en nuestra cultura y, cuenta con reas de conocimientos que estn en permanente expansin, dando lugar a que muchsimos desarrollos profesionales las empleen, o claramente dependan de ellas. En sntesis, planteamos un enfoque disciplinar sobre las Tecnologas de la nformacin y la Comunicacin que supere la brecha conceptual que se ha generado en los ltimos treinta aos. Como hemos referido, nuestra visin es que perpetuando la actual tendencia (educativa y comercial) de "exponernos al contacto y uso de tecnologas no mermar la distancia que se tiene a una compresin conceptual necesaria. Nuestro propsito pues es otorgar elementos que esclarezcan y precisen a las TC, hacindolas conceptualmente comprensibles, mostrando los enlaces entre sus preocupaciones tericas y sus desarrollos e implementaciones tcnicas. _________________________________________________________________________ Silvina Caraballo Susana Muraro 5 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Es as que, nos abocaremos a describir sus conceptos fundantes, pues no hay decisiones educativas en torno a un conocimiento que puedan tomarse al margen de sus sustratos conceptuales. Por lo expuesto, este trabajo no es un tratado sobre la nformtica-TC, slo intentamos "hablar acerca de la nformtica-TC. ABORDAJE DISCIPLINAR DE LAS TIC Con el actual desarrollo de las TC, cada vez ms accesible al usuario, es factible que los lectores se pregunten Para qu un abordaje conceptual de esta disciplina? En la actualidad interactuamos con pantallas grficas, las cuales ponen a nuestra disposicin, mediante variados sistemas de representaciones lingsticas e icnicas, el acceso a una amplia variedad de herramientas de produccin y comunicacin. Lo expuesto permitira pensar que aparentemente cada vez es menos necesario conocer los elementos conceptuales que sostienen a las TC para interactuar con ellas, pero... - El acceso a pantallas grficas resuelve todos los problemas que demanda la interaccin con la computadora? - Se tiene claridad sobre qu ocurre en la computadora y por qu realiza las acciones que estn ejecutando cuando se est trabajando con ella? - Cuntas veces se debi solicitar informacin a otros personas por problemas que resultaban incomprensibles o porque no se tiene idea sobre cmo proceder? - Qu nivel de independencia frente a la computadora se posee y cunta dependencia se est dispuestos a conceder? Hacemos eco de las palabras de Grard Fourez 1 sobre los modos de apropiarse de los conocimientos, especialmente tecnolgicos. El autor propone que existen tres formas culturales de apropiacin: Una cultura de la subordinacin, aquellos que la usan sin reflexin sobre los medios que manipulan. Una cultura de acceso al dominio, aquellos que la usan sin aceptar planteos conceptuales de otros, por lo cual las subutilizan. Una cultura de la negociacin, aquellos que interactan dialcticamente entre sus formas de uso y los aportes de especialistas. El abordaje de las TC debe propiciar la cultura de la negociacin, la cual involucra una relacin de autonoma entre nosotros y la tecnologa nformtica, y entre nosotros y variados empleos, a la manera de los que expresa Brookshear en el prefacio del libro "ntroduccin a las Ciencias de la Computacin: 1 Fourez, Grard (1997) Alfabetizacin Cientfica y Tecnolica! Acerca de la" finalidade" de la en"e#anza de la" Ciencia"$! Coli%ue, &ueno" Aire"! _________________________________________________________________________ Silvina Caraballo Susana Muraro 6 Computadora Programas INFORMTICA Estructura de los datos Resolucin de problemas
UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Estoy convencido de que los estudiantes buscan una alfabetizacin 2 en computacin, que la defino como la capacidad para distinguir entre la ciencia de la computacin y la ciencia ficcin. El objetivo de los cursos de qumica, biologa o fsica generales es proporcionar ese nivel de alfabetizacin en sus respectivos campos. os estudiantes no toman esos cursos para adquirir !abilidades especficas, sino que su meta principal es lograr una comprensin cabal de la disciplina" su alcance, sus principales resultados y consecuencias, sus t#cnicas de investigacin y la situacin actual del campo. El !ec!o de que los estudiantes a veces tengan que desarrollar ciertas !abilidades al tomar el curso tan slo es consecuencia temporal$ el verdadero beneficio del curso %la adquisicin de una visin global del tema& sobrevive muc!o despu#s de que se !an olvidado esos aspectos especficos. '
Desde una postura educativa ms general H. Gardner sostiene y remarca la importancia de la formacin disciplinar de los estudiantes: 9L@ todas las disciplinas trabajan con impresiones, observaciones, !ec!os teoras, distintos modelos. (ero cada disciplina tiene sus propias observaciones, impresiones, caractersticas, es m)s, cada disciplina !a desarrollado sus propios medios, sus propias maneras de comprender los datos iniciales. os ense*antes de las disciplinas tiene ante s una tarea importante +,mo transmitir a los estudiantes, de una manera que puedan comprender la idea de que el mundo que conocen en realidad es una coleccin de mundos -./ a educacin no puede equipar a cada estudiante con un conjunto completo de perspectivas$ es m)s, estamos condenados al fracaso si intentamos !acer de cada joven un !istoriador, un bilogo o un compositor de m0sica cl)sica. 1uestro objetivo no debe ser compendiar la formacin superior, sino facilitar a los estudiantes al acceso del corazn intelectual o alma profesional de las disciplinas. 2ic!o de otro modo" para tener #3ito, la educacin debe transmitir a los estudiantes una visin de las visiones del mundo que ofrecen las distintas disciplinas 4
La nformtica abarca una conjuncin de conceptos y tecnologas que se asientan unos en otros. Constituye una red de conceptos altamente dependientes entre s por lo cual el abordaje de un determinado concepto necesita de la comprensin de los otros temas. No constituye una trama lineal de conceptos, se presentan en forma sistmica. ste es uno de los desafos del abordaje disciplinar de las TC, dado que si bien los conceptos forman un entramado, siempre se debe decidir por una secuencia de abordaje 5 . DELIMITACIN DEL CAMPO CONCEPTUAL DE LAS TIC La conjuncin simbitica de las tecnologas de la informacin y de la comunicacin, delimit una nueva identidad tecnolgica que se impuso bajo el nombre abreviado de TIC. En su expresin se conjugan las palabras informacin y comunicacin. Es posible que al preguntarnos qu son las TC nos veamos envueltos en una variedad de planteos que van ' (e to)a alfabetizacin$ co)o "inni)o de for)acin$! * +! Glenn &roo,"%ear (cuarta edicin 199-)! Introduccin a las Ciencias de la Computacin$! Addi"on./e"ley 0beroa)ericana! 1refacio! 2304 5 6! Gardner ('71')$La educacin de la mente y el conocimiento de las disciplinas- Lo que todos los estudiantes deberan comprender$ 8"9a"a :ibro", &arcelona - 8"ta 9re"entacin la inicia)o" a 9artir del aborda;e de la e"tructura de una co)9onente e"encial, la co)9utadora! 8"9era)o" <ue e"ta deci"in facilite al lector la a9ro9iacin de lo" conce9to" fundante" de la ciencia de la co)9utacin! _________________________________________________________________________ Silvina Caraballo Susana Muraro 7 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ desde los exclusivamente tecnolgicos hasta los exclusivamente sociolgicos, econmicos o educativos. Pero, lo que seguro surge en nuestras mentes es NTERNET. Para una gran mayora de personas, las TC son NTERNET. Qu comprenden las TC? Qu relacin se establece entre la nformtica y las Comunicaciones en el marco de las TC? Un abordaje amplio del concepto de TIC es considerar que sobre ellas convergen dos tecnologas cada una con su identidad, sus construcciones y metodologas. Por un lado, por ser tecnologas de la informacin se incluyen en ellas todas las herramientas y tcnicas informticas que nos permiten producir o interactuar con informacin digitalizada. Cada herramienta impone modalidades diferentes de producir y acceder a la informacin (tcnicas y mtodos), que, como argumentan Salomon, Perkins y Globerson 6 , inciden en nuestras estrategias cognitivas y por ende en nuestros modos de produccin. En dichas interacciones se involucran tanto las herramientas fsicas como las formales. An ms, toda herramienta provee dos elementos altamente interactuantes entre s: por un lado es un objeto fsico (aunque sea un software con el cual interactuamos a travs de una computadora) y por otro lado es un objeto formal que impone modalidades de produccin. Las diferentes fuentes de informacin no slo imponen modalidades de lectura y formas de acceso, sino que proveen de sistemas simblicos de representacin como sucede con los textos, las imgenes estticas o dinmicas. Dentro de este encuadre est la Web, con un reconocimiento extendido de su funcin de mediadora de informacin, aunque no sea la nica ya que existe una amplia variedad de mediadores soportados sobre tecnologa digital. La concepcin amplia de las TC centrada exclusivamente en el acceso a la Web es limitar su capacidad de mediacin y, en especial, su capacidad de produccin. Por otro lado, al comprender las TC a las tecnologas de la comunicacin, se incluyen en ellas a todos los dispositivos y lenguajes que permiten establecer comunicacin sincrnica o asincrnica, entre diferentes tipos de emisores y receptores sobre diferentes medios, como la televisin, la radio, el texto impreso, etc. Algunas de estas tecnologas se asientan en el empleo de redes locales y otras a travs de redes mundiales, que tienen por funcin la comunicacin entre computadoras para, a su vez sostener la comunicacin entre personas, entre personas y mquinas, y en especial, entre las personas y los reservorios de informacin a distancia. Las redes locales nacieron solidarias a la tecnologa informtica y son casi tan viejas como ella. Por lo tanto, con el concepto de TC, nos referimos tambin a las redes locales o slo tiene existencia a travs de las redes mundiales? Como trmino actual, especfico y con el sentido tecnolgico y social que se le otorga actualmente, especialmente est centrada en las redes mundiales e nternet Por otro lado, un abordaje restringido del concepto de TIC es limitarlas exclusivamente a las que tecnologas que sostienen las comunicaciones entre computadoras empleando canales externos a sus estructuras fsicas (conexiones telefnicas, satelitales, banda ancha, etc.). Esta 6 (alo)on, Gabriel= 1er,in", >a?id= Glober"on, Ta)ar! (1991) Coparticipando en el conocimiento: la ampliacin de la inteligencia humana con las tecnologas inteligentes$! @e?i"ta Co)unicacin! :enua;e! 8ducacin$, traduccin de la @e?i"ta 8ducational @e"earc%$ 3ol! '7 AB *! _________________________________________________________________________ Silvina Caraballo Susana Muraro 8 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ concepcin de TC las limita al uso de herramientas, tcnicas y metodologas que emplean redes como sistemas de comunicacin sincrnica o asincrnica especialmente ubicadas distantes geogrficas. En este momento de su desarrollo, nos estaramos centrando fuertemente en el empleo de nternet, con sus servicios aunque no sea la nica. Estas dos descripciones de las TC muestran que el abordaje amplio incluye otras tecnologas digitales que no necesariamente hacen uso de las redes, mientras que el abordaje restringido se sostiene sobre la simbiosis de la tecnologa informtica y la comunicativa. Ya sea que se mire a las TC en forma amplia o en forma restringida, ambas concepciones incluyen a la nformtica con sus tcnicas, herramientas, lenguajes y metodologas de resolucin de problemas automatizables e involucran en forma directa a la computadora. Las comunicaciones constituyen los sustratos fsicos y lgicos sobre los cuales se transfieren las acciones realizadas entre las computadoras. El entorno tecnolgico con el cual convivimos est lleno de dispositivos soportados en tecnologa digital sobre las cuales se despliega una amplia gama de acciones, pero en muchos de estos dispositivos la tecnologa digital est embebida en su estructura fsica no pudiendo una persona modificarla. Muchos de nosotros somos usuarios "inocentes pues, probablemente nos pasan inadvertidos los procesos que realizan, no nos generan preocupaciones tecnolgicas sobre sus empleos, favorecen que nos ubiquemos en un lugar distante de su comprensin fsica y lgica. Situacin diferente nos genera la computadora, no podemos ser totalmente ajenos a su estructura fsica y lgica. Adems, de encuadrar a las TC a partir de las concepciones tecnolgicas que envuelven, cabe hacerlo considerando la forma en que impregnan una variedad de actividades propias de los seres humanos. As, el usuario se relaciona con la tecnologa desplegando un sinnmero de acciones, en algunos casos de modo ms cercano al "hacer con tecnologa y en otros ms cercano a "usar la tecnologa 7 . En sntesis, podemos decir que nos ubica en el rol de productor con y de tecnologa!, o en el rol de "consumidor de tecnologa!. Tanto desde el rol de productor como de consumidor, el ser humano se ve modificado por el empleo de tecnologa. Producir es un modo de crear o recrear cultura, consumir es un modo de apropiarse de la cultura. Histricamente los lmites entre consumidores y productores han sido claros. El peridico lo elabora una editorial periodstica y el lector lo adquiere para leer (aunque este sea digital). Con la televisin y la radio ocurri algo muy parecido, hasta que el mercado abarat los costos de la tecnologa de los grabadores de video y estos se insertaron dentro de los hogares transformando en productores a los televidentes. Asimismo la tecnologa cambi los modos de intervencin de los consumidores ofreciendo modos acotados de produccin (y de comunicacin de las producciones) como el acceso del oyente a hacerse or por la audiencia desde su propia casa, los noticieros interactivos por TV, la publicacin de informacin recogida por los fortuitos espectadores de un hecho. Con la tecnologa informtica ocurri el camino inverso, naci ubicando al usuario en el rol de productor y slo el advenimiento de nternet y los programas multimediales lo posicionaron 7 (alo)on, Gabriel= 1er,in", >a?id= Glober"on, Ta)ar! Cbra citada _________________________________________________________________________ Silvina Caraballo Susana Muraro 9 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ fuertemente en el lugar de consumidor. Los lmites entre productores y consumidores se solapan pues para acceder a una pgina Web es necesario conocer, adems de la computadora, una serie de herramientas, pero cada da se trata de que sus lgicas sean ms transparentes al usuario. Adems, en la actualidad una cantidad de personas elaboran productos interactivos y de acceso social soportados sobre las TC como los Blogs y las Wikis, o son miembros de alguna red social. Para su empleo el usuario necesita de un determinado conocimiento informtico, siendo prcticamente transparente el conocimiento tcnico de las comunicaciones. Sobre esta concepcin se asienta la Web y la Web 2.0, siendo el abordaje de las comunicaciones desde el lugar de produccin dominio de los especialistas. Respecto a las TC, actualmente nos encontramos con que podemos ser productores de recursos informticos y consumidor de recursos comunicativos, y slo los especialistas en comunicaciones disean e implementan estos sistemas. El planteo sobre el lugar del usuario como productor y consumidor respecto de las TC, evidencia que su formacin est especialmente centrada en el abordaje conceptual de la nformtica salvo que se considere a esta tecnologa en forma amplia y se incluyan los dispositivos y lenguajes propios de otros medios de comunicacin como los libros, peridicos, radio, televisin, fotografa y cine, por nombrar algunos pues estamos dejando de lado en esta enumeracin los lenguajes y tcnicas artsticas que tienen adems de una funcin creativa y apreciativa, una funcin comunicativa. De esta forma se desprende que para abordar las TC es necesario atender los conocimientos informticos, y centrar los conocimientos comunicativos en los aspectos sociales, educativos y econmicos. INFORM"TICA O CIENCIA DE LA COMPUTACIN A lo largo de estos ltimos treinta aos se fue construyendo una falsa disyuntiva, socialmente extendida, dentro de la cual se adjudican diferenciaciones tericas y tecnolgicas, no siempre justificada conceptualmente, sobre los trminos "nformtica y "Ciencia de la Computacin. El trmino "nformtica es propio de los pases francfonos e hispanoparlantes, mientras que "ciencias de la computacin est especialmente enraizado en la cultura sajona. En el artculo "Computing as a Discipline 8 sus autores presentan a la nformtica o Ciencias de la Computacin desde la mirada a su complejidad epistemolgica al considerar que sobre esta disciplina convergen tres "paradigmas o estilos culturales, los cuales se sintetizan en: la construccin de teoras que la sustentan, la modelizacin como forma de experimentacin sobre las teoras, el diseo-produccin de los objetos informticos, que a su vez se sustenta en la modelizacin y en la construccin de teoras. Cada uno de estos estilos posee sus propios marcos conceptuales, metodolgicos, por lo cual presentan fuertes diferencias en cuanto a perspectivas conceptuales de los objetos que D >ennin, 1eter +!= Co)er, >oula" 8!, Grie", >a?i"= Eulder, Eic%ael C!= Tuc,e, Allen= Turner, A! +oe= Foun, 1aul @!! Co)9utin a" di"ci9line $. Co))unication" ACE! 3ol *' 0""ue 1! AeG For,! _________________________________________________________________________ Silvina Caraballo Susana Muraro 10 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ abordan, las metodologas que emplean y los productos a los cuales arriban. El primero, "construccin de teoras, se sustenta en la Matemtica incluyendo a la Lgica, siendo su metodologa la propia de este marco disciplinar. El segundo, "modelizacin, se sustenta en metodologas ms cercanas a las Ciencias Experimentales pues su sentido es el de experimentar con modelos o prototipos para detectar los lmites de la teora. Mientras que el ltimo paradigma, "Diseo y produccin de objetos informticos, se basa en las metodologas ingenieriles propias de la elaboracin de productos. Los tres estilos culturales de la disciplina se entrecruzan en pos del propsito general que la moviliza: "automatizar eficientemente procesos. Es necesario tenerlos en cuenta para plantear el marco disciplinar de la nformtica, tal como los autores lo exponen en el artculo mencionado: a ,omputacin 5 est) en la encrucijada entre los procesos centrales de la matem)tica aplicada, la ciencia y la ingeniera. os tres procesos son de igual 6y fundamental7 importancia para la disciplina, que es una combinacin entre teora, modelizacin y dise*o. as fuerzas co!esivas son un inter#s com0n en la e3perimentacin y el dise*o como transformadores de informacin, un inter#s com0n en apoyo computacional a las etapas de esos procesos y un inter#s com0n en la eficiencia. A esta complejidad agregamos la mirada social; construido por los usuarios en sus interacciones con los productos informticos, mirada que posee sus propias representaciones. Esto aumenta la polisemia del trmino "nformtica, la cual est motivada por la propia estructura disciplinar y por la delimitacin que los usuarios no especialistas hacen del trmino. Tambin, podemos mirar a la nformtica desde tres paradigmas distintos que surgen de perspectivas diferenciadas respecto a las dimensiones epistemolgica, ontolgica y metodolgica con que se aborda la disciplina. Estos paradigmas se identifican como: "racionalista, "tecnocrtico y "cientfico 10 . Si sealamos a grandes trazos qu delimita cada uno de ellos podemos decir que: El paradigma racionalista contempla a la nformtica en vinculacin indisoluble con la Matemtica considerando a los programas como objetos matemticos de los cuales puede comprobarse su correccin a travs de razonamientos deductivos. El paradigma tecnocrtico impulsa a la nformtica como una disciplina ingenieril que ve a los programas como datos, la verificacin de su correccin es a posteriori de su ejecucin emprica. El paradigma cientfico vislumbra a la nformtica como una especie de ciencia (natural) experimental donde los programas son entidades emparentadas con los procesos mentales de los cuales se puede obtener conocimiento a priori y a posteriori adoptando para ello tanto deducciones de tipo formal como enfoques de experimentacin cientfica. Quienes sostienen estos paradigmas provienen de ramas distintas de la disciplina. As los ms 9 8l artculo to)a el tr)ino Co)9utacin$ en el "entido de Ciencia" de la Co)9utacin$ o 0nfor)Htica$, a)bo" tr)ino" co)o "inni)o" 10 A)non 6! 8den! ('777) Three paradigms of computer science. Eind" and Eac%ine", (9ecial i""ue on t%e 1%ilo"o9%y of Co)9uter (cience, 3ol! 17, AB '! _________________________________________________________________________ Silvina Caraballo Susana Muraro 11 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ tericos tienden a enrolarse en el paradigma racionalista, quienes se desenvuelven en el rea de la ingeniera en sistemas tienden a posicionarse en el paradigma tecnocrtico y los especialistas en inteligencia artificial se emparentan ms con el paradigma cientfico. En una palabra, como ocurre con todo conocimiento, su sentido depende del enfoque epistemolgico con que se lo aborda. Bajo estos supuestos, es justo afirmar que la nformtica o Ciencias de la Computacin hace ya tiempo que es considerada una disciplina 11 que abarca aspectos cientficos, aspectos tecnolgicos, y posee metodologas especficas. Como toda disciplina debe establecer las bases cientficas que le competen.
Dichas bases se refieren al diseo del hardware, del software, a la representacin y organizacin de las estructuras de datos, la construccin de tcnicas de resolucin de problemas cuyas soluciones son ejecutables automticamente por la computadora, el desarrollo de tcnicas de almacenamiento, tratamiento de los datos, y en especial, a elaborar teoras sobre qu es posible de resolver a travs de un tratamiento informtico, sus lmites y estrategias de desarrollo. Las siguientes definiciones ofrecen elementos para enmarcarla como disciplina: Co#puter science- it argues- is neit+er progra##ing nor co#puter literac). 8at+er- it is Bt+e stud) o% co#puters and algorit+#ic processes including t+eir principles- t+eir +ardJare and so%tJare design- t+eir applications- and t+eir i#pact on societ)C 4TucMer- >??K5. Editado por Co#puter Science Teac+ers Association - Association %or Co#puting *ac+iner) 4>??H5 Traduccin de las autoras' BCiencia de la Co#putacin- se sostiene- no es progra#acin ni al%a"etizacin co#putacional. Es el estudio de co#putadoras ) procesos algort#icos inclu)endo sus principios- el dise,o del +ardJare ) el so%tJare- sus aplicaciones ) sus i#pactos socialesC Las ciencias de la co#putacin 4o in%or#(tica- co#o se la lla#a en los pases +ispanoparlantes5 es la disciplina 7ue "usca esta"lecer una "ase cient%ica para los diversos te#as- co#o el dise,o de co#putadoras- la progra#acin de co#putadoras- el proceso de la in%or#acin- la ela"oracin de algorit#os para resolver pro"le#as ) el proceso algort#ico en s. Ta#"i3n es la ciencia en la 7ue se apo)an las aplicaciones actuales de los co#putadores ) en la 7ue se "asar(n las aplicaciones del #a,ana.C &e%inicin eFpuesta por 0.1. 2rooMs+ear en la !ntroduccin a su li"ro B8ntroduccin a las ,iencias de la ,omputacinC 4Addison-Nesle) !"eroa#ericana- cuarta edicin- :;;=5 BLa disciplina de la co#putacin es el estudio siste#(tico de los procesos algort#icos 7ue descri"en ) trans%or#an la in%or#acin' Su teora- an(lisis- dise,o- e%iciencia- i#plantacin ) aplicacin. La cuestin %unda#ental su")acente a toda la co#putacin es BOPu3 puede ser e%iciente#ente auto#atizadoQC La Co#putacin co#o una disciplina. Ela"orado por AC* Autores' &enning- $R Co#er- &R 1ries- &R *ilder- *R TucMer- A- Turner- A Estas definiciones muestran que todas las actividades que histricamente venan involucrando a la nformtica hasta llegar a lo que actualmente se denominan TC, rondan alrededor de la computadora con el propsito de procesar automticamente rutinas y datos. Hasta ahora, la necesidad de la automatizacin de procesos a travs de la computadora es la que otorga identidad a esta disciplina, por lo cual, conocer cmo funciona este dispositivo es una parte esencial, pero no nica, para comprender qu son las TC. Si se agrupan en forma macro los conocimientos fundantes que configuran a las TC, ellos giran alrededor de los siguientes ejes: La computadora como dispositivo capaz de almacenar datos y automatizar la ejecucin de tareas. Las redes como dispositivos de comunicacin entre computadoras, 11 8n el AneIo "e 9re"enta un anHli"i" "inttico de c)o a)bo" no)bre" deno)inan carrera" de rado y de 9o"trado de anHloa" e"tructura" a ni?el uni?er"itario tanto en la Arentina co)o en el eItran;ero! _________________________________________________________________________ Silvina Caraballo Susana Muraro 12 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Las herramientas informticas, las cuales constituyen lenguajes que proveen de los elementos bsicos y necesarios para comunicar a la computadora los procedimientos o soluciones a los diferentes problemas. Cada herramienta ofrece formas especficas de organizar los datos, de almacenarlos y de acceder a ellos, as como modos o rutinas de transformacin (programas). Las tcnicas informticas, necesarias para representar, organizar, almacenar y recuperar datos. Forman parte las tcnicas que se emplean para disear y elaborar los procedimientos que transforman los datos (programas), cuya finalidad es automatizar la ejecucin de las tareas en la computadora. No para todos los problemas es posible lograr soluciones automatizables en la computadora, ya sea por la imposibilidad de elaborar rutinas que contengan una cantidad finita de acciones o tareas, o porque el tiempo de procesamiento se torna infinito. En informtica los procesos se despliegan a lo largo del tiempo, por lo cual es imprescindible atender su incidencia en el procesamiento al elaborar soluciones informticas. Los tiempos de ejecucin deben ser acotados y plausibles de ser empleados. Los ejes mencionados constituyen los elementos bsicos de la disciplina nformtica que se sustentan en un conjunto de conceptos cientficos-tecnolgicos presentes en diferentes medidas al interactuar con las TC. _________________________________________________________________________ Silvina Caraballo Susana Muraro 13 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ UN RECORRIDO CONCEPTUAL A LA ESTRUCTURA DE LA COMPUTADORA El abordaje de la estructura de la computadora se realiza desde el anlisis de su funcionalidad; la estructura tecnolgica es planteada solamente para otorgar sentido y comprensin a las funciones que despliega. DSPOSTVO DE PROPSTO GENERAL En el artculo !iscusin preliminar del proyecto lgico de un instrumento de clculo electrnico 12 (1946) sus autores, Arthur W. Burks, Hernan H. Goldstine y John von Neumann, exponen las siguientes consideraciones sobre un dispositivo de clculo que todava no tena existencia fsica pero se intentaba construir: 9L@ el dispositivo completo ser) una m)quina de c)lculo para usos generales, deber) contener ciertos rganos principales relativos a la aritm#tica, memoria, control y cone3in con el operador !umano. 9e intenta que la m)quina sea completamente autnoma, es decir, independiente del operador !umano una vez que comienza el c)lculo la m)quina debe ser capaz de almacenar 9L@ no solamente la informacin digital necesaria en un c)lculo determinado 9L@, sino que tambi#n las instrucciones que dirijan la rutina efectiva que !a de ejecutarse con los datos num#ricos 9L@ en el artculo mencionado los autores proponen 9L@ dos formas diferentes de memoria" para el almacenamiento de datos y para el almacenamiento de instrucciones. 1o obstante si las rdenes dadas a la m)quina se reducen a un cdigo num#rico y si #sta puede distinguir de alguna manera un n0mero de una instruccin, la memoria puede utilizarse tanto para almacenar n0meros como instrucciones. 9L@- debe e3istir otro rgano que pueda ejecutar autom)ticamente las rdenes almacenadas en la memoria. : este rgano le llamaremos el control ,onsiderando que el dispositivo debe ser una m)quina de c)lculo, debe !aber un rgano aritm#tico que pueda ejecutar ciertas operaciones elementales 9L@ 9L@ e3istir) una unidad de entrada y salida mediante las cuales el operador y la m)quina puedan comunicarse entre s.9L@ Desde sus inicios, la computadora se pens como un dispositivo electrnico digital de propsito general que acepta automticamente la entrada de datos para ser procesados siguiendo las instrucciones de un programa almacenado en su memoria y emitir automticamente los resultados del procesamiento. El programa, dispositivo o artefacto lgico, est preparado para almacenar los datos de entrada, transformarlos segn la lgica con que fue configurado su comportamiento 13 , y proporcionar los resultados de dicho procesamiento. 1' 1yly"%yn, Jenon /! (co)9) (197-) erspecti!as de la re!olucin de los computadores. Alianza 8ditorial! Eadrid! 1* 8l co)9orta)iento del 9rora)a e"tH deter)inado 9or la lica con <ue "e 9lante la "olucin del 9roble)a <ue re"uel?e! _________________________________________________________________________ Silvina Caraballo Susana Muraro 14 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Qu virtud especial tiene la computadora de propsito general a diferencia de una de propsito especfico? Una computadora de propsito especfico contiene en sus propios circuitos el programa que ejecuta; por lo cual no es posible cambiar la rutina que procesa con el fin de realizar otras tareas no estipuladas en su estructura fsica. Un ejemplo son los electrodomsticos programables, a pesar de permitir la eleccin de diferentes programas slo cumplen una funcin determinada, la estipulada en su estructura fsica, aunque sta sea compleja y variada. En este ltimo caso, un mismo hardware puede realizar un limitado conjunto de tareas para el que est pre-programado. Ser de propsito general es lo que permite variar las formas de procesamiento y las tareas que realiza la computadora y por consiguiente el empleo que se hace de ella, como navegar por la Web, procesar textos, escribir este libro, y en otro momento utilizarla como una herramienta de clculo o ser simplemente un dispositivo de juegos. Todo esto sin necesidad de cambiar el hardware. Siempre accedemos a la computadora a travs de un determinado software que tiene por funcin especificar a la m"uina de propsito general de forma tal que realice un determinado proceso. En una palabra, la computadora es un dispositivo o mquina de propsito general pero nosotros nos relacionamos transformndola en una mquina de propsito especfico a travs del programa con el cual interactuamos. En un determinado momento dentro de la computadora conviven diferentes programas, cada uno de ellos con sus propsitos y comportamientos, interactuando entre s con una determinada organizacin jerrquica de mandos. Es importante comprender el inter-juego que se establece entre el propsito general del dispositivo y el propsito particular de cada dispositivo lgico. Este inter-juego es un pilar de la nformtica. Es importante sealar que si bien como usuarios nos relacionamos con el "objeto tecnolgico denominado computadora, su desarrollo parti de teoras y anlisis cientficos que establecieron su viabilidad y dieron como resultado una arquitectura bsica y fundamental para posibilitar el procesamiento automatizado de programas y datos. Esa arquitectura se implement por medio de dispositivos tecnolgicos aportados por la ingeniera. Sin embargo, es incorrecto pensar que las races cientficas de las TC han quedado en las concepciones originarias del pasado, ya que como iremos desplegando, en esta disciplina se inscriben inseparablemente ciencia e ingeniera conformado objetos de estudio, estilos de anlisis y teorizacin, as como de producciones y desarrollos diversos. La conjuncin de ambas lneas de trabajo es la que da lugar al avance de la disciplina a partir de nuevos problemas a resolver, distintos enfoques de tratamiento y la implementacin de soluciones acordes al estado actual del campo. DSPOSTVO DETERMNSTA Como toda mquina, la computadora es un dispositi#o determinista dado que todo lo que hace debe estar especificado a priori. An ms, hasta los procesos que el ser humano considera que son aleatorios, como puede ser la aparicin de las cartas al jugar un solitario, son ejecutados empleando algoritmos deterministas que simulan el comportamiento azaroso de las cartas. _________________________________________________________________________ Silvina Caraballo Susana Muraro 15 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ DSPOSTVO ALGORTMCO Las computadoras de propsito general son m"uinas algortmicas$ llamadas as porque realizan tareas siguiendo estrictamente paso a paso conjuntos de rdenes o instrucciones llamados algoritmo. Todo algoritmo posee un comportamiento y objetivos especficos, y constituye la solucin automatizada de un problema. La idea de solucin automatizada va ms all del tipo de dispositivo que la ejecute 14 , pero en nformtica, se incorpor la idea de delegar la ejecucin a la computadora de forma tal que la intervencin del ser humano se centra especialmente en el suministro de datos. Las instrucciones de los algoritmos se codifican empleando lenguajes de programacin. El producto de esta codificacin constituye el "programa tambin denominado con el trmino ingls de "software. El programa, se almacena en la computadora, dispositivo que al ejecutarlo va procesando "paso a paso cada una de sus instrucciones. Elaborar el algoritmo que resuelva el problema a tratar es el paso inicial y fundamental para que la computadora pueda automatizar el procesamiento de su solucin; el otro paso necesario es el de traducirlo a un lenguaje de programacin de modo de hacerlo interpretable por la computadora 15 . DSPOSTVO SMBLCO Adems de ser la computadora una mquina de propsito general es una m"uina simblica porque almacena, procesa y devuelve como resultados smbolos expresados en diferentes sistemas de representacin o codificacin. Es el usuario quien los interpreta y le otorga sentido. La computadora no interpreta los smbolos que procesa. En realidad, el hardware de la computadora tampoco procesa smbolos, slo opera con un conjunto de estados fsicos a travs de sus circuitos y esos conjuntos de estados fsicos responden a algn sistema de codificacin. Los seres humanos interpretan y otorgan sentido de informacin a algunos conjuntos de smbolos expresados mediante estos sistemas de codificacin, mientras que otros smbolos son internos a la computadora o a las relaciones que se establecen entre computadoras 16 . El tema de la codificacin-decodificacin de datos y las instrucciones de los programas que el hardware procesa es de especial importancia dentro de la nformtica. Las cualidades de la computadora de ser un dispositivo determinista, algortmico y simblico, inciden sobre: 15 KLuin no "e eIta"i con una ca;ita de )M"icaN, )uc%a" de ella" 9o"een )ecani")o" auto)Htico" co)9le;o"! 1- ! 8l de"arrollo infor)Htico de e"te te)a lo eI9andi)o" )H" adelante 9or<ue con"tituyen conce9to" 9ilare" bH"ico" de la 0nfor)Htica! 1O 8" una ?i"in "ocial)ente eneralizada <ue la co)9utadora e)9lea un "i"te)a binario de codificacin de dato" y 9rora)a" 9ara 9roce"ar, aun<ue 9ara lo" u"uario" dic%o "i"te)a e" tran"9arente! 8n 0nfor)Htica, el tr)ino tran"9arencia$ "e refiere a la 9ro9iedad o caracter"tica de ob;eto" (f"ico" o lico") de 9oder "er utilizado "in nece"idad de conocer "u e"tructura interna! _________________________________________________________________________ Silvina Caraballo Susana Muraro 16 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ el anlisis de los modos de automatizar procesos, las alternativas de procesamiento diferentes construibles para resolver un mismo problema, es decir, algoritmos equivalentes 17 , el abordaje y anlisis de los sistemas de smbolos, sus beneficios y limitaciones para la representacin de la informacin, y, el desarrollo de mtodos de codificacin adecuados segn el tipo de informacin a ser representada. DSPOSTVO DE TECNOLOGA DSCRETA BNARA Anteriormente vimos que la computadora no procesa smbolos sino que procesa cambios de estado que se interpretan segn diferentes sistemas de codificacin. Algunos de estos sistemas son internos a la computadora y otros tienen el rol de comunicar resultados al usuario a travs de algn dispositivo de salida, como el monitor, o de ingresarlos a la memoria, a travs de la introduccin de una unidad de entrada como el teclado. Salvo las imgenes dinmicas y estticas capturadas a travs del empleo de tecnologas analgicas (ejemplo, una cmara fotogrfica ptica); nuestros sistemas de comunicacin son discretos pues estn constituidos por un conjunto finita de smbolos unitarios que se agrupan segn reglas de composicin definidas a priori. Ejemplo, nuestro sistema numrico, con diez smbolos independientes (dgitos) y la regla de la posicin relativa de dichos smbolos podemos construir, leer e identificar los infinitos nmeros naturales de nuestro sistema arbico. Con unos pocos smbolos ms como "+, "-", el punto decimal y la extensin de las reglas de posicin podemos representar cualquier nmero dentro del campo de los nmeros reales. A pesar de ser ms complejo, de forma anloga se constituye nuestro sistema lingstico. Con un conjunto finito de fonemas y grafemas componemos las palabras empleando leyes de composicin especficas (nuestro sistema ortogrfico), cada palabra tiene asociado determinado significante. Pero a diferencia del sistema numrico, la complejidad del sistema lingstico radica en que el conjunto de las palabras son tomadas a su vez como objetos independientes en s mismos y, segn reglas de composicin gramaticales, componemos las oraciones que son objetos lingsticos de otro nivel jerrquico superior al de la construccin de palabras. Este sistema de jerarquas se expande en la construccin de las oraciones y los prrafos, los cuales a su vez se agrupan en unidades de mayor nivel de jerarqua. Cada uno de estos sistemas posee conjuntos de objetos discretos que son combinados segn leyes de composicin propias de dicho sistema y propias de cada idioma. Podemos afirmar que nuestros sistemas numricos y lingsticos se apoyan en un conjunto de elementos discretos que debidamente combinados constituyen elementos de orden superior respecto de cada uno de los elementos que lo componen. De estos objetos de orden superior se pueden precisar su valor, ya sea numrico o de significado. La construccin terica detrs de los sistemas de smbolos es objeto de estudio de determinadas ciencias, pero la implementacin tecnolgica de los sistemas discretos se logra por medio de tecnologas que 17 :a e<ui?alencia de 9rocedi)iento" e" abordada en un 9unto e"9ecial)ente dedicado a e"te te)a! _________________________________________________________________________ Silvina Caraballo Susana Muraro 17 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ permitan identificar conjuntos de estados finitos a los que se le asignan determinados significantes y que puedan ser compuestos segn leyes de composicin predeterminadas. Cualquier modificacin implica registrar y almacenar los cambios de estado. De igual manera, la estructura fsica de la computadora est preparada para almacenar diferentes estados, y registrar los cambios. La relacin entre los diferentes estados y el sentido de lo que representan est a cargo de determinados programas. Podemos afirmar que la memoria de una computadora no es ms que un conjunto de circuitos que almacenan estados diferentes segn el sistema de codificacin del programa con el cual interactuamos% Por qu a la computadora se le agrega el calificativo de "binaria? A qu se debe este atributo? El motivo es muy simple, siempre que estemos alfabetizados, empleando la tecnologa del lpiz y el papel nos es muy simple representar los diferentes elementos de nuestro sistema numrico o lingstico; pero para la tecnologa del hardware representar la cantidad de estados diferentes que ofrece e impone nuestra cultura es sumamente complejo, llegando a lo ineficiente e imposible. Este problema es fcilmente resoluble empleando la menor cantidad de estados diferentes, los cuales necesariamente son dos estados, dado que con un solo estado no tendramos cambios de estado, por lo tanto no se podran registrar diferentes smbolos. Estos dos estados diferentes son habitualmente denominados "1 y "0, pero los circuitos de la memoria y del procesador no tienen almacenados un "1 o un "0 sino que a travs de ellos pasan dos diferentes medidas de corriente elctrica. A cada uno de estos tipos de estados elctricos le asociamos el "1 o el "0. Es evidente que esta limitacin en la capacidad de representar estados diferentes obliga a emplear un conjunto de estados binarios para codificar un nmero o una letra de nuestro sistema lingstico. He aqu el motivo de la difundida idea de que la computadora trabaja con ceros y unos, a pesar que para el usuario final todo el sistema binario de representacin de nuestros smbolos le es absolutamente transparente. Significar adecuadamente el concepto de representacin binaria es parte importante de nuestra apropiacin cultural de la nformtica, otorga sentido a las representaciones sociales en torno a la computadora, desmitifica un conocimiento expandido que limita su comprensin y genera distancia en su apropiacin. NTERACCN ENTRE EL HARDWARE Y EL SOFTWARE Desde que se enciende la computadora, en este dispositivo estn constantemente interactuando sus componentes fsicas (hardware) y sus componentes lgicas (programas y datos). Nos acercaremos al hardware a travs de lo que hace el software y al software a travs de lo que hace el hardware. Podemos pensar en una moneda como metfora para intentar describir la relacin entre el hardware y el software. La moneda tiene dos superficies (cara y cruz), las dos son necesarias para describir a la moneda, pero ninguna de ellas por s misma la determina. Situacin anloga presenta la computadora y constituye una de las complejidades que tiene esta tecnologa. _________________________________________________________________________ Silvina Caraballo Susana Muraro 18 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ LOS DFERENTES NVELES DE DESCRPCN Abordar el conocimiento de las computadoras obliga a elegir un determinado nivel de descripcin, que pueden ir desde; el ms micro que consiste en analizar en forma exhaustiva sus componentes fsicas y funciones (como las representaciones internas de datos y programas), hasta, el ms macro que implica considerar en forma global, como un todo en s mismo, su estructura y funciones. Cada uno de estos niveles proporciona diferente informacin sobre el hardware y el software y diferentes niveles de comprensin sobre qu ocurre cuando procesa. Podemos analizar cmo se ejecuta un programa en los niveles ms cercanos al hardware, explicando las acciones y estructuras de las componentes que interactan en cada momento del proceso. Tambin, podemos analizar cmo procesa considerando al hardware como un agrupamiento macro de las componentes micro del bajo nivel, o centrndonos especialmente en el comportamiento y estructura del software. Cuanto ms cercano al funcionamiento del hardware sea nuestro anlisis estaremos realizando un anlisis de bajo ni#el 18 . Cuanto ms cercana sea la explicacin a la lgica del ser humano que interacta con los programas, ms macro ser nuestro anlisis. Consecuentemente a este anlisis se lo denomina de alto ni#el. Como un ejemplo que intenta mostrar las diferencias descriptivas entre el bajo y el alto nivel, exponemos el modo en que accede a una computadora un usuario no especializado pero autnomo, en contraposicin al acceso que tiene un tcnico que la repara. El usuario se acerca a ella con la finalidad de usar un programa y lo hace utilizando todas sus habilidades en el manejo del mismo y aprovechando las mltiples funciones que ofrece. Por ejemplo, l conoce cmo configurar el programa al momento de su instalacin: establece el idioma que va a emplear para describir sus datos, las funcionalidades que necesita, la ubicacin de sus archivos de trabajo o los colores de la pantalla, etc. En cambio, si el dispositivo utilizado por un tcnico reparador de computadoras, su visin de la misma ser la de un conjunto de componentes del hardware, pudiendo describir no slo las caractersticas tcnicas de cada una de sus componentes durante el procesamiento de un determinado programa, sino que tambin, por ejemplo podr detectar componentes que provocan un mal funcionamiento o migrar 19 a tecnologas ms modernas. Estos diferentes niveles de comprensin conceptual y tcnica son los que permiten a un nio que juega con la computadora eligiendo un programa de su inters, pero sin necesitar entender la estructura del software en ejecucin. Los niveles de descripcin con que se aborda el conocimiento de la computadora estn directamente relacionados con la organizacin jerrquica de los sistemas de cmputo que la componen. Cada nivel de descripcin crea una abstraccin del nivel inmediato inferior y permite estudiar los aspectos propios de ese nivel. En las computadoras los niveles ms bajos 1D 8l no)bre de lenua;e de ba;o ni?el$, "e relaciona directa)ente con la relacin del lenua;e y el %ardGare de la co)9utadora! 19 Tr)ino )uy e)9leado en ;era infor)Htica <ue "inifica ca)biar una co)9onente 9or otra de )ayor funcionalidad o9erati?a! _________________________________________________________________________ Silvina Caraballo Susana Muraro 19 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ son los ms complicados de explicar para quin no es especialista en nformtica. Abarcan las caractersticas tecnolgicas del hardware involucradas en las acciones 20 que se desencadenan durante el procesamiento. Los niveles ms altos de descripcin son los que exponen al hardware en forma global considerando solamente sus funciones bsicas, se apoyan en la lgica de trabajo de las personas. Estos niveles de descripcin no son dicotmicos, no se reducen a bajo o a alto nivel solamente, existe un continuo de descripciones que va desde uno a otro de los dos extremos expuestos e involucran diferentes proporciones y profundidad de conocimientos informticos. Cada uno de estos niveles permitir al usuario construirse un modelo mental sobre cmo es y qu acciones realiza la computadora; conocimientos que inciden sobre las posibilidades de ser ms o menos autnomo frente a la tecnologa de las TC. Presentamos otro ejemplo para ilustrar los diferentes niveles de descripcin. Un usuario que utiliza lo que actualmente de denomina "herramienta de trabajo, como puede ser un editor de texto, una planilla de clculo o un navegador de nternet est interactuando con la computadora en uno de sus niveles ms altos y lo hace a travs de la interfaz de comunicacin ofrecida por el programa de aplicacin que utiliza. Qu ocurri internamente en la computadora hasta llegar a exponer en pantalla la interfaz operativa de la herramienta seleccionada y el trabajo que est realizando? Desde una descripcin macro, al encender la computadora se produce una interaccin intrnseca entre el hardware y el software. El usuario reconoce que el dispositivo est listo para ser utilizado en el momento que se despliega la interfaz grfica en su monitor, lo cual indica que est a la espera de rdenes. La evolucin de la tecnologa de las computadoras hizo posible la evolucin del modo en que los programas se comunican con el usuario, brindando modalidades de comunicacin orientados al lenguaje humano. De esta forma, se despliegan en pantalla las acciones posibles de realizar a travs de palabras tcnicas sencillas o conos que las representan. El usuario se limitar a seleccionar el cono que la representa la accin deseada. Si el usuario es tecnolgicamente ingenuo no advierte que dichas acciones estn enviando rdenes a otro software que ahora estn residentes en la memoria de procesamiento, que fue cargado en ella durante el proceso de encendido. Este software se denomina "Sistema Operativo, es el encargado de transferir de alguna unidad de almacenamiento masivo a la memoria de procesamiento una copia del programa seleccionado para ser ejecutado. Esta explicacin macro poco nos informa sobre qu ocurre internamente en la computadora cuando estamos trabajando con ella. Para tener una idea ms clara es necesario analizar lo que ocurre en el momento en que est procesando los datos e instrucciones del programa. En sntesis, "Bajo nivel y "Alto nivel son dos metforas informticas, que apuntan a representar el tipo de abordaje conceptual que se hace de la organizacin fsica y lgica interna del dispositivo digital y su relacin con los conocimientos que requiere de su estructura y funcionalidad. Cuanto ms alto es nuestro nivel de abordaje del dispositivo digital, menos conocimientos especficos de niveles ms bajos se involucran. Las formas de comunicacin actuales entre usuario y computadora estn pensadas para que las personas se relacionen con '7 8n 0nfor)Htica e"ta" accione" "e deno)inan 8?ento"$, e" decir "uce"o" <ue e;ecuta la co)9utadora! _________________________________________________________________________ Silvina Caraballo Susana Muraro 20 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ este dispositivo desde un abordaje de alto nivel, con mnimos conocimientos sobre su funcionamiento interno. Pero este tipo de abordaje, supresor de la necesidad de contar con determinados conocimientos tecnolgicos, deja afuera al usuario de poder "producir con la tecnologa y comprender las acciones que realiza; por lo tanto limita su nivel de autonoma. Si bien desde una mirada ms ingenua que perspicaz pareciera que el usuario est capacitado para manejar la computadora a su antojo y necesidad, desde una mirada ms profunda y comprensiva de la situacin del usuario frente a la tecnologa se observa que slo podr realizar aquellos usos y funciones que "amigablemente la lgica de muy alto nivel le permite "administrar. Esto nos lleva a plantear la necesidad de reflexionar y tomar decisiones acerca del nivel conceptual en que requiere apropiarse una persona para ser usuario autnomo de TC. En otras palabras, esta construccin jerrquica de los sistemas computacionales permite la diversificacin de los tipos de usuarios al facilitar interaccionar con ellos sin ser expertos conocedores de las tecnologas de hardware ni ser programadores de software. Sin embargo, estos usuarios no son autnomos frente a nuevas necesidades o conflictos con la computadora, siendo dependientes de otras personas con mayor nivel de conocimientos informticos. Justamente el tipo de relacin dependiente que se establece es lo que Fourez describe en sus tres estilos culturales de apropiacin de la tecnologa. Las secciones que siguen estarn orientadas a brindar un panorama conceptual sobre qu son, cmo estn organizadas y cmo funcionan las computadoras tratando de evitar explicaciones complicadas y conocimientos tecnolgicos avanzados. En una palabra, nuestra intencin es la de presentar a la computadora (el hardware y el software) desde diferentes niveles analticos de descripcin pues consideramos que este enfoque permite el abordaje de las TC desde una mirada conceptual y consistente frente a los cambios que se dan a lo largo del tiempo. SSTEMA DE COMPONENTES EN PERMANENTE NTERACCN La computadora constituye un sistema de componentes con funciones especficas que interactan entre s en pos del objetivo de procesar los datos a partir de las instrucciones de un programa. Si abordamos su descripcin desde un anlisis macro, observamos que est constituida por dos componentes, con estructura tecnolgica y funcionalidades diferentes: el hard&are y el soft&are. Este sistema lo podemos representar de la siguiente forma: Primer nivel de descripcin: El hardware es la estructura encargada de almacenar y procesar lo que el software le indica. El software constituye la estructura lgica en funcin de la cual procesa el hardware (recordar la metfora de la moneda), ambas componentes son imprescindibles. Esta macro descripcin no ofrece elementos que permitan elaborar una comprensin _________________________________________________________________________ Silvina Caraballo Susana Muraro 21 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ conceptual y operativa sobre cmo trabaja la computadora, por esta razn es necesario encarar su descripcin desde un nivel menos macro, o ms micro. Esto se logra analizando las dos componentes descriptas anteriormente desde un nivel de descripcin ms refinado o ms desagregado. Podemos analizar cada una de estas dos componentes como sistemas que a su vez estn compuestos por componentes con funciones especficas que interactan entre s en pos de un determinado propsito. Las interacciones y funciones entre las componentes del hardware y del software descriptos en el primer nivel son macro descripciones que omiten las interacciones y funciones de cada una de las componentes en que se desagregan en el segundo nivel de descripcin. Para adentrarnos en la estructura interna del hardware y del software; hacemos uso de la arquitectura diseada por von Neumann y sus colegas. Esquemticamente puede ser representado de la siguiente forma: Segundo nivel de descripcin: Para proponer una descripcin ms micro que la anterior podemos desagregar la estructura de la Memoria y de la Unidad Central de Proceso (CPU). Tambin, de los programas y los datos. Esquematizamos al sistema computadora de la siguiente forma: Tercer nivel de descripcin: _________________________________________________________________________ Silvina Caraballo Susana Muraro 22 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Estos niveles jerrquicos de descripcin pueden desagregarse hasta llegar a una descripcin micro que en el caso del hardware comprendera a los circuitos electrnicos de sus componentes bsicas y en el caso del software llevara a involucrarnos en cmo es la estructura digital-binaria de las instrucciones de un programa o de la representacin de los datos que procesa. La eleccin del nivel de descripcin con que se aborda a las TC implica la decisin de determinar qu componentes son consideradas como una caja negra, desconociendo su estructura interna pero disponiendo de un determinado nivel de informacin sobre qu funciones realizan. Presentar a la computadora (hardware y software) desde diferentes niveles anlisis permite el abordaje de las TC desde una mirada conceptual y consistente frente a cambios tecnolgicos que se dan a lo largo del tiempo. SSTEMA DE COMPONENTES EN PERMANENTE EVOLUCN Hasta llegar a la concepcin actual de computadora se ha transitado por una variedad de decisiones cientfico-tecnolgicas, algunas exitosas permanecen en la actualidad, otras han quedo en la historia como paso necesario para llegar a sucesivas mejoras en el proceso de automatizacin. El camino recorrido desde la primera computadora hasta las actuales, permite comprender las decisiones que se fueron tomando sobre la estructura-funcin del hardware y sobre la estructura-funcin del software a medida que surgieron nuevas situaciones tecnolgicas a atender. Es as que las primeras mquinas de calcular 21 ejecutaban programas que estaban integrados en sus componentes fsicas formando parte de la propia mquina. Haciendo una analoga, funcionaban como una caja de msica que toca siempre la misma cancin. En esta etapa, el hardware y el software constituan un mismo objeto, mejor dicho, no exista el concepto de hardware y software pues el dispositivo fsico era la unidad en s misma. '1 1or "u con"titucin, no re"9onden a la conce9cin de co)9utadora de ?on Aeu)ann! _________________________________________________________________________ Silvina Caraballo Susana Muraro 23 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ La Unidad Central de Proceso de las primeras computadoras programables era fcilmente "reconectable a travs de un tablero similar a un conmutador telefnico antiguo, logrndose as que la tarea a realizar pudiera ser cambiada con slo cambiar las conexiones del tablero. Siguiendo con nuestra analoga de las cajas de msica, ahora se cambiara la cancin a ser tocada cambiando las ubicaciones de las clavijas que generan la msica, es decir modificando partes de la estructura fsica de la caja (hardware). Los diseadores de estas mquinas de clculo buscaron la manera de hacerlas ms flexibles, evitando los inconvenientes que emanaban de la propia estructura del dispositivo. La flexibilidad se lograba separando la descripcin de los procesos a realizar de la estructura fsica de los circuitos que lo ejecutan. Este salto en su arquitectura gener la idea de mquina programable. El prximo paso fue almacenar el programa en un medio fsico externo al dispositivo (cinta de papel o tarjeta perforada) que lo procesara, tal como en las pianolas se almacena la partitura por medio de perforaciones en un rollo de papel; aunque esta estructura nos remite a la pregunta el contenido de la cinta de papel es dato o programa? El esquema de la computadora ideado por John von Neumann produjo una nueva revolucin tecnolgica al proponer mquinas que almacenaban en su memoria la secuencia de datos e instrucciones del programa que deban ejecutar, en lugar de tener que "modificar el hardware para cada aplicacin particular, como suceda con las mquinas anteriores. La Unidad Central de Proceso (CPU- de su nombre en ingls, Central Processing Unit) sera la encargada de acceder a las instrucciones almacenadas en la memoria, decodificarlas y ejecutarlas, resultando posible modificar el tipo de procesamiento con slo alterar el contenido de su memoria. Nace de esta manera la computadora de programa almacenado. Esto es anlogo a poder suministrarle a nuestra caja de msica una partitura diferente cada vez que lo deseemos, sin modificar en absoluto su hardware. Douglas Hofstadter 22 presenta una analoga muy interesante entre el hardware y el software de una computadora en correspondencia con el cerebro y la mente de un ser humano. (odemos reprogramar nuestras mentes para que operen dentro de diferentes marcos conceptuales. a e3traordinaria fle3ibilidad de nuestras mentes parece irreconciliable con la nocin de que nuestros cerebros deben estar compuestos por reglas fijas de !ard;are, las cuales no pueden ser reprogramadas. .1o podemos re!acer los circuitos de nuestro cerebro, . 9in embargo, podemos controlar la manera en que pensamos. SSTEMA ABERTO AL ENTORNO Como dispositivo tecnolgico, el hardware de la computadora es un sistema abierto que interacta con el usuario a travs de dispositivos que realicen las entradas de programas y datos a la memoria de procesamiento, memorias de almacenamientos, y dispositivos de salida que proveen el acceso de los resultados del procesamiento. Estas comunicaciones entre usuarios y computadora se dan a travs de una variedad de '' 6of"tadter, >oula" (19D7) "#edel$ %scher$ &ach. 'n %terno y "r(cil &ucle!$! 8ditorial Tu"Luet" &arcelona! _________________________________________________________________________ Silvina Caraballo Susana Muraro 24 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ unidades de entrada y salida de diferentes tipos y tecnologas. Cada tipo de unidad de entrada o de salida posee su funcionalidad, siendo las unidades de entrada ms comunes el teclado, el mouse y el pad, mientras que como unidades de salidas las pantallas y la impresora. Es interesante analizar la evolucin de los desarrollos tecnolgicos informticos mirando la evolucin de las unidades de entrada y salida. En los inicios de la computadora se dispona de lectoras de cintas de papel y tarjetas perforadas como unidades de entrada y las unidades de salida eran especialmente las impresoras. De esta forma, las unidades de entrada cumplan propiamente con la funcin de comunicar el usuario con la computadora, y las unidades de salida slo tenan por funcin de comunicar resultados del proceso al usuario. El desarrollo de las cintas magnticas ampli la concepcin de unidad de entrada y unidad de salida pues una misma cinta magntica cumpla con estas dos funciones, dependiendo de uso que se les daba. Adems, eran unidad de almacenamiento masivo (como actualmente el disco rgido). El advenimiento de las PC mantuvo la discriminacin entre unidad de entrada y unidad de salida, pero a medida que fue expandindose su industria incorporando nuevas funcionalidades y nuevos tipos de usuarios, no slo se mejoraron estos dispositivos sino que tambin se desarrollaron nuevos tipos de unidades de entrada, como el mouse, y una variedad de unidades de salidas; muchas de las cuales se incorporaron al hardware como unidades no visibles al usuario. Dentro de este caso, nos encontramos con unidades de entrada de imgenes y sonidos que son capturados y almacenados en tiempo real. Tambin, se desarrollaron una variedad de unidades de funcionalidad dual como el disco rgido que posee funciones de unidad de entrada, de salida y de almacenamiento masivo. Actualmente se dispone de pantallas tctiles que funcionan como unidad de salida pero tambin cumplen con el rol de ser unidades de entrada, tan generalizadas en los celulares. Las descripciones de las unidades de entrada y salida pueden ser abordadas como estructuras fsicas especficas del hardware y como interfaces de comunicacin usuario-computadora. Esta ltima mirada est planteada en el punto sobre interfaces pues todo dispositivo fsico es controlado por algn dispositivo lgico. Aqu tambin nos encontramos inmersos en la indisoluble relacin hardware-software. Por ltimo, las comunicaciones entre computadora generaron nuevas unidades de entrada y salida que se integraron a la computadora de modo tal que actualmente constituyen dispositivos indisoluble. Este tema es abordado en especial en el punto "La comunicacin entre computadoras LAS DOS MEMORAS Por una analoga apoyada en la funcin de la memoria humana como lugar de almacenamiento y acceso a la informacin 23 , se denomin memoria a la componente del hardware cuya funcin es almacenar datos y programas. Memorizar es la denominacin de un proceso que se refiere a la capacidad de almacenar y recuperar informacin, que en el ser humano se desarrolla en el cerebro a travs de sus neuronas. A diferencia de la memoria humana, en la cual los recuerdos no son evocaciones exactas de lo vivido, en la memoria de la computadora lo que se recupera '* 8"ta )etHfora no da cuenta de <u y c)o al)acena la )e)oria %u)ana y "e accede a ella! _________________________________________________________________________ Silvina Caraballo Susana Muraro 25 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ es exactamente lo mismo que se ha almacenado. Si embargo, la analoga entre memoria de la computadora y memoria humana llega a su fin dado que esta ltima tiene formas involuntarias de acceso a sus datos, mientras que el acceso a datos e instrucciones contenidos en la memoria y requeridos en un proceso est debidamente determinado por el programa que ejecuta la computadora. Hay estudios que plantean la existencia en los seres humanos de varias clases o niveles de memoria segn el alcance temporal de los recuerdos, como la memoria de "largo plazo y la de "corto plazo. La memoria de la computadora tiene una similitud funcional con la memoria humana, pero su estructura fsica no slo es diferente por motivos obvios, sino que es diferente por la organizacin secuencial que tienen sus lugares de almacenamiento cuestin que influye en la forma de almacenar y acceder a los contenidos. En franca analoga 24 con nuestra memoria de corto y de largo plazo, la computadora tambin dispone de dos memorias. Una de ellas corresponde a la memoria de procesamiento y la otra es la memoria de almacenamiento masi#o. La primera de ellas es la responsable de albergar datos y programas que estn en uso en un determinado momento, la segunda es el repositorio de datos y programas destinados a usos futuros. Estas funciones diferenciadas llevan necesariamente a un intercambio constante de comunicacin entre ambas memorias. Para comprender y distinguir los dos tipos de memorias de las computadoras es necesario comprender las funciones, formas de almacenamiento y acceso a la informacin de cada una de ellas, adems de cmo son codificados y almacenados los datos y los programas. En este punto exponemos solamente una descripcin macro de sus funcionamientos, afinndose su abordaje cuando se traten los sistemas internos de codificacin de datos y programas. Las funciones y caractersticas de ambas memorias de la computadora constituyen un claro ejemplo de la necesidad de delimitar el nivel de desagregacin con que se abordan los conocimientos informticos y sus relaciones. Esta propiedad es una caracterstica propia de todo conocimiento sistmico, donde "las partes se comprenden desde "el todo, pero el abordaje "del todo no implica el abordaje exclusivo de "las partes. Por qu posee dos memorias la computadora? Vimos que est motivado por la necesidad de disponer fcilmente: De todo lo que en algn momento se puede necesitar procesar. De todo lo que es necesario disponer en un determinado momento para ser procesado. Esta diferencia entre lo almacenable por posibles usos y lo almacenado porque se est usando, es lo que ha llevado a configurar a las computadoras con una memoria principal de procesamiento y con memorias secundarias de almacenamiento masivo (tambin denominadas memorias auxiliares). Por qu no se disponen los datos y programas de uso actual y de empleo futuro en la memoria de procesamiento? Esto est motivado por las siguientes razones que marcaron sus diseos desde la propia concepcin de von Neumann: '5 :a analoa "e con"truy al re?", e" decir de"de el )odelo co)9utacional %acia el )odelo %u)ano! Pn clH"ico de e"ta 9re"entacin e" el libro de @ic%ard 8! Eayer, (19D-) %l futuro de la psicologa cogniti!a$! Alianza 8ditorial! Eadrid _________________________________________________________________________ Silvina Caraballo Susana Muraro 26 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ El tipo de tecnologa que se emplea para construir ambos tipos de memorias. El tipo de almacenamiento y formas de acceso que proveen. Los costos de produccin de cada tipo de memoria. La limitada, aunque exuberante, capacidad de las memorias de procesamiento en contraposicin con poder ampliar indefinidamente las memorias de almacenamiento masivo. Tecnolgicamente las unidades de almacenamiento de la memoria de procesamiento o principal son diferentes a la unidad de almacenamiento masivo, tanto en su estructura fsica como en la velocidad de acceso a datos y programas. La memoria de procesamiento est constituida por un conjunto de celdas de memoria su estructura fsica est en ntima relacin con los niveles bajos de descripcin del hardware. Cada una de estas celdas es identificada por su ubicacin dentro del conjunto de celdas, a travs de su direccin de memoria# Se la denomina '() (Random Access Memory Memoria de Acceso al Azar 25 ), su estructura fsica permite acceder a los contenidos almacenados en las celdas explicitando solamente su direccin con independencia de su ubicacin relativa a otras celdas. La tecnologa con la cual est diseada y construida hace que slo sea posible almacenar datos o instrucciones si recibe suministro elctrico, en caso contrario pierde la informacin almacenada siendo irrecuperable. Por este motivo se la conoce como memoria #oltil. A diferencia de la memoria de procesamiento, la forma de almacenamiento de las memorias secundarias o de almacenamiento masivo depende del tipo de tecnologa con la cual han sido construidas. De los diferentes tipos que existen, el disco rgido posee funciones que lo hacen inevitable 26 y esencial. Las memorias de almacenamiento masivo tienen una doble funcin, constituyen memorias de almacenamientos no-voltiles (en contraposicin se denominan memorias permanentes), y operan como unidades de entrada y salida. De esta forma se pueden almacenar datos y programas para ser recuperados en otros momentos. A los conjuntos de datos y a los conjuntos de instrucciones de un programa se los denomina con el nombre genrico de archi#os, por lo cual en nformtica hay dos tipos de archivos: archi#os de datos y archi#os de programas. El concepto de archivo est relacionado directamente con el almacenamiento en las memorias secundarias dado que es all donde se los identifican a travs de nombres especficos y propios. Los nombres de los archivos de datos los asignan los usuarios y los de archivos de programas los impone la empresa comercializadora del software, o los define la persona que lo ha elaborado. Sin embargo, la evolucin de las memorias de las computadoras llev a colocar entre la CPU y la memoria RAM una memoria denominada Memoria Cache. Aunque la memoria principal es '- 8l tr)ino Azar$, no 9o"ee el "entido 9robabil"tico! 'O 6ay co)9utadora" "in di"co rido aun<ue toda" la" co)9utadora" nece"iten de l! :o <ue ocurre e" <ue e)9lean di"co" rido" de otra" co)9utadora" conectada" a tra?" de rede"! _________________________________________________________________________ Silvina Caraballo Susana Muraro 27 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ muy rpida frente a la necesidad de recuperar informacin ella suele ser ms lenta de lo conveniente. La memoria Cache, ms pequea en capacidad pero con una tecnologa ms rpida para la transferencia, intenta minimizar el tiempo de transferencia 27 . Su funcin es almacenar la informacin que el procesador emplea con ms asiduidad basndose, para ello, en principios de localidad espacial y temporal. Esto es, recupera y mantiene los datos e instrucciones requeridas y las direcciones prximas a las requeridas. Tambin mantiene almacenado el bloque de datos que ms cerca en el tiempo ha utilizado el procesador. Como una gran cantidad de acciones que se realizan sobre la computadora involucran a las memorias de almacenamiento masivo es frecuente que se considere que la memoria de la computadora "procesa a travs del "disco rgido. Paradjicamente la RAM es trasparente al usuario ingenuo aunque est interactuando con ella todo el tiempo en que est trabajando con una computadora. Ms transparente an resulta ser la memoria Cache ya que el usuario no hace uso explcito no puede decidir acerca de su contenido. La estructura de la memoria de la computadora, su descripcin y funciones es un tema importante de la nformtica. Su apropiacin conceptual permite identificar y significar una gran cantidad de acciones que se realizan sobre la computadora, su descripcin ser abordada en forma solidaria a la codificacin de datos e instrucciones de los programas, tema que presentamos ms adelante. LA AUTOMATZACN DE LOS PROCESOS Los programas y datos almacenados en la memoria de procesamiento necesitan de la Unidad Central de Proceso para acceder y ejecutarlos. La memoria de la computadora slo guarda los datos e instrucciones pero su funcin no es procesarlos. La CPU es la encargada del control del procesamiento y de realizar las operaciones aritmticas y lgicas que demande el programa, tal como fue presentada en esquema previo est compuesta por: La *nidad de Control encargada de interpretar, coordinar y controlar la secuencia de instrucciones del programa en ejecucin. La *nidad (ritmtico-+gica encargada de realizar las operaciones aritmticas bsicas y lgicas de comparacin, cada vez que lo requiere la Unidad de Control. Posee celdas de memoria denominadas registros para almacenar los datos y los resultados parciales de estas operaciones. Estos registros constituyen lugares de almacenamiento temporario, son memorias de ms rpido acceso, pero de menor capacidad, cada uno de ellos slo puede guardar una instruccin, una direccin o un dato. Los registros son parte del procesador, tanto la cantidad como el tipo de registros que posee dependen de la estructura y diseo del hardware. '7 Todo "i"te)a con"tituido 9or un con;unto de co)9onente" <ue interactMan entre " 9roce"a a la ?elocidad de la co)9onente )H" lente! _________________________________________________________________________ Silvina Caraballo Susana Muraro 28 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ En sntesis- la co#putadora es un dispositivo 7ue se sustenta a trav3s de la relacin de #utuas necesidades entre el +ardJare ) el so%tJare. Entre ellos #antienen una relacin si#"itica- por lo cual- transitar por la estructura del +ardJare o"liga a transitar por la otra cara de la #oneda- la estructura del so%tJare. $roceder a una co#prensin #(s aca"ada de la estructura de la co#putadora nos per#ite Co#prender las decisiones tericas ) tecnolgicas 7ue %ueron con%igurando a las T!C. Signi%icar un c.#ulo de acciones 7ue realiza#os so"re ella- as co#o un c.#ulo de %uturas acciones. Un r$%orri&o %on%$'(ual a la $s(ru%(ura &$l so)(*ar$ Como fue expuesto, el software 28 abarca tanto a los archivos de programa como los archivos de datos. Atendiendo diferentes niveles jerrquicos en la computadora, ambos especifican al hardware para que realice una determinada accin. Esta relacin de mutuas necesidades entre el hardware y el software la sostiene la computadora por ser una mquina simblica y de propsito general, sin embargo en cada momento ejecuta tareas especficas que resuelven un determinado problema sobre un determinado conjunto de datos. RELACN ENTRE LA MQUNA DE PROPSTO GENERAL Y EL SOFTWARE. El hardware de la computadora permite variar las tareas que realiza, esto se consigue con slo cambiar el programa. La relacin del usuario con el hardware siempre se efecta a travs de programas que ejecutan determinados procedimientos que tratan los datos. Potencialmente la computadora es de propsito general, pero en la prctica es de propsito especfico. El propsito est determinado por el programa que est ejecutando en conjuncin con los datos. Siempre la relacin entre computadora y usuario se establece a travs de programas y datos, por lo cual siempre nos relacionamos con un dispositivo que potencialmente puede variar las rutinas de procesamiento pero que en un determinado momento se comporta de un modo preestablecido. El hardware constituye la m"uina fsica y el programa constituye la m"uina lgica. Las mquinas lgicas son de propsitos especficos, dado que sus estructuras estn pensadas, diseadas y elaboradas para resolver determinados problemas. Sobre la mquina fsica se asienta su caracterstica distintiva de ser un dispositivo de propsito general. Sobre la mquina lgica se asienta el procedimiento que realiza las transformaciones de los datos. Esta situacin se puede representar en forma macro a travs del siguiente esquema, el cual muestra la estructura de jerarquas, dependencias, y pasajes de eventos, acciones y rdenes con que est diseada la computadora: 'D 1ara deli)itar el alcance del "oftGare "e e)9lea la definicin de la 0888, la cual di"tinue lo" ele)ento" tanible" de la co)9utadora co)o el %ardGare de lo" ele)ento" intanible" co)o el "oftGare! _________________________________________________________________________ Silvina Caraballo Susana Muraro 29 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Co#putadora *antiene una estructura de jerar7uas ) dependencias entre el +ardJare ) el so%tJare So%tJare 4*(7uina Lgica5 /ardJare 4*(7uina 6sica5 Ejecuta el progra#a ) procesa los datos Especializa el +ardJare para 7ue procese de una deter#inada %or#a 6igura : Los programas para ser ejecutados por el hardware necesitan de datos. Nunca una computadora puede procesar soluciones de problemas cuyos datos estn expresados a travs de variables, como en matemtica, tanto es as que para aquellos programas que procesan simblicamente frmulas matemticas los datos estn constituidos por conjuntos de caracteres que, para el usuario, tienen sentido de expresiones matemticas formales, pero para el procesamiento en la computadora slo son cdigos binarios que se transforman segn las leyes de transformacin definidas en el programa que est ejecutando. Tampoco la computadora analiza semnticamente los datos. En el caso de los correctores gramaticales de los procesadores de textos, el usuario puede encontrar frases identificadas por el programa que contienen variaciones semnticas en su redaccin, pero el programa slo responde en funcin de las reglas gramaticales y ortogrficas preestablecidas en su lgica. El anlisis es sintctico. El software comprende a los programas y los datos, por lo cual el esquema anterior es desagregable de la siguiente forma: Co#putadora *antiene una estructura de jerar7uas ) dependencias entre el +ardJare ) el so%tJare &atos So%tJare $rogra#a 4*(7uina Lgica5 /ardJare 4*(7uina 6sica5 Ejecuta el progra#a ) procesa los datos Especializa el +ardJare para 7ue procese con una deter#inada lgica Especializa al progra#a para 7ue procese su lgica con deter#inados datos 6igura > Muchas son las preguntas que pueden surgir de este esquema, por ejemplo: Qu es un programa? Qu son las instrucciones o tareas de un programa? Qu forma tiene un programa? Qu significa codificar las instrucciones del programa en algn sistema de codificacin comprensible al hardware de la computadora? Por cules componentes del hardware debe ser comprensible? Cmo se lo construye? Qu sistema de codificacin de las instrucciones se emplean? Cmo se hace para que el programa sea ejecutado por el hardware? De qu manera el hardware almacena y ejecuta el programa? Qu se automatiza en la ejecucin de un programa? Qu son los datos? Cmo distingue el hardware lo que son datos de lo que es el programa si todo est almacenado en la RAM y, adems todo tiene una codificacin digital-binaria? _________________________________________________________________________ Silvina Caraballo Susana Muraro 30 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Para responder estos y muchos otros interrogantes en imprescindible decidir sobre el nivel de desagregacin con que se abordan los conceptos involucrados en sus respuestas. No solamente es la estructura del hardware abordable desde diferentes niveles de desagregacin, sino que tambin la estructura del software es abordable desde diferentes niveles de desagregacin o agregacin. Cada tipo de abordaje compromete diferentes niveles de conocimientos tecnolgicos, y permite producir en funcin de esos niveles de conocimiento. Toda la organizacin del software es altamente sistmica y jerrquica, tanto por la estructura de los programas como por la estructura de los datos. Esta organizacin jerrquica domina a toda la relacin entre el hardware y el software. Los grficos de la figura 1 y 2 intentan describir la estructura jerrquica de la computadora mediante la metfora de la cebolla% Cada capa de la cebolla se asienta en la capa anterior y sirve de sostn a la capa posterior, pero una capa no constituye en s misma una cebolla. As como slo la relacin entre las sucesivas capas de la cebolla otorga identidad a la cebolla, de la misma forma las sucesivas capas, que van desde la ms profunda (capa fsica) hasta la ms externa (los datos), son las que otorgan identidad a la computadora constituyndola en un dispositivo en el que interactan sus componentes fsicas al procesar una determinada lgica con determinados datos. Fue expuesto que esto lo realiza a travs de una delegacin de mandos que generan e#entos entre las diferentes capas lgicas. Apropiarse de la organizacin jerrquica que mantiene la computadora a travs de su relacin simbitica entre el hardware y el software, otorga sentido a nuestras acciones sobre un sistema de componentes interactuantes en pos de un objetivo definido en el software. EL PROGRAMA, SOLUCN DE UN PROBLEMA EXPRESADO EN LENGUAJE DE PROGRAMACN Un programa o mquina lgica es la solucin procesable en la computadora de un determinado problema que tiene tratamiento informtico. Est constituido por un conjunto de reglas de transformacin codificadas en algn sistema de codificacin comprensible a la estructura del hardware. Estos sistemas de codificacin son suministrados por los lenguajes de programacin los cuales proveen las instrucciones elementales empleables para elaborar los programas. En la computadora, mquina determinista y algortmica, su procesador ejecuta paso a paso las sentencias de un programa, que responde a un algoritmo previamente elaborado. La explicacin anterior, traslada el concepto de programa al concepto de algoritmo y de lenguaje de programacin. Pero tambin traslada al concepto de problema con tratamiento informtico. Sintticamente se puede simbolizar los elementos involucrados en el concepto de programa mediante el esquema de la figura 3 que representa las relaciones entre algoritmo-lenguaje de programacin- problemas _________________________________________________________________________ Silvina Caraballo Susana Muraro 31 $ro"le#a con trata#iento in%or#(tico Pro)ra#a Algorit#o Lenguajes de progra#acin 6igura K UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ con tratamiento informtico 29 . Todo algoritmo est constituido por una secuencia ordenada de tareas o acciones que expresan exactamente y sin ambigedad qu debe hacerse para lograr el objetivo de resolver un determinado problema. Si se aborda el concepto de algoritmo desde una definicin macro es suficiente la descripcin expuesta en el prrafo anterior. Sin embargo, esta definicin otorga pocos elementos a su comprensin y muchos menos a su elaboracin. Un abordaje informtico ms profundo de este concepto se lo debemos a Donald Knuth, quien lo define de la siguiente manera: El significado moderno de algoritmo es del todo similar al de receta, proceso, m#todo, t#cnica, procedimiento, rutina, salvo que la palabra algoritmo connota precisamente algo un poco distinto. :dem)s de ser meramente un conjunto de reglas que dan una secuencia de operaciones para resolver un tipo especfico de problema, un algoritmo cumple con cinco importantes condiciones" <7 Finitud. =n algoritmo tiene que acabar siempre tras un n0mero finito de pasos. 27 Definibilidad. ,ada paso de un algoritmo debe definirse de modo preciso. '7 Entrada. =n algoritmo tiene cero o m)s entradas$ es decir, cantidades dadas inicialmente antes de empezar el algoritmo. 47 Salida. =n algoritmo tiene una o m)s salidas, es decir, cantidades que tienen una relacin especfica con las entradas. >7 Efectividad. (or lo general se pretende que un algoritmo sea efectivo. Esto significa que todas las operaciones deben ser lo bastante b)sicas para poder, en principio, ser efectuadas de modo e3acto y en un lapso de tiempo finito por un !ombre mediante papel y l)piz. '? A travs de un proceso de abstraccin mental se modelizan las soluciones de una variedad de problemas. La estructura de algunos de estos modelos cumple con las condiciones expuestas en la definicin de algoritmos. LOS LEN+UAJES DE PRO+RAMACIN Los lenguajes de programacin son lenguajes formales que tienen por funcin expresar las modelizaciones de los problemas a travs de cdigos entendibles y ejecutables en la computadora. Para comprender esta aparente circularidad de conceptos que encierra la idea de que los lenguajes de programacin son programas que permiten programar, es necesario recordar que todo lo que se almacena en una unidad de almacenamiento masivo con un nombre determinado son archivos, que pueden ser de dos tipos: los archivos de datos y los archivos de programas. Los archivos de programas constituyen mquinas lgicas que #irtualizan a la computadora transformndola en un determinado y especfico dispositivo que cumple el propsito exclusivo de la lgica con que ha sido elaborado y ofrecen elementos para producir capas lgicas de orden superior. De esta forma, los lenguajes de programacin son programas de un nivel lgico inferior o igual al programa que se elabora con l. La idea de nivel lgico inferior o igual es una metfora que se asienta en la dependencia jerrquica que se establece '9 :a" li)itacione" <ue tienen deter)inado" 9roble)a" 9ara "er tratado" infor)Htica)ente "e eI9onen en el 9unto :o" 9roble)a" y "u" )odelizacione"$! (inttica)ente corre"9onden aQ finitud de tarea" y finitud en el tie)9o de 9roce"a)iento! *7 Rnut%, >onald! (19DO) %l )rte de rogramar *rdenadores$! 8ditorial @e?ert! &arcelona! _________________________________________________________________________ Silvina Caraballo Susana Muraro 32 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ entre el lenguaje de programacin y el producto que se elabora, es decir a qu capa de cebolla de la computadora pertenece. Desagregando el esquema que muestra la relacin entre el hardware y el software se tiene: Co#putadora *antiene una estructura de jerar7uas ) dependencias entre el +ardJare ) el so%tJare &atos So%tJare $rogra#a 4*(7uina Lgica5 Lenguaje de progra#acin 4*(7uina Lgica5 /ardJare 4*(7uina 6sica5 Ejecuta el progra#a ) procesa los datos prove)endo las co#ponentes %sicas necesarias Especializa el +ardJare para 7ue procese seg.n la lgica del lenguaje de progra#acin Especializa al +ardJare para 7ue la co#putadora se co#porte co#o la #(7uina lgica 7ue provee el #odelo de solucin descripto a trav3s del lenguaje de progra#acin Especializa al progra#a para 7ue procese el #odelo con deter#inados datos Salvo la ms interna de todas las capas (hardware), cada una de ellas constituye una mquina virtual, entonces qu diferencias de estructura presentan los lenguajes de programacin con respecto a otros software? En general presentan diferencias respecto de las palabras reser#adas que los constituyen, los tipos y estructuras de datos que almacenan y operan, las estructuras de control que ofrecen y los mecanismos de composicin y descomposicin empleables para elaborar programas. En sntesis, el elemento primordial que los diferencia es el ambiente de trabajo y su incidencia en los modos en que se abordan los problemas. Permiten elaborar diferentes tipos de modelizaciones. El ambiente de trabajo provee: Un conjunto de palabras reser#adas 31 o palabras cla#es que necesariamente se deben emplear para expresar los modelos de solucin (por ejemplo, las operaciones bsicas con que elaboramos un algoritmo). Un editor de programas mediante el cual se elabora el archivo de programa que contiene la secuencia de tareas o reglas que define su lgica. Un traductor de las palabras reservadas para que sean ejecutables por el hardware. Una interfaz de comunicacin entre el lenguaje y los programadores. Las palabras reser#adas o palabras cla#es constituyen el lxico del lenguaje. Cada una tiene una sintaxis y una semntica especfica. La sintaxis brinda las reglas con las cuales el programador expresa las sentencias de un programa; comprende el cdigo que tiene asociado y la estructura 32 con que se construyen las sentencias, de la misma forma que en nuestro lenguaje natural disponemos de un sistema de cdigos lingsticos asociados a sonido o a *1 (e deno)inan 9alabra" re"er?ada"$ 9or<ue no 9ueden "er e)9leada" en un 9rora)a con un u"o diferente al definido en la e"tructura del lenua;e! *' >e la )i")a )anera <ue al e"cribir I S '$ "e entiende )ate)Htica)ente <ue a la ?ariable I$ "e le "u)a el nM)ero '$! _________________________________________________________________________ Silvina Caraballo Susana Muraro 33 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ conos grficos para representar palabras, y reglas ortogrficas y gramaticales de composicin. Cada una de las acciones o tareas que conforman el programa, codificadas segn el sistema de codificacin que otorga el lenguaje empleado, constituye una sentencia del programa. La semntica de las palabras reservadas comprende la interpretacin o significado de las acciones que ejecuta, no son intercambiables ni poseen sinnimos, aunque un determinado procedimiento pueda ser elaborado empleando diferentes palabras claves. El conocimiento de la sintaxis y la semntica son condiciones necesarias, pero no suficientes para producir soluciones automatizables; la otra cara de este proceso es la metodologa de resolucin informtica de problemas y el proceso heurstico que lleva a construir la solucin. En los lenguajes naturales las palabras tienen una funcin denotativa y una funcin connotativa, permiten emplear sinnimos, producir discursos cuyos significados dependen no slo del autor sino del lector que lo interpreta, producir textos ambiguos que lleven al lector a diferentes interpretaciones, producir discursos en los cuales el contexto en que se desarrolla es fundamental para su comprensin; se hacen uso de diferentes estilos poticos y narrativos. A diferencia de los lenguajes naturales, en los lenguajes de programacin las palabras claves tienen una sola grafa y una sola interpretacin, es decir tiene una sintaxis y una semntica nica, precisa, sin ambigedades, propio de los lenguajes formales. La computadora no realiza anlisis semnticos, solamente el lenguaje de programacin realiza anlisis sintcticos, rechazando los errores de edicin debido a una sintaxis inadecuada. Adems de las palabras claves, el lenguaje de programacin provee una gramtica que permite construir sentencias bien formadas (as como los lenguajes naturales permiten construir frases bien formadas y descartar aquellas mal formadas). Cualquier conjunto de palabras no constituye una oracin bien formada, de la misma manera, cualquier conjunto de palabras claves no constituye una sentencia, si el lenguaje no la reconoce y la determina como invlida. Las gramticas de los lenguajes de programacin otorgan los elementos bsicos y necesarios para construir programas interpretables y ejecutables por el hardware; sin embargo su interpretacin no significa la validez del procedimiento como solucin del problema. Que el programa cumpla con el objetivo de procesar la solucin de un determinado problema depende de la lgica con que ha sido modelizado. En sntesis, con el lenguaje natural se producen discursos (orales o escritos) empleando conjuntos de palabras organizadas gramaticalmente, que tienen sus significados pudiendo ser re-significadas por el emisor o el receptor. Con los lenguajes de programacin se producen "discurso informticos (programas), que son interpretados por el hardware pero no pueden ser re-significado por este dispositivo. He aqu un motivo importante por el cual se los denominan "lenguajes de programacin. Constituyen herramientas informticas, algunas de ellas ms cercanas a un producto final que diluye la idea de programa y en otras ms pegadas al sentido de herramientas productoras de capas lgicas. A su vez, son herramientas informticas que permiten comunicar al hardware la solucin informtica de determinados problemas, o un determinado producto. _________________________________________________________________________ Silvina Caraballo Susana Muraro 34 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ El editor de programas es un procesador de textos especfico del ambiente de trabajo, ofrece: a) ngresar cada una de las sentencias que conforman el programa en elaboracin para grabarlo en alguna memoria de almacenamiento en forma de archivo de texto. b) Entregar la versin elaborada del programa para ser ejecutada en la computadora segn la lgica del lenguaje de programacin empleado. El traductor de sentencia tiene por funcin expresar cada sentencia de un programa en cdigo del lenguaje de mquina, pues el hardware de la computadora slo ejecuta instrucciones que estn expresadas en trminos de acciones elementales de la mquina fsica. En nformtica traducir las sentencias significa que el procesador de la Unidad Central de Proceso identifica la instruccin a ejecutar y le hace corresponder acciones precisas del hardware. Al conjunto de instrucciones que viene pre-determinado en el hardware se lo denomina lenguaje de m"uina o lenguaje absoluto. Su denominacin metafrica de lenguaje de bajo ni#el, alude a la estrecha relacin del lenguaje con la estructura interna del hardware, estando sus palabras clave almacenadas a nivel de los circuitos. El nico sistema de codificacin que el hardware admite es el digital-binario, por lo cual un programa elaborado empleando un lenguaje de mquina constituye un conjunto de sentencias expresadas en este tipo de codificacin. El hardware slo ejecuta los programas cuyas sentencias estn codificadas en la lgica propia de sus circuitos. A estos programas se los denominan programas ejecutables. No necesitan de intermediarios 33 que los traduzcan para ser ejecutados, siendo la Unidad Central de Proceso la componente del hardware que se encarga de ejecutar una a una las instrucciones que lo componen. La potencialidad de la computadora como dispositivo de propsito general radica en que es el lenguaje de bajo nivel o absoluto el que posibilita resolver cualquier problema cuya solucin es automatizable (tiene tratamiento informtico), pero a costa de construir algoritmos que empleen como tareas o instrucciones la lgica operatoria del hardware, la cual se distancia de la lgica que emplea el ser humano. Fue la propia nformtica, con su capacidad de automatizar procesos, la que resolvi el problema de tener que construir programas empleando la lgica operatoria del hardware. La solucin informtica fue crear una variedad de lenguajes de programacin cuyas estructuras sintcticas y semnticas sean cercanas a la estructura lgica que los seres humanos despliegan al resolver problemas. De esta forma, se dispone de un repertorio de lenguajes de programacin ms cercanos a las lgicas de los problemas a resolver, no necesitndose plantear las soluciones en trminos de la estructura fsica del hardware. Empleando la metfora informtica que describe, por un lado la distancia entre las operaciones mentales del ser humano y las operaciones fsicas de la computadora y por otro lado la relacin con la cantidad de capas lgicas que se albergan en ella, a estos lenguajes se los denominaron lenguajes de alto ni#el. Los lenguajes de alto nivel necesitan de un traductor de sus palabras reservadas a las palabras ** Al abordar el te)a de (i"te)a" C9erati?o" "e ?erH <ue decir no nece"itan de inter)ediario"$ e" un abu"o de lenua;e! _________________________________________________________________________ Silvina Caraballo Susana Muraro 35 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ reservadas del lenguaje de bajo nivel. Aqu nos encontramos con dos problemas cuyas soluciones abren caminos diferentes: a) qu tipo de traduccin realizan, b) qu tipo de producto devuelven las traducciones. Respecto del tipo de traduccin que realizan, existen dos posibilidades. Como una aproximacin para describirlas se puede emplear la analoga con los tipos humanos de traduccin entre idiomas: traducciones simultneas y traducciones diferidas. En las traducciones simultneas el traductor toma frase por frase y la reproduce en otro idioma, para ser escuchada por la audiencia. Si una oracin se reiterara, el traductor debe traducirla otra vez, dado que la traduccin anterior desaparece para quien escucha. De la misma forma hay lenguajes de programacin que traducen las sentencias de un programa, las toman una a una, las traducen al lenguaje de mquina para ser ejecutada, no quedando almacenadas o disponibles en la RAM para otro momento. Si es necesario procesar otra vez el mismo programa, o el programa reitera la ejecucin de sentencias que anteriormente haban sido traducidas, ellas deben ser traducidas pues no quedan almacenadas. En cambio, en la traduccin diferida el texto A redactado en un determinado idioma es entregado al traductor y ste devuelve tiempo despus un texto "B en otro idioma, que contiene la traduccin de A pero no es A. En caso de necesitar acceder otra vez al texto traducido slo es necesario acceder a la versin B. De la misma forma, un lenguaje de programacin que traduce en forma diferida primeramente crea un nuevo archivo que contiene la nueva versin del programa totalmente reescrito en lenguaje de mquina. Cada vez que se requiere hacer uso de l bastar hacer uso del programa ejecutable. Los lenguajes de programacin que traducen las sentencias de un programa en forma simultnea a su ejecucin se denominan lenguajes intrpretes, mientras que los que traducen en forma diferida se denominan lenguajes compiladores. El lenguaje de programacin compilador devuelve como producto un programa ejecutable ,- dado que su traduccin est expresada en lenguaje de mquina; para su ejecucin no es necesario disponer en la memoria de la computadora del lenguaje de programacin con el cual se elabor. Si el lenguaje de programacin es intrprete, ste debe quedar residente en memoria cuando se procesa cualquier programa elaborado con l dado que contiene las reglas de interpretacin. Otra cuestin que diferencia a los lenguajes intrpretes de los compilados en el modo de reformular programas ya elaborados. En el caso de los lenguajes intrpretes al requerir la capa lgica del lenguaje como condicin necesaria para la ejecucin del programa, cualquier alteracin al mismo se hace abriendo el archivo de programa a travs del editor y modificndolo desde all. En cambio, para realizar cualquier modificacin a un programa compilado es imprescindible acceder al programa original denominado "programa fuente y al lenguaje de programacin que se emple, corregirlo y volver a compilarlo. Un lenguaje de programacin es en s mismo un programa compilado, que, segn sea su *5 1ara <ue el 9rora)a "ea e;ecutable, ade)H" de "er traducido debe di"9oner del con;unto de rutina" <ue auto)atizan "u 9roce"a)iento en la co)9utadora! _________________________________________________________________________ Silvina Caraballo Susana Muraro 36 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ estructura, ofrece al programador un ambiente de trabajo de un lenguaje intrprete o de un lenguaje compilador. La comprensin de las estructuras de los variados lenguajes de programacin permiten vivenciar los niveles jerrquicos que interactan en la computadora, los niveles de desagregacin con que se los abordan, y en especial, comprender los motivos tecnolgicos que inciden en nuestras formas de trabajo al tener que modificar programas, adaptarlos a nuevas necesidades, o simplemente realizar un producto. Anteriormente se seal que todos los lenguajes de programacin constituyen herramientas informticas destinadas al diseo y produccin de nuevas capas lgicas (programas), pero dependiendo de si el lenguaje es intrprete o compilador son diferentes las capas lgicas que se requieren en la computadora al ejecutarse. El esquema de la Figura 2 representa las capas lgicas de la computadora necesarias para ejecutar un programa compilado, mientras que la Figura 4 corresponde a un programa interpretable. Como fue expuesto, las palabras reservadas se traducen en las palabras reservadas del lenguaje de mquina, el modo en que lo hacen depende del tipo de lenguaje. En los lenguajes de alto nivel, sus palabras reservadas representan tareas u operaciones cercanas a la lgica de los seres humanos, las cuales no corresponden directamente con las tareas u operaciones del hardware. Cada palabra reservada de un lenguaje de alto nivel se traduce en una rutina constituida por un conjunto de palabras reservadas en lenguaje de mquina, por lo cual se dice que este tipo de traducciones es "uno-a-varias. Esquemticamente se tiene: Sentencias en Lenguaje de Alto Nivel 4LAN5 Sentencias en Lenguaje de *(7uina 4L*5 Sentencia A de LAN Sentencia : de L* Constitu)e la rutina en lenguaje a"soluto #ediante la cual se ejecuta la sentencia A de LAN Sentencia > de L* LLLLLLL Sentencia n de L* Sentencia 2 de LAN Sentencia : de L* Constitu)e la rutina en lenguaje a"soluto #ediante la cual se ejecuta la sentencia 2 de LAN Sentencia > de L* LLLLLLL LLLLLLL Sentencia # de L* LLLLLLL LLLLLLLLL LLLLLLLLLLL.. Cabe preguntarse qu se gana y qu se pierde al programar en lenguaje de alto nivel: a) Se gana posibilidad de resolver con ms eficiencia variados problemas dado que las palabras reservadas o claves que ofrecen los lenguajes de alto nivel se adecuan a la lgica del ser humano y del problema a resolver. La seleccin del lenguaje de alto nivel adecuado al tipo de problema es una tarea imprescindible para la elaboracin de software. b) La independencia de la mquina fsica facilita los procesos de abstraccin y el uso de _________________________________________________________________________ Silvina Caraballo Susana Muraro 37 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ variables, funciones y otras entidades lgico-matemticas que para el hardware constituyen macros tareas. Las estructuras de los programas son ms sintticas, siendo ms cortos en extensin (cantidad de sentencias); por lo tanto menos afecta a generar errores sintcticos y lgicos en su construccin. Se hace invisible la estructura del hardware al programador, posibilita trabajar en el nivel de abstraccin que demanda el problema y la modelizacin propuesta como solucin. c) Se pierde la capacidad de usar un lenguaje universal empleable para resolver cualquier problema. El nico lenguaje de programacin universal 35 es el lenguaje de mquina (y los lenguajes assembler por su relacin directa con el lenguaje absoluto). Qu se gana y qu se pierde empleado lenguajes intrpretes o compiladores? Se gana que muchos de los lenguajes intrpretes permiten: a) La interaccin del programador con el programa en el momento de su elaboracin, componindolo y ejecutndolo por tramos para observar sus efectos y/o errores. Si se hace uso de una sentencia mal formada, ya sea por mala sintaxis o errores gramaticales, el intrprete seala su error. b) La interaccin constante entre la elaboracin del programa y su ejecucin permite realizar controles parciales sobre la adecuacin lgica entre el problema y su solucin informtica. Se pierde: a) Velocidad de procesamiento dado que cada instruccin debe ser primeramente traducida para ser ejecutada, interviene un paso intermedio. b) Disponibilidad de memoria RAM, pues adems de otros programas, debe estar residente el lenguaje intrprete, el programa elaborado con l y los espacios de memoria que demanden las traducciones. c) La visin global del problema dado que un uso abusivo de la programacin por ensayo y error puede atentar contra la comprensin total del modelo. Al emplear un lenguaje compilador para elaborar un programa, su propio proceso de traduccin nos asegura que toda su estructura no tiene errores de sintaxis ni gramaticales, ya que estos errores son rechazados en el proceso de compilacin. Mientras que con el empleo de un lenguaje intrprete no podemos asegurar que no hayamos generado errores de sintaxis y/o gramaticales, pues puede suceder que en las sucesivas corridas 36 del programa, los datos ofrecidos obliguen a ejecutar determinadas ramas del mismo, mientras que otras ramas no sea interpretadas por lo cual nunca traducidas. *- 1or uni?er"alidad$ "e refiere a la 9o"ibilidad de )odelizar con un deter)inado lenua;e ab"oluto cual<uier ti9o de 9roble)a co)9utable! (u e"tructura de9ende del ti9o de 9roce"ador <ue tiene la co)9utadora! >iferente" co)9utadora" con diferente" 9roce"adore" no "on co)9atible" entre " dado <ue "u lenua;e de )H<uina re"9onde a la e"tructura de "u %ardGare! *O 8n infor)Htica "e deno)ina corrida$ a la accin de la co)9utadora de e;ecutar un 9rora)a! _________________________________________________________________________ Silvina Caraballo Susana Muraro 38 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Las interfaces de comunicacin abarcan las diferentes formas de representacin del ambiente de trabajo de los lenguajes de programacin. Constituyen las caras visibles de estos software y ofrecen formas variadas de acceso a sus gramticas, al editor, exponen de diferentes maneras los errores de sintaxis generados durante la programacin. A modo de ejemplo se muestran dos ambientes de trabajos diferentes, por un lado la interfaz del lenguaje Alice y su traduccin en espaol denominada "Rebeca, y por otro lado, del lenguaje Scratch 37 . Poseen una zona destinada a mostrar la ejecucin del programa y una zona de edicin de los programas. Ofrecen una zona de la pantalla donde exponen el listado de palabras reservadas, en el caso de Alice-Rebeca clasificadas segn que sean destinadas a programar las propiedades, mtodos o funciones de los objetos. En el Scratch sus primitivas estn clasificadas segn un criterio macro en funcin del tipo de accin (movimientos, estados de la pluma, control, apariencias de los objetos, operadores matemticos) y de un cdigo grfico a la manera de bloques que se encajan. Tambin hace uso de un sistema clasificatorio del tipo de primitiva empleando diferentes colores, que a su vez tienen incorporados cdigo textual para indicar la accin a ejecutar. Tanto Alice-Rebeca como Scratch son lenguajes educativos orientados a objetos y eventos, por lo cual su ambiente de trabajo otorga espacios propios para el desarrollo de este tipo programacin. A continuacin se presenta el ambiente de trabajo de ambos lenguajes. a) nterfaz del ambiente de trabajo del lenguaje Scratch: Srea "arra de +erra#ientas- ad#inistracin de arc+ivos Srea de seleccin de pri#itivas seg.n su"grupos a los cuales pertenecen. 2otn detencin ejecucin del procedi#iento. 2otn de ejecucin de procedi#ientos. Srea ejecucin de los procedi#ientos. Srea de listado de las pala"ras claves de cada su"grupo Srea de identi%icacin de los o"jetos del pro)ecto 4escenarios- o"jetos ) personajes5. Srea de edicin de los procedi#ientos. *7 (elecciona)o" lo" lenua;e" Alice.@ebeca y (cratc% "on di"e#ado" e"9ecfico" 9ara la en"e#anza de la 0nfor)Htica, no con"tituyen lenua;e" de"tinado" a la for)acin 9rofe"ional! _________________________________________________________________________ Silvina Caraballo Susana Muraro 39 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ b) nterfaz del ambiente de trabajo del lenguaje Alice-Rebeca En Alice-Rebeca, para emplear las sentencias correspondientes a las estructuras de control (Hacer en orden, Hacer a la vez, SiSino, etc.) stas deben ser arrastradas a la zona de edicin. La interfaz misma evita de este modo errores de sintaxis en el momento de su utilizacin. Respecto al control de la validez sintctica de sentencias, en Scratch el diseo grfico de los bloques indica cundo es posible "enganchar las primitivas entre s. Se encajan siempre y cuando su construccin sea adecuada a la gramtica del lenguaje; esto no asegura la adecuacin de la sentencia a la modelizacin que se propone para resolver el problema. Si la construccin de la sentencia no est bien formada, los bloques no se encajan (se repelen). _________________________________________________________________________ Silvina Caraballo Susana Muraro 40 Sentencias de control Contiene propiedades- #3todos ) %unciones de un o"jeto seleccionado. Srea para edicin de #3todos con 7ue se progra#a las acciones 7ue desarrollan los o"jetos. Srea para edicin de eventos 7ue deter#inan la ejecucin de #3todos por parte de los o"jetos Srea donde consta el (r"ol de ele#entos- o"jetos 7ue co#ponen el #undo Srea 7ue #uestra una vista del #undo con todos los ele#entos 7ue lo co#ponen 2arra +erra#ienta UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ En Alice-Rebeca la propia de interfaz grfica, haciendo uso del color verde, proporciona informacin sobre la validez sintctica de las secuencia en edicin. A diferencia, el color rojo indica error. Las interfaces descriptas muestran al ambiente de trabajo, a su vez emplean diferentes interfaces comunicativas para indicar las acciones que son posibles de desplegar dentro de cada tipo de ambiente. A las formas de comunicacin que ofrecen los diferentes software, se analizan en el punto "Las interfaces de comunicacin. DVERSDAD DE LOS LENGUAJES DE PROGRAMACN A pesar de que actualmente los lenguajes de programacin ms empleados constituyen un subconjunto de todos los lenguajes desarrollados, se puede afirmar que se cuentan por cientos considerando sus dialectos y versiones. Aun ms, existen lenguajes muertos o que prcticamente dejaron de usarse. Qu motiv un desarrollo tan prolfico de lenguajes de programacin? Por qu hay lenguajes que desaparecieron? Para analizar este tema, que involucra no slo abordar la cantidad de lenguajes de programacin sino tambin los motivos tericos-tecnolgicos que generaron esta variedad, es necesario transitar por dos vas diferentes pero altamente integradas: la concepcin de generacin a la que pertenece un lenguaje. la concepcin de paradigma en la que se enmarca un lenguaje. Los avances cientfico-tecnolgicos que se sucedieron en nformtica generaron saltos cuantitativos y cualitativos en la produccin de lenguajes de programacin, que incidieron en la produccin de software (tanto en la programacin como en la organizacin y tratamiento de los datos). Como fue expuesto en la presentacin del tema sobre lenguajes de programacin, el nico _________________________________________________________________________ Silvina Caraballo Susana Muraro 41 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ lenguaje universal que permite atender informticamente cualquier problema computable es el lenguaje de mquina, contenido en los circuitos del procesador de cada computadora y al cual responde la mquina fsica. Este lenguaje posee dos caractersticas fundamentales: que su sintaxis es expresada en trminos de cdigos digitales-binarios, y que al ser sus palabras claves y su gramtica especfica de un tipo de procesador, los programas slo pueden ser ejecutados en aquellas computadoras que poseen anloga arquitectura. Los lenguajes de mquina ubican al programador en la tediosa situacin de pensar la lgica del programa en trmino de las operaciones del procesador, las cuales constituyen micro acciones para la lgica del ser humano. Adems, presenta el conflicto de que es fcil confundir la expresin sintctica de las instrucciones de un programa pues los cdigos de las instrucciones as como la identificacin de los lugares de memoria sobre los cuales el programa va a operar estn expresados en trmino de conjuntos cdigos binarios, o en una representacin hexadecimal 38 . Como forma de facilitar la programacin, el prximo paso en el desarrollo de los lenguajes de programacin fue el de representar las instrucciones del procesador a travs de un cdigo mnemnico que exprese cada tipo de operacin que realiza a travs de una expresin verbal, y emplear nombres que identifiquen las celdas de memoria. Esto posibilita trabajar con un lenguaje de programacin que hace, a los fines de esta explicacin, exactamente lo mismo que el lenguaje de mquina pero empleando como nombres de las palabras claves expresiones lingsticas que describen las acciones que realiza el procesador. Este programa, mediador de las instrucciones del hardware, debe proveer un traductor de sus sentencias a las sentencias del lenguaje de mquina, el procesador slo ejecuta instrucciones expresadas en lenguaje absoluto. A estos programas traductores, cuya funcin es la de traducir uno-a-uno las instrucciones al lenguaje de mquina se los denomin ensambladores, de all que estos lenguajes recibieron el nombre de +enguajes ,nsambladores ,. # De esta forma, se cuenta con dos tipos de lenguajes, el lenguaje de mquina o lenguaje absoluto referido directamente a los circuitos fsicos, y el lenguaje assembler (ensamblador) para el cual sus palabras reservadas mantienen la lgica de la estructura fsica de la computadora pero con una sintaxis lingstica y no directamente representada en cdigo binario. Estas diferencias de lenguajes llevaron a denominar a los lenguajes de mquina como lenguajes de primera generacin y a los lenguajes ensambladores lenguajes de segunda generacin. El segundo salto conceptual en torno a los lenguajes de programacin fue el planteo que llev a la produccin de lenguajes de tercera generacin$ denominados lenguajes de alto ni#el% Dos objetivos fundamentales promovieron el desarrollo de los lenguajes de alto nivel: Lograr la independencia del programa respecto del tipo procesador de la computadora y el sistema operativo con que opera. *D :a re9re"entacin %eIadeci)al e)9lea lo" "iuiente" 1O e"tado" diferente" inde9endiente" entre " 9ara re9re"entar lo" nM)ero"Q 7, 1, ', *, 5, -, O, 7, D, 9, A, &, C, >, 8! 8"te ti9o de re9re"entacin 9er)ite acortar la eI9re"in binaria de lo <ue "e al)acena en la co)9utadora 9ue" cada ru9o de 5 dito" binario" con"ecuti?o" 9ueden "er ree)9lazado" un el dito %eIadeci)al <ue lo re9re"enta! 8"te te)a "e aborda conce9tual)ente )H" adelante! *9 1or analoa con el 9rocedi)iento de 9roducir un en"a)bla;e 9ieza a 9ieza! _________________________________________________________________________ Silvina Caraballo Susana Muraro 42 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Lograr que los conjuntos de palabras claves que los constituyen sean semnticamente ms cercanos a la lgica operatoria del ser humano. El primer objetivo consiste en posibilitar la ejecucin de un programa sin que est sujeto a las caractersticas del procesador y a otras componentes del hardware (tarjetas grficas, de sonido y video) y al sistema operativo. Estas caractersticas de ejecucin, se denomina portabilidad del soft&are. La portabilidad es un tema complejo de resolver, implica que la compilacin o interpretacin de cualquier programa sea adecuada a diferentes procesadores y sistemas operativos. Su logro involucra problemas tericos sobre diseo y desarrollo de compiladores, tema en constante desarrollo motivado por la necesidad de elaborar aplicaciones para la Web a las cuales se acceden desde una variedad de computadoras diferentes. En general, los programas estn sujetos a los lmites tecnolgicos que marcan las diferentes arquitecturas de las computadoras y sus procesadores. Quin de nosotros no disponemos de programas que no son ejecutables en nuestras computadoras, pero s lo eran sobre una de tecnologa anterior! El segundo objetivo se logr a costa de reducir la universalidad del lenguaje delimitando sus lxicos a conjuntos de palabras claves especficas y dirigidas a programar soluciones de problemas que comparten determinadas caractersticas generales. En el momento en que se inici el desarrollo de los lenguajes de tercera generacin, la lgica informtica que se pona en juego en la modelizacin de problemas estaba centraba en la algortmica, por lo cual estaban pensados en trminos de acciones que deban ejecutarse para dar respuesta a diferentes tipos de algoritmos. Los lenguajes de programacin de tercera generacin constituyen lenguajes imperati#os, cuyas estructuras sintcticas estn constituidas por palabras claves (reservadas o simplemente primitivas) que indican acciones y por objetos sobre los cuales se ejecutan las acciones asociadas a ellos (variables y constantes). Las acciones son expresadas formalmente por verbos generalmente tomados de algn lenguaje natural. A partir de los cambios tericos respecto de la concepcin de los lenguajes de programacin, de las necesidades de abordar problemas tpicos de la inteligencia artificial y, en especial, de las nuevas concepciones en torno al tratamiento informtico de problemas, se fueron construyendo lenguajes de alto nivel con nuevas y diversas estructuras de, que segn algunos autores se denominaron de "cuarta y de quinta generacin. El desarrollo de los nuevos lenguajes no posee un correlato cronolgico tal que permita clasificarlos taxativamente por generacin, por lo cual se apel al concepto de paradigmas de lenguajes como una forma de construir una clasificacin que d cuenta de sus diferencias esenciales. La idea central del concepto de paradigmas de lenguajes consiste en agruparlos en clases de lenguajes segn macro caractersticas, que van ms all de la semntica y sintaxis que posee cada uno de ellos. El eje principal que los delimita y agrupa es el tipo de problema posible de modelizar, las estrategias y metodologas que se emplean y el tratamiento que se hace de los datos, es decir el enfoque con que se aborda el proceso de programar. _________________________________________________________________________ Silvina Caraballo Susana Muraro 43 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ En la actualidad, conviven lenguajes caracterizados en los paradigmas: imperativos, funcionales, descriptivos o lgicos, orientados a objetos y lenguajes orientados a eventos. Como fue expuesto anteriormente, el paradigma imperati#o responde a la resolucin algortmica de problemas, otorga los elementos necesarios para representar las tareas, acciones o instrucciones que comprende la lgica de los diferentes tipos de soluciones "paso a paso. El empleo del lenguaje es posterior a la construccin del algoritmo, por lo tanto a la resolucin del problema. Primeramente se resuelve el problema y con el lenguaje se formaliza una solucin ejecutable en una computadora que constituye un programa ejecutable o interpretable. El algoritmo depende de la organizacin previa de los datos, las tareas que lo conforman deben contemplar las rutinas necesarias para operarlos y transformarlos. Claro est que al disear un algoritmo que resuelve un problema es conveniente no perder de vista el lenguaje con el cual ser codificado porque de ello dependen algunas caractersticas o decisiones de diseo del algoritmo. Las sentencias estn constituidas por palabras claves o primitivas que describen los lugares de la memoria RAM en que se almacenan los datos y los clculos involucrados en el procedimiento. Tambin comprenden las acciones delegadas a otras componentes del hardware como el acceso al disco rgido, a las unidades de entrada y salida. Ms all de cmo son sus sintaxis y semnticas y las diferentes limitaciones y posibilidades que ofrecen, sus palabras claves son de los siguientes tipos: Sentencias que definen los tipos y estructuras de datos que procesa. Sentencias que definen variables que representan celdas de la memoria RAM. Operaciones aritmticas, con sus precedencias jerrquicas de ejecucin. Operaciones lgicas de comparaciones, operaciones entre proposiciones lgicas y sus precedencias jerrquicas de ejecucin. Sentencias de control de la secuencia de ejecucin de las instrucciones, incluidas las que permiten generar procedimientos ramificados y ciclos. Sentencias de asignacin internas y externas al programa de datos a la memoria de la computadora. Sentencias de entrada y salida de datos y resultados. Sentencias que permiten el acceso y almacenamiento en las unidades de almacenamiento masivo. Biblioteca de funciones de uso habitual (matemticas, lgicas, contables, estadsticas segn el tipo de lenguaje). _________________________________________________________________________ Silvina Caraballo Susana Muraro 44 T:a ran di?er"idad de lenua;e" de 9rora)acin %ace i)9o"ible alinearlo" de acuerdo con una e"cala Mnica de )edida! Ao eIi"te el )e;or lenua;e de 9rora)acin, co)o ta)9oco el )e;or lenua;e natural! TFo %ablo en e"9a#ol con >io", en italiano con la" )u;ere", en franc" con lo" %o)bre" y en ale)Hn con )i caballo T, di;o Carlo" 3 ("eura)ente en franc")! Ta)bin un lenua;e de 9rora)acin debe e"coer"e de acuerdo con el fin <ue no" ue! T :! Te"ler (19D5) :enua;e" de 9rora)acin$! UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Otro paradigma de los lenguajes de alto nivel son los lenguajes funcionales. Se asientan en la metfora de que las palabras reservadas o primitivas constituyen "cajas negras, a la manera de funciones matemticas, que como bloques se acoplan entre s para construir el programa, es decir la solucin del problema. Estas "cajas negras realizan determinadas transformaciones sobre los datos de entrada y devuelven, como salida, el resultado de las transformaciones. El ambiente de trabajo que ofrecen es cercano al tratamiento del problema, despejando al usuario de las tcnicas algortmicas. Su tratamiento se encara a travs de especificar 40 los datos y las relaciones funcionales que se establecen entre ellos. Ejemplos de estos lenguajes constituyen las planillas de clculo, los editores de grficos con sus diferentes prestaciones, los procesadores matemticos simblicos, etc.; y una variedad de lenguajes de estructura funcional como el Lisp y el Logo Las planillas de clculo constituyen lenguajes de tan alto nivel que no slo su uso tiene sentido frente a problemas que involucran datos organizados en tablas, sino que imponen las denominaciones de las variables. Ofrecen un ambiente de celdas organizadas en filas y columnas. Los lenguajes funcionales no solamente ubican en diferente relacin al programador respecto de la lgica de procesamiento del hardware, sino que lo ubican de diferentes maneras respecto al tratamiento de los datos. En algunos de ellos, para proceder a tratar los datos es imprescindible construir una nueva capa lgica (planillas de clculo), en otros lenguajes, en cambio, el usuario trabaja directamente sobre los datos y es el entorno del lenguaje el que permite definir cules procesos se automatizan (procesadores de textos, graficadores). A estos programas, en los cuales se diluye el sentido de lenguajes de programacin pues al interactuar con ellos no se percibe que se construyen nuevas capas lgicas, generalmente se los denomina herramientas informticas de produccin% Son lenguajes de tan alto nivel que slo permiten tratar problemas definidos dentro de un conjunto muy especfico de situaciones. Sus palabras reservadas slo son aplicables en una reducida variedad de problemas, por ejemplo los procesadores de textos sirven para editar, modificar su contenido o el formato de impresin y su imagen en pantalla. Son mucho ms especficos que los lenguajes de tercera generacin. Los ambientes de trabajo que ofrecen son cercanos a las aplicaciones para las cuales fueron diseados, pero el lenguaje debe interpretar las acciones definidas por el usuario y traducirlas a una estructura algortmica, ya que el hardware slo ejecuta algoritmos. Las computadoras son mquinas algortmicas, por lo tanto, los lenguajes funcionales simulan la existencia de mquinas virtuales funcionales sobre una arquitectura algortmica. 57 :a e"9ecificacin de lo" dato" in?olucra la definicin de "i el dato e" nu)rico o alfanu)rico, a" co)o oranizacione" )H" co)9le;a"! 8"to" te)a" "e de"arrollan en :o" dato", "u" oranizacione" y for)a" de re9re"entacin$ y :a" e"tructura" de dato"$ _________________________________________________________________________ Silvina Caraballo Susana Muraro 45 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Todas las herramientas informticas de produccin son programas ejecutables (estn compilados) sin embargo, al usuario le ofrecen ambientes de trabajo propio de los lenguajes intrpretes. Es por este motivo que para acceder a un archivo elaborado en una determinada herramienta informtica es necesario disponer en la memoria de procesamiento el software con el cual fue elaborado u otro de anloga funcionalidad que pueda interpretar esos archivos. En general, las interfaces de comunicacin ofrecen los elementos de edicin y acceso a la sintaxis de sus palabras reservadas. Como la metfora en que se asientan es la de ofrecer cajas negras (funciones que transforman datos), generalmente estn expuestas en sus barras de herramientas como objetos que se toman y se mandan a ejecutar. Ejemplo, los procesadores de textos en los cuales los usuarios desde las barras de herramientas van aplicando sobre los datos (texto en edicin) comandos o instrucciones, tales como: formateo del texto, impresin del documento, etc. Constituyen lenguajes de marcas al incorporar entre los datos los comandos o instrucciones de edicin. De esta forma, para los usuarios es transparente su sintaxis, slo hacen uso de conos que tienen asociado internamente una rutina codificada para desempear determinada funcin. Existen herramientas informticas que permiten el acceso a sus cdigos, el usuario puede editar, borrar, cambiar de lugar, las instrucciones ingresadas. Otras son totalmente encriptados y no se puede hacer uso de los comandos que se incorpor o desea incorporar si no es a travs de la interfaz de comunicacin que ofrece el lenguaje. Un ejemplo son algunos editores de pginas WEB, lenguajes funcionales, que permiten acceder a los cdigos en HTML. En el paradigma declarati#o o lgico, para algunos autores constituye la quinta generacin de lenguajes de alto nivel. La estructura de los lenguajes declarativos invierte el lugar de la resolucin del problema respecto al empleo del lenguaje. La metfora que emplean es la de ofrecer un conjunto de palabras reservadas que facilitan la descripcin del problema y es el lenguaje el encargado de resolver el problema en la computadora. La tarea del programador consiste en declarar las premisas que definen al problema y el lenguaje posee un motor de inferencias que va "deduciendo lgicamente de las premisas la solucin. Un ejemplo de lenguaje declarativo es Prolog, se asienta sobre la lgica de primer orden que es un sistema axiomtico consistente y completo, por lo cual si el problema est adecuadamente declarado (especificadas sin errores lgicos las declaraciones que describen al problema) el lenguaje deducir un resultado que cumple con ser solucin del problema. En sntesis, un programa expresado en un lenguaje declarativo consiste en una descripcin sistemtica de todas las proposiciones y funciones lgicas que definen al problema. La programacin se centra en proceder a una descripcin del problema a travs de dos tipos de expresiones lgicas: las que describen los hechos y las que describen las reglas de inferencia. Los hechos son expresiones lgicas que establecen casos especficos, concretos, mientras que las reglas de inferencia constituyen los principios generales de deduccin. Hechos y reglas se constituyen como conjuntos de expresiones lgicas iniciales a partir de los cuales el programa "deducir la solucin. La deduccin se lleva a cabo a partir de la manipulacin de forma simblica por medio de las reglas de inferencia y de los principios lgicos que sustentan al lenguaje. En el apartado sobre la modelizacin declarativa se expone un ejemplo de esta tipo _________________________________________________________________________ Silvina Caraballo Susana Muraro 46 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ de solucin. Por lo general, los programas que se implementan a travs del paradigma declarativo tienden a ser especficos del problema en tratamiento, justamente por la necesidad de establecer hechos concretos en torno a las situaciones planteadas. Estos lenguajes son especialmente empleados en la elaboracin de sistemas expertos. Los lenguajes orientados a objetos constituyen otro paradigma, cambian el enfoque de los lenguajes imperativos y funcionales respecto de los datos y sus transformaciones. En los lenguajes de tercera y cuarta generacin los datos se especifican en forma separada de los procedimientos que se realizan sobre ellos; en los lenguajes orientados a objetos no se separan en elementos independientes los datos de su tratamiento, sino que se definen objetos que cumplen los siguientes requisitos: Se identifican por sus atributos y los diferentes #alores de esos atributos. Los atributos definen su identidad y los valores de sus atributos determinan el estado del objeto diferencindose de los otros objetos. Tienen definidos comportamientos, que configuran lo que cada objeto realiza por si mismo y en relacin con otros objetos. Al acceder a un objeto se est accediendo a su estado y su comportamiento. Emiten y reciben mensajes, actan atendiendo mensajes Cuando se accede a un objeto se accede al dato que lo describe, a los procedimientos que lo configuran, los mensajes que entienden y los eventos que realizan en relacin con los mensajes que recibe. De esta forma, las relaciones entre los objetos se dan a travs de mensajes que se envan al interactuar unos con otros. Los objetos se agrupan en clases 41 y dependiendo de la estructura de la clase y sus subclases heredan propiedades o caractersticas de la clase. Lo distintivo de los lenguajes inscriptos en este paradigma respecto de los lenguajes imperativos y funcionales es radical, aunque muchos lenguajes orientados a objetos se han desarrollado sobre lenguajes imperativos, por lo cual poseen y ofrecen estructuras hbridas. Dentro de los lenguajes orientados a objetos se ubican los lenguajes orientados a e#entos (suceso). La idea primordial de estos lenguajes es la de proveer elementos para elaborar programas en los cuales los usuarios interactan con las computadoras seleccionando las acciones que realizar el programa durante su ejecucin. El lenguaje otorga la posibilidad de programar procedimientos interactivos. Tpico de este tipo de programacin son los juegos donde el usuario es el que decide sobre las acciones a ejecutar sobre determinados objetos presionando botones u otra interfaz que ofrece el programa. Los lenguajes orientados a eventos rompen la idea de automatizar procesos que se realizan con la mnima intervencin del ser humano. El paradigma imperativo plantea que idealmente la ejecucin del programa debe realizarse con slo aportar los datos, en el paradigma orientado a 51 (e 9uede a"ociar e"ta con"truccin a la teora de con;unto"! :o" con;unto" "e definen 9or deter)inada" 9ro9iedade" de "u" ele)ento" y lo" "ubcon;unto" de un deter)inado con;unto %eredan aluna" de "u" 9ro9iedade"! _________________________________________________________________________ Silvina Caraballo Susana Muraro 47 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ eventos, si bien el programa est tambin definido por el programador, es el usuario el que toma las decisiones de seleccionar los eventos que manda a ejecutar generalmente a travs de botones simblicos expuestos en pantalla. De esta forma, el usuario es el que decide bajo qu condiciones y en qu momento se ejecutar determinado proceso, siempre dentro de la secuencia lgica del programa. En sntesis, en la programacin imperativa y funcional la ejecucin del programa est totalmente definida por el programador a priori de su ejecucin y depende de los datos que ejecuta para que procese o no determinadas rutinas. En la programacin por eventos, si bien el programa est tambin totalmente definido por el programador, su secuencia de ejecucin depende del usuario, es l quien va a seleccionar los eventos que manda a ejecutar. Es evidente que las diferentes interacciones que puede mandar a ejecutar se logran a travs de anticiparlas e incorporarlas como rutinas dentro del programa. Nada en la computadora puede ejecutarse si no ha sido anticipado debidamente. Un ejemplo palpable de desarrollos informticos soportados sobre este tipo de lenguajes son las interfaces de comunicacin de los Sistemas Operativos actuales Qu estructura bsica y general tienen los lenguajes de alto nivel? Las diferencias fundamentales que presentan una amplia variedad de lenguajes de alto nivel radican en los ambientes de trabajo que ofrecen para tratar los problemas. Sus caractersticas y versatilidades estn expuestas en el punto sobre "Los lenguajes de programacin. Abordaremos ahora la cuestin de cmo se elaboran los lenguajes de programacin y qu recursos se emplean. En estas tareas se involucran los siguientes elementos: La definicin del lxico con sus palabras reservadas, sus sintaxis y semntica, por lo tanto sus gramticas. La elaboracin de las rutinas de verificacin de sintaxis y coherencia en el empleo de sus palabras reservadas y las rutinas de traduccin al lenguaje de mquina, El tipo de traduccin que ofrece, compila o interpreta, con las concernientes rutinas de traduccin. El diseo y produccin de las interfaces de comunicacin que ofrece el ambiente de trabajo. El diseo y desarrollo del editor. Los desarrollos tericos de la nformtica posibilitaron los desarrollos de una variedad de lenguajes de programacin, cada uno de ellos define un ambiente de trabajo especfico y est dirigido a modelizar determinados tipos de problemas. En muchos de ellos conviven estructuras imperativas con sus estructuras no-imperativas, ya sea porque su desarrollo tecnolgico se asent sobre bases imperativas o porque no se puede separar la base algortmica de la computadora aunque se virtualicen sobre ella mquinas especficas. Adems, algunos lenguajes aportan palabras claves de alto nivel y las posibilidades de programar a bajo nivel. Es un problema de desarrollo de software que involucra conocimientos lingsticos, matemticos e informticos. _________________________________________________________________________ Silvina Caraballo Susana Muraro 48 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ La lingstica, otorga los marcos conceptuales sobre la estructura de los lenguajes, La matemtica, brinda la capacidad de elaborar sistemas formales determinando sus lmites y complejidad, La informtica, ofrece el sustrato conceptual y tecnolgico necesario para su programacin y las teoras de compilacin de programas. Para atender sus diseos, es imprescindible determinar los paradigmas sobre cuales van a responder 42 , pues este marco incide en la semntica de las palabras reservadas. Otros temas que hay que establecer, es la sintaxis de las palabras reservadas, y las reglas gramaticales a las cuales estn sujetos. Sobre la semntica, sintaxis y gramtica el traductor, ya sea intrprete o compilador, debe responder adecuadamente, otorgando informacin sobre los errores que comete el usuario. Tambin es necesario tener en cuenta la cantidad y tipo de palabras reservadas o primitivas que tiene un lenguaje. Es imprescindible mantener un equilibrio entre la cantidad de primitivas y las facilidades de programacin que ofrecen. Abundancia de lxico aparentemente brinda mayor cantidad de elementos bsicos para que el programador realice su tarea pues no necesita programar rutinas a las cuales se puede acceder a travs de una primitiva, pero al mismo tiempo es ms complejo abordar el lenguaje por la amplitud de su lxico. Muchos lenguajes de alto nivel permiten elaborar procedimientos que se incorporan al conjunto original de palabras reservadas, ampliando su biblioteca de primitivas. Un ejemplo de la posibilidad de crear procedimientos empleables como primitivas de un nivel superior a las primitivas que ofrece su lxico, lo otorga el lenguaje Logo 43 . Por ejemplo, al elaborar el procedimiento: $A8A 6igura 'lado 8epite G9AV 'lado 1& ;?@ 6!N BAVC a"reviatura de la pri#itiva BAvanzaC B1&C A"reviatura de la pri#itiva B1ira&erec+aC A#"as sintaFis son e7uivalentes para el int3rprete el lenguaje almacena en la RAM un procedimiento, a la manera de funcin matemtica, que dibuja en pantalla cuadrados de diferentes medidas de sus lados segn el valor numrico que se adjudica al lugar de memoria denominado ":lado. Mientras que el procedimiento est almacenado en la RAM, la palabra "Figura constituye una palabra reservada o primitiva de orden superior que el programador puede emplear todas las veces que necesite dibujar un cuadrado. An ms cada vez que va a trabajar con Logo, ya sea para programar o ejecutar programas previamente elaborados, puede incorporar a la RAM todas las primitivas de orden superior, extendiendo la biblioteca de rutinas segn construcciones particulares elaboradas. Para el programador emplear en la programacin la palabra "Figura y la palabra "Repite no le crea diferencias, slo debe tener claro cul es su semntica y su sintaxis, de la misma forma que debe tener claridad las acciones que ejecutan las primitivas que ofrece el lenguaje. 5' 1uede "er una e"tructura %brida al co)9artir do" 9aradi)a", 9or e;e)9lo el i)9erati?o con el funcional 5* 8"ta 9ro9iedad del lenua;e de 9rora)acin :oo e" co)Mn a toda" "u" ?er"ione"! AMn )H", e" una de la" condicione" i)9ue"ta" a "u e"tructura funcional! _________________________________________________________________________ Silvina Caraballo Susana Muraro 49 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Similar capacidad presenta el lenguaje Alice-Rebeca. Al crear y definir un mtodo nuevo para un cierto objeto se ampla la librera de mtodos aplicables al objeto. El mtodo nuevo, creado por quin lo program, puede ser empleado tal como cualquier otro predefinido en el lenguaje. Disear y elaborar un lenguaje de programacin constituye un problema informtico para cuya produccin se necesitan de otros lenguajes de programacin que posibiliten la compilacin del producto que se est elaborando y en especial que otorgue posibilidades tcnicas para la construccin de una nueva estructura de lenguaje. Es evidente que los lenguajes de programacin que se emplean para elaborar otro lenguaje de programacin deben ser dctiles en relacin al tipo de producto que se elabora o lo suficientemente verstiles como para permitir producir nuevas estructuras. Todos estos temas son preocupaciones propias de la nformtica, sobre las cuales hay un vasto desarrollo terico en constante expansin. A la manera de sntesis, exponemos los sucesivos desarrollos de los lenguajes de programacin y su relacin con la computadora como mquina real y virtual: Los lenguajes de alto nivel, ya sean intrpretes o compiladores, se denominan lenguajes orientados o dirigidos al problema. Su empleo obliga a seleccionar el que mejor se adecua a la estructura del problema a modelizar, pues especifica segn una determinada lgica a la computadora. _________________________________________________________________________ Silvina Caraballo Susana Muraro 50 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ &atos a ser procesados con el progra#a ela"orado &atos a ser procesados con la planilla ela"orada $rogra#a ela"orado en Scratc+ $lanilla ela"orada en una $lanilla de c(lculo Lenguaje int3rprete Scratc+ 4progra#a co#pilado5 Lenguaje int3rprete $lanilla de C(lculo 4progra#a co#pilado5 /ardJare /ardJare &atos- produccin del teFto $artitura ela"orada $rocesador de teFtos- progra#a co#pilado $rocesador #usical- progra#a co#pilado /ardJare /ardJare Sin embargo, estos grficos que intentan esquematizar la organizacin lgica de las mquinas virtuales no son del todo consistentes con la estructura de la computadora; omiten la necesidad de una capa lgica que medie entre cualquier programa y el hardware. Esto se debe, en parte, a que el hardware no es solamente la Memoria de Procesamiento y la Unidad Central de Proceso, tambin lo conforman las memorias de almacenamiento masivo, sus unidades de entrada-salida, las plaquetas de video, en muchos casos las redes con que interactan varias computadoras, etc., recursos que deben ser administrados armoniosamente en el momento que procesa. El programa que tiene por funcin administrar los recursos del hardware y del software se denomina "Sistema Operativo. Es imprescindible para cualquier computadora, estando su n-cleo residente en la RAM durante todo el tiempo que la computadora est encendida. El esquema de la Figura 4 intentaba describir las capas lgicas de una computadora considerando al Sistema Operativo, cuyas estructura y funciones se desarrollan ms adelante. Co#putadora *antiene una estructura de jerar7uas ) dependencias entre el +ardJare ) el so%tJare &atos So%tJare $rogra#a de aplicacin Lenguaje de progra#acin 4si es int3rprete5 Siste#a perativo /ardJare Ejecuta el progra#a ) procesa los datos Ad#inistra los recursos del /ardJare Especializa el +ardJare para 7ue procese seg.n la lgica del lenguaje de progra#acin Especializa al +ardJare para 7ue la co#putadora se co#porte co#o la #(7uina lgica 7ue se eFplicita a partir del lenguaje Especializa al progra#a para 7ue procese su lgica con deter#inados datos EL SSTEMA OPERATVO, ALGO MS QUE ADMNSTRADOR DE LOS RECURSOS DEL HARDWARE Al abordar las capas lgicas que cohabitan en un mismo momento en la computadora se present la existencia del Sistema Operativo, mediador de las relaciones entre los diferentes software residentes en un determinado momento en la RAM y el hardware, una de cuyas _________________________________________________________________________ Silvina Caraballo Susana Muraro 51 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ funciones es la de ser administrador de los recursos de la mquina fsica. Tambin, se expuso que en el momento de encender la computadora est almacenado en el disco rgido situacin que lleve a pensar en que las relaciones entre hardware y software se sostienen sobre el dilema del huevo o de la gallina. Si el hardware slo aporta la mquina fsica, la cual no realiza acciones por s sola pues es la mquina lgica la que la especifica Cmo es posible que ejecute un programa si al encender la computadora no est residente en la RAM (memoria voltil)? Su estructura fsica slo aporta las componentes y la lgica elemental necesaria para ejecutar instrucciones de un programa, por lo tanto cmo carga al Sistema Operativo? No es ste software el encargado de transferir los archivos de cualquier memoria de almacenamiento a la RAM?. Las instrucciones de un programa estn almacenadas en forma de archivo en alguna memoria de almacenamiento masivo, por lo tanto cmo hace el hardware para procesar un programa si est no est disponible en la memoria RAM? Quin o quines son los encargados de hacer esta transferencia? El hardware necesita del software y el software no hace nada sin el hardware, entonces cmo se rompe el crculo que implica necesitarse mutuamente? Esta circularidad se rompe a travs de la existencia de un programa inicial y autoejecutable que tiene por funcin transferir de la unidad de almacenamiento masivo (disco rgido) a la memoria de procesamiento (RAM) un programa que administra los recursos del hardware. El programa auto-ejecutable inicializa a la computadora para que el .istema /perati#o sea cargado a la RAM y ejecutado. El Sistema Operativo constituye el primer nivel de lgica de la computadora que se incorpora al encenderla, su funcin es la de especificar a la mquina de propsito general para que se comporte como una determinada y particular mquina virtual al emplear los recursos del hardware segn la lgica con que ha sido programado. Una vez inicializada la computadora, su n-cleo residir siempre en la RAM, es ste el que debe administrar constantemente los recursos del hardware frente a cualquier proceso que realiza la computadora. Aquellas rutinas que emplean espordicamente los recursos del hardware son externas al ncleo y el usuario es el encargado de solicitar su cargar en la RAM para ser ejecutadas (a demanda del usuario). El Sistema Operativo tiene dos funciones fundamentales: delegar en las diferentes componentes de hardware las acciones necesarias a realizar segn el programa en ejecucin. proveer a los usuarios de una interfaz de comunicacin que le permita interactuar con el Sistema Operativo, por lo tanto, con la computadora. No hay forma de interactuar con la computadora si no es a travs de este programa; siendo para el usuario la cara visible de la computadora. Analizar los motivos de la existencia de los Sistemas Operativos es interesante para mostrar cmo la propia nformtica fue llevando a consideraciones ms profundas el concepto de automatizacin al plantearse la necesidad y la posibilidad de delegar en procedimientos automticos acciones humanas necesarias para operar con la computadora. _________________________________________________________________________ Silvina Caraballo Susana Muraro 52 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ En los inicios de la nformtica, el ser humano deba realizar a mano un conjunto de acciones como las de cargar tarjetas perforadas o cintas de papel o magnticas que almacenaban instrucciones de los programas y sus datos. Todos los tiempos de interaccin de los seres humanos con la computadora son extremadamente largos (aunque slo sea presionar una tecla) comparados con los tiempos de procesamiento del hardware, por lo cual, si se delega a la propia computadora alguna de estas operaciones, el tiempo de procesamiento tiende a minimizarse. Sucesivamente se fueron construyendo rutinas mediante las cuales cada vez ms se delegaron las funciones humanas a la lgica de un programa. Adems, se aprovecharon los tiempos inactivos de la Unidad Central de Proceso cuando algunas otras componentes estaban trabajando. Por ejemplo, el tiempo en que el procesador de la Unidad Central de Proceso quedaba sin procesar debido a cargas manuales de programas y datos, o por impresin de un archivo. A medida que el hardware se hizo ms complejo, con variadas memorias de almacenamiento masivo, plaquetas graficas y de sonidos, varios procesadores, conexiones en redes, comunicaciones va MODEM, etc., los software requirieron de mayor demanda de recursos, permitiendo mltiples usuarios en forma simultnea, multiprogramacin, procesamiento en paralelo, por lo cual los sistemas operativos tuvieron que asumir un cmulo de nuevas funciones. A medida que los sistemas informticos se complejizaron, que las computadoras se conectaron en redes y se desarrollaron procesamientos multiusuario, a los Sistemas Operativos se les fue adjudicando mayor cantidad de funciones (simplemente ms cantidad de tecnologa, mayores permisos y controles de los accesos de los usuarios deben administrar y controlar). Una descripcin ms detallada sobre la incidencia de los sistemas operativos para atender redes se plantea en el punto "Las comunicaciones entre computadoras. La otra funcin importante de los sistemas operativos es la interfaz de comunicacin# Se ha sealado que en la actualidad todas las interfaces de comunicacin despliegan en pantalla representaciones icnicas de las acciones que anteriormente deban invocadas a travs de palabras claves. Las representaciones icnicas de las palabras claves son las que el usuario selecciona y manda a ejecutar como si fuesen objetos que se desplazan, se tiran, se agrandan o achican, se copian, se cambian de lugar, etc. Otra metfora informtica es representar la pantalla como un rea de trabajo con objetos virtuales cuyo acceso y tratamiento es anlogo a los objetos reales, pero las acciones son mediatizadas con el mouse u otras componentes del hardware. En la actualidad nos encontramos con una variedad de sistemas operativos, cada uno de los cuales hace uso de los recursos del hardware de diferente manera, permiten diferentes _________________________________________________________________________ Silvina Caraballo Susana Muraro 53 8l no)bre (i"te)a C9erati?o$ "e fue diluyendo co)o conoci)iento "ocial)ente eItendido, en 9arte 9or lo" )edio" de co)unicacin y en 9arte 9or la" 9oltica" co)ercializadora" de la" e)9re"a" 9roductora" de "oftGare! (u deno)inacin fue ca)biHndo"e 9or lo" no)bre" co)erciale" del "oftGare, a" e" co)o en la actualidad "e %abla de /indoG"$, :inuI$, etc! "in identificar <ue e"to" 9rora)a" cu)9len la funcin de "er "i"te)a" o9erati?o" Ta)bin "e torn in?i"ible al u"uario "u e"tructura y funcionalidad! 8n eneral, el u"uario no 9ercibe <ue e"tH accediendo a co)ando" del (i"te)a C9erati?o cuando a tra?" de "u" cono" tran"fiere arc%i?o" de una car9eta a otra! UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ prestaciones y otorgan diferentes interfaces de comunicacin; es decir, transforman al hardware en diferentes mquinas virtuales. El siguiente esquema representa a una misma computadora especificada en diferentes mquinas virtuales a travs de diferentes sistemas operativos, lenguajes de programacin, programas y datos: &ado un +ardJare $uede ser ad#inistrado por di%erentes Siste#as perativos Cada tipo de Siste#a perativo procesa di%erentes progra#as Cada progra#a procesa di%erentes datos o genera nuevas capas lgicas $rogra#a Co#pilado &atos &atos LL.. &atos Siste#a perativo : $rogra#a Co#pilado &atos LL.. &atos L.. Lenguaje !nt3rprete $rogra#a &atos LL. /ardJare $rogra#a &atos LL $rogra#a Co#pilado &atos LL. $rogra#a &atos Siste#a perativo > &atos Lenguaje !nt3rprete $rogra#a &atos LLLLLL.. LLLLLLL.. LLLLLLL.. LLLLLL. LLLLL.. Cmo procede el Sistema Operativo cuando se manda a ejecutar un determinado programa? En el momento que el usuario decide interactuar con un programa almacenado en alguna memoria de almacenamiento masivo, accede a l empleando su nombre y ordena su ejecucin mediante el empleo de los comandos expuestos en la interfaz grfica del sistema operativo. ste transfiere una copia del programa a la RAM y se hace cargo de administrar su ejecucin. Todas las rutinas internas que despliega el sistema operativo son invisibles para el usuario, pues a partir de ese momento el usuario se relaciona con el programa que mand a ejecutar. La computadora se comporta como otra mquina virtual segn la lgica del programa seleccionado. Estos hechos, relatados en tan pocas palabras, describen en el nivel ms alto la parte visible al usuario de una gran cantidad de procesos que se materializan en los niveles ms bajos. Siendo los niveles ms bajos aquellos en que el programa se instala en la memoria principal al momento de su carga y la Unidad Central de Proceso se dispone a ejecutar cada instruccin bajo las directivas del Sistema Operativo. El Sistema Operativo al copiar el contenido del archivo de programa en la memoria principal determina las celdas que deber ocupar y ubica cada instruccin una a continuacin de la otra; utilizando celdas contiguas de memoria. Asimismo, a los datos que necesite el programa para ejecutarse tambin les asigna lugares en la memoria, en celdas contiguas a las instrucciones. De esta manera, el Sistema Operativo arbitra los medios necesarios para que se inicie la ejecucin del programa. En suma, el diseo de sistemas operativos incluye definir funciones dirigidas a: _________________________________________________________________________ Silvina Caraballo Susana Muraro 54 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ la interfaz de comunicacin, de modo de facilitar la comunicacin entre el usuario y la computadora, y consecuentemente el uso de sta. facilitar la ejecucin de otros programas, al administrar y asignar los recursos de hardware (procesador, memoria y unidades de entrada y salida) a los distintos programas, al gestionar y preservar los archivos en el almacenamiento masivo. pro#eer seguridad, al permitir la identificacin y autentificacin de los usuarios que emplean la computadora, proteger datos y programas, y administrar los permisos de acceso a programas y recursos. Estas funciones se sostienen a travs de una organizacin jerrquica en capas a la manera cebolla que presentan los Sistemas Operativos. Si la miramos desde las acciones del usuario, el software ofrece un procesador de mandos que es el encargado de establecer el dilogo con la persona (la interfaz de comunicacin constituye el entorno y modo en que se comunican; actualmente predominan los entornos grficos orientados a objetos). Esta capa de cebolla se comunica con el planificador, encargado de organizar la ejecucin de los programas solicitados por el usuario, que a su vez se comunica con el gestor de archi#os y el gestor de recursos del hard&are. El primero de estos dos tiene por funcin acceder a los archivos de las unidades de almacenamiento masivo y proteger a los otros archivos de los accesos indebidos, delegando al gestor de memoria que realice las acciones necesarias para el uso de este recurso; mientras que el gestor de recursos hace uso adecuado de las unidades perifricas. El proceso ms interno del Sistema Operativo corresponde al distribuidor, que como su nombre lo indica, es el encargado de coordinar los diferentes procesos definidos por el planificador. Esta descripcin, es un buen ejemplo de cmo todo lo que sucede en la computadora est conformado por una organizacin jerrquica de comunicacin de mandos y ejecucin de eventos. Mantiene una organizacin de inclusin de conjuntos cuya comprensin favorece la construccin del sentido con que esta tecnologa ha sido diseada, y permite interactuar con la computadora desde una comprensin de las acciones que uno realiza y las demandas que seala el dispositivo. Otorgarle sentido a las acciones de los dispositivos digitales, comprender con claridad qu es posible demandarle, qu entra en el plano del error tecnolgico, significar los nuevos desarrollos tericos-tecnolgicos, es una parte importante de la apropiacin cultural de las TC. _________________________________________________________________________ Silvina Caraballo Susana Muraro 55 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Por ltimo, es necesario hacer notar que el Sistema Operativo es un lenguaje de programacin pero esta afirmacin, que aparentemente pone en riesgo el esquema de cebolla de la computadora, ser abordada en prximos temas. LAS NTERFACES DE COMUNCACN Ya sean lenguajes de programacin o aplicaciones especficas, todos los software proveen interfaces cuyas funciones son la de establecer un sistema de comunicacin entre el programa que est procesando la computadora y las personas que est interactuando. Hay de dos tipos: interfaces fsicas (hardware) o interfaces lgicas (software). Recordemos que las interfaces fsicas comprenden las diferentes unidades de entrada salida. La eclosin del concepto y el creciente desarrollo de interfaces se dio en forma solidaria a la proliferacin de aplicaciones y herramientas informticas, que ampliaron las funcionalidades de los software, destinadas a una variedad de usuarios. Accedemos a las lgicas internas de los programas a travs de las lgicas de sus interfaces, son la cara visible y mediadora entre el programa y el usuario. Desde una mirada terica, la nformtica estudia constantemente las diferentes estructuras comunicativas con el propsito de proveer a los usuarios sistemas de interaccin dctiles que permitan apartarlos de la lgica interna de la computadora 44 . El estudio, diseo y desarrollo de diferentes interfaces es un problema terico que involucra a la lingstica, la semitica, las ciencias de la cognicin, la inteligencia artificial, la computacin grfica; el desarrollo de lenguajes; teoras bases que permiten disear diferentes metforas comunicativas y diferentes sistemas de codificacin. En la actualidad se dispone de una variedad de metforas comunicativas, muchas de las cuales conviven dentro de un mismo software, ofreciendo diferentes estrategias de abordaje. nicialmente las computadoras no posean pantallas grficas, por esto las interfaces eran exclusivamente textuales. Los programas se mandaban a ejecutar a travs de sus nombres, haba que explicitar textualmente las rdenes o mandar a ejecutarlas a travs de digitar determinadas combinaciones de teclas. De esta forma, se exiga recordar las combinaciones de teclas propias de cada accin 45 , los nombres que tenan asignados las diferentes unidades de almacenamiento masivo (de donde provienen las denominaciones "A, "C, "E, etc. que expone en pantalla la interfaz del sistema operativo) as como las primitivas de los diferentes herramientas informticas y lenguajes de programacin. Por ejemplo, si se necesitaba copiar un archivo del disco rgido a una unidad de almacenamiento como era un disquete se deba comunicar al sistema operativo la siguiente orden: C$D C' Tno#"re del directorioTno#"re del arc+ivo A'Tno#"re del directorioTno#"re del arc+ivo Lugar ) arc+ivo origen Lugar ) arc+ivo destino 55 Pn e;e)9lo de e"te ti9o de de"arrollo tecnolico lo brindan la" interface" de lo" celulare" 5- Euc%o" 9rora)a" 9ro?een de un %el9$ o ayuda )e)oria <ue ofrecen lo" no)bre" de la" accione" y la" co)binacione" de tecla"! _________________________________________________________________________ Silvina Caraballo Susana Muraro 56 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ No exista la metfora de "carpetas, los lugares de almacenamiento de archivos en la unidades auxiliares o masivas se denominaban "directorios, estos a su vez podan tener definidos subdirectorios, de la misma forma que actualmente las denominamos "carpetas y "subcarpetas. La metfora que se empleaba para representar la organizacin lgica de las memorias de almacenamiento masivo era la del archivero o directorio telefnico que en esos momentos era un referente socialmente expandido de este tipo de organizacin. Actualmente la lgica organizativa es la misma, variaron las formas de representacin provocando cambios en su denominacin y en los sistemas de codificacin con que se identifican. Las posibilidades grficas que adquirieron hace un tiempo las computadoras han permitido representar en pantalla diferentes metforas grficas, mientras que los lenguajes de programacin orientados a eventos han posibilitado un cambio conceptual interesante en el desarrollo de interfaces. Otro de estos cambios es la metfora del escritorio, mediante la cual la pantalla representa a nuestro escritorio y los elementos que se necesitan para trabajar. Anteriormente, la metfora representaba al monitor como un gran rollo de papel de extensin ilimitada sobre el cual se escriban las acciones que se necesitaban ejecutar en la computadora. En cambio, los elementos del escritorio son objetos virtuales que se agarran, se tiran, se achican, se guardan, se seleccionan, se activan, se replican, se llevan a diferentes lugares. Actualmente, los sistemas operativos permiten disponer residentes en memoria diferentes programas y varias versiones de un mismo programa. El escritorio ostenta como un lugar donde en un determinado momento se exponen todos los nombres de los archivos residentes en RAM, slo resta activarlos para tener disponibilidad de uso. En la metfora del escritorio, todos los objetos estn representados por conos que tiene asociado las acciones ligadas a ellos, por ejemplo sobre el cono de un archivo tiene asociado la posibilidad de copiar, borrar, cargar a la RAM, cambiar de nombre, etc. Otra de las metforas de amplio uso y aceptacin son las #entanas. Representan la idea de que sin anular visualmente el archivo con el cual se est trabajando es factible hacer aparecer (abrir) en la pantalla del monitor espacios abiertos o marcos a travs de los cuales se visualizan elementos del sistema o se ofrecen opciones de interaccin. Dentro de una ventana se puede navegar y hacer scroll (deslizamiento) sobre la informacin que provee para aliviar el acceso a cualquier informacin que ofrece. Considerndolas como un objeto virtual en s mismo pueden ser movidas ubicndolas en diferentes lugares de la pantalla, cambiar sus medidas (maximizarlo o minimizarlo). Los diferentes software proveen de una variedad de ventanas segn las funciones que realizan. Algunas ofrecen informacin, otras solicitan confirmacin de alguna accin seleccionada, otras ponen en alerta al usuario sobre la seleccin de una accin que puede ser negativa, otras ofrecen informacin sobre los archivos residentes en la memorias de almacenamiento masivo. Otras metforas que sustentan las interfaces de amplio empleo actual son las barras de tareas y los men-s desplegables. En una gran cantidad de casos, ambas interfaces ofrecen al usuario el acceso a idnticas acciones, pero las estrategias de acceso y los modos de comunicacin _________________________________________________________________________ Silvina Caraballo Susana Muraro 57 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ son totalmente diferentes. Las barras de tareas utilizan cdigos icnicos, la posicionar el cursor sobre ellos ofrecen informacin textual aclaratoria de las acciones que realizan. Los mens desplegables emplean cdigos icnico-textual (para algunas acciones se recurre tanto al texto como a la imagen que representa la accin nombrada en el texto), a su vez ofrecen al usuario diferentes formas de acceso a las opciones del men al emplear lgicas organizativas diferentes. Las barras de herramientas se pueden configurar de forma tal que estn expuestas en pantalla la totalidad de las opciones que ofrecen o solamente algunas de ellas; mientras que los mens desplegables siempre proveen la misma informacin en pantalla. Tanto la barra de herramienta como la organizacin por mens emplean los mismos cdigos para indicar si la opcin est: activa, sealada, seleccionada, est activada o fue activada con anterioridad. La estrategia grfica que se emplea para indicar el estado de cada opcin es la de mostrarla claramente (activa), exponerla en forma velada (inactiva), resaltarla dentro de un rectngulo coloreado (seleccionada), aumentar la intensidad del color que indica seleccin (activada) y cambiar de color para indicar que hubo un uso anterior (Ejemplo, mostrar que hubo un acceso anterior de esa pgina de la Web). Otro tipo de barras es la de "progreso cuya funcin es la de informar sobre la ejecucin de una determinada accin, especialmente aquellas que necesitan de tiempos significativos, como la instalacin de programas, la copia de archivos. Los cuadros de dilogos son empleados especialmente para exponer y seleccionar las diferentes opciones de configuracin de una accin, como sucede con los comandos de impresin o de grabado o recuperacin de archivos de una memoria en otra. Una interfaz de uso extendido son los mens contextuales que tienen por funcin exponer al usuario el conjunto de acciones posibles de realizar relativas al objeto previamente seleccionado. Otra funcin de muchos mens contextuales es afinar una bsqueda a medida que se incorporan datos sobre el objeto a buscar. Un ejemplo extendido de esta interfaz son los mens contextuales de los buscadores de la Web. Por ltimo, existen las interfaces que emulan botones, muchas de ellas de estructura binaria que ejecutan una determinada accin presionando la simulacin en pantalla de un botn a la manera de tecla (sealado se activa, no sealado se desactiva). Si bien el desarrollo de interfaces grficas ha ido avanzando hacia las comunicaciones icnicas, las comunicaciones textuales son parte indisoluble de la comunicacin hombre- mquina. Todos los conos tienen asociados sus significados lingsticos. Las interfaces se constituyen empleando diferentes lenguajes de comunicacin, no solamente textuales e icnicos sino tambin posicionales respecto del espacio del monitor, adjudicndole a cada espacio diferentes usos y funciones. Sus lecturas no son naturales, involucran procesos de acomodacin-asimilacin. La riqueza y el estado del arte de las diferentes formas comunicativas que tienen los actuales software no implica que las formas comunicativas hombre-mquina estn saturadas, al contrario, nuevas investigaciones, nuevos marcos tericos, la comprensin de las estrategias _________________________________________________________________________ Silvina Caraballo Susana Muraro 58 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ cognitivas y comunicativas de los seres humanos y los desarrollos tecnolgicos llenan al diseo y desarrollo de nuevas interfaces. UN RECORRIDO CONCEPTUAL A LA RESOLUCIN INFORM"TICA DE PROBLEMAS Hasta ahora se plante que todo lo que procesa la computadora son algoritmos y que las soluciones informticas de los problemas llevan necesariamente a la construccin de algoritmos codificados en algn lenguaje de programacin y procesables en la computadora. El concepto de algoritmo y sus caractersticas es esencial a la nformtica, as como la existencia de una variedad de lenguajes de programacin, dentro de los cuales los lenguajes imperativos tienen peso histrico y conceptual, aunque ya hace tiempo que se fueron diversificando los lenguajes de programacin en diferentes paradigmas. Por este motivo, se present que paralelo al progreso de los lenguajes imperativos se fueron desarrollando otros lenguajes de alto nivel que se distancian de la lgica algortmica y proveen de una diversidad de formas de descripcin dirigidas a tipos distintos de problemas (lenguajes descriptivos, funcionales, orientados a objetos). Sin embargo, la computadora slo procesa algoritmos y los lenguajes que permiten emplear estrategias aparentemente no-algortmicas ofrecen capas lgicas mediante las cuales el programador expresa sus soluciones y son los intrpretes, o los compiladores, los que las traducen a la lgica interna de la computadora. Por este motivo se los denomina m"uinas lgicas. Tambin, se plante que las estructuras de los lenguajes de programacin de alto nivel estn conformadas para facilitar la construccin de soluciones a determinados tipo de problemas. Si bien pierden parte de la universalidad al imponer lmites a las posibilidades de modelizacin, tienen por virtud simplificar la produccin de soluciones costosas respecto del esfuerzo que demanda su construccin, o por los recursos informticos que se necesitan para procesarlos (tiempo de procesamiento, cantidad de memoria, etc.). Lo importante es que esta diversidad permiti ampliar el abanico de los tipos y formas de modelizaciones informticas, por lo tanto permiti ampliar la variedad de estrategias con las cuales pueden ser tratados informticamente los problemas. La eclosin del desarrollo de los lenguajes de programacin de alto nivel aument la variedad de problemas con posibilidad de tratarse informticamente, pero no anul la existencia de problemas para los cuales es dificultoso y hasta imposible encontrar una solucin informtica, aunque el lenguaje de programacin que se emplee sea un lenguaje de alto nivel adecuado al tipo de problema o, simplemente, sea un lenguaje universal como es el lenguaje absoluto o de mquina. Esta situacin pone en discusin temas tericos de la Ciencia de la Computacin que se abordan bajo el nombre de "teora de la computabilidad de problemas; teora que naci de la lgica-matemtica pero que tom identidad como teora dentro de las Ciencias de la Computacin hasta constituirse en parte de ella. Dentro de los temas de computabilidad de problemas se incluyen tanto las justificaciones tericas sobre si el problema tiene solucin factible o si nos encontramos con soluciones abordables lgicamente pero que presentan imposibilidad material (tiempo y recursos) para ser _________________________________________________________________________ Silvina Caraballo Susana Muraro 59 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ procesadas en una computadora debido al nivel de tecnologa actual o la propia estructura infinita de su solucin. Los planteos tericos sobre qu condiciones determinan que un problema es computable se los debemos al lgico-matemtico Alan M. Turing, quien en 1936 present su teora sobre la computabilidad de problemas, an cuando no existan las computadoras digitales. Esto muestra que la problemtica de la computabilidad nace como una teora lgico-matemtica que trata de plantear los lmites a la propia Matemtica y fue extendindose a plantear los lmites a la Computacin. Es un ejemplo de las conceptualizaciones de la nformtica en torno al estilo cultural de la "construccin de teora. La mirada conceptual a la resolucin informtica de problemas pone en situacin de abordar interrogantes, como: Qu es un problema? En qu consiste la solucin de un problema? Qu significa que un problema sea tratado informticamente? Hay problemas que no tienen tratamiento informtico? Cules son los lmites de la nformtica frente al tratamiento de problemas? Pese a que la Teora de la Computabilidad es una teora compleja interrogantes de este tipo acercan a la comprensin global de la amplitud disciplinar de las TC y su rigurosa comprensin terica. LOS PROBLEMAS Y SUS MODELI/ACIONES Etimolgicamente, la palabra "problema deriva del griego proballein y significa "algo lanzado hacia delante. Un problema es un conjunto de cuestiones que se plantean para ser resueltas pero cuya solucin no es evidente a la persona. Obliga a desplegar estrategias mediante las cuales se ponen en juego saberes relacionados con la especificidad del problema y la necesidad de concebir un plan tendiente a la bsqueda de una solucin, la cual depende, adems, de conocimientos y de informacin, de la heurstica empleada. La bsqueda de la solucin se transforma en un proceso creativo donde interactan las experiencias y los conocimientos tericos sobre el tema que sustenta al problema. Puede haber muchas maneras de resolverlos y en muchos casos, cada una puede llevar a una posible y correcta solucin. El planteo sobre qu es un problema es aplicable a los problemas en general, siendo aqu de inters aquellos cuyas soluciones puedan ser procesadas por una computadora mediante un conjunto de instrucciones bien definidas. Cuando se arriba a la solucin del problema, dicho producto se denomina "modelo, que como fue expuesto no tiene porque ser nico ni el ms eficiente. El concepto de modelo posee varias interpretaciones diferentes tanto en el lenguaje coloquial como para los lenguajes cientficos. Por un lado, es tomado como sinnimo de "paradigma o "ejemplo, al decir expresiones del tipo "es un modelo de persona. Desde el marco cientfico y tecnolgico tiene otras acepciones, por ejemplo, se dice "modelo de motor; haciendo referencia a determinadas caractersticas tecnolgicas que lo definen y lo diferencian de otros motores. En Matemtica y Lgica los modelos comprenden conjuntos de elementos abstractos y las relaciones que se establecen entre ellos que se adecuan a determinados sistemas axiomticos, _________________________________________________________________________ Silvina Caraballo Susana Muraro 60 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ por lo cual, todo lo que se deduce de los sistemas axiomticos asociados a ellos se deduce del modelo. En una palabra, las mismas propiedades que posee el sistema axiomtico las cumple el conjunto de elementos que constituye el modelo, por lo cual, ambos, el sistema axiomtico y el modelo, son isomorfos. En una variedad de ciencias los modelos constituyen representaciones de determinados sistemas naturales o sociales de forma tal que los comportamientos de esos modelos permiten inferir los comportamientos de los sistemas 46 . En la Teora General de Sistemas, el concepto de modelo implica, por un lado, una representacin de sistemas complejos y, por otro lado, una metodologa de abordaje de su estudio. El supuesto metodolgico se asienta en que "el todo es ms que la suma de sus partes por lo cual la subdivisin del sistema en componentes y el control de variables, en una gran cantidad de situaciones, no constituyen estrategias de abordaje de la complejidad del sistema. El sentido que se le otorga al trmino "modelo en la resolucin de problemas es el de ser la representacin de las relaciones que se establecen entre los datos para que cumplan con el propsito de ser solucin del problema propuesto. Se representa o modeliza la solucin de un problema. Los modelos son construcciones mentales (productos de nuestras mentes), las cuales en el momento que se formalizan para comunicarlos a otros (en particular puede ser a uno mismo o a la computadora), se constituyen en modelos explcitos. Las producciones mentales constituyen los modelos implcitos. Si el modelo explcito es representado a travs de un lenguaje formal, se tiene un modelo formal de la solucin o simplemente decimos que modelizamos el problema. Si la formalizacin del problema se realiza empleando tcnicas informticas y un lenguaje de programacin, se dice que es un modelo informtico y el problema tiene tratamiento informtico. Al proceso de construccin del modelo se lo denomina "modelizar la solucin del problema o simplemente "modelizar el problema. En la figura que sigue se esquematiza un sistema real "A compuesto por tres subsistemas "sS1, "sS2 y "sS3 que es modelizado formalmente a travs del "Modelo A, se seala la correspondencia entre los subsistemas y los modelos asociados a los mismos, por ende entre el Sistema A y su modelizacin a travs del Modelo A. Siste#a real A *odelo A 5O 1or e;e)9lo, "e "uele decir )odelo at)ico$, )odelo entico$! 8l 9ri)ero no)bra a la" teora" f"ica" eI9licatorio" del co)9orta)iento de la )ateria, y el "eundo la" teora" entica" relati?a" a la" caracter"tica" %eredada" de lo" "ere" ?i?iente"! _________________________________________________________________________ Silvina Caraballo Susana Muraro 61 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ La existencia de un modelo de solucin depende del tipo de problema, al tratarlo informticamente inciden sobre su construccin las tcnicas informticas empleadas, el lenguaje de programacin seleccionado y los criterios de uso de la estructura semntico- sintctica del lenguaje de programacin. El modelo debe ser eficaz, medido con algn criterio informtico como puede ser: el error que genera entre el resultado del procesamiento y el resultado terico, el tiempo necesario de procesamiento, la cantidad y tipos de recursos del hardware que se emplea al procesarlo. Cuando se arriba a un modelo de solucin informtico se dice que el problema es "computable. Las dificultades o las imposibilidades actuales para modelizar informticamente la solucin de un problema no implica que ste no sea computable. La computabilidad se demuestra con la construccin del modelo y su validacin (verificar que el modelo cumple con el objetivo de ser solucin del problema), mientras que la imposibilidad histrica de arribar a un modelo no implica la inexistencia de la solucin. Como todo lo que ocurre en la computadora tiene una base aritmtico-lgica, la no existencia de solucin debe ser demostrada formalmente a travs de un deduccin matemtica o lgica, por lo cual cuanto ms complejo es el problema ms dificultades tericas lo envuelven. La nformtica o Ciencia de la Computacin construye teoras y metodologas en torno a los problemas computables as como sobre los lmites y dificultades de la computabilidad. Sin embargo, existe una gran cantidad de actividades que se realizan con la computadora en las cuales los individuos no perciben que estn construyendo modelos, por ejemplo: elaborar trabajos con un procesador de textos, dibujos y grficos con un editor de imgenes, comunicarse por mail, buscar informacin en la WEB y hasta producir tablas con una planilla de clculo. Algunas herramientas informticas permiten interactuar con la computadora sin captar que se estn resolviendo problemas como se present al analizar los diferentes paradigmas de lenguajes de programacin. MODELOS ALGORTMCOS Anteriormente se describi a la computadora como dispositivo determinstico-algortmico y se estableci su relacin con los software. Se present la definicin de algoritmo, pero esta definicin revela poco sobre las formas que tienen, cmo se los construyen, la importancia o peso que tienen las condiciones impuestas en su definicin, las formas de representarlos para comunicarlos, el nivel de incidencia que presentan los lenguajes de programacin sobre su estructura, cmo se los valida y de qu dependen los lmites informticos en sus estructuras. El concepto de algoritmo no es propio de la nformtica, es prestado o proporcionado por la Matemtica. Para esta disciplina los algoritmos son procedimientos matemticos generales que se expresan a travs de una cantidad finita de operaciones aritmticas elementales: suma, resta, multiplicacin y divisin. En nformtica, las operaciones elementales o "bastante bsicas, como expresa Knuth, las proveen los lenguajes de programacin. Por cuanto las _________________________________________________________________________ Silvina Caraballo Susana Muraro 62 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ instrucciones propias de un lenguaje de programacin, ya sea de bajo o alto nivel, tienen un paralelismo con las estructuras u operaciones algortmicas elementales. Dado que el concepto de algoritmo con sus tcnicas, constituye un espacio fundamental en nformtica, por lo tanto en las TC, en este punto se aborda un enfoque conceptual sobre los modelos algortmicos y sus tcnicas de construccin. En general, los problemas reales 47 con que nos encontramos son difusos y complejos, tanto por la cantidad de condiciones como por las relaciones que se establecen. Para abordar un problema real es necesario delimitarlo de forma tal que quede taxativamente definido qu se incluye en l y qu es lo que queda en su periferia o no tiene sentido considerar. Esta tarea implica delimitar el nivel de generalidad con que se define al problema, el cual incide sobre el nivel de generalidad con que se construye el modelo. Adems, es necesario identificar los datos que tienen sentido para el problema, expresarlos en trmino de variables o de constantes, y establecer las relaciones entre ellos. Su tratamiento involucra construir una solucin general del problema, que sea vlida para todos los problemas que presentan anloga estructura con variacin de sus datos. El modelo se descarna de los datos concretos pues ellos son incorporados en el momento en que la computadora lo ejecuta. Decidir sobre el nivel de generalizacin de un problema incide directamente sobre la modelizacin que se encara. El siguiente esquema muestra de la incidencia sobre la complejidad del modelo en funcin del nivel de generalizacin del problema. &i"ujar en la pantalla del #onitor un tri(ngulo e7uil(tero &i"ujar en la pantalla del #onitor un tri(ngulo issceles &i"ujar en la pantalla del #onitor un tri(ngulo cual7uiera El es7ue#a intenta #ostrar 7ue cada pro"le#a anterior es un caso particular del posteriorR sin e#"argo la #odelizacin de cada situacin i#plica di%erentes conoci#ientos #ate#(ticos 7ue van desde la construccin de si#ples poligonales cerradas a +acer uso de la resolucin trigono#3trica de tri(ngulos. Cuanto #(s general es el pro"le#a #(s co#plejo es el #odelo. La necesidad de generalizar el modelo para que sea solucin de una diversidad de situaciones anlogas pero con diferentes datos, no implica abordar su solucin considerando que todos los datos deben ser representados por variables 48 . La estrategia de dejar todos los datos variables puede atentar contra la estructura de la solucin o simplemente hacerla tan compleja que la relacin entre el esfuerzo que demanda su desarrollo y el tiempo de ejecucin, pasa a no ser justificable respecto al beneficio brinda emplear la solucin en una variedad de problemas anlogos. Esto lleva necesariamente a plantear el nivel de posibilidad con que se generalizan los algoritmos pues se puede caer en la idea de Leibniz de querer construir un algoritmo general que resuelva todos los problemas, situacin que fue demostrada como lgicamente imposible por el lgico matemtico Gdel trescientos aos ms tarde. Para formalizar el modelo es necesario definir previamente el conjunto de recursos que se emplean en su elaboracin y ejecucin. Uno de los elementos destacables es el lenguaje de 57 :a 9alabra real$ diferenciar a<uello" 9roble)a" en <ue no" ?e)o" in)er"o" en nue"tra" acti?idade" %abituale" de a<uello" creado" con 9ro9"ito" didHctico" ad hoc! 5D :a e"trateia de de;ar todo ?ariable co)o una for)a de a"eurar eneralizacin del )odelo e" %abitual en lo" e"tudiante"! (in e)baro e"ta e"trateia e" ineficiente no "lo 9or la" dificultade" )etodolica" <ue 9uede acarrear la bM"<ueda de la "olucin, "ino <ue ta)bin 9or<ue 9uede "er i)9o"ible lorar una "olucin finita o 9roce"able en tie)9o acotado <ue re"9onda al 9roble)a eneral! _________________________________________________________________________ Silvina Caraballo Susana Muraro 63 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ programacin, no slo porque es imprescindible para ejecutarlo en la computadora sino porque es el que provee las operaciones bsicas con que se construye el algoritmo. Si el lenguaje es de alto nivel estar orientado a atender determinados problemas, lo que facilitar o complejizar su construccin. Para el problema de dibujar tringulos su modelo de solucin ser diferente si se emplea alguna de las variantes de u otro lenguaje imperativo, funcional u orientado a objetos. Es importante destacar que los programas, al ser algoritmos escritos en un lenguaje de programacin inteligible a la computadora, contemplan cuestiones propias de la impronta cientfica de la informtica. Por ejemplo, existen algunos problemas cuyas modelizaciones llevan a procedimientos continuos o infinitos sin embargo, aunque la capacidad de cmputo de la computadora es cada vez ms grande jams ser ilimitada, por lo cual ser necesario plantear las modelizaciones como procesos discretos y finitos, aunque el modelo acarree errores propios del mtodo empleado. Es as como en el tratamiento informtico de los problemas juega un rol importante determinar el error con que se aproxima un modelo informatizado respecto del modelo terico. El error puede provenir del tipo de modelo elaborado, de las aproximaciones numricas, la cantidad y tipo de operaciones involucradas; entonces el error en controlable y acotable. ESTRUCTURA DE LOS ALGORTMOS La construccin de un algoritmo es un acto mental que se sostiene sobre un proceso de abstraccin mediante el cual se modeliza la solucin de un problema. El ser humano pone en juego procesos heursticos para arribar a la construccin del algoritmo. Por otro lado, aunque la definicin de algoritmo de Knuth, describe caractersticas bsicas e irremplazables para que el modelo sea un algoritmo, no otorga elementos para desplegar la heurstica, sin embargo analizarla permite un abordaje conceptual a su estructura. Knuth propone como caractersticas ineludibles de un algoritmo: 1) 0initud. =n algoritmo tiene que acabar siempre tras un n0mero finito de pasos. La finitud de pasos se interpreta de dos formas: cantidad finita de tareas a ejecutar. cantidad finita de tiempo de ejecucin de sus tareas. Existe una gran variedad de algoritmos en los cuales la finitud de pasos no conlleva a la finitud del proceso, como sucede al calcular la raz cuadrada de un nmero que no es cuadrado perfecto. El algoritmo posee una cantidad finita de pasos que deben ser ejecutados una cantidad ilimitada de veces, salvo que decidamos detenerlo y obtener una solucin aproximada, que conlleva un determinado error. 2) !efinibilidad% ,ada paso de un algoritmo debe definirse de modo preciso. Esta caracterstica de los algoritmos tambin debe ser abordada desde dos diferentes interpretaciones, ambas incidentes en su construccin: Por un lado involucra a la forma de expresar el modelo implcito o mental en un _________________________________________________________________________ Silvina Caraballo Susana Muraro 64 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ modelo algortmico explcito, es decir de representarlo y comunicarlo. En esta tarea se emplean diferentes tcnicas y lenguajes segn su sintaxis y semntica. El otro concepto de definibilidad involucra a la propia estructura interna de los algoritmos al hacer referencia a la concatenacin de sus acciones o pasos. Su estructura debe expresar claramente la secuencia de ejecucin de cada tarea no pudiendo contener tareas contradictorias o multiplicidad de tareas en un determinado momento. Esta propiedad obliga a delimitar claramente su inicio y su finalizacin. 3) ,ntrada% =n algoritmo tiene cero o m)s entradas$ es decir, cantidades dadas inicialmente antes de empezar el algoritmo. En los lenguajes imperativos, los datos no constituyen elementos del algoritmo sino que son representados a travs de variables. Sus valores son incorporados para ser procesados en el momento de su procesamiento. Esta situacin es la que permite la generalidad del algoritmo respecto de la estructura del problema, sus tareas o acciones no pueden estar definidas en trmino de constantes, sino de variables. Al cambiar los datos en el momento de su procesamiento se ejecuta al mismo algoritmo que responder a otro problema. En sntesis, el algoritmo es solucin de un conjunto de problemas, aquellos que poseen la misma estructura de solucin variando sus datos. Sin embargo, esta propiedad de los algoritmos seala que puede no tener datos de entrada, tema que pone en discusin el concepto de solucin general. 4) .alida% =n algoritmo tiene una o m)s salidas, es decir, cantidades que tienen una relacin especfica con las entradas. Esta propiedad impone a los algoritmos la necesidad de comunicar los resultados que procesa. La comunicacin debe tomarse en forma amplia, puede abarcar entre la computadora y las personas o entre computadoras. 12 ,fecti#idad% (or lo general se pretende que un algoritmo sea efectivo. Esta propiedad indeclinable apunta a que el algoritmo debe cumplir con el objetivo de ser solucin del problema planteado, por lo cual tambin es indeclinable la necesidad de validar su solucin. Adems se relaciona con la necesidad de contar con estructuras que puedan ser eficazmente ejecutadas. Dentro de la complejidad que pueden tener los algoritmos es posible identificar algunos elementos bsicos de su estructura. Para diferenciar las estructuras bsicas entre s se proponen los siguientes ejemplos: _________________________________________________________________________ Silvina Caraballo Susana Muraro 65 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ $ro"le#a' E#itir una %actura de pago por una co#pra de una deter#inada cantidad de cuadernos ) l(pices. $ro"le#a' E#itir una %actura de pago por una co#pra de una deter#inada cantidad de cuadernos ) de l(pices. &escuento del :?U por a"ono al contado. !nicio !ngresar a la #e#oria de la co#putadora la cantidad de cuadernos !ngresar a la #e#oria de la co#putadora el precio unitario del cuaderno !ngresar a la #e#oria de la co#putadora la cantidad de l(pices !ngresar a la #e#oria de la co#putadora el precio unitario de un l(piz Asignar en alg.n lugar de #e#oria el valor de la cantidad de cuadernos por su precio unitario #(s la cantidad de l(pices por su precio unitario !#pri#ir el contenido del lugar de #e#oria 7ue al#acena el #ontos de co#pra 6in !nicio !ngresar a la #e#oria de la co#putadora la cantidad de cuadernos !ngresar a la #e#oria de el precio unitario del cuaderno !ngresar a la #e#oria de la co#putadora la cantidad de l(pices !ngresar a la #e#oria de la co#putadora el precio unitario de un l(piz Asignar en alg.n lugar de #e#oria el valor de la cantidad de cuadernos por su precio unitario #(s la cantidad de l(pices por su precio unitario !ngresar tipo de pago Si paga con tarjeta entonces !#pri#ir el contenido del lugar de #e#oria 7ue tiene al#acenado el #onto de co#pra- despu3s pasar a la tarea 6in Si paga al contado entonces *ultiplicar el contenido del lugar de #e#oria 7ue tiene al#acenado el #onto de co#pra- por ?-;. &espu3s !#pri#ir este resultado e ir a 6in. 6in El algorit#o a"arca un conjunto de tareas eFpuestas en una secuencia lineal. El orden en 7ue %ueron de%inidas deter#ina el orden de procesa#iento. La pri#era parte del algorit#o constitu)e una secuencia lineal de tareas. En la segunda parte- las tareas 7ue se ejecutan dependen de una condicin i#puesta so"re la %or#a de pago. El algorit#o se a"re dos ra#as de alternativas de las cuales una sola es ejecutada- dependiendo de los datos ingresados en cada caso particular. Si ahora se considera el siguiente problema: E#itir una %actura de pago de una co#pra de una cantidad de insu#os di%erentes de li"rera. &escuento del :?U por pago contado &ependiendo del conoci#iento a priori de la cantidad de insu#os di%erentes ad7uiridos- la estructura del algorit#o ser( di%erente. Cantidad de insu#os di%erentes conocidos 4dato de entrada o calcula"le durante la ejecucin del algorit#o5 !nicio !ngresar a la #e#oria de la co#putadora la cantidad de insu#os di%erentes 7ue ad7uiri la persona. Ciclar la ejecucin de las siguientes tareas tantas veces co#o la cantidad de insu#os di%erentes ad7uiridos !ngresar cantidad de insu#os de un tipo !ngresar precio unitario de dic+o insu#o Asignar producto de cantidad de insu#os por su precio unitario Acu#ular en alg.n lugar de #e#oria el resultado del producto del costo del insu#o Si no cicl la cantidad de veces %ijada- volver al inicio del ciclo !ngresar tipo de pago Si paga con tarjeta- entonces !#pri#ir el contenido del lugar de #e#oria 7ue tiene acu#ulado el #onto a pagar- despu3s pasar a la tarea 6in Si paga al contado entonces *ultiplicar el contenido del lugar de #e#oria donde se acu#ul el #onto de la %actura por ?-;. &espu3s !#pri#ir este resultado. &espu3s ir a 6in. 6in Cantidad de insu#os ad7uiridos desconocidos 4no calcula"le durante la ejecucin del algorit#o5. !nicio. Ciclar la ejecucin de las siguientes tareas #ientras la persona #uestre insu#os ad7uiridos- si no pasar al la tarea 6in del ciclo !ngresar cantidad de insu#os de un tipo !ngresar precio unitario de dic+o insu#o Asignar producto de cantidad de insu#os por su precio unitario Acu#ular en alg.n lugar de #e#oria el resultado del producto del costo del insu#o 6in del ciclo !ngresar tipo de pago Si paga con tarjeta- entonces !#pri#ir el contenido del lugar de #e#oria 7ue tiene acu#ulado el #onto a pagar- despu3s pasar a la tarea 6in Si paga al contado entonces *ultiplicar el contenido del lugar de #e#oria donde se acu#ul el #onto de la %actura por ?-;. &espu3s !#pri#ir este resultado. &espu3s ir a 6in. 6in _________________________________________________________________________ Silvina Caraballo Susana Muraro 66 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ A#"os algorit#os contienen secuencias lineales de tareas ) "i%urcaciones 7ue per#iten ejecutar una deter#inada ra#a del algorit#o. &urante su ejecucin- en %uncin de los datos de entrada aportados- el algorit#o procesa una sola de las dos ra#as. Ta#"i3n contienen un conjunto de tareas 7ue se repiten con di%erentes estructuras de ciclo. (Aota, con el 9ro9"ito de abre?iar la redaccin de lo" alorit)o" "e ob?i la eI9re"in a la )e)oria de la co)9utadora$ de la" "entencia" de inre"o de dato", a" co)o en un luar de )e)oria$ en la" "entencia" de a"inacin)! Los ejemplos expuestos muestran las tres estructuras bsicas que se entrelazan al construir los algoritmos: +ineal, comprende un conjunto de instrucciones o tareas que se ejecutan una a continuacin de la otra. El orden en que estn definidas constituye el orden en que son ejecutadas. (rborescencia, dependiendo de alguna condicin lgica impuesta sobre algunas de sus variables se bifurca en dos o ms caminos diferentes las secuencias de tareas a ejecutar, rompiendo de esta forma la linealidad del proceso. El modelo debe anticipar todos los caminos de bifurcacin de tareas, pero en el momento de su ejecucin, a partir del cumplimento o no de la condicin impuesta, continuar ejecutndose una sola de sus ramas. Cclica, se reitera bajo alguna condicin lgica impuesta sobre determinadas variables una misma secuencia de acciones o tareas, hasta que el no cumplimiento de dicha condicin rompa con el ciclo y obligue su detencin. Esta estructura bsica est constituida por las dos estructuras anteriores (linealidad y arborescencia) pero todos los lenguajes de programacin de alto nivel poseen primitivas que permiten codificar los diferentes tipos de ciclos sin hacer uso explcito de la estructura arborescente. Por este motivo, es considerada como una estructura bsica en s misma. La estructura cclica presenta una variedad de formas en que puede ser implementada: en algunos casos se conoce a priori la cantidad de veces que se reiterarn las tareas, en otros se desconoce de antemano esta cantidad, sin embargo la cantidad de veces que se repite el ciclo depende de una condicin impuesta sobre los datos. Consecuentemente la eleccin del tipo de ciclo est en relacin con caractersticas del problema y al mismo tiempo con las estructuras cclicas que habilitan los lenguajes de programacin. Adems, los ciclos pueden ser de dos estructuras fundamentales diferentes: iterati#os o recursi#os. Con la intencin de ejemplificar ambos tipos de ciclos apelamos a dos procedimientos sencillos elaborados con el lenguaje Logo pues consideramos que sus cdigos son de fcil lectura y que los resultados de los procesamientos son figuras simples cuyo anlisis se abordan perceptivamente. _________________________________________________________________________ Silvina Caraballo Susana Muraro 67 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ $rocedi#iento iterativo 8esultado en pantalla Los procedi#ientos Cuarao ) Dibu!o son a#"os iterativos dado 7ue +acen uso de estructuras cclicas 4pri#itiva 8E$!TE5 7ue ejecutan una cantidad predeter#inada de veces un conjunto de pri#itivas de Logo. El procedi#iento &i"ujo +ace uso del procedi#iento Cuadrado G; . $ara di"ujar en pantalla la %igura es necesario invocar al procedi#iento Dibu!o ingresando co#o dato eFterno 7ue i#pone el algorit#o la #edida del lado del cuadrado 4en este caso se lo ejecut incorporando co#o #edida del lado el valor K?5 $rocedi#iento recursivo 8esultado del procesa#iento El procedi#iento Dibu!o invoca la procedi#iento Cuarao ) al #is#o procedi#iento Dibu!o. Esta propiedad de lla#ar a ejecutar a s #is#o genera un procedi#iento 7ue terica#ente se ejecuta in%initas veces pero en la realidad va a detenerse cuando su ejecucin agota la disponi"ilidad de la 8A*. Perceptivamente ambas figuras, en apariencia, son iguales. La figura construida con el procedimiento iterativo posee 18 cuadrados que comparten un vrtice, rotados en un ngulo de 20 grados. La figura del procedimiento recursivo mantiene la misma caracterstica que la iterativa pero la cantidad de cuadrados que se grafica es conceptualmente infinita (en realidad nunca puede ser infinita porque los recursos de memoria son finitos). La recursin genera procedimientos infinitos que deben ser limitados a partir de la imposicin de determinadas condiciones. En sntesis, todos los algoritmos estn compuestos por combinaciones de algunas de estas tres estructuras bsicas y sus variantes cclicas, las cuales a pesar de su simpleza permiten construir procedimientos altamente complejos. Analizaremos ahora los cuatro algoritmos expuestos anteriormente con el propsito de detectar el nivel de generalizacin que posee cada uno, y las condiciones limitantes que presentan para constituirse en solucin de los otros problemas. 59 8n el 9unto :enua;e" de 9rora)acin$ "e 9re"ent la 9ro9iedad <ue 9o"een aluno" lenua;e" funcionale" de in?ocar 9rocedi)iento" dentro de otro" 9rocedi)iento" co)o "ucede con Cuadrado in?ocado dentro de >ibu;o _________________________________________________________________________ Silvina Caraballo Susana Muraro 68 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Algorit#o A' $er#ite i#pri#ir una %actura para una co#pra de dos productos cuales7uiera. &atos varia"les' cantidad de productos de cada artculo ) sus precios unitarios. Algorit#o 2' Al Algorit#o A agrega el tipo de %actura a i#pri#ir seg.n %or#a de pago. El Algorit#o 2 procesa el Algorit#o A con solo incorporar un nuevo dato 4la %or#a de pago5. Algorit#o C' A#pla la estructura del Algorit#o 2 generalizando la cantidad de productos di%erentes 7ue se ad7uiere. !nclu)e al 2 pero con una lgica espec%ica so"re la %or#a de ciclar. Algorit#o &' Ca#"ia el tipo de ciclo del algorit#o C- no se necesita conocer de ante#ano la cantidad de productos di%erentes 7ue se ad7uiere. Cada uno de estos modelos algortmicos posee un nivel creciente de generalizacin respecto al anterior. Podemos representar esta situacin mediante el siguiente esquema: Algorit#o C o & seg.n la estructura del ciclo 7ue se usa en %uncin de las condiciones del pro"le#a Algorit#o 2 Algorit#o A El modelo de solucin ms general (Algoritmo C o D) permite procesar los datos de los problemas menos generales (Algoritmo A o B), por lo cual cabe preguntarse si no conviene siempre proceder a construir el modelo de mayor nivel de generalidad. Esta decisin involucra las siguientes cuestiones: Cmo determinar el mayor nivel de generalizacin de un problema? Es evidente que siempre frente a un determinado problema se puede pensar en otro ms general que abarque al anterior como caso particular, por lo cual, cul es el lmite de generalizacin que conviene imponer a un problema y por qu? En nformtica, la respuesta a estas preguntas lleva necesariamente a plantear la relacin economa-beneficio entre el nivel de generalizacin con que se atiende el problema, los recursos empleados en su construccin-ejecucin y su utilidad medida en la cantidad de veces que se lo utilizara para resolver las situaciones ms complejas. Elaborar un modelo de solucin con un alto nivel de generalizacin implica disponer de mayores recursos de programacin para establecer los mtodos de construccin que se emplean, las estrategias heursticas, las posibilidades de generar errores debido a la complejidad del problema y las dificultades propias para validarlo en su totalidad. Cuanto ms generalizada es la solucin de un problema mayor cantidad de memoria y tiempo de procesamiento se necesitan para albergar el programa y es posible que tambin para albergar los datos requeridos. El nivel de generalizacin del modelo de solucin est definido por condiciones externas a su construccin, surge de la relacin economa de produccin y ejecucin respecto a los beneficios que produce su implementacin. Por otro lado, Es posible asegurar que al ampliar el nivel de generalizacin de un problema el caso anterior siempre es un caso particular? La respuesta a la pregunta obliga a salir del enfoque exclusivamente informtico, depende del tipo de marco conceptual que sustenta al problema. Considrese el problema de calcular el permetro de poligonales cerradas que _________________________________________________________________________ Silvina Caraballo Susana Muraro 69 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ corresponden a las siguientes figuras geomtricas: Proble#a A0 Un tri(ngulo. Proble#a .' Un cuadril(tero Proble#a C0 Un pent(gono. Proble#a D0 Un dodec(gono. Proble#a D0 Un polgono. Proble#a E0 Una circun%erencia. Para cada problema se pueden construir varios modelos empleando diferentes estructuras bsicas, todos e"ui#alentes entre s (ms adelante se retoma el concepto de equivalencia de modelos), por ejemplo las siguientes son soluciones al problema A: Algorit#o A: !nicio !ngresar el valor del pri#er lado !ngresar el valor del segundo lado !ngresar el valor del tercer lado Asignar su#a de los valores de los tres lados !#pri#ir el contenido del lugar de #e#oria 7ue tiene asignada la su#a 6in Algorit#o A> !nicio 8epetir K veces !ngresar el valor de un lado Acu#ular el valor del lado ingresado en un lugar #e#oria 6in del ciclo !#pri#ir el contenido del lugar de #e#oria 7ue tiene asignado el valor acu#ulado 6in Los algoritmos A0 y A1 sirven para calcular permetros de tringulos de cualquier tipo, slo se generalizan los valores de los lados. Si el algoritmo A2 se lo modifica de la siguiente forma: Algorit#o A> !nicio !ngresar cantidad de lados del polgono 8epetir tantas veces co#o cantidad de lados tiene el polgono !ngresar el valor de un lado Acu#ular el valor del lado ingresado en un lugar #e#oria 6in del repetir !#pri#ir el contenido del lugar de #e#oria 7ue tiene asignado en valor acu#ulado 6in Su estructura permite resolver los problemas A B, C y D; pero imposibilita calcular el permetro de una circunferencia debido a que sus "lados constituyen una cantidad infinita de puntos a- dimensionados, que no son ni contables ni medibles y por lo tanto no acumulable la suma de sus medidas (en su clculo interviene el valor de P, = 0 3,14159...). Este inocente problema de clculo de permetros de figuras planas, genera dos tipos de soluciones segn sea o no una elipse o una circunferencia (caso particular de la elipse) en contraposicin con poligonales finitas. Adems, la solucin planteada til para cualquier figura geomtrica de lados medibles posee la propiedad de que a medida que crecen los lados aumenta el tiempo de procesamiento. En sntesis, en el caso de calcular el permetro de figuras planas, la tentadora idea de construir una solucin general dejando todos los datos expresados mediante variables cuyos valores se ingresan en el momento de la ejecucin, generan un procedimiento invlido sobre una figura particular. Por consiguiente, al modelizar la solucin de un problema es imprescindible delimitar a priori el nivel de generalizacin con que se lo aborda, lo cual involucra determinar los lmites conceptuales que tiene el problema, decidir claramente qu se incluye en el problema y qu queda fuera de l, y recin determinar el nivel de generalizacin con que se lo aborda; tarea que involucra el anlisis de la relacin economa-beneficio con que se asume la construccin del modelo. _________________________________________________________________________ Silvina Caraballo Susana Muraro 70 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ MODELOS FUNCONALES Como su nombre lo indica, la construccin de modelos funcionales consiste en describir la solucin de un problema a travs de la construccin de funciones matemticas que se relacionan entre s a travs del pasaje de datos. Todos los lenguajes de alto nivel ofrecen un conjunto de funciones matemticas, lgicas y transformadoras de conjuntos de caracteres 50 , aunque ste no sea estructuralmente funcional. En la actualidad, ningn programador programa una funcin que calcule, por ejemplo, una raz cuadrada; los lenguajes de programacin de alto nivel tienen incorporada una amplia biblioteca de funciones matemticas, lgicas y de tratamiento de variedad de datos lo que permite que cada una de esas funciones se encuentre disponible como una primitiva. Esta situacin no invalida el paradigma al cual corresponde, son conceptos diferentes que el lenguaje ofrezca una biblioteca de funciones a que ofrezca un ambiente de trabajo funcional. Con el objeto de ejemplificar la idea de modelos funcionales se abordan los problemas de la compra en una librera empleando como ambiente de trabajo la planilla de clculo, la cual constituye un lenguaje funcional. *odelo lineal - $ro"le#a A *odelo ar"orescente - $ro"le#a 2. Celdas' A2+ A3+ A4+ .2+ C2+ D2 ) C5 sirven para co#unicar la estrategia e#pleada en la construccin del #odelo ) los datos 7ue contienen las celdas contiguas. Celdas' .3+ .4+ C3 ) C4 contiene datos #ediante los cuales se constru)en las siguientes %unciones' D3 6 .3 7 C3 ) D4 6 .4 7 C4 47ue se leen BA &> se le asigna el producto de 2> por C>C R BA &K se le asigna el producto de 2K por CKC5 A su vez estas dos %unciones al#acenadas en &> ) &K se e#plean en la construccin de la %uncin D3 8 D4 incorporada en la celda D5 4a la #anera de %uncin de %uncin5 La solucin #antiene una estructura lineal salvo para la celda D5 7ue tiene de%inida una %uncin lgica condicional 7ue depende del dato incorporada en la celda F3' La celda D5 contiene la %r#ula' SI 9 F3 6 :Si: ; 9D3 8 D4<; 9D3 8 D4<1 9D3 8 D4<7=+2 < %uncin condicional 7ue a"re dos posi"ilidades de solucin. En el caso de incorporar la pala"ra BS*C en la celda F3 el valor de la celda D5 es igual al valor o"tenido por #edio de la planilla de la iz7uierda En ambas soluciones se han construido funciones matemticas que calculan "Monto Total segn la cantidad de cada artculo comprado y el "Monto a Pagar como una funcin de funciones En la planilla de la derecha la funcin que obtiene el "Monto a Pagar est definida empleando una funcin lgica condicional que determina cul de dos funciones distintas -7 8n 0nfor)Htica, carHcter$ e" cual<uier ")bolo ele)ental <ue 9o"ee una re9re"entacin interna en la co)9utadora! 8;e)9loQ la" letra" de nue"tro alfabeto, lo" diez dito" y lo" ")bolo" )ate)Htico" y linU"tico" <ue e)9lea)o" en la co)unicacin e"crita! 8"te te)a "e eI9ande en el 9unto en :o" dato", "u" oranizacione" y for)a" de re9re"entacin$! _________________________________________________________________________ Silvina Caraballo Susana Muraro 71 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ ejecutar segn resulte la evaluacin de la condicin impuesta. La diferencia entre la solucin algortmica y la funcional propuesta se hace evidente al intentar modelizar las estructuras cclicas. Las planillas de clculo no poseen primitivas que permitan ciclar un conjunto de instrucciones empleando siempre los mismos lugares de memoria como se observa en los problemas cclicos de emitir las facturas ejemplificadas en el punto "Estructura de los algoritmos. Slo se puede aliviar el trabajo de reiterar la frmula que calcular los montos a pagar empleando el procedimiento de copia que ofrece el lenguaje. Este lmite es propio del lenguaje empleado y no as de las posibilidades que ofrecen las modelizaciones funcionales, en otros lenguajes funcionales es posible ciclar. El ejemplo vuelve a evidenciar que siempre se est en la tensin de tener que afrontar decisiones relativas a la economa- beneficio en la eleccin del modelo y en el lenguaje de programacin 51 que se emplea. Una diferencia interesante de plantear entre la solucin funcional elaborada con una planilla de clculo y la solucin desarrollada con un lenguaje de alto nivel imperativo, es el lugar que adquieren los datos respecto de la construccin del modelo. Al describir la estructura de los algoritmos y de los lenguajes imperativos, se plante que los datos se representan a travs del empleo de variables y que recin se incorporan a la RAM en el momento de su procesamiento. De esta forma quedan delimitados diferentes momentos para la construccin del algoritmo, su versin codificada en el lenguaje de programacin, la carga en la RAM del programa elaborado, su invocacin para ser ejecutado, y, recin en ese momento el ingreso de los datos. La planilla de clculo ofrece un ambiente de trabajo totalmente diferente al que ofrecen los lenguajes imperativos y el resto de los funcionales. El modelo se describe en trminos de la propia estructura que ofrece la planilla (abarca la organizacin de los datos y las palabras reservadas del propio lenguaje), generalmente los datos del problema constituyen parte de la construccin codificada del modelo. Es as como en las planillas anteriores, datos, frmulas y comentarios descriptivos de los datos estn totalmente incorporados a celdas de la planilla. An ms, las celdas de la planilla de clculo son representaciones virtuales de las celdas de memoria nombradas por el propio lenguaje en forma prefijada 52 . La situacin anteriormente descripta es especfica de la planilla de clculo, en otros lenguajes funcionales los datos de entrada se ingresan a la RAM para ser procesados en el momento en que se ejecuta el programa, como ejemplifica el siguiente problema: Graficar baldosa de Tipo 1 o baldosa Tipo 2: Ambas baldosas son cuadradas, de medida variable y se diferencian por el dibujo interno. Empleando el lenguaje funcional Logo su solucin puede ser modelizada de las siguientes formas: Tipo1, constituida por un cuadrado que tiene insertado en su interior otro cuadrado que -1 Cabe aclarar <ue la 1lanilla de CHlculo e" 9o"ible co)9oner 9rocedi)iento" (deno)inado" )acro") <ue realizan "ecuencia" de accione" "obre la 9lanilla, "aliendo del entorno de la 9lanilla, 9rora)arlo en alMn lenua;e de 9rora)acin co)o 9uede "er el 3i"ual &a"ic 9ara reto)ar el 9rocedi)iento de"de la 9lanilla co)o una nue?a 9ri)iti?a! -' (eMn la ?er"in a la <ue 9ertenece 9oca" o nula" 9o"ibilidade" ofrece al 9rora)ador 9ara deno)inarla" "eMn "u" intere"e" o 9or role" <ue 9o"een dentro del )odelo en con"truccin! _________________________________________________________________________ Silvina Caraballo Susana Muraro 72
Tipo: Tipo> UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ denominamos "Rombo. Fun"in Pro"ei#iento que reali&a Una posible estru"tura e la fun"in Cuadrado 'Lado &ado el valor de entrada de la varia"le 0Lao- devuelve co#o salida el di"ujo de un cuadrado $ara Cuadrado 'Lado 8epite G 9Avanza 'Lado 1iraderec+a ;?@ 6!N 8o#"o 'Lado &i"uja en pantalla un cuadrado de lado igual a :V> de la #edida del lado del cuadrado eFterior $ara 8o#"o 'Lado Cuadrado 'Lado W 8aizCuadrada :V> 6!N U"ica8o#"o 'Lado U"ica en pantalla el cursor gra%icador en posicin ) lugar para di"ujar el ro#"o $ara U"ica8o#"o 'Lado Avanza 'LadoV> 1iraderec+a G= 6in El procedimiento que grafica en pantalla la baldosa Tipo 1 es la funcin: $ara Tipo: 'Lado Cuadrado 'Lado U"ica8o#"o 'Lado 8o#"o 'Lado 6!N Tipo2 est constituida por un cuadrado de medida variable que tiene insertado un crculo en su interior Fun"in Pro"ei#iento que reali&a0 Una posible estru"tura e la fun"in Cuadrado 'Lado &ado el valor de entrada de la varia"le 0Lao- devuelve co#o salida el di"ujo de un cuadrado $ara Cuadrado 'Lado 8epite G 9Avanza 'Lado 1iraderec+a ;?@ 6!N Circulo 'Lado &i"uja en pantalla un circulo tangente a los lados del cuadrado $ara Circulo 'Lado 8epite KH? 91iraderec+a : Avanza > W ''Lado V KH?@ 6!N U"icaCirculo 'Lado U"ica en pantalla el cursor gra%icador en posicin ) lugar para di"ujar el circulo $ara U"icaCrculo 'Lado Avanza 'LadoV> 6!N El procedimiento que grafica en pantalla la baldosa Tipo2 es la funcin: $ara Tipo> 'Lado Cuadrado 'Lado U"icaCirculo 'Lado Circulo 'Lado 6!N Sin embargo, el problema propuesto plantea la necesidad de seleccionar el tipo de baldosa a graficar automticamente, por lo cual hay que integrar en una funcin general la posibilidad de graficar baldosas Tipo1 o Tipo2 segn alguna condicin dada durante la ejecucin del procedimiento. La funcin que devuelve la grfica de uno de los dos tipos de baldosa posibles de ser solicitada es: $ara 2aldosa 'Lado '6or#a Si '6or#a X : 9Tipo:' Lado@ 9Tipo>' Lado@ 6in Si a la varia"le '6or#a se le ingresa un : - la condicin es verdadera por lo tanto ejecuta la %uncin Tipo:- si no ejecuta la %uncin Tipo> De esta forma, el procedimiento Baldosa es una funcin de funciones que integra una estructura condicional que tiene incorporado las funciones Tipo1 y Tipo2, las cuales a su vez tiene incorporadas las funciones Cuadrado, Rombo, Crculo, UbicaRombo y UbicaCrculo. _________________________________________________________________________ Silvina Caraballo Susana Muraro 73 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Este ejemplo permite apreciar al lenguaje Logo como perteneciente al paradigma funcional. La estructura sintctica de sus sentencias es anloga a las estructuras sintcticas de las funciones que se definen con l. Por ejemplo, la primitiva (#anza 3+ado est constituida por el nombre de la funcin "Avanza y por la denominacin de la variable que almacenara el valor de la medida del lado en el momento de la ejecucin de la funcin. Por otro lado, los procedimientos Tipo1 y Tipo2 son para Logo nuevas funciones construidas empleando primitivas del propio lenguaje, cada una de las cuales ejecuta la rutina definida empleando el valor numrico asignado a la variable :Lado, "Tipo1 y "Tipo2 pasan a ser nuevas palabras reservadas, producindose una e4tensin del lenguaje de programacin. En muchos casos, son difusos los lmites entre las modelizaciones funcionales y las modelizaciones algortmicas. Dependen totalmente de cmo se encara el problema y la estructura sintctica y semntica del lenguaje que permita elaborar construcciones funcionales. Existen lenguajes de alto nivel que no proveen los elementos para elaborar nuevas funciones y menos an ofrecen posibilidades para extender el lenguaje. Sin embargo, la necesidad de plantear modelizaciones informticas en las cuales se acoplan determinados mdulos a la manera de cajas negras con entradas y salidas especficas, hace que estos lenguajes provean elementos que faciliten la elaboracin de subrutinas. Las subrutinas son algoritmos que realizan procedimientos especficos y son insertados dentro del cuerpo general del programa, que bajo determinadas condiciones del problema se las invoca y manda a ejecutar. Es imprescindible transferir los datos del cuerpo principal del programa a las subrutinas y de las subrutinas al cuerpo principal del programa. MODELOS DECLARATVOS O LGCOS En la modelizacin algortmica la solucin de un problema consiste en expresar el conjunto de acciones en forma ordenada para que la computadora las ejecute "paso a paso para arribar al resultado del problema. En las modelizaciones funcionales los programas se construyen como conjunto de funciones interrelacionadas. Tanto en el paradigma imperativo como en el funcional las modelizaciones exigen construir "a priori de su ejecucin la solucin del problema. La modelizacin declarativa de problemas consiste en describir al propio problema a travs de un conjunto de expresiones lgicas y es su ejecucin informtica la que a partir de dichas expresiones y reglas lgicas generales obtiene la meta del problema (su solucin). De esta forma, la solucin no se construye a priori de la ejecucin sino que se deduce durante del proceso de ejecucin. _________________________________________________________________________ Silvina Caraballo Susana Muraro 74 Su"rutina $rogra#a $rincipal UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Las expresiones en una modelizacin declarativa o lgica son de dos tipos: a) 5echos, que consisten en las relaciones lgicas entre los objetos concretos que describen al problema, por lo cual tienen un carcter particular. b) 'eglas de deduccin, que comprenden estructuras lgicas genricas, por lo cual tienen un carcter general. A la manera de ejemplificacin de este tipo de modelizacin se propone el problema de determinar para la cuenca del Ro de la Plata, sus ros afluentes. Esta cuenca baa tierras de Brasil, Paraguay, Uruguay, Bolivia y Argentina. Una parte de toda la declaracin lgica de esta cuenca la constituyen las expresiones lgicas que establecen la relacin entre el ro Paran y sus afluentes. Estos hechos describen proposiciones verdaderas corroborables a travs de algn mapa oficial que representa dicha cuenca hdrica: /ec+o Se interpreta reci"e 4$aran(- Salado5 BEl ro $aran( reci"e las aguas del ro SaladoC pasa 4Salado- Argentina5 BEl ro Salado pasa por ArgentinaC reci"e 4$aran(- Carcara,(5 BEl ro $aran( reci"e las aguas del ro Carcara,(C pasa 4Carcara,(- Argentina5 BEl ro Carcara,( pasa por ArgentinaC reci"e 4$aran(- $aranapane#a5 - - - - - pasa 4$aranapane#a- 2rasil5 - - - - - reci"e 4$aran(- $aranaY"a5 - - - - - pasa 4$aranai"a- 2rasil5 - - - - - reci"e 4$aran(- !guaz.5 - - - - - pasa 4!guaz.- Argentina5 - - - - - pasa 4!guaz.- 2rasil5 - - - - - reci"e 4$aran(- 1rande5 - - - - - pasa 41rande- 2rasil5 - - - - Reglas que se pueden establecer para que el modelo deduzca interrogantes referidos a afluentes y tierras que baan, pueden ser: a%luente 4r- $- 85 ZX pasa 4r- $5 reci"e 48- r5 Si se plantea el objetivo de hallar el ro o los ros que pasan por la Argentina y son afluentes del Paran, expresado en trmino de nuestro sistema de expresiones lgicas se tendra: a%luente 4[- Argentina- $aran(5 El objetivo es el de hallar el ro X, tal que X pase por la Argentina y el ro Paran reciba las aguas de X. Para cumplir con el objetivo, el lenguaje declarativo con el cual se modeliza informticamente el problema es el encargado de evaluar los hechos aplicando las reglas de deduccin. En este caso se deduce que hay tres ros que cumplen con el interrogante planteado: [ X Carcara,( [ X Salado [ X !guaz. _________________________________________________________________________ Silvina Caraballo Susana Muraro 75 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ De esta forma se llega a tres soluciones del interrogante planteado, situacin tpica y realista de las modelizaciones lgicas. Es evidente que la modelizacin declarativa impone el abordaje de la lgica de primer orden, y en especial la construccin de expresiones lgicas y las reglas de deduccin. Pero, mirar a estos tipos de problemas desde un encuadre global atendiendo a los avances conceptuales y los desarrollos tecnolgicos logrados, permite comprender la expansin de campo de las TC que llevaron a su explosin social. MODELOS ORENTADOS A OBJETOS La resolucin de problemas orientada a objetos fue planteada con el propsito de disponer de una metodologa que se adecue a abordar la realidad fsica en que estamos inmersos. Los problemas de la vida real son complejos y sus soluciones se logran mediante gran cantidad de componentes del software que renen multitareas, procesos concurrentes, sistemas de ventanas, interfaces amigables, etc. Slo con echar una mirada sobre los programas con los cuales interactuamos podemos apreciar la complejidad con que han sido diseados. La metodologa de resolucin de problemas orientados a objetos permite manejar estas complejidades y resolver los problemas simulando virtualmente aquello que haramos en la realidad. Describe simulaciones del mundo real, en las cuales cada objeto que la compone es una entidad virtual con comportamientos anlogos a los objetos con los que interactuamos. El supuesto que sostiene esta metodologa es que nuestra representacin del mundo fsico est constituida por objetos con sus propias caractersticas, que reciben y emiten mensajes, y que realizan acciones especficas de su propio rol de acuerdo a los mensajes que reciben. Cada objeto posee sus mtodos para realizar las acciones que involucran los mensajes recibidos. De esta forma, los objetos pueden desenvolverse y evolucionar por s mismos, y en relacin con los otros. Esta metodologa rompe con las modelizaciones "paso a paso propias de la programacin imperativa; es otra estrategia de resolucin de problemas que implica otro tipo de estrategias heursticas. En el tratamiento informtico cada objeto es una abstraccin, en su configuracin estructural y funcional slo se tienen en cuenta aquellos atributos y comportamientos que son pertinentes al problema a tratar. La programacin de los objetos y su comportamiento hace que estos sean independientes entre s y slo respondan en la medida que son activados por mensajes, por lo cual en muchos casos, en la estructura del lenguaje de programacin existe un programa o mdulo controlador cuya funcin es la de otorgar el marco temporal dentro del cual se desarrollan las actividades de los objetos. Para comprender conceptualmente este tipo de metodologa es esencial ver al problema desde la perspectiva del usuario y modelar la solucin como objetos abstractos 53 . El modo natural de resolver los problemas requiere del uso de: (bstraccin -* 8"to" ob;eto" ab"tracto" corre"9onden a lo" ti9o" de dato" ab"tracto"$ cuya 9re"entacin conce9tual e"tH incluida en el 9unto 8"tructura de dato" ab"tracto"$ _________________________________________________________________________ Silvina Caraballo Susana Muraro 76 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ 6asaje de mensajes ,ncapsulamiento La abstraccin est presente al momento de visualizar el problema del mundo real a resolver y al definir las caractersticas esenciales de cada entidad que se utiliza en la modelizacin. Una correcta abstraccin hace posible escribir programas que resuelven estos problemas. El pasaje de mensajes comprende tres aspectos esenciales: a) determinar el objeto receptor del mensaje, b) el mtodo que ejecuta el objeto receptor frente al mensaje del emisor, y c) los parmetros con los cuales se ejecuta el mtodo. Como el comportamiento de los objetos est totalmente definido por sus mtodos, los mensajes son las formas de invocar la ejecucin de las interacciones que pueden realizarse entre los objetos. El encapsulamiento toma en consideracin que tanto los atributos como los mtodos que ejecutan son propios de cada clase de objetos. El objeto emisor del mensaje no tiene en consideracin y desconoce el mtodo del objeto receptor. Esto permite al programador pensar en qu objetos necesita y cules funciones deben poseer, para disear con ellos la solucin del problema. Pero, qu es un objeto en nformtica? Un objeto es un concepto, una abstraccin mediante la cual queda claramente identificado qu es y qu hace esa representacin del objeto real. Su creacin persigue dos propsitos: comprender al mundo real que se quiere virtualizar y otorgar el basamento para su tratamiento informtico. La forma de descomposicin del mundo real depende del tipo de problema y de la descripcin que se hace de ese mundo (queda claro que siempre estamos sujetos a decisiones metodolgicas personales). Los objetos son identificables y distinguibles unos de otros y pertenecen a clases de objetos especficas. En la modelizacin se parte de definir a las clase de objetos, las cuales describen a grupos de objetos que poseen los mismos atributos y comportamiento, las mismas relaciones con los otros objetos y la misma semntica (interpretacin) El comportamiento constituye las operaciones que realizan los objetos a partir de los mensajes que reciben. Como todos los objetos de una determinada clase poseen los mismos atributos y las mismas operaciones descriptoras de sus comportamientos; se diferencian por los valores de sus atributos. Supongamos que se est modelizando las relaciones entre pases de Amrica, debemos partir de definir la clase de objetos "Pases con sus atributos y sus operaciones. La definicin de la clase permitir establecer cada uno de los objetos que la componen, es decir cada uno de los pases con sus valores y sus funciones: _________________________________________________________________________ Silvina Caraballo Susana Muraro 77 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Clase $ases Atri"utos' No#bre' Cadena de caracteres Superfi"ie N.#ero entero Pobla"in' N.#ero entero (onto Co#er"io E>terior' N.#ero 8eal Etc. peraciones' Co#prar' Tipo de dato 8eal ?ener' Tipo de dato 8eal E#itir bonos' Tipo de dato 8eal Etc. "jeto: Argentina >.I;:.<:? LL..
"jeto> C+ile I=H.?;H LL. "jetoK 2rasil :H;.<I>.<=; LLL Las clases de objetos poseen atributos p-blicos o atributos pri#ados. Los primeros pueden ser modificados por interaccin con otros objetos mientras que los segundos estn protegidos de posibles interacciones. Como fue expuesto, esta proteccin se denomina "encapsulamiento. Las "clases son tipos de datos (tema que se desarrolla en el punto sobre estructuras de datos), a la manera de plantillas que permiten representar objetos con iguales atributos y que responden a idnticos mtodos. Slo hay que definir las caractersticas generales de la clase. Una vez definida la clase pueden generarse diferentes objetos de esa clase. Cada objeto es una instancia de una determinada clase. Las clases poseen operaciones que son las funciones o transformaciones que realizan los objetos de su clase, por lo cual todos los objetos de una clase poseen los mismos atributos y las mismas funciones. En nuestro ejemplo de la clase "Pases las funciones propuestas son: vender, comprar, emitir bonos, etc. (se modeliza el comportamiento econmico de los pas de Amrica). Cada objeto ejecuta sus mtodos con independencia de los otros, un mensaje de un objeto emisor es el que moviliza las acciones del objeto receptor. Una determinada funcin, que posee un determinado nombre; realiza diferentes acciones dependiendo del objeto receptor, esto implica que no es el nombre de la funcin lo que determina el procedimiento a realizar sino el mtodo que tiene incorporado la clase del objeto receptor frente al nombre de la funcin. Un mismo nombre de un mensaje, por ejemplo "comprar descargar diferente mtodo segn a qu clase pertenece el objeto receptor. Se denomina polimorfismo a la caracterstica de que a un mismo nombre de mtodo, las diferentes clases responden con funciones diferentes. Tambin muestra que el mtodo no es del objeto emisor sino que es parte constitutiva de la clase del objeto receptor. Con el propsito de ejemplificar la metodologa exponemos una secuencia de pantallas resultado de la ejecucin de un programa realizado empleando el lenguaje de alto nivel Scratch 54 de uso educativo. Este lenguaje de programacin trabaja con objetos pero no permite -5 1Hina (cratc% en %tt9QVV"cratc%!)it!edu >e"cara del "oftGare en _________________________________________________________________________ Silvina Caraballo Susana Muraro 78 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ definir a los objetos como estructuras de datos abstractos. El lenguaje Scratc+- per#ite de%inir escenarios 4i#agen de %ondo5 ) seleccionar o"jetos de una li"rera o de%inidos por el progra#ador. Los escenarios ta#"i3n son o"jetos por lo cual es posi"le asignarle #3todos ) reci"ir #ensajes. "jeto> "jetoK En la i#agen de la derec+a se o"serva un %ondo 7ue representa una pla)a ) dos o"jetos to#ados de la li"rera.
*3todos propios del "jeto>' ca#inar- rotar- pensar ) saludar. La parte superior de la i#agen #uestra 7ue se est( dentro del a#"iente de tra"ajo del "jeto>- espacio destinado a de%inir los #3todos 4%unciones5 7ue realiza. Co#o el lenguaje no per#ite de%inir tipos de datos a"stractos- no es posi"le de%inir clases de o"jetos- los #3todos- los o"jetos )a tiene de%inido sus #3todos. El "jetoK reci"e el #ensaje ) ejecuta el #3todo 7ue %tt9QVVll,!)edia!)it!eduV9ro;ect"V"cratc%VdoGloadV _________________________________________________________________________ Silvina Caraballo Susana Muraro 79 El "jeto > enva un #ensaje UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ tiene asociado en respuesta al #ensaje El #3todo 7ue ejecuta el "jetoK es propio de 3l. Slo ejecuta las acciones de%inidas co#o #3todo en su estructura. En este caso actuar %rente al #ensaje B/olaC. Qu aporta la resolucin de problemas orientada a objetos a la apropiacin conceptual de la nformtica? Ms all que la industria del software cada vez ms requiere de especialistas y programadores que respondan a los diversos paradigmas informticos; en especial metodologas modulares y orientadas a objetos, desde la educacin bsica y obligatoria aporta: Primero, La industria informtica hizo migrar a los usuarios a software de alta complejidad, en los cuales se propone que sean receptor distante de su estructura interna. Cada vez se est ms lejos de comprender los aspectos tecnolgicos de las herramientas que usamos, por lo cual somos cada vez ms ingenuos frente a la tecnologa digital. Comprender la tecnologa, hacia donde se dirigen sus desarrollos es un paso necesario para significarla socialmente. Segundo, el acceso a las actuales computadoras personales, notebook o netbook, con sus variadas interfaces, cada vez ms ofrecen software de estructuras orientadas a objetos, por lo cual se convive con esta metfora informtica para cuyo abordaje es imprescindible su comprensin si es que se decide un abordaje desde la negociacin con la tecnologa digital, en el sentido de Fourez. Tercero y en especial, as como la programacin algortmica y la funcional constituyen pilares fundantes de la nformtica, no puede reducirse la programacin a exclusivamente estos dos paradigmas. A diferencia del perodo en que la nformtica desarrollaba recursos informticos que resolvan necesidades existentes, creando aplicaciones que permitan automatizar procesos que se venan realizando en forma manual; actualmente desarrolla nuevas aplicaciones impensables para las generaciones anteriores que modifican las formas de interaccin entre personas como los software administradores de las redes sociales. Es imprescindible analizar hacia dnde se dirigen sus desarrollos dado que stos inciden sobre nuestras vidas. METODOLO+2AS DE CONSTRUCCIN DE MODELOS INFORM"TICOS La elaboracin de una solucin informtica pone en juego las siguientes actividades: Analizar el problema, para definirlo, delimitar su nivel de generalizacin y detectar las posibilidades de proceder a un tratamiento informtico (finitud de tareas y de tiempo de _________________________________________________________________________ Silvina Caraballo Susana Muraro 80 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ procesamiento). Analizar el problema para detectar si es posible describir su solucin a travs de la desagregacin del mismo en un conjunto finito de sub-problemas que posean soluciones independientes e integrables entre s. Decidir sobre la forma y representacin de los datos que se consideren para establecerlos en forma adecuada al tratamiento del problema. Elaborar un planteo mental y abstracto del modelo de solucin segn las caractersticas de la modelizacin a disear: algortmica, funcional, declarativa, orientada a objetos. Seleccionar los recursos necesarios; uno de los elementos es el lenguaje de programacin elegido segn su ambiente de trabajo de modo que mejor se adecue a la formalizacin de la abstraccin planteada. El lenguaje es el que habilita las operaciones elementales o bsicas que se emplean en la elaboracin del modelo. Comprobar la validez lgica del modelo, para asegurar que cumple la condicin de ser solucin del problema que dio origen a su construccin. Para llevar a cabo cada una de estas actividades se despliegan tcnicas informticas, las cuales varan segn las etapas del diseo y las producciones que se esperan. Son diferentes las tcnicas que permiten definir las estructuras de los datos adecuadas al tratamiento de un problema de aquellas que se emplean para disear, construir y validar las modelizaciones. Lo que con seguridad siempre ocurre es que es imposible interactuar con la computadora sin desplegar tcnicas informticas, algunas veces se trabaja con conciencia sobre cules se emplean y porqu, y en otras situaciones no se las identifica, por lo cual se acta con "inocencia tecnolgica. Dos son las metodologas ms utilizados para elaborar modelos informticos: 1) Metodologa Top-!o&n 2) Metodologa 7ottom-*p El Top-!o&n o metodologa de refinamiento por pasos sucesi#os, consiste en analizar el problema a fin de identificar sub-problema que lo constituyen para luego proceder a desagregar la solucin conforme a ellos. De esta forma, el problema inicial es dividido en sub-problemas ms pequeos y sencillos, por consiguiente ms simple de tratar. En este procedimiento se elaboran unidades de programa de estructura simple y codificable directamente en el lenguaje de programacin seleccionado. Anteriormente se emple esta metodologa en la construccin del procedimiento funcional que dibuja en pantalla uno de dos tipos de baldosas. Para su abordaje se consider la totalidad de las dos baldosas, se las desagreg en sus componentes geomtricas bsicas las cuales se integraron en un procedimiento especfico para cada baldosa, los que a su vez se emplean para definir un procedimiento general que grafica cualquiera de los dos tipos segn una seleccin previa sobre cul graficar. _________________________________________________________________________ Silvina Caraballo Susana Muraro 81 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Problema: Graficar una de estas dos baldosas, segn sea demandado: El pro"le#a se desagrega en gra%icar dos posi"les "aldosas 2aldosa Tipo: 2aldosa Tipo> Se desagrega en ' Se desagrega en Los #dulos se co#ponen e#pleando de las %unciones U"ica8o#"o ) U"icaCirculo para construir cada "aldosa- las cuales a su vez se co#ponen en el procedie#eitno general 7ue gra%ica a "aldosa de#andada Presentamos un ejemplo que muestra a la metodologa Top-Down empleada al programar con el lenguaje de programacin orientado a objetos Alice- Rebeca.
El objeto conejo perteneciente a la "clase conejo est constituido por las subpartes: "rightLeg, "leftLeg, "upperBody, "tail (pierna derecha, pierna izquierda, cuerpo arriba, cola). Estas subpartes actan segn mtodos que les son propios e incluso es factible programar mtodos para cualquiera de ellas. A su vez, algunas de estas partes se componen de otras subpartes ms elementales. Tal es el caso de rightLeg. Del mismo modo, en que se programa un mtodo para la clase conejo considerando el objeto como un todo, es factible hacerlo para alguna subparte. Un mtodo posible para la subparte "conejo.upperBody.head.rightEar: que corresponde a la oreja derecha (rightEar) incluida en la subparte cabeza (head) que es subparte de la parte superior del cuerpo (upperBody) del conejo, puede ser: El mtodo quedar disponible para una subparte del objeto conejo. El ejemplo muestra cmo quien programa en Alice-Rebeca, para hacer una animacin que incluya al objeto conejo, puede hacer uso del objeto conejo como un todo o desagregarlo en las subpartes que lo constituyen hasta llegar a la ms elemental en la jerarqua de partes. Al dirigir _________________________________________________________________________ Silvina Caraballo Susana Muraro 82 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ un mtodo a todo el objeto o a una subparte, claramente, quien programa estara pensando en trminos de la metodologa Top-down, al desagregar el problema en subproblemas de menor jerarqua. Por otro lado, la idea bsica del 7ottom-*p es la de elaborar las modelizaciones como se construyen edificios a travs de bloques pre-armados. Por ejemplo, abordar la construccin del modelo funcional graficador de los dos tipos de baldosas desde una metodologa Bottom-up, es partir de componentes primarias elaboradas a priori a la manera de procedimiento que grafican las figuras geomtricas necesarias (crculos y cuadrado) que compone la funcin Baldosa. Cada mdulo se elabora como una unidad en s misma hasta llegar a su totalidad. Esta metodologa no asegura que la composicin de los mdulos y sus ensambles lgicos funcionen adecuadamente. En general, se emplea para aprovechar bibliotecas de algoritmos pre- armados, tal cual sus estructuras o con pequeas modificaciones sobre ellas. A continuacin se muestra la metodologa 7ottom-up para resolver un problema de estructura orientada a objetos dentro del ambiente de trabajo del lenguaje Alice-Rebeca: Tomamos como ejemplo, para presentar la metodologa 7ottom-*p, el constructor de personajes de Alice-Rebeca. ste permite crear el personaje sobre la base de partes o componentes elementales. De este modo es posible determinar la forma de la cabeza, el tronco y las piernas eligiendo dentro de los recursos que ofrece el lenguaje. En forma anloga, otras elecciones permiten terminar de componer al personaje (color de piel, forma del cabello, forma, color y posicin de ojos, boca, vestimenta). El objeto que constituye el personaje creado a partir de componentes bsicos, admitir mtodos que definan su comportamiento. En el ejemplo presentado puede verse que el personaje es armado a partir de partes elementales, las que asociadas forman el conjunto que constituye el objeto. Cada metodologa tiene sus ventajas y desventajas. Algunas de ellas son: La metodologa Top-!o&n, subdivide el problema en mdulos independientes partiendo de su globalidad, permite abarcar problemas complejos sin perder de vista su estructura general. La metodologa 7ottom-*p se asienta en la integracin de partes que pueden haber sido diseadas para diferentes propsitos y pueden presentarse problemas con sus estructuras y los ensambles finales. La metodologa Top-!o&n permite trabajar exhaustivamente cada uno de los niveles jerrquicos en que se va desagregando el problema, por lo cual atiende en forma _________________________________________________________________________ Silvina Caraballo Susana Muraro 83 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ especfica su estructura. Cada nivel constituye una desagregacin del nivel superior. La metodologa 7ottom-*p permite elaborar una amplia biblioteca de objetos virtuales para ser empleadas en diferentes situaciones. Si bien no son las nicas metodologas, actualmente estas dos son los ms empleadas. Una metodologa tradicional e histrica especialmente empleada en la modelizaciones algortmicas, consiste en describir en forma analtica los sucesivos pasos o tareas que lo constituyen, como en los ejemplos expuestos sobre la impresin de facturas. El siguiente ejemplo, programado en Scratch, muestra a un proyecto (es el trmino que emplea este lenguaje para identificar al grupo de objetos que interactan dentro de un escenario) elaborado empleando la metodologa Top-do&n. Se propuso realizar una animacin en la cual un nio juega a la pelota. Los objetos son: escenario, nio, pelota y bonete. En este caso el escenario es un objeto esttico y no tiene definido mtodos mientras que nio, pelota y bonete poseen sus propios mtodos: Mtodo del Objeto 1 Mtodo del Objeto 2 Mtodo del Objeto 3 Si se analizan internamente los procedimientos que grafican los mdulos de las baldosas, los objetos dinmicos incluidos en el proyecto Scratch (nene juega pelota) y los de la animacin elaborada en un entorno orientado a objeto del Alice-Rebeca (conejo), se puede apreciar que las estructuras algortmicas estn siempre presentes. Cabe preguntarse si las tres estructuras bsicas identificadas al abordar el concepto de algoritmo tambin son partes constitutivas de los mtodos funcionales y orientados a objetos. Consideremos en primer lugar la funcin baldosa Tipo1 , su construccin puede ser abordada empleando una estructura lineal o una cclica como se muestra en los siguientes procedimientos: _________________________________________________________________________ Silvina Caraballo Susana Muraro 84 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ E#plea sola#ente estructura Lineal E#plea estructuras cclicas ) lineales !nicio &esplazar #edida del lado 8otar derec+a ;? grados &esplazar #edida del lado 8otar derec+a ;? grados &esplazar #edida del lado 8otar derec+a ;? grados &esplazar #edida del lado 8otar derec+a ;? grados &esplazar #itad #edida del lado 8otar derec+a G= grados &esplazar :V> de la #edida del lado 8otar derec+a G= grados &esplazar :V> de la #edida del lado 8otar derec+a G= grados &esplazar :V> de la #edida del lado 8otar derec+a G= grados &esplazar :V> de la #edida del lado 8otar iz7uierda G= grados &esplazar con valor negativo la #itad de la #edida del lado 6in !nicio 8epetir G veces 9desplazar #edida del lado- rotar a la derec+a ;? grados@ &esplazar #itad de la #edida del lado 8otar derec+a G= grados 8epetir G veces 9desplazar #edida del lodo F :V>- rotar a la derec+a ;? grados@ 8otar iz7uierda G= grados &esplazar con valor negativo #itad de la #edida del lado 6in Los algoritmos son equivalentes, emplean diferentes estrategias heursticas; uno de caracterstica lineal y la otra cclica; la primera ms cercana a un procedimiento analtico y la otra a un procedimiento sinttico. Hacen uso de diferentes palabras reservadas del mismo lenguaje de programacin y emplean de diferentes maneras los recursos del hardware como la memoria RAM (el procedimiento analtico hace uso de mayor cantidad de celdas de memoria al contener mayor cantidad de sentencias). Mediante un anlisis anlogo, se pueden identificar las estructuras bsicas dentro de un proyecto Scratch. Estructura lineal Estructura cclica Estructura Lineal _________________________________________________________________________ Silvina Caraballo Susana Muraro 85 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Equivalencia de modelos informticos Anteriormente se present varias veces una mirada a la e"ui#alencia de modelos informticos asociada al tipo de palabras claves del lenguaje de programacin empleado para codificar un modelo ejecutable en la computadora, pero la principal idea en torno al concepto de equivalencia se centra en la lgica con que ha sido modelizada la solucin del problema. El concepto de equivalencia se refiere a que frente a un problema es posible emplear diferentes estrategias lgicas en la construccin del modelo que, a su vez; generen diferentes modelos al establecerse diferentes estructuras entre los elementos o datos del problema, pero todos tienen de comn que al ejecutarse llegar a las mismas soluciones. En trmino sinttico, varios modelos son equivalentes si para todos los diferentes conjuntos de datos de entrada atinentes al problema se obtienen siempre las mismas salidas, es decir los mismos resultados. Para ejemplificar el concepto de equivalencia, proponemos analizar dos modelos diferentes que realizan idnticos pasos de baile de una bailarina en un escenario. Al usar el lenguaje Scratch de estructura orientada a eventos se emplearon las siguientes dos estrategias: 1- Definir dos objetos, uno es el escenario y el otro es una de las bailarinas. Ambos objetos son seleccionados de la biblioteca de objetos que ofrece el lenguaje. 2- Definir seis objetos diferentes: escenario, bailarina de posicin inicial, bailarina que realiza determinados pasos, bailarina que se ubica en posicin de salto y bailarina que salta, bailarina de avisa el fin del baile. Estos seis objetos tambin son seleccionados de la biblioteca de objetos que ofrece el lenguaje. En el procedimiento 1 se construye un solo procedimiento para programar el mtodo asociado al objeto bailarina, el cual cambia de disfraz, mientras que en el mtodo 2- es necesario construir para cada objeto un mtodo o procedimiento propio y enviar los mensajes necesarios a los otros objetos para responder a la secuencia de pasos de bailes. Sin embargo, en ambos modelos la bailarina ejecuta la misma secuencia de acciones como puede observarse en las siguientes pantallas: :- 2ailarina se presenta >- Solicita #.sica ) se pone en posicin de "aile K- !nicia su "aile desplaz(ndose de derec+a iz7uierda para volver a u"icarse en el centro del escenario. _________________________________________________________________________ Silvina Caraballo Susana Muraro 86 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ G- Se u"ica otra vez en el centro del escenario en posicin de salto =- 2ailarina realiza un salto al aire- H- 6inaliza el "aile con la pala"ra \6!N]]] A pesar de que la secuencia de baile es la misma, el procedimiento 1- emplea los siguientes recursos del lenguaje Scratch y los mtodos asociados a los objetos son los siguientes: "jeto Escenario "jeto 2ailarina Sucesivos ca#"ios de dis%races de la "ailarina. *3todo asociado al o"jeto > 4escenario5- ca#"ia de color de las luces a #edida 7ue la "ailarina realiza sus pasos de "allet *3todo asociado al o"jeto : 42ailarina5 de tipo lineal- el o"jeto pasa por los sucesivos ca#"ios de dis%races. En el procedimiento 2 se procede de la siguiente forma para que despliegue su baile la bailarina. El mtodo asociado al objeto escenario es el mismo del procedimiento 1 por lo cual no se lo expone: _________________________________________________________________________ Silvina Caraballo Susana Muraro 87 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ El "jeto > se presenta con un B/olaC enva el #ensaje B*.sicaC El "jeto K tiene asociado tres #3todos' :- Esconderse cuando se inicia la ejecucin del procedi#iento >- Al reci"ir #ensaje B*.sicaC- solicitar #.sica- #ostrarse- realizar pasos de "aile de derec+a a iz7uierda ) ocultarse K- Al reci"ir #ensaje \6!N]]] #ostrarse ) decir B\6!N]]] *3todo asociado a "jeto > *3todos asociados la "jeto > "jeto G tiene asociado los siguientes #3todos' :- cultarse cuando se inicia el procedi#iento. >- Al reci"ir el #ensaje BCa#"io:C- #ostrarse ) u"icarse en posicin de paso de "aile K- Enviar #ensaje BCa#"io>C a todosC "jeto = tiene asociado los #3todos :- cultarse al iniciar el procedi#iento >- Al reci"ir #ensaje BCa#"io>C- #ostrarse- "ailar desliz(ndose K- cultarse ) enviar #ensaje B\6!N]]]C a todos *3todos asociados al "jeto G *3todos asociados al "jeto = El tema de la equivalencia de procedimientos informticos lleva necesariamente el planteo sobre la seleccin del modelo ms eficiente, pero el concepto de eficiencia es abordable desde varios ngulos los cuales pueden ser contradictorios entre s, pues puede ser medida a travs del empleo de los siguientes recursos que se ponen en juego al construir los modelos: a) Menor cantidad de sentencias. b) Menor cantidad de lugares de memoria necesarios. _________________________________________________________________________ Silvina Caraballo Susana Muraro 88 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ c) Menor cantidad de tiempo de ejecucin. d) Menor esfuerzo de programacin. e) Mayor facilidad de validacin del modelo. Todo este conjunto de situaciones generalmente no se conjugan simultneamente, por ejemplo la menor cantidad de sentencias empleadas no asegura el menor tiempo de procesamiento. Retomando para el anlisis, las dos modelizaciones algortmicas cclicas construidas para resolver el problema de emitir facturas de compra de una librera no son equivalentes dado que responde a diferentes problemas aunque el resultado final es el mismo. En un caso se determina a priori la cantidad de artculos diferentes que se compran mientras que en el segundo caso depende de una decisin expresada por el cliente sobre cundo cerrar la cuenta. Esto significa que ambos programas procesan los mismos datos de entrada relativos a la cantidad de artculo comprado y el costo unitario, no as en cuanto a la determinacin de las formas de salir del ciclo. En una palabra, los datos de entrada de ambos algoritmos no son los mismos por lo cual no se cumple con una de las premisas de la equivalencia de modelos. LAS TCNCAS DE REPRESENTACN DE LAS MODELZACONES Los procesos mentales mediante los cuales se elaboran los modelos implcitos, soluciones de problemas, deben converger a la construccin de los modelos explcitos comunicables entre personas y a las computadoras. Para comunicarlos a la computadora los lenguajes de programacin son los que proveen los nicos sistemas de codificacin; mientras que para la comunicacin entre personas existe una variedad de sistema de codificacin que van desde el empleo del lenguaje coloquial hasta el uso de esquemas grficos y determinados lenguajes relativamente normalizados. El lenguaje coloquial ofrece el riesgo de generar una descripcin no taxativa, por lo tanto no asegura la no-ambigedad de su construccin. Los lenguajes naturales estn cargados de ambigedades difciles de ser superadas por ellos mismos y cuya interpretacin depende del contexto del discurso. Este es uno de los motivos por los que cada ciencia recrea el lenguaje natural construyendo su lenguaje especfico. El problema de la representacin de una modelizacin informtica es determinar qu se intenta representar del software. Al ser ste un objeto intangible, no representa una realidad observable, cabe preguntarse, qu se intenta representar, el flujo de los datos en la RAM, la secuencia de sentencias que se ejecutan, las estructuras de los datos? Los objetos y sus mtodos? Todas las tcnicas informticas de resolucin de problemas poseen las mismas formas representacin? Cualquier forma de representacin es adecuada al lenguaje de programacin que se emplea? A continuacin se plantearn diferentes formas de representacin de los algoritmos. Cada una de estas formas tiene por propsito comunicarlo con el menor nivel de ambigedad. Algunas hacen uso de sistemas de codificacin grficos y otras se apoyan en estructuras formales ms cercanas a las palabras claves de determinados lenguajes de programacin. _________________________________________________________________________ Silvina Caraballo Susana Muraro 89 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ La tcnica de representacin de algoritmos denominada "diagrama de flujo intenta mostrar los cambios que se producen en las celdas de la memoria RAM a medida que se ejecuta el algoritmo en la computadora. Se vale de un conjunto reducido de cdigos icnicos constituidos por figuras geomtricas dentro de las cuales las tareas se describen simbolizando los lugares de memoria a travs de nombres mnemnicos. El flujo de las tareas a ejecutarse es indicado empleando flechas que unen las figuras geomtricas. Para indicar las asignaciones en los lugares de memoria se emplean tambin flechas como cdigo grfico pero con el significado de indicar el sentido de la asignacin. Con estos cdigos bsicos se pueden representar estructuras ms complejas como las siguientes: 8epetir +asta 7ue se cu#pla una condicin' Tareas
Condicin 6alsa
Verdadera 8epetir #ientras se cu#pla la condicin' Condicin 6alsa Verdadera
Tarea 8epetir una cantidad deter#inada de veces' Control de la cantidad de Tarea Veces 7ue cicla El empleo de cdigos grficos y el uso formal de las variables aumenta las posibilidades de despojar la comunicacin del algoritmo de las ambigedades que el lenguaje coloquial genera. Los algoritmos planteados sobre la emisin de facturas de compras quedaran expresados de las siguientes formas 55 : -- :o" diara)a" de flu;o %an "ido elaborado" e)9leando el "oftGare 1(e0nt, co9yleft '77*.'711, libre y ratuito <ue "e di"tribuye ba;o licencia G1: (General 1ublic :icen"e)! 1ablo Ao?ara! %tt9QVV9"eint!"ourcefore!net _________________________________________________________________________ Silvina Caraballo Susana Muraro 90 BLadoC- L: 8epresenta el ingresar dato eFternos al algorit#o para asignarlo al lugar de #e#oria deno#inado L: ) un teFto. A 2 ^> 8epresenta asignar a un lugar de memoria deno#inado A del contenido del lugar de #e#oria 2 #(s el n.#ero >. 6alsa Condicin Verdadera lgica 8epresenta bifurcacin de la secuencia de tareas dependiendo del cu#pli#iento o no de una condicin lgica i#puesta.
Condicin C: C> L Cn 8epresenta bifurcacin m0ltiple de la secuencia de tareas dependiente del tipo de cu#pli#iento de una condicin lgica #.ltiple. B*ontoC. * 8epresenta mostrar en la unidad de salida el contenido de un lugar de #e#oria. Las %lec+as 7ue unen "lo7ues indican el sentido del %lujo de la ejecucin de las tareas. UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ &e%inicin de los lugares de #e#oria'' CC- Cantidad de cuadernos PC- $recio unitario del cuaderno CL- Cantidad de l(pices PL- $recio unitario del l(piz (onto- valor de la %actura FPA@O+ Al#acena un cdigo 7ue identi%ica la %or#a de pago I(POATE+ C(lculo del i#porte %inal &e%inicin de los lugares de #e#oria' BAC(AS+ se ingresa un cdigo de control del ciclo de co#pra CTIPO- Cantidad de insu#os de un deter#inada tipo. PCTIPO- $recio unitario del insu#o ad7uirido. ?ALOA- Costo total del insu#o CT!$ (ONTO- Acu#ula los costos de cada tipo de insu#o FPA@O+ Al#acena un cdigo 7ue identi%ica la %or#a de pago I(POATE0 C(lculo del i#porte %inal Los dos ejemplos expuestos poseen la caracterstica de ser modelos algortmicos de estructura analtica. Su solucin responde al modelo "paso a paso y los diagramas de flujo, adems de mostrar el flujo de los datos durante su procesamiento, muestran las acciones que se irn desplegando a lo largo del tiempo a medida que se desarrolla su procesamiento. Por ejemplo, la flecha empleada dentro del bloque de asignacin de datos slo puede interpretarse como que la accin definida a la derecha de la flecha se realiza previamente y ese resultado se asigna posteriormente en la celda definida a la izquierda de la flecha (se emplea flecha para indicar el sentido de la asignacin). Otra forma de representacin de las modelizaciones que muestra tanto el empleo de las celdas de memoria como las transformaciones que se realizan durante el procesamiento, constituye el mtodo de pseudocdigo# Se basa en el uso de un sistema de representacin que, sin emplear la sintaxis propia de algn lenguaje de programacin, provea un nivel de formalismo que asegure las caractersticas inherentes al modelo a representar. Constituye un lenguaje parcialmente formalizado que permite expresar el modelo mental e ir modificndolo sin llegar al programa propiamente dicho. El intrprete del programa elaborado con seudocdigos es una persona y no la computadora. Las formas de codificacin pueden crearse individuamente aunque hay ciertas estructuras de amplia aceptacin por parte de los programadores, como el empleo de un rengln diferente _________________________________________________________________________ Silvina Caraballo Susana Muraro 91 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ para cada sentencia y la ubicacin de las sentencias en diferentes mrgenes del rengln para indicar inclusiones en unas en otras de mayor nivel 56 . El reiterado ejemplo de las modelizaciones de las facturas de la librera pueden representarse de la siguiente forma (se mantuvieron las mismas denominaciones de los lugares de memoria empleados en los diagramas de flujo): Algorit#o 2 !nicio !ngresar CC !ngresar C$ !ngresar CL !ngresar $L *NT06 CCW$C^C$W$L !ngresar 6$A1 Si 6$A1X BTarjetaC Enton"es !*$8TE'X *NT Sino !*$8TE'X *NT-*NTW?-: 6inSi (ostrar !*$8TE 6in Algorit#o & !nicio !ngresar /AD*AS *ientras /AD*AS X BSiC !ngresar CT!$ !ngresar $CT!$ VAL806 CT!$ W $CT!$ *NT 06*NT 8 VAL8 !ngresar /AD*AS 6in*ientras !ngresar 6$A1 Si 6$A1 6 BTarjetaC Enton"es !*$8TE 06 *NT Sino !*$8TE 06 *NT D *NT 7 ?-: 6inSi (ostrar !*$8TE 6in El signo 'X o E6 se e#plea para representar asignacin a #e#oria del contenido de la eFpresin eFpuesta a su derec+a en la celda de #e#oria identi%icada a su iz7uierda. Otra forma de comunicar modelizaciones informticas es el mtodo de diagramacin estructurada de Chapin, mediante el cual la totalidad del algoritmo se representa a travs de un rectngulo dentro del que se incluyen todas las tareas que lo constituyen distribuyendo los lugares de forma tal que la geografa del diseo indique las inclusiones y dependencias entre s de las diferentes sentencias, su secuencia lgica y las estructuras bsicas que los constituyen. -O 8l )todo de lo" 9"eudocdio" fue 9en"ado co)o un lenua;e inter)ediario entre el 9rora)ador y el lenua;e de 9rora)acin dado <ue e"te Mlti)o era el encarado de inter9retar lo" 9"eudocdio" y enerar la" li"ta" de in"truccione" en el lenua;e de alto ni?el! >e"9u" "e eI9andi "u u"o co)o lenua;e de re9re"entacin de alorit)o"! _________________________________________________________________________ Silvina Caraballo Susana Muraro 92 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Recurriendo otra vez al problema de imprimir facturas de la librera se tiene: *uestra la estructura lineal ) en ar"orescencia al dividir +orizontal#ente los "lo7ues en dos tareas an(logas 7ue dependen de un control lgico Ade#(s de la estructura lineal ) en ar"orescencia #uestra una estructura 7ue cicla una cantidad de veces no deter#inada- se cortar el ciclo "ajo una condicin i#puesta a un dato de la varia"le /AD*AS !nicio !nicio !ngresar CC !ngresar /AD*AS !ngresar C$ *ientras /AD*AS X Si !ngresar CL !ngresar CT!$ !ngresar $L !ngresar C$T!$ *NT06 CC 7 $C ^ C$ 7 $L VAL8 06 CT!$ 7 $CT!$ !ngresar 6$A1 *NT 06 *NT 8 VAL8 6$A16 BTarjetaC S No !ngresar /AD*AS !*$8TE 06 *NT !*$8TE 06 *NT 1 *NT 7 ?-: !ngresar 6$A1 *ostrar !*$8TE 6$A1 6 FTarjeta: S No 6in !*$8TE 06 *NT !*$8TE 06 *NT 1 *NT 7 ?-: *ostrar !*$8TE 6in Para la representacin de modelizaciones informticas funcionales en las cuales es importante mostrar las funciones definidas y como se encajan entre s a la manera de funcin de funcin, los diagramas de flujos son escasamente tiles. Este inconveniente se intenta subsanar empleado el mtodo de la programacin lgica de 8arnier 57 . Empleando el mtodo de la programacin lgica de Warnier, una representacin de la modelizacin funcional del problema de graficar uno de dos tipos de baldosas toma la siguiente forma: -7 (e to)a co)o ba"e la )etodoloa de"arrollada 9or !>! /arnier y &!E! Flanaan! (1979) 1rora)acin :ica$ de +! 8ditore" tcnico" a"ociado"!, "!a! &arcelona _________________________________________________________________________ Silvina Caraballo Susana Muraro 93 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ !nicio !nicio Tipo: !nicio Sentencia gra%ica cuadrado Si '6or#aX: Cuadrado 6in !nicio &esplaza#iento Sentencias u"ica gr(%ico ro#"o 6in Entonces Tipo: !nicio 8o#"o Sentencias gra%ica 8o#"o 6in 6in 2aldosa !nicio !nicio Cuadrado Sentencias gra%ica cuadrado 6in Sino Tipo> !nicio &esplaza#iento Sentencias u"ica crculo 6in !nicio 6in Circulo 6in Sentencias gra%ica circulo 6in Obsrvese que esta forma de representacin est especialmente pensada para ser empleado con el mtodo de Top-!o&n. El siguiente diagrama de 8arnier remite al ejemplo de animacin del conejo que olfatea una flor. El mtodo que se crea para programar el mundo requiere pues de mtodos que definan el comportamiento del objeto conejo y sus subpartes as como de la flor. !inicio *3todo *undo Conejo +uele !nicio 8epetir K
Agrandar %lor > 6in *over "igotes adelante *over "igotes atr(s Conejo %eliz !nicio 8epetir < Si#ult(nea#ente 6in 1irar conejo a derec+a rientar oreja iz7uierda rientar oreja derec+a 8eproducir sonido 6in El diagrama presenta en forma de bosquejo para su comprensin, los mtodos necesarios para realizar la animacin, que luego deber ser programada mediante el lenguaje Alice-Rebeca. En su desarrollo terico, las representaciones expuestas no son las nicas y la nformtica _________________________________________________________________________ Silvina Caraballo Susana Muraro 94 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ elabor diferentes sistemas de comunicacin segn lo que se intenta representar Por ejemplo, en las modelizaciones sobre bases de datos 58 se emplean en especial los esquemas entidades- relaciones. Cada una de estas formas de comunicar las modelizaciones intenta describir la metodologa empleada, qu del modelo se representa, pero en especial, intenta separar la construccin del modelo de las caractersticas del lenguaje de programacin que se emplea, aunque cada vez ms se accede a las sintaxis de los lenguajes para explicitar los modelos implcitos. En los ltimos aos, los lenguajes de programacin toman fuerza de lenguaje por lo cual se piensan las soluciones en trminos de sus estructuras y se propicia el desarrollo de la capacidad de lectura como una forma de abordaje de su sintaxis y semntica lo cual involucra su comprensin conceptual. LA VALDACN DE MODELOS NFORMTCOS Una preocupacin histrica de la nformtica, surgida solidariamente con la programacin y por lo tanto con la modelizacin de problemas y su codificacin en algn lenguaje de programacin, es la validacin de las soluciones elaboradas. La validacin persigue dos objetivos: uno, determinar si el modelo elaborado cumple con ser solucin de un determinado problema, y el otro, controlar que el programa no presente errores de codificacin tanto por la semntica empleada como por su sintaxis. En ambos casos, la validacin tiene por propsito verificar el cumplimiento del objetivo de ser solucin informtica de un determinado problema. Estas preocupaciones generaron construcciones tericas y tcnicas especficas, como los temas de validacin automtica de programas y han dado lugar a una nueva categora de especialistas en informtica, los diseadores y controladores de pruebas de validacin de los sistemas denominados Beta-tester. A medida que los modelos informticos crecen en complejidad, que los lmites de lo computable se hacen ms complejos se amplan: a) el espectro de los problemas que pueden tener tratamiento informtico 59 , b) las metodologas informticas destinadas a la resolucin de problemas; y con ello, el problema de la validacin de los modelos se hace de una complejidad cada vez mayor. Los diferentes paradigmas de resolucin informtica de problemas y las tcnicas de representacin de las modelizaciones han intentado ofrecer estrategias que asistan a las tareas de validacin. La tcnica de validacin que surgi con la misma algortmica, consiste en elaborar conjuntos de datos de prueba que correspondan a las diferentes situaciones que plantea el problema, calcular anticipadamente los resultados a los que se debe arribar para cotejarlos posteriormente con los resultados a los que arriba la solucin informtica propuesta. -D 8"te te)a "e de"arrolla en el 9unto 8"tructura" de dato"$ -9 8n el 9erodo en <ue eIclu"i?a)ente "e di"9ona de lenua;e" de ba;o ni?el o lo" de alto ni?el.i)9erati?o", no eIi"ta la 9o"ibilidad de 9royectar )odelo" infor)Htico" funcionale" o lico"! _________________________________________________________________________ Silvina Caraballo Susana Muraro 95 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Conceptualmente la validacin de un programa se asienta en que ste se ejecuta partiendo de un estado inicial para llegar a un estado final, mediante una serie de transiciones y transformaciones que van sucediendo a medida que se ejecuta cada una de sus instrucciones. Estos cambios de estado se materializan en los sucesivos cambios de los contenidos de las variables del programa motivados por la ejecucin de cada instruccin. Como las variables representan las celdas de memoria donde estn almacenados los datos, sus transformaciones reflejan lo que ocurre durante la ejecucin a un nivel de descripcin bajo; el nivel de los cambios de estado de la memoria principal. Diferentes conjuntos de datos de entrada, son los que se emplean para ejecutar el algoritmo, y sus salidas (resultados) son cotejadas con los resultados tericos y los que se obtienen en forma manual. Es evidente que esta tcnica de validacin, denominada prueba de escritorio, hace muy complejo el control del modelo informtico pues es necesario procesarlo manualmente para detectar posibles errores lgicos en su estructura. Presenta las siguientes dificultades, que dependen de: a) La seleccin de los conjuntos de datos de prueba. Si la seleccin presenta errores lgicos o de falta de comprensin del problema, se podr arribar a alguna de las siguientes dos posibles conclusiones, que en los dos casos implican conclusiones falsas: Se rechaza algo que es vlido Se acepta algo que es invlido b) El conjunto de datos de prueba, el cual debe abarcar todas las posibilidades que presenta el problema, para asegurar que el modelo fue evaluado exhaustivamente y no queden partes del mismo sin cotejar. c) La complejidad de la estructura del modelo dado que incide en la construccin de los datos de prueba. El siguiente esquema permite visualizar la magnitud de conjuntos de datos que es necesario construir dependiendo de la cantidad de bifurcaciones que posee el algoritmo: Condi cin: Condi cin> Condi cinK Condi cinG Condi cin= Condi cinH Condi cinI Condi cin< Condi cin; Condi- cin:? Condi- cin:: Condi- cin:> Condi- cin:K Condi- cin:G Condi- cin:= Este esquema muestra que al poseer el algoritmo una estructura arborescente es necesario elaborar tantos conjuntos de datos especficos para cada rama que contiene. En este caso sern necesarios ocho conjuntos diferentes de datos de entrada, cada uno de los cuales contendr tantos elementos como datos diferentes posea la rama al cual pertenece. Cada nueva rama aumenta exponencialmente los conjuntos de datos de prueba, situacin que hace cada vez ms dificultoso elaborarlos y cotejar sus soluciones. La metodologa de prueba de escritorio se basa en el principio de induccin lgica. Supone que _________________________________________________________________________ Silvina Caraballo Susana Muraro 96 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ si se prueba una cantidad significativa de veces con diferentes datos, se aumenta la probabilidad de que el modelo no contenga errores. Es un mtodo probabilstico y salvo que el modelo sea tan sencillo que pueda ser totalmente abordable su estructura a travs de los datos de prueba, cotejarlo empleando la tcnica de prueba de escritorio, no asegura la validez total de la solucin informtica. Un paso importante en la validacin de soluciones informticas ha sido el empleo de "pruebas formales, las cuales consisten en expresar el algoritmo empleando formulaciones lgico- matemticas y procediendo a deducir su validez a partir de realizar procesos de inferencia generalmente apoyados en la lgica y la matemtica. Mediante el uso de predicados construidos en funcin de los valores de las variables del algoritmo es posible expresar las condiciones iniciales que debe cumplir un programa al inicio de su ejecucin. Para cada paso del programa es posible estudiar si los sucesivos cambios de estado que se van desarrollando permiten alcanzar las condiciones finales que aseguran el cumplimiento de su objetivo. Estos predicados que expresan el estado inicial y el final de la ejecucin son parte de la especificacin del modelo. Respecto a la validacin de la sintaxis y semntica del programa es importante sealar que depende del tipo de lenguaje de alto nivel empleado. Si el lenguaje compila los programas, el control de su sintaxis est a cargo del mismo compilador, tarea no depende del ingreso de datos y de su ejecucin. Si el lenguaje es intrprete, slo puede detectar estos errores si el programa es ejecutado, para lo cual ser necesario la seleccin de datos de prueba. Ambas formas de validacin de programas atienden la estructura gramatical, no as la lgica del modelo. Para validar el modelo se suele emplear algunas de las metodologas expuestas, en particular, la ms habitual es la prueba con conjuntos de datos. Desde el punto de vista de la apropiacin conceptual de las TC, el problema de la validacin no es una cuestin de poca importancia. La validacin como forma de controlar la pertinencia de un modelo es un procedimiento que requiere de anlisis informtico y al mismo tiempo conocimiento de sistema real para poder sopesar su adecuacin. De esta forma, no slo entraa cuestiones del campo informtico sino que involucra los marcos conceptuales que se emplean para arribar a las modelizaciones de los problemas. LOS DATOS SUS OR+ANI/ACIONES Y FORMAS DE REPRESENTACIN El estudio de las modelizaciones computacionales y de las variadas estructuras de los lenguajes de programacin constituye unos de los elementos intervinientes en la resolucin de problemas con tratamiento informtico. Para completarlo, es necesario incursionar en los datos, sus organizaciones, las formas de representacin y los tipos de operaciones que aceptan. Como fue presentado en el punto "Un recorrido conceptual a la estructura del software, los datos conjuntamente con los programas son parte del software, ambos imprescindibles en el tratamiento informtico de todo problema. Los programas son las lgicas con las que procesa la computadora, mientras que los datos son los objetos que se transforman a travs de esas lgicas. _________________________________________________________________________ Silvina Caraballo Susana Muraro 97 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Los datos poseen sus propias estructuras, se los puede agrupar de formas diferentes. Analizarlos conceptualmente abarca una parte imprescindible en el abordaje de las TC, pues no hay tratamiento informtico de problemas sin tratamiento informtico de datos. Aun ms, si los datos involucrados en un problema ofrecen resistencias a ser organizados adecuadamente a un tratamiento informtico, el problema no puede ser tratado informticamente. Otra cuestin relevante que hace al tratamiento informtico de los datos es la necesidad de disponer de una representacin discreta de ellos, dado generalmente los datos que corresponden a magnitudes fsicas son de caracterstica analgica. Para aclarar el concepto de dato analgico consideremos, por ejemplo, un problema con tratamiento informtico que involucre algunas magnitudes fsicas como puede ser la temperatura ambiente que puede tomar un valor entre -5 y 40 grados centgrados. El valor de la temperatura puede, adems, en un corto lapso de tiempo variar en un grado o en dcimas de dcimas de grado. Esta magnitud fsica puede entonces tomar un valor determinado de entre infinitos valores posibles variando de forma continua. Esta magnitud es una variable de tipo analgica. Dada la imposibilidad de la computadora de tecnologa discreta de tratar variables analgicas, es que los datos deben discretizarse, es decir, representarse por medio de un valor tomado dentro de un conjunto de valores discretos (no continuos) En la concepcin de la computadora como dispositivo simblico de tecnologa discreta binaria se present que la estructura fsica del hardware est diseada para almacenar una gran cantidad de datos a travs de diferentes sistemas de codificaciones binarios. Ahora bien, Cules son los tipos de datos que pueden almacenarse en la memoria y que son operables por la Unidad Aritmtico Lgica? El trmino "tipos de datos es un concepto terico y tecnolgico de la nformtica, y con este nombre se designa a aquellos elementos que constituyen unidades indivisibles almacenables en celdas de la RAM y que la Unidad AritmticoLgica es capaz de identificarlos y operarlos segn reglas matemticas y lgicas. Los datos son importantes desde el punto de vista de su organizacin, las transformaciones que se pueden realizar sobre ellos y las formas de representacin tanto internas como externas a la computadora. Analizarlos desde su tratamiento informtico pone otra vez en el tapete la organizacin jerrquica y de sucesivas inclusiones en clase con que se sostiene la construccin terica y tecnolgica de las TC. Sobre estos aspectos conceptuales se transitar al describir los datos. Todos los lenguajes de programacin ofrecen formas de tratar los diferentes tipos de datos as como sus diferentes agrupamientos u organizaciones. La seleccin de un lenguaje de alto nivel no slo est sujeta a la estructura del problema a resolver, sino tambin a las variadas estructuras organizacionales de los datos, las transformaciones y representaciones que ofrece para tratar problemas. Los lenguajes de programacin proveen de tres elementos fundamentales para interactuar con los datos: a) Las formas de codificacin y almacenamiento en la memoria principal. _________________________________________________________________________ Silvina Caraballo Susana Muraro 98 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ b) Las operaciones lgicas-matemticas que son posibles de realizar sobre ellos. c) Las formas de agruparlos y de tratar estos agrupamientos. Ejemplo, si el dato es un nmero entero, adems de almacenarlo en celdas de memoria empleando algn sistema de codificacin especfico, tiene que ser operado aritmtica o lgicamente (sumar, restar, multiplicar, dividir y comparar segn su ordenamiento numrico o alfanumrico), pero en una gran cantidad de problemas informticos, es posible que algunos de esos datos deban ser agrupados segn algn criterio lgico para tratarlos como un todo en s mismo, desde el punto de vista de la estructura de conjunto que posee y no como elementos independientes. En sntesis, en las TC existe una fuerte organizacin sostenida sobre la lgica de inclusiones en clase, a travs de organizaciones cada vez ms complejas; situacin que se presenta en la computadora, en los lenguajes y tambin en los datos. LOS TPOS DE DATOS Y SUS ALMACENAMENTOS Anteriormente se expuso que en informtica se denomina tipo de datos a la estructura ms bsica de un dato, que la computadora almacena como un elemento en s mismo y es operado por la Unidad Aritmtico-Lgica. Los lenguajes de programacin identifican diferentes tipos de datos, los almacenan en la RAM y los transforman segn la lgica del programa. En el interior de la computadora se emplean diferentes sistemas de codificacin para almacenar datos en la RAM. Para los usuarios cada uno de estos tipos de datos constituye algn elemento de uso social propio de los diferentes sistemas comunicativos que culturalmente se emplean (lingsticos, matemticos, grficos y sonoros). De esta forma, cada tipo de dato posee una representacin externa y una representacin interna a la computadora. La representacin externa es lo que se observa en alguna unidad de salida (monitor, impresin en papel) mientras que la representacin interna es trasparente a las personas dependiendo del nivel de apropiacin que se tiene de la nformtica. Las formas de representacin interna de datos tienen por funcin construir un sistema de codificacin que permita almacenar en las memorias de la computadora cada uno de los elementos lingstico- matemticos de uso habitual. A lo largo del desarrollo de la nformtica se fueron creando diferentes sistemas de representacin interna, muchos de las cuales se siguen empleando; pero la necesidad de asegurar el intercambio fluido de datos entre computadoras y los problemas de comunicacin que acarrean el empleo de diferentes normas de almacenamiento generaron la necesidad de emplear algn sistema de comunicacin de uso amplio y estandarizado, especialmente para las computadoras personales. _________________________________________________________________________ Silvina Caraballo Susana Muraro 99 Si al usuario le es transparente la %or#a en 7ue se al#acenan ) trans%or#an los di%erentes tipos de datos interna#ente en la co#putadora- entonces ca"e preguntarse- O7u3 aporta al conoci#iento de las T!C a"ordar conceptual#ente- aun7ue sea en %or#a #acro- los di%erentes tipos de datos ) sus %or#as de representacin internaQ Los datos ) su trata#iento in%or#(tico constitu)en una parte sustantiva del trata#iento in%or#(tico de los pro"le#as- por lo cual co#prender c#o se los representa ) al#acena en los di%erentes #e#orias per#ite co#prender un c.#ulo de acciones 7ue se realizan so"re ellos as co#o co#prender un c.#ulo de pro"le#as 7ue surgen de la organizacin 7ue to#an en di%erentes pro"le#as. UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Los tipos de datos que surgieron con la misma nformtica son los: alfanumricos$ booleanos o binarios y numricos. Actualmente los datos alfanumricos constituyen un conjunto de 256 smbolos 60 diferentes denominados caracteres, dentro de los cuales se incluyen los diez dgitos (del 0 al 9), las veintisis letras del alfabeto latino en sus diferentes variedades por lo cual las consonantes estn representadas de dos diferentes formas segn sean minsculas o maysculas y cada una de las cinco vocales representadas de cuatro formas diferentes (en mayscula y minscula, acentuada y no acentuada). Asimismo, son parte de este conjunto de caracteres los smbolos aritmticos, los propios de la edicin de textos como los signos de puntuacin, los operadores matemticos, signos relacionales de igual, mayor y menor, etc. Para el usuario de la computadora cada uno de estos caracteres comprende una unidad de comunicacin en s misma, constituyndose en estados independientes unos de los otros. Es evidente que el conjunto de 256 caracteres no contempla la diversidad de caracteres de los diferentes idiomas, como los nrdicos y los orientales. Uno de los sistemas de codificacin de caracteres abarca solamente el empleo de smbolos propios del idioma ingls y lenguas de origen latina, por esto las computadoras ofrecan archivos especiales que tenan almacenados diferentes tipos de mapas de caracteres, a los cuales los usuarios accedan segn sus necesidades comunicativas. Por este motivo, a las 256 posiciones que se emplean para representar diferentes caracteres se les asignan diferentes smbolos; para su empleo slo era necesario seleccionar el archivo de "fuentes que contenan la representacin deseada. Por qu son 256 los caracteres alfanumricos diferentes? Siempre se emplearon 256 smbolos diferentes? Cmo se representan estos 256 caracteres diferentes si la computadora es un dispositivo de estructura digital binaria? Para responder estas preguntas es necesario realizar un simple proceso iterativo apoyado en el sistema decimal de los nmeros naturales y su representacin en el sistema binario. Siste#a deci#al E#plea una slo posicin 8epresentacin en Siste#a "inario Cantidad de posiciones para representarlo en Siste#a "inario ? ? : : : : > :? > K :: > G :?? K = :?: K H ::? K I ::: K < :??? G ; :??: G El sistema decimal emplea una sola posicin para representar un dgito, y recin emplea dos posiciones cuando se representan los nmeros del 10 al 99; mientras que el sistema binario debe emplear 4 posiciones para representar alguno de los 10 dgitos decimales (para representar el nmero 100 se necesitan 7 posiciones). En el primer caso, cada posicin puede albergar uno de los 10 estados bsicos diferentes (dgitos decimales del 0 al 9) mientras que en el O7 0nicial)ente fueron 1'D lo" diferente" e"tado" <ue co)9rendan a lo" ti9o" de dato" alfanu)rico"! _________________________________________________________________________ Silvina Caraballo Susana Muraro 100 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ sistema binario cada posicin slo puede albergar uno de dos estados diferentes del sistema binario (dgitos binarios 0 y 1). En el sistema binario de representacin de caracteres cada una de las posiciones se denomina 7it 30 . Es necesario diferenciar la cantidad de bits que se necesitan para representar un carcter de la cantidad de combinaciones posibles que se pueden generar con los agrupamientos de los dos estados independientes (0 y 1). El concepto de Bit es abordable desde dos enfoques diferentes e integrados: Por un lado, es un concepto abstracto que involucra las formas binarias de representacin de los caracteres y los nmeros. Por otro lado, constituyen dispositivos fsicos del hardware que poseen una estructura fsica constituida por algn elemento tecnolgico que permite albergar en un determinado momento uno de los dos posibles estados. Los caracteres componen los smbolos bsicos que se emplean en nuestras lenguas para comunicar los textos, pero para representar internamente en la computadora cada carcter es necesario agrupar un conjunto de Bits de forma tal que estos agrupamientos se comporten como una unidad indisoluble. A cada combinacin de ceros y unos dentro de un agrupamiento se le adjudica un determinado carcter. De esta forma, se construye una correspondencia "uno-a-uno entre los caracteres y sus representaciones internas en la computadora. Que cada mapa de caracteres posea 256 caracteres diferentes proviene de la cantidad de Bits en que se agrupan para codificarlos, lo cual determina la cantidad de combinaciones diferentes que se pueden elaborar con esos agrupamientos. La siguiente tabla muestra para cada agrupamiento de Bits la cantidad de combinaciones posibles de realizar: Agrupa#iento de 2its de' Cantidad de caracteres posi"les de representarse : > 4> : 5 > G 4> > 5 K < 4> K 5 G :H 4> G 5 LLL LLL. I :>< 4> I 5 < >=H 4> < 5 ; :?>G 4> ; 5 En la actualidad, existen varios sistemas diferentes de codificacin de caracteres los cuales constituyen protocolos de comunicacin entre el ingreso de datos del usuario y su tratamiento informtico en la computadora, as como entre computadoras. En muchos casos, los problemas que se presentan con tanta variedad de sistemas de codificacin es que para tratar los datos representados en un sistema de codificacin deben ser traducidos a otro sistema, crendose dificultades extras y aumentando el tiempo de O1 1alabra creada a 9artir de la contraccin de la" 9alabra" inle"a" &inary$ y >iit$, colo<uial)ente en inl" bit$ "inifica una )ia, un 9edacito o 9izca de alo! _________________________________________________________________________ Silvina Caraballo Susana Muraro 101 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ procesamiento. Recordemos que la idea de universalizar programas de modo tal que sean procesados por diferentes tipos de computadoras es una preocupacin nformtica as como es una preocupacin la portabilidad de datos. Como ha sido expuesto en el punto "Diversidad de los lenguajes de programacin, el segundo problema fue parcialmente resuelto, mientras que la portabilidad de datos se resuelve aceptando alguna norma comn de codificacin. En la actualidad se universaliz como norma comn a diferentes computadoras y diferentes programas el Sistema ASC 62 . En sus orgenes empleaba un agrupamiento de 7 bits permitiendo representar hasta 128 caracteres diferentes de los cuales 95 era imprimibles y el resto constituan caracteres de control (como el de fin de prrafo de algunos procesadores de textos). Como posteriormente en las computadoras agruparon a los bits en conjunto de 8, denominados /ctetos o 7yte, se extendi la codificacin ASC a un byte, de aqu surgen los 256 caracteres diferentes que posee el Cdigo ASC Extendido 63 . La siguiente tabla presenta algunas codificaciones de caracteres en ASC: 8epresenta a' Cdigo 2inario Cdigo &eci#al Espacio ??:????? K> ^ ??:?:?:: GK ? ??::???? G< : ??::???: G; A ?:?????: H= a ?::????: ;I ( :?:????? :H? Asimismo, con el auge de nternet y la necesidad de compatibilizar y hacer lo ms universal posible la codificacin de caracteres, smbolos especiales, smbolos ideogrficos se ha generado el standard UNCODE, que permite el procesamiento de texto de muy diversos sistemas lingsticos (cirlico, hebreo, rabe, chino, japons, lenguas nrdicas, etc.). Constituye un sistema de representacin de caracteres que emplea 2 Bytes para cada unidad lingstica de los diferentes idiomas, no necesitndose mapas de caracteres especiales segn la lengua con que se est trabajando. De esta manera logra codificar 2 16 smbolos, o sea un total de 65536 smbolos diferentes. Cmo se almacenan los caracteres en las memorias de una computadora? Qu correlato fsico tienen el Bit y el Byte con las memorias de una computadora? Las denominadas "celdas de memoria 64 son agrupamientos de Bits que como segn se acaba de sealar, son octetos y se los denominaron Bytes, por lo cual la estructura mnima de una celda es un agrupamiento de 8 bits constituidos fsicamente a partir de algunas tecnologas que faciliten el almacenamiento de cambios de estado de sus Bits, dado que durante el O' :a deno)inacin A(C00, "ila <ue 9ro?iene de A)erican (tandard Code for 0nfor)ation 0nterc%ane$, creado 9or la A)erican Aational (tandard" (88PP) encarada de elaborar un "i"te)a de codificacin de caractere" el cual 9a" a "er de u"o eItendido e"9ecial)ente en la" co)9utadora" 9er"onale"! O* 8l cdio A(C00 8Itendido 9er)iti incor9orar la" ?ocale" acentuada" y la #! Euc%o" de no"otro" recorda)o" la" di"cu"ione" en torno al e)9leo de la # y la 9rdida de identidad del lenua;e 8"9a#ol 9or falta de re9re"entacin binaria O5 3er el 9unto :a" do" )e)oria"$ _________________________________________________________________________ Silvina Caraballo Susana Muraro 102 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ procesamiento las celdas van variando sus contenidos. El agrupamiento de Bits para almacenar un tipo de dato fue amplindose a lo largo de la evolucin tecnolgica del hardware, pasando de 8 a 16, 32, y actualmente 64 Bits. Como fue expuesto por economa de lenguaje a los dos estados almacenables en un bit se los denominan "0 y "1 aunque en las diferentes tipos de memorias se empleen variadas tecnologas para almacenar y discriminar dos posibles estados dentro de su estructura fsica 65 . En el caso de la RAM, los Bits estn constituidos por circuitos integrados, en los discos rgidos se emplea tecnologa magntica dado que el magnetismo posee dos estados denominados "polo positivo y "polo negativo, fcilmente cambiable de polaridad con slo pasar una corriente elctrica adecuada 66 . A diferencia de la RAM la tecnologa de los discos rgidos permite que el almacenamiento sea estable no dependiendo del suministro elctrico (de aqu es la diferenciacin entre memorias voltiles y no voltiles). En los CD o DVD los dos estados se representan mediante puntos reflejantes y opacos sobre su superficie que se reconocen con una luz lser. Los lenguajes de programacin son los encargados de interpretar el tipo de dato que corresponde a los diferentes patrones de Bits almacenados en las memorias. La organizacin fsica sobre la cual se sostiene a las organizaciones lgicas de los datos, determina condiciones de la arquitectura de las computadoras. De all que al comparar las capacidades de almacenamiento de las memorias, stas son medidas en cantidad de Bytes que poseen (cantidad de celdas). Por analoga con el Sistema Mtrico Decimal la capacidad de las memorias se mide en mltiplos del "Kilo (1000) aunque por la propia estructura binaria las diferentes medidas se expresan en potencias de 2, respondiendo a las siguientes denominaciones: &eno#inacin Cantidad de 2)tes Cantidad de 2its AproFi#ada#ente del orden de' _ilo")tes 4_25 > :? 2)tes X :?>G 2)tes <.:;> 2its :? G *ega2)te 4*25 > >? 2)tes X :?G<=IH 2)tes <.KK<.H?< 2its :? I 1iga2)te 4125 > K? 2)tes X :?IKIG:<>G 2)tes <.=<;.;KG.=;> 2its :? :? Tera2)te 4T25 > G? 2)tes X :.?;;.=?=.;H=.GHH 2)tes <.I;H.?GI.I>K.I>< 2its :? :G De la informacin que suministra la tabla se puede observar: La incidencia de la representacin binaria de los datos sobre la forma de medir la capacidad de memoria. El desarrollo tecnolgico del hardware que permite almacenar en dispositivos fsicos de escasas dimensiones una gran cantidad de Bits 67 . Estos sistemas de representacin se usan tanto para almacenar datos como programas, decisin tecnolgica que permite emplear a los mismos programas como datos de otros programas. O- 3er el 9unto >i"9o"iti?o de Tecnoloa >i"creta &inaria$ OO 8"ta tarea la realiza la cabeza lectora.rabadora <ue 9o"ee el di"9o"iti?o del di"co rido! O7 Actual)ente e" co)Mn <ue la" co)9utadora" 9o"ean di"co" rido" de '77 o *77 Gia" 9or lo cual la cantidad de bit" <ue 9o"een "e obtiene de )ulti9licar 9or '77 o 9or *77 a D!79O!757!7'*!7'D, ?alor <ue en " )i")o ya no e" re9re"entable co)o nM)ero entero en una celda de )e)oria! EH" adelante "e trata la re9re"entacin interna de lo" "i"te)a" nu)rico"! _________________________________________________________________________ Silvina Caraballo Susana Muraro 103 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ El cdigo ASC as como otros que representan caracteres alfanumricos slo ofrecen la codificacin de los 10 dgitos de nuestro sistema numrico despojado de su valor numrico, slo son smbolos que no pueden ser operados matemticamente. Cmo se representan los nmeros enteros cualquiera sea la cantidad de dgitos que posean? Aqu aparece otra vez el problema de la economa de recursos, que en este caso involucra tanto a la cantidad de Bytes que deben usarse como a las dificultades operatorias que acarrea el tipo de representacin empleada. Una de las formas de representar nmeros enteros es el "Sistema Decimal Binario, mediante el cual cualquier nmero entero mantiene su estructura decimal reemplazando cada dgito por su codificacin binaria, agregndole un Bit ms para representar el signo (+, -). Como una forma de comprender el problema del empleo de los recursos de memoria que conlleva este tipo de representacin de los nmeros enteros, en la siguiente tabla se muestran las necesidades de celdas en relacin con algunos nmeros: N.#ero Entero Notacin &eci#al Notacin &eci#al-2inario 4sin 2it de signo5 = ??::?:?: == ??::?:?:??::?:?: === ??::?:?:??::?:?:??::?:?: === === ??::?:?:??::?:?:??::?:?:??::?:?:??::?:?:??::?:?: Este tipo de representacin es ineficiente tanto por la cantidad de bits que se necesitan como por la complejidad de los algoritmos que ejecutan el acarreo propio de las diferentes operaciones. Por este motivo se emplean otros sistemas de codificacin, algunos especficos para los nmeros enteros y otros especficos para los nmeros reales 68 . La idea bsica y aparentemente simple de representar los nmeros enteros como notacin decimal-binaria es la de agrupar como una unidad en s misma a un conjunto de bits. Cada valor numrico tiene asignado una combinacin nica de y = dentro del conjunto. Para identificar el signo del entero se utiliza el dgito binario ms significativo (izquierdo) de forma tal que uno de sus dos valores corresponden al signo positivo y el otro valor al signo negativo (en diferentes mtodos basados en esta lgica se usa el 0 para los positivos y el 1 para los negativos). Para mostrar esta estrategia aportamos algunos ejemplos relativos a diferentes longitudes de Bits y el rango numrico posible de ser almacenado: OD 8" un abu"o de lenua;e decir <ue "e al)acenan en la co)9utadora nM)ero" reale" 9ue" e"te ca)9o nu)rico "lo 9uede "er re9re"entado en for)a a9roIi)ada, truncando la cantidad de dito" deci)ale" <ue 9o"een lo" nM)ero" irracionale"! :o" Mnico" ca)9o" nu)rico" <ue "e al)acenan co)o ti9o" de dato" "on lo" entero" y lo" racionale" en notacin deci)al (9unto flotante) no co)o 9ar ordenado ni co)o fraccin, la" re9re"entacione" en 9antalla y otra" unidade" de "alida de eI9re"ione" nu)rica" no deci)ale" e" 9arte de la" rutina" de ca)bio de re9re"entacin <ue ofrecen diferente" 9rora)a"! _________________________________________________________________________ Silvina Caraballo Susana Muraro 104 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Cantidad de 2it Cantidad de representaciones di%erentes 8ango nu#3rico posi"le de ser representado GH G > G X
:H Entre -< R ^I < > < X
>=H Entre -:>< R ^:>I :H > :H X H=.=KH Entre -K>IH< R ^K>IHI K> > K> X
G>.;=:.?GI.>;H Entre ->:.GI=.=>K.HGI R ^>:.GI=.=>K.HG< Todos los n.#eros "inarios 7ue co#ienzan con ? son positivos ) los 7ue co#ienzan con : son negativos. El propio ? deci#al co#ienza con ? "via#os #ostrar el rango nu#3rico de > HG pues por la cantidad de "its 7ue necesita no entra dentro de la ta"la En la actualidad esta estrategia de representacin de los nmeros enteros, denomina Complemento a 9 es la ms empleada. La codificacin de n-meros reales se sostiene sobre la lgica de la notacin cientfica. Los nmeros se almacenan agrupando sus Bits en tres partes: una parte corresponde al signo, otra corresponde en notacin binaria al exponente con que elevar a 10 para ajustar el valor de la mantisa al nmero racional y el tercer grupo de Bits corresponde a la mantisa expuesta en notacin binaria. N.#ero EFpresin Cient%ica EFpresin $unto 6lotante *antisa EFponente ^:???-: ^:-???: :? G o ^:???-:.:? ? dependiendo de las ci%ras enteras con el cual se desea eFpresarlo ^:-???: E^G ^:-???: ^G -?-????>= ->-= :? -= ->-= E-= ->-= -= ^:>KG=H-I<; ^:->KG=HI<; :? = ^:->KG=HI<; E^= ^:->KG=HI<; = Es evidente que todas estas formas de codificacin de los campos numricos son almacenables en la estructura interna de la computadora. Su expresin visible en alguna unidad de salida depende del tratamiento que otorga el programa a su representacin externa. La mirada conceptual a las formas de representar internamente los datos en la computadora de representar los datos involucran la mirada a la nformtica desde los estilos culturales que el artculo de ACM denominan "Construccin de teoras y "la Modelizacin, pues muestran: La complejidad, tecnolgica y de construccin matemtica, que fue necesario desarrollar para albergar los datos en la computadora. La necesidad de plantear las diferencias conceptuales entre lo que se ingresa a la computadora, lo que se almacena y lo que se expone como salida. Las interacciones entre el hardware y el software para hacerse cargo de las codificaciones y decodificaciones de los diferentes tipos de datos. Que no hay un nico y ptimo sistema de representacin de todos los tipos de datos que procesa una computadora que favorezca la economa de los recursos, por lo cual este dispositivo impone variados y complejos lmites. O9 Cb"er?a"e <ue a9arente)ente %ay un nM)ero )eno" dentro del rano de lo" entero" 9o"iti?o", e" un efecto de con"iderar al nM)ero deci)al 7 co)o 9o"iti?o! _________________________________________________________________________ Silvina Caraballo Susana Muraro 105 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Cualquier sistema de codificacin limita el rango numrico representable, tanto para los nmeros negativos como los positivos. Valores numricos que excedan el rango posible de ser albergado con la cantidad de Bits que se destina, no son representados. Esta situacin que se denomina de "desborde 70 , es imposible de subsanar dado que siempre se emplean longitudes fijas de Bits y aunque se emplee tecnologa de longitudes variables, el lmite lo imponen las estructuras fsicas de las memorias y la estructura lgica empleada en su representacin. Por ms abundante que sea la capacidad de la RAM, siempre es limitada. En el caso de la representacin de los nmeros reales (en realidad, desde el punto de vista matemtico son racionales) no solamente se genera desborde por exceso de valores numricos respecto al rango numrico con que se cuenta, sino que tambin se generan limitaciones de representacin en torno a valores muy pequeos y cercanos al "0. A esta situacin se la denomina "agotamiento 71 . Sus codificaciones se sostienen sobre un sistema de truncamiento de la longitud de dgitos decimales, por lo cual, al representar los nmeros irracionales en punto flotante se desperdician dgitos decimales, generndose errores de redondeo y de truncamiento que inciden sobre los resultados finales, especialmente si depende de un gran volumen de multiplicaciones y divisiones. Este tema, propio de la matemtica, abrazado fuertemente por la informtica, involucra la calidad de los clculos y se denomina "propagacin del error. En nformtica el error de propagacin motivado por el truncamiento de datos y los clculos que se realizan sobre ellos es de caracterstica determinista, por lo tanto son matemticamente detectables y acotables (medibles), pero hay errores aleatorios que surgen de la comunicacin interna a la computadora o entre computadoras que provienen de permutaciones del estado de algn Bit (fsicamente el valor adjudicado al bit es un cierto nivel de tensin que pasa por su circuito). Para este ltimo tipo de error, su solucin es tecnolgica, asentada sobre una lgica probabilstica de que es muy remoto tener dos veces errores sobre un mismo dato. Se procede agregando un Bit ms a todos los datos, denominado 7it de paridad el cual tomar el estado representado por "1 o "0 segn lo que se necesite para que la cantidad de "1 empleados en la codificacin del dato sea par o impar 72 . Si la paridad es par, un dato representado en forma impar estar errado y viceversa para la paridad impar. Al respecto son interesantes las palabras de uno de los padres de la nformtica: 77 8n inl" C?erfloG$ 71 8n inl" PnderfloG$ 7' A e"ta tcnica "e deno)ina 9aridad 9ar$ o 9aridad i)9ar$ "eMn "ea 9ar o i)9ar la cantidad de 1 <ue contena con el areado del &it de 9aridad! _________________________________________________________________________ Silvina Caraballo Susana Muraro 106 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ [L@ Un progra#a es- co#o #ecanis#o- total#ente di%erente de todos los dispositivos analgicos con los 7ue creci#os. Co#o toda in%or#acin codi%icada digital#ente- tiene la inevita"le propiedad de 7ue las pertur"aciones #(s pe7ue,as 7ue sean posi"les Aesto es- ca#"ios en un solo "it-- pueden tener la #(s dr(sticas consecuenciasL En el #undo discreto de la co#putacin- no +a) ninguna #3trica signi%icativa en la 7ue Bpe7ue,osC ca#"ios ) Bpe7ue,osB e%ectos va)an de la #ano- ) nunca los +a"r( IK En una palabra, la computadora tiene sus limitaciones y conocerlas permite comprender qu hacemos y qu efectos generamos, rompe la visin magia de la tecnolgica y la ubica en un mejor y ms justo lugar. Permite ahondar en una tecnologa que socialmente fue percibida como conocimiento creado por mentes especiales y no como la acumulacin de cuantiosos esfuerzos de personas que fueron resolviendo los sucesivos problemas que se presentaron y se van a presentar en pos de la automatizacin de procesos y de la comunicacin de la informacin. Respecto de los tipos de datos booleanos o binarios, stos poseen dos estados que son interpretados semnticamente como "verdadero o falso e informticamente como "1 o 0, por lo cual slo es necesario un Bit para ser almacenados y representados. Por ltimo, es importante sealar que hace tiempo, adems de caracteres y nmeros, en la computadora se almacenan y transforman imgenes estticas y dinmicas as como sonidos. Las imgenes estticas se almacenan empleando alguno de los dos siguientes mtodos: a) 7it)ap b) :ectorial El sistema de representacin mapa de bits (bitmap) consiste en codificar el lugar que ocupa el pixel en la pantalla y el color que tiene adjudicado. Por ejemplo, si se guarda una imagen empleando 256 colores diferentes se emplearan una larga secuencia de Bits que corresponde a la ubicacin de cada uno de los pixeles del monitor ms un octeto o Byte que se asocia al color adjudicado. Esto hace que el almacenamiento de imgenes por 7it)ap emplee considerables cantidades de celdas de memoria 74 . El sistema vectorial de representacin de imgenes estticas descompone a stas en curvas y guarda la informacin sobre sus caractersticas matemticas, la textura, color, grosor (atributos de las curvas). Las representa y almacena por medio de vectores y ecuaciones matemticas, situacin que alivia la cantidad de Bytes necesarios para su almacenamiento y hace posible un re-escalamiento de la imagen sin perder calidad. Salvo el sistema de codificacin de imgenes por 7it)ap, y en especial para las imgenes dinmicas y sonidos, el resto de los sistemas de almacenamiento conjugan la representacin del dato con las rutinas de compresin, dado que la necesidad de gran cantidad de celdas de 73 8d"er >i;,"tra (obre la crueldad de real)ente en"e#ar Ciencia" de la Co)9utacin$ Cn t%e cruelty of really teac%in co)9uter "cience$ 8/> 17*O >i"9onible en %%t9QVVGGG!c"!uteIa"!eduVu"erV 75 Ctra )etHfora infor)Htica e" la de a"inarle 9e"o$ a la" i)Hene" y a lo" arc%i?o" en eneral! (e "uele afir)ar e"te arc%i?o e" )uy 9e"ado$ debido a la cantidad de &yte" <ue ocu9a, "ituacin <ue no tiene correlato f"ico 9ero <ue otora una buena re9re"entacin )ental de lo" recur"o" del %ardGare <ue "on nece"ario" 9ara al)acenarlo" y 9roce"arlo"! _________________________________________________________________________ Silvina Caraballo Susana Muraro 107 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ memoria es tal que su tratamiento obliga a construir variadas estrategias para mitigar el efecto que tiene su tratamiento sobre los recursos del hardware. Archivos JPG, GF, WAV, MP3, constituyen ejemplos socialmente extendidos de la variedad de estrategias informticamente creadas para almacenar archivos de imgenes y sonidos. Con cada uno de los sistemas de codificacin algo se gana y algo se pierde, esta mirada a la tecnologa es parte de la formacin que trasciende lo exclusivamente tecnolgico para insertarse en los aspectos sociales de su empleo. No tiene el mismo sentido social almacenar imgenes de un juego que de un diagnstico mdico. RELACN ENTRE LOS BTS Y LAS CELDAS DE LA MEMORA RAM Qu es una celda de memoria de la RAM? Qu relacin hay entre las celdas de memoria y los bits y los bytes? Como fue expuesto, las celdas de memoria son agrupamientos de bits. En ellas, emplendose diferentes sistemas de codificacin se pueden albergar tanto datos como instrucciones de programas, que a la luz del sistema binario slo contienen los denominados "cero y "uno, por lo cual si tuvisemos alguna manera de mirar internamente en la RAM no tendramos forma de distinguir cules Bytes contienen instrucciones y cules datos. El software con el cual interactuamos es el encargado de delimitar qu tipos de datos son posibles de emplear y a su vez es el encargado de enviar los mensajes al sistema operativo para que arbitre los medios para almacenarlos en celdas contiguas. El sistema de codificacin que emplea est determinado por una relacin simbitica entre la lgica interna del hardware y el tratamiento que realiza el software que est procesando, el cual depende del lenguaje de programacin con el cual ha sido elaborado. Es el intrprete o el compilador del lenguaje el que tiene la atribucin de manejar las formas de representacin de los diferentes datos. Es el encargado de interpretar los patrones de Bits. Asimismo, el Sistema Operativo es el encargado de determinar las celdas de memoria que emplea para albergar sentencias del programa 75 y datos; constituyndose en el fiel cuidador de las celdas de forma tal que no sean empleadas inadecuadamente por otros programas. Otra vez nos encontramos que las tareas que realiza la computadora se sostienen sobre una estructura simbitica altamente dinmica de demandas y necesidades entre el hardware y el software dentro de las cuales debemos incluir a los datos. LAS OPERACONES DE LOS TPOS DE DATOS Sobre los diferentes tipos de datos es posible realizar diferentes operaciones: aritmticas y lgicas. Tanto para los datos enteros como los reales, en muchos lenguajes de programacin las operaciones aritmticas son de: suma, resta, producto divisin, multiplicacin y potenciacin, siendo la radicacin una funcin especfica. Las operaciones se realizan segn el sentido de 7- 3er 9unto 8l (i"te)a C9erati?o, alo )H" <ue ad)ini"trador de lo" recur"o" del %ardGare$ _________________________________________________________________________ Silvina Caraballo Susana Muraro 108 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ lectura con que el lenguaje de programacin interpreta la expresin matemtica involucradas. Frente a expresiones matemticas que contienen diferentes operaciones las interpreta y manda a ejecutar segn el orden jerrquico propio de la aritmtica que corresponden a: peracin rden de ejecucin $otencia $ri#ero $roducto o &ivisin Segundo Su#a o 8esta Tercero El empleo de parntesis modifica el orden de ejecucin segn el orden de anidamiento de los parntesis que contiene la expresin. Las expresiones lgicas simples de comparacin devuelven como resultados los valores booleanos "verdadero o "falso, representados por "1 y "0. Las expresiones lgicas compuestas se operan a partir del empleo de las operaciones de la lgica proposicional, la cual responde a: peracin C 4Conjuncin5 peracin O 4&is)uncin5 peracin NO 4Negacin5 &ato: &ato > 8esultado &ato : &ato > 8esultado &ato : 8esultado : : : : : : : ? : ? ? : ? : ? : ? : ? ? : : ? ? ? ? ? ? Estas operaciones permiten determinar el valor lgico de expresiones compuestas como las siguientes: A<B Y B<C A>B Y D< E O A>E. Dado que ellas sern verdaderas o falsas dependiendo de los contenidos almacenados en las celdas denominadas A, B, C, D y E. De la misma forma que con los datos numricos, es el lenguaje de programacin el que ejecuta las operaciones segn el sentido en que se interpreta la expresin lgica. Si las expresiones lgicas compuestas por diferentes operaciones lgicas, stas las ejecutan segn el siguiente orden jerrquico, modificable a travs del empleo de parntesis: peracin rden jer(r7uico Negacin pri#ero Conjuncin segundo &is)uncin tercero Si los datos son alfanumricos se comparan los caracteres segn orden de precedencia definido en el sistema de codificacin ASC (si se emplea este tipo de codificacin). Si son nmeros enteros o racionales en punto flotante, las operaciones elementales que tiene definida _________________________________________________________________________ Silvina Caraballo Susana Muraro 109 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ la Unidad Aritmtico-Lgica de la computadora son las nicas operaciones bsicas con que cuenta, y es el lenguaje de alto nivel el que establece las formas de expresarlas (sintaxis). A modo de ejemplo, en el siguiente cuadro se muestran las diferentes sintaxis que emplean tres lenguajes de alto nivel para el producto: $ascal $lanilla de C(lculo NinLogo Area6 Lao2 7 Lao3 Asigna en el lugar de #e#oria deno#inado BAreaC el producto del contenido de los lugares de #e#oria Lado: ) Lado> A27A3 En la celda activa se al#acena la operacin producto la cual involucra a las celdas A: ) A> E#pleando 6uncin $roducto Ba"er FArea Prou"to 0Lao2 0Lao3 E#pleando peracin $roducto Ba"er FArea 0Lao2 7 0Lao3 Las Es(ru%(uras &$ Da(os Nuestro lenguaje posee un conjunto determinado de letras (caracteres) que se emplean en organizaciones lingsticas de diferentes estructuras como las palabras, oraciones, prrafos y alocuciones. Cada uno de estos tipos de estructuras constituye una organizacin lingstica de diferente nivel de complejidad. A su vez, a estas estructuras comunicativas las entramamos con diferentes cdigos comunicativos (lingsticos, matemticos, grficos, icnicos, etc.). De la misma forma, en nformtica los datos se organizan en conjuntos de datos de estructuras ms complejas denominadas ,structuras de !atos. Son portadoras de una abstraccin que alude a la "forma conceptual que toman los datos dentro del conjunto. Los lenguajes de programacin reconocen diferentes estructuras de datos como unidades en s mismas que poseen organizacin propia y sobre las cuales es posible realizar operaciones especficas a su organizacin. No todos los lenguajes de alto nivel permiten emplear las mismas estructuras de datos, o ser dctiles para su empleo, por el mismo hecho de que los lenguajes son dirigidos a diversos tipos de problemas y proveen diferentes estrategias para tratarlos informticamente. Con los lenguajes de bajo nivel se pueden tratar cualquier estructura de datos a costa de que el programador elabore los algoritmos que permitan organizarlas, ingresarle los datos, operarlas e interactuar con ellas. Otra vez nos encontramos con que los lenguajes de bajo nivel son universales a cualquier tipo de problema, pero a costa de esfuerzo del programador; mientras que los lenguajes de alto nivel tienen incorporados como primitivas operaciones propias de determinados agrupamientos especfico de los datos. En la seleccin del lenguaje de programacin se conjuga el tipo de problema a resolver y la organizacin de datos que mejor se le adecua. Ms an, es imprescindible pensar previamente la organizacin de los datos antes de seleccionar el lenguaje a emplear. Las estructuras de datos no slo son necesarias en la modelizacin informtica de problemas, sino que tambin tiene sentido en s mismas. Cada tipo de agrupamiento posee propiedades especficas para almacenar y operar los datos, por lo cual, cada tipo de organizacin pone al descubierto las diferencias lgicas y matemticas que se presentan entre las propiedades del conjunto y las de sus elementos. Una cosa son las propiedades del conjunto de datos y otra diferente las propiedades de los elementos que constituyen estos conjuntos. _________________________________________________________________________ Silvina Caraballo Susana Muraro 110 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Qu criterios se emplean para delimitar las diferentes estructuras de datos? Cules son los mecanismos de organizacin de los tipos de datos que definen diferentes estructuras? Qu tipo de acciones u operaciones se pueden realizar sobre las diferentes estructuras de datos? Tres son los mecanismos bsicos que permiten organizar diferentes agrupamientos de los datos para construir estructuras ms complejas3 repeticin$ agregacin y #inculacin% Estos tres mecanismos se emplean tanto para agrupar tipos de datos como para elaborar estructuras de datos que contengan como elementos a otras estructuras de datos. a) 'epeticin: consiste en construir un agrupamiento ordenado de un mismo tipo de dato. Un ejemplo de este tipo de agrupamiento son las denominadas cadenas de caracteres 43 . Los procesadores de textos editan y almacenan cadenas de caracteres que el lector interpreta comunicativamente pero informticamente no son ms que un conjunto ordenado de caracteres. Sin embargo, la cadena de caracteres no es la nica estructura organizada por repeticin, otras sern descriptas al abordar cada una de ellas en forma particular. b) (gregacin: Se agrupan diferentes tipos de datos de forma tal que cada agrupamiento describa a un individuo o elemento especfico. Ejemplo de este tipo de agrupamiento es una ficha digitalizada de un catlogo de libros; en general puede contener el nombre del autor y de la obra (cadenas de caracteres), la imagen de la tapa (tipo de dato bit-map o vectorial), el precio del ejemplar (nmeros racionales), etc. La ficha est constituida por agregacin (aadido) de diferentes tipos de datos, donde a su vez, un elemento es representado por otra estructura de datos (la cadena de caracteres en el caso del nombre del autor y la obra). c) :inculacin: Los diferentes tipos datos correspondientes se agrupan segn criterios de precedencia en forma de red. Un ejemplo lo constituyen los rboles genealgicos y los planes de estudio de una carrera. A travs de los mecanismos descriptos, los tipos de datos se organizan (relacionan) en estructuras de datos, a su vez las estructuras de datos se relacionan en estructuras ms complejas disponindose como un conglomerado de conjuntos incluidos unos en otros. De esta forma, se tienen organizaciones conformadas por conjuntos de conjuntos. Estas organizaciones poseen propiedades especficas y sus elementos conservan las propiedades que los caracterizan. LAS DFERENTES ESTRUCTURAS DE DATOS Y SUS OPERACONES Segn la organizacin que posee, la cual depende de las relaciones que se establecen internamente entre los datos, y de los mecanismo con que se los agrupan (repeticin, agregacin, vinculacin) es posible clasificar las estructuras de datos, Sobre cada tipo de organizacin es posible realizar diferentes acciones considerndolas como un todo en s misma o considerando a sus elementos en forma independiente. Las operaciones que involucran a las estructuras de datos como una unidad en s misma, ya sea porque se opera sobre ellas como un todo o porque se opera sobre sus elementos, 7O 8l tr)ino %i"trico e" la 9alabra inle"a (trin$ <ue "inifica Cadena$ _________________________________________________________________________ Silvina Caraballo Susana Muraro 111 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ comprenden: a) Editar: agregado, eliminacin, modificacin o cambio de orden de sus elementos. b) Acceder: a la estructura en su totalidad, o a algunos de sus elementos por medio: del lugar que ocupan en el conjunto, de sus rtulos. de criterios preestablecidos acerca de los datos, de navegacin entre los datos, c) Operar: transformar sus elementos mediante operaciones matemticas, lgicas, de clasificacin y de ordenamiento. d) Cambiar formato (formateo): permite visualizar en alguna unidad de salida las formas de representacin de la estructura de datos o de algunos de sus elementos. LAS DFERENTES ESTRUCTURAS DE DATOS Y SUS PROCESAMENTOS Las diferentes estructuras de datos se diferencias no solo por el tipo de agrupamiento al cual responde si no que tambin por el tipo de procesamiento posible de realizar sobre ella. Atendiendo a la forma de procesamiento se las puede clasificarlas, en forma macro, de la siguiente manera: a) Estructuras de datos residentes en la RAM durante su procesamiento. Son aquellas que deben estar almacenadas ntegramente en la RAM al ser procesadas. b) Estructuras de datos cuyo procesamiento implica interaccin entre la RAM y las memorias de almacenamiento masivo. Son aquellas que estn almacenadas en una memoria auxiliar, y para procesarlas debe transferirse parte de sus elementos a la RAM. ESTRUCTURAS DE DATOS RESDENTES EN LA RAM DURANTE SU PROCESAMENTO CADENA DE CARACTERES Constituye un conjunto o serie finita y ordenada de datos de tipo alfanumrico (caracteres) agrupados por repeticin. Se trata como una totalidad y es almacenada como tal en la RAM, o como archivo en alguna unidad de almacenamiento masivo. Suele constituir elemento o parte de otras estructuras de datos. Un ejemplo tpico de cadena son las lneas de caracteres de los archivos editados con un procesador de textos. Acciones relacionadas con las cadenas de caracteres: a) ,ditar, posibilita: Crear una nueva cadena de caracteres. Eliminar la cadena de caracteres en su totalidad o accediendo a una sub-cadenas _________________________________________________________________________ Silvina Caraballo Susana Muraro 112 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ b) (cceder a sus elementos: Detectar dentro de la cadena de caracteres un carcter o una sub-cadena empleando como objeto de bsqueda el contenido de otra sub-cadena. Detectar una sub-cadena identificando el lugar que ocupa dentro de la cadena. Para acceder a un elemento de la cadena es necesario recorrer la estructura desde el primer elemento, a esto se denomina acceso secuencial. c) /perar, involucra acciones como: Ordenar internamente a toda la cadena de caracteres o a subcadenas dependiendo de un criterio lgico-matemtico preestablecido. nvertir el orden de los caracteres, construyendo una cadena donde el ltimo caracter pasa a ser el primero y as sucesivamente. Construir una nueva cadena de caracteres por agregado de otras sub-cadenas. Contar la cantidad de caracteres de una cadena o de una sub-cadena. Modificar la cadena agregando sub-cadenas, cambindolas de lugar, o variando su contenido. Estas acciones sobre su estructura no modifican conceptualmente al tipo de organizacin. d) Cambiar formato, abarca: A toda la cadena, visualizndola de diferentes formas segn el soporte tecnolgico de la Unidad de Salida (cambio tamao papel, cambio de tipo y tamao de caracteres, , almacenamiento como archivo con una determinada extensin). A una sub-cadena, cambindoles los tipos, tamaos y aspecto de los caracteres respecto del formato total asignado a la cadena, indicar a travs de marcas grficas jerarquas de las sub-cadenas dentro de la cadena general, representar en alguna unidad de salida las cadenas de caracteres como organizaciones en tablas. Muchos lenguajes de programacin poseen primitivas que permiten romper la secuencialidad de esta estructura de datos, facilitando la ubicacin de las sub-cadenas dentro de la cadena general, proveyendo palabras clave que permiten manipular las cadenas como sealar bloque, copiarlo, moverlo, borrarlo, cambiar formato de representacin, etc. Los procesadores de textos son lenguajes de programacin de alto nivel que tienen por funcin tratar cadenas conformadas por caracteres (prrafos). Realizar operaciones de edicin propias del tratamiento especfico de sub-cadenas, como cambio de interlineado, modificacin de los mrgenes, etc. Las tablas que se definen, editan y muestran en pantalla son almacenadas en celdas de la RAM como cadenas de caracteres y el lenguaje es el encargado de mostrarlas en la unidad de salida segn el formato que se les impone. La habitualidad social con que se manipulan las cadenas de caracteres desde los inicios de la lecto-escritura, favoreci su empleo informtico sin reflexin sobre su organizacin como estructura de datos. Analizar desde la informtica las cadenas de caracteres permite _________________________________________________________________________ Silvina Caraballo Susana Muraro 113 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ comprender las funciones primitivas que ofrecen los procesadores de textos y al usuario le permite demandar las acciones que necesita para realizar el tratamiento de su texto. Por ltimo, mirar a las cadenas de caracteres desde la propia estructura de nuestra lengua y desde sus tratamientos informticos es una forma de mirar las preocupaciones cientficas y tecnolgicas que se han generado y se tienen que superar en pos del desarrollo informtico de las herramientas que las procesen: Segn Salomon II son "herramientas inteligentes que alberga un cmulo de acciones humanas, pero que tambin imponen a los seres humanos estrategias de produccin propias de estos lenguajes. Permanentemente se da un proceso dialctico de asimilacin-acomodacin de los seres humanos y las herramientas a travs de sus empleos. ARREGLOS Son conjuntos de elementos homogneos en una cantidad predeterminada, ordenados y numerables. Los datos por ser de un mismo tipo se agrupan por repeticin. Cada uno de los elementos del conjunto se denomina "componente del arreglo y se identifica por el nmero de orden que posee dentro del conjunto. Dada que la organizacin poseen los arreglos mantienen una analoga con la figura geomtrica rectngulo, se los suele identificar como estructuras de datos rectangulares organizadas en filas y columnas. Como toda estructura de datos, los arreglos son estructuras virtuales que algn lenguaje de programacin de alto nivel manipula. ste es el encargado de tratarlos como una organizacin rectangular, almacenando en la RAM cada componente en celdas de memoria o bloques contiguos, a partir de la informacin sobre la cantidad de filas y de columnas que posee, para lo cual el sistema operativo determina los lugares de memoria contiguos que se reservan para almacenar sus componentes. Poseen una cantidad preestablecida a priori de componentes, y cualquier modificacin a esta reserva de lugares debe ser atendida por el lenguaje que se emplea. Esto hace evidente que los arreglos son estructuras de datos internas a la RAM, pues para interactuar con ellos deben estar totalmente almacenados en la memoria de procesamiento. Se clasifican en: a) unidimensionales$ tambin denominados vectores b) multidimensionales, tambin denominados matrices 78
Si a la estructura rectangular se la piensa 79 como una sola fila y varias columnas, o como una sola columna y varias filas, el arreglo es unidimensional. Un arreglo es multidimensional si tiene varias dimensiones con varias componentes cada dimensin; en particular si est constituido 77 (alo)on, Ga?riel! (199') +Las di!ersas influencias de la tecnologa en el desarrollo de la mente. @e?i"ta 0nfancia y A9rendiza;e! Pni?er"idad de Arizona!! 7D :a" deno)inacione" 3ector$ y Eatriz$ )ue"tran lo" re"abio" )ate)Htico" <ue tiene la 0nfor)Htica, y de dnde 9ro?ino la 9ri)era nece"idad de u"o! 79 :a 9alabra 9ien"a$ intenta )o"trar <ue la oranizacin 9or fila o 9or colu)na e" una i)aen )ental de "u e"tructura y una deci"in de c)o "e i)9ri)e! 8n la @AE cual<uiera de la" do" for)a" "e al)acenan en celda" contiua"! _________________________________________________________________________ Silvina Caraballo Susana Muraro 114 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ por filas y columnas es bidimensional. Los siguientes esquemas muestran una organizacin vectorial y una matricial: Vector o Arreglo unidimensional: N.#ero de orden de las Co#ponentes C : > K G = H I < C4:5 C4>5 C4K5 C4G5 C4=5 C4H5 C4I5 C4<5 Matriz o Arreglo bidimensional: N.#ero de orden de las colu#nas : > K G = N.#ero de orden de las %ilas : C4:-:5 C4:->5 C4:-K5 C4:-G5 C4:-=5 Las Co#ponentes C4i-j5 se identi%ican por la u"icacin de su %ila ) colu#na' i corresponde a la %ila ! corresponde a la colu#na > C4>-:5 C4>->5 C4>-K5 C4>-G5 C4>-=5 K C4K-:5 C4K->5 C4K-`5 C4K-G5 C4K-=5 G C4G-:5 C4G->5 C4G-K5 C4G-G5 C4G-=5 A partir de una determinada direccin de memoria, que administra el sistema operativo, cada una de las componentes se almacena en orden secuencial. La identificacin de la fila y columnas de cada elemento se emplea para determinar la direccin de memoria en las cuales se almacenan cada componentes.. Suponiendo que el arreglo del esquema anterior se almacene por filas, ste quedara almacenado en la RAM de la siguiente forma: Co#ponentes de la pri#era %ila Co#ponentes de la segunda %ila Co#ponentes de laL. C4:-:5 C4:->5 C4:-K5 C4:-G5 C4:-=5 C4>-:5 C4>->5 C4>-K5 C4>-G5 C4>-=5 C4K-:5 C4K->5 LL. Las acciones a realizarse sobre los arreglos unidimensionales y multidimensionales son: a) De edicin, posibilita: Eliminar el arreglo en su totalidad Cambiar datos almacenados en alguna o algunas de sus componentes c) De acceso: pueden ser de dos tipos: (cceso secuencial, se recorre las componentes una por una desde la primera hasta arribar a la que se necesita como se ejemplifica en el siguiente esquema. C4:-:5 C4:->5 C4:-K5 C4:-G5 C4:-=5 Lnea llena' recorrido por %ila ) colu#na Lnea punteada' recorrido por colu#na ) %ila C4>-:5 C4>->5 C4>-K5 C4>-G5 C4>-=5 C4K-:5 C4K->5 C4K-`5 C4K-G5 C4K-=5 C4G-:5 C4G->5 C4G-K5 C4G-G5 C4G-=5 El acceso secuencial generalmente se aplica cuando se conoce el contenido de la componente pero no su ubicacin. (cceso aleatorio se accede directamente a la componente deseada sin necesidad de recorrer las componentes previas a la buscada. d) De transformacin u operacin, pueden ser: Operar arreglos entre s. Dado que sus componentes constituyen una organizacin que _________________________________________________________________________ Silvina Caraballo Susana Muraro 115 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ posee identidad en s misma, pueden ser operados como un todo bajo determinadas condiciones sobre sus componentes. Si el arreglo posee las propiedades matemticas de las matrices se pueden sumar, restar, multiplicar o dividir entre s o por un nmero, y realizar clculos matemticos ms complejos. Aplicar funciones matemticas a sus componentes y operar lgicamente comparndolas segn criterios lgicos establecidos sobre ella. Crear otros arreglos empleando parte de uno o por agregado de componentes de varios otros. Modificar el orden de las componentes segn criterios lgicos sobre sus datos. Para que la estructura de datos constituya un arreglo, cualquiera de estas operaciones o transformaciones debe respetar que se mantenga su estructura de datos, es decir, que se preserven la condicin de conjunto de componentes homogneas, finitas y numerables que conforman una totalidad en s misma. d) De cambio de formato: Sobre esta estructura de datos es posible realizar dos diferentes tipos de cambios de formato. Uno atiende a la representacin de cada una de sus componentes y el otro a la totalidad de la estructura. Cambiar la representacin de sus componentes. Las operaciones o transformaciones de formateo permiten diferenciar el contenido almacenado en las celdas de la RAM de su expresin en la unidad de salida. Cambiar la representacin de todo el arreglo expresndolo, por ejemplo grficamente como una relacin o funcin matemtica. Los cambios de formato de los arreglos dependen de los lenguajes de programacin empleados. Adems, una cosa es la estructura del dato y otra cosa son las funciones que dichas estructuras cumplen en los problemas. Por ejemplo, la siguiente tabla contiene pares ordenados de valores de la funcin C 6 3 / 4 8 /12 Desde una concepcin matemtica se la denomina "tabla simple; pero desde la concepcin informtica esta organizacin est constituyen dos vectores de igual cantidad de elementos y tipos de datos asociados. Otra confusin habitual es la de considerar a las tablas de doble entrada como matrices. Es evidente que la resolucin informtica de un problema que impone una organizacin en tabla de doble entrada debe hacer uso de la estructura de datos matricial, pero no por ello la estructura de datos es una tabla de doble entrada. Tomemos como ejemplo la siguiente tabla de doble entrada: Desde la mirada informtica se tiene una matriz de componentes enteras y dos vectores asociados a la matriz, uno de ellos tipo columna y el otro tipo fila en los cuales se _________________________________________________________________________ Silvina Caraballo Susana Muraro 116 [ D -> -:; -: -G ? -: : > > :I &a de la se#ana Lunes *artes *i3rcoles 0ueves Viernes Cantidad de alu#nos $resentes >? >= :< :; >> Ausentes = ? I H K Total >= >= >= >= >= UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ almacenan cadenas de caracteres. De esta forma, el cuadro de doble entrada no cumple con la propiedad de ser un arreglo pues no son homogneos sus contenidos. En sntesis, el sentido y forma de uso que se da a una estructura de datos es parte de la conceptualizacin humana del problema en tratamiento, desde la informtica slo se toma en cuenta su estructura formal segn los criterios de organizacin descriptos. Desde una mirada macro para resolver el problema de emitir facturas de una librera empleando una planilla de clculo slo se necesita construir una planilla como la expuesta a continuacin; pero desde el punto de vista informtico se est trabajando con varias estructuras asociadas, sobre cada una de ellas es posible realizar determinadas acciones con independencia de las otras: Los cabezales o nombres de las columnas (fila 1 de la tabla): "Tipo de compra, "Cantidad de unidades y "Precio unitario no son partes del vector, constituyen celdas independientes que almacenan cadenas de caracteres y tienen por funcin informar a que categora se refiere el dato del vector asociado a la columna. Los vectores identificados por "Tipo de compra, "Cantidad de unidades, "Precio unitario comprenden datos independientes pertenecientes a diferentes categoras. Cada vector posee datos homogneos dado que constituyen atributos de una misma variable. Obsrvese que para el vector "Tipo de compra sus componentes estn constituidas por otra estructura de datos (cadena de caracteres), con lo cual se tiene una estructura como elemento de otra estructura (desde una mirada conjuntista, constituyen conjuntos de caracteres dentro de un conjunto de estructura vectorial). Un ejemplo de esta situacin es el vector "A pagar correspondiente a la factura de compra, en el cual sus componentes son frmulas que relacionan dos vectores ("Cantidad de unidades y "Precio unitario) y lo que se emite en la Unidad de Salida es el resultado de la operacin. Otro ejemplo es el mismo vector "A pagar, el resultado de las operaciones que tienen definidas sus componentes no asegura resultados con dos decimales. Esta expresin numrica es resultado de una decisin respecto al formato de salida del dato determinada por el sentido que tiene el dato dentro del problema. _________________________________________________________________________ Silvina Caraballo Susana Muraro 117 . Vector- co#ponentes cadenas de caracteres Vector- co#ponentes n.#eros enteros Vector- co#ponentes n.#eros en punto %lotante Vector- co#ponentes contiene %r#ulas- sus resultados representados en punto %lotante. UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ LSTAS En contraposicin a los arreglos que constituyen estructuras de datos estticas que poseen una cantidad preestablecida a priori de componentes, las listas constituyen estructuras de datos dinmicas, con cantidad de elementos modificable que se forman por agregacin de datos. Como una forma de ejemplificar la estructura dinmica de una lista planteamos la siguiente situacin: Suponer que se almacen en un vector de 6 componentes los siguientes nombres: Al%onso Ana 2erta /oracio 8o"erto aule#a La RAM almacena cada componente de este vector en orden consecutivo. Por ser una estructura esttica si se necesita agregar o quitar un nombre es necesario modificar todo el vector. Por ejemplo, ante la situacin de agregar una nueva componente se dispone de dos estrategias diferentes: Definir el arreglo con una cantidad de componentes excesivas, previendo necesidades futuras de incorporacin de nuevos datos. Definir un nuevo arreglo con la cantidad que se necesitan incorporar ms las que posee actualmente y proceder a transferir los datos del anterior arreglo y los nuevos. La primera solucin hace uso de recursos del hardware que pueden ser no aprovechables (cuntas componentes extras seran necesarias?); la segunda solucin implica la construccin de un proceso que atienda la estrategia descripta con el correspondiente aumento del tiempo de procesamiento y empleo de lugares de memoria. Estas soluciones son poco econmicas y adems agregan la necesidad de anticipar estrategias de programacin que permitan construir rutinas que varen la cantidad de componentes de una estructura rgida de datos. Para estos tipos de problemas, que involucran datos dinmicos en cuanto a su cantidad y tipo, es que se plante la necesidad de proveer a diferentes lenguajes de programacin de la capacidad de almacenar y operar estructuras dinmicas. Una estructura de datos es una lista dinmica si constituye un conjunto finito y de cantidad variable de datos secuenciales que son almacenados en la memoria de procesamiento no necesariamente en celdas contiguas. Muchos lenguajes de programacin identifican a las listas encerrando los datos que la constituyen entre corchetes y separados por espacios, por comas o, por puntos y comas. Un ejemplo de lista de datos homogneos es: 9Al%onso Ana 2erta /oracio@ La principal diferencia entre las listas y los arreglos consiste en el uso dinmico de memoria y que sus componentes pueden ser heterogneas; dado que, a su vez sus componentes pueden ser sub-listas o una estructura de registro 80 , como se muestra a continuacin: 9Al%onso 9>= <=-K??@ Ana 9>I =I->=?@ 2erta 9:< HH-???@ /oracio 9KG I<-;=?@@ D7 8l conce9to de rei"tro e" de"arrollado en el 9unto Arc%i?o"$! _________________________________________________________________________ Silvina Caraballo Susana Muraro 118 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ En cada sub-lista el primer dato numrico corresponde a la edad de la persona y el segundo al peso. Cmo se almacenan los elementos de una lista en la RAM? Para mostrar la gran diferencia entre un vector unidimensional y las listas exponemos el mtodo denominado listas enlazadas. Por cada elemento de la lista se asignan dos bloques de memoria, en uno se almacena el contenido del elemento de la lista (ejemplo "Ana) y en el otro celda la direccin de memoria en la cual se almacena el prximo elemento de la lista (en este caso el de "Berta). Al contenido de esta ltima informacin se lo denomina puntero pues describe el lugar al que hay que "apuntar para acceder al prximo elemento de la lista. Todas las listas poseen un elemento cabeza y otro cola. A la cabeza de la lista se dirige el puntero de inicio de la lista que constituye una informacin externa a la lista pero almacenada en alguna celda de la RAM. La cola tiene asignado un puntero nulo dado que no se dirige a ningn otro elemento. Estos dos elementos son esenciales para el acceso a elementos de la lista. Esta forma de almacenar los elementos de una lista permite modificarlas rpidamente, como muestra el siguiente esquema: $untero inicio /oracio $untero 2erta $untero Al%onso $untero 8o"erto $untero Ana $untero aule#a $untero Nulo Varios lenguajes de programacin presentan una gramtica que posibilita almacenar y manipular listas, como el LSP y las diferentes variantes del Logo el cual no slo ofrece primitivas que permiten operar con las listas y sus elementos, sino que la sintaxis de las palabras claves o reservadas posee la estructura de listas. Las acciones posibles de realizar sobre las listas ya sea enlazadas o no ("listas densas) son: a) De edicin, permite: Eliminar la lista en su totalidad. Cambiar el contenido de algn elemento de la lista. b) De acceso, permite: dentificar un elemento por su contenido. El acceso es secuencial o por identificacin del puntero. c) De transformacin u operacin, comprende: Agregar elementos a una lista. Quitar elementos de una lista. Cambiar el orden de los elementos dentro de una lista, para lo cual slo es necesario modificar la lista que contiene las asignaciones de los punteros. _________________________________________________________________________ Silvina Caraballo Susana Muraro 119 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Operar lgica y matemticamente elementos de una lista. Crear una lista a partir de varias listas. Separar una lista en sub-listas. Contar los elementos de una lista. d) De cambio de formato, corresponden a las formas de representacin en la unidad de salida que se otorga a los elementos de la lista. Las listas pueden ser simples o dobles. Las simples tienen un solo puntero y se las recorre siempre en el sentido de la cabeza a la cola; mientras que las dobles poseen dos punteros, uno hace posible el recorrido desde la cabeza a la cola y el otro de la cola hacia la cabeza. Segn la forma de ingreso y egreso de los datos a la memoria, a las listas se las clasifica en: 6ila y Cola# La 6ila es una lista en la cual todos los elementos se ingresan y egresan desde su cabeza. Un ejemplo concreto de una pila es la forma de almacenar platos en una alacena, se guarda y accede siempre por el plato de arriba de la pila (menudo problema podemos generar intentando sacar un plato desde la cola de la pila). La Cola posee la caracterstica de ingresar los datos por la cola y egresarlos por la cabeza. Un ejemplo cotidiano de cola lo constituyen justamente las colas de abordaje de los medios de transporte, un ejemplo informtico lo vivimos en las colas de impresin que genera el sistema operativo para que la impresora vaya atendiendo a las demandas realizadas por los usuarios. Esta idea de listas enlazadas permite plantear otra estructura de datos cuya importancia y relevancia especialmente radica en la construccin de estructuras jerrquicas como las denominadas "rboles que pueden ser vistas desde la estructura de redes. REDES La estructura en red est conformada por un conjunto de elementos que mantienen dependencias entre s a travs de relaciones de precedencia. Estas relaciones de precedencia pueden ser de orden estricto o de orden no-estricto (ejemplo, de orden estricto un rbol genealgico y de orden no estricto un hipertexto). Cuando el orden de precedencia es estricto a la red se la denomina "rbol en analoga con el tronco y las ramas de un rbol. Al ser listas que poseen caractersticas especficas, cada elemento de la red se denomina nodo 81 y tiene diferente denominacin segn el lugar que ocupa en el rbol. Un ejemplo de rbol es la organizacin de las carpetas dentro de una unidad de almacenamiento masivo, como puede ser la siguiente: D1 >e a<u 9ro?iene <ue cada 9Hina de un %i9erteIto "e deno)ina nodo$, aun<ue conce9tual)ente lo" %i9erteIto" no con"tituyen una e"tructura de dato"! _________________________________________________________________________ Silvina Caraballo Susana Muraro 120 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Tra"ajos Varios Escuela: Escuela> EscuelaK 1rupo: 1rupo > 1rupo : 1rupo: 1rupo > Lengua Cine Teatro Lengua Teatro Cine Lengua Las lneas punteadas encierran dos su"(r"oles de di%erentes niveles Su"(r"ol Lneas punteadas encierran otro su"(r"ol El nodo de nicio ("Trabajos Varios) se denomina ;odo 'az, los otros nodos constituyen los nodos hojas del rbol que estn relacionados entre s a travs de arcos. Un recorrido del rbol est determinado por la cantidad de arcos que van del nodo donde se inicia hasta el nodo final del recorrido. La profundidad del rbol est determinada `por el recorrido ms largo, aquel que tiene mayor cantidad de arcos. En el ejemplo anterior, la profundidad es 3. De anloga forma que las listas, este tipo de estructura de datos necesita de asignacin dinmica de la memoria, empleando punteros para relacionar los nodos desde el nodo raz hasta el nodo terminal. Si el rbol tiene una estructura binaria, por lo cual de cada nodo le sigue dos nodos, el almacenamiento de cada hoja contendr el dato que le corresponde y dos punteros, uno es el puntero izquierdo y el otro el puntero derecho 82 . Sobre las estructuras de rboles se pueden realizar acciones anlogas a las que se realizan con las listas dado que, desde el punto de vista conceptual son listas. ESTRUCTURAS DE DATOS CUYO PROCESAMENTO MPLCA LA NTERACCN MEMORA DE PROCESAMENTO-MEMORA MASVA En estas estructuras, la totalidad de los datos est residente en alguna memoria de almacenamiento masivo o auxiliar, y para su procesamiento se transfieren los datos de a uno o por subgrupo. Una vez transformados se almacenan en la estructura residente en la memoria auxiliar, es as como este proceso genera una continua interaccin entre ambas memorias. ARCHVOS En nformtica el trmino genrico de (rchi#o se utiliza para nombrar a cualquier conjunto de bytes almacenado en una memoria de de almacenamiento masivo ya sea que esos bytes conformen un programa o datos. Dentro de las estructuras de datos la palabra "Archivo implica la organizacin que se describe a continuacin. La estructura de datos en archi#o constituye una organizacin que agrupa un conjunto de datos descriptores de individuos, objetos o conceptos, para lo cual se emplean las mismas variables D' :a deno)inacin de 9untero derec%o$ y 9untero iz<uierdo$ 9ro?iene de "u re9re"entacin rHfica en 9a9el, dentro de la )e)oria no %ay derec%a o iz<uierda, la" celda" de )e)oria e"tHn direccionada" en for)a "ecuencial! _________________________________________________________________________ Silvina Caraballo Susana Muraro 121 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ de anlisis, que se trabaja como una unidad en s misma. Cada variable descriptora tomar diferentes valores o atributos segn el elemento del conjunto que se describe. Por este motivo, constituye una estructura de datos que se conforma por agregacin de diferentes tipos de datos. La informacin de cada elemento del conjunto se denomina registro o ficha 83 del archivo, cada variable descriptora conforma un campo del registro, y cada dato diferente asignado a un mismo campo corresponde a un atributo de ese campo (un determinado valor que toma esa variable para un elemento particular del conjunto). En sntesis, un archivo es un conjunto de registros homogneos en cuanto a las variables descriptoras empleadas, pero heterogneo en cuanto a los atributos que las conforman. Esquemticamente un archivo se representa como una tabla de la siguiente forma: Ca#po : Ca#po > Ca#po K Ca#po G Ca#po = 8egistro : Atri"uto : del Ca#po : Atri"uto : del Ca#po > Atri"uto : del Ca#po K Atri"uto : del Ca#po G Atri"uto : del Ca#po = 8egistro > Atri"uto > del Ca#po : Atri"uto > del Ca#po > Atri"uto > del Ca#po K Atri"uto > del Ca#po G Atri"uto > del Ca#po = 8egistro K Atri"uto K del Ca#po : Atri"uto K del Ca#po > Atri"uto K del Ca#po K Atri"uto K del Ca#po G Atri"uto K del Ca#po = 8egistro G Atri"uto G del Ca#po : Atri"uto G del Ca#po > Atri"uto G del Ca#po K Atri"uto G del Ca#po G Atri"uto G del Ca#po = LLLL.. LLLL.. LLLL.. LLLL.. LLLL.. LLLL.. Dentro de un mismo campo, un atributo puede repetirse si varios registros poseen idntica informacin, pero cada uno de ellos forma parte de la descripcin de un individuo particular. Ejemplos de archivos de uso cotidiano son las guas telefnicas, las fichas que identifican libros en una biblioteca, los registros de asistencia 84 de los alumnos de una clase. Los archivos deben contar con un campo cla#e cuya funcin es la de identificar unvocamente a cada registro, diferencindolo de los otros registros (por ejemplo, la identificacin personal a travs del nmero de legajo); el dato contenido en este campo clave constituye la cla#e de acceso. Adems, deben tener un ltimo registro nulo cuyos campos poseen datos contrapuestos a los datos vlidos del archivo, dado que su funcin es la de indicar el fin del archivo. En todos los algoritmos que procesan archivos se involucran estructuras cclicas, por lo cual este campo clave es imprescindible para finalizar el ciclo. Otra situacin terica que surge de la estructura de archivos es la diferencia entre la estructura del registro que mejor se adecua al tratamiento informtico del problema y la estructuras fsicas de las memorias (almacenamiento o procesamiento). El primero se denomina registro lgico mientras que el segundo es el registro fsico# Es evidente que hay diferencias entre la lgica con que se organizan los registros de un archivo (cantidad de campos, cantidad de caracteres por campos y tipos de datos de los campos) y la estructura de la memorias en bloques de celdas y D* 8"te no)bre %ace referencia a la" tar;eta" de cartulina <ue "e e)9leaban en lo" arc%i?o" )anuale", co)o lo" fic%ero" de la" biblioteca"! D5 8l tr)ino e"colar rei"tro de a"i"tencia$ no e" un tr)ino infor)Htico! (u no)bre deri?a de la accin de rei"trar (anotar) la" "ituacione" de lo" alu)no" y no de la e"tructura de dato" <ue 9o"ee la 9lanilla <ue con"tituye de 9or " un arc%i?o aun<ue el "o9orte "ea el 9a9el! _________________________________________________________________________ Silvina Caraballo Susana Muraro 122 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ tipos de datos que se almacenan o en cantidad de caracteres dentro de la organizacin fsica del disco rgido 85 . Operaciones posibles de realizar sobre un archivo: a) De edicin, permite: Crear un archivo nuevo. Eliminar el archivo en su totalidad. Agregar o eliminar un registro (altas o bajas de registros). Cambiar el contenido de algn registro (modificaciones de registros). b) De acceso, operaciones que permiten: Leer el contenido de un registro. La propia estructura de datos posee una impronta secuencial, los registros se suceden uno a otro, tanto para almacenarlos, acceder a ellos como para tratarlos. Justamente a este tipo de archivos se los denomina archi#os de acceso secuencial 53 . El acceso secuencial obliga a recorrer todos los registros hasta encontrar el deseado aunque ste est ubicado al final del archivo, siendo de rpido acceso slo los registros que estn ubicados al principio. Para acelerar en parte este proceso es que los registros se almacenan ordenados secuencialmente a partir del campo clave. Este tipo de archivos tiene sentido si todos los registros deben ser procesados en su totalidad (ejemplo, emitir facturas de un servicio pblico), pero es tedioso e inoperante al exigir mucho uso de tiempo de procesamiento si slo un subconjunto de los registros van a ser abordados en el procesamiento. Un ejemplo de situaciones habituales en las que los archivos secuenciales son un fastidio lo constituyen las consultas interactivas, para las cuales la organizacin del archivo debe asegurar lo ms rpido posible el acceso al registro identificado por una clave de acceso especfica. Estos tipos de problemas necesitan de archivos que permitan el acceso 'andom o directo, es decir, acceder al registro que se necesita sin recorrer otros registros. Una forma de proporcionar archivos directos es creando tablas almacenables en la RAM que contengan el ndice o lugar exacto en que el registro deseado est almacenado en la memoria masiva. Estos archivos se denominan archi#os inde4ados# Si los archivos poseen un gran volumen de registros, las tablas sern excesivamente grandes, D- :a oranizacin f"ica de la" )e)oria" de al)acena)iento )a"i?o co)o lo" di"co" rido", e"tHn di"9ue"ta" en 9i"ta" concntrica" <ue a "u ?ez e"tHn oranizada" en un con;unto de "ectore"! :a" 9i"ta" y "ectore" 9o"een la )i")a ca9acidad de al)acena)iento y "on identificada" 9or el "i"te)a o9erati?o a 9artir de la infor)acin <ue "u)ini"tra la tabla de localizacin de arc%i?o"! +u"ta)ente e"ta oranizacin en 9i"ta" y "ectore" "obre la" cuale" "e raban lo" diferente" ti9o" de dato" e)9leando 9unto" )antico" con"tituyen lo" rei"tro" f"ico"! DO Pn e;e)9lo de e"te ti9o de arc%i?o" "ecuencial "on lo" arc%i?o" de teIto"! 8l teIto e" al)acenado caracter 9or caracter (&yte a &yte) oranizado" en blo<ue" de iual cantidad de byte" en for)a "ecuencial, <ue "on al)acenado" tanto en la @AE o en la" unidade" de al)acena)iento )a"i?o (lo" rei"tro" lico" y f"ico" coinciden)! 8" 9or e"te )oti?o <ue al recu9erar en 9antalla un arc%i?o de teIto, "te a9arece en el orden de edicin (9ri)era 9Hina a Mlti)a 9Hina), "ituacin <ue "e re9ite 9ara i)9ri)irlo, rabarlo, etc!, tanto e" a" <ue frente a cual<uier deci"in de traba;ar con 9arte del arc%i?o e" nece"ario realizar accione" e"9ecfica" "obre ello"! _________________________________________________________________________ Silvina Caraballo Susana Muraro 123 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ lo que implica disponer de lugar de memoria de procesamiento y tiempo de acceso a la informacin solicitada (en informtica se han desarrollado una variedad de algoritmos que reducen el tiempo de procesamiento que exige la bsqueda de informacin). Aun as, los archivos directos presentan la dificultad de que el tiempo de acceso depende del volumen de registros que poseen. Una forma de acelerar los tiempos de acceso a los registros es empleando archivos que conjugan la estructura indexada y secuencial. El ndice tiene por funcin acercar la lectura del archivo hasta un registro aproximado y a partir de ese punto la lectura de los registros se realiza en forma secuencial. Este tipo de acceso necesita que los registros posean una organizacin secuencial y estn ordenados por su campo clave segn la lgica de tratamiento del problema y una tabla constituida por el campo clave que tiene asociado la ubicacin exacta de cada cambio de ndice de los registros a partir del cual se realiza la lectura secuencial. Recordemos que la estructura de datos en archivos obliga a almacenar los datos en memorias masivas e ir interactuando entre este tipo de almacenamiento y la RAM (todo es identificar claramente donde ir a buscar el registro) para procesarlo. Un ejemplo claro de estos dos tipos de archivos (secuencial e indexado) es la agenda telefnica de los celulares. Por un lado permite acceder en forma secuencial recorriendo la agenda, que el software del dispositivo orden alfabticamente. Pero tambin, se puede ir accediendo por ndice al ingresar las primeras letras del nombre que identifica al telfono buscado. Hecha esta operacin se puede ir recorriendo los nombres en forma secuencial. La complejidad de la tabla ndice depende del tipo de indexacin con que fue construido el archivo. c) De transformacin u operacin, comprende: Ordenar los registros segn un campo o a travs de relaciones lgicas entre los campos. Clasificar registros. Operar lgica y matemticamente sobre los atributos de alguno de sus campos. Crear otro archivo que contenga un subconjunto de registros. Crear otro archivo que contenga un subconjunto de campos de otro archivo. Mezclar archivos para obtener otro archivo con la totalidad de ambos registros (o subconjuntos de registros). Contar registros. d) De cambio de formato, corresponder a la formas de representacin en unidad de salida que se otorga a la informacin contenida en sus campos: Sin embargo, estas organizaciones de archivos, que involucran grandes masas de datos, tienen como dificultad que generan redundancia de informacin dado que en una variedad de problemas informticos es necesario contar con varios archivos con algunas variaciones en algunos de sus campos pero manteniendo otros con anloga informacin (claves de acceso o informacin estructural de cada registro). La otra situacin es que el procesamiento de grandes _________________________________________________________________________ Silvina Caraballo Susana Muraro 124 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ masas de datos involucra diferentes estructuras de archivos, algunos de ellos secuenciales y otros indexados, situacin que genera problemas especficos de programacin. De estas dos preocupaciones informticas es que surgi la idea de las Bases de Datos. BASE DE DATOS La denominacin de base de datos tiene un sentido preciso en nformtica y un sentido coloquial al generalizarlo como una forma de identificar una gran cantidad de datos aunque no respondan a una estructura informtica especfica. El sentido informtico de las 7ases de datos, corresponde a una organizacin de archivos en tablas normalizadas y consolidadas que se relacionan entre s a travs de criterios explcitos. La normalizacin de las tablas implica que entre ellas no contienen informacin redundante como puede resultar de duplicar campos en diferentes tablas. La consolidacin implica que modificaciones en un registro de una de las tablas produce modificaciones automticas en los registros de otras tablas que mantienen relaciones de dependencia de esa informacin. Por ser una organizacin en archivos relacionados, se construye por agregacin de datos de diferentes categoras o tipos. En sntesis, en las bases de datos el tratamiento de informacin involucra y modifica los datos de diferentes tablas, mientras que en las organizaciones en archivos tradicionales slo se puede modificar la informacin incluida en el archivo en tratamiento. Con la intencin de aclarar el trmino "base de datos exponemos el siguiente ejemplo. Una plataforma virtual educativa tiene por funcin brindar los elementos necesarios para gestionar la enseanza de diferentes asignaturas dentro de una organizacin educativa especfica. En ella se albergan datos personales de los estudiantes, datos sobre sus seguimientos acadmicos, informacin sobre los docentes, cobija materiales educativos, controla el acceso de los estudiantes a los materiales, as como atiende las entregas de los trabajos por parte de cada estudiante y, para cada asignatura que hace uso de la plataforma, elabora estadsticas educativas, comunica informacin, etc. Cada una de estas tareas involucra diferentes archivos que poseen diferentes lgicas organizativas; y las acciones realizadas sobre una de sus componentes, como puede ser la entrega de los trabajos de evaluacin por parte de los estudiantes, la correccin del profesor y la notificacin de los resultados; involucra las actualizaciones de varios archivos (actualizar el archivo del profesor para consignar los envos de las evaluaciones, ingresar los resultados de la evaluacin al archivo de cada estudiante, acreditar los resultados en el archivo acadmico de los estudiantes, actualizar informacin estadstica, remitir la informacin pertinente a los alumnos). Para gestionar estas tareas es preferible una organizacin de archivos relacionados en base de datos, que permita las actualizaciones de cada una de las tablas que conforman la plataforma segn la situacin procesada. Un esquema posible de esta organizacin puede ser: _________________________________________________________________________ Silvina Caraballo Susana Muraro 125 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Ta"la datos alu#nos Segui#iento acad3#ico alu#nos - Asignatura' - $rogra#as - Actividades - *ateriales educativos Co#unicaciones entre estudiantes- pro%esores- estudiantes ) pro%esores as co#o con la o%icina ad#inistrativa. 2ase de datos consolidada contiene Tareas propias de la docencia de cada asignatura co#o evaluacin de las actividades $lan de estudios Estadsticas educativas Estas organizaciones en bases de datos presentan un beneficio a la administracin de sistemas informticos integrados, pero generan problemas de seguridad informtica. Como un ejemplo de esta situacin, en una plataforma virtual los estudiantes tienen acceso a la tabla de asignaturas slo para obtener los materiales y actividades propias de las materias que cursan, no as para depositar o quitar informacin, actividad exclusiva de los profesores (esto segn sean configurados los permisos de actividades de cada tipo de usuario segn su rol al interior de la plataforma). Es por esta situacin que se deben definir privilegios de acceso a determinadas personas, los cuales les permitirn acceder de diferentes modos a la informacin de las tablas que constituyen la base de datos. El tema de la seguridad informtica, es propio de los sistemas integrados en que interactan diferentes personas con variados tipos de acceso. El problema surge por dos motivos esenciales: a) Preservacin interna de los datos de cada dependencia (que pueden abarcar una o varias tablas) de las acciones de otras dependencias. b) Preservacin de los datos no pblicos frente al acceso de personas externas a la organizacin. El tema de la seguridad informtica surge especialmente de las organizaciones en redes de informacin. Si nuestro equipo constituye un sistema cerrado sobre nuestras propias actividades sin generar comunicaciones externas, no estamos expuestos a problemas de seguridad informtica, pero en el estado actual de la tecnologa estaramos limitados a trabajar como se haca hace muchos aos atrs. Estamos otra vez frente al problema de la relacin costo-beneficio frente al empleo de la tecnologa, pero esta tensin no implica limitar su empleo sino que implica la conciencia del problema y su atencin constante. Es parte del juego actual del desarrollo de la nformtica y de los aprovechamientos sociales que se hacen. Es decir, es propio de los efectos sociales de la digitalizacin: la tecnologa a la par de ofrecer soluciones origina cuestiones (nuevas o no tanto) que deben ser consideradas y atendidas. Operaciones a realizar sobre una base de datos. Por constituir archivos relacionados, las mismas operaciones descriptas para archivos secuenciales, indexados o mixtos son factibles de realizarse, pero los software administradores de bases de datos, que constituyen lenguajes _________________________________________________________________________ Silvina Caraballo Susana Muraro 126 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ de programacin de alto nivel, permiten los siguientes tipos de bsqueda que son especficas en este tipo de organizacin: Bsqueda por ndice, que consiste en acceder al registro o los registros necesarios sin pasar por los otros registros a partir de la informacin descriptiva de sus contenidos. Es como acceder a informacin especfica dentro de un libro a partir del ndice del libro. Bsqueda por predicado, que consiste en seleccionar registros a partir de informacin compuesta por los atributos de diferentes campos o dentro de un mismo campo. Por ejemplo, en una plataforma, un docente puede solicitar las siguientes informaciones: BListar los no#"res de los estudiantes 7ue tienen #enos de I en sus evaluaciones ) de"en por lo #enos : actividad o"ligatoriaC BListas los no#"res de los estudiantes 7ue tiene entre G ) I co#o pro#edio de sus actividades o"ligatoriasC HPERTEXTO-HPERMEDA Con los hipertextos nos encontramos frente a una organizacin constituida por un conjunto de fichas heterogneas en cuanto a su estructura y a los tipos de informacin que contienen. La forma de relacionar sus datos es a travs de establecer precedencia entre las fichas a partir de algn dato. Al igual que la estructura de datos en rbol, cada ficha se denomina nodo. Si el hipertexto es hipermedial el contenido de las fichas puede estar constituido por cadenas de caracteres, imgenes estticas o dinmicas, grficos, msica o voces grabadas (archivos sonoros en general), en caso contrario, como el mismo nombre lo indica, constituyen redes donde todos sus nodos contienen cadenas de caracteres. Los nodos o fichas pueden preceder a varios nodos as como tambin pueden varios de ellos converger a un mismo nodo. Las relaciones de precedencia se construyen a travs de arcos o lin<s. Todo link est constituido por una marca de inicio sobre la ficha origen y la informacin sobre a qu otra ficha u otro punto dentro de la misma ficha est dirigido. Los diferentes links de un hipertexto construyen los diferentes caminos de acceso a la informacin por los cuales se puede recorrerse. De esta forma, el acceso a un determinado nodo es por na#egacin recorriendo el camino de ensambles o links del nodo origen al nodo destino. Segn que las relaciones de precedencia entre los nodos sean estricta o de orden parcial, constituyen: a) redes jerrquicas. b) redes hipertextuadas. Esquema de posibles hipertextos e hipermedias: _________________________________________________________________________ Silvina Caraballo Susana Muraro 127 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ /iperteFto jer(r7uico /iperteFto no-jer(r7uico Las redes jerrquicas son siempre de tipo arborescente, los nodos de sus caminos mantienen relaciones de precedencia estricta y para recorrer uno de ellos es necesario partir del nodo origen del camino. Un camino no puede tener ciclos (en el caso de la figura izquierda el nodo inicio es el origen de la red, por lo cual si se est en el "nodo 6 para ir a el "nodo 4 es necesario desandar el camino hasta alcanzar un nodo que contenga un link que permita acceder al nodo 4). En las redes hipertextuadas como las relaciones de precedencia son parcialmente ordenadas se pueden generar mltiples recorridos que pueden ser cclicos (en el caso de la figura de la derecha, el camino Nodo 4 -> Nodo 8 -> Nodo 5, constituye un camino cclico). Cul es la diferencia fundamental entre las estructuras de datos en rboles y los hipertextos? Los rboles son estructuras de datos reconocidas por algunos lenguajes de programacin que los procesa como un todo sobre el cual se realizan determinadas acciones u operaciones. Mientras que los hipertextos se almacenas en alguna memoria de almacenamiento masivo y los nodos se van transfiriendo a la RAM segn el sentido de navegacin con que se los aborda. Los hipertextos son software que puede ser de dos tipos diferentes: a) sus nodos estn contenidos dentro de un archivo nico, como algunos de los que se elaboran con los editores de presentaciones, donde cada nodo enlaza a una diapositiva especfica dentro del total de las diapositivas que conforman la presentacin. b) sus nodos constituyen diferentes archivos que son almacenados en memoria y ejecutados cada vez que se accede a ellos a travs de los links, como ocurre entre las pginas Web. Como fue expuesto antes, los nodos pueden contener informacin textual, imgenes estticas y dinmicas, sonidos, arreglos unidimensionales y multidimensionales, archivos de datos, lista de datos, por lo cual este tipo de macro organizacin permite una gran variedad de aplicaciones. Su versatilidad y complejidad es atendida por lenguajes de programacin _________________________________________________________________________ Silvina Caraballo Susana Muraro 128 Nodo H Nodo !nicio Nodo : Nodo > Nodo K Nodo G Nodo = Nodo !nicio Nodo : Nodo > Nodo K Nodo G Nodo = Nodo I Nodo < UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ especficos de alto nivel; como as tambin por determinadas herramientas de produccin (procesadores de textos, planillas de clculo, administradores de bases de datos, editores de presentaciones, editores de pginas de Web), las cuales ofrecen conjuntos de primitivas que permiten al usuario organizar sus producciones en redes. Qu acciones son posibles de realizar sobre estos tipos de organizacin? Simplemente las propias de las estructuras de datos que posee cada ficha y aquellas que atienden a la estructura general de la red, que comprenden las de: a) Edicin, se aplican sobre la red o sobre un determinado nodo, como: Quitar o agregar nodos a la red Cambiar el contenido de un nodo, para lo cual es necesario emplear los programas con los cuales se elabor la ficha a modificar. Modificar, agregar o suprimir caminos entre los nodos. b) Bsqueda, que consiste en acceder a datos especficos almacenados en algn nodo de la red. Pueden ser de diferentes tipos: Por navegacin, recorriendo el camino necesario para llegar de un determinado nodo al que contiene la informacin deseada. Por posicin, accediendo al nodo determinado a travs de su posicin especfica. Por contenido a buscar, se accede directamente al nodo que contiene la informacin solicitada. Este tipo de bsqueda se realiza por mens contextuales, expuestos en el punto sobre interfaces. c) Formateo, comprende las diferentes formas de comunicar la red a travs de una unidad de salida. Expone la red en su totalidad en forma grfica. Esta representacin es tpica de los mapas de sitios Web que muestran en forma reducida las pginas que lo conforman y las precedencias entre ella sin acceder a la informacin que contienen ESTRUCTURA DE DATOS ABSTRACTOS Hasta ahora hemos analizado los tipos y estructuras de datos que son manipulados por diferentes lenguajes de programacin. Los tipos de datos comprenden patrones de bits cuya codificacin binaria puede corresponder a nmeros enteros, reales-racionales, lgicos o booleanos y caracteres alfanumricos; mientras que las estructuras corresponden a agrupamientos homogneos o heterogneos de diferentes datos, que son tratados como unidad en s misma por los lenguajes de programacin. No todas las estructuras de datos son entendidas, interpretadas y procesadas por todos los lenguajes de programacin, algunos son ms dctiles para interactuar con determinadas estructuras y hasta hay lenguajes que no reconocen algunas de ellas como ocurra con el BASC y las estructuras de listas. Tambin, hay lenguajes especialmente definidos para trabajar las listas como los lenguajes Lisp y el mismo Logo. Lo que s seguro, todos los lenguajes de _________________________________________________________________________ Silvina Caraballo Susana Muraro 129 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ programacin interpretan los patrones de bits segn los diferentes tipos de datos y que la estructura denominada "cadena de caracteres es de reconocimiento y manipulacin de todos los lenguajes. Sin embargo, estas estructuras de datos estndares cuyo tratamiento es parte indisoluble del lenguaje de programacin no permiten tratar el universo de los datos que en la actualidad son necesarios para resolver informticamente problemas, es por esto que muchos lenguajes permiten a los programadores definir sus propios tipos de datos. A este tipo de organizacin se la denomina como Tipo de dato definido por el usuario como puede ser definir el tipo de dato "Libro que consta de "Nombre del autor, "Ttulo del libro; "Editorial, "dentificacin SBN, "Ubicacin en estante. Este tipo de dato posee una organizacin de ficha, la cual pasa a ser considerada por el lenguaje como un estructura de datos, pudiendo ser tanto homognea como heterognea en cuanto a la informacin que la conforma. Constituye una organizacin indisoluble sobre la cual se harn determinados tratamientos (ejemplo, seleccionarla para identificar el lugar que tiene asignado en el estante). Como bien lo identifica su nombre, los tipos de datos definidos por el usuario slo constituyen patrones organizativos que tienen sentido en s mismos, pero las funciones y acciones que se realizan sobre ellos son independientes de su estructura, dependen de los algoritmos que los procesan. En el caso de la ficha de libros expuesta, su seleccin y el acceso a su informacin constituye un algoritmo independiente del dato pero que acta sobre l. Otro paso en torno a las construcciones informticas de los datos ha sido pensarlos como modelos matemticos, con estructuras especficas y operaciones realizables sobre ellos. Esta concepcin toma la idea de las estructuras algbricas de la matemtica, las cuales se definen por los entes matemticos que la constituyen y sus operaciones. Tomemos un ejemplo de la matemtica, los nmeros enteros constituidos por los naturales positivos con el 0 y los negativos; sobre ellos es posible sumar, restar, multiplicar y el resultado es un entero (el resultado pertenece al campo de los nmeros enteros), pero hay infinitos casos en los cuales no es posible dividir (esto constituye un lmite a las operaciones posibles de realizar sobre ellos). Adems, poseen propiedades especficas como la conmutatividad para la suma y la multiplicacin y la distributividad del producto respecto de la suma y la resta. Si se define como estructura de datos abstractos al campo de los enteros, adems de sus valores, quedan establecidas operaciones y propiedades. En una palabra, los tipos de datos abstractos constituyen estructuras virtuales que corresponden a modelos formales, que permiten almacenar tanto a los datos en patrones de bits como a las funciones y operaciones que se realizan sobre ellos, constituyndose en unidades indisolubles. Una de las ideas que sustentan al desarrollo de los tipos de datos abstractos es la independencia del dato de los lenguajes de programacin que se emplean. Nos encontramos aqu otra vez con la meta informtica de lograr la independencia entre las dos componentes macro de este sistema interrelacionado que comprende al hardware y al software. Los lenguajes de alto nivel se pensaron como respuestas posibles para lograr la independencia del programa que se elabora de la computadora que lo procesa, los tipos de datos abstractos se _________________________________________________________________________ Silvina Caraballo Susana Muraro 130 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ pensaron como estrategia para lograr la independencia del dato del lenguaje que los manipula. Como puede observarse a travs del relato de los tipos y estructuras de datos, la nformtica no slo fue mejorando y ampliando el espectro de lo procesable desde la computabilidad de los problemas, sino que ampli el espectro de lo que es dato y las formas organizativas en que pueden ser agrupados, por lo cual ampli el universo de lo pasible de tratamiento por las TC. OPu3 aportan las estructuras de datos al #arco conceptual de las T!CQ Se a"ordan las caractersticas in%or#(ticas de los datos- sus %or#as de representacin interna pero ta#"i3n las posi"ilidades 7ue "rindan sus estructuras ) los lenguajes de progra#acin 7ue los #anipulan de ca#"iar las %or#as de representarlos en di%erentes unidades de salida. $er#ite di%erenciar la estructura del continente 7ue al"erga el dato 4celdas ) "lo7ues de #e#oria5 de su contenido 4patrones de "its 7ue son interpretados por un lenguaje de progra#acin5 ) de su representacin en pantalla 4%or#ateo5. Lleva a re%leFionar so"re las construcciones tericas 7ue de"i ) de"e producir la in%or#(tica con el propsito de o%recer una variedad de estrategias e%icientes para la resolucin in%or#(tica de pro"le#as. torga ele#entos para plantearse ) decidir acerca de las estructuras de datos #(s acordes al tipo ) estrategia de pro"le#a a resolverse. Lleva a plantear las di%erencias 7ue +a) entre las estructuras in%or#(ticas 7ue tienen los datos ) las estrategias de resolucin de pro"le#as 7ue se 7uieren i#ple#entar as co#o la adecuacin o no de la estructura de datos en relacin con la %or#a de trata#iento in%or#(tico 7ue se le d3 al pro"le#a. Separa el sentido in%or#(tico del trata#iento del pro"le#a de la lectura o se#(ntica de la solucin construida. Un eje#plo de esto es la dis7uisicin entre #atriz co#o estructura in%or#(tica ) ta"la de do"le entrada co#o lectura #ate#(tica aun7ue la ta"la +a)a sido de%inida a trav3s de una #atriz. $er#ite re%leFionar so"re un c.#ulo de %uentes de in%or#acin digitales a partir de las %or#as de organizacin 7ue poseen- ) por lo tanto so"re las acciones 7ue- co#o usuario- se pueden realizar so"re ellas. &es#iti%ica la tecnologa otorgando un lugar a la idea de recursos puestos al servicio de los usuarios. Un r$%orri&o %on%$'(ual a las %o6uni%a%ion$s $n las TIC Al iniciar este texto planteamos la necesidad de delimitar conceptualmente si las TC se consideran en forma amplia o restringida. Expusimos que el alcance restringido de las TC las centra en aquellos aportes de las comunicaciones a la nformtica, por lo cual abarcaran conceptualmente todos los dispositivos, herramientas, tcnicas, metodologas, necesarias para interactuar con computadoras conectadas en redes, empleando diferentes sistemas de representacin de la informacin como textos, imgenes y sonidos. De esta forma se restringe el campo de las TC a las redes informticas con sus formas de comunicacin sincrnica y asincrnica. Asimismo, planteamos que los usuarios finales de las TC se enfrentan a las comunicaciones desde el rol de consumidores de esta tecnologa, dado que su estructura tecnolgica es transparente a las acciones habituales que se realizan para acceder y enviar informacin a travs de las computadoras. Las acciones siempre estn mediatizadas por algn software, con los cuales interactuamos poniendo en juego nuestros conocimientos informticos; slo en el momento de su configuracin es necesario un nivel de conocimiento sobre la estructura de la _________________________________________________________________________ Silvina Caraballo Susana Muraro 131 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ red con la cual interactuamos. En aquellos casos en que nos acercamos a esta tecnologa como productores a travs del diseo y elaboracin de blogs, wikis, publicaciones e intercambio en redes sociales u otras herramientas comunicativas y colaborativas, lo hacemos empleando programas informticos, por lo tanto los problemas que se presentan estn generados y sostenidos por la tecnologa informtica y no as por las tecnologas de la comunicacin. Salvo que seamos especialistas en comunicaciones digitales, no nos enfrentamos a problemas tecnolgicos de este tipo y menos nos enfrentamos a ser productores de tecnologas comunicacionales. Cabe preguntarse por qu es necesario incluir la mirada a las comunicaciones dentro de la formacin en TC si socialmente hay un acercamiento extendido a esta tecnologa. Fundamentamos la necesidad de este recorrido conceptual porque las redes entre computadoras han sido y continan siendo un tema de atencin terica e ingenieril dentro de la nformtica desde casi sus primeras pocas. Prcticamente nacieron con los primeros desarrollos informticos, pero para ubicar a las comunicaciones en su lugar especfico en la formacin en TC consideramos necesario hacer un planteo conceptual sobre el desarrollo tecnolgico de las redes de comunicacin entre computadoras y los problemas que han intentado resolver. Este planteo permitir comprender los problemas informticos y las soluciones propuestas que fueron conformando el camino tecnolgico por el cual se arriba a nternet. LAS COMUNCACONES ENTRE COMPUTADORAS El desarrollo de las redes informticas naci de la necesidad de mejorar los tiempos de espera de los usuarios durante el procesamiento de un programa. La estructura de procesamiento secuencial de las computadoras haca que para ejecutar un programa se debiera esperar que finalice de procesar el programa anteriormente cargado y en proceso de ejecucin, operacin que se realizaba manualmente por lo cual insuma tiempos humanos que incidan en el tiempo total de procesamiento. Frente a cada nuevo proceso se deba reiterar esta modalidad de trabajo una vez concluido el proceso anterior. $rogra#ador - Usuario Co#putadora 8esultados A medida que las Unidades Centrales de Proceso se hacan ms veloces, la secuencialidad que impona cargar programas y datos e imprimir los resultados generaba ineficiencia al perder ciclos de procesamiento y subutilizar la CPU como consecuencia de los tiempos muertos de la misma La Unidad Central de Proceso quedaba inhabilitada mientras se cargaban nuevos programas o impriman resultados de procesos anteriores, situacin que generaba problemas especialmente frente al aumento de usuarios necesitados de procesar. Esta situacin generaba programas en cola de espera y apilamiento de resultados a ser retirados de los centros de cmputos: _________________________________________________________________________ Silvina Caraballo Susana Muraro 132 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________
Cola de progra#adores V usuarios
Co#putadora Central
$ila resultados i#presos de di%erentes progra#adores La solucin informtica al problema de los tiempos muertos de la CPU fue la de disponer de una memoria auxiliar entre la computadora central y un dispositivo despachador de tareas que funcionaba como receptor de programas y datos, y emisor de resultados. Esquemticamente se tena: $rogra#adoVusuario : ENT8A&A SAL!&AS 8esultado-: $rogra#adoVusuario > &ispositivo *e#oria AuFiliar &ispositivo 8esultado-> 8eceptor &espac+ador . $rogra#adoVusuario n de datos ) Co#putadora Central de L 8esultado-n progra#as 8esultados $rogra#adoVusuario # 8esultado-# A este tipo de procesamiento se lo denomin "procesamiento en lote en franca analoga con los lotes de tarjetas perforadas que componan fsicamente los programas, cada tarjeta tena codificada una instruccin o un determinado dato a ser procesado. Para llevar adelante esta forma de procesamiento era necesario disponer en la computadora de un sistema operativo que permitiera diferenciar las tarjetas que contenan instrucciones de las que contenan datos as como identificar claramente cuando se iniciaba un nuevo procesamiento. Sin embargo, la configuracin de las computadoras que permitan procesar en lote no resolva el problema del traslado fsico de programas y datos hasta la ventanilla receptora del centro de cmputo, as como recoger los resultados una vez emitidos. Tampoco resolva completamente los tiempos muertos de la CPU. Los tiempos de espera eran totalmente indeterminados pues dependan de las prioridades de procesamiento y de los tiempos de procesamiento propios de cada programa. Mejorar los tiempos de carga de los programas y aprovechar los tiempos libres de la CPU constituyeron dos preocupaciones iniciales importantes para pensar en desarrollar sistemas operativos que permitieran atender a multiusuarios distribuyendo entre diferentes clientes los tiempos de procesamiento de la CPU. Cada vez ms se presentaban problemas como los siguientes: a) Muchos usuarios en diferentes ubicaciones necesitan ejecutar copias del mismo programa o de unos pocos programas sobre diferentes conjuntos de datos (ejemplo, vendedores de una tienda con mltiples secciones y cajas de pago). _________________________________________________________________________ Silvina Caraballo Susana Muraro 133 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ b) Muchos programadores o usuarios necesitan ejecutar o correr mltiples programas con diversos datos para resolver numerosos problemas (ejemplo, equipos de programadores que elaboran programas). Los dos problemas sealados se resolvieron a partir de dos estrategias integradas, las cuales esquemticamente se pueden representar de la siguiente forma: $rogra#adorVUsuario : 8esultado Tarea : $rogra#adorVUsuario > Co#putadora 8esultado Tarea > $rogra#adorVUsuario K Siste#a *ultiusuario 8esultado Tarea K $rogra#adorVUsuario G Siste#a Tie#po Co#partido 8esultado Tarea G LLLL Central LLL. $rogra#adorVUsuario n 8esultado Tarea n El sistema de atencin a multiusuarios resuelve el problema referenciado en a), mientras que el sistema de tiempo compartido resuelve el problema expuesto en b). La estructura de procesamiento compartido posibilit que cada usuario disponga en su oficina de un dispositivo que funcione como terminal conectada fsicamente al centro de cmputo, destinada a solicitar la ejecucin del programa y la carga de datos a distancia y tambin, recibir los resultados del proceso. nicialmente las terminales eran teclados de mquina de escribir y una impresora, luego se agregaron una pantalla e impresoras ms rpidas. Para la computadora central se desarrollaron, por un lado, sistemas operativos multiusuarios donde una copia del programa opera sobre distintos conjuntos de datos manteniendo independencia entre stos. Por otro lado, se elaboraron sistemas operativos que asignaban dinmicamente tiempos de proceso entre los diferentes programas residentes en la memoria de la computadora central, para lo cual la memoria era particionada dinmicamente dando cabida a cada programa y sus respectivos datos. Sin embargo, el desarrollo de computadoras ms veloces y de mayor capacidad de almacenamiento fue borrando la distincin entre multiusuarios y asignacin dinmica de memoria dado que se integr en un mismo sistema operativo a ambas funciones, por lo cual una misma computadora central poda trabajar de una u otra manera y tambin en forma mixta. He aqu cmo y por qu aparecen las redes! Ellas son posibles gracias a los desarrollos de las comunicaciones entre computadoras (tipo de conexiones) y las construcciones tecnolgicas del hardware y del software, en especial los sistemas operativos de alta complejidad integrando asignacin dinmica de memoria y atencin a multiusuarios. Las primeras redes posean una estructura bsica constituida por un computador central, muchas veces auxiliado por un computador dedicado a comunicaciones entre los equipos, cuya funcin era la de aportar los servicios de la CPU que demandaran las computadoras perifricas (en general eran ms que "terminales bobas que funcionaban como unidad de entrada). Todas las computadoras que constituan la red estaban contenidas dentro de la dimensin abordable por _________________________________________________________________________ Silvina Caraballo Susana Muraro 134 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ un edificio o en edificios cercanos, conectadas a travs de algn dispositivo (distintos tipos de cables, como los pares trenzados y los coaxial) cuya funcin era la de ser un canal de comunicacin. La tecnologa de los canales de comunicacin que se empleaban planteaba problemas comunicativos dado que la seal decaa en intensidad, por lo tanto en calidad, en relacin directa con la distancia fsica que mantenan las computadoras de la red. A este tipo de red se lo denomin +(; (Local Area Network) nombre que indica que es una "red de rea local. Son redes cerradas dado que pertenecen a una institucin en particular y todas las computadoras son manejadas por un mismo sistema operativo, y presentan el problema de no permitir procesos interactivos dado que una vez cargado el lote de programas con sus respectivos datos, se ejecuta y procesa en ese orden, sin intervencin humana. En general las computadoras que funcionaban como terminales eran de menor porte tecnolgico que la computadora central; sin embargo, el desarrollo de la industria del hardware cada vez ms ofreca al mercado computadoras ms veloces y de mayor capacidad de almacenamiento borrndose la distincin entre equipos perifricos y computadora central, favorecindose el trabajo de ambos tipos de equipos en forma mixta. A pesar del avance que signific la organizacin de computadoras en red al permitir el procesamiento multiusuario, surgi el problema que este tipo de procesamiento estaba limitado por el rea que abarcaba el cableado, problema que dio origen a plantear el uso de la red telefnica pblica como canal de comunicacin entre computadoras. Para poder comunicar computadoras a travs de este tipo de canal se requiri; el modem. Este dispositivo es un modulador-demodulador, que permite transformar seales digitales (binarias) en trenes de ondas dentro del rango deseado (inicialmente el rango de la voz humana) 87 . El esquema siguiente representa el nuevo diseo de red: Co#putadora *ode# Lnea Tele%nica
*ode# Concentrador de Co#unicaciones $rocesador Central 4Las do"les %lec+as indican el %lujo de la in%or#acin entre la co#putadora ) el procesador central5. Este tipo de red surgi de la necesidad de comunicacin entre diferentes instituciones u oficinas dispersas geogrficamente, por lo cual fue denominada como red "WAN (Wide Area Network), nombre que describe que atiende a un rea geogrfica extendida. Para este tipo de red, salvo el servicio de la red telefnica y generalmente los mdems, todo el sistema con sus computadoras y el sistema operativo perteneca a un mismo proveedor (eran homogneos tecnolgicamente hablando). El problema que apareci a esta altura del desarrollo tecnolgico de las redes, que muestra las necesidades de conexin entre computadoras, es que las organizaciones complejas con equipos diversos tanto por sus hardware como por sus sistemas operativos, y separados D7 A<uello" lectore" <ue %ayan utilizado coneIin telefnica recordarHn lo" or;eo" <ue "e e"cuc%aban %a"ta <ue "e e"tableca la coneIin, 9or e;e)9lo 9ara acceder al e.)ail! 8"to" or;eo" e)anan de lo" dato" <ue en?an el 9rotocolo de co)unicacin 9ara e"tablecer lo" contacto" entre la" co)9utadora"! _________________________________________________________________________ Silvina Caraballo Susana Muraro 135 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ geogrficamente no podan hacer uso de las redes descriptas. Este problema llev a plantear a la nformtica la necesidad de conectar computadoras aunque sean de diferentes estructuras sus hardware y posean diferentes sistemas operativos. En sntesis, a medida que creca la expansin comercial de las microcomputadoras y se mejoraban las comunicaciones afloraban ms y nuevas necesidades de conexin, por lo cual el prximo problema fue conectar computadoras dispersas geogrficamente, de diferentes configuraciones de hardware y con diferentes sistemas operativos, de modo tal que pudieran compartir datos y resultados a grandes distancias, asegurando confidencialidad de los datos. Un paso importante fue pensar de una estructura fsica y lgica de red cerrada a disponer de redes abiertas. nternet es una red WAN abierta que funciona como columna vertebral de muchsimas redes de alta velocidad de transmisin. nicialmente cubra a todo Estados Unidos y otras redes se conectan a esta columna vertebral. He aqu porque se la denomina 'ed de 'edes. No es la nica red WAN, pero socialmente es la ms conocida. A medida que las redes se conformaban abiertas, su uso oblig a atender los problemas de seguridad informtica; aunque estos problemas ya haban nacido del hecho de tener que compartir espacios de discos y software con informacin no pblica para todos los usuarios de la red, aunque pertenecieran a una misma institucin. Para resolver el problema de la diversidad de equipamientos conectados fue necesario elaborar un protocolo que se independizara de los tipos de computadoras. Surge ARPANET y luego nternet, estableciendo un elaborado protocolo de comunicacin conocido por las siglas TCP/P, cuya funcin es la de posibilitar el intercambio de mensajes entre computadoras mundialmente dispersas y de diferentes configuraciones fsicas y lgicas. Los protocolos de comunicacin son las normas con que se envan y recepcionan los mensajes, por lo cual los mensajes que no cumplen dichas normas no son reconocidos. En el caso del protocolo TCP/P, divide los mensajes en pequeas porciones denominadas "paquetes de datos los cuales deben poder viajar desde su origen a su destino a travs de las "rutas que posee la red. El siguiente esquema muestra a un mensaje y la estructura de paquetes en que se organizara: *ensaje $orcin : $orcin > $orcin K $orcin G $orcin = $orcin H $orcin I Tipo &estino rigen Secuencia $orcin de #ensaje Cdigo para control recepcin $a7uete G de la $orcin G del *ensaje Los protocolos de transmisin tienen la funcin de independizar la transmisin de mensajes de la estructura tecnolgica del hardware y los sistemas operativos, por lo cual permite aprovechar la red con mltiples fines. De esta forma, se posibilit el desarrollo de una multiplicidad de servicios que se soportan sobre las redes WAN abiertas, las ms comunes para los usuarios son: 0T6 (File Transfer Protocol) Protocolo de transferencia de archivos que permite navegar por directorios, elegir el deseado y recibir una copia para almacenarla en la propia _________________________________________________________________________ Silvina Caraballo Susana Muraro 136 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ computadora personal. ,-)ail, que introdujo socialmente el signo @ con el significado de "at o "en dentro de la construccin de nuestras direcciones de mail (en la actualidad socialmente mal resignificado como "a y "o para indicar que la palabra se refiere tanto a femenino como masculino). 6/6, que hace de oficina de recepcin y distribucin de mensajes. .)T6, es un sistema de recepcin y validacin de mensajes que entran a la red para ser retransmitidos. Estos dos ltimos servicios (POP y SMTP) constituyen el apoyo para los clientes 88 de correo electrnico cuya estructura hace que los mensajes de correo se descarguen en las computadoras personales, a diferencia del servicio que permite leer o escribir mensajes a travs de la Web. Mientras las redes posean una estructura basada en una computadora central, el tipo de procesamiento que realizaban era "centralizado (se denomina "procesamiento centralizado), y era abarcado y administrado en su totalidad por una organizacin de gran porte econmico. Las organizaciones de mediano porte econmico no podan soportar el costo de las comunicaciones entre computadoras, generndose la idea de "procesamiento distribuido. Los problemas que se intentaban resolver con el procesamiento distribuido eran de dos tipos: No depender exclusivamente de una computadora central que poda estar expuesta a fallas con la correspondiente cada del servicio. El creciente costo de las computadoras centrales y de las redes de comunicaciones. La situacin descripta propici el desarrollo y comercializacin de equipos medianos que se empleaban en los procesamientos locales y en establecer la comunicacin con el equipo remoto. Otro fenmeno interesante se dio con la expansin de la produccin y comercializacin de micro computadoras en la dcada del 80. La reduccin fsica de los circuitos integrados y, la expansin de la capacidad de memoria RAM y de los dispositivos de almacenamiento masivo, as como la reduccin significativa de los tiempos de procesamiento, atravesados todos estos desarrollos tecnolgicos por el abaratamiento de los costos, generaron dos situaciones sociales interesantes: El acceso a las computadoras desborda del mbito de los especialistas. El trmino "nformtica aumenta su polisemia al denominar como "informticos a los usuarios no especialistas. Se avecinan nuevas fronteras de comercializacin tanto de hardware como de software, especialmente de un sin nmero de herramientas de produccin de uso extendido (procesadores de textos, graficadores, administradores de bases de datos, editores grficos y de presentaciones, etc.) y herramientas de produccin propias de diferentes profesiones (CAD, editores de imgenes estticas y dinmicas, captura de videos, editores de msica, etc.). Se pensaba que el hecho de disponer de computadoras personales permitira cerrar sobre uno mismo las necesidades tecnolgicas. Uno poda disponer en su casa o puesto de trabajo de un DD 8n el conteIto del te)a, cliente"$ "e refiere a 9rora)a" de correo electrnico! _________________________________________________________________________ Silvina Caraballo Susana Muraro 137 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ equipamiento bsico, a la manera de un "centro de cmputo personal, constituido por una computadora, con sus unidades de entrada y salida, que con el tiempo se fue ampliando a diferentes perifricos (CDR, scanner, pen drive, cmara digital, etc.). De esta forma, se abasteca para atender personalmente un sinnmero de necesidades. Es interesante analizar cmo la visin de los usuarios no especializados que giraba en torno a la idea de que las computadoras personales (PC) autoabastecan las necesidades personales dur poco tiempo. Al expandirse nternet las necesidades de conexin superaron el lmite del equipamiento individual. El prximo paso tecnolgico fue el de desarrollar redes conectados a computadoras personales. A este avance tecnolgico debe agregarse el avance en las comunicaciones telefnicas. Durante muchos aos las redes telefnicas eran analgicas (ondas sonoras convertidas en seales elctricas) situacin que limitaba la transmisin. Al digitalizarse la seal, las ondas se convierten en pulsos que se transmiten sobre enlaces de mayor velocidad. He aqu que en la conjuncin de: la tecnologa informtica, la construccin de sistemas operativos de procesamiento distribuido, las posibilidades de conexin entre computadoras de diferentes configuraciones y los avances en las comunicaciones que brindaron los aportes tecnolgicos, nos encontramos inmersos en el mundo de las TC. Las redes son el sustrato fsico y lgico sobre el cual se asientan las comunicaciones entre computadoras pero Cules son sus funciones? Cules sus servicios? Las redes LAN al tener conectadas terminales pertenecientes a una misma estructura institucional con un servidor propio, poseen las funciones que demandan las necesidades de los diferentes puestos de trabajo. Sus servicios son los de transferir informacin procesada que se necesita accediendo a las bases de datos de la institucin. Los servicios y tipos de acceso dependen de los que tienen habilitados los diferentes puestos de trabajo. Una red WAN cerrada que depende de alguna institucin que la contenga; puede ser una red extendida por necesidades geogrficas de las ubicaciones de los puestos de trabajo pero no ser de uso socialmente extendido. Si es de acceso al pblico es para una determinada actividad como puede ser interactuar con los cajeros automticos de los bancos u otros servicios on-line. Para el pblico general, estas redes quedan circunscriptas a determinados servicios, quedando el resto de las funciones y servicios restringidos a determinadas reas de trabajo (no todos los empleados acceden a todos los servicios de la red por ms que pertenezcan a la misma institucin). En sntesis, las funciones y servicios de estos tipos de redes estn definidos y delimitados dentro de su estructura lgica, el pblico interacta a travs de determinados servicios que ofrece, no siendo su acceso extendido a todos los servicios que soporta la red. ESTRUCTURA INFORM"TICA DE INTERNET ORI+EN Y E7OLUCIN Al ser nternet una red WAN abierta se caracteriza por: Ser una red de alta velocidad que tiene conectada una gran variedad de redes. Estar constituida por una estructura de procesamiento altamente distribuido. _________________________________________________________________________ Silvina Caraballo Susana Muraro 138 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Sostener una estructura fsica y lgica que brinda diferentes servicios, ofreciendo constantemente nuevos servicios. En muchos casos los usuarios pueden interactuar con la red tanto para acceder a informacin como para verter informacin sobre ella a travs de los servicios de host (almacenamiento en discos) que ofrecen un sin nmero de servidores. Qu es y cmo se fue conformando nternet? En principio es el producto de actividades de investigacin y desarrollo de universidades, centros de investigaciones sobre supercomputadoras, de las necesidades de comunicacin rpida y segura del Departamento de Defensa de EEUU y de los aportes de la National Science Fundation (NSF) de ese mismo pas. Algunos de los hitos que fueron amasando la concepcin, diseo e implementacin de nternet muestran el largo, costoso y trabajoso camino que se llev adelante hasta llegar a la concepcin actual de la red. Cabe destacar que muchos usuarios finales suelen denominar a todos sus servicios bajo el rtulo de nternet sin diferenciar el continente lgico y fsico de la red, de los contenidos que circulan por ella. Reconociendo que la siguiente sntesis deja de lado un cmulo de aportes e ideas, sealamos algunos hechos significativos que dieron origen a lo que actualmente denominamos nternet. De los aos 60 es la primera descripcin sobre las posibilidades de interacciones sociales propiciadas a travs del trabajo en redes informticas. El MT (Massachusetts nstitute of Technology, 1962) presenta el concepto de Red Galctica (Galactic Network) que sugera la idea de una red interconectada globalmente que permitiera acceder desde cualquier lugar a datos y programas. Para la misma poca, el MT publica un documento base de la teora de conmutacin de paquetes que suplanta el empleo de circuitos. Adems, se logr experimentar el dilogo entre computadoras. Ambos elementos fundamentales en el desarrollo de nternet, pero que en esos momentos presentaban el problema que si bien las computadoras podan procesar en tiempo compartido para ejecutar programas y recuperar datos de mquinas remotas, las conexiones telefnicas de conmutacin de circuitos eran inadecuadas a la tarea. Durante 1968, ('6(net, desarrollada por el Departamento de Defensa de los EEUU produjo protocolos de comunicacin por paquetes, que continan siendo la base del sistema de comunicacin de la actual nternet. Hacia 1969, fueron conectados conjuntamente a la ARPAnet cuatro hosts, computadoras que funcionaban como centro de recepcin y envo de informacin y albergaban informacin propia. Se da de esta forma inicio a una nternet embrionaria. Los prximos trabajos fueron completar el protocolo de comunicacin host a host y el de desarrollar aplicaciones sobre la red. Casi al finalizar el ao 1972, se presenta el primer xito sobre la tecnologa nternet, el correo electrnico. De esta forma ARPAnet evoluciona a nternet bajo la idea de estar constituida por redes independientes, cada una de ellas con su propio diseo, empleando comunicacin por _________________________________________________________________________ Silvina Caraballo Susana Muraro 139 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ paquetes, que podan incluir redes de paquetes por satlite, por radio y otros tipos de red. De esta forma se constituira en una red abierta con una estructura de malla, un paquete poda llegar a destino por diferentes caminos, y deba "encontrar un camino vlido aunque varios nodos estuvieran cados (no aportaran servicio). Para el ao 1981, NSF otorga subsidios para constituir una red de investigadores en Ciencias de la Computacin dentro de EEUU. La red que se establece se denomina CSNET (Red de Ciencias de la Computacin). Otras instituciones dedicadas a la investigacin en temas de Ciencias de la Computacin destinaron esfuerzos en desarrollar redes acadmicas y propiciar las conexiones entre ellas. A mediado de la dcada del 80 la NSF otorga subsidios para la implementacin de la NSFNET, primera red a gran escala que bajo la estructura tecnolgica de nternet una a centros de investigacin en supercomputacin. Ofreca servicios de comunicacin gratuitos, a ella se fueron conectando instituciones educativas. La NSFNET funcionaba como columna vertebral de varias redes que actuaban independientemente, por lo cual se dispona de una estructura de "red de redes dentro del territorio de EEUU. Al expandirse el auge de las computadoras personales, se desarrolla una nueva versin del protocolo de comunicacin que satisfaga las necesidades de una red abierta, el ya mencionado Transmisson Control 6rotocol=Internet 6rotocol (TCP/P). En los inicios de la dcada del 90, Tim Berners-Lee y su equipo unieron los conceptos de hipertexto y de nternet, diseando y desarrollando lo que actualmente conocemos como Web. A mediados de los 90 las empresas comerciales conscientes del auge de nternet desarrollan sus propias redes sobre tecnologa nternet (redes abiertas que hacan uso del protocolo de comunicacin que sostena NSFNET desarrollado a partir de ARPAnet). Las empresas comerciales presionan a NSF a concebir una red de NTERNET nueva que es a la que actualmente se accede. El problema que se present era el otorgamiento de dominios, los cuales eran gratuitos dadas las caractersticas de la NSFNET de ser subvencionada por la NSF. El ao 1998 marca el fin de la regulacin de NSF sobre nternet, finaliza el acuerdo mediante el cual la Corporacin de nternet sin fines de lucro era la nica responsable de la asignacin de dominios. De esta forma se desmantela NSFNET y se privatiza nternet, situaciones que generaron su gran eclosin con el crecimiento de hosts, sitios y servicios que crecen constantemente, como ocurre actualmente con el desarrollo de las redes sociales y de herramientas para que el usuario genere y publique sus propios contenidos. Como se puede observar, nternet es el resultado de un largo y complejo proceso de investigacin y desarrollo que cont con recursos de algunos estados para su desarrollo, sostenida a travs de una poltica de comunicacin. Actualmente se pueden mantener comunicaciones asincrnicas y sincrnicas en tiempo real, se resolvi el problema de la interactividades, es decir de modificar en tiempo real las decisiones sobre qu se desea acceder y procesar mientras se est atendiendo algn requerimiento anterior. Adems de las variadas formas de comunicacin, la gran eclosin de nternet ha sido la Web. _________________________________________________________________________ Silvina Caraballo Susana Muraro 140 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Actualmente, es impensable disponer de una computadora que no permita acceder a la red mundial y hacer uso de sus recursos. An ms, estamos inmersos en una estructura de red informtica sobre la cual podemos almacenar nuestros archivos no necesitando de nuestros discos rgidos para tal fin. Los programas y los datos o documentos que usamos y elaboramos pueden estar dispersos en la red de redes, tanto para uso personal como para su atencin por grupos de trabajo, como nos sucede con los correos electrnicos basados en Web-Mail (no se necesita bajar los mails a la computadora personal para acceder a sus contenidos y se los puede leer desde cualquier equipo independiente del lugar en que el usuario est ubicado) o el empleo de documentos compartidos. Con este tipo de tecnologa perdemos de vista dnde estn almacenadas nuestras producciones, en qu servidor de qu pas estn alojadas, pero disponemos de ellos en cualquier momento y lugar. La visin que se tiene es que nuestras producciones estn en la "nube, nombre metafrico que se le da a este forma de almacenamiento. La contracara de estar inmersos en un mundo altamente conectado es la de hacer vulnerable nuestra privacidad y, la seguridad de nuestros datos; se modifica el concepto de propiedad intelectual, entre muchas otras situaciones propias de una estructura de red imposible de ser abarcada en su totalidad, para la cual se diluye la responsabilidad social frente a su contenido as como se puede ocultar la identidad de las personas o instituciones que ofrecen informacin. Es evidente que los usos indebidos y debidos de la tecnologa de la comunicacin a travs de las TC implican abordajes mltiples, pero la nformtica debe resolver los problemas tecnolgicos que ella genera, de la misma forma que la contaminacin qumica la genera y la resuelve la qumica, sin que por ello se deje de abordarla como problemtica social y econmica. ESTRUCTURA INFORM"TICA DE LA 8EB Un abordaje a la Web desde una mirada informtica, implica plantear que: Internet y 8eb son diferentes, es decir, poner en evidencia las diferencias entre la red y sus servicios. nternet crece como red en la medida que posee mayor cantidad de computadoras-servidores y redes interconectadas y se mejoran las formas de comunicacin entre ellas, mientras que la Web crece cada vez ms en la medida que ofrece nuevos nodos y diferentes servicios. La nformtica es la encargada de disear y producir las herramientas en lnea para implementar variedad de formas de comunicacin que ofrece la 8eb, como los &eblogs, las &i<is, distintas formas de mensajera y, las redes sociales y comunidades especficas. La nformtica desarroll los procedimientos de navegacin, les otorg identidad y los populariz a travs de la 8eb como forma de acceso a la informacin, al mismo tiempo que impuso la bsqueda a travs de criterios conformados por palabras claves y operadores lgicos. La nformtica construy marcos tericos y desarrollos tecnolgicos orientados a la _________________________________________________________________________ Silvina Caraballo Susana Muraro 141 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ bsqueda semntica de informacin en la 8eb. Frente a la diversificacin de usuarios y comunicaciones, la nformtica se hizo cargo de disear y elaborar los sistemas de seguridad para el uso de los recursos de la 8eb. La idea germinal de la 8eb surgi en el seno de la nformtica en los aos 40, momento en el que se pens desarrollar un sistema de distribucin de informacin que permitiera incorporar los artculos acadmicos. En los aos 50 se plantea la idea de hipertexto como estructura de informacin con enlaces mltiples y libres. A inicio de los 90 Tim Berners-Lee 89 y Robert Cailliau lanzan como proyecto y comienzan a desarrollar la 8orld 8ide 8eb (888). Su idea, que cuaja en la estructura actual, es la de proveer un sistema interactivo de informacin soportado sobre hipertextos e hipermedia. Su concepcin se sostena sobre los siguientes principios: La Web no deba constituir una estructura propietaria, para que fuera posible establecer nuevos servidores y agregar licencias sin que haya restriccin al respecto. La estructura de la Web deba ser un conjunto de pginas enlazadas que soporten informacin. Los enlaces entre las pginas deban ser unidireccionales para que el cliente (el que solicita la pgina) pueda acceder a la informacin sin que deba ser autorizado por el propietario de la pgina, aunque esta situacin poda llevar a enlaces que no existieran. Debera permitir aadir nuevas pginas o extensiones de otras pginas indefinidamente. Deba ser gratuita, sin horario para acceder a ella. El acceso a la informacin contenida debera ser de igual posibilidad para todas las pginas y slo estar regido por la organizacin que genera el *'L. Debera proveer buscadores que permitan seleccionar pginas segn criterios lgicos a partir del empleo de palabras claves. Debera asegurar que las pginas puedan ser vistas desde cualquier computadora, para lo que se cre un lenguaje de programacin de alto nivel y de marcas, el 5T)+, que permite configurar la representacin en pantalla de la informacin segn las caractersticas de la computadora receptora o solicitante. Pretende ser universal, por lo tanto ejecutable en cualquier equipo. En sntesis, la Web est constituida por sitios que no son ms que grandes conjuntos de pginas que generalmente se dedican a un tipo de informacin especfica, por ejemplo museos, organizaciones comerciales y de servicios, institucionales, etc. Los sitios pueden tener enlaces con otros sitios, de tal forma que a los usuarios suelen perder de vista a quines pertenecen sus contenidos y solamente de la lectura de su direccin puede identificarse cambios sobre la institucin portadora. D9 Ti) &erner".:ee e" docu)entali"ta y no infor)Htico! 8"taba 9reocu9ado 9or la di"tribucin de la infor)acin a todo", en tie)9o y for)a! Trat de re"ol?er 9roble)a" 9ro9io" del acce"o a la infor)acin dentro del Centro de 0n?e"tiacin Eultinacional en el <ue traba;aba creando un "i"te)a de acce"o! _________________________________________________________________________ Silvina Caraballo Susana Muraro 142 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Los sitios estn almacenados o albergados en un determinado servidor fsico (servidor web) al cual se accede por su identificacin de P (protocolo de comunicacin de nternet). Muchas pginas pertenecientes a una misma institucin poseen un portal de entrada, que no es ms que el sitio inicio e identificacin de la institucin, como es el portal Educar, de los ministerios y de algunas grandes universidades, por nombrar algunos de ellos. Como fue expuesto, para elaborar las pginas segn los criterios establecidos, sus autores desarrollaron un lenguaje de marcas el 5T)+ (5yper Te4t )ar<up +anguage). A las pginas se accede a travs de un navegador de pginas que permite visualizarlas en las computadoras personales. Los servidores que albergan a las pginas poseen un lenguaje denominado HTTP 90 que permite recuperar del disco rgido la pgina seleccionada y generar la respuesta para enviarla a la computadora del cliente. El envo se realiza en etapas, primero la plantilla de la pgina, despus todo lo que es texto, por ltimo lo que son imgenes y sonidos. El acceso a un sitio se logra conociendo su direccin, pero se proveen buscadores que acceden a bases de datos que albergan las caractersticas de los sitios y las pginas. Hay sitios que funcionan como buscadores y meta-buscadores; estos ltimos hacen uso de diferentes buscadores para acceder a informacin solicitada. Actualmente est en pleno diseo e implementacin la 8eb 9%>$ siendo el principio fundamental que sostiene el proyecto el de ofrecer un entorno de trabajo en el cual los usuarios pueden aportar contenidos a las pginas y no centrarse exclusivamente en ser lectores de las mismas. De esta forma, se proveera un medio interactivo entre escritor y lector, cambiando los roles segn la funcin que se tiene sobre los contenidos. La 8eb 9%> no confiere un cambio sobre la estructura tecnolgica de la 8eb, sino que le agrega la posibilidad de constituir el sustrato sobre el cual se sostiene la idea de los trabajos colaborativos 91 , siendo un ejemplo significativo las Wikis. El prximo paso que se est diseando y desarrollando en torno a la Web es la denominada 8eb .emntica o 8eb ?%>, cuya intencin es la de proveer de mecanismos que permitan buscar automticamente informacin por asociacin semntica. La Web con la que interactuamos actualmente busca las pginas por correspondencia directa entre la cadena de caracteres que se ofrece al buscador y el contenido de las pginas. Esta tarea puede realizarse por comparacin del contenido alfanumrico de las pginas o porque en la identificacin de la pgina se describieron todas las palabras claves que justifican el acceso a dicha informacin. En sntesis, las bsquedas actuales no se sostienen sobre la interpretacin semntica de sus contenidos, sino por encontrar cadenas de caracteres idnticas a las proporcionadas al buscador, utilizan un criterio sintctico. Para realizar rpidamente esta tarea de forma tal que el usuario perciba la respuesta en tiempo real es que se procesan la bsqueda en formas distribuida, para lo cual varias computadoras en simultneo bajo sus sistemas operativos de procesamiento distribuido, dan respuesta a la solicitud del usuario. 97 6TT1 (6y9erteIt Tranfer 1rotocolo) e" un 9rotocolo de tran")i"in de lo" %i9erteIto" <ue obierna e"te "er?icio= a" co)o (ET1 y 1C1 re"uel?en el del correo y FT1 la tran"ferencia de arc%i?o"! 91 8l traba;o colaborati?o no con"tituye la Mnica for)a de interaccin entre u"uario" de la /eb! _________________________________________________________________________ Silvina Caraballo Susana Muraro 143 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ BIBLIO+RAF2A Aho, Alfred; Hopcroft, John E.; Ullman, Jeffrey D. (1988) ",structura de datos y (lgoritmos. Editorial Addison-Wesley beroamericana, S. A.: Estados Unidos. Aiken, H; Babbage, CH; von Neumann, J; Turing, A,M; Walter, G y otros..(1975) "6erspecti#as de la re#olucin de los computadores . Compilador Zenon W. Pylyshyn, Edicin castellana de Alianza Editorial. Madrid. Amnon H. Eden (2007) "Three 6aradigms of Computer .cience. En Minds and Machines, Special issue on the Philosophy of Computer Science, Vol. 17, N 2 , Springer, London. Archambault, Jean-Pierre (2009) +@enseignement de l@informati"ue et des TIC Ade l@cole au4 classes prparatoires2B. LEP, Paris. Archambault, Jean-Pierre; Dowek Gilles (2009) "6our un enseignement de l@informati"ue dans le secondaireB Le Bulletin Vert de l'APMEP n 485, Paris. Babini, Nicolas (1991) "+a Informtica en la (rgentina C DE1F-DEFF. Ediciones Buena Letra. Argentina. Balderas Puga, Angel (s/f) ".obre la importancia de la alfabetizacin informtica. Facultad de ngeniera. Universit Autnoma de Quertaro Barchini, Graciela Elisa; Fernndez, Norma Beatriz; Lescano, Mariela Yolina. (2007) ")odelo curricular de la informtica Revista beroamericana de Educacin n. 42/3, Organizacin de Estados beroamericanos para la Educacin, la Ciencia y la Cultura (OE) Bardy, Laurent (2006) "+a informtica Gforma parte de la cultura general del hombre contemporneoH, Boletn de la Sociedad Suiza para la nformtica en la Enseanza (SSE): nterface. Brookshear, J. Glenn 91995) "Introduccin a las Ciencias de la ComputacinB% Editorial Addison-Wesley beroamericana. EEUU. Caraballo, Silvina. (2010) "Informtica #s Ciencias de la Computacin Gson lo mismoH - Material de ctedra de Facultad de Filosofa y Letras-UBA. Argentina. da Rosa, Sylvia; Sierra, Luis; Gonzlez, Adriana; Echenique, Paula (2011) "+a carrera de 6rofesorado de Informtica3 un paso adelante en la introduccin de la Informtica como ciencia bsica en la ,scuela )ediaB En 3er. Seminario de Apoyo al Profesorado de nformtica. Montevideo. Dahl, O. J; Dijkstra, E. W; Hoare, C. A. R. (1976) "6rogramacin ,structurada Edicin en castellano. Editorial Tiempo Contemporneo. Buenos Aires. Denning, P; Comer, D; Gries, D; Milder, M; Tucker, A.; Turner, A.; Young, P. (1989) "Computing as a discipline. En Communications of the ACM Vol. 32 ssue 1. New York. Diaz, Oscar (2008) ",4periencias en +a 8eb 9%>. En 10 Congreso REDCOM. Salta, Argentina. Dijkstra, Edsger W. (1989) /n the cruelty of really teaching computing scienceB En Communications of ACM- Vol. 32 n 12, New York. Direccin de Currcula (2002) Documento de trabajo "Informtica en los primeros aos de la escuela mediaB. Secretara de Educacin, Gobierno de la Ciudad de Buenos Aires. . Forouzan, Behrouz (2003) "Introduccin a la Ciencia de la Computacin, Editorial Thomson. Mxico. Gal-Ezer, Judith; Harel, David (1998). "Qu Ams2 deben saber los profesores de Ciencias de la ComputacinHB Communications of the ACM. Vol 41 N 9. Traduccin Silvina Caraballo. _________________________________________________________________________ Silvina Caraballo Susana Muraro 144 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Gardner, Howard (2012). "+a educacin de la mente y el conocimiento de las disciplinas- +o "ue todos los estudiantes deberan comprenderB% Espasa Libros, Barcelona. Hofstadter, Douglas (1987) "IJedel$ ,scher$ 7ach% *n ,terno y Ircil 7ucleB. Editorial TusQuets. Espaa. Hoffman, Mark; Blake, Jonathan (2003) "Computing +iteracy3 Today and Tomorro&. En Kournal of Computing .cience in Colleges. Consortium for Computing in Small Colleges. Northeastern Conference. USA. Hoffman, Mark; Vance, David (2008) "Computer Literacy: a Student-Oriented Perspective. En Kournal of Computing .cience in Colleges. Consortium for Computing in Small Colleges. Northeastern Conference. USA. nstituto de nformtica Educativa (2006) ",stado del (rte ;acional e Internacional- Campaa ;acional de (lfabetizacin !igital. Universidad de la Frontera, Chile. nstituto de Tecnologas Educativas (2011) "Iniciati#as D3D. Departamento de Proyectos Europeos. Ministerio de Educacin. Espaa. STE, CSTA, NSF (2011) Computational Thin<ing http://www.iste.org. Jennes, Fred (1984) "The microcomputer user ser#ices specialist an e#ol#ing role. ACM Digital Library. Knuth, Donald (1977). "(lgoritmos En Revista nvestigacin y Ciencia N 9. Knuth, Donald. (1986) ",l (rte de 6rogramar /rdenadores. Editorial Revert. Barcelona. Kobila, Joseph H.; Sylin, Michel (2004)+Lalphabtisation informati"ue dans un conte4te uni#ersitaire% 6rofil de comptences des tudiants de psychologie de lL*ni#ersit +ibre de 7ru4elles A*+72B% Communication la 7me biennale de l'ducation et de la formation- Lyon. Levis, Diego (2005) "(lfabetizacin digital3 entre proyecto educati#o y estrategia poltico-comercial% ,l caso argentino Congreso REDCOM. Rosario, Argentina. National Science Education Standards, (2003) Standards for Science Teacher Preparation. http://www.nsta.org/pdfs/NSTAstandards2003.pdf Prieto Espinosa, Alberto; Lloris Ruiz, Antonio y Torres Cantero, Juan C. (2006) "Introduccin a la Informtica" Mc Graw Hill/ nteramericana de Espaa, S.A.U. Madrid. Salomon, Gavriel; Perkins, David; Globerson, Tamar (1991). "Coparticipando en el conocimiento3 la ampliacin de la inteligencia humana con las tecnologas inteligentes Revista "Comunicacin. Lenguaje. Educacin, traduccin de la Revista "Educational Research Vol. 20 N 3 Salomon, Gavriel. (1992) +as di#ersas influencias de la tecnologa en el desarrollo de la menteB% Universidad de Arizona. En Revista nfancia y Aprendizaje Simon, Jean Claude (1980) "+@ducation et l@informatisation de la socit. Documentation franaise. Francia. Tanenbaum, Andrews (1995) ".istemas operati#os modernos. Editorial Prentice Hall Hispanoamericana. Mxico. Tesler, Lawrence G. (1984) "Lenguajes de programacin. Revista nvestigacin y Ciencia N 98. Traub, Joseph; Wozniakowski, Henryk (1994) "'esolucin de problemas irresolubles Revista nvestigacin y Ciencia N 210. Tucker, Allen (coord.) (2003) ( )odel Curriculum for M-D9 C Computer .cienceB% Final Report of ACM K- 12 Task Force Curriculum Committee. New York. UNESCO/ FP (1994) "+a Informtica en la ,nseanza .ecundaria- Currculo para las escuelas. Pars. _________________________________________________________________________ Silvina Caraballo Susana Muraro 145 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Vaquero, Antonio. (1999) +a +engua ,spaola en el conte4to informtico Revista NOVATCA (Asociacin Tcnicos nformtica). Espaa Vaquero, Antonio (1993) "+a informtica y su imagen, en Revista de Enseanza y Tecnologa N 2 Ao 1 Vol.1, ADE Asociacin para el Desarrollo de la nformtica Educativa, Madrid. Warnier, J.D.; Flanagan, B.M. (1979). "6rogramacin +gica. Editores Tcnicos Asociados S.A. Barcelona. Wedekind, Hartmut; Ortner, Erich. (2004) "5acia una (lfabetizacin *ni#ersal3 de la Ciencia de la Computacin para arriba. Traducido de Technical Opinion, Communications of the ACM, Vol.47, No.6. New York. _________________________________________________________________________ Silvina Caraballo Susana Muraro 146 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ ANE:O UNA MIRADA A LOS PLANES DE ESTUDIOS DE NI7EL SUPERIOR EN CIENCIAS DE LA COMPUTACIN;INFORM"TICA ENFOQUE DEL ANE:O Por lo general las representaciones sociales de cada una de estas denominaciones "nformtica y "Ciencias de la Computacin ms frecuentemente observables, se constituyen en la convergencia de usos que social, educativo o laboral que se hace de la tecnologa informtica, roles que las personas asumen frente a ella y formaciones personales que los individuos no especializados en la disciplina incorporan para significarlas. De ah su vastedad semntica, su amplia polisemia. Si pretendemos una respuesta que se sobreponga a las manifestaciones puramente sociales acerca de su significado es necesario emprender otra va para hallar respuesta. La pregunta lanzada en este anexo arrastra implcitamente el origen, con impregnacin en el lugar geogrfico, en el cual se acuaron cada una de esas denominaciones. Es por esa razn que como una manera de determinar y poner de manifiesto como nformtica y Ciencias de la Computacin son nombres genricos y aglutinadores de distintas perspectivas disciplinares y estilos culturales que aluden a un espacio de conocimiento, produccin e investigacin similar es que nos propusimos realizar un recorrido a los planes de estudio de diferentes universidades radicadas en una diversidad de pases. Nuestra intencin es la de iluminar la reflexin en torno a las similitades y convergencias de las denominaciones nformtica y Computacin a travs de un recorrido por la informacin que aportan algunos sitios web de universidades de pases francfonos, pases angloparlantes y de pases que hablan otros idiomas. La informacin que presentamos proviene de pginas web institucionales de universidades de distintas latitudes. La informacin no pretende ser exhaustiva y los casos que tomamos de esas universidades slo son ejemplos que marcan consonancia con la siguiente afirmacin de Albarracn, Lancharro y Garca Lpez: El t#rmino 8nform)tica se cre en @rancia en <5A2 bajo la denominacin 81@BCD:E8F=E y procede de la contraccin de las palabras 81@BCmation autoD:E8F=E. En los pases anglosajones se le conoce con el nombre de ,omputer 9cienceC ;> ncluimos la direccin de la pgina de cada universidad y un comentario que vale de fundamentacin para la eleccin y el anlisis: Univ$rsi(< Paris Su& 00 = Labora(oir$ &$ R$%>$r%>$ $n In)or6a(i?u$ 9Fran%ia@ http://www.lri.fr/themes.de.recherche.php El ttulo hace uso del trmino Informtica, situacin comprensible pues este trmino se acuo en Francia, por lo cual desconocen al trmino Ciencias de la Computacin% En la pgina se ofrece la traduccin de los contenidos de la misma al idioma ingls, sin embargo se mantienen el nombre del Laboratorio de investigacin en nformtica en idioma francs. 9' Albarracn E!, :anc%arro 8!, Garca :9ez E! (199O) Introduccin a la Inform(tica$! 8d! Ec GraG 6ill, _________________________________________________________________________ Silvina Caraballo Susana Muraro 147 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Algunos temas de investigacin son: algoritmia, arquitectura, procesamiento paralelo, bases de datos, modelizacin, optimizacin, robtica, seguridad, criptografa, visualizacin interactiva de informacin, recursos de comunicacin, codificacin para red, etc. Este listado de temas de investigacin da cuenta de diversas reas de estudio, ligadas a las formalizaciones matemticas, ms aspectos tecnolgicos o cuestiones ingenieriles, etc. Todas bajo la misma denominacin de nvestigacin en nformtica. Univ$rsi(< Paris Di&$ro(; Paris 4 9Fran%ia@ Mas($rA In)or6a(i?u$ =S'<%iali(< Pro)$ssionn$lA In)or6a(i?u$ http://www.univ-paris-diderot.fr/sc/site.php?bc=formations&np=SPECALTE?NS=689 Aqu tambin la denominacin es Informtica, comprensible desde el marco del pas que instituye la carrera. La sntesis sobre reas de competencia del Master, da cuenta de sus incumbencias profesionales: Ges comp#tences acquises dans les diff#rents parcours du master informatique professionnalisant pr#parent H de nombreu3 m#tiers dans lIindustrie " & parcours ( 6angages et (rogrammation7" ing#nieur de rec!erc!e et d#veloppement, c!ef de projet, arc!itectes de logiciels$ & parcours 9C8 69ystJme, C#seau3, 8nternet7" responsable de s#curit#, c!ef de projet, ing#nieur de d#ploiement r#seau3, Kebmaster, d#veloppeur L:M: L2EE$ & parcours , 6ogiciels ,ritiques7" emplois li#s au d#veloppement de logiciels embarqu#s et critiques dans divers domaines " systJmes temps&r#el de commandes, de transport & automobile, _________________________________________________________________________ Silvina Caraballo Susana Muraro 148 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ ferroviaire, a#rien & ou de t#l#communications, t#l#p!onie mobile, cartes H puces, services ;eb avec forte e3igence de s#curit#, robots.N En principio se define ligado a la ingeniera, pero al interior de la currcula (disponible en pdf) los estudios bajo la denominacin precedente toman materias de diversas ramas. Univ$rsi(< &$ Lill$ 0; S%i$n%$s $( ($%>noloBi$s 9Fran%ia@ Li%$n%$ $n In)or6a(i?u$ Licence 1 http://fil.univ-lille1.fr/licence/Licence+1/ Se aclara que la ausencia de la enseanza de la disciplina nformtica en el nivel medio hace que el primer ao de la Licenciatura sea el primer contacto de los estudiantes con esta disciplina. a premiJre ann#e de licence a premiJre ann#e de licence, et encore plus le premier semestre, reste H ille< une ann#e de d#termination pour lO#tudiant. Elle permet #galement de renforcer les connaissances scientifiques de base. (armi les profils propos#s lOentr#e H ille <, dans le domaine sciences et tec!nologies, les profils Mathmatiques InformatiquePhysiqueMcanique 6D8(D7, Sciences pour l'Innieur 69(87 et Mathmatiques appliques et sciences sociales 6D:997 mJnent H la licence informatique. e contenu des enseignements en informatique y est identique et les connaissances mat!#matiques n#cessaires sont pr#sentes dans les trois parcours. Premiers contacts avec l'informatique Oinformatique nOest pas une discipline enseign#e au lyc#e. (our cette raison la premiJre ann#e de licence est le plus souvent le premier contact de lO#tudiant avec cette discipline scientifique. 8l est donc n#cessaire de lui permettre de la d#couvrir afin quOil puisse lOappr#cier en connaissance de cause. 2ans tous les profils, cette d#couverte d#bute au premier semestre par un enseignement obligatoire d'initiation ! la prorammation. es #tudiants qui le sou!aitent peuvent poursuivre la d#couverte de la programmation au second semestre par un enseignement de lbalgorit+#i7ue et progra##ation i#p3rative 6niveau <7. 2urant ce second semestre, et selon les profils, les #tudiants peuvent enric!ir lOapproc!e de la discipline informatique par une option de si#ulations in%or#ati7ues et #at+3#ati7ues eFp3ri#entales ou de codage. :insi si lOinformatique occupe une unit# dOenseignement 6=E7 sur A au premier semestre, il peut correspondre H 2 =E sur A au second. (our ceu3 qui sOorientent dans cette voie, lOenseignement de lOinformatique continuera H prendre une place croissante dans la suite du cursus Licence nformatique 2me anne http://fil.univ-lille1.fr/licence/L2+informatique/ :prJs une premiJre ann#e commune H dOautres licences au sein des parcours D8D(, 9(8 ou D:99, la seconde ann#e de licence marque lOentr#e effective de lO#tudiant dans la mention informatique. :u cours de cette ann#e lOenseignement de lOinformatique prend une place pr#dominante, compl#t#e par des connaissances en mat!#matiques indispensables et les n#cessaires comp#tences en anglais et en communication. Oapprentissage de la programmation imp#rative, entam# en premiJre ann#e, se poursuit et de nouveau3 domaines de lOinformatique sont abord#s. es connaissances et la perception de lO#tudiant sur la discipline se trouvent ainsi #largies. 9ont ainsi #tudi#s " & lOarc!itecture des ordinateurs, & lOalgorit!mique et les structures de donn#es, & le codage de lOinformation, & la programmation orient#e objet, & les automates et les langages, & les tec!nologies du ;eb. _________________________________________________________________________ Silvina Caraballo Susana Muraro 149 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Mas($r in)or6a(i?u$ http://fil.univ-lille1.fr/master-informatique/master1/ Sobre la formacin inicial del Master en nformtica, se indica que permite : cco#pl3ter la %or#ation g3n3rale sur tous les aspects %onda#entauF de lbin%or#ati7ue consid3r3e co##e une science et non co##e un outild. Por lo tanto se define a la nformtica como una ciencia, en oposicin a herramienta. Ms adelante se explica que la enseanza se da en torno a ciertos campos de conocimiento disciplinares: Bdes unit3s disciplinaires optionnelles per#ettant' dbintroduire des aspects plus appro%ondis de certains c+a#ps de la discipline in%or#ati7ue. Con esto se estara concibiendo a la disciplina informtica como contenedora de diversidad de campos especializados. Para concluir la maestra se opta por el trayecto especializado en un rea temtica. Univ$rsi(< Libr$ &$ BruC$ll$s 9B<lBi%a@ Univ$rsi(< &DEuro'$ http://www.ulb.ac.be/facs/sciences/info/index.html Al acceder al contenido en francs se halla el ttulo !partement d@Informati"ue, si se accede a la versin en ingls (realizada por la misma universidad) se puede ver el ttulo de la siguiente forma: !epartment of Computer .cience A!partement d@Informati"ue2 Fa%ul(< &Ein)or6a(i?u$ &$ No(r$ Da6$ &$ la PaiC F Na6ur 9B<lBi%a@ http://www.fundp.ac.be/facultes/info/ N+a 0acult dLinformati"ue$ pionniOre en ,urope de lLenseignement de lLinformati"ue$ se focalise sur les systOmes dLinformation et de communication% Ces systOmes$ intgrant - par dfinition - le matriel$ le logiciel$ les donnes et$ galement$ les utilisateurs$ constituent un des piliers de lLa#enir de notre socitP Esta explicacin se centra en la nformtica en relacin con sistemas de informacin y comunicacin, diferenciacin que estipula y mantiene ACM respecto a Ciencias de la Computacin. D<'ar($6$n( &Ein)or6a(i?u$ &$ lEuniv$rsi(< &u Qu<b$% F Mon(r<al 9Cana&G@ http://info.uqam.ca/mi nformacin sobre la Maestra en nformtica. La lista de cursos que se ofrecen muestra la diversidad de problemas involucrados bajo la denominacin Informtica, situacin que se debe contextualizar respecto que la lengua oficial es el fraces, por lo cual la denominacin cae dentro del marco lingstico de la regin: _________________________________________________________________________ Silvina Caraballo Susana Muraro 150 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ - 6erformance et simulation des rseau4 -Conception et analyse des algorithmes -)esure de "ualit et de producti#it -)achines #irtuelles -+es rseau4 sans fil et les rseau4 mobiles -.ystOmes rpartis -(cti#it de recherche -.ystOmes tutoriels intelligents -Thorie et applications de la fouille d@associations -6rincipes a#ancs des langages Q objets -9> 'seau4 haut dbit -.curit des systOmes informati"ues Univ$rsi(< &$ +$nHv$; 9SuiIa@ Fa%ul(a& &$ In)or6G(i%a J Co6uni%a%ion$s http://www.unige.ch/sciences/Enseignements/Formations/Masters/Sciencesnformatiques.ht ml Los contenidos de su pgina web se hallan en francs y en ingls. El nombre de la facultad aparece : En francs como: 0acult Informati"ue et Communications; En ingls como: .chool of Computer and Communication .ciences% Al revisar la pgina en cada idioma se observa que la denominacin de la disciplina se mantiene segn el idioma. En los planes de estudio de Maestra se explicita toda la oferta de materias, tanto obligatorias como optativas y de acuerdo a la especializacin de la maestra indicando el idioma en que se dictan. Pero hay algo bastante curioso: como algunas materias se dictan en ingls y otras en francs, en el plan de estudios, los nombres de las materias aparecen segn el idioma en que se dictan. Por lo tanto en la currcula presentada las materias heredan sus denominaciones por convenciones del idioma. Coexisten as por ejemplo: 6roject en Informati"ue II con /ptional 6roject in Computer .cience y con Current topics in Computer .cience. En sntesis, esta situacin muestra el nivel de sinonimia entre Informtica y Ciencias de la Computacin% ETK /Lri%> = Ins(i(u(o F$&$ral SuiIo &$ T$%noloBMa &$ /uri%> 9SuiIa@ http://www.inf.ethz.ch/index En la ciudad de Zurich el idioma que se habla es el alemn. En la pgina web del nstituto, la informacin puede leerse tanto en alemn como en ingls. Si se accede en este ltimo idioma, puede verse !epartment of Computer .cience, mientras que al elegir alemn como idioma para el contenido de la pgina, la traduccin lleva a que el !epartment of Computer .cience es el !epartement Informati<. _________________________________________________________________________ Silvina Caraballo Susana Muraro 151 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Univ$rsi(< &$ N$u%>a($l 9SuiIa@ http://www2.unine.ch/iiun/page-5100.html Cuenta con el UN que es el nstitut d'informatique de l'Universit de Neuchtel (nstituto de nformtica) Es interesante ver como en la pgina web de este instituto conviven nformtica y Ciencias de la Computacin, usndose como sinnimos y aclarndose el significado de la sigla UN de dos maneras distintas: UN Institut d@informati"ue de l@*ni#ersit de ;euchRtel UN Computer .cience !epartment Univ$rsi&a& &$ Manouba 9TNn$I@ ENS L`Ecole Nationale des Sciences de l`nformatique http://www.ensi.rnu.tn/ La Universidad expone la informacin en rabe y francs (ya que el pas fue colonia francesa). Por esta razn se puede ver que en los planes de estudio prevalece el trmino nformtica aunque tambin, y sin traduccin, emplean el trmino "Computing. Llama la atencin que el ttulo de la carrera agrupa el trmino sajn de "Ciencias de la Computacin con el trmino; francs de "nformtica, dando lugar al trmino "Ciencias de la nformtica, sntesis de las dos tradiciones. RiOPsuniv$rsi($i( = +roninB$n = 9PaMs$s BaOos@ http://www.rug.nl/informatica/index La maestra en nformtica aparece como )aster of Computing .cience, tal su denominacin en la traduccin al ingls de la pgina, mientras que en holands (dutch) aparece como )asteropleiding Informatica. Univ$rsi&a& Poli(<%ni%a &$ Ma&ri& 9Es'aQa@ Fa%ul(a& &$ In)or6G(i%a http://www.fi.upm.es/?id=gradomatematicasinformatica TM(ulo &$ Bra&oA Ma($6G(i%a $ In)or6G(i%a La p(gina de Ne" eFpone co#o visin del ttulo' B9e concentran en la titulacin estudios de matem)ticas e inform)tica, con especial #nfasis en los fundamentos matem)ticos de la 8nform)tica y las !erramientas inform)ticas para las matem)ticas. Est) dirigido a alumnos con inter#s y aptitud !acia las matem)ticas, con talento para resolver problemas y para asimilar nuevas ideas y tecnologas, as como con inter#s !acia los ordenadores y su utilizacin como !erramientas para la programacin de algoritmos para la resolucin de problemas de la ciencia y la ingeniera. _________________________________________________________________________ Silvina Caraballo Susana Muraro 152 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Se informa que el ttulo (no corresponde a una doble titulacin sino que integra a Matemtica y Computacin) se imparte con xito tambin nstituto Tecnolgico de Massachusetts (MT) en EE.UU., la Universidad de Oxford en nglaterra o la Universidad de Pars V Pierre et Marie Curie en Francia. Ms all de la formacin y las incumbencias, que pueden verse en la pgina web, interesa sealar la traduccin que han hecho del ttulo original de la carrera en el MT, que es )athematics &ith Computer .cience. O sea, nformtica como sinnimo de Computer Science. Adems, en la fundamentacin del MT se sostiene: matem)ticas e inform)tica son campos estrec!amente relacionados. os problemas en inform)tica son a menudo formalizados y resueltos con m#todos matem)ticos. (or otra parte, es de esperar que muc!os problemas importantes con los que se enfrentan los investigadores en inform)tica sean resueltos por investigadores con destrezas en )lgebra, an)lisis, combinatoria, lgica yPo teora de probabilidades, as como en inform)tica. El propsito de este programa es permitir a los estudiantes cursar una combinacin de estas )reas matem)ticas y )reas potenciales de aplicacin en inform)ticaQ. Lo expuesto, adems de poner de relieve la diferencia entre Matemtica e nformtica, an compartiendo mtodos, sustentndose mutuamente, dara cuenta de una visin de la nformtica que da lugar a un rea o especializacin, que forma parte de la nformtica tanto como otras reas ms ingenieriles. Univ$rsi&a& Na%ional &$ La Pla(a 9ArB$n(ina@ Li%$n%ia(ura $n In)or6G(i%a http://www.unlp.edu.ar/articulo/2010/2/18/planes_de_estudio_informatica_licenciatura_en_in formatica Plan de estudios: PRMER AO: Algoritmos, Datos y Programas, Organizacin de Computadoras, Matemtica 1, Arquitectura de Computadoras, Matemtica 2 SEGUNDO AO: ntroduccin a las Bases de Datos, Algoritmos y Estructuras de Datos, Seminario de Lenguajes, Matemtica 3, ngeniera de Software 1, Orientacin a Objetos 1, ntroduccin a los Sistemas Operativos, Taller de lecto-comprensin y traduccin en ngls TERCER AO: ngeniera de Software 2, Conceptos y Paradigmas de Lenguajes de Programacin, Orientacin a Objetos 2, Redes y Comunicaciones, Programacin Concurrente, Proyecto de Software, Computabilidad y Complejidad, Lgica y elementos de nteligencia Artificial CUARTO AO: Teora de la computacin y verificacin de programas, Sistemas Operativos, Sistemas Paralelos, Laboratorio de Software, Tres Materias Optativas QUNTO AO: Aspectos Legales y profesionales de nformtica, Dos Materias Optativas, Tesina de Licenciatura en nformtica Univ$rsi&a& &$ Bu$nos Air$s 9ArB$n(ina@ Fa%ul(a& &$ Ci$n%ias ECa%(as J Na(ural$s Carr$raA Li%$n%ia(ura $n Ci$n%ias &$ la Co6'u(a%iRn +ttp'VVeFactas.u"a.arVacade#icoVdispla).p+pQestructuraX>edesarrolloX?eidfcajaX<HenivelfcajaX> Al acceder a la pgina con informacin sobre la Licenciatura, un primer ttulo invita la lectura a travs de Informtica en ,4actasB%$ pero el ttulo que emite se denomina como _________________________________________________________________________ Silvina Caraballo Susana Muraro 153 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ "+icenciado en Ciencias de la ComputacinB% Luego se presenta el campo laboral al que se dirige y plantea que la formacin conjuga lo profesional con lo cientfico. Las materias del plan de estudios: Materias (Correlativas) 1 (*) (#) lgebra 2 (*) (#) Anlisis 3 (*) (#) Probabilidad y Estadstica (2) 4 (*) (#) Algoritmos y Estructuras de Datos (1) 5 (*) Mtodos Numricos (3, 4) 6 (*) (#) Organizacin del Computador (4) 7 (*) Organizacin del Computador (6) 8 (*) (#) Algoritmos y Estructuras de Datos (4) 9 (*) Algoritmos y Estructuras de Datos (8) 10(*) (#) Sistemas Operativos (7, 8) 11 Lgica y Computabilidad (8) 12(*) Teora de las Comunicaciones (3, 10) 13(*) (#) ngeniera de Software (9) 14(*) Base de Datos (10, 13) Al terminar este ciclo, se obtiene el ttulo de Analista Universitario en Computacin 15 Teoria de Lenguajes (11) 16 Paradigmas de Programacin (9, 11) 17 ngeniera de Software (10, 13, 16) Optativa 1 Optativa 2 Optativa 3 Optativa 4 Pese a la diferencia en los nombres que tienen las Licenciaturas de UBA y UNLP, la comparacin de sus planes de estudio, da cuenta de grandes similitudes (por lo menos desde el punto de vista nominal de las materias). Univ$rsi&a& &$ Pal$r6o 9ArB$n(ina@ Li%$n%ia(ura $n In)or6G(i%a http://www.palermo.edu/ingenieria/Licenciatura_en_nformatica/Licenciaturaennformatica.ht ml Propone tres ttulos diferentes: Ciencia de la Computacin ngeniera del Software Tecnologa de la nformacin Plan de estudios: La caracterstica distintiva de la formacin que adquiere el Licenciado en nformtica en Palermo es el desarrollo de su espritu innovador y la adquisicin de la capacidad de concretar sus ideas. _________________________________________________________________________ Silvina Caraballo Susana Muraro 154 UN ENFOQUE CONCEPTUAL DE LAS TIC ______________________________________________________________________ Para ello se ve impulsado a generar nuevos proyectos aplicables a la realidad. Aprende a concretarlos y mantiene permanente contacto con empresas del sector. Las 6a($rias $l$%(ivas# El plan de estudios incluye un conjunto de materias que pueden ser elegidas por el alumno. Gracias a estas materias podr orientarse a opciones en: El plan de estudios incluye un conjunto de materias que pueden ser elegidas por el alumno. Gracias a estas materias podr orientarse a opciones en: 1- Software y Ciencias de la Computacin 2- Comunicaciones y Redes 3- nternet y Sistemas Web, 4- Bases de Datos. 5- Tecnologas de ntegracin de Software 7- Comercio Electrnico E(a'as &$ la %arr$ra El plan de estudios se estructura en dos ciclos que facilitan la insercin laboral en etapas intermedias de la carrera. Los ttulos que otorga cada una de ellas son: - Analista Universitario de Sistemas: a los 3 aos. - Licenciado en nformtica: a los 4 aos. _________________________________________________________________________ Silvina Caraballo Susana Muraro 155