Vous êtes sur la page 1sur 64

EFINICION DE ALGORITMO

Conjunto de pasos o acciones que se realizan de manera ordenada para llegar a


la solucin de un problema.
Conjunto de sentencias/instrucciones en lenguaje nativo, las cuales expresan la
lgica para la resolucin de un problema.
Conclusin : Es un mtodo para resolver un problema. La resolucin de un
problema exige el diseo de un algoritmo que resuelva el problema.
ETAPAS EN LA RESOLUCIN DE UN PROBLEMA USANDO UNA COMPUTADORA
Problema Algoritmo Programa en computadora
Diseo del algoritmo .- Describe los pasos a seguir para la resolucin de un
problema dado (anlisis y desarrollo del algoritmo)
Programa en computadora .- El algoritmo se expresa mediante un lenguaje de
programacin en un programa.
TIPOS DE ALGORITMOS:
Algoritmo Cualitativo.- Son los algoritmos descritos mediante palabras. Ejm:

La elaboracin de una receta de cocina


El tejido a mano de una chompa.
Bsqueda de un numero telefnico.
El cambio de una llanta
El cambio de un foco quemado.

Algoritmo Cuantitativo.- Son los algoritmos que se basan en clculos numricos.


Ejm:
Pasos a seguir para resolver una ecuacin de segundo grado.
Pasos a seguir para calcular los sueldos de los empleados de una
empresa.
Instrucciones para calcular los impuestos a pagar de los vecinos de un
municipio.
CARACTERSTICAS DE UN ALGORITMO .Los algoritmos deben tener estas caractersticas:

Indicar un orden a seguir en cada uno de sus pasos.


Ser definido (confiable), si se ejecuta dos veces debe lograrse el mismo
resultado.
Ser finito, es decir terminar en un nmero finito de pasos.

PARTES DE UN ALGORITMO

En un algoritmo se definen tres partes: Entrada, Proceso y Salida.

Fig. 1 Partes de un algoritmo o programa.


Ejm Cuantitativo: Leer la base y altura de un rectngulo y mostrar el
area en pantalla.
Entrada (Lectura de datos):
Se conocen los valores de la Base y la Altura
Proceso (Calculo de Area):
Area = Base * Altura
Salida (Muestra los resultados):
Muestra valor del Area
Ejm Cualitativo: Un socio de una biblioteca solicita un libro para lectura, si el libro
se encuentra se le presta el libro, SINO se devuelve la ficha de pedido.
LEER Ficha de pedido
EXAMINAR el Estante
SI el libro esta en Estante
ENTONCES
Se acepta el pedido
Se recepciona Carnet de socio.
SINO
Se niega el pedido
Se devuelve Ficha de Pedido
FIN SI
DATOS TIPOS DE DATOS
DEFINICION DE DATOS
Para la computadora es un conjunto o secuencia de bits (digitos 0 y 1 en binario).
Sin embargo los lenguajes de alto nivel permiten ignorar los detalles de la
representacin interna (basndose en la abstraccin ).
TIPOS DE DATOS

Existen dos tipos de datos : los simples ( sin estructura ) y los compuestos
(estructurados)
Los tipos de datos simples (sin estructura) :
a) Numricos ( Entero y Real).
b) Lgicos o boolean.
c) Carcter.
Entre los tipos de datos compuestos se tiene: cadena de caracteres.
a) Datos numricos .- Conjunto de los valores numricos. Pueden representarse
en dos formas:
Numrico entero ( de punto o coma fijo ) es un subconjunto de los nmeros
enteros (+ o -).
Ejm:

5 -56 1340

17

-14

Los mximos y mnimos suelen ser: -32768 a 32767


Numrico real (punto o coma flotante) es un subconjunto de los nmeros reales
(+ o -)
Ejm:

0.08

3.7456

-53.456

3.0

Notacin cientfica:

Mantisa

67 520 000 000 000 000 000

= 6.752 x 1019

0.000 000 000 000 000 234 123

= 2.34123 x 10-16

exponente

Tabla 1. Notacin Cientfica


En algoritmos y en los programas C++, hay que declarar las variables de acuerdo
a los datos que puede almacenar. as por ejemplo para datos numricos:
Algoritmo
Tipo de dato

entero

variables

numeroPersonas

En C++
Tipo de
dato

int

variables

numeroPersonas ;

entero

numeroCajas

int

numeroCajas;

? El numeroPersonas y numeroCajas almacenan datos enteros.


real

talla

double

talla;

real

peso, talla, promPonderado

double peso, talla, promPonderado;

? La talla, peso y PromPonderado almacenan datos reales.

Desea conocer mas sobre tipos numericos en C++ ?


Tabla 2. Declaracin de variables que almacenan tipos de datos
numericos enteros y reales
b) Datos Lgicos (o booleanos)
Dato que slo puede tomar dos valores: true (verdadero o 1) y false (falso o 0).
Se usa para representar las alternativas a determinadas condiciones:
Ejm:
Ejm

Datos:

Opcion_continuar

Verdadero

Falso

Condicin_de_recepcin_de_carta

Falso

Verdadero

Estado_cancelacin_de_factura

Verdadero

Falso

Mayoria_de_edad

Falso

Verdadero

Empleado_de_licencia

Verdadero

Falso

Tabla 3. Ejemplos de variables booleanas.


En algoritmos y en los programas C++, hay que declarar las variables de acuerdo
a los datos que puede almacenar. as por ejemplo para datos booleanos:
Algoritmo
Tipo de dato

variables

En C++
Tipo de dato

boolean opcionCon

bool opcionCon;

boolean condicionRec

bool condicionRec;

boolean estadoFac

bool estadoFac;

boolean licenciaEmp

bool licenciaEmp;

variables

? opcionCon, condicionRec, estadoFac, licenciaEmp almacenan datos booleanos o


lgicos.

Desea conocer mas sobre tipos numericos en C++ ?


Tabla 4. Declaracion de variables que almacenan tipos de datos boolean
(que pueden tomar dos valores true o false)
c) Datos carcter
Conjunto finito y ordenado de caracteres que la computadora reconoce. Pueden
ser:

Pueden ser:

Datos:

Alfabticos: 'A'

'B'

'c'

'E'

'K'

'a'

....

'z'

'Z'

Numricos:

'0'

'1'

'2'

'3'

'4'

'5'

...

'8'

'9'

Especiales:

'*'

'-'

'/'

'+'

'$'

'< '

'#'

'@'

Tabla 5. Datos caracter que la computadora reconoce (codigos ASCII)


En algoritmos y en los programas C++, hay que declarar las variables de acuerdo
a los datos que puede almacenar. as por ejemplo para datos de tipo caracter:
Algoritmo
Tipo de dato

variables

En C++
Tipo de dato

caracter letras

char letras ;

caracter estCivil, nroMes

char estCivil, nroMes;

caracter operacion

char operacion;

caracter opcion

char opcion;

variables

? letras, estCivil, nroMes, operacion, opcion almacenan datos de tipo caracter.

Desea conocer mas sobre tipos caracter C++ ?


Tabla 6 Ejemplos de declaracin de variables que almacenan tipos de
datos caracter.
Datos Compuestos:

Una cadena de caracteres (cadena o string) sucesin de caracteres, que se


encuentran delimitados por apostrofes simples() o dobles().
Longitud de una cadena , es el numero de caracteres comprendidos entre los
separadores o delimitadores.
Ejm: HOLA AMIGOS

Longitud = 11

Ejm: MIURA FERNNDEZ

Longitud = 15

En algoritmos y en los programas C++, hay que declarar las variables de acuerdo
a los datos que puede almacenar. as por ejemplo para datos de tipo cadena de
caracteres o cadena:
Algoritmo
Tipo de dato

variables

En C++
Tipo de dato

caracter nombre[30]

char

nombre[30] ;

caracter profesion[25]

char

profesion[25];

caracter* apellidos

char * apellidos;

variables

? nombre y profesion almacenan cadena de caracteres de hasta 30 y 25 caracteres


respectivamente.
Segun la lectura, se pueden leer datos con espacios en blanco o no. Por ejemplo: Edgar
Garca Fernndez (hay que usar gets() para leer este dato o con cin<<para leer solo Edgar )
? apellidos pueden asignarseles datos con espacios en blanco.

Desea conocer mas sobre tipos caracter C++ ?


Tabla 7. Ejemplos de varaibles cadenas de caracteres que almacenan
una cadena de caracteres o string
CONSTANTES Y VARIABLES
C O N S T AN T E S
Espacio de la memoria para almacenar un dato que permanece sin cambio
durante la ejecucin del programa. Puede ser :

Constante Numrica que representa un determinado valor o

Constante Alfanumrica o literal que representa cualquier


combinacin de caracteres (dgito, letra, smbolo especial).
Ejm: PI = 3.14159
Ejm: Prefijo = Srta.
Ejm: TasaIgv = 0.18
Ejm: Prof = "Dr. "

