Diseño de Algoritmos y Técnicas Descriptivas en Informática

Documento de Tecnoszubia Oposiciones sobre Diseño de Algoritmos y Técnicas Descriptivas. El Pdf, un conjunto de apuntes para oposiciones de Informática, aborda el diseño de algoritmos, sus características y estructura, y técnicas descriptivas como pseudocódigo y diagramas.

Ver más

24 páginas

Visualiza gratis el PDF completo

Regístrate para acceder al documento completo y transformarlo con la IA.

Vista previa

SISTEMAS Y APLICACIONES INFORMÁTICAS

TEMA 23 Informática / TEMA 25

S.A.I .:
Diseño de algoritmos. Técnicas descriptivas.
TecnosZubia Oposiciones
www.tecnoszubia.es
REVISIÓN 19
CURSO:
2022/2023
Empresa Certificada en la Norma Internacional ISO 9001:2015 y 14001:2015INFORMÁTICA
OPOSICIONES ENSEÑANZA SECUNDARIA
TEMA 23 : "Diseño de algoritmos. Técnicas descriptivas"

TEMA 23: DISEÑO DE ALGORITMOS. TÉCNICAS DESCRIPTIVAS.

  1. INTRODUCCIÓN
  2. DISEÑO DE ALGORITMOS.
    1. Concepto de algoritmo
    2. Características de un algoritmo
    3. Estructura de un algoritmo
    4. Ventajas de los algoritmos
    5. Eficiencia de un algoritmo
    6. Técnicas de diseño
  3. TÉCNICAS DESCRIPTIVAS
    1. Pseudocodigo
    2. Tablas de decisión
    3. Diagramas de flujo
    4. Diagramas de nassi-shneiderman
    5. Diagramas estructurados
  4. BIBLIOGRAFÍA

DAVID QUIRANTES SIERRA
1/1INFORMÁTICA
OPOSICIONES ENSEÑANZA SECUNDARIA
TEMA 23 : "Diseño de algoritmos. Técnicas descriptivas"

1. INTRODUCCIÓN

Un ordenador es capaz de resolver problemas muy complejos a través de
programas. Para resolver estos problemas, es necesario encontrar previamente
un método de resolucion adecuado.
Para que un problema pueda ser resuelto por el ordenador debe cumplir una
serie de requisitos, por ejemplo:

  • Debe estar formado por acciones bien definidas

+ Debe estar formado por una secuencia finita de acciones
+ Debe acabar en un tiempo finito
Un procedimiento o método de solución de problemas que cumpla estos
requisitos se dice que es un algoritmo.
Por otro lado, al resolver un problema, podemos definir infinidad de algoritmos
que resuelvan dicho problema. Interesa encontrar el que sea más eficiente en
cuanto a dos factores fundamentales;

  • Tiempo de ejecución
  • Los recursos necesarios para implantar el algoritmo

El diseño de algoritmos estudia la búsqueda del algoritmo más eficiente para
resolver un problema.
Los algoritmos se pueden representar utilizando diferentes herramientas, entre
las que destacamos: el pseudocodigo y herramientas gráficas: diagramas de
flujo, tablas de decisión ...
En este tema vamos a estudiar el diseño de algoritmos así como las técnicas
utilizadas para representarlos.

2. DISEÑO DE ALGORITMOS

2.1. Concepto de algoritmo

Un algoritmo es una secuencia ordenada de pasos, exenta de ambigüedades,
que lleva a la solución de un problema dado. En otras palabras, un algoritmo es
DAVID QUIRANTES SIERRA
2/2OPOSICIONES ENSEÑANZA SECUNDARIA
TEMA 23 : "Diseño de algoritmos. Técnicas descriptivas"
INFORMÁTICA
un conjunto de reglas para resolver una cierta clase de problema, o una forma
de describir la solución de un problema.
Según la definición de algoritmo dada por Wirth: un algoritmo se divide en dos
partes esenciales:

  • una descripción de acciones que deben ser ejecutadas y que se
    describen mediante sentencias
  • una descripción de los datos que son ejecutados por esas acciones y
    que se describen mediante declaraciones y definiciones.

La diferencia entre algoritmo y programa es que éste último es el conjunto de
instrucciones, en un lenguaje determinado, que define un algoritmo.

Problema
Diseño del
Algoritmo
Programa de
Computadora
Figura 1. Proceso de creación de un programa.
Denominamos diseño de algoritmo a la descripción o bosquejo de un
algoritmo utilizando herramientas específicas para su diseño.

