Está en la página 1de 89

Apuntes de

Algoritmos
Realizado por Ing. Kene Reyna Rojas

El presente documento son apuntes de algoritmos diferentes autores de


libros, documentos y direcciones de internet

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

13. Instrucciones y tipos de instrucciones...............................10


13.1. Instruccin.........................................................................10
13.2. Tipos de instruccin.........................................................10
14. Programacin Estructurada..................................................11
14.1. Estructuras Secuencial....................................................11
14.2. Estructuras Selectivas.....................................................15
14.2.1............................................................Selectivas simples:
15
14.2.2.............................................................Selectivas Dobles:
15
14.2.3.........................................................Selectivas mltiples:
16
14.2.4..............................................................................Ejemplos
17
14.2.5.............................................................................Ejercicios
18
14.3. Estructuras Repetitivas...................................................21
14.3.1.....Estructura repetitiva mientras (While o Do while):
22
14.3.2....................................Estructura repetitiva para (For):
22
14.3.3..........................................Estructura repetitiva repetir:
23
14.3.4..............................................................................Ejemplos
24
14.3.5.............................................................................Ejercicios
24
15. Subprogramas.........................................................................27
15.1. Procedimientos (Subprograma):....................................27
15.2. Funciones...........................................................................28
15.3. Algoritmos Recursivos.....................................................29
16. Estructuras de Datos.............................................................30
16.1. Arreglos unidimensionales.............................................31
16.1.1..........................................................................Ordenacin
32

16.1.2.............................................................................Bsqueda
35
16.2. Arreglos bidimensionales................................................37

1. Sistema de procesamiento de informacin


Los temimos procesador de datos y sistema de procesamiento
(tratamiento) de la informacin se utilizan con frecuencia., el uso
de diario de datos e informacin son esencialmente sinnimos
sin embargo existe una diferencia datos se refiere
a la
representacin de algn hecho, concepto o entidad real (los datos
pueden tomar diferentes formas, por ejemplo palabras escritas o
habladas, nmeros y dibujos), informacin implica datos
procesados y organizados, un sistema en general se define como
conjunto de componentes conectados e interactivos, que tienen
un propsito y una unidad total. Sistema de procesamiento de
informacin es un sistema que transforma datos brutos en
informacin organizado, significativo y til (Aguilar, 1988)

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

La definicin de un algoritmo debe describir tres partes:


Entrada, Proceso y Salida
Entrada: son los datos que van iniciar el proceso
Proceso: Es la secuencia de paso que nos permite ejecutar
alguna operacin
Salida: Es la informacin que se requiere al resolver el
problema
2.3.
Frfr
3. Resolucin de problemas con computadoras y las
herramientas de programacin
Esta se puede dividir en tres fases importantes
3.1.
Anlisis del problema:
El problema debe estar bien definido si se desea llegar a una
solucin satisfactoria, para poder definir con precisin el
problema se requiere que las especificaciones de entrada y
salida sean descritas con detalle. Una buena definicin del
problema junto con una descripcin detallada de las
especificaciones de entrada y salida son los requisitos ms
importantes para llegar a una solucin eficaz. El Anlisis del
problema exige una lectura previa del problema a fin de
obtener una idea general de lo que se solicita la segunda
lectura servir para responder a las preguntas
Qu informacin debe proporcionar la resolucin del
problema?
Qu datos se necesitan para resolver el problema?
3.2.
Diseo o desarrollo del algoritmo
La descomposicin del problema original en subproblemas ms
simples y a continuacin dividir estos subproblemas en otros
ms simples que pueden ser implementados para la solucin
en la computadora se denomina diseo descendente (Top
Down Design.). Las ventajas ms importantes del diseo
descendente son.
El problema se comprende ms fcilmente al dividirse en
partes ms simples denominados mdulos.
Las modificaciones en los mdulos son ms fciles
La comprobacin del problema se puede verificar
fcilmente
Tras los pasos anteriores es preciso representar el algoritmo
mediante determinadas herramientas de programacin
diagrama de flujo, pseudocdigo o diagrama N-S
3.3.
Resolucin del algoritmo en la computadora
Una vez que el algoritmo
est diseado y representado
grficamente mediante una herramienta de programacin
(diagrama de flujo, pseudocdigo o diagrama N-S) se debe

pasar a la fase de resolucin prctica del problema con la


computadora
4. Representacin de un algoritmo
Para representar los algoritmos debemos utilizar mtodos grficos
o numricos, que sea independiente de un lenguaje de
programacin, de tal manera que nos permita
visualizar el
algoritmo que queramos representar, existen varios mtodos, los
ms usados a nivel internacional son el diagrama de flujo y el
pseudocdigo.
4.1.
Diagrama de flujo
Es un diagrama que utiliza los smbolos (cajas) estndar
mostrados y que tiene los pasos del algoritmo escritos en esas
cajas unidas por flechas, denominadas lneas de flujo, que
indican la secuencia en que se deben ejecutar.
Un diagrama de flujo (flowchart) es una de las tcnicas de
representacin de algoritmos ms antigua y a la vez ms
utilizada, aunque su empleo ha disminuido, estos smbolos
estn normalizados por ANSI y entre las cajas ms importantes
tenemos: (Aguilar, 1988)
Smbolo

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

Doubl, valores de punto flotante de 64 bits, con rango de


