0% encontró este documento útil (0 votos)
38 vistas3 páginas

Ejercicios de C++: Algoritmos y Datos

Este documento presenta 8 ejercicios de programación en C++ sobre temas como el uso de condicionales if, el paso de parámetros por referencia y valor, el intercambio de valores, la declaración de variables globales, los problemas de inclusión de cabeceras y el uso de bucles. El objetivo es practicar conceptos básicos de programación y resolución de problemas comunes en C++.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
38 vistas3 páginas

Ejercicios de C++: Algoritmos y Datos

Este documento presenta 8 ejercicios de programación en C++ sobre temas como el uso de condicionales if, el paso de parámetros por referencia y valor, el intercambio de valores, la declaración de variables globales, los problemas de inclusión de cabeceras y el uso de bucles. El objetivo es practicar conceptos básicos de programación y resolución de problemas comunes en C++.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Análisis de Algoritmos y Estructuras de Datos

Práctica 1: Programación con C++

Versión 1.0

Ejercicios

1. Considere la siguiente función:


void muestra_temperatura(int temperatura)
{
cout << "Temperatura: " << temperatura << " grados ";
if (temperatura > 20)
if (temperatura < 30)
cout << "(normal)";
else
cout << "(baja)";
cout << endl;
}

a) ¿Cuál es el resultado de las siguientes llamadas?


muestra_temperatura(10);
muestra_temperatura(27);
muestra_temperatura(40);

b) ¿Cree que coincide con las expectativas del programador? ¿A qué se debe?

2. Considere la siguiente función:


void muestra_temperatura(int temperatura)
{
cout << "Temperatura: " << temperatura << " grados ";
if (20 < temperatura < 30)
cout << "(normal)";
else
cout << "(anormal)";
cout << endl;
}

Explique el resultado de las siguientes llamadas a la función:

1
muestra_temperatura(10);
muestra_temperatura(27);
muestra_temperatura(40);

3. ¿Qué problema hay con el siguiente programa?


#include <iostream>

int main()
{
using namespace std;
cout << SOS() << endl;
}

const char∗ SOS() { return "... ___ ..."; }

Comente, al menos, dos posibles soluciones.


4. El siguiente programa se compone de una cabecera y dos módulos:
a) Cabecera:
#include <iostream>

int Visitas ;

void visita (const char∗ arg);


b) Módulo auxiliar, que incluye la cabecera:
#include "visita.h"

void visita (const char∗ arg)


{
using namespace std;
cout << "Visita: " << arg << endl;
// ...
++Visitas;
}
c) Módulo principal, que incluye la cabecera:
#include "visita.h"

int main(int argc, char∗ argv[])


{
using namespace std;
Visitas = 0;
while (∗++argv)
visita (∗argv);
cout << "Visitas: " << Visitas << endl;
}

2
¿Ve algún problema? Si es así, explique cómo solucionarlo con el mínimo esfuerzo. Realice
una crítica razonada de este estilo de programación.

5. ¿Hay algún problema con el siguiente programa? Si lo hay, explique cuál. Si no, explique
qué salida produce.
#include <iostream>

int main()
{
using namespace std;
int v[10] = { 1, 2, 3, };
for (int i = 0; i < 10; ++i)
cout << v[i] << ’ ’;
cout << endl;
}

6. Escriba una función que se expanda en línea y, utilizando referencias, intercambie los
valores de sus tres parámetros enteros rotándolos a la izquierda. Sobrecargue esta fun-
ción utilizando punteros. Después compare y contraste las dos funciones y la manera de
llamarlas.

7. ¿Qué problema hay con el siguiente programa?


#include <iostream>

int main()
{
cout << "Hola." << endl;
}

Explique, al menos, tres formas distintas de resolverlo.

8. Escriba un programa que calcule el cuadrado de un double leído de la entrada estándar e


imprima el número de veces que puede repetir dicho cálculo durante un segundo. Emplee
una función que se expanda en línea para obtener el cuadrado de un número.

También podría gustarte