• Inicio
    • Recursos
  • Marcado HTML
  • Estilos CSS
  • JavaScript
  • Publicación
  • Prácticas
    • 1ª Evaluación
    • 2ª Evaluación
    • 3ª Evaluación
 
 
Curso 2022/2023 | 2º BACHILLERATO

 Tecnologías de la Información y la Comunicación | TIC-II 

icon html5
icon css3
icon css3


Fundamentos de programación

Desde el año 1642 en que Blaise Pascal, inventó La Pascalina, una máquina que ayudaba a contar mediante unos dispositivos de ruedas, se han sucedido numerosos inventos que han ido evolucionando, a medida que se programaban mediante códigos de máquina, lenguajes ensambladores, hasta llegar a los lenguajes de programación de alto nivel en los que ya no se dependía del hardware de la máquina sino de la capacidad de abstracción del programador y de la sintaxis, semántica y potencia del lenguaje.

El ordenador

Un ordenador (o computadora) es un dispositivo electrónico, utilizado para procesar información y obtener resultados, capaz de ejecutar cálculos y tomar decisiones a velocidades millones o cientos de millones más rápidas que puedan hacerlo los seres humanos. En el sentido más simple una computadora es “un dispositivo” para realizar cálculos o computar.
El término sistema de computadora o simplemente computadora se utiliza para enfatizar que, en realidad, son dos partes distintas: hardware y software. El hardware es la computadora en sí misma. El software es el conjunto de programas que indican a la computadora las tareas que debe realizar.

Los datos y la información se pueden introducir en la computadora por una entrada (input) y a continuación se procesan para producir una salida (output, resultados).

Hoy en día, la mayoría de los programadores emplean lenguajes de programación como Java, C, C++, Python, Visual Basic, HTML, CSS, Perl, PHP, JavaScript..., aunque todavía se utilizan, sobre todo profesionalmente, los clásicos COBOL y Pascal. Estos lenguajes se denominan lenguajes de alto nivel y permiten a los profesionales resolver problemas convirtiendo sus algoritmos en programas escritos en alguno de estos lenguajes de programación.

Lenguajes de programación

Los lenguajes de programación se utilizan para escribir programas. Los programas de las computadoras modernas constan de secuencias de instrucciones que se codifican como secuencias de dígitos numéricos que podrán entender dichas computadoras. El sistema de codificación se conoce como lenguaje máquina que es el lenguaje nativo de una computadora. Desgraciadamente la escritura de programas en lenguaje máquina es una tarea tediosa y difícil ya que sus instrucciones son secuencias de 0 y 1 (patrones de bit, tales como 11110000, 01110011...) que son muy difíciles de recordar y manipular por las personas.

En consecuencia, se necesitan lenguajes de programación “amigables con el programador” que permitan escribir los programas para poder “hablar” con facilidad con las computadoras. Sin embargo, las computadoras sólo entienden las instrucciones en lenguaje máquina, por lo que será preciso traducir los programas resultantes a lenguajes de máquina antes de que puedan ser ejecutadas por ellas.

Cada lenguaje de programación tiene un conjunto o “juego” de instrucciones (acciones u operaciones que debe realizar la máquina) que la computadora podrá entender directamente en su código máquina o bien se traducirán a dicho código máquina. Las instrucciones básicas y comunes en casi todos los lenguajes de programación son:

  • Instrucciones de entrada/salida. Instrucciones de transferencia de información entre dispositivos periféricos y la memoria central, tales como "leer de ..." o bien "escribir en ...".
  • Instrucciones de cálculo. Instrucciones para que la computadora pueda realizar operaciones aritméticas.
  • Instrucciones de control. Instrucciones que modifican la secuencia de la ejecución del programa.

El proceso de traducción de un programa fuente escrito en un lenguaje de alto nivel a un lenguaje máquina comprensible por la computadora, se realiza mediante programas llamados “traductores”. Los traductores de lenguaje son programas que traducen a su vez los programas fuente escritos en lenguajes de alto nivel a código máquina. Los traductores se dividen en compiladores e intérpretes.

Intérpretes

Un intérprete es un traductor que toma un programa fuente, lo traduce y, a continuación, lo ejecuta.
El sistema de traducción consiste en: traducir la primera sentencia del programa a lenguaje máquina, se detiene la traducción, se ejecuta la sentencia; a continuación, se traduce la siguiente sentencia, se detiene la traducción, se ejecuta la sentencia y así sucesivamente hasta terminar el programa. Hoy en día, el intérprete más utilizado es JavaScript (lado del cliente) y Node (lado del servidor). Otros intérpretes destacados son Perl y AJAX.

