Vous êtes sur la page 1sur 16

FACULTAD DE INGENIERA

ESCUELA DE INGENIERA DE MATERIALES


ALGORITMOS

ALGORITMOS
DEFINICIN DE ALGORITMO

La palabra algoritmo se deriva de la traduccin al latn de la palabra rabe algorithmus,


y ste a su vez proviene del nombre del matemtico persa al-Khowarizmi, astrnomo
rabe quien escribi un tratado sobre manipulacin de nmeros y ecuaciones en el siglo
IX.

Un algoritmo se define como un conjunto de pasos organizados, definidos y finitos


que describen el proceso lgico a seguir para hallar la solucin a un problema
determinado. Dado un estado inicial y una entrada, a travs de pasos sucesivos y
bien definidos se llega a un estado final, obteniendo una solucin.

En el da a da empleamos algoritmos en multitud de ocasiones para resolver diversos


problemas. A continuacin se detallan algunos ejemplos:
El manual de uso para operar un artefacto.
Las indicaciones para armar un juguete.
La receta de cocina para preparar un plato tpico.

CARACTERSTICAS DE LOS ALGORITMOS


1. Carcter finito. Un algoritmo siempre debe terminar despus de un nmero finito
de pasos.
2. Precisin. Cada paso de un algoritmo debe estar precisamente definido; las
operaciones a llevar a cabo deben ser especificadas de manera rigurosa, no deben
permitir doble interpretaciones.
3. Definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado
cada vez.

Adems se debe considerar lo siguiente:

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.

Un algoritmo es un procedimiento a seguir, para resolver un problema en trminos de:


1. Las acciones por ejecutar y el
2. El orden en que dichas acciones deben ejecutarse

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.

El diseo del algoritmo es independiente del lenguaje de programacin en


el que se va a implementar posteriormente.

Docente: Ing. Henry Pal Bermejo Terrones 1


FACULTAD DE INGENIERA
ESCUELA DE INGENIERA DE MATERIALES
ALGORITMOS

ETAPAS PARA LA SOLUCION DE


PROBLEMAS POR COMPUTADORA
El proceso de resolucin de un problema por computadora conduce a la escritura de un
algoritmo y posteriormente a la codificacin de un programa, el cual ser ejecutado por la
computadora. Aunque el proceso de disear algoritmos es un proceso creativo, se puede
considerar una serie de fases o pasos, que generalmente deben seguir para la solucin de un
problema por computadora.

Etapas para la resolucin de un Problema por Computadora

Solucin del
Problema
Codificacin del
Programa

Anlisis del Diseo del Solucin del


Ejecucin del
Problema Algoritmo Problema por
Programa
Computadora

Prueba del
Programa

Las dos primeras fases conducen a un diseo detallado escrito en forma de


algoritmo, durante la tercera etapa se implementa el algoritmo en un programa
(cdigo) escrito en un lenguaje de programacin, reflejando las ideas
desarrolladas en las fases de anlisis y diseo.

1. ANALISIS DEL PROBLEMA

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.

Anlisis del Problema


Anlisis del
Problema

Definicin del Especificaciones Especificaciones


Problema de Entrada de Salida

Docente: Ing. Henry Pal Bermejo Terrones 2


FACULTAD DE INGENIERA
ESCUELA DE INGENIERA DE MATERIALES
ALGORITMOS

Una recomendacin muy prctica es el que nos pongamos en el lugar de la


computadora y analicemos que es lo que necesitamos que nos ordenen y en que
secuencia para producir los resultados esperados.

Qu datos de entradas se requieren?


Cul es la informacin que se desea producir?
Qu mtodos y operaciones se necesitan para procesar la salida deseada?

2. DISEO DEL ALGORITMO

En la etapa de anlisis del proceso de programacin se determina qu debe hacer el


programa, en la etapa de diseo se determina cmo hace el programa la tarea solicitada.

Diseo del Algoritmo

Diseo del
Algoritmo
Diagramas de
Flujo

Diseo Refinamiento Herramientas de


Descendente Sucesivo Programacin Pseudocdigo

Diagramas Nassi
Schneiderman

Un algoritmo para un programador es una herramienta que le permite resaltar los


aspectos ms importantes de una situacin y descartar los menos relevantes. Todo
problema de cmputo se puede resolver ejecutando una serie de acciones en un orden
especfico.

TECNICAS PARA EL DISEO DE ALGORTIMOS

A. Diseo Descendente Top Down


