ALGEBRA DISCRETA
REALIZADO POR: DOMINGO MARTINEZ
DEFINICIONES BÁSICAS
ALGORITMOS
Un algoritmo se puede definir como una secuencia de
instrucciones que representan un modelo de solución para
determinado tipo de problemas.
TIPOS DE DATOS
Tipos de datos informáticos: El tipo de dato informático es un
atributo de una parte de los datos que indica al ordenador (y/o al
programador) algo sobre la clase de datos sobre los que se va a
procesar. Esto incluye imponer restricciones en los datos, como
qué valores pueden tomar y qué operaciones se pueden realizar.
Tipos de datos comunes son: enteros, cadenas alfanuméricas
ANÁLISIS DEL PROBLEMA
El análisis del problema define la naturaleza, el alcance, las
causas y las consecuencias específicos del tema de la campaña
para determinar el mejor modo de abordar esa cuestión y qué
que puede cambiarse.
DISEÑO DE ALGORITMO
En ciencias de la computación, el diseño de algoritmos es un
método específico para poder crear un modelo matemático
ajustado a un problema específico para resolverlo. El diseño de
algoritmos o algorítmica es un área central de las ciencias de la
computación, también muy importante para la investigación de
operaciones (también conocida como investigación operativa), en
ingeniería del software y en otras disciplinas afines.
MEDIOS DE EXPRESIÓN DE UN ALGORITMO
Los algoritmos es la herramienta que mas varia en cualquier
parte de la informática por ende hay muchas maneras de
expresarlos, aquí algunas:
• Diagramas de flujo
• Pseudocodigo
• Variables
DIAGRAMAS 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.
Los diagramas de flujo son usados para representar algoritmos
pequeños, ya que abarcan mucho espacio y su construcción es
laboriosa. Por su facilidad de lectura son usados como
introducción a los algoritmos, descripción de un lenguaje y
descripción de procesos a personas ajenas a la computación.
EJEMPLO
PSEUDOCODIGO
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.
EJEMPLO
Se desea encontrar la longitud y el área de un círculo de radio 5.
Solución.
El objetivo del ejercicio es encontrar la longitud y el área de un círculo con un radio conocido y de
valor 5. Las salidas serán entonces la longitud y el área. (Fase 5 del algoritmo) Sabemos que la
longitud de un círculo viene dada por la fórmula 2 * pi * radio y que el área viene dada por pi *
radio al cuadrado. (Fase 4 del algoritmo) Si definimos las variables como: (fase 1 del algoritmo)
L = Longitud A = área R = radio pi = 3.1416 hagamos el algoritmo:
Inicio
Pi ¬ 3.1416 (definición de un valor constante)
R ¬ 5 (radio constante ya que es conocido su valor)
A ¬ pi * R ^ ² (asignación del valor del área)
L ¬ 2 * pi * R (asignación del valor de la longitud)
Escribir (A, L) (salida del algoritmo)
Fin
VARIABLES
Son elementos que toman valores específicos de un tipo de datos
concreto. La declaración de una variable puede realizarse
comenzando con var. Principalmente, existen dos maneras de
otorgar valores iniciales a variables:
Mediante una sentencia de asignación.
Mediante un procedimiento de entrada de datos (por ejemplo:
'read').
EJEMPLO
...
i:=1;
read(n);
while i < n do begin
(* cuerpo del bucle *)
i := i + 1
end;
...
ESTRUCTURAS DE CONTROL
Estructuras de control
En lenguajes de programación, las estructuras de control permiten
modificar el flujo de ejecución de las instrucciones de un programa.
Con las estructuras de control se puede:
De acuerdo con una condición, ejecutar un grupo o otro de sentencias
(If-Then-Else)
De acuerdo con el valor de una variable, ejecutar un grupo u otro de
sentencias (Switch-Case)
Ejecutar un grupo de sentencias solo cuando se cumpla una condición
(Do-While)
Ejecutar un grupo de sentencias hasta que se cumpla una condición
(Do-Until)
ESTRUCTURAS SECUENCIALES
Se caracteriza porque una acción se ejecuta detrás de otra. El flujo del
programa coincide con el orden físico en el que se han ido poniendo
las instrucciones. Dentro de este tipo podemos encontrar operaciones
de inicio/fin, inicialización de variables, operaciones de asignación,
cálculo, somatización, etc. Este tipo de estructura se basa en las 5
fases de que consta todo algoritmo o programa:
Definición de variables (Declaración)
Inicialización de variables.
Lectura de datos
Algebra discreta
Algebra discreta

