Sunteți pe pagina 1din 35

4.

Definicin del problema: Una llamada de un telfono fijo a otro,

tambin fijo, en horario normal (todos los das de 7:00 a 22:59 hrs), cuesta
sin igv S/. 0.078, mientras que en horario reducido (todos los das de 23:00 a
6:59 hrs), cuesta S/. 0.039. Calcule el costo total de una llamada telefnica,
si considera 1 minuto adicional de cargo por establecimiento de llamada y
solo se considera la hora de inicio para determinar a qu tarifa se sujeta.

Anlisis del problema: El horario normal comienza en el minuto


7x60 = 420 del da y termina en el minuto 22x60+59 = 1379 del
da. Toda hora de inicio vlida que no este en este rango se
realiza en horario reducido.
Sean: hora: hora de inicio de la llamada
min: minuto de inicio de la llamada
inicio: minuto de inicio en el da
duracin: duracin de la llamada
Datos de entrada: hora, min, duracin
Datos de salida: Costo
Proceso: inicio= hora*60+min
(inicio>419 y inico <1380)
Costo=(duracion+1)*0.078
Sino
Costo=(dura + 1)*0.039
PSEUDOCDIGO
Inicio:
//Declaracin de variables//
Entero hora, min, duracin, Costo
//Entrada de datos//
Leer hora, min, duracin
//Proceso//
inicio= hora*60+min
Si (inicio>419 y inico <1380)
Costo=(duracion+1)*0.078
Escribir "El costo de la llamada es:",Costo
Sino
Costo=(dura + 1)*0.039
Escribir "El costo de la llamada es:", Costo
FinSi Fin
FIN

DIAGRAMA DE FLUJO

DIAGRAMA N-S

5. Definicin del problema: Ordene de mayor a menor, 3


nmeros ingresados por teclado.
Anlisis del problema: Como se trata de 3 nmeros, sabemos
que existen 3!= 3x2x1 = 6 posibilidades de ordenarlos.
Teniendo las siguientes posibles:
A>=B>=C
A>=C>=B
B>=A>=C
B>=C>=A
C>=B>=A
Sean:
A: primer nmero"
B: segundo nmero"
C: tercer nmero"
Datos de entrada: A, B, C
Datos de salida: El orden(A>=B>=C A>=C>=B
B>=A>=C
B>=C>=A

C>=B>=A)
Proceso: A>=B>=C
C>=B>=A

A>=C>=B

PSEUDOCDIGO
Inicio:
//Declaracin de variables//
Entero A, B, C
//Entrada de datos//
Leer A, B, C
//Proceso//

B>=A>=C

B>=C>=A

si(A>=b Y B>=C)
Escribir "El orden de mayor a menor es:",A,"_",B,"_",C
Sino
si(A>=C y C>=B)
Escribir "El orden de mayor a menor es:",A,"_",C,"_",B
Sino
si(B>=A y A>=C)
Escribir "El orden de mayor a menor es:",B,"_",A,"_",C
Sino
si(B>=C y C>=A)
Escribir "El orden de mayor a menor
es:",B,"_",C,"_",A
Sino
si(C>=A y C>=B)
Escribir "El orden de mayor a menor
es:",C,"_",A,"_",B
Sino
Escribir "El orden de mayor a menor
es:",C,"_",B,"_",A
FinSi
FinSi
FinSi
FinSi
FinSi
FIN

DIAGRAMA DE FLUJO

DIAGRAMA N-S

6. Definicin del problema: Elabore un algoritmo que obtenga


las races reales de una ecuacin de segundo grado.

Anlisis del problema: La forma general de una ecuacin de


segundo grado es: ax+bx+c=0
Completando cuadrados: ax + bx =-c multiplicando por 4a
4ax + 4abx = - 4ac sumando b a ambos lados 4ax+
4abx+b=-4ac + b
Factorizando:
2
(2ax + b)= b2 - 4acax + b = b 4 ac

