ALGORITMOS2

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 10

algoritmos

DEFINICIÓN DE 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.

TIPOS DE ALGORITMO:

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

● Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.

● Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para

definir los pasos del proceso.

Definición de Lenguaje

Es una serie de símbolos y reglas que se utilizan para describir de manera explícita un
proceso y sirven para transmitir uno o más mensajes (ideas) entre dos entidades
diferentes.

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

● Gráficos: Es la representación gráfica de las operaciones que realiza un

algoritmo (diagrama de flujo).

● No Gráficos: Representa en forma descriptiva las operaciones que debe realizar

un algoritmo (pseudocódigo).

CARACTERÍSTICAS:
Las características de un buen algoritmo son:

● Debe tener un punto particular de inicio.

● Debe ser definido, no debe permitir dobles interpretaciones.

● Debe ser general, es decir, soportar la mayoría de las variantes que se puedan

presentar en la definición del problema.

● Debe ser finito en tamaño y tiempo de ejecución.

INSTRUCCIONES:

Para que una instrucción se ejecute tiene que ser llevada a memoria. En cuanto al orden
de ejecución de las instrucciones, el programa puede ser de dos tipos:

⮚ Programas lineales: Se va ejecutando una instrucción más otra y el orden de

ejecución es igual al orden de escritura.

⮚ Programas no lineales: Las instrucciones no se ejecutan en el mismo orden en

el que aparecen escritas, sino que se realizan saltos que nos mandan de unas
instrucciones a otras.

Nunca se deben hacer saltos no lineales.

Tipos de instrucciones:

1. Inicio y fin.
2. Asignación: Dar un valor a una variable.
3. Lectura / escritura: Introducir o sacar información por dispositivos E/S.
4. Instrucciones de bifurcación: Alternan el orden de ejecución del programa. Salto
a otra instrucción que no es la siguiente.

4.1. Bifurcación incondicional: El salto se produce siempre que el programa vaya a


esa instrucción: Go to = Ir a.

4.2. Bifurcación condicional: Se ejecutan un conjunto de instrucciones u otras


dependiendo del valor devuelto al evaluar una condición.

DIAGRAMA DE FLUJO:
Un diagrama de flujo es la representación gráfica de un algoritmo. También se puede
decir que es la representación detallada en forma gráfica de cómo deben realizarse los
pasos en la computadora para producir resultados.

Esta representación gráfica se da cuando varios símbolos (que indican diferentes


procesos en la computadora), se relacionan entre si mediante líneas que indican el orden
en que se deben ejecutar los procesos.

Los símbolos utilizados han sido normalizados por el instituto norteamericano de


normalización (ANSI).

SÍMBOLO DESCRIPCIÓN
Indica el inicio y el final de nuestro
diagrama de flujo.

Indica la entrada y salida de datos.

Símbolo de proceso y nos indica la


asignación de un valor en la memoria y/o
la ejecución de una operación aritmética.

Símbolo de decisión indica la realización


de una comparación de valores.

Se utiliza para representar los


subprogramas.

Conector dentro de página. Representa la


continuidad del diagrama dentro de la
misma página.

Conector fuera de página. Representa la


continuidad del diagrama en otra página.

Indica la salida de información por


impresora.

Indica la salida de información en la


pantalla o monitor.
Líneas de flujo o dirección. Indican la
secuencia en que se realizan las
operaciones.
Recomendaciones para el diseño de Diagramas de Flujo

⮚ Se deben se usar solamente líneas de flujo horizontales y/o verticales.

⮚ Se debe evitar el cruce de líneas utilizando los conectores.

⮚ Se deben usar conectores solo cuando sea necesario.

⮚ No deben quedar líneas de flujo son conectar.

⮚ Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo

y de izquierda a derecha.

⮚ Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando

el uso de muchas palabras.

ESTRUCTURAS ALGORÍTMICAS:

Las estructuras de operación de programas son un grupo de formas de trabajo, que


permiten, mediante la manipulación de variables, realizar ciertos procesos específicos
que nos lleven a la solución de problemas. Estas estructuras se clasifican de acuerdo con
su complejidad en:

Estructuras Secuenciales

La estructura secuencial. es aquella en la que una acción (instrucción) sigue a otra en


secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la
siguiente y así sucesivamente hasta el fin del proceso. Una estructura secuencial se
representa de la siguiente forma:
Inicio
Accion1
Accion2
.
.
AcciónX
Fin
Asignación: La asignación consiste, en el paso de valores o resultados a una zona de la
memoria. Dicha zona será reconocida con el nombre de la variable que recibe el valor.
La asignación se puede clasificar de la siguiente forma:

⮚ Simples: Consiste en pasar un valor constate a una variable (a=15)

⮚ Contador: Consiste en usarla como un verificador del número de veces que se

⮚ realiza un proceso (a=a+1)

⮚ Acumulador: Consiste en usarla como un sumador en un proceso (a=a+b)

⮚ De trabajo: Donde puede recibir el resultado de una operación matemática que

⮚ involucre muchas variables (a=c+b*2/4).

Lectura: La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el teclado)


un valor. Esta operación se representa en un Pseudocódigo como sigue:

Leer a, b
Donde “a” y “b” son las variables que recibirán los valores

Escritura: Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora)


un resultado o mensaje. Este proceso se representa en un pseudocodigo como sigue:

Escribe “El resultado es:”, R


Donde “El resultado es:” es un mensaje que se desea aparezca y R es una
variable que contiene un valor.
Ejemplo problemas Secuenciales

