Está en la página 1de 28

EJERCICIOS

Ejercicios Básicos Resueltos:


Divide una hoja de tu cuaderno como se muestra a continuación y llena los cuadros según corresponda:
1. Programa que convierte de metros a pies y pulgadas
Variables Código Prueba de Salida en pantalla
escritorio
Entrada #include <stdio.h> metros=100 Valor en metros: 100
flotantes main()
metros { resul= El resultado es: pies pulgadas
float metros,resul,pulg;
int resul2,pulg2;
Proceso pulg=
flotantes clrscr();
resul,pulg printf("\nValor en metros: ");
scanf("%f",&metros); resul2=
enteros resul=metros*(1/.3048);
resul2,pulg2 resul2=resul;
pulg=resul-resul2; pulg2=
Salida pulg=pulg*12;
enteros pulg2=pulg;
resul2,pulg2 printf("El resultado es: %d pies %d pulgadas",resul2,pulg2);
getch();
}

2. Realizar un programa que nos calcule el espacio recorrido por un móvil con velocidad
uniforme durante un tiempo determinado.

#include <stdio.h>

main()
{
float e,v,t;

v = 30; /* Velocidad del móvil en Km/h */


t = 5; /* Tiempo durante el cual se mueve */
e = v*t;
printf ("\nVelocidad : %f\nTiempo : %f",v,t);
printf ("\nEspacio recorrido : %f",e);
}

3. Suponga que un individuo desea invertir su capital en un banco y desea saber cuánto
dinero ganara después de un mes si el banco paga a razón de 2% mensual.

#include <stdio.h>

main()
{
int cap_inv;
float gan;

printf ("Cantidad a invertir:");


scanf ("%i",& cap_inv);
gan=cap_inv*.02;
printf ("\nLa ganancia es:%F", gan);
}
4. Un vendedor recibe un sueldo base mas un 10% extra por comisión de sus ventas, el
vendedor desea saber cuanto dinero obtendrá por concepto de comisiones por las tres
ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su sueldo
base y comisiones.

#include <stdio.h>

main()
{
float sb,v1,v2,v3,com,tot_ven,tot_pag;

sb=5000;
printf ("\nIngrese la venta 1:");
scanf ("%f",& v1);
printf ("\nIngrese la venta 2:");
scanf ("%f",& v2);
printf ("\nIngrese la venta 3");
scanf ("%f",& v3);
tot_ven=v1+v2+v3;
com=tot_ven*.10;
tot_pag=sb+com;
printf ("\nTotal de pago:%f",tot_pag);
printf ("\nComision:%f",com);
}

5. Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea
saber cuánto deberá pagar finalmente por su compra.

#include <stdio.h>
main()
{
float tc,d,tp;

printf ("\nIngrese la compra:");


scanf ("%f",& tc);
d=tc*.15;
tp=tc-d;
printf ("\nEl total de la compra es:%f",tp);
}

6. Un alumno desea saber cuál será su calificación final en la materia de Física. Dicha
calificación se compone de los siguientes porcentajes:
55% del promedio de sus tres calificaciones parciales.
30% de la calificación del examen final.
15% de la calificación de un trabajo final.

#include <stdio.h>
main()
{
float c1,ef,c2,c3,cf,tf,prom,ppar,pef,ptf;

printf ("Ingrese la primer calificacion:");


scanf ("%f",& c1);
printf ("\nIngrese la segunda calificacion:");
scanf ("%f",& c2);
printf ("\nIngrese la tercer calificacion:");
scanf ("%f",& c3);
printf ("\nIntroduce la calificacion del trabajo final:");
scanf ("%f",& tf);
printf ("\nIntroduce la calificacion de tu examen final:");
scanf ("%f",& cf);
prom=(c1+c2+c3)/3;
ppar=prom*.55;
pef=ef*.15;
ptf=tf*.15;
cf=ppar+pef+ptf;
printf ("\nTu calificacion final es:%f", cf);
}

7. Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay
en un grupo de estudiantes.

#include <stdio.h>

main()
{
float nh,nm,ta,ph,pm;

printf ("Ingrese el numero de hombres");


scanf ("%f",& nh);
printf ("\nIngrese el numero de mujeres");
scanf ("%f",& nm);
ta=nh+nm;
ph=nh*100/ta;
pm=nm*100/ta;
printf ("\nEl porcentaje de hombres es:%f", ph);
printf ("\nEl porcentaje de mujeres es:%f", pm);
}

8. Realizar un programa que calcule la edad de una persona.