De donde:
x=

b b24 ac
2a

2
Para que exista solucin, a<>b (para poder dividir) y b - 4ac
0, (para obtener la raz cuadrada).
Sean: a: coeficiente de x2. Deber ser diferente de 0.
b: coeficiente de x.
c: trmino independiente.
2
d: discriminante b - 4ac. Debe ser diferente de 0
x1: primera raz real.
x2: segunda raz real.
Datos de entrada: a, b, c
Datos de salida: x1, x2
Proceso: (a<>0)
d=b^2-4*a*c
(d>=0)
x1=(-b + RAIZ(d))/(2*a)
x2=(-b - RAIZ(d))/(2*a)

PSEUDOCDIGO
Inicio:
//Declaracin de variables//
Entero a, b, c, d
Real x1, x2
//Entrada de datos//
Leer a, b, c

//Proceso//

Si (a<>0)
d=b^2-4*a*c
Si (d>=0)
x1=(-b + RAIZ(d))/(2*a)
x2=(-b - RAIZ(d))/(2*a)
Escribir "La primera raiz real es:" , x1
Escribir "La segunda raiz real es:" , x2
Sino
Escribir "Races imaginarias"
FinSi
Sino
Escribir "El Coeficiente de x debe ser diferente de cero"
FinSi
FIN

DIAGRAMA DE FLUJO

DIAGRAMA N-S

7. Definicin del problema: Un ao bisiesto es aquel que tiene 366

das. Mediante un decreto del Papa Gregorio XIII, dado en 1582, se reforma
el Calendario Juliano que nos rega, para que pasen a considerarse bisiestos
aquellos aos mltiplos de 4, pero no los mltiplos de 100, excepto los
mltiplos de 400. Escriba un algoritmo que diga si un ao es o no bisiesto.

Anlisis del problema: Segn el enunciado ao, ser bisiesto si:


Es mltiplo de 4, lo que se escribe (ao MOD 4 = =0), pero no
mltiplo de 100, excepto los mltiplos de 400 que si son bisiestos
(ao MOD 100 0) OR (ao MOD 400 == 0) Combinando ambas
condiciones, tendremos la condicin de bisiesto: (ao MOD 4 ==
0) AND ((ao MOD 100 0) OR (ao MOD 400== 0))
Sean:
Ao : ao a averiguar si es bisiesto o no
Datos de entrada: Ao
Datos de salida: Escribir "El Ao si es bisiesto"
Escribir "El Ao no es bisiesto"
Proceso: si (ao MOD 4 ==0 y (ao MOD 100<>0 o ao MOD
400==0))
PSEUDOCDIGO
Inicio:
//Declaracin de variables//
Entero Ao
//Entrada de datos//
Leer Ao
//Proceso//
Si (ao MOD 4 ==0 y (ao MOD 100<>0 o ao MOD
400==0))
Escribir "El Ao si es bisiesto"
Sino
Escribir "El Ao no es bisiesto"
FinSi
FIN

DIAGRAMA DE FLUJO

DIAGRAMA N-S

8. Definicin del problema: Los 3 nmeros q, r y s, y determine


si q es el mltiplo de r y s.
Anlisis del problema: C ser mltiplo de pD1 y de pD2
cuando pD1 y pD2 dividan exactamente a C.
Sean:
C: nmero cualquiera
pD1: posible divisor1
pD2: posible divisor2
Datos de entrada: C, pD1, pD2
Datos de salida: Respuesta: C, "Es Mltiplo de:", pD1, "y de:",
pD2
Respuesta: C, "No es Mltiplo de:", pD1,"y
de:", pD2
Proceso: Si ((C MOD pD1==0) y (C MOD pD2==0))

