You are on page 1of 45

Capitulo III

ALGORITMOS

Docente: Ing. Eleana Regina Vsquez Cutipa

Marco Histrico
La palabra algoritmo se deriva del
nombre latinizado del gran Matemtico
rabe Mohamed Ibn Al Kow Rizmi, el cual
escribi sobre los aos 800 y 825 su obra
Quitad Al Mugabala, donde se recoga el
sistema de numeracin hind y el
concepto del cero. Fue Fibinacci, el que
tradujo la obra al latn y el inicio con la
palabra: Algoritmi Dicit.

Algoritmo

El lenguaje algortmico es aquel por


medio al cual se realiza un anlisis
previo del problema a resolver y
encontrar un mtodo que permita
resolverlo. El conjunto de todas las
operaciones a realizar y el orden en
que se deben efectuarse, se le
denomina algoritmo. Es un mtodo
para resolver un problema mediante
una serie de datos precisos, definidos
y finitos.

Un algoritmo es un conjunto
ordenado y finito de instrucciones
que conducen a la solucin de un
problema

Si un algoritmo puede ser ejecutado por una computadora, se


dice que es un algoritmo computacional; en caso contrario,
se dice que es un algoritmo no computacional.

Para que un algoritmo pueda ser ejecutado por una


computadora se necesita expresar el algoritmo en
instrucciones comprensibles por la computadora, para esto se
requiere de un determinado lenguaje de programacin.

Al algoritmo expresado en un determinado lenguaje de


programacin, se denomina programa.

Un programa es la implementacin o expresin de un algoritmo


en un determinado lenguaje de programacin siguiendo las
reglas establecidas por el lenguaje elegido

Relacin entre Problema, Algoritmo


y programa

Pasos para la resolucin de un


problema
1.

2.

3.

Diseo de algoritmo, que describe la secuencia


ordenada de pasos que conducen a la solucin
de un problema dado. (Anlisis del
problema y desarrollo del algoritmo).
Expresar el algoritmo como un programa de
lenguaje de programacin adecuado. (Fase de
codificacin.)
Ejecucin y validacin del programa por la
computadora.

Los algoritmos son independientes tanto del


lenguaje de programacin en que se expresan
como de la computadora que lo ejecuta.

En la ciencia de la computacin y en la
programacin, los algoritmos son ms
importantes que los lenguajes de programacin
o las computadoras.

Un lenguaje de programacin es tan solo un


medio para expresar un algoritmo y una
computadora es solo un procesador para
ejecutarlo

Caractersticas de un algoritmo
Ser preciso.
Ser definido.
Ser finito:
Presentacin formal:
Correccin:
Eficiencia:

Definicin de un algoritmo
Debe definir tres partes:
Entrada

Proceso

Salida

Algoritmo para expresar en centmetros y


pulgadas un cantidad dada en metros.
Entrada:
La cantidad M de metros.
Proceso:
Clculo de centmetros: C = M*100.
Clculo de pulgadas: P=C/2.4
Salida:
La cantidad C de centmetros y la cantidad P de
pulgadas

Diseo del Algoritmo


En la etapa de anlisis del proceso de programacin se
determina que hace el programa. En la etapa de diseo
se determina como hace el programa la tarea solicitada.
Los mtodos mas eficaces para el proceso de diseo se
basan en el conocido por Divide y Vencers, es decir, la
resolucin de un problema complejo se realiza
dividiendo el problema en sub. problemas y a
continuacin dividir estos sub. Problemas en otros de
nivel mas bajo, hasta que pueda ser implementada una
solucin en la computadora. Este mtodo se conoce
tcnicamente como diseo descendente (Top Down) o
modular.

Anlisis De Algoritmos

0 ms
entradas

Memoria

E/S

ALGORITMO

Comunicacin

1 ms
salidas

Un algoritmo es mejor cuantos menos recursos consuma, su


facilidad de programarlo, corto, fcil de entender, robusto, etc.

Tcnicas para Representar Algoritmos


Pseudocdigo.
Diagrama de flujo
Diagrama N-S (NASSI
SCHNEIDERMAN) conocido como
diagramas de Chapin

El Pseudocdigo
Es un lenguaje de pseudoprogramacin utilizado
para escribir algoritmos computacionales. El
objetivo del pseudocdigo es permitir que el
programador se centre en los aspectos lgicos
de la solucin, evitando las reglas de sintaxis de
los lenguajes de programacin. Utiliza palabras y
frases del lenguaje natural.

