T1. Introducción A La Programación
T1. Introducción A La Programación
Algoritmos y programas.
Un algoritmo es una secuencia ordenada de pasos, que funcionan para resolver un
problema. Puede ser expresado en diferentes lenguajes de programación y puede ser
ejecutado en diferentes dispositivos.
Un programa al igual que el algoritmo es una secuencia ordenada de pasos, pero estos
deben de estar escritos en un lenguaje de programación determinado para que se pueda
ejecutar.
Los lenguajes de programación son el medio para expresar el algoritmo.
Un algoritmo debe de tener estas tres características:
- Debe de ser preciso e ir paso a paso.
- Ser definido, debe de obtener el mismo resultado siempre.
- Finito
Para representar un algoritmo de manera gráfica se usan las siguientes técnicas.
- Diagrama de flujo: Se utilizan símbolos gráficos para representar el algoritmo.
Suele utilizarse en la fase del análisis
- Pseudocódigo: Se usan palabras claves, constantes, variables, otros objetos,
instrucciones y estructuras de programación que expresan de forma escrita la
solución del problema.
- Tablas de decisión: Se representan las posibles condiciones del problema con sus
respectivas acciones. Suele ser una técnica de apoyo al pseudocódigo.
Paradigmas de la programación
A. Paradigma de programación es un modelo básico para el diseño y la
implementación de programas.
a. Programación Declarativa: es el desarrollo de programas realizando una
especificación o “declaración” de un conjunto de condiciones, proposiciones,
afirmaciones, restricciones y transformaciones que describen el problema y
detallan su solución. Las sentencias describen el problema que se quiere
solucionar, pero no las instrucciones necesarias para llevarlo a cabo.
Dentro de este paradigma pueden destacarse la programación funcional y la
programación lógica. Como SQL.
i. Funcional: Considera al programa como una función matemática,
donde el dominio representaría el conjunto de todas las entradas
posibles (inputs) y el rango sería el conjunto de todas las salidas
posibles (outputs).
No existe el concepto de variable además el funcionamiento de cada
función es independiente del resto. Como el LISP
ii. Lógica: Se especifica qué hacer y cómo hacerlo. Se utiliza en
inteligencia artificial. Prolog es un ejemplo
b. Programación Imperativa: Es una serie de comandos. Estos comandos
detallan de forma clara y especifica el cómo hacer las cosas y llevarán al
programa a través de distintos estados. Se utilizan variables, tipos de datos,
expresiones y estructuras de control de flujo del programa.
i. Programación convencional: Los programas eran líneas de código
lo que los hacía difíciles de entender. Se basan en instrucciones de
salto (Goto) que modificaban el flujo del programa. un programa era
un único archivo, eran difíciles de mantener y difíciles de representar.
ii. Programación estructurada: soluciona los problemas y las
limitaciones de la programación convencional. Facilita la
modificación, reutilización y lectura del código. Permite el uso de la
programación modular, que agrupa código para la realización de una
determinada tarea. Se pueden utilizar en cualquier parte del programa
y el número de veces que se necesite.
Permite la utilización de diagramas.
iii. Orientada a objetos: Los objetos tienen propiedades y con ellos se
realizan acciones.
Está basada en varias técnicas, incluyendo herencia, abstracción,
polimorfismo y encapsulamiento.
Java, C, C++, PHP usan este método.
iv. Visual, orientada a aspectos, orientada a eventos,...: Son un
conjunto de paradigmas que pueden ser relevantes, aunque gran
parte de ellos incluyen los conceptos desarrollados en el resto de
paradigmas presentados en este documento.
Resolución de problemas.
● Análisis
Indicará la especificación de requisitos que se deben cubrir.
Debemos saber qué resultado queremos que ofrezca y que datos necesitamos para
resolver el problema.
● Diseño
Se indica el comportamiento o la secuencia lógica de instrucciones capaz de
resolver el problema. Los pasos sucesivos que deben de ser ejecutados son lo que
se conoce como algoritmo.
JAVA
El código que genera JAVA es independiente al hardware. El código será ejecutado sobre
una máquina virtual denominada JVM (Máquina virtual java).
Características de java:
● El código generado por el compilador Java es independiente de la arquitectura
● Está totalmente orientado a objetos
● Su sintaxis es similar a C y C++
● Es distribuido, preparado para aplicaciones TCP/IP
● Dispone de un amplio conjunto de bibliotecas.
● Es robusto, realizando comprobaciones del código en tiempo de compilación y
ejecución
● La seguridad está garantizada, las aplicaciones Java no acceden a zonas delicadas
de memoria o de sistema.
Los datos y el código se combinan en entidades llamadas objetos. El código interno será el
comportamiento del objeto y los datos serán el estado. Los objetos permiten que se reutilice
el código.
Características de Java:
● Independencia: Se pueden ejecutar en cualquier tipo de hardware. El código fuente
es compilado, generando el código conocido como Java Bytecode, este se ejecuta
por JVM que es un programa escrito en código nativo de la plataforma destino
entendible por el hardware.
● Trabajo en red: Se comunica vía TCP/IP. Se usan librerías y protocolos como http,
ftp, etc.
Configuración JDK
La variable PATH: Es necesario que incluyamos la ruta hacia estos programas en nuestra
variable PATH. Esta ruta será el lugar donde se instaló el JDK hasta su directorio bin.
La variable CLASSPATH: establece dónde buscar las clases o bibliotecas de la API de
Java, así como las clases creadas por el usuario. Es decir, los ficheros .class que se
obtienen una vez compulsado el código fuente de un programa escrito en java. Es posible
que en dicha ruta existan directorios y ficheros comprimidos en los formatos zip o jar
pueden ser utilizados directamente por el JDK, conteniendo en su interior archivos con
extensión class.
Si no existe la variable CLASSPATH se debe crear, de la misma forma que PATH pero
hasta lib
Codificación, compilación y ejecución de aplicaciones.
Cuando tenemos nuestro código fuente con extensión .java, la compilación de aplicaciones
se realiza mediante el programa Javac lo que hace es traducir nuestro archivo .java y lo
convierte en .class este es un archivo en bytecode. Si en el código fuente de nuestro
programa figuran más de una clase, veremos cómo al realizar la compilación se generarán
tantos archivos con extensión .class como clases tengamos. Si estas clases tenían método
main podremos ejecutar dichos archivos por separado para ver el funcionamiento de dichas
clases.
javac archivo.java es el compilador y java archivo.class es el archivo con el código
precompilado.