PSEUDOCDIGO
Inicio:
//Declaracin de variables//
Entero C, pD1, pD2
//Entrada de datos//
Leer C, pD1, pD2
//Proceso//
Si ((C MOD pD1==0) y (C MOD pD2==0))
Escribir C, "Es Mltiplo de:", pD1, "y de:", pD2
Sino
Escribir C, "No es Mltiplo de:", pD1,"y de:", pD2
FinSi

Fin

DIAGRAMA DE FLUJO

DIAGRAMA N-S

9. Definicin del problema: Muestre un algoritmo que nos


permita evaluar la funcin.

Anlisis del problema: Sean:


X: variable independiente
Y: variable dependiente
Datos de entrada: X
Datos de salida: Y
Proceso: Si (X<=0)
Y=X+ sen(X)
Escribir "La Variable Dependiente es:", Y
Si (X<=8)
Y=2*X-ln(X)
Escribir "La Variable Dependiente es:", Y
Sino
Y=log*(X-8)
Escribir "La Variable Dependiente es:", Y

PSEUDOCDIGO
Inicio:
//Declaracin de variables//
Entero X
Real Y
//Entrada de datos//
Leer X
//Proceso//

Si (x<=0)
y=x + sen(x)
Escribir "La Variable Dependiente es:", ye
Sino
Si (x<=8)
y=2*x-ln(x)
Escribir "La Variable Dependiente es:", ye
Sino
y=log*(x-8)
Escribir "La Variable Dependiente es:", ye
FinSi
FinSi

Fin

DIAGRAMA DE FLUJO

DIAGRAMA N-S

10. Definicin del problema: El rendimiento de un alumno se


califica segn lo siguiente:
Bueno si su promedio esta entre 16 y 20
Regular si su promedio est entre 11 y 15
Deficiente si su promedio est entre 6 y 10
Psimo si su promedio est entre O y 5
Escriba un algoritmo que lea el promedio de un alumno y diga cul es su
rendimiento.

Anlisis del problema: Sean:


Prom: La nota promedio del alumno
Datos de entrada: Prom
Datos de salida: Respuesta Bueno, Regular, Deficiente,
Psimo
Proceso: Si (Prom<0 O Prom>20)
Si (Prom>=15)
Si (Prom>=10)
Si (Prom>=5)

PSEUDOCDIGO
Inicio:
//Declaracin de variables//
Real Prom
//Entrada de datos//
Leer Prom
//Proceso//
Si (Prom<0 O Prom>20) Entonces
Escribir 'Dato erroneo'
Sino
Si (Prom>=15) Entonces
Escribir 'El Rendimiento es Bueno'
Sino
Si (Prom>=10) Entonces
Escribir 'El Rendimiento es Regular'
Sino
Si (Prom>=5) Entonces
Escribir 'El Rendimento es Deficiente'
Sino
Escribir 'El Rendimento es Pesimo'
FinSi
FinSi
FinSi
FinSi

Fin

DIAGRAMA DE FLUJO

DIAGRAMA N-S

11. Definicin del problema: A un digitador le pagan 0.50


soles por cada hoja que digita, 1.00 soles por cada hoja que
imprime en blanco y negro y 2.00 soles por cada hoja que
imprime a color. Si un da digita X hojas de las cuales solamente Y
deben imprimirse a color y Z en blanco y negro. El resto de
pginas no se imprime. Por qu gana ms, por digitar o por
imprimir?
Anlisis del problema: Para llegar a la respuesta es necesario
conocer la cantidad de hojas digitadas y las impresiones (blanco y
negro, y a color) y el precio por hacer eso.
Sean:
X: Cantidad de hojas digitadas
Y: cantidad de hojas impresas a color
Z: cantidad de hojas impresas a blanco y negro
Datos de entrada: X, Y, Z
Datos de salida: Escribir "Gana ms por digitar"
Escribir "Gana ms por imprimir"
Proceso: Si (X*0.5=Y*2+Z*1)
Si (X*0.5>Y*2+Z*1)

PSEUDOCDIGO
Inicio:

//Declaracin de variables//
Entero X, Y, Z
//Entrada de datos//
Leer X, Y, Z
//Proceso//
Si (X*0.5=Ye*2+Z*1)
Escribir "Gana lo mismo por digitar y por imprimir"
Sino
Si(X*0.5>Ye*2+Z*1)
Escribir "Gana ms por digitar"
Sino
Escribir "Gana ms por imprimir"
FinSi
FinSi

Fin

DIAGRAMA DE FLUJO

DIAGRAMA N-S

12. Definicin del problema: Lea un nmero y obtenga el


signo, su parte entera y su parte fraccionaria.
Anlisis del problema: Para obtener el signo, basta con
preguntar si es mayor que cero, en cuyo caso ser positivo, en
caso contrario ser negativo.
Sean:
N: Cualquier nmero
Datos de entrada: N
Datos de salida: Escribir "Signo Positivo"
Escribir "Signo Negativo"
Proceso: (N>=0)

PSEUDOCDIGO

Inicio:
//Declaracin de variables//
Real N
//Entrada de datos//
Leer N
//Proceso//
Si(N>=0)
Escribir "Signo Positivo"
Sino
Escribir "Signo Negativo"
FinSi

Fin

DIAGRAMA DE FLUJO

DIAGRAMA N-S

13. Definicin del problema: La distancia entre Trujillo y


Chiclayo es de 200 Km. Si un conductor parte el da lunes de
Trujillo a una velocidad constante de X Km/h, y el da martes
repite el mismo procedimiento a Y Km/h. Qu da llega ms
rpido a Chiclayo y que tiempo se demora?
Anlisis del problema: Para conocer el da que llegar ms
rpido a Chiclayo y el tiempo tendramos que conocer las
frmulas del tiempo con respecto a la distancia y la velocidad.
Sean:
Vx: Velocidad del auto el da Lunes
Vy: Velocidad del auto el da martes
T: Tiempo de demora
Datos de entrada: Vx, Vy
Datos de salida: T, Escribir "Llega ms rpido el Da Lunes "
Escribir "en un tiempo de:", T,"horas"
Escribir "Llega ms rpido el Da Martes"
Escribir "en un tiempo de:",T,"horas"
Proceso: T=200/Vx
T=200/Vy

PSEUDOCDIGO

Inicio:
//Declaracin de variables//
Real Vx, Vy, T
//Entrada de datos//
Leer Vx, Vy
//Proceso//
Si (Vx>Vy)
Escribir "Llega ms rpido el Da Lunes "
T=200/Vx
Escribir "en un tiempo de:", T, "horas"
Sino
Escribir "Llega ms rpido el Da Martes"
T=200/Vy
Escribir "en un tiempo de: ", T," horas"
FinSi

Fin

DIAGRAMA DE FLUJO

DIAGRAMA N-S

14. Definicin del problema: Si compramos al por mayor 100 o


ms artculos nos descuentan el 40%, si compramos entre 25 y
100 nos descuentan un 20%, y si compramos entre 10 y 25 un
10%. No hay descuento si adquirimos menos de 10 artculos. Diga
cuanto debemos pagar por nuestra compra.
Anlisis del problema: Las condiciones estn descritas en la
siguiente funcin de descuento: 0.40 si x >= 100 d(x) 0.20 si 25 <=
x < 100

0.10 si 10<=x<25
0.00 si x<10

Sean: X: Cantidad de artculos


P: Precio unitario del artculo
D: Descuento obtenido
M: Monto a pagar
Datos de entrada: X, P
Datos de salida: M
Proceso: M= P*x*(1-D)

PSEUDOCDIGO

