Subido por Samuel Osorto Paz

docdownloader.com ejercicios-de-autoevaluacion-robert-gomez-cruz

Anuncio
Ejercicios de autoevaluación
2.1 Complete las siguientes oraciones:
a) Todo programa en C++ empieza su ejecución en la función main.
b) Un(a) llave izquierda ({) empieza el cuerpo de toda función, y un(a) llave derecha
(}) termina el cuerpo.
c) Toda instrucción de C++ termina con un(a) punto y coma (;).
d) La secuencia de escape \n representa el carácter nueva línea, el cual hace que el
cursor se posicione al principio de la siguiente línea en la pantalla.
e) La instrucción if.se utiliza para tomar decisiones.
2.2 Indique si cada una de las siguientes instrucciones es verdadera o falsa. Si es
falsa, explique por qué. Asuma que se usa
La instrucción using std::cout;
a) Los comentarios hacen que la computadora imprima el texto que va después de
los caracteres // en la pantalla, al ejecutarse el programa. Falso. Los comentarios
no producen ninguna acción cuando el programa se ejecuta. Se utilizan para
documentar
b) Cuando la secuencia de escape \n se imprime con cout y el operador de inserción
de f lujo, el cursor se posiciona al principio de la siguiente línea en la pantalla.
Verdadero.
c) Todas las variables deben declararse antes de utilizarlas. Verdadero.
d) Todas las variables deben recibir un tipo al declararlas. Verdadero.
e) C++ considera que las variables número y número son idénticas. Falso. C++ es
f)
sensible a mayúsculas y minúsculas, por lo que estas variables son distintas.
Las declaraciones pueden aparecer casi en cualquier parte del cuerpo de una
función de C++. Verdadero.
g) El operador módulo (%) se puede utilizar sólo con operandos enteros. Verdadero.
h) Los operadores aritméticos *, /, %, + y – tienen todos el mismo nivel de
precedencia. Falso. Los operadores *, / y % se encuentran en el mismo nivel de
precedencia, y los operadores + y - se encuentranen un nivel menor de
i)
precedencia.
Un programa en C++ que imprime tres líneas de salida debe contener tres
instrucciones en las que se utilicen cout y el operador de inserción de f lujo. Falso.
Una instrucción con cout y varias secuencias de escape \n puede imprimir varias
líneas.
2.3 Escriba una sola instrucción en C++ para realizar cada una de las siguientes
tareas (suponga que no se han utilizado declaraciones using):
a) Declarar las variables c, estaEsUnaVariable, q76354 y numero como de tipo int. int
c, estaEsUnaVariable, q76354, numero;
b) Pedir al usuario que introduzca un entero. Termine el mensaje del indicador con un
signo de dos puntos (:) seguido de un espacio, y deje el cursor posicionado
después del espacio. std::cout << "Escriba un entero: “;
c) Recibir un entero como entrada del usuario mediante el teclado, y almacenarlo en
la variable entera edad. std::cin >> edad;
d) Si la variable numero no es igual a 7, mostrar “La variable numero no es igual a 7”.
if ( numero != 7 )
std::cout << "La variable numero no es igual a 7\n";
e) Imprimir el mensaje "Este es un programa en C++" en una línea. std::cout << "Este
es un programa en C++\n";
f) Imprimir el mensaje "Este es un programa en C++" en dos líneas. La primera línea
debe terminar con es un. std::cout << "Este es un\n programa en C++\n";
g) Imprimir el mensaje "Este es un programa en C++"; cada palabra se debe escribir
en una línea separada. std::cout << "Este\nes\nun\nprograma\nen\nC++\n";
h) Imprimir el mensaje "Este es un programa en C++". Separe una palabra de otra
mediante un tabulador. std::cout << "Este\tes\tun\tprograma\ten\tC++\n"
2.4 Escriba una declaración (o comentario) para realizar cada una de las siguientes
tareas (suponga que se han utilizado declaraciones using para cin, cout y endl):
a) Indicar que un programa calculará el producto de tres enteros. // Calcula el
producto de tres enteros
b) Declarar las variables x, y, z y resultado de tipo int (en instrucciones separadas).
int x;
int y;
int z;
int result;
c) Pedir al usuario que escriba tres enteros. cout << "Escriba tres enteros: ";
d) Leer tres enteros del usuario y almacenarlos en las variables x, y y z. cin >> x >> y
>> z;
e) Calcular el producto de los tres enteros contenidos en las variables x, y y z, y
asignar el resultado a la variable resultado. resultado = x * y * z;
f) Imprimir "El producto es ", seguido del valor de la variable resultado. cout << "El
producto es " << resultado << endl;
g) Devolver un valor de main, indicando que el programa terminó correctamente.
return 0;
2.5 Utilizando las instrucciones que escribió en el ejercicio 2.4, escriba un programa
completo que calcule e imprima el producto de tres enteros. Agregue comentarios
al código donde sea apropiado. [Nota: necesitará escribir las declaraciones using
necesarias.]
a) 1 // Calcula el producto de tres enteros
b) 2 #include <iostream> // permite al programa realizar operaciones de entrada y
salida
c)
d)
e)
f)
g)
h)
i)
j)
k)
l)
m)
n)
o)
p)
q)
r)
s)
3
4 using std::cout; // el programa usa cout
5 using std::cin; // el program usa cin
6 using std::endl; // el programa usa endl
7
8 // la función main empieza la ejecución del programa
9 int main()
10 {
11 int x; // primer entero a multiplicar
12 int y; // segundo entero a multiplicar
13 int z; // tercer entero a multiplicar
14 int resultado; // el producto de los tres enteros
15
16 cout << "Escriba tres enteros: "; // pide los datos al usuario
17 cin >> x >> y >> z; // lee tres enteros del usuario
18 resultado = x * y * z; // multiplica los tres enteros; almacena el resultado
19 cout << "El producto es " << resultado << endl; // imprime el resultado; fin de
línea
t) 20
u) 21 return 0; // indica que el programa se ejecutó correctamente
v) 22 } // fin de la función main
2.6 Identifique y corrija los errores en cada una de las siguientes instrucciones
(suponga que se utiliza la instrucción using std::cout):
a)
if ( c < 7 );
cout << "c es menor que 7\n";
Error: punto y coma después del paréntesis derecho de la condición en la
instrucción if.
Corrección: elimine el punto y coma después del paréntesis derecho. [Nota: el
resultado de este error es que la instrucción
de salida se ejecutará sin importar que la condición en la instrucción if sea
verdadera o no.] El punto y
coma después del paréntesis derecho es una instrucción nula (o vacía): una
instrucción que no hace nada. En el
siguiente capítulo aprenderemos más acerca de la instrucción nula.
b)
if ( c => 7 )
cout << "c es igual o mayor que 7\n";
Error: el operador relacional =>.
Corrección: cambie => a >=, y tal vez quiera cambiar “igual o mayor que” a “mayor
o igual que”, también.
2.7 Hable sobre el significado de cada uno de los siguientes objetos:
A) std::cin: Los nombres cin (el f lujo de entrada estándar)
B) std::cout: indica a la computadora que debe realizar una acción
2.8 Complete las siguientes oraciones:
a) __________ se utilizan para documentar un programa y mejorar su legibilidad.
b) El objeto que se utiliza para imprimir información en la pantalla es #include
<iostream> // permite al programa imprimir datos en la pantalla.
c) Una instrucción de C++ que toma una decisión es __________.
d) La mayoría de los cálculos se realizan normalmente mediante instrucciones suma
= numero1 + numero2;
e) El objeto #include <iostream> // recibe valores de entrada del teclado.
2.9 Escriba una sola instrucción o línea en C++ que realice cada una de las
siguientes tareas:
a) Imprimir el mensaje "Escriba dos numeros". int suma; // suma de numero1 y
numero2
b) Asignar el producto de las variables b y c a la variable a. std::cout << “La suma es “
<< numero1 + numero2 << std::endl;
c) Indicar que un programa va a realizar un cálculo de nómina (es decir, usar texto
que ayude a documentar un programa). // Programa de suma que muestra la suma
de dos enteros.
d) Recibir tres valores de entrada del teclado y colocarlos en las variables enteras a,
b y c.
2.10 Conteste con verdadero o falso a cada una de las siguientes proposiciones; en
caso de ser falso, explique por qué.
A) Los operadores en C++ se evalúan de izquierda a derecha. Verdadero.
B) Los siguientes nombres de variables son todos válidos: _barra_inferior_, m928134,
t5, j7, sus_ventas, su_cuenta_total, a, b, c, z, z2. Verdadero.
C) La instrucción cout << "a = 5;"; es un ejemplo típico de una instrucción de
asignación. Falso; no se puede igualar una letra a un número.
D) Una expresión aritmética válida en C++ sin paréntesis se evalúa de izquierda a
derecha. Falso; una expresión aritmética lleva paréntesis
E) Los siguientes nombres de variables son todos inválidos: 3g, 87, 67h2, h22, 2h.
Verdadero
2.11 Complete cada una de las siguientes oraciones:
a) ¿Qué operaciones aritméticas se encuentran en el mismo nivel de precedencia
que la multiplicación? La división de enteros
b) Cuando los paréntesis están anidados, ¿cuál conjunto de paréntesis se evalúa
primero en una expresión aritmética? Los operadores en el par más interno de
paréntesis se aplican primero Si hay varios pares de paréntesis “en el mismo nivel”
(es decir, no anidados), se evalúan de izquierda a derecha.
c) Una ubicación en la memoria de la computadora que puede contener distintos
valores en distintos momentos durante la ejecución de un programa se llama
Variable
2.12 ¿Qué se imprime (si acaso) cuando se ejecuta cada una de las siguientes
instrucciones de C++? Si no se imprime nada, entonces responda “nada”. Suponga
que x = 2 y y = 3.
a) cout << x;
x=2
b) cout << x + x;
4
c) cout << "x=" ;
x=
d) cout << "x = " << x;
2=2
e) cout << x + y << " = " << y + x;
5=5
f) z = x + y;
5
g) cin >> x >> y;
h) // cout << "x + y = " << x + y;
i) cout << "\n";
2>>3
5=5
nulo
2.13 ¿Cuáles de las siguientes instrucciones de C++ contienen variables, cuyos
valores se modifican?
a) cin >> b >> c >> d >> e >> f;
no
b) p = i + j + k + 7;
si
c) cout << "variables cuyos valores se destruyen";
no
d) cout << "a = 5";
si
2.14 Dada la ecuación algebraica y = ax3+ 7, ¿cuáles de las siguientes instrucciones
(si acaso) en C++ son correctas para esta ecuación?
a) y = a * x * x * x + 7;
Falso
b) y = a * x * x * ( x + 7 );
Falso
c) y = ( a * x ) * x * ( x + 7 );
Falso
d) y = ( a * x ) * x * x + 7;
Verdadero
e) y = a * ( x * x * x ) + 7;
Verdadero
f) y = a * x * ( x * x + 7 );
Falso
2.15 Indique el orden de evaluación de los operadores en cada una de las siguientes
instrucciones en C++, y muestre el valor de x después de ejecutar cada una de
ellas:
a) x = 7 + 3 * 6 / 2 – 1;
b) x = 2 % 2 + 2 * 2 – 2 / 2;
c) x = ( 3 * 9 * ( 3 + ( 9 * 3 / ( 3 ) ) ) );
a) x: = 7 + 3 * 6 / 2 - 1;
1 *, 2/, 3+, 4 - y x=15
b) x = 2%2 + 2*2-2/2;
1 *, 2%, 3/, 4 + y x=3
c) x = ( 3 * 9 * ( 3 + ( 9 * 3 / ( 3 ) ) ) ); ( 3 8* 9 9* (6 3 +7 (5 9 *3 3 /4 (131) 2)
5) 6); y x=324
2.16 Escriba un programa que pida al usuario que escriba dos números, que
obtenga los números del usuario e imprima la suma, producto, diferencia y cociente
de los números.
// Declaración de clase 'Aritmetica'
1.
2.
3. {
4.
// Método de clase
5.
public static void main( String[] args )
6.
{
7.
// Declaración de variables
8.
int x; // Primer número entero
9.
int y; // Segundo número entero
10.
int suma; // Almacenará el valor obtenido de sumar x e y
11.
int resta; // Almacenará el valor obtenido de restar x menos y
12.
int producto; // Almacenará el valor obtenido de multiplicar x por y
13.
int cociente; // Almacenerá el valor obtenido de dividir x sobre y
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
}
48. }
// Instanciación (creación) de un objeto de clase 'Scanner'
Scanner entrada = new Scanner( System.in );
// Solicitud de los datos al usuario a través de la entrada estándar
System.out.print( "Digite el primer número entero: ");
x = entrada.nextInt();
System.out.printf( "Digite el segundo número entero: ");
y = entrada.nextInt();
// Calcular suma
suma = x + y;
// Calcular resta
resta = x - y;
// Calcular producto
producto = x * y;
// Calcular cociente
cociente = x / y;
// Visualización de resultados en la salida estándar (monitor)
System.out.printf( "La suma de %d + %d = %d\n", x , y , suma );
System.out.printf( "La diferencia de %d - %d = %d\n", x , y , resta );
System.out.printf( "El producto de %d * %d = %d\n", x , y , producto );
System.out.printf( "El cociente de %d / %d = %d\n", x , y , cociente);
System.exit(0);
2.17 Escriba un programa que imprima los números del 1 al 4 en la misma línea, con
cada par de números adyacentes separado por un espacio. Haga esto de varias
formas:
a) Utilizando una instrucción con un operador de inserción de f lujo.
b) Utilizando una instrucción con cuatro operadores de inserción de f lujo.
c) Utilizando cuatro instrucciones.
1.
2.
3.
4.
5.
6.
//mostrar cuatro numeros()
{
System.out.print("1 2 3 4")<< std::endl;
}
{
System.out.print("1")<< std::endl;
7. System.out.print("2")<< std::endl;
8. System.out.print("3")<< std::endl;
9. System.out.print("4")<< std::endl;
10. }
11.
2.18 Escriba un programa que pida al usuario que escriba dos enteros, que obtenga
los números del usuario e imprima el número más grande, seguido de las palabras
"es más grande". Si los números son iguales, imprima el mensaje "Estos números
son iguales."
1. //Este programa muestra el mayor de dos numeros
2. {
3. string N1;
4. String N2;
5. String resultado="";
6.
7. Int numero 1;
8. Int numero 2;
9. {
10. N1 = ("introdusca el primer entero:");
11.
12. N2=(introdusca el segundo entero:2);
13.
14. If(numero1==numero2)
15. Resultado="estos numeros son iguales";
16.
17. If(numero1>numero2)
18. Resultado="el numero"+numero1+" es mas grande que el "+numero2"
19.
20. If(numero1>numero2)
21. Resultado=numero2+" es mas grande que el "+numero1;
22.
23. //mostrar los resultados
24.
25. Opcionpanel.INFORMACION_MENSAJE);"Estos numeros son iguales"
26.
27. Sistema.exito(0);//aqui termina la aplicación
28. }
29. }
2.19 Escriba un programa que reciba tres enteros del teclado e imprima la suma,
promedio, producto, menor y mayor de esos números. El diálogo de la pantalla
debe aparecer de la siguiente manera:
1. // Programa que muestra el mayor, menor, producto, promedio, suma de dos
numeros;
2.
{
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
{
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25. }
26. }
// Calcular suma("13 27 14");
suma = x+y+z
// Calcular resta("13 27 14")
resta = x-y-z
// Calcular producto("13 27 14")
producto = x*y*z
// Calcular promedio("13 27 14")
promedio = >>x
// Visualización de resultados en la salida estándar (monitor)
System.out.printf( "La suma de %d + %d + %d = %d\n", x , y , suma );
System.out.printf( "La diferencia de %d - %d - %d = %d\n", x , y ,z resta );
System.out.printf( "El producto de %d * %d * %d = %d\n", x , y ,z producto );
System.out.printf( "El promedio de %d / %d / %d = %d\n", x , y ,z promedio);
System.exit(0);
2.20 Escriba un programa que lea el radio de un círculo como un número entero y
que imprima su diámetro, circunferencia y área. Use el valor constante 3.14159 para
π. Realice todos los cálculos en instrucciones de salida. [Nota: en este capítulo
sólo hemos visto constantes enteras y variables. En el capítulo 4 hablaremos sobre
los números de punto f lotante; es decir, valores que pueden tener puntos
decimales.]
1. // Programa que recibe el radio de un circulo e imprime el diámetro, circunferencia
y área de ese círculo.
2.
3.
{
4.
double radio;
5. radio=Integer.parseInt(JOptionPane.showInputDialog("Dame el radio del circulo en
metros:"));
6.
7.
String resultado="el diametro es: "+String.valueOf(3.1416*radio)+" M.\nLa
circunferencia es: "
8.
+String.valueOf(Math.PI*radio)
9.
+"M. \nEl area es: "+ String.valueOf(Math.PI*(Math.pow(radio,3.1416)))
+"M3.1416";
10.
11.
JOptionPane.showMessageDialog(null,resultado ,"resultados de las
operaciones",JOptionPane.INFORMATION_MESSAGE);
12.
13. System.exit(0); //terminar la aplicacion
14. }
2.21 Escriba un programa que imprima un cuadro, un óvalo, una f lecha y un
diamante como se muestra a continuación:
2.22 ¿Qué imprime el siguiente código?
a) cout << "*\n**\n***\n****\n*****" << endl;
2.23 Escriba un programa que lea cinco enteros y que determine e imprima los
enteros mayor y menor en el grupo. Use solamente las técnicas de programación
que aprendió en este capítulo.
2.24 Escriba un programa que lea un entero y que determine e imprima si es impar o
par. [Sugerencia: use el operador módulo. Un número par es un múltiplo de dos.
Cualquier múltiplo de dos deja un residuo de cero cuando se divide entre dos.]
2.25 Escriba un programa que lea dos enteros, determine si el primero es un
múltiplo del segundo e imprima el resultado. [Sugerencia: use el operador de
módulo.]
2.26 Escriba una aplicación que muestre un patrón de tablero de damas con ocho
instrucciones de salida, y después muestre el mismo patrón utilizando el menor
número de instrucciones posible.
2.27 He aquí un adelanto. En este capítulo, aprendió sobre los enteros y el tipo int.
C++ también puede representar letras mayúsculas, minúsculas y una considerable
variedad de símbolos especiales. C++ utiliza enteros pequeños de manera interna
para representar cada uno de los distintos caracteres. Al conjunto de caracteres
que utiliza una computadora, y las correspondientes representaciones enteras para
esos caracteres, se le conoce como el conjunto de caracteres de esa computadora.
Podemos imprimir un carácter encerrándolo entre comillas sencillas, como se
muestra a continuación:
cout << 'A'; // imprimir una letra A mayúscula
Podemos imprimir el equivalente entero de un carácter mediante el uso de
static_cast, como se muestra a continuación:
cout << static_cast< int >( 'A' ); // imprime 'A' como un entero
A esto se le conoce como operación de conversión (en el capítulo 4 presentaremos
formalmente las conversiones). Cuando se ejecuta la instrucción anterior, imprime
el valor 65 (en sistemas que utilizan el conjunto de caracteres ASCII). Escriba un
programa que imprima el equivalente entero de un carácter escrito en el teclado.
Almacene la entrada en una variable de tipo char. Pruebe su programa varias veces,
usando letras mayúsculas, minúsculas, dígitos y caracteres especiales (como $).
2.28 Escriba un programa que reciba como entrada un número entero de cinco
dígitos, que separe ese número en sus dígitos individuales y los imprima, cada uno
separado de los demás por tres espacios. [Sugerencia: use los operadores de
división entera y módulo.] Por ejemplo, si el usuario escribe el número 42339, el
programa debe imprimir:
42339
2.29 Utilizando sólo las técnicas que aprendió en este capítulo, escriba un programa
que calcule los cuadrados y cubos de los números enteros del 0 al 10, y que
imprima los valores resultantes en formato de tabla, como se muestra a
continuación:
Descargar