Вы находитесь на странице: 1из 4

Tema 2: Conceptos Basicos de Programacion

EJERCICIOS PROPUESTOS
Programacion I
Sistemas de Telecomunicacion
Dpto. Lenguajes y CC. Computaci
on

1. El siguiente programa escrito en C++ calcula la cantidad bruta y neta a pagar por un trabajo realizado
en funci
on de las horas y das trabajados. Contiene errores, encuentrelos.
#include <iostream>
using namespace std;
const tasa : 25.0;
const PRECIO_HORA = 60.0;
int main()
{
float horas,dias,total,neto;
cout << "Introduzca las horas trabajadas: ";
cin << horas;
cout << "Introduzca los dias trabajados: ";
cin >> dias;
horas*dias*PRECIO_HORA = total;
neto = total-TASA;
cout >> "El valor total a pagar es: " >> total >> endl;
cout << "El valor neto a pagar es: " << NETO << endl;
}
2. Codifique el siguiente programa
#include <iostream>
using namespace std;
int main()
{
unsigned dato_1, dato_2;
cout << "Introduzca un numero: ";
cin >> dato_1;
cout << "Introduzca otro numero: ";
cin >> dato_2;
cout << "Los numeros leidos son: " << dato_1 << << dato_2 << endl;
}
Ejec
utelo introduciendo el n
umero 12 y pulse ENTER, posteriormente introduzca el n
umero 34 y pulse
ENTER, compruebe la salida del programa.
A continuaci
on, vuelvalo a ejecutar introduciendo el n
umero 12, pulse ESPACIO, n
umero 34 y pulse ENTER,
compruebe la salida del programa, comp
arela con la ejecucion anterior, eval
ue las diferencias y relacionelas
con el concepto de buffer de entrada.
3. Desarrolle un programa que acepte un dato de tipo int de teclado y posteriormente lo escriba en pantalla.
Ejec
utelo introduciendo un n
umero int valido, y posteriormente ejec
utelo introduciendo por teclado un
dato que no pertenezca al tipo int. Eval
ue las diferencias entre ambas ejecuciones del mismo programa.
4. Codifique el siguiente programa

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
cout << "Introduzca un numero:
unsigned num = 123456;
cin >> num;
char c = #;
cin.get(c);
cout << "El numero leido es: "
cout << "El caracter separador
<< c
<< ", su codigo ASCII: "
<< unsigned(c)
<< " [0x" << setfill(0)
<< endl;
}

";

<< num << endl;


es: "

<< setw(2) << hex << unsigned(c) << "]"

Ejec
utelo para las siguientes entradas de datos, y analice las salidas correspondientes:
Pulse varios espacios, ENTER, varios espacios, el n
umero 9876 y ENTER.
Pulse varios espacios, ENTER, varios espacios, el n
umero 9876, varios espacios y ENTER.
Pulse varios espacios, el n
umero 9876, la letra w y ENTER.
Pulse varios espacios, la letra x, el n
umero 9876, la letra w y ENTER.
5. Desarrolle un programa que s
olo declare variables de tipo int. El programa debera leer dos n
umeros desde
el teclado, posteriormente los sumar
a, almacenando el resultado en una variable, y finalmente escribir
a por
pantalla el resultado de la suma. Ejecute dicho programa tomando como datos de entrada 1 y 3000000000.
Por que no funciona?
6. Desarrolle un programa que convierta de euros a pesetas, considerando que 1 C son 166.386 pts.
7. Desarrolle un programa que lea por teclado una cierta cantidad de segundos y muestre su equivalente en
semanas, das, horas, minutos y segundos.
8. Desarrolle un programa que lea una palabra de cuatro letras por teclado, y posteriormente escriba dicha
palabra de manera que cada letra se encuentre codificada sustituyendola por aquel caracter que le sigue
en la tabla de c
odigo ASCII. Nota: considere el concepto de buffer de entrada.
9. Desarrolle un programa que lea una palabra de cuatro letras min
usculas y a continuacion la escriba en
may
usculas. Nota: considere el concepto de buffer de entrada.
10. Desarrolle un programa que lea cuatro dgitos (caracteres), calcule y almacene su valor numerico en una
variable natural, y posteriormente muestre el resultado de elevar al cuadrado dicho valor. Nota: considere
el concepto de buffer de entrada.
11. Una empresa maneja c
odigos numericos, donde cada codigo consta de cuatro dgitos:
El primero representa a una provincia.
Los dos siguientes indican el n
umero de la operacion.
El u
ltimo es un dgito de control.
Se desea obtener un programa que lea de teclado un n
umero de cuatro dgitos (el codigo de provincia es
distinto de cero), lo almacene en una variable de tipo natural, y posteriormente imprima en pantalla la
informaci
on desglosada, seg
un el siguiente ejemplo:
Provincia: <cod_provincia>
Numero de operacion: <cod_operacion>
Digito de control: <dig_control>