2.2. Características de un algoritmo

La calidad de un algoritmo depende no solo de su efectividad, sino de la
claridad de su código y de que esté bien estructurado. Se trata de elaborar un
algoritmo que sea facil de mantener, actualizar y adaptar a nuevas situaciones.
Podemos decir que un algoritmo de calidad debe cumplir las siguientes
caracteristicas:
Fiable: los resultados son exactos y precisos
+ Eficiente: utiliza de forma óptima los recursos del ordenador: es rápido
al ejecutarse y ocupa poca memoria.

  • Robusto: tiene prevista una respuesta clara, sean cuales sean los datos
    de entrada y las circunstancias bajo las que se ejecute
  • Portable: debe ser diseñado de forma independiente del hardware y del
    lenguaje de programación a utilizar
    DAVID QUIRANTES SIERRA
    3/3INFORMÁTICA
    OPOSICIONES ENSEÑANZA SECUNDARIA
    TEMA 23 : "Diseño de algoritmos. Técnicas descriptivas"
  • Legible: facil de leer, ofreciendo facilidades al usuario: mensajes claros
    y concisos, buena documentación ...
  • Preciso: El algoritmo debe indicar claramente y sin ambigüedades, el
    orden de realización de cada paso.
  • Repetitividad: El algoritmo debe poder repetirse tantas veces como sea
    necesario, dando siempre los mismos resultados para las mismas
    entradas, independientemente del momento de su ejecución.
  • Finito: Un algoritmo debe ser finito, es decir, se debe terminar en algún
    momento.

2.3. Estructura de un algoritmo

Como ya hemos visto, podemos dividir un algoritmo en dos partes:

  • Descripción de datos: consiste en definir los datos a utilizar, asignarle un
    nombre y el tipo de dato: carácter, numérico, logico, estructurado ...

+
- Descripción de acciones: pueden ser simples: operaciones aritmeticas y/o
lógicas, representadas a través de expresiones formadas por operadores,
operaciones de control, o bien sentencias más complejas, como funciones y
procedimientos
Vamos a ver los elementos que podemos utilizar en cada caso:

2.3.1. Descripción de datos

En primer lugar, debemos estudiar el tipo de dato con el que vamos a trabajar y
su forma de identificarlo.
El tipo de dato informa del contenido del mismo: si se trata de información
alfanumérica, numérica, si es un fichero ...
El dato se puede identificar de forma directa dando su valor, o bien asignandole
un identificador. El identificador está formado por una serie de caracteres y es
el nombre con el que vamos a reconocer ese dato.
Hay que ver tambien si dicho dato va a variar su valor a lo largo del problema o
bien se va a mantener constante durante todo el proceso.
DAVID QUIRANTES SIERRA
4/4OPOSICIONES ENSEÑANZA SECUNDARIA
TEMA 23 : "Diseño de algoritmos. Técnicas descriptivas"
INFORMÁTICA
Por tanto, los elementos que podemos utilizar son:

  • Carácteres: se utilizan como literales, identificadores, en las
    expresiones ...
    Los caracteres que podemos utilizar en cualquier algoritmo son:
    ·· Letras: A, B, C ...
    · Dígitos: 0,1,2 ...
    · Signos: +, -, *, /, =, (, ), [ ] ; ; , etc.
    · Espacios en blanco: Espacio en blanco, tabulador, avance de
    línea y nueva línea. Permiten escribir algoritmos más legibles.
  • Tipos de datos: Los tipos de datos utilizados en los diferentes lenguajes
    de programación se dividen básicamente en: datos simples

    estructurados.
    • Los tipos de datos simples o primitivos no están compuestos de
      otras estructuras de datos. Los usados más frecuentemente en
      casi todos los lenguajes son: enteros, reales y carácter. Hay otros
      tipos que son especificos de cada lenguaje. Los datos simples
      tienen como característica común que cada variable representa a
      un único elemento.
    • Los tipos de datos compuestos o estructuras de datos: están
      construidos a partir de varios datos simples, o incluso varios
      compuestos. El ejemplo más representativo es la cadena de
      caracteres. Los datos estructurados tienen como característica
      común que un identificador puede representar a múltiples datos
      individuales, pudiendo éstos ser referenciados individualmente.
      Las estructuras de datos se pueden dividir según su modo de
      almacenamiento en:
      => Internas: se almacenan en la memoria interna, éstas a su vez
      pueden dividirse en:
      • Estaticas: tienen un tamaño fijo, conocido en tiempo de
        compilación. Dependiendo del tipo de dato pueden ser:

