Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


ejercicios informatica, Ejercicios de Biología

Asignatura: Bioestadística, Profesor: Francisco Conejero Meca, Carrera: Biología, Universidad: UCM

Tipo: Ejercicios

2013/2014

Subido el 22/06/2014

gontxi52
gontxi52 🇪🇸

3.5

(185)

126 documentos

1 / 6

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Fundamentos de la programación Ejercicios del Tema 3 — Pág. 1
Facultad de Informática – Universidad Complutense
Fundamentos de la programación
Curso 2013–2014
Hoja de ejercicios del Tema 3
1. Disponemos de cuatro variaciones de un archivo de texto entrada.txt:
Caso 1 Caso 2 Caso 3 Caso 4
134
12.4
14256.789
27.4
100
134 12.4 c 1 2
14256.789
13.4
12
.18.2 14.7
13.4
12
Si tenemos el siguiente fragmento de código:
int entero1;
float float1;
double double1;
char car1, car2;
ifstream archivo;
archivo.open("entrada.txt"); // Apertura
archivo >> entero1 >> double1 >> car1;
archivo >> float1 >> car2;
...
Indica el valor de cada una de las variables después de ejecutar dicho fragmento
de código con los cuatro ejemplos de archivo de entrada. ¡Sin ejecutar el código
con un compilador!
2. ¿Cuál será el contenido del archivo salida.txt después de ejecutar el siguiente
programa? (Indica el resultado sin ejecutar el código en un compilador.)
#include <iostream>
using namespace std;
#include <fstream>
#include <iomanip>
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga ejercicios informatica y más Ejercicios en PDF de Biología solo en Docsity!

Facultad de Informática – Universidad Complutense

Fundamentos de la programación

Curso 2013–

Hoja de ejercicios del Tema 3

1. Disponemos de cuatro variaciones de un archivo de texto entrada.txt:

Caso 1 Caso 2 Caso 3 Caso 4 134

100

134 12.4 c 1 2

Si tenemos el siguiente fragmento de código: int entero1; float float1; double double1; char car1, car2; ifstream archivo; archivo.open("entrada.txt"); // Apertura archivo >> entero1 >> double1 >> car1; archivo >> float1 >> car2; ... Indica el valor de cada una de las variables después de ejecutar dicho fragmento de código con los cuatro ejemplos de archivo de entrada. ¡Sin ejecutar el código con un compilador!

2. ¿Cuál será el contenido del archivo salida.txt después de ejecutar el siguiente programa? (Indica el resultado sin ejecutar el código en un compilador.)

#include using namespace std; #include #include

int main() { ofstream archivo; bool llueve = false; int i = 35; double d1 = 123; double d2 = 123.45; char c = 'x'; float f = 3.14;

archivo.open("salida.txt"); // Creación del archivo archivo << "Hoy llueve = " << llueve << boolalpha << llueve << endl; archivo << i << right << setw(8) << i << endl; archivo << d1 << scientific << right << setw(8) << d1 << endl; archivo << d2 << right << fixed << setw(8) << setprecision(3) << d2 << endl; archivo << c << setw(8) << left << c << endl; archivo << f << right << setw(5) << setprecision(3) << f << endl; archivo << scientific << d2 << fixed << endl; archivo << setprecision(8) << d2 << endl; archivo.close(); // Cierre del archivo

return 0; }

3. Escribe un programa que lea los números de un archivo datos.txt (cada línea contiene un número real positivo) y muestre en la pantalla el mayor y el menor de todos ellos. El archivo termina con un 0 como centinela. 4. Escribe un programa que lea un número entero positivo del teclado y lo muestre invertido en la pantalla. Se entiende por invertir el dar la vuelta a los dígitos que componen el número ( su imagen especular ). Esto es, el inverso de 3952 es 2593. El programa utilizará una función que devuelva el nº invertido. 5. Escribe un programa que invierta cada número entero positivo que se introduzca por teclado. El programa actuará de forma cíclica, finalizando la ejecución cuando se introduzca un número negativo o el cero. 6. Escribe un programa que genere un archivo output.txt en el que aparezcan invertidos los números enteros estrictamente positivos (>0) que haya en otro archivo input.txt. Cada línea de input.txt contendrá un número entero y terminará en una línea con un 0 (centinela).

input.txt output.txt 1234 56 1000

54321 0

4321 65 0001 12345

14. El cuadrado de un número entero es igual a la suma de tantos números impares consecutivos (desde la unidad) como unidades tiene el número. Es decir, 3^2 es igual a 1+3+5 (3 impares) y 5 2 es igual a 1+3+5+7+9 (5 impares). Implementa un programa que solicite enteros al usuario y muestre en la pantalla su cuadrado calculado con el algoritmo indicado. El programa deberá finalizar cuando se introduzca el valor 0. Usará una función para calcular los cuadrados. 15. Implementa un programa que lea del teclado secuencias de caracteres terminadas en punto y que, para cada secuencia, cuente y muestre en la pantalla el número de blancos, letras y dígitos que hay entre la primera pareja de paréntesis. Si sólo hay un paréntesis de apertura, el recuento seguirá hasta el final de la secuencia. Puede no haber ninguna pareja de paréntesis. El programa solicitará secuencias hasta que se introduzca una línea con sólo el punto.

