Está en la página 1de 29

UNIVERSIDAD TECNOLÓGICA DE PANAMÁ

CENTRO REGIONAL DE CHIRIQUÍ


FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES

CARRERA:
Licenciatura en Ingeniería de Sistemas y Computación

ACTIVIDAD No. 1
Estructuras Alternativas (Simples y Dobles)

ASIGNATURA:
Herramientas de Programación Aplicada I

DOCENTE:
Cecilia González

ESTUDIANTE:
Adrian Concepcion

II SEMESTRE 2022

FECHA: 23/08/22
Actividad 1

Utilizando las estructuras de alternativas, desarrolle el código correspondiente en lenguaje


C, para cada problema que se le presenta. Recuerde seguir las reglas para la escritura de
las estructuras de control, reglas y recomendaciones para darle nombre adecuado a las
áreas de memoria e indentación.

1. Lea el nombre y la edad de cualquier persona e imprima, sólo si la persona es


mayor de edad, el nombre de la persona.

#include <stdio.h>

main ()

int edad;

char nombre[20];

printf ("Ingrese su nombre\n\t");

scanf("%[^\n]",&nombre);

printf ("\n Ingrese su edad\n\t");

scanf("%d",&edad);

if (edad>=18)

printf("\t%s",nombre);

return 0;

}
2. Lea el nombre y la edad de cualquier persona e imprima, sólo si la persona es
mayor de edad, el nombre de la persona, de lo contrario, imprima un mensaje
que diga: “no puede votar”

#include <stdio.h> /*Problema 2*/

main()

int edad;

char nombre[20];

printf ("Ingrese su nombre\n");

scanf("%s",&nombre);

printf ("Ingrese su edad\n");

scanf("%d",&edad);

if (edad>=18){

printf("El nombre es:%s",nombre);

else {

printf("\t\nNo puede votar");

return 0;

}
3. Lea el nombre, la edad y el sexo de cualquier persona e imprima, sólo si la
persona es de sexo masculino y mayor de edad, el nombre de la persona.
#include <stdio.h>
#include<stdlib.h>
#include<locale.h>
int main()
{
setlocale (LC_ALL, "");
char nombre [20];
int edad, sexo;
printf ("Introduzca su nombre:\n\t");
scanf ("%s",&nombre);
printf ("Introduzca su edad:\n\t");
scanf ("%d",&edad);
printf("Indique su sexo si 1=Masculino\n2=Femenino:\n\t");
scanf("%d", &sexo);
if (edad>=18 && sexo==1)
{

printf ("Su nombre es:%s",nombre);


}

}
4. Lea el nombre, la edad, el sexo (1 ó 2) y el estado civil de cualquier persona e
imprima sólo si la persona es un hombre soltero mayor de edad, el nombre de la
persona.
#include<stdio.h> /*problema*/
#include<stdlib.h>
#include<locale.h>
int main()
{
setlocale (LC_ALL, "");
char nombre[25];
int edad, sexo, estCvl;
printf ("Introduzca su nombre:\t");
scanf(" %[^\n]", &nombre);
printf ("\nIntroduzca su edad:\t");
scanf ("%d",&edad);
printf("\nIndique su sexo si \n1=Masculino\n2=Femenino:\n\t");
scanf ("%d",&sexo);
printf("\nIndique su estado civil si \n1=Soltero\n2=Casado\
n3=Otro:\n\t");
scanf ("%d",&estCvl);

if (edad>=18 && sexo==1 && estCvl==1){

printf ("\nEl nombre es:\t%s",nombre);


}
return 0;
}
5. Lea el nombre, la edad, el sexo (F o M) y el estado civil (C: casado, S: soltero,
D: divorciado, U: unido y V: viudo) de cualquier persona e imprima, sólo si la
persona es hombre o mujer menor de edad o es hombre casado de cualquier
edad, el nombre de la persona y un mensaje que diga “usted es un hombre
casado”. En los demás casos imprima el nombre de la persona solamente.
#include <stdio.h>
#include<stdlib.h>
#include<locale.h>
int main()
{
setlocale (LC_ALL, "");
int edad;
char nombre[25], sexo, estcvl;
printf ("Ingrese su nombre:\t");
scanf("%s",&nombre);
printf ("\nIngrese su edad:\t");
scanf("%d",&edad);
printf ("\n Ingrese su sexo si m=masculino y f=femenino:\t");
scanf("%s",&sexo);
printf ("\n Ingrese su estado civil:\t\n");
printf("S=Soltero\nC=Casado\nD=Divorciado\nU=Unido\n");
scanf(" %c",&estcvl);

if ( edad>=18 && sexo=='m' && estcvl == 'C' )

printf ("\nUsted es un hombre casado");


else printf("Nombre:%s",nombre);
return 0;
}

6. Lea un número e imprima el número y el cuadrado de este.


#include <stdio.h>

int main()

{
int num1,cuadrado;
printf ("Introduzca un valor:\t");
scanf ("%d",&num1);

cuadrado= num1*num1;

printf("\nEl cuadrado de %d\t",num1);


printf("es %d\t",cuadrado);
return 0;
}

7. Lea un número y calcule e imprima su raíz cuadrada. Si el número es negativo


imprima el número y un mensaje que diga: “tiene raíz imaginaria”.
#include <stdio.h>
#include <locale.h>
#include <math.h>
int main ()
{
setlocale (LC_ALL, "");
int num, raNum;

printf ("Ingrese un número: \n");


scanf(" %d", &num);
raNum = sqrt (num);
if (num > 0)
{
printf ("La raíz cuadrada es: %d", raNum);
}
else
printf("Tiene raíz imaginaria");
}
8. Lea dos números e imprima sólo los positivos.
#include <stdio.h>

int main ()

int num1, num2;


printf (" Ingrese un numero:\t");
scanf(" %d",&num1);
printf (" Ingrese un numero:\t");
scanf(" %d",&num2);
if (num1>0)
printf ("\t %d",num1);
if (num2>0)
printf ("\n\t %d",num2);

return 0;
}
9. Lea dos números e imprima ambos números sólo si son positivos.
#include <stdio.h> /*9*/