#include <stdio.h>
main()
{
int fnac,fact,edad;

printf ("Introduce tu año de nacimiento:");


scanf ("%d",& fnac);
printf ("\nIntroduce el año actual:");
scanf ("%d",& fact);
edad=fact-fnac;
printf ("\nTu edad es:%d",edad);

}
9. Dada una cantidad en pesos, obtener la equivalencia en dólares, asumiendo que la
unidad cambiaría es un dato desconocido.

#include <stdio.h>

main()
{
float pes,dol,valdol;

printf ("Introduzca el sistema cambiario:");


scanf ("%f",& valdol);
printf ("\nIntroduce cual es tu monto en pesos:");
scanf ("%f",& pes);
dol=pes/valdol;
printf ("El valor en pesos es:%f", dol);
}

10. Calcular el número de pulsaciones que una persona debe tener por cada 10 segundos
de ejercicio, si la fórmula es:
num. pulsaciones = (220 - edad)/10

#include <stdio.h>

main ()
{
float np;
int edad;

printf ("\nIntroduce tu edad:");


scanf ("%f",& edad);
np=((220-edad)/100)*10;
printf ("\n\nEl resultado es:%f", np);
}

11. En un hospital existen tres áreas: Ginecología, Pediatría, Traumatología. El


presupuesto anual del hospital se reparte conforme a la sig. tabla:

Área Porcentaje del presupuesto


Ginecología 40%
Traumatologia 30%
Pediatría 30%

Obtener la cantidad de dinero que recibirá cada área, para cualquier monto presupuestal.

#include <stdio.h>

main ()
{
float gin,pedia,trauma,pres;

printf ("Ingrese el monto del presupuesto");


scanf ("%f",& pres);
gin=pres*.40;
trauma=pres*.30;
pedia=pres*.30;
printf ("\n El presupuesto para ginecologia es:%f",gin);
printf ("\n\nEl presupuesto para traumatologia es:%f",trauma);
printf ("\n\nEl presupuesto para pediatria es:%f",pedia);
}

12. El dueño de una tienda compra un artículo a un precio determinado. Obtener el precio
en que lo debe vender para obtener una ganancia del 30%.

#include <stdio.h>

main()
{
float p_c,por,gan;

printf ("Introduce el monto de la compra:");


scanf ("%f",& p_c);
por=p_c*.30;
gan=por+p_c;
printf ("\nEl precio de venta es:%f", gan);
printf ("\nLaganancia es de :%f", por);
}

13. El siguiente programa muestra el número ASCII de cualquier caracter.

#include <stdio.h>
#include <conio.h>

main()
{
char ch;

printf ("Introduzca un caracter:");


ch=getche ();
printf ("\nEl codigo ASCII es:%d",ch);
}
Ejemplos Básicos Propuestos.

Realiza el análisis del problema y llena la siguiente tabla con sus elementos
correspondientes (el código lo puedes imprimir y pegar dentro del cuadro, así como la
salida en pantalla.

1. Definición del problema


Variables Código Prueba de Salida en pantalla
escritorio

1. Leer un número y escribir el valor absoluto del mismo.


2. La presión, el volumen y la temperatura de una masa de aire se relacionan por la formula:
masa = (presión * volumen)/(0.37 * (temperatura + 460))
3. Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario
anterior.
4. Todos los lunes, miércoles y viernes, una persona corre la misma ruta y cronometra los
tiempos obtenidos. Determinar el tiempo promedio que la persona tarda en recorrer la ruta
en una semana cualquiera.
5. Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas
invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte con respecto a
la cantidad total invertida.
6. Un alumno desea saber cuál será su promedio general en las tres materias más difíciles que
cursa y cuál será el promedio que obtendrá en cada una de ellas. Estas materias se evalúan
como se muestra a continuación:
a) La calificación de Matemáticas se obtiene de la sig. manera:
· Examen 90%, Promedio de tareas 10%
· En esta materia se pidió un total de tres tareas.
b) La calificación de Física se obtiene de la sig. manera:
· Examen 80%
· Promedio de tareas 20%
· En esta materia se pidió un total de dos tareas.
c) La calificación de Química se obtiene de la sig. manera:
· Examen 85%
· Promedio de tareas 15%
· En esta materia se pidió un promedio de tres tareas.
Ejercicios básicos para corregir

El docente entregará los siguientes problemas a los alumnos provocando diferentes


errores, mismos que deberán encontrar y corregir. En el cuaderno pegarán el ejercicio
codificado corregido y la prueba de escritorio. Anexaran también los códigos y
descripción de los errores y su explicación del error en español

(Códigos correctos)

1.- Realiza un programa que introduciendo dos números nos calcule el producto, división
y resto de dichos números.

