Está en la página 1de 31

Algoritmos

una iniciación a la programación


Tema 6: Algoritmos y Programas

Objetivos

 Al terminar este tema deberás ser capaz de:


– Definir qué es un algoritmo.
– Describir las características que debe cumplir un
algoritmo.
– Representar un algoritmo.
– Definir qué es un programa.
– Describir las propiedades de un lenguaje de
programacion.

2
Tema 6: Algoritmos y Programas

Introducciòn

El computador por sí solo no puede hacer nada, necesita ser


programado, es decir, introducirle instrucciones u ordenes que le
digan lo que tiene que hacer.

Un programa es la solución a un problema inicial, así que todo


comienza allí: en el Problema. El proceso de programación es el
siguiente: Dado un determinado problema el programador debe
idear una solución y expresarla usando un algoritmo; luego debe
codificarlo en un determinado lenguaje de programación y por
último ejecutar el programa en el computador el cual refleja una
solución al problema inicial.

Esto es a grandes rasgos lo que hace el programador de


computadores. La parte que nos corresponde es: “Dado un
determinado problema idear una solución y expresarla usando un
3 ALGORITMO!”.
Tema 6: Algoritmos y Programas

Introducción

 Ciclo de vida del software

mantenimiento
análisis
diseño
IMPLEMENTACIÓN
PRUEBAS

documentación

4
Tema 6: Algoritmos y Programas

¿QUÉ ES UN ALGORITMO?

La palabra algoritmo se deriva de la traducción al latín de


la palabra árabe alkhowarizmi, nombre de un
matemático y astrónomo árabe que escribió un tratado
sobre manipulación de
números y ecuaciones en el siglo IX.

Un algoritmo es una serie de pasos organizados que


describe el proceso que se debe seguir,
para dar solución a un problema específico.

5
Tema 6: Algoritmos y Programas

Breve reseña histórica

– Los primeros algoritmos registrados datan de


Babilonia, originados en las matemáticas como
un método para resolver un problema usando
una secuencia de cálculos más simples.

– El primer algoritmo famoso es el algoritmo de


Euclides usado para el cálculo del MCD de dos
números (Grecia, aproximadamente del s. IV a.
C.).

6
Tema 6: Algoritmos y Programas

Características de un algoritmo:

– Preciso (no ambiguo): la instrucción a ejecutar


en cada paso queda determinada perfectamente.
– Determinista: debe comportarse del mismo
modo ante las mismas condiciones. Si se sigue
dos veces en el mismo entorno, el resultado
obtenido es el mismo.
– Finito: Tiene fin tras un número determinado de
pasos.

7
Tema 6: Algoritmos y Programas

¿TIPOS DE ALGORITMOS…?

Existen dos tipos y son llamados así por su naturaleza:

 Cualitativos: Son aquellos en los que se describen los


pasos utilizando palabras.
Ejemplo de Algoritmo Cualitativo - Realizar una receta.

 Cuantitativos: Son aquellos en los que se utilizan


cálculos numéricos para definir los pasos del proceso.
Ejemplo de Algoritmos Cuantitativo - Obtener la suma de 2
números.

8
Tema 6: Algoritmos y Programas

Lenguajes Algorítmicos

Un Lenguaje algorítmico es una serie de símbolos y reglas


que se utilizan para describir de manera explícita un proceso.

Tipos de Lenguajes Algorítmicos

 No Gráficos: Representa en forma descriptiva las


operaciones que debe realizar un algoritmo (seudocódigo).

 Gráficos: Es la representación gráfica de las operaciones


que realiza un algoritmo (diagrama de flujo).

9
Tema 6: Algoritmos y Programas

Pseudocódigo:

– Lenguaje similar al natural, pero al que se añaden


reglas para conseguir una definición precisa del
algoritmo.

– Algunas reglas:
 Empieza por la palabra “Inicio” y termina con la palabra “Fin”
 Se escribe una acción por línea
 Se subrayan las palabras clave

10
Tema 6: Algoritmos y Programas

Diagrama de Flujo (DF):

– Representación gráfica del flujo de control de un


algoritmo
– Elementos del (DF):

Entrada/
Terminal Proceso
Salida

no Conectores
Decisión Subprograma

si

11
Tema 6: Algoritmos y Programas

Ejemplos de algoritmo
Pseudocódigo Diagrama de flujo
Inicio
Entorno
suma, num
SUMA <- 2
Inicio NUM <- 4
// Iniciar variables
SUMA <- SUMA +
suma<- 2 NUM
num <- 4
// Suma de los números SI NUM <- NUM + 2
repetir
suma <- suma + num
NUM <= 100
num <- num +2
mientras (num <= 100) NO
// Escribir resultado escribir
escribir (suma) SUMA
Fin
12 Fin
Tema 6: Algoritmos y Programas

Ejemplos de algoritmo

 Hay que tener en cuenta que para resolver