Es decir, la resolucin de un problema complejo se realiza dividiendo el problema en
subproblemas y a continuacin dividir estos subproblemas en otros de nivel ms bajo,
hasta que pueda ser implementada una solucin eficiente en la computadora. Este
mtodo es conocido como Divide y vencers o Modular.
Cada subproblema es resuelto mediante un mdulo (subprograma) que tiene un solo
punto de entrada y un solo punto de salida.

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.

3. SOLUCIN DEL PROBLEMA POR COMPUTADORA


Docente: Ing. Henry Pal Bermejo Terrones 3
FACULTAD DE INGENIERA
ESCUELA DE INGENIERA DE MATERIALES
ALGORITMOS

En esta etapa se convierte el algoritmo en programa usando un lenguaje de


programacin especfico. Para realizar la conversin del algoritmo en programa se deben
sustituir las operaciones / instrucciones indicadas en lenguaje natural por sus homnimos
en un lenguaje reconocido por la computadora.
Solucin del Problema por Computadora

Solucin del problema


por computadora

Codificacin del Ejecucin del Prueba del Programa


Programa Programa

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

Es el conjunto de instrucciones escritas en un lenguaje de programacin y que


ejecutadas secuencialmente resuelven un problema especifico. Esta secuencia de
instrucciones especifica las operaciones y/o clculos que debe ejecutar la
computadora.

B. Lenguajes de Programacin

Es un conjunto de smbolos, palabras y reglas que le permiten a las personas


comunicarse con la computadora. Los lenguajes de programacin permiten al usuario
generar comandos e instrucciones para que la computadora los ejecute.

Los lenguajes de programacin tienen un conjunto de instrucciones que nos permiten


realizar operaciones de entrada/salida, clculo, manipulacin de textos, lgica
/comparacin y almacenamiento/recuperacin de datos.

Clasificacin de los Lenguajes de Programacin: se clasifican en Lenguajes de


alto nivel y lenguajes de bajo nivel, los programadores escriben instrucciones en
diversos lenguajes de programacin. La computadora puede entender directamente
algunos de ellos, pero otros requieren pasos de traduccin intermedios. Hoy da se
utilizan cientos de lenguajes de computadora, los cuales pueden dividirse en tres
tipos generales:

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

lenguaje ensamblador a lenguaje mquina a velocidades de


computadora. Estos lenguajes aun requeran muchas instrucciones para realizar
simples operaciones.
Lenguajes de alto nivel
Para acelerar, an ms, el proceso de programacin se desarrollan los lenguajes de
alto nivel en los que se poda escribir un enunciado para realizar tareas
sustanciales. Los lenguajes de alto nivel permiten a los programadores escribir
instrucciones que asemejan el ingles cotidiano y contiene notaciones matemticas
de uso comn.

PUESTA A PUNTO DE UN PROGRAMA

Puesta a Punto de un Programa

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.

Esta operacin se realiza en un programa editor, posteriormente el programa fuente se


convierte en un archivo de programa que se almacena en 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

Es la gua o comunicacin escrita es sus variadas formas, ya sea en enunciados,


procedimientos, dibujos o diagramas.
A menudo un programa escrito por una persona, es usado por otra. Por ello la
documentacin sirve para ayudar a comprender o usar un programa o para facilitar
futuras modificaciones (mantenimiento).

La documentacin se divide en tres partes:


Documentacin Interna
Documentacin Externa
Manual del Usuario

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)

Manual del Usuario


Describe paso a paso la manera como funciona el programa, con el fin de que el
usuario obtenga el resultado deseado.

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.

Docente: Ing. Henry Pal Bermejo Terrones 6


FACULTAD DE INGENIERA
ESCUELA DE INGENIERA DE MATERIALES
ALGORITMOS

CONCEPTOS BSICOS DE C++


1. CARACTERSTICAS DEL LENGUAJE C++

El lenguaje C++ se conoce como un lenguaje compilado. Existen dos tipos de


lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan
del cdigo fuente para funcionar. Los compilados convierten el cdigo fuente en un
archivo objeto y ste en un archivo ejecutable. Este es el caso del lenguaje C++.
Es un lenguaje estructurado, ya que permite crear procedimientos en bloques dentro
de otros procedimientos. Hay que destacar que el C++ es un lenguaje portable, ya
que permite utilizar el mismo cdigo en diferentes equipos y sistemas informticos:
el lenguaje es independiente de la arquitectura de cualquier mquina en particular.
El C++ es un lenguaje relativamente pequeo; se puede describir en poco espacio y
aprender rpidamente. Este es sin duda el objetivo de ste curso. No pretende ser un
completo manual de la programacin, sino una base til para que cualquiera pueda
introducirse en este apasionante mundo.

