Está en la página 1de 14

Curso de Fundamentos de

Programación
Manual Del Participante

MODULO. I
ALGORITMO COMPUTACIONALES
09 de octubre del 2018

Facilitador:
Hansel Gabriel Rodríguez Roa

1
Índice

Concepto de algoritmo Error! Bookmark not defined.


Clasificación de los tipos de algoritmos 5
Según su sistema de signos 5
Algoritmo cualitativos 5
Algoritmo cuantitativo 6
Algoritmo computacional 7
Algoritmo no computacional 8
Según su funcion 9
Algoritmo marcaje 9
Algoritmo probabilístico 9
Bibliografía Error! Bookmark not defined.
Anexo Error! Bookmark not defined.

2
¿Qué es un algoritmo?

Se denomina algoritmo a una combinación de pasos lógicos dispuestos de forma


organizada para resolver un problema.

Los algoritmos ayudan a ordenar el trabajo en numerosas disciplinas. En informática


se utilizan para expresar las ‘instrucciones’ con las que se realizan las funciones, y
se suele expresar mediante diferentes tipos de diagrama.

El esquema más conocido es el diagrama de


flujo, que muestra paso por paso como se debe
proseguir, y principalmente, las preguntas que el
operador se debe hacer para proseguir con el
siguiente paso y así llegar al final del proceso. Si
algún paso falla, el algoritmo permite “retroceder
ordenadamente” la cantidad de pasos que sean
necesarios para corregir el error.

Entre los distintos tipos de algoritmos que existen


destacan los que se clasifican según su sistema de
signos y según su función.

Por definición, generalmente son diseños


rigurosos y lógicos, como operaciones
matemáticas, que han probado ser óptimos para
solucionar alguna dificultad en cuestión.

3
Básicamente un algoritmo es la mejor solución conocida para un problema en
particular. Según su estrategia y su función existen muchos tipos de algoritmos.

Algunos de estos tipos son: algoritmos dinámicos, algoritmos al reverso, algoritmos


de fuerza bruta, algoritmos oportunistas, algoritmos de marcaje y algoritmos
aleatorios, entre otros.

Los algoritmos tienen distintos usos en muchos campos. Desde el área de


computación, pasando por las matemáticas hasta el área de marketing. Existen
miles de algoritmos apropiados para resolver problemas en cada área.

En matematica, computación e informatica,


los algoritmos juegan un papel fundamental al
momento de resolver problemas de manera
satisfactoria y óptima. Hoy estaremos
hablando de los tipos de algoritmos en
informática aplicada; un tópico especial para
programadores.

Los algoritmos informáticos pueden ser


clasificados de diversas maneras según el
atributo que se busque clasificar.

Clasificación de los tipos de algoritmos


Según su sistema de signos
Algoritmos cualitativos
Estos algoritmos son aquellos en los que se colocan elementos verbales.

Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están


involucrados cálculos numéricos. Las instrucciones para armar un aeromodelo,
para desarrollar una actividad física o encontrar un tesoro, son ejemplos de
algoritmos cualitativos.

Trate de diseñar el algoritmo para estos casos

 Tomar mate
 Utilizar una guía telefónica
 Cocinar siguiendo una receta
 Cambiar una llanta de automóvil
 Buscar una palabra en el diccionario

4
Los algoritmos cuantitativos involucran cálculos numéricos.

Ejemplos:

 Solución de un factorial
 Solución de una ecuación de segundo grado
 Encontrar el mínimo común multiplicador.

Técnicas de representación

Para la representación de un algoritmo, antes de ser convertido a lenguaje de


programación, se utilizan algunos métodos de representación escrita, gráfica o
matemática. Los métodos más conocidos son:

 Diagramación libre (Diagramas de flujo)


 Diagramas Nassi-Shneiderman
 Pseudocódigo
 Lenguaje natural (español, inglés, etc.)
 Fórmulas matemáticas

El lenguaje natural puede no ser suficientemente preciso, permitiendo


ambigüedades, obteniendo una descripción no del todo satisfactoria. Las fórmulas,
propias del lenguaje matemático, son un buen sistema de representación, pero no
suelen ser fáciles de convertir en programas. Por lo tanto, trataremos en este curso
los tres primeros modelos.

Ejemplo No. 1: Administración de un medicamento Vaya al botiquín de su casa y


tome un medicamento cualquiera. Muchos de ellos traen en el interior de su
empaque un documento con las indicaciones para su correcta aplicación. Piense y
analice: ¿Qué sucede si se omite un paso en este algoritmo?

Ejemplo No. 2: Receta de cocina Vaya a la alacena de su casa y tome un producto