valores
entre
4.9406564581246544e-324
y
1.79769313486231570e+308
5.2.
Datos Lgicos:
Tipo lgico tambin denominado booleano, es aquel dato que
solo puede tener uno o dos valores cierto o verdadero (True ) y
falso (False), este tipo de dato se utiliza para representar
alternativas (si/no) a determinadas conclusiones
En java existe
Boolean, sus valore son true y false
5.3.
Datos carcter:
Es el conjunto finito y ordenado de caracteres que la
computadora reconoce. Un dato tipo carcter contiene un solo
carcter (Aguilar, 1988)
Una cadena de caracteres (String) es una sucesin de
caracteres que se encuentran delimitados por una comilla
(apostrofo) o dobles comillas segn el tipo de lenguaje de
programacin. La longitud de una cadena de caracteres es el
nmero de ellos comprendidos entre los separadores
o
delimitadores
En java existe
Char, valores de 16 bits, no signados de 0 65535 representa
caracteres Unicode
6. Constantes y Variables:
Los programas de computadora contiene ciertos valores que no
deben cambiar durante la ejecucin del programa tales valores se
llaman constantes de igual forma existen otros valores que
cambiaran durante la ejecucin del programa a estos valores se
les llama variables.
7. Operadores
Todos los smbolos que representan enlaces entre cada uno de los
argumentos
que intervienen en una operacin se llaman
operadores y se utilizan para construir expresiones. (Rodriguez
Almeida, 1991) Los operadores pueden ser:
7.1.
Relacionales o condicionales:
Se utilizan para formar expresiones booleanas, es decir,
expresiones que al ser evaluadas producen un valor booleano:
verdadero o falso. Tal como se muestra en la figura (Rodriguez
Almeida, 1991)

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
Los operadores mod y div son de menor prioridad
7.3.
Alfanumricos:
Se utiliza para unir datos alfanumricos (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

Como se intercambian los valores de las A, B y Aux


Aux A
AB
B Aux

12. Estructura General de un Programa


Es un conjunto de instrucciones, rdenes dadas a la mquina, que
producirn la ejecucin de una determinada tarea. En esencia un
programa es un medio para conseguir un fin.
El proceso de la programacin es por consiguiente, un proceso de
solucin de problemas, y el desarrollo de un programa requiere las
siguientes fases
Definicin y anlisis del problema
Diseo de algoritmos
o Diagrama de flujo
o pseudocdigo
Codificacin del programa
Depuracin y verificacin del programa
Documentacin
Mantenimiento
12.1.
Partes de un programa

Programa (algoritmo de resolucin)


Entrada

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

Char x [] = new char [20];


Char [] [] x =new char [3][2];
Instrucciones de lectura
Esta instruccin lee datos de un dispositivo de entrada
ejemplo leer edad, tiempo. Ejemplos.
a=Integer.parseInt(JOptionPane.showInputDialog("ingrese
un numero: "));
Instrucciones de escritura
Esta instruccin escribe en un dispositivo de salida ejemplo
escribir A, B, C
Ejemplos
System.out.Println(i)
Instrucciones de bifurcacin
El desarrollo lineal de un programa se interrumpe cuando
se ejecuta una bifurcacin. Las bifurcaciones pueden ser
segn el punto del programa a donde se bifurca hacia
adelante o hacia atrs.
o Bifurcacin incondicional: se realiza siempre que
el flujo del programa pase por la instruccin sin
necesidad del cumplimiento de ninguna condicin

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

14. Programacin Estructurada


Se refiere a un conjunto de tcnicas que aumentan
considerablemente la productividad del programa reduciendo un
elevado grado el tiempo para escribir, verificar, depurar y
mantener los programas. La programacin estructurada incorpora
Diseo descendente: es el proceso mediante el cual un
problema se descompone en una serie de niveles o pasos
sucesivos de refinamiento
Recursos abstractos: la programacin estructura se auxilia de
los recursos abstractos en lugar de los recursos concretos de que
se dispone
Estructuras bsicas: son tres tipos de control: secuencial,
selectiva y repetitivas.
14.1.
Estructuras Secuencial
La estructura secuencial es aquella en la que una accin
(instruccin) sigue a otra en secuencia. Las tareas se suceden
de tal modo que la salida de una es la entrada de la siguiente
y as sucesivamente hasta el fin del proceso. (Wilder, 2010)
En Pseudocdigo una Estructura Secuencial se representa de
la siguiente forma:
Ejemplo 1
Tengo un telfono y necesito llamar a alguien pero no s
cmo hacerlo.

Ejemplo 2
Escriba un algoritmo que pregunte
por dos
nmeros y muestre como resultado la suma de estos. Use
Pseudocdigo y diagrama de flujos.

Ejercicios 1 al 11 extrados de Lic.


Salomn
Aquino de la materia Lgica Computacional.(Aquino, 2007)
1.
Leer el sueldo de tres empleados y aplicarles un aumento
del 10, 12 y 15% respectivamente. Desplegar el resultado.
2.
Escribir un programa que calcule el salario de un
trabajador de la manera siguiente. El trabajador cobra un
precio fijo por hora y se le descuenta el 10% en concepto
de impuesto sobre la renta. El programa debe pedir el
nombre del trabajador, las horas trabajadas y el precio
que cobra por hora. Como salida debe imprimir el sueldo
bruto, el descuento de renta y el salario a pagar.
3.
Programa que pida el precio de un artculo y calcule su
valor, aplicndole un 18% de IGV.
4.
Dada una medida de tiempo expresada en horas, minutos
y segundos con valores arbitrarios, elabore un programa
que transforme dicha medida en una expresin correcta.
Por ejemplo, dada la medida 3h 118 min 195 seg, el
programa deber obtener como resultado 5h 1m 15s
5.
Escriba un programa que calcule el rea de un tringulo
rectngulo, dada la altura y la base.
6.
Elabore un programa que realice la conversin de cm. a
pulgadas.
Donde 1 cm = 0.39737 pulgadas. Por lo tanto, el usuario
proporcionara el dato de N cm. y el programa dir a
cuantas pulgadas es equivalente.
7.
Elabore un programa que realice la conversin de
pulgadas
a
cm.
Donde 1 cm. = 0.39737 pulgadas. Por lo tanto, el usuario
proporcionara el dato de N pulgadas y el programa dir a
cuantos centmetros equivale.
8.
Elabore un programa que realice la conversin de metros
a
pies
Donde 1 m = 3.2808 pies, Por lo tanto, el usuario
proporcionara el dato de N m y el programa dir a cuantos
pies equivale.
9.
Elabore un programa que realice la conversin de pies a
metros
Donde 1 m = 3.2808 pies. Por lo tanto, el usuario
proporcionara el dato de N pies y el programa dir a
cuantos metros equivale.

10.

11.

12.
13.

14.

15.

Elabore un programa que realice la conversin de


kilogramos
a
libras
Donde 1 Kg. = 2.2046 libras. Por lo tanto, el usuario
proporcionara el dato de N Kg. y el programa dir a
cuantas libras equivale.
Elabore un programa que realice la conversin de libras a
kilogramos
Donde 1 Kg. = 2.2046 libras. Por lo tanto, el usuario
proporcionara el dato de N libras y el programa dir a
cuantos kilogramos equivale.
Introducir 5 notas por teclado, obtener la suma de las
notas, el promedio de las mismas y el doble de las notas.
Un alumno desea saber cul ser su calificacin final en la
materia de Algoritmos. Dicha calificacin se compone de
los siguientes porcentajes:
55% del promedio de sus tres calificaciones
parciales.
30% de la calificacin del examen final.
15% de la calificacin de un trabajo final.
Calcular el nmero de pulsaciones que una persona debe
tener por cada 10 segundos de ejercicio, si la frmula es:
num. Pulsaciones = (220 - edad)/10

En un hospital existen tres reas: Ginecologa, Pediatra,


Traumatologa. El presupuesto anual del hospital se
reparte conforme a la siguiente tabla:
rea
Porcentaje del presupuesto
Ginecologa
40%
Traumatologa
30%
Pediatra
30%
Obtener la cantidad de dinero que recibir cada rea, para
cualquier monto presupuestal.
16.
El coste de un automvil nuevo para un comprador es la
suma total del coste del vehculo, del porcentaje de la
ganancia del vendedor y de los impuestos locales o
estatales aplicables (sobre el precio de venta). Suponer
una ganancia del vendedor del 12% en todas las unidades
y un impuesto del 6% y disear un algoritmo para leer el
coste total del automvil e imprimir el coste para el
consumidor.
17.
Un alumno desea saber cul ser su promedio general en
las tres materias ms difciles que cursa y cul ser el
promedio que obtendr en cada una de ellas. Estas
materias se evalan como se muestra a continuacin:
La calificacin de Matemticas se obtiene de la sig.
Manera:
Examen 90%
Promedio de tareas 10%
En esta materia se pidi un total de tres tareas.
La calificacin de Fsica se obtiene de la sig. Manera:

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

Si tenemos una expresin algebraica de la forma


2
A x + Bx+C
, donde conocemos los valores de los
coeficientes de cada uno de los trminos A, B, C , disee
una aplicacin que realice los siguiente:
Calcular dos valores de la expresin para cinco valores
diferentes de la variable independiente x.
Elevar a la cuarta potencia todos los coeficientes de
los temimos

23.

Se tiene un tringulo rectngulo de base B y altura H.


Calcular lo siguiente:
rea de la figura
Permetro de la figura
hipotenusa

24.

25.

26.

Se lee el radio de un circulo y el lado de un cuadrado, se


le pide que realice una aplicacin que haga lo siguiente:
Calcular rea de las figuras
Sumar los permetros de ambas figuras
rea promedio
Elevar al cubo el permetro del triangulo
Calcular la altura promedio de las figuras
Hay un cilindro, una esfera y un cono. Al leer las
dimensiones bsicas de cada uno de ellos, haga una
aplicacin que realice:
Volumen promedio
Suma de reas laterales
Altura promedio
Leer cuatro valores reales y calcular la siguiente
expresin: (suponga que c es diferente de cero)
Valor

27.
28.
29.

30.
31.

ab
cd 2a

4cd
2
a
c
c
2a 5b 4

Leer dos valores reales p y q del teclado y escribir la


media aritmtica
Leer un valor real x del teclado. Calcular y escribir r=x 2
2x3
Leer los coeficientes de un polinomio de grado tres de la
forma P(x)=x3+ax2+bx+c, leer a continuacin un cierto
valor para la variable independiente x y calcular y escribir
y = P(x)
Convertir a radianes un valor de ngulo medido en grados
sexagesimales
Calcular y escribir la temperatura T que corresponde a n
moles de gas ideal sometido a una presin P cuando
ocupa un volumen V. Se supone que los valores de P y V
se proporcionan por teclado. R es una constante universal
de los gases

PV nRT

32.
33.
34.

Permitir ingresar una hora determinada con el formato H


M S (H= Hora, M= Minuto, S= Segundo). Se pide imprimir
la hora que ser despus de un segundo
Ingresar un nmero de cuatro dgitos y que obtenga e
imprima el nmero que resulta de invertir sus cifras.
Realizar un programa que calcule la longitud y el rea
total de tres circunferencias sabiendo que la 1ra de ellas
tiene un radio R que ser introducido por teclado, la 2da
tiene un radio 3R y la 3ra tiene un radio de 3R.

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.

Elaborar un algoritmo que permita ingresar el nmero de


partidos ganados, perdidos y empatados, por algn
equipo en el torneo apertura, se debe demostrar su
puntaje total, teniendo en cuenta que por cada partido
ganado obtendr 3 puntos, empatado 1 punto y perdido 0
puntos.
Elabore el algoritmo que permita ingresar dos valores
numricos enteros cualquiera, luego de evaluar se debe
imprimir sus valores intercambiados.
Determinar la suma de los N primeros nmeros enteros de
acuerdo a la siguiente formula:
N *( N 1)
Suma
2

Cifrado de datos: dado un nmero de cuatro dgitos se


reemplazar cada dgito por (dgito +7) mdulo 10. A
continuacin se intercambiar el primer dgito por el
tercero y el segundo por el cuarto, y ese ser el nmero
cifrado

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

Si el discriminante es menor que cero, las races son


imaginarias
Algoritmo Pseudocdigo
Inicio
Leer a, b, c
D b^2 -4*a*c
Segn sea D hacer
D <0: escribir races complejas
D = 0: x - b/2*a
D >0: rcraizcua(D)
X1 (-b + rc)/2*a
X2 (-b -rc)/2*a
Escribir x1, x2
Fin _ segn
fin
Ejemplo 3
Se desea disear un algoritmo que escriba los nombres
de los das de la semana en funcin del valor de una
variable DIA introducida por teclado
Inicio
Leer Da
Segn_ sea DIA hacer
1: escribir Lunes
2: escribir Martes
3: escribir Miercoles
4: escribir Jueves
5: escribir Viernes
6: escribir Sabado
7: escribir Domingo
Otros: escribir Error
Fin_ segn
Fin
14.2.5.
1.

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.

son superiores a 1200.00 nuevos soles mensuales el


crdito se concede. Si los ingresos son inferiores a
1200.00 nuevos soles pero superiores a 1000.00
nuevos soles y est soltero el crdito se concede.
Tambin se le concede si tiene ingresos entre 1200.00
y 1000.00 nuevos soles y est casado sin hijos.
Realizar un programa que pida los ingresos
mensuales y el estado civil del solicitante y si tiene
hijos y diga si se le da el crdito o no
Escriba un programa que lea el importe de la compra
y la cantidad recibida y calcule el cambio a devolver,
teniendo en cuenta que el nmero de monedas que
devuelva debe ser mnimo. Suponer que el sistema
monetario utilizado consta de monedas de 100, 50,
25, 5, 1 unidad.
Escriba un programa que lea tres nmeros enteros y
asigne el
valor apropiado TRUE o FALSE a las
siguientes variables booleanas y muestre el tipo de
triangulo que es (si es un tringulo)
Triangulo: True si los nmeros pueden representar
longitudes de los lados de un tringulo (La suma de
dos cualesquiera de los lados debe ser mayor que el
otro).
Equiltero: True si es un tringulo equiltero (todos
los lados son iguales).
Issceles: True si es un tringulo issceles (al menos
dos lados son iguales).
Escaleno: True si es un tringulo escaleno (no tiene
dos lados iguales).
Escribe un programa que lea los coeficientes A, B, C
de la ecuacin cuadrtica AX2 + BX
+ C = 0 y
muestre por pantalla la solucin obtenida. Considerar
los casos en que no exista solucin, que existan
infinitas soluciones, que exista una sola solucin
(Ecuacin lineal) o que existan dos soluciones.
Se quiere realizar un programa que determine si un
alumno es apto o no. Un alumno se considera apto si
su nota final es de 5 o ms y no apto en caso
contrario. La nota final se calcula como la media
ponderada del trabajo realizado en casa, la media
obtenida en los tests y la puntuacin del examen.
Nota final = 0.2* Trabajo + 0.5*Test + 0.3*Examen.
Adems debe tener la calificacin de acuerdo a la
tabla:

7.

8.
9.

10.

11.

Nota >=9.5 Matrcula de Honor


8.5 <= Nota < 9.5 Sobresaliente
6.5 <= Nota < 8.5 Notable
5 <= Nota < 6.5 Aprobado
Nota < 5 Suspenso
Escribir un algoritmo tal que dada la temperatura
mxima del mes y la temperatura medida hoy,
actualice el valor de la mxima si la temperatura
leda hoy es mayor que dicho mximo.
Implementar un algoritmo que dados tres nmeros a,
b y c, los devuelva ordenados de menor a mayor
El cuadrante de un punto (x, y) se puede determinar
a partir del signo de x e y. Escribir un algoritmo tal
que dadas las coordenadas x e y, indique a que
cuadrante pertenece el punto

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.

Similar al ejercicio anterior, luego de evaluar se debe


decir cul de ellos es el mayor y el menor
Elaborar un algoritmo que imprima el valor medio de
tres nmeros, ingresados por teclado ( no es el
promedio)
Determinar la cantidad de dinero que recibir un
trabajador por concepto de las horas extras
trabajadas en una empresa, sabiendo que cuando las
horas de trabajo exceden de 40, el resto se
consideran horas extras y que stas se pagan al
doble de una hora normal cuando no exceden de 8; si
las horas extras exceden de 8 se pagan las primeras
8 al doble de lo que se paga por una hora normal y el
resto al triple.
Se desea agregar una letra para representar la
calificacin de los alumnos, las calificaciones son
notas entre 1 y 10; use los siguientes parmetros: A
para calificaciones mayores o iguales a 9, B para
calificaciones mayores o iguales a 8, C para
calificaciones mayores o iguales a 7, D para
calificaciones mayores o iguales a 6, F para todas las
dems calificaciones.
La empresa Milagrito S.A. tiene la siguiente tabla de
parmetros para pagar las comisiones de sus
ejecutivos de ventas:

Escriba un programa que al introducir la cantidad


vendida por el ejecutivo de ventas, calcule de cunto
ser su comisin.
24.

25.

En base al valor de dos nmeros enteros, determine


si estos son:
A. Iguales.
B. No iguales.
C. El primero es mayor que el segundo.
D. El segundo es mayor que el primero.
Un restaurante, desea dar a conocer a sus clientes el
plato que se ha preparado para cada uno de los

26.

27.
28.

29.

30.

tiempos de comida desayuno, almuerzo y cena. El


restaurante prepara un plato nico para cada uno de
los tiempos. Cuando el cliente seleccione entre los
tiempos de comida (desayuno, almuerzo o cena) se
debe desplegar el detalle de este.
Ejemplo:
Seleccione su tiempo de Comida: desayuno
Detalle
Pltanos, Frijoles, Queso, Crema, Pan y Caf
Elabore un programa que pida dos nmeros y que
permita mostrar un men con las cuatro operaciones
bsicas, donde el usuario pueda seleccionar la
operacin que desea realizar (basta con que
seleccione el nmero).
Leer un nmero real x, calcular y escribir r = |x|3
Calcular el coste de una llamada telefnica que ha
durado t minutos sabiendo que si t<1, el coste es de
0.4 euros mientras que para duraciones superiores el
coste es 0.4 + (t+1)/4 euros.
Leer un nmero real del teclado. Calcular el valor de p
sabiendo que si x est en el intervalo (2,8], el
resultado p toma el valor uno, en caso contrario toma
el valor cero. Escribir posteriormente el valor de p.
Leer un valor x del teclado. Calcular y escribir el valor
y = f(x), siendo f una funcin definida a trozos del
siguiente modo:
x
F(x)
x [- 101,3)
x
x>50
1
resto
0

31.

32.

33.

34.

Leer las componentes de un vector de R 2 (x e y).


Calcule el valor de r que se define como r= NC(x, y),
si x0, y0 y x=0 o si y =0
Dado un numero entero x mayor que uno se ha de
escribir un uno si el nmero es par y un cero en caso
contrario.
Dados dos nmeros enteros positivos p y q, p > q, se
ha de escribir un uno si son divisibles y cero si no lo
son
Dada una cantidad N > 1 calcular la raz cuadrada
entera aproximada r. se ha de cumplir que r*r N <

35.

36.
37.
38.

39.

40.

41.

(r+1)(r+1). Por ejemplo, si N=24 se tiene que r=4


pues 4*4 =1624<25=5*5.
Se ha de escribir un uno en el caso de que exista un
trio (x, y, z) de nmeros enteros positivos tales que
x2 + y2 = z2. Limite a x (0, 100], y (0, 100]. En
caso de que no se encuentre solucin se ha de
escribir un cero.
Determinar el mayor y menor valor de 5 nmeros
ingresados desde el teclado.
Ordenar de menor a mayor 5 nmeros ingresados
por teclado
Un restaurant ofrece un descuento del 20% para un
consumo mayor a S/. 30.00 y aplica un impuesto de
15% para todo consumo. Determinar el importe a
pagar por lo consumido, mostrando todos los
importes.
Un profesor desea implementar un algoritmo que le
permita bonificar equitativamente a todos sus
alumnos de acuerdo a la nota conseguida en un
examen, de la siguiente forma: si la nota fuera menor
que 5 se bonifica con 3 puntos; si la nota fuera mayor
o igual que 5 pero menor que 10 se bonifica con 2
puntos y si la nota fuera mayor o igual que 10 pero
menor que 15 se bonifica con 1 punto; y si la nota
fuera mayor o igual que 15 pero menor o igual que 20
se le descuenta el residuo de la nota entre 5,
determinar la nota bonificada para cualquier alumno.
Dos personas desean intercambiar sus identidades
(nombre, direccin, telfono, edad) siempre y cuando
la edad del primero fuese mayor que la edad de
segundo en no ms de 4 aos. Ingresar los datos de
cada persona y mostrar sus nuevas identidades o un
mensaje mostrando la diferencia de edades que
impidiera el intercambio.
Un trabajador del estado percibe un sueldo bsico
mensual de 750 nuevos soles; adems recibe
incrementos de sueldo de acuerdo a los siguientes
conceptos

instruccin
Hasta 5to secundaria
tcnico
profesional

Porcentaje
5%
10%
20%

Condicin
Social
casado
Por cada hijo
Sin vivienda

42.

Tambin por ley


est sujeto a
un descuento de 10% si su sueldo excede de S/. 800.
determinar el sueldo neto que recibe un trabajador
En una olimpiada de tiro al blanco se llega a un
acuerdo entre los participantes para que el puntaje
obtenido sea calculado en base al puntaje original (0
al 10) alcanzado en el tiro, multiplicado por un factor:

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

Leer cuatro valores reales a, b, c, y d. realizar lo


siguiente:
Calcular la siguiente expresin? (suponga que se
ingresa valor cero a c)

ab
cd 2a

4cd
2
a
c
c
2a 5b 4

45.

Leer cuatro valores reales y calcular la siguiente


expresin suponga que se ingresa valor cero a c)
Valor

ab

c2

cd 2a
a2
c
2a 5b 4

4cd

46.

Escribir un algoritmo cree un men de conversin


para:
Pulgadas a centmetros (1 pulgada = 2.54 cm)?
Pies a metros (1 pie = 0.3048 metros = 12
pulgadas)?
Millas por hora a kilmetros por hora (60 millas\hora
= 80 Km\hora)?
Grados a radianes (360 grados = 2pi radianes,
pi=3.141592)?
?

47.

Desarrolle un algoritmo para la siguiente funcin

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

El gobierno del Per desea reforestar un bosque que


mide determinado nmero de hectreas. Si la
superficie del terreno excede a 1 milln de metros

49.

50.

51.

52.

cuadrados, entonces decidir sembrar de la siguiente


manera.
Porcentaje de la superficie del bosque. Tipo de rbol
70% pino, 20% oyamel, 10% cedro.
Si la superficie del terreno es menor o igual a un
milln de metros cuadrados, entonces decidir
sembrar de la siguiente manera.
Porcentaje de la superficie del bosque tipo de rbol.
50% pino
30% oyamel
20% cedro.
El gobierno desea saber el nmero de pinos,
oyameles y cedros, que tendr que sembrar en el
bosque. Si se sabe que en 10 metros cuadrados
caben 8 pinos, en 15 metros cuadrados caben 15
oyameles y en 18 metros cuadrados caben 10 cedros.
Tambin se sabe que una hectrea equivale a 10 mil
metros cuadrados.
Una fbrica ha sido sometida a un programa de
control de contaminacin para lo cual se efecta una
revisin de los puntos IMECA generados por la fbrica.
el programa de control de contaminacin consiste en
medir los puntos IMECA que emite la fbrica en cinco
das de una semana y si el promedio es superior a los
170 puntos entonces tendr la sancin de parar su
produccin por una semana y una multa del 50% de
las ganancias diarias cuando no se detiene la
produccin. Si el promedio obtenido de puntos IMECA
es de 170 o menor entonces no tendr ni sancin ni
multa. El dueo de la fbrica desea saber cunto
dinero perder despus de ser sometido a la revisin.
Una persona se encuentra con un problema de
comprar un automvil o un terreno, los cuales
cuestan exactamente lo mismo. Sabe que mientras el
automvil se devala, con el terreno sucede lo
contrario. Esta persona comprara el automvil si al
cabo de tres aos la devaluacin de este no es mayor
que la mitad del incremento del valor del terreno.
Aydale a esta persona a determinar si debe o no
comprar el automvil.
Permita ingresar el mes y da de nacimiento, despus
de evaluar se debe imprimir el signo zodiacal
correspondiente.
Imprima el valor medio de tres nmeros ingresados
por el teclado.

53.
54.

55.
56.

57.

58.

59.
60.

Luego de ingresar una fecha del da con el formato


Da Mes Ao. Se imprime la fecha del da siguiente
Permitir ingresar una hora determinada con el
formato H M S (H= Hora, M= Minuto, S= Segundo). Se
pide imprimir la hora que ser despus de un
segundo
Leer un nmero real x y otro entero z. calcular y
escribir y = xz, suponiendo que z 0
Queremos conocer los datos estadsticos de una
asignatura, por lo tanto, necesitamos un algoritmo
que lea el nmero de reprobados, aprobados,
notables y sobresalientes de una asignatura, y nos
devuelva:
El tanto por ciento de alumnos que han superado la
asignatura?
El tanto por ciento de reprobados, aprobados,
notables y sobresalientes de la asignatura?
Ingresar un numero en forma de ARABICO (entero) y
mostrar su equivalente en ROMANO asumiendo que el
nmero ingresado es correcto y no debe ser mayor a
3999
Ejemplo si se ingresa el numero 123 debe aparecer
como resultado CXXIII
Dado un nmero, se debe contestar si es mltiplo de
3, 6 y 9 a la vez. Condicionar el algoritmo para
cualquier nmero.
Disear el algoritmo que dado un nmero, indique si
es par o es impar
La temperatura de un horno puede variar desde 0
hasta 100 grados centgrados y se clasifica de
acuerdo a lo siguiente:

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.

das tiene .tener en cuenta el caso de ao bisiestos.

Escribir un programa que lea una nota de un examen


por teclado y devuelva la calificacin que tiene. La
calificacin podr ser: Suspenso (0-4.99), Aprobado
(5-6.99), Notable (7-8.99), Sobresaliente (9-9.99) o
Matrcula de Honor (10).
Realice este ejercicio utilizando la sentencia de case.

63.
64.
65.
66.

Escribir un algoritmo que lea tres nmeros enteros


por teclado y emita un mensaje indicando si estn o
no en ordenados en orden creciente.
Escribir un algoritmo que permita introducir por
teclado tres nmeros enteros y responda si los
nmeros son iguales.
Escribir un algoritmo que permita introducir por
teclado tres letras y responda si existen al menos dos
letras iguales.

67.

Elabore un algoritmo que permita averiguar si una


persona debe sacar su CUIL, sabiendo su ao de
nacimiento. El cdigo de identificacin laboral es el
nmero que se otorga a todo trabajador al inicio de
su actividad laboral en relacin de dependencia
(mayores de 18 aos).

68.

Elabore un algortimo que solicite la edad de 2


hermanos y muestre un mensaje indicando la edad
del mayor y cuantos aos de diferencia tiene con el
menor.

69.

Se tiene registrado la produccin (unidades) logradas


por un operario a lo largo de la semana (lunes a
sbados). Elabore un algoritmo que nos muestre o
nos diga si el operario recibir incentivos sabiendo
que le promedio de produccin mnima es de 100
unidades.

70.

Elabore un algoritmo que permita ingresar el monto


de venta alcanzado por un vendedor durante un mes,
luego de calcular la bonificacin que le corresponde
Monto
0 - 1000
1000 5000
5000 - 20000
20000 a mas

71.
72.

Bonificacin (%)

Elabore un algoritmo que solicite un numero entero


y muestre un mensaje indicando la vocal
correspondiente, considerando que la vocal A =1.
Se desea leer un nmero entero de 2 cifras y que se
muestre el nmero de unidades, decenas que lo
componen.

0
3
5
8

73.

Elabore un algoritmo, dado un numero cuyo valor es


ledo desde teclado, imprima por pantalla si el
nmero es o no mayor a cero y si el nmero es par o
impar.
Elabora un algoritmo que tras leer un carcter desde
teclado, imprima por pantalla si la letra es mayscula
o minscula. Ampli el algoritmo, indicando si el
carcter es un digito numrico (Nota: digito numrico
48 57, maysculas 65 90 y minsculas 97 - 122)
Elabore el algoritmo, que dada la calificacin obtenida
indique si corresponde al suspenso, aprobado,
notable o sobresaliente.
Elabore un algoritmo que calcule el valor absoluto de
un nmero (tanto positivos como negativos)

74.

75.
76.
77.

Elaborar un algoritmo para calcular el impuesto anual de 4ta categora


de acuerdo al siguiente procedimiento

Si un recibo por honorario es mayor de S/. 1500 se

le hace la retencin del 10% caso contrario no


tiene retencin en un mes.
Si se tiene un grupo de recibos por honorarios
emitidos en el mismo mes (estos no sobre pasan
de S/. 1500) la suma de estos no deben pasar de
S/. 2625 no se le hace retencin. Caso contrario se
le hace la retencin de la suma total del 10%.
Cuando la proyeccin de sus ingresos anuales por
Rentas de Cuarta Categora no supere el monto
afecto al impuesto (para el ejercicio 2014: S/.
33,250),
podr
solicitar
la Suspensin
de
Retenciones y/o Pagos a Cuenta. Deber incluir
tambin en la cantidad referencial, los ingresos
obtenidos por rentas de Quinta Categora en caso
las
tenga.
Referencia: Resolucin
de
Superintendencia N 373-2013/SUNAT
La renta de cuarta categora de acuerdo a los
procedimientos de la Sunat
que han sobres
pasado el monto afecto al impuesto se deduce con
el 20% de los ingresos brutos.
Para Calcular el impuesto anual, De haberse
obtenido, luego de la deduccin un monto positivo,
a ste se procede aplicar la tasa respectiva

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

Nota UIT = 3600

78.

Elaborar un algoritmo para calcular el impuesto anual


de 5ta categora de acuerdo al siguiente
procedimiento.
Estas son generadas por los trabajadores
dependientes
cuyo
monto
proyectado
de
remuneraciones
incluidas
gratificaciones,
participaciones, gratificaciones extraordinarias y
otros ingresos que percibirn durante el periodo de
un ao superen el monto equivalente a 7 UIT
(S/.25200 para el 2010).
La retencin mensual de este impuesto se realiza
de la siguiente manera:

Determinar la remuneracin bruta anual:


REMUNERACIO
N NETA ANUAL

Renta
Anual
Proyectada

7 UIT

Clculo del impuesto anual


De haberse obtenido, luego de la deduccin un
monto positivo, a ste se procede aplicar la
tasa respectiva.
Hasta

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

Determinacin del impuesto a retener


Se sigue el siguiente procedimiento por cada uno de
los meses sealados a continuacin: IAN = Impuesto
Neto Anual

RETENCION

IAN

ENERO, FEBRERO,

12

MARZO
RETENCION

IAN - Retenciones de Enero

ABRIL

a Marzo
9

RETENCION

IAN - Retenciones de Enero

MAYO, JUNIO, JULIO

a Abril
8

RETENCION

IAN - Retenciones de Enero

AGOSTO

a Julio
5

RETENCION

IAN - Retenciones de Enero

SETIEMBRE, OCTUBRE,

a Agosto

NOVIEMBRE

79.

RETENCION

IAN - Retenciones de Enero

DICIEMBRE

a Noviembre

Elaborar un algoritmo de 4ta y 5ta categora. Segn


los clculos de las siguiente tabla.
Renta
Renta Bruta Cuarta Categora (lo que recibi
como independiente)
-Deduccin de 20% de renta bruta de cuarta
Renta Neta de Cuarta Categora
+ Ingresos de Quinta Categora (lo que
recibi como dependiente)
Total ingresos de Cuarta y Quinta
Categora
-Deduccin 7 UIT
Renta neta a la que se le aplica el
impuesto

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

Supongamos que no se percibi ms ingresos que lo


mencionados y no se efectu donaciones ni report
prdidas en aos anteriores. En consecuencia, se le
debe aplicar una tasa de impuesto a la renta de 15%
(para rentas gravadas de hasta 27 UIT, S/.97,200).
De este modo, el impuesto a pagar es S/.10,578 (15%
de S/.70,520), pero como se
ya efectu pagos
adelantados en todo el 2014 por S/.9,840, solo
debera regularizar S/.738 ante la Sunat por este
tributo de 2014. Tal como se muestra en la tabla
Renta neta cuarta y quinta categora
Impuesto 15% de renta neta
- Pagos adelantados en 2011
Pago por regularizar en Sunat

80.

S/.70,520
S/.10,578
S/.9,840
S/.738

La velocidad con que se desintegra una sustancia


radiativa, es proporcional a la masa de la muestra.
Elabore un algoritmo para hallar el tiempo
transcurrido de un objeto radiactivo, dado por la
siguiente formula:

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.

Los gases reales se explican satisfactoriamente por


muchas ecuaciones una de ellas es la ecuacin de
Van Der Walls.

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.

Elabore un algoritmo para calcular la perdida por


friccin en una contraccin brusca, es proporcional a
la carga de velocidad en la conduccin estrecha y
puede calcularse mediante la ecuacin.

Vb2
h fc K c
2 gc

Siendo Kc un factor de proporcionalidad, que recibe el


nombre de coeficiente de perdida por contraccin y
Vb2 la velocidad media de aguas abajo en la seccin
estrecha. Se encuentra experimental que para el flujo
laminar, es Kc < 0.1 y la perdida por contraccin h fc
es despreciable. Para el flujo turbulento el valor de K c
est dado por la ecuacin emprica.

K c 0.4(1

Sb
)
Sa

Siendo Sa y Sb, las reas de las secciones


transversales de las conducciones aguas arriba y
abajo, respectiva.
Nota: el factor de proporcionalidad (g c) de la ley de
newton 32.174 pies-lb/lbf-s2 y tenga en cuenta todas
las condiciones de ingreso de datos.

83.

Elabore un algoritmo para calcular el dimetro en el


efecto de la regin de entrada sobre el coeficiente de
transferencia de calor. Est representado por las
siguientes relaciones para un flujo turbulento dentro
de una tubera, cuando la entrada es una reduccin
abrupta

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.

Elaborar un algoritmo para calcular la pendiente del


terreno segn la frmula de manning.
1
1 2
V (R 3 * S 2 )
n

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.

Elaborar un algoritmo para la magnitud de las


deflexiones verticales, para tener un estimativo de

dichas deflexiones en funcin de las condiciones de la


zanja y del material de relleno, podemos aplicar la
ecuacin de Spangler y es recomendada por la norma
ASTM.

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

Nota: tome en cuenta las tablas para realizar la


seleccin de entrada de datos para calcular la
deflexin
86.

Elabore un algoritmo para ayudar a un Oceangrafo,


Bilogo Pesquero y un ingeniero ambiental, que han
recolectado datos de velocidad de viento, desean

Ninguna
15

determinar las condiciones ambientales del mar para


ello desean calcular la escala de Beaufort, con esos
resultados determinar la escala de Douglas, con eso
determinar el tipo de ola, su altura mnima y mxima
de la ola, para ello tienen la siguiente tabla relacional.

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

Se desea realizar el algoritmo que resuelva el


siguiente problema, clculo de los salarios mensuales
de los empleados de una empresa, sabiendo que
estos se calculan en base a las horas semanales
trabajadas y de acuerdo a un precio especificado por
cada hora. Si se pasan de 40 semanales, las horas
extraordinarias se pagaran a razn de 1.5 veces la
hora ordinaria.

88.

89.

90.

14.3.

Se desea obtener la nmina semanal, salario neto


de los empleados de una empresa cuyo trabajo se
paga por horas y del siguiente modo:
Las horas inferiores a 35 horas (normales), se
paga a una tarifa determinada que se debe
introducir por teclado al igual que el numero de
horas y el nombre del trabajador
Las horas iguales o superiores a 35 se pagaran
como extras a un precio de 1.5 horas normales.
Los impuestos a decidir a los trabajadores
varian en funcin de sus sueldo mensual.
o Sueldo <= S/. 20000 libre de impuestos.
o Los siguientes S/15000 al 20 %
o El resto al 30 %.
La resolucin de una ecuacin de 1er grado. Si la
ecuacin es aX+b=0:
A<>0; X=-b/a
A=0; b<>0 entonces solucin imposible.
A=0; b=0 entonces solucin indeterminada.
Dado 3 nmeros determinar si la suma de cualquier
par de ellos es igual al otro nmero (tercer numero).
Si se cumple esta condicin escribir iguales y en caso
contrario escribir distintos.

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

Cuerpo del bucle

Incrementar variable ndice

Para o desde i = 1 hasta n hacer

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

2. Imprimir los 30 primeras potencias de 4, es decir 4


elevado a 1, 4 elevador a 2 con las tres estructuras.
3. Calcular la suma de los n primeros enteros con las
tres estructuras
4. Disear un algoritmo para imprimir la suma de los
nmeros impares menores o iguales que n
5. Calcular el nmero mximo de una serie de 100
nmeros.
6. Realizar un algoritmo que escriba los N primeros
nmeros de la serie de Fibonacci 1,2,3,5,8,13,21
7. Determinar la media de una lista indefinida de
nmeros positivos ledos por teclado y estos son
terminados con un nmero negativo o cero.
8. Calcular el factorial de los n nmeros ledos por
teclado
9. La exponencial se puede aproximar mediante la serie

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

La tarifa de las horas nocturnas es de 80 nuevos


soles
Caso de ser domingo la tarifa se incrementa en
un 100% tanto en el turno diurno y nocturno
13. Disear el algoritmo que dado una lista nmeros
ledos por teclado, indique si es par o es impar e
imprima el total de nmeros ledos, adems el total
de los pares e impares.
14. Dado un nmero N, calcular la suma 5 +10 +15 +
20+ . . . +5* n
15. Disear el algoritmo que encuentre (muestre) los
nmeros pares que hay entre 100 y 1000.
16. Disear el algoritmo que calcule la suma de los
pares que hay entre dos nmeros dados.
17. Calcular los pagos mensuales de una hipoteca y el
total a pagar. El programa debe solicitar el capital, el
inters anual y el nmero de aos y debe escribir la
cuota a pagar mensualmente. Para calcular la cuota
se utiliza la siguiente frmula: Sea C el capital del
prstamo, R la tasa de inters mensual y N el nmero
de pagos. La cuota mensual viene dada por:

Y el inters mensual ser: inters anual / 100 /12


18. Cifrado de datos: dado un nmero de cuatro dgitos
se reemplazar cada dgito por (dgito +7) mdulo
10. A continuacin se intercambiar el primer dgito
por el tercero y el segundo por el cuarto, y ese ser
el nmero cifrado. Nota: obtener el cociente
mediante diferencias sucesivas.
19. Desarrolle el algoritmo de la biseccin para el
clculo de la siguiente ecuacin no lineal.
f ( x) sen( x ) cos(1 x 2 ) 1

Se debe ingresar los valores de a, b, iteracin


mxima y un error mnimo
Para calcular el error relativo porcentual y comparar
con el error mnimo, se calcula con la siguiente
formula.

erp

xi 1 xi
x100
xi 1

20. Del algoritmo del ejercicio 20 remplazar el paso 1


por la siguiente formular

c b

f (b)(a b)
f (a) f (b)

A este algoritmo se le llama falsa posicin


21. Desarrolle el algoritmo del trapecio que consiste en
la siguiente formula.
n 1

I (b a )

f ( xa ) 2 f ( xi ) f ( xb )
i 1

2n

Donde los valores de a y b es el intervalo de la


integral definida y n es el nmero de segmentos.
Utilizar la siguiente funcin, para verificar los
resultados.
F(X) = 0.2 + 25 X - 200 X 2 + 675 X3 - 900 X4 + 400
X5
22. Elabore el algoritmo de integracin numrica de
Simpson 1/3 que consiste de la siguiente formula
n1

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 )

Donde los valores de a y b es el intervalo de la


integral definida y n es el nmero de segmentos
pares.
23. Elabore el algoritmo de integracin numrica de
Simpson 3/8 que consiste de la siguiente formula
n 1

I (b a )

f ( xa ) 3 f ( xi ) f ( xb )
i 1

8n

Donde los valores de a y b es el intervalo de la


integral definida y n es el nmero de segmentos
impares.
24. Desarrollar un algoritmo para Aproximar la siguiente
funcin y = seno(x)

25. Desarrollar un algoritmo para Aproximar la siguiente


funcin y = coseno(x)

26. Desarrollar un algoritmo para Aproximar la siguiente


funcin y = ex

27. Desarrollar un algoritmo para Aproximar la siguiente


funcin y = ln(1+x)

28. Dado n>0 hallar la suma


n
1
s
k 1 k
n

1
k 1 ak

29. Se desea calcular la suma


siendo los
valores ak los elementos de la sucesin dada por a k=
ak-1+ ak-2, para k > 2, con a 1=1 y a2=1. El limite n ha
de leerse del teclado y se supone mayor que dos.
n
1
s m
k 1 k
30. Se desea calcular la suma
, siendo m y n
dos nmeros enteros positivos que se suponen
dados.
31. Escriba los n primeros trminos de la sucesin dada
1
an (1 )n
n
por
, siendo n un numero entero positivo
dado.
32. Escribir un programa que imprima las n primeras
lneas de pascal (n se ingresa por teclado)
1
11
121
1331
14641
33. Escribir un programa que encuentre el logaritmo en
cualquier base de un numero positivo x. la base y el
nmero, lo ingresara el usuario y el programa debe
continuar hasta que se ingrese un valor 0
log a ( x)
log10 ( x)
log a (b)
34. Dado un numero entero x mayor que uno se ha de
escribir un uno si es primo y un cero en caso
contrario. Para ello ha de comprobar si x es divisible
por algn entero en el intervalo (1, x).
35. Dado un numero entero mayor que uno se ha de
escribir la lista de sus divisores comprendidos en el
intervalo (1, x).
36. Dado dos nmeros enteros positivos p y q escriba
un algoritmo que permita hallar el mximo comn
divisor de los mismos
37. Calcule e imprima los nmeros primos entre 1 y 100

38. Mostrar los N primeros trminos de la siguiente


serie, donde N debe estar entre 5 y 30
5, 7, 10, 14, 19
39. Mostrar los N primeros trminos de la siguiente
serie, indicando adems la suma de los mismos.
7, 9, 12, 16, 21
40. Determinar la cantidad de trminos que son
mltiplos de 3 en los 200 primeros trminos de la
siguiente serie
6, 8, 10, 12, 14
41. Contar y sumar los nmeros enteros positivos ledos
por teclado. Se termina cuando se ingresa un nmero
negativo.
42. Sume los nmeros del 1 al 200 menos los mltiplos
de 5.
43. Calcule la suma y el producto de los nmeros
impares comprendidos entre 11 y 111. Resolver con
tres estructuras distintas.
44. Calcule el MCD (Mximo Comn Divisor) de dos
nmeros A y B de acuerdo con el algoritmo de
Euclides.
45. Imprima las tablas de multiplicar desde P hasta Q,
siendo P y Q dos valores ingresados por el teclado, tal
que P<=0 cada tabla debe tener el multiplicador
desde 1 hasta 12.
46. Imprima los nmeros de Fibonacci menores que
1500. Los nmeros de Fibonacci se calcula como la
suma de los 2 anteriores: 0, 1, 1, 2, 3, 5, 8, 13,
47. Imprima los 50 primeros nmeros mltiplos de 3
anteriores al 500 y la suma total de estos 50
primeros nmeros.
48. Calcule e imprima el nmero de trminos necesarios
para que el valor de la siguiente. Sumatoria se
aproxime lo ms cercanamente a 1000 sin que lo
exceda.
7
k 2 1

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

de $20000 ser depreciado durante un periodo de 5


aos,
la
suma
de
los
dgitos
del
ao:
1+2+3+4+5=15. De acuerdo con el mtodo el
primer ao el bien se deprecia 5/15, el segundo 4/15
y as sucesivamente.
y 2 x 2 18
52.
La esquina de un rectngulo debe estar
sobre la curva elabore el algoritmo que determine las
coordenadas de la esquina del mayor rectngulo
posible (imprima las coordenadas (x, y) y el rea
mxima).
53. Disee un algoritmo que permita descubrir si dos
enteros positivos son primos entre s, es decir si su
mximo comn divisor es uno.
54. Permita ingresar las coordenadas (x, y) de un punto
y el radio R, de un circulo con centro en el origen.
Luego de evaluar se debe decir si el punto esta fuera,
dentro o sobre el circulo
55. Dada una hoja de cartn de ancho (A) y largo (L). si
se recortan cuadrados de las esquinas, la porcin
restante puede doblarse para formar una caja.
Determnese el tamao de los recortes de los
cuadrados para producir una caja de volumen
mximo (imprimase el volumen mximo).
56. Permita ingresar cuatro valores reales, los primeros
tres son longitud, ancho y altura (en centmetros) de
un prisma rectangular. El cuarto valor real es el peso
( en gramos) del prisma. Escriba un programa para
calcular e imprimir la densidad de este objeto.
57. Desarrollar el algoritmo de runge kutta 4to orden
para dar una solucin aproximada de una ecuacin
diferencial de 1er orden con los siguientes pasos
1 Definiendo un problema de valor inicial como:
2 calculando los K

3 calculando el valor de la iteracin i+1

Ingrese como dato el error mnimo y comprelo con


error relativo porcentual.

58. Escribir un algoritmo que permita ingresar un entero


n y que imprima si se trata o no de un nmero
capica
59. Escriba un algoritmo que lea un nmero entero por
teclado y escriba la tabla de multiplicar de ese
nmero
60. Calcular la suma de las siguientes series:
61.

Donde n es un nmero entero introducido por teclado.

62. Realice un algoritmo que calcule y visualice el ms


grade, el ms pequeo y la media de n nmeros
(n>0). El valor de n se solicitar al principio del
programa y los nmeros sern introducidos por el
usuario.
63.
64. Realice un programa que determine si un nmero
ledo del teclado es primo o no
65. Un nmero perfecto es un entero positivo, que es igual a
la suma de todos los enteros positivos (excluido l mismo)
que son divisores del nmero. El primer nmero perfecto
es 6, ya que los divisores de 6 son 1, 2, 3 y 1 + 2 + 3 = 6.
Escriba un programa que lea un nmero entero positivo n
y muestre por pantalla si ese nmero es o no perfecto.
66. Realizar un programa que simule un juego de adivinar un
nmero. El programa pedir al usuario dos nmeros que
representan el rango de valores entre los que se
encuentra el nmero a adivinar, as como el nmero de
intentos para adivinar el nmero. A continuacin el
programa generar un nmero aleatorio entre esos dos
nmeros y el usuario deber adivinarlo en el nmero
mximo de intentos antes indicado. Cada vez que el
jugador introduce un nmero el programa le dice si es
mayor o menor y le indica cuantos intentos le quedan.
(Pista: (x + rand( ) % y) genera un numero aleatorio en el
rango [x , y1+x]).
67. . Realice un programa que pregunte aleatoriamente la
tabla de multiplicar. El
programa debe indicar si la
respuesta ha sido correcta o no (en caso que la respuesta
sea incorrecta el programa debe indicar cul es la
correcta). Una vez preguntado por una multiplicacin el
programa debe preguntar si desea realizar otra. En caso

afirmativo preguntar aleatoriamente otra multiplicacin.


En caso negativo el programa finalizar.
68.
69. Modificar el ejercicio anterior de modo que el programa
pregunta aleatoriamente un total de n multiplicaciones
siendo n un nmero dado por teclado. En cada
multiplicacin el programa debe indicar si se ha acertado
o no. Al final del programa, ste deber mostrar un
resumen indicando el nmero de respuestas correctas y
errneas, as como el porcentaje de aciertos y de fallos
70. Escribir un algoritmo que calcule la suma de los nmeros
enteros de n a m (m>n).
71. Implementar un algoritmo que calcule el producto de dos
nmeros enteros (n*m) haciendo slo sumas.
72. Disear una funcin que calcule el cociente y resto de la
divisin entera
de dos nmeros mediante restas y sumas.
73. Escribir una funcin que calcule el cuadrado de un
nmero haciendo slo sumas. Ayuda: el cuadrado de un
nmero n es la suma de la n primeros nmeros impares.
Ejemplo: 32=1+3+5=9
74. Escribir un algoritmo que convierta un nmero entero en
otro nmero entero que ser el primero pero con las cifras
que lo forman escritas al revs
75. Escriba un algoritmo permita ingresar 2 enteros positivos
e imprima sus divisores comunes
76. Suponga que se piden X Nuevos Soles prestados a un
banco, con el acuerdo de devolver Y bolvares cada mes
hasta devolver el prstamo completo. Parte del pago
mensual sern intereses, calculados como el i por ciento
del capital por devolver en ese momento. El resto del
pago mensual se aplica a reducir el capital a devolver. El
programa debe determinar:
a.- La cantidad de intereses pagada cada mes.
b.- La cantidad de dinero aplicada cada mes al capital
por devolver
c.- La cantidad acumulada de intereses pagados al final
de cada mes.
d.- La cantidad del prstamo an pendiente al final de
cada mes.
e.- El nmero necesario de pagos mensuales para
devolver el prstamo completo.
f.- La cantidad del ltimo pago (probablemente menor
que Y)
Compruebe el programa usando los siguientes datos: X =
7.200.000, Y = 360.000, i= 1%

77. Un nmero primo es una cantidad entera positiva


nicamente divisible por uno o por s mismo. Calcular y
tabular los n primeros nmeros primos.
78. Por un canal trapezoidal fluye agua a una tasa de Q=20
m3/s. la profundidad crtica y, para dicho canal satisface
la ecuacin

Q2
0 1 3 B
gAc

Donde g = 9.81 m2/s, Ac=rea de la seccin transversal


(m2) y B ancho del canal en la superficie (m). Para este
caso, el ancho y el rea de la seccin transversal se
relacionan con la profundidad y por medio de

B 3 y

y2
Ac 3 y
2

Resuelva para la profundidad crtica con el uso del


algoritmo de la secante, haga elecciones iniciales de a =
0.5 y b = 2.5 y ejecute iteraciones hasta que el error
aproximado caiga por debajo del 1% o el nmero de
iteraciones supere a 10.

El mtodo de la secante consiste en la siguiente formula

xi 1 xi

f ( xi )( xi 1 xi )
f ( xi1 ) f ( xi )

Donde Xi-1, y Xi son valores iniciales de una ecuacin.

79. Se est diseando un tanque esfrico para almacenar


agua para un poblado pequeo en un pas en desarrollo.
El volumen de lquido que puede conocer se calcula con

V h3

(3R h)
3

Donde V= volumen (m3), h = profundidad del agua en el


tanque (m) y R =radio del tanque (m)
Si R = 3m a qu profundidad debe llenarse el tanque de
modo que contenga 30 m3? Haga tres iteraciones con el
mtodo de newton Raphson a fin de obtener la respuesta.
Determine el error despus de cada iteracin.
Este mtodo de Newton Raphson consiste de la siguiente
formula.

xi1 xi

f ( xi )
f '( xi )

Donde Xi es el valor inicial de la ecuacin.


80. Evalu e-5, con el uso de dos mtodos.

x 2 x3
1 x ...
2! 3!

e x

ex

1
x 2 x3
1 x ...
2! 3!

Comprelo con el valor verdadero de 6.737947x 10 -3.


Utilice 20 trminos para evaluar cada serie y calcule los
errores relativos por cada mtodo

erp

valor _ verdadero valor _ metodo


x100
valor _ verdadero

81. Desarrolle el algoritmo para hallar el valor de un


polinomio por la serie de Taylor

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!

Tomando como tamao de paso h

f ( xi 1 ) f ( xi ) hf ( xi ) h 2

f ( xi )
f ( xi )
h3
...
2!
3!

Quedando la funcin de truncamiento

Trunque la serie hasta la tercera derivada

Solucin de algunos ejercicios Propuestos


Ejercicio 21
Inicio
Leer a,b,e
Fa sen(a)+cos(1+a^2)-1
Fb sen(b)+cos(1+b^2)-1
Si fa*fb <0 entonces
Repetir
c(b+a)/2
Fc sen(c)+cos(1+c^2)-1

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

Recursividad indirecta: cuando se tienen varias subrutinas y


estas se llaman unas a otras formado ciclos.
La recursividad es un elemento muy importante en la solucin
de algunos problemas
Ventajas
Algunos problemas son esencialmente recursivos, por lo cual
su implementacin se facilita mediante un algoritmo de
naturaleza recursiva, sin tener que cambiarlo a un mtodo
iterativo.
Desventajas
Puede llegar a utilizar grandes cantidades de memoria en un
instante, pues implementa una pila
cuyo tamao crece
linealmente, con el nmero de recursiones necesarias en el
algoritmo
Ejemplo
Calcular factorial de un nmero n
Funcin factorial (n)
Inicio
Si n = 0 entonces
Factorial 1
Sino
Factorial n* factorial(n-1)
Fin si
Fin
Inicio
Leer n
Fact factorial(n)
Escribir el factorial de n es, fact
Fin
Ejercicios
1. Disear un algoritmo que calcule el mximo comn divisor
de dos nmeros mediante el algoritmo de Euclides con el
siguiente procedimiento
a. Dividir el nmero mayor (A) por el menor (B). Si el resto
de la divisin es cero el numero B es el mximo comn
divisor
b. Si la divisin no es exacta, se divide el nmero menor
(B) por el resto de la divisin anterior
c. Se siguen los pasos anteriores hasta obtener un resto
cero. El ltimo divisor es el mcd buscado
2. Para calcular el mximo comn divisor (mcd) de dos
nmeros, se recurre a una funcin especfica definida con
un programa con un subprograma. Se desea calcular la
salida del programa principal con dos nmeros A y B, cuyos

8.

valores son 15 y 10, es decir, el mcd (A, B) y comprobar el


mtodo de paso de parmetros por valor
Realizar un algoritmo que permita ordenar tres nmeros
mediante un procedimiento de
intercambios de dos
variables
Disear una funcin que calcule la media de tres nmeros
ledos del teclado y poner un ejemplo de su aplicacin
Realizar un procedimiento que realice la conversin de
coordenadas polares (r, ) a coordenadas cartesianas (x, y)
X = rcos()
Y = rseno()
Funcin que calcule xy, con x R, y suponiendo que y es un
valor entero y > 0
Funcin que calcule xy, con x R, y suponiendo que y es un
valor entero que puede ser positivo, negativo o cero
m
n

Funcin que calcule
, siendo m y n dos enteros positivos.

9.

Puede hacer uso de las funciones que haya realizado con


anterioridad para calcular el factorial.
Funcin que calcule la suma de las componentes de un vector.

3.

4.
5.

6.
7.

ah
n
h 1 h
n

10.

Funcin para calcular la suma


n

11.
12.

13.

14.
15.
16.

, siendo a un vector
y siendo n > 0, entero otro

dado como argumento, a R


argumento.
Funcin para calcular el producto escalar de dos vectores v Rn
y w Rn, suponiendo n > 0 entero.
Funcin Evapol(), que evalu el polinomio A(x) =a 1xn+ +
anx1+ an+1x0, dado el grado del polinomio n 0 entero, el vector
de coeficientes a =( a1, , an+1) y el valor x. Puede hacer uso de
las funciones que haya realizado con anterioridad para calcular
las potencias.
Funcin que calcule el vector de coeficientes de un polinomio C
suma de otros dos (A y B). La funcin ha de recibir los grados na,
nb y los vectores de coeficientes vA = (a1,, ana+1) y vB = b1,
,bnb+1, de cada uno de los dos polinomios sumados. La funcin
devolver el grado y el vector de coeficientes del polinomio suma
C = A+B.
Elaborar el algoritmo que permita leer un nmero y que utilice un
procedimiento recursivo que invierta los dgitos del nmero.

Elaborar el algoritmo que calcule en forma recursiva los


factores primos de un nmero.
Elaborar el algoritmo que describa los movimientos que
deben realizarse para trasladar a la torre C todos los discos

17.

16.

de diferentes tamaos colocados en forma ordenada en una


torre A.
Para efectuar esta tarea se dan las siguientes reglas:
a) Se puede emplear una torre auxiliar B
b) Se debe mover un disco cada vez
c) No se puede mover un disco de tamao menor sobre un
disco de tamao mayor.
de

