Hoja_2

Anuncio
1º IEM/ITL
Fundamentos de Informática
Curso 2010-2011
Hoja de Problemas 2 – Sentencias de Control
Problema 1
Un análisis del control de calidad de un proceso de fabricación de productos ha determinado como
defectuosos las piezas con códigos en el siguiente rango: 80-120, 150-355, 410-625, y 800-950.
Realizar el código de un programa que indique si un artículo con un número de serie determinado es
defectuoso o correcto.
Problema 2
Escribir un programa que visualice el número más grande de n números introducidos por el teclado.
Problema 3
Para una clase de n alumnos, escribir un programa que pida n y la nota que ha tenido en Programación
cada alumno e informe de:
a) Cuantos alumnos han aprobado y cual es la nota media de los aprobados.
b) Cuantos alumnos han suspendido y cual es la nota media de los suspensos.
c) Cual es la nota máxima de la clase y cuantos alumnos la han obtenido.
d) Cual es la nota mínima de la clase y cuantos alumnos la han obtenido.
Problema 4 (Nov-07)
Suponiendo que un programa ha leído un número entero con scanf en la variable num, escribir el bucle
que permite determinar si dicho número es primo o no. Al finalizar el bucle la variable entera
es_primo debe valer 1 si el número num es primo y debe valer 0 si no lo es.
Aclaración: Una manera de comprobar si un número num es primo, es calcular el resto de la división de
dicho número entre todos los número positivos y mayores que uno que sean menores que num. Si
alguno de los módulos (resto de la división) es cero entonces el número no es primo.
Problema 5
Se desea realizar un programa C que solicite al usuario un determinado número entero mayor que 0 y le
muestre los números primos menores que él.
Problema 6
Escribir un programa que produzca una tabla de conversión de grados centígrados a Fahrenheit de n filas.
La tabla empezará con C0 grados centígrados e irá realizando incrementos de DC grados. El programa
deberá solicitar al usuario la temperatura inicial C0, el incremento de la tabla DC y el número de valores
que se desean mostrar en dicha tabla (el número n de filas).
Programa 7
Se quiere escribir un programa para obtener las raíces de una ecuación de segundo grado. El programa
debe preguntar los valores a, b y c de la ecuación ax2 + bx + c = 0 y proporcionar el valor de sus raíces,
contemplando las posibilidades de raíz doble o raíces complejas.
Dibujar a mano el diagrama de flujo del programa antes de empezar a programar
Codificar el programa y probarlo con varios ejemplos
Programa 8
Escribir un programa que pida una letra y la convierta de minúscula a mayúscula o de mayúscula a
minúscula. Si el carácter introducido no es una letra, entonces no hay que convertirlo.
1º IEM/ITL
Fundamentos de Informática
Curso 2010-2011
Programa 9
Escribir un programa que pida tres valores enteros y los muestre por pantalla en orden mayor a menor.
Problema 10 (Nov-07)
Suponiendo que un programa ha leído un valor entero mínimo min y un valor entero máximo max,
escribir un bucle for que muestre por pantalla una tabla de valores y valores al cuadrado para todos los
números comprendidos entre min y max.
Ejemplo: si min vale 9 y max vale 12 el resultado sería (tabla bien alineada):
x
x*x
---------------9
81
10
100
11
121
12
144
Problema 11 (Nov-07)
Escribir un programa completo (cabecera, includes, ...) que realice las siguientes operaciones:
 Declarar dos variables reales x e y
 Pedir al usuario el valor de x mediante scanf


Si x fuera positivo calcular y según la expresión matemática
y  12 (3x 2  5x)
negativo según la expresión
Mostrar los valores finales de x e y
y
1
2
3x 2  5 x
y si x fuese
Nota: para calcular la raíz cuadrada se utiliza la función sqrt(), lo cual requiere añadir al principio del
programa el include: #include <math.h>
Problema 12 (Nov-08)
Escribir un programa completo (cabecera, includes, ...) que realice las siguientes operaciones:

Declarar una variable x (tipo double) y otra n (tipo int).

Leer el valor de ambas variables mediante scanf

Calcular xn a base de multiplicar x tantas veces como indique n.

Mostrar el resultado utilizando un formato que sólo muestre 2 cifras en la parte decimal.
Problema 13 (Nov-08)
Escribir un programa que pida una nota de un alumno (número real) y escriba las calificaciones
correspondientes de acuerdo con el siguiente criterio:
0 a < 5.0
Suspenso
5 a <7.0 Aprobado
7.0 a <9.0
Notable
9.0 a <=10
Sobresaliente
Si la nota es negativa o mayor que 10 se debe mostrar un mensaje de error.
1º IEM/ITL
Fundamentos de Informática
Curso 2010-2011
Problema 14 (Nov-08)
Suponiendo que un programa ha inicializado, mediante #define el parámetro SECRETO con un valor
entero, escribir un bucle que permita al usuario jugar a adivinar el valor de SECRETO. El bucle debe
hacer:

Preguntar un número al usuario

Comparar dicho número con el valor de SECRETO
o Si ha acertado, mostrar un mensaje de enhorabuena
o Si no ha acertado, indicar si el valor SECRETO es menor o mayor que el introducido
 El bucle se repite hasta que el usuario acierte el valor
Nota: No hace falta validar la entrada, el usuario puede introducir cualquier valor entero y el programa se
limita a darle pistas.
/*
Nombre:
Fecha: 20/nov/2008
Descripción: Programa para adivinar un número entero.
*/
#include <stdio.h>
#define SECRETO 1234
int main(void)
{
int num; //número que prueba el usuario
/*** Bienvenida ***/
printf("Hola, a ver si adivinas el número secreto\n\n");
/***
Bucle
para
adivinar
el
número
***/
1º IEM/ITL
Fundamentos de Informática
Curso 2010-2011
Problema 15 (Nov-08)
Suponiendo que un programa ha leído una fecha mediante la variable entera dia y la variable entera
mes, indicar si es primavera, verano, otoño o invierno.
Datos: Las fechas de cambio de estación son:
20/mar Primavera
21/jun Verano
22/sep Otoño
21/dic Invierno
(Fechas de 2009, http://en.wikipedia.org/wiki/Equinox)
/*
Nombre:
Fecha: 20/nov/2008
Descripción: Programa para identificar la estación del año.
*/
#include <stdio.h>
int main(void)
{
int dia; //día del mes
int mes;
/*** Lectura de la fecha ***/
printf("Intruduzca el día: ");
scanf("%d",&dia);
printf("Intruduzca el mes: ");
scanf("%d",&mes);
/*** Mostrar la estación del año ***/
/*** (considerando que la fecha es válida) ***/
Descargar