En caso de que el n
umero no tenga exactamente cuatro dgitos, o bien el dgito de control sea err
oneo
(ser
a correcto si su valor coincide con el resto de dividir el n
umero de operacion entre la provincia), en
lugar del mensaje anterior, habr
a que imprimir en pantalla el siguiente mensaje de error:
ERROR: CODIGO INVALIDO.
12. Codifique un programa que lea datos (x e y naturales y c caracter) y muestre si cumplen las siguientes
propiedades:
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
(j)

x {3, 4, 5, 6, 7}
x {1, 2, 3, 7, 8, 9}
x {1, 3, 5, 7, 9}
x {2, 5, 6, 7, 8, 9}
x {3, 4, 6, 8, 9}, y {6, 7, 8, 3}
Ni x ni y sean mayores que 10
x no sea multiplo de y
c es una letra may
uscula
c es una letra
c es un alfanumerico

13. El recibo de la electricidad se elabora de la siguiente forma para una determinada cantidad de Kw consumidos:

1 C de gastos fijos.
0.50 C/Kw para los primeros 100 Kw.
0.35 C/Kw para los siguientes 150 Kw.
0.25 C/Kw para el resto.

Elabore un programa que lea de teclado dos n


umeros, que representan los dos u
ltimos valores del contador
de electricidad (al restarlos obtendremos el consumo en Kw) y calcule e imprima en pantalla el importe
total a pagar en funci
on del consumo realizado.
14. Codifique un programa que se comporte como una calculadora simple. Para ello debera tener las siguientes
caractersticas:

Solo efectuar
a operaciones con dos operandos (binarias).
Operaciones permitidas: (+,-,*,/).
Se trabajar
a con operandos enteros.
Pedir
a en primer lugar la operaci
on a realizar, y a continuacion los dos operandos. Si el operador no
se corresponde con alguno de los indicados se emitira un mensaje de error. Ejemplo:
Operacion : *
Operando 1 : 24
Operando 2 : 3
Resultado : 72

15. Calculador repetitivo. Modifique el problema anterior para que se repita un n


umero indefinido de veces.
El calculador dejar
a de trabajar cuando se introduzca como codigo de operacion el smbolo &. Ejemplo:
Operacion : *
Operando 1 : 13
Operando 2 : 10
Resultado : 130
Operacion : u
ERROR!!!!
Operacion : +
Operando 1 : 12
Operando 2 : 3
Resultado : 15
Operacion : &
FIN DEL PROGRAMA
3

16. Desarrolle un programa que lea una palabra formada por letras min
usculas hasta leer ENTER (\n) y a
continuaci
on la escriba en may
usculas. Nota: considere el concepto de buffer de entrada.
17. Desarrolle un programa que lea una secuencia de dgitos (caracteres) hasta que lea algo distinto de digito,
almacene su valor numerico en una variable natural, y posteriormente muestre dicho valor. Nota: considere
el concepto de buffer de entrada.
18. Desarrolle un programa que lea de teclado un texto caracter a caracter hasta leer un punto (.), y que al
final muestre como salida el n
umero de comas (,) encontradas, y el n
umero de caracteres ledos. Nota:
considere el concepto de buffer de entrada.
19. Desarrolle un programa que determine si la secuencia "abc" aparece en una sucesion de caracteres cuyo
final viene dado por un punto (.). Nota: considere el concepto de buffer de entrada.
20. Desarrolle un programa que lea un n
umero N por teclado y calcule el n-esimo n
umero de la serie de
Fibonacci. Los dos primeros n
umeros de esta serie son el cero y el uno, y a partir de estos, cada n
umero
de la secuencia se calcula realizando la suma de los dos anteriores.
21. Desarrolle un programa que encuentre el mayor, el menor y la media aritmetica de una coleccion de N
n
umeros leidos por el teclado donde N es el primero de los n
umeros.
22. Desarrolle un programa que lea una secuencia de n
umeros enteros terminada en 0, y que encuentre y
escriba en la pantalla la posici
on de la primera y de la u
ltima ocurrencia del n
umero 12 dentro de la
secuencia. Si el n
umero 12 no est
a en la secuencia, el programa debera escribir 0. Por ejemplo, si el
octavo n
umero de la lista es el u
nico 12, entonces 8 sera la primera y la u
ltima posicion de las ocurrencias
de 12.
23. Desarrolle un programa para el siguiente juego: el usuario introduce un n
umero como lmite inferior, un
n
umero como lmite superior y piensa un n
umero dentro de ese rango. El objetivo del programa es acertar
el n
umero pensado por el usuario. Para ello el programa propone un n
umero y el usuario responde con >,
< o =, que significan que el n
umero pensado es mayor, menor o igual respectivamente al numero propuesto
por el programa. Si la respuesta es =, entonces el programa terminara satisfactoriamente, en otro caso, si
la respuesta es > o < el programa propondra otro n
umero hasta que finalmente acierte el n
umero pensado
por el usuario.

Вам также может понравиться