Estructuras de Datos

Una estructura de datos es una coleccin de datos que pueden ser


caracterizados por su organizacin y las operaciones que se
definen en ella. La estructuras d datos son muy importantes en los
sistemas de computadoras. Los tipos de datos ms frecuentes
utilizados en los diferentes lenguajes de programacin
son(Aguilar, 1988)

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.

Arreglos unidimensionales (array)

Es un conjunto finito y ordenado de elementos homogneos.


La propiedad ordenada significa que el elemento primero,
segundo, tercero de un Arreglo puede ser identificado. Los
elementos de un arreglo son homogneos, es decir del mismo
tipo de datos (Aguilar, 1988)
El tipo ms simple de arreglo es el arreglo unidimensional o vector
(matriz de una dimensin) a continuacin la representacin de

un vector
i

Subndice

A(i)
1
2
3
4
5
6
7
8

El subndice o ndice de un elemento(1, 2, ..,n) designa su


posicin en la ordenacin del vector
Declaracin de un arreglo
Nombre arreglo = arreglo [liminf . . . limsup] de tipo de dato
Donde
Nombre arreglo: nombre valido del arreglo
Liminf . . . limsup :lmite inferior y superior del rango del
arreglo
Tipo de dato: es el tipo d datos de los elementos del
arreglo, puede ser entero, carcter, real,
Asignacin a un arreglo
A (1) 10 se asigna el valor 10 a la posicin 1 del vector A
A (5) 20 se asigna el valor 20 a la posicin 5 del vector
A
Lectura y escritura de datos
La lectura y escritura de un arreglo u operaciones de entrada
y salida normalmente se realizan con estructuras repetitivas.
Final = arreglo [1.. 20] de real
// Lectura
Desde i = 1 hasta 20 hacer
Leer final (i)

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:

Llamado tambin clasificacin, es el proceso de organizar


datos en algn orden o secuencia especfica tal como
creciente o decreciente para datos
numricos o
alfanumricos para datos de caracteres. Los mtodos de
ordenacin se dividen en dos categoras:
Ordenacin de vectores, tablas (arrays)
Ordenacin de archivos
Los mtodos de clasificacin se explicaran aplicados a
vectores (arrays unidimensionales) pero se
pueden
extender a matrices o tablas (arrays bidimensionales)
considerando la ordenacin respecto a una fila o columna
los mtodos directos son los que se realizan en el espacio
ocupado por el array. Los ms populares son:
Mtodo de intercambio o burbuja
Mtodo de Seleccin
Mtodo de Insercin
Mtodo de intercambio o de Burbuja
Se basa en el principio de comparar pares de elementos
adyacentes e intercambiarlos entre s, de una lista o
vector hasta que estn todos ordenados.
50
15
A(1)
A(2)
Los pasos a dar son:

56
A(3)

14
A(4)

35
A(5)

1
A(6)

12
A(7)

Comparar A (1) y A (2), si estn en orden, se


mantienen como estn, en caso contrario
se
intercambian entre s.
A continuacin se comparan los elementos 2 y 3; de
nuevo se intercambian si es necesario.
El proceso continua hasta que cada elemento del
vector
ha sido comparado con sus elementos
adyacentes y se han realizado los intercambios
necesarios
Algoritmo:
Desde i 1 hasta n-1 hacer {este representa el numero
pasadas}
Desde j 1 hasta n-1 hacer {este representa nmero de
comparaciones}

