Académique Documents
Professionnel Documents
Culture Documents
ALGORITMOS
DEFINICIN DE ALGORITMO
4. Entrada. Un algoritmo tiene cero o ms entradas: cantidades que le son dadas antes
de que el algoritmo comience, o dinmicamente mientras el algoritmo corre. Estas
entradas son tomadas de conjuntos especficos de objetos.
5. Salida. Un algoritmo tiene una o ms salidas: cantidades que tienen una relacin
especfica con las entradas.
6. Eficacia. Tambin se espera que un algoritmo sea eficaz, en el sentido de que todas
las operaciones a realizar en un algoritmo deben ser suficientemente bsicas como
para que en principio puedan ser hechas de manera exacta y en un tiempo finito por
un hombre usando lpiz y papel.
Una algoritmo esta compuesto de una serie finita de pasos que convergen en la solucin de
un problema, pero adems estos pasos tienen un orden especfico.
Solucin del
Problema
Codificacin del
Programa
Prueba del
Programa
Es la comprensin de la naturaleza del problema, esta fase requiere una definicin clara
y precisa, donde se contemple exactamente lo que debe hacer el programa y el resultado
o solucin deseada.
Dado que se requiere una solucin por computadora, se precisan especificaciones
detalladas de entrada y salida.
Diseo del
Algoritmo
Diagramas de
Flujo
Diagramas Nassi
Schneiderman
B. Refinamiento Sucesivo
Es el proceso de dividir el problema en cada etapa y expresar cada paso en forma ms
detallada, es decir, cconsiste en pasar de las formas genricas a las formas especficas.
C. Herramientas de Programacin
Se usan para especificar la secuencia lgica de cada una de las instrucciones del
refinamiento por pasos. Las herramientas ms utilizadas para disear algoritmos son:
diagramas de flujo y pseudocdigo.
Es decir, una vez que se ha diseado el algoritmo es necesario traducir la solucin del
problema (de acuerdo a la lgica del diagrama de flujo o pseudocdigo), en una serie de
instrucciones detalladas, usando un cdigo reconocible por la computadora, la serie de
instrucciones detalladas se le conoce como programa fuente, el cual se escribe en un
lenguaje de programacin especfico.
A. Programa
B. Lenguajes de Programacin
Lenguaje mquina
Una computadora slo puede entender el lenguaje mquina. El lenguaje de
mquina ordena a la computadora realizar sus operaciones fundamentales una por
una. Dicho lenguaje es difcil de usar para lar persona porque trabajar con nmeros
no es muy cmodo adems estos nmeros estn en formato binario.
Lenguajes de bajo nivel (ensamblador)
El lenguaje ensamblador consiste en pequeas abreviaturas de palabras en ingles.
Se crearon los programar traductores para convertir los programas escritos en
Docente: Ing. Henry Pal Bermejo Terrones 4
FACULTAD DE INGENIERA
ESCUELA DE INGENIERA DE MATERIALES
ALGORITMOS
Edicin
Programa Fuente
Compilacin
Programa Objeto
Linkeado / Montaje
Programa Ejecutable
Ejecucin
A. Edicin
Una vez que el algoritmo se ha convertido en un programa fuente, es preciso
ingresarlo (digitarlo) en la memoria mediante el teclado y almacenarlo posteriormente
en un disco.
B. Compilacin
El programa fuente debe ser traducido e lenguaje mquina. Este proceso se realiza con
el compilador y el sistema operativo que se encarga de la compilacin. Si tras la
compilacin se presentan errores (errores de compilacin) en el programa fuente, es
preciso volver a editar el programa, corregir los errores y compilar de nuevo. Los errores
humanos dentro de la programacin de computadoras son muchos y aumentan
considerablemente con la complejidad del problema. El proceso de identificar y eliminar
errores, para dar paso a una solucin sin errores se le llama depuracin.
Este proceso se repite hasta que no se producen errores, obtenindose el programa
objeto que todava no es ejecutable directamente.
C. Linkeado / Montaje
Suponiendo que no existen errores en el programa fuente, se debe instruir al sistema
operativo para que realice la fase de montaje o enlace (link), carga del programa
objeto con las libreras del programa del compilador. El proceso de montaje produce un
programa ejecutable (.exe).
Docente: Ing. Henry Pal Bermejo Terrones 5
FACULTAD DE INGENIERA
ESCUELA DE INGENIERA DE MATERIALES
ALGORITMOS
D. Ejecucin
Cuando el programa ejecutable se ha creado, se puede ya ejecutar (correr o rodar) con
datos de prueba para verificar la validez de los resultados.
E. Documentacin
Documentacin Interna
Son los comentarios o mensaje que se aaden al cdigo fuente para hacer mas claro
el entendimiento de un proceso.
Documentacin Externa
Se define en un documento escrito los siguientes puntos:
Descripcin del Problema
Nombre del Autor
Algoritmo (diagrama de flujo o pseudocdigo)
Diccionario de Datos
Cdigo Fuente (programa)
F. Mantenimiento
Se lleva acabo despus de terminado el programa, cuando se detecta que es necesario
hacer algn cambio, ajuste o complementacin al programa para que siga trabajando de
manera correcta. Para poder realizar este trabajo se requiere que el programa este
correctamente documentado.
* + \ " <
# ( = | { >
% ) ~ ; } /
^ - _ [ : '
? & . ] (blanco)
Vlidos No vlidos
_num 1num
var1 nmero2
fecha_nacao_nac
notapromedio nota promedio
Existen ciertas palabras reservadas, denominadas palabras clave, que tienen en C+
+ un significado estndar y por tanto no pueden ser utilizadas como identificadores
definidos por el programador. Las palabras clave estn en minsculas.
IMPORTANTE
Ser tarea del desarrollador asignar el identificador que desee a cada constante y
variable. El identificador o nombre de cada objeto sirve para identificar sin ningn
tipo de ambigedad a cada objeto, diferencindolo de los dems objetos que
intervienen en el programa. EN C++ hay que indicar el nombre de las constantes
y variables que vamos a usar, para que el compilador pueda asociar
internamente a dichos nombres las posiciones de memoria correspondientes.
C. Sentencias
Una sentencia o instruccin hace que el computador lleve a cabo alguna accin. En C++
hay tres tipos de sentencias: de expresin, de control y compuestas.
a = 3; c = a + b; s = s + num; cod
=001;
Una sentencia compuesta est formada por varias sentencias individuales encerradas
entre llaves.
Las sentencias de control se utilizan para realizar bucles o ramificaciones.
D. Comentarios
Un comentario es una secuencia de caracteres que es ignorada por el compilador. Se
usan para documentar el programa, de manera que aunque no contribuyan a resolver
el problema, ayudan a mejorar la comprensin del programa.
Cada funcin estar formada por la cabecera de la funcin, compuesta por el nombre de
la misma y la lista de argumentos (si los hubiese), la declaracin de las variables a utilizar
y la secuencia de sentencias a ejecutar (instrucciones).
Estructura de un Programa
void main( )
{
bloque de sentencias;
}
funcion1( )
{
Declaraciones locales;
Cuerpo
bloque de sentencias;
} del
funcion2( ) Programa
{
Declaraciones locales;
bloque de sentencias;
}
funcionN( )
{
Declaraciones locales;
bloque de sentencias;
}
Programa de ejemplo:
Docente: Ing. Henry Pal Bermejo Terrones 9
FACULTAD DE INGENIERA
ESCUELA DE INGENIERA DE MATERIALES
ALGORITMOS
/*
Nombre : MiPrimerPrograma.cpp
Autor : Maria Rosa Quiroz Alcalde
Fecha : 01/03/2004
Descripcin: Este es el programa " MiPrimerPrograma".
*/
#include <iostream.h> // Para usar cout
void main ()
{
cout << "Hola, este es mi Primer Programa" << endl;
}
En un programa intervienen objetos sobre los que actan las instrucciones que
lo componen. Algunos de estos objetos tomarn valores a lo largo del programa.
Dependiendo de si pueden cambiar de valor o no, podemos distinguir dos tipos de
objetos: variables y constantes.
A. Tipos de Datos
En C++ existen bsicamente cuatro tipos de datos, aunque como se ver despus,
podremos definir nuestros propios tipos de datos a partir de estos cuatro. A
continuacin se detalla su nombre, el tamao que ocupa en memoria y el rango de sus
posibles valores.
B. Variables en C++
Un programa necesita un medio para grabar los datos que usa. Las variables y
Constantes ofrecen varias maneras para representar y manipular los datos.
Una variable es un espacio para guardar informacin, es una ubicacin en la
memoria de la computadora en la cual se puede grabar un valor y por la cual se
puede recuperar ese valor ms tarde.
La memoria RAM de la computadora puede ser vista como una serie de pequeas
casillas, cada una de las casillas esta numerada secuencialmente, este nmero que
se le asigna representa su direccin de memoria y su objetivo es identificarla.
Una variable es un tipo de dato, referenciado mediante un identificador (que es el
nombre de la variable). Su contenido podr ser modificado a lo largo del programa;
es decir que puede tomar distintos valores a lo largo del programa.
Una variable slo puede pertenecer a un tipo de dato. Para poder utilizar una variable, primero tiene que
ser declarada:
<tipo> <identificador>;
Programa de ejemplo:
#include <iostream.h>
C. Constantes
Al contrario que las variables, las constantes mantienen su valor a lo largo de
todo el programa; es decir su valor no se podr modificar a lo largo del
programa.
La declaracin de constantes es muy similar a la de variables, con dos
diferencias fundamentales: hay que usar la palabra reservada const para indicar
que se est definiendo una constante, y la asignacin de un valor inicial no es opcional, sino
obligatoria:
const <tipo> <identificador> =
<valor>;
Programa de ejemplo:
#include <iostream.h>
Programa de ejemplo:
// Uso de cin
#include <iostream.h>
void main()
{
int x, y;
char c;
double d;
cin >> x >> y >> c >> d;
}
Programa de ejemplo:
// Uso de cout
#include <iostream.h>
void main()
{
int x = 10, y = -1;
Docente: Ing. Henry Pal Bermejo Terrones 13
FACULTAD DE INGENIERA
ESCUELA DE INGENIERA DE MATERIALES
ALGORITMOS
char c = A';
double d = 10.124567;
cout << x << y << endl << c << d <<" Se acab";
}
El siguiente programa muestra un ejemplo de uso combinado de operaciones de E/S. En este caso se trata de
leer dos nmeros y mostrar su suma en pantalla:
// Uso combinado de cin y cout
#include <iostream.h>
void main()
{
int a, b; // los nmeros que queremos sumar
cout << "Introduzca dos nmeros: " << endl;
cin >> a >> b;
cout << "Su suma es " << a + b << endl;
}
Programa de ejemplo:
#include <iostream.h>
#include <iomanip.h>
void main()
{
const double a1 = 1.1;
const double a2 = 10.12;
const double a3 = 101.179;
cout << setprecision(2) << a3 << endl;
Docente: Ing. Henry Pal Bermejo Terrones 14
FACULTAD DE INGENIERA
ESCUELA DE INGENIERA DE MATERIALES
ALGORITMOS
5. Otras funciones
A. Entrada de una cadena: gets #include<stdio.h>
Esta funcin permite leer una cadena ingresada desde un dispositivo de entrada
(tpicamente el teclado), incluyendo espacios en blanco.
Sintaxis:
gets(variable_de_cadena);
Esta funcin permite limpiar o borrar la pantalla a partir de esta instruccin hacia
delante.
Sintaxis:
clrscr();
En donde:
X =Indica la Columna en la cual ser ubicado el cursor en la pantalla.
Docente: Ing. Henry Pal Bermejo Terrones 15
FACULTAD DE INGENIERA
ESCUELA DE INGENIERA DE MATERIALES
ALGORITMOS