Cursos gratis con certificado
Mostrando entradas con la etiqueta Computación. Mostrar todas las entradas
Mostrando entradas con la etiqueta Computación. Mostrar todas las entradas

Como empezar a programar en Java. Práctica virtual

Hola Mundo en Java

Como ya comentamos, no es sencillo aprender a programar en Java. En esta práctica inicial, daremos nuestros primeros pasos en este versátil lenguaje de programación.

El lenguaje de programación Java fue publicado en 1995 como un componente fundamental de la plataforma Java de Sun Microsystems. Su sintaxis en gran medida es similar y deriva de C y C++, pero con la diferencia de que C++ puede ser orientado a objetos o no y Java es siempre orientado a objetos, Java es independiente del hardware y sistema operativo, el código máquina de C y C++ se genera para una plataforma concreta y en Java es para la máquina virtual Java (JVM) sin importar la arquitectura del ordenador o computadora y otras muchas diferencias.

Empezaremos creando el clásico de introducción a la programación Hola mundo, que no es difícil, pero antes debemos aprender como llegar ahí y como programamos en Java.

Java requiere ciertas reglas que tenemos que cumplir:

- Punto y coma al final de cada línea de código.

- Hay que tener cuidado con las mayúsculas y minúsculas, ya que en Java se diferencian y además son muy importantes.

- Los bloques de código que forman parte de un método o bucle deben estar iniciados y cerrados con llaves.

Otro aspecto importante es buscarse un buen editor, que nos sintamos familiarizados y a gusto con él. No basta con uno simple, sino que hay que buscar otro más específico para esta tarea, con distintos colores para las palabras claves y comentarios, etc.


Editores de Java

- Editor de MS-DOS: para acceder al editor de MS-DOS de Windows, la ruta es: Inicio → Programas → Accesorios → Símbolo del sistema, una vez ahí escribimos edit y pulsamos Return. Es un editor muy básico

Editores de texto: se puede usar el simple Bloc de notas, pero es preferible elegir alguno más sofisticado, tanto Notepad++, como Sublime Text están muy bien.

- NetBeans: es un entorno de código abierto, libre y gratuito para programar en Java. Tiene paquetes adicionales. Se puede descargar en su página oficial.

- Eclipse: otro entorno de código abierto multiplataforma para programar en Java. Es continuamente mejorado por la comunidad de usuarios. Se puede descargar en su página oficial.

BlueJ: es un entorno integrado de desarrollo para la programación en Java. Está orientado a fines pedagógicos, para enseñar programación orientada a objetos, pero también se puede usar para crear software. Se puede descargar en su página oficial.

Otros entornos de programación Java: como los comerciales JBuilder y JCreateor, y otros más.

Además del editor, necesitamos instalar en nuestro ordenador el Java Development Kit, para compilar los programas. Es un software de ORACLE que proporciona herramientas de desarrollo para crear programas en Java. Los programas más importantes que posee son appletviewer.exe, visor de applets porque un applet no se puede ejecutar directamente con el programa Java; javac.exe, compilador de Java; java.exe, intérprete de Java; y javadoc.exe, genera la documentación de las clases Java de un programa.

Editores online:

Ideone: permite editar código en Java, C++, Pascal, Python, entre otros lenguajes de programación. Se puede hacer directamente en su página oficial, y luego al hacer click en Run, comprueba la compilación con un mensaje de si es correcto o no. Se pueden descargar los códigos en formato adb, archivos de datos, que se puede abrir con un editor de texto.

Tutorials Pointversátil página web, que permite editar, compilar, ejecutar y compartir tus proyectos en la Red, no sólo de Java, sino de otros muchos lenguajes de programación, como C++, Python, PHP, Cobol, HTML, Javascript, YaBasic, etc.

- Browxyeditor, compilador y lanzador (launcher) de Java. Permite ejecutar programas, probarlos, compilarlos, guardarlos, descargarlos y publicar su código.

Code Twistintérprete y compilador de C, C++ y Java. Es muy fácil de utilizar, simplemente hay que introducir el código y éste se compilará.


Introducción

- Introducción: Wikipedia. Java (lenguaje de programación)


Guión de la práctica

- Lectura: Wikilibros. Programación en Java/Primer programa
- Lectura: HTML Point. Nuestro primer programa en Java



En definitiva, la práctica consiste en crear un archivo con texto escrito en lenguaje de programación Java, con algunos de los editores visto anteriormente, valiendo un simple editor de textos; compilar el código fuente, y ejecutar el programa.

En nuestro archivo HolaMundo.java escribiremos:

public class Hello {
  public static void main(String[] args) {
    System.out.println("Hola mundo");
  }
}

O una variante más corta:

