Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1 Conceptos básicos
Algoritmo
La palabra algoritmo se proviene del nombre del matemático y astrónomo árabe Al-Khôwarizmi (siglo
IX) que escribió un tratado sobre la manipulación de números y ecuaciones.
Secuencia finita de instrucciones, reglas o pasos que describen de forma precisa las operaciones
que un ordenador debe realizar para llevar a cabo una tarea en un tiempo más finito.
En palabras más simples un algoritmo es la serie de pasos que tenemos de realizar para conseguir
algo. De hecho, en nuestro día a día nos pasamos ejecutando algoritmos, por ejemplo, un algoritmo
para preparar un sándwich:
Características de un algoritmo
Definido: al seguir el algoritmo varias veces con los mismos datos de entrada los resultados
siempre deben ser los mismos.
Finito: debe tener un numero de pasos finito, es decir, terminar en algún momento.
Partes de un algoritmo:
Proceso: son las operaciones o cálculos que se realizan con los datos de entrada.
Pseudocódigo
Diagramas de flujo
Lenguajes de programación
Programa
Un programa informático es una serie de comandos o instrucciones ejecutadas por el equipo. Sin
embargo, el equipo sólo es capaz de procesar elementos binarios, es decir, una serie de 0s y 1s.
Por lo tanto, necesitamos un lenguaje de programación para escribir de manera legible, es decir, con
comandos que el ser humano pueda comprender (por ser similares a su propio lenguaje) los
comandos que el equipo deberá ejecutar.
Estos programas se traducen después a un lenguaje máquina (en binario) a través de un compilador.
El método de escritura de un programa está muy ligado al lenguaje de programación elegido, ya que
existen muchos tipos distintos. Además, el compilador debe coincidir con el lenguaje elegido: cada
lenguaje de programación tiene su propio compilador
Legibilidad: Ha de ser claro y sencillo, de tal forma que facilite su lectura y comprensión.
Fiabilidad: Ha de ser capaz de recuperarse frente a errores o usos inadecuados.
Portabilidad: Su diseño debe permitir la codificación en diferentes lenguajes de
programación, así como su instalación en diferentes sistemas.
Modificable: Ha de facilitar su mantenimiento, esto es, las modificaciones y actualizaciones
necesarias para adaptarlo a una nueva situación.
Eficiencia: Se deben aprovechar al máximo los recursos de la computadora, minimizando
la memoria utilizada y el tiempo de proceso o ejecución, siempre que no sea a costa de los
requisitos anteriores
Bloques de un programa
Dentro del bloque de instrucciones de un programa se pueden diferenciar tres partes fundamentales.
En algunos casos, estas tres partes están perfectamente delimitadas, pero en la mayoría sus
instrucciones quedan entremezcladas a lo largo del programa, si bien mantienen una cierta
localización geométrica impuesta por la propia naturaleza de las mismas.
Entrada de datos: la constituyen todas aquellas instrucciones que toman datos de un
dispositivo externo, almacenándolos en la memoria central para que puedan ser procesados.
Proceso o algoritmo: está formado por las instrucciones que modifican los objetos a partir
de su estado inicial hasta el estado final, dejando éstos disponibles en la memoria central.
Salida de resultados: conjunto de instrucciones que toman los datos finales de la memoria
central y los envían a los dispositivos externos.
Programación
Para empezar a entender lo que es la programación, primero tenemos que tener ciertos
conocimientos sobre todo lo que la rodea.
Empezaremos con unas definiciones un poco técnicas, pero que son imprescindibles para el
aprendizaje.
Tecnología
Dentro del campo que nos interesa a nosotros, la tecnología tiene el objetivo de eliminar las tareas
repetitivas, facilitando el trabajo y haciéndolo más eficiente así como aumentando la productividad y
los beneficios de la empresa.
Programación
La programación es una de las etapas más importantes del ciclo de vida de un proyecto y requiere
un método de trabajo. La programación es el resultado de dicho trabajo.
Las herramientas que utilizaremos para programar son los lenguajes de programación, a través de
las cuales codificaremos los programas.
Metodología de la programación
Recursos
Conjunto de componentes hardware que utilizaremos para la elaboración de un programa (cpu, disco
duro…..).
Paradigmas de programación.
El origen griego de la palabra paradigma, significa “modelo”, “ejemplo” o “patrón”.
Adam Smith define paradigma, en su libro “Los poderes de la mente”, como “un conjunto compartido
de suposiciones. Es la manera como percibimos el mundo: agua para el pez. El paradigma nos
explica el mundo y nos ayuda a predecir su comportamiento".
Programación Imperativa
Se define así, porque en este, un programa es un secuencia finita de instrucciones que se ejecutan
una tras otra. Describe cómo debe realizarse el cálculo, no el porqué. Algunos lenguajes que se
incluyen en este paradigma son: C y Pascal.
Programación Declarativa
Es lo opuesto a la programación imperativa. Los programas describen los resultados esperados sin
listar explícitamente los pasos a llevar a cabo para alcanzarlos. En otras palaras se enfoca a describir
las propiedades de la solución buscada, dejando indeterminado el algoritmo usado para encontrar
esa solución. Es más complicado de implementar, tiene desventajas en la eficiencia, pero ventajas
en la solución de determinados problemas. Algunos ejemplos son ASP, SQL, QML.
Programación Funcional
Consiste en diseñar un conjunto de funciones de manipulación de datos que en base a los datos de
entrada obtengan los resultados o datos de salida deseado. LISP, Scheme o Haskell son
representantes de este paradigma.
Aquí el programador declara los datos que definen un problema y los asocia con las operaciones
para su manipulación. en este se encuentran Delphi y C++.
Programación Lógica
Los programas se componen de hechos, predicados y relaciones. Consiste en declarar una serie de
hechos y reglas y después preguntar por un resultado. Prolog es un ejemplo de este paradigma.
Tipos de datos
Los tipos de datos permiten declarar las variables. A pesar que en el pseudocódigo y diagrama de
flujo sólo se reconocen tres tipos de datos, en los lenguajes de programación se tiene una gran
variedad de tipos de datos, los cuales están divididos –generalmente- en dos categorías: básicos o
simples y compuestos. En pseudocódigo y diagrama de flujo se utilizan los tipos (NUMERO, TEXTO
y LOGICO). Los lenguajes de programación permiten trabajar con una amplia diversidad de tipos de
datos que se extienden desde los más básicos hasta los más complejos. En Java, todos los datos
son derivados de ocho tipos de datos básicos; byte, short, int, long, float, double, char y boolean.
Los tipos de datos básicos se tratarán en este capítulo y constituyen la base para los tipos de datos
compuestos.
CARACTER Referidos a cualquier letra, digito o símbolo encerrado entre comilla simple.
LOGICO Referido a los dos posibles valores lógicos (VERDADERO y/o FALSO)
Los tipos de datos básicos o simples de Java son utilizados para declarar las variables que serán
utilizadas en los programas, y forman parte de las palabras reservadas del lenguaje.
Tipos primitivos
Tipos por referencia (tipos no primitivos).
Variables y constantes
Variable: es un nombre que designa a una zona de memoria, que contiene un valor de un tipo de
información.
Tal y como su nombre indica, las variables pueden cambiar su valor a lo largo de la ejecución de un
programa.
Declarar una variable significa definir el nombre de la variable y el tipo de dato que podrá almacenar.
Generalmente se realiza al inicio de un programa.
La declaración de una variable se debe realizar antes de que ésta pueda ser utilizada, esto es
necesario en los diferentes lenguajes de programación, y Java no es la excepción.
En Java:
TipoDeDato ListaDeVariables;
Donde TipoDeDato debe ser un tipo de variable o tipo de dato válido y ListaDeVariables
puede tener uno o más nombres de variables separadas por comas.
Constantes: son identificadores pero con la particularidad de que el valor que se encuentra en ese
lugar de la memoria sólo puede ser asignado una única vez. El tratamiento y tipos de dato es igual
al de las variables.
Pseudocódigo
El pseudocódigo (falso lenguaje, el prefijo pseudo significa falso) es una descripción de alto nivel de
un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas
propias de lenguajes de programación, como asignaciones, ciclos y condicionales, aunque no está
regido por ningún estándar. Es utilizado para describir algoritmos en libros y publicaciones científicas,
y como producto intermedio durante el desarrollo de un algoritmo, como los diagramas de flujo,
aunque presentan una ventaja importante sobre estos, y es que los algoritmos descritos en
pseudocódigo requieren menos espacio para representar instrucciones complejas. («Algoritmo -
Wikipedia, la enciclopedia libre», s. f.)
Diagrama de flujo
Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolos conectados con
flechas para indicar la secuencia de instrucciones y están regidos por ISO (Organización
Internacional para la estandarización).
Lenguajes de programación
Es un lenguaje artificial que se usa para expresar programas de ordenador.
• Lenguaje Ensamblador
Permiten a los programadores escribir instrucciones que asemejan al inglés cotidiano y contiene
notaciones matemáticas de uso común.
(«1.2 ALGORITMO», s. f.)
Referencias bibliográficas
Jaume.
http://es.scribd.com/doc/55324138/Estructura-General-de-Un-Programa#scribd
Flores Cueto, J. J. (s/f). Método de las 6’D. UML - Pseudocódigo - Java. (Enfoque algorítmico).
Ramírez, E., & Weiss, M. (1986). Introducción a los Microprocesadores (1.a ed.). México: Limusa.
Club Universitario.