Você está na página 1de 9

Sección: PC1-192

Revisión: 01
Setiembre 2019
Problemas sobre condicionales (decisiones) if, switch / case

PRIMERA PRÁCTICA CALIFICADA

ALUMNO CÓDIGO

SUME LOS DÍGITOS DE SU CÓDIGO Y VUELVA A SUMAR LOS DÍGITOS QUE RESULTEN HASTA QUE QUEDE UN SOLO
DÍGITO: Por ejemplo: 201417469… la suma es 34 …. 3 + 4 = 7
ESCRIBA AQUÍ EL DÍGITO RESULTANTE 2
Resolver las preguntas (5 puntos c/u), que se pide en la tabla siguiente según el número que le haya resultado al sumar
los dígitos de su código.
Dígito Preguntas Dígito Preguntas
0 1 6 7 11 5 2 4 8 13
1 2 5 9 12 6 3 5 7 11
2 3 4 8 10 7 3 6 9 15
3 3 5 10 14 8 1 5 8 14
4 1 6 9 15 9 2 6 10 10
La solución se adjunta en el presente archivo: (copiar y pegar)
PRESENTAR: PSeInt, Diagrama de Flujo, Código C++, para cada uno de los problemas que le tocó resolver

1. El valor de y se define como sigue:


𝑌 = 𝑋 2 + 2𝑋 − 3 … 𝑠𝑖 − 3 ≤ 𝑋 ≤ 2
𝑌 = 5𝑋 + 7 … 𝑠𝑖 2 < 𝑋 ≤ 10
𝑌=0 … 𝑠𝑖 𝑋 ≤ −3 𝑜 𝑋 > 10
Calcular Y.
2. Determine el grado de un acero bajo las siguientes condiciones: el acero se considera de grado 1 si T1 excede a
0.95 y T2 excede a 0.75; de grado 2 si T1 excede a 0.95 pero T2 no excede a 0.75; y de grado 3 si T1 no es mayor
que 0.95
3. Escriba un método que pida por pantalla una temperatura en grados Celsius, muestre un menú para convertirlos a
Fahrenheit o Kelvin y muestre el equivalente por pantalla.
4. Escriba un método que reciba su código y halle el producto de los 4 primeros dígitos,
5. Escriba un método que reciba su código y halle el producto de los 4 últimos dígitos,
6. Escriba un método que reciba su código y halle el producto de los 4 dígitos centrales
7. Calcular el total a pagar considerando: que el impuesto de venta es del 6% en cualquier compra de 500 soles o
menos, pero es de 8.5% en una compra superior a los 500 soles. Si el impuesto es mayor a 550 soles se deberá
hacer un descuento de 1% sólo al valor del impuesto.
8. Un corredor reporta el número de minutos que corre todos los días en un diario por año. Realice una programación
que pida al usuario un número total en minutos que el corredor corre en el año y muestre la cantidad de tiempo
equivalente en meses, semanas, días, horas minutos.
9. Un distribuidor de material eléctrico vende alambre en rollos de 500, 300 y 75 pies. Describa un algoritmo que pida
al usuario una longitud total de alambres en pies que se requiere y envíe como salida el número de rollos de
alambre de 500, 300 y 75 pies y el número de pies que faltan para completar el último rollo.
10.Convertir las calificaciones numéricas 18 a 20, 14 a 17, 10 a 13, 5 a 9 y 0 a 4; a calificaciones alfabéticas A, B, C, D o
F respectivamente.
11.Para un valor de hora dado en el formato: HH, MM, SS, calcular la hora que será dentro de un minuto.
12.Lea una cantidad entera de soles e imprima la menor cantidad de billetes para formarla, si se dispone de billetes
de 50, 20, 10, y monedas de 5, 2 y un sol.
13.La compañía de teléfonos desea imprimir un recibo por consumo de llamadas locales, para ello será necesario tener
los siguientes datos: Nombre del abonado, Dirección, Número de teléfono, Número de llamadas.
14.Se asumirá que el costo por cada llamada será de 0.3 soles y el IGV de 19%.
15.Determinar la cantidad total a pagar por una llamada telefónica, teniendo en cuenta lo siguiente:
 Toda llamada que dure menos de tres minutos tiene un costo de S/. 0.50 soles.
 Cada minuto adicional a partir de los tres primeros es un paso de contador y cuesta S/. 0.10 soles.
Sección: PC1-192
Revisión: 01
Setiembre 2019
Problemas sobre condicionales (decisiones) if, switch / case

PREGUNTA 3:
 PSEINT
