SlideShare ist ein Scribd-Unternehmen logo
1 von 42
MARCO BAUTISTA CARRANZA-303
Programación Orientada a Objetos
Profesor: Rene Domínguez Escalona
Alumno: Marco Bautista Carranza
Grado: 2 semestre
Grupo: 303
Turno: Matutino
MARCO BAUTISTA CARRANZA-303
INDICE
A) RESTA Y MULTIPLICACION
B) FRECUENCIAS
C) SUMANDO
D) ORDENANDO
E) PASSWORD
F) A+B
G) MENSAJE SUMAS
I.) MULTIPLICANDO
J) MISION CALCULAR AREA
K) CUADRADO
L) BARDEANDO
M) MATRIZ CUADRADA
N) AREA DE UN RECTANGULO
O) AREA DE UN TRIANGULO
P.) ORDENA A LOS ALUMNOS
Q) OBTENER PROMEDIO
R) EL EXCURSIONISTA MAYOR
S) BISIESTO
T) FIGURAS RECTANGULARES
U) TRIANGULO
V) SUMA TRIPLE
W) DEUDA
MARCO BAUTISTA CARRANZA-303
A. Resta y multiplicación
Puntos 100 Límite de memoria 32MB
Límite de tiempo (caso) 1s Límite de tiempo (total) 60s
Descripción
Haz un sencillo programa que lea 4 variables nombradas A, B, C y D. Y calcula e
imprima la multiplicación de la diferencia de A y B con la diferencia de C y D. (A−B
C−D)
Entrada
Cuatro números enteros
Salida
El producto de la diferencia con 4 variables de acuerdo al ejemplo.
Ejemplo
10 6 8 3 20
CODIGO fuente:
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
int a,b,c,d,k,h,suma=0; EJECUCION:
cin>>a;
cin>>b;
cin>>c;
cin>>d;
k=a-b;
h=c-d;
suma=k*h;
cout<<suma<<endl;
return 0;
}
MARCO BAUTISTA CARRANZA-303
B. Frecuencias
Puntos 100 Límite de memoria 4MB
Límite de tiempo (caso) 0.25s Límite de tiempo (total) 60s
Descripción
Cierta escuela realiza cuestionarios para conocer al profesor favorito de los
alumnos. Y lo realiza de la siguiente manera; a cada profesor se le asigna un número
posteriormente a cada alumno se le pregunta cuál es su profesor favorito,
posteriormente, se calcula una tabla de frecuencia indicando en cada profesor cual
es la cantidad de alumnos que lo eligieron.
Problema
Escribe un programa que ayude a la escuela a escribir la tabla de frecuencias.
Entrada
En la primera línea el número “P” que indica la cantidad de profesores que tiene la
escuela donde 1<=P <= 100 y el número “n” que indica la cantidad de alumnos en
la escuela donde 1<=n<=1000. En la siguiente línea habrán “n” números que
representan el número de profesor favorito “F” de cada alumno donde 1<=F<=P.
Salida
Deberá haber “P” cantidad de líneas y en cada una dos números separados por un
guion, el primer número será el número del profesor y el segundo número la cantidad
de alumnos que lo eligieron.
Consideraciones
Tu programa se evaluará con varios casos de prueba.
Ejemplos
ENTRADA SALIDA DESCRIPCION
4 10
1 1 2 1 1 2 3 2 3 4 1-4
2-3
3-2
4-1
Caso#1:
4 8
1 2 4 1 2 4 1 2
1-3
2-3
3-0
4-2
Caso #2:
MARCO BAUTISTA CARRANZA-303
Código fuente:
#include<iostream>
using namespace std;
int main (){
int n,p;
cin>>n >>p;
int a[p];
int b[n]={0};
for(int i=0;i<p;i++){
cin>>a[i];
}
for(int j=0;j<p;j++){
b[a[j]-1]++;
}
for(int i=0;i<n;i++){
cout<<i+1<<"-"<<b[i]<<endl;
}
return 0;
}
MARCO BAUTISTA CARRANZA-303
EJECUCION:
C. pb Sumando
Puntos 100 Límite de memoria 16MB
Límite de tiempo (caso) 0.5s Límite de tiempo (total) 60s
Problema
Se tiene un matriz cuadrada de tamaño “n” y se requiere saber cuánto suma cada
columna.
Entrada
En el primer renglón un valor “n” indicando el tamaño de la matriz donde
1<=n<=1000 y en los siguientes “n” renglones habrán “n” valores correspondientes
los valores de cada renglón de la matriz donde 1<=V<= 1000.
Salida
Un renglón con “n” cantidades, cada cantidad representa la sumatoria de cada
columna de la matriz, el primer valor corresponde a la columna 1, el segundo a la
columna 2,... y el último valor corresponde a la columna “n”.
Consideraciones
Tu programa se evaluará con varios casos de prueba.
Ejemplos
Entrada Salida Descripción
3
1 2 3
3 5 6
7 8 9
11 15 18 Caso #1:
MARCO BAUTISTA CARRANZA-303
CODIGO FUENTE:
#include<iostream>
using namespace std;
int main (){
int n;
cin>>n;
int a[n][n];
int b[n]{0};
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>a[i][j];
b[j]+=a[i][j];
}
}
for(int j=0;j<n;j++){
cout<<b[j]<<" ";
}
cout<<endl;
}
Ejecucion:
4
3 2 4 3
2 3 3 2
7 8 5 3
1 1 1 1
13 14 13
9
Case #2:
MARCO BAUTISTA CARRANZA-303
D.Ordenando
Puntos 100 Límite de memoria 4MB
Límite de tiempo (caso) 0.5s Límite de tiempo (total) 60s
Problema
Dada una lista de números enteros hay que determinar si la lista esta ordenada de
menor a mayor, de mayor a menor o sencillamente no está ordenada.
Entrada
En la primera línea un valor “n” indicando la cantidad de valores que conforma la
lista, donde
3<=n<=1000, en la segunda línea los “n” números separados por un espacio, cada
número está en el rango de 1 a 1,000,000,000.
Salida
Una sola línea con 3 posibles valores, si la lista está ordenada de menor a mayor
debes escribir la palabra “CRECIENTE” si la lista esta ordenada de mayor a menor
debes escribir la palabra
“DECRECIENTE” y si la lista no está ordenada debes escribir la frase “NO
ORDENADA”. Te aseguramos que no existe un caso con posibilidadde empate (que
pueda ser creciente y decreciente).
Consideraciones
Tu programa se evaluará con varios casos de prueba.
Ejemplos
ENTRADA SALIDA DESCRIPCION
5
10 20 30
40 40
CRECIENTE
Case #1:
3
3 2 2
DECRECIENTE
Case #2:
4
1 10 10 5
NO
ORDENADA Case #3:
MARCO BAUTISTA CARRANZA-303
Código fuente:
#include <iostream>
using namespace std;
int main() {
int n,k=0,l=0;
cin>>n;
int a[n];
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n;i++){
if(a[i]<a[i+1]) {
k+=1;
}
if(a[i]>a[i+1]){
l+=1; }
}
if(k==n){
cout<<"creciente";
}
else if(l==n-1){
cout<<"decreciente";
}else
{
cout<<"no ordenada";
} return 0;
}
MARCO BAUTISTA CARRANZA-303
E.Password
Puntos 100 Límite de memoria 4MB
Límite de tiempo (caso) 1s Límite de tiempo (total) 60s
Descripción
Para que un password sea seguro debe seguir las siguientes reglas:
• Tener al menos una vocal.
• No tener dos o más caracteres consecutivos iguales.
• Tener una longitud de al menos 12 caracteres.
• Tener al menos un carácter numérico.
Problema
Escribe un que nos ayude a determinar si un password es seguro o no.
Entrada
En la primera línea un número n indicando la cantidad de caracteres que conforman
el password, donde 1≤n≤100, en la siguiente línea n caracteres que pueden ser
letras de la A a la Z, números del 1 al 9. las letras minúsculas y mayúsculas se
consideran diferentes.
Salida
Si el password es seguro de acuerdo a las reglas establecidas debes escribir la
palabra SEGURO en caso contrario debes escribir la frase INSEGURO.
Consideraciones
Tu programa se evaluará con varios casos de prueba.
Ejemplos
ENTRADA SALIDA
5 abcdd
INSEGURO
12
aft156YTU512
SEGURO
MARCO BAUTISTA CARRANZA-303
CODIGO FUENTE:
#include<iostream>
using namespace std;
int main(){
int password;
cin>>password;
if(password<12){
cout<<"INSEGURO";
}else
cout<<"SEGURO";
}
EJECUCION:
F. A+B
Puntos 100 Límite de memoria 32MB
Límite de tiempo (caso) 1s Límite de tiempo (total) 60s
MARCO BAUTISTA CARRANZA-303
Descripción
Este problema consiste en crear un programa que sume dos números.
Entrada
Dos números A y B separados por un espacio.
Salida
Imprime A+B
Ejemplo
Entrada Salida Descripción
1 2 3
1+2=3
5 10 15
5+10=15
CODIGO FUENTE:
#include <iostream>
using namespace std;
int main() {
int A,B,suma=0;
cin>>A,B;
cin>>B;
suma=A+B;
cout<<suma<<endl;
}
MARCO BAUTISTA CARRANZA-303
G. E-S Mensaje Sumas
Puntos 100 Límite de memoria 32MB
Límite de tiempo (caso) 1s Límite de tiempo (total) 60s
Descripción
Es un problema muy simple, para acostumbrarse a los jueces automáticos, lo que
tienes que hacer es recibir dos números y con estos dos números los sume y
muestre la salida indicando el mensaje de la suma como se muestra en el ejemplo.
Entrada
Un número entero a y un número entero b.
Salida
Debe mostrar el siguiente mensaje donde a y b debe sustituirse por los valores que
recibe como entrada el programa y la palabra resultado por la suma de ambos
números, asegúrate de respetar mayúsculas y minúsculas y los espacios en blanco
intermedios.
La suma de a + b es resultado
Ejemplo
ENTRADA SALIDA
1
2
La suma de 1 + 2 es
3
CODIGO Fuente:
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
int a,b,suma=0;
cin>>a;
cin>>b;
suma=a+b;
cout<<"La suma de "<< a << " + " << b << " es " << suma <<endl;
return 0;
MARCO BAUTISTA CARRANZA-303
Ejecución:
I. Multiplicando
Puntos 100 Límite de memoria 32MB
Límite de tiempo (caso) 1s Límite de tiempo (total) 60s
Descripción
Se requiere que realices un un calculo a partir de recibir un número, entregar el
producto de los números consecutivos del 1 a n, por ejemplo si recibes el 3 el
resultado es 6, es decir el resultado de multiplicar 1×2×3.
Entrada
Un único entero n.
Salida
La multiplicación de los números consecutivos del 1 al n.
Ejemplo
ENTRADA SALIDA
5
120
Código fuente:
#include <iostream>
using namespace std;
int main() {
int a,b;
cin>>a;
b=(a*2)+1;
MARCO BAUTISTA CARRANZA-303
switch(b)
{
case 1:
cout<<" Lunes";
break;
case 2:
cout<<" Martes";
break;
case 3:
cout<<" Miercoles";
break;
case 4:
cout<<" Jueves";
break;
case 5:
cout<<" Viernes";
break;
case 6:
cout<<" Sabado";
break;
case 7:
cout<<" Domingo";
break;
default:
cout<< " Error";
break;
}
return 0;
MARCO BAUTISTA CARRANZA-303
J. Misión Calcular Area
Puntos 100 Límite de memoria 32MB
Límite de tiempo (caso) 1s Límite de tiempo (total) 60s
Descripción
Tu misión si decidesaceptarla es encontrar el área de un cilindro, cuya formula como
bien sabes es 2PIr*h donde PI es 3.1416 y r:representa el radio y h:la altura. pero
cuidado por que no estan sencillo resolver el problema el resultado lo debes entregar
con 2 cifras decimales despues del
punto.
Entrada
1 2
Salida
12.57
Notas
El primer número que recibes es el radio y el segundo número es la altura.
La misión aunque parecia muy sencilla, se va a complicar por que si el primer
número que lees es el -1 debes ignorarlo y en seguida leer el radio y posteriormente
la altura. ||end
Código fuente:
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int r,h;
float p=3.1416;
double c=0;
cin>>r;
if(r<0){
cin>>r;
MARCO BAUTISTA CARRANZA-303
}
cin>>h;
if(h<0){
cin>>h;
}
c=(2*p)*r*h;
std::cout << std::fixed;
std::cout << std::setprecision(2) << c <<endl;}
K.Cuadrado
Puntos 100 Límite de memoria 16MB
Límite de tiempo (caso) 1s Límite de tiempo (total) 60s
Descripción.
A continuación te mostramos un giro de 90 grados a la derecha de una matriz de 2
por 2 cuyos valores son:
Matriz original
1 2
3 4
Matriz Girada 90° a la derecha
3 1
4 2
MARCO BAUTISTA CARRANZA-303
Problema
Dada una matriz cuadrada de tamaño “n” , debes hacer que tu programa la gire 90
grados a la derecha.
Entrada
En la primera línea el valor “n” indicando el tamaño de la matriz donde 1<=n<=1000,
en los siguientes “n” renglones habrán “n” valores de la matriz separados por un
espacio.
Salida
“n” renglones cada renglón con "n" valores mostrando la matriz girada 90 grados.
Consideraciones Tu programa se evaluará con varios casos de prueba
Ejemplo
ENTRADA SALIDA DESCRIPCION
2
1 2
3 4
3 1
4 2
Case #1:
3
1 2 3
4 5 6
7 8 9
7 4 1
8 5 2
9 6 3
Case #2:
CODIGO fuente:
#include <iostream>
using namespace std;
main()
{
int n;
cin>>n;
int a[n][n];
if(1<=n<=1000)
{
for(int i=0;i<n;i++)
MARCO BAUTISTA CARRANZA-303
{
for(int j=0;j<n;j++)
{
cin>>a[i][j];
}
}
cout<<endl<<endl;
for (int i=0;i<n;i++)
{
for(int j=n-1;j>=0;j--)
{
cout<<a[j][i]<<" ";
}
cout<<endl;
}
}
}
Ejecución:
MARCO BAUTISTA CARRANZA-303
L. pb Bardeando
Puntos 100 Límite de memoria 4MB
Límite de tiempo (caso) 0.25s Límite de tiempo (total) 60s
Descripción
Se tiene un conjunto de “n” trozos de malla ciclónica y un terreno de perímetro “P”
el terreno es cuadrado.
Problema
Debes escribir un programa que nos diga cuántos metros de malla ciclonica nos
hace falta para poder bardear el terreno.
Entrada
En la primera línea dos números “P” y "n", donde "P" representa el perímetro del
terreno con un rango de valores de 1<=P <= 2,000,000,000 y “n” representa la
cantidad de trozos de malla ciclónica que tenemos, donde 1<=n<=100,000. En las
siguientes “n” líneas es el tamaño de cada trozo de malla que tenemos. La suma de
todos los trozos siempre será menor a 2147483648.
Salida
Un único valor entero indicando los metros de malla que nos hacen falta para
bardear el terreno.
Ejemplos
Entrada Salida Descripción
100 3
25
20
45 Caso #1
Entrada Salida Descripción
10
100 2
1000
2000
0 Caso #2
MARCO BAUTISTA CARRANZA-303
21 1
20
1
Caso #3
Consideraciones
Tu programa se ejecutara con varios casos de prueba.
CODIGO FUENTE:
#include<iostream>
using namespace std;
int main(){
int P,n,c,m=0,falta=0;
cin>>P>>n;
for (int i=0;i<n;i++){
cin>>c;
m+=c;
}
falta=P-m;
if(m>P){
cout<<0;
}else
cout<<falta<<endl;
}
MARCO BAUTISTA CARRANZA-303
M. pb Matriz Cuadrada
Puntos 100 Límite de memoria 4MB
Límite de tiempo (caso) 0.25s Límite de tiempo (total) 60s
Descripción
Descripción Tenemos una matriz de “R” renglones por “C” columnas, donde
podemos enumerar las casillas de la siguiente manera, la casilla 1,1 (renglón 1,
columna 1), la casilla 1,2 (renglón 1, columna 2) y la casilla 1,3 (renglón 1, columna
3 ) serían respectivamente las posiciones 1, 2 y 3 como se puede ver en la figura,
donde la casilla 1,1 es la esquina superior izquierda y la celda “R” x “C” es la celda
ubicada en la esquina inferior derecha.
En esta cuadrícula, podemos hacer preguntas de la forma, ¿que número está en la
casilla 1,2 ? y su respuesta sería 2 otro ejemplo ¿qué número está en la celda 2,3?
y su respuesta es 6.
Problema
Escribe un programa que dada las dimensiones de la cuadrícula responda una
cantidad “P” de preguntas.
Entrada
En la primera línea dos valores indicando las dimensiones de la cuadrícula
separados por un espacio ‘R’ cantidad de renglones donde 1<=R<=10000 y “C”
cantidad de columnas donde 1<=C<=10000, En la tercera línea el número “P”
cantidad de preguntas donde 1<=P<=10,000 y en las siguientes “P” líneas un par
de coordenadas de la forma r, c, representando las coordenadas de cada pregunta
en donde “r” indica el renglón 1<=r<=R y “c” la columna 1<=c<=C por cada pregunta.
Salida
Por cada pregunta debe escribir en cada línea el número de casilla que le
corresponde.
MARCO BAUTISTA CARRANZA-303
Ejemplos
Entrada Salida Descripción
3 3 3
1 1
2 2
3 3
1 5 9 Caso #1
3 1000
2
2 1
2 10
1001
2010
Caso #2
Consideraciones
Tu programa se ejecutara con varios casos de prueba.
Tip
Tip Revise por cada renglón de preguntas cuántos valores debe avanzar, en la
Entrada 1 para la primera pregunta debe avanzar 0, para la segunda debe avanzar 3
y para la tercer pregunta debe avanzar 6.
CODIGO FUENTE: #include<iostream>
using namespace std;
int main(){
int r,c,p,r1;
cin>>r>>c>>p;
int g[p][2];
for( int i=0; i<p;i++){
for( int j=0; j<2;j++){
cin>>g[i][j];
}
}
for(int f=0;f<p;f++){
r=((g[f][0]-1)*c)+g[f][1];
MARCO BAUTISTA CARRANZA-303
cout<<r<<" ";
}
}
EJECUCION:
N. Área de un rectángulo
Puntos 100 Límite de memoria 32MB
Límite de tiempo (caso) 1s Límite de tiempo (total) 60s
Descripción
Se te darà la base y la altura de un rectángulo, deberás desplegar su área.
Entrada
Dós números b y a
Salida
La salida deberá ser el área del rectángulo
Ejemplo
12 5 60
2 7 14
MARCO BAUTISTA CARRANZA-303
CODIGO FUENTE:
#include <iostream>
using namespace std;
int main() {
int b,a,multiplicacion=0;
cin>>b;
cin>>a;
multiplicacion=b*a;
cout<<multiplicacion<<endl;
}
EJECUCION:
O. Área de un triángulo
Puntos 100 Límite de memoria 32MB
Límite de tiempo (caso) 1s Límite de tiempo (total) 60s
Descripción
Se te dará la base y la altura de un triángulo, deberás desplegar su área.
Entrada
Dós números b y a
Salida
La salida deberá ser el área del triángulo con dos decimales después del punto.
MARCO BAUTISTA CARRANZA-303
Ejemplo
12 5 30.00
3 5 7.50
CODIGO FUENTE:
#include <iostream>
#include<iostream>
#include<math.h>
#include <stdio.h>
#include <iomanip>
using namespace std;
main (){
float b,a;
double area;
cin>>b;
cin>>a;
area=(b*a)/2;
cout<<fixed<<setprecision(2)<<area;
}
EJECUCION:
MARCO BAUTISTA CARRANZA-303
P. 1 Ordena a los alumnos
Puntos 100 Límite de memoria 32MB
Límite de tiempo (caso) 1s Límite de tiempo (total) 60s
Descripción
Los Chicos de la escuela van a recibir un premio, pero tienen que estar formados de
la calificacion mayor a la menor, ya que el Profe Rayito quiere orden y dar el mejor
premio a la mejor calificacion, y asi sucesivamente.
Entrada
Primero hay que pedir la cantidad de Alumnos y despues las calificaciones
Salida
mostrar las calificaciones ordenadas del mayor al menor
Ejemplo
Entrada Salida Descripción
4
75 82 100 50
100 82 75 50
Cantidad de alumnos, y en la segunda linea las
calificaciones
CODIGO FUENTE:
#include <iostream>
using namespace std;
int main()
{
int n,aux;
cin>>n;
int a[n];
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int i=0;i<n;i++)
{
MARCO BAUTISTA CARRANZA-303
for(int j=0;j<n;j++)
{
if(a[i]>a[j])
{
aux=a[i];
a[i]=a[j];
a[j]=aux;
}
}
}
for(int i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
return 0;
}
MARCO BAUTISTA CARRANZA-303
Q. 1 Obtener promedio
Puntos 100 Límite de memoria 32MB
Límite de tiempo (caso) 1s Límite de tiempo (total) 60s
Descripción
EL maestro Melquiades quiere saber el promedio de calificaciones de su grupo, Por
lo que tu como programador le ayudaras codificando un programita que le pida una
cantidad de alumnos, y en seguida las calificaciones
Entrada
La cantidad de Alumnos y las "n" calificaciones en escala 0 al 100, sin decimales.
Salida
Mostrar el promedio con dos decimales.
Ejemplo
Entrada Salida Descripción
4
50 100 100
50
75.00
Pedir la Cantidad de alumnos, y las "n" calificaciones.
Mostrar el promedio con dos decimales.
Código fuente:
#include<iostream>
using namespace std;
int main () {
int n,a,p=0;
cin>>n;
cout<<endl;
for(int i=0;i<n;i++){
cin>>a;
p+=a;
MARCO BAUTISTA CARRANZA-303
}
float prom=p/n;
cout<<prom<<".00"<<endl;
}
R. 1 El excursionista Mayor
Puntos 100 Límite de memoria 32MB
Límite de tiempo (caso) 1s Límite de tiempo (total) 60s
Descripción
Los Falmos van de excursión, pero de todo el grupo de "humanitos" el que tiene la
mayor edad es al que se le entregara el dinero para la compra del material de
campamento. Ayudale a Mamá Falmo a saber quien es el que tiene la mayor edad.
Entrada
Preguntar cuantos van a ir de excursión, y la edad de cada uno.
Salida
Mostrar solo la edad mas grande.
MARCO BAUTISTA CARRANZA-303
Ejemplo
Entrada Salida Descripción
5
15 16 5 13
12
16
Pedir la cantidad de Excursionistas, y la edad de cada
uno.Desplegar la Edad del mayor.
Código fuente:
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int a[n];
for(int i=0;i<=n-1;i++)
cin>>a[i];
int mayor=0;
for(int j=0;j<=n-1;j++){
if(mayor<a[j])
mayor=a[j];
}
cout<<mayor;
}
MARCO BAUTISTA CARRANZA-303
S. 1 Bisiesto
Puntos 100 Límite de memoria 32MB
Límite de tiempo (caso) 1s Límite de tiempo (total) 60s
Descripción
Un año es bisiesto si es divisible entre 4, a menos que sea divisible entre 100. Sin
embargo, si un año es divisible entre 100 y además es divisible entre 400, también
resulta bisiesto.
Entrada
La primera línea tendrá un número N, la cantidad de años por analizar. Después
habrá N líneas con un solo número entero, que representa el año que tendrás que
decidir si es o no bisiesto. Todos los años serán mayores a 1600 y menores a 3,000.
Salida
Por cada año de la entrada escribe una "S" o una "N", dependiendo de si el año es
bisiesto o no respectivamente.
Ejemplo
Entrada Salida
2
2011
2012
N
S
CODIGO FUENTE:
#include<iostream>
using namespace std;
int main(){
int n,p;
cin>>n;
for(int i=0;i<n;i++){
cin>>p;
if(p%2==0){
cout<<"S"<<endl;
MARCO BAUTISTA CARRANZA-303
}else
cout<<"N"<<endl;
}
}
T. pb Figuras Rectangulares
Puntos 100 Límite de memoria 4MB
Límite de tiempo (caso) 0.25s Límite de tiempo (total) 60s
Descripción
Tenemos un conjunto de cuadrados y rectángulos cuyos medidas de sus diferentes
lados son cantidades enteras y mayores a 1 y , si tenemos el área de la figura, es
posible que sea un cuadrado o un rectángulo.
Problema
Construye un programa que nos ayude a resolver este problema (dada el área de
una figura determinar si es cuadrado o rectángulo), la lectura la debes hacer de la
entrada estándar (teclado) y la escritura se debe hacer a la salida estándar
(pantalla).
Entrada
La primera línea contendrá un número "N" entre 1 y 1,000,000,000, representando
el área.
Salida
Una sola línea indicando la figura que se puede formar, si el área puede formar un
cuadrado debes imprimir la palabra “cuadrado” si el área puede formar un
rectángulo, debes imprimir la palabra “rectangulo” y si el área puede formar ambos
debe imprimir la palabra “ambos” (note no hay acentos ni mayusculas), en caso de
que no se pueda formar un cuadrado o rectángulo escriba "ninguno"
MARCO BAUTISTA CARRANZA-303
Ejemplos
Entrada Salida
9 cuadrado
6 rectangulo
36
ambos
Consideraciones
Tu programa se ejecutara con varios casos de prueba.
Tips
• Área de un cuadrado = lado * lado
• Área de un rectángulo= (base * altura )
• ¿Hasta que valor con respecto a “N” debo probar ?
• Observa que solo debes probar desde 2 hasta raíz de "N", si un número es
divisible entre 2 significa que también es divisible entre N/2 por tanto si
probamos con el numero 2, estamos al mismo tiempo probando con el numero
N/2.
CODIGO FUENTE:
#include <iostream>
#include <math.h>
using namespace std;
int main() {
int n,r,p,c;
cin>>n;
p=sqrt(n);
r=p*p;
c=n/2*2;
if(c==n && r==n){
cout<<"ambos"<<endl;
MARCO BAUTISTA CARRANZA-303
}
else if(c==n){
cout<<"rectangulo"<<endl;
}
else if(r==n){
cout<<"cuadrado"<<endl;
}
else{
cout<<"ninguno"<<endl;
}
return 0;
}
U. pb Triángulo
Puntos 100 Límite de memoria 4MB
Límite de tiempo (caso) 0.25s Límite de tiempo (total) 60s
Descripción
Un triángulo es formado por 3 segmentos (con valor entero) de recta unidos por sus
extremos, sin embargo no todas las combinaciones de 3 segmentos pueden formar
un triángulo.
Problema
Escriba un programa que dados 3 números que representan 3 segmentos de rectas,
diga si pueden formar un triángulo rectángulo.
MARCO BAUTISTA CARRANZA-303
Entrada
En la primera línea 3 números “a”, “b” y “c” representando las longitudes de 3
segmentos de recta en un rango de entre 1 y 32,000.
Salida
Una sola línea en donde si es posible generar un triángulo rectángulo debes imprimir
la hipotenusa, el cateto mayor y el cateto menor y si no es posible formar un triángulo
rectángulo imprime la palabra “imposible”.
Consideraciones
Tu programa se evaluará con varios casos de prueba, para cada caso de prueba
(entrada)
Ejemplos
Entrada Salida Descripción
1 1 1 imposible
Caso #1
3 4 5 5 4 3
Caso #2
Consideraciones
Tu programa se ejecutara con varios casos de prueba.
Tips
El teorema de Pitágoras la hipotenusa es igual a la raíz cuadrada de la suma de los
cuadrados de sus catetos.
¿Es necesario hacer el cálculo de la raíz cuadrada?
CODIGO FUENTE:
#include<iostream>
using namespace std;
main (){
int a,b,c;
cin>>a;
MARCO BAUTISTA CARRANZA-303
cin>>b;
cin>>c;
if (a==b && b==c){
cout<<c<<" "<<b<<" "<<a;
}else
if(a==c && c==b){
cout<<c<<" "<<b<<" "<<a;
}else
if(b==c && c==a){
cout<<c<<" "<<b<<" "<<a;
}else
cout<<"Imposible";
}
V. pb Suma Triple
Puntos 100 Límite de memoria 4MB
Límite de tiempo (caso) 0.1s Límite de tiempo (total) 60s
Descripción
Se tiene la siguiente función f(n), formada por la suma de los tres números
anteriores.
f(1)=1
f(2)=1
MARCO BAUTISTA CARRANZA-303
f(3)=2
f(4)=4
f(5)=7
f(6)=13
f(7)=24
f(8)=44
f(9)=81
Note que
f(1) = 1 ya
que no
tiene
números
anteriores,
f(2)=1 ya
que es el
único
número
anterior,
f(3) tiene
solo 2
números
anteriores
y a partir
de f(4) se
da la suma
de los tres
números
anteriores.
Problema
Escribe un programa que dado el valor de “n” escriba la serie correspondiente.
Entrada
Un solo renglón conteniendo el valor “n”donde 1<=n<=64.
Salida
Una sola línea mostrando la serie desde el número menor hasta el mayor cada
número debe estar separado por un espacio.
Entrada Salida Descripción
4 1 1 2 4
Caso #1
MARCO BAUTISTA CARRANZA-303
6 1 1 2 4 7 13
Caso #2
9 1 1 2 4 7 13 24 44
81 Caso #3
Tips Un entero 32 bits es capaz de almacenar la f(n) para n=60
Código fuente:
#include <iostream>
using namespace std;
int main() {
long f;
cin>>f;
long* a=new long[f];
a[0]=1;
a[1]=1;
a[2]=2;
for (int i=3;i<f;i++)
{
a[i]=a[i-1]+a[i-2]+a[i-3];
}
for(int i=0;i<f;i++){
cout<<a[i]<<" ";
}
return 0;
}
MARCO BAUTISTA CARRANZA-303
W. Deuda 2
Puntos 100 Límite de memoria 32MB
Límite de tiempo (caso) 1s Límite de tiempo (total) 60s
# Descripción Nuestro amigo Cope tiene un problema pues le debe algunas cosas
a cierta persona con la cual no puede quedar mal, sin embargo dicha persona es
muy mala con Cope y trata de hacer que le pague más de lo que le debe, para esto
le dice que los intereses han subido y pone mil cosas para cobrar de más pero del
unico interes que se hablo fue al momento de comenzar la transacción. Ayuda a
Cope a llevar un buen control de su deuda sabiendo cuanto debe y cuanto abona,
se sabe que originalmente se indico los intereses.
Entrada
En la primera línea tres números enteros I, N, M separados por un espacio
representando el interes acordado(número entero que representa el interes)
inicialmente, número de cosas que debe Cope y los pagos que hará
respectivamente. Siguiente M líneas un entero representando el pago de Cope.
Salida
Un entero representando como finaliza la cuenta de Cope.
Ejemplo
Entrada
Salida
Descripción
MARCO BAUTISTA CARRANZA-303
0 10
2
3
6
1 Ninguna.
Entrada
Salida
Descripción
100 10
2
3
6
11 Ninguna.
CODIGO FUENTE:
#include <iostream>
using namespace std;
int main()
{
int a,b,c,d,e,f,suma=0;
cin>>a>>b>>c;
for(int a=0;a<c;a++)
{
cin>>d;
suma+=d;
}
e=b-suma;
f=e+a/b;
cout<<f;
return 0;
}
MARCO BAUTISTA CARRANZA-303