Fig. 2. Ejemplos de constantes (espacios de memoria).


En algoritmos

En programacin C++

const entero x = 500

const int x = 50;

const real ti = 0.04

const double ti = 0.04;

const caracter Letra = 'A'

const char Letra = 'A';

Tabla 8. Declaracin de constantes de diversos tipos.


VARIABLES
Espacio de la memoria para almacenar un dato que puede cambiar o no durante la
ejecucin de un programa. Puede ser : numrico en el que solo se pueden
almacenar valores (dgitos) o alfanumrico en el que puede almacenarse
cualquier carcter (dgito, letra o smbolo especial)
Se le identifica por los siguientes atributos:
El Nombre (o identificador ) que se le asigna,
El tipo que describe el uso de la variable y
El valor de la variable que es la cantidad que tiene asociada en un determinado
momento

Fig. 3. Variables (declaracin)

Es decir, la variable que representa la edad de una persona se identifica por el


nombre Edad ; los datos que guardan son de tipo real y su valor en un momento
determinado puede ser 25.
Nota: Los nombres de las variables deben ser significativos, y tener relacin con el
objeto que representan. Asi si se desea almacenar pesos, a dicha variable se le
asignar el nombre depesos.
Una variable de un tipo determinado solo puede tomar valores de ese tipo.
Tipos de Variables

Las variables puede ser identificadas de acuerdo a la funcin que asume


en el algoritmo, como:
a) Contador :
Campo o variable que sirve para llevar una cuenta con incrementos constantes,
generalmente de 1 en 1.
Ejm: NroPerMayEdad, variable que cuenta el nmero de personas mayores de
edad
Requiere de las siguientes instrucciones:
NroPerMayEdad = 0
// inicializar en cero:
NroPerMayEdad = NroPerMayEdad + 1 // NroPerMayEdad aumenta en uno
b) Acumulador :
Campo o variable que sirve para llevar una suma o cuenta de diferentes
valores(acumular).
Ejm: SEdad variable que almacena la suma de las edades de una cantidad de
personas.
Requiere de las siguientes instrucciones:
1. SEdad = 0
// Inicializa en cero
2. SEdad = SEdad + Edad
// SEdad se incrementa en el valor de Edad
Inicializar, significa poner en blanco o en cero una variable o campo antes de su
utilizacin.
Los acumuladores y contadores por lo general se inicializan en cero.
La diferencia entre ellos se puede apreciar en la siguiente vista
c) Variable de Trabajo :
Campo que almacena temporalmente el resultado de alguna operacin. No es
variable de entrada ni de salida.
Ejm: Si me piden ingresar el radio y altura de un cilindro y requieren calcular el
volumen del cilindro. El Area de la base ABase requerida seria una variable de
trabajo porque no es variable ni de entrada ni de salida.

Fig. 4. Ejemplo de variables (de entrada, de salida y de trabajo)

FUNCIONES ESTNDAR ( INTERNAS )


Son funciones que vienen con todos los lenguajes de programacin. Se
representa as;

Fig. 5. Definicin de la funcin NombreFuncin

Fig. 6. Llamada de la funcin NombreFuncin, definida anteriormente


Esta es la llamada a la funcin, a la que se envia los argumentos (valores de
variables o constantes o referencias)

FUNCIONES ARITMETICAS en la definicin

Algoritmos (pseudocodigo)

NombreFuncin

Descripcin

Definicin en C++
tipoRetorno NombreFuncion (t1 p1, . ,tn pn
tipo de parmetro y de
retorno en algoritmos

tipo de parmetro y de
en C++

abs(p)

valor absoluto, retorna entero abs (entero p)


la magnitud de p
real abs (real p)

int abs(int p)
double fabs(double dp))

sqrt(p)

raiz cuadrada, retorna


real sqrt (real p)
la raiz cuadrada de p

double sqrt (double p)

pow(p1,p2)

potencia del
parametro p1 elevado real pow (real p1, real p2) double pow (double p1, dou
al parametro p2

sin(p)

seno, retorna el seno


de p expresado en
radianes

real sin(real p)

double sin( double p)

cos(p)

coseno, retorna el
seno de p expresado real cos(real p)
en radianes

double cos (double p)

tan(p)

tangente, retorna la
tangente
de pexpresado en
radianes

double tan (double p)

atan(p)

arco tangente, retorna


el angulo en radianes real atan (real p)
cuya tangente es p

double atan (double p)

exp(p)

exponente p, de e, es
real exp( real p );
decir ep

double exp(double p)

log(p)

logaritmo neperiano
de p

double log(double p)

log10(p)

logaritmo decimal dep real log10 (real p)

double log10(double p)

Random()

genera un numero
entero aleatorio entre entero rand( )
0 y maxEntero.

srand () inicializa el generado


aleatorios.
int rand( ) // genera entre 0 y m

entero (p)

Parte entera de p

int int (double p)

real tan (real p)

real log (real p)

entero int (real p)

Tabla 9. Definicin de las funciones estandar en seudocdigo y en C++


Aqui tenemos las funciones estandar en el Lenguaje de programacin C++ :

FUNCION EN LA LLAMADA (EN EL PROGRAMA PRINCIPAL)


LLamada en el LENGUAJE DE
PROGRAMACION C++

ALGORITMOS

tipos de los
NombreFuncion Argumentos x y
resultado r

Llamada y asignacin
en C++

Valor Absoluto de x

entero x,r
r = abs (x)

int x , r;
double x, r;

r = abs( x );
r = fabs( x )

Raiz Cuadrada de x

real x,r
r=x 1/2 = sqrt(x)

double x, r ;

r = sqrt ( x );

potencia real

real x,n,r
r= xn = pow(x,n)

double x,n,r;
es decir r = xn

r = pow (x,n);

Exponente de e

real x, r
r = ex = exp(x)

double x, r ;

r = exp( x );

Seno de x

real x,r
r = sin (x)

double x, r ;

r = sin ( x );

Coseno de x

real x,r
r = cos(x)

double x, r ;

r = cos( x );

Tangente de x

real x,r
r = tan(x)

double x, r ;

r = tan( x );

Arco Tangente de x

real x,r
r = atan(x)

double x, r ;

r = atan( x );

Logaritmo Natural o
neperiano de x

real x,r
r = log(x)

double x, r ;

r = log( x );

Logaritmo Decimal de x

real x,r
r = log10(x)

double x, r ;

r = log10( x );

Numero aleatorio

r = random()

int r;

srand();
r = rand ();

parte_entera (x)

real x
entero r
r = entero (x)

double x;
int r;

Definicin

r = int (x);

Tabla 10. Llamada de las funciones estandar en seudocdigo y en C++

EXPRESIONES ARITMTICAS
Son combinaciones de constantes y/o variables unidos por operadores
aritmticos parntesis y nombres de funciones especiales.

Operadores Aritmticos
Significado

Tipos operandos

Tipo de
resultado

Potenciacin

Base entera o real


Exponente Entero

Entero o
real
Entero o
real

Adicin

Entero o real

Entero o
real

Sustraccin

Entero o real

Entero o
real

Multiplicacin

Entero o real

Entero o
real

Divisin

Entero o real

Real

div

division entera

Entero

Entero

mod

division entera

Entero

Entero

Operador

**

Tabla 11. Operadores aritmticos, simbolo y sgnificado en


pseudocodigo..
Los Operadores en algoritmos y en C++
OPERADORES
ARITMETICOS

ALGORITMOS
PSEUDOCODIGO

C ++

Adicin o suma

Resta o
Sustraccion

*
/
^

*
/

Multiplicacin
Divisin Real
Potencia
Nota :

Modulo(resto) MOD

Ddo y Dsor se
declaran enteros

Ejm: R=Ddo MOD Dsor

Cociente DIV
Divin entera
Ddo = Dsor*Q + R Ejm: Q= Ddo DIV Dsor

Ejm: R = (Ddo % Dsor)


Ejm: Q = (Ddo / Dsor)
Q = int (( Ddo - R) / Dsor))

: Desea conocer mas acerca de el cociente y el resto de una divisin


entera

Tabla 12. Operadores aritmticos en seudocdigo y en C++


Ejm: a + b 3 + sqrt(c)
Ejm: pow(sin(x),2) + pow(cos(x),2)
Ejm: c = sqrt( pow(a,2) + pow(b,2) )
Ejm: exp (3) exp(2)
Ejm: Ln(2.345)
Ejm: Comision = Ventas*0.05
// Objeto result, de la estructura t_div veaDiapositiva

t_div result
resto = result.rem
cociente = result.quot
Reglas de prioridad
1) Las operaciones encerradas entre parntesis se evaluan primero. Si estan
anidados, primero se evaluan los mas internos.
2) Operador exponencial ^ o **
3) Operadores * /
4) Operadores + EXPRESIONES RELACIONALES
Es un conjunto de variables y/o constantes unidas o relacionadas por operadores
relacionales.

