Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Banco de Preguntas Segundo Parcial Programacion 2 2021

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 39

PROGRAMACIÓN

BANCO DE PREGUNTAS
SEGUNDO PARCIAL

DOCENTES PARTICIPANTES:

• Ing. IVAN LUNA HEREDIA


• Ing. SERGIO UREÑA MERIDA
• Ing. ERIKA CRUZ VELA
• Ing. OSAMU YOKOSAKI PEÑARANDA
• Lic. CLAUDIA YAÑIQUEZ MAGNE
• Lic. CYNTHIA RODRIGUEZ CANAVIRI

LA PAZ – BOLIVIA
II / 2021

1
UIDADES TEMÁTICAS A EVALUAR:
• Algoritmos Repetitivos
• Fundamentos de Programación
El contenido de las unidades temáticas está reflejado en los siguientes ejercicios a
través de la utilización de estructuras repetitivas y fundamentos de programación en
el Lenguaje C++, mismos que fueron organizados a partir de su complejidad.
EJERCICIO DE COMPLEJIDAD SIMPLE: (CONTADORES, LOTES DE
NÚMEROS)
NOTA: 3 Puntos
Puntos a evaluar:
Análisis: 0,5 Pts
Pseudocódigo: 1 Pt.
Diagrama de Flujo: 1 Pt.
Prueba de escritorio: 0,5 Pts

1. Diseñe un programa donde ingrese N números enteros positivos por teclado y


realice el proceso para visualizar cuantos números primos ingresaron.

2
2. Hacer un algoritmo para calcular el resto y cociente por medio de restas
sucesivas

3
3. Realizar un algoritmo que nos permita saber cuál es el número mayor y
menor, se debe ingresar sólo veinte números.

4
4. Hacer un algoritmo que imprima la tabla de multiplicar de números del uno
al nueve.

5. Diseñe un algoritmo que muestre las raíces cuadradas de todos los


números entre 11 y 30.

5
6. Realice un algoritmo en el que se introduzca 5 números y se halle la suma de
los números pares.

6
7. Realice el algoritmo que lea 5 número e indique si se ha introducido algún
número par.

7
8. Hacer un algoritmo para determinar la media de una lista de números positivos,
se debe acabar el programa al ingresar un número negativo.

8
9. Realizar el diagrama de flujo, para pedir un lote de números hasta que se introduzca
un número negativo, de los cuales se debe sumar solo los números primos. Ejemplo,
si ingresan 4, 7, 5, 41, 22, -6 se muestra la suma es S=7+5+41=53

9
10. Un docente desea saber cual es promedio de las notas de un curso para ello
se necesita saber cuantos estudiantes hay (N) y cuales son las notas de cada
uno.

10
EJERCICIO DE COMPLEJIDAD MEDIA: (DIVISORES, DESCOMPOSICION DE
DÍGITOS)
NOTA: 3 Puntos
Puntos a evaluar:
Análisis: 0,5 Pts.
Diagrama de Flujo: 1 Pt.
Prueba de escritorio: 0,5 Pts.
Código en C++: 1 Pt.

11
1. Dado un numero entero positivo de más de 3 dígitos, componer un numero
con los dígitos que son números primos.
Ejemplo
Si 35689
Entonces el nuevo numero es 53
DIAGRAMA DE FLUJO

PSEUDOCODIGO
Algoritmo sin_titulo
Repetir
Escribir "ingrese un numero de mas de 3 digitos"
Leer X
Hasta Que X>0
NN = 0
c=0
Mientras X>0 Hacer

12
D = X MOD 10
X = TRUNC(X/10)
Para i<-1 Hasta D Hacer
Si D MOD i=0 Entonces
c = c+1
FinSi
FinPara
Si c=2 Entonces
NN = NN*10+D
FinSi
C=0
FinMientras
Escribir "EL NUMERO COMPUESTO POR LOS DIGITPOS PRIMOS ES", NN
FinAlgoritmo

CODIGO FUENTE
#include<iostream>
using namespace std;
int main() {
float c;
int d, i;
float nn;
int x;
do { cout << "ingrese un numero de mas de 3 digitos" << endl;
cin >> x;
} while (x<=0);
nn = 0;
c = 0;
while (x>0) {
d = x%10;
x = int(x/10);
for (i=1;i<=d;i++) {
if (d%i==0) {
c = c+1;
}
}
if (c==2) {
nn = nn*10+d;
}
c = 0;
}
cout << "EL NUMERO COMPUESTO POR LOS DIGITPOS PRIMOS ES" << nn << endl;
return 0;
}