alimenticio cualquiera. Muchos de ellos traen en el empaque las indicaciones para
su correcta preparación.
Piense y analice: ¿Qué sucede si se invierte un par de pasos en este algoritmo?

5
Algoritmos cuantitativos

Son lo contrario de los algoritmos cualitativos, porque se colocan elementos


numéricos. Este tipo de algoritmos se utilizan en las matemáticas para realizar
cálculos. Por ejemplo, para encontrar una raíz cuadrada o resolver una ecuación.
Algoritmo Cuantitativo: se utilizan cálculos específicos para definir el proceso, y
obtener valores definidos.

Los algoritmos cuantitativos son aquellos en los que se utilizan cálculos numéricos
para definir los pasos del proceso.

Ejemplo 1:
Obtener la suma de 2 números.
1. Inicio
2. Declarar (a,b,c)
3. Ingresar (a,b)
4. c=a+b
5. Mostrar (c)
6. Fin

Ejemplo 2:
Suma de dos números
a=3
b=4
c=a+b
imprimir(c)
El resultado de nuestro programa sería:
7

Ejemplo 3:
Se quiere calcular el área de un rectángulo, se tiene en cuenta la forma que es (A x
B) en la cual a y b son dos de los lados.
Se solicita la longitud del lado A. A=8
Se solicita la longitud del lado B. B=13

Luego se multiplica el lado A con el lado B y el resultado es el área del rectángulo.


C= AXB
C=104

6
Algoritmo computacional

Son los algoritmos que se hacen con una computadora; muchos de estos algoritmos
son más complejos y por eso necesitan ser realizados a través de una máquina.
También pueden ser algoritmos cuantitativos que se optimizan.

Un algoritmo computacional: es una secuencia de pasos finitos, lógicos y


secuenciales para dar solución a un problema usando la computadora.

Los arquitectos realizan planos antes de realizar los edificios. Los informáticos
realizamos el diseño del Algoritmo antes de crear un programa. Por lo tanto, si el
algoritmo está mal diseñado, el programa también lo estará.

Con frecuencia a los alumnos de la carrera de informática se les hace difícil aprender
a crear algoritmos. Esta dificultad se la atribuyo a que en la educación tradicional
nos han enseñado a repetir los conocimientos que adquirieron nuestros profesores
y no nos enseñan a crear.

¡Los algoritmos te dan la maravillosa oportunidad de aprender a ser CREATIVO y


pensar!!!

Elabore un algoritmo que permita realizar la suma de 3 edades

DatosEdad 1=?,Edad 2=?,Edad 3=?

#Include<iostream.h>

#Include<conio.h>

Int Edad ;

Main( )
{
Clrscr()
Cout<<“ingrese edad 1”;
Cin>> edad 1;
Cout<<“ingrese edad 2”;
Cin>> edad 2;
Cout<<“ingrese edad 3”;
Cin>> edad 3;
Suma=edad 1+edad 2+edad 3;
Cout << “la suma de las edades es” <<suma;
getch ();
return (0);
}
fin

7
Algoritmo no computacional

Estos algoritmos son aquellos que no pueden realizarse con una computadora; por
ejemplo, la programación de un televisor.

Es un algoritmo que no requiere de una computadora para ser ejecutado.

Ejemplo. instalación de un equipo de sonido

ejemplo algoritmo no computacional

algoritmo para ir a la escuela.

1 me despierto
2.me levanto de la cama
3.me lavo los dientes
4.me desvisto
5.me baño
6.me visto
7.desayuno
8.tomo el transporte a la escuela
9.camino a la escuela

Según su función

Son algoritmos que ayudan rentabilizar un sistema económico dentro de un


comercio.

8
Según su función

Algoritmo de marcaje
Este algoritmo estudia al
cliente, dependiendo de las
actitudes que presenta y
crea un sistema dinámico
para establecer el precio de
los productos. También
estudia las probabilidades
de ganancia, cuando se
decide lanzar una oferta o
rebajas.

Algoritmo de probabilísticos

Son algoritmos aleatorios que dependen de una probabilidad o hipótesis. En


algunos casos el uso surge naturalmente, como las planificaciones a futuro. En este
caso no se requiere de grandes conocimientos, ni operaciones matemáticas. Claro
está que se usa solo para estimar una probabilidad cierta o incierta, lo cual significa
que este algoritmo siempre presentará un porcentaje como margen de error.

Ejemplo:

9
Supongamos un algoritmo 1/2-correcto, es decir, nos da la solución correcta con
probabilidad 1/2. Si ejecutamos el algoritmo k veces, la probabilidad de que falle
todas ellas es 1/2k.