Inicio:
//Declaracin de variables//
Real X, P, D, M
//Entrada de datos//
Leer X, P
//Proceso//
Si(x>=100)
D=0.40
M= P*x*(1-D)
Escribir "El monto a pagar es:", M
Sino
Si (X>=25)
D=0.20
M= P*x*(1-D)
Escribir "El monto a pagar es:", M
Sino
Si (X>10)
D=0.10
M= P*x*(1-D)
Escribir "El monto a pagar es:", M
Sino
Si (X>=0)
D=0.0
M= P*x*(1-D)
Escribir "El monto a pagar es:", M
Sino
Escribir "Cantidad errnea"
FinSi
FinSi
FinSi
FinSi

Fin

DIAGRAMA DE FLUJO

DIAGRAMA N-S

15. Definicin del problema: Si el sueldo de un empleado es de

1000 o menos se le descuenta el 10%. Si esta entre 1000 y 2000 el 5% sobre


el adicional, y si est arriba de 2000, el 3% sobre el adicional. Escriba un
algoritmo que lea el sueldo y muestre el salario neto y el impuesto.
Anlisis del problema: En este caso si el trabajador gana ms de 1000
y hasta 2000, el descuento por los primeros 1000 se mantendr en 10% lo
que equivale a 0.1*1000=100, mientras que el descuento por lo que gana
arriba de 1000 ser 0.05(Sb-1000). Lo mismo ocurre cuando el trabajador
gana ms de 2000, puesto que se le descuento 0.1*1000 = 100 por los
primeros 1000, y
0.05*(2000-1000)=50, por los siguientes 1000, el descuento ser 100+50
+0.03(Sb-2000).
Estos casos de descuentos adicionales por lo general se aplican en el caso
de pago de impuestos, con la intensin de que el pago sea ms equitativo.
Entonces tenemos:
Si Sb<=1000, D= 0.1Sb
Si 1000<Sb<=2000, D=l00+0.05(Sb-1000)
Si Sb> 2000, D=150+0.03(Sb-2000)
El salario neto ser Sn = Sb D

Sean: Sb: Sueldo bruto


neto
Datos de entrada: Sb
Datos de salida: Sn, D
Proceso: D=0.1*Sb

D: Descuento

D=100+(0.05*(Sb-1000))
D=150+(0.03*(Sb-2000))

PSEUDOCDIGO
Inicio:
//Declaracin de variables//
Real Sb, D, Sn
//Entrada de datos//
Leer Sb
//Proceso//
si(Sb<0)
sino

Escribir "Sueldo bruto incorrecto"


si (Sb<=1000)
D=0.1*Sb
Sino
si(Sb<=2000)
D=100+(0.05*(Sb-1000))
Sino
D=150+(0.03*(Sb-2000))
FinSi
FinSi
Sn=Sb-D
Escribir "Sueldo neto es:", Sn
Escribir "El descuento es:", D

FinSi

Sn: Sueldo

Fin

DIAGRAMA DE FLUJO

DIAGRAMA N-S

16. Definicin del problema: Dada la hora y el da en horas,


minutos y segundos encuentre la hora del siguiente segundo.
Anlisis del problema: Si h, m y s, representan una hora
vlida, entonces el siguiente segundo ser s+1, el cual si llega a
ser 60 har que m aumente en 1, si m llega a ser 60 har que h
aumente en 1, si h llega a ser 24, entonces debemos pacer h = 0
pues habr terminado el da.
Sean: h: hora
m: minutos
s: segundos
Datos de entrada: h, m, s
Datos de salida: h, m, s
Proceso: s=s+1
m=m+1
h=h+1

PSEUDOCDIGO
Inicio:
//Declaracin de variables//
Real h, m, s
//Entrada de datos//
Leer h, m, s
//Proceso//
s=s+1
si(s==60)

s=0
m=m+1
si(m==60)
m=0
h=h+1
si(h==24)
h=0
FinSi
FinSi

Fin

FinSi
Escribir "La Hora del siguiente segundo:",h ":", m,":",s

DIAGRAMA DE FLUJO

DIAGRAMA N-S

S-ar putea să vă placă și