Weitere ähnliche Inhalte

Was ist angesagt?

Problemas 1 al 7, diagrama de flujo problema 7, y pseudocódigo y diagrama de ...
Problemas 1 al 7, diagrama de flujo problema 7, y pseudocódigo y diagrama de ...Problemas 1 al 7, diagrama de flujo problema 7, y pseudocódigo y diagrama de ...
Problemas 1 al 7, diagrama de flujo problema 7, y pseudocódigo y diagrama de ...juangui1989
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmosjhonshebax
 
Practicas (pseudocodigos & algoritmos)
Practicas (pseudocodigos & algoritmos)Practicas (pseudocodigos & algoritmos)
Practicas (pseudocodigos & algoritmos)Eli Diaz
 
Ejercicios programacion
Ejercicios programacionEjercicios programacion
Ejercicios programacionMaite Mtnez
 
3 dc numeros enteros
3 dc numeros enteros3 dc numeros enteros
3 dc numeros enterosDavitxu986
 
Anexo 1 Diagramas De Flujo
Anexo 1   Diagramas De FlujoAnexo 1   Diagramas De Flujo
Anexo 1 Diagramas De FlujoFabio Valencia
 
Trabajo de algoritmos
Trabajo de algoritmosTrabajo de algoritmos
Trabajo de algoritmos1002pc16
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujoTete Alar
 
