Está en la página 1de 3

1.

Escriba un programa que solicite al usuario ingresar un número en base hexadecimal


y que muestre su representación en base decimal.

#include <stdio.h>
#include <math.h>
#include <string.h>

int main() {

char* hexadecimal; //Se declara la variable de tipo carácter que contendrá al número
hexadecimal a convertir.
int decimal = 0; //Se declara la variable de tipo entero que contendrá al número decimal
convertido.
printf("Ingrese el número hexadecimal: ");
scanf("%s", hexadecimal); //Se guarda el número hexadecimal ingresado en la variable.

int longitud = strlen(hexadecimal); //Se calcula la longitud de la cadena.

for(int i = 0; i < longitud; i++) { //En el bucle for se recorre el número ingresado y se
multiplica por la base 16 elevada al número de su posición.
char num = hexadecimal[longitud - 1 - i];
if(num >= '0' && num <= '9')
decimal += (num - '0') * pow(16, i); //Si el valor hexadecimal es un
número, se convertirá individualmente en decimal y se sumará a la variable que contiene el
número convertido.
else
decimal += (num - 'A' + 10) * pow(16, i); //Si el valor hexadecimal es una
letra, se transformará en su equivalente decimal y se sumará a la variable que contiene el
número convertido.
}

printf("El número decimal obtenido es: %d ", decimal);

return 0;
}
2. Escriba un programa que solicite al usuario el ingreso del número de patas y cabezas
que hay en una granja de patos y conejos. El programa debe mostrar el número de
animales de cada tipo.

# include <stdio.h>

// Para resolver el problema se debe establecer un sistema de ecuaciones lineales de 2x2.


// x + y = c
// 2x + 4y = f
// En donde x será el número de patos, y será el número de conejos, c será el número de
cabezas y f será el número de patas.

int main(void) {

//Se declaran las variables


int x, y;
int a=1, b=1, c, d=2, e=4, f;

//Se solicitan el número de cabezas y patas para resolver el sistema.


printf("Ingrese el número de cabezas: ");
scanf("%d", &c);

printf("Ingrese el número de patas: ");


scanf("%d", &f);

//Para resolver el sistema de 2x2 se usa el determinante (como el sistema tiene una
solución única)

int determinante=(a*e)-(d*b);
x=((e*c)-(b*f))/determinante; //Si se entregan valores inconsistentes de cabezas y patas,
el sistema tendrá solución, pero no será un resultado lógico
y=((a*f)-(d*c))/determinante;

//Finalmente, se obtienen los resultados


printf("El número de patos es %d\n", x);
printf("El número de conejos es %d", y);
}
3. Crear un programa que pida al usuario los coeficientes a, b y c de la ecuación 𝑎𝑥 2 +
𝑏𝑥 + 𝑐 = 0 y muestre las soluciones de la misma. Asuma que las soluciones siempre
son reales.

#include <stdio.h>
#include <math.h>

int main() {
//Se crean las variables que servirán para almacenar los datos de la ecuación.
float a, b, c;
float disc;
float x1, x2;

//En esta parte se le asignan los valores de los coeficientes


printf("Ingrese el valor del coeficiente a: ");
scanf("%f", &a);

printf("Ingrese el valor del coeficiente b: ");


scanf("%f", &b);

printf("Ingrese el valor del coeficiente c: ");


scanf("%f", &c);

//Se calcula el discriminante, de modo que, si es negativo, x no tendrá una solución en los
números reales.
disc = (pow(b, 2))-(4*a*c);

//Se crea un condicional que retorna los valores de x si el discriminante es positivo, y


retorna un error cuando el discriminante es negativo.
if(disc >= 0) {
x1 = ((-b) + sqrt(disc))/(2*a);
x2 = ((-b) - sqrt(disc))/(2*a);
printf("Los valores de x son %f, %f", x1, x2);
}
else {
printf("La ecuación no tiene solución en los números reales");
}
}

También podría gustarte