9
A(8)

Si A[ j ] > A [j+1] entonces


AuxA[j]
A[j] A [j+1]
A [j+1] Aux
Fin si
Fin desde j
Fin desde i
Mtodo de Seleccin
El algoritmo de ordenacin por seleccin de una lista
vector de n elementos tiene los siguientes pasos.

Encontrar el elemento mayor de la lista


Intercambiar el elemento mayor con el elemento de
subndice n (o bien el elemento menor en el subndice
1)
A continuacin se busca el elemento mayor en la
sablista de subndices 1.. n-1 y se intercambia con el
elemento de subndice n-1, por consiguiente se sita
el segundo elemento mayor en la posicin n-1.
A continuacin se busca el elemento mayor en la
sablista 1..n-2 y as sucesivamente
Algoritmo
Funcin Posmayor (j,tabla)
Inicio
ndice_max 1
Desde ndice 2 hasta j hacer
Si tabla [ndice]> tabla [ndice_max] entonces
Indice_maxindice
Fin si
Posmayorindice_max
Fin desde i
Fin
Inicio {programa principal}
Desde j lmite hasta 2 hacer
Mayor Posmayor(j, tabla)
Aux Tabla [mayor]
Tabla [mayor] Tabla[j]
Tabla[j] Aux
Fin desde j
Fin
Mtodo se Insercin