OPERADORES RELACIONALES

algoritmos

Significado

En lenguaje C++

Compleme Operado Compleme


nto
r
nto

Operador
<

Operador

>=

menor
que

mayor o
igual que

<

>

menor o
igual
que

mayor que

<=

<=

mayor
que

menor o
igual que

>

>=

<

mayor o
menor que > =
igual que

igual que

distinto
de
(diferente
)

<=
>

distinto de
(diferente)

Compleme
nto
>=
>
<=
<

==

!=

!=

==

Tabla 13. Operadores Relacionales y su complemento, en pseudocdigo


y en C++
Ejm en algoritmos y en lenguaje C++
En algoritmos

En C++

Edad > 18

Edad > 18

SalBruto <= SalNeto

SalBruto <= SalNeto

EstCivil 'S'

EstCivil != 'S'

Tabla 13. Ejemplos de operadores Relacionales en pseudocodigo y en


C++
EXPRESIONES LGICAS ( o BOOLEANAS )
Se forman combinando constantes lgicas, variables lgicas y otras expresiones
lgicas utilizando los operadores lgicos: NO, O, Y, y los operadores relacionales
o de comparacin.
En algoritmos

En C++

( Edad > 18 ) Y ( Talla < 1.70 )

( Edad > 18 ) && ( Talla < 1.70 )

NO ( sexo = F )

! ( sexo == F )

( EstCivil = C ) O (Sueldo > 2000)

( EstCivil == C ) || (Sueldo > 2000)

Tabla 14. Ejemplos de expresiones booleanas


FORMAS DE REPRESENTAR LOS ALGORITMOS
Los algoritmos pueden presentarse en :

Diagramas de Flujo,
Diagramas de Nassi Sneidermann y
pseudocdigo,

Pseudocdigo
Es un lenguaje de especificacin de algoritmos. Es similar al lenguaje comn. Su
traduccin a un lenguaje de programacin es sencillo.
Utiliza enunciados donde cada uno de ellos representa una instruccin en un
programa de computadora.
Ofrece gran facilidad para representar en un lenguaje no formal las instrucciones
de un algoritmo que sirve de base para el cdigo o programa fuente
Utiliza palabras reservadas en ingles o en castellano como
Iniciar el algoritmo

INICIO

Finalizar el algoritmo

FIN

Lectura (permite ingresar


LEER
los valores de las variables)
Mostrar (permite mostrar
MOSTRAR
los valores de las variables)
Estructura Selectiva

SI (expBooleana) { ... .... } SINO {... .... }


SELECCIONA segun (selector ) { caso v1 : ....... }

Estructura Repetitiva

PARA ( ... ; Hasta ; ... con ) { ......... }


MIENTRAS (expBooleana ) {

.... }

DO { .............. } MIENTRAS ( expBooleana )


Tabla 15. Tabla de las principales palabras representativas en pseudocdigo para
identificar las estructuras de control, inicio, fin, entrada y salida de datos.
INSTRUCCIONES O SENTENCIAS
a) Instruccin de Asignacin

Operacin en la cual el computador desarrolla o evala una expresin matemtica


y almacena el resultado final en una determinada variable. En la forma ms simple
de asignacin el computador mueve una constante o el contenido de un campo a
otra variable.
Sintaxis:
Nombre_de_la_variable = expresin, variable o constante
Asignacin Aritmtica:
En algoritmos

En C++

var1 = 3+4*2

var1 = 3+4*2

var2 = 0.65 / 0.2

var2 = 0.65 / 0.2

var3 = var1 / var2

var3 = var1 / var2

Tabla 16. Ejemplos de asignaciones aritmticas


Asignacin Lgica
En algoritmos

En C++

Boolean var1,var2,var3

Bool var1,var2,var3;

var1 = 5 < 2

var1 = 5 < 2;

var2 = 7 >= 3

var2 = 7 >= 3;

var3 = var1 o var2

var3 = var1 || var2 ;

Tabla 16. Ejemplos de asignaciones lgicas o booleanas.


Asignacin de Caracteres o cadena de caracteres
En algoritmos

En C++

caracter *vCad, car

char * vCad, car ;

car = 'S'

car = 'S';

vCad = "25 de diciembre de 1998"

vCad = "25 de diciembre de 1998";

Tabla 17. Ejemplos de asignaciones de caracteres y cadenas de


caracteres
NOTA :
= Este simbolo significa asignacin e indica que el valor de la parte derecha del
enunciado se le asigna a variable de la izquierda
Reglas para la construccion de un enunciado de asignacin:

Toda variable del lado derecho debe estar definida


Despus de ejecutarse un enunciado:
Solo la variable de la izquierda puede cambiar de valor cuando con
anterioridad tiene un valor asignado
Las variables del lado derecho conservan su valor..
Si la variable de la parte izquierda se encuentra tambin en la derecha ,
esta variable cambia de valor por aparecer en la izquierda
b) Instruccin de Entrada y salida de informacin
En algoritmos
real

entero
v2

En C++

caracter sexo double v;

int v2;

LEER v

cin>> v;

LEER v2

cin>>v2;

MOSTRAR v

cout<<v;

MOSTRAR v, v2

cout<<v<<v2<<endl;

LEER sexo

cin>>sexo;
char nombre[20]; // cadena de

caracter nombre[20]
LEER nombre

caracteres

cin>>nombre;

// lee un solo nombre sin espacios en

blanco

gets(nombre); // lee
MOSTRAR nombre

char sexo;

nombre con espacios en blanco

cout<<nombre; // con y sin espacios en


blanco

Tabla 18. Entrada y salida de datos en pseudocdigo y en C++


ESTRUCTURA Y DISEO DE UN ALGORITMO EN PSEUDOCDIGO
Encabezado .- Empezar con la palabra ALGORITMO seguida por una descripcin
adecuada de acuerdo al problema a resolver
Ejm: ALGORITMO Calcular Area del Circulo
Inicio del Algoritmo .- Indicar el inicio del Algoritmo
Ejm INICIO
Declaracin de Constantes .- Definir los valores que no cambian en el transcurso
del algoritmo

Ejm const real Pi = 3.1416


Declaracin de las Variables a usar .- Definir las variables (estructuras de
datos ) que sean necesarios para resolver el problema, identificndolas con un
nombre y determinando sus tipos.
Ejm. Real Radio , Area
Leer Calcular o Imprimir .- Que permite leer, calcular o imprimir tantas veces se
quiera.
a) Leer Datos.- Permite introducir los valores de las variables de entrada
disponibles como materia prima, para evaluar las variables de salida
Ejm:

LEER Radio

b) Calcular .- Permite procesar los valores de entrada para producir la salida


adecuada.
Ejm :

Area = Pi * Radio * Radio


o Area = Pi * pow ( Radio,2 )

c) Mostrar Resultados (Salida de Datos) .- Permite dar salida a la


informacin requerida.
Ejm: MOSTRAR Area
El algoritmo completo es el siguiente:
Ejm : para el problema del clculo del area de un rectngulo visto anteriormente,
en seudocdigo sera as:
INICIO

// Entrada (Lectura) de datos


LEER Base , Altura

// Proceso: Calculo de Area


Area = Base * Altura
// Salida de resultados
MOSTRAR Area
FIN

Fig. 7. Entrada, proceso y salida de informacin.


Ejm : Hacer un algoritmo que permita calcular el jornal basico de un obrero, si
para ello se requiere ingresar por teclado la tarifa horaria y el numero de horas
trabajadas. La formula del jornal es : Jornal = TarHora x NroHoras.

Fig. 8. Entrada , Proceso y salidad de informacin.


ALGORITMO CalJornal
INICIO
// Declaracin de las variables
real TarHora, Jornal
entero NroHoras
// Lectura de los Datos de Entrada
LEER TarHora
LEER NroHoras
// Calculo del Area del Rectangulo
Jornal = TarHora * NroHoras.
// Muestra Area del Rectangulo
MOSTRAR Jornal
FIN
ESTRUCTURAS DE CONTROL
Algoritmo pseudocodigo

En Lenguaje C++