public class HolaMundo {
public static void main(String[] args) {
}
}

Vamos a explicar en que consisten estas instrucciones:

- Básicamente, en Java una clase es una colección de datos. Con classcreamos la clase HolaMundo y la hacemos pública con public, quedando public class.

- Las llaves ({}): en Java, las llaves determinan el contenido de lo que se encierra entre ellas, que puede ser una clase, una función, una estructura, etc. La segunda línea es una llave abierta que indica el contenido de la clase HolaMundo, que sólo tiene un método. La llave cerrada se la última línea indica el fin de contenido de esta clase. Nótese que las llaves van por parejas, y pueden ir al fin o a la siguiente línea, aunque en esto último hay distintas opiniones.

- Todo programa en Java necesita una función o método, para establecer el inicio del programa, llamada main(). El método main en Java establece donde comienza la ejecución de un programa y va siempre en minúsculasmain() define una función, o método, public pública y static estática.

- La palabra static define las propiedades o métodos de una clase, que en este caso es HolaMundo.

args son los argumentos de un array, en Java. Un array es un objeto, definido como una variable o atributo, que siempre lleva un par de corchetes [] para indicar que es un array. String[] args define un vector de cadenas de caracteres que recoge los argumentos anteriores en la ejecución del programa HolaMundo.

- El tipo de dato void indica a la función o método, que no devuelva parámetros.

Si la práctica se ha realizado correctamente, se deberá ver el mensaje de Hola Mundo, tal como lo muestra Nuno Troitiño en Barrera Científica.




Introducción a la Programación
Leer más

El lenguaje de programación Java: fundamentos y elementos


Java es uno de los lenguajes de programación más usados, ya que tiene numerosas ventajas; es un lenguaje orientado a objetos, multiplataforma, y se puede ejecutar en cualquier dispositivo. Las applet Java son programas que incrustan en otras aplicaciones, como una página web.

Java, como lenguaje de programación, no es fácil de aprender. Y todos los recursos, como profesores, cursos, vídeos, tutoriales, son pocos. Este post es sólo una introducción que demuestra la complejidad, pero también las enormes posibilidades de este potente lenguaje de programación.

La primera característica de un programa en Java es que ha de definir una Clase, con el mismo nombre del archivo fuente, y que empiece, por convención, en mayúscula. Para definir una clase usamos el término class. Dos clases nunca pueden llevar el mismo nombre. Mediante las librerías o packages se organiza el código del programa, llevando cada librería varias clases. La variable classpath indica donde están las clases/librerías. Los calificadores permiten o niegan el acceso a ciertos segmentos del programa.

Las variables son nombres asociados a una parte de la memoria del ordenador, donde se guarda el valor que se ha asignado a dicha variable. Los constructores son métodos especiales para inicializar valores en instancias de objetos. Los métodos son conjuntos de instrucciones definidas en una clase que realizan una determinada tarea. Los comentarios son frases que se introducen que explican el código fuente. Cualquier palabra colocada entre los signos /* y */ es considerada comentario, al igual que todo renglón que se inicie con //.

Las herencias es algo característico de los lenguajes de programación orientados a objetos. Las herencias permiten reutilizar Clases existentes con todas las funcionalidades que tuvieran. Las condicionales son características de los lenguajes de programación; en Java, las principales son if/else, while y for. Los ciclos también son característicos; en Java son for y while.

Los operadores pueden ser matemáticos (suma, resta, multiplicación, etc), relacionales (mayor que, menor que, etc.) o lógicos (O, Y, negación). Al compilar un programa es cuando pueden aparecer los errores, pero en Java es posible encontrarlos al momento de su ejecución, ya que para este fin se han diseñado mecanismos.

Los arreglos son mecanismos para agrupar datos en conjunto. Por el polimorfismo, un objeto puede adoptar distintas formas. Para prohibir en Java el uso de métodos en Clases Base se usa abstract, restringiendo que éste sea llamado directamente. Una Clase abstracta debe definir los mismos métodos de la Clase base. Una Clase abstracta llevada al extremo es una interfase.

Existen muchos más elementos en Java, entre ellos citaremos las collections, estructuras de datos para agrupar objetos; los threads, que permiten fragmentar la ejecución de un programa en varios subprocesos; el garbage collection limpia instancias, objetos, que han dejado de ser utilizadas en un programa; y el assertion o aseveración, mecanismo de lenguajes de programación para garantizar el cumplimiento de ciertas normas al ejecutar un programa.


1. El lenguaje de programación Java

- Lectura: Wikipedia. Java (lenguaje de programación) (Filosofía, Sintaxis, Entornos de funcionamiento)




2. Composición, clases y librerías

- Lectura: Ósmosis latina. Curso de Java básico. Composición, Clases y Librerías