Algoritmia Ejemplos Y Ejercicios (2)
Algoritmia  Ejemplos Y Ejercicios (2)Algoritmia  Ejemplos Y Ejercicios (2)
Algoritmia Ejemplos Y Ejercicios (2)Ender Melean
 
Estructuras de control
Estructuras de control Estructuras de control
Estructuras de control addaza0
 
Taller de algoritmos
Taller  de algoritmosTaller  de algoritmos
Taller de algoritmossistematico-1
 

Was ist angesagt? (17)

Problemas 1 al 7, diagrama de flujo problema 7, y pseudocódigo y diagrama de ...
Problemas 1 al 7, diagrama de flujo problema 7, y pseudocódigo y diagrama de ...Problemas 1 al 7, diagrama de flujo problema 7, y pseudocódigo y diagrama de ...
Problemas 1 al 7, diagrama de flujo problema 7, y pseudocódigo y diagrama de ...
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujo
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmos
 
Practicas (pseudocodigos & algoritmos)
Practicas (pseudocodigos & algoritmos)Practicas (pseudocodigos & algoritmos)
Practicas (pseudocodigos & algoritmos)
 
Ejercicios programacion
Ejercicios programacionEjercicios programacion
Ejercicios programacion
 
3 dc numeros enteros
3 dc numeros enteros3 dc numeros enteros
3 dc numeros enteros
 