Estructura Selectiva
si ( ExpBooleana )
{ Bloque_Verdadero
sino
{ BloqueFalso }

if ( ExpBooleana )
{ Bloque_Verdadero
else
{ BloqueFalso }
Estructura switch

Seleccione ( selector)
{
caso val1 : Bloque_1;
salto
caso val2 : Bloque_2;
salto
sino
: Bloque_n;
}

switch ( selector )
{
case val1 : Bloque_1
break ;
case val2 : Bloque_2
break ;
default
: Bloque_n
}

val1 y val2 son los posibles valores de selector


En caso selector sea val1 , se ejecuta el Bloque_1
En caso selector sea val2 , se ejecuta el Bloque_2
De lo contrario se ejecuta el Bloque_n
Estructura Repetitiva for
Para ( i = vi ; hasta vf ; i=i+inc )
{ Bloque_Repetitivo }

for ( i = vi ; i <= vf ; i = i+inc )


{ Bloque_Repetitivo }
// El valor inicial de i es vi , se ejecuta el
Bloque_Repetitivo mientras i sea <=vf , con
incrementos de i en inc

El Bloque_Repetitivo deja de ejecutarse, cuando el valor de i > vf


Estructura Repetitiva while
while ( Expresin_Booleana)
{ Bloque_Repetitivo }

Mientras ( expresion_Booleana )
{ Bloque repetitivo }

// Evala la expresion Booleana antes


de ejecutar el Bloque_Repetitivo, si es
true ejecuta el Bloque_Repetitivo, de lo
contrario ya no ejecuta el
bloque_Repetitivo
do
{ Bloque Repetitivo }
while ( expresion_Booleans);

Hacer
{ Bloque repetitivo }
Mientras ( expresion_Booleana )

// Evala la expresion Booleana despues de


ejecutarse el Bloque_Repetitivo, si es true
continua ejecutando el Bloque_Repetitivo, de lo
contrario sale del Bloque_Repetitivo.
// El Bloque_Repetitivo, se ejecuta por lo menos
1 vez.

Tabla 19. Tabla de estructuras de control, que facilitan la codificacin en el


lenguaje C++, a partir de algoritmos hechos en pseudocdigo.

Silabo
Horario

Curso : Trabajos :
Teora

Laboratorios

Practica Trabajos

Solucionario e-mail
Codificacin
Evaluaciones enlaces LP

Artculos
Diversos

4. Realizar el anlisis, diagrama de flujo y prueba de escritorio, para


los siguientes planteamientos
1.- Determinar en una lista los pasos para ir al cine con el
novio o la novia.
Anlisis:
Problema: invitar a la novia a cine.
Especificaciones de entrada: llamar a la novia, hacer
invitacin. Especificaciones de salida: fijar lugar, fijar
hora, encuentro en el lugar fijado, compra de boletas,
ingreso a la sala de cine.

2.- Realizar un algoritmo donde se indique los pasos para


realizar un plato tpico de la regin.
Anlisis:
Problema: elaboracin de plato tpico mamona
Especificaciones de entrada: comprar la novilla.
Especificaciones de salida: sacrificio de la novilla,
condimentos, yuca, papa, sal, trozos de lea.

3.- Realizar un diagrama que permita esquematizar (dibujo) los


pasos para baar un elefante.
Problema: como baar un elefante
Especificaciones de entrada: un elefante, un lazo, 100
litros de agua, 100 cc de jabn liquido, un cepillo, un balde
Especificaciones de salida: mojar el elefante, aplicar jabn,
cepillar, enjuagar.

4.- Determinar cual es el cuadrado, de un determinado nmero,


primero haga la lista de pasos a utilizar, luego el algoritmo
en pseudocdigo y finalmente el diagrama de flujo.
Pasos:
Inicio
Ingrese un nmero: a
Lea numero: a
Cuadrado = a^2;
Escriba el resultado
Fin

5.- Elaborar un diagrama de flujo que permita determinar si un


nmero es Positivo o
Negativo.

6.- Elabore en pseudocdigo y en diagrama de flujo un


algoritmo que halle el rea de un triangulo.

7.- Ejercicio de conversin, desarrollar un algoritmo


en pseudocdigo y luego un diagrama, que permita ingresar
una cantidad en metros y la convierta a Centmetros,
Kilmetros, Pies, pulgadas (utilice las sentencias de
seleccin).
PSEUDOCODIGO
1. algoritmo de conversin de metros a:
centmetros, kilometros, pies, pulgadas;
2. var
3. m,km,cm,pies,pulgadas:real
4. inicio
5. escriba(por favor ingrese un numero);
6. lea(m);
7. cm = m*100;
8. escriba(el valor es:,cm);
9. km = m*0.001;
10. escriba(el valor es:,km);
11. pies = m*3.281;
12. escriba(el vlor es:,pies);
13. pulgadas = m*39.37;
14. escriba(el valor es:,pulgadas);
15. imprimir(c,km,pies,pulgadas)
16. fin

8.- Leer una determinada temperatura en grados centgrados y


convertirla a Fahrenheit
PSEUDOCODIGO
1. leer una temperatura en grado centigrados y
convertirla en grados fahreheit.
2. var
3. c = (grados centigrados); real
4. inicio
5. ingrese(el valor en grados);
6. lea(c);
7. Fahrenheit = c(9/5)+32;
8. escriba(grados Fahrenheit es:,f);
9. fin

9.- Elabore un algoritmo en pseudocdigo y un diagrama de


flujo que teniendo como datos de entrada el radio y la altura de
un cilindro calcule el rea total y el volumen del cilindro.

10.- Elaborar un diagrama de flujo, que permita ingresar 3


valores y los imprima en forma descendente.

5. Analice el siguiente algoritmo en pseudocdigo y discuta con sus


compaeros de grupo, porque en este ejercicio se emplearon 3
condicionales?, Existen otras formas de resolverlo?
1. Algoritmo mayor_v1
2. var
3. a,b:entero
4. inicio
5. Escriba(Por Favor entre un nmero);
6. Lea(a);
7. Escriba(por favor entre el segundo nmero);
8. Lea (b);
9. Si (a=b)
10. escriba (los Nmeros son Iguales);
11. fin_si
12. Si (a>b)
13. escriba (El mayor es :, a);
14. fin_si
15. Si (a)
16. escriba(el mayor es :,b);
17. fin_si
18. fin
RTA
Se emplean 3 condicionales; por que necesitamos saber cual es el
mayor y menor de los 2 nmeros enteros, pero que pasa, si al
introducir los nmeros son iguales, posiblemente imprimira error;
entonces empleamos las tres condiciones, para que el algoritmo no
se ambiguo.
Forma 2
1. Algoritmo mayor_v1
2. var
3. a,b:entero
4. inicio
5. Escriba(Por Favor entre un nmero);
6. Lea(a);
7. Escriba(por favor entre el segundo nmero);
8. Lea (b);
9. Si (a=b)
10. escriba (los Nmeros son Iguales);
11. sino_si(a>b)
12. escriba (El mayor es :, a);
13. sino_si(a)

14. escriba(el mayor es :,b);


15. fin_si
16. fin
6. Defina estructura de seleccin simple, doble y en cascada y d un
ejemplo en pseudocdigo.
Seleccin simple La estructura de seleccin simple permite
ejecutar una accin o un grupo de acciones slo si se cumple
una determinada condicin. As, si la condicin es verdadera se
ejecuta la accin acciona; en caso contrario, no se hace nada
Por ejemplo, si se desea cambiar el signo de un nmero nicamente
en caso que sea negativo, podemos
escribir:
SI( numer
o<0)
numero =
-1 *
numero
Si el nmero no es negativo,
simplemente esta estructura se
pasara por alto y se continuara en
la siguiente instruccin despus
del SI.
Estructura de Seleccin Doble SI - SINO
La estructura de seleccin doble permite seleccionar una ruta de
dos rutas posibles en base a la verdad o falsedad de una condicin.
As, en la Figura 3.2, si la condicin es verdadera, se ejecuta la
accin A; en caso contrario, se ejecuta la accin B.

Por ejemplo, la siguiente estructura de seleccin doble determina si


una persona es mayor o menor de edad:
SI( edad >= 18 )
estado = "Mayor de edad"
SINO
estado = "Menor de edad"
Esto imprime "Mayor de edad" si la persona tiene 18 aos ms e
imprime "Menor de edad" si la persona tiene menos de 18 aos. En
cualquiera de los casos, despus de efectuar la impresin, se
ejecutar la primera instruccin que sigue a la estructura SI...SINO.
Estructura de Seleccin Doble en Cascada SI-SINO-SI
La estructura de seleccin doble en cascada esta formada por
varias estructuras de seleccin doble SI-SINO puestas una a
continuacin de otra de forma que a un SI-SINO le sigue otro SISINO.
En la estructura de seleccin doble en cascada, las condiciones se
evalan en orden descendente, pasando de una condicin a otra si
la condicin anterior resulta falsa. En el momento que se encuentra
una condicin verdadera, se efecta la accin correspondiente a
dicha condicin y se corta el resto de la estructura. Si todas las
condiciones resultan falsas, se efecta la accin correspondiente al
ltimo SINO, que se considera como la accin por defecto.

Diagrama de flujo y el pseudocdigo de la


estructura de seleccin doble en cascada.

Ejemplos de seleccin simple:


Ejemplo 1:
Por ejemplo, si se desea cambiar el signo de un nmero nicamente
en caso que sea negativo, podemos escribir:
1.
2.
3.
4.
5.
6.
7.
8.
9.

cambio de signo a un numero si es negativo


var
numero:entero,real
inicio
introduzca(el numero);
lea(n);
si(n<0)
numero=-1*n;
fin

Ejemplo 2:
Realizar un pseudocdigo, para saber si pase un determinado
curso.
Pseudocodigo
1.
2.
3.
4.
5.
6.
7.
8.
9.

Algoritmo para conocer el estado acadmico


var
nota: entero, real;
inicio
ingrese(por favor la nota);
lea(nota);
si(nota>=3.0)
entones(paso el semestre);
fin

Ejemplos de seleccin doble:


EJEMPLO 1
Hallar el salario de los empleados de ventas de la empresa
comercial andina: teniendo los siguientes datos, sueldo bsico
500.000, segn las ventas de cada empleado se le da una
comisin, asi: menor de 2.000.000 5%, mayor 10%.
PSEUDOCODIGO
1. algoritmo para calcular el salario de un empleado
2. var
3. s,ventas,sueldo basico,0.05,0.1:entero,real
4. inicio
5. introduzca(valorventas);
6. lea(valor)
7. si(ventas<2000000)
8. s=(ventas*0.05)+sueldobasico;
9. sino(ventas*0.1)+sueldobasico;
10. imprima (salarios de empleados)
11. fin

Ejemplos de seleccin doble en cascada: SI-SINO-SI.


Disee un algoritmo que califique el puntaje obtenido en el
lanzamiento de tres dados en base a la cantidad seis obtenidos, de
acuerdo a lo siguiente: tres seis, excelente; dos seis, muy bien; un
seis, regular; ningn seis, psimo.
PSEUDOCODIGO
calificacion del puntaje segn el lanzaminento
VAR
ENTERO:dado1, dado2, dado3
CADENA: calificacion
inicio
LEER(dado1,dado2,dado3)
SI(dado1+dado2+dado3==18)
calificacion="Excelente"
SINO SI(dado1+dado2==12||dado1+dado3==12||dado2+dado3==12)
calificacion="Muybin"
SINO
SI(dado1==6||dado2==6||dado3==6);
calificacion="Regular"
SINO
calificacion="Psimo"
IMPRIMIR(calificacion)
FIN

CONCLUSIONES
Estudiada la segunda unidad, aprendimos analizar un problema,
conocer sus variables, sus constantes y estructurarlo en
diagrama de flujo, y realizar un pseudocdigo.
Cuando necesitamos resolver un problema, lo primero en lo que
debemos pensar es en analizarlo y entenderlo de forma clara y
suficiente. En esto radica el xito de la solucin obtenida
(optimizacin de recursos para llegar a la solucin).

BIBLIOGRAFA
FUENTES
Criado Prez, Antonio M. Y Frutos Rayego, Fabin: Introduccin a
los
Fundamentos fsicos de la informtica, Madrid: Paraninfo, 1999
Gabor loerincs Enciclopedia de la micro computacin
DIRRECIONES ELECTRONICAS
http://es.wikipedia.org/wiki/Software_libre
http://www.um.es/atica/softla/que-es.php
http://www.conozcasuhardware.com

Diagramas de flujo (pgina 2)


Enviado por sanheymar_1@hotmail.com

Partes: 1, 2

3. Problemas resueltos con diagramas de flujo.


Algoritmo:
1.
2.

Elabore un algoritmo que sume dos nmeros :

a.
b.

Elaborar un algoritmo que sume dos nmeros


Definicin del problema:

c.
d.

Entrada: A, B
Proceso: A+B
Salida: Resultados de suma
Validacin: No aplica
Anlisis del problema:
Diseo del algoritmo:

Paso1- Inicio _ algoritmo _suma


Paso2-Declarar variables A y B de tipo numrico
Paso3-Escribir ("Ingrese el valor de A y B respectivamente ")
Paso4-Leer (A, B)
Paso5-("El resultado es:", A+B)
Paso6-Fin_algoritmo_suma.
Diagrama de flujo:
Inicio

Algoritmo:
1.
2.

Escribir un algoritmo que calcule el rea de un tringulo.

a.
b.

Escribir un algoritmo que calcule el rea de tringulo


Definicin del problema:

c.
d.

Entrada: base*altura
Proceso: base*altura/2
Salida: rea
Validaciones: No aplica
Anlisis del problema:
Diseo del algoritmo:

Paso1-Inicio_algoritmo_rea _tringulo
Paso2-Declarar base, altura y rea de tipo real
Paso3-Escribir ("Ingrese el valor de base y altura respectivamente")
Paso4-Leer (base, altura)
Paso5-a=base*altura/2
Paso6-Escribir ("El resultado es: ", rea)
Paso7-Fin_algoritmo_rea_tringulo.
Diagrama de flujo:

4. Definicin y explicacin del mtodo de ordenacin


por burbuja. Ventajas y desventajas.
El ordenamiento es uno de los procesos ms comunes y tiles en el procesamiento de datos, es la
clasificacin u ordenacin de los mismos. La colocacin en orden de una lista de valores se le llama
ordenacin. Por ejemplo, se podra disponer de una lista de valores numricos en orden ascendente o
descendente, o bien una lista de nombres en orden alfabtico.
El mtodo de ordenacin por burbuja es el mas conocido y popular entre estudiantes y aprendices
de programacin.
Este mtodo se basa en la ordenacin por cambios de elementos, ya que se van comparando de dos en dos
los elementos de la tabla (vector). Si nosotros deseamos ordenar dicha tabla de menor a mayor (ascendente)
al realizar la comparacin entre dos elementos se produce el intercambio en el momento en que el primer
elemento es mayor que el segundo. De esta forma los elementos ms grandes pasan a estar en el ltimo
lugar de la tabla. El elemento sube por la tabla al igual que una burbuja en un recipiente, de ah proviene su
nombre.
La tcnica consiste en hacer varias pasadas a travs de la tabla, en cada pasada se comparan parejas
sucesivas de elementos. Si una pareja esta en orden creciente (o los valores son idnticos), se dejan los
valores como estn. Si una pareja esta en orden decreciente, sus valores se intercambian en la tabla.
Supongamos que tenemos una tabla de un total de 50 elementos y que desde un principio esta ordenada,
pero eso nosotros no lo sabemos, por lo que sometemos la tabla a una ordenacin. Como te puedes imaginar
el programa esta empleando un tiempo que nos puede ser til, para realizar cualquier otro calculo dentro de la

aplicacin. Piensa que con una tabla de 50 elementos el programa pasara por el bucle principal 49 veces.
Podemos ver que es un mtodo un poco rudimentario y un poco largo segn el caso.
Este mtodo dentro de lo sencillo, es que nos permite una mejora. Esta mejora consiste en terminar el bucle
principal en el momento en el que detectemos que en una pasada, por todo lo largo de la tabla no ha habido
ningn cambio, esto quiere decir que la tabla esta completamente ordenada.
Ventaja:
Este mtodo es fcil de comprender, programar y es el ms extendido.
Desventaja:
Su desventaja principal, es uno de los menos eficientes y por ello, normalmente, se aprende su tcnica pero
no se utiliza.

5. Definicin y explicacin de los mtodos de bsqueda


secuencial y binaria. Diferencias, ventajas y desventajas
entre ambos.
La bsqueda es una operacin que tiene por objeto la localizacin de un elemento dentro de la estructura de
datos. A menudo un programador estar trabajando con grandes cantidades de datos almacenados en
arreglos y pudiera resultar necesario determinar si un arreglo contiene un valor que coincide con algn valor
clave o buscado.
Siendo el array de una dimensin o lista una estructura de acceso directo y a su vez de acceso secuencial,
encontramos dos tcnicas que utilizan estos dos mtodos de acceso, para encontrar elementos dentro de un
array: Bsqueda secuencial y bsqueda binaria.
Bsqueda secuencial:
La bsqueda secuencial, tambin se le conoce como bsqueda lineal.
Supongamos una coleccin de registros organizados como una lista lineal. El algoritmo bsico de bsqueda
secuencial consiste en empezar al inicio de la lista e ir a travs de cada registro hasta encontrar la clave
indicada (k) o hasta el final de la lista.

Este mtodo consiste en recorrer el arreglo o vector elemento a elemento e ir comparando con el valor
buscado (clave). Se empieza con la primera casilla del vector y se observa una casilla tras otra hasta que se
encuentre el elemento buscado o se han visto todas las casillas. El resultado de la bsqueda es un solo valor,
y ser la posicin del elemento buscado o cero. Dado que el vector o arreglo no esta en ningn orden en
particular, existe la misma probabilidad de que el valor se encuentra ya se en el primer elemento, como en el
ultimo. Por lo tanto, en promedio, el programa tendr que comparar el valor buscado con la mitad de los
elementos del vector.
El mtodo de bsqueda lineal funciona bien con arreglos pequeos o para arreglos no ordenados.
Ventaja:
Es un mtodo sumamente simple que resulta til cuando se tiene un conjunto de datos pequeos
(Hasta aproximadamente 500 elementos)
Es fcil adaptar la bsqueda secuencial para que utilice una lista enlazada ordenada, lo que hace la
bsqueda ms eficaz.

Si los datos buscados no estn en orden es el nico mtodo que puede emplearse para hacer dichas
bsquedas.
Desventaja:
Este mtodo tiende hacer muy lento.
Si los valores de la clave no son nicos, para encontrar todos los elementos con una clave particular,
se requiere buscar en todo el arreglo, lo que hace el proceso muy largo.
Bsqueda Binaria:
La bsqueda binaria es el mtodo, donde si el arreglo o vector esta bien ordenado, se reduce sucesivamente
la operacin eliminando repetidas veces la mitad de la lista restante.
El proceso comienza comparando el elemento central del arreglo con el elemento buscado. Si ambos
coinciden finaliza la bsqueda. Si no ocurre as, el elemento buscado ser mayor o menor en sentido estricto
que el elemento central del arreglo. Si el elemento buscado es mayor se procede a hacer bsqueda binaria en
el subarray superior, si el elemento buscado es menor que el contenido de la casilla central, se debe cambiar
el segmento a considerar al segmento que est a la izquierda de tal sitio central.
Este mtodo se puede aplicar tanto a datos en listas lineales como en rboles binarios de bsqueda. Los pre
requisitos para la bsqueda binaria son:
La lista debe estar ordenada, en un orden especifico de acuerdo al valor de la clave.

Debe conocerse el nmero de elementos.


Si el conjunto de elementos es grande, el tiempo de bsqueda se puede reducir utilizando el siguiente
algoritmo de tipo divide y vencers:
1.
Se divide el elemento en dos partes.

2.

Se determina la parte que debe contener la clave buscada.

3.

Se repite el proceso en esa parte.

Una forma razonable de dividir el conjunto de elementos es mantener los elementos ordenados y despus
utilizar los ndices del arreglo ordenado para determinar la parte del arreglo sobre la que se va a trabajar.
Ventajas:
Se puede aplicar tanto a datos en listas lineales como en rboles binarios de bsqueda.
Es el mtodo ms eficiente para encontrar elementos en un arreglo ordenado.
Desventajas:
Este mtodo funciona solamente con arreglos ordenados, por lo cual si nos encontramos con arreglos que no
estn en orden, este mtodo, no nos ayudara en nada.

Diferencias entre ambos mtodos:


En el caso del mtodo de bsqueda binaria, los arreglos deben estar nicamente ordenados, como se planteo
anteriormente, por su parte el mtodo de bsqueda secuencial o lineal, puede emplearse tanto en arreglos
pequeos, como en aquellos que no estn ordenados.
En segundo orden, podemos ver que el mtodo de bsqueda binaria, es el mtodo ms eficiente para
encontrar elementos en un arreglo ordenado, lo contrario sucede con el mtodo de bsqueda secuencial ya
que este es muy lento, pero si los datos no estn en orden es el nico mtodo que puede emplearse para
hacer las bsquedas.

Conclusin:

En la actualidad los diagramas de flujo son considerados en la mayora de las empresas o departamentos
de sistemas como uno de los principales instrumentos en la realizacin de cualquier mtodo o sistema.
Su utilizacin en estos mbitos es tan importante, debido a que permiten la visualizacin de las actividades
innecesarios y verifica si la distribucin del trabajo est equilibrada, o sea, bien distribuida en las personas, sin
sobrecargo para algunas mientras que otros trabajan con mucha holgura.
En cuanto a la tcnica de ordenacin por el mtodo de burbuja, queda claro que la tcnica mejor usada para
dicho mtodo, consiste en hacer varias pasadas a travs del array. En cada pasada, se comparan parejas
sucesivas de elementos. Si una pareja est en orden creciente (o los valores son idnticos), se dejan los
valores como estn. Si una pareja est en orden decreciente, sus valores se intercambian en el array.
Para el mtodo de bsqueda Binaria, lo prerrequisitos principales para dicha bsqueda son:
La lista debe estar ordenada en un orden especfico de acuerdo al valor de la clave (elemento a
buscar).

Debe conocerse el nmero de elementos.


La bsqueda secuencial tambin la podemos conocer o encontrar con el termino de "Bsqueda Lineal".
Este mtodo de bsqueda es muy lento, pero si los datos no estn en el orden es el nico mtodo que puede
emplearse para hacer las bsquedas.
Es fcil adaptar la bsqueda secuencial para que utilice una lista enlazada ordenada, lo que hace la bsqueda
ms eficaz. Es fcil mantener el orden insertando cada registro en el lugar donde termina una bsqueda
sin xito y cada bsqueda termina cuando se encuentra un registro con una clave no menor que la clave de
bsqueda.

Recomendaciones:
1.

Los diagramas de flujo le ayudan en la definicin, formulacin, anlisis, y solucin del problema.

2.

El diagrama de flujo le ayudara con el anlisis a comprender el sistema de informacin de acuerdo


con las operaciones de procedimientos, ayudara a analizar esas etapas con el fin tanto de mejorarlas,
como de incrementar la existencia de sistemas de informacin para la administracin.

3.

En el mtodo de ordenacin por burbuja, si al terminar el bucle principal en el momento que se


detecte que en una pasada por todo lo largo de la tabla no ha habido ningn cambio esto le indicara que
la tabla est completamente ordenada.

Se divide el elemento en 2 partes.

Se determina la parte que debe contener la clave buscada.

Se repite el proceso en esa parte.

4.

En el mtodo de bsqueda binaria, si el conjunto de elementos es grande, se recomienda utilizar el


siguiente algoritmo de tipo divide y vencers, para reducir su tiempo de bsqueda:

5.

Para que el mtodo de bsqueda secuencial resulte sumamente til se recomienda hacer lo
siguiente:

Almacenar todo los elementos en un arreglo o lista.

Insertar cada elemento al final del arreglo o lita

Recorrer o iterar sobre el arreglo o lista hasta conseguir el elemento requerido.

Bibliografa:
INFORMTICA.
Wilson T. Price
Merritt Collage
Oakland, California
Nueva Editorial:
Interamericana S.A. de C.V.
Mxico, D.F. 1985
Tercera edicin
METODOLOGA DE LA PROGRAMACIN
Lus Joyanes Aguilar
Libros McGRAW-HILL de Mxico. S.A. de C.V.
Primera edicin en espaol.
www.altavista.com
www.yahoo.com

Leer ms: http://www.monografias.com/trabajos42/diagrama-de-flujo/diagrama-de-flujo2.shtml#ixzz2grpSqPla

Viscosidad de los aceites


Los aceites presentan notables diferencias en su grado de viscosidad o fluidez, influyendo
mucho estas diferencias en algunas de sus aplicaciones. El grado de viscosidad de los
aceites tiene importancia en los aceites destinados a arder y los utilizados como lubricantes.
En los primeros influye la viscosidad de modo que los aceites fluidos ascienden fcilmente
por capilaridad en las mechas de las lmparas, mientras que los muy viscoso o poco fluidos
requieren disposiciones especiales para conseguir que llegue a la llama en la unidad de
tiempo suficiente cantidad de combustible. Cuando se emplea aceites como lubricantes, la
materia grasa debe tener consistencia apropiada para impedir el contacto inmediato de las
superficies que frotan entre s impidiendo con ello se desgaste; para lograr esto conviene
que la materia grasa no sea demasiado fluida ni tampoco demasiado viscosa.
Sistemas Unidades

S.I.: N.s / m2 = Kg / m.s


C.G.S.: g /cm.s = Poise
S.B.G.: slug / ft.seg
S.I.I.: lb.seg / ft2
CLASIFICACIN DE LOS ACEITES
La clasificacin de los aceites atendiendo a su velocidad ,generan en la etiqueta de los
envases una serie de siglas , acompaados por unos dgitos , identificando el grado de
viscosidad del lubricante , qu se refiere a su temperatura sin aadir datos alguno de sobre
atrs apreciaciones o condiciones. El ndice de viscosidad representa la tendencia ms o
menos que se espera a medida que se enfra o se calienta. Los aceites multigrado con base
sintticos se obtienen haciendo una mezcla de aceites de sntesis de baja graduacin SAE y
de aceites mineral de altas viscosidad.
La Organizacin de Estandarizacin Internacional ISO , estableci su ordenacin para los
lubricantes de aplicacin industrial , o a la Sociedad de Ingenieros de Automocin -Society
of Automotive Engineers- (SAE) de los Estados Unidos , creo su escala de denominacin
para definir rangos de viscosidad en lo lubricantes de automviles
Clasificacin SAE:
La Sociedad de Ingenieros de Automotores de EE.UU.(SAE) clasific a los aceites segn
su viscosidad adoptando como temperatura de referencia 100 grado centgrado y
manteniendo la viscosidad en centistoke (cst). Se dividi el rango total de viscosidades de
los aceites en grupos arbitrarios designados por los siguientes nmeros: 20, 30, 40 y 50,
originalmente existi un grado 60 que luego fue suprimido.
Esta clasificacin no tuvo en cuenta que un aceite SAE 20 en condiciones de baja
temperatura aumentaba considerablemente su viscosidad no siendo apto para una operacin
correcta en climas fros. Surgen as los aceites tipo W (winter: invierno) que cubriran esta
deficiencia. Se ampli entonces la clasificacin incorporando los grados SAE 5W, SAE
10W, SAE 20W a los ya existentes.
Estas primeras clasificaciones slo tomaron en cuenta la viscosidad del aceite,
posteriormente con el advenimiento de los aditivos mejoradores se incorporan siglas que
caracterizan al aceite tambin por sus propiedades especificas (ejemplo: HD SAE 30, SAE
20 S1, etc.) como tener capacidad detergente-dispersante, propiedades antidesgaste,
propiedades anticorrosivas, etc.
Clasificacin SAE de viscosidad de aceites para motor (SAE J306, DIC 96)

Gr
ad
o
SA
E

Visco
sidad
Max.
(cP)
Arran
que
en
fro a
la
tempe
ratura
indica
da en
C

Visco
sidad
Max.
(cP)
Bom
beo a
baja
temp.
s/esfu
erzo
de
fluen
cia a
la
Temp
.
indic
ada
en C

Visco
sidad
en
cSt
@
100
C

Viscosidad
alta
temperatura
alta tasa de
corte (cP) a
150C y 106s
M M
in ax
. .

0 3250
W a -30

6000 3
0a , -40 8

5 3500
W a -25

6000 3
0a , -35 8

10 3500
W a -20

6000 4
0a , -25 1

15 3500
W a -15

6000 5
0a , -25 6

20 4500 6000 5 W a -10 0 a ,

-20 6

25 6000
W a -5

20

30

40

40

50

60

6000 9
0a , -15 3

5,6
meno
r que
9,3

2,6

9,3
meno
r que
12,5

2,9

12,5
meno
r que
16,3

2,9
(*)

12,5
meno 3,7
r que (**)
16,3

16,3
meno
r que
21,9

3,7

21,9
meno
r que
26,1

3,7

Nota: 1 cP = 1 mPa x s; 1cSt = 1 mm2/s


(*) Los Grados 0w/40, 5w/40, 10w/40
(**) Los Grados 15w/40, 20w/40, 25w/40, 40
Aceites multigrado
Con el uso de aditivos mejoradores de ndice de viscosidad y partiendo de bases refinadas
es posible formular aceites cuya viscosidad a altas y bajas temperaturas le permiten cumplir
con los requerimientos del servicio. De esta manera se obtienen aceites de caractersticas
SAE 30 a 100 c y SAE 10W a -20c, son los denominados multigrado generalmente
designados SAE 10W30 o similares.
Las ventajas de usar aceites multigrados son:

Facilidad de arranque en fro.

Rpida entrada en rgimen trmico del motor.

Ahorro de bateras y sistemas de arranque.

Adecuada viscosidad en todo el rango de temperatura.

Clasificacin de viscosidad ISO para industriales aceites lubricantes


A lo largo del tiempo se ha adoptado diferentes siglas (ASTM, DIN, etc. ) para clasificar
los Aceites Lubricantes Industriales por su viscosidad medida en diversas unidades,
llevando a la necesidad del uso de tablas de conversin para pasar de un sistema a otro.
Esta situacin gener en los Institutos de Normalizacin de los piases miembros de la
Organizacin Internacional de Estandarizacin (ISO) el deseo de uniformar criterios para
crear un nico sistema de clasificacin.
Sistema ISO de clasificacin segn la viscosidad para aceites industriales

Lmites de Viscosidad
Viscosi Cinemtica en cSt @
Grado
40 C
dad
de
Cinem
viscosi
tica
dad
media
Mni Mxi
ma ma

ISO
VG 2

2,2

1.98 2,42

ISO
VG 3

3,2

2,88 3,52

ISO
VG 5

4,6

4,14 5,03

ISO
VG 7

6,8

6,12 7,48

ISO
VG 10

10,0

9,00 11,00

ISO
VG 15

15,0

13,50 16,50

ISO
VG 22

22,0

19,80 24,20

ISO
VG 32

32,0

28,80 35,20

ISO
VG 46

46,0

41,40 0,60

ISO
VG 68

68,0

61,20 74,80

ISO
VG

100,0 90,00 110,0

100

ISO
VG
150

150,0

135,0 165,0
0
0

ISO
VG
220

220,0

198,0 242,0
0
0

ISO
VG
320

320,0

288,0 352,0
0
0

ISO
VG
460

460,0

414,0 506,0
0
0

ISO
VG
680

680,0

612,0 748,0
0
0

ISO
900,0 1100,
VG 1.000,0
0
00
1.000

ISO
1.350 1650,
VG 1.500,0
,00 00
1.500

Nota: La clasificacin ISO corresponde a la norma COVENIN 1121


Este esfuerzo conjunto permiti el nacimiento de la clasificacin ISO para Aceites
Lubricantes Industriales, con las siguientes caractersticas:

Posee 18 grados de viscosidad entre 2 y1500 centistokes (cst) a 40 c, cubriendo la


totalidad del rango de viscosidad, desde los aceites ms livianos a los mas pesados.
Cada grupo se designa el nmero a su viscosidad cinemtica media.
Cada grupo representa un intervalo de viscosidad generado apartar de su viscosidad
cinemtica media +/- 10% de este valor.
Cada viscosidad cinemtica media es aproximadamente 50% mayor a la
correspondiente al grado anterior.
Sistema de clasificacin API
Motores a gasolina Algunas designaciones son: SA, SB, SC, SD, SE, SF, SG, SH. El
primero usado para motores a gasolina y Diesel.
Clasificacin API (Instituto de Petrleo Americano) de calidad de los aceites para
motor

Descripcin de
Serv
Clasific
los fabricantes de
icio
acin de Gaso
equipos y
API
servicio lina
especificaciones
previ
API
militares
o
relacionadas

Gasolina

SA

ML

Aceite mineral
puro

SB

MM

SC

MS
(1964)

Aceite
inhibid
o
(1930)

Garant
a de
servici
o para
motore
sa
gasolin

a
(19641967)

SD

SE

SF

MS
(1968)

Garant
a de
servici
o para
motore
sa
gasolin
a
(19681971)

Garant
a de
servici
o para
motore
sa
gasolin
a
(19721980)/
MIL-L46152
y MILL46152
A

Garant
a de
servici
o para
motore
sa
gasolin
a
(19801988)/

MIL-L46152
B

SG

Garant
a de
servici
o para
motore
sa
gasolin
a
(19891992)/
MIL-L46152
D

SH

Garant
a de
servici
o para
motore
sa
gasolin
a
(199319996)

SJ

Garant
a de
servici
o para
motore
sa
gasolin
a
(19962000)

SL

Garant
a de
servici
o para
motore
sa
gasolin
a
(2001)

ALGUNOS DE LOS MEDIDORES DE VISCOSIDAD CONOCIDOS


Viscosmetro
Es un instrumento para medir la viscosidad de un fluido
Viscosmetro de tubo capilar
Consiste en 2 recipientes conectados por un tubo largo de dimetro pequeo conocido
como tubo capilar. Conforme al fluido fluye a travs del tubo con una velocidad ctte. el
sistema pierde energa, ocasionando una cada de presin. La magnitud de la cada de
presin est relacionada con la viscosidad del fluido mediante la siguiente ecuacin:
El viscosmetro Saybolt:
La facilidad con que un fluido fluye a travs de un orificio de dimetro pequeo es una
indicacin de su viscosidad , este es el principio por el cual est basado el viscosmetro
universal.
La muestra del fluido se coloca en el aparato despus de que se establece el flujo se mide el
tiempo requerido para colectar 60 ml. de fluido. El tiempo resultante se reparta como la
velocidad del fluido en segundos universales de Saybolt. La expresin aproximada entre
viscosidad y segundos Saybolt es:
se expresa en stokes y t en segundos.
Viscosmetro de Oswald- cannon-Fenske:
En esencial el viscosmetro es un tubo U una de sus ramas es un tubo capilar fino
conectado a un deposito superior. El tubo se mantiene en posicin vertical y se coloca una
cantidad conocida del fluido l deposito para que luego fluya por gravedad a travs de un
capilar. Los procedimientos exactos para llevar acabo estas pruebas estndar dado en los
estndar de la American Society For Testing and Materials.

Viscosmetro de cilindro concntrico


Por medio de un cilindro que gira a una cierta velocidad con respecto a un cilindro interno
concntrico estacionario se determina du/dy al medir el momento de torsin sobre el
cilindro estacionario es posible calcular el esfuerzo cortante. El cociente entre el esfuerzo
cortante y el cambio de velocidad expresa la viscosidad.
Si la velocidad de rotacin es N rpm y el radio es r2 , la velocidad del fluido en la
superficie del cilindro externo esta dada por 2r2N/60. Con una separacin entre cilindro y
cilindro
La ecuacin se basa en b<< r2. El momento de torsin Tc sobre el cilindro interno se mide
con un alambre de torsin del cual pende el cilindro. Si se ajusta un disco al alambre su
rotacin es determinada por una aguja fija. Si se desprecia el momento de torsin debido al
fluido por abajo del fondo del cilindro interno el esfuerzo cortante es:
De esta manera la ecuacin para la viscosidad nos queda:
Viscosmetro de cada libre
Consiste en varios tubos llenos con lquido estandares de viscosidades conocidas con una
esfera de acero en cada tubo. El tiempo necesario para que la esfera recorra la longitud total
del tubo depende de la viscosidad del lquido. Si se coloca la muestra en un tubo anlogo es
posible aproximar el valor de la viscosidad por comparacin con los otros tubos.
Para esta practica utilizaremos el mtodo de STOKES para la obtencin de la viscosidad.
Sr. Jeorge Grabiel Stokes Matemtico y Fsico Irlands Bornat. Skreen 1819. Autor de
trabajos en Hidrodinmica, encontr la Ley que rige la cada de slidos esfricos en el seno
de un fluido denominada con su nombre.
Stokes
Smbolo st; Es una unidad de la viscosidad cinemtica de un fluido que tenga una
viscosidad dinmica de 1 poise, y una densidad de 1 gramo por centmetro cbico.
4. PROCEDIMIENTO EXPERIMENTAL
Se coloca la esfera en el pasador horizontal del tubo.
Se sumerge cuidadosamente el pasador.
Se deja descender libremente la esfera, cuidando que no roce las paredes del tubo y
Cuando la esfera pase por la referencia indicada, se acciona el cronmetro
Una vez que la esfera pase por la segunda referencia indicada, se detiene el cronmetro
y se toma nota del tiempo empleado.

Se repite la operacin anterior 10 veces por cada aceite empleado en la practica.


Compare los valores da las distintas viscosidades experimental con el obtenido
mediante la bibliografa y los respectivo errores porcentuales obtenido.

SAE 20W-50

SAE 15W- SAE 10W40


30

N X(mts)

T
X
T
X
T
(Seg) (mts) (Seg) (mts) (Seg)

0.3

46.09 0.3 21.29 0.3 13.53

0.3

46.95 0.3 20.26 0.3 13.97

0.3

46.50 0.3 20.60 0.3 13.98

0.3

47.58 0.3 20.80 0.3 13.40

0.3

46.44 0.3 20.02 0.3 13.59

0.3

46.54 0.3 20.80 0.3 13.93

0.3

48.32 0.3 20.44 0.3 13.81

0.3

48.22 0.3 20.29 0.3 13.60

0.3

47.01 0.3 20.37 0.3 13.62

10

0.3

46.77 0.3 20.38 0.3 13.53

5. DESCRIPCIN DE EQUIPOS E INSTRUMENTOS UTILIZADOS


Esfera: Es de un radio moderadamente pequeo, sin mucho peso y de una superficie
totalmente lisa. De 14 mm dimetro.
3 esferas de: Dimetro = 140.02 mm, y masas:
Esfera 1 = 1.43680.0001
Esfera 2 = 1.46790.0001 g.
Esfera 3 = 1.44500.0001 g.
Tubo: Es de vidrio en forma de cilindro alargado con un dimetro tres (3) veces mayor,
aproximadamente, que el de la esfera. Superficie totalmente lisa, posee un extremo cerrado
y uno abierto.
Cronmetro digital: Es un instrumento utilizado para medir los diferentes tiempos de
recorrido de la esfera en el fluido.
Apreciacin:
Marca: Casio.
Aceite: 3 aceites multigrados de viscosidades:
SAE 20W50
SAE 15W40
SAE 10W30
Metro: instrumento para medir la distancia o intervalo que tiene la esfera.
Apreciacin : 1 mm.
RESULTADOS
Mediciones Directas

En la tabla 1 se presentan las lecturas directas y en la tabla 2 las mediciones directas


realizadas en el laboratorio: estas medidas son el tiempo requerido de las distintas esfera en
la referencia indicada en la practica.
Tabla 1: Lecturas Directas

Tubo 1

Tubo 2

Tubo 3

x 10-3
(mts)

14

14

14

m x 10-3
(kg)

1.4368

1.4679

1.4450

Aceite (kg /
mts3)

875

860

870

Tipo de
Aceite

SAE
SAE
SAE
20W-50 15W-40 10W-30

Tabla 2: Mediciones Directas


Temperatura del aceite: 30 C
Gravedad: 9.8 m/seg2
Clculos Intermedios
Con los valores de tiempo y la distancia indicada en la practica se puede calcular las
diferentes viscosidades experimental y los resultados se muestra en la Tabla 3.
Tabla 3: Viscosidad Experimental

SAE 20W- SAE 15W- SAE 10W50


40
30

46.0 2.0498 21.2 1.2243 13.5 0.6532


9
1
9
7
3
6

46.9 2.0880 20.2 1.1651 13.9 0.6745


5
5
6
3
7
0

46.5 2.0680 20.6 1.1846 13.9 0.6749


0
4
0
9
8
9

47.5 2.1160 20.8 1.1961 13.4 0.6469


8
7
0
9
0
8

46.4 2.0653 20.0 1.1513 13.5 0.6561


4
7
2
3
9
6

46.5 2.0698 20.8 1.1961 13.9 0.6725


4
2
0
9
3
7

48.3 2.1489 20.4 1.1754 13.8 0.6667


2
8
4
8
1
8

48.2 2.1445 20.2 1.1668 13.6 0.6566


2
4
9
6
0
4

47.0 2.0907 20.3 1.1714 13.6 0.6576


1
2
7
6
2
1

10 46.7 2.0800 20.3 1.1720 13.5 0.6532

T (Seg)= tiempo
(Pa.s)= Viscosidad experimental
para cada viscosidad experimental se calcula para cada aceite su error porcentual. La
bibliografa Streeter presenta la siguiente viscosidad dinmica terica de los distintos
aceites aplicado en la practica y es mostrado en la tabla 4.
Tabla 4: Viscosidad terica

terica

SAE
20W-50

SAE
15W-40

SAE
10W-30

(Pa.s)

2.168

1.298

0.723

En la tabla 5 se muestra las distintos error porcentuales obtenido de cada viscosidad


experimental
Error( %)=
Tabla5: Error porcentual

SAE 20W- SAE 15W50


40

E%

E%

SAE 10W30

E%

2.0498
1.2243
0.6532
5.45
5.67
9.64
1
7
6

2 2.0880 3.68 1.1651 10.2 0.6745 6.70

2.0680
1.1846
0.6749
4.61
8.72
6.64
4
9
9

2.1160
1.1961
0.6469 10.2
2.39
7.84
7
9
8
3

2.0653
1.1513 11.2 0.6561
4.71
9.24
7
3
9
6

2.0698
1.1961
0.6725
4.52
7.84
6..97
2
9
7

2.1489
1.1754
0.6667
0.87
9.43
7.77
8
8
8

2.1445
1.1668
0.6566
1.08
9.74
9.17
4
6
4

2.0907 3..5 1.1714


0.6576
9.70
9.04
2
6
6
1

10

2.0800
1.1720
0.6532
4.05
9.70
9.64
5
3
6

(Pa.s)= Viscosidad experimental


6.3. Presentacin de Resultados
Utilizando los datos de la Tabla 3, se calcula la viscosidad promedio de cada aceite en el
cual esta mostrada en la Tabla 6

Tabla 6: Viscosidad Experimental Promedio

promedio

(Pa.s)

SAE
SAE
20W-50 15W-40

SAE
10W-30

2.092145 1.18037 0.659275

Finalmente con la Tabla 5 se calcula los diferentes errores porcentuales promedio obtenido
para cada aceite ser mostrada en la Tabla 7
Tabla 7: Error porcentual Experimental

Aceite

SAE
20W-50

SAE
15W-40

SAE
10W-30

Error

3.49%

9.01%

8.50%

7. CONCLUSIONES

la experiencia presento un margen de error aceptable, al comparar las viscosidades


experimentales con las viscosidades tericas suministrada por los fabricantes.

La viscosidad dinmica experimental a temperatura 30C utilizando el mtodo


Stokes es 0.65927 Pa.s para el SAE 10W-30; 1.18037 Pa.s para el SAE 15W-40 y
2.09214 Pa.s SAE 20W-50. valores que son similares a los suministrados de la
bibliografa.

Segn los resultados obtenidos para la viscosidad experimental podemos deducir


que el mtodo empleado (Stokes) para su determinacin resulta un tanto efectivo,
ya que los errores obtenidos son relativamente aceptables y sencillo para determinar
la viscosidad dinmica de un fluido.

Vous aimerez peut-être aussi