Está en la página 1de 49

Introducción a la Teoría de Algoritmos

Piedad Marchena

OBJETIVOS

Aplicar conceptos básicos de la matemática en la solución de problemas

Aplicar la lógica algorítmica para definir una solución

a un problema propuesto, en términos de entrada- proceso-salida.

COMPUTADORA

Dispositivo electrónico que ejecuta las instrucciones en un programa, para ello acepta datos de entrada, los procesa, entrega un resultado a partir de ese procesamiento y almacena resultados.

Datos Datos de de entrada entrada Datos de entrada
Datos
Datos
de
de
entrada
entrada
Datos
de
entrada

Datos de salida

PARTES DE UNA COMPUTADORA

PARTES DE UNA COMPUTADORA
PARTES DE UNA COMPUTADORA
PARTES DE UNA COMPUTADORA
PARTES DE UNA COMPUTADORA

Dispositivos de Entrada

Permiten el ingreso de

datos a un computador.

Ejemplos: teclados, ratones, scanners, micrófonos,

cámaras fotográficas,

cámaras de video, game pads y guantes de realidad virtual.

ratones, scanners, micrófonos, cámaras fotográficas, cámaras de video, game pads y guantes de realidad virtual.
ratones, scanners, micrófonos, cámaras fotográficas, cámaras de video, game pads y guantes de realidad virtual.

Dispositivos de Salida

Son aquellos que permiten mostrar información

procesada por el computador.

Ejemplo: monitores, impresoras, audífonos,

plotters, guantes de realidad

virtual, gafas y cascos

virtuales.

computador. Ejemplo: monitores, impresoras, audífonos, plotters, guantes de realidad virtual, gafas y cascos virtuales.
computador. Ejemplo: monitores, impresoras, audífonos, plotters, guantes de realidad virtual, gafas y cascos virtuales.

Dispositivo de Almacenamiento

Dispositivo de Almacenamiento Son aquellos en los cuales el computador puede guardar información nueva y/o obtener

Son aquellos en los cuales el computador puede

guardar información nueva y/o obtener información

previamente almacenada. Ejemplos: discos flexibles, discos duros, unidades de cinta, CD-ROM, CD-ROM de re-escritura y DVD.

Dispositivos de Comunicación

Dispositivos de Comunicación Son aquellos que le permiten a un computador comunicarse con otros. Entre estos

Son aquellos que le permiten a un computador comunicarse con otros. Entre estos se cuentan los modems, tarjetas de red y enrutadores.

Dispositivos de Procesamiento

Es la parte del computador que le permite realizar

los cálculos y controlar los dispositivos. Esta formado fundamentalmente por: unidad central de proceso, la memoria y el bus de datos y

direcciones.

dispositivos. Esta formado fundamentalmente por: unidad central de proceso, la memoria y el bus de datos

Unidad Central de Procesos

Unidad Central de Procesos Es el ‘cerebro’ del computador, encargada de realizar los cálculos, utilizando

Es el ‘cerebro’ del computador, encargada de realizar

los cálculos, utilizando información almacenada en la

memoria y de controlar los dispositivos, procesando las entradas y salidas provenientes y/o enviadas a

los mismos. El bus de datos permite su comunicación

con los demás dispositivos.

Unidad Aritmética Lógica

Es la encargada de realizar las operaciones

aritméticas

y

lógicas

programa en ejecución.

requeridas

por

el

Unidad de Control

Es la encargada de la ejecución de las

instrucciones y de controlar el proceso de la

computadora .

Memoria

Encargada de almacenar la información que es accedida por la UCP y por los dispositivos. Se

divide en:

Memoria Central (Interna).

Memoria Auxiliar (Externa)

Memoria Interna

RAM (Random Access Memory): Memoria de escritura y lectura, es la memoria principal del computador. Solo se mantiene mientras el computador está encendido.

ROM (Read Only Memory): Memoria de solo

lectura, es permanente y no se afecta por el encendido o apagado del computador.

Cache: Memoria de acceso muy rápido, usada

como puente entre la UCP y la memoria RAM,

para evitar las demoras en la consulta de la memoria RAM.

Dato

Expresiones generales

describen

características de las entidades.

que

Por

solos

no

constituyen

 

información,

sino

que

ésta

surge

del

adecuado

 

procesamiento

de

los

datos

  información, sino que ésta surge del adecuado   procesamiento de los datos

Unidades de Datos

Unidades de Datos

¿Qué es Información?

Está constituida por un

datos ya

grupo de

supervisados ordenados, que

supervisados ordenados , que

y

sirven

para construir un mensaje

cierto

basado

en

un

fenómeno o ente.

Permite resolver problemas

y tomar decisiones.

para construir un mensaje cierto basado en un fenómeno o ente. • Permite resolver problemas y

Programa

Conjunto

instrucciones escritas en

de

un

lenguaje

de

programación

que

ejecutadas

secuencial

la

en

problema.

de

manera