un determinado problema existe más de un
algoritmo
– Todos encuentran la solución correcta…
pero unos lo hacen mejor que otros.

13
Tema 6: Algoritmos y Programas

Ejemplos de algoritmo

 Multiplicar 981 por 1234


– Varias formas (algoritmos) de hacerlo:
 Método clásico
 Multiplicación “à la russe”
 Divide y vencerás
– Con todas se alcanza la solución
 ¿Cuál es la mejor? ¿Por qué?

14
Tema 6: Algoritmos y Programas

Ejemplos de algoritmo

Método tradicional
Pero en UK…
981 981
* 1234 * 1234
3924 981
2943 1962
1962 2943
981 3924
1210554 1210554

15
Tema 6: Algoritmos y Programas

Ejemplos de algoritmo

Multiplicación “à la russe”

 Se escriben el multiplicando y el multiplicador iniciando dos


columnas.

 Se obtienen los siguientes elementos de las columnas, hasta


que quede un 1 en la columna de la izquierda:
 La columna de la izquierda se va dividiendo entre dos,
ignorando los restos.
 La columna de la derecha se va multiplicando por dos.

 El resultado se obtiene sumando los números de la columna de


la derecha cuyo número correspondiente de la columna izquierda
sea impar.

 Sólo es necesario saber sumar, multiplicar por 2 y dividir entre


16 2. Se encuentra en el hardware de las ALU’s.
Tema 6: Algoritmos y Programas

Ejemplos de algoritmo

 Multiplicación “à la russe”
981 1234
490
245 4936
122
61 19744
30
15 78976
7 157952
3 315904
1 631808
SUMA = 1210554
17
Tema 6: Algoritmos y Programas

Ejemplos de algoritmo

Divide y vencerás
• Números con precisión par
• Se dividen por la mitad ambos operandos
• Se realizan las 4 multiplicaciones cruzadas
• Se suman los resultados desplazando previamente hacia
la izquierda
• Algoritmo
recursivo

18
Tema 6: Algoritmos y Programas

Ejemplos de algoritmo

 Ejercicio:
– ¿Cuál es mejor y por qué?
– ¿Qué criterios podemos utilizar para valorar un
algoritmo?

19
Tema 6: Algoritmos y Programas

PSEUDOCODIGO

20
Tema 6: Algoritmos y Programas

ESTRUCTURA

21
Tema 6: Algoritmos y Programas

ELEMENTOS

22
Tema 6: Algoritmos y Programas

CONDICIONES

23
Tema 6: Algoritmos y Programas

CICLOS O BUCLES

24
Tema 6: Algoritmos y Programas

EJEMPLOS
A continuación te mostramos un ejemplo en pseudocódigo> de un programa
que solicita un número al usuario, y muestra el resultado por pantalla:

ALGORITMO Mostrar;
VAR
ENTERO entrada;
INICIO
ESCRIBIR("Dame un número");
LEER( entrada );
ESCRIBIR( entrada );
FIN
25
Tema 6: Algoritmos y Programas

Pedir dos números y mostrar


la suma de ambos

ALGORITMO Sumar;
VAR
ENTERO Numero1, Numero2, Resultado;
INICIO
ESCRIBIR("Dime dos números para sumar: ");
LEER(Numero1, Numero2);
Resultado <- Numero1 + Numero2;
ESCRIBIR("La suma es: ", Resultado);
FIN
26
Tema 6: Algoritmos y Programas

Programación en: LPP

Qué es LPP?
Este lenguaje de programación fue creado como proyecto
de graduación del Ingeniero Iván Deras.

Lpp es un lenguaje de programación para principiantes, el


cual fue diseñado con la idea de facilitar el proceso de
enseñanza-aprendizaje de un leguaje de programación en
nuestro idioma, este contiene la mayoría de instrucciones
que tienen los lenguajes de programación .

27
Tema 6: Algoritmos y Programas

INSTALACION DEL PROGRAMA

28
Tema 6: Algoritmos y Programas

Declarar variables

Los tipos de datos básico soportados son los siguientes :

1. Entero : solo números enteros.


2. Real : números con cifras decimales.
3. Carácter : cuando queremos guardar un solo carácter.
4. Booleano : cuando necesitamos guardar una expresión
lógica (verdadero o falso)
5. Cadena : cuando queremos guardar letras .

29
Tema 6: Algoritmos y Programas

Operador Y Función

30
Tema 6: Algoritmos y Programas

ESTRUCTURA
DEFINICION DE VARIABLES
Entero sueldo, aumento
Cadena[25] nombre
Inicio
Escriba “Ingresar el nombre del empleado”
Lea nombre
Escriba “Ingresar el sueldo del empleado”
Lea sueldo
Aumento sueldo * 1.25
Escriba “Nuevo sueldo con el 25% de aumento”
Escriba aumento
Fin

31

También podría gustarte