2. ELEMENTOS DEL LENGUAJE

A. Conjunto de caracteres de C++

En la elaboracin de programas en C++ se pueden utilizar para formar los elementos


bsicos (constantes, variables, operadores, expresiones) las letras maysculas de la A a
la Z, las minsculas de la a a la z , los dgitos del 0 al 9 y ciertos caracteres especiales:

* + \ " <
# ( = | { >

% ) ~ ; } /
^ - _ [ : '

? & . ] (blanco)

B. Identificadores y Palabras Reservadas

Los identificadores son nombres que se les da a los elementos de un programa,


como variables, constantes, funciones.
Un identificador est formado por letras y dgitos, en cualquier orden, excepto el
primer carcter, que debe ser una letra.
Se pueden utilizar maysculas y minsculas (no acepta los acentos, tampoco la o
), sin embargo se diferencian las maysculas de las minsculas, as num, Num y
nuM son distintos identificadores.
El carcter de subrayado se puede incluir tambin y se suele utilizar en la mitad de
los identificadores. No se limita la longitud de los identificadores aunque el
compilador slo reconoce los 31 primeros caracteres.

A continuacin vemos algunos ejemplos de identificadores vlidos y no vlidos:

Vlidos No vlidos
_num 1num
var1 nmero2

Docente: Ing. Henry Pal Bermejo Terrones 7


FACULTAD DE INGENIERA
ESCUELA DE INGENIERA DE MATERIALES
ALGORITMOS

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.

Una sentencia de expresin consiste en una expresin seguida de un punto y coma.


Su ejecucin hace que se evale la expresin:

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.

Se pueden insertar en el programa de dos maneras: escribiendo un texto entre los


smbolos

/* Este es un ejemplo de comentario */


o
/* Un comentario tambin puede
estar escrito en varias lneas */
El smbolo /* se coloca al principio del comentario y el smbolo */ al final.
// Esto tambin es un comentario
Se interpretar como comentario todo lo que siga hasta llegar al final de la lnea.

Docente: Ing. Henry Pal Bermejo Terrones 8


FACULTAD DE INGENIERA
ESCUELA DE INGENIERA DE MATERIALES
ALGORITMOS

ESTRUCTURA DE UN PROGRAMA EN C++


1. ESTRUCTURA

Comenzaremos viendo la estructura global de un programa escrito en C++ para a


continuacin ir desglosando y analizando cada uno de sus componentes. Todo programa en
C++ consta de una o ms funciones, una de las cuales se llama main. El programa
comienza en la funcin main, desde la cual es posible llamar a otras funciones.

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

Declaracin de Directivas de Procesador


Cabecera
Declaraciones globales;

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

El programa que se muestra tiene como nombre "MiPrimerPrograma", un


programa que nicamente muestra el mensaje "Hola, este es mi Primer Programa" en
pantalla antes de finalizar.