DAVID QUIRANTES SIERRA
5/51
OPOSICIONES ENSEÑANZA SECUNDARIA
TEMA 23 : "Diseño de algoritmos. Técnicas descriptivas"
INFORMÁTICA

      • Homogeneas: del mismo tipo: arrays
      • Heterogeneas: de distinto tipo: registros
    • Dinámicas: su tamaño se conoce en tiempo de
      ejecución y pueden ser:
      • Lineales: listas,pilas, colas
      • No lineales: árboles y grafos

Externas: Se almacenan en la memoria externa del
ordenador: ficheros y bases de datos.

  • Literales: Un literal es la expresión de un valor de un tipo de dato. Por
    ejemplo, son literales: 5, 3.14, 'a' y "hola". En realidad son valores
    constantes. Un literal puede ser por ejemplo: un dato entero, un real, un
    carácter o una cadena de caracteres.
  • Identificadores: Los identificadores son un conjunto de nombres que se
    utilizan para identificar componentes significativos de un algoritmo, tales
    como ... instrucciones, nombres de variables, constantes, etc.
    Distinguiremos dos tipos de identificadores en la descripción de datos:
    • Variables: Una variable representa un espacio de memoria para
      almacenar un valor de un determinado tipo. El valor de una
      variable puede cambiar durante la ejecución de un algoritmo.
      Para utilizar una variable en un algoritmo, primero hay que
      declararla. La declaración de una variable consiste en darle un
      nombre (asignarle un identificador) y asociarle un tipo de dato.
    • Constantes: Una constante es un dato cuyo valor no cambiará a
      lo largo del algoritmo. Igual que las variables, hay que declararlas.
      Declarar una constante significa dar el nombre de la constante y
      su valor.

2.3.2. Descripción de acciones

Expresiones y Operadores: Las expresiones son combinaciones de
constantes, variables, símbolos de operación, paréntesis y nombres de
funciones especiales. Una expresión consta de "operandos" y "operadores".
DAVID QUIRANTES SIERRA
6/ 6OPOSICIONES ENSEÑANZA SECUNDARIA
TEMA 23 : "Diseño de algoritmos. Técnicas descriptivas"
INFORMÁTICA
Cada expresión toma un valor que se determina tomando los valores de las
variables y constantes implicadas y la ejecución de las operaciones
indicadas.
Dependiendo del tipo de objetos que manipulan, podremos clasificar las
expresiones en: aritméticas, lógicas y de carácter.
Los operadores son símbolos que indican la operación a realizar. Podemos
tener:

  • Operadores Aritméticos: Son los que indican la ejecución de una
    operación aritmética como suma, resta, multiplicación. División, etc.
  • Operadores Lógicos: Son aquellos que indican operaciones
    relacionadas con el álgebra de Boole. Son operadores lógicos: AND,
    OR, NOT, NAND, XOR Y NOR.
  • Operadores Relacionales: Son los que indican la diferencia que hay
    entre dos variables, constantes, expresiones ... Indicarán igualdad,
    inferioridad, superioridad, etc.

.
Instrucciones: Son expresiones que indican una operación a realizar por el
ordenador. La instrucción estará compuesta de un código identificable, y de
unos operandos que indican los datos implicados y el lugar donde deben
depositarse los resultados. Según la función que desempeñan dentro de un
programa, las instrucciones se pueden clasificar en:

  • Instrucciones de declaración: Son instrucciones que se utilizan para
    declarar los objetos que se van a usar en el algoritmo.
  • Instrucciones primitivas: Se denominan así a las instrucciones que se
    ejecutan de forma inmediata por el procesador. Nos encontramos con
    tres tipos de instrucciones primitivas:
    • Entrada: Se utilizan para tomar datos del exterior y en ocasiones,
      guardarlos en variables.
    • Salida: Se utilizan para presentar, en pantalla o impresora,
      comentarios, mensajes al usuario, contenido de variables, resultados,
      etc.
      DAVID QUIRANTES SIERRA
      7/7

¿Non has encontrado lo que buscabas?

Explora otros temas en la Algor library o crea directamente tus materiales con la IA.