Compiladores

Un compilador es un programa que traduce los programas fuente escritos en lenguaje de alto nivel a lenguaje máquina.
La traducción del programa completo se realiza en una sola operación denominada compilación del programa; es decir, se traducen todas las instrucciones del programa en un solo bloque. El programa compilado y depurado (eliminados los errores del código fuente) se denomina programa ejecutable porque ya se puede ejecutar directamente y cuantas veces se desee; sólo deberá volver a compilarse de nuevo en el caso de que se modifique alguna instrucción del programa. De este modo el programa ejecutable no necesita del compilador para su ejecución. Los traductores de lenguajes típicos más utilizados son: C, Java, Pascal, Python, etc...

Algoritmo

Es una serie de instrucciones, organizadas de manera lógica y ordenada, que permiten solucionar un determinado problema. Los algoritmos son independientes tanto de los distintos lengujes de programación que existen, como de los diversos tipos de computadoras que hay.

Características fundamentales que debe cumplir todo algoritmo:
  • Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
  • Un algoritmo debe estar bien definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
  • Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea, debe tener un número finito de pasos.
  • La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.

Programa

Es similar a un algoritmo, la diferencia es que los pasos que permiten resolver un problema deben escribirse en un determinado lenguaje de programación, para que el ordenador pueda ejecutarlos y llegar a la solución.

La programación es la rama de la informática que permite crear programas para resolver distintos problemas; para ello es necesario utilizar un software especial denominado, genéricamente, lenguajes de programación.

Creación de un programa

Cuando a un programador se le plantea la necesidad de crear un programa, no se lanza a escribir directamente las instrucciones que solucionan el problema, ya que lo habitual es que el programa necesite 1.000, 5.000, 10.000 o más líneas de código.
La creación de un programa se debe realizar en una serie de fases que deben llevarse de forma secuencial y ordenada:

  1. Análisis del problema: estudio detallado del problema, datos que se necesitan e información que se debe devolver.
  2. Búsqueda del algoritmo: en esta fase se diseña el algoritmo que permita resolver el problema; para ello se utilizan diagramas de flujo (flowchart) y/o pseudocódigo. Un buen algoritmo garantiza, casi siempre, un perfecto funcionamiento del programa.
  3. Codificación (implementación): se escribe, en el lenguaje de programación elegido, el algoritmo anterior. El resultado final será la creación de un archivo con las instrucciones necesarias para resolver el programa.
  4. Ejecución, pruebas y depuración.
  5. Mantenimiento
  • Siguiente

JavaScript

  • Fundamentos de programación
  • Creación de un programa
  • Símbolos de Diagrama de Flujo
  • Ejemplo de template
  • JS: Introducción
  • JS: Sintaxis
  • JS: Variables
  • JS: Tipos de Datos
  • JS: Operadores
  • JS: Funciones
  • JS: Estructuras de Control

Teoría

Guías completas

Guías completas

  • LibrosWeb HTML
  • Vocabulario HTML
  • Guía HTML5 y HTML
  • Guía CSS 2.1 y CSS3
  • Guía JavaScript
  • HTML Reference
  • CSS Reference
Cheat Sheets

Cheat Sheets

html css js

  • HTML CheatSheet
  • CSS CheatSheet
  • JS CheatSheet

Herramientas

Para Código

Para Código

  • Sublime-Text | Ext.
  • Visual Studio Code | Ext ≡
  • Preprocesador: Prepros
  • Editor online: CodePen
Otras ...

Otras ...

  • Cliente - FTP: Filezilla
  • Capturador: PicPick
  • Visor: Sumatra-PDF
  • Acrobat Reader - PDF
  • Compresor: 7zip
  • Reproductor: VLC
  • MathJax - AsciiMath
Portables

Portables

  • Visual Studio Code [Ext]
  • Sublime Text
  • Sumatra PDF
  • Chrome Portable
  • Opera Portable
  • FireFox Portable
Código BASE

Código BASE

  • Template: base1_tareas
  • Template: base2_layout
  • Template: base3_menu
  • Imágenes: HDWallpapers
Hosting

Hosting

  • DriveToWeb [•]
  • Ejemplo
Clases

Clases

CodePen clases

(cc) 3con14, esta obra está bajo licencia
Creative Commons Atribución-No Comercial-Compartir Igual 4.0

  • Inicio
    • Recursos
  • Marcado HTML
  • Estilos CSS
  • JavaScript
  • Publicación
  • Prácticas
    • 1ª Evaluación
    • 2ª Evaluación
    • 3ª Evaluación