3. Variables, constructores, métodos y comentarios

- Lectura: Ósmosis latina. Curso de Java básico. Variables, constructores, métodos y comentarios



4. Herencias, condicionales y ciclos

- Lectura: Ósmosis latina. Curso de Java básico. Herencias, condicionales y ciclos



5. Operadores, errores y datos de entrada

- Lectura: Ósmosis latina. Curso de Java básico. Operadores, errores y datos de entrada



6. Interfases, arreglos y polimorfismo

- Lectura: Ósmosis latina. Curso de Java básico. Interfases, arreglos y polimorfismo



7. Otros elementos

- Lectura: Ósmosis latina. Curso de Java básico. Collections Framework, "Threads", Garbage Collection y "Assertions"




Para saber más y ampliar conocimientos

- Curso: OCW-Carlos III. Aprenda Java como si estuviera en primero
- Curso: OCW-UNICAN. Programación en Lenguaje Java
- Curso: OCW-UPM. Programación en Java I
- Curso: Programación Java. Aprende a programar con Java desde cero
- Lectura: UPV-EHU. Los elementos del lenguaje Java


Introducción a la Programación
Leer más

Creación de un diagrama de flujo. Práctica virtual

Diagrama de flujo

Crear un buen programa informático no es tarea sencilla. El código ha de estar muy bien escrito y el número de caracteres puede ser enorme, superando incluso al de una novela muy larga, con el agravante que un error ortográfico en una novela no impide la lectura del resto, pero en un programa un error puede impedir su correcta ejecución.

En un estudio realizado en 50.000 proyectos por el Standish Group, en distintos años, se puede concluir que sólo el 25-30 % eran completamente correctos, y el 70-75  % restante eran problemáticos o fueron cancelados.

Antes de empezar a escribir el código, es preciso tener una idea muy clara de lo que se quiere hacer y como se quiere que el programa funcione. Para ello es enormemente útil crear un diagrama de flujo.

Un diagrama de flujo es la representación gráfica de un proceso o algoritmo, que muestra la relación secuencial de sus actividades. Un algoritmo es una serie de instrucciones bien definidas y ordenadas que permiten realizar una actividad mediante pasos sucesivos.

Una idea idea muy clara del programa, mostrada en un diagrama de flujo, ayudará a evitar errores a la hora de escribir su código, ya que no generará dudas a la ahora de crear sus instrucciones.


Introducción

- Lectura: Wikipedia. Diagrama de flujo


Guión de la práctica

De las fases de creación y desarrollo de un programa informático, la del análisis es la primera, y dentro de ella, el primer paso sería la creación de un diagrama de flujo.

Por tanto, en primer lugar, esbozaremos una idea de programa informático. Si no nos viene nada a la cabeza, es tan fácil como pensar en una necesidad. Detrás de la necesidad de un usuario, existe una idea de programa. 

La comunicación del usuario con el analista es fundamental para que este conozca claramente las necesidades que necesita la aplicación.

Una vez que tenemos la idea, crearemos el diagrama de flujo. La forma de hacerlo se puede consultar en la siguiente dirección:


Este se puede crear a mano o con la ayuda de herramientas, programas o aplicaciones on line, como Visio, Draw u otras, que se pueden consultar en la siguiente web:



Preguntas y actividades

1. ¿Con qué editores de texto se pueden crear diagramas de flujo? ¿Se pueden crear con otros programas? (CAD, dibujo, etc.).

2. Buscar en Internet alguna otra herramienta más para crear diagramas de flujo.

3. ¿Un buen diagrama de flujo garantiza un buen programa? Razonar o debatir la respuesta.


Introducción a la Programación
Leer más

Introducción a la programación orientada a objetos

Entrada de datos en Java

La programación orientada a objetos es un tipo de lenguaje de programación que usa objetos para diseñar aplicaciones y programas informáticos. Por lo tanto, antes de entrar en contenido, es preciso definir claramente lo que es programación orientada a objetos.

Un objeto es una unidad en un programa, que posee tres características: estado, comportamiento e identidad. El estado es el conjunto de atributos y valores en un momento concreto. El comportamiento se relaciona con su función y determina las operaciones que puede realizar o a las que puede responder ante mensajes mandados por otros objetos. La propiedad de la identidad permite diferenciar a un objeto, distinguiéndolo de otros y dándolo nombre.

En la visión tradicional de la programación, un programa es una serie de subrutinas (funciones o procedimientos), o sea, una serie de instrucciones para el ordenador o computadora. Se crearía entonces un procedimiento, una estructura de datos para el procedimiento y luego unas instrucciones para llevarlo a cabo. Los datos y los procedimientos están separados. Se procesan unos datos de entrada para obtener unos datos de salida.