Suponga que un individuo desea invertir su capital en un banco y desea saber cuánto
dinero ganara después de un mes si el banco paga a razón de 2% mensual.
Inicio
Leer cap_inv
gan = cap_inv * 0.02
Imprimir gan
Fin

Estructuras Condicionales
Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que,
en base al resultado de esta comparación, se siga un curso de acción dentro del
programa. Cabe mencionar que la comparación se puede hacer contra otra variable o
contra una constante, según se necesite.

Existen dos tipos básicos, las simples y las múltiples.

⮚ Simples: Las estructuras condicionales simples se les conoce como “Tomas de

decisión”. Estas tomas de decisión tienen la siguiente forma:

Si <condición> entonces
Acción(es)
Fin-si

⮚ Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones

o alternativas posibles en función del cumplimiento o no de una determinada


condición. Se representa de la siguiente forma:

Si <condición> entonces
Acción(es)
si no
Fin-si
Acción(es)

Donde:

Si ………………… Indica el comando de comparación


Condición………… Indica la condición a evaluar
entonces……..…… Precede a las acciones a realizar cuando se cumple la condición
acción(es)………… Son las acciones a realizar cuando se cumple o no la condición
si no……………… Precede a las acciones a realizar cuando no se cumple la condición
Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o más
acciones.
⮚ Múltiples: Las estructuras de comparación múltiples, son tomas de decisión

especializadas que permiten comparar una variable contra distintos posibles


resultados, ejecutando para cada caso una serie de instrucciones específicas. La
forma común es la siguiente:

Si <condición> entonces
Acción(es)
si no
Si <condición> entonces
Acción(es)
si no
.
. Varias condiciones
.

⮚ Forma General:

Casos Variable
Op1: Acción(es)
Op2: Acción(es)
.
.
OpN: acción
Fin-casos
Problemas C

Ejemplo problemas Condicionales

Determinar si un alumno aprueba a reprueba un curso, sabiendo que aprobara si su


promedio de tres calificaciones es mayor o igual a 70; reprueba en caso contrario.

Inicio
Leer calif1, calif2, calif3
prom = (calif1 + calif2 + calif3)/3
Si prom >= 70 entonces
Imprimir “alumno aprobado”
si no
Imprimir “alumno reprobado”
Fin-si
Fin

Estructuras Cíclicas
Se llaman problemas repetitivos o cíclicos a aquellos en cuya solución es necesario
utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad especifica
de veces. Esta cantidad puede ser fija (previamente determinada por el programador) o
puede ser variable (estar en función de algún dato dentro del programa). Los ciclos se
clasifican en:

⮚ Ciclos con un Número Determinado de Iteraciones (Hacer-Para) Son aquellos

en que el número de iteraciones se conoce antes de ejecutarse el ciclo. La forma


de esta estructura es la siguiente:

Hacer para V.C = L.I a L.S


Accion1
Accion2
.
ciclo F
.
AccionN
Fin-para

Donde:

V.C Variable de control del ciclo


L.I Limite inferir
L.S Límite superior
En este ciclo la variable de control toma el valor inicial del ciclo y el ciclo se repite
hasta que la variable de control llegue al límite superior.

Ejemplo problemas Condicional Hacer-Para

Calcular e imprimir la tabla de multiplicar de un numero cualquiera. Imprimir el


multiplicando, el multiplicador y el producto.

Inicio
Leer num
Hacer para X = 1 a 10
resul = num * x
Imprimir num, “ * “, X, “ = “, resul
Fin-para
fin.

⮚ Ciclos con un Número Indeterminado de Iteraciones (Hacer-Mientras,


Repetir-Hasta)
Son aquellos en que el número de iteraciones no se conoce con exactitud, ya que esta
dado en función de un dato dentro del programa.

⮚ Hacer-Mientras: Esta es una estructura que repetirá un proceso durante “N”

veces, donde “N” puede ser fijo o variable. Para esto, la instrucción se vale de
una condición que es la que debe cumplirse para que se siga ejecutando. Cuando
la condición ya no se cumple, entonces ya no se ejecuta el proceso. La forma de
esta estructura es la siguiente:
Hacer mientras <condición>
Accion1
Accion2
.
.
AccionN
Fin-mientras

Problemas (Hacer Mientras)

⮚ Ciclos con un Número Determinado de Iteraciones Repetir-Hasta:

Esta es una estructura similar en algunas características, a la anterior. Repite un proceso


una cantidad de veces, pero a diferencia del Hacer-Mientras, el Repetir-Hasta lo hace
hasta que la condición se cumple y no mientras, como en el Hacer-Mientras. Por otra
parte, esta estructura permite realizar el proceso cuando menos una vez, ya que la
condición se evalúa al final del proceso, mientras que en el Hacer-Mientras puede ser
que nunca llegue a entrar si la condición no se cumple desde un principio. La forma de
esta estructura es la siguiente:
Repetir
Accion1
Accion2
.
AccionN
Hasta <condición>
BIBLIOGRAFIA

Ing. Segundo Fidel Puerto Garavito Msc Manual De Algoritmos. Facultad De Ingeniería
de la UCatolica. Colombia.

Percy Elías Vivanco Muñoz y Otros. Técnicas y Diseños de Algoritmos. Impreso en Perú.

JOYANES Aguilar Luis; "Metodología de la programación" Mc Graw Hill.

También podría gustarte