Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algoritmos
Realizado por Ing. Kene Reyna Rojas
INDICE GENERAL
1. Sistema de procesamiento de informacin...........................3
2. Concepto de algoritmo...............................................................3
2.1. Caractersticas de los algoritmos.......................................3
2.2. Partes de un algoritmo.........................................................3
3. Resolucin de problemas con computadoras y las
herramientas de programacin......................................................3
3.1. Anlisis del problema:..........................................................3
3.2. Diseo o desarrollo del algoritmo......................................4
3.3. Resolucin del algoritmo en la computadora...................4
4. Representacin de un algoritmo.............................................4
4.1. Diagrama de flujo..................................................................4
4.2. Pseudocdigo.........................................................................5
5. Datos y Tipos de datos...............................................................5
5.1. Datos numricos....................................................................5
5.1.1. Enteros:.............................................................................5
5.1.2. Reales:...............................................................................5
5.2. Datos Lgicos:........................................................................5
5.3. Datos carcter:......................................................................5
6. Constantes y Variables:.............................................................6
7. Operadores...................................................................................6
7.1. Relacionales o condicionales:.............................................6
7.2. Aritmticos :...........................................................................6
7.3. Alfanumricos:.......................................................................7
7.4. Lgicos o Booleanos:............................................................7
7.5. Parntesis:..............................................................................7
8. Expresiones..................................................................................7
9. Regla de Prioridad......................................................................8
10. Operacin de Asignacin........................................................8
11. Ejercicios....................................................................................8
12. Estructura General de un Programa.....................................9
12.1. Partes de un programa....................................................10
16.1.2.............................................................................Bsqueda
35
16.2. Arreglos bidimensionales................................................37
Entrada=Datos
Procesador
Salida=Informacin
2. Concepto de algoritmo
Es el conjunto de instrucciones que especifican la secuencia de
operaciones a realizar en orden para resolver un sistema
especfico o clase de problema. Los algoritmos son independientes
tanto del lenguaje de programacin en que se expresa como de la
computadora que los ejecuta. El diseo de la mayora de los
algoritmos requiere creatividad y conocimientos profundos de la
tcnica de la programacin. En esencia. Todo problema se puede
describir por medio de un algoritmo (Aguilar, 1988)
2.1.
Caractersticas de los algoritmos
Un algoritmo debe ser preciso e indicar el orden de
realizacin de cada paso
Un algoritmo debe estar definido. Si se sigue un algoritmo
dos veces, se debe obtener el mismo resultado cada vez
Un algoritmo debe ser finito. Si se sigue un algoritmo, se
debe terminar en algn momento sea debe tener un
numero finito de pasos
2.2.
Partes de un algoritmo
S
i
N
o
Funcin
Terminal:
representa
el
comienzo, inicio, final y fin de un
programa.
Puede
representar
tambin
una
parada
o
interrupcin programada
Entrada / Salida : cualquier tipo
de introduccin de datos en la
memoria desde los perifricos o
registro
dela
informacin
procesada en un perifrico
Proceso: Cualquier tipo de
informacin que pueda originar
cambio
de
valor,
formato,
posicin
de
la
informacin
almacenada
en
memoria,
operaciones
aritmticas,
de
transferencia, etc.
Decisin: indican operaciones
lgicas o de comparacin entre
datos, normalmente dos
y en
funcin del resultado de la misma
determina cul de los distintos
caminos
alternativos
del
programa
se debe seguir
normalmente tiene dos salidas
respuesta s o no pero puede
tener tres o ms segn los casos
Indicador de Direccin o Lnea
de Flujo:indica el sentido de
ejecucin de las operaciones
4.2.
Pseudocdigo
Es un lenguaje especificado de algoritmos. El uso de tal
lenguaje hace el paso de codificacin final relativamente fcil.
La ventaja de un pseudocdigo es que en su uso la
planificacin de un programa, el programador se puede
concentrar en la lgica y en las estructuras de control y
preocuparse de las reglas de un lenguaje de programacin. Es
tambin fcil modificar el pseudocdigo si se descubren
errores o anomalas en la lgica del programa (Aguilar, 1988)
El pseudocdigo es un lenguaje algortmico, de alto lenguaje
utilizado para escribir con mucha ms abstraccin
instrucciones de un lenguaje de programacin.
5. Datos y Tipos de datos
5.1.
Datos numricos
El tipo numrico es el conjunto de los valores numricos, estos
pueden representarse de dos formas distintas
5.1.1.
Enteros:
Es un subconjunto finito de los nmeros enteros. Los
enteros son nmeros completos, no tienen componentes
fraccionarios o decimales y pueden ser
negativos o
positivos (Aguilar, 1988)
En java existen los siguientes tipos de datos enteros
Byte, enteros de 8 bits, con rango de valores entre -128 y
127
Short, entero corto de 16 bits, con rango de valores entre
-32768 y 32767
Int entero de 32 bits, con rango de valores entre
-2147483648 y 2147483647
Long, entero largo de 64 bits, con rango de valores entre
-9223372036854775808 y 9223372036854775807
5.1.2.
Reales:
El tipo real consiste en un subconjunto de los nmeros
reales, Los nmeros reales siempre tienen su punto decimal
y pueden ser positivos o negativos
En java existen los siguientes tipos de datos reales
Float, valores de punto flotante de 32 bits, con rango de
valores entre-1.40239846e-45 y 3.40282347e+38
Fuente:
Libro de
metodologa de la programacin de Rodrguez Almeida
7.2.
Aritmticos :
Para tratar los nmeros se utilizan los operadores aritmticos,
que junto con las variables numricas forman expresiones
aritmticas (Rodriguez Almeida, 1991)
Fuente: Libro de
metodologa de la
programacin de Rodrguez Almeida
Concatenacin, unir expresiones alfanumricas
fueran eslabones de una cadena.
como si
7.4.
Lgicos o Booleanos:
Combinan sus operandos de acuerdo con las reglas del algebra
de Boole con el fin de producir un nuevo valor que se convierta
en el valor de la expresin
Fuente: Libro de
metodologa
de la programacin de Rodrguez Almeida
OR u O: Es un operador binario, afecta a dos operadores. La
expresin forma es cierta cuando al menos algunos de los
operandos es cierto. Es el operador lgico de disyuncin.
AND o Y: es un operador binario. La expresin formada es
cierta cuando ambos operandos son ciertos al mismo tiempo.
Es el operador lgico de Conjuncin.
NOT o no: es un operador unario. Afecta a la expresin
cambiando sus estado lgico, si era verdad lo transforma en
falso o viceversa
7.5.
Parntesis:
Los parntesis se utilizan para anidar expresiones,
Fuente: Libro de
metodologa de
la programacin de Rodrguez Almeida
7.6.
ded
8. Expresiones
Las expresiones son combinaciones de constantes, variables,
smbolos de operacin, parntesis, y nombres de funciones
especiales. Las mismas ideas son utilizadas en notacin
matemtica tradicional
Cada expresin toma un valor que se determina tomando los
valores de las variables y constantes implicadas y la ejecucin de
las operaciones indicadas
Una expresin consta de operando y operadores segn el tipo de
objetos que se manipulan, se clasifican las operaciones en:
Aritmticas
Relacionales
Lgicas
Carcter
9. Regla de Prioridad
Segn Rodrguez (Rodriguez Almeida, 1991), la prioridad a la hora
de evaluar los operadores en cualquier expresin es
Parntesis
Potencias
Productos y divisiones
Sumas y restas
Concatenacin
Relacionales
Lgicos
Segn Joyanes(Aguilar, 1988)Las expresiones que tienen dos o
ms operadores requieren usar reglas matemticas que permitan
determinar el orden de las operaciones, se denominan reglas de
prioridad o precedencia y son:
a) Las operaciones que estn encerradas entre parntesis se
evalan primero. Si existen diferentes parntesis anidados
(interiores unos a otros), las expresiones ms internas se
evalan primero.
b) Las expresiones aritmticas dentro de una expresin suelen
seguir el siguiente orden de prioridad:
Operador exponencial (^)
Operadores de multiplicacin y divisin
Operadores de suma y resta
Operadores lgicos or y and
10. Operacin de Asignacin
La operacin de asignacin es el modo de darle valores a una
variable. La operacin de asignacin se representa con el smbolo
u operador ( ). LA operacin de asignacin se conoce como
instruccin o sentencia de asignacin cuando se refiere a un
lenguaje de programacin
El formato general de una operacin de asignacin es
Nombre de la variable
Expresin Expresin
Expresin, expresin, variable o constante
Ejemplo
A 10
Significa que la variable A se le ha asignado el valor entero de 10
11. Ejercicios
Encontrar el valor de la variable valor despus de la
ejecucin de las siguientes operaciones
a. Valor 4.0*5
b. X 3.0
Y 2.0
Valor X^Y Y
c. Valor 5
X3
Valor valor* X
Deducir el resultado que se puede producir con las
siguientes instrucciones
Variables x, y = enteros
X1
Y5
Escribir x, y
Deducir el valor de las expresiones siguientes
X A +B +C
XA+B*C
XA+B/C
X A + B mod C
X (A + B )/ C
X A + (B / C)
X A + (B * C)
Siendo A =5, B =25, C= 10
Escribir las siguientes expresiones en forma de expresiones
algortmicas
i.
ii.
M
+P
N
M+
N
( PQ)
iii.
( M + N)
(PQ)
iv.
n
(M + )
p
r
(q )
s
v.
vi.
(seno ( x )+ coseno(x ))
tan( x)
b b24 ac
2a
Salida
12.2.
d
13. Instrucciones y tipos de instrucciones
13.1.
Instruccin
Son las acciones o instrucciones que se deben escribir y
posteriormente almacenar en memoria en el mismo orden en
que han de ejecutarse, es decir, en secuencia
13.2.
Tipos de instruccin
Instrucciones de inicio y fin
Son aquellas instrucciones que inicializan y finalizan la
escritura y ejecucin del programa por ejemplo en java
public class {
public static void main(String[], args){
}
}
Instrucciones de asignacin
Son aquellas instrucciones que permite asignar valores a
una variable
Ejemplo en java
I=3;
Int x [];
Int [] x;
Char [] c = {1, b, c, d, e}
Char [] x = new char [20];
Accin 1
Accin 2
o Bifurcacin
Condicional:
depende
del
Accin
3
cumplimiento de una determinada condicin. Si se
cumple la condicin, el flujo sigue ejecutando la
accin F2 si no cumple se ejecuta la accin F1
Accin F1
Accin F2
Ejemplo 2
Escriba un algoritmo que pregunte
por dos
nmeros y muestre como resultado la suma de estos. Use
Pseudocdigo y diagrama de flujos.
10.
11.
12.
13.
14.
15.
18.
19.
20.
21.
Examen 80%
Promedio de tareas 20%
En esta materia se pidi un total de dos tareas.
La calificacin de Qumica se obtiene de la sig. Manera:
Examen 85%
Promedio de tareas 15%
En esta materia se pidi un promedio de tres tareas.
Dados las coordenadas (x1,y1) y (x2,y2) de dos puntos en
el plano cartesiano, determinar la distancia (d) entre estos
dos puntos
Se tiene las votaciones de 3 candidatos (v1, v2, v3). Sobre
el total (tot), determinar el porcentaje de votacin
obtenido por cada uno de los candidatos (p1, p2, p3)
Leer tres valores enteros y realizar las siguientes
operaciones
Sumar todos los valores
Multiplicar todos los valores
Restar de las suma de los dos el doble del tercero
Promedio de todos los valores.
Suma de las mitades de los ltimos valores
Leer cuatro valores reales a, b, c y d. Realizar lo siguiente:
Sumar el cuadrado de los extremos ms el cubo de los
dems
Multiplicar el promedio de los tres primeros por el
promedio de los tres ltimos valores
Calcular la siguiente expresin: (suponga que c es
diferente de cero)
Valor
22.
ab
cd 2a
4cd
2
a
c
c
2a 5b 4
23.
24.
25.
26.
27.
28.
29.
30.
31.
ab
cd 2a
4cd
2
a
c
c
2a 5b 4
PV nRT
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
Realizar un
algoritmo para hallar
cuantos estudiantes tiene una academia, donde en
ciencias sociales hay dos grupos de asignaturas: Filosofa
con 124 alumnos y ciencias econmicas, con 220. Si hay
25 alumnos que estudian Filosofa y Ciencias Econmicas.
Realizar un algoritmo para resolver el siguiente problema,
Orlando compro 15 metros de tela para mandar a
fabricar, a S/.
2890 el metro. Para colgarla necesita 28
aros de madera cuyo valor es de S/. 235 cada uno. El riel
y dems accesorios cuestan S/. 4550. Si la modista cobra
S/. 500 por cada metro de tela confeccionado y la
instalacin vale S/. 2000 Cundo es el costo total de la
cortina instalada?
Un vendedor recibe un sueldo base ms un 10% extra
por comisin de sus ventas, el vendedor desea saber
cunto dinero obtendr por concepto de comisiones por
las tres ventas que realiza en el mes y el total que
recibir en el mes tomando en cuenta su sueldo base y
comisiones.
Un profesor desea saber qu porcentaje de hombres y
que porcentaje de mujeres hay en un grupo de
estudiantes.
Elaborar un programa en el cual se ingrese la distancia
que existe en dos vehculos y sus respectivas velocidades
hallar el tiempo de alcance y el tiempo de encuentro?
Elabore un programa en la que me devuelva la altura y la
velocidad final de un cuerpo de se deja caer ingresando
nicamente el tiempo.
Convierta un ngulo sexagesimal g, m, s a grados,
minutos y segundos centesimales.
Elaborar un programa en el que se ingrese la masa
atmica y la cantidad de neutrones para que nos
devuelva el nmero atmico, la cantidad de neutrones y
protones.
Elaborar un programa en el que ingrese el tiempo en el
que se demora en llegar el sonido de una detonacin a
cierto lugar. calcular la distancia donde se realiz la
detonacin?
Elaborar un algoritmo
que solicite
el nmero de
respuestas correctas, incorrectas
y en blanco,
correspondientes a postulantes y muestre su puntaje final
considerando, que por cada respuesta correcta tendr 4
puntos, respuestas incorrectas tendr -1 y respuestas en
blanco tendr 0.
45.
46.
47.
48.
49.
14.2.
Estructuras Selectivas
Este tipo de estructuras se utilizan cuando el programador
quiere realizar algunas bifurcaciones o establecer condiciones
que cumpla o alguna determinada condicin o restriccin
14.2.1.
Selectivas simples:
Ejecuta una determinada accin cuando se cumple una
determinada condicin. A continuacin se muestra su
sintaxis
Pseudocdigo
Si condicin Entonces
Instruccin
Fin si
En Diagrama de flujo se muestra en la figura
Condici
n
Instruccin
14.2.2.
Selectivas Dobles:
La estructura anterior es muy limitada y normalmente se
necesitara una estructura que permita elegir dos opciones o
alternativas posibles en funcin del cumplimiento o no de
una determinada condicin. A continuacin se muestra su
sintaxis
Si condicin entonces
Instruccin 2
Sino
Instruccin 1
Fin si
Condicin
Instruccin 1
Instruccin 2
14.2.3.
Selectivas mltiples:
Con frecuencia en la prctica, es necesario que existan ms
de dos elecciones posibles
Diagrama de Flujo
Condicin
Instruccin 1
Instruccin 2
Instruccin n
Pseudocdigo
Segn sea condicin
Case 1:
Case 2:
.
.
.
Case n:
Fin segn
14.2.4.
Ejemplos
Ejemplo 1:
Resolucin de una ecuacin de primer grado
Si la ecuacin es ax + b =0, a y b son los datos y las
posibles soluciones son
Si a <> 0 entonces
x= -b/a
a=0
b<>0 entonces solucin imposible
a= 0 b =0 entonces solucin indeterminada
Algoritmo
pseudocdigo
Inicio
Leer a, b
Si a <> 0 entonces
x - b/a
Sino
Si b<>0 entonces
Escribir solucin imposible
Sino
Escribir solucin indeterminada
Fin- si
Fin si
Fin
Ejemplo 2
Resolucin de la ecuacin de segundo grado teniendo en
cuenta los tres posibles valores de discriminacin
La ecuacin de segundo grado es:
ax^2 + bx +c = 0
El discriminante D vale
D = b^2 - 4ac
Y las races son
X1, x2 =
b b24 ac
2a
b D
2a
2.
Ejercicios
Para calcular el nivel de ruido de una calle de una
ciudad se realizan 4 medidas, una cada 8 horas, en
un punto concreto. Si la media de las medidas del
nivel de ruido
supera la mxima admitida (por
ejemplo mxima =4), significa que el ruido es nocivo
para la salud. Realizar un programa que calcule el
nivel medio del ruido de una calle y determine si el
nivel de ruido es nocivo o es admisible.
Un banco antes de conceder un prstamo a 20 aos
comprueba los ingresos del solicitante. Si los ingresos
3.
4.
5.
6.
7.
8.
9.
10.
11.
Dados
el
valor
antiguo y
el actual del
contador de la luz, escribir un algoritmo que
determine a cunto asciende la factura de la luz de
un determinado abonado. El importe es la suma de la
cuota fija (S/. 12 ) ms una cuota variable que
depende del consumo y se calcula por tramos: los
primeros 100 Kw, a 0.06 el Kw, los 150 Kw siguientes
a 0.04 el Kw, si el consumo excede de 250 Kw, esa
fraccin se cobra 0.02 el kw
Supngase que el importe del seguro obligatorio de
un conductor de un coche depende del modelo del
coche, del color y de la edad del conductor. Sean dos
modelos de coche A y B y los precios del seguro
segn el color:
12.
13.
14.
15.
16.
17.
18.
Si
el
conductor
tiene menos de 26 aos, el precio se incrementa un
25 %; si tiene entre 26 y 30 aos se incrementa un 10
%; si tiene entre 31 y 65 aos el precio no se
modifica; si tiene ms de 65 aos el precio se
incrementara un 10 %. Adems, en cualquier caso,
hay que considerar que si el conductor tiene menos
de 2 aos el permiso de conducir, el precio se
incrementara un 25 % adicional.
Disear un algoritmo que calcule el precio del seguro
para un determinado modelo y un determinado
conductor.
Disear un algoritmo que dado un nmero, indique si
es par o impar
Desarrolle un algoritmo que permita leer dos valores
distintos, determinar cul de los valores es el mayor y
escribirlo.
Elabore el algoritmo que permita ingresar un valor
numrico entero, que debe evaluar o decir que es
mayor que 100 caso contrario se tiene que indicar
que es menor
Del ejercicio 14 se debe evaluar la posibilidad cuando
el valor numrico sea igual a 100.
Elabore el algoritmo que permita ingresar dos valores
numricos enteros positivos cualquiera, luego de
evaluar se debe imprimir sus valores intercambiados.
Desarrolle un algoritmo que permita leer tres valores
y almacenarlos en las variables A, B y C
respectivamente. El algoritmo debe imprimir cual es
el mayor y cul es el menor. Recuerde constatar que
los tres valores introducidos por el teclado sean
valores distintos. Presente un mensaje de alerta en
caso de que se detecte el ingreso de valores iguales
Elaborar el algoritmo que permita ingresar cuatro
valores enteros distintos luego de evaluar se debe
decir cul de ellos es el mayor
19.
20.
21.
22.
23.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
instruccin
Hasta 5to secundaria
tcnico
profesional
Porcentaje
5%
10%
20%
Condicin
Social
casado
Por cada hijo
Sin vivienda
42.
Puntaje
original
0
1..5
6..8
9..10
43.
porcent
aje
3%
2%
5%
Factor
0
6
9
10
Para
un
tiro
realizado determinar
su puntaje correspondiente.
Una tienda de ropa ha establecido los porcentajes de
descuento, que se indican a continuacin, de acuerdo
a ciertas caractersticas del comprador: nacionalidad
(1,2) y del producto que compra: sexo (H, M), talla
(Nio, Joven, Adulto). Se sabe que una persona puede
comprar varios productos por lo que se desea mostrar
como
resultados
los
siguiente:
nombre
del
comprador, cantidad de productos comprados,
importe comprado, importe descontado, el importe a
pagar; para lo cual se deben ingresar los datos que
sean necesarios. El proceso para la compra de una
persona termina cuando al ingresar el nombre del
comprador se presiona ENTER
nio
sexo
Nacionalidad
1
2
H
5
4
M
4
5
joven
sexo
H
M
7
9
9
7
adulto
sexo
H
M
10
12
12
10
44.
Valor
ab
cd 2a
4cd
2
a
c
c
2a 5b 4
45.
ab
c2
cd 2a
a2
c
2a 5b 4
4cd
46.
47.
TINS ( x)
48.
0
x0
16.67 0
33.34 x
33.34 16.67
0
si
x0
si
0 x 16.67
si
16.67 x 33.34
si
x 33.34
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
MUY ALTA:
si su valor esta entre 90oC y
100oC
ALTA:
si su valor esta entre 80oC y 89oC
NORMAL:
si su valor esta entre 40oC y 79oC
BAJA:
si su valor esta entre 0oC y 39oC
61.
Ingresar un mes (numero) y un ao e imprima cuantos
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
Bonificacin (%)
0
3
5
8
73.
74.
75.
76.
77.
Hasta
27 UIT
15
%
Por el
27 UIT
exceso de
21
%
Y hasta
54 UIT
IMPUES
Por el = REMUNERACI
54 UIT 30x TAS
TO
N NETA %
A
exceso
de
ANUAL
ANUAL
REMUNERACI
ON BRUTA
ANUAL
= Remuneraci
n mensual
x N de
meses que
falta para
culminar el
ao
+ -Gratificaciones de
Navidad y Fiestas
Patrias
-Otros ingresos
percibidos en el
mes
-Remuneraciones y
Otros ingresos
percibidos en
meses anteriores
78.
Renta
Anual
Proyectada
7 UIT
27
15
UIT
Por el exceso
27
21
de
UIT
Y hasta
IMPUES
54
= REMUNERACI
UIT
PorTO
el exceso N
54 NETA30
ANUAL
ANUAL %
de
UIT
x TAS
A
RETENCION
IAN
ENERO, FEBRERO,
12
MARZO
RETENCION
ABRIL
a Marzo
9
RETENCION
a Abril
8
RETENCION
AGOSTO
a Julio
5
RETENCION
SETIEMBRE, OCTUBRE,
a Agosto
NOVIEMBRE
79.
RETENCION
DICIEMBRE
a Noviembre
Total
S/.58,400
S/.11,680
(20% de
S/.58,400)
S/.46,720
S/.49,000
S/.95,720
S/.25,200
(7 x S/.3,600)
S/.70,520
80.
S/.70,520
S/.10,578
S/.9,840
S/.738
Ln(
m0
0.693t
)
m
t (1/ 2)
Dnde:
Mo=masa inicial
M=masa final
T (1/2)=tiempo de vida media (Ejm. C-14 es 5568
aos)
Nota: tenga en cuenta todas las condiciones de
ingreso de datos.
81.
n2 a
( P 2 )(v nb) nRT
v
Dnde:
P=presin
N=nmero de moles
V=volumen
T=Temperatura
A y B = son los parmetros moleculares del gas real
que caracterizan la estructura y propiedades de sus
molculas por Ejemplo O2 tienen valores para a =
1.36 Atm(1/mol)2 y b= 0.0319 (1/mol)
Elabore un algoritmo para hallar la temperatura de un
gas real.
Nota: tenga en cuenta todas las condiciones de
ingreso de datos.
82.
Vb2
h fc K c
2 gc
K c 0.4(1
Sb
)
Sa
83.
h
D 0.7
1 0
hL
L
L
20
D
h
D
1 60
hL
L
20
L
60
D
Dnde:
L: es la longitud de entrada.
H: es el valor promedio para un tubo de longitud
infinita L
HL: es el valor para un tubo muy largo
Nota: tenga en cuenta todas las condiciones de
ingreso de datos
84.
Donde.
V= velocidad en m/s
R=radio hidrulico en m
S=pendiente logitudinal
N=coeficiente de rugosidad
Nota: tenga en cuenta todas las condiciones de
ingreso de datos
85.
Df * K (Wm Wv )
2E
0.061E '
3( RDE 1)3
Dnde:
Y =Deflexin del dimetro del tubo cm
Df=factor de deformacin a largo plazo. Splager
recomienda un valor de 1.5.
K=Constante de lecho de apoyo. Este valor depende
del Angulo de contacto entre el tubo y el lecho de
apoyo. (Ver Tabla)
E= Mdulo de elasticidad del material de la tubera
EPVC=
segn la norma COVENIN
el mdulo de
elasticidad del PVC para sistemas de alcantarillado
es de 2757.88 Mpa y como un Mpa es igual a 10.2
Kg/Cm2 nos queda que:
EPVC 2.81*104 Kg / cm 2
RDE= Relacin dimetro / espesor
DE=Dimetro Externo en cm
E= espesor de la tubera en cm
E=Modulo de reaccin del suelo
Tabla)
Angulo
de 0
Contacto
K
0.110
en Kg/Cm 2
(Ver
30
45
60
90
120
180
0.108
0.105
0.102
0.096
0.090
0.083
Grado de Compactacin
E (Kg/cm2)
Buena
50
Mediana
35
Mala
20
Ninguna
15
Velocida
d
del
viento
Tipo de viento
V<1
1V3
4V6
7V10
11V1
6
17V2
1
22V2
7
28V3
3
34V4
0
41V4
7
48V5
5
56V6
3
64V7
1
Fuera de
Rango
Calma
Ventolina
Flojito
Flojo
Bonancible
Fresquito
Fresco
Frescachn
Temporal
Temporal Duro
87.
Escala
de
Dougla
s
0
Tipo de Ola
Altura
Mn.
Calma
Altura
Mx.
0
0
Rizado
0.2
Marejadilla
0.2
0.5
Marejada
0.5
1.25
Fuerte
Marejada
1.25
2.5
Gruesa
2.5
Muy Gruesa
Arboleda
Montaosa
14
12
Enorme
14
100
Sin
escala
Sin
escala
Sin escala
Sin
escala
Sin
escala
Temporal Fuerte
Temporal
Duro
Temporal
Huracanado
Sin escala
Escala
de
Beaufo
rt
0
1
2
3
Muy
9
10
11
88.
89.
90.
14.3.
Estructuras Repetitivas
Son las estructuras que repiten una secuencia de
instrucciones un determinado nmero de veces a esto se le
denomina bucle y se denomina iteracin al hecho de repetir
la ejecucin de una secuencia de acciones
Antes de explicar los tipos de estructuras repetitivas
definamos que es un Contador, acumulador o sumador
Un contador es una variable destinada a contener
diferentes valores, que se va incrementando o
decrementando cada vez que el ordenador realice una
instruccin que lo contiene. El incremento o decremento si
es negativo, llamado tambin paso del contador, es
siempre constante ejemplo i 1, j 0, etc.
Acumulador o sumador: es una variable que nos va a
permitir guardar un valor que se incrementa o decrementa
de forma no constante durante el proceso. En un instante
determinado tendr un valor y al siguiente tendr otro valor
igual o distinto. Ejemplo S S + i , a a*i , etc
14.3.1.
Estructura repetitiva mientras (While o Do
while):
La estructura repetitiva mientras, es aquella en que al
cuerpo del bucle se repite mientras se cumple una
determinada condicin. La representacin en
Pseudocdigo y Diagrama de Flujo ser:
Mientras condicin hacer
Accin 1
Accin 2
.
.
.
Fin mientras
Condici
n
Falsa
Verdadera
14.3.2.
Estructura repetitiva
Accionespara (For):
En muchas ocasiones se conoce de antemano el nmero
de veces que se desea ejecutar las acciones de un bucle.
En este caso en el que el nmero de iteraciones es fija se
debe usar la estructura desde o para
La representacin en pseudocdigo y diagrama de flujo es
Desde variable (V) = vi hasta vf hacer
Accin 1
Accin 2
Calcular valor inicial y final
.
.
.
Fijar la variable ndice al valor inicial
Fin desde
V: variable ndice
Vi, vf : valor inicial y final de la variable Falso
Variable ndice
> valor final
Verdadero
Acciones
Accione
14.3.3.
Estructura repetitiva repetir:
Existen muchas situaciones en la que se desea que un
bucle se ejecute al menos una vez antes de comprobar la
condicin de repeticin. La estructura repetir se ejecuta
hasta que se cumpla una condicin determinada que se
comprueba al final del bucle. El bucle repetir hasta que se
repite mientras el valor dela expresin booleana de la
condicin sea falsa, justo lo opuesto de la sentencia
mientras.
La representacin en Pseudocdigo y Diagrama de Flujo es
Acciones
Repetir
Accion1
Accin 2
.
.
Falsa
Verdadera
Condici
n
.
Hasta _que Condicin
14.3.4.
Ejemplos
Ejemplo 1
Hallar el factorial de un numero N utilizando la
estructura desde
Inicio
Leer N
Fact 1
Desde i 1 hasta N hacer
Factfact*i
Fin_desde
Escribir el factorial de, N, es, fact
Fin
Ejemplo 2
Realizar el algoritmo para obtener la suma de los
nmeros pares hasta 1000.
Inicio
Suma 2
Numero 4
Mientras nmero <= 1000 hacer
Suma suma + numero
Numero nmero +2
Fin _ mientras
Fin
Ejemplo 3
Dado dos nmeros enteros, realizar el algoritmo que
calcule el cociente y el resto
Inicio
Leer M, N
Resto M
Cociente 0
Repetir
Resto resto N
Cociente cociente + 1
Hasta_ que resto < N
Escribir dividiendo, M, divisor, N, Cociente,
cociente, Resto
Fin
Ejemplo 9
Determine el mximo comn divisor de dos nmeros
Inicio
Leer a, b
Para i 1 hasta a hacer
R1resto(a/i)
Para j1 hasta b hacer
R2resto (b/j)
Si (i=j) y (r1=0) y (r2=0) entonces
Mcd=i
Fin si
Fin para j
Fin para i
Escribir mcd
Fin
Ejemplo 10
Encuentre e imprima los nmeros primos entre 1 y
100
Inicio
n2
s0
escribir 1
Para i2 hasta 100 hacer
Mientras n i hacer
Si resto (i/n) =0 entonces
ss + n
Fin si
nn+1
Fin mientras
ps+1
qi+1
Si p=q entonces
Escribir i
Fin si
n2
s0
fin para
Fin
Ejemplo 11
Desarrolle un algoritmo para aproximar la siguiente
funcin por serie de Taylor
Primera forma
Inicio
(x = exponente de la funcin y n = N de trminos de
la serie de Taylor)
Leer x, n
I 1
s0
Mientras i n hacer
Potenciax ^ i
Factorial1
mi
J1
Repetir
Factorialfactorial*j
jj+1
Hasta que j > m
ss + potencia/factorial
ii+1
Fin mientras
e 1 +s
Escribir e
Fin
Segunda forma
Inicio
(x = exponente de la funcin y n = N de trminos de
la serie de Taylor)
Leer x, n
I 0
s0
Mientras i n hacer
Potenciax ^ i
Si i = 0 entonces
Factorial1
Sino
Factorial1
mi
J1
Repetir
Factorialfactorial*j
jj+1
Hasta que j > m
Fin si
ss + potencia/factorial
ii+1
Fin mientras
Escribir s
Fin
Ejemplo 12
Realizar un algoritmo que escriba los n primeros
nmeros de la serie de Fibonacci, se sabe que la serie
se origina a partir de dos nmeros que sirve patrn o
base y el tercer nmero es la suma de los dos
anteriores
1, 2, 3, 5, 8, 13, 21,.
Primera forma
Inicio
Leer n
Fibo11
Fibo22
i3
Escribir fibo1, fibo2
Repetir
Fibofibo1 + fibo2
Escribir fibo
Fibo1fibo2
Fibo2fibo
ii+1
Hasta que i >n
Fin
Segunda forma seria ms general
Inicio
Leer n
Fibo11
Fibo22
i2
Escribir fibo1, fibo2
Repetir
ii+1
Fibofibo1 + fibo2
Fibo1fibo2
Fibo2fibo
Escribir fibo
Hasta que i >n
Fin
Una forma ms general seria
Inicio
Leer n, a, b
Fibo1a
Fibo2b
i2
Escribir fibo1, fibo2
Repetir
ii+1
Fibofibo1 + fibo2
Fibo1fibo2
Fibo2fibo
Escribir fibo
Hasta que i >n
Fin
Ejemplo 13
Mostrar los N primeros trminos de la siguiente serie,
donde N debe estar entre 5 y 30
5, 7, 10, 14, 19,..
Inicio
Leer n
Si (n5) y (n30) entonces
i1
s5
Escribir s
Mientras i<n hacer
ii +1
ss + i
Escribir s
Fin mientras
Sino
Escribir nmero fuera de rango
Fin si
Fin
Ejemplo 14
Calcular el valor mximo de una serie de 10 nmeros,
leidos por teclado
Inicio
Leer num
i1
maxnum
Repetir
ii +1
Leer num
Si max < num entonces
maxnum
fin si
hasta que I > 10
Escribir max
Fin
Ejemplo 14
Determinar simultneamente los valores mximo y
mnimo de una lista de 100 nmeros ledos por
teclado
Inicio
Leer num
maxnum
minnum
desde i 2 hasta 100 hacer
Leer num
Si max num entonces
maxnum
sino
Si num min entonces
minnum
fin si
fin si
fin desde
Escribir max, min
Fin
Ejemplo 15
Calcular el Mximo Comn Divisor de dos nmeros A
y B de acuerdo con el algoritmo de Euclides.
Inicio
Leer A, B
Si A < B entonces
auxB
BA
Aaux
Mientras B 0 hacer
Rresto(A/B)
AB
BR
Fin mientras
Escribir A
Sino
Mientras B 0 hacer
Rresto(A/B)
AB
BR
Fin mientras
Escribir A
Fin
14.3.5.
Ejercicios
1. Hallar el factorial de un numero N utilizando
estructura mientras y repetir
la
x 2 x3
xn
e =1+x+ + +...+
2! 3!
n!
x
,
Para N > 0
Para un N dado
Para que N sea tal que
xn
n!
<
e (por
ejemplo e = 10 - 4)
Escribir un algoritmos que calcule la
exponencial de a segn dicha
frmula,
utilizando n=10 y luego n=20.
10. Dadas 3 listas de 5 nmeros de telfono, donde la
primera lista contiene el nmero de pasos
consumidos en llamadas locales asociado a cada
telfono, la segunda contiene informacin sobre
llamadas nacionales y la tercera contiene informacin
sobre
llamadas
internacionales,
calcular
los
subtotales del coste dcada una de las categoras
considerando los costes siguientes: llamada local, 5
pesetas por paso, llamada nacional 10 pesetas por
paso y llamada internacional 50 pesetas por paso.
Construir un programa que lee los datos de entrada
desde el teclado e imprima los resultados finales por
pantalla.
11. Disear un algoritmo que determine los nmeros
primos entre dos nmeros dados.
12. Los empleados de una fbrica trabajan en dos
turnos, diurno y nocturno. Se desea calcular el jornal
diario de acuerdo con los siguientes puntos:
Las tarifas de las horas es de 50 nuevos soles
erp
xi 1 xi
x100
xi 1
c b
f (b)(a b)
f (a) f (b)
I (b a )
f ( xa ) 2 f ( xi ) f ( xb )
i 1
2n
I (b a )
f ( xa ) 4 f ( xi ) 2
i 1,3,5
3n
n 2
j 2,4,6
f ( x j ) f ( xb )
I (b a )
f ( xa ) 3 f ( xi ) f ( xb )
i 1
8n
1
k 1 ak
k
k 1
49. Calcule el nmero mximo de trminos de la serie
de Fibonacci cuya suma no exceda de 10000. Ingrese
por teclado dos nmeros como inicio de la serie.
50. Calcule e imprima los nmeros primos entre 1 y 100
51. Permita ingresar el nombre del bien, la cantidad a
depreciar y el nmero de aos de depreciacin, la
salida debe mostrar cada ao y su depreciacin. De
acuerdo con el mtodo de la suma de los dgitos
empleado en el anlisis financiero para calcular la
depreciacin. Por ejemplo suponga que un automvil
Q2
0 1 3 B
gAc
B 3 y
y2
Ac 3 y
2
xi 1 xi
f ( xi )( xi 1 xi )
f ( xi1 ) f ( xi )
V h3
(3R h)
3
xi1 xi
f ( xi )
f '( xi )
x 2 x3
1 x ...
2! 3!
e x
ex
1
x 2 x3
1 x ...
2! 3!
erp
f ( xi1 ) f ( xi ) f ( xi )( xi1 xi )
h xi 1 xi
f ( xi )
f ( xi )
( xi1 xi ) 2
( xi 1 xi )3 ...
2!
3!
f ( xi 1 ) f ( xi ) hf ( xi ) h 2
f ( xi )
f ( xi )
h3
...
2!
3!
Si fb*fc 0 entonces
ac
Fa sen(a)+cos(1+a^2)-1
sino
bc
Fb sen(b)+cos(1+b^2)-1
fin si
Escribir a, b, c, fa, fb, fc
ii+1
Hasta que (b-c e)
Fin
Ejercicio 26
Inicio
Leer n, x
S0
Si (x > -1) y (x 1) entonces
Para i1 hasta n hacer
potx^i
Si resto (i/2)=0 entonces
S s-pot/i
Sino
S s + pot/i
Fin si
Fin para
Fin si
Escribir s
Fin
15. Subprogramas
La
resolucin
de
considerablemente si
llamados subproblemas
en la programacin
(subrutinas)
problemas
complejos
se
facilita
se dividen en problemas ms pequeos
(Subprogramas). Las herramientas usadas
son las funciones y procedimientos
15.1.
Procedimientos(Subprograma):
Llamados tambin subrutina, un procedimiento es un
subprograma que ejecuta un proceso especfico, cuando se
invoca el procedimiento, los pasos que lo definen se ejecutan y
a continuacin se devuelve el control al programa que le llamo
Declaracin de un procedimiento
Procedimiento nombre (parmetros formales, parmetros
variables)
Inicio
Acciones
Fin
Donde
Nombre: Es el nombre del procedimiento a invocar
Parmetros formales: Tiene el mismo significado que en las
funciones
Parmetros
variables:
En
algunos
lenguajes
de
programacin est permitido este tipo de declaracin, para
designar que ellos obtendrn resultados del procedimiento en
lugar de los valores actuales asociados a ellos.
Invocacin a una funcin
(Llamar_a) nombre (lista de parmetros actuales)
Por ejemplo
Procedimiento divisin (dividendo, divisor, cociente, resto)
Inicio
Cociente dividendo/ divisor
Resto dividendo - cociente*divisor
Retorno
Fin
Algoritmo aritmtica
Inicio
Leer M, N
Llamar_a divisin (M, N, P, Q)
Escribir p, Q
Fin
15.2.
Funciones
Matemticamente una funcin es una operacin que tiene uno
o ms valores
llamados argumentos y produce un valor
denominado resultado o valor de la funcin para los
argumentos dados (Aguilar, 1988)
Declaracin de una funcin
Funcin nombre _ funcin (par1, par2,
par3,)
Inicio
Acciones
Dnde:
Par1, par2,Fin
Lista de parmetros o argumentos
Nombre_ funcin
Nombre asociado con la funcin, que
ser un nombre de identificacin valido
Acciones instrucciones que constituyen la definicin de la
funcin y que debe contener una accin solo de asignacin que
asigne un valor al nombre de la funcin, es decir, nombre_
funcin expresin
Por ejemplo la funcin
f ( x )=
x
1+ x2
Funcin fun(x)
Inicio
Funx/(1 + x^2)
Fin
Invocacin de una funcin
Una funcin puede ser llamada solo mediante referencia de la
forma siguiente:
Variable de asignacin nombre _ funcin (par1, par2,)
Por ejemplo
F_x fun(x)
Procedimiento vs funcin
i.
Un procedimiento es llamado desde el algoritmo o
programa principal mediante su nombre y una lista de
parmetros actuales o bien con la instruccin llamar. Al
llamar el procedimiento se detiene momentneamente el
programa que se estuviera realizando y el control pasa al
procedimiento llamado. Despus que las acciones del
procedimiento se ejecutan, se regresa a la accin
inmediatamente siguiente a la que se llam.
ii.
Las funciones devuelven un valor, las subrutinas pueden
devolver 0,1 o ms valores y en forma de la lista de
parmetros
iii.
El procedimiento se declara igual que la funcin, pero su
nombre no est asociado a ninguno de los resultados
que obtiene
15.3.
Algoritmos Recursivos
Es un algoritmo que se define en trminos de s mismo. Son
implementados en forma de subrutinas (Funciones,,
Procedimientos, subprogramas, etc.)
De tal manera que
dentro de una subrutina recursiva hay una o ms llamadas a
s misma.
Es una herramienta muy potente en algunas aplicaciones
sobre todo de clculo. La recursin puede ser utilizada como
una alternativa a la repeticin o estructuras repetitivas. El uso
de la recursin es particularmente idneo para la solucin de
aquellos problemas que pueden definirse de modo natural en
trminos recursivos (Aguilar, 1988)
Recursividad directa: cuando en una subrutina
hay
llamadas a ella misma
8.
9.
3.
4.
5.
6.
7.
ah
n
h 1 h
n
10.
11.
12.
13.
14.
15.
16.
, siendo a un vector
y siendo n > 0, entero otro
17.
16.
Estructuras de Datos
Estndar
Datos simples
Definido por el programador
(No estndar)
Simples o Estticos
Datos estructurados
Compuestos o dinmicos
Entero
Real
Carcter
Lgico
Sub rango
Enumerativo
Array (vectores / matrices)
Registros
Ficheros
Conjuntos
Cadenas (String)
Listas (pilas / colas)
Listas enlazadas
Arboles
Grafos
16.1.
un vector
i
Subndice
A(i)
1
2
3
4
5
6
7
8
14.0
12.0
8.0
7.0
8.40
8.20
8.15
7.25
Fin desde
// Escritura
Desde i = 1 hasta 20 hacer
Escribir final (i)
Fin desde
Ejemplo 1
Escribir un algoritmo que permita calcular el cuadrado de
los 100 primeros nmeros enteros y a continuacin escribir
una tabla que contenga dichos 100 nmeros cuadrados.
Algoritmo
Inicio
Desde N 1 hasta 100 hacer
C N*N
Escribir N, C
Fin desde
{Escritura de la tabla}
Desde N 1 hasta 100 hacer
A(N) N*N
Escribir A(N)
Fin desde
Fin
Ejemplo 2
Se tiene N temperaturas. Se desea calcular su media y
determinar entre todas ellas cuales son superiores o
iguales a esa media
Algoritmo
Inicio
Suma 0
C0
Leer N
Desde i 1 hasta N hacer
Leer temp[i]
Suma suma/N
Fin desde
Desde i 1 hasta N hacer
Si temp[i] >= media entonces
C C +1
Escribir temp[i]
Fin si
Fin desde i
Escribir la media es:, media
Escribir el total de temperaturas mayores iguales a la
medio es : , C
Fin
16.1.1.
Ordenacin:
56
A(3)
14
A(4)
35
A(5)
1
A(6)
12
A(7)
9
A(8)
Bsqueda
Fin
Algoritmo 2
Inicio
Leer t
I1
Mientras (A[i] <> t) y (i <= n) hacer
I i+1 (este bucle se detiene bien con A[i]= t o
bien con i >n)
Fin mientras
Si A[i] = t entonces (condicin de parada)
Escribir el elemento se ha encontrado en la
psicion, i
Sino
Escribir el nmero no se encuentra en el vector
Fin si
Fin
Mtodo de bsqueda binaria
La bsqueda secuencial es se comienza con el primer
elemento del vector y se busca en el hasta que se
encuentra el elemento o se alcanza el final del vector,
aunque este mtodo puede ser un mtodo adecuado para
pocos datos, se necita una tcnica ms eficaz para
conjuntos grandes de datos.
El mtodo de bsqueda binaria se basa en la divisin
sucesiva del espacio ocupado por el vector en sucesivas
mitades hasta encontrar el elemento buscado, este vector
debe estar ordenado. La bsqueda binaria utiliza el mtodo
de divide y vencers para localizar el valor buscado. Con
este mtodo se examina primero el elemento central de la
lista, si este es el elemento buscado, entonces la bsqueda
ha terminado. En caso contrario se determina si el
elemento buscado est en la primera o la segunda mitad de
la lista y a continuacin se repite este proceso, utilizando el
elemento central de esta sablista (Aguilar, 1988)
Algoritmo
Inicio
Leer k (inicializar variables)
Bajo 1
Alto N
Central ent((bajo + alto)/2)
Mientras (bajo <= alto) y (A[central] <>K ) hacer
Si K < A[central] entonces
Alto central - 1
Sino
Bajo central + 1
Fin si
16.1.3.
Mezcla o intercalacin
Fin si
Fin mientras
Si i <= M entonces
Desde r i hasta M hacer
K k +1
C[k] A[r]
Fin desde
sino
Desde r j hasta N hacer
K k +1
C[k] B[r]
Fin desde
Fin si
Escribir C (vector clasificado)
Fin
16.2.
Arreglos bidimensionales:
Fila
Fila
Fila
Fila
Fila
Columna
Columna
Columna
Columna
4.
5.
6.
7.
1 n
(vk ) 2
n k 1
15.
Mximo de una matriz. Dada una matriz A R n x n,
calcular el elemento mayor.
16.
Mximo de cada matriz. Dada una matriz A R n x n ,
con m > 1 y n > 1 dados se desea calcular un vector v
R n x n cuya componente genrica vk, es el mayor valor de
la fila k-esima de A.
17.
Se quiere
construir y escribir un vector v de
dimensin n cuyas componentes siguen la ley v k = 3*vk-1
k, para k 2. Tanto n como v 1 son cantidades que han de
leerse del teclado
18.
determinar los valores de i, j, despus de la
ejecucin de las instrucciones siguientes.
Inicio
I1
J2
A[i] j
A[i] i
A[j + 1] j + 1
I A[j] + A [i]
A[3] 5
J A[j] + A [i]
Fin
19.
Dados los vectores A = 3 5 6 8 4 7 8 5 3 1 y B = 3
4 6 8 9 1 2 3 0 9, realice un algoritmo para calcular las
siguientes operaciones
20.
Crear un vector de 70 elementos donde cada
elemento del vector sea igual a su posicin
21.
Escribir el algoritmo que permita determinar el
nmero de elementos positivos de una tabla
22.
Leer una matriz de 3 por 3 elementos y calcular la
suma de cada una de sus filas y columnas, dejando dichos
resultados en dos vectores, uno de la suma de las finas y
otro de las columnas
23.
Realizar los algoritmos: de la matriz inversa,
producto de matrices, multiplicacin de una matriz por un
escalar, matriz identidad y matriz triangular
24.
Se dispone de las notas de 40 alumnos, cada uno
de ellos puede tener uno o varias notas. Escribir un
algoritmo que permita obtener la media de cada alumno
29.
Jhon Prez
ha heredado $1.000. l ha decidido invertir su dinero por
un ao. Un inversionista le ha sugerido cinco inversiones
posibles: oro, bonos, negocio en desarrollo, certificado de
depsito, acciones. Jhon debe decidir cunto invertir en
cada opcin. La siguiente tabla representa las ganancias
que obtendra para cada escenario posible de
comportamiento del mercado
Para el optimista
Para el pesimista
1
j
k 1 h
skj
LI=Limpieza
Categoras:
F=oficial
O=operario
P=Pen
53.
Escribir un algoritmo que permita ingresar el cdigo
de cada obrero y mostrar en pantalla la especialidad y la
categora. Se debe considerar que el cdigo ingresado
por el operador tenga 5 caracteres, si el cdigo no
corresponde a una especialidad o categora, el programa
deber mostrar el mensaje cdigo no valido.
54.
Construir un algoritmo que imprima el calendario
correspondiente a un mes y ao determinado. Por ejemplo
considera aos bisiestos entre 1980 y 2020. Los das
domingos deben aparecer resaltados
55.
Suponiendo que A es un conjunto [1, 3, 5, 7], B es
[2, 4, 6] y C es [1, 2, 3] evalu las siguientes expresiones.
A+(B*C), A+(B+C), A+B+C, A+(B+C), C+(A+C), C-(A-B),
(C-A)-B
56.
Ordenar los siguientes datos por el mtodo de la
burbuja, desarrolle la prueba de escritorio
34
45
23
90
10
57.
Ordenar por el mtodo de insercin, desarrolle la
prueba de escritorio
30
50
10
20
14
15
58.
Ordenar por el mtodo Shell, desarrolle la prueba
de escritorio
12
54
30
100
21
59.
Desarrolle la prueba de escritorio del mtodo de
bsqueda de secuencial para encontrar el nmero 2 de la
siguiente tabla.
12
54
30
100
21
11
15
60.
Desarrolle la prueba de escritorio del mtodo de
bsqueda de binaria para encontrar el nmero 9 de la
siguiente tabla.
11
10
54
30
101
20
61.
Mezclar los siguientes vectores, realice la prueba de
escritorio y muestre la tabla mezclada y ordenada
16.3.
34
11
15
16
23
90
10
30
14
13
10
12
20
14
15
Ecdscds