Sei sulla pagina 1di 7

1.

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.

Algunas definiciones de algoritmo son:

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.

Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con


base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solución
o indicar la falta de esta a un problema en un tiempo determinado.

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:

1. Tomar dos rebanadas de pan

2. Poner mayonesa a cada rebanada

3. Agregar a una rebanada jamón, queso, tomate y lechuga

4. Colocar la otra rebanada después de la lechuga

Características de un algoritmo

Un algoritmo debe ser:

Preciso: al indicar el orden en que se deben realizar los pasos.

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:

Entrada: es la información o los valores que se da para ser procesada.

Proceso: son las operaciones o cálculos que se realizan con los datos de entrada.

Salida: es el resultado de las operaciones realizadas.

Cómo expresar un algoritmo

Existen diversas formas de expresar un algoritmo:


 Lenguaje natural (como el ejemplo anterior)

 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

Calidad de los programas

Para un determinado problema se pueden construir diferentes algoritmos de resolución o programas.


Las características generales que debe reunir un programa son las siguientes:

 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

 Bloque de declaraciones: en él se especifican todos los objetos que utiliza el programa


(constantes, variables, tablas, registros, archivos, etc.).
 Bloque de instrucciones: constituido por el conjunto de operaciones que se han de realizar
para la obtención de los resultados deseados.

Partes principales 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.

La programación es el instrumento que permite la ejecución de las tareas automatizadas de un


sistema informático.

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

Se entiende como metodología de la programación al conjunto de normas, métodos y anotaciones


que nos indican la forma de programar.

Cada lenguaje de programación sigue una metodología distinta.

Entorno de programación o entorno de desarrollo

Es el conjunto de herramientas utilizadas para la elaboración de un programa.

Recursos

Conjunto de componentes hardware que utilizaremos para la elaboración de un programa (cpu, disco
duro…..).

La programación es entonces el proceso de diseñar, escribir, depurar y mantener el código fuente


de programas computacionales. El código fuente es escrito en un lenguaje de programación. El
propósito de la programación es crear programas que exhiban un comportamiento deseado. El
proceso de escribir código requiere frecuentemente conocimientos en varias áreas distintas, además
del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal. Programar no involucra
necesariamente otras tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del
código), aunque sí suelen estar fusionadas en el desarrollo de pequeñas aplicaciones.

Paradigmas de programación.
El origen griego de la palabra paradigma, significa “modelo”, “ejemplo” o “patrón”.

Un paradigma de programación son las tendencias o metodología para la resolución de problemas.


También se define como" la colección de patrones conceptuales que moldean la forma de razonar
sobre problemas , de formular soluciones y de estructurar programas" (Rodríguez, s/f).

Un paradigma de programación es un estilo de desarrollo de programas. Es decir, un modelo para


resolver problemas computacionales. Los lenguajes de programación, necesariamente, se
encuadran en uno o varios paradigmas a la vez a partir del tipo de órdenes que permiten
implementar, algo que tiene una relación directa con su sintaxis.

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".

Existen los siguientes paradigmas de programación:

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.

Programación Orientada a Objetos

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.

Tipos de datos en Pseudocódigo:

Reglas definidas para los tipos de datos:

NUMERO Referidos a cualquier número. Se puede subdividir en ENTERO y REAL.

CARACTER Referidos a cualquier letra, digito o símbolo encerrado entre comilla simple.

TEXTO Referidos a cualquier texto encerrado entre comillas dobles.

LOGICO Referido a los dos posibles valores lógicos (VERDADERO y/o FALSO)

Tipos de datos en Java:

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.

Los tipos de datos en Java se dividen en dos categorías:

 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.

Declaración de una variable:

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 pseudocódigo y diagrama de flujo:


TipoDeDato ListaDeVariables

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.

Clasificación de los lenguajes de programación.

• Lenguaje máquina (Binario)

Una computadora sólo puede entender el lenguaje máquina.

• Lenguaje Ensamblador

El lenguaje ensamblador es el lenguaje de programación utilizado para escribir programas


informáticos de bajo nivel

• Lenguajes de alto nivel.

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

1.2 ALGORITMO. (s. f.). Recuperado a partir de


https://sites.google.com/site/tecnologicodetuxtlagutierrez/unidad-1-conceptos-basicos/1-2-
algoritmo

Algoritmo - Wikipedia, la enciclopedia libre. (s. f.). Recuperado a partir de


https://es.wikipedia.org/wiki/Algoritmo

Berlanga, R. (2000). Introducción a la programación con Pascal. Publicaciones de la Universitat

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).

Universidad de San Martín de Porres.

Ramírez, E., & Weiss, M. (1986). Introducción a los Microprocesadores (1.a ed.). México: Limusa.

Rodríguez, J. J. (s/f). Introducción a la programación. Teoría y práctica: teoría y práctica. España:

Club Universitario.

Potrebbero piacerti anche