El mtodo se basa en considerar una parte de la lista ya


ordenando y situar cada uno de los elementos restantes
insertndolo en el lugar que le corresponde por su valor
Algoritmo
Procedimiento desplazar (tabla, aux, k, nuevopos)
Inicio
Encontrado false
Mientras (k > 1) y (no encontrado) hacer
Si tabla [k-1] >aux entonces
Tabla [k] tabla [k - 1]
K k 1
Sino
Encontrado true
Fin si
Nuevapos k
Fin mientras
Fin
Inicio {programa principal}
Desde K 2 hasta N hacer
Aux tabla[k]
Desplazar (tabla, k, aux, nuevapos)
Tabla [nuevapos] aux
Fin desde k
Fin
Mtodo de Shell
Este mtodo es una mejora del mtodo de insercin directa
que se utiliza cuando el nmero de elementos a ordenar es
grande se suele denominar tambin ordenacin por
disminucin de incrementos.
Pasos
Se divide la lista original (16 elementos como
ejemplo)
en
este
caso
en
8
grupos
de
dos(considerando un incremento o intervalo de 16/2
=8)
Se clasifica cada grupo por separado (se comparan las
parejas de elementos y si no estn ordenados) se
intercambian entre s de posiciones)
Se divide ahora la lista en cuatro grupos d de cuatro
(intervalo de salto 8/4 = 4) y nuevamente se clasifica
cada grupo por separado.
Un tercer paso clasifica dos grupos de ocho registros y
luego un cuarto paso completa el trabajo clasificando
todos los 16 registros
Algoritmo
Inicio
Intervalo n div 2

