4.1.-
Escriba
un programa en C++ que demuestre la diferencia entre predecrementear
y postdecrementar, utilizando el operador decremental --.
4.2.-
Un palíndromo es un número o una frase de texto,
que se lee igual hacia adelante y hacia atrás. Por ejemplo,
cada uno de los siguientes enteros de cinco dígitos son palíndromos:
12321, 55555, 45554 y 11611. Escriba un programa que lea un entero
de cinco dígitos y que determine si es o no es un palíndromo.
(Sugerencia: Utilice los operadores de división y de
módulo para separar los números en sus dígitos
individuales).
4.3.-
(Leyes de De Morgan). En
este capítulo, hemos analizado los operadores lógicos
&&, || y !. Las leyes de De Morgan a veces pueden
hacer que sea más conveniente para nosotros expresar una
expresión lógica. Estas leyes dicen que la expresión
! (condicion1 && condicion2) es lógicamente equivalente
a la expresión (!condición1 || !condición2).
También, la expresión !(condicion1 || !condicion2)
es lógicamente equivalente a la expresión (!condicion1
&& !condicion2). Utilice las leyes de De Morgan para escribir
expresiones equivalentes para cada uno de los siguientes, y a continuación
escriba un programa para mostrar que tanto la expresión original
como la nueva, en cada caso, son equivalentes:
!(x
< 5) && !(y >= 7)
!(a
== b) || !(g != 5)
!((x
<= 8) && (y > 4))
!((i
> 4) || (j <= 6))
4.4.-¿Cuál
es el proposito del operador de resolución de alcance
unario?
4.5.-
Compare la asignación dinámica
de memoria mediante los operadores de C++ new y delete, con
la asignación de memoria dinámica mediante las funciones
de la biblioteca estándar de C malloc y free.
4.6.-
El operador sizeof en un
objeto String sólo devuelve el tamaño de los miembros
de datos del objeto String; no incluye la longitud del espacio String
asignado por new. Haga la homonímia del operador sizeof
para que regrese el tamaño del objeto String, incluyendo
la memoria dinámicamente asignada.
|