Todo pseudocdigo debe posibilitar la


descripcin de:
Instrucciones de entrada/salida.
Instrucciones de proceso.
Sentencias de Control del flujo de
ejecucin.
Acciones compuestas, a referir
posteriormente.

Variables
Una variable es una localizacin o casillero en la
memoria principal que almacena un valor que puede
cambiar en el transcurso de la ejecucin del programa.
Cuando un programa necesita almacenar un dato,
necesita una variable.
Toda variable tiene un nombre, un tipo de dato y un
valor. Antes de poder utilizar una variable es necesario

declararla especificando su nombre y su tipo de dato.

Para declarar variables usaremos los siguientes formatos:


Declaracin de una variable:
tipo nombre

Declaracin de varias variables con el mismo tipo de dato:


tipo nombre1, nombre2, nombre3, ..., nombren

Tipo

Es el tipo de dato de la variable que puede ser: ENTERO (si la variable almacenar un nmero
entero) , REAL (si la variable almacenar un nmero decimal) , CARACTER (si la variable
almacenar un carcter), CADENA (si la variable almacenar un conjunto de caracteres) o
LOGICO (si la variable almacenar el valor verdadero o el valor falso).

nombre1,
nombre2,
nombren

Nombres de las variables . El nombre de una variable debe comenzar con una letra, un smbolo
de subrayado o un smbolo de dlar. Los dems caracteres del nombre puede ser letras,
smbolos de subrayado o smbolo de dlar. Debe considerarse tambin que una letra mayscula
se considera diferente de una letra minscula.

La siguiente instruccin declara la variable edad de tipo ENTERO y la variable


descuento de tipo REAL.
ENTERO edad
REAL descuento
Esto crea los casilleros de memoria edad y descuento. Luego de la creacin,
las variables estn indefinidas ( ? ).
Edad
?
Descuento
?
La siguiente instruccin declara las variables nota1, nota2 y nota3, todas de
tipo ENTERO.
ENTERO nota1, nota2, nota3

Esto crea los casilleros de memoria nota1, nota2 y nota3. Luego de la creacin,
las variables estn indefinidas ( ? ).
Nota1
Nota2
Nota3

?
?
?

Literales
Se denominan literales a todos aquellos valores que figuran
en el pseudocdigo y pueden ser:

Literales
enteros
reales

Valores
12, 20300, 15, etc.
3.1416, 2345.456, etc.

carcter

'a', 'B', ';', '<', '+', etc.

cadena

"Hola", "Algoritmos Computacionales", etc.

lgicos

verdadero, falso

Instrucciones Algortmicas Bsicas


Existen tres instrucciones algortmicas bsicas que son
las siguientes

Entrada
Consiste en obtener un dato de un dispositivo de
entrada, como el teclado, y almacenarlo en una variable.
En general, la accin de ingresar un dato a una variable
se expresa en el pseudocdigo mediante la palabra
LEER, de la siguiente forma:

LEER variable
Ejemplo; LEER estatura

Salida
Consiste en mostrar el valor de una variable en un
dispositivo de salida, como la pantalla. En
general, la accin de mostrar el valor de una
variable se expresa en el pseudocdigo mediante
la palabra IMPRIMIR de la siguiente forma:

IMPRIMIR variable
Ejemplo, IMPRIMIR Edad

Asignacin
Consiste en asignar a una variable el valor de
una expresin. La expresin puede ser una
simple variable, un simple literal o una
combinacin de variables, literales y
operadores. La asignacin se expresa en el
pseudocdigo de la siguiente forma:

variable = expresin
Donde variable y el valor de expresin deben
tener el mismo tipo de dato.

Problema: Elabore el algoritmo y su


pseudocdigo para calcular e imprimir el
rea de un triangulo
Solucin:
Declarar las variables.
b,h: real
Entrada: (datos a introducir al computador)
Base=b
Altura=h
Operacin:
Calcular rea del triangulo (Base x Altura)/2
Salida: (Resultado que mostrar el computador)

Pseudocdigo
1. Iniciar proceso.
2. Declarar las variables
h: real
b: real
A: real.
3. Leer b.
4. Leer h.
5. A=(b*h)/2
6. Imprimir A.
7. Fin del proceso

Expresiones Aritmticas
Es Combinacin de variables, literales y
operadores aritmticos.
Operadores Aritmticos
Operador

Significado

Ejemplo

Suma

a+b

Resta

a-b

Multiplicacin

a*b

Divisin

a/b

Residuo

a%b