Un ejemplo de ejecución del programa sería el siguiente:

Entrada: Esto es (una prueba) de secuencia de entrada.↲ Salida: Blancos: 1 Letras: 9 Dígitos: 0 Entrada: Esto es la prueba de secuencia (de entrada 2.↲ Salida: Blancos: 2 Letras: 9 Dígitos: 1 Entrada: Esto es la prueba de secuencia de entrada 3.↲ Salida: Blancos: 0 Letras: 0 Dígitos: 0 Entrada: .↲ Fin del programa

Recuerda que con cin.ignore(INT_MAX, '\n'); o cin.sync(); puedes descartar el salto de línea (y lo que pueda haber después del punto), una vez leído el punto final de cada texto.

16. Implementa un programa que lea un número entero N y pida al usuario que averigüe su raíz cuadrada, preguntando tantas veces como sea necesario hasta que el usuario acierte. Se da por buena una respuesta cuando la distancia (error) entre N y el número introducido elevado al cuadrado sea menor que 10-4. Tras cada respuesta del usuario, el programa indicará si el número es mayor o menor que la raíz cuadrada buscada. 17. Desarrolla un programa que determine si una secuencia de enteros terminada en 0 (centinela) es creciente o no (cada elemento es mayor o igual que el anterior). 18. Escribe un programa que cuente el número de veces que aparece la secuencia xy en un archivo de texto input20.txt (terminado en *). 19. Escribe un programa que indique si es triangular cada número entero que haya en un archivo enteros.txt (terminado en 0 como centinela). Se dice que un número entero es triangular si es igual a la suma de varios enteros positivos consecutivos empezando desde 1. El programa usará una función que indique si un entero es triangular.

20. Implementa un programa que pida al usuario las calificaciones de los 10 estudiantes de una clase y los guarde en un array (declara el tipo adecuado; se admiten decimales). Después, mostrará esas calificaciones (cada una en una línea), seguida de la media del curso y del número de aprobados y suspensos. Se usará una función para calcular la nota media y otra para el número de suspensos. 21. Modifica el programa anterior para que se puedan guardar hasta 100 calificaciones. El programa pedirá calificaciones al usuario hasta que éste introduzca una nota negativa (o se llene el array). El programa, además, mostrará la nota máxima llamando a una función que se encargue de encontrarla. 22. Escribe un programa en C++ que lea de un archivo palabras.txt (con xxx como centinela) una lista de hasta 50 palabras (cadenas) y luego muestre al usuario un menú con estas opciones: mostrar la lista de palabras (una por línea precedida de su posición), localizar una palabra (indicará su posición), contar las apariciones de una palabra, localizar la primera palabra de más de una longitud dada, desplazar la lista de palabras (cada palabra pasa a la siguiente posición del array; la última a la primera posición) y salir. El programa repetirá el menú hasta que se elija la opción para salir y usará las funciones adecuadas. 23. Implementa un programa que calcule el primer número natural cuyo cubo supera estrictamente otro entero N dado (N ≥ 0). El programa mostrará la secuencia de números recorrida. 24. Resuelve el problema anterior sin usar multiplicaciones (ni pow()). Para ello, debes emplear la relación (X+1) 3 = X^3 + 3X^2 + 3X + 1. Observa que de esta forma el cubo de cada número natural se puede calcular con sumas a partir del cubo y del cuadrado del número natural anterior. Para calcular los cuadrados sin multiplicaciones debes usar la relación análoga, es decir (X+1) 2 = X^2 + 2X + 1.

x 1 = 1 x 12 = 1 x 13 = 1 x 2 = 2 x 22 = x 12 +2x 1 +1 = 1+2·1+1 = 4 x 23 = x 13 +3x 12 +3x 1 +1 = 1+3·1+3·1+1 = 8 x 3 = 3 x 32 = x 22 +2x 2 +1 = 4+2·2+1 = 9 x 33 = x 23 +3x 22 +3x 2 +1 = 8+3·4+3·2+1 = 27 x 4 = 4 x 42 = x 32 +2x 3 +1 = 9+2·3+1 = 16 x 43 = x 33 +3x 32 +3x 3 +1 = 27+3·9+3·3+1 = 64 ...

25. Conversiones de tipos: Prueba el siguiente programa en tu compilador (copia y pega). Comprueba los problemas que se generan en las conversiones inseguras.

#include using namespace std;