Algebra discreta

  • 1.
  • 2.
    DEFINICIONES BÁSICAS ALGORITMOS Un algoritmose puede definir como una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas.
  • 3.
    TIPOS DE DATOS Tiposde datos informáticos: El tipo de dato informático es un atributo de una parte de los datos que indica al ordenador (y/o al programador) algo sobre la clase de datos sobre los que se va a procesar. Esto incluye imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar. Tipos de datos comunes son: enteros, cadenas alfanuméricas
  • 4.
    ANÁLISIS DEL PROBLEMA Elanálisis del problema define la naturaleza, el alcance, las causas y las consecuencias específicos del tema de la campaña para determinar el mejor modo de abordar esa cuestión y qué que puede cambiarse.
  • 5.
    DISEÑO DE ALGORITMO Enciencias de la computación, el diseño de algoritmos es un método específico para poder crear un modelo matemático ajustado a un problema específico para resolverlo. El diseño de algoritmos o algorítmica es un área central de las ciencias de la computación, también muy importante para la investigación de operaciones (también conocida como investigación operativa), en ingeniería del software y en otras disciplinas afines.
  • 6.
    MEDIOS DE EXPRESIÓNDE UN ALGORITMO Los algoritmos es la herramienta que mas varia en cualquier parte de la informática por ende hay muchas maneras de expresarlos, aquí algunas: • Diagramas de flujo • Pseudocodigo • Variables
  • 7.
    DIAGRAMAS DE FLUJO Losdiagramas 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. Los diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de lectura son usados como introducción a los algoritmos, descripción de un lenguaje y descripción de procesos a personas ajenas a la computación.
  • 8.
  • 9.
    PSEUDOCODIGO El pseudocódigo (falsolenguaje, 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.
  • 10.
    EJEMPLO Se desea encontrarla longitud y el área de un círculo de radio 5. Solución. El objetivo del ejercicio es encontrar la longitud y el área de un círculo con un radio conocido y de valor 5. Las salidas serán entonces la longitud y el área. (Fase 5 del algoritmo) Sabemos que la longitud de un círculo viene dada por la fórmula 2 * pi * radio y que el área viene dada por pi * radio al cuadrado. (Fase 4 del algoritmo) Si definimos las variables como: (fase 1 del algoritmo) L = Longitud A = área R = radio pi = 3.1416 hagamos el algoritmo: Inicio Pi ¬ 3.1416 (definición de un valor constante) R ¬ 5 (radio constante ya que es conocido su valor) A ¬ pi * R ^ ² (asignación del valor del área) L ¬ 2 * pi * R (asignación del valor de la longitud) Escribir (A, L) (salida del algoritmo) Fin
  • 11.
    VARIABLES Son elementos quetoman valores específicos de un tipo de datos concreto. La declaración de una variable puede realizarse comenzando con var. Principalmente, existen dos maneras de otorgar valores iniciales a variables: Mediante una sentencia de asignación. Mediante un procedimiento de entrada de datos (por ejemplo: 'read').
  • 12.
    EJEMPLO ... i:=1; read(n); while i <n do begin (* cuerpo del bucle *) i := i + 1 end; ...
  • 13.
    ESTRUCTURAS DE CONTROL Estructurasde control En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa. Con las estructuras de control se puede: De acuerdo con una condición, ejecutar un grupo o otro de sentencias (If-Then-Else) De acuerdo con el valor de una variable, ejecutar un grupo u otro de sentencias (Switch-Case) Ejecutar un grupo de sentencias solo cuando se cumpla una condición (Do-While) Ejecutar un grupo de sentencias hasta que se cumpla una condición (Do-Until)
  • 14.
    ESTRUCTURAS SECUENCIALES Se caracterizaporque una acción se ejecuta detrás de otra. El flujo del programa coincide con el orden físico en el que se han ido poniendo las instrucciones. Dentro de este tipo podemos encontrar operaciones de inicio/fin, inicialización de variables, operaciones de asignación, cálculo, somatización, etc. Este tipo de estructura se basa en las 5 fases de que consta todo algoritmo o programa: Definición de variables (Declaración) Inicialización de variables. Lectura de datos