contribuyen

un

de

solución

un lenguaje de programación que ejecutadas secuencial la en problema. de manera contribuyen un de solución

Software

Está formado por una serie de instrucciones y datos, que permiten aprovechar

todos los recursos que el

computador. El software le da vida al computador, haciendo que sus componentes funcionen de forma ordenada.

que el computador. • El software le da vida al computador, haciendo que sus componentes funcionen

Lenguaje de Programación

Conjunto de símbolos, caracteres y reglas (programas) que le permiten a las personas comunicarse con la computadora.

Permiten realizar operaciones de entrada/salida,

calculo,

manipulación

de

textos,

lógica/comparación

y

almacenamiento/recuperación

Tipos de Lenguaje

Lenguaje Máquina. Entendible directamente por la computadora. Bits

Lenguaje de Bajo Nivel (Ensamblador). Las

instrucciones se escriben en nemotécnicos.

Lenguaje de Alto Nivel. Las instrucciones se escriben con palabras similares al lenguaje humano.

Algoritmo

Algoritmo Un algoritmo es una secuencia ordenada de operaciones tal que su ejecución resuelve determinado problema.

Un algoritmo es una

secuencia ordenada de operaciones tal que su

ejecución resuelve

determinado problema.

Características del Algoritmo

Las características

fundamentales que debe tener

todo algoritmo son:

Debe ser preciso

Debe estar definido

finito (debe tener un

número finito de pasos).

del

lenguaje de programación que se

emplee para implementarlo.

Debe ser

Debe

ser

independiente

finito de pasos). del lenguaje de programación que se emplee para implementarlo. Debe ser • Debe

Lenguaje Algorítmico

Símbolos y reglas que se utilizan para

describir de manera explícita un proceso.

Tipos de lenguajes Algorítmico:

Gráficos. Representación Gráfica de las

operaciones del algoritmo. (Diagramas de

flujo).

No Gráficos. Descripción de las operaciones que debe realizar un algoritmo.

(Pseudocódigo)

(Diagramas de flujo). • No Gráficos. Descripción de las operaciones que debe realizar un algoritmo. (Pseudocódigo)

Pasos para Solución de Problemas

Los procesos

necesarios para

la creación de un programa son:

1.Especificación

y

análisis

del

problema en cuestión.

2.Diseño

de

un

algoritmo

que

resuelva el problema.

3. Codificación del algoritmo en un lenguaje de programación. 4. Validación del programa.

que resuelva el problema. 3. Codificación del algoritmo en un lenguaje de programación. 4. Validación del

Análisis del Problema

Definir:

La entrada de datos

Salida esperada

Procesamiento de los datos. (Métodos y fórmulas)