En cambio, en la programación orientada a objetos, se definen objetos, para luego enviarlos mensajes para que los mismos hagan sus métodos. Se escriben funciones que procesan datos.

Los inicios de la programación orientada a objetos se sitúan en la década de los 70s del siglo XX, desarrollándose progresivamente en los años 80 gracias a las interfaces gráficas de usuario, que son útiles en este aspecto.

Las características de los objetos fueron añadiendose a lenguajes de programación existentes, como Pascal o Basic, pero se daban problemas de compatibilidad, por lo que se crearon nuevos lenguajes de programación, ya orientados a objetos.

C era un lenguaje de programación muy flexible destinado a sistemas operativos. A mediados de la década de los ochenta le fueron añadidos mecanismos destinados a la manipulación de objetos, creándose el lenguaje C++, desarrollado por Bjarne Stroustrup.

Java es un lenguaje de programación orientado a objetos desde sus inicios y siendo destinado a cualquier tipo de dispositivos. En sus orígenes fue desarrollado por James Gosling de Sun Microsystems, compañía que fue adquirida por Oracle. Hoy día tiene licencia pública, siendo su uso, modificación y desarollado autorizado a cualquier persona. La máquina virtual Java permite ejecutar sus programas, sin importar la arquitectura del ordenador o computadora.

Actualmente, otro lenguaje de programación orientada a objetos, que está adquiriendo popularidad y desarrollo es Python, cuyo objetivo es una sintaxis con un código legible, además de ser multiplataforma. Es administrado por la Python Software Foundation, siendo también de código abierto.


1. Programación orientada a objetos

- Lectura: Desarrollo Web. Tipos de programación
- Lectura: Wikipedia. Programación orientada a objetos



2. Conceptos fundamentales

- Lectura: Wikipedia. Objeto (programación)



Introducción a la Programación
Leer más

Sistema de numeración binaria. Práctica virtual

Numeración binaria

El sistema de números que utilizamos es el sistema decimal, en el que las cantidades usan como base aritmética las potencias del número diez. Se piensa que se originó porque tenemos diez dedos en las manos. Es el usado en el mundo, exceptuando ciertas culturas, como los antiguos mayas.

En cuanto a los símbolos, en el mundo occidental en la Antigüedad se usó el sistema romano (y aún se usa en ámbitos formales y solemnes) pero no posibilitó el desarrollo de las matemáticas por la dificultad de las operaciones complejas y la ausencia del número 0. Fue sustituido por el sistema arábigo, surgido en la India e introducido por los árabes.

Hasta el siglo XIX, Bacon y Leibniz trataron el sistema binario, pero sin aplicaciones prácticas. A mediados del siglo XIX, George Boole crea un sistema lógico llamado Álgebra de Boole, que muchos años más tarde resultaría ser esencial en el desarrollo de la electrónica.

Pero sería con el desarrollo de la Informática y los computadores cuando el sistema binario adquiriría su importancia. Un sistema informático o de computación es un sistema electrónico en el que se trabaja con dos niveles de voltaje, encendido y apagado, encendido es 1 y apagado es 0. Por tanto, la numeración que usan los ordenadores es la numeración binaria, y por es esta razón es importante conocer su fundamento.


Introducción

- Lectura: Wikipedia. Sistema binario


Guión de la práctica

El objetivo de la práctica es familiarizar con el sistema binario, respondiendo a una serie de ejercicios. En el primero se aprenderá como se convierte un número de decimal a binario de forma manual y en los siguientes se realizarán operaciones de cierta complejidad de manera más automatizada.

1. Convertir el número 156 en binario de forma manual.

2. Convertir los números 26 y 3 en binario, realizar las siguientes operaciones 26 + 3, 26 - 3, 26 x 3 y 26 /3, en forma manual.

Acceder a la siguiente calculadora online que convierte números de decimal a binario y viceversa:


3. Realizar la siguiente operación de números binarios: 1111010101 x 1101011110 x 1111111100, dando el resultado en binario. Para ello transformar los número a sistema decimal, hacer la operación en el mismo y pasar el resultado a sistema binario.

Acceder a calculadoras binarias online, para realizar operaciones complejas en binario. Se pueden utilizar los siguientes enlaces:





4. Realizar las siguientes operaciones: 10101101010101 + 111110100001, y 11101010101011 - 10000111010

5. Realizar las siguientes operaciones: 1011111110111 * 11111100, y 101111000010101 / 10111100


Solución de los ejercicios propuestos

Se puede consultar la solución de los ejercicios propuestos en la siguiente entrada:



Preguntas y actividades

1.- Crear y realizar operaciones en sistema binario. Para comprobar la solución, transformar los números a decimal.