/*
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;
}

Como puede apreciarse, el programa comienza con un comentario a lo largo de seis


lneas, y en el cual se da informacin sobre el nombre, autor, fecha y propsito del
programa. Esto no es sintcticamente necesario, pero siempre lo incluiremos como
norma de estilo.
A continuacin nos encontramos con una operacin de inclusin. Sin entrar en detalles
sobre lo que internamente significa dicha inclusin, lo que hacemos mediante la misma
es indicarle al compilador que pretendemos hacer uso de las funcionalidades que nos
proporciona cierta biblioteca. En este caso concreto queremos emplear la biblioteca de
entrada/salida iostream para lo cual tenemos que incluir iostream.h.
El algoritmo comienza en la lnea void main(). Aqu aparecen varios elementos cuyo
significado veremos en temas posteriores. Lo que s debemos saber es que todo
programa que realicemos tendr un algoritmo principal (el que empezar a realizarse
cuando ejecutemos el programa), y que el comienzo de dicho algoritmo principal se
indica mediante una lnea de estructura como la mostrada.
A continuacin encontramos el cuerpo del algoritmo principal, que abarca desde la
llave de apertura ({) hasta la llave de cierre (}). Siempre aparecern estas llaves
delimitando el cuerpo de un algoritmo. En este caso, el algoritmo consta de una sola
orden, mostrar en pantalla el mensaje "Hola, este es mi Primer Programa" y saltar a la
lnea siguiente. Como puede verse, esto se expresa haciendo uso del objeto
predefinido (en iostream precisamente) cout. Todo lo que redirijamos (mediante el
empleo del operador <<) hacia dicho objeto ser mostrado en pantalla. En el ejemplo
se redirige en primer lugar la cadena " Hola, este es mi Primer Programa", y a
continuacin la indicacin de salto de lnea (endl abreviatura de end of line). La
instruccin termina mediante un punto y coma (;), que la separa de instrucciones
posteriores (es preciso poner dicho delimitador incluso si como es el caso aqu, no hay
una instruccin posterior).
Todas las rdenes que comienzan por la almohadilla (#) van dirigidas al preprocesador,
un programa que repasa el cdigo y realiza diversas modificaciones sobre el mismo
antes de proceder a la compilacin del mismo. En este caso se le est indicando que
incluya en el texto del programa el contenido completo de la librera iostream.h.

2. TIPOS DE DATOS, VARIABLES Y CONSTANTES EN C++

Docente: Ing. Henry Pal Bermejo Terrones 10


FACULTAD DE INGENIERA
ESCUELA DE INGENIERA DE MATERIALES
ALGORITMOS

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.

TIPO Tamao Rango de valores Descripcin


char 1 byte -128 a 127 Caracter
int 2 bytes -32768 a 32767 Nmero Entero
float 4 bytes 3'4 E-38 a 3'4 E+38 Nmero de coma flotante
double 8 bytes 1'7 E-308 a 1'7 E+308 Nmero de coma
flotante
de doble precisin

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>;

Es posible inicializar y declarar ms de una variable del mismo tipo en la misma


sentencia:

<tipo> < identificador1> ,< identificador2>=<valor>,


<identificador3>=<valor>;

Ejemplos de declaraciones de variables vlidas son los siguientes:


int a,b,c;
float VENTAMENSUAL= 0;
char RESPUESTA =`S;

Programa de ejemplo:

// Uso de las variables


Docente: Ing. Henry Pal Bermejo Terrones 11
FACULTAD DE INGENIERA
ESCUELA DE INGENIERA DE MATERIALES
ALGORITMOS

#include <iostream.h>

void main( ) // Suma dos valores


{
int num1=4,num2,num3=6;
cout<<El valor de num1 es :<<num1<<endl;
cout<<El valor de num3 es :<<num3<<endl;
num2=num1+num3;
cout<<num1 + num3 = <<num2<<endl;
}

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>;

Ejemplos de declaraciones de constantes vlidas son los siguientes:


const int HORAS = 24;
const short ALUMNOS = 100;
const char ACEPTAR = `S';

IMPORTANTE El valor de una constante no puede ser modificado


de ninguna manera.

Programa de ejemplo:

// Uso de las constantes

#include <iostream.h>

const float pi =3.1416;

void main() // Calcula el permetro


{
int r;
cout<<"Introduce el radio: ";
cin>>r;
cout<<"El permetro es:<<2*pi*r;
}

INSTRUCCIONES DE ENTRADA Y SALIDA EN C++

Docente: Ing. Henry Pal Bermejo Terrones 12


FACULTAD DE INGENIERA
ESCUELA DE INGENIERA DE MATERIALES
ALGORITMOS

La entrada y salida (E/S ) de datos e informacin la gestionaremos en C++


mediante la funcionalidad que nos proporciona la biblioteca iostream. La palabra stream
significa "flujo" o "corriente" en ingls, y nos da una indicacin de cmo funcionan los
aspectos de E/S: los dispositivos de salida (monitor, impresora) se modelan como sumideros
a los que va llegando un flujo de informacin; del mismo modo, los dispositivos de entrada
(teclado) son fuentes de las que surge un flujo de informacin.
Tanto en un caso como en otro, lo nico que necesitamos son operadores para insertar
informacin en el flujo de salida, o extraer informacin del flujo de entrada. La biblioteca
iostream nos proporciona dichos operadores as como identificadores estndar para los flujos
ms comunes.

1. Operador de Extraccin >>


Cuando incluimos la biblioteca iostream disponemos automticamente del flujo cin
(asociado a la entrada a travs de teclado), combinado con el operador de extraccin
(>>) nos permitir realizar la lectura o ingreso de datos.

2. Operador de Insercin <<


De igual manera cuando incluimos la biblioteca iostream disponemos automticamente
del flujo cout (asociado a la salida a travs de pantalla), combinado con el operador de
insercin (<<) nos permitir realizar la escritura (impresin) o salida de informacin.

3. Sentencia cin #include<iostream.h>


La rutina cin permite ingresar datos en la memoria del computador a travs de un
dispositivo de entrada. Esta funcin es parte de la biblioteca de C++ de entrada/salida
oistream.h.
Sintaxis:
cin >> variable1 >> variable2 ...;

Programa de ejemplo:
// Uso de cin
#include <iostream.h>
void main()
{
int x, y;
char c;
double d;
cin >> x >> y >> c >> d;
}

En el cdigo que se muestra, se leen de teclado los valores de x, y, c y d sucesivamente.

4. Sentencia cout #include<iostream.h>


La rutina cout permite mostrar valores numricos, caracteres y cadenas de texto por
pantalla. Devuelve un carcter ledo del dispositivo de entrada (tpicamente el teclado). Esta
funcin es parte de la biblioteca de C++ de entrada/salida oistream.h.
Sintaxis:
cout << variable1 << variable2 ...;

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";
}

La ejecucin del mismo producira en pantalla la salida:


10-1
A10.124567 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;
}

Ntese un hecho importante: en la ltima lnea aparecen combinados los operadores de


insercin (<<) y de suma (+). El funcionamiento del programa es correcto, ya que el
operador de insercin tiene una precedencia menor que la suma. Por ello, primero se
realiza esta ltima, y es el resultado lo que se inserta en el flujo de salida.
Para finalizar este tema, debe mencionarse el hecho de que es posible alterar el formato
de impresin de los datos en pantalla mediante el uso de la funcionalidad que proporciona
la biblioteca iomanip. Mediante la misma es posible indicar el nmero de decimales de precisin con el
que queremos escribir un nmero en punto flotante, el nmero de espacios que vamos a emplear para escribir
un dato, caracteres de relleno, etc. Esto se realiza mediante la insercin en el flujo de salida de modificadores,
que afectarn a los datos que se introduzcan a continuacin. Alguno de estos modificadores son los siguientes:
setprecision()
Para indicar el nmero de dgitos significativos en un dato en punto
flotante. Afecta a todos los datos que se introduzcan con
posterioridad.
setw()
Permite indicar el nmero de espacios que se emplearn para
escribir un dato, alineando al mismo a la derecha dentro de dicho
espacio. Si el espacio requerido es mayor que el indicado, el
modificador se ignora. Slo afecta al dato que se indica a
continuacin.
setfill()
Para especificar el carcter de relleno que se emplear para los
espacios no usados al escribir un dato (segn un modificador)

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

cout << setprecision(4) << a3 << endl;


cout << setprecision(5) << a3 << endl;
cout << "a1" << setw(10) << setfill(.') << a1 << endl;
cout << "a2" << setw(10) << setfill(.') << a2 << endl;
cout << "a3" << setw(10) << setfill(.') << a3 << endl;
}

Este cdigo producira la siguiente salida en pantalla:


1e+02
101.2
101.18
a1.......1.1
a2.....10.12
a3....101.18

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

B. Entrada de un carcter: getchar #include<stdio.h>

Esta funcin permite leer un caracter ingresado desde un dispositivo de entrada


(tpicamente el teclado). Mediante esta funcin se puede conseguir la entrada de
caracteres uno a uno. Esta funcin es parte de la biblioteca de C++ de entrada/salida
standard stdio.h.
Sintaxis:
variable_de_caracter = getchar();

C. Borrar la pantalla: clrscr #include<conio.h>

Esta funcin permite limpiar o borrar la pantalla a partir de esta instruccin hacia
delante.
Sintaxis:
clrscr();

E. Borrar una lnea : clreol #include<conio.h>


Esta funcin permite limpiar o borrar la lnea actual desde posicin del cursor al final
de la lnea.
Sintaxis:
Clreol();

F. Ubicacin del cursor: gotoxy #include<conio.h>


Esta funcin permite mover el cursor a una posicin especificada (columna x, fila y)
dentro de la pantalla de texto actual.
Sintaxis:
gotoxy(x,y);

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

Y = Indica la fila en la cual ser ubicado el cursor en la pantalla.

Docente: Ing. Henry Pal Bermejo Terrones 16

Vous aimerez peut-être aussi