13
2. Dado un numero W armar un numero con los divisores del número menores
que el numero
Por ejemplo
Si W=12 sus divisores menores son 1,2,3,4,6, entonces el NN=12346

DIAGRAMA DE FLUJO

PSEUDOCODIGO
Algoritmo sin_titulo
Repetir
Escribir "INGRESAR UN NUMERO POSITVO"
Leer X
Hasta Que X>0
NN = 0
Para i<-1 Hasta X-1 Hacer
Si X MOD i =0 Entonces
NN = NN*10+i
FinSi
FinPara
Escribir "el numero conofmado por los divisores es" , NN
FinAlgoritmo

14
CODIGO FUENTE
#include<iostream>
using namespace std;
int main() {
int i, nn, x;
do {
cout << "INGRESAR UN NUMERO POSITVO" << endl;
cin >> x;
} while (x<=0);
nn = 0;
for (i=1;i<=x-1;i++) {
if (x%i==0) {
nn = nn*10+i;
}
}
cout << "el numero conofmado por los divisores es" << nn << endl;
return 0;
}

3. Realizar un programa para introducir un número entero positivo, realizar el


proceso para sumar el factorial de los dígitos pares y el cuadrado de los impares,
visualizar el resultado.

Ej: N= 5432 → 52 + 4! + 32 + 2! = 25 + 24 + 9 + 2 = 60
{
int N, X, F, Y;
float Suma;
cout<<endl<<"Ingrese Numero:";
cin>>N;
while (N>0)
{
X=N%10;
N=N/10;
Y=X%2;
F=1;
if (Y==0)
{
for (int I=X;I>=1;I--)
{
F=F*I;
}
}
else
{
F=X*X;
}
Suma=Suma + F;
}
cout<<endl<<"LA SUMA DE TERMINOS ES: "<<Suma<<endl;
}

15
4. Realizar un programa para ingresar un número entero positivo de 2 dígitos
(hacer la verificación de este requisito), realizar el proceso para hallar y
visualizar la suma de todos los residuos de cada división desde 1 hasta el
número ingresado.

5. Realice el diagrama de flujo para ingresar un número y eliminar los dígitos de


posiciones pares de derecha a izquierda
Ejemplo: N=5132811, el número obtenido es: 1835

16
17
6. Hacer un algoritmo que nos permita saber si un número es un número perfecto.
Un número es perfecto si la suma de sus divisores menores que el da igual al
mismo número.
Por ejemplo, X=8
DIVISORES 1,2,4
S= 1+2+4 =7 ENTONCES 8 NO ES PERFECTO

18
7. Diseñar un algoritmo que nos permita convertir un numero decimal a
hexadecimal.

19
20
8. Separa un número entero en sus dígitos, luego mostrarlos uno por uno y su
posición de izquierda a derecha.

21
EJERCICIO DE COMPLEJIDAD ALTA: (SERIES SUCESIONES Y SUMATORIA,
MISCELANEAS)
NOTA: 4 Puntos
Puntos a evaluar:
Diagrama de Flujo: 1,5 Pts.
Prueba de escritorio: 1 Pt.
Código en C++:1,5 Pts.
22
1. Generar los N términos de la siguiente serie
Si N=6

DIAGRAMA DE FLUJO:

PSEUDOCODIGO:
Algoritmo sin_titulo
Repetir
Escribir 'INGRESE EL TAMANIO DEL TRIANGULO'
Leer N
Hasta Que N>0
n2 <- N
N1 <- N
C <- N*2-1

23
Para i<-1 Hasta N1 Hacer
Para j<-1 Hasta n2 Hacer
Escribir C, " " Sin Saltar
C = C-2
FinPara
Escribir " "
C = N*2-1
N2 = N1-i
FinPara
FinAlgoritmo

CODIGO EN C++:
#include<iostream>
using namespace std;
int main() {
float c;
float i;
float j;
float n;
float n1;
float n2;
do {
cout << "INGRESE EL TAMANIO DEL TRIANGULO" << endl;
cin >> n;
} while (n<=0);

n2 = n;
n1 = n;
c = n*2-1;
for (i=1;i<=n1;i++) {
for (j=1;j<=n2;j++) {
cout << c << " ";
c = c-2;
}
cout << " " << endl;
c = n*2-1;
n2 = n1-i;
}
return 0;
}