2.- La operación manual con números binarios en que es más fácil equivocarse en la resta o sustracción. Practicar hasta dominarla. Además del vídeo que aparece en la solución, se puede ver este otro.

3.- Dada la facilidad de equivocación en la resta de números binarios, otra posibilidad es usar el complemento a dos, transformando la resta en una suma. Consultar este enlace.de operaciones en complemento a 2.


Introducción a la Programación
Leer más

Sistema de numeración binaria. Práctica virtual. Solución de los ejercicios propuestos

Numeración binaria

Solución de los ejercicios propuestos en la práctica virtual Sistema de numeración binaria.


1. Convertir el número 156 en binario de forma manual

156 dividido entre 2 da 78 y el resto es igual a 0
78 dividido entre 2 da 39 y el resto es igual a 0
39 dividido entre 2 da 19 y el resto es igual a 1
19 dividido entre 2 da 9  y el resto es igual a 1
9 dividido entre 2 da 4  y el resto es igual a 1
4 dividido entre 2 da 2  y el resto es igual a 0
2 dividido entre 2 da 1  y el resto es igual a 0
1 dividido entre 2 da 0  y el resto es igual a 1

Ordenando los restos, del último al primero, tenemos el número binario: 10011100


2. Convertir los números 26 y 3 en binario, realizar las siguientes operaciones 26 + 3, 26 - 3, 26 x 3 y 26 / 3, en forma manual.


Convertir los números en binario

26 dividido entre 2 da 13 y el resto es igual a 0
13 dividido entre 2 da 6 y el resto es igual a 1
6 dividido entre 2 da 3 y el resto es igual a 0
3 dividido entre 2 da 1  y el resto es igual a 1
1 dividido entre 2 da 0  y el resto es igual a 1

Ordenando los restos, del último al primero, tenemos el número binario: 11010

3 dividido entre 2 da 1  y el resto es igual a 1
1 dividido entre 2 da 0  y el resto es igual a 1

Ordenando los restos, del último al primero, tenemos el número binario: 11


26 + 3:

Las combinaciones al sumar dos bits son

- 0 + 0 = 0
- 0 + 1 = 1
- 1 + 0 = 1
- 1 + 1 = 10

Empezamos a sumar desde la derecha, 0 + 1 = 1; siguiente 1 + 1 = 10, escribiendo 0 en la fila del resultado y llevamos 1 (este "1" se llama  arrastre) y se suma el arrastre a la siguiente columna: 1 + 0 = 1, terminando con 11:

    11010
+        11
---------
    11101


26 - 3:

Las restas básicas son:

0 - 0 = 0
1 - 0 = 1
1 - 1 = 0
0 - 1 =  1, no cabe o se pide prestado al próximo

Para que los dos números binarios que intervienen tengan las misma cifras se añaden ceros a la izquierda del menor.

La resta 0 - 1 se resuelve, como en el sistema decimal, tomando una unidad prestada de la siguiente posición: 10 - 1 = 1 y me llevo 1, lo que equivale en decimal, 2 - 1 = 1. Esta unidad prestada debe devolverse, sumándola, a la posición siguiente.

Segunda posición: esta al ser 1 - 1 = 0, como tenemos que arrastrar  es como si empezaramos colocando el 1 del arrastre antes de ellos, así 1 -1 = 0, 0 -1 = 1... y continuamos arrastrando el 1 (en Hispanoamérica también lo llaman acarreo).

Tercera posición, colocamos el 1 antes de los dos ceros, y sería 0 -1 = 1, 1 - 0 = 1... y sigue el arrastre.

Cuarta posición, colocamos el 1 del arrastre por encima, 1 -1 = 0, y 0 - 0 = 1. Y ya no arrastramos, ya que no sobra. Quinta posición, sin problema, 1 - 0 = 1.

   11010
-  00011
---------
   10111

En este vídeo, lo podemos ver bien explicado:



26 x 3

La multiplicación es más sencilla, ya que se asemeja a la del sistema decimal, ya que el 0 multiplicado por cualquier número da 0, y el 1 es el elemento neutro del producto.

                   11010
                x       11
                ---------
                   11010
                 11010
                ---------
               1001110

26 / 3


La división en sistema binario es parecida a la decimal, pero a la hora de hacer las restas de la división se harán en binario.

     11010  / 11
                 -----
    -11          1000
    ------
     000
  -   00
   ------
     0001
   -    00
    ------
     0010
    -   00
    ------
        10

Como vemos 26 entre 3 da 1000 en binario, que en decimal es 8, y como resto da 10 en binario, que en decimal es 2.


