Академический Документы
Профессиональный Документы
Культура Документы
ALGORITMIA
Definicin:
Es la Ciencia que trata sobre los algoritmos. Es uno de los pilares de la informtica
y su relevancia se muestra en el desarrollo de cualquier aplicacin, ms all de la mera
construccin de programas
Para la ejecucin de diversas tareas, el computador requiere de un algoritmo que
mediante un programa le indique de manera metodolgica y precisa la manera como lo va a
realizar.
Algoritmo:
La palabra algoritmo proviene del gran matemtico rabe Mohamed Al Kho
Warizmi.
Definiciones:
Es sencillamente un conjunto de reglas para efectuar algn clculo, bien sea a
mano o, ms frecuentemente, en una mquina (Brassard y Bratley, 2000)
Es una descripcin de los pasos bsicos a seguir para cumplir una determinada
tarea... para que una computadora realice una tarea es necesario definir previamente un
algoritmo (Torrealba, 2004)
Es un mtodo para resolver problemas. El cual consta de una sucesin finita de
pasos no ambiguos, definidos y precisos que se pueden ejecutar en un tiempo finito.
Conjunto de pasos, procedimientos o acciones que nos permiten alcanzar un
resultado o resolver un problema
Caractersticas de un algoritmo:
Las caractersticas fundamentales que debe cumplir todo algoritmo son:
Introduccin a la Programacin
en este momento. Es decir, en cada momento se debe saber que accin nica se
tiene que llevar a cabo.
Los algoritmos son independientes tanto del lenguaje de programacin en que se
expresan como de la computadora que los ejecuta.
Un lenguaje de programacin es tan slo un medio para expresar un algoritmo y una
computadora es slo un procesador para ejecutarlo.
Tanto el lenguaje de programacin como la computadora son los medios para
obtener un fin: conseguir que el algoritmo se ejecute y se efecte el proceso
correspondiente.
Clasificacin de los algoritmos:
Toda actividad que realice el ser humano, responde a un algoritmo.
Los algoritmos se pueden clasificar en cuatro tipos:
Partes de un algoritmo
Todo algoritmo debe obedecer a la estructura bsica de un sistema, es decir:
Entrada, Proceso y Salida.
Entrada de datos: Son los datos necesarios que requiere el proceso para ofrecer los
resultados esperados
Proceso: es la secuencia de pasos para ejecutar el algoritmo y as obtener la solucin
del problema
Salida de resultados: son los datos obtenidos despus de la ejecucin del algoritmo
Lcdo. Jos
Romero
Introduccin a la Programacin
De algoritmo a programa
Para que un algoritmo sea comprendido por una computadora, este debe ser escrito
en un lenguaje de programacin.
Un programa, es un algoritmo expresado en un determinado lenguaje de
programacin.
Elementos de un algoritmo:
Los elementos para la construccin de un algoritmo son:
Comandos
Datos
Variables y constantes
Operadores
Comandos o Palabras reservadas:
Son palabras que denotan acciones que debe interpretar y ejecutar el computador.
Cada comando conserva una sintaxis determinada.
Los lenguajes computacionales tienen en su repertorio comandos dirigidos al
procesamiento de archivos y datos.
Datos:
Es un campo que puede convertirse en informacin.
Los datos que procesa una computadora pueden ser simples o estructurados:
Los datos simples solo ocupan una casilla o celdas de memoria.
Para poder acceder a una ubicacin especfica de la memoria, la CPU genera seales en el
bus de direccin, que habitualmente tiene un tamao de 32 bits en la mayora de mquinas
actuales. Un bus de direccin de 32 bits permite especificar a la CPU 232 = 4.294.967.296
direcciones de memoria distintas
Los datos simples pueden ser:
Lgicos
Lcdo. Jos
Romero
Introduccin a la Programacin
Carcter (char)
Arreglos
Cadenas de caracteres
Registros.
Identificador:
Los datos que procesar la computadora, ya sean simples o estructurados, se deben
almacenar en casillas o celdas de memoria para utilizarlos posteriormente. A esta casilla o
celda de memoria se le asigna un nombre, el cual se forma por medio de letras, dgitos, y el
carcter subrayado (_), Siempre hay que comenzar con una letra.
Variables y constantes:
Son espacios de memoria creados para contener valores que de acuerdo a su
naturaleza deseen mantenerse (constantes) o que puedan variar (Variables).
Constantes: Es un dato que permanece con valor, sin cambios, es decir constante, a
lo largo del desarrollo del algoritmo o a lo largo de la ejecucin del programa.
Variable: Es un dato cuyo valor puede variar a lo largo del desarrollo del algoritmo
o en el transcurso de la ejecucin del programa. Una variable descrita o declarada
de un tipo determinado, slo podr contener, valores de ese tipo.
Una vez que se declaran las variables, estas reciben un valor a travs de un bloque de
asignacin. La asignacin es una operacin destructiva. Esto significa que si la variable
tena un valor, este se destruye o se sustituye por el nuevo valor.
En Pseudocdigo es:
Variable<-expresin o valor
Variable<-expresin o valor
En C y otros lenguajes de programacin:
Lcdo. Jos
Romero
Introduccin a la Programacin
Variable=expresin o valor
Operadores:
Los operadores son elementos que disparan ciertos clculos cuando son aplicados a
variables o a otros objetos en una expresin.
Operandos: cada una de las cantidades, constantes, variables, funciones que intervienen en
una expresin
Operacin: es cualquier conjunto de operadores y operandos, que dan como resultado una
cantidad.
Smbolo
+
*
/
%
sqrt()
^, pow(base, exponente)
+,-
Operadores relacionales: Son aquello que sirven para expresar las condiciones en
los algoritmos.
Las variables y constantes son de distinta naturaleza, el resultado de una expresin
lgica y relacional es de tipo lgica.
Lcdo. Jos
Romero
Introduccin a la Programacin
AND (y)
OR(o)
NOT (NO)
Representacin de un algoritmo:
Son los mtodos utilizados para independizar el algoritmo de su correspondiente
codificacin.
Existen dos tipos:
Pseudocdigo
Diagrama de flujo
Pseudocdigo:
Es un lenguaje de especificacin de algoritmo (no de programacin) basado en un
sistema notacional, con estructuras sintcticas y semnticas, similares a los lenguajes de
procedurales, aunque menos formales que las de estos, por lo que no puede ser ejecutados
directamente por un computador.
Es la representacin de los pasos del algoritmo a travs de palabras,
utilizando una nomenclatura estandarizada para denotar el significado de cada paso. Dentro
de ste es permitido la sangra con el fin de que se visualice, en forma sencilla, el grupo de
instrucciones pertenecientes a una determinada accin.
Lcdo. Jos
Romero
Introduccin a la Programacin
Diagrama de flujo:
Son herramientas grficas utilizadas tanto para representar algoritmos, como en la
ayuda en el diseo de programas. Est compuesto por una serie de smbolos o figuras,
unido con flechas, donde cada smbolo representa una accin distinta y las flechas (lneas
de flujo) el orden de realizacin de las acciones.
Cada instruccin del pseudocdigo puede ser representada por el diagrama de flujo
Smbolos utilizados en los diagramas de flujo:
SMBOLO
FUNCIN
Asignacin
Proceso
SMBOLO
Decisin
FUNCIN
Llamada
procedimientos o
Mdulos
Comienzo y Final
del programa
Conector
Lcdo. Jos
Romero
Introduccin a la Programacin
Entrada
Salida
Conector
INICIAR
//ENTRADA
ESCRIBIR Introduzca Primer Nmero:;
Lcdo. Jos
Romero
Introduccin a la Programacin
4.
5.
6.
7.
8.
9.
10.
11.
LEER a; // a es real
ESCRIBIR Introduzca
LEER b; // a es real
//PROCESO
suma<- a+b;
//SALIDA
ESCRIBIR La Suma es:
FINALIZAR
Segundo Nmero:;
, suma;
DIAGRAMA DE FLUJO:
Estructura de control:
Son las acciones que tienen por objeto marcar el orden de realizacin de los
distintos pasos de un programa o algoritmo. Cada estructura debe tener un punto de entrada
y otro de salida.
Tipos de estructura de control:
Estructuras Secuenciales
Estructuras Selectivas
Estructuras repetitivas
Estructuras secuenciales:
Son aquellas en las que una accin (instruccin) sigue a otra de acuerdo con su
orden de escritura. Las tareas se suceden de tal modo que tras la salida de una se efecta la
entrada de la siguiente y as sucesivamente hasta el final del proceso.
Diagrama de Flujo de la estructura secuencial:
Estructura Selectivas:
Son aquellas que se utilizan para tomar decisiones, de ah que se suelan denominar
tambin estructura de decisin o alternativa. En estas estructuras se evala una condicin,
Lcdo. Jos
Romero
Introduccin a la Programacin
especificada mediante una expresin lgica, en funcin de cuyo resultado, se realiza una
opcin u otra.
En el pseudocdigo debe estar claramente delimitada la finalizacin del SiEntonces, lo cual se logra con un fin_si.
Pseudocdigo de la estructura Si-Entonces:
si <condicin> entonces
<acciones>
fin_si
Ejem: Hacer un Algoritmo que dados dos nmero determine cul es mayor
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
INICIAR
//ENTRADA
ESCRIBIR Introduzca Primer Nmero:;
LEER a; // a es real
ESCRIBIR Introduzca Segundo Nmero:;
LEER b; // a es real
//PROCESO
mayor<-b;
SI a>b ENTONCES
mayor<-a;
FIN_SI
Lcdo. Jos
Romero
Introduccin a la Programacin
12.
13.
mayor es: , mayor;
14.
//SALIDA
ESCRIBIR
El
FINALIZAR
DIAGRAMA DE FLUJO:
INICIAR
//ENTRADA
ESCRIBIR Introduzca Primer Nmero:;
LEER a; // a es real
ESCRIBIR Introduzca Segundo Nmero:;
LEER b; // a es real
//PROCESO
SI a>b ENTONCES
mayor<-a;
menor<-b;
SINO
Lcdo. Jos
Romero
Introduccin a la Programacin
12.
13.
14.
15.
16.
es , mayor , y el menor es , menor;
17.
mayor<-b;
menor<-a;
FIN_SI
//SALIDA
ESCRIBIR El mayor
FINALIZAR
DIAGRAMA DE FLUJO:
Lcdo. Jos
Romero
Introduccin a la Programacin
7.
8.
9.
10.
INICIAR
//ENTRADA
ESCRIBIR Escriba el Color de la Seal:;
LEER sn;//sn seal
//PROCESO
SEGUN_SEA sn HACER
verde:
ESCRIBIR Continuar;
amarillo:
ESCRIBIR Disminuir Velocidad;
rojo:
ESCRIBIR Disminuir Velocidad;
DE_OTRO_MODO:
ESCRIBIR Color Equivocado;
FIN_SEGUN_SEA
FINALIZAR
Lcdo. Jos
Romero
Introduccin a la Programacin
DIAGRAMA DE FLUJO:
Lcdo. Jos
Romero
Introduccin a la Programacin
Estructuras repetitivas
Conceptos bsicos:
Bucle o lazo (loop): segmento de un programa cuyas instrucciones se repiten bien un
nmero determinado de veces o mientras se cumpla una determinada condicin.
Contador: variable cuyo valor se incrementa o decrementa en una cantidad constante en
cada repeticin que se produzca.
Acumulador o totalizador: variable encargada de almacenar una cantidad no constante o
variable, resultante de operaciones sucesivas y repetidas.
Estructuras repetitivas: Son aquellas que marcan la reiteracin de una serie de acciones
basndose en un bucle. Est compuesto por tres partes bsicas:
Introduccin a la Programacin
<acciones>
.
.
fin_para
v= variable ndice. En muchos casos
letras i, j, k
se utilizan las
sume
los
INICIAR
sum<-0; //Inicializamos el Acumulador
//PROCESO
DESDE i<-0 HASTA 10 CON_PASO 1 HACER
sum<-sum+i;
FIN_DESDE
//SALIDA
ESCRIBIR La Suma de los 10 primeros Nmeros es, sum;
FINALIZAR
DIAGRAMA DE FLUJO:
Introduccin a la Programacin
Pseudocdigo
de
la
Estructura
mientras:
pero
con
la
estructura
INICIAR
sum<-0; //Inicializamos el Acumulador
i<-0; //Inicializamos el contador
//PROCESO
MIENTRAS i<=10 HACER
sum<-sum+i
FIN_MIENTRAS
//SALIDA
ESCRIBIR La Suma de los 10 primeros Nmeros es, sum;
FINALIZAR
DIAGRAMA DE FLUJO:
Estructura repetir-hasta_que
En esta la condicin de salida se sita al final del bucle; y este se ejecuta hasta que
se verifique una cierta condicin. En estos bucles se ejecuta al menos una vez, antes de
comprobar la condicin de repeticin. La estructura repetir-hasta_que se ejecuta hasta que
se cumpla una condicin determinada que se comprueba al final del bucle.
Pseudocdigo repetir-hasta_que:
repetir
<acciones>
Lcdo. Jos
Romero
Introduccin a la Programacin
Lcdo. Jos
Romero
Introduccin a la Programacin
INICIAR
//PROCESO
REPETIR
ESCRIBIR
LEER n;
HASTA_QUE
//SALIDA
ESCRIBIR La
Inserte Valor:;
//ENTRADA
N>0
Suma
de
los
10
primeros
FINALIZAR
DIAGRAMA DE FLUJO:
Lcdo. Jos
Romero