Professional Documents
Culture Documents
Programacin Bsica
1.1 Algoritmo
Un algoritmo es un conjunto ordenado y finito de instrucciones que conducen a la solucin de
un problema. En la vida cotidiana ejecutamos constantemente algoritmos. Por ejemplo, al
instalar un equipo de sonido ejecutamos las instrucciones contenidas en el manual del equipo,
este conjunto de instrucciones constituyen un algoritmo. Otro caso de algoritmo es el algoritmo
matemtico de Euclides para la obtencin del mximo comn divisor de dos nmeros.
Si un algoritmo puede ser ejecutado por una computadora, se dice que es un algoritmo
computacional o computable; en caso contrario, se dice que es un algoritmo no
computacional o no computable. Segn esto, el algoritmo de Euclides es un algoritmo
computacional; pero el algoritmo para instalar el equipo de sonido es un algoritmo no
computacional. Para que un algoritmo pueda ser ejecutado por una computadora se necesita
expresar el algoritmo en instrucciones comprensibles por la computadora, para esto se requiere
de un determinado lenguaje de programacin. Al algoritmo expresado en un determinado
lenguaje de programacin, se denomina programa. Puesto de otra manera, podemos decir
que, un programa es la implementacin o expresin de un algoritmo en un determinado
lenguaje de programacin siguiendo las reglas establecidas por el lenguaje elegido. En la
Figura 2.1 que sigue se muestra la relacin entre problema, algoritmo y programa.
Entrada de datos.
Proceso.
Salida de resultados.
Entradas :
- 1 kilo de albacora
- 3 camotes sancochados
1
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
Proceso :
- Cortar la carne de pescado en pequeos trozos.
- Mezclar la carne con el jugo de limn, el ajo, la pimienta,
el culantro, el aj amarillo y el apio.
- Dejar reposar 30 minutos.
- Agregar sal al gusto y echar las cebollas cortadas.
- Servir acompaando el cebiche con el camote sancochado y el
rocote en rodajas
Salida :
El ceviche
Ejemplo 1.2:- Algoritmo para expresar en centmetros y pulgadas una cantidad dada en
metros.
Entrada:
La cantidad M de metros
Proceso:
Clculo de centmetros : C = M*100
Clculo de pulgadas : P = C/2.54
Salida :
La cantidad C de centmetros y la cantidad P de pulgadas
1.2 El Pseudocdigo
El pseudocdigo es un lenguaje de pseudoprogramacin utilizado para escribir algoritmos
computacionales. Como lenguaje de pseudoprogramacin, el pseudocdigo es una imitacin
de uno o ms lenguajes de programacin. De esta manera podemos encontrar pseudocdigos
orientados a lenguajes de programacin como Pascal, Java, C, C++, etc. En el caso de este
curso orientaremos los pseudocdigos a los lenguajes Java, C y C++. El objetivo del
pseudocdigo es permitir que el programador se centre en los aspectos lgicos de la solucin,
evitando las reglas de sintxis de los lenguajes de programacin. No siendo el pseudocdigo
un lenguaje formal, los pseudocdigos varan de un programador a otro, es decir, no hay un
pseudocdigo estndar.
1.3 Variables
Una variable es una localizacin o casillero en la memoria principal que almacena un valor que
puede cambiar en el transcurso de la ejecucin del programa. Cuando un programa necesita
almacenar un dato, necesita una variable. Toda variable tiene un nombre, un tipo de dato y un
2
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
valor. Antes de poder utilizar una variable es necesario declararla especificando su nombre y
su tipo de dato. Para declarar variables usaremos los siguientes formatos:
tipo nombre
Donde:
nombre1, nombre2, ..., Nombres de las variables . El nombre de una variable debe
nombren comenzar con una letra, un smbolo de subrayado o un smbolo
de dlar. Los dems caractres del nombre puede ser letras,
nmeros, smbolos de subrayado o smbolo de dlar. Debe
considerarse tambin que una letra mayscula se considera
diferente de una letra minscula.
ENTERO edad
REAL descuento
Esto crea los casilleros de memoria edad y descuento. Luego de la creacin, las variables
estn indefinidas ( ? ).
edad ?
descuento ?
La siguiente instruccin declara las variables nota1, nota2 y nota3, todas
de tipo ENTERO.
Esto crea los casilleros de memoria nota1, nota2 y nota3. Luego de la creacin, las variables
estn indefinidas ( ? ).
nota1 ?
nota2 ?
nota3 ?
3
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
Literales enteros
Literales reales
verdadero, falso
1.5.1 Entrada
LEER variable
LEER estatura
Solicita el ingreso de un valor, desde algn dispositivo de entrada (como el teclado), para la
variable estatura.
1.5.2 Salida
IMPRIMIR variable
IMPRIMIR importeCompra
4
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
1.5.3 Asignacin
Consiste en asignar a una variable el valor de una expresin. La expresin puede ser una
simple variable, un simple literal o una combinacin de variables, literales y operadores. La
asignacin se expresa en el pseudocdigo de la siguiente forma:
variable = expresin
Cuando se asigna un valor ENTERO a una variable REAL, entonces el valor ENTERO se
convertir en REAL antes de almacenarse. As, al asignar el valor ENTERO 25 a una variable
REAL, se almacenar 25.0.
Ejemplo 1.4:- Algoritmo para expresar en centmetros y pulgadas una cantidad dada en
metros.
Esta es una solucin en pseudocdigo del ejemplo 1.2 utilizando conceptos computacionales
de variable, entrada de datos y salida de resultados. La solucin considera que 1 metro = 100
centmetros y que 1 pulgada = 2.54 centmetros.
INICIO
// Declara las variables M, C y P
REAL M, C, P
En la tabla que sigue se muestran los operadores aritmticos que vamos a utilizar.
5
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
+ Suma a+b
- Resta a-b
* Multiplicacin a*b
/ Divisin real a/b
Div Divisin entera A div b
%(mod) Residuo o resto a%b
SQR Raiz cuadrada SQR(a)
^, ** Exponenciacin A ^ b
Los operadores aritmticos pueden utilizarse con tipos enteros y reales. Si en una operacin
con dos operandos, ambos operandos son enteros, el resultado es un entero; si alguno de ellos
es real, el resultado es real. As, 15 div 4 es 3 y no 3.75; en cambio, 15.0/4 es 3.75.
Solucin
e = a/b/c
Como todos los operadores tienen la misma jerarqua, la evaluacin ser de izquierda a
derecha:
Note que el orden de ejecucin esta de acuerdo con la expresin algebraica, por lo que no se
requiere ninguna pareja de parntesis.
6
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
Solucin
e = a*b*c/d/e
Como todos los operadores tienen la misma jerarqua, la evaluacin ser de izquierda a
derecha:
Note que el orden de ejecucin esta de acuerdo con la expresin algebraica, por lo que no se
requiere ninguna pareja de parntesis.
Solucin
Primero, se sumar a ms b.
Segundo, se dividir c entre d.
Tercero, el resultado ya obtenido de a+b se dividir entre el resultado ya obtenido de c/d.
Cuarto, se dividir 4 entre el resultado ya obtenido de ((a+b)/(c/d))
Quinto, se dividir v entre w.
Sexto, se dividir el resultado ya obtenido de v/w entre p.
Sptimo, se multiplicar 5 por m.
Octavo, se multiplicar el resultado ya obtenido de 5*m por n.
Noveno, se multiplicar el resultado ya obtenido de 5*m*n por q.
Dcimo, se sumar el resultado ya obtenido de 4/((a+b)/(c/d)) ms el resultado ya obtenido de
v/w/p.
Undcimo, se sumar el resultado ya obtenido de 4/((a+b)/(c/d)) + v/w/p ms el resultado ya
obtenido de 5*m*n*q.
Note que usando correctamente las reglas de jerarqua, es posible usar menos parejas de
parntesis.
7
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
Estructuras de Secuencia
2.1 Concepto
2.2 Ejercicios 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13
2.1 Concepto
Una estructura de control secuencial es aquella en la que las instrucciones estn una a
continuacin de la otra siguiendo una secuencia nica, sin cambios de ruta. La estructura
secuencial tiene una entrada y una salida.
Inicio
.
.
accin 1
accin 2
accin 3
.
.
Fin
8
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
2.2 Ejercicios
Algoritmo
INICIO
// Declaracin de variables
REAL base, altura, area, perimetro
// Entrada de datos
LEER base, altura
// Proceso de clculo
area = base*altura
perimetro = 2*(base+altura)
// Salida de resultados
IMPRIMIR area, perimetro
FIN
Ejemplo 2:- Disee un pseudocdigo para convertir una longitud dada en metros a sus
equivalentes en centmetros, pies, pulgadas y yardas. Considere que: 1 metro = 100
centmetros, 1 pulgada = 2.54 centmetros, 1 pie = 12 pulgadas, 1 yarda = 3 pies.
Algoritmo
INICIO
// Declaracin de variables
REAL cmetr,ccent, cpies, cpulg, cyard
// Entrada de datos
LEER cmetr
// Proceso de clculo
ccent = cmetr*100
cpulg = ccent/2.54
cpies = cpulg/12
9
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
cyard = cpies/3
// Salida de resultados
IMPRIMIR cpulg, cpies, cyard
FIN
Ejercicio 3:- Una institucin benfica europea ha recibido tres donaciones en soles, dlares y
marcos. La donacin ser repartida en tres rubros: 60% para la implementacin de un centro
de salud, 40% para un comedor de nios y el resto para gastos administrativos. Disee un
algoritmo que determine el monto en euros que le corresponde a cada rubro. Considere que: 1
dlar = 3.52 soles, 1 dlar = 2.08 marcos, 1 dlar = 1.07 euros.
Algoritmo
INICIO
// Declaracin de variables
REAL c soles, cdolares, c marcos, ceuros, rubro1, rubro2, rubro3
// Entrada de datos
LEER csoles, cdolares, cmarcos
// Proceso de clculo
ceuros = (csoles/3.52 + cdolares + cmarcos/2.08)*1.07
rubro1 = ceuros*0.60
rubro2 = ceuros*0.40
rubro3 = ceuros*0.20
// Salida de resultados
IMPRIMIR rubro1, rubro2, rubro3
FIN
Algoritmo
INICIO
// Declaracin de variables
ENTERO tmin, tseg, tcen
REAL thor, velkmhr, espmt, espkm
// Entrada de datos
LEER tmin, tseg, tcen, espmt
// Salida de resultados
10
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
IMPRIMIR velkmhr
FIN
Ejercicio 5:- Disee un algoritmo que determine la cifra de las unidades de un nmero natural.
Solucin 1
Anlisis
Puede comprobarse que la cifra de las unidades de un nmero es igual al resto o modulo
(MOD) de la divisin del nmero entre 10. Observe para ello las siguientes divisiones:
3245 10
5 324
768 10
8 76
9 10
9 0
Siendo % (MOD) el operador residuo. Este operador permite obtener el residuo de una divisin
entera, y DIV el cociente de una divisin entera as como / permite obtener el cociente de una
divisin real.
Algoritmo
INICIO
// Declaracin de variables
ENTERO numero, unidades
// Entrada de datos
LEER numero
// Proceso de clculo
unidades = numero % 10
// Salida de resultados
IMPRIMIR unidades
FIN
Solucin 2
Anlisis
El residuo de una divisin entera puede obtenerse tambin sin recurrir al operador % (MOD),
de la siguiente forma:
11
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
observe para esto que en la divisin (numero DIV 10) los operandos son enteros por lo que el
cociente ser un entero. As por ejemplo, si numero es igual a 3245, la divisin (numero DIV
10) produce 324, aunque matemticamente sea 324.5; es decir, se descarta la parte decimal.
Algoritmo
INICIO
// Declaracin de variables
ENTERO numero, unidades
// Entrada de datos
LEER numero
// Proceso de clculo
unidades = numero - (numero div 10)*10
// Salida de resultados
IMPRIMIR unidades
FIN
Ejercicio 6:- Disee un algoritmo que determine la suma de las cifras de un nmero entero
positivo de 4 cifras.
Solucin 1
Anlisis
Las cifras pueden ser obtenidas mediante divisiones sucesivas entre 10. Para el efecto,
considere el caso de un nmero N igual a 3245:
3245 10
5 324
unidades = N%10
cociente = N/10 Nota: aqu se toma el operador / como DIV.
324 10
4 32
decenas = cociente%10
cociente = cociente/10
32 10
2 3
centenas = cociente%10
millares = cociente/10
Algoritmo
INICIO
// Declaracin de variables
ENTERO N, suma, millares, centenas, decenas, unidades, resto
// Entrada de datos
LEER N
12
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
// Proceso de clculo
unidades = N%10
cociente = N/10
decenas = cociente%10
cociente = cociente/10
centenas = cociente%10
millares = cociente/10
suma = unidades + decenas + centenas + millares
// Salida de resultados
IMPRIMIR suma
FIN
Solucin 2
Anlisis 2
Considerando que el nmero tiene 4 cifras, las cifras tambin pueden ser obtenidas mediante
divisiones sucesivas entre 1000, 100 y 10. Para el efecto, considere el caso de un nmero N
igual a 3245:
3245 1000
245 3
millares = N/1000
resto = N%1000
245 100
45 2
centenas = resto/100
resto = resto%100
45 10
3 4
decenas = resto/10
unidades = resto%10
Algoritmo
INICIO
// Declaracin de variables
ENTERO N, suma, millares, centenas, decenas, unidades, resto
// Entrada de datos
LEER N
// Proceso de clculo
millares = N/1000
resto = N%1000
centenas = resto/100
resto = resto%100
decenas = resto/10
unidades = resto%10
suma = unidades + decenas + centenas + millares
13
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
// Salida de resultados
IMPRIMIR suma
FIN
Ejercicio 7:- Disee un algoritmo que lea la hora actual del da HH:MM:SS y determine cuantas
horas, minutos y segundos restan para culminar el da.
Algoritmo
INICIO
// Declaracin de variables
ENTERO hor1, min1, seg1, hor2, min2, seg2, segres, resto
// Entrada de datos
LEER hor1, min1, seg1
// Salida de resultados
IMPRIMIR hor2, min2, seg2
FIN
Ejercicio 8:- Disee un algoritmo para sumar dos tiempos dados en horas, minutos y
segundos.
Algoritmo
INICIO
// Declaracin de variables
ENTERO hor1, min1, seg1, hor2, min2, seg2, hor3, min3, seg3,
totseg, resto
// Entrada de datos
LEER hor1, min1, seg1, hor2, min2, seg2
// Salida de resultados
IMPRIMIR hor3, min3, seg3
FIN
14
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
Ejercicio 9:- El sueldo neto de un vendedor se calcula como la suma de un sueldo bsico de
S/.250 ms el 12% del monto total vendido. Disee un algoritmo que determine el sueldo neto
de un vendedor sabiendo que hizo tres ventas en el mes.
Algoritmo
INICIO
// Declaracin de variables
REAL venta1, venta2, venta3, ventatot, comision, sueldoneto
// Entrada de datos
LEER venta1, venta2, venta3
// Proceso de clculo
ventatot = venta1 + venta2 + venta3
comision = 0.12*ventatot
sueldoneto = 250 + comision
// Salida de resultados
IMPRIMIR sueldoneto
FIN
Ejercicio 10:- Disee un algoritmo que determine el porcentaje de varones y de mujeres que
hay en un saln de clases.
Algoritmo
INICIO
// Declaracin de variables
REAL porcvar, porcmuj
ENTERO varones, mujeres, total
// Entrada de datos
LEER varones, mujeres
// Proceso de clculo
total = varones + mujeres
porcvar = varones*100.0/total
porcmuj = mujeres*100.0/total
// Salida de resultados
IMPRIMIR porcvar, porcmuj
FIN
Ejercicio 11:- En pases de habla inglesa es comn dar la estatura de una persona como la
suma de una cantidad entera de pies ms una cantidad entera de pulgadas. As, la estatura de
una persona podra ser 3' 2" ( 3 pies 2 pulgadas ). Disee un algoritmo que determine la
estatura de una persona en metros, conociendo su estatura en el formato ingls. Considere
que: 1 pie = 12 plg, 1 plg = 2.54 cm, 1 m = 100 cm.
Algoritmo
INICIO
// Declaracin de variables
REAL estmt
ENTERO cpies, cplgs
15
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
// Entrada de datos
LEER cpies, cplgs
// Proceso de clculo
estmt = (cpies*12 + cplgs)*2.54/100
// Salida de resultados
IMPRIMIR estmt
FIN
Ejercicio 12:- Disee un algoritmo que exprese la capacidad de un disco duro en megabytes,
kilobytes y bytes, conociendo la capacidad del disco en gigabytes. Considere que: 1 kilobyte =
1024 bytes, 1 megabyte = 1024 kilobyte, 1 gigabyte = 1024 megabytes.
Algoritmo
INICIO
// Declaracin de variables
REAL cgigabyte, cmegabyte, ckilobyte, cbyte
// Entrada de datos
LEER cgigabyte
// Proceso de clculo
cmegabyte = cgigabyte*1024
ckilobyte = cmegabyte*1024
cbyte = ckilobyte*1024
// Salida de resultados
IMPRIMIR cmegabyte, ckilobyte, cbyte
FIN
Ejercicio 13:- Disee un algoritmo que intercambie las cifras de las unidades de dos nmeros
naturales.
Algoritmo
INICIO
// Declaracin de variables
ENTERO numero1, numero2, unidades1, unidades2
// Entrada de datos
LEER numero1, numero2
// Salida de resultados
IMPRIMIR n1, n2
FIN
16
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
Estructuras de Seleccin
3.1 Concepto
3.2 Estructura de Seleccin Simple SI
3.3 Estructura de Seleccin Doble SI-SINO
3.4 Estructura de Seleccin Doble en Cascada SI-SINO-SI
3.5 Estructura de Seleccin Mltiple SEGUN
3.6 Ejercicios 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15
3.1 Introduccin
Las estructuras de seleccin son estructuras de control utilizadas para la toma decisiones
dentro de un programa. A estas estructuras se conocen tambin como estructuras selectivas
o estructuras de decisin y son las siguientes:
SI( condicion )
acciona
SI( condicion ){
acciona1
acciona2
.
.
.
accionan
}
Por ejemplo, si se desea cambiar el signo de un nmero nicamente en caso que sea negativo,
podemos escribir:
17
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
SI( condicion )
acciona
SINO
accionb
Por ejemplo, la siguiente estructura de seleccin doble determina si una persona es mayor o
menor de edad:
Esto imprime "Mayor de edad" si la persona tiene 18 aos ms e imprime "Menor de edad" si
la persona tiene menos de 18 aos. En cualquiera de los casos, despus de efectuar la
impresin, se ejecutar la primera instruccin que sigue a la estructura SI...SINO.
18
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
SI( condicion1 )
accion1
SINO
SI( condicion2 )
accion2
SINO
SI( condicion3 )
accion3
.
.
.
SINO
acciondefecto
Pseudocdigo ( Forma 2 )
SI( condicion1 )
accion1
SINO SI( condicion2 )
accion2
SINO SI( condicion3 )
accion3
.
.
.
SINO
acciondefecto
SI( n > 0 )
signo = "Positivo"
SINO
SI( n < 0 )
signo = "Negativo"
SINO
signo = "Cero"
SI( n > 0 )
signo = "Positivo"
SINO SI( n < 0 )
signo = "Negativo"
SINO
signo = "Cero"
19
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
SEGUN(numeroEstacion){
CASO 1 : nombreEstacion = "Primavera"
CASO 2 : nombreEstacion = "Verano"
CASO 3 : nombreEstacion = "Otoo"
DEFECTO : nombreEstacion = "Invierno"
}
3.6 Ejercicios
Ejercicio 1:- En una playa de estacionamiento cobran S/. 2.5 por hora o fraccin. Disee un
algoritmo que determine cuanto debe pagar un cliente por el estacionamiento de su vehculo,
conociendo el tiempo de estacionamiento en horas y minutos.
Algoritmo 1
20
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
INICIO
// Declaracin de variables
ENTERO horas, minutos
REAL pago
// Entrada de datos
LEER horas, minutos
// Salida de resultados
IMPRIMIR pago
FIN
Algoritmo 2
INICIO
// Declaracin de variables
ENTERO horas, minutos, horasPagar
REAL pago
// Entrada de datos
LEER horas, minutos
// Salida de resultados
IMPRIMIR pago
FIN
Ejercicio 2:- Disee un algoritmo que determine si un nmero es o no es, par positivo.
Algoritmo
INICIO
// Declaracin de variables
REAL numero
CADENA tipoNumero
// Entrada de datos
LEER numero
21
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
// Salida de resultados
IMPRIMIR tipoNumero
FIN
Ejercicio 3:- Disee un algoritmo que lea tres nmeros y determine el nmero mayor.
Algoritmo
INICIO
// Declaracin de variables
REAL numero1, numero2, numero3, numeroMayor
// Entrada de datos
LEER numero1, numero2, numero3
// Determina el mayor
numeroMayor = numero1
SI( numero2 > numeroMayor )
numeroMayor = numero2
SI( numero3 > numeroMayor )
numeroMayor = numero3
// Salida de resultados
IMPRIMIR mayor
FIN
Ejercicio 4:- Una tienda ha puesto en oferta la venta al por mayor de cierto producto,
ofreciendo un descuento del 15% por la compra de ms de 3 docenas y 10% en caso contrario.
Adems por la compra de ms de 3 docenas se obsequia una unidad del producto por cada
docena en exceso sobre 3. Disee un algoritmo que determine el monto de la compra, el monto
del descuento, el monto a pagar y el nmero de unidades de obsequio por la compra de cierta
cantidad de docenas del producto.
Algoritmo
INICIO
// Declaracin de variables
REAL montopag, montocom, montodes, precio
ENTERO docenas, obsequio
// Entrada de datos
LEER docenas, precio
22
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
// Salida de resultados
IMPRIMIR montocom, montodes, montopag, obsequio
FIN
Ejercicio 5:- Disee un algoritmo que lea un nmero de tres cifras y determine si es o no
capica. Un nmero es capica si es igual al revs del nmero.
Observacin
Como el nmero tiene tres cifras, para ser capica basta con que la cifra de las unidades sea
igual a la cifra de las centenas. Por ejemplo: 353, 878, etc.
Algoritmo
INICIO
// Salida de resultados
ENTERO numero, unidades, centenas
CADENA tipoNumero
// Entrada de datos
LEER numero
Ejercicio 6:- Disee un algoritmo que califique el puntaje obtenido en el lanzamiento de tres
dados en base a la cantidad seis obtenidos, de acuerdo a lo siguiente: tres seis, excelente; dos
seis, muy bien; un seis, regular; ningn seis, psimo.
Algoritmo
INICIO
// Declaracin de variables
ENTERO dado1, dado2, dado3
CADENA calificacion
23
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
// Entrada de datos
LEER dado1, dado2, dado3
// Determina la calificacin
SI( dado1 + dado2 + dado3 == 18 )
calificacion = "Excelente"
SINO SI( dado1+dado2 == 12 || dado1+dado3 == 12 || dado2+dado3 ==
12 )
calificacion = "Muy bin"
SINO SI( dado1 == 6 || dado2 == 6 || dado3 == 6 )
calificacion = "Regular"
SINO
calificacion = "Psimo"
// Salida de resultados
IMPRIMIR calificacion
FIN
Ejercicio 7:- Una compaa dedicada al alquiler de automoviles cobra un monto fijo de $30
para los primeros 300 km de recorrido. Para ms de 300 km y hasta 1000 km, cobra un monto
adicional de $ 0.15 por cada kilmetro en exceso sobre 300. Para ms de 1000 km cobra un
monto adicional de $ 0.10 por cada kilmetro en exceso sobre 1000. Los precios ya incluyen el
18% del impuesto general a las ventas, IGV. Disee un algoritmo que determine el monto a
pagar por el alquiler de un vehculo y el monto includo del impuesto.
Algoritmo
INICIO
// Declaracin de variables
REAL kilomrec, montopag, montoigv, montofijo = 30, igv = 0.18
// Entrada de datos
LEER kilomrec
// Salida de resultados
IMPRIMIR montopag, montoigv
FIN
Ejercicio 8:- Disee un algoritmo que determine quienes son contemporneos entre Juan,
Mario y Pedro.
Algoritmo
INICIO
// Declaracin de variables
ENTERO juan, mario, pedro
CADENA contemporaneos
24
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
// Entrada de datos
LEER juan, mario, pedro
// Salida de resultados
IMPRIMIR contemporaneos
FIN
Algoritmo
INICIO
// Declaracin de variables
REAL pc1, pc2, pc3, pc4, pcmenor, promedio
// Entrada de datos
LEER pc1, pc2, pc3, pc4
// Determina el promedio
promedio = (pc1 + pc2 + pc3 + pc4 - pcmenor )/3
// Salida de resultados
IMPRIMIR promedio, pcmenor
FIN
Ejercicio 10:- Disee un algoritmo que lea tres longitudes y determine si forman o no un
tringulo. Si es un tringulo determine de que tipo de tringulo se trata entre: equiltero (si tiene
tres lados iguales), issceles (si tiene dos lados iguales) o escaleno (si tiene tres lados
desiguales). Considere que para formar un tringulo se requiere que: "el lado mayor sea menor
que la suma de los otros dos lados".
Algoritmo
25
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
INICIO
// Declaracin de variables
REAL L1, L2, L3, suma
CADENA tipoRectangulo
// Entrada de datos
LEER L1, L2, L3<
// Salida de resultados
IMPRIMIR tipoRectangulo
FIN
Ejercicio 11:- Disee un algoritmo que lea tres nmeros enteros y determine el menor valor
positivo. Si los nmeros positivos son iguales, dar como menor a cualquiera de ellos.
Algoritmo
INICIO
// Declaracin de variables
ENTERO a, b, c, menor
// Entrada de datos
LEER a, b, c
// Determina el menor
26
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
// Salida de resultados
SI( menor != -1 )
IMPRIMIR menor
SINO
IMPRIMIR "No se ingres ningn nmero positivo"
FIN
Ejercicio 12:- Disee un algoritmo que lea tres nmeros y los imprima de mayor a menor y de
menor a mayor.
Algoritmo
INICIO
// Declaracin de variables
REAL n1, n2, n3, mayor, menor, medio
// Entrada de datos
LEER n1, n2, n3
// Determina el menor
menor = n1
SI( n2 < menor )
menor = n2
SI( n3 < menor )
menor = n3
// Determina el mayor
mayor = n1
SI( n2 > mayor )
mayor = n2
SI( n3 > mayor )
mayor = n3
// Determina el medio
medio = n1+n2+n3-mayor-menor
Ejercicio 13:- Disee un algoritmo para obtener el grado de eficiencia de un operario de una
fbrica de tornillos, de acuerdo a las siguientes condiciones, que se le imponen para un perodo
de prueba:
27
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
Algoritmo 1
INICIO
// Declaracin de variables
ENTERO torpro, tordef, grado
// Entrada de datos
LEER torpro, tordef
// Salida de resultados
IMPRIMIR grado
FIN
Algoritmo 2
INICIO
// Declaracin de variables
ENTERO torpro, tordef, grado
// Entrada de datos
LEER torpro, tordef
28
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
SINO
grado = 5
// Salida de resultados
IMPRIMIR grado
FIN
Ejercicio 14:- Se cuenta con los votos obtenidos por Juan, Pedro y Maria en una eleccin
democrtica a la presidencia de un club. Para ganar la eleccin se debe obtener como mnimo
el 50% de los votos ms 1. En caso que no haya un ganador se repite la eleccin en una
segunda vuelta. Van a la segunda vuelta los dos candidatos que obtengan la ms alta votacin.
Se anula la eleccin en caso de producirse un empate doble por el segundo lugar o un empate
triple. Disee un algoritmo que determine el resultado de la eleccin.
Algoritmo
INICIO
// Declaracin de variables
ENTERO vjuan, vpedro, vmaria, vmingan
CADENA resultado
// Entrada de datos
LEER vjuan, vpedro, vmaria
// Salida de resultados
IMPRIMIR resultado
FIN
Ejercicio 15:- Disee un algoritmo que lea un nmero entero de 3 cifras, y forme el mayor
nmero posible con las cifras del nmero ingresado. El nmero formado debe tener el mismo
signo que el nmero ingresado.
Algoritmo
INICIO
// Declaracin de variables
ENTERO num1, num2, numaux, uni, dec, cen, menor, mayor,medio
29
Efectuado por: Ing. Hugo Moncayo C. Programacin Bsica
// Entrada de datos
LEER num1
Fuente: www.geocities.com/david_ees/algoritmia
30