/* Ejercicio nº1 Escribir la definición del problema*/


#include<stdio.h>

main()
{
int a,b;

clrscr();
printf("\nIntroduzca a y b: ");
scanf("%d%d",&a,&b);
printf("\n%d*%d=%d",a,b,a*b);
printf("\n%d/%d=%.2f",a,b,(float)a/b);
printf("\n%dmod%d=%d",a,b,a%b);
getch();
}

2.- Elabora un programa en el cual sabiendo el peso en libras nos calcule el peso en
kilogramos y gramos. Cada libra es igual 453,59237 gramos.

/* Ejercicio nº2 */
#include<stdio.h>

main()
{
float lb;

clrscr();
printf("\nIntroduce el peso en libras: ");
scanf("%f",&lb);
printf("\nEl peso en kilogramos es: %.2f kg",lb*0.453592);
printf("\nEl peso en gramos es: %.2f g",lb*453.59237);
getch();
}
3.- Sabiendo los segundos totales que tarda un avión en llegar a su destino. ¿a cuántas
semanas, días, horas y minutos corresponde?

/* Ejercicio n§ 3 */
#include <stdio.h>

main()
{
long int s,seg,min,hor,dia,sem;

clrscr();
printf("\nIntroduzca el n£mero total de segundos: ");
scanf("%ld",&s);
seg=s%60;
s=s/60;
min=s%60;
s=s/60;
hor=s%24;
s=s/60;
dia=s%7;
s=s/7;
sem=s;
printf("\n%ld semanas: %ld d¡as: %ld horas: %ld minutos: %ldsegundos",sem,dia,hor,min,seg);
getch();
}

4.- El operador de división (/).


Ejecuta el siguiente programa para aclarar las ideas sobre cómo funciona este operador con
distintos tipos de variables. En él se puede comprobar la diferencia entre la división entera y de
punto flotante.

/* fichero division.c*/
# include <stdio.h >

void main(void)
{
printf("división entera: 5/4 es %6d\n", 5/4);
printf("división entera: 6/3 es %6d\n", 6/3);
printf("división entera: 7/4 es %6d\n", 7/4);
printf("división flotante: 7./4. es %6.3f\n", 7./4.);
printf("división mixta: 7./4 es %6.3f\n", 7./4);
}

5.- UNA PEQUEÑA OPERACIÓN ARITMÉTICA.


Compila el programa y ejecútalo; apuntando el resultado. Después modifica el programa
sustituyendo 1760.0 por 1760 en la línea que calcula el número de kilómetros. Vuelve a compilar
y a ejecutar. ¿Sale lo mismo que antes? ¿Qué ha podido pasar?

// fichero marathon.c
// Un marathon tiene 26 millas y 385 yardas.
// Calcula la distancia del marathon en kilómetros.
// Una milla tiene 1760 yardas.
#include <stdio.h>
void main(void)
{
int millas, yardas;
float kilometros;

millas = 26;
yardas = 385;
kilometros = 1.609 * (millas + yardas / 1760.0);
printf("\nUn marathon tiene %f kilometros.\n\n", kilometros);
}

Comentario: En C las constantes que incluyen un punto decimal son de tipo double. La variable
yardas es de tipo int. Si en el denominador se pone sólo 1760, el resultado de yardas/1760 es
entero y por tanto incorrecto. Basta poner 1760.0 para que yardas sea promovido a double y
todas las operaciones aritméticas de esa sentencia se realicen con precision double.

6.- PREGUNTAS INDISCRETAS.


Si tu mascota favorita es una boa, una ardilla o una gacela, tendrás que cambiar el artículo "un"
por "una", para respetar la concordancia.

// fichero mascota.c
#include <stdio.h>

void main(void)
{
int edad;
float sueldo;
char cachorro[30];

printf("Confiesa tu edad, sueldo y mascota favorita.\n");


scanf("%d %f",&edad, &sueldo);
scanf("%s", cachorro);
printf("%d %.0f pts. %s\n",edad, sueldo, cachorro);
printf("Un ¡¡%s!!", cachorro);
printf("¿Cómo te puede gustar un %s?\n", cachorro);
}

7.- MODIFICA EL PROGRAMA mascota.c.


Edita el programa mascota.c y guardado con el nombre pregunta.c, modificándolo de manera
que una vez ejecutado nos pregunte el número de calzado, peso y color favorito.

// fichero pregunta.c
#include <stdio.h>

