Bueno, aunque de momento solo tengamos un compañero conectado, me referiré en plural porque normalmente esta grabación lo puede ver más gente. Me llamo Antonio Serna, Tony Serna, y soy vuestro tutor para esta asignatura de Fundamentos de Informática. Os doy la más sincera bienvenida y la verdad me apetece hacer esta asignatura y disfrutarla con vosotros. No es algo que me suponga una carga horrorosa, de verdad, es una asignatura que disfruto de tutorizar. A ver, daré un repaso muy rápido a lo que se espera de esta asignatura. Esto es una simplificación de lo que explica en la guía del estudiante. Se pretende un poco que tengáis una visión general de la informática, comprender el funcionamiento de un sistema informático para usarlo, como herramienta, y conocer los principios de la orientación a objetos. Me referiré al paradigma de orientación a objetos o programación orientada a objetos con a menudo esta forma, o O. Y en concreto el lenguaje Java para resolver problemas. También nos piden que al final, o uno de los resultados de aprendizaje será que seáis capaces de diseñar y de forma crítica, no os valdrá cualquier diseño si no sabréis decir, este diseño es mejor que este otro y convertirlos en programas. En ningún sitio se dice ni se espera que os convirtáis en desarrolladores informáticos ni que vayáis a desarrollar aplicaciones web en Java. Haremos una introducción y una introducción a la programación sencilla. Bueno, a mí me gusta siempre explicar un poco esta asignatura para la gente que trabaja que pretende estudiar Ingeniería Eléctrica, Electrónica, Tecnología Industrial o Mecánica. ¿De qué les sirve estudiar Fundamentos de Informática? Bueno, la verdad es que en principio hay una cosa que no sé si todo el mundo está de acuerdo pero para mí es muy claro. Y es que el proceso de concebir un programa es idéntico al proceso que tiene que hacer uno para diseñar un circuito o un mecanismo. Es una labor de ingeniería. Como cualquier otra y como tal os supondrá una disciplina y un ejercicio que utilizaréis múltiples veces, a lo mejor con otras herramientas, pero es lo mismo. O sea que como estructuración del pensamiento os irá muy bien, eso por una parte. Y la otra cosa es que aunque no os vayáis a dedicar a la programación, el ser capaces de entender cómo se hace un programa y cómo se piensa cuando trabajáis con equipos en los que a lo mejor sí hay algún informático que sea el especialista en desarrollar pues algún simulador o algo y trabajéis en equipo, eso os permitirá mejorar muchísimo la capacidad de comunicación con el informático porque entenderéis un poco los requerimientos de lo que necesita, cómo tiene que pensar el problema. En fin, esta es mi idea. Es criticable pero yo creo que... que en fin, que la asignatura tiene sentido y que si la cogéis con cariño le podéis sacar mucho jugo e incluso divertiros con ella. Ya sabéis, si habéis leído un poco la guía de estudio que está estructurada la asignatura en dos unidades. La unidad número uno, la primera, es una unidad de conceptos fundamentales de informática general, un poco cultura general. En esta, esta unidad trabajaremos menos porque es una unidad que un poco leyendo los apuntes y resolviendo alguna duda que nos pueda surgir juntos no tiene más dificultad. Solo es estudiar un poco y muchas cosas son de nivel básico. No necesitamos un conocimiento super profundo. En cambio la unidad dos, la de diseño y programación orientada a objetos en Java aquí sí que hay más trabajo y cuesta un poco más. Cuesta un poco más habituarse a hacer tus primeros programas. No es evidente. Yo creo que es aquí donde os puedo resultar más útil porque la otra parte... En fin, haremos algo. Hoy digamos, haremos un pequeño ejercicio relacionado con la unidad uno pero donde trabajaremos a fondo será con esta segunda parte y con lo de ayudaros a sacar adelante la práctica. Una cosa muy importante es explicaros un poco cómo se evalúa esta asignatura. Perdón porque he pasado un par de diapositivas sin querer. ¿En qué consiste? Bueno, la evaluación de esta asignatura esto que se llama prueba de evaluación continua es lo que se llama la práctica. Es un ejercicio práctico de programación orientada a objetos en Java. Yo la tengo que calificar de 1 a 10 y tenéis que aprobarla para poder ir al examen. Es decir, una práctica no presentada o una práctica insuficiente os impide incluso presentaros al examen. De todas maneras, hacer la práctica llamándola al día no os tengo que asustar. Es decir, es una práctica asequible. Lo que pasa es que en fin, si la dejas para el final y quieres entenderlo todo al final sí que se vuelve imposible. Pero no tiene por qué atragantarse esta práctica a nadie. La práctica está estructurada en tres etapas. Son tres etapas incrementales y de alguna forma para motivar que se siga a ritmo la asignatura uno de los puntos de estos diez que valdrá la práctica será si podéis entregarla a tiempo. Es decir, si cumpléis los plazos de entrega de la primera parte y de la segunda parte el de la tercera es necesario ese es innegociable pero los de la primera y la segunda si no podéis o queréis renunciar a llevarla a ritmo podéis hacerlo. Lo que pasa es que valoraré con un punto extra quien sí pueda cumplir estos plazos. ¿De acuerdo? Entonces, mi recomendación es hacer todo lo posible por cumplir los plazos no sólo por el punto sino porque os permitirá que no se os acumule el trabajo y aunque si por lo que sea no os da tiempo por el trabajo que esto lo comprendo perfectamente a veces no es porque el alumno no quiera sino porque las restricciones de tiempo no son suficientes el tiempo disponible no basta pues nada, no pasa nada se entrega la parte final se acumula el trabajo de todo y ya está no impediré a nadie aprobar la práctica por no haber podido entregar a tiempo las partes 1 y 2 Cuando esta práctica está corregida y evaluada por mí el equipo docente recibe las notas y sobre la nota final de la asignatura puede suponer hasta un punto extra bueno, hasta un punto dice ¿De acuerdo? Por tanto, su peso en la evaluación es pequeño o sea, es máximo un 10% lo que pasa es que en el examen la parte que vamos a explicar a continuación es muy importante haber hecho y sobre todo entendido la práctica porque el examen está diseñado y evaluado por el equipo docente tiene un test eliminatorio sobre los conceptos de cultura informática general de la unidad 1 y una segunda parte que te proponen un diseño parecido al que has hecho en la práctica y que si has superado la parte de del test anterior te corrigen, pero esta parte digamos es la más difícil y subjetiva no es que sea extremadamente difícil pero es la que uno practica muy bien si hace la práctica de forma consciente si tú entiendes la práctica y lo que estás haciendo la pregunta esta de diseño orientado a objetos que aparecen en el examen no te plantea más dificultad que entender el caso concreto que te están preguntando por eso la práctica no tiene gran peso en la nota pero sí gran peso indirecto si en algún momento tenéis alguna duda no tengáis pereza, me escribís algo en el chat incluso si queréis intervenir en persona me decís me gustaría hacer una pregunta en vivo y me interrumpís cuando queráis vale ya os digo la práctica va a consistir en tres entregas acumulativas y estas son las tres fechas 28 de marzo es cuando deberíamos bueno hasta el final del día 28 que creo que es viernes aceptaré las entregas vía correo electrónico de la primera parte de la asignatura de la práctica hasta el 25 de abril la segunda parte y el 14 de mayo es la entrega final que acumula todo el trabajo fijaos que tenemos una tutoría después del 14 de mayo esta fecha de 14 de mayo está sugerida con anticipación porque los primeros exámenes creo que son el 21 de junio si no voy mal y entonces el equipo docente entre que tenemos que corregir esta fecha como máximo ya os podéis imaginar para qué utilizaremos la última tutoría para revisar exámenes de años anteriores para afinar con ejercicios intentar darle sentido a este último día en que nos veamos muy bien es el resto de lo que hay en esta diapositiva de lo que os había comentado antes tenéis un punto si se entrega en plazo las partes opcionales es muy importante para la preparación de la segunda parte ahora recomendaciones de profesor veterano de las cosas que os pueden ir bien para seguir la asignatura yo no sé si tenéis la costumbre de conectaros a la plataforma virtual a los foros de ALF voy a hacer una pequeña encuesta si todavía no somos muchos veo que está conectado mayor K2 son los compañeros que están en la sala de informática bueno voy a hacer una pregunta a los que podáis contestar simplemente lo siguiente si alguien del grupo de mayor K puede acercarse al teclado y escribir el nombre de todos un poco podría servir como respuesta la pregunta que os quería plantear es la siguiente tengo preparada una pequeña encuesta es esto ¿tienes el plan tutorial de esta asignatura? mi pregunta es habéis accedido al entorno virtual y habéis podido ver un poco cuáles son las cosas de las que vamos a hablar en cada tutoría cuántos días tenemos de tutoría qué días etc si podéis ir contestando yo veré los gráficos de la respuesta con los resultados si tenemos dos respuestas perfecto eso quiere decir que o bien los habéis sacado de la web de UNED o bien habéis entrado en ALF esto es una de las recomendaciones importantes por eso quería hacer esta cuestión seguir el foro del grupo de tutoría y los foros de la asignatura es muy importante sobre todo este año que por mi situación personal que estoy en el extranjero no puedo ofreceros tutorías en persona eso podría ser una desventaja pero también una ventaja quiere decir que las tutorías online estarán muy trabajadas para que se puedan seguir a distancia y el año pasado y los años anteriores como tenía tutorías presenciales complementariamente se retransmitían vía online los alumnos que estaban online tenían una atención bastante menos precisa que la que voy a estar haciendo estos días pero por favor está conectados a los foros del grupo de tutoría y si os pasáis por allí veréis que os invito a que hagáis una pequeña presentación hacedlo si sois tan amables y queréis saber cómo os llamáis de qué asignatura qué estudios estáis cursando si tenéis alguna experiencia previa en programación en fin, cuatro preguntas que os planteo que si lo queréis hacer servirá un poco para mi información y conoceros un poco más el plan tutorial os ayudará a una cosa y es que lo suyo yo sé que no se puede pretender pero lo ideal sería que pudierais preparar lo que vamos a hablar en la tutoría es decir en el plan tutorial he detallado trabajo que sugiero trabajo que iría bien para prepararla si podéis hacerlo aprovecharéis muchísimo mejor este tiempo que vamos a tener de tutorías online por supuesto os animo a que mantengáis la asignatura al día porque intentar resolverla al final no funciona esta es una asignatura que necesita un poco proceso de maduración continuo y eso se consigue practicando y como complementos preguntad, escribidme sobre todo en el foro etc mejor escribir en el foro que mandarme consultas directamente por email a no ser que sean cuestiones personales o cuestiones muy que no se puedan compartir en público y mi respuesta en público puede ayudar a otros entonces preferiblemente los foros no sé si tenéis el libro el libro este de una introducción práctica de programación orientado a objetos usando BlueJ para la preparación de vuestro trabajo autónomo es muy interesante este libro es verdad que seguirlo al pie de la letra haciendo todos los ejercicios consume mucho tiempo, tal vez no hace falta este libro va bien y sé que se puede conseguir que hay por ahí alguna copia digital por si a alguno le parece demasiado caro y esto no debería decirlo pero sé que lo hay sé que existe por tanto es una herramienta que os recomiendo encarecidamente y el último consejo del abuelo Cebolleta intentad no sólo aprobar la práctica sino entender lo que estáis haciendo hacerla de forma consciente y reflexiva porque es esencial para entender la parte más importante del examen ¿de acuerdo? además de rebote hay que decir que entender la práctica y entender lo que estás haciendo os facilitará el trabajo será mucho más ameno y mejor vamos a entrar un poco en materia ¿tenéis alguna duda antes de meternos en este pequeño ejercicio que vamos a hacer? ¿alguna pregunta? basta un no rápido o un sí y os escucho vale, pues seguimos adelante lo que os planteo es básicamente el ejercicio de autoevaluación que está en el en el plan de trabajo de ALF y más o menos si hubierais podido preparar el tema de las unidades de los temas 1, 2 y 3 un poco haber hecho una lectura rápida de los conceptos fundamentales estos de los que hablábamos de la unidad 1 ahora este ejercicio os podría servir un poco como test de qué tal lleváis los conocimientos si no si no habéis tenido tiempo de prepararlo y no lo habéis podido leer igual os sirve de test porque son preguntas un poco de cultura general informática y podríais ver un poco si vuestro vuestro nivel de conocimientos de informática está en sintonía con lo que se espera en esta asignatura ¿de acuerdo? entonces vamos allá la primera cuestión que nos plantean es la misión del reloj interno de una computadora intentad vosotros mentalmente dar la respuesta y yo ahora mismo la desvelo y la comento el reloj de una computadora bueno, pues lo que hace es hacer de sincronizador las operaciones del microprocesador de la CPU y de la memoria principal tienen que ir a un mismo ritmo y eso se hace con este reloj interno cada golpe de reloj se completa en cada golpe se completa una operación de acceso a la memoria es los famosos megahercios megahercios es la medida de lo rápido que como decir lo rápido que pulsa el reloj interno del ordenador no es exactamente una medida de la velocidad pero bueno tiene cierta relación con la velocidad del ordenador muy bien, siguiente cuestión ¿qué funciones realizan los programas de control de trabajos de un sistema operativo? esta ya es una pregunta un poco más técnica programas de control de trabajos vamos allá en todo sistema operativo hay unos un sistema un subsistema diríamos que se encarga de asignar y planificar recursos a los diferentes procesos estos son los programas de control de trabajos hacen esto hay una actividad sugerida por el equipo docente de evaluación que es mirar en Windows los procesos que se están asignando que se están ejecutando en un momento dado en una máquina los procesos son esto lo que estáis viendo en esa pantalla son los procesos y los recursos si hay 30 procesos en marcha sólo tenéis una pantalla sólo tenéis un ratón sólo tenéis una tarjeta de red y esos son los recursos alguien tiene que poner orden a todo esto y tiene que repartir unos con otros esto hacen los programas de control bueno, siguiente cuestión la ALU ¿qué tipo de instrucciones hace la ALU en un ordenador? es fácil de recordar si uno entiende las siglas ALU significa Arithmetic Logic Unit por tanto las operaciones que hace este circuito o esta circuitería son operaciones de tipo aritmético lógico es decir, es el cerebro matemático del procesador ¿qué es un sistema operativo multitarea? bueno, el nombre casi se auto explica básicamente no hay más misterio que un sistema operativo que es capaz de ejecutar varios programas a la vez o procesos a la vez esto que nos parece tan habitual yo ahora mientras estoy hablando puedo tener un navegador abierto y descargando una película si me diera el ancho de banda bueno, pues sepáis que lo sabéis los sistemas operativos más antiguos y algunos que no por antiguos sino por especializados no todos lo hacen hay algunos que solo ejecutan una tarea esto es una característica deseable aunque hay que tener en cuenta que en un ordenador a no ser que tengas bueno, los ordenadores modernos tienen multinúcleo en los que se pueden ejecutar hasta 2, 3, 4 o más operaciones a la vez pero excepto eso si piensas en un ordenador clásico con una sola CPU de un solo núcleo no ocurren nunca dos cosas a la vez y aunque tengas un procesador de 4 núcleos tendrás docenas de procesos en marcha no se están ejecutando exactamente los 12 a la vez en paralelo, no lo que está sucediendo es que el procesador se reparte todos estos procesos de forma muy rápida asignando un pequeño intervalo de tiempo y a ojos del usuario parece que se están ejecutando a la vez pero a la vez de una forma relativa solo es una compartición enormemente rápida de un recurso de cálculo La BIOS ¿Qué información contiene la BIOS? nos preguntan Bueno, la BIOS significa Basic Input Output System sistema básico de entrada y salida es este menú al que podemos acceder cuando arranca el ordenador bueno, el menú es la visión de la información que contiene la BIOS que lo que tiene básicamente es la configuración de la máquina, toda esta información necesaria que no se borra aunque la máquina se apague información de configuración de cuál es el primer dispositivo de arranque que se va a buscar etcétera bueno, ya sabéis si habéis entrado alguna vez en este apartado de vuestro ordenador cuando arranca típicamente pulsando la tecla F2 o la tecla suprimir siguiente un proceso en tiempo real es también un proceso en línea y al revés esta pregunta simplemente es hace referencia esta pregunta hace referencia a algo de lo que hablan en los apuntes disponibles para la unidad didáctica 1 y es un poco ver si se han entendido este concepto, vamos a ver de qué va esto de procesos en tiempo real y procesos en línea opa, y aquí dónde está la respuesta aquí dice si todo proceso real es en línea y al revés la respuesta a las dos preguntas es que no, no tienen nada que ver podría haber todas las combinaciones de en línea y tiempo real un proceso en línea simplemente es un proceso que se ejecuta conectado a un computador central por ejemplo un proceso que descarga una página desde un servidor web o sea, yo estoy con mi navegador y si me imagino la descarga como un proceso ese es un proceso en línea porque estoy conectado a un servidor externo ¿y un proceso en tiempo real? bueno, un proceso en tiempo real es algo que tiene mucho que ver con el ritmo de ejecución es un proceso que interactúa con el mundo físico o sea, no es algo que interactúe con el mundo virtual típicamente como el ejemplo anterior y además respeta una serie de restricciones de tiempo de ese mundo físico dando respuestas correctas a tiempo por ejemplo el proceso que monitoriza los sensores ABS en un coche no vale de nada si el proceso no es capaz de leer al ritmo necesario la información del sensor ABS y actuar sobre los frenos a tiempo a tiempo no quiere decir siempre muy rápido pero quiere decir en el tiempo que se espera que tenga que dar respuesta ¿de acuerdo? control de procesos industriales control de una central nuclear por ejemplo, las cosas tienen que ir en un tiempo no te puedes permitir el lujo que si te puedes permitir descargando una página web de un servidor web es una cuestión donde el tiempo tiene que, el reloj interno del programa y el reloj del mundo exterior tienen que latir al unísono esto es importante diferencia entre memoria volátil y no volátil esto es muy sencillo de entender volátil es la memoria que se pierde cuando se apaga la máquina la memoria principal de los ordenadores de este tipo y en cambio el disco duro al apagarlo no tiene datos afortunadamente y es por eso que se le llama una memoria no volátil o persistente o permanente esta pregunta es realmente sencilla cuando decía que las preguntas estas son de cultura general pues por ahí van los tiros bueno, una pregunta un poco abierta ¿cuáles son los principales inconvenientes del sistema operativo DOS? es una pregunta un poco extraña es un sistema operativo que estuvo vivo desde el 81 al 99 se le considera ya un fósil esto ya no sirve muy antiguo pero lo importante la pregunta iba porque nos diéramos cuenta es un sistema, no solo monotarea no es un multitarea como decíamos antes él sí que no puede excepto alguna cosita muy extraña y muy anecdótica hacer varias cosas a la vez pero además es que es monousuario no puede servir a más de un usuario sobre la misma máquina y otras desventajas esto ya es un poco más cosecha propia es que sigue un modelo propietario no es un sistema abierto esto para mí, bueno, es una pega y además tiene un sistema de archivos el famoso sistema FAT bastante limitado en cuanto a la capacidad de archivos que se pueden almacenar en cada directorio, el tamaño de cada archivo en fin, un fósil lo que se dice un fósil no contestéis si os preguntan cuál es el problema de DOS no digáis que es un fósil es una forma de hablar bueno una pregunta para tener claro las unidades de medida de la información cuántos bytes tiene una memoria de 768 megas bueno, un pequeño resumen megas hace referencia a millones por tanto un millón son un uno y seis ceros por tanto tan sencillo como multiplicar estos son el número de bytes de 768 megas pero ya os he puesto las otras unidades para que bueno, no sé, para tener un poco si la pregunta varía de otro tipo tenemos los bytes un byte se compone de 8 bits y luego vamos escalando de mil en mil un kbyte son mil bytes un mega ya lo habíamos dicho un millón un giga pues mil megas un tera mil gigas y un peta, un petabyte mil teras de acuerdo bueno, ahora ya tenemos discos duros rondando del orden de los terabytes supongo que no sé, en un futuro pues pronto hablaremos de petabyte ahora se habla de petabyte en las capacidades de almacenamiento de grandes servidores como google o facebook o amazon en la informática doméstica pero pensar en terabytes en la informática doméstica hace no sé, 10 años también era una locura supongo que llegaremos bueno, diferencias entre el lenguaje máquina y el lenguaje ensamblador otra pregunta para saber si sabemos diferenciar estas cosas y nos suenan estas palabrotas bueno, el lenguaje máquina es el lenguaje de más bajo nivel que existe en un ordenador está todo conformado por códigos de 1 y 0 códigos binarios que al fin y al cabo es lo que necesita el procesador para funcionar él no entiende otro lenguaje lo que pasa es que para simplificarlo se han ido desarrollando lenguajes más fáciles porque escribir en binario un programa sería de locos entonces, el siguiente nivel de lenguaje de un nivel un poco más alto son los lenguajes ensamblador, en los que se sustituyen los códigos binarios por instrucciones mnemotécnicas y también las direcciones de memoria y así es un poco más sencillo escribir código de bajo nivel pero los dos son dos lenguajes bueno, sobre todo el primero perdón el lenguaje ensamblador quiero decir es un lenguaje considerado de muy bajo nivel para programar cosas muy pequeñas que necesitan un gran rendimiento y una forma muy específica además, muy ligada a la arquitectura porque un código que necesita el procesador A el procesador de otra tecnología no lo entiende espera otra cosa aquí ha saltado una diapositiva muy bien nos preguntan si tenemos si somos capaces de convertir de binario a decimal esto no es nada difícil no sé si lo habéis hecho alguna vez convertir el número 15 ¿cómo se convierte en binario? tenéis que tener presente voy a marcarlo que la base para entender el código binario son las potencias de 2 2 elevado a 0 2 elevado a 1 2 elevado a 4 perdona, 2 elevado a 3 2 elevado a 4 2 elevado a 5 etc que nos dan estos números 1, 2, 4, 8 cada vez el doble del anterior muy bien pues, ¿qué números de esta secuencia tengo que sumar para conseguir el número que me dan? en este caso el 15 se consigue sumando 8, 4, 2 y 1 es decir, los cuatro últimos por tanto, traducido en binario usando 8 bits tendríamos 4 ceros a la izquierda y 4 unos a la derecha esto sería el número 15 en binario no sé si este ejemplo os queda claro yo lo he explicado de una forma muy gráfica hay otras formas de explicarlo me gustaría preguntar ¿sabéis seríais capaces de hacer la traducción del número 79 por ejemplo por poner algo a binario intentadlo un momento si alguien puede intentar darme la respuesta por chat perfecto no sé si tenías una calculadora a mano pero bueno, muy bien os explico un poco como iría 79 se puede representar con 8 bits sí vale, perfecto tiene sentido es decir 128 cuenta porque no puedo representar 79 como una suma que incluya 128 pero 64 sí sí que puedo a 79 restarle 64 por tanto aquí va un 1 ¿y qué pasa? que si yo le resto 64 a 79 me quedan 15 ¿de acuerdo? ¿y qué es el 15? bueno, pues el 15 de la misma forma sé que no le puedo restar 32 pero ya lo había calculado antes tampoco le puedo restar 16 y sé que es 8 más 4, más 2 más 1 y ahí tenéis el 79 ¿de acuerdo? si alguien tiene alguna dificultad con esto pues nada, simplemente es que lo practique un par de veces y no tiene más misterio pensad que tenéis que ser capaces de hacerlo en los dos sentidos de binario a decimal y decimal a binario para hacerlo de decimal a binario este numeraco es sumar el 64 más el 8, más el 4, más el 1 muy bien diferencias entre memoria caché, ram y virtual bueno memoria caché es una memoria que contiene información para evitar acceso al disco duro la palabra caché en el entorno informático siempre significa leer anticipadamente por si acaso leer cosas que no necesito es una previsión de que más tarde me van a pedir y ya que leo, leo un poco más y así iré más rápido esta es la idea la memoria ram es la memoria volátil de la que hablábamos antes que utilizan los procesos para cargarse y durante su ejecución es decir, todo programa necesita primero estar cargado en memoria y después utilizará un espacio de esta memoria para guardar información datos propios y la memoria virtual es una memoria que reside físicamente en el disco duro no está en los chips de memoria del ordenador lo que se hace con esta memoria es que funciona como una extensión de la memoria ram permite trabajar como cuando se hubiera acabado la memoria ram sería imposible crear un nuevo proceso que ocupase espacio porque la memoria ram está llena vale, pues en este caso se utiliza el disco duro se quita la información que no se está usando ahora mismo en este momento se lleva al disco se libera espacio en la memoria ram y se va haciendo trajín arriba y abajo de la memoria al disco sobre esta zona que se llama memoria virtual esto es típicamente reconoceréis que un ordenador está usando la memoria virtual cuando estás trabajando haciendo un cálculo no estás escribiendo nada en el disco pero empieza a rodar el disco todo va bastante lento y es porque se acaba la memoria física la memoria ram y estáis tirando del disco para poder seguir en marcha con el ordenador bueno, esta pregunta también tiene que ver con la teoría que se explica en los apuntes indica algunos paradigmas de programación la programación ha sufrido situaciones históricas la gente ha ido avanzando en la ciencia informática y hay varias formas de concebir cómo dar instrucciones a un ordenador o cómo conseguir que un ordenador haga lo tuyo bueno, haga lo que le pides básicamente las dos grandes familias de paradigmas de programación son la programación imperativa y la programación declarativa cada uno de estos dos esquemas tiene sus familias por ejemplo los imperativos se distinguen de los declarativos porque los imperativos son los que el programador dice cómo hay que resolver un problema digamos, detalle a detalle en cambio los declarativos son lenguajes en los que tú dices qué es lo que quieres que el ordenador calcule decía los lenguajes declarativos qué necesitas y el ordenador lo resuelve como él decide es decir, tú no haces una programación tan dirigida a cómo sino una programación más dirigida a qué quieres lenguajes imperativos son los más conocidos BASIC, C dentro de estos está el subparadigma de la programación orientada a objetos entre ellos nuestro lenguaje estrella el Java y otros como el Smalltalk y el C++ y las últimas versiones de PHP y Python y otros De los lenguajes declarativos hay también subparadigmas como son lenguajes declarativos algebraicos como el lenguaje de consulta de base de datos esto es el SQL tu le dices dame todos los datos que hay en una tabla ordenados por nombre y DNI de todos los usuarios compras por más de 10.000 euros el año 95 tú le dices lo que quieres a la base de datos pero no cómo tiene que ir a buscar la información dentro por eso el lenguaje SQL es un lenguaje declarativo y algebraico porque toda su lógica está basada en el álgebra de conjuntos bueno, no me enrollaré con este lenguaje pero funciona así y luego hay otros como el paradigma funcional y como por ejemplo algunos algunos lenguajes utilizados por paquetes de cálculo matemático no sé si utilizáis el Máxima o el WX Máxima esos son lenguajes funcionales en los que todo es una función y luego lenguajes más pensados para el cálculo lógico y para el bueno, para cuestiones más de inteligencia artificial a veces como el Prolog que también son lenguajes declarativos basados más en declaraciones de lógica tú estableces qué verdades lógicas con qué verdades lógicas vas a trabajar y el programa llega a conclusiones esto explicado muy rápido vale esta pregunta es absurda pero es un poco tonta nos preguntan qué tipo de memoria se considera permanente y simplemente es que una memoria permanente es una memoria no volátil de las que habíamos hablado antes tenemos muchos ejemplos no sólo el disco duro tenemos los digamos los nuevos discos duros los discos de estado sólido los SSD son discos duros más pequeños más caros y más rápidos que los discos duros convencionales luego tenemos por ejemplo las tarjetas SD de las cámaras eso también son memorias no volátiles o las ROM bueno son memorias de sólo lectura read only escribir así va a costar un poco y lo de EEP significa programables electrónicamente perdón borrables y programables electrónicamente de acuerdo son memorias que guardan la información pero se pueden reescribir varias veces electronically erasable and programmable read only memory vale no hace falta que os aprendáis este caso concreto era sólo por poner una lista un poco un poco no sé que mereciera algún comentario bien cuáles son las principales fases de un compilador bueno todavía no hemos hablado de lo que es un compilador pero lo vamos a estar usando en Java os lo digo rápido un compilador traduce el código que escribo en ese código binario que es el que entiende el ordenador y eso lo hace en una serie de fases lógicas no lo hace a lo bruto sino tiene una serie de pasos veamos tú escribes código fuente que tiene que terminar convertido en código objeto este código binario que entiende el ordenador según el equipo docente las fases más importantes serían el análisis sintáctico el análisis semántico y toda esta parte final que se llamaría la parte de codificación no menciona el análisis léxico da igual eso depende un poco de si quieres entrar más en detalle o menos el análisis léxico qué es si tú escribes código fuente y se supone que tienes que escribir un comando for eso es un comando que está permitido en tu lenguaje y tú escribes tor t o r que sintácticamente perdona léxicamente está fuera de tu lenguaje entonces el análisis léxico dirá mira tor perdona pero yo no sé lo que es después análisis sintáctico es el siguiente paso en nivel de complejidad se trata de analizar si las construcciones tienen sentido no sólo las palabras sino las construcciones semántico bueno aquí habla de la lógica por ejemplo aquí se hacen verificaciones ya un poco más de estás a punto de utilizar un dato que antes no ha sido declarado y cosas así tampoco entraremos muy en detalle y la parte final cuando ya estas partes de verificación se han resuelto es la que convierte todo este código fuente que hemos ido bueno analizando y transformando en en el código objeto binario este que necesitamos para que el ordenador lo entienda aquí hay este módulo que dice manejador de errores y es porque bueno en todas estas fases se pueden producir errores y hay una parte de un compilador que se encarga de informar al usuario oye mira has metido la pata en esta palabra etcétera bueno esta es una respuesta un poco más amplia que la que daba el equipo docente pero bueno ya os digo ellos se conformaban con análisis sintáctico semántico y codificación pero así tenéis una visión un poco más detallada si a alguno le interesa una pregunta muy sencilla esta probablemente todos la conocéis nos piden opa la pregunta no la hemos visto la pregunta decía como está compuesto un disco duro explicar brevemente como es físicamente y como se divide para almacenar su información yo no sé si habéis abierto alguna vez un disco duro es muy divertido por supuesto un disco duro que no funcione porque si abres un disco duro que debería funcionar no va a funcionar nunca más primero porque tiene una cámara sellada lo veis aquí lo dice cámara sellada ¿por qué? pues porque está compuesto de unas superficies rotatorias el disco duro son estos platos que giran a gran velocidad los más rápidos alrededor de 7200 revoluciones por segundo y las cabezas de lectura y escritura que son algo realmente minúsculo diminuto están tan cerca de los platos que realmente están flotando sobre un pequeño colchón de aire generado por la misma rotación pero una mota de polvo aquí dentro podría provocar que el cabezal rayase o tocase la superficie que es una superficie magnetizable y este cabezal es capaz tanto de magnetizar como de leer el valor magnético pero no puede tocar físicamente si no rayaría esta superficie y la estropearía los platos para tener más capacidad no son uno ni dos bueno, depende del modelo del disco pero hay varios y las cabezas de lectura y escritura típicamente leen los platos por las dos caras y simultáneamente como con un peine de cabezales esto sería lo más importante del disco duro aparte de dispositivos anti vibración y los conectores estos conectores sí que los conocemos porque enchufar y desenchufar un disco duro sí que es algo bastante corriente desde fuera lógicamente la información en el disco se organiza en lo que se llaman pistas, sectores y grupos de sectores las pistas no son más que zonas concéntricas del disco serían zonas que siguen el patrón circular los sectores pues eso zonas de este tipo que a veces bueno ya veis los sectores exteriores son más grandes y los interiores más pequeños en fin, esto son la organización lógica que nos pedían ya vamos terminando para acabar de escabechar estas preguntas diferencia entre un intérprete y un compilador intérprete hay lenguajes que funcionan con intérpretes y otros con compiladores Java funciona con compiladores y que pasa, yo escribo el código fuente y el compilador crea un programa en código máquina que se ejecuta después en cambio cuando un lenguaje es interpretado lo que sucede es que las instrucciones de mi código fuente se van traduciendo al vuelo secuencialmente en tiempo de ejecución esta es la diferencia entre un lenguaje compilado y un lenguaje interpretado y nos pregunta bueno ¿qué caracteriza los puertos USB? pues también sin entrar en muchos detalles electrónicos etcétera los puertos USB son conectores que permiten vincular al ordenador periféricos con una conexión de tipo serie esto es importante USB significa Universal Serial Bus pero sin necesidad de tarjetas especiales ni de reiniciar el sistema es el famoso plug and play de los USB perfecto bueno pues vamos sobre el plan muy bien ¿cuál es la diferencia entre interfaz IDE y ranuras PCI? interfaz IDE es donde conectamos los discos duros lectores de CD grabadores de DVD es un conector que está situado en la placa base de un ordenador y las ranuras PCI también son conectores de la placa base del ordenador pero en los que pinchamos las tarjetas de sonido las tarjetas de red etcétera es un poco lo que tenía previsto esta primera parte ya os digo el objetivo era poneros en contacto con el tipo de preguntas que se espera que podáis resolver de esta primera parte que os sirva un poco para animaros a pegar una lectura si veis que algunas cosas os podrían pillar y bueno y esto es todo ¿tenéis alguna consulta? si no hacemos diez minutitos de pausa y continuamos después no hay dudas venga va pues nos ponemos a las siete más o menos siete, siete y dos minutos venga un saludo desconecto, paro la grabación y luego seguimos si en este tiempo de pausa alguien tiene alguna duda etcétera el chat sigue abierto me levantaré a beber un poco de agua