Algoritmos, tablas de multiplicar
Algoritmos, tablas de multiplicarAlgoritmos, tablas de multiplicar
Algoritmos, tablas de multiplicar
 
Anexo 1 Diagramas De Flujo
Anexo 1   Diagramas De FlujoAnexo 1   Diagramas De Flujo
Anexo 1 Diagramas De Flujo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
condicionales
condicionalescondicionales
condicionales
 
Trabajo de algoritmos
Trabajo de algoritmosTrabajo de algoritmos
Trabajo de algoritmos
 
Mp mardoqueo 13 pseudocodigos
Mp mardoqueo 13 pseudocodigosMp mardoqueo 13 pseudocodigos
Mp mardoqueo 13 pseudocodigos
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo
 
Algoritmia Ejemplos Y Ejercicios (2)
Algoritmia  Ejemplos Y Ejercicios (2)Algoritmia  Ejemplos Y Ejercicios (2)
Algoritmia Ejemplos Y Ejercicios (2)
 
Estructuras de control
Estructuras de control Estructuras de control
Estructuras de control
 
Taller de algoritmos
Taller  de algoritmosTaller  de algoritmos
Taller de algoritmos
 

Andere mochten auch

Tina, wat kosten die Kondome?
Tina, wat kosten die Kondome?Tina, wat kosten die Kondome?
Tina, wat kosten die Kondome?Jens Tonnier
 
Diferenciar las funciones del sistema operativo
Diferenciar las funciones del sistema operativoDiferenciar las funciones del sistema operativo
Diferenciar las funciones del sistema operativoJounaruiz
 
Potestad tributaria
Potestad tributariaPotestad tributaria
Potestad tributariaOmegas64
 
Leidy yurany jimenez quintero 1102
Leidy yurany jimenez quintero 1102Leidy yurany jimenez quintero 1102
Leidy yurany jimenez quintero 1102GustavoB1998
 
Robe de demoiselle d’honneur rouge qui commence par le royaume
Robe de demoiselle d’honneur rouge qui commence par le royaumeRobe de demoiselle d’honneur rouge qui commence par le royaume
Robe de demoiselle d’honneur rouge qui commence par le royaumeweixianweike
 
Flf 201 presentation
Flf 201 presentationFlf 201 presentation
Flf 201 presentationdjgracie
 
SharePoint en action 2013 - IT-07 - Apps to cloud or not to cloud - Éric Blais
SharePoint en action 2013 - IT-07 - Apps to cloud or not to cloud - Éric BlaisSharePoint en action 2013 - IT-07 - Apps to cloud or not to cloud - Éric Blais
SharePoint en action 2013 - IT-07 - Apps to cloud or not to cloud - Éric BlaisMarc Gagnon
 
Libro de mis sueños
Libro de mis sueñosLibro de mis sueños
Libro de mis sueñosflortumin2015
 
Présentation alp finale 24/06/2013
Présentation alp finale 24/06/2013Présentation alp finale 24/06/2013
Présentation alp finale 24/06/2013FernanPatty
 
Bill redirect manual_fr
Bill redirect manual_frBill redirect manual_fr
Bill redirect manual_frtopomax
 
Windows Phone : Le choix idéal pour les entreprises.
Windows Phone : Le choix idéal pour les entreprises.Windows Phone : Le choix idéal pour les entreprises.
Windows Phone : Le choix idéal pour les entreprises.Microsoft Décideurs IT
 
Salud bucodental
 Salud bucodental Salud bucodental
Salud bucodentalmeomusa
 
Wirtschaftswissenschaftliche Forschung replizierbarer machen. Das Projekt EDa...
Wirtschaftswissenschaftliche Forschung replizierbarer machen. Das Projekt EDa...Wirtschaftswissenschaftliche Forschung replizierbarer machen. Das Projekt EDa...
Wirtschaftswissenschaftliche Forschung replizierbarer machen. Das Projekt EDa...svlaemi
 

Andere mochten auch (20)