Algoritmo Ejercicio
Escribir "Digite la temperatura en grado celsius"
leer C
Escribir "Convertir a:"
Escribir " 1. Kelvin"
Escribir " 2. Fahrenheit"
Escribir "Elija la opción 1 o 2"
leer J
Si J=1 Entonces
K<-C+273.15
Escribir C," grados Celsius a Kelvin es: ",K
SiNo
Si J=2 Entonces
F<-(C*9/5)+32
Escribir C," grados Celsius a Fahrenheit es: ",F
SiNo
Escribir "Opcion invalida"
Fin Si
Fin Si
FinAlgoritmo

 DIAGRAMA DE FLUJO
Sección: PC1-192
Revisión: 01
Setiembre 2019
Problemas sobre condicionales (decisiones) if, switch / case

 C++
// Este codigo ha sido generado por el modulo psexport 20180802-w32 de PSeInt.
// Es posible que el codigo generado no sea completamente correcto. Si encuentra
// errores por favor reportelos en el foro (http://pseint.sourceforge.net).

#include<iostream>
using namespace std;

// Para leer variables de texto se utiliza el operador << del objeto cin, que
// lee solo una palabra. Para leer una linea completa (es decir, incluyendo los
// espacios en blanco) se debe utilzar getline (ej, reemplazar cin>>x por
// getline(cin,x)), pero obliga a agregar un cin.ignore() si antes del getline
// se leyó otra variable con >>.

int main() {
float c;
float f;
float j;
float k;
cout << "Digite la temperatura en grado celsius" << endl;
cin >> c;
cout << "Convertir a:" << endl;
cout << " 1. Kelvin" << endl;
cout << " 2. Fahrenheit" << endl;
cout << "Elija la opción 1 o 2" << endl;
cin >> j;
if (j==1)
{
k = c+273.15;
cout << c << " grados Celsius a Kelvin es: " << k << endl;
}
else
{
if (j==2)
{
f = (c*9/5)+32;
cout << c << " grados Celsius a Fahrenheit es: " << f << endl;
}
else
{
cout << "Opcion invalida" << endl;
}
}
return 0;
}
Sección: PC1-192
Revisión: 01
Setiembre 2019
Problemas sobre condicionales (decisiones) if, switch / case

PREGUNTA 4:
 PSEINT
Algoritmo EJERCICIO
Escribir 'Digite SOLO los numeros de su codigo'
Leer I
A es entero
A <- I MOD 10
B es entero
B <- ((I MOD 100)-A)/10
C es entero
C <- ((I MOD 1000)-A-B*10)/100
D es entero
D <- ((I MOD 10000)-A-B*10-C*100)/1000
E es entero
E <- ((I MOD 100000)-A-B*10-C*100-D*1000)/10000
F es entero
F <- ((I MOD 1000000)-A-B*10-C*100-D*1000-E*10000)/100000
G es entero
G<-((I MOD 10000000)-A-B*10-C*100-D*1000-E*10000-F*100000)/1000000
H Es Entero
H<-((I MOD 100000000)-A-B*10-C*100-D*1000-E*10000-F*100000-G*1000000)/10000000
J<- H*G*E*F
Escribir 'El producto de los 4 digitos centrales es: ',J
FinAlgoritmo

 DIAGRAMA DE FLUJO
Sección: PC1-192
Revisión: 01
Setiembre 2019
Problemas sobre condicionales (decisiones) if, switch / case

 C++
#include<iostream>
using namespace std;

// Para leer variables de texto se utiliza el operador << del objeto cin, que
// lee solo una palabra. Para leer una linea completa (es decir, incluyendo los
// espacios en blanco) se debe utilzar getline (ej, reemplazar cin>>x por
// getline(cin,x)), pero obliga a agregar un cin.ignore() si antes del getline
// se leyó otra variable con >>.

int main() {
int a;
int b;
int c;
int d;
int e;
int f;
int g;
int h;
int i;
float j;
cout << "Digite SOLO los numeros de su codigo" << endl;
cin >> i;
a = i%10;
b = ((i%100)-a)/10;
c = ((i%1000)-a-b*10)/100;
d = ((i%10000)-a-b*10-c*100)/1000;
e = ((i%100000)-a-b*10-c*100-d*1000)/10000;
f = ((i%1000000)-a-b*10-c*100-d*1000-e*10000)/100000;
g = ((i%10000000)-a-b*10-c*100-d*1000-e*10000-f*100000)/1000000;
h = ((i%100000000)-a-b*10-c*100-d*1000-e*10000-f*100000-g*1000000)/10000000;
j = h*g*e*f;
cout << "El producto de los 4 digitos centrales es: " << j << endl;
return 0;
}
Sección: PC1-192
Revisión: 01
Setiembre 2019
Problemas sobre condicionales (decisiones) if, switch / case

