1.
Construya una aplicación tal que, dado como datos la categoría y el sueldo de un trabajador,
calcule el aumento correspondiente teniendo en cuenta la siguiente tabla. Imprima la categoría
del trabajador y su nuevo sueldo.
//aumento del sueldo dependiendo su categoria
#include <stdio.h>
int main(){
int categoria;
int sueldo;
int nuevoSueldo;
printf("Ingrese la categoria\n");
scanf("%d", &categoria);
printf("Ingrese el sueldo\n");
scanf("%d", &sueldo);
if(categoria>4) {
printf("Esta categoria no corresponde, intantalo de nuevo");
}
if(categoria == 1) {
nuevoSueldo = sueldo + sueldo * 0.15,
printf("Su categoria es: %d\n", categoria);
printf("Su nuevo sueldo es: %d\n", nuevoSueldo);
}
if(categoria == 2) {
nuevoSueldo = sueldo + sueldo * 0.10,
printf("Su categoria es: %d\n", categoria);
printf("Su nuevo sueldo es: %d\n", nuevoSueldo);
}
if(categoria == 3) {
nuevoSueldo = sueldo + sueldo * 0.08,
printf("Su categoria es: %d\n", categoria);
printf("Su nuevo sueldo es: %d\n", nuevoSueldo);
}
if(categoria == 4) {
nuevoSueldo = sueldo + sueldo * 0.07,
printf("Su categoria es: %d\n", categoria);
printf("Su nuevo sueldo es: %d\n", nuevoSueldo);
}
return 0;
}
2. El costo de las llamadas telefónicas internacionales depende de la zona geográfica en la que se
encuentre el país destino y del número de minutos hablados. En la siguiente tabla se presenta el
costo del minuto por zona. A cada zona se le ha asociado una clave.
//costo llamadas internacionales
#include <stdio.h>
int main (){
int clave;
int minutos;
float costo;
printf("Ingrese la cantidad de minutos\n");
scanf("%d", &minutos);
printf("Ingrese la clave de su llamada destino\n");
scanf("%d", &clave);
if(clave != 12 && clave != 15 && clave != 18 && clave != 19 && clave != 23 && clave != 25
&& clave != 29 ) {
printf("La clave ingresada se encuentra fuera del rango");
}
if(clave == 12) {
costo = minutos * 2;
printf("El costo total de la llamada es $%.1f", costo);
}
if(clave == 15) {
costo = minutos * 2.2;
printf("El costo total de la llamada es $%.1f", costo);
}
if(clave == 18) {
costo = minutos * 4.5;
printf("El costo total de la llamada es $%.1f", costo);
}
if(clave == 19) {
costo = minutos * 3.5;
printf("El costo total de la llamada es $%.1f", costo);
}
if(clave == 23) {
costo = minutos * 6;
printf("El costo total de la llamada es $%.1f", costo);
}
if(clave == 25 ) {
costo = minutos * 6;
printf("El costo total de la llamada es $%.1f", costo);
}
if(clave == 29 ) {
costo = minutos * 5;
printf("El costo total de la llamada es $%.1f", costo);
}
return 0;
}
3. El número de sonidos emitidos por un grillo en un minuto, es una función de la temperatura.
Como resultado de esto, es posible determinar el nivel de la temperatura haciendo uso de un
grillo como termómetro.
La fórmula para la función es:
// Hallar temperatura por los sonidos de un grillo
#include <stdio.h>
int main(){
float temperatura;
int sonidosGrillo;
printf("ingrese el numero de sonidos emitidos por el grillo en un minuto\n");
scanf("%d", &sonidosGrillo);
temperatura = (sonidosGrillo / 4) + 40;
printf("La temperatura es: %f\n", temperatura);
return 0;
}
4. Un palíndromo es un número, palabra, o frase que se lee igual al derecho que al revés. Por
ejemplo, los siguientes enteros de cinco dígitos con palíndromos: 12321, 55555, 45554 y 11611.
Escriba un programa que lea un entero de 5 dígitos y determine si es palíndromo. (Sugerencia:
utilice los operadores de división y modulo para separar el número en sus distintos dígitos).
5. Generalizando el ejercicio anterior, escriba un programa que pida al usuario cualquier número
entero no negativo (con cualquier número de dígitos) y determine si es palíndromo.
// determinar si un numero es palindromo
#include <stdio.h>
int main (){
int numeroOriginal;
int copia2;
int numeroInvertido=0;
printf("Ingrese un numero de tipo entero\n");
scanf("%d", &numeroOriginal);
copia2=numeroOriginal;
while(copia2 > 0) {
numeroInvertido = numeroInvertido * 10 + copia2 % 10;
copia2 /= 10;
}
if(numeroInvertido == numeroOriginal) {
printf("El numero ingresado es palindromo");
}
else {
printf("El numero ingresado no es palindromo");
}
return 0;
}
6. Leer un número binario (base 2) y convertirlo en un número decimal (base 10)
#include <stdio.h>
int main() {
long long numeroBinario, numeroDecimal = 0, base = 1, digito;
printf("Ingrese un numero binario: ");
scanf("%lld", &numeroBinario);
// Convierte el número binario a decimal
while (numeroBinario != 0) {
digito = numeroBinario % 10;
numeroDecimal = numeroDecimal + digito * base;
numeroBinario = numeroBinario / 10;
base = base * 2;
}
printf("El numero decimal equivalente es: %lld\n", numeroDecimal);
return 0;
}
7. Leer un número entero en base 10 y convertirlo en un número binario (base 2)
#include <stdio.h>
int main() {
int numeroDecimal;
printf("Ingrese un numero entero en base 10: ");
scanf("%d", &numeroDecimal);
if (numeroDecimal < 0) {
printf("Por favor, ingrese un número entero no negativo.\n");
return 1; // Salir del programa con un código de error
}
int numeroBinario[32]; // Usaremos un arreglo para almacenar los dígitos binarios
int indice = 0; // Índice para rastrear la posición actual en el arreglo
// Convierte el número decimal a binario
if (numeroDecimal == 0) {
numeroBinario[indice++] = 0; // Caso especial: si el número es 0, el binario también es 0
} else {
while (numeroDecimal > 0) {
numeroBinario[indice++] = numeroDecimal % 2;
numeroDecimal = numeroDecimal / 2;
}
}
// Imprime el número binario en orden inverso, ya que lo almacenamos al revés
printf("El numero binario equivalente es: ");
for (int i = indice - 1; i >= 0; i--) {
printf("%d", numeroBinario[i]);
}
printf("\n");
return 0;
}
8. Leer un número entero mayor o igual a 0 y calcular su factorial teniendo en cuenta que:
n! = n * (n-1) * (n-2) * (n-3) * … * 1 para n>0 y 0! = 1
// Hallar el factorial de un número
#include <stdio.h>
int main(){
int factorial =1;
int numero;
int i;
printf("ingrese un numero de tipo entero\n");
scanf("%d", &numero);
for(i=1;i<=numero;i++){
factorial = factorial * i;
}
printf("El factorial de %d es %d", numero, factorial);
return 0;
}
9. Lea dos valores enteros positivos y calcule la multiplicación entre ellos por medio de ciclos,
sabiendo que: a * b = a * a * a * a (b veces)
//Multiplicación de dos valores enteros positivos
#include <stdio.h>
int main(){
int numero1;
int numero2;
int producto;
printf("Ingrese el primer dato\n");
scanf("%d", &numero1);
printf("Ingrese el segundo dato\n");
scanf("%d", &numero2);
producto = numero1 * numero2;
printf("%d multiplicado con %d es %d", numero1, numero2, producto);
return 0;
}
10. Se dice que un número es primo si solo es divisible enteramente para la unidad (1) y para sí
mismo. Con base en este criterio, se trata de demostrar que el número en cuestión no es divisible
para ningún número menor a este y mayor a 1, en caso de encontrarse un caso de división exacta,
la posibilidad de que sea número primo queda descartada.
#include <stdio.h>
int main() {
int numero;
int esPrimo = 1; // Suponemos que el número es primo inicialmente
printf("Ingrese un número entero positivo mayor que 1: ");
scanf("%d", &numero);
if (numero <= 1) {
printf("El número debe ser mayor que 1 para ser considerado primo.\n");
} else {
for (int i = 2; i < numero; i++) {
if (numero % i == 0) {
esPrimo = 0; // Encontramos un divisor, por lo tanto, no es primo
break; // Salimos del bucle, ya que no es necesario verificar más
}
}
if (esPrimo) {
printf("%d es un número primo.\n", numero);
} else {
printf("%d no es un número primo.\n", numero);
}
}
return 0;
}
11. Escriba un programa en java que imprima los siguientes patrones usando ciclos que repiten la
instrucción [Link](“*”);.
11ª
#include <stdio.h>
int main (){
int i, j;
for(i=0;i<8;i++) {
for(j=0;j<8;j++){
printf("* ");
}
printf("\n");
}
return 0;
}
11b
#include <stdio.h>
int main (){
int menosColumna=8;
for(int i=0;i<8;i++) {
printf("\n");
for(int j=0;j<menosColumna;j++) {
printf("*");
}
menosColumna=menosColumna-1;
}
return 0;
}
11c
#include <stdio.h>
int main() {
int rows = 8; // Número de filas
for (int i = 1; i <= rows; i++) {
// Ciclo para imprimir '*' en cada fila
for (int j = 1; j <= i; j++) {
printf("* ");
}
printf("\n");
}
return 0;
}
11d
#include <stdio.h>
int main() {
int rows = 8; // Número de filas
int spaces = 0; // Inicialmente, no hay espacios en la
primera fila
for (int i = 1; i <= rows; i++) {
// Ciclo para imprimir espacios en blanco
for (int j = 1; j <= spaces; j++) {
printf(" ");
}
// Ciclo para imprimir '*' en cada fila
for (int j = 1; j <= rows - i + 1; j++) {
printf("* ");
}
printf("\n");
spaces++; // Aumenta el número de espacios en cada
fila
}
return 0;
}
11e
#include <stdio.h>
int main() {
int rows = 8; // Número de filas
for (int i = 1; i <= rows; i++) {
// Ciclo para imprimir espacios en blanco
for (int j = 1; j < i; j++) {
printf(" ");
}
// Ciclo para imprimir '*' en cada fila
for (int j = 1; j <= rows - i + 1; j++) {
printf("* ");
}
printf("\n");
}
return 0;
}
11f
#include <stdio.h>
int main() {
int rows = 8; // Número de filas
for (int i = 1; i <= rows; i++) {
// Ciclo para imprimir espacios en blanco (alineados a la
derecha)
for (int j = 1; j <= rows - i; j++) {
printf(" "); // Dos espacios en blanco
}
// Ciclo para imprimir '*' en cada fila
for (int j = 1; j <= i; j++) {
printf("* ");
}
printf("\n");
}
return 0;
}
11g
#include <stdio.h>
int main() {
int rows = 8; // Número de filas
for (int i = 1; i <= rows; i++) {
// Ciclo para imprimir espacios en blanco (alineados a la
izquierda)
for (int j = 1; j <= rows - i; j++) {
printf(" ");
}
// Ciclo para imprimir '*' en cada fila
for (int j = 1; j <= i; j++) {
printf("* ");
}
printf("\n");
}
return 0;
}