Reglas de Jerarqua de los Operadores Aritmticos

Operador

Orden de evaluacin

()

Se evalan en primer lugar

*, /, %

Se evalan en segundo lugar

+, -

Se evalan en tercer lugar

Expresiones Lgicas
Combina variables, literales, operadores aritmticos,
operadores relacionales y operadores lgicos.
Operadores Relacionales
Operado
r

Significado

Ejemplo

>

mayor que

a > b

>=

mayor o igual que

a >= b

<

menor que

a < b

<=

menor o igual que

a <= b

==

igual a

a == b

!=

diferente de

a != b

Operadores Lgicos

Operador Significado

Ejemplo

no

!a

&&

a && b

||

a || b

DIAGRAMAS DE FLUJO

Es un esquema para
representar grficamente
un algoritmo. Se basan
en la utilizacin de
diversos smbolos para
representar operaciones
especficas. Se les llama
diagramas de flujo
porque los smbolos
utilizados se conectan
por medio de flechas
para indicar la secuencia
de operacin.

Caractersticas que debe cumplir un


diagrama de flujo
Existe siempre un camino que permite llegar
a una solucin (finalizacin del algoritmo).
Existe un nico inicio del proceso.
Existe un nico punto de fin para el proceso
de flujo (salvo del rombo que indica una
comparacin con dos caminos posibles).

Tipos de Diagramas de Flujo


Formato Vertical:
En l el flujo o la secuencia
de las operaciones, va de
arriba hacia abajo. Es una
lista ordenada de las
operaciones de un proceso
con toda la informacin que
se considere necesaria,
segn su propsito.

Formato Horizontal:
En el flujo o la secuencia de las
operaciones, va de izquierda a derecha

Formato Panormico:
El proceso entero est
representado en una sola carta
y puede apreciarse de una
sola mirada mucho ms
rpidamente que leyendo el
texto, lo que facilita su
comprensin, aun para
personas no familiarizadas.
Registra no solo en lnea
vertical, sino tambin
horizontal, distintas acciones
simultneas y la participacin
de ms de un puesto o
departamento que el formato
vertical no registra.

Formato Arquitectnico:
Describe el itinerario de
ruta de una forma o
persona sobre el plano
arquitectnico del rea de
trabajo. El primero de los
flujo gramas es
eminentemente
descriptivo, mientras que
los ltimos son
fundamentalmente
representativos.

Simbologa
La estandarizacin de los smbolos para la
elaboracin de Diagramas de Flujo tard varios
aos. Con el fin de evitar la utilizacin de
smbolos diferentes para representar procesos
iguales, la Organizacin Internacional para la
Estandarizacin (ISO, por su sigla en ingls) y el
Instituto Nacional Americano de Estandarizacin
(ANSI, por su sigla en ingls), estandarizaron
los smbolos que mayor aceptacin tenan en
1985

Inicio/Final
Se utiliza para indicar el inicio y el final de un diagrama; del Inicio
slo puede salir una lnea de flujo y al Final slo debe llegar una
lnea.
Entrada General
Entrada/Salida de datos en General (en esta gua, solo la
usaremos para la Entrada).
Entrada por teclado
Instruccin de entrada de datos por teclado. Indica que el
computador debe esperar a que el usuario teclee un dato que
se guardar en una variable o constante.
Accin/Proceso General
Indica una accin o instruccin general que debe realizar el
computador (cambios de valores de variables, asignaciones,
operaciones aritmticas, etc).

Llamada a subrutina
Indica la llamada a una subrutina o procedimiento determinado.
Flujo
Indica el seguimiento lgico del diagrama. Tambin indica el
sentido de ejecucin de las operaciones.
Decisin
Indica la comparacin de dos datos y dependiendo del resultado
lgico (falso o verdadero) se toma la decisin de seguir un camino
del diagrama u otro.
Iteracin
Indica que una instruccin o grupo de instrucciones deben
ejecutarse varias veces

Salida Impresa
Indica la presentacin de uno o varios resultados en forma
impresa.

Salida en Pantalla
Instruccin de presentacin de mensajes o resultados en pantalla.
Conector
Indica el enlace de dos partes de un diagrama dentro de la misma
pgina.
Conector
Indica el enlace de dos partes de un diagrama en pginas diferentes

DIAGRAMA DE PROCESO Y
OPERACIONES

PROCESO
PRODUCTIVO
DE LA
OBTENCION
DEL AZUCAR

DIAGRAMAS DE PROCESOS
CONSTRUCTIVOS

You might also like