3. Realizar la siguiente operación de números binarios: 1111010101 x 1101011110 x 1111111100, dando el resultado en binario. Para ello transformar los número a sistema decimal, hacer la operación en el mismo y pasar el resultado a sistema binario.

Los números en sistema decimal son los siguientes:

- 1111010101 = 981

- 1101011110 = 862

- 1111111100 = 1020

Luego la operación es 981 * 862 * 1020 = 862534440, que en binario es 110011011010010011101100101000


4. Realizar las siguientes operaciones: 10101101010101 + 111110100001, y 11101010101011 - 10000111010

 - 10101101010101 + 111110100001 = 11101011110110

- 11101010101011 - 10000111010 = 011011001110001


5. Realizar las siguientes operaciones: 1011111110111 * 11111100, y 101111000010101 / 10111100

- 1011111110111 * 11111100 = 101111001011100100100

- 101111000010101 / 10111100 = 10000000, resto = 010101


Sistema de numeración binaria. Práctica virtual
Leer más

Hardware, software y sistemas operativos. Práctica virtual

Ordenador o computadora

En un sistema informático o de computación, el hardware es la parte física, que se puede tocar, sería el ordenador o computadora y los periféricos; el software serían los programas usados por ese sistema informático, y el sistema operativo sería el sistema informático que gestiona el hardware y el software. El sistema operativo tiene privilegios sobre el resto de los programas.

Esta práctica es elemental e introductoria para tener una base sobre la que aprender unos conceptos básicos de Informática y programación.


Introducción

- Lectura: Wikipedia. Hardware
- Lectura: Wikipedia. Software
- Lectura: Wikipedia. Sistemas operativos
- Vídeo: MentorEnLínea. Definición de hardware y software
- Lectura: Wikipedia. Sistemas operativos
- Vídeo: Morelvyn Guerrero Nova. Historia y evolucion de los sistemas operativos


Guión de la práctica

Se toma el ordenador habitualmente utilizado o cualquier otro al que se tenga acceso, realizando el siguiente cuestionario:

Hardware:

- Marca y modelo
- Procesador (Tipo y velocidad de reloj)
- Memoria RAM (en Megabytes o Gigabytes)
- Nombre lógico (A:, B:, C:,…), tipo (unidad de disco flexible, duro, CD-ROM…) y tamaño de almacenamiento de las unidades de disco (en Megabytes o Gigabytes)
- Indicar todos los dispositivos de entrada de datos
- Indicar todos los dispositivos de salida

Software:

- Indicar cinco aplicaciones instaladas en el disco duro del ordenador
- Indicar unidad de disco y carpetas de instalación de las aplicaciones anteriores

Sistema operativo

- Sistema operativo instalado y versión


Preguntas y actividades

1.- Comparar las características del hardware con otro que se venda en la actualidad (se puede realizar una búsqueda en Internet).

2.- Comprobar el espacio libre y el espacio que ocupan las aplicaciones instaladas.

3.- ¿Cómo se desinstala adecuadamente una aplicación?.

4.- Comparar el sistema operativo con otros anteriores que se utilizaron. Puede ser interesante acceder a esta web (en inglés): 7 sistemas operativos que puedes ejecutar en un navegador.

5.- ¿Cómo se comprueban en el sistema operativo las características del hardware?


Nota de humor
Humor - Big smile
Windows 93 es una web que simula un sistema operativo que nunca existió, el Windows 93, que nos recrea los antiguos sistemas operativos de Windows de principios de los 90. Eso sí, en clave de humor.



Para saber más y ampliar conocimientos



Leer más

Conceptos y técnicas básicas en programación

Código de programa

Un dato es una cifra, letra o palabra que se introduce en un ordenador, como entrada y almacenamiento. Los datos, al estar codificados electronicamente en formato binario en ceros y unos, tienen como la unidad mínima de información el bit (0 ó 1), pero al ser una unidad muy pequeña, se emplea el byte, que es una secuencia de ocho bits. Como un bit puede tomar 2 valores distintos y un byte son 8 bits, un byte podrá tener 28 valores, es decir, 256 valores.

La lógica booleana o álgebra de Boole, creada a mediados del siglo XIX por George Boole, matemático autodidacta, usa técnicas algebraicas para para tratar expresiones de la lógica proposicional. Es fundamental en Informática ya que esquematiza operaciones lógicas.

Los archivos son estructuras de datos que residen en la memoria, pudiendo ser de datos o de programas. Los datos pueden ser numéricos o alfanuméricos.

Las expresiones son fundamentales en la programación ya que permiten realizar una o varias operaciones en un dato o en varios datos, obteniéndose como resultado otro dato. Una expresión consta de operandos, los datos sobre los que se actúa, y operadores, que definen la operación que se realiza en una expresión.