Tina, wat kosten die Kondome?
Tina, wat kosten die Kondome?Tina, wat kosten die Kondome?
Tina, wat kosten die Kondome?
 
Diferenciar las funciones del sistema operativo
Diferenciar las funciones del sistema operativoDiferenciar las funciones del sistema operativo
Diferenciar las funciones del sistema operativo
 
Potestad tributaria
Potestad tributariaPotestad tributaria
Potestad tributaria
 
Rec 2012 056
Rec 2012 056Rec 2012 056
Rec 2012 056
 
Leidy yurany jimenez quintero 1102
Leidy yurany jimenez quintero 1102Leidy yurany jimenez quintero 1102
Leidy yurany jimenez quintero 1102
 
Robe de demoiselle d’honneur rouge qui commence par le royaume
Robe de demoiselle d’honneur rouge qui commence par le royaumeRobe de demoiselle d’honneur rouge qui commence par le royaume
Robe de demoiselle d’honneur rouge qui commence par le royaume
 
Flf 201 presentation
Flf 201 presentationFlf 201 presentation
Flf 201 presentation
 
SharePoint en action 2013 - IT-07 - Apps to cloud or not to cloud - Éric Blais
SharePoint en action 2013 - IT-07 - Apps to cloud or not to cloud - Éric BlaisSharePoint en action 2013 - IT-07 - Apps to cloud or not to cloud - Éric Blais
SharePoint en action 2013 - IT-07 - Apps to cloud or not to cloud - Éric Blais
 
Deures estiu 3r 14 15
Deures estiu 3r 14 15Deures estiu 3r 14 15
Deures estiu 3r 14 15
 
Libro de mis sueños
Libro de mis sueñosLibro de mis sueños
Libro de mis sueños
 
La veille économique 1
La veille économique 1La veille économique 1
La veille économique 1
 
Présentation alp finale 24/06/2013
Présentation alp finale 24/06/2013Présentation alp finale 24/06/2013
Présentation alp finale 24/06/2013
 
Bill redirect manual_fr
Bill redirect manual_frBill redirect manual_fr
Bill redirect manual_fr
 
Windows Phone : Le choix idéal pour les entreprises.
Windows Phone : Le choix idéal pour les entreprises.Windows Phone : Le choix idéal pour les entreprises.
Windows Phone : Le choix idéal pour les entreprises.
 
Frankfurt minis
Frankfurt minisFrankfurt minis
Frankfurt minis
 
Panorama cress 2012
Panorama cress 2012Panorama cress 2012
Panorama cress 2012
 
Dolls
DollsDolls
Dolls
 
Salud bucodental
 Salud bucodental Salud bucodental
Salud bucodental
 
Le Monde d'Ampool
Le Monde d'AmpoolLe Monde d'Ampool
Le Monde d'Ampool
 
Wirtschaftswissenschaftliche Forschung replizierbarer machen. Das Projekt EDa...
Wirtschaftswissenschaftliche Forschung replizierbarer machen. Das Projekt EDa...Wirtschaftswissenschaftliche Forschung replizierbarer machen. Das Projekt EDa...
Wirtschaftswissenschaftliche Forschung replizierbarer machen. Das Projekt EDa...
 

Ähnlich wie Manual POO

Software omegaup
Software omegaupSoftware omegaup
Software omegaupRyoga Luis
 
Software e.e docx
Software e.e docxSoftware e.e docx
Software e.e docxAreli1215
 
Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403
Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403
Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403Evelyn Anayansi
 
Manual software
Manual softwareManual software
Manual softwareneyj11r
 
C++ parcial 1 oscar mendoza-303
C++ parcial 1  oscar mendoza-303C++ parcial 1  oscar mendoza-303
C++ parcial 1 oscar mendoza-303Oscar711
 
Problemas "1er CusContest"
Problemas "1er CusContest"Problemas "1er CusContest"
Problemas "1er CusContest"acmchaptercusco
 
clase de programción.pdf
clase de programción.pdfclase de programción.pdf
clase de programción.pdfKelvinHagler
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Gustavo Macias
 
Manual de prácticas java 2015
Manual de prácticas java 2015Manual de prácticas java 2015
Manual de prácticas java 2015Ulises_312
 
6MATEMATICA_1ero_sec_Sistemas de numeracion.pdf
6MATEMATICA_1ero_sec_Sistemas de numeracion.pdf6MATEMATICA_1ero_sec_Sistemas de numeracion.pdf
6MATEMATICA_1ero_sec_Sistemas de numeracion.pdfLuisAlbertoMolinaJim
 
6MATEMATICA_1ero_sec_Sistemas de numeracion.doc
6MATEMATICA_1ero_sec_Sistemas de numeracion.doc6MATEMATICA_1ero_sec_Sistemas de numeracion.doc
6MATEMATICA_1ero_sec_Sistemas de numeracion.docLuisAlbertoMolinaJim
 

Ähnlich wie Manual POO (20)

Programas
Programas Programas
Programas
 
Omega Up
Omega UpOmega Up
Omega Up
 
Software omegaup
Software omegaupSoftware omegaup
Software omegaup
 
Software omegaup
Software omegaupSoftware omegaup
Software omegaup
 
Software e.e docx
Software e.e docxSoftware e.e docx
Software e.e docx
 
Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403
Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403
Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403
 
Manual software
Manual softwareManual software
Manual software
 
Proyecto
ProyectoProyecto
Proyecto
 
Problemas Condicionales
Problemas CondicionalesProblemas Condicionales
Problemas Condicionales
 
C++ parcial 1 oscar mendoza-303
C++ parcial 1  oscar mendoza-303C++ parcial 1  oscar mendoza-303
C++ parcial 1 oscar mendoza-303
 
Temario de c++
Temario de c++Temario de c++
Temario de c++
 
Problemas "1er CusContest"
Problemas "1er CusContest"Problemas "1er CusContest"
Problemas "1er CusContest"
 
Practicas
PracticasPracticas
Practicas
 
clase de programción.pdf
clase de programción.pdfclase de programción.pdf
clase de programción.pdf
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402
 
1. Fracción generatriz, ejemplos, tarea 4o.docx
1. Fracción generatriz, ejemplos, tarea 4o.docx1. Fracción generatriz, ejemplos, tarea 4o.docx
1. Fracción generatriz, ejemplos, tarea 4o.docx
 
ACTIVIDAD 4.docx
ACTIVIDAD 4.docxACTIVIDAD 4.docx
ACTIVIDAD 4.docx
 
Manual de prácticas java 2015
Manual de prácticas java 2015Manual de prácticas java 2015
Manual de prácticas java 2015
 
6MATEMATICA_1ero_sec_Sistemas de numeracion.pdf
6MATEMATICA_1ero_sec_Sistemas de numeracion.pdf6MATEMATICA_1ero_sec_Sistemas de numeracion.pdf
6MATEMATICA_1ero_sec_Sistemas de numeracion.pdf
 
6MATEMATICA_1ero_sec_Sistemas de numeracion.doc
6MATEMATICA_1ero_sec_Sistemas de numeracion.doc6MATEMATICA_1ero_sec_Sistemas de numeracion.doc
6MATEMATICA_1ero_sec_Sistemas de numeracion.doc
 

Kürzlich hochgeladen

Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxhenarfdez
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdfDemetrio Ccesa Rayme
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfapunteshistoriamarmo
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCCarlosEduardoSosa2
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...JAVIER SOLIS NOYOLA
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONamelia poma
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfJonathanCovena1
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfRosabel UA
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primariaWilian24
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 

Kürzlich hochgeladen (20)

Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptx
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdf
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 