Mientras (intervalo > 0) hacer


Desde i (intervalo - 1) hasta n hacer
j i intervalo
Mientras (j > 0) hacer
K i + intervalo
Si A[j] <= A[k] entonces
j 0
Sino {intercalar A[j], A[k]}
AuxA[j]
A[j] A[k]
A[k] aux
Fin si
j = j - intervalo
Fin mientras
Fin desde i
Intervalo intervalo div 2
Fin mientras
Fin
Mtodo de ordenacin rpida (ojo trabajo)
16.1.2.

Bsqueda

La bsqueda de informacin est relacionada con las tablas


para consulta. Estas tablas contienen una cantidad de
informacin que se almacena en forma de listas de parejas
de datos
Mtodo de bsqueda secuencial
Supongamos una lista de elementos almacenados en un
vector (array unidimensional). El mtodo ms sencillo de
buscar un elemento en un vector es explorar
secuencialmente el vector o dicho en otras palabras,
recorrer el vector desde el primer elemento hasta el ltimo.
Si se encuentra el elemento buscado visualizar un
mensaje similar fin de la bsqueda o elemento
encontrado, en casi contrario visualizar un mensaje similar
a elemento no encontrado (Aguilar, 1988).
Algoritmo 1
Inicio
Leer t
(Recorrido del vector)
Desde i 1 1 hasta n hacer
Si A[i] = t entonces
Escribir elemento encontrado
Fin si
Fin desde

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

Central ent((bajo + alto)/2)


Fin mientras
Si k = A[central] entonces
Escribir valor encontrado en, central
Sino
Escribir valor no encontrado
Fin si
Fin
Mtodo de busca por claves
La bsqueda binaria proporciona un medio para reducir el
tiempo requerido para buscar en una lista. Este mtodo,
sin embargo, exige que los datos estn ordenados. Por lo
que surge este mtodo para mejorar la velocidad de
bsqueda
sin estar ordenados. El mtodo de
transformacin de claves o hashing consiste en convertir la
clave dada (numrica o alfanumrica) en una direccin
(ndice) dentro del arreglo. La correspondencia entre claves
y la direccin en el medio de almacenamiento o en el
arreglo se establece por una funcin
de conversin
(funcin o hash). (Aguilar, 1988)
OJO Trabajo

16.1.3.

Mezcla o intercalacin

La intercalacin es el proceso de mezclar (intercalar) dos