void main(void)
{
int calzado;
float peso;
char color[20];

printf("Confiesa tu calzado, peso y color favorito:\n");


printf("\n Calzado: ");
scanf("%d", &calzado);
printf("\n Peso: ");
scanf("%f", &peso);
printf("\nColor favorito: ");
scanf("%s", color);
printf("¡El %s!\n", color);
printf("¿Cómo puede gustarte el %s\n", color);
printf("Calzando un %d y pesando %6.2f Kg.?\n", calzado, peso);
}

8.- Realiza un programa que realice las operaciones aritméticas fundamentales.

/******************* Operaciones aritméticas *******************/


// aritmeti.c
#include <stdio.h>

main()
{
int dato1, dato2, resultado;

dato1 = 20;
dato2 = 10;
// Suma
resultado = dato1 + dato2;
printf("%d + %d = %d\n", dato1, dato2, resultado);
// Resta
resultado = dato1 - dato2;
printf("%d - %d = %d\n", dato1, dato2, resultado);
// Producto
resultado = dato1 * dato2;
printf("%d * %d = %d\n", dato1, dato2, resultado);
// Cociente
resultado = dato1 / dato2;
printf("%d / %d = %d\n", dato1, dato2, resultado);
}

9.- Colores.
/* enum.c */
#include <stdio.h>

enum colores {azul, amarillo, rojo, verde, blanco, negro};

main()
{
enum colores color;

/* Leer un color introducido desde el teclado */


printf("Color: ");
scanf("%d", &color);
/* Visualizar un color */
printf("%d\n", color);
}
10.- Raiz Cuadrada

/* raiz_cuadrada.c*/
#include <stdio.h> // necesaria para printf
#include <math.h> // necesaria para sqrt (raíz cuadrada)

main()
{
int i = 9;
double r = 0;

r = sqrt((double)i/2);
printf("La raíz cuadrada es %g\n", r);
}

11.- Calcula el área de un triángulo.


/* tríangulo.c */
#include <stdio.h>

main()
{
double base = 11.5, altura = 3.0, area = 0.0;

area = base * altura / 2;


printf("Area = %g\n", area);
}

12.- Escriba un programa que calcule la suma y la media de cuatro valores de tipo int.

/*************************** Media ***************************/


#include <stdio.h>

main()
{
int a, b, c, d;
float suma, media;

a = 12000, b = 32422, c = 123000, d = -1212;


suma = a + b + c + d;
// El compilador debe transformar los int a float
media = suma / 4;
printf("a = %d\tb = %d\tc = %d\td = %d\nsuma = %g\nmedia = %g\n", a, b, c, d, suma, media);
}

13.- Escriba un programa que visualice el resultado de la expresión: b2-4ac 2ª para valores
de a=1, b=5 y c=2

/*************************** Evaluación ***************************/


#include <stdio.h>

main()
{
float a = 1, b = 5, c = 2, result; // Se inician a, b, c en la propia declaración
result = (b*b - 4*a*c) / (2*a); // El uso de paréntesis es conveniente cuando se dude de la prioridad de
//operadores. No se genera más código por emplear muchos paréntesis.
//En nuestro caso es necesario.
printf("a = %g\tb = %g\tc = %g\nResultado = %g\n", a, b, c, result); // Observe la diferencia entre utilizar %f y
//%g
}

14.- Realiza un programa que nos dé el año de nacimiento de una persona, como tu
nombre. Pedimos lo que necesitemos.
/
#include <stdio.h>
#include <conio.h>

void main ()
{
clrscr ();
int edad, dia, mes, anyo, anyonac;
char nombre [40];

//Pidamos al usuario lo que necesitamos


printf ("Escribe tu nombre: \n");
scanf ("%s", &nombre);
printf ("Dime tu edad: \n");
scanf ("%d", &edad);
printf ("Dame la fecha actual (dia/mes/anyo): \n");
scanf ("%d %d %d", &dia, &mes, &anyo);

//ahora vamos a averiguar su fecha de nacimiento


anyonac = anyo - edad;

//y le decimos en que año nacio


printf ("Pues has nacido en %d (anyo arriba, anyo abajo).\n", anyonac);
getch ();
}