Por tanto, si nos da la respuesta que sabemos es cierta, estamos seguros de ella.
Si por el contrario nos devuelve la respuesta que no es segura en k ejecuciones,
podemos darla por válida con una probabilidad de (1-1/2k), lo que para k=10 supone
mejor que 0,999-correcto.

En muchos casos, al introducir elecciones aleatorias en un algoritmo se pueden


obtener mejores rendimientos que al aplicar el algoritmo determinístico puro.
Un algoritmo tipo Montecarlo asegura un tiempo fijo de ejecución, pero no está
garantizado que la respuesta sea correcta, aunque lo puede ser con alta
probabilidad.

Un algoritmo tipo Las Vegas siempre entrega la respuesta correcta, pero no


garantiza el tiempo total de ejecución, aunque con alta probabilidad éste será bajo.
Ejemplo: algoritmo tipo Montecarlo para verificar la multiplicación de dos
matrices.

Sean A, B, C matrices de N x N. Se desea chequear si A * B =C.


Determinísticamente, esto toma tiempo O(n3) usando el algoritmo estándar.

Probabilísticamente, se puede chequear si A * B =C. en tiempo O(n2) con baja


probabilidad de error. El algoritmo es el siguiente:

for (i=1; i<=k; i++)


{
Generar un vector aleatorio de N x 1 con entradas en {-1, 1};
if (A*(Bx) != Cx)
return false; // A*B != C
}

return true;
// A*B = C con alta probabilidad

La complejidad de este algoritmo es

. A continuación, se muestra que para este algoritmo:


Sea . Si para algún i, j, entonces
, donde x' es el vector donde se cambia xj por -xj. Por lo tanto, en cada iteración del
algoritmo se tiene que , y dado que se realizan k iteraciones se
tiene que .

10
Ejemplo: algoritmo tipo Las Vegas para colorear conjuntos.
Sean k conjuntos C1, ..., Ck con r elementos cada uno (no disjuntos), y .
Se pide colorear los elementos de color rojo o azul, tal que ningún Ci sea
homogéneo.

Algoritmo:

while (true)
{
Colorear los elementos aleatoriamente;
if (ningún Ci es homogéneo)
break;
}

¿Cuántas veces es necesario repetir el ciclo para obtener una respuesta?


Pr (Ci homogéneo) = Pr (todos los elementos de Ci rojos) + Pr (todos los elementos
de Ci azules) = 1/2r + 1/2r = 1/2r-1
=> Pr (algún Ci homogéneo) = k/2r-1 <= 1/2 (ya que k<=2r-2).

Esto implica que en promedio el ciclo se ejecuta 2 veces => O(k*r).

11
Bibliografía
1. http://moodle2.unid.edu.mx/dts_cursos_mdl/lic/IC/EA/AM/06/Algoritmos.pdf
2. https://aulatec.wordpress.com/caracteristicas-y-propiedades-de-los-algoritmos/
3. https://recursosinformaticablog.wordpress.com/2017/02/02/instrucciones-y-tipos-
de-instrucciones/
4. https://ltjnc.wordpress.com/algoritmo-computacional/
5. Diversas fuentes de la internet.
6. https://brainly.lat/tarea/2393461

12
Anexo
1. PREGUNTAS Y EJERCICIOS SOBRE TIPOS DE ALGORITMOS

1. En una frase corta explique la diferencia entre algoritmo cuantitativo y


algoritmo cualitativo

2. Un algoritmo cualitativo es cuando sus pasos o introducciones no


estos involucrados cálculos numerarios

3. Haciendo uso de su lenguaje natural, escriba un algoritmo para cada


uno de los ejemplos de tareas que se pueden resolver con los
algoritmos cualitativos

2.CREAR ALGORITMO DE:

-UTILIZAR UNA GUÍA TELEFÓNICA:

-COCINAR SIGUIENDO UNA RECETAS.

-CAMBIAR UNA LLANTA A UN AUTOMÓVIL.

-BUSCAR UNA PALABRA EN EL DICCIONARIO.

3. Haciendo uso de su lenguaje natural, escriba un algoritmo para cada


uno de los ejercicios planteados y que se puedan resolver con algoritmos
cualitativos.

- SOLUCIÓN FACTORIAL.

-MÍNIMO COMÚN MÚLTIPLO.

-SOLUCIÓN DE UNA ECUACIÓN DE SEGUNDO GRADO.

13
4.ESCRIBA VERDADERO O FALSO

a) Es un lenguaje de programación, los algoritmos se deben digitar


exactamente igual. es decir, con los mismos términos y palabras,
porque como lo dice su definición es un modelo de solución para
un problema:

b) Los algoritmos cualitativos involucran operaciones numéricas:

c) El lenguaje natural y el matemático son muy precisos y por tanto


pueden ser traducidos fielmente al lenguaje de programación:

14