Problema Definir: • La entrada de datos • Salida esperada • Procesamiento de los datos. (Métodos

Diseño de un Algoritmo

La resolución de un problema mediante un ordenador consiste en, partiendo de una especificación del problema, construir un programa que lo resuelva.

mediante un ordenador consiste en, partiendo de una especificación del problema, construir un programa que lo

Ejemplos de Algoritmos

Problema: Se desea enseñar a un niño a lavarse las

manos. ¿Cómo lo debo hacer?

INICIO Abrir el grifo de agua. Mojarse las manos. Aplicarse jabón. Enjuagarse las manos. Cerrar el grifo de agua.

Secarse la manos con papel.

las manos. Cerrar el grifo de agua. Secarse la manos con papel. Exponer las manos a

Exponer las manos a corriente de aire caliente. FIN

Ejemplos

Desarrollar la solución de

los siguientes problemas:

Comprar las entradas para ver la final del equipo Junior.

Poner la mesa para la cena.

Lavar los platos de la comida.

Hacer una taza de café

final del equipo Junior. • Poner la mesa para la cena. • Lavar los platos de

Tipos de Algoritmos

Cualitativos: son

aquellos que son una descripción de las acciones que se

realizan para solucionar

un problema. Cuantitativos: Son aquellos que son

representados por las

palabras reservadas del algoritmo a través de sus representaciones.

: Son aquellos que son representados por las palabras reservadas del algoritmo a través de sus

Codificación

Escribir la solución del problema (diagrama de flujo

o pseudocódigo), en una serie de instrucciones detalladas, en un código reconocible por la computadora conocido como código fuente, el cual

se escribe en lenguaje de programación o lenguaje

de alto nivel.

por la computadora conocido como código fuente, el cual se escribe en lenguaje de programación o

Prueba y Depuración

Depuración. Proceso de identificar y eliminar

errores,

errores.

para

dar

paso

a

una

solución

sin

Resulta una tarea tan creativa como el mismo desarrollo de la solución, por ello se debe considerar con el mismo interés y entusiasmo.

Documentación

Es la guía o comunicación escrita es sus variadas

formas, ya sea en enunciados, procedimientos, dibujos o diagramas. La documentación se divide en:

Documentación Interna. Comentarios en el código

fuente.

Documentación Externa. Descripción del problema,

nombre del autor, algoritmo, diccionario de datos y

código fuente

Manual del Usuario.

Mantenimiento

Se lleva acabo después de terminado el programa,

cuando se detecta que es necesario hacer algún cambio, ajuste o complementación al programa para

que siga trabajando de manera correcta. Para poder

realizar este trabajo se requiere que el programa

este correctamente documentado.

Variables

Cada variable debe tener:

Un tamaño de memoria ocupada y un modo de

representación interna.

Un conjunto de operadores y de tratamientos específicos que pueden aplicarse a la variable

El nombre de una variable debe ser único y no ambiguo

El nombre de una variable es un identificador diferente de

cualquier palabra clave utilizada en el lenguaje o nombre de una función externa.

Los nombres de las variables inician con una letra y son

sucesiones de letras y cifras y el símbolo _ (guión bajo).

• Los nombres de las variables inician con una letra y son sucesiones de letras y

Reglas para Nombrar una

Variable

Reglas para Nombrar una Variable • Debe iniciar con una letra. • Puede contener después de

Debe iniciar con una letra.

Puede contener después de la letra se puede colocar letras o números. No debe contener espacios en

blanco.

No debe contener operadores matemáticos como (+, -, *, / , etc.).

Tipos de Datos

Tipos de Datos Estructu- Simples rados Alfanumérico Numéricos Lógicos Arreglos Registros Archivos
Tipos de
Datos
Estructu-
Simples
rados
Alfanumérico
Numéricos
Lógicos
Arreglos
Registros
Archivos
Apuntadores
s

Clasificación de Variables

Por su contenido

Por su uso

Numéricas

Lógicas

Alfanuméricas (String)

De Trabajo

Contadores

Acumuladores

Expresiones

Expresiones Aritméticas Relaciónales Lógicas

Aritméticas

Expresiones Aritméticas Relaciónales Lógicas

Relaciónales

Lógicas

Operadores Aritméticos

Operando1
Operando1
Operadores Aritméticos Operando1 Operando2 Resultado
Operando2
Operando2
Operadores Aritméticos Operando1 Operando2 Resultado
Resultado
Resultado
Operadores Aritméticos Operando1 Operando2 Resultado

Jerarquía de los Operadores

Aplicando la jerarquía de operadores resuelva:

(4*1/2)^2*3-2^2+1

4+1*5^2-1

9/3+4^2-5*1+9/-2+3

5/2+3-4*5/2

(4+1)*5^2-1

Operadores Relacionales

Operadores Relacionales

OPERADORES LÓGICOS

Y o también conocido como AND.

operador

De este

los siguientes

pueden

obtener

se

resultandos:

V= verdadero

F=Falso

Expresión 1(E1) Expresión 2(E2) E1 Y E2 V V V V F F F V
Expresión 1(E1) Expresión 2(E2) E1 Y E2 V V V V F F F V

Expresión 1(E1)

Expresión 2(E2)

E1 Y E2

V V V V F F F V F F F F
V V V V F F F V F F F F

V

V

V

V

F

F

F

V

F

F

F

F

OPERADORES LÓGICOS

Conocido como OR. De este operador se pueden

obtener los siguientes resultandos:

V= verdadero F=Falso

Expresión 1(E1) Expresión 2(E2) E1 O E2 V V V V F V F V
Expresión 1(E1) Expresión 2(E2) E1 O E2 V V V V F V F V

Expresión 1(E1)

Expresión 2(E2)

E1 O E2

V V V V F V F V V F F F
V V V V F V F V V F F F

V

V

V

V

F

V

F

V

V

F

F

F

OPERADORES LÓGICOS

NO o también conocido como NOT. De este operador se pueden obtener los siguientes resultandos:

V= verdadero F=Falso

Expresión 1(E1) NO (E1) V F V F F V F V
Expresión 1(E1) NO (E1) V F V F F V F V

Expresión 1(E1)

NO (E1)

V

F

V

F

F

V

F

V

¿PREGUNTAS?

¿PREGUNTAS?
BIBLIOGRAFÍA • R. Capacho, R. Ebratt y A. Mancilla. Diseño y construcción de algoritmos .

BIBLIOGRAFÍA

R. Capacho, R. Ebratt y A. Mancilla. Diseño y construcción de algoritmos. Barranquilla: Ediciones Uninorte, 2015. TEXTO GUÍA.

Capacho, G. León, Estrategias para el diseño y construcción

de algoritmos . Editorial Académica Española EAE, 2014.

L. Joyanes, Fundamentos de Programación: Algoritmos,

Estructura de datos y objetos. Madrid: McGraw-Hill, 2003.

Juganaru Mathieu, Mihaela. Introducción a la programación. México: Larousse - Grupo Editorial Patria, 2014. ProQuest ebrary. Web. 26 January 2016.Copyright © 2014. Larousse -

Grupo Editorial Patria. All rights reserved.