15.- Escriba un programa que lea dos números y aplique sobre ellos todos los operadores
aritméticos (incluyendo el pre y post incremento y decremento.

#include <stdio.h>

int main (void)


{
clrscr ();
/* Definición de variables*/
int a, b;
int suma, resta, producto, division, modulo;
int postincremento, preincremento;
int postdecremento, predecremento;

printf(“introduzca dos números a y b: “);


scanf(“%d %d”, &a, &b);
suma=a+b;
resta=a-b;
producto=a*b;
division=a/b;
modulo=a%b;
postincremento=a++;
preincremento=++a;
postdecremento=b--;
predecremento=--b;
printf(“Suma= %d\n”, suma);
printf(“Resta= %d\n”, resta);
printf(“Producto= %d\n”, producto);
printf(“Division= %d\n”, division);
printf(“Modulo= %d\n”, modulo);
printf(“Postincremento de %d= %d\n”, a, postincremento);
printf(“Preincremento de %d= %d\n”, a, preincremento);
printf(“Postincremento de %d= %d\n”, a, postdecremento);
printf(“Predecremento de %d= %d\n”, a, predecremento);
return(0);
}

16.- Escriba un programa que defina la constante PI como 3.1416, que calcule el área de
un círculo cuyo radio se pide por pantalla, la imprima por pantalla.

#include <stdio.h>
#define PI 3,1416 /*constate PI*/

int main (void)


{
clrscr ();
/* Definición de variables*/
float area=0;
int radio=5;

printf(“Introduzca el radio del circulo: “);


scanf(“%d”, &radio);

/*Area de un circulo*/
area=PI*radio*radio;
printf(“El área del circulo de radio = %d es %f \n”, radio, area);
return(0);
}

17.- Escriba un programa que calcule la ecuación del espacio recorrido por un objeto que
se mueve a velocidad constante. Había recorrido un espacio inicial de 5,5m y se mueve a
velocidad constante de 3,2 m/s. Debe pedir por la entrada estándar los segundos que se
mueve.

/*Cálculo del espacio que recorre un móvil*/


#include <stdio.h>
#define EspacioInicial 5.5.F
#define Velocidad 3,2F

int main (void)


{
clrscr ();
/* Definición de variables*/
float tiempo=22.3F; /*Tiempo del recorrido*/
float espacio=0;

printf(“Tiempo de desplazamiento: “);


scanf(“%f”, &tiempo);

/*operaciones solicitadas*/
espacio=EspacioInicial+Velocidad*tiempo;

/*salida de resultados*/
printf(“Espacio recorrido = %f metros\n”, espacio);
return(0);
}

18.- Realizar un programa que dé como resultado los intereses producidos y el capital
total acumulado de una cantidad c, invertida a un interés r durante t días.
La fórmula utilizada para el cálculo de los intereses es:
c*r*t
I= 360*100
Siendo :
I= Total de intereses producidos.
c= Capiltal.
r= Tasa de interés nominal en tanto por ciento.
t= Período de cálculo en días.

/********************* Capital e Intereses *********************/


/* capital.c */
#include <stdio.h>
#include <stdlib.h>

main()
{
double c, intereses, capital;
float r;
int t;

clrscr(); /* limpiar pantalla */

/* Entrada de datos */
printf("Capital invertido ");
scanf("%lf", &c);
printf("\nA un %% anual del ");
scanf("%f", &r);
printf("\nDurante cuántos días ");
scanf("%d", &t);
printf("\n\n");

/* Cálculos */
intereses = c * r * t / (360L * 100);
capital = c + intereses;

/* Escribir resultados */
printf("Intereses producidos...%10.0f\n", intereses);
printf("Capital acumulado......%10.0f\n", capital);
}

19.- Realizar un programa que dé como resultado las soluciones reales x1 y x2 de una
ecuación de segundo grado, de la forma:
ax2 + bx + c = 0
Las soluciones de una ecuación de segundo grado vienen dadas por la fórmula:
-b+ b2 - 4ac
xi =----------------------------------
2a
/********** Solución de una ecuación de segundo grado **********/
/* ecuacion.c */
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

main()
{
double a, b, c, d, x1, x2;

clrscr();
/* Entrada de datos */
printf("Introducir los coeficientes a b c: ");
scanf("%lf %lf %lf", &a, &b, &c);

/* Comprobar si las raíces son reales */


d = b * b - 4 * a * c;
(d < 0) ? printf("Las raíces son complejas\n"), exit(0) : printf("Las raíces reales son:\n");

/* Cálculo de las soluciones */


d = sqrt(d);
x1 = (-b + d) / (2 * a);
x2 = (-b - d) / (2 * a);

/* Escribir resultados */
printf("x1 = %g\nx2 = %g\n", x1, x2);
}

20.- Realizar un programa que calcule el volumen de una esfera que viene dado por la
fórmula: V=4/3* Π3

/* Obtención del volumen de una esfera */


#include <stdio.h>

main()
{
double radio, volumen;

printf("Radio de la esfera: ");


scanf("%lf", &radio); // Leer un valor double desde el teclado y almacenalo
// en la variable radio
volumen = 4.0 / 3.0 * 3.141593 * radio * radio * radio;
// No es necesario usar paréntesis, aunque también se podía haber escrito:
// volumen = (4.0 / 3.0) * 3.141593 * radio * radio * radio.
printf("Volumen de la esfera = %.4f\n", volumen); // 4 decimales fijos
}

21.- Realizar un programa que pregunte el nombre, el año de nacimiento, el año actual y
dé como resultado :
Hola nombre, en el año 2030 cumplirás n años.

/* Calcula la edad en el 2030 */


#include <stdio.h>
main()
{
char nombre[30]; // Se reservan 30 caracteres para el nombre
int edad, anyo;

printf("Introduzca su nombre: ");


scanf("%s", nombre); // 'nombre' es una cadena de caracteres
printf("Introduzca su edad: ");
scanf("%d", &edad);
printf("Introduzca el año actual ####: ");
scanf("%d", &anyo);
printf("Hola %s, en el año 2030 cumplirás %d años\n", nombre, edad + (2030 - anyo) + 1);
}

22.- Realizar un programa que evalúe el polinomio p=3x5-5x3+2x-7 y visualice el resultado


con el siguiente formato:

/* Evalúa el polinomio: ax5-bx3+cx-7*/


#include <stdio.h>

main()
{
double a = 0, b = 0, c = 0, x = 0, p = 0;
// Se inicializan los valores a 0 (opcional)
printf("Introduzca los coeficientes y el valor de x para obtener el resultado de:\n" "\tax^5 - bx^3 + cx - 7\n\n");
printf("a = ");
scanf("%lf", &a); // Si se escriben todos los datos secuencialmente,
printf("b = "); // también los acepta
scanf("%lf", &b); // Si no se quisiera esto, poner 'fflush(stdin);'
printf("c = "); // detrás de cada 'scanf()'
scanf("%lf", &c);
printf("x = ");
scanf("%lf", &x);
p = a*x*x*x*x*x - b*x*x*x + c*x - 7;
printf("\nPara x = %g, %gx^5 - %gx^3 + %gx - 7 = %g\n", x, a, b, c, p);
}
23.- Indiqué qué resultado da el siguiente programa. A continuación, ejecute el programa
y compare los resultados.

/* Uso de constantes numéricas*/


#include <stdio.h>
/* Con este programa, se obtiene un número ASCII y su letra correspondiente;
en este caso "97 a" en ambos printf */

main()
{
char car1 = 'A', car2 = 65, car3 = 0; // el valor ASCII de 'A' es 65

car3 = car1 + 'a' - 'A'; // car3 = 'A' + 'a' - 'A' = 'a'


printf("%d %c\n", car3, car3); // 'A' dista de 'a' 32 caracteres, luego:
car3 = car2 + 32; // car3 = 'A' + 32 = 'a'
printf("%d %c\n", car3, car3);
}
Problemas aplicables en la vida real

Para resolver los siguientes problemas que se te proponen, puedes acudir con tus
maestros de las áreas que consideres pueden apoyarte en este tipo de ejercicios
OTROS EJERCICIOS BÁSICOS

Codifica la solución en un programa en lenguaje C, a los siguientes ejercicios

Ejercicio 1: Cálculo de precios con descuento


Escribe un programa que pregunte el precio, el tanto por ciento de descuento, y te diga el precio con
descuento. Por ejemplo, si el precio que introduce el usuario es 300 y el descuento 20, el programa dirá que
el precio final con descuento es de 240.

Ejercicio 2: Cálculo de área y perímetro


Escribe un programa que pregunte al usuario los dos lados de un rectángulo y presente por pantalla el
cálculo del perímetro (suma de los lados) y el área (base por altura).

Ejercicio 3: Cambio de dólares a euros.


Suponiendo que 1 euro = 1.33250 dólares. Escribe un programa que pida al usuario un número de dólares y
calcule el cambio en euros.

Ejercicio 4: Cálculo de perímetro de circunferencia, área del círculo, y volumen de la


esfera.
Suponiendo que pi = 3.1416. Escribe un programa que pida al usuario que introduzca el radio, y presente
por pantalla el cálculo del perímetro de la circunferencia (2*pi*r), el área del círculo (pi*r2), y el volumen
de la esfera (V = 4*pi*r3/3).

Ejercicio 5: Pasar de días, horas y minutos a segundos.


Escribe un programa que pida al usuario los siguientes datos: días, horas y minutos. Y le conteste con la
cantidad de segundos totales que son esos datos.

Ejercicio 6: Pasar de segundos a días, horas y minutos.


Escribe un programa que pida al usuario que introduzca los segundos, y le conteste diciéndole el número de
días, horas, minutos y segundos que son.

Ejercicio 7: Solución de la ecuación de segundo grado.


Escribir un programa que pida por teclado los tres coeficientes (a, b y c) de la ecuación ax2+bx+c=0 y
calcule las dos soluciones suponiendo que ambas serán reales (es decir que la raíz queda positiva). Nota:
x1,2=(a±sqrt(b2-4ac))/2, sqrt es una función que devuelve la raíz cuadrada, para poder invocarla es
necesario poner en la cabecera del programa: #include <math.h>

Ejercicio 8: Cálculo de la resistencia equivalente.


Escribir un programa que pida por teclado dos resistencias y calcule y presente la resistencia equivalente en
paralelo (Req=(R1*R2)/(R1+R2)).

Ejercicio 9: Media de cuatro números.


Escribir un programa que pida por teclado cuatro números y calcule y presente la media de los cuatro.

Ejercicio 10: ¿Qué imprime?.


¿Qué imprime el siguiente fragmento de código? Compruébalo.

int x = 2, y = 6, z = 4;

y = y+4*z;
y +=x;
printf(“%d”,y);
OTROS PROGRAMAS SIMPLES

1. Programa que pida un valor en dolares (USA) y lo convierta en euros y otro programa que
lleve a cabo la operación inversa.
Nota 1 : La solución deberá tener 2 decimales.
Nota 2 : Utilizar #define para definir la relación entre euros y dolares:

2. Programa que pida la temperatura en grados Celsius y la convierta a grados Fahrenheit (y


viceversa) mostrando en pantalla un mensaje del tipo:

“xxx.xx grados Celsius son yyy.yy grados Fahrenheit”

3. Crear un programa que pida el radio de una circunferencia y que calcule la longitud de la
misma así como el área incluida dentro.

4. Crear un programa que calcule la fuerza de atracción gravitacional entre dos masas, M1 y
M2 situadas a una distancia R.
F=G
M1* M2
R2 (Nw)
donde las masas se expresan en kilogramos y la distancia en metros y la constante de
gravitación universal vale:
G = 6.67x1011Nw*m2 /Kg2

Nota: Utilizar const para definir la constante G.

5. Escribir un programa que pregunte el año actual y la edad de una persona y calcule la edad
de esa persona en un año determinado.

6. Escribir un programa que calcule el número de billetes de 100.00, 50.00, 20.00, así como de
monedas de $10, $5, $0.50 y $1 peso para desglosar una cantidad, X, de pesos (menor de
$4 500.00), de forma que se necesite la menor cantidad de monedas y billetes de cada tipo.

7. Crear un programa que pida un número real y muestre la tabla de multiplicar


correspondiente a dicho número de tal manera que tanto los valores de los factores como
del producto se presenten en columnas y con una precisión de 2 dígitos.

Ejemplo:
Programa que muestra la tabla de multiplicar de un número
Escribe un número: 5
TABLA DE MULTIPLICAR DEL NUMERO 5.00
5.00 X 1 = 5.00
5.00 X 2 = 10.00
...
5.00 X 10 = 50.00

8. Mostrar en forma de tabla, el cuadrado y el cubo de los 5 primeros números enteros que
siguen a uno introducido por teclado.
Los datos deben aparecer ajustados a la derecha siguiendo el siguiente formato:
Numero Cuadrado Cubo
---------- ----------- ------
xxx xxxx xxxxxx
Nota: Ejecutar el programa utilizando variables de tipo int e introduciendo el número 30 y
utilizando variables de tipo unsigned int e introduciendo el número 40. ¿Qué sucede? ¿Cómo se
puede explicar lo que sucede?

9. Crear un programa que muestre en pantalla el tamaño en bytes (8 caracteres) de las


variables más frecuentes: char, int, short int, long int, float y double.
Nota: Para calcular el tamaño de una variable se puede usar el operador sizeof.

10. Escribir un programa que tras preguntar el número de almacén asociado a un


determinado tipo de pieza, la cantidad pedida de esa pieza y el precio por unidad,efectúe
el cálculo del precio total de las piezas pedidas. El programa deberá escribir toda la
información de la pieza en la pantalla, además del importe total del pedido.

11. Escribir un programa que lea el valor de un ángulo en radianes y muestre su valor en grados
Minutos y segundos

12. Programa que tras pedir por teclado un número lo multiplique por 4 y divida por 2, sin utilizar
los operadores para multiplicar o dividir.

13. Ejecutar el siguiente código fuente (Declarando valor_logico como entero y luego
Declarándolo como float):
printf("Valores logicos de las siguientes expresiones\n");
valor_logico=(3>5);
printf(" (3 > 5) es %d\n", valor_logico);
valor_logico=(5 > 3);
printf(" (5 > 3) es %d\n", valor_logico);
valor_logico=(15 > 3*5);
printf(" (15 > 3*5) es %d\n", valor_logico);
valor_logico=!(5 == 3);
printf("!(5 == 3) es %d\n", valor_logico);

Nota: No confundir el operador ‘==’ de comparación (para comprobar si dos valores son iguales)
con el operador ‘=’ de asignación que escribe un valor en una variable.

14. Escribir un programa que tras pedir 2 números por la pantalla muestra cuál es el mayor
número. (Hágase con el operador condicional)

15. Crear un programa que calcule la caída de potencial producida por una resistencia según la
ley de Ohm (V = I * R) a partir de la resistencia y la intensidad que pasa a su través.

Nota: El programa no debe aceptar resistencias negativas, dado que no tienen sentido físico, ni
resistencias mayores que 1000Ω (requerimiento adicional del problema). En ambos casos el
programa debe escribir un mensaje de error en pantalla diciendo que el valor de la resistencia
está fuera de límites aceptables indicando la causa por la que dicho valor para la resistencia ha
sido rechazado.

16. Escribir un programa que calcule las raíces, bien reales o imaginarias, de una ecuación de
segundo grado.
El programa también debe ser capaz de operar con valores nulos para el coeficiente de orden
dos (es decir, deberá de ser capaz de resolver ecuaciones de primer grado)
17. Escribir un programa que determine cuantos años bisiesto existen en un
periodo dado por el usuario.

Ejemplo:
De 1999 a 2010 = 3 años bisiesto;

Nota: Un año es bisiesto si es múltiplo de 4 salvo el caso en que sea múltiplo


de 100, que no es bisiesto, y no sea múltiplo de 400. Por ejemplo, el año 1900
no fue bisiesto, el 2000 sí y el 2100 no lo es.

18. La fecha de cualquier Domingo de Pascua se calcula de la siguiente forma:

Sea X el año para el que se quiere calcular la fecha.


Sea A el resto de la división de X entre 19
Sea B el resto de la división de X entre 4
Sea C el resto de la división de X entre 7
Sea D el resto de la división de (19 * A + 24) entre 30
Sea E el resto de la división de (2 * B + 4 * C + 6 * D + 5) entre 7

La fecha para el Domingo de Pascua es el día (22 + D + E) de Marzo (obsérvese que puede dar
una fecha en mes de Abril)
Escribir un programa que pida como entrada un año y saque por pantalla la fecha del Domingo
de Pascua para ese año.

19. Todos los lunes, miércoles y viernes, una persona corre la misma ruta y cronometra los tiempos
obtenidos. Determinar el tiempo promedio que la persona tarda en recorrer la ruta en una semana
cualquiera.
Lunes 30 minutos Miércoles 28 minutos Viernes 32 minutos

20. Un vendedor recibe un sueldo base más un 10% extra por comisión de sus ventas, el vendedor
desea saber cuánto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el
mes y el total que recibirá en el mes tomando en cuenta su sueldo base y comisiones

Sueldo base = 5000 venta1 = 2800 venta 2= 800 venta 3= 5000

21. Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuánto
deberá pagar finalmente por su compra.

Total de la compra = 1000

22. Un alumno desea saber cuál será su calificación final en la materia de Algoritmos, dicha
Calificación se compone de los siguientes porcentajes: * 55% del promedio de sus tres
Calificaciones parciales. * 30% de la calificación del examen final. * 15% de la calificación de un
trabajo final.
Parcial 1 = 8 Parcial 2= 7 Parcial 3=9
Examen Final = 9 Trabajo Final = 10

23. Un maestro desea saber qué porcentaje de hombres y que porcentaje de mujeres hay en un grupo de
estudiantes.

Hombres = 15 Mujeres = 18
PARTE I. EJERCICIOS BASICOS

1. Programa que permita a una tienda saber el valor que pagara un cliente por la compra de
varios elementos de la misma referencia. Debe tener como entradas el valor unitario, la
cantidad de productos comprados y al valor final se debe adicionar el 16%
correspondiente al IVA

2. Programa que permita determinar el salario a pagar a un empleado teniendo como


entradas el salario diario y el número de días trabajados. Tenga en cuenta que al
empleado se le debe descontar el 10% por concepto de pensión y 15% por concepto de
salud

3. Programa que permita Calcular el volumen de una esfera, de un cubo y de un cilindro

4. Programa que permita Obtener el promedio de Temperatura en una semana, solicitando


la temperatura de cada día.

También podría gustarte