24
2. Realizar un programa para introducir un número entero por teclado y visualizar
en pantalla el siguiente triángulo de números. EJEMPLO: N=7

1111111
222222
33333
4444
555
66
7

int main ()
{
int N,i,j,y,x;
cout<<"Programa para formar un triangulo de
numeros"<<endl;
cout<<"Introducir un numero entero: ";
cin>>N;
y=N;
for (i=1;i<=N;i++)
{
for (j=1;j<=y;j++)
{
cout<<i<<" ";
}
y=y-1;
cout<<endl;
}

3. Realizar el diagrama de flujo y su correspondiente codificación.

calcule la siguiente sumatoria, para n términos.

25
4. Hacer un algoritmo que cumpla con la aproximación del número pi con la
serie:

Pi = (4/1) - (4/3) + (4/5) - (4/7) + (4/9) - (4/11) + (4/13) - (4/15) ...

26
27
5. Calcule la siguiente sumatoria, para n términos.

28
PROGRAMA EN C++

#include<iostream>
#include<math.h>
using namespace std;
main()
{
int a,f,i,j,n;
float s,x;
cout << "Introduce el valor de x";
cin >> x;
cout << "Introduce el tamaño de la serie ";
cin >> n;
a = 1;
for (i=1;i<=n;i++) {
f = 1;
for (j=1;j<=a;j++)
{
f = f*j;
}
if (i%2==1)
{
s = s+((pow(x,a))/f);
}
else
{
s = s-((pow(x,a))/f);
}
a = a+2;
}
cout << "El valor del Seno de x es: " << s;
}

6. Calcular la sumatoria de los N términos de la siguiente serie:


0, 3, 8, 15, 24, 35, 48, 65,80,99,120,143…….
SI N= 5
S=0 +3+ 8 + 15 +24 = 50

29
30
7. Escriba un programa que determine si dos números son amigos. Los números
amigos son dos números enteros positivos a y b tales que la suma de los
divisores propios de uno es igual al otro número y viceversa.
El ejemplo más conocido es el de 220 y 284.
Los divisores de 220 son 1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110.
Si hacemos la suma 1+2+4+5+10+11+20+22+44+55+110 = 284.
igual, los divisores de 284 son 1, 2, 4, 71, 142.
Al sumarlos 1+2+4+71+142 = 220
Así vemos como 220 y 284 son números amigos

DIAGRAMA DE FLUJO

31
PSEUDOCODIGO
Algoritmo sin_titulo
sa = 0
sb = 0
Repetir
Escribir "ingrese numero a"
Leer a
Hasta Que a>0
Repetir
Escribir "ingrese numero b"
Leer b
Hasta Que b>0
Para i<-1 Hasta a-1 Hacer
Si a mod i=0 Entonces
sa = sa+i
FinSi
FinPara
Para i<-1 Hasta b-1 Hacer
Si b mod i=0 Entonces
sb = sb+i
FinSi
FinPara
Si sa=b & sb=a Entonces
Escribir sa, " "
Escribir sb, " "
Escribir "numeros amigos"
SiNo
Escribir sa, " "
Escribir sb," "
Escribir "no son numeros amigos"
FinSi
FinAlgoritmo

CODIGO FUENTE
#include<iostream>
using namespace std;

int main() {
int a, b, i, sa, sb;
sa = 0;
sb = 0;
do {
cout << "ingrese numero a" << endl;
cin >> a;
} while (a<=0);
do {

32
cout << "ingrese numero b" << endl;
cin >> b;
} while (b<=0);
for (i=1;i<=a-1;i++) {
if (a%i==0) {
sa = sa+i;
}
}
for (i=1;i<=b-1;i++) {
if (b%i==0) {
sb = sb+i;
}
}
if (sa==b && sb==a) {
cout << sa << " " << endl;
cout << sb << " " << endl;
cout << "numeros amigos" << endl;
} else {
cout << sa << " " << endl;
cout << sb << " " << endl;
cout << "no son numeros amigos" << endl;
}
return 0;
}

8. Ingresa los precios de N productos de un supermercado los productos


pueden ser de 3 tipos y según el tipo presentan un porcentaje de descuento
tipo:
• Tipo 1: Lácteos - 5%
• Tipo 2: Panadería - 7%
• Tipo 3: Productos para el hogar - 10%
• En otro caso: no hay descuento.
Debe calcular el total, pedir el monto con el que se está pagando e imprimir
el cambio.
Ejemplo
Producto 1 Producto 2 Producto 3 Otros
Tipo 1 Tipo 2 Tipo 3 Productos
precios 100 30 50 200
Con el 95 27.9 45 200
descuento
Total 367.9
Se pago con 400
Cambio 32.1

33
PSEUDOCODIGO:

Algoritmo sin_titulo
pd = 0
Repetir
Escribir "ingrese cantidad de productos"
Leer n
Hasta Que n>0
Escribir "ingrese los precios de los productos"
Para i<-1 Hasta n Hacer
Escribir "producto", i, " precio "
Leer p
Escribir "tipo"
Leer t
Segun t Hacer

34
1:
pd = p-p*0.05
2:
pd = p- p*0.07
3:
pd = p-p*0.1
De Otro Modo:
pd = p
FinSegun
total = total +pd
FinPara
Escribir "su compra es por el total de :", total
Escribir "con cuanto pagara"
Leer pago
cambio = pago-total
Escribir "total----->",total
Escribir "Pago con----->", pago
Escribir "su cambio es------> ", cambio
FinAlgoritmo
CODIGO EN C++:

#include<iostream>
using namespace std;
int main() {
float cambio;
float i;
float n;
float p;
float pago;
float pd;
int t;
float total;
pd = 0;
do {
cout << "ingrese cantidad de productos" << endl;
cin >> n;
} while (n<=0);
cout << "ingrese los precios de los productos" << endl;
for (i=1;i<=n;i++) {
cout << "producto" << i << " precio " << endl;
cin >> p;
cout << "tipo" << endl;
cin >> t;
switch (t) {
case 1:
pd = p-p*0.05;
break;
case 2:

35
pd = p-p*0.07;
break;
case 3:
pd = p-p*0.1;
break;
default:
pd = p;
}
total = total+pd;
}
cout << "su compra es por el total de :" << total << endl;
cout << "con cuanto pagara" << endl;
cin >> pago;
cambio = pago-total;
cout << "total----->" << total << endl;
cout << "Pago con----->" << pago << endl;
cout << "su cambio es------> " << cambio << endl;
return 0;
}

9. El número mágico de una persona puede considerarse como la suma de las


cifras de su día de nacimiento, repitiendo el proceso hasta que la suma de las
cifras devuelva un número menor de 10. Leer la fecha de nacimiento de una
persona, utilizando el formato aaaammdd (utilizando un único entero) y calcular
su número mágico.

CODIGO EN C++
#include<iostream>
using namespace std;
main()
{
int a,ano,c,dia,mes,s;
cout << "Numero magico\n";
cout << "Formato: aaaammdd\n";
do
{
cout << "Año";
cin >> ano;
} while (ano<=0);
do
{
cout << "Mes";
cin >> mes;
} while (!(mes>0 && mes<=12));
do
{
cout << "Dia";

36
cin >> dia;
} while (!(mes>0 && dia<=31));
cout << ano << "-" << mes << "-" << dia<<"\n";
n = ano*10000+mes*100+dia;
cout << n<<"\n";
s = 0;
c = 0;
do
{
s=0;
while (n!=0)
{
a = n%10;
n = n/10;
s = s+a;
}
n = s;
} while (s>=10);
cout << s << "\n";
}

37
10. Durante la emisión de un programa televisivo de una hora se realizan cuatro
cortes comerciales, ingresar el tiempo de duración de cada corte comercial,
cada segundo de comercial cuesta 10Bs. en ese horario. Calcular los siguientes
elementos:
• Tiempo total de comerciales.
• Tiempo medio de duración de todos los comerciales
• Ingreso obtenido por cada corte comercial.
• Ingreso total obtenido en el programa.

38
PSEUDOCODIGO:

Proceso COMERCIALES
Definir i,seg Como Entero
t=0
ti=0
ic = 0
Para i<-1 Hasta 4 Hacer
Escribir "Ingrese el tiempo de un comercial: "
Leer seg
t = t + seg
ic = 10*seg
Escribir "El costo de cada comercial es: ", ic
ti= ti + ic
FinPara
Escribir "El tiempo total de los comerciales es: ",t
tm= t/4
Escribir "El tiempo medio de los comerciales es: ", tm
Escribir "El ingreso total obtenido es: ", ti
FinProceso

39

También podría gustarte