Los operadores pueden ser algebraicos, relacionales o lógicos. Los operadores algebraicos pueden ser de asignación, que asignan valores; y aritméticos, que operan sobre valores de tipo entero o real. Los operadores relacionales, que establecen una relación o comparación entre valores. Finalmente, los operadores lógicos o booleanos actúan mediante operaciones lógicas.

Un algoritmo es una serie de instrucciones u ordenes bien definidas que no dan lugar a dudas, que partiendo de un estado inicial, permiten llegar a un estado final y solución, mediante pasos sucesivos. Se pueden expresar mediante lenguaje natural, que tiende a ser ambiguo y extenso; pseudocódigo, mezcla de lenguaje natural y convenciones sintácticas propias de lenguajes de programación; diagramas de flujo, descripciones gráficas de algoritmos, o lenguajes de programación, lenguaje formal para computadoras.

La iteración usa bucles, que son códigos que se repiten una y otra vez, mientras la recursión o recursividad es un código que se llama a sí mismo. La diferencia entre ellos es que la iteración se basa en la repetición y finaliza cuando la condición de continuación del ciclo es falsa, mientras la recursión usa una estructura de selección y finaliza cuando se identifica el caso base. Ambas pueden ejecutarse infinitamente si no finalizan. La solución recursiva generalmente es más lenta y usa más memoria, pero en determinadas ocasiones es más sencillo escribir la versión recursiva.

En muchas aplicaciones informáticas se guardan listas de datos, se puede acceder a los mismos de forma secuencial, para acceder a uno hay que pasar por los anteriores; o de forma directa, se accede al deseado a través de un índice. Una secuencia es una colección de objetos de un tipo, en la que se dispone de acceso secuencial. En una secuencia, la parte izquierda representa los elementos ya leídos y la derecha los elementos por leer.

Una tabla es una colección de objetos en los que se dispone de acceso directo, indentificándose cada elemento a través de un índice. En una tabla es preciso indicar su nombre, el rango de valores del índice y el tipo de elemento de cada casilla de la tabla. Para hacer búsquedas con eficiencia, es necesario ordenar los elementos almacenados de una tabla, teniendo una relación de orden definida; para ello existen distintos algoritmos de ordenación


1. Datos, expresiones y operadores

- Lectura: OCW-UPM. Fundamentos de Programación: Introducción (pdf) (epígrafes 1.7. Codificación de la información y representación de datos y 1.8. Lógica booleana, págs. 10-17)
- Lectura: OCW-UPM. Fundamentos de Programación: Expresiones y operadores (pdf)
- Presentación: Claudia Gutierrez. Tipos De Datos y Expresiones (Prezi)
- Vídeo: DesarrolloWeb. Variables y tipos de datos
- Vídeo: Juan Cuenca. Fundamentos de programación -7- Expresiones
- Vídeo: Escuela de Videojuegos. Tipos de operadores


2. Algoritmos. Estructuras algorítmicas básicas

- Lectura: Wikipedia. Algoritmo
- Lectura: UNICAN (Michael González Harbour y José Luis Montaña Arnáiz). Estructuras algorítmicas básicas (pdf)
- Vídeo: Zyter7 Motovlogs. ¿Que es un algoritmo?


3. Iteración y recursión

- Lectura: UNICAN (Michael González Harbour y José Luis Montaña Arnáiz). Iteración y recursión (pdf)
- Lecturas: Documentos Google. Iteración vs. llamada recursiva
- Vídeo: Irving Bone. ¿Qué es la iteración?
- Vídeo: Codigo Facilito. Recursividad - Curso de Programación Básica "Nunca He Programado" - Parte 13


4. Iteración y recursión sobre secuencias

- Lectura: UNICAN (Michael González Harbour y José Luis Montaña Arnáiz). Iteración y recursión sobre secuencias (pdf)


5. Iteración y recursión sobre tablas

- Lectura: UNICAN (Michael González Harbour y José Luis Montaña Arnáiz). Iteración y recursión sobre tablas (pdf)


Para saber más y ampliar conocimientos

- Curso OCW-UNICAN: Michael González Harbour y José Luis Montaña Arnáiz. Programación I
- Lectura: Wikipedia. Análisis de algoritmos
- Lectura: Wikipedia. Recursión


Introducción a la Programación
Leer más

Introducción a la programación

Lenguajes de programación