vectores ordenados y producir uno nuevo vector ordenado
Algoritmo
Inicio
Leer A, B (A, B vectores de M y N elementos9
I1
J1
K1
Mientras i <= M y j <= N hacer
(seleccionar siguiente elemento de A o B y aadirlo en C)
Kk+1
Si A[i] < B[j] entonces
C[k] A[i]
i= i + 1
sino
C[k] B[j]
J j + 1

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:

Se puede considerar como un vector de vectores. Es por


consiguiente un conjunto de elementos, todos del mismo tipo
en el cual el orden de los componentes es significativo y en el
que se necesitan especificar dos subndices para poder
identificar a cada elemento del arreglo. (Aguilar, 1988).

Fila
Fila
Fila
Fila
Fila
Columna
Columna

Columna
Columna

Asignacin en una arreglo


Columna de dos dimensiones
A (1,2) 10 se asigna el valor 10 en la posicin i = 1 y j =
2 de arreglo bidimensional A
A (5,6) 20 se asigna el valor 20 a la posicin i = 5 y j = 6
del arreglo bidimensional A
Lectura y escritura de datos
La lectura y escritura de un arreglo u operaciones de entrada
y salida normalmente se realizan con estructuras repetitivas.

Final = arreglo [1.. 20; 1..10] de real


// Lectura
Desde i 1 hasta 20 hacer
Desde j 1 hasta 10 hacer
Leer final [i, j]
Fin desde j
Fin desde i
// Escritura
Desde i 1 hasta 20 hacer
Desde j 1 hasta 10 hacer
Escribir final [i, j]
Fin desde j
Fin desde i
Ejemplo 1
Inicializar una matriz de dos dimensiones con un valor
constante K
Algoritmo
Inicio
Desde i 1 hasta M hacer
Desde j 1 hasta N hacer
Q[i,j] K
Fin desde j
Fin desde i
fin
Ejemplo 2
Realiza la suma de dos matrices
Algoritmo
Inicio
Desde i 1 hasta m hacer
Desde j 1 hasta n hacer
S[i,j] Q[i,j] + B[i,j]
Fin desde j
Fin desde i
fin
Ejercicios
1. Leer las componentes de un vector de nmeros reales de
dimensin 10. Escribirlo luego en la pantalla.
2. Leer un entero n supuesto n >0 y un vector v R n x 1,
calcular y escribir el producto escalar m = v tv, m R,
donde vt simboliza el vector transpuesto de v.
3. Leer n (suponiendo que es entero y > 0). Leer a
continuacin la n componentes de un vector de nmeros

4.

5.
6.

7.

reales dimensin n. Calcular y escribir luego la media


aritmtica de sus componentes
Leer n (suponiendo que es entero y >0) y un vector de
dimensin n. Calcular y escribir la componente de mayor
valor y su ndice dentro del vector.
Leer n (suponiendo que es entero y mayor que dos).
Construir un vector v R n x 1 tal que vk = vk-1 / 3 + 0.5,
para k = 2,,n y siendo v1 = 1.
Leer n (suponiendo que es entero y mayor de dos).
Construir un vector v Rn x 1 , tal que sus componentes
sean los trminos de ls sucesin de Fibonacci.
Se han medido las longitudes de tornillos procedentes de
un mismo lote de fabricacin. Se han dispuesto en un
vector v de dimensin n>2. Se dispone de v y n. Disee
un algoritmo para calcular la media y varianza de las
var

1 n
(vk ) 2

n k 1

longitudes. La varianza se calcular como


Siendo la media aritmtica de las componentes de v.
8. Lectura / escritura de una matriz m x n. Se han de leer
del teclado las dimensiones m y n (suponga que son
nmeros enteros positivos). A continuacin se han de leer
los elementos akj de una matriz A de m filas y n columnas.
Finalmente se presentar en la pantalla la matriz leda.
9. Construir una matriz A R m x n cuyo elemento genrico akj
viene dado por akj = k2 j
10. Dada una matriz (se supone ya leda) A de dimensiones
m x n, se quiere anular (poner a cero) los elementos de su
diagonal principal y escribir la matriz resultante.
11. Traza de una matriz. Dada una matriz cuadrada A R n x
n
, dada siendo n > 0 un entero tambin dado se ha de
disear un algoritmo que permita obtener la traza de A
(suma de los elementos de la diagonal)
12. Suma de matrices. Dadas (suponga que ya han sido
ledas) dos matrices A R n x n y B R n x n, se quiere
calcular y escribir la matriz C obtenida como suma de las
anteriores c = A +B
13. Matriz traspuesta. Dada una matriz A R n x n, calcular su
traspuesta B= At
14. Submatriz triangular. Dada una matriz A R n x n, se
desea calcular otra matriz B R n x n cuyos elementos son
ceros excepto los de la submatriz triangular inferior que
son iguales a los elementos de igual posicin de A. Es
decir, los elementos que estn por debajo de la diagonal
principal de A se copian en B, el resto de elementos de B
valen cero. Se supone que tanto m como n son nmeros
enteros mayores que uno ya ledos.

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

y la media de la clase a partir de la entrada de las notas


desde un terminal
25.
Un avin dispone de 180 plazas de las cuales 60
son de no fumador y numeradas del 1 al 60 y 120 plazas
numeradas de 61 al 120. Disear un algoritmo que
permita hacer la reserva de plazas de avin y se detenga
media antes de la salida, cuyo momento se abrir la lista
de espera.
26.
Dada en una lista no ordenada de nmeros y un
nmero ledo por teclado:
a. Disear una solucin que busque en la lista el nmero
ledo. Si lo encuentra, debe informar de su posicin en la
lista, sino debe devolver la posicin cero.
b. Modificar el anterior para que devuelva el nmero de
veces que aparece.
c. Disear una solucin que busque el nmero mayor y
devuelva cuantas veces aparece.
d. Disear una solucin que devuelva Verdadero si el
nmero ledo, aparece ms veces que el mayor.
e. Disear una solucin que calcule la media de todos los
nmeros.
f. Disear una solucin que calcule la media entre el
mayor y el menor.
g. Disear una solucin que cree una lista inversa a la
dada. Es decir, que genere una nueva lista tal que su
primer elemento sea el ltimo de la lista inicial, su
segundo elemento sea el penltimo de la lista inicial,
etc., etc., etc.
27.
Dadas 3 listas de 10 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 de cada
una de las categoras considerando los costes siguientes:
llamada local, 5pesetas por paso, llamada nacional 10
pesetas por paso y llamada internacional50 pesetas por
paso. Construir un programa que lee los datos de entrada
desde el teclado e imprima los resultados finales por
pantalla.
28.
Juego del Rojo-amarillo-verde. El programa genera
tres dgitos aleatorios distintos entre 0 y 9. A estos dgitos
se les asignan las posiciones 1, 2 y 3. El objetivo del juego
es adivinar los dgitos as como sus posiciones correctas
en el menor nmero de intentos posibles. Para cada
intento, el jugador proporciona tres dgitos para las

posiciones 1, 2, y 3. El programa responde con una pista


que consta de rojo, amarillo y verde. Si un dgito
adivinado est en la posicin correcta la respuesta es
verde. Si el digito adivinado est en posicin incorrecta, la
respuesta es amarillo. Si el dgito para una posicin dada
no coincide con ninguno de los tres dgitos, la respuesta
es rojo. Ejemplo: dgitos 6,5,8 en las posiciones 1,2,3

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

Utilizar el Criterio de Hurwicz: Es un criterio intermedio


entre maximin y el maximax: Supone la combinacin de
ponderaciones de optimismo y pesimismo. Sugiere la
definicin del llamado coeficiente de optimismo (), y
propone que se utilice como criterio de decisin una
media ponderada entre el mximo resultado asociado a
cada alternativa, y el mnimo resultado asociado a la
misma.

max max v(ai , j ) (1 ) min v( ai , j )


ai

Para el optimista

min min v(ai , j ) (1 ) max v(ai , j )


ai

Para el pesimista

Para hallar la solucin ptima se marca el mximo y el


mnimo de cada alternativa. Segn el coeficiente de
optimismo del decidor (), se multiplica el mximo por
ste y el mnimo se multiplica por (1-). Luego se suman
los dos. Luego elegimos el mximo entre todas las
alternativas. En nuestro ejemplo, si suponemos que el
empresario es neutral =0,5
30.
Escriba un algoritmo que busque el valor mximo de
los elementos de un vector de N nmeros reales, donde N
es una constante a la que le daremos un valor cualquiera.
El algoritmo debe escribir por pantalla el valor mximo.
Supongamos que:
31.
Lea una matriz de N x M (variables) e indique luego
,
Cuantos elementos positivos contiene la matriz
Cuantos elementos pares y positivos contiene
Cul es el mayor elemento que contiene la matriz y
cuantas veces figura.
32.
Crear una matriz
de dimensiones variables
y
llenarlas de unos e imprimirla
33.
Crear a una matriz N x N , cuya diagonal principal
(i = j) est formada por unos y el resto por ceros
34.
Crear una matriz de 5 x 5 donde cada elemento de
esta corresponda a la suma de los ndices de la fila con
la columna (i + j)
35.
Su ponga que ya ha sido leda una matriz de 9 x 5,
se le pide que encuentre el nmero de elementos pares
que contiene la matriz. Luego imprima la matriz completa
36.
Lea una matriz de dimensiones 5 x 5 y luego
entregue:
El promedio de los elementos de la segunda fila de la
matriz
La suma de elementos de la cuarta columna de la matriz
37.
Dado un vector v de dimensin n cuyas
componentes son todas positivas o cero se desea
reordenar sus componentes de mayor a menor por
ejemplo, si
V = [2 3 8 5 4]
El resultado ha de ser un nuevo vector
w= [8 5 4 3 2]
38. Repetir el ejercicio anterior pero sin usar un vector
auxiliar como w. el resultado que se pretende conseguir es
que el propio vector v tenga sus componentes ordenadas(
emplear todos los mtodos de ordenacin)

39. Igual que el anterior pero suponiendo que v contiene


cantidades positivas y negativas, por ejemplo
V=[-7 3 8 -9 5 4 0 -1]
Ha de dar como resultado el propio vector reordenado as:
V= [8 5 4 3 2 -1 -7 -9]
40. Un fabricante de automviles dispone de un modelo de
vehculo en cinco colores. Para saber la aceptacin de
cada color realiza una encuesta usando un programa en
su ordenador. El programa ha de ayudarle a contar los
votos de los encuestados. El encuestador tecleara el
nmero del color elegido (de uno a cinco) cada vez que
pregunte a una persona nueva. Cuando
no quiera
preguntar a nadie ms introducir el valor -1. En ese
momento el programa le indicara el nmero de votos que
cada color ha obtenido. Posteriormente se han de ordenar
los colores segn los resultados de la votacin.
41. Se desea calcular la mediana de los valores contenidos
en un vector T Rn. si n es impar la mediana es el valor
central del vector ordenado, en caso contrario la mediana
es la media de los dos elementos que estn ms al centro.
En ambos casos el paso previo para calcular la mediana
es ordenar el vector. Un ejemplo con n par es T = [10 23
11 15]. La ordenacin produce T = [23 15 11 10] y la
mediana es (15 + 11)/2 = 13. Un ejemplo con n impar es
T = [11.8 12 28 11.5 14], en este caso la ordenacin
produce un nuevo vector T = [11.5 11.8 12 14 28], de
donde se obtiene la mediana que es el valor central 12.
Puede comprobar con lo ejemplos anteriores que la
mediana no coincide con la media aritmtica.
42.
Multiplicacin de matrices. Suponga ya leidas A R
mxn
y B R n x p, calcule C=A*B.
43.
Matriz al cubo. Disee un algoritmo que permita
obtener B = A3, siendo A R n x n una matriz cuadrada que
se supone ya leida.
44.
Exponenciacin de matrices. Disee un algoritmo
que permita obtener B = Ap, siendo A R n x n, una matriz
dada y p >0 un entero tambin dado.
45.
Dados dos enteros positivos m y n se desea
construir la matriz S R m x n, cuyo elemento genrico
n

1
j
k 1 h

skj

viene dado por


46.
La cantidad de un cierto isotopo radioactivo
presente en una mezcla varia con el tiempo pues el

isotopo se descompone emitiendo radiacin. Se denota


mediante y(k) la cantidad en gramos de isotopo en el
instante de tiempo t = k medido en aos unos cientficos
han descubierto que se cumple que y(k) = 0.99*y(k-1). Si
un barril de desechos radioactivos contiene 1000 gramos
de isotopo Cul ser la cantidad de isotopo presente al
cabo de 500 aos?
47.
La velocidad de un paracaidista en su descenso al
suelo una vez que ha abierto el paracadas se denota
mediante v(k) (m/s), siendo k el tiempo que lleva cayendo
medido en segundos, k > 1. Se ha especulado con la idea
de que dicha velocidad sigue la ley: v(k) = v(k-1) + 10 0.4*(v(k-1))2. Sabiendo que una cada tpica puede durar 5
minutos y que el paracadas se suele abrir con una
velocidad de 100 Km/h con que velocidad llega al suelo?
48.
Se sabe que la cantidad de bacterias de cierta
especie en un cultivo es x(k) = 1.1*x(k-1), siendo k el
tiempo medido en horas, k >1. Si al cabo de la primera
hora x(1) se contabilizaron 100 unidades Cuntas habr
al cabo de un da?
49.
Dados
los
arrays
lineales
ABC(-5:15);
EJM(1935:1994);PQR(45)
Se pide calcular el nmero de elementos de cada array
50.
Dados los array multidimensionales:
X(-5:5;3:33) y Y(3:10;1:15;10:20)
Se pide calcular la longitud de cada dimensin y el
nmero de elementos de X e Y
51.
Un arreglo estrictamente triangular inferior A es un
arreglo de n x n, en el cual a[i, j] 0, si i<=j,
Cul es el mximo nmero de elementos no iguales a
cero en tal arreglo?
Cmo pueden almacenarse secuencialmente estos
elementos en la memoria?
Desarrolle un algoritmos para accesar A[i, j] donde i>=j?
52.
La empresa ACME S.A. ha asignado un cdigo a
cada uno de sus obreros. El cdigo est formado por 5
caracteres y tienen la siguiente estructura:
XX-Y-ZZ
Donde
XX= especialidad
Y=categora
ZZ=numero (0 - 90)
Especialidad
CO=Construccin
CA=Carpintera
IS=Instalaciones

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

También podría gustarte