Sei sulla pagina 1di 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

Comunicacin

ALGORITMO

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). 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.

nombre1, nombre2, nombren

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
12, 20300, 15, etc.

Valores
3.1416, 2345.456, etc.
'a', 'B', ';', '<', '+', etc. "Hola", "Algoritmos Computacionales", etc.

reales
carcter cadena

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.

Expresiones Aritmticas
Es Combinacin de variables, literales y operadores aritmticos.
Operadores Aritmticos
Operador
+ * / %

Significado
Suma Resta Multiplicacin Divisin Residuo

Ejemplo
a+b a-b a*b a/b 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
mayor que mayor o igual que menor que

Ejemplo
a > b a >= b a < b

<=
== !=

menor o igual que


igual a diferente de

a <= b
a == b a != b

Operadores Lgicos

Operador Significado ! && || no y

Ejemplo !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

Potrebbero piacerti anche