Ordenador o computadora es un aparato electrónico que recibe y procesa datos convirtiéndolos en información conveniente y útil. La informática o computación es la ciencia que estudia la trasmisión y procesado de la información a través de medios electrónicos digitales. En América se emplea la palabra computadora o computador, y Computación, palabras que vienen del inglés computer y Computer Science; mientras en España se emplean las palabras ordenador e Informática, que vienen del francés ordinateur e Informatique. El galicismo adoptado por los españoles simplemente responde al dinamismo de una ciencia muy joven con un espectacular desarrollo, teniendo en España sus inicios con muchos profesionales formados en el país vecino. Aunque sería más coherente por su mayor uso en lenguaje español el uso de computadora y computación, una vez adoptada una palabra es difícil cambiarla, aunque este debate carece de importancia, ya que no hay ningún problema para entenderse.

El lenguaje que usa un ordenador está muy lejos del humano, ya en el formato digital sólo se emplea la codificación digital o codificación binaria, los números 0 y 1, que en cadenas extensas se denomina lenguaje máquinacódigo máquina. Los seres humanos no tenemos facilidad para la memorización de números, y mucho menos de largas secuencias de números 0 y 1. Por ello, los primeros operadores informáticos, crearon un lenguaje traductor, el lenguaje ensamblador, para sustituir los números 0 y 1 por palabras, como por ejemplo add (sumar). La codificación binaria, el lenguaje máquina y el lenguaje ensamblador son lenguajes de bajo nivel, que están lejos del lenguaje humano y próximo al de las máquinas.

Se necesitan lenguajes de programación más cercanos al usuario, por ello, a finales de la década de los 50 del siglo XX, se crean un nuevo tipo de lenguajes de programación más cercanos próximos a las necesidades del usuario y del entendimiento humano: los lenguajes de alto nivel. Sus ventajas de uso son evidentes, ya que en vez de manejar conceptos como direcciones de memoria, pilas de llamada o registros, se emplean otros menos maquinísticos, como variables, objetos, subrutinas, bucles, etc. Sin embargo, hay mermas en la eficiencia óptima. Lenguajes de alto nivel son Basic, Pascal, Python, C, C++, etc.

Hay autores que consideran que algunos lenguajes como Basic o C, no deberían ser considerados de alto nivel, ya que permiten el uso de funciones a nivel aritmético, pero a nivel lógico dependen de literales en lenguaje ensamblador. Son lenguajes orientados a procedimientos. Serían lenguajes de medio nivel.

Se denomina hardware a las partes físicas de un sistema informático. Dentro del hardware, tendríamos el procesador que puede ser desde un ordenador o computadora hasta un teléfono móvil o tableta, que al fin y al cabo no dejan de tener la misma función y ser el mismo concepto; y los perífericos, elementos a través de los que se maneja el proceador, entra o sale información, que son teclado, monitor, ratón, impresora, etc.

En el siglo XIX, el matemático e inventor Charles Babbage estableció los principios de la computadora digital moderna y los primeras máquinas son de este siglo. Los primeros ordenadores electrónicos datan de la época de la Segunda Guerra Mundial y funcionaban con válvulas. El transistor se crea a finales de la década de los 50 del siglo XX y el circuito integrado aparece a finales de la década de los 60 del mismo siglo, posibilitando el desarrollo de la electrónica. En la década de los 70 eran grandes máquinas, en los 80 entraron por primera vez en los hogares y empresas, en la década de los 90 se desarrollaron de forma fulgurante, consolidándose a principios del siglo XXI. Hoy día, aparecen nuevos aparatos que hacen las funciones del ordenador, como los teléfonos móviles inteligentes.

El software es el soporte lógico de un sistema informático; sin el mismo, el hardware no podría realizar sus tareas específicas. El software puede ser software de sistema: sistemas operativos y controladores de dispositivos (drivers), software de programación: herramientas para crear programas, y software de aplicación: editores de texto, juegos, software profesional, etc.

Un sistema operativo, abreviadamente SO en español o OS en inglés (Operating System) es un programa o conjunto de programas, en un sistema informático, que gestiona los recursos de hardware, proporcionando operatividad a los programas de aplicación de software, ejecutándose en modo privilegiado respecto de los restantes. En sentido estricto, el el programa o conjunto de programas que hacen posible lo anterior y no entrarían en la definición programas accesorios, aunque se proporcionen con el sistema operativo, como navegadores, utilidades, etc.


1. La programación y los lenguajes de programación. Historia de los lenguajes de programación

- Lectura: Wikipedia. Lenguaje de programación
- Vídeo: Desarrolloweb. Historia y características de los lenguajes de programación


2. Hardware y software

- Lectura: EUM-UCLM. Historia de los ordenadores
- Lectura: Wikipedia. Hardware
- Lectura: Wikipedia. Software
- Vídeo: MentorEnLínea. Definición de hardware y software


3. Sistemas operativos

- Lectura: Wikipedia. Sistemas operativos
- Vídeo: Morelvyn Guerrero Nova. Historia y evolucion de los sistemas operativos


Introducción a la programación
Leer más