PREGUNTA 8:
 PSEINT
Algoritmo EJERCICIO
Escribir 'Digite los minutos que ha corrido durante todo el año '
Leer M
S<-M/(30*24*60)
K<-M/(7*24*60)
D<-M/(24*60)
H<-(M/60)
J<-M MOD 60
Escribir "El tiempo que corre es :"
Escribir "En meses es: ",TRUNC(S)," meses"
Escribir "En semanas es: ",TRUNC(K)," semanas"
Escribir "En dias es: ",TRUNC(D)," dias"
Escribir "En horas minutos es: ",TRUNC(H)," horas con ",J," minutos"
FinAlgoritmo

 DIAGRAMA DE FLUJO
Sección: PC1-192
Revisión: 01
Setiembre 2019
Problemas sobre condicionales (decisiones) if, switch / case

 C++
// Este codigo ha sido generado por el modulo psexport 20180802-w32 de PSeInt.
// Es posible que el codigo generado no sea completamente correcto. Si encuentra
// errores por favor reportelos en el foro (http://pseint.sourceforge.net).

#include<iostream>
#include<cmath>
using namespace std;

// Para leer variables de texto se utiliza el operador << del objeto cin, que
// lee solo una palabra. Para leer una linea completa (es decir, incluyendo los
// espacios en blanco) se debe utilzar getline (ej, reemplazar cin>>x por
// getline(cin,x)), pero obliga a agregar un cin.ignore() si antes del getline
// se leyó otra variable con >>.

int main() {
float d;
float h;
float j;
float k;
int m;
float s;
cout << "Digite los minutos que ha corrido durante todo el año " << endl;
cin >> m;
s = m/(30*24*60);
k = m/(7*24*60);
d = m/(24*60);
h = (m/60);
j = m%60;
cout << "El tiempo que corre es :" << endl;
cout << "En meses es: " << int(s) << " meses" << endl;
cout << "En semanas es: " << int(k) << " semanas" << endl;
cout << "En dias es: " << int(d) << " dias" << endl;
cout << "En horas minutos es: " << int(h) << " horas con " << j << " minutos" << endl;
return 0;
}
Sección: PC1-192
Revisión: 01
Setiembre 2019
Problemas sobre condicionales (decisiones) if, switch / case

PREGUNTA 10:
 PSEINT
Algoritmo EJERCICIo
Escribir "Digite la nota numerica "
Leer M
Si M<=4 Entonces
Escribir "La nota alfabetica es F"
SiNo
Si M<=9 Entonces
Escribir "La nota alfabetica es D"
SiNo
Si M<=13 Entonces
Escribir "La nota alfabetica es C"
SiNo
Si M<=17 Entonces
Escribir "La nota alfabetica es B"
SiNo
Si M<=20 Entonces
Escribir "La nota alfabetica es A"
SiNo
Escribir "La maxima nota en el sistema numerico es 20, intente de nuevo"
Fin Si
Fin Si
Fin Si
Fin Si
Fin Si
FinAlgoritmo

 DIAGRAMA DE FLUJO
Sección: PC1-192
Revisión: 01
Setiembre 2019
Problemas sobre condicionales (decisiones) if, switch / case

 C++
// Este codigo ha sido generado por el modulo psexport 20180802-w32 de PSeInt.
// Es posible que el codigo generado no sea completamente correcto. Si encuentra
// errores por favor reportelos en el foro (http://pseint.sourceforge.net).

#include<iostream>
using namespace std;

// Para leer variables de texto se utiliza el operador << del objeto cin, que
// lee solo una palabra. Para leer una linea completa (es decir, incluyendo los
// espacios en blanco) se debe utilzar getline (ej, reemplazar cin>>x por
// getline(cin,x)), pero obliga a agregar un cin.ignore() si antes del getline
// se leyó otra variable con >>.

int main() {
float m;
cout << "Digite la nota numerica " << endl;
cin >> m;
if (m<=4)
{
cout << "La nota alfabetica es F" << endl;
}
else
{
if (m<=9)
{
cout << "La nota alfabetica es D" << endl;
}
else
{
if (m<=13)
{
cout << "La nota alfabetica es C" << endl;
}
else
{
if (m<=17)
{
cout << "La nota alfabetica es B" << endl;
}
else
{
if (m<=20)
{
cout << "La nota alfabetica es A" << endl;
}
else
{
cout << "La maxima nota en el sistema numerico es 20, intente de nuevo" << endl;
}
}
}
}
}
return 0;
}

Você também pode gostar