int main ()

int num1, num2;


printf ("\n Ingrese un numero:\t");
scanf(" %d",&num1);
printf ("\n Ingrese un numero:\t");
scanf(" %d",&num2);
if (num1>0 && num2>0)
{

printf ("%d\n",num1);
printf ("%d\n",num2);
}
return 0;

}
10. Lea dos números e imprima ambos números si por lo menos uno de ellos es
positivo.

#include <stdio.h> /*10*/

int main ()

int num1, num2;


printf ("\n Ingrese un numero:\t");
scanf(" %d",&num1);
printf ("\n Ingrese un numero:\t");
scanf(" %d",&num2);
if (num1>0 || num2>0)
{

printf ("%d\n",num1);
printf ("%d\n",num2);
}
return 0;
}
11. Lea dos números e imprima ambos números sólo si son de diferente signo y
distintos de cero.
#include <stdio.h>
#include <locale.h>
#include <math.h>
int main ()
{
int num1, num2;
setlocale (LC_ALL,"");
printf ("\tIngrese sus números\n");
scanf("%d", &num1);
scanf("%d", &num2);
if (num1 > 0 && num2 < 0 && num2 != 0 && num1 !=0)
{
printf ("Los números son de diferente signo y distintos de cero.\t\n");
printf ("\t%d \n", num1);
printf(" \t%d \n", num2);
}

}
12. Lea dos números y calcule la suma de los números. Imprima los números leídos
y sólo si la suma es negativa, imprímala también.
#include <stdio.h>
#include <locale.h>
#include <math.h>
int main ()
{
int num1, num2,suma;
setlocale (LC_ALL,"");
printf ("Ingrese sus números");
scanf(" %d\t", &num1);
scanf(" %d", &num2);
suma= num1+ num2;
if (suma < 0)
{
printf ("\tLa suma negativa es:%d\n",suma);
printf ("\t%d \n", num1);
printf(" \t%d \n", num2);
}

}
13. Lea dos números y calcule el cociente de dividir el primero por el segundo.
Imprima el cociente. Si el segundo número es cero, no ejecute el cálculo e
imprima un mensaje que diga: “La división no es posible”.
#include <stdio.h>
#include <locale.h>
#include <math.h>
int main ()
{

setlocale (LC_ALL,"");
int num1, num2,div;
printf ("Ingrese un número\n");
scanf(" %d",&num1);
printf ("Ingrese un número\n");
scanf(" %d",&num2);

if (num2==0){
printf("\n\t La divisón no es posible");
}
else {

div= num1/num2;
printf ("\t La divsión es:%d\n",div);
printf ("\t%d \n", num1);
printf(" \t%d \n", num2);

}
return 0;
}
14. Leer el nombre de un empleado, su salario básico por hora y el número de horas
trabajadas en el mes. Calcular su salario mensual e imprimir tanto el nombre
como su salario mensual.
#include <stdio.h>
#include <locale.h>
#include <math.h>
int main ()
{

setlocale (LC_ALL,"");
char nombre[25];
int salhora,salariomes, horastrb; /*Salariomes es salario mensual,Salhora =
salario por hora y horatrb es horas trabajadas*/
printf ("Indique su nombre:\t");
scanf (" %s",&nombre);
printf ("\nIndique su salario por horas trabajadas:\t");
scanf (" %d",&salhora);
printf ("\nIndique su salario mensual:\t");
scanf (" %d",&salariomes);
printf ("\nIndique el número de horas trabajadas:\t");
scanf (" %d",&horastrb);

salariomes= salhora*horastrb;

printf("Su nombre es: \t%s",nombre);

printf("\nSu salario es:\t%d",salariomes);


return 0;

15. Leer el nombre de un empleado, su salario básico por hora, el número de horas
trabajadas en el período y un porcentaje de descuento. Calcular el salario bruto,
el valor de descuento y su salario neto.
#include <stdio.h> /*Problema 15*/
#include <locale.h>
#include <math.h>
int main ()
{

setlocale (LC_ALL,"");

char nombre[25];
int salbas,numhora,porcdesc,salneto,salbruto;
float valdesc;
printf("Introduzca su nombre\t");
scanf(" %s",&nombre);
printf("\n Introduzca su salario básico:\t");
scanf(" %d",&salbas);
printf("\n Introduzca el numero de horas trabajdas:\t");
scanf(" %d",&numhora);
printf("\n Introduzca el porcentaje de descuento:\t");
scanf(" %d",&porcdesc);

salbruto= salbas*numhora;
valdesc= (porcdesc*salbruto)/100;
salneto= salbruto-valdesc;

printf("Su salario bruto es:\t %d",salbruto);


printf("\nSu salario neto es:\t %d",salneto);
printf("\nSu valor de descuento es:\t %f",valdesc);

return 0;
16. Para un salario bruto hasta de $1500, no hay descuento. Para un salario bruto de
$1500 a $3000 el porcentaje de descuento es de 5%. Para un salario bruto mayor
de $3000 el porcentaje de descuento es de 8%. Imprimir el nombre del
empleado, el salario bruto, el valor del descuento y el salario neto. Se debe leer
el nombre y el salario.
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <math.h>
int main ()

{
char nombre [25];
int salB, descuento, salNeto;
setlocale (LC_ALL,"");

printf("Ingrese su Nombre: \n");


scanf(" %[^\n]", &nombre);

printf ("Ingrese su Salario Bruto: \n");


scanf(" %d", &salB);
if (salB <= 1500)
{
descuento=(salB*0);
salNeto=(salB-descuento);

printf ("Nombre: %s \n", nombre);

printf ("Su salario Bruto es de %d \n", salB);


printf ("No hay Descuento\n");
printf ("Su salario Neto es de %d \n", salNeto);

}
else if (salB > 1500 && salB < 3000)
{
descuento=(salB*0.05);
salNeto=(salB-descuento);
printf ("Nombre: %s \n", nombre);

printf ("Su salario Bruto es de %d \n", salB);


printf ("El valor del Descuento de 5 \n");
printf ("Su salario Neto es de %d \n", salNeto);
}

else if (salB >= 3000)


{
descuento=(salB*0.08);
salNeto=(salB-descuento);
printf ("Nombre: %s \n", nombre);

printf ("Su salario Bruto es de %d \n", salB);


printf ("El valor del Descuento de 8 \n");
printf ("Su salario Neto es de %d \n", salNeto);
}
}
17. Leer de un registro el nombre de un empleado, el salario básico por hora y el
número de horas trabajadas durante la semana. Calcular el salario neto semanal,
teniendo en cuenta que, si el número de horas trabajadas durante la semana es
mayor de 48, esas horas de más se consideran horas extras y tienen un 35% de
recargo. Imprima el nombre del empleado y el salario neto.

#include <stdio.h>
#include<stdlib.h>
#include<locale.h>
#include <math.h>
#define tr 0.35
int main()
{
setlocale (LC_ALL, "");
float sB,ht,sNeto,salExtra,hExtra; //sb = salario por hora, ht hora trabajadas
// sNeto, salario neto, sal extra
sala por hora extra
//hExtra hora extra
char nombre[25];
printf("Introduzca su nombre\t");
scanf ("%s",&nombre);
printf("\nIntroduzca su salario por hora\t");
scanf ("%f",&sB);
printf("\nIntroduzca sus horas trabajdas\t");
scanf ("%f",&ht);
if (ht>48){
hExtra= ht-48;
salExtra= sB+sB*tr;
sNeto= (48*sB)+(salExtra*hExtra);
}
else {
sNeto= sB*ht;
}
printf("\nSu nombre es:%s\t",nombre);
printf("\nSu salario neto es: %f \t",sNeto);
}

18. Elaborar un programa para resolver una ecuación de segundo grado ax2 + bx + c
=0
#include <stdio.h>
#include<stdlib.h>
#include<locale.h>
#include <math.h>
int main()
{
setlocale (LC_ALL, "");
float a, b, c,d,y,x1,x2;
printf ("Ingrese un valor para a:\t");
scanf("%f",&a);
printf ("\nIngrese un valor para b:\t");
scanf("%f",&b);
printf ("\nIngrese un valor para c:\t");
scanf(" %f",&c);
d= ((b*b)-4*a*c);
if (a>0)
{
printf ("Las raices so imaginarias\n ");

y= sqrt ((b*b)-4*a*c);
x1= (-b+y)/(2*a);
x2= (-b-y)/(2*a);
printf ("Las raices de las funciones son %.2f y %.2f \n",x1,x2);
return 0;

} return 0;

}
}
19. Una empresa tiene una promoción para el pago de salarios a sus empleados. Si
la parte decimal de su salario (centavos) es mayor que 50, se le añade un (1)
balboa a la parte entera, de lo contrario, no se añade nada. Leer el salario e
imprimir tanto el salario leído como el nuevo salario.
#include <stdio.h>
#include<stdlib.h>
#include<locale.h>
#include <math.h>
int main(void)
{
setlocale (LC_ALL, "");
float numero;
printf("Introduzca el número\t");
scanf ("%f",&numero);
int parteEntera= (int)numero;
float parteDecimal= numero- parteEntera;
if (parteDecimal>0.5){
numero=numero+1;
printf("\nUstec gana:%f\t",numero);
}
else {
printf ("usted gana:%f",numero);
}
}
20. Se desea escribir un programa que pida la altura de una persona, si la altura es
menor o igual a 150cm envíe el mensaje: “Persona de estatura baja”; si la altura
está entre 151 y 170 escriba el mensaje: “Persona de estatura media” y si la
altura es mayor al 170 escriba el mensaje: “Persona de estatura alta”.
#include<stdlib.h> /*problema 20*/
#include<locale.h>
#include <math.h>
int main()
{
setlocale (LC_ALL, "");
int altura;
printf ("Introduzca su altura:\t");
scanf ("%d",&altura);
if (altura<=150)
{
printf ("\n\t Persona de estura baja");
}
if (altura>=151 && altura<=170)
{
printf ("\n\t Persona de estura media");
}
if (altura>170)
{
printf ("\n\t Persona de estura alta");
}
return 0;
}
20. Se desea escribir un programa que pida la altura de una persona, si la altura es
menor o igual a 150cm envíe el mensaje: “Persona de estatura baja”; si la altura
está entre 151 y 170 escriba el mensaje: “Persona de estatura media” y si la
altura es mayor al 170 escriba el mensaje: “Persona de estatura alta”.

#include<stdlib.h> /*problema 20*/


#include<locale.h>
#include <math.h>
int main()
{
setlocale (LC_ALL, "");
int altura;
printf ("Introduzca su altura:\t");
scanf ("%d",&altura);

if (altura<=1.50)

{
printf ("\n\t Persona de estura baja");

if (altura>=1.51 && altura<=170)

{
printf ("\n\t Persona de estura media");

if (altura>1.70)

{
printf ("\n\t Persona de estura alta");

}
return 0;

21. Leer tres números e imprimirlos en este orden: menor, intermedio, mayor

#include <math.h> /*21*/


#include <stdio.h>
#include <stdlib.h>
/* Programa para ordenar tres valores proporcionados */

main()
{

int a,b,c;
printf ("Introduzca el primer valor:\t ");
scanf ("%d",&a);
printf ("\n Introduzca el segundo valor:\t ");
scanf ("%d",&b);
printf ("\n Introduzca el tercer valor:\t ");
scanf (" %d",&c);
if(a<b)
{
if (a<c)
{
if (b<c)
{
printf("Los valores ordenados de menor a mayor son: %d %d %d\n\n", a,b,c);
}
else
{
printf("Los valores ordenados de menor a mayor son: %d %d %d\n\n", a,c,b);
}
}
else
{
printf("Los valores ordenados de menor a mayor son: %d %d %d\n\n", c,a,b);
}
}
else
{
if (a<c)
{
printf("Los valores ordenados de menor a mayor son: %d %d %d\n\n", b,a,c);
}
else
{if (c<b)
{
printf("Los valores ordenados de menor a mayor son: %d %d %d\n\n", c,b,a);
}
else
{
printf("Los valores ordenados de menor a mayor son: %d %d %d\n\n", b,c,a);
}
}
}

system("pause");

22. Leer un número flotante, equivalente a un monto de dinero. Imprimir cuántos


billetes y monedas representa. Por ejemplo: si el valor es 548.89, debe
imprimirse:

#include <stdio.h>

int main()
{
int b20, b10, b1, b5, euros;
float m50, m25,m10,m5,m1;

printf( "\n Introduzca cantidad entera (euros): " );


scanf( "%d", &euros );

if ( euros > 0 )
{
/* Billetes de 20 */
if ( euros >= 20 )
{
b20 = euros / 20;
euros %= 20;
}
else
b20 = 0;

/* Billetes de 10 */
if ( euros >= 10 )
{
b10 = euros / 10;
euros %= 10;
}
else
b10 = 0;

/* Billetes de 5 */
if ( euros >= 5 )
{
b5 = euros / 5;
euros %= 5;
}
else
b5 = 0;

/* Billetes de 1 */
if ( euros >= 1 )
{
b1 = euros /1;
euros %= 1;
}
else
b1 = 0;

/* Monedas de 0.50 */
if ( euros >= 0.50 )
{
m50 = euros / 0.5;
euros = 0.50;
}
else
m50 = 0;

/* Monedas de 0.10 */
m10 = 0.1;

printf( " %d billete(s) de 20", b20 );


printf( "\n %d billete(s) de 10", b10 );
printf( "\n %d billete(s) de 1", b1 );
printf( "\n %d billete(s) de 5", b5 );
printf( "\n %d moneda(s) de 0.50", m50 );
printf( "\n %d moneda(s) de 0.25", m25 );
printf( "\n %d moneda(s) de 0.10", m10 );
printf( "\n %d moneda(s) de 0.05", m5 );
printf( "\n %d moneda(s) de 0.01", m1 );

}
else
printf( " ERROR: Cantidad incorrecta, debe ser mayor que cero." );

return 0;
}

También podría gustarte