Manual POO

  • 1. MARCO BAUTISTA CARRANZA-303 Programación Orientada a Objetos Profesor: Rene Domínguez Escalona Alumno: Marco Bautista Carranza Grado: 2 semestre Grupo: 303 Turno: Matutino
  • 2. MARCO BAUTISTA CARRANZA-303 INDICE A) RESTA Y MULTIPLICACION B) FRECUENCIAS C) SUMANDO D) ORDENANDO E) PASSWORD F) A+B G) MENSAJE SUMAS I.) MULTIPLICANDO J) MISION CALCULAR AREA K) CUADRADO L) BARDEANDO M) MATRIZ CUADRADA N) AREA DE UN RECTANGULO O) AREA DE UN TRIANGULO P.) ORDENA A LOS ALUMNOS Q) OBTENER PROMEDIO R) EL EXCURSIONISTA MAYOR S) BISIESTO T) FIGURAS RECTANGULARES U) TRIANGULO V) SUMA TRIPLE W) DEUDA
  • 3. MARCO BAUTISTA CARRANZA-303 A. Resta y multiplicación Puntos 100 Límite de memoria 32MB Límite de tiempo (caso) 1s Límite de tiempo (total) 60s Descripción Haz un sencillo programa que lea 4 variables nombradas A, B, C y D. Y calcula e imprima la multiplicación de la diferencia de A y B con la diferencia de C y D. (A−B C−D) Entrada Cuatro números enteros Salida El producto de la diferencia con 4 variables de acuerdo al ejemplo. Ejemplo 10 6 8 3 20 CODIGO fuente: #include <iostream> using namespace std; int main(int argc, char *argv[]) { int a,b,c,d,k,h,suma=0; EJECUCION: cin>>a; cin>>b; cin>>c; cin>>d; k=a-b; h=c-d; suma=k*h; cout<<suma<<endl; return 0; }
  • 4. MARCO BAUTISTA CARRANZA-303 B. Frecuencias Puntos 100 Límite de memoria 4MB Límite de tiempo (caso) 0.25s Límite de tiempo (total) 60s Descripción Cierta escuela realiza cuestionarios para conocer al profesor favorito de los alumnos. Y lo realiza de la siguiente manera; a cada profesor se le asigna un número posteriormente a cada alumno se le pregunta cuál es su profesor favorito, posteriormente, se calcula una tabla de frecuencia indicando en cada profesor cual es la cantidad de alumnos que lo eligieron. Problema Escribe un programa que ayude a la escuela a escribir la tabla de frecuencias. Entrada En la primera línea el número “P” que indica la cantidad de profesores que tiene la escuela donde 1<=P <= 100 y el número “n” que indica la cantidad de alumnos en la escuela donde 1<=n<=1000. En la siguiente línea habrán “n” números que representan el número de profesor favorito “F” de cada alumno donde 1<=F<=P. Salida Deberá haber “P” cantidad de líneas y en cada una dos números separados por un guion, el primer número será el número del profesor y el segundo número la cantidad de alumnos que lo eligieron. Consideraciones Tu programa se evaluará con varios casos de prueba. Ejemplos ENTRADA SALIDA DESCRIPCION 4 10 1 1 2 1 1 2 3 2 3 4 1-4 2-3 3-2 4-1 Caso#1: 4 8 1 2 4 1 2 4 1 2 1-3 2-3 3-0 4-2 Caso #2:
  • 5. MARCO BAUTISTA CARRANZA-303 Código fuente: #include<iostream> using namespace std; int main (){ int n,p; cin>>n >>p; int a[p]; int b[n]={0}; for(int i=0;i<p;i++){ cin>>a[i]; } for(int j=0;j<p;j++){ b[a[j]-1]++; } for(int i=0;i<n;i++){ cout<<i+1<<"-"<<b[i]<<endl; } return 0; }
  • 6. MARCO BAUTISTA CARRANZA-303 EJECUCION: C. pb Sumando Puntos 100 Límite de memoria 16MB Límite de tiempo (caso) 0.5s Límite de tiempo (total) 60s Problema Se tiene un matriz cuadrada de tamaño “n” y se requiere saber cuánto suma cada columna. Entrada En el primer renglón un valor “n” indicando el tamaño de la matriz donde 1<=n<=1000 y en los siguientes “n” renglones habrán “n” valores correspondientes los valores de cada renglón de la matriz donde 1<=V<= 1000. Salida Un renglón con “n” cantidades, cada cantidad representa la sumatoria de cada columna de la matriz, el primer valor corresponde a la columna 1, el segundo a la columna 2,... y el último valor corresponde a la columna “n”. Consideraciones Tu programa se evaluará con varios casos de prueba. Ejemplos Entrada Salida Descripción 3 1 2 3 3 5 6 7 8 9 11 15 18 Caso #1:
  • 7. MARCO BAUTISTA CARRANZA-303 CODIGO FUENTE: #include<iostream> using namespace std; int main (){ int n; cin>>n; int a[n][n]; int b[n]{0}; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ cin>>a[i][j]; b[j]+=a[i][j]; } } for(int j=0;j<n;j++){ cout<<b[j]<<" "; } cout<<endl; } Ejecucion: 4 3 2 4 3 2 3 3 2 7 8 5 3 1 1 1 1 13 14 13 9 Case #2:
  • 8. MARCO BAUTISTA CARRANZA-303 D.Ordenando Puntos 100 Límite de memoria 4MB Límite de tiempo (caso) 0.5s Límite de tiempo (total) 60s Problema Dada una lista de números enteros hay que determinar si la lista esta ordenada de menor a mayor, de mayor a menor o sencillamente no está ordenada. Entrada En la primera línea un valor “n” indicando la cantidad de valores que conforma la lista, donde 3<=n<=1000, en la segunda línea los “n” números separados por un espacio, cada número está en el rango de 1 a 1,000,000,000. Salida Una sola línea con 3 posibles valores, si la lista está ordenada de menor a mayor debes escribir la palabra “CRECIENTE” si la lista esta ordenada de mayor a menor debes escribir la palabra “DECRECIENTE” y si la lista no está ordenada debes escribir la frase “NO ORDENADA”. Te aseguramos que no existe un caso con posibilidadde empate (que pueda ser creciente y decreciente). Consideraciones Tu programa se evaluará con varios casos de prueba. Ejemplos ENTRADA SALIDA DESCRIPCION 5 10 20 30 40 40 CRECIENTE Case #1: 3 3 2 2 DECRECIENTE Case #2: 4 1 10 10 5 NO ORDENADA Case #3:
  • 9. MARCO BAUTISTA CARRANZA-303 Código fuente: #include <iostream> using namespace std; int main() { int n,k=0,l=0; cin>>n; int a[n]; for(int i=0;i<n;i++){ cin>>a[i]; } for(int i=0;i<n;i++){ if(a[i]<a[i+1]) { k+=1; } if(a[i]>a[i+1]){ l+=1; } } if(k==n){ cout<<"creciente"; } else if(l==n-1){ cout<<"decreciente"; }else { cout<<"no ordenada"; } return 0; }
  • 10. MARCO BAUTISTA CARRANZA-303 E.Password Puntos 100 Límite de memoria 4MB Límite de tiempo (caso) 1s Límite de tiempo (total) 60s Descripción Para que un password sea seguro debe seguir las siguientes reglas: • Tener al menos una vocal. • No tener dos o más caracteres consecutivos iguales. • Tener una longitud de al menos 12 caracteres. • Tener al menos un carácter numérico. Problema Escribe un que nos ayude a determinar si un password es seguro o no. Entrada En la primera línea un número n indicando la cantidad de caracteres que conforman el password, donde 1≤n≤100, en la siguiente línea n caracteres que pueden ser letras de la A a la Z, números del 1 al 9. las letras minúsculas y mayúsculas se consideran diferentes. Salida Si el password es seguro de acuerdo a las reglas establecidas debes escribir la palabra SEGURO en caso contrario debes escribir la frase INSEGURO. Consideraciones Tu programa se evaluará con varios casos de prueba. Ejemplos ENTRADA SALIDA 5 abcdd INSEGURO 12 aft156YTU512 SEGURO
  • 11. MARCO BAUTISTA CARRANZA-303 CODIGO FUENTE: #include<iostream> using namespace std; int main(){ int password; cin>>password; if(password<12){ cout<<"INSEGURO"; }else cout<<"SEGURO"; } EJECUCION: F. A+B Puntos 100 Límite de memoria 32MB Límite de tiempo (caso) 1s Límite de tiempo (total) 60s
  • 12. MARCO BAUTISTA CARRANZA-303 Descripción Este problema consiste en crear un programa que sume dos números. Entrada Dos números A y B separados por un espacio. Salida Imprime A+B Ejemplo Entrada Salida Descripción 1 2 3 1+2=3 5 10 15 5+10=15 CODIGO FUENTE: #include <iostream> using namespace std; int main() { int A,B,suma=0; cin>>A,B; cin>>B; suma=A+B; cout<<suma<<endl; }
  • 13. MARCO BAUTISTA CARRANZA-303 G. E-S Mensaje Sumas Puntos 100 Límite de memoria 32MB Límite de tiempo (caso) 1s Límite de tiempo (total) 60s Descripción Es un problema muy simple, para acostumbrarse a los jueces automáticos, lo que tienes que hacer es recibir dos números y con estos dos números los sume y muestre la salida indicando el mensaje de la suma como se muestra en el ejemplo. Entrada Un número entero a y un número entero b. Salida Debe mostrar el siguiente mensaje donde a y b debe sustituirse por los valores que recibe como entrada el programa y la palabra resultado por la suma de ambos números, asegúrate de respetar mayúsculas y minúsculas y los espacios en blanco intermedios. La suma de a + b es resultado Ejemplo ENTRADA SALIDA 1 2 La suma de 1 + 2 es 3 CODIGO Fuente: #include <iostream> using namespace std; int main(int argc, char *argv[]) { int a,b,suma=0; cin>>a; cin>>b; suma=a+b; cout<<"La suma de "<< a << " + " << b << " es " << suma <<endl; return 0;
  • 14. MARCO BAUTISTA CARRANZA-303 Ejecución: I. Multiplicando Puntos 100 Límite de memoria 32MB Límite de tiempo (caso) 1s Límite de tiempo (total) 60s Descripción Se requiere que realices un un calculo a partir de recibir un número, entregar el producto de los números consecutivos del 1 a n, por ejemplo si recibes el 3 el resultado es 6, es decir el resultado de multiplicar 1×2×3. Entrada Un único entero n. Salida La multiplicación de los números consecutivos del 1 al n. Ejemplo ENTRADA SALIDA 5 120 Código fuente: #include <iostream> using namespace std; int main() { int a,b; cin>>a; b=(a*2)+1;
  • 15. MARCO BAUTISTA CARRANZA-303 switch(b) { case 1: cout<<" Lunes"; break; case 2: cout<<" Martes"; break; case 3: cout<<" Miercoles"; break; case 4: cout<<" Jueves"; break; case 5: cout<<" Viernes"; break; case 6: cout<<" Sabado"; break; case 7: cout<<" Domingo"; break; default: cout<< " Error"; break; } return 0;
  • 16. MARCO BAUTISTA CARRANZA-303 J. Misión Calcular Area Puntos 100 Límite de memoria 32MB Límite de tiempo (caso) 1s Límite de tiempo (total) 60s Descripción Tu misión si decidesaceptarla es encontrar el área de un cilindro, cuya formula como bien sabes es 2PIr*h donde PI es 3.1416 y r:representa el radio y h:la altura. pero cuidado por que no estan sencillo resolver el problema el resultado lo debes entregar con 2 cifras decimales despues del punto. Entrada 1 2 Salida 12.57 Notas El primer número que recibes es el radio y el segundo número es la altura. La misión aunque parecia muy sencilla, se va a complicar por que si el primer número que lees es el -1 debes ignorarlo y en seguida leer el radio y posteriormente la altura. ||end Código fuente: #include <iostream> #include <iomanip> using namespace std; int main() { int r,h; float p=3.1416; double c=0; cin>>r; if(r<0){ cin>>r;
  • 17. MARCO BAUTISTA CARRANZA-303 } cin>>h; if(h<0){ cin>>h; } c=(2*p)*r*h; std::cout << std::fixed; std::cout << std::setprecision(2) << c <<endl;} K.Cuadrado Puntos 100 Límite de memoria 16MB Límite de tiempo (caso) 1s Límite de tiempo (total) 60s Descripción. A continuación te mostramos un giro de 90 grados a la derecha de una matriz de 2 por 2 cuyos valores son: Matriz original 1 2 3 4 Matriz Girada 90° a la derecha 3 1 4 2
  • 18. MARCO BAUTISTA CARRANZA-303 Problema Dada una matriz cuadrada de tamaño “n” , debes hacer que tu programa la gire 90 grados a la derecha. Entrada En la primera línea el valor “n” indicando el tamaño de la matriz donde 1<=n<=1000, en los siguientes “n” renglones habrán “n” valores de la matriz separados por un espacio. Salida “n” renglones cada renglón con "n" valores mostrando la matriz girada 90 grados. Consideraciones Tu programa se evaluará con varios casos de prueba Ejemplo ENTRADA SALIDA DESCRIPCION 2 1 2 3 4 3 1 4 2 Case #1: 3 1 2 3 4 5 6 7 8 9 7 4 1 8 5 2 9 6 3 Case #2: CODIGO fuente: #include <iostream> using namespace std; main() { int n; cin>>n; int a[n][n]; if(1<=n<=1000) { for(int i=0;i<n;i++)
  • 19. MARCO BAUTISTA CARRANZA-303 { for(int j=0;j<n;j++) { cin>>a[i][j]; } } cout<<endl<<endl; for (int i=0;i<n;i++) { for(int j=n-1;j>=0;j--) { cout<<a[j][i]<<" "; } cout<<endl; } } } Ejecución:
  • 20. MARCO BAUTISTA CARRANZA-303 L. pb Bardeando Puntos 100 Límite de memoria 4MB Límite de tiempo (caso) 0.25s Límite de tiempo (total) 60s Descripción Se tiene un conjunto de “n” trozos de malla ciclónica y un terreno de perímetro “P” el terreno es cuadrado. Problema Debes escribir un programa que nos diga cuántos metros de malla ciclonica nos hace falta para poder bardear el terreno. Entrada En la primera línea dos números “P” y "n", donde "P" representa el perímetro del terreno con un rango de valores de 1<=P <= 2,000,000,000 y “n” representa la cantidad de trozos de malla ciclónica que tenemos, donde 1<=n<=100,000. En las siguientes “n” líneas es el tamaño de cada trozo de malla que tenemos. La suma de todos los trozos siempre será menor a 2147483648. Salida Un único valor entero indicando los metros de malla que nos hacen falta para bardear el terreno. Ejemplos Entrada Salida Descripción 100 3 25 20 45 Caso #1 Entrada Salida Descripción 10 100 2 1000 2000 0 Caso #2
  • 21. MARCO BAUTISTA CARRANZA-303 21 1 20 1 Caso #3 Consideraciones Tu programa se ejecutara con varios casos de prueba. CODIGO FUENTE: #include<iostream> using namespace std; int main(){ int P,n,c,m=0,falta=0; cin>>P>>n; for (int i=0;i<n;i++){ cin>>c; m+=c; } falta=P-m; if(m>P){ cout<<0; }else cout<<falta<<endl; }
  • 22. MARCO BAUTISTA CARRANZA-303 M. pb Matriz Cuadrada Puntos 100 Límite de memoria 4MB Límite de tiempo (caso) 0.25s Límite de tiempo (total) 60s Descripción Descripción Tenemos una matriz de “R” renglones por “C” columnas, donde podemos enumerar las casillas de la siguiente manera, la casilla 1,1 (renglón 1, columna 1), la casilla 1,2 (renglón 1, columna 2) y la casilla 1,3 (renglón 1, columna 3 ) serían respectivamente las posiciones 1, 2 y 3 como se puede ver en la figura, donde la casilla 1,1 es la esquina superior izquierda y la celda “R” x “C” es la celda ubicada en la esquina inferior derecha. En esta cuadrícula, podemos hacer preguntas de la forma, ¿que número está en la casilla 1,2 ? y su respuesta sería 2 otro ejemplo ¿qué número está en la celda 2,3? y su respuesta es 6. Problema Escribe un programa que dada las dimensiones de la cuadrícula responda una cantidad “P” de preguntas. Entrada En la primera línea dos valores indicando las dimensiones de la cuadrícula separados por un espacio ‘R’ cantidad de renglones donde 1<=R<=10000 y “C” cantidad de columnas donde 1<=C<=10000, En la tercera línea el número “P” cantidad de preguntas donde 1<=P<=10,000 y en las siguientes “P” líneas un par de coordenadas de la forma r, c, representando las coordenadas de cada pregunta en donde “r” indica el renglón 1<=r<=R y “c” la columna 1<=c<=C por cada pregunta. Salida Por cada pregunta debe escribir en cada línea el número de casilla que le corresponde.
  • 23. MARCO BAUTISTA CARRANZA-303 Ejemplos Entrada Salida Descripción 3 3 3 1 1 2 2 3 3 1 5 9 Caso #1 3 1000 2 2 1 2 10 1001 2010 Caso #2 Consideraciones Tu programa se ejecutara con varios casos de prueba. Tip Tip Revise por cada renglón de preguntas cuántos valores debe avanzar, en la Entrada 1 para la primera pregunta debe avanzar 0, para la segunda debe avanzar 3 y para la tercer pregunta debe avanzar 6. CODIGO FUENTE: #include<iostream> using namespace std; int main(){ int r,c,p,r1; cin>>r>>c>>p; int g[p][2]; for( int i=0; i<p;i++){ for( int j=0; j<2;j++){ cin>>g[i][j]; } } for(int f=0;f<p;f++){ r=((g[f][0]-1)*c)+g[f][1];
  • 24. MARCO BAUTISTA CARRANZA-303 cout<<r<<" "; } } EJECUCION: N. Área de un rectángulo Puntos 100 Límite de memoria 32MB Límite de tiempo (caso) 1s Límite de tiempo (total) 60s Descripción Se te darà la base y la altura de un rectángulo, deberás desplegar su área. Entrada Dós números b y a Salida La salida deberá ser el área del rectángulo Ejemplo 12 5 60 2 7 14
  • 25. MARCO BAUTISTA CARRANZA-303 CODIGO FUENTE: #include <iostream> using namespace std; int main() { int b,a,multiplicacion=0; cin>>b; cin>>a; multiplicacion=b*a; cout<<multiplicacion<<endl; } EJECUCION: O. Área de un triángulo Puntos 100 Límite de memoria 32MB Límite de tiempo (caso) 1s Límite de tiempo (total) 60s Descripción Se te dará la base y la altura de un triángulo, deberás desplegar su área. Entrada Dós números b y a Salida La salida deberá ser el área del triángulo con dos decimales después del punto.
  • 26. MARCO BAUTISTA CARRANZA-303 Ejemplo 12 5 30.00 3 5 7.50 CODIGO FUENTE: #include <iostream> #include<iostream> #include<math.h> #include <stdio.h> #include <iomanip> using namespace std; main (){ float b,a; double area; cin>>b; cin>>a; area=(b*a)/2; cout<<fixed<<setprecision(2)<<area; } EJECUCION:
  • 27. MARCO BAUTISTA CARRANZA-303 P. 1 Ordena a los alumnos Puntos 100 Límite de memoria 32MB Límite de tiempo (caso) 1s Límite de tiempo (total) 60s Descripción Los Chicos de la escuela van a recibir un premio, pero tienen que estar formados de la calificacion mayor a la menor, ya que el Profe Rayito quiere orden y dar el mejor premio a la mejor calificacion, y asi sucesivamente. Entrada Primero hay que pedir la cantidad de Alumnos y despues las calificaciones Salida mostrar las calificaciones ordenadas del mayor al menor Ejemplo Entrada Salida Descripción 4 75 82 100 50 100 82 75 50 Cantidad de alumnos, y en la segunda linea las calificaciones CODIGO FUENTE: #include <iostream> using namespace std; int main() { int n,aux; cin>>n; int a[n]; for(int i=0;i<n;i++) { cin>>a[i]; } for(int i=0;i<n;i++) {
  • 28. MARCO BAUTISTA CARRANZA-303 for(int j=0;j<n;j++) { if(a[i]>a[j]) { aux=a[i]; a[i]=a[j]; a[j]=aux; } } } for(int i=0;i<n;i++) { cout<<a[i]<<" "; } return 0; }
  • 29. MARCO BAUTISTA CARRANZA-303 Q. 1 Obtener promedio Puntos 100 Límite de memoria 32MB Límite de tiempo (caso) 1s Límite de tiempo (total) 60s Descripción EL maestro Melquiades quiere saber el promedio de calificaciones de su grupo, Por lo que tu como programador le ayudaras codificando un programita que le pida una cantidad de alumnos, y en seguida las calificaciones Entrada La cantidad de Alumnos y las "n" calificaciones en escala 0 al 100, sin decimales. Salida Mostrar el promedio con dos decimales. Ejemplo Entrada Salida Descripción 4 50 100 100 50 75.00 Pedir la Cantidad de alumnos, y las "n" calificaciones. Mostrar el promedio con dos decimales. Código fuente: #include<iostream> using namespace std; int main () { int n,a,p=0; cin>>n; cout<<endl; for(int i=0;i<n;i++){ cin>>a; p+=a;
  • 30. MARCO BAUTISTA CARRANZA-303 } float prom=p/n; cout<<prom<<".00"<<endl; } R. 1 El excursionista Mayor Puntos 100 Límite de memoria 32MB Límite de tiempo (caso) 1s Límite de tiempo (total) 60s Descripción Los Falmos van de excursión, pero de todo el grupo de "humanitos" el que tiene la mayor edad es al que se le entregara el dinero para la compra del material de campamento. Ayudale a Mamá Falmo a saber quien es el que tiene la mayor edad. Entrada Preguntar cuantos van a ir de excursión, y la edad de cada uno. Salida Mostrar solo la edad mas grande.
  • 31. MARCO BAUTISTA CARRANZA-303 Ejemplo Entrada Salida Descripción 5 15 16 5 13 12 16 Pedir la cantidad de Excursionistas, y la edad de cada uno.Desplegar la Edad del mayor. Código fuente: #include <iostream> using namespace std; int main() { int n; cin>>n; int a[n]; for(int i=0;i<=n-1;i++) cin>>a[i]; int mayor=0; for(int j=0;j<=n-1;j++){ if(mayor<a[j]) mayor=a[j]; } cout<<mayor; }
  • 32. MARCO BAUTISTA CARRANZA-303 S. 1 Bisiesto Puntos 100 Límite de memoria 32MB Límite de tiempo (caso) 1s Límite de tiempo (total) 60s Descripción Un año es bisiesto si es divisible entre 4, a menos que sea divisible entre 100. Sin embargo, si un año es divisible entre 100 y además es divisible entre 400, también resulta bisiesto. Entrada La primera línea tendrá un número N, la cantidad de años por analizar. Después habrá N líneas con un solo número entero, que representa el año que tendrás que decidir si es o no bisiesto. Todos los años serán mayores a 1600 y menores a 3,000. Salida Por cada año de la entrada escribe una "S" o una "N", dependiendo de si el año es bisiesto o no respectivamente. Ejemplo Entrada Salida 2 2011 2012 N S CODIGO FUENTE: #include<iostream> using namespace std; int main(){ int n,p; cin>>n; for(int i=0;i<n;i++){ cin>>p; if(p%2==0){ cout<<"S"<<endl;
  • 33. MARCO BAUTISTA CARRANZA-303 }else cout<<"N"<<endl; } } T. pb Figuras Rectangulares Puntos 100 Límite de memoria 4MB Límite de tiempo (caso) 0.25s Límite de tiempo (total) 60s Descripción Tenemos un conjunto de cuadrados y rectángulos cuyos medidas de sus diferentes lados son cantidades enteras y mayores a 1 y , si tenemos el área de la figura, es posible que sea un cuadrado o un rectángulo. Problema Construye un programa que nos ayude a resolver este problema (dada el área de una figura determinar si es cuadrado o rectángulo), la lectura la debes hacer de la entrada estándar (teclado) y la escritura se debe hacer a la salida estándar (pantalla). Entrada La primera línea contendrá un número "N" entre 1 y 1,000,000,000, representando el área. Salida Una sola línea indicando la figura que se puede formar, si el área puede formar un cuadrado debes imprimir la palabra “cuadrado” si el área puede formar un rectángulo, debes imprimir la palabra “rectangulo” y si el área puede formar ambos debe imprimir la palabra “ambos” (note no hay acentos ni mayusculas), en caso de que no se pueda formar un cuadrado o rectángulo escriba "ninguno"
  • 34. MARCO BAUTISTA CARRANZA-303 Ejemplos Entrada Salida 9 cuadrado 6 rectangulo 36 ambos Consideraciones Tu programa se ejecutara con varios casos de prueba. Tips • Área de un cuadrado = lado * lado • Área de un rectángulo= (base * altura ) • ¿Hasta que valor con respecto a “N” debo probar ? • Observa que solo debes probar desde 2 hasta raíz de "N", si un número es divisible entre 2 significa que también es divisible entre N/2 por tanto si probamos con el numero 2, estamos al mismo tiempo probando con el numero N/2. CODIGO FUENTE: #include <iostream> #include <math.h> using namespace std; int main() { int n,r,p,c; cin>>n; p=sqrt(n); r=p*p; c=n/2*2; if(c==n && r==n){ cout<<"ambos"<<endl;
  • 35. MARCO BAUTISTA CARRANZA-303 } else if(c==n){ cout<<"rectangulo"<<endl; } else if(r==n){ cout<<"cuadrado"<<endl; } else{ cout<<"ninguno"<<endl; } return 0; } U. pb Triángulo Puntos 100 Límite de memoria 4MB Límite de tiempo (caso) 0.25s Límite de tiempo (total) 60s Descripción Un triángulo es formado por 3 segmentos (con valor entero) de recta unidos por sus extremos, sin embargo no todas las combinaciones de 3 segmentos pueden formar un triángulo. Problema Escriba un programa que dados 3 números que representan 3 segmentos de rectas, diga si pueden formar un triángulo rectángulo.
  • 36. MARCO BAUTISTA CARRANZA-303 Entrada En la primera línea 3 números “a”, “b” y “c” representando las longitudes de 3 segmentos de recta en un rango de entre 1 y 32,000. Salida Una sola línea en donde si es posible generar un triángulo rectángulo debes imprimir la hipotenusa, el cateto mayor y el cateto menor y si no es posible formar un triángulo rectángulo imprime la palabra “imposible”. Consideraciones Tu programa se evaluará con varios casos de prueba, para cada caso de prueba (entrada) Ejemplos Entrada Salida Descripción 1 1 1 imposible Caso #1 3 4 5 5 4 3 Caso #2 Consideraciones Tu programa se ejecutara con varios casos de prueba. Tips El teorema de Pitágoras la hipotenusa es igual a la raíz cuadrada de la suma de los cuadrados de sus catetos. ¿Es necesario hacer el cálculo de la raíz cuadrada? CODIGO FUENTE: #include<iostream> using namespace std; main (){ int a,b,c; cin>>a;
  • 37. MARCO BAUTISTA CARRANZA-303 cin>>b; cin>>c; if (a==b && b==c){ cout<<c<<" "<<b<<" "<<a; }else if(a==c && c==b){ cout<<c<<" "<<b<<" "<<a; }else if(b==c && c==a){ cout<<c<<" "<<b<<" "<<a; }else cout<<"Imposible"; } V. pb Suma Triple Puntos 100 Límite de memoria 4MB Límite de tiempo (caso) 0.1s Límite de tiempo (total) 60s Descripción Se tiene la siguiente función f(n), formada por la suma de los tres números anteriores. f(1)=1 f(2)=1
  • 38. MARCO BAUTISTA CARRANZA-303 f(3)=2 f(4)=4 f(5)=7 f(6)=13 f(7)=24 f(8)=44 f(9)=81 Note que f(1) = 1 ya que no tiene números anteriores, f(2)=1 ya que es el único número anterior, f(3) tiene solo 2 números anteriores y a partir de f(4) se da la suma de los tres números anteriores. Problema Escribe un programa que dado el valor de “n” escriba la serie correspondiente. Entrada Un solo renglón conteniendo el valor “n”donde 1<=n<=64. Salida Una sola línea mostrando la serie desde el número menor hasta el mayor cada número debe estar separado por un espacio. Entrada Salida Descripción 4 1 1 2 4 Caso #1
  • 39. MARCO BAUTISTA CARRANZA-303 6 1 1 2 4 7 13 Caso #2 9 1 1 2 4 7 13 24 44 81 Caso #3 Tips Un entero 32 bits es capaz de almacenar la f(n) para n=60 Código fuente: #include <iostream> using namespace std; int main() { long f; cin>>f; long* a=new long[f]; a[0]=1; a[1]=1; a[2]=2; for (int i=3;i<f;i++) { a[i]=a[i-1]+a[i-2]+a[i-3]; } for(int i=0;i<f;i++){ cout<<a[i]<<" "; } return 0; }
  • 40. MARCO BAUTISTA CARRANZA-303 W. Deuda 2 Puntos 100 Límite de memoria 32MB Límite de tiempo (caso) 1s Límite de tiempo (total) 60s # Descripción Nuestro amigo Cope tiene un problema pues le debe algunas cosas a cierta persona con la cual no puede quedar mal, sin embargo dicha persona es muy mala con Cope y trata de hacer que le pague más de lo que le debe, para esto le dice que los intereses han subido y pone mil cosas para cobrar de más pero del unico interes que se hablo fue al momento de comenzar la transacción. Ayuda a Cope a llevar un buen control de su deuda sabiendo cuanto debe y cuanto abona, se sabe que originalmente se indico los intereses. Entrada En la primera línea tres números enteros I, N, M separados por un espacio representando el interes acordado(número entero que representa el interes) inicialmente, número de cosas que debe Cope y los pagos que hará respectivamente. Siguiente M líneas un entero representando el pago de Cope. Salida Un entero representando como finaliza la cuenta de Cope. Ejemplo Entrada Salida Descripción
  • 41. MARCO BAUTISTA CARRANZA-303 0 10 2 3 6 1 Ninguna. Entrada Salida Descripción 100 10 2 3 6 11 Ninguna. CODIGO FUENTE: #include <iostream> using namespace std; int main() { int a,b,c,d,e,f,suma=0; cin>>a>>b>>c; for(int a=0;a<c;a++) { cin>>d; suma+=d; } e=b-suma; f=e+a/b; cout<<f; return 0; }