Volver a la portadaTecnología e Ingeniería I · 1º Bach. Ciencias · Cambiar asignaturaEmpezar gratis
BACH1 tecno · Tecnología e Ingeniería I
Sistemas informáticos · Programación textual

Lenguajes de programación

Un programa no es más que un conjunto de instrucciones escritas sin ninguna ambigüedad. Antes de escribir la primera línea de código conviene entender con qué herramienta se está trabajando: qué hace exactamente un lenguaje de programación con lo que escribes, y por qué existen cientos de lenguajes distintos en vez de uno solo.

Del código fuente al programa ejecutable

Código fuente lo escribe la persona Compilador o intérprete Programa ejecutable lo ejecuta la máquina solo el lenguaje máquina (ceros y unos) lo entiende directamente el procesador
Practica★☆☆Sin empezar
Explica con tus palabras qué es un programa y qué es un algoritmo, y pon un ejemplo de «algoritmo» de la vida diaria (una receta, las instrucciones para llegar a tu…

Explica con tus palabras qué es un programa y qué es un algoritmo, y pon un ejemplo de «algoritmo» de la vida diaria (una receta, las instrucciones para llegar a tu casa...) identificando sus pasos.

Resolver
Practica★☆☆Sin empezar
Un lenguaje natural (como el castellano) admite frases ambiguas, pero un lenguaje de programación no. Explica qué significa esto y por qué es imprescindible que las…

Un lenguaje natural (como el castellano) admite frases ambiguas, pero un lenguaje de programación no. Explica qué significa esto y por qué es imprescindible que las instrucciones de un programa tengan una única interpretación posible.

Resolver
Practica★☆☆Sin empezar
La figura muestra la cadena que convierte lo que escribe una persona programadora en algo que el ordenador puede ejecutar, pero el elemento central está tapado con un…

La figura muestra la cadena que convierte lo que escribe una persona programadora en algo que el ordenador puede ejecutar, pero el elemento central está tapado con un signo de interrogación, como se muestra en la figura.

Código fuente lo escribe la persona ? Programa ejecutable lo ejecuta la máquina

Indica qué elemento falta en la cadena, explica qué dos tipos de herramientas pueden ocupar ese lugar (compilador e intérprete) y describe en qué se diferencia cada una.

Resolver
Practica★☆☆Sin empezar
Explica qué es la sintaxis de un lenguaje de programación y por qué un simple paréntesis de menos impide ejecutar el programa, mientras que en un texto en castellano una…

Explica qué es la sintaxis de un lenguaje de programación y por qué un simple paréntesis de menos impide ejecutar el programa, mientras que en un texto en castellano una falta de ortografía no impide entenderlo.

Resolver

Compilados e interpretados

Compilado traduce todo antes de ejecutar errores detectados al compilar ejecución rápida ejemplo: C, C++ Interpretado traduce y ejecuta línea a línea errores detectados al ejecutar ejecución más lenta ejemplo: Python
Practica★★☆Sin empezar
Explica la diferencia entre un lenguaje compilado y uno interpretado: qué ocurre con el código fuente en cada caso, cuándo se detectan los errores y qué necesita el…

Explica la diferencia entre un lenguaje compilado y uno interpretado: qué ocurre con el código fuente en cada caso, cuándo se detectan los errores y qué necesita el usuario final para ejecutar el programa. Pon un ejemplo de lenguaje de cada tipo.

Resolver
Practica★★☆Sin empezar
Con un lenguaje compilado se genera un ejecutable; con uno interpretado hace falta el intérprete instalado. Analiza qué diferencia hay para el usuario final de cada…

Con un lenguaje compilado se genera un ejecutable; con uno interpretado hace falta el intérprete instalado. Analiza qué diferencia hay para el usuario final de cada programa (qué debe instalar, en qué sistemas funcionará) y qué diferencia hay para la persona que desarrolla (ciclo de escribir-probar).

Resolver
Practica★★★Sin empezar
Un lenguaje de alto nivel interpretado suele ser más cómodo de escribir pero más lento en ejecución que uno compilado de bajo nivel. Analiza este compromiso y decide qué…

Un lenguaje de alto nivel interpretado suele ser más cómodo de escribir pero más lento en ejecución que uno compilado de bajo nivel. Analiza este compromiso y decide qué tipo de lenguaje elegirías para: (a) el control de un airbag, (b) un prototipo de app para probar una idea, (c) un videojuego con gráficos exigentes. Justifica cada decisión.

Resolver
Practica★★★Sin empezar
Algunos lenguajes compilan a un código intermedio (bytecode) que ejecuta una máquina virtual. Explica qué ventaja de portabilidad aporta ese enfoque («compila una vez,…

Algunos lenguajes compilan a un código intermedio (bytecode) que ejecuta una máquina virtual. Explica qué ventaja de portabilidad aporta ese enfoque («compila una vez, ejecuta en cualquier sistema que tenga la máquina virtual») y qué coste tiene (una capa más entre el programa y la máquina real).

Resolver

Tipado y paradigmas

Practica★★☆Sin empezar
Los lenguajes se agrupan también por paradigmas (imperativo, orientado a objetos, funcional...). Explica brevemente en qué consiste la programación orientada a objetos y…

Los lenguajes se agrupan también por paradigmas (imperativo, orientado a objetos, funcional...). Explica brevemente en qué consiste la programación orientada a objetos y razona por qué resulta útil cuando un programa modela cosas del mundo real (alumnos, cuentas, vehículos...).

Resolver
Practica★★☆Sin empezar
En algunos lenguajes, sumar un número con un texto produce un error antes de ejecutar el programa; en otros, el error aparece solo si se ejecuta esa línea. Explica qué…

En algunos lenguajes, sumar un número con un texto produce un error antes de ejecutar el programa; en otros, el error aparece solo si se ejecuta esa línea. Explica qué es el tipado de un lenguaje (estático o dinámico) y qué ventaja tiene detectar esos errores cuanto antes.

Resolver
Practica★★☆Sin empezar
HTML organiza el contenido de las páginas web, pero no se considera un lenguaje de programación completo. Explica qué diferencia hay entre un lenguaje de marcado y uno…

HTML organiza el contenido de las páginas web, pero no se considera un lenguaje de programación completo. Explica qué diferencia hay entre un lenguaje de marcado y uno de programación (¿se pueden expresar decisiones y repeticiones?) y qué lenguaje suele acompañar a HTML para aportar la lógica.

Resolver
Practica★★★Sin empezar
Los lenguajes recientes tienden a ser más «seguros»: gestionan la memoria automáticamente o son más estrictos con los tipos de datos. Analiza qué problemas históricos de…

Los lenguajes recientes tienden a ser más «seguros»: gestionan la memoria automáticamente o son más estrictos con los tipos de datos. Analiza qué problemas históricos de los lenguajes antiguos resuelven esas características (fugas de memoria, errores al manipular datos) y qué se pierde a cambio (control fino sobre la máquina).

Resolver

Herramientas, bibliotecas y código abierto

Código abierto código público se puede estudiar y adaptar Plataforma propietaria código cerrado depende de un único fabricante
Practica★☆☆Sin empezar
¿Qué es un entorno de desarrollo (IDE)? Nombra dos ayudas que ofrece a quien programa (coloreado de sintaxis, detección de errores al escribir, ejecución integrada) y…

¿Qué es un entorno de desarrollo (IDE)? Nombra dos ayudas que ofrece a quien programa (coloreado de sintaxis, detección de errores al escribir, ejecución integrada) y explica cada una en una frase.

Resolver
Practica★★☆Sin empezar
Las bibliotecas (o librerías) son colecciones de código ya hecho que un programa puede usar. Explica por qué «no reinventar la rueda» es una buena práctica, con un…

Las bibliotecas (o librerías) son colecciones de código ya hecho que un programa puede usar. Explica por qué «no reinventar la rueda» es una buena práctica, con un ejemplo (librería de gráficos, de conexión a bases de datos), y un cuidado que hay que tener al usar bibliotecas de terceros.

Resolver
Practica★★★Sin empezar
Investiga qué significa que un lenguaje y sus herramientas sean de código abierto. Analiza qué ventajas aporta a quien aprende a programar y a una pequeña empresa, y qué…

Investiga qué significa que un lenguaje y sus herramientas sean de código abierto. Analiza qué ventajas aporta a quien aprende a programar y a una pequeña empresa, y qué diferencias hay frente a depender de una plataforma propietaria.

Resolver
Practica★★★Sin empezar
Copiar código de internet sin entenderlo es un error frecuente de principiante. Analiza dos riesgos concretos (errores ocultos que no sabrás corregir, código inseguro o…

Copiar código de internet sin entenderlo es un error frecuente de principiante. Analiza dos riesgos concretos (errores ocultos que no sabrás corregir, código inseguro o con funciones inesperadas) y describe una buena práctica para aprovechar código ajeno de forma responsable (leerlo, probarlo, adaptarlo, citarlo).

Resolver

Elegir el lenguaje adecuado

Datos bibliotecas de análisis prioridad: ecosistema Videojuego 3D lenguaje compilado prioridad: rendimiento Web interactiva se ejecuta en el navegador prioridad: plataforma
Practica★☆☆Sin empezar
Compara programar con bloques (como Scratch) y programar con texto: da una ventaja de cada enfoque para aprender y un motivo por el que los proyectos grandes se acaban…

Compara programar con bloques (como Scratch) y programar con texto: da una ventaja de cada enfoque para aprender y un motivo por el que los proyectos grandes se acaban escribiendo en texto.

Resolver
Practica★☆☆Sin empezar
Explica qué es el código fuente de un programa, quién lo escribe y qué tiene que ocurrir con él antes de que el ordenador pueda ejecutarlo (traducirlo a lenguaje…

Explica qué es el código fuente de un programa, quién lo escribe y qué tiene que ocurrir con él antes de que el ordenador pueda ejecutarlo (traducirlo a lenguaje máquina).

Resolver
Practica★☆☆Sin empezar
Nombra tres lenguajes de programación diferentes y una aplicación o ámbito típico de cada uno (páginas web, análisis de datos, videojuegos, sistemas, apps...).

Nombra tres lenguajes de programación diferentes y una aplicación o ámbito típico de cada uno (páginas web, análisis de datos, videojuegos, sistemas, apps...).

Resolver
Practica★★☆Sin empezar
Tu clase debe elegir un lenguaje para desarrollar una pequeña aplicación de gestión del club de lectura. Nombra y explica tres características del lenguaje que…

Tu clase debe elegir un lenguaje para desarrollar una pequeña aplicación de gestión del club de lectura. Nombra y explica tres características del lenguaje que valorarías antes de decidir (facilidad de aprendizaje, bibliotecas disponibles, comunidad, rendimiento, plataforma de destino...) y justifica cuál priorizarías en este caso concreto.

Resolver
Practica★★☆Sin empezar
Elige y justifica un lenguaje para cada proyecto: (a) analizar las notas de todo el instituto y generar gráficos, (b) un videojuego 3D con grandes exigencias de…

Elige y justifica un lenguaje para cada proyecto: (a) analizar las notas de todo el instituto y generar gráficos, (b) un videojuego 3D con grandes exigencias de rendimiento y (c) una página web interactiva que se ejecuta en el navegador. Indica qué criterio ha pesado más en cada elección.

Resolver
Practica★★★Sin empezar
Un mismo algoritmo puede escribirse en decenas de lenguajes distintos. Analiza qué cambia y qué no cambia al traducir un programa de un lenguaje a otro (sintaxis,…

Un mismo algoritmo puede escribirse en decenas de lenguajes distintos. Analiza qué cambia y qué no cambia al traducir un programa de un lenguaje a otro (sintaxis, estructuras, lógica, eficiencia), y explica por qué se dice que «aprender a programar es aprender a pensar, no un lenguaje concreto».

Resolver
Practica★★★Sin empezar
Existen cientos de lenguajes de programación y ninguno es «el mejor» para todo. Analiza qué criterios entran en conflicto al diseñar o elegir un lenguaje (velocidad de…

Existen cientos de lenguajes de programación y ninguno es «el mejor» para todo. Analiza qué criterios entran en conflicto al diseñar o elegir un lenguaje (velocidad de ejecución frente a facilidad de uso, libertad frente a seguridad) y defiende con un ejemplo por qué conviene conocer más de uno.

Resolver
Practica★★★Sin empezar
Analiza las diferencias prácticas entre un lenguaje con herramientas de código abierto y una plataforma propietaria: qué puedes hacer con el primero (estudiar cómo…

Analiza las diferencias prácticas entre un lenguaje con herramientas de código abierto y una plataforma propietaria: qué puedes hacer con el primero (estudiar cómo funciona, adaptarlo, usarlo sin pagar licencias) y qué riesgos tiene depender del segundo (cambios de precio, abandono del producto).

Resolver

Resumen

Ver todos los ejercicios de este apartado