Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PARTES DE UN ALGORITMO
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
0.08
3.7456
-53.456
3.0
Notacin cientfica:
Mantisa
= 6.752 x 1019
= 2.34123 x 10-16
exponente
entero
variables
numeroPersonas
En C++
Tipo de
dato
int
variables
numeroPersonas ;
entero
numeroCajas
int
numeroCajas;
talla
double
talla;
real
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
variables
En C++
Tipo de dato
boolean opcionCon
bool opcionCon;
boolean condicionRec
bool condicionRec;
boolean estadoFac
bool estadoFac;
boolean licenciaEmp
bool licenciaEmp;
variables
Pueden ser:
Datos:
Alfabticos: 'A'
'B'
'c'
'E'
'K'
'a'
....
'z'
'Z'
Numricos:
'0'
'1'
'2'
'3'
'4'
'5'
...
'8'
'9'
Especiales:
'*'
'-'
'/'
'+'
'$'
'< '
'#'
'@'
variables
En C++
Tipo de dato
caracter letras
char letras ;
caracter operacion
char operacion;
caracter opcion
char opcion;
variables
Longitud = 11
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
En programacin C++
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)
int abs(int p)
double fabs(double dp))
sqrt(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)
real sin(real p)
cos(p)
coseno, retorna el
seno de p expresado real cos(real p)
en radianes
tan(p)
tangente, retorna la
tangente
de pexpresado en
radianes
atan(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)
double log10(double p)
Random()
genera un numero
entero aleatorio entre entero rand( )
0 y maxEntero.
entero (p)
Parte entera de p
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);
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
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
**
ALGORITMOS
PSEUDOCODIGO
C ++
Adicin o suma
Resta o
Sustraccion
*
/
^
*
/
Multiplicacin
Divisin Real
Potencia
Nota :
Modulo(resto) MOD
Ddo y Dsor se
declaran enteros
Cociente DIV
Divin entera
Ddo = Dsor*Q + R Ejm: Q= Ddo DIV Dsor
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++
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
>=
>
<=
<
==
!=
!=
==
En C++
Edad > 18
Edad > 18
EstCivil 'S'
EstCivil != 'S'
En C++
NO ( sexo = F )
! ( sexo == F )
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
Estructura Repetitiva
.... }
En C++
var1 = 3+4*2
var1 = 3+4*2
En C++
Boolean var1,var2,var3
Bool var1,var2,var3;
var1 = 5 < 2
var1 = 5 < 2;
var2 = 7 >= 3
var2 = 7 >= 3;
En C++
car = 'S'
car = 'S';
entero
v2
En C++
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;
blanco
gets(nombre); // lee
MOSTRAR nombre
char sexo;
LEER Radio
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
}
Mientras ( expresion_Booleana )
{ Bloque repetitivo }
Hacer
{ Bloque repetitivo }
Mientras ( expresion_Booleana )
Silabo
Horario
Curso : Trabajos :
Teora
Laboratorios
Practica Trabajos
Solucionario e-mail
Codificacin
Evaluaciones enlaces LP
Artculos
Diversos
Ejemplo 2:
Realizar un pseudocdigo, para saber si pase un determinado
curso.
Pseudocodigo
1.
2.
3.
4.
5.
6.
7.
8.
9.
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
Partes: 1, 2
a.
b.
c.
d.
Entrada: A, B
Proceso: A+B
Salida: Resultados de suma
Validacin: No aplica
Anlisis del problema:
Diseo del algoritmo:
Algoritmo:
1.
2.
a.
b.
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:
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.
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.
2.
3.
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.
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).
Recomendaciones:
1.
Los diagramas de flujo le ayudan en la definicin, formulacin, anlisis, y solucin del problema.
2.
3.
4.
5.
Para que el mtodo de bsqueda secuencial resulte sumamente til se recomienda hacer lo
siguiente:
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
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 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
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
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
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)
SAE 20W-50
N X(mts)
T
X
T
X
T
(Seg) (mts) (Seg) (mts) (Seg)
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0.3
10
0.3
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
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
E%
E%
SAE 10W30
E%
2.0498
1.2243
0.6532
5.45
5.67
9.64
1
7
6
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
10
2.0800
1.1720
0.6532
4.05
9.70
9.64
5
3
6
promedio
(Pa.s)
SAE
SAE
20W-50 15W-40
SAE
10W-30
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